[
  {
    "path": ".github/workflows/request-10GB-CI.yml",
    "content": "name: Request 10GB-CI\n\non:\n  push:\n  pull_request:\n\njobs:\n  request-10GB-CI:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Request 10GB-CI\n        run: |\n          echo \"Event '${{ github.event.action }}' received from '${{ github.event.client_payload.repository }}'\"\n          curl -X POST https://api.github.com/repos/webyrd/mediKanren-ops/dispatches \\\n          -H 'Accept: application/vnd.github.everest-preview+json' \\\n          -u ${{ secrets.GH_ACCESS_TOKEN }} \\\n          --data '{\"event_type\": \"request-10GB-CI\", \"client_payload\": {\n              \"repository\": \"'\"$GITHUB_REPOSITORY\"'\",\n              \"github_sha1\": \"'$GITHUB_SHA1'\",\n              \"github_ref\": \"'$GITHUB_REF'\",\n              \"github_head_ref\": \"'$GITHUB_HEAD_REF'\",\n              \"github_base_ref\": \"'$GITHUB_BASE_REF'\"\n              }}'\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\n/ci_artifacts\n/code/semmed/publication-reference.scm\n/code/semmed/edge-by-object\n/code/semmed/edge-by-predicate\n/code/semmed/edge-by-subject\n/code/a.out\n/biolink/pieces-parts/etl_for_new_KGs/NCT000sample\n/biolink/pieces-parts/etl_for_new_KGs/NCT000sample/*.xml\nmedikanren/config.scm\nmedikanren2/config.scm\nmedikanren2/etc/config.scm\nmedikanren2/etc/config.installer.scm\n*.dep\n*.zo\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2017 William E. Byrd and Gregory Rosenblatt\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "Makefile",
    "content": "\nadirRepo := $(shell cd $(dir $(firstword $(MAKEFILE_LIST))) && pwd)\n# https://stackoverflow.com/questions/322936/common-gnu-makefile-directory-path\n\ndefault:\n\t@echo ***available targets***: prepare_ci, run_ci, install_pkgs\n\nprepare_ci:\n\t@echo about to setup_artifacts\n\t@mkdir -p $(adirRepo)/ci_artifacts\n\t@rm -rf $(adirRepo)/ci_artifacts/status\n\t@mkdir -p $(adirRepo)/ci_artifacts/status/pass\n\t@touch $(adirRepo)/ci_artifacts/status/pass/empty\n\t@mkdir -p $(adirRepo)/ci_artifacts/status/fail\n\t@touch $(adirRepo)/ci_artifacts/status/fail/empty\n\t@echo finished setup_artifacts\n\nrun_ci: prepare_ci\n\t-bash $(adirRepo)/medikanren/.run_ci.sh\n\t-bash $(adirRepo)/medikanren2/.run_ci.sh\n\ninstall_pkgs:\n\t-bash $(adirRepo)/medikanren/.install_pkgs.sh\n\t-bash $(adirRepo)/medikanren2/.install_pkgs.sh\n\n"
  },
  {
    "path": "README.md",
    "content": "# mediKanren\n\n*** FOR RESEARCH PURPOSES ONLY ***\n\nProof-of-concept for reasoning over medical knowledge graphs, using miniKanren + heuristics + indexing.\n\nThere are several prototypes, each in its directory:\n\n- [`attic/code`](attic/code) is the original prototype.\n- [`medikanren`](medikanren) is the working prototype.\n- [`medikanren2`](medikanren2) is the next-generation prototype.\n\nContributed use cases, queries and applications are now located in a directory separate from medikanren itself:\n\n- [contrib/](contrib)\n\nIf you have previously contributed code applying medikanren and can't find yours, look there.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "attic/code/README.md",
    "content": "# mediKanren\n\n*** FOR RESEARCH PURPOSES ONLY ***\n\nProof-of-concept for reasoning over the SemMedDB knowledge base, using miniKanren + heuristics + indexing.\n\n`./code/study-imatinib.rkt` contains the most iteresting examples currently.\n\nTODO: add SemMedDB files, along with terms of use information for SemMedDB.\n\nTODO: add simple instructions for running the queries.\n\n\n## Setup\n\n### Download and install Racket\n\nhttps://download.racket-lang.org/\n\n\n### Obtain a CSV dump of SemMed DB\n\nYou'll need to obtain the full data from: https://skr3.nlm.nih.gov/SemMedDB/\n\nA small sample, `code/sample_semmed.csv`, is provided to demonstrate the format expected for processing.\n\n\n### Index the data for consumption by mediKanren\n\nGiven `semmed.csv`, Run these commands from the `code` directory:\n\n```\nmkdir semmed\n\nracket csv-semmed-ordered-unique-enum.rkt semmed.csv semmed\n\nracket csv-semmed-simplify.rkt semmed.csv semmed\n\nracket semmed-index-predicate.rkt semmed\n```\n\nDepending on the size of the CSV you're using, these commands could take up to a few hours to process all records.\n\n\n## Use\n\n### Interact with the GUI\n\nThe GUI is a convenient way to express some forms of simple queries.  For more power, see the section on running queries programmatically.\n\nFrom the `code` directory, run `racket gui-simple.rkt` to start the GUI.\n\nAs you interact, the console will display additional information in some cases.\n\n* When clicking on results, the corresponding PubMed URLs will be printed for your convenience.  If you're running on OSX within iTerm2, you can CMD+click a URL to open it in the browser.\n* When querying with synthetic predicates such as `increases[*]/decreases[*]`, the results will not be displayed in the GUI, but will instead be continuously streamed to the console.\n\n\n### Run queries programmatically\n\nStart with `code/tacrine.rkt` `code/imatinib-query.rkt`, which includes queries taken from `code/study-imatinib.rkt`, and also includes a high-level description of the queries.\n\nTake a look at the various `study-*.rkt` files in the `code` directory for examples.  You can run these from the command line, e.g., `racket study-imatinib.rkt`.\n\n\nTo write your own queries, either as a new `*.rkt` file or interactively, start with:\n\n```\n(require \"mk-db.rkt\")\n```\n\nto load the database and its indices (this will take several seconds, so be patient).  Once loaded, you will have access to the full underlying miniKanren language, plus the new semmed-specific relations:\n\n```\n(concepto c)\n(fuzzy-concepto name c)\n(cuio c cui)\n(cui*o c cui*)\n(edgeo `(,subject-concept ,object-concept ,predicate ,subject-type ,object-type ,pubref))\n```\n\nwhich you can compose freely in queries.  Being that mediKanren is an embedded DSL, you also have access to Racket for metaprogramming.\n"
  },
  {
    "path": "attic/code/concept.rkt",
    "content": "#lang racket/base\n(provide\n  concept-cui\n  concept-name\n  concept-type\n  )\n\n(define (concept-cui concept) (vector-ref concept 0))\n(define (concept-name concept) (vector-ref concept 1))\n(define (concept-type concept) (vector-ref concept 2))\n"
  },
  {
    "path": "attic/code/csv-semmed-ordered-unique-enum.rkt",
    "content": "#lang racket/base\n(require\n  \"csv.rkt\"\n  (except-in racket/control set)\n  racket/set)\n\n;; This is the pre-normalization pass, which generates two files:\n\n;; * PREDICATE.scm\n;; * SEMTYPE.scm\n\n;; Each of these contains all unique string values for the corresponding\n;; field types, sorted.  These are mapped to numeric indices during\n;; normalization.\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(IN_CSV OUT_DIR))\n\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error 'cmd-line-args (format \"expected ~s; given ~s\" argv-expected argv)))\n\n(define csv-file-name (vector-ref argv 0))\n(define out-dir (vector-ref argv 1))\n\n(define predicate-file-name (build-path out-dir \"PREDICATE.scm\"))\n(define semtype-file-name (build-path out-dir \"SEMTYPE.scm\"))\n\n(define (print-ordered-unique out-predicate out-semtype)\n  (define (yield record)\n    (define predicate (list-ref record 3))\n    (define subject-semtype (list-ref record 6))\n    (define object-semtype (list-ref record 10))\n    (shift k (cons (list predicate subject-semtype object-semtype) k)))\n  (lambda (in)\n    (read-line in 'any) ;; Skip header.\n    (let loop ((count 1)\n               (seen-predicate (set))\n               (seen-semtype (set))\n               (next (reset (and ((csv-records yield) in) #f))))\n      (when (= 0 (remainder count 100000))\n        (printf \"processed ~s rows\\n\" count)\n        (flush-output out-predicate)\n        (flush-output out-semtype))\n      (if next\n        (let* ((data (car next))\n               (predicate (list-ref data 0))\n               (subject-semtype (list-ref data 1))\n               (object-semtype (list-ref data 2))\n               (k (cdr next))\n               (seen-predicate2\n                 (if (set-member? seen-predicate predicate)\n                   seen-predicate\n                   (begin\n                     (printf \"~s\\n\" `(new predicate: ,predicate))\n                     (set-add seen-predicate predicate))))\n               (seen-semtype2\n                 (if (set-member? seen-semtype subject-semtype)\n                   seen-semtype\n                   (begin\n                     (printf \"~s\\n\" `(new semtype: ,subject-semtype))\n                     (set-add seen-semtype subject-semtype))))\n               (seen-semtype3\n                 (if (set-member? seen-semtype2 object-semtype)\n                   seen-semtype2\n                   (begin\n                     (printf \"~s\\n\" `(new semtype: ,object-semtype))\n                     (set-add seen-semtype2 object-semtype)))))\n          (loop (+ 1 count) seen-predicate2 seen-semtype3 (k #t)))\n        (begin\n          (printf \"writing files:\\n~s\\n~s\\n\"\n                  (expand-user-path predicate-file-name)\n                  (expand-user-path semtype-file-name))\n          (for ((predicate (sort (set->list seen-predicate) string<?)))\n               (fprintf out-predicate \"~s\\n\" predicate))\n          (for ((semtype (sort (set->list seen-semtype) string<?)))\n               (fprintf out-semtype \"~s\\n\" semtype)))))))\n\n;; Print the distinct values of the indexed field.\n(time (call-with-output-file\n        (expand-user-path predicate-file-name)\n        (lambda (out-predicate)\n          (call-with-output-file\n            (expand-user-path semtype-file-name)\n            (lambda (out-semtype)\n              (call-with-input-file\n                (expand-user-path csv-file-name)\n                (print-ordered-unique out-predicate out-semtype)))))))\n"
  },
  {
    "path": "attic/code/csv-semmed-simplify.rkt",
    "content": "#lang racket/base\n(require\n  \"csv.rkt\"\n  \"edge.rkt\"\n  \"read.rkt\"\n  (except-in racket/control set)\n  racket/file\n  racket/list\n  racket/pretty\n  racket/set\n  racket/string\n  )\n\n;; This is the first normalization pass, which generates several files:\n\n;; * publication-reference.scm\n;; ** PREDICATION_ID\n;; ** SENTENCE_ID\n;; ** PMID\n\n;; * concept.scm\n;; ** CUI\n;; ** NAME\n;; ** (list-of #(SEMTYPE NOVELTY))\n\n;; * cui-by-semtype.scm\n;; ** (SEMTYPE . (list-of CUI))\n\n;; * edge-by-[subject,object]/\n;; ** index.scm\n;; *** [SUBJECT,OBJECT]_CUI\n;; *** detail.bin file position of edge block for [SUBJECT,OBJECT]\n;; ** detail.bin (byte-encoded)\n;; *** [SUBJECT,OBJECT]_CUI (3 bytes)\n;; *** [OBJECT,SUBJECT]_CUI (3 bytes)\n;; *** PREDICATE            (1 byte)\n;; *** SUBJECT_SEMTYPE      (1 byte)\n;; *** OBJECT_SEMTYPE       (1 byte)\n;; *** PREDICATION_ID       (4 bytes)\n\n;; All PREDICATION_ID, SENTENCE_ID, PMID, CUI, NOVELTY fields have been\n;; converted directly to numeric values.\n\n;; All PREDICATE and SEMTYPE fields have been mapped to numeric indices\n;; reflecting sorted order.\n\n;; These conversions should save space and speed up loading.\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(IN_CSV OUT_DIR))\n\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error 'cmd-line-args (format \"expected ~s; given ~s\" argv-expected argv)))\n\n(define csv-file-name (vector-ref argv 0))\n(define out-dir (vector-ref argv 1))\n\n(define (make-directories* paths)\n  (for ((path paths))\n       (make-directory* (expand-user-path path))))\n\n(define (call-with-?-file-vector cw?f base-path n proc)\n  (define vports (make-vector n))\n  (let loop ((i (- n 1)))\n    (if (> 0 i) (proc vports)\n      (cw?f (build-path base-path (number->string i))\n            (lambda (port) (vector-set! vports i port) (loop (- i 1)))))))\n(define (call-with-output-file-vector base-path n proc)\n  (call-with-?-file-vector call-with-output-file base-path n proc))\n(define (call-with-input-file-vector base-path n proc)\n  (call-with-?-file-vector call-with-input-file base-path n proc))\n(define (call-with-?-files cw?f paths proc)\n  (let loop ((paths paths) (ports '()))\n    (if (null? paths) (apply proc (reverse ports))\n      (cw?f (car paths)\n            (lambda (port) (loop (cdr paths) (cons port ports)))))))\n(define (call-with-output-files paths proc)\n  (call-with-?-files call-with-output-file paths proc))\n\n(define edge-by-subject-dir\n  (expand-user-path (build-path out-dir \"edge-by-subject/partitioned\")))\n(define edge-by-object-dir\n  (expand-user-path (build-path out-dir \"edge-by-object/partitioned\")))\n(make-directories* (list edge-by-subject-dir edge-by-object-dir))\n\n;; Use these to build enumeration mappings.\n(define predicate-file-name (build-path out-dir \"PREDICATE.scm\"))\n(define semtype-file-name (build-path out-dir \"SEMTYPE.scm\"))\n\n(define (strings->string=>nat ss)\n  (make-immutable-hash (map cons ss (range (length ss)))))\n\n(define predicate=>id\n  (strings->string=>nat (read-all-from-file predicate-file-name)))\n(define semtype=>id\n  (strings->string=>nat (read-all-from-file semtype-file-name)))\n\n(pretty-print `(predicate=>id ,predicate=>id))\n(pretty-print `(semtype=>id ,semtype=>id))\n\n;; Generate these.\n(define out-file-paths\n  (map (lambda (p) (expand-user-path (build-path out-dir p)))\n       '(\"publication-reference.scm\"\n         \"concept.scm\"\n         \"cui-by-semtype.scm\"\n         )))\n\n(define out-edge-paths\n  (map (lambda (p) (expand-user-path (build-path out-dir p)))\n       '(\"edge-by-subject/index.scm\"\n         \"edge-by-subject/detail.bin\"\n         \"edge-by-object/index.scm\"\n         \"edge-by-object/detail.bin\")))\n\n(define set-empty (set))\n(define (concept-add concept-by-cui concept)\n  (define key (vector-ref concept 0))\n  (define subdata0 (hash-ref concept-by-cui key set-empty))\n  (define subdata1 (set-add subdata0 concept))\n  (if (eq? subdata0 subdata1) concept-by-cui\n    (hash-set concept-by-cui key subdata1)))\n(define (concept-sty concept) (vector-ref concept 2))\n(define (sty-novelty datum) (vector (concept-sty datum) (vector-ref datum 3)))\n(define (write-cui-by-semtype out concept-by-cui)\n  (define cui-by-semtype\n    (for*/fold ((cui-by-semtype (hash)))\n               ((kv (in-hash-pairs concept-by-cui))\n                (sty (in-list (map concept-sty (set->list (cdr kv))))))\n               (hash-set cui-by-semtype sty\n                         (cons (car kv) (hash-ref cui-by-semtype sty '())))))\n  (for ((sty (in-list (sort (hash-keys cui-by-semtype) <))))\n       (fprintf out \"~s\\n\"\n                (cons sty (sort (hash-ref cui-by-semtype sty) <)))))\n\n(define edge-cui-buckets 10)\n(define (edge-partition-add vout edge)\n  (define cui (edge-src edge))\n  (define key (cond ((< 1000000 cui) 9)\n                    ((<  400000 cui) 8)\n                    ((<  200000 cui) 7)\n                    ((<   50000 cui) 6)\n                    ((<   40000 cui) 5)\n                    ((<   30000 cui) 4)\n                    ((<   20000 cui) 3)\n                    ((<   10000 cui) 2)\n                    ((<    5000 cui) 1)\n                    (else 0)))\n  (write-bytes (edge->bytes edge) (vector-ref vout key)))\n\n;; At least one PUBMED_ID is corrupted: PREDICATION_ID=57715160: \"20126278 [3]\"\n(define (robust-string->number s)\n  (or (string->number s) (string->number (car (string-split s)))))\n\n(define (print-pubref/concept/edge\n          vebs-out vebo-out out-pubref out-concept out-cui-by-semtype)\n  (define (yield record)\n    (define pubref (list->vector (map robust-string->number (take record 3))))\n    (define (concept xs)  ;; CUI, NAME, SEMTYPE, NOVELTY\n      (define cui (string->number (substring (car xs) 1)))\n      (define semtype (hash-ref semtype=>id (caddr xs)))\n      (vector cui (cadr xs) semtype (string->number (cadddr xs))))\n    (define concepts (drop record 4))\n    (define subject (concept (take concepts 4)))\n    (define object (concept (drop concepts 4)))\n    (define edge (vector (vector-ref subject 0)\n                         (vector-ref object 0)\n                         (hash-ref predicate=>id (car (drop record 3)))\n                         (vector-ref subject 2)\n                         (vector-ref object 2)\n                         (vector-ref pubref 2)))\n    (shift k (cons (list pubref subject object edge) k)))\n  (lambda (in)\n    (read-line in 'any) ;; Skip header.\n    (let loop ((count 1)\n               (concept-by-cui (hash))\n               (next (reset (and ((csv-records yield) in) #f))))\n      (when (= 0 (remainder count 100000))\n        (printf \"processed ~s rows\\n\" count)\n        (flush-output out-pubref))\n      (if next\n        (let* ((data (car next))\n               (pubref (list-ref data 0))\n               (subject (list-ref data 1))\n               (object (list-ref data 2))\n               (edge (list-ref data 3))\n               (k (cdr next)))\n          (fprintf out-pubref \"~s\\n\" pubref)\n          (edge-partition-add vebs-out edge)\n          (edge-partition-add vebo-out (edge-reverse edge))\n          (loop (+ 1 count)\n                (concept-add (concept-add concept-by-cui subject) object)\n                (k #t)))\n        (begin\n          (printf \"Found ~s concepts\\n\" (hash-count concept-by-cui))\n          (for ((key (in-list (sort (hash-keys concept-by-cui) <))))\n               (define kdata (set->list (hash-ref concept-by-cui key)))\n               (define kdata0 (car kdata))\n               (fprintf out-concept \"~s\\n\" (vector (vector-ref kdata0 0)\n                                                   (vector-ref kdata0 1)\n                                                   (map sty-novelty kdata))))\n          (flush-output out-concept)\n          (write-cui-by-semtype out-cui-by-semtype concept-by-cui)\n          (flush-output out-cui-by-semtype))))))\n\n(time (call-with-output-files\n        out-file-paths\n        (lambda out*\n          (call-with-output-file-vector\n            edge-by-subject-dir edge-cui-buckets\n            (lambda (vebs-out)\n              (call-with-output-file-vector\n                edge-by-object-dir edge-cui-buckets\n                (lambda (vebo-out)\n                  (call-with-input-file\n                    (expand-user-path csv-file-name)\n                    (apply print-pubref/concept/edge\n                           vebs-out vebo-out out*)))))))))\n\n(define (edge-add edges edge)\n  (define key (edge-src (bytes->edge edge)))\n  (hash-set edges key (cons edge (hash-ref edges key '()))))\n\n(define (write-edges offset edges out-index out-detail)\n  (for/fold ((offset offset))\n            ((key (in-list (sort (hash-keys edges) <))))\n       (define es (hash-ref edges key))\n       (for ((e (in-list (sort es bytes<?)))) (write-bytes e out-detail))\n       (fprintf out-index \"~s\\n\" (cons key offset))\n       (+ offset (* edge-byte-size (length es)))))\n\n(define (edges-index out-index out-detail vin)\n  (for/fold ((offset 0))\n            ((i (range (vector-length vin))) (in (in-vector vin)))\n            (define edges (for/fold ((edges (hash)))\n                                    ((edge (read-edge-bytes-all/stream in)))\n                                    (edge-add edges edge)))\n            (printf \"Processing ~s edge buckets in partition ~s\\n\"\n                    (hash-count edges) i)\n            (write-edges offset edges out-index out-detail))\n  (flush-output out-index)\n  (flush-output out-detail))\n\n(time (call-with-output-files\n        out-edge-paths\n        (lambda (out-ebs-index out-ebs-detail out-ebo-index out-ebo-detail)\n          (call-with-input-file-vector\n            edge-by-subject-dir edge-cui-buckets\n            (lambda (vebs-in)\n              (call-with-input-file-vector\n                edge-by-object-dir edge-cui-buckets\n                (lambda (vebo-in)\n                  (displayln \"Building edges-by-subject\")\n                  (edges-index out-ebs-index out-ebs-detail vebs-in)\n                  (displayln \"Building edges-by-object\")\n                  (edges-index out-ebo-index out-ebo-detail vebo-in))))))))\n"
  },
  {
    "path": "attic/code/csv-semmed-validate-cuis.rkt",
    "content": "#lang racket/base\n(require\n  \"csv.rkt\"\n  racket/list\n  )\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(IN_CSV))\n\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error 'cmd-line-args (format \"expected ~s; given ~s\" argv-expected argv)))\n\n(define csv-file-name (vector-ref argv 0))\n\n(define count 0)\n\n(define (validate record)\n  (define (concept xs)  ;; CUI, NAME, SEMTYPE, NOVELTY\n    (when (not (equal? \"C\" (substring (car xs) 0 1)))\n      (error 'concept (format \"unexpected CUI ~s\" (car xs)))))\n  (define concepts (drop record 4))\n  (concept (take concepts 4))  ;; subject\n  (concept (drop concepts 4))  ;; object\n  (set! count (+ count 1))\n  (when (= 0 (remainder count 100000)) (printf \"processed ~s rows\\n\" count)))\n\n(time (call-with-input-file\n        (expand-user-path csv-file-name)\n        (lambda (in)\n          (read-line in 'any)\n          ((csv-records validate) in))))\n"
  },
  {
    "path": "attic/code/csv.rkt",
    "content": "#lang racket/base\n(provide\n  csv-records\n  set-field-separator!\n  )\n\n\n;; Informal CSV Grammar\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream ::= EOF | record EOF | record RECORD-SEPARATOR record-stream\n;record ::= field | field FIELD-SEPARATOR record\n;field ::= \\\" inner-content* \\\" | CONTENT*\n;inner-content ::= CONTENT | \\\"\\\" | FIELD-SEPARATOR | WHITESPACE\n;; CONTENT includes anything other than double-quote, field separator, whitespace\n\n(define *field-separator* #\\,)\n(define (set-field-separator! ch) (set! *field-separator* ch))\n\n(define (end-of-record?! in)\n  (define ch (peek-char in))\n  (or (and (char=? #\\return ch)\n           (or (and (char=? #\\newline (peek-char in 1)) (read-string 2 in) #t)\n               (and (read-char in) #t)))\n      (and (char=? #\\newline ch) (read-char in) #t)\n      (eof-object? ch)))\n\n(define (end-of-field?! in)\n  (define ch (peek-char in))\n  (or (and (char=? *field-separator* ch) (read-char in) #t)\n      (char=? #\\return ch) (char=? #\\newline ch) (eof-object? ch)))\n\n(define (field-quoted-begin?! in)\n  (define ch (peek-char in))\n  (and (char=? #\\\" ch) (read-char in) #t))\n\n(define (field-quoted-end?! in)\n  (define ch (peek-char in))\n  (and (char=? #\\\" ch) (read-char in) (not (char=? #\\\" (peek-char in)))))\n\n(define (csv-records yield-record!)\n  (lambda (in)\n    (let record-stream ()\n      (when (not (eof-object? (peek-char in)))\n        (yield-record!\n          (let record ()\n            (if (end-of-record?! in) '()\n              (cons (list->string\n                      (let field ()\n                        (cond ((end-of-field?! in) '())\n                              ((field-quoted-begin?! in)\n                               (let field-quoted ()\n                                 (if (field-quoted-end?! in) (field)\n                                   (cons (read-char in) (field-quoted)))))\n                              (else (cons (read-char in) (field))))))\n                    (record)))))\n        (record-stream)))))\n\n;; Test using:\n;; (call-with-input-file PATH\n;;   (csv-records (lambda (record) (printf \"~s\\n\" `(record: ,record)))))\n"
  },
  {
    "path": "attic/code/db.rkt",
    "content": "#lang racket/base\n(provide\n  id=>predicate\n  predicate=>id\n  id=>semtype\n  semtype=>id\n  semtype-id=>cui*\n  concept*\n  cui=>concept\n  fuzzy-name->concept*\n  fuzzy-name*->concept*\n  subject->edge*\n  object->edge*\n  subject&object->edge*\n  subject*->edge*\n  object*->edge*\n  subject*&object*->edge*\n  subject->edge*/stream\n  object->edge*/stream\n  predicate->edge*/stream\n  edge*/stream\n  concept-pretty\n  edge-pretty\n  direct-edge*\n  count-ISA\n  )\n\n(require\n  \"concept.rkt\"\n  \"edge.rkt\"\n  \"read.rkt\"\n  racket/list\n  racket/stream\n  racket/string\n  )\n\n(define (file->hash path) (make-immutable-hash (read-all-from-file path)))\n(define (file->id=>name path)\n  (define x* (read-all-from-file path))\n  (make-immutable-hash (map cons (range (length x*)) x*)))\n(define (file->name=>id path)\n  (define x* (read-all-from-file path))\n  (make-immutable-hash (map cons x* (range (length x*)))))\n\n(define id=>predicate (file->id=>name \"semmed/PREDICATE.scm\"))\n(define predicate=>id (file->name=>id \"semmed/PREDICATE.scm\"))\n\n(define id=>semtype (file->id=>name \"semmed/SEMTYPE.scm\"))\n(define semtype=>id (file->name=>id \"semmed/SEMTYPE.scm\"))\n\n(define semtype-id=>cui* (file->hash \"semmed/cui-by-semtype.scm\"))\n\n(define concept* (read-all-from-file \"semmed/concept.scm\"))\n(define cui=>concept\n  (make-immutable-hash (map (lambda (c) (cons (concept-cui c) c)) concept*)))\n\n(define (fuzzy-name->concept* concept* name case-insensitive?)\n  (define needle (if case-insensitive? (string-downcase name) name))\n  (define c->name (if case-insensitive?\n                    (lambda (c) (string-downcase (concept-name c)))\n                    concept-name))\n  (filter (lambda (c) (string-contains? (c->name c) needle)) concept*))\n(define (fuzzy-name*->concept* concept* names case-insensitive?)\n  (foldl (lambda (n c*) (fuzzy-name->concept* c* n case-insensitive?))\n         concept* names))\n\n(define subject=>pos (file->hash \"semmed/edge-by-subject/index.scm\"))\n(define in-detail-ebs (open-input-file \"semmed/edge-by-subject/detail.bin\"))\n(define object=>pos (file->hash \"semmed/edge-by-object/index.scm\"))\n(define in-detail-ebo (open-input-file \"semmed/edge-by-object/detail.bin\"))\n(define predicate=>pos (file->hash \"semmed/edge-by-predicate/index.scm\"))\n(define in-detail-ebp (open-input-file \"semmed/edge-by-predicate/detail.bin\"))\n\n(define (maybe-bytes->edge bs) (if (eof-object? bs) bs (bytes->edge bs)))\n\n(define (edge*-contiguous pos in-detail continue? p?)\n  (file-position in-detail pos)\n  (let loop ((edge (maybe-bytes->edge (read-edge-bytes in-detail))))\n    (if (and (not (eof-object? edge)) (continue? edge))\n      (if (p? edge)\n        (let build-edge ((pubs (list (edge-pub-info edge))))\n          (define e-next (maybe-bytes->edge (read-edge-bytes in-detail)))\n          (if (edge-meaning=? edge e-next)\n            (build-edge (cons (edge-pub-info e-next) pubs))\n            (cons (edge-pubrefs-set edge pubs) (loop e-next))))\n        (loop (maybe-bytes->edge (read-edge-bytes in-detail))))\n      '())))\n\n(define (cui->edge* cui=>pos in-detail cui p?)\n  (define (cui-matches? e) (= cui (edge-src e)))\n  (define pos (hash-ref cui=>pos cui #f))\n  (if pos (edge*-contiguous pos in-detail cui-matches? p?) '()))\n\n(define (subject->edge* cui p?)\n  (cui->edge* subject=>pos in-detail-ebs cui p?))\n(define (object->edge* cui p?)\n  (cui->edge* object=>pos in-detail-ebo cui p?))\n(define (subject&object->edge* cui-s cui-o p?)\n  (subject->edge* cui-s (lambda (e) (and (= cui-o (edge-dst e)) (p? e)))))\n(define (subject*->edge* cui* p?)\n  (for/fold ((edge* '())) ((cui cui*)) (append (subject->edge* cui p?) edge*)))\n(define (object*->edge* cui* p?)\n  (for/fold ((edge* '())) ((cui cui*)) (append (object->edge* cui p?) edge*)))\n(define (subject*&object*->edge* cui-s* cui-o* p?)\n  (for*/fold ((edge* '()))\n             ((cui-s cui-s*) (cui-o cui-o*))\n             (append (subject&object->edge* cui-s cui-o p?) edge*)))\n\n(define (edge*-contiguous/stream pos in-detail continue? p?)\n  (let loop ((pos pos) (set-pos? #t))\n    (define edge (begin (when set-pos? (file-position in-detail pos))\n                        (maybe-bytes->edge (read-edge-bytes in-detail))))\n    (define pos-next (+ pos edge-byte-size))\n    (if (and (not (eof-object? edge)) (continue? edge))\n      (if (p? edge)\n        (let build-edge ((pos pos-next) (pubs (list (edge-pub-info edge))))\n          (define e-next (maybe-bytes->edge (read-edge-bytes in-detail)))\n          (if (edge-meaning=? edge e-next)\n            (build-edge (+ pos edge-byte-size)\n                        (cons (edge-pub-info e-next) pubs))\n            (stream-cons (edge-pubrefs-set edge pubs) (loop pos #t))))\n        (loop pos-next #f))\n      '())))\n\n(define (cui->edge*/stream cui=>pos in-detail cui p?)\n  (define (cui-matches? e) (= cui (edge-src e)))\n  (define pos (hash-ref cui=>pos cui #f))\n  (if pos (edge*-contiguous/stream pos in-detail cui-matches? p?) '()))\n\n(define (subject->edge*/stream cui p?)\n  (cui->edge*/stream subject=>pos in-detail-ebs cui p?))\n(define (object->edge*/stream cui p?)\n  (cui->edge*/stream object=>pos in-detail-ebo cui p?))\n(define (predicate->edge*/stream predicate subject-type object-type p?)\n  (define (edge*/stream pos set-pos?)\n    (define edge (begin (when set-pos? (file-position in-detail-ebp pos))\n                        (maybe-bytes->edge (read-edge-bytes in-detail-ebp))))\n    (define pos-next (+ pos edge-byte-size))\n    (if (and (not (eof-object? edge))\n             (= predicate (edge-predicate edge))\n             (= subject-type (edge-src-type edge))\n             (= object-type (edge-dst-type edge)))\n      (if (p? edge)\n        (stream-cons edge (edge*/stream pos-next #t))\n        (edge*/stream pos-next #f))\n      '()))\n  (define pos (hash-ref predicate=>pos\n                        (vector predicate subject-type object-type) #f))\n  (if pos (edge*/stream pos #t) '()))\n\n(define (edge*/stream p?)\n  (edge*-contiguous/stream 0 in-detail-ebs (lambda (_) #t) p?))\n\n(define (concept-pretty c)\n  (vector (concept-cui c) (concept-name c)\n          (map (lambda (tn) (vector (hash-ref id=>semtype (vector-ref tn 0))\n                                    (vector-ref tn 1)))\n               (concept-type c))))\n\n(define (edge-pretty e)\n  (vector (concept-pretty (hash-ref cui=>concept (edge-src e)))\n          (concept-pretty (hash-ref cui=>concept (edge-dst e)))\n          (hash-ref id=>predicate (edge-predicate e))\n          (hash-ref id=>semtype (edge-src-type e))\n          (hash-ref id=>semtype (edge-dst-type e))\n          (edge-pub-info e)))\n\n(define (direct-edge* c*1 c*2)\n  (map edge-pretty (subject*&object*->edge* (map concept-cui c*1)\n                                            (map concept-cui c*2)\n                                            (lambda (e) #t))))\n\n(define predicate-id-ISA (hash-ref predicate=>id \"ISA\"))\n\n(define (count-ISA cui)\n  (define (edge-ISA? e) (= predicate-id-ISA (edge-predicate e)))\n  (length (cui->edge* object=>pos in-detail-ebo cui edge-ISA?)))\n"
  },
  {
    "path": "attic/code/edge.rkt",
    "content": "#lang racket/base\n(provide\n  bytes->edge\n  edge->bytes\n  edge-byte-size\n  edge-dst\n  edge-src\n  edge-predicate\n  edge-src-type\n  edge-dst-type\n  edge-pub-info\n  edge-meaning=?\n  edge-pubrefs-set\n  edge-reverse\n  read-edge-bytes\n  read-edge-bytes-all/stream\n  )\n\n(require\n  \"read.rkt\"\n  racket/stream\n  )\n\n;; 2 * 3-byte CUI + 1-byte predicate + 2 * 1-byte semtypes + 4-byte pubref\n(define edge-byte-size (+ (* 2 3) 1 2 4))\n\n(define (byte-at offset n) (bitwise-and 255 (arithmetic-shift n offset)))\n\n(define (edge->bytes e)\n  (define c0 (vector-ref e 0))\n  (define c1 (vector-ref e 1))\n  (define pid (vector-ref e 5))\n  (bytes (byte-at -16 c0) (byte-at -8 c0) (byte-at 0 c0)\n         (byte-at -16 c1) (byte-at -8 c1) (byte-at 0 c1)\n         (vector-ref e 2) (vector-ref e 3) (vector-ref e 4)\n         (byte-at -24 pid) (byte-at -16 pid) (byte-at -8 pid) (byte-at 0 pid)))\n\n(define (bytes->edge bs)\n  (define (bref pos) (bytes-ref bs pos))\n  (define (bref-to pos offset) (arithmetic-shift (bref pos) offset))\n  (define (bcui pos)\n    (+ (bref-to pos 16) (bref-to (+ 1 pos) 8) (bref-to (+ 2 pos) 0)))\n  (vector (bcui 0) (bcui 3) (bref 6) (bref 7) (bref 8)\n          (+ (bref-to 9 24) (bref-to 10 16) (bref-to 11 8) (bref-to 12 0))))\n\n(define (edge-src edge) (vector-ref edge 0))\n(define (edge-dst edge) (vector-ref edge 1))\n(define (edge-predicate edge) (vector-ref edge 2))\n(define (edge-src-type edge) (vector-ref edge 3))\n(define (edge-dst-type edge) (vector-ref edge 4))\n(define (edge-pub-info edge) (vector-ref edge 5))\n(define (edge-meaning=? e1 e2)\n  (and (= (edge-src e1) (edge-src e2))\n       (= (edge-dst e1) (edge-dst e2))\n       (= (edge-predicate e1) (edge-predicate e2))\n       (= (edge-src-type e1) (edge-src-type e2))\n       (= (edge-dst-type e1) (edge-dst-type e2))))\n(define (edge-pubrefs-set edge pubrefs)\n  (vector (edge-src edge)\n          (edge-dst edge)\n          (edge-predicate edge)\n          (edge-src-type edge)\n          (edge-dst-type edge)\n          pubrefs))\n\n(define (edge-reverse edge)\n  (vector (edge-dst edge) (edge-src edge) (edge-predicate edge)\n          (edge-dst-type edge) (edge-src-type edge) (edge-pub-info edge)))\n\n(define (read-edge-bytes in) (read-bytes edge-byte-size in))\n(define (read-edge-bytes-all/stream in)\n  (define ebs (read-edge-bytes in))\n  (if (eof-object? ebs) '() (stream-cons ebs (read-edge-bytes-all/stream in))))\n"
  },
  {
    "path": "attic/code/gui-simple.rkt",
    "content": "#lang racket\n\n(require\n  racket/sandbox\n  racket/gui/base\n  racket/engine\n  racket/date\n  \"db.rkt\"\n  \"mk-db.rkt\"\n  \"concept.rkt\"\n  \"edge.rkt\"\n  \"programmatically-defined-relations.rkt\"\n  )\n\n(provide\n  launch-gui)\n\n(displayln \"Starting mediKanren...\")\n(newline)\n(displayln \"************************************************\")\n(displayln \"*** mediKanren is for research purposes only ***\")\n(displayln \"************************************************\")\n(newline)\n\n(displayln\n  \"Finished loading mk-db.rkt\")\n\n;; Add https://www.ncbi.nlm.nih.gov/pubmed/ in front of a PubMed ID to get a working URL.  For example,\n;;\n;; ((1429928\n;;   \"erythrocyte membrane protein 1, Plasmodium falciparum\"\n;;   (\"gngm\" \"aapp\" \"imft\"))\n;;  (1368474 \"rosetting\" (\"celf\"))\n;;  \"AFFECTS\"\n;;  \"aapp\"\n;;  \"celf\"\n;;  (25482886 19546191 10828049))\n;;\n;; corresponds to the URLs\n;;\n;; https://www.ncbi.nlm.nih.gov/pubmed/25482886\n;; https://www.ncbi.nlm.nih.gov/pubmed/19546191\n;; https://www.ncbi.nlm.nih.gov/pubmed/10828049\n\n\n(define *verbose* #t)\n\n;;; window size\n(define HORIZ-SIZE 800)\n(define VERT-SIZE 400)\n\n(define input-response-latency 50)\n\n(define MAX-CHAR-WIDTH 100)\n\n(define DECREASES_PREDICATE_STRING \"decreases [synthetic]\")\n(define INCREASES_PREDICATE_STRING \"increases [synthetic]\")\n(define DECREASES_STAR_PREDICATE_STRING \"decreases* [synthetic]\")\n(define INCREASES_STAR_PREDICATE_STRING \"increases* [synthetic]\")\n\n(define synthetic-relations\n  `((,DECREASES_PREDICATE_STRING . ,decreases)\n    (,INCREASES_PREDICATE_STRING . ,increases)\n    (,DECREASES_STAR_PREDICATE_STRING . ,decreases*)\n    (,INCREASES_STAR_PREDICATE_STRING . ,increases*)))\n\n(define SYNTHETIC_PREDICATE_STRINGS (list DECREASES_PREDICATE_STRING\n                                          INCREASES_PREDICATE_STRING\n                                          DECREASES_STAR_PREDICATE_STRING\n                                          INCREASES_STAR_PREDICATE_STRING))\n\n(define *concept-1-name-string* (box \"\"))\n(define *concept-2-name-string* (box \"\"))\n(define *concept-1-isa-flag* (box #f))\n(define *concept-2-isa-flag* (box #f))\n(define *concept-1-choices* (box '()))\n(define *concept-2-choices* (box '()))\n(define *concept-X-choices* (box '()))\n(define *predicate-1-choices* (box '()))\n(define *predicate-2-choices* (box '()))\n(define *full-path-choices* (box '()))\n\n;; saved choices used to generate\n;; paths when clicking on a concept in the X list box.\n(define *solution-concept-1-name-string* (box \"\"))\n(define *solution-concept-2-name-string* (box \"\"))\n(define *solution-concept-1-isa-flag* (box #f))\n(define *solution-concept-2-isa-flag* (box #f))\n(define *solution-concept-1-choices* (box '()))\n(define *solution-concept-2-choices* (box '()))\n(define *solution-predicate-1-choices* (box '()))\n(define *solution-predicate-2-choices* (box '()))\n\n(define (path-confidence p)\n  (define (weight-linear+1 n) (+ 1 n))\n  (define (weight-exponential n) (expt 2 n))\n  ;; To experiment with sorting, try to only change the weight calculation\n  ;; being used.  Leave everything else the same.\n  (define weight weight-exponential)\n  (define (pubmed-count e)\n    (match e\n      [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n        ;; (printf \"p1 x: ~s  unique pubmed length: ~s\\n\" x (remove-duplicates pubmed*))\n        (length (remove-duplicates pubmed*))]))\n  (define (confidence/edge e) (- 1 (/ 1.0 (weight (pubmed-count e)))))\n  (foldl * 1 (map confidence/edge p)))\n(define (path-confidence<? p1 p2)\n  (< (path-confidence p1) (path-confidence p2)))\n(define (sort-paths paths) (sort paths path-confidence<?))\n\n(define (remove-duplicate-pubrefs/edge e)\n  (match e\n    (`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n      `(,subj ,obj ,pred ,subj-type ,obj-type ,(remove-duplicates pubmed*)))))\n\n(define (remove-duplicate-pubrefs/path p)\n  (map remove-duplicate-pubrefs/edge p))\n\n\n(define (concept-list parent parent-search/isa-panel parent-list-boxes-panel label name-string isa-flag choices predicate-list-box-thunk predicate-choices edge-type)\n  (define name-field (new text-field%\n                          (label label)\n                          (parent parent-search/isa-panel)\n                          (init-value \"\")\n                          (callback (lambda (self event)\n                                      (define name (send self get-value))\n                                      (set-box! name-string name)\n                                      (set-box! predicate-choices '())\n                                      (send (predicate-list-box-thunk) set '())\n                                      (handle)))))\n  (define isa-field (new check-box%\n                         (parent parent-search/isa-panel)\n                         (label \"Include ISA-related concepts\")\n                         (value #f)\n                         (callback (lambda (self event) (handle)))))\n  (define concept-listbox (new list-box%\n                               (label label)\n                               (choices '())\n                               (columns '(\"CUI\" \"Concept Type*\" \"Name\"))\n                               (parent parent-list-boxes-panel)\n                               (style '(column-headers extended))\n                               (callback (lambda (self event)\n                                           (define selections (send self get-selections))\n                                           (define selected-concepts (foldr (lambda (i l) (cons (list-ref (unbox choices) i) l)) '() selections))\n                                           (when *verbose*\n                                             (printf \"selected concepts:\\n~s\\n\" selected-concepts))\n                                           (define predicates\n                                             (sort\n                                              (remove-duplicates\n                                               (run* (predicate)\n                                                 (fresh (e s o st ot pubref)\n                                                   (== e `(,s ,o ,predicate ,st ,ot  ,pubref))\n                                                   (case edge-type\n                                                     [(in-edge)\n                                                      (membero o selected-concepts)]\n                                                     [(out-edge)\n                                                      (membero s selected-concepts)]\n                                                     [else (error 'concept-listbox/predicates)])\n                                                   (edgeo e))))\n                                              string<?))\n                                           (set! predicates (append\n                                                             (list\n                                                              DECREASES_PREDICATE_STRING\n                                                              INCREASES_PREDICATE_STRING\n                                                              DECREASES_STAR_PREDICATE_STRING\n                                                              INCREASES_STAR_PREDICATE_STRING)\n                                                             predicates))\n                                           ;(printf \"predicates: ~s\\n\" predicates)\n                                           (set-box! predicate-choices predicates)\n                                           (send (predicate-list-box-thunk) set predicates)))))\n  (define (mk-run)\n    (let ((ans (if (equal? current-name \"\")\n                 '()\n                 (run* (q) (fuzzy-concepto current-name q)))))\n      ;; (printf \"include-ISA: ~s\\n\" current-isa)\n      (let* ((isa-ans (if (and (not (equal? current-name \"\")) current-isa)\n                        (begin\n                          ;; (printf \"include-ISA is checked and current-name is non-empty!\\n\")\n                          ;; only grab the first 50\n                          (let ((a (remove-duplicates\n                                     (run 50 (s)\n                                       (fresh (o st ot rest e)\n                                         (membero o ans)\n                                         (== `(,s ,o \"ISA\" ,st ,ot . ,rest) e)\n                                         (edgeo e))))))\n                            a))\n                        '()))\n             (ans (remove-duplicates (append ans isa-ans))))\n        (set-box! choices ans)\n        (send concept-listbox\n              set\n              (map (lambda (x)\n                     (match x\n                       [`(,cui ,name ,concept-type*)\n                         (format \"~a\" cui)]))\n                   ans)\n              (map (lambda (x)\n                     (match x\n                       [`(,cui ,name ,concept-type*)\n                         (let ((concept-type*\n                                 (sort concept-type* string<?)))\n                           (format \"~a\" concept-type*))]))\n                   ans)\n              (map (lambda (x)\n                     (match x\n                       [`(,cui ,name ,concept-type*)\n                         (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                   ans))\n        ;; unselect all items\n        (for ([i (length ans)])\n             (send concept-listbox select i #f)))))\n  (define current-name \"\")\n  (define current-isa #f)\n  (define pending-name current-name)\n  (define mk-thread #f)\n  (define timer (new timer% (notify-callback\n                              (lambda () (set! mk-thread (thread mk-run))))))\n  (define (handle)\n    (define new-name (send name-field get-value))\n    (define new-isa (send isa-field get-value))\n    (when (not (and (equal? current-name new-name)\n                    (equal? current-isa new-isa)))\n      (set! current-name new-name)\n      (set! current-isa new-isa)\n      (set-box! isa-flag current-isa)\n      (and mk-thread (begin (kill-thread mk-thread) (set! mk-thread #f)))\n      (send timer stop)\n      (send timer start input-response-latency #t)))\n  concept-listbox)\n\n(define (launch-gui)\n  (let ((frame (new frame%\n                    (label \"mediKanren Explorer v0.1\")\n                    (width HORIZ-SIZE)\n                    (height VERT-SIZE))))\n    (define concept-1-search/isa-panel (new horizontal-panel%\n                                            (parent frame)\n                                            (alignment '(left center))\n                                            (stretchable-height #f)))\n    (define concept-1-list-boxes-panel (new horizontal-panel%\n                                            (parent frame)\n                                            (alignment '(left center))))\n    (define concept-1-list-box (concept-list frame concept-1-search/isa-panel concept-1-list-boxes-panel \"Concept 1\" *concept-1-name-string* *concept-1-isa-flag* *concept-1-choices* (lambda () predicate-1-list-box) *predicate-1-choices* 'out-edge))\n    (define predicate-1-list-box (new list-box%\n                                      (label \"Predicate 1\")\n                                      (choices (unbox *predicate-1-choices*))\n                                      (columns '(\"Name\"))\n                                      (parent concept-1-list-boxes-panel)\n                                      (style '(extended))\n                                      (callback (lambda (button event)\n                                                  (void)))))\n    (define edge-description (new message%\n                                  (parent frame)\n                                  (label \"Concept 1 -> Predicate 1 -> [X] -> Predicate 2 -> Concept 2\")))\n    (define concept-2-search/isa-panel (new horizontal-panel%\n                                            (parent frame)\n                                            (alignment '(left center))\n                                            (stretchable-height #f)))\n    (define concept-2-list-boxes-panel (new horizontal-panel%\n                                            (parent frame)\n                                            (alignment '(left center))))\n    (define predicate-2-list-box (new list-box%\n                                      (label \"Predicate 2\")\n                                      (choices (unbox *predicate-2-choices*))\n                                      (columns '(\"Name\"))\n                                      (parent concept-2-list-boxes-panel)\n                                      (style '(extended))\n                                      (callback (lambda (button event)\n                                                  (void)))))\n    (define concept-2-list-box (concept-list frame concept-2-search/isa-panel concept-2-list-boxes-panel \"Concept 2\" *concept-2-name-string* *concept-2-isa-flag* *concept-2-choices* (lambda () predicate-2-list-box) *predicate-2-choices* 'in-edge))\n\n    (define go-button (new button%\n                           (parent frame)\n                           (label \"go!\")\n                           (callback (lambda (button event)\n                                       (send running-status-description set-label \"Running...\")\n\n                                       (define concept-1-selections (send concept-1-list-box get-selections))\n                                       (define concept-2-selections (send concept-2-list-box get-selections))\n\n                                       (define concept-1-selected-concepts (foldr (lambda (i l) (cons (list-ref (unbox *concept-1-choices*) i) l)) '() concept-1-selections))\n                                       (define concept-2-selected-concepts (foldr (lambda (i l) (cons (list-ref (unbox *concept-2-choices*) i) l)) '() concept-2-selections))\n\n                                       #|\n                                       (printf \"concept-1-selections: ~s\\n\" concept-1-selections)\n                                       (displayln concept-1-selected-concepts)\n                                       (printf \"---------------------------------\\n\")\n                                       (printf \"concept-2-selections: ~s\\n\" concept-2-selections)\n                                       (displayln concept-2-selected-concepts)\n                                       (printf \"---------------------------------\\n\")\n                                       |#\n\n                                       (define predicate-1-selections (send predicate-1-list-box get-selections))\n                                       (define predicate-2-selections (send predicate-2-list-box get-selections))\n\n                                       (define predicate-1-selected-predicates (foldr (lambda (i l) (cons (list-ref (unbox *predicate-1-choices*) i) l)) '() predicate-1-selections))\n                                       (define predicate-2-selected-predicates (foldr (lambda (i l) (cons (list-ref (unbox *predicate-2-choices*) i) l)) '() predicate-2-selections))\n\n                                       #|\n                                       (printf \"predicate-1-selections: ~s\\n\" predicate-1-selections)\n                                       (displayln predicate-1-selected-predicates)\n                                       (printf \"---------------------------------\\n\")\n                                       (printf \"predicate-2-selections: ~s\\n\" predicate-2-selections)\n                                       (displayln predicate-2-selected-predicates)\n                                       (printf \"---------------------------------\\n\")\n                                       |#\n\n                                       (find-X-concepts concept-1-selected-concepts\n                                                        concept-2-selected-concepts\n                                                        predicate-1-selected-predicates\n                                                        predicate-2-selected-predicates\n                                                        concept-X-list-box\n                                                        running-status-description\n                                                        full-path-list-box)))))\n    (define running-status-description (new message%\n                                            (parent frame)\n                                            (label \"                                                                \")))\n    (define concept-X-list-box (new list-box%\n                                    (label \"X\")\n                                    (choices (unbox *concept-X-choices*))\n                                    (columns '(\"CUI\" \"Concept Type*\" \"Name\"))\n                                    (parent frame)\n                                    (style '(column-headers single))\n                                    (callback (lambda (button event)\n                                                (let ((sel* (send concept-X-list-box get-selections)))\n                                                  (when (= (length sel*) 1)\n                                                    (let ((selected-X (list-ref (unbox *concept-X-choices*) (car sel*))))\n                                                      ;; (printf \"selected ~s\\n\" selected-X)\n                                                      (define concept-1* (unbox *solution-concept-1-choices*))\n                                                      (define concept-2* (unbox *solution-concept-2-choices*))\n                                                      ;; (printf \"concept-1* ~s\\n\" concept-1*)\n                                                      ;; (printf \"concept-2* ~s\\n\" concept-2*)\n                                                      (define predicate-1* (unbox *solution-predicate-1-choices*))\n                                                      (define predicate-2* (unbox *solution-predicate-2-choices*))\n                                                      ;; (printf \"predicate-1* ~s\\n\" predicate-1*)\n                                                      ;; (printf \"predicate-2* ~s\\n\" predicate-2*)\n\n\n                                                      (define atomic/synthetic-predicate-1* (split-atomic/synthetic-predicates predicate-1*))\n                                                      (define atomic/synthetic-predicate-2* (split-atomic/synthetic-predicates predicate-2*))\n\n                                                      (define atomic-predicate-1* (car atomic/synthetic-predicate-1*))\n                                                      (define atomic-predicate-2* (car atomic/synthetic-predicate-2*))\n\n                                                      (define synthetic-predicate-1* (cadr atomic/synthetic-predicate-1*))\n                                                      (define synthetic-predicate-2* (cadr atomic/synthetic-predicate-2*))\n\n\n                                                      (define paths '())\n\n                                                      (cond\n                                                        [(and (equal? (unbox *solution-concept-1-name-string*) \"\")\n                                                              (equal? (unbox *solution-concept-2-name-string*) \"\"))\n                                                         (set! paths '())]\n                                                        [(equal? (unbox *solution-concept-1-name-string*) \"\")\n                                                         (set! paths '())\n                                                         ;; run synthetic queries here\n                                                         (set! paths\n                                                               (remove-duplicates\n                                                                (append paths\n                                                                        (run* (q)\n                                                                          (fresh (e2\n                                                                                  x\n                                                                                  o p2 t2 t3 r2)\n                                                                            (== (list e2) q)\n                                                                            (== selected-X x)\n                                                                            (== e2 `(,x ,o ,p2 ,t2 ,t3 ,r2))\n                                                                            (membero o concept-2*)\n                                                                            (membero p2 atomic-predicate-2*)\n                                                                            (edgeo e2)\n                                                                            )))))]\n                                                        [(equal? (unbox *solution-concept-2-name-string*) \"\")\n                                                         (set! paths '())\n                                                         ;; run synthetic queries here\n                                                         (set! paths\n                                                               (remove-duplicates\n                                                                (append paths\n                                                                        (run* (q)\n                                                                          (fresh (e1\n                                                                                  x\n                                                                                  s\n                                                                                  p1 ts t1 r1)\n                                                                            (== (list e1) q)\n                                                                            (== selected-X x)\n                                                                            (== e1 `(,s ,x ,p1 ,ts ,t1 ,r1))\n                                                                            (membero s concept-1*)\n                                                                            (membero p1 atomic-predicate-1*)\n                                                                            (edgeo e1)\n                                                                            )))))]\n                                                        [else\n                                                         (set! paths '())\n                                                         ;; run synthetic queries here\n                                                         (set! paths\n                                                               (remove-duplicates\n                                                                (append paths\n                                                                        (run* (e1 e2)\n                                                                          (fresh (x\n                                                                                  s\n                                                                                  o p1 p2 ts t1 t2 t3 r1 r2)\n                                                                            (== selected-X x)\n                                                                            (== e1 `(,s ,x ,p1 ,ts ,t1 ,r1))\n                                                                            (== e2 `(,x ,o ,p2 ,t2 ,t3 ,r2))\n                                                                            (membero s concept-1*)\n                                                                            (membero o concept-2*)\n                                                                            (membero p1 atomic-predicate-1*)\n                                                                            (membero p2 atomic-predicate-2*)\n                                                                            (edgeo e1)\n                                                                            (edgeo e2)\n                                                                            )))))])\n\n                                                      ;; (printf \"sorting paths: ~s\\n\" paths)\n\n                                                      ;; This sorting affects the order of the \"Path\" list for the selected concept.\n                                                      (set! paths (map remove-duplicate-pubrefs/path (sort-paths paths)))\n\n                                                      ;; (printf \"sorted paths: ~s\\n\" paths)\n\n                                                      (define flattened-paths\n                                                        (let ((ls (foldr\n                                                                   (lambda (p l)\n                                                                     (cons\n                                                                      (list \"----\" \"----\" \"----\" \"----\" \"----\" \"----\")\n                                                                      (append (reverse p) l)))\n                                                                   '()\n                                                                   paths)))\n                                                          (if (null? ls)\n                                                              ;; ls should never be null!\n                                                              '()\n                                                              (reverse (cdr ls)))))\n\n                                                      (define full-path-subj-list\n                                                        (map (lambda (x)\n                                                               (match x\n                                                                 [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n                                                                  (~a subj #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                             flattened-paths))\n\n                                                      (define full-path-obj-list\n                                                        (map (lambda (x)\n                                                               (match x\n                                                                 [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n                                                                  (~a obj #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                             flattened-paths))\n\n                                                      (define full-path-pred-list\n                                                        (map (lambda (x)\n                                                               (match x\n                                                                 [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n                                                                  (~a pred #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                             flattened-paths))\n\n                                                      (define full-path-subj-type-list\n                                                        (map (lambda (x)\n                                                               (match x\n                                                                 [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n                                                                  (~a subj-type #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                             flattened-paths))\n\n                                                      (define full-path-obj-type-list\n                                                        (map (lambda (x)\n                                                               (match x\n                                                                 [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n                                                                  (~a obj-type #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                             flattened-paths))\n\n                                                      (define full-path-pubmed*-list\n                                                        (map (lambda (x)\n                                                               (match x\n                                                                 [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n                                                                  (~a pubmed* #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                             flattened-paths))\n\n                                                      (send full-path-list-box\n                                                            set\n                                                            full-path-subj-list\n                                                            full-path-obj-list\n                                                            full-path-pred-list\n                                                            full-path-subj-type-list\n                                                            full-path-obj-type-list\n                                                            full-path-pubmed*-list)\n\n                                                      (set-box! *full-path-choices* flattened-paths)\n\n                                                      ;; unselect all items\n                                                      (for ([i (length flattened-paths)])\n                                                           (send full-path-list-box select i #f))\n\n                                                      ))\n                                                  (void))))))\n    (define full-path-list-box (new list-box%\n                                    (label \"Paths\")\n                                    (choices (unbox *full-path-choices*))\n                                    (columns '(\"Subject\" \"Object\" \"Predicate\" \"Subj Type\" \"Obj Type\" \"PubMed IDs\"))\n                                    (parent frame)\n                                    (style '(column-headers extended))\n                                    (callback (lambda (self event)\n                                                ;; (when *verbose*\n                                                ;;   (printf \"(unbox *full-path-choices*):\\n~s\\n\" (unbox *full-path-choices*)))\n                                                (define selections (send self get-selections))\n                                                (when *verbose*\n                                                  (printf \"selection for full path:\\n~s\\n\" selections))\n                                                (define selected-full-paths (foldr (lambda (i l) (cons (list-ref (unbox *full-path-choices*) i) l)) '() selections))\n                                                (when *verbose*\n                                                  (printf \"selected full path:\\n\")\n                                                  (for-each\n                                                    (lambda (x)\n                                                      (match x\n                                                        [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n                                                         (let ((pubmed* (if (list? pubmed*)\n                                                                            (map (lambda (pubmed-id) (string-append \"https://www.ncbi.nlm.nih.gov/pubmed/\" (~a pubmed-id)))\n                                                                                 pubmed*)\n                                                                            pubmed*)))\n                                                           (pretty-print `(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)))]))\n                                                    selected-full-paths))\n))))\n\n\n    (send frame show #t)\n    ))\n\n(define (split-atomic/synthetic-predicates predicate*)\n\n  (define atomic-predicate* predicate*)\n  (define synthetic-predicate* '())\n\n  (set! synthetic-predicate* (filter (lambda (pred) (member pred SYNTHETIC_PREDICATE_STRINGS))\n                                     atomic-predicate*))\n\n  (when (member DECREASES_PREDICATE_STRING atomic-predicate*)\n    (set! atomic-predicate* (cons \"INHIBITS\" (cons \"PREVENTS\" (cons \"TREATS\" atomic-predicate*))))\n    (set! synthetic-predicate* (remove DECREASES_PREDICATE_STRING synthetic-predicate*)))\n\n  (when (member INCREASES_PREDICATE_STRING atomic-predicate*)\n    (set! atomic-predicate* (cons \"STIMULATES\" (cons \"AUGMENTS\" (cons \"CAUSES\" atomic-predicate*))))\n    (set! synthetic-predicate* (remove INCREASES_PREDICATE_STRING synthetic-predicate*)))\n\n  (set! atomic-predicate* (filter (lambda (pred) (not (member pred SYNTHETIC_PREDICATE_STRINGS)))\n                                  atomic-predicate*))\n\n  (set! atomic-predicate* (remove-duplicates atomic-predicate*))\n\n  (printf \"atomic-predicate*: ~s\\n\" atomic-predicate*)\n  (printf \"synthetic-predicate*: ~s\\n\" synthetic-predicate*)\n\n  (list atomic-predicate* synthetic-predicate*)\n  )\n\n(define streaming-thread #f)\n\n(define (stop-streaming)\n  (and streaming-thread (kill-thread streaming-thread))\n  (set! streaming-thread #f))\n\n(define (print-stream ss)\n  (when (not (stream-empty? ss))\n    (pretty-print (stream-first ss))\n    (displayln \"====================================\")\n    (print-stream (stream-rest ss))))\n\n(define (start-streaming ss)\n  (stop-streaming)\n  (thread (lambda () (print-stream ss))))\n\n(define (find-X-concepts concept-1* concept-2* predicate-1* predicate-2* concept-X-list-box running-status-description full-path-list-box)\n\n  (define start-time (current-milliseconds))\n\n  #|\n  (printf \"\\nfinding concepts X for which\\n[C1] -> P1 -> [X] -> P2 -> [C2]\\n\")\n  (printf \"=============================\\n\")\n  |#\n\n  (define atomic/synthetic-predicate-1* (split-atomic/synthetic-predicates predicate-1*))\n  (define atomic/synthetic-predicate-2* (split-atomic/synthetic-predicates predicate-2*))\n\n  (define atomic-predicate-1* (car atomic/synthetic-predicate-1*))\n  (define atomic-predicate-2* (car atomic/synthetic-predicate-2*))\n\n  (define synthetic-predicate-1* (cadr atomic/synthetic-predicate-1*))\n  (define synthetic-predicate-2* (cadr atomic/synthetic-predicate-2*))\n\n  (define all-X-concepts-with-edges '())\n\n  (define (stream-query/predicate/trust predicate&nedges&ntrusted->ss)\n    (start-streaming\n      (foldr\n        (lambda (pname ss)\n          (define predicate (cdr (assoc pname synthetic-relations)))\n          (define (run/ranked nedges ntrusted)\n            (stream-cons\n              (begin\n                (displayln \"***************************************\")\n                (printf \"Path length: ~s, Trusted edge count: ~s\\n\" nedges ntrusted)\n                (displayln \"***************************************\")\n                (flush-output))\n              (predicate&nedges&ntrusted->ss predicate nedges ntrusted)))\n          (stream-append\n            (stream-cons\n              (printf \"Streaming synthetic predicate ~s\\n\" pname)\n              (stream-append\n                (run/ranked 1 1)\n                (stream-append\n                  (run/ranked 1 0)\n                  (let loop ((nedges 2) (ntrusted 2))\n                    (if (< 4 nedges)\n                      '()\n                      (stream-append\n                        (run/ranked nedges ntrusted)\n                        (loop (+ nedges 1) (+ ntrusted 1))))))))\n            (stream-cons\n              (printf \"Finished streaming synthetic predicate ~s\\n\" pname)\n              ss)))\n        (stream-cons (begin (displayln \"Finished all streaming.\")\n                            (flush-output))\n                     '())\n        synthetic-predicate-2*)))\n\n  (cond\n    [(and (equal? (unbox *concept-1-name-string*) \"\")\n          (equal? (unbox *concept-2-name-string*) \"\"))\n     (set! all-X-concepts-with-edges '())]\n    [(equal? (unbox *concept-1-name-string*) \"\")\n     (set! all-X-concepts-with-edges '())\n     ;; run synthetic queries here\n     (stream-query/predicate/trust\n       (lambda (predicate nedges ntrusted)\n         (run-stream\n           (path-url)\n           (fresh (m o path)\n             (path-length-trustedo path nedges ntrusted)\n             (membero o concept-2*)\n             (predicate m o path)\n             (path/urlo path path-url)\n             ;(== path path-url)\n             ))))\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (m\n                              e2\n                              o p2 t2 t3 r2)\n                        (== (list m (list r2) (list e2)) q)\n                        (== e2 `(,m ,o ,p2 ,t2 ,t3 ,r2))\n                        (membero o concept-2*)\n                        (membero p2 atomic-predicate-2*)\n                        (edgeo e2)\n                        )))))]\n    [(equal? (unbox *concept-2-name-string*) \"\")\n     (set! all-X-concepts-with-edges '())\n     ;; run synthetic queries here\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (m\n                              e1 e2\n                              s\n                              p1 ts t1 r1)\n                        (== (list m (list r1) (list e1)) q)\n                        (== e1 `(,s ,m ,p1 ,ts ,t1 ,r1))\n                        (membero s concept-1*)\n                        (membero p1 atomic-predicate-1*)\n                        (edgeo e1)\n                        )))))]\n    [else\n     (set! all-X-concepts-with-edges '())\n     ;; run synthetic queries here\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (m\n                              e1 e2\n                              s\n                              o p1 p2 ts t1 t2 t3 r1 r2)\n                        (== (list m (list r1 r2) (list e1 e2)) q)\n                        (== e1 `(,s ,m ,p1 ,ts ,t1 ,r1))\n                        (== e2 `(,m ,o ,p2 ,t2 ,t3 ,r2))\n                        (membero s concept-1*)\n                        (membero o concept-2*)\n                        (membero p1 atomic-predicate-1*)\n                        (membero p2 atomic-predicate-2*)\n                        (edgeo e1)\n                        (edgeo e2)\n                        )))))])\n\n  (define end-time (current-milliseconds))\n\n  (define elapsed-time (- end-time start-time))\n\n  ;;(printf \"elapsed query time: ~s seconds\\n\" (/ elapsed-time 1000.0))\n  ;;(printf \"=============================\\n\")\n\n  ;; This sorting affects order of appearance in the \"X\" concept list\n  (set! all-X-concepts-with-edges\n    (sort\n      all-X-concepts-with-edges\n      (lambda (c1 c2)\n        (match (list c1 c2)\n          [`((,_ ,_ ,e1*) (,_ ,_ ,e2*))\n            (not (path-confidence<? e1* e2*))]))))\n\n  (define all-X-concepts '())\n  (set! all-X-concepts\n        (let loop ([ls all-X-concepts-with-edges])\n          (cond\n            [(null? ls) '()]\n            [else\n             (match (car ls)\n               [`((,cui ,name ,concept-type*) ,pubmed** ,edge*)\n                (cons (car ls)\n                      (loop (remf* (lambda (x)\n                                     (match x\n                                       [`((,cui-x ,name-x ,concept-type*-x) ,pubmed**-x ,edge*-x)\n                                        (equal? cui-x cui)]))\n                                   (cdr ls))))])])))\n\n  (set! all-X-concepts (map car all-X-concepts))\n\n  (newline)\n  (printf \"========== begin query results =============\\n\")\n  (newline)\n\n  (printf \"Query end date/time:\\n~a\\n\" (date->string (seconds->date (current-seconds)) #t))\n  (newline)\n\n  (define number-Xs-found (length all-X-concepts))\n  (define query-seconds (/ elapsed-time 1000.0))\n  (define query-time-format-string \"Found ~s X's after ~s seconds\")\n  (send running-status-description set-label (format query-time-format-string number-Xs-found query-seconds))\n  (printf query-time-format-string number-Xs-found query-seconds)\n  (newline)\n  (newline)\n\n  (set-box! *concept-X-choices* all-X-concepts)\n\n  (set-box! *solution-concept-1-name-string* (unbox *concept-1-name-string*))\n  (set-box! *solution-concept-2-name-string* (unbox *concept-2-name-string*))\n\n  (set-box! *solution-concept-1-isa-flag* (unbox *concept-1-isa-flag*))\n  (set-box! *solution-concept-2-isa-flag* (unbox *concept-2-isa-flag*))\n\n  (set-box! *solution-concept-1-choices* concept-1*)\n  (set-box! *solution-concept-2-choices* concept-2*)\n  (set-box! *solution-predicate-1-choices* predicate-1*)\n  (set-box! *solution-predicate-2-choices* predicate-2*)\n\n  (printf \"*solution-concept-1-name-string*:\\n~s\\n\" (unbox *solution-concept-1-name-string*))\n  (printf \"*solution-concept-1-isa-flag*:\\n~s\\n\" (unbox *solution-concept-1-isa-flag*))\n  (printf \"*solution-concept-1-choices*:\\n\")\n  (pretty-print (unbox *solution-concept-1-choices*))\n  (printf \"*solution-predicate-1-choices*:\\n\")\n  (pretty-print (unbox *solution-predicate-1-choices*))\n  (newline)\n\n  (printf \"*solution-concept-2-name-string*:\\n~s\\n\" (unbox *solution-concept-2-name-string*))\n  (printf \"*solution-concept-2-isa-flag*:\\n~s\\n\" (unbox *solution-concept-2-isa-flag*))\n  (printf \"*solution-concept-2-choices*:\\n\")\n  (pretty-print (unbox *solution-concept-2-choices*))\n  (printf \"*solution-predicate-2-choices*:\\n\")\n  (pretty-print (unbox *solution-predicate-2-choices*))\n  (newline)\n\n  (define pretty-print-X-concepts-with-edges\n    (lambda (X-concepts-with-edges)\n      (with-output-to-file\n          \"a.out\"\n          (lambda ()\n            (printf \"'(\\n\")\n            (let loop ([ls X-concepts-with-edges])\n              (cond\n                [(null? ls)\n                 (printf \")\\n\")\n                 (newline)]\n                [else\n                 (match (car ls)\n                   [`((,cui ,name ,concept-type*) ,pubmed** ,edge*)\n                    ;; (printf \"-----------------------------------------------\\n\")\n                    (for-each\n                      (lambda (x)\n                        (match x\n                          [`(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*)\n                           (let ((pubmed* (if (list? pubmed*)\n                                              (map (lambda (pubmed-id) (string-append \"https://www.ncbi.nlm.nih.gov/pubmed/\" (~a pubmed-id)))\n                                                   pubmed*)\n                                              pubmed*)))\n                             (pretty-print `(,subj ,obj ,pred ,subj-type ,obj-type ,pubmed*) (current-output-port) 1))]))\n                      edge*)\n                    (loop (cdr ls))])])))\n          #:mode 'text\n          #:exists 'append)))\n\n  ;; (printf \"all-X-concepts-with-edges:\\n\")\n  (pretty-print-X-concepts-with-edges all-X-concepts-with-edges)\n\n  (printf \"========== end query results =============\\n\")\n\n  (send concept-X-list-box\n        set\n        (map (lambda (x)\n               (match x\n                 [`(,cui ,name ,concept-type*)\n                  (format \"~a\" cui)]))\n             all-X-concepts)\n        (map (lambda (x)\n               (match x\n                 [`(,cui ,name ,concept-type*)\n                  (let ((concept-type*\n                         (sort concept-type* string<?)))\n                    (format \"~a\" concept-type*))]))\n             all-X-concepts)\n        (map (lambda (x)\n               (match x\n                 [`(,cui ,name ,concept-type*)\n                  (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n             all-X-concepts))\n  ;; unselect all items\n  (for ([i (length all-X-concepts)])\n       (send concept-X-list-box select i #f))\n\n  ;; empty the entries in the full-path-list-box\n  (send full-path-list-box set '() '() '() '() '() '())\n\n  )\n\n(displayln\n  \"Launching GUI\")\n\n(launch-gui)\n"
  },
  {
    "path": "attic/code/helpers.rkt",
    "content": "#lang racket/base\n(provide\n  membero\n  not-membero\n  )\n\n(require\n  \"mk.rkt\"\n  )\n\n\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; list non-membership\n(define not-membero\n  (lambda (x ls)\n    (conde\n      [(== '() ls)]\n      [(fresh (y rest)\n         (== `(,y . ,rest) ls)\n         (=/= x y)\n         (not-membero x rest))])))\n"
  },
  {
    "path": "attic/code/imatinib-query.rkt",
    "content": "#lang racket\n;; We are using Racket as our base language.\n\n;; Load the mediKanren logic engine, and the Racket-formatted version\n;; of a lightly curated and lightly normalized version of the SemMedDB\n;; knowledge base.\n(require\n  \"mk-db.rkt\"\n  \"concept.rkt\"\n  \"edge.rkt\"\n  )\n\n(displayln\n  \"Finished loading mk-db.rkt.\")\n\n;; We are going to write a query that tries to find a disease 'Ds'\n;; that a given drug 'Dg' might treat, but for which SemMedDB doesn't\n;; contain a direct TREATS edge between 'Dg' and 'Ds'.  That is, we\n;; are trying to find \"surprising\" drug/disease links that might be\n;; worth further exploration.\n;;\n;; THE BIGGER PROBLEM\n;;\n;; One important question this example query is meant to explore is\n;; whether we can avoid the combinatorial, exponential explosion of\n;; possible paths between the given drug 'Dg' and the \"unknown\"\n;; disease 'Ds'.  SemMedDB has millions of edges, 25,000 diseases,\n;; thousands of drugs, etc.  If we are naive, we can easily end\n;; generating millions of paths between the given drug 'Dg' and the\n;; tens of thousands of unknown diseases.  We might think of this as\n;; the \"Six Degrees of Kevin Bacon\" problem\n;; (https://en.wikipedia.org/wiki/Six_Degrees_of_Kevin_Bacon): from\n;; any disease there may be thousands, or even hundreds of thousands,\n;; of indirect paths bewteen that drug and and specific disease.  Not\n;; only does this phenomenon lead to computationally intractable\n;; problems, it also can overwhelm the human user with far too many\n;; answers to consider in a lifetime, most of which are of extremely\n;; dubious quality.  For example, there are over 180,000 (relatively\n;; short!) paths just between imatinib and asthma in SemMedDB.\n;;\n;; To avoid this problem, we are going to try to be clever, in\n;; multiple dimensions.  We are going to use various forms of\n;; reasoning, including trying to explore connections between\n;; concepts, exploring more specific drugs before exploring classes of\n;; drugs, throwing out \"degenrate\" answers like 'Disease' that are so\n;; general they are guaranteed to lead to exponential explosion, and\n;; any other techniques that seem likely to avoid combinatorial\n;; explosion in a wide class of queries, without being so aggressive\n;; that useful answers are throw out.\n;;\n;; Philosophically, this is similar to how a chess engine like\n;; Stockfish works (https://en.wikipedia.org/wiki/Stockfish_(chess)).\n;; Even though the average branching factor in chess is around 35, the\n;; best engines use heuristics to reduce the *effective* branching\n;; factor to under 2.  That is, when trying to decide on the next move\n;; to play, in a chess position with 35 possible moves, most of the\n;; time Stockfish will consider only the most promising one or two\n;; moves.  This allows Stockfish to efficiently search much deeper\n;; than chess engines that consider all 35 moves in detail.\n;;\n;; In this example we try to explore a few possible heuristics that\n;; might let us avoid a high average branching factor, by avoiding\n;; paths that semantically don't make sense, avoiding degenerate\n;; entities like 'Disease', trying more specific variants of a class\n;; of drugs first to reduce the branching factor, etc.\n;;\n;;\n;; THE QUERY\n;;\n;; By the very nature of our specific query (trying to find surprising\n;; candidate diseases that might be treated by a given drug), we know\n;; that SemMedDB will not contain the edge:\n;;\n;;      Dg TREATS Ds\n;;\n;; (In fact, we will *insist* that such an edge doesn't exist, for Ds\n;; to be considered a valid answer.)  So instead of looking for a\n;; direct TREATS edge, we will try a more nuanced query:\n;;\n;; Find an \"unknown\" disease 'Ds' that is not known to be directly treated by the\n;; given drug 'Dg', where there exists a gene 'Gn', a \"known\" disease\n;; 'Ds_k', a cell function 'Cf' such that:\n;;\n;; The given drug Dg directly INHIBITS some gene Gn, *and*\n;; the inhibited gene Gn directly CAUSES some \"known\" disease Ds_k, *and*\n;; the given drug Dg directly TREATS the \"known\" disease Ds_k, *and*\n;; the inhibited gene Gn directly CAUSES some cell function Cf, *and*\n;; the cell function Cf directly AFFECTS some \"unknown\" disease Ds, *and*\n;; the given drug Dg does *not* directly TREATS the \"unknown\" disease Ds, *and*\n;; the \"unknown\" disease Ds directly is a MANIFESTATION_OF the cell function Cf.\n;;\n;; Upper-case verbs, such as INHIBITS and TREATS, are SemMedDB edge\n;; \"predicates\".  Only the drug 'Dg' is given (\"ground\" in logic\n;; programming terminology) in the query above.  All other entities\n;; ('Gn', 'Ds_k', '', etc.) are unknown (\"fresh\" or \"non-ground\" in\n;; logic programming terminology).  Even the \"known\" disease 'Ds_k'\n;; starts out unknown.  'Ds_k' is a \"known\" disease only in the sense\n;; that SemMedDB contains a direct TREATS edge between the given drug\n;; 'Dg' and 'Ds_k'--we must discover that edge, and the disease\n;; 'Ds_k', during the query.\n;;\n;; By parameterizing over the given drug 'Dg', we can turn this\n;; specific query about imatinic into a more general \"query schema\"\n;; that can be made to work for any drug.\n;;\n;; Part of the domain knowledge of a human user is encoded in the\n;; *structure* of the query itself.  This structure includes:\n;;\n;; * which entities are connected to each other;\n;;\n;; * the exact predicates chosen ('CAUSES' is a \"stronger\", or more\n;; specific, predicate than 'AFFECTS', which is stronger than\n;; 'ASSOCIATED_WITH'),\n;;\n;; * the exact SemMedDB semantic types chosen--diseases of interest\n;; may or may not include neoplasms (semantic type 'neop'), for\n;; example.\n;;\n;;\n;; THE FIGURES\n;;\n;; We found it helpful to ourselves, to keep everything straight, to\n;; draw by hand several figures showing the simple/naive query, and\n;; a more sophisticated version that involves reasoning and heuristics.\n;;\n;; The overview of a naive version of the query can be found at the top of\n;; \n;;   imatinib_simple.jpg\n;;\n;; This is really only part of a naive query, showing the path we hope\n;; to find connecting imatinib to asthma via the KIT gene and mast\n;; cell activation.  Since there are over 180,000 relatively short\n;; paths paths between imatinib and asthma, this path can be difficult\n;; to find, even if you already knew to look for the connection to\n;; asthma.  If you didn't know which of the 25,000 diseases in\n;; SemMedDB might be connected to imatinib, this query would be very\n;; difficult indeed.\n;;\n;; In the same file is an abstracted version of the query, showing the\n;; abstract categories and connections we are interested in.  In this\n;; case, we have also abstracted over the drug of interest: since none\n;; of the entities are ground/concrete, this is a query schema that\n;; could be applied to any drug.  Of course, it is unlikely to give\n;; useful answers without significant human intervention to help prune\n;; bogus and boring answers.\n;;\n;; A more sophisticated version of the query can be found in\n;;\n;;   imatinib_less_naive.jpg\n;;\n;; This figure shows branching factors we encountered when building up\n;; the query by hand, while using various sorts of reasoning and\n;; heuristics.  Unlike the naive queries, these sub-queries were\n;; executed on a laptop within a few seconds to a few minutes, with\n;; relatively small numbers of interesting answers produced at the end\n;; (~111 diseases to consider by a human).  We aren't doing too much to\n;; be efficient at this point--for example, we are representing sets as\n;; lists, and taking other shortcuts.  With some cleverness, we think\n;; we could both speed up the queries, and also cut down on the number of\n;; bogus/uninteresting answers.\n;;\n;;\n;; CHEATING, BUT NOT REALLY\n;;\n;; In this file we are hand-compiling parts of the overall query, and\n;; using various heuristics and reasoning techniques.  We are most\n;; interested in exploring *where we might get leverage to avoid\n;; combinatorial explosion* while still keeping answers that are of\n;; interest.  In this file we will shamelessly hand-compile or chain\n;; together parts of the query, and wave our hands to point out how we\n;; applied a certain optimization or bit of reasoning.  Obviously in a\n;; real system a human would interact with the reasoning engine at a\n;; much higher level of abstraction, and this code would be\n;; automatically generated.  Also, we would need to implement the\n;; reasoning in a more automatic fashion, and might want to tweak or\n;; change some of the hueristics, call out to external ontologies like\n;; SNOMED so we can do logical queries to determine how concepts are\n;; related, etc.  We have tried to only include reasoning that we\n;; think is generalizable, and which you might reasonably want to\n;; apply for real queries.\n;;\n;; Obviously we are starting from an inherently cheating position,\n;; since we know there is a connection bewteen imatinib and asthma.\n;; However, we will try to be as honest as possible, and not use\n;; tricks that just show asthma as the answer (ta da!).  Instead, we\n;; want to make sure that each step we take, and each bit of reasoning\n;; we employ, seems reasonable.  Over time we will learn which types\n;; of reasoning seem to work best in practice--we might not use all of\n;; these specific reasoning techniques, but we will use techniques\n;; that are similar in spirit.\n;;\n;;\n;; MUCH MORE EXPLORATION\n;;\n;; can be found in the 'study-imatinib.rkt' file, which is basically\n;; 10K lines of queries and answers exploring different possible\n;; answers, approaches to reasoning, etc.  The examples and code below\n;; have been taken from 'study-imatinib.rkt'.\n\n\n;; Racket and mediKanren helpers\n\n;; remove duplicates from a list\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n;; subtract elements from set l2 from set l1 (represented as lists)\n(define set-subtraction\n  (lambda (l1 l2)\n    (cond\n      [(null? l1) '()]\n      [(member (car l1) l2) (set-subtraction (cdr l1) l2)]\n      [else (cons (car l1) (set-subtraction (cdr l1) l2))])))\n\n;; set union\n(define union\n  (lambda (l1 l2)\n    (cond\n      [(null? l1) l2]\n      [(member (car l1) l2) (union (cdr l1) l2)]\n      [else (cons (car l1) (union (cdr l1) l2))])))\n\n;; set union for any number of sets\n(define union*\n  (lambda args\n    (union*-aux args)))\n\n;; helper for union*\n(define union*-aux\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(null? (cdr ls)) (car ls)]\n      [else (union (car ls) (union*-aux (cdr ls)))])))\n\n\n;; list membership helpers for mediKanren (depricated)\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n(define not-membero\n  (lambda (x ls)\n    (conde\n      [(== '() ls)]\n      [(fresh (y rest)\n         (== `(,y . ,rest) ls)\n         (=/= x y)\n         (not-membero x rest))])))\n\n\n(displayln\n  \"Finished loading helpers\")\n\n\n\n;;; First bit of reasoning:\n;;\n;; We want to find candidate \"unknown\" diseases that might be treated by imatinib.\n;; SemMedDB has multiple concepts related to imatinib, some very specific (Gleevec),\n;; some less specific (the class of imatinib-related drugs).\n;;\n;; One simple bit of reasoning we can do is try to find the types of\n;; imatinib-related compounds, and thir relationships.  An ontology\n;; would be helpful here--we can get much of the way using the ISA\n;; predicate in SemMedDB.  We can also look at branchiong factors for\n;; the different drug/gene inhibition connections, for example.  Using\n;; external sources as well, we can determine Gleevec is a trade name,\n;; and is theremore more specific than the class of imatinib-related\n;; compounds.  We can therefor use the heuristic that we are going to\n;; start by searching for connections from Gleevec, rather than all\n;; imatinib compounds, to try to reduce the branching factor.\n\n\n;; Here are the relevant ISA queries:\n\n;; ??? ISA imatinib\n;;\n;; Gleevec makes sense (brand name), and probably Imatinib mesylate.\n;; STI571 is okay, probably. http://chemocare.com/chemotherapy/drug-info/STI-571.aspx\n;; And CGP 57148.  https://www.biovision.com/imatinib-mesylate-cgp-57148b-sti-571.html\n;;\n;; The others seem...less good. 'Therapeutic procedure ISA imatinib' seems non-sensical.\n;; 'Protein-tyrosine kinase inhibitor ISA imatinib' seems backwards.\n;; '((3392 \"Antineoplastic Agents\" (\"phsu\"))\n;;   (13216 \"Pharmacotherapy\" (\"topp\"))\n;;   (13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n;;   (87111 \"Therapeutic procedure\" (\"topp\"))\n;;   (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n;;   (543467 \"Operative Surgical Procedures\" (\"topp\"))\n;;   (906802 \"STI571\" (\"phsu\" \"orch\"))\n;;   (935987 \"Gleevec\" (\"orch\" \"phsu\"))\n;;   (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n;;   (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\"))\n;;   (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\")))\n(time\n  (run* (q)\n      (fresh (what-is-it drug e-what/drug st-what/drug ot-what/drug e-what/drug-rest)        \n        (== what-is-it q)\n        (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n        (== `(,what-is-it ,drug \"ISA\" ,st-what/drug ,ot-what/drug . ,e-what/drug-rest) e-what/drug)\n        (edgeo e-what/drug))))\n\n\n;; imatinib ISA ???\n;; '((3392 \"Antineoplastic Agents\" (\"phsu\"))\n;;   (13216 \"Pharmacotherapy\" (\"topp\"))\n;;   (13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n;;   (13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n;;   (39796 \"The science and art of healing\" (\"topp\"))\n;;   (87111 \"Therapeutic procedure\" (\"topp\"))\n;;   (87111 \"Therapeutic procedure\" (\"topp\"))\n;;   (243076 \"antagonists\" (\"chvf\"))\n;;   (418981 \"Medical therapy\" (\"topp\"))\n;;   (543467 \"Operative Surgical Procedures\" (\"topp\"))\n;;   (679607 \"treatment method\" (\"topp\"))\n;;   (920425 \"Cancer Treatment\" (\"topp\"))\n;;   (935451 \"neoplasm/cancer chemotherapy\" (\"topp\"))\n;;   (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n;;   (1254351 \"Pharmacologic Substance\" (\"phsu\"))\n;;   (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\"))\n;;   (1372955 \"Active Ingredients\" (\"phsu\"))\n;;   (1449702 \"Protein Kinase Inhibitors\" (\"phsu\"))\n;;   (1519313 \"Signal Transduction Inhibitor\" (\"phsu\"))\n;;   (1533685 \"Injection procedure\" (\"topp\"))\n;;   (1579409 \"Molecular Target Inhibitors\" (\"phsu\"))\n;;   (1611640 \"Therapeutic agent (substance)\" (\"phsu\")))\n(time\n  (run* (q)\n      (fresh (drug what-is-it e-drug/what st-drug/what ot-drug/what e-drug/what-rest)        \n        (== what-is-it q)\n        (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n        (== `(,drug ,what-is-it \"ISA\" ,st-drug/what ,ot-drug/what . ,e-drug/what-rest) e-drug/what)\n        (edgeo e-drug/what))))\n\n(displayln\n  \"Finished loading 'playing with ISA'\")\n\n\n\n;; THE CANDIDATE DISEASES\n;;\n;; Working backwards, here we calculate the final 111 candidate\n;; diseases.\n;;\n;; subtract from the 154 disorders (no neoplasms or pathologic functions)\n;; of interest those 456 disorders, neoplasms, or pathologic functions\n;; directly treated by *any* form of imatinib (not just Gleevec)\n;;\n;; results in 111 disorders\n;;\n;; Should be able to pare down more using ontologies to see which\n;; entries are forms of diabetes, for example.  And use ontologies to\n;; group remaning entries.\n(define *final-disease-candidates*\n  (set-subtraction\n   '((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n     (41107 \"Trisomy\" (\"dsyn\"))\n     (25517 \"Metabolic Diseases\" (\"dsyn\"))\n     (15695 \"Fatty Liver\" (\"dsyn\"))\n     (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n     (17732 \"Glucose Intolerance\" (\"dsyn\"))\n     (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n     (6267 \"Bronchiectasis\" (\"dsyn\"))\n     (11616 \"Contact Dermatitis\" (\"dsyn\"))\n     (32285 \"Pneumonia\" (\"dsyn\"))\n     (1519680 \"Tumor Immunity\" (\"dsyn\"))\n     (242231 \"Coronary Stenosis\" (\"dsyn\"))\n     (729353 \"Subfertility\" (\"dsyn\"))\n     (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n     (33860 \"Psoriasis\" (\"dsyn\"))\n     (30920 \"Peptic Ulcer\" (\"dsyn\"))\n     (87086 \"Thrombus\" (\"dsyn\"))\n     (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n     (1857 \"AIDS related complex\" (\"dsyn\"))\n     (14038 \"Encephalitis\" (\"dsyn\"))\n     (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n     (19163 \"Hepatitis B\" (\"dsyn\"))\n     (35435 \"Rheumatism\" (\"dsyn\"))\n     (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n     (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n     (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n     (231341 \"Premature aging syndrome\" (\"dsyn\"))\n     (14553 \"Absence Epilepsy\" (\"dsyn\"))\n     (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n     (20437 \"Hypercalcemia\" (\"dsyn\"))\n     (24899 \"mastocytosis\" (\"dsyn\"))\n     (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n     (4153 \"Atherosclerosis\" (\"dsyn\"))\n     (4623 \"Bacterial Infections\" (\"dsyn\"))\n     (15397 \"Eye diseases\" (\"dsyn\"))\n     (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n     (26848 \"Myopathy\" (\"dsyn\"))\n     (35304 \"Retinal Degeneration\" (\"dsyn\"))\n     (35309 \"Retinal Diseases\" (\"dsyn\"))\n     (38220 \"Status Epilepticus\" (\"dsyn\"))\n     (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n     (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n     (1285162 \"Degenerative disorder\" (\"dsyn\"))\n     (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n     (1536085 \"Geographic atrophy\" (\"dsyn\"))\n     (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n     (20459 \"Hyperinsulinism\" (\"dsyn\"))\n     (9319 \"Colitis\" (\"dsyn\"))\n     (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n     (14544 \"Epilepsy\" (\"dsyn\"))\n     (17601 \"Glaucoma\" (\"dsyn\"))\n     (19158 \"Hepatitis\" (\"dsyn\"))\n     (20456 \"Hyperglycemia\" (\"dsyn\"))\n     (20538 \"Hypertensive disease\" (\"dsyn\"))\n     (20550 \"Hyperthyroidism\" (\"dsyn\"))\n     (20615 \"hypoglycemia\" (\"dsyn\"))\n     (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n     (30305 \"Pancreatitis\" (\"dsyn\"))\n     (33626 \"Protein Deficiency\" (\"dsyn\"))\n     (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n     (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n     (151747 \"Renal tubular disorder\" (\"dsyn\"))\n     (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n     (270814 \"Spastic syndrome\" (\"dsyn\"))\n     (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n     (878544 \"Cardiomyopathies\" (\"dsyn\"))\n     (948008 \"Ischemic stroke\" (\"dsyn\"))\n     (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n     (1824 \"Agranulocytosis\" (\"dsyn\"))\n     (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n     (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n     (2871 \"Anemia\" (\"dsyn\"))\n     (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n     (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n     (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n     (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n     (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n     (7785 \"Cerebral Infarction\" (\"dsyn\"))\n     (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n     (8370 \"Cholestasis\" (\"dsyn\"))\n     (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n     (11847 \"Diabetes\" (\"dsyn\"))\n     (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n     (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n     (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n     (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n     (13595 \"Eczema\" (\"dsyn\"))\n     (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n     (17152 \"Gastritis\" (\"dsyn\"))\n     (17658 \"Glomerulonephritis\" (\"dsyn\"))\n     (18799 \"Heart Diseases\" (\"dsyn\"))\n     (18801 \"Heart failure\" (\"dsyn\"))\n     (19693 \"HIV Infections\" (\"dsyn\"))\n     (20179 \"Huntington Disease\" (\"dsyn\"))\n     (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n     (21053 \"Immune System Diseases\" (\"dsyn\"))\n     (21311 \"Infection\" (\"dsyn\"))\n     (21359 \"Infertility\" (\"dsyn\"))\n     (21364 \"Infertility, Male\" (\"dsyn\"))\n     (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n     (22116 \"Ischemia\" (\"dsyn\"))\n     (22658 \"Kidney Diseases\" (\"dsyn\"))\n     (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n     (23530 \"Leukopenia\" (\"dsyn\"))\n     (23895 \"Liver diseases\" (\"dsyn\"))\n     (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n     (24312 \"Lymphopenia\" (\"dsyn\"))\n     (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n     (27051 \"Myocardial Infarction\" (\"dsyn\"))\n     (27765 \"nervous system disorder\" (\"dsyn\"))\n     (28754 \"Obesity\" (\"dsyn\"))\n     (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n     (29456 \"Osteoporosis\" (\"dsyn\"))\n     (30567 \"Parkinson Disease\" (\"dsyn\"))\n     (31763 \"Photosensitization\" (\"dsyn\"))\n     (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n     (35305 \"Retinal Detachment\" (\"dsyn\"))\n     (36690 \"Septicemia\" (\"dsyn\"))\n     (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n     (39082 \"Syndrome\" (\"dsyn\"))\n     (40034 \"Thrombocytopenia\" (\"dsyn\"))\n     (41296 \"Tuberculosis\" (\"dsyn\"))\n     (42024 \"Urinary Incontinence\" (\"dsyn\"))\n     (42341 \"Varicocele\" (\"dsyn\"))\n     (42721 \"Viral hepatitis\" (\"dsyn\"))\n     (42769 \"Virus Diseases\" (\"dsyn\"))\n     (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n     (151650 \"Renal fibrosis\" (\"dsyn\"))\n     (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n     (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n     (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n     (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n     (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n     (238806 \"BONE MASS\" (\"dsyn\"))\n     (242350 \"Erectile dysfunction\" (\"dsyn\"))\n     (242383 \"Age related macular degeneration\" (\"dsyn\"))\n     (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n     (268731 \"Renal glomerular disease\" (\"dsyn\"))\n     (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n     (339527 \"Leber's amaurosis\" (\"dsyn\"))\n     (340970 \"Congenital neutropenia\" (\"dsyn\"))\n     (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n     (456909 \"Blind Vision\" (\"dsyn\"))\n     (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n     (677607 \"Hashimoto Disease\" (\"dsyn\"))\n     (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n     (857357 \"Hepatic pathology\" (\"dsyn\"))\n     (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n     (1281300 \"Vascular degeneration\" (\"dsyn\"))\n     (1456670 \"Nerve Diseases\" (\"dsyn\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     (12634 \"Disease\" (\"dsyn\"))\n     (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n     (23882 \"Little's Disease\" (\"dsyn\")))\n   '((2871 \"Anemia\" (\"dsyn\"))\n     (2874 \"Aplastic Anemia\" (\"dsyn\"))\n     (2895 \"Sickle Cell Anemia\" (\"dsyn\"))\n     (3047 \"Animal Diseases\" (\"dsyn\"))\n     (15376 \"Extravasation\" (\"patf\"))\n     (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n     (4153 \"Atherosclerosis\" (\"dsyn\"))\n     (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n     (5940 \"Bone Diseases\" (\"dsyn\"))\n     (18944 \"Hematoma\" (\"patf\"))\n     (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n     (7682 \"CNS disorder\" (\"dsyn\"))\n     (20507 \"Hyperplasia\" (\"patf\"))\n     (6118 \"Brain Neoplasms\" (\"neop\"))\n     (21368 \"Inflammation\" (\"patf\"))\n     (8728 \"Churg-Strauss Syndrome\" (\"dsyn\"))\n     (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n     (10403 \"Cryoglobulinemia\" (\"dsyn\"))\n     (11644 \"Scleroderma\" (\"dsyn\"))\n     (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n     (29435 \"Osteolysis\" (\"patf\"))\n     (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n     (36429 \"Sclerosis\" (\"patf\"))\n     (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n     (36974 \"Shock\" (\"patf\"))\n     (7095 \"Carcinoid Tumor\" (\"neop\"))\n     (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n     (86565 \"Liver Dysfunction\" (\"patf\"))\n     (7095 \"Carcinoid Tumor\" (\"neop\"))\n     (15230 \"Exanthema\" (\"dsyn\"))\n     (151654 \"Myocardial fibrosis\" (\"patf\"))\n     (15230 \"Exanthema\" (\"dsyn\"))\n     (7097 \"Carcinoma\" (\"neop\"))\n     (15624 \"Fanconi Syndrome\" (\"dsyn\"))\n     (151746 \"Abnormal renal function\" (\"patf\"))\n     (17152 \"Gastritis\" (\"dsyn\"))\n     (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n     (17658 \"Glomerulonephritis\" (\"dsyn\"))\n     (151746 \"Abnormal renal function\" (\"patf\"))\n     (7114 \"Malignant neoplasm of skin\" (\"neop\"))\n     (18801 \"Heart failure\" (\"dsyn\"))\n     (231178 \"Chronic failure\" (\"patf\"))\n     (19196 \"Hepatitis C\" (\"dsyn\"))\n     (20456 \"Hyperglycemia\" (\"dsyn\"))\n     (20538 \"Hypertensive disease\" (\"dsyn\"))\n     (21141 \"Inappropriate ADH Syndrome\" (\"dsyn\"))\n     (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n     (22658 \"Kidney Diseases\" (\"dsyn\"))\n     (23882 \"Little's Disease\" (\"dsyn\"))\n     (23890 \"Liver Cirrhosis\" (\"dsyn\"))\n     (9404 \"Colorectal Neoplasms\" (\"neop\"))\n     (24115 \"Lung diseases\" (\"dsyn\"))\n     (333606 \"Dystrophy\" (\"patf\"))\n     (24440 \"Macular Edema, Cystoid\" (\"dsyn\"))\n     (443146 \"Autoimmune\" (\"patf\"))\n     (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n     (27697 \"Nephritis\" (\"dsyn\"))\n     (549593 \"kidney functional\" (\"patf\"))\n     (27947 \"Neutropenia\" (\"dsyn\"))\n     (16048 \"Fibromatosis\" (\"neop\"))\n     (33838 \"Kimura Disease\" (\"dsyn\"))\n     (33860 \"Psoriasis\" (\"dsyn\"))\n     (34063 \"Pulmonary Edema\" (\"dsyn\"))\n     (744813 \"Hepatic embolisation\" (\"patf\"))\n     (35309 \"Retinal Diseases\" (\"dsyn\"))\n     (879626 \"Adverse effects\" (\"patf\"))\n     (35920 \"Rubella\" (\"dsyn\"))\n     (879626 \"Adverse effects\" (\"patf\"))\n     (18923 \"Hemangiosarcoma\" (\"neop\"))\n     (36992 \"Short Bowel Syndrome\" (\"dsyn\"))\n     (1265815 \"Multiple ulcers\" (\"patf\"))\n     (38013 \"Ankylosing spondylitis\" (\"dsyn\"))\n     (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n     (1608322 \"Leak NOS\" (\"patf\"))\n     (39103 \"Synovitis\" (\"dsyn\"))\n     (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n     (41296 \"Tuberculosis\" (\"dsyn\"))\n     (85786 \"Hamman-Rich syndrome\" (\"dsyn\"))\n     (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n     (86438 \"Hypogammaglobulinemia\" (\"dsyn\"))\n     (151859 \"Polyserositis\" (\"dsyn\"))\n     (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n     (158168 \"Villonodular synovitis\" (\"dsyn\"))\n     (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n     (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n     (206062 \"Lung Diseases, Interstitial\" (\"dsyn\"))\n     (206143 \"Loeffler's Endocarditis\" (\"dsyn\"))\n     (236178 \"Intraabdominal hemorrhage\" (\"dsyn\"))\n     (238644 \"anemia; profound\" (\"dsyn\"))\n     (238790 \"destruction; bone\" (\"dsyn\"))\n     (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n     (263664 \"Generalized morphea\" (\"dsyn\"))\n     (264939 \"Systemic vasculitis\" (\"dsyn\"))\n     (23475 \"Leukemia, Myeloid, Philadelphia-Negative\" (\"neop\"))\n     (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n     (276653 \"Invasive pulmonary aspergillosis\" (\"dsyn\"))\n     (277554 \"Primary disease\" (\"dsyn\"))\n     (277556 \"Recurrent disease\" (\"dsyn\"))\n     (334102 \"Lymphangiomatosis\" (\"dsyn\"))\n     (23484 \"Leukemia, Plasmacytic\" (\"neop\"))\n     (340548 \"Pulmonary capillary hemangiomatosis\" (\"dsyn\"))\n     (23601 \"Leydig Cell Tumor\" (\"neop\"))\n     (341213 \"External gastric fistula\" (\"dsyn\"))\n     (24301 \"Lymphoma, Follicular\" (\"neop\"))\n     (341439 \"Chronic liver disease NOS\" (\"dsyn\"))\n     (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n     (442867 \"Malignant disease\" (\"dsyn\"))\n     (549567 \"Pigmentation Disorders\" (\"dsyn\"))\n     (678236 \"Rare Diseases\" (\"dsyn\"))\n     (743496 \"END ORGAN DAMAGE\" (\"dsyn\"))\n     (25286 \"meningioma\" (\"neop\"))\n     (25500 \"Mesothelioma\" (\"neop\"))\n     (854467 \"Myelosuppression\" (\"dsyn\"))\n     (26764 \"Multiple Myeloma\" (\"neop\"))\n     (855227 \"Purging\" (\"dsyn\"))\n     (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n     (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n     (878544 \"Cardiomyopathies\" (\"dsyn\"))\n     (920627 \"Orphan Diseases\" (\"dsyn\"))\n     (948008 \"Ischemic stroke\" (\"dsyn\"))\n     (948908 \"Nephrotoxic serum nephritis\" (\"dsyn\"))\n     (1273070 \"Left ventricular diastolic dysfunction\" (\"dsyn\"))\n     (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n     (27832 \"Neurofibromatosis 2\" (\"neop\"))\n     (1299884 \"Eosinophilic myositis\" (\"dsyn\"))\n     (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n     (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n     (1332309 \"Anti-Basement Membrane Glomerulonephritis\" (\"dsyn\"))\n     (1533022 \"Histiocytic proliferation\" (\"dsyn\"))\n     (1565489 \"Renal Insufficiency\" (\"dsyn\"))\n     (36221 \"Mast-Cell Sarcoma\" (\"neop\"))\n     (41341 \"Tuberous Sclerosis\" (\"neop\"))\n     (79731 \"B-Cell Lymphomas\" (\"neop\"))\n     (79772 \"T-Cell Lymphoma\" (\"neop\"))\n     (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n     (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n     (162678 \"Neurofibromatoses\" (\"neop\"))\n     (205853 \"Neoplasms, Epithelial\" (\"neop\"))\n     (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n     (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n     (206657 \"Sarcoma, Alveolar Soft Part\" (\"neop\"))\n     (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n     (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n     (220650 \"Metastatic malignant neoplasm to brain\" (\"neop\"))\n     (238463 \"Papillary thyroid carcinoma\" (\"neop\"))\n     (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n     (278517 \"Non-small cell lung cancer recurrent\" (\"neop\"))\n     (278695 \"recurrent neuroblastoma\" (\"neop\"))\n     (278704 \"Malignant Childhood Neoplasm\" (\"neop\"))\n     (278727 \"Small cell lung cancer recurrent\" (\"neop\"))\n     (279068 \"childhood solid tumor\" (\"neop\"))\n     (279087 \"recurrent Kaposi's sarcoma\" (\"neop\"))\n     (281361 \"Adenocarcinoma pancreas\" (\"neop\"))\n     (302592 \"Cervix carcinoma\" (\"neop\"))\n     (302592 \"Cervix carcinoma\" (\"neop\"))\n     (334410 \"Leydig cell tumor, malignant\" (\"neop\"))\n     (334695 \"Endometrial Stromal Tumors\" (\"neop\"))\n     (349636 \"Pre B-cell acute lymphoblastic leukemia\" (\"neop\"))\n     (553580 \"Ewings sarcoma\" (\"neop\"))\n     (677865 \"Brain stem glioma\" (\"neop\"))\n     (677865 \"Brain stem glioma\" (\"neop\"))\n     (685938 \"Malignant neoplasm of gastrointestinal tract\" (\"neop\"))\n     (686619 \"Secondary malignant neoplasm of lymph node\" (\"neop\"))\n     (854850 \"Mycosis fungoides refractory\" (\"neop\"))\n     (855054 \"Fibrosarcoma metastatic\" (\"neop\"))\n     (855211 \"Seminoma of testis\" (\"neop\"))\n     (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n     (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n     (1266042 \"Chromophobe Renal Cell Carcinoma\" (\"neop\"))\n     (1266101 \"Thymic epithelial neoplasm\" (\"neop\"))\n     (1266119 \"Solitary fibrous tumor\" (\"neop\"))\n     (1266120 \"Solitary fibrous tumor, malignant\" (\"neop\"))\n     (1300127 \"Perivascular epithelial cell tumor\" (\"neop\"))\n     (1306837 \"Papillary Renal Cell Carcinoma\" (\"neop\"))\n     (1318543 \"Tenosynovial giant cell tumor\" (\"neop\"))\n     (1319185 \"Chiasmal glioma\" (\"neop\"))\n     (1326912 \"Tumorigenesis\" (\"neop\"))\n     (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n     (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n     (1332884 \"Central Nervous System Leukemia\" (\"neop\"))\n     (1333614 \"Fibrosarcomatous Dermatofibrosarcoma Protuberans\" (\"neop\"))\n     (1334432 \"Low Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n     (1335996 \"Small Intestinal Gastrointestinal Stromal Tumor\" (\"neop\"))\n     (1378050 \"Oncocytic Neoplasm\" (\"neop\"))\n     (1411997 \"Acute biphenotypic leukemia\" (\"neop\"))\n     (1512409 \"Hepatocarcinogenesis\" (\"neop\"))\n     (1524028 \"Intraepithelial Neoplasia of the Mouse Mammary Gland\" (\"neop\"))\n     (3864 \"Arthritis\" (\"dsyn\"))\n     (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n     (1418 \"Adenocarcinoma\" (\"neop\"))\n     (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n     (6272 \"Bronchiolitis Obliterans\" (\"dsyn\"))\n     (9782 \"Connective Tissue Diseases\" (\"dsyn\"))\n     (10828 \"Cytopenia\" (\"patf\"))\n     (11603 \"Dermatitis\" (\"dsyn\"))\n     (11633 \"Dermatomyositis\" (\"dsyn\"))\n     (242656 \"Disease Progression\" (\"patf\"))\n     (14457 \"Eosinophilia\" (\"dsyn\"))\n     (14457 \"Eosinophilia\" (\"dsyn\"))\n     (242656 \"Disease Progression\" (\"patf\"))\n     (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n     (7102 \"Malignant tumor of colon\" (\"neop\"))\n     (19618 \"Histiocytosis\" (\"dsyn\"))\n     (243083 \"associated disease\" (\"patf\"))\n     (19621 \"Histiocytosis, Langerhans-Cell\" (\"dsyn\"))\n     (7115 \"Malignant neoplasm of thyroid\" (\"neop\"))\n     (19624 \"Histiocytosis, Non-Langerhans-Cell\" (\"dsyn\"))\n     (277785 \"Functional disorder\" (\"patf\"))\n     (19625 \"Sinus histiocytosis\" (\"dsyn\"))\n     (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n     (21311 \"Infection\" (\"dsyn\"))\n     (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n     (399498 \"Oral lichenoid reaction\" (\"patf\"))\n     (24901 \"Mastocytosis, Diffuse Cutaneous\" (\"dsyn\"))\n     (26272 \"Mixed Connective Tissue Disease\" (\"dsyn\"))\n     (699748 \"Pathogenesis\" (\"patf\"))\n     (28754 \"Obesity\" (\"dsyn\"))\n     (7137 \"Squamous cell carcinoma\" (\"neop\"))\n     (31154 \"Peritonitis\" (\"dsyn\"))\n     (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n     (31763 \"Photosensitization\" (\"dsyn\"))\n     (7140 \"Carcinosarcoma\" (\"neop\"))\n     (32285 \"Pneumonia\" (\"dsyn\"))\n     (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n     (33687 \"Proteinuria\" (\"dsyn\"))\n     (7847 \"Malignant neoplasm of cervix uteri\" (\"neop\"))\n     (34069 \"Pulmonary Fibrosis\" (\"dsyn\"))\n     (34155 \"Purpura, Thrombotic Thrombocytopenic\" (\"dsyn\"))\n     (8479 \"Chondrosarcoma\" (\"neop\"))\n     (35435 \"Rheumatism\" (\"dsyn\"))\n     (8487 \"Chordoma\" (\"neop\"))\n     (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n     (8487 \"Chordoma\" (\"neop\"))\n     (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n     (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n     (39082 \"Syndrome\" (\"dsyn\"))\n     (39106 \"Pigmented villonodular synovitis\" (\"dsyn\"))\n     (40034 \"Thrombocytopenia\" (\"dsyn\"))\n     (42384 \"Vasculitis\" (\"dsyn\"))\n     (18206 \"granulosa cell tumor\" (\"neop\"))\n     (152171 \"Primary pulmonary hypertension\" (\"dsyn\"))\n     (162835 \"Hypopigmentation\" (\"dsyn\"))\n     (206061 \"Pneumonitis, Interstitial\" (\"dsyn\"))\n     (23435 \"Leukemia, B-Cell, Acute\" (\"neop\"))\n     (267437 \"Allergic diarrhea\" (\"dsyn\"))\n     (282548 \"Leukostasis\" (\"dsyn\"))\n     (339143 \"Thyroid associated opthalmopathies\" (\"dsyn\"))\n     (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n     (341697 \"Renal impairment\" (\"dsyn\"))\n     (745091 \"Hypereosinophilia\" (\"dsyn\"))\n     (745091 \"Hypereosinophilia\" (\"dsyn\"))\n     (23470 \"Myeloid Leukemia\" (\"neop\"))\n     (745283 \"INFECTIOUS PROCESS\" (\"dsyn\"))\n     (23470 \"Myeloid Leukemia\" (\"neop\"))\n     (748159 \"PULMONARY INVOLVEMENT\" (\"dsyn\"))\n     (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n     (836924 \"thrombocytosis\" (\"dsyn\"))\n     (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n     (949690 \"Spondylarthritis\" (\"dsyn\"))\n     (1112486 \"Aggressive Systemic Mastocytosis\" (\"dsyn\"))\n     (1136033 \"Cutaneous Mastocytosis\" (\"dsyn\"))\n     (1142420 \"Hepatitis B reactivation\" (\"dsyn\"))\n     (1261469 \"End stage renal failure\" (\"dsyn\"))\n     (23479 \"Leukemia, Myelomonocytic, Acute\" (\"neop\"))\n     (1279945 \"Acute interstitial pneumonia\" (\"dsyn\"))\n     (1368107 \"Aplastic bone marrow\" (\"dsyn\"))\n     (1619734 \"Pulmonary arterial hypertension\" (\"dsyn\"))\n     (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n     (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n     (23494 \"Leukemia, T-Cell, Chronic\" (\"neop\"))\n     (23827 \"liposarcoma\" (\"neop\"))\n     (26987 \"Myelofibrosis\" (\"neop\"))\n     (29925 \"Ovarian Carcinoma\" (\"neop\"))\n     (29925 \"Ovarian Carcinoma\" (\"neop\"))\n     (32463 \"Polycythemia Vera\" (\"neop\"))\n     (32463 \"Polycythemia Vera\" (\"neop\"))\n     (35412 \"Rhabdomyosarcoma\" (\"neop\"))\n     (36220 \"Kaposi Sarcoma\" (\"neop\"))\n     (36631 \"Seminoma\" (\"neop\"))\n     (39101 \"synovial sarcoma\" (\"neop\"))\n     (40100 \"Thymoma\" (\"neop\"))\n     (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n     (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n     (151779 \"[X]Malignant melanoma of skin, unspecified\" (\"neop\"))\n     (205851 \"Germ cell tumor\" (\"neop\"))\n     (205969 \"Thymic Carcinoma\" (\"neop\"))\n     (205969 \"Thymic Carcinoma\" (\"neop\"))\n     (206630 \"Endometrial Stromal Sarcoma\" (\"neop\"))\n     (206693 \"Medullary carcinoma\" (\"neop\"))\n     (206698 \"Cholangiocarcinoma\" (\"neop\"))\n     (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n     (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n     (276535 \"AIDS with Kaposi's sarcoma\" (\"neop\"))\n     (278488 \"Breast cancer metastatic\" (\"neop\"))\n     (278488 \"Breast cancer metastatic\" (\"neop\"))\n     (278678 \"Metastatic renal cell carcinoma\" (\"neop\"))\n     (278694 \"Disseminated neuroblastoma\" (\"neop\"))\n     (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n     (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n     (278883 \"Metastatic melanoma\" (\"neop\"))\n     (278883 \"Metastatic melanoma\" (\"neop\"))\n     (279549\n      \"Philadelphia chromosome negative chronic myelogenous leukemia\"\n      (\"neop\"))\n     (280449 \"secondary acute myeloid leukemia\" (\"neop\"))\n     (334664 \"Mast Cell Neoplasm\" (\"neop\"))\n     (338113 \"Uterine Corpus Sarcoma\" (\"neop\"))\n     (341823 \"Epithelial tumor of ovary\" (\"neop\"))\n     (345967 \"Malignant mesothelioma\" (\"neop\"))\n     (345967 \"Malignant mesothelioma\" (\"neop\"))\n     (346421 \"Chronic eosinophilic leukemia\" (\"neop\"))\n     (346976 \"Secondary malignant neoplasm of pancreas\" (\"neop\"))\n     (349640 \"[M]Subacute myeloid leukemia\" (\"neop\"))\n     (431109 \"Choroid Plexus Carcinoma\" (\"neop\"))\n     (476089 \"Endometrial Carcinoma\" (\"neop\"))\n     (476089 \"Endometrial Carcinoma\" (\"neop\"))\n     (521158 \"Recurrent tumor\" (\"neop\"))\n     (543478 \"Residual Tumor\" (\"neop\"))\n     (543478 \"Residual Tumor\" (\"neop\"))\n     (549379 \"Recurrent Carcinoma\" (\"neop\"))\n     (598798 \"Lymphoid neoplasm\" (\"neop\"))\n     (598934 \"tumor growth\" (\"neop\"))\n     (677936 \"Refractory Carcinoma\" (\"neop\"))\n     (699889 \"Female reproductive neoplasm malignant NOS\" (\"neop\"))\n     (740267 \"Ocular melanomas\" (\"neop\"))\n     (740277 \"Bile duct carcinoma\" (\"neop\"))\n     (743535 \"EOSINOPHILIC GRANULOMATOSIS\" (\"neop\"))\n     (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n     (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n     (812413 \"Malignant Pleural Mesothelioma\" (\"neop\"))\n     (855013 \"Chondrosarcoma recurrent\" (\"neop\"))\n     (936223 \"Prostate cancer metastatic\" (\"neop\"))\n     (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n     (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n     (1327920 \"childhood chronic myelogenous leukemia\" (\"neop\"))\n     (1333768 \"Gastric Gastrointestinal Stromal Tumor\" (\"neop\"))\n     (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n     (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n     (1334699 \"Mesenchymal Cell Neoplasm\" (\"neop\"))\n     (1335711 \"Recurrent Mature T- and NK-Cell Non-Hodgkin's Lymphoma\" (\"neop\"))\n     (1335713 \"Recurrent Meningioma\" (\"neop\"))\n     (1335729 \"Refractory Neoplasm\" (\"neop\"))\n     (1336746 \"Thymus Carcinoid Tumor\" (\"neop\"))\n     (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n     (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n     (235063 \"Respiratory Depression\" (\"patf\"))\n     (679222 \"functional insufficiency\" (\"patf\"))\n     (12634 \"Disease\" (\"dsyn\"))\n     (1815 \"Primary Myelofibrosis\" (\"neop\"))\n     (12634 \"Disease\" (\"dsyn\"))\n     (9566 \"Complication\" (\"patf\"))\n     (24228 \"Lymphatic Diseases\" (\"dsyn\"))\n     (24899 \"mastocytosis\" (\"dsyn\"))\n     (20517 \"Hypersensitivity\" (\"patf\"))\n     (37354 \"Smallpox\" (\"dsyn\"))\n     (28778 \"Obstruction\" (\"patf\"))\n     (221013 \"Mastocytosis, Systemic\" (\"dsyn\"))\n     (1318485 \"Liver regeneration disorder\" (\"dsyn\"))\n     (242184 \"Hypoxia\" (\"patf\"))\n     (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n     (456070 \"Growth delay\" (\"patf\"))\n     (17638 \"Glioma\" (\"neop\"))\n     (19829 \"Hodgkin Disease\" (\"neop\"))\n     (23269 \"leiomyosarcoma\" (\"neop\"))\n     (23269 \"leiomyosarcoma\" (\"neop\"))\n     (23453 \"Leukemia, Lymphocytic, Acute, L2\" (\"neop\"))\n     (23476 \"Leukemia, Myeloid, Philadelphia-Positive\" (\"neop\"))\n     (23480 \"Leukemia, Myelomonocytic, Chronic\" (\"neop\"))\n     (23481 \"Leukemia, Neutrophilic, Chronic\" (\"neop\"))\n     (27022 \"Myeloproliferative disease\" (\"neop\"))\n     (27819 \"Neuroblastoma\" (\"neop\"))\n     (29463 \"osteosarcoma\" (\"neop\"))\n     (85136 \"Central Nervous System Neoplasms\" (\"neop\"))\n     (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n     (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n     (152018 \"Esophageal carcinoma\" (\"neop\"))\n     (178874 \"Neoplasm progression\" (\"neop\"))\n     (206093 \"Neuroectodermal Tumors\" (\"neop\"))\n     (235974 \"Pancreatic carcinoma\" (\"neop\"))\n     (235974 \"Pancreatic carcinoma\" (\"neop\"))\n     (238461 \"Anaplastic thyroid carcinoma\" (\"neop\"))\n     (238462 \"Medullary carcinoma of thyroid\" (\"neop\"))\n     (278726 \"Small cell lung cancer extensive stage\" (\"neop\"))\n     (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n     (376545 \"Hematologic Neoplasms\" (\"neop\"))\n     (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n     (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n     (555198 \"Malignant Glioma\" (\"neop\"))\n     (677930 \"Primary Neoplasm\" (\"neop\"))\n     (699791 \"Stomach Carcinoma\" (\"neop\"))\n     (750952 \"Biliary Tract Cancer\" (\"neop\"))\n     (751606 \"Adult Acute Lymphocytic Leukemia\" (\"neop\"))\n     (860582 \"Peritoneal metastases\" (\"neop\"))\n     (877373 \"Advanced cancer\" (\"neop\"))\n     (879615 \"Stromal Neoplasm\" (\"neop\"))\n     (887833 \"Carcinoma, Pancreatic Ductal\" (\"neop\"))\n     (920028 \"Leukaemia recurrent\" (\"neop\"))\n     (1266137 \"Gastrointestinal stromal sarcoma\" (\"neop\"))\n     (1279296 \"Chronic leukemia (category)\" (\"neop\"))\n     (1370868 \"refractory CML\" (\"neop\"))\n     (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n     (8679 \"Chronic Disease\" (\"dsyn\"))\n     (5699 \"Blast Phase\" (\"neop\"))\n     (11847 \"Diabetes\" (\"dsyn\"))\n     (16059 \"Fibrosis\" (\"patf\"))\n     (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n     (6826 \"Malignant Neoplasms\" (\"neop\"))\n     (37274 \"skin disorder\" (\"dsyn\"))\n     (21655 \"Insulin Resistance\" (\"patf\"))\n     (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n     (6826 \"Malignant Neoplasms\" (\"neop\"))\n     (878773 \"Overactive Bladder\" (\"dsyn\"))\n     (332448 \"Infiltration\" (\"patf\"))\n     (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n     (7129 \"Merkel cell carcinoma\" (\"neop\"))\n     (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n     (920563 \"insulin sensitivity\" (\"patf\"))\n     (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n     (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n     (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n     (17636 \"Glioblastoma\" (\"neop\"))\n     (23418 \"leukemia\" (\"neop\"))\n     (23418 \"leukemia\" (\"neop\"))\n     (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n     (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n     (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n     (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n     (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n     (24221 \"Lymphangioma\" (\"neop\"))\n     (25149 \"medulloblastoma\" (\"neop\"))\n     (25202 \"melanoma\" (\"neop\"))\n     (26948 \"Mycosis Fungoides\" (\"neop\"))\n     (27627 \"Neoplasm Metastasis\" (\"neop\"))\n     (27651 \"Neoplasm\" (\"neop\"))\n     (27831 \"Neurofibromatosis 1\" (\"neop\"))\n     (27859 \"Acoustic Neuroma\" (\"neop\"))\n     (35335 \"Retinoblastoma\" (\"neop\"))\n     (85669 \"Acute leukemia\" (\"neop\"))\n     (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n     (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n     (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n     (220633 \"Intraocular melanoma\" (\"neop\"))\n     (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n     (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n     (242596 \"Neoplasm, Residual\" (\"neop\"))\n     (279543\n      \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n      (\"neop\"))\n     (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n     (280100 \"Solid tumor\" (\"neop\"))\n     (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n     (334569 \"Odontogenic myxoma\" (\"neop\"))\n     (346429 \"Multiple malignancy\" (\"neop\"))\n     (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n     (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n     (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n     (1261473 \"sarcoma\" (\"neop\"))\n     (1261473 \"sarcoma\" (\"neop\"))\n     (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n     (1370723 \"Stromal sarcoma\" (\"neop\")))))\n;;\n;; *final-disease-candidates*\n;;\n;; The disease candidates produced.\n;;\n;; Of particular interest to us is:\n;;\n;; (4096 \"Asthma\" (\"dsyn\"))\n;;\n;; The 111 answers include\n;;\n;; (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n;;\n;; since SemMedDB doesn't \"know\" that\n;; \n#|\n'((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\")))\n|#\n\n(displayln\n  \"Finished loading final disease cnadidates\")\n\n\n;; Combine two of the queries: which of the Diseases or Syndromes or\n;; Neoplastic Processes or Pathologic Functions directly treated by\n;; imatinib synonyms are *directly* caused by the genes directly\n;; inhibited by the imatinib synonyms?\n;;\n;; Run this by calling (combine-two-query)\n;;\n(define (combine-two-query)\n  (map\n   (lambda (drug)\n     (let ((diseases (run* (q)\n                       (fresh (disease e-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest\n                                       gene e-drug/gene p-st-drug/gene e-drug/gene-rest\n                                       e-gene/disease st-gene/disease ot-gene/disease e-gene/disease-rest)\n                         (== disease q)\n                         (conde\n                           [(== \"dsyn\" p-ob-drug/disease)]\n                           [(== \"neop\" p-ob-drug/disease)]\n                           [(== \"patf\" p-ob-drug/disease)])\n                         (== `(,drug ,disease \"TREATS\" ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                         (== `(,drug ,gene \"INHIBITS\" ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                         (== `(,gene ,disease \"CAUSES\" ,st-gene/disease ,ot-gene/disease . ,e-gene/disease-rest) e-gene/disease)\n                         (edgeo e-drug/disease)\n                         (edgeo e-drug/gene)\n                         (edgeo e-gene/disease)))))\n       (list (length (rem-dups diseases)) drug)))\n   '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n     (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n     (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n     (906802 \"STI571\" (\"phsu\" \"orch\"))\n     (935987 \"Gleevec\" (\"orch\" \"phsu\")))))\n\n(displayln\n  \"Finished loading combine-two-queries\")\n\n\n;; 286 genes are directly inhibited by some synonym for imitinib\n(let ((all-genes\n       (map\n        (lambda (drug)\n          (let ((genes (run* (q)\n                         (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                           (== gene q)                \n                           (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                           (== \"INHIBITS\" p-drug/gene)\n                           (edgeo e-drug/gene)\n                           (fresh (cui name concept-type*)\n                             (== `(,cui ,name ,concept-type*) gene)\n                             (membero \"gngm\" concept-type*))))))\n            (rem-dups genes)))\n        '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n          (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n          (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n          (906802 \"STI571\" (\"phsu\" \"orch\"))\n          (935987 \"Gleevec\" (\"orch\" \"phsu\"))))))\n  (length (apply union* all-genes)))\n;; =>\n;; 286\n\n\n;; Once we have decided that asthma is a disease of interest, we might\n;; want to see the paths between the 47 genes of interest (including\n;; KIT and C-KIT) and the asthma.\n;;\n;; Query takes 2 minutes on a laptop, single-threaded.  We should be\n;; able to speed this up.\n;;\n;; The only specifc gene that is indirectly linked to asthma through\n;; mast cell activation (as opposed to signal transduction, which\n;; seems less specific) is KIT, through this chain:\n;;\n;;    (((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;;      (1155074 \"mast cell activation\" (\"celf\"))\n;;      \"CAUSES\"\n;;      \"gngm\"\n;;      \"celf\"\n;;      (12373338))\n;;     ((1155074 \"mast cell activation\" (\"celf\"))\n;;      (4096 \"Asthma\" (\"dsyn\"))\n;;      \"AFFECTS\"\n;;      \"celf\"\n;;      \"dsyn\"\n;;      (18209484 10352758))\n;;     ((4096 \"Asthma\" (\"dsyn\"))\n;;      (1155074 \"mast cell activation\" (\"celf\"))\n;;      \"MANIFESTATION_OF\"\n;;      \"dsyn\"\n;;      \"celf\"\n;;      (2741114)))\n;;\n;; The numbers 12373338, 18209484, 10352758, 2741114 can be turned\n;; into PubMed URLs.  For example, the URL for 12373338 is:\n;;\n;; https://www.ncbi.nlm.nih.gov/pubmed/12373338\n;;\n;; We can then focus on KIT to get the full chain from Gleevec/imatinib\n;; and asthma.  Obviously thi can be automated, and composing the queries\n;; (or the cached answers from sub-queries) is straight-forward.\n;;\n;; Run this by calling (paths-of-interest)\n;;\n(define (paths-of-interest)\n  (map\n   (lambda (gene)\n     (let ((disorders\n            (run* (q)\n              (fresh (e1 e2 e3 celf disorder disorder-type rest1 rest2 rest3)\n                (== (list e1 e2 e3) q)\n                (fuzzy-concepto \"asthma\" disorder)\n                (conde\n                  [(== \"dsyn\" disorder-type)]\n                  [(== \"neop\" disorder-type)]\n                  [(== \"patf\" disorder-type)])\n                (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n                (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n                (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n                (edgeo e1)\n                (edgeo e3)\n                (edgeo e2)))))\n       (let ((disorders (rem-dups disorders)))\n         disorders)))\n   '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n     (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n     (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n     (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n     (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n     (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n     (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n     (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n     (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n     (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n     (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n     (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n     (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n     (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n     (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n     (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n     (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n     (290068\n      \"Platelet-Derived Growth Factor beta Receptor\"\n      (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n     (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n     (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n     (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n     (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n     (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n     (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n     (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n     (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n     (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n     (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n     (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n     (80092\n      \"Macrophage Colony-Stimulating Factor Receptor\"\n      (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n     (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n     (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n     (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n     (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n     (290067\n      \"Platelet-Derived Growth Factor alpha Receptor\"\n      (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n     (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n     (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n     (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n     (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n     (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n     (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n     (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n     (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n     (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n     (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n     (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n     (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")))))\n;; =>\n;; cpu time: 127629 real time: 128505 gc time: 1446\n#|\n'(()\n  ((((919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (24564241 1281217))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (26467500))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (24188406\n      24188406\n      22841885\n      22841885\n      21978835\n      21978835\n      20597478\n      20597478\n      18256384\n      12176746\n      12176746))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (23340802 23340802))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ()\n  ()\n  ((((915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (16789903 11409908 7835966))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (26758977 25633229))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22262845\n      19170657\n      19048108\n      17503113\n      15163542\n      14620151\n      14580993\n      12949238\n      12482196\n      12482196\n      12324469\n      9450748))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (25539676 16461989))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114))))\n  ((((33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22357971 19290922 18492778 16790031 16790031 16415076))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (17426060 12035499 7882988))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (23222563))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (26023679\n      24850739\n      23682925\n      23660250\n      22498774\n      22319212\n      21601104\n      20036637\n      17203870\n      15180972\n      15180972\n      15053611\n      12670482\n      12477288\n      12194978\n      12112690\n      11175815\n      11073315\n      9676989\n      8616803\n      7902881))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (12393403))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114))))\n  ((((246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22095643 16883913 16557224 8619925))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((290068\n      \"Platelet-Derived Growth Factor beta Receptor\"\n      (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (15650217 15590688 9916027))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (23222563 14505491 12960248))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ()\n  ()\n  ()\n  ()\n  ()\n  ()\n  ()\n  ()\n  ((((1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (9517496))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((80092\n      \"Macrophage Colony-Stimulating Factor Receptor\"\n      (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (27224507))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (23103565 19711112 19458196 17956356 7802667 2783138))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (24743893\n      20806817\n      17118962\n      16727886\n      15176971\n      13678963\n      11916364\n      11912280\n      11802165\n      9627110\n      9047384\n      7784069\n      7537742))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ()\n  ((((812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22885698 15887041 15494014 15494014 11406357 11406357))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (27904762\n      27479325\n      27194789\n      26748340\n      26283964\n      26198787\n      26001588\n      25954136\n      25522385\n      25457352\n      25250214\n      24987288\n      24847082\n      24404331\n      24098092\n      23380704\n      22310710\n      22132325\n      22014238\n      21824992\n      21291419\n      21050922\n      20505987\n      20003820\n      19888967\n      19465516\n      19348466\n      19203114\n      19001047\n      18952824\n      18380671\n      18367502\n      17920519\n      17632123\n      17485341\n      17466390\n      17373355\n      17355284\n      17303405\n      17254012\n      16956790\n      16956790\n      16371473\n      15827888\n      15795223\n      15583862\n      15356058\n      14731813\n      14731813\n      12919066\n      12110144\n      11544033\n      10917832\n      10859220\n      10762594\n      10629036\n      10533704\n      10374695\n      9842573\n      9380811\n      9136757\n      8875430\n      7669492\n      7532590\n      7512770\n      1326354\n      1323348))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (27994757\n      26852687\n      25367076\n      24931696\n      23979726\n      23862981\n      22002603\n      21848862\n      21629734\n      20159963\n      19636563\n      17408432\n      12881713\n      11896598\n      11491654\n      11280802\n      11049052\n      1840317\n      1838150))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (20956018))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114))))\n  ()\n  ()\n  ()\n  ((((79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (17230190 15735964))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (25534229 20926645 19717519 10347231))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (18538998))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (12373338))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114)))))\n|#\n\n(displayln\n  \"Finished loading paths-of-interest\")\n\n\n;; Genes inhibited by Gleevec\n;;\n;; Of the 52 results, at least a few appear to be classes of genes\n;; rather than specific genes:\n;;\n;; (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n;; (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n;; (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n;; (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n;; (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n;; (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n;; (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n;; (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n;; (80298 \"v-src Oncogenes\" (\"gngm\" \"aapp\" \"enzy\" \"aapp\" \"gngm\" \"bacs\"))\n;; (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n;; (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n;;\n;; Of course, is something like (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n;; even considered a gene class?\n;;\n;; Oh wow--I had missed the first one of the c-kit names before!\n;; So there are actually three synonyms, not two.\n;;\n;; (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n;; (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n;; (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;;\n;; So, of the 52 results, ~10 are actually categories rather\n;; than specific genes.  Of the remaining ~40 specific genes, 3 of\n;; them are synonyms/aliases for KIT.\n;; \n(time (rem-dups\n       (run* (q)\n         (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)          \n           (== gene q)          \n           (== '(935987 \"Gleevec\" (\"orch\" \"phsu\")) drug)\n           (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n           (== \"INHIBITS\" p-drug/gene)\n           (edgeo e-drug/gene)\n           (fresh (cui name concept-type*)\n             (== `(,cui ,name ,concept-type*) gene)\n             (membero \"gngm\" concept-type*))))))\n;; =>\n#|\n'((2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n  (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n  (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n  (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n  (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n  (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n  (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n  (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n  (65344\n   \"Lymphocyte Specific Protein Tyrosine Kinase p56(lck)\"\n   (\"aapp\" \"gngm\" \"enzy\"))\n  (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n  (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n  (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n  (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n  (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n  (80298 \"v-src Oncogenes\" (\"gngm\" \"aapp\" \"enzy\" \"aapp\" \"gngm\" \"bacs\"))\n  (80092\n   \"Macrophage Colony-Stimulating Factor Receptor\"\n   (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n  (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n  (138965 \"protein-tyrosine kinase c-src\" (\"gngm\" \"aapp\" \"enzy\"))\n  (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n  (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n  (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n  (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n  (287666 \"Rad51 Recombinase\" (\"gngm\" \"aapp\" \"enzy\"))\n  (290067\n   \"Platelet-Derived Growth Factor alpha Receptor\"\n   (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n  (290068\n   \"Platelet-Derived Growth Factor beta Receptor\"\n   (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n  (390431 \"PDGF receptor tyrosine kinase\" (\"aapp\" \"gngm\"))\n  (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n  (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n  (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n  (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n  (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n  (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n  (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n  (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n  (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n  (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n  (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n  (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n  (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n  (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n  (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n  (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n  (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n  (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n  (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n  (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n  (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n  (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n  (1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n  (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n  (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n  (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\")))\n|#\n\n;; interesting! A direct *causal* link between KIT/C-KIT and asthma\n;; seems unknown.  So we are not just trying to connect a drug and\n;; disease, but also KIT and the disease.\n;;\n;; This does make sense, in that if such a direct connection were\n;; known, SemMedDB would probably have a direct link between imatinib\n;; and asthma.\n(map\n (lambda (gene)\n   (let ((disorders\n          (run* (q)\n            (fresh (e0 celf disorder pred disorder-type rest0)\n              (== e0 q)\n              (fuzzy-concepto \"asthma\" disorder)\n              (== `(,gene ,disorder ,pred \"gngm\" ,disorder-type . ,rest0) e0)\n              (edgeo e0)))))\n     (let ((disorders (rem-dups disorders)))\n       disorders)))\n '((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))))\n;; =>\n#|\n'(()\n  (((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n    (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n    \"ASSOCIATED_WITH\"\n    \"gngm\"\n    \"dsyn\"\n    (25337192 22505052)))\n  ())\n|#\n\n(displayln\n  \"Finished loading no causal relationship\")\n\n\n;; Here is a first attempt at pruning down the number of candidate\n;; diseases, removing only those diseases known to be treated by our\n;; specific drug of interest (Gleevec) rather than all forms of\n;; imatinib.\n;;\n;; We found not only asthma, but a strong suggestion that Gleevec\n;; might treat diabetes (something the query writer didn't know before\n;; looking at these answers).  It turns out that the connection\n;; between Gleevec and diabetes *is* known, but without using an\n;; ontology or other ways to connect concepts, not all\n;; diabetes-related entries were automatically removed.  Still, we\n;; think this is interesting, since the connection to diabletes that\n;; was discovered is *indirect*, and simulates the sort of discovery\n;; we would hope for in practice.\n;;\n;;\n;; Original comments follow:\n;;\n;;\n;; remove from the 154 disorders (no neoplasms or pathologic functions)\n;; of interest those 53 disorders, neoplasms, or pathologic functions\n;; directly treated by Gleevec\n;;\n;; result is 151 diseases, including the useless \"Disease\" and \"Syndrome\" and \"Degenerative disorder\",\n;; and including:\n;; * at least 4 entries for epilepsy\n;; * approximately 7 entries related to kidney/renal disease\n;; * approximately 9 entries related to diabetes\n;; etc.\n;;\n;; Seems like there are a number of groups of diseases within the 151\n;; diseases.  For example, diabetes is probably worth a look.\n;;\n;; And, of course, there is the 1 entry for asthma\n;;\n;; Wow!\n;;\n;; https://www.nbcnews.com/health/health-news/cancer-drug-gleevec-might-slow-type-1-diabetes-n771241\n;;\n;; https://www.medscape.com/viewarticle/882089\n;;\n;; http://www.ajmc.com/newsroom/scientists-find-accidental-cure-for-type-2-diabetes-imatinib\n;;\n;; March 29, 2016\n;;\n;; \"The cancer drug imatinib—marketed as Gleevec and known as a game-changer for conditions like chronic myeloid leukemia—may prove the same in type 2 diabetes (T2D), according to a study published recently in Diabetes.\"\n;;\n;;\n;; The article:\n;;\n;; http://diabetes.diabetesjournals.org/content/65/4/829\n;;\n;; Oh, SemMedDB does contain this information!  The list of diseases Gleevec treats includes:\n;;\n;; (11847 \"Diabetes\" (\"dsyn\"))\n;; (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n;;\n;; The problem, of course, is that without doing more reasoning using\n;; an ontology or external information, or maybe getting lucky with\n;; the ISA predicate, the query has no way of knowing that those 9\n;; diabetes-related entries are actually related to the entry\n;; (11847 \"Diabetes\" (\"dsyn\")).\n;;\n;; Still, I was pleased that *I* learned something from the query, and\n;; that the signal was quite strong after all of that filtering.\n;;\n;; So, with more resoning, perhaps using an ontology, we should be\n;; able to reduce the ~150 answers by removing (or at least ranking\n;; lower) answers related to the diseases we know Gleevec treats.\n;;\n;; Seems that the full story is a bit complicated.  There are papers\n;; indicating that imatinib/Gleevec treats diabetes in mouse models.\n;; At least one clinical trial on humans didn't seem to show\n;; improvement.\n(set-subtraction\n '((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\")))\n '((2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   (8679 \"Chronic Disease\" (\"dsyn\"))\n   (5699 \"Blast Phase\" (\"neop\"))\n   (11847 \"Diabetes\" (\"dsyn\"))\n   (16059 \"Fibrosis\" (\"patf\"))\n   (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n   (37274 \"skin disorder\" (\"dsyn\"))\n   (21655 \"Insulin Resistance\" (\"patf\"))\n   (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n   (6826 \"Malignant Neoplasms\" (\"neop\"))\n   (878773 \"Overactive Bladder\" (\"dsyn\"))\n   (332448 \"Infiltration\" (\"patf\"))\n   (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n   (7129 \"Merkel cell carcinoma\" (\"neop\"))\n   (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n   (920563 \"insulin sensitivity\" (\"patf\"))\n   (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n   (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n   (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n   (17636 \"Glioblastoma\" (\"neop\"))\n   (23418 \"leukemia\" (\"neop\"))\n   (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n   (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n   (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n   (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n   (24221 \"Lymphangioma\" (\"neop\"))\n   (25149 \"medulloblastoma\" (\"neop\"))\n   (25202 \"melanoma\" (\"neop\"))\n   (26948 \"Mycosis Fungoides\" (\"neop\"))\n   (27627 \"Neoplasm Metastasis\" (\"neop\"))\n   (27651 \"Neoplasm\" (\"neop\"))\n   (27831 \"Neurofibromatosis 1\" (\"neop\"))\n   (27859 \"Acoustic Neuroma\" (\"neop\"))\n   (35335 \"Retinoblastoma\" (\"neop\"))\n   (85669 \"Acute leukemia\" (\"neop\"))\n   (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n   (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n   (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n   (220633 \"Intraocular melanoma\" (\"neop\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   (242596 \"Neoplasm, Residual\" (\"neop\"))\n   (279543\n    \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n    (\"neop\"))\n   (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n   (280100 \"Solid tumor\" (\"neop\"))\n   (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n   (334569 \"Odontogenic myxoma\" (\"neop\"))\n   (346429 \"Multiple malignancy\" (\"neop\"))\n   (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n   (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n   (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n   (1261473 \"sarcoma\" (\"neop\"))\n   (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n   (1370723 \"Stromal sarcoma\" (\"neop\"))))\n;; =>\n#|\n'((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\")))\n|#\n\n;; Check that the gene (such as KIT) that causes a celf that affects a\n;; disorder is also know to directly cause that disorder?  Seems like\n;; this is a basic check we should do, to both increase confidence and\n;; perhaps reduce answers.\n;;\n;; Restrict the disease to \"dsyn\" or \"patf\", but not \"neop\" (since in\n;; the case of imatinib/Gleevec, we already know it treats cancer).\n;;\n;; Try across all 47 genes of interest.\n;;\n;; cpu time: 18586 real time: 18595 gc time: 286\n;;\n;; 93 answers\n;;\n;; includes (4096 \"Asthma\" (\"dsyn\")) and (11847 \"Diabetes\" (\"dsyn\"))\n;;\n;; run by typing (gene-causes-celf-affects-disorder)\n;;\n(define (gene-causes-celf-affects-disorder)\n  (apply\n   union*\n   (map\n    (lambda (gene)\n      (let ((disorders\n             (run* (q)\n               (fresh (e0 e1 e2 e3 celf disorder disorder-type rest0 rest1 rest2 rest3)\n                 (== disorder q)\n                 (conde\n                   [(== \"dsyn\" disorder-type)]\n                                        ; [(== \"neop\" disorder-type)]\n                   [(== \"patf\" disorder-type)])\n                 (== `(,gene ,disorder \"CAUSES\" \"gngm\" ,disorder-type . ,rest0) e0)\n                 (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n                 (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n                 (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n                 (edgeo e0)\n                 (edgeo e3)\n                 (edgeo e1)\n                 (edgeo e2)))))\n        (rem-dups disorders)))\n    '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n      (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n      (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n      (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n      (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n      (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n      (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n      (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n      (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n      (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n      (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n      (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n      (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n      (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n      (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n      (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n      (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n      (290068\n       \"Platelet-Derived Growth Factor beta Receptor\"\n       (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n      (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n      (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n      (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n      (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n      (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n      (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n      (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n      (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n      (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n      (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n      (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n      (80092\n       \"Macrophage Colony-Stimulating Factor Receptor\"\n       (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n      (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n      (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n      (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n      (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n      (290067\n       \"Platelet-Derived Growth Factor alpha Receptor\"\n       (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n      (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n      (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n      (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n      (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n      (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n      (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n      (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n      (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n      (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n      (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n      (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n      (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))))))\n;; =>\n#|\n'((7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (13604 \"Edema\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\")))\n|#\n\n;; Now, remove all the diseases that imatinib variants are known to treat.\n;;\n;; 52 left, including asthma\n(set-subtraction\n '((7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (13604 \"Edema\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\")))\n '((2871 \"Anemia\" (\"dsyn\"))\n  (2874 \"Aplastic Anemia\" (\"dsyn\"))\n  (2895 \"Sickle Cell Anemia\" (\"dsyn\"))\n  (3047 \"Animal Diseases\" (\"dsyn\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (5940 \"Bone Diseases\" (\"dsyn\"))\n  (18944 \"Hematoma\" (\"patf\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7682 \"CNS disorder\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (6118 \"Brain Neoplasms\" (\"neop\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (8728 \"Churg-Strauss Syndrome\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (10403 \"Cryoglobulinemia\" (\"dsyn\"))\n  (11644 \"Scleroderma\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (29435 \"Osteolysis\" (\"patf\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (36429 \"Sclerosis\" (\"patf\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (86565 \"Liver Dysfunction\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (151654 \"Myocardial fibrosis\" (\"patf\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (7097 \"Carcinoma\" (\"neop\"))\n  (15624 \"Fanconi Syndrome\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (7114 \"Malignant neoplasm of skin\" (\"neop\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (231178 \"Chronic failure\" (\"patf\"))\n  (19196 \"Hepatitis C\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (21141 \"Inappropriate ADH Syndrome\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\"))\n  (23890 \"Liver Cirrhosis\" (\"dsyn\"))\n  (9404 \"Colorectal Neoplasms\" (\"neop\"))\n  (24115 \"Lung diseases\" (\"dsyn\"))\n  (333606 \"Dystrophy\" (\"patf\"))\n  (24440 \"Macular Edema, Cystoid\" (\"dsyn\"))\n  (443146 \"Autoimmune\" (\"patf\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27697 \"Nephritis\" (\"dsyn\"))\n  (549593 \"kidney functional\" (\"patf\"))\n  (27947 \"Neutropenia\" (\"dsyn\"))\n  (16048 \"Fibromatosis\" (\"neop\"))\n  (33838 \"Kimura Disease\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (34063 \"Pulmonary Edema\" (\"dsyn\"))\n  (744813 \"Hepatic embolisation\" (\"patf\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (35920 \"Rubella\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (18923 \"Hemangiosarcoma\" (\"neop\"))\n  (36992 \"Short Bowel Syndrome\" (\"dsyn\"))\n  (1265815 \"Multiple ulcers\" (\"patf\"))\n  (38013 \"Ankylosing spondylitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (1608322 \"Leak NOS\" (\"patf\"))\n  (39103 \"Synovitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (85786 \"Hamman-Rich syndrome\" (\"dsyn\"))\n  (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n  (86438 \"Hypogammaglobulinemia\" (\"dsyn\"))\n  (151859 \"Polyserositis\" (\"dsyn\"))\n  (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n  (158168 \"Villonodular synovitis\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (206062 \"Lung Diseases, Interstitial\" (\"dsyn\"))\n  (206143 \"Loeffler's Endocarditis\" (\"dsyn\"))\n  (236178 \"Intraabdominal hemorrhage\" (\"dsyn\"))\n  (238644 \"anemia; profound\" (\"dsyn\"))\n  (238790 \"destruction; bone\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (263664 \"Generalized morphea\" (\"dsyn\"))\n  (264939 \"Systemic vasculitis\" (\"dsyn\"))\n  (23475 \"Leukemia, Myeloid, Philadelphia-Negative\" (\"neop\"))\n  (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n  (276653 \"Invasive pulmonary aspergillosis\" (\"dsyn\"))\n  (277554 \"Primary disease\" (\"dsyn\"))\n  (277556 \"Recurrent disease\" (\"dsyn\"))\n  (334102 \"Lymphangiomatosis\" (\"dsyn\"))\n  (23484 \"Leukemia, Plasmacytic\" (\"neop\"))\n  (340548 \"Pulmonary capillary hemangiomatosis\" (\"dsyn\"))\n  (23601 \"Leydig Cell Tumor\" (\"neop\"))\n  (341213 \"External gastric fistula\" (\"dsyn\"))\n  (24301 \"Lymphoma, Follicular\" (\"neop\"))\n  (341439 \"Chronic liver disease NOS\" (\"dsyn\"))\n  (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n  (442867 \"Malignant disease\" (\"dsyn\"))\n  (549567 \"Pigmentation Disorders\" (\"dsyn\"))\n  (678236 \"Rare Diseases\" (\"dsyn\"))\n  (743496 \"END ORGAN DAMAGE\" (\"dsyn\"))\n  (25286 \"meningioma\" (\"neop\"))\n  (25500 \"Mesothelioma\" (\"neop\"))\n  (854467 \"Myelosuppression\" (\"dsyn\"))\n  (26764 \"Multiple Myeloma\" (\"neop\"))\n  (855227 \"Purging\" (\"dsyn\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (920627 \"Orphan Diseases\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (948908 \"Nephrotoxic serum nephritis\" (\"dsyn\"))\n  (1273070 \"Left ventricular diastolic dysfunction\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (27832 \"Neurofibromatosis 2\" (\"neop\"))\n  (1299884 \"Eosinophilic myositis\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1332309 \"Anti-Basement Membrane Glomerulonephritis\" (\"dsyn\"))\n  (1533022 \"Histiocytic proliferation\" (\"dsyn\"))\n  (1565489 \"Renal Insufficiency\" (\"dsyn\"))\n  (36221 \"Mast-Cell Sarcoma\" (\"neop\"))\n  (41341 \"Tuberous Sclerosis\" (\"neop\"))\n  (79731 \"B-Cell Lymphomas\" (\"neop\"))\n  (79772 \"T-Cell Lymphoma\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (162678 \"Neurofibromatoses\" (\"neop\"))\n  (205853 \"Neoplasms, Epithelial\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206657 \"Sarcoma, Alveolar Soft Part\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (220650 \"Metastatic malignant neoplasm to brain\" (\"neop\"))\n  (238463 \"Papillary thyroid carcinoma\" (\"neop\"))\n  (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n  (278517 \"Non-small cell lung cancer recurrent\" (\"neop\"))\n  (278695 \"recurrent neuroblastoma\" (\"neop\"))\n  (278704 \"Malignant Childhood Neoplasm\" (\"neop\"))\n  (278727 \"Small cell lung cancer recurrent\" (\"neop\"))\n  (279068 \"childhood solid tumor\" (\"neop\"))\n  (279087 \"recurrent Kaposi's sarcoma\" (\"neop\"))\n  (281361 \"Adenocarcinoma pancreas\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (334410 \"Leydig cell tumor, malignant\" (\"neop\"))\n  (334695 \"Endometrial Stromal Tumors\" (\"neop\"))\n  (349636 \"Pre B-cell acute lymphoblastic leukemia\" (\"neop\"))\n  (553580 \"Ewings sarcoma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (685938 \"Malignant neoplasm of gastrointestinal tract\" (\"neop\"))\n  (686619 \"Secondary malignant neoplasm of lymph node\" (\"neop\"))\n  (854850 \"Mycosis fungoides refractory\" (\"neop\"))\n  (855054 \"Fibrosarcoma metastatic\" (\"neop\"))\n  (855211 \"Seminoma of testis\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (1266042 \"Chromophobe Renal Cell Carcinoma\" (\"neop\"))\n  (1266101 \"Thymic epithelial neoplasm\" (\"neop\"))\n  (1266119 \"Solitary fibrous tumor\" (\"neop\"))\n  (1266120 \"Solitary fibrous tumor, malignant\" (\"neop\"))\n  (1300127 \"Perivascular epithelial cell tumor\" (\"neop\"))\n  (1306837 \"Papillary Renal Cell Carcinoma\" (\"neop\"))\n  (1318543 \"Tenosynovial giant cell tumor\" (\"neop\"))\n  (1319185 \"Chiasmal glioma\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1332884 \"Central Nervous System Leukemia\" (\"neop\"))\n  (1333614 \"Fibrosarcomatous Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (1334432 \"Low Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1335996 \"Small Intestinal Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1378050 \"Oncocytic Neoplasm\" (\"neop\"))\n  (1411997 \"Acute biphenotypic leukemia\" (\"neop\"))\n  (1512409 \"Hepatocarcinogenesis\" (\"neop\"))\n  (1524028 \"Intraepithelial Neoplasia of the Mouse Mammary Gland\" (\"neop\"))\n  (3864 \"Arthritis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (1418 \"Adenocarcinoma\" (\"neop\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (6272 \"Bronchiolitis Obliterans\" (\"dsyn\"))\n  (9782 \"Connective Tissue Diseases\" (\"dsyn\"))\n  (10828 \"Cytopenia\" (\"patf\"))\n  (11603 \"Dermatitis\" (\"dsyn\"))\n  (11633 \"Dermatomyositis\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (7102 \"Malignant tumor of colon\" (\"neop\"))\n  (19618 \"Histiocytosis\" (\"dsyn\"))\n  (243083 \"associated disease\" (\"patf\"))\n  (19621 \"Histiocytosis, Langerhans-Cell\" (\"dsyn\"))\n  (7115 \"Malignant neoplasm of thyroid\" (\"neop\"))\n  (19624 \"Histiocytosis, Non-Langerhans-Cell\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (19625 \"Sinus histiocytosis\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (399498 \"Oral lichenoid reaction\" (\"patf\"))\n  (24901 \"Mastocytosis, Diffuse Cutaneous\" (\"dsyn\"))\n  (26272 \"Mixed Connective Tissue Disease\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (31154 \"Peritonitis\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (7140 \"Carcinosarcoma\" (\"neop\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (33687 \"Proteinuria\" (\"dsyn\"))\n  (7847 \"Malignant neoplasm of cervix uteri\" (\"neop\"))\n  (34069 \"Pulmonary Fibrosis\" (\"dsyn\"))\n  (34155 \"Purpura, Thrombotic Thrombocytopenic\" (\"dsyn\"))\n  (8479 \"Chondrosarcoma\" (\"neop\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (39106 \"Pigmented villonodular synovitis\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (42384 \"Vasculitis\" (\"dsyn\"))\n  (18206 \"granulosa cell tumor\" (\"neop\"))\n  (152171 \"Primary pulmonary hypertension\" (\"dsyn\"))\n  (162835 \"Hypopigmentation\" (\"dsyn\"))\n  (206061 \"Pneumonitis, Interstitial\" (\"dsyn\"))\n  (23435 \"Leukemia, B-Cell, Acute\" (\"neop\"))\n  (267437 \"Allergic diarrhea\" (\"dsyn\"))\n  (282548 \"Leukostasis\" (\"dsyn\"))\n  (339143 \"Thyroid associated opthalmopathies\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (341697 \"Renal impairment\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (745283 \"INFECTIOUS PROCESS\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (748159 \"PULMONARY INVOLVEMENT\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (836924 \"thrombocytosis\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (949690 \"Spondylarthritis\" (\"dsyn\"))\n  (1112486 \"Aggressive Systemic Mastocytosis\" (\"dsyn\"))\n  (1136033 \"Cutaneous Mastocytosis\" (\"dsyn\"))\n  (1142420 \"Hepatitis B reactivation\" (\"dsyn\"))\n  (1261469 \"End stage renal failure\" (\"dsyn\"))\n  (23479 \"Leukemia, Myelomonocytic, Acute\" (\"neop\"))\n  (1279945 \"Acute interstitial pneumonia\" (\"dsyn\"))\n  (1368107 \"Aplastic bone marrow\" (\"dsyn\"))\n  (1619734 \"Pulmonary arterial hypertension\" (\"dsyn\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23494 \"Leukemia, T-Cell, Chronic\" (\"neop\"))\n  (23827 \"liposarcoma\" (\"neop\"))\n  (26987 \"Myelofibrosis\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (35412 \"Rhabdomyosarcoma\" (\"neop\"))\n  (36220 \"Kaposi Sarcoma\" (\"neop\"))\n  (36631 \"Seminoma\" (\"neop\"))\n  (39101 \"synovial sarcoma\" (\"neop\"))\n  (40100 \"Thymoma\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (151779 \"[X]Malignant melanoma of skin, unspecified\" (\"neop\"))\n  (205851 \"Germ cell tumor\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (206630 \"Endometrial Stromal Sarcoma\" (\"neop\"))\n  (206693 \"Medullary carcinoma\" (\"neop\"))\n  (206698 \"Cholangiocarcinoma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (276535 \"AIDS with Kaposi's sarcoma\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278678 \"Metastatic renal cell carcinoma\" (\"neop\"))\n  (278694 \"Disseminated neuroblastoma\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (279549\n   \"Philadelphia chromosome negative chronic myelogenous leukemia\"\n   (\"neop\"))\n  (280449 \"secondary acute myeloid leukemia\" (\"neop\"))\n  (334664 \"Mast Cell Neoplasm\" (\"neop\"))\n  (338113 \"Uterine Corpus Sarcoma\" (\"neop\"))\n  (341823 \"Epithelial tumor of ovary\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (346421 \"Chronic eosinophilic leukemia\" (\"neop\"))\n  (346976 \"Secondary malignant neoplasm of pancreas\" (\"neop\"))\n  (349640 \"[M]Subacute myeloid leukemia\" (\"neop\"))\n  (431109 \"Choroid Plexus Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (521158 \"Recurrent tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (549379 \"Recurrent Carcinoma\" (\"neop\"))\n  (598798 \"Lymphoid neoplasm\" (\"neop\"))\n  (598934 \"tumor growth\" (\"neop\"))\n  (677936 \"Refractory Carcinoma\" (\"neop\"))\n  (699889 \"Female reproductive neoplasm malignant NOS\" (\"neop\"))\n  (740267 \"Ocular melanomas\" (\"neop\"))\n  (740277 \"Bile duct carcinoma\" (\"neop\"))\n  (743535 \"EOSINOPHILIC GRANULOMATOSIS\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (812413 \"Malignant Pleural Mesothelioma\" (\"neop\"))\n  (855013 \"Chondrosarcoma recurrent\" (\"neop\"))\n  (936223 \"Prostate cancer metastatic\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1327920 \"childhood chronic myelogenous leukemia\" (\"neop\"))\n  (1333768 \"Gastric Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334699 \"Mesenchymal Cell Neoplasm\" (\"neop\"))\n  (1335711 \"Recurrent Mature T- and NK-Cell Non-Hodgkin's Lymphoma\" (\"neop\"))\n  (1335713 \"Recurrent Meningioma\" (\"neop\"))\n  (1335729 \"Refractory Neoplasm\" (\"neop\"))\n  (1336746 \"Thymus Carcinoid Tumor\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (235063 \"Respiratory Depression\" (\"patf\"))\n  (679222 \"functional insufficiency\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (1815 \"Primary Myelofibrosis\" (\"neop\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (24228 \"Lymphatic Diseases\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (37354 \"Smallpox\" (\"dsyn\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (221013 \"Mastocytosis, Systemic\" (\"dsyn\"))\n  (1318485 \"Liver regeneration disorder\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (456070 \"Growth delay\" (\"patf\"))\n  (17638 \"Glioma\" (\"neop\"))\n  (19829 \"Hodgkin Disease\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23453 \"Leukemia, Lymphocytic, Acute, L2\" (\"neop\"))\n  (23476 \"Leukemia, Myeloid, Philadelphia-Positive\" (\"neop\"))\n  (23480 \"Leukemia, Myelomonocytic, Chronic\" (\"neop\"))\n  (23481 \"Leukemia, Neutrophilic, Chronic\" (\"neop\"))\n  (27022 \"Myeloproliferative disease\" (\"neop\"))\n  (27819 \"Neuroblastoma\" (\"neop\"))\n  (29463 \"osteosarcoma\" (\"neop\"))\n  (85136 \"Central Nervous System Neoplasms\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (152018 \"Esophageal carcinoma\" (\"neop\"))\n  (178874 \"Neoplasm progression\" (\"neop\"))\n  (206093 \"Neuroectodermal Tumors\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (238461 \"Anaplastic thyroid carcinoma\" (\"neop\"))\n  (238462 \"Medullary carcinoma of thyroid\" (\"neop\"))\n  (278726 \"Small cell lung cancer extensive stage\" (\"neop\"))\n  (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n  (376545 \"Hematologic Neoplasms\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (555198 \"Malignant Glioma\" (\"neop\"))\n  (677930 \"Primary Neoplasm\" (\"neop\"))\n  (699791 \"Stomach Carcinoma\" (\"neop\"))\n  (750952 \"Biliary Tract Cancer\" (\"neop\"))\n  (751606 \"Adult Acute Lymphocytic Leukemia\" (\"neop\"))\n  (860582 \"Peritoneal metastases\" (\"neop\"))\n  (877373 \"Advanced cancer\" (\"neop\"))\n  (879615 \"Stromal Neoplasm\" (\"neop\"))\n  (887833 \"Carcinoma, Pancreatic Ductal\" (\"neop\"))\n  (920028 \"Leukaemia recurrent\" (\"neop\"))\n  (1266137 \"Gastrointestinal stromal sarcoma\" (\"neop\"))\n  (1279296 \"Chronic leukemia (category)\" (\"neop\"))\n  (1370868 \"refractory CML\" (\"neop\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (8679 \"Chronic Disease\" (\"dsyn\"))\n  (5699 \"Blast Phase\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (37274 \"skin disorder\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (878773 \"Overactive Bladder\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n  (7129 \"Merkel cell carcinoma\" (\"neop\"))\n  (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n  (920563 \"insulin sensitivity\" (\"patf\"))\n  (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n  (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n  (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n  (17636 \"Glioblastoma\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n  (24221 \"Lymphangioma\" (\"neop\"))\n  (25149 \"medulloblastoma\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (26948 \"Mycosis Fungoides\" (\"neop\"))\n  (27627 \"Neoplasm Metastasis\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (27831 \"Neurofibromatosis 1\" (\"neop\"))\n  (27859 \"Acoustic Neuroma\" (\"neop\"))\n  (35335 \"Retinoblastoma\" (\"neop\"))\n  (85669 \"Acute leukemia\" (\"neop\"))\n  (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n  (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n  (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n  (220633 \"Intraocular melanoma\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (242596 \"Neoplasm, Residual\" (\"neop\"))\n  (279543\n   \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n   (\"neop\"))\n  (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n  (280100 \"Solid tumor\" (\"neop\"))\n  (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n  (334569 \"Odontogenic myxoma\" (\"neop\"))\n  (346429 \"Multiple malignancy\" (\"neop\"))\n  (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n  (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n  (1370723 \"Stromal sarcoma\" (\"neop\"))))\n;; =>\n#|\n'((19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (13604 \"Edema\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1140999 \"Contraction\" (\"patf\")))\n|#\n\n\n;; let's test the individual parts of the query\n\n;; compare\n;;\n;; (32 (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")))\n;;\n;; and\n;;\n;; (35 (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")))\n;;\n;; which cause 32 and 35 diseases, respectively, with these monstrosities:\n;;\n;; (291 (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\")))\n;; (296 (1823619 \"VEGFA gene\" (\"bacs\" \"phsu\" \"rcpt\" \"gngm\" \"imft\" \"enzy\" \"aapp\")))\n;; (418 (1456820 \"Tumor Necrosis Factor-alpha\" (\"imft\" \"gngm\" \"aapp\")))\n;; (506 (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\")))\n;; (579 (79189 \"cytokine\" (\"aapp\" \"imft\" \"gngm\")))\n;; (1171 (17337 \"Genes\" (\"aapp\" \"gngm\"))))\n;;\n;; Could either just drop entries like (1171 (17337 \"Genes\" (\"aapp\" \"gngm\")))\n;; and (506 (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))), or prioritize search\n;; to start with smallest number of diseases (or both).\n;;\n;; Also, should make sure to remove duplicate diseases in the results!\n;; And remove ridiculous entries like (12634 \"Disease\" (\"dsyn\"))\n;;\n;; Also, should take the union of diseases caused by C-KIT and KIT,\n;; rather than trying them both separately (and getting duplicate\n;; answers).\n;;\n;; Should also consider taking the union of all diseases produced by\n;; all genes, to avoid duplicate work, or do caching/memoization/tabling.\n;;\n(let ((genes-inhibited-by-imatinib\n       (run* (q)\n         (fresh (drug gene known-disease something unknown-disease\n                      e-drug/gene st-drug/gene e-drug/gene-rest\n                      e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n                      e-drug/known-disease e-drug/known-disease-rest\n                      e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n                      e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n           (== gene q)\n\n           ;; imatinib inhibits some gene\n           (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n           (== `(,drug ,gene \"INHIBITS\" ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n           (edgeo e-drug/gene)\n\n           ))))\n  (let ((genes-inhibited-by-imatinib (rem-dups genes-inhibited-by-imatinib)))\n    (sort\n      (map (lambda (gene)\n             (let ((num-diseases-caused-by-gene\n                    (length\n                     (run* (q)\n                       (fresh (drug known-disease something unknown-disease\n                                    e-drug/gene st-drug/gene e-drug/gene-rest\n                                    e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n                                    e-drug/known-disease e-drug/known-disease-rest\n                                    e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n                                    e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n                       \n                         (== e-gene/known-disease q)\n\n                         ;; that gene directly causes some disease...\n                         (== `(,gene ,known-disease \"CAUSES\" ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n                         (conde\n                           [(== \"dsyn\" ot-gene/known-disease)]\n                           [(== \"neop\" ot-gene/known-disease)])\n                         (edgeo e-gene/known-disease))))))\n               (list num-diseases-caused-by-gene gene)))\n           genes-inhibited-by-imatinib)\n      (lambda (l1 l2) (< (car l1) (car l2))))))\n\n(displayln\n  \"Finished loading 'lets test the individual parts of the query'\")\n\n\n;; how many genes are inhibited by imatinib?\n;;\n;; cpu time: 10 real time: 10 gc time: 0\n;; 213 genes inhibited by imatinib\n;;\n;; some of these genes are dups!  why?\n;; 206 unique genes\n;;\n;; one of these answers is (17337 \"Genes\" (\"aapp\" \"gngm\")), as opposed to a specific gene--does this result in a degenerate blowup?  This seems fishy!!\n(time\n  (length\n    (run* (q)\n      (fresh (drug gene known-disease something unknown-disease\n                   e-drug/gene st-drug/gene e-drug/gene-rest\n                   e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n                   e-drug/known-disease e-drug/known-disease-rest\n                   e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n                   e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n        (== gene q)\n\n        ;; imatinib inhibits some gene\n        (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n        (== `(,drug ,gene \"INHIBITS\" ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n        (edgeo e-drug/gene)\n\n        ))))\n\n(displayln\n  \"done\")\n"
  },
  {
    "path": "attic/code/microKanren/README.md",
    "content": "Kanren\n==========\n\nCopyright (C) 2013 Jason Hemann and Daniel P. Friedman\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n"
  },
  {
    "path": "attic/code/microKanren/microKanren-test-programs.scm",
    "content": "\n(define-syntax test-check\n  (syntax-rules ()\n    ((_ title tested-expression expected-result)\n     (begin\n       (printf \"Testing ~s\\n\" title)\n       (let* ((expected expected-result)\n              (produced tested-expression))\n         (or (equal? expected produced)\n             (errorf 'test-check\n               \"Failed: ~a~%Expected: ~a~%Computed: ~a~%\"\n               'tested-expression expected produced)))))))\n\n(define a-and-b\n  (conj \n   (call/fresh (lambda (a) (== a 7)))\n   (call/fresh \n    (lambda (b) \n      (disj\n       (== b 5)\n       (== b 6))))))\n\n(define fives\n  (lambda (x)\n    (disj\n     (== x 5)      \n     (lambda (a/c)\n       (lambda ()\n         ((fives x) a/c))))))\n\n(define appendo\n  (lambda (l s out)\n    (disj\n     (conj (== '() l) (== s out))\n     (call/fresh\n      (lambda (a)\n        (call/fresh\n         (lambda (d)\n           (conj\n            (== `(,a . ,d) l)\n            (call/fresh\n             (lambda (res)\n               (conj\n                (== `(,a . ,res) out)\n                (lambda (s/c)\n                  (lambda ()\n                    ((appendo d s res) s/c))))))))))))))\n\n(define appendo2\n  (lambda (l s out)\n    (disj\n     (conj (== '() l) (== s out))\n     (call/fresh\n      (lambda (a)\n        (call/fresh\n         (lambda (d)\n           (conj\n            (== `(,a . ,d) l)\n            (call/fresh\n             (lambda (res)\n               (conj\n                (lambda (s/c)\n                  (lambda ()\n                    ((appendo2 d s res) s/c)))\n                (== `(,a . ,res) out))))))))))))\n\n(define call-appendo\n  (call/fresh\n   (lambda (q)\n     (call/fresh\n      (lambda (l)\n        (call/fresh\n         (lambda (s)\n           (call/fresh\n            (lambda (out)\n              (conj\n               (appendo l s out)\n               (== `(,l ,s ,out) q)))))))))))\n\n(define call-appendo2\n  (call/fresh\n   (lambda (q)\n     (call/fresh\n      (lambda (l)\n        (call/fresh\n         (lambda (s)\n           (call/fresh\n            (lambda (out)\n              (conj\n               (appendo2 l s out)\n               (== `(,l ,s ,out) q)))))))))))\n\n(define call-appendo3\n  (call/fresh\n   (lambda (q)\n     (call/fresh\n      (lambda (l)\n        (call/fresh\n         (lambda (s)\n           (call/fresh\n            (lambda (out)\n              (conj\n               (== `(,l ,s ,out) q)\n               (appendo l s out)))))))))))\n\n(define ground-appendo (appendo '(a) '(b) '(a b)))\n\n(define ground-appendo2  (appendo2 '(a) '(b) '(a b)))\n\n(define relo\n  (lambda (x)\n    (call/fresh\n     (lambda (x1)\n       (call/fresh\n        (lambda (x2)\n          (conj\n           (== x `(,x1 . ,x2))\n           (disj\n            (== x1 x2)\n            (lambda (s/c)\n              (lambda () ((relo x) s/c)))))))))))\n\n(define many-non-ans\n  (call/fresh\n   (lambda (x)\n     (disj\n      (relo `(5 . 6))\n      (== x 3)))))\n\n"
  },
  {
    "path": "attic/code/microKanren/microKanren-test.scm",
    "content": "(load \"microKanren-test-programs.scm\")\n\n(test-check \"second-set t1\"\n  (let (($ ((call/fresh (lambda (q) (== q 5))) empty-state)))\n    (car $))\n  '(((#(0) . 5)) . 1))\n\n(test-check \"second-set t2\"\n  (let (($ ((call/fresh (lambda (q) (== q 5))) empty-state)))\n    (cdr $))\n  '())\n\n(test-check \"second-set t3\"\n  (let (($ (a-and-b empty-state)))\n    (car $))\n  '(((#(1) . 5) (#(0) . 7)) . 2))\n\n(test-check \"second-set t3, take\"\n  (let (($ (a-and-b empty-state)))\n    (take 1 $))\n  '((((#(1) . 5) (#(0) . 7)) . 2)))\n\n(test-check \"second-set t4\"\n  (let (($ (a-and-b empty-state)))\n    (car (cdr $)))\n  '(((#(1) . 6) (#(0) . 7)) . 2))\n\n(test-check \"second-set t5\"\n  (let (($ (a-and-b empty-state)))\n    (cdr (cdr $)))\n  '())\n\n(test-check \"who cares\"\n  (let (($ ((call/fresh (lambda (q) (fives q))) empty-state)))\n    (take 1 $))\n  '((((#(0) . 5)) . 1)))\n\n(test-check \"take 2 a-and-b stream\"\n  (let (($ (a-and-b empty-state)))\n    (take 2 $))\n  '((((#(1) . 5) (#(0) . 7)) . 2)\n    (((#(1) . 6) (#(0) . 7)) . 2)))\n\n(test-check \"take-all a-and-b stream\"\n  (let (($ (a-and-b empty-state)))\n    (take-all $))\n  '((((#(1) . 5) (#(0) . 7)) . 2)\n    (((#(1) . 6) (#(0) . 7)) . 2)))\n\n(test-check \"ground appendo\"\n  (car ((ground-appendo empty-state)))\n  '(((#(2) b) (#(1)) (#(0) . a)) . 3))\n\n(test-check \"ground appendo2\"\n  (car ((ground-appendo2 empty-state)))\n  '(((#(2) b) (#(1)) (#(0) . a)) . 3))\n\n(test-check \"appendo\"\n  (take 2 (call-appendo empty-state))\n  '((((#(0) #(1) #(2) #(3)) (#(2) . #(3)) (#(1))) . 4)\n    (((#(0) #(1) #(2) #(3)) (#(2) . #(6)) (#(5)) (#(3) #(4) . #(6)) (#(1) #(4) . #(5))) . 7)))\n\n(test-check \"appendo2\"\n  (take 2 (call-appendo2 empty-state))\n  '((((#(0) #(1) #(2) #(3)) (#(2) . #(3)) (#(1))) . 4) (((#(0) #(1) #(2) #(3)) (#(3) #(4) . #(6)) (#(2) . #(6)) (#(5)) (#(1) #(4) . #(5))) . 7)))\n\n(test-check \"reify-1st across appendo\"\n  (map reify-1st (take 2 (call-appendo empty-state)))\n  '((() _.0 _.0) ((_.0) _.1 (_.0 . _.1))))\n\n(test-check \"reify-1st across appendo2\"\n  (map reify-1st (take 2 (call-appendo2 empty-state)))\n  '((() _.0 _.0) ((_.0) _.1 (_.0 . _.1))))\n\n(test-check \"many non-ans\"\n  (take 1 (many-non-ans empty-state))\n  '((((#(0) . 3)) . 1)))"
  },
  {
    "path": "attic/code/microKanren/microKanren.scm",
    "content": ";; Jason Hemann and Dan Friedman\n;; microKanren, final implementation from paper\n\n(define (var c) (vector c))\n(define (var? x) (vector? x))\n(define (var=? x1 x2) (= (vector-ref x1 0) (vector-ref x2 0)))\n\n(define (walk u s)\n  (let ((pr (and (var? u) (assp (lambda (v) (var=? u v)) s))))\n    (if pr (walk (cdr pr) s) u)))\n\n(define (ext-s x v s) `((,x . ,v) . ,s))\n\n(define (== u v)\n  (lambda (s/c)\n    (let ((s (unify u v (car s/c))))\n      (if s (unit `(,s . ,(cdr s/c))) mzero))))\n\n(define (unit s/c) (cons s/c mzero))\n(define mzero '())\n\n(define (unify u v s)\n  (let ((u (walk u s)) (v (walk v s)))\n    (cond\n      ((and (var? u) (var? v) (var=? u v)) s)\n      ((var? u) (ext-s u v s))\n      ((var? v) (ext-s v u s))\n      ((and (pair? u) (pair? v))\n       (let ((s (unify (car u) (car v) s)))\n         (and s (unify (cdr u) (cdr v) s))))\n      (else\n       ;; WEB -- vanilla microKanren uses eqv? rather than equal?\n       (and (equal? u v) s)))))\n\n(define (call/fresh f)\n  (lambda (s/c)\n    (let ((c (cdr s/c)))\n      ((f (var c)) `(,(car s/c) . ,(+ c 1))))))\n\n(define (disj g1 g2) (lambda (s/c) (mplus (g1 s/c) (g2 s/c))))\n(define (conj g1 g2) (lambda (s/c) (bind (g1 s/c) g2)))\n\n(define (mplus $1 $2)\n  (cond\n    ((null? $1) $2)\n    ((procedure? $1) (lambda () (mplus $2 ($1))))\n    (else (cons (car $1) (mplus (cdr $1) $2)))))\n\n(define (bind $ g)\n  (cond\n    ((null? $) mzero)\n    ((procedure? $) (lambda () (bind ($) g)))\n    (else (mplus (g (car $)) (bind (cdr $) g)))))\n"
  },
  {
    "path": "attic/code/microKanren/miniKanren-wrappers.scm",
    "content": "\n;;;; How to make a simple miniKanren (substitution only)\n\n(define-syntax Zzz\n  (syntax-rules ()\n    ((_ g) (lambda (s/c) (lambda () (g s/c))))))\n\n(define-syntax conj+\n  (syntax-rules ()\n    ((_ g) (Zzz g))\n    ((_ g0 g ...) (conj (Zzz g0) (conj+ g ...)))))\n\n(define-syntax disj+\n  (syntax-rules ()\n    ((_ g) (Zzz g))\n    ((_ g0 g ...) (disj (Zzz g0) (disj+ g ...)))))\n\n(define-syntax fresh\n  (syntax-rules ()\n    ((_ () g0 g ...) (conj+ g0 g ...))\n    ((_ (x0 x ...) g0 g ...)\n     (call/fresh\n      (lambda (x0)\n        (fresh (x ...) g0 g ...))))))\n\n(define-syntax conde\n  (syntax-rules ()\n    ((_ (g0 g ...) ...) (disj+ (conj+ g0 g ...) ...))))\n\n(define-syntax run\n  (syntax-rules ()\n    ((_ n (x ...) g0 g ...)\n     (map reify-1st (take n (call/goal (fresh (x ...) g0 g ...)))))))\n\n(define-syntax run*\n  (syntax-rules ()\n    ((_ (x ...) g0 g ...)\n     (map reify-1st (take-all (call/goal (fresh (x ...) g0 g ...)))))))\n\n(define empty-state '(() . 0))\n\n(define (call/goal g) (g empty-state))\n\n(define (pull $)\n  (if (procedure? $) (pull ($)) $))\n\n(define (take-all $)\n  (let (($ (pull $)))\n    (if (null? $) '() (cons (car $) (take-all (cdr $))))))\n\n(define (take n $)\n  (if (zero? n) '()\n    (let (($ (pull $)))\n      (if (null? $) '() (cons (car $) (take (- n 1) (cdr $)))))))\n\n(define (reify-1st s/c)\n  (let ((v (walk* (var 0) (car s/c))))\n    (walk* v (reify-s v '()))))\n\n(define (walk* v s)\n  (let ((v (walk v s)))\n    (cond\n      ((var? v) v)\n      ((pair? v) (cons (walk* (car v) s)\n                   (walk* (cdr v) s)))\n      (else  v))))\n\n(define (reify-s v s)\n  (let ((v (walk v s)))\n    (cond\n      ((var? v)\n       (let  ((n (reify-name (length s))))\n         (cons `(,v . ,n) s)))\n      ((pair? v) (reify-s (cdr v) (reify-s (car v) s)))\n      (else s))))\n\n(define (reify-name n)\n  (string->symbol\n    (string-append \"_\" \".\" (number->string n))))\n\n(define (fresh/nf n f)\n  (letrec\n    ((app-f/v*\n       (lambda (n v*)\n         (cond\n           ((zero? n) (apply f (reverse v*)))\n           (else (call/fresh\n                   (lambda (x)\n                     (app-f/v* (- n 1) (cons x v*)))))))))\n     (app-f/v* n '())))\n\n;;; Test programs\n\n(define-syntax test-check\n  (syntax-rules ()\n    ((_ title tested-expression expected-result)\n     (begin\n       (printf \"Testing ~s\\n\" title)\n       (let* ((expected expected-result)\n              (produced tested-expression))\n         (or (equal? expected produced)\n             (errorf 'test-check\n               \"Failed: ~a~%Expected: ~a~%Computed: ~a~%\"\n               'tested-expression expected produced)))))))\n\n(define (appendo l s out)\n  (conde\n    ((== '() l) (== s out))\n    ((fresh (a d res)\n       (== `(,a . ,d) l)\n       (== `(,a . ,res) out)\n       (appendo d s res)))))\n\n(test-check 'run*\n  (run* (q) (fresh (x y) (== `(,x ,y) q) (appendo x y '(1 2 3 4 5))))\n  '((() (1 2 3 4 5))\n    ((1) (2 3 4 5))\n    ((1 2) (3 4 5))\n    ((1 2 3) (4 5))\n    ((1 2 3 4) (5))\n    ((1 2 3 4 5) ())))\n\n(test-check 'run*2\n  (run* (q x y) (== `(,x ,y) q) (appendo x y '(1 2 3 4 5)))\n  '((() (1 2 3 4 5))\n    ((1) (2 3 4 5))\n    ((1 2) (3 4 5))\n    ((1 2 3) (4 5))\n    ((1 2 3 4) (5))\n    ((1 2 3 4 5) ())))\n  \n(test-check 'rember*o\n  (letrec\n      ((rember*o (lambda (tr o)\n                   (conde\n                     ((== '() tr) (== '() o))\n                     ((fresh (a d)\n                        (== `(,a . ,d) tr)\n                        (conde\n                          ((fresh (aa da)\n                             (== `(,aa . ,da) a)\n                             (fresh (a^ d^)\n                               (rember*o a a^)\n                               (rember*o d d^)\n                               (== `(,a^ . ,d^) o))))\n                          ((== a 8) (rember*o d o))\n                          ((fresh (d^)\n                             (rember*o d d^)\n                             (== `(,a . ,d^) o))))))))))\n       (run 8 (q) (rember*o q '(1 2 8 3 4 5))))\n    '((1 2 8 3 4 5)\n      (1 2 8 3 4 5 8)\n      (1 2 8 3 4 8 5)\n      (1 2 8 3 8 4 5)\n      (1 2 8 8 3 4 5)\n      (1 2 8 8 3 4 5)\n      (1 8 2 8 3 4 5)\n      (8 1 2 8 3 4 5)))\n\n(test-check 'rember*o\n  (letrec\n      ((rember*o (lambda (tr o)\n                   (conde\n                     ((== '() tr) (== '() o))\n                     ((fresh (a d)\n                        (== `(,a . ,d) tr)\n                        (conde\n                          ((fresh (aa da)\n                             (== `(,aa . ,da) a)\n                             (fresh (a^ d^)\n                               (== `(,a^ . ,d^) o)\n                               (rember*o d d^)\n                               (rember*o a a^))))\n                          ((== a 8) (rember*o d o))\n                          ((fresh (d^)\n                             (== `(,a . ,d^) o)\n                             (rember*o d d^))))))))))\n       (run 9 (q) (rember*o q '(1 (2 8 3 4) 5))))\n    '((1 (2 8 3 4) 5)\n      (1 (2 8 3 4) 5 8)\n      (1 (2 8 3 4) 5 8 8)\n      (1 (2 8 3 4) 8 5)\n      (1 8 (2 8 3 4) 5)\n      (8 1 (2 8 3 4) 5)\n      (1 (2 8 3 4) 5 8 8 8)\n      (1 (2 8 3 4) 5 8 8 8 8)\n      (1 (2 8 3 4) 5 8 8 8 8 8)))\n\n\n\n\n"
  },
  {
    "path": "attic/code/mk/LICENSE",
    "content": "The MIT License (MIT)\n\nOriginal work Copyright (c) 2015 William E. Byrd and Michael Ballantyne\nModified work Copyright (c) 2017 Gregory Rosenblatt\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"
  },
  {
    "path": "attic/code/mk/README.md",
    "content": "# miniKanren-with-symbolic-constraints\n\nA revision of https://github.com/webyrd/miniKanren-with-symbolic-constraints/ for better performance. Up to 10x faster for large queries involving heavy use of constraints.\n\nIncludes `==`, `=/=`, `symbolo`, and `numbero`. `absento` is included, but the argument is required to be an eqv-comparable ground atom.\n\nEigen was removed.\n\n\n## Using miniKanren\n\nRun `scheme`, then load miniKanren with a path relative to your current directory.  From this directory, run:\n\n```\n(load \"mk.scm\")\n```\n\n\n## Running Tests\n\nRun `scheme --script test-all.scm` from this directory.\n\nTo interact with relational arithmetic, type inferencer, and interpreter, run `scheme` from this directory and load the appropriate files.\n\nFor example, to load the interpreter and generate three quines, run the following in `scheme`:\n\n```\n(load \"evalo.scm\")\n(run 3 (q) (evalo q q))\n```\n"
  },
  {
    "path": "attic/code/mk/arithmetic.scm",
    "content": "(load \"mk.scm\")\n;; Relational arithmetic\n\n(define appendo\n  (lambda (l s out)\n    (conde\n      [(== '() l) (== s out)]\n      [(fresh (a d res)\n         (== `(,a . ,d) l)\n         (== `(,a . ,res) out)\n         (appendo d s res))])))\n\n(define build-num\n  (lambda (n)\n    (cond\n      ((odd? n)\n       (cons 1\n         (build-num (quotient (- n 1) 2))))\n      ((and (not (zero? n)) (even? n))\n       (cons 0\n         (build-num (quotient n 2))))\n      ((zero? n) '()))))\n\n(define zeroo\n  (lambda (n)\n    (== '() n)))\n\n(define poso\n  (lambda (n)\n    (fresh (a d)\n      (== `(,a . ,d) n))))\n\n(define >1o\n  (lambda (n)\n    (fresh (a ad dd)\n      (== `(,a ,ad . ,dd) n))))\n\n(define full-addero\n  (lambda (b x y r c)\n    (conde\n      ((== 0 b) (== 0 x) (== 0 y) (== 0 r) (== 0 c))\n      ((== 1 b) (== 0 x) (== 0 y) (== 1 r) (== 0 c))\n      ((== 0 b) (== 1 x) (== 0 y) (== 1 r) (== 0 c))\n      ((== 1 b) (== 1 x) (== 0 y) (== 0 r) (== 1 c))\n      ((== 0 b) (== 0 x) (== 1 y) (== 1 r) (== 0 c))\n      ((== 1 b) (== 0 x) (== 1 y) (== 0 r) (== 1 c))\n      ((== 0 b) (== 1 x) (== 1 y) (== 0 r) (== 1 c))\n      ((== 1 b) (== 1 x) (== 1 y) (== 1 r) (== 1 c)))))\n\n(define addero\n  (lambda (d n m r)\n    (conde\n      ((== 0 d) (== '() m) (== n r))\n      ((== 0 d) (== '() n) (== m r)\n       (poso m))\n      ((== 1 d) (== '() m)\n       (addero 0 n '(1) r))\n      ((== 1 d) (== '() n) (poso m)\n       (addero 0 '(1) m r))\n      ((== '(1) n) (== '(1) m)\n       (fresh (a c)\n         (== `(,a ,c) r)\n         (full-addero d 1 1 a c)))\n      ((== '(1) n) (gen-addero d n m r))\n      ((== '(1) m) (>1o n) (>1o r)\n       (addero d '(1) n r))\n      ((>1o n) (gen-addero d n m r)))))\n\n(define gen-addero\n  (lambda (d n m r)\n    (fresh (a b c e x y z)\n      (== `(,a . ,x) n)\n      (== `(,b . ,y) m) (poso y)\n      (== `(,c . ,z) r) (poso z)\n      (full-addero d a b c e)\n      (addero e x y z))))\n\n(define pluso\n  (lambda (n m k)\n    (addero 0 n m k)))\n\n(define minuso\n  (lambda (n m k)\n    (pluso m k n)))\n\n(define *o\n  (lambda (n m p)\n    (conde\n      ((== '() n) (== '() p))\n      ((poso n) (== '() m) (== '() p))\n      ((== '(1) n) (poso m) (== m p))\n      ((>1o n) (== '(1) m) (== n p))\n      ((fresh (x z)\n         (== `(0 . ,x) n) (poso x)\n         (== `(0 . ,z) p) (poso z)\n         (>1o m)\n         (*o x m z)))\n      ((fresh (x y)\n         (== `(1 . ,x) n) (poso x)\n         (== `(0 . ,y) m) (poso y)\n         (*o m n p)))\n      ((fresh (x y)\n         (== `(1 . ,x) n) (poso x)\n         (== `(1 . ,y) m) (poso y)\n         (odd-*o x n m p))))))\n\n(define odd-*o\n  (lambda (x n m p)\n    (fresh (q)\n      (bound-*o q p n m)\n      (*o x m q)\n      (pluso `(0 . ,q) m p))))\n\n(define bound-*o\n  (lambda (q p n m)\n    (conde\n      ((== '() q) (poso p))\n      ((fresh (a0 a1 a2 a3 x y z)\n         (== `(,a0 . ,x) q)\n         (== `(,a1 . ,y) p)\n         (conde\n           ((== '() n)\n            (== `(,a2 . ,z) m)\n            (bound-*o x y z '()))\n           ((== `(,a3 . ,z) n)\n            (bound-*o x y z m))))))))\n\n(define =lo\n  (lambda (n m)\n    (conde\n      ((== '() n) (== '() m))\n      ((== '(1) n) (== '(1) m))\n      ((fresh (a x b y)\n         (== `(,a . ,x) n) (poso x)\n         (== `(,b . ,y) m) (poso y)\n         (=lo x y))))))\n\n(define <lo\n  (lambda (n m)\n    (conde\n      ((== '() n) (poso m))\n      ((== '(1) n) (>1o m))\n      ((fresh (a x b y)\n         (== `(,a . ,x) n) (poso x)\n         (== `(,b . ,y) m) (poso y)\n         (<lo x y))))))\n\n(define <=lo\n  (lambda (n m)\n    (conde\n      ((=lo n m))\n      ((<lo n m)))))\n\n(define <o\n  (lambda (n m)\n    (conde\n      ((<lo n m))\n      ((=lo n m)\n       (fresh (x)\n         (poso x)\n         (pluso n x m))))))\n\n(define <=o\n  (lambda (n m)\n    (conde\n      ((== n m))\n      ((<o n m)))))\n\n(define /o\n  (lambda (n m q r)\n    (conde\n      ((== r n) (== '() q) (<o n m))\n      ((== '(1) q) (=lo n m) (pluso r m n)\n       (<o r m))\n      ((<lo m n)\n       (<o r m)\n       (poso q)\n       (fresh (nh nl qh ql qlm qlmr rr rh)\n         (splito n r nl nh)\n         (splito q r ql qh)\n         (conde\n           ((== '() nh)\n            (== '() qh)\n            (minuso nl r qlm)\n            (*o ql m qlm))\n           ((poso nh)\n            (*o ql m qlm)\n            (pluso qlm r qlmr)\n            (minuso qlmr nl rr)\n            (splito rr r '() rh)\n            (/o nh m qh rh))))))))\n\n(define splito\n  (lambda (n r l h)\n    (conde\n      ((== '() n) (== '() h) (== '() l))\n      ((fresh (b n^)\n         (== `(0 ,b . ,n^) n)\n         (== '() r)\n         (== `(,b . ,n^) h)\n         (== '() l)))\n      ((fresh (n^)\n         (== `(1 . ,n^) n)\n         (== '() r)\n         (== n^ h)\n         (== '(1) l)))\n      ((fresh (b n^ a r^)\n         (== `(0 ,b . ,n^) n)\n         (== `(,a . ,r^) r)\n         (== '() l)\n         (splito `(,b . ,n^) r^ '() h)))\n      ((fresh (n^ a r^)\n         (== `(1 . ,n^) n)\n         (== `(,a . ,r^) r)\n         (== '(1) l)\n         (splito n^ r^ '() h)))\n      ((fresh (b n^ a r^ l^)\n         (== `(,b . ,n^) n)\n         (== `(,a . ,r^) r)\n         (== `(,b . ,l^) l)\n         (poso l^)\n         (splito n^ r^ l^ h))))))\n\n(define logo\n  (lambda (n b q r)\n    (conde\n      ((== '(1) n) (poso b) (== '() q) (== '() r))\n      ((== '() q) (<o n b) (pluso r '(1) n))\n      ((== '(1) q) (>1o b) (=lo n b) (pluso r b n))\n      ((== '(1) b) (poso q) (pluso r '(1) n))\n      ((== '() b) (poso q) (== r n))\n      ((== '(0 1) b)\n       (fresh (a ad dd)\n         (poso dd)\n         (== `(,a ,ad . ,dd) n)\n         (exp2 n '() q)\n         (fresh (s)\n           (splito n dd r s))))\n      ((fresh (a ad add ddd)\n         (conde\n           ((== '(1 1) b))\n           ((== `(,a ,ad ,add . ,ddd) b))))\n       (<lo b n)\n       (fresh (bw1 bw nw nw1 ql1 ql s)\n         (exp2 b '() bw1)\n         (pluso bw1 '(1) bw)\n         (<lo q n)\n         (fresh (q1 bwq1)\n           (pluso q '(1) q1)\n           (*o bw q1 bwq1)\n           (<o nw1 bwq1))\n         (exp2 n '() nw1)\n         (pluso nw1 '(1) nw)\n         (/o nw bw ql1 s)\n         (pluso ql '(1) ql1)\n         (<=lo ql q)\n         (fresh (bql qh s qdh qd)\n           (repeated-mul b ql bql)\n           (/o nw bw1 qh s)\n           (pluso ql qdh qh)\n           (pluso ql qd q)\n           (<=o qd qdh)\n           (fresh (bqd bq1 bq)\n             (repeated-mul b qd bqd)\n             (*o bql bqd bq)\n             (*o b bq bq1)\n             (pluso bq r n)\n             (<o n bq1))))))))\n\n(define exp2\n  (lambda (n b q)\n    (conde\n      ((== '(1) n) (== '() q))\n      ((>1o n) (== '(1) q)\n       (fresh (s)\n         (splito n b s '(1))))\n      ((fresh (q1 b2)\n         (== `(0 . ,q1) q)\n         (poso q1)\n         (<lo b n)\n         (appendo b `(1 . ,b) b2)\n         (exp2 n b2 q1)))\n      ((fresh (q1 nh b2 s)\n         (== `(1 . ,q1) q)\n         (poso q1)\n         (poso nh)\n         (splito n b s nh)\n         (appendo b `(1 . ,b) b2)\n         (exp2 nh b2 q1))))))\n\n(define repeated-mul\n  (lambda (n q nq)\n    (conde\n      ((poso n) (== '() q) (== '(1) nq))\n      ((== '(1) q) (== n nq))\n      ((>1o q)\n       (fresh (q1 nq1)\n         (pluso q1 '(1) q)\n         (repeated-mul n q1 nq1)\n         (*o nq1 n nq))))))\n\n(define expo\n  (lambda (b q n)\n    (logo n b q '())))\n\n"
  },
  {
    "path": "attic/code/mk/evalo.scm",
    "content": "(load \"mk.scm\")\n\n(define evalo\n  (lambda (exp val)\n    (eval-expo exp '() val)))\n\n(define eval-expo\n  (lambda (exp env val)\n    (conde\n      ((fresh (v)\n         (== `(quote ,v) exp)\n         (not-in-envo 'quote env)\n         (absento 'closure v)\n         (== v val)))\n      ((fresh (a*)\n         (== `(list . ,a*) exp)\n         (not-in-envo 'list env)\n         (absento 'closure a*)\n         (proper-listo a* env val)))\n      ((symbolo exp) (lookupo exp env val))\n      ((fresh (rator rand x body env^ a)\n         (== `(,rator ,rand) exp)\n         (eval-expo rator env `(closure ,x ,body ,env^))\n         (eval-expo rand env a)\n         (eval-expo body `((,x . ,a) . ,env^) val)))\n      ((fresh (x body)\n         (== `(lambda (,x) ,body) exp)\n         (symbolo x)\n         (not-in-envo 'lambda env)\n         (== `(closure ,x ,body ,env) val))))))\n\n(define not-in-envo\n  (lambda (x env)\n    (conde\n      ((fresh (y v rest)\n         (== `((,y . ,v) . ,rest) env)\n         (=/= y x)\n         (not-in-envo x rest)))\n      ((== '() env)))))\n\n(define proper-listo\n  (lambda (exp env val)\n    (conde\n      ((== '() exp)\n       (== '() val))\n      ((fresh (a d t-a t-d)\n         (== `(,a . ,d) exp)\n         (== `(,t-a . ,t-d) val)\n         (eval-expo a env t-a)\n         (proper-listo d env t-d))))))\n\n(define lookupo\n  (lambda (x env t)\n    (fresh (rest y v)\n      (== `((,y . ,v) . ,rest) env)\n      (conde\n        ((== y x) (== v t))\n        ((=/= y x) (lookupo x rest t))))))\n"
  },
  {
    "path": "attic/code/mk/mk.scm",
    "content": "; Old trie implementation, due to Abdulaziz Ghuloum. Used for substitution\n; and constraint store.\n\n  ;;; subst ::= (empty)\n  ;;;         | (node even odd)\n  ;;;         | (data idx val)\n\n(define-record-type node (fields e o))\n\n(define-record-type data (fields idx val))\n\n(define shift (lambda (n) (fxsra n 1)))\n\n(define unshift (lambda (n i) (fx+ (fxsll n 1) i)))\n\n\n;; Switched to N-way Trie implementation to reduce depth\n\n(define shift-size 4)\n(define node-size (fxsll 1 shift-size))\n(define local-mask (fx- node-size 1))\n(define (shift-n xi) (fxsra xi shift-size))\n(define (local-n xi) (fxand xi local-mask))\n(define node-n? vector?)\n(define (node-n-new i0 v0)\n  (define result (make-vector (fx+ i0 1) '()))\n  (vector-set! result i0 v0)\n  result)\n(define (node-n-get nd idx)\n  (if (fx<? idx (vector-length nd)) (vector-ref nd idx) '()))\n(define (node-n-put nd idx val)\n  (define len0 (vector-length nd))\n  (define len1 (fxmax len0 (fx+ idx 1)))\n  (define result (make-vector len1 '()))\n  (let copy ((ci 0))\n    (if (fx=? len0 ci) (begin (vector-set! result idx val) result)\n      (begin (vector-set! result ci (vector-ref nd ci)) (copy (fx+ ci 1))))))\n\n(define (nwt:size trie)\n  (cond\n    ((node-n? trie)\n     (let loop ((ci 0) (sz 0))\n       (if (fx=? node-size ci) sz\n         (loop (fx+ ci 1) (fx+ sz (nwt:size (node-n-get trie ci)))))))\n    ((data? trie) 1)\n    (else 0)))\n\n(define (nwt:lookup trie xi)\n  (cond\n    ((node-n? trie) (nwt:lookup (node-n-get trie (local-n xi)) (shift-n xi)))\n    ((data? trie) (and (fx=? xi (data-idx trie)) trie))\n    (else #f)))\n\n(define (nwt:bind trie xi val)\n  (cond\n    ((node-n? trie)\n     (let ((li (local-n xi)))\n       (node-n-put trie li (nwt:bind (node-n-get trie li) (shift-n xi) val))))\n    ((data? trie)\n     (let ((xi0 (data-idx trie)))\n       (if (fx=? xi0 xi) (make-data xi val)\n         (nwt:bind (node-n-new (local-n xi0) (make-data (shift-n xi0) (data-val trie)))\n                   xi val))))\n    (else (make-data xi val))))\n\n;;; n-way trie interface\n\n(define t:size nwt:size)\n\n(define t:bind\n  (lambda (xi v s)\n    (unless (and (fixnum? xi) (>= xi 0))\n      (error 't:bind \"index must be a fixnum, got ~s\" xi))\n    (nwt:bind s xi v)))\n\n(define t:lookup\n  (lambda (xi s)\n    (unless (and (fixnum? xi) (>= xi 0))\n      (error 't:lookup \"index must be a fixnum, got ~s\" xi))\n    (nwt:lookup s xi)))\n\n;;; old interface\n\n;(define t:size\n  ;(lambda (x) (t:aux:size x)))\n\n;(define t:bind\n  ;(lambda (xi v s)\n    ;(unless (and (fixnum? xi) (>= xi 0))\n      ;(error 't:bind \"index must be a fixnum, got ~s\" xi))\n    ;(t:aux:bind xi v s)))\n\n;(define t:unbind\n  ;(lambda (xi s)\n    ;(unless (and (fixnum? xi) (>= xi 0))\n      ;(error 't:unbind \"index must be a fixnum, got ~s\" xi))\n    ;(t:aux:unbind xi s)))\n\n;(define t:lookup\n  ;(lambda (xi s)\n    ;(unless (and (fixnum? xi) (>= xi 0))\n      ;(error 't:lookup \"index must be a fixnum, got ~s\" xi))\n    ;(t:aux:lookup xi s)))\n\n;;; interface\n\n(define t:binding-value\n  (lambda (s)\n    (unless (data? s)\n      (error 't:binding-value \"not a binding ~s\" s))\n    (data-val s)))\n\n;;; helpers\n\n(define t:aux:push\n  (lambda (xi vi xj vj)\n    (if (fxeven? xi)\n        (if (fxeven? xj)\n            (make-node (t:aux:push (shift xi) vi (shift xj) vj) '())\n            (make-node (make-data (shift xi) vi) (make-data (shift xj) vj)))\n        (if (fxeven? xj)\n            (make-node (make-data (shift xj) vj) (make-data (shift xi) vi))\n            (make-node '() (t:aux:push (shift xi) vi (shift xj) vj))))))\n\n(define t:aux:bind\n  (lambda (xi vi s*)\n    (cond\n      [(node? s*)\n       (if (fxeven? xi)\n           (make-node (t:aux:bind (shift xi) vi (node-e s*)) (node-o s*))\n           (make-node (node-e s*) (t:aux:bind (shift xi) vi (node-o s*))))]\n      [(data? s*)\n       (let ([xj (data-idx s*)] [vj (data-val s*)])\n         (if (fx= xi xj)\n             (make-data xi vi)\n             (t:aux:push xi vi xj vj)))]\n      [else (make-data xi vi)])))\n\n(define t:aux:lookup\n  (lambda (xi s*)\n    (cond\n      [(node? s*)\n       (if (fxeven? xi)\n           (t:aux:lookup (shift xi) (node-e s*))\n           (t:aux:lookup (shift xi) (node-o s*)))]\n      [(data? s*)\n       (if (fx= (data-idx s*) xi)\n           s*\n           #f)]\n      [else #f])))\n\n(define t:aux:size\n  (lambda (s*)\n    (cond\n      [(node? s*) (fx+ (t:aux:size (node-e s*)) (t:aux:size (node-o s*)))]\n      [(data? s*) 1]\n      [else 0])))\n\n(define t:aux:cons^\n  (lambda (e o)\n    (cond\n      [(or (node? e) (node? o)) (make-node e o)]\n      [(data? e)\n       (make-data (unshift (data-idx e) 0) (data-val e))]\n      [(data? o)\n       (make-data (unshift (data-idx o) 1) (data-val o))]\n      [else '()])))\n\n(define t:aux:unbind\n  (lambda (xi s*)\n    (cond\n      [(node? s*)\n       (if (fxeven? xi)\n           (t:aux:cons^ (t:aux:unbind (shift xi) (node-e s*)) (node-o s*))\n           (t:aux:cons^ (node-e s*) (t:aux:unbind (shift xi) (node-o s*))))]\n      [(and (data? s*) (fx= (data-idx s*) xi)) '()]\n      [else s*])))\n\n\n; Substitution representation\n\n(define empty-subst-map '())\n\n(define subst-map-length t:size)\n\n; Returns #f if not found, or a pair of u and the result of the lookup.\n; This distinguishes between #f indicating absence and being the result.\n(define subst-map-lookup\n  (lambda (u S)\n    (let ((res (t:lookup (var-idx u) S)))\n      (if res\n        (data-val res)\n        unbound))))\n\n(define (subst-map-add S var val)\n  (t:bind (var-idx var) val S))\n\n(define subst-map-eq? eq?)\n\n\n; Alternative (unused) substitution representation, using alists.\n; Performance with the tries is usually about the same and\n; can be much better for huge substitutions.\n\n#|\n(define empty-subst-map '())\n\n(define subst-map-length length)\n\n; Returns #f if not found, or a pair of u and the result of the lookup.\n; This distinguishes between #f indicating absence and being the result.\n(define subst-map-lookup\n  (lambda (u S)\n    (let ((res (assq u S)))\n      (if res\n        (cdr res)\n        unbound))))\n\n(define (subst-map-add S var val)\n  (cons (cons var val) S))\n\n(define subst-map-eq? eq?)\n|#\n\n\n; Constraint store representation\n\n(define empty-C '())\n\n(define set-c\n  (lambda (v c st)\n    (state (state-S st)\n           (t:bind (var-idx v) c (state-C st))\n           (state-depth st)\n           (state-deferred st))))\n\n(define lookup-c\n  (lambda (v st)\n    (let ((res (t:lookup (var-idx v) (state-C st))))\n      (if res\n        (data-val res)\n        empty-c))))\n\n; t:unbind either is buggy or doesn't do what I would expect, so\n; I implement remove by setting the value to the empty constraint record.\n(define remove-c\n  (lambda (v st)\n    (let ((res (t:bind (var-idx v) empty-c (state-C st))))\n      (state (state-S st) res (state-depth st) (state-deferred st)))))\n\n\n; Misc. missing functions\n\n(define (remove-duplicates l)\n  (cond ((null? l)\n         '())\n        ((member (car l) (cdr l))\n         (remove-duplicates (cdr l)))\n        (else\n         (cons (car l) (remove-duplicates (cdr l))))))\n\n(define (foldl f init seq)\n  (if (null? seq)\n    init\n    (foldl f\n           (f (car seq) init)\n           (cdr seq))))\n\n\n; Scope object.\n; Used to determine whether a branch has occured between variable creation\n; and unification to allow the set-var-val! optimization in subst-add. Both variables\n; and substitutions will contain a scope. When a substitution flows through a\n; conde it is assigned a new scope.\n\n;; To allow use of optimizations that sacrifice completeness, set this to #t.\n(define allow-incomplete-search? #f)\n\n;; To allow use of experimental `conde1` optimization, set this to #t.\n(define enable-conde1? #t)\n\n; Creates a new scope that is not scope-eq? to any other scope\n(define new-scope\n  (lambda ()\n    (list 'scope)))\n\n; Scope used when variable bindings should always be made in the substitution,\n; as in disequality solving and reification. We don't want to set-var-val! a\n; variable when checking if a disequality constraint holds!\n(define nonlocal-scope\n  (list 'non-local-scope))\n\n(define scope-eq? eq?)\n\n\n; Logic variable object.\n; Contains:\n;   val - value for variable assigned by unification using set-var-val! optimization.\n;           unbound if not yet set or stored in substitution.\n;   scope - scope that the variable was created in.\n;   idx - unique numeric index for the variable. Used by the trie substitution representation.\n; Variable objects are compared by object identity.\n\n; The unique val for variables that have not yet been bound to a value\n; or are bound in the substitution\n(define unbound (list 'unbound))\n\n(define var\n  (let ((counter -1))\n    (lambda (scope)\n      (set! counter (+ 1 counter))\n      (vector unbound scope counter))))\n\n; Vectors are not allowed as terms, so terms that are vectors are variables.\n(define var?\n  (lambda (x)\n    (vector? x)))\n\n(define var-eq? eq?)\n\n(define var-val\n  (lambda (x)\n    (vector-ref x 0)))\n\n(define set-var-val!\n  (lambda (x v)\n    (vector-set! x 0 v)))\n\n(define var-scope\n  (lambda (x)\n    (vector-ref x 1)))\n\n(define var-idx\n  (lambda (x)\n    (vector-ref x 2)))\n\n\n; Substitution object.\n; Contains:\n;   map - mapping of variables to values\n;   scope - scope at current program point, for set-var-val! optimization. Updated at conde.\n;               Included in the substitution because it is required to fully define the substitution\n;               and how it is to be extended.\n;\n; Implementation of the substitution map depends on the Scheme used, as we need a map.\n\n(define subst\n  (lambda (mapping scope)\n    (cons mapping scope)))\n\n(define subst-map car)\n\n(define subst-scope cdr)\n\n(define subst-length\n  (lambda (S)\n    (subst-map-length (subst-map S))))\n\n(define subst-with-scope\n  (lambda (S new-scope)\n    (subst (subst-map S) new-scope)))\n\n(define empty-subst (subst empty-subst-map (new-scope)))\n\n(define subst-add\n  (lambda (S x v)\n    ; set-var-val! optimization: set the value directly on the variable\n    ; object if we haven't branched since its creation\n    ; (the scope of the variable and the substitution are the same).\n    ; Otherwise extend the substitution mapping.\n    (if (scope-eq? (var-scope x) (subst-scope S))\n      (begin\n        (set-var-val! x v)\n        S)\n      (subst (subst-map-add (subst-map S) x v) (subst-scope S)))))\n\n(define subst-lookup\n  (lambda (u S)\n    ; set-var-val! optimization.\n    ; Tried checking the scope here to avoid a subst-map-lookup\n    ; if it was definitely unbound, but that was slower.\n    (if (not (eq? (var-val u) unbound))\n      (var-val u)\n      (subst-map-lookup u (subst-map S)))))\n\n; Association object.\n; Describes an association mapping the lhs to the rhs. Returned by unification\n; to describe the associations that were added to the substitution (whose representation\n; is opaque) and used to represent disequality constraints.\n\n(define lhs car)\n\n(define rhs cdr)\n\n; Constraint record object.\n;\n; Describes the constraints attached to a single variable.\n;\n; Contains:\n;   T - type constraint. 'symbolo 'numbero or #f to indicate no constraint\n;   D - list of disequality constraints. Each disequality is a list of associations.\n;           The constraint is violated if all associated variables are equal in the\n;           substitution simultaneously. D could contain duplicate constraints (created\n;           by distinct =/= calls). A given disequality constraint is only attached to\n;           one of the variables involved, as all components of the constraint must be\n;           violated to cause failure.\n;   A - list of absento constraints. Each constraint is a ground atom. The list contains\n;           no duplicates.\n\n(define empty-c `(#f () ()))\n\n(define c-T\n  (lambda (c)\n    (car c)))\n\n(define c-D\n  (lambda (c)\n    (cadr c)))\n\n(define c-A\n  (lambda (c)\n    (caddr c)))\n\n(define c-with-T\n  (lambda (c T)\n    (list T (c-D c) (c-A c))))\n\n(define c-with-D\n  (lambda (c D)\n    (list (c-T c) D (c-A c))))\n\n(define c-with-A\n  (lambda (c A)\n    (list (c-T c) (c-D c) A)))\n\n; Constraint store object.\n; Mapping of representative variable to constraint record. Constraints are\n; always on the representative element and must be moved / merged when that\n; element changes.\n\n; Implementation depends on the Scheme used, as we need a map.\n\n; State object.\n; The state is the value that is monadically passed through the search.\n; Contains:\n;   S - the substitution\n;   C - the constraint store\n;   depth - the current search depth in terms of `conde` nesting\n;   deferred - expensive goals that will be tried later\n\n; TODO: use set! to choose appropriate max-search-depth per-run?\n(define max-search-depth\n  ;#f  ; unlimited depth\n  ; Is this a reasonable depth for typical Barliman problems?\n  100)\n\n(define state\n  (lambda (S C depth deferred)\n    (list S C depth deferred)))\n\n(define state-S (lambda (st) (car st)))\n(define state-C (lambda (st) (cadr st)))\n(define state-depth (lambda (st) (caddr st)))\n(define state-deferred (lambda (st) (cadddr st)))\n(define state-depth-set\n  (lambda (st depth)\n    (state (state-S st) (state-C st) depth (state-deferred st))))\n(define state-depth-deepen\n  (lambda (st)\n    (let ((next-depth (+ 1 (state-depth st))))\n      (if (and allow-incomplete-search?\n               max-search-depth (< max-search-depth next-depth))\n        (mzero)\n        (state (state-S st) (state-C st) next-depth (state-deferred st))))))\n(define state-deferred-defer\n  (lambda (st goal)\n    (let ((deferred (state-deferred st)))\n      (if deferred\n        (state (state-S st)\n               (state-C st)\n               (state-depth st)\n               (cons goal (state-deferred st)))\n        (goal st)))))\n(define state-deferred-resume\n  (lambda (st)\n    (let ((deferred (state-deferred st)))\n      (if (and deferred (pair? deferred))\n        ((fold-left (lambda (g1 g0)\n                      (lambda (st)\n                        (bind (g0 st) g1)))\n                    unit\n                    deferred)\n         (state (state-S st) (state-C st) (state-depth st) #f))\n        st))))\n\n(define (empty-state) (state empty-subst empty-C 0 (and enable-conde1? '())))\n\n(define state-with-scope\n  (lambda (st new-scope)\n    (state (subst-with-scope (state-S st) new-scope)\n           (state-C st)\n           (state-depth st)\n           (state-deferred st))))\n\n; Unification\n\n(define walk\n  (lambda (u S)\n    (if (var? u)\n      (let ((val (subst-lookup u S)))\n        (if (eq? val unbound)\n          u\n          (walk val S)))\n      u)))\n\n(define occurs-check\n  (lambda (x v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v) (var-eq? v x))\n        ((pair? v)\n         (or\n           (occurs-check x (car v) S)\n           (occurs-check x (cdr v) S)))\n        (else #f)))))\n\n(define ext-s-check\n  (lambda (x v S)\n    (cond\n      ((occurs-check x v S) (values #f #f))\n      (else (values (subst-add S x v) `((,x . ,v)))))))\n\n; Returns as values the extended substitution and a list of associations added\n; during the unification, or (values #f #f) if the unification failed.\n;\n; Right now appends the list of added values from sub-unifications. Alternatively\n; could be threaded monadically, which could be faster or slower.\n(define unify\n  (lambda (u v s)\n    (let ((u (walk u s))\n          (v (walk v s)))\n      (cond\n        ((eq? u v) (values s '()))\n        ((var? u) (ext-s-check u v s))\n        ((var? v) (ext-s-check v u s))\n        ((and (pair? u) (pair? v))\n         (let-values (((s added-car) (unify (car u) (car v) s)))\n           (if s\n             (let-values (((s added-cdr) (unify (cdr u) (cdr v) s)))\n               (values s (append added-car added-cdr)))\n             (values #f #f))))\n        ((equal? u v) (values s '()))\n        (else (values #f #f))))))\n\n(define unify*\n  (lambda (S+ S)\n    (unify (map lhs S+) (map rhs S+) S)))\n\n\n; Search\n\n; Search result types. Names inspired by the plus monad?\n(define mzero (lambda () #f))\n(define unit (lambda (c) c))\n(define choice (lambda (c f) (cons c f)))\n\n(define-syntax inc\n  (syntax-rules ()\n    ((_ e) (lambda () e))))\n\n(define empty-f (inc (mzero)))\n(define pause (lambda (c) (inc c)))\n\n(define-syntax lambdag@\n  (syntax-rules ()\n    ((_ (st) e) (lambda (st) e))))\n\n(define-syntax case-inf\n  (syntax-rules ()\n    ((_ e (() e0) ((f^) e1) ((c^) e2) ((c f) e3))\n     (let ((c-inf e))\n       (cond\n         ((not c-inf) e0)\n         ((procedure? c-inf)  (let ((f^ c-inf)) e1))\n         ((not (and (pair? c-inf)\n                 (procedure? (cdr c-inf))))\n          (let ((c^ c-inf)) e2))\n         (else (let ((c (car c-inf)) (f (cdr c-inf)))\n                 e3)))))))\n\n(define-syntax let/vars\n  (syntax-rules ()\n    ((_ _ () body) body)\n    ((_ _ () body ...) (begin body ...))\n    ((_ st (qvar ...) body ...)\n     (let ((scope (subst-scope (state-S st))))\n       (let ((qvar (var scope)) ...)\n         body ...)))))\n\n(define-syntax with-depth\n  (syntax-rules ()\n    ((_ dst g) (lambdag@ (st) (g (state-depth-set st (state-depth dst)))))))\n\n(define-syntax bind*-depth\n  (syntax-rules ()\n    ((_ st0 g0 g ...) (bind* (g0 st0) (with-depth st0 g) ...))))\n\n(define-syntax fresh\n  (syntax-rules ()\n    ((_ (x ...) g0 g ...)\n     (lambdag@ (st)\n       (inc\n         (let ((scope (subst-scope (state-S st))))\n           (let ((x (var scope)) ...)\n             (bind*-depth st g0 g ...))))))))\n\n(define-syntax bind*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e g0 g ...) (bind* (bind e g0) g ...))))\n\n(define bind\n  (lambda (c-inf g)\n    (case-inf c-inf\n      (() (mzero))\n      ((f) (inc (bind (f) g)))\n      ((c) (g c))\n      ((c f) (mplus (g c) (inc (bind (f) g)))))))\n\n(define-syntax run\n  (syntax-rules ()\n    ((_ n (q) g0 g ...)\n     (take n\n       (inc\n         ((fresh (q) g0 g ... state-deferred-resume\n            (lambdag@ (st)\n              (let ((st (state-with-scope st nonlocal-scope)))\n                (let ((z ((reify q) st)))\n                  (choice z empty-f)))))\n          (empty-state)))))\n    ((_ n (q0 q1 q ...) g0 g ...)\n     (run n (x) (fresh (q0 q1 q ...) g0 g ... (== `(,q0 ,q1 ,q ...) x))))))\n\n(define-syntax run*\n  (syntax-rules ()\n    ((_ (q0 q ...) g0 g ...) (run #f (q0 q ...) g0 g ...))))\n\n(define take\n  (lambda (n f)\n    (cond\n      ((and n (zero? n)) '())\n      (else\n       (case-inf (f)\n         (() '())\n         ((f) (take n f))\n         ((c) (cons c '()))\n         ((c f) (cons c\n                  (take (and n (- n 1)) f))))))))\n\n(define-syntax conde\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       (inc (bind (state-depth-deepen (state-with-scope st (new-scope)))\n                  (lambdag@ (st)\n                    (mplus* (bind*-depth st g0 g ...)\n                            (bind*-depth st g1 g^ ...) ...))))))))\n(define-syntax conde-dfs\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       (inc (bind (state-depth-deepen (state-with-scope st (new-scope)))\n                  (lambdag@ (st)\n                    (mplus*-dfs (bind*-depth st g0 g ...)\n                                (bind*-depth st g1 g^ ...) ...))))))))\n(define-syntax conde-weighted\n  (syntax-rules ()\n    ((_ (w0 c0 g0 g ...) (w1 c1 g1 g^ ...) ...)\n     (lambdag@ (st)\n       (inc (bind (state-depth-deepen (state-with-scope st (new-scope)))\n                  (lambdag@ (st)\n                    (mplus*-weighted\n                      (w0 c0 (bind*-depth st g0 g ...))\n                      (w1 c1 (bind*-depth st g1 g^ ...)) ...))))))))\n\n(define-syntax conde$\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       (let ((st (state-with-scope st (new-scope))))\n         (mplus*\n           (bind*-depth st g0 g ...)\n           (bind*-depth st g1 g^ ...) ...))))))\n(define-syntax conde$-dfs\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       (let ((st (state-with-scope st (new-scope))))\n         (mplus*-dfs\n           (bind*-depth st g0 g ...)\n           (bind*-depth st g1 g^ ...) ...))))))\n(define-syntax conde$-weighted\n  (syntax-rules ()\n    ((_ (w0 c0 g0 g ...) (w1 c1 g1 g^ ...) ...)\n     (lambdag@ (st)\n       (let ((st (state-with-scope st (new-scope))))\n         (mplus*-weighted\n           (w0 c0 (bind*-depth st g0 g ...))\n           (w1 c1 (bind*-depth st g1 g^ ...)) ...))))))\n\n(define-syntax case0\n  (syntax-rules ()\n    ((_ expr zero ((cs) more))\n     (let ((result expr)) (if result (let ((cs result)) more) zero)))))\n\n(define-syntax mplus1*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e0 e ...)\n     (case0 e0\n       (mplus1* e ...)\n       ((c0) (mplus0* c0 e ...))))))\n\n(define-syntax mplus0*\n  (syntax-rules ()\n    ((_ unpruned) (if (procedure? unpruned) (unpruned) unpruned))\n    ((_ unpruned e0 e ...)\n     (case0 e0\n       (mplus0* unpruned e ...)\n       ((c0) (inc (mplus unpruned (inc (mplus* c0 e ...)))))))))\n\n(define-syntax let**\n  (syntax-rules ()\n    ((_ () body) body)\n    ((_ (((name val) ...) ... ((name1 val1) ...)) body ...)\n     (let** (((name val) ...) ...) (let* ((name1 val1) ...) body ...)))))\n\n(define-syntax conde1^\n  (syntax-rules ()\n    ((_ conde^ (((name lvar) ...) ...) (g0 g ...) ...)\n     (lambdag@ (st)\n       (let** (((name (walk lvar (state-S st))) ...) ...\n               ((depth (state-depth st))\n                (goal (lambdag@ (st) ((conde^ (g0 g ...) ...)\n                                      (state-depth-set st depth))))\n                (goal-deterministic\n                  (lambdag@ (st) ((conde$ (g0 g ...) ...)\n                                  (state-depth-set st depth))))))\n         (if (and (ormap var? (list name ...)) ...)\n           (state-deferred-defer st goal)\n           (goal-deterministic st)))))))\n(define-syntax conde1\n  (syntax-rules () ((_ body ...) (conde1^ conde body ...))))\n(define-syntax conde1$\n  (syntax-rules () ((_ body ...) (conde1^ conde$ body ...))))\n\n(define-syntax mplus*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e0 e ...) (mplus e0\n                    (inc (mplus* e ...))))))\n(define-syntax mplus*-dfs\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e0 e ...) (mplus-dfs e0\n                    (inc (mplus*-dfs e ...))))))\n(define-syntax mplus*-weighted\n  (syntax-rules ()\n    ((_ (_ _ e)) e)\n    ((_ (w0 c0 e0) e ...)\n     (mplus-weighted w0 w0 1 c0 e0 (inc (mplus*-weighted e ...))))))\n\n(define mplus\n  (lambda (c-inf f)\n    (case-inf c-inf\n      (() (f))\n      ((f^) (inc (mplus (f) f^)))\n      ((c) (choice c f))\n      ((c f^) (choice c (inc (mplus (f) f^)))))))\n\n(define mplus-dfs\n  (lambda (c-inf f)\n    (case-inf c-inf\n      (() (f))\n      ((f^) (inc (mplus-dfs (f^) f)))\n      ((c) (choice c f))\n      ((c f^) (choice c (inc (mplus-dfs (f^) f)))))))\n\n(define (mplus-weighted-next remaining weight other cycles f^ f)\n  (inc (let ((weight-next (and remaining (- remaining 1))))\n         (if (and weight-next (<= weight-next 0))\n           (let ((cycles (and cycles (- cycles 1))))\n             (if (and cycles (<= cycles 0))\n               (mplus (f) f^)\n               (mplus-weighted other other weight cycles (f) f^)))\n           (mplus-weighted weight-next weight other cycles (f^) f)))))\n(define mplus-weighted\n  (lambda (remaining weight other-weight cycles c-inf f)\n    (case-inf c-inf\n      (() (f))\n      ((f^) (inc (mplus-weighted-next\n                   remaining weight other-weight cycles f^ f)))\n      ((c) (choice c f))\n      ((c f^) (choice c (inc (mplus-weighted-next\n                               remaining weight other-weight cycles f^ f)))))))\n\n; Constraints\n; C refers to the constraint store map\n; c refers to an individual constraint record\n\n\n; Requirements for type constraints:\n; 1. Must be positive, not negative. not-pairo wouldn't work.\n; 2. Each type must have infinitely many possible values to avoid\n;      incorrectness in combination with disequality constraints, like:\n;      (fresh (x) (booleano x) (=/= x #t) (=/= x #f))\n(define type-constraint\n  (lambda (type-pred type-id)\n    (lambda (u)\n      (lambdag@ (st)\n        (let ((term (walk u (state-S st))))\n          (cond\n            ((type-pred term) (unit st))\n            ((var? term)\n             (let* ((c (lookup-c term st))\n                   (T (c-T c)))\n               (cond\n                 ((eq? T type-id) (unit st))\n                 ((not T) (unit (set-c term (c-with-T c type-id) st)))\n                 (else (mzero)))))\n            (else (mzero))))))))\n\n(define symbolo (type-constraint symbol? 'symbolo))\n(define numbero (type-constraint number? 'numbero))\n\n(define (add-to-D st v d)\n  (let* ((c (lookup-c v st))\n         (c^ (c-with-D c (cons d (c-D c)))))\n    (set-c v c^ st)))\n\n(define =/=*\n  (lambda (S+)\n    (lambdag@ (st)\n      (let-values (((S added) (unify* S+ (subst-with-scope (state-S st) nonlocal-scope))))\n        (cond\n          ((not S) (unit st))\n          ((null? added) (mzero))\n          (else\n            ; Choose one of the disequality elements (el) to attach the constraint to. Only\n            ; need to choose one because all must fail to cause the constraint to fail.\n            (let ((el (car added)))\n              (let ((st (add-to-D st (car el) added)))\n                (if (var? (cdr el))\n                  (add-to-D st (cdr el) added)\n                  st)))))))))\n\n(define =/=\n  (lambda (u v)\n    (=/=* `((,u . ,v)))))\n\n(define absento\n  (lambda (ground-atom term)\n    (lambdag@ (st)\n      (let ((term (walk term (state-S st))))\n        (cond\n          ((pair? term)\n           (let ((st^ ((absento ground-atom (car term)) st)))\n             (and st^ ((absento ground-atom (cdr term)) st^))))\n          ((eqv? term ground-atom) (mzero))\n          ((var? term)\n           (let* ((c (lookup-c term st))\n                  (A (c-A c)))\n             (if (memv ground-atom A)\n               (unit st)\n               (let ((c^ (c-with-A c (cons ground-atom A))))\n                 (unit (set-c term c^ st))))))\n          (else (unit st)))))))\n\n; Fold lst with proc and initial value init. If proc ever returns #f,\n; return with #f immediately. Used for applying a series of constraints\n; to a state, failing if any operation fails.\n(define (and-foldl proc init lst)\n  (if (null? lst)\n    init\n    (let ([res (proc (car lst) init)])\n      (and res (and-foldl proc res (cdr lst))))))\n\n(define ==\n  (lambda (u v)\n    (lambdag@ (st)\n      (let-values (((S added) (unify u v (state-S st))))\n        (if S\n          (and-foldl\n            update-constraints\n            (state S (state-C st) (state-depth st) (state-deferred st)) added)\n          (mzero))))))\n\n\n; Not fully optimized. Could do absento update with fewer hash-refs / hash-sets.\n(define update-constraints\n  (lambda (a st)\n    (let ([old-c (lookup-c (lhs a) st)])\n      (if (eq? old-c empty-c)\n        st\n        (let ((st (remove-c (lhs a) st)))\n         (and-foldl (lambda (op st) (op st)) st\n          (append\n            (if (eq? (c-T old-c) 'symbolo)\n              (list (symbolo (rhs a)))\n              '())\n            (if (eq? (c-T old-c) 'numbero)\n              (list (numbero (rhs a)))\n              '())\n            (map (lambda (atom) (absento atom (rhs a))) (c-A old-c))\n            (map (lambda (d) (=/=* d)) (c-D old-c)))))))))\n\n\n; Reification\n\n(define walk*\n  (lambda (v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v) v)\n        ((pair? v)\n         (cons (walk* (car v) S) (walk* (cdr v) S)))\n        (else v)))))\n\n(define vars\n  (lambda (term acc)\n    (cond\n      ((var? term) (cons term acc))\n      ((pair? term)\n       (vars (cdr term) (vars (car term) acc)))\n      (else acc))))\n\n(define-syntax project\n  (syntax-rules ()\n    ((_ (x ...) g g* ...)\n     (lambdag@ (st)\n       (let ((x (walk* x (state-S st))) ...)\n         ((fresh () g g* ...) st))))))\n\n(define-syntax project0\n  (syntax-rules ()\n    ((_ (x ...) g g* ...)\n     (lambdag@ (st)\n       (let ((x (walk x (state-S st))) ...)\n         ((fresh () g g* ...) st))))))\n\n; Create a constraint store of the old representation from a state object,\n; so that we can use the old reifier. Only accumulates constraints related\n; to the variable being reified which makes things a bit faster.\n(define c-from-st\n  (lambda (st x)\n    (let ((vs (vars (walk* x (state-S st)) '())))\n      (foldl\n        (lambda (v c-store)\n          (let ((c (lookup-c v st)))\n            (let ((S (state-S st))\n                  (D (c->D c-store))\n                  (Y (c->Y c-store))\n                  (N (c->N c-store))\n                  (T (c->T c-store))\n                  (T^ (c-T c))\n                  (D^ (c-D c))\n                  (A^ (c-A c)))\n              `(,S\n                 ,(append D^ D)\n                 ,(if (eq? T^ 'symbolo)\n                    (cons v Y)\n                    Y)\n                 ,(if (eq? T^ 'numbero)\n                    (cons v N)\n                    N)\n                 ,(append\n                    (map (lambda (atom) (cons atom v)) A^)\n                    T)))))\n        `(,(state-S st) () () () ())\n        (remove-duplicates vs)))))\n\n(define reify\n  (lambda (x)\n    (lambda (st)\n      (let ((c (c-from-st st x)))\n        (let ((c (cycle c)))\n          (let* ((S (c->S c))\n                 (D (walk* (c->D c) S))\n                 (Y (walk* (c->Y c) S))\n                 (N (walk* (c->N c) S))\n                 (T (walk* (c->T c) S)))\n            (let ((v (walk* x S)))\n              (let ((R (reify-S v (subst empty-subst-map nonlocal-scope))))\n                (reify+ v R\n                        (let ((D (remp\n                                   (lambda (d)\n                                     (let ((dw (walk* d S)))\n                                       (anyvar? dw R)))\n                                   (rem-xx-from-d c))))\n                          (rem-subsumed D))\n                        (remp\n                          (lambda (y) (var? (walk y R)))\n                          Y)\n                        (remp\n                          (lambda (n) (var? (walk n R)))\n                          N)\n                        (remp (lambda (t)\n                                (anyvar? t R)) T))))))))))\n\n\n; Bits from the old constraint implementation, still used for reification.\n\n; In this part of the code, c refers to the\n; old constraint store with components:\n; S - substitution\n; D - disequality constraints\n; Y - symbolo\n; N - numbero\n; T - absento\n\n(define c->S (lambda (c) (car c)))\n(define c->D (lambda (c) (cadr c)))\n(define c->Y (lambda (c) (caddr c)))\n(define c->N (lambda (c) (cadddr c)))\n(define c->T (lambda (c) (cadddr (cdr c))))\n\n(define-syntax conda\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       ;; is 'state-with-scope' required here, as it is with conde?\n       ;; I don't think so.\n       (inc\n        (ifa ((g0 st) g ...)\n             ((g1 st) g^ ...) ...))))))\n\n(define-syntax ifa\n  (syntax-rules ()\n    ((_) (mzero))\n    ((_ (e g ...) b ...)\n     (let loop ((c-inf e))\n       (case-inf c-inf\n         (() (ifa b ...))\n         ((f) (inc (loop (f))))\n         ((a) (bind* c-inf g ...))\n         ((a f) (bind* c-inf g ...)))))))\n\n(define-syntax condu\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       ;; is 'state-with-scope' required here, as it is with conde?\n       ;; I don't think so.\n       (inc\n        (ifu ((g0 st) g ...)\n             ((g1 st) g^ ...) ...))))))\n\n(define-syntax ifu\n  (syntax-rules ()\n    ((_) (mzero))\n    ((_ (e g ...) b ...)\n     (let loop ((c-inf e))\n       (case-inf c-inf\n         (() (ifu b ...))\n         ((f) (inc (loop (f))))\n         ((c) (bind* c-inf g ...))\n         ((c f) (bind* (unit c) g ...)))))))\n\n; Syntax for reification goal objects using the old constraint store\n(define-syntax lambdar@\n  (syntax-rules (:)\n    ((_ (c) e) (lambda (c) e))\n    ((_ (c : S D Y N T) e)\n     (lambda (c)\n       (let ((S (c->S c)) (D (c->D c)) (Y (c->Y c)) (N (c->N c)) (T (c->T c)))\n         e)))))\n\n(define tagged?\n  (lambda (S Y y^)\n    (exists (lambda (y) (eqv? (walk y S) y^)) Y)))\n\n(define untyped-var?\n  (lambda (S Y N t^)\n    (let ((in-type? (lambda (y) (var-eq? (walk y S) t^))))\n      (and (var? t^)\n           (not (exists in-type? Y))\n           (not (exists in-type? N))))))\n\n(define reify-S\n  (lambda (v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v)\n         (let ((n (subst-length S)))\n           (let ((name (reify-name n)))\n             (subst-add S v name))))\n        ((pair? v)\n         (let ((S (reify-S (car v) S)))\n           (reify-S (cdr v) S)))\n        (else S)))))\n\n(define reify-name\n  (lambda (n)\n    (string->symbol\n      (string-append \"_\" \".\" (number->string n)))))\n\n(define drop-dot\n  (lambda (X)\n    (map (lambda (t)\n           (let ((a (lhs t))\n                 (d (rhs t)))\n             `(,a ,d)))\n         X)))\n\n(define sorter\n  (lambda (ls)\n    (list-sort lex<=? ls)))\n\n(define lex<=?\n  (lambda (x y)\n    (string<=? (datum->string x) (datum->string y))))\n\n(define datum->string\n  (lambda (x)\n    (call-with-string-output-port\n      (lambda (p) (display x p)))))\n\n;;; WEB -- 28 June 2016 -- return #t if walk*'d term t contains a gensym\n;;; (Barliman hack to make the reified answers more readable.)\n(define anygen?\n  (lambda (t)\n    (cond\n      ((pair? t)\n       (or (anygen? (car t))\n           (anygen? (cdr t))))\n      (else (gensym? t)))))\n\n(define anyvar?\n  (lambda (u r)\n    (cond\n      ((pair? u)\n       (or (anyvar? (car u) r)\n           (anyvar? (cdr u) r)))\n      (else (var? (walk u r))))))\n\n(define member*\n  (lambda (u v)\n    (cond\n      ((equal? u v) #t)\n      ((pair? v)\n       (or (member* u (car v)) (member* u (cdr v))))\n      (else #f))))\n\n(define drop-N-b/c-const\n  (lambdar@ (c : S D Y N T)\n    (let ((const? (lambda (n)\n                    (not (var? (walk n S))))))\n      (cond\n        ((find const? N) =>\n           (lambda (n) `(,S ,D ,Y ,(remq1 n N) ,T)))\n        (else c)))))\n\n(define drop-Y-b/c-const\n  (lambdar@ (c : S D Y N T)\n    (let ((const? (lambda (y)\n                    (not (var? (walk y S))))))\n      (cond\n        ((find const? Y) =>\n           (lambda (y) `(,S ,D ,(remq1 y Y) ,N ,T)))\n        (else c)))))\n\n(define remq1\n  (lambda (elem ls)\n    (cond\n      ((null? ls) '())\n      ((eq? (car ls) elem) (cdr ls))\n      (else (cons (car ls) (remq1 elem (cdr ls)))))))\n\n(define same-var?\n  (lambda (v)\n    (lambda (v^)\n      (and (var? v) (var? v^) (var-eq? v v^)))))\n\n(define find-dup\n  (lambda (f S)\n    (lambda (set)\n      (let loop ((set^ set))\n        (cond\n          ((null? set^) #f)\n          (else\n           (let ((elem (car set^)))\n             (let ((elem^ (walk elem S)))\n               (cond\n                 ((find (lambda (elem^^)\n                          ((f elem^) (walk elem^^ S)))\n                        (cdr set^))\n                  elem)\n                 (else (loop (cdr set^))))))))))))\n\n(define drop-N-b/c-dup-var\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-dup same-var? S) N) =>\n       (lambda (n) `(,S ,D ,Y ,(remq1 n N) ,T)))\n      (else c))))\n\n(define drop-Y-b/c-dup-var\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-dup same-var? S) Y) =>\n       (lambda (y)\n         `(,S ,D ,(remq1 y Y) ,N ,T)))\n      (else c))))\n\n(define var-type-mismatch?\n  (lambda (S Y N t1^ t2^)\n    (cond\n      ((num? S N t1^) (not (num? S N t2^)))\n      ((sym? S Y t1^) (not (sym? S Y t2^)))\n      (else #f))))\n\n(define term-ununifiable?\n  (lambda (S Y N t1 t2)\n    (let ((t1^ (walk t1 S))\n          (t2^ (walk t2 S)))\n      (cond\n        ((or (untyped-var? S Y N t1^) (untyped-var? S Y N t2^)) #f)\n        ((var? t1^) (var-type-mismatch? S Y N t1^ t2^))\n        ((var? t2^) (var-type-mismatch? S Y N t2^ t1^))\n        ((and (pair? t1^) (pair? t2^))\n         (or (term-ununifiable? S Y N (car t1^) (car t2^))\n             (term-ununifiable? S Y N (cdr t1^) (cdr t2^))))\n        (else (not (eqv? t1^ t2^)))))))\n\n(define T-term-ununifiable?\n  (lambda (S Y N)\n    (lambda (t1)\n      (let ((t1^ (walk t1 S)))\n        (letrec\n            ((t2-check\n              (lambda (t2)\n                (let ((t2^ (walk t2 S)))\n                  (if (pair? t2^)\n                    (and\n                       (term-ununifiable? S Y N t1^ t2^)\n                       (t2-check (car t2^))\n                       (t2-check (cdr t2^)))\n                    (term-ununifiable? S Y N t1^ t2^))))))\n          t2-check)))))\n\n(define num?\n  (lambda (S N n)\n    (let ((n (walk n S)))\n      (cond\n        ((var? n) (tagged? S N n))\n        (else (number? n))))))\n\n(define sym?\n  (lambda (S Y y)\n    (let ((y (walk y S)))\n      (cond\n        ((var? y) (tagged? S Y y))\n        (else (symbol? y))))))\n\n(define drop-T-b/c-Y-and-N\n  (lambdar@ (c : S D Y N T)\n    (let ((drop-t? (T-term-ununifiable? S Y N)))\n      (cond\n        ((find (lambda (t) ((drop-t? (lhs t)) (rhs t))) T) =>\n         (lambda (t) `(,S ,D ,Y ,N ,(remq1 t T))))\n        (else c)))))\n\n(define move-T-to-D-b/c-t2-atom\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((exists (lambda (t)\n               (let ((t2^ (walk (rhs t) S)))\n                 (cond\n                   ((and (not (untyped-var? S Y N t2^))\n                         (not (pair? t2^)))\n                    (let ((T (remq1 t T)))\n                      `(,S ((,t) . ,D) ,Y ,N ,T)))\n                   (else #f))))\n             T))\n      (else c))))\n\n(define terms-pairwise=?\n  (lambda (pr-a^ pr-d^ t-a^ t-d^ S)\n    (or\n     (and (term=? pr-a^ t-a^ S)\n          (term=? pr-d^ t-a^ S))\n     (and (term=? pr-a^ t-d^ S)\n          (term=? pr-d^ t-a^ S)))))\n\n(define T-superfluous-pr?\n  (lambda (S Y N T)\n    (lambda (pr)\n      (let ((pr-a^ (walk (lhs pr) S))\n            (pr-d^ (walk (rhs pr) S)))\n        (cond\n          ((exists\n               (lambda (t)\n                 (let ((t-a^ (walk (lhs t) S))\n                       (t-d^ (walk (rhs t) S)))\n                   (terms-pairwise=? pr-a^ pr-d^ t-a^ t-d^ S)))\n             T)\n           (for-all\n            (lambda (t)\n              (let ((t-a^ (walk (lhs t) S))\n                    (t-d^ (walk (rhs t) S)))\n                (or\n                 (not (terms-pairwise=? pr-a^ pr-d^ t-a^ t-d^ S))\n                 (untyped-var? S Y N t-d^)\n                 (pair? t-d^))))\n            T))\n          (else #f))))))\n\n(define drop-from-D-b/c-T\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((find\n           (lambda (d)\n             (exists\n                 (T-superfluous-pr? S Y N T)\n               d))\n         D) =>\n         (lambda (d) `(,S ,(remq1 d D) ,Y ,N ,T)))\n      (else c))))\n\n(define drop-t-b/c-t2-occurs-t1\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((find (lambda (t)\n               (let ((t-a^ (walk (lhs t) S))\n                     (t-d^ (walk (rhs t) S)))\n                 (mem-check t-d^ t-a^ S)))\n             T) =>\n             (lambda (t)\n               `(,S ,D ,Y ,N ,(remq1 t T))))\n      (else c))))\n\n(define split-t-move-to-d-b/c-pair\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((exists\n         (lambda (t)\n           (let ((t2^ (walk (rhs t) S)))\n             (cond\n               ((pair? t2^) (let ((ta `(,(lhs t) . ,(car t2^)))\n                                  (td `(,(lhs t) . ,(cdr t2^))))\n                              (let ((T `(,ta ,td . ,(remq1 t T))))\n                                `(,S ((,t) . ,D) ,Y ,N ,T))))\n               (else #f))))\n         T))\n      (else c))))\n\n(define find-d-conflict\n  (lambda (S Y N)\n    (lambda (D)\n      (find\n       (lambda (d)\n\t (exists (lambda (pr)\n\t\t   (term-ununifiable? S Y N (lhs pr) (rhs pr)))\n\t\t d))\n       D))))\n\n(define drop-D-b/c-Y-or-N\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-d-conflict S Y N) D) =>\n       (lambda (d) `(,S ,(remq1 d D) ,Y ,N ,T)))\n      (else c))))\n\n(define cycle\n  (lambdar@ (c)\n    (let loop ((c^ c)\n               (fns^ (LOF))\n               (n (length (LOF))))\n      (cond\n        ((zero? n) c^)\n        ((null? fns^) (loop c^ (LOF) n))\n        (else\n         (let ((c^^ ((car fns^) c^)))\n           (cond\n             ((not (eq? c^^ c^))\n              (loop c^^ (cdr fns^) (length (LOF))))\n             (else (loop c^ (cdr fns^) (sub1 n))))))))))\n\n(define mem-check\n  (lambda (u t S)\n    (let ((t (walk t S)))\n      (cond\n        ((pair? t)\n         (or (term=? u t S)\n             (mem-check u (car t) S)\n             (mem-check u (cdr t) S)))\n        (else (term=? u t S))))))\n\n(define term=?\n  (lambda (u t S)\n    (let-values (((S added) (unify u t (subst-with-scope S nonlocal-scope))))\n      (and S (null? added)))))\n\n(define ground-non-<type>?\n  (lambda (pred)\n    (lambda (u S)\n      (let ((u (walk u S)))\n        (cond\n          ((var? u) #f)\n          (else (not (pred u))))))))\n\n(define ground-non-symbol?\n  (ground-non-<type>? symbol?))\n\n(define ground-non-number?\n  (ground-non-<type>? number?))\n\n(define succeed (== #f #f))\n\n(define fail (== #f #t))\n\n(define (onceo g)\n  (condu\n    (g succeed)))\n\n(define ==fail-check\n  (lambda (S0 D Y N T)\n    (let ([S0 (subst-with-scope S0 nonlocal-scope)])\n      (cond\n        ((atomic-fail-check S0 Y ground-non-symbol?) #t)\n        ((atomic-fail-check S0 N ground-non-number?) #t)\n        ((symbolo-numbero-fail-check S0 Y N) #t)\n        ((=/=-fail-check S0 D) #t)\n        ((absento-fail-check S0 T) #t)\n        (else #f)))))\n\n(define atomic-fail-check\n  (lambda (S A pred)\n    (exists (lambda (a) (pred (walk a S) S)) A)))\n\n(define symbolo-numbero-fail-check\n  (lambda (S A N)\n    (let ((N (map (lambda (n) (walk n S)) N)))\n      (exists (lambda (a) (exists (same-var? (walk a S)) N))\n        A))))\n\n(define absento-fail-check\n  (lambda (S T)\n    (exists (lambda (t) (mem-check (lhs t) (rhs t) S)) T)))\n\n(define =/=-fail-check\n  (lambda (S D)\n    (exists (d-fail-check S) D)))\n\n(define d-fail-check\n  (lambda (S)\n    (lambda (d)\n      (let-values (((S added) (unify* d S)))\n        (and S (null? added))))))\n\n(define reify+\n  (lambda (v R D Y N T)\n    (form (walk* v R)\n          (walk* D R)\n          (walk* Y R)\n          (walk* N R)\n          (rem-subsumed-T (walk* T R)))))\n\n;;; WEB -- 28 June 2016 -- ensure reified value is always a list of\n;;; term followed by (potentially empty) list of constraints\n(define form\n  (lambda (v D Y N T)\n    (let ((fd (sort-D D))\n          (fy (sorter Y))\n          (fn (sorter N))\n          (ft (sorter T)))\n      (let ((fd (if (null? fd) fd\n                    (let ((fd (drop-dot-D fd)))\n                      `((=/= . ,fd)))))\n            (fy (if (null? fy) fy `((sym . ,fy))))\n            (fn (if (null? fn) fn `((num . ,fn))))\n            (ft (if (null? ft) ft\n                    (let ((ft (drop-dot ft)))\n                      `((absento . ,ft))))))\n        (append `(,v) (filter-gensyms (append fd fn fy ft)))))))\n\n;;; WEB -- 27 Oct 2016 -- (hopefully) fixed code that removes constraints containing gensyms\n;;; Must make sure we only remove those portions of a constraint that actually contain gensyms!\n;;; We don't need to worry about symbolo or numbero constraints, since gensyms are symbols!\n(define filter-gensyms\n  (lambda (loc)\n    (cond\n      ((null? loc) '())\n      ((or (eqv? (caar loc) '=/=)\n           (eqv? (caar loc) 'absento))\n       (let ((fc (filter (lambda (c) (not (anygen? c))) (cdar loc))))\n         (if (null? fc)\n             (filter-gensyms (cdr loc))\n             (cons (cons (caar loc) fc)\n                   (filter-gensyms (cdr loc))))))\n      (else (cons (car loc) (filter-gensyms (cdr loc)))))))\n\n#|\n(define form\n  (lambda (v D Y N T)\n    (let ((fd (sort-D D))\n          (fy (sorter Y))\n          (fn (sorter N))\n          (ft (sorter T)))\n      (let ((fd (if (null? fd) fd\n                    (let ((fd (drop-dot-D fd)))\n                      `((=/= . ,fd)))))\n            (fy (if (null? fy) fy `((sym . ,fy))))\n            (fn (if (null? fn) fn `((num . ,fn))))\n            (ft (if (null? ft) ft\n                    (let ((ft (drop-dot ft)))\n                      `((absento . ,ft))))))\n        (cond\n          ((and (null? fd) (null? fy)\n                (null? fn) (null? ft))\n           v)\n          (else (append `(,v) fd fn fy ft)))))))\n|#\n\n(define sort-D\n  (lambda (D)\n    (sorter\n     (map sort-d D))))\n\n(define sort-d\n  (lambda (d)\n    (list-sort\n       (lambda (x y)\n         (lex<=? (car x) (car y)))\n       (map sort-pr d))))\n\n(define drop-dot-D\n  (lambda (D)\n    (map drop-dot D)))\n\n(define lex<-reified-name?\n  (lambda (r)\n    (char<?\n     (string-ref\n      (datum->string r) 0)\n     #\\_)))\n\n(define sort-pr\n  (lambda (pr)\n    (let ((l (lhs pr))\n          (r (rhs pr)))\n      (cond\n        ((lex<-reified-name? r) pr)\n        ((lex<=? r l) `(,r . ,l))\n        (else pr)))))\n\n(define rem-subsumed\n  (lambda (D)\n    (let rem-subsumed ((D D) (d^* '()))\n      (cond\n        ((null? D) d^*)\n        ((or (subsumed? (car D) (cdr D))\n             (subsumed? (car D) d^*))\n         (rem-subsumed (cdr D) d^*))\n        (else (rem-subsumed (cdr D)\n                (cons (car D) d^*)))))))\n\n(define subsumed?\n  (lambda (d d*)\n    (cond\n      ((null? d*) #f)\n      (else\n        (let-values (((S ignore) (unify* d (subst empty-subst-map nonlocal-scope))))\n          (let-values (((S+ added) (unify* (car d*) S)))\n            (or\n              (and S+ (null? added))\n              (subsumed? d (cdr d*)))))))))\n\n\n\n(define rem-xx-from-d\n  (lambdar@ (c : S D Y N T)\n    (let ((D (walk* D S)))\n      (remp not\n            (map (lambda (d)\n                   (let-values (((S0 ignore) (unify* d S)))\n                     (cond\n                       ((not S0) #f)\n                       ((==fail-check S0 '() Y N T) #f)\n                       (else\n                         (let-values (((S added) (unify* d (subst empty-subst-map nonlocal-scope))))\n                           added)))))\n                 D)))))\n\n(define rem-subsumed-T\n  (lambda (T)\n    (let rem-subsumed ((T T) (T^ '()))\n      (cond\n        ((null? T) T^)\n        (else\n         (let ((lit (lhs (car T)))\n               (big (rhs (car T))))\n           (cond\n             ((or (subsumed-T? lit big (cdr T))\n                  (subsumed-T? lit big T^))\n              (rem-subsumed (cdr T) T^))\n             (else (rem-subsumed (cdr T)\n                     (cons (car T) T^))))))))))\n\n(define subsumed-T?\n  (lambda (lit big T)\n    (cond\n      ((null? T) #f)\n      (else\n       (let ((lit^ (lhs (car T)))\n             (big^ (rhs (car T))))\n         (or\n           (and (eq? big big^) (member* lit^ lit))\n           (subsumed-T? lit big (cdr T))))))))\n\n(define LOF\n  (lambda ()\n    `(,drop-N-b/c-const ,drop-Y-b/c-const ,drop-Y-b/c-dup-var\n      ,drop-N-b/c-dup-var ,drop-D-b/c-Y-or-N ,drop-T-b/c-Y-and-N\n      ,move-T-to-D-b/c-t2-atom ,split-t-move-to-d-b/c-pair\n      ,drop-from-D-b/c-T ,drop-t-b/c-t2-occurs-t1)))\n\n"
  },
  {
    "path": "attic/code/mk/test-all.scm",
    "content": "(printf \"test-type-infer\\n\")\n(load \"test-type-infer.scm\")\n\n(printf \"test-interp\\n\")\n(load \"test-interp.scm\")\n\n(printf \"test-quines\\n\")\n(load \"test-quines.scm\")\n\n(printf \"test-arithmetic\\n\")\n(load \"test-arithmetic.scm\")\n"
  },
  {
    "path": "attic/code/mk/test-arithmetic.scm",
    "content": "(load \"test-check.scm\")\n(load \"arithmetic.scm\")\n\n(test \"test 1\"\n  (run* (q) (*o (build-num 2) (build-num 3) q))\n  '(((0 1 1))))\n\n(test \"test 2\"\n  (run* (q)\n    (fresh (n m)\n      (*o n m (build-num 6))\n      (== `(,n ,m) q)))\n  '((((1) (0 1 1))) (((0 1 1) (1))) (((0 1) (1 1))) (((1 1) (0 1)))))\n\n(test \"sums\"\n  (run 5 (q)\n    (fresh (x y z)\n      (pluso x y z)\n      (== `(,x ,y ,z) q)))\n  '(((_.0 () _.0))\n    ((() (_.0 . _.1) (_.0 . _.1)))\n    (((1) (1) (0 1)))\n    (((1) (0 _.0 . _.1) (1 _.0 . _.1)))\n    (((1) (1 1) (0 0 1)))))\n\n(test \"factors\"\n  (run* (q)\n    (fresh (x y)\n      (*o x y (build-num 24))\n      (== `(,x ,y ,(build-num 24)) q)))\n  '((((1) (0 0 0 1 1) (0 0 0 1 1)))\n    (((0 0 0 1 1) (1) (0 0 0 1 1)))\n    (((0 1) (0 0 1 1) (0 0 0 1 1)))\n    (((0 0 1) (0 1 1) (0 0 0 1 1)))\n    (((0 0 0 1) (1 1) (0 0 0 1 1)))\n    (((1 1) (0 0 0 1) (0 0 0 1 1)))\n    (((0 1 1) (0 0 1) (0 0 0 1 1)))\n    (((0 0 1 1) (0 1) (0 0 0 1 1)))))\n\n(define number-primo\n  (lambda (exp env val)\n    (fresh (n)\n      (== `(intexp ,n) exp)\n      (== `(intval ,n) val)\n      (not-in-envo 'numo env))))\n\n(define sub1-primo\n  (lambda (exp env val)\n    (fresh (e n n-1)\n      (== `(sub1 ,e) exp)\n      (== `(intval ,n-1) val)\n      (not-in-envo 'sub1 env)\n      (eval-expo e env `(intval ,n))\n      (minuso n '(1) n-1))))\n\n(define zero?-primo\n  (lambda (exp env val)\n    (fresh (e n)\n      (== `(zero? ,e) exp)\n      (conde\n        ((zeroo n) (== #t val))\n        ((poso n) (== #f val)))\n      (not-in-envo 'zero? env)\n      (eval-expo e env `(intval ,n)))))\n\n(define *-primo\n  (lambda (exp env val)\n    (fresh (e1 e2 n1 n2 n3)\n      (== `(* ,e1 ,e2) exp)\n      (== `(intval ,n3) val)\n      (not-in-envo '* env)\n      (eval-expo e1 env `(intval ,n1))\n      (eval-expo e2 env `(intval ,n2))\n      (*o n1 n2 n3))))\n\n(define if-primo\n  (lambda (exp env val)\n    (fresh (e1 e2 e3 t)\n      (== `(if ,e1 ,e2 ,e3) exp)\n      (not-in-envo 'if env)\n      (eval-expo e1 env t)\n      (conde\n        ((== #t t) (eval-expo e2 env val))\n        ((== #f t) (eval-expo e3 env val))))))\n\n(define boolean-primo\n  (lambda (exp env val)\n    (conde\n      ((== #t exp) (== #t val))\n      ((== #f exp) (== #f val)))))\n\n(define eval-expo\n  (lambda (exp env val)\n    (conde\n      ((boolean-primo exp env val))\n      ((number-primo exp env val))\n      ((sub1-primo exp env val))\n      ((zero?-primo exp env val))\n      ((*-primo exp env val))\n      ((if-primo exp env val))\n      ((symbolo exp) (lookupo exp env val))\n      ((fresh (rator rand x body env^ a)\n         (== `(,rator ,rand) exp)\n         (eval-expo rator env `(closure ,x ,body ,env^))\n         (eval-expo rand env a)\n         (eval-expo body `((,x . ,a) . ,env^) val)))\n      ((fresh (x body)\n         (== `(lambda (,x) ,body) exp)\n         (symbolo x)\n         (== `(closure ,x ,body ,env) val)\n         (not-in-envo 'lambda env))))))\n\n(define not-in-envo\n  (lambda (x env)\n    (conde\n      ((fresh (y v rest)\n         (== `((,y . ,v) . ,rest) env)\n         (=/= y x)\n         (not-in-envo x rest)))\n      ((== '() env)))))\n\n(define lookupo\n  (lambda (x env t)\n    (fresh (rest y v)\n      (== `((,y . ,v) . ,rest) env)\n      (conde\n        ((== y x) (== v t))\n        ((=/= y x) (lookupo x rest t))))))\n\n(test \"push-down problems 2\"\n  (run* (q)\n    (fresh (x a d)\n      (absento 'intval x)\n      (== 'intval a)\n      (== `(,a . ,d) x)))\n  '())\n\n(test \"push-down problems 3\"\n  (run* (q)\n    (fresh (x a d)\n      (== `(,a . ,d) x)\n      (absento 'intval x)\n      (== 'intval a)))\n  '())\n\n(test \"push-down problems 4\"\n  (run* (q)\n    (fresh (x a d)\n      (== `(,a . ,d) x)\n      (== 'intval a)\n      (absento 'intval x)))\n  '())\n\n(test \"push-down problems 6\"\n  (run* (q)\n    (fresh (x a d)\n      (== 'intval a)\n      (== `(,a . ,d) x)\n      (absento 'intval x)))\n  '())\n\n(test \"push-down problems 1\"\n  (run* (q)\n    (fresh (x a d)\n      (absento 'intval x)\n      (== `(,a . ,d) x)\n      (== 'intval a)))\n  '())\n\n(test \"push-down problems 5\"\n  (run* (q)\n    (fresh (x a d)\n      (== 'intval a)\n      (absento 'intval x)\n      (== `(,a . ,d) x)))\n  '())\n\n(test \"zero?\"\n  (run 1 (q)\n       (eval-expo `(zero? (sub1 (intexp ,(build-num 1)))) '() q))\n  '((#t)))\n\n(test \"*\"\n  (run 1 (q)\n       (eval-expo `(* (intexp ,(build-num 3)) (intexp ,(build-num 2))) '() `(intval ,(build-num 6))))\n  '((_.0)))\n\n(test \"sub1\"\n  (run 1 (q)\n       (eval-expo q '() `(intval ,(build-num 6))) (== `(sub1 (intexp ,(build-num 7))) q))\n  '(((sub1 (intexp (1 1 1))))))\n\n(test \"sub1 bigger WAIT a minute\"\n  (run 1 (q)\n    (eval-expo q '() `(intval ,(build-num 6)))\n    (== `(sub1 (sub1 (intexp ,(build-num 8)))) q))\n  '(((sub1 (sub1 (intexp (0 0 0 1)))))))\n\n(test \"sub1 biggest WAIT a minute\"\n  (run 1 (q)\n    (eval-expo q '() `(intval ,(build-num 6)))\n    (== `(sub1 (sub1 (sub1 (intexp ,(build-num 9))))) q))\n  '(((sub1 (sub1 (sub1 (intexp (1 0 0 1))))))))\n\n(test \"lots of programs to make a 6\"\n  (run 12 (q) (eval-expo q '() `(intval ,(build-num 6))))\n  '(((intexp (0 1 1)))\n    ((sub1 (intexp (1 1 1))))\n    ((* (intexp (1)) (intexp (0 1 1))))\n    ((* (intexp (0 1 1)) (intexp (1))))\n    ((if #t (intexp (0 1 1)) _.0))\n    ((* (intexp (0 1)) (intexp (1 1))))\n    ((if #f _.0 (intexp (0 1 1))))\n    ((sub1 (* (intexp (1)) (intexp (1 1 1)))))\n    (((lambda (_.0) (intexp (0 1 1))) #t)\n     (=/= ((_.0 numo)))\n     (sym _.0))\n    ((sub1 (* (intexp (1 1 1)) (intexp (1)))))\n    ((sub1 (sub1 (intexp (0 0 0 1)))))\n    ((sub1 (if #t (intexp (1 1 1)) _.0)))))\n\n(define rel-fact5\n  `((lambda (f)\n      ((f f) (intexp ,(build-num 5))))\n    (lambda (f)\n      (lambda (n)\n        (if (zero? n)\n            (intexp ,(build-num 1))\n            (* n ((f f) (sub1 n))))))))\n\n(test \"rel-fact5\"\n  (run* (q) (eval-expo rel-fact5 '() q))\n  `(((intval ,(build-num 120)))))\n\n(test \"rel-fact5-backwards\"\n  (run 1 (q)\n    (eval-expo\n     `((lambda (f)\n         ((f ,q) (intexp ,(build-num 5))))\n       (lambda (f)\n         (lambda (n)\n           (if (zero? n)\n               (intexp ,(build-num 1))\n               (* n ((f f) (sub1 n)))))))\n     '()\n     `(intval ,(build-num 120))))\n  `((f)))\n"
  },
  {
    "path": "attic/code/mk/test-check.scm",
    "content": "(define-syntax test\n  (syntax-rules ()\n    ((_ title tested-expression expected-result)\n     (begin\n       (printf \"Testing ~s\\n\" title)\n       (let* ((expected expected-result)\n              (produced tested-expression))\n         (or (equal? expected produced)\n             (printf \"Failed: ~s\\nExpected: ~s\\nComputed: ~s\\n\"\n                     'tested-expression expected produced)))))))\n"
  },
  {
    "path": "attic/code/mk/test-interp.scm",
    "content": "(load \"test-check.scm\")\n(load \"mk.scm\")\n\n(define eval-expo\n  (lambda (exp env val)\n    (conde\n      ((fresh (rator rand x body env^ a)\n         (== `(,rator ,rand) exp)\n         (eval-expo rator env `(closure ,x ,body ,env^))\n         (eval-expo rand env a)\n         (eval-expo body `((,x . ,a) . ,env^) val)))\n      ((fresh (x body)\n         (== `(lambda (,x) ,body) exp)\n         (symbolo x)\n         (== `(closure ,x ,body ,env) val)\n         (not-in-envo 'lambda env)))\n      ((symbolo exp) (lookupo exp env val)))))\n\n(define not-in-envo\n  (lambda (x env)\n    (conde\n      ((== '() env))\n      ((fresh (y v rest)\n         (== `((,y . ,v) . ,rest) env)\n         (=/= y x)\n         (not-in-envo x rest))))))\n\n(define lookupo\n  (lambda (x env t)\n    (conde\n      ((fresh (y v rest)\n         (== `((,y . ,v) . ,rest) env) (== y x)\n         (== v t)))\n      ((fresh (y v rest)\n         (== `((,y . ,v) . ,rest) env) (=/= y x)\n         (lookupo x rest t))))))\n\n(test \"running backwards\"\n  (run 5 (q) (eval-expo q '() '(closure y x ((x . (closure z z ()))))))\n  '((((lambda (x) (lambda (y) x)) (lambda (z) z)))\n    (((lambda (x) (x (lambda (y) x))) (lambda (z) z)))\n    (((lambda (x) (lambda (y) x))\n      ((lambda (_.0) _.0) (lambda (z) z)))\n     (sym _.0))\n    (((lambda (_.0) _.0)\n      ((lambda (x) (lambda (y) x)) (lambda (z) z)))\n     (sym _.0))\n    ((((lambda (_.0) _.0) (lambda (x) (lambda (y) x)))\n      (lambda (z) z))\n     (sym _.0))))\n\n(define lookupo\n  (lambda (x env t)\n    (fresh (rest y v)\n      (== `((,y . ,v) . ,rest) env)\n      (conde\n        ((== y x) (== v t))\n        ((=/= y x) (lookupo x rest t))))))\n\n(test \"eval-exp-lc 1\"\n  (run* (q) (eval-expo '(((lambda (x) (lambda (y) x)) (lambda (z) z)) (lambda (a) a)) '() q))\n  '(((closure z z ()))))\n\n(test \"eval-exp-lc 2\"\n  (run* (q) (eval-expo '((lambda (x) (lambda (y) x)) (lambda (z) z)) '() q))\n  '(((closure y x ((x . (closure z z ())))))))\n\n(test \"running backwards\"\n  (run 5 (q) (eval-expo q '() '(closure y x ((x . (closure z z ()))))))\n  '((((lambda (x) (lambda (y) x)) (lambda (z) z)))\n    (((lambda (x) (x (lambda (y) x))) (lambda (z) z)))\n    (((lambda (x) (lambda (y) x))\n      ((lambda (_.0) _.0) (lambda (z) z)))\n     (sym _.0))\n    ((((lambda (_.0) _.0) (lambda (x) (lambda (y) x)))\n      (lambda (z) z))\n     (sym _.0))\n    (((lambda (_.0) _.0)\n      ((lambda (x) (lambda (y) x)) (lambda (z) z)))\n     (sym _.0))))\n\n(test \"fully-running-backwards\"\n  (run 5 (q)\n    (fresh (e v)\n      (eval-expo e '() v)\n      (== `(,e ==> ,v) q)))\n  '((((lambda (_.0) _.1)\n      ==> (closure _.0 _.1 ())) (sym _.0))\n    ((((lambda (_.0) _.0) (lambda (_.1) _.2))\n      ==>\n      (closure _.1 _.2 ()))\n     (sym _.0 _.1))\n    ((((lambda (_.0) (lambda (_.1) _.2)) (lambda (_.3) _.4))\n      ==>\n      (closure _.1 _.2 ((_.0 . (closure _.3 _.4 ())))))\n     (=/= ((_.0 lambda)))\n     (sym _.0 _.1 _.3))\n    ((((lambda (_.0) (_.0 _.0)) (lambda (_.1) _.1))\n      ==>\n      (closure _.1 _.1 ()))\n     (sym _.0 _.1))\n    ((((lambda (_.0) (_.0 _.0))\n       (lambda (_.1) (lambda (_.2) _.3)))\n      ==>\n      (closure _.2 _.3 ((_.1 . (closure _.1 (lambda (_.2) _.3) ())))))\n     (=/= ((_.1 lambda)))\n     (sym _.0 _.1 _.2))))\n"
  },
  {
    "path": "attic/code/mk/test-quines.scm",
    "content": "(load \"test-check.scm\")\n(load \"evalo.scm\")\n\n(test \"1 quine\"\n  (run 1 (q) (evalo q q))\n  '((((lambda (_.0) (list _.0 (list 'quote _.0)))\n      '(lambda (_.0) (list _.0 (list 'quote _.0))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))))\n\n(test \"2 quines\"\n  (run 2 (q) (evalo q q))\n  '((((lambda (_.0) (list _.0 (list 'quote _.0)))\n      '(lambda (_.0) (list _.0 (list 'quote _.0))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (((lambda (_.0)\n        (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))\n      '(lambda (_.0)\n         (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))))\n\n(test \"3 quines\"\n  (run 3 (q) (evalo q q))\n  '((((lambda (_.0) (list _.0 (list 'quote _.0)))\n      '(lambda (_.0) (list _.0 (list 'quote _.0))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (((lambda (_.0)\n        (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))\n      '(lambda (_.0)\n         (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 (list ((lambda (_.1) 'quote) '_.2) _.0)))\n      '(lambda (_.0)\n         (list _.0 (list ((lambda (_.1) 'quote) '_.2) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))))\n\n(test \"5 quines\"\n  (run 5 (q) (evalo q q))\n  '((((lambda (_.0) (list _.0 (list 'quote _.0)))\n      '(lambda (_.0) (list _.0 (list 'quote _.0))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (((lambda (_.0)\n        (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))\n      '(lambda (_.0)\n         (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 (list ((lambda (_.1) 'quote) '_.2) _.0)))\n      '(lambda (_.0)\n         (list _.0 (list ((lambda (_.1) 'quote) '_.2) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list (list 'lambda '(_.0) _.0) (list 'quote _.0)))\n      '(list (list 'lambda '(_.0) _.0) (list 'quote _.0)))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (((lambda (_.0)\n        (list _.0 (list ((lambda (_.1) _.1) 'quote) _.0)))\n      '(lambda (_.0)\n         (list _.0 (list ((lambda (_.1) _.1) 'quote) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))))\n\n(test \"10 quines\"\n  (run 10 (q) (evalo q q))\n  '((((lambda (_.0) (list _.0 (list 'quote _.0)))\n      '(lambda (_.0) (list _.0 (list 'quote _.0))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (((lambda (_.0)\n        (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))\n      '(lambda (_.0)\n         (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 (list ((lambda (_.1) 'quote) '_.2) _.0)))\n      '(lambda (_.0)\n         (list _.0 (list ((lambda (_.1) 'quote) '_.2) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list (list 'lambda '(_.0) _.0) (list 'quote _.0)))\n      '(list (list 'lambda '(_.0) _.0) (list 'quote _.0)))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (((lambda (_.0)\n        (list _.0 (list ((lambda (_.1) _.1) 'quote) _.0)))\n      '(lambda (_.0)\n         (list _.0 (list ((lambda (_.1) _.1) 'quote) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.0 (list 'quote _.0))) '_.2))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.0 (list 'quote _.0))) '_.2)))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 ((lambda (_.1) (list 'quote _.0)) '_.2)))\n      '(lambda (_.0)\n         (list _.0 ((lambda (_.1) (list 'quote _.0)) '_.2))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 (list 'quote ((lambda (_.1) _.0) '_.2))))\n      '(lambda (_.0)\n         (list _.0 (list 'quote ((lambda (_.1) _.0) '_.2)))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.1 (list 'quote _.1))) _.0))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.1 (list 'quote _.1))) _.0)))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list _.0 ((lambda (_.1) (list 'quote _.1)) _.0)))\n      '(lambda (_.0)\n         (list _.0 ((lambda (_.1) (list 'quote _.1)) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))))\n\n(test \"40 quines\"\n  (run 40 (q) (evalo q q))\n  '((((lambda (_.0) (list _.0 (list 'quote _.0)))\n      '(lambda (_.0) (list _.0 (list 'quote _.0))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (((lambda (_.0)\n        (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))\n      '(lambda (_.0)\n         (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 (list ((lambda (_.1) 'quote) '_.2) _.0)))\n      '(lambda (_.0)\n         (list _.0 (list ((lambda (_.1) 'quote) '_.2) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list (list 'lambda '(_.0) _.0) (list 'quote _.0)))\n      '(list (list 'lambda '(_.0) _.0) (list 'quote _.0)))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (((lambda (_.0)\n        (list _.0 (list ((lambda (_.1) _.1) 'quote) _.0)))\n      '(lambda (_.0)\n         (list _.0 (list ((lambda (_.1) _.1) 'quote) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.0 (list 'quote _.0))) '_.2))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.0 (list 'quote _.0))) '_.2)))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 ((lambda (_.1) (list 'quote _.0)) '_.2)))\n      '(lambda (_.0)\n         (list _.0 ((lambda (_.1) (list 'quote _.0)) '_.2))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 (list 'quote ((lambda (_.1) _.0) '_.2))))\n      '(lambda (_.0)\n         (list _.0 (list 'quote ((lambda (_.1) _.0) '_.2)))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.1 (list 'quote _.1))) _.0))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.1 (list 'quote _.1))) _.0)))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list _.0 ((lambda (_.1) (list 'quote _.1)) _.0)))\n      '(lambda (_.0)\n         (list _.0 ((lambda (_.1) (list 'quote _.1)) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.0 (list _.1 _.0))) 'quote))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.0 (list _.1 _.0))) 'quote)))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list _.0 ((lambda (_.1) (list _.1 _.0)) 'quote)))\n      '(lambda (_.0)\n         (list _.0 ((lambda (_.1) (list _.1 _.0)) 'quote))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list _.0 (list 'quote ((lambda (_.1) _.1) _.0))))\n      '(lambda (_.0)\n         (list _.0 (list 'quote ((lambda (_.1) _.1) _.0)))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          (list ((lambda (_.3) 'quote) '_.4) _.0)))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           (list ((lambda (_.3) 'quote) '_.4) _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.3 closure)) ((_.3 quote)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2) (closure _.4)))\n    (((lambda (_.0)\n        (list ((lambda (_.1) _.1) _.0) (list 'quote _.0)))\n      '(lambda (_.0)\n         (list ((lambda (_.1) _.1) _.0) (list 'quote _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list _.0 (list 'quote ((lambda (_.1) _.0) _.0))))\n      '(lambda (_.0)\n         (list _.0 (list 'quote ((lambda (_.1) _.0) _.0)))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list _.0 ((lambda (_.1) (list 'quote _.0)) _.0)))\n      '(lambda (_.0)\n         (list _.0 ((lambda (_.1) (list 'quote _.0)) _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.1 (list 'quote _.0))) _.0))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.1 (list 'quote _.0))) _.0)))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list _.0 (list ((lambda (_.1) 'quote) _.0) _.0)))\n      '(lambda (_.0)\n         (list _.0 (list ((lambda (_.1) 'quote) _.0) _.0))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          (list ((lambda (_.3) _.3) 'quote) _.0)))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           (list ((lambda (_.3) _.3) 'quote) _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.3 closure)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          ((lambda (_.3) (list 'quote _.0)) '_.4)))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           ((lambda (_.3) (list 'quote _.0)) '_.4))))\n     (=/= ((_.0 _.1)) ((_.0 _.3)) ((_.0 closure)) ((_.0 lambda))\n          ((_.0 list)) ((_.0 quote)) ((_.1 closure)) ((_.3 closure))\n          ((_.3 list)) ((_.3 quote)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2) (closure _.4)))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          (list 'quote ((lambda (_.3) _.0) '_.4))))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           (list 'quote ((lambda (_.3) _.0) '_.4)))))\n     (=/= ((_.0 _.1)) ((_.0 _.3)) ((_.0 closure)) ((_.0 lambda))\n          ((_.0 list)) ((_.0 quote)) ((_.1 closure)) ((_.3 closure)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2) (closure _.4)))\n    (((lambda (_.0)\n        (list\n          _.0\n          (list\n            ((lambda (_.1) 'quote) '_.2)\n            ((lambda (_.3) _.0) '_.4))))\n      '(lambda (_.0)\n         (list\n           _.0\n           (list\n             ((lambda (_.1) 'quote) '_.2)\n             ((lambda (_.3) _.0) '_.4)))))\n     (=/= ((_.0 _.3)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)) ((_.3 closure)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2) (closure _.4)))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.0 (list 'quote _.1))) _.0))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.0 (list 'quote _.1))) _.0)))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list _.0 (list 'quote ((lambda (_.1) _.0) (list)))))\n      '(lambda (_.0)\n         (list _.0 (list 'quote ((lambda (_.1) _.0) (list))))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list\n          (list 'lambda '(_.0) _.0)\n          (list ((lambda (_.1) 'quote) '_.2) _.0)))\n      '(list\n         (list 'lambda '(_.0) _.0)\n         (list ((lambda (_.1) 'quote) '_.2) _.0)))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        ((lambda (_.1)\n           (list ((lambda (_.2) _.0) '_.3) (list 'quote _.0)))\n         '_.4))\n      '(lambda (_.0)\n         ((lambda (_.1)\n            (list ((lambda (_.2) _.0) '_.3) (list 'quote _.0)))\n          '_.4)))\n     (=/= ((_.0 _.1)) ((_.0 _.2)) ((_.0 closure)) ((_.0 lambda))\n          ((_.0 list)) ((_.0 quote)) ((_.1 closure)) ((_.1 lambda))\n          ((_.1 list)) ((_.1 quote)) ((_.2 closure)))\n     (sym _.0 _.1 _.2)\n     (absento (closure _.3) (closure _.4)))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          ((lambda (_.3) (list 'quote _.3)) _.0)))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           ((lambda (_.3) (list 'quote _.3)) _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.3 closure)) ((_.3 list))\n          ((_.3 quote)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          ((lambda (_.3) (list _.3 _.0)) 'quote)))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           ((lambda (_.3) (list _.3 _.0)) 'quote))))\n     (=/= ((_.0 _.1)) ((_.0 _.3)) ((_.0 closure)) ((_.0 lambda))\n          ((_.0 list)) ((_.0 quote)) ((_.1 closure)) ((_.3 closure))\n          ((_.3 list)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          (list 'quote ((lambda (_.3) _.3) _.0))))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           (list 'quote ((lambda (_.3) _.3) _.0)))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.3 closure)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list _.0 ((lambda (_.1) (list 'quote _.0)) (list))))\n      '(lambda (_.0)\n         (list _.0 ((lambda (_.1) (list 'quote _.0)) (list)))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list\n          _.0\n          (list\n            ((lambda (_.1) 'quote) '_.2)\n            ((lambda (_.3) _.3) _.0))))\n      '(lambda (_.0)\n         (list\n           _.0\n           (list\n             ((lambda (_.1) 'quote) '_.2)\n             ((lambda (_.3) _.3) _.0)))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)) ((_.3 closure)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.0 (list 'quote _.0))) (list)))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.0 (list 'quote _.0))) (list))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list ((lambda (_.1) _.0) _.0) (list 'quote _.0)))\n      '(lambda (_.0)\n         (list ((lambda (_.1) _.0) _.0) (list 'quote _.0))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list\n          (list 'lambda '(_.0) _.0)\n          (list ((lambda (_.1) _.1) 'quote) _.0)))\n      '(list\n         (list 'lambda '(_.0) _.0)\n         (list ((lambda (_.1) _.1) 'quote) _.0)))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        ((lambda (_.1) (list _.0 (list 'quote _.0))) _.0))\n      '(lambda (_.0)\n         ((lambda (_.1) (list _.0 (list 'quote _.0))) _.0)))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1))\n    (((lambda (_.0)\n        (list\n          (list 'lambda '(_.0) _.0)\n          ((lambda (_.1) (list 'quote _.0)) '_.2)))\n      '(list\n         (list 'lambda '(_.0) _.0)\n         ((lambda (_.1) (list 'quote _.0)) '_.2)))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 list)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          (list 'quote ((lambda (_.3) _.0) _.0))))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           (list 'quote ((lambda (_.3) _.0) _.0)))))\n     (=/= ((_.0 _.1)) ((_.0 _.3)) ((_.0 closure)) ((_.0 lambda))\n          ((_.0 list)) ((_.0 quote)) ((_.1 closure)) ((_.3 closure)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        (list\n          ((lambda (_.1) _.0) '_.2)\n          ((lambda (_.3) (list 'quote _.0)) _.0)))\n      '(lambda (_.0)\n         (list\n           ((lambda (_.1) _.0) '_.2)\n           ((lambda (_.3) (list 'quote _.0)) _.0))))\n     (=/= ((_.0 _.1)) ((_.0 _.3)) ((_.0 closure)) ((_.0 lambda))\n          ((_.0 list)) ((_.0 quote)) ((_.1 closure)) ((_.3 closure))\n          ((_.3 list)) ((_.3 quote)))\n     (sym _.0 _.1 _.3)\n     (absento (closure _.2)))\n    (((lambda (_.0)\n        ((lambda (_.1)\n           (list ((lambda (_.2) _.0) '_.3) (list _.1 _.0)))\n         'quote))\n      '(lambda (_.0)\n         ((lambda (_.1)\n            (list ((lambda (_.2) _.0) '_.3) (list _.1 _.0)))\n          'quote)))\n     (=/= ((_.0 _.1)) ((_.0 _.2)) ((_.0 closure)) ((_.0 lambda))\n          ((_.0 list)) ((_.0 quote)) ((_.1 closure)) ((_.1 lambda))\n          ((_.1 list)) ((_.1 quote)) ((_.2 closure)))\n     (sym _.0 _.1 _.2)\n     (absento (closure _.3)))))\n\n(test \"2 twines\"\n  (run 2 (x) (fresh (p q)\n               (=/= p q)\n               (evalo p q)\n               (evalo q p)\n               (== `(,p ,q) x)))\n  '((('((lambda (_.0)\n          (list 'quote (list _.0 (list 'quote _.0))))\n        '(lambda (_.0) (list 'quote (list _.0 (list 'quote _.0)))))\n      ((lambda (_.0) (list 'quote (list _.0 (list 'quote _.0))))\n       '(lambda (_.0) (list 'quote (list _.0 (list 'quote _.0))))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    (('((lambda (_.0)\n          (list\n            'quote\n            (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))\n        '(lambda (_.0)\n           (list\n             'quote\n             (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))))\n      ((lambda (_.0)\n         (list\n           'quote\n           (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))\n       '(lambda (_.0)\n          (list\n            'quote\n            (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))))\n\n(test \"4 thrines\"\n  (run 4 (x)\n    (fresh (p q r)\n      (=/= p q)\n      (=/= q r)\n      (=/= r p)\n      (evalo p q)\n      (evalo q r)\n      (evalo r p)\n      (== `(,p ,q ,r) x)))\n  '(((''((lambda (_.0)\n           (list 'quote (list 'quote (list _.0 (list 'quote _.0)))))\n         '(lambda (_.0)\n            (list 'quote (list 'quote (list _.0 (list 'quote _.0))))))\n      '((lambda (_.0)\n          (list 'quote (list 'quote (list _.0 (list 'quote _.0)))))\n        '(lambda (_.0)\n           (list 'quote (list 'quote (list _.0 (list 'quote _.0))))))\n      ((lambda (_.0)\n         (list 'quote (list 'quote (list _.0 (list 'quote _.0)))))\n       '(lambda (_.0)\n          (list 'quote (list 'quote (list _.0 (list 'quote _.0)))))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    ((''((lambda (_.0)\n           (list\n             'quote\n             (list\n               'quote\n               (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))))\n         '(lambda (_.0)\n            (list\n              'quote\n              (list\n                'quote\n                (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))))\n      '((lambda (_.0)\n          (list\n            'quote\n            (list\n              'quote\n              (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))))\n        '(lambda (_.0)\n           (list\n             'quote\n             (list\n               'quote\n               (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0))))))\n      ((lambda (_.0)\n         (list\n           'quote\n           (list\n             'quote\n             (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))))\n       '(lambda (_.0)\n          (list\n            'quote\n            (list\n              'quote\n              (list ((lambda (_.1) _.0) '_.2) (list 'quote _.0)))))))\n     (=/= ((_.0 _.1)) ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))\n    (('(list\n         '(lambda (_.0)\n            (list\n              'quote\n              (list 'list _.0 (list 'quote (list 'quote _.0)))))\n         '''(lambda (_.0)\n              (list\n                'quote\n                (list 'list _.0 (list 'quote (list 'quote _.0))))))\n      (list\n        '(lambda (_.0)\n           (list\n             'quote\n             (list 'list _.0 (list 'quote (list 'quote _.0)))))\n        '''(lambda (_.0)\n             (list\n               'quote\n               (list 'list _.0 (list 'quote (list 'quote _.0))))))\n      ((lambda (_.0)\n         (list\n           'quote\n           (list 'list _.0 (list 'quote (list 'quote _.0)))))\n       ''(lambda (_.0)\n           (list\n             'quote\n             (list 'list _.0 (list 'quote (list 'quote _.0)))))))\n     (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote)))\n     (sym _.0))\n    ((''((lambda (_.0)\n           (list\n             ((lambda (_.1) 'quote) '_.2)\n             (list 'quote (list _.0 (list 'quote _.0)))))\n         '(lambda (_.0)\n            (list\n              ((lambda (_.1) 'quote) '_.2)\n              (list 'quote (list _.0 (list 'quote _.0))))))\n      '((lambda (_.0)\n          (list\n            ((lambda (_.1) 'quote) '_.2)\n            (list 'quote (list _.0 (list 'quote _.0)))))\n        '(lambda (_.0)\n           (list\n             ((lambda (_.1) 'quote) '_.2)\n             (list 'quote (list _.0 (list 'quote _.0))))))\n      ((lambda (_.0)\n         (list\n           ((lambda (_.1) 'quote) '_.2)\n           (list 'quote (list _.0 (list 'quote _.0)))))\n       '(lambda (_.0)\n          (list\n            ((lambda (_.1) 'quote) '_.2)\n            (list 'quote (list _.0 (list 'quote _.0)))))))\n     (=/= ((_.0 closure)) ((_.0 lambda)) ((_.0 list))\n          ((_.0 quote)) ((_.1 closure)) ((_.1 quote)))\n     (sym _.0 _.1)\n     (absento (closure _.2)))))\n"
  },
  {
    "path": "attic/code/mk/test-type-infer.scm",
    "content": "(load \"test-check.scm\")\n(load \"type-infer.scm\")\n\n(test \"types\"\n  (run 10 (q) (fresh (t exp) (!- exp '() t)  (== `(,exp => ,t) q)))\n  '((((lambda (_.0) _.0) => (-> _.1 _.1)) (sym _.0))\n  (((lambda (_.0) (lambda (_.1) _.1))\n     =>\n     (-> _.2 (-> _.3 _.3)))\n    (=/= ((_.0 lambda)))\n    (sym _.0 _.1))\n  (((lambda (_.0) (lambda (_.1) _.0))\n     =>\n     (-> _.2 (-> _.3 _.2)))\n    (=/= ((_.0 _.1)) ((_.0 lambda)))\n    (sym _.0 _.1))\n  ((((lambda (_.0) _.0) (lambda (_.1) _.1)) => (-> _.2 _.2))\n    (sym _.0 _.1))\n  (((lambda (_.0) (lambda (_.1) (lambda (_.2) _.2)))\n     =>\n     (-> _.3 (-> _.4 (-> _.5 _.5))))\n    (=/= ((_.0 lambda)) ((_.1 lambda)))\n    (sym _.0 _.1 _.2))\n  (((lambda (_.0) (lambda (_.1) (lambda (_.2) _.1)))\n     =>\n     (-> _.3 (-> _.4 (-> _.5 _.4))))\n    (=/= ((_.0 lambda)) ((_.1 _.2)) ((_.1 lambda)))\n    (sym _.0 _.1 _.2))\n  (((lambda (_.0) (_.0 (lambda (_.1) _.1)))\n     =>\n     (-> (-> (-> _.2 _.2) _.3) _.3))\n    (=/= ((_.0 lambda)))\n    (sym _.0 _.1))\n  (((lambda (_.0) (lambda (_.1) (lambda (_.2) _.0)))\n     =>\n     (-> _.3 (-> _.4 (-> _.5 _.3))))\n    (=/= ((_.0 _.1)) ((_.0 _.2)) ((_.0 lambda)) ((_.1 lambda)))\n    (sym _.0 _.1 _.2))\n  (((lambda (_.0) (lambda (_.1) (_.1 _.0)))\n     =>\n     (-> _.2 (-> (-> _.2 _.3) _.3)))\n    (=/= ((_.0 _.1)) ((_.0 lambda)))\n    (sym _.0 _.1))\n  ((((lambda (_.0) _.0) (lambda (_.1) (lambda (_.2) _.2)))\n     =>\n     (-> _.3 (-> _.4 _.4)))\n    (=/= ((_.1 lambda)))\n    (sym _.0 _.1 _.2))))\n"
  },
  {
    "path": "attic/code/mk/type-infer.scm",
    "content": "(load \"mk.scm\")\n\n(define !-\n  (lambda (exp env t)\n    (conde\n      [(symbolo exp) (lookupo exp env t)]\n      [(fresh (x e t-x t-e)\n         (== `(lambda (,x) ,e) exp)\n         (symbolo x)\n         (not-in-envo 'lambda env)\n         (== `(-> ,t-x ,t-e) t)\n         (!- e `((,x . ,t-x) . ,env) t-e))]\n      [(fresh (rator rand t-x)\n         (== `(,rator ,rand) exp)\n         (!- rator env `(-> ,t-x ,t))\n         (!- rand env t-x))])))\n\n(define lookupo\n  (lambda (x env t)\n    (fresh (rest y v)\n      (== `((,y . ,v) . ,rest) env)\n      (conde\n        ((== y x) (== v t))\n        ((=/= y x) (lookupo x rest t))))))\n\n(define not-in-envo\n  (lambda (x env)\n    (conde\n      ((== '() env))\n      ((fresh (y v rest)\n         (== `((,y . ,v) . ,rest) env)\n         (=/= y x)\n         (not-in-envo x rest))))))\n"
  },
  {
    "path": "attic/code/mk-db.rkt",
    "content": "#lang racket/base\n(provide\n  (all-from-out \"mk.rkt\")\n  concepto\n  fuzzy-concepto\n  concept-semtypeo\n  cuio\n  cui*o\n  edgeo\n  membero\n  not-membero\n  edge-subjecto\n  edge-objecto\n  concept-not-too-generalo\n  edge-not-too-generalo\n  path-not-too-generalo\n  )\n\n(require\n  \"db.rkt\"\n  \"edge.rkt\"\n  \"mk.rkt\"\n  racket/stream\n  )\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; list non-membership\n(define not-membero\n  (lambda (x ls)\n    (conde\n      [(== '() ls)]\n      [(fresh (y rest)\n         (== `(,y . ,rest) ls)\n         (=/= x y)\n         (not-membero x rest))])))\n\n(define (ground-cui c) (and (pair? c) (number? (car c)) (car c)))\n\n(define (concept->list c) (vector->list (concept-pretty c)))\n\n(define (edge->list e)\n  (list (concept->list (hash-ref cui=>concept (edge-src e)))\n        (concept->list (hash-ref cui=>concept (edge-dst e)))\n        (hash-ref id=>predicate (edge-predicate e))\n        (hash-ref id=>semtype (edge-src-type e))\n        (hash-ref id=>semtype (edge-dst-type e))\n        (edge-pub-info e)))\n\n;; f and xs must be ground.\n(define (mapo f xs x)\n  (if (null? xs) fail\n    (conde\n      ((== (f (car xs)) x))\n      ((mapo f (cdr xs) x)))))\n\n(define (concepto c)\n  (project (c)\n    (if (ground-cui c)\n      (== (concept->list (hash-ref cui=>concept (car c))) c)\n      (mapo concept->list concept* c))))\n\n(define (fuzzy-concepto name c)\n  (mapo concept->list (fuzzy-name->concept* concept* name #t) c))\n\n(define (concept-semtypeo c semtype)\n  (fresh (cui name semtype*)\n    (== `(,cui ,name ,semtype*) c)\n    (membero semtype semtype*)))\n\n(define (cuio c cui) (fresh (c-rest) (== `(,cui . ,c-rest) c)))\n\n(define (cui*o c cui*)\n  (fresh (cui a d)\n    (== `(,a . ,d) cui*)\n    (cuio c cui)\n    (conde\n      ((== cui a))\n      ((=/= cui a) (cui*o c d)))))\n\n(define (edgeo edge)\n  (fresh (subject object predicate subject-type object-type pubref)\n    (== `(,subject ,object ,predicate ,subject-type ,object-type ,pubref) edge)\n    (project (subject object predicate subject-type object-type pubref)\n      (let* ((subject-cui (ground-cui subject))\n             (object-cui (ground-cui object))\n             (predicate-id (and (not (var? predicate))\n                                (hash-ref predicate=>id predicate)))\n             (subject-stid (and (not (var? subject-type))\n                                (hash-ref semtype=>id subject-type)))\n             (object-stid (and (not (var? object-type))\n                               (hash-ref semtype=>id object-type)))\n             (p? (lambda (src dst src-type dst-type)\n                   (lambda (e)\n                     (and (or (not src) (= src (edge-src e)))\n                          (or (not dst) (= dst (edge-dst e)))\n                          (or (not predicate-id)\n                              (= predicate-id (edge-predicate e)))\n                          (or (not src-type) (= src-type (edge-src-type e)))\n                          (or (not dst-type)\n                              (= dst-type (edge-dst-type e))))))))\n        (cond\n          (subject-cui\n            (let loop\n              ((e* (subject->edge*/stream\n                     subject-cui\n                     (p? subject-cui object-cui subject-stid object-stid))))\n              (if (stream-empty? e*) fail\n                (conde\n                  ((== (edge->list (stream-first e*)) edge))\n                  ((loop (stream-rest e*)))))))\n          (object-cui\n            (let loop\n              ((e* (object->edge*/stream\n                     object-cui\n                     (p? object-cui subject-cui object-stid subject-stid))))\n              (if (stream-empty? e*) fail\n                (conde\n                  ((== (edge->list (edge-reverse (stream-first e*))) edge))\n                  ((loop (stream-rest e*)))))))\n          ((and predicate-id subject-stid object-stid)\n           (let loop\n             ((e* (predicate->edge*/stream\n                    predicate-id subject-stid object-stid (lambda (_) #t))))\n             (if (stream-empty? e*) fail\n               (conde\n                 ((== (edge->list (stream-first e*)) edge))\n                 ((loop (stream-rest e*)))))))\n          (else\n            (let loop\n              ((e* (edge*/stream\n                     (p? subject-cui object-cui subject-stid object-stid))))\n              (if (stream-empty? e*) fail\n                (conde\n                  ((== (edge->list (stream-first e*)) edge))\n                  ((loop (stream-rest e*))))))))))))\n\n(define (edge-subjecto e s)\n  (fresh (o p sty oty rs)\n    (== `(,s ,o ,p ,sty ,oty ,rs) e)))\n\n(define (edge-objecto e o)\n  (fresh (s p sty oty rs)\n    (== `(,s ,o ,p ,sty ,oty ,rs) e)))\n\n(define (concept-not-too-generalo c)\n  (project (c)\n    (if (<= 1000 (count-ISA (ground-cui c)))\n      fail\n      succeed)))\n\n(define (edge-not-too-generalo e)\n  (fresh (s o p sty oty rs)\n    (== `(,s ,o ,p ,sty ,oty ,rs) e)\n    (project (s o)\n      (fresh ()\n        (concept-not-too-generalo s)\n        (concept-not-too-generalo o)))))\n\n(define (path-not-too-generalo p)\n  (conde\n    ((== '() p))\n    ((fresh (a d)\n       (== `(,a . ,d) p)\n       (edge-not-too-generalo a)\n       (path-not-too-generalo d)))))\n"
  },
  {
    "path": "attic/code/mk.rkt",
    "content": "#lang racket/base\n\n(require racket/list\n         racket/include\n         racket/stream\n         )\n\n(provide\n  run run* run-stream\n  == =/=\n  fresh\n  conde\n  symbolo numbero\n  absento\n  project\n  var?\n  fail\n  succeed\n  choice\n  inc\n  unify\n  walk\n  walk*\n  mplus\n  mplus*\n  bind\n  bind*\n  take take-stream\n  reify\n  )\n\n;; extra stuff for racket\n;; due mostly to samth\n(define (list-sort f l) (sort l f))\n\n(define (remp f l) (filter-not f l))\n\n(define (call-with-string-output-port f)\n  (define p (open-output-string))\n  (f p)\n  (get-output-string p))\n\n(define (exists f l) (ormap f l))\n\n(define for-all andmap)\n\n(define (find f l)\n  (cond [(memf f l) => car] [else #f]))\n\n(define memp memf)\n\n(define (var*? v) (var? (car v)))\n\n\n; Substitution representation\n\n(define empty-subst-map (hasheq))\n\n(define subst-map-length hash-count)\n\n; Returns #f if not found, or a pair of u and the result of the lookup.\n; This distinguishes between #f indicating absence and being the result.\n(define subst-map-lookup\n  (lambda (u S)\n    (hash-ref S u unbound)))\n\n(define (subst-map-add S var val)\n  (hash-set S var val))\n\n(define subst-map-eq? eq?)\n\n\n; Constraint store representation\n\n(define empty-C (hasheq))\n\n(define set-c\n  (lambda (v c st)\n    (state (state-S st) (hash-set (state-C st) v c))))\n\n(define lookup-c\n  (lambda (v st)\n    (hash-ref (state-C st) v empty-c)))\n\n(define remove-c\n  (lambda (v st)\n    (state (state-S st) (hash-remove (state-C st) v))))\n\n\n; Scope object.\n; Used to determine whether a branch has occured between variable creation\n; and unification to allow the set-var-val! optimization in subst-add. Both variables\n; and substitutions will contain a scope. When a substitution flows through a\n; conde it is assigned a new scope.\n\n; Creates a new scope that is not scope-eq? to any other scope\n(define new-scope\n  (lambda ()\n    (list 'scope)))\n\n; Scope used when variable bindings should always be made in the substitution,\n; as in disequality solving and reification. We don't want to set-var-val! a\n; variable when checking if a disequality constraint holds!\n(define nonlocal-scope\n  (list 'non-local-scope))\n\n(define scope-eq? eq?)\n\n\n; Logic variable object.\n; Contains:\n;   val - value for variable assigned by unification using set-var-val! optimization.\n;           unbound if not yet set or stored in substitution.\n;   scope - scope that the variable was created in.\n;   idx - unique numeric index for the variable. Used by the trie substitution representation.\n; Variable objects are compared by object identity.\n\n; The unique val for variables that have not yet been bound to a value\n; or are bound in the substitution\n(define unbound (list 'unbound))\n\n(define var\n  (let ((counter -1))\n    (lambda (scope)\n      (set! counter (+ 1 counter))\n      (vector unbound scope counter))))\n\n; Vectors are not allowed as terms, so terms that are vectors are variables.\n(define var?\n  (lambda (x)\n    (vector? x)))\n\n(define var-eq? eq?)\n\n(define var-val\n  (lambda (x)\n    (vector-ref x 0)))\n\n(define set-var-val!\n  (lambda (x v)\n    (vector-set! x 0 v)))\n\n(define var-scope\n  (lambda (x)\n    (vector-ref x 1)))\n\n(define var-idx\n  (lambda (x)\n    (vector-ref x 2)))\n\n\n; Substitution object.\n; Contains:\n;   map - mapping of variables to values\n;   scope - scope at current program point, for set-var-val! optimization. Updated at conde.\n;               Included in the substitution because it is required to fully define the substitution\n;               and how it is to be extended.\n;\n; Implementation of the substitution map depends on the Scheme used, as we need a map. See mk.rkt\n; and mk-vicare.scm.\n\n(define subst\n  (lambda (mapping scope)\n    (cons mapping scope)))\n\n(define subst-map car)\n\n(define subst-scope cdr)\n\n(define subst-length\n  (lambda (S)\n    (subst-map-length (subst-map S))))\n\n(define subst-with-scope\n  (lambda (S new-scope)\n    (subst (subst-map S) new-scope)))\n\n(define empty-subst (subst empty-subst-map (new-scope)))\n\n(define subst-add\n  (lambda (S x v)\n    ; set-var-val! optimization: set the value directly on the variable\n    ; object if we haven't branched since its creation\n    ; (the scope of the variable and the substitution are the same).\n    ; Otherwise extend the substitution mapping.\n    (if (scope-eq? (var-scope x) (subst-scope S))\n      (begin\n        (set-var-val! x v)\n        S)\n      (subst (subst-map-add (subst-map S) x v) (subst-scope S)))))\n\n(define subst-lookup\n  (lambda (u S)\n    ; set-var-val! optimization.\n    ; Tried checking the scope here to avoid a subst-map-lookup\n    ; if it was definitely unbound, but that was slower.\n    (if (not (eq? (var-val u) unbound))\n      (var-val u)\n      (subst-map-lookup u (subst-map S)))))\n\n; Association object.\n; Describes an association mapping the lhs to the rhs. Returned by unification\n; to describe the associations that were added to the substitution (whose representation\n; is opaque) and used to represent disequality constraints.\n\n(define lhs car)\n\n(define rhs cdr)\n\n; Constraint record object.\n;\n; Describes the constraints attached to a single variable.\n;\n; Contains:\n;   T - type constraint. 'symbolo 'numbero or #f to indicate no constraint\n;   D - list of disequality constraints. Each disequality is a list of associations.\n;           The constraint is violated if all associated variables are equal in the\n;           substitution simultaneously. D could contain duplicate constraints (created\n;           by distinct =/= calls). A given disequality constraint is only attached to\n;           one of the variables involved, as all components of the constraint must be\n;           violated to cause failure.\n;   A - list of absento constraints. Each constraint is a ground atom. The list contains\n;           no duplicates.\n\n(define empty-c `(#f () ()))\n\n(define c-T\n  (lambda (c)\n    (car c)))\n\n(define c-D\n  (lambda (c)\n    (cadr c)))\n\n(define c-A\n  (lambda (c)\n    (caddr c)))\n\n(define c-with-T\n  (lambda (c T)\n    (list T (c-D c) (c-A c))))\n\n(define c-with-D\n  (lambda (c D)\n    (list (c-T c) D (c-A c))))\n\n(define c-with-A\n  (lambda (c A)\n    (list (c-T c) (c-D c) A)))\n\n; Constraint store object.\n; Mapping of representative variable to constraint record. Constraints are\n; always on the representative element and must be moved / merged when that\n; element changes.\n\n; Implementation depends on the Scheme used, as we need a map. See mk.rkt\n; and mk-vicare.scm.\n\n; State object.\n; The state is the value that is monadically passed through the search.\n; Contains:\n;   S - the substitution\n;   C - the constraint store\n\n(define state\n  (lambda (S C)\n    (cons S C)))\n\n(define state-S (lambda (st) (car st)))\n(define state-C (lambda (st) (cdr st)))\n\n(define empty-state (state empty-subst empty-C))\n\n(define state-with-scope\n  (lambda (st new-scope)\n    (state (subst-with-scope (state-S st) new-scope) (state-C st))))\n\n; Unification\n\n(define walk\n  (lambda (u S)\n    (if (var? u)\n      (let ((val (subst-lookup u S)))\n        (if (eq? val unbound)\n          u\n          (walk val S)))\n      u)))\n\n(define occurs-check\n  (lambda (x v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v) (var-eq? v x))\n        ((pair? v)\n         (or\n           (occurs-check x (car v) S)\n           (occurs-check x (cdr v) S)))\n        (else #f)))))\n\n(define ext-s-check\n  (lambda (x v S)\n    (cond\n      ((occurs-check x v S) (values #f #f))\n      (else (values (subst-add S x v) `((,x . ,v)))))))\n\n; Returns as values the extended substitution and a list of associations added\n; during the unification, or (values #f #f) if the unification failed.\n;\n; Right now appends the list of added values from sub-unifications. Alternatively\n; could be threaded monadically, which could be faster or slower.\n(define unify\n  (lambda (u v s)\n    (let ((u (walk u s))\n          (v (walk v s)))\n      (cond\n        ((eq? u v) (values s '()))\n        ((var? u) (ext-s-check u v s))\n        ((var? v) (ext-s-check v u s))\n        ((and (pair? u) (pair? v))\n         (let-values (((s added-car) (unify (car u) (car v) s)))\n           (if s\n             (let-values (((s added-cdr) (unify (cdr u) (cdr v) s)))\n               (values s (append added-car added-cdr)))\n             (values #f #f))))\n        ((equal? u v) (values s '()))\n        (else (values #f #f))))))\n\n(define unify*\n  (lambda (S+ S)\n    (unify (map lhs S+) (map rhs S+) S)))\n\n\n; Search\n\n; SearchStream: #f | Procedure | State | (Pair State (-> SearchStream))\n\n; SearchStream constructor types. Names inspired by the plus monad?\n\n; -> SearchStream\n(define mzero (lambda () #f))\n\n; c: State\n; -> SearchStream\n(define unit (lambda (c) c))\n\n; c: State\n; f: (-> SearchStream)\n; -> SearchStream\n;\n; f is a thunk to avoid unnecessary computation in the case that c is the\n; last answer needed to satisfy the query.\n(define choice (lambda (c f) (cons c f)))\n\n; e: SearchStream\n; -> (-> SearchStream)\n(define-syntax inc\n  (syntax-rules ()\n    ((_ e) (lambda () e))))\n\n; Goal: (State -> SearchStream)\n\n; e: SearchStream\n; -> Goal\n(define-syntax lambdag@\n  (syntax-rules ()\n    ((_ (st) e) (lambda (st) e))))\n\n; Match on search streams. The state type must not be a pair with a procedure\n; in its cdr.\n;\n; (() e0)     failure\n; ((f) e1)    inc for interleaving. separate from success or failure to ensure\n;               it goes all the way to the top of the tree.\n; ((c) e2)    single result. Used rather than (choice c (inc (mzero))) to avoid\n;               returning to search a part of the tree that will inevitably fail.\n; ((c f) e3)  multiple results.\n(define-syntax case-inf\n  (syntax-rules ()\n    ((_ e (() e0) ((f^) e1) ((c^) e2) ((c f) e3))\n     (let ((c-inf e))\n       (cond\n         ((not c-inf) e0)\n         ((procedure? c-inf)  (let ((f^ c-inf)) e1))\n         ((not (and (pair? c-inf)\n                 (procedure? (cdr c-inf))))\n          (let ((c^ c-inf)) e2))\n         (else (let ((c (car c-inf)) (f (cdr c-inf)))\n                 e3)))))))\n\n; c-inf: SearchStream\n;     f: (-> SearchStream)\n; -> SearchStream\n;\n; f is a thunk to avoid unnecesarry computation in the case that the first\n; answer produced by c-inf is enough to satisfy the query.\n(define mplus\n  (lambda (c-inf f)\n    (case-inf c-inf\n      (() (f))\n      ((f^) (inc (mplus (f) f^)))\n      ((c) (choice c f))\n      ((c f^) (choice c (inc (mplus (f) f^)))))))\n\n; c-inf: SearchStream\n;     g: Goal\n; -> SearchStream\n(define bind\n  (lambda (c-inf g)\n    (case-inf c-inf\n      (() (mzero))\n      ((f) (inc (bind (f) g)))\n      ((c) (g c))\n      ((c f) (mplus (g c) (inc (bind (f) g)))))))\n\n; Int, SearchStream -> (ListOf SearchResult)\n(define take\n  (lambda (n f)\n    (cond\n      ((and n (zero? n)) '())\n      (else\n       (case-inf (f)\n         (() '())\n         ((f) (take n f))\n         ((c) (cons c '()))\n         ((c f) (cons c\n                  (take (and n (- n 1)) f))))))))\n\n(define take-stream\n  (lambda (f)\n    (case-inf (f)\n              (() '())\n              ((f) (take-stream f))\n              ((c) (stream-cons c '()))\n              ((c f) (stream-cons c (take-stream f))))))\n\n; -> SearchStream\n(define-syntax bind*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e g0 g ...) (bind* (bind e g0) g ...))))\n\n; -> SearchStream\n(define-syntax mplus*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e0 e ...) (mplus e0\n                    (inc (mplus* e ...))))))\n\n; -> Goal\n(define-syntax fresh\n  (syntax-rules ()\n    ((_ (x ...) g0 g ...)\n     (lambdag@ (st)\n       ; this inc triggers interleaving\n       (inc\n         (let ((scope (subst-scope (state-S st))))\n           (let ((x (var scope)) ...)\n             (bind* (g0 st) g ...))))))))\n\n\n; -> Goal\n(define-syntax conde\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       ; this inc triggers interleaving\n       (inc\n         (let ((st (state-with-scope st (new-scope))))\n           (mplus*\n             (bind* (g0 st) g ...)\n             (bind* (g1 st) g^ ...) ...)))))))\n\n(define-syntax run\n  (syntax-rules ()\n    ((_ n (q) g0 g ...)\n     (take n\n       (inc\n         ((fresh (q) g0 g ...\n            (lambdag@ (st)\n              (let ((st (state-with-scope st nonlocal-scope)))\n                (let ((z ((reify q) st)))\n                  (choice z (lambda () (lambda () #f)))))))\n          empty-state))))\n    ((_ n (q0 q1 q ...) g0 g ...)\n     (run n (x) (fresh (q0 q1 q ...) g0 g ... (== `(,q0 ,q1 ,q ...) x))))))\n\n(define-syntax run*\n  (syntax-rules ()\n    ((_ (q0 q ...) g0 g ...) (run #f (q0 q ...) g0 g ...))))\n\n(define-syntax run-stream\n  (syntax-rules ()\n    ((_ (q) g0 g ...)\n     (take-stream\n       (inc\n         ((fresh (q) g0 g ...\n            (lambdag@ (st)\n              (let ((st (state-with-scope st nonlocal-scope)))\n                (let ((z ((reify q) st)))\n                  (choice z (lambda () (lambda () #f)))))))\n          empty-state))))\n    ((_ (q0 q1 q ...) g0 g ...)\n     (run-stream (x) (fresh (q0 q1 q ...) g0 g ... (== `(,q0 ,q1 ,q ...) x))))))\n\n; Constraints\n; C refers to the constraint store map\n; c refers to an individual constraint record\n\n; Constraint: State -> #f | State\n;\n; (note that a Constraint is a Goal but a Goal is not a Constraint.\n;  Constraint implementations currently use this more restrained type. See `and-foldl`\n;  and `update-constraints`.)\n\n; Requirements for type constraints:\n; 1. Must be positive, not negative. not-pairo wouldn't work.\n; 2. Each type must have infinitely many possible values to avoid\n;      incorrectness in combination with disequality constraints, like:\n;      (fresh (x) (booleano x) (=/= x #t) (=/= x #f))\n(define type-constraint\n  (lambda (type-pred type-id)\n    (lambda (u)\n      (lambdag@ (st)\n        (let ((term (walk u (state-S st))))\n          (cond\n            ((type-pred term) st)\n            ((var? term)\n             (let* ((c (lookup-c term st))\n                   (T (c-T c)))\n               (cond\n                 ((eq? T type-id) st)\n                 ((not T) (set-c term (c-with-T c type-id) st))\n                 (else #f))))\n            (else #f)))))))\n\n(define symbolo (type-constraint symbol? 'symbolo))\n(define numbero (type-constraint number? 'numbero))\n\n(define (add-to-D st v d)\n  (let* ((c (lookup-c v st))\n         (c^ (c-with-D c (cons d (c-D c)))))\n    (set-c v c^ st)))\n\n(define =/=*\n  (lambda (S+)\n    (lambdag@ (st)\n      (let-values (((S added) (unify* S+ (subst-with-scope (state-S st) nonlocal-scope))))\n        (cond\n          ((not S) st)\n          ((null? added) #f)\n          (else\n            ; Choose one of the disequality elements (el) to attach the constraint to. Only\n            ; need to choose one because all must fail to cause the constraint to fail.\n            (let ((el (car added)))\n              (let ((st (add-to-D st (car el) added)))\n                (if (var? (cdr el))\n                  (add-to-D st (cdr el) added)\n                  st)))))))))\n\n(define =/=\n  (lambda (u v)\n    (=/=* `((,u . ,v)))))\n\n(define absento\n  (lambda (ground-atom term)\n    (lambdag@ (st)\n      (let ((term (walk term (state-S st))))\n        (cond\n          ((pair? term)\n           (let ((st^ ((absento ground-atom (car term)) st)))\n             (and st^ ((absento ground-atom (cdr term)) st^))))\n          ((eqv? term ground-atom) #f)\n          ((var? term)\n           (let* ((c (lookup-c term st))\n                  (A (c-A c)))\n             (if (memv ground-atom A)\n               st\n               (let ((c^ (c-with-A c (cons ground-atom A))))\n                 (set-c term c^ st)))))\n          (else st))))))\n\n; Fold lst with proc and initial value init. If proc ever returns #f,\n; return with #f immediately. Used for applying a series of constraints\n; to a state, failing if any operation fails.\n(define (and-foldl proc init lst)\n  (if (null? lst)\n    init\n    (let ([res (proc (car lst) init)])\n      (and res (and-foldl proc res (cdr lst))))))\n\n(define ==\n  (lambda (u v)\n    (lambdag@ (st)\n      (let-values (((S added) (unify u v (state-S st))))\n        (if S\n          (and-foldl update-constraints (state S (state-C st)) added)\n          #f)))))\n\n\n; Not fully optimized. Could do absento update with fewer hash-refs / hash-sets.\n(define update-constraints\n  (lambda (a st)\n    (let ([old-c (lookup-c (lhs a) st)])\n      (if (eq? old-c empty-c)\n        st\n        (let ((st (remove-c (lhs a) st)))\n         (and-foldl (lambda (op st) (op st)) st\n          (append\n            (if (eq? (c-T old-c) 'symbolo)\n              (list (symbolo (rhs a)))\n              '())\n            (if (eq? (c-T old-c) 'numbero)\n              (list (numbero (rhs a)))\n              '())\n            (map (lambda (atom) (absento atom (rhs a))) (c-A old-c))\n            (map (lambda (d) (=/=* d)) (c-D old-c)))))))))\n\n\n; Reification\n\n(define walk*\n  (lambda (v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v) v)\n        ((pair? v)\n         (cons (walk* (car v) S) (walk* (cdr v) S)))\n        (else v)))))\n\n(define vars\n  (lambda (term acc)\n    (cond\n      ((var? term) (cons term acc))\n      ((pair? term)\n       (vars (cdr term) (vars (car term) acc)))\n      (else acc))))\n\n(define-syntax project\n  (syntax-rules ()\n    ((_ (x ...) g g* ...)\n     (lambdag@ (st)\n       (let ((x (walk* x (state-S st))) ...)\n         ((fresh () g g* ...) st))))))\n\n\n; Create a constraint store of the old representation from a state object,\n; so that we can use the old reifier. Only accumulates constraints related\n; to the variable being reified which makes things a bit faster.\n(define c-from-st\n  (lambda (st x)\n    (let ((vs (vars (walk* x (state-S st)) '())))\n      (foldl\n        (lambda (v c-store)\n          (let ((c (lookup-c v st)))\n            (let ((S (state-S st))\n                  (D (c->D c-store))\n                  (Y (c->Y c-store))\n                  (N (c->N c-store))\n                  (T (c->T c-store))\n                  (T^ (c-T c))\n                  (D^ (c-D c))\n                  (A^ (c-A c)))\n              `(,S\n                 ,(append D^ D)\n                 ,(if (eq? T^ 'symbolo)\n                    (cons v Y)\n                    Y)\n                 ,(if (eq? T^ 'numbero)\n                    (cons v N)\n                    N)\n                 ,(append\n                    (map (lambda (atom) (cons atom v)) A^)\n                    T)))))\n        `(,(state-S st) () () () ())\n        (remove-duplicates vs)))))\n\n(define reify\n  (lambda (x)\n    (lambda (st)\n      (let ((c (c-from-st st x)))\n        (let ((c (cycle c)))\n          (let* ((S (c->S c))\n                 (D (walk* (c->D c) S))\n                 (Y (walk* (c->Y c) S))\n                 (N (walk* (c->N c) S))\n                 (T (walk* (c->T c) S)))\n            (let ((v (walk* x S)))\n              (let ((R (reify-S v (subst empty-subst-map nonlocal-scope))))\n                (reify+ v R\n                        (let ((D (remp\n                                   (lambda (d)\n                                     (let ((dw (walk* d S)))\n                                       (anyvar? dw R)))\n                                   (rem-xx-from-d c))))\n                          (rem-subsumed D))\n                        (remp\n                          (lambda (y) (var? (walk y R)))\n                          Y)\n                        (remp\n                          (lambda (n) (var? (walk n R)))\n                          N)\n                        (remp (lambda (t)\n                                (anyvar? t R)) T))))))))))\n\n\n; Bits from the old constraint implementation, still used for reification.\n\n; In this part of the code, c refers to the\n; old constraint store with components:\n; S - substitution\n; D - disequality constraints\n; Y - symbolo\n; N - numbero\n; T - absento\n\n(define c->S (lambda (c) (car c)))\n(define c->D (lambda (c) (cadr c)))\n(define c->Y (lambda (c) (caddr c)))\n(define c->N (lambda (c) (cadddr c)))\n(define c->T (lambda (c) (cadddr (cdr c))))\n\n; Syntax for reification goal objects using the old constraint store\n(define-syntax lambdar@\n  (syntax-rules (:)\n    ((_ (c) e) (lambda (c) e))\n    ((_ (c : S D Y N T) e)\n     (lambda (c)\n       (let ((S (c->S c)) (D (c->D c)) (Y (c->Y c)) (N (c->N c)) (T (c->T c)))\n         e)))))\n\n(define tagged?\n  (lambda (S Y y^)\n    (exists (lambda (y) (eqv? (walk y S) y^)) Y)))\n\n(define untyped-var?\n  (lambda (S Y N t^)\n    (let ((in-type? (lambda (y) (var-eq? (walk y S) t^))))\n      (and (var? t^)\n           (not (exists in-type? Y))\n           (not (exists in-type? N))))))\n\n(define reify-S\n  (lambda (v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v)\n         (let ((n (subst-length S)))\n           (let ((name (reify-name n)))\n             (subst-add S v name))))\n        ((pair? v)\n         (let ((S (reify-S (car v) S)))\n           (reify-S (cdr v) S)))\n        (else S)))))\n\n(define reify-name\n  (lambda (n)\n    (string->symbol\n      (string-append \"_\" \".\" (number->string n)))))\n\n(define drop-dot\n  (lambda (X)\n    (map (lambda (t)\n           (let ((a (lhs t))\n                 (d (rhs t)))\n             `(,a ,d)))\n         X)))\n\n(define sorter\n  (lambda (ls)\n    (list-sort lex<=? ls)))\n\n(define lex<=?\n  (lambda (x y)\n    (string<=? (datum->string x) (datum->string y))))\n\n(define datum->string\n  (lambda (x)\n    (call-with-string-output-port\n      (lambda (p) (display x p)))))\n\n(define anyvar?\n  (lambda (u r)\n    (cond\n      ((pair? u)\n       (or (anyvar? (car u) r)\n           (anyvar? (cdr u) r)))\n      (else (var? (walk u r))))))\n\n(define member*\n  (lambda (u v)\n    (cond\n      ((equal? u v) #t)\n      ((pair? v)\n       (or (member* u (car v)) (member* u (cdr v))))\n      (else #f))))\n\n(define drop-N-b/c-const\n  (lambdar@ (c : S D Y N T)\n    (let ((const? (lambda (n)\n                    (not (var? (walk n S))))))\n      (cond\n        ((find const? N) =>\n           (lambda (n) `(,S ,D ,Y ,(remq1 n N) ,T)))\n        (else c)))))\n\n(define drop-Y-b/c-const\n  (lambdar@ (c : S D Y N T)\n    (let ((const? (lambda (y)\n                    (not (var? (walk y S))))))\n      (cond\n        ((find const? Y) =>\n           (lambda (y) `(,S ,D ,(remq1 y Y) ,N ,T)))\n        (else c)))))\n\n(define remq1\n  (lambda (elem ls)\n    (cond\n      ((null? ls) '())\n      ((eq? (car ls) elem) (cdr ls))\n      (else (cons (car ls) (remq1 elem (cdr ls)))))))\n\n(define same-var?\n  (lambda (v)\n    (lambda (v^)\n      (and (var? v) (var? v^) (var-eq? v v^)))))\n\n(define find-dup\n  (lambda (f S)\n    (lambda (set)\n      (let loop ((set^ set))\n        (cond\n          ((null? set^) #f)\n          (else\n           (let ((elem (car set^)))\n             (let ((elem^ (walk elem S)))\n               (cond\n                 ((find (lambda (elem^^)\n                          ((f elem^) (walk elem^^ S)))\n                        (cdr set^))\n                  elem)\n                 (else (loop (cdr set^))))))))))))\n\n(define drop-N-b/c-dup-var\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-dup same-var? S) N) =>\n       (lambda (n) `(,S ,D ,Y ,(remq1 n N) ,T)))\n      (else c))))\n\n(define drop-Y-b/c-dup-var\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-dup same-var? S) Y) =>\n       (lambda (y)\n         `(,S ,D ,(remq1 y Y) ,N ,T)))\n      (else c))))\n\n(define var-type-mismatch?\n  (lambda (S Y N t1^ t2^)\n    (cond\n      ((num? S N t1^) (not (num? S N t2^)))\n      ((sym? S Y t1^) (not (sym? S Y t2^)))\n      (else #f))))\n\n(define term-ununifiable?\n  (lambda (S Y N t1 t2)\n    (let ((t1^ (walk t1 S))\n          (t2^ (walk t2 S)))\n      (cond\n        ((or (untyped-var? S Y N t1^) (untyped-var? S Y N t2^)) #f)\n        ((var? t1^) (var-type-mismatch? S Y N t1^ t2^))\n        ((var? t2^) (var-type-mismatch? S Y N t2^ t1^))\n        ((and (pair? t1^) (pair? t2^))\n         (or (term-ununifiable? S Y N (car t1^) (car t2^))\n             (term-ununifiable? S Y N (cdr t1^) (cdr t2^))))\n        (else (not (eqv? t1^ t2^)))))))\n\n(define T-term-ununifiable?\n  (lambda (S Y N)\n    (lambda (t1)\n      (let ((t1^ (walk t1 S)))\n        (letrec\n            ((t2-check\n              (lambda (t2)\n                (let ((t2^ (walk t2 S)))\n                  (if (pair? t2^)\n                    (and\n                       (term-ununifiable? S Y N t1^ t2^)\n                       (t2-check (car t2^))\n                       (t2-check (cdr t2^)))\n                    (term-ununifiable? S Y N t1^ t2^))))))\n          t2-check)))))\n\n(define num?\n  (lambda (S N n)\n    (let ((n (walk n S)))\n      (cond\n        ((var? n) (tagged? S N n))\n        (else (number? n))))))\n\n(define sym?\n  (lambda (S Y y)\n    (let ((y (walk y S)))\n      (cond\n        ((var? y) (tagged? S Y y))\n        (else (symbol? y))))))\n\n(define drop-T-b/c-Y-and-N\n  (lambdar@ (c : S D Y N T)\n    (let ((drop-t? (T-term-ununifiable? S Y N)))\n      (cond\n        ((find (lambda (t) ((drop-t? (lhs t)) (rhs t))) T) =>\n         (lambda (t) `(,S ,D ,Y ,N ,(remq1 t T))))\n        (else c)))))\n\n(define move-T-to-D-b/c-t2-atom\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((exists (lambda (t)\n               (let ((t2^ (walk (rhs t) S)))\n                 (cond\n                   ((and (not (untyped-var? S Y N t2^))\n                         (not (pair? t2^)))\n                    (let ((T (remq1 t T)))\n                      `(,S ((,t) . ,D) ,Y ,N ,T)))\n                   (else #f))))\n             T))\n      (else c))))\n\n(define terms-pairwise=?\n  (lambda (pr-a^ pr-d^ t-a^ t-d^ S)\n    (or\n     (and (term=? pr-a^ t-a^ S)\n          (term=? pr-d^ t-a^ S))\n     (and (term=? pr-a^ t-d^ S)\n          (term=? pr-d^ t-a^ S)))))\n\n(define T-superfluous-pr?\n  (lambda (S Y N T)\n    (lambda (pr)\n      (let ((pr-a^ (walk (lhs pr) S))\n            (pr-d^ (walk (rhs pr) S)))\n        (cond\n          ((exists\n               (lambda (t)\n                 (let ((t-a^ (walk (lhs t) S))\n                       (t-d^ (walk (rhs t) S)))\n                   (terms-pairwise=? pr-a^ pr-d^ t-a^ t-d^ S)))\n             T)\n           (for-all\n            (lambda (t)\n              (let ((t-a^ (walk (lhs t) S))\n                    (t-d^ (walk (rhs t) S)))\n                (or\n                 (not (terms-pairwise=? pr-a^ pr-d^ t-a^ t-d^ S))\n                 (untyped-var? S Y N t-d^)\n                 (pair? t-d^))))\n            T))\n          (else #f))))))\n\n(define drop-from-D-b/c-T\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((find\n           (lambda (d)\n             (exists\n                 (T-superfluous-pr? S Y N T)\n               d))\n         D) =>\n         (lambda (d) `(,S ,(remq1 d D) ,Y ,N ,T)))\n      (else c))))\n\n(define drop-t-b/c-t2-occurs-t1\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((find (lambda (t)\n               (let ((t-a^ (walk (lhs t) S))\n                     (t-d^ (walk (rhs t) S)))\n                 (mem-check t-d^ t-a^ S)))\n             T) =>\n             (lambda (t)\n               `(,S ,D ,Y ,N ,(remq1 t T))))\n      (else c))))\n\n(define split-t-move-to-d-b/c-pair\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((exists\n         (lambda (t)\n           (let ((t2^ (walk (rhs t) S)))\n             (cond\n               ((pair? t2^) (let ((ta `(,(lhs t) . ,(car t2^)))\n                                  (td `(,(lhs t) . ,(cdr t2^))))\n                              (let ((T `(,ta ,td . ,(remq1 t T))))\n                                `(,S ((,t) . ,D) ,Y ,N ,T))))\n               (else #f))))\n         T))\n      (else c))))\n\n(define find-d-conflict\n  (lambda (S Y N)\n    (lambda (D)\n      (find\n        (lambda (d)\n          (exists (lambda (pr)\n                    (term-ununifiable? S Y N (lhs pr) (rhs pr)))\n                  d))\n        D))))\n\n(define drop-D-b/c-Y-or-N\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-d-conflict S Y N) D) =>\n       (lambda (d) `(,S ,(remq1 d D) ,Y ,N ,T)))\n      (else c))))\n\n(define cycle\n  (lambdar@ (c)\n    (let loop ((c^ c)\n               (fns^ (LOF))\n               (n (length (LOF))))\n      (cond\n        ((zero? n) c^)\n        ((null? fns^) (loop c^ (LOF) n))\n        (else\n         (let ((c^^ ((car fns^) c^)))\n           (cond\n             ((not (eq? c^^ c^))\n              (loop c^^ (cdr fns^) (length (LOF))))\n             (else (loop c^ (cdr fns^) (sub1 n))))))))))\n\n(define mem-check\n  (lambda (u t S)\n    (let ((t (walk t S)))\n      (cond\n        ((pair? t)\n         (or (term=? u t S)\n             (mem-check u (car t) S)\n             (mem-check u (cdr t) S)))\n        (else (term=? u t S))))))\n\n(define term=?\n  (lambda (u t S)\n    (let-values (((S added) (unify u t (subst-with-scope S nonlocal-scope))))\n      (and S (null? added)))))\n\n(define ground-non-<type>?\n  (lambda (pred)\n    (lambda (u S)\n      (let ((u (walk u S)))\n        (cond\n          ((var? u) #f)\n          (else (not (pred u))))))))\n\n(define ground-non-symbol?\n  (ground-non-<type>? symbol?))\n\n(define ground-non-number?\n  (ground-non-<type>? number?))\n\n(define succeed (== #f #f))\n\n(define fail (== #f #t))\n\n(define ==fail-check\n  (lambda (S0 D Y N T)\n    (let ([S0 (subst-with-scope S0 nonlocal-scope)])\n      (cond\n        ((atomic-fail-check S0 Y ground-non-symbol?) #t)\n        ((atomic-fail-check S0 N ground-non-number?) #t)\n        ((symbolo-numbero-fail-check S0 Y N) #t)\n        ((=/=-fail-check S0 D) #t)\n        ((absento-fail-check S0 T) #t)\n        (else #f)))))\n\n(define atomic-fail-check\n  (lambda (S A pred)\n    (exists (lambda (a) (pred (walk a S) S)) A)))\n\n(define symbolo-numbero-fail-check\n  (lambda (S A N)\n    (let ((N (map (lambda (n) (walk n S)) N)))\n      (exists (lambda (a) (exists (same-var? (walk a S)) N))\n        A))))\n\n(define absento-fail-check\n  (lambda (S T)\n    (exists (lambda (t) (mem-check (lhs t) (rhs t) S)) T)))\n\n(define =/=-fail-check\n  (lambda (S D)\n    (exists (d-fail-check S) D)))\n\n(define d-fail-check\n  (lambda (S)\n    (lambda (d)\n      (let-values (((S added) (unify* d S)))\n        (and S (null? added))))))\n\n(define reify+\n  (lambda (v R D Y N T)\n    (form (walk* v R)\n          (walk* D R)\n          (walk* Y R)\n          (walk* N R)\n          (rem-subsumed-T (walk* T R)))))\n\n(define form\n  (lambda (v D Y N T)\n    (let ((fd (sort-D D))\n          (fy (sorter Y))\n          (fn (sorter N))\n          (ft (sorter T)))\n      (let ((fd (if (null? fd) fd\n                    (let ((fd (drop-dot-D fd)))\n                      `((=/= . ,fd)))))\n            (fy (if (null? fy) fy `((sym . ,fy))))\n            (fn (if (null? fn) fn `((num . ,fn))))\n            (ft (if (null? ft) ft\n                    (let ((ft (drop-dot ft)))\n                      `((absento . ,ft))))))\n        (cond\n          ((and (null? fd) (null? fy)\n                (null? fn) (null? ft))\n           v)\n          (else (append `(,v) fd fn fy ft)))))))\n\n(define sort-D\n  (lambda (D)\n    (sorter\n     (map sort-d D))))\n\n(define sort-d\n  (lambda (d)\n    (list-sort\n       (lambda (x y)\n         (lex<=? (car x) (car y)))\n       (map sort-pr d))))\n\n(define drop-dot-D\n  (lambda (D)\n    (map drop-dot D)))\n\n(define lex<-reified-name?\n  (lambda (r)\n    (char<?\n     (string-ref\n      (datum->string r) 0)\n     #\\_)))\n\n(define sort-pr\n  (lambda (pr)\n    (let ((l (lhs pr))\n          (r (rhs pr)))\n      (cond\n        ((lex<-reified-name? r) pr)\n        ((lex<=? r l) `(,r . ,l))\n        (else pr)))))\n\n(define rem-subsumed\n  (lambda (D)\n    (let rem-subsumed ((D D) (d^* '()))\n      (cond\n        ((null? D) d^*)\n        ((or (subsumed? (car D) (cdr D))\n             (subsumed? (car D) d^*))\n         (rem-subsumed (cdr D) d^*))\n        (else (rem-subsumed (cdr D)\n                (cons (car D) d^*)))))))\n\n(define subsumed?\n  (lambda (d d*)\n    (cond\n      ((null? d*) #f)\n      (else\n        (let-values (((S ignore) (unify* d (subst empty-subst-map nonlocal-scope))))\n          (let-values (((S+ added) (unify* (car d*) S)))\n            (or\n              (and S+ (null? added))\n              (subsumed? d (cdr d*)))))))))\n\n\n\n(define rem-xx-from-d\n  (lambdar@ (c : S D Y N T)\n    (let ((D (walk* D S)))\n      (remp not\n            (map (lambda (d)\n                   (let-values (((S0 ignore) (unify* d S)))\n                     (cond\n                       ((not S0) #f)\n                       ((==fail-check S0 '() Y N T) #f)\n                       (else\n                         (let-values (((S added) (unify* d (subst empty-subst-map nonlocal-scope))))\n                           added)))))\n                 D)))))\n\n(define rem-subsumed-T\n  (lambda (T)\n    (let rem-subsumed ((T T) (T^ '()))\n      (cond\n        ((null? T) T^)\n        (else\n         (let ((lit (lhs (car T)))\n               (big (rhs (car T))))\n           (cond\n             ((or (subsumed-T? lit big (cdr T))\n                  (subsumed-T? lit big T^))\n              (rem-subsumed (cdr T) T^))\n             (else (rem-subsumed (cdr T)\n                     (cons (car T) T^))))))))))\n\n(define subsumed-T?\n  (lambda (lit big T)\n    (cond\n      ((null? T) #f)\n      (else\n       (let ((lit^ (lhs (car T)))\n             (big^ (rhs (car T))))\n         (or\n           (and (eq? big big^) (member* lit^ lit))\n           (subsumed-T? lit big (cdr T))))))))\n\n(define LOF\n  (lambda ()\n    `(,drop-N-b/c-const ,drop-Y-b/c-const ,drop-Y-b/c-dup-var\n      ,drop-N-b/c-dup-var ,drop-D-b/c-Y-or-N ,drop-T-b/c-Y-and-N\n      ,move-T-to-D-b/c-t2-atom ,split-t-move-to-d-b/c-pair\n      ,drop-from-D-b/c-T ,drop-t-b/c-t2-occurs-t1)))\n\n"
  },
  {
    "path": "attic/code/process-db.rkt",
    "content": "#lang racket\n\n;; Racket code to process the osteoporosis database, turning it into classy (but unnormalized) s-expressions using Racket.\n\n;; https://docs.racket-lang.org/csv-reading/index.html\n\n;; http://www.neilvandyke.org/racket/csv-reading/\n\n;; https://stackoverflow.com/questions/10883426/how-to-download-and-parse-a-csv-file-in-racket\n\n(require (planet neil/csv:2:0) net/url)\n\n;; change me to point to your ncats directory!\n(define ncats_proposal-location \"/Users/webyrd/github/\")\n\n(define iver-url \n  (string->url\n   (string-append \"file://\" ncats_proposal-location \"ncats_proposal/ncats-proof-of-concept/raw-data/semmedVER30_A_clean.C0029456_osteoporosis.csv\")))\n\n(define data (csv->list (get-pure-port iver-url)))\n\n(define symbolic-data\n  (map (lambda (d)\n         (list\n          (string->number (list-ref d 0))\n          (string->number (list-ref d 1))\n          (string->number (list-ref d 2))\n          (string->symbol (list-ref d 3))\n          (string->symbol (list-ref d 4))\n          (list-ref d 5)\n          (string->symbol (list-ref d 6))\n          (string->number (list-ref d 7))\n          (string->symbol (list-ref d 8))\n          (list-ref d 9)\n          (string->symbol (list-ref d 10))\n          (string->number (list-ref d 11))))\n       data))\n\n(call-with-output-file (string-append ncats_proposal-location \"ncats_proposal/ncats-proof-of-concept/code/osteoporosis-data.scm\")\n  (lambda (output-port)\n    (fprintf output-port \"(define data '(\\n\")\n    (let loop ([ls symbolic-data])\n      (cond\n        [(null? ls) (fprintf output-port \"))\\n\" )]\n        [else\n         (fprintf output-port \"~s\\n\" (car ls))\n         (loop (cdr ls))]))))\n"
  },
  {
    "path": "attic/code/programmatically-defined-relations.rkt",
    "content": "#lang racket\n(provide\n  appendo\n  decreases\n  decreases*\n  increases\n  increases*\n  lengtho\n  length>=o\n  not-nilo\n  path-last-edgeo\n  edge-subject-typeo\n  edge-object-typeo\n  edge-trustedo\n  edge-untrustedo\n  path-length-trustedo\n  isa-counto\n  may-treat\n  gene-causes-disease\n  pubmed->url\n  edge/urlo\n  path/urlo\n  )\n\n(require\n  racket/sandbox\n  racket/gui/base\n  racket/engine\n  \"db.rkt\"\n  \"mk-db.rkt\"\n  \"concept.rkt\"\n  \"edge.rkt\"\n  )\n\n(displayln\n  \"Finished loading mk-db.rkt\")\n\n(define (pubmed->url pubmed-id)\n  (string-append \"https://www.ncbi.nlm.nih.gov/pubmed/\" (~a pubmed-id)))\n\n;; Warning: not relational in e\n(define (edge/urlo e e-url)\n  (fresh (s o p sty oty r* url*)\n    (== `(,s ,o ,p ,sty ,oty ,r*) e)\n    (project (r*)\n      (== (map pubmed->url r*) url*))\n    (== `(,s ,o ,p ,sty ,oty ,url*) e-url)))\n\n;; Warning: not relational in p\n(define (path/urlo p p-url)\n  (conde\n    ((== '() p) (== '() p-url))\n    ((fresh (e d e-url d-url)\n       (== (cons e d) p)\n       (== (cons e-url d-url) p-url)\n       (edge/urlo e e-url)\n       (path/urlo d d-url)))))\n\n(define (appendo l s out)\n  (conde\n    [(== '() l) (== s out)]\n    [(fresh (a d res)\n       (== (cons a d) l)\n       (== (cons a res) out)\n       (appendo d s res))]))\n\n;; Warning: not relational in n (length)\n(define (lengtho path n)\n  (conde\n    ((== 0 n) (== '() path))\n    ((=/= 0 n)\n     (fresh (a d)\n       (== `(,a . ,d) path)\n       (lengtho d (- n 1))))))\n\n;; Warning: not relational in n (length)\n(define (length>=o path n)\n  (conde\n    ((== 0 n))\n    ((=/= 0 n)\n     (fresh (a d)\n       (== `(,a . ,d) path)\n       (length>=o d (- n 1))))))\n\n(define (not-nilo l) (fresh (a d) (== `(,a . ,d) l)))\n\n;; Warning: path must be length-instantiated.\n(define (path-last-edgeo path last)\n  (project (path)\n    (== (car (reverse path)) last)))\n\n(define (edge-subject-typeo e sty)\n  (fresh (s o pred oty ps)\n    (== `(,s ,o ,pred ,sty ,oty ,ps) e)))\n\n(define (edge-object-typeo e oty)\n  (fresh (s o pred sty ps)\n    (== `(,s ,o ,pred ,sty ,oty ,ps) e)))\n\n(define (edge-trustedo edge)\n  (fresh (s o p st ot pubrefs)\n    (== `(,s ,o ,p ,st ,ot ,pubrefs) edge)\n    (length>=o pubrefs 2)))\n\n(define (edge-untrustedo edge)\n  (fresh (s o p st ot pubrefs)\n    (== `(,s ,o ,p ,st ,ot ,pubrefs) edge)\n    (lengtho pubrefs 1)))\n\n;; Warning: not relational in nlen or ntrusted\n(define (path-length-trustedo path len trusted)\n  (conde\n    ((== 0 len) (== '() path))\n    ((=/= 0 len)\n     (fresh (a d)\n       (== `(,a . ,d) path)\n       (cond\n         ((= 0 trusted) (fresh ()\n                          (edge-untrustedo a)\n                          (path-length-trustedo d (- len 1) trusted)))\n         ((= len trusted) (fresh ()\n                            (edge-trustedo a)\n                            (path-length-trustedo d (- len 1) (- trusted 1))))\n         (else (conde\n                 ((edge-trustedo a)\n                  (path-length-trustedo d (- len 1) (- trusted 1)))\n                 ((edge-untrustedo a)\n                  (path-length-trustedo d (- len 1) trusted)))))))))\n\n;; Warning: not relational in o\n(define (isa-counto o n)\n  (project (o)\n    (== (length (run* (_)\n                  (fresh (s sty oty rs)\n                    (edgeo `(,s ,o \"ISA\" ,sty ,oty ,rs))))) n)))\n\n;; I’m having some fun defining relations that find that “a ultimately decreases b” and “a ultimately increases b” since you can have many ups and downs in the intermediate path.\n;; It’s inspired by this generic example:\n;; may_treat(drug,disease) iff\n;;     causes(gene,disease) and\n;;     increases(disease,gene) and\n;;     decreases*(drug,gene)\n;; I had to define decreases* mutually recursively with increases*:\n;; decreases*(a,b) iff\n;;    decreases(a,b)\n;;    or there exists c such that\n;;        increases*(a,c) and\n;;        decreases*(c,b)\n;; increases*(a,b) iff\n;;    increases(a,b)\n;;    or there exists c such that\n;;        decreases*(a,c) and\n;;        increases*(c,b)\n;; I’m trying to emphasize the power of programmatically-defined relations.\n\n(define (may-treat drug disease explanation)\n  (fresh (gene e1 e2 p1)\n    (gene-causes-disease gene disease e1)\n    (increases disease gene e2)\n    (decreases* drug gene p1)\n    (== `((drug: ,drug)\n          (gene: ,gene)\n          (disease: ,disease)\n          (gene-causes-disease: ,e1)\n          (increases-disease/gene: ,e2)\n          (decreases*-drug/gene: . ,p1))\n        explanation)))\n\n(define (gene-causes-disease gene disease edge)\n  (fresh (t-gene t-disease pub)\n    (== `(,gene ,disease \"CAUSES\" ,t-gene ,t-disease  ,pub) edge)\n    (edgeo edge)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) gene)\n      (membero \"gngm\" concept-type*))\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) disease)\n      (membero \"dsyn\" concept-type*))))\n\n(define (decreases a b edge)\n  (fresh (pred ta tb pub)\n    (== `(,a ,b ,pred ,ta ,tb ,pub) edge)\n    (== \"INHIBITS\" pred)\n    (edgeo edge)))\n\n(define (increases a b edge)\n  (fresh (pred ta tb pub)\n    (== `(,a ,b ,pred ,ta ,tb ,pub) edge)\n    (== \"STIMULATES\" pred)\n    (edgeo edge)))\n\n;; decrease, increase decreasers, decrease increasers\n(define (decreases* a b path)\n  (conde\n    [(fresh (e)\n       (== `(,e) path)\n       (decreases a b e))]\n    [(fresh (c e p2)\n       (== `(,e . ,p2) path)\n       (not-nilo p2)\n       (increases a c e)\n       (decreases* c b p2))]\n    [(fresh (c e p2)\n       (== `(,e . ,p2) path)\n       (not-nilo p2)\n       (decreases a c e)\n       (increases* c b p2))]))\n\n;; increase, increase increasers, decrease decreasers\n(define (increases* a b path)\n  (conde\n    [(fresh (e)\n       (== `(,e) path)\n       (increases a b e))]\n    [(fresh (c e p2)\n       (== `(,e . ,p2) path)\n       (not-nilo p2)\n       (increases a c e)\n       (increases* c b p2))]\n    [(fresh (c e p2)\n       (== `(,e . ,p2) path)\n       (not-nilo p2)\n       (decreases a c e)\n       (decreases* c b p2))]))\n"
  },
  {
    "path": "attic/code/read.rkt",
    "content": "#lang racket/base\n(provide\n  read-all\n  read-all/stream\n  read-all-from-file\n  )\n\n(require\n  racket/stream\n  )\n\n(define (read-all in)\n  (define datum (read in))\n  (if (eof-object? datum) '() (cons datum (read-all in))))\n\n(define (read-all/stream in)\n  (define datum (read in))\n  (if (eof-object? datum) '() (stream-cons datum (read-all/stream in))))\n\n(define (read-all-from-file path)\n  (call-with-input-file (expand-user-path path) read-all))\n"
  },
  {
    "path": "attic/code/sample_semmed.csv",
    "content": "PREDICATION_ID,SENTENCE_ID,PMID,PREDICATE,SUBJECT_CUI,SUBJECT_NAME,SUBJECT_SEMTYPE,SUBJECT_NOVELTY,OBJECT_CUI,OBJECT_NAME,OBJECT_SEMTYPE,OBJECT_NOVELTY\n61,128,14420371,ISA,C0026879,Mutagens,hops,1,C0220806,Chemicals,chem,1\n62,116,5659339,PART_OF,C0017725,Glucose,bacs,1,C0022378,jejunum,bpoc,1\n63,146,12255310,PROCESS_OF,C0006147,Breast Feeding,orgf,1,C0020114,Human,humn,1\n64,170,12305488,TREATS,C0279494,Oestrogen therapy,topp,1,C0043210,Woman,popg,1\n65,116,5659339,PROCESS_OF,C0232338,Blood flow,orgf,1,C0012984,Canis familiaris,mamm,1\n66,120,14185243,LOCATION_OF,C0006104,Brain,bpoc,1,C0041249,Tryptophan,aapp,1\n67,134,13670501,PROCESS_OF,C0006434,Burn injury,inpo,1,C0728836,Young child,humn,1\n68,147,12305418,METHOD_OF,C0042387,Vasectomy,topp,1,C0038288,Sexual sterilization,topp,1\n69,167,14457919,TREATS,C0037766,Antispasmodics,phsu,1,C0002962,Angina Pectoris,sosy,1\n70,242,14934087,LOCATION_OF,C0036471,Scrotum,bpoc,1,C0016085,Filariasis,dsyn,1\n71,218,13930366,LOCATION_OF,C0037993,Spleen,bpoc,1,C0017086,Gangrene,dsyn,1\n72,136,5867984,PROCESS_OF,C0023290,\"Leishmaniasis, Visceral\",dsyn,1,C0020114,Human,humn,1\n73,221,6014351,LOCATION_OF,C1269901,Entire foramen magnum,bsoj,1,C0000768,Congenital Abnormality,cgab,1\n74,158,4966828,INTERACTS_WITH,C0024337,Lysine,aapp,1,C0038404,Enterococcus faecalis,bact,1\n75,127,13997680,LOCATION_OF,C0005767,Blood,tisu,1,C0007061,Carboxyhemoglobin,aapp,1\n76,163,13155021,LOCATION_OF,C0003483,Aorta,bpoc,1,C0332886,Coarctation,anab,1\n77,145,13974537,PART_OF,C0018563,Hand,bpoc,1,C0020114,Human,humn,1\n78,148,5776108,LOCATION_OF,C0022646,Kidney,bpoc,1,C0221198,Lesion,fndg,1\n79,181,13070168,ISA,C0025629,metharbital,orch,1,C0004743,Barbital,orch,1\n80,141,13738542,PROCESS_OF,C1457887,Symptoms,sosy,0,C0030705,Patients,humn,0\n81,256,13638644,LOCATION_OF,C0021853,Intestines,bpoc,1,C0010709,Cyst,anab,1\n82,216,5876094,LOCATION_OF,C0007806,Cerebrospinal Fluid,bdsu,1,C0022714,Kinins,aapp,1\n83,207,14812403,TREATS,C0396565,Lung excision,topp,1,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n84,223,13384308,PROCESS_OF,C0005778,Blood coagulation,ortf,1,C0030705,Patients,humn,0\n85,243,12275609,COEXISTS_WITH,C0009637,Conception,orgf,1,C0006147,Breast Feeding,orgf,1\n86,163,13155021,TREATS,C0011900,Diagnosis,hlca,1,C0008059,Child,humn,1\n87,254,13502773,LOCATION_OF,C0042036,Urine,bdsu,1,C0016581,Formiminoglutamic Acid,bacs,1\n88,148,5776108,DIAGNOSES,C0194073,Kidney biopsy,diap,1,C0032914,Pre-Eclampsia,dsyn,1\n89,213,11396507,PART_OF,C0221921,Stratum corneum,tisu,1,C0020114,Human,humn,1\n90,186,18856411,PROCESS_OF,C1458155,Mammary Neoplasms,neop,1,C0025920,\"Mice, Inbred C3H\",mamm,1\n91,174,12254865,PROCESS_OF,C0702166,Acne,dsyn,1,C0043210,Woman,humn,1\n92,163,13155021,TREATS,C1273870,Management procedure,hlca,1,C0008059,Child,humn,1\n93,285,14772444,LOCATION_OF,C0042149,Uterus,bpoc,1,C0036690,Septicemia,dsyn,1\n94,289,4958141,PART_OF,C0040291,Tissue Extracts,bacs,1,C0085979,Cavia,mamm,1\n95,212,13789574,ISA,C1010578,Spermophilus tridecemlineatus,mamm,1,C0037877,Susliks,mamm,1\n96,216,5876094,LOCATION_OF,C0007806,Cerebrospinal Fluid,bdsu,1,C0054012,bradykininogen,aapp,1\n97,234,11526826,PART_OF,C1304649,Tissue fiber,tisu,1,C0327011,Toad,amph,1\n98,148,5776108,COEXISTS_WITH,C0221198,Lesion,fndg,1,C0032914,Pre-Eclampsia,dsyn,1\n99,243,12275609,COEXISTS_WITH,C0025344,Menstruation,orgf,1,C0006147,Breast Feeding,orgf,1\n100,265,12264098,PROCESS_OF,C0027651,Neoplasm,neop,1,C0026809,Mus,mamm,1\n101,293,12332297,PART_OF,C0029974,Ovum,cell,1,C0020114,Human,humn,1\n102,313,14934088,LOCATION_OF,C0037925,Spinal Cord,bpoc,1,C0221198,Lesion,fndg,1\n103,278,12255535,TREATS,C0021587,Artificial Insemination,topp,1,C1522384,sex,orga,1\n104,348,14087163,LOCATION_OF,C0042036,Urine,bdsu,1,C0004965,Bence Jones Protein,aapp,1\n105,307,13930367,ISA,C0008059,Child,inpr,1,C0018684,Health,idcn,1\n106,310,5585326,PROCESS_OF,C0021311,Infection,dsyn,0,C0020114,Human,humn,1\n107,269,6029542,PROCESS_OF,C0018854,gamma-Chain Disease,dsyn,1,C0524824,Brassicaceae,plnt,1\n108,367,5933793,LOCATION_OF,C1269010,Entire aortic arch,bpoc,1,C0851256,Pseudocoarctation,anab,1\n109,323,14216905,PROCESS_OF,C0035435,Rheumatism,dsyn,1,C0030705,Patients,humn,0\n110,364,12334535,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0014180,Endometrium,bpoc,1\n111,320,13297195,CAUSES,C0003232,Antibiotics,antb,1,C0014356,Enterocolitis,dsyn,1\n112,338,14439951,PART_OF,C0025635,Methemoglobin,aapp,1,C0034693,Rattus norvegicus,mamm,1\n113,337,12233285,LOCATION_OF,C1280344,Entire vas deferens,bpoc,1,C0332853,Anastomosis,acab,1\n114,346,13582798,LOCATION_OF,C0227391,Sigmoid colon,bpoc,1,C1401877,vagina; artificial,fndg,1\n115,327,14055630,PROCESS_OF,C0151763,Liver damage,patf,1,C0741926,CARDIAC PATIENT,humn,1\n116,200,13867926,LOCATION_OF,C0022646,Kidney,bpoc,1,C0042036,Urine,bdsu,1\n117,294,14268251,AFFECTS,C0038425,Streptomycin,antb,1,C0178784,Organ,bpoc,1\n118,269,6029542,TREATS,C0450442,Agent,chvf,1,C0010709,Cyst,anab,1\n119,381,13384310,TREATS,C0008286,Chlorpromazine,orch,1,C0917816,Mental deficiency,mobd,1\n120,399,14772445,LOCATION_OF,C0227386,Transverse colon,bpoc,1,C0259974,\"Labor, Complicated\",dsyn,1\n121,345,12305487,ISA,C0039601,Testosterone,horm,1,C0087111,Therapeutic procedure,topp,0\n122,336,20285242,ASSOCIATED_WITH,C0005515,Biological Factors,bacs,0,C0596263,Carcinogenesis,neop,1\n123,200,13867926,PART_OF,C0022646,Kidney,bpoc,1,C0034493,Oryctolagus cuniculus,mamm,1\n124,305,12255534,PART_OF,C0037868,sperm cell,cell,1,C0020114,Human,humn,1\n125,284,12255446,TREATS,C0014912,Estradiol,horm,1,C0034693,Rattus norvegicus,mamm,1\n126,357,13070169,TREATS,C0012799,Mercurial diuretic,phsu,1,C0030705,Patients,podg,0\n127,269,6029542,TREATS,C0450442,Agent,chvf,1,C0018854,gamma-Chain Disease,dsyn,1\n128,208,16691646,ISA,C0008044,Chicago,geoa,1,C0020898,Illinois,geoa,1\n129,345,12305487,USES,C0087111,Therapeutic procedure,topp,0,C0039601,Testosterone,phsu,1\n130,452,12311486,PART_OF,C0024667,Animal Mammary Neoplasms,neop,1,C0939793,Bitch,mamm,1\n131,420,14934089,TREATS,C0011900,Diagnosis,hlca,1,C0008059,Child,humn,1\n132,374,6065069,LOCATION_OF,C0507816,Pulmonary capillary,bpoc,1,C0429627,Oxygen uptake,fndg,1\n133,398,12255008,METHOD_OF,C0042387,Vasectomy,topp,1,C0700589,Contraceptive methods,topp,1\n134,423,14880772,LOCATION_OF,C0005400,Bile duct structure,bpoc,1,C0175731,T-tube,medd,1\n135,284,12255446,TREATS,C0018061,Gonadotropins,horm,1,C0034693,Rattus norvegicus,mamm,1\n136,363,5659341,TREATS,C0001041,Acetylcholine,phsu,1,C0012984,Canis familiaris,mamm,1\n137,455,12255260,PRECEDES,C1148523,Childbirth,orgf,1,C0025344,Menstruation,orgf,1\n138,373,4159375,COEXISTS_WITH,C0032458,\"Polycyclic Hydrocarbons, Aromatic\",orch,1,C0043047,Water,inch,1\n139,306,14457921,LOCATION_OF,C0005767,Blood,tisu,1,C0036751,Serotonin,orch,1\n140,445,13551179,TREATS,C0543467,Operative Surgical Procedures,topp,1,C0267750,Acute peritonitis,dsyn,1\n141,306,14457921,PROCESS_OF,C0004153,Atherosclerosis,dsyn,1,C0325912,Columbidae,bird,1\n142,396,5729806,USES,C0087111,Therapeutic procedure,topp,0,C0008269,Chloroquine,phsu,1\n143,471,13582799,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0001575,Uterine adnexae structure,bpoc,1\n144,284,12255446,TREATS,C0039607,Testosterone Propionate,horm,1,C0034693,Rattus norvegicus,mamm,1\n145,483,13638647,PROCESS_OF,C0033931,Psychophysiologic Disorders,mobd,1,C0008059,Child,humn,1\n146,493,13670504,LOCATION_OF,C0013453,External Ear,bpoc,1,C0332952,Congenital invagination,cgab,1\n147,425,12305572,PROCESS_OF,C0025874,Metrorrhagia,patf,1,C0026447,Monkeys,mamm,1\n148,480,13155023,COEXISTS_WITH,C0010520,Cyanosis,sosy,1,C0243050,Cardiovascular Abnormalities,dsyn,1\n149,436,13930369,PROCESS_OF,C0240318,Mediastinal mass,dsyn,1,C0008059,Child,humn,1\n150,430,14812405,LOCATION_OF,C0229671,Serum,bdsu,1,C0008377,Cholesterol,bacs,1\n151,385,18856412,METHOD_OF,C0034618,Radiation therapy,topp,1,C0857127,Induction,topp,1\n152,475,13997693,COEXISTS_WITH,C0019147,Hepatic Coma,dsyn,1,C0019158,Hepatitis,dsyn,1\n153,454,13219190,PROCESS_OF,C0151798,Hepatic necrosis,dsyn,1,C0030705,Patients,humn,0\n154,469,12339641,LOCATION_OF,C0002424,Ambulatory Care Facilities,hcro,1,C0038951,Surveys,resa,1\n155,487,13384311,USES,C0087111,Therapeutic procedure,topp,0,C0008286,Chlorpromazine,phsu,1\n156,426,14847741,PART_OF,C0027809,Neurilemmoma,neop,1,C0038351,Stomach,bpoc,1\n157,430,14812405,PART_OF,C0008377,Cholesterol,bacs,1,C0085766,Aleuts,humn,1\n158,383,12279177,PROCESS_OF,C0006142,Malignant neoplasm of breast,neop,1,C0034693,Rattus norvegicus,mamm,1\n159,435,12255683,PROCESS_OF,C0032961,Pregnancy,orgf,1,C0034693,Rattus norvegicus,mamm,1\n160,436,13930369,PROCESS_OF,C0240318,Mediastinal mass,dsyn,1,C0021270,Infant,humn,1\n161,379,12275481,INTERACTS_WITH,C0770355,NORETHYNODREL-MESTRANOL,horm,1,C0013058,Dosage Forms,bodm,1\n162,451,13431634,TREATS,C0022209,isoniazid,phsu,1,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n163,402,11526826,PART_OF,C0018787,Heart,bpoc,1,C0327011,Toad,amph,1\n164,454,13219190,TREATS,C0041964,Urethane,orch,1,C0026764,Multiple Myeloma,neop,1\n165,509,13974540,LOCATION_OF,C0025066,Mediastinum,blor,1,C0010709,Cyst,anab,1\n166,383,12279177,CAUSES,C0025732,Methylcholanthrene,hops,1,C0006142,Malignant neoplasm of breast,neop,1\n167,426,14847741,COEXISTS_WITH,C0041582,Ulcer,patf,1,C0027809,Neurilemmoma,neop,1\n168,515,6029543,PROCESS_OF,C0678108,Sterility,patf,1,C0205653,Adolescent,humn,1\n169,454,13219190,PROCESS_OF,C0026764,Multiple Myeloma,neop,1,C0030705,Patients,humn,0\n170,439,12983060,PART_OF,C0040426,Tooth structure,bpoc,1,C0020114,Human,humn,1\n171,376,13502774,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0005682,Bladder,bpoc,1\n172,478,13292662,USES,C0087111,Therapeutic procedure,topp,0,C0282223,Lucanthone Hydrochloride,phsu,1\n173,549,4304789,PART_OF,C1334603,Malignant Mixed Mesodermal (Mullerian) Tumor,neop,1,C0042149,Uterus,bpoc,1\n174,467,12312852,PART_OF,C0042149,Uterus,bpoc,1,C0025914,House mice,mamm,1\n175,567,13155024,PROCESS_OF,C0003811,cardiac arrhythmia,patf,1,C0008059,Child,humn,1\n176,543,14774047,LOCATION_OF,C0014876,Esophagus,bpoc,1,C0243066,Atresia,cgab,1\n177,462,12255545,PROCESS_OF,C0006147,Breast Feeding,orgf,1,C0026591,Mothers,humn,1\n178,478,13292662,USES,C0087111,Therapeutic procedure,topp,0,C0301349,Sodium antimonyl gluconate,phsu,1\n179,376,13502774,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0023078,Larynx,bpoc,1\n180,560,14150908,PART_OF,C0025500,Mesothelioma,neop,1,C0032225,Pleura,bpoc,1\n181,467,12312852,CAUSES,C0014939,Estrogens,horm,1,C0027651,Neoplasm,neop,1\n182,567,13155024,PROCESS_OF,C0003811,cardiac arrhythmia,patf,1,C0021270,Infant,humn,1\n183,551,15394662,COEXISTS_WITH,C0015967,Fever,fndg,1,C0023891,\"Liver Cirrhosis, Alcoholic\",dsyn,1\n184,610,12304881,AFFECTS,C0019932,Hormones,horm,1,C1513094,Melanogenesis,moft,1\n185,512,5337389,PROCESS_OF,C0035203,Respiration,phsf,1,C0007450,Felis catus,mamm,1\n186,477,13789574,PROCESS_OF,C0003808,Arousal,menp,1,C0037877,Susliks,mamm,1\n187,612,14216908,COEXISTS_WITH,C0003892,Neurogenic arthropathy,dsyn,1,C0039144,Syringomyelia,dsyn,1\n188,467,12312852,PART_OF,C0027651,Neoplasm,neop,1,C0042149,Uterus,bpoc,1\n189,575,13997696,LOCATION_OF,C0734952,Wall of intestine,bpoc,1,C0025424,Mercury,elii,1\n190,376,13502774,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0024109,Lung,bpoc,1\n191,594,13737739,PROCESS_OF,C0013395,Dyspepsia,dsyn,1,C0021270,Infant,humn,1\n192,611,14877283,LOCATION_OF,C0003584,Apocrine Glands,bpoc,1,C0012634,Disease,dsyn,0\n193,581,12275695,PRECEDES,C0589113,Bilateral vasectomy,topp,1,C0332853,Anastomosis,acab,1\n194,612,14216908,ISA,C0003892,Neurogenic arthropathy,dsyn,1,C0263661,Disorder of skeletal system,dsyn,1\n195,570,14806329,LOCATION_OF,C0024109,Lung,bpoc,1,C0013421,Dystonia,sosy,1\n196,594,13737739,PROCESS_OF,C0029877,Otitis,dsyn,1,C0021270,Infant,humn,1\n197,376,13502774,PART_OF,C0006826,Malignant Neoplasms,neop,0,C1522730,CNS (MMHCC),tisu,1\n198,636,12332362,PART_OF,C0015965,Fetus,emst,1,C0020114,Human,humn,1\n199,474,14268252,LOCATION_OF,C0042606,Vestibule,bsoj,1,C0001969,Alcoholic Intoxication,mobd,1\n200,546,13189559,TREATS,C0042402,Vasodilator Agents,phsu,1,C0023223,Leg Ulcer,dsyn,1\n201,538,5659342,PART_OF,C0021853,Intestines,bpoc,1,C0034693,Rattus norvegicus,mamm,1\n202,584,14055632,PART_OF,C0031678,Phosphoric Monoester Hydrolases,aapp,1,C0227308,Jejunal mucous membrane,bpoc,1\n203,530,14185247,PROCESS_OF,C0015672,Fatigue,sosy,1,C0020114,Human,humn,1\n204,658,13347199,LOCATION_OF,C0014876,Esophagus,bpoc,1,C0006826,Malignant Neoplasms,neop,0\n205,662,14812408,TREATS,C0013804,Electrocoagulation,topp,1,C0263316,Pemphigus vegetans,dsyn,1\n206,404,5698836,PART_OF,C0737240,Somatic cell,cell,1,C0025914,House mice,mamm,1\n207,687,13292663,COEXISTS_WITH,C0018926,Hematemesis,patf,1,C0036330,Schistosoma mansonii infection,dsyn,1\n208,612,14216908,COEXISTS_WITH,C0263661,Disorder of skeletal system,dsyn,1,C0039144,Syringomyelia,dsyn,1\n209,581,12275695,LOCATION_OF,C1280344,Entire vas deferens,bpoc,1,C0332853,Anastomosis,acab,1\n210,482,4959380,LOCATION_OF,C0026927,Atypical Mycobacteria,bact,1,C0014964,Ethambutol,orch,1\n211,648,13930376,LOCATION_OF,C0022646,Kidney,bpoc,1,C0549453,Traumatic hematoma,inpo,1\n212,626,13384313,USES,C0013819,Electroencephalography,diap,1,C0004745,Barbiturates,phsu,1\n213,530,14185247,compared_with,C0053284,benzquinamide,orch,1,C0030883,Pentobarbital,orch,1\n214,621,12279177,PROCESS_OF,C0006142,Malignant neoplasm of breast,neop,1,C0034716,\"Rats, Wistar\",mamm,1\n215,404,5698836,COEXISTS_WITH,C0020687,Hypoxanthine Phosphoribosyltransferase,aapp,1,C0002583,Aminopterin,hops,1\n216,705,14847743,COEXISTS_WITH,C0012242,Digestive System Disorders,dsyn,0,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n217,724,5776110,LOCATION_OF,C0227391,Sigmoid colon,bpoc,1,C0032962,Pregnancy Complications,dsyn,1\n218,508,13867927,ASSOCIATED_WITH,C0005885,Body Composition,orga,1,C0028754,Obesity,dsyn,1\n219,658,13347199,LOCATION_OF,C0014876,Esophagus,bpoc,1,C0267085,Acquired supradiaphragmatic diverticulum of esophagus,acab,1\n220,588,12332367,LOCATION_OF,C1280344,Entire vas deferens,bpoc,1,C0332853,Anastomosis,acab,1\n221,474,14268252,AFFECTS,C0683208,oculomotor function,ortf,1,C0001969,Alcoholic Intoxication,mobd,1\n222,735,14934093,TREATS,C0700993,Resochin,phsu,1,C0024530,Malaria,dsyn,1\n223,725,5729809,PROCESS_OF,C0002871,Anemia,dsyn,1,C1265425,Hookworms,invt,1\n224,404,5698836,COEXISTS_WITH,C0020687,Hypoxanthine Phosphoribosyltransferase,aapp,1,C0020684,Hypoxanthine,bacs,1\n225,647,5933795,TREATS,C0001962,Ethanol,phsu,1,C0012984,Canis familiaris,mamm,1\n226,638,6065071,LOCATION_OF,C1281591,Entire face,bpoc,1,C0038561,Submersion,inpo,1\n227,626,13384313,USES,C0013819,Electroencephalography,diap,1,C0600062,Largactil,phsu,1\n228,633,14386674,LOCATION_OF,C0031066,Anogenital region,blor,1,C0043250,Injury wounds,inpo,1\n229,694,4961611,USES,C1510438,Assay,lbpr,1,C0040160,Thyrotropin,aapp,1\n230,482,4959380,LOCATION_OF,C0026927,Atypical Mycobacteria,bact,1,C0015021,Ethionamide,orch,1\n231,661,4865111,PART_OF,C0030274,Pancreas,bpoc,1,C0021270,Infant,humn,1\n232,617,14327662,PART_OF,C0021968,Iodine,bacs,1,C0007452,Cattle,mamm,1\n233,674,14457924,LOCATION_OF,C0015392,Eye,bpoc,1,C0043254,\"Wounds, Penetrating\",inpo,1\n234,647,5933795,TREATS,C0020268,Hydrocortisone,horm,1,C0012984,Canis familiaris,mamm,1\n235,733,16691885,PART_OF,C0027651,Neoplasm,neop,1,C0029130,Optic Nerve,bpoc,1\n236,404,5698836,COEXISTS_WITH,C0020687,Hypoxanthine Phosphoribosyltransferase,aapp,1,C0040077,Thymidine,bacs,1\n237,626,13384313,compared_with,C0600062,Largactil,orch,1,C0004745,Barbiturates,orch,1\n238,732,14251360,PROCESS_OF,C0597198,Performance,inbe,1,C0260267,School child,humn,1\n239,750,13189560,PROCESS_OF,C0011615,\"Dermatitis, Atopic\",dsyn,1,C0085979,Cavia,mamm,1\n240,789,13209178,TREATS,C0001632,Adrenalectomy,topp,1,C0006142,Malignant neoplasm of breast,neop,1\n241,699,15394663,ISA,C0025830,Methylthiouracil,nnon,1,C0040125,Antithyroid Agents,horm,1\n242,754,14055633,PART_OF,C0334108,Multiple polyps,neop,1,C0009368,Colon,bpoc,1\n243,674,14457924,PROCESS_OF,C0043254,\"Wounds, Penetrating\",inpo,1,C0008059,Child,humn,1\n244,721,6029544,PROCESS_OF,C1160618,molting cycle,orgf,1,C0023047,Larva,invt,1\n245,745,14087167,ISA,C0020114,Human,grup,1,C0029235,Organism,orgm,0\n246,482,4959380,TREATS,C0014964,Ethambutol,phsu,1,C0030705,Patients,podg,0\n247,734,14420386,ASSOCIATED_WITH,C0014563,Epinephrine,horm,1,C0020672,\"hypothermia, natural\",sosy,1\n248,696,5337390,PROCESS_OF,C0035203,Respiration,phsf,1,C0007450,Felis catus,mamm,1\n249,741,13737741,LOCATION_OF,C0025474,Mesentery,blor,1,C0497156,Enlargement of lymph nodes,fndg,1\n250,617,14327662,INTERACTS_WITH,C0001128,Acids,chem,1,C0021968,Iodine,bacs,1\n251,733,16691885,PART_OF,C0027651,Neoplasm,neop,1,C0035298,Retina,bpoc,1\n252,482,4959380,TREATS,C0015021,Ethionamide,phsu,1,C0030705,Patients,podg,0\n253,757,20241532,LOCATION_OF,C0205054,Hepatic,blor,1,C0009368,Colon,bpoc,1\n254,670,16691650,PART_OF,C0023317,\"Lens, Crystalline\",bpoc,1,C0015392,Eye,bpoc,1\n255,715,4974223,PART_OF,C0006104,Brain,bpoc,1,C0033147,Primates,mamm,1\n256,759,13100900,PART_OF,C0677930,Primary Neoplasm,neop,1,C0013303,Duodenum,bpoc,1\n257,741,13737741,PROCESS_OF,C0497156,Enlargement of lymph nodes,fndg,1,C0001675,Adult,humn,1\n258,762,13292664,ISA,C0012518,Dipetalonema perstans,invt,1,C0012516,Dipetalonema,invt,1\n259,757,20241532,PART_OF,C0007097,Carcinoma,neop,1,C0009368,Colon,bpoc,1\n260,617,14327662,INTERACTS_WITH,C0040165,Thyroxine,aapp,1,C0021968,Iodine,bacs,1\n261,670,16691650,LOCATION_OF,C0023317,\"Lens, Crystalline\",bpoc,1,C0016658,Fracture,inpo,1\n262,740,13738552,PART_OF,C0018787,Heart,bpoc,1,C0003459,Anura,amph,1\n263,786,13431637,TREATS,C0040071,Thymectomy,topp,1,C0026896,Myasthenia Gravis,dsyn,1\n264,819,12305503,TREATS,C0014942,Estrone,horm,1,C0006826,Malignant Neoplasms,neop,0\n265,715,4974223,LOCATION_OF,C0035804,Rodent,mamm,1,C0008429,Cholinesterases,aapp,1\n266,839,14150911,CAUSES,C0241669,Venous occlusion,patf,1,C0238261,Lymphedema praecox,dsyn,1\n267,740,13738552,LOCATION_OF,C0018787,Heart,bpoc,1,C0001041,Acetylcholine,orch,1\n268,778,13867928,PROCESS_OF,C0038435,Stress,fndg,1,C0021294,\"Infant, Premature\",humn,1\n269,749,5659343,PROCESS_OF,C0232750,Bile formation,ortf,1,C0085979,Cavia,mamm,1\n270,843,5933796,LOCATION_OF,C0459313,Left recurrent laryngeal nerve,bpoc,1,C0522224,Paralysed,fndg,1\n271,814,6065072,LOCATION_OF,C0011980,Diaphragm (Anatomy),bpoc,1,C0013839,Electromyography,diap,1\n272,819,12305503,TREATS,C0014942,Estrone,horm,1,C0034693,Rattus norvegicus,mamm,1\n273,847,14216910,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0024109,Lung,bpoc,1\n274,775,13026427,LOCATION_OF,C0332915,Congenital failure of fusion,cgab,1,C0039082,Syndrome,dsyn,0\n275,821,12336694,PROCESS_OF,C0011175,Dehydration,dsyn,1,C0021270,Infant,humn,1\n276,868,12275532,PRECEDES,C0042387,Vasectomy,topp,1,C0524865,Reconstructive Surgical Procedures,topp,1\n277,809,13997701,DIAGNOSES,C0040395,tomography,diap,1,C0543829,Clinical pneumonia,dsyn,1\n278,896,14880778,PART_OF,C0025202,melanoma,neop,1,C0028429,Nose,bpoc,1\n279,866,14055634,LOCATION_OF,C0016976,Gallbladder,bpoc,1,C0332907,Congenital absence,cgab,1\n280,819,12305503,PROCESS_OF,C0006826,Malignant Neoplasms,neop,0,C0034693,Rattus norvegicus,mamm,1\n281,875,13685015,PART_OF,C1280536,Entire placental membrane,emst,1,C0020114,Human,humn,1\n282,881,13155029,LOCATION_OF,C0021853,Intestines,bpoc,1,C0221198,Lesion,fndg,1\n283,870,13582804,LOCATION_OF,C0017421,Female genitalia,bpoc,1,C0013502,Echinococcosis,dsyn,1\n284,900,5988837,ASSOCIATED_WITH,C0037473,Sodium,bacs,1,C0018801,Heart failure,dsyn,1\n286,905,13219279,LOCATION_OF,C0037004,Shoulder,bpoc,1,C0158300,Adhesive Capsulitis,dsyn,1\n287,866,14055634,LOCATION_OF,C1280323,Entire cystic duct,bpoc,1,C0332907,Congenital absence,cgab,1\n288,879,14877286,TREATS,C0358490,Procaine hydrochloride,phsu,1,C0033774,Pruritus,sosy,1\n289,787,5214757,PREVENTS,C0185125,Application procedure,hlca,1,C0333519,Caries,dsyn,1\n290,875,13685015,LOCATION_OF,C1280536,Entire placental membrane,emst,1,C0030016,Oxidoreductase,aapp,1\n291,902,12255392,ASSOCIATED_WITH,C0028360,Norethynodrel,horm,1,C0040038,Thromboembolism,patf,1\n292,872,13551183,LOCATION_OF,C0022646,Kidney,bpoc,1,C0522562,Multilocular cyst,acab,1\n293,871,13464036,PROCESS_OF,C0241863,Diabetic,fndg,1,C0043210,Woman,humn,1\n294,881,13155029,PROCESS_OF,C0221198,Lesion,fndg,1,C0021289,\"Infant, Newborn\",humn,1\n295,855,13638652,TREATS,C0042313,Vancomycin,antb,1,C0038160,Staphylococcal Infections,dsyn,1\n296,890,5876096,PROCESS_OF,C0234222,Baresthesia,ortf,1,C0007450,Felis catus,mamm,1\n297,806,12983061,LOCATION_OF,C0026724,Mucous Membrane,tisu,1,C0012634,Disease,dsyn,0\n298,854,14782737,ASSOCIATED_WITH,C0010137,Cortisone,horm,1,C0021311,Infection,dsyn,0\n299,855,13638652,PROCESS_OF,C0038160,Staphylococcal Infections,dsyn,1,C0030705,Patients,humn,0\n300,822,14806332,TREATS,C0002696,Ampyrone,phsu,1,C0162323,Polyarthritis,dsyn,1\n301,878,14457926,PART_OF,C0007634,Cells,cell,1,C0003483,Aorta,bpoc,1\n302,920,14771461,LOCATION_OF,C0021853,Intestines,bpoc,1,C0030499,Parasitic Diseases,dsyn,1\n303,903,13737742,PROCESS_OF,C0743336,E COLI BACTEREMIA,dsyn,1,C0034493,Oryctolagus cuniculus,mamm,1\n304,933,16691887,PART_OF,C1261473,sarcoma,neop,1,C1278891,Entire iris,bpoc,1\n305,864,14087168,TREATS,C0038913,Urologic Surgical Procedures,topp,1,C0008059,Child,aggp,1\n306,943,5333709,ISA,C0026652,Moxibustion,topp,1,C0087111,Therapeutic procedure,topp,0\n307,936,13070175,PART_OF,C0001625,Adrenal Glands,bpoc,1,C0019944,Equus caballus,mamm,1\n308,806,12983061,LOCATION_OF,C1519551,Tooth Tissue,tisu,1,C0012634,Disease,dsyn,0\n309,964,12338435,COEXISTS_WITH,C0029965,Ovulation,ortf,1,C0006147,Breast Feeding,orgf,1\n310,914,13292665,PROCESS_OF,C0858318,Plasmodium falciparum infection,dsyn,1,C0322918,Anopheles quadrimaculatus,invt,1\n311,855,13638652,TREATS,C0042313,Vancomycin,antb,1,C0030705,Patients,podg,0\n313,878,14457926,PART_OF,C0007634,Cells,cell,1,C0027061,Myocardium,tisu,1\n314,920,14771461,PROCESS_OF,C0030499,Parasitic Diseases,dsyn,1,C0008059,Child,humn,1\n315,971,12255278,TREATS,C0520483,Tubal Ligation,topp,1,C0043210,Woman,popg,1\n316,895,4966828,NEG_INHIBITS,C0020366,Hydroxylysine,aapp,1,C0023689,Ligase,aapp,1\n317,898,14268254,LOCATION_OF,C0023078,Larynx,bpoc,1,C0040395,tomography,diap,1\n318,806,12983061,PROCESS_OF,C0012634,Disease,dsyn,0,C0920541,Guamanian,humn,1\n319,864,14087168,TREATS,C0038913,Urologic Surgical Procedures,topp,1,C0021270,Infant,aggp,1\n320,888,13930378,LOCATION_OF,C0016129,Fingers,blor,1,C1609508,Ligamentitis,dsyn,1\n321,936,13070175,PART_OF,C0001625,Adrenal Glands,bpoc,1,C0242372,Hares,mamm,1\n322,961,5305917,LOCATION_OF,C0019994,Hospitals,hcro,1,C0008972,Clinical Research,resa,1\n323,922,20241533,USES,C1292856,Stimulation procedure,topp,1,C0017725,Glucose,carb,1\n324,966,14216911,COEXISTS_WITH,C0153690,Secondary malignant neoplasm of bone,neop,1,C0006142,Malignant neoplasm of breast,neop,1\n325,878,14457926,AFFECTS,C0028040,Nicotine,hops,1,C0007634,Cells,cell,1\n326,946,15394665,TREATS,C0038425,Streptomycin,antb,1,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n327,913,16016715,ISA,C0015272,Exhibits,mnob,1,C0520510,Materials,sbst,1\n328,989,5988838,ASSOCIATED_WITH,C0032821,Potassium,bacs,1,C0018801,Heart failure,dsyn,1\n329,888,13930378,LOCATION_OF,C0018563,Hand,bpoc,1,C1609508,Ligamentitis,dsyn,1\n330,895,4966828,NEG_INHIBITS,C0024337,Lysine,aapp,1,C0023689,Ligase,aapp,1\n331,980,13789584,DIAGNOSES,C0019635,Histocytochemistry,lbpr,1,C0033860,Psoriasis,dsyn,1\n332,932,13297204,PART_OF,C0014876,Esophagus,bpoc,1,C0020114,Human,humn,1\n333,944,14150912,PROCESS_OF,C0002895,Sickle Cell Anemia,dsyn,1,C0008059,Child,humn,1\n334,947,5659344,LOCATION_OF,C0034693,Rattus norvegicus,mamm,1,C0003695,Arachidonic Acid,eico,1\n335,1017,12332147,METHOD_OF,C0007471,Cauterization - action,topp,1,C0015787,Female Sterilization,topp,1\n336,921,16691651,PART_OF,C0010031,Cornea,bpoc,1,C1278891,Entire iris,bpoc,1\n337,1030,16691888,PART_OF,C1261473,sarcoma,neop,1,C1278891,Entire iris,bpoc,1\n338,944,14150912,PROCESS_OF,C0002895,Sickle Cell Anemia,dsyn,1,C0238598,Young adult,humn,1\n339,980,13789584,TREATS,C0040864,Triamcinolone,phsu,1,C0033860,Psoriasis,dsyn,1\n340,910,12312852,COEXISTS_WITH,C0012203,Diethylstilbestrol,hops,1,C0028908,Oils,lipd,1\n341,932,13297204,LOCATION_OF,C0014876,Esophagus,bpoc,1,C0450432,Venous anastomosis,bsoj,1\n342,1042,13100904,USES,C0008327,Cholecystography,diap,1,C0795742,Telepaque,irda,1\n343,1009,5876097,CAUSES,C0441693,Hypothalamic stimulation,diap,1,C0748430,RIGHT VENTRICULAR HYPERTENSION,dsyn,1\n344,1020,14782738,TREATS,C1441129,Radioactive Iodine,hops,1,C0020550,Hyperthyroidism,dsyn,1\n345,856,5698836,ADMINISTERED_TO,C0040078,Thymidine Kinase,enzy,1,C0680022,member,humn,1\n346,921,16691651,PART_OF,C1304649,Tissue fiber,tisu,1,C1278891,Entire iris,bpoc,1\n347,986,20285250,LOCATION_OF,C0022417,Joints,bsoj,1,C0041296,Tuberculosis,dsyn,1\n348,991,13347203,CAUSES,C0600062,Largactil,orch,1,C0022346,Icterus,patf,1\n349,970,13997703,LOCATION_OF,C0023884,Liver,bpoc,1,C0017911,Glycogen,bacs,1\n350,992,14847745,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0227389,Descending colon,bpoc,1\n351,1024,13372584,USES,C0087111,Therapeutic procedure,topp,0,C0030054,Oxygen,phsu,1\n352,887,13502776,PART_OF,C0007634,Cells,cell,1,C0025914,House mice,mamm,1\n353,976,14880779,LOCATION_OF,C0030471,Sinus,bsoj,1,C0029443,Osteomyelitis,dsyn,1\n354,1031,14439961,PROCESS_OF,C0001811,Aging,orgf,1,C0870668,Hospitalized Patients,humn,1\n355,1012,13551184,PART_OF,C0023267,Fibroid Tumor,neop,1,C1280340,Entire transverse mesocolon,bpoc,1\n356,1056,5255106,PART_OF,C0029463,osteosarcoma,neop,1,C0009780,Connective Tissue,tisu,1\n357,1009,5876097,PROCESS_OF,C0748430,RIGHT VENTRICULAR HYPERTENSION,dsyn,1,C0007450,Felis catus,mamm,1\n358,856,5698836,PART_OF,C0008643,\"Chromosomes, Human\",celc,1,C0025914,House mice,mamm,1\n359,986,20285250,ISA,C0041296,Tuberculosis,dsyn,1,C0012634,Disease,dsyn,0\n360,970,13997703,LOCATION_OF,C0023884,Liver,bpoc,1,C0023779,Lipids,lipd,1\n361,1024,13372584,COEXISTS_WITH,C0028682,Care given by nurses,hlca,1,C0087111,Therapeutic procedure,topp,0\n362,976,14880779,LOCATION_OF,C0037303,Bone structure of cranium,bpoc,1,C0029443,Osteomyelitis,dsyn,1\n363,986,20285250,LOCATION_OF,C0262950,Skeletal bone,bpoc,1,C0041296,Tuberculosis,dsyn,1\n364,928,11526826,AFFECTS,C0023882,Little's Disease,dsyn,1,C0025251,Membrane Potentials,celf,1\n365,1043,13292666,ISA,C0026584,Culicidae,invt,1,C0322918,Anopheles quadrimaculatus,invt,1\n366,1033,5933797,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0003461,Anus,bpoc,1\n367,1047,13384315,AFFECTS,C0013819,Electroencephalography,diap,1,C0004936,Mental disorders,mobd,0\n368,1041,13638653,PROCESS_OF,C0039614,Tetanus,dsyn,1,C0443307,Plant spore,plnt,1\n369,986,20285250,LOCATION_OF,C0022417,Joints,bsoj,1,C0012634,Disease,dsyn,0\n370,1106,13100905,PART_OF,C0001430,adenoma,neop,1,C0032005,Pituitary Gland,bpoc,1\n371,1070,13209181,LOCATION_OF,C0003483,Aorta,bpoc,1,C0332886,Coarctation,anab,1\n372,1051,14771462,PROCESS_OF,C0041227,Trypanosomiasis,dsyn,1,C0020114,Human,humn,1\n373,1032,14327664,PART_OF,C0023607,Luteinizing Hormone,aapp,1,C0007452,Cattle,mamm,1\n374,1043,13292666,ISA,C0322918,Anopheles quadrimaculatus,invt,1,C0026584,Culicidae,invt,1\n375,1077,15394666,OCCURS_IN,C0011053,Deafness,dsyn,1,C0027362,Human Age Group,aggp,0\n376,1033,5933797,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0009368,Colon,bpoc,1\n377,1063,13670511,LOCATION_OF,C1278997,Entire scalp,bpoc,1,C0263442,Acne conglobata,dsyn,1\n378,973,12255649,PART_OF,C0014180,Endometrium,bpoc,1,C0020114,Human,humn,1\n379,1015,4176301,LOCATION_OF,C0229671,Serum,bdsu,1,C0021027,Immunoglobulins,aapp,1\n380,986,20285250,LOCATION_OF,C0262950,Skeletal bone,bpoc,1,C0012634,Disease,dsyn,0\n381,1070,13209181,LOCATION_OF,C0003483,Aorta,bpoc,1,C0497428,Question of pregnancy,fndg,1\n382,1072,14457928,TREATS,C0001617,Adrenal Cortex Hormones,horm,1,C0543974,Mucocutaneous ocular syndrome,dsyn,1\n383,1083,14770453,PROCESS_OF,C0003873,Rheumatoid Arthritis,dsyn,1,C0008059,Child,humn,1\n384,1033,5933797,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0034896,Rectum,bpoc,1\n385,1015,4176301,DIAGNOSES,C0231790,Thompson's test,diap,1,C0005830,Blood Protein Disorders,dsyn,1\n386,1083,14770453,PROCESS_OF,C0242154,Poisoning by vitamin D,inpo,1,C0008059,Child,humn,1\n387,1102,13789585,LOCATION_OF,C0521421,Entire ear,bpoc,1,C0039082,Syndrome,dsyn,0\n388,1147,10976199,PROCESS_OF,C0232976,Spermiogenesis,celf,1,C0524678,Lumbricus terrestris,invt,1\n389,1079,5988839,ASSOCIATED_WITH,C0014653,Equilibrium,orgf,1,C0018801,Heart failure,dsyn,1\n390,1095,5776114,ISA,C0012203,Diethylstilbestrol,hops,1,C0087111,Therapeutic procedure,topp,0\n391,1097,13974559,LOCATION_OF,C0728985,Cervical spine,bpoc,1,C0221198,Lesion,fndg,1\n392,1109,13685020,PROCESS_OF,C0042963,Vomiting,sosy,1,C0021270,Infant,humn,1\n393,1086,5659345,PROCESS_OF,C0221102,Excretory function,phsf,1,C0034693,Rattus norvegicus,mamm,1\n394,1104,12305404,ASSOCIATED_WITH,C0033308,Progesterone,horm,1,C0877373,Advanced cancer,neop,1\n395,1117,16691889,LOCATION_OF,C0230057,Orbital margin,bsoj,1,C0029463,osteosarcoma,neop,1\n396,1132,14847746,LOCATION_OF,C0022646,Kidney,bpoc,1,C0221198,Lesion,fndg,1\n397,1130,13551185,LOCATION_OF,C0014876,Esophagus,bpoc,1,C0243066,Atresia,cgab,1\n398,1078,12307964,LOCATION_OF,C0024400,Macaca mulatta,mamm,1,C0014939,Estrogens,strd,1\n399,1189,13670512,LOCATION_OF,C1278891,Entire iris,bpoc,1,C0009363,Coloboma,cgab,1\n400,1105,14386677,USES,C0021493,\"Injections, Intraperitoneal\",topp,1,C0030842,Penicillins,antb,1\n401,1061,5858957,PART_OF,C1517186,Filament,celc,1,C0002028,Algae,alga,1\n402,1095,5776114,TREATS,C0012203,Diethylstilbestrol,hops,1,C0014175,\"Endometriosis, site unspecified\",dsyn,1\n403,1198,14877290,TREATS,C0010137,Cortisone,horm,1,C0011606,\"Dermatitis, Exfoliative\",dsyn,1\n404,1193,15394667,USES,C0087111,Therapeutic procedure,topp,0,C0012799,Mercurial diuretic,phsu,1\n405,1113,13466835,PROCESS_OF,C0002875,Cooley's anemia,dsyn,1,C0008059,Child,humn,1\n406,1104,12305404,ASSOCIATED_WITH,C0167626,estradiol 3-benzoate,horm,1,C0877373,Advanced cancer,neop,1\n407,1205,14880781,LOCATION_OF,C0016734,frontal sinus,bsoj,1,C0206640,\"Fibroma, Ossifying\",neop,1\n408,1165,4869506,LOCATION_OF,C0445623,Microorganism,orgm,0,C0142281,Siderophores,orch,1\n409,1208,14770454,LOCATION_OF,C0030274,Pancreas,bpoc,1,C0221198,Lesion,fndg,1\n410,1195,13209182,COEXISTS_WITH,C0017086,Gangrene,dsyn,1,C0023434,Chronic Lymphocytic Leukemia,neop,1\n411,1152,13737748,PROCESS_OF,C0022680,Polycystic Kidney Diseases,dsyn,1,C0030705,Patients,humn,0\n412,1155,14087170,PART_OF,C0021853,Intestines,bpoc,1,C0005682,Bladder,bpoc,1\n413,1190,12233291,TREATS,C0857127,Induction,topp,1,C0001675,Adult,aggp,1\n414,1211,13789586,LOCATION_OF,C0521421,Entire ear,bpoc,1,C0175677,Injury,inpo,1\n415,1105,14386677,TREATS,C0030842,Penicillins,antb,1,C0031154,Peritonitis,dsyn,1\n416,1095,5776114,USES,C0087111,Therapeutic procedure,topp,0,C0012203,Diethylstilbestrol,phsu,1\n417,1113,13466835,LOCATION_OF,C0008059,Child,humn,1,C0003242,\"Antibodies, Anti-Idiotypic\",aapp,1\n418,1150,13347205,TREATS,C0001712,Aerosols,chvs,1,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n419,1219,14055638,PART_OF,C0001418,Adenocarcinoma,neop,1,C0009368,Colon,bpoc,1\n420,1211,13789586,PROCESS_OF,C0175677,Injury,inpo,1,C0403082,Diver,humn,1\n421,1085,14185253,COEXISTS_WITH,C0016412,Folic Acid Deficiency,dsyn,1,C0238644,anemia; profound,dsyn,1\n422,1155,14087170,PROCESS_OF,C0020564,Hypertrophy,patf,1,C0008059,Child,humn,1\n423,1202,5933798,PART_OF,C0007097,Carcinoma,neop,1,C0021851,Large Intestine,bpoc,1\n424,1170,16691653,USES,C0005971,Bone plates,medd,1,C0017596,Glass,mnob,1\n425,1292,14934100,PROCESS_OF,C0162429,Malnutrition,dsyn,1,C0008059,Child,humn,1\n426,1197,14782740,NEG_ADMINISTERED_TO,C0087111,Therapeutic procedure,topp,0,C0030705,Patients,humn,0\n427,1279,13502777,LOCATION_OF,C0002084,Structure of allantois,emst,1,C0086943,Rous sarcoma virus,virs,1\n428,1185,5914350,CAUSES,C0038379,Strabismus,dsyn,1,C0012569,Diplopia,dsyn,1\n429,1290,15394668,LOCATION_OF,C0021852,\"Intestines, Small\",bpoc,1,C0243066,Atresia,cgab,1\n430,1209,12332461,ASSOCIATED_WITH,C0065879,Megestrol Acetate,horm,1,C0017411,\"Genital Diseases, Female\",dsyn,1\n431,1287,14877291,USES,C0087111,Therapeutic procedure,topp,0,C0262967,Dihydrostreptomycin,antb,1\n432,1294,14770455,PART_OF,C1261473,sarcoma,neop,1,C0023884,Liver,bpoc,1\n433,1224,12334391,METHOD_OF,C1441717,RAPID TEST,lbpr,1,C1511790,Detection,topp,1\n434,1301,12259097,PART_OF,C0027651,Neoplasm,neop,1,C0032005,Pituitary Gland,bpoc,1\n435,1221,12312852,ISA,C0014939,Estrogens,horm,1,C0087111,Therapeutic procedure,topp,0\n436,1313,13551187,LOCATION_OF,C0037993,Spleen,bpoc,1,C0013502,Echinococcosis,dsyn,1\n437,1279,13502777,PART_OF,C0002084,Structure of allantois,emst,1,C0008046,Chick Embryo,emst,1\n438,1185,5914350,PROCESS_OF,C0012569,Diplopia,dsyn,1,C0001675,Adult,humn,1\n439,1270,5659346,INTERACTS_WITH,C0038187,Starvation,sosy,1,C0486616,Composition,clna,1\n440,1245,13974560,ASSOCIATED_WITH,C0005802,Blood Glucose,carb,1,C0394017,Alcoholic coma,patf,1\n441,1273,13638655,ASSOCIATED_WITH,C0085732,Ability,orga,1,C0022658,Kidney Diseases,dsyn,1\n442,1185,5914350,PROCESS_OF,C0012569,Diplopia,dsyn,1,C0205653,Adolescent,humn,1\n443,1301,12259097,CAUSES,C0720298,Estrogenic,horm,1,C0027651,Neoplasm,neop,1\n444,1221,12312852,USES,C0087111,Therapeutic procedure,topp,0,C0014939,Estrogens,phsu,1\n445,1253,16691890,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0008520,Choroid,bpoc,1\n446,1320,13347206,CAUSES,C0221386,Idiopathic hilar fibrosis,dsyn,1,C0039082,Syndrome,dsyn,0\n447,1221,12312852,PROCESS_OF,C0042138,Uterine Neoplasms,neop,1,C0026809,Mus,mamm,1\n448,1355,14185255,ISA,C0998427,Tribolium castaneum,invt,1,C0021585,Insecta,invt,1\n449,1235,5988840,ASSOCIATED_WITH,C0037494,Sodium Chloride,bacs,1,C0018801,Heart failure,dsyn,1\n450,1253,16691890,ISA,C0006826,Malignant Neoplasms,neop,0,C0027651,Neoplasm,neop,1\n451,1315,13789588,AFFECTS,C0017725,Glucose,bacs,1,C1158840,acetate metabolism,moft,1\n452,1282,13997705,ASSOCIATED_WITH,C0023823,Low-Density Lipoproteins,aapp,1,C0004153,Atherosclerosis,dsyn,1\n453,1234,10976199,COEXISTS_WITH,C0029385,Osmium Tetroxide,hops,1,C0052301,araldite,orch,1\n454,1321,5274921,LOCATION_OF,C0026367,Molar tooth,bpoc,1,C0549099,Perforation (observation),fndg,1\n455,1271,13670513,ADMINISTERED_TO,C0162476,Anatoxins,imft,1,C0019944,Equus caballus,mamm,1\n456,1253,16691890,PART_OF,C0027651,Neoplasm,neop,1,C0008520,Choroid,bpoc,1\n457,1282,13997705,PROCESS_OF,C0004153,Atherosclerosis,dsyn,1,C0034493,Oryctolagus cuniculus,mamm,1\n458,1236,4381579,LOCATION_OF,C0005767,Blood,tisu,1,C0019588,Histamine,orch,1\n459,1282,13997705,LOCATION_OF,C0229671,Serum,bdsu,1,C0023823,Low-Density Lipoproteins,aapp,1\n460,1317,13605273,PROCESS_OF,C0282607,Neoplasms in Vascular Tissue,neop,1,C0001675,Adult,humn,1\n461,1297,6029546,TREATS,C0038627,Succinylcholine,phsu,1,C0034493,Oryctolagus cuniculus,mamm,1\n462,1239,4966828,INTERACTS_WITH,C0020366,Hydroxylysine,aapp,1,C0024337,Lysine,aapp,1\n463,1347,13582811,METHOD_OF,C0199960,Transfusion - action,topp,1,C0199176,Prophylactic treatment,topp,1\n464,1441,13100911,PART_OF,C0027809,Neurilemmoma,neop,1,C0038351,Stomach,bpoc,1\n465,1377,5867990,LOCATION_OF,C0016504,Pes,bpoc,1,C0009081,Congenital clubfoot,cgab,1\n466,1381,13738561,CAUSES,C0018035,\"Gold, radioactive\",elii,1,C0009566,Complication,patf,0\n467,1367,14055639,LOCATION_OF,C0020026,\"Hospitals, State\",hcro,1,C0936012,Analysis,resa,1\n468,1428,5233223,LOCATION_OF,C1281562,Entire tooth,bpoc,1,C1289791,Plastic implant,medd,1\n469,1347,13582811,PROCESS_OF,C0272138,Erythroblastosis,dsyn,1,C0034493,Oryctolagus cuniculus,mamm,1\n470,1353,14934101,ASSOCIATED_WITH,C0027996,Nicotinic Acid,vita,1,C0011991,Diarrhea,sosy,1\n471,1406,13551188,LOCATION_OF,C0042425,Ampulla of Vater,bpoc,1,C0016542,Foreign Bodies,inpo,1\n472,1331,4171713,INTERACTS_WITH,C0005097,Benzpyrene,hops,1,C0020242,Hydrocarbons,orch,1\n473,1353,14934101,ASSOCIATED_WITH,C0027996,Nicotinic Acid,vita,1,C0027932,Neurotic Disorders,mobd,1\n474,1415,14880784,LOCATION_OF,C0005767,Blood,tisu,1,C0012634,Disease,dsyn,0\n475,1354,13464039,PROCESS_OF,C0241863,Diabetic,fndg,1,C0008059,Child,humn,1\n476,1427,12334491,PART_OF,C0027651,Neoplasm,neop,1,C0006141,Breast,bpoc,1\n477,1306,4162996,PROCESS_OF,C0003873,Rheumatoid Arthritis,dsyn,1,C0030705,Patients,humn,0\n478,1407,14877292,LOCATION_OF,C0229671,Serum,bdsu,1,C0023820,Lipoproteins,aapp,1\n479,1306,4162996,PART_OF,C0229671,Serum,bdsu,1,C0030705,Patients,humn,0\n480,1412,13867934,PART_OF,C0023884,Liver,bpoc,1,C0025914,House mice,mamm,1\n481,1354,13464039,PART_OF,C0030274,Pancreas,bpoc,1,C0008059,Child,humn,1\n482,1449,14770457,LOCATION_OF,C0036098,Salivary Glands,bpoc,1,C0275518,Acute infectious disease,dsyn,1\n483,1407,14877292,ASSOCIATED_WITH,C0023820,Lipoproteins,aapp,1,C0302314,Xanthoma,dsyn,1\n484,1434,12312852,PROCESS_OF,C0027651,Neoplasm,neop,1,C0026809,Mus,mamm,1\n485,1460,5776116,TREATS,C1511790,Detection,topp,1,C0152021,Congenital heart disease,dsyn,1\n486,1306,4162996,PART_OF,C0229671,Serum,bdsu,1,C0030705,Patients,humn,0\n487,1496,16691890,PART_OF,C1261473,sarcoma,neop,1,C0008520,Choroid,bpoc,1\n488,1394,12983065,LOCATION_OF,C0022122,Bone structure of ischium,bpoc,1,C1265664,Traumatic dislocation,inpo,1\n489,1397,5729812,TREATS,C0000163,17-Hydroxycorticosteroids,horm,1,C0034493,Oryctolagus cuniculus,mamm,1\n490,1306,4162996,LOCATION_OF,C0229671,Serum,bdsu,1,C0003242,\"Antibodies, Anti-Idiotypic\",aapp,1\n491,1460,5776116,PROCESS_OF,C0152021,Congenital heart disease,dsyn,1,C0008059,Child,humn,1\n492,1394,12983065,COEXISTS_WITH,C1265664,Traumatic dislocation,inpo,1,C0016658,Fracture,inpo,1\n493,1361,5339667,PART_OF,C0027651,Neoplasm,neop,1,C0015392,Eye,bpoc,1\n494,1511,14880785,PART_OF,C0086692,Benign Neoplasm,neop,0,C0014876,Esophagus,bpoc,1\n495,1402,13070180,METHOD_OF,C0260132,Flame photometry,lbpr,1,C0574032,Infusion procedures,topp,1\n496,1306,4162996,LOCATION_OF,C0229671,Serum,bdsu,1,C0003242,\"Antibodies, Anti-Idiotypic\",aapp,1\n497,1531,14847750,LOCATION_OF,C0009368,Colon,bpoc,1,C0012817,diverticulum,anab,1\n498,1394,12983065,LOCATION_OF,C0015811,Femur,bpoc,1,C0018670,Head,blor,1\n499,1472,5876098,LOCATION_OF,C0005767,Blood,tisu,1,C0019134,Heparin,carb,1\n500,1460,5776116,TREATS,C1511790,Detection,topp,1,C0008059,Child,aggp,1\n501,1361,5339667,PART_OF,C0034625,Radium,elii,1,C0015392,Eye,bpoc,1\n502,1310,13384317,USES,C0087111,Therapeutic procedure,topp,0,C0008286,Chlorpromazine,phsu,1\n503,1535,16691656,CAUSES,C0029385,Osmium Tetroxide,hops,1,C0002418,Amblyopia,dsyn,1\n504,1443,14268259,ISA,C1074887,Bufo stomaticus,amph,1,C0002668,Amphibia,amph,1\n505,1478,13974562,TREATS,C0041031,Trimeprazine,phsu,1,C0001957,Alcohol Withdrawal Delirium,dsyn,1\n506,1474,13997707,CAUSES,C0004611,Bacteria,bact,1,C0032285,Pneumonia,dsyn,1\n507,1419,4298172,LOCATION_OF,C0032105,Plasma,bdsu,1,C0003017,Angiotensinogen,aapp,1\n508,1491,13100912,PART_OF,C0006104,Brain,bpoc,1,C0020114,Human,humn,1\n509,1486,14386679,LOCATION_OF,C0230195,Linea alba,blor,1,C0019270,Hernia,anab,1\n510,1394,12983065,LOCATION_OF,C0018670,Head,blor,1,C0016658,Fracture,inpo,1\n511,1310,13384317,TREATS,C0087111,Therapeutic procedure,topp,0,C0013144,Drowsiness,sosy,1\n512,1491,13100912,LOCATION_OF,C0006104,Brain,bpoc,1,C0458360,Motor area,blor,1\n513,1475,20285299,PROCESS_OF,C0149781,Spontaneous pneumothorax NOS,dsyn,1,C0008059,Child,humn,1\n514,1424,13638656,PROCESS_OF,C0022658,Kidney Diseases,dsyn,1,C0030705,Patients,humn,0\n515,1491,13100912,LOCATION_OF,C0458360,Motor area,blor,1,C1280632,Entire trunk,bpoc,1\n516,1310,13384317,compared_with,C0087111,Therapeutic procedure,topp,0,C0087111,Therapeutic procedure,topp,0\n517,1534,13464040,PROCESS_OF,C0027059,Myocarditis,dsyn,1,C0023358,Leptospira,bact,1\n518,1424,13638656,PROCESS_OF,C0232827,Urinary concentration,ortf,1,C0030705,Patients,humn,0\n519,1541,14877293,COEXISTS_WITH,C0263367,Koebner phenomenon,dsyn,1,C0162849,Lichen Nitidus,dsyn,1\n520,1451,10976199,AFFECTS,C0007708,Centrioles,celc,1,C0026559,Morphogenesis,orgf,1\n521,1491,13100912,LOCATION_OF,C0458360,Motor area,blor,1,C1281592,Entire neck,bpoc,1\n522,1601,16691892,LOCATION_OF,C0009758,conjunctiva,bpoc,1,C0041296,Tuberculosis,dsyn,1\n523,1597,14934103,TREATS,C0038761,Sulfones,phsu,1,C0023343,Leprosy,dsyn,1\n524,1451,10976199,AFFECTS,C0007708,Centrioles,celc,1,C0029237,Physiologic Organization,phsf,1\n525,1468,14772458,LOCATION_OF,C0024109,Lung,bpoc,1,C0041321,\"Tuberculosis, Miliary\",dsyn,1\n526,1501,14185257,PROCESS_OF,C0221102,Excretory function,phsf,1,C0034693,Rattus norvegicus,mamm,1\n527,1545,13026597,LOCATION_OF,C0021853,Intestines,bpoc,1,C0012813,Diverticulitis,dsyn,0\n528,1497,13738563,PART_OF,C0230240,Falciform ligament,bpoc,1,C0023884,Liver,bpoc,1\n529,1468,14772458,PROCESS_OF,C0041321,\"Tuberculosis, Miliary\",dsyn,1,C0008059,Child,humn,1\n530,1506,13582812,CAUSES,C0036751,Serotonin,nsba,1,C0004096,Asthma,dsyn,1\n531,1545,13026597,LOCATION_OF,C0021853,Intestines,bpoc,1,C1510475,Diverticulosis,dsyn,1\n532,1572,13297211,LOCATION_OF,C0013303,Duodenum,bpoc,1,C0035955,Traumatic Rupture,inpo,1\n533,1553,5729813,ASSOCIATED_WITH,C0007412,Catecholamines,nsba,1,C1264527,Chronic poisoning,inpo,1\n534,1573,14216916,COEXISTS_WITH,C0031577,Phonation,ortf,1,C0035203,Respiration,phsf,1\n535,1590,13467017,PROCESS_OF,C0040921,Trichomonas Infections,dsyn,1,C0086582,Males,humn,1\n536,1514,13737754,CAUSES,C0026927,Atypical Mycobacteria,bact,1,C0021311,Infection,dsyn,0\n537,1552,5601121,TREATS,C0087111,Therapeutic procedure,topp,0,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n538,1574,13551190,TREATS,C0019144,Hepatectomy,topp,1,C0019204,Primary carcinoma of the liver cells,neop,1\n539,1510,13930394,PART_OF,C0178784,Organ,bpoc,1,C0034493,Oryctolagus cuniculus,mamm,1\n540,1553,5729813,PART_OF,C0007412,Catecholamines,nsba,1,C0027061,Myocardium,tisu,1\n541,1586,14847751,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0034896,Rectum,bpoc,1\n542,1596,5659347,LOCATION_OF,C0030518,Parathyroid gland,bpoc,1,C1565489,Renal Insufficiency,dsyn,1\n543,1604,13789593,COEXISTS_WITH,C0027051,Myocardial Infarction,dsyn,1,C0241863,Diabetic,fndg,1\n544,1635,5867991,PART_OF,C0032043,Placenta,emst,1,C0020114,Human,humn,1\n545,1669,13685032,PART_OF,C0007097,Carcinoma,neop,1,C0022646,Kidney,bpoc,1\n546,1599,14268260,PART_OF,C0007765,Cerebellum,bpoc,1,C0034693,Rattus norvegicus,mamm,1\n547,1542,12312852,PROCESS_OF,C0027651,Neoplasm,neop,1,C0026809,Mus,mamm,1\n548,1599,14268260,PART_OF,C0027750,Myelinated nerve fiber,celc,1,C0007765,Cerebellum,bpoc,1\n549,1621,6008280,USES,C1510438,Assay,lbpr,1,C0040160,Thyrotropin,aapp,1\n550,1539,15394671,TREATS,C0005841,Blood Transfusion,topp,1,C0023418,leukemia,neop,1\n551,1587,14880786,LOCATION_OF,C1116439,Posterior Fossa,bpoc,1,C0021311,Infection,dsyn,0\n552,1542,12312852,ADMINISTERED_TO,C0014939,Estrogens,horm,1,C0026809,Mus,mamm,1\n553,1526,12336540,METHOD_OF,C0441509,Coagulation procedure,topp,1,C0012002,Diathermy,topp,1\n554,1571,14770459,LOCATION_OF,C0506546,Wall of esophagus,bpoc,1,C0010709,Cyst,anab,1\n555,1587,14880786,LOCATION_OF,C1116439,Posterior Fossa,bpoc,1,C0270628,Cerebellar pyogenic abscess,acab,1\n556,1583,4290383,LOCATION_OF,C0042216,Vaccinia virus,virs,1,C0022209,isoniazid,orch,1\n557,1517,14782742,TREATS,C0030842,Penicillins,antb,1,C0014121,Bacterial Endocarditis,dsyn,1\n558,1677,14934105,TREATS,C0591251,Chloromycetin,phsu,1,C0041466,Typhoid Fever,dsyn,1\n559,1566,14806339,PROCESS_OF,C0039128,Syphilis,dsyn,1,C0699955,SUBCLASS SPIROCHETES,bact,1\n560,1693,4286771,LOCATION_OF,C1269041,Entire abdominal wall,bpoc,1,C0009062,Clostridium Infections,dsyn,1\n561,1592,13997710,LOCATION_OF,C0005767,Blood,tisu,1,C0014563,Epinephrine,orch,1\n562,1380,5698836,PART_OF,C0678933,genetic locus,gngm,1,C0020114,Human,humn,1\n563,1681,14457940,LOCATION_OF,C0262950,Skeletal bone,bpoc,1,C0034530,Radiation Injuries,inpo,1\n564,1587,14880786,PART_OF,C1116439,Posterior Fossa,bpoc,1,C0037303,Bone structure of cranium,bpoc,1\n565,1517,14782742,TREATS,C0728748,Aureomycin,antb,1,C0014121,Bacterial Endocarditis,dsyn,1\n566,1566,14806339,LOCATION_OF,C0699955,SUBCLASS SPIROCHETES,bact,1,C0030842,Penicillins,orch,1\n567,1592,13997710,LOCATION_OF,C0005767,Blood,tisu,1,C0019588,Histamine,orch,1\n568,1582,14055641,TREATS,C0034618,Radiation therapy,topp,1,C0006826,Malignant Neoplasms,neop,0\n569,1576,5955075,TREATS,C0441509,Coagulation procedure,topp,1,C0030705,Patients,podg,0\n570,1777,14087175,PROCESS_OF,C1261562,Detrusor instability,patf,1,C0043210,Woman,humn,1\n571,1665,14772459,INTERACTS_WITH,C0279516,Anti-Bacterial Agents,antb,1,C0038760,Sulfonamides,orch,1\n572,1736,13467019,LOCATION_OF,C0005682,Bladder,bpoc,1,C0041296,Tuberculosis,dsyn,1\n573,1724,14847753,LOCATION_OF,C0038351,Stomach,bpoc,1,C0012817,diverticulum,anab,1\n574,1707,14420409,AFFECTS,C0055819,Citric Acid,bacs,1,C0015852,Fermentation,moft,1\n575,1753,13026599,PROCESS_OF,C0016658,Fracture,inpo,1,C0008059,Child,humn,1\n576,1654,16691893,PART_OF,C1184740,Tubercle,bpoc,1,C1278891,Entire iris,bpoc,1\n577,1652,13372919,TREATS,C0013227,Pharmaceutical Preparations,phsu,0,C0277785,Functional disorder,patf,1\n578,1698,5601122,LOCATION_OF,C1266909,Entire bony skeleton,bdsy,1,C0087111,Therapeutic procedure,topp,0\n579,1784,5776118,DIAGNOSES,C0596473,Early Diagnosis,diap,1,C0018916,Hemangioma,neop,1\n580,1723,13502781,PART_OF,C0596707,histocompatibility gene,gngm,1,C0025914,House mice,mamm,1\n581,1747,16015914,LOCATION_OF,C0023625,\"Libraries, Medical\",hcro,1,C0043227,Work,ocac,1\n582,1641,12305492,PART_OF,C0018061,Gonadotropins,aapp,1,C0032005,Pituitary Gland,bpoc,1\n583,1756,5839808,LOCATION_OF,C0014876,Esophagus,bpoc,1,C0175677,Injury,inpo,1\n584,1730,20241545,USES,C0087111,Therapeutic procedure,topp,0,C0030842,Penicillins,antb,1\n585,1733,4294853,ASSOCIATED_WITH,C0013832,Electrolytes,inch,1,C0018802,Congestive heart failure,dsyn,1\n587,1697,13930398,LOCATION_OF,C1521714,Uterus - Cervix (MMHCC),tisu,1,C0027651,Neoplasm,neop,1\n588,1654,16691893,PART_OF,C1184740,Tubercle,bpoc,1,C1278891,Entire iris,bpoc,1\n589,1652,13372919,TREATS,C0450442,Agent,chvf,1,C0277785,Functional disorder,patf,1\n590,1718,13974566,LOCATION_OF,C0728985,Cervical spine,bpoc,1,C0221198,Lesion,fndg,1\n591,1719,5585336,TREATS,C0027996,Nicotinic Acid,phsu,1,C0034693,Rattus norvegicus,mamm,1\n592,1637,11712290,LOCATION_OF,C0036225,Sarcomeres,celc,1,C0233494,Tension,mobd,1\n593,1690,14327667,PART_OF,C0035946,Rumen,bpoc,1,C0007452,Cattle,mamm,1\n594,1641,12305492,TREATS,C0018061,Gonadotropins,phsu,1,C0043210,Woman,popg,1\n595,1697,13930398,PART_OF,C1521714,Uterus - Cervix (MMHCC),tisu,1,C0026809,Mus,mamm,1\n596,1659,14771467,ISA,C0020045,Musca domestica,invt,1,C0012578,Diptera,invt,1\n597,1784,5776118,DIAGNOSES,C0596473,Early Diagnosis,diap,1,C0038505,Sturge-Weber Syndrome,cgab,1\n598,1782,13867938,PROCESS_OF,C0006826,Malignant Neoplasms,neop,0,C0026809,Mus,mamm,1\n599,1733,4294853,ASSOCIATED_WITH,C0043047,Water,inch,1,C0018802,Congestive heart failure,dsyn,1\n600,1751,4966828,PART_OF,C0599104,mucopeptide,aapp,1,C0007623,Cell Wall,celc,1\n601,1799,14934107,LOCATION_OF,C0024109,Lung,bpoc,1,C0002438,Amebiasis,dsyn,1\n602,1814,14457943,PART_OF,C0027651,Neoplasm,neop,1,C0006655,Bone structure of calcaneum,bpoc,1\n603,1807,13070183,ISA,C0010980,Dapsone,orch,1,C0038761,Sulfones,orch,1\n604,1827,14770461,PART_OF,C0018915,Hemangioendothelioma,neop,1,C0023884,Liver,bpoc,1\n605,1400,12279177,CAUSES,C0025732,Methylcholanthrene,hops,1,C0006142,Malignant neoplasm of breast,neop,1\n606,1816,14055642,TREATS,C0003392,Antineoplastic Agents,phsu,1,C0029925,Ovarian Carcinoma,neop,1\n607,1845,15394674,DIAGNOSES,C0005560,Needle biopsy procedure,diap,1,C0024121,Lung Neoplasms,neop,1\n608,1700,5914353,LOCATION_OF,C0015392,Eye,bpoc,1,C0221198,Lesion,fndg,1\n609,1751,4966828,INTERACTS_WITH,C0243071,Analog,chvs,1,C0599104,mucopeptide,aapp,1\n610,1836,13209188,LOCATION_OF,C0004454,Axilla,blor,1,C0039259,Tail,bpoc,1\n611,1829,12305556,AFFECTS,C0175795,Oral medication,topp,1,C0015895,Fertility,orgf,1\n612,1803,20285372,TREATS,C0039957,Thiouracil,phsu,1,C0020550,Hyperthyroidism,dsyn,1\n613,1400,12279177,TREATS,C0039601,Testosterone,horm,1,C0006142,Malignant neoplasm of breast,neop,1\n614,1851,13738573,PROCESS_OF,C0006434,Burn injury,inpo,1,C0030705,Patients,humn,0\n615,1790,13100915,LOCATION_OF,C0005953,Bone Marrow,bpoc,1,C0002874,Aplastic Anemia,dsyn,1\n616,1838,16691659,LOCATION_OF,C0038925,Surgical Flaps,bpoc,1,C0038969,Surgical sutures,medd,1\n617,1831,13219295,TREATS,C0036075,salicylate,phsu,1,C0034693,Rattus norvegicus,mamm,1\n618,1836,13209188,PART_OF,C0039259,Tail,bpoc,1,C0006141,Breast,bpoc,1\n619,1774,13347212,TREATS,C0033972,\"Psychotherapy, Multiple\",topp,1,C0011608,Dermatitis Herpetiformis,dsyn,1\n620,1837,13384320,PROCESS_OF,C0014544,Epilepsy,dsyn,1,C0030705,Patients,humn,0\n621,1851,13738573,PART_OF,C0018563,Hand,bpoc,1,C0030705,Patients,humn,0\n622,1744,12279175,PROCESS_OF,C0001422,Adenofibroma,neop,1,C0034693,Rattus norvegicus,mamm,1\n623,1400,12279177,TREATS,C0014912,Estradiol,horm,1,C0032019,Pituitary Neoplasms,neop,1\n624,1757,13638658,PART_OF,C1514389,Pregnant Uterus,bpoc,1,C0020114,Human,humn,1\n625,1704,5659348,PART_OF,C0030016,Oxidoreductase,aapp,1,C0021289,\"Infant, Newborn\",humn,1\n626,1778,5933801,ASSOCIATED_WITH,C0011065,Cessation of life,orgf,1,C0031154,Peritonitis,dsyn,1\n627,1400,12279177,TREATS,C0014912,Estradiol,horm,1,C0032019,Pituitary Neoplasms,neop,1\n628,1826,5748939,STIMULATES,C0019878,homocysteine,aapp,1,C0015525,Factor XII,gngm,1\n629,1837,13384320,PROCESS_OF,C0027066,Myoclonus,sosy,1,C0030705,Patients,humn,0\n630,1821,13155043,LOCATION_OF,C0024109,Lung,bpoc,1,C0012634,Disease,dsyn,0\n631,1704,5659348,PART_OF,C0030016,Oxidoreductase,aapp,1,C0034693,Rattus norvegicus,mamm,1\n632,1757,13638658,LOCATION_OF,C1514389,Pregnant Uterus,bpoc,1,C0007343,Castor Oil,lipd,1\n633,1744,12279175,AFFECTS,C0036884,Gonadal Steroid Hormones,horm,1,C0018270,Growth,orgf,1\n634,1800,13464043,TREATS,C0547070,Ablation,topp,1,C0027627,Neoplasm Metastasis,neop,1\n635,1862,5877993,COEXISTS_WITH,C0012634,Disease,dsyn,0,C0027531,Neck Injuries,inpo,1\n636,1809,5955076,AFFECTS,C0038419,Streptolysins,bacs,1,C0003873,Rheumatoid Arthritis,dsyn,1\n637,1794,13605278,LOCATION_OF,C0596155,Basal Cell,cell,1,C0027960,Nevus,neop,1\n638,1800,13464043,PART_OF,C0027627,Neoplasm Metastasis,neop,1,C0006141,Breast,bpoc,1\n639,1907,14812427,LOCATION_OF,C0222603,Female breast,bpoc,1,C0080142,Self-Examination,diap,1\n640,1817,14386684,LOCATION_OF,C0025037,Meckel's Diverticulum,cgab,1,C0333291,Bleeding ulcer,dsyn,1\n641,1863,5839809,TREATS,C0035273,Resuscitation,topp,1,C0008059,Child,aggp,1\n642,1817,14386684,PROCESS_OF,C0025037,Meckel's Diverticulum,dsyn,1,C0021270,Infant,humn,1\n643,1892,5776119,ASSOCIATED_WITH,C0033452,Properdin,aapp,1,C0011847,Diabetes,dsyn,1\n644,1863,5839809,TREATS,C0035273,Resuscitation,topp,1,C0021270,Infant,aggp,1\n645,1894,13930399,PART_OF,C0596263,Carcinogenesis,neop,1,C0007874,Cervix Uteri,bpoc,1\n646,1842,5729815,PART_OF,C0022917,Lactate Dehydrogenase,aapp,1,C0014792,Erythrocytes,cell,1\n647,1840,4291298,LOCATION_OF,C0006104,Brain,bpoc,1,C0001617,Adrenal Cortex Hormones,strd,1\n648,1894,13930399,PART_OF,C0007874,Cervix Uteri,bpoc,1,C0026809,Mus,mamm,1\n649,1842,5729815,ASSOCIATED_WITH,C0022917,Lactate Dehydrogenase,aapp,1,C0002871,Anemia,dsyn,1\n651,1830,14772460,COEXISTS_WITH,C0027960,Nevus,neop,1,C0154653,Chronic meningitis,dsyn,1\n652,1894,13930399,ASSOCIATED_WITH,C0019932,Hormones,horm,1,C0596263,Carcinogenesis,neop,1\n653,1929,14420417,PROCESS_OF,C0006906,Capillary Permeability,ortf,1,C0008059,Child,humn,1\n654,1970,14268263,PART_OF,C0030518,Parathyroid gland,bpoc,1,C0023916,Lizards,rept,1\n655,1915,14877296,TREATS,C0454060,\"Superficial teletherapy procedure, Grenz type\",topp,1,C0235347,Black hairy tongue,dsyn,1\n656,1874,5585337,LOCATION_OF,C0227021,Enamel prisms,bpoc,1,C0009653,\"Condoms, Male\",medd,1\n657,1883,14327668,LOCATION_OF,C0026131,Milk,bdsu,1,C0021968,Iodine,bacs,1\n658,1929,14420417,PROCESS_OF,C0859036,Glomerulonephritis diffuse,dsyn,1,C0008059,Child,humn,1\n659,1957,5914355,LOCATION_OF,C1278891,Entire iris,bpoc,1,C0023794,Lipoidosis,dsyn,1\n660,1885,13372920,ISA,C1533685,Injection procedure,topp,1,C0087111,Therapeutic procedure,topp,0\n661,1969,20285399,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0006141,Breast,bpoc,1\n662,1935,12332438,METHOD_OF,C0279025,Endocrine therapy,topp,1,C0025335,Menstrual Regulation,topp,1\n663,1957,5914355,PROCESS_OF,C0023794,Lipoidosis,dsyn,1,C0034493,Oryctolagus cuniculus,mamm,1\n664,1776,13670517,CAUSES,C0033807,Pseudomonadaceae,bact,1,C0036690,Septicemia,dsyn,1\n665,1891,13189573,ASSOCIATED_WITH,C0017007,Gamma globulin,aapp,1,C0032371,Poliomyelitis,dsyn,1\n666,1883,14327668,LOCATION_OF,C0035946,Rumen,bpoc,1,C0021968,Iodine,bacs,1\n667,1990,13297274,compared_with,C0020700,\"Hysterectomy, Vaginal\",topp,1,C0404077,Abdominal hysterectomy,topp,1\n668,1885,13372920,TREATS,C1533685,Injection procedure,topp,1,C0019270,Hernia,anab,1\n669,1997,5971456,LOCATION_OF,C0037922,Spinal Canal,bsoj,1,C0027651,Neoplasm,neop,1\n670,1922,13026602,PART_OF,C0003842,Arteries,bpoc,1,C0006104,Brain,bpoc,1\n671,1957,5914355,DISRUPTS,C0024467,Magnesium,bacs,1,C0023794,Lipoidosis,dsyn,1\n672,1776,13670517,PROCESS_OF,C0012634,Disease,dsyn,0,C0016163,Fishes,fish,1\n673,1952,5748939,STIMULATES,C0019878,homocysteine,aapp,1,C0015525,Factor XII,gngm,1\n674,1928,16691660,PART_OF,C0282607,Neoplasms in Vascular Tissue,neop,1,C1278891,Entire iris,bpoc,1\n675,1922,13026602,PART_OF,C0003842,Arteries,bpoc,1,C0037925,Spinal Cord,bpoc,1\n676,1962,13347214,TREATS,C0028222,Nivaquine,phsu,1,C0011608,Dermatitis Herpetiformis,dsyn,1\n677,1917,14770462,PROCESS_OF,C0008925,Cleft Palate,dsyn,1,C0030705,Patients,humn,0\n678,1982,13638660,ISA,C0025029,Mecamylamine,orch,1,C0087111,Therapeutic procedure,topp,0\n679,1980,14386685,LOCATION_OF,C0025474,Mesentery,blor,1,C0010709,Cyst,anab,1\n680,1922,13026602,LOCATION_OF,C0003842,Arteries,bpoc,1,C0039082,Syndrome,dsyn,0\n681,1991,18856427,PART_OF,C0024296,Lymphoid Tissue,tisu,1,C0020114,Human,humn,1\n682,2000,14772461,TREATS,C0033218,Procaine,orch,1,C0018790,Heart Arrest,patf,1\n683,1941,12264095,ADMINISTERED_TO,C0720298,Estrogenic,horm,1,C0001792,Elderly,humn,1\n684,1857,12312852,TREATS,C0014939,Estrogens,horm,1,C0027651,Neoplasm,neop,1\n685,1949,12338137,PROCESS_OF,C0346156,Benign neoplasm of breast,neop,1,C0034693,Rattus norvegicus,mamm,1\n686,2006,5233232,PART_OF,C0015392,Eye,bpoc,1,C0031831,Physicians,humn,1\n687,1995,13737762,USES,C0087111,Therapeutic procedure,topp,0,C0018242,Griseofulvin,antb,1\n688,1982,13638660,USES,C0087111,Therapeutic procedure,topp,0,C0025029,Mecamylamine,phsu,1\n689,1983,13502783,PROCESS_OF,C0007125,\"Carcinoma, Ehrlich Tumor\",neop,1,C0026809,Mus,mamm,1\n690,1911,14087177,PRECEDES,C0038902,Gynecologic Surgical Procedures,topp,1,C0524865,Reconstructive Surgical Procedures,topp,1\n691,1941,12264095,PART_OF,C0014609,Epithelium,tisu,1,C0042232,Vagina,bpoc,1\n692,1937,11526827,LOCATION_OF,C0175996,Protoplasm,celc,1,C1185625,Compartments,bsoj,1\n693,1968,13605279,CAUSES,C0322496,Caterpillar,invt,1,C0011603,Dermatitis,dsyn,1\n694,1857,12312852,PROCESS_OF,C0027651,Neoplasm,neop,1,C0026809,Mus,mamm,1\n695,1931,13219296,LOCATION_OF,C0037949,Vertebral column,bpoc,1,C0000768,Congenital Abnormality,cgab,1\n696,2016,16691896,PART_OF,C1516384,Central Artery,bpoc,1,C0035298,Retina,bpoc,1\n697,1960,4968961,PROCESS_OF,C0042401,Vasodilation,phsf,1,C0006104,Brain,bpoc,1\n698,1991,18856427,PART_OF,C1333198,Cytoplasmic Protein,aapp,1,C0024296,Lymphoid Tissue,tisu,1\n699,2015,5323600,LOCATION_OF,C0229671,Serum,bdsu,1,C0023823,Low-Density Lipoproteins,aapp,1\n700,1985,5839810,TREATS,C0184661,Procedures,hlca,1,C0026266,Mitral Valve Insufficiency,dsyn,1\n701,1993,5729816,PROCESS_OF,C0000849,Absenteeism,inbe,1,C1527116,Workers,humn,1\n702,1931,13219296,LOCATION_OF,C0037949,Vertebral column,bpoc,1,C0265883,Double aortic arch,cgab,1\n703,2040,14268264,PART_OF,C0014609,Epithelium,tisu,1,C0014533,Epididymis,bpoc,1\n704,1901,5988843,AFFECTS,C0948575,Diuretic therapy,topp,1,C0001117,Acid-Base Equilibrium,ortf,1\n705,1959,15394676,LOCATION_OF,C1279075,Entire humerus,bpoc,1,C0027530,Neck,blor,1\n706,1857,12312852,TREATS,C0014939,Estrogens,horm,1,C0026809,Mus,mamm,1\n707,1951,13384321,USES,C0087111,Therapeutic procedure,topp,0,C0008286,Chlorpromazine,phsu,1\n708,2061,13372921,PART_OF,C0007095,Carcinoid Tumor,neop,1,C0034896,Rectum,bpoc,1\n709,2019,14055645,LOCATION_OF,C1279038,Entire diaphragm,bpoc,1,C0267195,Chronic gastric volvulus,dsyn,1\n710,1927,13100916,COEXISTS_WITH,C0035435,Rheumatism,dsyn,1,C0006826,Malignant Neoplasms,neop,0\n711,1942,13685041,TREATS,C0441587,Clinical act of insertion,hlca,1,C0008059,Child,humn,1\n712,2047,13680863,ISA,C0543467,Operative Surgical Procedures,topp,1,C0087111,Therapeutic procedure,topp,0\n713,2040,14268264,PART_OF,C0014609,Epithelium,tisu,1,C0012984,Canis familiaris,mamm,1\n714,2022,4965133,INTERACTS_WITH,C0178627,Ethylenediamine tetra-acetate,irda,1,C0033684,Proteins,aapp,1\n715,1994,13997718,PART_OF,C1516384,Central Artery,bpoc,1,C0035298,Retina,bpoc,1\n716,2079,20285401,PART_OF,C0007097,Carcinoma,neop,1,C0038351,Stomach,bpoc,1\n717,1959,15394676,LOCATION_OF,C0027530,Neck,blor,1,C0016658,Fracture,inpo,1\n718,2045,14457945,PART_OF,C0018920,\"Hemangioma, Cavernous\",neop,1,C0225317,soft tissue,tisu,1\n719,2047,13680863,LOCATION_OF,C0037004,Shoulder,bpoc,1,C0012691,Dislocations,inpo,1\n720,1822,13551193,PROCESS_OF,C0232478,Ingestion,biof,1,C0030705,Patients,humn,0\n721,2030,5601124,COEXISTS_WITH,C0022346,Icterus,patf,1,C0012634,Disease,dsyn,0\n722,2027,5187616,TREATS,C0013227,Pharmaceutical Preparations,phsu,0,C0022658,Kidney Diseases,dsyn,1\n723,1992,14812429,PART_OF,C0001418,Adenocarcinoma,neop,1,C0006141,Breast,bpoc,1\n724,2003,13467022,PART_OF,C0227391,Sigmoid colon,bpoc,1,C0005682,Bladder,bpoc,1\n725,2099,13155045,LOCATION_OF,C0024204,lymph nodes,bpoc,1,C0041296,Tuberculosis,dsyn,1\n726,2028,4179108,PROCESS_OF,C0025260,Memory,menp,1,C0026809,Mus,mamm,1\n727,1959,15394676,LOCATION_OF,C0027530,Neck,blor,1,C0221198,Lesion,fndg,1\n728,1994,13997718,LOCATION_OF,C1516384,Central Artery,bpoc,1,C0022116,Ischemia,dsyn,1\n729,2102,14772462,USES,C0087111,Therapeutic procedure,topp,0,C0145330,Tetraethylammonium Chloride,phsu,1\n730,2027,5187616,TREATS,C0035064,Renal Agents,phsu,1,C0022658,Kidney Diseases,dsyn,1\n731,2119,14782746,CAUSES,C0010137,Cortisone,horm,1,C0854110,Insulin resistant diabetes,dsyn,1\n732,2033,13738581,INTERACTS_WITH,C0074568,sinomenine,orch,1,C0030350,Papaverine,orch,1\n733,2103,5776121,TREATS,C0037995,Splenectomy,topp,1,C0018939,Hematological Disease,dsyn,1\n734,2101,13974576,LOCATION_OF,C0029939,Ovary,bpoc,1,C0010709,Cyst,anab,1\n735,2103,5776121,PROCESS_OF,C0018939,Hematological Disease,dsyn,1,C0008059,Child,humn,1\n736,2116,14439979,PART_OF,C0007097,Carcinoma,neop,1,C0009368,Colon,bpoc,1\n737,2107,12338106,LOCATION_OF,C0042149,Uterus,bpoc,1,C0720298,Estrogenic,orch,1\n738,2121,13605280,ASSOCIATED_WITH,C0443640,Specific antibody,aapp,1,C0019348,Herpes Simplex Infections,dsyn,1\n739,2143,14880793,LOCATION_OF,C0225565,Structure of ventricle of larynx,bsoj,1,C0010709,Cyst,anab,1\n740,2107,12338106,PART_OF,C0042149,Uterus,bpoc,1,C0025914,House mice,mamm,1\n741,2124,14087178,LOCATION_OF,C1280344,Entire vas deferens,bpoc,1,C0447577,Ureteric orifice,bsoj,1\n742,2189,14268266,LOCATION_OF,C0042149,Uterus,bpoc,1,C0232939,Primary physiologic amenorrhea,dsyn,1\n743,2195,14772463,PRECEDES,C0149781,Spontaneous pneumothorax NOS,dsyn,1,C0011071,\"Death, Sudden\",patf,1\n744,2167,13372922,CAUSES,C0025424,Mercury,elii,1,C0034884,Rectal Fistula,anab,1\n745,2136,13219297,LOCATION_OF,C0016976,Gallbladder,bpoc,1,C0267892,Aschoff-Rokitansky sinuses,dsyn,1\n746,1956,12279177,PROCESS_OF,C1458155,Mammary Neoplasms,neop,1,C0003062,Animals,anim,0\n747,2136,13219297,LOCATION_OF,C0016976,Gallbladder,bpoc,1,C0012813,Diverticulitis,dsyn,0\n748,2086,5748939,PROCESS_OF,C0019880,Homocystinuria,dsyn,1,C0030705,Patients,humn,0\n749,1956,12279177,ADMINISTERED_TO,C0014912,Estradiol,horm,1,C0003062,Animals,anim,0\n750,2086,5748939,PROCESS_OF,C0040053,Thrombosis,patf,1,C0030705,Patients,humn,0\n751,2146,5327093,AFFECTS,C0037995,Splenectomy,topp,1,C0020964,Immunity,phsf,1\n752,2187,5245632,TREATS,C0031705,Phosphorus,phsu,1,C0032463,Polycythemia Vera,neop,1\n753,1956,12279177,CAUSES,C0025732,Methylcholanthrene,hops,1,C1458155,Mammary Neoplasms,neop,1\n754,2133,13347216,LOCATION_OF,C0024204,lymph nodes,bpoc,1,C0333311,Sequestrum,anab,1\n755,2083,14251374,PROCESS_OF,C0870921,Motor Performance,orgf,1,C0021270,Infant,humn,1\n756,2214,5867996,ASSOCIATED_WITH,C0015667,\"Fat Emulsions, Intravenous\",lipd,1,C0043065,Water-Electrolyte Imbalance,patf,1\n757,1956,12279177,PROCESS_OF,C0032019,Pituitary Neoplasms,neop,1,C0003062,Animals,anim,0\n758,2185,14812430,PART_OF,C0003964,Peritoneal Fluid,bpoc,1,C0025914,House mice,mamm,1\n759,2133,13347216,PROCESS_OF,C0948192,Primary infection NOS,dsyn,1,C0001675,Adult,humn,1\n760,2187,5245632,PROCESS_OF,C0032463,Polycythemia Vera,neop,1,C0030705,Patients,humn,0\n761,2163,13189576,LOCATION_OF,C0036563,Seeds,plnt,1,C0007158,Cardiac Glycosides,carb,1\n762,2241,13670520,PART_OF,C0301838,Soluble antigen,imft,1,C0034497,Rabies virus,virs,1\n763,2153,14055646,LOCATION_OF,C1184808,Plexus,bpoc,1,C0278134,Lack of sensation,sosy,1\n764,2187,5245632,TREATS,C0031705,Phosphorus,phsu,1,C0030705,Patients,podg,0\n765,2177,5877996,TREATS,C0001617,Adrenal Cortex Hormones,horm,1,C0019357,\"Keratitis, Herpetic\",dsyn,1\n766,2194,12336800,TREATS,C0392535,\"Abortion, Induced\",topp,1,C0555047,Married,fndg,1\n767,2163,13189576,LOCATION_OF,C0036563,Seeds,plnt,1,C0304518,Aglycone,orch,1\n768,1956,12279177,ADMINISTERED_TO,C0014912,Estradiol,horm,1,C0003062,Animals,anim,0\n769,2223,5955079,PROCESS_OF,C0003873,Rheumatoid Arthritis,dsyn,1,C0030705,Patients,humn,0\n770,2153,14055646,LOCATION_OF,C1140618,Upper Extremity,bpoc,1,C0278134,Lack of sensation,sosy,1\n771,2194,12336800,PROCESS_OF,C0555047,Married,fndg,1,C0043210,Woman,humn,1\n772,2177,5877996,ISA,C0001617,Adrenal Cortex Hormones,horm,1,C0087111,Therapeutic procedure,topp,0\n773,2221,13974577,DIAGNOSES,C0203039,Hysterogram,diap,1,C0032987,\"Pregnancy, Ectopic\",dsyn,1\n774,2187,5245632,LOCATION_OF,C0030705,Patients,humn,0,C0005832,Blood Proteins,aapp,1\n775,1956,12279177,ADMINISTERED_TO,C0025732,Methylcholanthrene,hops,1,C0003062,Animals,anim,0\n776,2257,13464048,TREATS,C0015506,Factor VIII,phsu,1,C0019069,Hemophilia A,dsyn,1\n777,2096,14386686,LOCATION_OF,C0031066,Anogenital region,blor,1,C0175677,Injury,inpo,1\n778,2194,12336800,TREATS,C0392535,\"Abortion, Induced\",topp,1,C0043210,Woman,popg,1\n779,2177,5877996,USES,C0087111,Therapeutic procedure,topp,0,C0001617,Adrenal Cortex Hormones,phsu,1\n780,2096,14386686,TREATS,C0193200,Repair of anus NOS,topp,1,C0175677,Injury,inpo,1\n781,2257,13464048,PROCESS_OF,C0019069,Hemophilia A,dsyn,1,C0030705,Patients,humn,0\n782,2268,13372923,LOCATION_OF,C0009368,Colon,bpoc,1,C0012634,Disease,dsyn,0\n783,2089,5876103,PROCESS_OF,C0234222,Baresthesia,ortf,1,C0034493,Oryctolagus cuniculus,mamm,1\n784,2177,5877996,TREATS,C0087111,Therapeutic procedure,topp,0,C0019357,\"Keratitis, Herpetic\",dsyn,1\n785,2237,5914357,PROCESS_OF,C0392673,Adaptation,biof,1,C0034693,Rattus norvegicus,mamm,1\n786,2226,14439982,PART_OF,C0027651,Neoplasm,neop,1,C0242726,Plant Roots,plnt,1\n787,2268,13372923,LOCATION_OF,C0034896,Rectum,bpoc,1,C0012634,Disease,dsyn,0\n788,2229,13100918,ISA,C0025646,Methionine,aapp,1,C0087111,Therapeutic procedure,topp,0\n789,2257,13464048,TREATS,C0015506,Factor VIII,phsu,1,C0030705,Patients,podg,0\n790,2096,14386686,PROCESS_OF,C0175677,Injury,inpo,1,C0870221,Boys,humn,1\n791,2229,13100918,USES,C0087111,Therapeutic procedure,topp,0,C0025646,Methionine,aapp,1\n792,2171,4966828,PART_OF,C0599104,mucopeptide,aapp,1,C0007623,Cell Wall,celc,1\n793,2296,14251375,PROCESS_OF,C0814024,skin conductance,ortf,1,C0021289,\"Infant, Newborn\",humn,1\n794,2290,5933804,LOCATION_OF,C0025066,Mediastinum,blor,1,C0010626,Embryonic cyst,cgab,1\n795,2229,13100918,TREATS,C0025646,Methionine,aapp,1,C0003873,Rheumatoid Arthritis,dsyn,1\n796,2265,6029551,LOCATION_OF,C0817096,Chest,blor,1,C0028797,Occupational Diseases,dsyn,1\n797,2301,13297278,CAUSES,C0005806,Blood Group Incompatibility,dsyn,1,C1263988,Hemolytic disorder,dsyn,1\n798,2314,12983077,PART_OF,C0458459,Dorsal column,bpoc,1,C0012984,Canis familiaris,mamm,1\n799,2168,14327670,PART_OF,C0034595,Radioisotopes,elii,1,C0175925,Dairy cattle,mamm,1\n800,2203,14420425,ISA,C0000677,\"9,10-Dimethyl-1,2-benzanthracene\",hops,1,C0005032,Benzanthracenes,hops,1\n801,2184,5707416,PART_OF,C0006104,Brain,bpoc,1,C0034693,Rattus norvegicus,mamm,1\n802,2215,14216922,ISA,C0591817,Moditen,orch,1,C0016368,Fluphenazine,orch,1\n803,2151,12312852,PROCESS_OF,C0042138,Uterine Neoplasms,neop,1,C0026809,Mus,mamm,1\n804,2350,13997723,PROCESS_OF,C0042386,\"Vasculitis, Hemorrhagic\",dsyn,1,C0008059,Child,humn,1\n805,2210,14934120,AFFECTS,C0014695,Vitamin D2,phsu,1,C0007097,Carcinoma,neop,1\n806,2199,14847757,COEXISTS_WITH,C1510420,Cavitation,anab,1,C0333292,Perforated ulcer,acab,1\n807,2260,14087179,PROCESS_OF,C0012634,Disease,dsyn,0,C0022566,Keratinization,ortf,1\n808,2330,14185266,PROCESS_OF,C1291706,Psychogenic factor,fndg,1,C0008059,Child,humn,1\n809,2252,5971457,ISA,C0751495,\"Seizures, Focal\",sosy,1,C0014544,Epilepsy,dsyn,1\n810,2286,16691900,ASSOCIATED_WITH,C0025424,Mercury,elii,1,C0008526,Choroiditis,dsyn,1\n811,2377,14806346,TREATS,C1517925,Local Therapy,topp,1,C0030100,Oxyuriasis,dsyn,1\n812,2322,13155048,DIAGNOSES,C0006290,Bronchoscopy,diap,1,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n813,2203,14420425,ASSOCIATED_WITH,C0017973,Glycosaminoglycans,bacs,1,C0018188,Granuloma,patf,1\n814,2270,14268267,TREATS,C0033306,Progestins,horm,1,C0235873,Pelvic inflammation,patf,1\n815,2367,20285409,METHOD_OF,C0441509,Coagulation procedure,topp,1,C0728940,Excision,topp,1\n816,2313,13670521,LOCATION_OF,C0026927,Atypical Mycobacteria,bact,1,C0001962,Ethanol,orch,1\n817,2210,14934120,PART_OF,C0007097,Carcinoma,neop,1,C0026809,Mus,mamm,1\n818,2269,12338142,PART_OF,C0014609,Epithelium,tisu,1,C0042149,Uterus,bpoc,1\n819,2366,5914358,AFFECTS,C0032120,Plasma Proteins,aapp,1,C0302113,Fragility,comd,1\n820,2251,13737765,PART_OF,C0005962,Bone Matrix,tisu,1,C0015811,Femur,bpoc,1\n821,2302,13789602,LOCATION_OF,C0026447,Monkeys,mamm,1,C0028215,Nitrous Oxide,inch,1\n822,2370,5839813,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0009368,Colon,bpoc,1\n823,2199,14847757,LOCATION_OF,C0028977,Omentum,bpoc,1,C1510420,Cavitation,anab,1\n824,2360,13480921,USES,C0039593,Testing,resa,1,C0005971,Bone plates,medd,1\n825,2374,13738588,TREATS,C0543467,Operative Surgical Procedures,topp,1,C0001675,Adult,aggp,1\n826,2269,12338142,PROCESS_OF,C0025568,Metaplasia,comd,1,C0034693,Rattus norvegicus,mamm,1\n827,2398,13605283,TREATS,C0087111,Therapeutic procedure,topp,0,C0023048,Larva Migrans,dsyn,1\n828,2260,14087179,PROCESS_OF,C0012634,Disease,dsyn,0,C0030705,Patients,humn,0\n829,2322,13155048,PROCESS_OF,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1,C0008059,Child,humn,1\n830,2368,13372924,PROCESS_OF,C0039082,Syndrome,dsyn,0,C0021270,Infant,humn,1\n831,2260,14087179,PART_OF,C0005767,Blood,tisu,1,C0030705,Patients,humn,0\n832,2216,13502785,ISA,C0024398,Macaca,mamm,1,C0026447,Monkeys,mamm,1\n833,2384,13384325,USES,C0087111,Therapeutic procedure,topp,0,C0600062,Largactil,phsu,1\n834,2351,12279177,PROCESS_OF,C0006142,Malignant neoplasm of breast,neop,1,C0034693,Rattus norvegicus,mamm,1\n835,2347,5187619,PROCESS_OF,C0022658,Kidney Diseases,dsyn,1,C0008059,Child,humn,1\n836,2389,13026607,CAUSES,C0017601,Glaucoma,dsyn,1,C0456909,Blind Vision,dsyn,1\n837,2260,14087179,AFFECTS,C0042839,Vitamin A,orch,1,C0005767,Blood,tisu,1\n838,2216,13502785,PART_OF,C0032005,Pituitary Gland,bpoc,1,C0024398,Macaca,mamm,1\n839,2400,13100919,PROCESS_OF,C0028754,Obesity,dsyn,1,C0026591,Mothers,humn,1\n840,2365,5876104,PROCESS_OF,C0009348,Collateral Circulation,phsf,1,C0006104,Brain,bpoc,1\n841,2442,5339452,TREATS,C0700087,Tegretol,phsu,1,C0040997,Trigeminal Neuralgia,dsyn,1\n842,2435,16691901,LOCATION_OF,C0029127,Optic Disk,bpoc,1,C0010709,Cyst,anab,1\n843,2216,13502785,PART_OF,C0032005,Pituitary Gland,bpoc,1,C0026447,Monkeys,mamm,1\n844,2336,5955080,PROCESS_OF,C0035436,Rheumatic Fever,dsyn,1,C0008059,Child,humn,1\n845,2365,5876104,PROCESS_OF,C0009348,Collateral Circulation,phsf,1,C0034493,Oryctolagus cuniculus,mamm,1\n846,2385,13347218,COEXISTS_WITH,C0006902,Capillaritis,dsyn,1,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n847,2417,5707417,COEXISTS_WITH,C0014544,Epilepsy,dsyn,1,C0009951,Convulsions,dsyn,1\n848,2426,4967409,PART_OF,C0037303,Bone structure of cranium,bpoc,1,C0026447,Monkeys,mamm,1\n849,2395,5933805,TREATS,C0396565,Lung excision,topp,1,C1306038,Pulmonary histoplasmosis,dsyn,1\n850,2454,13974579,METHOD_OF,C0031006,In situ perfusion,topp,1,C0920425,Cancer Treatment,topp,1\n851,2423,14457951,CAUSES,C0023355,Leptomeningitis,dsyn,1,C0041296,Tuberculosis,dsyn,1\n852,2495,5187620,PROCESS_OF,C0022658,Kidney Diseases,dsyn,1,C0008059,Child,humn,1\n853,2481,5867998,PART_OF,C0027149,Myxoma,neop,1,C0225860,Left atrial structure,bpoc,1\n854,2403,5877998,ISA,C0185026,Plication,topp,1,C0543467,Operative Surgical Procedures,topp,1\n855,2471,5839814,PROCESS_OF,C0028778,Obstruction,patf,1,C0021289,\"Infant, Newborn\",humn,1\n856,2492,14772469,PART_OF,C0007097,Carcinoma,neop,1,C0024109,Lung,bpoc,1\n857,2466,12264118,PART_OF,C0024659,\"Mammary Glands, Animal\",bpoc,1,C0007097,Carcinoma,neop,1\n858,2403,5877998,TREATS,C0185026,Plication,topp,1,C0035305,Retinal Detachment,dsyn,1\n859,2491,5182923,PROCESS_OF,C0476273,Respiratory distress,sosy,1,C0008059,Child,humn,1\n860,2502,14087180,PROCESS_OF,C0042998,Vulvovaginitis,dsyn,1,C0008059,Child,humn,1\n861,2319,11850911,ISA,C0022594,Keratosis Blennorrhagica,dsyn,1,C0037284,Skin lesion,acab,1\n862,2488,13297280,TREATS,C0012002,Diathermy,topp,1,C0269062,Chronic cervicitis,dsyn,1\n863,2474,13605284,LOCATION_OF,C0005847,Blood Vessels,bpoc,1,C0019080,Hemorrhage,fndg,1\n864,2471,5839814,CAUSES,C0021828,Intestinal Atresia,dsyn,1,C0028778,Obstruction,patf,1\n865,2553,14771475,COEXISTS_WITH,C0020517,Hypersensitivity,patf,1,C0026946,Mycoses,dsyn,1\n866,2477,14150930,TREATS,C1293107,Expulsion,topp,1,C0426686,Liver finding,fndg,1\n867,2502,14087180,PROCESS_OF,C0276683,Candidiasis of vulva,dsyn,1,C0008059,Child,humn,1\n868,2483,13997727,COEXISTS_WITH,C0023530,Leukopenia,dsyn,1,C0036974,Shock,patf,1\n869,2530,14185268,TREATS,C0020699,Hysterectomy,topp,1,C0006826,Malignant Neoplasms,neop,0\n870,2496,6029553,LOCATION_OF,C0027361,Persons,humn,0,C0003818,Arsenic,elii,1\n871,2469,5914359,INTERACTS_WITH,C0002006,Aldosterone,horm,1,C0037494,Sodium Chloride,bacs,1\n872,2519,12259174,LOCATION_OF,C0026140,\"Milk, Human\",bdsu,1,C0028040,Nicotine,orch,1\n873,2520,13551199,PROCESS_OF,C0021400,Influenza,dsyn,1,C0008059,Child,humn,1\n874,2475,13155049,COEXISTS_WITH,C0699748,Pathogenesis,patf,0,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n875,2547,13372926,LOCATION_OF,C1275631,Perianal region structure,blor,1,C0006826,Malignant Neoplasms,neop,0\n876,2530,14185268,PART_OF,C0006826,Malignant Neoplasms,neop,0,C1521714,Uterus - Cervix (MMHCC),tisu,1\n877,2551,13347219,TREATS,C0351302,Sodium salts,phsu,1,C0023348,\"Leprosy, Lepromatous\",dsyn,1\n878,2516,4301646,USES,C0087111,Therapeutic procedure,topp,0,C0086123,Deoxycholate,phsu,1\n879,2450,5729819,LOCATION_OF,C0030274,Pancreas,bpoc,1,C0011847,Diabetes,dsyn,1\n880,2528,11712290,PROCESS_OF,C0012634,Disease,dsyn,0,C0080309,Ventricular Function,ortf,1\n881,2546,14439993,PART_OF,C0206674,\"Adenoma, Villous\",neop,1,C0034896,Rectum,bpoc,1\n882,2469,5914359,INTERACTS_WITH,C0003779,Argipressin,horm,1,C0037494,Sodium Chloride,bacs,1\n883,2519,12259174,LOCATION_OF,C0042036,Urine,bdsu,1,C0028040,Nicotine,orch,1\n884,2582,13974580,TREATS,C0031006,In situ perfusion,topp,1,C1261473,sarcoma,neop,1\n885,2575,13680870,TREATS,C0279025,Endocrine therapy,topp,1,C0334897,Obstetrician,humn,1\n886,2547,13372926,LOCATION_OF,C1275631,Perianal region structure,blor,1,C0877510,Precancerous skin lesion,dsyn,1\n887,2450,5729819,PROCESS_OF,C0011847,Diabetes,dsyn,1,C0001675,Adult,humn,1\n888,2443,12312852,PROCESS_OF,C0178554,cocarcinogen,patf,1,C0026809,Mus,mamm,1\n889,2536,13502786,PART_OF,C0006104,Brain,bpoc,1,C0024398,Macaca,mamm,1\n890,2557,5776126,COEXISTS_WITH,C1510428,Cerebral Abscess,dsyn,1,C0036117,Salmonella infections,dsyn,1\n891,2469,5914359,INTERACTS_WITH,C0010124,Corticosterone,horm,1,C0037494,Sodium Chloride,bacs,1\n892,2570,5707418,LOCATION_OF,C0006104,Brain,bpoc,1,C0017911,Glycogen,bacs,1\n893,2543,14847759,PART_OF,C0006826,Malignant Neoplasms,neop,0,C1305392,Entire common bile duct,bpoc,1\n894,2571,13685052,PART_OF,C0023779,Lipids,lipd,1,C0040934,Trichophyton mentagrophytes,fngs,1\n895,2594,5955083,LOCATION_OF,C0262950,Skeletal bone,bpoc,1,C0036202,Sarcoidosis,dsyn,1\n896,2450,5729819,PROCESS_OF,C0011847,Diabetes,dsyn,1,C0030705,Patients,humn,0\n897,2475,13155049,PROCESS_OF,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1,C0008059,Child,humn,1\n898,2515,4966829,PART_OF,C0017526,Giant Cells,cell,1,C0004595,Bacillus subtilis,bact,1\n899,2443,12312852,CAUSES,C0025732,Methylcholanthrene,hops,1,C0042138,Uterine Neoplasms,neop,1\n900,2612,14877306,PART_OF,C0007097,Carcinoma,neop,1,C1280388,Entire upper lip,bpoc,1\n901,2554,14812432,PART_OF,C0023884,Liver,bpoc,1,C0025914,House mice,mamm,1\n902,2524,13103847,ISA,C0699935,Terramycin,antb,1,C0030092,Oxytetracycline,antb,1\n903,2622,13464053,PROCESS_OF,C0027819,Neuroblastoma,neop,1,C0021270,Infant,humn,1\n904,2579,14268271,TREATS,C0034618,Radiation therapy,topp,1,C0036631,Seminoma,neop,1\n905,2430,13582820,TREATS,C0009574,Compound 48-80,phsu,1,C0034693,Rattus norvegicus,mamm,1\n906,2557,5776126,PROCESS_OF,C0036117,Salmonella infections,dsyn,1,C0021270,Infant,humn,1\n907,2536,13502786,LOCATION_OF,C0006104,Brain,bpoc,1,C0002059,Alkaline Phosphatase,aapp,1\n908,2443,12312852,STIMULATES,C0857127,Induction,topp,1,C0018270,Growth,orgf,1\n909,2524,13103847,ISA,C0728748,Aureomycin,antb,1,C0008293,Chlortetracycline,antb,1\n910,2633,13384327,TREATS,C0008286,Chlorpromazine,phsu,1,C0030705,Patients,podg,0\n911,2636,20241554,PART_OF,C1267211,Entire duct,bpoc,1,C1550312,Submaxillary,bpoc,1\n912,2569,13789604,PART_OF,C0334294,Multiple adenomatous polyps,neop,1,C0038351,Stomach,bpoc,1\n913,2681,16016739,LOCATION_OF,C0023625,\"Libraries, Medical\",hcro,1,C0007371,Cataloging,ocac,1\n914,2569,13789604,COEXISTS_WITH,C0153188,\"[X]Late syphilis, unspecified\",dsyn,1,C0334294,Multiple adenomatous polyps,neop,1\n915,2476,4878919,TREATS,C0013227,Pharmaceutical Preparations,phsu,0,C0019829,Hodgkin Disease,neop,1\n916,2576,4286772,PART_OF,C1368019,Paget's Disease,neop,1,C0006141,Breast,bpoc,1\n917,2690,14782769,PROCESS_OF,C0036341,Schizophrenia,mobd,1,C0205653,Adolescent,humn,1\n918,2703,13605286,TREATS,C0001712,Aerosols,chvs,1,C0037274,skin disorder,dsyn,0\n919,2626,14055650,ISA,C0036861,Sewage,eehu,1,C0392355,Pollution,eehu,1\n920,2644,14386691,TREATS,C0728940,Excision,topp,1,C0014009,Empyema,dsyn,1\n921,2588,10976199,PART_OF,C1167331,outer membrane,celc,1,C0037851,Sperm Tail,celc,1\n922,2645,4300082,LOCATION_OF,C0022646,Kidney,bpoc,1,C0151864,Disorder of pregnancy,dsyn,1\n923,2671,14185269,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0029939,Ovary,bpoc,1\n924,2599,5867999,ISA,C0027627,Neoplasm Metastasis,neop,1,C0006826,Malignant Neoplasms,neop,0\n925,2690,14782769,TREATS,C0009953,Convulsive therapy,topp,1,C0036341,Schizophrenia,mobd,1\n926,2576,4286772,ISA,C1368019,Paget's Disease,neop,1,C0006826,Malignant Neoplasms,neop,0\n927,2476,4878919,TREATS,C0013227,Pharmaceutical Preparations,phsu,0,C0162460,Reticulosis,neop,1\n928,2576,4286772,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0006141,Breast,bpoc,1\n929,2476,4878919,PROCESS_OF,C0019829,Hodgkin Disease,neop,1,C0030705,Patients,humn,0\n930,2706,16691905,METHOD_OF,C0038288,Sexual sterilization,topp,1,C0007389,Cataract Extraction,topp,1\n931,2739,12259050,PROCESS_OF,C0678108,Sterility,patf,1,C0025266,Male population group,humn,0\n932,2476,4878919,PROCESS_OF,C0162460,Reticulosis,neop,1,C0030705,Patients,humn,0\n933,2640,14150931,PART_OF,C0061241,germin,aapp,1,C0018067,Gonadal structure,bpoc,1\n934,2668,12308048,LOCATION_OF,C0036378,\"Schools, Medical\",hcro,1,C0039401,Educational process of instructing,edac,1\n935,2698,13431683,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0040132,Thyroid Gland,bpoc,1\n936,2685,13738592,PART_OF,C0005682,Bladder,bpoc,1,C0521377,Rectum and sigmoid colon,bpoc,1\n937,2718,13070195,PART_OF,C0006736,Calculi,bdsu,1,C0018494,hair,bpoc,1\n938,2676,13480924,TREATS,C0442936,Hemilaminectomy,topp,1,C0012984,Canis familiaris,mamm,1\n939,2728,13464054,COEXISTS_WITH,C0019066,Nontraumatic hemoperitoneum,patf,1,C0878751,Late pregnancy,dsyn,1\n940,2476,4878919,TREATS,C0013227,Pharmaceutical Preparations,phsu,0,C0030705,Patients,podg,0\n941,2689,12275493,PROCESS_OF,C0027497,Nausea,sosy,1,C0043210,Woman,humn,1\n942,2727,14877307,TREATS,C0020197,Hyaluronidase,aapp,1,C0027145,Myxedema,dsyn,1\n943,2747,13103848,USES,C0087111,Therapeutic procedure,topp,0,C1136254,Microbicides,phsu,1\n945,2649,13211298,TREATS,C0087111,Therapeutic procedure,topp,0,C0002962,Angina Pectoris,sosy,1\n946,2733,5839816,TREATS,C0543467,Operative Surgical Procedures,topp,1,C0522224,Paralysed,fndg,1\n947,2727,14877307,LOCATION_OF,C1280388,Entire upper lip,bpoc,1,C0027145,Myxedema,dsyn,1\n948,2748,14880803,TREATS,C0010137,Cortisone,horm,1,C0003873,Rheumatoid Arthritis,dsyn,1\n949,2743,13384328,USES,C0087111,Therapeutic procedure,topp,0,C0008286,Chlorpromazine,phsu,1\n950,2738,5776127,PROCESS_OF,C0546959,Atrial tachycardia,patf,1,C0870604,Girls,humn,1\n951,2649,13211298,PROCESS_OF,C0002962,Angina Pectoris,sosy,1,C0030705,Patients,humn,0\n952,2803,14772473,COEXISTS_WITH,C0871745,Family Crises,fndg,1,C0241953,Jaundice acholuric,dsyn,1\n953,2711,13026610,CAUSES,C0016470,Food Allergy,dsyn,1,C0013595,Eczema,dsyn,1\n954,2749,20241555,LOCATION_OF,C0027530,Neck,blor,1,C0017105,Gas Gangrene,dsyn,1\n955,2704,15394682,LOCATION_OF,C1305781,Supraspinatus tendon,bpoc,1,C0043246,Laceration,inpo,1\n956,2733,5839816,LOCATION_OF,C1278841,Entire brachial plexus,bpoc,1,C0522224,Paralysed,fndg,1\n957,2641,13997729,PART_OF,C0032005,Pituitary Gland,bpoc,1,C0003459,Anura,amph,1\n958,2743,13384328,TREATS,C0008286,Chlorpromazine,orch,1,C0033975,Psychotic Disorders,mobd,1\n959,2649,13211298,TREATS,C0087111,Therapeutic procedure,topp,0,C0030705,Patients,podg,0\n961,2746,14087182,PART_OF,C0178784,Organ,bpoc,1,C0230278,Minor pelvis,bpoc,1\n962,2711,13026610,LOCATION_OF,C0018563,Hand,bpoc,1,C0013595,Eczema,dsyn,1\n963,2641,13997729,PART_OF,C0796494,Lobe,bpoc,1,C0032005,Pituitary Gland,bpoc,1\n964,2649,13211298,TREATS,C1441129,Radioactive Iodine,phsu,1,C0741926,CARDIAC PATIENT,podg,1\n965,2790,13297282,PROCESS_OF,C0037864,Spermatogenesis,celf,1,C0020114,Human,humn,1\n966,2710,5914360,INTERACTS_WITH,C0002006,Aldosterone,horm,1,C0037494,Sodium Chloride,bacs,1\n967,2746,14087182,LOCATION_OF,C0178784,Organ,bpoc,1,C0042345,Varicosity,acab,1\n968,2693,13680883,PART_OF,C0035286,Reticulocytes,cell,1,C0034493,Oryctolagus cuniculus,mamm,1\n969,2819,14457955,CAUSES,C0034618,Radiation therapy,topp,1,C0022408,Arthropathies NOS,dsyn,1\n970,2833,5868001,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0029939,Ovary,bpoc,1\n971,2842,13551202,LOCATION_OF,C1278872,Entire sympathetic nerve,bpoc,1,C0270788,Paralytic syndrome,dsyn,1\n972,2860,5776128,COEXISTS_WITH,C0267956,Acute necrosis of pancreas,dsyn,1,C0027720,Nephrosis,dsyn,1\n973,2770,13789605,LOCATION_OF,C0024109,Lung,bpoc,1,C0038172,Staphylococcus aureus,bact,1\n974,2849,5878002,LOCATION_OF,C0015392,Eye,bpoc,1,C0221198,Lesion,fndg,1\n975,2725,14812433,PROCESS_OF,C0038356,Stomach Neoplasms,neop,1,C0026809,Mus,mamm,1\n976,2710,5914360,INTERACTS_WITH,C0003779,Argipressin,horm,1,C0037494,Sodium Chloride,bacs,1\n977,2856,14880804,USES,C0087111,Therapeutic procedure,topp,0,C0728748,Aureomycin,antb,1\n978,2825,13100924,ISA,C0022209,isoniazid,orch,1,C0087111,Therapeutic procedure,topp,0\n979,2693,13680883,INTERACTS_WITH,C0051395,alpha-ketoglutaric acid,orch,1,C0017797,Glutamine,aapp,1\n980,2726,13189580,PART_OF,C0023884,Liver,bpoc,1,C0003043,Animalia,anim,0\n982,2819,14457955,CAUSES,C0087111,Therapeutic procedure,topp,0,C0022408,Arthropathies NOS,dsyn,1\n983,2746,14087182,LOCATION_OF,C0042345,Varicosity,acab,1,C0236178,Intraabdominal hemorrhage,dsyn,1\n984,2875,14772474,COEXISTS_WITH,C1370824,Interstitial emphysema,dsyn,1,C0025007,Measles,dsyn,1\n985,2825,13100924,USES,C0087111,Therapeutic procedure,topp,0,C0022209,isoniazid,phsu,1\n986,2753,12264172,PROCESS_OF,C0024623,Malignant neoplasm of stomach,neop,1,C0034693,Rattus norvegicus,mamm,1\n987,2770,13789605,PART_OF,C0024109,Lung,bpoc,1,C0030705,Patients,humn,0\n988,2693,13680883,INTERACTS_WITH,C0061472,Glutamic Acid,aapp,1,C0017797,Glutamine,aapp,1\n989,2710,5914360,INTERACTS_WITH,C0010124,Corticosterone,horm,1,C0037494,Sodium Chloride,bacs,1\n990,2726,13189580,LOCATION_OF,C0023884,Liver,bpoc,1,C0042845,Vitamin B 12,orch,1\n991,2827,13431684,TREATS,C0010137,Cortisone,horm,1,C0264552,Serofibrinous pleurisy,dsyn,1\n992,2850,5955085,TREATS,C0040071,Thymectomy,topp,1,C0026896,Myasthenia Gravis,dsyn,1\n993,2815,13292704,PROCESS_OF,C0041296,Tuberculosis,dsyn,1,C0030705,Patients,humn,0\n994,2834,13347223,CAUSES,C0600062,Largactil,orch,1,C0022346,Icterus,patf,1\n995,2753,12264172,PROCESS_OF,C0153567,Uterine Cancer,neop,1,C0034693,Rattus norvegicus,mamm,1\n996,2825,13100924,TREATS,C0022209,isoniazid,phsu,1,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1\n997,2799,13685065,PART_OF,C0229671,Serum,bdsu,1,C0020114,Human,humn,1\n998,2824,5707419,PART_OF,C0023779,Lipids,lipd,1,C0027836,Neuroglia,cell,1\n999,2899,13070197,PART_OF,C0015801,Structure of femoral artery,bpoc,1,C0012984,Canis familiaris,mamm,1\n1000,2737,13582821,TREATS,C0019590,Histamine Antagonists,phsu,1,C0085979,Cavia,mamm,1\n1001,2912,13997730,PART_OF,C0796494,Lobe,bpoc,1,C0032005,Pituitary Gland,bpoc,1\n1002,2931,13551203,TREATS,C0025386,Meprobamate,phsu,1,C0700061,Obstetric Patient,podg,1\n1003,2824,5707419,PART_OF,C0682708,White Matter,tisu,1,C0007452,Cattle,mamm,1\n1004,2891,13219342,USES,C0087111,Therapeutic procedure,topp,0,C0012155,Diet,food,1\n1005,2899,13070197,PART_OF,C0741968,CAROTID,bpoc,1,C0012984,Canis familiaris,mamm,1\n1006,2949,16691908,LOCATION_OF,C0035298,Retina,bpoc,1,C0002982,Angioid Streaks,dsyn,1\n1007,2941,18856429,COEXISTS_WITH,C0238621,Aminoaciduria,dsyn,1,C0026850,Muscular Dystrophies,cgab,1\n1008,2824,5707419,LOCATION_OF,C0682708,White Matter,tisu,1,C0023779,Lipids,lipd,1\n1009,2944,13155053,PROCESS_OF,C0041327,\"Tuberculosis, Pulmonary\",dsyn,1,C0008059,Child,humn,1\n1010,2917,15394684,LOCATION_OF,C0003086,Ankle,blor,1,C0016658,Fracture,inpo,1\n1011,2906,14216928,PROCESS_OF,C0241856,Occupational deafness,dsyn,1,C0376706,Mechanics,npop,1\n1012,2963,16016747,METHOD_OF,C0220931,Training,edac,1,C0023620,Librarianship,ocdi,1\n1014,2873,14440000,LOCATION_OF,C0032105,Plasma,bdsu,1,C0040018,Thrombin,aapp,1\n1015,2942,13026612,PART_OF,C0018283,Epiphysial cartilage,tisu,1,C1279083,Entire radius,bpoc,1\n1016,2932,14934126,DIAGNOSES,C0037296,Hypersensitivity skin testing,diap,1,C0002994,Angioneurotic Edema,patf,1\n1017,2868,14386693,METHOD_OF,C0022100,Irrigation,topp,1,C0087111,Therapeutic procedure,topp,0\n1018,2855,4301646,NEG_INHIBITS,C0034145,Puromycin,antb,1,C0001480,Adenosine Triphosphate,bacs,1\n1019,2935,4300799,PROCESS_OF,C0023418,leukemia,neop,1,C0026809,Mus,mamm,1\n1020,2907,4892267,TREATS,C0040732,Transplantation,topp,1,C0020114,Human,humn,1\n1021,2870,20241556,COMPLICATES,C0017086,Gangrene,dsyn,1,C0864638,Cerebrospinal fever,dsyn,1\n1022,2979,13638675,TREATS,C0450442,Agent,chvf,1,C0027726,Nephrotic Syndrome,dsyn,1\n1023,2986,13930418,ASSOCIATED_WITH,C0232262,Diastolic murmur,sosy,1,C0003504,Aortic Valve Insufficiency,dsyn,1\n1024,2863,13372929,METHOD_OF,C0040597,Traction,topp,1,C0556666,Lumbar traction,topp,1\n1025,2966,14268284,DIAGNOSES,C0013798,Electrocardiogram,diap,1,C0023119,Lathyrism,inpo,1\n1026,2913,13502788,ISA,C0024398,Macaca,mamm,1,C0026447,Monkeys,mamm,1\n1027,2964,13431685,LOCATION_OF,C0038351,Stomach,bpoc,1,C0019291,\"Hernia, Hiatal\",anab,1\n1028,2965,12983088,METHOD_OF,C0042196,Vaccination,topp,1,C0199176,Prophylactic treatment,topp,1\n1029,2868,14386693,USES,C0087111,Therapeutic procedure,topp,0,C0030842,Penicillins,antb,1\n1030,2985,14847763,CAUSES,C0005036,Benzene,hops,1,C0023473,\"Myeloid Leukemia, Chronic\",neop,1\n1031,2980,13103850,TREATS,C0022678,\"Kidney, Artificial\",medd,1,C0022661,\"Kidney Failure, Chronic\",dsyn,1\n1032,2928,5878003,LOCATION_OF,C0016823,Structure of fundus of eye,blor,1,C0012634,Disease,dsyn,0\n1033,2970,12264172,PROCESS_OF,C0006826,Malignant Neoplasms,neop,0,C0034693,Rattus norvegicus,mamm,1\n1034,2932,14934126,DIAGNOSES,C0037296,Hypersensitivity skin testing,diap,1,C0042109,Urticaria,dsyn,1\n1035,3019,16691671,PART_OF,C0015392,Eye,bpoc,1,C0020114,Human,humn,1\n1036,2999,5585345,AFFECTS,C0040165,Thyroxine,aapp,1,C1149888,alkaline phosphatase activity,moft,1\n1037,2868,14386693,USES,C0087111,Therapeutic procedure,topp,0,C0771312,SULFATHIAZOLE SODIUM,phsu,1\n1038,2913,13502788,LOCATION_OF,C0927232,Neuraxis,bdsy,1,C0857127,Induction,topp,1\n1039,2863,13372929,ISA,C0040597,Traction,topp,1,C0087111,Therapeutic procedure,topp,0\n1040,2992,14782773,TREATS,C0185125,Application procedure,hlca,1,C0030193,Pain,sosy,1\n1041,3012,13384331,compared_with,C0008286,Chlorpromazine,orch,1,C0195775,Operation on brain,topp,1\n1042,2928,5878003,TREATS,C0023694,Light Coagulation,topp,1,C0012634,Disease,dsyn,0\n1043,2981,6065079,PART_OF,C0033679,Transglutaminases,aapp,1,C0023884,Liver,bpoc,1\n1044,2950,13867951,PART_OF,C0006826,Malignant Neoplasms,neop,0,C0032005,Pituitary Gland,bpoc,1\n1045,2952,11526828,compared_with,C0597277,Potassium Ions,bacs,1,C0022023,Ions,elii,1\n1047,2951,13280157,LOCATION_OF,C0038351,Stomach,bpoc,1,C0031746,Photofluorography,diap,1\n1048,2863,13372929,METHOD_OF,C0087111,Therapeutic procedure,topp,0,C0556666,Lumbar traction,topp,1\n1049,2952,11526828,higher_than,C0597277,Potassium Ions,bacs,1,C0022023,Ions,elii,1\n1051,2909,12275493,ADMINISTERED_TO,C0003297,Antiemetics,phsu,1,C0030705,Patients,humn,0\n1052,2919,12996023,PROCESS_OF,C0231178,Chronic failure,patf,1,C0008059,Child,humn,1\n1053,2967,5914361,TREATS,C0051066,alanosine,phsu,1,C0034693,Rattus norvegicus,mamm,1\n1054,3028,4236753,PART_OF,C0026237,Mitochondria,celc,1,C0006104,Brain,bpoc,1\n1055,2990,14770468,PROCESS_OF,C0027726,Nephrotic Syndrome,dsyn,1,C0008059,Child,humn,1\n1056,3038,15394685,CAUSES,C0034074,Pulmonary Infarction,dsyn,1,C0032326,Pneumothorax,dsyn,1\n1057,3030,13997734,PART_OF,C1519221,Secretory Cell,cell,1,C0796494,Lobe,bpoc,1\n1058,3020,14880806,METHOD_OF,C0011900,Diagnosis,hlca,1,C0543467,Operative Surgical Procedures,topp,1\n1059,3103,13867952,PROCESS_OF,C0017181,Gastrointestinal Hemorrhage,patf,1,C0021270,Infant,humn,1\n1060,3041,4960769,LOCATION_OF,C0003064,\"Animals, Laboratory\",anim,1,C0018062,Chorionic Gonadotropin,aapp,1\n1061,3077,13789614,TREATS,C0543467,Operative Surgical Procedures,topp,1,C0032994,\"Pregnancy, Tubal\",dsyn,1\n1062,3028,4236753,AFFECTS,C0005437,Bilirubin,bacs,1,C0014272,Energy Metabolism,phsf,1\n1063,2990,14770468,PROCESS_OF,C0221102,Excretory function,phsf,1,C0008059,Child,humn,1\n1064,3020,14880806,TREATS,C0543467,Operative Surgical Procedures,topp,1,C0747086,OTOMASTOIDITIS,dsyn,1\n1065,3030,13997734,PART_OF,C0796494,Lobe,bpoc,1,C0032005,Pituitary Gland,bpoc,1\n1066,2990,14770468,INTERACTS_WITH,C0001655,Corticotropin,aapp,1,C0037494,Sodium Chloride,bacs,1\n1067,2968,14327675,PROCESS_OF,C0006147,Breast Feeding,orgf,1,C0034715,\"Rats, Sprague-Dawley\",mamm,1\n1068,3081,4175348,COEXISTS_WITH,C0557034,Assisting,hlca,1,C0195775,Operation on brain,topp,1\n1069,3005,13582822,ISA,C0020268,Hydrocortisone,horm,1,C0087111,Therapeutic procedure,topp,0\n"
  },
  {
    "path": "attic/code/semmed/PREDICATE.scm",
    "content": "\"1176\"\n\"ADMINISTERED_TO\"\n\"AFFECTS\"\n\"ASSOCIATED_WITH\"\n\"AUGMENTS\"\n\"CAUSES\"\n\"COEXISTS_WITH\"\n\"COMPLICATES\"\n\"CONVERTS_TO\"\n\"DIAGNOSES\"\n\"DISRUPTS\"\n\"INHIBITS\"\n\"INTERACTS_WITH\"\n\"ISA\"\n\"LOCATION_OF\"\n\"MANIFESTATION_OF\"\n\"METHOD_OF\"\n\"NEG_ADMINISTERED_TO\"\n\"NEG_AFFECTS\"\n\"NEG_ASSOCIATED_WITH\"\n\"NEG_AUGMENTS\"\n\"NEG_CAUSES\"\n\"NEG_COEXISTS_WITH\"\n\"NEG_COMPLICATES\"\n\"NEG_CONVERTS_TO\"\n\"NEG_DIAGNOSES\"\n\"NEG_DISRUPTS\"\n\"NEG_INHIBITS\"\n\"NEG_INTERACTS_WITH\"\n\"NEG_LOCATION_OF\"\n\"NEG_MANIFESTATION_OF\"\n\"NEG_METHOD_OF\"\n\"NEG_OCCURS_IN\"\n\"NEG_PART_OF\"\n\"NEG_PRECEDES\"\n\"NEG_PREDISPOSES\"\n\"NEG_PREVENTS\"\n\"NEG_PROCESS_OF\"\n\"NEG_PRODUCES\"\n\"NEG_STIMULATES\"\n\"NEG_TREATS\"\n\"NEG_USES\"\n\"NEG_higher_than\"\n\"NEG_lower_than\"\n\"OCCURS_IN\"\n\"PART_OF\"\n\"PRECEDES\"\n\"PREDISPOSES\"\n\"PREVENTS\"\n\"PROCESS_OF\"\n\"PRODUCES\"\n\"STIMULATES\"\n\"TREATS\"\n\"USES\"\n\"compared_with\"\n\"different_from\"\n\"different_than\"\n\"higher_from\"\n\"higher_than\"\n\"lower_than\"\n\"same_as\"\n\"than_as\"\n"
  },
  {
    "path": "attic/code/semmed/PREDICATE_OCCURRENCE_ORDERED.scm",
    "content": "\"ISA\"\n\"PART_OF\"\n\"PROCESS_OF\"\n\"TREATS\"\n\"LOCATION_OF\"\n\"METHOD_OF\"\n\"INTERACTS_WITH\"\n\"COEXISTS_WITH\"\n\"DIAGNOSES\"\n\"CAUSES\"\n\"AFFECTS\"\n\"ASSOCIATED_WITH\"\n\"USES\"\n\"PRECEDES\"\n\"compared_with\"\n\"PREVENTS\"\n\"NEG_INHIBITS\"\n\"ADMINISTERED_TO\"\n\"OCCURS_IN\"\n\"NEG_ADMINISTERED_TO\"\n\"STIMULATES\"\n\"DISRUPTS\"\n\"COMPLICATES\"\n\"higher_than\"\n\"INHIBITS\"\n\"AUGMENTS\"\n\"MANIFESTATION_OF\"\n\"different_from\"\n\"NEG_AFFECTS\"\n\"PREDISPOSES\"\n\"NEG_higher_than\"\n\"same_as\"\n\"PRODUCES\"\n\"NEG_DISRUPTS\"\n\"NEG_CAUSES\"\n\"NEG_INTERACTS_WITH\"\n\"NEG_PROCESS_OF\"\n\"NEG_COEXISTS_WITH\"\n\"NEG_PART_OF\"\n\"NEG_USES\"\n\"lower_than\"\n\"NEG_PREVENTS\"\n\"NEG_LOCATION_OF\"\n\"NEG_METHOD_OF\"\n\"CONVERTS_TO\"\n\"NEG_DIAGNOSES\"\n\"NEG_AUGMENTS\"\n\"NEG_PREDISPOSES\"\n\"NEG_TREATS\"\n\"NEG_ASSOCIATED_WITH\"\n\"NEG_PRODUCES\"\n\"NEG_COMPLICATES\"\n\"NEG_STIMULATES\"\n\"NEG_OCCURS_IN\"\n\"different_than\"\n\"NEG_CONVERTS_TO\"\n\"NEG_lower_than\"\n\"NEG_MANIFESTATION_OF\"\n\"NEG_PRECEDES\"\n\"higher_from\"\n\"than_as\"\n\"1176\"\n"
  },
  {
    "path": "attic/code/semmed/README.md",
    "content": "The data can be generated with these commands:\n\n```\nracket csv-semmed-ordered-unique-enum.rkt semmedVER30_A_clean.csv semmed\n\nracket csv-semmed-simplify.rkt semmedVER30_A_clean.csv semmed\n```\n\n\nNOTE:\n\nThe strange 1176 predicate might be legitimate, found in a couple records via:\n\n```\ntail -n 2318424 semmedVER30_A_clean.csv | head -n 118424 | grep 1176 | less\n78924979,136605831,11116842,1176,C0024485,Magnetic Resonance Imaging,diap,1,C3146964,COX5BP4 gene,0,1\n78924980,136605831,11116842,1176,C0024485,Magnetic Resonance Imaging,diap,1,C3146964,COX5BP4 gene,0,1\n```\n\nThe strange 0 semtype might be legitimate, found alongside predicate 1176.\n\n\nTODO:\n\nconcept ideas:\n  cui-by-semtype\n\nedge ideas:\n  edge, edge-reversed: #(cui cui detail-offset)\n    Byte-level encode so that each record is at a predictable offset.\n    Write this out in flattened search-tree form for fast lookup; store offset into edge-details.\n\n  edge-details (and reversed cui version): #(cui cui (list-of #(predicate semtype semtype predication-id)))\n"
  },
  {
    "path": "attic/code/semmed/SEMTYPE.scm",
    "content": "\"0\"\n\"aapp\"\n\"acab\"\n\"acty\"\n\"aggp\"\n\"alga\"\n\"amas\"\n\"amph\"\n\"anab\"\n\"anim\"\n\"anst\"\n\"antb\"\n\"arch\"\n\"bacs\"\n\"bact\"\n\"bdsu\"\n\"bdsy\"\n\"bhvr\"\n\"biof\"\n\"bird\"\n\"blor\"\n\"bmod\"\n\"bodm\"\n\"bpoc\"\n\"bsoj\"\n\"carb\"\n\"celc\"\n\"celf\"\n\"cell\"\n\"cgab\"\n\"chem\"\n\"chvf\"\n\"chvs\"\n\"clas\"\n\"clna\"\n\"clnd\"\n\"cnce\"\n\"comd\"\n\"diap\"\n\"dora\"\n\"drdd\"\n\"dsyn\"\n\"edac\"\n\"eehu\"\n\"eico\"\n\"elii\"\n\"emod\"\n\"emst\"\n\"enzy\"\n\"evnt\"\n\"famg\"\n\"ffas\"\n\"fish\"\n\"fndg\"\n\"fngs\"\n\"food\"\n\"ftcn\"\n\"genf\"\n\"geoa\"\n\"gngm\"\n\"gora\"\n\"grpa\"\n\"grup\"\n\"hcpp\"\n\"hcro\"\n\"hlca\"\n\"hops\"\n\"horm\"\n\"humn\"\n\"idcn\"\n\"imft\"\n\"inbe\"\n\"inch\"\n\"inpo\"\n\"inpr\"\n\"invt\"\n\"irda\"\n\"lang\"\n\"lbpr\"\n\"lbtr\"\n\"lipd\"\n\"mamm\"\n\"mbrt\"\n\"mcha\"\n\"medd\"\n\"menp\"\n\"mnob\"\n\"mobd\"\n\"moft\"\n\"mosq\"\n\"neop\"\n\"nnon\"\n\"npop\"\n\"nsba\"\n\"nusq\"\n\"ocac\"\n\"ocdi\"\n\"opco\"\n\"orch\"\n\"orga\"\n\"orgf\"\n\"orgm\"\n\"orgt\"\n\"ortf\"\n\"patf\"\n\"phob\"\n\"phpr\"\n\"phsf\"\n\"phsu\"\n\"plnt\"\n\"podg\"\n\"popg\"\n\"prog\"\n\"pros\"\n\"qlco\"\n\"qnco\"\n\"rcpt\"\n\"rept\"\n\"resa\"\n\"resd\"\n\"rich\"\n\"rnlw\"\n\"sbst\"\n\"shro\"\n\"socb\"\n\"sosy\"\n\"spco\"\n\"strd\"\n\"tisu\"\n\"tmco\"\n\"topp\"\n\"virs\"\n\"vita\"\n\"vtbt\"\n"
  },
  {
    "path": "attic/code/semmed/cui-by-semtype.scm",
    "content": "(0 3146964)\n(1 52 84 107 132 152 165 184 189 246 254 257 291 324 340 359 366 378 392 404 412 413 435 490 500 507 530 578 608 644 656 829 977 997 999 1019 1021 1022 1024 1028 1044 1047 1053 1057 1060 1064 1067 1068 1098 1102 1109 1113 1115 1120 1136 1156 1214 1239 1245 1259 1271 1290 1291 1295 1345 1346 1347 1369 1388 1390 1412 1414 1451 1452 1457 1464 1471 1473 1475 1476 1477 1478 1479 1492 1497 1502 1503 1601 1638 1639 1642 1643 1655 1657 1694 1714 1897 1898 1899 1900 1904 1924 1942 1945 1954 1985 1986 1988 1990 1999 2000 2003 2004 2057 2059 2061 2085 2139 2142 2159 2189 2190 2191 2193 2195 2197 2198 2199 2202 2205 2210 2211 2215 2229 2230 2235 2240 2241 2242 2245 2248 2251 2255 2256 2257 2260 2261 2268 2269 2270 2272 2274 2278 2280 2287 2289 2290 2302 2308 2311 2313 2317 2318 2402 2484 2488 2492 2507 2512 2513 2515 2516 2517 2520 2521 2522 2523 2524 2525 2527 2529 2543 2545 2546 2559 2563 2564 2565 2570 2587 2594 2610 2651 2712 2716 2721 2722 2723 2791 2823 2843 3001 3006 3009 3011 3012 3013 3016 3017 3018 3039 3134 3168 3169 3241 3242 3243 3244 3245 3248 3250 3253 3313 3323 3327 3329 3343 3368 3369 3370 3371 3403 3410 3421 3436 3438 3440 3442 3450 3521 3589 3590 3591 3592 3593 3594 3595 3601 3607 3634 3641 3652 3691 3692 3693 3694 3731 3762 3763 3764 3765 3766 3768 3775 3776 3777 3778 3779 3805 3806 3927 3933 3938 3939 3940 3942 3967 3987 3993 3995 3997 3999 4002 4004 4006 4007 4008 4009 4010 4011 4012 4015 4018 4019 4020 4022 4025 4040 4149 4199 4203 4204 4218 4358 4371 4434 4480 4489 4525 4588 4596 4599 4609 4619 4625 4627 4641 4654 4891 4965 4967 5080 5091 5092 5105 5110 5148 5149 5151 5153 5157 5160 5161 5179 5186 5187 5194 5198 5200 5203 5204 5205 5210 5211 5213 5218 5220 5221 5223 5237 5238 5239 5244 5248 5249 5250 5251 5252 5253 5254 5255 5257 5261 5270 5281 5285 5286 5288 5289 5290 5294 5554 5651 5736 5738 5739 5740 5789 5832 5919 6051 6062 6070 6083 6100 6188 6217 6456 6529 6558 6560 6599 6631 6639 6668 6669 6671 6685 6710 6730 6732 6746 6772 6774 6776 6784 6785 6786 6787 6788 6825 6920 6938 6958 6961 6978 6992 6997 6998 7028 7033 7034 7035 7054 7061 7064 7067 7071 7072 7074 7075 7082 7258 7259 7261 7262 7267 7292 7331 7332 7364 7367 7369 7407 7420 7425 7427 7428 7507 7578 7579 7640 7641 7728 7743 7804 7810 7841 7913 7937 8142 8143 8145 8169 8202 8328 8356 8357 8380 8381 8385 8391 8396 8407 8415 8420 8429 8440 8455 8457 8459 8463 8468 8471 8473 8500 8514 8515 8516 8527 8546 8586 8600 8731 8736 8738 8741 8742 8744 8745 8746 8831 8844 8855 8864 8905 8988 8989 8991 9036 9053 9082 9083 9118 9147 9154 9165 9227 9228 9283 9284 9285 9286 9288 9289 9290 9291 9292 9293 9294 9295 9297 9298 9299 9300 9305 9306 9315 9316 9317 9318 9325 9331 9332 9333 9334 9335 9336 9337 9338 9339 9342 9343 9392 9412 9498 9499 9500 9502 9503 9504 9505 9506 9507 9508 9510 9511 9512 9514 9515 9516 9517 9518 9519 9521 9522 9523 9524 9525 9526 9543 9545 9552 9629 9630 9915 9976 9985 10007 10012 10132 10138 10192 10286 10287 10288 10289 10290 10291 10377 10404 10422 10434 10461 10531 10536 10575 10590 10592 10594 10640 10641 10642 10646 10652 10654 10656 10661 10662 10665 10682 10723 10744 10746 10749 10754 10755 10760 10762 10763 10772 10796 10797 10798 10803 10804 10805 10806 10807 10808 10809 10826 10852 10895 10906 10934 11176 11228 11243 11244 11353 11486 11491 11500 11513 11516 11518 11519 11522 11524 11525 11527 11696 11699 11701 11702 11732 11805 11824 11961 12020 12177 12274 12277 12312 12314 12343 12344 12408 12511 12512 12515 12524 12547 12550 12610 12750 12855 12863 12865 12873 12874 12875 12881 12882 12883 12888 12889 12890 12892 12906 12910 12920 12940 13023 13032 13035 13352 13355 13433 13508 13572 13588 13603 13662 13668 13700 13703 13705 13708 13728 13729 13733 13734 13735 13765 13877 14025 14026 14027 14063 14106 14110 14112 14114 14128 14143 14154 14155 14156 14158 14159 14162 14230 14240 14241 14242 14294 14295 14298 14314 14354 14360 14361 14366 14405 14436 14444 14559 14628 14640 14641 14642 14643 14684 14730 14764 14822 14894 14913 14914 14917 14933 14954 14978 14982 15023 15110 15145 15156 15278 15284 15290 15292 15296 15297 15301 15387 15416 15440 15491 15494 15498 15501 15502 15505 15506 15512 15513 15514 15518 15520 15522 15524 15525 15527 15528 15529 15533 15680 15683 15725 15775 15777 15785 15854 15856 15857 15858 15861 15874 15879 15880 15891 15933 15936 15950 15961 15980 15982 15996 16004 16006 16011 16013 16016 16023 16026 16042 16055 16061 16069 16186 16194 16217 16220 16223 16567 16570 16597 16744 16749 16755 16762 16764 16774 16787 16790 16799 16828 16829 16876 16890 16904 16924 16925 16937 16944 16947 16948 16953 16955 16957 16964 17007 17015 17017 17018 17019 17027 17029 17030 17032 17033 17037 17039 17040 17046 17048 17050 17052 17055 17056 17057 17058 17059 17132 17135 17151 17222 17237 17258 17272 17278 17279 17280 17281 17282 17283 17337 17338 17339 17340 17342 17343 17344 17345 17346 17347 17349 17350 17351 17351 17352 17354 17355 17356 17357 17359 17360 17361 17362 17363 17364 17365 17366 17367 17371 17372 17373 17374 17375 17376 17428 17429 17430 17519 17622 17626 17645 17649 17687 17700 17701 17713 17723 17724 17730 17735 17739 17742 17743 17755 17757 17759 17760 17764 17768 17772 17776 17781 17785 17786 17787 17789 17796 17797 17801 17811 17817 17822 17824 17829 17831 17832 17833 17834 17835 17836 17837 17842 17853 17857 17868 17874 17875 17890 17903 17915 17916 17932 17933 17953 17954 17955 17957 17958 17959 17960 17963 17966 17968 17976 17983 17984 18048 18061 18062 18064 18066 18157 18159 18160 18162 18164 18165 18296 18324 18358 18364 18437 18440 18446 18456 18594 18595 18664 18847 18850 18857 18887 18969 18974 18976 18999 19016 19018 19019 19020 19024 19026 19028 19030 19035 19042 19043 19046 19047 19067 19113 19137 19161 19353 19472 19475 19481 19484 19487 19492 19495 19534 19536 19573 19587 19596 19601 19602 19605 19609 19611 19629 19630 19643 19644 19646 19647 19648 19649 19651 19652 19683 19686 19691 19692 19701 19721 19733 19744 19746 19751 19754 19759 19761 19763 19764 19765 19774 19776 19780 19796 19797 19799 19800 19821 19822 19847 19877 19878 19879 19892 19895 19929 19941 19942 19943 20063 20135 20171 20172 20197 20199 20239 20284 20289 20331 20364 20366 20374 20375 20388 20390 20392 20398 20656 20660 20687 20731 20809 20814 20818 20835 20838 20840 20841 20843 20844 20845 20846 20852 20853 20854 20855 20856 20857 20858 20859 20860 20861 20862 20863 20884 20931 20960 21008 21010 21013 21016 21017 21018 21024 21027 21028 21029 21030 21031 21032 21033 21034 21035 21036 21037 21038 21040 21072 21088 21237 21404 21463 21557 21641 21642 21657 21658 21659 21662 21663 21665 21666 21669 21699 21701 21734 21735 21740 21741 21743 21745 21747 21753 21755 21756 21757 21758 21759 21760 21761 21762 21764 21769 21918 21965 21986 21989 21994 21995 21996 22009 22091 22095 22142 22143 22157 22159 22165 22173 22192 22194 22202 22204 22263 22453 22454 22457 22474 22478 22480 22483 22512 22513 22528 22564 22626 22632 22709 22713 22714 22818 22855 22895 22896 22912 22917 22918 22920 22922 22923 22942 22945 22948 22952 22956 22959 22969 22970 22984 22985 23043 23165 23169 23170 23194 23204 23206 23215 23235 23395 23401 23402 23414 23415 23513 23551 23570 23607 23610 23689 23764 23783 23814 23816 23819 23820 23821 23823 23825 23832 23835 23836 23837 23922 23979 24075 24099 24188 24284 24297 24320 24328 24337 24339 24340 24341 24347 24353 24361 24363 24364 24365 24370 24375 24376 24388 24395 24420 24429 24470 24511 24512 24518 24544 24545 24707 24708 24731 24744 24746 24750 24945 25008 25159 25234 25241 25248 25250 25252 25273 25326 25405 25444 25536 25543 25544 25545 25547 25549 25550 25635 25636 25646 25647 25649 25653 25718 25741 25744 25780 25789 25831 25834 25852 25965 25978 26027 26042 26045 26050 26138 26153 26190 26191 26242 26283 26384 26404 26452 26454 26455 26456 26475 26476 26491 26574 26574 26575 26594 26667 26669 26682 26714 26741 26794 26832 26900 26900 26902 26906 26972 27015 27021 27047 27078 27096 27097 27098 27100 27101 27102 27103 27108 27111 27112 27113 27117 27118 27119 27120 27201 27203 27215 27228 27229 27260 27277 27280 27283 27293 27297 27298 27307 27310 27312 27318 27385 27481 27554 27597 27600 27642 27752 27753 27754 27758 27759 27768 27783 27803 27815 27847 27851 27875 27876 27893 27895 27898 27899 27900 27930 27937 27940 27943 28026 28115 28123 28135 28141 28174 28189 28195 28228 28291 28318 28375 28467 28567 28588 28589 28593 28608 28612 28613 28614 28615 28618 28623 28625 28626 28632 28833 28941 28954 29005 29007 29009 29014 29015 29016 29024 29073 29122 29276 29277 29278 29279 29282 29290 29297 29298 29303 29370 29419 29446 29912 29923 29960 29962 29992 30016 30017 30018 30065 30069 30095 30098 30114 30128 30135 30137 30156 30190 30191 30238 30242 30268 30292 30298 30304 30306 30342 30346 30466 30490 30520 30523 30616 30817 30825 30828 30841 30859 30897 30909 30910 30911 30913 30915 30918 30927 30933 30934 30935 30940 30943 30946 30947 30952 30953 30956 30957 30962 30966 31131 31165 31179 31304 31312 31397 31431 31453 31454 31456 31460 31515 31559 31561 31599 31602 31607 31622 31628 31634 31640 31643 31644 31646 31651 31653 31654 31656 31659 31662 31666 31667 31669 31670 31671 31678 31684 31686 31689 31691 31711 31713 31714 31721 31722 31724 31727 31728 31733 31788 31789 31798 31853 31857 31858 31861 32014 32015 32016 32017 32050 32052 32089 32120 32125 32140 32143 32144 32145 32168 32182 32183 32190 32191 32193 32195 32200 32350 32401 32405 32467 32491 32493 32496 32500 32518 32535 32538 32539 32545 32548 32549 32570 32583 32589 32593 32596 32693 32706 32823 32824 32834 32835 32923 32936 32974 32983 32999 33002 33024 33068 33069 33164 33186 33187 33195 33227 33232 33235 33237 33239 33240 33241 33243 33292 33310 33311 33321 33362 33371 33373 33374 33382 33384 33385 33417 33419 33436 33452 33453 33457 33503 33551 33553 33600 33602 33603 33608 33617 33621 33628 33631 33634 33638 33639 33640 33641 33649 33656 33660 33665 33679 33681 33684 33688 33691 33692 33693 33706 33712 33713 33714 33742 33791 33799 33801 33993 34135 34199 34204 34205 34208 34265 34270 34305 34307 34308 34311 34318 34330 34333 34340 34342 34343 34344 34346 34348 34349 34351 34361 34434 34481 34503 34504 34616 34677 34678 34684 34761 34767 34783 34784 34785 34786 34787 34788 34789 34790 34791 34792 34793 34794 34795 34796 34798 34799 34800 34801 34802 34803 34804 34805 34806 34807 34808 34809 34811 34812 34813 34814 34815 34816 34817 34818 34819 34821 34822 34823 34825 34826 34828 34830 34832 34833 34834 34835 34836 34838 34839 34840 34843 34844 34845 34847 34848 34857 34861 34862 34917 35018 35018 35031 35094 35100 35147 35158 35262 35285 35342 35379 35448 35478 35499 35531 35535 35539 35541 35542 35544 35545 35547 35551 35552 35565 35569 35571 35572 35654 35673 35678 35679 35680 35681 35685 35714 35727 35795 35899 35900 35903 35923 35938 36001 36002 36003 36027 36100 36107 36193 36199 36228 36425 36458 36461 36534 36538 36583 36584 36634 36639 36720 36723 36725 36734 36755 36757 36758 36763 36764 36773 36774 36775 36800 36825 36843 36883 36929 37027 37028 37039 37067 37131 37133 37143 37167 37183 37207 37336 37352 37483 37488 37492 37520 37550 37657 37659 37663 37668 37799 37875 37903 38022 38085 38156 38164 38180 38233 38296 38302 38304 38311 38312 38315 38415 38418 38429 38439 38512 38581 38585 38594 38597 38599 38601 38613 38615 38626 38634 38635 38652 38717 38719 38731 38733 38748 38749 38769 38790 38838 38858 39020 39064 39111 39115 39190 39213 39214 39216 39217 39218 39219 39241 39341 39346 39347 39350 39399 39415 39480 39534 39587 39602 39604 39615 39617 39659 39667 39676 39682 39718 39815 39816 39830 39847 39850 39852 39912 39938 39939 39941 39947 39949 40005 40008 40011 40018 40048 40052 40060 40073 40078 40083 40085 40103 40104 40105 40106 40123 40135 40139 40153 40160 40162 40164 40165 40168 40169 40174 40494 40495 40498 40626 40627 40632 40636 40639 40640 40641 40642 40643 40646 40648 40663 40664 40665 40676 40679 40688 40690 40691 40709 40814 40942 41014 41015 41016 41017 41078 41131 41193 41194 41195 41197 41199 41236 41239 41241 41243 41244 41247 41249 41252 41256 41258 41260 41261 41348 41350 41368 41378 41455 41457 41460 41481 41484 41485 41487 41490 41491 41493 41497 41499 41535 41538 41560 41562 41616 41931 41945 41950 41989 41990 42001 42006 42053 42071 42085 42089 42095 42145 42147 42172 42213 42285 42287 42301 42307 42313 42330 42395 42413 42418 42439 42456 42666 42697 42706 42711 42712 42713 42715 42716 42717 42720 42731 42736 42737 42738 42754 42773 42846 42872 42889 42892 42896 42897 42971 42988 43112 43316 43317 43376 43389 43391 43424 43458 43472 43483 43484 43485 43578 43583 43626 43627 43628 43636 43642 43653 43807 43897 44242 44245 44264 44267 44277 44278 44279 44280 44281 44288 44371 44422 44470 44498 44509 44528 44602 44620 44707 44726 44771 44894 44934 45065 45224 45231 45344 45356 45378 45756 45804 45836 45854 45858 45861 45869 45873 45877 45881 45888 45892 45895 45979 45993 46085 46123 46124 46125 46127 46131 46132 46137 46163 46167 46187 46209 46211 46212 46218 46227 46288 46293 46303 46321 46364 46375 46380 46392 46454 46471 46491 46493 46494 46495 46496 46497 46521 46546 46549 46567 46568 46592 46597 46697 46725 46795 46833 46834 46858 46859 46885 46886 47017 47145 47220 47226 47244 47280 47301 47338 47339 47341 47355 47383 47389 47392 47397 47421 47442 47444 47445 47446 47448 47449 47462 47468 47471 47481 47518 47519 47524 47526 47528 47532 47535 47542 47555 47557 47576 47600 47602 47620 47629 47645 47658 47659 47677 47678 47679 47680 47684 47692 47697 47708 47729 47738 48004 48040 48044 48052 48095 48137 48147 48156 48178 48184 48187 48201 48204 48209 48213 48264 48277 48281 48284 48298 48300 48307 48322 48331 48332 48351 48384 48387 48415 48431 48467 48469 48492 48495 48526 48527 48545 48555 48580 48589 48607 48616 48662 48663 48679 48704 48713 48744 48751 48766 48795 48813 48820 48856 48879 49055 49059 49137 49183 49184 49190 49224 49245 49257 49275 49292 49307 49319 49321 49341 49343 49438 49491 49535 49550 49578 49598 49608 49665 49683 49691 49698 49700 49703 49731 49734 49738 49748 49775 49841 49842 49866 49919 49925 49926 50103 50298 50326 50329 50359 50364 50367 50374 50375 50376 50388 50391 50397 50407 50417 50418 50422 50434 50437 50444 50446 50447 50448 50449 50453 50461 50471 50475 50486 50493 50494 50496 50500 50502 50520 50526 50528 50531 50535 50538 50539 50543 50548 50549 50551 50553 50585 50598 50600 50602 50609 50610 50613 50615 50618 50623 50628 50629 50633 50634 50635 50638 50639 50640 50645 50646 50648 50664 50668 50669 50677 50682 50684 50685 50687 50688 50689 50690 50691 50692 50694 50695 50697 50699 50703 50705 50708 50709 50714 50718 50720 50734 50739 50769 50775 50778 50779 50784 50787 50795 50796 50797 50802 50805 50806 50807 50808 50824 50825 50826 50830 50832 50833 50834 50836 50837 50839 50848 50860 50862 50863 50864 50868 50881 50892 50898 50907 50924 50951 50952 50954 50955 50967 50968 50969 50975 50976 50989 50995 51053 51058 51059 51063 51064 51065 51066 51069 51070 51076 51078 51079 51080 51081 51082 51083 51084 51096 51098 51099 51101 51102 51106 51107 51114 51115 51117 51118 51124 51129 51131 51133 51134 51135 51138 51143 51154 51167 51168 51169 51172 51173 51178 51179 51180 51181 51184 51186 51187 51188 51198 51202 51204 51208 51210 51212 51214 51243 51256 51258 51259 51260 51263 51264 51265 51266 51268 51271 51272 51280 51282 51284 51290 51295 51298 51300 51301 51303 51310 51312 51314 51328 51334 51350 51353 51356 51360 51363 51367 51375 51376 51384 51389 51394 51396 51399 51400 51401 51404 51406 51408 51418 51420 51421 51422 51426 51427 51428 51429 51434 51436 51437 51439 51450 51464 51467 51470 51471 51477 51483 51492 51504 51506 51525 51531 51532 51538 51542 51560 51581 51592 51593 51605 51606 51609 51610 51612 51613 51615 51616 51618 51625 51626 51628 51636 51637 51639 51643 51655 51659 51662 51664 51678 51731 51732 51742 51749 51755 51758 51773 51774 51775 51781 51783 51789 51793 51812 51820 51843 51844 51846 51856 51864 51870 51871 51873 51874 51884 51890 51892 51898 51902 51904 51913 51915 51926 51939 51944 51946 51948 51956 51957 51962 51970 51976 51977 51978 51979 51980 51982 51986 51988 51989 52002 52012 52023 52024 52025 52026 52030 52040 52050 52051 52052 52054 52055 52056 52058 52059 52081 52082 52085 52088 52089 52090 52093 52094 52096 52097 52100 52105 52106 52112 52114 52115 52116 52117 52118 52120 52124 52127 52128 52129 52130 52146 52154 52159 52160 52161 52163 52166 52167 52169 52171 52172 52173 52174 52175 52176 52177 52179 52181 52182 52185 52188 52189 52190 52191 52193 52194 52196 52198 52199 52200 52201 52202 52204 52208 52209 52213 52215 52216 52217 52218 52219 52221 52222 52225 52226 52228 52233 52248 52253 52254 52275 52277 52281 52284 52289 52296 52299 52323 52327 52328 52329 52330 52331 52332 52333 52334 52335 52336 52337 52338 52339 52341 52342 52343 52349 52350 52351 52352 52355 52356 52357 52360 52369 52383 52393 52395 52396 52397 52398 52399 52419 52433 52439 52441 52442 52446 52448 52451 52452 52455 52456 52467 52468 52469 52472 52475 52486 52488 52490 52491 52492 52493 52494 52495 52497 52499 52502 52503 52504 52505 52516 52517 52521 52524 52526 52527 52529 52530 52531 52532 52534 52535 52536 52537 52538 52540 52543 52545 52546 52547 52548 52552 52576 52591 52599 52603 52605 52606 52610 52612 52638 52641 52642 52643 52644 52649 52654 52655 52656 52687 52689 52700 52707 52713 52720 52721 52728 52746 52747 52766 52769 52777 52790 52801 52803 52807 52819 52834 52836 52837 52851 52860 52867 52868 52871 52872 52875 52877 52878 52885 52887 52891 52897 52898 52900 52901 52905 52908 52911 52912 52941 52942 52943 52950 52951 52955 52969 52998 53003 53004 53011 53043 53065 53122 53158 53212 53213 53227 53244 53260 53263 53270 53276 53279 53280 53282 53283 53288 53316 53320 53355 53357 53358 53360 53370 53374 53375 53377 53379 53381 53384 53387 53397 53398 53399 53400 53401 53402 53403 53405 53406 53409 53413 53419 53431 53443 53444 53446 53450 53453 53455 53457 53467 53468 53469 53473 53476 53479 53481 53482 53483 53486 53492 53499 53511 53517 53518 53525 53539 53555 53557 53568 53571 53572 53574 53579 53581 53582 53583 53584 53593 53594 53595 53596 53599 53602 53603 53625 53640 53641 53643 53644 53645 53646 53647 53652 53653 53659 53664 53667 53668 53709 53711 53730 53767 53772 53775 53793 53804 53811 53816 53844 53845 53846 53848 53849 53851 53854 53913 53916 53917 53922 53930 53932 53933 53935 53965 53968 53969 53976 53978 53982 53996 53997 54004 54005 54006 54010 54011 54012 54014 54015 54016 54018 54020 54021 54025 54047 54049 54067 54097 54188 54193 54210 54213 54215 54218 54229 54239 54242 54251 54252 54296 54299 54301 54311 54313 54314 54315 54318 54319 54320 54322 54335 54342 54365 54398 54400 54401 54404 54407 54420 54425 54444 54445 54447 54450 54453 54454 54455 54475 54477 54487 54490 54492 54493 54498 54500 54502 54503 54504 54505 54507 54520 54521 54522 54528 54530 54531 54532 54533 54534 54541 54543 54544 54545 54546 54556 54563 54570 54571 54572 54578 54582 54594 54612 54628 54639 54644 54670 54677 54681 54682 54683 54690 54693 54695 54696 54701 54704 54707 54728 54731 54737 54740 54741 54742 54747 54749 54750 54753 54755 54756 54757 54760 54762 54764 54774 54781 54784 54785 54787 54788 54809 54810 54814 54823 54832 54842 54843 54845 54846 54847 54852 54856 54859 54860 54861 54862 54866 54867 54868 54869 54870 54871 54872 54873 54874 54875 54877 54878 54927 54940 54941 54942 54943 54946 54947 54948 54949 54950 54951 54952 54953 54954 54955 54959 54961 54964 54965 54966 54967 54970 54972 54978 54981 54982 54988 55023 55030 55032 55033 55034 55035 55061 55062 55069 55079 55089 55091 55100 55103 55104 55107 55108 55110 55125 55164 55185 55191 55200 55252 55255 55271 55272 55273 55277 55288 55290 55292 55294 55304 55315 55320 55325 55351 55362 55363 55384 55403 55413 55423 55428 55433 55442 55485 55498 55501 55502 55504 55505 55506 55508 55509 55510 55511 55513 55514 55515 55517 55519 55530 55532 55533 55538 55541 55544 55546 55570 55571 55576 55579 55580 55581 55585 55587 55588 55589 55591 55601 55603 55605 55606 55608 55611 55631 55632 55633 55635 55637 55638 55646 55648 55662 55672 55673 55674 55675 55676 55677 55707 55725 55726 55734 55744 55746 55750 55760 55763 55772 55773 55782 55790 55795 55808 55812 55813 55814 55817 55831 55842 55855 55857 55875 55886 55925 55951 55952 55955 55958 55959 55966 55990 55992 55993 55998 56013 56014 56016 56021 56023 56032 56034 56035 56041 56048 56052 56053 56071 56080 56083 56084 56086 56087 56088 56089 56097 56100 56101 56104 56108 56111 56114 56117 56122 56126 56132 56133 56135 56136 56137 56151 56157 56164 56166 56173 56174 56180 56182 56184 56185 56188 56190 56192 56193 56195 56196 56197 56198 56203 56205 56207 56212 56215 56227 56228 56239 56246 56247 56248 56249 56250 56255 56257 56258 56261 56262 56268 56279 56291 56294 56303 56309 56310 56312 56334 56343 56354 56360 56361 56362 56365 56366 56369 56370 56371 56372 56373 56374 56386 56388 56426 56427 56430 56445 56460 56467 56468 56469 56470 56488 56498 56499 56500 56513 56516 56518 56530 56533 56537 56539 56540 56541 56545 56575 56579 56617 56619 56645 56649 56661 56662 56663 56664 56669 56677 56687 56695 56696 56698 56708 56719 56762 56765 56777 56778 56781 56800 56807 56818 56819 56822 56823 56825 56827 56843 56858 56859 56860 56861 56863 56864 56865 56866 56868 56869 56871 56872 56873 56874 56876 56877 56878 56880 56882 56883 56885 56886 56888 56889 56890 56891 56893 56896 56907 56908 56909 56919 56921 56922 56923 56924 56925 56926 56927 56928 56929 56930 56931 56932 56933 56934 56935 56936 56938 56939 56940 56942 56943 56944 56945 56947 56948 56949 56951 56952 56953 56955 56956 56957 56958 56959 56960 56961 56963 56964 56967 56971 56972 56973 56978 56980 56986 56987 56988 56997 57001 57002 57006 57027 57033 57037 57038 57041 57042 57045 57046 57047 57056 57057 57067 57071 57072 57098 57106 57111 57117 57131 57144 57146 57153 57156 57183 57185 57186 57198 57199 57217 57218 57223 57224 57235 57249 57252 57256 57260 57261 57262 57266 57270 57274 57278 57310 57312 57314 57319 57325 57327 57332 57335 57336 57338 57342 57347 57349 57353 57354 57356 57357 57358 57378 57389 57390 57391 57409 57414 57415 57421 57423 57424 57429 57435 57438 57439 57440 57443 57444 57448 57449 57455 57456 57458 57459 57460 57461 57463 57464 57465 57469 57473 57475 57479 57488 57489 57492 57499 57501 57528 57531 57532 57550 57552 57555 57568 57569 57575 57576 57601 57614 57622 57624 57625 57628 57631 57665 57667 57682 57703 57707 57708 57709 57710 57725 57726 57738 57823 57824 57864 57866 57895 57902 57961 57985 57986 58011 58013 58022 58029 58044 58059 58060 58067 58068 58069 58074 58076 58087 58088 58089 58092 58095 58099 58100 58103 58107 58112 58126 58130 58131 58132 58143 58151 58162 58168 58232 58247 58248 58253 58265 58266 58270 58295 58299 58302 58304 58359 58360 58361 58362 58363 58399 58400 58401 58402 58403 58409 58428 58432 58449 58452 58454 58468 58487 58505 58522 58537 58540 58542 58543 58544 58546 58548 58556 58563 58564 58565 58566 58575 58594 58595 58596 58600 58605 58610 58613 58619 58627 58654 58656 58663 58664 58687 58691 58697 58698 58699 58701 58706 58735 58737 58738 58746 58750 58755 58770 58773 58775 58778 58784 58798 58815 58822 58836 58842 58844 58845 58851 58855 58856 58858 58871 58886 58889 58892 58901 58905 58908 58910 58912 58913 58914 58920 58925 58926 58931 58936 58938 58939 58944 58950 58963 58967 58980 58982 58984 58985 58986 58988 58989 58990 58991 58992 58996 58998 59008 59009 59010 59012 59013 59014 59016 59017 59018 59036 59037 59038 59039 59040 59056 59057 59058 59082 59090 59100 59102 59107 59108 59109 59111 59112 59113 59114 59118 59121 59122 59127 59128 59129 59133 59134 59143 59145 59147 59154 59155 59164 59166 59168 59169 59171 59173 59174 59176 59178 59180 59181 59183 59188 59189 59192 59193 59194 59197 59199 59203 59204 59209 59212 59214 59216 59217 59218 59221 59222 59225 59227 59229 59230 59231 59232 59233 59237 59239 59240 59241 59243 59245 59246 59249 59251 59252 59253 59254 59255 59256 59258 59259 59260 59261 59266 59269 59270 59271 59272 59273 59277 59279 59282 59283 59285 59288 59289 59290 59296 59298 59304 59306 59311 59314 59330 59333 59335 59336 59338 59340 59343 59345 59346 59350 59352 59353 59356 59358 59362 59363 59366 59367 59377 59380 59383 59386 59387 59390 59391 59392 59401 59406 59407 59409 59410 59417 59418 59428 59431 59432 59433 59434 59443 59444 59452 59462 59472 59473 59477 59481 59484 59485 59486 59491 59494 59502 59508 59509 59535 59540 59545 59547 59548 59550 59553 59560 59563 59569 59570 59575 59577 59579 59585 59603 59604 59640 59655 59659 59663 59666 59667 59669 59672 59694 59697 59724 59735 59760 59778 59835 59861 59921 59935 59936 59938 59939 59941 59943 59944 59945 59946 59949 59953 59955 59956 59957 59960 59961 59968 59969 59971 59973 59976 59982 59984 60000 60001 60002 60003 60005 60008 60009 60014 60023 60024 60027 60028 60029 60032 60034 60039 60040 60043 60052 60072 60076 60077 60079 60081 60091 60093 60094 60095 60096 60097 60102 60105 60106 60136 60139 60140 60142 60219 60223 60224 60225 60232 60248 60249 60252 60258 60260 60261 60286 60288 60290 60294 60295 60298 60300 60320 60321 60323 60324 60325 60327 60329 60332 60335 60337 60338 60339 60341 60342 60347 60348 60351 60352 60357 60358 60361 60365 60367 60369 60370 60371 60373 60374 60375 60377 60378 60380 60382 60383 60385 60387 60401 60407 60423 60426 60442 60472 60482 60490 60526 60531 60541 60542 60554 60605 60606 60607 60608 60609 60610 60611 60615 60617 60618 60620 60623 60626 60637 60638 60640 60641 60648 60651 60652 60668 60672 60673 60674 60675 60677 60678 60679 60702 60729 60730 60764 60770 60774 60780 60787 60795 60798 60799 60806 60823 60824 60828 60865 60869 60870 60877 60911 60915 60916 60917 60918 60919 60920 60921 60925 60927 60946 60949 60958 60959 60962 60965 60968 60969 60971 60972 60975 60976 60978 60979 60980 60987 60988 60989 60993 60996 61002 61004 61021 61026 61031 61041 61042 61044 61046 61048 61051 61053 61055 61057 61059 61060 61061 61062 61064 61065 61066 61067 61068 61069 61077 61079 61080 61082 61083 61093 61100 61122 61126 61127 61130 61132 61133 61137 61145 61166 61167 61173 61174 61177 61180 61183 61184 61187 61206 61216 61219 61224 61226 61227 61237 61241 61245 61247 61259 61290 61305 61306 61307 61308 61309 61312 61335 61337 61342 61352 61354 61355 61359 61360 61361 61362 61364 61365 61367 61369 61379 61380 61383 61385 61394 61395 61401 61405 61406 61407 61410 61413 61415 61416 61417 61419 61421 61423 61428 61430 61431 61432 61434 61442 61443 61447 61454 61456 61458 61459 61461 61462 61464 61465 61466 61467 61469 61470 61471 61472 61473 61474 61477 61482 61483 61484 61485 61486 61488 61490 61493 61495 61497 61500 61501 61504 61505 61508 61510 61514 61515 61516 61519 61520 61521 61523 61525 61527 61529 61532 61534 61538 61540 61541 61551 61552 61556 61557 61558 61560 61565 61566 61571 61572 61573 61576 61583 61584 61594 61595 61596 61597 61598 61600 61601 61602 61603 61604 61605 61606 61609 61612 61617 61620 61621 61624 61634 61636 61637 61640 61642 61649 61650 61655 61656 61658 61659 61660 61661 61662 61665 61666 61669 61671 61673 61674 61676 61679 61681 61683 61686 61689 61692 61693 61694 61696 61697 61698 61700 61701 61705 61706 61708 61709 61710 61713 61714 61716 61720 61722 61723 61724 61725 61729 61733 61735 61736 61738 61739 61740 61741 61743 61744 61746 61747 61748 61749 61759 61760 61772 61777 61778 61793 61799 61800 61804 61817 61827 61830 61857 61859 61867 61868 61875 61877 61878 61879 61880 61882 61883 61885 61904 61906 61916 61917 61918 61923 61928 61949 61950 61951 61980 61985 61991 61995 62001 62007 62030 62037 62041 62044 62046 62056 62060 62078 62080 62081 62085 62094 62108 62113 62119 62120 62131 62133 62143 62146 62151 62152 62154 62155 62156 62157 62174 62178 62186 62187 62188 62193 62194 62199 62202 62203 62215 62217 62218 62219 62220 62223 62224 62229 62233 62234 62237 62238 62239 62241 62243 62244 62246 62247 62248 62249 62251 62255 62256 62258 62259 62260 62261 62262 62263 62264 62265 62266 62267 62271 62272 62273 62274 62275 62276 62277 62278 62280 62281 62282 62284 62287 62290 62298 62303 62304 62305 62306 62309 62310 62311 62312 62313 62314 62316 62319 62320 62321 62324 62326 62327 62328 62332 62333 62334 62336 62337 62338 62339 62346 62349 62351 62353 62354 62358 62360 62361 62362 62363 62364 62365 62366 62367 62368 62369 62371 62373 62376 62377 62378 62379 62380 62382 62383 62388 62389 62390 62391 62394 62395 62396 62398 62399 62400 62402 62404 62406 62407 62408 62410 62414 62416 62418 62420 62421 62423 62424 62427 62428 62429 62430 62431 62433 62435 62437 62438 62439 62440 62442 62443 62447 62448 62450 62453 62454 62458 62459 62460 62461 62462 62465 62466 62468 62470 62472 62474 62475 62476 62478 62480 62482 62484 62486 62487 62488 62503 62504 62505 62506 62507 62509 62517 62522 62524 62525 62526 62529 62534 62535 62539 62543 62549 62568 62572 62573 62575 62576 62577 62578 62582 62586 62592 62616 62624 62672 62673 62675 62678 62679 62688 62693 62701 62707 62708 62709 62710 62711 62713 62717 62724 62726 62727 62728 62729 62738 62739 62743 62745 62746 62747 62750 62751 62754 62755 62756 62757 62758 62761 62762 62764 62770 62772 62773 62774 62775 62776 62777 62778 62780 62782 62790 62792 62793 62797 62799 62800 62802 62803 62804 62805 62806 62807 62809 62810 62811 62812 62814 62815 62818 62820 62823 62825 62827 62831 62834 62837 62838 62848 62853 62854 62856 62857 62858 62859 62862 62863 62864 62865 62866 62867 62868 62869 62871 62872 62873 62875 62880 62881 62890 62892 62895 62909 62915 62916 62927 62929 62931 62934 62936 62937 62939 62942 62945 62957 62958 62959 62961 62975 62994 63001 63006 63014 63017 63043 63046 63048 63072 63073 63078 63085 63091 63093 63099 63100 63102 63110 63113 63119 63122 63137 63139 63148 63149 63154 63156 63157 63160 63164 63167 63169 63174 63183 63184 63200 63203 63205 63219 63222 63230 63234 63235 63236 63244 63245 63256 63258 63284 63290 63305 63342 63344 63345 63346 63347 63348 63350 63351 63352 63354 63355 63356 63363 63364 63389 63390 63396 63399 63405 63411 63413 63414 63416 63417 63419 63423 63424 63425 63430 63442 63451 63484 63485 63487 63489 63496 63498 63499 63502 63504 63508 63513 63515 63518 63529 63531 63533 63534 63535 63538 63540 63542 63544 63545 63546 63553 63556 63558 63559 63587 63589 63591 63592 63593 63605 63610 63612 63614 63627 63630 63633 63635 63638 63640 63646 63647 63650 63651 63654 63656 63657 63666 63669 63673 63675 63679 63684 63685 63686 63690 63691 63695 63699 63700 63701 63703 63709 63710 63711 63712 63713 63717 63722 63731 63732 63736 63737 63740 63741 63762 63780 63791 63833 63848 63854 63861 63865 63873 63874 63877 63887 63891 63897 63900 63904 63905 63907 63946 63948 63949 63950 63961 63967 63985 63994 64014 64015 64018 64025 64026 64031 64033 64062 64068 64069 64073 64090 64095 64099 64116 64133 64156 64159 64160 64164 64180 64190 64193 64194 64197 64207 64208 64219 64229 64230 64231 64239 64241 64251 64253 64257 64276 64279 64282 64284 64290 64291 64292 64293 64294 64295 64307 64317 64319 64327 64332 64344 64350 64351 64359 64365 64367 64371 64373 64412 64414 64419 64435 64441 64442 64448 64449 64450 64451 64468 64522 64523 64525 64527 64528 64529 64530 64532 64533 64534 64536 64537 64540 64541 64544 64545 64547 64548 64549 64550 64551 64552 64553 64554 64555 64556 64557 64559 64566 64573 64574 64575 64576 64586 64599 64601 64609 64612 64616 64621 64628 64629 64633 64634 64635 64644 64651 64652 64662 64663 64674 64675 64703 64706 64731 64741 64744 64749 64752 64753 64755 64759 64773 64779 64781 64782 64785 64787 64788 64790 64792 64793 64798 64804 64809 64812 64814 64815 64817 64819 64823 64827 64830 64833 64835 64837 64838 64839 64844 64846 64847 64854 64858 64860 64863 64864 64865 64867 64869 64871 64876 64881 64884 64893 64906 64909 64916 64931 64936 64942 64955 64958 64963 64969 64972 64973 64976 64985 64986 64988 64995 64996 65000 65004 65008 65011 65017 65025 65029 65031 65035 65039 65042 65047 65049 65050 65054 65055 65057 65059 65060 65062 65063 65069 65082 65100 65105 65106 65110 65111 65147 65161 65169 65170 65174 65184 65189 65190 65191 65192 65194 65197 65198 65213 65246 65253 65261 65268 65337 65339 65342 65343 65344 65346 65349 65354 65355 65358 65362 65363 65365 65366 65367 65372 65374 65379 65380 65381 65388 65393 65397 65398 65400 65401 65405 65410 65412 65415 65445 65451 65454 65455 65475 65478 65484 65485 65488 65490 65491 65493 65494 65529 65531 65532 65542 65548 65558 65559 65560 65561 65563 65564 65570 65575 65577 65578 65580 65584 65585 65587 65593 65594 65595 65602 65608 65609 65611 65620 65621 65623 65624 65635 65637 65640 65647 65660 65661 65664 65665 65667 65670 65671 65673 65678 65684 65685 65687 65691 65692 65693 65702 65719 65734 65743 65744 65749 65752 65766 65810 65827 65830 65850 65853 65866 65892 65898 65902 65904 65906 65907 65911 65916 65917 65920 65929 65930 65931 65956 65957 65975 65991 66004 66016 66021 66025 66030 66036 66047 66061 66083 66091 66098 66102 66103 66104 66108 66112 66118 66120 66123 66124 66125 66128 66131 66132 66134 66135 66136 66146 66147 66162 66167 66239 66240 66300 66310 66319 66327 66329 66330 66331 66340 66342 66354 66357 66362 66377 66383 66384 66387 66394 66396 66397 66398 66405 66406 66457 66458 66459 66460 66461 66482 66484 66508 66509 66510 66511 66512 66514 66521 66522 66525 66533 66548 66560 66563 66565 66568 66569 66570 66599 66603 66654 66665 66666 66667 66670 66678 66697 66701 66702 66714 66745 66748 66758 66760 66800 66808 66812 66819 66827 66830 66862 66871 66878 66881 66882 66889 66896 66898 66908 66914 66917 66919 66922 66924 66925 66931 66935 66943 66948 66951 66960 66970 66975 66978 66979 66987 67001 67002 67021 67029 67030 67031 67032 67033 67034 67036 67038 67041 67043 67045 67048 67052 67053 67054 67056 67057 67058 67061 67062 67064 67065 67072 67084 67088 67096 67106 67241 67246 67248 67249 67252 67257 67260 67261 67264 67275 67385 67387 67466 67503 67526 67585 67624 67639 67648 67650 67653 67655 67656 67665 67666 67673 67675 67676 67677 67683 67684 67685 67687 67694 67709 67710 67712 67724 67725 67726 67728 67739 67748 67749 67751 67756 67757 67758 67760 67766 67767 67770 67772 67774 67779 67782 67790 67792 67794 67795 67799 67801 67802 67817 67818 67825 67826 67835 67841 67845 67848 67862 67885 67886 67889 67891 67895 67899 67923 67939 67941 67945 67946 67947 67963 67966 67977 67980 67981 67984 67986 67987 68000 68009 68014 68019 68056 68067 68068 68072 68104 68109 68128 68129 68156 68161 68256 68257 68258 68267 68312 68319 68326 68336 68337 68338 68339 68340 68341 68343 68346 68350 68352 68354 68355 68356 68357 68383 68393 68403 68411 68412 68420 68434 68452 68461 68477 68488 68498 68501 68509 68530 68539 68551 68563 68571 68575 68580 68585 68586 68589 68590 68591 68593 68594 68599 68600 68601 68602 68603 68604 68605 68606 68607 68611 68613 68617 68620 68623 68624 68627 68630 68633 68635 68636 68640 68641 68642 68643 68650 68653 68655 68656 68670 68693 68704 68707 68713 68714 68717 68718 68721 68728 68758 68768 68778 68799 68800 68803 68804 68805 68811 68812 68813 68815 68816 68838 68841 68842 68844 68871 68876 68878 68895 68896 68905 68906 68924 68925 68947 68948 68949 68979 69000 69029 69035 69043 69045 69052 69055 69057 69065 69066 69109 69111 69116 69117 69122 69131 69132 69133 69134 69135 69139 69141 69142 69145 69146 69147 69150 69151 69152 69153 69154 69155 69156 69157 69160 69161 69162 69166 69181 69197 69220 69239 69240 69251 69265 69272 69275 69280 69281 69282 69283 69292 69293 69302 69303 69304 69319 69342 69343 69355 69356 69358 69375 69406 69416 69426 69428 69432 69436 69437 69439 69440 69460 69461 69467 69468 69469 69470 69477 69486 69487 69494 69498 69500 69501 69503 69504 69505 69507 69508 69511 69515 69522 69527 69528 69529 69534 69535 69559 69560 69573 69580 69593 69598 69606 69614 69616 69618 69636 69637 69644 69649 69650 69651 69652 69653 69655 69658 69673 69675 69676 69677 69691 69695 69696 69697 69702 69704 69705 69712 69713 69718 69719 69720 69723 69724 69725 69729 69732 69769 69770 69786 69801 69815 69817 69818 69830 69834 69835 69838 69841 69843 69844 69846 69848 69851 69854 69856 69862 69866 69868 69869 69879 69888 69901 69906 69915 69919 69922 69924 69946 69949 69969 69973 69976 69977 69978 69981 70007 70009 70010 70012 70015 70016 70017 70018 70023 70025 70029 70031 70036 70041 70042 70043 70044 70045 70046 70054 70055 70060 70061 70075 70081 70083 70093 70094 70099 70102 70110 70119 70121 70135 70140 70158 70197 70198 70199 70201 70204 70205 70229 70230 70235 70237 70239 70286 70296 70298 70314 70317 70319 70329 70333 70334 70335 70338 70340 70341 70342 70344 70345 70346 70348 70349 70350 70351 70354 70355 70357 70358 70360 70363 70364 70365 70366 70368 70371 70374 70375 70410 70434 70435 70464 70465 70480 70499 70508 70509 70510 70511 70513 70515 70522 70523 70548 70571 70572 70627 70628 70629 70630 70631 70632 70633 70634 70635 70637 70638 70639 70640 70645 70651 70652 70653 70654 70655 70656 70658 70660 70661 70662 70670 70713 70714 70719 70724 70753 70761 70773 70774 70775 70776 70778 70781 70784 70788 70789 70792 70800 70802 70807 70810 70815 70816 70817 70818 70819 70822 70823 70826 70827 70828 70829 70830 70838 70843 70845 70848 70850 70854 70858 70859 70860 70861 70862 70865 70869 70871 70872 70873 70875 70876 70879 70880 70881 70882 70883 70886 70887 70891 70893 70898 70899 70900 70901 70902 70903 70905 70906 70907 70910 70915 70917 70920 70923 70924 70925 70926 70927 70928 70929 70930 70937 70940 70941 70942 70943 70945 70946 70948 70951 70959 70964 70965 70980 70981 70983 70984 70985 70987 70993 70995 70996 71004 71006 71009 71010 71012 71014 71015 71049 71061 71087 71088 71131 71157 71162 71163 71165 71168 71184 71185 71186 71188 71189 71190 71193 71196 71197 71198 71200 71207 71209 71210 71212 71214 71216 71217 71218 71219 71220 71225 71228 71234 71236 71241 71243 71244 71245 71246 71247 71253 71277 71280 71285 71302 71312 71313 71316 71321 71331 71332 71335 71345 71346 71349 71358 71433 71479 71480 71481 71483 71505 71506 71510 71511 71512 71514 71515 71516 71518 71525 71533 71544 71561 71563 71568 71583 71587 71588 71590 71595 71598 71602 71603 71604 71605 71610 71611 71612 71613 71614 71618 71623 71624 71625 71634 71642 71645 71646 71648 71650 71653 71654 71658 71665 71676 71694 71699 71728 71732 71733 71740 71743 71746 71747 71748 71766 71769 71787 71788 71789 71795 71796 71797 71819 71820 71822 71826 71827 71831 71851 71854 71856 71857 71868 71870 71873 71874 71875 71880 71884 71887 71890 71891 71892 71894 71897 71899 71901 71904 71905 71906 71909 71912 71914 71919 71920 71921 71922 71923 71924 71925 71927 71928 71929 71930 71931 71932 71933 71934 71935 71936 71937 71939 71940 71941 71942 71945 71950 71951 71954 71955 71958 71959 71960 71974 71993 71996 71997 71998 71999 72003 72005 72007 72010 72011 72012 72014 72027 72028 72031 72033 72034 72037 72050 72052 72053 72054 72055 72059 72062 72067 72068 72072 72074 72076 72084 72086 72087 72090 72092 72096 72097 72100 72102 72104 72108 72112 72114 72115 72118 72120 72121 72122 72124 72129 72130 72131 72132 72134 72136 72141 72142 72143 72144 72150 72164 72189 72190 72191 72195 72198 72248 72249 72250 72255 72257 72259 72269 72276 72284 72290 72291 72295 72296 72299 72301 72304 72308 72309 72313 72314 72317 72319 72320 72322 72323 72325 72327 72328 72330 72332 72334 72337 72338 72347 72348 72351 72354 72356 72359 72360 72366 72368 72370 72371 72372 72373 72374 72376 72377 72378 72382 72384 72385 72388 72389 72390 72392 72393 72395 72397 72399 72402 72403 72407 72408 72409 72411 72412 72415 72416 72418 72423 72424 72435 72436 72437 72440 72441 72442 72443 72449 72450 72451 72453 72454 72455 72456 72460 72461 72463 72467 72470 72471 72473 72475 72476 72479 72480 72481 72482 72491 72500 72501 72502 72515 72517 72523 72530 72531 72533 72544 72546 72548 72549 72553 72554 72555 72568 72572 72577 72584 72596 72598 72599 72600 72602 72613 72614 72616 72617 72619 72620 72627 72628 72629 72630 72631 72632 72633 72638 72646 72653 72655 72690 72700 72703 72706 72710 72715 72718 72719 72725 72727 72728 72745 72749 72750 72751 72754 72755 72762 72771 72774 72792 72794 72798 72799 72801 72807 72814 72833 72834 72860 72880 72882 72883 72885 72895 72899 72939 72945 72946 72964 72966 72972 72974 72975 72978 72986 72993 72994 73000 73010 73019 73020 73023 73034 73038 73044 73050 73053 73054 73055 73056 73057 73060 73063 73064 73074 73078 73084 73095 73097 73099 73107 73110 73111 73112 73113 73117 73118 73119 73123 73124 73144 73155 73163 73167 73168 73181 73185 73186 73187 73188 73189 73209 73223 73225 73228 73229 73234 73235 73236 73237 73238 73239 73240 73241 73242 73243 73244 73246 73247 73248 73249 73250 73251 73253 73254 73255 73256 73258 73261 73262 73263 73264 73265 73266 73271 73273 73275 73278 73279 73280 73281 73283 73285 73287 73290 73291 73293 73294 73295 73296 73297 73299 73300 73301 73302 73304 73305 73306 73307 73310 73311 73312 73313 73314 73315 73316 73317 73318 73319 73320 73321 73322 73323 73324 73325 73327 73328 73329 73331 73332 73333 73335 73336 73337 73338 73339 73341 73343 73348 73353 73355 73366 73376 73381 73383 73397 73417 73421 73422 73423 73427 73430 73438 73439 73442 73543 73552 73621 73622 73626 73629 73652 73653 73681 73683 73687 73696 73700 73711 73725 73733 73734 73756 73758 73759 73761 73763 73787 73793 73796 73804 73807 73808 73814 73815 73817 73830 73835 73837 73840 73842 73843 73844 73845 73847 73852 73853 73854 73857 73858 73865 73866 73867 73869 73870 73871 73872 73873 73874 73875 73877 73878 73881 73882 73885 73886 73888 73890 73891 73893 73901 73902 73905 73907 73909 73912 73921 73925 73927 73977 73994 73995 74011 74026 74042 74043 74045 74046 74047 74053 74055 74059 74061 74062 74083 74087 74088 74111 74113 74115 74116 74122 74123 74124 74129 74147 74154 74162 74169 74171 74179 74186 74187 74192 74196 74200 74201 74202 74204 74212 74226 74232 74236 74244 74249 74254 74255 74256 74257 74267 74276 74277 74283 74289 74290 74292 74293 74295 74297 74302 74308 74312 74313 74318 74319 74326 74327 74331 74350 74351 74358 74364 74365 74366 74367 74369 74370 74371 74372 74374 74375 74377 74378 74380 74381 74383 74385 74387 74389 74392 74398 74419 74432 74450 74452 74453 74461 74462 74468 74472 74476 74477 74479 74488 74498 74499 74504 74505 74511 74512 74529 74562 74563 74574 74584 74593 74606 74646 74660 74665 74668 74669 74673 74679 74681 74683 74684 74691 74712 74733 74775 74777 74778 74782 74783 74785 74786 74787 74801 74810 74811 74812 74820 74821 74823 74824 74825 74827 74830 74837 74843 74850 74851 74852 74853 74854 74856 74857 74859 74871 74873 74886 74895 74896 74898 74904 74908 74920 74923 74926 74929 74941 74945 74953 74955 74958 74963 74965 74967 74972 74975 74977 74978 74980 74986 74988 74989 74993 75001 75005 75017 75021 75028 75029 75031 75032 75033 75035 75036 75039 75041 75044 75056 75061 75073 75084 75085 75086 75091 75103 75116 75124 75128 75129 75130 75131 75148 75149 75151 75164 75166 75168 75170 75176 75177 75180 75188 75189 75191 75207 75212 75217 75218 75219 75232 75233 75234 75235 75238 75239 75258 75260 75265 75266 75269 75276 75278 75281 75284 75289 75290 75291 75297 75298 75302 75303 75307 75309 75310 75311 75312 75314 75316 75317 75318 75323 75326 75329 75331 75337 75339 75350 75352 75370 75372 75373 75379 75381 75386 75389 75398 75399 75400 75408 75412 75415 75416 75421 75423 75426 75437 75439 75441 75443 75449 75450 75451 75459 75461 75463 75471 75480 75482 75485 75486 75497 75527 75528 75535 75548 75550 75551 75554 75578 75586 75605 75614 75624 75625 75650 75652 75654 75658 75668 75687 75689 75691 75693 75695 75699 75707 75711 75724 75727 75728 75730 75736 75740 75742 75743 75747 75755 75759 75766 75771 75774 75776 75777 75786 75787 75809 75813 75815 75820 75824 75835 75836 75845 75847 75851 75855 75856 75874 75884 75941 75980 76059 76062 76067 76072 76073 76088 76090 76099 76125 76175 76182 76194 76203 76205 76206 76207 76280 76283 76288 76304 76317 76340 76350 76380 76387 76389 76390 76399 76401 76406 76413 76445 76455 76459 76464 76469 76476 76482 76483 76484 76499 76520 76524 76525 76546 76549 76550 76551 76552 76554 76555 76556 76557 76560 76562 76566 76570 76573 76587 76590 76591 76600 76601 76602 76603 76608 76610 76614 76616 76619 76620 76622 76628 76630 76631 76634 76635 76638 76640 76641 76642 76644 76677 76723 76726 76727 76729 76757 76766 76773 76778 76779 76780 76792 76809 76818 76831 76832 76837 76845 76847 76864 76867 76893 76897 76901 76903 76905 76911 76916 76918 76919 76920 76921 76922 76923 76925 76926 76928 76929 76930 76931 76934 76942 76943 76951 76970 76976 76998 77001 77010 77051 77052 77054 77055 77056 77062 77065 77068 77078 77079 77133 77137 77156 77161 77170 77171 77173 77174 77175 77189 77220 77222 77225 77227 77232 77243 77244 77246 77271 77275 77319 77324 77326 77327 77328 77329 77330 77338 77341 77342 77344 77346 77349 77350 77351 77352 77353 77354 77356 77357 77359 77361 77362 77363 77365 77367 77368 77369 77370 77371 77390 77395 77397 77400 77401 77404 77405 77418 77419 77421 77422 77427 77432 77434 77437 77438 77439 77440 77443 77444 77449 77450 77451 77457 77467 77471 77472 77483 77485 77488 77490 77492 77501 77502 77503 77505 77506 77510 77511 77529 77541 77542 77546 77549 77550 77553 77555 77556 77557 77561 77566 77567 77568 77570 77572 77580 77582 77586 77587 77589 77591 77592 77594 77597 77598 77599 77632 77636 77649 77658 77662 77667 77668 77670 77671 77673 77675 77677 77678 77683 77685 77686 77689 77694 77696 77699 77700 77710 77711 77712 77716 77718 77721 77722 77724 77730 77731 77732 77734 77737 77747 77751 77752 77756 77758 77760 77776 77791 77808 77828 77841 77842 77843 77844 77845 77863 77869 77870 77871 77884 77886 77889 77893 77894 77896 77897 77900 77904 77906 77907 77910 77913 77914 77918 77920 77922 77923 77925 77931 77932 77942 77943 77944 77945 77967 77968 77987 77993 77998 78008 78011 78031 78037 78049 78056 78057 78058 78063 78066 78067 78074 78076 78077 78080 78084 78085 78090 78092 78096 78107 78110 78111 78124 78125 78129 78130 78131 78147 78156 78174 78193 78207 78208 78210 78211 78218 78225 78227 78238 78258 78263 78268 78274 78289 78307 78315 78318 78327 78335 78336 78337 78338 78351 78367 78377 78387 78390 78394 78395 78407 78409 78411 78418 78446 78466 78468 78469 78470 78473 78478 78479 78500 78501 78514 78566 78598 78603 78608 78618 78642 78648 78654 78655 78671 78682 78685 78691 78737 78741 78748 78750 78757 78760 78763 78781 78783 78799 78802 78803 78843 78850 78859 78862 78892 78932 78939 78956 78989 79050 79053 79056 79057 79058 79060 79061 79063 79065 79066 79067 79068 79070 79071 79072 79073 79091 79115 79117 79119 79183 79185 79189 79226 79259 79280 79281 79282 79283 79284 79286 79323 79349 79400 79401 79405 79406 79407 79408 79409 79413 79414 79417 79419 79420 79423 79424 79425 79427 79428 79429 79431 79433 79441 79459 79460 79471 79472 79473 79490 79522 79525 79545 79559 79568 79574 79576 79633 79651 79656 79657 79664 79665 79666 79691 79701 79702 79717 79780 79781 79782 79784 79785 79787 79805 79883 79884 79885 79886 79904 79941 79972 79973 79975 80018 80019 80020 80021 80054 80055 80058 80059 80064 80065 80073 80074 80075 80090 80091 80092 80093 80095 80096 80097 80113 80116 80117 80222 80223 80245 80279 80282 80285 80286 80287 80288 80289 80290 80292 80293 80294 80295 80296 80298 80298 80320 80321 80327 80329 80504 80558 80559 80560 80652 80655 80783 80796 80939 81073 81108 81109 81154 81212 81239 81247 81319 81410 81412 81415 81434 81442 81446 81448 81460 81470 81476 81478 81484 81487 81488 81497 81500 81503 81521 81527 81550 81562 81563 81565 81571 81572 81576 81582 81583 81585 81593 81594 81595 81598 81605 81606 81608 81612 81614 81617 81620 81626 81649 81656 81663 81673 81674 81675 81684 81687 81692 81695 81701 81714 81721 81737 81749 81756 81757 81764 81765 81770 81785 81790 81849 81865 81880 81888 81889 81902 81907 81911 81921 81923 81937 81938 81939 81942 81944 81946 81947 81951 81954 81955 81982 82011 82013 82019 82024 82030 82048 82059 82064 82068 82071 82103 82117 82125 82136 82144 82162 82164 82166 82169 82171 82174 82176 82177 82181 82185 82213 82226 82231 82240 82245 82258 82259 82289 82329 82338 82340 82341 82344 82354 82380 82400 82415 82420 82423 82432 82438 82446 82452 82453 82459 82471 82472 82476 82512 82515 82516 82517 82522 82529 82536 82540 82559 82563 82578 82579 82580 82584 82586 82589 82613 82627 82630 82635 82639 82640 82645 82649 82651 82661 82690 82697 82708 82709 82712 82715 82725 82730 82731 82736 82737 82738 82746 82758 82776 82786 82790 82797 82799 82801 82802 82809 82810 82818 82831 82835 82841 82842 82844 82846 82849 82852 82859 82860 82867 82868 82874 82876 82892 82902 82911 82917 82920 82926 82939 82958 82965 82976 82978 82988 82989 83006 83008 83011 83015 83017 83022 83026 83027 83028 83029 83031 83032 83033 83040 83049 83064 83065 83074 83081 83086 83087 83101 83130 83132 83141 83165 83166 83176 83177 83178 83183 83188 83189 83201 83202 83207 83208 83209 83210 83220 83225 83230 83250 83255 83258 83273 83280 83298 83300 83321 83324 83331 83337 83344 83347 83353 83359 83367 83377 83391 83398 83399 83439 83441 83442 83446 83453 83463 83471 83492 83504 83507 83528 83533 83534 83536 83564 83613 83616 83641 83647 83663 83680 83693 83694 83709 83716 83725 83726 83727 83735 83740 83756 83772 83783 83792 83804 83806 83832 83838 83846 83852 83859 83861 83866 83867 83868 83889 83890 83910 83912 83931 83934 83936 83951 83956 83957 83969 83982 83996 83998 84002 84004 84024 84025 84027 84035 84036 84044 84047 84056 84057 84061 84063 84065 84070 84074 84084 84088 84091 84132 84133 84142 84161 84164 84168 84172 84175 84178 84179 84180 84194 84200 84209 84210 84212 84216 84220 84235 84239 84242 84261 84263 84264 84282 84287 84289 84297 84299 84301 84304 84307 84313 84317 84325 84336 84340 84341 84342 84347 84352 84353 84360 84361 84362 84364 84369 84376 84378 84379 84403 84410 84433 84440 84442 84444 84468 84474 84484 84485 84489 84500 84508 84517 84525 84527 84532 84533 84543 84548 84557 84569 84573 84577 84579 84580 84599 84604 84611 84624 84638 84642 84652 84653 84655 84660 84672 84679 84691 84692 84696 84697 84698 84700 84705 84707 84709 84710 84715 84716 84718 84726 84765 84774 84782 84785 84786 84791 84792 84795 84796 84808 84810 84814 84817 84821 84827 84828 84829 84830 84832 84833 84836 84838 84843 84860 84861 84873 84875 84876 84879 84892 84902 84907 84911 84913 84929 84932 84935 84948 84952 84960 84973 84977 85030 85031 85053 85065 85067 85113 85114 85139 85144 85151 85175 85177 85182 85193 85201 85202 85218 85219 85229 85238 85239 85240 85246 85247 85249 85252 85255 85272 85286 85289 85295 85296 85297 85299 85300 85301 85302 85303 85358 85379 85386 85401 85418 85424 85431 85536 85544 85545 85719 85724 85741 85744 85745 85748 85780 85798 85805 85807 85812 85828 85845 85889 85895 85935 85940 85942 85943 85964 85977 85980 85987 86004 86010 86028 86029 86030 86062 86081 86091 86135 86146 86156 86174 86180 86191 86193 86206 86215 86217 86218 86223 86253 86257 86260 86277 86313 86314 86315 86332 86333 86339 86344 86348 86350 86353 86355 86358 86359 86361 86363 86365 86376 86378 86379 86397 86401 86411 86412 86428 86446 86477 86480 86482 86483 86491 86495 86496 86500 86506 86509 86518 86519 86550 86603 86641 86658 86659 86661 86684 86700 86706 86708 86712 86762 86784 86816 86831 86867 86870 86878 86885 86903 86906 86918 86933 86947 86952 86978 86985 86987 87021 87045 87048 87049 87050 87051 87052 87059 87067 87068 87071 87080 87081 87083 87089 87090 87091 87140 87140 87142 87143 87151 87160 87175 89052 89070 89635 89793 89795 89798 90180 90278 90340 90350 90352 90388 90425 90515 90525 90756 90778 91125 91363 91366 92271 92355 92466 92493 92557 93048 93401 93482 93874 94159 94167 94209 94287 95798 95865 95922 96005 96069 96199 96793 97086 97254 97273 97423 97550 97579 97673 98148 98220 99149 99247 99880 100627 100672 100748 100762 100776 100797 100804 100926 100928 101069 101070 101089 101107 101149 101243 101355 101364 101367 101379 101381 101389 101394 101395 101401 101418 101452 101555 101579 101583 101584 101588 101589 101594 101620 101663 101671 101725 101827 101856 101862 102139 102163 102169 102174 102190 102205 102215 102216 102240 102242 102251 102296 102304 102311 102313 102418 102419 102421 102431 102447 102450 102457 102501 102561 102584 102586 102615 102622 102628 102631 102653 102654 102673 102697 102703 102708 102743 102750 102758 102781 102793 102868 102875 102931 102938 102957 102979 103013 103020 103021 103022 103028 103040 103073 103110 103113 103173 103196 103200 103250 103393 103403 103404 103405 103406 103408 103409 103412 103478 103489 103519 103525 103565 103575 103576 103596 103607 103611 103612 103614 103629 103635 103638 103657 103659 103662 103678 103755 103785 103813 103827 103835 103836 103838 103839 103840 103841 103852 103854 104073 104081 104116 104163 104186 104203 104208 104210 104228 104230 104264 104314 104340 104350 104398 104412 104452 104454 104462 104569 104693 104695 104699 104725 104732 104746 104759 104795 104829 104894 104896 104924 104940 104979 104998 105042 105056 105067 105087 105108 105164 105181 105223 105254 105358 105363 105392 105421 105485 105601 105652 105680 105723 105729 105748 105770 105811 105817 105831 105855 105878 105879 105891 105905 105948 105963 105979 105980 105993 106003 106025 106040 106041 106044 106060 106070 106077 106084 106085 106102 106120 106132 106143 106144 106158 106160 106269 106299 106309 106453 106564 106613 106630 106660 106701 106717 106736 106740 106765 106797 106850 106852 106877 106893 106933 106945 106950 106964 107025 107053 107094 107103 107115 107198 107244 107247 107264 107298 107357 107463 107464 107656 107660 107680 107696 107717 107719 107720 107869 107878 107880 107935 107946 107949 107991 107992 108014 108048 108050 108066 108082 108105 108170 108181 108187 108192 108208 108209 108215 108280 108282 108303 108324 108328 108347 108382 108385 108401 108413 108456 108471 108474 108483 108485 108527 108547 108548 108554 108555 108557 108581 108585 108685 108747 108748 108752 108754 108758 108768 108773 108779 108783 108788 108789 108791 108793 108796 108797 108799 108800 108801 108818 108836 108855 108862 108896 108914 108943 108969 109011 109013 109033 109042 109043 109044 109060 109078 109081 109157 109173 109188 109200 109201 109206 109207 109244 109271 109272 109273 109276 109278 109284 109317 109318 109321 109329 109352 109554 109616 109617 109670 109671 109706 109710 109806 109819 109871 109961 109973 110007 110024 110036 110047 110116 110117 110119 110279 110294 110333 110369 110444 110446 110462 110468 110495 110533 110582 110610 110611 110613 110614 110623 110624 110658 110717 110730 110747 110790 110818 110976 111001 111002 111026 111043 111046 111080 111081 111116 111139 111192 111208 111215 111216 111283 111297 111332 111409 111429 111577 111586 111592 111608 111609 111617 111693 111695 111696 111702 111710 111715 111782 111796 111798 111799 111802 111811 111812 111836 111840 111863 111869 111873 111890 111916 112088 112102 112117 112123 112125 112273 112280 112284 112286 112297 112342 112376 112406 112492 112708 112758 112774 112817 112826 112906 112908 112912 112983 113037 113054 113064 113089 113097 113101 113102 113132 113147 113186 113187 113214 113216 113218 113219 113220 113222 113238 113244 113272 113495 113519 113576 113577 113588 113865 113902 114087 114185 114312 114339 114365 114422 114446 114452 114465 114612 114616 114617 114635 114641 114645 114667 114683 114712 114809 114832 114835 114836 114838 114839 114938 114967 114998 115035 115039 115048 115145 115175 115194 115220 115268 115269 115305 115411 115414 115421 115424 115432 115435 115459 115466 115476 115478 115517 115543 115582 115585 115621 115631 115654 115666 115716 115725 115813 115814 115820 115825 115834 115853 115865 115878 115886 115922 115925 116029 116036 116078 116183 116184 116227 116274 116275 116280 116305 116306 116397 116408 116409 116425 116503 116522 116534 116540 116543 116555 116574 116576 116586 116587 116590 116596 116597 116645 116717 116725 116873 116885 117035 117055 117059 117080 117094 117105 117138 117151 117163 117195 117199 117216 117227 117286 117287 117298 117317 117321 117333 117350 117426 117430 117436 117542 117552 117556 117601 117605 117617 117684 117691 117694 117718 117719 117720 117726 117731 117738 117746 117759 117797 117807 117824 117828 117839 118022 118036 118049 118083 118084 118086 118102 118111 118120 118132 118164 118228 118229 118230 118231 118334 118441 118499 118522 118563 118581 118615 118644 118662 118669 118671 118700 118762 118766 118771 118800 118846 118853 118878 118889 118890 118891 118931 118932 118959 118964 118975 118997 119005 119020 119023 119027 119057 119078 119082 119181 119183 119212 119213 119238 119268 119271 119279 119304 119307 119333 119380 119421 119422 119432 119437 119450 119452 119471 119473 119484 119490 119494 119505 119519 119532 119535 119540 119542 119566 119679 119685 119732 119793 119802 119807 119818 119821 119822 119823 119825 119833 119835 119840 119857 119873 119876 119880 119894 119901 119903 119905 119914 119919 119923 119933 119958 119959 120053 120067 120077 120089 120099 120105 120107 120189 120193 120237 120250 120252 120263 120276 120285 120324 120336 120341 120348 120370 120372 120410 120457 120465 120488 120489 120529 120530 120541 120543 120548 120558 120616 120648 120659 120679 120746 120764 121105 121168 121203 121235 121238 121242 121244 121258 121282 121287 121296 121315 121348 121349 121359 121365 121372 121378 121381 121382 121384 121385 121386 121388 121392 121395 121398 121402 121411 121412 121419 121420 121427 121437 121449 121450 121453 121455 121463 121471 121472 121477 121493 121517 121542 121548 121563 121593 121674 121677 121678 121707 121726 121728 121746 121747 121751 121785 121795 121807 121830 121831 121837 121840 121867 121868 121869 121872 121895 121902 121922 121925 121926 121957 121973 122005 122007 122013 122017 122020 122040 122042 122044 122111 122116 122159 122160 122163 122164 122165 122180 122269 122299 122319 122323 122359 122511 122546 122576 122577 122584 122590 122592 122595 122608 122610 122620 122621 122624 122625 122629 122667 122668 122698 122725 122752 122788 122905 122911 122914 122927 122928 122943 123067 123089 123090 123139 123156 123167 123190 123226 123227 123233 123238 123241 123242 123245 123256 123257 123258 123259 123263 123264 123271 123345 123356 123360 123371 123401 123497 123514 123515 123538 123557 123578 123601 123610 123651 123658 123665 123676 123677 123682 123707 123711 123744 123748 123750 123757 123759 123768 123771 123780 123789 123804 123921 123958 123968 123987 124025 124026 124137 124202 124241 124320 124405 124412 124415 124417 124464 124618 124638 124639 124640 124647 124761 124781 124823 124849 124853 124875 124878 124925 124981 125011 125033 125036 125037 125069 125072 125074 125075 125078 125090 125097 125142 125171 125172 125177 125178 125189 125207 125210 125222 125247 125258 125259 125260 125261 125271 125272 125289 125293 125393 125401 125440 125444 125455 125494 125575 125577 125581 125601 125603 125605 125606 125607 125609 125610 125614 125618 125619 125636 125638 125640 125642 125648 125652 125690 125845 125939 125950 125952 125965 125975 126006 126032 126033 126036 126037 126086 126120 126134 126147 126155 126183 126200 126203 126273 126371 126387 126391 126451 126466 126485 126489 126496 126501 126502 126593 126720 126722 126732 126734 126758 126759 126828 126845 126876 126900 126901 126916 126922 126940 126943 126964 126966 126970 126971 126979 126991 127014 127023 127044 127053 127057 127082 127092 127149 127164 127194 127198 127206 127259 127261 127262 127274 127306 127424 127452 127461 127474 127509 127512 127555 127556 127603 127611 127615 127751 127762 127784 127863 128101 128126 128167 128228 128263 128423 128440 128442 128443 128444 128445 128450 128459 128462 128479 128489 128506 128545 128546 128555 128577 128584 128635 128811 128818 128843 128897 128902 128903 128904 128936 128951 128966 129024 129026 129029 129043 129199 129268 129269 129296 129320 129324 129341 129367 129369 129377 129439 129460 129461 129470 129553 129557 129789 129791 130289 130296 130637 130645 130659 130660 130692 130693 130707 130710 130711 130716 130717 130732 130743 130747 130753 130777 130825 130830 130870 130895 130900 131025 131094 131107 131126 131354 131373 131513 131568 131569 131582 131599 131687 131721 131722 131729 131731 131733 131737 131742 131762 131774 131775 131781 131793 131827 131875 131894 131956 131960 132040 132096 132136 132138 132139 132173 132216 132249 132250 132254 132260 132280 132298 132299 132300 132301 132304 132307 132308 132309 132317 132323 132348 132468 132473 132477 132487 132513 132537 132555 132558 132570 132571 132572 132578 132580 132630 132638 132759 132777 132800 132859 132918 132919 132921 132922 133188 133195 133205 133207 133208 133212 133218 133230 133231 133234 133257 133274 133277 133278 133487 133545 133553 133644 133669 133704 133780 133821 133828 133829 133839 133873 133922 133929 133937 133938 133945 134021 134056 134073 134088 134093 134110 134235 134307 134321 134352 134407 134418 134440 134500 134596 134682 134688 134829 134835 134856 134940 134963 134965 134972 134982 134983 134985 134992 135008 135067 135068 135092 135105 135194 135201 135208 135500 135510 135546 135570 135572 135575 135615 135768 135800 135834 135841 135891 135892 135893 135894 135909 135935 135945 135952 135981 135982 135989 135990 136005 136026 136033 136037 136038 136039 136042 136044 136045 136049 136069 136072 136073 136104 136105 136120 136134 136147 136166 136175 136195 136227 136233 136241 136335 136402 136423 136459 136465 136466 136570 136575 136588 136589 136671 136709 136715 136745 136752 136756 136771 136787 136834 136835 136841 136846 136864 136870 136875 136876 136877 136907 136925 136949 136976 136987 136993 136996 137005 137049 137209 137221 137234 137243 137306 137310 137311 137431 137450 137451 137457 137459 137475 137677 137684 137687 137711 137715 137723 137798 137811 137821 137833 137853 137863 137864 137872 137943 137952 137956 137975 138008 138086 138087 138137 138146 138186 138224 138227 138297 138302 138318 138324 138334 138345 138353 138369 138370 138434 138435 138457 138480 138484 138486 138499 138500 138512 138514 138515 138519 138520 138524 138525 138526 138551 138552 138556 138557 138562 138579 138583 138590 138624 138651 138657 138673 138708 138727 138741 138745 138747 138751 138756 138765 138769 138776 138793 138799 138801 138809 138821 138826 138829 138837 138838 138843 138864 138869 138873 138891 138903 138947 138965 138968 138975 138977 138994 139000 139011 139026 139030 139040 139071 139091 139121 139140 139153 139154 139156 139157 139177 139178 139246 139346 139360 139394 139395 139409 139557 139578 139587 139607 139621 139623 139704 139705 139709 139714 139715 139716 139738 139829 139847 139863 139873 139880 139896 139899 139903 139905 139916 139917 139935 139949 139978 139989 139990 140003 140030 140032 140057 140076 140079 140080 140081 140096 140097 140114 140116 140145 140191 140199 140238 140246 140247 140249 140260 140273 140274 140278 140279 140280 140281 140283 140290 140309 140314 140328 140334 140343 140389 140424 140425 140430 140433 140461 140471 140491 140495 140498 140513 140519 140523 140525 140528 140529 140545 140553 140558 140570 140599 140649 140651 140661 140662 140689 140694 140704 140813 140826 140850 140851 140853 140854 140908 140933 140946 140968 141110 141185 141190 141209 141210 141266 141286 141299 141315 141333 141380 141415 141422 141444 141449 141450 141456 141483 141502 141541 141547 141561 141566 141582 141651 141682 141714 141717 141734 141806 141818 141820 141939 141947 141948 141950 141959 142005 142009 142025 142033 142035 142036 142046 142061 142099 142101 142110 142130 142133 142138 142139 142156 142205 142227 142250 142251 142292 142293 142323 142346 142368 142377 142381 142403 142489 142594 142606 142657 142658 142661 142694 142730 142736 142751 142934 142956 142957 142963 142964 142986 142996 143027 143059 143060 143083 143087 143101 143146 143160 143213 143243 143247 143251 143252 143289 143327 143379 143421 143452 143466 143477 143485 143505 143587 143588 143589 143593 143595 143607 143630 143645 143671 143735 143751 143753 143770 143773 143812 143814 143942 143954 143961 144040 144112 144186 144195 144227 144234 144255 144275 144282 144357 144382 144382 144406 144407 144418 144447 144453 144466 144488 144490 144491 144507 144555 145007 145052 145059 145102 145106 145123 145175 145185 145314 145456 145464 145477 145478 145496 145511 145512 145540 145561 145570 145597 145620 145621 145682 145683 145684 145755 145759 145771 145779 145784 145843 145852 145885 145946 145947 145988 146006 146007 146033 146034 146065 146107 146112 146113 146114 146115 146116 146153 146187 146192 146201 146214 146266 146283 146410 146426 146438 146440 146446 146451 146462 146495 146511 146521 146524 146525 146527 146530 146544 146550 146619 146621 146630 146674 146729 146815 147002 147020 147022 147029 147033 147051 147066 147068 147080 147081 147083 147084 147087 147090 147117 147121 147139 147165 147219 147226 147233 147283 147288 147374 147472 147521 147543 147545 147579 147583 147734 147757 147775 147776 147821 147902 147913 147935 147938 147959 147983 147992 148051 148143 148151 148152 148160 148162 148186 148198 148199 148203 148213 148288 148290 148297 148300 148329 148333 148335 148339 148340 148365 148376 148447 148481 148517 148526 148533 148591 148598 148622 148743 148746 148753 148799 148810 148815 148816 148873 148875 148918 148923 149001 149035 149036 149038 149039 149061 149066 149114 149209 149306 149319 149338 149378 149380 149473 162330 162381 162449 162471 162506 162507 162508 162508 162594 162595 162596 162667 162681 162710 162724 162728 162729 162732 162733 162745 162768 162794 162795 162796 162797 162798 162799 162804 162825 162826 162827 162828 162829 162832 162833 162837 162841 162905 163027 163195 163200 163206 163216 163224 163247 163258 163260 163270 163275 163281 163284 163314 163315 163318 163325 163332 163338 163339 163342 163343 163344 163361 163373 163378 163388 163401 163404 163406 163410 163426 163495 163503 163505 163522 163527 163549 163553 163563 163578 163582 163590 163611 163613 163614 163618 163630 163660 163693 163706 163742 163743 163744 163745 163758 163768 163781 163786 163797 163803 163804 163825 163826 163828 163862 163875 163877 163881 163885 163903 163916 163923 163930 163940 163941 163963 163974 163985 164005 164014 164023 164029 164031 164035 164055 164059 164069 164072 164075 164082 164087 164092 164096 164099 164100 164116 164132 164136 164144 164160 164174 164175 164206 164209 164217 164223 164226 164233 164238 164269 164294 164296 164311 164313 164337 164339 164354 164369 164371 164383 164384 164398 164399 164414 164427 164428 164448 164452 164467 164469 164479 164481 164503 164510 164516 164522 164525 164560 164594 164600 164607 164613 164633 164673 164674 164678 164687 164696 164707 164754 164786 164801 164804 164809 164828 164900 164906 164941 164959 164961 164962 164963 164969 164981 164983 164994 165014 165019 165021 165025 165049 165052 165073 165100 165101 165103 165106 165117 165123 165133 165134 165138 165142 165167 165174 165185 165196 165198 165209 165225 165230 165249 165255 165267 165270 165275 165294 165303 165306 165318 165338 165342 165346 165358 165359 165361 165366 165379 165388 165421 165459 165475 165486 165495 165507 165519 165523 165538 165563 165585 165588 165589 165623 165637 165638 165675 165677 165724 165820 165862 165897 165908 165955 165970 165979 165991 166001 166012 166027 166033 166037 166039 166059 166093 166145 166235 166252 166292 166332 166415 166417 166418 166429 166441 166447 166450 166460 166465 166470 166505 166517 166559 166582 166586 166587 166672 166728 166730 166753 166758 166759 166814 166825 166886 166894 166963 166968 166994 167116 167117 167118 167121 167138 167143 167154 167156 167171 167178 167183 167206 167220 167225 167227 167294 167318 167349 167350 167363 167367 167385 167462 167464 167490 167513 167564 167574 167610 167627 167632 167636 167637 167638 167657 167669 167672 167689 167714 167771 167775 167786 167797 167802 167845 167874 167930 167932 167949 167952 167954 167957 167965 168010 168014 168052 168068 168090 168096 168100 168118 168141 168153 168155 168158 168162 168173 168234 168254 168256 168273 168282 168307 168309 168310 168312 168318 168325 168360 168390 168405 168424 168434 168458 168486 168493 168548 168552 168553 168561 168566 168606 168608 168655 168708 168770 168778 168779 168807 168821 168872 168908 168913 168938 168939 168944 168945 168981 168985 169006 169007 169050 169051 169053 169073 169097 169100 169101 169103 169129 169144 169147 169155 169182 169202 169244 169251 169268 169269 169270 169272 169309 169333 169360 169362 169373 169375 169379 169424 169430 169519 169524 169533 169539 169582 169610 169611 169628 169634 169658 169661 169663 169665 169708 169716 169718 169748 169804 169852 169853 169883 169904 169910 169911 169957 169964 169973 169975 170050 170058 170089 170109 170131 170144 170165 170168 170210 170214 170267 170269 170270 170304 170308 170309 170366 170372 170457 170473 170481 170518 170521 170524 170552 170561 170562 170566 170604 170607 170636 170638 170654 170657 170672 170689 170693 170709 170752 170755 170793 170826 170835 170842 170844 170857 170884 170903 170936 170941 170943 170953 170954 171000 171004 171039 171040 171049 171061 171088 171099 171117 171118 171126 171137 171154 171160 171161 171180 171196 171226 171233 171234 171244 171272 171305 171358 171381 171396 171406 171420 171467 171484 171501 171502 171503 171552 171605 171637 171708 171718 171857 171860 171910 171927 171930 171951 171954 171955 171961 171965 171977 171990 171998 172000 172133 172144 172155 172158 172203 172219 172221 172237 172284 172299 172391 172406 172414 172477 172511 172531 172537 172579 172581 172612 172633 172642 172655 172659 172663 172689 172717 172730 172743 172806 172835 172842 172870 172890 172956 172973 172982 173005 173031 173089 173115 173178 173260 173278 173280 173338 173372 173383 173386 173419 173427 173434 173531 173532 173545 173557 173584 173611 173613 173618 173677 173684 173695 173734 173743 173746 173750 173764 173772 173801 173807 173809 173823 173848 173879 173897 173913 173924 173930 173931 173932 173933 173943 174007 174015 174045 174048 174109 174123 174144 174221 174234 174263 174307 174376 174377 174381 174383 174427 174430 174433 174543 174545 174552 174599 174601 174602 174641 174669 174680 174713 174718 174724 174735 174791 174804 174807 174818 174989 174990 175061 175094 175160 175935 178472 178474 178495 178635 178649 178657 178663 178741 178753 178774 178793 178799 178827 178868 178887 205638 205666 205723 205724 205753 205771 205774 205895 205896 205899 205922 205923 205926 205928 205953 205992 205994 205996 205997 206010 206011 206013 206020 206021 206022 206024 206025 206052 206053 206128 206129 206235 206256 206339 206354 206355 206356 206364 206414 206453 206454 206456 206457 206472 206473 206474 206476 206480 206482 206489 206491 206492 206495 206501 206517 206518 206522 206527 206528 206529 206552 206553 206587 206588 206805 206838 206950 206987 206997 207035 207071 207072 207079 207083 207104 207105 207106 207107 207108 207150 207157 207159 207167 207189 207190 207195 207198 207199 207206 207207 207230 207231 207232 207237 207261 207262 207269 207270 207283 207288 207296 207304 207305 207308 207312 207313 207322 207324 207329 207336 207348 207361 207362 207383 207398 207405 207427 207461 207493 207509 207515 207530 207543 207563 207564 207606 207643 207652 207664 207668 207669 207694 207699 207707 207722 207731 207754 207759 207772 207783 207787 207803 207807 207815 207820 207831 207833 207842 207857 207858 207860 207864 207890 207899 207958 207995 208000 208043 208054 208069 208103 208107 208124 208150 208179 208202 208203 208205 208227 208233 208257 208260 208262 208267 208289 208326 208340 208346 208355 208356 208375 208388 208430 208442 208449 208462 208490 208496 208500 208506 208526 208529 208531 208567 208571 208575 208616 208620 208628 208636 208650 208681 208687 208721 208757 208804 208813 208847 208848 208849 208872 208873 208884 208897 208911 208930 208935 208940 208963 208989 209004 209012 209024 209035 209036 209089 209103 209130 209145 209157 209173 209190 209244 209245 209246 209259 209278 209286 209328 209338 209389 209390 209408 209415 209521 209523 209525 209537 209548 209554 209561 209567 209597 209598 209606 209617 209642 209661 209662 209665 209669 209671 209696 209706 209722 209736 209746 209748 209755 209778 209825 209835 209851 209852 209886 209887 209949 210011 210029 210037 210057 210108 210148 210149 210158 210171 210216 210217 210219 210233 210240 210263 210264 210337 210353 210358 210412 210413 210432 210458 210491 210492 210502 210507 210525 210527 210563 210587 210612 210630 210638 210704 210751 210791 210793 210814 210842 210844 210861 210864 210946 210947 210955 210980 210994 210998 211011 211023 211036 211066 211100 211144 211154 211157 211169 211171 211182 211237 211255 211262 211271 211279 211296 211333 211337 211399 211445 211456 211464 211518 211534 211546 211547 211578 211610 211657 211674 211682 211692 211705 211707 211797 211811 211816 211817 211832 211843 211880 211977 212011 212013 212109 212166 212170 212197 212200 212211 212234 212259 212271 212320 212339 212381 212427 212464 212492 212511 212512 212513 212517 212526 212532 212549 212573 212576 212578 212592 212602 212670 212680 212683 212691 212694 212707 212710 212730 212733 212736 212741 212766 212768 212896 212898 212908 212936 213005 213011 213045 213052 213088 213144 213145 213150 213212 213235 213238 213240 213248 213275 213288 213318 213321 213361 213362 213387 213389 213417 213420 213430 213432 213467 213482 213484 213506 213512 213537 213553 213574 213587 213591 213646 213651 213666 213669 213682 213691 213700 213704 213709 213721 213785 213812 213862 213891 213950 213978 213980 214013 214023 214061 214098 214140 214200 214222 214226 214230 214241 214274 214283 214317 214327 214331 214345 214356 214363 214364 214455 214459 214461 214475 214493 214518 214539 214541 214550 214555 214562 214569 214570 214599 214604 214610 214614 214622 214624 214635 214697 214716 214721 214733 214737 214743 214766 214776 214788 214794 214849 214856 214866 214897 215005 215027 215033 215037 215047 215060 215069 215144 215147 215149 215150 215152 215176 215182 215199 215223 215244 215247 215249 215273 215343 215357 215380 215398 215407 215425 215469 215474 215488 215506 215508 215510 215575 215598 215609 215619 215739 215741 215758 215779 215810 215825 215835 215844 215848 215858 215865 215955 215991 215993 216045 216063 216069 216114 216115 216120 216123 216137 216162 216231 216232 216255 216265 216288 216471 216510 216515 216568 216577 216615 216662 216680 216697 216703 216705 216706 216712 216736 216746 216760 216762 216770 216817 216833 216840 216876 216884 216931 216949 216952 216953 216954 216955 216956 216991 217002 217020 217022 217024 217048 217052 217056 217068 217082 217083 217090 217119 217156 217176 217226 217242 217250 217310 217359 217373 217382 217384 217396 217461 217468 217484 217490 217502 217511 217515 217525 217529 217532 217540 217576 217585 217652 217682 217690 217704 217770 217772 217778 217781 217842 217843 217848 217957 217967 217977 218032 218043 218093 218111 218142 218144 218146 218150 218158 218159 218171 218182 218184 218185 218187 218223 218225 218227 218229 218234 218265 218318 218347 218349 218352 218403 218407 218448 218451 218481 218497 218504 218506 218530 218533 218534 218535 218539 218544 218564 218581 218582 218584 218621 218625 218633 218640 218650 218688 218694 218708 218713 218739 218773 218786 218788 218798 218844 218926 218938 218975 218986 218989 219010 219060 219069 219080 219116 219164 219167 219233 219257 219268 219300 219310 219365 219370 219371 219419 219433 219452 219461 219472 219474 219479 219484 219488 219510 219519 219520 219521 219525 219555 219557 219579 219581 219608 219693 219697 219721 219726 219747 219780 219782 219789 219792 219804 219806 219807 219839 219864 219874 219918 219921 219940 219947 220049 220055 220083 220101 220104 220159 220167 220168 220181 220248 220264 220265 220298 220300 220304 220347 220350 220362 220406 220413 220416 220422 220485 220528 220554 220563 220567 220568 220590 220780 220783 220822 220837 220839 220883 220897 221124 221125 221127 221128 221131 221134 221137 221141 236490 236492 236493 236494 236498 236499 236500 236501 236502 236506 236510 236511 236513 236514 236515 236516 236520 236521 236522 236523 236524 236525 236529 236530 236531 236533 236535 236536 236558 236559 236560 236586 242192 242194 242208 242210 242234 242275 242303 242391 242392 242405 242417 242434 242466 242469 242553 242554 242555 242556 242557 242565 242617 242643 242711 242738 242853 242957 242965 242982 242983 242984 242985 242987 242988 242989 242990 242991 243021 243035 243036 243037 243039 243040 243041 243043 243044 243045 243046 243303 243328 243419 243459 243460 243518 243546 243551 243559 243565 243566 243568 243574 243575 243587 243592 243595 243599 243600 243601 243607 243612 243614 243618 243620 243626 243628 243641 243646 243648 243650 243667 243670 243687 243690 243691 243693 243702 243713 243720 243723 243725 243727 243731 243751 243766 243769 243776 243793 243795 243806 243808 243811 243823 243835 243839 243842 243851 243858 243860 243870 243881 243906 243928 243958 243963 243965 243972 243973 243976 243982 243992 243993 244019 244033 244036 244037 244053 244054 244057 244061 244062 244068 244072 244087 244101 244111 244115 244119 244142 244172 244190 244210 244218 244244 244246 244252 244324 244330 244333 244338 244342 244420 244424 244425 244426 244435 244450 244479 244498 244507 244508 244509 244517 244525 244528 244540 244579 244582 244615 244628 244635 244648 244672 244685 244686 244692 244699 244713 244714 244730 244739 244740 244756 244781 244795 244849 244895 244912 244920 244922 244945 244953 244972 244987 244988 244989 245005 245068 245093 245109 245119 245120 245148 245163 245199 245252 245268 245297 245301 245324 245354 245355 245361 245365 245367 245370 245371 245382 245389 245405 245421 245425 245460 245467 245470 245476 245495 245501 245507 245541 245552 245557 245587 245603 245619 245636 245649 245660 245662 245664 245665 245668 245680 245686 245712 245726 245749 245758 245772 245781 245783 245800 245807 245831 245835 245843 245845 245851 245854 245871 245875 245876 245885 245886 245887 245891 245900 245921 245939 245959 245961 246044 246071 246081 246089 246105 246106 246110 246118 246120 246144 246182 246191 246198 246205 246215 246269 246273 246305 246314 246319 246321 246343 246354 246399 246404 246428 246432 246447 246449 246454 246457 246466 246473 246478 246486 246490 246504 246525 246541 246556 246576 246588 246592 246597 246657 246668 246681 246694 246703 246714 246743 246766 246768 246769 246786 246808 246826 246867 246868 246870 246871 246873 246875 246876 246899 246932 246950 246951 246957 246976 246982 246988 246998 247001 247007 247027 247077 247095 247104 247109 247111 247123 247124 247182 247183 247212 247213 247226 247248 247252 247287 247306 247309 247320 247342 247389 247398 247399 247403 247496 247502 247623 247624 247634 247666 247689 247728 247735 247771 247774 247796 247844 247861 247876 247887 247905 247934 247958 247969 248007 248039 248070 248098 248129 248131 248133 248136 248140 248161 248169 248175 248180 248254 248266 248270 248286 248294 248308 248336 248351 248419 248428 248441 248446 248450 248497 248537 248554 248561 248575 248579 248585 248587 248596 248604 248606 248641 248648 248657 248685 248699 248722 248733 248742 248783 248805 248813 248846 248847 248859 248868 248927 248958 248960 249017 249029 249042 249049 249057 249069 249073 249083 249131 249141 249187 249196 249197 249219 249229 249258 249363 249367 249369 249377 249380 249403 249404 249468 249484 249499 249501 249504 249508 249511 249519 249522 249526 249564 249586 249615 249692 249713 249736 249742 249747 249759 249785 249791 249801 249806 249854 249860 249863 249870 249880 249888 249896 249898 249911 249920 249946 249947 249951 249989 249992 250005 250015 250029 250036 250042 250045 250050 250060 250076 250080 250120 250135 250139 250152 250153 250181 250182 250183 250184 250185 250188 250221 250225 250227 250239 250241 250245 250261 250267 250272 250273 250334 250345 250347 250348 250353 250373 250399 250400 250404 250408 250414 250416 250417 250420 250433 250437 250445 250455 250457 250462 250494 250501 250528 250530 250555 250557 250564 250576 250581 250586 250604 250606 250620 250628 250630 250634 250706 250753 250759 250763 250776 250778 250783 250805 250820 250821 250823 250831 250842 250850 250852 250854 250863 250870 250872 250895 250908 250909 250935 250939 250941 250944 250949 250960 251006 251051 251054 251058 251074 251095 251098 251107 251110 251113 251116 251134 251136 251138 251140 251144 251147 251157 251211 251217 251220 251224 251226 251245 251246 251274 251314 251331 251333 251337 251339 251346 251400 251403 251434 251445 251447 251487 251495 251501 251514 251520 251533 251559 251564 251576 251594 251622 251624 251634 251656 251677 251678 251688 251694 251712 251717 251752 251775 251796 251807 251815 251820 251829 251842 251847 251851 251853 251860 251868 251870 251879 251880 251894 251912 251913 251923 251925 251930 251931 251933 251937 251938 251950 251979 251982 251983 251990 251995 252001 252002 252023 252024 252032 252035 252080 252118 252122 252125 252132 252152 252155 252179 252184 252186 252194 252196 252200 252207 252212 252214 252230 252238 252263 252265 252270 252272 252274 252276 252310 252313 252323 252332 252334 252361 252377 252409 252444 252524 252527 252528 252545 252572 252573 252583 252609 252642 252648 252667 252678 252684 252687 252697 252707 252744 252759 252761 252776 252778 252783 252785 252794 252799 252800 252801 252807 252816 252828 252830 252832 252837 252877 252901 252912 252942 252943 252961 252982 252988 252990 253005 253023 253040 253041 253043 253045 253046 253050 253076 253077 253097 253107 253141 253144 253162 253164 253166 253169 253186 253187 253200 253201 253203 253228 253238 253239 253270 253320 253326 253336 253344 253373 253375 253377 253379 253384 253389 253421 253426 253457 253460 253464 253466 253469 253470 253471 253486 253495 253506 253518 253563 253569 253580 253596 253625 253633 253645 253663 253669 253690 253697 253714 253727 253729 253753 253759 253778 253781 253828 253830 253842 253843 253863 253876 253906 253916 253927 253930 253932 253942 253949 253965 253970 253972 253986 254010 254035 254112 254119 254123 254125 254148 254158 254159 254165 254176 254189 254191 254196 254200 254201 254221 254230 254231 254232 254235 254237 254246 254251 254260 254269 254321 254322 254324 254326 254328 254341 254343 254349 254369 254370 254378 254382 254394 254410 254427 254432 254445 254502 254547 254562 254580 254589 254610 254613 254616 254640 254644 254648 254653 254655 254662 254684 254686 254700 254711 254714 254720 254744 254759 254780 254781 254788 254792 254803 254807 254837 254885 254891 254917 254928 254971 254979 254980 254981 254984 255001 255002 255009 255025 255029 255034 255075 255080 255082 255116 255126 255128 255140 255150 255156 255161 255194 255218 255252 255262 255305 255314 255320 255325 255420 255423 255438 255499 255535 255554 255558 255567 255587 255617 255618 255632 255652 255665 255667 255669 255672 255689 255732 255767 255808 255811 255813 255815 255818 255842 255858 255859 255861 255865 255873 255930 255938 255961 255998 256004 256015 256018 256020 256022 256024 256026 256046 256056 256063 256073 256079 256083 256085 256086 256102 256103 256204 256211 256214 256233 256236 256237 256252 256264 256268 256291 256292 256297 256312 256335 256369 256371 256377 256382 256408 256421 256467 256485 256489 256492 256540 256552 256555 256563 256570 256574 256591 256596 256606 256616 256674 256683 256697 256701 256722 256765 256770 256773 256787 256795 256813 256819 256829 256861 256874 256926 256981 256987 256998 257003 257018 257054 257069 257071 257074 257075 257077 257095 257097 257110 257124 257137 257140 257149 257151 257158 257217 257235 257253 257272 257275 257282 257286 257291 257292 257297 257307 257319 257322 257324 257383 257422 257423 257490 257495 257504 257524 257535 257541 257544 257547 257557 257567 257571 257572 257630 257633 257634 257641 257652 257658 257660 257676 257679 257694 257713 257729 257734 257736 257760 257766 257770 257773 257793 257797 257802 257816 257821 257853 257855 257862 257866 258017 258018 258036 258037 258050 258069 258079 258101 258110 258174 258175 258203 258218 258247 258275 258286 258331 258333 258344 258357 258380 258432 258439 258441 258442 258470 258471 258478 258479 258489 258495 258496 258519 258541 258545 258546 258548 258606 258608 258630 258631 258646 258654 258661 258662 258665 258667 258673 258726 258728 258731 258733 258749 258752 258763 258789 258817 258823 258831 258846 258848 258855 258869 258870 258871 258875 258883 258884 258892 258895 258910 258911 258920 258930 258932 258933 258944 258959 258961 258967 258970 259004 259007 259029 259034 259037 259038 259051 259061 259073 259075 259079 259080 259155 259168 259190 259194 259214 259217 259229 259241 259249 259252 259271 259275 259277 259282 259309 259319 259344 259367 259399 259416 259419 259430 259442 259447 259452 259475 259477 259478 259479 259481 259508 259525 259537 259540 259581 259611 259628 259633 259634 259637 259686 259717 259908 260034 262964 262968 266431 278630 279074 279218 279226 279238 280031 280726 280838 280849 281019 281031 281255 281345 281549 281573 281581 281722 281736 281743 282042 282056 282057 282084 282109 282266 282267 282318 282319 282364 282397 282400 282552 282553 282554 282566 282587 282604 282605 282625 282641 282651 282682 282840 282916 282919 282939 283048 283073 283134 283158 283198 283235 283240 283252 283325 283331 283336 283338 283344 283349 283356 283383 283386 283432 283436 283470 283477 283492 283537 283577 283592 283598 283624 283630 283689 283705 283706 283709 283722 283727 283751 283757 283775 283779 283783 283786 283792 283827 283842 283867 283875 283878 283886 283919 283920 283949 283960 283987 283988 283989 283990 284005 284025 284074 284080 284081 284107 284112 284119 284151 284162 284187 284197 284198 284227 284305 284308 284317 284320 284355 284367 284454 284480 284495 284530 284547 284555 284587 284589 284601 284602 284605 284620 284642 284647 284655 284658 284694 284697 284707 284725 284726 284753 284774 284809 284868 284877 284903 284904 284927 284930 284937 284965 284968 285000 285013 285094 285104 285142 285190 285204 285218 285242 285243 285245 285266 285276 285368 285404 285409 285412 285416 285417 285460 285463 285487 285488 285499 285503 285508 285526 285555 285558 285599 285605 285606 285618 285643 285652 285691 285748 285760 285761 285772 285813 285825 285830 285848 285862 285879 285890 285893 285913 285956 285966 285968 285969 285973 285979 286022 286028 286064 286138 286158 286172 286174 286249 286253 286256 286257 286289 286330 286382 286385 286398 286406 286428 286448 286459 286487 286515 286539 286576 286590 286602 286603 286610 286618 286648 286680 286713 286720 286741 286749 286762 286767 286772 286792 286840 286856 286860 286862 286863 286870 286878 286879 286914 286943 286958 286961 286983 286995 286999 287023 287024 287050 287058 287080 287100 287101 287116 287125 287137 287165 287167 287170 287186 287197 287210 287221 287225 287265 287275 287312 287315 287317 287334 287337 287348 287351 287352 287377 287428 287448 287475 287482 287499 287519 287531 287549 287592 287593 287638 287645 287653 287666 287682 287683 287719 287750 287768 287779 287808 287809 287825 287829 287848 287850 287871 287872 287873 287875 287920 287935 287982 287990 288011 288106 288122 288148 288194 288250 288263 288290 288330 288331 288338 288339 288397 288406 288422 288450 288472 288483 288587 288589 288590 288613 288626 288642 288672 288783 288784 288811 288875 288876 288877 288878 288880 288881 288912 288922 288924 288966 288968 288972 289012 289018 289061 289071 289091 289121 289130 289132 289142 289153 289174 289182 289204 289213 289228 289230 289235 289279 289321 289325 289352 289372 289403 289408 289417 289429 289442 289483 289496 289498 289499 289503 289507 289513 289565 289575 289579 289606 289621 289630 289632 289647 289685 289707 289739 289788 289793 289794 289799 289805 289828 289848 289863 289884 289932 289979 289982 289986 290022 290024 290043 290065 290067 290068 290076 290078 290125 290136 290137 290149 290178 290192 290221 290224 290239 290244 290255 290266 290283 290312 290314 290316 290320 290333 290370 290378 290414 290422 290426 290427 290487 290489 290522 290523 290524 290559 290578 290586 290593 290622 290662 290695 290698 290716 290730 290741 290749 290754 290756 290758 290761 290772 290787 290852 290853 290864 290867 290875 290876 290877 290887 290914 290923 290927 290928 290930 290933 290945 290965 290968 291006 291020 291053 291059 291062 291083 291086 291106 291117 291118 291119 291120 291122 291123 291135 291139 291140 291147 291148 291153 291160 291165 291170 291181 291183 291188 291196 291202 291256 291261 291265 291299 291339 291358 291371 291390 291393 291406 291443 291452 291464 291474 291481 291540 291545 291573 291575 291586 291588 291590 291598 291602 291615 291621 291627 291637 291642 291665 291667 291671 291677 291697 291707 291737 291742 291749 291751 291775 291784 291786 291794 291811 291825 291853 291857 291860 291890 291891 291901 291903 291908 291914 291920 291929 291948 291981 291988 292005 292015 292020 292023 292030 292035 292053 292115 292128 292133 292142 292144 292147 292148 292161 292179 292186 292198 292204 292217 292221 292324 292331 292369 292372 292378 292381 292386 292401 292448 292452 292473 292484 292502 292510 292523 292524 292530 292569 292579 292590 292592 292629 292640 292655 292674 292683 292687 292688 292753 292777 292779 292792 292799 292863 292886 292931 292934 292947 292960 292970 292977 292984 292988 292991 292998 293012 293021 293060 293101 293116 293121 293134 293140 293161 293202 293205 293207 293226 293237 293252 293265 293273 293277 293289 293304 293328 293330 293342 293344 293359 293364 293388 293405 293410 293416 293441 293442 293455 293460 293481 293488 293494 293512 293513 293529 293547 293561 293564 293584 293589 293624 293650 293652 293655 293686 293694 293697 293701 293708 293724 293742 293743 293758 293760 293775 293819 293838 293853 293861 293866 293868 293870 293871 293930 293962 293969 293970 294024 294028 294031 294041 294082 294088 294096 294105 294107 294121 294126 294129 294154 294156 294158 294169 294172 294192 294209 294241 294268 294276 294292 294295 294328 294344 294348 294361 294369 294447 294463 294509 294552 294567 294671 294681 294718 294726 294742 294744 294753 294776 294789 294800 294827 294847 294863 294869 294917 294934 294993 295009 295019 295022 295027 295040 295080 295082 295166 295187 295189 295224 295226 295234 295237 295247 295274 295277 295291 295317 295329 295334 295336 295341 295342 295345 295347 295352 295398 295401 295415 295420 295425 295432 295476 295494 295508 295520 295531 295532 295538 295575 295664 295708 295734 295748 295777 295781 295812 295861 295879 295880 295885 295892 295893 295894 295895 295921 295924 295934 295967 295985 296006 296012 296032 296048 296072 296086 296089 296123 296153 296154 296219 296236 296250 296259 296263 296277 296279 296303 296346 296372 296375 296376 296423 296459 296468 296477 296514 296517 296524 296554 296580 296581 296594 296598 296603 296609 296611 296613 296619 296644 296648 296649 296664 296666 296668 296688 296691 296709 296711 296735 296739 296754 296755 296756 296760 296765 296773 296776 296779 296780 296790 296807 296813 296814 296833 296845 296853 296855 296861 296863 296871 296924 296927 296936 296941 296949 296977 297022 297024 297032 297033 297036 297037 297038 297039 297062 297065 297080 297103 297116 297119 297124 297142 297213 297223 297226 297241 297250 297287 297294 297299 297323 297326 297329 297331 297333 297339 297349 297351 297397 297418 297427 297429 297434 297439 297468 297475 297478 297498 297504 297505 297513 297523 297529 297533 297535 297547 297597 297598 297599 297607 297614 297616 297668 297670 297671 297673 297674 297676 297681 297706 297709 297735 297741 297747 297765 297817 297821 297854 297858 297882 297893 297930 297951 297955 297978 297981 297984 298022 298029 298036 298073 298077 298091 298094 298121 298180 298190 298198 298211 298216 298218 298221 298292 298296 298297 298306 298321 298340 298370 298378 298427 298455 298461 298468 298487 298518 298537 298538 298641 298692 298697 298709 298760 298776 298798 298801 298802 298818 298822 298829 298849 298865 298866 298878 298888 298908 298915 298917 298920 298948 298960 298973 298986 298987 298997 298998 299042 299048 299070 299077 299079 299081 299095 299119 299128 299136 299142 299146 299151 299173 299186 299197 299205 299209 299212 299241 299245 299247 299250 299296 299312 299326 299341 299348 299372 299382 299387 299393 299409 299422 299424 299428 299429 299456 299461 299462 299466 299490 299492 299505 299508 299544 299555 299583 299599 299605 299613 299617 299626 299634 299636 299649 299668 299673 299682 299728 299732 299733 299746 299750 299802 299809 299811 299856 299863 299873 299875 299890 299908 299911 299913 299916 299980 299988 299994 299996 300052 300061 300073 300086 300108 300115 300134 300136 300140 300172 300217 300229 300241 300252 300260 300265 300283 300285 300290 300324 300338 300369 300372 300423 300483 300500 300518 300530 300533 300548 300554 300558 300562 300567 300570 300596 300605 300683 300688 300689 300717 300725 300729 300759 300778 300783 300785 300791 300804 300807 300821 300824 300835 300839 300895 300914 301278 301340 301450 301458 301462 301465 301496 301503 301504 301505 301508 301512 301513 301515 301519 301521 301679 301684 301685 301686 301687 301689 301691 301696 301697 301698 301699 301703 301709 301710 301711 301713 301714 301715 301716 301731 301732 301734 301736 301747 301748 301758 301759 301760 301767 301768 301773 301777 301783 301784 301785 301786 301789 301790 301791 301794 301801 301805 301810 301811 301812 301835 301842 301843 301844 301845 301846 301847 301848 301849 301850 301852 301854 301865 301866 301973 301983 301984 301986 301987 301991 301997 302013 302036 302043 302047 302050 302052 302058 302070 302071 302072 302073 302074 302075 302077 302078 302079 302080 302081 302235 302236 302237 302240 302242 302243 302291 304017 304052 304073 304166 304167 304171 304175 304176 304180 304190 304191 304206 304823 304829 304830 304836 304844 304847 304866 304868 304869 304870 304871 304877 304925 305047 305048 305050 305051 305052 305055 305057 305058 305059 305060 305061 305066 305192 305290 305641 306166 306264 306370 306371 306438 306604 307070 307071 307073 307206 308354 308450 308550 308698 308699 308700 308762 308839 308975 309131 309141 309234 309259 309281 309311 309601 309847 309977 310094 310150 310181 310223 310330 310393 310394 310665 310666 310667 310672 310674 310677 310678 310679 310686 310688 310691 310692 310699 310701 310703 310713 310716 310717 310718 310720 310721 310723 310724 310727 310732 310740 310743 310744 310747 310750 310751 310753 310756 310757 310760 310761 310765 310766 310767 310768 310769 310770 310782 310784 310785 310792 310813 310814 310820 310837 310839 310840 310841 310842 310845 310848 310849 310856 310867 310961 310962 310969 310970 310971 310973 310978 310983 310984 310986 310993 311028 311032 311035 311038 311040 311043 311044 311084 311092 311098 311109 311444 311446 311447 311448 311456 311457 311461 311462 311463 311465 311478 311486 311487 311490 311493 311495 311509 311511 311513 311514 311521 311526 311534 311540 311546 311548 311549 311550 311559 311561 311565 311568 311573 311580 311581 311584 311585 311587 311589 311591 311594 311595 311597 311598 311602 311614 311619 311624 311638 311643 311644 311645 311649 311650 311651 311654 311655 311656 311657 311660 311662 311664 311665 311666 311667 311668 311680 311699 311705 311706 311707 311716 311724 311727 311729 311737 311742 311746 311747 311749 311755 311757 311758 311760 311763 311764 311765 311773 311775 311786 311787 311788 311800 311810 311815 311822 311823 311824 311826 311830 311832 311833 311835 311841 311845 311850 311851 311853 311862 311870 311871 311874 311875 311877 311878 311879 311881 311882 311888 311892 311900 311901 311905 311906 311907 311908 311926 311927 311930 311934 311935 311936 311937 311938 311939 311944 311945 311946 311949 311951 311957 311959 311963 311965 311967 311973 311974 311975 311976 311979 311988 311989 311993 311994 311995 311998 312013 312014 312016 312023 312026 312030 312031 312032 312036 312037 312038 312039 312044 312045 312047 312052 312053 312054 312066 312067 312073 312078 312080 312089 312092 312093 312096 312102 312103 312107 312108 312111 312113 312114 312115 312117 312118 312132 312136 312137 312138 312143 312144 312157 312162 312173 312178 312182 312183 312195 312203 312207 312210 312213 312222 312224 312228 312229 312235 312242 312244 312246 312251 312252 312253 312259 312260 312266 312268 312274 312283 312287 312288 312291 312292 312293 312294 312296 312300 312303 312307 312308 312309 312315 312322 312324 312333 312334 312339 312345 312347 312349 312353 312354 312356 312359 312360 312361 312363 312366 312371 312378 312380 312381 312383 312384 312398 312399 312400 312401 312402 312412 312439 312443 312448 312452 312455 312458 312527 312558 312585 312586 312587 312588 312589 312590 312593 312594 312595 312596 312597 312598 312599 312600 312603 312606 312607 312612 312618 312619 312620 312621 312622 312624 312627 312629 312631 312634 312635 312636 312638 312639 312655 312658 312743 312745 312753 312756 312759 312768 312770 312771 312772 312776 312778 312779 312783 312811 312812 312814 312818 312820 312871 312878 312905 312909 312948 312957 313025 313028 313039 313041 313062 313075 313106 313107 313108 313156 313238 313239 313244 313262 313266 313267 313273 313277 313278 313282 313286 313288 313289 313292 313293 313296 313298 313303 313305 313306 313316 313320 313323 313324 313326 313328 313330 313331 313332 313334 313338 313341 313342 313344 313348 313349 313351 313355 313356 313357 313363 313369 313373 313374 313375 313376 313377 313379 313380 313385 313387 313388 313395 313397 313398 313399 313400 313401 313405 313406 313409 313410 313412 313414 313415 313416 313418 313425 313430 313445 313455 313457 313461 313462 313463 313467 313469 313479 313481 313518 313529 313530 313532 313538 313543 313544 313546 313560 313578 313581 313616 313621 313666 313667 313676 313986 314009 314484 314490 314491 314494 314505 314535 314539 314544 314546 314547 314548 314555 314563 314572 314580 314597 314599 314604 314605 314606 314607 314610 314618 314619 314681 314683 314693 314765 338204 338223 338254 338271 347532 348035 348037 348038 348039 348040 348041 351225 353700 353762 354641 356365 357126 357131 358321 358334 358603 358604 358607 358608 358610 358611 358736 358780 359091 359163 359168 359180 359935 359940 360493 360506 360722 361275 368582 368589 368596 368602 368603 368604 368615 368616 368641 368651 368674 368703 368707 368709 368720 368725 368727 368728 368737 368783 368786 368798 368800 368801 368815 368836 368842 368845 368889 368890 368900 368923 368953 368997 369010 369025 369034 369045 369046 369052 369058 369072 369078 369079 369080 369081 369102 369105 369106 369108 369180 369209 369220 369225 369247 369248 369251 369264 369286 369289 369297 369303 369304 369310 369313 369316 369317 369318 369324 369330 369334 369341 369355 369356 369360 369496 369497 369500 369513 369514 369515 369516 369518 369527 369587 369599 369613 369626 369630 369637 369640 369690 369694 369704 369706 369713 369718 369724 369773 369777 369778 369789 369791 369795 369797 369804 369827 369836 369844 369855 369859 369880 369881 369893 369902 369907 369911 369921 369945 369951 369965 369967 369969 369993 369998 370001 370012 370014 370024 370028 370037 370038 370048 370058 370059 370061 370072 370073 370074 370075 370080 370084 370096 370097 370105 370107 370114 370121 370124 370125 370126 370137 370142 370153 370177 370184 370187 370188 370197 370236 370237 370238 370240 376159 376165 376176 376178 376180 376182 376183 376208 376272 376277 376285 376291 376332 376333 376433 376434 376435 376436 376515 376539 376540 376541 376560 376561 376562 376563 376564 376570 376571 376579 376599 376622 376623 376641 376643 376659 376717 376805 376853 376854 376908 376929 376938 376954 376961 376967 376980 377006 377018 377021 377027 377032 377034 377041 377042 377044 377047 377056 377057 377068 377074 377076 377091 377109 377136 377144 377148 377149 377151 377166 377170 377180 377215 377217 377223 377253 377274 377278 377290 377293 377299 377309 377338 377346 377355 377359 377360 377362 377397 377406 377410 377461 377471 377504 377505 377535 377543 377552 377553 377562 377584 377585 377587 377593 377594 377595 377610 377612 377617 377618 377629 377632 377633 377637 377646 377656 377660 377707 377723 377729 377744 377747 377771 377800 377805 377819 377850 377858 377897 377899 377902 377903 377904 377914 377916 377924 377946 377952 377954 377961 377963 377993 378002 378010 378017 378019 378048 378053 378058 378061 378062 378067 378073 378085 378089 378101 378112 378114 378121 378126 378132 378149 378154 378159 378175 378181 378212 378234 378239 378240 378246 378248 378252 378279 378293 378298 378310 378342 378355 378356 378357 378365 378366 378389 378448 378460 378478 378502 378503 378512 378516 378533 378543 378546 378551 378572 378573 378579 378586 378587 378589 378591 378629 378646 378653 378655 378657 378659 378664 378665 378700 378713 378714 378728 378730 378735 378766 378781 378796 378811 378866 378891 378910 378911 378961 378964 378967 378989 379042 379049 379050 379061 379073 379074 379093 379099 379123 379134 379135 379138 379142 379191 379193 379198 379214 379240 379275 379282 379283 379303 379310 379313 379339 379340 379341 379346 379357 379364 379367 379371 379373 379375 379378 379382 379422 379435 379449 379459 379465 379472 379474 379476 379490 379506 379507 379523 379526 379528 379535 379557 379571 379580 379618 379632 379634 379646 379660 379664 379674 379685 379692 379701 379710 379712 379716 379719 379746 379752 379760 379761 379816 379825 379827 379832 379844 379845 379862 379865 379876 379878 379885 379886 379900 379918 379935 379980 380001 380002 380012 380026 380028 380029 380032 380033 380051 380056 380088 380091 380092 380093 380098 380125 380141 380146 380153 380162 380166 380168 380171 380190 380201 380202 380221 380222 380223 380226 380236 380241 380245 380248 380258 380272 380296 380297 380301 380315 380362 380411 380427 380443 380478 380479 380489 380491 380496 380501 380509 380510 380526 380541 380568 380593 380595 380603 380605 380610 380612 380632 380647 380678 380682 380684 380693 380728 380747 380755 380757 380760 380776 380800 380802 380804 380847 380866 380871 380882 380918 380919 380924 380931 380947 380962 380964 380966 380968 380999 381010 381018 381045 381079 381107 381108 381109 381110 381146 381157 381163 381193 381211 381233 381251 381258 381279 381282 381321 381323 381335 381338 381366 381367 381368 381385 381409 381411 381451 381459 381485 381501 381552 381562 381565 381569 381573 381575 381579 381600 381609 381626 381635 381656 381663 381666 381674 381678 381687 381695 381728 381782 381810 381874 381887 381902 381903 381912 381917 381929 381930 381935 381940 381943 381945 381959 381986 381989 381992 382010 382011 382014 382017 382018 382046 382056 382064 382066 382069 382071 382076 382083 382098 382111 382144 382187 382196 382198 382243 382244 382246 382249 382261 382264 382265 382267 382270 382273 382282 382289 382336 382347 382351 382365 382369 382389 382392 382411 382479 382501 382506 382514 382528 382529 382543 382545 382562 382569 382610 382612 382622 382631 382652 382702 382709 382746 382749 382761 382767 382768 382839 382870 382913 382936 382944 382995 383017 383045 383077 383080 383082 383122 383124 383129 383134 383146 383150 383156 383161 383165 383179 383181 383195 383215 383216 383221 383224 383227 383237 383242 383269 383282 383310 383321 383323 383327 383389 383401 383436 383455 383480 383489 383507 383550 383551 383562 383579 383623 383644 383668 383676 383677 383689 383706 383736 383737 383754 383757 383779 383824 383845 383867 383949 383953 383958 383972 383973 383977 383978 383989 383992 384027 384032 384040 384072 384073 384074 384082 384142 384150 384151 384152 384156 384176 384181 384189 384197 384289 384326 384327 384329 384358 384381 384400 384412 384414 384416 384417 384464 384474 384476 384477 384479 384502 384517 384523 384570 384593 384601 384613 384633 384640 384641 384644 384648 384687 384698 384701 384703 384705 384721 384730 384736 384752 384763 384764 384768 384780 384782 384807 384826 384831 384838 384840 384841 384842 384853 384865 384886 384928 384930 384935 384949 384954 384962 384963 384971 384973 384979 384997 385009 385010 385036 385042 385049 385052 385053 385064 385096 385110 385112 385131 385139 385142 385162 385242 385252 385258 385294 385333 385444 385463 385469 385481 385486 385493 385497 385499 385514 385520 385569 385575 385588 385590 385592 385603 385606 385649 385654 385719 385723 385745 385748 385752 385766 385770 385825 385868 385884 385910 385927 385933 385934 385936 385939 385949 385964 385971 385988 386000 386015 386017 386022 386040 386048 386136 386137 386138 386162 386168 386171 386172 386212 386231 386252 386262 386280 386290 386311 386312 386319 386322 386355 386389 386402 386470 386473 386481 386482 386524 386529 386530 386556 386560 386565 386581 386595 386602 386614 386636 386699 386707 386737 386739 386744 386762 386765 386771 386799 386802 386807 386830 386847 386898 386921 386926 386977 386980 386983 387011 387019 387030 387041 387068 387074 387080 387084 387099 387104 387124 387127 387130 387146 387237 387264 387313 387346 387358 387372 387382 387390 387401 387407 387444 387458 387487 387527 387534 387542 387577 387580 387583 387600 387656 387658 387673 387678 387687 387790 387800 387814 387822 387864 387870 387919 387962 387978 387984 387990 388001 388008 388009 388011 388013 388014 388038 388055 388058 388119 388124 388125 388131 388147 388148 388154 388155 388176 388193 388204 388210 388213 388218 388241 388246 388250 388257 388278 388299 388307 388326 388335 388374 388389 388398 388411 388418 388419 388435 388437 388444 388446 388454 388521 388533 388545 388556 388558 388561 388564 388569 388570 388571 388580 388582 388585 388623 388624 388629 388638 388658 388673 388675 388730 388742 388745 388764 388789 388808 388809 388824 388842 388851 388860 388874 388886 388892 388904 388911 388924 388938 388940 388970 388987 388991 389003 389006 389009 389031 389036 389048 389061 389071 389073 389114 389164 389168 389174 389176 389180 389191 389204 389213 389241 389248 389311 389317 389319 389320 389325 389338 389372 389397 389402 389406 389426 389460 389471 389499 389503 389532 389535 389545 389551 389555 389585 389637 389639 389661 389665 389670 389679 389725 389726 389744 389747 389749 389750 389766 389811 389815 389824 389847 389877 389886 389889 389908 389911 389912 389914 389916 389918 389925 389931 389995 390015 390037 390071 390079 390083 390087 390102 390109 390113 390126 390137 390151 390154 390164 390173 390217 390246 390247 390254 390257 390277 390322 390339 390347 390360 390396 390416 390418 390423 390425 390431 390447 390453 390472 390479 390499 390501 390526 390531 390575 390591 390593 390598 390638 390641 390662 390673 390681 390687 390690 390739 390759 390769 390793 390803 390813 390815 390821 390856 390876 390904 390930 390932 390941 390960 390989 391016 391058 391093 391129 391131 391139 391142 391146 391149 391157 391188 391194 391208 391241 391243 391247 391249 391255 391309 391318 391343 391360 391363 391369 391385 391387 391390 391393 391397 391398 391406 391411 391444 391468 391470 391474 391477 391478 391483 391485 391518 391520 391524 391551 391607 391612 391626 391627 391638 391661 391662 391663 391681 391690 391692 391725 391751 391752 391754 391758 391764 391783 391801 391844 391845 392213 392939 392959 392999 393002 393022 393074 427627 427661 432617 432618 432619 432623 432630 432632 432633 432637 432638 432639 432644 432645 432646 432647 432648 432650 432651 432652 432653 432654 432659 432660 432662 439979 439997 440006 440447 440448 440449 440450 440451 440452 440471 440644 443074 443080 443359 443445 443446 443448 443452 443453 443454 443460 443463 443464 443467 443469 443470 443473 443490 443502 443503 443510 443513 443515 443516 443519 443521 443526 443530 443535 443537 443542 443546 443557 443560 443562 443563 443564 443579 443580 443583 443584 443591 443592 443616 443619 443621 443623 443624 443625 443630 443631 443632 443633 443634 443635 443636 443637 443639 443640 443641 443643 443644 443669 443670 443672 443674 443675 443676 443677 443678 443681 443682 443683 443694 443695 443697 443698 443700 443701 443702 443703 443705 443707 443710 443715 443716 443718 443719 443720 443721 443722 443723 443724 443725 443726 443727 443729 443730 443732 443735 443736 443737 443738 443739 443740 443741 443742 443743 443744 443746 443747 443749 443754 443755 443763 443764 443773 443774 443781 443782 443783 443784 443785 443786 443788 443789 443792 443793 443794 443795 443796 443803 443804 443805 443814 443815 443819 443821 443822 443824 443826 443828 443838 443856 443857 443862 443873 443875 443876 443877 443878 443879 443880 443881 443884 443886 443891 443892 443893 443894 443895 443896 443897 443898 443900 443902 443903 443905 443906 443907 443909 443910 443914 443916 443917 443918 443919 443920 443921 443922 443923 443924 443925 443928 443929 443930 443931 443933 443934 443935 443936 443937 443938 443939 443943 443944 443945 443948 443949 443956 443968 443969 443971 443973 443974 443975 444605 444629 444630 444632 450101 450131 450226 450238 457524 473780 475316 475335 475338 475340 475349 475352 475354 475357 475463 483196 483198 483199 483245 483249 483254 483258 486309 486310 486311 486433 486483 486488 486491 486578 486581 486645 486682 486684 486685 486688 486689 486695 486697 486707 486729 486746 486749 486762 486773 486780 486835 486843 486915 486949 486950 486951 486952 486953 486954 486982 486983 486988 486989 486991 487013 487014 487015 487019 487026 487031 487045 487054 487066 487102 487171 487172 487174 487244 487247 487249 487261 487322 487408 487410 487459 487501 487502 487534 487535 487553 487607 487636 487637 487648 487651 487652 487675 487695 487716 487751 487772 487785 487888 487919 491320 520444 520445 520460 520461 520471 520524 520921 520986 521886 521889 521959 522084 522086 522090 522091 522270 522292 522299 522300 522326 524513 524533 524534 524596 524626 524627 524628 524639 524685 524733 524734 524775 524776 524815 524816 524823 524889 524890 524890 524891 524891 524892 524892 524893 524893 524914 524926 524932 524933 524935 524938 524940 524941 524942 524947 524963 524964 524965 524967 524973 524992 524994 524995 524998 524999 525000 525036 525037 525039 525080 525160 525172 525186 525216 525217 525222 525234 525255 525278 525289 525300 525309 525320 525325 525337 525342 525349 525352 525390 525405 525410 525411 525416 525439 525440 525470 525471 525481 525489 525494 525522 525529 525543 525560 525563 525569 525587 525596 525597 525614 525622 525628 525635 525663 525666 525695 525698 525728 525733 525734 525773 525815 525838 525839 525840 525841 525842 525856 525863 525866 525882 525895 525900 525908 525913 525933 525943 525996 526003 526020 526022 526024 526025 526026 526027 526035 526038 526076 526091 526098 526105 526110 526111 526114 526148 526151 526185 526211 526228 526260 526291 526304 526308 526309 526313 526331 526336 526339 526374 526383 526384 526385 526390 526409 526416 526476 526495 526497 526518 526537 526540 526541 526544 526552 526558 526592 526602 526607 526609 526618 526621 526627 526628 526646 526673 526674 526678 526684 526685 526692 526693 526700 526706 526724 526730 526746 526758 526761 526769 526817 526827 526828 526837 526839 526843 526850 526853 526870 526871 526873 526899 526902 526909 526985 526986 526994 526999 527026 527031 527032 527084 527086 527087 527093 527108 527118 527119 527130 527147 527165 527166 527179 527222 527242 527250 527260 527288 527339 527343 527356 527359 527368 527376 527387 527389 527401 527402 527442 527443 527447 527450 527475 527480 527482 527496 527520 527521 527531 527543 527555 527556 527577 527585 527587 527593 527600 527616 527623 527658 527667 527697 527721 527729 527745 527771 527778 527808 527839 527841 527845 527846 527851 527863 527866 527893 527903 527950 527954 527967 527975 527978 527979 527993 527994 527999 528008 528009 528034 528048 528049 528063 528068 528080 528094 528100 528133 528151 528154 528161 528175 528199 528200 528202 528206 528207 528219 528220 528232 528246 528249 528266 528328 528335 528370 528380 528444 528480 528524 528525 528529 528540 528542 528544 528550 528561 528620 528631 528632 528635 528638 528642 528649 528652 528662 528677 528682 528711 528768 528789 528807 528815 528829 528845 528846 528860 528874 528886 528914 528916 528940 528966 528972 529009 529012 529061 529065 529066 529074 529077 529082 529083 529085 529099 529119 529134 529137 529145 529155 529164 529166 529172 529173 529196 529207 529287 529291 529319 529321 529322 529330 529334 529338 529417 529419 529422 529510 529528 529535 529550 529556 529575 529580 529628 529649 529661 529708 529709 529733 529748 529755 529765 529768 529785 529796 529802 529827 529859 529863 529868 529889 529891 529894 529898 529904 529914 529920 529938 529964 529972 529975 529996 529997 529999 530008 530027 530031 530039 530079 530080 530093 530100 530125 530129 530134 530183 530193 530224 530268 530295 530313 530316 530319 530324 530331 530340 530377 530438 530441 530442 530463 530467 530478 530621 530650 530667 530678 530679 530680 530691 530698 530702 530709 530724 530772 530774 530776 530778 530779 530786 530801 530806 530815 530843 530857 530867 530873 530885 530903 530930 530935 530937 530967 530977 530979 530981 530993 530995 530997 530999 531002 531004 531041 531057 531081 531083 531137 531148 531166 531177 531201 531234 531248 531251 531254 531288 531296 531299 531318 531328 531370 531372 531375 531396 531400 531407 531415 531432 531434 531454 531478 531512 531588 531656 531663 531667 531694 531702 531703 531704 531712 531713 531730 531734 531740 531744 531746 531765 531832 531859 531861 531882 531909 531917 531925 531926 531959 531978 531984 531992 532005 532025 532028 532031 532059 532065 532098 532103 532109 532117 532119 532126 532128 532130 532188 532194 532207 532236 532254 532271 532310 532365 532371 532373 532374 532390 532408 532449 532459 532463 532488 532506 532508 532528 532539 532543 532547 532623 532635 532675 532681 532728 532828 532848 532903 532905 532908 532964 532975 532990 532996 533002 533083 533190 533198 533209 533265 533285 533323 533325 533339 533348 533352 533371 533445 533529 533539 533576 533600 533630 533642 533666 533668 533670 533688 533716 533729 533757 533780 533825 533867 533922 533925 533937 533989 533993 533999 534043 534064 534072 534076 534078 534100 534101 534104 534121 534137 534140 534143 534146 534151 534157 534164 534165 534187 534191 534192 534209 534221 534232 534257 534262 534281 534283 534285 534291 534295 534317 534341 534343 534369 534397 534434 534435 534451 534498 534507 534519 534522 534557 534575 534578 534585 534586 534590 534623 534628 534656 534659 534669 534675 534690 534692 534725 534727 534749 534759 534769 534794 534814 534820 534834 534845 534858 534883 534892 534910 534921 534939 534943 534951 534966 535023 535025 535058 535067 535093 535101 535160 535163 535169 535197 535198 535203 535208 535210 535218 535219 535233 535245 535255 535295 535298 535350 535431 535467 535488 535498 535503 535507 535511 535582 535626 535643 535650 535678 535686 535698 535699 535719 535722 535727 535752 535803 535820 535837 535847 535859 535863 535872 535884 535906 535917 535919 535922 535936 535938 535963 535965 535996 536060 536091 536093 536139 536158 536169 536190 536194 536196 536199 536201 536232 536243 536252 536267 536354 536372 536390 536391 536401 536430 536444 536483 536486 536488 536501 536512 536529 536537 536558 536569 536576 536586 536611 536614 536615 536620 536622 536631 536632 536639 536666 536670 536678 536706 536723 536742 536744 536778 536807 536847 536874 536885 536940 536943 536972 536980 537020 537022 537026 537030 537031 537041 537047 537060 537075 537086 537100 537111 537121 537132 537162 537168 537180 537183 537199 537210 537234 537247 537254 537258 537263 537270 537276 537282 537298 537311 537332 537333 537335 537342 537347 537357 537358 537392 537394 537398 537409 537419 537423 537425 537439 537447 537464 537467 537471 537474 537506 537508 537521 537535 537536 537541 537542 537551 537579 537635 537638 537642 537643 537668 537670 537700 537710 537715 537740 537760 537774 537784 537849 537894 537895 537904 537913 537940 537947 537951 537960 537969 537979 537987 537989 538007 538022 538053 538056 538072 538075 538079 538088 538090 538091 538135 538136 538150 538152 538161 538164 538205 538208 538214 538235 538238 538244 538263 538266 538269 538273 538274 538283 538286 538305 538329 538332 538334 538359 538403 538408 538487 538490 538504 538535 538563 538571 538588 538618 538633 538636 538638 538640 538643 538664 538672 538674 538677 538691 538693 538721 538722 538747 538749 538759 538761 538775 538777 538796 538802 538805 538824 538890 538892 538918 538937 538939 538941 538942 538963 538988 538990 538992 539001 539003 539029 539067 539080 539092 539094 539119 539121 539132 539133 539153 539166 539167 539202 539211 539219 539235 539239 539241 539243 539249 539253 539263 539266 539267 539282 539337 539345 539380 539396 539420 539434 539471 539528 539530 539535 539537 539568 539592 539636 539646 539651 539683 539689 539692 539733 539741 539751 539759 539773 539786 539787 539788 539791 539792 539796 539802 539817 539839 539884 539904 539906 539912 539950 539967 539980 539989 540002 540030 540045 540068 540074 540077 540097 540110 540128 540129 540138 540140 540142 540168 540171 540179 540180 540203 540281 540301 540309 540321 540322 540325 540333 540365 540368 540372 540404 540412 540413 540423 540440 540486 540511 540519 540530 540549 540587 540602 540632 540634 540641 540650 540651 540654 540657 540659 540664 540668 540671 540677 540682 540710 540711 540712 540730 540748 540758 540760 540777 540779 540780 540798 540839 540864 540909 540935 540960 540962 540973 541030 541034 541102 541106 541107 541108 541137 541149 541150 541201 541212 541231 541251 541265 541270 541284 541286 541293 541334 541357 541360 541364 541366 541370 541384 541392 541394 543448 543474 544419 544420 544421 544482 544483 544484 544485 544503 544509 544511 544512 544518 544524 544525 544526 544529 544533 544534 544538 544544 544545 544550 544552 544553 544554 544555 544556 544557 544558 544562 544573 544577 544578 544589 544590 546882 552516 552655 552660 552722 552733 552831 552874 552878 552892 552926 552945 552948 552995 553689 553701 556082 556251 556252 578543 578544 581800 582118 582119 582120 582261 582263 587072 588972 591031 591051 591055 591063 591120 591197 591204 591215 591220 591224 591228 591236 591277 591279 591337 591352 591427 591440 591457 591477 591570 591578 591613 591615 591747 591821 591889 591946 591948 592007 592046 592047 592085 592151 592155 592198 592527 592532 592544 592572 593103 593271 593408 593472 593510 593515 593947 593988 594100 594139 594372 594563 594694 595224 595531 596035 596059 596077 596115 596123 596153 596202 596223 596248 596251 596256 596441 596527 596538 596543 596588 596621 596626 596637 596686 596689 596690 596707 596709 596711 596714 596731 596732 596734 596740 596741 596753 596770 596827 596902 596918 597003 597005 597094 597123 597191 597192 597193 597197 597209 597215 597298 597336 597357 597365 597391 597400 597418 597427 597442 597472 597519 597548 597551 597552 597553 597584 597603 597610 597611 597612 597673 597698 597712 597715 597716 597718 597721 597740 597760 597763 597779 597781 597790 597822 597824 597825 597826 597843 597867 597872 597873 597875 597876 597880 597922 597979 598034 598040 598050 598057 598072 598074 598075 598076 598077 598086 598148 598177 598183 598252 598261 598264 598294 598307 598348 598349 598363 598375 598410 598467 598468 598471 598477 598483 598493 598509 598524 598532 598622 598623 598624 598635 598645 598659 598664 598665 598666 598680 598682 598684 598707 598709 598753 598769 598787 598794 598797 598849 598887 598897 598977 598995 598996 599000 599022 599061 599065 599091 599099 599104 599122 599123 599220 599262 599286 599295 599344 599345 599356 599399 599410 599489 599497 599509 599536 599537 599560 599561 599573 599576 599588 599593 599635 599660 599669 599671 599673 599674 599687 599692 599697 599714 599716 599731 599737 599765 599770 599776 599780 599797 599798 599802 599803 599831 599837 599867 599868 599869 599870 599871 599874 599884 599897 599898 599900 599930 599933 599937 599939 599947 599959 599960 599963 599964 599969 599970 600128 600149 600150 600151 600157 600161 600174 600200 600251 600301 600304 600305 600306 600319 600341 600344 600345 600377 600388 600410 600449 600486 600488 600579 600594 600607 600708 600846 600880 601116 601146 601278 601351 601519 601521 601536 601552 601577 601618 601623 601746 601870 601886 601900 601956 601961 602092 602269 602271 602335 602449 602450 602520 602565 602692 602733 602817 602857 602860 602861 602862 602915 602996 603037 603045 603309 603313 603323 603334 603400 603447 603512 603724 603729 603763 603815 603923 603961 604116 604146 604201 604327 604331 604342 604366 604463 604507 604543 604547 604585 604588 604668 604990 604991 605151 605210 605402 605438 605439 605506 605515 605525 605572 605601 605602 605626 605660 605702 605774 605809 605817 605903 605978 606029 606079 606135 606145 606182 606197 606203 606252 606289 606316 606324 606360 606480 606551 606573 606587 606594 606602 606604 606709 606805 606842 606849 606868 606869 606872 606885 607063 607103 607116 607130 607184 607330 607379 607430 607441 607470 607527 607560 607566 607587 607594 607662 607724 607807 607868 607901 607905 607959 607969 607983 607987 607993 607996 608031 608078 608118 608162 608245 608250 608267 608274 608295 608297 608318 608319 608329 608337 608343 608348 608350 608356 608357 608358 608362 608363 608373 608377 608385 608390 608394 608412 608416 608426 608430 608431 608432 608433 608434 608436 608437 608448 608460 608486 608519 608562 608574 608623 608653 608657 608660 608695 608730 608752 608753 608764 608765 608804 608852 608861 608867 608871 608873 608894 608911 608952 608985 608987 608989 608990 608994 609001 609007 609026 609068 609145 609167 609174 609176 609179 609182 609191 609193 609194 609197 609198 609199 609201 609202 609205 609224 609228 609229 609253 609278 609279 609291 609304 609330 609418 609439 609440 609441 609463 609470 609471 609476 609479 609482 609490 609505 609506 609508 609512 609515 609572 609590 609629 609633 609634 609635 609703 609751 609795 609802 609803 609810 609814 609817 609819 609821 609823 609824 609827 609828 609833 609834 609855 610017 610021 610141 610229 610260 610266 610269 610275 610279 610296 610381 610446 610482 610485 610670 610714 610847 610901 610909 610930 610999 611015 611079 611135 611141 611285 611321 611340 611360 611406 611436 611546 611549 611592 611616 611626 611627 611628 611645 611680 611690 611702 611744 611753 611800 611803 611807 611842 611846 611903 611904 611918 611928 612084 612101 612123 612160 612163 612197 612200 612207 612233 612236 612336 612361 612469 612488 612718 612896 612990 613010 613012 613046 613066 613071 613077 613129 613182 613188 613193 613270 613408 613486 613494 613495 613529 613648 613658 613668 613762 613832 613834 613865 613867 613879 614125 614182 614243 614312 614315 614361 614362 614363 614452 614464 614491 614497 614582 614623 614877 614907 614997 615017 615036 615061 615105 615113 615114 615145 615176 615213 615223 615238 615378 615424 615435 615438 615451 615504 615505 615555 615557 615559 615624 615648 615772 615841 615933 615940 615971 616009 616105 616111 616116 616260 616308 616333 616373 616377 616470 616522 616541 616561 616563 616683 616733 616899 616912 616921 616945 616971 616994 617032 617047 617073 617098 617132 617158 617171 617198 617207 617293 617469 617471 617692 617735 617745 617788 617798 617814 617820 617868 617903 617905 617970 617972 617975 618059 618248 618302 618318 618329 618375 618380 618398 618428 618463 618466 618490 618497 618538 618548 618552 618564 618677 618679 618697 618701 618734 618743 618806 618881 618919 618946 618967 618976 618987 619096 619222 619296 619323 619356 619357 619370 619372 619538 619573 619578 619580 619581 619616 619709 619728 619794 619860 619862 619883 619896 619916 619938 619972 620017 620036 620055 620070 620087 620113 620116 620117 620118 620156 620158 620222 620249 620355 620356 620374 620376 620377 620396 620553 620567 620604 620680 620681 620725 620743 620744 620752 620789 620846 620854 620867 620873 620918 620988 621035 621054 621064 621074 621096 621126 621143 621227 621275 621304 621323 621348 621421 621450 621565 621587 621594 621725 621730 621760 621921 621953 621958 621964 621968 622011 622029 622048 622051 622054 622059 622070 622095 622116 622141 622218 622271 622361 622369 622399 622420 622433 622469 622494 622581 622597 622653 622654 622737 622752 622802 622830 622841 622851 622860 622873 622896 622936 623006 623085 623123 623128 623187 623193 623227 623230 623244 623271 623284 623292 623321 623347 623349 623362 623376 623440 623472 623486 623534 623602 623641 623657 623685 623748 623753 623754 623777 623795 623825 623846 623873 623879 623952 624055 624065 624072 624074 624298 624319 624320 624366 624394 624398 624402 624419 624432 624468 624470 624471 624507 624525 624526 624559 624592 624682 624712 624719 624740 624773 624782 625030 625065 625071 625072 625139 625146 625147 625151 625240 625284 625336 625338 625372 625404 625420 625647 625656 625663 625665 625669 625695 625812 625821 625833 625852 625925 626008 626010 626017 626088 626096 626108 626131 626136 626170 626197 626198 626201 626314 626325 626345 626410 626457 626470 626495 626533 626534 626567 626645 626801 626883 626936 627022 627038 627044 627091 627180 627183 627204 627205 627216 627227 627292 627313 627319 627339 627342 627353 627425 627432 627467 627503 627674 627741 627772 627777 627810 627826 627827 627852 627968 628062 628076 628089 628184 628189 628208 628217 628227 628229 628256 628292 628298 628304 628330 628362 628375 628402 628442 628450 628467 628475 628491 628531 628571 628581 628597 628629 628635 628670 628737 628783 628871 628911 628939 628941 628960 628976 628988 628999 629065 629150 629166 629169 629171 629173 629217 629273 629312 629333 629381 629393 629498 629515 629548 629582 629715 629719 629722 629740 629750 629840 629898 629979 630026 630042 630059 630174 630179 630188 630194 630195 630248 630323 630362 630545 630547 630565 630620 630623 630729 630914 630922 630953 631010 631044 631063 631070 631074 631088 631105 631153 631179 631180 631191 631200 631217 631228 631233 631327 631363 631375 631398 631399 631404 631407 631416 631523 631549 631566 631571 631634 631642 631678 631688 631690 631734 631748 631789 631793 631801 631811 631813 631814 631815 631878 631891 631917 631967 631988 632027 632031 632039 632065 632147 632207 632293 632308 632349 632376 632444 632449 632458 632501 632509 632528 632568 632580 632581 632657 632750 632777 632789 632807 632834 632845 632851 632857 632941 632984 633017 633028 633039 633070 633098 633108 633110 633171 633186 633187 633189 633227 633231 633261 633282 633299 633325 633350 633354 633356 633371 633372 633374 633403 633440 633445 633451 633503 633519 633633 633676 633678 633681 633767 633772 633788 633856 633875 633923 634073 634074 634089 634115 634122 634134 634153 634157 634167 634188 634254 634379 634462 634513 634535 634547 634553 634657 634699 634710 634714 634773 634776 634781 634833 634868 634911 634974 634983 635005 635014 635017 635081 635087 635128 635147 635154 635171 635177 635181 635193 635222 635233 635254 635269 635286 635326 635330 635353 635368 635399 635419 635442 635487 635538 635540 635546 635552 635554 635659 635661 635663 635697 635698 635718 635746 635787 635796 635817 635890 635944 635955 636011 636099 636127 636150 636154 636155 636163 636169 636174 636191 636248 636269 636277 636323 636347 636374 636377 636389 636458 636498 636500 636511 636589 636593 636608 636680 636761 636858 637174 637202 637221 637259 637266 637282 637293 637391 637438 637541 637544 637575 637620 637625 637631 637649 637716 637789 637842 637855 637970 638136 638152 638191 638225 638260 638262 638274 638287 638367 638378 638410 638414 638425 638442 638469 638476 638532 638553 638566 638569 638638 638640 638707 638741 638762 638789 638793 638832 638848 638862 638910 638916 638943 638952 638958 639016 639037 639039 639041 639051 639056 639063 639232 639241 639243 639246 639257 639262 639281 639323 639335 639520 639553 639710 639721 639783 639798 639833 639839 639849 639854 639856 640041 640057 640063 640148 640153 640211 640226 640271 640307 640310 640313 640314 640325 640411 640448 640453 640459 640473 640485 640546 640646 640823 640841 640949 640954 640972 640974 640985 641139 641265 641335 641510 641512 641546 641554 641556 641614 641616 641637 641669 641670 641676 641757 641880 641890 641981 641982 641987 641999 642012 642028 642035 642040 642102 642206 642244 642276 642418 642437 642464 642500 642664 642666 642682 642691 642704 642715 642722 642775 642861 642869 642879 642886 642931 643052 643183 643195 643209 643251 643260 643275 643292 643349 643373 643421 643425 643435 643442 643443 643462 643475 643501 643519 643572 643627 643681 643714 643715 643753 643764 643769 643771 643773 643819 643831 643836 643838 643853 643857 643882 643918 643920 643925 643985 644046 644047 644078 644161 644175 644183 644201 644215 644224 644227 644245 644247 644303 644308 644374 644407 644408 644428 644470 644482 644488 644492 644508 644521 644596 644606 644621 644812 644866 644917 644937 644966 644972 645064 645069 645080 645140 645172 645201 645206 645258 645279 645316 645333 645335 645390 645429 645450 645500 645504 645558 645601 645678 645685 645810 645814 645818 645953 645959 645978 646132 646139 646145 646203 646245 646250 646287 646307 646312 646317 646422 646427 646482 646510 646520 646524 646563 646589 646597 646607 646646 646690 646710 646729 646819 646820 646821 646822 646889 646892 646976 646983 647027 647104 647184 647186 647245 647247 647277 647286 647329 647334 647349 647362 647411 647426 647487 647515 647545 647570 647617 647641 647668 647676 647685 647719 647819 647826 647841 647915 647920 647930 647973 647975 647994 647998 648012 648024 648047 648051 648080 648091 648141 648182 648185 648195 648196 648217 648233 648288 648289 648303 648309 648317 648368 648382 648385 648387 648448 648452 648456 648584 648605 648610 648642 648695 648697 648757 648774 648786 648807 648810 648812 648844 648903 648905 648914 648924 648953 648960 648977 649006 649008 649034 649046 649059 649072 649077 649080 649083 649119 649145 649176 649179 649214 649222 649232 649258 649272 649299 649343 649346 649406 649407 649430 649464 649511 649569 649574 649578 649585 649608 649643 649728 649828 649853 649890 649919 649920 649923 649926 649951 649996 650048 650070 650157 650201 650398 650437 650469 650499 650503 650518 650579 650585 650606 650607 650654 650665 650670 650705 650708 650756 650794 650863 650866 650884 650960 650967 650999 651019 651060 651075 651117 651123 651125 651127 651143 651160 651228 651230 651267 651270 651277 651347 651362 651363 651433 651446 651468 651506 651527 651537 651538 651546 651549 651554 651638 651643 651677 651707 651788 651792 651846 651951 651991 651996 652024 652066 652089 652131 652144 652153 652165 652167 652195 652210 652220 652229 652329 652349 652371 652389 652456 652460 652505 652528 652613 652639 652644 652670 652683 652710 652727 652729 652743 652778 652780 652805 652811 652813 652835 652862 652908 652912 652942 652957 652995 653074 653133 653190 653198 653227 653229 653234 653243 653250 653334 653345 653445 653528 653544 653598 653641 653652 653667 653685 653728 653730 653775 653858 653914 654017 654025 654034 654043 654051 654059 654095 654098 654224 654230 654244 654306 654317 654362 654424 654533 654543 654553 654642 654680 654700 654701 654729 654732 654769 654795 654801 654812 654937 654951 654965 655013 655031 655037 655045 655131 655160 655168 655225 655272 655296 655304 655361 655495 655515 655536 655543 655546 655583 655585 655588 655590 655643 655653 655664 655687 655688 655775 655779 655805 655860 655864 655871 655902 655927 655966 656016 656017 656025 656085 656103 656106 656154 656164 656172 656235 656277 656312 656342 656349 656374 656383 656393 656420 656444 656494 656495 656507 656578 656580 656605 656609 656631 656635 656638 656642 656655 656659 656695 656706 656730 656735 656737 656760 656800 656814 656822 656832 656862 656875 656878 656890 656927 656941 656945 657011 657014 657024 657049 657061 657088 657108 657146 657168 657186 657189 657217 657277 657283 657303 657318 657374 657394 657421 657435 657446 657531 657535 657669 657761 657774 657785 657787 657819 657822 657824 657912 657963 657980 657983 658018 658020 658024 658048 658054 658061 658077 658080 658133 658166 658195 658255 658259 658284 658317 658354 658379 658380 658411 658478 658494 658546 658563 658575 658605 658621 658709 658724 658736 658772 658804 658861 658922 658945 658949 658988 659015 659041 659104 659119 659150 659221 659243 659248 659251 659268 659284 659285 659289 659321 659379 659386 659404 659405 659410 659454 659473 659509 659513 659529 659581 659585 659609 659627 659684 659707 659793 659815 659842 659853 659857 659929 659958 659974 660025 660051 660064 660096 660102 660127 660129 660131 660152 660162 660180 660239 660244 660286 660309 660316 660318 660323 660346 660357 660378 660426 660468 660480 660482 660530 660558 660562 660566 660579 660583 660609 660612 660629 660676 660752 660832 660839 660841 660856 660861 660863 660991 661000 661006 661029 661031 661059 661167 661207 661216 661265 661268 661297 661298 661301 661352 661354 661385 661401 661431 661439 661443 661510 661517 661523 661544 661570 661606 661608 661673 661675 661701 661704 661723 661743 661748 661826 661837 661851 661858 661880 661884 661890 661921 661923 661927 661946 661968 661971 661981 661985 662012 662069 662082 662085 662144 662178 662182 662232 662258 662263 662265 662266 662286 662305 662345 662348 662370 662372 662405 662454 662463 662519 662537 662538 662539 662548 662621 662712 662730 662744 662752 662760 662772 662782 662784 662785 662809 662864 662865 662866 662902 662917 662918 662925 662926 662932 662953 662972 662995 663023 663024 663041 663042 663052 663065 663088 663105 663117 663124 663150 663165 663182 663190 663200 663204 663215 663224 663237 663246 663274 663285 663286 663296 663302 663318 663350 663404 663431 663443 663446 663477 663492 663564 663588 663605 663613 663627 663688 663694 663721 663723 663725 663738 663782 663801 663813 663823 663835 663841 663893 663895 663912 663914 663932 663937 663962 663970 663985 664003 664019 664021 664116 664123 664125 664146 664206 664207 664219 664250 664252 664260 664261 664265 664268 664315 664336 664339 664341 664349 664365 664369 664371 664390 664392 664457 664462 664494 664522 664541 664542 664583 664598 664600 664613 664622 664625 664639 664645 664670 664672 664702 664715 664773 664777 664842 664874 664886 664903 664907 664910 664912 664917 664922 664923 664943 664945 664956 664994 665003 665024 665071 665084 665119 665167 665175 665203 665213 665252 665254 665267 665271 665272 665341 665348 665371 665379 665399 665482 665514 665537 665548 665559 665575 665576 665578 665579 665587 665610 665614 665632 665634 665672 665679 665681 665690 665692 665694 665695 665727 665737 665742 665744 665764 665797 665808 665809 665818 665827 665829 665840 665854 665866 665881 665884 665912 665952 665955 665957 665960 666046 666060 666066 666071 666104 666133 666163 666173 666191 666196 666198 666199 666209 666233 666236 666239 666248 666257 666330 666331 666361 666364 666369 666379 666383 666398 666401 666411 666417 666421 666435 666447 666450 666465 666509 666522 666536 666548 666669 666708 666712 666714 666725 666728 666743 666756 666761 666800 666823 666832 666850 666861 666864 666879 666904 666944 666948 666960 666963 666967 667003 667022 667036 667050 667084 667086 667098 667139 667196 667241 667251 667265 667268 667269 667273 667282 667286 667288 667292 667316 667319 667326 667337 667340 667357 667378 667394 667408 667415 667442 667458 667465 667480 667518 667524 667532 667552 667569 667649 667675 667680 667686 667687 667720 667729 667731 667735 667736 667773 667817 667820 667828 667830 667839 667841 667850 667855 667857 667860 667874 667887 667917 667918 667931 667961 667971 667988 668004 668013 668015 668019 668036 668054 668056 668084 668103 668115 668117 668124 668139 668142 668144 668191 668194 668195 668201 668202 668262 668265 668269 668280 668289 668294 668295 668306 668314 668320 668325 668355 668359 668363 668378 668385 668387 668391 668413 668426 668430 668459 668464 668519 668525 668527 668532 668582 668596 668601 668620 668622 668624 668641 668642 668650 668654 668660 668665 668673 668699 668703 668727 668746 668750 668756 668783 668788 668792 668815 668821 668823 668835 668851 668853 668854 668881 668883 668888 668894 668904 668908 668961 668985 668994 669038 669045 669086 669101 669134 669141 669142 669160 669167 669174 669177 669178 669180 669192 669196 669212 669253 669330 669334 669340 669353 669358 669359 669365 669368 669372 669375 669391 669417 669419 669437 669438 669441 669443 669463 669470 669472 669479 669489 669506 669516 669524 669534 669631 669662 669669 669672 669677 669679 669691 669726 669733 669743 669775 669780 669797 669803 669825 669846 669869 669872 669885 669917 669930 669938 669986 670003 670018 670041 670092 670107 670114 670125 670129 670155 670240 670268 670270 670278 670280 670281 670336 670351 670366 670379 670390 670394 670444 670462 670485 670486 670490 670496 670509 670514 670533 670544 670565 670593 670596 670615 670617 670622 670626 670651 670653 670657 670659 670695 670724 670749 670765 670797 670801 670805 670815 670816 670844 670845 670848 670850 670878 670896 670901 670902 670927 670942 670955 670966 670982 670985 671000 671003 671040 671062 671110 671114 671151 671162 671163 671167 671169 671186 671240 671243 671266 671270 671327 671331 671334 671336 671340 671360 671364 671368 671382 671386 671411 671412 671424 671434 671444 671466 671491 671513 671518 671547 671550 671563 671566 671648 671664 671666 671677 671681 671693 671695 671700 671702 671709 671716 671767 671771 671796 671806 671824 671826 671829 671831 671841 671854 671858 671866 671872 671876 671880 671924 671942 671944 671946 671956 671963 671965 671976 671981 671983 671988 671989 671995 672000 672005 672008 672012 672038 672043 672045 672049 672051 672055 672086 672114 672143 672154 672161 672164 672220 672250 672273 672313 672370 672448 672459 672463 672467 672483 672485 672504 672514 672544 672553 672567 672585 672594 672596 672634 672699 672719 672724 672725 672745 672751 672761 672767 672770 672802 672846 672895 672917 672960 672962 672966 672979 672987 673006 673011 673013 673024 673026 673028 673039 673056 673058 673071 673079 673092 673102 673129 673149 673168 673205 673210 673232 673241 673305 673319 673320 673345 673346 673396 673406 673482 673485 673531 673541 673549 673602 673609 673613 673616 673626 673636 673661 673667 673704 673731 673747 673752 673757 673763 673789 673794 673873 673877 673881 673893 673906 673913 673968 673976 674030 674044 674049 674086 674096 674127 674200 674215 674216 674229 674253 674275 674278 674321 674334 674336 674349 674350 674351 674386 674388 674390 674409 674419 674431 674435 674445 674451 674455 674473 674500 674508 674540 674607 674629 674648 674663 674674 674679 674686 674687 674688 674690 674692 674694 674722 674727 674733 674807 674839 674871 674895 674896 674905 674917 674974 675026 675086 675089 675091 675096 675107 675108 675109 675121 675133 675194 675216 675239 675244 675278 675313 675395 675396 675398 675405 675408 675440 675443 675493 675568 675580 675581 675593 675599 675617 675638 675640 675654 675658 675674 675675 675681 675692 675706 675717 675776 675803 675853 675854 675986 675998 676006 676055 676063 676070 676086 676088 676094 676133 676150 676155 676171 676175 676177 676209 676211 676212 676242 676252 676272 676280 676301 676316 676324 676325 676389 676397 676425 676427 676464 676474 676475 676476 676494 676539 676554 676555 676565 676594 676624 676690 676704 676708 676743 676760 676764 676766 676792 676794 676803 676824 676831 676832 676848 676893 676896 676906 676910 676919 676932 676946 677010 677019 677022 677026 677518 677538 677621 677773 677800 677829 677907 678021 678107 678113 678117 678124 678137 678140 678171 678172 678221 678848 678928 678929 678933 678941 682743 682744 682746 682749 682750 682752 682753 682759 682768 682967 682970 682971 682972 683187 683222 683223 684144 684145 684147 684148 684153 684154 684159 684182 684259 684287 687159 687670 687684 687691 687706 694812 694872 694873 694878 694879 694883 694884 694887 694888 694889 694890 694891 694894 694895 694897 694898 694899 699052 699108 699128 699182 699183 699184 699185 699186 699212 699213 699214 699215 699216 699217 699218 699219 699220 699221 699251 699252 699253 699261 699262 699381 699429 699433 699435 699436 699449 699450 699483 699484 699603 699604 699605 699616 699617 699618 699619 699621 699622 699623 699817 699917 699918 699919 699942 699978 699991 699999 700012 700083 700099 700194 700255 700256 700271 700346 700352 700384 700437 700452 700476 700477 700495 700596 700607 700704 700880 700908 700910 700917 701095 701175 701176 701195 701196 701197 701272 701275 701428 701459 701461 701500 701510 701918 701919 701921 701940 701941 701942 701947 701962 701966 702012 702033 702041 702043 702045 702053 702058 702059 702259 702264 702265 717385 717464 717661 717670 717715 717758 717816 718043 718234 718345 718844 718946 718978 719498 719605 719754 720022 720193 720524 720660 720828 720848 721038 721063 721249 721280 721296 721340 721345 721346 721373 721702 722163 722164 723005 723012 723046 723209 723210 723213 723252 723486 723551 723567 723947 724055 724402 724510 724529 724532 724565 724573 724584 724588 724603 724649 728730 728747 728753 728762 728763 728782 728805 728810 728914 728957 728977 729183 729239 729347 729570 729571 729572 729634 729656 729657 729661 729663 730644 730646 730920 731161 731209 731349 731378 731483 731489 731780 732093 732165 732355 732886 733228 733348 733413 733414 733457 733458 733460 733463 733465 733467 733468 733469 733470 733472 733483 733486 733516 733517 733518 733519 733520 733537 733564 733565 733566 733567 733758 733762 733763 733848 733850 740119 740130 740189 740192 740201 751066 751282 751283 751369 751417 751455 751464 751465 751598 751599 751607 751608 751719 751959 751973 751983 751984 751993 751994 751995 751996 751997 751998 752054 752065 752067 752070 752080 752081 752082 752083 752084 752085 752093 752106 752111 752112 752118 752126 752131 752175 752177 752214 752224 752230 752243 752246 752247 752253 752254 752271 752274 752275 752283 752284 752312 752313 752314 752316 752317 752346 752348 752410 752437 752458 752464 752477 752501 752509 752519 752521 752526 752535 752543 752549 752553 752562 752564 752577 752578 752582 752584 752585 752609 752615 752618 752634 752681 752689 752705 752709 752715 752727 752729 752740 752748 752760 752767 752808 752813 752820 752821 752822 752900 752901 752903 752926 752938 752939 752946 752960 752966 752967 752973 752980 752986 752997 753015 753016 753041 753060 753096 753104 753108 753114 753116 753137 753139 753143 753144 753146 753152 753180 753187 753199 753208 753209 753215 753233 753240 753248 753252 753253 753269 753288 753291 753293 753297 753344 753349 753350 753367 753368 753371 753413 753439 753442 753474 753479 753486 753503 753508 753511 753512 753550 753557 753571 753575 753606 753627 753633 753646 753655 753667 753670 753686 753690 753723 753724 753726 753736 753744 753747 753748 753753 753778 753779 753791 753812 753816 753834 753837 753860 753876 753905 753910 753970 753977 753985 754021 754023 754066 754067 754071 754088 754090 754091 754115 754118 754124 754135 754136 754148 754149 754156 754174 754175 754182 754220 754227 754231 754247 754287 754291 754310 754316 754318 754319 754322 754328 754329 754331 754347 754375 754384 754396 754403 754415 754416 754442 754471 754503 754514 754515 754525 754530 754552 754567 754569 754589 754591 754594 754623 754625 754629 754649 754650 754681 754682 754710 754727 754728 754766 754767 754834 754844 754865 754866 754867 754885 754887 754889 754893 754898 754910 754923 754934 754941 754948 755006 755010 755022 755085 755105 755123 755126 755138 755157 755217 755224 755227 755271 755273 755295 755301 755317 755350 755370 755397 755426 755459 755470 755493 755506 755533 755538 755548 755602 755613 755633 755643 755649 755667 755683 755726 755771 755803 755807 755813 755834 755849 755857 755864 755912 755935 755954 755970 755981 755986 756011 756015 756016 756080 756081 756084 756085 756121 756124 756136 756213 756228 756239 756273 756287 756292 756331 756346 756354 756390 756398 756457 756504 756519 756527 756531 756533 756539 756542 756552 756574 756581 756607 756610 756632 756644 756664 756692 756695 756704 756705 756741 756762 756780 756784 756801 756832 756841 756850 756854 756916 756968 756977 756983 756994 757016 757021 757037 757044 757150 757155 757159 757188 757191 757202 757204 757210 757216 757235 757250 757270 757310 757332 757334 757369 757371 757383 757408 757421 757422 757457 757460 757541 757589 757593 757620 757631 757653 757736 757738 757748 757779 757797 757801 757806 757809 757810 757812 757826 757855 757858 757880 757900 757911 757927 757929 757936 757940 757968 757988 757997 757998 758015 758028 758040 758082 758093 758115 758139 758144 758147 758162 758193 758250 758256 758290 758336 758352 758360 758362 758406 758474 758491 758506 758540 758551 758563 758584 758590 758601 758603 758615 758621 758633 758637 758639 758658 758714 758766 758832 758888 758915 758917 758928 758959 758972 759025 759051 759080 759110 759152 759168 759217 759221 759231 759254 759310 759327 759368 759376 759379 759391 759447 759468 759533 759536 759539 759544 759550 759562 759571 759616 759628 759636 759640 759641 759642 759651 759654 759655 759657 759658 759663 759715 759717 759750 759752 759762 759770 759781 759784 759811 759850 759905 759909 759985 759999 760009 760022 760043 760052 760060 760076 760134 760141 760168 760170 760171 760176 760186 760197 760250 760259 760292 760388 760394 760412 760429 760469 760475 760488 760530 760545 760596 760703 760746 760750 760772 760775 760781 760792 760795 760810 760812 760840 760858 760864 760870 760905 760956 760965 761034 761086 761119 761120 761121 761124 761135 761143 761169 761180 761192 761202 761239 761273 761308 761329 761357 761359 761372 761401 761405 761412 761473 761475 761476 761481 761513 761522 761538 761548 761558 761560 761563 761584 761585 761615 761616 761618 761623 761669 761706 761754 761756 761758 761760 761777 761783 761865 761868 761870 761901 761920 761929 761930 761953 761955 761975 761978 761989 761993 761998 762034 762058 762137 762159 762175 762179 762185 762187 762188 762199 762277 762284 762310 762314 762318 762320 762379 762388 762473 762486 762512 762540 762590 762640 762665 762677 762681 762686 762792 762819 762845 762871 762887 762890 762959 762985 763002 763045 763047 763057 763073 763098 763139 763205 763207 763211 763220 763228 763282 763331 763334 763349 763361 763371 763382 763396 763403 763417 763423 763432 763435 763534 763539 763560 763572 763576 763608 763613 763620 763658 763660 763674 763734 763736 763738 763743 763774 763790 763798 763808 763818 763834 763892 763914 763977 763991 763993 764051 764082 764099 764105 764137 764144 764149 764183 764226 764236 764287 764334 764347 764363 764377 764385 764393 764397 764422 764439 764447 764449 764486 764610 764655 764676 764680 764704 764748 764770 764777 764838 764870 764881 764891 764911 764914 764916 764929 764935 765061 765100 765145 765152 765155 765159 765198 765203 765215 765230 765240 765250 765285 765323 765331 765352 765373 765377 765391 765395 765400 765459 765464 765471 765473 765481 765483 765486 765491 765522 765533 765551 765583 765612 765620 765623 765626 765634 765666 765667 765674 765678 765682 765701 765742 765794 765806 765808 765838 765860 765861 765879 765904 765906 765946 765965 766010 766026 766069 766095 766114 766131 766149 766151 766153 766155 766164 766166 766208 766211 766213 766233 766234 766244 766257 766301 766312 766353 766369 766382 766456 766463 766497 766506 766572 766577 766607 766610 766613 766626 766685 766691 766701 766704 766706 766747 766754 766766 766821 766823 766834 766839 766842 766848 766850 766853 766868 766890 766937 766955 766983 767020 767037 767039 767103 767106 767134 767136 767143 767163 767230 767247 767250 767279 767323 767330 767337 767340 767393 767397 767403 767406 767415 767472 767482 767484 767486 767517 767520 767524 767529 767546 767554 767605 767624 767633 767646 767674 767683 767709 767719 767748 767764 767786 767792 767808 767812 767839 767844 767862 767889 767900 767902 767934 767938 767950 767970 767983 767995 768010 768012 768063 768077 768084 768085 768129 768182 768183 768214 768221 768223 768231 768232 768285 768288 768323 768327 768335 768337 768348 768357 768383 768386 768388 768393 768435 768454 768467 768500 768516 768528 768563 768575 768612 768631 768644 768653 768657 768658 768664 768676 768710 768718 768753 768762 768857 768887 768893 768899 768908 768929 768992 769024 769031 769046 769114 769128 769129 769131 769152 769154 769158 769166 769176 769198 769203 769218 769224 769230 769233 769241 769262 769294 769333 769335 769345 769349 769366 769486 769497 769509 769557 769635 769664 769669 769671 769707 769717 769789 769837 769840 769848 769854 769865 769879 769924 769927 769997 770004 770018 770030 770053 770066 770108 770112 770114 770116 770206 770228 770246 770343 770344 770558 770703 770718 771064 771098 771105 771106 771108 771114 771116 771117 771119 771123 771172 771210 771637 771639 771771 771825 771875 771946 772273 772277 772305 772366 772394 772448 787714 795577 795633 795635 795657 795658 796304 796320 796336 796355 796385 796392 796420 796424 796453 796514 796516 796517 796518 796520 796524 796545 796613 796614 796678 796697 805347 805367 805426 805636 805637 805716 805866 806098 806123 806227 806350 806505 806520 806542 806936 807034 807042 807044 807051 807090 807097 807197 807362 807530 808207 808208 808209 808724 808900 808901 809183 809246 812198 812200 812201 812202 812204 812205 812206 812208 812211 812214 812215 812221 812222 812223 812224 812224 812228 812229 812230 812231 812233 812234 812235 812236 812237 812238 812239 812240 812241 812242 812244 812245 812246 812248 812250 812250 812252 812253 812257 812258 812260 812261 812262 812263 812264 812265 812266 812267 812268 812269 812270 812271 812271 812272 812273 812278 812278 812281 812283 812284 812285 812286 812287 812288 812289 812289 812290 812291 812292 812295 812296 812297 812297 812298 812299 812300 812302 812303 812304 812305 812305 812306 812307 812308 812309 812310 812311 812312 812313 812314 812315 812317 812319 812324 812325 812327 812332 812372 812375 812376 812377 812379 812381 812382 812383 812384 812385 812404 812441 812443 812444 812445 812446 812447 812448 812448 813143 813157 813623 814022 814023 814035 815014 815015 815025 815037 815038 815039 815040 815043 815045 815047 815048 815090 815092 871829 872024 872043 872053 872078 872101 872123 872129 872141 872147 872149 872163 872184 872189 872190 872230 872240 872241 872243 872251 872265 872289 872306 872336 872349 872383 872913 872968 873196 875931 876055 876064 876099 876109 876134 876183 876209 876233 876720 877810 877829 877857 877866 877880 878493 878494 879264 879266 879283 879290 879331 879338 879339 879351 879372 879389 879390 879391 879392 879393 879399 879427 879437 879457 879468 879506 879548 879551 879578 879590 879599 879609 879611 879624 879636 882608 882627 882628 882631 882633 882637 882643 882674 882675 882682 882684 882687 882692 882695 882721 882722 882723 882727 882739 882744 882750 882751 882752 882755 882760 882761 882762 882974 882997 882998 883025 883038 883040 883042 883052 883053 883054 883055 883057 883058 883059 883060 883062 883063 883064 883066 883068 883071 883072 883115 883156 883165 883180 883194 883238 883239 883240 883246 883248 883251 883253 883257 883261 883268 883271 883280 883297 883311 883316 883317 883318 883321 883327 883339 883340 883341 883342 883343 883344 883351 883352 883380 883381 883383 883386 883393 883395 883401 883402 883406 883412 883413 883421 883422 883443 883445 883448 883449 883451 883455 883458 883460 883461 883477 883478 883479 883480 883484 883487 883488 883496 883501 883507 883509 883512 883514 883970 884154 884193 886584 886882 886884 886951 887117 887555 887701 887791 887817 887822 887823 887827 887828 887829 887830 887847 887848 887849 887860 887864 887873 887901 887910 887926 887927 887928 887942 887943 890264 890385 890466 890497 890509 892012 892377 892642 892716 892845 893026 893188 893192 893208 893224 893365 893382 893388 893389 893390 893410 893442 893445 893467 893484 893498 893519 893534 893548 893565 893566 893573 893585 893597 893617 893619 893625 893630 893634 893636 893637 893643 893651 893690 893693 893734 893741 893746 893759 893785 893794 893799 894036 895922 895958 896512 896993 897080 897260 897334 897385 897387 897599 897730 897736 897751 897755 897757 897759 897863 897901 898118 898695 898752 898753 898754 898755 898756 898967 899376 899551 900012 900118 900278 900627 900841 901047 901381 901382 901383 901640 901675 901831 901936 902131 902272 902406 902444 902566 902890 902974 903042 903302 903399 903457 903475 903552 903553 903612 903617 903677 903721 903738 903890 903976 904049 904071 904081 904084 904093 904168 904257 904258 904347 904504 904505 904580 904585 904586 904603 904737 904894 904965 905062 905070 905072 905073 905326 905371 905427 905453 905573 905574 905617 905644 905649 905670 905687 905706 905842 905864 905865 905893 906004 906021 906031 906100 906118 906185 906190 906203 906204 906207 906221 906229 906252 906355 906368 906386 906500 906527 906528 906553 906554 906560 906561 906566 906576 906592 906597 906629 906642 906686 906732 906734 906777 906782 906849 907155 907230 907278 907306 907321 907386 907389 907391 907393 907402 907411 907412 907478 907479 907480 907506 907532 907533 907549 907555 907567 907579 907592 907593 907594 907597 907598 907607 907616 907625 907640 907645 907648 907649 907667 907668 907670 907671 907676 907677 907678 907680 907709 907727 907731 907733 907734 907739 907756 907767 907771 907778 907779 907792 907797 907800 907806 907811 907820 907832 907843 907848 907856 907857 907863 907884 907888 907895 907902 907916 907925 907927 907929 907930 907938 907958 907959 907960 907963 907969 907980 907982 907989 908034 908042 908046 908050 908063 908071 908072 908077 908084 908114 908115 908117 908119 908130 908145 908146 908149 908152 908170 908177 908179 908180 908182 908197 908234 908235 908247 908253 908257 908276 908287 908304 908308 908312 908313 908323 908330 908364 908372 908386 908392 908396 908398 908434 908455 908464 908506 908507 908511 908543 908604 908711 908748 908818 908837 908859 908867 908880 908885 908908 908936 908943 908946 908958 908976 908992 909003 909006 909040 909047 909059 909060 909105 909130 909137 909151 909173 909176 909189 909191 909206 909208 909218 909228 909229 909235 909251 909269 909299 909300 909321 909373 909378 909382 909383 909384 909387 909389 909402 909443 909444 909449 909477 909492 909508 909512 909517 909527 909530 909577 909582 909597 909600 909606 909608 909618 909647 909649 909652 909654 909664 909670 909671 909682 909692 909711 909712 909718 909731 909740 909764 909770 909796 909824 909825 909826 909832 909835 909844 909862 909868 909872 909897 909900 909920 909941 909948 909982 909983 909994 910011 910014 910017 910042 910046 910051 910057 910062 910064 910065 910068 910069 910071 910076 910081 910117 910119 910126 910128 910163 910167 910191 910199 910226 910278 910284 910296 910303 910304 910320 910326 910328 910330 910344 910360 910365 910367 910369 910370 910378 910379 910402 910403 910406 910409 910410 910436 910444 910465 910481 910494 910514 910515 910518 910533 910577 910597 910612 910616 910628 910672 910699 910700 910732 910746 910781 910782 910783 910784 910789 910794 910810 910811 910813 910842 910845 910856 910864 910872 910873 910875 910876 910877 910892 910893 910899 910920 910924 910955 910972 910994 911014 911030 911041 911056 911057 911074 911081 911083 911084 911106 911116 911117 911126 911146 911147 911154 911173 911177 911179 911180 911190 911195 911219 911229 911233 911238 911273 911274 911288 911291 911303 911312 911316 911323 911341 911344 911391 911405 911431 911467 911469 911479 911488 911506 911507 911525 911529 911531 911532 911535 911589 911628 911637 911645 911686 911687 911690 911723 911725 911727 911731 911753 911758 911760 911762 911770 911771 911785 911796 911800 911801 911842 911847 911851 911852 911855 911857 911862 911874 911901 911902 911917 911918 911953 911986 912007 912010 912011 912013 912015 912027 912034 912062 912065 912079 912085 912088 912113 912116 912145 912147 912157 912162 912183 912188 912194 912205 912206 912207 912212 912241 912243 912247 912252 912255 912256 912261 912288 912289 912295 912310 912324 912332 912343 912345 912356 912362 912388 912401 912403 912417 912439 912481 912495 912507 912511 912512 912533 912536 912554 912555 912556 912594 912621 912671 912675 912725 912761 912766 912770 912782 912789 912798 912799 912813 912815 912819 912828 912834 912842 912845 912854 912855 912868 912896 912898 912930 912931 912932 912954 912977 912983 912988 912991 912992 913001 913019 913021 913054 913083 913084 913085 913092 913099 913137 913154 913155 913177 913205 913232 913264 913270 913272 913287 913289 913297 913306 913316 913333 913338 913375 913380 913381 913382 913394 913413 913422 913440 913450 913469 913481 913497 913521 913522 913523 913532 913536 913558 913559 913570 913577 913578 913593 913619 913635 913642 913648 913649 913651 913672 913689 913720 913741 913749 913757 913763 913772 913788 913800 913811 913822 913823 913829 913830 913842 913844 913854 913855 913892 913895 913899 913906 913907 913912 913913 913914 913947 913960 913961 913972 913985 913986 913989 913990 914004 914005 914033 914049 914069 914088 914136 914152 914182 914185 914216 914226 914261 914262 914267 914284 914287 914290 914305 914341 914372 914379 914383 914389 914426 914427 914428 914433 914441 914442 914446 914520 914525 914564 914565 914594 914596 914617 914626 914627 914640 914642 914670 914682 914689 914691 914700 914714 914722 914772 914776 914795 914799 914803 914824 914833 914840 914886 914906 914907 914910 914912 914931 914943 914970 914998 915013 915024 915027 915062 915073 915115 915130 915131 915156 915164 915166 915167 915172 915177 915178 915190 915193 915200 915218 915260 915331 915340 915344 915348 915399 915424 915429 915441 915454 915518 915524 915525 915533 915534 915538 915578 915582 915585 915588 915596 915600 915605 915630 915636 915643 915647 915666 915671 915673 915684 915691 915701 915727 915729 915731 915734 915737 915759 915787 915790 915794 915832 915841 915851 915855 915871 915910 915925 915957 915958 915960 916000 916016 916077 916083 916084 916088 916090 916120 916121 916128 916139 916144 916151 916169 916171 916181 916182 916183 916185 916186 916194 916204 916215 916268 916308 916356 916380 916391 916395 916400 916402 916437 916439 916442 916445 916446 916468 916471 916505 916521 916522 916549 916550 916555 916578 916586 916615 916627 916657 916659 916688 916706 916743 916747 916770 916773 916814 916831 916832 916857 916861 916879 917415 917464 917501 917502 917528 917531 917567 917573 917582 917588 917595 917617 917630 917684 917691 917705 917708 917719 917721 917723 917728 917729 917744 917782 917783 917785 917789 917790 917877 917878 917879 917889 917915 917959 917961 917973 917999 918005 918007 918009 918045 918273 918279 919250 919252 919272 919274 919286 919293 919336 919338 919350 919418 919420 919425 919426 919427 919428 919429 919430 919432 919436 919437 919441 919442 919443 919445 919447 919451 919453 919455 919457 919458 919463 919466 919469 919472 919474 919475 919477 919478 919479 919481 919482 919487 919488 919489 919490 919491 919493 919496 919498 919499 919503 919505 919506 919507 919508 919509 919511 919516 919517 919521 919524 919528 919528 919534 919538 919539 919540 919550 920268 920270 920274 920283 920288 920330 920376 920499 920634 920653 920708 935660 935661 935686 935746 935795 935809 935881 935889 935918 935942 935951 935952 935983 935984 935995 935996 936059 936106 936120 936121 936151 936212 936218 936253 936259 937609 937875 937925 937932 937950 939359 939412 939421 939487 939677 939690 939731 939941 945836 945838 945868 945883 945884 945890 945898 945940 945986 946040 946129 946139 946155 946181 946219 946294 946352 946356 946364 946378 946386 946452 946461 946490 946509 946536 946551 947308 947311 947639 947659 947661 947663 947696 947702 947703 947704 947705 949222 949300 949322 949332 949374 949378 949416 949429 949440 949455 949457 949459 949480 949485 949486 949487 949489 949523 949524 949545 949546 949561 949596 949597 949598 949599 949607 949610 949614 949620 949625 949635 949643 949646 949653 949654 949656 949657 949660 949661 949684 949692 949693 949698 949699 949705 949706 949707 949708 949709 949710 949718 949719 949720 949721 949722 949723 949743 949751 949752 949755 949756 949770 949771 949772 949773 949774 949775 949776 949781 949782 949784 949785 949786 949787 949788 949789 949791 949794 949803 949808 949837 949840 949841 949879 949906 949924 949927 949944 949966 949983 949987 949988 949989 949990 950047 950056 950057 950080 950107 950108 950114 950131 950150 950248 950305 950311 950357 950373 950375 950385 950390 950398 950423 950427 950428 950430 950448 950469 950471 950472 950509 950545 950624 950625 950680 950706 950750 950802 950809 950817 950822 950877 950902 950938 950941 950970 951005 951765 952368 952799 952800 952834 952977 953036 955748 955770 957991 958894 959685 960078 960269 960293 960322 960334 960342 960434 960439 960441 960449 960469 960511 960531 960532 960543 960547 960548 960552 960564 960565 960578 960579 960580 960609 960643 960652 960691 960814 960817 960818 960824 960830 960842 960851 960865 960878 960879 960880 960882 960886 960897 960913 960914 960915 960916 960923 960930 960938 960940 960941 960944 960947 960948 960990 961003 961006 961022 961047 961066 961072 961087 961113 961122 961127 961155 961171 961192 961199 961212 961227 961228 961232 961234 961243 961297 961307 961323 961324 961339 961340 961347 961348 961386 961393 961394 961401 961411 961423 961434 961442 961443 961457 961504 961505 961513 961516 961545 961553 961600 961620 961639 961648 961665 961672 961704 961709 961722 961730 961737 961740 961766 961802 961814 961816 961817 961834 961841 961851 961859 961860 961861 961864 961870 961899 961909 961928 961929 961932 961951 961954 961965 961979 961983 961993 962008 962013 962023 962025 962033 962036 962061 962069 962077 962091 962120 962134 962150 962157 962179 962181 962185 962189 962190 962198 962211 962222 962224 962247 962274 962292 962299 962301 962303 962313 962316 962317 962341 962364 962401 962411 962418 962444 962445 962473 962496 962510 962517 962518 962545 962546 962554 962568 962589 962594 962597 962598 962603 962634 962659 962663 962667 962677 962678 962680 962697 962744 962747 962748 962749 962751 962754 962757 962761 962762 962775 962781 962790 962796 962800 962857 962885 962892 962907 962917 962931 962963 962983 962993 963002 963010 963016 963037 963042 963043 963057 963060 963088 963102 963106 963107 963109 963120 963122 963132 963165 963168 963174 963182 963210 963228 963236 963238 963239 963242 963272 963308 963309 963312 963314 963331 963355 963356 963377 963394 963396 963411 963412 963416 963418 963434 963446 963454 963455 963457 963490 963504 963507 963536 963537 963539 963542 963554 963565 963639 963640 963658 963677 963679 963701 963724 963763 963772 963779 963782 963785 963788 963797 963806 963811 963828 963862 963864 963868 963871 963903 963926 963928 963990 963992 964010 964014 964021 964024 964038 964120 964130 964132 964135 964147 964158 964164 964168 964172 964177 964179 964199 964203 964225 964253 964266 964291 964304 964330 964360 964364 964377 964450 964494 964509 964510 964518 964529 964540 964541 964552 964553 964554 964558 964559 964578 964599 964618 964640 964738 964742 964742 964759 964760 964777 964782 964801 964818 964819 964834 964836 964837 964843 964844 964847 964849 964858 964859 964863 964872 964906 964907 964908 964912 964920 964964 964991 965022 965025 965027 965048 965053 965073 965081 965087 965102 965103 965116 965118 965120 965121 965138 965158 965168 965179 965185 965208 965217 965232 965234 965273 965282 965318 965349 965357 965366 965390 965402 965429 965438 965448 965456 965463 965505 965516 965520 965522 965532 965566 965570 965581 965584 965595 965598 965606 965610 965638 965644 965647 965680 965699 965712 965723 965758 965759 965785 965787 965804 965811 965823 965845 965850 965851 965862 965863 965867 965871 965878 965880 965900 965904 965905 965911 965912 965915 965926 965930 965931 965932 965934 965955 965958 965963 965966 965995 965997 966001 966054 966060 966075 966077 966090 966093 966117 966135 966140 966143 966147 966163 966174 966175 966184 966207 966209 966214 966225 966236 966246 966247 966249 966267 966269 966271 966272 966300 966306 966318 966329 966330 966351 966354 966355 966359 966363 966380 966381 966392 966410 966411 966466 966500 966501 966511 966518 966553 966560 966561 966563 966564 966576 966577 966580 966581 966583 966585 966590 966592 966598 966622 966633 966639 966647 966658 966659 966666 966713 966737 966742 966754 966762 966769 966787 966791 966792 966798 966809 966821 966826 966831 966843 966847 966848 966855 966864 966865 966866 966867 966868 966870 966876 966877 966880 966897 966907 966918 966934 966937 966938 966939 966943 966944 966965 967003 967004 967008 967028 967030 967044 967061 967062 967083 967087 967090 967092 967114 967118 967137 967150 967160 967184 967191 967196 967200 967203 967210 967211 967213 967217 967218 967219 967223 967228 967254 967255 967269 967288 967289 967300 967315 967321 967368 967382 967389 967408 967410 967442 967449 967483 967495 967499 967500 967503 967514 967519 967524 967543 967604 967616 967621 967651 967655 967657 967663 967672 967676 967697 967718 967733 967737 967738 967776 967777 967780 967794 967805 967846 967891 967913 967952 967953 967985 967988 967991 967993 968002 968004 968030 968037 968038 968055 968065 968088 968112 968127 968132 968139 968143 968147 968152 968156 968185 968227 968232 968235 968253 968255 968273 968279 968284 968285 968296 968310 968311 968317 968330 968354 968381 968406 968414 968448 968453 968458 968459 968475 968477 968491 968534 968567 968573 968574 968575 968615 968621 968641 968647 968655 968659 968665 968708 968709 968716 968719 968722 968728 968735 968737 968812 968841 968853 968859 968865 968885 968888 968890 968902 968962 969007 969012 969082 969093 969097 969115 969119 969165 969229 969284 969291 969304 969308 969320 969321 969322 969324 969325 969333 969339 969347 969358 969372 969373 969384 969394 969397 969402 969403 969404 969421 969435 969438 969451 969459 969521 969522 969536 969543 969571 969590 969594 969595 969616 969618 969638 969645 969651 969653 969662 969663 969669 969670 969671 969673 969679 969681 969688 969689 969691 969692 969702 969703 969720 969721 969723 969730 969731 969748 969781 969789 970071 970109 970849 970964 970990 971008 971015 971032 971052 971058 971059 971087 971101 971119 971129 971134 971145 971158 971162 971163 971174 971207 971211 971222 971226 971232 971235 971248 971255 971268 971280 971285 971299 971310 971335 971347 971357 971363 971382 971383 971387 971445 971451 971459 971463 971466 971471 971473 971498 971508 971522 971527 971548 971549 971567 971568 971577 971580 971582 971586 971588 971600 971628 971638 971639 971640 971647 971651 971674 971690 971694 971697 971699 971731 971734 971736 971741 971763 971770 971772 971790 971794 971804 971828 971850 971864 971871 971872 971956 972209 972212 972232 972254 972255 972273 972289 972292 972298 972335 972338 972339 972375 981841 981845 981854 981862 981872 981908 981915 981926 981939 981946 981969 982219 982221 982234 982262 991777 991852 993235 993583 994341 994342 994452 994507 994733 995188 995194 1096753 1096755 1096813 1096814 1096824 1096838 1096915 1096928 1096937 1096938 1096941 1096943 1096945 1096946 1096950 1096978 1096981 1096983 1096984 1097008 1097017 1097037 1097040 1097044 1097050 1097051 1097077 1097079 1097111 1097114 1097121 1097129 1097138 1097139 1097146 1097147 1097149 1097224 1097292 1097297 1097299 1097314 1097317 1097322 1097326 1097344 1097403 1097406 1097411 1097430 1097440 1097444 1097459 1097460 1097461 1097477 1097528 1097529 1097551 1097583 1097680 1097683 1097711 1097743 1097759 1097812 1097816 1097817 1097844 1097855 1097872 1097899 1097902 1097921 1097926 1097943 1097963 1097978 1097987 1097988 1098024 1098026 1098031 1098033 1098036 1098042 1098049 1098055 1098068 1098069 1098071 1098072 1098076 1098106 1098114 1098123 1098124 1098130 1098131 1098132 1098214 1098218 1098251 1098252 1098254 1098260 1098262 1098263 1098268 1098269 1098311 1098316 1098323 1098328 1098361 1098362 1098405 1098415 1098452 1098467 1098479 1098480 1098483 1098484 1098486 1098489 1098509 1098514 1098528 1098541 1098550 1098555 1098642 1098643 1098658 1098665 1098671 1098672 1098676 1098682 1098706 1098710 1098712 1098717 1098765 1098776 1098785 1098786 1098797 1098808 1098859 1098860 1098868 1098915 1098916 1098917 1098933 1098962 1099014 1099017 1099019 1099101 1099102 1099119 1099160 1099162 1099165 1099168 1099176 1099177 1099189 1099192 1099194 1099221 1099224 1099290 1099300 1099322 1099323 1099324 1099326 1099330 1099334 1099335 1099339 1099355 1099368 1099382 1099386 1099389 1099418 1099421 1099475 1099479 1099490 1099516 1099530 1099535 1099589 1099590 1099616 1099636 1099640 1099728 1099740 1099791 1099798 1099805 1099810 1099816 1099824 1099844 1099850 1099871 1099874 1099875 1099881 1099882 1099886 1099904 1099911 1099914 1099922 1099966 1099967 1099971 1099992 1099999 1100000 1100001 1100005 1100024 1100027 1100043 1100108 1100112 1100144 1100145 1100166 1100207 1100276 1100321 1100359 1100363 1100365 1100366 1100367 1100372 1100378 1100379 1100395 1100398 1100399 1100403 1100460 1100483 1100607 1100611 1100612 1100618 1100619 1100621 1100635 1100636 1100640 1100641 1100642 1100660 1100661 1100669 1100670 1100674 1100687 1100714 1100741 1100765 1100776 1100824 1100848 1100850 1100858 1100874 1100940 1100943 1100945 1101016 1101025 1101046 1101053 1101054 1101056 1101066 1101081 1101106 1101119 1101121 1101142 1101144 1101145 1101157 1101160 1101179 1101249 1101250 1101272 1101283 1101287 1101312 1101372 1101380 1101398 1101407 1101420 1101506 1101514 1101524 1101536 1101539 1101544 1101576 1101589 1101604 1101612 1101620 1101655 1101673 1101690 1101704 1101717 1101733 1101780 1101785 1101792 1101804 1108679 1113649 1113671 1113672 1113688 1113696 1115579 1115654 1115670 1115671 1116134 1116324 1116325 1119957 1119961 1119962 1119964 1119970 1119971 1120059 1120096 1120099 1120103 1120113 1120116 1120126 1120146 1120147 1120148 1120173 1120212 1120215 1120224 1120248 1120249 1120262 1120279 1120298 1120301 1120304 1120338 1120339 1120344 1120358 1120360 1120366 1120379 1120386 1120458 1120491 1120494 1120520 1120523 1120548 1120561 1120590 1120597 1120622 1120623 1120626 1120627 1120665 1120672 1120710 1120729 1120735 1120742 1120750 1120776 1120803 1120837 1120843 1120859 1120860 1120861 1120864 1120880 1120888 1120889 1120901 1120905 1120910 1120911 1120949 1120950 1120969 1120970 1120972 1120978 1120988 1121007 1121037 1121041 1121043 1121057 1121069 1121087 1121090 1121097 1121111 1121142 1121148 1121156 1121191 1121198 1121209 1121217 1121295 1121297 1121329 1121331 1121334 1121341 1121369 1121385 1121395 1121396 1121402 1121403 1121406 1121410 1121418 1121443 1121450 1121470 1121479 1121488 1121520 1121540 1121545 1121556 1121564 1121571 1121580 1121596 1121614 1121621 1121622 1121626 1121630 1121634 1121664 1121695 1121698 1121702 1121711 1121713 1121727 1121747 1121748 1121750 1121763 1121768 1121770 1121779 1121800 1121815 1121855 1121901 1121910 1121933 1121953 1121963 1121964 1121980 1122054 1122055 1122087 1122096 1122127 1122131 1122132 1122150 1122158 1122162 1122193 1122197 1122202 1122203 1122211 1122217 1122220 1122315 1122359 1122368 1122373 1122380 1122433 1122435 1122473 1122527 1122624 1122625 1122641 1122642 1122644 1122675 1122678 1122692 1122710 1122728 1122732 1122734 1122739 1122743 1122744 1122758 1122783 1122786 1122814 1122818 1122828 1122840 1122850 1122864 1122869 1122894 1122906 1122916 1122925 1122941 1123003 1123015 1130441 1130443 1130450 1130453 1130454 1130458 1130464 1130465 1130470 1130473 1130489 1134440 1134446 1134447 1134528 1134535 1134659 1134691 1134711 1135124 1135148 1135159 1135166 1135611 1135618 1135619 1135620 1135629 1135630 1135639 1135650 1135662 1135672 1135697 1135752 1135757 1135758 1135765 1135979 1135982 1135985 1135986 1135987 1135988 1135989 1135990 1135991 1135992 1135997 1136023 1136027 1136034 1136040 1136063 1136066 1136069 1136073 1136091 1136092 1136102 1136110 1136111 1136119 1136125 1136139 1136144 1136145 1136147 1136151 1136152 1136153 1136157 1136160 1136161 1136166 1136177 1136193 1136197 1136215 1136226 1136237 1136238 1136239 1136240 1136242 1136243 1136247 1136252 1136298 1136300 1136310 1136315 1136316 1136317 1136325 1136336 1136337 1136338 1136340 1136352 1136352 1136365 1136366 1136367 1136368 1136369 1136370 1136376 1136377 1136404 1136445 1136446 1136475 1136530 1136534 1136535 1136536 1136539 1136564 1136567 1136585 1136612 1136639 1136678 1136693 1136731 1136732 1136747 1136749 1136775 1136827 1136835 1136844 1136850 1136886 1136938 1136986 1137089 1137091 1137102 1137120 1137148 1137151 1137156 1137274 1137275 1137277 1137282 1137288 1137343 1137419 1137426 1137427 1137451 1137456 1137457 1137464 1137490 1137493 1137495 1137499 1137502 1137508 1137517 1137583 1137584 1137586 1137610 1137611 1137639 1137641 1137643 1137651 1137683 1137684 1137729 1137745 1137746 1137777 1137779 1137799 1137804 1137829 1137830 1137867 1137873 1137893 1137929 1137931 1137940 1137945 1137947 1137951 1137953 1137989 1137996 1138002 1138003 1138078 1138094 1138122 1138139 1138168 1138256 1138261 1138283 1138289 1138291 1138314 1138321 1138348 1138356 1138360 1138393 1138400 1138401 1138406 1138418 1138422 1138427 1138430 1138436 1138438 1138453 1138481 1138525 1138529 1138564 1138569 1138574 1138580 1138840 1141007 1141009 1141015 1141625 1141626 1141628 1141639 1141648 1142633 1142635 1142644 1142673 1142722 1142723 1142736 1142738 1142747 1142750 1142751 1142755 1142785 1142792 1142794 1142800 1142811 1142812 1142813 1142814 1142817 1142819 1142859 1142862 1142877 1142884 1142911 1142946 1142961 1143107 1143109 1143115 1143119 1143120 1143130 1143167 1143175 1143177 1143178 1143204 1143225 1143233 1143236 1143255 1143256 1143258 1143321 1143332 1143335 1143408 1143412 1143414 1143450 1143460 1143461 1143489 1143492 1143519 1143533 1143552 1143604 1143624 1143635 1143637 1143650 1143652 1143667 1143673 1143723 1143734 1143766 1143767 1143769 1143778 1143796 1143797 1143798 1143806 1143823 1143845 1143863 1143864 1143869 1143882 1143888 1143897 1143923 1143933 1143942 1143944 1143949 1143952 1143960 1143978 1143979 1144015 1144017 1144021 1144025 1144026 1144031 1144036 1144050 1144060 1144061 1144079 1144080 1144099 1144112 1144120 1144124 1144139 1144144 1144156 1144158 1144159 1144162 1144167 1144168 1144172 1144173 1144174 1144186 1144205 1144243 1144258 1144261 1144264 1144266 1144283 1144320 1144324 1144365 1144369 1144377 1144395 1144416 1144425 1144426 1144454 1144459 1144465 1144486 1144499 1144521 1144553 1144558 1144559 1144572 1144709 1144786 1145661 1145662 1145755 1146618 1146627 1146629 1146630 1146632 1148297 1148350 1148353 1148798 1153432 1153729 1160778 1170000 1170011 1170049 1170105 1170248 1170286 1170320 1170367 1170421 1170584 1170602 1170752 1171255 1171279 1171311 1171339 1171342 1171350 1171569 1171635 1171688 1171708 1171766 1171810 1171824 1171847 1171848 1171849 1171884 1171888 1171891 1171892 1171893 1171894 1171897 1171944 1171945 1171946 1171950 1171958 1171959 1171970 1171972 1171979 1172004 1172005 1172033 1172054 1172055 1172059 1172060 1172062 1172063 1172070 1172075 1172097 1172098 1172105 1172107 1172108 1172140 1172152 1172187 1172188 1172190 1172208 1172209 1172252 1172255 1172258 1172283 1172292 1172326 1172337 1172343 1172359 1172366 1172368 1172384 1172412 1172418 1172420 1172424 1172436 1172445 1172452 1172460 1172465 1172506 1172518 1172540 1172551 1172566 1172586 1172593 1172682 1172733 1172734 1172742 1172764 1172796 1172806 1172807 1172809 1172810 1172874 1172875 1172926 1173051 1173097 1173103 1173118 1173145 1173148 1173150 1173171 1173174 1173190 1173192 1173197 1173207 1173210 1173214 1173246 1173257 1173272 1173297 1173298 1173313 1173325 1173347 1173349 1173351 1173365 1173370 1173384 1173400 1173404 1173436 1173441 1173449 1173450 1173457 1173462 1173495 1173498 1173540 1173549 1173600 1173607 1173612 1173617 1173644 1173690 1173740 1173749 1173815 1173818 1173864 1173866 1173877 1173878 1173881 1173913 1173959 1173995 1174022 1174031 1174032 1174046 1174050 1174093 1174094 1174095 1174100 1174102 1174103 1174104 1174124 1174169 1174224 1174225 1174255 1174269 1174288 1174318 1174340 1174352 1174361 1174506 1174525 1174532 1174578 1174590 1174640 1174643 1174670 1174671 1174672 1174692 1174728 1174732 1174749 1174765 1174773 1174777 1174779 1174780 1174785 1174813 1174835 1174843 1174852 1174858 1174878 1174879 1174880 1174887 1174888 1174910 1174937 1174938 1174940 1174951 1174986 1174995 1175028 1175122 1175181 1175203 1175204 1175239 1175240 1175254 1175255 1175256 1175296 1175297 1175299 1175322 1175334 1175338 1175347 1175355 1175372 1175376 1175384 1175407 1175428 1175496 1175527 1175528 1175541 1175607 1175608 1175632 1175633 1175640 1175645 1175650 1175698 1175703 1175725 1175726 1175744 1175749 1175754 1175758 1175759 1175774 1175778 1175785 1175786 1175813 1175835 1175840 1175876 1175888 1175917 1175919 1175921 1175924 1175946 1175955 1175966 1175971 1175999 1176012 1176031 1176109 1176137 1176140 1176152 1176158 1176162 1176215 1176226 1176237 1176239 1176244 1176248 1176268 1176278 1176280 1176322 1176432 1176473 1176474 1178976 1178989 1179106 1179132 1179133 1179174 1179435 1179464 1179465 1179511 1179841 1179885 1179891 1179928 1179934 1179939 1179956 1179960 1179963 1179970 1179973 1180002 1180069 1180307 1180316 1180333 1180334 1180347 1180363 1254501 1254510 1254571 1254701 1254702 1254704 1254705 1254720 1254721 1254850 1254869 1254874 1254877 1255096 1255097 1255605 1255612 1255613 1255614 1255615 1255616 1255617 1256751 1256752 1256756 1256757 1256760 1256764 1256770 1256771 1256778 1256794 1256801 1256818 1256840 1256844 1256863 1256890 1256900 1256928 1256943 1256958 1257004 1257028 1257072 1257076 1257086 1257094 1257112 1257113 1257128 1257137 1257143 1257176 1257182 1257187 1257189 1257197 1257204 1257262 1257274 1257311 1257319 1257342 1257344 1257374 1257382 1257401 1257456 1257459 1257494 1257502 1257533 1257545 1257575 1257592 1257597 1257609 1257616 1257634 1257646 1257651 1257719 1257720 1257744 1257769 1257776 1257777 1257800 1257801 1257804 1257805 1257820 1257828 1257841 1257842 1257846 1257862 1257863 1257901 1257902 1257920 1257927 1257929 1257945 1257946 1257952 1257953 1257962 1257988 1257996 1257998 1257999 1258002 1258006 1258010 1258073 1258083 1258086 1258088 1258100 1258106 1258107 1258132 1258133 1258167 1258177 1258190 1258217 1258239 1258241 1258243 1258244 1258249 1258250 1258276 1258279 1258280 1258295 1258301 1258311 1258312 1258313 1258320 1258321 1258336 1258341 1258397 1258402 1258412 1258415 1258456 1258460 1258464 1258473 1258474 1258492 1258496 1258535 1258571 1258585 1258604 1258638 1258649 1258669 1258687 1258691 1258692 1258778 1258789 1258791 1258847 1258854 1258892 1258910 1258914 1258975 1258990 1259001 1259003 1259005 1259008 1259016 1259051 1259075 1259090 1259099 1259105 1259126 1259138 1259158 1259172 1259189 1259205 1259206 1259207 1259209 1259211 1259215 1259236 1259263 1259265 1259275 1259315 1259318 1259320 1259328 1259334 1259346 1259369 1259395 1259399 1259400 1259409 1259412 1259418 1259435 1259436 1259439 1259466 1259485 1259498 1259533 1259537 1259541 1259581 1259595 1259600 1259633 1259645 1259676 1259682 1259683 1259684 1259703 1259705 1259709 1259710 1259712 1259763 1259795 1259807 1259833 1259876 1259877 1259929 1259950 1259982 1259994 1259995 1260008 1260009 1260021 1260035 1260046 1260048 1260067 1260113 1260114 1260130 1260186 1260195 1260223 1260226 1260229 1260231 1260297 1260311 1260931 1261186 1261253 1261484 1268772 1268789 1268793 1268801 1268803 1268874 1268876 1268900 1269099 1269100 1269172 1269174 1269691 1270354 1270356 1270371 1270375 1270376 1270377 1270381 1270382 1270384 1270418 1270424 1270432 1270458 1270480 1270483 1270487 1270488 1270490 1270495 1270507 1270509 1270536 1270538 1270543 1270561 1270565 1270586 1270595 1270636 1270641 1270649 1270655 1270656 1270688 1270689 1270691 1270692 1270697 1270700 1270706 1270708 1270735 1270739 1270740 1270742 1270743 1270746 1270747 1270749 1270751 1270752 1270758 1270759 1270760 1270762 1270763 1270770 1270771 1270772 1270773 1270790 1270792 1270793 1270794 1270799 1270805 1270807 1270810 1270832 1270852 1270860 1270869 1270900 1270905 1270906 1270908 1270909 1270910 1270911 1270912 1271151 1271481 1271488 1271607 1271704 1272709 1272713 1272804 1273037 1273270 1274098 1275409 1275483 1275485 1275490 1275683 1275692 1275876 1275878 1275882 1275886 1275890 1275896 1275898 1275901 1275904 1275915 1275916 1275917 1275927 1275930 1275935 1275936 1275940 1275948 1276239 1276241 1276243 1276244 1276245 1276898 1277073 1277075 1291116 1291119 1291120 1291121 1291122 1291123 1291131 1291201 1291456 1291583 1291775 1291779 1291816 1291907 1291910 1291912 1291913 1291914 1291915 1291921 1291923 1291927 1291929 1291974 1291994 1291999 1292051 1292052 1292053 1292054 1292055 1292056 1292060 1292061 1292063 1292065 1292066 1292068 1292069 1292070 1292071 1292072 1292105 1292144 1292145 1292146 1292266 1292267 1292268 1292269 1295197 1295204 1295207 1295213 1295217 1295219 1295236 1295238 1295239 1295240 1295247 1295251 1295257 1295258 1295268 1295270 1295271 1295275 1295277 1295290 1295294 1295297 1295300 1295304 1295305 1295331 1295337 1295346 1295363 1295365 1295366 1295368 1295370 1295372 1295373 1295378 1295407 1295416 1295437 1295447 1295464 1295474 1295476 1295477 1295478 1295479 1295484 1295486 1295488 1295489 1295490 1295492 1295493 1295495 1295498 1295499 1295501 1295505 1295506 1295507 1295511 1295523 1295524 1295530 1295531 1295538 1295543 1295544 1295561 1295562 1295570 1298636 1299132 1301094 1301503 1301504 1302054 1302670 1302672 1302674 1302678 1302683 1302684 1302685 1302687 1305628 1305745 1305749 1305764 1305847 1305851 1305923 1306832 1306906 1306913 1306917 1306918 1306926 1306968 1306982 1306987 1306997 1307001 1307011 1307056 1307072 1307084 1307105 1307126 1307127 1307139 1307220 1307226 1307235 1307242 1307256 1307264 1307296 1307309 1307325 1307367 1307372 1307376 1307392 1307407 1307475 1307532 1307553 1307583 1307587 1307637 1307644 1307682 1307698 1307715 1307726 1307747 1307766 1307773 1307796 1307857 1307877 1307886 1307906 1307911 1307913 1307920 1307941 1307948 1308011 1308058 1308086 1308098 1308121 1308140 1308180 1308189 1308206 1308247 1308248 1308285 1308288 1308290 1308316 1308398 1308429 1308466 1308467 1308516 1308524 1308620 1308621 1308633 1308659 1308682 1308691 1308703 1308727 1308752 1308768 1308808 1308850 1308909 1308912 1309020 1309025 1309026 1309037 1309046 1309072 1309084 1309143 1309195 1309276 1309285 1309308 1309418 1309453 1309470 1309471 1309483 1309505 1309549 1309561 1309635 1309709 1309732 1309784 1309806 1309821 1309859 1309969 1309974 1310006 1310028 1310035 1310046 1310167 1310227 1310318 1310320 1310352 1310379 1310412 1310416 1310477 1310484 1310492 1310510 1310515 1310540 1310548 1310549 1310550 1310689 1310692 1310696 1310697 1310704 1310746 1310755 1310763 1310812 1310872 1310890 1310892 1310905 1310906 1310963 1310988 1310994 1310996 1311002 1311003 1311004 1311013 1311014 1311017 1311049 1311056 1311075 1311076 1311102 1311114 1311124 1311125 1311128 1311129 1311137 1311140 1311141 1311159 1311167 1311179 1311186 1311187 1311198 1311255 1311257 1311308 1311309 1311346 1311361 1311371 1311393 1311395 1311420 1311429 1311435 1311436 1311440 1311442 1311453 1311470 1311477 1311492 1311497 1311568 1311572 1311596 1311616 1311644 1311669 1311670 1311742 1311751 1311757 1311786 1311824 1311830 1311861 1311867 1311871 1311904 1311926 1311960 1311982 1311993 1312001 1312013 1312021 1312031 1312040 1312042 1312043 1312044 1312045 1312046 1312062 1312063 1312067 1312079 1312103 1312107 1312121 1312126 1312159 1312169 1312172 1312232 1312248 1312249 1312255 1312258 1312354 1312385 1312386 1312389 1312405 1312424 1312461 1312473 1312503 1312532 1312550 1312603 1312650 1312689 1312695 1312696 1312717 1312720 1312737 1312748 1312785 1312835 1312842 1312846 1312851 1312886 1312887 1312923 1312958 1312965 1312991 1312995 1313220 1313227 1313282 1313290 1313303 1313312 1313351 1313356 1313380 1313386 1313407 1313409 1313437 1313472 1313482 1313494 1313497 1313602 1313613 1313661 1313669 1313689 1313690 1313695 1313726 1313727 1313752 1313777 1313794 1313805 1313807 1313823 1314754 1314764 1314765 1314772 1314775 1314782 1314785 1314790 1314806 1314820 1314846 1314851 1314855 1314885 1314889 1314894 1314901 1314915 1314953 1314954 1317103 1317271 1317428 1317433 1317443 1317444 1317445 1317446 1317481 1317494 1317554 1317579 1317669 1317683 1317684 1317726 1317751 1317839 1317879 1317895 1317909 1317929 1317937 1317964 1317971 1318045 1318050 1318483 1318731 1318732 1318733 1319270 1319312 1320096 1320125 1320283 1320551 1321170 1321385 1321386 1321387 1321566 1321568 1321583 1321588 1321759 1321760 1321889 1321890 1321892 1321893 1321894 1321912 1321914 1321918 1321919 1321960 1321989 1321990 1321991 1321993 1321994 1325318 1325331 1327771 1327771 1327772 1327780 1327784 1327811 1327812 1327844 1327895 1327911 1327938 1327944 1328025 1328027 1328028 1328029 1328030 1328053 1328071 1328093 1328109 1328129 1328192 1328194 1328195 1328236 1328696 1328706 1328711 1328825 1328853 1328865 1328912 1328918 1328923 1328926 1330043 1330099 1330170 1330202 1330542 1330611 1330617 1330623 1330960 1332001 1332002 1332005 1332006 1332007 1332008 1332009 1332009 1332010 1332011 1332012 1332013 1332014 1332015 1332017 1332018 1332020 1332023 1332025 1332026 1332027 1332028 1332029 1332030 1332033 1332034 1332035 1332036 1332065 1332070 1332071 1332072 1332073 1332074 1332075 1332076 1332077 1332077 1332080 1332082 1332083 1332084 1332086 1332088 1332089 1332090 1332091 1332093 1332095 1332096 1332098 1332099 1332100 1332101 1332102 1332103 1332104 1332105 1332105 1332106 1332107 1332108 1332109 1332110 1332111 1332112 1332113 1332114 1332114 1332115 1332116 1332117 1332118 1332118 1332119 1332120 1332121 1332122 1332123 1332124 1332125 1332126 1332127 1332132 1332142 1332143 1332144 1332163 1332169 1332172 1332237 1332256 1332295 1332296 1332320 1332321 1332322 1332324 1332325 1332330 1332332 1332336 1332359 1332360 1332365 1332367 1332371 1332372 1332373 1332374 1332374 1332375 1332375 1332376 1332376 1332377 1332378 1332379 1332380 1332381 1332382 1332386 1332387 1332388 1332389 1332390 1332391 1332393 1332394 1332395 1332396 1332397 1332398 1332399 1332400 1332402 1332403 1332405 1332406 1332407 1332408 1332409 1332410 1332411 1332412 1332413 1332413 1332414 1332415 1332416 1332417 1332418 1332419 1332420 1332421 1332421 1332422 1332423 1332424 1332425 1332426 1332427 1332428 1332429 1332430 1332431 1332433 1332434 1332435 1332436 1332437 1332438 1332447 1332447 1332448 1332449 1332450 1332451 1332452 1332453 1332455 1332545 1332546 1332588 1332589 1332590 1332603 1332620 1332639 1332645 1332648 1332649 1332650 1332651 1332652 1332653 1332654 1332656 1332658 1332659 1332660 1332661 1332662 1332664 1332665 1332666 1332667 1332668 1332669 1332670 1332671 1332672 1332673 1332673 1332675 1332676 1332677 1332678 1332679 1332680 1332681 1332682 1332683 1332684 1332685 1332686 1332687 1332688 1332689 1332690 1332691 1332692 1332693 1332694 1332695 1332696 1332697 1332698 1332699 1332700 1332701 1332702 1332703 1332704 1332704 1332705 1332707 1332708 1332709 1332710 1332711 1332712 1332713 1332714 1332715 1332716 1332717 1332718 1332718 1332719 1332720 1332720 1332721 1332721 1332722 1332724 1332724 1332725 1332727 1332728 1332729 1332730 1332731 1332732 1332733 1332734 1332735 1332736 1332737 1332738 1332739 1332740 1332741 1332742 1332743 1332744 1332745 1332746 1332748 1332749 1332750 1332751 1332752 1332753 1332754 1332755 1332757 1332758 1332759 1332760 1332761 1332762 1332763 1332764 1332765 1332765 1332766 1332767 1332768 1332770 1332771 1332772 1332773 1332774 1332775 1332776 1332777 1332778 1332780 1332781 1332781 1332782 1332782 1332784 1332785 1332786 1332787 1332788 1332789 1332790 1332791 1332792 1332793 1332794 1332795 1332796 1332797 1332798 1332799 1332800 1332801 1332802 1332803 1332804 1332805 1332806 1332807 1332808 1332809 1332810 1332811 1332812 1332813 1332814 1332816 1332817 1332818 1332819 1332820 1332821 1332822 1332823 1332824 1332826 1332828 1332829 1332830 1332834 1332838 1332856 1332857 1332858 1332870 1332924 1332927 1333018 1333031 1333055 1333075 1333076 1333079 1333080 1333104 1333105 1333135 1333136 1333152 1333165 1333166 1333168 1333180 1333181 1333182 1333183 1333185 1333187 1333188 1333192 1333193 1333194 1333195 1333196 1333197 1333198 1333199 1333200 1333201 1333202 1333203 1333205 1333206 1333207 1333208 1333208 1333209 1333210 1333210 1333211 1333212 1333213 1333214 1333216 1333217 1333218 1333219 1333221 1333223 1333225 1333226 1333227 1333228 1333229 1333231 1333232 1333234 1333236 1333237 1333238 1333240 1333241 1333242 1333243 1333244 1333245 1333246 1333247 1333248 1333249 1333250 1333251 1333252 1333253 1333254 1333255 1333256 1333257 1333258 1333261 1333263 1333282 1333302 1333311 1333312 1333314 1333315 1333316 1333317 1333325 1333326 1333327 1333327 1333329 1333331 1333332 1333333 1333334 1333335 1333336 1333337 1333338 1333339 1333340 1333341 1333342 1333343 1333344 1333345 1333346 1333347 1333348 1333349 1333350 1333351 1333352 1333352 1333353 1333355 1333356 1333357 1333358 1333359 1333360 1333361 1333362 1333363 1333365 1333366 1333367 1333368 1333398 1333402 1333403 1333408 1333409 1333410 1333412 1333421 1333435 1333471 1333478 1333483 1333497 1333498 1333522 1333523 1333524 1333525 1333526 1333527 1333528 1333530 1333532 1333533 1333535 1333536 1333537 1333538 1333539 1333540 1333541 1333542 1333543 1333544 1333545 1333547 1333548 1333565 1333566 1333567 1333568 1333569 1333570 1333571 1333572 1333572 1333573 1333573 1333574 1333575 1333576 1333577 1333578 1333579 1333581 1333583 1333583 1333584 1333585 1333586 1333587 1333588 1333589 1333633 1333634 1333635 1333637 1333651 1333652 1333653 1333655 1333656 1333658 1333659 1333660 1333661 1333662 1333663 1333664 1333665 1333666 1333667 1333667 1333668 1333669 1333670 1333672 1333673 1333674 1333675 1333676 1333677 1333678 1333679 1333682 1333683 1333684 1333685 1333686 1333687 1333688 1333689 1333690 1333691 1333692 1333693 1333694 1333695 1333695 1333696 1333697 1333698 1333699 1333700 1333701 1333702 1333703 1333704 1333705 1333706 1333707 1333708 1333710 1333711 1333712 1333713 1333714 1333715 1333716 1333717 1333718 1333719 1333720 1333721 1333722 1333723 1333724 1333725 1333729 1333730 1333731 1333733 1333735 1333736 1333737 1333738 1333739 1333806 1333809 1333827 1333828 1333877 1333880 1333882 1333884 1333885 1333887 1333890 1333891 1333892 1333893 1333894 1333895 1333896 1333897 1333898 1333899 1333900 1333902 1333902 1333903 1333906 1333908 1333909 1333910 1333912 1333913 1333914 1333915 1333916 1333918 1333919 1333920 1333920 1333921 1333921 1333922 1333923 1333924 1333925 1333926 1333927 1333928 1333929 1333930 1333931 1333931 1333933 1333934 1333935 1333948 1333949 1333960 1333998 1333999 1334000 1334032 1334033 1334038 1334039 1334040 1334041 1334043 1334046 1334064 1334072 1334074 1334075 1334076 1334077 1334078 1334079 1334080 1334081 1334082 1334083 1334084 1334085 1334086 1334087 1334088 1334089 1334090 1334091 1334092 1334093 1334094 1334095 1334096 1334097 1334098 1334099 1334100 1334101 1334102 1334103 1334104 1334105 1334106 1334107 1334108 1334109 1334110 1334111 1334112 1334114 1334115 1334116 1334117 1334118 1334119 1334120 1334121 1334122 1334123 1334124 1334125 1334125 1334126 1334126 1334127 1334128 1334129 1334130 1334131 1334132 1334133 1334134 1334135 1334136 1334137 1334138 1334139 1334140 1334141 1334142 1334144 1334145 1334146 1334147 1334148 1334155 1334162 1334164 1334165 1334189 1334190 1334191 1334193 1334195 1334196 1334197 1334201 1334202 1334204 1334205 1334214 1334283 1334284 1334286 1334289 1334290 1334291 1334292 1334294 1334295 1334306 1334307 1334308 1334309 1334309 1334310 1334311 1334313 1334314 1334324 1334325 1334329 1334330 1334331 1334332 1334333 1334334 1334335 1334336 1334337 1334338 1334339 1334340 1334341 1334342 1334343 1334345 1334346 1334347 1334347 1334348 1334348 1334349 1334350 1334351 1334352 1334353 1334354 1334392 1334397 1334435 1334456 1334468 1334469 1334470 1334471 1334472 1334473 1334474 1334475 1334476 1334476 1334477 1334478 1334479 1334480 1334481 1334482 1334483 1334485 1334486 1334487 1334488 1334489 1334490 1334491 1334492 1334493 1334494 1334495 1334496 1334497 1334498 1334499 1334501 1334502 1334503 1334504 1334505 1334506 1334507 1334508 1334509 1334510 1334511 1334512 1334512 1334513 1334514 1334515 1334516 1334517 1334518 1334518 1334519 1334521 1334522 1334523 1334525 1334526 1334527 1334528 1334530 1334531 1334532 1334533 1334534 1334535 1334536 1334537 1334538 1334539 1334545 1334632 1334639 1334693 1334706 1334751 1334765 1334766 1334777 1334805 1334832 1334833 1334834 1334837 1334858 1334859 1334861 1334862 1334862 1334863 1334864 1334865 1334866 1334867 1334868 1334869 1334870 1334871 1334872 1334873 1334874 1334875 1334875 1334877 1334878 1334878 1334879 1334880 1334880 1334881 1334882 1334883 1334884 1334885 1334886 1334887 1334889 1334890 1334891 1334892 1334894 1334895 1334896 1334897 1334899 1334900 1334901 1334902 1334903 1334904 1334905 1334906 1334907 1334908 1334909 1334910 1334911 1334912 1334913 1334914 1334915 1334933 1334944 1334951 1334952 1334960 1334961 1334981 1334982 1335056 1335068 1335071 1335072 1335073 1335075 1335076 1335077 1335078 1335079 1335081 1335082 1335083 1335083 1335084 1335084 1335085 1335085 1335086 1335087 1335087 1335088 1335088 1335090 1335091 1335092 1335093 1335132 1335134 1335135 1335136 1335137 1335138 1335142 1335143 1335144 1335186 1335188 1335189 1335190 1335191 1335192 1335193 1335194 1335195 1335196 1335197 1335197 1335198 1335199 1335200 1335201 1335202 1335203 1335204 1335205 1335206 1335207 1335208 1335209 1335209 1335210 1335211 1335212 1335213 1335214 1335215 1335216 1335216 1335217 1335219 1335219 1335220 1335220 1335221 1335222 1335223 1335224 1335225 1335226 1335227 1335228 1335229 1335230 1335231 1335232 1335233 1335234 1335236 1335236 1335237 1335237 1335238 1335239 1335240 1335241 1335242 1335243 1335244 1335248 1335249 1335250 1335251 1335252 1335253 1335254 1335259 1335261 1335262 1335264 1335265 1335267 1335268 1335270 1335271 1335272 1335273 1335274 1335276 1335278 1335279 1335280 1335281 1335283 1335284 1335285 1335286 1335287 1335288 1335289 1335290 1335293 1335296 1335297 1335330 1335331 1335332 1335333 1335369 1335375 1335376 1335400 1335403 1335404 1335405 1335408 1335430 1335439 1335440 1335455 1335464 1335494 1335528 1335530 1335532 1335533 1335534 1335537 1335538 1335539 1335540 1335542 1335545 1335547 1335548 1335549 1335552 1335553 1335554 1335555 1335559 1335562 1335580 1335587 1335588 1335589 1335590 1335591 1335594 1335596 1335597 1335598 1335599 1335602 1335604 1335605 1335606 1335607 1335608 1335609 1335610 1335613 1335614 1335616 1335617 1335619 1335620 1335621 1335623 1335624 1335625 1335628 1335629 1335630 1335631 1335632 1335633 1335634 1335635 1335636 1335637 1335638 1335639 1335640 1335641 1335642 1335643 1335645 1335646 1335647 1335648 1335649 1335650 1335650 1335651 1335652 1335653 1335654 1335655 1335665 1335671 1335674 1335675 1335676 1335755 1335763 1335770 1335782 1335783 1335784 1335786 1335791 1335792 1335795 1335796 1335797 1335798 1335799 1335800 1335803 1335804 1335805 1335806 1335807 1335808 1335809 1335810 1335811 1335812 1335813 1335814 1335816 1335817 1335818 1335821 1335822 1335823 1335824 1335826 1335828 1335829 1335830 1335831 1335832 1335833 1335834 1335835 1335836 1335837 1335840 1335841 1335842 1335842 1335843 1335844 1335845 1335846 1335847 1335848 1335849 1335850 1335851 1335852 1335855 1335857 1335858 1335859 1335860 1335862 1335864 1335865 1335866 1335867 1335868 1335869 1335870 1335871 1335872 1335873 1335874 1335875 1335876 1335877 1335878 1335879 1335881 1335884 1335886 1335887 1335888 1335889 1335890 1335892 1335946 1335948 1335953 1335955 1335958 1335961 1335962 1335977 1335984 1335987 1335988 1335989 1336017 1336034 1336511 1336534 1336539 1336547 1336556 1336557 1336558 1336560 1336561 1336562 1336563 1336564 1336565 1336566 1336567 1336568 1336569 1336571 1336573 1336574 1336575 1336576 1336578 1336579 1336580 1336583 1336585 1336592 1336594 1336596 1336598 1336599 1336601 1336602 1336603 1336604 1336605 1336606 1336607 1336608 1336620 1336621 1336622 1336623 1336624 1336625 1336626 1336627 1336629 1336630 1336631 1336632 1336633 1336634 1336635 1336636 1336637 1336638 1336639 1336640 1336641 1336642 1336643 1336644 1336645 1336646 1336647 1336648 1336649 1336650 1336652 1336653 1336654 1336655 1336656 1336657 1336658 1336659 1336660 1336661 1336662 1336663 1336664 1336665 1336666 1336667 1336668 1336669 1336670 1336671 1336673 1336674 1336675 1336676 1336677 1336678 1336679 1336680 1336681 1336685 1336686 1336688 1336689 1336690 1336692 1336693 1336694 1336696 1336697 1336700 1336701 1336702 1336731 1336737 1336767 1336768 1336776 1336777 1336780 1336781 1336786 1336787 1336788 1336789 1336798 1336799 1336803 1336804 1336806 1336807 1336818 1336821 1336836 1336837 1336838 1336848 1336849 1336923 1336926 1336927 1336929 1336930 1336931 1336932 1336933 1336934 1336936 1336937 1336938 1336952 1336965 1336966 1336986 1336988 1336990 1337001 1337002 1337003 1337005 1337006 1337007 1337025 1337026 1337027 1337028 1337029 1337030 1337031 1337032 1337033 1337034 1337037 1337039 1337041 1337043 1337047 1337049 1337051 1337052 1337055 1337056 1337080 1337090 1337091 1337092 1337093 1337094 1337096 1337097 1337098 1337103 1337104 1337105 1337106 1337107 1337108 1337109 1337109 1337110 1337111 1337112 1337113 1337114 1337262 1337342 1363842 1363844 1363845 1363852 1363878 1363982 1363984 1364012 1364020 1364078 1364081 1364082 1364113 1364142 1364160 1364508 1364684 1364818 1365484 1365511 1366067 1366325 1366332 1366332 1366355 1366358 1366370 1366394 1366433 1366439 1366441 1366448 1366449 1366450 1366459 1366462 1366462 1366463 1366464 1366475 1366477 1366479 1366480 1366481 1366482 1366486 1366487 1366488 1366489 1366490 1366496 1366498 1366499 1366500 1366502 1366503 1366506 1366509 1366510 1366512 1366513 1366514 1366515 1366516 1366517 1366519 1366520 1366521 1366524 1366525 1366526 1366527 1366528 1366529 1366530 1366532 1366535 1366536 1366537 1366544 1366550 1366555 1366556 1366557 1366561 1366562 1366563 1366564 1366565 1366566 1366571 1366571 1366572 1366582 1366583 1366584 1366586 1366587 1366617 1366618 1366622 1366622 1366623 1366628 1366631 1366637 1366644 1366645 1366646 1366649 1366674 1366678 1366752 1366753 1366757 1366763 1366764 1366765 1366767 1366777 1366824 1366832 1366837 1366838 1366857 1366875 1366876 1366879 1366882 1366894 1366895 1366897 1366898 1366903 1366909 1366910 1366911 1367004 1367009 1367028 1367148 1367171 1367177 1367202 1367204 1367307 1367342 1367374 1367389 1367441 1367443 1367449 1367452 1367453 1367454 1367455 1367456 1367457 1367458 1367459 1367460 1367466 1367469 1367471 1367472 1367475 1367476 1367477 1367482 1367485 1367517 1367551 1367552 1367553 1367578 1367595 1367597 1367601 1367655 1367656 1367657 1367671 1367673 1367675 1367689 1367690 1367699 1367699 1367701 1367702 1367706 1367710 1367714 1367721 1367731 1367780 1367790 1367797 1367798 1367800 1367881 1367971 1368102 1368105 1368110 1368111 1368113 1368192 1368327 1368335 1368803 1370152 1370207 1370369 1370509 1370600 1372990 1373057 1377870 1377871 1378702 1382029 1382144 1382176 1384510 1384511 1384512 1384513 1384517 1384519 1384522 1384524 1384525 1384528 1384530 1384531 1384532 1384536 1384537 1384538 1384539 1384540 1384543 1384545 1384551 1384553 1384567 1384573 1384603 1384610 1384612 1384613 1384614 1384616 1384616 1384617 1384619 1384634 1384638 1384650 1384653 1384665 1384671 1384672 1384673 1411928 1411929 1411976 1412005 1412008 1412015 1412017 1412024 1412027 1412028 1412030 1412031 1412045 1412046 1412048 1412050 1412051 1412052 1412053 1412054 1412055 1412056 1412057 1412058 1412059 1412061 1412062 1412063 1412064 1412065 1412066 1412067 1412068 1412069 1412070 1412071 1412072 1412073 1412074 1412075 1412076 1412077 1412078 1412079 1412080 1412081 1412082 1412083 1412084 1412089 1412090 1412091 1412092 1412093 1412094 1412095 1412096 1412097 1412098 1412099 1412100 1412100 1412101 1412102 1412103 1412104 1412105 1412106 1412107 1412108 1412110 1412111 1412112 1412113 1412114 1412114 1412115 1412116 1412116 1412117 1412118 1412119 1412120 1412122 1412122 1412124 1412125 1412126 1412127 1412128 1412129 1412131 1412132 1412133 1412134 1412135 1412136 1412137 1412138 1412140 1412149 1412163 1412164 1412165 1412166 1412167 1412168 1412169 1412170 1412171 1412172 1412173 1412176 1412177 1412178 1412179 1412180 1412181 1412182 1412186 1412188 1412189 1412192 1412193 1412197 1412198 1412199 1412200 1412201 1412205 1412206 1412207 1412208 1412209 1412210 1412211 1412213 1412214 1412215 1412216 1412217 1412218 1412219 1412220 1412221 1412222 1412223 1412224 1412225 1412226 1412227 1412228 1412229 1412230 1412231 1412232 1412233 1412234 1412234 1412235 1412236 1412237 1412238 1412239 1412241 1412242 1412243 1412244 1412245 1412246 1412247 1412251 1412252 1412253 1412260 1412261 1412262 1412263 1412266 1412267 1412268 1412271 1412272 1412273 1412274 1412275 1412276 1412277 1412278 1412279 1412281 1412282 1412283 1412284 1412285 1412286 1412289 1412289 1412290 1412291 1412292 1412293 1412294 1412295 1412296 1412297 1412299 1412302 1412303 1412304 1412305 1412306 1412307 1412309 1412311 1412312 1412313 1412314 1412315 1412316 1412317 1412318 1412319 1412320 1412321 1412322 1412323 1412324 1412325 1412326 1412327 1412328 1412329 1412330 1412331 1412332 1412333 1412334 1412335 1412336 1412337 1412338 1412339 1412340 1412341 1412342 1412343 1412344 1412347 1412348 1412355 1412356 1412357 1412360 1412361 1412362 1412363 1412364 1412365 1412366 1412367 1412368 1412370 1412371 1412372 1412373 1412374 1412375 1412376 1412378 1412379 1412381 1412382 1412383 1412384 1412387 1412388 1412389 1412390 1412391 1412392 1412393 1412394 1412395 1412397 1412398 1412399 1412400 1412401 1412402 1412403 1412404 1412405 1412406 1412407 1412409 1412417 1412418 1412419 1412420 1412423 1412424 1412425 1412426 1412427 1412428 1412429 1412430 1412431 1412433 1412434 1412437 1412438 1412439 1412440 1412441 1412442 1412443 1412444 1412445 1412446 1412447 1412448 1412449 1412450 1412452 1412453 1412454 1412455 1412456 1412457 1412458 1412459 1412460 1412463 1412466 1412467 1412468 1412469 1412470 1412471 1412472 1412473 1412475 1412477 1412478 1412479 1412480 1412481 1412483 1412484 1412485 1412487 1412487 1412488 1412489 1412491 1412492 1412493 1412494 1412495 1412496 1412497 1412498 1412499 1412500 1412501 1412502 1412504 1412505 1412506 1412507 1412510 1412511 1412513 1412514 1412515 1412516 1412517 1412519 1412520 1412521 1412522 1412523 1412524 1412525 1412526 1412527 1412528 1412529 1412530 1412531 1412532 1412533 1412534 1412535 1412536 1412537 1412538 1412542 1412543 1412544 1412545 1412546 1412547 1412548 1412549 1412550 1412551 1412552 1412553 1412554 1412555 1412556 1412558 1412562 1412563 1412564 1412565 1412566 1412567 1412569 1412570 1412573 1412574 1412575 1412576 1412577 1412578 1412579 1412580 1412581 1412582 1412584 1412585 1412587 1412588 1412591 1412592 1412593 1412594 1412608 1412610 1412611 1412611 1412612 1412614 1412615 1412616 1412617 1412621 1412622 1412623 1412624 1412625 1412626 1412627 1412628 1412629 1412630 1412631 1412632 1412633 1412635 1412637 1412638 1412639 1412640 1412641 1412642 1412643 1412645 1412646 1412647 1412653 1412656 1412658 1412659 1412662 1412663 1412664 1412666 1412667 1412668 1412669 1412671 1412672 1412673 1412674 1412675 1412676 1412677 1412681 1412682 1412684 1412685 1412686 1412687 1412688 1412689 1412690 1412691 1412696 1412697 1412698 1412699 1412701 1412704 1412706 1412709 1412711 1412714 1412715 1412716 1412717 1412718 1412719 1412720 1412721 1412723 1412725 1412726 1412727 1412728 1412729 1412730 1412731 1412732 1412733 1412734 1412734 1412735 1412736 1412737 1412738 1412739 1412740 1412741 1412742 1412743 1412745 1412746 1412747 1412749 1412750 1412751 1412752 1412753 1412755 1412756 1412759 1412760 1412761 1412762 1412763 1412766 1412767 1412768 1412769 1412770 1412772 1412773 1412777 1412778 1412781 1412784 1412785 1412787 1412788 1412789 1412790 1412791 1412792 1412793 1412794 1412795 1412796 1412797 1412798 1412799 1412800 1412801 1412802 1412803 1412804 1412805 1412806 1412807 1412808 1412810 1412811 1412812 1412813 1412814 1412815 1412816 1412817 1412819 1412820 1412821 1412822 1412823 1412824 1412825 1412826 1412828 1412829 1412830 1412831 1412832 1412833 1412835 1412836 1412840 1412841 1412842 1412843 1412844 1412845 1412846 1412847 1412849 1412851 1412853 1412854 1412855 1412856 1412857 1412858 1412864 1412869 1412870 1412871 1412873 1412875 1412879 1412880 1412880 1412881 1412882 1412884 1412886 1412887 1412887 1412891 1412906 1412918 1412922 1412924 1412925 1412926 1412930 1412931 1412932 1412933 1412936 1412937 1412938 1412939 1412940 1412946 1412951 1412954 1412958 1412969 1412972 1412978 1412981 1412984 1412990 1412992 1412993 1412994 1412995 1412996 1412997 1412999 1413000 1413001 1413004 1413005 1413006 1413009 1413010 1413012 1413014 1413019 1413023 1413024 1413025 1413028 1413029 1413030 1413031 1413032 1413036 1413037 1413038 1413039 1413040 1413041 1413042 1413043 1413044 1413045 1413046 1413047 1413049 1413050 1413051 1413052 1413053 1413054 1413055 1413056 1413057 1413058 1413059 1413060 1413061 1413062 1413063 1413064 1413065 1413066 1413067 1413068 1413069 1413070 1413071 1413072 1413073 1413074 1413075 1413076 1413078 1413079 1413080 1413081 1413083 1413085 1413086 1413087 1413089 1413093 1413095 1413096 1413097 1413098 1413099 1413100 1413101 1413102 1413103 1413105 1413106 1413107 1413108 1413109 1413110 1413111 1413112 1413113 1413114 1413115 1413116 1413117 1413118 1413119 1413120 1413121 1413123 1413124 1413125 1413126 1413127 1413128 1413131 1413132 1413133 1413134 1413135 1413136 1413137 1413138 1413145 1413146 1413147 1413148 1413149 1413150 1413151 1413152 1413153 1413154 1413155 1413156 1413157 1413158 1413159 1413160 1413162 1413163 1413164 1413165 1413166 1413167 1413168 1413169 1413170 1413171 1413172 1413173 1413175 1413177 1413178 1413179 1413180 1413181 1413182 1413183 1413184 1413185 1413186 1413187 1413188 1413189 1413190 1413191 1413192 1413193 1413194 1413195 1413196 1413197 1413198 1413200 1413201 1413202 1413203 1413204 1413205 1413206 1413207 1413208 1413209 1413210 1413211 1413212 1413217 1413218 1413219 1413220 1413221 1413222 1413223 1413225 1413226 1413227 1413228 1413230 1413231 1413232 1413233 1413234 1413235 1413236 1413237 1413238 1413239 1413240 1413241 1413242 1413243 1413244 1413246 1413247 1413248 1413249 1413251 1413252 1413253 1413254 1413255 1413256 1413257 1413258 1413259 1413260 1413261 1413262 1413263 1413264 1413266 1413267 1413268 1413269 1413270 1413272 1413273 1413274 1413275 1413276 1413277 1413278 1413279 1413280 1413281 1413282 1413283 1413284 1413285 1413286 1413287 1413288 1413289 1413290 1413291 1413292 1413294 1413295 1413296 1413297 1413298 1413299 1413300 1413301 1413302 1413303 1413305 1413306 1413307 1413308 1413309 1413310 1413314 1413316 1413320 1413322 1413323 1413324 1413325 1413326 1413327 1413328 1413329 1413333 1413335 1413336 1413337 1413338 1413339 1413340 1413342 1413343 1413345 1413346 1413347 1413348 1413349 1413350 1413351 1413352 1413353 1413354 1413355 1413356 1413357 1413362 1413363 1413365 1413366 1413367 1413367 1413369 1413371 1413372 1413373 1413374 1413375 1413376 1413377 1413379 1413380 1413381 1413382 1413383 1413387 1413388 1413389 1413390 1413391 1413393 1413394 1413395 1413396 1413397 1413398 1413399 1413400 1413401 1413402 1413403 1413404 1413405 1413406 1413407 1413408 1413409 1413410 1413411 1413412 1413413 1413414 1413415 1413416 1413417 1413418 1413419 1413420 1413420 1413421 1413422 1413423 1413425 1413426 1413427 1413428 1413429 1413430 1413432 1413435 1413436 1413437 1413438 1413440 1413442 1413444 1413445 1413447 1413448 1413448 1413449 1413450 1413451 1413452 1413453 1413454 1413455 1413456 1413457 1413458 1413460 1413461 1413462 1413463 1413464 1413465 1413466 1413467 1413468 1413469 1413470 1413473 1413474 1413475 1413476 1413477 1413478 1413479 1413483 1413484 1413485 1413486 1413487 1413488 1413489 1413490 1413492 1413493 1413494 1413495 1413497 1413498 1413499 1413500 1413501 1413502 1413503 1413504 1413505 1413507 1413508 1413509 1413510 1413511 1413512 1413513 1413514 1413515 1413516 1413517 1413520 1413524 1413531 1413535 1413540 1413541 1413542 1413543 1413544 1413545 1413546 1413547 1413548 1413549 1413550 1413551 1413552 1413553 1413554 1413555 1413557 1413558 1413559 1413560 1413561 1413562 1413563 1413564 1413565 1413567 1413568 1413569 1413570 1413571 1413572 1413573 1413574 1413575 1413576 1413577 1413578 1413579 1413580 1413581 1413582 1413583 1413584 1413585 1413586 1413587 1413588 1413589 1413590 1413591 1413592 1413593 1413594 1413595 1413596 1413597 1413598 1413599 1413603 1413604 1413605 1413606 1413607 1413610 1413610 1413611 1413612 1413613 1413614 1413615 1413616 1413617 1413622 1413624 1413627 1413628 1413629 1413630 1413632 1413633 1413634 1413636 1413638 1413646 1413648 1413649 1413655 1413656 1413658 1413659 1413661 1413662 1413663 1413664 1413665 1413666 1413667 1413668 1413669 1413670 1413671 1413672 1413673 1413674 1413675 1413677 1413679 1413680 1413681 1413682 1413683 1413684 1413685 1413686 1413687 1413688 1413689 1413690 1413692 1413693 1413694 1413695 1413696 1413697 1413698 1413699 1413700 1413701 1413702 1413703 1413704 1413705 1413706 1413707 1413708 1413709 1413710 1413711 1413712 1413713 1413714 1413715 1413716 1413720 1413721 1413723 1413724 1413725 1413726 1413727 1413728 1413729 1413730 1413732 1413733 1413734 1413735 1413736 1413737 1413738 1413740 1413741 1413742 1413743 1413745 1413746 1413746 1413748 1413749 1413750 1413752 1413753 1413754 1413755 1413756 1413757 1413760 1413761 1413762 1413763 1413763 1413764 1413765 1413766 1413767 1413769 1413770 1413771 1413772 1413773 1413774 1413775 1413776 1413777 1413778 1413780 1413781 1413782 1413784 1413785 1413787 1413788 1413789 1413791 1413792 1413795 1413796 1413797 1413798 1413800 1413801 1413803 1413804 1413805 1413806 1413808 1413809 1413810 1413811 1413812 1413813 1413814 1413815 1413816 1413816 1413820 1413821 1413822 1413823 1413824 1413824 1413825 1413826 1413827 1413827 1413828 1413830 1413830 1413831 1413833 1413834 1413834 1413836 1413837 1413843 1413844 1413845 1413850 1413851 1413852 1413855 1413856 1413857 1413858 1413859 1413860 1413861 1413862 1413863 1413864 1413865 1413866 1413867 1413868 1413869 1413871 1413873 1413878 1413879 1413880 1413881 1413882 1413884 1413885 1413886 1413887 1413888 1413889 1413891 1413892 1413893 1413894 1413895 1413896 1413898 1413899 1413900 1413901 1413902 1413903 1413904 1413905 1413906 1413907 1413908 1413909 1413911 1413912 1413913 1413914 1413915 1413915 1413916 1413917 1413922 1413923 1413924 1413925 1413926 1413927 1413927 1413929 1413930 1413931 1413932 1413933 1413934 1413935 1413936 1413937 1413938 1413939 1413940 1413941 1413942 1413943 1413944 1413944 1413945 1413947 1413948 1413949 1413950 1413952 1413953 1413955 1413957 1413958 1413960 1413961 1413962 1413963 1413965 1413966 1413968 1413969 1413970 1413971 1413972 1413973 1413974 1413975 1413976 1413977 1413978 1413978 1413979 1413980 1413982 1413983 1414006 1414008 1414014 1414024 1414025 1414026 1414027 1414028 1414029 1414030 1414031 1414032 1414033 1414034 1414035 1414036 1414037 1414038 1414039 1414040 1414042 1414044 1414045 1414046 1414047 1414048 1414049 1414050 1414051 1414052 1414053 1414054 1414056 1414057 1414058 1414059 1414060 1414061 1414062 1414063 1414064 1414065 1414066 1414067 1414068 1414069 1414070 1414071 1414072 1414073 1414075 1414076 1414077 1414078 1414079 1414080 1414081 1414082 1414083 1414084 1414085 1414086 1414087 1414088 1414089 1414090 1414091 1414092 1414093 1414094 1414095 1414097 1414099 1414100 1414101 1414102 1414103 1414104 1414105 1414106 1414107 1414108 1414109 1414110 1414111 1414118 1414119 1414120 1414121 1414123 1414124 1414125 1414126 1414127 1414128 1414129 1414130 1414131 1414132 1414133 1414134 1414137 1414138 1414139 1414140 1414141 1414142 1414143 1414144 1414145 1414146 1414147 1414148 1414151 1414152 1414153 1414154 1414155 1414156 1414157 1414158 1414159 1414160 1414160 1414161 1414162 1414163 1414163 1414164 1414165 1414167 1414168 1414169 1414170 1414172 1414174 1414175 1414176 1414177 1414178 1414179 1414180 1414181 1414182 1414183 1414184 1414185 1414186 1414187 1414188 1414189 1414191 1414193 1414194 1414197 1414199 1414200 1414201 1414202 1414203 1414204 1414205 1414206 1414207 1414208 1414209 1414210 1414216 1414217 1414218 1414220 1414222 1414223 1414224 1414227 1414228 1414229 1414230 1414231 1414232 1414233 1414234 1414235 1414236 1414237 1414239 1414242 1414243 1414244 1414245 1414246 1414247 1414248 1414250 1414251 1414252 1414253 1414253 1414254 1414255 1414256 1414256 1414257 1414258 1414258 1414259 1414260 1414261 1414262 1414263 1414264 1414265 1414266 1414269 1414270 1414273 1414288 1414289 1414290 1414292 1414293 1414294 1414295 1414297 1414298 1414300 1414301 1414302 1414303 1414304 1414305 1414306 1414307 1414308 1414309 1414313 1414314 1414315 1414316 1414317 1414318 1414319 1414320 1414321 1414322 1414323 1414324 1414325 1414326 1414327 1414328 1414329 1414330 1414331 1414332 1414333 1414334 1414335 1414336 1414337 1414338 1414339 1414340 1414340 1414341 1414342 1414344 1414345 1414346 1414347 1414349 1414350 1414351 1414352 1414354 1414356 1414357 1414358 1414359 1414360 1414361 1414365 1414366 1414367 1414368 1414368 1414369 1414369 1414370 1414371 1414372 1414373 1414374 1414375 1414376 1414377 1414378 1414381 1414382 1414385 1414386 1414387 1414388 1414389 1414390 1414390 1414391 1414393 1414394 1414395 1414396 1414397 1414398 1414399 1414400 1414400 1414402 1414404 1414405 1414406 1414407 1414408 1414409 1414410 1414411 1414412 1414413 1414414 1414415 1414416 1414417 1414420 1414421 1414422 1414423 1414424 1414425 1414426 1414427 1414428 1414429 1414430 1414431 1414432 1414433 1414434 1414435 1414436 1414437 1414438 1414439 1414440 1414442 1414443 1414444 1414448 1414456 1414457 1414458 1414459 1414460 1414461 1414462 1414463 1414465 1414466 1414467 1414471 1414472 1414473 1414474 1414475 1414476 1414477 1414478 1414479 1414480 1414481 1414482 1414485 1414486 1414490 1414491 1414492 1414493 1414497 1414498 1414499 1414500 1414503 1414504 1414506 1414507 1414508 1414509 1414512 1414513 1414515 1414516 1414517 1414518 1414518 1414519 1414520 1414521 1414522 1414523 1414524 1414525 1414527 1414528 1414529 1414530 1414531 1414532 1414533 1414534 1414535 1414536 1414538 1414539 1414540 1414541 1414542 1414543 1414544 1414545 1414546 1414547 1414548 1414549 1414550 1414551 1414552 1414553 1414554 1414555 1414556 1414557 1414558 1414558 1414559 1414560 1414561 1414562 1414563 1414564 1414571 1414572 1414575 1414580 1414582 1414583 1414587 1414587 1414588 1414589 1414590 1414591 1414592 1414593 1414594 1414595 1414596 1414597 1414598 1414599 1414600 1414601 1414602 1414603 1414604 1414605 1414607 1414608 1414609 1414610 1414612 1414613 1414614 1414615 1414617 1414618 1414619 1414624 1414625 1414626 1414627 1414628 1414629 1414630 1414631 1414632 1414633 1414634 1414635 1414636 1414637 1414638 1414639 1414640 1414641 1414643 1414644 1414645 1414646 1414647 1414648 1414649 1414650 1414651 1414652 1414655 1414658 1414662 1414664 1414666 1414667 1414668 1414669 1414670 1414672 1414673 1414674 1414676 1414677 1414678 1414681 1414682 1414683 1414684 1414685 1414686 1414687 1414688 1414689 1414690 1414691 1414691 1414692 1414692 1414693 1414700 1414705 1414709 1414720 1414721 1414722 1414724 1414739 1414747 1414749 1414755 1414780 1414781 1414789 1414791 1414795 1414799 1414805 1414805 1414806 1414807 1414810 1414812 1414814 1414815 1414819 1414820 1414821 1414824 1414825 1414828 1414829 1414830 1414831 1414832 1414833 1414843 1414852 1414855 1414856 1414857 1414859 1414860 1414861 1414862 1414863 1414864 1414865 1414866 1414867 1414868 1414869 1414870 1414871 1414872 1414873 1414874 1414875 1414876 1414877 1414878 1414879 1414883 1414884 1414885 1414886 1414887 1414888 1414889 1414892 1414895 1414898 1414899 1414900 1414901 1414902 1414904 1414905 1414906 1414907 1414908 1414909 1414910 1414911 1414912 1414913 1414914 1414915 1414916 1414917 1414918 1414919 1414920 1414921 1414922 1414923 1414924 1414925 1414926 1414928 1414929 1414934 1414936 1414937 1414944 1414945 1414946 1414948 1414949 1414950 1414951 1414952 1414953 1414954 1414955 1414956 1414957 1414959 1414960 1414961 1414962 1414963 1414964 1414967 1414968 1414968 1414987 1414988 1414989 1414990 1414991 1414992 1414993 1414994 1414995 1414996 1414997 1414998 1415000 1415001 1415002 1415003 1415004 1415005 1415006 1415007 1415008 1415009 1415011 1415012 1415013 1415014 1415015 1415016 1415017 1415018 1415020 1415021 1415022 1415023 1415024 1415025 1415026 1415027 1415027 1415028 1415029 1415030 1415031 1415032 1415033 1415034 1415036 1415037 1415038 1415039 1415041 1415042 1415043 1415044 1415046 1415047 1415048 1415049 1415050 1415051 1415052 1415053 1415054 1415055 1415056 1415056 1415060 1415061 1415062 1415063 1415064 1415065 1415066 1415067 1415068 1415071 1415072 1415073 1415074 1415075 1415076 1415077 1415078 1415079 1415081 1415082 1415084 1415090 1415092 1415096 1415097 1415098 1415099 1415101 1415102 1415104 1415105 1415106 1415107 1415108 1415109 1415110 1415111 1415112 1415113 1415114 1415119 1415124 1415127 1415129 1415132 1415133 1415134 1415135 1415137 1415138 1415139 1415140 1415141 1415142 1415144 1415145 1415146 1415148 1415149 1415150 1415151 1415151 1415152 1415154 1415155 1415156 1415157 1415158 1415160 1415161 1415162 1415163 1415164 1415165 1415166 1415167 1415169 1415170 1415171 1415172 1415173 1415174 1415175 1415176 1415177 1415178 1415179 1415180 1415181 1415182 1415186 1415187 1415188 1415189 1415190 1415192 1415193 1415194 1415195 1415196 1415197 1415198 1415199 1415200 1415201 1415202 1415203 1415204 1415205 1415206 1415207 1415208 1415209 1415210 1415211 1415212 1415213 1415214 1415215 1415216 1415217 1415219 1415220 1415222 1415223 1415223 1415224 1415226 1415227 1415229 1415231 1415233 1415234 1415235 1415236 1415237 1415238 1415239 1415241 1415243 1415245 1415246 1415246 1415249 1415250 1415251 1415253 1415254 1415256 1415257 1415258 1415259 1415261 1415263 1415263 1415264 1415265 1415266 1415268 1415269 1415273 1415274 1415275 1415276 1415277 1415278 1415279 1415280 1415281 1415284 1415285 1415286 1415287 1415288 1415289 1415290 1415291 1415292 1415293 1415294 1415295 1415296 1415297 1415298 1415299 1415300 1415301 1415302 1415303 1415304 1415304 1415306 1415307 1415308 1415309 1415310 1415311 1415314 1415315 1415316 1415317 1415317 1415318 1415319 1415321 1415322 1415323 1415324 1415325 1415326 1415327 1415328 1415329 1415330 1415331 1415335 1415336 1415337 1415338 1415339 1415340 1415341 1415342 1415343 1415344 1415345 1415346 1415347 1415349 1415350 1415351 1415352 1415353 1415354 1415355 1415356 1415357 1415358 1415360 1415361 1415362 1415363 1415364 1415365 1415366 1415367 1415368 1415371 1415372 1415374 1415375 1415376 1415377 1415378 1415379 1415380 1415381 1415382 1415383 1415384 1415385 1415386 1415387 1415388 1415389 1415390 1415391 1415392 1415395 1415400 1415402 1415405 1415406 1415407 1415408 1415412 1415413 1415414 1415417 1415419 1415422 1415424 1415425 1415427 1415428 1415429 1415430 1415431 1415432 1415434 1415438 1415439 1415442 1415443 1415444 1415445 1415448 1415450 1415452 1415455 1415456 1415457 1415458 1415459 1415460 1415462 1415463 1415464 1415465 1415466 1415467 1415468 1415469 1415470 1415472 1415473 1415474 1415474 1415475 1415476 1415477 1415478 1415479 1415481 1415482 1415483 1415484 1415485 1415486 1415487 1415488 1415489 1415491 1415492 1415493 1415494 1415495 1415497 1415498 1415499 1415500 1415501 1415502 1415503 1415504 1415504 1415505 1415506 1415507 1415508 1415509 1415510 1415511 1415512 1415514 1415520 1415521 1415522 1415523 1415524 1415525 1415526 1415527 1415529 1415533 1415534 1415537 1415538 1415539 1415540 1415542 1415543 1415544 1415545 1415546 1415547 1415547 1415548 1415549 1415550 1415552 1415553 1415554 1415556 1415558 1415559 1415561 1415562 1415563 1415564 1415565 1415566 1415567 1415569 1415570 1415572 1415573 1415574 1415575 1415576 1415578 1415579 1415580 1415585 1415586 1415587 1415588 1415589 1415591 1415592 1415593 1415594 1415595 1415596 1415596 1415597 1415601 1415602 1415611 1415612 1415613 1415614 1415615 1415616 1415617 1415619 1415620 1415622 1415623 1415624 1415626 1415627 1415628 1415629 1415631 1415632 1415633 1415633 1415634 1415634 1415636 1415637 1415638 1415639 1415641 1415641 1415642 1415644 1415645 1415645 1415646 1415646 1415647 1415647 1415648 1415648 1415649 1415650 1415651 1415652 1415653 1415654 1415655 1415656 1415657 1415658 1415659 1415660 1415661 1415662 1415663 1415664 1415665 1415666 1415667 1415668 1415669 1415670 1415671 1415672 1415673 1415674 1415675 1415676 1415677 1415678 1415679 1415680 1415681 1415682 1415683 1415684 1415685 1415686 1415687 1415688 1415689 1415690 1415691 1415692 1415694 1415695 1415696 1415697 1415698 1415699 1415700 1415701 1415702 1415707 1415709 1415712 1415713 1415714 1415715 1415717 1415718 1415719 1415720 1415725 1415727 1415728 1415729 1415731 1415734 1415735 1415736 1415737 1415738 1415739 1415740 1415742 1415743 1415749 1415750 1415751 1415752 1415753 1415754 1415755 1415756 1415757 1415758 1415760 1415761 1415762 1415763 1415764 1415768 1415769 1415770 1415782 1415790 1415791 1415792 1415793 1415796 1415797 1415800 1415801 1415803 1415804 1415805 1415807 1415808 1415809 1415810 1415811 1415812 1415813 1415814 1415815 1415816 1415818 1415819 1415825 1415826 1415827 1415828 1415829 1415830 1415831 1415832 1415833 1415834 1415835 1415836 1415837 1415838 1415840 1415841 1415842 1415843 1415845 1415846 1415847 1415852 1415854 1415855 1415856 1415857 1415859 1415861 1415862 1415865 1415868 1415869 1415872 1415873 1415874 1415875 1415876 1415877 1415878 1415879 1415880 1415881 1415882 1415884 1415885 1415886 1415887 1415888 1415889 1415891 1415892 1415894 1415895 1415897 1415898 1415900 1415901 1415902 1415904 1415905 1415906 1415907 1415908 1415909 1415910 1415912 1415919 1415927 1415928 1415930 1415931 1415932 1415933 1415935 1415938 1415941 1415944 1415950 1415954 1415957 1415963 1415966 1415969 1415972 1415973 1415975 1415977 1415978 1415979 1415980 1415981 1415984 1415986 1415988 1415990 1415992 1415993 1415994 1415995 1416001 1416002 1416004 1416006 1416007 1416008 1416009 1416025 1416026 1416027 1416029 1416031 1416032 1416033 1416034 1416035 1416037 1416040 1416045 1416047 1416050 1416053 1416055 1416056 1416059 1416066 1416068 1416069 1416071 1416072 1416073 1416074 1416077 1416093 1416098 1416099 1416100 1416102 1416103 1416107 1416108 1416110 1416161 1416161 1416163 1416166 1416167 1416168 1416169 1416170 1416171 1416175 1416176 1416177 1416178 1416179 1416180 1416181 1416185 1416186 1416187 1416188 1416189 1416190 1416191 1416192 1416193 1416194 1416195 1416200 1416201 1416202 1416203 1416211 1416218 1416219 1416220 1416221 1416222 1416223 1416224 1416225 1416226 1416227 1416230 1416231 1416232 1416233 1416234 1416235 1416236 1416237 1416238 1416239 1416240 1416241 1416243 1416244 1416253 1416254 1416255 1416256 1416257 1416259 1416260 1416261 1416262 1416263 1416265 1416266 1416270 1416271 1416272 1416273 1416274 1416275 1416278 1416279 1416280 1416281 1416282 1416283 1416286 1416287 1416288 1416292 1416293 1416299 1416304 1416305 1416307 1416309 1416310 1416311 1416312 1416313 1416315 1416318 1416319 1416320 1416321 1416339 1416341 1416343 1416345 1416347 1416352 1416356 1416358 1416363 1416370 1416371 1416372 1416373 1416373 1416374 1416375 1416377 1416378 1416379 1416380 1416381 1416383 1416384 1416385 1416386 1416387 1416389 1416390 1416391 1416392 1416393 1416394 1416395 1416396 1416397 1416398 1416399 1416400 1416401 1416402 1416403 1416404 1416405 1416406 1416407 1416408 1416409 1416413 1416418 1416419 1416420 1416422 1416423 1416425 1416426 1416427 1416428 1416430 1416431 1416432 1416433 1416437 1416439 1416440 1416442 1416443 1416444 1416445 1416447 1416448 1416450 1416453 1416454 1416455 1416456 1416457 1416459 1416467 1416468 1416469 1416470 1416471 1416472 1416473 1416474 1416475 1416477 1416478 1416479 1416480 1416481 1416483 1416484 1416485 1416486 1416487 1416488 1416489 1416490 1416491 1416492 1416493 1416494 1416496 1416497 1416498 1416499 1416500 1416501 1416502 1416503 1416504 1416505 1416506 1416507 1416508 1416509 1416510 1416511 1416512 1416513 1416514 1416515 1416516 1416517 1416518 1416519 1416520 1416521 1416522 1416523 1416524 1416525 1416526 1416527 1416528 1416530 1416531 1416536 1416536 1416539 1416540 1416542 1416543 1416544 1416545 1416546 1416547 1416548 1416549 1416550 1416551 1416552 1416553 1416554 1416555 1416556 1416557 1416558 1416559 1416561 1416562 1416563 1416564 1416565 1416566 1416567 1416568 1416569 1416571 1416572 1416573 1416574 1416575 1416576 1416577 1416578 1416579 1416580 1416581 1416582 1416583 1416584 1416585 1416586 1416587 1416588 1416589 1416590 1416591 1416592 1416593 1416594 1416595 1416596 1416597 1416599 1416600 1416601 1416602 1416603 1416604 1416605 1416607 1416608 1416609 1416610 1416611 1416612 1416613 1416614 1416615 1416616 1416617 1416620 1416621 1416622 1416623 1416625 1416626 1416629 1416630 1416631 1416632 1416634 1416635 1416636 1416638 1416639 1416640 1416641 1416642 1416643 1416644 1416645 1416646 1416647 1416648 1416649 1416650 1416651 1416652 1416653 1416654 1416655 1416656 1416657 1416658 1416659 1416660 1416661 1416662 1416663 1416664 1416665 1416666 1416668 1416669 1416670 1416671 1416672 1416673 1416674 1416675 1416676 1416677 1416678 1416679 1416680 1416681 1416682 1416683 1416684 1416685 1416687 1416688 1416689 1416690 1416692 1416692 1416693 1416694 1416696 1416697 1416698 1416699 1416700 1416701 1416702 1416704 1416705 1416706 1416707 1416708 1416710 1416713 1416714 1416715 1416716 1416717 1416722 1416724 1416728 1416731 1416738 1416740 1416741 1416742 1416743 1416744 1416745 1416746 1416747 1416749 1416758 1416762 1416765 1416766 1416768 1416769 1416770 1416771 1416772 1416773 1416775 1416776 1416777 1416778 1416779 1416780 1416781 1416783 1416785 1416786 1416787 1416788 1416790 1416795 1416796 1416797 1416798 1416799 1416800 1416801 1416802 1416804 1416805 1416806 1416807 1416808 1416809 1416810 1416811 1416817 1416820 1416821 1416822 1416823 1416824 1416825 1416826 1416827 1416828 1416829 1416830 1416831 1416832 1416834 1416835 1416836 1416837 1416841 1416842 1416843 1416844 1416845 1416846 1416847 1416848 1416849 1416850 1416851 1416853 1416854 1416855 1416856 1416857 1416858 1416859 1416860 1416861 1416862 1416863 1416865 1416866 1416867 1416868 1416869 1416870 1416871 1416872 1416873 1416874 1416875 1416876 1416877 1416878 1416881 1416882 1416883 1416884 1416885 1416886 1416887 1416888 1416889 1416890 1416891 1416892 1416894 1416896 1416897 1416898 1416899 1416902 1416903 1416904 1416905 1416907 1416910 1416912 1416913 1416914 1416915 1416916 1416917 1416918 1416919 1416920 1416921 1416922 1416924 1416925 1416926 1416927 1416928 1416929 1416930 1416931 1416932 1416933 1416934 1416935 1416936 1416938 1416939 1416940 1416941 1416942 1416943 1416944 1416945 1416946 1416947 1416952 1416953 1416954 1416955 1416956 1416958 1416959 1416960 1416961 1416962 1416963 1416964 1416966 1416967 1416968 1416969 1416970 1416971 1416972 1416973 1416974 1416975 1416976 1416977 1416979 1416980 1416981 1416982 1416985 1416986 1416987 1416988 1416989 1416990 1416991 1416992 1416993 1416994 1416995 1416996 1416997 1416998 1416999 1417001 1417002 1417003 1417004 1417005 1417006 1417008 1417009 1417010 1417011 1417012 1417013 1417014 1417015 1417016 1417017 1417018 1417019 1417020 1417021 1417022 1417023 1417024 1417025 1417026 1417028 1417029 1417030 1417031 1417032 1417033 1417034 1417035 1417036 1417037 1417038 1417039 1417040 1417041 1417042 1417043 1417044 1417046 1417047 1417048 1417049 1417050 1417051 1417052 1417053 1417053 1417054 1417055 1417056 1417057 1417058 1417061 1417062 1417063 1417064 1417065 1417066 1417067 1417068 1417069 1417072 1417073 1417074 1417075 1417080 1417082 1417085 1417086 1417087 1417088 1417089 1417090 1417091 1417092 1417094 1417097 1417098 1417099 1417101 1417102 1417103 1417104 1417106 1417108 1417111 1417112 1417113 1417118 1417119 1417120 1417121 1417122 1417123 1417124 1417126 1417127 1417129 1417130 1417132 1417133 1417134 1417135 1417136 1417137 1417138 1417139 1417140 1417143 1417144 1417145 1417146 1417147 1417148 1417149 1417151 1417154 1417157 1417159 1417162 1417163 1417164 1417165 1417166 1417167 1417168 1417169 1417170 1417171 1417172 1417173 1417174 1417176 1417177 1417178 1417179 1417180 1417182 1417186 1417188 1417189 1417190 1417191 1417193 1417194 1417196 1417198 1417199 1417200 1417201 1417202 1417203 1417204 1417205 1417206 1417207 1417208 1417209 1417210 1417211 1417212 1417213 1417215 1417216 1417217 1417218 1417219 1417220 1417222 1417223 1417224 1417227 1417228 1417230 1417231 1417235 1417236 1417237 1417239 1417240 1417240 1417241 1417242 1417244 1417245 1417246 1417247 1417248 1417249 1417250 1417251 1417252 1417253 1417262 1417269 1417273 1417276 1417325 1417326 1417327 1417328 1417329 1417332 1417334 1417335 1417371 1417374 1417375 1417377 1417386 1417387 1417388 1417389 1417390 1417392 1417393 1417394 1417395 1417396 1417399 1417400 1417401 1417402 1417403 1417405 1417406 1417407 1417408 1417411 1417418 1417419 1417420 1417422 1417423 1417427 1417429 1417432 1417434 1417435 1417436 1417437 1417438 1417439 1417440 1417445 1417446 1417449 1417452 1417453 1417454 1417455 1417458 1417473 1417474 1417478 1417487 1417489 1417490 1417492 1417493 1417494 1417495 1417496 1417497 1417498 1417499 1417500 1417501 1417502 1417503 1417504 1417505 1417507 1417508 1417509 1417510 1417511 1417516 1417518 1417519 1417520 1417521 1417522 1417523 1417524 1417525 1417530 1417531 1417532 1417533 1417534 1417535 1417536 1417537 1417538 1417539 1417541 1417542 1417543 1417544 1417546 1417547 1417548 1417549 1417551 1417556 1417557 1417558 1417559 1417560 1417561 1417562 1417563 1417564 1417565 1417566 1417567 1417568 1417569 1417570 1417571 1417572 1417573 1417574 1417575 1417576 1417577 1417579 1417580 1417581 1417582 1417583 1417584 1417585 1417586 1417587 1417588 1417589 1417590 1417592 1417593 1417595 1417596 1417597 1417598 1417599 1417600 1417601 1417602 1417603 1417604 1417605 1417606 1417607 1417608 1417609 1417610 1417611 1417612 1417613 1417614 1417615 1417616 1417617 1417618 1417619 1417620 1417621 1417622 1417623 1417624 1417625 1417627 1417629 1417630 1417631 1417632 1417633 1417634 1417635 1417636 1417638 1417639 1417640 1417641 1417642 1417643 1417644 1417645 1417646 1417647 1417649 1417650 1417651 1417652 1417653 1417655 1417656 1417657 1417659 1417660 1417663 1417664 1417666 1417668 1417671 1417672 1417673 1417674 1417675 1417676 1417677 1417679 1417680 1417681 1417682 1417683 1417684 1417685 1417693 1417694 1417695 1417696 1417697 1417699 1417700 1417701 1417702 1417703 1417704 1417705 1417706 1417707 1417708 1417709 1417710 1417711 1417712 1417714 1417715 1417716 1417717 1417718 1417719 1417719 1417720 1417722 1417723 1417724 1417725 1417726 1417728 1417729 1417731 1417732 1417733 1417734 1417735 1417736 1417738 1417739 1417740 1417741 1417742 1417743 1417745 1417746 1417747 1417748 1417750 1417751 1417752 1417753 1417754 1417756 1417757 1417758 1417759 1417760 1417760 1417761 1417761 1417763 1417764 1417765 1417766 1417767 1417768 1417769 1417770 1417771 1417772 1417772 1417773 1417774 1417775 1417776 1417777 1417778 1417779 1417780 1417782 1417783 1417784 1417785 1417805 1417806 1417807 1417808 1417809 1417810 1417811 1417812 1417813 1417814 1417815 1417816 1417817 1417818 1417819 1417820 1417821 1417822 1417823 1417824 1417825 1417826 1417827 1417828 1417829 1417830 1417831 1417832 1417833 1417834 1417835 1417836 1417837 1417838 1417839 1417840 1417841 1417845 1417846 1417847 1417848 1417849 1417850 1417851 1417852 1417853 1417854 1417854 1417855 1417857 1417858 1417860 1417861 1417862 1417863 1417864 1417867 1417868 1417868 1417869 1417870 1417871 1417872 1417873 1417874 1417875 1417876 1417878 1417879 1417880 1417881 1417882 1417883 1417884 1417885 1417887 1417888 1417890 1417891 1417892 1417893 1417894 1417895 1417896 1417897 1417898 1417899 1417900 1417901 1417902 1417903 1417904 1417905 1417906 1417907 1417908 1417909 1417910 1417911 1417912 1417913 1417914 1417916 1417917 1417919 1417921 1417922 1417923 1417924 1417925 1417927 1417928 1417929 1417931 1417932 1417933 1417934 1417935 1417936 1417937 1417938 1417939 1417940 1417943 1417944 1417945 1417946 1417947 1417948 1417949 1417950 1417951 1417952 1417953 1417955 1417956 1417960 1417961 1417962 1417963 1417964 1417965 1417966 1417967 1417984 1417985 1417986 1417988 1418000 1418001 1418024 1418029 1418036 1418044 1418057 1418072 1418074 1418092 1418109 1418111 1418113 1418127 1418130 1418170 1418175 1418177 1418180 1418182 1418186 1418187 1418188 1418189 1418191 1418192 1418193 1418194 1418195 1418196 1418197 1418198 1418199 1418200 1418201 1418202 1418204 1418205 1418206 1418208 1418209 1418211 1418212 1418213 1418214 1418215 1418216 1418216 1418217 1418218 1418219 1418220 1418221 1418222 1418223 1418224 1418225 1418226 1418229 1418230 1418231 1418232 1418233 1418235 1418237 1418238 1418239 1418240 1418241 1418242 1418243 1418244 1418245 1418247 1418248 1418250 1418251 1418252 1418253 1418256 1418259 1418260 1418261 1418262 1418263 1418264 1418265 1418266 1418267 1418268 1418269 1418270 1418271 1418272 1418273 1418274 1418275 1418276 1418277 1418278 1418281 1418283 1418284 1418285 1418286 1418288 1418289 1418293 1418295 1418296 1418297 1418298 1418301 1418302 1418303 1418304 1418305 1418306 1418307 1418308 1418309 1418310 1418311 1418318 1418319 1418321 1418323 1418325 1418327 1418328 1418330 1418334 1418335 1418344 1418345 1418348 1418350 1418360 1418365 1418370 1418371 1418372 1418373 1418374 1418376 1418381 1418383 1418384 1418385 1418386 1418387 1418388 1418389 1418390 1418391 1418392 1418393 1418394 1418395 1418396 1418397 1418398 1418399 1418401 1418402 1418403 1418404 1418405 1418406 1418407 1418408 1418410 1418411 1418412 1418413 1418414 1418415 1418416 1418417 1418418 1418419 1418420 1418421 1418422 1418423 1418424 1418425 1418426 1418427 1418428 1418429 1418430 1418431 1418432 1418433 1418434 1418435 1418436 1418437 1418438 1418439 1418440 1418441 1418442 1418443 1418444 1418445 1418446 1418447 1418448 1418449 1418450 1418451 1418452 1418453 1418455 1418456 1418457 1418458 1418458 1418459 1418460 1418461 1418462 1418463 1418464 1418465 1418466 1418467 1418468 1418469 1418470 1418471 1418472 1418473 1418474 1418475 1418476 1418477 1418478 1418479 1418480 1418481 1418482 1418483 1418484 1418485 1418486 1418487 1418488 1418489 1418490 1418491 1418492 1418493 1418495 1418496 1418496 1418497 1418498 1418500 1418501 1418503 1418504 1418507 1418508 1418509 1418510 1418513 1418514 1418515 1418516 1418517 1418518 1418519 1418520 1418521 1418526 1418527 1418528 1418529 1418531 1418532 1418533 1418534 1418538 1418540 1418541 1418542 1418543 1418544 1418545 1418546 1418547 1418548 1418549 1418550 1418551 1418552 1418553 1418556 1418557 1418558 1418560 1418561 1418563 1418565 1418566 1418567 1418568 1418569 1418571 1418572 1418573 1418574 1418575 1418576 1418577 1418578 1418579 1418579 1418580 1418581 1418582 1418583 1418586 1418587 1418589 1418590 1418591 1418593 1418594 1418595 1418596 1418597 1418598 1418599 1418600 1418601 1418602 1418603 1418604 1418605 1418606 1418607 1418608 1418609 1418610 1418610 1418611 1418612 1418613 1418614 1418615 1418616 1418617 1418618 1418619 1418620 1418621 1418622 1418623 1418624 1418625 1418626 1418627 1418628 1418629 1418630 1418631 1418632 1418634 1418635 1418637 1418638 1418639 1418640 1418641 1418642 1418643 1418644 1418648 1418649 1418649 1418650 1418652 1418653 1418654 1418655 1418656 1418657 1418658 1418659 1418660 1418661 1418662 1418663 1418664 1418665 1418666 1418667 1418668 1418669 1418670 1418672 1418673 1418674 1418676 1418677 1418678 1418679 1418685 1418695 1418696 1418697 1418706 1418707 1418708 1418709 1418710 1418711 1418712 1418713 1418715 1418716 1418724 1418726 1418727 1418728 1418729 1418730 1418731 1418732 1418733 1418734 1418735 1418736 1418737 1418738 1418739 1418740 1418742 1418743 1418744 1418745 1418746 1418747 1418748 1418749 1418750 1418751 1418752 1418754 1418755 1418756 1418757 1418759 1418760 1418761 1418762 1418763 1418764 1418765 1418766 1418767 1418768 1418770 1418771 1418772 1418773 1418774 1418775 1418776 1418778 1418779 1418780 1418782 1418783 1418784 1418785 1418787 1418789 1418792 1418793 1418795 1418796 1418797 1418798 1418799 1418800 1418801 1418802 1418813 1418814 1418815 1418816 1418817 1418818 1418819 1418820 1418821 1418822 1418823 1418824 1418825 1418826 1418829 1418830 1418831 1418832 1418833 1418835 1418837 1418838 1418839 1418840 1418841 1418842 1418843 1418844 1418845 1418846 1418847 1418848 1418849 1418850 1418851 1418852 1418853 1418854 1418855 1418856 1418858 1418859 1418864 1418865 1418866 1418867 1418868 1418869 1418870 1418871 1418872 1418873 1418875 1418876 1418877 1418879 1418880 1418881 1418882 1418883 1418884 1418885 1418887 1418888 1418889 1418890 1418891 1418892 1418893 1418894 1418894 1418897 1418898 1418899 1418900 1418901 1418902 1418903 1418904 1418905 1418906 1418907 1418909 1418910 1418911 1418913 1418913 1418914 1418915 1418916 1418917 1418918 1418919 1418920 1418921 1418926 1418927 1418928 1418929 1418930 1418931 1418932 1418933 1418934 1418937 1418938 1418939 1418940 1418941 1418942 1418943 1418944 1418945 1418946 1418947 1418948 1418951 1418952 1418953 1418954 1418955 1418957 1418958 1418959 1418963 1418965 1418967 1418968 1418969 1418970 1418971 1418972 1418974 1418975 1418977 1418978 1418979 1418979 1418981 1418982 1418983 1418984 1418985 1418986 1418987 1418991 1418992 1418993 1418994 1418995 1418996 1418997 1418998 1418999 1419001 1419002 1419003 1419004 1419005 1419006 1419007 1419008 1419009 1419010 1419011 1419012 1419014 1419015 1419016 1419017 1419018 1419019 1419020 1419021 1419022 1419024 1419025 1419026 1419027 1419028 1419029 1419030 1419031 1419032 1419033 1419034 1419036 1419037 1419038 1419039 1419040 1419041 1419042 1419043 1419044 1419045 1419048 1419049 1419050 1419051 1419052 1419053 1419054 1419055 1419056 1419057 1419058 1419059 1419060 1419061 1419062 1419063 1419064 1419067 1419068 1419069 1419070 1419071 1419072 1419073 1419073 1419074 1419079 1419080 1419086 1419088 1419089 1419090 1419093 1419096 1419097 1419099 1419100 1419101 1419102 1419105 1419106 1419107 1419109 1419111 1419112 1419113 1419114 1419115 1419116 1419117 1419118 1419119 1419120 1419121 1419122 1419123 1419124 1419125 1419126 1419127 1419128 1419129 1419130 1419131 1419137 1419138 1419139 1419140 1419141 1419142 1419142 1419143 1419143 1419144 1419145 1419146 1419147 1419148 1419149 1419150 1419151 1419152 1419153 1419154 1419156 1419157 1419178 1419179 1419180 1419181 1419182 1419183 1419184 1419185 1419185 1419187 1419188 1419189 1419190 1419191 1419193 1419194 1419195 1419196 1419197 1419199 1419200 1419201 1419202 1419203 1419204 1419205 1419206 1419207 1419208 1419209 1419210 1419211 1419212 1419213 1419214 1419215 1419216 1419217 1419218 1419219 1419221 1419222 1419223 1419224 1419225 1419226 1419227 1419228 1419229 1419230 1419231 1419232 1419235 1419236 1419237 1419239 1419240 1419241 1419242 1419243 1419244 1419245 1419246 1419248 1419249 1419250 1419253 1419254 1419255 1419256 1419257 1419258 1419259 1419261 1419263 1419264 1419266 1419268 1419269 1419270 1419271 1419272 1419273 1419274 1419275 1419276 1419277 1419278 1419279 1419280 1419281 1419282 1419283 1419284 1419285 1419286 1419287 1419288 1419289 1419290 1419291 1419292 1419293 1419294 1419295 1419296 1419297 1419298 1419299 1419300 1419301 1419302 1419303 1419304 1419305 1419306 1419307 1419308 1419309 1419310 1419317 1419318 1419319 1419320 1419322 1419323 1419324 1419325 1419326 1419326 1419327 1419328 1419329 1419330 1419333 1419334 1419336 1419337 1419338 1419339 1419342 1419343 1419344 1419345 1419346 1419347 1419348 1419349 1419350 1419351 1419352 1419353 1419357 1419359 1419360 1419361 1419362 1419363 1419364 1419365 1419366 1419367 1419368 1419369 1419370 1419371 1419372 1419373 1419374 1419375 1419376 1419377 1419378 1419379 1419380 1419381 1419382 1419383 1419384 1419385 1419386 1419388 1419389 1419390 1419391 1419392 1419393 1419394 1419395 1419396 1419397 1419400 1419401 1419407 1419408 1419409 1419410 1419411 1419413 1419414 1419415 1419416 1419417 1419418 1419419 1419420 1419421 1419422 1419423 1419425 1419426 1419427 1419428 1419429 1419431 1419432 1419433 1419435 1419436 1419437 1419438 1419439 1419440 1419450 1419451 1419453 1419454 1419455 1419456 1419456 1419457 1419458 1419459 1419460 1419461 1419462 1419463 1419465 1419467 1419475 1419477 1419480 1419485 1419489 1419489 1419490 1419491 1419492 1419493 1419494 1419495 1419496 1419499 1419500 1419501 1419503 1419505 1419522 1419523 1419524 1419525 1419539 1419540 1419541 1419542 1419543 1419544 1419545 1419546 1419558 1419569 1419574 1419575 1419576 1419582 1419583 1419584 1419586 1419588 1419589 1419590 1419591 1419595 1419596 1419597 1419598 1419599 1419599 1419600 1419602 1419603 1419604 1419605 1419608 1419611 1419615 1419616 1419617 1419618 1419619 1419620 1419621 1419622 1419623 1419624 1419625 1419626 1419627 1419628 1419629 1419630 1419631 1419632 1419633 1419635 1419636 1419637 1419639 1419640 1419641 1419646 1419649 1419651 1419652 1419653 1419654 1419655 1419656 1419657 1419659 1419663 1419667 1419668 1419669 1419670 1419671 1419672 1419673 1419674 1419675 1419676 1419677 1419682 1419683 1419685 1419686 1419689 1419691 1419692 1419693 1419694 1419695 1419696 1419697 1419698 1419699 1419700 1419701 1419702 1419703 1419704 1419705 1419712 1419713 1419715 1419717 1419718 1419719 1419723 1419724 1419725 1419727 1419728 1419730 1419731 1419732 1419733 1419736 1419738 1419741 1419742 1419743 1419744 1419745 1419746 1419747 1419748 1419749 1419750 1419751 1419752 1419753 1419755 1419757 1419758 1419759 1419764 1419765 1419766 1419767 1419768 1419769 1419770 1419771 1419772 1419773 1419774 1419776 1419778 1419779 1419780 1419781 1419782 1419783 1419785 1419786 1419787 1419788 1419789 1419790 1419791 1419792 1419793 1419794 1419795 1419796 1419798 1419799 1419800 1419801 1419802 1419803 1419804 1419805 1419806 1419807 1419808 1419810 1419811 1419812 1419813 1419814 1419815 1419816 1419817 1419818 1419819 1419820 1419821 1419822 1419823 1419824 1419825 1419825 1419827 1419828 1419829 1419830 1419831 1419834 1419835 1419837 1419838 1419839 1419840 1419841 1419842 1419844 1419845 1419846 1419848 1419849 1419850 1419851 1419852 1419853 1419854 1419856 1419857 1419858 1419860 1419861 1419862 1419863 1419864 1419865 1419866 1419867 1419868 1419869 1419870 1419871 1419872 1419873 1419874 1419875 1419876 1419877 1419878 1419879 1419880 1419881 1419890 1419891 1419892 1419893 1419894 1419895 1419896 1419897 1419899 1419900 1419901 1419903 1419904 1419905 1419906 1419907 1419908 1419909 1419916 1419917 1419919 1419922 1419923 1419924 1419925 1419926 1419927 1419928 1419929 1419930 1419931 1419932 1419939 1419940 1419941 1419942 1419943 1419944 1419945 1419946 1419947 1419948 1419949 1419950 1419952 1419953 1419954 1419955 1419956 1419957 1419958 1419959 1419960 1419961 1419962 1419963 1419964 1419967 1419968 1419969 1419971 1419972 1419974 1419976 1419977 1419978 1419979 1419980 1419981 1419983 1419984 1419986 1419987 1419988 1419989 1419990 1419991 1419992 1419993 1419994 1419995 1419996 1419997 1419998 1419999 1420000 1420002 1420003 1420005 1420006 1420007 1420008 1420009 1420010 1420010 1420014 1420015 1420016 1420017 1420018 1420019 1420021 1420022 1420023 1420024 1420025 1420026 1420027 1420028 1420029 1420033 1420035 1420036 1420038 1420040 1420041 1420042 1420044 1420045 1420046 1420052 1420060 1420061 1420062 1420063 1420065 1420065 1420066 1420066 1420067 1420068 1420069 1420069 1420070 1420071 1420072 1420073 1420074 1420075 1420076 1420077 1420078 1420080 1420081 1420083 1420084 1420085 1420086 1420087 1420088 1420089 1420090 1420091 1420092 1420093 1420094 1420095 1420096 1420097 1420098 1420099 1420100 1420101 1420102 1420103 1420104 1420105 1420106 1420107 1420108 1420109 1420110 1420111 1420112 1420113 1420114 1420115 1420116 1420117 1420118 1420119 1420120 1420121 1420122 1420123 1420124 1420125 1420126 1420127 1420128 1420129 1420130 1420131 1420132 1420133 1420134 1420135 1420136 1420137 1420138 1420139 1420140 1420141 1420142 1420143 1420144 1420145 1420146 1420147 1420148 1420149 1420150 1420151 1420152 1420153 1420154 1420155 1420156 1420157 1420158 1420159 1420160 1420161 1420162 1420163 1420164 1420165 1420166 1420167 1420168 1420169 1420170 1420171 1420172 1420173 1420174 1420175 1420176 1420177 1420178 1420179 1420180 1420181 1420182 1420183 1420184 1420185 1420186 1420187 1420188 1420189 1420190 1420191 1420192 1420193 1420194 1420195 1420196 1420197 1420198 1420199 1420200 1420201 1420202 1420203 1420204 1420205 1420206 1420208 1420209 1420210 1420211 1420212 1420213 1420214 1420215 1420216 1420218 1420219 1420220 1420221 1420222 1420223 1420224 1420225 1420226 1420227 1420228 1420229 1420230 1420231 1420232 1420233 1420234 1420236 1420237 1420238 1420239 1420240 1420243 1420244 1420245 1420246 1420247 1420248 1420250 1420251 1420254 1420255 1420257 1420258 1420259 1420260 1420261 1420262 1420264 1420265 1420266 1420266 1420267 1420268 1420269 1420270 1420271 1420273 1420274 1420275 1420276 1420277 1420278 1420279 1420280 1420281 1420282 1420283 1420284 1420285 1420286 1420288 1420289 1420290 1420291 1420292 1420293 1420294 1420295 1420296 1420297 1420299 1420300 1420301 1420302 1420303 1420304 1420305 1420306 1420307 1420308 1420309 1420310 1420311 1420312 1420313 1420314 1420315 1420316 1420317 1420318 1420319 1420320 1420321 1420322 1420323 1420324 1420325 1420326 1420327 1420328 1420330 1420331 1420332 1420333 1420334 1420335 1420337 1420338 1420339 1420340 1420341 1420342 1420343 1420344 1420347 1420348 1420348 1420350 1420354 1420357 1420358 1420359 1420360 1420361 1420362 1420364 1420365 1420366 1420367 1420368 1420369 1420370 1420371 1420372 1420373 1420374 1420376 1420381 1420382 1420383 1420384 1420385 1420386 1420387 1420388 1420389 1420390 1420391 1420392 1420393 1420394 1420395 1420398 1420399 1420400 1420401 1420403 1420404 1420406 1420407 1420408 1420409 1420410 1420411 1420412 1420413 1420414 1420416 1420417 1420418 1420419 1420420 1420423 1420424 1420426 1420427 1420428 1420429 1420430 1420431 1420432 1420433 1420434 1420435 1420436 1420437 1420438 1420439 1420441 1420442 1420443 1420445 1420446 1420447 1420448 1420449 1420450 1420451 1420452 1420453 1420455 1420457 1420458 1420459 1420462 1420463 1420464 1420465 1420466 1420466 1420467 1420468 1420469 1420470 1420471 1420472 1420476 1420477 1420479 1420480 1420481 1420484 1420485 1420488 1420489 1420490 1420492 1420493 1420494 1420495 1420496 1420497 1420498 1420499 1420500 1420503 1420504 1420505 1420506 1420507 1420508 1420509 1420510 1420511 1420512 1420513 1420514 1420515 1420516 1420517 1420518 1420519 1420520 1420521 1420522 1420523 1420525 1420526 1420527 1420529 1420530 1420531 1420532 1420533 1420536 1420536 1420537 1420540 1420542 1420543 1420544 1420545 1420546 1420547 1420548 1420550 1420552 1420553 1420554 1420556 1420557 1420558 1420559 1420560 1420562 1420563 1420564 1420565 1420566 1420567 1420568 1420569 1420570 1420571 1420572 1420573 1420574 1420578 1420579 1420580 1420581 1420583 1420585 1420586 1420587 1420588 1420589 1420590 1420591 1420593 1420594 1420595 1420596 1420597 1420598 1420599 1420600 1420601 1420602 1420603 1420604 1420605 1420606 1420607 1420608 1420609 1420610 1420611 1420613 1420614 1420615 1420616 1420619 1420620 1420621 1420622 1420624 1420625 1420626 1420627 1420629 1420630 1420631 1420632 1420633 1420634 1420635 1420636 1420636 1420637 1420638 1420639 1420640 1420641 1420642 1420643 1420644 1420645 1420646 1420648 1420649 1420650 1420651 1420652 1420653 1420654 1420655 1420656 1420657 1420658 1420661 1420663 1420667 1420674 1420677 1420679 1420680 1420681 1420682 1420683 1420684 1420685 1420686 1420687 1420688 1420689 1420690 1420691 1420694 1420695 1420696 1420697 1420699 1420700 1420701 1420702 1420703 1420704 1420705 1420706 1420707 1420708 1420709 1420710 1420712 1420713 1420714 1420715 1420716 1420717 1420718 1420719 1420720 1420721 1420722 1420724 1420724 1420725 1420726 1420727 1420728 1420729 1420730 1420731 1420732 1420733 1420735 1420736 1420737 1420738 1420739 1420740 1420741 1420742 1420743 1420744 1420745 1420746 1420747 1420748 1420749 1420750 1420751 1420752 1420753 1420754 1420755 1420756 1420757 1420758 1420759 1420760 1420761 1420761 1420762 1420763 1420764 1420765 1420768 1420769 1420771 1420772 1420773 1420774 1420775 1420776 1420776 1420777 1420778 1420779 1420780 1420781 1420782 1420783 1420784 1420785 1420786 1420787 1420788 1420796 1420797 1420798 1420799 1420801 1420803 1420804 1420805 1420806 1420808 1420809 1420810 1420811 1420812 1420813 1420814 1420815 1420816 1420817 1420818 1420819 1420820 1420821 1420822 1420823 1420824 1420825 1420826 1420827 1420828 1420829 1420830 1420831 1420832 1420834 1420836 1420838 1420841 1420843 1420844 1420847 1420847 1420848 1420849 1420850 1420851 1420852 1420854 1420855 1420856 1420857 1420859 1420860 1420862 1420863 1420864 1420865 1420868 1420869 1420870 1420871 1420872 1420873 1420874 1420875 1420876 1420877 1420878 1420880 1420881 1420882 1420883 1420884 1420885 1420886 1420887 1420888 1420889 1420893 1420899 1420902 1420916 1420946 1420951 1420951 1420952 1420955 1420956 1420957 1420961 1420962 1420964 1420972 1420993 1420999 1421000 1421006 1421008 1421037 1421039 1421041 1421045 1421046 1421047 1421058 1421059 1421062 1421067 1421079 1421087 1421093 1421096 1421100 1421101 1421102 1421103 1421104 1421105 1421109 1421110 1421112 1421113 1421113 1421114 1421118 1421119 1421120 1421121 1421122 1421123 1421124 1421125 1421126 1421129 1421140 1421143 1421144 1421146 1421147 1421148 1421149 1421150 1421151 1421152 1421153 1421153 1421154 1421155 1421157 1421157 1421158 1421159 1421161 1421162 1421163 1421164 1421165 1421165 1421166 1421166 1421167 1421167 1421168 1421169 1421170 1421171 1421172 1421173 1421174 1421175 1421178 1421179 1421182 1421182 1421184 1421185 1421185 1421187 1421188 1421194 1421197 1421198 1421199 1421200 1421204 1421205 1421206 1421207 1421208 1421210 1421211 1421212 1421213 1421214 1421215 1421217 1421218 1421219 1421220 1421222 1421223 1421224 1421225 1421226 1421226 1421227 1421227 1421229 1421231 1421235 1421236 1421237 1421238 1421240 1421241 1421242 1421243 1421244 1421245 1421246 1421248 1421249 1421250 1421253 1421254 1421256 1421257 1421260 1421261 1421262 1421267 1421268 1421269 1421270 1421271 1421272 1421273 1421274 1421275 1421276 1421277 1421278 1421279 1421280 1421281 1421282 1421283 1421284 1421286 1421287 1421288 1421289 1421290 1421291 1421292 1421293 1421296 1421297 1421299 1421300 1421301 1421302 1421303 1421304 1421305 1421306 1421307 1421309 1421311 1421312 1421313 1421314 1421315 1421316 1421317 1421318 1421319 1421320 1421321 1421322 1421322 1421323 1421327 1421328 1421329 1421330 1421331 1421332 1421333 1421334 1421336 1421337 1421338 1421339 1421345 1421346 1421347 1421348 1421349 1421350 1421351 1421352 1421354 1421355 1421356 1421357 1421358 1421359 1421360 1421361 1421362 1421363 1421364 1421365 1421366 1421367 1421368 1421371 1421373 1421374 1421375 1421376 1421377 1421379 1421380 1421381 1421386 1421387 1421388 1421389 1421390 1421391 1421392 1421393 1421394 1421394 1421395 1421396 1421397 1421398 1421399 1421400 1421401 1421402 1421403 1421404 1421405 1421406 1421407 1421408 1421409 1421410 1421411 1421412 1421413 1421414 1421414 1421415 1421416 1421417 1421418 1421419 1421420 1421421 1421422 1421423 1421424 1421425 1421428 1421429 1421430 1421431 1421432 1421433 1421434 1421435 1421437 1421438 1421439 1421445 1421446 1421447 1421449 1421450 1421451 1421452 1421453 1421454 1421455 1421456 1421457 1421459 1421460 1421461 1421462 1421463 1421465 1421466 1421467 1421468 1421469 1421470 1421471 1421472 1421473 1421474 1421475 1421476 1421477 1421478 1421479 1421480 1421481 1421482 1421483 1421484 1421485 1421487 1421493 1421494 1421495 1421496 1421497 1421498 1421500 1421501 1421502 1421503 1421504 1421505 1421506 1421507 1421508 1421509 1421510 1421511 1421512 1421513 1421514 1421515 1421516 1421517 1421518 1421519 1421520 1421523 1421524 1421525 1421527 1421530 1421531 1421532 1421534 1421535 1421536 1421537 1421539 1421540 1421542 1421543 1421544 1421545 1421546 1421549 1421550 1421552 1421553 1421554 1421556 1421558 1421560 1421561 1421562 1421563 1421564 1421565 1421566 1421567 1421568 1421569 1421569 1421570 1421571 1421572 1421578 1421579 1421580 1421581 1421582 1421583 1421584 1421585 1421586 1421588 1421605 1421612 1421614 1421615 1421623 1421624 1421625 1421627 1421631 1421632 1421633 1421634 1421635 1421637 1421638 1421639 1421641 1421642 1421649 1421650 1421651 1421652 1421654 1421655 1421657 1421661 1421662 1421663 1421665 1421667 1421667 1421668 1421675 1421678 1421680 1421681 1421683 1421685 1421686 1421688 1421690 1421691 1421695 1421702 1421703 1421705 1421707 1421708 1421709 1421709 1421713 1421716 1421719 1421720 1421723 1421725 1421725 1421726 1421727 1421738 1421741 1421745 1421752 1421753 1421754 1421755 1421757 1421760 1421762 1421763 1421767 1421768 1421770 1421773 1421773 1421774 1421775 1421776 1421780 1421782 1421785 1421785 1421786 1421787 1421788 1421789 1421790 1421793 1421794 1421797 1421799 1421800 1421801 1421803 1421812 1421817 1421822 1421823 1421824 1421825 1421826 1421828 1421829 1421833 1421834 1421837 1421838 1421839 1421840 1421842 1421843 1421847 1421848 1421849 1421850 1421858 1421861 1421862 1421863 1421864 1421865 1421866 1421867 1421867 1421868 1421869 1421872 1421874 1421875 1421876 1421877 1421879 1421880 1421881 1421886 1421887 1421894 1421895 1421896 1421897 1421903 1421904 1421905 1421906 1421907 1421911 1421912 1421913 1421916 1421917 1421918 1421919 1421920 1421921 1421922 1421923 1421924 1421926 1421927 1421928 1421929 1421930 1421931 1421932 1421933 1421934 1421939 1421940 1421941 1421942 1421944 1421945 1421946 1421947 1421948 1421949 1421950 1421951 1421955 1421956 1421960 1421963 1421964 1421965 1421967 1421968 1421969 1421970 1421971 1421972 1421973 1421974 1421975 1421976 1421977 1421980 1421981 1421982 1421986 1421987 1421988 1421989 1421990 1421991 1421992 1421993 1421995 1421996 1421997 1421998 1421999 1422000 1422001 1422002 1422006 1422009 1422010 1422011 1422012 1422013 1422014 1422015 1422017 1422018 1422019 1422020 1422025 1422026 1422028 1422030 1422031 1422032 1422033 1422034 1422035 1422036 1422037 1422038 1422039 1422040 1422040 1422041 1422042 1422043 1422044 1422045 1422046 1422048 1422049 1422050 1422052 1422054 1422055 1422057 1422060 1422061 1422062 1422064 1422066 1422067 1422068 1422069 1422070 1422071 1422072 1422073 1422074 1422075 1422076 1422077 1422078 1422079 1422080 1422081 1422082 1422083 1422084 1422085 1422086 1422087 1422090 1422091 1422092 1422095 1422096 1422098 1422100 1422102 1422104 1422105 1422106 1422108 1422110 1422111 1422112 1422114 1422116 1422117 1422118 1422119 1422120 1422121 1422122 1422123 1422129 1422132 1422133 1422134 1422135 1422136 1422138 1422139 1422145 1422147 1422149 1422150 1422151 1422152 1422153 1422154 1422155 1422156 1422161 1422162 1422163 1422164 1422165 1422165 1422166 1422167 1422168 1422169 1422170 1422171 1422172 1422173 1422174 1422175 1422176 1422178 1422179 1422180 1422181 1422182 1422186 1422187 1422188 1422189 1422190 1422191 1422195 1422198 1422199 1422200 1422201 1422203 1422204 1422205 1422206 1422207 1422208 1422209 1422210 1422210 1422211 1422212 1422213 1422214 1422215 1422216 1422217 1422218 1422219 1422220 1422222 1422223 1422224 1422225 1422226 1422226 1422227 1422227 1422232 1422235 1422236 1422237 1422239 1422240 1422241 1422243 1422244 1422246 1422247 1422249 1422250 1422251 1422252 1422254 1422255 1422256 1422257 1422258 1422259 1422260 1422261 1422262 1422263 1422265 1422267 1422268 1422269 1422269 1422270 1422270 1422271 1422272 1422273 1422276 1422277 1422278 1422279 1422280 1422281 1422282 1422283 1422284 1422285 1422287 1422288 1422291 1422292 1422296 1422304 1422314 1422315 1422315 1422316 1422329 1422330 1422331 1422332 1422334 1422335 1422336 1422337 1422338 1422340 1422341 1422342 1422343 1422344 1422345 1422347 1422348 1422349 1422356 1422357 1422358 1422359 1422360 1422361 1422362 1422363 1422364 1422365 1422367 1422369 1422371 1422372 1422373 1422374 1422375 1422376 1422377 1422379 1422382 1422384 1422385 1422385 1422386 1422387 1422389 1422390 1422391 1422392 1422393 1422394 1422395 1422396 1422398 1422399 1422400 1422402 1422403 1422404 1422405 1422407 1422408 1422409 1422410 1422411 1422412 1422413 1422415 1422417 1422418 1422420 1422424 1422425 1422426 1422427 1422428 1422429 1422452 1422457 1422463 1422467 1422469 1422472 1422473 1422474 1422475 1422479 1422480 1422482 1422483 1422484 1422487 1422489 1422491 1422492 1422493 1422494 1422495 1422496 1422497 1422501 1422502 1422503 1422505 1422507 1422509 1422509 1422510 1422511 1422512 1422513 1422514 1422515 1422516 1422517 1422518 1422519 1422520 1422521 1422522 1422523 1422524 1422525 1422526 1422527 1422528 1422530 1422531 1422532 1422533 1422534 1422537 1422538 1422539 1422542 1422543 1422544 1422545 1422546 1422547 1422548 1422549 1422550 1422551 1422552 1422553 1422554 1422555 1422556 1422557 1422558 1422559 1422560 1422561 1422563 1422564 1422565 1422566 1422567 1422569 1422570 1422571 1422572 1422573 1422574 1422577 1422578 1422580 1422581 1422582 1422584 1422585 1422586 1422587 1422588 1422589 1422590 1422591 1422592 1422593 1422594 1422595 1422596 1422597 1422599 1422600 1422601 1422602 1422603 1422611 1422619 1422620 1422622 1422624 1422625 1422627 1422628 1422629 1422630 1422631 1422632 1422633 1422634 1422635 1422636 1422637 1422638 1422639 1422640 1422641 1422645 1422646 1422649 1422656 1422657 1422658 1422659 1422660 1422661 1422662 1422666 1422668 1422669 1422671 1422672 1422673 1422674 1422675 1422676 1422677 1422678 1422680 1422689 1422690 1422694 1422696 1422697 1422698 1422702 1422705 1422707 1422708 1422709 1422710 1422718 1422722 1422725 1422726 1422727 1422729 1422733 1422734 1422735 1422736 1422738 1422744 1422745 1422746 1422748 1422749 1422749 1422750 1422756 1422757 1422758 1422759 1422760 1422761 1422762 1422763 1422764 1422766 1422767 1422768 1422770 1422771 1422772 1422773 1422774 1422775 1422777 1422778 1422779 1422781 1422782 1422784 1422785 1422786 1422787 1422789 1422790 1422793 1422795 1422797 1422798 1422800 1422801 1422802 1422803 1422804 1422805 1422806 1422807 1422809 1422813 1422815 1422816 1422817 1422818 1422819 1422820 1422821 1422826 1422827 1422828 1422829 1422830 1422831 1422833 1422834 1422835 1422836 1422837 1422839 1422840 1422841 1422880 1422905 1422913 1423002 1423004 1423006 1423007 1423008 1423009 1423011 1423013 1423014 1423015 1423016 1423017 1423020 1423021 1423021 1423022 1423023 1423024 1423025 1423026 1423027 1423028 1423030 1423031 1423032 1423033 1423034 1423035 1423036 1423037 1423038 1423039 1423040 1423041 1423042 1423043 1423044 1423045 1423046 1423047 1423048 1423049 1423050 1423052 1423053 1423054 1423055 1423056 1423057 1423060 1423061 1423062 1423063 1423064 1423065 1423066 1423067 1423069 1423070 1423071 1423072 1423073 1423075 1423076 1423077 1423078 1423080 1423081 1423082 1423083 1423084 1423085 1423086 1423087 1423088 1423089 1423090 1423091 1423094 1423096 1423097 1423098 1423099 1423100 1423101 1423103 1423104 1423105 1423106 1423107 1423108 1423109 1423110 1423112 1423113 1423114 1423142 1423225 1423226 1423286 1423309 1423344 1423385 1423452 1423462 1423482 1423485 1423492 1423493 1423494 1423495 1423496 1423497 1423497 1423498 1423499 1423500 1423501 1423502 1423503 1423504 1423505 1423506 1423507 1423510 1423512 1423514 1423515 1423517 1423518 1423519 1423521 1423522 1423524 1423525 1423526 1423527 1423529 1423535 1423536 1423539 1423541 1423542 1423543 1423544 1423545 1423546 1423547 1423548 1423549 1423550 1423550 1423551 1423552 1423554 1423555 1423556 1423557 1423558 1423559 1423560 1423561 1423567 1423568 1423570 1423571 1423572 1423573 1423574 1423575 1423576 1423577 1423577 1423578 1423579 1423580 1423581 1423582 1423585 1423586 1423588 1423589 1423590 1423591 1423592 1423594 1423595 1423596 1423597 1423598 1423599 1423600 1423601 1423603 1423604 1423606 1423607 1423608 1423612 1423613 1423614 1423625 1423626 1423627 1423631 1423632 1423633 1423634 1423635 1423637 1423638 1423639 1423640 1423641 1423644 1423645 1423647 1423648 1423650 1423651 1423652 1423653 1423654 1423656 1423658 1423668 1423669 1423674 1423676 1423677 1423679 1423680 1423681 1423682 1423683 1423684 1423685 1423689 1423690 1423691 1423692 1423693 1423694 1423694 1423695 1423696 1423697 1423698 1423699 1423700 1423701 1423701 1423702 1423703 1423704 1423706 1423708 1423709 1423710 1423711 1423712 1423713 1423714 1423715 1423716 1423717 1423718 1423719 1423721 1423722 1423729 1423731 1423732 1423732 1423736 1423739 1423740 1423743 1423744 1423745 1423749 1423751 1423753 1423755 1423757 1423758 1423759 1423760 1423761 1423765 1423767 1423768 1423769 1423770 1423771 1423772 1423773 1423774 1423775 1423776 1423778 1423779 1423784 1423787 1423788 1423791 1423795 1423799 1423800 1423801 1423805 1423809 1423811 1423814 1423818 1423821 1423822 1423822 1423823 1423824 1423825 1423827 1423828 1423829 1423830 1423831 1423832 1423833 1423834 1423836 1423837 1423838 1423839 1423840 1423841 1423842 1423843 1423844 1423846 1423847 1423848 1423849 1423849 1423850 1423851 1423854 1423858 1423859 1423860 1423862 1423863 1423865 1423866 1423867 1423868 1423870 1423872 1423873 1423874 1423875 1423876 1423877 1423878 1423880 1423882 1423884 1423885 1423887 1423887 1423888 1423888 1423889 1423890 1423891 1423892 1423894 1423895 1423896 1423897 1423898 1423899 1423900 1423901 1423902 1423906 1423907 1423908 1423909 1423911 1423913 1423916 1423920 1423922 1423923 1423926 1423927 1423930 1423931 1423936 1423938 1423939 1423940 1423941 1423941 1423942 1423943 1423944 1423945 1423947 1423948 1423949 1423950 1423950 1423951 1423958 1423959 1423960 1423961 1423964 1423965 1423966 1423968 1423970 1423971 1423974 1423976 1423980 1423983 1423987 1423991 1423995 1423996 1424000 1424003 1424005 1424006 1424006 1424015 1424020 1424025 1424032 1424033 1424037 1424040 1424041 1424049 1424050 1424053 1424054 1424058 1424062 1424064 1424069 1424070 1424073 1424077 1424082 1424083 1424084 1424086 1424090 1424092 1424094 1424099 1424108 1424110 1424111 1424112 1424114 1424116 1424118 1424125 1424127 1424130 1424131 1424132 1424133 1424134 1424135 1424136 1424137 1424138 1424139 1424140 1424141 1424142 1424143 1424144 1424145 1424146 1424147 1424148 1424149 1424150 1424151 1424153 1424154 1424156 1424157 1424158 1424159 1424160 1424160 1424161 1424165 1424166 1424167 1424169 1424170 1424173 1424177 1424178 1424188 1424204 1424206 1424209 1424210 1424211 1424212 1424213 1424214 1424217 1424218 1424219 1424222 1424223 1424230 1424231 1424232 1424233 1424235 1424237 1424238 1424239 1424240 1424241 1424242 1424243 1424244 1424245 1424246 1424247 1424248 1424249 1424250 1424250 1424252 1424253 1424254 1424259 1424266 1424267 1424272 1424273 1424274 1424276 1424278 1424279 1424282 1424284 1424285 1424286 1424288 1424291 1424293 1424297 1424298 1424299 1424300 1424301 1424302 1424303 1424304 1424305 1424306 1424307 1424308 1424309 1424316 1424317 1424318 1424319 1424320 1424322 1424323 1424327 1424328 1424329 1424331 1424332 1424333 1424334 1424335 1424337 1424339 1424340 1424341 1424342 1424343 1424344 1424345 1424346 1424347 1424349 1424350 1424351 1424352 1424353 1424354 1424355 1424440 1424440 1424441 1424442 1424447 1424448 1424449 1424450 1424451 1424454 1424455 1424456 1424457 1424458 1424459 1424460 1424461 1424463 1424465 1424467 1424471 1424472 1424473 1424474 1424475 1424476 1424478 1424479 1424480 1424481 1424485 1424486 1424488 1424489 1424490 1424491 1424492 1424493 1424494 1424496 1424497 1424498 1424499 1424500 1424501 1424502 1424503 1424504 1424505 1424506 1424507 1424509 1424510 1424512 1424513 1424515 1424516 1424517 1424518 1424519 1424521 1424522 1424524 1424525 1424528 1424529 1424530 1424533 1424540 1424542 1424543 1424544 1424547 1424548 1424550 1424552 1424554 1424557 1424559 1424560 1424561 1424562 1424563 1424564 1424566 1424567 1424568 1424569 1424571 1424575 1424580 1424581 1424582 1424583 1424584 1424586 1424586 1424587 1424588 1424589 1424590 1424591 1424593 1424594 1424595 1424597 1424598 1424600 1424601 1424602 1424603 1424605 1424606 1424608 1424609 1424610 1424611 1424612 1424613 1424615 1424616 1424617 1424618 1424619 1424620 1424621 1424622 1424623 1424624 1424625 1424626 1424627 1424628 1424629 1424630 1424631 1424631 1424633 1424634 1424635 1424636 1424637 1424639 1424640 1424645 1424646 1424647 1424649 1424650 1424651 1424652 1424653 1424654 1424655 1424656 1424658 1424659 1424660 1424661 1424662 1424663 1424664 1424665 1424666 1424667 1424668 1424669 1424670 1424671 1424672 1424673 1424674 1424675 1424676 1424677 1424679 1424680 1424681 1424682 1424683 1424684 1424684 1424685 1424686 1424687 1424689 1424690 1424691 1424692 1424693 1424694 1424695 1424697 1424698 1424699 1424700 1424701 1424702 1424703 1424704 1424705 1424706 1424707 1424712 1424713 1424714 1424716 1424717 1424718 1424719 1424720 1424721 1424722 1424723 1424723 1424724 1424725 1424726 1424727 1424728 1424729 1424730 1424731 1424733 1424734 1424735 1424736 1424737 1424741 1424742 1424743 1424747 1424748 1424749 1424750 1424751 1424753 1424754 1424755 1424756 1424759 1424760 1424761 1424763 1424764 1424765 1424769 1424771 1424772 1424774 1424776 1424777 1424778 1424779 1424780 1424781 1424782 1424783 1424784 1424785 1424786 1424787 1424788 1424789 1424790 1424792 1424794 1424796 1424797 1424798 1424799 1424800 1424802 1424804 1424805 1424806 1424807 1424808 1424809 1424810 1424812 1424813 1424814 1424815 1424816 1424817 1424818 1424819 1424820 1424820 1424822 1424823 1424824 1424825 1424826 1424835 1424838 1424839 1424843 1424849 1424851 1424852 1424853 1424854 1424855 1424856 1424858 1424860 1424861 1424862 1424863 1424865 1424866 1424867 1424868 1424869 1424870 1424871 1424872 1424873 1424874 1424876 1424877 1424878 1424879 1424880 1424881 1424883 1424884 1424885 1424886 1424887 1424888 1424891 1424892 1424893 1424894 1424895 1424896 1424897 1424898 1424898 1424900 1424902 1424903 1424905 1424906 1424907 1424908 1424909 1424912 1424914 1424915 1424916 1424917 1424919 1424920 1424921 1424922 1424923 1424924 1424925 1424926 1424927 1424929 1424930 1424931 1424932 1424933 1424934 1424935 1424936 1424938 1424940 1424941 1424942 1424943 1424945 1424946 1424947 1424948 1424949 1424950 1424951 1424952 1424954 1424955 1424956 1424957 1424958 1424959 1424960 1424961 1424962 1424964 1424965 1424967 1424968 1424969 1424970 1424971 1424972 1424976 1424977 1424978 1424979 1424980 1424981 1424981 1424982 1424983 1424984 1424985 1424986 1424987 1424988 1424989 1424990 1424992 1424993 1424994 1424995 1424996 1424997 1424998 1424999 1425002 1425003 1425005 1425006 1425007 1425008 1425009 1425010 1425011 1425012 1425013 1425014 1425015 1425016 1425018 1425019 1425020 1425021 1425022 1425023 1425024 1425025 1425027 1425028 1425029 1425030 1425031 1425032 1425033 1425034 1425035 1425035 1425036 1425037 1425038 1425039 1425040 1425041 1425042 1425045 1425046 1425047 1425048 1425049 1425050 1425051 1425052 1425056 1425059 1425060 1425063 1425064 1425065 1425066 1425067 1425069 1425071 1425071 1425072 1425073 1425074 1425075 1425076 1425077 1425078 1425079 1425080 1425081 1425082 1425083 1425085 1425086 1425090 1425091 1425094 1425095 1425096 1425097 1425098 1425101 1425102 1425103 1425104 1425105 1425106 1425107 1425110 1425111 1425114 1425119 1425120 1425123 1425126 1425128 1425129 1425130 1425130 1425131 1425132 1425133 1425135 1425136 1425137 1425138 1425141 1425143 1425144 1425145 1425147 1425148 1425150 1425151 1425152 1425153 1425155 1425156 1425157 1425158 1425159 1425160 1425162 1425164 1425165 1425168 1425177 1425178 1425179 1425181 1425182 1425183 1425184 1425186 1425187 1425187 1425188 1425189 1425190 1425192 1425194 1425195 1425201 1425201 1425202 1425205 1425206 1425207 1425208 1425210 1425212 1425214 1425216 1425218 1425219 1425220 1425222 1425223 1425224 1425225 1425226 1425228 1425229 1425230 1425231 1425233 1425234 1425235 1425238 1425241 1425242 1425243 1425244 1425247 1425248 1425249 1425251 1425252 1425253 1425254 1425257 1425258 1425258 1425259 1425259 1425260 1425261 1425262 1425263 1425264 1425266 1425267 1425268 1425269 1425270 1425271 1425272 1425273 1425274 1425275 1425276 1425277 1425278 1425279 1425280 1425281 1425282 1425284 1425285 1425287 1425289 1425290 1425291 1425292 1425293 1425293 1425303 1425307 1425309 1425310 1425314 1425317 1425320 1425321 1425322 1425323 1425324 1425324 1425325 1425326 1425327 1425328 1425329 1425330 1425331 1425332 1425333 1425334 1425335 1425337 1425338 1425339 1425340 1425341 1425342 1425343 1425345 1425346 1425347 1425348 1425349 1425350 1425351 1425352 1425353 1425354 1425357 1425358 1425359 1425360 1425361 1425363 1425364 1425365 1425366 1425367 1425370 1425371 1425372 1425373 1425380 1425383 1425385 1425386 1425387 1425388 1425389 1425391 1425393 1425394 1425395 1425396 1425397 1425398 1425399 1425400 1425401 1425402 1425403 1425404 1425405 1425406 1425407 1425408 1425409 1425411 1425412 1425413 1425414 1425415 1425416 1425417 1425418 1425419 1425420 1425421 1425422 1425424 1425425 1425426 1425427 1425428 1425429 1425431 1425432 1425433 1425434 1425435 1425437 1425438 1425439 1425440 1425441 1425443 1425444 1425445 1425446 1425447 1425449 1425457 1425459 1425460 1425461 1425462 1425464 1425465 1425467 1425470 1425471 1425471 1425472 1425473 1425474 1425475 1425475 1425477 1425478 1425479 1425480 1425481 1425482 1425484 1425485 1425488 1425493 1425494 1425496 1425497 1425498 1425500 1425501 1425503 1425506 1425507 1425508 1425509 1425510 1425510 1425512 1425513 1425514 1425516 1425517 1425518 1425519 1425521 1425522 1425523 1425523 1425524 1425525 1425525 1425526 1425527 1425528 1425529 1425531 1425532 1425533 1425534 1425535 1425537 1425539 1425540 1425541 1425543 1425544 1425545 1425546 1425547 1425549 1425562 1425563 1425564 1425565 1425566 1425567 1425568 1425569 1425570 1425573 1425574 1425576 1425577 1425578 1425580 1425582 1425583 1425585 1425586 1425591 1425592 1425595 1425596 1425600 1425601 1425601 1425602 1425603 1425604 1425609 1425614 1425614 1425616 1425620 1425620 1425621 1425622 1425622 1425623 1425625 1425626 1425629 1425631 1425632 1425633 1425636 1425637 1425638 1425639 1425641 1425642 1425643 1425644 1425649 1425650 1425651 1425652 1425653 1425654 1425655 1425656 1425657 1425658 1425659 1425660 1425662 1425664 1425666 1425667 1425667 1425668 1425669 1425671 1425671 1425672 1425673 1425674 1425675 1425676 1425677 1425679 1425680 1425681 1425682 1425683 1425685 1425687 1425688 1425690 1425691 1425692 1425693 1425695 1425696 1425697 1425698 1425699 1425700 1425701 1425702 1425708 1425715 1425716 1425718 1425720 1425722 1425723 1425724 1425726 1425727 1425728 1425729 1425730 1425731 1425732 1425733 1425741 1425742 1425743 1425744 1425745 1425747 1425748 1425751 1425753 1425755 1425756 1425757 1425758 1425761 1425762 1425763 1425764 1425766 1425767 1425774 1425775 1425778 1425779 1425781 1425783 1425784 1425785 1425786 1425787 1425790 1425791 1425793 1425794 1425795 1425796 1425797 1425800 1425801 1425802 1425804 1425806 1425807 1425808 1425825 1425826 1425827 1425828 1425829 1425830 1425831 1425833 1425834 1425835 1425836 1425837 1425838 1425839 1425840 1425841 1425842 1425844 1425845 1425852 1425854 1425856 1425861 1425862 1425869 1425871 1425873 1425887 1425890 1425902 1425903 1425923 1425924 1425925 1425926 1425927 1425928 1425929 1425931 1425932 1425933 1425934 1425935 1425936 1425937 1425938 1425941 1425942 1425943 1425945 1425947 1425949 1425950 1425953 1425955 1425956 1425957 1425959 1425962 1425964 1425966 1425966 1425967 1425969 1425970 1425971 1425972 1425974 1425975 1425976 1425978 1425979 1425980 1425981 1425982 1425983 1425984 1425984 1425986 1425987 1425988 1425990 1425991 1425992 1425993 1425994 1425995 1425996 1425997 1425999 1426000 1426001 1426002 1426003 1426004 1426005 1426006 1426007 1426008 1426009 1426010 1426011 1426012 1426013 1426014 1426023 1426024 1426025 1426029 1426030 1426031 1426032 1426033 1426035 1426036 1426037 1426038 1426039 1426040 1426045 1426046 1426047 1426048 1426052 1426053 1426055 1426056 1426058 1426059 1426060 1426061 1426061 1426062 1426063 1426064 1426065 1426066 1426067 1426068 1426070 1426071 1426072 1426073 1426074 1426076 1426077 1426078 1426079 1426080 1426081 1426082 1426083 1426084 1426085 1426086 1426087 1426088 1426092 1426094 1426095 1426096 1426097 1426098 1426102 1426104 1426105 1426106 1426107 1426108 1426108 1426112 1426113 1426119 1426120 1426121 1426122 1426125 1426126 1426127 1426128 1426129 1426130 1426131 1426132 1426133 1426137 1426138 1426140 1426143 1426144 1426145 1426147 1426148 1426152 1426153 1426154 1426156 1426157 1426158 1426159 1426160 1426160 1426161 1426162 1426163 1426171 1426173 1426174 1426175 1426178 1426179 1426180 1426181 1426182 1426183 1426185 1426186 1426187 1426188 1426189 1426190 1426191 1426192 1426193 1426194 1426195 1426196 1426197 1426200 1426201 1426203 1426204 1426207 1426208 1426209 1426210 1426211 1426212 1426213 1426216 1426219 1426224 1426225 1426227 1426228 1426231 1426232 1426233 1426234 1426235 1426236 1426238 1426240 1426243 1426244 1426245 1426271 1426281 1426300 1426301 1426306 1426307 1426309 1426310 1426311 1426312 1426313 1426315 1426316 1426317 1426327 1426328 1426329 1426330 1426331 1426332 1426333 1426334 1426335 1426335 1426338 1426339 1426340 1426341 1426343 1426344 1426345 1426346 1426348 1426351 1426352 1426353 1426354 1426355 1426356 1426357 1426363 1426369 1426370 1426372 1426374 1426376 1426378 1426379 1426380 1426381 1426383 1426384 1426386 1426387 1426389 1426391 1426392 1426393 1426396 1426398 1426428 1426447 1426448 1426456 1426460 1426461 1426462 1426463 1426468 1426489 1426490 1426493 1426494 1426498 1426499 1426500 1426501 1426502 1426503 1426505 1426506 1426507 1426509 1426510 1426511 1426512 1426516 1426517 1426518 1426519 1426520 1426521 1426522 1426526 1426528 1426548 1426550 1426551 1426553 1426555 1426556 1426557 1426558 1426560 1426561 1426562 1426567 1426568 1426569 1426570 1426572 1426573 1426574 1426575 1426576 1426577 1426578 1426579 1426580 1426582 1426584 1426585 1426587 1426588 1426589 1426590 1426591 1426592 1426628 1426629 1426630 1426631 1426633 1426634 1426635 1426647 1426650 1426651 1426652 1426653 1426656 1426657 1426659 1426660 1426661 1426662 1426663 1426664 1426665 1426667 1426668 1426669 1426670 1426673 1426674 1426675 1426676 1426677 1426679 1426680 1426689 1426699 1426700 1426706 1426709 1426725 1426728 1426729 1426730 1426733 1426734 1426735 1426736 1426741 1426748 1426756 1426758 1426759 1426760 1426761 1426763 1426765 1426766 1426768 1426771 1426772 1426776 1426785 1426787 1426788 1426794 1426795 1426796 1426797 1426800 1426801 1426802 1426803 1426805 1426806 1426807 1426808 1426810 1426811 1426812 1426813 1426815 1426816 1426818 1426819 1426820 1426822 1426823 1426829 1426831 1426838 1426839 1426840 1426842 1426843 1426844 1426845 1426846 1426848 1426851 1426854 1426855 1426856 1426858 1426859 1426860 1426866 1426867 1426869 1426872 1426874 1426875 1426876 1426882 1426894 1426897 1426902 1426902 1426905 1426906 1426907 1426908 1426909 1426910 1426911 1426912 1426914 1426915 1426919 1426922 1426926 1426927 1426929 1426930 1426931 1426933 1426934 1426935 1426937 1426938 1426939 1426940 1426941 1426942 1426943 1426944 1426945 1426946 1426947 1426948 1426950 1426951 1426952 1426955 1426956 1426957 1426958 1426959 1426961 1426964 1426966 1426967 1426968 1426969 1426973 1426974 1426975 1426977 1426979 1426981 1426997 1427003 1427004 1427005 1427006 1427007 1427008 1427009 1427010 1427012 1427013 1427014 1427015 1427016 1427017 1427018 1427019 1427020 1427021 1427023 1427024 1427025 1427027 1427028 1427030 1427031 1427033 1427034 1427035 1427038 1427040 1427045 1427046 1427047 1427049 1427050 1427051 1427053 1427056 1427057 1427060 1427062 1427063 1427064 1427065 1427066 1427067 1427069 1427070 1427073 1427076 1427079 1427080 1427081 1427083 1427085 1427085 1427086 1427088 1427090 1427091 1427093 1427098 1427100 1427102 1427103 1427105 1427106 1427107 1427109 1427112 1427113 1427114 1427115 1427116 1427117 1427118 1427119 1427120 1427121 1427123 1427125 1427128 1427129 1427130 1427132 1427133 1427139 1427143 1427144 1427145 1427145 1427146 1427147 1427148 1427149 1427150 1427151 1427152 1427153 1427154 1427155 1427156 1427160 1427163 1427164 1427165 1427166 1427167 1427168 1427169 1427175 1427176 1427177 1427181 1427182 1427185 1427187 1427188 1427189 1427190 1427192 1427193 1427195 1427196 1427198 1427199 1427200 1427201 1427202 1427203 1427206 1427211 1427213 1427214 1427215 1427215 1427216 1427216 1427219 1427221 1427223 1427224 1427227 1427230 1427233 1427234 1427235 1427237 1427237 1427238 1427240 1427241 1427242 1427244 1427245 1427248 1427252 1427255 1427256 1427259 1427260 1427261 1427263 1427265 1427266 1427267 1427269 1427270 1427271 1427272 1427273 1427275 1427276 1427278 1427278 1427279 1427281 1427283 1427285 1427286 1427287 1427288 1427290 1427291 1427293 1427294 1427297 1427300 1427302 1427303 1427304 1427305 1427305 1427306 1427319 1427322 1427329 1427330 1427359 1427360 1427361 1427362 1427363 1427364 1427365 1427366 1427368 1427370 1427373 1427374 1427378 1427380 1427381 1427382 1427383 1427384 1427392 1427394 1427396 1427397 1427398 1427399 1427404 1427405 1427407 1427410 1427411 1427412 1427413 1427414 1427415 1427417 1427420 1427420 1427421 1427422 1427423 1427424 1427425 1427430 1427431 1427432 1427435 1427441 1427445 1427447 1427448 1427449 1427450 1427456 1427457 1427460 1427460 1427462 1427464 1427465 1427468 1427472 1427473 1427475 1427477 1427478 1427479 1427480 1427481 1427484 1427485 1427487 1427488 1427489 1427490 1427491 1427492 1427493 1427498 1427498 1427500 1427504 1427518 1427520 1427524 1427532 1427536 1427537 1427538 1427539 1427540 1427541 1427543 1427544 1427551 1427552 1427556 1427559 1427560 1427561 1427563 1427565 1427566 1427569 1427573 1427577 1427579 1427582 1427584 1427586 1427588 1427589 1427590 1427592 1427594 1427595 1427596 1427605 1427607 1427608 1427611 1427618 1427620 1427621 1427622 1427623 1427624 1427625 1427627 1427628 1427630 1427631 1427633 1427638 1427640 1427641 1427642 1427643 1427645 1427646 1427656 1427660 1427665 1427670 1427672 1427673 1427674 1427675 1427680 1427687 1427693 1427694 1427695 1427697 1427699 1427700 1427701 1427702 1427703 1427704 1427707 1427709 1427711 1427712 1427713 1427715 1427716 1427723 1427725 1427726 1427727 1427728 1427729 1427731 1427734 1427735 1427736 1427737 1427738 1427739 1427741 1427742 1427744 1427745 1427746 1427747 1427748 1427750 1427754 1427755 1427756 1427757 1427758 1427759 1427760 1427761 1427765 1427766 1427767 1427768 1427769 1427770 1427772 1427774 1427779 1427789 1427791 1427794 1427794 1427795 1427796 1427797 1427798 1427800 1427801 1427802 1427803 1427804 1427805 1427806 1427807 1427808 1427811 1427812 1427815 1427816 1427817 1427818 1427826 1427829 1427830 1427830 1427831 1427832 1427833 1427835 1427836 1427837 1427838 1427840 1427841 1427843 1427845 1427846 1427847 1427851 1427852 1427858 1427859 1427860 1427862 1427864 1427865 1427866 1427868 1427871 1427874 1427877 1427879 1427880 1427881 1427882 1427883 1427884 1427885 1427889 1427890 1427893 1427895 1427896 1427903 1427906 1427907 1427908 1427909 1427910 1427911 1427912 1427913 1427914 1427917 1427920 1427923 1427924 1427925 1427926 1427927 1427938 1427941 1427944 1427946 1427947 1427949 1427950 1427951 1427952 1427953 1427954 1427955 1427956 1427957 1427958 1427959 1427960 1427962 1427963 1427964 1427966 1427968 1427969 1427971 1427974 1427976 1427979 1427980 1427982 1427984 1427986 1427988 1427991 1427992 1427993 1427994 1427995 1427996 1427997 1427998 1427999 1428000 1428002 1428004 1428008 1428009 1428011 1428013 1428014 1428017 1428020 1428021 1428023 1428025 1428026 1428029 1428031 1428032 1428035 1428037 1428038 1428040 1428041 1428043 1428044 1428045 1428046 1428047 1428048 1428052 1428056 1428056 1428058 1428059 1428063 1428064 1428067 1428070 1428072 1428073 1428074 1428075 1428077 1428077 1428085 1428089 1428090 1428093 1428094 1428097 1428099 1428100 1428101 1428104 1428105 1428107 1428109 1428110 1428113 1428115 1428118 1428121 1428122 1428124 1428127 1428128 1428129 1428130 1428131 1428135 1428138 1428139 1428140 1428142 1428150 1428158 1428159 1428161 1428162 1428164 1428165 1428166 1428168 1428169 1428170 1428172 1428173 1428174 1428177 1428177 1428178 1428180 1428181 1428182 1428183 1428184 1428192 1428193 1428194 1428195 1428195 1428197 1428198 1428199 1428200 1428201 1428202 1428203 1428204 1428205 1428213 1428214 1428215 1428219 1428221 1428222 1428224 1428225 1428226 1428228 1428233 1428235 1428238 1428242 1428244 1428254 1428255 1428257 1428258 1428259 1428262 1428263 1428265 1428266 1428267 1428268 1428269 1428270 1428271 1428272 1428273 1428275 1428276 1428277 1428279 1428281 1428282 1428287 1428288 1428290 1428293 1428294 1428295 1428332 1428333 1428334 1428335 1428336 1428337 1428338 1428339 1428340 1428341 1428342 1428343 1428344 1428345 1428346 1428347 1428348 1428349 1428349 1428350 1428351 1428352 1428353 1428354 1428355 1428356 1428357 1428358 1428360 1428361 1428362 1428364 1428365 1428369 1428370 1428371 1428372 1428373 1428374 1428375 1428376 1428376 1428377 1428377 1428378 1428379 1428380 1428384 1428388 1428389 1428390 1428391 1428392 1428393 1428395 1428396 1428397 1428398 1428399 1428403 1428404 1428406 1428407 1428412 1428414 1428415 1428419 1428420 1428420 1428421 1428422 1428423 1428424 1428427 1428428 1428429 1428430 1428431 1428432 1428434 1428434 1428435 1428439 1428444 1428445 1428446 1428449 1428451 1428456 1428457 1428459 1428462 1428463 1428464 1428472 1428476 1428477 1428478 1428481 1428484 1428485 1428486 1428487 1428491 1428492 1428494 1428495 1428496 1428497 1428499 1428501 1428502 1428503 1428506 1428508 1428509 1428511 1428513 1428515 1428522 1428523 1428527 1428531 1428532 1428533 1428535 1428538 1428542 1428543 1428545 1428546 1428548 1428549 1428550 1428553 1428557 1428560 1428564 1428566 1428567 1428568 1428570 1428572 1428573 1428576 1428577 1428579 1428584 1428586 1428591 1428594 1428596 1428598 1428601 1428602 1428604 1428605 1428607 1428608 1428609 1428610 1428612 1428624 1428625 1428629 1428630 1428631 1428636 1428638 1428639 1428650 1428652 1428654 1428660 1428662 1428668 1428669 1428670 1428671 1428678 1428681 1428682 1428683 1428686 1428688 1428691 1428692 1428695 1428696 1428702 1428703 1428705 1428707 1428708 1428711 1428712 1428713 1428718 1428719 1428722 1428723 1428725 1428728 1428729 1428731 1428734 1428735 1428738 1428739 1428740 1428741 1428744 1428747 1428748 1428749 1428750 1428751 1428752 1428754 1428755 1428756 1428757 1428758 1428760 1428761 1428762 1428764 1428766 1428768 1428769 1428771 1428772 1428772 1428775 1428777 1428778 1428779 1428780 1428781 1428783 1428784 1428785 1428787 1428787 1428788 1428790 1428792 1428794 1428795 1428796 1428797 1428797 1428798 1428800 1428804 1428805 1428806 1428807 1428808 1428810 1428813 1428816 1428818 1428819 1428820 1428821 1428822 1428823 1428829 1428829 1428832 1428834 1428835 1428836 1428840 1428843 1428848 1428849 1428852 1428853 1428855 1428861 1428862 1428863 1428864 1428865 1428866 1428868 1428869 1428870 1428871 1428872 1428873 1428874 1428875 1428877 1428878 1428880 1428882 1428883 1428884 1428886 1428887 1428887 1428889 1428890 1428890 1428894 1428895 1428897 1428897 1428898 1428899 1428900 1428901 1428902 1428903 1428904 1428905 1428908 1428909 1428910 1428911 1428912 1428913 1428914 1428915 1428916 1428918 1428919 1428920 1428921 1428922 1428923 1428924 1428925 1428927 1428928 1428930 1428931 1428933 1428933 1428934 1428935 1428937 1428943 1428944 1428945 1428946 1428947 1428948 1428949 1428950 1428951 1428952 1428953 1428954 1428955 1428956 1428957 1428958 1428959 1428960 1428961 1428962 1428963 1428964 1428965 1428966 1428967 1428968 1428970 1428974 1428975 1428976 1428977 1428982 1428985 1428987 1428988 1428989 1428991 1428992 1428995 1428997 1428998 1429001 1429002 1429003 1429004 1429011 1429012 1429013 1429014 1429017 1429021 1429022 1429025 1429037 1429039 1429040 1429041 1429049 1429055 1429056 1429077 1429078 1429080 1429082 1429186 1429189 1429194 1429201 1429203 1429218 1429225 1429233 1429237 1429246 1429260 1429280 1429314 1429345 1429361 1429364 1429371 1429388 1429424 1429427 1429438 1429463 1429464 1429528 1429554 1429565 1429570 1429585 1429591 1429593 1429594 1429603 1429660 1429666 1429668 1429673 1429676 1429685 1429695 1429702 1429705 1429723 1429744 1429751 1429774 1429775 1429777 1429814 1429859 1429863 1429901 1429928 1429943 1429979 1429989 1429990 1430036 1430056 1430086 1430184 1430217 1430219 1430223 1430233 1430239 1430281 1430328 1430345 1430347 1430350 1430378 1430379 1430438 1430442 1430447 1430453 1430475 1430516 1430524 1430555 1430571 1430594 1430595 1430642 1430651 1430689 1430702 1430725 1430834 1430889 1430891 1430913 1430916 1430923 1430943 1430948 1431046 1431056 1431071 1431092 1431101 1431103 1431107 1431119 1431123 1431145 1431185 1431218 1431267 1431316 1431320 1431322 1431383 1431390 1431393 1431419 1431436 1431440 1431449 1431464 1431493 1431513 1431519 1431520 1431532 1431560 1431573 1431598 1431611 1431614 1431628 1431653 1431671 1431691 1431711 1431730 1431767 1431795 1431806 1431809 1431813 1431815 1431836 1431897 1431910 1431918 1431932 1431958 1431969 1431973 1432003 1432005 1432037 1432048 1432076 1432078 1432084 1432096 1432107 1432112 1432126 1432141 1432161 1432172 1432197 1432218 1432227 1432231 1432241 1432262 1432345 1432376 1432437 1432496 1432600 1432612 1432620 1432621 1432638 1432642 1432643 1432644 1432656 1432661 1432684 1432707 1432809 1432810 1432814 1432841 1432869 1432898 1432914 1432919 1432938 1432960 1432976 1433022 1433045 1433062 1433063 1433071 1433131 1433141 1433156 1433172 1433181 1433224 1433232 1433276 1433289 1433314 1433334 1433380 1433422 1433427 1433428 1433448 1433450 1433469 1433502 1433507 1433517 1433573 1433595 1433617 1433623 1433663 1433664 1433695 1433736 1433740 1433754 1433763 1433775 1433819 1433827 1433866 1433877 1433878 1433902 1433943 1434090 1434116 1434133 1434172 1434193 1434219 1434225 1434282 1434287 1434289 1434306 1434322 1434345 1434351 1434353 1434369 1434378 1434393 1434401 1434409 1434434 1434437 1434448 1434502 1434524 1434526 1434549 1434571 1434576 1434601 1434607 1434639 1434659 1434662 1434677 1434678 1434679 1434704 1434757 1434760 1434761 1434775 1434811 1434821 1434831 1434837 1434840 1434848 1434852 1434901 1434904 1435031 1435039 1435103 1435143 1435154 1435181 1435185 1435188 1435190 1435216 1435220 1435241 1435244 1435321 1435361 1435403 1435404 1435459 1435482 1435494 1435515 1435548 1435555 1435556 1435568 1435585 1435595 1435596 1435606 1435615 1435637 1435639 1435659 1435681 1435693 1435712 1435722 1435727 1435731 1435733 1435749 1435751 1435756 1435760 1435763 1435775 1435791 1435815 1435821 1435829 1435846 1435857 1435894 1435902 1435946 1435980 1435982 1435989 1435996 1436015 1436059 1436102 1436105 1436184 1436189 1436209 1436247 1436255 1436280 1436312 1436320 1436334 1436350 1436361 1436371 1436382 1436394 1436410 1436482 1436487 1436529 1436544 1436561 1436571 1436582 1436587 1436598 1436601 1436632 1436646 1436651 1436733 1436755 1436763 1436811 1436854 1436909 1436916 1436953 1436974 1436981 1436984 1436987 1437017 1437021 1437022 1437034 1437059 1437069 1437103 1437131 1437138 1437144 1437146 1437157 1437179 1437188 1437191 1437215 1437237 1437266 1437272 1437277 1437287 1437293 1437297 1437304 1437311 1437321 1437341 1437358 1437360 1437397 1437445 1437451 1437458 1437469 1437495 1437503 1437517 1437518 1437536 1437544 1437591 1437599 1437616 1437618 1437649 1437701 1437703 1437739 1437745 1437756 1437782 1437816 1437831 1437842 1437846 1437848 1437906 1437911 1437927 1437944 1437965 1438060 1438070 1438088 1438122 1438149 1438152 1438167 1438168 1438179 1438190 1438197 1438252 1438309 1438370 1438389 1438391 1438393 1438411 1438442 1438468 1438523 1438542 1438565 1438579 1438619 1438641 1438650 1438671 1438680 1438682 1438738 1438763 1438764 1438778 1438804 1438817 1438833 1438853 1438864 1438883 1438894 1438907 1438909 1438916 1438918 1438945 1438975 1438994 1439005 1439066 1439122 1439126 1439139 1439167 1439169 1439171 1439200 1439261 1439262 1439270 1439272 1439273 1439274 1439284 1439287 1439289 1439290 1439292 1439296 1439306 1439327 1439328 1439329 1439331 1439333 1439334 1439335 1439337 1439341 1439341 1439342 1439345 1439347 1439350 1439351 1439352 1439353 1440115 1440566 1440677 1440691 1440700 1440747 1440748 1440760 1441233 1441270 1441306 1441353 1441390 1442482 1442484 1442484 1442485 1442489 1442490 1442491 1442492 1442493 1442495 1442498 1442499 1442506 1442512 1442513 1442514 1442515 1442517 1442521 1442735 1442738 1442741 1442742 1442749 1442750 1442751 1442752 1442753 1442756 1442757 1442758 1442759 1442760 1442761 1442762 1442767 1442768 1442769 1442771 1442776 1442777 1442787 1442788 1442790 1442793 1442794 1442798 1442804 1442805 1442814 1442823 1442824 1442846 1442855 1442859 1442864 1442871 1442881 1442882 1442889 1442905 1442932 1442934 1442954 1442972 1443038 1443039 1443145 1443567 1443674 1443679 1443846 1443916 1443917 1443987 1443996 1444135 1444137 1444138 1444139 1444140 1444898 1445077 1445578 1445625 1445667 1445775 1445852 1445860 1445864 1445865 1445866 1446542 1446598 1446659 1446955 1446962 1446980 1446983 1446985 1446986 1446990 1446994 1447020 1447022 1447028 1447029 1447030 1447040 1447041 1447047 1447051 1447060 1447061 1447064 1447070 1447076 1447077 1447078 1447085 1447107 1447124 1447127 1447135 1447150 1447152 1447166 1447169 1447171 1447180 1447216 1447229 1447235 1447237 1447243 1447245 1447261 1447280 1447284 1447302 1447311 1447317 1447334 1447440 1447452 1447456 1447472 1447487 1447504 1447535 1447550 1447565 1447567 1447574 1447587 1447593 1447595 1447607 1447615 1447616 1447617 1447626 1447644 1447655 1447656 1447657 1447664 1447667 1447671 1447688 1447690 1447694 1447701 1447702 1447703 1447720 1447737 1447742 1447747 1447749 1447752 1447755 1447785 1447786 1447791 1447795 1447801 1447833 1447875 1447892 1447897 1447901 1447906 1447907 1447932 1447941 1447975 1448004 1448039 1448040 1448101 1448119 1448132 1448133 1448141 1448142 1448176 1448177 1448197 1448213 1448238 1448242 1448265 1448269 1448270 1448307 1448404 1448405 1448406 1448407 1448437 1448438 1448439 1448468 1448470 1448480 1448485 1448495 1448499 1448501 1448506 1448536 1448539 1448547 1448553 1448559 1448560 1448564 1448567 1448571 1448577 1448578 1448581 1448584 1448587 1448592 1448593 1448597 1448598 1448600 1448605 1448612 1448633 1448639 1448641 1448643 1448657 1448662 1448667 1448671 1448679 1448683 1448689 1448691 1448701 1448706 1448726 1448754 1448760 1448761 1448763 1448767 1448782 1448789 1448812 1448815 1448824 1448834 1448836 1448844 1448845 1448856 1448869 1448888 1448890 1448943 1448948 1448959 1448978 1448992 1448995 1449006 1449013 1449015 1449016 1449024 1449030 1449036 1449046 1449061 1449062 1449065 1449100 1449108 1449113 1449128 1449136 1449152 1449159 1449188 1449212 1449219 1449220 1449226 1449232 1449249 1449275 1449286 1449298 1449303 1449304 1449308 1449309 1449315 1449318 1449343 1449351 1449379 1449387 1449405 1449416 1449429 1449437 1449651 1449662 1449666 1449677 1449714 1449716 1449799 1449808 1449824 1449829 1449849 1449850 1449856 1449858 1449859 1449872 1449886 1449925 1449940 1449958 1449965 1450012 1450019 1450020 1450080 1450091 1450093 1450134 1450145 1450146 1450168 1450171 1450173 1450175 1450239 1450261 1450288 1450293 1450305 1450306 1450307 1450314 1450336 1450344 1450349 1450435 1450499 1450503 1450506 1450537 1450543 1450544 1450556 1450557 1450571 1450583 1450605 1450646 1450679 1450681 1450683 1450730 1450745 1450786 1450788 1450791 1450797 1450841 1450862 1450877 1450881 1450886 1450887 1450895 1450912 1450917 1450945 1450957 1450984 1450985 1450986 1450987 1450989 1450990 1451005 1451011 1451012 1451037 1451073 1451074 1451112 1451114 1451135 1451194 1451207 1451208 1451210 1451211 1451222 1451237 1451248 1451270 1451273 1451289 1451301 1451315 1451346 1451357 1451396 1451398 1451410 1451418 1451444 1451446 1451447 1451463 1451465 1451512 1451522 1451593 1451633 1451634 1451667 1451672 1451674 1451685 1451695 1451716 1451729 1451756 1451772 1451774 1451792 1451795 1451796 1451802 1451814 1451891 1451903 1451905 1451911 1451912 1451948 1451958 1451962 1451963 1451980 1451995 1451999 1452005 1452019 1452025 1452082 1452124 1452163 1452174 1452189 1452227 1452234 1452241 1452249 1452255 1452268 1452296 1452297 1452301 1452355 1452364 1452366 1452370 1452412 1452413 1452423 1452434 1452441 1452466 1452480 1452491 1452516 1452519 1452529 1452531 1452577 1452589 1452590 1452607 1452618 1452631 1452654 1452735 1452743 1452780 1452871 1452901 1452930 1452934 1452954 1452962 1452990 1453010 1453018 1453086 1453113 1453118 1453126 1453171 1453173 1453198 1453238 1453275 1453334 1453345 1453382 1453404 1453405 1453406 1453419 1453423 1453431 1453434 1453435 1453453 1453496 1453497 1453514 1453583 1453585 1453589 1453619 1453636 1453640 1453644 1453670 1453673 1453677 1453685 1453714 1453722 1453724 1453745 1453746 1453762 1453764 1453780 1453836 1453837 1453853 1453861 1453864 1453865 1453866 1453875 1453883 1453900 1453903 1453914 1453915 1453921 1453954 1453955 1453959 1453985 1453988 1453998 1454020 1454022 1454029 1454049 1454054 1454055 1454085 1454086 1454095 1454118 1454127 1454142 1454145 1454146 1454161 1454198 1454213 1454215 1454248 1454270 1454274 1454282 1454321 1454341 1454379 1454397 1454413 1454416 1454432 1454450 1454453 1454456 1454466 1454487 1454488 1454489 1454490 1454494 1454501 1454530 1454542 1454544 1454555 1454585 1454600 1454611 1454643 1454645 1454662 1454674 1454679 1454681 1454685 1454699 1454705 1454716 1454750 1454779 1454821 1454852 1454853 1454863 1454869 1454879 1454907 1454908 1454932 1454949 1454970 1454976 1454985 1455005 1455008 1455027 1455035 1455042 1455044 1455088 1455124 1455153 1455183 1455192 1455201 1455240 1455248 1455249 1455265 1455269 1455284 1455316 1455343 1455344 1455348 1455376 1455377 1455382 1455396 1455402 1455406 1455426 1455427 1455428 1455437 1455461 1455480 1455498 1455517 1455523 1455527 1455529 1455551 1455573 1455590 1455593 1455616 1455624 1455818 1455830 1455836 1455838 1455843 1456335 1456338 1456342 1456343 1456345 1456349 1456357 1456364 1456375 1456376 1456377 1456378 1456379 1456380 1456382 1456383 1456384 1456385 1456386 1456387 1456388 1456389 1456390 1456391 1456392 1456393 1456394 1456395 1456396 1456397 1456398 1456402 1456403 1456408 1456413 1456414 1456421 1456426 1456430 1456447 1456453 1456454 1456457 1456460 1456461 1456516 1456736 1456795 1456796 1456804 1456807 1456811 1456820 1456824 1456825 1456827 1456828 1457874 1457875 1457876 1457877 1457878 1457879 1457880 1457885 1457899 1457903 1458134 1458135 1458138 1458148 1458154 1504624 1504629 1504631 1504634 1504635 1504636 1504637 1504676 1504679 1504682 1504686 1504688 1504698 1504699 1504701 1504704 1504708 1504715 1504720 1504735 1504740 1504749 1504751 1504756 1504766 1504768 1504775 1504783 1504789 1504796 1504797 1504806 1504812 1504824 1504850 1504854 1504865 1504868 1504869 1504871 1504877 1504889 1504899 1504902 1504903 1504936 1504944 1504958 1504969 1504975 1504982 1504994 1505011 1505031 1505047 1505060 1505073 1505074 1505075 1505079 1505081 1505082 1505089 1505092 1505102 1505103 1505106 1505110 1505113 1505114 1505121 1505122 1505124 1505125 1505142 1505146 1505150 1505155 1505163 1505166 1505172 1505188 1505202 1505207 1505208 1505216 1505223 1505238 1505259 1505267 1505272 1505275 1505299 1505321 1505330 1505360 1505366 1505417 1505422 1505423 1505424 1505427 1505428 1505429 1505437 1505463 1505466 1505467 1505469 1505502 1505510 1505520 1505568 1505571 1505574 1505576 1505580 1505591 1505593 1505595 1505600 1505660 1505661 1505667 1505677 1505678 1505679 1505694 1505734 1505736 1505745 1505762 1505776 1505782 1505783 1505787 1505788 1505816 1505817 1505821 1505825 1505851 1505854 1505855 1505871 1505872 1505873 1505874 1505875 1505876 1505878 1505879 1505910 1505933 1505936 1505961 1505968 1505989 1505990 1505993 1505995 1505996 1506000 1506024 1506032 1506061 1506069 1506086 1506092 1506093 1506114 1506119 1506125 1506126 1506127 1506128 1506141 1506159 1506182 1506184 1506186 1506218 1506219 1506236 1506247 1506287 1506307 1506309 1506310 1506311 1506315 1506321 1506343 1506351 1506398 1506408 1506425 1506436 1506466 1506478 1506489 1506503 1506515 1506517 1506530 1506533 1506553 1506556 1506574 1506606 1506611 1506629 1506630 1506647 1506665 1506667 1506683 1506697 1506702 1506704 1506705 1506708 1506721 1506742 1506743 1506755 1506772 1506817 1506818 1506855 1506869 1506870 1506876 1506900 1506911 1506919 1506924 1506928 1506953 1506954 1506962 1506987 1507159 1507341 1508293 1509145 1509244 1509804 1509955 1510427 1510444 1510464 1510505 1510506 1510673 1510863 1510923 1510924 1510931 1510952 1510953 1511179 1511217 1511218 1511344 1511395 1511396 1511476 1511479 1511573 1511681 1512097 1512118 1512123 1512213 1512213 1512293 1512304 1512319 1512488 1512511 1512652 1512841 1513195 1513197 1513204 1513207 1513311 1513412 1513413 1513414 1513415 1513417 1513418 1513421 1513422 1513423 1513424 1513425 1513429 1513432 1513436 1513440 1513445 1513446 1513452 1513458 1513706 1513758 1513759 1513777 1513835 1514431 1514546 1514549 1514550 1514701 1514765 1514768 1514769 1514770 1514771 1514773 1514780 1514782 1514789 1514790 1514917 1514919 1515097 1515124 1515132 1515170 1515333 1515368 1515370 1515371 1515375 1515377 1515378 1515381 1515383 1515384 1515406 1515407 1515426 1515516 1515621 1515631 1516017 1516148 1516157 1516807 1516876 1517364 1517435 1517436 1517483 1517488 1517495 1517590 1517683 1517701 1517774 1517832 1517834 1517835 1517836 1517838 1517839 1517840 1517852 1517859 1517864 1518134 1518354 1518540 1518541 1518773 1518779 1518802 1518825 1518948 1519061 1519138 1519188 1519266 1519598 1519615 1519690 1519728 1519730 1519731 1519830 1520065 1520649 1521023 1521527 1521753 1521863 1521898 1521974 1521989 1521994 1522002 1522012 1522073 1522145 1522146 1522172 1522182 1522197 1522200 1522221 1522250 1522376 1522380 1522385 1522403 1522405 1522417 1522419 1522420 1522423 1522428 1522443 1522444 1522455 1522456 1522457 1522480 1522507 1522525 1522526 1522537 1522540 1522544 1522546 1522550 1522551 1522552 1522555 1522557 1522558 1522559 1522567 1522569 1522571 1522575 1522620 1522635 1522638 1522669 1522670 1522671 1522688 1522712 1523975 1523978 1523979 1523980 1523983 1523984 1523998 1524023 1524027 1524051 1524094 1524095 1524097 1524098 1524115 1525410 1526875 1526902 1526982 1527003 1527004 1527008 1527022 1527027 1527028 1527034 1527035 1527036 1527057 1527078 1527079 1527085 1527127 1527130 1527131 1527132 1527134 1527149 1527150 1527151 1527152 1527153 1527179 1527194 1527195 1527196 1527200 1527201 1527210 1527211 1527217 1527233 1527234 1527244 1527264 1527265 1527364 1527365 1527373 1527412 1527416 1527417 1527432 1527436 1527440 1527443 1527444 1527446 1527451 1527470 1527481 1527491 1527494 1527495 1527498 1527501 1527504 1527505 1527521 1527524 1527535 1527536 1527543 1527586 1527590 1527597 1527620 1527676 1527694 1527711 1527732 1527738 1527752 1527755 1527756 1527759 1527778 1527783 1527800 1527806 1527815 1527830 1527860 1527863 1527865 1527868 1527940 1527949 1527953 1527954 1527975 1527983 1527984 1527996 1528039 1528041 1528046 1528072 1528116 1528124 1528125 1528136 1528151 1528168 1528174 1528176 1528220 1528227 1528256 1528277 1528280 1528283 1528284 1528286 1528296 1528299 1528300 1528301 1528319 1528322 1528325 1528365 1528369 1528376 1528377 1528378 1528383 1528457 1528459 1528509 1528510 1528511 1528560 1528572 1528640 1528687 1528732 1528769 1528899 1528914 1528916 1528917 1528935 1528962 1528963 1528993 1529008 1529009 1529015 1529090 1529125 1529138 1529165 1529231 1529234 1529235 1529240 1529245 1529246 1529259 1529260 1529270 1529276 1529277 1529326 1529345 1529349 1529404 1529418 1529423 1529426 1529457 1529491 1529589 1529600 1529674 1529676 1529677 1529719 1529726 1529787 1529804 1529821 1529822 1529883 1529887 1529901 1529906 1529959 1529962 1529979 1529980 1530006 1530014 1530027 1530040 1530044 1530047 1530073 1530077 1530081 1530132 1530204 1530210 1530216 1530221 1530271 1530272 1530281 1530340 1530351 1530353 1530357 1530358 1530389 1530401 1530409 1530423 1530425 1530428 1530436 1530437 1530438 1530446 1530450 1530462 1530464 1530465 1530467 1530469 1530470 1530491 1530504 1530526 1530530 1530540 1530541 1530543 1530584 1530585 1530587 1530624 1530646 1530664 1530679 1530692 1530699 1530713 1530716 1530719 1530729 1530761 1530764 1530777 1530787 1530797 1530798 1530804 1530805 1530806 1530809 1530810 1530817 1530823 1530832 1530848 1530861 1530864 1530883 1530889 1530899 1530904 1530905 1530907 1530908 1530933 1530962 1530963 1530964 1531048 1531049 1531062 1531071 1531075 1531110 1531114 1531127 1531131 1531140 1531154 1531155 1531177 1531179 1531180 1531181 1531193 1531194 1531201 1531223 1531256 1531260 1531274 1531278 1531282 1531302 1531322 1531341 1531363 1531392 1531411 1531415 1531427 1531428 1531430 1531431 1531432 1531433 1531699 1532754 1533070 1533180 1533181 1533386 1533391 1533434 1533581 1533585 1533641 1533644 1533645 1533646 1533647 1533698 1533699 1533711 1534866 1534905 1534911 1535257 1535531 1537041 1537046 1537063 1537064 1537378 1537379 1537381 1537382 1537383 1537384 1537385 1537386 1537387 1537388 1537389 1537390 1537391 1537392 1537393 1537394 1537395 1537396 1537398 1537399 1537401 1537403 1537404 1537405 1537406 1537407 1537408 1537414 1537417 1537418 1537419 1537421 1537422 1537424 1537426 1537429 1537430 1537431 1537432 1537433 1537434 1537435 1537441 1537443 1537444 1537447 1537448 1537451 1537454 1537461 1537464 1537465 1537465 1537467 1537467 1537471 1537472 1537479 1537481 1537482 1537483 1537484 1537485 1537486 1537487 1537488 1537489 1537491 1537495 1537497 1537498 1537499 1537501 1537502 1537503 1537508 1537513 1537514 1537515 1537525 1537526 1537527 1537528 1537529 1537530 1537534 1537537 1537541 1537542 1537543 1537552 1537553 1537554 1537555 1537556 1537557 1537558 1537559 1537560 1537561 1537562 1537563 1537564 1537564 1537565 1537567 1537568 1537569 1537570 1537574 1537576 1537577 1537578 1537579 1537580 1537581 1537583 1537584 1537586 1537589 1537590 1537591 1537593 1537594 1537595 1537596 1537597 1537598 1537601 1537604 1537607 1537608 1537609 1537615 1537617 1537618 1537619 1537620 1537621 1537622 1537624 1537625 1537626 1537626 1537627 1537628 1537629 1537630 1537631 1537633 1537634 1537635 1537638 1537641 1537642 1537643 1537646 1537647 1537649 1537655 1537656 1537657 1537658 1537660 1537661 1537662 1537663 1537665 1537666 1537667 1537668 1537669 1537670 1537673 1537674 1537675 1537677 1537678 1537679 1537680 1537681 1537682 1537683 1537684 1537685 1537686 1537692 1537693 1537694 1537695 1537696 1537697 1537698 1537699 1537699 1537700 1537700 1537701 1537701 1537703 1537703 1537705 1537705 1537706 1537706 1537707 1537707 1537708 1537708 1537709 1537709 1537710 1537710 1537711 1537711 1537712 1537713 1537713 1537714 1537715 1537715 1537716 1537718 1537719 1537719 1537720 1537720 1537721 1537722 1537724 1537725 1537725 1537726 1537728 1537728 1537729 1537729 1537730 1537730 1537731 1537731 1537732 1537733 1537734 1537734 1537735 1537736 1537736 1537737 1537737 1537740 1537740 1537742 1537742 1537743 1537743 1537744 1537744 1537745 1537745 1537746 1537746 1537747 1537747 1537750 1537750 1537752 1537752 1537753 1537753 1537754 1537754 1537755 1537755 1537756 1537756 1537757 1537757 1537758 1537758 1537763 1537763 1537764 1537764 1537765 1537765 1537766 1537768 1537770 1537770 1537773 1537773 1537774 1537774 1537775 1537775 1537778 1537778 1537779 1537779 1537780 1537780 1537781 1537781 1537782 1537783 1537784 1537784 1537785 1537785 1537788 1537788 1537789 1537789 1537790 1537790 1537793 1537793 1537794 1537794 1537795 1537795 1537796 1537796 1537797 1537797 1537798 1537798 1537799 1537799 1537800 1537801 1537802 1537802 1537803 1537803 1537804 1537804 1537805 1537805 1537806 1537807 1537807 1537810 1537810 1537811 1537811 1537812 1537815 1537815 1537816 1537816 1537817 1537817 1537818 1537818 1537819 1537819 1537820 1537820 1537821 1537822 1537822 1537823 1537824 1537824 1537825 1537825 1537828 1537828 1537829 1537830 1537830 1537831 1537831 1537832 1537832 1537833 1537833 1537834 1537834 1537835 1537836 1537837 1537837 1537838 1537838 1537839 1537839 1537840 1537840 1537841 1537841 1537842 1537842 1537843 1537843 1537844 1537844 1537845 1537845 1537846 1537846 1537847 1537847 1537848 1537848 1537850 1537851 1537851 1537852 1537853 1537853 1537856 1537856 1537857 1537857 1537859 1537859 1537860 1537860 1537861 1537861 1537862 1537862 1537863 1537863 1537865 1537865 1537866 1537866 1537867 1537867 1537870 1537870 1537872 1537873 1537873 1537875 1537875 1537876 1537876 1537877 1537878 1537878 1537879 1537879 1537881 1537881 1537883 1537883 1537884 1537885 1537885 1537886 1537886 1537887 1537888 1537888 1537889 1537889 1537891 1537891 1537892 1537892 1537893 1537893 1537894 1537894 1537895 1537895 1537896 1537896 1537897 1537898 1537898 1537899 1537899 1537900 1537900 1537902 1537902 1537903 1537903 1537904 1537904 1537906 1537906 1537907 1537907 1537908 1537908 1537909 1537909 1537910 1537910 1537913 1537913 1537914 1537914 1537915 1537915 1537916 1537916 1537919 1537919 1537920 1537920 1537921 1537922 1537923 1537924 1537925 1537926 1537927 1537928 1537928 1537929 1537930 1537931 1537933 1537934 1537935 1537937 1537981 1537982 1537983 1537984 1537985 1537986 1537987 1537988 1537989 1537990 1537991 1537992 1537993 1537994 1537995 1537996 1537997 1537998 1537999 1538000 1538001 1538002 1538003 1538004 1538005 1538006 1538008 1538009 1538010 1538011 1538012 1538013 1538014 1538015 1538016 1538017 1538020 1538023 1538024 1538025 1538029 1538032 1538033 1538038 1538039 1538040 1538042 1538043 1538045 1538046 1538048 1538049 1538050 1538051 1538052 1538053 1538054 1538056 1538057 1538062 1538063 1538064 1538066 1538067 1538068 1538069 1538071 1538072 1538073 1538073 1538077 1538079 1538080 1538083 1538086 1538087 1538088 1538092 1538095 1538096 1538100 1538104 1538106 1538107 1538108 1538109 1538110 1538111 1538112 1538113 1538114 1538115 1538116 1538117 1538119 1538120 1538124 1538126 1538128 1538129 1538130 1538131 1538132 1538134 1538138 1538139 1538143 1538144 1538145 1538146 1538148 1538149 1538150 1538151 1538152 1538153 1538154 1538156 1538157 1538160 1538162 1538164 1538166 1538167 1538168 1538171 1538172 1538173 1538174 1538178 1538184 1538185 1538187 1538188 1538189 1538197 1538201 1538205 1538208 1538210 1538211 1538212 1538214 1538215 1538218 1538220 1538221 1538222 1538223 1538224 1538229 1538231 1538234 1538235 1538236 1538237 1538238 1538240 1538246 1538248 1538249 1538250 1538251 1538252 1538253 1538254 1538256 1538258 1538259 1538260 1538261 1538262 1538263 1538264 1538265 1538266 1538267 1538273 1538274 1538275 1538276 1538279 1538281 1538284 1538287 1538290 1538294 1538295 1538298 1538299 1538300 1538301 1538302 1538303 1538304 1538306 1538308 1538309 1538310 1538311 1538312 1538314 1538317 1538319 1538320 1538322 1538323 1538324 1538325 1538326 1538339 1538341 1538353 1538354 1538370 1538388 1538391 1538394 1538397 1538412 1538416 1538419 1538423 1538426 1538427 1538428 1538430 1538431 1538433 1538434 1538435 1538436 1538439 1538440 1538441 1538444 1538445 1538446 1538448 1538449 1538450 1538451 1538452 1538453 1538454 1538455 1538456 1538457 1538458 1538459 1538460 1538461 1538462 1538463 1538464 1538465 1538466 1538467 1538468 1538472 1538474 1538476 1538477 1538478 1538479 1538481 1538482 1538483 1538485 1538486 1538487 1538488 1538489 1538491 1538492 1538493 1538494 1538495 1538496 1538498 1538499 1538500 1538502 1538503 1538506 1538507 1538510 1538511 1538511 1538512 1538529 1538530 1538531 1538532 1538534 1538536 1538537 1538551 1538552 1538554 1538557 1538558 1538559 1538560 1538563 1538564 1538565 1538566 1538568 1538569 1538570 1538571 1538572 1538574 1538576 1538577 1538578 1538580 1538581 1538582 1538584 1538586 1538587 1538588 1538589 1538590 1538592 1538593 1538595 1538596 1538597 1538598 1538601 1538602 1538604 1538606 1538607 1538608 1538609 1538611 1538613 1538614 1538615 1538621 1538622 1538623 1538624 1538625 1538626 1538627 1538628 1538629 1538630 1538631 1538632 1538633 1538634 1538635 1538636 1538638 1538639 1538641 1538642 1538643 1538644 1538645 1538646 1538647 1538648 1538650 1538651 1538652 1538653 1538654 1538655 1538656 1538657 1538658 1538659 1538660 1538661 1538665 1538667 1538668 1538669 1538670 1538671 1538673 1538674 1538675 1538676 1538678 1538680 1538681 1538683 1538684 1538685 1538686 1538687 1538688 1538689 1538690 1538691 1538692 1538693 1538695 1538696 1538698 1538699 1538700 1538703 1538704 1538705 1538710 1538712 1538713 1538714 1538715 1538716 1538717 1538718 1538719 1538720 1538721 1538722 1538723 1538727 1538728 1538729 1538730 1538732 1538733 1538734 1538735 1538736 1538738 1538745 1538748 1538749 1538751 1538753 1538755 1538756 1538757 1538758 1538759 1538760 1538761 1538763 1538764 1538766 1538768 1538769 1538770 1538772 1538773 1538776 1538778 1538780 1538781 1538782 1538782 1538783 1538784 1538787 1538790 1538791 1538792 1538793 1538796 1538803 1538819 1538820 1538821 1538822 1538823 1538824 1538825 1538826 1538827 1538829 1538830 1538832 1538833 1538835 1538836 1538837 1538840 1538841 1538842 1538844 1538845 1538849 1538850 1538853 1538856 1538857 1538859 1538863 1538864 1538865 1538866 1538867 1538869 1538870 1538871 1538873 1538874 1538879 1538881 1538883 1538890 1538892 1538894 1538895 1538896 1538899 1538901 1538902 1538903 1538907 1538908 1538910 1538913 1538914 1538915 1538916 1538917 1538918 1538919 1538920 1538921 1538923 1538924 1538925 1538926 1538927 1538929 1538931 1538932 1538934 1538935 1538938 1538939 1538940 1538944 1538945 1538957 1538958 1538959 1538963 1538964 1538965 1538971 1538972 1538973 1538974 1538975 1538976 1538977 1538978 1538979 1538981 1538983 1538987 1538988 1538990 1538993 1538994 1538997 1538998 1539001 1539006 1539008 1539018 1539026 1539029 1539032 1539033 1539043 1539044 1539047 1539048 1539051 1539059 1539060 1539061 1539063 1539064 1539067 1539069 1539069 1539070 1539071 1539072 1539074 1539075 1539076 1539078 1539079 1539080 1539081 1539082 1539083 1539084 1539085 1539086 1539087 1539088 1539089 1539091 1539092 1539093 1539094 1539095 1539096 1539097 1539098 1539099 1539100 1539102 1539103 1539104 1539105 1539106 1539107 1539108 1539109 1539110 1539111 1539112 1539113 1539114 1539116 1539117 1539118 1539119 1539123 1539124 1539125 1539126 1539127 1539128 1539131 1539132 1539133 1539135 1539136 1539137 1539139 1539140 1539141 1539142 1539143 1539144 1539145 1539148 1539168 1539183 1539188 1539190 1539193 1539198 1539200 1539201 1539202 1539203 1539204 1539205 1539207 1539208 1539209 1539210 1539211 1539212 1539213 1539214 1539216 1539217 1539218 1539219 1539220 1539221 1539222 1539223 1539224 1539225 1539226 1539227 1539228 1539230 1539233 1539241 1539242 1539243 1539244 1539245 1539246 1539247 1539248 1539249 1539265 1539266 1539267 1539268 1539269 1539270 1539271 1539272 1539273 1539285 1539289 1539290 1539291 1539292 1539293 1539294 1539295 1539296 1539297 1539298 1539309 1539310 1539311 1539312 1539313 1539314 1539315 1539317 1539320 1539322 1539323 1539327 1539328 1539329 1539330 1539331 1539334 1539335 1539336 1539337 1539338 1539339 1539340 1539341 1539345 1539346 1539348 1539353 1539354 1539356 1539357 1539358 1539359 1539360 1539361 1539362 1539363 1539366 1539367 1539368 1539370 1539371 1539372 1539373 1539375 1539385 1539386 1539387 1539388 1539393 1539418 1539428 1539429 1539431 1539437 1539443 1539445 1539446 1539449 1539453 1539454 1539455 1539463 1539464 1539465 1539467 1539471 1539472 1539475 1539476 1539477 1539478 1539479 1539480 1539482 1539483 1539484 1539485 1539486 1539487 1539488 1539489 1539490 1539491 1539492 1539493 1539494 1539495 1539496 1539497 1539498 1539499 1539501 1539503 1539505 1539507 1539508 1539509 1539510 1539511 1539512 1539513 1539514 1539515 1539516 1539517 1539518 1539519 1539521 1539522 1539523 1539524 1539525 1539527 1539528 1539529 1539530 1539531 1539532 1539533 1539534 1539535 1539536 1539537 1539539 1539540 1539544 1539545 1539547 1539550 1539551 1539553 1539554 1539557 1539558 1539559 1539560 1539561 1539562 1539564 1539565 1539566 1539567 1539568 1539569 1539570 1539571 1539573 1539574 1539575 1539576 1539577 1539578 1539579 1539579 1539584 1539585 1539586 1539587 1539588 1539589 1539591 1539592 1539593 1539594 1539595 1539598 1539599 1539600 1539601 1539603 1539603 1539604 1539605 1539606 1539607 1539608 1539609 1539610 1539611 1539612 1539613 1539614 1539615 1539616 1539617 1539620 1539621 1539623 1539624 1539626 1539627 1539628 1539629 1539630 1539631 1539644 1539650 1539652 1539658 1539659 1539660 1539661 1539662 1539664 1539665 1539666 1539667 1539668 1539671 1539673 1539674 1539675 1539685 1539689 1539696 1539701 1539703 1539705 1539707 1539711 1539715 1539718 1539719 1539720 1539721 1539722 1539724 1539727 1539728 1539729 1539730 1539731 1539732 1539733 1539734 1539735 1539743 1539744 1539745 1539746 1539747 1539748 1539749 1539750 1539751 1539758 1539759 1539762 1539763 1539765 1539766 1539768 1539769 1539770 1539771 1539773 1539774 1539776 1539777 1539778 1539780 1539781 1539782 1539783 1539785 1539786 1539787 1539788 1539789 1539790 1539791 1539792 1539793 1539794 1539795 1539796 1539797 1539798 1539799 1539800 1539803 1539804 1539805 1539806 1539807 1539808 1539809 1539811 1539812 1539814 1539815 1539816 1539817 1539819 1539835 1539836 1539837 1539838 1539840 1539843 1539844 1539847 1539848 1539853 1539855 1539856 1539857 1539859 1539860 1539861 1539862 1539863 1539864 1539865 1539866 1539867 1539868 1539869 1539870 1539871 1539872 1539873 1539874 1539875 1539876 1539878 1539879 1539880 1539881 1539884 1539885 1539886 1539887 1539888 1539889 1539890 1539893 1539894 1539895 1539896 1539897 1539899 1539900 1539901 1539902 1539903 1539904 1539905 1539906 1539907 1539908 1539909 1539910 1539912 1539913 1539915 1539916 1539921 1539922 1539923 1539924 1539925 1539926 1539928 1539930 1539931 1539933 1539936 1539940 1539945 1539948 1539950 1539951 1539952 1539954 1539956 1539957 1539960 1539964 1539965 1539967 1539970 1539971 1539972 1539976 1539977 1539977 1539978 1539979 1539981 1539982 1539984 1539985 1539986 1539987 1539988 1539990 1539991 1539993 1539993 1539994 1539995 1539996 1539997 1539999 1540001 1540004 1540006 1540007 1540009 1540010 1540016 1540018 1540019 1540020 1540021 1540022 1540023 1540024 1540026 1540027 1540029 1540030 1540031 1540033 1540034 1540035 1540036 1540037 1540038 1540039 1540040 1540041 1540042 1540043 1540044 1540046 1540047 1540048 1540051 1540052 1540053 1540054 1540055 1540056 1540057 1540058 1540060 1540061 1540062 1540063 1540064 1540065 1540066 1540067 1540069 1540070 1540071 1540072 1540073 1540075 1540076 1540077 1540079 1540081 1540082 1540083 1540084 1540085 1540086 1540087 1540088 1540089 1540090 1540092 1540093 1540094 1540095 1540096 1540098 1540100 1540102 1540102 1540103 1540104 1540105 1540108 1540109 1540111 1540112 1540115 1540117 1540125 1540126 1540127 1540128 1540131 1540132 1540134 1540135 1540136 1540137 1540138 1540140 1540141 1540142 1540142 1540143 1540144 1540145 1540147 1540149 1540150 1540151 1540152 1540154 1540156 1540157 1540159 1540160 1540162 1540164 1540168 1540169 1540170 1540171 1540172 1540175 1540176 1540179 1540180 1540181 1540182 1540183 1540184 1540185 1540186 1540187 1540188 1540189 1540191 1540191 1540192 1540193 1540194 1540197 1540199 1540200 1540201 1540205 1540206 1540207 1540208 1540209 1540210 1540211 1540214 1540215 1540216 1540217 1540219 1540220 1540223 1540229 1540232 1540234 1540235 1540239 1540249 1540252 1540255 1540265 1540267 1540269 1540272 1540278 1540285 1540289 1540290 1540291 1540292 1540293 1540294 1540295 1540296 1540297 1540298 1540301 1540302 1540303 1540304 1540305 1540306 1540307 1540308 1540309 1540311 1540365 1541160 1541221 1541250 1541381 1541394 1541478 1541483 1541489 1541521 1541553 1541796 1545287 1545325 1545380 1545448 1545472 1545478 1545534 1545576 1545910 1548473 1562131 1562292 1562561 1562772 1563037 1563373 1563374 1563376 1563377 1563380 1563381 1563382 1563385 1563386 1563387 1563389 1563392 1563394 1563408 1563667 1563681 1563687 1563688 1563722 1563723 1563724 1563758 1563761 1563809 1564097 1564098 1564132 1564133 1564134 1564137 1564139 1564140 1564150 1564357 1564370 1564371 1564372 1564373 1564374 1564376 1564377 1564378 1564379 1564481 1564483 1564490 1564492 1564499 1564522 1564561 1564583 1564584 1564602 1564603 1564654 1564656 1564673 1564674 1564682 1564741 1564746 1564777 1564778 1564779 1564816 1564868 1564869 1564870 1564871 1564881 1564884 1564887 1564894 1564899 1564900 1564903 1564904 1564905 1564906 1564907 1564940 1564944 1564997 1564999 1565011 1565020 1565021 1565039 1565049 1565051 1565054 1565056 1565061 1565062 1565068 1565083 1565097 1565114 1565115 1565120 1565124 1565132 1565154 1565156 1565160 1565164 1565167 1565186 1565192 1565193 1565195 1565196 1565201 1565210 1565211 1565230 1565243 1565248 1565266 1565278 1565290 1565292 1565306 1565307 1565319 1565323 1565327 1565332 1565346 1565351 1565367 1565374 1565377 1565398 1565399 1565423 1565426 1565427 1565428 1565434 1565452 1565454 1565467 1565490 1565517 1565536 1565558 1565568 1565592 1565631 1565649 1565651 1565653 1565667 1565700 1565716 1565728 1565770 1565777 1565802 1565805 1565814 1565817 1565818 1565824 1565829 1565857 1565860 1565872 1565882 1565907 1565919 1565936 1565943 1565957 1565977 1565993 1566012 1566020 1566034 1566051 1566081 1566141 1566154 1566160 1566185 1566190 1566219 1566224 1566322 1566330 1566345 1566388 1566390 1566406 1566416 1566488 1566492 1566493 1566494 1566509 1566513 1566526 1566537 1566543 1566548 1566566 1566585 1566589 1566592 1566603 1566611 1566615 1566624 1566629 1566664 1566670 1566674 1566703 1566704 1566744 1566771 1566772 1566773 1566777 1566788 1566789 1566790 1566797 1566805 1566829 1566833 1566870 1566901 1566942 1566943 1566952 1566953 1566984 1567012 1567019 1567021 1567040 1567043 1567060 1567069 1567075 1567078 1567079 1567130 1567141 1567157 1567158 1567164 1567167 1567195 1567207 1567240 1567249 1567260 1567261 1567262 1567265 1567284 1567292 1567332 1567334 1567336 1567382 1567392 1567500 1567659 1567702 1567708 1567709 1567710 1567761 1567762 1567770 1567772 1567774 1567781 1567813 1567825 1567829 1567835 1567847 1567848 1567875 1567876 1567880 1567893 1567928 1567951 1567956 1567962 1567987 1567989 1568026 1568103 1568105 1568106 1568128 1568131 1568135 1568158 1568163 1568167 1568174 1568182 1568188 1568191 1568199 1568200 1568206 1568213 1568214 1568257 1568259 1568261 1568263 1568282 1568298 1568325 1568344 1568353 1568366 1568391 1568393 1568395 1568396 1568402 1568414 1568433 1568439 1568447 1568490 1568493 1568495 1568503 1568510 1568515 1568520 1568522 1568533 1568555 1568567 1568587 1568590 1568591 1568594 1568600 1568626 1568629 1568645 1568693 1568699 1568717 1568722 1568739 1568740 1568742 1568753 1568754 1568757 1568762 1568763 1568770 1568785 1568787 1568811 1568825 1568834 1568838 1568845 1568861 1568869 1568877 1568882 1568891 1568961 1568968 1568969 1568971 1568972 1568975 1568991 1568997 1568999 1569009 1569021 1569034 1569056 1569072 1569073 1569083 1569089 1569090 1569120 1569147 1569148 1569153 1569190 1569233 1569234 1569236 1569251 1569419 1569503 1569542 1569553 1569563 1569573 1569580 1569656 1569660 1569667 1569673 1569678 1569694 1569697 1569711 1569714 1569720 1569730 1569736 1569737 1569747 1569752 1569765 1569779 1569783 1569790 1569800 1569813 1569815 1569819 1569822 1569826 1569827 1569840 1569841 1569842 1569861 1569870 1569872 1569923 1569927 1569961 1569965 1569974 1569980 1569982 1569985 1570009 1570015 1570039 1570046 1570059 1570070 1570075 1570085 1570125 1570173 1570191 1570193 1570203 1570257 1570268 1570270 1570280 1570282 1570300 1570304 1570308 1570312 1570313 1570336 1570344 1570345 1570347 1570352 1570376 1570402 1570403 1570407 1570446 1570447 1570460 1570482 1570494 1570518 1570520 1570531 1570558 1570610 1570615 1570705 1570737 1570770 1570803 1570804 1570805 1570806 1570845 1570858 1570878 1570879 1570915 1570926 1570938 1570976 1570993 1571011 1571024 1571037 1571042 1571044 1571078 1571098 1571148 1571149 1571239 1571241 1571242 1571258 1571302 1571308 1571310 1571333 1571345 1571360 1571362 1571366 1571383 1571424 1571426 1571447 1571448 1571451 1571453 1571454 1571455 1571464 1571472 1571473 1571481 1571486 1571495 1571507 1571511 1571512 1571522 1571530 1571552 1571559 1571563 1571575 1571580 1571584 1571585 1571590 1571593 1571600 1571608 1571612 1571614 1571615 1571619 1571621 1571622 1571624 1571635 1571638 1571639 1571641 1571648 1571649 1571654 1571668 1571679 1571687 1572694 1572718 1576576 1576814 1576821 1577018 1577331 1578588 1578592 1578593 1578927 1579107 1579194 1579259 1579322 1579593 1579754 1579758 1586905 1587002 1587004 1587084 1587087 1602217 1608294 1608302 1608304 1608305 1608310 1608311 1608319 1608320 1608536 1608540 1608546 1608547 1608561 1608605 1608634 1608653 1608705 1608716 1608739 1608744 1608757 1608776 1608797 1608801 1608805 1608812 1608841 1608863 1609089 1609092 1609156 1609158 1609165 1609169 1609204 1609206 1609230 1609263 1609269 1609271 1609274 1609289 1609296 1609297 1609329 1609351 1609353 1609355 1609362 1609363 1609364 1609371 1609638 1609654 1609689 1609738 1609739 1609754 1609759 1609787 1609817 1609849 1609871 1609892 1609898 1609899 1609931 1609938 1609942 1609943 1610033 1610188 1610189 1610296 1610342 1610345 1610354 1610382 1610404 1610417 1610419 1610451 1610454 1610473 1610484 1610496 1610512 1610521 1610534 1610537 1610743 1610760 1610803 1610814 1610819 1610820 1610837 1610859 1610890 1610900 1610929 1610930 1610965 1610996 1610998 1611004 1611036 1611037 1611046 1611062 1611065 1611066 1611311 1611355 1611366 1611392 1611403 1611407 1611442 1611452 1611549 1611556 1611573 1611600 1611602 1611604 1611636 1611637 1611843 1611848 1611863 1611872 1611878 1611881 1611897 1611919 1611923 1611934 1611958 1612009 1612039 1612060 1612075 1612094 1612096 1612111 1612119 1612142 1612175 1612177 1612189 1612192 1612207 1612217 1612225 1612229 1612271 1612279 1612784 1612791 1612792 1612794 1612826 1612831 1613030 1613323 1613332 1613359 1613366 1613388 1613485 1613850 1613884 1613886 1613887 1613890 1613941 1613942 1614423 1614441 1614446 1614702 1614956 1615007 1615022 1615183 1615536 1615557 1615561 1615589 1615592 1615610 1615657 1615665 1616557 1616867 1617068 1617578 1617580 1617586 1617806 1618090 1618295 1618603 1618608 1619116 1619117 1619123 1619124 1619126 1619625 1619635 1619833 1619841 1619844 1619850 1619853 1619855 1619863 1619866 1619869 1619962 1619966 1619977 1619979 1620007 1620023 1620037 1620049 1620077 1620098 1620104 1620136 1620143 1620185 1620216 1620219 1620253 1620254 1620256 1620259 1620260 1620267 1621234 1621235 1621245 1704989 1706636 1706652 1708000 1708025 1708150 1708291 1708616 1709139 1709144 1709390 1709966 1710327 1710492 1744687 1812639 1822609 1822613 1822614 1822616 1822617 1822619 1822620 1822621 1822624 1822629 1822631 1822633 1822634 1822636 1822637 1822638 1822639 1822641 1822643 1822645 1822646 1822652 1822653 1822655 1822657 1822658 1822659 1822663 1822664 1822665 1822666 1822669 1822670 1822673 1822674 1822675 1822676 1822678 1822679 1822680 1822681 1822683 1822684 1822685 1822686 1822687 1822688 1822689 1822690 1822691 1822692 1822693 1822695 1822698 1822702 1822703 1822704 1822705 1822706 1822710 1822711 1822712 1822713 1822714 1822715 1822716 1822718 1822719 1822720 1822721 1822722 1822723 1822724 1822725 1822726 1822728 1822729 1822730 1822731 1822732 1822733 1822734 1822736 1822737 1822738 1822739 1822740 1822741 1822742 1822743 1822746 1822747 1822748 1822749 1822750 1822751 1822752 1822755 1822756 1822757 1822758 1822759 1822760 1822761 1822762 1822763 1822764 1822765 1822767 1822768 1822769 1822771 1822773 1822774 1822777 1822778 1822779 1822780 1822781 1822782 1822783 1822784 1822785 1822786 1822787 1822788 1822789 1822790 1822791 1822792 1822794 1822796 1822797 1822798 1822799 1822800 1822801 1822802 1822803 1822806 1822807 1822811 1822816 1822818 1822821 1822834 1822835 1822846 1822855 1822857 1822861 1822867 1822868 1822876 1822877 1822879 1822880 1822881 1822888 1822890 1822897 1822901 1822902 1822903 1822905 1822906 1822911 1822917 1822918 1822919 1822920 1822921 1822928 1822930 1822932 1822933 1822934 1822942 1822945 1822946 1822950 1822951 1822952 1822953 1822955 1822956 1822957 1822960 1822968 1822969 1822970 1822971 1822972 1822973 1822980 1822983 1822984 1822985 1822987 1822988 1822989 1822990 1822991 1822992 1822993 1822994 1822996 1822997 1823002 1823007 1823008 1823016 1823017 1823021 1823022 1823023 1823024 1823029 1823071 1823072 1823073 1823074 1823075 1823078 1823080 1823081 1823083 1823089 1823090 1823091 1823093 1823094 1823096 1823097 1823098 1823099 1823107 1823108 1823109 1823110 1823112 1823113 1823117 1823118 1823119 1823120 1823121 1823123 1823124 1823126 1823127 1823128 1823129 1823130 1823131 1823132 1823134 1823135 1823136 1823137 1823138 1823139 1823140 1823141 1823142 1823143 1823145 1823148 1823149 1823153 1823156 1823157 1823158 1823159 1823161 1823163 1823164 1823165 1823166 1823168 1823170 1823172 1823173 1823174 1823175 1823176 1823177 1823178 1823180 1823181 1823182 1823184 1823185 1823186 1823187 1823188 1823189 1823190 1823192 1823196 1823197 1823198 1823200 1823201 1823202 1823205 1823206 1823207 1823210 1823215 1823217 1823221 1823225 1823226 1823227 1823228 1823242 1823244 1823245 1823246 1823247 1823248 1823249 1823250 1823256 1823260 1823262 1823263 1823264 1823267 1823268 1823271 1823272 1823273 1823274 1823277 1823278 1823279 1823280 1823281 1823282 1823283 1823288 1823289 1823290 1823291 1823292 1823293 1823300 1823301 1823303 1823304 1823305 1823306 1823307 1823309 1823310 1823311 1823314 1823315 1823321 1823325 1823326 1823327 1823328 1823329 1823330 1823331 1823334 1823338 1823340 1823345 1823347 1823349 1823350 1823352 1823355 1823356 1823357 1823358 1823360 1823362 1823363 1823366 1823367 1823369 1823374 1823375 1823376 1823380 1823382 1823384 1823386 1823388 1823390 1823391 1823394 1823396 1823397 1823398 1823403 1823405 1823406 1823407 1823409 1823412 1823415 1823418 1823422 1823426 1823428 1823430 1823431 1823435 1823436 1823437 1823438 1823440 1823445 1823446 1823449 1823450 1823451 1823452 1823455 1823457 1823458 1823459 1823460 1823461 1823462 1823464 1823465 1823466 1823467 1823469 1823476 1823477 1823478 1823479 1823480 1823481 1823482 1823485 1823486 1823488 1823489 1823490 1823491 1823492 1823493 1823497 1823498 1823499 1823501 1823502 1823503 1823506 1823509 1823511 1823514 1823515 1823516 1823519 1823520 1823521 1823522 1823523 1823529 1823530 1823533 1823535 1823539 1823540 1823541 1823543 1823544 1823546 1823552 1823553 1823554 1823555 1823556 1823557 1823558 1823559 1823560 1823562 1823563 1823564 1823567 1823570 1823571 1823572 1823575 1823577 1823578 1823579 1823581 1823582 1823583 1823584 1823585 1823587 1823588 1823589 1823590 1823591 1823593 1823594 1823597 1823598 1823599 1823600 1823601 1823602 1823603 1823607 1823608 1823609 1823610 1823611 1823612 1823613 1823614 1823615 1823616 1823617 1823619 1823620 1823621 1823628 1823630 1823631 1823634 1823635 1823636 1823637 1823638 1823639 1823640 1823641 1823642 1823643 1823644 1823645 1823649 1823650 1823652 1823653 1823655 1823656 1823658 1823659 1823666 1823668 1823677 1823678 1823680 1823682 1823684 1823686 1823687 1823688 1823689 1823693 1823694 1823695 1823696 1823697 1823700 1823702 1823705 1823706 1823707 1823708 1823709 1823711 1823716 1823722 1823727 1823729 1823736 1823743 1823744 1823750 1823752 1823755 1823760 1823761 1823768 1823779 1823781 1823782 1823785 1823786 1823790 1823791 1823795 1823796 1823800 1823801 1823806 1823813 1823822 1823823 1823824 1823825 1823826 1823827 1823829 1823832 1823833 1823834 1823835 1823836 1823837 1823840 1823841 1823843 1823844 1823845 1823846 1823851 1823852 1823857 1823858 1823859 1823860 1823861 1823862 1823863 1823864 1823865 1823866 1823869 1823871 1823873 1823875 1823877 1823878 1823879 1823881 1823882 1823884 1823885 1823886 1823888 1823889 1823890 1823891 1823893 1823894 1823895 1823896 1823897 1823901 1823902 1823903 1823904 1823906 1823908 1823911 1823912 1823916 1823919 1823920 1823924 1823925 1823927 1823928 1823929 1823930 1823932 1823933 1823935 1823938 1823942 1823943 1823944 1823945 1823946 1823948 1823950 1823951 1823952 1823953 1823954 1823956 1823957 1823958 1823959 1823960 1823961 1823962 1823965 1823966 1823968 1823970 1823976 1823978 1823980 1823983 1823984 1823985 1823987 1823999 1824002 1824003 1824010 1824013 1824015 1824016 1824017 1824019 1824032 1824035 1824037 1824053 1824060 1824066 1824069 1824077 1824078 1824079 1824080 1824081 1824082 1824083 1824084 1824086 1824087 1824090 1824091 1824092 1824093 1824099 1824103 1824104 1824106 1824107 1824109 1824114 1824116 1824120 1824121 1824126 1824128 1824129 1824130 1824131 1824133 1824134 1824135 1824148 1824153 1824154 1824156 1824159 1824165 1824168 1824169 1824173 1824178 1824180 1824181 1824182 1824188 1824190 1824195 1824198 1824199 1824200 1824201 1824202 1824205 1824206 1824208 1824210 1824212 1824213 1824214 1824215 1824218 1824219 1824221 1824229 1824233 1824234 1824240 1824246 1824247 1824250 1824251 1824280 1824287 1824301 1824302 1824308 1824309 1824317 1824323 1824324 1824325 1824326 1824339 1824343 1824348 1824351 1824359 1824360 1824365 1824367 1824369 1824372 1824373 1824374 1824378 1824389 1824391 1824395 1824406 1824410 1824414 1824415 1824418 1824423 1824426 1824427 1824428 1824430 1824433 1824449 1824451 1824453 1824460 1824462 1824463 1824467 1824471 1824472 1824473 1824475 1824477 1824481 1824489 1824492 1824499 1824500 1824506 1824509 1824513 1824521 1824522 1824524 1824525 1824526 1824528 1824529 1824530 1824531 1824533 1824535 1824539 1824540 1824541 1824545 1824547 1824548 1824551 1824554 1824556 1824558 1824561 1824562 1824563 1824564 1824565 1824566 1824568 1824570 1824574 1824578 1824579 1824580 1824584 1824586 1824587 1824589 1824590 1824591 1824592 1824593 1824594 1824596 1824603 1824604 1824605 1824608 1824612 1824616 1824618 1824620 1824626 1824627 1824628 1824631 1824640 1824641 1824643 1824644 1824645 1824647 1824649 1824650 1824651 1824652 1824659 1824660 1824661 1824662 1824663 1824666 1824668 1824669 1824670 1824671 1824672 1824673 1824674 1824675 1824676 1824677 1824678 1824679 1824680 1824681 1824682 1824683 1824684 1824685 1824686 1824688 1824690 1824691 1824692 1824693 1824695 1824696 1824697 1824698 1824699 1824700 1824701 1824702 1824703 1824706 1824707 1824709 1824710 1824711 1824712 1824713 1824714 1824715 1824716 1824717 1824718 1824719 1824720 1824721 1824723 1824724 1824725 1824726 1824727 1824728 1824729 1824730 1824731 1824732 1824735 1824736 1824738 1824739 1824740 1824741 1824742 1824745 1824746 1824747 1824748 1824750 1824753 1824754 1824755 1824756 1824757 1824758 1824759 1824761 1824763 1824770 1824774 1824775 1824776 1824777 1824782 1824783 1824784 1824786 1824787 1824788 1824789 1824790 1824791 1824793 1824794 1824795 1824796 1824798 1824799 1824800 1824805 1824808 1824809 1824810 1824811 1824812 1824813 1824814 1824828 1824837 1824842 1824843 1824844 1824878 1824879 1824880 1824881 1824882 1824884 1824885 1824886 1824888 1824894 1824895 1824896 1824900 1824901 1824902 1824903 1824904 1824906 1824907 1824911 1824912 1824913 1824915 1824916 1824927 1824928 1824929 1824931 1824935 1824936 1824937 1824940 1824943 1824945 1824946 1824948 1824950 1824951 1824952 1824955 1824956 1824957 1824958 1824959 1824960 1824962 1824963 1824972 1824975 1824980 1824982 1824983 1824986 1824987 1824988 1824990 1824992 1824993 1825004 1825005 1825006 1825007 1825008 1825009 1825010 1825011 1825012 1825015 1825016 1825017 1825018 1825019 1825020 1825021 1825022 1825023 1825024 1825025 1825026 1825027 1825028 1825029 1825034 1825036 1825038 1825039 1825040 1825041 1825042 1825043 1825044 1825045 1825046 1825047 1825049 1825050 1825051 1825052 1825054 1825055 1825057 1825058 1825059 1825060 1825062 1825064 1825066 1825069 1825070 1825074 1825075 1825076 1825077 1825078 1825079 1825082 1825083 1825084 1825085 1825087 1825092 1825093 1825094 1825096 1825114 1825117 1825131 1825133 1825135 1825137 1825138 1825160 1825161 1825162 1825164 1825167 1825168 1825169 1825170 1825181 1825209 1825212 1825215 1825216 1825224 1825226 1825228 1825233 1825236 1825239 1825241 1825242 1825243 1825244 1825247 1825250 1825253 1825255 1825256 1825257 1825258 1825262 1825263 1825266 1825267 1825268 1825270 1825275 1825276 1825278 1825279 1825280 1825283 1825285 1825286 1825287 1825289 1825290 1825291 1825292 1825293 1825294 1825295 1825298 1825299 1825300 1825301 1825302 1825303 1825308 1825309 1825310 1825311 1825312 1825313 1825314 1825315 1825317 1825318 1825319 1825320 1825321 1825322 1825324 1825325 1825326 1825336 1825338 1825339 1825340 1825342 1825345 1825346 1825347 1825348 1825349 1825350 1825351 1825352 1825353 1825357 1825362 1825366 1825367 1825370 1825371 1825372 1825375 1825377 1825378 1825379 1825380 1825392 1825394 1825395 1825397 1825398 1825399 1825403 1825404 1825406 1825408 1825409 1825410 1825411 1825412 1825413 1825414 1825415 1825416 1825418 1825423 1825424 1825425 1825426 1825429 1825430 1825432 1825433 1825436 1825437 1825438 1825439 1825446 1825447 1825449 1825450 1825451 1825452 1825453 1825454 1825455 1825459 1825461 1825463 1825464 1825465 1825466 1825468 1825474 1825475 1825476 1825477 1825479 1825483 1825484 1825485 1825487 1825488 1825491 1825493 1825494 1825495 1825496 1825497 1825498 1825499 1825500 1825501 1825502 1825503 1825504 1825505 1825508 1825510 1825511 1825515 1825516 1825517 1825518 1825519 1825520 1825524 1825526 1825527 1825528 1825529 1825532 1825534 1825535 1825540 1825542 1825546 1825547 1825548 1825549 1825552 1825553 1825554 1825556 1825557 1825558 1825559 1825561 1825562 1825566 1825567 1825568 1825569 1825570 1825571 1825572 1825573 1825574 1825575 1825576 1825577 1825578 1825579 1825585 1825588 1825589 1825590 1825592 1825593 1825594 1825595 1825596 1825598 1825599 1825601 1825602 1825603 1825605 1825607 1825610 1825612 1825613 1825614 1825617 1825618 1825620 1825621 1825622 1825624 1825625 1825626 1825627 1825630 1825631 1825632 1825633 1825634 1825635 1825636 1825637 1825638 1825641 1825644 1825647 1825648 1825654 1825657 1825660 1825662 1825666 1825667 1825669 1825671 1825673 1825674 1825675 1825676 1825678 1825680 1825683 1825684 1825685 1825687 1825691 1825692 1825702 1825705 1825707 1825708 1825709 1825710 1825711 1825712 1825713 1825715 1825716 1825717 1825719 1825723 1825724 1825726 1825732 1825734 1825735 1825737 1825738 1825739 1825740 1825741 1825743 1825744 1825745 1825747 1825748 1825750 1825751 1825752 1825753 1825754 1825755 1825756 1825759 1825760 1825762 1825763 1825766 1825767 1825768 1825769 1825770 1825771 1825772 1825773 1825775 1825777 1825778 1825779 1825781 1825782 1825783 1825784 1825785 1825786 1825787 1825788 1825790 1825791 1825792 1825793 1825794 1825795 1825796 1825797 1825801 1825802 1825803 1825804 1825806 1825807 1825809 1825810 1825812 1825813 1825814 1825817 1825819 1825820 1825821 1825822 1825824 1825827 1825828 1825829 1825831 1825832 1825834 1825835 1825836 1825837 1825838 1825839 1825840 1825841 1825842 1825843 1825844 1825846 1825847 1825848 1825849 1825850 1825851 1825852 1825853 1825854 1825855 1825856 1825857 1825858 1825859 1825861 1825862 1825863 1825864 1825866 1825867 1825868 1825869 1825875 1825876 1825878 1825879 1825880 1825882 1825889 1825892 1825895 1825896 1825897 1825899 1825904 1825907 1825908 1825910 1825912 1825913 1825915 1825916 1825917 1825918 1825919 1825921 1825922 1825924 1825926 1825931 1825933 1825934 1825936 1825937 1825938 1825939 1825940 1825942 1825943 1825944 1825945 1825946 1825948 1825949 1825950 1825952 1825953 1825954 1825955 1825957 1825958 1825959 1825962 1825963 1825964 1825965 1825966 1825968 1825969 1825974 1825976 1825977 1825978 1825979 1825980 1825983 1825985 1825987 1825988 1825989 1825990 1825991 1825994 1825995 1825996 1825998 1825999 1826000 1826001 1826002 1826003 1826004 1826005 1826006 1826007 1826008 1826009 1826012 1826013 1826016 1826019 1826022 1826024 1826027 1826031 1826035 1826037 1826039 1826047 1826048 1826051 1826053 1826057 1826064 1826082 1826096 1826102 1826103 1826116 1826137 1826141 1826148 1826150 1826153 1826158 1826163 1826168 1826177 1826183 1826189 1826203 1826237 1826240 1826246 1826255 1826256 1826257 1826258 1826259 1826260 1826261 1826262 1826263 1826264 1826265 1826266 1826267 1826268 1826269 1826270 1826271 1826272 1826273 1826275 1826276 1826277 1826278 1826279 1826280 1826281 1826282 1826308 1826309 1826310 1826313 1826314 1826315 1826316 1826317 1826318 1826319 1826320 1826321 1826322 1826323 1826325 1826326 1826328 1826330 1826331 1826332 1826334 1826336 1826337 1826338 1826340 1826342 1826343 1826346 1826348 1826349 1826350 1826352 1826353 1826354 1826355 1826356 1826357 1826358 1826359 1826361 1826368 1826372 1826373 1826380 1826381 1826382 1826383 1826384 1826385 1826388 1826389 1826391 1826392 1826393 1826394 1826395 1826396 1826397 1826398 1826399 1826400 1826401 1826402 1826403 1826404 1826406 1826407 1826408 1826409 1826411 1826412 1826413 1826414 1826415 1826416 1826418 1826419 1826421 1826422 1826423 1826424 1826425 1826426 1826427 1826429 1826431 1826432 1826433 1826434 1826435 1826438 1826439 1826441 1826442 1826443 1826444 1826445 1826446 1826447 1826448 1826449 1826450 1826451 1826452 1826453 1826454 1826455 1826458 1826459 1826460 1826461 1826462 1826463 1826464 1826466 1826467 1826468 1826469 1826470 1826471 1826473 1826474 1826477 1826483 1826484 1826485 1826486 1826491 1826492 1826493 1826495 1826496 1826500 1826501 1826502 1826503 1826504 1826505 1826507 1826509 1826511 1826512 1826515 1826517 1826520 1826521 1826522 1826524 1826525 1826526 1826527 1826528 1826536 1826538 1826539 1826540 1826541 1826542 1826543 1826544 1826545 1826546 1826547 1826548 1826551 1826553 1826555 1826559 1826560 1826561 1826562 1826563 1826564 1826565 1826567 1826568 1826569 1826570 1826571 1826574 1826581 1826583 1826584 1826585 1826586 1826587 1826588 1826589 1826592 1826594 1826595 1826596 1826597 1826599 1826600 1826602 1826604 1826605 1826607 1826608 1826609 1826611 1826612 1826615 1826617 1826618 1826619 1826620 1826621 1826623 1826624 1826625 1826626 1826627 1826629 1826630 1826632 1826634 1826636 1826637 1826638 1826639 1826642 1826643 1826644 1826645 1826646 1826647 1826649 1826650 1826651 1826653 1826654 1826667 1826669 1826672 1826694 1826696 1826697 1826698 1826699 1826700 1826701 1826702 1826703 1826704 1826705 1826706 1826707 1826709 1826710 1826711 1826712 1826713 1826715 1826716 1826717 1826718 1826723 1826724 1826726 1826727 1826729 1826730 1826731 1826732 1826733 1826734 1826735 1826737 1826738 1826742 1826745 1826746 1826748 1826752 1826753 1826755 1826756 1826757 1826758 1826761 1826763 1826764 1826765 1826766 1826767 1826768 1826769 1826770 1826771 1826772 1826773 1826774 1826778 1826779 1826780 1826781 1826784 1826785 1826786 1826787 1826790 1826792 1826793 1826794 1826795 1826796 1826797 1826798 1826799 1826806 1826808 1826809 1826813 1826814 1826819 1826820 1826821 1826822 1826823 1826824 1826825 1826827 1826828 1826829 1826831 1826833 1826834 1826835 1826836 1826837 1826838 1826840 1826841 1826842 1826843 1826844 1826848 1826849 1826857 1826858 1826902 1826936 1826941 1826942 1826943 1826944 1826945 1826946 1826947 1826948 1826949 1826950 1826951 1826953 1826954 1826955 1826956 1826958 1826959 1826961 1826964 1826966 1826967 1826968 1826969 1826970 1826973 1826974 1826976 1826977 1826978 1832360 1832361 1832467 1833235 1835006 1835812 1835836 1835837 1835838 1835839 1835840 1835841 1835843 1835848 1835855 1835856 1835858 1835859 1835860 1835861 1835863 1835864 1835886 1835898 1835906 1835907 1835908 1835909 1835911 1835920 1835950 1835952 1836008 1836075 1836109 1836110 1836111 1836112 1836117 1836171 1836172 1836180 1836181 1836205 1836267 1836273 1836286 1836306 1836583 1836604 1836606 1836722 1836928 1836941 1836945 1836956 1837013 1837146 1837204 1837221 1837417 1837420 1837421 1837441 1837442 1837500 1837550 1837563 1837594 1837729 1837790 1837808 1837820 1837877 1837895 1837928 1837971 1838542 1838543 1839072 1842089 1842125 1842236 1842259 1842306 1842308 1842325 1842350 1842351 1842354 1842355 1842356 1842690 1842747 1842758 1842760 1842761 1842796 1842829 1842834 1842840 1842848 1842851 1842869 1842980 1843041 1843095 1843354 1843476 1843764 1843785 1843833 1843897 1843915 1843919 1843948 1845087 1845100 1845101 1845143 1845191 1845260 1845514 1845515 1846283 1846414 1846532 1846535 1846690 1846723 1846860 1846861 1846885 1846919 1846978 1846989 1847163 1847320 1847321 1847413 1847414 1847531 1847590 1847895 1853130 1853131 1853132 1853133 1853134 1853135 1853152 1853155 1853216 1853225 1853254 1853260 1853261 1853262 1853292 1853355 1853361 1853366 1853491 1853667 1853685 1853828 1854020 1854225 1854268 1854269 1854276 1854378 1854396 1854572 1854576 1854580 1854634 1857683 1857684 1857700 1857748 1857782 1857793 1857794 1857796 1857831 1857862 1857983 1858105 1858156 1858559 1858625 1858663 1858871 1864009 1864175 1864650 1864667 1864692 1864736 1864739 1864740 1864745 1864769 1864770 1864771 1864814 1864824 1864832 1864845 1864891 1864911 1864958 1864963 1865021 1865042 1865043 1865068 1865069 1865138 1865266 1865268 1865269 1869126 1876156 1876205 1876213 1968823 1968826 1968827 1968829 1968831 1968832 1968833 1968835 1968836 1968837 1968839 1968841 1968842 1969012 1969026 1969042 1969043 1969051 1969058 1969059 1969082 1969088 1969094 1969105 1969109 1969110 1969111 1969616 1969618 1969622 1969628 1969641 1969642 1969643 1969646 1969654 1969662 1969781 1969797 1969798 1970004 1970006 1970014 1970015 1970017 1970019 1970022 1970023 1970031 1970148 1970157 1970159 1970174 1970205 1970208 1970251 1970252 1970410 1970411 1970412 1970415 1970418 1970419 1970469 1970471 1970480 1970854 1970995 1999257 2239292 2239294 2239296 2239298 2239299 2239303 2239305 2239306 2239313 2239318 2239319 2239329 2239330 2239331 2239333 2239342 2239344 2239353 2239356 2239357 2239359 2239360 2239361 2239363 2239369 2239370 2239371 2239372 2239373 2239386 2239387 2239388 2239392 2239395 2239396 2239420 2239422 2239425 2239426 2239428 2239429 2239430 2239431 2239432 2239433 2239434 2239449 2239452 2239453 2239455 2239457 2239460 2239469 2239470 2239473 2239482 2239483 2239486 2239487 2239491 2239493 2239494 2239495 2239498 2239507 2239508 2239511 2239513 2239514 2239515 2239547 2239551 2239552 2239553 2239557 2239561 2239564 2239568 2239646 2239647 2239652 2239655 2239659 2239661 2239665 2239666 2239668 2239669 2239672 2239674 2239681 2239682 2239683 2239684 2239686 2239705 2239709 2239712 2239716 2239717 2239719 2239722 2239734 2239753 2239755 2239756 2239757 2239758 2239763 2239764 2239765 2239766 2239767 2239768 2239770 2239772 2239779 2239780 2239781 2239784 2239789 2239791 2239799 2239800 2239804 2239805 2239806 2239810 2239817 2239819 2239820 2239821 2239826 2239827 2239843 2239845 2239864 2239865 2239866 2239867 2239868 2239869 2239870 2239871 2239873 2239874 2239875 2239881 2239883 2239884 2239885 2239886 2239887 2239888 2239891 2239892 2239895 2239897 2239904 2239905 2239906 2239907 2239908 2239910 2239914 2239916 2239919 2239920 2239921 2239922 2239923 2239924 2239926 2239927 2239931 2239932 2239937 2239938 2239946 2240000 2240029 2240032 2240035 2240038 2240039 2240043 2240044 2240046 2240048 2240049 2240055 2240056 2240057 2240065 2240073 2240074 2240075 2240076 2240077 2240078 2240084 2240091 2240092 2240099 2240100 2240102 2240103 2240104 2240105 2240106 2240107 2240109 2240110 2240111 2240113 2240116 2240120 2240135 2240144 2240169 2240171 2240173 2240183 2240184 2240188 2240200 2240201 2240202 2240205 2240206 2240207 2240210 2240211 2240220 2240223 2240224 2240226 2240229 2240231 2240234 2240235 2240247 2240250 2240251 2240258 2240259 2240261 2240263 2240268 2240270 2240273 2240284 2240286 2240287 2240298 2240301 2240302 2240303 2240312 2240325 2240326 2240327 2240335 2240338 2240341 2240342 2240346 2240359 2240360 2240363 2240366 2240367 2242462 2242465 2242767 2243119 2266648 2608049 2673188 2673202 2673256 2674784 2675209 2675234 2675889 2675903 2676276 2676509 2676726 2677154 2677155 2677316 2677317 2677318 2677502 2677530 2677531 2677566 2677573 2677581 2677742 2677743 2677835 2677838 2678513 2678520 2678521 2678522 2678526 2678527 2678528 2678529 2678530 2678545 2678549 2678550 2678553 2678555 2678557 2678558 2678559 2678560 2678562 2678578 2678584 2678589 2678590 2678594 2678630 2678631 2678632 2678679 2678682 2678684 2678700 2678723 2680000 2680358 2680360 2680363 2680370 2680373 2680374 2680378 2680381 2680414 2680419 2680427 2680428 2680431 2680432 2680433 2680437 2680448 2680450 2680463 2680468 2680469 2680470 2680482 2680484 2680485 2680489 2680491 2680492 2680495 2680497 2680499 2680507 2681079 2681085 2681086 2681088 2681097 2681098 2681104 2681105 2681106 2681109 2681112 2681113 2681114 2681122 2681123 2681129 2681130 2681131 2681144 2681145 2681177 2681178 2681179 2681182 2681183 2681184 2681185 2681191 2681194 2681197 2681204 2681211 2681227 2681229 2681253 2681258 2681263 2681272 2681277 2681279 2681282 2681284 2681286 2681290 2681299 2681301 2681313 2681319 2681322 2681324 2681327 2681330 2681331 2681348 2681352 2681355 2681368 2681369 2681372 2681387 2681389 2681394 2681396 2681401 2681404 2681405 2681414 2681416 2681417 2681447 2681448 2681489 2681496 2681497 2681503 2681504 2681505 2681510 2681514 2681527 2681529 2681534 2681537 2681538 2681539 2681540 2681544 2681546 2681547 2681554 2681555 2681556 2681560 2681564 2681565 2681566 2681589 2681594 2681610 2681612 2681616 2681623 2681628 2681629 2681630 2681631 2681633 2681634 2681636 2681637 2681642 2681652 2681653 2681655 2681660 2681661 2681666 2681670 2681699 2681724 2681725 2681732 2681760 2681776 2681781 2681835 2681837 2681839 2681840 2681844 2681845 2681847 2681849 2681851 2681852 2681854 2681857 2681858 2681859 2681864 2681866 2681867 2681898 2681899 2681901 2681903 2681909 2681920 2681922 2681929 2681931 2681932 2699119 2700407 2700595 2700596 2700597 2746045 2748512 2748553 2748556 2749018 2750060 2750469 2750470 2750476 2751072 2828415 2828534 2828546 2828560 2828567 2828568 2828571 2828579 2828594 2828610 2828624 2828633 2828634 2828657 2828666 2828669 2828683 2828701 2828702 2828704 2828705 2828719 2828720 2828722 2828732 2828736 2828739 2828741 2828747 2828748 2828772 2828776 2828777 2828790 2828826 2828843 2828861 2828870 2828872 2828875 2828877 2828882 2828892 2828897 2828921 2828923 2828924 2828961 2828981 2828992 2829000 2829040 2829041 2829044 2829142 2829143 2829145 2829164 2829185 2829187 2829190 2829195 2829196 2829203 2829213 2829215 2829252 2829258 2829272 2829275 2829279 2829390 2829391 2829392 2829402 2829403 2829404 2829405 2829408 2829488 2829490 2829516 2829522 2829539 2829540 2829556 2829563 2829581 2829584 2829592 2829593 2829596 2829607 2829616 2829632 2829651 2829663 2829720 2829733 2829822 2829869 2829871 2829905 2829906 2829932 2829948 2829953 2829958 2829966 2829972 2829984 2829992 2829996 2830002 2985237 3146324 3146325 3146409 3146446 3146456 3146457 3146458 3146459 3146479 3146545 3146547 3146549 3146551 3146559 3146566 3146592 3146638 3146639 3146706 3146722 3146723 3146738 3146739 3146763 3146765 3146775 3146783 3146802 3146829 3146897 3146927 3146936 3146941 3146960 3147000 3147001 3147006 3147017 3147039 3147110 3147111 3147131 3147132 3147148 3147150 3147168 3147174 3147183 3147198 3147200 3147201 3147202 3147204 3147205 3147206 3147208 3147210 3147211 3147213 3147214 3147215 3147216 3147217 3147218 3147219 3147220 3147229 3147235 3147236 3147237 3147238 3147240 3147283 3147304 3147319 3147341 3147379 3147385 3147440 3147444 3147603 3147659 3147660 3147679 3147684 3147703 3147747 3147755 3147783 3147805 3147811 3147813 3147946 3148001 3148006 3148054 3148085 3148153 3148380 3148394 3148403 3148433 3148434 3148435 3148436 3148437 3148438 3148441 3148442 3148443 3148457 3148500 3148546 3148559 3148578 3148643 3150976 3273862 3280264 3280437 3280555 3280816 3280964 3281140 3463911 3469621 3469622 3469642 3469646 3469648 3469650 3469667 3469671 3469679 3469680 3469690 3469710 3469755 3469759 3469764 3469775 3469784 3469805 3469817 3469827 3469830 3469832 3469836 3469837 3469857 3469867 3469889 3469890 3469891 3469892 3469911 3469918 3469921 3469926 3469945 3469951 3469953 3469954 3469967 3469968 3469969 3469970 3469971 3469972 3469973 3469975 3469978 3469980 3469985 3469993 3469994 3470013 3470025 3470059 3470072 3470078 3470080 3470089 3470097 3470100 3470104 3470122 3470123 3470134 3470141 3470154 3470160 3470196 3470200 3470204 3470221 3470230 3470234 3470237 3470243 3470277 3470291 3470294 3470295 3470311 3470332 3470341 3470342 3470354 3470366 3470369 3470388 3470403 3470426 3470427 3470428 3470429 3470440 3470445 3470476 3470483 3470487 3470488 3470489 3470496 3470499 3470516 3470530 3470535 3470541 3470551 3470554 3470555 3470564 3470566 3470569 3470585 3470594 3470598 3470619 3470627 3470640 3470691 3470768 3470772 3470773 3470776 3470790 3470805 3470827 3470867 3470874 3470887 3470888 3470921 3470933 3470947 3470956 3470957 3470958 3470959 3470962 3470963 3470964 3470966 3471119 3471123 3471264 3471268 3471337 3471356 3471365 3471400 3471408 3471412 3471430 3471440 3471459 3471494 3471496 3471502 3472031 3472064 3472710 3539197 3539331 3539346 3539349 3539395 3539413 3539415 3539520 3540054 3540116 3540241 3540252 3540258 3540272 3540278 3540288 3540293 3540317 3540873 3541065 3541074 3541091 3541167 3541168 3541664 3541708 3541710 3541711 3541781 3541852 3541854 3542037 3542038 3542041 3542066 3542300 3542508 3542729 3542736 3542813 3542831 3542833 3542845 3543091 3543515 3543544 3543729 3543894 3543895 3543924 3544029 3554276 3554277 3806701 3808960 3809110 3809313 3809326 3809552 3809964 3810054 3810126 3810296 3810312 3810883 3810893 3810928 3810939 3810954 3811000 3811444 3811474 3811482 3811518 3811554 3811556 3811618 3812522 3812523 3812528 3812529 3812532 3812534 3812913 3812915 3812916 3812924 3812940 3813051 3813056 3813746 3813941 3813942 3814356 3814599 3814602 3814603 3814613 3814622 3814675 3814900 3814912 3814916 3814928 3815103 3815306 3815369 3815370 3815721 3815766 3815805 3816135 3816272 3816425 3816512 3816627 3816770 3816831 3816838 3816902 3853777 3887717 3887997 3889187 3889213 3889218 3889223 3889231 3889486 3889489 3889562 3889757 3889775 3889796 3889800 3890051 3890054 3890070 3890126 3890130 3890131 3890286 3890345 3890506 3890512 3890517 3890659 3890831 3890878 3890972 3891002 3891006 3891013 3891061 3891234 3891350 3891460 3891498 3891579 3891833 3891889 3892006 3892016 4083552 4084684 4085116 4085164 4085179 4085293 4085375 4085694)\n(2 1168 1173 1510 1511 2690 2949 3090 3148 3535 3742 6386 8512 9080 9917 9918 10043 10046 10491 10695 11360 11876 13446 13505 14867 15697 15826 16167 16173 16427 16429 16507 17145 17571 18565 18945 19290 19297 19300 19302 19303 19304 19308 19310 19315 19317 19553 20058 21092 21843 21845 22361 22411 22444 22548 22581 22822 24004 24441 24799 25060 26684 27343 28259 28431 28931 31019 31087 31094 31547 32650 33793 33844 35321 36280 36282 36646 36651 37284 37287 38359 38538 38604 39977 40072 40579 41970 42140 42344 42345 42961 80233 85400 85433 85648 85664 85666 86447 86448 86492 86501 86512 87166 149705 149771 149800 151451 151464 151465 151511 151942 152006 152014 152187 152202 152243 152247 152256 152257 152459 154822 154828 155072 155162 155164 155202 155265 155285 155526 155761 155781 155784 155794 155912 155966 156104 156133 156136 156263 156284 156286 156290 156299 156353 156354 156365 156371 158309 158328 158458 158461 158466 158470 158471 158473 158476 158477 158481 158489 158499 158503 158513 158516 161832 162280 162482 162810 178282 205204 205990 221245 221248 221369 221430 231557 231666 232183 235259 235346 235972 235990 236053 236058 237022 237048 237053 237054 237055 238047 238109 238268 238479 238965 239296 239942 240698 240821 241414 241653 241899 241970 242015 242621 259766 259768 262374 262537 262617 262622 263382 263486 263556 263568 263586 263616 263631 263861 263900 264132 264133 264134 264141 264145 264162 264167 264172 264173 264192 264355 264571 264969 265032 266106 267085 267087 267211 267229 267468 267471 267489 267493 267566 267594 267636 267681 267687 267741 267742 267767 267950 268873 268875 269126 269157 269161 269189 269196 270090 270628 271036 271055 271083 271160 271163 271166 271167 271331 271408 271413 271693 271759 272392 275828 276262 281814 281827 281961 281962 302148 302255 302859 302875 302887 311224 311242 311269 311270 311271 311277 332470 332603 332790 332791 332799 332836 332838 332840 332845 332853 332855 332859 333069 333077 333078 333092 333133 333145 333146 333148 333149 333150 333151 333152 333153 333154 333155 333156 333160 333161 333182 333183 333184 333185 333186 333189 333198 333199 333203 333204 333207 333208 333209 333210 333211 333212 333215 333216 333218 333221 333222 333223 333226 333227 333262 333263 333265 333266 333267 333292 333293 333294 333295 333296 333297 333298 333299 333301 333302 333303 333304 333305 333306 333307 333308 333309 333316 333317 333318 333319 333324 333325 333330 333331 333333 333334 333340 333440 333463 333468 333567 333568 333630 333972 334008 334070 334139 334156 334163 338593 339054 339133 339274 339287 339288 339366 339420 339441 339443 339444 339447 339448 339495 339502 339505 339543 339772 339781 339782 339863 340161 340217 340240 340533 340726 340763 340782 340911 341025 341047 341255 341406 341407 341539 341540 341698 341708 341722 341753 342117 342630 342653 343060 343062 343072 343292 344258 344271 344274 344287 344310 345370 348757 349070 349071 349789 375512 376154 392070 392394 392443 392454 392510 392530 393984 395807 395894 395905 396052 396063 398656 399495 400843 400850 400855 400856 400857 400858 400859 401074 401076 401097 401104 401112 401116 401122 401123 403654 403699 403703 403718 403766 403770 404445 404461 404463 404477 404541 406159 406161 406166 406168 406169 406170 406178 406180 406182 406183 406185 406193 406211 406560 406562 406564 406603 406607 410158 410329 410330 410337 410338 410343 410344 410440 410443 410549 410632 410706 410756 410783 423348 425852 425853 426551 426565 426571 426831 427252 428791 428870 428872 432525 438437 441253 442832 442833 442834 442839 442843 442846 442855 442872 442881 442887 444802 445243 448970 448971 450201 456084 457978 457981 459524 459683 472385 473122 473313 473565 474442 474983 474998 475321 475875 487852 489959 494710 520532 520571 520573 520724 520729 521172 521175 521478 521527 521617 521653 521681 521706 521707 521731 521732 521733 521735 522561 522562 522566 524541 541754 542107 544765 544769 544770 544771 544772 544777 544785 544812 544825 544827 544829 545033 545034 546242 546244 546255 546256 546261 546306 546324 546339 546340 546343 546395 546413 546958 549334 549357 553722 554019 559359 560240 563247 564758 566947 566951 577704 578448 581315 581357 581364 585103 587232 589361 595995 678127 700208 700588 729563 729731 730051 730053 740114 740406 740654 740787 741802 747489 747528 749079 749095 749098 749174 749730 750065 750099 751194 751533 751633 751634 751797 839218 849847 852869 854290 856346 856347 856485 858617 858699 859973 860018 860019 860200 860245 860250 865529 865818 865897 866036 866710 877081 877614 919665 919718 919937 936231 939959 939964 940041 940042 940043 941156 948226 948286 1096458 1112368 1112768 1142437 1142477 1168305 1258666 1260959 1262048 1262265 1265607 1265704 1265705 1265706 1265707 1265708 1265710 1265712 1265713 1265755 1265756 1265757 1265875 1269785 1274369 1274574 1274576 1278760 1278799 1281892 1281917 1282203 1282417 1282418 1282419 1282420 1282464 1285499 1290651 1297883 1299564 1299630 1299631 1302784 1302999 1304059 1304401 1306068 1314742 1314743 1328514 1328519 1328531 1331536 1385263 1390840 1391753 1392369 1398762 1398980 1399263 1400387 1401336 1401359 1401567 1404203 1405128 1405408 1405878 1406923 1407920 1408048 1410779 1410860 1444215 1444680 1450010 1455783 1515091 1519666 1527356 1531696 1532195 1533137 1536082 1536126 1608414 1610086)\n(3 1285 5530 7990 9476 15187 15189 15315 15922 16816 18582 19843 20115 20942 23844 26101 35187 35345 38952 43027 80115 206236 206244 242266 242267 242686 282116 441655 600210 871834 872021 872279 1449772 1510476 1565234)\n(4 1588 1589 1675 1792 1795 7667 8059 8100 21270 21289 21293 21294 27362 28296 28829 79377 87178 178694 205653 205847 238598 260267 392363 524337 524338 596727 596728 596947 597696 597772 598880 598967 678804 680085 682051 682052 682053 682054 683972 683973 699810 870102 870892 920381 1444711)\n(5 961 2028 2031 2032 2033 8155 8190 15154 15155 22980 29049 31864 32071 33734 34358 36500 85356 162769 175787 175807 320393 321020 331707 331709 331711 331713 331717 331721 331722 331723 446185 521088 524478 524479 524480 524481 524482 598157 599017 599224 696815 750898 750899 751493 996239 996241 996242 996243 996244 996245 996246 996247 996248 996249 996250 996251 996252 996253 996254 996255 996256 996257 996258 996259 996260 996261 996262 996263 996264 996265 996266 996267 996268 996269 996270 996272 996273 996274 996275 996276 996277 996278 996280 996283 996285 996286 996288 996294 996295 996296 996297 996298 996299 996309 996310 996311 996312 996333 996334 996338 996339 996340 996342 996344 996346 996349 996350 996351 996352 996353 996356 996357 996360 996361 996362 996364 996365 996367 996368 996371 996372 996373 996374 996375 996376 996377 996378 996379 996381 996389 996393 996396 996403 996405 996411 996437 996438 996485 996489 996509 997310 1000895 1000903 1001814 1001863 1001864 1001865 1002289 1002290 1002298 1002304 1002526 1002527 1002528 1002532 1002533 1002537 1002541 1002542 1002544 1002546 1002552 1002553 1002557 1002561 1003564 1003565 1003567 1003568 1003581 1003582 1003583 1003584 1003586 1003587 1003592 1003594 1003598 1003599 1003600 1003601 1003603 1003604 1003605 1003610 1003612 1003626 1003627 1003628 1003634 1003641 1003642 1003643 1003645 1003648 1003649 1003650 1003651 1003652 1003653 1003656 1003660 1003662 1003663 1003664 1003666 1003671 1003673 1003678 1003684 1003686 1004250 1004623 1004624 1004625 1004642 1004643 1004646 1004648 1004722 1004733 1004742 1004881 1005453 1005454 1005456 1005458 1005459 1005476 1005480 1005484 1005485 1005487 1005488 1005491 1005492 1005493 1005494 1005496 1005497 1005498 1005502 1005513 1005515 1005519 1005522 1005745 1005748 1005757 1005871 1006431 1006432 1006683 1006684 1006687 1006985 1007396 1007443 1007447 1007450 1007466 1007467 1007470 1007474 1007475 1007548 1007563 1007570 1007573 1007574 1007591 1007592 1007593 1007594 1007597 1008207 1008208 1008209 1008212 1008213 1008214 1008325 1008817 1008818 1009189 1009509 1009670 1009672 1009885 1009891 1009896 1009898 1010941 1011418 1011420 1011507 1011792 1011793 1013111 1013377 1014045 1014052 1014057 1014060 1014300 1014301 1014326 1014329 1014505 1014529 1014535 1015224 1016744 1016747 1016750 1017039 1018342 1018836 1020636 1020637 1020638 1020639 1020656 1021765 1022292 1022322 1022323 1022326 1022327 1024149 1024311 1025326 1025511 1025922 1025923 1025924 1025925 1026157 1026158 1026165 1026167 1026285 1027275 1028188 1028251 1028971 1029504 1029714 1029718 1029780 1030311 1030312 1030481 1030484 1030485 1031617 1031699 1031700 1031794 1031795 1032223 1032225 1032502 1032610 1033114 1033434 1033435 1033436 1033945 1034059 1034060 1035103 1035403 1035900 1035961 1035962 1036166 1036272 1038979 1038980 1039139 1039142 1039143 1039151 1039152 1039170 1039256 1039258 1039259 1040055 1040064 1040066 1040070 1040435 1041445 1043404 1043405 1044801 1044804 1044805 1044810 1044811 1045934 1045937 1046472 1047066 1047894 1048122 1048167 1049033 1049035 1049704 1049709 1050031 1050391 1050393 1051301 1051962 1051963 1051984 1051986 1056614 1056615 1056616 1056618 1057083 1057475 1057835 1059019 1061943 1062184 1062820 1063374 1063384 1063407 1063408 1063447 1064563 1066661 1067664 1068821 1068823 1068826 1068827 1069082 1069392 1069558 1069559 1069795 1072021 1072592 1074593 1074609 1074610 1075244 1075864 1075872 1076206 1076235 1076237 1076238 1076276 1076631 1076634 1076640 1076641 1076642 1076643 1077951 1078158 1078163 1080790 1080791 1080792 1080793 1080794 1080795 1080796 1080797 1080805 1080808 1080811 1080831 1081480 1081481 1081561 1081684 1081685 1081686 1081687 1081694 1081695 1081945 1081974 1082191 1082394 1082465 1082498 1082499 1082818 1083035 1083136 1083137 1083500 1084337 1084864 1084865 1085354 1086344 1086812 1086866 1086944 1087864 1087865 1088333 1088540 1089415 1089439 1090210 1090574 1090864 1091294 1091665 1091834 1092015 1092970 1092973 1092978 1093121 1093122 1093154 1093157 1093208 1093209 1093297 1093300 1093696 1094105 1094347 1094705 1094855 1095779 1187165 1187300 1187602 1187615 1187852 1187853 1187950 1188676 1188677 1190388 1190391 1192084 1192085 1192086 1192215 1192789 1193610 1193801 1193952 1193953 1193954 1194036 1194083 1194089 1194210 1194522 1194771 1194778 1194784 1194790 1195002 1195166 1195167 1195343 1197541 1197895 1197913 1197918 1197919 1197920 1197921 1199306 1199535 1199539 1199542 1199545 1199550 1199859 1199860 1199864 1199869 1199936 1199967 1200003 1200004 1200005 1200015 1200079 1200300 1200414 1202756 1202757 1204041 1204557 1205072 1206702 1206706 1207466 1207467 1208838 1208846 1208855 1208863 1208928 1209931 1209939 1211011 1211396 1211834 1211971 1212606 1212609 1212610 1212622 1212795 1213845 1213846 1213926 1214157 1215794 1215802 1215804 1215805 1216380 1217013 1217377 1217689 1217852 1217881 1218419 1218420 1218423 1220013 1220802 1221340 1221569 1222294 1222343 1222585 1222718 1223459 1223464 1223465 1224412 1224785 1225860 1225994 1228488 1229337 1229500 1230103 1232486 1232880 1257934 1458365 1458446 1462013 1462519 1462523 1462526 1462652 1462666 1462669 1462674 1462679 1462681 1462688 1462693 1462706 1462754 1463030 1464059 1464113 1464283 1464284 1464894 1465418 1465420 1465421 1469314 1469315 1469319 1470084 1470490 1475992 1477165 1477674 1481724 1481725 1481779 1482304 1482314 1482315 1482316 1482317 1482878 1483099 1483216 1483218 1483373 1483838 1483968 1485470 1485610 1485637 1485639 1485678 1485682 1485685 1485686 1485692 1485915 1485917 1485919 1485934 1485981 1489704 1489705 1489706 1489708 1489709 1491359 1491778 1492549 1492871 1493603 1494354 1494357 1496205 1496232 1496530 1497310 1497632 1497634 1497879 1498962 1500406 1500408 1500518 1500519 1500521 1500537 1500546 1500557 1500564 1500588 1500958 1502819 1503010)\n(6 2518 37081 282534 282535 282536 525021 598667 599216 600499 682969 872168 920679 949662 1510701 1510939 1511010 1511011 1511012 1511013 1511015 1511026 1511029 1511077 1511331 1511358 1511359 1511474 1511603 1511644 1511655 1511662 1511738 1511990 1512046 1512113 1512142 1512313 1512475 1512495 1512665 1513163 1513806 1513812 1513868 1514490 1514524 1514535 1514562 1514648 1515032 1515099 1515175 1515557 1515859 1515860 1516143 1516692 1517104 1517371 1517645 1517692 1517773 1518145 1518456 1518791 1518792 1518793 1518794 1518803 1518827 1518833 1518834 1519063 1519124 1519134 1519141 1519149 1519254 1519623 1519724 1519727 1519739 1519878 1520108 1520109 1520153 1520222 1563691)\n(7 2429 2430 2431 2668 2673 3459 6354 6355 6356 6357 6358 27548 27549 28440 31964 32235 33614 34651 34652 34653 34654 34655 34662 36060 36062 36063 39311 40324 41124 42058 43342 43343 86705 86949 260223 260305 260307 260308 260309 260310 326968 326970 326974 326975 326976 326977 326978 326980 326981 326982 326985 326986 326987 326988 326992 326993 326994 326995 326996 326998 327000 327001 327002 327004 327008 327011 327014 327016 327017 327018 327019 327020 327022 327023 327024 327025 327029 327031 327034 327035 327036 327037 327038 327041 327042 327048 327049 327050 327052 327055 327057 327058 327060 327061 327062 327063 327064 327065 327066 327067 327068 327070 327072 327074 327075 327077 327078 327079 327080 327083 327084 327085 327086 327087 327089 327091 376341 392731 597830 597890 995135 998985 998988 998989 998991 998992 998993 998994 998995 998997 998998 998999 999000 999001 999002 999003 999004 999006 999007 999008 999009 999010 999011 999012 999013 999014 999015 999016 999017 999018 999019 999020 999021 999022 999025 999026 999027 999029 999030 999031 999032 999033 999034 999035 999037 999038 999039 999040 999041 999042 999043 999047 999050 999051 999052 999053 999054 999057 999058 999059 999060 999061 999062 1001583 1003176 1003177 1003178 1003179 1003180 1003181 1003183 1003184 1003188 1003189 1003190 1003192 1003193 1003194 1003195 1003197 1003198 1003199 1003200 1003203 1003204 1003205 1003206 1003207 1003208 1003210 1003838 1004206 1005406 1006194 1006195 1008299 1008300 1008301 1008306 1008309 1008314 1008315 1008316 1009646 1010496 1010497 1010498 1010500 1010532 1010774 1010781 1010809 1010810 1010814 1010815 1010827 1010828 1010835 1010846 1010847 1010852 1011372 1011375 1012101 1013355 1013357 1013362 1013365 1013369 1013371 1013381 1013382 1013383 1013384 1013385 1013386 1015635 1015859 1015925 1015926 1016128 1016326 1016433 1016437 1019891 1020230 1020231 1020236 1020250 1020893 1020898 1022661 1022797 1022934 1026946 1026947 1026949 1026950 1026951 1026955 1026960 1027491 1027492 1027690 1027804 1028174 1028773 1031572 1031573 1031574 1031575 1031631 1031633 1033482 1033483 1033484 1033934 1036399 1036400 1036401 1036403 1037168 1037504 1037814 1038016 1038887 1038888 1039174 1039175 1041721 1041724 1041725 1041729 1041732 1042179 1042180 1042611 1043033 1043239 1043240 1043241 1043243 1043244 1043249 1044730 1047200 1047689 1047733 1047735 1047737 1048091 1048093 1048094 1048637 1048916 1048951 1048952 1048953 1048954 1050073 1050453 1050479 1051230 1051232 1051233 1051726 1051727 1051730 1051776 1051777 1051780 1051789 1051790 1051791 1051792 1051793 1051800 1052321 1052327 1052328 1052346 1052367 1052376 1052504 1052581 1052582 1053617 1053836 1053837 1053840 1056539 1056555 1057480 1057481 1057951 1057952 1057953 1057960 1058355 1058358 1058361 1058362 1058363 1058743 1058821 1061229 1061237 1061238 1061270 1061574 1061579 1062227 1062234 1062242 1062243 1062343 1062359 1062675 1062676 1065029 1065030 1065608 1065610 1068440 1069667 1069947 1070867 1071155 1071166 1072082 1072458 1072912 1072913 1073796 1073806 1074875 1074876 1074877 1074878 1074879 1074887 1075196 1075737 1075738 1076568 1076569 1076570 1076571 1076979 1078464 1079147 1079516 1081146 1081149 1081152 1081634 1081635 1081636 1081637 1081638 1082287 1082290 1082291 1082589 1082633 1082640 1082642 1082646 1082647 1083007 1083450 1083994 1083996 1083997 1084045 1084047 1084080 1084949 1084952 1086402 1088143 1088555 1088749 1089049 1089050 1089197 1089683 1090091 1090156 1090253 1090641 1091121 1091289 1091783 1092262 1092263 1092339 1093028 1093367 1093369 1093552 1093704 1094472 1094666 1094719 1095356 1095780 1187069 1187108 1188029 1188251 1188279 1188324 1188426 1189197 1190850 1190851 1190856 1190860 1190870 1190871 1190872 1190874 1190885 1190918 1190926 1190927 1190951 1190956 1190959 1190961 1191004 1191009 1191010 1191011 1193400 1193401 1193403 1193425 1193462 1194625 1194626 1194628 1194631 1194634 1195332 1195551 1195552 1202751 1204765 1213008 1213009 1213288 1213290 1213291 1213292 1213988 1214030 1214221 1214222 1214225 1214226 1214227 1214781 1215248 1215250 1215252 1215259 1215265 1216139 1216293 1216299 1216306 1216386 1216387 1216388 1225602 1225603 1227460 1227462 1227463 1228208 1228211 1304607 1306843 1444149 1458211 1458212 1458595 1458734 1458737 1458751 1458752 1458753 1458759 1460536 1460537 1460542 1460543 1460544 1460713 1461928 1462839 1463279 1463385 1464401 1464564 1466122 1466125 1468494 1468961 1469692 1469693 1469696 1470110 1470115 1470119 1470127 1470155 1470158 1470203 1470211 1472424 1472607 1472610 1473116 1475145 1475162 1476624 1476625 1476630 1476631 1477061 1477337 1477454 1477910 1479742 1479743 1479744 1479745 1479766 1479767 1481759 1482210 1482211 1482214 1482256 1483141 1485822 1489418 1490953 1490962 1492469 1492471 1492473 1492480 1492486 1492489 1492492 1497788 1498073 1498154 1498159 1499582 1501371 1502135 1502139 1502146 1502940 1502941 1503233)\n(8 2940 2959 3486 3534 3843 3855 5136 5690 5745 6262 7479 9376 9451 10051 10709 11361 11998 12811 12817 14067 14511 14670 14854 14856 15207 16169 16202 16506 17128 18536 18564 18789 18946 19270 19284 19287 19288 19291 19294 19295 19296 19311 19316 19319 19326 20449 20496 21833 21846 21934 21935 22680 22821 22906 23075 23221 24003 24215 24421 24636 25514 25585 26686 27430 29293 29436 29531 30290 30795 31925 32584 33377 33998 34089 34884 34895 36094 36420 36439 37157 37932 38355 38358 38449 39137 39147 39273 40456 40588 40963 41974 42253 42282 42454 42582 79238 79943 80107 80304 85686 86543 86783 86809 149614 149659 149662 149773 149952 151261 151536 151790 151919 152102 152454 154724 154933 155116 155136 155247 155251 155369 155509 155512 155675 155676 155730 155738 155740 155796 155940 155944 155947 156088 156183 156246 156272 158053 158100 158288 158364 158505 162019 162868 205792 205929 221224 221373 221375 221766 221782 235761 235942 237065 238093 238126 238127 238129 238130 238133 238134 238397 238424 238441 238492 238521 239005 239337 240140 240295 240309 240310 240547 240880 241593 242150 259770 262375 262391 262549 262621 262627 263532 263886 263905 264000 264585 264998 265004 265008 265019 265048 265098 265101 265913 265982 266030 266061 266751 266752 266757 266758 266762 266763 266764 266785 266786 266839 266840 266915 267079 267080 267081 267091 267180 267353 267358 267359 267360 267361 267465 267482 267483 267484 267485 267486 267561 267571 267581 267588 267635 267665 267672 267725 267732 267733 267747 267748 267789 267790 267791 267898 267899 267928 268709 268842 268843 268844 268845 268846 268889 268892 269121 269133 269136 269141 269143 269144 269145 269147 269185 269199 269207 269251 269269 269852 270675 270720 271004 271128 271131 271134 271135 271165 271409 275873 278440 281771 281790 281830 281842 281857 281892 281914 281970 302142 302146 302501 302850 332447 332472 332482 332561 332599 332886 333010 333044 333047 333056 333062 333068 333091 333093 333094 333095 333097 333099 333100 333101 333105 333108 333109 333111 333113 333115 333157 333187 333188 333190 333311 333336 333338 333339 333342 333372 334067 334088 339182 339429 339462 340214 340235 340278 340570 340572 340573 340574 340613 340616 340617 340618 340621 340622 340625 340630 340635 340636 340637 340638 340639 340643 340647 340775 340776 340791 340985 341029 341035 341059 341155 341211 341212 341313 341316 341317 341318 341319 341364 341365 341367 341368 341372 341374 341377 341379 341380 341381 341516 341521 341531 341547 341567 341749 342102 342368 342369 342370 342371 342372 342373 342417 342419 342491 342495 342496 342499 343156 343174 343213 343294 344289 344487 345903 346010 347534 348019 348083 349073 349075 349593 375342 376710 391920 392014 392048 392464 392509 392533 392557 393985 395837 395896 396009 396027 398368 398373 398377 398658 399426 399453 399454 399468 399520 399521 399524 399528 399533 399536 399538 399541 399553 399554 399558 399559 399605 400847 400854 400979 401004 401045 401046 401047 401055 401068 401091 401106 401113 403642 403705 404466 404501 404533 405019 405024 405028 406347 406351 406352 406823 406824 409305 410702 410758 423124 423144 423428 423772 423829 423848 425775 425832 426015 426431 426440 426793 426816 426824 426924 426934 428919 428920 428922 428923 429803 431289 431352 431671 431750 442859 442864 442888 443227 445180 456274 457193 460148 472842 473244 474356 477611 494956 500526 500527 500585 521605 521618 521619 521620 544015 544754 544755 546297 546303 546466 546487 546964 549189 549198 549397 549423 549618 553718 555248 558374 559255 561921 567335 574027 574041 574042 574046 575157 576093 576339 576416 578510 578575 582253 585012 585173 585263 585984 595997 596384 597984 600039 679403 684903 685105 700253 700510 700638 701805 729847 730201 730202 730203 730204 730206 740280 740375 741092 741333 741880 742352 742922 743007 743857 743968 744321 744400 745357 746766 748858 748924 749104 749867 750033 750101 751105 751315 751457 752155 752156 752158 752159 795693 838019 838245 850304 851256 852390 853954 854141 854282 854288 854371 854494 854719 854720 854723 856749 856771 856861 856862 857548 858213 859257 859994 860144 860260 860498 860573 866038 866718 871080 877104 877306 919617 919717 919880 920052 920299 940885 941132 948017 948370 1096086 1096096 1096098 1096099 1096100 1096212 1096611 1112206 1112371 1112380 1112561 1112599 1136179 1138421 1142216 1142533 1142543 1168154 1168292 1260954 1262208 1262242 1262266 1265572 1265574 1265575 1265601 1265602 1265603 1265604 1265605 1265606 1265679 1265730 1265735 1265736 1265751 1265752 1265753 1265754 1265764 1265777 1265780 1265781 1265782 1265786 1265787 1265788 1265789 1265790 1265817 1265818 1265859 1269784 1275286 1275287 1275289 1275957 1285497 1285498 1288350 1290398 1290520 1291129 1299541 1301149 1302359 1302869 1305122 1306065 1306529 1306710 1318539 1318999 1328363 1328512 1373220 1384594 1390868 1396413 1397399 1401568 1404246 1408443 1409431 1409519 1409763 1442998 1446299 1446783 1504507 1510412 1510420 1510475 1510497 1525420 1527161 1531581 1533013 1536875 1541919 1556534 1557678 1557689 1557971 1557989 1557995 1558001 1558040 1559461 1559502 1559508 1560348 1562176 1563275 1563282 1608420 1608953 1608977 1610055 1610089 1611719)\n(9 3043 3062 3063 3064 3065 3066 3067 3069 3070 3071 12656 31268 162318 562690 562691 562693 562694 596888 597685 598744 599779 682496 682501 682502 683949 684068 869004 870553 870830 887965 887966 920312 920362 950152 969757 1171352 1171353 1511501 1514783 1516786)\n(10 6629 6933 85088 222052 332862 443322 444584 444911 546245 588441 700276 1268086 1285097 1305737 1508506 1511493 1513264 1517053)\n(11 488 699 1086 1259 1268 1714 1897 2151 2435 2436 2475 2499 2501 2645 2679 2680 3082 3167 3232 3233 3234 3235 3236 3237 3238 3240 3387 3388 4480 4499 4521 4599 4717 5736 5738 5739 5740 6200 6319 6487 6834 6835 6926 6968 6976 7241 7537 7538 7541 7545 7546 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7714 7716 7721 7727 7732 7735 7736 7737 7738 7741 8168 8293 8861 8877 8947 9077 9315 9316 9317 9318 10523 10572 10590 10861 10934 11276 12024 12025 12093 12317 12750 13089 13090 13508 13603 14405 14806 14809 14810 14813 16095 16187 16267 16610 16611 16673 16875 16898 17436 17449 18157 18160 18164 18165 18242 18547 20759 20933 22419 22487 22723 22914 23410 23726 24072 25373 25603 25643 25893 26186 26187 26202 26234 26408 26458 26651 26933 27324 27444 27515 27519 27521 27603 27607 27780 27781 27783 28076 28458 28741 28743 28902 28923 28951 28967 29983 30092 30178 30576 30811 30820 30821 30827 30829 30830 30840 30842 31559 31955 32032 32535 32538 32539 32697 34145 34146 34208 34217 35554 35608 35609 35654 35750 35835 35891 35947 35972 36291 36548 37209 37490 37496 37509 37531 37536 37540 37759 37796 37962 37963 38155 38425 38426 38427 38429 38430 38432 38665 38666 38702 39184 39266 39644 39651 39854 39861 39947 40193 40341 40563 41058 41157 41165 41385 41441 41442 41499 42287 42313 42697 42754 43480 44370 49519 50133 50383 50561 50642 50646 50663 50713 50991 51587 51653 51897 51936 51991 52078 52145 52523 52585 52614 52615 52669 52709 52713 52717 52767 52772 52796 52865 52913 52918 53065 53154 53155 53326 53327 53557 53834 53841 53842 53847 53853 53882 53951 53961 54036 54066 54256 54362 54539 54548 54583 54615 54638 54667 54700 54879 54995 54996 54999 55000 55001 55003 55004 55005 55006 55007 55008 55011 55013 55014 55015 55017 55074 55075 55081 55208 55274 55283 55465 55856 55860 55871 55880 55881 55915 55921 56081 56209 56224 57085 57144 57193 57197 57387 57507 57572 57993 58170 58445 58815 58837 58868 58964 59041 59362 59374 59424 59433 59508 59561 59562 59564 59566 59567 60112 60400 60405 60591 60680 60739 60839 60856 60859 60879 61264 61335 61935 62073 62076 62114 62561 62587 62986 63217 63512 63850 64108 64116 64165 64250 64267 64376 65295 65485 65514 65718 65841 66005 66012 66082 66506 66511 66531 66546 66588 66707 66822 66998 67010 67012 67693 68391 68474 68506 68536 68555 68758 68828 68901 68918 69386 69403 69448 69584 69684 69733 70056 70233 70238 70557 71128 71289 71979 72176 72513 72520 72849 72863 72952 72972 72980 73012 73215 73371 73372 73380 73491 73574 73575 73616 73688 73712 73987 74024 74135 74143 74144 74153 74156 74491 74494 74506 74558 75280 75299 75300 75321 75342 75416 75504 75512 75544 75620 75629 75637 75719 75748 75786 75858 75859 75870 76079 76131 76394 76433 76673 76681 76686 76821 77063 77235 77236 78047 78285 78490 78763 80320 81959 82037 85259 85795 85855 85884 85905 85937 85939 86513 86725 90409 92502 93841 97728 100301 100690 101744 101883 102284 103148 103149 104311 104449 104693 104732 105301 106603 106732 106734 106750 107203 108936 108938 108941 108946 108947 108950 109003 109035 109054 109114 109739 110038 110462 110802 111018 111374 111402 111914 112748 113171 115636 117117 117253 117793 117794 118631 118632 122398 122813 123418 124008 124134 124206 124231 124500 124551 124734 124967 125179 125457 125577 126571 127260 127399 128443 128444 128496 128562 128678 128686 129210 130887 132129 134502 135607 135717 135719 135981 135982 137725 137902 137997 139817 140149 140575 140755 141017 141689 142106 142817 144299 145106 145918 146210 147814 148185 149070 149232 149233 162312 162724 163029 163557 165380 166136 166138 169614 170089 171230 171273 174195 205881 205992 205994 205996 205997 206788 208578 209475 213540 213609 220589 220892 243392 243641 245477 245519 245581 246584 250480 250482 254093 255738 258560 262960 262964 262967 279516 280049 281209 282052 282105 282125 282155 282215 282219 282242 282252 282265 282269 282355 282361 282390 282391 282531 282713 284657 284728 284915 285868 286095 286424 286425 286511 287722 296895 300156 301322 304311 304315 304317 304319 304320 304323 304324 304325 304326 304674 308277 308335 308454 308626 308875 309567 310362 338196 350711 350794 354772 355824 355853 355946 356164 358859 358860 358877 360319 360320 360332 360334 360339 360342 360343 360351 360357 360358 360365 360366 360367 360372 360373 361823 369246 377011 377076 377919 378363 384266 385222 391524 449845 520529 521886 521887 521891 521892 521894 521898 521899 521900 521901 521918 524652 524961 525570 526512 526513 531848 533545 539935 540564 540565 543454 546866 546879 546880 591076 591081 591132 591239 591240 591244 591255 591279 591336 591432 591535 591548 591579 591674 591774 591806 591868 591893 592080 592177 592236 592279 593878 597873 597874 600214 601770 603717 603874 603875 604827 605969 607056 608596 610118 610191 611188 612235 614192 614424 614427 618268 618270 619485 620061 621912 622057 622681 622696 622697 624284 631287 635040 635507 637014 637644 640030 643514 646585 652447 654410 657139 657141 659213 660847 663674 663731 674734 676923 677053 677059 678143 678177 699052 699088 699093 699125 699281 699338 699339 699340 699343 699348 699351 699476 699477 699515 699517 699672 699673 699871 699925 699935 699948 699957 700302 700443 700445 700446 700451 700462 700463 700470 700471 700494 700517 700524 700526 700527 700553 700673 700674 700764 700802 700852 700855 700856 700859 700860 700924 700925 700926 700927 700929 700930 700944 700945 700946 700949 700958 700959 701023 701029 701032 701050 701052 701101 701130 701133 701198 701210 701280 701281 701285 701380 701381 701392 701394 701399 701435 701436 701448 701449 701497 701853 701855 701889 701890 701891 701901 701904 701906 701907 701912 701921 701958 702002 702049 702050 702051 702065 702084 702222 717464 717726 717864 717870 718316 718498 718797 718937 719197 719220 719270 719343 720025 720650 721422 721915 722038 722531 722696 722704 723085 723285 723529 723764 723765 723768 723903 723916 724204 724410 724450 724548 728743 728748 728974 728975 729015 729049 729052 729068 729071 729072 729073 729074 729075 729076 729080 729082 729095 730715 730891 731009 731393 731419 731509 733366 733367 733422 733424 733425 733426 733427 733659 733660 733664 733711 733785 733786 733789 733790 733791 733820 733821 733823 733825 733862 733863 733882 733883 740015 740018 740021 740024 740029 740070 740072 740484 750742 750743 750744 752064 752361 752814 753252 753645 755011 759885 762202 762473 770651 770655 770899 771284 771341 771411 771887 771947 772381 795582 796552 796678 812398 812405 813197 813202 813828 876180 876207 877815 877835 878047 878049 878050 878053 878054 878055 878056 878060 878118 878131 878132 878139 878140 878153 878154 878193 878209 878212 878223 878328 878399 878412 878451 878490 878531 879264 886812 887052 887175 887422 887478 887525 887551 887647 889092 889093 893059 906952 906953 907410 907467 908426 908432 908744 908919 909021 910004 910327 910430 911244 911245 911251 911853 911956 912585 912641 912643 912648 912650 912830 913169 913756 914096 914615 915815 916869 917598 917861 917879 917880 917882 917887 917960 918280 918282 918283 919315 919352 936065 947670 947683 947684 949429 949457 949528 950160 950163 950181 950280 950283 950305 950476 950479 950684 950730 950944 950945 950949 950950 951139 953007 953008 953159 953237 953238 953643 955901 960377 960378 960379 960951 961167 961179 961180 961656 962029 962138 962460 962464 962650 963254 963258 963679 963948 964226 964338 965143 965382 965458 965645 965809 965849 965995 966686 966797 967624 967826 968345 968660 968784 968785 968788 969095 969349 969483 969819 969840 970071 970109 970999 971212 971574 971595 971617 971618 971942 972266 1097074 1097123 1097124 1098126 1098128 1098331 1098438 1099999 1100664 1120106 1120386 1120770 1120881 1121525 1121616 1121706 1121845 1121846 1122338 1122633 1122634 1122637 1130445 1130513 1135719 1135725 1136248 1136781 1137249 1137261 1138489 1143799 1143812 1144529 1145701 1146618 1170070 1171126 1171479 1171976 1173673 1173975 1174233 1174259 1174603 1175343 1258056 1258065 1258945 1260298 1276923 1302135 1310774 1310775 1310776 1313457 1317928 1320102 1320334 1321956 1337098 1412025 1412573 1413904 1417638 1418244 1418885 1419102 1422569 1422826 1424624 1425440 1433254 1433361 1434908 1436895 1443705 1445775 1445787 1449749 1449753 1450661 1451406 1451798 1451799 1452484 1453831 1506152 1506786 1507024 1507164 1507165 1507166 1507167 1510919 1511217 1511218 1511734 1512060 1512097 1514631 1515083 1515871 1516148 1517027 1517667 1522479 1527027 1527142 1528870 1528937 1529601 1529767 1529803 1529965 1561590 1562785 1563655 1563657 1563974 1563980 1563996 1564187 1564344 1564557 1565220 1565388 1565404 1565772 1566394 1567123 1567133 1567134 1567490 1568233 1568300 1568573 1568574 1568612 1571718 1579335 1579336 1586728 1586734 1601917 1608618 1610936 1612792 1614132 1614523 1614700 1615061 1615658 1619965 1846989)\n(12 3732 18539 18540 25621 39820 85445 85456 85457 85458 85459 85521 85522 85523 85524 85526 85527 85528 85529 85530 86382 524777 524778 524779 524780 524820 524821 524822 524826 524827 524829 524830 524831 524833 524834 524835 524836 524839 524840 524841 524842 524843 524845 524846 524847 524848 524849 524853 524854 524855 524856 524857 524915 524916 524917 524918 524919 597901 597902 597903 598547 598862 599690 599691 600435 872166 872384 995869 995870 995871 995872 995873 995875 995877 995878 995879 995882 995883 995884 995885 995886 995887 995888 995889 995890 995892 995893 995894 995895 995896 995897 995899 995900 995901 995903 995904 995905 995906 995907 995908 995909 995910 995911 995912 995913 995914 995915 995916 995917 995918 995919 995920 995921 995922 995923 995924 995925 995926 995927 995938 995939 995940 995942 995944 995945 995946 995947 1000472 1000891 1000892 1002016 1002576 1002577 1002578 1002580 1002582 1002583 1002674 1005703 1005789 1005790 1005791 1005792 1005793 1005794 1005795 1006406 1007223 1008013 1008203 1008353 1009651 1009653 1009869 1010519 1010942 1011005 1011441 1011659 1011821 1012319 1012691 1012692 1012751 1012850 1013208 1014967 1014968 1015266 1015835 1016081 1017376 1017745 1017746 1017813 1017814 1017915 1017917 1017918 1017919 1017921 1017923 1017924 1017926 1017927 1018992 1019598 1019599 1019637 1019970 1022439 1022440 1023084 1023383 1023384 1023847 1024358 1024361 1024833 1026196 1026197 1026614 1027183 1027200 1027204 1027205 1027592 1028207 1028475 1028476 1029072 1029073 1029453 1029594 1030652 1030923 1030924 1032211 1033927 1034759 1035200 1035807 1036067 1036101 1036294 1036323 1036407 1036409 1036410 1036411 1036527 1040208 1040391 1040392 1040661 1041117 1043002 1044580 1045373 1046689 1049214 1049215 1049481 1051823 1051824 1052883 1054275 1054279 1054385 1056431 1058744 1058745 1062629 1062801 1064697 1065059 1069414 1069941 1069942 1069943 1069944 1070697 1070731 1074493 1078503 1080744 1080745 1081564 1082586 1082699 1083664 1093188 1188193 1188357 1188586 1192305 1194220 1195389 1198243 1198848 1204869 1206440 1208424 1208436 1208462 1208463 1211448 1211449 1213796 1215394 1215815 1217481 1217500 1217783 1222277 1224500 1227238 1234791 1235489 1257748 1458332 1458347 1459104 1463981 1464876 1475435 1480578 1481878 1486326 1486818 1498319)\n(13 84 137 257 376 392 407 412 427 464 481 545 578 588 656 657 702 829 843 996 1003 1026 1055 1056 1097 1157 1158 1237 1239 1245 1271 1291 1347 1369 1374 1407 1412 1413 1443 1455 1459 1460 1461 1465 1468 1480 1652 1657 1694 1734 1814 1898 1924 2052 2083 2129 2139 2151 2189 2190 2191 2193 2198 2205 2210 2211 2215 2240 2241 2248 2255 2256 2257 2258 2261 2269 2270 2274 2278 2287 2309 2310 2311 2318 2340 2358 2520 2521 2525 2527 2531 2553 2563 2607 2612 2670 2677 2716 2721 2722 2727 2728 2791 2843 2854 2976 3009 3012 3017 3018 3134 3136 3284 3320 3410 3438 3440 3521 3574 3590 3591 3592 3593 3594 3595 3601 3641 3679 3682 3731 3765 3899 3987 3995 4011 4015 4029 4130 4221 4338 4409 4434 4525 4625 4627 4630 4638 4641 4891 4920 4954 5151 5153 5157 5179 5186 5187 5198 5203 5204 5221 5239 5248 5249 5250 5254 5280 5281 5286 5290 5294 5390 5402 5404 5433 5437 5444 5445 5446 5515 5522 5554 5562 5789 5832 6052 6054 6062 6070 6136 6232 6353 6360 6558 6618 6631 6639 6643 6675 6678 6685 6730 6746 6772 6774 6785 6786 6787 6788 6825 6960 7012 7061 7267 7269 7271 7289 7292 7332 7364 7420 7578 7630 7640 7648 7745 7746 7810 7831 7839 7910 7937 8013 8024 8134 8141 8240 8260 8262 8368 8377 8387 8404 8405 8454 8466 8468 8518 8574 8600 8601 8731 8738 8746 8776 8831 8861 8864 8905 8988 9140 9147 9148 9165 9221 9223 9226 9235 9239 9283 9284 9285 9286 9287 9289 9290 9291 9293 9294 9295 9297 9298 9299 9300 9325 9331 9332 9333 9334 9335 9336 9337 9338 9339 9392 9629 9630 9915 9939 9968 9987 9988 9991 10004 10012 10167 10198 10204 10286 10294 10369 10374 10375 10422 10522 10558 10564 10608 10640 10652 10654 10658 10659 10665 10682 10715 10720 10724 10725 10731 10734 10737 10738 10739 10754 10755 10798 10803 10804 10805 10806 10807 10808 10809 10815 10843 10852 10868 10906 11090 11145 11221 11243 11244 11479 11485 11527 11530 11533 11535 11602 11651 11696 11702 11704 11748 11806 11889 12258 12264 12282 12288 12324 12344 12497 12550 12854 12868 12925 12929 12931 12933 12934 12935 12940 12968 12990 12991 13067 13229 13283 13355 13462 13700 13705 13708 13728 13729 13733 13734 13735 13757 13877 13900 13982 14290 14436 14587 14642 14707 14712 14713 14723 14757 14839 15128 15156 15295 15435 15491 15498 15501 15502 15506 15512 15513 15514 15518 15522 15525 15528 15533 15540 15684 15686 15687 15689 15691 15856 15858 15861 15870 15876 15877 15879 15891 15936 15950 15961 15982 16006 16013 16023 16026 16042 16055 16072 16136 16157 16161 16194 16217 16223 16330 16388 16581 16601 16693 16726 16763 16786 16849 16890 16895 16896 16897 16943 16960 17019 17027 17030 17032 17033 17056 17082 17135 17215 17278 17279 17281 17282 17283 17538 17622 17626 17645 17647 17649 17714 17725 17739 17742 17761 17767 17770 17774 17797 17817 17842 17853 17855 17861 17871 17881 17889 17890 17905 17909 17911 17950 17954 17955 17957 17958 17973 17984 18282 18284 18302 18321 18330 18338 18340 18341 18342 18348 18352 18353 18366 18407 18473 18594 18595 18667 18668 18847 18850 18855 18887 18909 18927 18959 18961 18966 18974 18976 18988 18999 19003 19016 19018 19020 19024 19026 19028 19030 19035 19042 19043 19046 19047 19052 19053 19067 19113 19134 19137 19143 19353 19392 19477 19487 19534 19536 19551 19573 19602 19607 19644 19646 19647 19648 19649 19652 19691 19692 19701 19796 19797 19799 19800 19822 19849 19878 19881 19892 19903 20196 20299 20332 20349 20354 20361 20366 20388 20660 20684 20737 20738 20817 21021 21210 21528 21531 21532 21533 21540 21544 21549 21665 21666 21769 21918 21920 21936 21968 21996 22009 22030 22095 22142 22165 22182 22192 22200 22218 22222 22247 22382 22458 22474 22511 22512 22513 22563 22564 22627 22628 22631 22713 22714 22785 22814 22818 22851 22896 22912 22942 22945 22949 22971 22984 23024 23025 23101 23137 23139 23169 23170 23206 23235 23324 23401 23503 23504 23519 23542 23544 23545 23546 23547 23548 23705 23749 23752 23754 23785 23789 23819 23820 23821 23822 23823 23824 23825 23826 23830 23831 23875 23902 23922 24076 24099 24157 24158 24337 24340 24467 24468 24471 24481 24512 24645 24658 24706 24742 25008 25196 25234 25248 25252 25494 25541 25544 25545 25547 25549 25550 25635 25646 25684 25691 25787 25852 25879 25978 26042 26045 26050 26070 26138 26153 26163 26191 26402 26404 26661 26682 26714 26792 26793 26832 26900 26930 26931 26955 26972 27015 27047 27078 27097 27100 27108 27138 27215 27228 27229 27270 27289 27303 27481 27554 27597 27642 27752 27753 27754 27758 27759 27801 28013 28032 28128 28570 28589 28593 28603 28606 28608 28612 28616 28619 28623 28816 28832 28925 28928 29005 29015 29024 29071 29277 29297 29300 29419 29446 29923 29960 30069 30128 30156 30190 30191 30234 30239 30289 30316 30336 30616 30744 30913 30915 30918 30934 30943 30947 30958 31131 31312 31453 31499 31512 31516 31562 31614 31617 31618 31619 31621 31631 31634 31642 31676 31689 31696 31721 31733 31788 31789 31798 31855 31857 31860 31861 31866 32023 32048 32081 32085 32120 32136 32140 32145 32168 32169 32182 32183 32200 32333 32583 32596 32615 32704 32711 32712 32821 32823 32824 32836 32843 32923 32974 33002 33008 33024 33187 33235 33239 33240 33241 33259 33311 33362 33382 33413 33488 33513 33532 33554 33555 33559 33561 33567 33603 33607 33621 33665 33684 33688 33692 33693 33706 33712 33715 33716 33733 33742 33801 33810 33821 33834 33846 33848 33954 33979 33992 34085 34211 34271 34304 34330 34335 34414 34425 34471 34481 34632 34684 34720 34728 34987 35018 35142 35147 35285 35323 35339 35342 35417 35478 35499 35526 35544 35549 35552 35668 35670 35682 35693 35695 35696 35699 35700 35701 35702 35703 35704 35705 35706 35707 35709 35711 35712 35713 35714 35715 35716 35717 35718 35719 35720 35721 35722 35723 35724 35725 35726 35728 35730 35731 35732 35733 35734 35735 35901 35902 35938 35983 36001 36002 36100 36228 36248 36425 36447 36450 36482 36581 36608 36643 36720 36728 36733 36758 36763 36764 36774 36800 36825 36863 36883 36965 37027 37028 37067 37107 37125 37167 37183 37248 37343 37377 37380 37389 37473 37483 37492 37493 37494 37535 37548 37550 37554 37564 37566 37601 37686 37692 37799 37906 37907 37912 38031 38071 38091 38179 38274 38329 38419 38467 38470 38471 38636 38727 38861 38889 39190 39219 39290 39341 39346 39350 39356 39358 39360 39362 39444 39554 39561 39674 39705 39718 39763 39771 39830 39938 39939 40005 40018 40052 40061 40077 40079 40087 40112 40123 40134 40153 40174 40238 40291 40321 40545 40548 40549 40577 40602 40626 40627 40640 40643 40648 40665 40679 40680 40688 40690 40691 40815 40915 40951 40952 41004 41008 41073 41133 41193 41194 41195 41197 41199 41241 41242 41243 41244 41249 41348 41359 41365 41366 41378 41385 41435 41455 41457 41485 41525 41526 41528 41531 41532 41536 41538 41660 41917 41942 41980 41984 41986 41987 41988 41991 41992 41993 41994 41996 42002 42010 42051 42052 42081 42087 42092 42105 42145 42147 42172 42285 42306 42315 42317 42330 42439 42479 42519 42525 42526 42666 42670 42671 42700 42706 42711 42716 42717 42731 42736 42737 42738 42872 42892 42896 42897 42971 43040 43076 43314 43315 43318 43328 43329 43335 43375 43377 43392 43442 43456 43458 43470 43472 43481 43490 43552 43791 43826 43850 44062 44248 44277 44447 44470 44574 44576 44579 44628 44634 44676 44741 44744 44797 44799 44800 44802 44811 44838 44864 44880 44881 44886 44887 44902 45058 45059 45171 45179 45356 45371 45399 45765 45814 45815 45853 45888 45890 46036 46064 46066 46144 46188 46242 46297 46413 46481 46532 46566 46589 46592 46619 46978 47053 47075 47210 47236 47244 47274 47309 47375 47420 47481 47482 47525 47572 47579 47600 47681 47689 47694 47701 47875 47974 47984 48032 48323 48336 48361 48420 48654 48686 48753 48754 48869 48893 48898 48899 48944 48963 49209 49248 49275 49308 49356 49391 49401 49668 49689 49960 49981 50072 50077 50096 50364 50376 50423 50446 50486 50496 50549 50580 50633 50635 50638 50707 50743 50747 50766 50767 50769 50807 50834 50839 50864 50877 50892 50921 50922 50929 50930 50931 50932 50935 50936 50937 50968 50973 50974 50989 51064 51199 51222 51266 51307 51308 51310 51312 51336 51343 51356 51369 51380 51385 51390 51397 51403 51405 51448 51465 51471 51476 51477 51527 51560 51609 51700 51701 51755 51773 51806 51814 51913 51926 51928 51962 52030 52052 52059 52088 52093 52150 52154 52157 52161 52163 52166 52167 52169 52170 52171 52172 52174 52175 52176 52177 52181 52189 52190 52191 52193 52198 52208 52215 52218 52219 52220 52221 52225 52226 52228 52279 52281 52297 52321 52338 52350 52433 52485 52492 52532 52537 52606 52642 52643 52649 52652 52801 52911 52916 52941 52943 53011 53039 53073 53259 53260 53358 53360 53375 53376 53405 53425 53451 53454 53456 53493 53500 53508 53520 53571 53574 53579 53588 53592 53625 53652 53738 53838 53854 53916 53923 53930 53932 53935 53956 53960 53968 53969 54021 54025 54046 54208 54209 54218 54313 54320 54402 54420 54444 54502 54532 54533 54534 54541 54543 54586 54591 54596 54609 54617 54621 54627 54752 54832 54833 54877 54878 54988 55023 55030 55061 55080 55103 55121 55148 55256 55266 55304 55306 55363 55382 55387 55432 55435 55513 55521 55538 55546 55551 55553 55568 55589 55603 55631 55635 55637 55674 55725 55791 55811 55817 55819 55827 55857 55907 55908 55952 55953 55954 56014 56033 56047 56049 56076 56080 56083 56086 56088 56117 56122 56164 56174 56185 56192 56227 56245 56250 56257 56262 56303 56309 56317 56328 56374 56427 56462 56464 56488 56489 56499 56500 56514 56515 56530 56537 56542 56554 56663 56693 56695 56698 56705 56777 56834 56843 56889 56912 56915 56917 56919 56922 56923 56924 56927 56928 56929 56930 56942 56943 56947 56948 56949 56955 56956 56957 56958 56964 56978 56987 57146 57197 57221 57224 57244 57263 57272 57277 57283 57347 57350 57437 57455 57508 57521 57550 57555 57629 57658 57808 57823 57895 57967 58034 58075 58079 58115 58124 58167 58226 58289 58351 58418 58454 58455 58610 58619 58624 58663 58755 58757 58861 58901 58927 58976 58984 58986 58988 58989 58990 58991 59016 59017 59024 59027 59090 59116 59249 59289 59296 59377 59391 59455 59480 59494 59535 59540 59545 59548 59572 59584 59763 59968 59973 59984 60048 60060 60079 60081 60095 60102 60220 60321 60323 60327 60335 60367 60375 60379 60380 60383 60385 60387 60447 60546 60611 60623 60656 60663 60772 60775 60799 60801 60889 60911 60912 60913 60919 60955 60971 60974 60987 60993 61041 61062 61072 61078 61099 61105 61127 61140 61187 61202 61235 61308 61365 61393 61409 61414 61418 61440 61444 61455 61467 61472 61484 61509 61516 61530 61542 61609 61620 61621 61633 61659 61688 61701 61772 61819 61847 61885 61906 61928 62006 62027 62070 62113 62152 62157 62160 62215 62218 62244 62251 62266 62267 62273 62276 62278 62281 62313 62324 62328 62364 62368 62373 62378 62394 62396 62408 62418 62427 62429 62431 62443 62460 62470 62475 62480 62496 62503 62508 62534 62548 62568 62578 62580 62592 62609 62675 62701 62709 62710 62713 62725 62730 62751 62758 62780 62785 62790 62799 62890 62918 62931 62933 62937 62974 62977 62994 63029 63194 63222 63265 63357 63414 63430 63533 63535 63541 63579 63689 63691 63700 63701 63740 63795 63873 63904 63942 64009 64094 64164 64167 64226 64242 64251 64294 64332 64350 64351 64353 64360 64361 64362 64419 64423 64435 64440 64572 64582 64584 64612 64629 64633 64635 64667 64742 64743 64752 64755 64803 64834 64841 64855 64857 64881 64975 64985 64988 64995 64996 64999 65011 65022 65029 65031 65041 65042 65047 65050 65052 65054 65055 65063 65071 65072 65098 65103 65110 65191 65252 65266 65323 65331 65335 65349 65391 65400 65491 65522 65530 65542 65548 65583 65591 65608 65611 65661 65678 65688 65693 65732 65738 65739 65740 65750 65752 65827 65853 65904 65907 65917 66030 66059 66094 66123 66153 66227 66229 66325 66397 66447 66514 66666 66689 66697 66714 66751 66759 66831 66878 66918 66940 66995 67031 67043 67053 67057 67072 67075 67228 67504 67684 67686 67724 67757 67762 67895 67917 67934 67968 67995 68150 68162 68163 68263 68275 68432 68527 68538 68545 68553 68563 68575 68589 68590 68627 68641 68645 68653 68665 68666 68750 68838 68871 68873 68895 68925 68927 69016 69023 69032 69034 69042 69049 69054 69055 69065 69116 69117 69139 69141 69151 69157 69319 69330 69343 69407 69416 69460 69477 69485 69500 69501 69529 69534 69580 69600 69639 69655 69675 69676 69786 69815 69883 69888 69902 69906 69971 70040 70068 70107 70134 70135 70197 70198 70245 70329 70340 70345 70348 70351 70380 70389 70410 70435 70444 70508 70511 70530 70558 70625 70628 70639 70640 70774 70775 70776 70784 70798 70802 70803 70871 70879 70882 70892 70921 70939 70948 70962 70980 70986 70998 71005 71016 71021 71054 71061 71156 71163 71165 71184 71189 71196 71214 71228 71244 71246 71277 71280 71313 71346 71504 71648 71655 71746 71787 71789 71801 71820 71854 71863 71880 71889 71899 71923 71927 71936 71940 71942 71945 71977 71998 72027 72031 72050 72054 72062 72090 72104 72108 72122 72172 72194 72249 72254 72258 72262 72278 72287 72298 72304 72311 72313 72314 72347 72348 72360 72384 72388 72393 72395 72416 72424 72436 72441 72442 72455 72461 72467 72473 72480 72499 72502 72506 72523 72529 72552 72569 72578 72598 72599 72600 72607 72608 72638 72645 72646 72682 72716 72799 72876 72939 72961 73035 73074 73118 73133 73228 73257 73275 73283 73285 73287 73290 73293 73300 73302 73306 73307 73310 73311 73312 73313 73314 73316 73320 73321 73324 73328 73333 73336 73338 73341 73343 73350 73366 73398 73423 73434 73465 73543 73545 73709 73894 73896 73898 73910 74006 74011 74017 74035 74086 74186 74237 74244 74255 74264 74289 74292 74302 74313 74318 74319 74327 74359 74364 74383 74385 74392 74398 74436 74477 74478 74479 74505 74512 74529 74565 74572 74669 74673 74695 74708 74712 74785 74787 74809 74825 74898 74904 74926 74955 74965 74986 74995 75000 75040 75148 75150 75167 75168 75173 75182 75189 75198 75202 75228 75269 75278 75301 75302 75307 75337 75338 75349 75365 75369 75420 75444 75454 75460 75476 75480 75502 75528 75554 75574 75578 75588 75663 75672 75689 75691 75724 75760 75780 75781 75873 76072 76088 76168 76175 76238 76298 76305 76317 76335 76360 76364 76380 76413 76545 76557 76560 76562 76582 76585 76598 76607 76616 76623 76625 76634 76747 76827 76850 76852 76855 76857 76861 76862 76863 76918 76919 76920 76921 76922 76923 76925 76929 76939 76957 77006 77052 77084 77154 77355 77400 77401 77404 77424 77443 77451 77464 77483 77529 77601 77662 77664 77667 77668 77670 77671 77701 77828 77829 77830 77843 77887 77910 77923 77927 77928 77931 78058 78172 78179 78193 78197 78207 78227 78229 78238 78295 78296 78307 78351 78370 78387 78409 78479 78500 78501 78507 78517 78607 78609 78610 78618 78657 78671 78696 78741 78749 78751 78791 78794 78803 78843 78933 78973 78974 78975 79019 79119 79183 79185 79249 79259 79280 79281 79282 79283 79284 79323 79349 79400 79401 79407 79408 79414 79419 79441 79490 79492 79516 79576 79702 79885 79925 80018 80019 80021 80055 80065 80113 80116 80124 80206 80222 80223 80225 80245 80298 80327 80329 80484 80968 80982 81106 81381 81476 81487 81491 81527 81570 81593 81594 81595 81598 81653 81674 81675 81701 81756 81757 81773 81839 81880 81951 82013 82103 82136 82164 82180 82187 82213 82245 82256 82428 82453 82459 82469 82512 82530 82580 82586 82613 82651 82661 82708 82715 82774 82799 82841 82849 82859 82918 82932 82978 82988 83013 83029 83201 83207 83260 83273 83309 83331 83344 83353 83359 83453 83471 83507 83536 83608 83725 83727 83735 83740 83806 83838 83859 83867 83868 83924 83946 83951 83956 83982 83996 84024 84057 84084 84133 84142 84220 84242 84267 84307 84325 84341 84362 84474 84484 84517 84533 84555 84557 84580 84692 84697 84726 84785 84795 84808 84821 84827 84828 84829 84830 84832 84881 84929 84932 84985 85030 85113 85114 85151 85175 85177 85182 85193 85201 85202 85210 85252 85255 85296 85301 85302 85401 85418 85717 85741 85755 85776 85799 85812 85828 85836 85845 85977 85994 86003 86008 86009 86010 86024 86028 86029 86030 86061 86062 86075 86076 86078 86091 86092 86093 86123 86126 86140 86180 86193 86195 86206 86244 86315 86332 86350 86356 86357 86411 86412 86428 86496 86500 86509 86522 86564 86619 86661 86700 86763 86808 86860 86906 86918 86978 86999 87000 87045 87061 87062 87063 87064 87065 87083 87089 87090 87091 87140 89718 89725 90267 90388 93365 93797 95920 97176 97550 97598 99513 99985 100855 100926 101367 101379 101827 101859 102421 102457 102561 102586 102613 102734 102757 102784 103028 103055 103206 103403 103404 103406 103408 103409 103575 103629 103672 103762 103813 103839 103854 104203 104427 105208 105770 106006 106025 106111 106148 106160 106269 106321 106701 107103 107656 107719 108048 108050 108062 108101 108187 108280 108282 108325 108507 108547 108548 108557 108607 108613 108685 108758 108969 109061 109095 109271 109272 109273 109278 109329 109414 109497 109617 109657 110047 110610 110611 110613 110622 110772 111019 111043 111192 111429 111432 111693 111695 111696 111798 111883 111916 112102 112173 112209 112759 113054 113086 113097 113211 113214 113216 113218 113219 113220 113222 113272 113545 113546 114651 114838 114858 115175 115220 115268 115424 115543 115621 115654 115725 115920 115922 116224 116225 116226 116275 116349 116408 116555 116912 117287 117298 117376 117720 117738 117807 118036 118084 118111 118325 118522 118846 118878 118889 118890 118891 118975 119082 119198 119268 119484 119748 120099 120105 120237 120324 120341 120446 120447 120725 120736 121282 121455 121463 121471 121472 121482 121542 121867 121869 121922 122111 122136 122164 122248 122269 122592 123156 123167 123190 123256 123257 123258 123259 123371 123515 123538 123638 123658 123707 123789 123921 123987 124192 124291 124436 125078 125142 125173 125207 125258 125259 125260 125261 125331 125346 125424 125440 125575 125625 125631 125644 125900 125901 125903 126032 126033 126037 126086 126732 126734 126771 126781 126828 126945 127092 127164 127306 127603 127646 127778 127779 128062 128843 128849 129024 129026 129043 129320 129356 129470 129528 129533 130296 130692 130696 130743 130775 131465 131599 132309 132630 132777 132876 133195 133257 133464 133644 133830 133839 133860 133864 133867 133868 133869 133873 133929 133937 134088 134829 134835 134972 134985 134992 134999 135000 135118 135208 135570 135572 135575 135897 135945 136026 136044 136104 136157 136166 137209 137451 137714 137715 137798 137833 137872 137873 137941 137943 137956 138186 138514 138524 138593 138673 138726 138739 138745 139026 139040 139128 139140 139148 139903 139916 139935 139989 140173 140186 140199 140273 140274 140515 140529 140570 140853 140854 141313 141333 141482 141483 141682 141947 142250 142281 142323 142661 142823 142956 142957 142963 142964 143087 143146 143247 143289 143295 143326 143327 143437 143630 143679 143699 143882 144112 144255 144357 144555 145464 145477 145478 145535 145946 145947 145988 146014 146019 146187 146214 146259 146275 146462 146495 146511 146544 146550 146619 146792 146793 147029 147139 147226 147543 147545 147776 147935 147992 148327 148376 148459 148481 148591 148746 148753 148873 149114 149173 149313 149338 162448 162464 162508 162574 162594 162682 162710 162772 162794 162795 162796 162797 162798 162799 162832 163008 163109 163146 163275 163314 163528 163564 163693 163742 163743 163744 163745 163774 163775 163826 163864 164072 164399 164406 164414 164441 164452 164516 164680 164801 164851 164935 164948 165006 165019 165073 165101 165185 165230 165255 165548 165675 165893 165897 165970 166033 166168 166441 166465 166586 166759 166825 166886 166968 167050 167220 167350 167367 167636 167775 167957 168100 168197 168312 168405 168424 168458 168493 168523 168524 168534 168535 168553 168558 168592 168631 168722 168764 168913 169073 169100 169144 169182 169268 169269 169270 169272 169309 169360 169375 169379 169412 169424 169533 169582 169628 169663 169665 169852 169910 169975 170050 170131 170270 170518 170657 170680 170844 170857 170869 170953 170954 171244 171293 171294 171396 171477 171910 171951 171955 171961 171965 171998 172237 172379 172406 172531 172581 172642 172659 172717 172743 172890 172982 173372 173434 173611 173613 173695 173746 173807 173823 173875 173897 173924 173932 173933 173943 174234 174263 174367 174433 174602 174680 174701 174725 174735 174807 175097 178445 178485 178555 178635 178645 178678 178680 178681 178695 178705 178743 178753 178765 178774 178785 178799 178833 178845 178846 178878 178882 178887 205666 205742 205752 205753 205821 205911 206008 206355 206474 206866 206967 206994 207036 207071 207072 207427 207461 207636 207661 207668 207831 208000 208163 208260 208500 208529 208553 208722 208873 208911 208940 208989 209024 209089 209143 209203 209254 209278 209548 209661 209669 209746 209851 209852 209994 210149 210341 210492 210502 210587 210666 210994 211100 211167 211255 211726 211832 212013 212189 212197 212259 212320 212532 212578 212611 212670 212691 212766 212783 212908 213011 213144 213150 213235 213238 213240 213275 213321 213362 213553 213591 213709 214222 214230 214241 214283 214331 214356 214461 214541 214550 214570 214635 214702 214737 215060 215150 215223 215247 215343 215398 215407 215508 215739 215780 215810 215844 215848 215955 216063 216129 216194 216568 216703 216705 216760 216868 216931 217020 217373 217384 217529 217532 217540 217576 217772 217778 218032 218111 218153 218234 218349 218352 218448 218544 218694 218975 219060 219116 219233 219268 219472 219474 219488 219510 219726 219804 220181 220416 220780 220783 220804 220836 220839 220861 220871 220873 220875 220884 221331 230886 236556 237425 242194 242210 242234 242251 242405 242493 242519 242565 242610 242611 242612 242617 242643 242738 242827 242850 242957 242958 242961 243021 243041 243043 243044 243273 243518 243958 244053 244054 244083 244104 244111 244160 244244 244252 244435 244635 244756 244760 244895 245045 245199 245203 245297 245350 245353 245354 245355 245371 245421 245458 245467 245470 245587 245603 245726 245765 245851 246071 246113 246120 246144 246290 246296 246314 246321 246323 246343 246399 246454 246525 246597 246703 246743 246867 246932 247007 247679 247993 248007 248116 248117 248169 248294 248308 248336 248419 248537 248575 248585 248587 248644 248646 248805 249069 249076 249197 249380 249404 249747 249759 249860 249880 249925 249946 249951 249989 250015 250016 250029 250036 250050 250245 250289 250373 250399 250404 250437 250455 250494 250564 250566 250604 250630 250634 250939 251026 251054 251074 251098 251134 251217 251220 251400 251444 251482 251670 251688 251815 251818 251829 251842 251851 251860 251990 252023 252118 252179 252194 252236 252265 252274 252313 252334 252524 252527 252528 252572 252797 252798 252807 252828 252830 252887 253023 253050 253187 253373 253375 253377 253426 253535 253598 253625 253842 253843 253923 253924 253930 253949 253965 254123 254231 254232 254253 254270 254341 254343 254562 254613 254655 254705 254720 254792 254803 254885 255034 255119 255150 255156 255194 255263 255320 255492 255494 255499 255547 255567 256046 256073 256083 256124 256141 256204 256252 256268 256485 256598 256600 256601 256602 256809 256810 256829 256926 257018 257097 257103 257136 257158 257253 257572 257766 257808 258050 258432 258439 258441 258503 258846 259037 259073 259075 259139 259275 259540 259597 259891 259968 260034 260056 266431 282164 282266 282267 282327 282364 282397 282400 282520 282521 282522 282523 282524 282537 282575 282651 282704 282760 282842 282939 283115 283240 283243 283786 283803 283919 283920 283960 283987 284107 284580 284758 284774 284778 284965 285409 285412 285487 285599 285606 285770 285890 285899 286097 286253 286398 286502 286515 286539 286576 286878 286879 286983 287081 287197 287221 287317 287367 287444 287475 287682 287683 287750 287768 287808 287829 287920 288011 288106 288121 288148 288250 288263 288330 288331 288406 288422 288450 288472 288613 288784 288811 288875 288880 288881 288912 288966 288972 289012 289116 289182 289235 289325 289469 289507 289587 289635 289793 289828 289848 289882 290022 290065 290137 290232 290312 290314 290406 290739 290741 290754 290756 290887 290923 290965 291112 291135 291147 291165 291181 291355 291455 291483 291545 291598 291737 291752 291784 291786 291811 291853 291890 292020 292023 292030 292133 292147 292161 292186 292198 292221 292369 292602 292653 292777 292779 292939 292988 292991 293060 293227 293237 293354 293382 293442 293621 293686 293734 293775 293866 294028 294121 294292 294861 294869 294901 294917 295022 295080 295166 295274 295291 295347 295494 295639 295885 295921 295989 296194 296208 296250 296263 296274 296346 296499 296517 296845 296888 296936 297065 297260 297263 297287 297397 297418 297434 297505 297513 297616 297649 297661 297674 297838 297893 298077 298180 298292 298888 299058 299095 299126 299209 299212 299250 299335 299348 299456 299508 299544 299802 300052 300061 300073 300134 300140 300172 300173 300217 300265 300290 300567 300689 300807 300821 300892 301028 301258 301272 301278 301487 301489 301491 301492 301662 301664 301665 301668 301670 301671 301672 301675 301677 301679 301684 301685 301686 301687 301689 301697 301698 301699 301700 301709 301710 301715 301719 301724 301725 301749 301786 302070 302071 302072 302073 302074 302075 302077 302078 302079 302080 302081 302243 302583 302959 303218 303961 303962 303964 303965 303990 304052 304055 304057 304153 304166 304171 304175 304176 304178 304180 304190 304207 304210 304625 304924 304925 304926 304928 304929 304930 311444 311446 311448 311451 311461 311462 311463 311465 311474 312821 313267 313277 313331 313373 313374 313412 313481 313529 313530 313543 314580 314597 314764 314765 314766 314768 347532 348035 348041 368700 368790 368838 368845 368904 368905 368909 369072 369083 369104 369160 369169 369212 369240 369273 369290 369332 369335 369343 369363 369519 369562 369707 369708 369726 369735 369782 369827 369841 369853 369872 369893 369919 370015 370101 370122 373561 376167 376176 376178 376202 376203 376333 376515 376566 376567 376568 376570 376571 376601 376622 376731 376805 376914 376920 376954 377273 377274 377278 377299 377301 377349 377397 377511 377512 377548 377707 377914 377954 377993 378089 378114 378149 378175 378181 378212 378310 378356 378478 378502 378503 378533 378665 378700 378730 378781 378842 378967 378989 379061 379074 379152 379214 379303 379310 379339 379357 379378 379392 379514 379571 379703 379710 379752 379761 379825 379832 379878 380093 380162 380168 380201 380202 380296 380297 380301 380443 380509 380603 380632 380747 380755 380757 380774 380918 380924 380969 380984 381218 381323 381368 381573 381600 381626 381666 381695 381728 381943 381945 382056 382064 382083 382249 382264 382270 382310 382506 382600 382612 382631 382899 383077 383122 383269 383365 383720 383983 384027 384150 384189 384197 384400 384417 384687 384710 384721 384768 384851 385139 385242 385333 385590 385592 385785 385934 385936 385939 386040 386309 386322 386581 386595 387011 387197 387198 387281 387401 387477 387678 387800 387971 388001 388011 388140 388176 388389 388426 388533 388558 388561 388675 388886 388892 388911 389006 389071 389073 389176 389191 389317 389503 389551 389670 389679 389744 389774 389815 389931 390024 390083 390113 390344 390345 390499 390591 390641 390681 390690 390803 390930 391139 391280 391318 391431 391469 391551 391627 392693 393016 440001 440447 440451 440452 440461 440462 440464 443074 443086 443136 443402 443442 443444 443495 443504 443505 443512 443514 443526 443545 443547 443549 443556 443568 443569 443570 443574 443577 443581 443599 443600 443609 443611 443625 443746 443747 443754 443765 443767 443781 443789 443792 450230 459796 475338 475345 475355 475356 483280 483281 483283 486373 486500 486767 486903 486919 486926 486927 486948 486959 487230 487260 487313 487460 487469 487667 487761 487773 487940 520444 520445 520462 520468 520469 522084 522086 522094 522095 522102 522259 522260 522261 524497 524533 524549 524596 524626 524627 524629 524764 524816 524956 525013 525037 525097 525159 525216 525217 525234 525255 525289 525363 525390 525410 525411 525416 525563 525705 525866 525915 525922 525933 526110 526187 526211 526260 526491 526594 526607 526618 526700 526870 526909 526985 527045 527078 527108 527165 527166 527260 527321 527387 527442 527443 527555 527556 527585 527806 527863 527878 527993 528008 528068 528206 528328 528370 528412 528415 528480 528649 528860 529085 529094 529097 529119 529134 529137 529145 529164 529338 529535 529708 529765 529768 529809 529898 530023 530079 530085 530129 530134 530340 530688 530702 530935 530961 530962 530979 531002 531041 531254 531288 531296 531588 531832 531926 532025 532205 532392 532482 532528 532547 532621 532623 532964 533167 533285 533290 533292 533323 533325 533363 533630 533642 533668 533670 533925 533999 534064 534100 534164 534165 534187 534295 534522 534578 534602 534623 534643 534660 534759 534858 534966 535197 535219 535222 535253 535350 535719 535752 535936 536054 536173 536204 536252 536267 536566 536615 536622 536858 536940 536943 536957 536961 536980 537030 537111 537224 537268 537306 537392 537423 537445 537464 537467 537474 537521 537635 537638 537979 538205 538238 538244 538286 538379 538487 538490 538571 538633 538702 538721 538796 538937 539003 539029 539144 539202 539211 539237 539331 539345 539380 539434 539473 539683 539934 540129 540301 540309 540632 540650 540651 540654 540748 540760 540942 541030 541232 541288 541322 543448 544325 544474 544611 546444 552516 552580 563631 563640 565667 566267 574031 577749 578543 578544 580763 580765 580766 580767 580768 580770 580771 580772 580773 580775 580776 580777 580778 580779 581800 582263 582509 589327 596035 596087 596095 596123 596152 596202 596284 596302 596588 596637 596686 596714 596741 596811 596827 596876 596902 596925 596944 597105 597277 597365 597382 597400 597427 597508 597509 597581 597603 597611 597698 597703 597712 597716 597718 597765 597824 597825 597826 597837 597867 598034 598040 598075 598076 598077 598159 598189 598274 598294 598307 598375 598417 598471 598477 598621 598684 598753 598849 598887 598977 598996 599098 599099 599295 599344 599489 599526 599536 599537 599538 599542 599561 599589 599635 599660 599674 599687 599689 599697 599731 599737 599745 599764 599765 599802 599831 599867 599929 599933 599943 599944 599947 599959 599964 600137 600149 600151 600157 600161 600166 600170 600204 600253 600301 600306 600319 600398 600399 600400 600447 600455 600466 600471 600472 600488 600493 600508 600594 600600 600680 601021 601060 601237 601527 601634 601699 601767 601780 601819 601900 602349 602693 602741 602835 603221 603703 603864 603865 604403 604661 604820 604821 605068 605143 605198 605210 605273 606032 606354 606563 606582 606594 606868 606869 606872 606961 607004 607063 607150 607430 607444 607549 607983 608098 608460 608602 608757 608911 609068 609523 609903 610193 610301 610410 610615 610668 611186 611285 611662 611671 612207 612552 612641 612869 612905 613065 613268 613302 613674 613707 613842 613923 614479 614491 615452 615557 615643 615837 616307 616736 617814 618033 618236 618249 618296 618375 618659 618737 618801 619047 619079 619174 620007 620064 620604 620688 621015 621140 621243 621447 621968 623013 623018 623533 623690 623779 624048 624273 624841 625030 625048 625049 625141 625264 625615 625876 626062 626224 626233 626357 626457 627205 627395 627543 627955 628909 629088 629199 629203 629286 629524 629561 629715 630089 631571 631967 632834 632885 633056 633371 633372 633747 633956 634126 635216 635845 635847 636250 636342 636924 637092 637168 637576 637832 638290 638948 639494 639928 639987 640148 640287 640443 640485 641852 642178 642581 642629 642972 643216 643333 643410 643627 644061 644581 644596 644600 645287 645500 646482 646946 646969 647134 647515 647553 648182 648397 648398 648619 649046 649588 649643 649784 649946 649948 649998 650064 650355 650473 650622 651363 651537 651538 651546 651677 652005 652027 652098 653760 653914 654680 654795 654937 655008 655026 655117 655313 655410 656090 656333 656393 656460 656700 656785 657189 657854 657994 658223 658295 658772 658863 659236 659328 659585 659636 660239 660418 660562 660612 661510 662033 662044 662404 662487 662865 662866 662925 662972 663124 663177 663204 663296 663605 663694 663752 663754 663937 663970 664021 664135 664261 664336 664390 664450 664613 664634 664702 664773 664903 664910 664943 665227 665252 665299 665379 665543 665575 665576 665577 665690 665692 665751 665806 665816 665818 665827 665829 665881 666092 666143 666153 666163 666328 666364 666411 666435 666465 666728 666823 666832 666861 666864 666948 667086 667268 667269 667316 667458 667823 668124 668194 668195 668306 668320 668413 668456 668532 668673 668742 669072 669134 669192 669254 669255 669353 669417 669443 669479 669627 669669 669679 669813 670041 670107 670194 670270 670278 670390 670444 670626 670726 670811 670878 670901 671062 671110 671114 671159 671412 671664 671666 671829 671955 671988 672468 672522 672567 672585 672748 672761 672767 672770 673093 673396 673667 673827 673873 674096 674361 674419 674603 674679 674690 674692 674727 675026 675121 675237 675313 675590 675633 675654 675677 676086 676166 676272 676329 676551 676792 676794 677502 677647 678848 682933 682990 683187 684164 684180 684182 684201 684281 686792 694872 694873 694878 694879 694884 694889 694890 694891 694894 694895 694898 697269 699287 699429 699435 699615 700099 700255 700792 700894 701945 701946 701947 717385 719498 722883 724565 729408 729626 729627 729638 729645 732093 733458 733516 733520 733827 740130 751369 751455 751707 751968 751969 751973 751975 751976 751995 752054 752083 752084 752085 752086 752091 752093 752118 752230 752246 752247 752271 752274 752275 752283 752284 752346 752371 752437 752477 752549 752582 752615 752689 752715 752946 752960 752967 753015 753016 753068 753096 753137 753140 753143 753144 753208 753233 753248 753367 753368 753512 753627 753646 753690 753723 753747 753748 753812 753860 753876 754036 754090 754091 754375 754471 754623 754625 754681 754682 754710 754893 755105 755123 755295 755299 755397 755538 755638 755807 755813 756049 756092 756278 756533 756632 756647 756649 756916 756983 757204 757210 757270 757457 757653 757880 758256 758309 758310 758392 758406 758462 758551 758584 758658 758766 758888 759080 759110 759180 759231 759423 759533 759636 759658 759698 759705 759781 759831 759925 760530 760602 760703 760905 761119 761120 761356 761475 761476 761497 761585 761756 761916 761920 761943 761955 761978 761993 762110 762518 762540 762682 762728 762845 762871 762981 763286 763349 763396 763560 763617 763658 763660 763743 763749 763798 763808 763977 764692 764864 765152 765168 765266 765678 765850 766072 766075 766155 766225 766850 766853 766937 767039 767093 767094 767106 767134 767136 767166 767524 767601 767633 767663 767674 767748 767950 768361 768435 768501 768503 768696 769152 769176 769349 769635 769703 769813 769865 769898 769900 770014 770048 770110 772384 796355 796520 806123 807052 807519 808724 808900 809902 809904 812198 812201 812204 812211 812222 812224 812228 812229 812231 812233 812238 812241 812242 812244 812246 812250 812252 812253 812258 812260 812261 812262 812268 812271 812273 812278 812281 812284 812285 812286 812287 812288 812290 812291 812292 812295 812296 812298 812299 812303 812304 812306 812310 812311 812312 812313 812314 812319 812375 812376 812377 812382 812385 812443 812444 812445 812446 813510 813622 814022 814023 815028 815029 815030 815035 815045 815047 815048 815090 870883 871636 871829 871832 871903 872184 872190 872241 872306 877812 877866 878438 878454 878455 879290 879389 879392 879393 882629 882644 882677 882690 882714 882724 882725 882731 882732 882966 882972 882975 882990 883018 883024 883034 883036 883037 883041 883056 883073 883241 883269 883319 883384 883397 883403 883404 883410 883411 883414 883444 883452 883462 883464 883492 886563 886564 886567 886882 887117 887432 887555 887822 887823 887848 887849 887856 887857 887858 887859 887861 887901 887916 887917 887918 887945 887946 887954 887977 888344 890466 890491 890497 893188 893442 893445 893497 893534 893558 893566 893573 893597 893637 893690 893693 893737 893785 893794 893821 894116 894484 896320 897260 898695 898752 898753 898755 898756 899756 900627 901047 901381 901382 901936 903042 903553 903738 903975 903976 904071 904505 904585 904586 905062 905072 905617 905644 905649 905706 905893 906082 906203 906204 906368 906566 906597 907155 907411 907538 907607 907668 907670 907671 907676 907677 907709 907731 907734 907756 907766 907811 907850 907851 907927 907936 907938 907967 907969 907989 908064 908071 908072 908102 908106 908130 908146 908152 908155 908170 908234 908257 908276 908327 908364 908405 908417 908438 908440 908644 908645 908688 908708 908756 908946 908958 909189 909206 909229 909235 909383 909407 909449 909492 909543 909600 909608 909725 909835 910379 910406 910612 910827 910920 910955 911014 911106 911126 911149 911159 911272 911448 911453 911500 911758 911800 911805 911852 912065 912106 912134 912162 912243 912322 912324 912401 912432 912761 912792 912808 912809 912811 912813 912903 912981 913026 913338 913382 913440 913649 913842 913844 913878 914182 914193 914216 914689 914743 915031 915052 915115 915131 915178 915260 915585 915689 915960 916139 916169 916171 916204 916470 916475 916550 917502 917582 917705 917719 917889 917893 917973 918006 918032 918033 918279 919252 919262 919283 919293 919418 919432 919436 919441 919455 919457 919458 919466 919474 919481 919482 919487 919488 919490 919496 919498 919503 919506 919507 919508 919516 919521 919528 919534 919548 919550 920270 920376 920499 920643 935936 935992 936103 936253 945799 946006 946119 946123 947671 947672 947673 949209 949374 949455 949523 949546 949596 949597 949598 949599 949610 949636 949639 949645 949648 949653 949654 949655 949707 949708 949709 949710 949720 949722 949723 949751 949752 949756 949770 949771 949774 949784 949785 949786 949787 949791 949803 949837 949840 949841 949860 949861 949879 949989 950109 950131 950188 950469 950471 950472 950503 950509 950625 950695 950723 950809 950925 951194 951311 951590 954539 957267 960518 960524 960586 960665 960723 960824 960885 960940 960947 960954 961182 961232 961339 961340 961407 961468 961504 962069 962077 962102 962103 962134 962150 962247 962292 962341 962418 962420 962432 962545 962546 962568 962571 962725 962790 962845 963021 963088 963312 963329 963377 963398 963412 963675 963752 963903 964010 964024 964066 964068 964177 964212 964213 964222 964224 964274 964339 964365 964420 964449 964526 964620 964626 964690 964758 964769 964770 964849 964863 964964 965025 965058 965099 965118 965234 965256 965265 965267 965448 965456 965458 965461 965585 965595 965610 965644 965672 965733 965878 965900 965917 965939 965940 965958 966003 966214 966262 966271 966363 966464 966500 966564 966598 966666 966737 966742 966759 966855 966870 966897 966907 966913 966971 966973 966974 966985 966986 966996 966997 966998 967003 967165 967196 967446 967462 967503 967516 967540 967543 967663 967805 967835 967913 968017 968037 968112 968126 968156 968215 968497 968502 968510 968534 968639 968659 968682 968797 968798 968799 968841 968902 969046 969151 969320 969321 969352 969358 969442 969446 969488 969489 969590 969645 969669 969670 969698 969702 969703 969709 969710 969720 969723 970603 970981 971008 971058 971262 971289 971336 971347 971407 971435 971474 971502 971527 971588 971772 971778 971800 971804 971848 971871 971872 971881 972224 972232 972255 972386 994452 994507 995059 1096753 1096755 1096838 1096915 1096984 1097008 1097121 1097123 1097147 1097174 1097292 1097317 1097322 1097344 1097406 1097430 1097453 1097527 1097618 1097627 1097629 1097729 1097844 1097855 1097902 1097943 1097947 1097961 1098125 1098182 1098183 1098184 1098185 1098186 1098268 1098283 1098405 1098486 1098503 1098509 1098642 1098710 1098762 1098876 1098878 1098880 1098917 1098933 1098943 1098945 1098946 1099095 1099224 1099352 1099354 1099355 1099368 1099479 1099485 1099516 1099591 1099624 1099625 1099626 1099871 1100436 1100440 1100444 1100460 1100621 1100670 1100792 1100818 1100850 1100858 1100886 1101003 1101106 1101149 1101204 1101215 1101228 1101235 1101268 1101312 1101398 1101407 1101448 1101475 1101479 1101486 1101515 1101521 1101534 1101552 1101610 1101627 1101751 1101757 1101764 1101765 1101771 1101787 1113649 1113659 1113671 1113672 1119957 1120099 1120113 1120119 1120120 1120201 1120306 1120309 1120315 1120459 1120516 1120520 1120548 1120583 1120584 1120585 1120885 1120892 1120901 1120988 1121069 1121097 1121198 1121200 1121474 1121540 1121626 1121634 1121644 1121729 1121736 1121885 1121910 1122009 1122010 1122011 1122015 1122024 1122077 1122318 1122710 1122744 1122811 1122850 1122899 1122941 1123018 1130432 1130454 1130460 1130465 1130490 1134433 1135611 1135629 1135650 1135672 1135843 1135894 1135932 1135982 1135985 1135986 1135987 1135991 1136027 1136034 1136066 1136073 1136087 1136102 1136111 1136119 1136131 1136132 1136144 1136145 1136147 1136155 1136160 1136166 1136170 1136185 1136190 1136191 1136224 1136252 1136261 1136316 1136317 1136340 1136368 1136539 1136634 1136774 1136843 1137032 1137142 1137199 1137208 1137210 1137212 1137236 1137457 1137699 1137700 1137701 1137702 1137947 1138002 1138003 1138053 1138222 1138227 1138254 1138302 1138303 1138314 1138348 1138358 1138398 1138406 1138413 1138415 1138430 1138446 1138532 1138556 1141015 1141625 1142673 1142674 1142723 1142900 1142936 1143130 1143167 1143208 1143236 1143296 1143332 1143335 1143376 1143433 1143448 1143476 1143482 1143492 1143533 1143552 1143580 1143581 1143897 1143938 1143942 1144060 1144139 1144172 1144186 1144187 1144439 1144459 1144465 1144491 1144513 1144550 1144553 1144559 1144571 1144583 1146629 1148361 1148798 1153432 1171311 1171342 1171569 1171884 1171888 1171892 1171894 1171897 1171973 1172040 1172078 1172084 1172085 1172132 1172152 1172188 1172218 1172221 1172304 1172308 1172309 1172327 1172384 1172385 1172392 1172393 1172465 1172489 1172490 1172491 1172508 1172517 1172570 1172574 1172576 1172684 1172715 1172718 1172720 1172742 1172744 1172779 1172780 1172838 1172883 1172885 1173007 1173039 1173118 1173133 1173174 1173199 1173311 1173382 1173478 1173479 1173495 1173596 1173600 1173762 1173838 1173860 1173862 1173913 1173954 1174031 1174103 1174395 1174396 1174477 1174545 1174628 1174671 1174850 1174851 1174878 1174887 1174913 1174940 1174959 1175297 1175338 1175347 1175348 1175428 1175541 1175813 1175855 1175907 1176012 1176013 1176141 1176142 1176143 1176146 1176148 1176168 1176169 1176198 1176224 1176308 1176333 1176473 1178989 1179106 1179132 1179133 1179174 1179464 1179841 1179885 1179891 1179920 1179934 1179956 1179963 1179970 1179973 1180002 1180069 1180307 1180309 1180316 1180333 1180334 1180347 1180363 1254532 1254533 1256760 1256770 1256919 1256951 1257061 1257138 1257193 1257245 1257319 1257776 1257777 1257804 1257805 1257812 1257839 1257892 1257893 1257894 1257895 1257897 1257900 1257903 1257946 1257952 1257994 1257998 1258001 1258002 1258011 1258027 1258244 1258312 1258342 1258523 1258638 1258687 1258750 1258791 1258913 1258914 1259189 1259335 1259350 1259365 1259409 1259466 1259510 1259690 1259691 1259712 1259784 1259807 1259822 1259858 1259902 1259929 1259994 1260021 1260080 1260161 1260166 1260197 1260311 1261484 1268874 1268902 1272582 1276898 1282240 1291120 1291121 1291124 1291131 1291148 1291178 1291184 1291185 1291186 1291194 1291195 1291196 1291197 1291200 1291201 1291218 1292130 1292137 1292158 1292159 1292160 1292266 1292267 1292269 1304687 1304810 1305628 1306917 1306918 1307105 1307126 1307329 1307392 1307541 1307583 1307663 1307698 1308058 1308098 1308189 1308703 1308752 1308768 1309025 1309046 1309055 1309143 1309390 1309732 1309859 1310320 1310675 1310746 1310768 1310769 1310770 1310771 1310772 1310872 1310932 1310938 1311096 1311099 1311113 1311144 1311201 1311255 1311273 1311293 1311296 1311301 1311302 1311304 1311367 1311467 1311503 1311504 1311516 1311517 1311544 1311545 1311553 1311606 1311608 1311785 1312042 1312044 1312045 1312062 1312063 1312067 1312159 1312169 1312172 1312227 1312228 1312248 1312299 1312381 1312446 1312459 1312469 1312606 1312684 1312685 1312686 1312689 1312695 1312696 1312720 1312739 1312786 1312851 1312896 1312909 1312957 1313064 1313202 1313306 1313318 1313319 1313320 1313472 1313613 1313661 1313747 1313748 1313762 1313763 1313766 1313794 1313804 1314851 1314855 1314889 1314954 1317742 1317895 1318045 1320123 1321889 1321890 1321892 1321894 1321912 1321914 1321918 1325318 1327771 1328849 1332001 1332002 1332005 1332008 1332009 1332010 1332034 1332035 1332065 1332070 1332071 1332072 1332080 1332086 1332088 1332095 1332096 1332098 1332100 1332104 1332105 1332106 1332109 1332110 1332111 1332114 1332115 1332116 1332117 1332119 1332125 1332126 1332127 1332132 1332142 1332169 1332172 1332256 1332296 1332320 1332325 1332336 1332359 1332360 1332365 1332367 1332374 1332379 1332380 1332381 1332387 1332388 1332394 1332395 1332396 1332397 1332399 1332402 1332405 1332406 1332408 1332409 1332410 1332411 1332413 1332414 1332415 1332416 1332417 1332418 1332422 1332423 1332424 1332425 1332426 1332427 1332428 1332435 1332437 1332447 1332448 1332449 1332452 1332453 1332588 1332603 1332620 1332649 1332650 1332651 1332656 1332659 1332660 1332669 1332670 1332671 1332676 1332678 1332683 1332685 1332686 1332693 1332694 1332695 1332696 1332697 1332705 1332712 1332713 1332714 1332722 1332724 1332725 1332728 1332731 1332733 1332737 1332738 1332740 1332741 1332742 1332743 1332752 1332755 1332757 1332758 1332762 1332765 1332766 1332768 1332771 1332772 1332776 1332778 1332797 1332799 1332800 1332803 1332809 1332810 1332811 1332812 1332818 1332819 1333018 1333136 1333152 1333165 1333168 1333194 1333198 1333202 1333203 1333208 1333210 1333211 1333214 1333225 1333227 1333228 1333234 1333240 1333241 1333245 1333246 1333247 1333263 1333302 1333311 1333315 1333329 1333331 1333332 1333333 1333336 1333343 1333345 1333348 1333350 1333351 1333352 1333353 1333356 1333357 1333360 1333361 1333362 1333368 1333412 1333421 1333478 1333498 1333522 1333523 1333524 1333525 1333526 1333527 1333528 1333530 1333532 1333533 1333535 1333536 1333537 1333538 1333540 1333565 1333566 1333567 1333568 1333571 1333572 1333573 1333578 1333581 1333633 1333634 1333647 1333653 1333655 1333660 1333662 1333663 1333664 1333665 1333666 1333667 1333668 1333669 1333670 1333673 1333674 1333683 1333703 1333707 1333708 1333714 1333717 1333718 1333719 1333720 1333721 1333722 1333723 1333724 1333725 1333730 1333806 1333809 1333880 1333891 1333892 1333897 1333903 1333906 1333908 1333909 1333912 1333913 1333916 1333921 1333922 1333923 1333924 1333925 1333928 1333934 1333935 1333999 1334039 1334072 1334077 1334078 1334087 1334089 1334090 1334091 1334092 1334093 1334094 1334095 1334096 1334116 1334117 1334122 1334129 1334130 1334131 1334132 1334133 1334139 1334140 1334141 1334142 1334155 1334162 1334189 1334190 1334191 1334283 1334291 1334294 1334295 1334307 1334314 1334332 1334333 1334336 1334343 1334345 1334346 1334347 1334351 1334468 1334470 1334472 1334476 1334489 1334490 1334491 1334493 1334494 1334495 1334497 1334498 1334501 1334502 1334504 1334506 1334512 1334515 1334517 1334518 1334521 1334525 1334526 1334527 1334528 1334531 1334533 1334535 1334536 1334537 1334538 1334632 1334639 1334766 1334777 1334805 1334837 1334862 1334863 1334864 1334865 1334866 1334867 1334868 1334869 1334870 1334871 1334873 1334874 1334875 1334877 1334878 1334880 1334882 1334891 1334892 1334894 1334899 1334903 1334904 1334907 1334908 1334910 1334911 1334912 1334913 1334914 1334933 1334944 1335075 1335083 1335084 1335085 1335086 1335087 1335088 1335091 1335132 1335134 1335135 1335136 1335137 1335138 1335190 1335192 1335193 1335194 1335199 1335202 1335206 1335207 1335209 1335210 1335211 1335212 1335215 1335222 1335224 1335233 1335234 1335237 1335239 1335244 1335249 1335252 1335253 1335268 1335270 1335272 1335276 1335278 1335280 1335290 1335293 1335296 1335297 1335330 1335333 1335369 1335400 1335405 1335464 1335530 1335532 1335545 1335588 1335589 1335599 1335602 1335605 1335606 1335610 1335613 1335619 1335623 1335629 1335635 1335636 1335637 1335638 1335640 1335641 1335642 1335643 1335651 1335652 1335653 1335654 1335665 1335763 1335785 1335795 1335796 1335797 1335798 1335799 1335800 1335803 1335805 1335809 1335810 1335814 1335817 1335818 1335821 1335822 1335823 1335824 1335828 1335830 1335831 1335833 1335834 1335835 1335836 1335837 1335841 1335843 1335845 1335846 1335847 1335848 1335849 1335850 1335851 1335855 1335857 1335858 1335859 1335862 1335864 1335865 1335871 1335872 1335873 1335875 1335876 1335877 1335878 1335879 1335884 1335886 1335887 1335889 1335890 1335953 1335955 1335958 1335962 1335977 1335984 1335988 1336014 1336017 1336511 1336539 1336547 1336558 1336562 1336564 1336565 1336567 1336573 1336576 1336578 1336583 1336585 1336594 1336596 1336598 1336603 1336604 1336605 1336606 1336608 1336620 1336621 1336622 1336626 1336629 1336630 1336631 1336642 1336646 1336647 1336648 1336655 1336660 1336661 1336662 1336664 1336665 1336666 1336668 1336673 1336675 1336676 1336677 1336678 1336685 1336690 1336694 1336696 1336697 1336702 1336776 1336780 1336781 1336785 1336787 1336788 1336789 1336798 1336803 1336821 1336837 1336926 1336929 1336930 1336931 1336933 1336936 1336937 1336938 1336986 1336988 1336990 1337001 1337002 1337003 1337006 1337027 1337034 1337039 1337041 1337047 1337051 1337053 1337054 1337055 1337090 1337094 1337096 1337104 1337106 1337107 1337109 1337110 1337111 1337112 1337342 1363845 1363878 1363984 1364113 1364818 1366355 1366370 1366394 1366439 1366441 1366448 1366449 1366450 1366459 1366464 1366475 1366479 1366480 1366486 1366489 1366500 1366502 1366506 1366509 1366512 1366514 1366516 1366517 1366521 1366527 1366557 1366563 1366564 1366565 1366566 1366586 1366587 1366618 1366623 1366628 1366644 1366645 1366649 1366674 1366678 1366753 1366763 1366764 1366777 1366824 1366832 1366837 1366838 1366895 1366910 1366911 1367028 1367177 1367307 1367374 1367453 1367455 1367458 1367459 1367466 1367469 1367472 1367475 1367482 1367551 1367553 1367578 1367597 1367655 1367656 1367673 1367699 1367710 1367714 1367721 1367790 1367797 1367971 1368335 1370128 1370209 1373035 1384532 1384537 1384538 1384539 1384551 1384567 1384612 1384617 1411929 1412046 1412058 1412071 1412077 1412078 1412079 1412082 1412084 1412097 1412122 1412126 1412171 1412221 1412228 1412260 1412267 1412275 1412276 1412277 1412285 1412296 1412304 1412311 1412316 1412321 1412332 1412343 1412363 1412365 1412387 1412394 1412400 1412402 1412417 1412420 1412425 1412426 1412427 1412452 1412468 1412469 1412471 1412475 1412477 1412478 1412480 1412481 1412483 1412491 1412492 1412494 1412495 1412498 1412499 1412514 1412517 1412520 1412521 1412525 1412526 1412528 1412529 1412530 1412531 1412544 1412566 1412573 1412575 1412581 1412588 1412591 1412610 1412615 1412617 1412622 1412624 1412627 1412685 1412690 1412697 1412706 1412716 1412738 1412770 1412791 1412792 1412805 1412806 1412812 1412819 1412824 1412844 1412851 1412939 1412999 1413031 1413043 1413046 1413057 1413080 1413081 1413089 1413096 1413102 1413103 1413106 1413107 1413121 1413123 1413124 1413136 1413137 1413138 1413146 1413148 1413150 1413153 1413159 1413160 1413167 1413172 1413173 1413193 1413195 1413222 1413233 1413237 1413244 1413246 1413269 1413290 1413292 1413299 1413336 1413337 1413348 1413353 1413354 1413355 1413357 1413365 1413376 1413387 1413419 1413428 1413460 1413483 1413495 1413503 1413512 1413514 1413557 1413560 1413568 1413586 1413607 1413615 1413616 1413627 1413636 1413661 1413696 1413697 1413702 1413703 1413706 1413723 1413730 1413749 1413763 1413770 1413771 1413772 1413773 1413774 1413785 1413787 1413788 1413791 1413797 1413800 1413823 1413827 1413828 1413837 1413845 1413896 1413908 1413915 1413924 1413925 1413931 1413947 1413973 1413980 1413982 1414061 1414063 1414069 1414070 1414083 1414126 1414143 1414151 1414157 1414160 1414169 1414170 1414172 1414209 1414236 1414260 1414261 1414270 1414273 1414290 1414292 1414294 1414300 1414302 1414304 1414305 1414306 1414307 1414315 1414323 1414327 1414329 1414331 1414334 1414335 1414336 1414338 1414349 1414351 1414356 1414357 1414359 1414360 1414369 1414382 1414397 1414406 1414426 1414461 1414467 1414477 1414497 1414498 1414515 1414527 1414530 1414538 1414539 1414542 1414543 1414598 1414601 1414605 1414607 1414626 1414633 1414634 1414636 1414637 1414648 1414805 1414812 1414819 1414830 1414860 1414863 1414885 1414905 1414945 1414967 1414989 1414994 1414995 1415020 1415022 1415028 1415036 1415037 1415038 1415041 1415042 1415046 1415051 1415063 1415068 1415078 1415119 1415142 1415193 1415274 1415285 1415304 1415311 1415316 1415323 1415344 1415345 1415346 1415350 1415389 1415405 1415406 1415424 1415443 1415466 1415473 1415477 1415478 1415481 1415483 1415487 1415491 1415497 1415498 1415504 1415507 1415521 1415524 1415537 1415594 1415629 1415634 1415636 1415637 1415638 1415639 1415641 1415642 1415645 1415646 1415653 1415692 1415712 1415715 1415725 1415736 1415742 1415755 1415758 1415760 1415764 1415782 1415790 1415791 1415793 1415831 1415840 1415854 1415855 1415875 1415882 1415886 1415887 1415895 1415900 1415927 1415975 1416175 1416177 1416186 1416187 1416190 1416238 1416241 1416259 1416271 1416275 1416370 1416380 1416395 1416400 1416425 1416453 1416454 1416471 1416474 1416475 1416479 1416486 1416487 1416494 1416497 1416498 1416509 1416522 1416524 1416525 1416556 1416576 1416585 1416595 1416602 1416612 1416614 1416622 1416642 1416652 1416655 1416657 1416664 1416675 1416679 1416744 1416746 1416769 1416777 1416801 1416802 1416806 1416808 1416825 1416829 1416832 1416836 1416850 1416869 1416878 1416886 1416891 1416912 1416921 1416924 1416933 1416953 1416962 1416989 1417005 1417038 1417042 1417048 1417054 1417057 1417089 1417098 1417099 1417102 1417103 1417108 1417122 1417123 1417126 1417127 1417170 1417172 1417228 1417240 1417326 1417377 1417386 1417387 1417389 1417390 1417393 1417394 1417395 1417396 1417400 1417401 1417449 1417454 1417497 1417500 1417504 1417509 1417511 1417523 1417547 1417565 1417573 1417574 1417575 1417576 1417606 1417613 1417638 1417679 1417680 1417683 1417694 1417695 1417699 1417701 1417704 1417705 1417707 1417708 1417709 1417715 1417716 1417718 1417729 1417753 1417754 1417759 1417760 1417772 1417784 1417807 1417808 1417820 1417826 1417827 1417832 1417857 1417860 1417861 1417862 1417869 1417892 1417895 1417898 1417904 1417914 1417917 1417925 1417929 1417935 1417950 1417965 1418192 1418197 1418202 1418206 1418208 1418225 1418232 1418237 1418244 1418245 1418252 1418253 1418256 1418273 1418274 1418285 1418293 1418295 1418302 1418370 1418390 1418396 1418405 1418450 1418485 1418486 1418526 1418531 1418544 1418550 1418551 1418596 1418599 1418612 1418613 1418614 1418643 1418644 1418648 1418654 1418661 1418664 1418676 1418678 1418697 1418716 1418752 1418772 1418779 1418813 1418822 1418850 1418852 1418864 1418870 1418882 1418883 1418888 1418892 1418893 1418907 1418940 1418953 1418954 1418958 1418975 1418978 1418979 1418984 1418985 1418986 1418992 1419007 1419015 1419016 1419017 1419018 1419025 1419028 1419032 1419040 1419042 1419050 1419054 1419059 1419070 1419093 1419111 1419131 1419140 1419142 1419150 1419229 1419230 1419236 1419237 1419241 1419243 1419244 1419257 1419258 1419259 1419277 1419281 1419282 1419283 1419304 1419310 1419317 1419319 1419325 1419330 1419333 1419338 1419339 1419345 1419348 1419351 1419376 1419381 1419382 1419385 1419393 1419394 1419408 1419419 1419433 1419453 1419454 1419467 1419489 1419499 1419500 1419501 1419522 1419523 1419524 1419525 1419583 1419584 1419586 1419603 1419605 1419623 1419628 1419629 1419652 1419653 1419655 1419693 1419723 1419727 1419730 1419733 1419768 1419771 1419772 1419781 1419782 1419783 1419786 1419790 1419807 1419817 1419853 1419858 1419864 1419868 1419873 1419874 1419881 1419891 1419892 1419907 1419919 1419923 1419942 1419961 1419968 1419992 1419996 1420002 1420003 1420005 1420017 1420041 1420044 1420066 1420080 1420081 1420085 1420086 1420087 1420088 1420089 1420091 1420101 1420103 1420109 1420125 1420130 1420134 1420140 1420144 1420146 1420147 1420171 1420172 1420173 1420175 1420180 1420192 1420193 1420194 1420200 1420204 1420205 1420206 1420209 1420210 1420212 1420214 1420218 1420232 1420233 1420250 1420257 1420265 1420266 1420274 1420282 1420283 1420292 1420293 1420304 1420309 1420331 1420354 1420364 1420365 1420393 1420398 1420400 1420423 1420424 1420432 1420433 1420434 1420435 1420452 1420453 1420462 1420490 1420492 1420494 1420497 1420499 1420503 1420504 1420505 1420512 1420543 1420544 1420545 1420554 1420556 1420557 1420558 1420559 1420560 1420562 1420578 1420590 1420593 1420608 1420611 1420615 1420620 1420622 1420624 1420625 1420626 1420631 1420643 1420644 1420652 1420653 1420655 1420667 1420679 1420701 1420705 1420706 1420708 1420709 1420718 1420724 1420733 1420737 1420740 1420771 1420775 1420799 1420805 1420822 1420827 1420834 1420841 1420843 1420871 1420884 1420887 1420888 1420889 1421109 1421120 1421146 1421167 1421170 1421206 1421219 1421224 1421237 1421244 1421248 1421250 1421262 1421267 1421286 1421356 1421376 1421377 1421412 1421428 1421437 1421450 1421451 1421478 1421512 1421513 1421527 1421558 1421563 1421565 1421579 1421637 1421638 1421641 1421652 1421705 1421864 1421866 1421876 1421934 1421947 1421950 1421996 1422002 1422036 1422072 1422073 1422154 1422155 1422162 1422163 1422166 1422182 1422288 1422292 1422342 1422344 1422515 1422567 1422569 1422572 1422597 1422599 1422705 1422760 1422801 1422813 1423015 1423023 1423027 1423073 1423077 1423112 1423507 1423526 1423529 1423544 1423547 1423548 1423571 1423590 1423614 1423644 1423680 1423697 1423700 1423704 1423710 1423711 1423761 1423814 1423839 1423847 1423885 1423890 1423892 1423931 1423947 1423951 1423974 1424250 1424252 1424288 1424530 1424600 1424629 1424635 1424660 1424662 1424666 1424673 1424677 1424685 1424702 1424771 1424798 1424810 1424852 1424885 1424930 1424950 1424965 1425073 1425078 1425085 1425094 1425128 1425141 1425144 1425187 1425259 1425268 1425322 1425351 1425361 1425417 1425428 1425435 1425526 1425544 1425569 1425600 1425651 1425668 1425671 1425692 1425758 1425766 1425774 1425779 1425835 1425978 1425986 1426185 1426191 1426197 1426238 1426499 1426630 1426796 1426844 1426975 1427121 1427199 1427206 1427233 1427248 1427293 1427660 1427674 1427702 1427803 1427812 1427829 1427865 1427881 1427946 1427962 1427991 1428021 1428048 1428262 1428334 1428360 1428369 1428371 1428377 1428391 1428399 1428415 1428456 1428476 1428629 1428775 1428783 1428794 1428806 1428905 1428933 1428948 1428962 1429001 1429225 1429233 1429591 1429593 1429594 1429686 1429689 1429751 1429812 1429859 1430172 1430217 1430239 1430442 1430443 1430594 1430651 1430725 1430730 1431046 1431110 1431185 1431267 1431322 1431560 1431573 1431614 1431691 1431809 1431973 1432002 1432084 1432126 1432216 1432492 1432638 1432661 1432696 1432697 1432951 1433089 1433117 1433188 1433400 1433401 1433562 1433575 1433729 1433754 1433814 1433943 1434133 1434201 1434279 1434326 1434499 1434500 1434569 1434584 1434597 1434683 1434848 1434856 1434909 1435181 1435190 1435218 1435428 1435621 1435681 1435741 1435906 1435907 1435936 1435946 1435996 1436016 1436179 1436247 1436371 1436394 1436561 1436571 1436598 1437015 1437028 1437034 1437051 1437138 1437188 1437277 1437360 1437396 1437503 1437518 1437552 1437703 1437782 1437906 1438149 1438152 1438179 1438387 1438411 1438442 1438671 1438764 1438883 1439167 1439195 1439261 1439334 1439335 1439342 1440086 1440677 1440700 1442490 1442491 1442493 1442521 1442753 1442756 1442762 1442787 1442790 1442793 1442814 1442821 1442823 1442824 1442881 1442882 1443566 1443846 1445578 1445695 1445705 1445863 1446659 1446980 1446994 1447047 1447061 1447076 1447107 1447135 1447150 1447166 1447171 1447180 1447374 1447468 1447472 1447504 1447550 1447607 1447615 1447616 1447617 1447626 1447657 1447664 1447671 1447703 1447812 1447833 1447875 1447906 1448075 1448133 1448177 1448285 1448438 1448501 1448506 1448539 1448552 1448560 1448567 1448584 1448598 1448641 1448643 1448683 1448789 1448833 1448978 1449030 1449099 1449108 1449152 1449212 1449219 1449220 1449303 1449308 1449351 1449651 1449663 1449666 1449672 1449799 1449808 1449856 1449858 1449859 1449886 1449958 1449965 1450008 1450080 1450146 1450183 1450203 1450222 1450293 1450352 1450367 1450506 1450546 1450556 1450599 1450632 1450684 1450793 1450797 1450917 1450931 1450987 1450998 1450999 1451113 1451141 1451142 1451200 1451289 1451357 1451465 1451522 1451593 1451594 1451611 1451672 1451707 1451716 1451723 1451743 1451745 1451772 1451782 1451866 1451921 1451962 1452174 1452182 1452241 1452252 1452268 1452355 1452468 1452529 1452544 1452637 1452685 1452709 1452808 1452871 1452888 1453102 1453105 1453141 1453145 1453146 1453148 1453155 1453368 1453423 1453429 1453453 1453535 1453536 1453673 1453677 1453717 1453837 1453915 1454054 1454068 1454101 1454161 1454271 1454332 1454487 1454488 1454501 1454554 1454600 1454750 1454999 1455169 1455172 1455183 1455191 1455316 1455344 1455406 1455426 1455427 1455498 1455573 1455838 1456335 1456357 1456364 1456377 1456379 1456390 1456397 1456398 1456413 1456414 1456447 1456454 1456460 1456736 1456795 1456824 1457880 1457899 1458138 1458148 1458154 1458158 1458160 1458161 1458164 1458165 1458166 1458167 1458168 1458169 1458172 1458173 1458174 1458175 1458176 1458177 1458178 1458179 1458180 1458181 1458182 1458183 1458184 1458186 1458187 1458188 1458190 1458192 1458194 1458198 1458199 1458201 1458202 1458214 1458215 1458216 1458223 1458224 1458233 1458234 1458237 1458239 1458241 1458250 1458251 1458252 1458253 1458257 1458261 1458262 1458267 1458279 1458308 1458391 1458593 1458956 1459171 1470102 1481566 1481573 1481574 1481575 1481576 1481582 1481583 1481584 1481585 1481586 1481589 1481591 1481593 1481594 1481596 1481597 1481598 1481599 1481600 1481602 1481603 1481604 1481605 1481606 1481608 1481609 1481610 1481614 1481615 1481616 1481618 1481620 1481621 1481622 1481623 1481628 1481629 1481630 1481632 1481633 1481634 1481635 1481640 1481642 1481643 1481644 1481645 1481646 1481647 1481649 1481650 1481651 1481653 1481655 1481657 1481658 1481661 1481664 1481666 1481667 1481668 1481669 1481670 1481671 1481673 1481674 1481676 1481681 1481682 1481685 1481687 1481688 1481689 1481690 1481692 1481693 1481695 1481697 1481701 1481702 1481703 1481704 1481705 1481706 1481707 1481708 1481709 1481712 1481715 1481716 1481717 1481718 1481719 1481720 1481721 1481722 1481736 1481737 1481738 1481742 1481746 1481747 1481748 1481751 1481752 1481782 1481784 1481787 1481799 1481802 1481821 1481822 1481930 1485449 1504629 1504631 1504634 1504637 1504682 1504698 1504740 1504749 1504775 1504824 1504845 1504850 1504897 1504902 1505006 1505028 1505055 1505060 1505064 1505106 1505122 1505387 1505428 1505429 1505448 1505510 1505525 1505526 1505568 1505639 1505661 1505674 1505734 1505736 1505768 1505776 1505825 1505854 1505925 1505930 1505993 1506000 1506002 1506024 1506035 1506109 1506126 1506127 1506180 1506236 1506269 1506284 1506288 1506307 1506338 1506350 1506352 1506360 1506369 1506478 1506510 1506517 1506550 1506585 1506667 1506688 1506764 1506836 1506870 1506911 1506928 1506953 1507143 1507391 1508279 1508300 1508748 1510506 1511165 1511279 1513159 1513315 1515132 1515259 1516807 1517436 1518157 1518354 1519078 1519188 1519266 1519315 1522002 1522145 1522146 1522197 1522200 1522420 1522552 1523983 1527004 1527022 1527079 1527195 1527196 1527364 1527365 1527440 1527443 1527451 1527491 1527498 1527501 1527504 1527597 1527620 1527755 1527756 1527800 1527868 1527905 1527974 1527996 1528121 1528151 1528207 1528299 1528325 1528327 1528422 1528429 1528509 1528511 1528610 1528778 1528780 1528802 1528954 1529090 1529126 1529202 1529231 1529240 1529246 1529273 1529326 1529404 1529634 1529725 1529773 1529787 1529809 1529816 1529821 1529822 1529936 1529962 1530014 1530116 1530185 1530216 1530270 1530271 1530308 1530309 1530310 1530340 1530351 1530358 1530428 1530436 1530480 1530481 1530482 1530668 1530669 1530714 1530719 1530722 1530729 1530761 1530795 1530798 1530804 1530805 1530809 1531110 1531193 1531260 1531392 1531411 1531428 1531699 1533647 1533711 1534905 1537046 1537063 1537064 1537422 1537479 1537502 1537503 1537561 1537630 1537647 1537665 1537698 1537998 1538023 1538092 1538110 1538149 1538172 1538173 1538276 1538301 1538453 1538492 1538565 1538607 1538608 1538613 1538719 1538720 1538722 1538756 1538772 1538830 1538881 1539075 1539081 1539212 1539219 1539225 1539230 1539291 1539322 1539340 1539346 1539367 1539372 1539453 1539477 1539478 1539616 1539696 1539707 1539715 1539747 1539748 1539778 1539788 1539793 1539835 1539888 1539904 1539988 1540007 1540030 1540056 1540067 1540126 1540127 1540159 1540183 1540205 1540211 1540306 1562409 1562772 1563380 1563382 1563385 1563691 1563722 1563747 1563748 1564132 1564134 1564137 1564350 1564351 1564370 1564371 1564376 1564561 1564583 1564584 1564654 1564656 1564673 1564674 1564682 1564741 1564779 1564868 1564869 1564870 1564871 1564881 1564904 1564905 1564906 1564946 1565020 1565068 1565114 1565115 1565128 1565154 1565156 1565167 1565185 1565230 1565282 1565298 1565302 1565319 1565367 1565390 1565394 1565399 1565406 1565410 1565431 1565529 1565727 1565746 1565802 1565805 1565819 1565821 1565823 1565824 1565931 1565932 1565941 1566012 1566036 1566048 1566065 1566069 1566155 1566160 1566172 1566236 1566264 1566272 1566294 1566301 1566308 1566330 1566368 1566451 1566453 1566472 1566478 1566488 1566492 1566493 1566543 1566544 1566548 1566549 1566550 1566551 1566553 1566558 1566589 1566630 1566664 1566674 1566690 1566693 1566700 1566771 1566772 1566773 1566785 1566788 1566789 1566790 1566805 1566913 1566949 1567014 1567029 1567032 1567117 1567161 1567162 1567268 1567392 1567439 1567500 1567555 1567556 1567662 1567706 1567729 1567736 1567746 1567763 1567764 1567768 1567772 1567813 1567816 1567863 1567902 1567962 1567985 1567987 1568043 1568044 1568085 1568106 1568122 1568135 1568158 1568167 1568170 1568193 1568209 1568219 1568221 1568244 1568255 1568257 1568260 1568295 1568365 1568395 1568396 1568414 1568447 1568573 1568575 1568616 1568664 1568699 1568719 1568724 1568753 1568762 1568795 1568806 1568848 1568955 1568971 1568972 1568982 1568991 1568995 1569072 1569165 1569174 1569186 1569190 1569237 1569301 1569354 1569428 1569581 1569654 1569697 1569711 1569720 1569722 1569730 1569754 1569827 1569854 1569856 1569857 1569870 1569947 1569952 1569957 1569995 1570023 1570081 1570123 1570188 1570191 1570204 1570321 1570344 1570448 1570458 1570566 1570568 1570569 1570650 1570652 1570707 1570713 1570714 1570740 1570804 1570871 1570938 1570940 1570952 1571004 1571005 1571026 1571062 1571065 1571148 1571149 1571217 1571292 1571308 1571335 1571338 1571339 1571393 1571410 1571411 1571448 1571455 1571464 1571481 1571486 1571508 1571559 1571580 1571584 1571608 1571614 1571619 1571638 1571641 1571648 1571649 1571679 1572687 1578592 1578593 1579194 1579754 1587002 1587004 1608304 1608558 1608570 1608589 1608757 1609142 1609179 1609230 1609289 1609297 1609759 1609777 1609817 1609943 1610209 1610309 1610330 1610382 1610440 1610445 1610451 1610743 1610787 1610829 1610837 1610840 1610965 1610996 1611444 1611919 1611964 1611966 1611998 1612020 1612072 1612096 1612106 1612144 1612201 1612225 1612279 1612796 1612812 1612819 1612826 1612831 1613323 1613332 1613338 1613366 1613850 1613884 1613886 1614412 1614416 1614975 1614983 1614996 1615005 1615561 1616557 1619116 1619123 1619833 1619869 1620001 1620047 1620098 1620101 1620136 1620191 1620239 1621245 1709139 1709390 1710327 1822686 1822704 1822731 1822756 1822764 1822773 1822777 1822780 1822796 1822901 1822902 1823021 1823140 1823141 1823142 1823143 1823242 1823451 1823460 1823488 1823489 1823554 1823584 1823619 1823643 1823696 1823884 1823897 1824103 1824218 1824670 1824728 1824745 1824761 1824810 1825022 1825045 1825406 1825410 1825450 1825479 1825484 1825497 1825519 1825534 1825547 1825588 1825613 1825777 1825793 1825796 1825854 1825962 1826261 1826313 1826314 1826316 1826323 1826328 1826332 1826354 1826361 1826468 1826559 1826562 1826565 1826604 1826618 1826623 1826630 1826646 1826790 1826813 1826849 1826941 1835006 1835861 1836110 1836172 1836205 1836606 1837204 1842747 1842869 1842980 1843354 1845100 1847413 1847895 1853685 1864009 1864736 1968839 2239319 2239356 2239455 2239557 2239666 2240116 2240226 2240312 2678521 2678700 2681322 2681589 2681637 2681922 2828579 2828701 2828741 2829252 3147205 3147208 3147213 3147215 3147237 3147444 3470429 3541091 3543924 3813941 3814675 3815103 3891460)\n(14 990 1076 1077 1078 1082 1084 1138 1248 1250 1252 1253 1254 1699 1703 1705 1830 1930 3876 4507 4508 4512 4515 4516 4585 4586 4587 4589 4590 4591 4594 4595 4597 4611 4612 4613 4660 4661 4663 4670 4770 4772 4892 4926 4977 5380 6013 6017 6033 6034 6132 6170 6303 6304 6308 6522 6791 6792 6813 6814 6819 6916 8544 8549 8581 8862 9054 9055 9063 9064 10147 10148 10150 10152 10154 10156 10158 10829 10830 10831 11731 12510 13738 14248 14344 14346 14727 14735 14738 14833 14834 15146 16216 16676 16677 16878 16880 16913 16914 17098 17633 18148 18149 18150 18151 18152 18153 18154 18155 18479 18480 18481 18483 19268 22727 22731 22828 22937 22938 22939 22940 23237 23238 23358 23359 23360 23361 23362 23368 23411 23859 23861 25807 25964 25966 25996 25997 26150 26390 26536 26907 26912 26913 26914 26917 26922 26923 26924 26925 26926 26927 26934 26938 26941 26943 26944 27147 27571 27573 27575 27576 28142 28207 28240 28241 28243 30410 30411 30635 30637 30641 30745 30762 30964 30965 30967 31738 31768 32435 32436 33475 33476 33477 33481 33697 33701 33702 33750 33807 33808 33809 33811 33818 33819 35474 35475 35495 35496 35497 35500 35501 35502 35503 35791 36111 36112 36113 36115 36120 36124 36125 36126 36197 36340 36765 36766 36953 36956 36957 36959 36960 37882 37965 37970 37972 37973 37986 38028 38170 38172 38174 38393 38394 38402 38404 38408 38409 38410 38411 38412 38420 38421 38422 38423 38424 39825 39877 39878 40069 40837 40838 40840 41944 42446 42447 42628 42629 42637 42638 43327 43405 43406 43408 43409 43524 79134 79488 80118 81786 85384 85439 85440 85441 85442 85444 85448 85449 85450 85453 85454 85455 85461 85462 85463 85464 85465 85466 85467 85468 85469 85470 85471 85472 85473 85474 85475 85476 85478 85479 85480 85481 85482 85483 85484 85485 85486 85487 85488 85489 85490 85491 85492 85493 85494 85495 85496 85497 85498 85501 85502 85503 85508 85509 85510 85520 85540 85549 85957 86300 86662 86663 86819 86820 86948 87170 121772 152140 162420 162421 162736 162737 162784 162785 162786 178863 206347 206360 206361 206362 206363 206383 206384 206385 206668 221084 234893 238082 242615 242631 242709 242710 242877 242938 242946 255289 260214 260328 260329 282676 300959 302285 307852 314746 314748 314751 314752 314753 314754 314755 314756 314757 314758 314759 314760 314761 314771 314772 314774 314775 314776 314777 314778 314782 314785 314786 314787 314788 314789 314790 314791 314792 314794 314795 314796 314797 314798 314800 314801 314802 314807 314808 314809 314815 314818 314819 314820 314823 314825 314826 314829 314833 314834 314835 314836 314838 314840 314842 314843 314845 314848 314849 314850 314851 314852 314854 314858 314859 314860 314861 314862 314863 314864 314865 314866 314867 314868 314870 314871 314874 314875 314876 314877 314878 314879 314880 314881 314882 314883 314884 314885 314886 314887 314888 314889 314890 314891 314892 314893 314894 314895 314896 314897 314898 314899 314900 314901 314902 314903 314904 314905 314906 314909 314911 314912 314913 314917 314918 314919 314920 314921 314922 314923 314924 314925 314926 314928 314929 314930 314931 314932 314933 314934 314935 314936 314937 314939 314940 314941 314943 314945 314946 314949 314950 314951 314952 314953 314954 314955 314957 314958 314959 314960 314961 314964 314966 314968 314969 314970 314971 314972 314974 314975 314976 314977 314978 314979 314980 314981 314982 314984 314985 314989 314991 314992 314993 314994 314998 314999 315000 315001 315002 315003 315004 315007 315012 315015 315017 315018 315019 315020 315021 315022 315023 315024 315025 315026 315027 315028 315029 315032 315033 315034 315036 315039 315042 315043 315044 315045 315046 315047 315048 315049 315050 315051 315052 315053 315054 315055 315056 315057 315058 315059 315060 315062 315063 315064 315065 315066 315067 315068 315069 315070 315071 315072 315073 315074 315076 315077 315078 315079 315080 315081 315082 315083 315084 315085 315086 315087 315088 315089 315090 315093 315094 315095 315096 315097 315098 315099 315100 315101 315103 315104 315105 315106 315107 315108 315109 315110 315111 315112 315113 315114 315116 315117 315118 315119 315120 315121 315122 315123 315124 315126 315127 315128 315131 315132 315137 315138 315140 315141 315142 315143 315144 315145 315146 315147 315148 315149 315150 315151 315152 315153 315155 315158 315160 315161 315163 315166 315168 315169 315170 315171 315175 315176 315177 315178 315179 315180 315183 315184 315186 315187 315188 315190 315191 315192 315193 315194 315195 315196 315197 315198 315199 315200 315201 315202 315203 315204 315205 315206 315207 315211 315212 315213 315214 315215 315216 315218 315219 315220 315221 315222 315223 315225 315227 315231 315232 315233 315234 315235 315236 315237 315238 315239 315240 315241 315244 315245 315246 315247 315248 315249 315250 315251 315252 315253 315255 315256 315258 315259 315260 315261 315263 315264 315265 315266 315267 315268 315271 315272 315273 315274 315276 315277 315278 315281 315282 315283 315284 315285 315286 315287 315290 315291 315299 315301 315311 315313 315315 315318 315323 315326 315333 315334 315337 315338 315340 315341 315346 315353 315355 315360 315365 315389 315391 315397 315399 315417 315427 315430 315431 315441 315444 315445 315446 315448 315453 315456 315458 315459 315462 315467 315468 315469 315476 315481 315482 315486 315495 315496 315502 315505 315525 315527 315557 315578 315579 315582 315583 315593 315596 315599 315602 315613 315628 315665 315672 315678 315680 315681 315697 315699 315703 315708 315709 315714 315715 315731 315734 315735 315737 315739 315740 315749 315750 315753 315756 315757 315774 315787 315800 315815 315822 315841 315842 315861 315880 315881 315887 315890 315891 315908 315909 315924 315973 315994 315996 316019 316028 316037 316064 316073 316076 316090 316091 316126 316138 316162 316168 316170 316176 316180 316188 316194 316198 316199 316202 316219 316221 316232 316234 316253 316269 316301 316310 316321 316329 316350 316410 316411 316448 316451 316477 316486 316511 316561 316564 316590 316598 316605 316640 316646 316712 316747 316748 316762 316764 316841 316922 316927 316936 316970 317024 317120 317122 317123 317124 317125 317172 317293 317294 317302 317367 317445 317446 317447 317448 317449 317450 317451 317452 317453 317454 317455 317461 317462 317463 317464 317465 317466 317468 317469 317470 317471 317472 317473 317474 317475 317476 317477 317478 317479 317480 317481 317485 317487 317490 317491 317492 317493 317494 317495 317496 317497 317500 317501 317502 317503 317504 317505 317507 317508 317513 317516 317518 317519 317524 317525 317526 317528 317530 317531 317533 317534 317536 317537 317538 317541 317542 317543 317545 317549 317551 317552 317553 317554 317555 317556 317558 317559 317561 317563 317564 317565 317566 317567 317568 317569 317570 317571 317572 317573 317574 317576 317577 317578 317580 317581 317582 317583 317584 317585 317586 317587 317588 317589 317591 317592 317593 317597 317598 317599 317603 317604 317605 317606 317607 317608 317609 317610 317611 317612 317613 317614 317615 317618 317619 317620 317624 317625 317627 317628 317629 317630 317632 317633 317634 317635 317636 317638 317639 317640 317642 317645 317647 317648 317649 317650 317657 317658 317659 317660 317661 317662 317663 317664 317665 317666 317667 317669 317670 317676 317677 317679 317703 317704 317705 317707 317708 317709 317710 317711 317712 317713 317714 317716 317717 317718 317719 317720 317721 317722 317723 317724 317725 317726 317727 317728 317729 317731 317732 317733 317734 317735 317737 317738 317739 317740 317741 317742 317743 317744 317745 317746 317749 317750 317751 317752 317753 317754 317755 317756 317757 317758 317759 317760 317761 317762 317763 317766 317767 317769 317770 317773 317774 317775 317778 317780 317782 317783 317784 317785 317786 317787 317788 317789 317791 317796 317797 317798 317799 317805 317806 317807 317808 317810 317811 317812 317813 317815 317816 317817 317818 317819 317820 317821 317822 317823 317824 317828 317829 317830 317831 317833 317834 317835 317836 317837 317838 317840 317841 317843 317845 317847 317850 317851 317852 317853 317854 317855 317858 317861 317862 317863 317864 317865 317867 317869 317870 317872 317874 317875 317876 317879 317881 317882 317883 317885 317886 317887 317888 317889 317890 317892 317893 317894 317896 317897 317898 317899 317900 317901 317902 317903 317904 317905 317906 317908 317909 317918 317919 317920 317921 317922 317923 317924 317925 317926 317927 317928 317929 317930 317931 317932 317933 317934 317936 317940 317941 317943 317944 317945 317946 317947 317948 317951 317952 317953 317954 317955 317956 317957 317959 317964 317966 317967 317968 317969 317970 317971 317973 317974 317975 317976 317977 317979 317980 317981 317982 317983 317984 317985 317986 317987 317989 317990 317992 317993 317994 317995 317996 317997 317998 318000 318006 318007 318008 318009 318012 318013 318014 318015 318016 318018 318019 318020 318024 318026 318028 318030 318031 318032 318033 318034 318038 318039 318041 318042 318043 318044 318045 318046 318047 318048 318049 318050 318051 318052 318053 318054 318055 318056 318062 318063 318064 318065 318066 318067 318071 318072 318073 318074 318075 318076 318077 318078 318080 318082 318083 318084 318085 318086 318087 318088 318090 318091 318095 318096 318099 318100 318101 318102 318105 318106 318107 318111 318112 318113 318114 318115 318116 318118 318120 318121 318122 318123 318124 318125 318126 318127 318128 318129 318130 318131 318133 318134 318136 318137 318138 318139 318141 318142 318143 318144 318145 318146 318147 318148 318149 318150 318151 318152 318153 318154 318155 318156 318157 318158 318159 318160 318161 318162 318163 318164 318165 318167 318168 318171 318174 318175 318176 318177 318179 318180 318181 318183 318185 318186 318187 318188 318193 318195 318197 318198 318199 318201 318202 318203 318204 318205 318209 318210 318212 318213 318214 318215 318216 318218 318219 318222 318228 318230 318231 318234 318238 318239 318240 318241 318242 318243 318244 318248 318252 318253 318254 318255 318256 318257 318258 318259 318260 318261 318263 318264 318266 318268 318269 318270 318271 318273 318274 318275 318276 318277 318278 318279 318281 318282 318283 318284 318285 318286 318287 318288 318289 318290 318291 318295 318296 318297 318301 318302 318303 318304 318305 318306 318307 318308 318309 318310 318319 318321 318323 318324 318348 318349 318353 331716 331718 331719 331720 331724 348055 348061 376587 376588 376589 376624 376625 392411 445625 445626 445627 445628 445630 445631 445632 445635 445639 445640 445641 445642 445643 445644 445645 445646 445647 445648 445650 445651 445652 445653 445656 445658 445659 445660 445664 445665 445666 445668 445671 445672 445673 445674 445685 445686 445687 445688 445690 445691 445692 445697 445698 445700 445701 445702 445703 445704 445705 445707 445725 445726 445727 445728 445730 445731 445733 445734 445738 445742 445746 445748 445750 445751 445752 445753 445754 445756 445757 445759 445760 445761 445764 445766 445767 445768 445770 445775 445776 445777 445778 445780 445781 445784 445785 445787 445788 445789 445790 445791 445795 445796 445797 445799 445800 445801 445802 445803 445806 445809 445812 445813 445814 445815 445816 445818 445819 445826 445827 445830 445832 445834 445835 445837 445839 445840 445842 445843 445844 445846 445847 445853 445854 445856 445859 445860 445861 445862 445863 445864 445867 445868 445870 445872 445873 445875 445878 445883 445887 445894 445895 445896 445898 445899 445900 445901 445910 445911 445912 445913 445921 445922 445923 445924 445926 445927 445928 445933 445935 445936 445938 445939 445940 445941 445944 445945 445946 445948 445949 445950 445951 445953 445954 445957 445959 445960 445961 445964 445966 445970 445971 445973 445977 445978 445988 445989 445990 445993 445994 445996 445997 445998 445999 446000 446001 446189 449557 459520 475776 475777 475778 475779 483226 520506 521010 522373 522374 522375 522377 522378 522379 522380 522381 522382 522383 522384 522385 522386 522387 522388 522389 522390 522393 522394 522397 522398 522399 522400 522401 522402 522403 522404 522405 522406 522409 524586 524907 524908 525033 544100 544101 544107 544111 544114 544115 544120 544121 544122 544137 544138 544141 544144 544145 544150 544153 544155 544157 544158 544163 544166 544170 544178 547032 547033 552454 555935 562695 562696 562697 562698 562699 563199 577610 578460 578462 579196 579201 579202 579203 579205 579206 579207 579210 579211 579212 579218 579220 579223 579229 579230 579231 579233 579246 579247 579249 579250 579251 579252 579254 579364 579412 579500 579730 580247 580794 580795 580796 580797 596533 596534 597134 597233 597951 597955 597957 597958 598280 599233 599234 599752 599792 600148 600414 600492 600494 600559 678170 682468 684060 686807 686809 686811 686812 686815 686816 686817 686832 686833 686834 686835 686852 686857 699955 724594 728888 729681 729683 729684 729685 751639 751985 751986 751987 751988 751989 751990 751999 752000 752002 752003 752004 752005 752006 752007 752008 752009 752010 752012 752013 752014 752015 752017 752018 752019 752020 752021 752022 752023 752024 752025 752026 752027 752028 752029 752030 752031 752032 752033 752034 752035 752036 752037 752038 752039 752040 752042 752043 752044 772177 807318 807853 872165 872901 882619 883237 883372 887836 936083 949472 993612 995204 995205 995206 995207 995208 995209 995210 995211 995214 995216 995217 995219 995220 995222 995224 995225 995226 995227 995228 995229 995230 995231 995233 995234 995235 995236 995238 995239 995240 995241 995242 995243 995244 995245 995246 995247 995248 995250 995251 995252 995253 995254 995255 995256 995257 995258 995259 995260 995262 995263 995264 995265 995266 995267 995268 995269 995271 995274 995275 995276 995277 995279 995280 995281 995283 995284 995285 995286 995287 995292 995293 995294 995295 995296 995298 995303 995304 995305 995306 995307 995308 995309 995311 995312 995314 995315 995318 995319 995320 995321 995322 995323 995324 995326 995327 995330 995331 995332 995333 995334 995335 995336 995337 995338 995342 995343 995344 995345 995346 995347 995349 995350 995351 995352 995353 995354 995355 995356 995357 995359 995361 995362 995365 995367 995368 995369 995370 995372 995373 995379 995381 995382 995384 995385 995386 995387 995393 995399 995400 995401 995402 995403 995404 995405 995406 995407 995408 995409 995410 995412 995415 995416 995417 995419 995420 995421 995422 995423 995424 995425 995426 995427 995428 995429 995430 995431 995432 995433 995434 995436 995438 995439 995440 995442 995443 995444 995446 995448 995449 995450 995451 995452 995453 995456 995457 995459 995460 995461 995463 995464 995465 995468 995469 995471 995478 995481 995483 995484 995485 995486 995487 995488 995489 995490 995491 995492 995493 995494 995495 995496 995497 995498 995499 995500 995501 995502 995503 995504 995505 995506 995507 995508 995509 995510 995511 995512 995513 995514 995515 995517 995518 995519 995520 995521 995524 995527 995528 995529 995530 995531 995533 995534 995537 995538 995539 995540 995541 995542 995543 995544 995545 995546 995547 995548 995549 995550 995551 995552 995553 995554 995555 995556 995557 995560 995561 995562 995563 995564 995565 995566 995567 995569 995570 995572 995573 995574 995575 995576 995577 995579 995580 995582 995583 995585 995586 995587 995588 995589 995591 995592 995593 995594 995595 995596 995600 995601 995603 995606 995607 995609 995610 995611 995612 995613 995614 995615 995616 995618 995619 995621 995623 995627 995628 995629 995630 995631 995632 995633 995634 995635 995637 995638 995639 995640 995643 995644 995645 995646 995647 995650 995651 995652 995653 995654 995655 995657 995660 995661 995662 995665 995666 995667 995668 995669 995670 995672 995673 995675 995676 995677 995678 995679 995681 995682 995684 995685 995686 995687 995688 995691 995692 995693 995694 995695 995697 995698 995700 995701 995702 995703 995704 995705 995706 995707 995709 995710 995711 995712 995713 995714 995715 995716 995718 995719 995720 995721 995722 995723 995724 995725 995726 995727 995728 995729 995730 995731 995732 995733 995734 995735 995736 995737 995738 995739 995740 995741 995742 995743 995744 995745 995746 995747 995748 995749 995750 995751 995752 995753 995754 995755 995756 995757 995758 995759 995760 995761 995762 995763 995764 995765 995766 995767 995768 995770 995771 995772 995773 995774 995777 995779 995780 995781 995782 995783 995785 995786 995788 995790 995791 995793 995794 995795 995796 995797 995798 995799 995800 995801 995802 995806 995807 995809 995811 995812 995814 995815 995816 995817 995818 995819 995820 995821 995822 995824 995825 995826 995827 995828 995829 995830 995831 995832 995833 995834 995835 995836 995837 995838 995839 995840 995842 995843 995845 995846 995847 995848 995855 995856 995857 995858 995859 995860 995864 995865 995867 995868 995874 995928 995929 995930 995931 995933 995936 995937 995950 995952 995953 995954 995955 995956 995957 995964 995966 995967 995969 995970 995979 995981 995982 995983 995984 995985 995988 995989 995990 995991 996013 996014 996015 996016 996017 996020 996022 996023 996209 996210 996211 996213 996214 996216 996217 996219 996220 996221 996222 996223 996224 996225 996226 996227 996228 996229 996232 996234 996235 996236 996237 996238 1000473 1000482 1000521 1000540 1000563 1000576 1000604 1000605 1000822 1000858 1000859 1001866 1001868 1001869 1001870 1001871 1001873 1001874 1001875 1001877 1001878 1001879 1001880 1001881 1001882 1001883 1001884 1001885 1001887 1001888 1001889 1001891 1001893 1001894 1001895 1001897 1001909 1001916 1001917 1001924 1001925 1001927 1001929 1001930 1001931 1001932 1001933 1001937 1001938 1001940 1001942 1001943 1001944 1001945 1001948 1001949 1001950 1001951 1002017 1002019 1002020 1002021 1002312 1002313 1002315 1002316 1002317 1002321 1002585 1002587 1002588 1002589 1002591 1002592 1002593 1002594 1002595 1002597 1002598 1002599 1002601 1002602 1002603 1002609 1002611 1002612 1002613 1002615 1002616 1002619 1002623 1002626 1002627 1002628 1002629 1002630 1002632 1002634 1002637 1002638 1002641 1002642 1002644 1002645 1002646 1002650 1002652 1002661 1002662 1002663 1002664 1002666 1002668 1002669 1002672 1002673 1002675 1002676 1002677 1002678 1002679 1002680 1002681 1002683 1002686 1002687 1002688 1002693 1003831 1003836 1003837 1003846 1003847 1003848 1003851 1003852 1003853 1003854 1003855 1003858 1003859 1003860 1003862 1003864 1003865 1003867 1003868 1003871 1003872 1003873 1003874 1003875 1003877 1003879 1003881 1003883 1003884 1003887 1003888 1003889 1003890 1003891 1003892 1003893 1003895 1004267 1004280 1004285 1004293 1004295 1004297 1004300 1004301 1004308 1004310 1004311 1004312 1004313 1004314 1004315 1004318 1004698 1004747 1004748 1004749 1004751 1004753 1004754 1004755 1004756 1004757 1004758 1004761 1004762 1004764 1004765 1004766 1004768 1004769 1004772 1004774 1004776 1004779 1004780 1004781 1004782 1004783 1004784 1004787 1004788 1004790 1004791 1004792 1004793 1004794 1004795 1004796 1004798 1004799 1004800 1004806 1004807 1004809 1004810 1004811 1004813 1004814 1004815 1004816 1004817 1004818 1004819 1004822 1004828 1004829 1004831 1004832 1004834 1004837 1004838 1004839 1004840 1004843 1004846 1004847 1004850 1004851 1004852 1004857 1004859 1004862 1004863 1004864 1004865 1004867 1004868 1004871 1004872 1004874 1004875 1004876 1005676 1005704 1005706 1005707 1005708 1005759 1005798 1005799 1005800 1005801 1005803 1005807 1005808 1005812 1005814 1005815 1005818 1005819 1005822 1005823 1005824 1005825 1005826 1005827 1005828 1005829 1005831 1005834 1005835 1005837 1005838 1005839 1005840 1005841 1005842 1005843 1005844 1005845 1005848 1005849 1005850 1005852 1005853 1005854 1006245 1006407 1006408 1006411 1006451 1006453 1006454 1006457 1006463 1006466 1006467 1006469 1006470 1006471 1006472 1006477 1006779 1006805 1006860 1006884 1006886 1006887 1006980 1006981 1006998 1007018 1007029 1007064 1007161 1007163 1007166 1007167 1007168 1007169 1007170 1007227 1007257 1007417 1007419 1007422 1007426 1007427 1007429 1007430 1007431 1007432 1007433 1007514 1007560 1007737 1007757 1007768 1007771 1007772 1007826 1007827 1007943 1007986 1007999 1008201 1008234 1008235 1008305 1008339 1008374 1008412 1008413 1008419 1008421 1008422 1008425 1008432 1008462 1008464 1008465 1008539 1008540 1008546 1008576 1008631 1008655 1008665 1008720 1008722 1008723 1008791 1008836 1008915 1008916 1008917 1008928 1008932 1008939 1008940 1009002 1009008 1009009 1009055 1009058 1009116 1009117 1009118 1009119 1009188 1009290 1009400 1009413 1009415 1009426 1009493 1009628 1009850 1009851 1009874 1009927 1009928 1009929 1009999 1010019 1010020 1010021 1010022 1010023 1010024 1010035 1010037 1010038 1010110 1010111 1010153 1010154 1010165 1010172 1010173 1010174 1010176 1010181 1010188 1010262 1010263 1010351 1010393 1010435 1010451 1010485 1010487 1010504 1010670 1010692 1010694 1010696 1010697 1010878 1010920 1010921 1010922 1010923 1010924 1010925 1010926 1010927 1010928 1010929 1010930 1010934 1010935 1010995 1011000 1011001 1011002 1011004 1011108 1011109 1011139 1011140 1011143 1011145 1011146 1011148 1011149 1011155 1011157 1011185 1011187 1011207 1011210 1011236 1011237 1011299 1011301 1011302 1011304 1011305 1011313 1011440 1011442 1011443 1011444 1011445 1011512 1011513 1011514 1011515 1011583 1011584 1011585 1011586 1011587 1011631 1011633 1011635 1011636 1011638 1011639 1011640 1011641 1011648 1011662 1011663 1011664 1011726 1011828 1011850 1011854 1011855 1011859 1011863 1011927 1011951 1011952 1011953 1011988 1011989 1012011 1012013 1012014 1012094 1012131 1012133 1012134 1012138 1012139 1012140 1012276 1012313 1012414 1012438 1012440 1012441 1012442 1012452 1012454 1012456 1012458 1012459 1012469 1012470 1012473 1012479 1012487 1012488 1012490 1012556 1012557 1012558 1012559 1012560 1012561 1012615 1012631 1012636 1012643 1012693 1012736 1012737 1012739 1012921 1012929 1012930 1013155 1013167 1013172 1013173 1013217 1013270 1013303 1013321 1013323 1013324 1013325 1013326 1013331 1013372 1013373 1013442 1013443 1013447 1013448 1013453 1013461 1013482 1013515 1013519 1013575 1013576 1013579 1013585 1013587 1013588 1013589 1013591 1013592 1013600 1013601 1013603 1013605 1013610 1013611 1013631 1013632 1013633 1013635 1013651 1013657 1013658 1013676 1013679 1013723 1013726 1013728 1013883 1013884 1013903 1013904 1013959 1013961 1013981 1013983 1014097 1014137 1014144 1014182 1014295 1014296 1014409 1014432 1014475 1014476 1014477 1014541 1014543 1014544 1014545 1014561 1014578 1014645 1014716 1014962 1014964 1015030 1015090 1015091 1015265 1015325 1015326 1015530 1015533 1015535 1015541 1015549 1015550 1015663 1015726 1015727 1015728 1015757 1015775 1015801 1015802 1015811 1015833 1015849 1015850 1015942 1015948 1015949 1015950 1016098 1016102 1016142 1016143 1016144 1016209 1016210 1016211 1016361 1016369 1016462 1016542 1016551 1016553 1016664 1016665 1016666 1016754 1016768 1016785 1016786 1016788 1016857 1016858 1016859 1016906 1016907 1016909 1016919 1017033 1017043 1017084 1017085 1017253 1017254 1017255 1017256 1017257 1017309 1017320 1017322 1017328 1017332 1017338 1017339 1017341 1017344 1017347 1017355 1017356 1017361 1017362 1017364 1017365 1017366 1017370 1017372 1017377 1017378 1017379 1017381 1017382 1017383 1017384 1017385 1017386 1017388 1017390 1017394 1017395 1017396 1017397 1017401 1017403 1017405 1017428 1017430 1017431 1017450 1017465 1017466 1017473 1017528 1017739 1017763 1017764 1017804 1017805 1017806 1017848 1017929 1017945 1017946 1017947 1017949 1017951 1017956 1017957 1017958 1018080 1018233 1018346 1018347 1018349 1018350 1018351 1018469 1018470 1018474 1018514 1018551 1018556 1018558 1018561 1018562 1018708 1018787 1018788 1018793 1018821 1018835 1018978 1019109 1019214 1019215 1019216 1019217 1019220 1019273 1019408 1019450 1019455 1019460 1019466 1019471 1019473 1019476 1019478 1019638 1019671 1019692 1019697 1019714 1019722 1019724 1019725 1019729 1019777 1019778 1019828 1019829 1019865 1019872 1019875 1019967 1020181 1020182 1020187 1020190 1020191 1020192 1020193 1020194 1020304 1020305 1020322 1020324 1020337 1020430 1020442 1020457 1020500 1020510 1020562 1020606 1020608 1020613 1020620 1020658 1020692 1020693 1020754 1020756 1020758 1020759 1020760 1020762 1020763 1020764 1020971 1021419 1021428 1021432 1021478 1021497 1021577 1021581 1021607 1021625 1021635 1021641 1021642 1021720 1021722 1021724 1021725 1021728 1021730 1021733 1021734 1021754 1021769 1021784 1021785 1021786 1021787 1021818 1021838 1021993 1021994 1021995 1022055 1022079 1022232 1022250 1022277 1022278 1022293 1022294 1022336 1022441 1022472 1022474 1022475 1022476 1022492 1022493 1022496 1022497 1022531 1022538 1022539 1022647 1022801 1022802 1022917 1022918 1022920 1022941 1022942 1022956 1022958 1023226 1023236 1023261 1023268 1023385 1023661 1023822 1023852 1023974 1024016 1024116 1024255 1024256 1024278 1024513 1024538 1024539 1024582 1024626 1024627 1024672 1024846 1024868 1024976 1024977 1025021 1025026 1025032 1025034 1025089 1025114 1025132 1025315 1025328 1025390 1025392 1025395 1025401 1025425 1025427 1025428 1025513 1025547 1025562 1025582 1025593 1025746 1025751 1025752 1025853 1025855 1025860 1025892 1025893 1025894 1025896 1025897 1025898 1025899 1026086 1026180 1026185 1026194 1026201 1026205 1026207 1026208 1026211 1026212 1026214 1026217 1026219 1026223 1026228 1026232 1026235 1026236 1026237 1026241 1026307 1026308 1026309 1026311 1026320 1026322 1026323 1026326 1026327 1026329 1026332 1026337 1026339 1026341 1026342 1026343 1026344 1026346 1026347 1026349 1026353 1026356 1026357 1026361 1026371 1026372 1026374 1026376 1026381 1026382 1026383 1026384 1026386 1026387 1026390 1026391 1026394 1026397 1026398 1026399 1026404 1026405 1026406 1026407 1026408 1026410 1026413 1026414 1026417 1026419 1026421 1026425 1026426 1026525 1026528 1026533 1026618 1026631 1026640 1026641 1026645 1026646 1026647 1026648 1026649 1026661 1026662 1026758 1026768 1026769 1026770 1026771 1026777 1026778 1026783 1026785 1026794 1026795 1026797 1026800 1026801 1026804 1026806 1026810 1026811 1026812 1026813 1026817 1026820 1026826 1026827 1026828 1026829 1026835 1026836 1026837 1026840 1026841 1026842 1026843 1026844 1026852 1026854 1026856 1026857 1026859 1026860 1026863 1026864 1026872 1026873 1026875 1026879 1026881 1026882 1026885 1026887 1026911 1026912 1027041 1027045 1027169 1027171 1027179 1027180 1027182 1027196 1027201 1027203 1027223 1027293 1027341 1027342 1027372 1027378 1027402 1027406 1027423 1027487 1027499 1027527 1027529 1027726 1027727 1027728 1027771 1027772 1027777 1027848 1027877 1027928 1027985 1027992 1028210 1028211 1028222 1028223 1028230 1028245 1028260 1028266 1028363 1028500 1028502 1028503 1028536 1028537 1028538 1028547 1028549 1028566 1028571 1028652 1028656 1028683 1028696 1028826 1028834 1028835 1029074 1029075 1029088 1029090 1029150 1029191 1029224 1029226 1029227 1029228 1029239 1029240 1029285 1029286 1029422 1029426 1029427 1029429 1029431 1029450 1029698 1029701 1029713 1029729 1029730 1029782 1029801 1030218 1030220 1030314 1030315 1030349 1030350 1030395 1030415 1030432 1030434 1030437 1030438 1030439 1030459 1030468 1030488 1030619 1030620 1030621 1030622 1030623 1030624 1030627 1030692 1030729 1030732 1031029 1031167 1031177 1031178 1031325 1031326 1031345 1031367 1031368 1031369 1031371 1031373 1031374 1031380 1031382 1031454 1031521 1031522 1031571 1031588 1031599 1031600 1031601 1031635 1031669 1031671 1031771 1031783 1031955 1032003 1032008 1032009 1032035 1032093 1032113 1032114 1032116 1032117 1032118 1032171 1032172 1032187 1032203 1032213 1032214 1032215 1032246 1032247 1032255 1032282 1032302 1032307 1032308 1032356 1032357 1032387 1032428 1032431 1032433 1032501 1032579 1032627 1032649 1032674 1032745 1032754 1032851 1033021 1033043 1033047 1033176 1033189 1033190 1033205 1033576 1033613 1033615 1033616 1033658 1033659 1033867 1033917 1033920 1033924 1034047 1034048 1034049 1034050 1034052 1034105 1034129 1034453 1034454 1034478 1034484 1034485 1034487 1034488 1034489 1034493 1034494 1034501 1034504 1034506 1034587 1034591 1034594 1034753 1034761 1034764 1034784 1034786 1034788 1034789 1034799 1034855 1034914 1034915 1035040 1035041 1035047 1035072 1035073 1035110 1035224 1035225 1035233 1035385 1035386 1035387 1035401 1035407 1035517 1035575 1035600 1035663 1035664 1035675 1035678 1035771 1035842 1035851 1035882 1035902 1035912 1035938 1035965 1035966 1035970 1035983 1036013 1036014 1036015 1036019 1036020 1036023 1036071 1036084 1036092 1036093 1036096 1036097 1036136 1036137 1036138 1036139 1036140 1036141 1036171 1036181 1036182 1036185 1036186 1036187 1036252 1036254 1036255 1036259 1036298 1036441 1036442 1036445 1036446 1036491 1036497 1036498 1036499 1036500 1036515 1036516 1036529 1036531 1036566 1036634 1036692 1036693 1036694 1036715 1036716 1036717 1036747 1036777 1036778 1036779 1036795 1036796 1036797 1036798 1036800 1036802 1036835 1036839 1036865 1036880 1036884 1037081 1037092 1037093 1037099 1037100 1037101 1037102 1037103 1037105 1037106 1037108 1037109 1037110 1037111 1037113 1037114 1037115 1037116 1037123 1037125 1037127 1037128 1037129 1037140 1037155 1037156 1037157 1037159 1037165 1037184 1037356 1037391 1037392 1037393 1037481 1037484 1037497 1037519 1037563 1037570 1037574 1037658 1037686 1037728 1037753 1037773 1037777 1037778 1037779 1037801 1037844 1037845 1037898 1037899 1037954 1037955 1038045 1038168 1038169 1038170 1038171 1038172 1038173 1038176 1038177 1038224 1038329 1038330 1038331 1038332 1038450 1038604 1038669 1038678 1038817 1038818 1038907 1038964 1039002 1039029 1039105 1039334 1039405 1039508 1039509 1039513 1039593 1039692 1039715 1039773 1039792 1039829 1039830 1039906 1039950 1039951 1040072 1040142 1040154 1040155 1040285 1040296 1040339 1040365 1040520 1040566 1040568 1040570 1040571 1040695 1040700 1040703 1040704 1040746 1040967 1041268 1041285 1041320 1041321 1041458 1041506 1041507 1041534 1041561 1041589 1041663 1041664 1041665 1041666 1041703 1041712 1041740 1041742 1041826 1041829 1041830 1041917 1042003 1042004 1042005 1042006 1042008 1042121 1042122 1042123 1042124 1042164 1042290 1042427 1042438 1042455 1042460 1042565 1042574 1042663 1042950 1042951 1043254 1043261 1043264 1043271 1043514 1043618 1043633 1043634 1043718 1043805 1043811 1043883 1043884 1043924 1043949 1044143 1044331 1044362 1044388 1044583 1044589 1044637 1044672 1044898 1044899 1044998 1045048 1045121 1045125 1045318 1045554 1045610 1045651 1045861 1045939 1046041 1046073 1046229 1046390 1046411 1046508 1046820 1046835 1046839 1046847 1046850 1047126 1047137 1047145 1047147 1047151 1047161 1047204 1047211 1047227 1047372 1047520 1047526 1047634 1047656 1047852 1047885 1047910 1047965 1047966 1047968 1047969 1047978 1047984 1048029 1048105 1048114 1048115 1048116 1048117 1048118 1048119 1048164 1048165 1048184 1048215 1048216 1048217 1048219 1048437 1048438 1048440 1048786 1048892 1049013 1049038 1049102 1049145 1049210 1049431 1049459 1049460 1049573 1049735 1049742 1049743 1049744 1049745 1049776 1049777 1050030 1050119 1050163 1050423 1050486 1050500 1050641 1050766 1050816 1050990 1051095 1051096 1051263 1051295 1051298 1051299 1051336 1051597 1051612 1051788 1051899 1051978 1051983 1051990 1052006 1052301 1052318 1052387 1052622 1052624 1052638 1052641 1052745 1052751 1052774 1052782 1052921 1053094 1053263 1053534 1053623 1053757 1053815 1053975 1053986 1054101 1054178 1054191 1054419 1054424 1054472 1054553 1054680 1054682 1054924 1055093 1055197 1055198 1055199 1055209 1055218 1055365 1055371 1055439 1055836 1056067 1056107 1056109 1056172 1056201 1056236 1056256 1056265 1056346 1056383 1056386 1056461 1056478 1056604 1056605 1056780 1056854 1056978 1056979 1057025 1057043 1057044 1057045 1057057 1057066 1057150 1057162 1057166 1057243 1057281 1057298 1057300 1057305 1057306 1057314 1057352 1057384 1057409 1057550 1057551 1057553 1057554 1057559 1057640 1057769 1057884 1057986 1058037 1058127 1058213 1058214 1058216 1058217 1058391 1058392 1058629 1058704 1058705 1058842 1058944 1059344 1059410 1059509 1059730 1059782 1059923 1059943 1060576 1060853 1060854 1061027 1061072 1061104 1061106 1061117 1061667 1061821 1062146 1062186 1062310 1062311 1062435 1062437 1062561 1062562 1062639 1062691 1062733 1062734 1062756 1063232 1063395 1063396 1063418 1063419 1063420 1063421 1063439 1063523 1063947 1064056 1064057 1064121 1064362 1064449 1064451 1064452 1064501 1064574 1064620 1064624 1064746 1064749 1064820 1064828 1064930 1064932 1064933 1064942 1064976 1064977 1065064 1065134 1065190 1065191 1065239 1065384 1065442 1065443 1065468 1065469 1065471 1065472 1065473 1065474 1065475 1065476 1065477 1065478 1065557 1065569 1065635 1065763 1065764 1065765 1065873 1066019 1066168 1066170 1066172 1066174 1066181 1066277 1066561 1066567 1066639 1066640 1066643 1066667 1066702 1066703 1066948 1067881 1067998 1068242 1068493 1068498 1068499 1068549 1068741 1068855 1069142 1069168 1069272 1069289 1069428 1069522 1069641 1069874 1069952 1069975 1070035 1070333 1070538 1070539 1070672 1070673 1070674 1070690 1070691 1070692 1070693 1070698 1070721 1070729 1070730 1070733 1070734 1070740 1070742 1070744 1070779 1070847 1070857 1071040 1071043 1071063 1071403 1071404 1071674 1071700 1071708 1071820 1071926 1072063 1072247 1072349 1072423 1072432 1072598 1072599 1072610 1072611 1072698 1072735 1072760 1072777 1072796 1072823 1072848 1072897 1072901 1072910 1072930 1073029 1073048 1073118 1073141 1073181 1073447 1073613 1073660 1074134 1074145 1074216 1074494 1074527 1074598 1074602 1074946 1074947 1074949 1074950 1074953 1075073 1075074 1075075 1075091 1075236 1075271 1075307 1075356 1075365 1075545 1075626 1075739 1075818 1075920 1075930 1076040 1076048 1076087 1076143 1076161 1076163 1076164 1076288 1076306 1076532 1076544 1076661 1076664 1076685 1076729 1076731 1076732 1076733 1076735 1076835 1076994 1076995 1077013 1077092 1077098 1077201 1077215 1077233 1077314 1077406 1077407 1077408 1077795 1077796 1078338 1078358 1078424 1078479 1078518 1078615 1078707 1078708 1078709 1078710 1078763 1078776 1079078 1079148 1079261 1079366 1079369 1079474 1079571 1079625 1079626 1079738 1079817 1079818 1079819 1079821 1079979 1080389 1080525 1080595 1080663 1080664 1080665 1080666 1080704 1080707 1080709 1080710 1080711 1080712 1080713 1080714 1080715 1080717 1080718 1080719 1080720 1080721 1080722 1080723 1080725 1080726 1080727 1080728 1080729 1080730 1080731 1080732 1080733 1080734 1080735 1080736 1080739 1080742 1080743 1080746 1080747 1080748 1080749 1081277 1081282 1081482 1081483 1081484 1081485 1081489 1081535 1081565 1081566 1081568 1081569 1081570 1081724 1081731 1081789 1081856 1081857 1081859 1081978 1082055 1082217 1082393 1082543 1082577 1082692 1082714 1082766 1082770 1082812 1082836 1082889 1082890 1082983 1083002 1083032 1083257 1083318 1083319 1083373 1083404 1083592 1083611 1083665 1083666 1083668 1083669 1083842 1083844 1083946 1084498 1084643 1084873 1084886 1084938 1084989 1085008 1085020 1085080 1085115 1085289 1085328 1085651 1085781 1085906 1085931 1086047 1086066 1086206 1086275 1086365 1086382 1086500 1086505 1086874 1086885 1086995 1087094 1087230 1087404 1087552 1087888 1088188 1088204 1088241 1088330 1088392 1089226 1089703 1089873 1089936 1090622 1090693 1091034 1091137 1091527 1091572 1091631 1091642 1091706 1091776 1092041 1092128 1092338 1092407 1092413 1092953 1092954 1092955 1092956 1092959 1093123 1093125 1093241 1093686 1093834 1093925 1093952 1093997 1094018 1094021 1094028 1094070 1094279 1094766 1094922 1095011 1095473 1095785 1095838 1116488 1136015 1136217 1136218 1136219 1136221 1140704 1187149 1187150 1187324 1187341 1187411 1187447 1187460 1187506 1187508 1187509 1187511 1187597 1187661 1187664 1187721 1187732 1187735 1187737 1187839 1187846 1187861 1187951 1187978 1187982 1188016 1188151 1188152 1188215 1188221 1188313 1188314 1188349 1188555 1188561 1188591 1188652 1188733 1188734 1188742 1188853 1189263 1189527 1189528 1189529 1189727 1189735 1189816 1189818 1189819 1189831 1189832 1189834 1189931 1189932 1189937 1190001 1190054 1190219 1190328 1190361 1190377 1191566 1191567 1191568 1191569 1191795 1191820 1191943 1192092 1192134 1192145 1192147 1192160 1192205 1192246 1192271 1192330 1192387 1192706 1192787 1193099 1193100 1193153 1193219 1193220 1193289 1193322 1193397 1193594 1193658 1193713 1193840 1193947 1193948 1193957 1194022 1194077 1194078 1194079 1194288 1194369 1194518 1194527 1194861 1195231 1195366 1195455 1195619 1195737 1196029 1196123 1196244 1196261 1196267 1196268 1196337 1197197 1197203 1197282 1197283 1197284 1197462 1197463 1197507 1197528 1197532 1197744 1198022 1198030 1198031 1198056 1198103 1198310 1198332 1198393 1198394 1198395 1198396 1198481 1198566 1198567 1198715 1198842 1199209 1199441 1199469 1199598 1199599 1199954 1199955 1199979 1200017 1200095 1200097 1200364 1200891 1200892 1201091 1201425 1201581 1201706 1201989 1202004 1202407 1202634 1203034 1203534 1203537 1203770 1203872 1203873 1203874 1203932 1203980 1204080 1204212 1204313 1204315 1204316 1204554 1204646 1204868 1205032 1205080 1205081 1205189 1205342 1205369 1205370 1205642 1205643 1205922 1205923 1205979 1206441 1206578 1206959 1207037 1207067 1207105 1207106 1207171 1207234 1207333 1207348 1207407 1207408 1207468 1207515 1207577 1208012 1208217 1208255 1208324 1208673 1208983 1208990 1209093 1209131 1209134 1209136 1209197 1209198 1209933 1210068 1210111 1210131 1210134 1210217 1210218 1210220 1210221 1210333 1210443 1210517 1210529 1210563 1210564 1210565 1210572 1210573 1210576 1210577 1210579 1210581 1210583 1210632 1210760 1210767 1210808 1210810 1210947 1210948 1210952 1211012 1211091 1211092 1211446 1211504 1211506 1211653 1212029 1212031 1212089 1212090 1212092 1212093 1212200 1212201 1212203 1212204 1212206 1212219 1212549 1212591 1212592 1212595 1212603 1212874 1212879 1212880 1212932 1213007 1213193 1213219 1213329 1213637 1213729 1213731 1213791 1213835 1214070 1214071 1214080 1214082 1214139 1214156 1214158 1214159 1214173 1214461 1214709 1214984 1215292 1215302 1215326 1215727 1215728 1216217 1216396 1216534 1216672 1216759 1216767 1216789 1216912 1217351 1217399 1217450 1217452 1217454 1217542 1217845 1218276 1218294 1218661 1218983 1218985 1218997 1219004 1219128 1219146 1219173 1219251 1219270 1219340 1219341 1219428 1219435 1219525 1219896 1219900 1220267 1220485 1220609 1220635 1220637 1220638 1220812 1220934 1221015 1221016 1221731 1221974 1221975 1222001 1222088 1222089 1222124 1222125 1222126 1222127 1222295 1222346 1222459 1222479 1222577 1222578 1222648 1222822 1222823 1222824 1222827 1222912 1222993 1222994 1223001 1223003 1223004 1223036 1223037 1223217 1223220 1223241 1223852 1223853 1223856 1224085 1224086 1224112 1224113 1224127 1224179 1224225 1224283 1224829 1224832 1224837 1224838 1224897 1224900 1224904 1224919 1224998 1225188 1225379 1225384 1225498 1225586 1225690 1225739 1226225 1226381 1226749 1226798 1226802 1226940 1226941 1227211 1227212 1227213 1227214 1227215 1227217 1227318 1227319 1227320 1227325 1227326 1227327 1227328 1227329 1227417 1227423 1227424 1227437 1227442 1227451 1227458 1227511 1227578 1227862 1228146 1228147 1228277 1228395 1228406 1228455 1228457 1228883 1228884 1228909 1229047 1229075 1229139 1229219 1229236 1229237 1229249 1229251 1229288 1229523 1229524 1229587 1229589 1229600 1229601 1229615 1229616 1229915 1230106 1230166 1230175 1230621 1230699 1230957 1231074 1231277 1231442 1231443 1231448 1231451 1231518 1231647 1231703 1231917 1232018 1232185 1232233 1232287 1232454 1232658 1232667 1232668 1232671 1232674 1232677 1232697 1232889 1232890 1232959 1233000 1233069 1233208 1233209 1233269 1233390 1233875 1233876 1234196 1234351 1234582 1234583 1234595 1234598 1234616 1234637 1234690 1234788 1234902 1234903 1234904 1235399 1235511 1235562 1235571 1235643 1254144 1257750 1258092 1260916 1260937 1260938 1261190 1262461 1264772 1264774 1264777 1264783 1264785 1264791 1264792 1264796 1264801 1264802 1264813 1264818 1264820 1264821 1264824 1264828 1264830 1264832 1264834 1264842 1264851 1264855 1264896 1264905 1264912 1264926 1264936 1264937 1265031 1265122 1265124 1265125 1265126 1265127 1265128 1265129 1265130 1265131 1265132 1265134 1265154 1265155 1265156 1265157 1265158 1265159 1265160 1265161 1265162 1265163 1265165 1265170 1265175 1265177 1265178 1265181 1265182 1265184 1265186 1265188 1265190 1265210 1265217 1265219 1265223 1265226 1265227 1265228 1265231 1265234 1265235 1265236 1265237 1265238 1265239 1265243 1265248 1265249 1265259 1265260 1265261 1265262 1265265 1265275 1265277 1265281 1265283 1265284 1265292 1265293 1265294 1265298 1265300 1265302 1265303 1265306 1265310 1265314 1265318 1265319 1265322 1265323 1265355 1265366 1265367 1265368 1269175 1272768 1275758 1275771 1275777 1275795 1285562 1295730 1295732 1295733 1295735 1295737 1295738 1295739 1295746 1295747 1295748 1295749 1295750 1295751 1295752 1295757 1295758 1295759 1295760 1295761 1295763 1295765 1295766 1295767 1295771 1295773 1295775 1295776 1295779 1295780 1295781 1295783 1295785 1295787 1295788 1295792 1295793 1295796 1295797 1295798 1295799 1295804 1295805 1295806 1295807 1295813 1295814 1295815 1295817 1295818 1295819 1295822 1295823 1295824 1295827 1295830 1295833 1295835 1295837 1295839 1295840 1295845 1295851 1295852 1295853 1295854 1295858 1295859 1295861 1295863 1295864 1295865 1295867 1295869 1295870 1295872 1295873 1295874 1295877 1295878 1295879 1295880 1295882 1295886 1295891 1295892 1295893 1295894 1295895 1295896 1295899 1295900 1295901 1295905 1295906 1295907 1295910 1295911 1295913 1295915 1295917 1295918 1295920 1295922 1295923 1295924 1295925 1295930 1295941 1299018 1299043 1299049 1299078 1299092 1299785 1299786 1299789 1301093 1301187 1301419 1301465 1301466 1301951 1303171 1303172 1317550 1317551 1318880 1318975 1319191 1319192 1319998 1320262 1320268 1328888 1328889 1328890 1328891 1328893 1328937 1444090 1444096 1444097 1444098 1444102 1444103 1444104 1444105 1444106 1444110 1444111 1444112 1444113 1444114 1444116 1444119 1444120 1449830 1449831 1449851 1456432 1456435 1458217 1458218 1458219 1458227 1458254 1458282 1458533 1458536 1458604 1458605 1458608 1458609 1458614 1458723 1458760 1458952 1458963 1458965 1459101 1459498 1459541 1459583 1459640 1459658 1460260 1460833 1461359 1461363 1461488 1461493 1461495 1461496 1461501 1461502 1461618 1461619 1461720 1461872 1462008 1462072 1462589 1462594 1462757 1462761 1462763 1462768 1462770 1462802 1462850 1462914 1463379 1463380 1463381 1463382 1463384 1463494 1463606 1463608 1464114 1464215 1464238 1464270 1464403 1464675 1465073 1465261 1465273 1465408 1465429 1465582 1465760 1465799 1465868 1465870 1465949 1466139 1467041 1467047 1467048 1467475 1467476 1468143 1468375 1468394 1468642 1468656 1468787 1468788 1468789 1468836 1468848 1468849 1468927 1468996 1469112 1469283 1469305 1469306 1469746 1470384 1470495 1472980 1473082 1473123 1473124 1473125 1473126 1473127 1473137 1473173 1473801 1473913 1474173 1474282 1474473 1474744 1474792 1474793 1474809 1474843 1474885 1474886 1475429 1475711 1475734 1475751 1475787 1476056 1476062 1476413 1476654 1477044 1477045 1477067 1477068 1477115 1477530 1477549 1477887 1477888 1478066 1478351 1478451 1478604 1478605 1478616 1478618 1478904 1479114 1479216 1479224 1479315 1479316 1479326 1479810 1479915 1480001 1480033 1480080 1480094 1480116 1480343 1480462 1480492 1481113 1481127 1481320 1481792 1481885 1481948 1481964 1481969 1481970 1481971 1481972 1481994 1481996 1482024 1482098 1482102 1482113 1482114 1482117 1482140 1482221 1482230 1482252 1482253 1482260 1482268 1482397 1482555 1482674 1482888 1482975 1483545 1483602 1483604 1483861 1483882 1483950 1484317 1484475 1484835 1484836 1484837 1484838 1484839 1484893 1485103 1485496 1485659 1485704 1485742 1485747 1485749 1485751 1485752 1485759 1485799 1485826 1486216 1486327 1486369 1486431 1486434 1486468 1486979 1487071 1487089 1487179 1487396 1487426 1487620 1487631 1487652 1488101 1488288 1488807 1488811 1488858 1488999 1489532 1490369 1490417 1490443 1490459 1490525 1490537 1490562 1490566 1490571 1490574 1490589 1490590 1490766 1490883 1490884 1490965 1491337 1491644 1492514 1492813 1493481 1493792 1493827 1493968 1493978 1493991 1493998 1494026 1494174 1494363 1494463 1494484 1494626 1494711 1494876 1494877 1494903 1494922 1494923 1495154 1495481 1495486 1495487 1495680 1495681 1495716 1495780 1495834 1496147 1496343 1496348 1496608 1496830 1496882 1496920 1497316 1497317 1497386 1497717 1497786 1497881 1498239 1498247 1498327 1498328 1498419 1498457 1498564 1498624 1498625 1498700 1498701 1498768 1498774 1498879 1498880 1499487 1499488 1499725 1499827 1500000 1500386 1500407 1500494 1500563 1500595 1500694 1500964 1500974 1501080 1501178 1501372 1501378 1501433 1501485 1501564 1501566 1501767 1501974 1501981 1502389 1502390 1502391 1502422 1502423 1502534 1502900 1502903 1502904 1503237 1503409 1503410 1503411 1503416 1503435 1503438 1503440 1503444 1503445 1503565 1503581 1503698 1509649 1512715 1531485 1531523 1531524 1531538 1531579 1531616 1531693 1531721 1531727 1531730 1531802 1531825 1531893 1531898 1531940 1531953 1531954 1531995 1532004 1532093 1532129 1532130 1532131 1532160 1532163 1532164 1532270 1532308 1532319 1532383 1532422 1532425 1532426 1532427 1532428 1532429 1532433 1532502 1532506 1532513 1532515 1532554 1532662 1532687 1532691 1532692 1532738 1532741 1532745 1532746 1532750 1532752 1532787 1532843 1532864 1532930 1532931 1532933 1532934 1532962 1533097 1533100 1533149 1533182 1533183 1562120 1562376 1562443 1562515 1562576 1562613 1562693 1562738 1562756 1562784 1562798 1562804 1562855 1562878 1562967 1562981 1563018 1563026 1563139 1563166 1563174 1563238 1563239 1563247 1563289 1563290 1576749 1602073)\n(15 1525 2638 3662 3964 5388 5683 5768 5835 5889 5909 6279 6736 7806 7872 8730 9413 9438 10390 10437 11330 11350 12621 14166 15349 15380 15388 15733 16431 16709 16742 17119 17133 17177 17564 19051 20191 21849 21866 22892 24202 25047 25111 26131 26140 26727 27544 30296 31059 31600 32105 34161 36087 36511 36537 36614 37359 38056 38352 38984 39097 39409 40767 42036 42541 42965 151990 155249 162367 178913 206289 221950 221953 221957 222058 222602 225351 225355 225378 225388 225389 225392 225495 225519 225585 225603 225778 225783 225973 226884 226893 227143 227168 227179 227195 227245 227246 227255 227258 227260 227306 227313 227322 227346 227352 227363 227397 227406 227733 227749 227853 227854 227855 227917 227924 227977 227987 228033 228114 229522 229578 229620 229664 229668 229670 229671 230885 230893 230895 230899 230961 230967 230988 231134 237041 238423 242216 242499 267869 302143 302306 302307 310977 332461 333012 333013 333014 333017 333018 333019 333021 333022 333024 333028 333030 333033 333122 333123 333131 333571 333580 333583 344392 369598 370199 370219 370220 376496 391863 392908 423367 427896 438726 438728 438730 438731 438732 438734 438744 438745 438746 438933 439056 439057 440406 440407 440410 440411 440413 440414 440415 440416 440417 440418 440419 440421 440423 440424 440426 440427 440428 440429 440430 440431 440432 440433 440434 440435 440436 440438 440439 440440 440441 440443 440444 440448 440454 440455 440456 440457 440458 440470 440734 440736 440737 440738 440739 440741 440742 443088 443089 443092 443095 443116 443118 443120 443121 443124 444066 444067 444072 444076 444077 444085 444086 444102 444108 444110 444113 444115 444116 444119 444121 444122 444123 444124 444127 444129 444135 444137 444139 444140 444144 444145 444146 444147 444148 444149 444155 444158 444159 444165 444166 444168 444171 444175 444176 444177 444179 444180 444182 444183 444187 444188 444190 444192 444193 444194 444195 444197 444198 444200 444208 444209 444210 444211 444212 444213 444214 444215 444222 444225 444252 444253 444254 444255 444256 444258 444259 444261 444262 444263 444264 444265 444266 444267 444269 444279 444283 444319 444320 445154 450129 450131 450232 450234 452739 456209 457208 457279 475316 475359 475360 475363 475364 475366 475367 475368 486805 487218 487681 487949 489668 493522 504082 504084 504085 520912 522141 542536 542550 542551 542552 542553 545874 546809 552337 552472 553492 553498 553514 555845 558296 558297 580670 582544 585351 585353 586519 586528 586533 586586 586588 586615 586790 586997 587033 588987 595917 598120 598160 600083 600608 682553 682554 682555 682561 700071 728824 729282 729291 729491 729506 740486 857285 878551 878557 878667 948846 1148448 1168228 1179478 1179479 1179480 1179481 1179504 1179552 1179553 1179837 1179862 1186705 1186715 1186716 1253943 1253945 1254473 1257926 1261248 1265739 1265741 1268442 1272568 1272569 1272572 1272579 1276940 1277076 1277077 1277081 1277090 1277095 1277096 1280568 1280570 1284393 1292449 1292451 1292473 1292493 1292496 1292498 1292503 1292504 1292527 1292528 1292529 1292530 1292532 1292563 1292570 1300583 1300584 1317495 1321304 1321686 1392487 1440519 1440635 1442234 1442252 1442269 1442274 1442335 1442339 1442429 1442440 1444109 1444131 1444693 1444694 1446336 1456865 1511332 1516414 1516820 1518866 1518867 1527250 1531611 1531614 1532372 1533078 1533591 1545490 1549095 1549096 1550097 1550099 1550101 1550110 1550226 1550609 1550613 1550614 1550618 1550623 1550633 1550636 1550656 1550673 1550675 1608383)\n(16 778 4388 7226 8539 12240 14136 17189 17422 18796 18957 20662 20962 22546 23595 23715 24171 24235 26860 27763 27912 30108 30510 32022 35096 35237 35287 37253 37267 38369 39044 42066 42404 79652 86591 86907 178828 206111 206417 225804 225805 225806 225992 226004 226503 226727 226874 226875 227926 228060 228061 228062 228065 228069 229603 234686 237743 237744 242201 260313 279810 376431 392905 392912 447117 447123 457102 459964 460002 489892 489903 504216 549585 559522 587901 596386 597054 597247 597248 597719 598002 598789 599408 682644 682647 682648 682657 682661 682674 682711 682716 684095 684129 699869 700038 729866 814026 815091 815276 816871 836188 836200 871587 871646 884309 920314 920994 923302 923573 927196 927232 947150 1123023 1180473 1183521 1184306 1184308 1266909 1267406 1267793 1269560 1269561 1269562 1269563 1278977 1278993 1280975 1281182 1282657 1283887 1283899 1283913 1283922 1283924 1283925 1283928 1284062 1284146 1284327 1284345 1284822 1305523 1305754 1305921 1321512 1442307 1442314 1508753 1516995 1519817 1537017)\n(17 4935 22758 36915 237624 242658 282692 562579 596157 597131 598402 598403 599020 863179 870633 870949 871404 871527 871963 1321146 1321223 1321224)\n(18 13203 17399 24352 31802 34525 34851 42765 86188 86474 156893 162404 178849 220781 232478 233074 233367 234438 242290 242735 277784 277909 333528 392673 541586 544480 596518 596615 596834 597089 597203 597236 597342 597344 597345 597687 599719 678661 678719 678770 678774 678775 678777 678781 678783 678785 678787 678788 678790 678792 678797 678798 678805 678807 678808 679688 683156 683157 683160 683161 683166 683168 684253 851347 872206 920503 920522 920608 947211 1160638 1160656 1258064 1276849 1367886 1405979 1442082 1522952 1522954 1522955 1522956 1522957 1522958 1522959 1522960 1522961 1522962 1522964 1522966 1522968 1522970 1522975 1522977 1522979 1522980 1522981 1522990 1522991 1522992 1523014 1523347 1523495 1523496 1523497 1523718 1524110 1540850)\n(19 5595 6345 6824 8051 9303 10199 13268 17225 22345 30435 30592 32850 33852 34374 41401 175866 254121 324556 324563 324566 324572 324573 324580 324582 324587 324594 324595 324599 324603 324604 324606 324610 324615 324622 324623 324624 324626 324628 324630 324654 324655 324656 325328 325329 325331 325333 325336 325339 325342 325343 325347 325348 325349 325350 325352 325356 325357 325358 325359 325360 325364 325367 325368 325370 325371 325372 325374 325375 325380 325382 325386 325388 325391 325392 325393 325394 325402 325403 325404 325407 325408 325409 325411 325414 325415 325417 325418 325419 325422 325424 325429 325435 325436 325437 325439 325444 325446 325449 325450 325451 325453 325457 325458 325459 325461 325469 325472 325473 325474 325475 325479 325481 325482 325483 325486 325488 325493 325495 325498 325499 325503 325504 325506 325507 325509 325512 325513 325516 325517 325518 325519 325521 325522 325524 325525 325526 325527 325528 325529 325530 325532 325533 325534 325535 325536 325537 325538 325541 325542 325543 325547 325548 325553 325557 325558 325559 325560 325562 325563 325564 325565 325569 325570 325571 325572 325576 325578 325579 325580 325581 325582 325583 325584 325587 325589 325591 325592 325593 325595 325597 325598 325601 325602 325607 325610 325611 325613 325617 325618 325619 325620 325621 325622 325623 325624 325625 325626 325628 325632 325634 325635 325637 325639 325641 325643 325646 325647 325649 325650 325651 325655 325657 325661 325666 325667 325668 325674 325682 325686 325693 325694 325699 325716 325717 325725 325727 325729 325731 325734 325735 325736 325737 325744 325745 325748 325750 325762 325766 325767 325768 325769 325773 325775 325790 325803 325804 325807 325808 325810 325811 325816 325817 325818 325822 325825 325827 325830 325835 325848 325850 325858 325862 325865 325870 325871 325872 325874 325875 325876 325877 325878 325880 325881 325882 325883 325886 325889 325893 325894 325896 325897 325898 325899 325901 325902 325905 325912 325913 325914 325922 325923 325929 325930 325939 325943 325944 325946 325953 325954 325955 325958 325959 325960 325963 325964 325969 325970 325971 325972 325973 325974 325975 325978 325980 325982 325983 325984 325985 325987 325989 325990 325991 325992 325995 325996 326002 326009 326012 326014 326015 326016 326017 326018 326026 326027 326028 326029 326030 326031 326033 326040 326041 326043 326044 326047 326055 326061 326063 326066 326067 326068 326069 326073 326078 326082 326083 326086 326087 326088 326091 326092 326093 326095 326097 326098 326102 326106 326107 326115 326117 326118 326120 326126 326127 326128 326142 326143 326149 326153 326155 326156 326162 326164 326174 326175 326181 326186 326193 326198 326199 326209 326210 326216 326220 326221 326228 326229 326230 326234 326235 326237 326243 326244 326245 326251 326253 326257 326265 326278 326279 326280 326283 326284 326296 326297 326318 326319 326324 326325 326328 326331 326343 326348 326352 326353 326359 326360 326366 326367 326372 326374 326375 326376 326377 326378 326381 326390 326391 326393 326395 326397 326399 326400 326402 326403 326405 326407 326414 326415 326423 326432 326435 326439 326440 326449 326475 326476 326477 326483 326487 326488 326491 326506 326507 326512 326516 326521 326522 326529 326538 326539 326541 326547 326554 326558 326561 326567 326570 326571 326572 326576 326577 326581 326583 326585 326586 326587 326597 326598 326600 326601 326607 326614 326615 326617 326621 326625 326630 326633 326639 326640 326642 326649 326650 326654 326657 326658 326664 326668 326672 326682 326686 326691 326693 326701 326710 326711 326717 326718 326725 326726 326727 326728 326734 326736 326737 326743 326750 326756 326757 326761 326762 326764 326766 326768 326774 326776 326779 326782 326783 326787 326790 326792 326793 326799 326802 326809 326810 326812 326813 326818 326825 326828 326832 326833 326837 326838 326842 326845 326852 326858 326863 326866 326875 326878 326883 326885 326887 326890 326891 326914 326915 326917 326918 326920 326922 326923 326924 326926 326928 326933 326934 326937 326938 326939 326943 326944 326946 326947 326948 326953 326954 326955 326956 326957 326958 326959 326961 326963 326964 446377 542318 597941 599666 600536 600537 600538 600539 600542 871312 936093 995133 999148 999151 999152 999153 999154 999155 999158 999159 999160 999167 999174 999176 999177 999181 999182 999183 999185 999193 999197 999205 999208 999213 999215 999216 999218 999220 999224 999227 999230 999231 999232 999234 999239 999241 999245 999249 999250 999251 999253 999254 999257 999258 999264 999269 999272 999279 999282 999283 999287 999293 999294 999295 999298 999300 999304 999310 999312 999316 999318 999322 999324 999326 999330 999331 999332 999333 999334 999340 999346 999349 999351 999353 999355 999356 999357 999359 999361 999362 999364 999374 999375 999376 999378 999383 999385 999386 999387 999388 999389 999390 999391 999392 999394 999395 1000481 1000499 1000556 1000603 1000606 1002190 1002191 1002192 1002193 1002194 1002197 1002198 1002199 1002211 1002218 1002224 1002229 1002231 1002233 1002430 1002431 1003214 1003215 1003216 1003227 1003231 1003232 1003233 1003237 1003238 1003246 1003247 1003248 1003249 1003252 1003253 1003254 1003255 1003256 1003258 1003259 1004271 1004587 1004593 1004603 1004606 1005366 1005367 1005368 1005369 1005671 1006150 1006151 1006153 1006154 1006155 1006156 1006157 1006158 1006161 1006162 1006172 1006176 1006177 1006178 1006179 1006183 1006186 1006187 1006188 1006189 1006191 1006192 1006588 1006589 1006590 1006591 1006592 1006593 1006595 1006612 1006613 1006615 1006621 1006622 1006947 1006954 1006955 1006957 1006958 1006959 1006962 1006963 1006964 1006965 1006967 1006968 1007495 1007609 1008321 1008545 1008547 1008676 1008693 1008697 1008709 1008710 1008719 1009109 1009663 1010426 1010558 1010560 1010565 1010566 1010778 1010779 1010796 1010818 1010866 1010867 1011331 1011332 1011334 1011383 1011387 1011389 1012107 1012112 1012209 1012211 1012669 1012671 1012673 1012784 1013166 1013877 1013879 1013913 1013914 1013927 1013935 1014107 1014109 1014231 1014260 1014266 1015197 1015285 1015309 1015312 1015314 1015944 1016289 1016454 1016455 1016652 1016653 1016790 1016817 1016818 1016820 1016821 1016920 1016933 1017001 1017772 1017810 1017967 1017968 1017980 1017981 1018064 1018067 1018072 1018717 1018995 1019184 1019185 1019186 1019187 1019194 1019197 1019198 1019327 1019329 1019333 1019334 1019337 1019339 1019342 1019345 1019352 1019359 1019365 1019367 1019377 1019381 1019397 1019620 1019626 1019698 1019699 1019705 1019706 1019712 1019898 1019900 1019902 1020010 1020011 1020012 1020013 1020098 1020104 1020107 1020108 1020110 1020117 1020135 1020141 1020144 1020352 1020675 1020681 1021507 1021717 1021819 1022239 1023269 1023280 1023295 1023297 1023321 1025441 1026977 1027001 1027329 1027502 1027503 1027768 1028315 1029611 1029612 1029788 1029789 1029936 1029937 1030418 1031280 1031480 1031482 1031483 1031485 1031492 1031496 1031555 1031559 1031561 1031625 1032976 1032982 1032992 1033593 1033886 1033887 1033890 1033891 1033908 1033912 1034154 1034836 1034900 1035020 1035061 1035065 1035068 1035069 1035079 1035081 1035083 1035964 1036926 1036954 1036963 1036965 1036966 1036983 1037176 1037178 1037181 1037182 1037462 1038458 1038941 1038943 1038947 1038984 1038991 1038992 1038998 1039702 1040537 1041222 1041232 1041236 1043074 1043638 1044371 1044884 1045346 1045496 1046220 1046440 1046445 1046447 1046451 1046471 1047587 1047690 1048025 1048128 1050020 1051428 1051429 1051434 1051435 1051517 1052063 1052115 1052116 1052122 1052123 1052296 1052765 1052769 1052773 1052897 1052903 1052904 1052919 1052993 1054054 1054280 1054756 1055065 1055067 1055091 1055131 1055133 1055136 1055137 1055139 1055140 1055141 1055144 1055145 1056011 1056015 1056103 1056499 1056511 1056886 1057354 1057355 1057357 1057369 1057379 1057633 1058468 1058499 1058502 1059407 1059411 1059412 1060467 1060477 1060481 1060653 1061033 1061035 1061049 1061052 1061053 1061058 1061059 1061064 1061065 1061139 1061141 1061643 1061672 1061685 1061698 1061769 1061909 1064113 1064114 1064115 1065213 1065363 1065366 1065486 1065487 1065737 1065743 1065744 1065750 1066517 1066528 1066747 1068675 1068684 1070602 1070965 1072601 1072602 1072603 1072808 1073364 1074588 1074589 1074854 1074857 1076472 1077136 1077418 1077419 1078110 1078409 1078412 1080412 1081162 1081163 1081164 1081166 1081175 1081181 1081182 1081183 1081186 1081187 1081188 1081327 1081639 1081641 1081642 1081834 1081836 1082021 1082025 1082046 1082072 1082074 1082598 1082644 1083077 1083083 1083291 1083512 1083652 1083670 1083872 1083911 1083954 1083956 1083981 1083988 1084290 1084291 1084446 1085372 1085535 1085663 1085664 1085665 1085666 1085667 1086044 1086186 1087129 1087148 1087406 1088718 1088809 1088811 1089099 1089857 1090171 1090798 1090908 1091123 1091159 1091220 1091460 1091777 1092038 1093031 1093032 1093036 1093235 1093387 1093474 1093900 1094062 1094065 1094151 1094194 1094681 1095596 1095844 1187314 1188845 1189273 1189274 1189276 1189287 1189290 1189299 1189301 1190693 1190708 1191691 1191939 1191940 1192250 1192252 1192253 1192254 1192292 1193096 1193365 1193367 1193374 1193375 1193380 1193381 1193387 1194373 1194534 1194607 1194608 1194618 1194622 1194643 1195817 1196056 1198324 1198327 1198329 1199065 1199316 1200930 1201162 1201170 1201262 1201267 1201275 1201577 1201892 1201982 1202820 1202825 1202829 1202830 1202832 1202833 1202965 1202967 1204214 1204215 1205024 1206101 1206556 1206557 1207570 1207575 1207584 1207624 1207625 1207627 1207834 1208094 1208098 1208107 1208112 1208950 1210774 1210779 1210781 1210784 1210785 1210789 1211034 1211054 1211058 1211817 1212697 1212702 1212703 1213195 1213299 1213308 1213406 1213408 1213576 1213577 1213583 1213592 1213593 1213607 1213608 1214784 1215242 1215403 1216237 1217413 1217414 1217811 1218593 1218594 1218808 1219420 1219450 1220430 1221086 1221087 1221096 1221097 1221116 1221120 1221122 1221141 1221148 1221448 1222504 1222575 1224685 1224687 1224693 1224696 1224702 1224703 1224908 1225266 1226382 1226617 1232273 1232279 1232280 1232281 1260940 1260943 1260945 1265553 1265554 1265555 1265556 1265557 1275477 1275607 1275609 1275610 1275612 1275613 1275616 1275620 1275621 1275623 1275624 1275625 1275626 1296231 1296232 1296234 1296244 1296263 1296265 1296268 1296276 1296416 1300949 1300972 1300974 1301017 1301019 1301020 1301021 1301028 1318888 1318891 1318897 1320231 1384595 1444151 1444152 1444160 1444161 1449596 1449597 1449641 1458232 1458528 1458548 1458655 1458712 1458838 1458839 1458840 1459862 1459863 1461259 1462046 1462293 1462857 1462865 1462866 1462867 1462901 1462906 1463367 1463706 1465519 1465527 1465531 1465533 1466135 1466356 1469343 1469345 1469569 1470376 1470635 1474606 1475053 1475079 1475087 1475099 1475102 1475122 1475125 1475135 1475761 1476742 1477096 1478806 1479467 1479473 1479699 1479703 1479705 1479706 1479708 1479709 1479711 1479712 1479713 1479719 1479722 1479725 1479726 1479730 1481928 1482693 1482695 1482696 1482697 1482698 1482699 1483924 1484907 1484908 1485959 1485960 1485973 1487768 1489767 1489768 1490109 1490623 1490819 1490820 1490822 1490823 1491109 1491215 1491817 1491818 1491821 1491824 1491831 1491850 1491855 1491945 1491947 1491949 1491960 1492185 1493012 1493562 1493563 1493566 1493568 1493569 1494231 1494234 1494822 1494841 1495704 1496170 1496171 1496176 1497899 1498078 1498620 1498809 1500602 1500611 1500622 1501513 1501759 1501760 1502026 1510419 1527341)\n(20 726 1302 3086 4454 4600 5898 6497 7144 7966 8114 9191 13769 15450 16129 16536 16539 16540 16555 16823 18246 18670 18870 19552 20629 21445 22742 23216 23759 24090 24094 25066 25474 25590 26638 27530 30797 31066 36033 36035 36270 36609 39866 40429 42150 42997 43262 85070 85282 149543 149558 175350 175354 178484 178802 205054 205097 221328 221930 221935 222072 222179 222679 222714 222720 222769 222812 223665 223677 223703 223704 223926 223927 223929 224713 225408 225409 225425 225516 225559 225593 225701 225705 225709 225733 225759 225810 225811 225812 225814 225819 225858 225884 226897 226914 226920 226946 227004 227147 227164 227187 227189 227281 227283 227327 227429 227543 227580 227622 227716 227794 227807 228055 228282 228528 229092 229197 229246 229247 229301 229357 229358 229363 229881 229968 229978 229989 229999 230000 230003 230004 230005 230006 230007 230008 230009 230013 230016 230025 230026 230028 230030 230034 230037 230051 230053 230059 230060 230061 230062 230064 230065 230069 230070 230071 230073 230074 230075 230077 230087 230091 230092 230095 230096 230097 230102 230103 230106 230108 230109 230110 230120 230122 230127 230128 230129 230130 230131 230132 230134 230137 230138 230139 230145 230147 230148 230149 230150 230151 230155 230165 230166 230167 230168 230171 230182 230185 230186 230188 230189 230192 230193 230194 230195 230196 230210 230219 230220 230235 230236 230282 230318 230321 230324 230333 230334 230335 230337 230338 230339 230353 230354 230355 230370 230372 230373 230374 230375 230417 230435 230444 230445 230447 230449 230450 230451 230459 230463 230476 230492 230993 234113 262358 277809 278437 282082 302194 332852 348015 423620 428818 441907 441908 442028 442034 442036 442037 442044 442106 442184 442192 442850 443181 443349 444443 444534 444557 444560 444582 444588 444675 445026 445283 445620 446381 446409 446410 446413 446414 446415 446416 446417 446418 446419 446420 446421 446423 446424 446425 446426 446427 446428 446429 446430 446431 446432 446433 446434 446435 446436 446437 446438 446440 446444 446452 446455 446459 446461 446464 446469 446470 446472 446475 446493 446494 446495 446496 446501 446506 446509 446510 446516 446563 446569 446610 446615 446616 446619 446621 446776 446792 446867 446868 446876 446879 446880 446881 446884 446885 446921 446982 447210 447211 447301 447304 447307 447309 447310 447313 447314 447315 447316 447317 447318 447320 447321 447322 447323 447325 447327 447335 447337 447355 447361 447368 447412 447442 447443 447445 447509 447510 447591 447618 447619 447620 447660 447661 448009 448167 448190 448192 448733 448770 449197 449205 449213 449214 449215 449216 449217 449218 449219 449220 449221 449605 449606 449608 449614 449616 449617 449618 449722 449729 449751 449752 450108 450204 450205 450283 450465 450467 450468 450469 450471 450472 450473 450474 450477 450478 450479 450480 450481 450483 450484 450485 450486 450487 450491 450492 450494 450498 450499 450505 450506 450507 450508 450509 450512 450514 450515 450516 450517 450518 450522 450523 450525 450526 450531 450532 450533 450534 450537 450538 450539 450540 450541 450542 450545 450546 450547 450548 450549 450550 450551 450552 450553 450554 450556 450557 450558 450559 450560 450561 450562 450563 450565 450566 450567 450568 450569 450570 450571 450572 450575 450576 450577 450578 450579 450582 450583 450584 450590 450592 450593 450595 450596 450597 450598 450599 450600 450601 450602 450603 450604 450607 450608 450609 450612 450614 450615 450617 450619 450620 450621 450622 450624 450626 450627 450629 450634 450651 450654 450656 450657 450658 450662 450663 450668 450695 450696 450697 450698 450699 450700 450701 450702 450703 450704 450705 450707 450710 450711 450715 450716 450719 450722 450723 450724 450725 450726 450729 450730 450734 450737 450740 450741 450744 450750 450751 450754 450757 450758 450759 450760 450763 450766 450767 450768 450769 450770 450771 450773 450775 450776 450779 450781 450782 450783 450784 450786 450789 450790 450791 450792 450794 450796 450800 450806 450810 450812 450813 450814 450815 450816 450817 450818 450821 450826 450832 450834 450835 450836 450955 450956 456268 456269 456482 456940 457109 457192 457925 457927 458098 458108 458271 458343 458349 458350 458351 458352 458355 458359 458360 458361 458362 458363 458396 458417 458625 458629 458892 458922 458947 459111 459551 459559 459567 459570 459617 459618 459655 459690 459882 460004 460005 460025 460026 475303 475425 475468 475840 475853 489800 489801 489893 489894 501123 502383 502460 502461 503895 504075 504077 504079 504081 504592 505385 506970 507350 507857 521342 521343 521344 521351 521352 521359 521360 521365 521366 521367 521387 521393 521395 521396 521397 521398 521399 521401 521405 521406 521407 521437 521438 521440 521448 521449 521450 521453 521454 521455 521458 521459 521460 521461 521463 522493 522495 524425 524445 524446 524447 524449 524451 524454 524464 524466 524467 524468 545665 545684 545734 545949 546003 546004 546005 546006 546007 546008 546009 546010 546011 546012 546013 546014 546015 549224 553506 553534 555951 558302 559817 563542 565929 565969 581758 582240 582740 584227 596790 596892 597897 598031 599720 677648 682587 682588 682589 682595 682619 682686 684202 687082 694646 694647 694648 694655 694656 694657 694658 694664 694665 694671 694672 694673 694674 694675 700042 728992 733995 733996 733998 733999 734828 734850 735397 735410 735411 735706 735715 735717 735747 735949 736258 736457 736465 738106 738464 738465 738479 738480 738485 738488 738489 738490 738492 738493 738510 738518 738519 738522 738523 738524 738525 738549 738550 738552 738563 738590 738591 738619 738620 739135 739153 744316 745355 747396 747406 809779 815275 816396 816397 816407 816410 816434 816437 816440 816443 816451 816537 816543 816586 816587 816588 816641 816699 816951 817096 817105 817632 817635 817641 817642 817693 817695 817699 817700 817702 817704 817705 817706 817707 817708 817709 817743 817745 817968 818088 818089 818149 818150 821671 821694 824497 825515 825527 825528 827123 834312 834320 834323 834324 834599 870003 883988 884018 920868 920882 921044 922969 922970 922971 923007 923008 923009 923387 923392 923394 923395 923870 923872 925206 925367 925368 925369 925399 925568 925572 925964 925965 925985 926305 926407 926703 926704 926974 927004 927005 927128 927131 927134 927469 927485 928232 928870 928878 928879 928996 929030 929032 929062 929123 929179 929182 929183 929185 929186 929187 929211 929212 929214 929215 929226 929227 929228 929229 929230 929240 929434 929435 929436 929437 929661 930237 930456 930457 930565 930568 930569 930713 930834 930836 930837 930839 930840 930841 930844 931489 931491 931492 931557 931558 931559 931560 931586 931825 931830 931831 931838 931839 931840 931842 931849 931858 931878 931879 931900 931901 931902 931906 931907 931963 931966 931981 931995 931996 932003 932029 932064 932065 932066 932067 932068 932074 932438 934150 934409 934419 934420 934422 934547 934554 934569 934570 934575 934576 934759 934760 934868 934870 935314 935350 935456 935598 935623 940225 1136067 1140621 1178870 1178871 1178882 1179022 1179205 1179588 1179589 1179623 1179684 1179687 1179691 1179694 1179703 1179706 1180142 1180245 1181315 1182848 1182849 1183148 1183153 1183160 1183162 1183522 1183523 1183528 1183529 1183530 1183531 1183542 1183734 1184145 1184147 1184148 1184150 1184151 1184152 1184166 1184167 1184170 1184171 1184172 1184175 1184176 1184311 1184312 1184320 1184321 1184337 1184338 1184344 1184349 1184351 1184473 1184476 1184488 1184533 1184544 1184893 1184894 1184895 1184896 1184924 1185643 1185646 1185649 1185700 1185707 1185729 1185748 1185750 1185777 1185986 1186005 1186293 1261192 1264751 1267086 1267115 1267213 1267548 1267549 1267580 1267582 1268217 1268218 1268240 1268243 1269612 1269871 1273723 1275509 1275510 1275511 1275631 1277604 1277625 1277628 1277631 1278224 1278562 1278666 1278676 1278736 1278749 1278813 1278849 1278884 1278885 1278910 1278924 1279455 1279478 1279479 1279491 1279597 1279862 1280033 1280036 1280045 1280046 1280064 1280066 1280083 1280084 1280104 1280105 1280496 1280612 1280614 1280780 1280787 1280907 1280944 1280969 1280970 1281009 1281031 1281099 1281343 1281430 1281470 1281585 1281843 1282863 1283811 1283929 1283930 1283931 1284066 1284067 1284254 1284437 1284438 1284439 1284440 1284847 1284848 1284911 1284917 1285009 1288423 1288447 1288448 1288585 1288610 1288616 1288635 1288637 1288641 1288642 1288664 1288665 1288666 1288741 1288742 1288750 1288751 1288752 1288777 1288879 1289017 1289021 1289022 1289035 1289043 1289132 1289172 1289173 1289222 1289223 1289232 1289525 1289529 1289556 1289557 1289558 1289559 1289560 1289561 1289568 1289570 1289571 1289574 1289575 1289579 1289590 1289600 1289607 1289611 1289626 1289627 1289640 1289641 1289645 1289647 1289652 1289654 1297910 1297911 1301130 1301131 1305217 1305219 1305794 1305854 1305861 1305899 1317873 1442171 1442403 1443281 1444716 1455688 1456859 1512563 1512836 1512915 1512986 1514260 1514493 1515974 1515977 1516412 1516428 1517569 1518034 1518890 1519017 1519812 1522382 1522411 1527391 1536992 1537009 1537067 1542173 1545955 1550231 1550314 1562860 1562951 1563008 1563019 1563059)\n(21 1581 1583 1713 2111 2112 2346 2808 2811 2813 2930 4285 4431 4644 4937 5489 5523 5532 5537 5539 5541 5552 5553 5574 6106 8000 8003 8088 8089 8716 8958 8960 8964 9369 9464 9471 9473 9480 10741 10802 10819 11438 11440 12180 13851 13942 14137 14149 14413 14507 15275 15607 16556 16557 17318 17400 17401 17402 17403 17464 17466 17467 17469 18417 18722 18725 18943 19234 19639 20124 20405 20986 21005 21262 21263 21782 22880 25085 25088 25091 25098 25118 25122 25123 25124 25126 25127 25128 25129 25131 26082 26123 26124 26127 26376 26379 27621 27712 27816 27817 27827 27896 27903 27910 27926 28590 28677 28701 28707 28772 28773 28800 28802 28808 29019 29147 29167 29335 29355 29360 29447 29450 29892 30225 30492 30664 30667 30668 30669 30753 30755 30763 31063 31098 31325 31326 31330 31332 31336 31813 31842 31844 32331 33108 33110 33111 33174 33590 33870 33873 33877 33884 33909 33912 33913 33914 33915 33916 33917 33919 33924 33927 33929 33930 33933 33966 34021 34023 34060 34529 34558 34597 34599 34602 36372 37425 37443 37470 37743 37777 37778 37779 37781 37825 38894 38908 38911 38915 38931 39424 39428 39429 39431 40541 40801 41186 42077 42467 42615 43526 79169 79668 79803 79804 79893 79916 80146 80339 80355 85124 85125 85126 85288 85806 86343 86345 86532 86746 86994 87004 152036 162439 162472 175954 178497 178558 178574 178621 178776 205478 205479 205490 205492 205493 206173 206371 206582 242667 242668 242672 242777 242778 242955 259927 259994 260102 260121 260143 260166 260179 260222 278627 279077 279167 282281 282561 282567 302827 332278 376427 376528 376537 376542 376557 376696 392203 401995 524727 557533 586918 587656 596271 596421 596423 596559 596754 596960 597047 597126 597353 597554 597652 597814 597816 598013 598331 599006 599680 600169 678961 678963 678965 678966 679948 683239 683966 694768 700619 746963 752220 752221 814831 814832 814834 814933 870196 870579 870956 871030 871538 872109 872152 872252 872302 872316 876934 879255 887950 917988 920379 920403 920591 920683 920698 949446 1113652 1136168 1136394 1136395 1138555 1140694 1140695 1148474 1171316 1171366 1257802 1257974 1271036 1271040 1273400 1273796 1273857 1273939 1274029 1274031 1274033 1274034 1274036 1274037 1274038 1274039 1274104 1274117 1274118 1306847 1318601 1319401 1319402 1319405 1319409 1319412 1319413 1321164 1321166 1321589 1328807 1441600 1441668 1444182 1450026 1450477 1456674 1510543 1510628 1510818 1510895 1510969 1511129 1511158 1511161 1511798 1511874 1512286 1512289 1512352 1512381 1512491 1512513 1512653 1512677 1512717 1512769 1512771 1512978 1513011 1513053 1513055 1513058 1513060 1513385 1513387 1513395 1513397 1513405 1513406 1514230 1514236 1514536 1514662 1514693 1514703 1514704 1514706 1514866 1514867 1514928 1514969 1515090 1515417 1515825 1515959 1516164 1516195 1516204 1516227 1516277 1516295 1516347 1516368 1516400 1516480 1516609 1516620 1516622 1516653 1516738 1516739 1516741 1516881 1516886 1516908 1516940 1516990 1517005 1517007 1517010 1517015 1517083 1517507 1517515 1517537 1517706 1517936 1518059 1518062 1518290 1518305 1518438 1518534 1518536 1518542 1518577 1518927 1518969 1518977 1519242 1519626 1519634 1519688 1519753 1519835 1519836 1520003 1520004 1520030 1521819 1522593 1533719 1537034 1548356 1548362 1548363)\n(22 1134 1222 2040 2154 2374 2671 3072 5479 5533 5934 6341 6711 6720 6935 7420 7445 7476 7633 7648 7649 7742 8575 8576 8580 9325 9356 9361 9570 11050 11323 11324 11342 11374 11379 11392 11427 11448 12197 12322 12436 13058 13161 13183 13214 13766 13983 14035 14631 15153 15312 15399 16168 16326 16328 17237 17243 17597 18027 18088 18407 20266 20300 22014 23024 23115 23742 25955 25977 26647 27673 28736 28906 28911 28912 29083 30415 30773 30776 31262 31992 32160 32166 32442 32474 32478 32483 32485 32487 32494 32495 32502 32509 32521 32522 32577 32582 32601 32602 32604 32611 32616 32623 32624 32629 32856 32861 33086 33485 35192 35845 36481 36681 36682 36683 37098 37103 37110 37111 37114 37125 37138 37506 37508 38126 38143 38239 38854 38888 38960 39225 39226 39267 40277 40462 42238 42257 42264 42444 42838 43076 43133 43492 43496 43497 43725 48441 50505 50729 50888 51001 51155 51156 51547 51550 51566 53361 53445 53616 53617 53619 53620 53629 53748 53749 53937 53963 54485 54720 54803 54815 54891 54897 54898 54900 55049 55085 55111 55149 55286 56065 56277 56330 56335 56409 56461 57216 57306 57689 58237 58638 58714 58802 58812 58830 59034 59247 59399 59711 59742 59891 59913 59970 59995 60317 60390 60398 60511 60658 60697 60758 61239 61291 61909 62182 62483 62700 62766 63083 63127 63131 63186 63439 64012 64022 64091 64201 64299 64300 64630 64736 64990 65195 65208 65243 65351 65737 66001 66074 66180 66409 66715 66936 68322 68790 69175 69307 69402 70066 70131 70278 70573 71226 71227 71354 71443 71444 71490 71496 71499 71500 71503 71524 71556 71559 71690 72026 72208 72225 72601 72604 72763 72766 72826 72988 72997 73049 73146 74197 74198 74235 74341 74445 74517 74523 74527 74530 74533 74937 74939 74981 75660 76097 76331 76475 76662 76736 76978 76994 77482 77486 77873 78267 78360 78385 78483 78780 78790 78814 81993 82483 83743 83903 84704 84815 85242 85402 85938 86502 86612 87154 88028 101303 101310 102137 102850 103709 103918 105231 105776 105984 106141 107631 108092 108136 108143 108406 108407 108411 108504 108525 109290 110400 110934 111017 111356 112980 112984 113723 114376 115110 115137 115139 115497 116703 116973 116975 118350 121273 122734 123445 124602 127612 128823 128885 129550 131357 134238 135567 136143 137704 137706 137758 137823 137909 137914 137986 138405 138989 139386 141759 142329 142791 142813 144219 144286 145688 146650 146951 146952 146954 147271 148477 148537 148539 148955 149365 149409 149478 162652 164056 165528 167721 167863 167864 168122 168374 168633 168643 168873 168874 168876 168906 169339 170127 170451 171673 172492 172493 172527 172722 172904 173024 173834 174021 174138 174463 175085 175716 175717 175856 178970 178971 179405 179678 179819 179829 180007 180124 180351 180360 180365 180368 180400 180568 180613 180723 181074 181075 181078 182061 182598 182981 183956 191500 205693 205901 205998 206238 206891 207215 207895 210087 210639 211272 214575 215126 216086 217782 220283 220284 220382 243003 243317 243630 245072 245953 248432 248433 248521 249431 249443 252111 252314 253527 254681 257351 259191 259868 260149 260318 282297 283140 283535 284447 288489 289404 290627 292041 292043 293036 293885 293890 295096 295546 296330 296481 298239 299785 299865 301283 302587 303296 304219 304222 304290 304651 336558 357152 358286 358878 359626 361557 370017 376523 377428 377968 380460 381012 381111 381197 381199 381691 382301 382302 385317 385318 385602 385607 386486 386883 387435 387592 388090 388929 391413 439954 439956 439958 439961 440095 440097 440137 440141 440142 440146 440150 440181 440186 440195 440200 440216 440218 440228 440245 440254 440256 440257 440261 440263 440264 440814 443154 444412 444752 444831 449757 449759 449760 449763 449939 450127 450433 450434 450437 450439 457551 460811 460977 461725 475472 490787 493747 493786 522537 525069 525166 525249 525829 526911 527096 527400 527408 530302 531654 532247 532413 532538 533727 534010 535060 535454 537680 537914 540173 540547 544341 559189 577552 577761 580928 581236 581237 584855 590992 593225 593770 593771 597265 597311 597587 597998 597999 598000 598192 598193 598207 598322 599034 600190 600390 600424 600483 600484 600615 602000 602011 606307 609954 616629 619777 624100 628689 645319 647420 647895 649116 649526 651233 656037 656711 657119 657153 657981 659450 660085 660086 662521 663811 663812 666083 668518 669247 670674 670675 671560 671561 672804 672884 673997 674810 675327 675441 675832 677536 678430 699518 699519 699609 699611 699612 699613 700807 700889 701416 701417 701418 701422 701423 723570 724672 728774 728801 728803 730384 730393 730399 730924 733542 733543 733912 740035 751451 752145 752344 752345 752394 752652 755758 755759 758247 758531 758532 760508 761925 764097 765326 766093 766597 769169 770758 787912 872086 872114 872311 878094 888725 892399 908264 908735 909537 911485 914480 914853 915560 917102 917725 917735 917737 917843 917903 917904 917906 917907 917908 919335 936056 939234 947693 947694 947695 950271 950300 950546 950611 950612 956090 960738 960864 961486 962035 962161 963517 964960 966123 966468 968520 972274 972308 980441 982135 982201 982352 982456 991495 991502 991504 991505 991507 991509 991511 991512 991513 991514 991524 991526 991527 991528 991531 991532 991533 991536 991537 991541 991547 991548 991551 991552 991553 991554 991555 991556 991560 991562 991564 991566 991568 991569 991575 991577 991578 991579 991582 991583 991585 991864 991884 993159 993608 994475 1096855 1098526 1098778 1099572 1100757 1100912 1120338 1120549 1120855 1120931 1121654 1122167 1122218 1122711 1136199 1137011 1137013 1137065 1137231 1137857 1138154 1138232 1138255 1154181 1154184 1154185 1154187 1154189 1154190 1154192 1160727 1160728 1160729 1160731 1172908 1174585 1175039 1175169 1258420 1258491 1259508 1259642 1259775 1272549 1272884 1272893 1272952 1272953 1272956 1272962 1272965 1272969 1272975 1272980 1272982 1272999 1273001 1273008 1273009 1273620 1273630 1273632 1273638 1273639 1273641 1273642 1273644 1273646 1276957 1289796 1306043 1311358 1311422 1311733 1311760 1311890 1311962 1313389 1313391 1313412 1318447 1319685 1319699 1321585 1321586 1321887 1321911 1321974 1322978 1327657 1337412 1337416 1337479 1337480 1337528 1337532 1337547 1337587 1337590 1337602 1337615 1378128 1378554 1378566 1382100 1417631 1429041 1429210 1434386 1434484 1434589 1434590 1435300 1435469 1436339 1436545 1444862 1444947 1445582 1445797 1450125 1450319 1451651 1451657 1451660 1452676 1452823 1454979 1455037 1505509 1505728 1505987 1506264 1509132 1509541 1512668 1514614 1516788 1518154 1518434 1524076 1527438 1528755 1530214 1530215 1531366 1531391 1532839 1533427 1542809 1550056 1550057 1550059 1550067 1550070 1550075 1550089 1552164 1563732 1567041 1567205 1567941 1568450 1568980 1569647 1569648 1570265 1570414 1572460 1576509 1576815 1608601 1611476 1613736 1614468 1617087 1618088)\n(23 741 780 905 962 1074 1162 1209 1428 1575 1613 1625 1629 1728 1878 2386 2708 2759 2760 3055 3058 3151 3153 3452 3461 3483 3484 3485 3489 3501 3584 3617 3707 3741 3793 3842 3847 3853 3943 3956 3964 4170 4247 4302 4308 4384 4385 4455 4456 4457 4526 4768 4781 4788 4789 4811 4814 4816 4895 5373 5393 5400 5401 5423 5682 5839 5847 5854 5953 6087 6090 6094 6095 6104 6121 6141 6205 6208 6255 6257 6270 6323 6366 6382 6440 6441 6549 6655 6901 7272 7275 7276 7277 7281 7285 7458 7461 7531 7569 7571 7572 7658 7759 7763 7765 7770 7776 7783 7793 7797 7854 7874 8483 8484 8520 8779 8812 8910 8913 8919 8984 8987 9194 9195 9196 9198 9201 9368 9437 9758 10031 10040 10075 10085 10087 10090 10091 10092 10097 10268 10271 10316 10323 10352 10482 10672 11106 11128 11193 11325 11343 11387 11399 11416 11429 11434 11443 11444 11665 11666 11980 12144 13055 13293 13294 13303 13313 13443 13444 13450 13453 13492 13681 13747 14124 14133 14167 14168 14180 14533 14540 14570 14865 14876 15027 15183 15372 15385 15392 15420 15422 15426 15455 15460 15462 15560 15665 15731 15801 15808 15809 15811 15813 16068 16504 16505 16732 16733 16976 17067 17068 17069 17070 17071 17129 17130 17405 17406 17420 17421 17558 17562 17651 17670 17679 17681 18043 18067 18120 18427 18494 18534 18563 18597 18787 18792 18819 18826 18827 19145 19149 19155 19564 19908 19939 20164 20412 20417 20613 20614 20653 20654 20663 20664 20669 20670 20671 20880 20885 20887 20888 20889 21156 21358 21640 21724 21725 21800 21815 21851 21852 21853 22077 22122 22131 22359 22378 22427 22445 22646 22651 22655 22663 22664 22666 22674 22675 22676 22677 22861 22889 22903 22907 23032 23050 23054 23056 23078 23079 23217 23306 23307 23312 23317 23686 23739 23740 23884 23951 23986 24091 24093 24109 24204 24436 24496 24631 24648 24659 24661 24670 24687 24688 24695 24764 24876 24890 24903 24947 24949 24955 25032 25055 25058 25148 25181 25283 25285 25313 25462 25465 25473 25483 25498 25526 25584 25864 26264 26367 26369 26607 26639 26855 27028 27088 27342 27422 27432 27437 27442 27443 27532 27713 27755 27787 27792 27837 27871 27929 28058 28109 28246 28252 28429 28633 28783 28784 28785 28863 28864 28872 28881 28936 28938 28939 28972 28977 29078 29082 29126 29127 29129 29130 29207 29373 29893 29894 29939 29954 30173 30213 30219 30274 30288 30352 30378 30419 30420 30518 30532 30558 30560 30580 30647 30741 30747 30786 30851 31021 31050 31093 31104 31119 31153 31173 31266 31272 31346 31354 31774 31869 31870 31939 32005 32008 32009 32225 32639 32649 32652 32717 32718 33063 33093 33572 33745 34001 34014 34051 34052 34083 34086 34090 34121 34169 34193 34196 34229 34518 34627 34671 34841 34896 34898 34910 35065 35092 35216 35231 35284 35295 35298 35301 35322 35327 35330 35507 35561 35877 35943 35946 36029 36037 36098 36099 36139 36186 36264 36277 36286 36294 36385 36394 36410 36471 36505 36622 36624 36628 36630 36665 36687 36700 36846 37004 37189 37197 37303 37658 37855 37884 37925 37938 37940 37941 37949 37953 37959 37960 37991 37993 37996 38001 38151 38152 38246 38293 38351 38360 38361 38445 38446 38530 38532 38533 38543 38553 38556 38564 38588 38589 38590 38829 38869 38879 38925 38989 39027 39099 39259 39277 39316 39337 39432 39433 39441 39452 39482 39484 39485 39487 39508 39529 39597 39727 39728 39729 39976 39979 39983 39987 40067 40113 40126 40132 40184 40186 40357 40408 40421 40426 40452 40455 40458 40573 40578 40745 40746 40748 40960 40994 40995 40996 40999 41000 41001 41159 41283 41445 41600 41602 41638 41951 41967 42027 42149 42158 42160 42173 42232 42276 42360 42366 42425 42448 42449 42458 42459 42460 42518 42520 42559 42593 42598 42600 42640 42779 42817 42829 42905 42930 42993 43074 43120 43189 43356 43517 43518 43520 43539 78960 79214 80039 80098 80346 85140 85221 85376 85427 85515 85816 86120 86526 86527 86596 86625 86699 86794 86835 149547 149554 149561 149563 149565 149566 149571 149573 149575 149576 149578 149579 149589 149595 149596 149603 149608 150934 150936 152281 152284 152285 152295 152296 152297 152298 152299 152300 152301 152302 152303 152304 152305 152306 152307 152308 152309 152310 152313 152314 152315 152316 152319 152321 152323 152325 152327 152330 152332 152335 152336 152341 152342 152344 152345 152346 152347 152349 152351 152355 152356 152360 152361 152362 152367 152368 152373 152374 152375 152378 152379 152381 152384 152386 152388 152389 152391 152392 152393 152394 152397 152399 152402 152403 152404 152405 152407 152411 152459 162322 162342 162370 162405 162406 162412 162434 162435 162436 162512 162783 162857 162858 162859 162860 162861 175173 175179 175190 175191 175194 175196 175199 175200 175201 175202 175213 175215 175216 175217 175218 175219 175220 175221 175222 175223 175225 175226 175227 175231 175232 175233 175237 175242 175243 175252 175253 175276 175280 175281 175282 175286 175287 175290 175291 175292 175293 175298 175301 175306 175307 175308 175309 175312 175313 175316 175318 175323 175324 175325 175338 175339 175340 175347 175348 175349 175352 175355 175356 175359 175361 175362 175364 175365 175366 175367 175368 175372 175374 175379 175380 175384 175386 175392 175393 175394 175396 175397 175398 175404 175405 175412 175413 175423 175426 175427 175429 175430 175431 175432 175439 175441 175442 175443 175444 175445 175446 175447 175449 175451 175452 175454 175455 175456 175459 175460 175462 175474 175475 175476 175488 175489 175490 175492 175494 175498 175499 175500 175501 175502 175505 175506 175509 175511 175515 175516 175517 175518 175521 175525 175526 175528 175531 175532 175534 175538 175539 175542 175549 175551 175553 175555 175556 175557 175558 175559 175560 175561 175850 175947 178738 178780 178784 178825 196587 205039 205042 205045 205065 205076 205797 205814 205827 205831 205878 205950 205955 205956 205967 206066 206187 206207 206248 206250 206251 206252 206254 206257 206309 206327 206328 206329 206330 206331 206332 206365 206367 206429 206432 221310 221315 221324 221440 221924 221936 221945 221946 221947 221952 221954 221956 221961 221971 221973 221975 221976 221977 221978 221982 221984 221988 221994 221997 222001 222002 222007 222014 222015 222016 222017 222019 222020 222031 222032 222033 222037 222038 222041 222043 222044 222045 222047 222048 222049 222050 222051 222053 222054 222057 222060 222061 222062 222063 222064 222065 222066 222068 222069 222070 222166 222181 222193 222198 222332 222333 222334 222600 222601 222603 222604 222605 222608 222611 222613 222615 222616 222617 222623 222624 222638 222639 222640 222641 222645 222647 222652 222665 222668 222669 222670 222671 222673 222689 222695 222697 222698 222707 222708 222713 222715 222716 222718 222728 222730 222733 222734 222739 222744 222745 222746 222747 222748 222750 222751 222759 222760 222762 222771 222787 222987 223029 223073 223076 223077 223079 223080 223084 223086 223087 223098 223107 223108 223116 223117 223127 223131 223146 223147 223161 223172 223176 223187 223191 223195 223197 223199 223206 223215 223221 223236 223251 223260 223266 223281 223283 223290 223296 223305 223311 223322 223326 223335 223337 223341 223353 223356 223365 223367 223371 223382 223388 223478 223481 223482 223486 223492 223501 223503 223507 223516 223518 223522 223523 223531 223533 223537 223546 223548 223549 223552 223553 223561 223567 223582 223598 223599 223600 223601 223603 223613 223615 223616 223617 223625 223628 223632 223644 223645 223646 223649 223651 223652 223653 223656 223657 223664 223666 223667 223668 223671 223676 223683 223686 223687 223688 223689 223690 223694 223696 223697 223699 223700 223708 223711 223715 223716 223717 223722 223724 223729 223730 223733 223736 223739 223741 223744 223746 223751 223758 223765 223774 223783 223792 223865 223866 223875 223877 223879 223895 223896 223903 223904 223908 223916 223921 223924 223931 223932 223933 223947 223955 223963 223969 223976 223984 223993 224009 224085 224086 224087 224093 224094 224103 224105 224106 224108 224109 224110 224111 224112 224113 224115 224118 224121 224122 224127 224128 224129 224130 224131 224132 224133 224134 224141 224147 224151 224152 224153 224154 224155 224156 224158 224161 224173 224174 224178 224179 224181 224182 224183 224189 224192 224194 224195 224196 224198 224200 224201 224202 224205 224214 224215 224217 224218 224219 224220 224221 224224 224229 224230 224233 224235 224236 224238 224248 224252 224253 224262 224270 224271 224276 224279 224280 224285 224287 224288 224291 224292 224293 224297 224306 224310 224319 224320 224321 224323 224324 224328 224337 224338 224340 224344 224345 224347 224348 224349 224353 224355 224357 224361 224362 224363 224364 224370 224371 224375 224376 224377 224378 224382 224388 224389 224395 224399 224401 224402 224404 224405 224411 224412 224422 224423 224424 224425 224428 224429 224431 224432 224434 224437 224438 224439 224440 224441 224444 224445 224446 224447 224449 224452 224453 224457 224458 224460 224464 224465 224466 224468 224469 224470 224471 224473 224474 224476 224479 224484 224490 224496 224498 224572 224580 224598 224600 224609 224626 224675 224689 224692 224697 224698 224700 224701 224704 224727 224778 224781 224792 224794 224795 224824 224828 224832 224835 224838 224843 224844 224856 224859 224873 224886 224888 224915 224994 224995 224996 224999 225000 225001 225002 225006 225008 225018 225040 225043 225044 225046 225049 225050 225051 225052 225056 225058 225060 225063 225064 225073 225081 225082 225126 225127 225137 225143 225145 225148 225149 225151 225154 225187 225196 225213 225216 225226 225234 225244 225261 225266 225267 225270 225299 225300 225301 225303 225306 225307 225308 225314 225327 225329 225357 225390 225395 225396 225401 225412 225413 225415 225416 225431 225434 225435 225436 225474 225489 225496 225502 225514 225527 225532 225536 225538 225540 225555 225560 225561 225562 225564 225568 225569 225584 225587 225588 225590 225594 225595 225599 225600 225601 225602 225605 225608 225610 225616 225621 225630 225632 225637 225638 225641 225643 225651 225653 225657 225660 225691 225692 225695 225696 225706 225730 225740 225752 225754 225756 225757 225758 225760 225761 225763 225764 225774 225776 225777 225779 225784 225789 225792 225794 225799 225800 225832 225836 225837 225844 225845 225848 225854 225860 225861 225870 225872 225881 225883 225889 225894 225897 225899 225912 225917 225923 225924 225926 225929 225931 225932 225935 225936 225947 225950 225951 225953 225957 225961 225970 225988 225989 225990 225991 226002 226003 226011 226012 226016 226017 226018 226019 226029 226031 226032 226042 226047 226054 226055 226056 226069 226075 226085 226086 226100 226108 226109 226130 226134 226145 226150 226155 226156 226158 226166 226167 226168 226175 226176 226177 226178 226179 226180 226184 226188 226194 226208 226211 226223 226233 226236 226237 226245 226260 226261 226270 226271 226276 226278 226284 226291 226292 226297 226300 226307 226309 226311 226312 226314 226320 226321 226323 226328 226329 226330 226331 226332 226334 226335 226347 226348 226349 226356 226364 226369 226374 226378 226386 226388 226390 226398 226401 226406 226407 226408 226409 226411 226413 226414 226415 226420 226421 226425 226433 226436 226438 226441 226442 226443 226445 226446 226447 226455 226460 226463 226464 226476 226480 226482 226492 226495 226498 226501 226502 226515 226519 226520 226521 226532 226534 226542 226543 226547 226550 226554 226561 226566 226567 226568 226572 226575 226576 226578 226579 226584 226585 226586 226588 226601 226606 226608 226611 226613 226615 226616 226629 226630 226633 226634 226639 226641 226642 226643 226644 226645 226646 226648 226650 226654 226658 226660 226661 226662 226663 226665 226666 226667 226672 226673 226674 226694 226698 226700 226702 226704 226706 226707 226708 226709 226712 226717 226718 226721 226724 226725 226737 226740 226741 226742 226743 226751 226752 226757 226759 226761 226764 226766 226767 226781 226787 226791 226792 226797 226810 226811 226812 226813 226816 226826 226827 226829 226832 226833 226835 226836 226837 226840 226841 226845 226850 226876 226877 226879 226892 226900 226901 226907 226908 226909 226912 226913 226916 226918 226919 226924 226926 226927 226928 226931 226936 226937 226941 226942 226945 226949 226950 226951 226952 226958 226964 226993 226994 227009 227011 227013 227014 227017 227020 227021 227022 227024 227026 227027 227032 227033 227034 227037 227038 227039 227040 227042 227043 227045 227046 227047 227048 227051 227052 227053 227054 227055 227056 227059 227060 227061 227062 227064 227065 227067 227068 227069 227073 227074 227080 227081 227085 227087 227088 227094 227097 227098 227099 227103 227104 227119 227120 227121 227122 227123 227124 227128 227129 227130 227131 227136 227137 227140 227144 227149 227157 227167 227176 227177 227178 227180 227181 227185 227188 227192 227197 227198 227199 227206 227207 227208 227212 227216 227217 227222 227224 227227 227230 227231 227238 227239 227240 227244 227248 227252 227263 227264 227265 227266 227267 227275 227284 227286 227287 227288 227292 227293 227296 227300 227308 227309 227310 227311 227317 227318 227319 227320 227331 227337 227338 227340 227344 227349 227351 227353 227354 227357 227358 227364 227365 227369 227374 227375 227376 227378 227380 227382 227384 227385 227386 227387 227388 227389 227391 227395 227398 227399 227404 227411 227413 227414 227421 227423 227426 227428 227430 227432 227435 227439 227440 227441 227443 227458 227467 227470 227471 227472 227475 227479 227481 227486 227488 227489 227490 227496 227498 227514 227515 227516 227518 227519 227523 227527 227529 227547 227548 227553 227566 227573 227575 227576 227577 227578 227579 227590 227608 227613 227614 227616 227617 227628 227629 227636 227662 227665 227666 227675 227676 227684 227688 227690 227691 227692 227706 227707 227721 227723 227724 227727 227735 227736 227742 227745 227747 227748 227759 227760 227766 227767 227769 227771 227778 227784 227803 227813 227814 227817 227822 227824 227828 227829 227836 227837 227839 227861 227866 227873 227877 227878 227879 227885 227888 227893 227896 227898 227900 227902 227912 227920 227922 227923 227933 227935 227936 227937 227944 227948 227950 227951 227952 227956 227957 227963 227965 227976 227988 227997 227998 228002 228003 228004 228013 228014 228018 228022 228023 228024 228034 228037 228039 228040 228044 228054 228067 228084 228098 228102 228107 228116 228120 228121 228123 228124 228125 228126 228127 228128 228130 228131 228132 228152 228156 228157 228158 228159 228174 228175 228176 228181 228186 228191 228192 228193 228195 228202 228214 228217 228220 228231 228232 228233 228234 228238 228245 228247 228249 228252 228259 228260 228261 228262 228265 228268 228269 228270 228272 228277 228278 228280 228282 228287 228289 228316 228318 228319 228321 228322 228323 228325 228326 228327 228329 228332 228333 228334 228335 228336 228337 228339 228340 228341 228342 228344 228345 228346 228349 228351 228352 228354 228355 228357 228359 228360 228365 228367 228368 228376 228377 228384 228385 228389 228390 228391 228394 228398 228405 228416 228417 228418 228420 228424 228426 228427 228428 228432 228433 228434 228436 228437 228443 228444 228446 228447 228448 228466 228467 228474 228482 228484 228487 228488 228490 228491 228492 228498 228500 228503 228505 228508 228515 228520 228526 228539 228540 228543 228544 228546 228547 228548 228552 228553 228562 228564 228567 228569 228570 228576 228577 228581 228583 228587 228603 228610 228621 228624 228641 228669 228672 228673 228676 228686 228691 228700 228701 228702 228712 228713 228714 228724 228727 228730 228731 228733 228740 228743 228744 228757 228758 228760 228761 228762 228766 228767 228768 228770 228782 228783 228787 228802 228810 228811 228812 228814 228815 228821 228822 228826 228827 228830 228833 228835 228840 228848 228850 228851 228855 228857 228860 228863 228865 228869 228871 228873 228875 228885 228888 228894 228897 228903 228906 228912 228919 228920 228922 228934 228940 228941 228942 228943 228949 228952 228959 228960 228961 228962 228964 228965 228967 228969 228972 228984 228986 228995 228999 229003 229010 229016 229020 229021 229022 229023 229024 229025 229026 229028 229031 229033 229034 229035 229036 229037 229038 229039 229041 229042 229043 229044 229046 229047 229055 229060 229062 229063 229089 229095 229096 229109 229110 229111 229114 229117 229118 229119 229120 229123 229124 229127 229138 229139 229140 229142 229143 229150 229151 229152 229153 229167 229168 229169 229170 229181 229182 229189 229190 229199 229200 229218 229224 229235 229236 229243 229249 229256 229257 229258 229259 229260 229262 229263 229264 229265 229267 229269 229271 229272 229275 229276 229277 229287 229288 229293 229300 229302 229304 229307 229312 229315 229316 229319 229325 229335 229340 229352 229356 229396 229397 229398 229408 229410 229428 229434 229445 229451 229465 229466 229480 229494 229511 229530 229531 229548 229549 229559 229560 229573 229575 229577 229591 229592 229593 229621 229622 229653 229654 229683 229685 229686 229687 229688 229690 229693 229695 229701 229702 229713 229719 229722 229723 229727 229730 229731 229734 229737 229740 229742 229743 229745 229749 229750 229751 229752 229753 229754 229755 229756 229758 229759 229761 229762 229763 229765 229766 229767 229769 229772 229775 229776 229777 229782 229783 229784 229786 229789 229792 229793 229794 229795 229796 229797 229800 229807 229811 229814 229815 229822 229824 229827 229837 229840 229843 229850 229851 229852 229863 229865 229867 229868 229869 229871 229873 229874 229887 229888 229889 229905 229906 229907 229917 229948 229949 229950 229954 229955 229962 229985 230015 230040 230107 230113 230139 230162 230190 230229 230230 230232 230234 230238 230240 230241 230245 230247 230250 230253 230254 230256 230257 230259 230260 230271 230273 230276 230278 230284 230285 230286 230288 230289 230295 230299 230300 230304 230305 230309 230313 230316 230329 230330 230346 230347 230370 230371 230377 230388 230393 230398 230403 230415 230416 230420 230425 230429 230441 230448 230456 230472 230474 230889 230892 230906 231053 231502 237007 237018 237047 242202 242386 242403 242474 242592 242690 242691 242692 242693 242694 242696 242740 259793 259869 259970 260041 260262 260312 262182 262185 262187 262188 262194 262200 262201 262205 262207 262208 262212 262214 262215 262216 262220 262225 262226 262231 262232 262242 262247 262250 262254 262259 262261 262264 262265 262267 262268 262269 262270 262278 262282 262283 262289 262291 262292 262294 262297 262298 262299 262301 262304 262306 262307 262315 262317 262322 262323 262324 262326 262328 262331 262332 262334 262336 262338 262343 262345 262346 262351 262353 262950 266586 278390 278431 278443 278448 278459 278460 282335 282582 282640 302191 302193 302831 332989 334186 334187 334188 334191 334193 334202 334203 334206 336667 340505 341034 348070 348072 348073 348074 349718 376152 376161 376345 376353 376381 376430 391888 391892 391896 391908 391916 392338 392907 392909 392911 399548 399549 399551 423866 427245 438737 438767 438770 438778 438783 438785 438786 438787 438791 438797 438798 438799 438800 438801 438802 438805 438808 438809 438810 438811 438812 438814 438817 438818 438819 438826 438828 438829 440467 440468 440469 440751 440753 440754 440755 440756 440757 440758 440759 440761 440762 440763 440764 440765 440766 440767 440769 440770 440771 440772 440773 440774 440775 440778 440779 440783 440785 440786 440790 440791 440793 440794 440795 440796 440797 440801 440802 440803 440804 440805 440810 440811 440815 440816 440819 440820 440821 440822 440824 440825 440827 440828 440830 440831 440833 440834 440835 440837 440838 440839 440840 440841 440844 440846 440847 440849 440850 440852 440855 440856 440857 440860 440862 440863 440864 440866 440867 440868 440869 440870 440873 440874 440876 440879 440880 440881 440882 440883 440884 440886 440887 440895 440896 440897 440900 440902 440903 440904 440905 440906 440907 440908 440909 440910 440911 440912 440913 440914 440915 440916 440917 440920 440921 440922 440923 440924 440925 440926 440927 440928 440931 440934 440937 440938 440939 440940 440941 440943 440944 440945 440946 440947 440949 440950 440953 440954 440955 440957 440959 440960 440961 440962 440965 440966 440967 440969 440970 440971 440972 440974 440975 440976 440978 440979 440980 440981 440982 440984 440985 440986 440987 440989 440990 440992 440993 440994 440995 440996 440997 440998 440999 441000 441001 441002 441003 441004 441005 441006 441007 441008 441011 441012 441013 441014 441016 441019 441020 441021 441022 441024 441025 441027 441028 441029 442074 442075 442076 442909 443243 443317 444070 444074 444075 444083 444095 444099 444101 444227 444228 444229 444230 444234 444238 444250 444275 444439 444445 444495 444522 444561 444566 444569 444573 444574 444590 444591 445021 445049 445122 445156 445250 446556 446586 446623 446624 446627 446632 446633 446651 446653 446654 446658 446662 446700 446706 446707 446708 446721 446723 446725 446731 446745 446769 446775 446780 446783 446789 446796 446810 446816 446822 446824 446826 446827 446845 446846 446847 446848 446849 446858 446859 446860 446861 446862 446870 446872 446875 446908 446917 446929 446931 446952 446953 446969 446972 446973 446980 446984 446985 446986 446990 446994 447004 447006 447011 447012 447018 447019 447025 447028 447032 447037 447043 447048 447049 447050 447052 447053 447054 447058 447059 447067 447070 447071 447074 447089 447093 447094 447096 447097 447101 447105 447106 447109 447110 447111 447112 447113 447115 447120 447121 447126 447128 447133 447134 447135 447136 447137 447139 447147 447154 447155 447156 447160 447165 447166 447167 447169 447171 447172 447177 447178 447180 447181 447182 447183 447187 447192 447201 447256 447305 447369 447370 447371 447373 447375 447376 447387 447389 447396 447411 447417 447420 447422 447424 447451 447452 447453 447541 447546 447550 447557 447558 447559 447562 447586 447588 447589 447590 447596 447612 447616 447617 447625 447637 447640 447650 447651 447653 447683 447685 447687 447689 447700 447764 447834 447836 447840 447842 447843 447856 447857 447858 447866 447875 447877 447878 447892 447894 447896 447916 447919 447923 447924 447930 447931 447932 447933 447934 447936 447937 447961 447962 447969 447983 448011 448035 448042 448043 448058 448064 448168 448170 448188 448194 448216 448220 448227 448229 448230 448280 448287 448291 448293 448294 448296 448299 448302 448305 448311 448313 448314 448315 448319 448320 448327 448336 448337 448338 448339 448345 448350 448352 448361 448362 448363 448389 448402 448420 448421 448422 448423 448424 448447 448452 448453 448462 448463 448464 448468 448472 448473 448475 448478 448479 448482 448483 448484 448489 448542 448623 448703 448712 448718 448722 448791 448792 448794 448795 448806 448823 448830 448850 448858 448879 448900 448919 448933 448952 448953 448956 448967 448969 448973 448974 448975 448978 448985 448997 449005 449053 449057 449107 449126 449132 449136 449137 449194 449764 450113 450121 450132 450133 450135 450136 450138 450139 450140 450148 450171 450179 450180 450181 450182 450183 450184 450186 450187 450269 450272 450277 450291 450292 450295 450297 450463 450661 450961 450964 450965 456207 456303 456306 456475 456478 456479 456605 456627 456697 456765 456851 456869 456871 456873 456915 456919 456922 456923 456924 456934 456960 456961 456998 456999 457048 457053 457054 457055 457067 457113 457123 457128 457138 457147 457151 457156 457202 457215 457266 457272 457354 457466 457467 457468 457469 457491 457851 457853 457859 457861 457864 457865 457866 457873 457875 457887 457967 457998 458041 458042 458054 458059 458060 458253 458265 458268 458292 458293 458294 458297 458298 458301 458308 458309 458310 458311 458312 458313 458325 458327 458328 458332 458337 458367 458370 458371 458386 458388 458400 458432 458433 458435 458443 458450 458452 458454 458455 458457 458459 458460 458461 458464 458485 458490 458504 458505 458506 458532 458535 458538 458560 458563 458565 458566 458576 458578 458580 458591 458598 458608 458615 458632 458658 458690 458694 458699 458700 458703 458704 458710 458714 458724 458741 458748 458750 458752 458807 458827 458835 458840 458842 458855 458949 458991 459009 459012 459013 459027 459028 459058 459073 459076 459085 459087 459089 459090 459091 459100 459102 459109 459157 459158 459163 459217 459226 459229 459233 459234 459236 459276 459277 459286 459293 459297 459311 459312 459313 459349 459362 459363 459376 459377 459380 459385 459388 459389 459393 459397 459414 459420 459427 459433 459440 459462 459465 459472 459486 459523 459525 459527 459528 459529 459530 459532 459533 459540 459541 459542 459543 459558 459563 459564 459565 459579 459586 459588 459592 459615 459624 459626 459627 459631 459662 459663 459665 459667 459670 459674 459679 459680 459692 459701 459702 459703 459704 459705 459710 459711 459717 459722 459723 459725 459735 459736 459737 459795 459803 459806 459810 459883 459892 459917 459922 459933 459936 459939 459941 459943 459944 459947 459949 459950 459951 459952 459953 459954 459955 459956 459957 459962 459963 459977 460009 460141 460149 475247 475358 475464 475465 475466 475471 475854 475866 489796 489797 489802 489868 489875 489876 489877 489878 489886 489887 500462 500480 500485 500492 500511 500525 500529 500531 500544 500545 500587 500600 500601 500602 500643 500648 501095 501099 501112 501116 501117 501118 501119 501120 501122 501124 501126 501186 501188 501213 501214 501288 501352 501355 501376 501384 501385 501386 501390 501391 501394 501395 501396 501397 501398 501399 501402 501403 501404 501406 501407 501408 501415 501416 501421 501424 501436 501437 501445 501446 501449 501467 501486 501552 501590 501591 501592 501593 501594 501599 501600 501617 501622 501623 501627 501634 501637 501651 501652 501653 501654 501664 501678 501693 501697 501704 501707 501715 501716 501717 501720 501737 501791 501792 501793 501800 501801 501802 501803 501817 501820 501821 501822 501823 501824 501825 501826 501827 501838 501839 501843 501844 501845 501846 501847 501849 501850 501852 501855 501856 501885 501887 501888 501897 501899 501900 501903 501972 502010 502064 502096 502167 502201 502213 502215 502216 502217 502274 502298 502299 502330 502348 502381 502386 502413 502414 502470 502489 502641 502659 502666 502693 502734 502763 502788 502815 502842 502869 502911 502938 502965 502992 503019 503046 503072 503113 503139 503201 503217 503246 503247 503249 503313 503314 503315 503316 503317 503318 503320 503321 503322 503323 503332 503333 503335 503337 503338 503339 503360 503361 503363 503364 503367 503369 503402 503867 503868 503873 503942 503943 503945 503946 503949 503959 503962 503963 503964 503965 503983 503996 503998 503999 504042 504057 504063 504064 504089 504090 504095 504106 504107 504171 504173 504174 504175 504176 504196 504215 504217 504347 504777 504796 504797 504798 504811 504812 504817 505083 505957 505966 506238 506240 506242 506546 506734 506947 506969 506973 506979 506980 507035 507110 507111 507112 507113 507114 507115 507117 507118 507120 507122 507125 507156 507157 507158 507159 507162 507163 507167 507168 507181 507182 507187 507188 507189 507190 507191 507192 507205 507206 507207 507208 507217 507218 507234 507237 507238 507257 507617 507618 507619 507777 507781 507783 507814 507816 507817 507850 507882 520509 521357 521377 521421 524414 524448 524453 524545 524600 524603 524605 524633 524663 524664 524810 524814 524817 524930 541698 542363 542365 542544 542546 542554 542557 542567 542568 545582 545595 545596 545605 545606 545647 545649 545652 545664 545666 545668 545669 545670 545671 545673 545674 545675 545679 545685 545686 545688 545720 545721 545728 545729 545733 545735 545736 545742 545743 545747 545748 545765 545768 545770 545771 545774 545775 545782 545783 545784 545785 545789 545792 545793 545794 545795 545797 545798 545799 545800 545801 545806 545807 545808 545809 545810 545811 545812 545813 545819 545821 545822 545823 545825 545827 545828 545829 545836 545837 545838 545839 545840 545841 545849 545864 545865 545888 545890 545892 545893 545894 545895 545896 545898 545900 545901 545902 545903 545904 545905 545906 545907 545911 545912 545917 545918 545919 545928 545931 545948 545952 545957 545960 545961 545998 546018 546019 546033 546037 546059 546060 546062 546063 546069 546079 546080 546081 546784 549108 549113 549154 549207 553485 553508 553509 553510 553523 553524 553695 554482 555870 555919 555924 559226 559362 559365 559377 559494 559498 559522 559524 559640 559907 559909 559910 559957 560737 561758 562222 563313 564451 564454 564467 564471 564476 565977 567367 567369 567468 576462 576463 576464 576727 576791 578853 578894 580081 580083 580671 580758 580762 580769 580781 580782 580783 580784 580863 580865 580872 580873 581233 581254 581255 581269 581625 581631 581666 581801 582254 582449 582469 582472 582491 582800 582802 582813 582815 582816 582817 582821 582832 582833 582847 582931 582932 582935 584552 584553 584554 584557 584558 584560 584561 584564 584640 584660 584869 584876 584882 584884 584891 585574 585636 586521 586525 586526 586527 586530 586537 586539 586543 586544 586550 586551 586562 586563 586565 586566 586567 586568 586569 586571 586572 586575 586576 586582 586584 586587 586589 586591 586593 586594 586595 586596 586597 586598 586599 586606 586607 586608 586611 586618 586619 586622 586639 586642 586648 586649 586650 586652 586656 586657 586658 586660 586664 586666 586667 586673 586674 586684 586686 586688 586689 586691 586692 586694 586695 586697 586698 586702 586704 586705 586706 586708 586712 586713 586716 586718 586751 586753 586756 586762 586763 586764 586766 586767 586773 586774 586777 586778 586782 586783 586786 586787 586788 586789 586998 586999 587000 587002 587009 587020 587022 587026 587030 587065 587066 587900 588052 588054 588055 588057 588058 588073 588074 588193 588196 588199 588204 588208 588209 588210 588211 588469 596129 596135 596210 596219 596392 596394 596416 596458 596700 596825 596882 597169 597434 597466 597491 597567 597622 597643 597658 597968 598032 598051 598145 598169 598179 598377 598598 598599 598755 598757 598782 598833 598835 598860 599070 599106 599137 599139 599195 599297 599298 599333 599441 599459 599854 600225 677650 682579 682601 682605 682606 682608 682611 682612 682618 682620 682621 682622 682623 682625 682629 682630 682637 682651 682654 682659 682660 682662 682664 682665 682666 682669 682671 682672 682673 682676 682706 682713 682714 682718 682719 682721 682722 682723 682730 682732 682733 682735 682736 682737 682738 682739 684083 684085 684087 684098 684110 684137 684139 684212 687006 687019 687028 687033 687051 687054 687055 687056 687057 687080 694581 694597 694598 694599 694600 694603 694604 694649 694651 694662 694666 694668 694678 699785 699800 699819 699836 699901 700296 700374 728985 729298 729538 729539 729541 729542 729557 729581 729594 729595 729596 729644 729695 729697 729857 729858 729867 729885 729886 729890 729891 729892 729893 729894 729896 729897 729952 730099 730163 730164 730165 730267 730473 730563 733936 733937 733938 733947 733948 734001 734002 734003 734005 734007 734011 734013 734072 734073 734076 734077 734083 734085 734088 734090 734091 734092 734109 734117 734173 734174 734175 734176 734177 734185 734195 734200 734220 734225 734226 734256 734565 734566 734567 734582 734583 734584 734758 734759 734760 734761 734810 734811 734814 734815 734852 734892 734893 734904 734911 734952 734969 734992 734998 735009 735011 735375 735377 735378 735380 735381 735382 735383 735384 735385 735394 735425 735427 735428 735430 735431 735432 735433 735434 735435 735436 735437 735438 735439 735440 735441 735446 735449 735464 735689 735694 735695 735723 735757 735758 735759 735760 735771 735772 735773 735774 735880 735882 735886 735900 735902 735914 736016 736143 736144 736199 736241 736268 736275 736297 736346 736382 736401 736423 736424 736435 736436 736767 736771 736773 736774 736775 736778 736781 736873 736905 736906 736907 736910 736913 736937 736992 737219 737221 737243 737244 737378 737379 737385 737386 737387 737389 737392 737409 737410 737412 737414 737423 737424 737425 737426 737428 737433 737434 737438 737443 737461 737516 737620 737621 737631 737773 737774 738087 738088 738130 738131 738136 738138 738215 738219 738284 738429 738498 738569 738572 738579 738580 738643 738653 738654 738655 738664 738679 738687 738689 738706 738707 738710 738711 738743 738766 738767 738797 738798 738851 738852 738854 738889 738890 738891 738940 738946 738947 738953 739300 739301 739312 739374 739473 739476 739480 739481 739914 739916 739968 739969 740005 740038 740255 740422 741968 741978 742107 743665 744202 744223 745056 745999 746741 746922 748489 750055 750950 751440 751459 752050 752053 752056 752059 752062 752211 772352 796494 809794 809838 809870 809941 814030 814033 815006 815007 815008 815010 815011 815012 815013 815411 815505 815506 815507 815508 815698 815699 815704 815705 815706 815713 815714 815715 815716 815718 815719 815722 815723 815726 815727 815728 815729 815730 815731 815792 815793 815795 815798 815799 815802 815803 815810 815811 815814 815844 815854 815872 815873 815874 815875 815876 815877 815880 815881 815882 815883 815884 815885 815886 815887 815888 815914 815990 815991 815992 816020 816021 816026 816027 816030 816037 816039 816071 816075 816093 816095 816098 816111 816127 816128 816129 816130 816159 816160 816181 816186 816187 816197 816198 816305 816311 816312 816322 816323 816401 816402 816432 816433 816596 816597 816598 816599 816601 816610 816708 816709 816912 817214 817282 817283 817288 817289 817309 817311 817313 817317 817319 817320 817321 817322 817323 817324 817325 817326 817328 817329 817332 817333 817353 817355 817375 817427 817428 817432 817513 817592 817711 817712 817718 817720 817721 818564 818925 819141 819142 819143 819757 819927 820306 820372 820497 821529 821697 822739 822815 823915 824061 824561 824562 824568 824569 824570 824571 824572 824573 824695 824696 824818 824819 824856 825522 825531 825532 825622 825623 826574 827191 827192 827193 827204 827205 827215 827216 827231 827232 827242 828651 828652 828653 828654 828655 828656 828657 828898 828899 828917 828921 828923 828924 828925 828927 828928 828929 828930 828979 829117 829118 829119 829120 829121 829135 829220 829825 829826 829827 829828 829829 829832 829833 829840 829843 829844 829845 829853 829854 829855 829856 829857 829860 829870 829871 829872 829873 830158 830159 830162 830163 830164 830314 831160 833196 833197 833291 833292 833331 834326 834327 834645 834646 834647 834665 834666 834670 834671 834672 834688 834702 834961 835005 835011 835015 835016 835019 835023 835024 835025 835038 835053 835095 835110 835225 835228 835250 835268 835269 835270 835271 835272 835273 835274 835276 835277 835283 835294 835295 835297 835360 835435 835503 835572 835794 835795 835838 835850 835899 835909 835927 835928 835933 835957 835994 835995 836004 836189 836205 836321 836322 836341 836407 836903 836909 836916 836921 851278 868979 869002 869996 870018 870370 870805 870920 871776 872204 872242 877794 883990 883994 884007 884017 884037 884045 884057 884306 917710 917714 920328 920539 920637 920655 920728 920781 920785 920786 920790 920791 920792 920793 920794 920795 920796 920797 920798 920799 920803 920805 920807 920808 920809 920810 920824 920884 920891 920946 920949 920950 920960 920995 921005 921006 921007 921014 921030 921031 921039 921046 921049 921050 921052 921054 921055 921056 921080 921081 921082 921119 921123 921134 921137 921138 921140 921176 921177 921178 921179 921188 921192 921205 921206 921213 921224 921228 921229 921230 921233 921234 922606 922607 922611 922622 922635 922644 922645 922648 922650 922651 922654 922661 922664 922665 922666 922667 922668 922669 922670 922671 922672 922673 922674 922735 922753 922909 922910 922948 922959 922988 922996 922998 922999 923015 923016 923031 923032 923052 923055 923057 923058 923104 923105 923108 923119 923120 923139 923140 923143 923144 923170 923171 923178 923189 923207 923212 923215 923218 923251 923265 923266 923270 923285 923286 923318 923343 923344 923406 923407 923408 923409 923413 923414 923421 923422 923510 923587 923588 923604 923605 923614 923615 923620 923622 923628 923676 923679 923686 923687 923688 923690 923715 923718 923731 923743 923759 923760 923762 923763 923783 923784 923796 923797 923798 923802 923827 923831 923850 923886 923890 923902 923926 923927 923928 923929 923930 923931 923932 923934 923935 923936 923937 923938 923939 923940 923941 923942 923943 923945 923946 923948 923950 923970 923975 923978 923984 924005 924008 924032 924033 924055 924083 924084 924086 924087 924105 924106 924163 924175 924186 924188 924205 924206 924207 924234 924235 924239 924241 924283 924364 924365 924634 924702 924904 925065 925160 925179 925197 925231 925232 925246 925247 925260 925274 925275 925329 925334 925353 925360 925363 925365 925394 925401 925402 925403 925410 925420 925421 925464 925465 925477 925556 925567 925636 925637 925643 925645 925657 925660 925774 925781 925783 925794 925795 925796 925818 925821 925823 925831 925850 925855 925864 925870 925962 925963 925967 925968 925969 925970 926372 926412 926489 926521 926526 926529 926530 926535 926537 926545 926546 926549 926550 926577 926595 926601 926602 926603 926608 926619 926627 926629 926632 926633 926649 926657 926666 926676 926774 926787 926791 926809 926810 926817 926821 926822 926823 926826 926855 926867 926868 926873 926889 926904 926962 927047 927073 927074 927094 927095 927096 927099 927101 927102 927195 927216 927217 927222 927225 927235 927240 927241 927242 927243 927244 927245 927248 927249 927250 927324 927325 927327 927333 927335 927336 927337 927338 927520 927609 927939 927940 927971 927974 927997 928153 928154 928274 928497 928854 928865 928880 928993 929096 929097 929101 929110 929113 929130 929144 929176 929177 929178 929193 929194 929196 929200 929288 929289 929301 929369 929370 929386 929433 929498 929499 929516 929518 929519 929520 929527 929528 929530 929546 929720 929722 929729 929730 929800 929910 929981 929987 929988 929994 930120 930245 930246 930247 930286 930290 930295 930299 930301 930330 930352 930454 930459 930552 930553 930554 930555 930557 930558 930566 930567 930583 930598 930667 930787 930789 930955 930956 930957 930958 930959 930960 930961 930962 930963 930964 930965 930966 930967 930968 930970 931511 931512 931513 931514 931515 931517 931518 931530 931551 931667 931668 931669 931671 931674 931689 931719 931720 931772 932005 932023 932234 932254 932255 932257 932260 932428 932445 932486 932487 932488 932489 932491 932502 932504 932505 932520 932521 932530 932531 932533 932679 932680 932684 932688 932709 932710 932778 932803 932866 932886 933286 933346 933449 933502 933549 933637 933641 933644 933647 933648 933651 933653 933654 933655 933656 933657 933659 933660 933784 933793 933807 933819 933820 933845 933852 934025 934028 934029 934081 934099 934100 934128 934132 934141 934152 934160 934161 934163 934174 934185 934302 934314 934315 934323 934325 934327 934333 934364 934435 934459 934464 934502 934506 934547 934550 934600 934662 934726 934730 934736 934769 934770 934885 934891 934940 935028 935080 935081 935162 935207 935238 935239 935243 935248 935250 935272 935326 935397 935602 935603 935613 935616 935624 935626 936188 936236 936237 939943 939950 939967 940766 947116 947117 947119 947123 947138 947141 947149 947197 947205 947208 947209 947210 947487 947493 947620 947635 949650 949754 994638 1113694 1116421 1116426 1116428 1116439 1116441 1116449 1116450 1116452 1116455 1116456 1116457 1116459 1116515 1116517 1134421 1135971 1135973 1136024 1140618 1148445 1176458 1178859 1178873 1178943 1178954 1178987 1179008 1179137 1179154 1179176 1179185 1179405 1179411 1179412 1179413 1179440 1179446 1179449 1179451 1179453 1179500 1179544 1179555 1179571 1179572 1179604 1179611 1179612 1179613 1179614 1179615 1179632 1179668 1179804 1179819 1179822 1179823 1180023 1180033 1180080 1180092 1180121 1180231 1180232 1180246 1180247 1180255 1180275 1180276 1180282 1180283 1180288 1180353 1180354 1180364 1180416 1180418 1180419 1180452 1180467 1180541 1180552 1180553 1180555 1180556 1180558 1180559 1180560 1180592 1180639 1180642 1180681 1180686 1180688 1180692 1180695 1180696 1180703 1180704 1180709 1180712 1180719 1180722 1180724 1180732 1180733 1180748 1180764 1180836 1181025 1181028 1181031 1181034 1181113 1181118 1181159 1181160 1181169 1181170 1181171 1181172 1181240 1181305 1181306 1181308 1181309 1181475 1181536 1181642 1181698 1181902 1182463 1182464 1182550 1182551 1182552 1182565 1182591 1182592 1182593 1182649 1182695 1182705 1182707 1182800 1182801 1182808 1182823 1182882 1182896 1182918 1183035 1183118 1183135 1183221 1183222 1183251 1183416 1183650 1183680 1183716 1183743 1183744 1183745 1183746 1183747 1183748 1183759 1183765 1183843 1183944 1183949 1183963 1184037 1184179 1184206 1184207 1184459 1184498 1184511 1184518 1184520 1184524 1184525 1184528 1184532 1184715 1184740 1184741 1184742 1184743 1184744 1184748 1184749 1184750 1184751 1184778 1184797 1184808 1184891 1184914 1184917 1184919 1184920 1184921 1184922 1184923 1184934 1184935 1184939 1184941 1185648 1185655 1185662 1185677 1185708 1185714 1185715 1185717 1185719 1185720 1185723 1185724 1185726 1185727 1185728 1185730 1185731 1185732 1185733 1185734 1185735 1185736 1185737 1185738 1185739 1185740 1185743 1185744 1185745 1185746 1185747 1185753 1185757 1185761 1185762 1185780 1185781 1185790 1185802 1185816 1185817 1185820 1185857 1185866 1185878 1185893 1185894 1185895 1185896 1185907 1185936 1185943 1185944 1185948 1185949 1185951 1185961 1185978 1185982 1185983 1186012 1186016 1186131 1186134 1186154 1186161 1186162 1186165 1186168 1186187 1186196 1186197 1186198 1186224 1186227 1186249 1186263 1186280 1186281 1186291 1186297 1186304 1186305 1186704 1186738 1186739 1186740 1186741 1186982 1186983 1235668 1253900 1253938 1253940 1256484 1257979 1257980 1260616 1260952 1261045 1261048 1261054 1261059 1261060 1261061 1261062 1261063 1261064 1261065 1261066 1261067 1261068 1261070 1261071 1261073 1261078 1261079 1261082 1261084 1261103 1261195 1261211 1261317 1261509 1262462 1266874 1266877 1266878 1266881 1266888 1266908 1266915 1266923 1266926 1266927 1266928 1267072 1267077 1267099 1267124 1267130 1267134 1267157 1267175 1267178 1267179 1267180 1267181 1267183 1267185 1267186 1267188 1267193 1267194 1267195 1267211 1267224 1267225 1267233 1267236 1267249 1267263 1267264 1267265 1267266 1267275 1267282 1267284 1267285 1267286 1267288 1267289 1267298 1267299 1267304 1267308 1267309 1267310 1267311 1267315 1267316 1267318 1267319 1267320 1267324 1267331 1267332 1267334 1267336 1267337 1267352 1267354 1267355 1267356 1267357 1267358 1267359 1267360 1267363 1267364 1267365 1267366 1267367 1267368 1267369 1267374 1267375 1267383 1267384 1267385 1267386 1267391 1267392 1267394 1267395 1267396 1267397 1267398 1267399 1267400 1267401 1267402 1267403 1267404 1267408 1267409 1267412 1267414 1267416 1267418 1267419 1267420 1267422 1267425 1267429 1267436 1267443 1267453 1267454 1267456 1267457 1267460 1267461 1267462 1267464 1267465 1267470 1267471 1267472 1267473 1267474 1267475 1267476 1267477 1267482 1267483 1267484 1267485 1267486 1267490 1267491 1267492 1267493 1267494 1267495 1267496 1267497 1267498 1267504 1267506 1267507 1267513 1267528 1267529 1267530 1267531 1267533 1267534 1267539 1267540 1267541 1267560 1267573 1267574 1267577 1267578 1267594 1267604 1267620 1267647 1267671 1267672 1267697 1267733 1267734 1267735 1267759 1267766 1267767 1267768 1267783 1267791 1267796 1268018 1268019 1268023 1268026 1268027 1268028 1268029 1268033 1268039 1268041 1268042 1268058 1268059 1268062 1268065 1268070 1268071 1268089 1268090 1268091 1268092 1268093 1268094 1268095 1268096 1268097 1268098 1268099 1268100 1268103 1268104 1268107 1268108 1268110 1268111 1268113 1268115 1268116 1268118 1268119 1268120 1268123 1268124 1268125 1268126 1268127 1268129 1268131 1268132 1268134 1268137 1268138 1268139 1268140 1268141 1268144 1268145 1268146 1268149 1268150 1268151 1268152 1268153 1268156 1268160 1268161 1268162 1268164 1268165 1268166 1268169 1268170 1268175 1268180 1268182 1268183 1268185 1268186 1268188 1268194 1268195 1268196 1268198 1268199 1268200 1268201 1268203 1268205 1268210 1268215 1268221 1268222 1268226 1268255 1268268 1268307 1268540 1268543 1268965 1268966 1268971 1268972 1268973 1268974 1268975 1268976 1268977 1268978 1268979 1268980 1268981 1268985 1268986 1268987 1268988 1268990 1268995 1268997 1268998 1268999 1269000 1269001 1269003 1269004 1269005 1269006 1269007 1269008 1269009 1269010 1269011 1269012 1269013 1269014 1269015 1269017 1269018 1269019 1269020 1269021 1269022 1269023 1269024 1269025 1269026 1269027 1269028 1269030 1269032 1269040 1269041 1269046 1269047 1269048 1269050 1269051 1269052 1269053 1269054 1269055 1269059 1269064 1269065 1269066 1269067 1269078 1269079 1269080 1269087 1269528 1269530 1269533 1269537 1269538 1269541 1269542 1269545 1269548 1269552 1269553 1269554 1269555 1269556 1269559 1269566 1269567 1269568 1269569 1269571 1269572 1269574 1269575 1269578 1269579 1269580 1269581 1269582 1269589 1269590 1269591 1269592 1269594 1269596 1269597 1269599 1269601 1269603 1269604 1269605 1269609 1269613 1269614 1269657 1269812 1269870 1269878 1269879 1269880 1269881 1269882 1269885 1269886 1269887 1269888 1269889 1269890 1269891 1269892 1269893 1269894 1269896 1269898 1269899 1269900 1269902 1269903 1269914 1271165 1272492 1272493 1272494 1272496 1272497 1272498 1272499 1272500 1272501 1272502 1272503 1272506 1272509 1272511 1272512 1272513 1272523 1272524 1272525 1272526 1272527 1272528 1272529 1272530 1272531 1272532 1272533 1272535 1272536 1272537 1272538 1272539 1272540 1272541 1272542 1272543 1272596 1272614 1272637 1272767 1273357 1275494 1275667 1275669 1275950 1275964 1275965 1275976 1276272 1276274 1276374 1277067 1277118 1277313 1277314 1277463 1277589 1277599 1277661 1277674 1277703 1277734 1278271 1278277 1278281 1278282 1278309 1278315 1278318 1278320 1278335 1278377 1278396 1278400 1278401 1278406 1278415 1278416 1278417 1278423 1278424 1278428 1278429 1278430 1278432 1278433 1278459 1278460 1278461 1278463 1278465 1278468 1278469 1278487 1278579 1278583 1278585 1278586 1278588 1278590 1278592 1278593 1278594 1278645 1278648 1278649 1278650 1278652 1278656 1278659 1278662 1278696 1278698 1278707 1278724 1278758 1278765 1278766 1278770 1278772 1278776 1278777 1278779 1278782 1278783 1278785 1278787 1278788 1278789 1278790 1278800 1278802 1278804 1278814 1278836 1278837 1278838 1278839 1278840 1278841 1278844 1278845 1278846 1278847 1278850 1278851 1278852 1278853 1278855 1278856 1278857 1278858 1278859 1278860 1278861 1278863 1278864 1278865 1278866 1278867 1278868 1278869 1278870 1278871 1278872 1278873 1278874 1278875 1278877 1278878 1278879 1278880 1278881 1278886 1278887 1278888 1278889 1278890 1278891 1278892 1278893 1278894 1278895 1278896 1278898 1278899 1278900 1278901 1278902 1278903 1278904 1278905 1278906 1278908 1278909 1278911 1278912 1278913 1278914 1278916 1278917 1278919 1278920 1278921 1278922 1278923 1278925 1278926 1278928 1278929 1278930 1278931 1278932 1278933 1278934 1278935 1278936 1278937 1278938 1278939 1278940 1278942 1278943 1278944 1278945 1278946 1278947 1278948 1278949 1278951 1278952 1278953 1278954 1278955 1278956 1278957 1278958 1278959 1278960 1278961 1278962 1278963 1278964 1278965 1278967 1278968 1278969 1278970 1278971 1278972 1278974 1278975 1278976 1278978 1278980 1278981 1278982 1278984 1278985 1278986 1278991 1278992 1278997 1279017 1279033 1279035 1279036 1279038 1279040 1279042 1279045 1279046 1279047 1279048 1279049 1279050 1279051 1279052 1279053 1279054 1279055 1279057 1279059 1279060 1279061 1279062 1279065 1279070 1279075 1279079 1279083 1279087 1279090 1279096 1279099 1279100 1279101 1279102 1279103 1279104 1279105 1279107 1279109 1279110 1279112 1279118 1279123 1279125 1279130 1279153 1279154 1279161 1279165 1279169 1279170 1279171 1279175 1279176 1279178 1279179 1279181 1279203 1279204 1279245 1279246 1279250 1279251 1279254 1279257 1279263 1279266 1279338 1279341 1279342 1279343 1279344 1279367 1279380 1279398 1279401 1279402 1279403 1279406 1279411 1279418 1279421 1279424 1279426 1279457 1279460 1279463 1279464 1279466 1279493 1279495 1279496 1279504 1279512 1279516 1279517 1279520 1279525 1279548 1279549 1279551 1279571 1279572 1279580 1279584 1279586 1279587 1279588 1279589 1279626 1279629 1279630 1279864 1279877 1279878 1279882 1279890 1279891 1279902 1279903 1279907 1279997 1279998 1279999 1280013 1280015 1280022 1280023 1280049 1280050 1280063 1280065 1280079 1280085 1280089 1280090 1280107 1280108 1280109 1280110 1280111 1280112 1280113 1280114 1280115 1280116 1280117 1280118 1280119 1280120 1280123 1280124 1280125 1280126 1280127 1280128 1280129 1280130 1280131 1280132 1280133 1280134 1280135 1280136 1280137 1280138 1280139 1280140 1280141 1280142 1280143 1280144 1280146 1280147 1280153 1280154 1280155 1280156 1280157 1280158 1280159 1280160 1280161 1280162 1280163 1280166 1280167 1280168 1280171 1280172 1280173 1280174 1280175 1280176 1280177 1280178 1280179 1280180 1280181 1280182 1280183 1280185 1280186 1280188 1280190 1280193 1280196 1280197 1280198 1280199 1280200 1280202 1280205 1280206 1280211 1280212 1280213 1280214 1280215 1280217 1280218 1280222 1280224 1280226 1280229 1280230 1280231 1280232 1280233 1280234 1280235 1280236 1280237 1280238 1280239 1280240 1280241 1280244 1280248 1280249 1280250 1280251 1280252 1280254 1280255 1280256 1280264 1280268 1280269 1280271 1280272 1280273 1280287 1280291 1280304 1280306 1280307 1280308 1280309 1280310 1280313 1280315 1280317 1280323 1280325 1280326 1280333 1280340 1280341 1280344 1280345 1280346 1280348 1280349 1280350 1280351 1280352 1280357 1280360 1280361 1280362 1280364 1280365 1280366 1280368 1280369 1280374 1280375 1280376 1280380 1280381 1280382 1280383 1280384 1280385 1280388 1280389 1280390 1280392 1280400 1280401 1280403 1280404 1280405 1280410 1280414 1280415 1280423 1280429 1280431 1280439 1280440 1280448 1280450 1280454 1280455 1280466 1280470 1280472 1280475 1280476 1280478 1280484 1280488 1280498 1280501 1280504 1280509 1280513 1280515 1280526 1280537 1280538 1280541 1280571 1280572 1280579 1280592 1280603 1280606 1280607 1280609 1280616 1280617 1280619 1280620 1280630 1280632 1280635 1280637 1280650 1280653 1280654 1280659 1280660 1280675 1280680 1280685 1280690 1280695 1280699 1280704 1280709 1280711 1280712 1280713 1280714 1280719 1280724 1280732 1280733 1280734 1280735 1280737 1280739 1280740 1280742 1280744 1280749 1280752 1280753 1280754 1280775 1280779 1280781 1280796 1280797 1280829 1280833 1280836 1280837 1280839 1280844 1280845 1280846 1280847 1280850 1280862 1280863 1280878 1280879 1280884 1280888 1280889 1280892 1280897 1280901 1280904 1280905 1280914 1280928 1280938 1280939 1280940 1280941 1280942 1280943 1280945 1280950 1280951 1280952 1280953 1280955 1280956 1280958 1280971 1280976 1280977 1280978 1280979 1280980 1280982 1280984 1280985 1280986 1280987 1280989 1280990 1280994 1280995 1280996 1280997 1280999 1281000 1281002 1281003 1281004 1281005 1281008 1281010 1281011 1281013 1281014 1281015 1281016 1281017 1281018 1281019 1281020 1281022 1281023 1281025 1281026 1281027 1281028 1281029 1281035 1281044 1281045 1281046 1281047 1281048 1281049 1281050 1281051 1281053 1281057 1281059 1281060 1281061 1281063 1281065 1281066 1281068 1281085 1281092 1281094 1281096 1281097 1281106 1281107 1281108 1281115 1281116 1281118 1281119 1281123 1281125 1281126 1281128 1281134 1281137 1281138 1281140 1281141 1281142 1281145 1281152 1281157 1281159 1281160 1281161 1281162 1281171 1281172 1281173 1281174 1281176 1281177 1281196 1281197 1281199 1281200 1281202 1281203 1281204 1281205 1281206 1281209 1281210 1281211 1281214 1281215 1281216 1281217 1281218 1281219 1281220 1281221 1281222 1281224 1281225 1281226 1281227 1281228 1281229 1281230 1281231 1281232 1281234 1281235 1281237 1281238 1281239 1281240 1281242 1281243 1281250 1281251 1281252 1281253 1281254 1281255 1281256 1281257 1281258 1281259 1281260 1281262 1281265 1281270 1281274 1281279 1281287 1281294 1281297 1281298 1281299 1281307 1281308 1281309 1281311 1281312 1281313 1281314 1281315 1281316 1281317 1281318 1281319 1281322 1281323 1281324 1281326 1281329 1281330 1281332 1281333 1281335 1281336 1281338 1281339 1281349 1281350 1281351 1281352 1281353 1281354 1281358 1281361 1281363 1281364 1281370 1281371 1281381 1281382 1281387 1281388 1281390 1281394 1281396 1281403 1281404 1281405 1281410 1281431 1281435 1281437 1281446 1281449 1281452 1281466 1281503 1281524 1281526 1281527 1281529 1281530 1281531 1281533 1281535 1281559 1281562 1281566 1281567 1281568 1281569 1281570 1281571 1281572 1281573 1281574 1281575 1281577 1281580 1281581 1281583 1281584 1281586 1281587 1281588 1281589 1281590 1281591 1281592 1281594 1281598 1281600 1281602 1281605 1281612 1281614 1281619 1281620 1281625 1281626 1281629 1281630 1281634 1281635 1281636 1281637 1281638 1281639 1281641 1281646 1281654 1281655 1281656 1281658 1281659 1281660 1281661 1281670 1281673 1281677 1281690 1281711 1281713 1281717 1281740 1281795 1281807 1281809 1281812 1281813 1281814 1281816 1281820 1281822 1281838 1281840 1281842 1281852 1281853 1281854 1281859 1281868 1281873 1281876 1281954 1281955 1281957 1281959 1281960 1281962 1281963 1281968 1281970 1281971 1281972 1282007 1282008 1282009 1282025 1282037 1282046 1282103 1282104 1282118 1282126 1282184 1282299 1282300 1282302 1282313 1282324 1282326 1282334 1282343 1282355 1282356 1282357 1282379 1282380 1282384 1282385 1282388 1282403 1282581 1282582 1282592 1282593 1282606 1282615 1282622 1282623 1282624 1282625 1282627 1282628 1282632 1282633 1282636 1282640 1282642 1282646 1282656 1282658 1282660 1282663 1282672 1282673 1282681 1282683 1282685 1282686 1282693 1282702 1282703 1282712 1282713 1282717 1282741 1282745 1282746 1282748 1282749 1282750 1282751 1282754 1282755 1282756 1282758 1282762 1282767 1282773 1282774 1282775 1282776 1282778 1282782 1282783 1282811 1282820 1282821 1282822 1282823 1282824 1282826 1282840 1282842 1282850 1282851 1282852 1282854 1282857 1282862 1283302 1283303 1283308 1283310 1283313 1283316 1283333 1283367 1283373 1283394 1283556 1283597 1283602 1283604 1283605 1283612 1283642 1283643 1283683 1283686 1283694 1283705 1283707 1283744 1283745 1283775 1283786 1283788 1283790 1283794 1283796 1283798 1283799 1283801 1283832 1283837 1283846 1283860 1283866 1283869 1283872 1283874 1283875 1283877 1283878 1283879 1283881 1283882 1283883 1283884 1283889 1283891 1283892 1283895 1283903 1283904 1283905 1283906 1283908 1283910 1283912 1283921 1283926 1283927 1283975 1284077 1284084 1284085 1284087 1284096 1284113 1284114 1284115 1284119 1284121 1284138 1284139 1284151 1284162 1284392 1284399 1284466 1284477 1284478 1284479 1284481 1284485 1284489 1284554 1284556 1284563 1284582 1284606 1284613 1284615 1284619 1284648 1284653 1284670 1284703 1284765 1284782 1284803 1284819 1284834 1284931 1284934 1284935 1284948 1284949 1284961 1285000 1285001 1285085 1285087 1285088 1285092 1285100 1285102 1285103 1285104 1285126 1285515 1288305 1288327 1288329 1288381 1288386 1288390 1288409 1288410 1288412 1288413 1288428 1288430 1288431 1288435 1288449 1288463 1288549 1288557 1288570 1288581 1288589 1288590 1288597 1288612 1288615 1288625 1288636 1288655 1288673 1288678 1288691 1288692 1288728 1288729 1288735 1288736 1288745 1288746 1288747 1288756 1288917 1288943 1288944 1288948 1288949 1288960 1288972 1288974 1288975 1288977 1288979 1288980 1289011 1289027 1289028 1289029 1289030 1289032 1289033 1289034 1289049 1289050 1289051 1289052 1289054 1289055 1289056 1289127 1289141 1289155 1289161 1289176 1289177 1289179 1289196 1289202 1289204 1289205 1289206 1289207 1289233 1289238 1289248 1289249 1289252 1289266 1289299 1289306 1289310 1289321 1289328 1289329 1289335 1289356 1289359 1289377 1289384 1289388 1289393 1289433 1289438 1289445 1289448 1289449 1289452 1289453 1289457 1289461 1289463 1289467 1289468 1289477 1289483 1289497 1289498 1289500 1289501 1289503 1289504 1289506 1289508 1289509 1289510 1289511 1289512 1289513 1289514 1289515 1289518 1289526 1289531 1289548 1289551 1289554 1289555 1289573 1289583 1289585 1289608 1289610 1289612 1289613 1289615 1289620 1289621 1289623 1289636 1289637 1289644 1289646 1289669 1289670 1289672 1289685 1289686 1289691 1289692 1289704 1289705 1289707 1289708 1289716 1289724 1289726 1289727 1289730 1289732 1289733 1289736 1289784 1298793 1299133 1299137 1299140 1299141 1299143 1299155 1299156 1299162 1299201 1299202 1299228 1299265 1299543 1299596 1299723 1299725 1299728 1299729 1299730 1299733 1299737 1299746 1299764 1299765 1299807 1299808 1299809 1299810 1299817 1299818 1299819 1299821 1299828 1299836 1299862 1301420 1301427 1301429 1302689 1304902 1304947 1304957 1304960 1304968 1304983 1304986 1304991 1304993 1305000 1305005 1305009 1305040 1305059 1305065 1305075 1305086 1305131 1305134 1305138 1305151 1305155 1305168 1305175 1305181 1305187 1305188 1305276 1305277 1305286 1305287 1305299 1305305 1305306 1305310 1305312 1305313 1305314 1305316 1305324 1305327 1305329 1305344 1305356 1305361 1305362 1305365 1305376 1305378 1305384 1305386 1305392 1305407 1305416 1305431 1305441 1305444 1305454 1305456 1305468 1305476 1305477 1305478 1305480 1305482 1305485 1305488 1305490 1305491 1305493 1305494 1305495 1305497 1305498 1305499 1305500 1305510 1305533 1305538 1305549 1305557 1305568 1305575 1305577 1305579 1305580 1305583 1305586 1305590 1305591 1305592 1305593 1305594 1305595 1305596 1305597 1305599 1305600 1305601 1305602 1305603 1305604 1305605 1305606 1305607 1305608 1305609 1305610 1305611 1305613 1305618 1305624 1305625 1305659 1305694 1305699 1305712 1305713 1305714 1305719 1305721 1305733 1305734 1305743 1305751 1305752 1305753 1305755 1305757 1305761 1305766 1305767 1305772 1305773 1305775 1305777 1305778 1305779 1305781 1305782 1305787 1305795 1305896 1305903 1305907 1305908 1305910 1305911 1305913 1305915 1305917 1305919 1305961 1306475 1306478 1306480 1306481 1306482 1306518 1306528 1306535 1306642 1306664 1306665 1306748 1306819 1314737 1317752 1317874 1318149 1318303 1319007 1321499 1321508 1321513 1321533 1321548 1321582 1321680 1323109 1323110 1328822 1328945 1367111 1384497 1440080 1440174 1442193 1442216 1442236 1442251 1442260 1442273 1442293 1442314 1442317 1442319 1442334 1442393 1443270 1443271 1443304 1444130 1446298 1450218 1451819 1455736 1455831 1456431 1456800 1456806 1456808 1507205 1508498 1508499 1508502 1508504 1508538 1508554 1508557 1508559 1508571 1508573 1508576 1508597 1508600 1508601 1508605 1508617 1508619 1508621 1508659 1508661 1508663 1508704 1508711 1508725 1508728 1508729 1508732 1508769 1510461 1510663 1510668 1510901 1510903 1510905 1510906 1510907 1510908 1510913 1510918 1510944 1510987 1511522 1511523 1511525 1511528 1511529 1511547 1511743 1511744 1511745 1511748 1512036 1512274 1512275 1512279 1512329 1512568 1512726 1512727 1512730 1512784 1512785 1512817 1512856 1512857 1512868 1512871 1512876 1512878 1512879 1512882 1512897 1512970 1512991 1513047 1513049 1513051 1513122 1513140 1513268 1513290 1513291 1513295 1513773 1513873 1514163 1514219 1514259 1514297 1514389 1514580 1514814 1515017 1515031 1515057 1515063 1515066 1515068 1515069 1515081 1515341 1515933 1515934 1515954 1515955 1516032 1516033 1516289 1516305 1516320 1516384 1516560 1516697 1516722 1516723 1516904 1516964 1517034 1517038 1517042 1517045 1517082 1517153 1517155 1517156 1517464 1517467 1517562 1517602 1517630 1517720 1517735 1517748 1518044 1518046 1518050 1518263 1518528 1518529 1518530 1518567 1518593 1518605 1518646 1518857 1518897 1518899 1518900 1518941 1518964 1519002 1519082 1519097 1519264 1519447 1519455 1519456 1519631 1519874 1519909 1519988 1520137 1521748 1521980 1521985 1522014 1522301 1522391 1522407 1522441 1522450 1522466 1522495 1522509 1522549 1526927 1526936 1526937 1526939 1527095 1531837 1532946 1533572 1533615 1536993 1536994 1537010 1537012 1540449 1541679 1541680 1545723 1545922 1545956 1545965 1545973 1549090 1549091 1549092 1549093 1549094 1550225 1550229 1550233 1550238 1550239 1550240 1550241 1550242 1550244 1550245 1550252 1550261 1550262 1550264 1550266 1550269 1550270 1550271 1550272 1550274 1550277 1550278 1550282 1550283 1550284 1550288 1550290 1550291 1550293 1550296 1550297 1550298 1550300 1550302 1550306 1550308 1550309 1550310 1550311 1550312 1550313 1550315 1550316 1550318 1550319 1550320 1550321 1550324 1552103 1552104 1552105 1552106 1552107 1552108 1552109 1552110 1552111 1552112 1552113 1552114 1552115 1552116 1552117 1552118 1552119 1552120 1552121 1552122 1552123 1552124 1552125 1552126 1552127 1552128 1552129 1552130 1552131 1552132 1552133 1552134 1552135 1552136 1552137 1552138 1552139 1552140 1552141 1552142 1552143 1552144 1552145 1552146 1552147 1552148 1552149 1552151 1552152 1552153 1552154 1552155 1552157 1552158 1552159 1552160 1552161 1552162 1552213 1552216 1553550 1553553 1553559 1553562 1553565 1553568 1553571 1553574 1553580 1553583 1553586 1553589 1553592 1553641 1556111 1561517 1561522 1561984 1562098 1562134 1562239 1562297 1562751 1562793 1562974 1563093 1563124 1563144 1563175 1563293 1567435 1571705 1578559 1578643)\n(24 1208 3087 4168 4169 5853 5888 7473 7764 7769 7799 8814 8841 10265 10272 11403 13075 13455 13770 14537 14871 15028 15352 16520 16734 19558 21721 21774 22417 22745 24957 25525 25589 27423 27426 27825 27869 29180 29922 30471 31138 34015 34099 34667 35359 35878 36036 37009 37885 37922 38291 38292 38527 38541 38593 39062 39318 39493 40356 42606 86881 149555 149556 149591 152279 152287 152288 162485 178718 206117 221929 221941 221955 222607 222633 222634 222662 222666 222672 222686 222690 222706 222712 222724 222753 222756 222757 223085 223088 223104 223205 223491 223605 223608 223610 223611 223670 224497 224502 224503 224504 224506 224507 224508 224510 224512 224515 224516 224517 224520 224521 224527 224528 224530 224535 224540 224541 224546 224548 224549 224553 224557 224565 224577 224584 224585 224592 224593 224599 224602 224603 224605 224608 224620 224622 224681 224683 224693 224714 224718 224722 224724 224728 224730 224734 224736 224853 225091 225150 225255 225265 225273 225293 225295 225297 225319 225373 225427 225432 225450 225451 225465 225477 225478 225565 225566 225573 225574 225577 225581 225842 225847 225849 225851 225857 225864 225874 225876 225892 225927 225946 225948 225954 225972 225979 225980 226504 226656 226859 226862 226863 226864 226865 226871 226895 226896 226935 226971 227145 227148 227170 227194 227203 227233 227249 227282 227332 227348 227408 227410 227427 227517 227524 227530 227620 227643 227672 227680 227744 227765 227779 227833 227841 227842 227844 227916 228046 228134 228135 228142 228144 228145 228146 228147 228150 228151 228153 228155 228168 228187 228188 228189 228205 228212 228213 228216 228224 228237 228243 228251 228254 228258 228468 228476 228480 228495 228524 228525 228527 229098 229108 229238 229286 229289 229337 229338 229341 229390 229393 229394 229427 229495 229506 229689 229872 229876 229877 230041 230044 230045 230057 230114 230160 230212 230213 230223 230262 230263 230265 230267 230277 230283 230298 230301 230319 230320 230349 230376 230843 231099 242255 242358 262193 262204 262325 278419 278445 332469 333343 376491 391889 444559 444562 444567 444575 446497 446498 446582 446606 446675 446676 446677 446678 446690 446691 446694 446695 446697 446863 446864 446911 447131 447383 447384 447385 447386 447399 447400 447427 447431 447432 447433 447436 447437 447454 447513 447576 447577 447662 447723 447740 447744 447754 447756 447780 447785 447788 447789 447790 447795 447796 447797 447801 447805 447814 447815 447821 447822 447823 447824 449065 449067 449068 449085 449087 450102 450209 450274 450285 450289 450432 456152 456153 456154 456278 456292 456921 456928 456929 456930 456936 456938 458062 458267 458365 458394 458468 458479 458718 458728 458729 458767 458826 458841 458952 459051 459409 459410 459411 459413 459449 459456 459470 459561 459562 459572 459574 459612 459682 459712 459720 459721 459742 459804 459807 459828 459928 459929 475427 475433 489870 489872 489891 500470 500471 500472 500474 501400 502420 502723 502760 503705 503718 503854 503899 503989 503990 503994 503995 504073 504074 504086 504099 504100 504102 504201 504205 504206 504207 504208 504311 504314 504332 504368 504605 504608 506230 507069 507070 507071 507072 507082 507083 507314 507371 507372 507404 507405 507621 507622 524426 524444 545876 553486 555898 559769 559884 560312 582796 582797 582801 582898 582899 582900 584646 584655 584731 585572 588971 595944 598100 598122 600008 600012 682581 682583 682584 682585 682609 682624 687073 687075 687078 694756 699803 702128 729580 729905 729906 729907 729936 730181 730182 730187 730608 733987 733993 734039 734048 734049 734050 734051 734278 734933 734948 734949 734978 735405 735696 735765 736263 736264 737254 737638 738122 738255 738472 738497 738841 739021 739206 739527 739528 739879 741204 815460 815461 815775 815776 815869 815870 816096 816446 816555 817714 817730 817731 818311 818468 818470 818475 818476 818492 818494 819925 819951 819982 819983 819984 819985 819986 820310 820382 820957 822054 822057 822063 823934 823935 823951 827004 827005 827006 827007 827008 827016 827017 827031 827032 827035 827036 827082 827083 827086 827087 827179 827182 827185 827188 831026 831027 833226 833263 833631 834358 834361 835034 835321 835796 836148 836834 836913 872093 922973 923881 923882 923883 923884 924198 924199 924200 924288 924289 924290 925454 925455 925496 925506 925507 925558 925559 925562 925566 925575 925577 925579 925580 925582 925591 925597 925598 925600 925601 925603 926401 926403 926578 926579 926643 926645 926662 926682 926683 926690 926692 926698 926729 926735 926736 926784 926790 926797 926818 926835 926836 926839 926851 926852 926856 926857 926861 926862 926863 926971 927053 927103 927106 927112 927227 927246 927328 927329 927330 927617 927618 927932 927941 927942 927944 927962 927963 927964 927965 927968 928234 928828 928831 928836 928839 928849 928875 929033 929035 929085 929100 929104 929122 929191 929192 929208 929209 929210 929232 929302 929305 929326 929343 929359 929524 929525 929553 929554 929602 929832 929962 930002 930047 930050 930125 930127 930222 930223 930275 930303 930304 930309 930310 930313 930337 930339 930341 930378 930379 930520 930833 930838 931862 931864 931899 932508 932510 933457 933458 933812 934187 934444 934446 934456 934514 934564 934577 934655 934936 935054 935205 935377 947162 1135949 1178983 1178986 1179147 1179210 1179215 1179403 1179415 1179590 1179616 1179619 1179869 1179872 1179874 1179882 1179884 1179886 1179900 1179999 1180001 1180003 1180004 1180028 1180048 1180083 1180098 1180370 1181590 1183407 1183427 1183439 1183517 1183568 1184157 1184160 1184163 1184208 1184475 1184482 1184483 1184484 1184501 1184531 1184543 1184546 1184548 1184549 1184550 1184561 1184666 1184667 1184668 1184669 1184670 1184672 1184673 1184674 1184675 1184677 1184717 1184745 1184746 1184886 1184912 1185625 1185650 1185651 1185652 1185718 1185742 1185779 1185838 1185839 1185898 1185950 1185952 1185993 1186007 1186008 1186138 1186226 1186257 1186300 1186301 1186736 1235660 1253955 1261046 1261212 1262468 1267105 1267108 1267110 1267111 1267112 1267113 1267114 1267116 1267117 1267132 1267133 1267234 1267235 1267551 1267632 1267633 1267705 1268102 1268229 1268230 1268231 1268235 1268982 1268983 1269070 1269071 1269072 1269073 1269074 1269075 1269076 1269077 1269529 1269543 1269577 1269583 1269584 1269585 1269586 1269598 1269600 1269602 1269610 1269611 1269872 1269895 1269901 1275495 1277310 1277311 1277362 1277593 1277647 1277649 1277695 1277723 1277940 1278587 1278589 1278637 1278686 1278708 1278726 1278806 1278824 1278827 1278832 1278915 1279039 1279094 1279137 1279139 1279140 1279144 1279145 1279146 1279147 1279148 1279155 1279205 1279404 1279432 1279498 1279569 1280067 1280068 1280069 1280070 1280071 1280072 1280073 1280074 1280075 1280076 1280077 1280078 1280081 1280082 1280145 1280187 1280327 1280336 1280411 1280453 1280490 1280546 1280587 1280605 1280621 1280648 1280652 1280672 1280678 1280679 1280693 1280705 1280760 1280766 1280786 1280906 1280917 1280983 1280992 1281034 1281036 1281037 1281038 1281039 1281040 1281041 1281069 1281071 1281072 1281073 1281074 1281076 1281078 1281080 1281081 1281082 1281110 1281155 1281158 1281163 1281164 1281166 1281241 1281263 1281264 1281275 1281285 1281334 1281345 1281347 1281348 1281355 1281356 1281357 1281419 1281539 1281564 1281623 1281666 1281691 1281715 1281827 1281828 1281829 1281975 1281991 1282012 1282014 1282047 1282119 1282185 1282329 1282604 1282662 1282678 1282679 1282680 1282752 1282777 1282790 1282791 1282798 1282853 1282858 1282902 1283554 1283571 1283618 1283841 1283893 1283907 1283923 1284095 1284157 1284166 1284246 1284296 1284558 1284570 1284745 1284771 1284788 1288411 1288438 1288458 1288504 1288568 1288576 1288608 1288609 1288617 1288631 1288734 1289023 1289024 1289025 1289026 1289031 1289045 1289046 1289047 1289048 1289053 1289203 1289265 1289289 1289302 1289316 1289317 1289324 1289327 1289330 1289398 1289406 1289466 1289481 1289528 1289542 1289546 1289649 1289650 1289740 1289741 1289742 1289785 1289786 1289789 1291062 1291064 1291066 1299834 1305272 1305402 1305483 1305799 1305902 1321524 1321532 1322271 1370196 1442230 1444179 1444207 1444804 1449855 1456420 1508687 1511768 1512723 1512777 1512866 1513293 1514393 1514399 1514598 1514801 1514993 1515061 1515082 1515104 1516438 1516932 1516988 1519632 1519962 1519971 1520225 1527245 1550228 1550243 1562579 1578693)\n(25 951 1049 1055 1056 1460 1461 1462 1517 1771 2040 2238 2499 2501 2531 2556 2707 2727 2728 2732 3229 3233 3341 3682 3729 3968 4148 4717 5201 5802 6319 6610 6611 6613 6614 6700 6714 7004 7068 7158 7289 7630 7648 7649 7805 8141 8162 8454 8466 8947 9975 10048 10353 10558 10564 11050 11051 11177 11471 11501 11530 11602 11689 11793 11794 11795 11796 11797 11799 11800 11801 11802 11803 11804 11806 11808 11967 12024 12170 12253 12256 12258 12265 12317 12322 12324 12542 12611 12789 13283 14264 14757 14758 14823 14839 15133 16071 16673 16743 16745 16763 16765 16786 16898 16932 16943 16945 16954 16956 17436 17696 17714 17718 17720 17725 17734 17740 17761 17765 17767 17774 17854 17855 17860 17861 17871 17881 17906 17911 17968 17973 17977 18341 18342 18343 19134 19139 19142 19143 19229 19477 19478 19490 19493 19494 20196 20352 20406 20697 20817 21210 21547 21549 21554 21936 22030 22200 22239 22251 22252 22487 22511 22516 22563 22637 22840 22851 22949 22957 22971 22994 23204 23324 23726 23902 24182 24185 24186 24187 24379 24381 24382 24383 24416 24658 24727 24730 24734 24735 24742 24747 25132 25179 25228 25729 25766 25767 25772 25774 25791 26234 26236 26252 26462 26492 26714 27515 27519 27521 27603 27607 27780 27801 28191 28458 28616 28959 29904 30576 30744 30888 30893 30894 31696 31855 31856 32403 32594 32595 33260 33513 33954 34304 34632 35417 35420 35424 35425 35526 35549 35554 35834 36359 36681 36682 37025 37209 37210 37487 37513 37545 37688 37692 38179 38425 38426 38432 38471 38633 38636 38651 38654 38655 39328 39444 39512 39707 39896 39898 39901 40341 40392 40602 40815 41080 41102 41385 41986 41987 41988 41991 41992 41993 41995 41996 42081 43363 43365 43369 43375 43377 43567 43572 43771 44029 44033 44362 44363 44364 44605 44622 44632 44933 45214 45351 45426 45516 45578 45813 45815 45977 46054 46058 46062 46064 46067 46068 46237 46287 46290 46297 46532 46818 46819 47187 47233 47345 47359 47360 47362 47363 47529 47666 47667 47759 47763 47764 48011 48098 48513 48515 48592 48594 48598 48608 48612 48615 48621 48653 48654 48658 48661 48822 49042 49072 49081 49157 49237 49318 49371 49388 49396 49397 49517 49526 49528 49543 49548 49551 49555 49557 49688 49701 50269 50331 50333 50362 50393 50408 50415 50505 50518 50540 50556 50566 50568 50861 50869 50919 50920 50957 50992 50996 51074 51157 51211 51220 51221 51348 51419 51503 51579 51621 51632 51633 51642 51686 51760 51776 51781 51792 51794 51813 51893 51968 52158 52274 52276 52277 52278 52279 52287 52431 52455 52473 52477 52478 52498 52609 52653 52659 52709 53029 53112 53271 53272 53308 53407 53436 53438 53519 53855 53858 53859 53905 54365 54452 54527 54627 54734 54746 54754 54786 54920 55018 55031 55036 55038 55044 55046 55048 55049 55070 55094 55246 55316 55318 55321 55322 55454 55590 55591 55592 55664 55665 55704 55768 55816 55870 55893 55940 56095 56129 56230 56235 56236 56260 56264 56323 56339 56342 56428 56452 56476 56550 56555 56591 56608 56609 56660 56744 56784 56845 56977 57008 57116 57125 57160 57169 57267 57428 57488 57613 57621 57632 57638 57690 57722 57723 57724 57744 58018 58064 58101 58116 58117 58453 58604 58612 58629 58935 59025 59054 59087 59381 59564 59572 59576 59587 59829 59966 60521 60527 60538 60540 60686 60687 60765 60767 60769 60772 60775 60778 60797 60860 60888 60908 60952 60953 60954 60957 60961 60963 60964 60967 60974 60981 60983 60990 61109 61115 61139 61182 61213 61241 61263 61304 61341 61378 61387 61391 61392 61393 61397 61398 61402 61408 61414 61418 61424 61427 61436 61444 61445 61446 61448 61449 61450 61496 61539 61554 61555 61561 61585 61768 61830 61876 61894 61981 61982 62002 62003 62083 62085 62086 62195 62221 62483 62510 62513 62515 62516 62552 62595 62677 62683 62715 62731 62980 63049 63130 63131 63155 63188 63189 63204 63242 63328 63422 63505 63554 63569 63574 63576 63578 63579 63582 63585 63599 63611 63694 63739 63750 63969 63986 63996 63999 64000 64001 64002 64046 64078 64098 64199 64200 64205 64236 64238 64290 64339 64348 64400 64585 64590 64592 64595 64598 64610 64611 64614 64618 64631 64632 64756 64811 64959 64974 64999 65003 65021 65023 65036 65037 65067 65095 65112 65138 65146 65186 65330 65347 65358 65371 65373 65384 65395 65419 65600 65601 65603 65604 65606 65607 65610 65614 65615 65616 65662 65666 65669 65672 65676 65677 65680 65681 65682 65683 65688 65691 65701 65708 65709 65710 65725 65874 65915 65922 65943 65944 65953 65976 65998 66164 66194 66229 66250 66292 66298 66311 66366 66376 66399 66531 66574 66590 66923 66995 66996 67059 67082 67339 67528 67688 67689 67690 67700 67702 67703 67705 67708 67711 67713 67717 67736 67742 67743 67762 67764 67860 67995 68013 68431 68519 68521 68537 68540 68551 68582 68649 68762 68918 68937 69158 69180 69227 69228 69246 69278 69365 69366 69412 69433 69587 69683 69802 69807 69808 69928 69929 69947 69970 70000 70027 70057 70074 70109 70118 70130 70141 70203 70240 70285 70287 70297 70362 70379 70472 70479 70553 70614 70615 70617 70618 70668 70676 70677 70820 70867 70885 70922 71006 71064 71142 71148 71309 71310 71327 71488 71545 71572 71574 71577 71579 71669 71670 71672 71677 71734 72199 72300 72503 72504 72514 72522 72565 72573 72595 72603 72626 72987 72988 73165 73179 73196 73224 73257 73260 73350 73396 73553 73555 73580 73724 73772 73874 73880 73923 73986 73998 74022 74114 74180 74214 74245 74264 74266 74309 74344 74345 74346 74425 74426 74465 74466 74478 74480 74485 74486 74487 74566 74906 74911 74912 74917 74918 74919 74996 75037 75042 75125 75133 75152 75172 75183 75185 75192 75200 75208 75249 75286 75296 75321 75336 75435 75474 75475 75477 75478 75479 75481 75483 75484 75516 75588 75646 75647 75664 75670 75710 75773 75775 75942 75945 76028 76040 76061 76104 76385 76461 76470 76478 76486 76514 76545 76584 76644 76765 76767 76768 76963 76964 77015 77046 77098 77237 77319 77518 77520 77537 77538 77545 77601 77684 77698 77701 77859 77888 77890 77892 77906 77918 77983 77985 77994 78025 78159 78160 78178 78220 78221 78226 78286 78474 78490 78596 78638 78641 78652 78653 78656 78657 78773 78871 79224 79225 80148 80188 80514 80930 80974 81318 81515 81544 81657 81758 81867 81882 81901 81915 81918 81996 82046 82074 82285 82443 82707 82716 82733 82977 82998 83197 83338 83386 83422 83648 83770 83819 83889 83928 83949 84008 84045 84119 84331 84370 84450 84555 84583 84646 84683 84779 84895 84937 85032 85229 85767 85795 85799 85908 85937 86008 86009 86140 86351 86616 86808 86999 87000 89445 90966 92882 92896 93000 93223 95355 95371 95635 96145 97668 98174 98294 98390 98677 99414 99434 101068 101829 101901 102131 102137 102250 102566 102834 102998 103479 103894 103968 105332 105823 105917 106071 106647 106651 106845 107117 107652 108036 108037 108092 108122 108311 108545 108916 108955 108960 108983 108985 108992 108996 109125 109618 109619 109763 110323 110566 110594 110595 111296 111874 111876 112050 112072 112160 112622 113188 113192 113223 113300 113311 113369 115426 115427 115695 116600 117060 117061 117531 117595 117635 117940 118343 118597 118704 118851 119025 119029 119394 119395 119860 119865 119935 119943 120503 120620 120661 121283 121290 121435 121451 121686 122341 122426 122862 122863 123169 123600 123605 123623 123643 123795 123800 124656 124695 124770 124969 125190 125262 125650 125918 125932 125979 126304 126898 126908 127419 127420 128025 128026 128128 128129 128631 128822 129422 130881 132114 132119 132130 132217 132492 132839 133247 133276 133583 133796 133877 133971 134177 134442 134799 135186 135576 136062 137718 137779 137808 137813 137917 137986 138006 138389 138547 140161 140293 140392 140515 141104 141117 141462 141706 141745 141789 141955 142169 142270 142633 142791 142927 143182 144477 144864 144990 145567 145707 145756 145768 145793 145810 145907 146539 146556 146557 147265 147270 147271 147455 147959 148121 148358 148394 148477 148616 148718 149042 149401 149455 149481 162312 162969 162982 163033 163097 163108 163273 163467 163570 163909 163910 163955 163994 164105 164171 164233 164297 164456 164484 164514 164537 164836 164840 164933 165011 165040 165107 165371 165377 165830 165846 166061 166428 166723 167250 167252 167437 167762 167785 168237 168362 168613 169330 169745 170103 171151 171720 172113 172114 172532 173358 173824 174825 174906 175898 178446 178527 178585 178597 178678 178695 178846 205881 206232 206458 206459 206460 206461 206824 207125 207142 207637 207900 207943 208019 208114 208508 208518 208606 208735 208768 208826 208833 208902 208904 208991 209101 209220 210660 211015 211917 211921 212003 212009 212019 212080 212081 212082 212199 212338 212369 212370 212606 213347 213552 213657 213674 213914 214017 215015 215327 215519 215717 215875 216218 216219 216225 216267 216278 216345 216352 217306 217419 217593 217850 218936 219220 219461 219543 219566 219567 219750 219900 220283 220284 220292 242209 243345 243361 243496 243897 244397 244675 244865 244943 245067 245096 245162 245251 245419 245505 245576 245653 245710 245719 245722 245790 245847 245937 246243 246288 246628 246897 246925 247265 248054 248118 249580 249768 249769 249826 249858 249965 249988 250044 250318 250438 250465 250748 250881 251289 251290 251291 251452 251650 251778 252571 252919 253020 253307 253309 253402 253661 253853 254143 254147 254162 254163 254214 254215 254216 254367 254872 255225 255826 255923 255983 256227 256919 256965 256972 257222 257464 257753 258554 258556 258739 258748 258969 259068 259245 259507 259562 259650 262967 281643 282105 282219 282471 282732 282808 282943 282984 283004 283078 283181 283192 283231 283283 283413 283898 284216 284301 284302 284340 284374 284382 284488 284752 285081 285282 285843 285873 286035 286088 286233 286350 286353 286646 286840 286848 287113 287209 287393 287957 287958 288123 289044 289467 290050 290275 290276 290277 290420 290439 290490 290687 290793 291227 291230 291520 291672 291849 291886 292072 292332 292761 292841 292842 292877 293150 293214 293398 293500 293554 293783 293905 293932 293948 293950 293990 294245 294386 294834 294837 294927 295023 295084 295217 295464 295766 295899 295967 296061 296104 296670 296677 296727 297101 297195 297267 297268 297269 297311 297341 297445 297543 297793 297915 298008 298033 298229 298751 298810 299174 299192 299556 299723 299891 299968 300081 300917 301341 301343 301383 301482 301665 301675 301677 303990 304313 305648 307735 353681 354566 354589 354599 357080 357164 359939 360320 360332 360665 360677 369963 370101 370122 376596 376597 376750 376788 376907 376919 376957 377176 377353 377380 377381 377484 377602 377702 377762 377812 377813 377906 377911 378018 378077 378295 378376 378490 379739 380749 380794 381053 381080 381280 381347 381551 382257 382770 382772 383126 383400 383423 383478 383591 383649 383881 384090 384641 384644 385034 385079 385124 385231 385457 385459 385642 386372 386755 387155 387261 387407 387423 387427 387539 387745 387781 387834 387859 387900 388016 388197 388345 388511 388863 389187 389226 389529 389609 389641 389834 390313 390451 390478 391015 391634 391639 391640 391794 443505 443512 443514 443758 475345 520442 521891 521892 521894 524606 524614 524684 525078 525152 525161 525202 525219 525746 525886 525918 525930 526046 526048 526083 526229 526245 526359 526569 526589 526600 526623 526680 527332 527568 528332 529284 529285 529395 529730 529782 530032 530639 530688 530951 531008 531994 532022 532055 532057 532185 532503 532578 532966 533016 533218 533743 534023 534039 534228 534799 534800 535098 535308 535321 535435 535677 536763 536993 537231 537306 537495 537722 537824 537851 538008 538276 538308 538385 538727 538798 539907 540598 540826 546866 556151 556152 556153 556154 578117 590717 590720 590730 591097 591243 591418 591572 591581 591584 591649 591823 591832 591898 591907 591961 592534 594248 595976 596619 596699 597000 597219 597412 597413 597514 597540 597541 597576 598290 598522 598621 598898 599172 600293 600295 600296 600698 601020 601037 601046 601051 601106 601124 601292 601293 601325 601344 601360 601507 601774 601900 601987 601989 602010 602187 602189 602746 602859 602925 603175 603203 603214 603293 603324 603417 603487 603499 603505 603798 604144 604181 604266 604267 604268 604271 604340 604376 604429 604489 604952 605196 605319 605423 605453 605542 606011 606021 606338 606577 606626 607024 607371 607518 607547 607728 607824 607965 607976 608462 608640 608720 608739 608745 608876 609108 609395 609620 609849 609960 610112 610669 610912 610966 610971 610998 611307 611385 611461 611912 611936 611938 611961 612013 612044 612777 612833 612836 612873 613678 613814 614034 614036 614084 614260 614333 614432 615055 615171 615177 615178 615179 615180 615464 615476 615685 615883 615896 616111 616697 616754 616850 616884 616978 616982 617086 617165 617682 617947 617977 618068 618317 618404 618665 618672 618968 619060 619108 619110 619125 619274 619366 619756 619799 619947 619976 620137 620228 620543 620982 621416 621454 621588 621686 621689 621892 622081 622231 622458 622603 622898 622921 622922 623120 623198 623344 623363 623692 623735 623820 623898 624017 624071 624083 624434 624467 624637 624936 625073 625152 625292 625400 625442 625730 625846 625850 626100 626105 626156 626168 626230 626253 626319 626726 626737 626906 626966 627247 627374 627375 627411 627526 628066 628384 628511 628688 629004 629126 629244 629560 629678 629807 629845 630061 630287 630471 630887 631019 631303 631367 631507 631907 631929 632654 633020 633155 633425 633547 633711 633858 634271 634272 634331 634460 634602 634848 634930 635063 635122 635140 635178 635246 635247 635528 635615 635805 635832 635850 635906 635972 635974 636237 636528 636573 636620 636669 636737 636926 637016 637087 637395 637593 637637 637802 637805 638174 638227 638923 638945 639143 639187 639216 639505 639585 639662 639845 640225 640273 640388 640987 641061 641084 641240 641430 641437 641439 641548 641608 641903 642188 642704 643012 643075 643176 643179 643304 643558 643937 643983 644042 644269 644271 644287 644395 644413 644648 645001 645175 645255 645576 645694 645706 645869 645870 645915 645948 645950 646099 646139 646179 646595 646656 646857 646975 646995 647024 647035 647119 647333 647614 647648 647658 647664 648606 648645 649175 649280 649349 650086 650138 650285 650371 650660 650836 650902 650997 651575 651679 651709 651948 652245 652263 652619 652626 652709 652839 652848 652902 653049 653105 653267 653364 653392 653416 653434 653584 653784 653807 653924 654019 654335 654441 654897 655010 655011 655015 655020 655224 655505 655923 655938 656022 656527 656529 656531 656583 656621 657019 657138 657510 657595 657718 658352 658415 658438 658468 658471 658741 658890 659245 659638 659649 659755 659860 660234 660410 660678 660715 660734 660789 660798 660804 660850 660928 660939 660941 661023 661036 661038 661850 662389 662390 662439 662565 663343 663347 664005 664322 664783 664978 664994 665234 665518 666328 667027 667093 667470 668700 668855 668856 669247 669575 670224 670355 670600 670665 670687 670689 671149 671387 672056 672377 672378 673185 673297 673298 673299 673300 673463 673746 673820 674670 674807 674847 674947 675407 675750 676168 676660 676811 677053 678145 682930 682931 682934 684241 699088 699093 699149 699152 699153 699338 699343 699348 699405 699406 699423 699425 699426 699451 699455 699672 699988 700014 700191 700540 700550 700888 700889 700893 700894 700949 701236 701237 701372 701373 701392 701399 701424 702001 717686 719221 719340 719676 720316 722001 722705 723570 724368 724579 728963 728981 731222 731393 731442 733480 733482 733484 733485 733542 733543 733596 733687 733688 733689 733784 733820 733821 733827 733835 733844 733845 740027 740157 740159 740160 750742 752086 752091 752276 752878 752976 752978 753149 754041 754313 754993 754994 755095 755096 755258 755293 755408 755558 755589 755665 755740 755742 756096 756274 756485 756579 756906 756979 757088 757132 757133 757399 757400 757471 757474 757476 757478 757551 757948 758811 758911 759542 760344 760525 760586 760810 761012 761070 761565 761573 761768 761771 761822 761914 762609 763079 763469 763499 763690 763835 763878 764507 764644 764645 764731 764981 765069 765690 765701 765796 765960 766218 766258 766259 766265 766360 766747 767041 767417 767501 767555 767630 768168 768175 768176 768215 768404 768477 768605 768606 768608 768878 769532 769628 769646 769820 770238 770239 770255 770546 770899 771246 771519 772078 772389 772411 812407 813622 815032 872172 873033 878244 878282 878290 878349 878354 878443 878444 878445 878455 896320 897263 899376 906889 907858 908820 909071 909134 909279 909511 909737 909748 909760 909851 909972 910249 910254 910392 910854 910909 911314 911320 911337 911644 911718 911924 911949 911994 912160 912161 912210 912379 912704 913096 913194 913441 913493 913500 913639 913967 914095 914140 914146 914147 914148 914278 914404 914452 914625 914696 914706 914805 914810 914927 915126 915155 915548 915777 915795 915914 916062 916220 916276 916387 916486 916487 916710 917570 917726 917818 917842 917881 917883 917884 917885 917886 917887 917916 917960 918015 918016 918033 935831 936056 936102 939234 947642 947657 947671 947684 949429 949729 950485 951416 952925 953414 960462 960832 960837 960854 960885 960898 960905 961271 961292 961605 961781 961848 961984 962010 962027 962125 962285 962432 962485 962832 962849 962914 963206 963281 963340 963824 964011 964069 964281 964560 964654 964724 964725 964791 964955 965141 965229 965653 965738 966029 966451 966510 966712 966735 966844 966898 967360 967480 967487 967542 967571 967995 968183 968184 968234 968349 968679 968681 968748 968899 968922 968960 969096 969137 969282 969587 969619 971105 971127 971435 971507 971592 971758 972262 982048 982057 982189 982202 982273 982405 991804 994406 1096843 1096911 1097010 1097043 1097098 1097116 1097449 1097993 1098021 1098022 1098048 1098065 1098392 1098408 1098432 1098510 1098572 1098608 1098831 1098835 1099034 1099035 1099070 1099075 1099137 1099393 1099472 1099664 1099665 1099722 1099734 1099739 1099823 1099933 1100016 1100036 1100308 1100332 1100517 1100543 1100949 1100966 1101083 1101091 1101367 1101511 1101522 1101666 1120080 1120220 1120355 1120402 1120461 1120644 1120819 1120849 1120927 1120930 1120948 1120992 1121009 1121110 1121408 1122125 1122225 1122434 1122633 1122661 1122714 1134651 1136572 1136573 1136995 1137004 1137044 1137097 1137131 1137152 1137153 1137223 1137346 1137347 1137369 1137370 1137389 1137520 1137691 1137961 1138028 1138246 1138290 1138364 1138497 1138587 1142661 1142965 1143093 1143094 1143228 1143283 1143307 1143573 1144296 1144383 1144583 1148361 1170312 1170631 1171881 1172083 1172154 1172381 1172607 1172636 1172673 1172909 1172980 1173201 1173213 1173328 1173339 1173426 1173451 1173606 1174079 1174082 1174470 1174517 1174755 1175123 1175402 1175421 1175422 1175736 1175794 1175795 1175995 1176069 1176127 1176302 1259240 1259482 1259641 1259690 1259816 1259912 1259943 1260091 1260172 1276848 1276923 1311505 1311508 1311706 1311752 1311753 1311754 1311794 1312018 1312264 1312265 1312284 1312298 1312342 1312780 1312814 1312815 1313423 1313559 1313789 1313843 1328725 1328934 1333935 1337398 1415349 1417490 1421351 1427293 1432652 1432879 1433327 1433678 1434498 1434594 1435646 1436253 1443890 1443891 1443927 1443930 1445141 1445695 1449700 1449701 1450369 1450963 1451030 1451118 1451361 1451362 1451370 1451690 1451917 1451918 1451940 1452554 1452595 1452890 1453005 1453100 1453373 1453642 1453658 1454434 1454831 1455182 1455412 1456766 1456767 1505028 1505812 1506009 1506098 1506264 1506514 1506561 1507344 1508282 1512062 1512542 1516981 1518122 1518954 1518955 1518956 1518957 1527110 1527703 1527831 1528037 1528407 1528448 1528528 1528871 1529166 1529167 1529168 1529274 1529639 1529936 1530151 1530236 1530843 1530877 1530878 1531310 1533392 1533424 1533712 1562785 1563733 1563736 1563850 1564142 1564144 1566067 1566824 1567628 1567736 1567844 1567863 1567985 1568322 1569156 1569163 1569186 1569318 1569319 1569323 1569328 1569424 1569695 1569784 1569950 1570043 1570493 1570740 1570749 1570828 1570940 1571197 1571311 1571339 1571686 1572572 1576763 1576820 1576831 1576869 1579908 1608566 1608642 1608774 1609320 1609715 1610470 1610829 1611023 1611331 1611353 1611534 1611575 1612199 1612246 1612258 1612824 1613313 1613356 1613432 1613911 1613918 1613997 1615089 1615573)\n(26 1216 4461 7603 7609 7610 7623 7625 7637 7708 7709 8266 8422 8537 8545 8633 8641 8642 8643 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8778 9143 10834 10835 10836 10837 10851 10853 10854 11305 11703 14239 14776 14778 14780 16192 18042 18871 19397 21158 21770 21868 23768 23828 24369 25213 25954 25979 26004 26029 26030 26046 26049 26237 26238 26239 26240 26258 26608 26973 27075 27747 27749 27750 27829 27834 28117 28581 28584 28587 28609 29219 31309 31310 31526 31921 32592 33827 34149 34837 34850 35553 35639 35798 36208 36225 36226 36867 36869 37844 37851 38528 38563 39063 39065 39066 39067 39821 40419 42219 42760 43292 43381 43519 55025 59882 61622 85103 85187 85200 85872 86623 86697 136979 162771 175968 175996 178523 205708 205715 206181 206523 206524 225328 225330 227883 227884 228079 228080 228081 228091 230524 230528 230529 230530 230531 230532 230534 230535 230540 230545 230546 230547 230572 230582 230583 230584 230587 230588 230590 230591 230592 230595 230596 230609 230612 230613 230615 230616 230621 230624 230625 230626 230627 230628 230629 230631 230636 230638 230639 230646 230647 230649 230653 230662 230672 230673 230674 230676 230680 230681 230682 230687 230690 230692 230694 230695 230696 230697 230698 230699 230702 230703 230704 230710 230711 230714 230715 230716 230717 230718 230719 230720 230723 230724 230726 230730 230740 230742 230743 230744 230746 230750 230756 230758 230763 230764 230765 230766 230767 230768 230770 230774 230779 230780 230789 230790 230801 230802 230810 230814 230815 230818 230820 230822 230825 230829 230830 230831 230832 230833 230839 230840 230841 230844 230859 230861 230862 230872 230897 230898 230902 230921 230923 230928 230931 230934 230935 230936 230938 230940 230942 230944 230945 230948 230949 242351 242435 242436 242607 242608 242609 242915 243092 260080 333724 333725 333731 333740 333745 333747 333748 333749 333763 333764 333772 333773 333774 333775 333776 333777 333778 333779 333780 333781 333782 333783 333785 333789 333791 333828 333829 333830 333835 333849 333900 338063 392916 443778 444241 444245 444246 444247 444248 444249 501409 501411 521060 521119 521176 521178 521179 521180 524970 525009 544923 544966 544978 546111 596119 596142 596146 596156 596283 596291 596293 596632 596901 596952 596975 597055 597190 597234 597729 597895 598070 598071 598099 598171 598180 598234 598266 598267 598268 598592 598988 599131 599132 599215 599444 600314 600315 600316 600317 600496 600532 678927 682529 682532 682533 682537 682565 682566 682650 682678 682679 682680 682681 682682 682683 682684 682685 682688 684076 684131 684136 684215 699040 729605 729606 751960 751961 751972 752063 752265 805525 815273 872341 886515 887838 887867 887868 887869 887870 887871 887872 887878 887879 887880 887882 887883 887884 887885 887886 887887 887888 887897 887904 887944 887956 887959 932034 932035 935596 1135842 1135923 1135945 1135972 1136039 1136735 1136736 1138832 1166607 1166609 1166614 1166615 1166616 1166618 1166619 1166620 1166621 1166623 1166624 1166626 1166643 1166644 1166645 1166649 1166650 1166652 1166653 1166654 1166656 1166657 1166658 1166660 1166662 1166663 1166664 1166666 1166667 1166670 1166671 1166672 1166673 1166675 1166676 1166677 1166680 1166683 1166684 1166685 1166687 1166688 1166690 1166696 1166697 1166698 1166699 1166702 1166703 1166704 1166707 1166710 1166711 1166712 1166713 1166717 1166718 1166722 1166730 1166733 1166736 1166738 1166739 1166747 1166748 1166749 1166750 1166751 1166753 1166754 1166756 1166757 1166758 1166759 1166768 1166769 1166770 1166773 1166776 1166777 1166779 1166780 1166781 1166782 1166783 1166784 1166785 1166786 1166795 1166802 1166811 1166814 1166815 1166816 1166817 1166818 1166819 1166820 1166832 1166836 1166837 1166839 1166846 1166847 1166848 1166849 1166856 1166857 1166858 1166860 1166861 1166866 1166869 1166870 1166871 1166872 1166878 1166879 1166881 1166882 1166883 1166884 1166886 1166889 1166893 1166894 1166895 1166911 1166923 1166924 1166925 1166927 1166930 1166939 1166940 1166946 1166947 1166948 1166949 1166950 1166951 1166952 1166953 1166954 1166955 1166956 1166967 1166970 1166979 1166980 1166985 1166987 1166990 1166992 1166993 1166994 1166996 1166997 1166998 1167002 1167003 1167004 1167005 1167008 1167010 1167012 1167016 1167021 1167022 1167025 1167033 1167034 1167035 1167036 1167037 1167038 1167039 1167041 1167046 1167054 1167055 1167056 1167058 1167059 1167060 1167061 1167067 1167068 1167069 1167072 1167077 1167079 1167080 1167085 1167086 1167088 1167108 1167109 1167110 1167117 1167118 1167125 1167147 1167158 1167159 1167176 1167177 1167182 1167183 1167188 1167190 1167191 1167193 1167194 1167195 1167201 1167202 1167203 1167207 1167208 1167209 1167213 1167225 1167240 1167243 1167249 1167250 1167266 1167267 1167268 1167270 1167297 1167298 1167306 1167307 1167314 1167315 1167316 1167317 1167320 1167321 1167322 1167331 1167332 1167334 1167339 1167344 1167345 1167347 1167349 1167350 1167351 1167353 1167355 1167356 1167358 1167359 1167364 1167368 1167373 1167380 1167383 1167384 1167393 1167395 1167396 1167397 1167398 1167399 1167401 1167402 1167404 1167428 1167429 1167512 1167518 1167519 1167520 1167522 1167525 1167526 1167528 1167529 1167538 1167539 1171348 1176286 1178969 1178974 1178979 1178982 1178984 1179065 1179066 1179067 1179068 1179091 1179119 1179120 1179121 1179125 1179126 1179146 1179486 1179487 1179490 1179845 1179875 1179878 1179907 1179909 1179912 1179914 1179925 1179931 1179933 1179949 1179962 1179966 1179967 1179968 1179972 1180013 1180015 1180016 1180077 1180322 1180337 1180355 1182675 1182677 1182678 1182784 1182796 1183408 1183733 1184053 1235663 1257788 1257924 1258076 1263424 1268228 1268448 1268455 1268456 1268457 1276870 1276872 1276875 1276876 1276877 1277044 1284557 1318418 1325522 1325523 1325524 1325525 1325526 1325529 1325536 1325538 1325539 1325540 1325543 1325544 1325545 1325546 1325547 1325549 1325550 1325551 1325552 1325553 1325554 1325556 1325557 1325559 1325568 1325569 1325571 1325576 1325580 1325583 1325584 1325585 1325591 1325592 1325593 1325594 1325596 1325598 1325600 1325601 1325603 1325604 1325605 1325620 1325623 1325629 1325633 1325638 1325641 1325642 1325643 1325644 1325645 1325646 1325651 1325653 1325656 1325664 1325666 1325668 1325669 1325670 1325674 1325675 1325676 1325677 1325680 1325683 1325688 1325690 1325692 1325693 1325696 1325697 1325700 1325702 1325706 1325715 1325725 1325739 1325748 1325750 1325752 1325753 1325756 1325759 1325786 1325813 1325816 1325819 1327729 1366904 1367884 1383501 1384314 1440968 1441152 1449863 1456768 1456849 1458149 1510421 1510454 1510988 1511042 1511498 1511546 1511551 1511625 1511992 1512067 1512225 1512460 1512632 1512864 1512990 1513022 1513046 1513283 1513286 1513343 1514145 1515922 1516083 1516099 1516370 1516507 1516508 1516509 1516511 1516545 1516557 1517140 1517186 1517655 1517887 1518284 1518285 1518286 1518439 1518450 1518451 1518452 1518455 1518457 1518586 1518587 1519091 1519334 1521759 1521889 1522608 1522735 1522751 1522983 1522987 1523248 1523348 1523372 1523417 1523419 1523461 1523470 1523472 1523478 1523482 1523483 1523498 1523500 1523521 1523633 1523679 1523702 1523748 1523805 1523806 1523832 1523835 1523840 1523841 1523842 1523846 1523858 1523859 1523865 1523866 1523867 1523868 1523871 1523884 1523891 1523895 1526985 1527252 1527253)\n(27 1272 2788 3261 3272 4391 4462 5528 7577 7580 7581 7582 7583 7586 7587 7588 7589 7590 7591 7595 7598 7605 7608 7613 7620 8018 8019 9835 10813 10839 10864 13081 13947 14139 14766 14767 14768 14774 15283 16243 18899 19054 19595 20987 22008 24255 24262 24426 25186 25251 25564 26241 26244 26255 27644 27756 27788 27790 31308 31945 32174 32175 32176 34782 37080 37083 37839 37841 37848 37850 37864 40682 41904 79394 79396 85416 86250 86982 162345 162580 162582 162583 162584 162585 162638 178666 178766 206430 206431 221117 230871 231551 232648 232661 232976 234091 234093 234573 234578 234581 234587 234588 234590 277921 282067 282299 282583 282636 301631 301880 301893 301894 301896 301898 301899 301909 301910 302109 302118 302121 302122 302123 302125 302167 311434 312858 312860 312861 312862 333904 333925 333928 333932 333936 333938 333940 376451 392710 522313 522314 522319 524475 525010 525011 542153 544888 596078 596144 596233 596286 596290 596556 596564 596592 596735 596846 596873 596897 596898 596991 597056 597063 597064 597361 597474 597546 597601 597697 598083 598084 598087 598103 598104 598105 598370 598424 598425 598501 598719 598720 598721 598773 598838 598843 598939 598948 598949 598950 598951 598952 598953 598954 598955 598956 598957 598962 598964 599227 599228 599282 599702 599718 599813 599814 599830 599893 599894 599895 599896 599952 600429 600430 600431 600485 678672 678722 678834 678836 678837 678838 678839 678840 678842 678843 678844 678845 678846 678850 678851 678903 682530 683144 746885 752320 814021 815089 869026 872070 872097 872250 887826 887837 887839 887840 920440 920524 920567 920709 949469 949479 949494 949495 949629 949631 969655 971866 1095048 1136143 1154382 1154383 1154388 1154389 1154393 1154394 1154395 1154401 1154402 1154405 1154409 1154410 1154413 1154415 1154416 1154417 1154419 1154421 1154429 1154453 1154462 1154463 1154470 1154471 1154475 1154476 1154477 1154481 1154482 1154513 1154515 1154516 1154517 1154518 1154544 1154580 1154586 1154599 1154603 1154616 1154620 1154637 1154689 1154692 1154693 1154695 1154701 1154702 1154705 1154706 1154736 1154947 1154951 1154952 1154954 1154955 1154956 1154975 1154987 1155000 1155001 1155002 1155003 1155004 1155008 1155013 1155014 1155018 1155041 1155042 1155043 1155044 1155045 1155046 1155047 1155051 1155064 1155065 1155070 1155074 1155075 1155076 1155080 1155229 1155231 1155260 1155263 1155264 1155267 1155292 1155301 1155303 1155312 1155313 1155316 1155329 1155336 1155349 1155351 1155352 1155353 1155354 1155356 1155604 1155607 1155615 1155616 1155617 1155622 1155624 1155631 1155632 1155633 1155636 1155641 1155644 1155646 1155666 1155672 1155688 1155689 1155691 1155692 1155694 1155711 1155712 1155713 1155722 1155732 1155733 1155734 1155735 1155736 1155738 1155739 1155740 1155742 1155748 1155749 1155750 1155752 1155766 1155767 1155771 1155780 1155781 1155782 1155789 1155790 1155792 1155808 1155810 1155815 1155818 1155819 1155820 1155821 1155822 1155826 1155827 1155830 1155831 1155832 1155839 1155842 1155846 1155853 1155871 1155872 1155873 1155874 1155875 1155876 1155882 1155883 1155893 1155900 1155906 1155910 1155911 1155914 1155926 1155936 1155941 1155942 1155943 1155944 1155949 1155950 1155957 1155958 1155968 1155969 1155974 1155980 1155981 1155982 1155984 1155985 1155988 1156010 1156014 1156021 1156027 1156031 1156032 1156034 1156042 1156044 1156045 1156063 1156067 1156068 1156069 1156072 1156082 1156086 1156088 1156089 1156090 1156093 1156096 1156097 1156107 1156108 1156113 1156114 1156115 1156122 1156129 1156132 1156138 1156141 1156143 1156146 1156148 1156160 1156161 1156172 1156182 1156189 1156191 1156192 1156193 1156220 1156232 1156233 1156235 1156237 1156238 1156245 1156246 1156247 1156248 1156253 1156258 1156259 1156265 1156266 1156268 1156269 1156271 1156272 1156273 1156276 1156277 1156278 1156283 1156287 1156298 1156299 1156300 1156302 1156305 1156306 1156307 1156308 1156310 1156311 1157569 1157855 1158315 1158335 1158467 1158477 1158693 1158702 1158706 1158715 1158716 1158720 1158721 1158722 1158740 1158770 1158773 1158774 1158907 1158908 1158916 1158945 1158946 1158950 1158951 1159314 1159339 1159342 1159343 1159348 1159360 1159363 1159365 1159370 1159371 1159375 1159383 1159387 1159389 1159414 1159417 1159441 1159442 1159446 1159455 1159457 1159458 1159459 1159460 1159463 1159464 1159465 1159466 1159467 1159468 1159471 1159472 1159473 1159475 1159477 1159478 1159479 1159481 1159482 1159484 1159485 1159486 1159487 1159489 1159491 1159492 1159493 1159495 1159496 1159497 1159498 1159499 1159500 1159501 1159503 1159504 1159506 1159508 1159509 1159510 1159511 1159512 1159513 1159514 1159515 1159517 1159519 1159520 1159521 1159522 1159523 1159524 1159525 1159526 1159527 1159531 1159532 1159534 1159535 1159536 1159537 1159538 1159539 1159540 1159543 1159545 1159546 1159547 1159548 1159549 1159554 1159555 1159556 1159558 1159560 1159562 1159563 1159568 1159569 1159570 1159571 1159572 1159573 1159574 1159576 1159585 1159586 1159588 1159589 1159591 1159592 1159593 1159595 1159596 1159597 1159598 1159599 1159601 1159605 1159606 1159607 1159608 1159609 1159610 1159611 1159613 1159615 1159616 1159617 1159619 1159620 1159622 1159624 1159626 1159627 1159628 1159629 1159631 1159632 1159633 1159635 1159636 1159637 1159639 1159643 1159646 1159647 1159648 1159649 1159655 1159660 1159663 1159666 1159668 1159670 1159671 1159672 1159674 1159676 1159686 1159689 1159690 1159692 1159693 1159695 1159696 1159697 1159700 1159701 1159702 1159703 1159705 1159706 1159707 1159708 1159709 1159710 1159711 1159715 1159716 1159717 1159718 1159719 1159720 1159723 1159724 1159725 1159726 1159727 1159728 1159729 1159730 1159731 1159733 1159735 1159736 1159737 1159738 1159741 1159743 1159747 1159749 1159751 1159752 1159753 1159754 1159755 1159756 1159757 1159762 1159764 1159766 1159772 1159777 1159779 1159781 1159782 1159788 1159791 1159792 1159793 1159794 1159796 1159797 1159798 1159799 1159801 1159802 1159803 1159804 1159805 1159806 1159816 1159821 1159822 1159823 1159824 1159846 1159856 1159881 1159884 1159888 1159893 1159909 1159914 1159918 1159922 1159929 1159934 1159938 1159942 1159946 1159950 1159954 1159958 1159962 1159966 1159970 1159974 1159978 1159982 1159995 1159999 1160009 1160010 1160018 1160021 1160036 1160037 1160042 1160050 1160188 1160205 1160338 1160346 1160358 1160359 1160361 1160428 1160435 1160439 1160466 1160474 1160501 1160518 1160520 1160521 1160523 1160526 1160528 1160554 1160577 1160578 1160579 1160583 1160584 1160585 1160589 1160602 1160608 1160616 1160631 1160632 1160635 1160646 1160648 1160649 1160652 1160657 1160681 1160682 1160687 1160689 1160691 1160692 1160693 1160700 1160701 1160714 1160716 1177283 1254881 1256369 1257985 1257986 1258013 1258078 1260960 1261468 1265860 1265862 1265863 1268819 1276855 1317556 1318468 1325881 1325882 1325883 1325884 1325887 1325888 1325889 1325893 1325894 1325900 1325901 1325922 1325969 1325970 1325971 1325972 1325984 1325988 1326010 1326017 1326035 1326036 1326039 1326040 1326044 1326045 1326046 1326057 1326073 1326074 1326079 1326080 1326081 1326082 1326087 1326095 1326114 1326118 1326120 1326121 1326122 1326154 1326160 1326161 1326169 1326183 1326194 1326196 1326205 1326207 1326208 1326212 1326219 1326220 1326221 1326222 1326225 1326226 1326227 1326228 1326229 1326230 1326231 1326236 1326243 1326250 1326270 1326276 1326277 1326279 1326280 1326281 1326282 1326283 1326292 1326300 1326302 1326308 1326314 1326330 1326332 1326334 1326335 1326340 1326341 1326346 1326347 1326352 1326353 1326355 1326356 1326357 1326358 1326362 1326363 1326364 1326372 1326375 1326379 1326380 1326381 1326383 1326386 1326387 1326391 1326393 1326410 1326426 1326427 1326452 1326456 1326459 1326460 1326461 1326463 1326464 1326465 1326467 1326470 1326471 1326474 1326475 1326485 1326486 1326487 1326488 1326489 1326493 1326497 1326500 1326501 1326502 1326503 1326504 1326505 1326513 1326523 1326757 1326759 1326760 1326761 1326762 1327211 1327238 1327414 1327415 1327416 1327420 1327439 1327492 1327493 1327538 1327543 1327571 1327576 1327577 1327583 1327584 1327612 1327616 1327617 1327618 1327621 1328656 1328922 1330957 1368474 1371460 1371475 1371476 1371481 1371482 1371484 1371580 1371589 1371606 1371607 1371708 1371740 1371834 1372042 1372176 1372180 1372294 1372327 1372391 1372395 1372423 1372517 1372518 1372740 1372847 1372993 1373090 1373093 1373102 1450027 1450044 1450045 1450136 1450355 1450360 1450362 1511002 1511620 1511621 1511632 1512382 1512383 1512402 1512403 1512494 1512646 1512778 1512819 1512820 1513082 1513087 1513088 1513177 1513178 1513284 1513351 1513352 1513738 1513787 1513790 1513792 1513913 1514119 1514121 1514758 1514761 1514964 1515055 1515126 1515136 1515432 1515433 1515979 1516022 1516145 1516326 1516327 1516330 1516334 1516337 1516338 1516339 1516340 1516343 1516344 1516346 1516348 1516349 1516350 1516351 1516353 1516355 1516356 1516358 1516369 1516375 1516466 1516467 1516512 1516543 1516743 1516851 1516996 1516997 1517052 1517348 1517553 1517595 1518065 1518147 1519026 1519027 1519167 1519310 1519311 1519312 1519325 1519624 1519725 1522752 1522821 1522822 1522852 1522853 1522854 1522855 1522857 1522859 1522877 1522914 1522989 1523007 1523037 1523038 1523039 1523041 1523042 1523051 1523052 1523053 1523054 1523056 1523071 1523102 1523105 1523156 1523169 1523170 1523198 1523200 1523201 1523202 1523225 1523227 1523229 1523230 1523243 1523244 1523245 1523246 1523250 1523251 1523269 1523298 1523305 1523325 1523326 1523343 1523344 1523364 1523397 1523435 1523454 1523462 1523469 1523479 1523481 1523512 1523513 1523514 1523515 1523555 1523605 1523698 1523729 1523778 1523792 1523794 1523795 1523804 1523819 1523820 1523825 1523826 1523827 1523853 1523855 1523887 1523908 1523924 1523935 1523936 1523942 1523944 1523949 1523951 1523954 1524026 1524108 1526989 1527171 1540661 1563689 1563690 1608376)\n(28 886 1280 2449 3154 3273 3315 3649 4112 4561 4827 5773 5821 5955 7600 7601 7634 7635 8010 8572 9013 9781 11306 13485 13921 14355 14467 14597 14603 14762 14792 14793 14802 15161 16030 16390 17471 17473 17526 17527 17528 18183 18207 18496 18497 18873 18894 18956 19000 19612 20200 20204 21792 22539 22567 22686 22687 22688 22801 22827 23005 23172 23516 23517 23602 24156 24264 24265 24432 24880 25166 25171 25201 25207 26473 26609 26610 27836 27882 27883 27884 27950 28875 28876 28944 29045 29048 29330 29418 29431 29432 29974 30280 30281 30559 31307 31760 32112 33368 33416 33731 34143 34964 35286 35316 36387 36770 37857 37863 37866 37868 37888 37890 38250 38856 39194 39195 39198 39215 39748 41362 41373 42542 43291 43380 79722 79983 85080 85087 85133 85236 85262 85820 85983 86031 86574 151776 162556 162597 178708 205832 205867 205868 206116 206131 206152 206190 206427 206428 206436 206441 206493 206511 206513 221277 221280 221282 221283 221284 221910 222677 222678 224522 224523 225320 225323 225332 225335 225336 225338 225340 225356 225360 225367 225368 225369 225667 225668 225698 225699 225700 225828 227276 227525 227531 227599 227650 227651 227693 227882 228007 228008 228009 228071 228072 228073 228074 228075 228076 228086 228087 228088 228089 228090 228092 228129 229215 229216 229423 229470 229471 229473 229502 229521 229525 229535 229536 229537 229538 229540 229544 229545 229568 229571 229579 229586 229589 229604 229606 229608 229609 229610 229611 229613 229614 229616 229617 229618 229628 229629 229630 229631 229633 229635 229636 229637 229638 229640 229641 229642 229645 229646 229649 229650 229651 229655 229656 229657 229658 229659 229661 229662 229663 229892 229951 229952 229953 230517 230518 230525 230977 231010 231011 231044 242245 242277 242598 242629 242632 242633 242697 242873 242874 282479 282480 282501 282542 282549 282560 282639 301863 301867 301868 312737 312738 312740 312864 312865 312866 312867 314583 314584 314585 314586 314587 314588 314589 314590 314592 314593 314595 314596 333633 333717 333718 333720 333721 333722 333723 333727 333728 333735 333736 333737 333738 333739 333741 333742 333743 333758 333765 333766 333767 333769 333770 333793 333794 333798 333800 333804 333805 333809 333810 333820 333821 333823 333824 333825 333826 333827 333832 333833 333836 333837 333839 333842 333843 333844 333850 333851 333853 333854 333855 333856 333857 333858 333859 333861 333862 333864 334140 334225 334227 368761 369668 369715 370071 376350 376351 376448 376604 376702 393073 427526 427527 427528 427529 427530 427536 427566 427889 427890 431085 432608 432610 432611 440740 440745 440752 443777 443779 444088 444641 444746 487156 487179 487470 506994 521182 521391 521392 524458 524459 524977 524979 524980 524983 524984 524987 545577 545578 545585 545589 552639 553257 553561 553711 596030 596108 596155 596208 596508 596568 596630 596698 596713 596889 596890 596979 596981 596993 596995 597032 597407 597447 597661 597690 597694 598088 598089 598090 598091 598102 598117 598170 598536 598613 598786 598800 598828 598829 599415 599455 599757 599856 600432 600531 677626 677646 677856 678244 682517 682519 682520 682521 682522 682523 682524 682525 682526 682527 682538 682539 682540 682541 682542 682544 682545 682546 682547 682548 682550 682551 682552 682610 682613 682614 682634 682635 682638 682639 682641 682649 682656 682689 682690 682692 682693 682694 682695 682697 682698 682700 682701 682702 683194 683195 683196 683197 684118 684119 684120 684121 684123 684125 684135 734999 737240 747205 806036 806987 808143 814005 814990 814995 814996 814997 814999 815000 815002 815003 815004 815274 871657 872076 872223 872357 872362 872372 879593 882768 882784 882791 882795 882808 882814 882818 882819 882828 882846 882849 882871 882892 882903 882904 882908 882920 883208 884134 887811 887899 920441 920751 928858 933799 933801 933803 933804 935440 945916 945923 945924 945928 945933 947286 947287 947288 947305 949376 949431 949432 949666 949667 949753 1113654 1113687 1115673 1135917 1135918 1135919 1135922 1135926 1135969 1135970 1136335 1148326 1148382 1148429 1171322 1171346 1178808 1178844 1179009 1179017 1179149 1179160 1179186 1179443 1179491 1179503 1179517 1179554 1179606 1179870 1179892 1180059 1180238 1180326 1180350 1180368 1180383 1180392 1180924 1180925 1181052 1181163 1181164 1181294 1181295 1182459 1182604 1182607 1182610 1182611 1182623 1182634 1182645 1182646 1182647 1182650 1182654 1182659 1182776 1182789 1182791 1183428 1183495 1183496 1183499 1183500 1184144 1184809 1184810 1184874 1253961 1254547 1254548 1254573 1254945 1254949 1257739 1257740 1257741 1257742 1257743 1257751 1257771 1257772 1257774 1257792 1257793 1257857 1257858 1257909 1257910 1257912 1257913 1257975 1258005 1261568 1265905 1265916 1266872 1266873 1266875 1267673 1267810 1267813 1267816 1267817 1267818 1267821 1267822 1267823 1267824 1267827 1267831 1267833 1267834 1267835 1267837 1267839 1267840 1267843 1267845 1267849 1267850 1267852 1267855 1267856 1267857 1267858 1267859 1267861 1267862 1267864 1267866 1267868 1267875 1267876 1267884 1267885 1267886 1267890 1267891 1267892 1267895 1267897 1267899 1267900 1267901 1267902 1267903 1267909 1267913 1267915 1267917 1267918 1267925 1267926 1267928 1267930 1267931 1267932 1267933 1267935 1267946 1267948 1267949 1267954 1267964 1267965 1267966 1267967 1267969 1267970 1267982 1267987 1267989 1268005 1268006 1268007 1268010 1268011 1268443 1268449 1268458 1269647 1272578 1275629 1276850 1276853 1276861 1276862 1276868 1277042 1277066 1278781 1280517 1280543 1282866 1283371 1292097 1292098 1292099 1292100 1292101 1301171 1317198 1317200 1317205 1317395 1317543 1317625 1321301 1328818 1370091 1370155 1371835 1440040 1440108 1440147 1440231 1440235 1440239 1440241 1440243 1440253 1440255 1440260 1440264 1440270 1440275 1440276 1440277 1440278 1440285 1440292 1440293 1440300 1440301 1440305 1440306 1440312 1440315 1440317 1440318 1440319 1440320 1440333 1440336 1440337 1440339 1440341 1440342 1440344 1440348 1440349 1440352 1440356 1440359 1440361 1440363 1440366 1440367 1440368 1440369 1440371 1440374 1440375 1440376 1440380 1440388 1440391 1440392 1440394 1440421 1440832 1440937 1440938 1441042 1441121 1441141 1441322 1441339 1441340 1441341 1441342 1441343 1441345 1441346 1441374 1441375 1442179 1444183 1449623 1449624 1455888 1510719 1510720 1510721 1510722 1510724 1510728 1510731 1510733 1510734 1510737 1510738 1510753 1510779 1510783 1510956 1510959 1510965 1510982 1510985 1511006 1511007 1511043 1511062 1511119 1511178 1511201 1511244 1511246 1511439 1511462 1511463 1511531 1511548 1511622 1511638 1511740 1512035 1512049 1512084 1512085 1512098 1512099 1512100 1512101 1512102 1512103 1512105 1512106 1512107 1512108 1512121 1512130 1512132 1512134 1512135 1512140 1512166 1512199 1512244 1512310 1512330 1512333 1512336 1512446 1512478 1512505 1512550 1512551 1512553 1512564 1512631 1512634 1512639 1512640 1512642 1512654 1512788 1512865 1512899 1512901 1512944 1512971 1512972 1512977 1512992 1513017 1513019 1513023 1513026 1513029 1513032 1513042 1513095 1513123 1513168 1513170 1513171 1513172 1513173 1513176 1513301 1513376 1513410 1513469 1513493 1513528 1513713 1513715 1513729 1513745 1513747 1513752 1513753 1513755 1513756 1513924 1513925 1513929 1513931 1513932 1513937 1513939 1513940 1513949 1513951 1513956 1513959 1513966 1513970 1513971 1513973 1513978 1513981 1513984 1513988 1513993 1513994 1513997 1514005 1514009 1514011 1514012 1514021 1514022 1514023 1514025 1514027 1514030 1514033 1514034 1514039 1514040 1514042 1514044 1514048 1514053 1514054 1514055 1514058 1514068 1514072 1514075 1514076 1514080 1514082 1514085 1514098 1514100 1514101 1514103 1514104 1514106 1514108 1514109 1514113 1514165 1514170 1514172 1514173 1514174 1514177 1514178 1514180 1514182 1514186 1514205 1514221 1514295 1514302 1514392 1514435 1514440 1514520 1514584 1514591 1514656 1514657 1514659 1514716 1514732 1514733 1514736 1514738 1514739 1514740 1514760 1514842 1514890 1514891 1514933 1514934 1515019 1515077 1515108 1515127 1515137 1515138 1515146 1515147 1515148 1515149 1515150 1515151 1515186 1515219 1515267 1515428 1515878 1515879 1515881 1515931 1515962 1515963 1515964 1515966 1515989 1516089 1516090 1516091 1516092 1516093 1516094 1516096 1516097 1516313 1516393 1516469 1516470 1516497 1516515 1516556 1516595 1516671 1516687 1516696 1516727 1516837 1516839 1516859 1516866 1516898 1516943 1516944 1516945 1516949 1516963 1516965 1517057 1517098 1517204 1517270 1517304 1517354 1517355 1517357 1517358 1517359 1517440 1517451 1517532 1517540 1517544 1517548 1517631 1517678 1517690 1517714 1517725 1517732 1517733 1517771 1517806 1517807 1517808 1517810 1517811 1517881 1517917 1517919 1518009 1518068 1518075 1518113 1518114 1518115 1518125 1518174 1518176 1518180 1518184 1518185 1518194 1518212 1518216 1518229 1518241 1518245 1518246 1518268 1518272 1518275 1518311 1518421 1518564 1518565 1518620 1518629 1518688 1518751 1518846 1518847 1518889 1518981 1518985 1518990 1518994 1518997 1518999 1519005 1519010 1519070 1519089 1519090 1519120 1519121 1519174 1519220 1519221 1519262 1519322 1519354 1519373 1519424 1519442 1519449 1519454 1519458 1519460 1519466 1519467 1519468 1519477 1519513 1519515 1519550 1519563 1519658 1519718 1519740 1519741 1519778 1519793 1519839 1519907 1519986 1520009 1520026 1520027 1520131 1520164 1520211 1521882 1522040 1522060 1522076 1522078 1522104 1522160 1522212 1522214 1522257 1522260 1522406 1522445 1522529 1522639 1524008 1524111 1527009 1531511 1545529 1563924 1563925 1563926 1564017 1564995 1565000)\n(29 754 768 771 772 1079 1080 1193 1627 1916 2447 2452 2735 2768 2902 3076 3119 3466 3492 3516 3706 3803 3857 3886 4903 5411 5689 5744 5754 5859 6281 6288 7772 8297 8340 8525 8924 8925 9081 9363 9439 9677 9680 9681 9691 9701 9714 9726 9730 9995 10074 10273 10278 10308 10314 10334 10417 10626 10668 11320 11436 11599 11813 11818 11981 11989 11999 12241 13069 13080 13274 13336 13364 13366 13375 13481 13575 13580 13581 13589 13720 13743 14065 14066 14084 14116 14527 14588 14850 14851 15306 15338 15393 16049 16064 16065 16165 16508 16522 16667 16842 16873 18051 18054 18286 18522 18566 18798 18816 18817 18818 18987 19269 19293 19555 19556 19569 20186 20225 20256 20302 20534 20608 20636 20646 20758 21165 21171 21828 22283 22360 22521 22579 22580 22735 22738 23138 23569 24164 24433 24454 24507 25037 25210 25221 25312 25467 25958 25988 25990 25995 26010 26034 26363 26499 26505 26706 26707 26760 26850 26985 27341 27794 27806 28326 29125 29422 29454 29455 30044 31189 31190 31192 31575 31900 32209 32357 32897 33324 33770 33804 35238 35313 35353 35615 35934 36391 36400 36415 36868 36875 36996 37205 37221 37231 37268 37917 38015 38017 38219 38475 38476 38505 39075 39093 39685 39743 40427 40457 40587 40759 40761 41022 41207 41408 41428 42063 43008 43379 43459 78917 78918 78921 78922 78982 79037 79153 79154 79299 79352 79504 79541 79584 79661 80174 80178 80218 85280 85413 85548 85758 86664 149630 149955 151489 151490 151491 152101 152233 152234 152235 152236 152238 152239 152240 152415 152416 152419 152421 152422 152423 152424 152426 152427 152429 152431 152432 152436 152438 152441 152444 155963 156245 158551 158553 158564 158570 158617 158618 158619 158621 158623 158629 158634 158638 158641 158644 158647 158648 158649 158650 158651 158652 158653 158654 158663 158674 158683 158684 158687 158698 158709 158713 158722 158731 158733 158734 158736 158738 158761 158775 158779 158782 158784 158795 158945 158983 159015 162164 162359 162361 162384 162475 162510 175691 175692 175693 175694 175695 175696 175697 175699 175700 175701 175707 175754 175755 175778 178568 205730 206554 206762 220668 220685 220704 220708 220722 220726 220743 220744 220748 221011 221060 221199 221209 221210 221214 221215 221216 221217 221218 221219 221352 221353 221354 221355 221356 221357 221358 221359 221360 221365 227918 227919 235357 235658 235683 235694 235752 235753 235797 235801 235832 235833 235864 235915 235947 235964 236025 236026 238026 238207 238210 238394 238400 238402 238495 238506 238522 238591 239054 239119 239234 239849 239894 240340 240414 240439 240635 240896 240912 241397 241428 241790 241800 241960 241965 242385 242387 242526 243002 243050 243066 262435 262436 262475 263481 263529 264303 265201 265202 265210 265213 265215 265218 265221 265224 265227 265228 265233 265240 265241 265245 265249 265251 265252 265253 265255 265259 265260 265261 265264 265275 265276 265278 265279 265280 265281 265282 265283 265284 265286 265287 265288 265289 265290 265291 265292 265293 265295 265301 265303 265307 265309 265313 265315 265316 265321 265326 265329 265333 265334 265336 265338 265339 265341 265354 265357 265372 265374 265375 265509 265511 265512 265513 265524 265525 265527 265529 265530 265534 265535 265537 265546 265547 265549 265550 265551 265552 265553 265554 265555 265556 265559 265561 265565 265582 265585 265592 265593 265594 265596 265598 265599 265604 265607 265608 265609 265610 265632 265633 265635 265647 265648 265649 265650 265651 265652 265654 265656 265659 265660 265661 265662 265669 265670 265671 265672 265673 265677 265678 265679 265680 265681 265686 265688 265695 265696 265700 265701 265706 265707 265708 265709 265717 265722 265724 265726 265729 265730 265736 265740 265741 265758 265761 265763 265766 265767 265776 265778 265780 265782 265783 265787 265788 265790 265791 265797 265800 265807 265808 265809 265812 265820 265829 265830 265831 265833 265840 265841 265845 265849 265851 265852 265856 265857 265862 265863 265865 265868 265870 265873 265874 265878 265879 265883 265885 265886 265888 265889 265890 265892 265898 265899 265903 265905 265908 265911 265914 265915 265916 265928 265931 265932 265933 265935 265939 265940 265941 265949 265950 265953 265961 265962 265963 265964 265965 265971 265973 265974 265979 265989 265991 265992 265993 265994 265998 266001 266003 266004 266006 266008 266010 266011 266012 266013 266015 266024 266025 266033 266034 266035 266036 266037 266038 266040 266041 266049 266054 266058 266059 266060 266062 266063 266066 266071 266075 266076 266077 266078 266079 266080 266083 266085 266089 266090 266092 266094 266101 266102 266103 266104 266105 266107 266111 266122 266123 266126 266133 266136 266137 266138 266139 266144 266150 266151 266152 266153 266155 266159 266162 266172 266174 266175 266176 266177 266180 266181 266184 266186 266190 266193 266198 266200 266205 266208 266215 266220 266221 266223 266229 266231 266233 266237 266239 266249 266251 266252 266253 266254 266255 266256 266258 266260 266264 266266 266268 266270 266273 266274 266275 266276 266277 266283 266284 266286 266288 266292 266293 266294 266295 266296 266298 266299 266302 266304 266305 266306 266309 266312 266313 266316 266317 266319 266322 266323 266324 266326 266327 266328 266332 266334 266335 266336 266337 266338 266342 266344 266345 266347 266348 266351 266354 266357 266360 266361 266362 266363 266365 266368 266369 266370 266371 266375 266383 266385 266387 266389 266390 266393 266399 266401 266411 266414 266419 266425 266427 266429 266430 266432 266435 266436 266444 266449 266451 266452 266453 266454 266455 266456 266463 266464 266468 266469 266470 266471 266479 266480 266481 266482 266483 266488 266489 266491 266493 266494 266495 266497 266498 266502 266507 266508 266511 266520 266521 266525 266526 266527 266533 266535 266537 266539 266541 266542 266543 266544 266546 266547 266548 266551 266559 266562 266565 266566 266568 266572 266573 266574 266576 266578 266579 266585 266588 266589 266597 266609 266610 266611 266614 266617 266619 266621 266622 266623 266624 266625 266626 266631 266632 266633 266634 266636 266638 266640 266641 266642 266644 266649 266650 266651 266655 266657 266659 266662 266667 266674 266676 266677 266679 266680 266682 266684 266685 266688 266689 266692 266698 266700 266704 266711 266715 266717 266719 266720 266721 266723 266725 266728 266731 266736 266738 266740 266741 266742 266743 266744 266782 266787 266800 267494 268113 268136 268137 268138 268139 268140 268141 268146 268180 268202 268232 268281 268312 268347 268353 268357 268358 268359 268363 268398 268425 268446 268463 268464 268495 268496 268503 268506 268626 268642 268647 268654 268800 270173 270178 270250 270771 270804 270960 270962 270968 270971 270972 271044 271097 271130 271330 271739 271740 271829 271934 271990 272051 272350 275859 278457 282160 300948 302246 302280 302467 302889 302892 311245 311249 332865 332866 332869 332870 332871 332872 332873 332875 332876 332877 332878 332879 332880 332881 332882 332884 332885 332887 332889 332890 332902 332904 332905 332907 332908 332909 332910 332915 332922 332923 332928 332930 332931 332933 332934 332935 332936 332940 332941 332942 332949 332950 332951 332952 332955 332962 332963 332964 332965 332966 332967 332969 332970 332971 332977 332978 332980 332981 332983 332985 332987 332988 332990 332996 333000 333001 333002 333005 333006 333007 333008 333009 333693 334082 338503 339268 339277 339278 339428 339508 339511 339512 339513 339514 339515 339523 339525 339526 339528 339533 339534 339535 339538 339539 339541 339694 339697 339789 339853 339864 340215 340239 340242 340364 340420 340429 340543 340627 340803 340818 340819 340828 340829 340834 340835 340845 340846 340848 341030 341037 341480 341741 341787 342149 342152 342153 342185 342200 342283 342287 342464 342467 342482 342510 342610 342611 342639 342642 342643 342881 342882 342884 342886 343057 343059 343064 343094 343111 343662 344262 344263 344479 344490 344491 344502 344503 344504 344505 344514 344521 344522 344524 344525 344529 344530 344531 344533 344534 344535 344539 344541 344542 344543 344544 344550 344558 344559 344580 344582 344583 344600 344609 344612 344615 344616 344617 344620 344642 344649 344650 344656 344659 344660 344664 344672 344679 344680 344681 344683 344684 344687 344688 344696 344697 344698 344706 344709 344710 344711 344712 344717 344718 344720 344721 344724 344730 344735 344737 344743 344745 344761 344767 344768 344769 344796 344825 344829 344853 344854 344857 344860 344861 344882 344883 344887 344893 344896 344897 344898 344899 344900 344905 344906 344911 344915 344916 344917 344923 344924 344925 344936 344943 344947 344950 344951 344954 344955 344957 344959 344960 344963 344974 344975 344976 344980 344981 344983 344986 344987 344988 344993 345001 345002 345016 345025 345030 345037 345040 345041 345042 345043 345049 345050 345053 345054 345060 345065 345075 345076 345082 345086 345087 345088 345091 345092 345096 345098 345120 345123 345129 345133 345140 345142 345160 345173 345180 345183 345195 345200 345210 345217 345218 345226 345235 345237 345238 345240 345252 345255 345259 345268 345288 345292 345308 345309 345319 345322 345325 345326 345330 345332 345335 345344 345346 345347 345354 345360 345369 345375 345392 345397 345400 345402 345404 345408 345409 345414 345419 345421 345427 345451 345454 345455 345460 345461 346068 346072 348023 349476 349589 349788 362030 375527 375530 375536 376359 376634 391826 392005 392006 392109 392166 392192 392452 392475 392476 392477 392478 392482 392483 392485 392495 392549 393778 393791 393996 395886 395941 396051 396059 396074 398357 398791 399352 399356 399357 399367 399372 399376 399379 399532 403813 403814 406346 406439 406443 406557 406611 406612 406704 406707 406709 406721 406724 406727 406740 406755 406756 406757 406764 406767 406778 406779 406821 410061 410179 410203 410204 410528 410529 410533 410536 410539 410775 410932 410933 410934 423113 423406 424711 424720 424731 426799 431290 431291 431292 431293 431294 431307 431308 431309 431343 431344 431346 431348 431349 431350 431357 431362 431363 431364 431366 431368 431371 431372 431375 431376 431378 431379 431380 431384 431388 431389 431390 431391 431403 431404 431406 431408 431409 431412 431414 431415 431418 431447 431448 431451 431458 431459 431460 431478 431483 431498 431500 431501 431506 431557 431560 431564 431571 431593 431594 431597 431598 431603 431628 431637 431648 431649 431650 431659 431663 431664 431668 431670 431674 431691 431692 431697 431698 431704 431716 431718 431726 431730 431732 431733 431740 431741 431743 431751 431752 431753 431755 431780 431789 431795 431797 431799 431800 431848 431856 431863 431875 431876 431878 431879 431886 431890 431943 431950 431951 431952 431954 431957 431969 431979 431980 431996 432028 432045 432050 432072 432079 432081 432082 432090 432098 432104 432106 432107 432122 432123 432124 432125 432129 432130 432131 432149 432152 432185 432186 432195 432196 432206 432208 432210 432213 432214 432215 432217 432218 432223 432233 432235 432243 432267 432270 432272 432277 432282 432283 432285 432289 432291 432292 432300 432302 432303 432304 432305 432306 432313 432315 432316 432321 432330 432332 432333 432337 432353 432357 432363 432365 432367 432386 432409 432482 438980 438982 444533 444540 444542 445380 450267 450296 452146 452147 452148 452168 455942 456144 456145 456162 456690 457017 457133 457803 473572 474861 474863 474865 474870 474873 474874 474885 474886 474887 474890 478013 478037 495523 495524 495589 495619 495620 497552 520557 520578 520780 521546 521551 521554 521558 521562 521566 521570 521578 521579 524730 524948 542344 542428 542514 542519 543614 543710 543711 543749 543874 544730 544738 544742 544853 544857 545617 546264 546268 546269 546275 546278 546284 546285 546315 546952 546962 546963 546966 546967 546969 549114 549173 549306 549338 553566 555206 555213 555225 559260 559483 559898 559902 563449 567252 578524 580228 585228 585538 585539 595985 595987 596364 596366 596368 596371 597966 598224 598854 599973 600031 678183 679378 685205 685206 685344 685346 685373 685409 685435 685460 685469 685503 685558 685628 685633 685638 685639 685648 685679 685682 685706 685707 685724 685767 685771 685772 685773 685775 685786 685787 685792 685798 685806 685808 685813 685830 685835 685838 685851 685869 685870 685874 685885 685891 685894 685896 686914 686915 687120 687149 687154 700501 700587 700635 700639 702108 702139 702169 728829 728895 729956 730511 740404 741296 741768 745360 749420 749738 749794 750039 750930 751008 751156 751157 751210 751617 752153 752160 752161 752164 752244 795690 796016 805641 805643 805644 805645 812464 814158 815117 815118 840926 848748 850673 851567 852066 852085 852689 852910 852973 853602 853802 854260 854263 854699 856475 856843 857379 857603 858233 858279 860158 860159 860462 860463 865470 869110 869147 877024 877051 877164 877165 877166 877524 877643 878626 887850 917715 917804 917813 919755 920187 920238 947949 948242 948368 948443 948444 949116 949331 950122 969687 1096633 1096660 1112155 1112220 1140710 1142431 1148551 1168239 1168315 1253939 1257796 1257797 1257798 1257799 1257840 1260432 1260890 1261470 1261504 1261566 1261567 1262167 1262253 1262483 1263023 1263028 1265639 1265721 1265722 1265728 1265732 1265733 1265734 1267087 1269751 1270923 1271219 1274214 1274215 1274216 1274224 1274658 1274792 1274795 1274811 1274872 1274874 1274879 1274890 1274895 1275074 1275078 1275081 1275417 1275809 1275836 1275966 1279638 1280768 1280777 1282045 1282202 1282514 1283306 1290477 1290478 1290480 1290481 1290495 1290496 1290497 1290499 1290514 1290515 1290516 1290519 1290521 1290525 1290576 1290590 1290592 1290595 1290608 1297882 1298714 1299492 1299629 1299889 1299890 1299891 1300206 1301701 1301937 1302058 1302219 1302695 1302749 1302778 1302791 1303000 1303001 1303009 1303010 1303012 1305147 1305169 1305170 1305420 1306122 1306503 1306726 1306753 1306783 1318518 1318523 1319016 1319017 1320468 1321551 1321884 1328357 1328407 1334061 1364466 1384670 1386091 1387052 1393998 1394265 1394682 1394764 1396028 1396251 1399058 1399719 1401774 1402998 1403466 1403699 1404021 1404027 1404998 1405001 1405109 1405549 1408506 1409770 1409965 1442897 1442988 1455712 1455734 1456418 1457873 1504489 1504506 1510455 1527168 1531773 1533649 1533655 1535919 1535953 1540857 1542666 1562468 1562503 1562630 1563153 1563730 1563731 1567426 1567427 1578691 1579094 1608388 1608946 1608961 1609433 1610065 1610600 1611169 1611186 1611195 1611702 1611724 1619700 1619722)\n(30 1128 23688 30106 220806 1121206 1258022 1258023 1317791 1455051 1455816 1552742)\n(31 1552 1711 3139 3306 3567 4635 11160 11740 12682 15237 16198 16461 16485 18501 31318 31916 33262 33613 38113 38891 38959 38998 43060 79381 85158 85168 85403 86466 178623 242859 243076 243077 259980 260274 282360 302690 313542 443354 443355 443769 444619 444621 449920 449986 450125 450442 450445 456611 475332 525067 596039 596335 596701 597061 597303 598132 598399 598694 599481 599512 599677 599914 599915 678458 682776 682777 682887 682896 682897 682914 682915 684140 815283 815284 868708 872051 872111 920584 949641 1098636 1306073 1511666 1511901 1511939 1512474 1513403 1516025 1516451 1518515 1519886 1550600 1552018 1552019 1571592)\n(32 1712 2616 2776 3816 3819 4492 6006 6007 6022 6029 6031 6032 7447 7448 7449 7984 12771 14020 15860 15889 16693 17110 28125 28137 29036 31625 31626 31627 31679 31683 31693 31704 32521 36140 37093 37121 38739 38741 38762 38775 38776 38786 39952 50888 53629 54511 54897 57658 57689 65208 66839 70474 72763 76540 77180 77955 78778 85250 108168 138802 148364 167542 168122 175815 178735 206386 243071 243072 252314 258236 259880 260126 260127 283535 285731 298988 298989 300972 302603 302912 302934 302952 302988 303074 303156 303231 303267 303399 303743 303748 337022 337161 376211 439865 439866 440124 440273 444607 444626 457553 544472 581444 588995 596040 596083 596105 596313 596316 596383 596448 596913 596973 597177 597486 597488 597557 597635 597778 599472 599473 599507 600686 637693 675327 678518 678519 678521 683003 684279 684298 684300 684301 758365 969698 1138408 1273031 1285474 1449655 1449656 1450122 1513403 1519100 1563732)\n(33 8902 13622 28643 79107 79720 80202 175875 178759 221442 221444 221445 221446 221447 221449 221451 231922 233783 234620 236105 236962 236999 237809 243175 332280 332326 332387 332394 441727 441729 441730 441731 441732 441768 441769 441770 441773 441774 441775 441800 441837 441838 441839 441840 441858 441885 441932 442719 442720 449387 449560 456079 456201 456595 456597 456598 456599 456607 457157 457570 459136 475274 475284 475286 475381 475383 475385 475390 475455 521184 748342 807679 809869 812406 868934 871251 872379 919553 1185642 1235670 1264753 1264754 1269796 1269798 1273876 1285504 1285539 1292734 1301631 1302362 1302677 1306452 1317415 1317416 1328817 1441145 1441651 1444005 1456649 1456678 1456700 1510755 1510966 1511538 1512863 1514254 1514280 1514880 1514952 1515010 1515011 1515021 1515169 1516030 1516232 1516710 1516719 1516790 1517031 1517327 1517886 1518316 1518351 1519691 1521842 1521917 1524073 1546905 1547372 1547673 1550357 1578890)\n(34 936 3074 7809 12000 12655 22869 24964 24966 25515 29387 30055 32127 32930 34944 35190 35234 35268 42812 79946 80078 86741 86879 178519 221743 231832 231959 231961 231966 231985 231998 232024 232337 232680 232856 234171 234201 234723 234742 242789 262499 277853 278024 311421 312755 332157 362105 362117 362157 362274 362294 362330 362338 362412 362597 366335 366341 366344 366373 366376 366398 366405 366413 366416 366421 366433 366443 366447 366448 366481 366486 366498 366503 366510 366516 366517 366518 366526 366527 366544 366550 366560 366563 366596 366623 366626 366666 366685 366686 368673 370005 391876 392677 420979 423049 423616 424678 424945 426327 427478 428011 428640 428883 429218 429622 429805 430761 436186 442709 449574 456204 475447 481937 483605 486431 486588 486616 487985 488056 488794 489479 518884 520877 520988 520989 520990 520997 521982 522025 522026 522027 522028 522077 522116 522219 522221 522223 542565 551073 558295 596013 678835 679319 683325 684342 700043 702182 803966 805010 807727 808364 814119 814287 814294 814305 814477 815097 815141 815144 815172 854358 871261 881779 882033 882088 882539 942475 944157 944911 1114279 1114419 1114599 1114816 1148278 1148292 1148406 1182794 1182795 1261315 1261335 1261502 1264738 1268822 1270004 1272247 1273607 1275590 1275641 1275650 1275680 1275819 1282059 1285582 1285589 1285593 1285623 1285629 1285721 1285816 1285831 1285847 1285965 1286023 1286234 1286259 1286282 1286326 1286370 1299212 1299453 1299464 1299469 1299482 1299676 1299690 1299693 1300072 1300586 1300812 1300813 1300991 1301128 1301315 1301329 1301411 1301691 1302309 1302656 1303029 1305738 1305852 1305855 1314973 1316126 1317128 1317364 1317500 1317658 1319019 1319209 1319210 1320480 1369880 1369882 1370135 1370188 1370231 1373204 1373205 1382196 1383165 1384388 1440109 1442158 1444020 1444028 1446565 1456614 1456627 1507006 1507013 1507428 1508496 1508497 1508767 1509144 1510831 1511325 1511540 1511876 1512299 1512656 1513126 1513392 1513475 1514457 1514460 1514463 1514471 1514474 1514593 1516212 1516221 1516333 1516974 1518853 1518965 1518967 1519232 1519386 1519453 1519810 1520224 1521816 1521913 1522618 1524022 1525101 1527063 1527072 1527124 1531610 1537110 1545121 1545725 1546087 1546088 1546090 1546091 1562117 1563172)\n(35 17238 36082 60846 64411 65143 71307 71376 73384 77548 78482 108055 118885 122759 124261 126762 137812 137919 140196 140600 142972 172286 206948 245417 247498 250710 280081 301299 301528 302229 304468 304469 304622 305128 305130 305187 305199 305231 305232 305245 305246 305304 305309 305410 305428 305452 305455 305457 305458 305462 305521 305522 305530 305558 305598 305623 305625 305635 305637 305660 305662 305663 305681 305689 305746 305759 305781 305782 305834 305850 305916 305944 305977 306013 306045 306046 306093 306207 306251 306252 306253 306256 306266 306278 306285 306318 306331 306336 306339 306340 306388 306395 306431 306445 306453 306456 306460 306469 306471 306472 306522 306523 306535 306536 306537 306538 306559 306568 306569 306587 306647 306652 306692 306702 306706 306713 306727 306740 306834 306846 306865 306883 306886 306895 306898 306926 306933 306934 306940 306959 306993 306997 306998 307001 307014 307024 307162 307166 307187 307205 307215 307249 307250 307276 307277 307333 307375 307424 307502 307535 307550 307559 307560 307562 307578 307579 307636 307753 307767 307772 307776 307869 307880 307883 307937 307952 308001 308020 308043 308050 308094 308102 308116 308127 308145 308157 308158 308160 308222 308312 308339 308371 308651 308652 308792 308803 308814 308817 308944 309042 309114 309129 309146 309152 309177 309321 309328 309351 309448 309470 309472 309578 309617 309727 309728 309839 309978 310090 310206 310288 310315 310391 310436 310598 310603 310604 349867 349868 349913 349981 350054 350242 350831 351279 351298 351803 351819 351829 351851 351852 351860 351892 351903 351906 351999 352048 352069 352147 352155 352158 352178 352179 352305 352321 352509 352510 352535 352600 352680 352842 352868 353644 353790 353901 353911 353983 354801 354969 355185 356635 356653 356877 356878 357083 357141 357155 357272 357533 357583 357599 357602 357603 357773 357882 357915 357940 357949 357973 357991 357995 358002 358003 358005 358022 358076 358078 358115 358131 358142 358147 358148 358151 358154 358176 358182 358202 358235 358288 358290 358292 358458 358460 358463 358467 358513 358527 358585 358692 358696 358849 358855 358866 358902 358903 358904 358954 358955 358956 358974 358979 358980 358987 358994 359004 359013 359039 359041 359078 359087 359104 359316 359337 359338 359569 359607 359632 359662 359689 359695 359713 359716 359730 359746 359750 359751 359756 359767 359773 359822 359824 359827 359946 360054 360056 360061 360062 360070 360072 360076 360078 360083 360095 360115 360116 360120 360122 360134 360135 360136 360138 360139 360141 360144 360151 360152 360155 360158 360159 360160 360162 360163 360164 360165 360168 360169 360180 360190 360191 360204 360206 360246 360257 360288 360317 360318 360325 360335 360337 360344 360345 360346 360347 360348 360350 360352 360353 360354 360355 360381 360513 360560 360585 360667 361056 361084 361155 361211 361247 361617 361659 361846 361920 362034 392927 440221 450164 460281 460894 462896 499111 499113 534240 534303 542683 542710 542711 542713 542735 543046 543100 543206 543210 543212 543255 543281 543297 543309 544333 544370 544374 544377 544402 544414 546166 590199 590256 590288 590311 590558 590640 590885 590979 592380 592459 593400 593465 593804 594485 594538 595047 595736 597683 599396 599440 599654 653571 674962 678429 678431 687789 687885 687924 687938 688016 688020 688022 688329 688360 688366 688386 688387 688388 688483 688597 689020 689022 689108 689109 689149 689173 689303 689701 689729 690252 690449 690582 690615 690802 690809 690845 691089 691279 691537 692412 692927 693374 693834 694079 694104 698076 698432 698641 698751 698753 698804 698810 698988 698991 698993 699006 699222 700355 700390 700415 700422 701545 701548 701708 701709 701755 701758 701759 701761 701878 703023 704165 705057 706406 709150 709151 709855 712264 713465 716105 717423 717432 717461 717501 717507 717515 717536 717553 717632 717736 717746 717765 717777 717797 717861 717889 717894 717924 717933 717954 717967 717997 718023 718051 718063 718083 718090 718115 718389 718654 718843 718847 718860 719045 719094 719166 719239 719372 719443 719505 719682 719721 719752 719794 719833 719968 720115 720353 720679 720969 721046 721122 721174 721194 721229 721361 721369 721416 721444 721598 721673 721742 722041 722079 722247 722249 722329 722417 722566 722912 723019 723128 723293 723478 723523 723641 723642 723716 723917 723953 724006 724018 724033 724226 724227 724344 724428 724484 725304 725873 726406 728781 730773 730928 730948 730967 731029 731032 731135 731156 731157 731177 731211 731285 731298 731335 731447 731468 731536 731996 732038 732251 732311 740079 746901 770601 771094 771096 771102 772987 773689 773856 773869 773886 774702 774703 774861 774927 775034 775333 775549 775571 775960 776008 776076 776464 776617 777683 777716 777820 780036 780037 780316 780894 780914 781069 781374 781381 781742 783232 784146 784508 784812 784813 784916 785060 785416 785807 786348 786604 787946 788229 788342 788904 789121 790061 790062 790196 790477 790529 791249 791264 791320 791514 791912 792229 792273 792408 792527 792563 792718 792943 793801 794345 794438 794811 812795 872351 872615 873004 875916 875939 875991 938628 938656 939242 939333 939472 947641 949110 973827 973828 973887 974143 974665 974718 974725 974919 974922 974925 974957 974972 975046 975047 975297 975468 975493 975518 975532 975654 975675 975704 975705 975710 975728 975746 975748 975750 975891 975955 975958 976237 976340 976533 976541 976588 976710 976712 976937 976956 976973 977080 977123 977191 977210 977323 977347 977381 977620 977735 978048 978076 978077 978081 978165 978186 978232 978256 978257 978617 978618 978619 978637 978638 978664 978677 978697 978712 978716 978793 978857 978858 978917 979053 979107 979113 979319 979544 979584 979585 979587 979751 979798 980022 980150 980190 980192 980221 980249 980303 980309 980387 980465 980473 980475 980476 980477 980506 980511 980712 980732 980733 980743 980801 980803 980817 980887 981175 981267 981272 981379 981380 981543 981545 981551 981560 981656 981725 981747 981760 981777 981779 981783 982672 982892 982922 982924 982950 982952 982958 982959 982960 982961 982981 983006 983008 983010 983012 983045 983180 983182 983478 983479 983488 983490 983580 983667 983683 983723 983829 983851 983862 983872 983874 983877 983879 983881 983882 983885 983887 983888 983889 983942 983946 983950 983969 984027 984029 984137 984176 984275 984276 984280 984344 984350 984383 984386 984486 984487 984488 984489 984501 984502 984503 984512 984514 984516 984524 984525 984542 984555 984557 984578 984580 984581 984597 984599 984629 984630 984639 984674 984684 984761 984772 984805 984806 984827 984910 984912 984913 984914 984915 984916 984941 984980 984982 985016 985017 985029 985030 985037 985105 985108 985227 985263 985293 985298 985299 985326 985341 985342 985344 985346 985347 985489 985490 985491 985528 985533 985542 985544 985575 985611 985685 985825 985838 985839 985840 985841 985842 985875 985878 985898 985919 985921 985923 985926 985928 985938 985940 985942 985953 985954 986065 986066 986073 986074 986076 986077 986111 986112 986129 986130 986173 986175 986196 986198 986199 986212 986239 986240 986273 986274 986278 986342 986376 986405 986406 986407 986409 986410 986522 986524 986525 986526 986528 986529 986532 986549 986553 986574 986611 986664 986667 986668 986684 986685 986690 986692 986693 986849 986850 986960 987003 987004 987007 987008 987030 987031 987032 987033 987034 987069 987071 987084 987085 987086 987130 987131 987134 987139 987217 987219 987221 987222 987267 987270 987272 987273 987276 987282 987283 987376 987556 987558 987572 987574 987624 987648 987664 987665 987666 987716 987717 987791 987813 987822 987827 987846 987871 987899 987900 987961 987962 987966 987967 987997 987998 987999 988037 988140 988141 988144 988145 988147 988149 988171 988182 988192 988193 988204 988206 988207 988219 988255 988256 988258 988260 988261 988267 988268 988297 988300 988316 988458 988460 988461 988533 988550 988553 988606 988890 988891 988892 988911 989074 989140 989218 989219 989226 989246 989247 989248 989249 989251 989261 989276 989415 989419 989569 989572 989579 989580 989581 989603 989604 989605 989706 989709 989713 989715 989716 989893 989894 989914 989915 989916 989917 990351 990352 990353 990421 990423 990426 990430 990458 990459 990464 990469 990502 990503 990506 990507 990508 990520 990527 990566 990584 990587 990651 990856 990857 990858 990866 990867 990872 990874 990875 990876 990911 990912 990913 990914 990915 990917 990949 990950 990951 990969 990971 991104 991106 991107 991377 991380 991381 991382 991407 991414 991422 991474 991488 991687 991740 991900 991957 992011 992012 992015 992038 992077 992089 992144 992155 992170 992202 992229 992254 992257 992291 992301 992314 992315 992318 992319 992323 992359 992363 992381 992386 992428 992473 992477 992479 992485 992487 992488 992502 992522 992607 992608 992611 992627 992628 992656 992657 992658 992667 992668 992671 992676 992678 992731 992770 992820 992821 992824 992853 992855 992872 992886 992888 992889 992924 992989 993022 993024 993029 993062 993064 993065 993077 993157 993212 993263 993286 993287 993297 993321 993344 993356 993358 993359 993389 993413 993433 993434 993438 993445 993471 993472 993486 1102200 1102499 1103218 1104996 1105325 1105658 1107006 1110109 1123075 1123085 1123087 1123088 1123089 1123116 1123117 1123119 1123135 1123139 1123141 1123142 1123144 1123148 1123150 1123153 1123156 1123161 1123162 1123172 1123173 1123174 1123176 1123177 1123178 1123179 1123248 1123257 1123262 1123268 1123270 1123271 1123279 1123293 1123295 1123306 1123311 1123312 1123314 1123321 1123334 1123335 1123336 1123337 1123346 1123350 1123364 1123367 1123368 1123376 1123381 1123382 1123387 1123388 1123396 1123397 1123407 1123408 1123411 1123414 1123415 1123429 1123435 1123457 1123481 1123490 1123491 1123493 1123518 1123519 1123521 1123522 1123526 1123530 1123534 1123537 1123541 1123542 1123543 1123545 1123548 1123552 1123553 1123563 1123564 1123580 1123581 1123583 1123589 1123610 1123613 1123623 1123624 1123627 1123628 1123630 1123642 1123644 1123645 1123646 1123670 1123671 1123679 1123691 1123701 1123702 1123715 1123721 1123756 1123757 1123763 1123769 1123770 1123774 1123785 1123787 1123813 1123817 1123818 1123819 1123820 1123821 1123825 1123827 1123828 1123836 1123842 1123847 1123872 1123877 1123890 1123916 1123920 1123926 1123935 1123936 1123946 1123957 1124015 1124026 1124027 1124036 1124049 1124054 1124060 1124081 1124120 1124131 1124132 1124133 1124147 1124157 1124160 1124172 1124173 1124175 1124179 1124185 1124214 1124244 1124245 1124250 1124255 1124256 1124258 1124269 1124275 1124281 1124292 1124311 1124315 1124319 1124331 1124356 1124369 1124474 1124475 1124478 1124479 1124482 1124486 1124498 1124619 1124636 1124669 1124670 1124675 1124677 1124683 1124720 1124741 1124787 1124794 1124795 1124796 1124864 1124873 1124881 1124882 1124883 1124894 1124895 1124909 1124966 1124974 1125026 1125065 1125070 1125121 1125125 1125126 1125132 1125139 1125204 1125234 1125235 1125256 1125266 1125268 1125272 1125281 1125283 1125365 1125368 1125422 1125427 1125449 1125452 1125454 1125457 1125469 1125472 1125509 1125540 1125541 1125552 1125565 1125566 1125591 1125598 1125604 1125625 1125626 1125702 1125723 1125724 1125734 1125755 1125809 1125815 1125816 1125894 1125895 1125907 1125916 1125950 1125961 1125965 1125968 1125975 1125976 1125977 1125978 1125983 1125985 1125986 1125988 1125996 1126012 1126013 1126026 1126029 1126031 1126032 1126039 1126040 1126041 1126043 1126044 1126046 1126048 1126050 1126051 1126052 1126059 1126069 1126071 1126072 1126074 1126091 1126097 1126116 1126119 1126122 1126129 1126130 1126131 1126132 1126145 1126147 1126158 1126159 1126160 1126165 1126167 1126172 1126175 1126179 1126180 1126186 1126187 1126198 1126199 1126204 1126205 1126215 1126216 1126222 1126228 1126260 1126285 1126289 1126302 1126321 1126333 1126353 1126357 1126423 1126439 1126445 1126450 1126466 1126467 1126482 1126492 1126523 1126524 1126528 1126546 1126554 1126556 1126567 1126571 1126575 1126585 1126586 1126587 1126588 1126590 1126602 1126613 1126616 1126630 1126670 1126683 1126701 1126722 1126728 1126731 1126752 1126753 1126757 1126761 1126847 1126848 1126868 1126881 1126883 1126886 1126916 1126953 1126964 1126966 1127000 1127011 1127135 1127172 1127205 1127206 1127210 1127232 1127241 1127242 1127244 1127245 1127271 1127321 1127330 1127400 1127432 1127433 1127437 1127464 1127473 1127511 1127520 1127523 1127525 1127529 1127533 1127537 1127538 1127545 1127561 1127562 1127564 1127565 1127610 1127612 1127728 1127744 1127745 1127751 1127768 1127769 1127770 1127782 1127811 1127814 1127870 1127879 1127917 1127922 1127934 1127955 1127962 1127991 1128031 1128041 1128053 1128059 1128064 1128066 1128120 1128121 1128290 1128292 1128293 1128353 1128355 1128356 1128357 1128358 1128359 1128362 1128365 1128400 1128405 1128410 1128411 1128413 1128430 1128439 1128440 1128442 1128446 1128450 1128466 1128473 1128474 1128475 1128508 1128535 1128536 1128545 1128560 1128611 1128626 1128647 1128648 1128661 1128662 1128663 1128668 1128672 1128682 1128684 1128685 1128686 1128743 1128757 1128791 1128809 1128878 1128883 1128885 1128904 1128912 1128917 1128960 1128961 1128971 1128974 1128982 1128989 1129001 1129008 1129011 1129058 1129160 1129165 1129166 1129168 1129207 1129280 1129282 1129299 1129300 1129304 1129365 1129437 1129512 1129612 1129613 1129614 1129662 1129663 1129816 1129823 1129843 1129845 1129867 1129871 1129931 1129941 1130148 1130154 1130157 1130161 1130177 1130185 1130201 1130204 1130221 1130245 1130295 1130296 1130306 1130317 1130364 1130380 1130514 1130621 1130631 1130636 1130650 1130697 1130711 1130722 1130734 1130786 1130815 1130827 1130847 1130855 1130858 1130859 1130899 1130909 1130938 1131178 1131228 1131234 1131311 1131331 1131343 1131385 1131418 1131426 1131482 1131501 1131590 1131632 1131646 1131669 1131754 1131823 1131865 1131881 1131888 1132014 1132041 1132046 1132058 1132059 1132063 1132065 1132125 1132126 1132129 1132131 1132135 1132156 1132186 1132187 1132218 1132221 1132222 1132243 1132279 1132280 1132284 1132291 1132324 1132423 1132473 1132536 1132540 1132546 1132638 1132639 1132688 1132692 1132695 1132701 1132776 1132778 1132802 1132805 1132806 1132807 1132832 1132840 1132859 1132899 1132964 1132965 1132987 1133045 1133073 1133098 1133099 1133268 1133288 1133518 1133675 1133710 1133837 1133864 1133914 1133932 1133941 1133965 1133967 1133974 1133986 1133987 1133989 1133990 1133999 1134047 1134057 1134077 1134087 1134156 1134172 1134185 1134189 1134208 1134287 1134331 1134753 1134813 1134822 1134823 1134826 1134827 1134829 1134832 1134834 1134848 1134857 1134885 1134890 1134930 1135025 1135054 1135070 1135071 1135098 1135175 1140003 1140063 1140390 1140558 1141171 1141319 1145663 1145697 1145766 1145771 1145804 1145809 1145810 1145828 1145887 1145910 1145927 1145935 1145939 1145952 1146019 1146088 1146111 1146123 1146246 1146727 1153760 1153761 1153762 1153766 1153789 1153798 1153826 1153862 1153871 1153974 1154003 1154154 1154155 1154156 1154157 1161369 1161374 1163503 1163679 1164912 1164916 1165293 1165436 1165601 1165872 1165887 1166160 1166165 1166183 1166239 1166306 1166325 1166365 1166366 1166397 1166401 1166403 1166404 1166405 1166406 1166413 1166414 1166418 1166419 1166420 1166421 1166422 1166429 1166430 1166436 1166438 1168564 1168565 1168577 1168583 1168710 1168810 1168858 1168861 1170121 1170434 1170622 1170809 1170988 1171000 1171001 1171003 1171041 1171044 1171045 1171046 1171050 1171073 1171077 1171084 1171085 1171086 1171088 1171089 1171407 1171415 1171458 1176431 1176533 1176623 1176624 1176658 1176670 1176912 1176914 1176939 1176940 1176941 1176992 1177001 1177121 1177201 1177272 1177273 1177318 1177496 1177556 1177560 1177770 1177859 1178009 1178024 1178025 1178462 1178463 1178488 1178490 1178520 1178523 1178524 1178757 1178776 1178777 1178778 1186764 1186958 1239963 1241114 1241602 1241646 1241657 1241684 1241739 1241869 1241924 1241999 1242076 1242118 1242145 1242151 1242238 1242247 1242374 1242398 1242684 1242690 1242717 1242742 1242754 1242762 1242792 1242799 1242841 1242854 1242866 1242868 1242873 1242918 1242919 1243075 1243184 1243187 1243236 1243242 1243245 1243288 1243315 1243340 1243412 1243472 1243474 1243506 1244518 1244522 1244528 1244529 1244558 1244562 1244588 1244597 1244604 1244632 1244643 1244668 1244681 1244709 1244773 1244809 1244869 1244973 1245009 1245026 1245056 1245088 1245090 1245093 1245121 1245149 1245189 1245198 1245210 1245244 1245301 1245323 1245335 1245355 1245359 1245367 1245397 1245404 1245415 1245418 1245422 1245423 1245432 1245440 1245447 1245545 1245565 1245582 1245589 1245636 1245637 1245707 1245708 1245792 1245824 1245826 1245835 1245842 1245867 1245873 1245885 1245924 1246044 1246107 1246110 1246123 1246200 1246206 1246231 1246257 1246273 1246294 1246301 1246330 1246331 1246354 1246355 1246404 1246446 1246471 1246511 1246512 1246520 1246591 1246594 1246608 1246609 1246623 1246639 1246659 1246676 1246688 1246692 1246743 1246775 1246791 1246843 1246844 1246845 1246864 1246866 1246929 1246944 1246947 1246957 1246961 1246978 1246982 1246998 1247020 1247032 1247054 1247065 1247072 1247132 1247174 1247195 1247198 1247200 1247204 1247210 1247211 1247233 1247259 1247273 1247331 1247366 1247389 1247501 1247503 1247519 1247637 1247638 1247639 1247642 1247644 1247674 1247687 1247701 1247706 1247740 1247794 1247860 1247861 1247866 1247912 1247941 1247968 1247978 1247980 1247982 1248054 1248060 1248084 1248100 1248108 1248112 1248116 1248207 1248248 1248263 1248264 1248419 1248424 1248440 1248442 1248473 1248505 1248513 1248518 1248566 1248570 1248588 1248594 1248608 1248614 1248616 1248638 1248641 1248657 1248687 1248689 1248690 1248706 1248711 1248714 1248743 1248749 1248769 1248923 1248927 1248942 1248948 1248993 1249057 1249086 1249128 1249151 1249173 1249238 1249246 1249285 1249300 1249301 1249327 1249334 1249364 1249384 1249386 1249392 1249398 1249475 1249676 1249717 1249718 1249789 1249898 1249969 1250042 1250064 1250097 1250105 1250374 1250378 1250401 1250560 1250620 1250650 1250666 1250691 1250728 1250755 1250759 1250764 1250838 1251023 1251034 1251080 1251110 1251135 1251240 1251244 1251281 1251300 1251486 1251488 1251489 1251490 1251529 1251624 1251625 1251626 1251629 1251642 1251654 1251656 1251659 1251661 1251662 1251672 1251674 1251677 1251678 1251690 1251692 1251709 1251733 1251768 1251838 1251884 1251895 1251928 1251931 1251933 1251945 1251999 1252008 1252021 1252022 1252032 1252057 1252147 1252171 1252173 1252192 1252193 1252196 1252199 1252202 1252203 1252204 1252205 1252241 1252251 1252481 1252506 1252580 1252631 1252744 1252951 1252992 1252999 1253002 1253003 1253019 1253027 1253037 1253039 1253053 1253059 1253076 1253077 1253081 1253102 1253145 1253276 1253363 1253376 1253377 1253383 1253423 1253454 1253468 1253476 1253499 1253507 1253511 1253517 1253529 1253558 1253636 1253670 1253682 1253686 1253703 1253707 1253717 1253774 1253821 1253849 1253898 1253934 1253964 1253971 1254108 1254110 1254120 1254290 1254292 1254293 1254298 1256505 1256507 1256510 1256513 1256516 1256517 1256518 1256519 1256538 1258976 1260519 1260600 1260627 1260635 1261556 1261659 1261840 1261927 1261936 1261940 1261943 1261945 1262491 1262668 1262838 1262905 1262925 1262939 1262941 1262959 1262965 1262972 1262998 1263004 1263161 1263506 1263517 1269850 1270876 1270887 1270916 1270956 1271237 1271555 1272547 1273690 1274001 1276737 1276739 1276740 1276826 1276959 1276965 1277026 1289970 1298247 1298255 1298261 1298284 1298307 1298344 1298364 1298374 1298439 1298440 1298441 1298463 1298518 1298523 1298530 1298575 1298597 1298638 1305522 1305542 1305553 1305637 1305678 1305682 1305684 1305711 1305803 1305832 1305834 1305838 1305842 1305844 1305845 1305973 1306198 1306199 1306201 1306207 1306211 1306239 1306241 1306252 1306266 1306281 1306283 1306284 1306302 1306384 1306385 1306391 1306393 1306411 1306425 1306426 1306430 1306431 1306434 1306438 1306440 1306441 1306714 1306734 1306743 1314698 1318736 1319599 1319708 1319724 1319760 1320106 1321178 1321611 1321622 1321625 1321635 1321640 1321642 1321647 1321652 1321659 1321664 1321706 1321716 1321735 1321739 1321748 1321751 1321753 1322043 1327682 1327724 1329053 1329083 1329113 1330572 1331019 1331021 1331090 1331111 1331113 1331114 1331116 1331168 1331173 1331249 1331284 1331340 1331349 1331460 1331481 1331568 1342362 1363968 1364481 1364693 1364858 1366292 1366309 1366375 1366495 1366575 1366602 1366607 1366728 1366754 1366862 1366874 1366877 1366964 1367030 1367031 1367057 1367063 1367082 1367144 1367167 1367205 1367309 1367685 1367744 1367751 1367775 1367820 1367842 1367845 1367858 1367875 1368122 1368190 1368246 1368321 1368337 1368397 1368457 1368502 1368507 1368563 1368570 1368689 1368747 1368812 1368820 1368827 1368842 1368845 1368930 1369033 1369036 1369040 1369102 1369146 1369178 1369261 1369288 1369291 1369294 1369295 1369311 1369384 1369416 1370317 1370431 1370448 1370463 1370496 1370518 1370660 1370809 1370812 1370815 1370851 1370933 1371199 1371219 1371221 1371259 1374024 1374025 1374026 1374027 1374596 1374934 1375092 1375100 1375118 1375125 1377582 1377590 1377603 1377791 1377992 1378003 1378048 1378126 1378165 1378222 1378256 1378405 1378650 1378672 1379545 1380935 1381200 1381817 1381841 1381890 1382057 1382111 1382241 1382351 1382378 1382498 1382727 1382729 1382730 1382773 1382794 1382829 1382884 1382895 1382897 1382994 1383112 1383442 1383482 1383511 1383558 1383559 1383590 1383713 1383717 1383729 1383805 1383869 1383872 1383876 1383900 1383931 1384020 1384024 1384025 1384059 1384062 1384080 1384108 1384130 1384213 1384226 1384289 1384290 1384293 1384307 1384346 1384360 1384430 1384447 1384452 1384462 1443653 1443766 1443774 1509854 1509924 1512802 1517873 1518153 1533054 1533522 1533720 1541792 1562159 1562558 1572552 1572812 1576889 1576937 1576942 1576943 1576947 1576970 1577175 1577177 1577179 1577184 1577186 1577189 1577190 1577196 1577262 1577345 1577435 1577578 1577588 1577616 1577677 1577726 1577769 1577901 1577904 1578022 1578051 1578085 1578120 1578131 1578139 1578173 1578224 1578370 1578398 1578409 1578412 1578413 1581058 1581084 1584026 1588989 1588994 1589428 1589858 1591072 1591137 1594391 1595252 1601571 1613034 1613541 1613586 1614183 1614677 1615260 1615685 1616234 1616718 1617203 1617206 1617263 1617271 1617723 1618226 1618745 1618752 1618765 1619041 1619254 1619311 1620862 1620889 1621160)\n(36 205119 206163 206164 206165 242823 282495 442038 747726 870460 871675 920998 923800 933844 935101 1254372 1511689 1511758 1512120 1512129 1512233 1512576 1512584 1512594 1512596 1512598 1512804 1512812 1513838 1514623 1514731 1514955 1515163 1515165 1515258 1515673 1515680 1516014 1516248 1516335 1516799 1516852 1517135 1517335 1517494 1518333 1519052 1519054 1519392 1519425 1519544 1519748 1520113 1521738 1522412 1523987 1532757 1532983 1545923 1561954)\n(37 2938 4403 8625 8628 8629 10827 12860 21943 25568 25570 27746 28303 32578 35354 40715 43020 79380 85662 162773 221266 234703 235574 242606 282632 301908 302101 302106 302110 302111 302112 302113 302116 302173 312828 312854 314673 333458 333681 333688 333689 333691 333694 333695 333704 333705 333706 333707 333708 333709 333710 333711 333712 333713 333714 333715 333729 333730 333732 333733 333734 333750 333751 333753 333759 333761 333768 333812 333813 333814 333818 333865 333866 333868 333869 333873 333876 333884 333888 333891 333896 333901 333902 333905 333909 333910 333912 333913 333914 333915 333960 333961 333962 333963 334027 334028 334030 334031 334032 334033 334035 334037 334038 334039 334046 334047 334048 334058 334059 334060 334068 334074 345462 345465 376628 391864 392053 392769 398740 432402 432410 432413 432414 432434 432448 432449 432457 483202 521185 521186 522580 522588 522616 522617 522618 522619 522620 524869 524894 541636 541642 541646 544461 544462 544881 544883 544884 544885 544886 544887 544889 544891 544892 544896 544897 544898 544901 544906 544908 544910 544911 544912 544914 544919 544920 544921 544922 544924 544925 544926 544929 544930 544931 544932 544933 544934 544936 544938 544939 544944 544946 544948 544950 544951 544952 544955 544957 544958 544961 544969 544972 544981 544991 544993 544994 544995 544996 545000 545001 545002 545004 545005 545011 545012 545016 545017 545019 545020 545022 545042 545064 546440 546442 546443 546457 546484 553720 596295 596402 596962 596988 597162 597561 597604 597845 597945 598093 598172 598271 598308 598309 598940 599156 599157 599732 600433 600501 679429 852189 870182 870767 872150 879455 887935 919532 920672 948051 948447 949628 969675 969676 1257790 1257806 1257899 1260403 1260900 1261265 1265901 1265925 1265926 1265968 1265982 1265983 1272644 1279612 1288349 1298200 1298629 1302824 1305143 1317225 1317439 1317977 1367969 1442161 1507333 1507334 1510697 1510710 1510712 1510714 1510718 1510777 1511021 1511022 1511023 1511024 1511041 1511065 1511111 1511353 1511357 1511413 1511430 1511442 1511473 1511577 1511578 1511581 1511660 1511665 1511667 1511674 1511690 1511698 1511739 1511780 1512032 1512047 1512116 1512117 1512127 1512323 1512430 1512486 1512559 1512572 1513157 1513331 1513476 1513477 1513478 1513479 1513480 1513481 1513482 1513483 1513484 1513485 1513808 1513833 1513834 1514212 1514214 1514215 1514394 1514542 1514641 1514683 1514688 1514850 1515001 1515171 1515178 1515179 1515263 1515336 1515338 1515560 1515562 1515642 1515645 1515647 1515648 1515651 1515794 1515845 1515852 1515857 1516130 1516197 1516309 1516310 1516331 1516360 1516373 1516374 1516516 1516517 1516518 1516519 1516520 1516663 1516672 1516673 1516674 1516679 1516680 1516823 1517086 1517087 1517090 1517091 1517092 1517095 1517332 1517478 1517546 1517604 1517648 1517649 1517684 1517694 1517952 1518003 1518116 1518117 1518120 1518121 1518142 1518472 1518575 1518576 1518761 1518782 1518800 1518830 1518911 1519020 1519099 1519651 1519652 1519653 1519654 1519668 1519745 1519758 1519884 1520002 1520120 1521461 1522020 1564391)\n(38 853 895 1161 1164 1571 1616 2344 2627 2632 2777 2971 2978 2979 3296 3515 3531 3545 3647 3844 3885 3904 4286 4288 4290 4292 4293 4339 4373 4398 4700 4972 5376 5558 5560 5776 5801 5803 5824 5834 5893 5902 5933 5954 6115 6117 6153 6265 6282 6290 6293 6778 6810 7089 7185 7207 7208 7436 7438 7451 7723 7726 7767 7800 7953 8307 8310 8327 8509 8794 8795 8797 9378 9396 9417 9556 9600 10045 10114 10275 10443 10702 10707 11356 11410 11903 11904 11905 11906 11911 11914 11916 11918 11923 11930 11933 12090 12249 12605 13260 13301 13341 13516 13517 13518 13519 13520 13521 13522 13523 13524 13525 13526 13661 13798 13799 13801 13805 13816 13819 13828 13839 13853 13854 13867 14245 14873 15159 15260 15327 15559 15945 15962 16233 16234 16313 16353 16356 16566 17121 17191 17195 17200 17394 17644 17654 17728 17741 18071 18786 18793 18795 18803 19848 19853 19950 20709 20710 21061 21486 21511 21705 21819 21881 21911 22468 22533 22704 22805 22813 23011 23016 23072 24112 24119 24129 24149 24219 24290 24485 24487 24489 24671 24720 24870 24985 25065 25084 25086 25262 25364 25365 26014 26015 26168 26426 26752 26995 27029 27081 27431 27646 27853 27902 27904 28708 28792 28883 29085 29090 29161 29375 29664 29941 29966 30198 30247 30629 30646 30655 30735 30796 30987 31061 31148 31150 31209 31213 31214 31545 31580 31734 31746 31747 31750 31838 31897 32049 32221 32222 32224 32279 32283 32322 32323 32332 32362 32723 32743 32976 32977 33053 33251 33367 33903 33905 33920 34059 34107 34108 34185 34365 34564 34568 34573 34575 34577 34578 34579 34592 34604 34606 34610 34932 34934 34941 34949 35227 35622 35852 35858 36135 36313 36407 36611 36993 37029 37075 37182 37295 37296 37302 37819 37821 37828 37943 37981 38003 38138 38603 39451 39577 39756 39810 39985 39989 40017 40345 40346 40395 40398 40399 40400 40403 40404 40405 40420 40469 40518 40604 40653 40656 40706 40862 41290 41618 42070 42293 42434 42596 42792 42793 42815 42825 42835 42927 43042 43089 43161 43200 43223 43228 43229 43299 43348 43350 79104 79221 79277 79278 79304 79319 79637 79835 80076 80142 80171 80264 80265 80351 85105 85264 85532 85704 85736 85814 85839 85853 85854 85924 86142 86143 86305 86319 87028 87029 87099 87110 150264 150283 150411 150460 150496 150866 150887 161959 162397 162431 162432 162481 162502 162519 162520 162599 162650 162701 162734 162873 175676 175759 175932 176358 176531 176990 177137 177666 177721 177739 177746 177829 177831 178091 178413 178852 178862 184894 184899 184921 184922 184925 184926 184979 184980 184981 185283 186599 187970 188624 188985 189024 189025 189266 189353 189371 189381 189386 189391 189396 189418 189485 189524 189573 189586 189784 189785 189897 190482 190658 191117 191244 191368 191846 191987 192011 192152 192210 192232 192269 192308 192420 192466 192468 192655 192658 192682 192692 192700 192867 192890 192900 192917 193011 193050 193114 193156 193158 193504 193519 193606 193781 193842 194057 194073 194135 194261 194564 194595 194804 194884 194942 195060 195133 195314 195324 195343 195484 196109 196694 197128 197397 197417 198060 198373 198500 198536 198609 199171 199172 199173 199209 199213 199214 199220 199221 199222 199223 199226 199229 199236 199258 199262 199263 199415 199420 199430 199440 199508 199509 199525 199526 199551 199553 199556 199557 199559 199562 199591 199593 199596 199604 199616 199624 199637 199644 199645 199646 199659 199660 199662 199663 199664 199668 199678 199729 199747 199751 199763 199769 199850 199873 199900 199915 199972 199994 199995 200000 200005 200007 200008 200009 200044 200045 200046 200048 200068 200069 200086 200087 200101 200113 200116 200118 200119 200123 200125 200134 200140 200150 200152 200154 200156 200159 200161 200182 200189 200193 200199 200200 200204 200205 200208 200211 200292 200297 200798 200801 202529 202542 202603 202606 202610 202613 202616 202657 202659 202660 202662 202681 202691 202702 202703 202732 202744 202745 202750 202752 202757 202765 202766 202767 202784 202808 202811 202812 202820 202823 202833 202845 202847 202850 202855 202859 202868 202890 202896 202897 202909 202910 202921 202926 202930 202931 202936 202951 202952 202956 202957 202961 202962 202974 202977 202983 202984 202985 202986 202990 202991 202994 203026 203027 203031 203032 203033 203039 203042 203043 203047 203049 203051 203054 203057 203064 203065 203071 203075 203079 203081 203082 203083 203084 203085 203086 203101 203102 203103 203108 203110 203113 203114 203123 203125 203126 203131 203132 203133 203137 203139 203145 203156 203170 203184 203186 203201 203203 203204 203206 203207 203208 203209 203211 203215 203221 203224 203229 203234 203236 203240 203244 203262 203273 203281 203287 203306 203313 203316 203322 203332 203334 203337 203378 203379 203408 203417 203418 203424 203425 203464 203475 203634 203640 203642 203668 203669 203674 203677 203683 203699 203702 203713 203739 203758 203762 203769 203778 203779 203792 203793 203800 203818 203825 203835 203851 203854 203860 203874 203879 203910 203943 203969 204047 204056 204061 204077 204115 204128 204129 204137 204141 204452 204456 204457 204462 204463 204464 204469 204470 204472 204480 204649 204688 204690 204707 204709 205917 206054 206065 206077 206084 206308 206520 206521 221533 231598 231602 231604 231609 231627 231628 231636 231648 231650 231660 231662 231671 231708 231721 231723 231724 231731 231733 231734 231735 231737 231747 231751 231763 231771 231790 242384 242642 242837 242844 242845 242846 242876 242880 242882 242890 242954 242995 243032 259832 259892 259896 260028 260130 260180 260239 260247 260284 260285 262485 262490 262624 278158 278241 278245 278247 278260 278262 278327 278328 278336 278342 278371 278372 278382 280606 281588 281974 282214 282224 282457 282541 282596 282617 282618 282619 282662 282674 282675 302357 302488 337380 341807 344103 344104 344220 344439 344442 344447 344449 348048 372463 372464 372629 373142 373345 373440 374190 374248 376094 376306 376335 376369 376443 376444 376512 376529 392801 392823 394102 394441 395782 396282 396432 396448 396467 396470 396473 396814 398123 398417 398523 398524 398526 398528 399619 399620 399621 399622 399623 399625 399626 399635 399776 399805 399870 400018 400555 400705 400709 400764 401483 401485 403215 403887 404066 404293 404296 404297 404300 404301 404315 405352 405759 405895 405916 405917 405992 407698 407860 411842 411844 411854 411858 411861 411862 411872 411875 411877 411883 411893 411900 411901 411904 411910 411917 411923 411943 411954 411956 411958 411971 412036 412052 412069 412070 412071 412085 412089 412094 412096 412098 412099 412103 412106 412107 412109 412110 412112 412113 412114 412116 412118 412119 412122 412123 412124 412125 412132 412134 412137 412153 412155 412158 412159 412161 412162 412163 412171 412172 412173 412175 412179 412182 412183 412184 412187 412190 412195 412198 412204 412206 412209 412219 412220 412230 412231 412232 412233 412234 412236 412242 412243 412244 412245 412246 412247 412248 412249 412251 412254 412255 412256 412257 412258 412259 412260 412261 412263 412265 412266 412267 412270 412271 412272 412275 412276 412278 412281 412284 412285 412286 412287 412288 412289 412290 412297 412298 412300 412301 412302 412303 412306 412313 412343 412346 412350 412353 412354 412360 412367 412369 412373 412375 412380 412388 412401 412412 412414 412416 412417 412421 412425 412461 412463 412469 412472 412478 412489 412490 412491 412493 412502 412512 412513 412514 412516 412534 412564 412585 412591 412600 412611 412618 412620 412627 412628 412629 412630 412654 412661 412665 412669 412670 412672 412675 412692 412703 412721 412735 412765 412766 419338 419340 419343 419347 419349 419350 419356 419358 419360 419680 419882 420005 420008 420013 420028 420039 420046 420053 420141 420142 420187 427316 428877 429211 429271 429442 429443 429447 429449 430013 430014 430022 430023 430152 430154 430156 430161 430163 430164 430166 430167 430168 430170 430185 430447 430449 430452 430456 430460 430461 430462 430463 430464 430465 430466 430467 430469 430471 430483 430489 430490 430493 430494 430495 430497 430499 430500 430501 430506 430508 430511 430513 430515 430516 430517 430518 430519 430520 430521 430522 430523 430524 430527 430531 430532 430534 430551 430561 430562 430565 430566 430567 430568 430572 430576 430577 430578 430581 430583 430586 430594 430595 430601 430602 430609 430610 430611 430614 430615 430616 430617 430618 430619 430621 430629 430630 430633 430635 430640 430642 430644 430649 430652 430653 430655 430659 430661 430662 430667 430672 430673 430674 430678 430681 430683 430686 430687 430689 430690 430692 430694 430701 430703 430704 430705 430712 430713 430714 430715 430716 430720 430730 430732 430737 430738 430740 430741 430747 430750 430753 430765 430774 430784 430797 430799 430801 430807 430808 430809 430810 430812 430813 430814 430815 430818 430820 430821 430822 430824 430838 430843 430844 430845 430846 430847 430848 430849 430851 430852 430853 430854 430855 430858 430862 430863 430865 430872 430873 430874 430877 430878 430879 430885 430886 430888 430889 430892 430895 430898 430900 430901 430902 430903 430908 430910 430912 430924 430925 430926 430927 430928 430929 430936 430940 430943 430949 430952 430958 430959 430961 430964 430970 430972 430978 430979 430980 431001 431005 431014 431023 431026 431028 431045 431051 431053 431055 431056 431058 431061 431066 431080 432597 432598 432665 436144 436145 436179 436181 436188 436191 436533 438925 441199 441493 441494 441622 441623 441625 441626 441630 441631 441633 441693 441694 441696 441699 441700 442842 442972 442973 442974 442977 442978 442980 444100 444186 444650 444689 444698 444699 444719 444830 444895 445302 451022 451062 451111 451152 451158 451182 451306 451524 451575 451592 451593 455216 455252 455773 455796 455797 455804 455810 455973 456202 456313 456315 456665 456721 456723 456729 456730 456734 456736 456854 456899 457104 457276 457367 457458 457462 457575 457942 457944 458053 458241 459855 460043 472543 472844 472851 473278 473894 473904 473905 473906 473907 473908 473915 473917 473935 474237 474238 474239 474777 474783 474785 474789 475091 475322 475377 475380 483480 489438 489835 497093 497100 497101 497103 500274 519186 521220 521291 521299 521307 521310 521314 521316 521317 522769 522793 522796 522797 522798 523807 524310 524311 524317 524790 524791 524792 524793 524957 524966 541671 541675 542435 542499 542500 542504 542548 545426 545427 545429 545479 545502 546545 546546 546775 546776 546783 546834 549075 549161 549163 553643 553794 554063 554733 554736 554738 554740 554744 554745 554746 554748 554750 554753 554756 554761 554762 554837 555174 555189 555351 556781 557946 557948 558028 558035 558507 558524 558534 558535 558573 558579 558580 558581 558597 559199 559702 559919 559963 560563 560583 560738 561871 562236 563453 563467 563469 563665 563666 563667 563668 565118 565138 565143 565165 565170 565171 565172 565173 565179 565181 565183 565184 565185 565192 565421 567343 576452 576453 577992 577993 578443 579982 580161 580663 581165 581480 581495 581529 581530 581538 581544 581566 581576 581582 581595 581630 581647 581714 582600 582601 582638 582945 585095 585528 585632 585633 585992 586991 587736 588131 589408 596168 596217 596274 596297 596300 596350 596417 596429 596468 596473 596487 596531 596608 596653 596681 596683 596758 596820 596858 596861 596905 596926 596996 597037 597052 597122 597165 597227 597259 597266 597325 597347 597348 597349 597356 597408 597417 597425 597464 597468 597497 597511 597528 597614 597630 597688 597774 598061 598304 598451 598801 598856 598857 598947 599189 599190 599318 599324 599390 599424 599519 599520 599551 599582 599684 599712 599858 599863 599864 599865 599866 599913 600224 600351 600352 600353 600421 677045 677490 677746 678005 679543 679547 679548 679549 679550 679551 679552 679557 679562 679563 679564 679567 679569 679571 679573 679575 679576 679579 679584 679585 679587 679593 679595 679596 679599 679600 679601 679602 679603 679604 679606 683433 683440 683441 683442 683444 683445 683446 683447 683448 683450 683451 683452 683453 683454 683455 683456 683457 683459 683461 683462 686930 687745 699749 699782 699829 699833 699865 699866 700229 702149 702153 729287 729637 729707 729737 729764 729850 730031 730042 730076 730078 730087 730227 730255 740294 740403 740463 740520 740541 740666 741549 741728 741893 741988 742261 742295 742716 742919 743043 743380 743519 744312 744339 744504 744741 744844 744878 745647 745649 746851 746929 746964 747226 747384 748323 749004 749198 750294 750430 750862 751150 751962 752272 796344 796346 796351 796357 796358 796359 796368 796370 796373 796451 796693 796696 809769 809776 809778 809786 809864 809867 809871 810215 810224 813150 814250 814468 841536 841552 841553 841571 841572 841635 841663 841687 841688 842249 842292 842296 842302 842305 842310 842327 842332 842481 842482 842617 842859 842957 842958 843101 843591 843886 844266 844389 844391 844457 845889 845890 845988 845989 845998 846000 846015 846020 846023 846025 846074 846087 846094 846097 846101 846102 846108 846109 846113 846115 846137 846138 846139 846490 846574 846593 846594 846595 846596 846597 846599 846600 846601 846602 846621 846628 846629 846630 846631 846632 846636 846738 846751 846757 846763 847119 847635 848214 848285 848310 848311 848406 848432 848439 848796 849150 849151 849152 849666 849974 849994 850293 850939 850942 850947 850948 850962 850989 851027 851037 851067 851077 851173 851253 851379 851587 851702 851783 852224 852248 852602 852688 852695 852790 853055 853284 855455 855531 855534 855558 855713 855714 855766 855815 855818 855955 855959 856261 856310 856372 856444 856599 856927 857076 857287 857435 857543 857787 858323 858358 858367 858384 858386 860500 860675 860732 860824 860836 860837 860838 860840 860841 860843 860877 860888 860950 860951 860952 860956 860957 860959 861124 863157 863477 864414 864514 864519 869923 870069 870241 870266 870300 870416 870417 870468 870479 870610 870634 870638 870775 870845 870912 871060 871173 871272 871337 871380 871669 871813 872102 872143 872169 872186 872187 872227 872257 872343 877073 877240 877253 877525 877853 879554 882992 883232 883281 883370 883663 883708 886414 887831 887832 887875 887963 918037 919393 919609 919611 919612 919652 919654 919681 919772 920118 920149 920208 920367 920428 920495 920550 920570 920605 920628 920654 920688 920689 920696 920702 920722 920726 920737 920771 935589 935912 936232 940003 940005 940830 940831 940834 940836 941088 941215 947348 947984 948061 948073 948088 948151 948161 948439 948458 948501 948543 948550 948566 948706 948766 948886 948898 948899 948945 948955 949051 949592 949593 949700 994163 994536 994541 1095971 1096012 1096014 1096017 1096023 1096029 1096031 1096104 1096157 1096192 1096365 1096366 1096424 1096425 1096536 1096547 1112189 1112240 1112245 1112379 1112384 1112636 1112682 1112786 1134628 1134630 1134631 1134632 1134634 1134637 1135564 1135565 1135962 1136118 1136207 1136216 1141887 1141976 1142033 1142119 1142121 1142180 1142194 1142231 1142254 1142375 1142505 1148439 1148440 1148442 1167856 1167861 1168023 1168096 1168098 1168289 1168318 1168320 1168353 1168444 1171395 1171396 1171397 1171398 1257736 1260928 1260986 1261250 1261313 1261987 1262014 1262059 1262068 1262085 1262138 1262258 1262272 1266813 1266817 1269698 1269729 1269735 1270918 1270970 1271381 1271435 1271437 1271439 1271442 1271443 1271444 1271445 1271924 1272029 1272030 1272183 1272264 1272312 1275991 1275994 1275996 1275997 1275998 1276407 1276408 1277181 1278219 1279465 1282151 1282285 1282286 1282515 1282537 1282538 1283825 1283826 1285180 1288281 1290999 1293088 1293091 1293092 1293095 1293103 1293104 1293106 1293333 1293836 1293843 1293900 1293901 1293902 1293903 1294089 1297894 1297895 1297901 1299233 1299527 1300249 1300250 1300251 1300252 1300253 1300254 1300768 1301055 1301057 1301317 1301318 1301319 1301401 1301469 1301496 1301497 1301498 1301513 1301514 1301515 1301645 1301665 1301680 1301741 1301761 1301988 1302229 1302632 1302982 1302984 1302988 1302989 1303161 1304647 1304755 1304836 1304878 1304881 1305213 1305742 1305849 1305866 1305867 1306036 1306331 1306619 1306620 1306645 1313900 1313941 1314734 1315033 1315081 1317078 1318309 1318310 1318509 1319010 1319072 1319182 1319201 1319423 1319738 1321046 1321305 1321565 1327760 1327806 1328067 1328171 1328319 1328340 1328507 1384495 1384593 1441532 1441534 1441535 1441552 1441586 1441638 1441692 1441766 1443298 1443299 1444170 1444176 1444574 1444581 1444582 1444583 1444584 1444586 1444588 1444591 1444606 1444674 1444675 1446204 1449565 1449681 1449682 1449699 1449832 1450459 1455714 1456024 1504331 1504333 1504334 1504385 1504425 1504479 1504503 1504583 1507372 1508492 1510477 1510483 1510486 1510830 1510989 1510991 1511221 1511242 1511250 1511314 1512095 1512096 1512416 1512457 1512496 1512577 1512705 1513743 1513876 1514240 1515027 1516465 1516774 1516877 1517223 1517324 1518002 1518040 1518048 1518156 1518595 1518823 1519194 1519247 1519650 1519704 1519939 1519963 1520021 1520142 1522684 1522706 1527222 1527380 1527397 1531652 1532097 1532294 1533147 1533661 1535502 1535528 1536044 1536105 1536154 1536170 1536223 1536478 1536644 1536662 1536663 1536670 1536740 1536986 1537000 1537007 1537027 1537028 1537030 1537054 1537061 1541308 1547103 1547104 1547105 1547107 1547108 1547113 1547664 1548726 1548727 1548731 1548733 1548752 1548757 1562073 1562417 1562440 1562713 1563180 1564643 1565979 1567151 1611185 1611745 1619709 1619710)\n(39 1288 4379 4678 4795 4818 4836 5377 6080 6759 6811 8067 9487 9958 10963 12823 15259 15746 16074 16517 18041 18409 18581 19826 19828 20748 20749 21189 21272 22400 22909 23292 26606 26623 30405 32214 34511 34512 34754 34872 35028 35188 35253 35945 35953 37244 37247 37264 37393 37582 38039 38813 39003 39515 40595 40802 43095 43149 43261 78912 79650 79654 79801 80331 150593 150768 175843 175851 179243 184625 204792 221189 234856 237074 237429 242298 242487 259850 260207 311187 335326 336910 336917 336918 336923 336924 336931 336932 336936 336938 336944 336945 336949 336957 336959 336962 336963 336966 336968 336975 336976 336980 337109 376402 376403 441656 441660 441661 444661 444664 452264 517871 522721 522722 522723 522725 522726 522727 563471 564676 582190 582191 596339 680152 680155 681201 681203 681204 681383 681646 681647 681648 681649 681650 681652 681653 681654 681655 681658 681660 681662 681663 681664 681665 683585 683587 683913 683915 700219 700382 815170 840971 840972 840974 840975 868963 868977 870264 870585 871365 871498 871604 871678 871707 871770 871800 871967 1136196 1138410 1138838 1176319 1279744 1290927 1290952 1290957 1290962 1305428 1449586 1456705 1456706 1510656 1513375 1514989 1517883 1519977 1532331 1532535 1532963 1533151 1533153 1542127)\n(40 134126 179116 306095 306258 381179 471863 591454 678816 719584 770528 784376 788335 976423 982175 1169461 1272918 1337485 1337568 1337627 1445621 1580473 1580474)\n(41 744 786 809 814 817 821 822 832 880 889 1080 1125 1126 1127 1139 1144 1145 1163 1168 1169 1175 1193 1197 1202 1206 1207 1231 1247 1249 1255 1261 1263 1264 1304 1306 1309 1311 1314 1327 1342 1344 1360 1361 1363 1396 1403 1427 1486 1487 1511 1519 1529 1576 1577 1614 1621 1622 1623 1678 1727 1733 1748 1752 1768 1787 1824 1828 1849 1857 1860 1882 1883 1906 1957 2016 2018 2063 2066 2098 2103 2106 2136 2171 2173 2176 2180 2181 2182 2312 2351 2382 2390 2395 2418 2419 2438 2440 2441 2445 2452 2453 2514 2534 2631 2636 2693 2726 2735 2736 2796 2797 2831 2871 2873 2874 2875 2876 2878 2879 2880 2881 2882 2883 2884 2886 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2949 2950 2959 2963 2965 2982 2986 2992 3028 3047 3081 3090 3102 3128 3152 3164 3165 3175 3177 3178 3257 3460 3462 3466 3477 3486 3490 3493 3496 3499 3500 3502 3504 3505 3507 3509 3510 3511 3615 3706 3708 3723 3742 3834 3836 3838 3848 3850 3851 3861 3864 3868 3869 3872 3873 3874 3875 3892 3907 3949 3950 3952 3969 3972 4030 4031 4032 4045 4046 4095 4096 4099 4106 4135 4138 4153 4186 4245 4269 4277 4303 4331 4364 4402 4468 4509 4576 4606 4610 4616 4623 4626 4659 4669 4681 4690 4691 4692 4698 4712 4763 4769 4771 4775 4782 4812 4823 4842 4903 4943 4945 5122 5129 5136 5137 5138 5146 5283 5395 5398 5403 5411 5416 5424 5461 5591 5592 5681 5686 5694 5697 5716 5717 5718 5719 5721 5724 5741 5742 5743 5744 5747 5750 5779 5806 5818 5830 5859 5866 5937 5940 5941 5942 5943 5944 5956 6008 6015 6023 6035 6039 6060 6075 6091 6105 6109 6111 6112 6123 6145 6181 6234 6261 6266 6267 6271 6272 6274 6277 6285 6287 6306 6309 6389 6396 6429 6430 6444 6542 6663 6664 6666 6705 6818 6840 6845 6846 6848 6849 6852 6868 6897 6899 6902 6915 7078 7093 7177 7192 7193 7194 7196 7222 7273 7274 7282 7286 7297 7302 7350 7361 7384 7385 7397 7453 7462 7527 7570 7642 7682 7684 7688 7711 7760 7761 7766 7771 7773 7774 7775 7780 7785 7786 7787 7788 7789 7795 7813 7814 7815 7852 7856 7860 7862 7863 7867 7868 7869 7870 7871 7894 7930 7933 7944 7947 7959 7965 7969 7971 8029 8043 8049 8055 8127 8149 8153 8272 8308 8311 8312 8313 8325 8340 8350 8352 8354 8370 8372 8373 8384 8412 8439 8445 8449 8475 8476 8495 8512 8513 8521 8525 8526 8533 8582 8591 8626 8677 8679 8680 8681 8683 8684 8690 8698 8711 8712 8715 8728 8732 8733 8780 8925 8928 9021 9062 9088 9178 9186 9187 9197 9207 9215 9225 9250 9270 9319 9324 9326 9373 9374 9377 9398 9400 9421 9439 9440 9443 9447 9450 9451 9492 9592 9663 9714 9759 9763 9765 9766 9768 9769 9770 9773 9774 9777 9782 9951 9952 10034 10035 10036 10037 10043 10051 10054 10068 10072 10073 10093 10105 10153 10232 10246 10266 10269 10273 10278 10308 10314 10324 10340 10346 10356 10380 10392 10398 10403 10414 10418 10474 10481 10488 10495 10543 10666 10674 10678 10690 10691 10692 10695 10823 10930 10964 11052 11053 11119 11127 11156 11166 11168 11175 11195 11226 11263 11269 11302 11303 11311 11330 11334 11346 11351 11389 11401 11405 11406 11407 11430 11432 11436 11603 11606 11608 11609 11615 11616 11620 11630 11633 11636 11644 11757 11847 11848 11849 11854 11859 11860 11869 11871 11875 11876 11880 11881 11882 11884 11974 11981 11985 12102 12118 12147 12236 12242 12482 12517 12546 12554 12555 12556 12557 12558 12561 12569 12602 12619 12624 12628 12634 12711 12714 12715 12716 12736 12739 12754 12813 12814 12819 12922 12979 13069 13076 13080 13100 13182 13226 13238 13240 13261 13264 13288 13289 13292 13295 13298 13299 13312 13338 13363 13364 13366 13369 13370 13371 13374 13384 13386 13393 13394 13395 13405 13418 13423 13426 13447 13467 13502 13504 13505 13514 13533 13537 13568 13570 13575 13578 13591 13592 13595 13608 13691 13720 13755 13882 13884 13902 13903 13927 13928 13949 13994 14008 14009 14012 14013 14014 14038 14040 14053 14054 14055 14057 14059 14060 14061 14068 14070 14073 14074 14077 14078 14084 14100 14117 14118 14121 14122 14130 14173 14175 14177 14179 14234 14236 14306 14324 14335 14336 14342 14347 14356 14358 14364 14371 14378 14390 14434 14457 14458 14465 14473 14476 14481 14488 14493 14498 14518 14521 14527 14531 14534 14541 14544 14547 14548 14549 14550 14553 14556 14558 14571 14574 14583 14599 14647 14661 14718 14733 14736 14740 14741 14742 14743 14744 14747 14752 14761 14800 14804 14805 14818 14836 14848 14850 14852 14858 14860 14863 14866 14867 14868 14869 14877 14903 15029 15190 15230 15231 15263 15300 15302 15310 15366 15371 15397 15398 15403 15404 15405 15407 15423 15456 15458 15464 15467 15469 15499 15503 15519 15523 15526 15530 15544 15556 15624 15625 15634 15643 15645 15652 15655 15656 15674 15695 15696 15702 15704 15708 15732 15765 15773 15799 15814 15923 15929 15930 15938 15944 15951 15958 15974 16033 16034 16037 16038 16052 16053 16063 16065 16085 16089 16154 16167 16196 16385 16395 16397 16399 16412 16428 16436 16470 16510 16513 16514 16522 16627 16629 16632 16663 16667 16689 16696 16697 16719 16724 16735 16751 16756 16781 16782 16788 16807 16812 16867 16879 16952 16977 17083 17086 17105 17145 17152 17154 17155 17160 17162 17168 17178 17187 17205 17301 17327 17332 17407 17409 17411 17412 17418 17455 17495 17531 17536 17547 17551 17563 17566 17567 17572 17574 17575 17577 17589 17601 17605 17609 17612 17614 17657 17658 17661 17662 17665 17667 17668 17675 17677 17732 17758 17919 17920 17921 17922 17923 17924 17925 17926 17927 17980 18013 18018 18021 18022 18023 18024 18036 18050 18051 18054 18055 18077 18078 18079 18081 18085 18099 18121 18133 18179 18190 18196 18197 18202 18203 18204 18213 18245 18378 18414 18418 18425 18469 18476 18477 18482 18500 18522 18523 18543 18567 18572 18609 18614 18621 18775 18776 18777 18780 18784 18789 18794 18799 18801 18802 18813 18814 18816 18817 18818 18824 18835 18852 18854 18889 18929 18931 18939 18948 18949 18975 18989 18994 18995 19021 19025 19034 19045 19048 19050 19061 19064 19068 19069 19077 19087 19088 19097 19099 19100 19101 19103 19104 19112 19114 19147 19151 19154 19156 19158 19159 19163 19187 19188 19189 19191 19195 19196 19202 19212 19243 19247 19250 19255 19269 19270 19290 19291 19293 19294 19295 19297 19300 19302 19305 19306 19308 19313 19316 19326 19338 19340 19341 19342 19343 19345 19347 19348 19357 19359 19360 19364 19372 19385 19386 19388 19537 19539 19553 19555 19556 19562 19575 19618 19621 19624 19625 19640 19655 19693 19841 19880 19911 19917 19919 19937 19940 20071 20072 20074 20075 20097 20102 20179 20192 20241 20252 20255 20258 20295 20302 20305 20312 20413 20428 20433 20435 20437 20438 20441 20443 20445 20451 20455 20456 20457 20459 20473 20474 20476 20479 20480 20481 20488 20490 20492 20494 20497 20498 20499 20500 20501 20502 20503 20506 20514 20524 20532 20538 20540 20541 20542 20544 20545 20546 20550 20551 20555 20565 20575 20579 20595 20597 20599 20607 20610 20615 20617 20619 20620 20623 20624 20626 20630 20631 20635 20640 20641 20655 20676 20678 20681 20725 20732 20757 20758 20800 20807 20875 20877 20951 20981 21051 21053 21099 21100 21116 21141 21167 21171 21192 21280 21290 21296 21311 21313 21334 21342 21345 21355 21359 21364 21390 21400 21565 21645 21775 21807 21818 21824 21825 21828 21831 21832 21843 21845 21847 21862 21874 21897 21933 21981 22073 22078 22081 22104 22116 22118 22283 22333 22336 22340 22350 22353 22354 22356 22360 22361 22362 22366 22367 22373 22387 22398 22408 22415 22504 22521 22541 22568 22570 22573 22575 22576 22577 22578 22581 22582 22584 22593 22594 22595 22596 22610 22638 22656 22658 22660 22661 22667 22672 22679 22680 22681 22682 22716 22729 22735 22739 22783 22797 22802 22806 22810 22865 22876 22882 22890 22893 22904 22906 22927 22951 22958 22972 23003 23009 23048 23049 23051 23059 23066 23067 23070 23075 23076 23077 23092 23138 23195 23211 23212 23213 23219 23221 23223 23234 23240 23241 23264 23281 23283 23284 23286 23287 23288 23290 23308 23316 23321 23343 23346 23348 23351 23355 23364 23371 23374 23501 23510 23520 23521 23522 23524 23526 23529 23530 23533 23600 23643 23645 23646 23647 23648 23649 23650 23652 23760 23786 23787 23788 23794 23795 23801 23817 23860 23882 23885 23886 23890 23891 23892 23895 23896 23897 23926 23931 23938 23944 23968 23976 24025 24043 24054 24081 24106 24110 24115 24116 24117 24118 24131 24137 24138 24140 24141 24143 24145 24164 24198 24205 24214 24225 24228 24236 24248 24266 24282 24286 24291 24312 24408 24437 24439 24440 24441 24449 24454 24473 24507 24523 24530 24533 24534 24535 24536 24537 24586 24587 24588 24591 24633 24638 24689 24709 24710 24748 24759 24776 24788 24790 24796 24799 24814 24894 24895 24897 24899 24900 24901 24904 24950 24959 25007 25037 25048 25061 25064 25160 25162 25167 25183 25209 25211 25218 25221 25229 25235 25237 25239 25281 25289 25290 25292 25293 25294 25295 25297 25299 25303 25306 25309 25310 25311 25319 25322 25349 25469 25470 25472 25514 25517 25521 25530 25637 25945 26069 26103 26113 26114 26141 26143 26147 26229 26265 26266 26267 26269 26272 26363 26393 26414 26431 26470 26583 26603 26618 26633 26636 26644 26650 26654 26684 26686 26691 26697 26703 26705 26706 26707 26708 26709 26718 26755 26760 26769 26780 26846 26847 26848 26850 26851 26857 26884 26896 26916 26918 26919 26936 26946 26975 26976 26996 27013 27030 27031 27032 27033 27034 27035 27051 27059 27060 27073 27092 27121 27122 27123 27126 27127 27134 27145 27152 27269 27333 27339 27344 27345 27404 27436 27438 27441 27528 27537 27538 27547 27583 27609 27613 27670 27697 27706 27707 27709 27719 27720 27721 27726 27743 27765 27773 27813 27822 27849 27868 27873 27877 27881 27888 27889 27927 27947 27949 27983 28064 28077 28242 28250 28258 28271 28283 28309 28425 28432 28705 28709 28734 28738 28754 28756 28796 28797 28817 28840 28841 28848 28849 28850 28856 28860 28866 28879 28887 28960 28963 28968 28975 28992 29001 29002 29051 29076 29077 29089 29106 29118 29119 29124 29125 29128 29132 29134 29172 29182 29291 29294 29307 29342 29376 29400 29401 29405 29408 29410 29411 29412 29420 29421 29422 29427 29429 29434 29436 29437 29438 29442 29443 29453 29454 29455 29456 29458 29459 29461 29464 29471 29531 29574 29713 29877 29878 29882 29883 29888 29895 29896 29899 29927 29928 29931 30044 30100 30105 30167 30246 30270 30283 30286 30290 30293 30299 30305 30312 30326 30327 30328 30330 30331 30332 30343 30353 30360 30364 30372 30389 30409 30424 30436 30437 30442 30443 30446 30455 30463 30467 30469 30481 30483 30486 30489 30491 30499 30500 30508 30517 30524 30528 30567 30568 30569 30578 30579 30583 30584 30590 30591 30593 30612 30636 30756 30757 30758 30759 30779 30781 30783 30785 30790 30804 30805 30807 30809 30846 30848 30920 30925 31019 31022 31024 31028 31029 31030 31034 31036 31037 31039 31046 31048 31049 31051 31052 31053 31055 31065 31069 31085 31087 31090 31099 31106 31111 31117 31121 31128 31129 31142 31144 31154 31157 31159 31190 31256 31269 31306 31315 31345 31350 31351 31485 31538 31542 31556 31707 31736 31762 31763 31766 31880 31887 31898 31900 31903 31946 32001 32002 32024 32026 32027 32044 32045 32046 32051 32059 32064 32080 32109 32197 32226 32231 32238 32241 32243 32249 32266 32268 32269 32273 32285 32290 32291 32298 32300 32301 32302 32305 32306 32307 32308 32310 32319 32320 32326 32339 32342 32357 32371 32372 32453 32460 32461 32519 32533 32541 32568 32586 32587 32633 32650 32691 32708 32749 32763 32768 32775 32805 32807 32808 32827 32851 32858 32870 32914 32915 32962 32965 32969 32984 32987 32991 32993 32994 33036 33046 33075 33103 33117 33129 33132 33139 33141 33246 33247 33252 33270 33300 33377 33575 33579 33581 33587 33626 33680 33687 33700 33735 33740 33741 33771 33772 33788 33790 33800 33802 33805 33806 33817 33835 33838 33839 33845 33847 33860 33893 34012 34013 34040 34041 34049 34050 34063 34065 34067 34068 34069 34072 34074 34084 34087 34088 34091 34100 34103 34124 34150 34151 34152 34155 34183 34184 34186 34188 34212 34216 34219 34220 34223 34341 34345 34359 34362 34372 34494 34535 34543 34544 34637 34686 34734 34735 34882 34888 34902 34931 34951 34960 35012 35021 35022 35066 35067 35078 35085 35086 35091 35112 35127 35204 35220 35222 35235 35238 35242 35243 35258 35281 35302 35304 35305 35309 35312 35319 35321 35326 35328 35333 35334 35344 35352 35369 35372 35400 35404 35415 35435 35436 35439 35440 35455 35457 35459 35460 35466 35468 35469 35528 35579 35585 35592 35597 35613 35619 35637 35690 35793 35801 35828 35851 35854 35865 35869 35920 35921 36069 36091 36093 36114 36117 36130 36133 36161 36202 36203 36204 36205 36206 36207 36231 36262 36265 36271 36283 36285 36305 36310 36323 36329 36330 36332 36334 36412 36413 36416 36420 36421 36454 36457 36467 36472 36474 36489 36494 36502 36508 36529 36659 36685 36686 36688 36689 36690 36830 36850 36868 36875 36877 36916 36917 36918 36946 36969 36981 36992 36996 37018 37019 37023 37033 37050 37052 37054 37061 37072 37074 37116 37118 37120 37140 37158 37169 37176 37188 37198 37199 37205 37231 37268 37274 37275 37277 37278 37280 37299 37315 37317 37341 37354 37357 37672 37753 37768 37769 37772 37773 37822 37856 37859 37886 37887 37889 37899 37921 37926 37928 37933 37942 37944 37952 37974 37997 37998 38012 38013 38015 38016 38018 38019 38034 38041 38054 38131 38157 38159 38160 38165 38166 38218 38220 38235 38238 38259 38325 38353 38354 38357 38358 38362 38363 38364 38366 38368 38379 38395 38437 38454 38457 38459 38463 38505 38522 38525 38529 38531 38539 38557 38565 38604 38644 38732 38757 38826 38828 38833 38834 38868 38870 38981 38986 38994 39006 39007 39010 39023 39082 39090 39103 39106 39127 39128 39130 39131 39132 39133 39135 39136 39137 39144 39223 39232 39234 39235 39236 39239 39240 39254 39263 39292 39319 39338 39373 39445 39446 39483 39494 39496 39503 39516 39520 39584 39585 39613 39614 39621 39726 39730 39753 39841 39977 39978 39984 40015 40021 40028 40034 40046 40063 40115 40124 40127 40128 40147 40149 40150 40156 40188 40196 40197 40198 40199 40213 40247 40249 40250 40252 40254 40255 40259 40261 40262 40361 40381 40409 40412 40414 40425 40433 40435 40436 40438 40451 40456 40479 40522 40524 40553 40558 40559 40560 40561 40579 40580 40583 40584 40586 40592 40820 40830 40843 40860 40896 40921 40923 40928 40930 40938 40947 40948 40954 40961 40962 40963 40997 41105 41107 41170 41188 41227 41228 41230 41232 41233 41234 41274 41295 41296 41306 41307 41308 41309 41311 41312 41313 41315 41316 41317 41318 41321 41322 41323 41324 41325 41326 41327 41328 41330 41331 41332 41333 41343 41349 41351 41364 41408 41466 41471 41472 41473 41593 41635 41648 41782 41909 41912 41915 41948 41952 41954 41956 41959 41960 41969 41972 41976 42021 42024 42025 42029 42035 42063 42075 42109 42111 42131 42136 42139 42143 42161 42164 42165 42166 42167 42170 42171 42174 42214 42215 42217 42251 42253 42267 42331 42341 42344 42345 42373 42376 42384 42385 42386 42392 42420 42470 42485 42510 42512 42548 42552 42560 42568 42580 42584 42588 42594 42636 42656 42708 42721 42740 42749 42769 42781 42783 42790 42842 42847 42850 42870 42875 42880 42900 42902 42904 42907 42928 42940 42951 42961 42974 42994 42996 42998 43008 43019 43037 43046 43049 43068 43092 43102 43116 43117 43119 43121 43124 43152 43153 43154 43167 43194 43195 43202 43207 43208 43322 43325 43345 43349 43352 43379 43388 43395 43397 43398 43407 43410 43459 43515 43528 43541 78888 78911 79035 79102 79136 79153 79173 79293 79294 79295 79297 79298 79299 79301 79335 79474 79485 79487 79504 79583 79584 79588 79680 79683 79840 79924 79982 80024 80032 80040 80107 80151 80159 80233 80276 80323 80333 85074 85077 85078 85082 85083 85084 85096 85106 85110 85119 85129 85131 85132 85160 85166 85179 85207 85209 85215 85220 85222 85232 85253 85269 85270 85273 85278 85292 85293 85306 85311 85313 85315 85388 85394 85395 85397 85399 85404 85407 85409 85411 85412 85413 85417 85423 85426 85434 85435 85436 85437 85438 85511 85541 85543 85547 85548 85568 85569 85576 85577 85578 85579 85580 85581 85582 85583 85584 85599 85614 85615 85623 85642 85650 85652 85653 85655 85656 85657 85658 85659 85661 85663 85677 85679 85680 85681 85684 85690 85692 85693 85694 85695 85696 85697 85699 85700 85740 85758 85784 85786 85808 85810 85819 85859 85860 85916 85920 85931 85932 85933 86066 86110 86196 86227 86236 86237 86238 86240 86241 86367 86370 86405 86431 86432 86438 86445 86457 86523 86540 86541 86543 86544 86546 86588 86626 86647 86648 86649 86650 86651 86652 86666 86743 86754 86768 86774 86789 86795 86815 86873 86922 86957 86973 86981 87012 87031 87073 87086 149505 149506 149507 149510 149512 149513 149514 149516 149517 149518 149519 149520 149521 149523 149524 149525 149526 149529 149530 149613 149622 149630 149631 149642 149645 149649 149650 149652 149668 149676 149678 149682 149700 149704 149711 149725 149739 149745 149756 149766 149778 149781 149797 149801 149810 149819 149821 149824 149836 149841 149842 149846 149848 149853 149856 149858 149861 149865 149866 149869 149870 149871 149875 149876 149877 149880 149881 149882 149886 149887 149893 149896 149904 149908 149909 149911 149914 149922 149924 149928 149931 149935 149937 149939 149940 149942 149946 149947 149948 149958 149959 149960 149966 149967 149971 149974 149975 149976 149980 149983 149985 149987 149991 149993 149995 149998 150001 150005 150042 150055 150988 151217 151219 151220 151236 151267 151281 151293 151295 151311 151313 151317 151327 151328 151332 151434 151435 151436 151445 151448 151449 151450 151463 151464 151465 151467 151482 151491 151507 151510 151514 151516 151565 151582 151594 151620 151622 151623 151624 151626 151650 151653 151659 151664 151689 151693 151714 151721 151731 151738 151740 151744 151747 151759 151773 151785 151788 151790 151793 151797 151798 151814 151815 151817 151824 151844 151847 151859 151862 151864 151867 151874 151882 151923 151924 151936 151940 151945 151947 151950 151964 151966 151970 151971 151974 151976 151977 152002 152008 152010 152020 152021 152023 152025 152026 152027 152061 152062 152063 152064 152066 152067 152068 152069 152070 152071 152072 152073 152074 152077 152078 152079 152081 152083 152084 152085 152087 152088 152089 152090 152091 152092 152093 152094 152095 152096 152097 152098 152099 152101 152102 152105 152107 152108 152109 152110 152112 152113 152115 152121 152128 152131 152132 152134 152135 152136 152137 152138 152155 152159 152163 152164 152166 152167 152170 152171 152176 152177 152179 152180 152181 152189 152190 152192 152193 152194 152196 152198 152200 152202 152203 152204 152205 152206 152207 152208 152209 152210 152216 152217 152218 152221 152222 152223 152224 152227 152230 152238 152239 152243 152244 152246 152249 152250 152251 152252 152253 152255 152256 152257 152258 152259 152262 152263 152264 152419 152439 152440 152442 152443 152445 152446 152450 152451 152452 152455 152456 152458 152460 152486 152487 152488 152489 152490 152491 152499 152500 152501 152502 152503 152522 152524 152545 152552 152573 152586 152600 152627 152661 152793 152814 152861 152889 152902 152915 152936 152937 152938 152941 152944 152945 152946 152952 152954 152957 152959 152960 152961 152964 152965 152966 152967 152972 152973 152998 153017 153024 153027 153038 153039 153042 153045 153048 153049 153062 153064 153065 153066 153071 153091 153092 153093 153094 153104 153106 153112 153113 153117 153121 153122 153131 153132 153139 153140 153149 153158 153165 153166 153167 153168 153171 153172 153177 153185 153188 153203 153210 153214 153216 153225 153226 153227 153232 153240 153246 153249 153251 153252 153254 153255 153256 153257 153259 153261 153277 153279 153285 153286 153303 153308 153314 153315 153326 154141 154143 154157 154159 154162 154199 154206 154208 154209 154215 154222 154229 154251 154254 154271 154286 154287 154290 154298 154301 154304 154307 154326 154562 154639 154640 154648 154651 154652 154653 154660 154671 154676 154681 154682 154685 154703 154723 154728 154731 154733 154735 154737 154738 154743 154744 154746 154751 154762 154769 154773 154774 154775 154778 154817 154819 154820 154823 154830 154832 154833 154834 154835 154839 154840 154841 154853 154856 154858 154860 154863 154870 154874 154879 154884 154893 154902 154903 154904 154905 154910 154911 154916 154919 154924 154933 154934 154943 154945 154946 154947 154968 155000 155010 155015 155016 155017 155018 155019 155067 155069 155070 155071 155072 155077 155078 155080 155090 155091 155094 155095 155106 155109 155110 155111 155118 155119 155120 155135 155143 155144 155147 155150 155157 155158 155161 155162 155163 155165 155169 155173 155174 155177 155188 155189 155190 155191 155193 155194 155195 155196 155197 155199 155210 155223 155224 155237 155238 155240 155241 155251 155256 155257 155258 155259 155261 155262 155264 155265 155270 155271 155285 155287 155291 155292 155295 155300 155301 155302 155303 155305 155307 155320 155338 155339 155352 155353 155354 155355 155356 155357 155359 155360 155361 155362 155366 155380 155388 155389 155393 155395 155411 155415 155421 155428 155434 155440 155447 155449 155450 155460 155461 155478 155490 155492 155496 155501 155502 155503 155504 155505 155506 155507 155508 155509 155512 155514 155547 155550 155552 155555 155556 155557 155563 155567 155568 155582 155583 155601 155616 155617 155618 155620 155624 155626 155671 155672 155679 155681 155685 155686 155689 155690 155691 155700 155702 155707 155730 155733 155734 155738 155760 155761 155765 155773 155778 155781 155784 155789 155795 155800 155804 155805 155806 155807 155811 155814 155822 155825 155826 155827 155833 155836 155837 155840 155842 155843 155860 155862 155866 155867 155870 155872 155874 155877 155880 155889 155891 155907 155909 155912 155918 155930 155937 155943 155952 155954 155963 155964 156076 156087 156104 156128 156133 156146 156147 156149 156156 156160 156178 156183 156192 156195 156218 156221 156254 156259 156264 156270 156273 156275 156279 156284 156286 156290 156291 156296 156300 156307 156312 156318 156327 156328 156372 156393 156409 156673 156678 156798 156810 156841 156847 157143 157223 157357 157378 157450 157461 157705 157706 157721 157738 157741 157743 157749 157917 157918 157997 158026 158073 158090 158100 158140 158168 158242 158248 158252 158266 158274 158281 158288 158300 158303 158304 158313 158315 158317 158322 158329 158353 158360 158362 158447 158473 158503 158505 158544 158551 158599 158617 158619 158623 158651 158674 158683 158761 158935 158940 158944 158951 158962 158981 158982 158983 158991 158995 158996 158997 159011 159020 161832 162003 162011 162280 162281 162283 162291 162293 162296 162299 162301 162309 162311 162316 162323 162359 162361 162375 162423 162429 162442 162451 162473 162482 162504 162510 162526 162529 162530 162531 162532 162533 162534 162538 162539 162549 162550 162557 162565 162566 162568 162569 162576 162627 162628 162635 162644 162651 162666 162668 162670 162671 162672 162674 162699 162700 162739 162809 162817 162818 162819 162820 162823 162824 162830 162835 162836 162838 162839 162848 162849 162851 162852 162853 162855 162869 162870 162871 162872 175683 175691 175692 175694 175695 175696 175697 175699 175700 175701 175702 175703 175704 175707 175708 175709 175713 175743 175756 175778 175816 175872 175948 175969 175999 178238 178264 178272 178273 178282 178416 178468 178540 178650 178664 178668 178703 178769 178829 178879 184554 205671 205700 205710 205711 205713 205721 205730 205734 205740 205760 205765 205792 205858 205882 205930 205947 206019 206042 206044 206051 206061 206062 206064 206067 206081 206083 206085 206114 206115 206138 206139 206141 206143 206145 206146 206151 206157 206171 206172 206178 206242 206245 206246 206247 206260 206307 206368 206369 206525 206526 206586 206602 206603 206604 206607 206608 206609 206611 206614 206615 206617 206744 206750 206752 220655 220658 220659 220669 220682 220683 220687 220689 220690 220693 220697 220700 220701 220702 220704 220708 220710 220711 220714 220715 220723 220724 220726 220730 220743 220744 220748 220754 220756 220764 220767 220769 220776 220811 220977 220979 220983 220987 220988 220989 220991 220992 220993 220996 220998 221002 221004 221005 221007 221009 221010 221011 221013 221014 221016 221018 221019 221020 221021 221022 221023 221025 221026 221027 221028 221030 221032 221033 221036 221037 221040 221041 221042 221043 221045 221046 221047 221048 221049 221052 221053 221054 221055 221057 221058 221059 221060 221061 221065 221069 221079 221106 221123 221152 221155 221158 221163 221165 221168 221182 221207 221215 221218 221219 221222 221223 221227 221228 221230 221233 221236 221237 221238 221239 221243 221244 221248 221252 221253 221258 221259 221260 221262 221263 221264 221268 221269 221271 221276 221289 221338 221340 221347 221348 221355 221356 221357 221364 221367 221370 221375 221376 221377 221380 221382 221383 221384 221385 221386 221388 221390 221391 221395 221397 221405 221406 221409 221436 221468 221479 221503 221505 221541 221542 221568 221714 221729 221757 221759 221760 221761 221763 221773 221775 221777 221928 227791 229100 231209 231308 231311 231341 231413 231567 231643 231644 231657 231679 231767 231926 232056 232057 232058 232059 232061 232062 232063 232066 232067 232190 232191 232197 232266 232482 232490 232511 232705 232709 232710 232711 232808 232826 232865 232867 232871 232872 232874 232876 232881 232882 232883 232884 232885 232888 232891 232924 232939 232940 232942 232963 232972 232980 233084 233122 233213 233777 233949 234119 234134 234136 234143 234221 234240 234247 234285 234387 234392 234398 234434 234435 234437 234483 234497 234507 234517 234527 234533 234534 234535 234538 234539 234541 234545 234549 234558 234566 234645 234646 234649 234650 234651 234652 234752 234756 234786 234894 234906 234934 234935 234958 234959 234962 234974 234978 235024 235025 235026 235074 235095 235158 235222 235238 235257 235259 235269 235270 235272 235280 235325 235326 235327 235328 235329 235347 235351 235369 235382 235394 235410 235419 235430 235436 235446 235453 235454 235462 235488 235522 235525 235527 235530 235558 235560 235568 235573 235575 235583 235585 235587 235590 235591 235593 235604 235616 235618 235640 235660 235683 235699 235704 235812 235815 235820 235836 235840 235841 235842 235847 235861 235862 235863 235880 235882 235884 235885 235887 235889 235896 235910 235927 235937 235946 235947 235950 235952 235963 235989 236026 236036 236038 236039 236041 236048 236073 236099 236100 236103 236127 236169 236178 236642 236663 236792 236811 236830 236832 236835 236845 237010 237022 237048 237059 237060 237061 237938 237961 237962 237967 237975 237979 237983 237984 237987 237988 237990 237997 238002 238005 238010 238011 238013 238014 238015 238027 238032 238036 238045 238049 238051 238052 238056 238057 238061 238062 238065 238067 238074 238075 238077 238096 238097 238098 238099 238101 238103 238104 238106 238109 238110 238111 238112 238113 238115 238117 238119 238120 238124 238126 238132 238133 238143 238147 238148 238157 238158 238159 238162 238163 238170 238174 238175 238178 238183 238184 238185 238190 238197 238212 238232 238234 238235 238239 238260 238261 238265 238266 238270 238281 238284 238286 238288 238293 238294 238295 238298 238304 238305 238306 238307 238308 238309 238316 238321 238327 238329 238330 238332 238333 238334 238339 238340 238344 238349 238351 238356 238357 238358 238361 238367 238371 238375 238376 238377 238378 238381 238382 238383 238391 238392 238394 238395 238399 238402 238404 238405 238411 238412 238414 238415 238418 238419 238421 238425 238434 238443 238446 238453 238454 238460 238465 238469 238472 238478 238486 238488 238489 238502 238507 238523 238526 238528 238590 238621 238644 238650 238669 238738 238790 238792 238806 238814 238902 238965 238990 239005 239055 239075 239087 239105 239161 239211 239295 239495 239636 239740 239816 239849 239942 239946 239950 239951 240035 240066 240143 240182 240225 240318 240344 240434 240513 240595 240690 240698 240708 240752 240756 240811 240820 240848 240881 240903 240953 241062 241069 241075 241195 241262 241266 241433 241473 241518 241593 241616 241635 241653 241771 241775 241776 241778 241784 241787 241788 241792 241802 241807 241812 241822 241826 241828 241831 241832 241838 241856 241861 241868 241870 241872 241875 241876 241877 241880 241894 241896 241899 241901 241903 241908 241910 241911 241913 241925 241932 241935 241939 241944 241950 241953 241954 241956 241960 241969 241975 241982 241983 241984 241991 241992 241994 241996 241997 242006 242007 242009 242010 242012 242013 242015 242016 242019 242023 242024 242031 242032 242034 242037 242048 242049 242053 242054 242063 242073 242074 242076 242078 242079 242080 242083 242084 242095 242098 242103 242107 242112 242126 242127 242128 242129 242136 242137 242147 242157 242165 242172 242183 242217 242225 242231 242287 242292 242301 242337 242338 242339 242341 242342 242343 242350 242354 242362 242380 242381 242383 242407 242420 242422 242426 242459 242461 242473 242490 242491 242497 242513 242514 242520 242526 242528 242551 242552 242560 242567 242583 242584 242597 242604 242634 242644 242645 242666 242669 242670 242676 242700 242723 242770 242785 242786 242852 242875 242966 242992 242993 242994 242997 242998 242999 243000 243001 243010 243025 243026 243050 243057 259737 259741 259743 259744 259745 259749 259758 259759 259765 259773 259777 259778 259779 259799 259808 259810 259817 259974 259996 260134 260224 260235 260304 260662 262378 262379 262380 262382 262385 262393 262394 262395 262398 262399 262400 262403 262404 262405 262407 262421 262424 262426 262428 262448 262469 262494 262495 262509 262510 262520 262521 262525 262534 262535 262548 262555 262564 262565 262568 262576 262585 262591 262595 262598 262605 262633 262638 262655 262657 262660 262663 262932 262935 262937 262941 262942 262972 262974 262975 262980 262981 262984 262985 262986 262988 262994 262995 262997 262999 263003 263006 263011 263012 263016 263095 263097 263109 263115 263118 263132 263174 263210 263211 263212 263214 263216 263217 263219 263221 263222 263224 263229 263232 263233 263236 263237 263238 263239 263240 263261 263291 263296 263312 263313 263314 263315 263316 263322 263323 263324 263325 263333 263334 263335 263336 263338 263347 263351 263352 263353 263356 263357 263359 263361 263365 263367 263368 263369 263370 263371 263372 263373 263374 263376 263381 263383 263385 263387 263389 263390 263393 263394 263396 263398 263400 263401 263402 263403 263409 263411 263414 263416 263417 263419 263420 263421 263424 263428 263429 263430 263432 263435 263437 263440 263442 263443 263444 263445 263449 263450 263452 263454 263456 263457 263459 263460 263462 263465 263468 263470 263471 263472 263473 263475 263477 263478 263479 263481 263482 263485 263486 263487 263488 263489 263490 263491 263492 263493 263495 263497 263498 263499 263500 263502 263503 263504 263505 263506 263508 263509 263510 263514 263517 263518 263519 263520 263523 263527 263529 263530 263535 263536 263537 263539 263541 263544 263545 263546 263548 263549 263550 263552 263555 263556 263557 263572 263574 263575 263577 263578 263580 263581 263583 263586 263589 263591 263593 263599 263606 263607 263610 263614 263625 263626 263627 263628 263637 263638 263639 263642 263653 263654 263661 263662 263663 263664 263666 263667 263673 263674 263675 263677 263678 263679 263680 263691 263699 263700 263704 263706 263725 263733 263739 263746 263775 263776 263778 263779 263780 263802 263843 263853 263854 263856 263859 263874 263880 263884 263885 263886 263888 263893 263894 263896 263898 263907 263908 263912 263913 263914 263916 263926 263927 263928 263929 263930 263931 263936 263940 263942 263943 263945 263946 263949 263955 263956 263957 263962 263976 263977 263978 263979 263991 263992 263994 263995 263997 264003 264005 264007 264008 264009 264010 264047 264053 264054 264072 264073 264074 264075 264076 264077 264078 264080 264081 264082 264088 264092 264093 264095 264096 264097 264099 264100 264103 264110 264114 264122 264123 264125 264127 264128 264130 264141 264142 264162 264175 264178 264180 264181 264182 264183 264184 264191 264194 264198 264201 264202 264219 264221 264222 264224 264227 264230 264233 264235 264261 264263 264264 264265 264266 264267 264268 264269 264270 264271 264285 264286 264287 264289 264291 264294 264296 264298 264299 264300 264305 264306 264307 264308 264312 264314 264315 264318 264319 264321 264322 264323 264324 264326 264327 264336 264342 264343 264346 264348 264349 264350 264351 264352 264353 264354 264355 264356 264357 264358 264360 264361 264362 264363 264364 264366 264371 264372 264376 264377 264378 264379 264380 264381 264383 264384 264385 264386 264393 264394 264395 264398 264399 264402 264404 264408 264411 264413 264415 264420 264421 264422 264423 264425 264426 264432 264433 264434 264435 264436 264438 264439 264444 264454 264456 264458 264471 264473 264478 264480 264487 264488 264490 264491 264492 264494 264495 264496 264497 264498 264499 264501 264502 264510 264511 264515 264516 264517 264518 264519 264520 264522 264523 264525 264538 264539 264540 264541 264542 264543 264545 264550 264551 264552 264553 264554 264555 264556 264557 264558 264559 264564 264566 264571 264573 264583 264584 264585 264586 264589 264593 264597 264600 264607 264611 264614 264618 264622 264627 264632 264637 264638 264639 264641 264646 264648 264649 264652 264653 264656 264657 264659 264663 264666 264676 264677 264678 264680 264683 264684 264686 264688 264689 264690 264692 264693 264694 264695 264699 264700 264704 264705 264706 264708 264710 264714 264715 264716 264717 264719 264721 264722 264724 264725 264726 264727 264728 264729 264732 264733 264734 264736 264737 264740 264741 264742 264745 264746 264747 264748 264749 264751 264753 264757 264758 264763 264764 264765 264766 264769 264776 264777 264787 264789 264792 264793 264795 264802 264807 264809 264831 264833 264834 264851 264852 264856 264863 264864 264865 264866 264867 264869 264870 264878 264879 264880 264886 264890 264891 264893 264896 264899 264902 264903 264907 264909 264916 264928 264929 264931 264934 264935 264936 264937 264939 264941 264942 264946 264949 264951 264953 264954 264969 264978 264980 264982 264983 264987 264988 264990 264992 264993 265000 265001 265008 265010 265012 265017 265019 265025 265026 265029 265031 265032 265034 265036 265037 265040 265042 265051 265053 265059 265066 265070 265072 265074 265080 265090 265097 265099 265103 265105 265106 265110 265111 265113 265114 265115 265118 265122 265123 265124 265126 265132 265133 265135 265136 265138 265140 265141 265142 265143 265144 265145 265146 265147 265148 265149 265150 265152 265161 265166 265178 265179 265182 265187 265191 265194 265202 265205 265207 265210 265213 265214 265216 265217 265218 265219 265220 265222 265223 265224 265226 265232 265233 265234 265237 265238 265239 265240 265242 265246 265248 265249 265251 265252 265255 265257 265260 265263 265264 265265 265267 265268 265269 265276 265278 265279 265282 265283 265284 265286 265288 265289 265290 265291 265292 265293 265294 265295 265301 265306 265307 265308 265313 265315 265318 265321 265325 265328 265329 265331 265333 265334 265335 265336 265338 265339 265341 265342 265343 265344 265345 265349 265352 265354 265355 265357 265362 265363 265367 265369 265372 265373 265374 265382 265384 265385 265388 265415 265421 265427 265428 265431 265438 265449 265451 265475 265482 265487 265490 265492 265493 265496 265497 265498 265499 265513 265514 265541 265561 265563 265593 265611 265635 265652 265654 265669 265671 265672 265679 265701 265706 265725 265730 265797 265800 265807 265808 265840 265849 265856 265858 265865 265873 265876 265903 265913 265915 265917 265953 265961 265963 265964 265965 265966 265971 266004 266006 266012 266025 266027 266034 266035 266037 266039 266049 266050 266054 266063 266066 266075 266076 266077 266078 266099 266102 266103 266104 266105 266152 266159 266186 266190 266198 266200 266208 266220 266221 266236 266255 266263 266279 266296 266327 266332 266335 266347 266364 266370 266427 266460 266463 266481 266483 266484 266487 266510 266521 266525 266526 266539 266548 266565 266566 266619 266624 266644 266652 266693 266704 266740 266765 266766 266770 266773 266778 266789 266791 266807 266816 266818 266831 266833 266834 266835 266839 266840 266846 266848 266853 266858 266860 266862 266865 266866 266877 266883 266893 266894 266896 266898 266901 266913 266916 266918 266919 266924 266928 266929 266939 266942 266944 266968 266970 266971 266978 266979 266980 266981 266984 266989 266990 266998 266999 267000 267001 267003 267008 267013 267014 267015 267017 267025 267026 267033 267034 267036 267038 267045 267048 267054 267055 267057 267058 267059 267062 267063 267066 267071 267072 267073 267075 267079 267080 267081 267088 267093 267094 267099 267106 267107 267108 267111 267112 267113 267116 267145 267146 267147 267149 267150 267152 267154 267155 267156 267158 267159 267160 267163 267167 267168 267171 267174 267175 267176 267179 267180 267181 267183 267191 267192 267193 267194 267195 267196 267200 267201 267203 267205 267209 267211 267213 267214 267215 267216 267219 267220 267221 267222 267224 267225 267226 267228 267230 267231 267236 267237 267238 267239 267240 267241 267245 267252 267257 267259 267260 267272 267354 267355 267356 267359 267360 267361 267372 267375 267379 267380 267382 267387 267388 267390 267394 267395 267396 267398 267399 267400 267402 267405 267406 267407 267409 267412 267413 267418 267419 267422 267423 267430 267432 267436 267437 267438 267440 267441 267445 267446 267448 267449 267450 267452 267453 267454 267455 267458 267464 267466 267467 267468 267470 267471 267482 267483 267484 267485 267486 267489 267491 267493 267495 267496 267497 267498 267508 267509 267511 267515 267517 267522 267529 267531 267532 267533 267535 267537 267538 267539 267540 267541 267547 267548 267549 267550 267553 267554 267555 267556 267557 267562 267566 267569 267570 267571 267572 267574 267576 267601 267602 267603 267604 267605 267606 267608 267611 267612 267613 267614 267615 267616 267617 267618 267619 267621 267623 267625 267638 267639 267642 267644 267648 267652 267656 267661 267662 267663 267665 267672 267681 267709 267717 267725 267732 267733 267741 267747 267748 267750 267751 267752 267753 267756 267757 267759 267760 267761 267762 267763 267765 267768 267770 267771 267772 267773 267774 267776 267777 267782 267783 267786 267787 267788 267789 267793 267794 267795 267797 267800 267801 267802 267803 267804 267805 267807 267808 267809 267812 267813 267815 267816 267818 267820 267821 267823 267825 267827 267828 267830 267831 267832 267834 267838 267839 267841 267842 267843 267844 267845 267846 267847 267849 267852 267863 267868 267874 267875 267878 267880 267892 267896 267899 267917 267918 267919 267920 267921 267922 267924 267925 267926 267928 267937 267938 267939 267940 267941 267943 267945 267946 267947 267948 267951 267952 267953 267954 267955 267956 267963 267964 267965 267966 267971 267977 267985 267988 267989 267990 267992 267993 268004 268005 268006 268007 268009 268011 268012 268013 268015 268016 268021 268022 268023 268028 268029 268031 268032 268039 268040 268046 268047 268048 268049 268051 268052 268053 268054 268059 268060 268061 268062 268063 268064 268065 268066 268067 268068 268070 268072 268074 268075 268077 268079 268081 268086 268087 268088 268090 268093 268095 268097 268098 268099 268100 268102 268107 268108 268109 268113 268115 268117 268118 268119 268120 268121 268123 268124 268125 268126 268128 268130 268132 268134 268136 268137 268138 268139 268140 268141 268146 268147 268149 268150 268151 268155 268157 268159 268160 268162 268164 268165 268167 268170 268178 268179 268180 268181 268183 268186 268187 268188 268193 268197 268199 268202 268203 268205 268206 268219 268220 268221 268222 268225 268226 268228 268232 268233 268237 268238 268239 268240 268242 268243 268247 268250 268251 268252 268255 268262 268263 268271 268272 268273 268274 268275 268276 268278 268279 268280 268281 268285 268287 268290 268292 268293 268296 268297 268301 268306 268307 268311 268312 268314 268318 268319 268321 268323 268325 268327 268328 268329 268335 268336 268337 268338 268341 268342 268345 268347 268350 268351 268356 268358 268360 268362 268363 268366 268374 268375 268379 268380 268381 268382 268384 268389 268390 268392 268393 268394 268396 268397 268398 268400 268402 268405 268406 268407 268410 268412 268413 268416 268418 268419 268422 268423 268424 268425 268434 268435 268436 268437 268443 268444 268445 268446 268448 268450 268451 268452 268456 268457 268463 268464 268465 268467 268468 268474 268475 268477 268478 268483 268484 268485 268487 268490 268493 268494 268495 268496 268497 268503 268505 268506 268507 268510 268514 268516 268519 268520 268522 268523 268524 268525 268527 268528 268529 268530 268531 268532 268534 268537 268540 268541 268542 268543 268547 268548 268553 268554 268556 268559 268560 268562 268563 268568 268569 268570 268573 268574 268575 268576 268579 268581 268583 268584 268594 268595 268596 268599 268600 268601 268603 268609 268611 268616 268617 268618 268621 268623 268624 268626 268630 268631 268632 268635 268637 268639 268641 268642 268643 268644 268645 268646 268647 268654 268656 268658 268659 268667 268668 268669 268670 268672 268674 268677 268680 268681 268686 268687 268689 268690 268696 268699 268705 268707 268708 268709 268710 268712 268713 268714 268715 268720 268722 268725 268731 268732 268733 268734 268736 268742 268743 268748 268749 268750 268753 268758 268767 268769 268770 268773 268774 268775 268780 268783 268784 268785 268788 268789 268790 268796 268798 268799 268802 268803 268804 268806 268813 268821 268822 268825 268826 268828 268829 268830 268836 268837 268838 268839 268842 268843 268844 268845 268846 268853 268854 268857 268858 268866 268867 268874 268880 268887 268889 268890 268919 268921 268927 268948 268958 268959 268973 268989 268993 268994 269007 269009 269017 269019 269029 269034 269035 269036 269037 269038 269040 269041 269042 269043 269047 269048 269049 269050 269051 269054 269055 269061 269062 269068 269075 269076 269077 269078 269080 269082 269083 269084 269085 269086 269087 269088 269091 269095 269099 269100 269101 269102 269103 269104 269106 269107 269108 269109 269111 269114 269115 269116 269117 269118 269119 269120 269133 269136 269141 269144 269145 269147 269154 269164 269188 269192 269209 269210 269213 269214 269221 269226 269229 269230 269242 269243 269245 269246 269251 269258 269259 269267 269284 269285 269286 269287 269288 269657 269658 269674 269709 269734 269735 269802 269818 269825 269845 269852 269936 269938 269939 269941 269942 269944 269972 269985 269993 270075 270078 270149 270150 270151 270152 270155 270163 270164 270171 270173 270174 270178 270179 270180 270202 270221 270222 270224 270227 270250 270263 270269 270276 270328 270589 270612 270613 270614 270617 270620 270626 270627 270629 270630 270633 270638 270639 270676 270679 270680 270686 270687 270689 270692 270698 270699 270700 270701 270702 270703 270704 270706 270708 270709 270710 270711 270712 270715 270716 270717 270718 270719 270720 270721 270724 270725 270726 270733 270736 270737 270739 270740 270742 270743 270748 270749 270752 270753 270757 270762 270763 270764 270765 270767 270771 270772 270774 270778 270779 270780 270784 270785 270786 270787 270788 270790 270791 270792 270793 270796 270800 270805 270808 270809 270810 270811 270814 270819 270820 270822 270823 270824 270825 270826 270830 270837 270838 270846 270847 270849 270850 270851 270853 270854 270855 270857 270858 270860 270861 270862 270867 270868 270869 270870 270871 270873 270874 270876 270885 270887 270889 270893 270894 270903 270905 270906 270907 270910 270914 270920 270921 270922 270923 270925 270926 270931 270932 270933 270937 270938 270942 270944 270945 270947 270950 270951 270952 270953 270955 270957 270958 270959 270961 270962 270965 270968 270969 270970 270971 270972 270979 270980 270984 270985 270986 270987 270992 270994 270998 270999 271000 271001 271005 271024 271025 271027 271044 271046 271049 271051 271053 271066 271069 271072 271073 271076 271078 271084 271086 271091 271093 271096 271097 271102 271105 271108 271111 271137 271140 271142 271148 271149 271152 271153 271154 271156 271157 271163 271166 271167 271169 271174 271178 271183 271193 271194 271195 271209 271214 271215 271217 271240 271259 271261 271263 271270 271272 271278 271280 271283 271285 271286 271287 271291 271292 271293 271294 271297 271308 271312 271317 271325 271329 271335 271341 271344 271347 271355 271356 271357 271358 271364 271366 271367 271368 271369 271370 271371 271373 271374 271375 271377 271382 271383 271384 271385 271386 271387 271388 271389 271390 271391 271400 271402 271405 271406 271407 271408 271415 271417 271428 271429 271430 271431 271432 271441 271443 271446 271447 271448 271449 271452 271453 271454 271468 271487 271488 271489 271497 271506 271510 271511 271513 271514 271517 271518 271524 271526 271527 271528 271529 271531 271532 271535 271547 271548 271551 271552 271555 271556 271557 271560 271561 271563 271564 271568 271574 271577 271579 271582 271583 271584 271585 271586 271591 271592 271593 271594 271604 271606 271610 271612 271614 271615 271622 271623 271629 271633 271640 271641 271642 271646 271650 271661 271662 271664 271672 271675 271678 271680 271681 271682 271683 271685 271686 271687 271689 271691 271693 271694 271695 271702 271703 271705 271707 271708 271709 271710 271711 271713 271714 271719 271725 271728 271737 271738 271742 271744 271745 271746 271747 271750 271751 271753 271754 271759 271760 271761 271767 271787 271789 271790 271791 271795 271801 271803 271805 271812 271814 271815 271816 271826 271829 271844 271845 271846 271858 271859 271864 271865 271870 271877 271883 271885 271892 271893 271898 271899 271901 271902 271903 271904 271905 271907 271908 271909 271922 271923 271930 271932 271933 271934 271942 271960 271972 271974 271977 271979 271980 271985 271986 271988 271990 271991 271992 271994 272002 272003 272005 272006 272013 272024 272027 272046 272048 272050 272051 272052 272062 272079 272080 272081 272082 272083 272084 272085 272087 272090 272092 272094 272104 272118 272126 272128 272129 272130 272132 272137 272138 272139 272153 272157 272159 272160 272161 272163 272167 272170 272172 272173 272174 272175 272176 272178 272182 272183 272187 272188 272191 272192 272193 272194 272195 272196 272198 272203 272204 272205 272207 272208 272209 272210 272212 272213 272214 272215 272217 272220 272229 272235 272236 272238 272241 272242 272246 272247 272248 272249 272257 272258 272259 272263 272264 272265 272272 272273 272274 272275 272278 272281 272282 272284 272285 272286 272290 272292 272293 272295 272296 272301 272302 272309 272310 272311 272312 272315 272316 272317 272322 272323 272324 272325 272339 272340 272350 272353 272354 272355 272356 272363 272375 272380 272381 272383 272384 272386 272388 272392 272398 272399 272401 272404 272405 272407 272408 272409 272410 272411 272412 272413 272414 272415 272416 274293 274294 274295 274305 274306 274394 274404 274405 274406 274407 274408 274418 274435 274436 274440 275083 275518 275519 275521 275522 275524 275525 275535 275536 275537 275538 275540 275544 275547 275548 275550 275551 275552 275553 275554 275555 275556 275557 275565 275566 275567 275568 275570 275571 275572 275578 275581 275583 275584 275585 275586 275588 275590 275593 275594 275595 275610 275613 275615 275616 275618 275620 275622 275625 275626 275628 275630 275632 275633 275637 275641 275650 275652 275654 275655 275660 275665 275668 275670 275671 275672 275673 275676 275683 275685 275686 275687 275691 275693 275697 275698 275699 275702 275703 275707 275708 275719 275723 275724 275725 275727 275728 275729 275731 275734 275736 275738 275744 275757 275759 275762 275778 275780 275782 275783 275785 275791 275794 275795 275797 275798 275799 275800 275801 275802 275803 275804 275807 275808 275812 275813 275814 275828 275839 275842 275844 275849 275865 275872 275876 275878 275879 275882 275884 275887 275888 275889 275891 275892 275895 275897 275901 275904 275907 275908 275909 275910 275911 275919 275920 275922 275923 275924 275925 275927 275932 275933 275934 275935 275938 275939 275949 275953 275956 275957 275958 275959 275960 275962 275963 275964 275965 275966 275974 275975 275980 275981 275982 275983 275985 275986 275990 275995 275998 276009 276016 276024 276025 276026 276027 276028 276029 276031 276032 276033 276035 276036 276037 276040 276041 276042 276044 276045 276047 276050 276051 276054 276066 276076 276077 276081 276082 276083 276084 276085 276086 276088 276089 276092 276093 276094 276095 276096 276097 276104 276108 276112 276113 276114 276118 276121 276123 276124 276125 276126 276127 276128 276129 276131 276135 276138 276139 276140 276141 276143 276144 276145 276150 276154 276155 276156 276161 276162 276163 276165 276167 276168 276169 276170 276171 276172 276175 276180 276183 276184 276185 276187 276191 276195 276196 276197 276199 276212 276214 276215 276216 276217 276219 276220 276222 276223 276224 276225 276226 276228 276229 276231 276232 276236 276240 276241 276242 276243 276244 276245 276246 276248 276252 276253 276254 276257 276258 276259 276265 276266 276270 276271 276273 276275 276276 276277 276279 276284 276286 276289 276291 276296 276298 276305 276307 276308 276309 276311 276312 276313 276314 276316 276317 276319 276320 276321 276332 276333 276335 276340 276344 276347 276348 276356 276357 276359 276361 276369 276370 276373 276376 276379 276386 276389 276405 276411 276416 276420 276421 276424 276426 276430 276431 276434 276443 276445 276446 276447 276449 276453 276456 276457 276463 276464 276467 276472 276477 276479 276483 276487 276496 276498 276500 276501 276507 276548 276588 276593 276609 276619 276622 276623 276625 276626 276627 276628 276636 276638 276640 276645 276647 276648 276649 276650 276651 276652 276653 276665 276666 276667 276668 276673 276679 276682 276683 276684 276685 276687 276688 276690 276708 276712 276721 276722 276725 276726 276727 276728 276730 276731 276742 276750 276757 276758 276764 276765 276774 276777 276779 276782 276791 276796 276797 276798 276800 276804 276807 276809 276812 276815 276820 276822 276828 276829 276830 276832 276834 276835 276836 276837 276839 276840 276841 276842 276844 276846 276852 276853 276854 276858 276868 276871 276872 276878 276879 276881 276890 276899 276901 276903 276904 276906 276912 276913 276919 276921 276926 276938 276941 276956 276957 276960 276963 276975 276981 276994 277021 277027 277030 277032 277044 277045 277058 277066 277081 277084 277098 277131 277132 277134 277141 277147 277167 277174 277175 277181 277192 277196 277202 277212 277226 277227 277228 277232 277234 277247 277255 277256 277262 277263 277264 277265 277275 277278 277284 277292 277297 277312 277315 277318 277319 277322 277326 277331 277343 277346 277348 277352 277354 277355 277356 277357 277365 277367 277370 277374 277383 277385 277389 277390 277395 277397 277398 277403 277404 277407 277419 277422 277423 277428 277430 277438 277444 277446 277451 277452 277457 277460 277461 277463 277464 277465 277466 277469 277474 277476 277483 277499 277500 277503 277511 277512 277513 277516 277524 277525 277526 277527 277528 277530 277537 277542 277543 277548 277549 277550 277551 277552 277553 277554 277555 277556 277557 277558 277560 277561 277562 277564 277565 277579 277580 277825 277919 278085 278110 278111 278112 278113 278116 278122 278135 278136 278151 278162 278188 278189 278193 278198 278204 278212 278961 280028 280950 281773 281778 281779 281782 281785 281788 281790 281794 281795 281796 281797 281799 281821 281824 281833 281839 281878 281884 281885 281890 281900 281901 281905 281917 281923 281936 281938 281940 281943 281944 281952 281962 281963 281964 281967 282002 282008 282028 282074 282102 282192 282193 282201 282205 282207 282220 282295 282309 282312 282488 282492 282504 282525 282526 282527 282528 282529 282548 282550 282577 282616 282667 282677 282687 300933 300934 300942 300944 300946 300950 301918 301928 302129 302146 302160 302164 302180 302312 302314 302319 302332 302359 302362 302363 302369 302378 302465 302476 302483 302507 302535 302589 302809 302810 302812 302840 302846 302854 302855 302858 302859 302862 302864 302865 302869 302871 302877 302883 302884 302886 302894 311213 311216 311217 311221 311223 311227 311242 311245 311262 311268 311269 311271 311273 311276 311284 311292 311298 311309 311311 311312 311334 311335 311336 311337 311338 311339 311340 311343 311357 311361 311364 311368 311369 311370 311376 311382 311386 311388 311389 317656 318712 332790 332791 333027 333040 333091 333092 333093 333094 333095 333097 333099 333100 333101 333105 333112 333130 333205 333217 333225 333230 333232 333258 333291 333297 333304 333399 333407 333408 333427 333457 333494 333495 333497 333519 333522 333523 333540 333559 333577 333612 333630 333693 333980 333997 333998 334007 334013 334015 334020 334021 334050 334052 334054 334063 334090 334102 334123 334124 334126 334127 334166 334192 338067 338375 338388 338389 338393 338395 338396 338397 338401 338416 338418 338420 338422 338424 338426 338427 338428 338430 338434 338435 338436 338437 338439 338440 338442 338450 338454 338455 338465 338467 338468 338471 338473 338474 338478 338480 338481 338483 338484 338486 338487 338488 338489 338495 338497 338499 338506 338507 338508 338509 338536 338538 338547 338551 338552 338562 338573 338575 338582 338585 338586 338588 338589 338592 338596 338602 338622 338650 338657 338664 338782 338790 339036 339083 339084 339085 339104 339119 339127 339137 339138 339140 339143 339152 339155 339163 339164 339165 339166 339170 339175 339186 339192 339194 339204 339206 339207 339208 339214 339215 339216 339219 339223 339224 339229 339235 339236 339237 339238 339247 339271 339273 339284 339285 339295 339296 339299 339303 339310 339315 339317 339321 339324 339352 339383 339402 339403 339404 339405 339406 339408 339410 339411 339412 339415 339416 339427 339432 339433 339434 339467 339468 339469 339470 339471 339473 339476 339477 339478 339479 339480 339481 339490 339491 339505 339510 339527 339530 339537 339540 339542 339546 339551 339563 339573 339575 339576 339577 339590 339592 339594 339598 339619 339623 339624 339625 339626 339629 339630 339635 339636 339637 339638 339639 339640 339643 339644 339647 339648 339649 339651 339652 339656 339657 339660 339661 339663 339671 339672 339673 339674 339675 339678 339681 339682 339687 339696 339730 339761 339763 339767 339769 339774 339789 339794 339797 339798 339799 339800 339802 339805 339806 339807 339808 339815 339816 339817 339820 339821 339822 339825 339827 339828 339831 339837 339842 339852 339868 339874 339875 339882 339901 339916 339925 339939 339941 339946 339949 339950 339952 339955 339957 339959 339960 339961 339962 339963 339964 339965 339967 339968 339971 339974 339975 339976 339979 339982 339983 339984 339985 339986 339990 339995 339996 339997 339999 340000 340004 340005 340007 340013 340014 340015 340016 340018 340021 340025 340030 340031 340037 340040 340044 340055 340056 340062 340067 340069 340070 340072 340073 340074 340076 340077 340085 340091 340092 340093 340094 340098 340100 340102 340103 340107 340111 340127 340142 340154 340157 340160 340161 340164 340166 340169 340170 340176 340177 340182 340183 340184 340185 340190 340192 340194 340197 340198 340199 340201 340202 340205 340206 340207 340213 340221 340222 340223 340227 340228 340231 340236 340237 340238 340241 340243 340248 340268 340273 340274 340278 340279 340285 340288 340289 340293 340295 340297 340305 340312 340318 340319 340320 340321 340323 340324 340331 340334 340354 340359 340361 340362 340366 340368 340369 340372 340373 340375 340377 340379 340392 340400 340414 340415 340416 340425 340426 340430 340432 340434 340436 340445 340450 340451 340455 340464 340468 340469 340470 340471 340478 340479 340483 340485 340486 340488 340489 340490 340491 340495 340508 340518 340520 340535 340536 340537 340540 340542 340544 340545 340546 340548 340552 340557 340563 340564 340566 340569 340600 340601 340602 340604 340610 340643 340646 340669 340671 340677 340678 340679 340686 340704 340705 340707 340708 340714 340723 340732 340749 340754 340755 340756 340757 340758 340760 340766 340784 340785 340849 340850 340851 340854 340855 340857 340861 340865 340867 340869 340884 340885 340893 340895 340896 340902 340907 340908 340909 340910 340913 340916 340917 340931 340946 340948 340950 340951 340952 340961 340969 340970 340971 340972 340973 340975 340984 340987 340991 340992 340995 341004 341006 341008 341009 341010 341012 341013 341014 341019 341021 341022 341024 341027 341038 341047 341049 341052 341058 341098 341103 341105 341106 341107 341108 341109 341110 341112 341116 341117 341129 341130 341134 341137 341141 341142 341143 341144 341148 341149 341150 341155 341163 341164 341177 341178 341181 341183 341184 341189 341190 341192 341193 341195 341196 341197 341206 341207 341208 341212 341213 341214 341215 341217 341218 341219 341220 341221 341225 341244 341245 341248 341250 341253 341257 341266 341269 341270 341273 341274 341275 341276 341281 341291 341296 341299 341304 341305 341306 341316 341325 341332 341333 341334 341335 341337 341338 341340 341341 341342 341351 341352 341353 341356 341363 341365 341367 341368 341372 341377 341381 341384 341385 341395 341398 341400 341401 341402 341421 341422 341425 341426 341428 341429 341430 341434 341439 341446 341452 341457 341461 341462 341464 341465 341467 341468 341469 341471 341472 341474 341475 341476 341479 341488 341489 341490 341491 341492 341499 341503 341504 341507 341508 341510 341519 341520 341521 341525 341527 341539 341540 341541 341546 341547 341551 341555 341558 341562 341563 341566 341576 341582 341583 341584 341599 341600 341601 341602 341605 341606 341607 341608 341610 341676 341678 341681 341682 341683 341684 341689 341690 341691 341692 341697 341699 341702 341703 341706 341712 341716 341718 341726 341733 341747 341749 341751 341756 341757 341760 341772 341778 341779 341781 341791 341811 341812 341816 341817 341828 341829 341830 341834 341841 341850 341851 341858 341862 341864 341868 341869 341894 341931 341944 341950 341951 341957 341966 342039 342044 342089 342096 342100 342114 342115 342122 342123 342124 342127 342134 342136 342137 342138 342140 342149 342158 342161 342162 342163 342165 342167 342188 342190 342194 342195 342196 342200 342205 342208 342219 342243 342268 342273 342276 342302 342311 342318 342320 342321 342332 342334 342336 342337 342341 342342 342358 342361 342376 342377 342381 342383 342388 342394 342396 342397 342398 342399 342400 342405 342406 342409 342410 342414 342415 342425 342435 342436 342440 342442 342443 342444 342445 342446 342453 342467 342471 342483 342488 342492 342494 342500 342506 342513 342518 342520 342527 342530 342532 342541 342543 342544 342546 342549 342552 342553 342554 342555 342569 342571 342573 342578 342587 342588 342609 342611 342613 342618 342622 342623 342625 342634 342635 342637 342638 342643 342644 342646 342650 342667 342677 342678 342681 342683 342684 342686 342687 342689 342700 342701 342703 342704 342705 342708 342709 342711 342719 342720 342723 342727 342728 342731 342733 342737 342739 342748 342749 342750 342758 342759 342763 342769 342770 342771 342773 342776 342777 342778 342779 342780 342783 342784 342785 342786 342788 342789 342790 342791 342793 342800 342801 342803 342826 342827 342848 342849 342850 342853 342856 342858 342859 342860 342861 342879 342880 342881 342882 342883 342884 342885 342889 342890 342892 342895 342914 342916 342922 342928 342936 342938 342940 342942 342951 342953 342957 342968 342969 342970 342981 343023 343024 343025 343026 343029 343030 343031 343033 343034 343038 343039 343041 343042 343047 343052 343053 343055 343056 343060 343064 343065 343068 343073 343074 343076 343077 343078 343080 343081 343084 343087 343100 343101 343102 343108 343111 343153 343176 343178 343179 343180 343187 343188 343190 343192 343195 343203 343205 343206 343208 343209 343214 343223 343243 343245 343246 343249 343252 343259 343261 343277 343280 343284 343286 343287 343293 343305 343312 343318 343349 343353 343363 343372 343376 343378 343381 343384 343386 343387 343388 343398 343399 343400 343401 343402 343404 343406 343407 343412 343417 343421 343423 343427 343429 343430 343431 343438 343440 343442 343450 343452 343453 343457 343458 343460 343461 343463 343466 343467 343473 343475 343477 343483 343488 343489 343491 343492 343493 343497 343513 343517 343519 343520 343521 343522 343524 343525 343526 343527 343528 343529 343532 343537 343542 343552 343553 343555 343559 343560 343562 343568 343570 343573 343575 343578 343579 343582 343590 343592 343597 343598 343621 343627 343634 343639 343641 343643 343644 343645 343646 343648 343650 343662 343671 343674 343678 343679 343683 343686 343703 343713 343716 343722 343723 343725 343726 343729 343730 343731 343734 343736 343737 343745 343751 343752 343755 343756 343757 343759 343761 343768 343770 343771 343779 343785 343796 343797 343798 343799 343800 343801 343804 343810 343817 343821 343824 343841 343843 343844 343845 343851 343856 343858 343861 343864 343869 343871 343874 343875 343879 343881 343882 343884 343885 343886 343887 343888 343889 343890 343892 343896 343898 343899 343900 343914 343916 343917 343918 343919 343920 343921 343922 343923 343931 343935 343937 343938 343939 343940 343941 343943 343947 343951 343952 343953 343954 343956 343957 343960 343961 343963 343964 343965 343967 343968 343969 343970 343971 343972 343975 343976 343977 343978 343979 343981 343988 343998 343999 344003 344004 344006 344014 344020 344021 344022 344023 344024 344028 344031 344038 344040 344043 344045 344046 344049 344050 344051 344054 344057 344058 344060 344061 344064 344065 344069 344075 344080 344083 344084 344087 344090 344091 344092 344178 344183 344243 344247 344259 344272 344289 344290 344296 344297 344311 344312 344402 344403 344405 344406 344418 344422 344429 344430 344431 344432 344467 344530 344551 344689 344730 344795 344883 344963 345003 345011 345030 345044 345045 345136 345137 345138 345243 345244 345245 345247 345263 345335 345369 345382 345406 347630 347868 347869 347874 347888 347950 347954 348020 348148 348165 348287 348321 348542 348584 348593 348668 348754 348776 348801 348802 348803 348805 348819 348857 348868 348890 348893 348898 348911 348956 348959 348974 348991 348992 348993 348996 348997 348999 349001 349002 349005 349006 349009 349075 349081 349255 349353 349365 349366 349367 349410 349411 349412 349413 349414 349415 349418 349422 349426 349437 349462 349468 349476 349477 349478 349480 349486 349489 349491 349493 349496 349516 349517 349524 349564 349578 349579 349609 349628 349645 349650 349654 349655 349686 349695 349719 349726 349735 349743 349752 349755 349756 349758 349763 349764 349765 349775 349780 349782 349784 349788 353730 362046 362076 375197 375268 375305 375314 375336 375381 376117 376175 376185 376186 376286 376288 376300 376304 376323 376329 376356 376359 376362 376378 376379 376411 376415 376416 376480 376524 376532 376538 376551 376620 376670 376685 376699 376703 376710 391815 391816 391819 391821 391826 391861 391869 391922 391957 391958 391986 391993 391996 392003 392004 392020 392026 392028 392029 392034 392041 392048 392050 392051 392054 392055 392057 392060 392067 392074 392077 392103 392104 392108 392112 392156 392158 392163 392164 392170 392175 392180 392207 392317 392318 392319 392371 392373 392378 392380 392383 392403 392409 392436 392439 392441 392444 392445 392451 392452 392461 392464 392466 392469 392470 392475 392492 392510 392512 392514 392519 392525 392534 392548 392549 392550 392553 392555 392591 392605 392607 392609 392610 392617 392618 392634 392638 392640 392642 392661 392662 392663 392666 392702 392704 392775 392777 393435 393436 393437 393439 393440 393441 393444 393446 393447 393456 393457 393459 393460 393482 393483 393484 393485 393489 393501 393519 393520 393524 393525 393526 393533 393534 393538 393541 393544 393547 393549 393552 393553 393554 393555 393556 393558 393559 393561 393568 393570 393571 393574 393576 393577 393578 393579 393581 393583 393584 393587 393590 393591 393593 393596 393597 393602 393604 393607 393608 393609 393612 393614 393615 393619 393620 393621 393626 393630 393638 393639 393642 393661 393664 393665 393666 393667 393668 393675 393680 393681 393682 393683 393684 393686 393688 393690 393691 393692 393693 393695 393698 393699 393700 393701 393702 393703 393706 393711 393714 393715 393718 393719 393720 393721 393722 393723 393725 393729 393730 393734 393735 393736 393737 393739 393743 393744 393745 393746 393762 393770 393774 393777 393785 393786 393787 393789 393799 393807 393808 393814 393815 393816 393818 393819 393823 393829 393830 393831 393832 393837 393838 393841 393851 393857 393863 393866 393881 393886 393892 393897 393899 393900 393904 393906 393907 393908 393911 393912 393913 393914 393915 393920 393929 393931 393933 393934 393936 393940 393943 393946 393947 393953 393958 393961 393962 393968 393970 393971 393980 393983 393985 393992 393995 394004 394005 394006 394007 394010 394016 395815 395816 395837 395848 395849 395866 395867 395884 395887 395896 395905 395912 395920 395921 395931 395932 395947 395962 395971 395973 395974 395976 395977 395983 396000 396003 396005 396006 396012 396013 396016 396018 396020 396022 396023 396024 396036 396037 396044 396045 396058 396061 396070 396072 396073 398349 398350 398356 398359 398363 398364 398367 398369 398370 398550 398552 398553 398554 398555 398558 398561 398562 398568 398580 398581 398582 398587 398589 398591 398593 398597 398609 398610 398615 398616 398618 398620 398621 398622 398623 398625 398626 398627 398628 398630 398634 398635 398636 398639 398640 398641 398642 398650 398654 398661 398663 398664 398666 398667 398673 398674 398676 398677 398679 398680 398682 398686 398689 398692 398694 398698 398699 398700 398701 398702 398703 398704 398705 398707 398709 398710 398711 398712 398730 398732 398734 398738 398739 398741 398744 398745 398756 398757 398760 398762 398763 398764 398765 398766 398767 398768 398773 398775 398776 398777 398779 398782 398783 398784 398785 398788 398791 398795 399385 399397 399400 399405 399406 399428 399429 399430 399433 399439 399440 399442 399443 399447 399448 399451 399452 399458 399477 399479 399480 399482 399496 399497 399503 399520 399523 399526 399558 399559 399560 399562 399563 399565 399570 399572 399578 399580 399586 399587 399603 399604 400807 400821 400822 400823 400825 400831 400832 400837 400838 400839 400843 400845 400862 400865 400867 400874 400875 400877 400881 400887 400895 400896 400914 400916 400917 400923 400926 400928 400929 400930 400936 400946 400949 400956 400965 400966 400967 400976 400977 400978 400979 400980 400989 401013 401014 401018 401019 401024 401026 401037 401038 401040 401041 401049 401074 401116 401142 401160 403364 403379 403382 403383 403385 403389 403396 403397 403398 403399 403402 403411 403413 403414 403416 403418 403419 403425 403426 403427 403428 403430 403431 403433 403434 403440 403443 403445 403446 403447 403452 403454 403456 403457 403462 403474 403476 403477 403483 403484 403487 403491 403494 403505 403510 403515 403518 403519 403527 403528 403529 403532 403534 403535 403536 403540 403541 403542 403545 403546 403548 403549 403555 403556 403559 403566 403571 403572 403592 403597 403600 403601 403608 403622 403623 403625 403630 403636 403639 403641 403660 403683 403690 403693 403709 403714 403719 403738 403760 403761 403762 403767 403768 403786 403800 403809 403815 403819 403826 403827 403828 404466 404478 404493 404521 404522 404523 404527 404551 404559 404562 404573 404577 404578 404583 404852 405102 405461 405467 405471 405580 405581 405583 406096 406097 406099 406101 406105 406127 406128 406133 406139 406141 406143 406148 406149 406191 406209 406220 406236 406240 406252 406290 406296 406297 406298 406299 406301 406302 406304 406305 406307 406312 406316 406317 406318 406319 406321 406323 406325 406326 406327 406330 406332 406333 406334 406339 406340 406341 406342 406345 406346 406347 406351 406352 406362 406363 406364 406365 406366 406368 406369 406378 406383 406387 406389 406392 406394 406395 406396 406397 406398 406409 406419 406421 406425 406428 406432 406438 406454 406457 406458 406463 406464 406468 406471 406479 406480 406481 406482 406484 406486 406489 406497 406500 406502 406505 406507 406511 406512 406513 406514 406516 406518 406522 406523 406524 406525 406537 406541 406549 406550 406552 406553 406555 406561 406562 406563 406571 406572 406574 406575 406578 406580 406582 406583 406584 406586 406587 406588 406592 406593 406594 406595 406597 406598 406599 406610 406621 406628 406629 406630 406632 406633 406636 406637 406641 406643 406645 406649 406650 406651 406653 406655 406656 406659 406660 406682 406683 406684 406685 406686 406687 406688 406690 406691 406694 406696 406698 406700 406707 406723 406724 406726 406727 406735 406740 406750 406755 406756 406757 406764 406777 406778 406779 406782 406784 406787 406788 406792 406809 406810 406811 406832 406844 406855 406876 409205 409207 409208 409210 409212 409224 409325 409327 409475 409579 409580 409625 409651 409652 409665 409666 409667 409672 409675 409676 409677 409679 409683 409701 409728 409731 409818 409859 409860 409861 409885 409895 409896 409897 409908 409910 409911 409913 409935 409939 409952 409959 409961 409962 409974 409975 409977 409979 409980 409983 409988 409994 409995 409999 410000 410005 410022 410027 410042 410060 410074 410076 410087 410088 410091 410092 410114 410130 410134 410135 410136 410137 410139 410149 410161 410174 410179 410189 410190 410192 410198 410204 410207 410214 410218 410220 410221 410223 410225 410226 410248 410251 410255 410257 410285 410345 410422 410424 410438 410445 410487 410489 410523 410528 410530 410536 410538 410583 410606 410607 410619 410623 410627 410636 410645 410647 410648 410649 410650 410651 410652 410653 410654 410655 410656 410657 410658 410698 410787 410808 410815 410824 410939 410946 410959 411031 411268 411277 413234 413235 413236 422846 422853 422855 422859 422955 423037 423061 423062 423086 423092 423172 423319 423348 423361 423390 423682 423692 423704 423711 423738 423775 423832 423837 424129 424291 424734 424775 424787 425454 425873 426265 426564 426568 426636 426784 426833 426970 427105 428457 428458 428459 428538 428721 428791 428797 428798 428851 428919 428920 428922 428923 428993 429458 429468 429657 431290 431292 431293 431294 431307 431308 431309 431346 431348 431350 431352 431357 431364 431368 431372 431375 431376 431378 431379 431380 431384 431388 431399 431401 431403 431404 431409 431415 431444 431716 431718 432126 432190 432194 432197 432198 432201 432203 432210 432213 432217 432219 432221 432222 432225 432226 432228 432230 432231 432233 432235 432238 432239 432240 432242 432244 432252 432253 432254 432255 432262 432264 432265 432268 432269 432272 432273 432288 432291 432301 432302 432303 432315 432316 432328 432330 432332 432334 432346 432347 432353 432364 432370 432408 432411 432412 432424 432442 432443 432470 432475 432486 432528 432529 433042 434720 436021 436023 436024 438412 438414 438419 438421 438437 438638 439059 442838 442840 442841 442867 442874 442886 442892 442893 443257 443261 443882 444720 445118 445180 451641 451644 451648 451672 451680 451681 451695 451696 451718 451728 451771 451772 451817 451818 451819 451831 451838 451840 451843 451889 451906 451937 452136 452138 452157 452204 452221 452222 454455 454534 454535 454537 454538 454540 454543 454546 454547 454582 454589 454590 454591 454592 454593 454594 454595 454599 454600 454601 454604 454606 454612 454627 454635 454641 454642 454643 454651 455714 455715 455716 455950 455961 455988 455990 455993 455998 456012 456023 456029 456031 456037 456041 456042 456043 456053 456061 456062 456065 456086 456087 456088 456097 456099 456100 456103 456107 456111 456113 456126 456144 456472 456483 456512 456516 456517 456702 456750 456789 456795 456801 456891 456909 457002 457003 457017 457084 457220 457502 457506 457599 457623 457798 458011 458101 458167 458219 458220 458385 472347 472354 472367 472369 472381 472386 472389 472390 472512 472513 472517 472519 472691 472706 472711 472727 472731 472733 472734 472742 472753 472756 472761 472762 472763 472764 472767 472769 472771 472772 472782 472783 472786 472790 472793 472795 472801 472803 472810 472814 472839 473117 473118 473119 473120 473132 473133 473218 473219 473220 473221 473223 473224 473225 473315 473491 473524 473527 473537 473543 473545 473554 473555 473556 473557 473558 473560 473561 473567 473572 473586 473780 473780 473876 473877 473878 474334 474341 474355 474381 474442 474454 474861 474886 474887 474889 474890 475021 475708 475718 475719 475724 475729 475730 475732 475733 475802 475811 475813 476214 476476 477309 477371 477402 477432 477470 477487 477583 477591 477599 477611 477633 477670 477680 477973 483368 487784 489959 489967 489980 494040 494042 494043 494046 494053 494060 494121 494218 494261 494271 494276 494345 494474 494491 494493 494507 494557 494559 494580 494627 494659 494698 494853 494862 494904 494909 494949 494956 495083 495124 495292 495465 497209 497248 497249 497281 497286 497369 497442 497552 497580 518936 518947 518948 518957 518988 518989 518999 519001 519002 519003 519013 519021 519027 519030 519036 519047 519048 519053 519055 519057 519062 519066 519067 519068 519069 519075 519076 519077 519086 519089 519092 519096 519097 520459 520463 520533 520535 520536 520538 520539 520540 520541 520546 520560 520562 520564 520571 520572 520574 520575 520577 520584 520590 520679 520680 520681 520705 520706 520714 520716 520719 520727 520728 520731 520736 520737 520739 520743 520744 520745 520758 520763 520764 520766 520767 520770 520775 520777 520779 520780 520782 520783 520786 520788 520789 520796 520797 520798 520800 520801 520802 520947 520998 521170 521465 521466 521471 521476 521478 521480 521496 521513 521514 521515 521517 521524 521530 521533 521537 521541 521542 521554 521585 521586 521587 521595 521596 521597 521598 521599 521607 521608 521610 521613 521614 521616 521617 521622 521623 521625 521631 521640 521648 521657 521659 521664 521667 521670 521674 521677 521678 521679 521680 521683 521685 521686 521687 521688 521689 521690 521691 521694 521696 521698 521701 521706 521707 521714 521715 521716 521717 521718 521720 521722 521723 521725 521726 521728 521729 521730 521736 521748 521754 521755 521756 521757 521758 521759 521767 521770 521784 521785 521786 521793 521799 521801 521802 521805 521808 521829 521831 521832 521833 521838 521839 521840 521841 521842 521844 521853 521854 521857 521858 522253 522254 522255 522274 522614 522615 522621 524489 524524 524582 524610 524611 524620 524631 524632 524679 524687 524688 524702 524784 524799 524812 524851 524909 524910 524911 524912 524988 541403 541411 541435 541582 541628 541719 541722 541731 541732 541769 541777 541939 542007 542031 542034 542035 542037 542052 542080 542103 542104 542106 542107 542142 542156 542165 542232 542250 542269 542302 542313 542322 542324 542367 542417 542418 542520 543505 543511 543518 543519 543522 543524 543527 543537 543548 543549 543559 543567 543586 543611 543612 543614 543616 543618 543623 543628 543629 543635 543636 543639 543641 543644 543645 543652 543655 543657 543659 543661 543663 543668 543669 543671 543673 543687 543693 543694 543695 543697 543698 543699 543700 543703 543754 543767 543769 543771 543777 543786 543790 543791 543793 543795 543796 543797 543799 543800 543808 543809 543810 543813 543815 543816 543820 543822 543825 543829 543830 543837 543838 543844 543854 543856 543858 543868 543878 543879 543880 543888 543891 543892 543898 543900 543902 543904 543905 543968 543970 543973 543974 543979 543982 543983 543989 543990 543991 544008 544009 544015 544054 544058 544645 544757 544766 544783 544786 544796 544798 544799 544802 544808 544809 544815 544821 544825 544826 544827 544829 544830 544835 544836 544839 544841 544843 544844 544848 544849 544852 544869 544870 545044 545050 546123 546124 546125 546189 546264 546345 546347 546352 546356 546367 546368 546369 546370 546382 546384 546386 546391 546393 546394 546397 546410 546466 546476 546483 546817 546846 546878 546948 546953 546960 546983 546985 546989 546991 546992 546994 546996 546999 548923 548967 549117 549118 549122 549145 549148 549150 549160 549175 549189 549198 549199 549201 549202 549225 549226 549307 549310 549322 549338 549366 549374 549380 549392 549398 549410 549422 549423 549463 549472 549493 549516 549567 549574 549584 549601 549603 549609 549620 549622 549646 549655 553531 553548 553573 553576 553577 553578 553586 553604 553642 553656 553658 553662 553665 553669 553677 553681 553690 553694 553715 553718 553724 553730 553735 553757 553760 553762 553763 553767 553768 553769 553968 553971 553980 554021 554098 554110 554112 554114 554117 554118 554119 554309 554310 554393 554436 554437 554463 554464 554468 554470 554474 554478 554591 554592 554595 554601 554619 554628 554632 554636 554637 554876 555214 555232 555253 555257 555970 555971 555972 555974 556023 558307 558348 558349 558362 558364 558385 558386 558595 558722 558723 559031 559106 559190 559240 559254 559258 559259 559282 559360 559402 559403 559404 559469 559470 559488 559506 559507 559523 559758 559893 559960 560041 560248 560606 560922 561020 561732 561733 561846 562027 562422 563238 563630 563633 564687 564695 564746 564748 564755 564757 564768 564778 564791 564817 564818 564832 565572 565573 565574 565575 565599 565623 565831 565899 566602 566951 567085 567407 567439 567447 570513 570525 570528 570537 570540 570578 570585 570587 570632 570638 570640 570646 570647 570651 570701 570702 570720 570744 570785 570787 570789 570926 570953 570974 570979 571119 571149 571154 571193 571199 571236 571242 571271 571311 571336 571339 571344 571368 571373 571378 571380 571381 571384 571388 571389 571390 571417 571418 571443 571444 571449 571458 571472 571477 571478 571496 571503 571521 571550 571566 571581 571586 571588 571615 571622 571624 571636 571648 571732 571752 571753 571759 571776 571792 571818 571854 571898 571903 571904 571912 571957 572009 572015 573997 574007 574008 574009 574013 574014 574015 574018 574019 574029 574041 574047 574083 574084 574089 574106 574708 574713 574715 574717 574903 574904 574905 574906 574908 574911 574915 574920 574960 575059 575275 576801 577034 577618 577620 577625 577627 577631 577654 577656 577657 577689 577690 577702 577706 577708 577709 577710 577778 577795 577799 577870 577871 577887 578125 578159 578496 578505 578537 578576 578577 578736 578869 578870 578873 578879 580174 580178 580181 580190 581275 581321 581338 581339 581341 581346 581354 581357 581360 581363 581366 581369 581370 581372 581374 581375 581376 581377 581379 581381 581384 581392 581395 581883 582415 582512 582803 582876 582885 584642 584837 584960 584983 584984 585008 585012 585017 585051 585052 585104 585105 585106 585108 585110 585136 585137 585139 585184 585186 585187 585213 585255 585261 585265 585266 585274 585358 585359 585541 585543 585544 585548 585549 585561 585568 585635 585945 585953 585955 586256 586323 586352 586353 586354 586355 586358 586362 586367 586370 586371 586748 586989 587043 587044 587045 587068 587101 587219 587248 588183 589023 589110 589111 589368 589369 589616 589627 589629 595903 595916 595918 595921 595937 595948 595956 595978 595985 596028 596131 596145 596270 596298 596347 596362 596367 596371 596373 596377 596452 596552 596558 596744 596763 596767 596773 596774 596813 596848 596850 596864 596916 596992 597039 597048 597138 597167 597276 597290 597309 597367 597388 597445 597559 597563 597736 597744 597745 597755 597756 597757 597853 597908 597966 597984 598106 598176 598196 598221 598276 598303 598336 598338 598340 598364 598392 598398 598427 598428 598480 598513 598514 598586 598589 598608 598639 598716 598723 598866 599035 599055 599201 599290 599293 599392 599425 599458 599465 599527 599528 599540 599750 599928 599941 600037 600039 600040 600041 600086 600123 600124 600178 600260 600268 600297 600327 600336 600359 600452 677052 677060 677498 677499 677501 677606 677607 677628 677641 677944 678184 678185 678189 678198 678199 678201 678202 678236 678356 678357 678358 678361 679225 679247 679362 679365 679366 679367 679381 679383 679393 679395 679401 679405 679407 679408 679410 679413 679414 679418 679421 679423 679424 679425 679427 679428 679432 679433 679479 683323 683324 683381 683382 683384 683388 683391 683393 683394 684256 684345 684346 684902 684903 684907 684913 685095 685098 685099 685102 685103 685105 685108 685705 685828 685904 685906 685914 685916 685918 685919 685921 685922 685923 685926 685927 685928 685929 686160 686161 686163 686347 686353 686359 686363 686366 686369 686370 686533 686534 686704 686708 686709 686716 686717 687120 687148 687149 687154 687161 687707 687715 687720 687730 687751 687754 694533 694539 694545 694546 694550 694552 694553 694558 694561 694562 694564 694566 694569 694573 694575 694577 695242 699724 699731 699732 699734 699739 699741 699742 699743 699744 699826 699848 699858 699949 700045 700053 700113 700136 700138 700201 700208 700226 700251 700253 700318 700323 700345 700360 700376 700377 700501 700502 700503 700510 700588 700594 700623 700627 700635 700637 700639 701157 701807 701815 701818 701821 701825 701839 702100 702102 702134 702135 702154 702157 702159 702163 702166 702167 702176 702198 728717 728731 728821 728936 729233 729254 729260 729261 729337 729346 729353 729518 729519 729523 729524 729525 729527 729531 729535 729544 729546 729547 729549 729552 729554 729565 729566 729582 729584 729586 729587 729590 729592 729608 729704 729728 729733 729736 729771 729775 729776 729777 729842 729993 730053 730194 730233 730270 730271 730274 730275 730276 730278 730279 730280 730281 730283 730284 730285 730286 730288 730289 730290 730291 730292 730293 730294 730295 730296 730297 730298 730300 730301 730302 730309 730311 730312 730313 730314 730315 730318 730321 730322 730328 730329 730330 730331 730333 730334 730335 730345 730362 730363 730364 730366 730379 730501 730502 730503 730504 730505 730507 730508 730509 730510 730511 730512 730570 730604 730607 730610 733682 740265 740268 740272 740278 740279 740281 740302 740304 740318 740323 740330 740340 740342 740343 740376 740380 740385 740386 740387 740391 740392 740394 740401 740402 740415 740421 740440 740441 740447 740450 740451 740454 740455 740502 740506 740545 740582 740585 740632 740652 740667 740689 740693 740694 740725 740728 740747 740762 740766 740767 740785 740830 740831 740832 740839 740842 740901 740914 740919 740940 740941 740944 740959 740979 740980 740981 740986 740991 740992 741004 741008 741011 741014 741020 741025 741026 741032 741034 741036 741040 741073 741085 741096 741103 741144 741160 741171 741183 741194 741196 741205 741212 741216 741221 741237 741240 741250 741269 741275 741276 741277 741282 741283 741293 741299 741301 741303 741308 741321 741339 741341 741349 741354 741357 741361 741365 741407 741437 741439 741467 741476 741478 741484 741485 741496 741513 741523 741539 741611 741613 741621 741623 741625 741627 741629 741725 741789 741808 741861 741866 741916 741922 741923 741936 741949 741971 741974 741975 741979 741983 741986 741987 741990 742000 742003 742006 742020 742024 742029 742034 742035 742038 742078 742086 742102 742115 742176 742178 742186 742190 742191 742192 742194 742196 742199 742211 742215 742277 742323 742342 742343 742352 742367 742437 742443 742461 742468 742538 742545 742588 742596 742597 742604 742608 742661 742664 742670 742677 742731 742739 742744 742754 742758 742769 742797 742803 742809 742815 742831 742874 742910 742911 742927 742929 742960 742961 742965 742976 742995 743086 743089 743098 743122 743125 743140 743142 743145 743146 743149 743150 743164 743188 743301 743303 743306 743309 743318 743332 743336 743342 743344 743364 743381 743398 743399 743449 743454 743461 743467 743468 743473 743496 743497 743524 743525 743527 743529 743557 743575 743599 743600 743607 743675 743676 743680 743699 743711 743775 743797 743804 743841 743865 743867 743901 743920 743922 743923 743927 743928 743941 743942 743945 743952 743953 743983 743993 744013 744028 744039 744041 744047 744049 744058 744066 744067 744116 744130 744137 744147 744151 744157 744158 744193 744205 744222 744224 744235 744251 744254 744271 744273 744281 744282 744287 744291 744293 744298 744306 744310 744314 744319 744329 744357 744360 744361 744365 744369 744378 744403 744408 744412 744421 744422 744423 744424 744455 744465 744471 744473 744474 744475 744480 744483 744529 744539 744570 744583 744595 744652 744673 744705 744712 744714 744726 744730 744735 744746 744751 744760 744762 744764 744795 744805 744822 744829 744831 744855 744866 744868 744880 744883 744889 744890 744892 744893 744919 744926 744932 744934 744937 744943 744945 744962 744967 744968 744971 744972 744973 744974 744975 744977 745013 745014 745018 745034 745075 745084 745091 745095 745099 745100 745106 745111 745136 745138 745140 745143 745147 745152 745153 745178 745186 745225 745227 745228 745230 745255 745261 745283 745285 745287 745288 745308 745311 745349 745351 745390 745413 745414 745489 745491 745492 745499 745502 745527 745528 745538 745545 745557 745558 745576 745581 745592 745601 745602 745609 745624 745673 745683 745687 745730 745744 745754 745792 745796 745811 745822 745843 745847 745848 745868 745872 745883 745941 745949 745961 745964 745972 745980 745981 745986 745989 745990 745994 745998 746001 746004 746016 746019 746025 746028 746053 746064 746099 746102 746226 746306 746317 746351 746365 746382 746385 746387 746405 746408 746424 746501 746502 746507 746548 746549 746550 746553 746556 746558 746560 746592 746593 746594 746597 746604 746605 746617 746651 746656 746671 746674 746685 746690 746695 746706 746725 746727 746731 746737 746742 746753 746789 746816 746835 746848 746855 746867 746883 746921 746924 746925 746949 746982 746984 746985 746988 746990 747002 747057 747064 747067 747074 747079 747085 747086 747102 747111 747122 747129 747145 747163 747165 747178 747241 747256 747258 747260 747263 747277 747316 747340 747419 747422 747433 747446 747459 747461 747464 747465 747468 747469 747479 747482 747496 747499 747526 747531 747533 747555 747577 747581 747602 747622 747623 747674 747690 747693 747708 747725 747730 747733 747738 747739 747742 747744 747763 747764 747766 747771 747776 747799 747833 747918 747963 747989 748012 748015 748021 748023 748038 748042 748046 748052 748090 748116 748123 748130 748159 748161 748162 748168 748169 748176 748181 748187 748188 748224 748225 748226 748243 748288 748294 748311 748324 748338 748340 748351 748352 748355 748359 748361 748370 748373 748375 748386 748397 748400 748407 748408 748412 748419 748426 748428 748429 748430 748448 748449 748452 748456 748458 748462 748464 748468 748469 748470 748473 748475 748480 748483 748485 748486 748497 748501 748520 748534 748535 748536 748538 748540 748554 748557 748607 748616 748618 748622 748625 748640 748659 748670 748671 748674 748683 748691 748694 748712 748723 748726 748731 748735 748852 748854 748882 748900 748901 748902 748903 748906 748912 749003 749006 749007 749008 749009 749014 749081 749082 749085 749087 749102 749107 749108 749126 749150 749165 749169 749180 749182 749202 749203 749211 749224 749246 749263 749266 749295 749302 749327 749331 749338 749346 749349 749361 749366 749367 749371 749379 749388 749389 749398 749409 749467 749496 749501 749512 749539 749556 749557 749565 749587 749591 749601 749611 749612 749616 749638 749689 749691 749698 749713 749715 749719 749721 749722 749731 749769 749793 749805 749807 749808 749836 749873 749879 749897 749901 749914 749937 749948 749951 749968 749975 750009 750011 750046 750053 750103 750110 750114 750125 750131 750145 750151 750167 750184 750189 750194 750196 750197 750208 750213 750216 750221 750231 750233 750242 750249 750259 750268 750270 750272 750285 750384 750429 750433 750440 750444 750461 750466 750778 750789 750790 750800 750801 750818 750826 750830 750831 750834 750876 750884 750885 750886 750901 750903 750941 750944 750945 750946 750949 750955 750957 750958 750960 750961 750962 750968 750986 750987 750988 750989 750990 750992 751000 751001 751002 751003 751004 751005 751007 751008 751010 751011 751012 751014 751019 751021 751022 751024 751025 751027 751037 751056 751057 751059 751068 751074 751079 751083 751084 751097 751098 751100 751101 751103 751104 751107 751110 751111 751112 751113 751115 751120 751122 751123 751124 751125 751126 751131 751134 751152 751153 751156 751157 751161 751168 751169 751172 751173 751174 751185 751202 751203 751204 751208 751220 751223 751225 751226 751230 751249 751250 751254 751267 751268 751273 751276 751278 751279 751280 751285 751306 751307 751308 751313 751322 751336 751337 751339 751340 751341 751342 751343 751344 751345 751356 751357 751360 751362 751381 751383 751387 751393 751398 751399 751400 751402 751406 751415 751422 751434 751435 751436 751437 751438 751443 751444 751445 751446 751447 751448 751449 751463 751485 751486 751489 751490 751491 751497 751505 751506 751509 751522 751523 751524 751525 751531 751538 751540 751543 751545 751547 751549 751553 751554 751562 751572 751574 751575 751576 751577 751583 751587 751602 751603 751604 751628 751629 751630 751631 751635 751636 751637 751638 751640 751643 751645 751647 751651 751656 751657 751658 751666 751667 751670 751693 751695 751696 751699 751700 751705 751708 751709 751711 751712 751713 751717 751718 751721 751722 751723 751730 751731 751732 751733 751738 751744 751748 751750 751751 751757 751759 751762 751770 751771 751772 751774 751777 751778 751779 751780 751781 751782 751783 751785 751791 751815 751816 751818 751824 751827 751830 751839 751843 751845 751846 751847 751849 751851 751860 751862 751870 751871 751872 751873 751878 751879 751881 751882 751883 751884 751885 751895 751905 751908 751909 751911 751912 751916 751919 751922 751923 751925 751926 751927 751928 751929 751930 751931 751932 751933 751936 751937 751941 751945 751946 751950 751951 751953 751955 751956 751958 751964 751965 752048 752097 752098 752099 752100 752104 752105 752109 752120 752121 752122 752123 752124 752125 752128 752130 752132 752138 752140 752143 752144 752146 752147 752149 752150 752166 752179 752180 752181 752191 752192 752193 752194 752195 752197 752198 752199 752202 752203 752205 752206 752207 752210 752216 752235 752237 752238 752244 752258 752262 752282 752285 752287 752290 752294 752297 752301 752304 752305 752306 752307 752308 752323 752324 752334 752335 752341 752342 752347 752353 752354 752355 795684 795691 795703 795789 795790 795793 795796 795797 795799 795800 795801 795802 795803 795804 795805 795806 795807 795808 795809 795810 795811 795812 795815 795816 795817 795818 795819 795820 795821 795822 795824 795825 795828 795829 795830 795833 795834 795836 795837 795839 795840 795841 795842 795844 795845 795846 795847 795849 795851 795852 795853 795855 795856 795857 795858 795861 795862 795864 795865 795866 795867 795870 795871 795872 795874 795875 795876 795878 795879 795880 795881 795886 795887 795888 795889 795890 795898 795902 795907 795909 795910 795915 795919 795929 795932 795934 795936 795937 795939 795940 795941 795942 795949 795950 795952 795953 795956 795958 795968 795969 795972 795974 795977 795983 795989 795992 795997 795998 796000 796002 796003 796004 796005 796007 796012 796013 796020 796021 796022 796023 796025 796031 796032 796033 796037 796038 796045 796046 796055 796059 796061 796068 796074 796075 796080 796081 796082 796083 796084 796085 796086 796089 796092 796094 796095 796099 796101 796102 796107 796109 796110 796113 796114 796115 796117 796120 796121 796122 796132 796133 796136 796137 796140 796145 796147 796148 796149 796154 796160 796173 796176 796179 796180 796184 796189 796190 796191 796195 796201 796202 796204 796205 796206 796232 796250 796252 796254 796267 796271 796274 796275 796279 796288 796290 809935 809936 809944 810006 810029 810058 810300 810350 810359 810361 812378 812435 812437 812454 813142 814120 814152 815119 815120 815316 836924 837143 837172 837173 837177 837178 847033 847092 847226 847231 847403 847415 847483 847604 847614 847780 847978 848027 848125 848126 848160 848164 848169 848251 848260 848291 848309 848317 848327 848334 848335 848336 848343 848349 848350 848382 848383 848396 848451 848484 848496 848548 848549 848579 848596 848610 848612 848624 848626 848642 848648 848718 848719 848722 848765 848786 848816 848818 848893 848965 848967 848968 848970 849659 849663 849708 849709 849728 849748 849773 849779 849784 849786 849840 849843 849867 849870 849882 849925 850024 850026 850027 850033 850034 850044 850058 850088 850131 850132 850133 850134 850135 850136 850137 850138 850139 850243 850247 850304 850439 850440 850475 850497 850554 850555 850569 850593 850594 850603 850620 850624 850638 850666 850672 850705 850715 850731 850741 850742 850743 850759 850811 850818 850850 850851 850852 850878 850918 851127 851237 851302 851341 851377 851391 851444 851452 851471 851483 851502 851567 851578 851593 851608 851647 851664 851704 851710 851716 851729 851732 851734 851735 851794 851796 851807 851821 851848 851849 851850 851866 851875 851881 851882 851883 851885 851886 851887 851888 851891 851894 851895 851896 851897 851900 851901 851902 851903 851909 851910 851917 851919 851932 851935 851936 851937 851939 851941 851961 851971 851979 851980 851991 851997 851998 852003 852004 852077 852110 852116 852135 852144 852162 852179 852180 852221 852264 852269 852271 852276 852283 852312 852361 852386 852396 852397 852407 852420 852421 852643 852654 852689 852702 852707 852757 852852 852862 852866 852874 852875 852879 852881 852891 852897 852899 852900 852920 852925 852928 852941 852942 852943 852945 852946 852949 852950 852952 852968 852975 852977 852980 852996 853010 853011 853013 853027 853030 853045 853070 853088 853104 853111 853113 853160 853195 853200 853208 853237 853240 853254 853277 853303 853310 853331 853386 853395 853398 853404 853602 853662 853683 853684 853685 853689 853694 853695 853707 853729 853793 853800 853804 853805 853806 853844 853852 853853 853856 853857 853858 853861 853877 853882 853891 853892 853897 853937 853970 854051 854067 854076 854077 854078 854084 854092 854094 854109 854110 854112 854114 854119 854121 854127 854129 854130 854135 854140 854141 854145 854165 854167 854202 854210 854211 854212 854217 854231 854242 854244 854248 854255 854258 854268 854283 854284 854292 854297 854309 854311 854312 854324 854326 854327 854328 854331 854338 854342 854357 854359 854365 854372 854377 854381 854382 854406 854416 854419 854428 854429 854434 854437 854438 854440 854441 854443 854448 854450 854451 854453 854458 854461 854467 854492 854493 854494 854495 854496 854498 854499 854503 854504 854506 854510 854511 854517 854524 854528 854530 854531 854532 854534 854535 854536 854537 854574 854706 854710 854723 854725 854727 854729 854739 854740 855227 855230 855232 856043 856047 856048 856120 856151 856169 856188 856203 856242 856247 856258 856269 856289 856293 856318 856327 856328 856346 856437 856457 856467 856482 856483 856486 856498 856499 856527 856529 856532 856533 856539 856560 856577 856587 856597 856604 856616 856619 856628 856631 856636 856669 856675 856679 856680 856685 856687 856692 856693 856697 856700 856705 856707 856710 856713 856716 856718 856722 856724 856725 856727 856730 856735 856737 856738 856739 856740 856741 856742 856743 856746 856759 856760 856761 856762 856770 856771 856772 856779 856781 856783 856794 856802 856805 856807 856808 856810 856811 856812 856817 856821 856825 856826 856830 856831 856835 856836 856838 856842 856847 856848 856849 856850 856871 856873 856874 856876 856901 856902 856905 856912 856913 856916 856919 856953 856956 856964 856969 856971 856981 856994 857006 857007 857010 857034 857035 857036 857043 857053 857065 857070 857090 857098 857101 857106 857116 857117 857120 857122 857131 857138 857148 857150 857153 857156 857157 857164 857175 857186 857204 857232 857262 857263 857265 857266 857267 857270 857280 857297 857305 857306 857307 857345 857357 857362 857385 857390 857404 857406 857427 857428 857430 857441 857468 857493 857495 857509 857511 857523 857524 857528 857533 857534 857535 857548 857588 857590 857591 857592 857593 857597 857737 857751 857765 857794 857813 857814 857817 857819 857820 857831 857833 857836 857837 857841 857842 857843 857846 857848 857851 857855 857856 857857 857858 857860 857861 857862 857863 857865 857866 857867 857891 857893 857894 857895 857943 857944 857945 857946 857950 857990 857991 858004 858005 858009 858065 858164 858181 858182 858185 858188 858192 858195 858196 858197 858214 858245 858246 858247 858250 858265 858266 858298 858312 858313 858317 858318 858319 858320 858321 858322 858513 858516 858540 858542 858547 858558 858563 858598 858599 858600 858613 858617 858618 858620 858621 858643 858660 858677 858681 858687 858696 858697 858714 858732 858734 858750 858756 858762 858765 858807 858808 858810 858814 858833 858866 858895 858900 858905 858958 858980 859015 859029 859036 859043 859045 859056 859063 859242 859246 859257 859298 859339 859871 859924 859935 859939 859943 859944 859946 859949 859952 859957 859960 859961 859962 859966 859969 859970 859971 859973 859974 859975 859976 859977 859987 860004 860006 860007 860014 860016 860019 860023 860026 860027 860028 860029 860037 860038 860040 860045 860046 860052 860060 860061 860062 860063 860131 860132 860142 860144 860154 860155 860157 860158 860159 860160 860161 860163 860166 860168 860169 860171 860173 860174 860175 860176 860183 860195 860197 860201 860204 860206 860207 860208 860209 860210 860211 860212 860213 860215 860216 860218 860227 860232 860233 860234 860235 860236 860238 860247 860256 860262 860267 860269 860281 860282 860284 860401 860433 860435 860439 860443 860444 860447 860451 860461 860468 860471 860475 860491 860496 860537 860547 860549 860551 860552 860564 860565 861151 861152 861154 861155 861157 861880 863087 863090 863093 863094 863129 863130 863134 863166 864576 864609 864611 864616 864632 864634 864638 864665 864668 864669 864670 864671 864715 864730 864749 864757 864758 864762 864808 864810 864822 865138 865148 865159 865166 865171 865181 865183 865199 865208 865209 865210 865211 865213 865214 865232 865236 865240 865245 865246 865255 865257 865258 865262 865264 865267 865271 865274 865277 865357 865440 865441 865470 865492 865502 865513 865529 865536 865570 865573 865575 865577 865578 865589 865616 865619 865629 865645 865647 865681 865690 865693 865700 865754 865783 865785 865788 865791 865818 865838 865840 865850 865884 865886 865890 865998 866001 866097 866123 866124 866126 866130 866131 866143 866180 866184 866187 866188 866239 866241 866321 866323 866586 866634 866648 866674 866938 867390 868735 868905 868908 868952 869147 869150 869523 869525 869528 869532 870074 870082 870125 870497 870505 870953 871348 871456 871533 871535 871547 871563 871617 872054 872106 872205 872215 872216 872218 872239 872328 876973 876991 876997 876998 877000 877008 877010 877012 877013 877015 877016 877023 877030 877035 877037 877041 877045 877046 877048 877055 877056 877058 877059 877061 877064 877072 877077 877090 877099 877105 877107 877112 877116 877117 877119 877121 877133 877147 877148 877149 877152 877153 877163 877169 877172 877203 877208 877210 877214 877221 877259 877260 877263 877264 877265 877267 877274 877275 877277 877302 877307 877312 877319 877322 877339 877367 877372 877389 877393 877396 877398 877399 877400 877401 877415 877417 877424 877430 877431 877433 877434 877438 877440 877445 877447 877449 877456 877464 877478 877510 877544 877548 877551 877552 877553 877554 877556 877557 877561 877564 877567 877570 877576 877584 877586 877603 877613 877635 877643 877646 877656 877682 877686 877694 877854 878486 878511 878515 878520 878521 878544 878549 878552 878554 878555 878564 878570 878573 878576 878588 878606 878624 878626 878627 878631 878649 878650 878651 878653 878654 878655 878657 878671 878674 878675 878676 878677 878679 878680 878681 878682 878684 878693 878705 878751 878773 878787 883715 887799 887801 887866 887976 917713 917715 917716 917796 917798 917805 917807 917808 917811 917875 917967 917981 917990 917996 919556 919563 919613 919614 919615 919619 919621 919627 919628 919631 919632 919642 919645 919648 919658 919659 919671 919673 919693 919696 919702 919715 919718 919746 919747 919755 919794 919795 919796 919797 919800 919818 919823 919833 919861 919862 919880 919881 919889 919894 919899 919907 919909 919913 919914 919923 919934 919940 919945 919977 919980 919984 919993 919997 920012 920014 920015 920018 920032 920049 920053 920065 920089 920099 920101 920116 920156 920157 920160 920163 920176 920182 920186 920193 920195 920209 920216 920230 920233 920235 920249 920258 920348 920350 920358 920490 920493 920519 920601 920627 920646 920715 920735 935560 936016 936215 936243 936244 936249 936250 936251 936254 936263 936273 940070 940929 940930 940931 940932 940933 940958 941011 941042 941057 941058 941059 941060 941062 941091 941092 941240 941249 947622 947660 947700 947751 947847 947858 947869 947912 947915 947921 947939 947961 948008 948017 948028 948037 948039 948050 948052 948065 948068 948069 948071 948072 948074 948075 948085 948086 948087 948089 948106 948109 948110 948113 948114 948116 948119 948120 948139 948141 948149 948150 948153 948154 948158 948160 948162 948167 948168 948183 948186 948187 948192 948195 948198 948199 948201 948202 948204 948205 948207 948211 948220 948221 948224 948227 948229 948230 948231 948237 948238 948243 948245 948249 948261 948264 948265 948266 948268 948275 948277 948279 948281 948284 948296 948341 948342 948343 948347 948355 948357 948358 948360 948363 948364 948369 948370 948371 948379 948381 948382 948387 948389 948393 948395 948397 948398 948402 948403 948404 948406 948409 948410 948415 948441 948473 948474 948476 948480 948484 948485 948491 948592 948595 948597 948599 948607 948608 948614 948631 948638 948650 948653 948664 948668 948672 948684 948685 948688 948689 948691 948692 948707 948710 948711 948712 948714 948721 948729 948738 948739 948740 948747 948755 948768 948777 948779 948780 948783 948802 948807 948824 948826 948835 948845 948849 948859 948861 948863 948873 948876 948877 948885 948891 948892 948896 948906 948908 948909 948921 948946 948948 948950 948951 948954 948968 948971 948998 949021 949033 949036 949037 949039 949040 949045 949049 949056 949076 949078 949083 949091 949101 949102 949116 949134 949143 949144 949147 949149 949173 949177 949179 949180 949191 949272 949496 949505 949506 949570 949658 949664 949683 949690 949691 949804 949855 949856 949857 949885 950112 950121 950123 950124 969687 994344 994516 995195 1095925 1095928 1095929 1095979 1095999 1096000 1096022 1096063 1096067 1096069 1096070 1096075 1096084 1096087 1096108 1096115 1096116 1096125 1096154 1096155 1096168 1096184 1096189 1096197 1096211 1096222 1096229 1096230 1096231 1096232 1096242 1096243 1096246 1096248 1096249 1096251 1096253 1096254 1096256 1096257 1096258 1096260 1096261 1096262 1096266 1096272 1096274 1096278 1096280 1096281 1096285 1096293 1096296 1096298 1096301 1096307 1096308 1096328 1096335 1096352 1096358 1096359 1096363 1096377 1096387 1096393 1096410 1096418 1096441 1096447 1096452 1096456 1096458 1096494 1096495 1096511 1096520 1096527 1096543 1096556 1096560 1096562 1096565 1096567 1096570 1096571 1096572 1096574 1096575 1096579 1096581 1096582 1096584 1096585 1096586 1096587 1096588 1096589 1096595 1096597 1096599 1096600 1096601 1096607 1096617 1096618 1096627 1096641 1096644 1096656 1096669 1096678 1096691 1096711 1096718 1096721 1096729 1096730 1096733 1096736 1096746 1096749 1096902 1096903 1112116 1112136 1112149 1112152 1112157 1112159 1112162 1112164 1112165 1112170 1112173 1112174 1112175 1112176 1112177 1112191 1112192 1112204 1112207 1112208 1112209 1112210 1112211 1112212 1112213 1112214 1112220 1112223 1112250 1112256 1112257 1112261 1112263 1112272 1112275 1112303 1112306 1112311 1112313 1112315 1112316 1112321 1112324 1112338 1112340 1112341 1112346 1112349 1112356 1112359 1112360 1112362 1112364 1112365 1112366 1112386 1112392 1112402 1112403 1112412 1112413 1112415 1112428 1112429 1112433 1112440 1112452 1112466 1112468 1112469 1112472 1112473 1112478 1112486 1112489 1112517 1112518 1112522 1112523 1112524 1112525 1112554 1112555 1112558 1112564 1112565 1112567 1112571 1112572 1112574 1112575 1112576 1112577 1112578 1112597 1112600 1112601 1112602 1112608 1112610 1112611 1112613 1112618 1112620 1112626 1112628 1112629 1112631 1112637 1112639 1112640 1112641 1112651 1112655 1112656 1112657 1112659 1112662 1112664 1112668 1112674 1112677 1112681 1112732 1112734 1112747 1112755 1112765 1112768 1112770 1112776 1112787 1112789 1113664 1135188 1135189 1135191 1135193 1135194 1135196 1135198 1135199 1135335 1135343 1135344 1135345 1135352 1135354 1135361 1135362 1135365 1135746 1135747 1135821 1135841 1135869 1135993 1136033 1136135 1136148 1136154 1136321 1136382 1137478 1138434 1141873 1141885 1141920 1141923 1141926 1141927 1141933 1141934 1141936 1141937 1141940 1141957 1142001 1142005 1142010 1142023 1142028 1142078 1142110 1142115 1142124 1142125 1142126 1142127 1142131 1142132 1142138 1142139 1142140 1142145 1142146 1142150 1142151 1142152 1142158 1142163 1142166 1142168 1142170 1142182 1142183 1142186 1142187 1142214 1142223 1142226 1142232 1142233 1142247 1142248 1142253 1142267 1142270 1142272 1142276 1142279 1142280 1142288 1142290 1142300 1142306 1142307 1142358 1142397 1142419 1142420 1142423 1142425 1142427 1142428 1142433 1142434 1142438 1142439 1142442 1142447 1142453 1142461 1142469 1142509 1142514 1142523 1142536 1142550 1142553 1142560 1142567 1142569 1142573 1142578 1144799 1145628 1145670 1146542 1148551 1153734 1167650 1167654 1167659 1167662 1167663 1167664 1167667 1167668 1167674 1167677 1167682 1167683 1167698 1167699 1167709 1167726 1167727 1167728 1167731 1167732 1167745 1167750 1167751 1167752 1167759 1167767 1167769 1167779 1167785 1167791 1167792 1167840 1167847 1167854 1167866 1167867 1167942 1167943 1167981 1168154 1168162 1168163 1168164 1168167 1168173 1168176 1168177 1168184 1168186 1168187 1168215 1168225 1168226 1168229 1168231 1168248 1168250 1168255 1168263 1168266 1168267 1168268 1168270 1168271 1168273 1168278 1168284 1168290 1168291 1168305 1168308 1168309 1168322 1168324 1168330 1168331 1168334 1168356 1168522 1168524 1171315 1171326 1171328 1171349 1171363 1175175 1253936 1257752 1257753 1257763 1257765 1257796 1257797 1257798 1257799 1257843 1257844 1257845 1257847 1257848 1257869 1257870 1257872 1257878 1257915 1257958 1257959 1257960 1257963 1257964 1257965 1258012 1258039 1258085 1258090 1258104 1258215 1258220 1258221 1260334 1260386 1260396 1260397 1260402 1260404 1260405 1260406 1260436 1260703 1260705 1260710 1260871 1260873 1260874 1260879 1260881 1260882 1260883 1260885 1260892 1260894 1260896 1260899 1260901 1260902 1260903 1260904 1260914 1260915 1260917 1261128 1261175 1261278 1261279 1261283 1261284 1261380 1261469 1261959 1261962 1261970 1261975 1261978 1261982 1262004 1262005 1262008 1262010 1262021 1262037 1262064 1262073 1262087 1262091 1262098 1262106 1262113 1262117 1262135 1262146 1262147 1262149 1262150 1262152 1262155 1262161 1262164 1262166 1262170 1262182 1262184 1262186 1262192 1262194 1262195 1262197 1262198 1262200 1262202 1262203 1262206 1262209 1262210 1262211 1262214 1262215 1262216 1262217 1262220 1262222 1262224 1262234 1262244 1262256 1262280 1262284 1262288 1262289 1262294 1262296 1262299 1262305 1262306 1262307 1262313 1262470 1262480 1262481 1262482 1262483 1262593 1262760 1262954 1263658 1263663 1263665 1263666 1263667 1263668 1263669 1263721 1263722 1263723 1263725 1263726 1263729 1263733 1263734 1263736 1263738 1263741 1263744 1263745 1263746 1263748 1263750 1263753 1263758 1263833 1263849 1263853 1263854 1263855 1263856 1263857 1263858 1263859 1263863 1263868 1263869 1263871 1263872 1263876 1263879 1263880 1263950 1263953 1263957 1263958 1263960 1263964 1263982 1263988 1263989 1263995 1263996 1264000 1264005 1264006 1264008 1264016 1264030 1264031 1264032 1264033 1264039 1264040 1264041 1264047 1264176 1264180 1264606 1264610 1264614 1264617 1264624 1265579 1265727 1265766 1265767 1265768 1265769 1265770 1265771 1265773 1265775 1265776 1265778 1265779 1265791 1265792 1265866 1265884 1265967 1268581 1268586 1268588 1268604 1268605 1268606 1268935 1268936 1268937 1269686 1269700 1269759 1269766 1269789 1269816 1269831 1269841 1270169 1270923 1271073 1271150 1271404 1271448 1272174 1272766 1273070 1273353 1273758 1273976 1274101 1274103 1274149 1274161 1274162 1274166 1274167 1274175 1274184 1274185 1274225 1274227 1274228 1274232 1274233 1274236 1274248 1274266 1274267 1274268 1274283 1274284 1274293 1274296 1274297 1274315 1274317 1274319 1274320 1274321 1274323 1274330 1274338 1274340 1274343 1274346 1274347 1274356 1274360 1274364 1274366 1274373 1274375 1274377 1274378 1274400 1274402 1274408 1274411 1274476 1274513 1274514 1274516 1274518 1274519 1274520 1274535 1274536 1274538 1274552 1274557 1274563 1274581 1274582 1274583 1274593 1274594 1274595 1274596 1274597 1274598 1274645 1274646 1274648 1274649 1274653 1274657 1274669 1274684 1274685 1274700 1274703 1274704 1274706 1274710 1274711 1274718 1274725 1274727 1274728 1274729 1274734 1274743 1274746 1274748 1274749 1274753 1274754 1274755 1274759 1274760 1274769 1274770 1274778 1274779 1274788 1274789 1274790 1274802 1274808 1274820 1274832 1274848 1274849 1274865 1274869 1274876 1274899 1274900 1274928 1274933 1274934 1274939 1274943 1274947 1274951 1274952 1274953 1274955 1274957 1274960 1274965 1274978 1274981 1274987 1274988 1274989 1274999 1275001 1275006 1275016 1275018 1275019 1275021 1275022 1275035 1275036 1275040 1275044 1275047 1275052 1275062 1275092 1275093 1275095 1275104 1275112 1275114 1275115 1275116 1275128 1275134 1275136 1275234 1275337 1275338 1275339 1275344 1275345 1275398 1275426 1275429 1275433 1275435 1275450 1275454 1275455 1275456 1275459 1275461 1275499 1275589 1275592 1275627 1275684 1275685 1275686 1275718 1275739 1275742 1275796 1275808 1275816 1275955 1275966 1275974 1276000 1276001 1276002 1276003 1276004 1276061 1276070 1276071 1276072 1276076 1276090 1276091 1276092 1276093 1276094 1276096 1276098 1276108 1276109 1276112 1276114 1276115 1276117 1276118 1276127 1276133 1276238 1276801 1277109 1277259 1277265 1278535 1278536 1278537 1278725 1278743 1278797 1278807 1278821 1279186 1279247 1279264 1279369 1279374 1279375 1279376 1279386 1279481 1279621 1279638 1279645 1279945 1280001 1280040 1280433 1280469 1280777 1280798 1281062 1281300 1281372 1281373 1281429 1281440 1281485 1281914 1281915 1281924 1281929 1281933 1281934 1281935 1281936 1281939 1281942 1281998 1281999 1282040 1282041 1282042 1282043 1282044 1282139 1282186 1282191 1282192 1282204 1282208 1282209 1282226 1282227 1282228 1282229 1282230 1282231 1282232 1282234 1282235 1282239 1282241 1282344 1282359 1282360 1282362 1282365 1282374 1282375 1282376 1282461 1282521 1282522 1282539 1282584 1282609 1282843 1282926 1282952 1282956 1282958 1282963 1282974 1282975 1282976 1282977 1282979 1282985 1282988 1282998 1283034 1283271 1283292 1283297 1283348 1283370 1283386 1283620 1283787 1283803 1283805 1283819 1285162 1285175 1285186 1285291 1285294 1285355 1285373 1285403 1285508 1288265 1288279 1288283 1290009 1290012 1290013 1290044 1290049 1290062 1290063 1290071 1290073 1290074 1290136 1290137 1290138 1290140 1290143 1290145 1290147 1290158 1290160 1290161 1290165 1290209 1290210 1290212 1290331 1290334 1290336 1290338 1290339 1290340 1290342 1290343 1290344 1290379 1290383 1290385 1290386 1290387 1290391 1290392 1290399 1290468 1290481 1290514 1290587 1290630 1290632 1290638 1290645 1290646 1290647 1290649 1290651 1290659 1290664 1290665 1290674 1290686 1290687 1290688 1290710 1290713 1290714 1290721 1290722 1290728 1290755 1290785 1290801 1290804 1290805 1290807 1290816 1290817 1290819 1290820 1290826 1290829 1290834 1290838 1290840 1290854 1290856 1290864 1290869 1290870 1290877 1290882 1290884 1290885 1290886 1290891 1290892 1290893 1291487 1297912 1298680 1298681 1298682 1298685 1298693 1298807 1298817 1299432 1299433 1299435 1299445 1299539 1299567 1299569 1299571 1299579 1299591 1299601 1299605 1299624 1299625 1299627 1299628 1299631 1299633 1299641 1299645 1299648 1299878 1299880 1299881 1299882 1299884 1299888 1299895 1299897 1299898 1299899 1299902 1299903 1299904 1299906 1299908 1299910 1299911 1299916 1299917 1299918 1299919 1299920 1299926 1299929 1299930 1299931 1299948 1300115 1300128 1300208 1300226 1300230 1300237 1300256 1300260 1300261 1300266 1300285 1300287 1300576 1300643 1300681 1301260 1301339 1301341 1301502 1301509 1301511 1301518 1301527 1301529 1301530 1301533 1301554 1301629 1301670 1301700 1301721 1301727 1301752 1301813 1301933 1301959 1302110 1302148 1302291 1302323 1302355 1302363 1302454 1302539 1302725 1302740 1302753 1302787 1302790 1302793 1302794 1302813 1302836 1302839 1302850 1302990 1302991 1302993 1302995 1302997 1303005 1303006 1303025 1303073 1303258 1304000 1304004 1304009 1304027 1304041 1304044 1304066 1304076 1304080 1304088 1304097 1304107 1304111 1304113 1304114 1304115 1304116 1304117 1304119 1304121 1304123 1304124 1304140 1304147 1304152 1304163 1304164 1304165 1304166 1304167 1304168 1304170 1304171 1304172 1304176 1304177 1304191 1304193 1304195 1304205 1304209 1304211 1304212 1304213 1304214 1304215 1304219 1304224 1304226 1304243 1304246 1304248 1304249 1304258 1304345 1304357 1304376 1304384 1304400 1304415 1304416 1304424 1304431 1304434 1304435 1304442 1304451 1304457 1304463 1304464 1304469 1304470 1304477 1304483 1304484 1304511 1304514 1304674 1304955 1305108 1305122 1305147 1305233 1305332 1305385 1305876 1305904 1305924 1305932 1305935 1305936 1305966 1306038 1306063 1306112 1306121 1306122 1306162 1306220 1306229 1306306 1306446 1306484 1306557 1306564 1306579 1306587 1306589 1306600 1306656 1306657 1306674 1306720 1306759 1306762 1306792 1306794 1306797 1306798 1306800 1306803 1306804 1306838 1306839 1306840 1306842 1306853 1306856 1306859 1306860 1306863 1306877 1306889 1313884 1313902 1313961 1313962 1313977 1313983 1314753 1314769 1314968 1318020 1318054 1318212 1318484 1318485 1318486 1318500 1318505 1318518 1318520 1318532 1318533 1318547 1318705 1318710 1318711 1318881 1318974 1319005 1319006 1319018 1319124 1319184 1319186 1319187 1319193 1319194 1319264 1319296 1319384 1319466 1319860 1320182 1320186 1320191 1320207 1320208 1320214 1320317 1320323 1320639 1320640 1320644 1320684 1320685 1320726 1320834 1321098 1321120 1321135 1321136 1321275 1321311 1321314 1321315 1321319 1321320 1321321 1321332 1321345 1321406 1321415 1321494 1321551 1321554 1321558 1321580 1321581 1321726 1321782 1321809 1321858 1321906 1322253 1322280 1322281 1323099 1323189 1327915 1327916 1327917 1327918 1327919 1328248 1328252 1328274 1328280 1328296 1328302 1328306 1328307 1328315 1328324 1328329 1328333 1328334 1328338 1328339 1328348 1328352 1328353 1328355 1328361 1328377 1328380 1328381 1328382 1328383 1328405 1328447 1328465 1328469 1328470 1328474 1328480 1328481 1328486 1328487 1328492 1328499 1328500 1328502 1328506 1328512 1328518 1328519 1328520 1328521 1328528 1328529 1328535 1328541 1328552 1328557 1328560 1328577 1328584 1328587 1328588 1328590 1328839 1328840 1328842 1328843 1328931 1328971 1331537 1331541 1331543 1332041 1332053 1332058 1332060 1332061 1332133 1332140 1332149 1332162 1332264 1332309 1332335 1332341 1332432 1332629 1332655 1332657 1332928 1333033 1333056 1333088 1333090 1333111 1333146 1333147 1333272 1333273 1333291 1333303 1333375 1333387 1333465 1333606 1333612 1333619 1333625 1333627 1333764 1333786 1333801 1333810 1333816 1333876 1333964 1333996 1334061 1334067 1334069 1334070 1334150 1334228 1334233 1334376 1334644 1334753 1334828 1334997 1335017 1335019 1335020 1335023 1335034 1335038 1335041 1335042 1335053 1335160 1335319 1335344 1335410 1335437 1335471 1335662 1335667 1335679 1335774 1336043 1336050 1336505 1336532 1336741 1336827 1336828 1336884 1336889 1336893 1336978 1336980 1337035 1364634 1364667 1366395 1368020 1368107 1368797 1369008 1370824 1373207 1373211 1373218 1373221 1373225 1373227 1373228 1382811 1384353 1384484 1384498 1384514 1384582 1384583 1384584 1384588 1384589 1384597 1384600 1384601 1384631 1384641 1384669 1384685 1385938 1386407 1386468 1386609 1386916 1387055 1387303 1387323 1387511 1387583 1387797 1388038 1388165 1388177 1388846 1389173 1389283 1389285 1389288 1389477 1389588 1389790 1389994 1390005 1390054 1390409 1390422 1390586 1390675 1390680 1390944 1391387 1391824 1392013 1392034 1392435 1392478 1392485 1392499 1392733 1392777 1393961 1393998 1394250 1394254 1394296 1394320 1394497 1394501 1394752 1395422 1395799 1395858 1395998 1396188 1396225 1396318 1396457 1396469 1396617 1396635 1396644 1396717 1396723 1396765 1396850 1396851 1397043 1397044 1397114 1397119 1397204 1397216 1397228 1397408 1397469 1397528 1397626 1397629 1397694 1397910 1398035 1398071 1398072 1398078 1398341 1398434 1398436 1398740 1398810 1398848 1398850 1398924 1398995 1399030 1399077 1399084 1399127 1399222 1399226 1399238 1399268 1399294 1399352 1399358 1399429 1399437 1399460 1399475 1399494 1399713 1399774 1399870 1399886 1399887 1399900 1399972 1399992 1400126 1400229 1400296 1400330 1400624 1400809 1400891 1400945 1401054 1401084 1401251 1401262 1401324 1401336 1401381 1401567 1401602 1401619 1401659 1401660 1401732 1401790 1401891 1402238 1402294 1402302 1402303 1402829 1402996 1403038 1403043 1403208 1403246 1403411 1403468 1403521 1403665 1403700 1403701 1403703 1403889 1403891 1403933 1403984 1404028 1404043 1404279 1404351 1404418 1404708 1404779 1404863 1404890 1405002 1405013 1405128 1405149 1405195 1405218 1405273 1405274 1405275 1405315 1405330 1405386 1405557 1405558 1405696 1405848 1405877 1405883 1405901 1405916 1405920 1405923 1405924 1405927 1405928 1405938 1405947 1405964 1405994 1406282 1406338 1406361 1406371 1406384 1406654 1406670 1406762 1406778 1406801 1406916 1406941 1406964 1407098 1407180 1407216 1407991 1408027 1408060 1408148 1408367 1408443 1408460 1408506 1408515 1408637 1408638 1408833 1408922 1408984 1409075 1409080 1409096 1409098 1409100 1409151 1409177 1409178 1409186 1409203 1409269 1409355 1409396 1409400 1409412 1409431 1409457 1409545 1409727 1409754 1409813 1409892 1409894 1409949 1410008 1410084 1410088 1410136 1410337 1410694 1410749 1410758 1410763 1410993 1410995 1411056 1411157 1411250 1411916 1412000 1412002 1412041 1439298 1442826 1442835 1442837 1442839 1442863 1442868 1442869 1442879 1442891 1442904 1442906 1442907 1442933 1442958 1442968 1442969 1442981 1442993 1442995 1443069 1443228 1443283 1443296 1443301 1443845 1443847 1443851 1443859 1443892 1443893 1443895 1443896 1443900 1443901 1443952 1443953 1443971 1443972 1443979 1443984 1443985 1444007 1444077 1444187 1444193 1444199 1444565 1444598 1444599 1444600 1444601 1444604 1444605 1444613 1444621 1444623 1444624 1444626 1444627 1444628 1444629 1444630 1444632 1444672 1444680 1444681 1444690 1444691 1444840 1444841 1444855 1446219 1446348 1446899 1449563 1449629 1449630 1449631 1449646 1449647 1449718 1449720 1449744 1449809 1449844 1449852 1449853 1449854 1450051 1450052 1455703 1455705 1455707 1455713 1455728 1455742 1455749 1455780 1455782 1456132 1456136 1456158 1456164 1456165 1456171 1456173 1456183 1456217 1456240 1456248 1456249 1456251 1456258 1456282 1456333 1456360 1456502 1456503 1456575 1456576 1456654 1456660 1456669 1456670 1456698 1456822 1456868 1456873 1457871 1457881 1457897 1457909 1458140 1458152 1504326 1504336 1504347 1504351 1504367 1504368 1504369 1504375 1504377 1504381 1504384 1504402 1504404 1504406 1504412 1504419 1504427 1504431 1504436 1504438 1504439 1504460 1504462 1504463 1504474 1504483 1504485 1504507 1504508 1504510 1504511 1504513 1504514 1504517 1504526 1504530 1504532 1504533 1504536 1504537 1504541 1504547 1504551 1504553 1504554 1504555 1504557 1504559 1504562 1504567 1504568 1504569 1510415 1510417 1510428 1510429 1510431 1510437 1510446 1510455 1510460 1510471 1510475 1510479 1510489 1510497 1510508 1510517 1510600 1510654 1510661 1511789 1512326 1512508 1512608 1512709 1512720 1513041 1513630 1514284 1516986 1517744 1518296 1518374 1518742 1518743 1519680 1521728 1521861 1522245 1522522 1524056 1527030 1527168 1527170 1527226 1527231 1527258 1527263 1527281 1527284 1527287 1527298 1527303 1527306 1527310 1527311 1527317 1527320 1527330 1527335 1527336 1527338 1527340 1527344 1527351 1527353 1527356 1527358 1527366 1527368 1527369 1527375 1527382 1527383 1527388 1527393 1527394 1527395 1527396 1527401 1527405 1527406 1527407 1527408 1527410 1527411 1531394 1531395 1531510 1531526 1531586 1531605 1531624 1531646 1531647 1531700 1531773 1531872 1531891 1532019 1532020 1532094 1532134 1532239 1532241 1532281 1532322 1532406 1532408 1532480 1532533 1532550 1532654 1532677 1532688 1532707 1532710 1532735 1532782 1532790 1532932 1532959 1533010 1533022 1533041 1533046 1533049 1533060 1533137 1533172 1533195 1533210 1533568 1533587 1533628 1533674 1534653 1534903 1535478 1535511 1535513 1535877 1535887 1535900 1535916 1535917 1535927 1535930 1535933 1535939 1535942 1535943 1535948 1535950 1535967 1535976 1535984 1535985 1535993 1536009 1536021 1536022 1536043 1536048 1536054 1536066 1536075 1536077 1536079 1536085 1536106 1536115 1536122 1536123 1536124 1536131 1536132 1536133 1536156 1536174 1536183 1536184 1536186 1536188 1536220 1536221 1536222 1536279 1536454 1536459 1536500 1536507 1536651 1536809 1536989 1537177 1540600 1540680 1541124 1542665 1542666 1542667 1556478 1556486 1556499 1556503 1556507 1556521 1556534 1557269 1557313 1557335 1557678 1557689 1557971 1557983 1557989 1557995 1558001 1558040 1558165 1558931 1558937 1558951 1559090 1559154 1559192 1559461 1559502 1559508 1560348 1560359 1560945 1561335 1561618 1561621 1561623 1561624 1561635 1561642 1561643 1561645 1561824 1561855 1561856 1561862 1561866 1561883 1561887 1561892 1561893 1561894 1561912 1561982 1561989 1561991 1561993 1561995 1562028 1562049 1562061 1562081 1562082 1562095 1562210 1562230 1562256 1562278 1562309 1562349 1562414 1562454 1562462 1562468 1562483 1562543 1562585 1562627 1562680 1562689 1562722 1562723 1562761 1562773 1562805 1562808 1562839 1562893 1562894 1562901 1562907 1562908 1563054 1563188 1563696 1563697 1563715 1563716 1563718 1563719 1563720 1563921 1565106 1565107 1565171 1565172 1565191 1565321 1565489 1565662 1565886 1566302 1567426 1567427 1567664 1567741 1567742 1567743 1567744 1568249 1568272 1568363 1568868 1576409 1578691 1579029 1579094 1608230 1608389 1608393 1608406 1608415 1608417 1608418 1608426 1608427 1608428 1608432 1608434 1608945 1608946 1608953 1608955 1608963 1608967 1608973 1608980 1608983 1608987 1609505 1609508 1609516 1609523 1609524 1609528 1609531 1609534 1609535 1609538 1610053 1610055 1610066 1610069 1610074 1610086 1610599 1610600 1610606 1610616 1610617 1610619 1610620 1610621 1610632 1610634 1610637 1611158 1611166 1611171 1611178 1611184 1611190 1611195 1611706 1611707 1611712 1611713 1611722 1611731 1611740 1611741 1617072 1619692 1619705 1619711 1619713 1619715 1619725 1619727 1619731 1619734 1619738)\n(42 875 8955 9597 10104 13621 13626 13627 13630 13631 13632 13636 13638 13639 13640 13641 13642 13643 13645 13646 13647 13649 13650 13652 13656 13660 15592 15604 15770 18122 18703 18715 21599 21793 21795 23018 23865 24500 25370 30688 31805 32929 33344 35051 35182 35183 35184 36598 36604 36669 36879 36999 37447 38490 38491 39401 39403 40365 40605 40606 40607 40608 42933 42934 43113 43211 80236 85137 150384 150562 150577 150578 150599 175977 200023 200029 204116 204117 204945 204956 220815 220924 220931 237439 237455 237484 237620 237639 237640 237645 237678 237681 237683 237690 237782 237856 237896 237923 237925 237926 237927 237941 242261 242262 243012 260020 278373 282569 282570 418933 424936 474213 545441 556513 588974 589414 596124 596424 596460 596573 597274 597424 597792 598565 600394 600562 600563 679003 679780 681113 681328 681336 681337 681339 681340 681341 681344 681345 681354 681362 681365 681367 681369 681375 681376 681377 681392 681393 681399 681400 681404 683497 683505 683844 683848 683849 683850 683852 683857 729314 729375 814799 814800 814802 814803 814805 815241 815244 851345 851868 857754 869041 870162 870235 870249 870259 870293 870309 870321 870329 870353 870362 870378 870389 870419 870466 870599 870657 870838 870859 870891 870899 870924 870929 870974 871054 871106 871110 871175 871184 871193 871218 871232 871239 871246 871290 871300 871321 871390 871422 871452 871573 871578 871627 871642 871656 871658 871714 871721 871730 871731 871781 871841 871861 871868 871890 871930 871957 872010 920411 920483 920484 920485 920576 1113653 1136358 1186996 1272340 1272438 1276366 1276398 1276400 1276791 1304805 1328959 1443505 1444245 1444297 1444300 1510551 1510749 1511289 1514602 1514886 1516185 1516217 1533686)\n(43 1111 1873 14419 17095 21265 28265 34552 36861 37366 37370 43056 85420 206217 206218 282346 337178 337180 337182 392355 522737 522738 598015 681381 683932 686918 814839 1321078)\n(44 546 617 658 2335 3695 3701 3719 7047 9030 12471 12472 13724 13725 20349 23542 23544 23545 23546 23547 23548 31851 33532 33541 33542 33554 33556 33557 33558 33559 33560 33561 33562 33563 33564 33567 33568 34489 38091 40057 40059 40061 44639 44676 44728 44730 44733 44744 44796 44799 44800 44808 44875 44880 44883 44886 44887 44898 44899 44901 44902 44903 44923 44987 45021 45040 45053 45058 45059 45060 46084 46234 46606 46608 46610 46616 46622 46623 48867 48944 49209 49210 49633 49896 49964 49981 50090 50127 50129 50218 50271 50275 51147 52292 53336 54722 55705 55778 55832 55862 57305 58310 58978 59066 59302 59412 59413 59416 59753 60108 60109 60195 62537 62944 62984 63310 64843 64845 64848 64852 64855 64877 64987 65258 65808 66856 67741 68769 68902 69540 69541 69546 69547 69557 71080 71139 72261 72262 72263 72264 72265 72268 72270 72273 72275 72278 72279 72281 72282 72285 72286 72287 72288 72293 72294 72302 73503 73508 75060 75070 75074 75146 75628 75812 76055 76320 76563 76564 76565 76884 77620 77633 78726 78820 78822 79594 80832 82460 82760 83146 84197 84198 85063 85174 85191 85199 86997 90256 90839 90840 98452 99260 100244 105310 107496 109172 111148 112018 114848 117360 117361 125631 125639 125644 126245 127783 128330 130779 131830 133598 133948 133950 133967 136242 136278 136280 136328 138703 138726 142202 142466 143371 145101 146847 146961 147450 147458 147728 149433 163638 164190 164595 164716 165099 165137 168219 170483 172361 178485 205821 205911 206866 208337 208841 211726 215496 216938 217353 219073 243388 243848 244215 253070 253535 253538 253664 253665 256632 256661 256664 283543 283956 287061 289701 293196 293826 295046 295541 298832 299416 299417 300818 300841 300843 300845 312821 354594 369841 376150 376357 377863 379000 379125 379446 379742 381285 382233 520504 526064 526182 527038 529278 530798 537044 539445 591238 591321 591389 592000 592016 593527 608269 610344 610357 610360 610661 613908 614489 616637 616694 621904 623167 624413 624877 624963 624968 624973 626299 627803 629335 631837 634597 634762 637100 637168 637170 637211 638523 638605 641073 641563 642815 643693 643696 645534 646199 651589 653252 654542 654979 654981 656570 662889 664569 664644 664767 667547 668450 668453 672934 673634 678166 699143 699144 699577 699578 699579 699667 701180 701898 701899 717883 732850 733549 755121 756491 756493 759283 759286 763167 767831 767833 795730 878252 878278 878295 909237 915466 917834 939466 949860 949861 950286 950409 950592 962627 965091 965622 1136820 1144372 1172853 1173998 1260157 1271556 1451500 1451501 1451502 1529313 1537011 1541936 1563752 1567186 1567521)\n(45 893 1246 2367 2467 3075 3380 3781 3818 4091 4749 5139 5642 6030 6223 6632 6636 6675 6704 6718 6758 7009 7010 7017 7021 7828 7829 7830 7886 7888 7889 7955 8209 8574 8578 9148 9152 9968 9977 10473 11744 12787 13407 13879 13880 14688 15180 16330 16678 16911 16980 16982 16983 17112 17479 18026 18030 18035 18488 18544 18880 19846 20275 21223 21968 21969 21970 22023 22071 22072 22089 22090 22262 22792 23031 23151 23175 23870 24170 24467 24706 25424 25426 25553 25554 25555 25556 26402 27599 27608 27734 28013 28101 28158 28162 28237 29383 30054 30061 30230 31705 31706 31708 32207 32259 32390 32821 32833 32904 33406 33597 33727 34551 34595 34625 34629 35419 35493 35930 35973 36147 36274 36581 37107 37125 37473 37547 37684 38467 38468 38469 38774 38780 38836 39297 39411 39462 39541 39738 39994 40066 40238 40302 40577 41119 41383 41928 42306 42906 43339 43340 43341 43431 43432 43433 43481 43489 43499 43506 48471 50279 51702 52064 53548 53740 57717 58347 60222 60937 63096 65207 69599 69646 70471 71294 71526 71781 71782 72962 74543 74565 75922 75939 75991 76030 76369 76370 76535 76735 76737 77852 82568 84802 108423 108600 122922 123488 131335 137332 137333 141639 145059 145712 145995 146941 162772 163723 163886 175899 181803 205733 205838 205919 206763 220853 244194 258130 260001 260005 260054 260055 260070 260090 260161 260331 281385 290219 292957 300996 300997 301294 301655 301656 301657 302583 302918 302920 302933 302935 302944 302945 302947 302956 302959 302960 302971 302974 302980 302986 302995 302997 303014 303023 303024 303029 303033 303038 303044 303046 303048 303049 303051 303089 303116 303150 303158 303171 303173 303176 303183 303198 303212 303219 303220 303221 303225 303226 303230 303235 303263 303264 303266 303272 303276 303277 303278 303284 303292 303293 303312 303322 303324 303329 303331 303344 303351 303355 303361 303362 303365 303373 303375 303379 303382 303383 303384 303386 303392 303393 303395 303403 303404 303407 303420 303423 303438 303446 303453 303465 303472 303477 303492 303507 303511 303512 303528 303544 303546 303547 303554 303558 303559 303566 303580 303596 303602 303603 303607 303611 303613 303654 303656 303660 303666 303667 303668 303669 303670 303684 303688 303689 303691 303695 303700 303705 303722 303733 303735 347988 358509 360048 361300 361302 369643 373561 376709 378176 383414 383418 387432 389587 439863 439877 439879 439880 443442 525658 530789 532317 532573 538138 544469 544474 544475 567415 589331 596019 596235 596245 596255 596257 596455 596702 596876 597268 597277 598053 600069 600627 601730 601896 603680 614133 616948 617124 618927 618929 638983 638984 643348 655714 657856 662567 668496 677517 677942 678712 682906 682907 682911 682912 683004 700308 723796 728911 768425 796396 851287 870966 872916 892648 917914 920768 953998 962161 1120820 1255099 1292130 1337392 1440916 1441129 1441130 1441131 1441405 1443566 1512482 1513156 1515923 1519060 1519400 1519819 1564699 1587110)\n(46 2152 3865 4426 4565 7098 7125 7128 9075 11853 12644 14072 18598 19207 19208 23420 23421 23429 23441 23893 25205 27659 27814 36211 36213 36214 36216 36219 36224 38433 41374 79864 86404 86942 243038 678916 684309 751312 751702 752087 752088 752089 752101 752129 871737 887898 971858 993582 1510893 1511291 1514306 1516211 1517490 1517676 1518385 1519106 1519523 1519606 1519674 1520166 1522222 1522225)\n(47 781 2084 2630 5705 5709 5712 5725 6128 8046 8503 8508 8922 13273 13574 13702 13935 13940 13948 14144 15935 15943 15965 16521 17199 25485 25492 26573 26732 27789 28439 32043 33151 33153 41178 41206 41605 41632 41633 41637 41916 42893 42894 43204 43425 43544 79037 80322 86336 162415 178551 230953 230960 230966 230970 230984 231003 231006 231007 231013 231014 231024 231028 231029 231030 231031 231046 231048 231049 231054 231055 231056 231057 231062 231063 231064 231067 231073 231076 231077 231080 231083 231085 231091 231095 231106 231115 231117 231131 231138 231150 266225 282505 376449 391914 392917 432381 440730 440731 440732 440733 444073 444242 524584 524585 545970 578872 586331 586332 587027 687092 687094 687095 694695 740248 752267 752268 752269 814992 814993 815005 868971 920487 920494 920502 920514 920623 1135936 1136028 1268513 1268517 1268521 1268535 1268537 1268542 1269536 1269616 1269617 1269619 1269620 1269621 1269624 1269625 1278543 1278988 1280520 1280522 1280530 1280531 1280533 1280534 1280536 1280544 1280547 1280552 1280553 1280555 1280557 1280559 1280618 1281286 1281483 1281484 1281487 1281491 1281506 1281509 1281511 1281512 1281674 1281741 1281743 1281744 1281745 1281746 1281747 1281749 1281751 1281752 1281753 1281754 1281756 1281759 1281760 1281761 1281763 1281767 1281768 1281769 1281770 1281771 1281775 1281776 1281778 1281779 1281780 1281781 1281784 1281786 1281787 1281788 1281797 1281798 1282024 1282438 1282701 1282833 1282847 1282848 1282871 1282873 1282874 1282879 1282882 1282884 1282885 1282886 1282888 1282889 1282891 1282894 1282896 1282899 1283279 1283285 1283290 1283291 1283938 1283939 1283941 1283944 1283945 1283946 1283948 1283949 1283951 1283961 1283963 1283966 1283968 1283969 1283974 1283976 1283977 1283978 1283979 1283983 1283985 1283991 1283992 1283993 1283994 1283995 1283996 1283997 1283999 1284000 1284009 1284010 1284011 1284013 1284014 1284015 1284017 1284018 1284019 1284026 1284027 1284028 1284029 1284030 1284033 1284034 1284035 1284038 1284039 1284041 1284042 1284044 1284045 1284048 1284052 1284053 1284054 1284055 1284057 1284058 1284059 1284060 1284061 1285047 1285059 1285060 1285062 1285063 1285072 1288598 1288600 1288602 1305370 1305379 1305914 1390044 1442303 1442313 1442390 1510894 1511061 1511224 1511527 1511541 1511639 1511785 1511786 1511959 1512037 1512038 1512242 1512243 1512334 1512407 1512561 1512625 1512703 1512940 1512982 1513037 1513165 1513802 1513871 1513874 1514132 1514183 1514419 1514421 1514441 1514442 1514447 1514898 1514914 1514976 1514977 1515087 1515280 1516037 1516293 1516321 1516492 1516496 1516505 1516658 1516779 1516792 1516814 1516815 1516816 1516818 1516819 1516821 1516825 1516826 1516827 1516831 1516854 1516906 1517055 1517056 1517160 1517161 1517162 1517163 1517164 1517165 1517166 1517197 1517291 1517321 1517624 1517749 1517769 1518271 1518306 1518428 1518429 1518430 1518676 1518677 1518973 1519038 1519040 1519213 1519217 1519236 1519423 1519472 1519512 1519576 1519838 1519875 1522467)\n(48 152 184 189 291 340 359 413 435 500 507 530 644 977 997 999 1019 1021 1022 1024 1028 1044 1053 1057 1064 1067 1068 1098 1102 1109 1113 1156 1214 1390 1414 1457 1464 1473 1475 1476 1477 1478 1479 1492 1497 1502 1503 1899 1900 1904 1942 1945 1954 1988 1990 1999 2000 2003 2057 2059 2061 2245 2268 2272 2484 2488 2492 2515 2517 2529 2543 2559 2564 2565 2570 2587 2594 2610 2651 2712 2823 3016 3039 3168 3169 3589 3634 3652 3691 3692 3693 3694 3762 3766 3768 3775 3776 3778 3805 3806 3927 3933 3940 3942 3967 3993 3997 4002 4004 4006 4007 4012 4018 4019 4022 4025 4040 4199 4203 4218 4371 4619 4654 5080 5105 5194 5213 5220 5223 5244 5270 5289 5651 6188 6217 6776 6784 6958 6961 6978 7028 7033 7034 7035 7054 7064 7067 7072 7074 7075 7259 7261 7262 7367 7407 7425 7427 7428 7641 7728 7743 7804 7841 7913 8142 8145 8169 8202 8356 8380 8381 8385 8391 8396 8407 8415 8420 8429 8440 8455 8459 8463 8471 8514 8515 8516 8736 8742 8744 8745 8855 9036 9053 9118 9227 9228 9306 9503 9504 9507 9985 10138 10287 10288 10289 10290 10291 10371 10377 10378 10379 10434 10461 10531 10536 10641 10642 10656 10661 10662 10723 10744 10746 10749 10760 10762 10763 10772 10796 10895 11486 11491 11513 11516 11518 11519 11522 11524 11699 11732 11805 12274 12312 12314 12408 12511 12515 12524 12610 12855 12863 12873 12875 12881 12882 12883 12888 12889 12890 12892 12906 12910 12920 13032 13352 14114 14128 14143 14154 14155 14156 14158 14159 14162 14230 14240 14241 14314 14366 14442 14444 14559 14628 14894 14913 14914 14917 14978 14982 15110 15278 15284 15290 15292 15296 15301 15494 15505 15520 15524 15527 15680 15683 15857 15880 16016 16069 16567 16570 16597 16744 16749 16755 16762 16787 16790 16799 16937 16948 16953 16955 16957 16964 17029 17037 17039 17040 17701 17713 17723 17724 17730 17735 17755 17757 17759 17760 17764 17768 17772 17776 17785 17786 17787 17796 17801 17811 17822 17824 17829 17833 17834 17835 17836 17837 17857 17868 17874 17875 17916 17932 17960 17976 17983 18293 18296 18324 18358 18364 18437 18440 18969 19472 19475 19481 19484 19492 19587 19596 19601 19605 19609 19611 19643 19651 19895 19941 20197 20239 20284 20289 20331 20364 20374 20375 20390 20392 20687 20731 20809 20814 20818 21088 21557 21669 21965 21995 22091 22143 22157 22159 22173 22194 22202 22454 22478 22626 22632 22709 22917 22918 22920 22923 22948 22952 22956 23165 23194 23402 23414 23689 23764 23783 23816 23835 23836 23837 24075 24188 24341 24353 24361 24364 24365 24370 24375 24376 24395 24544 24545 24707 24708 24731 24744 24746 24750 25250 25543 25636 25647 25653 25789 25831 25965 26027 26452 26454 26455 26456 26574 26741 26794 26900 27021 27096 27098 27103 27118 27120 27203 27277 27280 27293 27297 27307 27310 27312 27318 27385 27803 27875 27937 27940 28026 28123 28135 28174 28189 28195 28228 28291 28613 28615 28618 28625 28626 28632 28941 29009 29278 29279 29282 29298 29303 29962 30016 30018 30065 30098 30238 30304 30306 30346 30825 30828 30841 30909 30911 30933 30940 30946 30952 30962 31165 31179 31397 31454 31456 31460 31599 31602 31607 31622 31628 31640 31644 31646 31651 31653 31654 31656 31659 31662 31666 31667 31669 31670 31671 31678 31686 31691 31711 31713 31714 31727 31853 32143 32144 32405 32467 32491 32545 32548 32593 32706 33068 33069 33237 33310 33384 33385 33417 33436 33453 33457 33503 33551 33553 33617 33628 33634 33640 33641 33649 33652 33679 33681 33714 33791 33993 34135 34265 34270 34307 34308 34311 34318 34340 34342 34343 34344 34346 34348 34349 34351 34361 34434 34503 34767 34802 34818 35094 35100 35158 35379 35531 35541 35542 35545 35547 35551 35565 35673 35679 35680 35681 35685 35727 36003 36027 36723 36725 36734 36755 36843 37039 37875 37903 38156 38180 38233 38296 38302 38304 38311 38312 38315 38415 38418 38597 38599 38601 38613 38615 38626 38634 38635 38652 38717 38719 38748 38749 38769 38790 38838 39111 39213 39602 39667 39676 39682 39815 39847 39850 39852 39941 39949 40008 40011 40018 40060 40078 40083 40085 40168 40169 40632 40646 40663 40664 40676 40709 40814 41078 41131 41236 41252 41256 41258 41260 41261 41484 41487 41490 41491 41493 41497 41535 41560 41931 41945 41950 41989 41990 42001 42006 42053 42071 42085 42089 42301 43316 43317 43376 43391 43484 43627 43628 43897 44267 44278 44280 44281 44602 44620 44707 44894 45231 45836 45873 45979 46137 46187 46212 46227 46288 46454 46471 46491 46494 46495 46496 46725 46834 46858 47338 47355 47421 47442 47449 47471 47519 47526 47528 47532 47535 47542 47677 47678 47684 47738 48156 48209 48213 48298 48307 48331 48384 48555 48607 48663 48679 48751 48795 48813 48820 49319 49438 49550 49700 49703 49734 49738 49748 49866 49926 50103 50417 50422 50434 50444 50449 50453 50520 50539 50639 50685 50687 50688 50689 50690 50691 50692 50708 50709 50778 50779 50795 50797 50824 50825 50952 50975 50976 51058 51059 51063 51114 51115 51117 51118 51124 51129 51131 51138 51154 51169 51173 51178 51179 51180 51181 51186 51187 51188 51280 51282 51284 51298 51303 51314 51350 51394 51396 51400 51401 51436 51437 51439 51464 51492 51581 51605 51612 51615 51616 51618 51625 51626 51628 51637 51639 51659 51662 51742 51793 51844 51904 51956 52025 52128 52248 52289 52296 52331 52332 52333 52334 52336 52337 52342 52393 52396 52397 52419 52439 52442 52445 52451 52452 52456 52472 52517 52526 52527 52530 52531 52538 52548 52552 52599 52605 52803 52819 52872 52900 52908 53158 53212 53213 53270 53276 53283 53288 53374 53379 53406 53409 53413 53483 53511 53517 53518 53583 53584 53593 53594 53602 53641 53646 53653 53667 53668 53709 53849 53996 54097 54213 54239 54311 54318 54319 54322 54401 54450 54475 54490 54500 54521 54563 54578 54628 54639 54643 54644 54695 54707 54728 54741 54742 54749 54750 54755 54756 54757 54762 54788 54810 54814 54843 54846 54847 54859 54860 54867 54868 54869 54871 54874 54875 54943 54961 54981 54982 55032 55033 55034 55035 55076 55079 55091 55098 55252 55288 55315 55320 55362 55384 55413 55433 55517 55530 55533 55541 55570 55571 55579 55580 55587 55608 55673 55677 55750 55760 55763 55813 55951 55958 55959 56248 56362 56365 56368 56467 56468 56469 56470 56513 56539 56575 56579 56619 56645 56696 56762 56765 56778 56807 56859 56869 56872 56874 56876 56885 56907 56909 56921 56925 56926 56934 56938 56953 56959 56961 56967 56980 56997 57041 57046 57047 57057 57072 57098 57183 57198 57223 57274 57278 57310 57312 57313 57325 57327 57335 57338 57421 57423 57429 57440 57459 57460 57463 57465 57491 57575 57622 57625 57631 57682 57707 57708 57709 57710 57866 57961 58029 58067 58068 58069 58074 58087 58088 58095 58099 58107 58126 58130 58131 58132 58143 58162 58168 58232 58247 58253 58266 58360 58361 58362 58363 58468 58540 58558 58563 58564 58594 58598 58600 58605 58627 58656 58750 58778 58836 58855 58910 58912 58936 58939 58950 58980 59014 59018 59036 59037 59038 59100 59102 59107 59108 59112 59114 59147 59169 59171 59178 59181 59209 59218 59223 59227 59229 59231 59237 59239 59240 59241 59243 59246 59252 59256 59261 59271 59288 59304 59407 59462 59491 59560 59563 59655 59659 59667 59669 59697 59701 59735 59935 59936 59938 59939 59943 59945 59946 59949 59955 59956 59957 59960 59982 60001 60043 60072 60091 60094 60097 60223 60224 60225 60232 60249 60373 60374 60426 60472 60626 60637 60638 60648 60668 60672 60673 60677 60702 60764 60795 60823 60824 60828 60958 60959 60962 60968 60975 60976 60989 61021 61031 61042 61058 61064 61066 61093 61166 61167 61206 61207 61227 61237 61364 61380 61385 61394 61401 61405 61413 61415 61417 61419 61443 61447 61456 61458 61459 61461 61464 61466 61469 61471 61488 61493 61495 61505 61510 61515 61534 61540 61541 61551 61556 61557 61560 61571 61572 61573 61583 61594 61597 61600 61604 61606 61640 61642 61676 61686 61705 61759 61760 61778 61780 61817 61859 61877 61878 61949 61950 61951 61985 61991 61995 62094 62108 62131 62202 62219 62220 62488 62504 62505 62506 62507 62517 62539 62573 62616 62678 62679 62717 62756 62757 62772 62773 62776 62895 62915 62916 62929 62934 62939 62945 62957 62958 62959 63043 63046 63091 63099 63100 63110 63119 63137 63148 63169 63351 63389 63423 63451 63485 63487 63498 63513 63540 63556 63558 63559 63593 63690 63736 63737 63848 63907 63946 63948 64026 64031 64033 64095 64180 64194 64230 64292 64293 64307 64317 64319 64448 64449 64450 64523 64525 64528 64530 64533 64534 64537 64540 64545 64548 64549 64552 64553 64555 64556 64566 64573 64574 64575 64644 64663 64703 64731 64787 64833 64844 64846 64864 64865 64867 64958 64963 64972 64973 65000 65017 65025 65170 65174 65253 65344 65362 65363 65365 65366 65397 65451 65532 65558 65559 65560 65561 65570 65575 65576 65594 65595 65602 65609 65620 65621 65635 65637 65647 65660 65664 65665 65667 65685 65702 65866 65892 65931 65991 66016 66083 66091 66092 66108 66125 66132 66240 66319 66329 66330 66340 66342 66354 66357 66362 66377 66384 66387 66396 66398 66458 66461 66484 66489 66521 66522 66568 66748 66812 66917 66919 66975 66979 67001 67033 67045 67062 67084 67685 67709 67712 67739 67760 67761 67766 67774 67888 68019 68128 68337 68339 68341 68343 68346 68355 68357 68411 68412 68420 68452 68501 68530 68643 68693 68704 68707 68714 68717 68718 68721 68800 68803 68804 68811 68812 68813 68815 68816 68841 68878 68949 69025 69146 69147 69150 69152 69153 69154 69155 69156 69161 69197 69239 69251 69282 69356 69406 69436 69437 69467 69515 69559 69598 69651 69712 69713 69718 69719 69720 69724 69919 69924 69977 70023 70031 70043 70044 70119 70201 70204 70205 70235 70314 70319 70335 70361 70464 70571 70572 70629 70632 70637 70656 70781 70788 70789 70810 70817 70819 70822 70823 70828 70829 70830 70838 70860 70861 70869 70875 70876 70886 70887 70893 70902 70920 70923 70925 70926 70928 70929 70930 70937 70941 70942 70943 70964 71009 71253 71345 71479 71480 71510 71511 71561 71563 71568 71598 71653 71654 71733 71740 71766 71795 71822 71890 71892 71937 71996 72010 72014 72028 72033 72034 72055 72067 72084 72114 72115 72118 72131 72132 72134 72189 72250 72259 72291 72295 72296 72308 72309 72323 72325 72327 72330 72354 72371 72376 72397 72399 72402 72418 72451 72453 72454 72460 72475 72476 72482 72491 72500 72501 72533 72546 72549 72596 72613 72617 72629 72632 72633 72653 72655 72700 72715 72718 72728 72771 72774 72798 72807 72834 72880 72883 73020 73057 73095 73097 73099 73111 73113 73124 73168 73209 73223 73225 73229 73234 73235 73237 73238 73239 73240 73243 73244 73246 73249 73251 73254 73258 73262 73337 73348 73422 73430 73438 73652 73696 73835 73837 73844 73847 73852 73873 73927 73977 74062 74088 74236 74267 74283 74290 74350 74366 74367 74369 74370 74375 74380 74389 74432 74452 74453 74920 74977 74978 74980 74989 74993 75028 75029 75033 75084 75086 75180 75233 75235 75238 75239 75284 75303 75311 75326 75370 75379 75423 75426 75461 75463 75482 75485 75486 75527 75548 75550 75625 75742 75776 75809 75813 75824 75856 76125 76134 76205 76283 76340 76387 76390 76401 76406 76464 76469 76476 76483 76484 76524 76525 76546 76591 76726 76773 76809 76893 76897 76901 76934 76942 76951 77051 77054 77156 77173 77174 77232 77243 77244 77246 77324 77326 77327 77328 77330 77397 77419 77542 77552 77597 77598 77678 77683 77685 77696 77711 77718 77724 77730 77731 77732 77842 77844 77845 77863 77884 77886 77894 77896 77945 77987 78031 78174 78289 78407 78446 78473 78510 78598 78648 78655 78685 78892 78932 78956 78989 79115 79471 79522 79805 79972 79973 79975 80020 80054 80058 80059 80075 80092 80125 80298 80652 80783 81109 81319 81434 81442 81563 81571 81576 81695 81737 81889 81921 81937 82019 82176 82226 82329 82423 82529 82578 82584 82589 82627 82697 82725 82730 82731 82790 82876 82911 82958 82989 83008 83017 83064 83074 83132 83183 83300 83337 83347 83399 83492 83647 83680 83957 83998 84027 84035 84070 84115 84158 84175 84210 84239 84282 84304 84340 84378 84410 84624 84679 84716 84718 84873 84879 84913 85031 85139 85249 85431 85536 85544 85545 85724 85744 85745 85748 85798 85889 85895 86253 86260 86358 86365 86376 86518 86519 86706 86712 86784 86870 86885 86903 86987 87052 87071 87080 87081 87175 89052 89080 89793 89795 89798 90340 91125 92557 93401 94167 96069 97673 99247 100762 101389 101401 101452 101555 101671 101862 102139 102190 102215 102216 102447 102615 102631 102781 103013 103020 103021 103250 103393 103405 103835 104208 104398 104454 104462 104569 104940 105421 105485 105811 106003 106041 106085 106453 106613 106660 106964 107115 107298 108324 108347 108413 108471 108527 108554 108555 108581 108783 108836 108855 109042 109055 109060 109081 109284 109317 109706 109710 109973 110007 110533 111046 111592 111802 111836 111840 111863 111869 112342 112492 112774 112817 113064 113089 113495 113519 114365 114612 114616 114617 114645 114667 114683 114832 114967 115145 115459 115865 116029 116036 116184 116576 116589 116591 116596 116717 116873 117035 117059 117163 117227 117552 117605 117617 117731 117839 118120 118132 118334 118581 118615 118931 119304 119380 119421 119422 119452 119471 119679 119959 120276 120336 120465 120541 120543 121258 121266 121411 121412 121449 121677 121872 121925 121926 122165 122752 122788 123514 123578 125222 125247 125444 125619 125636 125638 126155 126371 126489 126502 126876 126901 126964 126966 127082 127555 127556 127863 128263 128462 128506 128577 128584 129369 130707 130711 130716 131373 131721 131722 131737 131742 131956 132136 132260 132300 132307 132308 132513 132555 132580 133207 133208 133234 133828 134093 134440 134500 134982 134983 135615 135891 135892 135893 135894 135909 136069 136072 136073 136227 136752 136771 136864 136875 136987 136996 137459 137863 137864 138345 138457 138486 138526 138741 138776 138829 138837 138838 138843 138891 138965 138968 138975 139030 139246 139360 139578 139704 139705 139709 139863 139880 139905 140080 140097 140145 140238 140249 140260 140297 140424 140553 140649 140662 140694 140826 141422 141449 142292 142293 142751 143251 143252 143587 143595 143773 144195 144382 144382 145123 145620 146112 146113 146114 146116 146201 146438 147066 147080 147081 147775 147821 147983 148160 148199 148297 148329 148333 148365 148517 148622 148743 149035 149061 149066 162330 162381 162449 162508 162733 162745 162832 163195 163200 163206 163224 163247 163258 163260 163284 163324 163338 163339 163342 163343 163388 163401 163404 163410 163495 163527 163582 163611 163630 163786 163792 163862 163877 163923 163974 164005 164055 164100 164116 164132 164206 164223 164226 164369 164371 164384 164481 164503 164522 164594 164607 164696 164786 164939 165021 165198 165249 165338 165519 165589 166027 166059 166429 166447 166559 167118 167154 167638 167797 167932 168090 168234 168566 168778 169097 169101 169539 169658 169661 169718 169804 169853 170165 170168 170210 170654 170755 170936 171000 171049 171099 171196 171226 171406 171484 171552 172219 172537 172612 172663 172956 173383 173386 173506 173734 173879 174045 174048 174383 174430 174641 174804 178827 205775 205776 205896 206010 206011 206022 206025 206235 206339 206354 206364 206528 207079 207105 207107 207150 207198 207199 207206 207207 207230 207232 207262 207269 207283 207304 207308 207313 207322 207324 207329 207401 207493 207509 207515 207564 207690 207699 207803 207807 207890 208103 208124 208233 208355 208356 208375 208442 208449 208462 208571 208628 208813 209190 209328 209554 209642 209706 209748 210158 210358 210507 210612 210861 211333 211337 211445 211705 211797 212517 212526 212694 213045 213420 213978 213980 214604 214788 214856 215357 215474 215619 215993 216045 216123 216265 216471 216510 216577 216615 216884 216955 216956 217250 217310 217359 217382 217515 217585 217770 218158 218171 218225 218497 218530 218535 218713 218786 219069 219164 219257 219300 219806 220104 220298 220563 220568 220822 220837 220883 236558 236559 236560 242192 242417 242434 242853 242957 243045 243565 243574 243587 243592 243595 243599 243600 243601 243612 243628 243646 243648 243650 243670 243691 243693 243725 243727 243766 243769 243795 243808 243823 243839 243963 243976 244057 244450 244540 244573 244579 244922 244987 244988 244989 245268 245370 245425 245460 245501 245636 245660 245781 245876 245961 246081 246118 246305 246354 246504 246556 246769 246871 246899 246950 246957 247183 247248 247287 247403 247689 247905 247958 248039 248136 248270 248441 248446 248685 248783 248813 248868 249017 249196 249197 249363 249468 249586 249854 250076 250086 250152 250153 250267 250414 250416 250417 250557 250706 250852 250935 251211 251274 251487 251564 251982 252132 252207 252270 252409 252687 252901 252912 253005 253040 253045 253166 253326 253421 253457 253830 253932 254148 254237 254251 254321 254589 254648 254711 254714 255161 255314 255535 255672 255689 255873 255961 256015 256022 256102 256103 256264 256335 256369 256371 256616 256770 256787 256813 256819 257074 257110 257137 257151 257291 257292 257535 257694 257770 257793 257855 257866 258018 258101 258478 258661 258752 258817 258823 258855 258870 258884 258970 259045 259046 259190 259271 259282 259387 259388 259399 259419 259477 259479 282109 282625 283344 283432 283436 283470 283477 283492 283592 283624 283630 283722 283757 283775 283779 283827 284005 284162 284317 284355 284454 284655 284697 284904 284927 284930 285094 285104 285266 285276 285416 285499 285508 285558 285605 285618 285694 285761 285825 285969 286138 286158 286330 286406 286747 286749 286792 286862 286870 286943 287125 287312 287428 287531 287666 287935 287990 288587 288590 288642 289121 289130 289132 289142 289499 289982 290024 290067 290068 290178 290283 290414 290772 290875 290928 291053 291059 291140 291153 291464 291474 291573 291988 292035 292115 292144 292378 292381 292448 292688 292934 293192 293304 293405 293494 293742 293743 293758 293930 294105 294209 294276 294567 295341 295575 295748 296154 296594 296598 296603 296648 296649 296776 296833 297022 297294 297331 297817 297882 297951 297981 298091 298121 298198 298378 298822 298878 298973 298987 299048 299492 299505 299613 299617 299809 299856 300252 301810 301812 304073 311478 311486 311487 311493 311514 311521 311529 311533 311559 311565 311580 311584 311585 311587 311619 311644 311651 311654 311662 311665 311667 311716 311727 311746 311758 311787 311815 311822 311833 311841 311851 311870 311875 311881 311906 311907 311908 311930 311934 311939 311946 311959 311965 311974 311975 311979 311988 311989 312045 312047 312049 312067 312078 312107 312114 312235 312242 312246 312252 312294 312307 312315 312333 312340 312347 312359 312360 312366 312383 312412 312756 312759 313532 360722 368836 369355 369836 376159 376285 376967 377006 377021 377047 377068 377091 377148 377149 377170 377217 377293 377355 377360 377410 377461 377471 377504 377505 377562 377593 377819 377904 377924 378279 378516 378586 378655 379049 379050 379099 379191 379193 379240 379490 379526 379528 379535 379580 379674 380051 380091 380146 380153 380241 380245 380568 380804 380871 380962 381211 381233 381251 381279 381282 381569 381579 381959 382011 382071 382144 382187 383017 383161 383181 383282 383824 384080 384082 384701 384705 384831 384935 385049 385469 385481 385766 385927 386000 386311 386636 386737 387030 387104 387230 387577 387583 387658 387962 388055 388213 388218 388250 388446 388556 388658 388809 388842 388987 389003 389213 389311 389406 389555 389637 389661 389665 389877 389886 389925 389995 390102 390173 390347 390904 390960 391194 391468 391477 391845 443446 443452 443453 443454 443464 443467 443469 443470 443490 443510 443535 443557 443560 443563 443583 443584 443763 443764 443773 443783 443785 483249 486433 520921 524513 524925 524933 524938 524992 524994 524995 524999 525039 525320 525337 525342 525349 525427 525439 525471 525489 525529 525635 525728 525733 525734 526026 526452 526495 526497 526592 526871 526999 527086 527250 527288 527356 527893 527978 527979 528009 528100 528151 528219 528220 528232 528529 528544 528635 528815 529065 529196 529334 529709 530295 530478 530832 531004 531148 531656 532059 532194 532271 532449 532635 532975 533825 533826 533937 534137 534140 534232 534397 534507 534519 535160 535163 535169 535245 535678 535698 535847 536169 536678 537026 537086 537137 537210 537276 537298 537332 537398 537447 537535 537740 537784 537951 537969 538056 538091 538135 538183 538263 538266 538269 538273 538283 538504 538588 538672 538674 538749 539219 539241 539796 539884 540142 540193 540203 540321 540671 540710 540960 540973 541149 541150 541265 541293 541394 541395 544420 544421 544422 544511 544512 544526 544533 544534 544545 544552 544553 544554 544556 553701 582118 582119 591120 591457 596077 596527 596529 596538 596543 596690 596732 596918 597005 597094 597197 597391 597548 597721 597763 597779 597781 597790 597922 597979 598034 598057 598261 598349 598372 599061 599122 599123 599295 599356 599497 599692 599716 599870 599871 599874 599930 599960 599969 600341 600344 600377 600388 600486 602449 602450 603939 604066 605601 608162 608250 608373 608436 608437 608653 608861 608871 608989 609002 609179 609182 609191 609194 609205 609218 609225 609229 609291 609803 609819 609824 611628 613077 613486 613494 614464 614877 615424 615991 616250 616522 617293 617903 617975 618697 618743 619182 619222 620087 620249 620680 620743 621927 622841 623362 625852 626008 626201 627467 627777 628054 628184 628304 628737 628941 629007 629065 629173 630248 631748 631813 633098 633227 633519 635005 635326 635399 637259 638789 639056 639798 639839 640077 641616 642028 642666 642869 643275 643349 643918 644812 644876 645201 646820 646821 646889 647975 648448 648459 648757 648786 648794 649728 650287 650756 650884 651228 651362 651527 652131 652371 652835 654230 654642 655031 655037 655225 655296 655495 655590 656342 656444 656507 656737 657819 658195 658255 658605 658724 658949 659150 659268 659285 659958 660025 660609 660856 661006 661059 661354 661851 661884 662258 662286 662348 662760 662782 662902 663052 663443 663446 663477 663564 663738 663912 663914 664003 664639 665272 665634 665744 665854 666046 666066 666209 666239 666383 666450 666904 667050 667098 667241 667251 667265 667378 667408 667736 667830 667917 667971 668142 668363 668642 668750 668821 668883 668989 669174 669365 669368 669372 669470 669472 669489 669516 669524 670018 670366 670596 670844 670845 670850 670927 671150 671167 671340 671368 671434 671550 671566 671841 671946 671976 671981 671983 672000 672036 672045 672049 672086 672114 672553 672719 672724 673024 673071 673232 673241 673794 674086 674321 674388 674895 675096 675395 675675 676389 676476 676594 676624 676803 676896 678107 678124 682744 682746 682752 682753 684148 684153 684287 687684 687691 694873 694883 694888 694889 694890 694897 699219 699262 699917 699918 699919 699942 700194 700256 701940 701941 701942 702058 718043 718191 719546 719568 719650 722460 723739 728805 728810 729570 729571 729572 733564 733762 740201 751066 751283 751465 751984 752065 752214 752224 752243 752312 752313 752314 752348 752411 752509 752519 752521 752535 752562 752585 752609 752634 752705 752760 752820 752938 753108 753114 753349 753550 753655 753816 753837 753970 753985 754023 754135 754514 754515 754834 754910 754941 755849 756136 756519 756692 756977 757021 757188 757235 757250 757334 757855 757858 757900 757968 758033 758336 758478 758621 758915 758917 758959 759333 759391 759447 759550 759663 759784 759905 759909 760076 760176 760197 760545 760746 760750 760781 761086 761180 761538 761548 761615 761618 761930 762175 762185 762187 762512 762677 763057 763282 763417 763539 763620 763738 763834 763914 764105 764137 764347 764881 764911 765145 765159 765183 765230 765533 765595 765806 766244 766369 766685 766706 766834 767250 767279 767520 767900 768063 768183 768223 768528 768658 768762 768887 768908 768929 769131 769132 769198 769218 769224 769262 769717 769789 769924 770112 770114 770343 770514 771210 796518 809246 812214 812215 812228 812230 812234 812241 812246 812252 812262 812263 812265 812278 812284 812298 812375 812377 812381 812384 812385 815014 815015 872043 872053 872123 872149 872240 872251 872265 872289 872383 872913 877829 878493 878494 879457 879468 887847 892642 893365 897385 897599 897736 897751 897757 902406 902974 903617 906021 906252 906500 907230 907321 907389 907532 907533 907648 907649 907848 907856 907863 907888 907916 907960 907963 908115 908145 908180 908308 908323 908330 908396 908506 908507 908511 908604 908748 908837 908908 909069 909300 909309 909555 909604 909800 909802 909844 909868 909872 910024 910051 910068 910119 910126 910167 910191 910303 910413 910444 910494 910514 910515 910876 911092 911108 911112 911113 911291 911378 911469 911506 911531 911532 911628 911847 912034 912116 912403 912451 912898 913056 913264 913276 913413 913577 913626 913720 913722 913741 913899 913914 913945 913965 914069 914088 914118 914290 914428 914460 914795 914833 914910 914931 915027 915156 915164 915167 915340 915429 915518 915582 915702 916181 916182 916183 916278 916549 916574 916695 916840 917464 917567 917708 917721 917728 917782 917783 917785 917789 917790 917877 919425 919426 919427 919428 919429 919451 919457 919458 919469 919475 919477 919478 919487 919507 919509 919524 919534 919550 920283 920330 920634 937932 949643 949656 949660 949661 949692 949693 949775 949782 949835 949906 950150 950373 950398 950427 950430 950448 950545 960344 960372 960441 960449 960543 960564 960580 960820 960822 960879 961047 961072 961083 961087 961212 961347 961393 961516 961737 961851 961929 961951 962061 962092 962179 962185 962317 962401 962517 962680 962754 962775 962800 963094 963106 963107 963168 963174 963182 963228 963309 963365 963396 963434 963454 963455 963779 963798 963926 964052 964360 964364 964541 964578 964760 964782 964801 965027 965087 965282 965597 965680 965758 965759 965825 965829 965932 966055 966147 966246 966300 966309 966410 966504 966518 966522 966577 966578 966579 966585 966659 966787 966864 966868 967191 967200 967211 967213 967311 967738 967777 967988 968038 968147 968301 968475 968500 968504 968573 968574 968819 968921 969119 969291 969394 969536 969616 969663 969679 969681 971015 971061 971133 971248 971285 971425 971654 972212 972273 972286 993235 994733 1096814 1097129 1097411 1097583 1097872 1097963 1097978 1098026 1098170 1098474 1098502 1098658 1098717 1098742 1098776 1098924 1099119 1099165 1099334 1099616 1099619 1099798 1099875 1099877 1099890 1099904 1100027 1100144 1100240 1100321 1100367 1100443 1100601 1100660 1100776 1100824 1100899 1100945 1101046 1101145 1101287 1101544 1101620 1119970 1119971 1120147 1120304 1120523 1120843 1120859 1120861 1121057 1121142 1121329 1121341 1121545 1121571 1122158 1122332 1122333 1122359 1122368 1122373 1122377 1122380 1122520 1122728 1123015 1134446 1135630 1135662 1136125 1136157 1136177 1136197 1136238 1136240 1136243 1136553 1136612 1136690 1136691 1136747 1136770 1136827 1136851 1137122 1137156 1137343 1137427 1137582 1137683 1137779 1137826 1137931 1138068 1138418 1138525 1138574 1142644 1142819 1142946 1143960 1144036 1144112 1145661 1146627 1146632 1171944 1172006 1172059 1172070 1172107 1172208 1172283 1172424 1172436 1172717 1172764 1173210 1173549 1173864 1174118 1174673 1174937 1175650 1175703 1175733 1175734 1176112 1176140 1176474 1256778 1257113 1257646 1257801 1257921 1257927 1257962 1258073 1258083 1258086 1258132 1258133 1258313 1258336 1258456 1258535 1258691 1258771 1258847 1259016 1259205 1259236 1259877 1260223 1260229 1260231 1261253 1268772 1269172 1269691 1291456 1291583 1295204 1295213 1295240 1295258 1295271 1295277 1295464 1295476 1295477 1295478 1295479 1295489 1295490 1295499 1295501 1295505 1295507 1295562 1295570 1302054 1305851 1307256 1307407 1309483 1310540 1310550 1310696 1311002 1311003 1311102 1311129 1311187 1311257 1311371 1311393 1311420 1311568 1311596 1311723 1312088 1312354 1312550 1312779 1313102 1313290 1313356 1313359 1314754 1314765 1314802 1317929 1317937 1328053 1328825 1330960 1332001 1332011 1332017 1332030 1332073 1332074 1332076 1332080 1332082 1332101 1332102 1332121 1332143 1332144 1332431 1332436 1332639 1332656 1332659 1332667 1332721 1332727 1332733 1332735 1332739 1332753 1332757 1332758 1332762 1332763 1332766 1332794 1332795 1332796 1332804 1332805 1332806 1332807 1332808 1332826 1332828 1332829 1332830 1332857 1333180 1333192 1333201 1333205 1333206 1333207 1333216 1333217 1333218 1333229 1333231 1333232 1333236 1333242 1333243 1333257 1333261 1333282 1333327 1333340 1333355 1333358 1333359 1333365 1333483 1333542 1333570 1333577 1333652 1333699 1333877 1333891 1333892 1333893 1333894 1333895 1333898 1333931 1333948 1334032 1334033 1334088 1334089 1334128 1334130 1334133 1334134 1334136 1334201 1334202 1334290 1334291 1334292 1334325 1334331 1334342 1334349 1334474 1334477 1334478 1334482 1334485 1334516 1334522 1334523 1334533 1334539 1334875 1334899 1334909 1334910 1335071 1335081 1335201 1335202 1335204 1335208 1335212 1335213 1335214 1335216 1335217 1335221 1335224 1335225 1335227 1335231 1335232 1335236 1335261 1335262 1335267 1335271 1335273 1335274 1335281 1335283 1335285 1335286 1335288 1335289 1335404 1335439 1335553 1335596 1335602 1335607 1335620 1335623 1335624 1335625 1335645 1335647 1335649 1335783 1335804 1335806 1335812 1335813 1335829 1335831 1335833 1335844 1335851 1335892 1335948 1336579 1336624 1336632 1336641 1336646 1336654 1336657 1336658 1336662 1336670 1336690 1336737 1336767 1336838 1336848 1336936 1337037 1337080 1337090 1337098 1337105 1337108 1363852 1364508 1364684 1364818 1366355 1366358 1366441 1366448 1366449 1366462 1366479 1366489 1366490 1366496 1366499 1366500 1366512 1366513 1366517 1366526 1366530 1366535 1366555 1366556 1366622 1366623 1366628 1366644 1366645 1366757 1366765 1366767 1366824 1366875 1366876 1366882 1366894 1366897 1366898 1367342 1367389 1367441 1367452 1367460 1367469 1367482 1367485 1367551 1367553 1367601 1367656 1367671 1367675 1367701 1367702 1367706 1367721 1367731 1367798 1368105 1377871 1378702 1382029 1382176 1384522 1384530 1384543 1384553 1412005 1412028 1412084 1412097 1412104 1412110 1412134 1412170 1412179 1412186 1412215 1412216 1412262 1412276 1412277 1412278 1412284 1412291 1412322 1412323 1412333 1412336 1412343 1412374 1412394 1412409 1412424 1412431 1412446 1412471 1412491 1412504 1412517 1412521 1412528 1412553 1412554 1412558 1412581 1412582 1412591 1412625 1412637 1412638 1412639 1412691 1412727 1412731 1412756 1412794 1412819 1412820 1412833 1412886 1412936 1412937 1412938 1413043 1413052 1413089 1413096 1413102 1413103 1413105 1413106 1413107 1413113 1413132 1413138 1413159 1413207 1413208 1413209 1413221 1413227 1413237 1413238 1413244 1413247 1413259 1413285 1413290 1413291 1413299 1413336 1413347 1413348 1413374 1413416 1413516 1413549 1413605 1413636 1413661 1413666 1413667 1413668 1413672 1413681 1413738 1413745 1413753 1413811 1413812 1413813 1413814 1413815 1413816 1413821 1413822 1413827 1413843 1413850 1413855 1413856 1413857 1413858 1413859 1413861 1413862 1413863 1413864 1413865 1413867 1413868 1413873 1413885 1413888 1413893 1413895 1413902 1413904 1413908 1413931 1413933 1413934 1413953 1413963 1413969 1413980 1414030 1414032 1414038 1414052 1414053 1414063 1414069 1414070 1414103 1414107 1414118 1414120 1414121 1414123 1414125 1414141 1414193 1414244 1414290 1414295 1414313 1414351 1414357 1414369 1414399 1414407 1414412 1414413 1414417 1414426 1414437 1414459 1414461 1414530 1414543 1414562 1414564 1414580 1414618 1414619 1414624 1414625 1414626 1414627 1414629 1414631 1414643 1414644 1414645 1414655 1414658 1414805 1414863 1414945 1414946 1414950 1414962 1414968 1414998 1415003 1415022 1415029 1415097 1415104 1415112 1415113 1415119 1415135 1415181 1415202 1415274 1415275 1415284 1415326 1415327 1415375 1415389 1415455 1415492 1415505 1415522 1415523 1415534 1415537 1415554 1415597 1415619 1415637 1415699 1415700 1415701 1415736 1415737 1415742 1415793 1415832 1415845 1415944 1416271 1416400 1416425 1416448 1416459 1416522 1416675 1416713 1416724 1416728 1416743 1416744 1416768 1416786 1416802 1416804 1416805 1416806 1416808 1416817 1416820 1416865 1416870 1416886 1416902 1416903 1416912 1416920 1416927 1416932 1416945 1416989 1416992 1417001 1417002 1417035 1417036 1417041 1417043 1417108 1417123 1417133 1417135 1417171 1417172 1417196 1417199 1417201 1417203 1417213 1417245 1417407 1417500 1417504 1417509 1417592 1417602 1417631 1417680 1417683 1417699 1417745 1417759 1417760 1417769 1417772 1417807 1417861 1417862 1417874 1417887 1417917 1417925 1417932 1418193 1418225 1418244 1418251 1418288 1418302 1418372 1418388 1418389 1418396 1418412 1418413 1418420 1418421 1418424 1418426 1418457 1418462 1418481 1418485 1418504 1418507 1418520 1418526 1418531 1418549 1418575 1418578 1418582 1418587 1418591 1418599 1418600 1418609 1418617 1418620 1418622 1418624 1418629 1418640 1418642 1418650 1418659 1418661 1418710 1418727 1418737 1418754 1418755 1418800 1418819 1418851 1418853 1418864 1418868 1418879 1418880 1418881 1418882 1418885 1418887 1418892 1418893 1418894 1418897 1418898 1418899 1418913 1418918 1418929 1418930 1418939 1418971 1418974 1418985 1419015 1419022 1419024 1419025 1419026 1419043 1419048 1419067 1419102 1419109 1419111 1419121 1419125 1419129 1419182 1419184 1419227 1419231 1419240 1419266 1419269 1419276 1419281 1419325 1419333 1419338 1419339 1419345 1419385 1419393 1419413 1419433 1419453 1419467 1419475 1419598 1419692 1419741 1419748 1419790 1419817 1419874 1419907 1419917 1420005 1420006 1420044 1420066 1420081 1420113 1420138 1420150 1420160 1420188 1420212 1420262 1420292 1420306 1420307 1420404 1420412 1420423 1420459 1420466 1420516 1420562 1420589 1420590 1420614 1420626 1420653 1420674 1420701 1420708 1420713 1420714 1420717 1420718 1420747 1420748 1420750 1420775 1420783 1420841 1420860 1420874 1420876 1421120 1421143 1421222 1421248 1421249 1421250 1421319 1421321 1421322 1421323 1421327 1421328 1421329 1421330 1421331 1421332 1421333 1421362 1421374 1421375 1421408 1421476 1421531 1421537 1421567 1421865 1421947 1422182 1422267 1422410 1422569 1422572 1422619 1422630 1422729 1422813 1423637 1423784 1423837 1423839 1423866 1423943 1424116 1424158 1424235 1424448 1424518 1424600 1424627 1424717 1424726 1424729 1424792 1424808 1424810 1424823 1424885 1424969 1425040 1425131 1425138 1425268 1425272 1425322 1425345 1425351 1425354 1425359 1425393 1425457 1425532 1425544 1425569 1425573 1425641 1425650 1425671 1425934 1425978 1426332 1426334 1426489 1426592 1427027 1427080 1427199 1427293 1427394 1427425 1427607 1427631 1427695 1427871 1427960 1427991 1428067 1428109 1428110 1428159 1428169 1428254 1428456 1428477 1428775 1428806 1428864 1428877 1428895 1428933 1428961 1429041 1429345 1429729 1430948 1431910 1433172 1433276 1433469 1434639 1435568 1435821 1435846 1435982 1436189 1436763 1437022 1437927 1439270 1439287 1439329 1439337 1442484 1442489 1442514 1442738 1442750 1442771 1442905 1442934 1443679 1446659 1447085 1447237 1447261 1447284 1447456 1447565 1447644 1447747 1448763 1449016 1449309 1449387 1449849 1450145 1450526 1450679 1450945 1451005 1451346 1451398 1451512 1451587 1451792 1451795 1452370 1452519 1452577 1452934 1454127 1454248 1454397 1454413 1454672 1454853 1455616 1455818 1455843 1456349 1456380 1456387 1456389 1456391 1458134 1504636 1504899 1505073 1505591 1505817 1505871 1506287 1506309 1511395 1511396 1511681 1512213 1514431 1514546 1522172 1522376 1522419 1522555 1522670 1527535 1528914 1528963 1529175 1529245 1529740 1529761 1530401 1530423 1530540 1530585 1530899 1531049 1531135 1531201 1533646 1533698 1537443 1537472 1537502 1537503 1537665 1537985 1537986 1537998 1538173 1538452 1538537 1538565 1538607 1538714 1538716 1538722 1538763 1538825 1538881 1539079 1539208 1539216 1539294 1539341 1539477 1539521 1539553 1539560 1539696 1539791 1539860 1539861 1539990 1540007 1540033 1540034 1540042 1563389 1564372 1564378 1564522 1565164 1565192 1565193 1565426 1565434 1565517 1565651 1565860 1565882 1566416 1566509 1566585 1567078 1567265 1568391 1568594 1568626 1568834 1569034 1569694 1570312 1570803 1571078 1571242 1571302 1571566 1571687 1579107 1579259 1579593 1608310 1609158 1611604 1612175 1612784 1614702 1615657 1615665 1618608 1619124 1709966 1822614 1822704 1822764 1822773 1823021 1823161 1823554 1823619 1823643 1824103 1824234 1824369 1824728 1824729 1824811 1824812 1825059 1825083 1825406 1825410 1825465 1825497 1825547 1825613 1825631 1825781 1825854 1825855 1825858 1825868 1826323 1826348 1826646 1826654 1826702 1826724 1826755 1826757 1826758 1833235 1836606 1837204 1837441 1842747 1843919 1968833 2239763 2240226 2677743 2681123 2748553 2829402 2829403 2829404 2829405 3147204 3147205 3147206 3147210 3147214 3470429 3810054 3815103 3889800)\n(49 38444 441471 524342 1299651)\n(50 8095 8101 10222 11011 15341 15576 15671 20052 26591 26753 28574 29039 30551 34373 34438 37047 37177 37178 37683 38947 41095 41427 41429 41432 41745 41746 43174 80103 86279 86282 87015 162409 175798 237404 237410 242664 242665 282174 282175 282288 314650 314651 337465 337466 337468 337470 337471 337474 337475 337481 337482 337486 337487 337488 337489 337491 337492 337494 337495 337496 337498 337500 337501 337502 337504 337505 337511 337512 337514 337515 337518 337521 337522 337524 337525 337527 337528 337531 337534 337535 337537 337538 337540 337541 337542 337543 337544 337547 337548 337551 337552 337554 337558 337559 337561 337564 337565 337570 337571 337573 337576 337577 337578 337579 337580 337581 337582 337583 337584 337586 337587 337612 337613 337614 344349 392346 425149 524331 524660 600393 680017 680024 680026 680027 680029 680030 680031 680033 680034 680043 680063 682199 682323 683566 683568 683572 684027 684028 728836 745277 858350 870134 870517 870518 870598 870710 870806 870848 870940 871667 871736 917998 920598 1266851 1266852 1273520 1273524 1273526 1273527 1274025 1274041 1313913 1446393 1455726 1510465 1516196 1519210 1545722)\n(51 229960 229961 1180279 1180280)\n(52 2446 3025 4830 5870 6943 7284 7395 7418 8769 10342 10596 10613 10614 10615 10617 12982 13004 13671 13736 13780 13864 14878 16163 16164 16201 16259 16821 16996 18038 18221 18398 18411 19420 20780 20781 22690 22990 23925 26013 26216 26397 26542 26545 26582 26730 26733 29023 29371 30979 30983 32067 32204 32210 32239 32247 32337 32698 34641 36108 36110 36129 36143 36941 37246 37613 37757 37762 38327 38631 40478 41200 41382 41396 43156 43357 43457 79105 86083 86628 86894 162640 162641 162642 205746 205941 205942 205943 206147 206148 206149 206150 206344 206358 259885 282562 327582 327585 327586 327587 327590 327594 327595 327596 327597 327599 327603 327604 327605 327606 327609 327611 327615 327616 327618 327620 327622 327623 327625 327626 327628 327629 327630 327632 327633 327636 327641 327644 327645 327647 327648 327649 327650 327651 327652 327653 327655 327656 327658 327659 327660 327662 327663 327665 327666 327668 327669 327670 327671 327674 327675 327676 327677 327678 327680 327681 327682 327685 327687 327689 327692 327693 327694 327695 327697 327698 327699 327702 327703 327704 327705 327711 327714 327715 327723 327725 327726 327728 327729 327732 327733 327735 327736 327737 327738 327739 327741 327743 327744 327748 327749 327750 327752 327753 327754 327755 327756 327757 327758 327759 327761 327764 327765 327767 327768 327769 327771 327774 327775 327777 327778 327780 327781 327782 327783 327784 327785 327786 327787 327788 327791 327794 327795 327796 327798 327803 327810 327812 327827 327828 327839 327842 327858 327869 327872 327873 327875 327876 327880 327881 327883 327885 327886 327887 327888 327889 327890 327900 327901 327902 327904 327910 327913 327916 327918 327919 327921 327922 327926 327927 327928 327929 327933 327937 327944 327945 327946 327947 327949 327951 327952 327953 327954 327955 327957 327960 327961 327962 327963 327964 327965 327967 327968 327977 327979 327981 327982 327985 327986 327987 327995 328017 328028 328032 328033 328037 328038 328040 328042 328046 328050 328057 328063 328076 328082 328085 328088 328089 328090 328091 328093 328097 328098 328099 328104 328109 328121 328142 328146 328148 328164 328173 328175 328177 328200 328202 328205 328209 328217 328224 328225 328226 328228 328229 328234 328239 328240 328243 328244 328245 328246 328248 328249 328252 328254 328257 328261 328262 328264 328265 328268 328270 328271 328281 328283 328284 328286 328291 328292 328299 328305 328307 328314 328316 328317 328320 328321 328323 328324 328325 328327 328333 328340 328341 328350 328354 328355 328356 328359 328360 328363 328367 328368 328371 328375 328377 328379 328381 328383 328384 328389 328396 328399 328400 328422 328427 328428 328429 328430 328432 328433 328434 328435 328436 328437 328438 328440 328442 328444 328445 328448 328450 328482 328498 328504 328516 328518 328520 328523 328525 328528 328536 328540 328542 328543 328549 328553 328554 328557 328559 328560 328563 328566 328569 328570 328575 328576 328578 328582 328584 328587 328588 328590 328592 328594 328598 328604 328605 328606 328607 328608 328609 328610 328611 328612 328615 328619 328621 328624 328631 328643 328653 328655 328665 328667 328668 328670 328671 328672 328673 328674 328675 328677 328679 328680 328685 328689 328690 328691 328692 328706 328707 328709 328712 328717 328719 328721 328722 328723 328724 328725 328735 328737 328738 328740 328743 328745 328746 328747 328748 328749 328752 328756 328764 328767 328768 328769 328770 328771 328773 328774 328775 328776 328785 328804 328806 328812 328813 328814 328815 328817 328819 328820 328821 328823 328824 328826 328827 328829 328830 328837 328845 328848 328864 328865 328878 328888 328890 328893 328900 328901 328911 328917 328926 328928 328933 328937 328951 328952 328957 328959 328960 328963 328964 328994 328997 328998 329000 329009 329010 329011 329012 329013 329014 329015 329016 329017 329018 329020 329021 329024 329028 329029 329032 329034 329035 329036 329037 329039 329040 329042 329045 329046 329049 329051 329060 329066 329068 329070 329073 329074 329076 329077 329078 329079 329080 329082 329084 329085 329086 329097 329099 329100 329104 329108 329109 329114 329119 329120 329129 329131 329132 329134 329136 329137 329139 329142 329143 329144 329147 329149 329153 329155 329156 329160 329162 329164 329173 329179 329183 329187 329188 329192 329195 329196 329207 329208 329209 329210 329211 329213 329214 329215 329216 329217 329223 329225 329226 329235 329240 329246 329248 329249 329252 329253 329265 329277 329279 329280 329281 329282 329289 329295 329297 329299 329300 329301 329303 329306 329307 329316 329332 329413 329422 329425 329435 329444 329445 329452 329459 329460 329461 329471 329475 329477 329483 329484 329485 329488 329490 329495 329498 329507 329509 329512 329526 329540 329542 329543 329551 329557 329558 329565 329566 329568 329573 329575 329579 329580 329585 329586 329587 329588 329589 329590 329591 329593 329594 329595 329596 329598 329599 329600 329601 329602 329603 329604 329605 329607 329608 329610 329611 329612 329613 329614 329615 329622 329628 329632 329635 329641 329659 329661 329664 329665 329671 329672 329679 329685 329686 329695 329696 329697 329700 329702 329703 329706 329715 329728 329729 329738 329754 329757 329759 329760 329761 329763 329781 329784 329788 329792 329794 329795 329796 329813 329819 329820 329824 329835 329839 329847 329848 329849 329851 329856 329881 329893 329912 329917 329932 329938 329944 329945 329953 329956 329957 329960 329967 329968 329969 329970 329973 329978 329981 329986 329987 329989 329990 329992 329993 329994 329995 329998 330000 330001 330002 330007 330008 330009 330010 330012 330016 330027 330030 330037 330040 330058 330059 330063 330065 330069 330073 330074 330080 330081 330082 330085 330086 446375 446376 452986 524536 524537 524538 524539 524540 553284 553435 563114 579167 598069 598161 598162 598834 599044 599045 599046 599047 599049 599050 599052 936076 936081 946707 949249 949250 949251 949302 949339 949400 949401 949444 949581 949582 949583 949584 949585 949586 949587 949588 949589 949590 949651 969658 969668 969678 993588 998755 998756 998757 998758 998759 998761 998762 998763 998764 998766 998767 998768 998769 998770 998771 998772 998774 998775 998777 998778 998779 998782 998783 998784 998786 998787 998789 998790 998794 998795 998797 998798 998799 998800 998801 998802 998803 998804 998805 998806 998809 998811 998812 998813 998814 998816 998817 998818 998820 998821 998822 998823 998824 998825 998826 998828 998829 998830 998831 998833 998837 998838 998839 998840 998843 998846 998847 998849 998850 998851 998853 998854 998855 998856 998857 998858 998859 998860 998861 998863 998864 998865 998866 998867 998868 998870 998872 998875 998877 998878 998880 998881 998882 998883 998885 998886 998887 998889 998890 998892 998893 998896 998898 998899 998900 998901 998903 998905 998906 998907 998908 998912 998914 998915 998916 998918 998921 998922 998924 998925 998926 998927 998928 998930 998931 998932 998934 998935 998936 998938 998939 998942 998944 998945 998946 998947 998948 998950 998951 998953 998954 998955 998956 998957 998958 998960 998962 998964 998965 998966 998967 998969 998970 998971 998972 998973 998975 998977 998978 998979 998981 998982 998983 1000514 1000515 1000519 1000552 1000553 1000598 1000614 1000615 1000627 1000645 1000670 1000710 1000721 1000834 1000837 1000887 1001587 1001588 1001589 1001645 1001647 1001651 1001652 1001653 1001655 1001656 1001657 1001658 1001659 1001660 1001664 1001665 1001666 1001667 1001668 1001669 1001670 1001671 1001672 1001687 1001692 1001694 1001695 1001696 1001702 1001706 1001707 1001708 1001710 1001712 1001713 1001715 1002242 1002245 1002248 1002250 1002252 1002253 1002254 1002255 1002257 1002258 1002259 1002262 1002264 1002265 1002266 1002268 1002281 1002486 1002487 1002488 1002489 1002490 1002493 1002494 1002495 1003260 1003262 1003263 1003265 1003266 1003267 1003268 1003336 1003338 1003339 1003340 1003342 1003343 1003344 1003345 1003346 1003348 1003349 1003356 1003358 1003359 1003360 1003361 1003363 1003365 1003366 1003367 1003368 1003370 1003372 1003373 1003374 1003375 1003376 1003377 1003378 1003379 1003380 1003381 1003382 1003385 1003386 1003387 1003388 1003389 1003391 1003397 1003398 1003399 1003400 1003401 1003402 1003406 1003412 1003414 1003415 1003416 1003417 1003419 1003420 1003422 1003423 1003425 1003426 1003427 1003428 1003429 1003431 1003432 1003433 1003434 1003435 1003820 1003832 1004150 1004151 1004152 1004153 1004154 1004156 1004157 1004165 1004170 1004171 1004173 1004175 1004186 1004188 1004190 1004191 1004195 1004196 1004198 1004200 1004201 1004204 1004205 1004552 1004554 1004558 1004562 1004696 1004697 1005284 1005286 1005288 1005289 1005291 1005292 1005308 1005311 1005315 1005691 1005734 1005781 1005782 1006110 1006112 1006114 1006115 1006117 1006119 1006121 1006123 1006127 1006128 1006129 1006131 1006132 1006135 1006138 1006139 1006358 1006359 1006360 1006361 1006372 1006375 1006379 1006381 1006383 1006385 1006391 1006392 1006394 1006395 1006568 1006569 1006570 1006670 1006737 1006739 1006740 1006749 1006750 1006753 1006755 1007179 1007423 1007576 1007747 1007750 1007875 1007876 1007934 1007939 1008044 1008281 1008282 1008283 1008284 1008287 1008685 1008686 1008688 1008689 1008896 1009014 1009111 1009112 1009380 1009499 1009500 1009645 1009669 1009677 1009679 1009795 1009970 1010094 1010202 1010205 1010209 1010210 1010213 1010215 1010219 1010223 1010228 1010229 1010232 1010236 1010237 1010239 1010240 1010250 1010251 1010254 1010260 1010261 1010272 1010280 1010282 1010292 1010293 1010301 1010303 1010319 1010320 1010321 1010322 1010325 1010326 1010327 1010335 1010468 1010469 1010489 1010490 1010634 1010635 1010636 1010943 1010951 1010952 1010953 1011600 1011608 1011822 1011923 1012195 1012775 1012855 1012858 1013091 1013092 1013212 1013213 1013214 1013469 1013483 1013513 1013793 1013807 1013808 1013810 1013923 1013924 1013925 1013937 1013956 1014275 1014276 1014963 1015289 1015290 1015291 1015292 1015451 1015452 1015454 1015466 1015544 1015545 1015546 1015551 1015577 1015578 1015579 1015580 1015581 1015582 1015592 1015624 1015857 1015858 1016048 1016053 1016055 1016059 1016198 1016199 1016200 1016214 1016221 1016414 1016415 1016429 1016431 1016432 1016538 1016765 1016766 1016797 1016798 1016799 1016823 1016835 1016836 1016994 1016995 1017960 1017961 1017965 1018103 1018104 1018107 1018343 1018344 1018345 1018348 1018352 1018353 1018354 1018480 1018482 1018483 1018490 1018492 1018493 1018499 1018617 1018618 1018818 1018896 1018897 1019556 1019557 1019588 1019589 1019658 1019659 1019660 1019662 1019664 1019665 1019667 1019673 1019675 1020042 1020252 1020343 1020362 1020365 1020370 1020376 1020379 1020380 1020381 1020422 1020428 1020429 1020432 1020433 1020434 1020487 1020513 1020516 1020518 1020519 1020520 1020688 1020739 1020740 1020741 1020743 1020744 1020745 1021424 1021669 1021670 1021822 1022111 1022138 1022150 1022585 1022938 1022953 1022954 1022955 1023048 1023051 1023056 1023057 1023058 1023152 1023153 1023154 1023155 1023156 1023160 1023207 1023208 1023251 1023846 1024001 1024005 1024011 1024177 1024573 1024584 1024585 1024614 1024615 1024616 1024618 1024622 1024789 1024790 1024791 1024794 1024796 1024799 1025117 1025713 1025801 1025907 1025908 1025909 1025910 1025911 1025912 1026514 1026521 1026965 1027004 1027005 1027007 1027270 1027309 1027310 1027757 1027761 1027815 1027817 1027818 1028055 1028058 1028079 1028082 1028085 1028180 1028218 1028252 1028253 1028254 1028265 1028482 1028488 1028496 1028551 1028552 1028839 1028841 1028896 1028899 1028900 1029081 1029103 1029115 1029200 1029201 1029204 1029334 1029336 1029815 1030069 1030394 1030399 1030406 1030407 1030408 1030409 1030410 1030414 1030538 1030960 1030962 1030965 1030967 1030969 1030971 1030973 1030975 1030976 1030979 1031192 1031194 1031195 1031197 1031198 1031200 1031206 1031207 1031209 1031210 1031211 1031212 1031215 1031216 1031217 1031220 1031221 1031224 1031225 1031226 1031227 1031231 1031232 1031327 1031419 1031534 1031636 1031688 1031689 1031816 1032007 1032146 1032147 1032233 1032234 1032240 1032241 1032244 1032508 1032514 1032757 1032759 1032762 1032765 1032793 1032796 1032850 1033088 1033426 1033429 1033432 1033433 1033930 1033948 1034397 1034438 1034439 1034440 1034443 1034444 1034445 1034447 1034448 1034449 1034450 1034451 1034452 1034544 1034551 1034558 1034559 1034560 1034561 1034562 1034563 1034564 1034566 1034576 1034579 1034698 1034700 1034703 1034705 1034708 1034712 1034723 1034725 1034727 1034729 1034738 1034739 1034741 1034742 1034743 1034909 1034912 1034913 1035050 1035052 1035053 1035099 1035399 1035400 1035721 1035723 1035726 1035833 1035972 1035973 1035978 1035979 1036326 1036327 1036329 1036330 1036332 1036333 1036822 1036841 1036842 1037401 1037402 1037403 1037404 1037406 1037411 1037483 1037813 1037903 1037905 1037906 1037907 1037908 1037916 1037926 1037929 1037931 1037933 1037937 1037938 1037939 1037942 1038026 1038027 1038028 1038029 1038030 1038031 1038034 1038035 1038036 1038038 1038040 1038044 1038179 1038180 1038311 1038334 1038426 1038427 1038428 1038431 1038745 1038772 1038773 1038774 1038820 1038966 1039008 1039009 1039010 1039316 1039317 1039319 1039331 1039338 1039339 1039340 1039346 1039349 1039353 1039355 1039486 1039512 1039807 1039816 1039825 1040058 1040060 1040061 1040148 1040539 1040573 1040586 1040587 1041129 1041131 1041155 1041179 1041184 1041186 1041187 1041195 1041196 1041197 1041207 1041208 1041212 1041293 1041295 1041397 1041406 1041558 1042230 1042248 1042607 1042608 1042609 1042610 1042639 1042646 1042647 1042648 1042650 1042653 1042656 1042700 1042701 1042703 1042709 1043110 1043117 1043118 1043119 1043121 1043122 1043125 1043126 1043135 1043137 1043138 1043139 1043142 1043151 1043153 1043154 1043555 1044151 1044153 1044229 1044232 1044233 1044243 1044244 1044288 1044293 1044409 1044413 1045014 1045029 1045030 1045032 1045232 1045233 1045234 1045236 1045237 1045238 1045240 1045312 1045314 1045315 1045317 1045583 1045584 1045919 1045920 1046032 1046509 1046527 1046685 1046687 1046688 1046826 1046830 1046837 1047040 1047044 1047053 1047054 1047133 1047134 1047613 1047614 1047616 1047617 1047765 1047766 1047768 1047895 1047900 1047971 1047987 1047988 1048447 1048448 1048676 1048677 1048692 1049455 1049484 1049737 1049738 1049932 1050069 1051303 1051304 1051305 1051306 1051309 1051310 1051311 1051312 1051313 1051314 1051315 1051316 1051317 1051318 1051319 1051514 1051515 1051530 1051534 1051544 1051549 1051551 1051553 1051558 1051702 1052017 1052511 1052514 1053019 1053020 1053036 1053037 1053050 1053090 1053093 1053959 1053960 1053963 1054075 1054599 1054921 1055248 1055820 1056049 1056051 1056052 1056192 1056193 1056205 1056206 1056207 1056318 1056418 1056439 1056463 1056465 1056475 1056476 1056481 1056487 1056760 1057041 1057143 1057229 1057278 1057279 1057280 1057283 1057284 1057411 1057413 1057420 1057429 1057432 1057443 1057446 1057451 1057454 1057457 1057470 1058128 1058139 1058140 1058141 1058388 1058484 1058662 1058663 1059392 1059393 1059396 1059401 1059403 1059608 1059610 1059613 1059894 1060601 1060826 1060840 1060842 1060875 1060877 1061025 1061713 1062247 1062248 1062249 1062251 1062253 1062254 1062257 1062266 1062269 1062290 1062291 1062666 1062673 1062674 1062692 1062942 1062943 1062944 1063045 1063471 1063472 1063681 1063883 1064992 1064993 1065120 1065155 1065157 1065160 1065241 1065283 1065492 1065553 1065579 1065583 1065584 1065585 1065586 1065590 1065597 1065862 1066152 1066154 1066183 1066302 1066380 1066515 1066727 1067660 1067661 1069167 1069271 1069403 1069472 1069505 1069507 1069508 1069510 1069852 1070394 1070846 1071450 1071691 1071841 1071842 1071850 1071852 1071856 1071863 1071870 1071875 1071958 1072584 1072589 1072938 1072940 1072945 1072946 1072949 1072950 1073580 1073590 1073663 1073774 1073979 1073982 1074089 1075716 1075718 1075720 1075928 1076007 1076252 1076253 1076565 1076567 1076689 1076690 1076695 1076697 1076701 1076703 1076704 1076707 1076832 1077069 1077078 1077083 1077119 1077120 1077122 1077123 1077180 1077216 1077217 1077221 1077226 1077229 1077831 1077832 1077833 1078013 1078277 1079017 1079019 1079020 1079076 1079146 1079238 1080644 1080648 1081127 1081128 1081130 1081133 1081135 1081137 1081139 1081140 1081141 1081142 1081145 1081309 1081324 1081448 1081449 1081455 1081457 1081459 1081533 1081554 1081643 1081648 1081649 1081650 1081655 1081656 1081657 1081659 1081772 1081773 1081776 1081830 1081913 1082015 1082017 1082042 1082044 1082283 1082329 1082550 1082551 1082555 1082556 1082557 1082561 1082562 1082564 1082566 1082570 1083109 1083135 1083309 1083331 1083547 1083723 1083798 1083915 1084014 1084059 1084211 1084346 1084435 1084436 1084553 1084638 1084669 1084907 1084960 1085001 1085005 1085006 1085075 1085077 1085089 1085129 1085130 1085194 1085260 1085293 1085295 1085580 1085582 1085583 1085673 1085790 1085846 1085864 1086120 1086121 1086136 1086141 1086287 1086329 1086622 1086659 1086706 1086759 1086836 1087149 1087433 1087761 1088002 1088126 1088127 1088504 1088725 1088741 1088742 1089397 1089525 1089829 1090040 1090041 1090262 1090699 1090771 1091271 1091288 1092520 1093024 1093025 1093027 1093059 1093113 1093119 1093145 1093147 1093149 1093173 1093203 1093233 1093234 1093355 1093529 1093548 1093622 1093627 1093635 1093773 1093801 1093867 1093907 1093927 1093933 1094043 1094119 1094173 1094224 1094228 1094299 1094353 1094401 1094606 1094614 1094924 1095074 1095152 1095215 1095551 1095657 1095782 1148479 1187067 1187068 1187112 1187114 1187115 1187118 1187120 1187121 1187124 1187126 1187127 1187128 1187129 1187131 1187171 1187172 1187926 1188422 1188423 1188424 1188425 1188523 1188524 1188525 1188526 1188527 1188722 1188771 1188781 1190044 1190052 1190100 1190118 1190122 1190125 1190136 1190137 1190216 1190218 1190353 1190359 1190527 1190528 1190739 1190818 1190820 1190823 1190828 1190830 1190841 1190842 1190844 1190846 1190914 1190963 1190969 1190972 1191001 1191618 1191620 1192137 1192138 1192296 1192297 1192355 1192821 1193074 1193077 1193078 1193084 1193085 1193087 1193421 1193453 1193456 1193817 1193821 1193826 1193827 1193829 1193831 1193838 1194124 1194372 1194377 1194767 1194855 1194859 1194873 1194964 1194968 1195007 1195008 1195010 1195011 1195012 1195013 1195014 1195018 1195020 1195021 1195024 1195031 1195036 1195170 1195261 1195267 1195268 1195275 1195280 1195281 1195560 1195747 1196102 1196297 1196298 1196300 1196304 1196305 1196307 1196312 1196314 1196315 1196316 1196323 1196326 1196329 1196334 1196693 1196876 1197043 1197044 1197217 1198089 1198091 1198093 1198269 1198389 1198473 1198474 1198475 1198477 1198478 1198622 1198876 1198988 1199174 1199175 1199180 1199183 1199184 1199187 1199502 1199506 1199507 1199510 1199513 1199514 1199516 1199517 1199763 1199831 1199834 1199839 1199841 1201405 1201534 1201535 1201541 1201542 1201545 1201548 1201550 1201781 1201782 1201786 1201787 1201789 1201791 1201792 1201793 1201794 1201795 1201796 1201797 1201798 1201799 1201801 1201802 1201803 1202056 1202057 1202752 1203236 1203237 1203773 1203777 1204205 1204206 1204607 1204610 1204615 1204768 1205178 1205181 1205941 1205942 1205944 1206348 1206349 1206350 1206351 1206366 1206373 1206380 1206390 1206392 1206408 1206409 1206410 1206412 1206416 1206432 1207083 1207087 1207249 1207350 1207354 1207361 1207362 1207363 1207364 1207366 1207368 1207487 1207488 1207530 1207531 1207532 1207533 1208204 1208260 1208411 1208613 1208929 1209812 1209923 1209925 1209928 1210193 1210427 1210429 1210430 1210437 1210521 1210523 1210524 1210593 1211603 1211622 1211623 1211640 1211644 1212034 1212094 1212218 1212596 1212597 1212659 1212662 1212672 1213014 1213164 1213165 1214374 1214710 1214945 1215138 1215308 1215309 1216264 1216265 1216266 1216270 1216401 1216507 1216776 1216777 1217063 1217076 1217094 1217096 1217108 1217109 1217239 1217267 1217341 1217342 1217443 1217445 1217446 1217489 1218606 1218609 1218610 1218621 1218817 1218820 1219207 1219355 1220645 1221156 1221311 1221315 1221459 1221461 1221462 1221467 1221851 1221853 1222339 1222340 1222347 1222428 1223230 1223231 1223232 1223233 1223235 1223371 1223373 1223376 1223379 1223380 1223381 1223382 1223383 1223384 1223385 1223532 1223898 1223901 1223909 1223912 1223918 1223919 1223931 1223933 1223934 1223939 1223940 1225307 1225308 1225342 1225348 1225351 1226010 1226014 1226018 1226019 1226583 1226584 1226945 1227860 1227861 1228115 1228286 1228302 1228305 1228841 1229142 1229144 1230246 1230247 1230496 1230526 1230528 1230608 1230700 1231600 1232131 1232212 1232429 1232431 1232432 1232438 1232439 1233897 1233899 1234138 1234139 1234141 1234142 1234146 1234147 1234593 1234594 1234956 1234957 1234958 1234959 1234960 1235735 1256288 1256302 1257734 1262946 1262980 1304603 1305701 1444155 1458438 1458656 1458658 1458814 1459324 1459326 1459329 1459330 1459331 1459333 1459341 1459342 1459346 1459804 1460138 1460142 1460143 1460147 1460148 1460150 1460151 1460157 1460164 1460237 1460404 1460409 1460419 1460420 1460422 1460650 1460651 1460652 1460870 1461260 1462042 1462083 1462314 1462316 1462317 1462321 1462323 1462325 1462326 1462327 1462969 1463189 1463190 1463191 1463553 1463555 1463556 1463559 1463563 1463564 1463568 1463588 1465226 1465283 1465285 1465397 1465398 1465399 1465716 1465872 1467010 1467282 1468013 1468014 1468046 1468048 1468052 1468054 1468064 1468069 1468070 1468072 1468075 1468078 1468081 1468142 1469222 1469239 1469750 1469801 1469802 1470104 1470250 1470253 1470254 1470280 1474300 1474318 1474610 1475631 1476149 1476250 1476251 1476422 1477003 1477141 1477145 1477146 1477148 1477589 1478035 1478694 1478707 1478708 1478743 1478744 1478745 1478747 1478748 1478749 1478752 1478753 1478754 1478860 1478929 1478930 1478933 1478934 1479058 1479062 1479091 1479093 1479094 1479095 1479096 1479102 1479341 1479969 1480095 1480552 1481380 1481727 1481761 1481766 1481771 1481774 1481786 1481838 1481973 1482074 1482076 1482265 1482440 1482443 1482444 1482965 1483388 1483395 1483396 1483495 1485016 1485191 1485197 1485835 1485837 1485838 1485937 1486342 1486436 1486470 1486587 1487092 1487093 1487262 1487263 1487265 1487266 1488126 1488167 1489347 1489367 1489368 1489380 1489457 1489458 1489544 1489546 1489547 1489548 1489567 1489568 1489583 1489638 1489644 1489648 1489649 1489662 1489663 1489693 1489694 1489763 1489764 1489903 1490416 1490782 1490784 1490785 1490786 1490787 1490788 1490789 1491170 1491327 1491335 1491709 1491716 1491717 1491718 1491727 1492002 1492003 1492012 1492014 1492016 1492610 1492615 1492623 1492626 1492627 1492739 1492752 1493326 1493327 1493337 1493338 1493340 1493342 1493343 1493613 1493863 1493870 1493927 1494275 1494276 1494958 1494960 1494961 1494962 1495542 1496203 1496204 1496340 1496484 1496787 1497883 1497884 1497894 1497895 1498776 1498777 1498783 1499446 1499491 1499493 1499495 1499497 1499499 1499501 1499502 1499504 1499506 1499507 1499508 1499509 1499517 1499518 1499519 1499520 1499824 1501446 1501447 1501448 1501550 1502222 1503049 1503201 1503208 1503209 1503793 1503795 1503850 1503853 1503854 1503861 1503894 1504638)\n(53 731 734 763 766 804 873 1925 2416 3079 3813 3962 4968 5603 5826 5911 6009 6140 6152 6157 6318 6905 7165 7166 7280 7465 8301 8767 9144 9254 9789 9940 10038 10840 11057 11071 11124 11383 13220 13378 13491 14089 15170 15457 15565 15663 15734 15967 16927 16928 17565 17747 17979 18462 18800 18811 18862 18932 18965 18979 19065 19080 19322 19521 19571 19572 19699 19871 20303 20429 20458 20557 20578 20580 20598 20621 20625 20649 20651 20893 20899 21697 21899 22107 22281 22410 22868 23309 23380 23533 23915 24032 24103 24817 24923 24967 26205 26859 26961 27059 27063 27080 27125 27429 27769 27854 28084 28378 28803 29053 29131 29354 29624 29795 30252 30318 30544 30563 31206 31911 32040 32646 32739 32967 32992 33033 33119 33150 33213 33775 33825 33944 34079 34094 34194 34935 35232 35300 35863 36674 36973 37036 37301 37316 37420 37580 37833 37834 38044 38435 38455 38835 38990 38999 39437 39648 39870 40335 40416 40434 40437 40509 40537 40747 41657 41667 41674 41747 41981 42018 42023 42798 43094 43096 43387 80274 85086 85128 85393 85595 85606 85607 85608 85628 85639 85665 85682 85702 85988 86310 86972 149610 149612 149632 149666 149667 149689 149709 149726 149727 149744 149747 149757 149772 149774 149775 149796 149798 149823 150038 150043 150064 150075 150076 150077 150497 150583 150872 150920 150993 151105 151190 151235 151257 151260 151268 151273 151368 151379 151409 151474 151475 151477 151478 151479 151480 151501 151502 151505 151539 151559 151572 151576 151578 151579 151580 151581 151583 151585 151588 151598 151599 151601 151611 151613 151614 151625 151631 151632 151643 151646 151647 151648 151665 151666 151667 151670 151674 151678 151679 151683 151684 151691 151705 151706 151723 151728 151729 151749 151754 151757 151758 151765 151766 151780 151786 151787 151841 151849 151854 151865 151872 151878 151879 151883 151888 151889 151892 151904 151905 151911 151930 151934 151955 151956 151995 152009 152162 152191 152215 152229 152231 152242 152260 154270 154843 154936 155117 155170 155218 155465 155537 155540 155668 156084 156247 156287 156543 156724 157733 157734 159023 159054 159059 159060 159069 159076 159099 159104 159109 159128 159131 162285 162287 162703 175167 175841 176003 178399 178400 178414 178415 178808 178815 184513 184517 184518 184522 184524 184544 184546 184547 184551 184558 184562 184570 184571 184785 184786 184794 199805 205180 205192 205254 205400 206076 206177 206275 220763 221082 221101 221104 221147 221148 221161 221184 221185 221198 221202 221203 221204 221265 221278 221279 221281 221285 221345 221477 221481 221566 221571 221607 221608 221610 221629 221662 221690 221716 221717 221718 221722 221725 221732 221733 221736 221738 221742 221752 221780 221783 221784 230686 231162 231172 231173 231184 231187 231191 231221 231224 231225 231247 231249 231254 231255 231262 231271 231278 231286 231287 231288 231289 231299 231309 231310 231315 231316 231337 231353 231355 231357 231360 231369 231377 231382 231391 231393 231397 231401 231402 231406 231407 231410 231414 231426 231432 231433 231441 231444 231455 231466 231468 231469 231471 231486 231487 231488 231495 231506 231513 231534 231535 231536 231537 231538 231544 231545 231547 231548 231552 231563 231634 231651 231669 231683 231685 231686 231687 231688 231691 231694 231695 231696 231698 231712 231716 231722 231730 231750 231774 231775 231791 231823 231824 231826 231827 231833 231834 231842 231843 231844 231848 231881 231892 231898 231899 231900 231901 231902 231906 231911 231919 231925 231932 231941 231950 231951 231974 232000 232003 232008 232017 232051 232090 232092 232097 232098 232101 232105 232112 232114 232115 232116 232117 232118 232120 232121 232123 232124 232132 232140 232143 232144 232149 232155 232162 232165 232166 232188 232201 232202 232203 232218 232220 232221 232237 232240 232243 232244 232245 232255 232257 232259 232264 232265 232267 232273 232275 232301 232308 232310 232339 232341 232346 232347 232348 232349 232350 232357 232359 232366 232367 232370 232374 232375 232376 232384 232385 232388 232389 232390 232391 232402 232403 232408 232409 232410 232411 232417 232418 232421 232432 232442 232459 232461 232466 232474 232475 232477 232508 232509 232515 232541 232567 232568 232570 232574 232592 232617 232619 232620 232654 232673 232693 232694 232696 232708 232720 232733 232743 232744 232751 232756 232788 232789 232790 232791 232799 232805 232806 232807 232814 232815 232831 232853 232893 232937 232949 232984 232989 232995 232997 232999 233000 233004 233070 233071 233072 233073 233075 233126 233143 233145 233162 233165 233169 233174 233176 233177 233214 233217 233224 233230 233238 233241 233260 233269 233276 233283 233286 233302 233304 233306 233308 233365 233388 233408 233409 233417 233429 233481 233484 233485 233492 233519 233632 233719 233729 233730 233797 233849 233861 233868 233898 233921 233927 234019 234072 234146 234155 234162 234164 234172 234177 234180 234182 234199 234216 234236 234237 234260 234314 234338 234422 234425 234450 234488 234492 234518 234543 234550 234555 234559 234565 234576 234577 234622 234624 234630 234631 234632 234641 234648 234668 234708 234719 234725 234766 234784 234791 234801 234818 234860 234866 234909 234913 234918 234919 234920 234923 234925 234939 234940 234964 234967 234971 234972 234976 234987 234988 235008 235030 235047 235048 235066 235075 235096 235107 235109 235110 235113 235117 235161 235180 235193 235195 235196 235217 235229 235231 235235 235248 235258 235260 235266 235273 235312 235315 235324 235356 235360 235393 235396 235401 235405 235409 235415 235425 235429 235433 235437 235439 235456 235467 235472 235484 235499 235532 235546 235553 235564 235567 235601 235627 235639 235646 235659 235675 235735 235756 235760 235763 235804 235818 235819 235821 235822 235823 235826 235838 235839 235857 235874 235917 235923 235928 235932 235943 235971 235983 235986 236018 236023 236033 236046 236061 236062 236147 236151 236171 236174 236175 236857 237029 237031 237046 237062 237063 237129 237137 237138 237139 237154 237156 237157 237158 237167 237170 237202 237219 237220 237232 237234 237261 237265 237267 237272 237284 237290 237291 237295 237304 237312 237313 237314 237315 237335 237336 237349 237358 237396 237398 237490 237616 237827 237849 238044 238090 238156 238200 238203 238296 238427 238545 238546 238547 238560 238562 238564 238569 238572 238577 238579 238580 238582 238588 238594 238596 238597 238612 238623 238624 238625 238634 238636 238642 238645 238646 238649 238651 238655 238660 238662 238663 238668 238686 238690 238691 238694 238695 238696 238698 238699 238700 238705 238706 238708 238711 238713 238714 238716 238721 238729 238732 238734 238739 238748 238750 238752 238756 238760 238761 238762 238769 238772 238775 238788 238791 238793 238796 238803 238804 238808 238809 238813 238815 238819 238820 238828 238833 238844 238846 238866 238869 238873 238874 238876 238877 238878 238882 238884 238888 238890 238892 238897 238898 238900 238901 238904 238906 238908 238910 238913 238934 238939 238940 238943 238951 238953 238954 238956 238960 238963 238964 238969 238972 238973 238976 238979 238980 238983 238985 238993 238994 238995 238996 238999 239000 239002 239006 239010 239011 239012 239015 239043 239049 239050 239052 239053 239058 239062 239063 239064 239081 239082 239083 239089 239090 239093 239101 239102 239106 239110 239111 239113 239126 239130 239133 239135 239136 239137 239138 239145 239146 239153 239154 239157 239158 239159 239160 239162 239177 239185 239186 239187 239192 239193 239200 239202 239203 239207 239212 239215 239220 239221 239222 239227 239272 239276 239277 239281 239282 239293 239297 239301 239302 239308 239309 239310 239311 239312 239324 239326 239327 239328 239334 239339 239343 239348 239349 239354 239355 239370 239388 239389 239390 239393 239396 239399 239403 239405 239411 239412 239416 239421 239422 239423 239427 239428 239429 239449 239468 239471 239472 239474 239477 239478 239483 239488 239493 239496 239502 239505 239508 239509 239513 239514 239516 239519 239520 239521 239522 239524 239525 239533 239534 239535 239536 239538 239542 239553 239554 239561 239571 239573 239574 239582 239585 239587 239593 239594 239598 239600 239601 239602 239603 239609 239611 239612 239614 239620 239621 239622 239623 239626 239627 239629 239635 239647 239648 239656 239658 239665 239666 239669 239672 239676 239684 239686 239690 239692 239695 239700 239703 239705 239707 239717 239719 239720 239722 239723 239729 239731 239735 239761 239763 239764 239766 239767 239778 239782 239787 239789 239794 239798 239800 239801 239803 239804 239807 239815 239820 239821 239823 239830 239831 239840 239842 239843 239844 239846 239850 239872 239876 239878 239882 239884 239885 239892 239895 239908 239932 239933 239935 239939 239944 239945 239947 239948 239949 239953 239955 239956 239957 239959 239965 239966 239967 239970 239973 239974 239975 239978 239979 239980 239981 239984 239987 239988 239989 239990 239991 239992 239997 239998 240001 240009 240014 240016 240017 240021 240030 240032 240041 240042 240043 240062 240068 240070 240073 240074 240080 240081 240083 240085 240086 240087 240090 240097 240100 240102 240103 240104 240105 240109 240110 240114 240116 240121 240126 240128 240130 240132 240133 240139 240147 240151 240158 240159 240160 240170 240171 240173 240185 240186 240188 240192 240193 240198 240208 240212 240215 240217 240220 240223 240226 240231 240232 240233 240246 240250 240252 240272 240274 240275 240276 240277 240278 240284 240289 240291 240292 240294 240296 240298 240302 240303 240306 240308 240317 240320 240321 240322 240324 240326 240328 240335 240336 240337 240338 240341 240350 240351 240355 240361 240370 240385 240386 240387 240392 240395 240397 240405 240412 240416 240417 240421 240422 240425 240426 240430 240435 240442 240443 240457 240459 240464 240475 240477 240478 240479 240481 240487 240492 240499 240502 240503 240508 240509 240514 240518 240524 240525 240529 240531 240532 240534 240535 240536 240537 240577 240593 240600 240601 240602 240604 240606 240607 240611 240614 240615 240617 240618 240622 240623 240628 240630 240631 240637 240641 240650 240652 240654 240655 240656 240668 240671 240676 240682 240685 240686 240689 240691 240693 240695 240701 240702 240705 240706 240709 240711 240716 240718 240719 240720 240721 240722 240724 240727 240728 240733 240741 240748 240757 240759 240761 240762 240763 240764 240766 240771 240772 240773 240775 240777 240778 240784 240791 240793 240794 240795 240802 240804 240806 240807 240809 240817 240818 240822 240826 240835 240840 240841 240843 240844 240846 240850 240851 240855 240856 240857 240858 240859 240863 240865 240866 240867 240868 240871 240872 240873 240875 240879 240885 240894 240897 240898 240900 240905 240907 240913 240915 240919 240921 240925 240933 240939 240942 240948 240949 240961 240964 240965 240969 240972 240975 240979 240987 240995 240996 241008 241009 241010 241011 241028 241035 241038 241043 241047 241048 241052 241053 241054 241058 241064 241065 241066 241074 241091 241097 241098 241103 241104 241105 241107 241108 241110 241115 241116 241121 241126 241127 241128 241133 241135 241137 241140 241146 241148 241152 241153 241156 241157 241158 241159 241160 241161 241166 241173 241176 241178 241181 241185 241189 241196 241197 241198 241203 241205 241206 241207 241213 241214 241224 241225 241228 241231 241236 241238 241240 241241 241243 241246 241252 241254 241258 241263 241269 241270 241277 241278 241279 241287 241291 241298 241299 241300 241302 241303 241304 241306 241307 241311 241316 241319 241320 241321 241323 241324 241328 241330 241332 241334 241335 241337 241346 241351 241355 241357 241358 241361 241362 241370 241371 241373 241391 241400 241401 241403 241404 241422 241429 241430 241436 241438 241441 241446 241448 241449 241451 241452 241456 241459 241466 241475 241485 241490 241492 241495 241500 241502 241503 241507 241509 241510 241512 241513 241516 241522 241523 241524 241526 241529 241545 241548 241552 241553 241557 241559 241575 241580 241581 241582 241589 241590 241597 241598 241605 241607 241608 241619 241622 241623 241624 241625 241629 241631 241632 241634 241640 241654 241657 241659 241663 241665 241668 241673 241676 241681 241683 241684 241686 241688 241690 241691 241692 241693 241694 241699 241703 241704 241706 241712 241716 241720 241728 241729 241731 241734 241735 241739 241744 241750 241757 241759 241760 241770 241772 241841 241863 241883 241889 241923 241971 242066 242072 242086 242089 242130 242143 242271 259752 259780 259972 260300 260352 260397 260515 260526 260543 260572 260576 260581 260591 260600 260682 260684 260701 260733 260771 260785 260789 260807 260823 260832 260860 260875 260877 260913 260914 260915 262174 262360 262361 262365 262367 262387 262402 262411 262416 262437 262444 262461 262476 262477 262478 262479 262496 262498 262539 262561 262613 262619 262625 262630 262643 262646 262650 262656 262665 262926 263008 263386 263567 264169 264576 266781 266813 266911 267456 267780 267781 267995 268991 269011 269202 269208 269494 269699 269718 269733 269740 269800 269806 269811 269817 269824 269830 269846 269966 270256 270500 270685 270691 271007 271048 271119 271141 271196 271197 271198 271200 271202 271205 271208 271211 271275 271288 271323 271381 271900 277591 277595 277597 277598 277599 277605 277606 277607 277610 277634 277635 277636 277638 277647 277649 277651 277652 277653 277654 277662 277664 277678 277689 277703 277730 277748 277755 277758 277759 277760 277762 277767 277768 277778 277793 277797 277800 277803 277804 277814 277833 277839 277840 277843 277850 277851 277854 277858 277867 277868 277870 277882 277883 277884 277885 277887 277888 277889 277890 277891 277892 277894 277895 277896 277897 277898 277899 277900 277901 277906 277910 277911 277912 277914 277917 277918 277926 277929 277932 277939 277942 277960 277979 277983 278016 278027 278031 278033 278035 278036 278037 278039 278041 278048 278057 278060 278084 278090 278091 278092 278124 278127 278131 278152 278157 278182 278207 278208 278210 278211 278214 278224 278227 278231 278232 278233 278239 278244 278249 278251 278252 278253 278947 278953 279134 279520 279759 279766 279781 279787 279788 279797 279813 280265 280956 281265 281268 281800 281803 281822 281825 281834 281863 281929 281966 281986 282021 282171 282551 301571 301623 301632 301634 301635 301678 302044 302115 302117 302313 302486 302487 302539 302845 302870 311129 311153 311393 311394 311395 311408 311409 311412 311422 311423 311428 311429 311468 312413 312417 312428 312429 312430 312433 312434 312435 312855 314720 332123 332124 332128 332133 332145 332390 332391 332392 332393 332396 332397 332398 332399 332411 332426 332428 332434 332441 332477 332543 332547 332549 332556 332563 332575 333042 333121 333350 333361 333378 333582 333598 333744 333746 333848 333919 333942 333946 334195 337210 337591 337598 337600 337616 337629 337630 337632 337664 337672 337676 337677 337679 337682 338572 338584 338597 338599 338656 338666 338700 339154 339262 339263 339264 339376 339662 340358 340648 340649 340650 340655 340658 340659 340661 340771 340871 340872 340978 341247 341512 341730 341738 341789 341827 342348 342420 342501 342526 342531 342533 342540 342548 342582 342592 342658 342952 343173 343221 343495 344194 344225 344226 344229 344232 344233 344264 344286 344298 344313 344315 344320 344330 344339 344351 344353 344357 344369 344484 345317 347530 347533 347638 347697 347938 347940 347941 347943 347944 347945 347946 348089 348775 349448 349482 349588 349603 349608 349705 349790 362060 362061 362063 362065 362074 362079 362085 366640 369260 369610 369663 369821 375575 375820 375855 375865 375886 376405 376618 376705 391848 391852 391853 391870 392039 392079 392094 392096 392168 392178 392183 392185 392188 392191 392349 392386 392587 392684 392692 392696 392714 392751 393009 393707 393708 393709 393771 393772 393782 393976 395001 395002 395016 395018 395853 395854 396025 396053 399493 400814 400853 401001 403565 403645 403722 403723 403823 403824 403825 404505 404831 404845 405124 405334 406773 406790 406830 406834 406836 406838 406840 406842 406851 406864 406865 406866 406867 410773 410785 410807 410809 410935 411097 412771 413322 413800 419323 419324 419367 419372 419373 419375 419384 419385 419386 419389 419392 419397 419406 419415 419426 419430 419431 419437 420208 420258 420263 420265 420318 420319 420327 420328 420331 420332 420333 420334 420338 420583 420590 420607 420637 420836 420857 420861 420872 420903 420905 420926 421155 421160 421162 421163 421164 421165 421166 421190 421194 421207 421231 421248 421257 421264 421272 421274 421330 421332 421340 421395 421449 421451 421454 421456 421611 421619 421892 421896 422290 422298 422813 422814 422815 422837 422878 422881 422882 422887 422893 422895 422897 422902 422905 422906 422908 422909 422912 422914 422917 422928 422929 422931 422936 422940 422950 422952 422953 422957 422960 422980 422984 422991 422994 423000 423041 423043 423044 423055 423063 423064 423070 423072 423081 423082 423083 423084 423087 423090 423091 423094 423103 423104 423105 423106 423112 423137 423148 423150 423157 423174 423176 423177 423179 423181 423185 423193 423195 423198 423199 423200 423216 423217 423221 423224 423225 423226 423228 423234 423238 423240 423241 423244 423249 423250 423253 423254 423258 423259 423263 423268 423271 423273 423281 423282 423283 423285 423291 423296 423300 423302 423311 423314 423317 423318 423329 423330 423334 423336 423338 423340 423341 423342 423344 423347 423349 423363 423364 423366 423369 423370 423376 423391 423398 423400 423401 423402 423410 423411 423412 423419 423421 423429 423431 423433 423434 423440 423444 423447 423448 423449 423450 423451 423460 423461 423462 423463 423477 423480 423481 423498 423502 423506 423522 423546 423551 423553 423555 423557 423558 423583 423587 423591 423602 423603 423604 423605 423615 423725 423727 423730 423745 423747 423749 423754 423755 423757 423758 423759 423761 423766 423776 423778 423781 423783 423785 423786 423788 423791 423800 423806 423808 423820 423827 423836 423840 423842 423845 423857 423859 423860 423861 423864 423867 423868 423871 423872 423877 423879 423880 423895 423898 423899 423900 423901 423903 423905 423907 423908 423913 423923 423976 423984 423988 423995 423996 423997 424000 424001 424004 424008 424011 424013 424021 424022 424029 424033 424041 424042 424051 424078 424081 424092 424094 424095 424098 424099 424102 424109 424115 424117 424120 424122 424142 424143 424184 424187 424210 424218 424220 424228 424230 424234 424235 424236 424238 424241 424243 424245 424246 424285 424287 424288 424289 424290 424292 424295 424304 424312 424315 424316 424319 424320 424321 424322 424323 424331 424336 424337 424346 424352 424373 424377 424393 424400 424403 424405 424406 424408 424421 424423 424424 424429 424439 424444 424448 424457 424470 424476 424479 424480 424486 424488 424496 424503 424511 424522 424523 424528 424531 424532 424538 424551 424557 424558 424563 424575 424576 424578 424589 424594 424595 424596 424601 424606 424607 424620 424621 424624 424629 424637 424639 424641 424646 424649 424655 424657 424660 424661 424662 424666 424668 424670 424677 424679 424682 424683 424684 424685 424686 424688 424690 424693 424697 424698 424699 424701 424716 424718 424719 424721 424723 424730 424737 424740 424741 424742 424743 424744 424747 424755 424767 424768 424773 424776 424777 424781 424783 424784 424785 424802 424817 424823 424828 424829 424830 424831 424839 424843 424858 424859 424860 424909 424919 424920 424928 424934 424939 424948 424955 424960 424965 424967 424969 424990 424991 424994 424997 424998 425006 425012 425025 425026 425039 425040 425043 425058 425061 425063 425064 425065 425067 425078 425082 425083 425084 425085 425087 425092 425093 425101 425103 425114 425116 425119 425120 425140 425142 425151 425168 425169 425170 425171 425172 425175 425184 425218 425226 425233 425245 425246 425250 425251 425252 425255 425259 425273 425291 425293 425294 425309 425311 425329 425330 425338 425355 425356 425357 425358 425360 425361 425362 425363 425364 425380 425382 425386 425401 425402 425407 425410 425411 425424 425425 425430 425431 425432 425433 425440 425441 425442 425452 425453 425460 425464 425465 425466 425470 425473 425480 425486 425488 425492 425500 425511 425514 425515 425517 425520 425531 425540 425541 425542 425543 425544 425548 425560 425562 425565 425570 425571 425574 425575 425580 425586 425593 425595 425601 425611 425623 425625 425626 425627 425632 425640 425643 425644 425651 425653 425654 425656 425658 425660 425661 425663 425674 425682 425683 425685 425687 425700 425702 425703 425704 425707 425710 425711 425724 425736 425745 425749 425766 425770 425772 425777 425779 425782 425784 425785 425788 425794 425798 425801 425802 425806 425820 425823 425834 425836 425837 425843 425844 425848 425849 425850 425879 425881 425887 425891 425913 425914 425924 425926 425928 425932 425938 425942 425943 425945 425946 425963 425965 425966 425979 425989 426004 426012 426030 426043 426044 426045 426058 426063 426090 426093 426096 426103 426113 426132 426146 426147 426149 426164 426170 426178 426180 426187 426199 426201 426209 426210 426226 426229 426230 426231 426236 426237 426253 426273 426278 426319 426321 426322 426330 426331 426340 426342 426357 426369 426371 426377 426391 426398 426399 426414 426415 426418 426419 426421 426422 426424 426428 426429 426430 426432 426436 426439 426441 426455 426463 426472 426473 426489 426490 426491 426492 426496 426499 426504 426505 426506 426510 426513 426517 426533 426535 426538 426540 426542 426544 426546 426556 426567 426584 426585 426587 426591 426594 426596 426597 426598 426602 426606 426610 426622 426623 426627 426642 426650 426652 426658 426661 426662 426663 426670 426682 426684 426686 426688 426689 426696 426703 426706 426708 426722 426724 426726 426730 426731 426732 426733 426737 426739 426746 426747 426752 426760 426763 426765 426766 426776 426778 426779 426786 426789 426790 426792 426795 426807 426817 426818 426819 426820 426828 426848 426852 426857 426862 426866 426868 426870 426871 426874 426875 426876 426880 426884 426886 426888 426890 426891 426897 426900 426901 426910 426930 426931 426946 426952 426953 426954 426959 426961 426962 426963 426968 426971 426972 426973 426976 426982 427001 427007 427044 427053 427057 427059 427063 427064 427065 427078 427085 427090 427097 427098 427101 427102 427108 427112 427126 427127 427134 427140 427141 427143 427144 427145 427149 427160 427163 427165 427166 427167 427168 427169 427170 427176 427177 427185 427188 427191 427194 427204 427206 427209 427210 427243 427244 427254 427255 427256 427257 427260 427261 427262 427264 427265 427267 427268 427269 427270 427271 427273 427291 427295 427298 427304 427306 427307 427308 427309 427311 427312 427313 427315 427353 427356 427379 427391 427473 427480 427514 427515 427546 427564 427569 427624 427629 427630 427682 427692 427693 427698 427739 427780 427965 428028 428047 428167 428249 428282 428522 428577 428597 428646 428648 428649 428651 428653 428655 428658 428662 428664 428667 428670 428672 428673 428674 428676 428679 428680 428681 428684 428685 428686 428687 428688 428690 428691 428693 428695 428696 428698 428699 428701 428704 428708 428713 428714 428715 428716 428717 428719 428720 428722 428724 428725 428727 428729 428730 428731 428732 428733 428734 428735 428737 428743 428745 428754 428776 428830 428837 428881 428882 428885 428886 428887 428888 428889 428890 428895 428896 428897 428938 428940 428977 429003 429022 429027 429028 429029 429033 429043 429044 429045 429059 429060 429063 429065 429067 429068 429073 429079 429084 429087 429090 429093 429095 429097 429098 429105 429106 429122 429123 429124 429137 429142 429143 429144 429147 429169 429170 429171 429199 429200 429202 429203 429206 429208 429210 429212 429215 429216 429217 429247 429250 429263 429265 429272 429273 429280 429283 429284 429286 429293 429295 429296 429298 429299 429300 429301 429303 429306 429310 429313 429317 429318 429320 429326 429327 429334 429339 429340 429341 429348 429352 429353 429354 429355 429357 429358 429361 429365 429366 429368 429378 429379 429381 429382 429383 429390 429396 429397 429398 429399 429404 429405 429407 429411 429414 429418 429450 429452 429453 429459 429465 429466 429470 429477 429478 429480 429484 429487 429491 429493 429494 429495 429497 429510 429512 429514 429515 429516 429517 429518 429520 429521 429522 429524 429525 429528 429529 429536 429537 429541 429549 429552 429553 429554 429555 429557 429560 429561 429562 429579 429587 429591 429592 429593 429595 429608 429619 429620 429621 429623 429625 429626 429627 429629 429630 429631 429632 429633 429641 429642 429646 429647 429648 429650 429651 429652 429654 429655 429656 429658 429659 429660 429664 429665 429668 429672 429673 429677 429678 429680 429683 429685 429686 429687 429693 429694 429695 429704 429706 429710 429711 429712 429720 429725 429741 429742 429743 429750 429751 429753 429754 429755 429758 429759 429760 429763 429766 429769 429770 429774 429776 429778 429779 429783 429784 429785 429790 429792 429795 429796 429799 429802 429806 429807 429808 429809 429810 429819 429820 429821 429822 429823 429825 429827 429828 429830 429831 429832 429834 429836 429837 429855 429856 429857 429858 429859 429860 429861 429862 429863 429866 429869 429870 429871 429875 429876 429883 429886 429887 429889 429890 429910 429924 429944 429945 429947 429956 429979 429985 429987 429994 429995 430806 431579 431989 432356 432589 432590 432591 432592 432593 432602 436184 436185 436331 436345 436449 436471 436480 436481 436485 436503 436505 436510 436511 436512 436513 436521 436525 436535 436536 436537 436539 436540 437476 438065 438103 438105 438108 438115 438117 438120 438141 438142 438150 438152 438159 438167 438178 438184 438186 438194 438211 438214 438215 438217 438220 438231 438235 438237 438239 438243 438251 438256 438258 438279 438280 438281 438397 438398 438399 438400 438401 438443 438653 438696 438697 438698 438750 438920 438984 439033 439044 439048 439050 439055 439538 439540 439821 441906 441918 441959 441960 441961 441962 442721 442723 442725 442728 442730 442733 442735 442739 442740 442741 442742 442743 442744 442746 442748 442749 442750 442751 442752 442753 442754 442755 442756 442757 442759 442760 442761 442762 442763 442764 442765 442766 442767 442768 442777 442778 442779 442780 442782 442783 442785 442786 442787 442789 442790 442791 442792 442793 442795 442804 442811 442815 442820 442844 442858 442877 443168 443209 443244 443260 443270 443292 443343 443347 444695 444873 444876 444883 444964 444965 445034 445117 445121 445129 445151 445178 445210 445212 445214 445356 449255 449279 449381 449406 449409 449410 449411 449416 449425 449439 449575 449611 449705 449970 450001 450002 450093 450273 451597 452316 452406 452412 452423 452425 453876 453879 453994 454003 454005 454010 454278 454555 454556 454557 454559 454633 455205 455206 455268 455382 455384 455386 455392 455397 455404 455405 455406 455458 455507 455526 455610 455679 455738 455742 455743 455744 455769 455776 455779 455783 455788 455791 455792 455805 455806 455807 455808 455811 455825 455829 455844 455859 455881 455886 455887 455888 455899 455901 455902 455910 455913 455934 455938 455943 455957 455962 456035 456060 456064 456091 456128 456132 456133 456136 456142 456228 456229 456238 456240 456241 456242 456243 456343 456345 456346 456352 456353 456358 456377 456379 456436 456440 456441 456508 456509 456510 456537 456541 456545 456552 456575 456576 456579 456621 456673 456703 456719 456754 456759 456773 456892 456911 456913 456965 456966 456984 457044 457085 457091 457093 457096 457097 457099 457107 457206 457222 457226 457250 457251 457252 457258 457260 457340 457341 457349 457350 457378 457379 457380 457381 457382 457402 457404 457433 457434 457435 457436 457572 457639 457640 457641 457689 457715 457729 457749 457750 457755 457756 457775 457776 457778 457804 457936 457949 457976 457992 457994 458071 458074 458075 458243 458247 458254 458256 458507 458650 458990 459245 459422 459423 459424 459425 459435 459781 459816 459838 459840 459841 459845 459846 459847 459867 459868 459919 459927 460050 460062 460089 460098 460103 460139 473123 473124 473237 474337 474354 474361 474362 474367 474373 474378 474392 474395 474396 474401 474403 474407 474410 474413 474414 474415 474416 474417 474420 474421 474431 474432 474440 474441 474444 474445 474447 474451 474455 474463 474508 474510 474518 474529 474583 474594 474611 474691 474703 474704 474710 474715 474718 474721 474738 475177 475181 475182 475190 475269 475271 475371 475372 475373 475374 475408 475639 475651 475652 475746 475747 475751 475765 475766 475767 475768 475769 475806 475812 475833 475841 476204 476233 476241 476243 476244 476245 476290 476308 476313 476320 476322 476327 476337 476350 476367 476369 476370 476377 476378 476379 476387 476391 476393 476397 476405 476406 476407 476408 476411 476412 476413 476414 476415 476416 476419 476421 476427 476428 476431 476434 476441 476453 476454 476475 476486 476489 476492 476542 476545 476560 476586 476587 476599 476610 476617 476643 476644 476650 476661 476681 476709 476713 478157 478581 478647 478676 480203 481437 481438 481443 481450 481455 481457 481462 481479 481504 481505 481508 481511 481515 481525 481527 481531 481532 481742 481794 481798 481835 481836 481840 481841 481842 489458 489482 489531 489553 489557 489559 489616 489617 489618 489635 489665 489749 495710 495723 495785 496556 496557 496558 496560 496613 496621 496628 496675 496703 497130 497153 497156 497167 497202 497247 497428 497506 497507 497509 497554 516529 516535 516623 516626 516638 516711 516712 516713 516732 516745 516750 516757 516792 516831 516847 516902 516920 516922 516929 516941 516942 516943 516944 516947 516948 516949 516950 516976 516977 516979 516981 516984 516986 517048 517192 517204 517217 517225 517228 517243 517355 517386 517390 517393 517418 517423 517424 517459 517460 517461 517478 517483 517496 517529 517553 517561 517568 517595 517597 517602 517627 517630 517631 517637 517645 517880 517898 517899 517900 517904 517905 517907 517929 517932 517937 517963 517966 517967 517977 517979 517985 517994 517998 517999 518000 518001 518003 518010 518011 518013 518019 518020 518023 518026 518031 518032 518033 518037 518039 518041 518042 518043 518051 518056 518059 518073 518081 518083 518085 518086 518087 518088 518170 518171 518172 518173 518175 518181 518182 518188 518189 518191 518202 518214 518227 518239 518259 518443 518445 518450 518451 518456 518460 518462 518489 518499 518505 518532 518574 518578 518596 518606 518610 518612 518613 518644 518656 518661 518690 518691 518692 518694 518695 518713 518766 518830 518831 518852 518864 518885 518897 520806 520819 520823 520828 520829 520830 520831 520832 520833 520834 520835 520840 520841 520842 520843 520849 520850 520851 520853 520854 520860 520861 520868 520869 520870 520872 520878 520886 520887 520888 520890 520891 520926 520948 520955 520967 520968 520974 520975 520976 520981 520983 520999 521007 521481 521490 521507 521525 521573 521654 521859 521861 521866 521876 521974 521976 521987 521992 522054 522055 522059 522060 522063 522065 522072 522073 522074 522075 522082 522083 522117 522118 522119 522120 522124 522153 522203 522204 522210 522213 522214 522215 522216 522217 522218 522224 522225 522226 522227 522240 522243 522248 522328 522335 522345 522357 522372 522567 522568 522569 522570 522577 522578 524324 524326 524328 524349 524368 524371 524387 524394 524395 524397 541726 541728 541729 541730 541733 541749 541755 541763 541764 541765 541767 541771 541782 541790 541791 541792 541794 541796 541799 541813 541815 541831 541840 541847 541851 541854 541865 541866 541867 541868 541875 541877 541882 541889 541895 541896 541900 541911 541919 541924 541927 541936 541940 541942 541943 541945 541969 541975 541977 541981 541988 541990 541992 542008 542022 542028 542042 542044 542051 542058 542061 542073 542079 542081 542098 542101 542115 542120 542127 542145 542151 542168 542179 542203 542213 542223 542225 542241 542243 542247 542255 542256 542257 542259 542272 542274 542277 542317 542463 542518 542538 542571 543414 543419 543430 544062 544070 544071 544076 544077 544078 544092 544093 544094 544449 544452 544564 544680 544699 544700 544701 544702 544704 544711 544712 544721 544724 544725 544726 544763 544764 545026 545053 546176 546178 546179 546250 546260 546333 546334 546403 546405 546414 546956 547000 548822 548829 548878 548893 548895 548991 549044 549099 549106 549123 549126 549159 549164 549168 549169 549206 549222 549237 549249 549253 549255 549262 549288 549301 549303 549313 549331 549349 549365 549371 549387 549399 549405 549406 549411 549419 549427 549428 549433 549447 549452 549474 549483 549491 549544 549583 549613 549633 549634 549635 549636 549649 552399 552506 552546 552595 553533 553544 553584 553635 553654 553682 553698 553702 553714 553721 553727 553731 554100 554101 554400 554608 554854 554972 554980 554981 554982 554997 555003 555004 555005 555008 555009 555010 555011 555017 555024 555025 555026 555042 555047 555061 555065 555069 555075 555090 555092 555093 555104 555162 555216 555288 555782 555849 555966 555979 555980 555981 556025 556031 556043 556044 556045 556046 556047 556048 556050 556056 556062 556065 556070 556071 556074 556075 556076 556114 556115 556117 556118 556119 556120 556121 556122 556123 556124 556125 556127 556128 556129 556130 556131 556132 556133 556134 556135 556136 556137 556138 556139 556140 556143 556156 556158 556160 556161 556163 556167 556171 556172 556173 556174 556175 556177 556179 556181 556182 556184 556186 556187 556194 556195 556197 556198 556199 556200 556201 556202 556203 556205 556206 556207 556208 556210 556213 556216 556217 556218 556219 556220 556223 556224 556227 556228 556234 556236 556238 556263 556278 556280 556281 556283 556284 556285 556286 556289 556290 556291 556292 556293 556295 556298 556299 556301 556303 556309 556335 556338 556339 556340 556342 556343 556344 556346 556347 556369 556386 556390 556391 556393 556404 556406 556413 556419 556450 556453 556457 556463 556465 556472 556473 556474 556476 556477 556622 556623 556630 556633 556994 557072 557073 557074 557075 557090 557094 557133 557147 557149 557157 557158 557159 557161 557163 557165 557166 557167 557168 557170 557172 557181 557182 557184 557202 557203 557221 557260 557286 557292 557295 557300 557305 557313 557314 557351 557355 557361 557369 557392 557451 557455 557508 557722 557868 557869 557877 557896 557897 557900 557910 557911 557913 557930 558078 558087 558088 558089 558090 558091 558092 558116 558119 558132 558134 558137 558138 558141 558142 558145 558147 558148 558150 558165 558171 558174 558176 558189 558192 558197 558199 558219 558220 558222 558223 558242 558259 558261 558263 558265 558267 558359 558361 558368 558430 558449 558453 558456 558491 558753 558839 558845 558851 558919 559041 559119 559172 559174 559267 559272 559276 559306 559348 559390 559392 559394 559430 559432 559433 559473 559474 559535 559536 559546 559547 559548 559550 559555 559563 559565 559571 559574 559575 559577 559583 559593 559661 559663 559684 559687 559752 559872 559873 559886 559892 559964 560017 560024 560046 560078 560083 560086 560091 560157 560169 560175 560178 560180 560219 560346 560414 560435 560453 560464 560468 560489 560491 560512 560519 560524 560883 561718 561736 561740 561741 561744 561746 561760 561768 561778 561779 561780 561782 561837 561841 561844 561920 561942 562339 562346 562347 562350 562351 562354 562359 562366 562368 562381 562383 562433 562443 562444 562445 562447 562448 562452 562453 562454 562465 562466 562475 562487 562491 562550 562551 562557 562561 562571 562577 562581 562734 562896 563017 563047 563148 563149 563150 563151 563191 563192 563243 563501 563554 563560 563620 563830 563959 563970 563976 564182 564221 564227 564285 564307 564408 564414 564416 564417 564418 564420 564424 564428 564436 564437 564438 564439 564445 564446 564447 564448 564449 564466 564470 564481 564482 564491 564525 564537 564546 564548 564552 564565 564585 564590 564591 564592 564606 564612 564619 564661 564668 564672 564772 565676 565686 565699 565703 565998 566003 566027 566195 566219 566229 566265 566273 566279 566362 566379 566394 566398 566525 566528 566530 566567 566568 566575 566579 566582 566611 566620 566625 566628 566639 566640 566683 566691 566693 566694 566701 566723 566724 566748 566775 566776 566787 566873 566879 566880 566885 566896 566901 566902 566906 566918 566929 566938 566945 566946 566963 566968 566973 566975 566979 566981 566984 566985 566986 567010 567013 567017 567028 567036 567037 567038 567041 567078 567125 567126 567128 567129 567135 567136 567141 567142 567144 567148 567149 567150 567152 567177 567180 567182 567183 567187 567192 567196 567197 567198 567224 567243 567245 567246 567248 567249 567250 567261 567262 567277 567288 567292 567297 567306 567312 567364 567470 567472 567478 567481 567489 567498 567499 567514 567530 569413 569490 569505 569543 569566 569567 569597 569826 569847 569910 569927 570030 570047 570145 570174 570362 570430 574056 574058 574078 574125 574737 574739 574741 574743 574759 574761 574762 574763 574771 574794 574803 574812 574817 574818 574820 574821 574823 574842 574846 574926 574927 574929 574941 574942 574950 574951 574965 574967 574978 575004 575015 575016 575023 575029 575035 575043 575044 575052 575065 575066 575078 575089 575102 575105 575119 575122 575126 575127 575129 575130 575131 575145 575151 575152 575154 575164 575165 575168 575169 575170 575171 575178 575180 575248 575249 575252 575279 575350 575353 575367 575375 575444 575483 575484 575496 575497 575498 575506 575512 575516 575519 575530 575535 575544 575545 575623 575624 575649 575694 575695 575697 575717 575784 575801 575802 575805 575813 575826 575827 575830 575876 575962 575983 575984 575985 575987 575988 575989 575994 575995 576002 576094 576134 576148 576181 576183 576207 576219 576224 576225 576226 576235 576272 576310 576410 576414 576425 576427 576450 576456 576479 576488 576489 576550 576612 576618 576658 576673 576681 576684 576694 576695 576709 576726 576806 576808 576817 576822 576848 576858 576884 576893 576896 576899 576907 576914 576915 576962 576965 576969 576970 576978 576979 576981 576987 576990 576991 576995 576998 576999 577003 577006 577008 577011 577013 577015 577018 577026 577027 577031 577035 577036 577047 577050 577053 577059 577060 577062 577066 577067 577068 577070 577076 577119 577126 577129 577165 577166 577170 577173 577174 577178 577179 577182 577184 577199 577203 577205 577207 577209 577215 577216 577217 577226 577240 577251 577266 577275 577277 577285 577286 577287 577296 577304 577305 577559 577598 577599 577601 577635 577645 577646 577647 577651 577662 577703 577730 577785 577789 577791 577794 577798 577806 577807 577812 577813 577822 577832 577844 577858 577860 577861 577866 577868 577872 577877 577885 577892 577900 577902 577905 577906 577907 577908 577910 577911 577912 577913 577914 577920 577939 577945 577946 577961 577973 577974 577980 577984 577987 577999 578000 578006 578007 578010 578025 578032 578038 578131 578150 578163 578169 578264 578463 578503 578507 578531 578598 578601 578627 578628 578634 578636 578671 578673 578682 578718 578746 578754 578757 578772 578778 578794 578815 578819 578823 578827 578845 578849 578859 578862 578863 578892 579008 579079 579085 579086 579094 579098 579132 579133 579136 579152 579192 580084 580094 580095 580097 580104 580173 580180 580276 580317 580319 580340 580343 580344 580347 580356 580359 580364 580374 580375 580378 580392 580411 580417 580464 580477 580478 580481 580486 580487 580492 580515 580531 580545 580546 580555 580841 580846 580911 580931 580939 581014 581068 581082 581118 581119 581120 581121 581124 581125 581126 581133 581296 581361 581560 581832 581833 581834 581835 581838 581839 581847 581848 581852 581862 581876 581877 581879 581893 581900 581901 581911 581912 581941 581942 582066 582067 582068 582113 582114 582136 582141 582147 582148 582154 582166 582172 582203 582410 582411 582413 582422 582456 582496 582545 582553 582590 582602 582742 582743 582745 582747 582749 582755 582757 582758 582759 582760 582761 582766 582767 584614 584784 584820 584836 584839 584921 584985 585085 585145 585252 585253 585348 585550 585551 585556 585562 585567 585715 585724 586039 586048 586051 586139 586144 586173 586176 586278 586285 586286 586288 586291 586343 586344 586387 586406 586553 586555 586559 586624 586627 586628 586681 586683 586729 586734 586736 586742 586745 586746 586815 586816 586819 586822 586823 586824 586825 586828 586892 587052 587053 587079 587080 587081 587094 587129 587206 587224 587255 587763 587767 587776 587779 587783 587788 587808 587809 587810 587812 587813 587815 587816 587867 587889 587955 588029 588096 588136 588159 588978 589035 589046 589120 589133 589134 589135 589136 589137 589148 589149 589370 589402 589595 595880 595881 595883 595890 595929 595930 595934 595998 596002 596010 596011 596012 596020 596032 596117 596136 596519 597127 597241 597530 598030 598339 598463 598481 598484 599707 599741 599744 599850 599879 599986 599994 600028 600029 600030 600052 600055 600108 600109 600116 600117 600118 600125 600133 600138 600140 677480 677548 677637 677639 677660 677874 677929 677946 677964 678034 678217 678218 678306 678803 679009 679189 679217 679218 679246 679249 679250 679251 679252 679253 679254 679261 679833 679834 679835 679836 679837 679838 680057 680061 680062 680092 680174 681116 681123 681346 681636 681669 682075 682076 682131 682132 682141 682142 682180 682187 682192 682193 682194 682294 682295 682296 682307 683113 683176 683285 683314 683315 683317 683320 683321 683337 683339 683340 683369 683485 683520 683521 683530 683813 683954 683975 683988 684000 684255 684262 684276 684284 684331 684336 686734 686739 686740 686741 686744 686745 686746 686747 686748 686749 686750 686751 686752 686753 686754 686755 686785 686906 686997 686999 687000 687129 687152 694543 694547 695260 695261 695265 695268 699719 699746 699756 699809 699812 699816 699824 699895 700049 700072 700129 700147 700225 700231 700285 700292 700322 700327 700329 700353 700354 700440 700498 700507 700522 700572 700645 701149 701151 701159 701171 701798 701810 701826 702118 702266 728725 728812 728827 728858 728899 728952 728993 729248 729251 729262 729364 729578 729749 729829 729935 730018 730261 730340 730516 730521 730600 733942 740170 740180 740181 740199 740209 740225 740237 740290 740299 740307 740308 740313 740314 740315 740327 740335 740353 740378 740400 740411 740416 740465 740466 740469 740471 740494 740511 740656 740721 740738 740760 740775 740821 740822 740844 740845 740888 740928 740930 741013 741051 741099 741102 741109 741132 741133 741134 741266 741285 741302 741343 741344 741441 741453 741477 741500 741505 741580 741583 741591 741620 741687 741698 741702 741734 741750 741756 741805 741809 741831 741862 741897 741911 741920 741921 741980 741992 742012 742036 742120 742135 742144 742155 742173 742234 742247 742257 742378 742382 742411 742434 742442 742448 742505 742615 742723 742724 742768 742770 742781 742806 742810 742904 742907 742908 742915 742974 742977 742983 742985 742988 743002 743013 743175 743176 743186 743197 743232 743284 743295 743393 743401 743482 743516 743528 743539 743549 743553 743581 743609 743622 743626 743632 743633 743640 743641 743650 743663 743687 743748 743827 743843 743845 743894 743912 743932 743949 743966 743976 743997 744063 744069 744221 744226 744248 744257 744326 744333 744347 744348 744356 744374 744386 744405 744433 744435 744492 744561 744562 744569 744618 744679 744680 744683 744689 744691 744727 744740 744750 744778 744824 744825 744826 744827 744832 744834 744835 744836 744845 744861 744864 744899 744901 744902 744903 744961 744979 744982 745020 745036 745042 745045 745046 745067 745069 745102 745103 745113 745118 745130 745133 745165 745172 745176 745213 745242 745274 745290 745332 745335 745338 745348 745424 745428 745480 745587 745645 745652 745693 745737 745738 745761 745765 745795 745833 745870 745966 745977 746094 746216 746319 746333 746367 746410 746412 746416 746450 746459 746554 746571 746608 746619 746627 746645 746765 746795 746857 746864 746866 746890 746917 746919 746923 746927 746940 746961 746977 746979 746981 746989 747034 747047 747049 747112 747157 747158 747173 747181 747265 747280 747303 747311 747493 747494 747497 747501 747508 747511 747514 747551 747583 747585 747608 747619 747633 747643 747645 747647 747696 747702 747721 747751 747760 747765 747768 747800 747839 747931 747933 747962 747979 747987 748025 748039 748040 748041 748059 748089 748105 748117 748132 748195 748196 748200 748263 748282 748287 748318 748335 748336 748358 748362 748392 748393 748398 748427 748541 748608 748609 748627 748709 748718 748722 748770 748776 748864 748889 748923 748927 749012 749075 749080 749091 749093 749100 749106 749125 749157 749160 749164 749218 749223 749249 749274 749305 749322 749356 749472 749571 749597 749609 749643 749659 749676 749707 749739 749827 749861 749863 749878 749923 749980 749990 750008 750010 750056 750057 750134 750173 750174 750190 750202 750207 750280 750299 750382 750405 750426 750479 750907 751054 751326 751327 751328 751329 751358 751359 751377 751468 751470 751472 751473 751474 751476 751477 751831 751836 751837 795682 795692 796572 797281 803702 805191 805206 805250 805251 805310 805348 805448 805449 805508 805732 805987 805988 806020 806060 806061 806066 806069 806429 806432 806481 806487 806489 806508 806591 806636 806692 806909 807319 807369 807440 807444 807480 807495 807497 807504 807509 807710 807726 807735 807878 807955 807956 807984 808070 808134 808233 808264 808270 808303 808324 808334 808387 809765 809799 809873 810062 812339 812357 812358 812387 812399 812414 812418 812434 812436 812450 812455 812467 813145 813152 813176 813230 813996 813997 813998 814098 814111 814122 814127 814128 814150 814462 814463 814465 814466 814575 814576 814578 814579 814582 814951 815149 815189 815238 846350 847631 847981 848049 848067 848071 848242 848243 848271 848273 848320 848375 848416 848425 848463 848469 848490 848493 848530 848569 848621 848632 848755 848766 848777 848787 848894 848910 848919 849733 849912 849960 850071 850252 850347 850376 850383 850422 850423 850435 850615 850679 850682 850711 850712 850720 850774 850782 850826 850827 851043 851148 851150 851297 851511 851516 851791 851792 851823 851829 851831 851865 852035 852625 852653 852691 852859 852908 852983 852992 853049 853056 853059 853061 853062 853069 853084 853085 853086 853087 853098 853114 853115 853142 853162 853163 853176 853205 853206 853214 853220 853221 853225 853226 853313 853379 853382 853415 853422 853439 853441 853468 853474 853490 853517 853519 853520 853521 853522 853526 853527 853545 853546 853549 853556 853557 853586 853605 853610 853611 853626 853627 853631 853633 853645 853646 853669 853674 853675 853712 853713 853719 853720 853730 853867 853878 853881 853893 853904 853955 853987 853988 853995 854002 854003 854048 854050 854059 854100 854138 854146 854147 854154 854155 854162 854407 854455 854468 855231 855246 855277 855278 855280 855281 855307 855311 855314 855323 855327 855329 855382 855384 855385 855386 855387 855390 855434 855487 855489 855499 855510 855512 855565 855586 855587 855604 855613 855615 855619 855623 855636 855637 855663 855681 855687 855701 855740 855742 855744 855748 855767 855773 855775 855776 855841 855842 855845 855846 855847 855848 855852 855854 855856 855941 855943 855971 855976 855983 855993 856155 856206 856244 856256 856306 856424 856425 856445 856449 856484 856592 856593 856598 856670 856677 856706 856723 856880 856882 856883 856895 856918 856960 856968 856979 856984 857016 857021 857087 857093 857103 857121 857147 857189 857210 857246 857254 857322 857342 857412 857439 857465 857499 857512 857551 857552 857574 857577 857598 857599 857643 857672 857691 857707 857759 857762 857763 857769 857786 857901 857953 857955 858036 858091 858138 858148 858156 858157 858176 858219 858234 858241 858249 858293 858297 858299 858301 858305 858309 858329 858330 858356 858470 858589 858603 858622 858684 858690 858811 858819 858862 858867 858869 858892 858943 858951 858978 858999 859038 859040 859255 859887 859897 859972 860013 860096 860117 860150 860151 860194 860226 860449 860450 860493 860516 860543 860548 860603 860604 860655 860668 860669 860670 860671 860689 860691 860699 860700 860713 860724 860728 860752 860753 860759 860760 860761 860762 860764 860768 860770 860776 860782 860784 860787 860794 860800 860801 860803 860811 860814 860849 860851 860853 860860 860862 860864 860870 860872 860896 860899 860900 860902 860908 860909 860915 860922 860940 860942 860944 860967 860974 860976 860977 860980 860986 860988 860989 860991 860993 860999 861001 861002 861003 861005 861017 861018 861029 861039 861040 861055 861061 861068 861074 861077 861082 861085 861086 861091 861094 861097 861125 861134 861135 861136 861169 861171 863137 863140 863142 863146 866186 866263 866395 866590 867869 868560 868646 868658 868660 868664 868665 869025 869446 870101 870256 870331 870399 870400 870550 870793 870803 870916 870943 871015 871118 871124 871263 871407 871467 871476 871499 871526 871532 871556 871693 871745 871747 871754 871761 871794 871974 871993 872084 872173 872354 877006 877014 877038 877047 877049 877122 877144 877206 877217 877220 877248 877256 877281 877314 877331 877359 877365 877369 877371 877395 877404 877408 877450 877531 877541 877571 877609 878584 878587 878591 878619 878621 878666 878668 878669 878670 878715 878777 878783 878785 878795 883230 883391 883435 884261 917730 917731 919578 919594 919620 919669 919674 919706 919710 919711 919716 919737 919764 919765 919766 919776 919805 919808 919819 919820 919821 919824 919825 919848 919875 919876 919890 919930 919936 919998 919999 920001 920048 920070 920073 920100 920109 920110 920114 920117 920121 920122 920123 920129 920130 920138 920168 920190 920194 920213 920240 920466 920548 920549 920697 920763 935553 936227 940013 940054 940058 940059 940065 940066 940067 940071 940090 940092 940094 940095 940117 940118 940124 940159 940180 940195 940228 940258 940263 940276 940277 940307 940313 940329 940338 940356 940360 940363 940383 940388 940396 940400 940415 940438 940440 940442 940487 940499 940533 940551 940564 940597 940598 940609 940611 940637 940642 940672 940681 940687 940730 940731 940732 940736 940747 940750 940754 940756 940757 940763 941067 941110 941159 941160 941188 941196 941209 941248 941268 941271 941288 945852 945985 945995 946022 946071 946085 946114 946115 946143 946144 946150 946204 946257 946268 946282 946285 946332 946341 946344 946371 946372 946407 946430 946431 946444 946469 947124 947283 947293 947297 947315 947322 947333 947343 947352 947508 947560 947563 948013 948035 948058 948064 948105 948115 948228 948255 948361 948375 948429 948433 948482 948522 948583 948585 948609 948611 948643 948651 948681 948726 948730 948731 948794 948798 948831 948839 948857 948900 948974 949073 1095986 1096123 1096141 1096171 1096205 1096216 1096217 1096241 1096303 1096466 1096502 1096505 1096517 1096519 1096612 1096646 1096731 1112129 1112266 1112271 1112283 1112285 1112307 1112395 1112481 1112512 1112537 1112627 1112634 1112669 1112754 1113650 1113663 1113667 1113685 1113703 1134488 1135311 1135954 1141863 1141883 1141889 1141911 1141938 1141939 1142037 1142040 1142045 1142046 1142047 1142086 1142090 1142096 1142114 1142178 1142195 1142196 1142256 1142257 1142262 1142273 1142277 1142286 1142305 1142309 1142310 1142333 1142335 1142359 1142406 1142435 1142444 1142448 1142449 1142454 1142458 1142480 1142485 1142499 1142510 1142515 1142516 1142520 1142529 1142530 1148363 1148426 1148454 1167697 1167754 1167794 1167808 1167838 1167842 1167884 1167924 1167925 1167939 1167955 1167968 1168043 1168072 1168094 1168134 1168170 1168230 1168252 1168389 1168421 1168422 1168425 1168426 1168469 1168470 1168471 1168477 1168481 1168482 1168492 1168499 1168500 1168503 1168504 1171157 1171158 1171159 1171162 1171164 1171167 1171169 1171170 1171171 1171172 1187006 1255671 1260458 1260678 1260920 1260926 1261139 1261141 1261199 1261243 1261246 1261264 1261323 1261324 1261327 1261367 1261565 1261974 1262112 1262183 1262221 1262236 1262254 1262287 1262485 1262866 1263760 1263975 1263976 1263977 1263978 1263979 1263993 1264001 1264017 1265576 1265577 1265578 1265585 1265588 1265598 1265599 1265608 1265609 1265610 1265883 1265898 1265900 1268571 1268572 1268612 1268613 1268642 1268643 1268644 1268645 1268646 1268647 1268649 1268652 1268653 1268661 1268662 1268664 1268666 1268668 1268669 1268670 1268672 1268676 1268681 1268683 1268685 1268688 1268694 1268695 1268714 1268717 1268718 1268736 1268740 1268757 1268764 1268768 1269525 1269534 1269535 1269755 1269756 1269758 1269760 1269762 1269765 1269830 1269832 1269833 1269955 1271070 1271074 1271075 1271076 1271083 1271084 1271085 1271086 1271087 1271100 1271104 1271243 1271402 1271991 1272076 1272084 1272085 1272171 1272214 1272273 1272329 1272586 1272588 1272589 1272641 1272752 1272809 1273058 1273107 1273113 1273389 1273390 1273410 1273485 1273512 1273518 1273798 1273864 1273865 1273937 1273957 1273968 1274053 1274082 1274106 1274632 1274639 1274730 1274732 1275015 1275350 1275390 1275394 1275402 1275678 1275699 1275743 1275810 1275833 1276018 1276134 1276288 1276343 1276421 1276437 1276439 1276441 1276442 1276443 1277190 1277199 1277200 1277241 1277294 1277524 1277583 1277584 1277585 1277586 1277590 1277595 1277596 1277600 1277608 1277609 1277610 1277611 1277612 1277613 1277614 1277615 1277616 1277617 1277618 1277619 1277620 1277622 1277623 1277624 1277629 1277637 1277639 1277644 1278393 1278395 1278452 1278504 1278507 1278558 1279413 1279682 1279733 1279792 1280474 1281926 1281931 1282281 1282424 1282542 1282578 1282719 1285577 1285592 1286159 1286275 1286278 1286298 1286344 1286384 1286385 1286437 1286635 1287075 1287083 1287154 1287233 1287298 1287346 1287347 1287388 1287400 1287419 1287508 1287608 1287611 1287681 1287690 1287698 1287723 1287726 1288129 1290739 1290902 1290905 1290916 1290922 1290923 1290925 1290928 1290934 1290953 1290955 1290981 1290989 1290990 1290991 1290992 1290994 1290995 1291012 1291045 1291046 1291049 1291075 1291082 1291083 1291088 1291091 1291093 1291095 1291096 1291097 1291098 1291099 1291100 1291101 1291102 1291103 1291107 1291108 1291109 1291117 1291118 1291127 1291138 1291139 1291141 1291142 1291144 1291146 1291147 1291155 1291156 1291157 1291158 1291161 1291162 1291163 1291164 1291165 1291166 1291167 1291168 1291170 1291172 1291173 1291177 1291182 1291183 1291658 1291662 1291680 1291692 1291694 1291698 1291705 1291706 1291708 1291711 1291712 1291713 1291725 1291727 1291729 1291732 1291733 1291734 1291735 1291736 1291746 1291764 1291768 1291772 1292120 1292121 1292122 1292133 1292134 1292141 1292156 1292157 1292165 1292167 1292172 1292174 1292196 1292305 1292422 1295573 1295582 1295585 1295586 1295595 1295596 1295600 1295601 1295604 1295605 1295606 1295607 1295608 1295614 1295615 1295616 1295617 1295618 1295619 1295620 1295621 1295622 1295623 1295634 1295635 1295641 1295643 1295644 1295651 1295652 1295653 1295654 1295655 1295656 1295658 1295660 1295661 1295662 1295663 1295664 1295665 1295666 1295668 1295669 1295672 1295673 1295674 1295675 1295676 1295677 1295680 1295683 1295692 1298614 1298632 1298809 1298819 1298825 1298826 1298827 1298902 1298942 1299334 1299335 1299346 1299399 1299450 1299487 1299544 1299574 1299581 1299582 1299583 1299589 1299590 1299594 1299600 1299674 1299675 1299683 1299685 1299687 1299691 1299694 1299701 1299799 1299932 1299934 1299935 1299942 1299945 1299947 1299952 1299954 1299957 1299958 1299959 1299962 1299963 1300001 1300101 1300749 1300814 1300815 1300816 1300817 1300819 1300984 1301574 1301584 1301586 1301624 1301638 1301648 1301655 1301671 1301683 1301705 1301762 1301764 1301821 1301826 1301850 1301863 1301865 1301877 1301879 1301894 1301895 1301896 1302205 1302334 1302343 1302361 1302385 1302461 1302540 1303002 1303003 1303007 1303011 1303032 1303033 1303076 1303116 1303117 1303156 1303175 1303176 1303260 1304362 1304432 1304825 1305953 1306334 1306577 1306855 1306857 1306893 1313905 1313908 1313911 1313912 1313921 1313933 1313934 1313935 1313947 1313949 1313950 1313951 1313969 1314687 1314691 1314759 1317326 1317598 1317600 1317866 1318607 1318954 1318963 1318964 1318968 1318969 1319001 1319042 1319047 1319065 1319066 1319068 1319121 1319152 1319166 1319171 1319173 1319203 1319204 1319205 1319208 1319304 1319321 1319465 1319470 1319519 1319520 1319536 1319803 1319808 1319811 1319812 1319849 1319851 1319853 1319885 1319927 1319928 1320226 1320286 1320354 1320357 1320361 1320368 1320371 1320392 1320394 1320396 1320402 1320404 1320407 1320478 1320479 1320528 1320536 1320537 1320538 1320546 1320547 1320637 1320655 1320657 1320680 1320682 1320714 1320716 1320717 1320718 1320722 1320743 1320769 1320796 1320835 1320925 1320927 1320978 1320979 1320980 1320987 1320988 1320990 1321006 1321013 1321015 1321018 1321019 1321022 1321037 1321069 1321077 1321088 1321119 1321132 1321237 1321277 1321306 1321308 1321318 1321329 1321330 1321331 1321342 1321344 1321362 1321756 1321798 1321831 1328326 1328356 1328379 1328397 1328399 1328409 1328453 1328495 1328516 1328537 1328539 1328561 1328566 1328571 1328606 1328734 1328746 1328750 1328773 1328799 1331538 1331539 1332138 1332147 1332223 1332240 1332291 1332292 1332333 1332352 1332547 1332550 1332555 1332594 1332873 1332897 1333035 1333036 1333077 1333121 1333127 1333134 1333163 1333184 1333262 1333299 1333323 1333379 1333380 1333381 1333390 1333391 1333400 1333404 1333423 1333602 1333607 1333803 1333822 1333823 1333833 1333839 1333844 1333847 1333850 1333853 1334016 1334022 1334045 1334060 1334068 1334167 1334168 1334178 1334188 1334198 1334215 1334245 1334263 1334269 1334270 1334278 1334302 1334366 1334424 1334428 1334459 1334467 1334688 1334689 1334694 1334700 1334707 1334721 1334754 1334756 1334779 1334790 1334800 1334810 1334819 1334822 1334823 1334830 1334928 1334929 1334932 1334938 1334948 1334962 1334965 1334972 1334983 1334988 1334989 1334990 1335067 1335070 1335133 1335151 1335291 1335292 1335326 1335371 1335412 1335436 1335443 1335447 1335457 1335465 1335470 1335497 1335498 1335499 1335527 1335567 1335656 1335722 1335759 1335760 1335761 1335781 1335912 1335927 1335930 1335935 1335950 1335952 1335954 1335957 1336010 1336028 1336106 1336107 1336108 1336252 1336294 1336496 1336500 1336510 1336512 1336515 1336516 1336528 1336545 1336707 1336739 1336770 1336825 1336833 1336835 1336859 1336868 1336948 1336951 1336956 1336964 1337017 1363945 1364769 1366940 1367053 1368065 1368578 1371656 1372342 1382416 1384485 1384606 1384607 1384668 1384674 1384675 1387453 1389312 1390948 1391778 1392205 1393305 1393571 1394495 1394761 1395303 1396058 1396265 1396567 1398033 1398208 1398767 1398927 1398940 1398999 1399375 1399994 1400222 1400439 1400972 1401877 1403567 1403670 1405524 1405556 1406054 1406736 1407157 1407856 1408353 1408531 1408634 1409033 1410929 1411088 1411275 1411925 1411995 1442778 1442858 1442861 1442896 1442915 1443081 1443235 1443258 1443259 1443260 1443372 1443373 1443388 1443389 1443394 1443559 1443947 1443980 1444066 1444068 1444647 1444648 1444656 1444657 1444662 1444665 1444708 1444714 1444783 1445902 1445938 1445939 1445953 1446037 1446232 1446233 1446279 1446295 1446302 1446316 1446321 1446324 1446331 1446338 1446350 1446352 1446366 1446377 1446387 1446389 1446390 1446401 1446614 1449587 1449589 1455798 1455900 1455982 1455997 1456058 1456206 1456475 1456711 1456725 1456769 1458132 1504327 1504358 1504363 1504451 1504452 1504492 1504497 1504505 1504535 1504670 1506979 1506988 1506999 1507008 1507009 1507020 1507147 1507149 1509143 1510435 1510509 1510527 1510736 1510886 1511113 1511341 1511492 1511567 1511605 1511606 1512180 1512195 1512663 1512752 1512964 1512996 1513183 1513269 1513276 1513287 1513302 1513363 1513488 1513717 1513735 1513744 1513751 1513804 1513916 1514207 1514211 1514241 1514481 1514585 1514588 1514725 1514815 1514819 1515016 1516076 1516762 1516921 1517002 1517029 1517068 1517138 1517285 1517527 1517677 1517874 1517882 1517902 1517926 1517940 1518008 1518069 1518294 1518340 1518345 1518352 1518404 1518437 1518631 1518640 1518681 1518901 1518996 1519183 1519215 1519255 1519275 1519333 1519353 1519358 1519384 1519414 1519415 1519483 1519494 1519519 1519604 1519789 1519790 1519792 1519885 1521726 1527347 1527435 1531504 1531506 1531560 1531615 1531620 1531651 1531719 1531797 1531824 1531831 1531856 1531857 1531858 1531859 1531861 1531862 1531882 1531900 1531924 1531941 1531986 1532010 1532039 1532085 1532121 1532124 1532204 1532216 1532251 1532253 1532418 1532460 1532465 1532508 1532713 1532767 1532783 1532844 1532868 1532952 1533016 1533017 1533020 1533053 1533093 1533094 1533098 1533201 1535934 1535947 1535997 1536019 1536042 1536055 1536073 1536080 1536083 1536092 1536094 1536121 1536128 1536139 1536143 1536146 1536157 1536176 1536178 1536182 1536191 1536245 1536252 1536258 1536282 1536696 1537020 1540943 1541718 1542834 1545438 1545487 1545750 1545896 1545967 1545980 1545981 1546098 1546213 1546417 1549109 1549114 1549464 1550737 1554186 1556122 1558963 1560228 1561549 1561551 1561562 1561602 1561668 1561688 1561701 1561955 1561996 1562005 1562006 1562031 1562042 1562047 1562085 1562108 1562114 1562119 1562128 1562168 1562217 1562249 1562325 1562326 1562328 1562335 1562352 1562353 1562367 1562387 1562392 1562399 1562415 1562434 1562435 1562450 1562457 1562463 1562476 1562516 1562527 1562550 1562566 1562586 1562588 1562589 1562590 1562604 1562618 1562654 1562726 1562792 1562820 1562826 1562870 1562872 1562890 1562915 1562935 1562937 1562950 1562959 1562961 1562966 1563041 1563056 1563062 1563073 1563076 1563090 1563100 1563101 1563107 1563118 1563121 1563135 1563143 1563147 1563164 1563184 1563190 1563199 1563241 1563245 1563268 1563283 1571778 1571785 1578536 1578545 1578716 1579688 1608435 1609537 1610091 1610638 1610642 1611196 1611749 1619634 1619718)\n(54 850 1180 1773 1774 1775 2140 2343 2401 3965 4034 4035 4036 4037 4038 4039 4041 4042 4810 5704 5713 5715 6040 6836 6837 7929 8724 8886 8887 8888 8889 8912 9183 9184 9206 9981 10135 10415 10416 11635 11746 14181 14182 14387 14529 14530 14691 15298 16832 16871 17456 17537 17637 18892 19653 20583 20606 22741 23325 24448 24541 24892 26033 26416 26501 26716 26717 27371 27922 27923 30182 30407 30408 30843 30844 31519 31520 31521 31522 31523 31524 31790 31791 31874 31899 32030 32276 32579 33784 35470 35471 35476 35477 35504 36024 36025 36026 36360 36361 36437 37878 38029 38033 38035 38118 40914 40933 40934 40935 40936 40937 40943 40944 42121 42122 43393 43543 86247 178453 259866 259898 260046 260047 260105 260106 260107 260108 260109 260110 260112 260215 260217 319494 319495 319499 319500 319502 319503 319504 319505 319506 319507 319508 319509 319511 319513 319515 319516 319517 319518 319519 319521 319522 319524 319525 319527 319528 319529 319530 319531 319532 319533 319535 319537 319538 319539 319540 319541 319542 319544 319545 319548 319549 319550 319552 319553 319554 319556 319557 319558 319559 319561 319566 319569 319570 319572 319577 319579 319580 319585 319587 319595 319596 319598 319599 319600 319601 319602 319603 319604 319605 319607 319610 319615 319616 319618 319619 319620 319623 319625 319628 319629 319631 319634 319635 319636 319638 319639 319640 319641 319642 319643 319645 319646 319647 319648 319649 319650 319652 319653 319654 319656 319657 319658 319659 319661 319662 319665 319668 319670 319671 319673 319674 319675 319676 319677 319678 319679 319680 319681 319683 319684 319687 319689 319690 319692 319693 319694 319696 319700 319701 319702 319703 319706 319708 319712 319713 319714 319715 319716 319718 319719 319720 319725 319726 319727 319736 319742 319743 319744 319745 319746 319747 319752 319753 319754 319755 319757 319758 319761 319762 319764 319765 319767 319768 319769 319770 319771 319772 319774 319776 319777 319783 319786 319787 319788 319791 319792 319794 319796 319798 319800 319801 319802 319803 319804 319805 319806 319808 319809 319810 319814 319820 319821 319824 319825 319826 319831 319832 319833 319834 319837 319838 319839 319840 319841 319842 319843 319846 319851 319852 319854 319855 319856 319857 319858 319859 319860 319862 319863 319864 319867 319868 319873 319874 319875 319876 319878 319880 319882 319884 319885 319886 319887 319888 319889 319891 319892 319893 319894 319895 319896 319898 319899 319900 319901 319905 319906 319908 319909 319911 319912 319913 319914 319915 319917 319919 319920 319921 319922 319923 319924 319925 319926 319927 319928 319929 319930 319931 319932 319933 319934 319937 319940 319941 319942 319944 319945 319946 319948 319949 319950 319952 319953 319954 319955 319956 319957 319958 319959 319960 319961 319966 319968 319969 319972 319973 319975 319976 319977 319978 319980 319981 319983 319984 319985 319986 319988 319989 319990 319991 319992 319993 319995 319996 319998 319999 320000 320002 320003 320007 320008 320010 320011 320013 320014 320016 320023 320024 320027 320028 320029 320030 320032 320036 320037 320039 320040 320042 320043 320044 320045 320046 320047 320048 320049 320050 320051 320054 320056 320057 320058 320062 320065 320067 320068 320069 320070 320071 320074 320075 320076 320077 320078 320079 320080 320081 320082 320083 320084 320086 320087 320088 320089 320090 320091 320092 320095 320096 320097 320098 320099 320101 320104 320105 320109 320110 320111 320112 320113 320114 320115 320116 320117 320118 320119 320122 320123 320124 320125 320126 320130 320131 320133 320135 320137 320139 320140 320141 320145 320146 320147 320155 320156 320157 320159 320160 320162 320165 320166 320167 320168 320169 320171 320172 320173 320174 320175 320176 320177 320178 320180 320181 320182 320183 320185 320186 320187 320188 320189 320194 320196 320197 320199 320200 320201 320203 320204 320209 320210 320214 320215 320217 320385 320982 320984 320988 321019 321021 321022 369241 391961 391964 391965 443267 444670 444671 446004 446007 446008 446009 446010 446013 446014 446016 446017 446018 446019 446020 446021 446022 446023 446024 446025 446028 446032 446033 446035 446037 446038 446039 446041 446042 446043 446044 446045 446046 446049 446051 446053 446054 446055 446056 446061 446063 446065 446066 446069 446072 446075 446076 446077 446079 446085 446087 446090 446091 446092 446093 446095 446098 446099 446100 446101 446104 446108 446112 446113 446114 446118 446119 446122 446123 446125 446127 446128 446129 446137 446201 446203 450227 450251 450252 521035 521036 521038 521039 521041 521043 521044 521045 521047 521048 521049 521050 521051 521052 521053 521054 521055 521057 521058 521059 521061 521062 521063 522427 522428 524509 547034 547035 547038 561724 561725 561730 563193 563194 563196 567337 567357 579190 589326 597258 597970 597972 598466 599018 599019 600439 600440 600453 600456 600462 600463 600464 600468 600469 600470 600473 600474 600475 600478 600479 600480 600481 600482 682474 702145 729400 772093 857069 949682 949694 949695 969686 982195 982196 982441 982442 993571 993572 997285 997311 997314 997315 997318 997320 997321 997322 997323 997324 997325 997326 997327 997328 997332 997338 997340 997342 997343 997345 997347 997349 997350 997351 997353 997354 997355 997356 997357 997358 997359 997360 997361 997362 997363 997364 997365 997367 997368 997369 997370 997371 997372 997374 997375 997376 997378 997380 997383 997385 997386 997388 997400 997404 997405 997406 997407 997408 997409 997410 997412 997413 997414 997415 997416 997417 997418 997420 997421 997423 997424 997425 997427 997428 997429 997430 997431 997432 997434 997435 997436 997437 997438 997441 997443 997444 997445 997446 997448 997449 997451 997453 997454 997455 997456 997457 997459 997460 997461 997462 997464 997466 997467 997468 997469 997471 997472 997473 997474 997476 997477 997478 997479 997480 997484 997490 997493 997495 997496 997497 997498 997499 997501 997502 997503 997504 997505 997506 997507 997508 997510 997513 997518 997521 997522 997525 997526 997533 997536 997537 997541 997542 997543 997544 997545 997546 997548 997554 997556 997559 997560 997561 997563 997565 997566 997567 997568 997569 997570 997571 997572 997573 997575 997576 997580 997581 997582 997585 997586 997587 997590 997593 997595 997597 997598 997602 997604 997605 997611 997612 997613 997614 997616 997617 997619 997621 997625 997626 997627 997628 997630 997631 997643 997649 997650 997651 997653 997655 997657 997658 997659 997660 997662 997663 997665 997666 997667 997668 997669 997670 997671 997672 997673 997674 997676 997677 997680 997682 997683 997684 997686 997687 997690 997691 997692 997694 997696 997697 997698 997701 997702 997703 997704 997705 997707 997708 997709 997710 997711 997714 997715 997716 997717 997718 997720 997721 997722 1000485 1000507 1000590 1000591 1000624 1000625 1000642 1000653 1000654 1000765 1000766 1000836 1001396 1001397 1001398 1001400 1001404 1001407 1001408 1001412 1001413 1001415 1001416 1001418 1001419 1001420 1001421 1001422 1001423 1001424 1001428 1001429 1001430 1001431 1001432 1001433 1001434 1001436 1001437 1001438 1001441 1001442 1001443 1001446 1001449 1001451 1001456 1001457 1001458 1001459 1001461 1002088 1002090 1002092 1002093 1002101 1002103 1002104 1002105 1002107 1002108 1002109 1002110 1002379 1002381 1002383 1002385 1002389 1002391 1002865 1002867 1002869 1002870 1002871 1002872 1002873 1002874 1002875 1002876 1002879 1002880 1002881 1002882 1002883 1002885 1002886 1002888 1002889 1002890 1002903 1002906 1002908 1002909 1002916 1002919 1002920 1002921 1002922 1002923 1002924 1002925 1002926 1002928 1004366 1004367 1004369 1004373 1004374 1004375 1004376 1004377 1004381 1004385 1004386 1004389 1004390 1004391 1004394 1004395 1004396 1004657 1005059 1005063 1005065 1005066 1005067 1005069 1005072 1005073 1005074 1005075 1005080 1005081 1005084 1005086 1005089 1005090 1005091 1005093 1005095 1005098 1005104 1005106 1005115 1005118 1005120 1005121 1005122 1005123 1005124 1005127 1005128 1005129 1005132 1005133 1005134 1005137 1005139 1005140 1005659 1005771 1005772 1005773 1005774 1005775 1005776 1005777 1005990 1005994 1005995 1005997 1005998 1006004 1006008 1006009 1006010 1006012 1006015 1006016 1006017 1006018 1006023 1006025 1006026 1006027 1006028 1006029 1006030 1006033 1006035 1006242 1006248 1006328 1006329 1006331 1006334 1006338 1006339 1006340 1006342 1006345 1006346 1006349 1006350 1006351 1006415 1006416 1006417 1006418 1006504 1006505 1006506 1006508 1006510 1006511 1006712 1006714 1006875 1006876 1006970 1007001 1007070 1007107 1007108 1007109 1007133 1007135 1007202 1007204 1007205 1007206 1007209 1007214 1007215 1007228 1007230 1007252 1007253 1007254 1007520 1007521 1007527 1007530 1007550 1007556 1007776 1007777 1007779 1007877 1008107 1008116 1008123 1008183 1008189 1008362 1008364 1008365 1008367 1008380 1008381 1008527 1008530 1008531 1008541 1008549 1008644 1008645 1008649 1008654 1008657 1008671 1008721 1008750 1008752 1008753 1008754 1008765 1008766 1008772 1008816 1008839 1008842 1008844 1008849 1008852 1008853 1008856 1008861 1008862 1008863 1008864 1008869 1008870 1008873 1008876 1008878 1008879 1008880 1008881 1008882 1008883 1008884 1008886 1008888 1008890 1008892 1008895 1008925 1008926 1008950 1008952 1008953 1008959 1008964 1008965 1008968 1008972 1008974 1008975 1008977 1008998 1009193 1009194 1009195 1009196 1009238 1009239 1009240 1009245 1009246 1009248 1009381 1009382 1009384 1009402 1009407 1009479 1009480 1009482 1009486 1009488 1009507 1009508 1009691 1009692 1009693 1009695 1009698 1009699 1009701 1009707 1009709 1009710 1009715 1009767 1009815 1009854 1009855 1009971 1009998 1010007 1010032 1010039 1010041 1010077 1010078 1010079 1010082 1010084 1010115 1010117 1010120 1010121 1010125 1010126 1010127 1010331 1010334 1010336 1010342 1010343 1010344 1010345 1010396 1010400 1010425 1010430 1010431 1010501 1010606 1010607 1010609 1010610 1010689 1010691 1010748 1010751 1010754 1011115 1011118 1011126 1011128 1011129 1011135 1011138 1011188 1011189 1011191 1011195 1011197 1011198 1011204 1011206 1011218 1011309 1011337 1011404 1011422 1011542 1011545 1011547 1011551 1011553 1011555 1011557 1011561 1011666 1011719 1011746 1011771 1011772 1011773 1011774 1011784 1011787 1011788 1011789 1011791 1011843 1011851 1011852 1011870 1011871 1011876 1011882 1011894 1011895 1011913 1011924 1011972 1012007 1012015 1012018 1012019 1012020 1012024 1012029 1012031 1012048 1012053 1012062 1012066 1012067 1012068 1012071 1012072 1012073 1012076 1012081 1012083 1012085 1012092 1012093 1012198 1012200 1012201 1012202 1012213 1012242 1012243 1012317 1012436 1012564 1012633 1012742 1012752 1013003 1013004 1013010 1013011 1013013 1013106 1013108 1013109 1013114 1013121 1013122 1013129 1013131 1013134 1013148 1013162 1013175 1013185 1013243 1013273 1013274 1013275 1013277 1013444 1013468 1013484 1013485 1013498 1013500 1013503 1013512 1013545 1013549 1013558 1013567 1013569 1013667 1013742 1013744 1013745 1013746 1013757 1013776 1013785 1013852 1013969 1013971 1013974 1013975 1014020 1014033 1014037 1014041 1014116 1014117 1014120 1014147 1014226 1014230 1014235 1014239 1014240 1014241 1014242 1014243 1014244 1014246 1014247 1014352 1014499 1014500 1014572 1014573 1015022 1015087 1015205 1015542 1015543 1015644 1015645 1015646 1015647 1015648 1015660 1015680 1015699 1015751 1015986 1016006 1016062 1016069 1016105 1016138 1016139 1016298 1016299 1016300 1016308 1016311 1016387 1016544 1016546 1016558 1016769 1016770 1016965 1016975 1016977 1016978 1017357 1017420 1017424 1017504 1017535 1017542 1017545 1017564 1017781 1017826 1017870 1017876 1017880 1017884 1018027 1018028 1018098 1018099 1018100 1018105 1018337 1018339 1018384 1018460 1018464 1018527 1018529 1018530 1018533 1018535 1018536 1018537 1018628 1018650 1018652 1018653 1018660 1018839 1019259 1019266 1019269 1019436 1019439 1019440 1019493 1019494 1019495 1019502 1019503 1019504 1019506 1019507 1019509 1019604 1019609 1019629 1019690 1019949 1019951 1019952 1019953 1019956 1019957 1019961 1019985 1019989 1019990 1019991 1020000 1020059 1020162 1020170 1020176 1020185 1020309 1020319 1020320 1020340 1020341 1020348 1020634 1020635 1020777 1020975 1020982 1021128 1021130 1021160 1021164 1021167 1021605 1021751 1021978 1021979 1022024 1022025 1022026 1022027 1022031 1022033 1022038 1022041 1022152 1022230 1022237 1022262 1022654 1022659 1022671 1022708 1022711 1022776 1022778 1022793 1022841 1022857 1023085 1023341 1023648 1023666 1023668 1023671 1023673 1023680 1023681 1023683 1023687 1023690 1023691 1023711 1023809 1023814 1023815 1023818 1023973 1023975 1023986 1024018 1024039 1024040 1024067 1024071 1024076 1024084 1024132 1024145 1024254 1024264 1024365 1024403 1024629 1024631 1024679 1024681 1024682 1024683 1024685 1024686 1024695 1024696 1024778 1024781 1024782 1024803 1024807 1024840 1024841 1024843 1024844 1024845 1024850 1024853 1024855 1024856 1024969 1025333 1025334 1025338 1025512 1025786 1025787 1025947 1025952 1026022 1026121 1026122 1026259 1026546 1026548 1026549 1026558 1026577 1026582 1026588 1026592 1026596 1026597 1026601 1026932 1027080 1027082 1027087 1027088 1027091 1027093 1027100 1027103 1027107 1027110 1027120 1027122 1027134 1027136 1027140 1027484 1027490 1027641 1027643 1027644 1027645 1027646 1027651 1027652 1027654 1027656 1027657 1027659 1027660 1027661 1027662 1027663 1027666 1027667 1027669 1027671 1027779 1027821 1027823 1027827 1027832 1027835 1027838 1027842 1027871 1028777 1028778 1028780 1028792 1028836 1028843 1028847 1028852 1028858 1028869 1028876 1028877 1028964 1028983 1028994 1028999 1029008 1029011 1029018 1029023 1029025 1029028 1029034 1029036 1029038 1029040 1029043 1029045 1029092 1029093 1029121 1029132 1029133 1029192 1029195 1029254 1029307 1029407 1029702 1029705 1029709 1029798 1029799 1029813 1029824 1030009 1030023 1030024 1030030 1030031 1030033 1030261 1030298 1030504 1030506 1030512 1030513 1030514 1030517 1030571 1030573 1030574 1030598 1030654 1030656 1030820 1030826 1030836 1030838 1031030 1031186 1031228 1031316 1031319 1031320 1031412 1031417 1031576 1031590 1031592 1031595 1031596 1031597 1031673 1031676 1031804 1031806 1031808 1031810 1031811 1031814 1031866 1032056 1032058 1032128 1032129 1032130 1032131 1032194 1032204 1032207 1032323 1032361 1032677 1032872 1032874 1032878 1032883 1032931 1032934 1032935 1032937 1032941 1032947 1033064 1033082 1033083 1033135 1033207 1033213 1033221 1033420 1033439 1033442 1033446 1033448 1033456 1033459 1033460 1033485 1033535 1033581 1033603 1033622 1033624 1033653 1033859 1033862 1033863 1033866 1033988 1033989 1033990 1033994 1033995 1034000 1034032 1034077 1034117 1034118 1034159 1034169 1034173 1034175 1034309 1034325 1034327 1034329 1034335 1034337 1034349 1034354 1034355 1034364 1034367 1034373 1034375 1034377 1034378 1034424 1034603 1034605 1034606 1034607 1034610 1034615 1034617 1035108 1035217 1035221 1035327 1035355 1035494 1035497 1035498 1035501 1035503 1035808 1035810 1035812 1035816 1035817 1035818 1035820 1035838 1035855 1035866 1035869 1035870 1035874 1035875 1035939 1036004 1036005 1036037 1036038 1036054 1036055 1036060 1036063 1036183 1036184 1036297 1036335 1036336 1036507 1036774 1036819 1036901 1036902 1036907 1036909 1036910 1037161 1037491 1037492 1037656 1037669 1037671 1037672 1037676 1037711 1037718 1037722 1037733 1037741 1037743 1037754 1037757 1037758 1037759 1037763 1037767 1037795 1037819 1037822 1037828 1037950 1037951 1038141 1038143 1038223 1038230 1038249 1038252 1038253 1038254 1038370 1038378 1038424 1038499 1038520 1038522 1038523 1038524 1038525 1038526 1038527 1038531 1038535 1038536 1038537 1038541 1038546 1038571 1038576 1038765 1038767 1039294 1039296 1039302 1039303 1039304 1039305 1039307 1039358 1039375 1039376 1039377 1039378 1039380 1039383 1039585 1039767 1039970 1039972 1040025 1040030 1040031 1040038 1040039 1040041 1040291 1040292 1040293 1040294 1040329 1040330 1040380 1040382 1040436 1040547 1040642 1040644 1040682 1040708 1040731 1040732 1040835 1040982 1041063 1041145 1041149 1041150 1041157 1041161 1041215 1041217 1041326 1041328 1041330 1041332 1041347 1041579 1041658 1041706 1041798 1041804 1041838 1041865 1041879 1041880 1041961 1042166 1042169 1042183 1042219 1042221 1042223 1042224 1042241 1042351 1042352 1042353 1042369 1042370 1042385 1042463 1042482 1042561 1042570 1042631 1042940 1043045 1043390 1043393 1043396 1043400 1043625 1043691 1043719 1043756 1043866 1043886 1043927 1043953 1044015 1044249 1044369 1044370 1044372 1044386 1044532 1044533 1044569 1044571 1044573 1044902 1044994 1045198 1045202 1045206 1045210 1045212 1045213 1045267 1045462 1045529 1045767 1045783 1045931 1045932 1045988 1046005 1046016 1046157 1046231 1046422 1046506 1046545 1046551 1046558 1046619 1046620 1046623 1046631 1046642 1046692 1046808 1046818 1046971 1047123 1047691 1047696 1047697 1047698 1047731 1047821 1048003 1048004 1048054 1048163 1048179 1048198 1048202 1048206 1048211 1048212 1048213 1048241 1048269 1048270 1048276 1048277 1048281 1048283 1048286 1048291 1048325 1048326 1048455 1048456 1048459 1048723 1048922 1048977 1048979 1049104 1049105 1049157 1049159 1049192 1049309 1049318 1049323 1049330 1049332 1049415 1049849 1050104 1050196 1050199 1050204 1050425 1050494 1050643 1050751 1050827 1050830 1050848 1051042 1051043 1051050 1051059 1051061 1051063 1051064 1051077 1051087 1051373 1051374 1051375 1051513 1051586 1051610 1051658 1051660 1051666 1051683 1051821 1051844 1051915 1051989 1051997 1052008 1052020 1052028 1052029 1052061 1052062 1052232 1052233 1052385 1052386 1052598 1052679 1052681 1052706 1052712 1052713 1052714 1052734 1052738 1052791 1052948 1052949 1052960 1053004 1053043 1053046 1053047 1053048 1053049 1053098 1053099 1053112 1053115 1053239 1053240 1053256 1053277 1053289 1053532 1053533 1053607 1053611 1053717 1053718 1053719 1053720 1053733 1053855 1053990 1053991 1053992 1053993 1053997 1053998 1054115 1054365 1054380 1054381 1054382 1054540 1054550 1054562 1054569 1054575 1054580 1054769 1054788 1055202 1055297 1055343 1055881 1055894 1056001 1056029 1056031 1056046 1056078 1056079 1056091 1056188 1056191 1056404 1056413 1056781 1056920 1056923 1056984 1057171 1057321 1057599 1057605 1057607 1057611 1057612 1057629 1057631 1057673 1058035 1058263 1058274 1058278 1058281 1058287 1058381 1058634 1058665 1058954 1058955 1058971 1058994 1059077 1059789 1059856 1059864 1059897 1060050 1060055 1060056 1061057 1061245 1061486 1061703 1061749 1061750 1061907 1061928 1062114 1062292 1062293 1062469 1062505 1062511 1062524 1063393 1063532 1063536 1063549 1063564 1063572 1063622 1063635 1063885 1063886 1063888 1063890 1063898 1063957 1064112 1064531 1064540 1064686 1064687 1064688 1064818 1064866 1064868 1064911 1064946 1065082 1065284 1065449 1065493 1065495 1065497 1065599 1065631 1065646 1065876 1065878 1065882 1065883 1065942 1065943 1065955 1065965 1066022 1066226 1066381 1066383 1066385 1066521 1066647 1066650 1066655 1066749 1066754 1066755 1066866 1066868 1067175 1067191 1067194 1067199 1067202 1067232 1067233 1067246 1067303 1067311 1067398 1067399 1067408 1067411 1067416 1067417 1067420 1067422 1067427 1067433 1067439 1067440 1067595 1067876 1067883 1067885 1069644 1069699 1069707 1069749 1069780 1069781 1069787 1069788 1069790 1069791 1069817 1069824 1069982 1070316 1070415 1070416 1070668 1070669 1070842 1070844 1070845 1070869 1070870 1070969 1070970 1070971 1070973 1070975 1070976 1070977 1070978 1070979 1070980 1071257 1071266 1071267 1071271 1071348 1071430 1071431 1071432 1071891 1071892 1071897 1071905 1071907 1071910 1071914 1071916 1072005 1072830 1072836 1072840 1072973 1072974 1072986 1072992 1073017 1073044 1073361 1073371 1073372 1073374 1073378 1073546 1073772 1073787 1074110 1074117 1074163 1074422 1074460 1074461 1074466 1074499 1074501 1074502 1074506 1074508 1074590 1074738 1074770 1074815 1075053 1075055 1075059 1075086 1075090 1075156 1075157 1075209 1075297 1075298 1075321 1075323 1075448 1075548 1075805 1075806 1075807 1076534 1076535 1076767 1076770 1076797 1076820 1076825 1077255 1077258 1077265 1077270 1077276 1077278 1077439 1077443 1077448 1077449 1077469 1077475 1077884 1077886 1078102 1078353 1078355 1078361 1078594 1078762 1078771 1078772 1078948 1078979 1079059 1079064 1079067 1079129 1079134 1079138 1079240 1079242 1079248 1079257 1079260 1079416 1079842 1079850 1079851 1079906 1080066 1080672 1080697 1080698 1080699 1080700 1080701 1080702 1080934 1080941 1080944 1080945 1080947 1080948 1080950 1080951 1080953 1080954 1080955 1080956 1080957 1080958 1080959 1080960 1080962 1080963 1080964 1080968 1080969 1080970 1080973 1080974 1080976 1080978 1080979 1080981 1080983 1080984 1080986 1080987 1080990 1080991 1081301 1081415 1081417 1081419 1081420 1081423 1081508 1081544 1081595 1081596 1081597 1081598 1081599 1081723 1081844 1081882 1081884 1081887 1081888 1081999 1082000 1082002 1082038 1082039 1082060 1082062 1082093 1082104 1082142 1082148 1082149 1082227 1082268 1082309 1082333 1082344 1082345 1082346 1082348 1082349 1082351 1082352 1082360 1082363 1082368 1082422 1082423 1082436 1082437 1082469 1082470 1082493 1082497 1082525 1082529 1082546 1082695 1082696 1082783 1082790 1082791 1082805 1082828 1082838 1082847 1082961 1082976 1082978 1082981 1082994 1082995 1083030 1083040 1083048 1083058 1083091 1083093 1083094 1083095 1083098 1083159 1083275 1083276 1083286 1083334 1083396 1083432 1083465 1083706 1083866 1083886 1083962 1084249 1084254 1084297 1084363 1084441 1084457 1084500 1084516 1084608 1084672 1084830 1084831 1084832 1084858 1084913 1084920 1084975 1084977 1084978 1084988 1085017 1085055 1085056 1085058 1085059 1085060 1085091 1085098 1085123 1085153 1085204 1085255 1085256 1085258 1085262 1085278 1085279 1085280 1085290 1085297 1085310 1085389 1085480 1085525 1085623 1085656 1085773 1085836 1085884 1085886 1085894 1085929 1085965 1085971 1086056 1086058 1086082 1086083 1086106 1086111 1086154 1086212 1086278 1086350 1086352 1086436 1086459 1086461 1086508 1086557 1086599 1086657 1086703 1086718 1086719 1086833 1086846 1086881 1086891 1086892 1086942 1087024 1087092 1087123 1087209 1087234 1087250 1087251 1087347 1087472 1087474 1087516 1087518 1087624 1087625 1087656 1087726 1087727 1087730 1087870 1087881 1087959 1087972 1087980 1088033 1088209 1088225 1088351 1088650 1088748 1088768 1088895 1088903 1089069 1089070 1089089 1089137 1089143 1089144 1089379 1089412 1089501 1089678 1089877 1090001 1090003 1090482 1090486 1090517 1090783 1090839 1090874 1090926 1091015 1091032 1091324 1091435 1091646 1091650 1091651 1091683 1091847 1091912 1091916 1092018 1092337 1092437 1092720 1092722 1092849 1092951 1092987 1092988 1092989 1092990 1092992 1092993 1092994 1093064 1093084 1093085 1093107 1093117 1093132 1093179 1093195 1093197 1093223 1093230 1093239 1093286 1093307 1093313 1093314 1093325 1093326 1093329 1093340 1093349 1093379 1093404 1093408 1093424 1093441 1093442 1093444 1093517 1093526 1093657 1093766 1093797 1093837 1093968 1093969 1094095 1094098 1094113 1094118 1094169 1094234 1094267 1094294 1094363 1094417 1094420 1094479 1094597 1094655 1094769 1094783 1094797 1094811 1094871 1095169 1095200 1095214 1095271 1095297 1095416 1095430 1095545 1095552 1095635 1095658 1095666 1095749 1136244 1136245 1138420 1187056 1187057 1187058 1187153 1187201 1187249 1187311 1187379 1187422 1187423 1187430 1187431 1187483 1187494 1187598 1187606 1187607 1187608 1187660 1187738 1187740 1187768 1187794 1187820 1187843 1188216 1188226 1188240 1188309 1188352 1189268 1189519 1189555 1189935 1190420 1190472 1190492 1190678 1191502 1191768 1191775 1191778 1192210 1192217 1192218 1192234 1192238 1192242 1192647 1192651 1192652 1192653 1192654 1192661 1192662 1192664 1192667 1192674 1192676 1192683 1193135 1193198 1193199 1193622 1193651 1193653 1193654 1193739 1193742 1193941 1193943 1193944 1193945 1193946 1194051 1194395 1194849 1194943 1195374 1195375 1195376 1195377 1195392 1195887 1195893 1195899 1195904 1197375 1197497 1197676 1197678 1198112 1198263 1198341 1198342 1198431 1198924 1199023 1199025 1199413 1199653 1199716 1199720 1199722 1199750 1200331 1200333 1200901 1200902 1201317 1201663 1201680 1201681 1201964 1201984 1201986 1202038 1202042 1202046 1202049 1202050 1202132 1202186 1202479 1202482 1202557 1202569 1202574 1202779 1202869 1202871 1202873 1203006 1203712 1203972 1203973 1203974 1203991 1204012 1204033 1204035 1204186 1204301 1204303 1204425 1204634 1204885 1204993 1205187 1205271 1205348 1205545 1205565 1206008 1206034 1206039 1206040 1206046 1206063 1206150 1206532 1206590 1206673 1206679 1206755 1206764 1206772 1206805 1206815 1206817 1206818 1206861 1206862 1206866 1206883 1206899 1206910 1206914 1206926 1206936 1206937 1206939 1206967 1207111 1207339 1207341 1207482 1207496 1207540 1208076 1208077 1208151 1208510 1208586 1208589 1208659 1208660 1208803 1208815 1208816 1208831 1209006 1209169 1209170 1209534 1209732 1210212 1210228 1210232 1210235 1210236 1210249 1210342 1210378 1210460 1210461 1210876 1210899 1210902 1211061 1211579 1212576 1212629 1212652 1212653 1212654 1212761 1212910 1212931 1213132 1213136 1213272 1213374 1213517 1213522 1213523 1213534 1213561 1213568 1213766 1213775 1214007 1214099 1214100 1214194 1214662 1215378 1215406 1215407 1216120 1216392 1216516 1216517 1216659 1216841 1216849 1217352 1217474 1217478 1218119 1218195 1218196 1218663 1218680 1219130 1219131 1219299 1219311 1219312 1219976 1220636 1221038 1221044 1221058 1221077 1221359 1221361 1221407 1221408 1221931 1221939 1221944 1222091 1222093 1222097 1222133 1222380 1222487 1222493 1222828 1222911 1223213 1223287 1223651 1223759 1224064 1224518 1224519 1224592 1224887 1225186 1225209 1225414 1225552 1225982 1226280 1226281 1226869 1226949 1227151 1227307 1227527 1227877 1227878 1227880 1227881 1227883 1228180 1228181 1228282 1229074 1229347 1229351 1229352 1229403 1229900 1229909 1229913 1230231 1230658 1231269 1231273 1231274 1231450 1231700 1231771 1231811 1231835 1231836 1231837 1231848 1231849 1231850 1231851 1232156 1232218 1232224 1232261 1232400 1233009 1233054 1233055 1233058 1233949 1234002 1234174 1234177 1234179 1234450 1234451 1234588 1234630 1234631 1234683 1234911 1234914 1234915 1235496 1235646 1254272 1265393 1265394 1265395 1265399 1265400 1265401 1265402 1265403 1265405 1265412 1265415 1275675 1276256 1299019 1299030 1299040 1299063 1299082 1299090 1302829 1321097 1321766 1444091 1449866 1458283 1458312 1458314 1458315 1458316 1458318 1458320 1458344 1458348 1458355 1458418 1458443 1458452 1458592 1458821 1458823 1458828 1458967 1458969 1458979 1458980 1459220 1459280 1459556 1459557 1459623 1460154 1460503 1460655 1461270 1461703 1462256 1462354 1462725 1462726 1462843 1462991 1463185 1463467 1463702 1463943 1463947 1463949 1464275 1464553 1464554 1464558 1464714 1465054 1465058 1465078 1465082 1465556 1465611 1465655 1465656 1465660 1466185 1467018 1467100 1467116 1467287 1467288 1467289 1467290 1467411 1467416 1467515 1467531 1468109 1468148 1468551 1468680 1468681 1468879 1468936 1468985 1468987 1469360 1469449 1470474 1470509 1470510 1472524 1472525 1473012 1473016 1473031 1473051 1473061 1473243 1473420 1473426 1473460 1473720 1473852 1473899 1473905 1473908 1473909 1474304 1474382 1474888 1475719 1475938 1476166 1476543 1476556 1477366 1477442 1477564 1478000 1478334 1478347 1478348 1478501 1478821 1478867 1479050 1479115 1479134 1479135 1479136 1479160 1479235 1479434 1479454 1479457 1479459 1479693 1479847 1479912 1479965 1480026 1480117 1480119 1480151 1480328 1480464 1480469 1480544 1480968 1481845 1481852 1481881 1481901 1481908 1481912 1481917 1481960 1481981 1482018 1482328 1482616 1483548 1483636 1483638 1483983 1483984 1483985 1484208 1484210 1484222 1484237 1484294 1484962 1485129 1485143 1485146 1485453 1485474 1485645 1485647 1485648 1485807 1485870 1486007 1486008 1486010 1486069 1486101 1486206 1486213 1486263 1486328 1486637 1486657 1486658 1487418 1487594 1487595 1487603 1487713 1488514 1488881 1488955 1488958 1488979 1489075 1489464 1489910 1489999 1490002 1490829 1491045 1491537 1491560 1491813 1491878 1491933 1491935 1491941 1491961 1491995 1492427 1492428 1492930 1493995 1494023 1494348 1494352 1494353 1494538 1494629 1494631 1495104 1495109 1495234 1496124 1496183 1496568 1496569 1496607 1496808 1496977 1497976 1498311 1498402 1498576 1498580 1498581 1498670 1498671 1498705 1499624 1499878 1499971 1500198 1500247 1500280 1500281 1500283 1500980 1501201 1501426 1501439 1501977 1502096 1502196 1502197 1502236 1502380 1502457 1502460 1502837 1503001 1503002 1503426 1503439 1503791 1504647 1507386 1531918 1531919 1531921 1531925 1531929 1531930 1531931 1531932 1531934 1532028 1532033 1532038 1532040 1532041 1532118 1532200 1532205 1532211 1532213 1532215 1532217 1533724 1562097 1562222 1562263 1563276 1576764)\n(55 1967 3050 3638 3920 4722 4896 4922 5135 5329 6138 6494 6619 6855 7025 7757 7968 8037 8299 9076 9209 9237 9644 10029 10947 12155 12170 12171 12172 12173 12176 13704 13706 13707 13709 13710 16153 16155 16158 16260 16452 16453 16494 16495 16497 16498 16499 16500 16739 16767 17517 18208 19233 19906 20747 21274 24651 24798 25017 25018 26145 26157 26370 28723 28753 29035 30738 32099 32846 32852 35567 36048 36845 37092 37511 37570 37732 37733 37910 39400 39410 41356 42438 42440 43137 43138 43188 43392 43419 51148 64658 69962 72982 78391 86590 86941 150589 162338 162749 162750 162800 206136 206208 215179 218063 237492 242295 242772 242775 242863 260325 282247 282678 282679 301424 301611 311119 311120 311121 311122 311124 311150 311151 330230 330394 330499 330501 330510 330835 331595 344355 349371 349372 349374 349375 349376 349377 349379 349380 349382 349383 349714 349771 349966 359194 359520 359581 359583 359587 361545 361633 376596 376597 379545 440277 440284 440285 440286 440287 440288 440289 440298 440299 440466 444316 444322 444324 444325 444326 444615 446298 446302 446305 446306 450461 452229 452230 452236 452237 452241 452245 452246 452247 452248 452256 452257 452259 452263 452428 452435 452440 452442 452444 452445 452446 452448 452449 452453 452454 452455 452456 452457 452458 452459 452460 452461 452464 452465 452467 452469 452470 452476 452483 452485 452487 452488 452492 452494 452501 452505 452506 452509 452510 452521 452523 452524 452540 452541 452544 452545 452547 452550 452555 452557 452560 452563 452575 452581 452597 452602 452606 452609 452615 452620 452627 452635 452643 452648 452660 452675 452676 452677 452678 452680 452681 452686 452687 452688 452689 452691 452694 452696 452698 452702 452703 452710 452712 452714 452717 452719 452720 452721 452728 452732 452734 452737 452739 452740 452741 452742 452748 452749 452750 452753 452757 452761 452765 452767 452768 452775 452778 452779 452780 452783 452784 452788 452792 452794 452795 452799 452801 452802 452807 452811 452813 452814 452820 452821 452823 452824 452827 452828 452837 452838 452845 452847 452848 452849 452850 452855 452858 452861 452866 452867 452870 452875 452885 452888 452889 452894 452895 452896 452898 452902 452909 452917 452926 452929 452930 452931 452936 452938 452939 452943 452944 452945 452946 452947 452948 452950 452952 452954 452956 452959 452960 452961 452965 452978 452985 452995 453004 453008 453011 453017 453018 453027 453033 453036 453039 453041 453044 453048 453056 453064 453074 453078 453086 453105 453108 453110 453111 453112 453114 453115 453116 453118 453122 453123 453124 453125 453134 453137 453142 453145 453148 453150 453165 453177 453184 453185 453186 453215 453216 453217 453218 453219 453222 453223 453226 453228 453230 453231 453232 453233 453237 453244 453245 453246 453248 453252 453253 453255 453257 453258 453263 453264 453268 453270 453271 453272 453275 453277 453283 453284 453285 453286 453287 453288 453289 453292 453296 453297 453298 453299 453300 453301 453302 453305 453307 453309 453310 453311 453316 453343 453344 453347 453349 453357 453360 453372 453373 453374 453375 453382 453386 453398 453399 453423 453425 453431 453435 453437 453438 453439 453444 453445 453447 453448 453450 453451 453452 453464 453474 453478 453481 453485 453488 453490 453493 453505 453512 453524 453543 453555 453556 453560 453568 453575 453577 453585 453686 453723 453730 453740 453741 453745 453753 453795 453796 453801 453802 453803 453806 453809 453810 453812 453813 453817 453818 453819 453826 453827 453829 453831 453833 453834 453835 453836 453838 453839 453843 453847 453850 453852 453854 453855 453856 453857 453858 453859 453860 453861 453862 453863 453864 453865 453866 453867 453868 453870 454274 454276 457802 457931 458145 458162 458175 458176 458182 458186 458190 458194 458199 458214 458216 458585 458586 458587 458657 458973 458974 458975 458976 458978 458979 458980 458983 458986 458989 459125 459126 459127 459130 459138 459209 459210 459211 459695 459797 459798 459815 459817 459818 459819 459823 459825 460241 460378 475610 475615 475620 475622 475626 475633 475636 475637 475638 475654 475657 475869 520816 524486 524503 524504 524512 524649 524813 556112 556145 559217 565793 589717 593915 596444 596445 598245 600054 600183 677521 677522 677526 677527 677528 677543 678193 678195 678206 678383 678386 678387 678389 678392 678393 678395 678403 678405 678406 678407 678410 678412 678413 678414 678416 678418 678420 678421 678424 678438 678695 681562 681565 681566 681571 681573 681578 681579 682953 683081 683082 683086 683895 684316 725539 725685 725694 726049 726369 726639 726741 726747 726935 726936 727157 727224 727350 727451 727477 727535 727589 727666 727692 727850 728656 729311 733018 740044 770626 771806 774425 815074 868961 873002 936039 936040 936047 936049 936050 937598 939584 939864 947697 949399 949815 949824 949863 949870 949962 950037 950039 950154 973453 973455 973457 982074 982095 982159 982163 982164 982374 993630 993635 1095830 1095831 1122999 1123028 1123051 1135796 1135885 1135892 1135893 1138601 1138610 1138837 1138841 1138842 1141640 1145581 1145582 1170781 1170912 1235662 1257811 1258091 1258093 1258131 1260544 1260948 1262899 1268568 1268569 1276835 1277001 1277005 1281951 1298640 1304635 1305741 1327962 1337198 1337204 1337211 1337215 1365947 1366211 1384515 1384640 1442833 1443929 1456519 1457872 1504609 1509510 1509549 1510451 1517288 1518477 1518478 1531498 1532456 1532525 1532666 1532867 1532958 1572601 1586731 1613445 1618610)\n(56 769 846 1564 1565 1688 2146 5654 7807 8903 9673 11155 13153 13217 13557 13675 13943 14275 14501 14508 15127 15211 16203 18620 21487 21488 21490 21492 21494 21499 21634 21896 24752 31328 34378 34571 35868 36525 38895 39789 39798 40652 42153 80026 80167 175674 178644 199219 205161 205172 205173 205177 205196 205227 205228 205245 205249 205263 205269 205296 205303 205321 205337 205339 205341 205342 205349 205359 205373 205380 205409 205415 205430 205431 205460 205462 205463 205464 205466 205468 205469 205470 205471 205472 205473 205476 205481 205483 205484 205485 205487 205494 205520 205521 205522 205523 205525 205528 205531 205532 205533 205535 205537 205554 205681 220777 220784 220797 220798 220814 220820 220825 220846 220865 220888 220906 220920 220922 220934 221423 231179 231220 231226 231229 231298 231448 231456 231457 231459 231462 234130 234226 234422 234621 241888 242485 243095 243123 243125 243126 243130 243137 243138 243146 243148 243164 282690 302891 311400 314603 314735 332120 332141 332142 332212 332214 332232 332240 332242 332243 332256 332269 332276 332287 332298 332305 332324 332449 332450 332459 332466 332513 332523 332535 332558 332562 332564 332597 332620 332621 332624 332663 333038 333043 333045 333046 333050 333052 333053 333055 333085 333118 333125 333181 333275 333348 333562 333668 334012 334094 334107 334135 337281 348007 348011 348014 348026 349677 374711 392747 392749 392760 420512 439660 439662 439663 439664 439678 439705 439709 439748 439757 439801 439815 439825 439830 439844 441472 441601 441712 441994 442686 442805 442808 442828 442856 442885 443145 443157 443177 443184 443191 443277 443286 443288 443301 443318 444507 445097 445100 445232 449295 449311 449437 449717 449851 449864 449913 449914 449976 457083 458006 458082 458280 470187 475224 476160 476186 520818 520914 520960 521026 521033 521066 521135 521346 521425 521457 522485 542341 542559 543481 544458 545082 547045 549186 557723 557731 557737 557740 557743 557854 558005 559956 563039 565989 566588 577306 577538 581116 581652 585800 586514 596664 677597 677612 678226 678828 679238 680164 680251 680846 680933 680962 680986 681067 681132 681275 686905 686909 694637 699032 700106 700111 700124 700624 702113 728866 729333 743489 814509 814791 815279 868920 868928 868973 869019 870325 870432 871133 871157 871332 871455 935622 1261286 1261552 1262865 1274040 1275506 1280477 1285529 1285553 1285556 1291081 1292725 1292726 1292732 1292748 1298991 1299991 1301774 1301820 1302423 1305363 1306462 1306866 1313858 1314677 1314763 1314792 1317935 1373202 1373206 1442792 1457869 1510994 1511506 1512806 1512912 1512952 1513371 1513727 1513780 1514244 1514829 1516050 1516151 1516446 1516691 1516853 1516871 1517565 1518388 1519231 1519249 1520147 1521733 1521761 1522149 1522191 1522195 1522196 1522229 1522242 1522413 1522469 1522492 1522518 1522538 1522583 1522602 1522653 1522661 1522673 1522726 1524042 1524062 1524063 1524112 1527148 1527415 1546908 1553211 1553222 1553224 1553231 1554869 1554871 1554872 1554875 1554877 1554888 1554899 1555366 1555371 1555373 1555375 1555376 1561491 1562228 1562996)\n(57 2345 4390 7622 9757 10366 12899 13057 13458 14431 14438 14589 15219 15249 15353 17255 17256 17259 17260 17261 17262 17263 17287 17289 17293 17295 17391 17393 20202 23099 26882 28303 32219 32529 33461 34865 35380 35684 35687 36576 37211 37697 37700 37703 38855 38859 40624 40649 40667 40669 40683 40684 40711 43297 79868 79870 80129 86934 162493 162735 162759 162760 162761 162763 162764 162765 162766 162782 175967 178654 206071 206530 241764 242614 282572 282629 282630 301618 314611 314612 314613 314614 314619 314619 314620 314621 314622 314625 314627 314630 314632 314633 314634 314635 314638 314639 314641 314643 314644 314645 314648 314654 314666 333692 376437 376452 376678 443976 443977 524550 524869 525038 596336 596456 596609 596610 596611 597099 597257 597360 597415 597600 598174 598175 598312 598314 598316 598494 598495 598496 598498 598499 598510 598511 598662 599155 599176 599177 599283 599284 599558 599559 599773 599945 599946 600599 678713 678935 678936 678939 678940 678942 678943 678944 678945 678951 678952 678953 683142 683143 683220 683225 683227 683228 683229 683230 683231 683233 683236 814037 814045 815328 872177 872221 878644 887912 887941 917892 920532 920533 949779 1136026 1136031 1136375 1148471 1148552 1148672 1148673 1148674 1148677 1148679 1148681 1148688 1148689 1148691 1148698 1148700 1148702 1148708 1148709 1148711 1148712 1148716 1148732 1148734 1148735 1148736 1148738 1148741 1148742 1148743 1148744 1148745 1148747 1148748 1148753 1148754 1148755 1148756 1148758 1148759 1148764 1148772 1148781 1148783 1148788 1148791 1148794 1148800 1148804 1148806 1148807 1148809 1148810 1148811 1148813 1148815 1148817 1148821 1148822 1148824 1148825 1148826 1148828 1148829 1148839 1148840 1148841 1148846 1148849 1148851 1148853 1148854 1148859 1148864 1148866 1148870 1148871 1148884 1148886 1148889 1148890 1148901 1148908 1148909 1148924 1148927 1148930 1149004 1149297 1149367 1149370 1149371 1149372 1149375 1149627 1150029 1150386 1150388 1150389 1150729 1150731 1150732 1150734 1150735 1150736 1150737 1150738 1150739 1150740 1150741 1150742 1150743 1150746 1150747 1150748 1150749 1150775 1150778 1150852 1151662 1152326 1152337 1152371 1152372 1152375 1152376 1152388 1152389 1152394 1152406 1152408 1152409 1152411 1152412 1152419 1152484 1152519 1152559 1152944 1152945 1152948 1153703 1154578 1155299 1155300 1155302 1155647 1155648 1155649 1155650 1155652 1155654 1155657 1155658 1155660 1155661 1155663 1155669 1155670 1155671 1155793 1155800 1155801 1155803 1155823 1155824 1156152 1156197 1156198 1156210 1156212 1157428 1157546 1157547 1157549 1157562 1157563 1157567 1157894 1157898 1158006 1158007 1158008 1158009 1158478 1158479 1158480 1158481 1158483 1158484 1158485 1158486 1158488 1158489 1158492 1158493 1158497 1158498 1158501 1158505 1158507 1158512 1158513 1158515 1158517 1158521 1158526 1158530 1158537 1158538 1158540 1158542 1158543 1158544 1158545 1158546 1158558 1158559 1158560 1158564 1158565 1158723 1158724 1158725 1158726 1158727 1158728 1158729 1158730 1158731 1158737 1158744 1158745 1158747 1158748 1158753 1158754 1158755 1158756 1158757 1158758 1158759 1158762 1158765 1158766 1158768 1158769 1158801 1158802 1158803 1158811 1158816 1158817 1158818 1158819 1158820 1158822 1158829 1158830 1160511 1160688 1171362 1257738 1257780 1257784 1257794 1257825 1257826 1257873 1315049 1317175 1323279 1323280 1323281 1323602 1323603 1323604 1324622 1325334 1325395 1326116 1326293 1326297 1326303 1326306 1326316 1326535 1327001 1327242 1327287 1327288 1327294 1327298 1327300 1328960 1371860 1372274 1372275 1372543 1372746 1372925 1456459 1511658 1511669 1511672 1511673 1511679 1511680 1511683 1511688 1511691 1511692 1511695 1511700 1511701 1511760 1512167 1512554 1512666 1512667 1512710 1512796 1513776 1513779 1514247 1514248 1514559 1514565 1514566 1514661 1514664 1514665 1514672 1514682 1514849 1514925 1515260 1515262 1515669 1515670 1515671 1515697 1516924 1517485 1517486 1518387 1518406 1518445 1518460 1518464 1519323 1519478 1519516 1519517 1519590 1519591 1519592 1519613 1519614 1519616 1519618 1519619 1519877 1520006 1522702 1522742 1523438 1523463 1523561 1523645 1523646 1523647 1523728 1523790 1533729 1563707 1563708 1563774 1565556 1566300)\n(58 863 1406 1732 1737 1738 1740 1741 1745 1746 1747 1895 1905 1909 2037 2454 2838 3023 3353 3609 3671 3787 3790 3798 3980 3982 3983 3984 4166 4167 4340 4348 4486 4511 4684 4715 4716 4732 4739 4803 4950 4952 5341 5918 5984 6026 6036 6041 6137 6193 6320 6409 6416 6448 6539 6754 6797 6802 6823 6893 7481 7673 7674 7928 7950 8044 8107 8115 8848 9367 9399 9462 9490 9738 9778 9956 10182 10306 10343 10435 10622 10872 10941 11198 11318 12764 12836 13013 13014 13593 13715 13754 14282 14651 14716 14908 15024 15176 15177 15541 15631 16080 16132 16253 16674 16703 16704 16910 16968 16993 17209 17446 17452 17480 17481 17482 17516 17540 17550 18223 18224 18226 18229 18232 18301 18309 18367 18370 18381 18387 18408 18510 18619 19905 19907 20174 20750 20787 20898 21201 21204 21206 21247 21249 21515 22037 22065 22066 22067 22130 22271 22277 22326 22337 22341 22418 22497 22537 22557 22558 22718 22771 22772 22773 22804 22888 23034 23122 23128 23190 23376 23617 23634 23668 23879 23973 24015 24024 24176 24403 24443 24444 24497 24548 24552 24553 24581 24653 24683 24726 24803 24851 24853 24858 24874 24943 24944 24974 25136 25195 25885 25939 26001 26053 26068 26081 26183 26221 26222 26374 26410 26506 26510 26514 26544 26580 26655 27366 27496 27523 27569 27689 27778 27779 27951 27963 27964 27965 27966 27969 27971 27972 27975 27976 27977 27978 27985 28002 28074 28075 28405 28407 28408 28410 28411 28413 28415 28416 28417 28419 28423 28441 28905 28914 28971 29040 29195 30168 30170 30211 30266 30375 30428 30561 30853 31238 31525 31529 32361 32540 32729 33157 34044 34366 34390 34391 35373 35487 35826 35831 35970 35978 36056 36152 36154 36196 36232 36234 36243 36273 36453 36493 36644 36708 36919 37045 37049 37063 37091 37173 37186 37334 37623 37640 37712 37713 37715 37716 37717 37722 37723 37724 37728 37747 38088 38642 38944 38976 38983 38995 39021 39138 39247 39257 39260 39291 39298 39514 39711 39725 40182 40237 40339 40363 40371 40638 41388 41403 41573 41580 41698 41700 41703 42113 42120 42124 42177 42321 42469 42537 42658 42753 43021 43038 43122 43127 43128 43129 43131 43193 43287 43402 43436 43438 43444 43445 43476 86312 86929 87013 205654 205655 205674 205803 205804 205805 205829 205830 205845 205861 205959 205999 206003 206005 206006 206155 206578 206579 237771 242397 242398 242536 242537 282245 282246 282279 282379 282645 337049 349396 376188 376215 376440 376441 376602 376603 442529 442536 442537 442538 442542 442543 442547 442596 450237 454657 454658 454662 454664 454666 454667 454668 454669 454671 454673 454674 454675 454679 454686 454687 454690 454691 454695 454696 454698 454699 454702 454703 454705 454707 454708 454709 454710 454713 454714 454715 454716 454718 454720 454721 454723 454758 454764 454800 454801 454802 454804 454805 454810 454812 454822 454823 454824 454825 454826 454831 454838 454850 454906 454907 454932 454934 454937 454938 454972 454973 454985 454987 454989 524501 524612 524613 557750 557849 599451 600182 600207 681784 682365 682366 682368 682369 682371 682372 682374 682377 682380 682381 684033 684034 684038 684039 700290 752343 1452561 1514578 1514889 1516315 1518860 1547690)\n(59 52 84 107 152 165 184 189 254 257 291 324 340 359 378 392 412 413 435 500 507 530 578 608 644 656 829 831 977 997 999 1019 1021 1022 1024 1028 1044 1047 1053 1057 1060 1064 1068 1098 1102 1109 1113 1156 1214 1239 1245 1259 1271 1291 1295 1346 1347 1369 1388 1390 1412 1414 1451 1452 1457 1464 1471 1473 1475 1476 1477 1478 1479 1492 1497 1502 1503 1601 1638 1639 1642 1643 1655 1657 1694 1714 1897 1898 1899 1900 1904 1924 1942 1945 1954 1986 1988 1990 1999 2000 2003 2057 2059 2061 2085 2139 2142 2159 2190 2191 2193 2195 2198 2199 2205 2210 2211 2215 2229 2235 2240 2241 2242 2245 2248 2251 2255 2256 2257 2260 2261 2268 2269 2270 2272 2278 2287 2302 2311 2313 2317 2318 2402 2484 2488 2492 2507 2512 2513 2515 2516 2517 2520 2521 2523 2524 2525 2527 2529 2543 2559 2563 2564 2565 2570 2587 2594 2610 2651 2712 2716 2721 2722 2723 2791 2823 2843 3001 3006 3009 3011 3012 3016 3017 3018 3039 3134 3168 3169 3241 3242 3243 3244 3245 3248 3250 3253 3313 3323 3329 3343 3368 3369 3370 3403 3410 3436 3438 3440 3442 3450 3521 3589 3590 3591 3592 3593 3594 3595 3601 3641 3652 3691 3692 3693 3694 3731 3762 3765 3766 3768 3775 3776 3777 3778 3779 3805 3806 3927 3933 3938 3940 3942 3967 3987 3993 3995 3997 3999 4002 4004 4006 4007 4009 4012 4015 4019 4022 4025 4149 4199 4203 4204 4218 4358 4371 4434 4480 4489 4525 4599 4609 4619 4625 4627 4641 4654 4891 4965 5080 5091 5105 5148 5149 5153 5157 5160 5179 5186 5187 5194 5198 5200 5203 5204 5210 5211 5213 5220 5221 5223 5237 5239 5244 5248 5249 5250 5255 5257 5261 5270 5281 5285 5286 5288 5289 5290 5291 5294 5554 5651 5736 5738 5739 5740 5789 5832 5919 6051 6083 6100 6188 6217 6456 6558 6560 6599 6631 6639 6668 6669 6685 6730 6732 6746 6772 6774 6776 6784 6785 6786 6787 6788 6825 6938 6958 6961 6978 6992 7028 7033 7034 7035 7054 7061 7064 7067 7072 7074 7075 7082 7258 7259 7261 7262 7267 7292 7332 7364 7367 7369 7407 7420 7427 7428 7507 7578 7579 7640 7641 7728 7743 7804 7810 7841 7913 7937 8142 8143 8145 8169 8202 8288 8328 8356 8357 8380 8381 8385 8391 8396 8407 8415 8420 8429 8455 8457 8459 8463 8471 8500 8514 8515 8516 8546 8586 8600 8731 8736 8741 8742 8744 8745 8746 8831 8844 8855 8864 8905 8988 9036 9053 9083 9118 9165 9227 9228 9283 9284 9285 9286 9289 9290 9291 9293 9294 9295 9297 9298 9299 9300 9306 9315 9316 9317 9325 9331 9332 9333 9334 9335 9336 9337 9338 9339 9342 9343 9392 9412 9498 9499 9500 9502 9503 9504 9505 9506 9507 9508 9510 9511 9512 9514 9515 9516 9517 9518 9519 9521 9522 9523 9524 9525 9526 9543 9545 9552 9629 9630 9915 9985 10132 10138 10192 10286 10287 10288 10289 10290 10291 10377 10404 10422 10434 10461 10531 10536 10575 10590 10592 10594 10640 10641 10642 10646 10652 10654 10656 10661 10662 10665 10682 10723 10744 10746 10749 10754 10755 10760 10762 10763 10772 10796 10797 10798 10803 10804 10805 10806 10807 10808 10809 10852 10895 10934 11176 11228 11243 11244 11486 11491 11500 11513 11516 11518 11519 11522 11524 11525 11527 11696 11699 11701 11702 11732 11805 11824 11961 12020 12177 12274 12312 12314 12343 12344 12408 12511 12512 12515 12524 12547 12550 12610 12855 12863 12865 12873 12874 12875 12881 12882 12883 12888 12889 12890 12892 12906 12910 12920 12940 13023 13032 13035 13352 13355 13508 13572 13588 13603 13668 13700 13705 13708 13728 13729 13733 13734 13735 13765 13877 14025 14026 14027 14063 14110 14112 14114 14128 14143 14154 14156 14158 14159 14162 14230 14240 14241 14242 14294 14295 14298 14314 14354 14360 14361 14366 14436 14444 14559 14628 14641 14642 14643 14684 14822 14894 14914 14917 14933 14954 14978 14982 15023 15110 15156 15278 15284 15290 15292 15296 15297 15301 15387 15416 15440 15491 15494 15498 15501 15502 15505 15506 15512 15513 15514 15518 15520 15522 15524 15525 15527 15528 15529 15533 15680 15683 15777 15785 15854 15856 15857 15858 15861 15874 15879 15880 15891 15936 15950 15961 15980 15982 16004 16006 16011 16013 16016 16023 16026 16042 16055 16069 16186 16194 16217 16223 16567 16570 16597 16744 16755 16762 16774 16787 16790 16799 16828 16829 16876 16890 16904 16925 16937 16944 16948 16953 16955 16957 16964 17007 17019 17027 17029 17030 17032 17033 17037 17039 17040 17046 17048 17052 17055 17056 17058 17059 17132 17135 17151 17237 17258 17272 17278 17279 17280 17281 17283 17337 17338 17339 17340 17342 17343 17344 17345 17346 17347 17349 17350 17351 17351 17352 17354 17355 17356 17357 17359 17360 17361 17362 17363 17364 17365 17366 17367 17371 17372 17373 17374 17375 17376 17428 17429 17430 17519 17622 17626 17645 17649 17687 17700 17713 17723 17724 17730 17735 17739 17742 17755 17757 17759 17760 17764 17768 17772 17776 17785 17786 17787 17789 17796 17797 17801 17811 17817 17822 17824 17829 17831 17832 17833 17834 17836 17837 17842 17853 17857 17868 17874 17875 17890 17903 17916 17932 17933 17953 17954 17955 17957 17958 17963 17966 17968 17976 17983 17984 18061 18062 18064 18066 18157 18160 18164 18165 18296 18324 18358 18364 18437 18440 18446 18594 18595 18664 18847 18850 18857 18887 18969 18974 18976 18999 19016 19018 19019 19020 19024 19026 19030 19035 19043 19046 19047 19067 19113 19137 19353 19472 19475 19481 19484 19487 19492 19534 19536 19573 19587 19596 19601 19602 19605 19609 19611 19629 19630 19643 19644 19646 19647 19648 19649 19651 19652 19683 19686 19691 19692 19701 19721 19722 19733 19744 19746 19751 19754 19759 19761 19763 19764 19765 19774 19780 19796 19797 19799 19800 19822 19847 19877 19878 19879 19892 19895 19929 19941 19942 20063 20135 20172 20197 20239 20284 20289 20331 20364 20366 20374 20375 20388 20390 20392 20398 20656 20660 20687 20731 20809 20814 20818 20835 20838 20840 20841 20843 20846 20852 20854 20855 20856 20857 20858 20859 20860 20861 20862 20863 20931 20960 21008 21010 21013 21016 21017 21018 21024 21027 21028 21031 21032 21033 21034 21035 21036 21037 21038 21040 21072 21088 21237 21463 21557 21641 21642 21658 21659 21662 21665 21666 21669 21699 21701 21734 21735 21740 21741 21743 21745 21747 21753 21755 21756 21757 21758 21759 21760 21761 21764 21769 21918 21965 21989 21994 21995 21996 22009 22091 22095 22142 22143 22157 22159 22165 22173 22192 22194 22202 22204 22453 22454 22457 22474 22478 22480 22483 22512 22513 22528 22564 22621 22626 22632 22709 22713 22714 22818 22855 22895 22896 22912 22917 22918 22920 22922 22923 22942 22948 22952 22956 22959 22984 23043 23165 23169 23170 23194 23204 23206 23235 23395 23401 23402 23414 23415 23513 23570 23607 23610 23689 23764 23783 23816 23819 23820 23821 23823 23825 23832 23835 23836 23837 23922 23979 24075 24099 24188 24284 24297 24320 24328 24337 24340 24341 24347 24353 24361 24364 24370 24375 24376 24388 24395 24420 24429 24512 24518 24544 24545 24707 24708 24731 24744 24746 24750 25234 25241 25248 25250 25252 25326 25405 25543 25544 25545 25547 25549 25550 25635 25636 25646 25647 25649 25653 25741 25780 25789 25831 25852 25965 25978 26027 26042 26045 26050 26138 26153 26190 26384 26404 26452 26454 26455 26456 26476 26574 26574 26575 26594 26667 26669 26682 26714 26741 26794 26832 26900 26900 26902 26906 26972 27015 27021 27047 27078 27096 27097 27098 27100 27101 27102 27103 27108 27111 27112 27117 27118 27119 27120 27201 27203 27215 27228 27229 27260 27277 27280 27293 27297 27298 27307 27310 27312 27318 27385 27481 27554 27597 27600 27642 27752 27753 27754 27758 27759 27783 27803 27847 27851 27875 27876 27893 27895 27898 27900 27930 27937 27940 27943 28026 28115 28123 28135 28141 28174 28189 28195 28228 28291 28318 28375 28567 28589 28593 28608 28612 28613 28615 28618 28623 28625 28632 28833 28941 28954 29005 29007 29009 29014 29015 29016 29073 29122 29276 29277 29278 29279 29282 29297 29298 29303 29370 29419 29446 29923 29960 29962 29992 30016 30017 30018 30065 30069 30095 30098 30114 30128 30135 30137 30190 30191 30238 30242 30292 30298 30304 30306 30342 30346 30466 30490 30520 30523 30616 30817 30825 30828 30841 30859 30909 30910 30913 30915 30927 30933 30934 30935 30940 30943 30946 30947 30952 30953 30956 30957 30962 30966 31131 31165 31179 31304 31312 31397 31453 31454 31456 31460 31515 31559 31561 31599 31602 31607 31622 31628 31634 31640 31644 31646 31651 31653 31654 31656 31659 31666 31667 31669 31670 31671 31678 31684 31686 31689 31691 31711 31713 31714 31721 31722 31724 31727 31728 31733 31788 31789 31798 31853 31857 31858 31861 32015 32016 32017 32050 32052 32089 32120 32125 32140 32143 32144 32145 32168 32182 32183 32190 32191 32193 32195 32200 32350 32401 32405 32467 32491 32493 32500 32518 32535 32539 32545 32548 32549 32570 32583 32593 32596 32706 32824 32923 32936 32974 32999 33002 33024 33068 33069 33164 33195 33227 33232 33235 33237 33239 33240 33241 33310 33311 33321 33362 33371 33373 33374 33382 33384 33385 33417 33419 33436 33452 33453 33457 33503 33551 33553 33602 33603 33617 33621 33628 33631 33634 33638 33640 33641 33649 33656 33665 33679 33681 33684 33688 33692 33693 33706 33712 33713 33714 33742 33791 33799 33801 33993 34135 34204 34205 34208 34265 34270 34305 34307 34308 34311 34318 34330 34340 34342 34343 34344 34346 34348 34349 34351 34361 34434 34481 34503 34616 34677 34678 34684 34761 34767 34783 34784 34785 34786 34787 34788 34789 34790 34791 34792 34793 34794 34795 34796 34798 34799 34800 34801 34802 34803 34804 34805 34806 34807 34808 34809 34811 34812 34813 34814 34815 34816 34817 34818 34819 34821 34822 34823 34825 34826 34828 34830 34832 34833 34834 34835 34836 34838 34839 34840 34843 34844 34845 34847 34848 34857 34861 34862 34917 35018 35018 35031 35094 35100 35147 35158 35285 35342 35379 35448 35478 35499 35531 35535 35539 35541 35542 35544 35545 35547 35551 35552 35565 35569 35571 35572 35654 35673 35679 35680 35681 35685 35714 35727 35899 35900 35903 35923 35938 36001 36002 36003 36027 36100 36107 36193 36199 36228 36425 36458 36461 36534 36538 36584 36634 36639 36720 36723 36725 36734 36755 36757 36758 36763 36764 36773 36774 36775 36800 36825 36843 36883 36929 36931 37027 37028 37039 37067 37167 37183 37207 37352 37483 37488 37492 37520 37550 37657 37659 37663 37668 37799 37875 37903 38022 38085 38156 38164 38180 38233 38296 38302 38304 38311 38312 38315 38415 38418 38429 38581 38585 38597 38599 38601 38613 38615 38626 38634 38635 38652 38717 38719 38731 38733 38748 38749 38769 38790 38838 38858 39020 39064 39111 39115 39190 39213 39214 39216 39217 39219 39241 39341 39346 39350 39415 39480 39534 39587 39602 39615 39617 39659 39667 39676 39682 39718 39815 39830 39847 39850 39852 39938 39939 39941 39947 39949 40005 40008 40011 40018 40048 40052 40060 40073 40078 40083 40085 40104 40105 40106 40123 40135 40139 40153 40160 40162 40164 40165 40168 40169 40174 40494 40495 40498 40626 40627 40632 40636 40639 40640 40641 40642 40643 40646 40648 40663 40664 40665 40676 40679 40688 40690 40691 40709 40814 40942 41014 41016 41017 41078 41131 41193 41194 41195 41197 41199 41236 41239 41241 41243 41244 41247 41249 41252 41256 41258 41260 41261 41348 41350 41368 41378 41455 41481 41484 41485 41487 41490 41491 41493 41497 41499 41535 41538 41560 41616 41931 41945 41950 41989 41990 42001 42006 42053 42071 42085 42089 42095 42147 42172 42213 42285 42287 42301 42307 42313 42330 42395 42413 42418 42439 42666 42697 42706 42711 42716 42717 42720 42731 42736 42737 42738 42754 42773 42846 42872 42889 42892 42896 42897 42971 43316 43317 43376 43389 43391 43458 43472 43627 43628 43897 44242 44267 44278 44279 44280 44281 44470 44509 44602 44707 44771 44894 44917 45231 45356 45854 45858 45888 45979 45993 46137 46187 46212 46218 46227 46288 46293 46392 46454 46471 46491 46494 46495 46546 46549 46567 46592 46725 46833 46834 46858 47220 47244 47280 47338 47339 47355 47383 47392 47421 47442 47444 47445 47446 47449 47481 47519 47526 47528 47532 47535 47542 47555 47557 47568 47600 47620 47645 47659 47678 47680 47684 47697 47729 47738 48044 48095 48147 48178 48201 48209 48213 48264 48281 48284 48298 48331 48332 48384 48387 48469 48492 48495 48555 48559 48580 48607 48616 48663 48679 48751 48766 48813 48820 48879 49054 49055 49134 49184 49190 49224 49275 49292 49307 49321 49341 49438 49550 49578 49598 49608 49683 49691 49700 49703 49706 49734 49738 49748 49841 49842 49866 49919 49925 49926 50298 50300 50359 50364 50374 50397 50407 50417 50418 50422 50434 50444 50446 50447 50448 50449 50453 50461 50471 50486 50496 50520 50526 50528 50535 50539 50548 50585 50600 50602 50609 50610 50628 50633 50638 50639 50643 50645 50646 50668 50669 50677 50685 50687 50688 50689 50690 50691 50692 50708 50709 50714 50718 50720 50734 50739 50769 50775 50778 50779 50795 50797 50802 50806 50807 50824 50825 50834 50839 50848 50862 50864 50881 50898 50907 50924 50952 50967 50968 50969 50975 50976 50989 51058 51059 51063 51064 51066 51069 51076 51078 51079 51080 51081 51083 51084 51096 51101 51102 51106 51107 51114 51115 51117 51118 51124 51129 51131 51133 51134 51135 51138 51143 51154 51169 51173 51178 51179 51180 51181 51186 51188 51196 51202 51204 51208 51212 51214 51243 51258 51259 51260 51263 51264 51266 51268 51272 51280 51282 51298 51300 51303 51310 51312 51314 51334 51350 51356 51360 51363 51375 51376 51384 51394 51396 51399 51400 51401 51404 51406 51408 51421 51422 51426 51427 51436 51437 51450 51464 51467 51471 51477 51492 51525 51531 51542 51560 51581 51592 51593 51605 51609 51610 51612 51613 51615 51616 51618 51628 51637 51639 51659 51742 51755 51758 51773 51774 51775 51781 51793 51844 51846 51870 51874 51904 51913 51926 51939 51944 51948 51956 51962 51970 51976 51977 51978 51979 51980 51988 51989 52002 52012 52023 52024 52025 52026 52030 52050 52051 52052 52055 52058 52059 52085 52088 52089 52090 52093 52100 52124 52128 52146 52154 52160 52161 52163 52166 52167 52169 52171 52172 52173 52174 52175 52176 52177 52179 52181 52182 52188 52189 52190 52191 52193 52196 52198 52199 52200 52201 52204 52208 52209 52213 52215 52216 52217 52218 52222 52226 52248 52253 52254 52277 52281 52289 52296 52323 52327 52328 52329 52330 52331 52332 52334 52335 52336 52337 52338 52339 52341 52342 52343 52349 52350 52351 52355 52356 52360 52369 52393 52396 52397 52419 52433 52439 52441 52442 52445 52451 52452 52455 52456 52467 52468 52469 52472 52488 52490 52492 52493 52494 52495 52499 52503 52505 52517 52521 52526 52527 52529 52530 52531 52532 52536 52537 52538 52543 52545 52546 52547 52552 52591 52599 52605 52606 52610 52618 52641 52642 52643 52644 52649 52656 52687 52689 52700 52713 52720 52766 52790 52803 52807 52819 52851 52860 52867 52871 52872 52875 52877 52878 52887 52897 52898 52900 52901 52908 52911 52912 52941 52942 52943 52950 52951 52969 52998 53003 53011 53043 53065 53122 53158 53212 53213 53270 53276 53282 53283 53288 53355 53358 53360 53370 53374 53375 53379 53381 53384 53387 53397 53398 53400 53401 53403 53405 53406 53409 53413 53419 53443 53444 53446 53453 53469 53476 53482 53483 53492 53511 53517 53518 53556 53557 53568 53571 53572 53574 53579 53583 53584 53593 53594 53599 53602 53625 53640 53641 53643 53644 53645 53646 53652 53653 53664 53667 53668 53709 53711 53730 53793 53804 53811 53816 53844 53845 53846 53848 53849 53851 53854 53913 53917 53922 53930 53932 53933 53935 53965 53968 53978 53982 53997 54004 54012 54015 54016 54018 54021 54047 54067 54097 54213 54218 54229 54239 54242 54251 54252 54296 54311 54314 54315 54318 54319 54320 54335 54398 54400 54401 54404 54407 54420 54444 54445 54450 54454 54455 54475 54477 54487 54490 54493 54498 54500 54502 54504 54505 54507 54518 54520 54521 54532 54533 54534 54541 54543 54544 54545 54546 54556 54563 54571 54572 54578 54594 54612 54639 54644 54670 54677 54695 54696 54701 54704 54707 54731 54740 54741 54742 54747 54749 54750 54753 54755 54756 54757 54760 54762 54764 54774 54784 54787 54788 54809 54810 54814 54823 54832 54842 54843 54845 54846 54847 54852 54859 54860 54861 54867 54868 54869 54871 54872 54874 54875 54878 54927 54941 54943 54946 54947 54948 54949 54950 54951 54952 54953 54954 54955 54959 54961 54964 54965 54966 54970 54972 54978 54982 54988 55023 55030 55032 55033 55034 55035 55061 55062 55079 55089 55091 55103 55104 55108 55110 55164 55191 55200 55252 55271 55277 55288 55290 55304 55315 55320 55325 55362 55363 55384 55403 55433 55498 55505 55509 55513 55517 55519 55530 55532 55538 55541 55546 55570 55571 55579 55580 55585 55588 55591 55601 55603 55608 55611 55631 55633 55635 55637 55648 55662 55672 55673 55674 55675 55676 55677 55726 55734 55746 55760 55763 55782 55795 55813 55817 55831 55842 55855 55857 55925 55951 55952 55955 55958 55959 55966 55990 55998 56014 56016 56023 56032 56034 56035 56041 56052 56053 56080 56083 56087 56088 56097 56104 56111 56117 56122 56133 56135 56136 56137 56164 56173 56180 56182 56184 56185 56190 56192 56193 56195 56196 56197 56207 56212 56215 56227 56239 56248 56249 56250 56255 56257 56258 56261 56262 56268 56279 56291 56303 56309 56312 56334 56361 56362 56366 56369 56371 56372 56373 56374 56388 56427 56430 56467 56468 56469 56470 56499 56513 56516 56518 56530 56537 56539 56541 56575 56579 56617 56619 56645 56649 56661 56662 56663 56664 56669 56677 56695 56696 56698 56708 56719 56762 56765 56777 56778 56800 56807 56819 56822 56823 56859 56860 56863 56864 56869 56872 56874 56878 56882 56883 56885 56886 56888 56889 56890 56893 56908 56909 56919 56921 56922 56923 56924 56926 56927 56928 56929 56930 56931 56932 56933 56934 56936 56940 56942 56943 56944 56947 56948 56953 56955 56956 56957 56959 56960 56961 56963 56964 56967 56971 56972 56978 56980 56987 56988 56997 57002 57006 57027 57037 57041 57042 57046 57059 57072 57098 57106 57131 57144 57146 57153 57156 57183 57186 57217 57223 57224 57249 57252 57256 57260 57266 57270 57274 57278 57310 57312 57319 57325 57327 57332 57335 57336 57338 57342 57347 57353 57356 57357 57358 57389 57390 57391 57409 57414 57421 57423 57429 57435 57439 57440 57444 57449 57455 57458 57459 57460 57461 57463 57465 57488 57489 57492 57501 57552 57555 57568 57575 57601 57622 57624 57628 57631 57665 57682 57707 57708 57709 57725 57738 57823 57864 57866 57902 57961 57985 57986 58013 58029 58067 58068 58069 58074 58076 58087 58088 58089 58095 58099 58107 58126 58130 58131 58132 58143 58151 58162 58168 58232 58247 58248 58253 58265 58266 58299 58304 58360 58361 58362 58363 58399 58400 58401 58402 58403 58409 58452 58454 58468 58505 58522 58537 58540 58543 58558 58563 58564 58594 58595 58596 58605 58610 58619 58627 58656 58663 58687 58691 58697 58698 58699 58701 58750 58755 58770 58773 58778 58784 58815 58822 58836 58844 58845 58855 58856 58871 58892 58901 58905 58908 58910 58912 58913 58914 58920 58926 58931 58936 58939 58950 58963 58967 58980 58984 58985 58986 58988 58989 58990 58991 58992 59012 59013 59014 59017 59018 59036 59037 59038 59039 59040 59044 59090 59100 59102 59112 59114 59121 59127 59169 59171 59173 59181 59182 59197 59203 59209 59216 59218 59229 59231 59237 59239 59240 59241 59243 59246 59249 59252 59255 59256 59258 59259 59261 59266 59269 59271 59272 59273 59277 59279 59283 59285 59288 59289 59290 59296 59298 59304 59306 59333 59338 59340 59346 59350 59352 59356 59362 59377 59383 59386 59387 59391 59392 59406 59407 59409 59418 59428 59433 59445 59452 59462 59473 59484 59485 59491 59494 59502 59508 59509 59535 59540 59545 59547 59548 59563 59570 59575 59603 59640 59655 59659 59663 59667 59669 59672 59694 59697 59701 59735 59760 59935 59936 59938 59939 59941 59943 59944 59945 59946 59949 59953 59955 59956 59957 59960 59961 59968 59969 59971 59973 59982 59984 60001 60003 60008 60009 60014 60024 60027 60028 60032 60034 60039 60072 60076 60077 60079 60081 60091 60093 60094 60095 60097 60102 60105 60106 60140 60142 60219 60223 60224 60225 60226 60248 60249 60252 60258 60261 60288 60290 60320 60321 60323 60324 60327 60329 60332 60335 60337 60341 60361 60367 60369 60371 60373 60374 60375 60377 60380 60383 60385 60387 60407 60423 60426 60442 60472 60526 60605 60608 60609 60611 60615 60617 60620 60623 60626 60637 60640 60641 60648 60668 60672 60675 60677 60702 60764 60780 60787 60795 60799 60823 60824 60828 60870 60911 60916 60919 60920 60921 60927 60958 60959 60965 60968 60969 60971 60972 60975 60976 60978 60979 60980 60987 60989 60993 60996 61002 61021 61031 61041 61046 61048 61051 61057 61060 61065 61068 61077 61100 61122 61126 61127 61132 61145 61166 61167 61180 61184 61187 61206 61219 61237 61241 61308 61309 61335 61337 61352 61355 61360 61361 61364 61365 61367 61369 61385 61394 61405 61407 61410 61415 61416 61417 61419 61421 61431 61443 61454 61456 61458 61459 61461 61464 61465 61466 61467 61469 61470 61472 61473 61483 61484 61488 61490 61493 61495 61497 61501 61505 61508 61510 61514 61515 61516 61523 61525 61529 61532 61534 61538 61540 61541 61551 61556 61557 61560 61565 61571 61572 61573 61576 61583 61584 61594 61596 61597 61601 61603 61604 61605 61606 61609 61617 61620 61621 61637 61640 61642 61649 61650 61655 61656 61659 61660 61661 61662 61666 61671 61673 61676 61681 61686 61692 61696 61700 61701 61708 61709 61710 61713 61714 61725 61729 61735 61736 61738 61739 61740 61746 61747 61748 61749 61759 61760 61772 61778 61799 61800 61804 61810 61817 61830 61857 61859 61875 61877 61878 61879 61880 61882 61883 61885 61904 61906 61917 61928 61949 61950 61951 61980 61985 61991 61995 62001 62007 62030 62037 62041 62044 62056 62078 62080 62085 62094 62108 62113 62119 62120 62131 62143 62146 62151 62152 62154 62155 62156 62157 62178 62186 62188 62199 62202 62215 62217 62218 62219 62220 62223 62233 62237 62247 62248 62251 62255 62260 62273 62276 62278 62281 62312 62313 62321 62328 62332 62337 62338 62349 62363 62364 62366 62367 62371 62373 62378 62389 62390 62391 62396 62398 62408 62410 62416 62418 62423 62424 62429 62433 62440 62443 62460 62475 62478 62480 62482 62484 62486 62488 62503 62505 62507 62509 62517 62522 62524 62525 62526 62529 62534 62539 62549 62573 62577 62586 62592 62616 62672 62673 62675 62679 62688 62701 62707 62708 62709 62710 62711 62713 62724 62726 62727 62728 62739 62743 62751 62754 62755 62756 62757 62758 62762 62773 62776 62777 62780 62790 62800 62802 62804 62805 62806 62807 62814 62815 62818 62820 62823 62825 62831 62834 62837 62838 62853 62854 62857 62858 62862 62863 62864 62865 62866 62867 62868 62872 62873 62880 62890 62895 62915 62916 62927 62929 62931 62934 62936 62937 62939 62945 62957 62958 62959 62961 62994 63017 63043 63046 63048 63072 63073 63078 63085 63093 63099 63100 63110 63148 63149 63164 63174 63184 63200 63219 63230 63235 63245 63256 63284 63290 63344 63345 63346 63348 63350 63352 63355 63356 63364 63389 63390 63396 63413 63416 63417 63423 63424 63425 63430 63442 63451 63484 63485 63498 63508 63518 63529 63533 63534 63535 63540 63542 63544 63545 63556 63559 63592 63593 63610 63612 63633 63640 63647 63651 63684 63685 63686 63690 63695 63699 63700 63701 63703 63709 63710 63711 63712 63713 63717 63732 63736 63737 63740 63762 63791 63833 63848 63861 63873 63887 63891 63897 63900 63904 63907 63946 63948 63949 63950 63961 63967 63985 63994 64025 64026 64031 64033 64062 64068 64073 64090 64095 64099 64116 64133 64156 64159 64164 64180 64190 64193 64194 64197 64207 64208 64219 64230 64239 64240 64241 64251 64257 64276 64282 64284 64290 64291 64292 64293 64294 64295 64307 64317 64319 64332 64350 64351 64359 64367 64371 64419 64435 64448 64449 64450 64451 64528 64529 64530 64533 64534 64540 64541 64545 64547 64548 64549 64551 64552 64553 64554 64555 64556 64557 64559 64566 64573 64574 64575 64601 64609 64612 64616 64628 64629 64633 64634 64635 64644 64651 64652 64663 64674 64675 64703 64731 64752 64753 64755 64759 64781 64782 64785 64787 64788 64790 64792 64793 64809 64814 64815 64817 64819 64827 64830 64833 64835 64837 64839 64844 64846 64847 64854 64858 64864 64865 64867 64871 64876 64881 64884 64906 64909 64916 64955 64958 64969 64972 64973 64976 64985 64986 64988 64995 64996 65000 65011 65017 65025 65029 65031 65039 65042 65047 65049 65050 65054 65055 65057 65059 65060 65063 65069 65082 65100 65105 65110 65114 65161 65170 65174 65184 65189 65191 65194 65197 65246 65253 65261 65268 65337 65342 65344 65349 65355 65358 65362 65365 65366 65367 65372 65374 65379 65380 65388 65393 65397 65398 65400 65401 65406 65410 65412 65451 65475 65478 65484 65485 65488 65490 65491 65494 65531 65532 65542 65547 65548 65558 65559 65560 65561 65563 65564 65570 65577 65580 65584 65587 65594 65595 65602 65608 65609 65611 65623 65624 65635 65637 65647 65660 65661 65664 65665 65667 65670 65678 65684 65685 65687 65691 65692 65693 65702 65734 65743 65749 65752 65766 65810 65827 65850 65853 65866 65892 65898 65902 65904 65906 65907 65911 65917 65929 65930 65931 65947 65956 65991 66004 66016 66025 66030 66083 66091 66102 66104 66112 66118 66120 66123 66124 66125 66128 66131 66132 66136 66146 66147 66239 66240 66310 66319 66329 66330 66331 66340 66342 66357 66362 66377 66384 66394 66396 66397 66398 66458 66459 66460 66461 66484 66508 66510 66511 66512 66514 66521 66522 66560 66563 66565 66568 66569 66603 66666 66667 66678 66697 66714 66744 66748 66758 66808 66812 66819 66827 66830 66862 66878 66881 66882 66889 66908 66914 66919 66924 66925 66931 66943 66951 66960 66970 66975 66979 67001 67002 67021 67030 67032 67033 67034 67041 67043 67045 67052 67053 67054 67056 67057 67058 67061 67062 67064 67065 67072 67084 67088 67096 67106 67241 67246 67248 67257 67260 67385 67387 67503 67526 67624 67648 67665 67670 67677 67683 67684 67685 67687 67694 67710 67712 67724 67739 67748 67756 67757 67760 67766 67782 67790 67792 67794 67795 67818 67835 67848 67885 67888 67889 67895 67899 67923 67946 67947 67963 67966 67980 67981 67984 67986 68000 68019 68056 68129 68156 68256 68319 68337 68339 68340 68341 68343 68346 68352 68354 68355 68356 68357 68383 68403 68411 68420 68452 68461 68477 68488 68498 68530 68539 68551 68563 68575 68580 68583 68585 68589 68590 68591 68593 68594 68600 68601 68602 68603 68604 68605 68607 68613 68617 68623 68624 68627 68635 68640 68641 68642 68643 68650 68653 68655 68670 68693 68704 68707 68714 68717 68718 68721 68758 68799 68800 68803 68804 68811 68812 68813 68816 68838 68841 68842 68871 68878 68895 68906 68925 68947 68949 68979 69029 69035 69043 69045 69055 69057 69065 69109 69111 69116 69117 69122 69131 69139 69141 69142 69145 69146 69147 69150 69151 69152 69153 69155 69156 69157 69160 69161 69181 69197 69239 69240 69265 69275 69282 69292 69293 69319 69343 69355 69356 69375 69406 69416 69426 69428 69432 69436 69437 69460 69467 69470 69477 69494 69500 69504 69507 69508 69515 69522 69529 69534 69535 69559 69560 69573 69580 69614 69636 69650 69651 69652 69655 69658 69673 69675 69676 69691 69695 69696 69704 69712 69713 69718 69719 69720 69723 69724 69725 69769 69786 69801 69815 69817 69818 69830 69834 69838 69841 69856 69879 69901 69906 69915 69919 69922 69924 69946 69969 69977 69978 70007 70009 70015 70016 70018 70031 70036 70042 70043 70044 70055 70083 70093 70094 70099 70102 70121 70135 70197 70198 70199 70201 70204 70205 70229 70230 70235 70286 70296 70314 70317 70319 70329 70334 70335 70338 70341 70345 70348 70349 70351 70355 70357 70358 70364 70365 70366 70368 70374 70410 70434 70435 70464 70465 70480 70499 70508 70510 70513 70515 70523 70548 70571 70583 70627 70628 70629 70630 70631 70635 70637 70638 70639 70640 70645 70651 70652 70655 70656 70660 70661 70662 70724 70753 70774 70775 70776 70778 70781 70784 70788 70792 70802 70807 70810 70815 70816 70817 70818 70819 70822 70823 70826 70827 70828 70829 70843 70850 70858 70859 70860 70861 70869 70872 70875 70876 70879 70880 70881 70882 70886 70887 70893 70901 70902 70903 70905 70906 70907 70910 70915 70917 70918 70920 70923 70924 70926 70928 70929 70930 70937 70942 70943 70946 70948 70964 70980 70983 70984 70985 70987 70993 70995 71006 71009 71012 71014 71015 71049 71061 71131 71157 71163 71165 71185 71186 71188 71189 71190 71196 71197 71200 71207 71214 71216 71217 71218 71220 71225 71228 71234 71241 71243 71246 71247 71253 71277 71280 71302 71313 71316 71321 71332 71345 71346 71349 71433 71479 71480 71483 71505 71506 71511 71514 71516 71518 71525 71533 71561 71568 71583 71587 71590 71598 71602 71610 71611 71612 71613 71614 71625 71642 71645 71648 71650 71653 71654 71665 71676 71728 71732 71733 71740 71746 71766 71769 71787 71789 71795 71820 71822 71826 71827 71843 71851 71856 71868 71870 71873 71874 71875 71880 71892 71894 71899 71904 71912 71920 71923 71924 71925 71927 71928 71929 71930 71931 71932 71933 71934 71935 71936 71937 71940 71942 71945 71951 71958 71960 71993 71996 71997 71998 71999 72010 72011 72012 72014 72027 72028 72031 72033 72034 72037 72050 72052 72054 72055 72059 72062 72067 72068 72074 72076 72084 72086 72087 72090 72092 72097 72100 72101 72102 72104 72108 72112 72114 72115 72118 72120 72121 72122 72124 72131 72132 72134 72136 72142 72143 72144 72150 72164 72189 72248 72249 72250 72255 72257 72259 72269 72276 72277 72284 72290 72291 72295 72296 72301 72304 72308 72309 72313 72314 72317 72319 72320 72323 72327 72328 72330 72334 72337 72341 72347 72348 72351 72354 72359 72366 72368 72370 72371 72373 72374 72376 72378 72382 72384 72388 72389 72390 72392 72393 72397 72399 72402 72403 72407 72408 72411 72412 72415 72416 72424 72435 72436 72437 72441 72442 72443 72449 72450 72451 72453 72454 72455 72460 72461 72467 72470 72471 72473 72475 72476 72479 72480 72482 72491 72500 72502 72523 72530 72531 72533 72537 72546 72549 72553 72554 72555 72568 72596 72598 72599 72600 72613 72614 72617 72619 72620 72628 72629 72630 72632 72633 72638 72646 72653 72655 72690 72700 72703 72718 72725 72728 72749 72751 72759 72771 72774 72792 72794 72798 72799 72801 72807 72833 72860 72880 72882 72883 72895 72899 72939 72945 72966 72972 72975 72978 72993 72994 73000 73010 73019 73020 73023 73038 73044 73050 73056 73057 73060 73078 73097 73099 73107 73110 73111 73113 73118 73119 73124 73155 73163 73168 73185 73186 73188 73189 73209 73223 73225 73228 73229 73234 73235 73237 73238 73239 73240 73241 73242 73243 73244 73246 73247 73249 73250 73251 73254 73256 73258 73262 73263 73265 73273 73275 73278 73279 73281 73283 73285 73287 73291 73293 73294 73295 73296 73297 73299 73300 73302 73304 73305 73306 73307 73310 73311 73312 73313 73314 73315 73316 73317 73318 73319 73320 73321 73322 73323 73324 73328 73329 73333 73335 73336 73337 73338 73339 73341 73343 73348 73355 73366 73381 73421 73422 73423 73430 73438 73442 73543 73621 73629 73652 73653 73681 73687 73696 73711 73756 73759 73787 73793 73796 73807 73808 73830 73837 73840 73844 73845 73852 73858 73867 73869 73870 73873 73875 73878 73882 73886 73893 73901 73902 73907 73909 73912 73921 73925 73977 73994 73995 74011 74042 74043 74045 74047 74053 74055 74059 74062 74087 74088 74111 74113 74122 74123 74124 74129 74147 74154 74162 74171 74186 74196 74200 74201 74202 74204 74212 74236 74244 74249 74254 74255 74256 74257 74267 74283 74289 74290 74292 74293 74295 74297 74302 74312 74313 74327 74331 74350 74358 74364 74366 74367 74369 74370 74371 74372 74374 74375 74377 74378 74380 74381 74383 74385 74389 74392 74398 74432 74452 74453 74461 74468 74472 74477 74479 74498 74499 74504 74511 74512 74529 74562 74563 74574 74584 74593 74646 74669 74673 74679 74681 74683 74684 74712 74731 74733 74775 74777 74782 74783 74785 74786 74787 74810 74811 74821 74824 74825 74830 74850 74854 74855 74859 74886 74895 74896 74898 74904 74920 74923 74926 74941 74953 74955 74963 74975 74977 74980 74986 74989 74993 75005 75021 75028 75029 75031 75032 75033 75041 75061 75084 75086 75091 75116 75124 75128 75129 75131 75148 75149 75151 75164 75166 75168 75176 75180 75188 75189 75191 75207 75212 75219 75233 75234 75238 75239 75257 75260 75269 75278 75284 75289 75290 75298 75302 75307 75310 75311 75312 75314 75323 75326 75337 75339 75350 75352 75370 75372 75373 75379 75389 75399 75400 75415 75416 75423 75426 75443 75451 75480 75482 75485 75486 75497 75528 75548 75551 75578 75586 75605 75614 75625 75652 75658 75689 75691 75693 75695 75711 75724 75727 75728 75740 75742 75747 75755 75759 75766 75786 75809 75813 75824 75836 75845 75856 75884 76062 76067 76072 76088 76090 76099 76125 76175 76182 76194 76200 76203 76205 76206 76207 76283 76304 76317 76340 76350 76380 76387 76389 76390 76399 76401 76413 76445 76464 76469 76476 76483 76484 76520 76524 76525 76546 76549 76551 76552 76554 76555 76560 76566 76570 76573 76587 76591 76600 76603 76608 76614 76616 76619 76620 76628 76631 76634 76635 76638 76640 76641 76642 76644 76723 76726 76729 76779 76792 76809 76818 76837 76845 76893 76897 76901 76903 76918 76919 76920 76921 76922 76923 76925 76926 76929 76930 76934 76943 76951 76976 76998 77001 77009 77051 77052 77068 77078 77079 77133 77137 77156 77161 77170 77173 77174 77175 77189 77220 77222 77225 77232 77243 77244 77246 77271 77275 77321 77328 77330 77341 77342 77344 77346 77349 77350 77351 77352 77353 77354 77356 77361 77362 77365 77367 77368 77369 77370 77371 77397 77400 77401 77404 77405 77418 77419 77421 77432 77434 77437 77438 77440 77443 77444 77449 77450 77451 77471 77483 77485 77490 77502 77503 77505 77510 77529 77546 77550 77555 77556 77561 77566 77568 77574 77580 77582 77587 77589 77591 77592 77597 77598 77599 77632 77636 77658 77662 77667 77668 77670 77675 77678 77683 77685 77686 77694 77696 77700 77711 77712 77718 77721 77730 77731 77732 77737 77751 77752 77758 77760 77791 77808 77828 77842 77843 77844 77845 77863 77869 77884 77886 77894 77896 77897 77906 77907 77910 77918 77922 77923 77931 77932 77942 77943 77944 77945 77967 77968 77993 77998 78008 78011 78049 78056 78057 78058 78063 78066 78067 78074 78077 78080 78107 78110 78125 78147 78174 78193 78207 78208 78210 78218 78238 78258 78274 78289 78318 78327 78337 78338 78340 78351 78367 78377 78390 78394 78395 78407 78409 78411 78418 78446 78466 78469 78473 78479 78598 78603 78618 78648 78655 78671 78685 78691 78737 78741 78750 78757 78760 78799 78802 78803 78843 78859 78892 78932 78939 78956 78989 79011 79050 79053 79056 79057 79058 79060 79061 79062 79063 79065 79066 79067 79068 79070 79071 79073 79091 79115 79119 79183 79185 79189 79259 79280 79281 79282 79283 79284 79286 79323 79349 79401 79405 79406 79407 79408 79409 79413 79414 79417 79419 79420 79423 79424 79425 79427 79428 79429 79431 79433 79441 79459 79460 79471 79472 79473 79490 79522 79525 79559 79576 79633 79651 79656 79657 79664 79665 79666 79691 79702 79717 79780 79782 79784 79785 79787 79805 79883 79884 79885 79886 79904 79941 79972 79973 79975 80018 80019 80020 80021 80054 80055 80058 80059 80065 80073 80074 80090 80091 80092 80093 80095 80096 80097 80113 80116 80117 80222 80223 80245 80279 80282 80285 80286 80287 80288 80289 80290 80291 80292 80293 80294 80295 80296 80298 80298 80320 80321 80327 80558 80560 80652 80655 80939 81154 81415 81434 81442 81446 81448 81460 81476 81478 81484 81487 81488 81500 81527 81562 81571 81573 81582 81583 81593 81594 81595 81598 81605 81606 81617 81620 81649 81674 81675 81687 81692 81714 81749 81756 81757 81764 81770 81790 81880 81888 81889 81907 81937 81938 81939 81942 81945 81946 81951 81954 82013 82019 82024 82030 82048 82068 82103 82125 82136 82144 82164 82166 82171 82181 82185 82213 82226 82240 82245 82259 82329 82338 82341 82380 82408 82420 82423 82438 82446 82452 82453 82459 82471 82472 82486 82512 82515 82516 82517 82529 82536 82559 82579 82580 82584 82586 82589 82613 82627 82640 82645 82651 82661 82690 82708 82712 82715 82725 82730 82731 82737 82738 82758 82786 82790 82797 82799 82802 82835 82841 82844 82849 82859 82874 82876 82911 82917 82920 82926 82958 82965 82978 82988 82989 83006 83008 83015 83017 83022 83026 83028 83029 83031 83032 83033 83040 83064 83074 83098 83130 83132 83176 83178 83183 83188 83201 83202 83207 83209 83210 83220 83258 83273 83280 83298 83300 83321 83324 83344 83347 83353 83359 83399 83441 83442 83446 83453 83471 83504 83507 83528 83534 83536 83564 83663 83680 83694 83709 83725 83726 83727 83735 83740 83756 83772 83792 83806 83838 83861 83867 83868 83889 83890 83910 83912 83931 83936 83956 83957 83969 83982 83996 83998 84002 84024 84027 84035 84044 84047 84056 84057 84063 84065 84070 84074 84084 84088 84133 84161 84168 84172 84175 84178 84179 84194 84209 84210 84220 84242 84261 84263 84264 84282 84287 84301 84304 84317 84325 84340 84341 84342 84347 84352 84361 84362 84364 84369 84378 84403 84433 84440 84474 84484 84485 84508 84525 84532 84533 84548 84569 84577 84579 84580 84604 84611 84624 84653 84660 84679 84692 84696 84697 84698 84707 84710 84726 84785 84791 84795 84821 84827 84828 84829 84830 84832 84833 84836 84843 84873 84879 84892 84902 84913 84929 84932 84960 85030 85031 85065 85067 85113 85114 85139 85144 85151 85175 85177 85182 85193 85201 85202 85218 85219 85229 85238 85239 85240 85246 85247 85249 85252 85255 85272 85286 85289 85295 85296 85297 85299 85301 85302 85303 85358 85379 85386 85401 85418 85424 85431 85536 85544 85545 85724 85741 85744 85745 85748 85798 85812 85828 85845 85889 85895 85935 85940 85942 85943 85964 85977 86004 86010 86028 86029 86030 86062 86091 86135 86156 86174 86180 86191 86206 86215 86218 86223 86253 86257 86260 86277 86313 86314 86315 86332 86333 86344 86350 86353 86355 86358 86359 86376 86379 86401 86411 86412 86477 86480 86483 86495 86496 86500 86509 86518 86519 86550 86603 86641 86661 86684 86700 86706 86708 86712 86784 86804 86816 86870 86878 86885 86903 86906 86918 86947 86952 86978 86985 86987 87045 87048 87049 87050 87051 87052 87059 87067 87068 87071 87080 87081 87083 87090 87091 87140 87140 87142 87143 87160 87175 89052 89793 89795 89798 90352 90388 90425 90515 91125 91366 92271 92493 93401 93482 93874 94167 94209 95798 96005 96069 97254 97550 97579 98148 98220 99247 100672 100748 100762 100797 100804 101052 101070 101243 101367 101379 101389 101394 101401 101418 101555 101583 101584 101588 101589 101663 101671 101725 101827 102139 102163 102190 102205 102215 102216 102240 102251 102296 102304 102311 102313 102419 102447 102450 102457 102501 102561 102586 102622 102654 102673 102697 102708 102781 102793 102868 102873 102875 102938 102979 103013 103020 103028 103040 103073 103113 103173 103200 103250 103393 103403 103404 103405 103406 103408 103409 103412 103478 103489 103525 103565 103575 103611 103629 103635 103659 103835 103836 103838 103839 103854 104073 104163 104186 104203 104208 104228 104230 104314 104340 104398 104412 104454 104462 104569 104693 104746 104894 104940 104998 105254 105363 105421 105485 105601 105652 105729 105770 105811 105831 105855 105878 105879 105891 105963 105979 105980 106025 106041 106060 106077 106084 106120 106124 106132 106144 106158 106160 106269 106453 106564 106613 106660 106701 106740 106852 106893 106950 106964 107053 107094 107103 107115 107247 107264 107298 107357 107463 107656 107660 107717 107719 107720 107878 107935 107949 108048 108050 108066 108082 108105 108170 108187 108192 108209 108280 108282 108303 108324 108347 108382 108385 108401 108413 108471 108483 108547 108548 108554 108555 108557 108685 108747 108748 108752 108754 108758 108768 108773 108779 108783 108788 108789 108791 108793 108796 108799 108800 108801 108818 108836 108855 108896 108914 108969 109011 109060 109188 109271 109272 109273 109276 109278 109317 109329 109554 109710 109806 109819 109973 110047 110116 110119 110279 110369 110468 110495 110533 110584 110610 110611 110613 110614 110658 110747 110976 111001 111002 111043 111046 111080 111192 111208 111215 111297 111409 111429 111592 111608 111617 111693 111696 111702 111710 111782 111798 111802 111836 111840 111863 111869 111890 112088 112125 112273 112280 112286 112297 112492 112708 112753 112774 112817 112821 112908 112912 112983 113037 113054 113064 113089 113097 113101 113102 113132 113147 113186 113187 113214 113216 113218 113219 113220 113222 113238 113272 113495 113519 113576 113902 114339 114422 114612 114616 114617 114645 114667 114683 114712 114832 114835 114836 114838 114839 114967 115035 115175 115220 115305 115459 115476 115478 115517 115543 115582 115585 115621 115654 115666 115725 115865 115886 115922 116029 116036 116078 116125 116183 116227 116274 116275 116280 116305 116306 116397 116408 116409 116540 116555 116574 116576 116586 116596 116611 116717 116873 117035 117055 117059 117080 117138 117151 117163 117199 117227 117286 117287 117298 117333 117350 117542 117601 117605 117617 117718 117719 117720 117721 117731 117738 117797 117807 117839 118022 118036 118049 118084 118111 118120 118132 118228 118229 118230 118334 118499 118522 118563 118662 118771 118846 118853 118878 118889 118890 118891 118931 118932 118959 118964 118975 119005 119020 119021 119078 119082 119213 119268 119307 119380 119421 119422 119432 119437 119452 119473 119484 119494 119505 119519 119540 119542 119679 119685 119732 119807 119821 119822 119823 119840 119857 119880 119903 119923 119933 119959 120053 120067 120099 120107 120250 120252 120263 120276 120285 120324 120341 120348 120370 120372 120457 120465 120488 120489 120541 120543 120659 120746 121105 121203 121238 121258 121282 121296 121315 121348 121359 121385 121386 121389 121402 121412 121419 121449 121453 121455 121463 121471 121472 121477 121563 121657 121678 121746 121751 121867 121868 121869 121894 121902 121925 121926 121957 122005 122007 122013 122017 122020 122042 122044 122046 122111 122116 122159 122160 122163 122164 122165 122180 122269 122323 122577 122590 122592 122608 122620 122621 122667 122668 122698 122788 122927 123089 123090 123156 123167 123190 123227 123233 123241 123242 123245 123256 123257 123258 123259 123263 123264 123356 123408 123497 123514 123515 123538 123557 123578 123658 123677 123682 123707 123711 123744 123748 123750 123757 123759 123771 123780 123789 123921 123968 123987 124025 124026 124137 124320 124638 124639 124647 124761 124823 124875 124878 124981 124990 125069 125078 125090 125142 125171 125177 125178 125207 125222 125259 125260 125261 125271 125272 125289 125401 125440 125494 125575 125577 125581 125601 125605 125606 125607 125609 125610 125618 125619 125636 125640 125642 125648 125690 125939 125975 126006 126032 126033 126037 126086 126120 126147 126273 126371 126485 126489 126496 126502 126593 126720 126722 126732 126734 126758 126828 126876 126900 126964 126966 126970 126991 127014 127057 127082 127092 127149 127164 127198 127206 127259 127306 127461 127474 127509 127512 127555 127556 127611 127615 127751 127762 127784 127863 128101 128167 128263 128443 128444 128445 128459 128462 128479 128489 128506 128545 128546 128577 128584 128635 128811 128818 128843 128897 128902 128904 128936 128951 128966 129024 129026 129043 129179 129320 129324 129341 129367 129369 129439 129470 129557 129789 130296 130660 130692 130693 130707 130711 130716 130732 130867 131126 131373 131472 131513 131582 131599 131721 131722 131737 131742 131762 131782 131894 131956 131960 132096 132136 132173 132216 132260 132280 132298 132299 132300 132301 132308 132309 132468 132473 132487 132513 132537 132555 132558 132572 132580 132638 132759 132777 132800 132918 132919 133195 133208 133230 133234 133257 133487 133545 133553 133821 133873 133937 133938 134088 134093 134110 134307 134321 134352 134407 134418 134440 134500 134596 134829 134835 134940 134982 134983 134985 134992 135008 135194 135201 135208 135510 135575 135615 135768 135834 135891 135892 135893 135894 135909 135981 135989 136032 136033 136037 136069 136072 136073 136104 136105 136120 136134 136147 136166 136174 136227 136241 136335 136466 136570 136671 136709 136715 136745 136752 136756 136835 136846 136864 136870 136876 136877 136976 136987 136993 136996 137049 137209 137234 137311 137431 137459 137475 137711 137715 137723 137821 137833 137863 137864 137872 137899 137943 137956 137975 138008 138186 138227 138318 138324 138334 138345 138353 138369 138370 138434 138435 138457 138480 138484 138486 138499 138512 138514 138515 138519 138524 138526 138551 138552 138557 138562 138579 138583 138673 138727 138741 138745 138747 138765 138776 138793 138799 138801 138809 138829 138837 138838 138843 138864 138869 138891 138903 138947 138965 138968 138975 138994 139000 139026 139030 139040 139091 139121 139140 139178 139246 139360 139409 139557 139578 139607 139621 139623 139704 139705 139709 139738 139880 139899 139903 139905 139916 139917 139935 139978 139989 139990 140057 140079 140080 140096 140097 140103 140116 140145 140238 140247 140260 140273 140274 140278 140279 140280 140281 140283 140314 140328 140343 140424 140430 140433 140461 140498 140513 140519 140523 140528 140529 140545 140553 140558 140570 140599 140649 140651 140662 140694 140850 140853 140908 140933 140968 141067 141110 141209 141333 141380 141415 141444 141449 141450 141456 141547 141566 141582 141714 141717 141820 141939 141947 141950 142009 142025 142033 142036 142046 142099 142138 142139 142227 142251 142292 142293 142346 142381 142403 142582 142606 142658 142661 142694 142751 142956 142957 142963 142996 143027 143059 143060 143083 143087 143101 143146 143243 143247 143251 143252 143327 143421 143466 143485 143587 143588 143593 143595 143630 143645 143671 143751 143753 143773 143954 143961 144112 144195 144227 144255 144274 144357 144382 144382 144406 144407 144447 144466 144490 144507 144555 145052 145106 145123 145185 145314 145464 145477 145478 145511 145512 145620 145682 145759 145771 145779 145885 145946 145947 145988 146006 146007 146034 146065 146113 146115 146116 146192 146201 146438 146440 146462 146495 146524 146527 146544 146550 146619 146621 146729 146815 147020 147022 147029 147066 147080 147081 147083 147084 147087 147117 147139 147165 147200 147219 147226 147233 147472 147543 147545 147583 147734 147775 147776 147821 147913 147935 147959 147983 147992 148151 148160 148186 148199 148203 148290 148297 148300 148333 148335 148339 148340 148365 148376 148517 148526 148533 148592 148598 148622 148743 148746 148753 148873 149001 149035 149036 149038 149061 149066 149319 149473 162330 162381 162449 162471 162506 162508 162508 162572 162594 162595 162596 162660 162667 162681 162710 162724 162728 162729 162733 162745 162768 162794 162795 162796 162797 162798 162799 162804 162825 162826 162827 162828 162829 162832 162833 162905 163027 163183 163200 163206 163224 163247 163258 163260 163270 163275 163284 163314 163318 163338 163339 163342 163343 163361 163373 163401 163410 163505 163527 163578 163582 163614 163618 163630 163644 163693 163742 163743 163744 163745 163781 163786 163797 163814 163826 163875 163877 163916 163923 163940 163974 163985 164005 164031 164055 164059 164075 164087 164096 164100 164116 164132 164206 164209 164217 164223 164226 164233 164238 164294 164296 164311 164313 164339 164369 164371 164383 164398 164399 164414 164452 164469 164503 164510 164516 164525 164560 164594 164600 164613 164633 164660 164678 164696 164707 164754 164786 164801 164906 164941 164962 164969 165014 165021 165049 165073 165100 165101 165103 165117 165138 165167 165174 165185 165198 165209 165230 165249 165255 165306 165318 165346 165366 165486 165519 165585 165637 165675 165820 165862 165897 165955 165970 166001 166027 166033 166059 166292 166351 166415 166417 166418 166429 166441 166447 166450 166460 166470 166559 166587 166672 166730 166758 166759 166814 166825 166886 166894 166963 166968 167116 167117 167118 167138 167154 167183 167206 167220 167225 167227 167294 167318 167363 167367 167462 167464 167627 167632 167636 167637 167638 167657 167669 167672 167678 167689 167771 167775 167786 167797 167802 167930 167954 167957 168014 168052 168090 168096 168100 168155 168158 168162 168234 168273 168282 168307 168309 168310 168318 168325 168390 168405 168424 168434 168458 168553 168561 168566 168770 168778 168807 168821 168913 168944 168945 169006 169007 169050 169097 169100 169101 169103 169129 169144 169202 169268 169269 169270 169272 169309 169360 169362 169373 169375 169379 169424 169430 169524 169533 169539 169582 169594 169611 169628 169658 169661 169663 169665 169718 169748 169852 169853 169904 169910 169911 169964 169973 169975 170050 170089 170131 170144 170165 170168 170210 170214 170267 170270 170366 170473 170518 170524 170552 170562 170566 170638 170654 170657 170672 170689 170709 170755 170789 170835 170842 170857 170884 170903 170936 170953 171040 171099 171154 171161 171196 171226 171234 171244 171272 171381 171396 171406 171484 171502 171552 171605 171637 171718 171910 171930 171951 171954 171955 171961 171965 171977 171998 172133 172203 172219 172237 172284 172406 172511 172531 172537 172542 172612 172633 172642 172655 172659 172689 172743 172806 172835 172870 172956 172973 173005 173031 173089 173178 173278 173338 173372 173383 173386 173434 173532 173545 173584 173611 173613 173734 173764 173772 173801 173809 173879 173897 173924 173930 173931 173932 173943 174007 174015 174045 174048 174144 174234 174307 174377 174381 174383 174427 174430 174433 174543 174602 174641 174669 174680 174718 174735 174804 174807 174818 174989 174990 175094 175160 178472 178474 178495 178635 178649 178657 178663 178741 178753 178774 178793 178799 178827 178868 178887 205638 205666 205753 205896 205899 205922 205923 205926 205928 205992 205996 205997 206010 206011 206020 206021 206022 206025 206052 206128 206129 206256 206339 206354 206355 206364 206414 206453 206454 206456 206457 206472 206473 206474 206475 206476 206482 206491 206492 206495 206501 206517 206518 206522 206527 206528 206529 206552 206553 206587 206588 206805 206838 206987 206997 207071 207072 207079 207104 207105 207107 207150 207195 207198 207199 207206 207207 207230 207231 207232 207261 207262 207269 207270 207283 207304 207305 207308 207322 207324 207329 207348 207361 207362 207405 207427 207509 207515 207564 207606 207643 207668 207669 207694 207699 207722 207731 207754 207759 207772 207783 207787 207803 207807 207831 207857 207858 207860 207890 207995 208103 208202 208233 208289 208326 208355 208356 208375 208449 208462 208500 208506 208529 208531 208571 208575 208616 208628 208681 208721 208757 208804 208813 208848 208849 208872 208873 208884 208930 208940 208989 209024 209089 209130 209145 209190 209245 209278 209328 209338 209525 209548 209554 209567 209598 209606 209642 209665 209669 209671 209696 209706 209722 209746 209748 209851 209886 209887 209921 210011 210029 210057 210108 210149 210158 210217 210233 210240 210263 210353 210413 210432 210491 210492 210502 210507 210525 210527 210587 210612 210630 210791 210793 210946 210947 210994 211011 211023 211100 211157 211159 211169 211262 211279 211296 211445 211534 211546 211547 211610 211674 211682 211692 211705 211797 211816 211817 211977 212109 212166 212197 212211 212259 212271 212320 212339 212492 212511 212512 212513 212517 212526 212573 212576 212602 212670 212691 212694 212733 212736 212766 212908 213011 213045 213052 213144 213145 213150 213235 213238 213240 213248 213275 213288 213321 213361 213387 213389 213417 213420 213430 213432 213506 213512 213553 213574 213591 213646 213651 213666 213682 213700 213704 213709 213721 213891 213980 214013 214023 214061 214098 214156 214200 214222 214230 214241 214283 214356 214455 214461 214475 214493 214539 214541 214550 214555 214562 214569 214570 214599 214604 214610 214624 214635 214697 214716 214721 214743 214766 214776 214788 214849 214866 214897 215027 215033 215060 215069 215147 215150 215152 215223 215247 215249 215343 215357 215398 215407 215425 215474 215488 215506 215508 215510 215575 215598 215609 215619 215739 215758 215810 215825 215844 215848 215865 215955 215991 215993 216045 216063 216069 216114 216115 216231 216232 216265 216471 216510 216515 216568 216577 216615 216662 216680 216703 216705 216706 216712 216736 216760 216817 216840 216876 216884 216931 216949 216952 216955 216956 217020 217048 217068 217082 217083 217156 217226 217250 217310 217373 217382 217384 217396 217461 217511 217515 217525 217529 217532 217540 217576 217585 217652 217682 217704 217770 217778 217843 217848 217957 217967 217977 218032 218043 218093 218111 218144 218146 218158 218159 218187 218223 218225 218227 218229 218234 218269 218349 218352 218403 218425 218448 218451 218497 218504 218506 218530 218535 218544 218581 218582 218584 218633 218640 218688 218694 218708 218732 218773 218786 218788 218798 218926 218975 218986 218989 219060 219069 219080 219164 219233 219257 219267 219268 219300 219371 219419 219452 219472 219474 219479 219488 219510 219525 219555 219557 219579 219581 219697 219780 219782 219804 219806 219807 219864 219874 219940 219947 220055 220101 220104 220167 220168 220248 220298 220300 220304 220350 220362 220406 220413 220416 220563 220568 220780 220783 220822 220839 220883 220897 221124 221125 221127 221128 221131 221134 221137 221141 236490 236493 236494 236499 236500 236501 236506 236510 236511 236514 236515 236516 236520 236521 236522 236523 236524 236525 236529 236536 236558 236559 236560 242192 242194 242208 242210 242234 242275 242303 242391 242392 242405 242417 242434 242466 242469 242557 242565 242617 242643 242711 242738 242853 242957 242965 242982 242983 242984 242985 242987 242988 242989 242990 242991 243021 243035 243036 243037 243039 243040 243041 243043 243044 243045 243046 243459 243460 243518 243546 243551 243559 243565 243574 243587 243592 243599 243600 243601 243607 243612 243618 243620 243626 243628 243641 243646 243648 243650 243670 243691 243693 243713 243720 243723 243725 243727 243731 243766 243769 243795 243808 243823 243835 243839 243842 243860 243906 243928 243958 243963 243973 243982 243993 244033 244036 244054 244057 244061 244087 244101 244111 244119 244172 244244 244252 244257 244324 244333 244420 244435 244450 244479 244507 244508 244509 244525 244528 244573 244579 244582 244615 244635 244665 244699 244713 244714 244740 244756 244795 244849 244920 244922 244945 244987 244988 244989 245068 245093 245109 245119 245148 245199 245268 245301 245355 245361 245370 245371 245382 245389 245405 245421 245425 245467 245495 245501 245557 245587 245603 245619 245636 245648 245660 245662 245665 245680 245712 245726 245758 245781 245800 245845 245876 245886 245887 245921 245959 245961 246044 246071 246081 246106 246110 246118 246120 246144 246215 246269 246273 246305 246314 246319 246321 246354 246399 246428 246449 246454 246466 246473 246486 246490 246504 246525 246576 246597 246657 246681 246694 246703 246714 246743 246766 246768 246769 246867 246868 246871 246899 246932 246951 246957 246998 247001 247007 247077 247086 247123 247124 247183 247248 247287 247342 247389 247479 247634 247689 247728 247735 247771 247774 247905 247934 247958 247969 248007 248039 248070 248098 248129 248133 248136 248140 248169 248175 248254 248266 248270 248294 248308 248336 248351 248419 248441 248446 248450 248537 248554 248561 248575 248585 248587 248596 248604 248606 248648 248685 248722 248742 248782 248783 248805 248813 248846 248847 248859 248868 248958 249042 249049 249069 249083 249131 249187 249196 249197 249219 249229 249363 249367 249369 249404 249468 249499 249508 249511 249519 249526 249564 249586 249692 249742 249747 249759 249854 249860 249870 249880 249896 249911 249989 249992 250007 250029 250036 250060 250076 250108 250152 250183 250188 250227 250245 250267 250272 250273 250345 250347 250348 250373 250399 250400 250404 250408 250414 250416 250417 250420 250433 250437 250455 250457 250494 250501 250530 250555 250557 250564 250576 250581 250604 250706 250759 250763 250783 250805 250842 250850 250852 250854 250863 250870 250908 250935 250939 250941 250944 250960 251006 251051 251054 251058 251074 251098 251107 251113 251134 251140 251157 251158 251182 251217 251220 251224 251246 251314 251331 251337 251400 251434 251445 251447 251487 251495 251520 251564 251576 251594 251634 251688 251712 251752 251775 251815 251829 251842 251851 251860 251868 251931 251933 251982 251990 252023 252024 252114 252118 252132 252152 252155 252179 252184 252186 252194 252196 252207 252214 252263 252265 252270 252272 252274 252276 252310 252313 252334 252377 252409 252524 252527 252528 252539 252545 252572 252667 252684 252687 252697 252707 252776 252785 252794 252799 252800 252816 252828 252830 252832 252901 252912 252961 252982 253005 253023 253040 253041 253046 253050 253076 253077 253097 253141 253166 253169 253187 253201 253239 253270 253320 253326 253336 253373 253375 253377 253421 253426 253457 253460 253470 253486 253506 253563 253580 253596 253625 253669 253689 253697 253753 253759 253781 253830 253842 253843 253876 253906 253915 253930 253932 253949 253965 253972 254112 254119 254123 254148 254158 254159 254165 254191 254196 254200 254230 254231 254232 254235 254237 254251 254321 254322 254324 254326 254341 254343 254369 254370 254382 254410 254427 254445 254502 254562 254580 254589 254610 254613 254616 254644 254648 254653 254655 254686 254700 254711 254714 254720 254759 254781 254788 254792 254803 254807 254837 254885 254971 254981 255034 255140 255150 255156 255161 255194 255305 255312 255314 255320 255325 255420 255438 255499 255558 255567 255617 255618 255632 255652 255669 255672 255689 255732 255767 255808 255811 255813 255842 255865 255873 255930 255938 255998 256004 256015 256018 256022 256024 256073 256079 256083 256102 256103 256211 256214 256252 256264 256268 256335 256369 256371 256382 256421 256485 256492 256591 256606 256616 256697 256701 256722 256787 256795 256813 256829 256926 256987 257018 257074 257075 257097 257110 257137 257151 257158 257211 257217 257253 257275 257291 257292 257297 257524 257535 257541 257571 257633 257634 257652 257658 257694 257713 257760 257766 257770 257773 257797 257802 257853 257855 257862 257866 258017 258018 258050 258174 258175 258203 258286 258344 258357 258360 258432 258439 258441 258442 258470 258471 258478 258479 258541 258608 258631 258654 258665 258733 258763 258817 258823 258831 258846 258848 258855 258870 258871 258875 258883 258884 258892 258911 258920 258944 258961 258970 259004 259034 259037 259038 259075 259080 259168 259190 259225 259275 259309 259344 259367 259416 259419 259475 259481 259525 259540 259628 259637 259686 259717 260034 262964 262968 266431 278630 279074 279218 279226 279238 280031 280838 280849 281019 281031 281255 281345 281722 281736 281743 282056 282109 282266 282267 282364 282397 282400 282552 282553 282554 282566 282587 282604 282605 282625 282641 282651 282682 282916 282939 283073 283134 283159 283240 283331 283338 283356 283386 283432 283436 283470 283477 283492 283537 283577 283592 283624 283722 283757 283775 283779 283793 283827 283878 283886 283919 283920 283960 283988 283989 283990 284080 284081 284107 284151 284162 284187 284197 284198 284317 284355 284454 284547 284555 284605 284620 284642 284655 284694 284707 284725 284726 284753 284774 284868 284904 284927 284930 284965 285000 285094 285104 285204 285218 285266 285276 285368 285404 285409 285412 285416 285487 285488 285499 285508 285526 285555 285558 285599 285605 285606 285643 285652 285761 285772 285825 285830 285862 285890 285956 285966 285969 286028 286138 286158 286249 286253 286256 286257 286330 286382 286385 286406 286459 286515 286539 286576 286602 286603 286610 286618 286648 286720 286722 286749 286762 286856 286862 286863 286870 286878 286943 286958 286961 286983 286995 287024 287050 287058 287116 287125 287186 287197 287221 287225 287275 287312 287315 287317 287352 287428 287482 287519 287531 287592 287593 287638 287645 287666 287682 287683 287750 287768 287808 287809 287829 287850 287872 287920 287935 287982 287990 288011 288106 288148 288194 288250 288263 288290 288330 288331 288338 288339 288406 288422 288450 288472 288587 288589 288590 288613 288642 288672 288875 288876 288877 288880 288881 288912 288922 288968 288972 289005 289012 289061 289121 289130 289132 289142 289174 289182 289204 289321 289325 289352 289417 289429 289442 289483 289498 289499 289507 289513 289575 289579 289621 289630 289685 289793 289799 289828 289848 289863 289884 289932 289980 290022 290024 290067 290068 290137 290149 290178 290224 290255 290283 290316 290414 290418 290427 290698 290716 290730 290741 290754 290756 290758 290787 290852 290853 290864 290867 290887 290914 290923 290927 290928 290965 291053 291059 291062 291117 291118 291135 291139 291140 291147 291160 291165 291181 291188 291196 291202 291261 291299 291339 291464 291545 291573 291575 291598 291642 291665 291677 291737 291751 291784 291786 291853 291857 291890 291901 291920 291948 291988 292005 292015 292020 292035 292115 292133 292142 292144 292147 292148 292161 292186 292198 292204 292221 292369 292372 292378 292381 292386 292448 292452 292473 292510 292523 292524 292629 292674 292687 292688 292742 292777 292779 292863 292947 292988 292991 293060 293205 293226 293237 293252 293289 293304 293328 293359 293405 293416 293442 293455 293488 293494 293529 293547 293561 293564 293589 293624 293650 293652 293655 293686 293694 293697 293701 293742 293758 293760 293775 293819 293866 293868 293871 293930 293969 293970 294028 294031 294082 294088 294096 294105 294121 294154 294169 294209 294276 294292 294344 294361 294463 294509 294718 294726 294742 294753 294776 294800 294847 294869 294917 294934 294993 295009 295022 295040 295080 295166 295187 295224 295226 295247 295277 295291 295317 295341 295342 295345 295347 295352 295401 295420 295432 295476 295532 295734 295748 295769 295781 295812 295879 295885 295893 295894 295895 295921 295924 295967 295985 296006 296012 296048 296086 296123 296250 296263 296277 296279 296303 296314 296346 296376 296423 296459 296514 296517 296581 296594 296598 296603 296609 296611 296613 296644 296648 296649 296735 296773 296779 296790 296807 296814 296833 296845 296871 296924 296936 296977 297019 297032 297033 297038 297062 297065 297119 297142 297223 297241 297294 297299 297323 297331 297333 297339 297349 297351 297397 297418 297434 297439 297498 297505 297513 297523 297533 297597 297598 297616 297674 297676 297681 297709 297747 297817 297858 297893 297951 297981 297984 298036 298073 298077 298091 298094 298121 298198 298211 298218 298221 298292 298296 298297 298340 298370 298378 298427 298455 298461 298468 298518 298537 298538 298709 298760 298798 298822 298849 298888 298919 298920 298960 298973 298986 298987 298998 299042 299048 299070 299079 299095 299128 299136 299142 299173 299186 299197 299209 299212 299247 299250 299326 299341 299348 299382 299387 299424 299456 299466 299505 299508 299515 299544 299583 299599 299605 299613 299626 299634 299636 299673 299728 299809 299811 299856 299875 299890 299913 299994 300061 300108 300124 300134 300136 300140 300217 300229 300252 300260 300290 300423 300483 300500 300518 300530 300562 300596 300791 300804 300807 300821 300824 300835 300839 300914 301278 301340 301450 301452 301503 301508 301512 301519 301521 301679 301684 301685 301686 301687 301689 301697 301698 301699 301709 301710 301713 301714 301715 301716 301790 301810 301811 301812 301835 301842 301843 301844 301846 301847 301848 301849 301850 301852 301854 301866 301973 301983 301986 301991 302013 302036 302050 302052 302058 302070 302071 302072 302073 302074 302075 302077 302078 302081 302237 302240 302242 302243 302291 304052 304073 304166 304176 304180 304190 304191 304829 304847 304866 304868 304869 304870 304871 304925 305047 305048 305052 305057 305058 305066 306264 306438 308308 308317 308550 308919 308975 309234 309311 309847 310094 310330 310677 310678 310686 310691 310701 310720 310723 310740 310743 310744 310750 310751 310756 310757 310813 310841 310842 310863 310867 310969 310970 310986 311098 311444 311448 311456 311461 311462 311463 311478 311487 311495 311521 311526 311529 311533 311546 311550 311559 311580 311584 311585 311595 311598 311612 311614 311619 311624 311645 311650 311654 311655 311662 311664 311665 311667 311668 311705 311706 311716 311727 311746 311755 311757 311779 311781 311787 311815 311833 311835 311841 311851 311853 311870 311874 311875 311877 311887 311900 311901 311906 311907 311908 311930 311939 311959 311974 311975 311979 311988 311989 312016 312045 312047 312053 312102 312103 312111 312114 312117 312118 312173 312178 312195 312196 312207 312235 312242 312246 312253 312260 312288 312291 312292 312294 312300 312315 312323 312324 312333 312334 312339 312347 312354 312359 312366 312371 312383 312384 312401 312402 312412 312439 312443 312448 312452 312455 312458 312527 312558 312586 312588 312590 312594 312596 312598 312599 312600 312606 312612 312619 312620 312621 312624 312627 312629 312631 312634 312635 312636 312638 312639 312655 312658 312743 312753 312756 312759 312770 312771 312772 312778 312779 312783 312814 312818 312948 312957 313039 313106 313107 313108 313239 313244 313305 313315 313351 313380 313385 313409 313461 313469 313481 313518 313529 313530 313532 313543 313548 313560 313581 313667 314486 314505 314531 314555 314597 314599 314604 314605 314606 314607 314610 314618 314619 314681 314686 314765 338204 338254 347532 348035 348038 348039 348040 348041 351225 353700 353762 354641 356365 357126 357131 358321 358334 358604 358608 359091 359163 359168 359180 360506 360722 368582 368589 368596 368634 368641 368651 368674 368720 368737 368786 368815 368836 368845 368889 368953 369010 369025 369034 369044 369045 369046 369052 369072 369078 369080 369081 369102 369106 369108 369180 369220 369225 369247 369248 369286 369303 369324 369330 369334 369355 369356 369360 369497 369500 369513 369518 369599 369630 369637 369640 369690 369694 369704 369713 369718 369773 369777 369797 369804 369827 369836 369844 369855 369893 369902 369907 369911 369921 369951 369969 369993 369998 370028 370058 370059 370061 370073 370096 370097 370105 370114 370121 370124 370125 370126 370177 370187 370197 370236 370237 370238 370240 376159 376165 376176 376178 376180 376182 376272 376285 376333 376434 376435 376436 376515 376539 376540 376541 376560 376561 376562 376563 376570 376571 376579 376599 376622 376623 376641 376643 376659 376938 376961 376967 376980 377006 377018 377021 377027 377034 377041 377047 377056 377068 377074 377076 377091 377136 377144 377148 377180 377217 377223 377253 377274 377278 377293 377299 377355 377359 377360 377362 377397 377410 377461 377505 377562 377584 377610 377612 377632 377637 377685 377707 377723 377729 377771 377800 377805 377819 377850 377858 377902 377903 377904 377914 377924 377946 377954 377961 377993 378017 378048 378053 378061 378062 378073 378085 378101 378112 378114 378126 378132 378149 378181 378212 378246 378248 378252 378255 378279 378293 378310 378342 378356 378357 378366 378389 378448 378460 378478 378502 378503 378516 378533 378551 378572 378579 378586 378587 378589 378646 378700 378713 378714 378728 378730 378735 378766 378781 378796 378910 378911 378967 378989 379050 379074 379093 379099 379123 379134 379135 379138 379142 379191 379193 379214 379275 379282 379283 379310 379339 379346 379357 379371 379382 379435 379449 379465 379474 379475 379476 379490 379506 379526 379528 379535 379557 379571 379580 379618 379632 379634 379646 379674 379701 379710 379752 379761 379816 379825 379827 379832 379844 379862 379876 379878 379885 379886 379900 379918 379980 380012 380028 380029 380032 380051 380056 380088 380091 380092 380093 380125 380141 380146 380153 380162 380166 380168 380190 380201 380202 380226 380236 380241 380245 380296 380301 380315 380362 380411 380443 380489 380491 380509 380510 380568 380603 380605 380610 380612 380678 380684 380693 380747 380755 380757 380804 380866 380871 380918 380924 380964 380966 381018 381079 381107 381108 381109 381110 381163 381193 381233 381251 381279 381338 381366 381368 381385 381398 381411 381451 381532 381552 381562 381565 381569 381573 381579 381609 381626 381656 381663 381666 381678 381695 381810 381874 381903 381930 381935 381943 381945 381959 381986 381989 381992 382011 382014 382056 382066 382071 382083 382098 382144 382148 382187 382243 382264 382267 382270 382289 382336 382351 382365 382391 382392 382411 382479 382501 382506 382514 382529 382545 382562 382612 382622 382631 382709 382749 382767 382839 382944 383017 383077 383080 383122 383124 383129 383156 383165 383179 383181 383195 383216 383221 383224 383227 383269 383310 383323 383327 383489 383491 383550 383689 383706 383757 383779 383824 383867 383949 383958 383973 384027 384032 384072 384074 384142 384150 384151 384152 384156 384168 384172 384181 384189 384197 384400 384417 384464 384474 384476 384479 384523 384570 384601 384613 384633 384648 384701 384703 384705 384752 384768 384780 384782 384807 384826 384842 384853 384865 384886 384935 384949 384963 384979 384997 385009 385036 385049 385053 385096 385110 385121 385139 385142 385242 385294 385333 385444 385463 385469 385486 385499 385514 385520 385569 385590 385592 385603 385606 385649 385654 385719 385723 385766 385770 385884 385927 385934 385939 385982 386017 386040 386210 386212 386231 386280 386311 386312 386319 386322 386361 386473 386481 386482 386529 386530 386581 386595 386614 386636 386699 386744 386799 386802 386830 386847 386977 386983 387019 387030 387068 387074 387084 387127 387146 387264 387268 387382 387401 387407 387444 387534 387542 387577 387583 387658 387678 387687 387800 387978 388009 388055 388107 388131 388148 388155 388176 388193 388204 388210 388213 388218 388246 388250 388278 388307 388326 388374 388389 388398 388418 388419 388437 388446 388466 388521 388533 388556 388558 388561 388570 388571 388580 388585 388623 388638 388658 388673 388675 388742 388745 388809 388824 388842 388860 388874 388886 388904 388911 388938 388987 388991 389003 389006 389061 389071 389073 389114 389168 389176 389180 389248 389311 389317 389325 389471 389499 389503 389535 389545 389555 389637 389661 389665 389679 389725 389726 389744 389745 389768 389776 389815 389824 389847 389877 389886 389889 389908 389911 389914 389916 389925 389931 389995 390071 390083 390087 390102 390109 390113 390137 390151 390154 390173 390254 390347 390360 390416 390418 390423 390425 390431 390453 390479 390501 390526 390591 390593 390638 390641 390681 390690 390769 390803 390830 390856 390876 390904 390930 390960 391129 391131 391139 391142 391146 391157 391188 391194 391255 391318 391326 391360 391363 391383 391385 391393 391397 391398 391411 391444 391470 391477 391483 391485 391524 391551 391612 391627 391638 391690 391751 391752 391754 391764 391844 391845 392213 392939 392959 393002 393022 432617 432618 432619 432632 432633 432646 432647 432648 432650 432653 432662 439979 439997 439999 440447 440448 440450 440451 440471 440644 443074 443080 443359 443446 443452 443453 443454 443460 443464 443467 443469 443470 443490 443502 443503 443510 443513 443526 443535 443560 443562 443563 443580 443583 443584 443591 443613 443616 443619 443623 443625 443628 443633 443634 443637 443639 443640 443641 443643 443644 443669 443670 443676 443678 443681 443694 443701 443707 443715 443723 443726 443729 443735 443736 443737 443738 443739 443740 443741 443742 443743 443744 443748 443754 443755 443763 443764 443773 443781 443782 443783 443785 443786 443789 443793 443794 443795 443803 443804 443806 443814 443815 443826 443828 443856 443873 443875 443876 443877 443879 443880 443881 443886 443891 443892 443893 443895 443898 443900 443902 443903 443905 443906 443907 443909 443910 443916 443918 443920 443922 443923 443924 443925 443929 443930 443933 443934 443935 443939 443943 443945 443948 443949 443956 443969 443971 443973 443974 443975 444629 444632 450101 450131 450226 450238 457524 473780 475316 475335 475338 475340 475349 475352 475463 483196 483214 483249 483254 483258 486433 486645 486689 486697 486699 486729 486746 486835 486843 486949 486951 486954 486982 486988 486989 486991 487013 487014 487015 487019 487045 487261 487322 487410 487459 487607 487637 487652 487695 487772 487919 491320 520444 520445 520460 520471 520524 520921 520986 521889 522084 522086 522090 522299 522300 522326 524513 524533 524596 524626 524627 524628 524639 524685 524776 524815 524816 524823 524889 524890 524890 524891 524891 524892 524892 524893 524893 524914 524926 524932 524933 524938 524941 524942 524947 524963 524964 524965 524967 524992 524994 524995 524999 525000 525036 525037 525039 525080 525160 525172 525216 525217 525222 525234 525255 525278 525289 525300 525309 525325 525342 525349 525390 525410 525411 525416 525439 525471 525481 525494 525522 525529 525563 525569 525597 525614 525622 525628 525635 525695 525708 525733 525734 525773 525815 525838 525839 525840 525842 525856 525866 525882 525895 525933 526003 526020 526098 526110 526151 526170 526211 526228 526260 526304 526336 526339 526383 526384 526385 526416 526476 526497 526537 526544 526592 526602 526607 526609 526618 526621 526674 526684 526685 526692 526700 526724 526758 526769 526828 526837 526839 526850 526853 526871 526873 526902 526909 526985 526999 527031 527032 527084 527086 527108 527118 527119 527130 527165 527166 527179 527242 527260 527288 527356 527359 527368 527376 527387 527442 527443 527475 527520 527521 527543 527555 527556 527577 527600 527667 527721 527729 527771 527839 527841 527846 527863 527903 527975 527978 527979 527993 527994 527999 528008 528009 528048 528049 528068 528100 528151 528154 528161 528175 528199 528200 528206 528219 528220 528232 528246 528266 528328 528335 528338 528480 528529 528544 528550 528561 528631 528649 528815 528846 528860 528914 528966 529012 529065 529082 529085 529099 529119 529134 529145 529155 529164 529166 529172 529196 529287 529291 529321 529330 529334 529338 529422 529535 529550 529575 529649 529708 529709 529765 529768 529785 529859 529863 529894 529898 529964 529997 529999 530008 530079 530080 530093 530125 530129 530134 530295 530316 530340 530437 530478 530650 530678 530679 530680 530698 530702 530772 530774 530778 530779 530815 530828 530832 530867 530903 530937 530967 530977 530979 530981 530993 531002 531004 531041 531137 531148 531166 531177 531201 531251 531254 531288 531296 531318 531370 531372 531375 531396 531400 531512 531588 531656 531694 531704 531712 531713 531765 531832 531859 531909 531925 531926 531992 532025 532028 532031 532059 532065 532098 532103 532126 532128 532194 532207 532271 532365 532371 532373 532374 532449 532528 532547 532623 532635 532728 532828 532903 532908 532964 532975 532996 533002 533198 533323 533325 533539 533576 533600 533630 533642 533666 533670 533716 533780 533916 533925 533937 533993 533999 534064 534072 534078 534100 534101 534137 534140 534143 534157 534164 534165 534187 534191 534209 534262 534281 534283 534295 534343 534397 534434 534435 534507 534519 534522 534578 534590 534623 534628 534643 534669 534690 534727 534759 534769 534858 534883 534941 534966 535025 535093 535163 535197 535198 535210 535233 535245 535295 535298 535350 535485 535503 535582 535643 535678 535698 535719 535727 535752 535820 535847 535872 535906 535922 535936 535965 535996 536060 536091 536158 536169 536201 536232 536243 536252 536267 536351 536390 536483 536486 536488 536500 536529 536537 536576 536611 536615 536622 536670 536678 536723 536744 536847 536874 536885 536940 536943 536972 536980 537020 537022 537026 537030 537031 537075 537086 537121 537132 537162 537168 537180 537210 537254 537263 537270 537298 537311 537332 537342 537394 537398 537409 537423 537425 537439 537447 537464 537467 537474 537506 537535 537536 537541 537551 537635 537638 537642 537643 537670 537700 537740 537760 537774 537784 537894 537896 537904 537913 537951 537960 537969 537979 537987 538056 538072 538075 538079 538091 538135 538150 538161 538205 538208 538235 538238 538244 538263 538266 538269 538273 538283 538359 538416 538487 538490 538504 538571 538588 538618 538633 538636 538672 538674 538691 538722 538747 538749 538759 538775 538777 538796 538892 538918 538937 538942 538963 538990 539003 539009 539029 539094 539121 539132 539154 539211 539219 539235 539241 539249 539252 539253 539266 539267 539337 539345 539380 539420 539434 539471 539530 539535 539537 539568 539636 539679 539683 539689 539692 539733 539741 539751 539786 539788 539791 539796 539805 539839 539884 539889 539912 540002 540060 540068 540074 540128 540129 540138 540142 540168 540171 540179 540180 540301 540309 540321 540333 540365 540372 540404 540413 540511 540587 540602 540632 540641 540650 540651 540654 540657 540671 540682 540710 540730 540760 540798 540864 540973 541030 541106 541137 541149 541150 541201 541212 541265 541270 541284 541334 541366 541384 541392 541394 544419 544420 544421 544482 544503 544511 544512 544518 544526 544533 544534 544544 544545 544550 544553 544554 544555 544556 544557 544558 544562 544589 546882 552516 552722 552874 552878 552892 552945 553701 556082 578543 578544 582118 582119 582120 582263 587072 591063 591120 591279 591337 591427 591440 591613 592046 592151 592155 592198 593103 593271 593408 593510 593515 594139 594372 595224 596035 596077 596115 596123 596202 596223 596248 596441 596527 596543 596588 596621 596626 596637 596686 596690 596707 596709 596711 596714 596731 596732 596734 596741 596753 596770 596827 596902 596918 597001 597005 597094 597123 597191 597192 597197 597209 597215 597298 597336 597357 597365 597391 597400 597418 597427 597442 597472 597519 597548 597551 597552 597603 597610 597611 597612 597673 597698 597712 597715 597716 597718 597721 597740 597760 597763 597781 597790 597822 597824 597826 597867 597873 597875 597876 597922 597979 598034 598040 598050 598057 598072 598074 598075 598077 598148 598261 598264 598294 598307 598349 598363 598410 598467 598468 598471 598477 598492 598493 598509 598622 598659 598664 598665 598666 598680 598684 598707 598709 598753 598787 598797 598849 598887 598897 598995 598996 599000 599061 599091 599099 599104 599122 599123 599220 599286 599295 599344 599345 599356 599410 599489 599497 599509 599536 599537 599560 599561 599588 599593 599635 599660 599674 599687 599692 599697 599716 599731 599737 599765 599770 599776 599780 599797 599798 599802 599803 599831 599867 599868 599869 599870 599871 599874 599897 599898 599899 599900 599930 599933 599937 599939 599947 599959 599960 599963 599964 599969 600149 600150 600151 600157 600161 600251 600301 600304 600305 600306 600319 600341 600344 600377 600388 600410 600449 600486 600488 600594 600606 600607 600708 601552 601886 601900 602271 602335 602449 602450 602778 602857 602860 603334 604331 604631 604668 604991 605210 605402 605601 605660 605903 606000 606135 606145 606252 606289 606594 606602 606868 606869 606872 606990 607063 607379 607430 607868 607983 608118 608250 608337 608343 608348 608356 608357 608390 608394 608432 608436 608437 608653 608657 608660 608695 608752 608861 608871 608982 608985 608994 609006 609068 609176 609194 609197 609199 609218 609229 609278 609279 609463 609466 609785 609801 609815 609827 609828 609999 610229 610269 610485 611285 611549 611627 611628 611702 611769 611800 612084 612141 612163 612197 612200 612207 612488 612990 613062 613071 613182 613486 613494 613495 613496 613658 613834 613903 614182 614191 614452 614877 615017 615061 615172 615648 616111 616308 616470 616541 616921 616971 617032 617745 617814 617868 617905 618217 618318 618375 618380 618428 618497 618552 618697 618743 618806 618818 618967 618987 619289 619538 619573 619581 619616 619728 619883 619938 620017 620087 620113 620116 620249 620313 620377 620604 620681 620725 620988 621064 621227 621304 621348 621421 621725 621921 621968 622218 622271 622841 622936 623128 623292 623347 623362 623376 623486 623754 624072 624074 624470 624507 624526 625030 625240 625284 625336 625647 625661 626008 626017 626088 626096 626136 626201 626314 626325 626457 626533 626534 626645 626732 626860 626883 626936 627339 627342 627772 627777 627826 627852 627968 628054 628076 628094 628362 628391 628402 628629 629166 629207 629715 629740 629863 629898 630194 630195 630545 630653 630874 631074 631088 631180 631191 631200 631233 631402 631416 631571 631734 631789 631801 631811 631813 631814 631967 632027 632326 632349 632449 632501 632581 632657 632851 633039 633098 633189 633227 633261 633371 633372 633374 633403 633679 633875 634073 634074 634296 634513 634547 634553 634657 634868 635005 635222 635399 635890 635944 636155 636511 636593 637620 637716 637842 638136 638164 638262 638789 638832 638907 638958 639051 639056 639063 639232 639262 639783 639798 639833 639839 639849 639856 640041 640057 640148 640334 640411 640448 640485 640546 640781 641132 641335 641637 641670 641757 641890 641987 642012 642028 642664 642691 642775 643052 643117 643251 643275 643292 643349 643378 643435 643442 643443 643501 643572 643627 643714 643764 643819 643918 643920 644047 644161 644175 644183 644192 644215 644245 644521 644596 644812 644876 645335 645390 645500 645504 645814 645818 645953 645959 646139 646145 646427 646524 646820 646822 646892 646976 647027 647334 647411 647426 647515 647617 647847 647973 647975 648024 648047 648126 648141 648195 648196 648217 648231 648288 648317 648584 648695 648757 648786 648807 648914 648977 649046 649077 649080 649179 649232 649346 649569 649578 649608 649853 649919 649951 650048 650437 650469 650499 650503 650607 650665 650756 650866 650960 650967 650999 651019 651080 651270 651277 651315 651446 651537 651538 651546 651554 651677 651792 651991 652066 652144 652167 652210 652456 652639 652670 652683 652710 652780 652811 652942 653074 653190 653334 653345 653685 653858 653914 654224 654247 654533 654544 654642 654680 654729 654795 654812 654937 654965 655013 655031 655037 655070 655361 655495 655536 655585 655590 655653 655664 655688 656016 656017 656085 656145 656235 656342 656383 656393 656605 656609 656706 656737 656814 656945 657049 657146 657189 657318 657785 657912 657963 658048 658054 658195 658255 658259 658284 658379 658411 658563 658605 658724 658914 658922 658949 658988 659119 659150 659284 659529 659585 659815 659842 660025 660162 660239 660316 660318 660346 660378 660426 660562 660612 660841 661000 661059 661167 661297 661352 661510 661701 661704 661826 661837 661851 661884 661890 661923 661968 662182 662258 662286 662305 662454 662744 662752 662760 662782 662784 662800 662809 662864 662865 662866 662902 662917 662925 662932 662953 662972 662995 663052 663065 663105 663117 663124 663177 663182 663190 663204 663246 663274 663285 663286 663296 663431 663443 663446 663477 663492 663564 663588 663605 663613 663627 663688 663694 663738 663801 663841 663893 663912 663914 663932 663937 663962 663970 664019 664021 664116 664123 664125 664206 664207 664219 664260 664261 664265 664268 664336 664390 664392 664457 664494 664598 664600 664613 664629 664639 664645 664672 664702 664715 664773 664777 664874 664903 664910 664923 664943 664945 664994 665071 665119 665216 665252 665267 665271 665272 665341 665379 665490 665514 665559 665575 665576 665579 665610 665634 665690 665695 665737 665744 665764 665809 665818 665827 665829 665854 665860 665866 665881 665884 665952 666066 666133 666163 666173 666198 666209 666226 666233 666239 666248 666330 666331 666364 666370 666379 666411 666435 666450 666465 666522 666548 666708 666714 666728 666743 666823 666832 666850 666861 666864 666879 666904 666944 666948 666963 667003 667022 667050 667069 667084 667086 667139 667265 667268 667273 667282 667286 667288 667292 667316 667319 667394 667408 667442 667465 667518 667532 667569 667675 667680 667686 667687 667720 667736 667828 667830 667839 667841 667857 667917 667918 667931 667961 667988 668004 668013 668019 668032 668084 668124 668139 668144 668194 668195 668201 668202 668289 668294 668306 668320 668355 668363 668378 668387 668413 668459 668464 668525 668532 668596 668641 668642 668654 668665 668673 668699 668703 668727 668750 668788 668792 668821 668835 668854 668880 668883 668894 668961 668985 669134 669141 669160 669174 669178 669180 669192 669340 669353 669358 669365 669368 669372 669391 669443 669463 669470 669472 669479 669482 669489 669506 669516 669524 669631 669662 669669 669672 669679 669735 669797 669803 669846 669885 669930 670018 670041 670114 670205 670280 670336 670366 670379 670390 670394 670459 670462 670486 670496 670509 670514 670565 670593 670622 670626 670695 670710 670765 670844 670845 670850 670878 670896 670901 670902 670942 670966 670985 671003 671005 671040 671062 671110 671114 671150 671151 671162 671163 671169 671186 671240 671266 671334 671340 671368 671411 671412 671434 671444 671466 671547 671550 671563 671566 671664 671666 671677 671693 671700 671702 671767 671771 671829 671831 671841 671866 671872 671876 671880 671924 671946 671956 671965 671981 671983 671988 671995 672000 672012 672038 672043 672045 672049 672086 672092 672114 672164 672250 672273 672463 672514 672553 672567 672585 672596 672719 672724 672725 672736 672761 672767 672770 672802 672846 672895 672987 673006 673024 673028 673039 673071 673079 673092 673129 673149 673168 673205 673232 673241 673396 673474 673482 673602 673613 673616 673626 673667 673789 673873 673881 673893 673913 673968 673976 674086 674127 674253 674275 674321 674334 674386 674390 674419 674431 674445 674455 674500 674508 674540 674607 674629 674648 674679 674689 674690 674727 674807 674839 674871 674896 674905 674917 674974 675026 675096 675107 675108 675109 675121 675133 675239 675244 675313 675395 675405 675408 675493 675568 675599 675617 675638 675654 675658 675675 675681 675986 676063 676086 676088 676155 676177 676272 676301 676389 676425 676475 676494 676554 676594 676766 676792 676794 676803 676831 676832 676848 676893 676910 676932 677026 677538 677621 677800 677808 677829 677907 678021 678107 678117 678172 678848 678928 678929 678933 678941 682743 682744 682746 682752 682753 682759 682768 682967 682970 682971 682972 683187 683222 683223 684145 684148 684153 684287 687670 687684 687691 687706 694812 694872 694873 694878 694879 694883 694884 694887 694888 694889 694890 694891 694894 694895 694897 694898 694899 699108 699128 699185 699186 699216 699217 699219 699251 699261 699381 699604 699605 699617 699618 699619 699621 699917 699918 699919 699942 699999 700099 700194 700255 700256 700271 700346 700384 700452 700476 700495 700596 700607 701195 701197 701272 701275 701461 701510 701919 701921 701942 701947 701962 702033 702058 702059 702259 702265 717661 717670 717715 717758 717816 719498 719605 720193 720524 721063 723012 723209 723213 724529 724532 724565 724584 724588 724649 728747 728762 728805 728810 728977 729570 729571 729572 729634 729656 729657 729661 729663 730646 730793 730920 731209 731349 731378 732093 732165 732355 733348 733413 733414 733458 733467 733468 733469 733470 733486 733516 733517 733518 733520 733564 733566 733758 740130 740189 740201 751066 751282 751283 751369 751417 751455 751464 751465 751598 751599 751608 751719 751737 751959 751973 751983 751984 751993 751994 751995 751996 751997 751998 752054 752065 752067 752070 752083 752085 752093 752106 752112 752118 752214 752224 752230 752243 752246 752247 752253 752254 752271 752274 752275 752283 752284 752312 752313 752314 752317 752346 752348 752410 752437 752501 752519 752521 752526 752535 752543 752549 752553 752562 752578 752582 752585 752609 752615 752634 752681 752689 752705 752715 752727 752729 752760 752820 752821 752926 752938 752946 752960 752967 752973 752980 753013 753015 753016 753060 753104 753114 753137 753139 753143 753144 753180 753197 753199 753208 753233 753240 753248 753288 753291 753349 753350 753368 753371 753415 753474 753479 753486 753503 753511 753512 753550 753557 753571 753575 753627 753646 753648 753655 753670 753686 753690 753723 753724 753726 753736 753744 753747 753748 753791 753812 753816 753834 753837 753860 753876 753905 753910 753970 753977 753985 754023 754071 754090 754091 754135 754136 754148 754149 754227 754316 754318 754328 754331 754347 754375 754384 754403 754471 754514 754515 754530 754623 754649 754681 754682 754710 754727 754728 754766 754834 754866 754883 754893 754898 754910 754941 754948 755022 755085 755105 755123 755138 755157 755224 755295 755299 755370 755397 755459 755471 755533 755538 755548 755643 755726 755771 755813 755857 755864 755935 755954 755970 756016 756080 756081 756084 756085 756092 756121 756124 756136 756213 756239 756287 756331 756346 756457 756497 756519 756539 756581 756607 756632 756655 756664 756692 756695 756705 756762 756801 756854 756916 756977 756983 757021 757044 757155 757159 757188 757191 757210 757216 757235 757250 757332 757371 757408 757422 757457 757541 757620 757653 757738 757769 757797 757812 757826 757880 757900 757911 757929 757955 757968 757998 758028 758040 758115 758139 758250 758256 758290 758336 758538 758551 758563 758584 758615 758621 758622 758637 758714 758766 758888 758915 758917 758959 759025 759050 759152 759170 759231 759310 759368 759379 759447 759533 759539 759544 759550 759571 759641 759651 759657 759663 759715 759752 759770 759781 759784 759905 759909 760022 760052 760076 760134 760168 760170 760171 760176 760186 760197 760250 760292 760388 760412 760488 760530 760545 760596 760629 760703 760746 760750 760751 760772 760775 760781 760792 760810 760812 760905 761086 761120 761121 761124 761135 761308 761329 761382 761473 761475 761481 761538 761548 761585 761615 761616 761618 761669 761706 761756 761783 761929 761953 761955 761975 761978 761989 761993 762159 762175 762179 762187 762284 762314 762318 762320 762399 762473 762486 762512 762540 762640 762677 762792 762819 762845 762871 762887 762890 762985 763006 763047 763057 763207 763220 763282 763396 763417 763423 763432 763539 763560 763572 763576 763620 763658 763660 763674 763734 763738 763743 763790 763798 763808 763818 763834 763914 763977 764051 764082 764099 764105 764137 764149 764226 764347 764363 764377 764385 764397 764439 764610 764680 764748 764881 764911 764929 765145 765152 765159 765215 765230 765250 765285 765373 765377 765400 765459 765483 765533 765612 765620 765626 765678 765682 765701 765838 765861 765879 765946 766069 766111 766114 766208 766213 766244 766257 766301 766369 766456 766506 766577 766610 766626 766685 766701 766706 766747 766784 766823 766834 766850 766868 766937 767020 767039 767103 767106 767134 767136 767330 767337 767340 767393 767415 767517 767520 767524 767546 767605 767633 767674 767683 767748 767764 767786 767792 767808 767812 767862 767900 767950 768063 768085 768183 768221 768277 768285 768357 768383 768388 768435 768454 768528 768575 768653 768658 768664 768762 768908 768926 768929 769128 769152 769176 769198 769218 769224 769230 769262 769294 769335 769345 769349 769486 769635 769717 769789 769823 769837 769840 769854 769865 769924 770004 770030 770108 770112 770114 770206 770246 770343 770344 770558 770703 771098 771105 771108 771117 771172 771210 771637 771771 771825 771875 772273 772277 772394 772448 787714 795577 795633 795635 795657 795658 796304 796336 796355 796385 796386 796392 796424 796453 796516 796517 796518 796520 796545 796613 796614 796678 805347 805367 805426 805636 805637 806098 806123 806350 806505 806520 806542 807034 807097 807197 807362 807530 808207 808208 808209 808724 808900 808901 809183 809246 812198 812200 812201 812202 812204 812205 812206 812208 812211 812214 812215 812216 812217 812218 812220 812221 812222 812223 812224 812224 812227 812228 812229 812230 812231 812233 812234 812235 812236 812237 812238 812239 812240 812241 812242 812244 812245 812246 812248 812250 812250 812252 812253 812257 812258 812260 812261 812262 812263 812264 812265 812266 812267 812268 812269 812270 812271 812271 812272 812273 812278 812278 812281 812283 812284 812285 812286 812287 812288 812289 812289 812290 812291 812292 812295 812296 812297 812297 812298 812299 812300 812302 812303 812304 812305 812305 812306 812307 812308 812309 812310 812311 812312 812313 812314 812315 812316 812317 812319 812324 812325 812327 812329 812332 812372 812375 812376 812377 812379 812380 812381 812382 812383 812384 812385 812441 812443 812444 812445 812446 812447 812448 812448 813143 813157 813623 814022 814023 814035 815014 815015 815026 815037 815038 815039 815040 815045 815047 815048 815090 815092 871829 872024 872043 872053 872078 872123 872129 872141 872147 872184 872189 872240 872241 872243 872251 872265 872289 872306 872336 872349 872383 872913 872968 873196 876099 876134 876183 876209 876233 877829 877857 877866 877880 878493 878494 879266 879290 879338 879339 879351 879389 879390 879391 879392 879393 879399 879427 879437 879457 879468 879506 879548 879551 879590 879609 879636 882631 882637 882674 882692 882721 882974 883058 883062 883071 883180 883240 883270 883317 883318 883341 883344 883401 883455 883461 883477 883480 883484 883970 884193 886584 886882 886951 887117 887555 887701 887817 887822 887823 887827 887828 887829 887830 887847 887848 887849 887860 887863 887864 887873 887901 887910 887926 887927 887928 887942 887943 890385 890466 890491 890497 892642 892845 893026 893188 893192 893224 893365 893388 893389 893390 893442 893445 893484 893566 893573 893597 893634 893636 893637 893690 893741 893746 893759 893785 893794 894036 895922 896993 897260 897334 897384 897599 897751 897757 897863 898695 898752 898753 898754 898755 898756 900012 900118 900627 901047 901381 901382 901383 901831 902406 902444 902974 903042 903475 903617 903677 903738 903890 903976 904049 904081 904084 904168 904257 904258 904504 904505 904580 904585 904586 905062 905067 905070 905073 905371 905572 905573 905617 905644 905649 905865 905893 906082 906100 906185 906190 906203 906204 906252 906368 906386 906527 906528 906553 906554 906560 906561 906566 906592 906597 906734 906795 907155 907230 907321 907386 907389 907393 907402 907411 907412 907478 907479 907480 907506 907532 907533 907555 907567 907607 907616 907640 907645 907648 907649 907668 907670 907676 907677 907680 907709 907731 907734 907739 907756 907771 907797 907800 907848 907856 907863 907888 907898 907902 907916 907927 907929 907930 907938 907969 907980 908034 908063 908071 908072 908130 908145 908146 908149 908152 908170 908180 908197 908234 908257 908308 908312 908323 908330 908386 908396 908398 908506 908507 908511 908604 908689 908711 908748 908752 908837 908859 908867 908880 908936 908958 908976 908992 909003 909105 909137 909151 909173 909176 909189 909191 909206 909229 909251 909269 909321 909382 909383 909402 909477 909492 909527 909597 909600 909606 909608 909618 909647 909652 909664 909670 909671 909711 909712 909718 909740 909770 909824 909825 909826 909835 909862 909868 909872 909900 909931 910011 910014 910017 910042 910046 910051 910062 910064 910068 910069 910071 910081 910119 910126 910163 910167 910191 910193 910209 910296 910328 910330 910344 910360 910365 910367 910369 910378 910379 910402 910406 910409 910410 910436 910444 910465 910514 910515 910577 910612 910628 910700 910782 910794 910842 910845 910856 910872 910875 910876 910877 910892 910899 910920 910955 910994 911014 911030 911081 911083 911106 911116 911117 911126 911149 911173 911177 911219 911273 911274 911291 911341 911342 911391 911467 911469 911479 911506 911525 911531 911532 911628 911690 911725 911731 911758 911770 911771 911785 911800 911801 911842 911847 911852 911855 911857 911862 911901 911902 912013 912027 912034 912062 912065 912069 912079 912113 912116 912162 912207 912212 912243 912247 912252 912255 912256 912261 912288 912289 912310 912332 912388 912403 912495 912507 912512 912533 912556 912621 912671 912747 912761 912781 912798 912813 912815 912819 912842 912845 912870 912898 912931 912932 912954 912983 912988 912992 913019 913021 913084 913092 913154 913155 913205 913232 913240 913264 913272 913306 913382 913413 913423 913440 913469 913497 913523 913558 913570 913577 913593 913610 913635 913642 913648 913649 913672 913689 913720 913741 913763 913772 913823 913842 913844 913854 913855 913892 913906 913912 913914 913947 913972 913989 913990 914033 914049 914069 914088 914182 914216 914226 914267 914290 914305 914341 914379 914428 914441 914446 914520 914564 914596 914617 914621 914626 914640 914642 914670 914689 914700 914714 914772 914776 914795 914799 914803 914833 914906 914910 914912 914970 915024 915027 915115 915156 915164 915166 915167 915172 915177 915178 915193 915200 915260 915340 915348 915424 915518 915578 915582 915585 915588 915596 915630 915643 915671 915673 915691 915701 915727 915731 915737 915787 915790 915794 915832 915851 915910 915958 916000 916077 916084 916120 916121 916129 916139 916169 916171 916181 916182 916183 916185 916186 916194 916204 916215 916268 916356 916380 916391 916395 916400 916445 916468 916471 916505 916521 916549 916550 916555 916586 916659 916688 916743 916773 916831 916857 916861 916873 917415 917464 917502 917528 917567 917582 917684 917705 917708 917719 917721 917728 917729 917782 917783 917785 917789 917790 917877 917879 917889 917915 917959 917999 918007 918045 918273 918279 919250 919272 919274 919336 919338 919418 919420 919425 919426 919427 919428 919429 919430 919432 919436 919437 919441 919442 919443 919445 919447 919449 919451 919453 919455 919457 919458 919463 919466 919469 919472 919474 919475 919476 919477 919478 919479 919481 919482 919487 919488 919489 919490 919491 919493 919496 919498 919499 919503 919505 919506 919507 919508 919509 919511 919516 919521 919524 919528 919528 919534 919538 919539 919540 919550 920268 920270 920274 920283 920288 920330 920376 920499 920634 920653 935660 935661 935881 935889 935918 935942 935951 935952 935995 935996 936059 936120 936121 936151 936212 936218 936253 937609 937875 937925 937932 937950 939677 939690 939941 945836 945884 946129 946139 946219 946551 947639 947663 947702 947703 947704 949300 949322 949374 949378 949429 949455 949480 949485 949486 949487 949489 949523 949524 949545 949546 949596 949597 949598 949610 949614 949635 949643 949653 949654 949656 949657 949660 949661 949684 949692 949693 949699 949705 949706 949707 949708 949709 949710 949718 949722 949723 949751 949752 949756 949770 949771 949772 949773 949774 949775 949776 949781 949782 949785 949786 949787 949791 949794 949803 949837 949840 949841 949879 949906 949966 949983 949987 949988 949989 949990 950047 950056 950057 950080 950107 950114 950131 950150 950248 950373 950385 950390 950398 950423 950427 950428 950430 950448 950469 950472 950509 950545 950624 950625 950679 950802 950809 950817 950822 950902 951765 957991 960293 960322 960441 960449 960511 960531 960538 960543 960579 960580 960643 960862 960865 960879 960886 960914 960930 960938 960947 960948 960990 961047 961066 961072 961087 961171 961192 961232 961324 961339 961340 961347 961394 961411 961442 961443 961504 961513 961648 961665 961672 961722 961737 961811 961814 961817 961834 961851 961928 961951 961965 962025 962113 962120 962179 962185 962189 962190 962211 962222 962224 962247 962274 962292 962299 962301 962303 962313 962341 962401 962411 962444 962445 962473 962496 962517 962518 962545 962546 962568 962589 962603 962667 962680 962744 962754 962759 962790 962857 962917 962963 962993 963002 963057 963060 963088 963102 963107 963120 963132 963165 963168 963182 963228 963236 963277 963309 963312 963314 963331 963377 963409 963434 963453 963454 963455 963507 963554 963640 963658 963679 963701 963763 963772 963779 963782 963785 963788 963806 963811 963862 963864 963926 963990 963992 964024 964038 964179 964199 964203 964225 964266 964304 964360 964364 964378 964472 964490 964518 964529 964540 964541 964552 964553 964558 964578 964742 964760 964782 964801 964818 964836 964843 964858 964859 964863 964872 964906 964908 964912 964964 965022 965025 965027 965048 965053 965073 965087 965103 965118 965158 965185 965234 965240 965282 965318 965337 965357 965448 965505 965516 965520 965566 965570 965581 965584 965644 965680 965699 965759 965785 965811 965845 965863 965878 965900 965905 965910 965915 965926 965932 965955 965966 966077 966117 966135 966147 966163 966207 966225 966236 966246 966271 966300 966318 966330 966354 966355 966359 966363 966378 966392 966410 966500 966501 966511 966518 966553 966560 966561 966564 966580 966585 966598 966639 966742 966787 966831 966843 966865 966867 966868 966870 966876 966877 966897 966918 966934 966937 966938 966943 967003 967030 967061 967062 967083 967137 967150 967160 967191 967196 967200 967210 967211 967213 967217 967218 967223 967254 967255 967288 967300 967315 967442 967483 967499 967500 967503 967543 967621 967663 967672 967676 967697 967738 967777 967794 967805 967900 967913 967953 967988 968030 968037 968055 968147 968152 968156 968185 968253 968255 968279 968290 968414 968453 968475 968573 968574 968575 968615 968621 968659 968665 968708 968716 968719 968722 968735 968812 968841 968888 968890 968902 969119 969291 969293 969320 969321 969322 969324 969339 969358 969394 969397 969404 969522 969536 969594 969618 969645 969653 969662 969663 969669 969670 969679 969681 969692 969702 969703 969710 969720 969730 969731 969748 969781 970964 971008 971015 971032 971052 971058 971087 971129 971134 971163 971174 971207 971211 971226 971232 971248 971268 971285 971347 971357 971363 971382 971387 971445 971473 971498 971508 971527 971549 971567 971577 971580 971586 971638 971697 971733 971734 971763 971770 971772 971864 971871 971872 972212 972232 972246 972255 972273 972289 981836 981862 981915 982234 982262 993235 993583 994452 994507 994733 995188 1096753 1096755 1096813 1096814 1096838 1096915 1096928 1096937 1096938 1096945 1096946 1096950 1096978 1096984 1097008 1097044 1097051 1097079 1097121 1097129 1097146 1097149 1097276 1097299 1097314 1097317 1097344 1097406 1097411 1097430 1097444 1097459 1097528 1097529 1097583 1097680 1097719 1097812 1097844 1097855 1097902 1097921 1097963 1097978 1097987 1097988 1098026 1098042 1098055 1098069 1098076 1098130 1098214 1098251 1098254 1098262 1098268 1098316 1098361 1098362 1098405 1098467 1098479 1098550 1098555 1098642 1098658 1098665 1098705 1098710 1098712 1098717 1098776 1098808 1098860 1098917 1098933 1099017 1099101 1099119 1099165 1099168 1099176 1099189 1099221 1099224 1099290 1099322 1099330 1099334 1099339 1099355 1099368 1099389 1099418 1099479 1099589 1099616 1099798 1099810 1099811 1099871 1099874 1099881 1099904 1099914 1099992 1099999 1100005 1100024 1100027 1100108 1100112 1100144 1100145 1100359 1100363 1100365 1100366 1100367 1100372 1100399 1100460 1100607 1100618 1100621 1100636 1100641 1100642 1100646 1100660 1100674 1100741 1100765 1100776 1100824 1100850 1100858 1100943 1100945 1101016 1101053 1101106 1101119 1101121 1101142 1101145 1101160 1101250 1101283 1101287 1101398 1101407 1101420 1101427 1101536 1101539 1101544 1101589 1101604 1101612 1101620 1101704 1101780 1101784 1113649 1113671 1113672 1113688 1113696 1115654 1115671 1116325 1119957 1119961 1119964 1119970 1119971 1120099 1120113 1120126 1120147 1120212 1120215 1120262 1120304 1120338 1120344 1120360 1120366 1120386 1120523 1120590 1120591 1120622 1120623 1120626 1120665 1120710 1120729 1120742 1120776 1120843 1120859 1120861 1120901 1120905 1120969 1120970 1120972 1120988 1121041 1121043 1121057 1121065 1121090 1121097 1121111 1121142 1121198 1121209 1121316 1121329 1121331 1121341 1121369 1121402 1121403 1121406 1121418 1121470 1121479 1121488 1121520 1121540 1121571 1121621 1121622 1121634 1121664 1121711 1121713 1121768 1121779 1121933 1121963 1121980 1122055 1122087 1122096 1122132 1122150 1122162 1122197 1122202 1122203 1122217 1122220 1122373 1122433 1122527 1122624 1122642 1122692 1122739 1122743 1122744 1122758 1122814 1122840 1122894 1122941 1123003 1123015 1130454 1130464 1130465 1134440 1134446 1134447 1134448 1134528 1134535 1134659 1134691 1134711 1135124 1135159 1135166 1135611 1135618 1135619 1135629 1135630 1135639 1135650 1135662 1135672 1135752 1135757 1135765 1135979 1135982 1135985 1135986 1135987 1135988 1135991 1136027 1136034 1136063 1136066 1136073 1136102 1136111 1136119 1136125 1136144 1136145 1136147 1136151 1136152 1136157 1136160 1136161 1136166 1136177 1136193 1136197 1136215 1136226 1136238 1136240 1136243 1136247 1136252 1136300 1136310 1136316 1136317 1136325 1136337 1136340 1136352 1136352 1136365 1136366 1136368 1136370 1136376 1136377 1136530 1136535 1136536 1136539 1136612 1136747 1136827 1136835 1136844 1137120 1137148 1137156 1137274 1137275 1137277 1137282 1137343 1137419 1137451 1137457 1137502 1137508 1137517 1137585 1137683 1137684 1137747 1137893 1137929 1137931 1137940 1137947 1137951 1137989 1138003 1138122 1138261 1138291 1138292 1138314 1138321 1138348 1138360 1138393 1138400 1138401 1138406 1138418 1138422 1138427 1138453 1138525 1138569 1138574 1141009 1141015 1141625 1141626 1141639 1141648 1142635 1142644 1142673 1142674 1142722 1142738 1142785 1142800 1142812 1142814 1142817 1142819 1142877 1143107 1143167 1143177 1143233 1143321 1143414 1143489 1143492 1143552 1143624 1143635 1143637 1143723 1143734 1143738 1143766 1143767 1143796 1143797 1143823 1143833 1143882 1143897 1143933 1143942 1143952 1144021 1144025 1144031 1144036 1144050 1144061 1144080 1144112 1144139 1144156 1144162 1144168 1144173 1144243 1144258 1144369 1144379 1144395 1144454 1144459 1144465 1144486 1144558 1144709 1144786 1145661 1145662 1145755 1146618 1146627 1146629 1146632 1148297 1148350 1148798 1153432 1153729 1170000 1170105 1170752 1171255 1171311 1171342 1171350 1171569 1171766 1171810 1171824 1171847 1171849 1171884 1171892 1171894 1171897 1171944 1171946 1171950 1172055 1172059 1172070 1172075 1172140 1172152 1172187 1172190 1172208 1172230 1172252 1172283 1172284 1172326 1172343 1172359 1172366 1172384 1172412 1172424 1172436 1172445 1172465 1172518 1172551 1172566 1172629 1172734 1172764 1172807 1172809 1173118 1173171 1173192 1173210 1173214 1173257 1173313 1173365 1173436 1173441 1173449 1173450 1173457 1173495 1173549 1173600 1173607 1173864 1173913 1174032 1174046 1174103 1174104 1174225 1174318 1174352 1174361 1174640 1174672 1174773 1174843 1174887 1174910 1174937 1174940 1174995 1175063 1175072 1175122 1175203 1175254 1175256 1175274 1175294 1175297 1175347 1175355 1175376 1175407 1175428 1175619 1175633 1175640 1175650 1175698 1175703 1175725 1175726 1175744 1175813 1175835 1175840 1175914 1175919 1175946 1175966 1175999 1176012 1176080 1176137 1176140 1176162 1176226 1176239 1176244 1176266 1176278 1176280 1176432 1176473 1176474 1178976 1178989 1179106 1179132 1179133 1179174 1179464 1179465 1179511 1179841 1179885 1179891 1179928 1179934 1179939 1179956 1179963 1179970 1179973 1180002 1180069 1180113 1180307 1180333 1180334 1180347 1180363 1254571 1254704 1254705 1254850 1255096 1255097 1255605 1255612 1255613 1255614 1255615 1255617 1256764 1256770 1256771 1256778 1256801 1256818 1256985 1257072 1257112 1257113 1257137 1257187 1257303 1257382 1257533 1257634 1257646 1257718 1257744 1257769 1257776 1257777 1257801 1257805 1257820 1257842 1257862 1257901 1257902 1257927 1257945 1257946 1257952 1257953 1257962 1257988 1257998 1257999 1258002 1258006 1258010 1258073 1258083 1258100 1258106 1258132 1258133 1258167 1258177 1258243 1258244 1258279 1258295 1258312 1258336 1258415 1258464 1258496 1258535 1258638 1258691 1258707 1258791 1258847 1258910 1258914 1259001 1259016 1259138 1259158 1259172 1259189 1259205 1259207 1259211 1259236 1259263 1259265 1259275 1259292 1259328 1259395 1259399 1259418 1259439 1259510 1259541 1259581 1259595 1259676 1259709 1259712 1259807 1259877 1259889 1259929 1259982 1259994 1260008 1260009 1260021 1260114 1260186 1260223 1260226 1260229 1260231 1260297 1260311 1260931 1261253 1268772 1268801 1268803 1268874 1268876 1268900 1269099 1269100 1269172 1269174 1269691 1270352 1270354 1270376 1270377 1270490 1270688 1270689 1270705 1270735 1270740 1270742 1270743 1270751 1270758 1270772 1270790 1270792 1270793 1270805 1270869 1270905 1270906 1270908 1270909 1270911 1271481 1271488 1271607 1271704 1272709 1272713 1273037 1273270 1274098 1275490 1275683 1275876 1275890 1275898 1275915 1275917 1275940 1276239 1276241 1276243 1276244 1276245 1276898 1291116 1291121 1291131 1291201 1291456 1291583 1291775 1291779 1291907 1291910 1291913 1291914 1291994 1292052 1292053 1292054 1292056 1292059 1292061 1292063 1292065 1292066 1292068 1292069 1292072 1292144 1292145 1292146 1292266 1292267 1292268 1292269 1295207 1295208 1295219 1295240 1295247 1295271 1295277 1295290 1295368 1295407 1295461 1295464 1295474 1295477 1295478 1295479 1295488 1295501 1295502 1295505 1295506 1295507 1295529 1295530 1298636 1301094 1301503 1302054 1302672 1302674 1302678 1302683 1302687 1305628 1305847 1305851 1305923 1306832 1306917 1306918 1306942 1306982 1307011 1307084 1307126 1307140 1307220 1307256 1307271 1307372 1307376 1307392 1307407 1307475 1307583 1307598 1307637 1307678 1307698 1307857 1307877 1307911 1307920 1307941 1308022 1308023 1308058 1308098 1308121 1308180 1308189 1308247 1308290 1308398 1308466 1308467 1308516 1308524 1308703 1308752 1308909 1309025 1309046 1309143 1309189 1309276 1309296 1309390 1309483 1309709 1309732 1309784 1310227 1310412 1310416 1310431 1310515 1310540 1310548 1310550 1310696 1310697 1310699 1310746 1310782 1310890 1310892 1310905 1310963 1311002 1311003 1311012 1311013 1311076 1311102 1311124 1311125 1311126 1311129 1311140 1311141 1311250 1311255 1311257 1311393 1311420 1311436 1311453 1311470 1311568 1311572 1311616 1311670 1311671 1311711 1311899 1311982 1312031 1312040 1312042 1312044 1312045 1312062 1312063 1312067 1312095 1312121 1312159 1312169 1312172 1312200 1312248 1312249 1312258 1312354 1312385 1312386 1312550 1312650 1312689 1312695 1312696 1312720 1312737 1312748 1312886 1312923 1312991 1313085 1313290 1313356 1313380 1313407 1313409 1313437 1313482 1313494 1313497 1313613 1313661 1313689 1313690 1313695 1313726 1313794 1313805 1314754 1314765 1314772 1314785 1314790 1314855 1314889 1314901 1314915 1314954 1317103 1317428 1317433 1317445 1317481 1317494 1317554 1317579 1317683 1317684 1317726 1317751 1317839 1317895 1317929 1317937 1317964 1318045 1318483 1318731 1318732 1318733 1319312 1320096 1320283 1320551 1321170 1321385 1321588 1321759 1321760 1321889 1321890 1321892 1321893 1321894 1321912 1321914 1321918 1321919 1321989 1321990 1325318 1325331 1327771 1327771 1327772 1327780 1327784 1327811 1327812 1327844 1327911 1327938 1327944 1328025 1328027 1328028 1328029 1328030 1328053 1328129 1328192 1328195 1328236 1328711 1328825 1328853 1328865 1328912 1328918 1328923 1328926 1330623 1330960 1332001 1332002 1332005 1332006 1332007 1332008 1332009 1332009 1332010 1332011 1332012 1332013 1332014 1332015 1332017 1332018 1332020 1332022 1332025 1332026 1332027 1332028 1332029 1332030 1332032 1332034 1332035 1332036 1332065 1332070 1332071 1332072 1332073 1332074 1332075 1332076 1332077 1332077 1332080 1332082 1332083 1332084 1332086 1332088 1332089 1332090 1332091 1332093 1332095 1332096 1332098 1332099 1332100 1332101 1332102 1332103 1332104 1332105 1332105 1332106 1332107 1332108 1332109 1332110 1332111 1332112 1332113 1332114 1332114 1332115 1332116 1332117 1332118 1332118 1332119 1332120 1332121 1332122 1332123 1332124 1332125 1332126 1332127 1332132 1332142 1332143 1332144 1332163 1332169 1332172 1332237 1332256 1332320 1332321 1332322 1332323 1332324 1332325 1332332 1332336 1332359 1332360 1332365 1332367 1332371 1332372 1332373 1332374 1332374 1332375 1332375 1332376 1332376 1332377 1332378 1332379 1332380 1332381 1332382 1332386 1332387 1332388 1332389 1332390 1332391 1332393 1332394 1332395 1332396 1332397 1332398 1332399 1332400 1332402 1332403 1332405 1332406 1332407 1332408 1332409 1332410 1332411 1332412 1332413 1332413 1332414 1332415 1332416 1332417 1332418 1332419 1332420 1332421 1332421 1332422 1332423 1332424 1332425 1332426 1332427 1332428 1332429 1332430 1332431 1332433 1332434 1332435 1332436 1332437 1332438 1332439 1332446 1332447 1332447 1332448 1332449 1332450 1332451 1332452 1332453 1332455 1332545 1332546 1332588 1332589 1332590 1332603 1332620 1332639 1332645 1332648 1332649 1332650 1332651 1332652 1332653 1332654 1332656 1332659 1332660 1332661 1332662 1332664 1332665 1332666 1332667 1332668 1332669 1332670 1332671 1332672 1332673 1332673 1332675 1332676 1332677 1332678 1332679 1332680 1332681 1332682 1332683 1332684 1332685 1332686 1332687 1332688 1332689 1332690 1332691 1332692 1332693 1332694 1332695 1332696 1332697 1332698 1332699 1332700 1332701 1332702 1332703 1332704 1332704 1332705 1332707 1332708 1332709 1332710 1332711 1332712 1332713 1332714 1332715 1332716 1332717 1332718 1332718 1332719 1332720 1332720 1332721 1332721 1332722 1332724 1332724 1332725 1332727 1332728 1332729 1332730 1332731 1332732 1332733 1332734 1332735 1332736 1332737 1332738 1332739 1332740 1332741 1332742 1332743 1332744 1332745 1332747 1332749 1332750 1332751 1332752 1332753 1332754 1332755 1332757 1332758 1332759 1332760 1332761 1332762 1332763 1332764 1332765 1332765 1332766 1332767 1332768 1332770 1332771 1332772 1332773 1332774 1332775 1332776 1332777 1332778 1332780 1332781 1332781 1332782 1332782 1332784 1332784 1332785 1332785 1332786 1332787 1332787 1332788 1332789 1332790 1332791 1332792 1332793 1332794 1332795 1332796 1332797 1332798 1332799 1332800 1332801 1332802 1332803 1332804 1332805 1332806 1332807 1332808 1332809 1332810 1332811 1332812 1332813 1332814 1332816 1332817 1332818 1332819 1332820 1332821 1332822 1332823 1332824 1332826 1332828 1332829 1332830 1332834 1332838 1332856 1332857 1332858 1332870 1332924 1332927 1333018 1333031 1333075 1333076 1333079 1333080 1333104 1333105 1333135 1333152 1333165 1333166 1333168 1333180 1333181 1333182 1333183 1333185 1333187 1333188 1333192 1333193 1333194 1333195 1333196 1333197 1333198 1333199 1333200 1333201 1333202 1333203 1333205 1333206 1333207 1333208 1333208 1333209 1333210 1333210 1333212 1333213 1333214 1333216 1333217 1333218 1333219 1333221 1333223 1333225 1333226 1333227 1333228 1333229 1333231 1333232 1333234 1333235 1333236 1333237 1333240 1333241 1333242 1333243 1333244 1333245 1333246 1333247 1333248 1333249 1333250 1333251 1333253 1333254 1333255 1333256 1333257 1333258 1333261 1333263 1333282 1333302 1333311 1333312 1333314 1333317 1333326 1333327 1333327 1333329 1333331 1333332 1333333 1333334 1333336 1333337 1333338 1333339 1333340 1333341 1333342 1333343 1333347 1333349 1333350 1333351 1333352 1333352 1333355 1333356 1333357 1333358 1333359 1333360 1333361 1333362 1333363 1333365 1333366 1333367 1333368 1333398 1333402 1333408 1333409 1333410 1333421 1333435 1333471 1333478 1333483 1333497 1333498 1333522 1333523 1333524 1333525 1333526 1333527 1333528 1333529 1333530 1333532 1333533 1333535 1333536 1333537 1333538 1333539 1333540 1333541 1333542 1333543 1333544 1333545 1333547 1333548 1333565 1333566 1333567 1333568 1333569 1333570 1333571 1333572 1333572 1333573 1333573 1333574 1333575 1333576 1333577 1333578 1333579 1333581 1333583 1333583 1333584 1333585 1333586 1333587 1333588 1333589 1333633 1333634 1333637 1333651 1333652 1333653 1333655 1333656 1333658 1333659 1333660 1333661 1333662 1333663 1333664 1333665 1333666 1333667 1333667 1333668 1333669 1333670 1333672 1333673 1333674 1333675 1333676 1333677 1333678 1333679 1333681 1333682 1333683 1333684 1333685 1333686 1333687 1333688 1333689 1333690 1333691 1333692 1333693 1333694 1333695 1333695 1333696 1333697 1333698 1333699 1333700 1333701 1333702 1333703 1333704 1333705 1333706 1333707 1333708 1333710 1333711 1333712 1333713 1333714 1333715 1333716 1333717 1333718 1333719 1333720 1333721 1333722 1333723 1333724 1333725 1333726 1333728 1333729 1333730 1333731 1333733 1333736 1333738 1333739 1333806 1333808 1333809 1333827 1333828 1333877 1333882 1333884 1333887 1333890 1333891 1333892 1333893 1333894 1333895 1333897 1333898 1333899 1333900 1333902 1333902 1333903 1333906 1333908 1333909 1333910 1333912 1333913 1333914 1333915 1333916 1333919 1333920 1333920 1333921 1333921 1333922 1333923 1333924 1333925 1333926 1333927 1333928 1333929 1333930 1333931 1333931 1333933 1333934 1333935 1333948 1333949 1333999 1334000 1334032 1334033 1334039 1334041 1334043 1334046 1334064 1334072 1334073 1334074 1334075 1334076 1334077 1334078 1334079 1334080 1334081 1334082 1334083 1334084 1334085 1334086 1334087 1334088 1334089 1334090 1334091 1334092 1334093 1334094 1334095 1334096 1334097 1334098 1334099 1334100 1334101 1334102 1334103 1334105 1334106 1334107 1334108 1334109 1334110 1334111 1334112 1334114 1334115 1334116 1334117 1334118 1334119 1334120 1334121 1334122 1334123 1334124 1334125 1334125 1334126 1334126 1334127 1334128 1334129 1334130 1334131 1334132 1334133 1334134 1334135 1334136 1334137 1334138 1334139 1334140 1334141 1334142 1334144 1334145 1334146 1334147 1334148 1334155 1334162 1334163 1334164 1334165 1334189 1334190 1334191 1334193 1334195 1334196 1334197 1334201 1334204 1334205 1334214 1334283 1334286 1334289 1334290 1334291 1334292 1334294 1334295 1334306 1334307 1334308 1334309 1334309 1334310 1334311 1334313 1334314 1334324 1334325 1334326 1334329 1334330 1334331 1334332 1334333 1334334 1334335 1334336 1334337 1334338 1334339 1334340 1334341 1334342 1334343 1334345 1334346 1334347 1334347 1334348 1334348 1334349 1334350 1334351 1334352 1334353 1334354 1334392 1334397 1334435 1334456 1334468 1334469 1334470 1334471 1334472 1334473 1334474 1334475 1334476 1334476 1334477 1334478 1334479 1334480 1334481 1334482 1334483 1334485 1334487 1334488 1334489 1334490 1334491 1334492 1334493 1334494 1334495 1334496 1334497 1334498 1334499 1334501 1334502 1334503 1334504 1334505 1334506 1334507 1334508 1334509 1334510 1334511 1334512 1334512 1334513 1334514 1334515 1334516 1334517 1334518 1334518 1334519 1334521 1334522 1334523 1334525 1334526 1334527 1334528 1334530 1334531 1334532 1334533 1334534 1334535 1334536 1334537 1334538 1334539 1334545 1334632 1334639 1334692 1334693 1334706 1334751 1334765 1334766 1334777 1334805 1334832 1334833 1334834 1334837 1334858 1334859 1334861 1334862 1334862 1334863 1334864 1334865 1334866 1334867 1334868 1334869 1334870 1334871 1334872 1334873 1334874 1334875 1334875 1334877 1334878 1334878 1334879 1334880 1334880 1334881 1334882 1334883 1334884 1334885 1334886 1334887 1334889 1334890 1334891 1334894 1334895 1334896 1334897 1334899 1334900 1334901 1334902 1334903 1334904 1334905 1334906 1334907 1334908 1334909 1334910 1334911 1334912 1334913 1334914 1334915 1334933 1334944 1334952 1334960 1334961 1334981 1335068 1335071 1335072 1335073 1335075 1335076 1335077 1335078 1335079 1335081 1335082 1335083 1335083 1335084 1335084 1335085 1335085 1335086 1335086 1335087 1335087 1335088 1335088 1335090 1335091 1335092 1335093 1335132 1335134 1335135 1335136 1335137 1335138 1335142 1335143 1335144 1335186 1335188 1335189 1335190 1335191 1335192 1335193 1335194 1335195 1335196 1335197 1335197 1335198 1335199 1335200 1335201 1335202 1335203 1335204 1335205 1335206 1335207 1335208 1335209 1335209 1335210 1335211 1335212 1335213 1335214 1335215 1335216 1335216 1335217 1335219 1335219 1335220 1335221 1335222 1335223 1335224 1335225 1335226 1335227 1335228 1335229 1335230 1335231 1335232 1335233 1335234 1335236 1335236 1335237 1335237 1335238 1335239 1335240 1335241 1335242 1335243 1335244 1335248 1335249 1335250 1335252 1335253 1335254 1335259 1335261 1335262 1335264 1335265 1335267 1335268 1335270 1335271 1335272 1335273 1335274 1335276 1335278 1335279 1335280 1335281 1335283 1335284 1335285 1335286 1335287 1335288 1335289 1335290 1335293 1335296 1335297 1335332 1335333 1335369 1335375 1335376 1335400 1335404 1335405 1335408 1335430 1335439 1335440 1335455 1335464 1335494 1335528 1335530 1335532 1335533 1335534 1335537 1335538 1335539 1335540 1335547 1335549 1335552 1335553 1335554 1335555 1335559 1335562 1335580 1335587 1335588 1335589 1335590 1335591 1335596 1335597 1335599 1335602 1335604 1335605 1335606 1335607 1335608 1335609 1335610 1335613 1335614 1335616 1335617 1335619 1335620 1335621 1335623 1335624 1335625 1335628 1335629 1335630 1335631 1335632 1335633 1335634 1335635 1335636 1335637 1335638 1335639 1335640 1335641 1335642 1335643 1335645 1335646 1335647 1335648 1335649 1335650 1335650 1335651 1335652 1335653 1335654 1335655 1335665 1335671 1335674 1335675 1335676 1335755 1335763 1335770 1335782 1335783 1335784 1335786 1335792 1335795 1335796 1335797 1335798 1335799 1335800 1335802 1335803 1335804 1335805 1335806 1335807 1335808 1335809 1335810 1335811 1335812 1335813 1335814 1335816 1335817 1335818 1335821 1335822 1335823 1335824 1335826 1335828 1335829 1335830 1335831 1335832 1335833 1335834 1335835 1335836 1335837 1335840 1335841 1335842 1335842 1335843 1335844 1335845 1335846 1335847 1335848 1335849 1335850 1335851 1335852 1335855 1335857 1335858 1335859 1335860 1335862 1335864 1335865 1335866 1335867 1335868 1335869 1335870 1335871 1335872 1335873 1335874 1335875 1335876 1335877 1335878 1335879 1335881 1335884 1335886 1335887 1335888 1335889 1335892 1335946 1335948 1335949 1335953 1335958 1335960 1335961 1335962 1335977 1335984 1335987 1335988 1335989 1336017 1336511 1336533 1336539 1336547 1336556 1336557 1336558 1336560 1336561 1336562 1336563 1336564 1336565 1336566 1336567 1336568 1336569 1336571 1336573 1336574 1336575 1336576 1336578 1336579 1336583 1336585 1336594 1336596 1336598 1336599 1336601 1336602 1336603 1336604 1336605 1336606 1336607 1336608 1336610 1336620 1336621 1336622 1336623 1336624 1336625 1336626 1336627 1336629 1336630 1336631 1336632 1336633 1336634 1336635 1336636 1336637 1336638 1336639 1336640 1336641 1336642 1336643 1336644 1336645 1336646 1336647 1336648 1336649 1336650 1336652 1336653 1336654 1336655 1336656 1336657 1336658 1336659 1336660 1336661 1336662 1336663 1336664 1336665 1336666 1336667 1336668 1336669 1336670 1336671 1336673 1336674 1336675 1336676 1336677 1336678 1336679 1336680 1336681 1336683 1336685 1336686 1336688 1336689 1336690 1336692 1336693 1336694 1336696 1336697 1336700 1336701 1336737 1336767 1336768 1336776 1336777 1336780 1336781 1336788 1336789 1336798 1336799 1336803 1336804 1336807 1336818 1336821 1336836 1336837 1336838 1336848 1336849 1336923 1336926 1336927 1336929 1336930 1336931 1336932 1336933 1336934 1336936 1336937 1336938 1336952 1336965 1336966 1336986 1336988 1336990 1337001 1337002 1337003 1337005 1337007 1337027 1337028 1337029 1337030 1337031 1337032 1337033 1337034 1337037 1337041 1337043 1337047 1337049 1337051 1337052 1337055 1337056 1337080 1337090 1337091 1337092 1337094 1337096 1337097 1337098 1337103 1337104 1337105 1337106 1337107 1337108 1337109 1337109 1337110 1337111 1337112 1337113 1337114 1337262 1337342 1363842 1363845 1363852 1363878 1363982 1363984 1364012 1364020 1364078 1364081 1364082 1364113 1364142 1364160 1364508 1364684 1364818 1365484 1365511 1366067 1366325 1366332 1366332 1366355 1366358 1366370 1366394 1366433 1366439 1366441 1366448 1366449 1366450 1366459 1366462 1366462 1366463 1366464 1366475 1366477 1366479 1366480 1366481 1366482 1366486 1366487 1366488 1366489 1366490 1366496 1366498 1366499 1366500 1366502 1366503 1366506 1366509 1366510 1366512 1366513 1366514 1366515 1366516 1366517 1366519 1366520 1366521 1366524 1366525 1366526 1366527 1366528 1366529 1366530 1366532 1366535 1366536 1366537 1366544 1366550 1366555 1366556 1366557 1366561 1366562 1366563 1366564 1366565 1366566 1366571 1366571 1366572 1366582 1366583 1366584 1366586 1366587 1366617 1366618 1366622 1366622 1366623 1366628 1366631 1366637 1366644 1366645 1366646 1366649 1366674 1366678 1366752 1366753 1366757 1366763 1366764 1366765 1366767 1366777 1366824 1366832 1366837 1366838 1366857 1366875 1366876 1366879 1366882 1366894 1366895 1366897 1366898 1366903 1366909 1366910 1366911 1367004 1367009 1367028 1367148 1367171 1367177 1367202 1367204 1367307 1367342 1367374 1367389 1367441 1367443 1367449 1367452 1367453 1367454 1367455 1367456 1367457 1367458 1367459 1367460 1367466 1367469 1367471 1367472 1367475 1367476 1367477 1367482 1367485 1367517 1367551 1367552 1367553 1367578 1367595 1367597 1367601 1367655 1367656 1367657 1367671 1367673 1367675 1367689 1367690 1367699 1367699 1367701 1367702 1367706 1367710 1367714 1367721 1367731 1367780 1367790 1367797 1367798 1367800 1367881 1367971 1368102 1368105 1368110 1368111 1368113 1368192 1368327 1368335 1368803 1370152 1370600 1377871 1378702 1382029 1382144 1382176 1384510 1384511 1384512 1384513 1384522 1384524 1384537 1384538 1384539 1384543 1384551 1384553 1384567 1384573 1384603 1384610 1384612 1384616 1384616 1384617 1384619 1384645 1384665 1384671 1384672 1384673 1411929 1411976 1412005 1412024 1412028 1412030 1412031 1412045 1412046 1412047 1412048 1412050 1412051 1412052 1412053 1412054 1412055 1412056 1412057 1412058 1412059 1412061 1412062 1412063 1412064 1412065 1412066 1412067 1412068 1412069 1412070 1412071 1412072 1412073 1412074 1412075 1412076 1412077 1412078 1412079 1412080 1412081 1412082 1412083 1412084 1412089 1412090 1412091 1412092 1412093 1412094 1412095 1412096 1412097 1412098 1412099 1412100 1412100 1412101 1412102 1412103 1412104 1412105 1412106 1412107 1412108 1412109 1412110 1412111 1412112 1412113 1412114 1412114 1412115 1412116 1412117 1412118 1412119 1412120 1412122 1412122 1412124 1412125 1412126 1412127 1412128 1412129 1412130 1412131 1412132 1412133 1412134 1412135 1412136 1412137 1412138 1412140 1412148 1412149 1412163 1412164 1412165 1412166 1412167 1412168 1412169 1412170 1412171 1412172 1412173 1412175 1412176 1412177 1412178 1412179 1412180 1412181 1412182 1412186 1412187 1412188 1412189 1412191 1412192 1412193 1412197 1412198 1412199 1412200 1412204 1412205 1412206 1412207 1412208 1412209 1412210 1412211 1412213 1412214 1412215 1412216 1412217 1412218 1412219 1412220 1412221 1412222 1412223 1412224 1412225 1412226 1412227 1412228 1412229 1412230 1412231 1412232 1412233 1412234 1412235 1412236 1412237 1412238 1412239 1412241 1412242 1412243 1412244 1412245 1412246 1412247 1412251 1412252 1412253 1412260 1412261 1412262 1412263 1412266 1412267 1412268 1412271 1412273 1412274 1412275 1412276 1412277 1412277 1412278 1412279 1412281 1412282 1412283 1412284 1412285 1412286 1412289 1412289 1412290 1412291 1412292 1412293 1412294 1412295 1412296 1412297 1412299 1412302 1412303 1412304 1412305 1412306 1412307 1412309 1412311 1412312 1412313 1412314 1412315 1412316 1412317 1412318 1412319 1412320 1412321 1412322 1412323 1412324 1412325 1412326 1412327 1412328 1412329 1412330 1412331 1412332 1412333 1412334 1412335 1412336 1412337 1412338 1412339 1412340 1412341 1412342 1412343 1412344 1412347 1412348 1412355 1412356 1412357 1412359 1412360 1412361 1412362 1412363 1412364 1412365 1412366 1412367 1412368 1412369 1412370 1412371 1412372 1412373 1412374 1412375 1412376 1412378 1412379 1412380 1412381 1412382 1412383 1412384 1412386 1412387 1412388 1412389 1412390 1412391 1412392 1412393 1412394 1412395 1412397 1412398 1412399 1412400 1412401 1412402 1412403 1412404 1412405 1412407 1412409 1412417 1412418 1412419 1412420 1412423 1412424 1412425 1412426 1412427 1412428 1412429 1412430 1412431 1412433 1412434 1412435 1412438 1412439 1412440 1412441 1412442 1412443 1412444 1412445 1412446 1412447 1412448 1412450 1412451 1412452 1412453 1412454 1412455 1412456 1412457 1412458 1412459 1412460 1412463 1412466 1412467 1412468 1412469 1412470 1412471 1412472 1412473 1412475 1412477 1412478 1412479 1412480 1412481 1412483 1412484 1412485 1412486 1412487 1412488 1412489 1412491 1412492 1412493 1412494 1412495 1412496 1412497 1412498 1412499 1412500 1412501 1412502 1412504 1412505 1412506 1412507 1412510 1412511 1412513 1412514 1412515 1412516 1412517 1412519 1412520 1412521 1412522 1412523 1412524 1412525 1412526 1412527 1412528 1412529 1412530 1412531 1412532 1412533 1412534 1412535 1412536 1412537 1412538 1412539 1412541 1412542 1412544 1412545 1412546 1412547 1412548 1412549 1412550 1412551 1412552 1412553 1412554 1412555 1412556 1412557 1412558 1412560 1412562 1412563 1412564 1412566 1412567 1412568 1412569 1412570 1412573 1412574 1412575 1412576 1412577 1412578 1412579 1412580 1412581 1412582 1412584 1412585 1412586 1412587 1412588 1412591 1412592 1412593 1412608 1412610 1412611 1412611 1412612 1412614 1412615 1412616 1412617 1412621 1412622 1412623 1412624 1412625 1412626 1412627 1412628 1412629 1412630 1412631 1412632 1412633 1412635 1412637 1412638 1412639 1412640 1412641 1412642 1412643 1412644 1412645 1412646 1412647 1412653 1412656 1412658 1412659 1412661 1412662 1412663 1412664 1412666 1412667 1412668 1412671 1412672 1412673 1412674 1412675 1412676 1412677 1412681 1412682 1412684 1412685 1412686 1412687 1412688 1412689 1412690 1412691 1412696 1412697 1412698 1412699 1412701 1412706 1412709 1412714 1412715 1412716 1412717 1412718 1412719 1412720 1412721 1412722 1412723 1412724 1412725 1412726 1412727 1412728 1412729 1412730 1412731 1412732 1412733 1412734 1412734 1412735 1412736 1412737 1412738 1412739 1412740 1412741 1412742 1412743 1412744 1412745 1412746 1412747 1412749 1412750 1412751 1412752 1412753 1412755 1412756 1412759 1412760 1412761 1412762 1412766 1412767 1412768 1412769 1412769 1412770 1412772 1412773 1412774 1412777 1412778 1412781 1412782 1412783 1412784 1412785 1412787 1412788 1412789 1412790 1412791 1412792 1412793 1412793 1412794 1412795 1412796 1412797 1412798 1412799 1412800 1412801 1412802 1412803 1412804 1412805 1412806 1412807 1412808 1412810 1412811 1412812 1412813 1412814 1412815 1412816 1412817 1412819 1412820 1412821 1412822 1412823 1412824 1412825 1412826 1412828 1412829 1412830 1412831 1412832 1412833 1412834 1412835 1412836 1412840 1412841 1412842 1412843 1412844 1412845 1412846 1412847 1412849 1412850 1412851 1412853 1412854 1412855 1412856 1412857 1412858 1412864 1412866 1412869 1412870 1412871 1412873 1412875 1412879 1412880 1412881 1412882 1412884 1412886 1412887 1412887 1412889 1412906 1412918 1412922 1412924 1412925 1412926 1412930 1412931 1412932 1412933 1412936 1412937 1412938 1412939 1412940 1412946 1412954 1412958 1412969 1412978 1412980 1412984 1412990 1412992 1412993 1412994 1412994 1412995 1412996 1412998 1412999 1413000 1413001 1413004 1413005 1413006 1413009 1413010 1413012 1413012 1413013 1413014 1413019 1413023 1413024 1413025 1413028 1413029 1413030 1413031 1413032 1413036 1413037 1413038 1413039 1413040 1413041 1413042 1413043 1413044 1413045 1413046 1413047 1413049 1413050 1413051 1413052 1413053 1413055 1413056 1413057 1413058 1413059 1413060 1413061 1413062 1413063 1413064 1413065 1413066 1413067 1413068 1413069 1413070 1413071 1413072 1413073 1413074 1413075 1413076 1413078 1413079 1413080 1413081 1413083 1413085 1413086 1413087 1413089 1413093 1413094 1413095 1413096 1413097 1413098 1413099 1413100 1413101 1413102 1413103 1413104 1413105 1413106 1413107 1413108 1413109 1413110 1413111 1413112 1413113 1413114 1413115 1413116 1413117 1413118 1413119 1413120 1413121 1413123 1413124 1413125 1413126 1413127 1413127 1413128 1413131 1413132 1413133 1413134 1413135 1413136 1413137 1413138 1413143 1413145 1413146 1413147 1413148 1413149 1413150 1413151 1413152 1413153 1413154 1413155 1413156 1413157 1413158 1413159 1413160 1413161 1413162 1413163 1413164 1413165 1413166 1413167 1413168 1413169 1413170 1413171 1413172 1413173 1413175 1413176 1413177 1413178 1413179 1413180 1413181 1413182 1413183 1413184 1413185 1413186 1413188 1413189 1413190 1413191 1413192 1413193 1413194 1413195 1413196 1413197 1413198 1413200 1413201 1413202 1413203 1413204 1413205 1413206 1413207 1413208 1413209 1413210 1413211 1413212 1413217 1413218 1413219 1413220 1413221 1413222 1413223 1413225 1413226 1413227 1413228 1413230 1413231 1413232 1413233 1413234 1413235 1413236 1413237 1413238 1413239 1413240 1413241 1413242 1413243 1413244 1413246 1413247 1413248 1413249 1413250 1413251 1413252 1413253 1413254 1413255 1413256 1413257 1413258 1413259 1413260 1413261 1413261 1413262 1413263 1413264 1413266 1413267 1413268 1413269 1413270 1413272 1413273 1413274 1413275 1413276 1413277 1413278 1413279 1413280 1413281 1413282 1413283 1413284 1413285 1413286 1413287 1413288 1413289 1413290 1413291 1413292 1413295 1413296 1413297 1413298 1413299 1413300 1413301 1413302 1413303 1413305 1413306 1413307 1413308 1413309 1413310 1413314 1413320 1413322 1413323 1413324 1413325 1413326 1413327 1413328 1413336 1413337 1413338 1413339 1413340 1413342 1413344 1413345 1413346 1413347 1413348 1413349 1413350 1413351 1413352 1413353 1413354 1413355 1413356 1413357 1413362 1413363 1413365 1413366 1413367 1413367 1413368 1413369 1413371 1413372 1413373 1413374 1413375 1413376 1413377 1413378 1413379 1413380 1413381 1413382 1413383 1413387 1413388 1413389 1413390 1413391 1413392 1413393 1413394 1413395 1413396 1413397 1413398 1413399 1413400 1413401 1413402 1413403 1413404 1413405 1413406 1413407 1413408 1413409 1413410 1413411 1413412 1413413 1413414 1413415 1413416 1413417 1413418 1413419 1413420 1413420 1413421 1413422 1413423 1413425 1413426 1413427 1413428 1413429 1413430 1413432 1413435 1413436 1413437 1413440 1413442 1413444 1413445 1413447 1413448 1413449 1413450 1413451 1413452 1413453 1413454 1413455 1413456 1413457 1413458 1413460 1413461 1413462 1413463 1413464 1413465 1413466 1413467 1413468 1413469 1413470 1413471 1413472 1413473 1413474 1413475 1413476 1413477 1413478 1413479 1413483 1413484 1413485 1413486 1413487 1413488 1413489 1413490 1413492 1413494 1413495 1413497 1413498 1413500 1413501 1413502 1413503 1413504 1413505 1413507 1413508 1413509 1413510 1413511 1413512 1413513 1413514 1413515 1413516 1413517 1413518 1413520 1413531 1413535 1413540 1413541 1413542 1413542 1413543 1413544 1413545 1413546 1413547 1413548 1413549 1413550 1413551 1413552 1413553 1413554 1413555 1413557 1413558 1413559 1413560 1413561 1413562 1413563 1413564 1413565 1413567 1413568 1413569 1413570 1413571 1413572 1413573 1413574 1413575 1413576 1413577 1413578 1413579 1413580 1413581 1413582 1413583 1413584 1413585 1413586 1413587 1413588 1413589 1413590 1413591 1413592 1413593 1413594 1413595 1413596 1413597 1413598 1413599 1413603 1413604 1413605 1413606 1413607 1413610 1413611 1413612 1413613 1413614 1413615 1413616 1413617 1413619 1413621 1413622 1413623 1413624 1413625 1413627 1413628 1413629 1413630 1413632 1413633 1413634 1413636 1413638 1413646 1413648 1413655 1413656 1413658 1413659 1413661 1413662 1413663 1413664 1413665 1413666 1413667 1413668 1413669 1413670 1413671 1413672 1413673 1413674 1413677 1413678 1413679 1413680 1413681 1413682 1413683 1413684 1413685 1413686 1413687 1413688 1413689 1413690 1413691 1413692 1413693 1413694 1413695 1413696 1413697 1413698 1413699 1413700 1413701 1413702 1413703 1413704 1413705 1413706 1413707 1413708 1413709 1413710 1413711 1413712 1413713 1413714 1413715 1413716 1413717 1413720 1413721 1413723 1413724 1413725 1413726 1413727 1413728 1413729 1413730 1413731 1413732 1413733 1413734 1413735 1413736 1413737 1413738 1413740 1413741 1413742 1413743 1413745 1413746 1413746 1413748 1413749 1413750 1413752 1413753 1413754 1413755 1413756 1413757 1413760 1413761 1413762 1413763 1413763 1413764 1413765 1413766 1413767 1413769 1413770 1413771 1413772 1413773 1413774 1413775 1413776 1413777 1413778 1413779 1413780 1413781 1413782 1413784 1413785 1413786 1413787 1413788 1413789 1413790 1413791 1413792 1413794 1413795 1413796 1413797 1413798 1413800 1413801 1413803 1413804 1413804 1413805 1413806 1413807 1413808 1413809 1413810 1413811 1413812 1413813 1413814 1413815 1413816 1413816 1413820 1413821 1413822 1413823 1413824 1413824 1413825 1413825 1413826 1413827 1413827 1413828 1413829 1413830 1413831 1413833 1413834 1413834 1413836 1413837 1413843 1413844 1413845 1413848 1413850 1413851 1413852 1413855 1413856 1413857 1413858 1413859 1413860 1413861 1413862 1413863 1413864 1413865 1413866 1413867 1413868 1413869 1413871 1413873 1413878 1413879 1413880 1413881 1413882 1413884 1413885 1413886 1413887 1413888 1413889 1413891 1413892 1413893 1413894 1413895 1413896 1413898 1413899 1413900 1413901 1413902 1413903 1413904 1413905 1413906 1413907 1413908 1413909 1413911 1413912 1413913 1413914 1413915 1413915 1413916 1413917 1413922 1413923 1413924 1413925 1413926 1413927 1413929 1413929 1413930 1413931 1413932 1413933 1413934 1413935 1413936 1413937 1413938 1413939 1413940 1413941 1413942 1413943 1413944 1413944 1413945 1413945 1413947 1413948 1413949 1413950 1413952 1413953 1413955 1413957 1413958 1413960 1413961 1413962 1413963 1413965 1413966 1413968 1413969 1413971 1413972 1413973 1413974 1413975 1413976 1413977 1413978 1413978 1413979 1413980 1413982 1413983 1413989 1414000 1414006 1414008 1414009 1414014 1414018 1414019 1414023 1414024 1414025 1414026 1414027 1414028 1414029 1414030 1414031 1414032 1414033 1414034 1414035 1414036 1414037 1414038 1414039 1414040 1414044 1414045 1414046 1414047 1414048 1414049 1414050 1414051 1414052 1414053 1414054 1414056 1414057 1414058 1414059 1414060 1414061 1414062 1414063 1414064 1414065 1414066 1414067 1414068 1414069 1414070 1414071 1414072 1414073 1414075 1414076 1414077 1414078 1414079 1414080 1414081 1414082 1414083 1414084 1414085 1414086 1414087 1414088 1414089 1414090 1414091 1414092 1414093 1414094 1414095 1414097 1414099 1414101 1414102 1414103 1414104 1414105 1414107 1414108 1414109 1414110 1414111 1414118 1414119 1414120 1414121 1414122 1414123 1414124 1414125 1414126 1414127 1414128 1414129 1414130 1414131 1414131 1414132 1414133 1414134 1414137 1414138 1414139 1414140 1414141 1414142 1414143 1414144 1414145 1414146 1414147 1414148 1414151 1414152 1414153 1414154 1414155 1414156 1414157 1414158 1414159 1414160 1414160 1414161 1414162 1414162 1414163 1414163 1414164 1414165 1414166 1414167 1414167 1414168 1414169 1414170 1414172 1414173 1414174 1414175 1414176 1414177 1414178 1414179 1414180 1414181 1414182 1414183 1414184 1414185 1414186 1414187 1414188 1414189 1414191 1414193 1414194 1414197 1414199 1414200 1414201 1414202 1414203 1414204 1414205 1414206 1414207 1414208 1414209 1414210 1414212 1414213 1414216 1414217 1414218 1414219 1414220 1414222 1414223 1414224 1414225 1414227 1414228 1414229 1414230 1414231 1414232 1414233 1414234 1414235 1414236 1414242 1414243 1414244 1414245 1414246 1414247 1414248 1414249 1414250 1414251 1414252 1414253 1414253 1414254 1414255 1414255 1414256 1414256 1414257 1414258 1414259 1414260 1414261 1414262 1414263 1414264 1414265 1414266 1414267 1414269 1414270 1414273 1414288 1414289 1414290 1414292 1414293 1414294 1414295 1414297 1414298 1414300 1414301 1414302 1414303 1414304 1414305 1414306 1414307 1414308 1414309 1414313 1414314 1414315 1414316 1414317 1414318 1414319 1414320 1414321 1414322 1414323 1414325 1414326 1414327 1414328 1414329 1414330 1414331 1414332 1414333 1414334 1414335 1414336 1414337 1414338 1414339 1414340 1414340 1414341 1414342 1414344 1414345 1414346 1414347 1414349 1414350 1414351 1414352 1414353 1414354 1414356 1414357 1414358 1414359 1414360 1414361 1414365 1414366 1414367 1414368 1414368 1414369 1414369 1414370 1414371 1414372 1414373 1414374 1414375 1414376 1414377 1414378 1414379 1414381 1414382 1414385 1414386 1414387 1414388 1414389 1414390 1414391 1414393 1414394 1414395 1414396 1414397 1414398 1414399 1414400 1414400 1414402 1414404 1414405 1414406 1414407 1414408 1414409 1414410 1414411 1414412 1414413 1414414 1414415 1414416 1414417 1414420 1414421 1414422 1414423 1414424 1414425 1414426 1414427 1414428 1414429 1414430 1414431 1414432 1414433 1414434 1414435 1414436 1414437 1414438 1414439 1414440 1414442 1414443 1414444 1414447 1414448 1414456 1414457 1414458 1414459 1414460 1414461 1414462 1414463 1414465 1414466 1414467 1414471 1414472 1414473 1414474 1414475 1414476 1414477 1414478 1414478 1414479 1414480 1414481 1414482 1414485 1414486 1414488 1414490 1414491 1414492 1414493 1414497 1414498 1414499 1414500 1414503 1414504 1414505 1414506 1414507 1414508 1414509 1414511 1414512 1414513 1414515 1414516 1414517 1414518 1414518 1414519 1414520 1414521 1414522 1414523 1414524 1414525 1414527 1414528 1414529 1414530 1414531 1414532 1414533 1414534 1414535 1414536 1414538 1414539 1414540 1414541 1414542 1414543 1414544 1414545 1414546 1414547 1414548 1414549 1414550 1414551 1414552 1414553 1414554 1414555 1414556 1414557 1414558 1414559 1414560 1414561 1414562 1414563 1414564 1414571 1414572 1414575 1414576 1414577 1414580 1414581 1414582 1414583 1414586 1414587 1414588 1414589 1414590 1414591 1414592 1414593 1414594 1414595 1414596 1414597 1414598 1414599 1414600 1414601 1414602 1414603 1414604 1414605 1414607 1414608 1414609 1414610 1414611 1414612 1414613 1414614 1414615 1414617 1414618 1414619 1414624 1414625 1414626 1414627 1414628 1414629 1414630 1414631 1414632 1414633 1414634 1414635 1414636 1414637 1414638 1414639 1414640 1414641 1414642 1414643 1414644 1414645 1414646 1414647 1414648 1414649 1414650 1414651 1414652 1414655 1414658 1414660 1414662 1414664 1414666 1414667 1414668 1414669 1414670 1414671 1414672 1414673 1414674 1414675 1414676 1414677 1414678 1414681 1414682 1414683 1414684 1414685 1414686 1414687 1414688 1414689 1414690 1414691 1414691 1414692 1414692 1414693 1414694 1414695 1414698 1414699 1414700 1414705 1414706 1414707 1414709 1414711 1414714 1414716 1414720 1414721 1414722 1414723 1414724 1414725 1414728 1414729 1414733 1414736 1414739 1414747 1414749 1414751 1414755 1414756 1414771 1414773 1414776 1414778 1414780 1414781 1414783 1414784 1414787 1414789 1414790 1414791 1414795 1414796 1414797 1414803 1414805 1414805 1414806 1414807 1414809 1414810 1414812 1414814 1414815 1414819 1414820 1414824 1414825 1414828 1414829 1414830 1414831 1414832 1414833 1414843 1414852 1414855 1414856 1414857 1414859 1414860 1414861 1414862 1414863 1414864 1414865 1414866 1414867 1414868 1414869 1414870 1414872 1414873 1414874 1414875 1414876 1414877 1414878 1414879 1414883 1414884 1414885 1414886 1414887 1414888 1414889 1414892 1414895 1414898 1414899 1414900 1414901 1414902 1414904 1414905 1414906 1414907 1414908 1414909 1414910 1414911 1414912 1414913 1414914 1414915 1414916 1414917 1414918 1414919 1414920 1414921 1414922 1414923 1414924 1414925 1414926 1414928 1414929 1414930 1414932 1414934 1414935 1414936 1414937 1414938 1414944 1414945 1414946 1414948 1414949 1414950 1414951 1414952 1414953 1414954 1414956 1414957 1414958 1414959 1414960 1414961 1414962 1414963 1414964 1414965 1414966 1414967 1414968 1414968 1414987 1414988 1414989 1414990 1414991 1414992 1414993 1414994 1414995 1414996 1414997 1414998 1415000 1415001 1415002 1415003 1415004 1415005 1415006 1415007 1415008 1415009 1415011 1415012 1415013 1415014 1415015 1415016 1415017 1415018 1415019 1415020 1415021 1415022 1415023 1415024 1415025 1415026 1415027 1415027 1415028 1415029 1415030 1415031 1415032 1415033 1415034 1415036 1415037 1415038 1415039 1415041 1415042 1415043 1415044 1415046 1415047 1415048 1415049 1415050 1415051 1415052 1415053 1415054 1415055 1415056 1415056 1415060 1415061 1415062 1415063 1415064 1415065 1415066 1415067 1415068 1415069 1415071 1415072 1415073 1415074 1415075 1415076 1415077 1415078 1415079 1415080 1415081 1415082 1415084 1415085 1415090 1415091 1415092 1415096 1415097 1415098 1415099 1415101 1415102 1415104 1415105 1415106 1415107 1415108 1415109 1415110 1415111 1415112 1415113 1415114 1415119 1415124 1415125 1415127 1415128 1415129 1415130 1415131 1415132 1415133 1415134 1415135 1415138 1415139 1415140 1415141 1415142 1415144 1415145 1415146 1415148 1415149 1415150 1415151 1415151 1415152 1415153 1415154 1415155 1415156 1415157 1415158 1415160 1415161 1415162 1415163 1415164 1415165 1415166 1415167 1415168 1415169 1415170 1415171 1415172 1415173 1415174 1415175 1415176 1415177 1415178 1415179 1415180 1415181 1415182 1415186 1415187 1415188 1415189 1415190 1415192 1415193 1415194 1415195 1415196 1415197 1415198 1415199 1415200 1415201 1415202 1415203 1415204 1415205 1415206 1415207 1415208 1415209 1415210 1415211 1415212 1415213 1415214 1415215 1415216 1415219 1415220 1415222 1415223 1415223 1415224 1415226 1415227 1415229 1415231 1415233 1415234 1415235 1415236 1415237 1415238 1415239 1415241 1415243 1415244 1415245 1415246 1415246 1415249 1415250 1415250 1415251 1415253 1415254 1415257 1415258 1415258 1415259 1415261 1415263 1415263 1415264 1415265 1415266 1415268 1415269 1415273 1415274 1415275 1415276 1415277 1415278 1415279 1415280 1415281 1415284 1415285 1415286 1415287 1415288 1415289 1415290 1415291 1415292 1415293 1415294 1415295 1415296 1415297 1415298 1415299 1415300 1415301 1415302 1415303 1415304 1415304 1415306 1415307 1415308 1415309 1415310 1415311 1415314 1415315 1415316 1415317 1415318 1415319 1415320 1415321 1415322 1415323 1415324 1415325 1415326 1415327 1415328 1415329 1415330 1415331 1415335 1415336 1415337 1415338 1415339 1415340 1415341 1415343 1415344 1415345 1415346 1415347 1415349 1415350 1415351 1415352 1415353 1415354 1415355 1415356 1415357 1415358 1415360 1415362 1415363 1415364 1415365 1415365 1415366 1415367 1415371 1415372 1415374 1415375 1415376 1415377 1415378 1415379 1415380 1415381 1415382 1415383 1415384 1415385 1415386 1415387 1415388 1415389 1415390 1415391 1415392 1415393 1415395 1415402 1415405 1415406 1415407 1415408 1415410 1415411 1415412 1415413 1415414 1415415 1415416 1415417 1415419 1415421 1415422 1415424 1415425 1415427 1415428 1415429 1415430 1415431 1415432 1415434 1415435 1415438 1415439 1415442 1415443 1415444 1415445 1415447 1415448 1415449 1415450 1415451 1415452 1415455 1415456 1415457 1415458 1415459 1415460 1415462 1415463 1415464 1415465 1415466 1415467 1415468 1415469 1415470 1415473 1415474 1415475 1415476 1415477 1415478 1415481 1415482 1415483 1415484 1415485 1415486 1415487 1415488 1415489 1415491 1415492 1415493 1415494 1415495 1415497 1415498 1415499 1415500 1415501 1415502 1415503 1415504 1415504 1415505 1415506 1415507 1415508 1415509 1415510 1415511 1415512 1415514 1415520 1415521 1415522 1415523 1415524 1415525 1415526 1415529 1415533 1415534 1415537 1415538 1415539 1415540 1415542 1415543 1415544 1415545 1415546 1415547 1415547 1415548 1415549 1415550 1415552 1415553 1415554 1415556 1415557 1415558 1415559 1415561 1415562 1415563 1415565 1415566 1415567 1415569 1415570 1415571 1415572 1415573 1415574 1415575 1415576 1415578 1415579 1415580 1415585 1415586 1415587 1415588 1415589 1415590 1415591 1415592 1415593 1415594 1415595 1415596 1415596 1415597 1415601 1415602 1415611 1415612 1415613 1415614 1415615 1415616 1415617 1415618 1415619 1415620 1415622 1415623 1415624 1415625 1415626 1415627 1415628 1415629 1415631 1415632 1415633 1415634 1415634 1415636 1415637 1415638 1415638 1415639 1415641 1415641 1415642 1415644 1415645 1415645 1415646 1415646 1415647 1415647 1415648 1415648 1415649 1415649 1415650 1415651 1415652 1415653 1415654 1415655 1415656 1415657 1415658 1415659 1415660 1415661 1415662 1415663 1415664 1415665 1415666 1415667 1415668 1415669 1415670 1415671 1415672 1415673 1415674 1415675 1415676 1415677 1415678 1415679 1415680 1415681 1415682 1415683 1415684 1415685 1415686 1415687 1415688 1415689 1415690 1415691 1415692 1415693 1415694 1415695 1415696 1415697 1415698 1415699 1415700 1415701 1415702 1415707 1415709 1415710 1415712 1415713 1415714 1415715 1415715 1415718 1415719 1415720 1415725 1415727 1415728 1415729 1415731 1415734 1415735 1415736 1415737 1415738 1415739 1415740 1415742 1415743 1415749 1415750 1415751 1415752 1415753 1415754 1415755 1415756 1415757 1415758 1415760 1415761 1415762 1415763 1415764 1415768 1415769 1415770 1415782 1415790 1415791 1415792 1415793 1415796 1415797 1415800 1415801 1415803 1415804 1415805 1415807 1415808 1415809 1415810 1415811 1415812 1415813 1415814 1415815 1415816 1415818 1415819 1415825 1415826 1415827 1415828 1415829 1415830 1415831 1415832 1415833 1415834 1415836 1415838 1415840 1415841 1415842 1415843 1415845 1415846 1415847 1415854 1415855 1415856 1415857 1415859 1415862 1415863 1415865 1415867 1415868 1415869 1415871 1415872 1415873 1415874 1415875 1415876 1415877 1415878 1415879 1415880 1415881 1415882 1415884 1415885 1415886 1415887 1415888 1415889 1415891 1415892 1415894 1415895 1415897 1415898 1415900 1415901 1415904 1415905 1415906 1415907 1415908 1415910 1415912 1415919 1415927 1415928 1415931 1415932 1415933 1415934 1415935 1415938 1415941 1415944 1415953 1415957 1415963 1415966 1415969 1415971 1415972 1415975 1415977 1415978 1415979 1415980 1415981 1415984 1415986 1415988 1415990 1415991 1415992 1415993 1415994 1415995 1415996 1416001 1416002 1416004 1416006 1416008 1416009 1416025 1416026 1416027 1416029 1416031 1416032 1416034 1416035 1416037 1416039 1416040 1416045 1416047 1416050 1416053 1416055 1416056 1416059 1416060 1416066 1416068 1416069 1416071 1416072 1416073 1416074 1416077 1416093 1416098 1416099 1416100 1416102 1416103 1416107 1416108 1416110 1416158 1416161 1416161 1416163 1416166 1416167 1416168 1416169 1416170 1416171 1416171 1416175 1416176 1416177 1416178 1416179 1416180 1416181 1416185 1416186 1416187 1416188 1416189 1416190 1416191 1416192 1416193 1416194 1416195 1416196 1416197 1416200 1416201 1416202 1416203 1416211 1416218 1416219 1416220 1416221 1416222 1416223 1416224 1416225 1416226 1416227 1416229 1416230 1416231 1416232 1416233 1416234 1416235 1416236 1416237 1416238 1416239 1416240 1416241 1416242 1416243 1416244 1416253 1416254 1416255 1416256 1416257 1416258 1416259 1416260 1416261 1416262 1416263 1416265 1416266 1416270 1416271 1416272 1416273 1416274 1416275 1416278 1416279 1416280 1416281 1416282 1416283 1416286 1416287 1416288 1416292 1416293 1416294 1416295 1416300 1416302 1416303 1416304 1416307 1416309 1416310 1416311 1416312 1416313 1416315 1416318 1416319 1416320 1416326 1416328 1416329 1416331 1416333 1416341 1416342 1416344 1416345 1416352 1416354 1416356 1416358 1416363 1416370 1416371 1416372 1416373 1416373 1416374 1416375 1416376 1416377 1416378 1416379 1416380 1416381 1416383 1416384 1416385 1416386 1416387 1416389 1416390 1416391 1416392 1416393 1416394 1416395 1416396 1416397 1416398 1416399 1416400 1416401 1416402 1416403 1416404 1416405 1416406 1416407 1416408 1416409 1416413 1416418 1416419 1416420 1416422 1416423 1416425 1416426 1416427 1416428 1416430 1416431 1416432 1416433 1416433 1416434 1416437 1416438 1416439 1416440 1416442 1416443 1416444 1416445 1416447 1416448 1416450 1416453 1416454 1416455 1416456 1416457 1416459 1416467 1416468 1416469 1416470 1416471 1416472 1416473 1416474 1416475 1416477 1416478 1416479 1416480 1416481 1416482 1416483 1416484 1416485 1416486 1416487 1416488 1416489 1416490 1416491 1416492 1416493 1416494 1416496 1416497 1416498 1416499 1416500 1416501 1416502 1416503 1416504 1416505 1416506 1416507 1416508 1416509 1416510 1416511 1416512 1416513 1416514 1416515 1416516 1416517 1416518 1416519 1416520 1416521 1416522 1416523 1416524 1416525 1416526 1416527 1416528 1416529 1416530 1416531 1416532 1416536 1416536 1416537 1416539 1416540 1416541 1416542 1416543 1416544 1416545 1416546 1416547 1416548 1416550 1416551 1416552 1416553 1416554 1416555 1416556 1416557 1416558 1416559 1416561 1416562 1416563 1416564 1416565 1416566 1416567 1416568 1416569 1416571 1416572 1416573 1416574 1416575 1416576 1416577 1416578 1416579 1416580 1416582 1416583 1416584 1416585 1416586 1416587 1416588 1416589 1416590 1416591 1416592 1416593 1416594 1416595 1416596 1416597 1416599 1416600 1416601 1416602 1416603 1416604 1416605 1416607 1416608 1416609 1416610 1416611 1416612 1416613 1416614 1416615 1416616 1416617 1416618 1416620 1416621 1416622 1416623 1416624 1416625 1416626 1416628 1416629 1416630 1416631 1416632 1416634 1416635 1416636 1416638 1416639 1416640 1416641 1416642 1416643 1416644 1416645 1416646 1416647 1416648 1416649 1416650 1416651 1416652 1416653 1416654 1416655 1416656 1416657 1416658 1416659 1416660 1416661 1416662 1416663 1416664 1416665 1416666 1416667 1416668 1416669 1416670 1416671 1416672 1416673 1416674 1416675 1416676 1416677 1416678 1416679 1416680 1416681 1416682 1416683 1416684 1416685 1416687 1416688 1416689 1416690 1416692 1416692 1416693 1416694 1416695 1416696 1416697 1416698 1416699 1416700 1416701 1416702 1416703 1416704 1416705 1416706 1416707 1416708 1416710 1416713 1416714 1416715 1416716 1416717 1416722 1416724 1416728 1416731 1416738 1416740 1416741 1416742 1416743 1416744 1416745 1416746 1416747 1416749 1416758 1416762 1416763 1416765 1416766 1416768 1416768 1416769 1416770 1416771 1416772 1416773 1416775 1416776 1416777 1416778 1416779 1416780 1416781 1416783 1416784 1416785 1416786 1416787 1416788 1416790 1416795 1416796 1416797 1416798 1416799 1416800 1416801 1416802 1416804 1416805 1416806 1416808 1416809 1416810 1416811 1416817 1416820 1416821 1416822 1416823 1416824 1416825 1416826 1416827 1416828 1416829 1416830 1416831 1416832 1416834 1416835 1416836 1416837 1416841 1416842 1416843 1416844 1416845 1416846 1416847 1416849 1416850 1416851 1416853 1416854 1416855 1416856 1416857 1416858 1416859 1416860 1416861 1416862 1416863 1416865 1416866 1416867 1416868 1416869 1416870 1416871 1416872 1416873 1416874 1416875 1416876 1416877 1416878 1416881 1416882 1416883 1416884 1416885 1416886 1416887 1416888 1416889 1416890 1416891 1416892 1416894 1416896 1416897 1416898 1416899 1416902 1416903 1416904 1416905 1416910 1416912 1416913 1416914 1416916 1416917 1416918 1416919 1416920 1416921 1416922 1416924 1416925 1416926 1416927 1416928 1416929 1416930 1416931 1416932 1416933 1416934 1416935 1416936 1416938 1416939 1416940 1416941 1416942 1416943 1416944 1416945 1416946 1416947 1416952 1416953 1416954 1416955 1416956 1416958 1416959 1416960 1416961 1416962 1416963 1416964 1416965 1416966 1416967 1416968 1416969 1416970 1416971 1416972 1416973 1416974 1416975 1416976 1416977 1416979 1416980 1416981 1416982 1416985 1416986 1416987 1416988 1416989 1416990 1416991 1416992 1416993 1416994 1416995 1416996 1416997 1416998 1416999 1417001 1417002 1417003 1417004 1417005 1417006 1417008 1417009 1417010 1417011 1417012 1417013 1417014 1417015 1417016 1417017 1417018 1417019 1417020 1417021 1417022 1417023 1417024 1417025 1417026 1417028 1417029 1417030 1417031 1417032 1417033 1417034 1417035 1417036 1417037 1417038 1417039 1417040 1417041 1417042 1417043 1417044 1417046 1417047 1417048 1417049 1417050 1417051 1417052 1417054 1417055 1417056 1417057 1417058 1417059 1417060 1417061 1417062 1417063 1417064 1417065 1417066 1417067 1417068 1417069 1417070 1417072 1417073 1417074 1417075 1417080 1417081 1417082 1417083 1417085 1417086 1417087 1417088 1417089 1417090 1417091 1417092 1417093 1417094 1417095 1417097 1417098 1417099 1417101 1417102 1417103 1417104 1417106 1417108 1417111 1417112 1417113 1417118 1417119 1417120 1417121 1417122 1417123 1417124 1417125 1417126 1417127 1417129 1417130 1417132 1417133 1417134 1417135 1417136 1417137 1417138 1417139 1417140 1417143 1417144 1417145 1417146 1417147 1417148 1417149 1417151 1417152 1417153 1417154 1417155 1417157 1417160 1417162 1417163 1417164 1417165 1417166 1417167 1417168 1417169 1417170 1417171 1417172 1417173 1417174 1417176 1417177 1417178 1417179 1417180 1417186 1417188 1417189 1417190 1417191 1417193 1417194 1417196 1417197 1417198 1417199 1417200 1417201 1417202 1417203 1417204 1417205 1417206 1417207 1417208 1417209 1417210 1417211 1417212 1417213 1417215 1417216 1417217 1417218 1417219 1417222 1417223 1417224 1417227 1417228 1417230 1417231 1417235 1417236 1417237 1417239 1417240 1417240 1417241 1417242 1417243 1417244 1417245 1417246 1417247 1417248 1417249 1417250 1417251 1417252 1417253 1417262 1417273 1417274 1417285 1417287 1417294 1417318 1417322 1417324 1417325 1417326 1417327 1417328 1417329 1417332 1417334 1417335 1417336 1417371 1417374 1417375 1417377 1417386 1417387 1417388 1417389 1417390 1417392 1417393 1417394 1417395 1417396 1417400 1417401 1417402 1417405 1417406 1417407 1417408 1417409 1417411 1417418 1417419 1417420 1417422 1417423 1417427 1417429 1417432 1417434 1417435 1417436 1417437 1417438 1417439 1417440 1417441 1417442 1417444 1417447 1417449 1417452 1417453 1417454 1417455 1417458 1417459 1417472 1417474 1417478 1417481 1417487 1417489 1417490 1417492 1417493 1417494 1417495 1417496 1417497 1417498 1417499 1417500 1417501 1417502 1417503 1417504 1417505 1417507 1417508 1417509 1417510 1417511 1417516 1417518 1417520 1417521 1417522 1417523 1417524 1417525 1417526 1417530 1417531 1417532 1417533 1417534 1417535 1417536 1417537 1417538 1417539 1417541 1417542 1417543 1417544 1417546 1417547 1417548 1417549 1417550 1417551 1417556 1417557 1417558 1417559 1417560 1417561 1417562 1417563 1417564 1417565 1417566 1417567 1417568 1417569 1417570 1417571 1417572 1417573 1417574 1417575 1417576 1417577 1417578 1417579 1417580 1417581 1417582 1417583 1417584 1417585 1417587 1417588 1417589 1417590 1417592 1417593 1417595 1417596 1417597 1417598 1417599 1417600 1417601 1417602 1417603 1417604 1417605 1417606 1417607 1417608 1417609 1417610 1417611 1417612 1417613 1417614 1417615 1417616 1417617 1417618 1417619 1417620 1417621 1417622 1417624 1417625 1417627 1417629 1417630 1417631 1417632 1417634 1417635 1417636 1417637 1417638 1417639 1417640 1417641 1417643 1417644 1417645 1417646 1417647 1417648 1417649 1417650 1417651 1417652 1417653 1417655 1417656 1417657 1417659 1417660 1417661 1417663 1417664 1417666 1417668 1417671 1417672 1417673 1417674 1417675 1417676 1417677 1417679 1417680 1417681 1417682 1417683 1417684 1417685 1417691 1417693 1417694 1417695 1417696 1417697 1417699 1417700 1417701 1417702 1417703 1417704 1417705 1417706 1417707 1417708 1417709 1417710 1417711 1417712 1417713 1417714 1417715 1417716 1417717 1417718 1417719 1417719 1417720 1417722 1417723 1417724 1417725 1417726 1417727 1417728 1417729 1417731 1417732 1417733 1417734 1417735 1417736 1417738 1417739 1417740 1417741 1417742 1417743 1417744 1417745 1417746 1417747 1417748 1417750 1417751 1417752 1417753 1417754 1417754 1417756 1417757 1417758 1417759 1417760 1417760 1417761 1417761 1417763 1417764 1417765 1417766 1417767 1417768 1417769 1417770 1417771 1417772 1417772 1417773 1417774 1417775 1417776 1417777 1417778 1417779 1417780 1417782 1417783 1417784 1417785 1417802 1417805 1417806 1417807 1417808 1417809 1417810 1417811 1417812 1417813 1417814 1417815 1417816 1417817 1417818 1417819 1417820 1417821 1417822 1417823 1417824 1417825 1417826 1417827 1417828 1417829 1417830 1417831 1417832 1417833 1417834 1417835 1417836 1417837 1417838 1417839 1417840 1417841 1417845 1417845 1417846 1417847 1417848 1417849 1417850 1417851 1417852 1417853 1417854 1417854 1417857 1417858 1417860 1417861 1417862 1417863 1417864 1417867 1417868 1417869 1417870 1417871 1417872 1417873 1417874 1417875 1417876 1417879 1417880 1417881 1417882 1417883 1417884 1417885 1417887 1417888 1417890 1417891 1417892 1417893 1417894 1417895 1417896 1417897 1417898 1417899 1417900 1417902 1417903 1417904 1417905 1417906 1417907 1417908 1417909 1417910 1417911 1417912 1417913 1417914 1417916 1417917 1417921 1417922 1417923 1417924 1417925 1417927 1417928 1417929 1417931 1417932 1417933 1417934 1417935 1417936 1417938 1417939 1417940 1417941 1417942 1417943 1417944 1417945 1417946 1417947 1417948 1417949 1417950 1417951 1417952 1417953 1417954 1417955 1417956 1417960 1417961 1417962 1417963 1417964 1417965 1417966 1417967 1417969 1417984 1417985 1417988 1417990 1417991 1418001 1418004 1418029 1418044 1418057 1418072 1418074 1418092 1418098 1418102 1418106 1418109 1418113 1418118 1418127 1418130 1418143 1418165 1418180 1418182 1418183 1418186 1418187 1418188 1418189 1418191 1418192 1418193 1418194 1418195 1418196 1418197 1418198 1418199 1418200 1418201 1418202 1418204 1418205 1418206 1418208 1418209 1418211 1418212 1418213 1418214 1418215 1418216 1418217 1418218 1418219 1418220 1418221 1418222 1418223 1418224 1418225 1418226 1418229 1418230 1418231 1418232 1418233 1418235 1418237 1418239 1418240 1418241 1418242 1418243 1418244 1418245 1418246 1418247 1418248 1418250 1418251 1418252 1418253 1418256 1418259 1418260 1418261 1418262 1418263 1418264 1418265 1418266 1418267 1418268 1418269 1418270 1418271 1418272 1418273 1418274 1418275 1418276 1418277 1418278 1418281 1418283 1418284 1418285 1418286 1418288 1418289 1418293 1418295 1418296 1418297 1418298 1418301 1418302 1418303 1418304 1418305 1418306 1418307 1418308 1418309 1418310 1418311 1418312 1418319 1418322 1418325 1418326 1418327 1418328 1418329 1418331 1418334 1418344 1418348 1418350 1418359 1418360 1418362 1418363 1418365 1418369 1418370 1418371 1418372 1418373 1418374 1418376 1418381 1418381 1418383 1418384 1418385 1418386 1418387 1418388 1418389 1418390 1418391 1418392 1418393 1418394 1418394 1418395 1418396 1418397 1418398 1418399 1418401 1418402 1418403 1418404 1418405 1418406 1418407 1418408 1418410 1418411 1418412 1418413 1418414 1418415 1418416 1418417 1418418 1418419 1418420 1418421 1418422 1418423 1418424 1418425 1418426 1418427 1418428 1418429 1418430 1418431 1418432 1418433 1418434 1418435 1418436 1418437 1418438 1418439 1418440 1418441 1418442 1418443 1418444 1418445 1418446 1418447 1418448 1418449 1418450 1418451 1418452 1418453 1418455 1418456 1418457 1418458 1418458 1418459 1418460 1418461 1418462 1418463 1418464 1418465 1418466 1418467 1418468 1418469 1418470 1418471 1418472 1418473 1418474 1418475 1418476 1418477 1418478 1418479 1418480 1418481 1418482 1418483 1418484 1418485 1418486 1418487 1418488 1418489 1418490 1418491 1418492 1418493 1418495 1418496 1418496 1418498 1418499 1418500 1418501 1418502 1418503 1418504 1418507 1418508 1418509 1418510 1418512 1418513 1418514 1418515 1418516 1418517 1418518 1418519 1418520 1418521 1418524 1418526 1418527 1418528 1418529 1418531 1418532 1418533 1418534 1418537 1418538 1418540 1418541 1418542 1418543 1418544 1418546 1418547 1418548 1418549 1418550 1418551 1418552 1418553 1418556 1418557 1418558 1418560 1418561 1418563 1418565 1418566 1418567 1418568 1418569 1418571 1418572 1418573 1418574 1418575 1418576 1418577 1418578 1418579 1418579 1418580 1418581 1418582 1418583 1418583 1418586 1418587 1418588 1418589 1418590 1418591 1418593 1418594 1418595 1418596 1418597 1418598 1418599 1418600 1418601 1418602 1418603 1418604 1418605 1418606 1418607 1418608 1418609 1418610 1418610 1418611 1418612 1418613 1418614 1418615 1418616 1418617 1418618 1418619 1418620 1418621 1418622 1418623 1418624 1418625 1418626 1418627 1418628 1418629 1418630 1418631 1418632 1418634 1418635 1418636 1418637 1418638 1418640 1418641 1418642 1418643 1418644 1418648 1418649 1418649 1418650 1418652 1418653 1418654 1418655 1418656 1418657 1418658 1418659 1418660 1418661 1418662 1418663 1418664 1418665 1418666 1418667 1418668 1418669 1418672 1418673 1418674 1418676 1418677 1418678 1418679 1418694 1418695 1418696 1418697 1418706 1418707 1418708 1418709 1418710 1418711 1418712 1418713 1418715 1418716 1418724 1418726 1418727 1418728 1418729 1418730 1418731 1418732 1418733 1418734 1418735 1418736 1418737 1418738 1418739 1418740 1418742 1418743 1418744 1418745 1418746 1418747 1418748 1418749 1418750 1418751 1418752 1418754 1418755 1418756 1418757 1418759 1418760 1418761 1418762 1418763 1418764 1418765 1418766 1418767 1418768 1418770 1418771 1418772 1418773 1418774 1418774 1418775 1418775 1418776 1418778 1418779 1418780 1418782 1418783 1418784 1418785 1418786 1418787 1418788 1418789 1418790 1418791 1418793 1418795 1418796 1418797 1418798 1418799 1418800 1418801 1418802 1418813 1418814 1418815 1418816 1418817 1418818 1418819 1418820 1418821 1418822 1418823 1418824 1418825 1418826 1418829 1418830 1418831 1418832 1418833 1418835 1418837 1418838 1418839 1418840 1418841 1418842 1418843 1418844 1418845 1418846 1418847 1418848 1418849 1418850 1418851 1418852 1418853 1418854 1418855 1418856 1418858 1418859 1418864 1418865 1418866 1418867 1418868 1418869 1418870 1418871 1418872 1418873 1418874 1418875 1418876 1418877 1418878 1418879 1418880 1418881 1418882 1418883 1418884 1418885 1418887 1418888 1418889 1418890 1418891 1418892 1418893 1418894 1418894 1418897 1418898 1418899 1418900 1418901 1418902 1418903 1418904 1418905 1418906 1418907 1418909 1418910 1418911 1418913 1418913 1418914 1418915 1418916 1418917 1418918 1418919 1418920 1418921 1418926 1418927 1418928 1418929 1418930 1418931 1418932 1418933 1418934 1418937 1418938 1418939 1418940 1418941 1418942 1418943 1418944 1418945 1418946 1418947 1418948 1418949 1418950 1418951 1418952 1418953 1418954 1418957 1418960 1418961 1418962 1418963 1418965 1418966 1418967 1418968 1418969 1418970 1418971 1418972 1418974 1418975 1418976 1418977 1418978 1418979 1418981 1418982 1418983 1418984 1418985 1418986 1418987 1418988 1418991 1418993 1418994 1418995 1418996 1418997 1418998 1418999 1419001 1419002 1419003 1419004 1419005 1419006 1419007 1419008 1419009 1419010 1419011 1419012 1419013 1419014 1419015 1419016 1419017 1419018 1419019 1419020 1419021 1419022 1419024 1419025 1419026 1419027 1419028 1419029 1419030 1419031 1419032 1419033 1419034 1419036 1419037 1419038 1419039 1419040 1419041 1419042 1419043 1419044 1419045 1419046 1419047 1419048 1419049 1419050 1419051 1419052 1419053 1419054 1419055 1419056 1419057 1419058 1419059 1419060 1419061 1419062 1419063 1419064 1419067 1419068 1419069 1419070 1419071 1419072 1419073 1419073 1419074 1419074 1419079 1419080 1419086 1419088 1419089 1419090 1419093 1419093 1419096 1419097 1419099 1419100 1419101 1419102 1419105 1419106 1419107 1419109 1419111 1419112 1419113 1419114 1419115 1419116 1419117 1419118 1419119 1419120 1419121 1419122 1419123 1419124 1419125 1419126 1419127 1419128 1419129 1419130 1419131 1419137 1419137 1419138 1419139 1419140 1419141 1419142 1419142 1419143 1419143 1419144 1419145 1419146 1419147 1419148 1419149 1419150 1419151 1419152 1419153 1419154 1419156 1419157 1419178 1419179 1419180 1419181 1419182 1419183 1419184 1419185 1419185 1419187 1419188 1419189 1419190 1419191 1419192 1419193 1419194 1419195 1419196 1419197 1419199 1419200 1419201 1419202 1419203 1419204 1419205 1419206 1419207 1419208 1419209 1419210 1419211 1419212 1419213 1419214 1419215 1419216 1419217 1419218 1419218 1419219 1419221 1419222 1419223 1419224 1419225 1419226 1419227 1419228 1419229 1419230 1419231 1419232 1419235 1419236 1419237 1419239 1419240 1419241 1419241 1419242 1419242 1419243 1419244 1419245 1419246 1419248 1419249 1419250 1419253 1419254 1419255 1419256 1419257 1419258 1419259 1419261 1419263 1419264 1419266 1419268 1419269 1419270 1419271 1419272 1419273 1419274 1419275 1419276 1419277 1419278 1419279 1419280 1419281 1419282 1419283 1419284 1419285 1419286 1419287 1419288 1419288 1419289 1419290 1419291 1419292 1419293 1419294 1419295 1419296 1419297 1419299 1419300 1419301 1419302 1419303 1419304 1419304 1419305 1419306 1419307 1419308 1419309 1419310 1419317 1419318 1419319 1419320 1419322 1419323 1419324 1419325 1419326 1419326 1419327 1419328 1419329 1419330 1419333 1419334 1419335 1419336 1419337 1419338 1419339 1419343 1419344 1419345 1419346 1419347 1419348 1419349 1419350 1419351 1419352 1419353 1419354 1419357 1419359 1419360 1419361 1419362 1419363 1419364 1419365 1419366 1419367 1419368 1419369 1419370 1419371 1419372 1419373 1419374 1419375 1419376 1419377 1419378 1419379 1419380 1419381 1419382 1419383 1419384 1419385 1419386 1419388 1419389 1419390 1419391 1419392 1419393 1419394 1419396 1419397 1419400 1419401 1419407 1419408 1419409 1419410 1419411 1419413 1419414 1419415 1419416 1419417 1419418 1419419 1419420 1419421 1419422 1419423 1419425 1419426 1419427 1419428 1419429 1419430 1419431 1419432 1419433 1419435 1419436 1419437 1419438 1419439 1419440 1419450 1419451 1419453 1419454 1419455 1419456 1419456 1419457 1419458 1419459 1419460 1419461 1419462 1419463 1419467 1419475 1419477 1419480 1419485 1419489 1419489 1419490 1419491 1419492 1419494 1419495 1419496 1419497 1419499 1419500 1419501 1419503 1419504 1419505 1419522 1419523 1419524 1419525 1419539 1419540 1419541 1419542 1419543 1419544 1419545 1419546 1419558 1419569 1419574 1419575 1419576 1419582 1419583 1419584 1419586 1419588 1419589 1419590 1419591 1419595 1419596 1419597 1419598 1419599 1419599 1419600 1419601 1419602 1419603 1419604 1419605 1419606 1419608 1419609 1419611 1419615 1419616 1419617 1419618 1419619 1419620 1419621 1419622 1419623 1419624 1419625 1419626 1419627 1419628 1419629 1419630 1419631 1419632 1419633 1419635 1419636 1419637 1419639 1419640 1419641 1419646 1419649 1419651 1419652 1419653 1419654 1419655 1419656 1419657 1419659 1419663 1419667 1419668 1419669 1419670 1419671 1419672 1419673 1419675 1419676 1419677 1419682 1419683 1419685 1419686 1419689 1419691 1419692 1419693 1419694 1419695 1419696 1419697 1419698 1419699 1419700 1419701 1419702 1419703 1419704 1419705 1419712 1419713 1419717 1419718 1419719 1419723 1419724 1419725 1419727 1419728 1419730 1419731 1419732 1419733 1419736 1419738 1419741 1419742 1419743 1419744 1419745 1419746 1419747 1419748 1419749 1419750 1419751 1419752 1419753 1419755 1419756 1419757 1419758 1419759 1419764 1419767 1419768 1419769 1419770 1419771 1419772 1419773 1419774 1419776 1419778 1419779 1419780 1419781 1419782 1419783 1419785 1419786 1419787 1419788 1419789 1419790 1419791 1419792 1419793 1419794 1419795 1419796 1419797 1419798 1419799 1419800 1419801 1419802 1419803 1419804 1419805 1419806 1419807 1419808 1419810 1419811 1419812 1419813 1419814 1419815 1419816 1419816 1419817 1419818 1419819 1419820 1419821 1419822 1419823 1419824 1419825 1419825 1419827 1419828 1419829 1419830 1419831 1419833 1419834 1419835 1419837 1419839 1419840 1419841 1419842 1419844 1419845 1419846 1419848 1419850 1419851 1419852 1419853 1419854 1419856 1419857 1419858 1419860 1419861 1419862 1419863 1419864 1419865 1419866 1419867 1419868 1419869 1419870 1419871 1419872 1419873 1419874 1419875 1419876 1419878 1419879 1419880 1419881 1419890 1419891 1419892 1419893 1419894 1419895 1419896 1419897 1419899 1419900 1419901 1419903 1419904 1419905 1419906 1419907 1419908 1419909 1419916 1419917 1419919 1419922 1419923 1419924 1419925 1419926 1419927 1419928 1419929 1419930 1419931 1419939 1419940 1419941 1419942 1419943 1419944 1419945 1419946 1419947 1419948 1419949 1419950 1419952 1419953 1419954 1419955 1419956 1419957 1419958 1419959 1419960 1419961 1419963 1419964 1419967 1419968 1419969 1419971 1419972 1419973 1419974 1419975 1419976 1419977 1419978 1419979 1419980 1419981 1419982 1419983 1419984 1419986 1419987 1419988 1419989 1419989 1419990 1419991 1419992 1419993 1419994 1419994 1419995 1419996 1419997 1419998 1419999 1420000 1420002 1420003 1420005 1420006 1420007 1420008 1420009 1420010 1420010 1420011 1420014 1420015 1420016 1420017 1420018 1420019 1420020 1420021 1420022 1420023 1420024 1420025 1420026 1420027 1420028 1420029 1420033 1420038 1420040 1420041 1420042 1420043 1420044 1420045 1420046 1420059 1420060 1420062 1420063 1420064 1420065 1420065 1420066 1420066 1420067 1420068 1420069 1420069 1420070 1420071 1420072 1420073 1420074 1420075 1420076 1420077 1420080 1420081 1420082 1420083 1420084 1420085 1420086 1420087 1420088 1420089 1420090 1420091 1420092 1420093 1420094 1420095 1420096 1420097 1420098 1420099 1420100 1420101 1420102 1420103 1420104 1420105 1420106 1420107 1420108 1420109 1420110 1420111 1420113 1420114 1420115 1420116 1420117 1420118 1420119 1420120 1420121 1420122 1420123 1420124 1420125 1420126 1420127 1420128 1420129 1420130 1420131 1420132 1420133 1420134 1420135 1420136 1420137 1420138 1420139 1420140 1420141 1420142 1420143 1420144 1420145 1420146 1420147 1420148 1420149 1420150 1420151 1420152 1420153 1420154 1420155 1420156 1420157 1420158 1420159 1420160 1420161 1420162 1420163 1420164 1420165 1420166 1420167 1420168 1420169 1420170 1420171 1420172 1420173 1420174 1420175 1420176 1420177 1420178 1420179 1420180 1420181 1420182 1420183 1420184 1420185 1420186 1420187 1420188 1420189 1420190 1420191 1420192 1420193 1420194 1420195 1420196 1420197 1420198 1420199 1420200 1420201 1420202 1420203 1420204 1420205 1420206 1420208 1420209 1420210 1420211 1420212 1420213 1420214 1420215 1420216 1420218 1420219 1420220 1420221 1420222 1420223 1420224 1420225 1420226 1420227 1420228 1420229 1420230 1420231 1420232 1420233 1420234 1420236 1420237 1420238 1420239 1420240 1420243 1420244 1420245 1420246 1420247 1420248 1420250 1420251 1420255 1420256 1420257 1420258 1420259 1420260 1420261 1420262 1420264 1420265 1420266 1420266 1420267 1420268 1420269 1420270 1420271 1420272 1420273 1420274 1420275 1420276 1420277 1420278 1420279 1420280 1420281 1420282 1420283 1420284 1420285 1420286 1420288 1420289 1420290 1420291 1420292 1420293 1420294 1420295 1420296 1420297 1420298 1420299 1420300 1420301 1420302 1420303 1420304 1420305 1420306 1420307 1420308 1420309 1420310 1420311 1420312 1420313 1420314 1420315 1420316 1420317 1420318 1420319 1420320 1420321 1420322 1420323 1420324 1420325 1420326 1420327 1420328 1420330 1420331 1420332 1420334 1420335 1420337 1420338 1420339 1420340 1420341 1420342 1420343 1420344 1420347 1420348 1420348 1420350 1420353 1420354 1420356 1420357 1420358 1420359 1420360 1420361 1420362 1420364 1420365 1420366 1420367 1420368 1420369 1420370 1420371 1420372 1420373 1420374 1420375 1420377 1420381 1420382 1420383 1420384 1420385 1420386 1420387 1420388 1420389 1420390 1420391 1420392 1420393 1420394 1420395 1420398 1420399 1420400 1420401 1420403 1420404 1420406 1420407 1420408 1420409 1420410 1420411 1420412 1420413 1420414 1420416 1420417 1420418 1420419 1420420 1420423 1420424 1420426 1420427 1420428 1420429 1420430 1420431 1420432 1420433 1420434 1420435 1420436 1420437 1420439 1420441 1420442 1420443 1420445 1420446 1420447 1420448 1420449 1420450 1420451 1420452 1420453 1420455 1420456 1420457 1420458 1420458 1420459 1420462 1420463 1420464 1420465 1420466 1420466 1420467 1420468 1420469 1420470 1420471 1420472 1420476 1420477 1420479 1420480 1420481 1420484 1420485 1420488 1420489 1420490 1420492 1420493 1420494 1420495 1420496 1420497 1420498 1420499 1420503 1420504 1420505 1420506 1420507 1420508 1420509 1420510 1420511 1420512 1420513 1420514 1420515 1420516 1420517 1420518 1420518 1420519 1420520 1420521 1420522 1420523 1420525 1420526 1420527 1420529 1420530 1420530 1420531 1420532 1420533 1420534 1420536 1420536 1420537 1420540 1420542 1420543 1420544 1420545 1420546 1420547 1420548 1420550 1420552 1420553 1420554 1420556 1420557 1420558 1420559 1420560 1420561 1420562 1420563 1420564 1420565 1420566 1420567 1420568 1420569 1420570 1420571 1420572 1420573 1420574 1420578 1420579 1420580 1420581 1420582 1420583 1420584 1420585 1420586 1420587 1420588 1420589 1420590 1420591 1420593 1420594 1420595 1420596 1420597 1420598 1420599 1420600 1420601 1420602 1420603 1420604 1420605 1420606 1420607 1420608 1420609 1420610 1420611 1420613 1420614 1420615 1420616 1420619 1420620 1420621 1420622 1420624 1420625 1420626 1420627 1420629 1420630 1420631 1420631 1420632 1420633 1420634 1420635 1420636 1420636 1420637 1420638 1420639 1420640 1420641 1420642 1420643 1420644 1420645 1420645 1420646 1420648 1420649 1420650 1420652 1420653 1420654 1420655 1420656 1420657 1420658 1420661 1420663 1420665 1420667 1420674 1420677 1420678 1420679 1420680 1420681 1420682 1420683 1420684 1420685 1420686 1420686 1420687 1420688 1420689 1420690 1420691 1420694 1420695 1420696 1420697 1420699 1420700 1420701 1420702 1420703 1420704 1420705 1420706 1420707 1420708 1420709 1420710 1420712 1420713 1420714 1420715 1420716 1420717 1420718 1420719 1420720 1420721 1420722 1420724 1420724 1420725 1420726 1420727 1420728 1420729 1420730 1420731 1420732 1420733 1420734 1420736 1420737 1420738 1420739 1420740 1420741 1420742 1420743 1420744 1420745 1420746 1420747 1420748 1420749 1420750 1420751 1420752 1420753 1420754 1420755 1420756 1420757 1420758 1420759 1420760 1420761 1420761 1420762 1420764 1420765 1420768 1420769 1420771 1420772 1420773 1420774 1420775 1420776 1420776 1420777 1420778 1420779 1420780 1420781 1420782 1420783 1420784 1420785 1420786 1420787 1420788 1420797 1420798 1420799 1420801 1420803 1420804 1420805 1420806 1420808 1420809 1420810 1420811 1420812 1420813 1420814 1420815 1420816 1420817 1420818 1420819 1420820 1420821 1420822 1420823 1420824 1420825 1420826 1420827 1420828 1420829 1420830 1420831 1420832 1420833 1420834 1420836 1420838 1420841 1420843 1420844 1420847 1420847 1420848 1420849 1420850 1420851 1420852 1420853 1420854 1420855 1420857 1420860 1420862 1420863 1420864 1420865 1420868 1420869 1420870 1420871 1420872 1420873 1420874 1420875 1420876 1420877 1420878 1420880 1420881 1420882 1420883 1420884 1420886 1420887 1420888 1420889 1420899 1420946 1420951 1420951 1420952 1420955 1420957 1420966 1420993 1421008 1421018 1421023 1421038 1421041 1421044 1421045 1421046 1421047 1421058 1421059 1421062 1421065 1421067 1421068 1421072 1421073 1421074 1421076 1421077 1421079 1421087 1421092 1421093 1421095 1421096 1421100 1421101 1421104 1421105 1421107 1421109 1421110 1421111 1421113 1421113 1421114 1421117 1421118 1421119 1421120 1421122 1421123 1421124 1421125 1421126 1421129 1421131 1421132 1421140 1421143 1421144 1421146 1421147 1421148 1421149 1421150 1421151 1421152 1421153 1421153 1421154 1421155 1421157 1421157 1421159 1421161 1421162 1421163 1421164 1421165 1421165 1421166 1421166 1421167 1421167 1421168 1421169 1421170 1421171 1421172 1421173 1421174 1421175 1421178 1421179 1421180 1421182 1421184 1421185 1421187 1421187 1421188 1421194 1421195 1421196 1421198 1421199 1421200 1421204 1421205 1421206 1421207 1421208 1421210 1421211 1421212 1421213 1421214 1421215 1421217 1421218 1421219 1421220 1421222 1421223 1421224 1421225 1421226 1421227 1421227 1421229 1421231 1421235 1421237 1421238 1421240 1421241 1421242 1421243 1421244 1421245 1421246 1421248 1421249 1421250 1421253 1421254 1421256 1421257 1421260 1421261 1421262 1421267 1421268 1421268 1421269 1421270 1421270 1421271 1421272 1421273 1421274 1421275 1421276 1421277 1421278 1421279 1421280 1421281 1421282 1421283 1421284 1421286 1421288 1421289 1421290 1421291 1421292 1421293 1421296 1421297 1421298 1421299 1421300 1421301 1421302 1421303 1421304 1421305 1421306 1421307 1421309 1421311 1421312 1421313 1421314 1421315 1421316 1421317 1421318 1421319 1421320 1421321 1421322 1421322 1421323 1421327 1421328 1421329 1421330 1421331 1421332 1421333 1421334 1421336 1421337 1421338 1421339 1421345 1421346 1421347 1421348 1421349 1421350 1421351 1421352 1421354 1421355 1421356 1421357 1421358 1421359 1421360 1421361 1421362 1421363 1421364 1421365 1421366 1421367 1421368 1421371 1421373 1421374 1421375 1421376 1421377 1421379 1421381 1421384 1421386 1421387 1421388 1421389 1421390 1421391 1421392 1421393 1421394 1421394 1421395 1421396 1421397 1421398 1421399 1421400 1421401 1421402 1421403 1421404 1421405 1421406 1421407 1421408 1421409 1421410 1421411 1421412 1421413 1421414 1421414 1421415 1421416 1421417 1421418 1421419 1421420 1421421 1421422 1421423 1421424 1421425 1421428 1421429 1421430 1421431 1421432 1421433 1421434 1421435 1421436 1421437 1421438 1421439 1421443 1421443 1421445 1421446 1421447 1421449 1421450 1421450 1421451 1421452 1421453 1421454 1421455 1421456 1421457 1421458 1421459 1421460 1421461 1421462 1421463 1421464 1421465 1421466 1421467 1421468 1421469 1421470 1421471 1421472 1421473 1421474 1421475 1421476 1421477 1421478 1421479 1421480 1421481 1421482 1421483 1421484 1421485 1421486 1421487 1421488 1421492 1421493 1421494 1421495 1421496 1421497 1421498 1421498 1421499 1421500 1421501 1421502 1421504 1421505 1421506 1421507 1421508 1421509 1421510 1421511 1421512 1421513 1421514 1421515 1421516 1421517 1421518 1421519 1421520 1421523 1421524 1421525 1421527 1421530 1421531 1421532 1421534 1421535 1421536 1421537 1421539 1421540 1421542 1421543 1421544 1421545 1421546 1421548 1421549 1421550 1421552 1421553 1421554 1421556 1421558 1421560 1421561 1421562 1421563 1421564 1421565 1421566 1421567 1421568 1421569 1421570 1421571 1421572 1421576 1421577 1421578 1421579 1421580 1421581 1421582 1421583 1421584 1421585 1421586 1421588 1421595 1421605 1421610 1421612 1421614 1421615 1421623 1421624 1421625 1421627 1421628 1421631 1421633 1421635 1421637 1421638 1421639 1421641 1421642 1421644 1421649 1421650 1421651 1421652 1421653 1421654 1421655 1421657 1421661 1421663 1421665 1421667 1421667 1421668 1421674 1421675 1421678 1421679 1421683 1421685 1421686 1421688 1421690 1421691 1421693 1421695 1421696 1421702 1421703 1421704 1421705 1421707 1421708 1421709 1421709 1421713 1421719 1421720 1421721 1421723 1421725 1421726 1421727 1421738 1421745 1421745 1421750 1421751 1421753 1421754 1421755 1421760 1421762 1421763 1421767 1421768 1421773 1421773 1421774 1421775 1421775 1421780 1421782 1421785 1421785 1421786 1421787 1421788 1421789 1421790 1421793 1421794 1421797 1421799 1421800 1421803 1421812 1421817 1421822 1421823 1421824 1421825 1421828 1421829 1421833 1421834 1421837 1421838 1421839 1421840 1421841 1421842 1421843 1421847 1421848 1421849 1421850 1421851 1421854 1421858 1421861 1421862 1421863 1421864 1421865 1421866 1421867 1421868 1421869 1421872 1421873 1421874 1421875 1421876 1421877 1421879 1421880 1421881 1421886 1421887 1421888 1421894 1421895 1421896 1421897 1421903 1421904 1421905 1421906 1421907 1421912 1421913 1421914 1421916 1421917 1421918 1421919 1421920 1421921 1421922 1421923 1421924 1421926 1421928 1421929 1421929 1421930 1421931 1421932 1421933 1421934 1421935 1421936 1421939 1421940 1421941 1421942 1421944 1421945 1421946 1421947 1421948 1421949 1421950 1421951 1421955 1421956 1421959 1421960 1421965 1421968 1421969 1421970 1421971 1421972 1421973 1421974 1421975 1421976 1421977 1421980 1421981 1421982 1421986 1421987 1421988 1421990 1421990 1421991 1421992 1421993 1421995 1421996 1421997 1421998 1421999 1422000 1422001 1422002 1422003 1422004 1422005 1422006 1422009 1422010 1422011 1422012 1422013 1422014 1422015 1422016 1422017 1422018 1422019 1422020 1422021 1422025 1422026 1422028 1422030 1422031 1422032 1422033 1422035 1422036 1422038 1422039 1422040 1422040 1422041 1422042 1422043 1422045 1422046 1422048 1422049 1422050 1422051 1422052 1422053 1422054 1422055 1422057 1422060 1422061 1422062 1422064 1422066 1422067 1422068 1422069 1422070 1422071 1422072 1422073 1422074 1422075 1422076 1422077 1422078 1422079 1422080 1422081 1422082 1422083 1422084 1422085 1422086 1422087 1422089 1422090 1422091 1422092 1422095 1422096 1422097 1422098 1422100 1422100 1422102 1422104 1422104 1422105 1422106 1422108 1422109 1422110 1422111 1422112 1422114 1422115 1422116 1422117 1422118 1422119 1422120 1422121 1422122 1422123 1422128 1422129 1422132 1422133 1422134 1422135 1422136 1422138 1422139 1422145 1422147 1422149 1422150 1422151 1422153 1422154 1422155 1422156 1422158 1422161 1422162 1422163 1422164 1422165 1422165 1422166 1422167 1422168 1422169 1422170 1422171 1422172 1422173 1422174 1422175 1422176 1422178 1422179 1422180 1422181 1422182 1422185 1422186 1422187 1422188 1422189 1422190 1422191 1422192 1422195 1422198 1422199 1422200 1422201 1422203 1422204 1422205 1422206 1422207 1422209 1422210 1422210 1422211 1422212 1422213 1422214 1422215 1422216 1422217 1422218 1422219 1422220 1422222 1422223 1422224 1422225 1422226 1422227 1422227 1422228 1422235 1422236 1422237 1422239 1422240 1422241 1422243 1422244 1422246 1422247 1422249 1422250 1422251 1422252 1422254 1422255 1422256 1422257 1422258 1422259 1422260 1422261 1422262 1422263 1422265 1422266 1422267 1422268 1422269 1422269 1422270 1422270 1422271 1422272 1422273 1422274 1422276 1422279 1422281 1422282 1422283 1422284 1422285 1422287 1422288 1422291 1422292 1422296 1422304 1422315 1422315 1422316 1422329 1422330 1422331 1422332 1422333 1422334 1422335 1422336 1422337 1422338 1422340 1422341 1422342 1422343 1422344 1422345 1422347 1422348 1422349 1422356 1422357 1422358 1422359 1422360 1422361 1422362 1422363 1422364 1422365 1422366 1422367 1422368 1422369 1422370 1422371 1422372 1422374 1422376 1422377 1422379 1422380 1422382 1422384 1422385 1422385 1422386 1422387 1422389 1422390 1422391 1422392 1422392 1422393 1422394 1422395 1422396 1422398 1422399 1422402 1422403 1422404 1422405 1422407 1422408 1422409 1422410 1422411 1422412 1422412 1422413 1422416 1422417 1422418 1422420 1422424 1422425 1422426 1422427 1422428 1422429 1422452 1422457 1422463 1422466 1422467 1422469 1422473 1422474 1422475 1422479 1422480 1422482 1422483 1422484 1422489 1422491 1422492 1422493 1422494 1422495 1422496 1422497 1422501 1422502 1422503 1422504 1422505 1422507 1422509 1422509 1422510 1422511 1422512 1422513 1422514 1422515 1422516 1422517 1422518 1422519 1422520 1422521 1422522 1422523 1422524 1422525 1422526 1422527 1422528 1422530 1422531 1422532 1422533 1422534 1422535 1422537 1422538 1422539 1422540 1422542 1422543 1422544 1422545 1422546 1422547 1422548 1422549 1422550 1422551 1422553 1422553 1422554 1422555 1422556 1422556 1422557 1422557 1422558 1422559 1422560 1422561 1422563 1422564 1422565 1422566 1422567 1422569 1422570 1422571 1422572 1422573 1422574 1422575 1422576 1422577 1422578 1422579 1422580 1422581 1422582 1422583 1422584 1422585 1422586 1422587 1422588 1422589 1422590 1422591 1422592 1422593 1422594 1422595 1422597 1422598 1422599 1422600 1422601 1422602 1422603 1422611 1422619 1422620 1422622 1422624 1422624 1422625 1422626 1422627 1422628 1422629 1422630 1422631 1422632 1422633 1422634 1422635 1422636 1422637 1422638 1422639 1422640 1422641 1422645 1422646 1422649 1422656 1422657 1422658 1422659 1422660 1422661 1422662 1422664 1422666 1422667 1422668 1422669 1422670 1422671 1422672 1422673 1422674 1422675 1422677 1422678 1422683 1422685 1422686 1422689 1422690 1422693 1422696 1422697 1422698 1422699 1422701 1422705 1422707 1422708 1422713 1422715 1422717 1422718 1422721 1422725 1422726 1422727 1422729 1422733 1422733 1422735 1422736 1422738 1422744 1422745 1422746 1422749 1422749 1422750 1422751 1422756 1422757 1422758 1422759 1422760 1422761 1422762 1422763 1422764 1422766 1422767 1422768 1422770 1422771 1422772 1422773 1422775 1422777 1422778 1422779 1422780 1422781 1422782 1422784 1422785 1422786 1422787 1422789 1422793 1422795 1422796 1422797 1422798 1422800 1422801 1422802 1422803 1422804 1422805 1422806 1422807 1422809 1422811 1422813 1422814 1422815 1422816 1422817 1422818 1422819 1422820 1422821 1422826 1422827 1422828 1422829 1422830 1422831 1422833 1422834 1422835 1422836 1422837 1422839 1422840 1422841 1422847 1422875 1422885 1422887 1422893 1422905 1422909 1422930 1422962 1422972 1423002 1423004 1423006 1423007 1423008 1423009 1423011 1423013 1423014 1423015 1423016 1423017 1423019 1423020 1423021 1423021 1423022 1423023 1423024 1423025 1423026 1423027 1423028 1423029 1423030 1423031 1423032 1423033 1423034 1423035 1423036 1423037 1423038 1423039 1423040 1423041 1423042 1423043 1423044 1423045 1423046 1423047 1423048 1423049 1423050 1423051 1423052 1423053 1423054 1423055 1423056 1423057 1423060 1423061 1423062 1423063 1423064 1423065 1423066 1423067 1423069 1423070 1423071 1423072 1423073 1423075 1423076 1423077 1423078 1423079 1423080 1423081 1423082 1423083 1423084 1423085 1423086 1423087 1423088 1423089 1423090 1423091 1423094 1423096 1423097 1423098 1423099 1423100 1423101 1423102 1423103 1423104 1423105 1423106 1423107 1423108 1423109 1423110 1423111 1423112 1423113 1423114 1423118 1423125 1423135 1423142 1423182 1423226 1423237 1423276 1423277 1423286 1423295 1423344 1423376 1423385 1423386 1423452 1423462 1423464 1423482 1423485 1423492 1423493 1423494 1423494 1423495 1423496 1423497 1423497 1423498 1423499 1423500 1423501 1423502 1423503 1423504 1423505 1423506 1423507 1423510 1423511 1423512 1423514 1423515 1423517 1423518 1423519 1423521 1423522 1423524 1423525 1423526 1423527 1423529 1423535 1423536 1423539 1423541 1423542 1423543 1423544 1423545 1423546 1423547 1423548 1423549 1423550 1423550 1423551 1423552 1423554 1423555 1423556 1423557 1423558 1423559 1423560 1423561 1423568 1423570 1423571 1423572 1423573 1423574 1423575 1423575 1423576 1423577 1423577 1423578 1423579 1423580 1423581 1423582 1423584 1423585 1423586 1423588 1423589 1423590 1423591 1423592 1423594 1423595 1423596 1423597 1423598 1423599 1423600 1423601 1423603 1423604 1423605 1423606 1423607 1423608 1423612 1423613 1423614 1423625 1423626 1423627 1423631 1423632 1423633 1423634 1423635 1423637 1423638 1423639 1423640 1423641 1423644 1423645 1423647 1423648 1423649 1423650 1423651 1423652 1423653 1423654 1423656 1423657 1423658 1423668 1423669 1423674 1423676 1423677 1423679 1423680 1423681 1423682 1423683 1423684 1423685 1423686 1423690 1423691 1423692 1423693 1423694 1423694 1423695 1423696 1423696 1423697 1423698 1423699 1423700 1423701 1423701 1423702 1423703 1423704 1423706 1423708 1423710 1423711 1423712 1423713 1423714 1423715 1423716 1423717 1423718 1423719 1423721 1423722 1423729 1423730 1423731 1423732 1423732 1423736 1423738 1423739 1423740 1423743 1423744 1423745 1423749 1423751 1423752 1423753 1423755 1423757 1423758 1423759 1423760 1423761 1423765 1423767 1423768 1423769 1423770 1423771 1423772 1423773 1423774 1423775 1423776 1423778 1423779 1423783 1423784 1423787 1423788 1423791 1423792 1423795 1423799 1423800 1423801 1423805 1423806 1423809 1423811 1423812 1423814 1423817 1423818 1423820 1423821 1423822 1423822 1423823 1423824 1423825 1423827 1423828 1423829 1423830 1423831 1423832 1423833 1423834 1423836 1423837 1423838 1423839 1423840 1423841 1423842 1423843 1423844 1423846 1423847 1423848 1423849 1423849 1423850 1423851 1423854 1423858 1423859 1423860 1423862 1423863 1423865 1423866 1423867 1423868 1423869 1423870 1423871 1423872 1423874 1423875 1423876 1423877 1423878 1423880 1423882 1423884 1423885 1423887 1423887 1423888 1423888 1423889 1423890 1423891 1423892 1423894 1423895 1423896 1423897 1423898 1423899 1423900 1423901 1423902 1423903 1423906 1423907 1423908 1423909 1423911 1423912 1423913 1423916 1423920 1423922 1423923 1423926 1423927 1423928 1423929 1423930 1423931 1423936 1423938 1423939 1423941 1423942 1423943 1423944 1423945 1423946 1423947 1423948 1423949 1423950 1423950 1423951 1423957 1423958 1423959 1423960 1423961 1423964 1423965 1423966 1423968 1423969 1423970 1423971 1423974 1423976 1423977 1423980 1423983 1423987 1423991 1423996 1424003 1424005 1424006 1424011 1424015 1424018 1424025 1424030 1424032 1424033 1424037 1424049 1424050 1424053 1424054 1424058 1424060 1424062 1424064 1424064 1424065 1424069 1424070 1424073 1424077 1424082 1424084 1424086 1424088 1424090 1424092 1424094 1424099 1424101 1424108 1424110 1424111 1424112 1424114 1424116 1424117 1424118 1424122 1424125 1424127 1424130 1424131 1424132 1424133 1424134 1424135 1424136 1424137 1424138 1424139 1424140 1424141 1424142 1424143 1424144 1424145 1424146 1424147 1424148 1424149 1424150 1424151 1424152 1424153 1424154 1424156 1424157 1424158 1424159 1424160 1424160 1424161 1424165 1424166 1424167 1424169 1424170 1424172 1424173 1424174 1424177 1424178 1424179 1424188 1424204 1424206 1424207 1424209 1424210 1424210 1424211 1424212 1424213 1424214 1424217 1424218 1424219 1424221 1424222 1424223 1424224 1424230 1424231 1424232 1424233 1424235 1424237 1424238 1424239 1424240 1424241 1424242 1424243 1424244 1424245 1424246 1424247 1424248 1424249 1424250 1424250 1424252 1424253 1424254 1424259 1424266 1424267 1424272 1424273 1424274 1424276 1424279 1424282 1424284 1424284 1424286 1424288 1424290 1424291 1424292 1424293 1424295 1424297 1424298 1424299 1424300 1424301 1424302 1424303 1424304 1424305 1424306 1424307 1424308 1424309 1424314 1424316 1424317 1424318 1424319 1424320 1424322 1424323 1424327 1424328 1424329 1424331 1424332 1424333 1424334 1424336 1424337 1424339 1424340 1424341 1424342 1424343 1424344 1424345 1424346 1424347 1424349 1424350 1424351 1424352 1424353 1424354 1424355 1424361 1424440 1424440 1424441 1424442 1424447 1424448 1424449 1424450 1424451 1424453 1424454 1424455 1424456 1424457 1424458 1424459 1424460 1424461 1424462 1424463 1424465 1424468 1424471 1424472 1424473 1424474 1424475 1424476 1424478 1424479 1424480 1424481 1424485 1424486 1424488 1424489 1424490 1424491 1424492 1424493 1424494 1424496 1424497 1424498 1424499 1424500 1424501 1424502 1424503 1424504 1424505 1424507 1424509 1424510 1424512 1424513 1424515 1424516 1424517 1424518 1424519 1424521 1424522 1424524 1424525 1424528 1424529 1424530 1424533 1424540 1424541 1424542 1424544 1424548 1424552 1424554 1424557 1424559 1424560 1424562 1424563 1424564 1424566 1424567 1424568 1424569 1424571 1424572 1424575 1424579 1424580 1424581 1424582 1424582 1424583 1424584 1424585 1424586 1424586 1424587 1424588 1424589 1424590 1424591 1424593 1424594 1424595 1424596 1424597 1424598 1424600 1424601 1424602 1424603 1424604 1424605 1424606 1424608 1424609 1424610 1424611 1424612 1424613 1424615 1424616 1424617 1424618 1424619 1424620 1424620 1424622 1424623 1424624 1424625 1424626 1424627 1424628 1424629 1424630 1424631 1424631 1424633 1424634 1424635 1424636 1424637 1424639 1424640 1424645 1424646 1424647 1424649 1424650 1424651 1424652 1424653 1424654 1424655 1424656 1424658 1424658 1424659 1424660 1424661 1424662 1424663 1424664 1424665 1424666 1424667 1424668 1424669 1424670 1424671 1424672 1424673 1424674 1424675 1424676 1424677 1424679 1424680 1424681 1424682 1424683 1424684 1424684 1424685 1424686 1424687 1424687 1424688 1424689 1424690 1424691 1424692 1424693 1424694 1424695 1424696 1424697 1424698 1424699 1424700 1424701 1424702 1424703 1424704 1424705 1424706 1424707 1424711 1424712 1424713 1424714 1424716 1424717 1424718 1424719 1424720 1424721 1424722 1424723 1424723 1424724 1424725 1424726 1424727 1424728 1424729 1424730 1424731 1424733 1424734 1424735 1424736 1424737 1424740 1424741 1424742 1424743 1424747 1424748 1424749 1424750 1424751 1424753 1424754 1424755 1424756 1424759 1424760 1424761 1424763 1424764 1424765 1424769 1424770 1424771 1424772 1424774 1424776 1424777 1424778 1424779 1424780 1424781 1424782 1424783 1424784 1424785 1424786 1424787 1424788 1424789 1424790 1424791 1424792 1424793 1424794 1424795 1424796 1424797 1424798 1424799 1424800 1424801 1424802 1424804 1424805 1424806 1424807 1424808 1424809 1424810 1424812 1424813 1424814 1424815 1424816 1424818 1424819 1424820 1424822 1424823 1424824 1424825 1424826 1424835 1424838 1424839 1424843 1424849 1424851 1424852 1424853 1424854 1424855 1424856 1424858 1424860 1424861 1424862 1424863 1424865 1424866 1424867 1424868 1424869 1424870 1424871 1424872 1424873 1424874 1424876 1424877 1424878 1424879 1424880 1424881 1424883 1424884 1424885 1424886 1424887 1424888 1424889 1424891 1424892 1424893 1424894 1424895 1424896 1424897 1424898 1424898 1424900 1424902 1424903 1424905 1424906 1424907 1424908 1424909 1424912 1424914 1424915 1424916 1424917 1424918 1424919 1424920 1424921 1424922 1424923 1424924 1424925 1424926 1424927 1424929 1424930 1424931 1424932 1424933 1424934 1424935 1424936 1424938 1424940 1424941 1424942 1424943 1424944 1424945 1424946 1424947 1424948 1424949 1424950 1424951 1424952 1424954 1424955 1424956 1424957 1424958 1424958 1424960 1424961 1424962 1424964 1424965 1424967 1424968 1424969 1424970 1424971 1424972 1424975 1424976 1424977 1424978 1424979 1424980 1424981 1424981 1424982 1424983 1424984 1424985 1424986 1424987 1424988 1424989 1424990 1424992 1424993 1424994 1424995 1424996 1424997 1424998 1424999 1425002 1425003 1425003 1425004 1425005 1425006 1425007 1425008 1425009 1425010 1425011 1425012 1425013 1425014 1425015 1425016 1425018 1425019 1425020 1425021 1425022 1425023 1425024 1425025 1425027 1425029 1425030 1425031 1425031 1425032 1425033 1425034 1425035 1425035 1425036 1425037 1425038 1425039 1425040 1425041 1425042 1425043 1425045 1425046 1425047 1425048 1425049 1425050 1425051 1425052 1425053 1425056 1425057 1425059 1425060 1425063 1425064 1425065 1425066 1425067 1425069 1425071 1425072 1425073 1425074 1425075 1425076 1425077 1425078 1425079 1425080 1425081 1425082 1425083 1425085 1425086 1425088 1425089 1425090 1425091 1425094 1425095 1425096 1425097 1425098 1425100 1425101 1425102 1425103 1425104 1425106 1425107 1425110 1425111 1425112 1425113 1425114 1425119 1425120 1425121 1425123 1425126 1425128 1425129 1425130 1425130 1425131 1425132 1425133 1425135 1425136 1425137 1425138 1425141 1425143 1425144 1425145 1425146 1425146 1425147 1425150 1425151 1425152 1425153 1425154 1425155 1425156 1425157 1425158 1425159 1425160 1425162 1425164 1425165 1425168 1425173 1425177 1425178 1425179 1425181 1425182 1425183 1425184 1425185 1425186 1425187 1425187 1425188 1425189 1425190 1425192 1425193 1425194 1425195 1425200 1425201 1425201 1425202 1425205 1425206 1425207 1425208 1425210 1425212 1425214 1425216 1425218 1425219 1425220 1425222 1425223 1425224 1425225 1425226 1425228 1425229 1425230 1425231 1425233 1425234 1425235 1425238 1425241 1425242 1425243 1425244 1425246 1425247 1425248 1425249 1425251 1425252 1425253 1425254 1425255 1425256 1425257 1425258 1425259 1425259 1425260 1425261 1425262 1425263 1425264 1425266 1425267 1425268 1425269 1425270 1425271 1425272 1425273 1425274 1425275 1425276 1425277 1425278 1425279 1425280 1425281 1425282 1425282 1425284 1425285 1425287 1425289 1425290 1425291 1425292 1425293 1425303 1425304 1425307 1425308 1425309 1425310 1425312 1425314 1425320 1425321 1425322 1425323 1425324 1425324 1425325 1425326 1425327 1425328 1425329 1425330 1425331 1425332 1425333 1425334 1425335 1425337 1425338 1425339 1425340 1425341 1425342 1425342 1425343 1425345 1425346 1425347 1425348 1425349 1425350 1425351 1425352 1425353 1425354 1425357 1425358 1425359 1425360 1425361 1425363 1425364 1425365 1425366 1425367 1425370 1425371 1425372 1425373 1425380 1425383 1425384 1425385 1425386 1425387 1425388 1425389 1425391 1425393 1425394 1425395 1425396 1425397 1425398 1425399 1425400 1425401 1425402 1425403 1425404 1425405 1425406 1425407 1425408 1425409 1425411 1425412 1425413 1425414 1425415 1425416 1425417 1425418 1425419 1425420 1425421 1425422 1425425 1425426 1425427 1425428 1425429 1425431 1425432 1425433 1425434 1425435 1425437 1425438 1425439 1425440 1425441 1425443 1425445 1425446 1425447 1425449 1425457 1425459 1425460 1425461 1425462 1425464 1425465 1425467 1425469 1425470 1425471 1425472 1425473 1425474 1425475 1425475 1425477 1425478 1425479 1425480 1425481 1425482 1425484 1425485 1425488 1425493 1425494 1425495 1425496 1425497 1425498 1425499 1425500 1425501 1425503 1425506 1425507 1425508 1425509 1425510 1425512 1425513 1425514 1425516 1425517 1425518 1425519 1425521 1425522 1425523 1425523 1425524 1425525 1425525 1425526 1425527 1425528 1425529 1425531 1425532 1425533 1425534 1425535 1425537 1425539 1425540 1425541 1425543 1425544 1425545 1425546 1425547 1425549 1425563 1425564 1425565 1425566 1425567 1425568 1425569 1425570 1425571 1425573 1425574 1425576 1425577 1425578 1425580 1425581 1425582 1425583 1425585 1425586 1425586 1425587 1425588 1425591 1425592 1425595 1425596 1425600 1425601 1425601 1425602 1425603 1425604 1425606 1425607 1425608 1425609 1425614 1425614 1425616 1425620 1425620 1425621 1425622 1425622 1425623 1425625 1425626 1425629 1425630 1425631 1425632 1425633 1425635 1425636 1425637 1425638 1425639 1425640 1425641 1425643 1425644 1425649 1425650 1425651 1425652 1425653 1425654 1425655 1425656 1425657 1425658 1425659 1425660 1425662 1425664 1425666 1425667 1425668 1425669 1425670 1425671 1425671 1425672 1425673 1425674 1425675 1425676 1425677 1425679 1425680 1425681 1425682 1425683 1425685 1425687 1425688 1425690 1425691 1425692 1425693 1425695 1425696 1425697 1425698 1425699 1425700 1425701 1425702 1425705 1425708 1425713 1425715 1425716 1425718 1425720 1425722 1425723 1425724 1425725 1425726 1425727 1425728 1425729 1425730 1425731 1425732 1425733 1425734 1425741 1425742 1425743 1425744 1425745 1425746 1425747 1425748 1425751 1425752 1425753 1425755 1425756 1425757 1425758 1425759 1425761 1425762 1425763 1425764 1425766 1425767 1425774 1425775 1425778 1425779 1425781 1425783 1425784 1425785 1425786 1425787 1425790 1425791 1425793 1425794 1425795 1425796 1425800 1425801 1425802 1425803 1425804 1425806 1425807 1425808 1425809 1425825 1425826 1425827 1425828 1425829 1425830 1425831 1425832 1425833 1425834 1425835 1425836 1425837 1425838 1425839 1425840 1425841 1425842 1425844 1425845 1425847 1425850 1425852 1425853 1425854 1425856 1425859 1425861 1425862 1425869 1425876 1425887 1425890 1425899 1425923 1425924 1425925 1425926 1425927 1425928 1425929 1425931 1425932 1425933 1425934 1425935 1425936 1425940 1425941 1425942 1425943 1425945 1425946 1425947 1425948 1425950 1425953 1425955 1425956 1425957 1425959 1425962 1425964 1425966 1425966 1425967 1425969 1425970 1425972 1425974 1425975 1425976 1425978 1425979 1425980 1425981 1425982 1425983 1425984 1425984 1425986 1425987 1425988 1425988 1425990 1425991 1425992 1425993 1425994 1425995 1425996 1425997 1425999 1426000 1426001 1426001 1426002 1426003 1426004 1426005 1426006 1426007 1426008 1426009 1426010 1426011 1426012 1426013 1426014 1426015 1426019 1426023 1426024 1426025 1426029 1426030 1426031 1426032 1426033 1426035 1426036 1426037 1426038 1426039 1426040 1426043 1426045 1426046 1426047 1426048 1426051 1426052 1426053 1426055 1426056 1426057 1426058 1426059 1426060 1426061 1426061 1426062 1426062 1426063 1426064 1426065 1426066 1426067 1426068 1426070 1426071 1426072 1426073 1426074 1426076 1426077 1426078 1426079 1426080 1426081 1426082 1426083 1426084 1426085 1426086 1426087 1426088 1426092 1426094 1426095 1426096 1426097 1426098 1426100 1426102 1426104 1426105 1426106 1426107 1426108 1426108 1426112 1426113 1426119 1426120 1426121 1426122 1426125 1426126 1426128 1426129 1426130 1426131 1426132 1426133 1426137 1426138 1426140 1426143 1426144 1426145 1426147 1426148 1426150 1426152 1426153 1426154 1426156 1426156 1426157 1426158 1426159 1426160 1426161 1426162 1426163 1426171 1426173 1426175 1426178 1426178 1426179 1426180 1426181 1426182 1426183 1426185 1426186 1426187 1426187 1426188 1426189 1426190 1426191 1426192 1426193 1426194 1426195 1426196 1426197 1426200 1426201 1426202 1426204 1426207 1426208 1426209 1426211 1426212 1426213 1426216 1426219 1426224 1426225 1426226 1426227 1426228 1426230 1426231 1426232 1426233 1426234 1426235 1426236 1426238 1426240 1426243 1426244 1426245 1426259 1426271 1426281 1426300 1426301 1426306 1426309 1426310 1426311 1426312 1426313 1426314 1426315 1426316 1426317 1426327 1426328 1426329 1426330 1426331 1426332 1426333 1426334 1426335 1426335 1426336 1426338 1426339 1426340 1426341 1426342 1426343 1426344 1426345 1426346 1426348 1426351 1426353 1426354 1426355 1426356 1426357 1426363 1426368 1426370 1426372 1426373 1426374 1426375 1426378 1426379 1426380 1426381 1426383 1426384 1426385 1426386 1426387 1426388 1426389 1426391 1426393 1426395 1426396 1426398 1426447 1426448 1426460 1426461 1426462 1426462 1426463 1426468 1426476 1426486 1426488 1426489 1426490 1426491 1426493 1426494 1426496 1426498 1426499 1426500 1426501 1426502 1426503 1426504 1426505 1426506 1426507 1426509 1426510 1426511 1426512 1426513 1426516 1426517 1426518 1426519 1426520 1426521 1426524 1426526 1426528 1426529 1426548 1426549 1426550 1426551 1426553 1426555 1426556 1426557 1426558 1426560 1426562 1426565 1426566 1426567 1426568 1426569 1426569 1426570 1426572 1426573 1426575 1426576 1426577 1426578 1426579 1426580 1426582 1426584 1426585 1426587 1426589 1426591 1426592 1426623 1426628 1426629 1426630 1426631 1426633 1426634 1426635 1426647 1426648 1426649 1426650 1426651 1426652 1426653 1426654 1426655 1426656 1426657 1426659 1426661 1426662 1426663 1426664 1426666 1426667 1426668 1426669 1426670 1426672 1426673 1426674 1426675 1426676 1426677 1426678 1426679 1426680 1426689 1426690 1426699 1426700 1426706 1426709 1426714 1426725 1426728 1426729 1426730 1426731 1426732 1426733 1426734 1426735 1426736 1426738 1426741 1426748 1426749 1426756 1426757 1426758 1426758 1426760 1426761 1426763 1426765 1426766 1426768 1426771 1426772 1426776 1426780 1426785 1426787 1426788 1426789 1426794 1426795 1426796 1426797 1426800 1426802 1426803 1426805 1426806 1426807 1426808 1426810 1426811 1426812 1426813 1426815 1426816 1426818 1426819 1426820 1426822 1426823 1426826 1426838 1426839 1426840 1426842 1426843 1426844 1426845 1426846 1426848 1426852 1426854 1426855 1426856 1426858 1426859 1426860 1426866 1426867 1426869 1426872 1426874 1426875 1426876 1426880 1426882 1426890 1426894 1426895 1426896 1426897 1426900 1426901 1426902 1426902 1426904 1426905 1426906 1426907 1426908 1426909 1426910 1426911 1426912 1426914 1426915 1426919 1426921 1426922 1426924 1426926 1426927 1426929 1426930 1426931 1426933 1426934 1426935 1426937 1426938 1426939 1426940 1426941 1426942 1426943 1426944 1426945 1426946 1426947 1426948 1426950 1426951 1426952 1426955 1426956 1426957 1426958 1426959 1426960 1426961 1426964 1426966 1426967 1426968 1426969 1426973 1426974 1426975 1426977 1426978 1426979 1426980 1426981 1426997 1426998 1427003 1427004 1427005 1427006 1427007 1427008 1427009 1427010 1427012 1427013 1427014 1427015 1427016 1427017 1427018 1427019 1427020 1427021 1427023 1427024 1427025 1427027 1427030 1427031 1427033 1427034 1427035 1427037 1427038 1427039 1427040 1427045 1427046 1427047 1427048 1427049 1427050 1427051 1427053 1427056 1427057 1427058 1427060 1427062 1427063 1427064 1427065 1427066 1427067 1427068 1427069 1427070 1427071 1427073 1427075 1427076 1427077 1427078 1427079 1427080 1427081 1427083 1427085 1427085 1427086 1427088 1427090 1427091 1427093 1427098 1427100 1427101 1427102 1427103 1427105 1427106 1427107 1427108 1427109 1427111 1427112 1427113 1427114 1427115 1427116 1427117 1427118 1427119 1427120 1427121 1427123 1427125 1427127 1427128 1427129 1427130 1427132 1427133 1427134 1427139 1427140 1427143 1427144 1427145 1427145 1427146 1427148 1427149 1427150 1427151 1427152 1427153 1427154 1427155 1427156 1427159 1427160 1427162 1427163 1427164 1427165 1427167 1427168 1427169 1427170 1427175 1427176 1427177 1427178 1427182 1427184 1427185 1427187 1427188 1427190 1427192 1427193 1427194 1427195 1427196 1427198 1427199 1427200 1427201 1427202 1427203 1427206 1427210 1427211 1427213 1427214 1427215 1427215 1427216 1427216 1427219 1427221 1427223 1427224 1427227 1427231 1427233 1427234 1427235 1427236 1427237 1427237 1427240 1427241 1427242 1427243 1427244 1427246 1427247 1427248 1427250 1427252 1427255 1427256 1427259 1427260 1427261 1427262 1427263 1427265 1427266 1427267 1427269 1427270 1427271 1427272 1427273 1427275 1427276 1427278 1427278 1427279 1427281 1427283 1427285 1427286 1427287 1427288 1427291 1427293 1427294 1427297 1427300 1427302 1427303 1427304 1427306 1427310 1427315 1427317 1427319 1427322 1427329 1427330 1427359 1427360 1427361 1427362 1427363 1427364 1427365 1427366 1427368 1427370 1427373 1427374 1427378 1427380 1427381 1427382 1427383 1427384 1427392 1427394 1427396 1427397 1427398 1427399 1427405 1427407 1427410 1427411 1427412 1427414 1427415 1427417 1427420 1427420 1427421 1427421 1427422 1427423 1427424 1427425 1427430 1427431 1427432 1427435 1427441 1427442 1427447 1427448 1427449 1427450 1427451 1427457 1427459 1427460 1427462 1427464 1427465 1427467 1427468 1427472 1427473 1427475 1427476 1427477 1427478 1427479 1427480 1427481 1427484 1427485 1427487 1427488 1427489 1427490 1427491 1427492 1427493 1427498 1427500 1427504 1427507 1427520 1427524 1427527 1427532 1427534 1427536 1427537 1427538 1427539 1427541 1427543 1427544 1427547 1427551 1427552 1427553 1427556 1427559 1427560 1427561 1427563 1427565 1427566 1427569 1427570 1427572 1427573 1427574 1427576 1427577 1427582 1427584 1427586 1427588 1427589 1427590 1427591 1427592 1427593 1427594 1427595 1427596 1427605 1427607 1427608 1427609 1427611 1427614 1427618 1427620 1427621 1427622 1427623 1427624 1427625 1427626 1427627 1427628 1427630 1427631 1427633 1427634 1427635 1427638 1427640 1427641 1427642 1427643 1427644 1427645 1427646 1427656 1427656 1427657 1427660 1427665 1427670 1427672 1427673 1427674 1427675 1427680 1427682 1427687 1427693 1427694 1427695 1427697 1427699 1427700 1427701 1427702 1427703 1427704 1427707 1427709 1427711 1427712 1427713 1427715 1427723 1427725 1427726 1427727 1427728 1427729 1427731 1427734 1427735 1427736 1427737 1427738 1427739 1427741 1427742 1427742 1427745 1427746 1427747 1427748 1427750 1427754 1427755 1427756 1427757 1427758 1427759 1427760 1427761 1427764 1427765 1427766 1427767 1427768 1427769 1427770 1427772 1427774 1427777 1427779 1427788 1427789 1427791 1427794 1427795 1427796 1427796 1427797 1427798 1427800 1427801 1427802 1427803 1427803 1427804 1427805 1427806 1427807 1427808 1427811 1427812 1427814 1427815 1427816 1427817 1427818 1427826 1427829 1427830 1427830 1427831 1427832 1427833 1427835 1427837 1427838 1427840 1427841 1427843 1427845 1427846 1427851 1427852 1427856 1427858 1427859 1427860 1427864 1427865 1427866 1427868 1427871 1427874 1427875 1427877 1427879 1427880 1427881 1427882 1427883 1427884 1427885 1427887 1427888 1427889 1427890 1427893 1427895 1427896 1427903 1427904 1427905 1427906 1427907 1427908 1427909 1427910 1427911 1427912 1427913 1427914 1427915 1427917 1427920 1427923 1427924 1427925 1427926 1427927 1427938 1427939 1427940 1427941 1427944 1427946 1427947 1427949 1427950 1427951 1427952 1427953 1427954 1427955 1427956 1427957 1427958 1427959 1427960 1427962 1427963 1427964 1427966 1427968 1427969 1427971 1427973 1427974 1427976 1427978 1427979 1427980 1427982 1427984 1427986 1427988 1427991 1427992 1427993 1427994 1427995 1427996 1427997 1427998 1427999 1428000 1428002 1428004 1428007 1428008 1428009 1428011 1428012 1428013 1428014 1428017 1428020 1428021 1428023 1428025 1428026 1428029 1428031 1428035 1428037 1428038 1428040 1428041 1428043 1428044 1428045 1428046 1428047 1428048 1428056 1428056 1428057 1428058 1428059 1428063 1428064 1428067 1428070 1428072 1428073 1428074 1428075 1428077 1428077 1428078 1428082 1428085 1428086 1428090 1428093 1428094 1428095 1428096 1428097 1428099 1428100 1428101 1428104 1428105 1428107 1428109 1428110 1428113 1428114 1428115 1428116 1428118 1428119 1428121 1428122 1428124 1428126 1428127 1428128 1428129 1428130 1428131 1428135 1428138 1428139 1428140 1428142 1428143 1428152 1428158 1428159 1428161 1428162 1428164 1428165 1428166 1428168 1428169 1428170 1428171 1428172 1428173 1428174 1428175 1428176 1428177 1428177 1428178 1428181 1428181 1428182 1428183 1428184 1428190 1428192 1428193 1428194 1428195 1428195 1428197 1428198 1428199 1428200 1428201 1428202 1428203 1428204 1428205 1428206 1428209 1428213 1428214 1428215 1428219 1428221 1428222 1428224 1428225 1428226 1428228 1428233 1428235 1428242 1428244 1428254 1428255 1428257 1428258 1428259 1428262 1428263 1428264 1428265 1428266 1428267 1428268 1428269 1428270 1428271 1428272 1428273 1428275 1428276 1428276 1428277 1428279 1428281 1428282 1428287 1428288 1428290 1428293 1428294 1428295 1428332 1428333 1428334 1428335 1428336 1428337 1428338 1428339 1428340 1428341 1428342 1428343 1428344 1428345 1428346 1428347 1428348 1428349 1428349 1428350 1428351 1428352 1428353 1428354 1428355 1428356 1428357 1428358 1428360 1428361 1428362 1428364 1428365 1428369 1428370 1428371 1428372 1428374 1428375 1428376 1428376 1428377 1428377 1428378 1428379 1428380 1428388 1428389 1428390 1428391 1428392 1428393 1428395 1428396 1428397 1428398 1428399 1428403 1428403 1428404 1428406 1428407 1428412 1428414 1428415 1428419 1428420 1428420 1428421 1428422 1428423 1428424 1428427 1428428 1428429 1428430 1428431 1428432 1428434 1428434 1428435 1428437 1428439 1428444 1428445 1428446 1428449 1428456 1428457 1428459 1428459 1428460 1428462 1428463 1428464 1428472 1428473 1428474 1428476 1428477 1428478 1428481 1428483 1428484 1428485 1428486 1428487 1428488 1428491 1428492 1428494 1428495 1428495 1428496 1428497 1428497 1428499 1428501 1428502 1428503 1428504 1428506 1428507 1428508 1428511 1428512 1428515 1428518 1428519 1428520 1428522 1428523 1428528 1428531 1428532 1428533 1428535 1428538 1428542 1428543 1428544 1428545 1428546 1428547 1428548 1428549 1428553 1428554 1428557 1428560 1428562 1428564 1428566 1428567 1428568 1428569 1428570 1428571 1428572 1428573 1428576 1428577 1428579 1428584 1428586 1428591 1428592 1428594 1428596 1428598 1428601 1428602 1428604 1428605 1428607 1428608 1428609 1428610 1428619 1428624 1428625 1428627 1428627 1428629 1428630 1428631 1428636 1428638 1428639 1428643 1428646 1428650 1428652 1428652 1428654 1428660 1428662 1428667 1428668 1428669 1428670 1428671 1428675 1428678 1428679 1428681 1428682 1428683 1428686 1428688 1428691 1428692 1428693 1428695 1428696 1428700 1428701 1428702 1428703 1428705 1428707 1428708 1428711 1428712 1428713 1428719 1428722 1428723 1428725 1428728 1428729 1428731 1428733 1428734 1428735 1428735 1428738 1428740 1428741 1428744 1428747 1428748 1428749 1428750 1428751 1428752 1428754 1428755 1428756 1428758 1428760 1428761 1428762 1428764 1428766 1428768 1428768 1428769 1428770 1428772 1428772 1428775 1428777 1428778 1428779 1428780 1428783 1428784 1428785 1428787 1428787 1428788 1428790 1428792 1428794 1428795 1428796 1428797 1428797 1428798 1428799 1428800 1428803 1428805 1428806 1428807 1428808 1428810 1428813 1428816 1428818 1428819 1428820 1428821 1428822 1428823 1428824 1428825 1428826 1428829 1428830 1428830 1428832 1428833 1428834 1428835 1428836 1428840 1428843 1428845 1428845 1428846 1428848 1428850 1428852 1428853 1428855 1428856 1428856 1428857 1428861 1428862 1428863 1428864 1428865 1428866 1428867 1428868 1428869 1428870 1428871 1428872 1428873 1428874 1428875 1428876 1428877 1428878 1428880 1428881 1428882 1428883 1428884 1428886 1428887 1428887 1428889 1428890 1428892 1428893 1428894 1428895 1428897 1428897 1428898 1428899 1428900 1428901 1428902 1428903 1428904 1428904 1428905 1428908 1428909 1428910 1428911 1428912 1428913 1428914 1428915 1428916 1428918 1428919 1428920 1428921 1428922 1428923 1428924 1428925 1428927 1428928 1428929 1428930 1428931 1428933 1428933 1428934 1428935 1428937 1428942 1428943 1428944 1428945 1428946 1428947 1428948 1428949 1428950 1428951 1428952 1428953 1428954 1428955 1428956 1428957 1428958 1428959 1428960 1428961 1428962 1428963 1428964 1428965 1428966 1428967 1428968 1428970 1428971 1428972 1428974 1428975 1428976 1428977 1428982 1428985 1428987 1428988 1428989 1428991 1428992 1428995 1428996 1428997 1428999 1429001 1429002 1429003 1429004 1429011 1429012 1429013 1429014 1429015 1429017 1429021 1429025 1429037 1429038 1429039 1429041 1429055 1429056 1429059 1429060 1429077 1429078 1429080 1429082 1429142 1429186 1429189 1429194 1429196 1429201 1429203 1429314 1429345 1429364 1429427 1429685 1429695 1429719 1429723 1429751 1429928 1429937 1429943 1429989 1430031 1430036 1430219 1430239 1430262 1430378 1430442 1430447 1430500 1430524 1430594 1430595 1430904 1430915 1430916 1430988 1431046 1431101 1431145 1431185 1431316 1431464 1431573 1431598 1431611 1431671 1431677 1431910 1432005 1432033 1432076 1432084 1432085 1432126 1432227 1432262 1432376 1432623 1432642 1432644 1432732 1432810 1432898 1432914 1432919 1432960 1432976 1433276 1433320 1433469 1433644 1433695 1433754 1433878 1433943 1434133 1434282 1434287 1434369 1434409 1434549 1434639 1434677 1434704 1434761 1434848 1434852 1435143 1435220 1435244 1435271 1435403 1435555 1435556 1435568 1435585 1435615 1435637 1435639 1435693 1435722 1435791 1435815 1435821 1435829 1435846 1435894 1435946 1436189 1436209 1436247 1436371 1436394 1436561 1436598 1436763 1436854 1436953 1436987 1437017 1437021 1437022 1437146 1437179 1437359 1437360 1437445 1437510 1437518 1437703 1437782 1437927 1438152 1438179 1438411 1438442 1438565 1438633 1438641 1438671 1438764 1438883 1438918 1439005 1439122 1439195 1439261 1439262 1439269 1439270 1439272 1439273 1439274 1439284 1439287 1439289 1439290 1439292 1439296 1439306 1439327 1439328 1439329 1439333 1439334 1439335 1439337 1439341 1439341 1439342 1439345 1439347 1439350 1439351 1439352 1439353 1440115 1440116 1440538 1440566 1440677 1440691 1440700 1440747 1440748 1441233 1441270 1441306 1441353 1442482 1442484 1442484 1442485 1442489 1442490 1442491 1442492 1442493 1442495 1442498 1442499 1442506 1442512 1442513 1442514 1442515 1442521 1442738 1442741 1442742 1442749 1442750 1442751 1442752 1442753 1442756 1442757 1442758 1442759 1442760 1442761 1442762 1442767 1442768 1442769 1442771 1442777 1442787 1442788 1442790 1442793 1442794 1442798 1442799 1442804 1442805 1442814 1442823 1442824 1442846 1442855 1442859 1442864 1442871 1442881 1442882 1442889 1442905 1442929 1442932 1442934 1442954 1442972 1443038 1443039 1443145 1443679 1443846 1444135 1444138 1444140 1445077 1445578 1445625 1445775 1445860 1445865 1445866 1446542 1446659 1446962 1446980 1446994 1447020 1447028 1447029 1447047 1447061 1447076 1447077 1447078 1447085 1447107 1447150 1447166 1447229 1447237 1447256 1447261 1447284 1447317 1447434 1447472 1447504 1447517 1447550 1447565 1447615 1447616 1447617 1447657 1447667 1447703 1447711 1447749 1447752 1447786 1447801 1447833 1447875 1447906 1448132 1448133 1448177 1448238 1448270 1448284 1448406 1448438 1448439 1448495 1448538 1448553 1448559 1448560 1448576 1448577 1448584 1448598 1448605 1448612 1448685 1448710 1448763 1448835 1448888 1448935 1448957 1449015 1449016 1449030 1449046 1449128 1449152 1449159 1449212 1449308 1449309 1449318 1449351 1449387 1449429 1449651 1449666 1449677 1449714 1449716 1449799 1449808 1449849 1449850 1449856 1449859 1449886 1449958 1449965 1450091 1450145 1450146 1450175 1450239 1450241 1450261 1450262 1450293 1450305 1450306 1450308 1450344 1450534 1450544 1450679 1450791 1450841 1450917 1450945 1450990 1451005 1451073 1451074 1451114 1451135 1451270 1451273 1451279 1451289 1451357 1451396 1451398 1451465 1451512 1451522 1451593 1451594 1451667 1451672 1451674 1451716 1451756 1451772 1451774 1451795 1451802 1451958 1451962 1451979 1451983 1452005 1452100 1452189 1452227 1452241 1452249 1452268 1452297 1452301 1452327 1452339 1452370 1452407 1452519 1452529 1452577 1452589 1452607 1452654 1452871 1452898 1452930 1452934 1453126 1453171 1453406 1453423 1453434 1453453 1453589 1453633 1453675 1453677 1453833 1453836 1453900 1453903 1453915 1453921 1453954 1453955 1453985 1453988 1454020 1454023 1454054 1454068 1454127 1454161 1454179 1454248 1454380 1454397 1454413 1454450 1454456 1454487 1454488 1454489 1454501 1454600 1454645 1454662 1454672 1454676 1454750 1454846 1454853 1455008 1455035 1455042 1455088 1455183 1455192 1455265 1455269 1455316 1455376 1455382 1455426 1455437 1455480 1455498 1455510 1455573 1455615 1455616 1455818 1455836 1455838 1455843 1456349 1456357 1456364 1456375 1456376 1456377 1456379 1456380 1456382 1456383 1456384 1456385 1456386 1456387 1456388 1456389 1456390 1456391 1456392 1456393 1456394 1456395 1456396 1456397 1456398 1456403 1456408 1456413 1456447 1456454 1456460 1456461 1456516 1456795 1456796 1456804 1456811 1456817 1456820 1456828 1457874 1457875 1457876 1457877 1457878 1457880 1457885 1457899 1458134 1458135 1504629 1504631 1504634 1504635 1504636 1504637 1504682 1504688 1504689 1504775 1504783 1504797 1504824 1504850 1504899 1504902 1504958 1505060 1505106 1505113 1505146 1505166 1505172 1505207 1505208 1505267 1505282 1505321 1505360 1505387 1505399 1505422 1505423 1505428 1505429 1505437 1505467 1505565 1505568 1505574 1505580 1505591 1505661 1505678 1505694 1505783 1505815 1505817 1505825 1505854 1505871 1505872 1505878 1505879 1505936 1505961 1506024 1506061 1506092 1506093 1506114 1506125 1506126 1506127 1506159 1506218 1506219 1506236 1506287 1506307 1506309 1506310 1506311 1506315 1506343 1506356 1506475 1506489 1506515 1506517 1506530 1506553 1506574 1506697 1506705 1506772 1506870 1506900 1506911 1506928 1506987 1507338 1507340 1507341 1507352 1508293 1508296 1509145 1509244 1510444 1510464 1510505 1510506 1510863 1510924 1511216 1511395 1511396 1511573 1511652 1511681 1512097 1512123 1512213 1512213 1512293 1512488 1512511 1512652 1513207 1513311 1513412 1513417 1513424 1513425 1513429 1513432 1513446 1513452 1513706 1513758 1513759 1514431 1514546 1514550 1514701 1514768 1514780 1514782 1514789 1514790 1514917 1514919 1515097 1515124 1515132 1515170 1515368 1515370 1515377 1515378 1515383 1515406 1515516 1515621 1516807 1516876 1517364 1517435 1517436 1517483 1517488 1517495 1517683 1517701 1517852 1518354 1519061 1519138 1519188 1519266 1519598 1519690 1520509 1520649 1521013 1521023 1521527 1521753 1521863 1521898 1521989 1521994 1522002 1522012 1522073 1522145 1522146 1522172 1522182 1522197 1522200 1522221 1522250 1522376 1522380 1522385 1522403 1522405 1522417 1522419 1522420 1522428 1522443 1522444 1522456 1522457 1522480 1522507 1522525 1522526 1522537 1522540 1522544 1522550 1522551 1522552 1522555 1522557 1522558 1522559 1522567 1522569 1522571 1522575 1522620 1522669 1522670 1522671 1522688 1522712 1523979 1523980 1523984 1524023 1524051 1524094 1524095 1524115 1525410 1526875 1526982 1527003 1527004 1527022 1527027 1527036 1527078 1527079 1527127 1527130 1527131 1527132 1527134 1527149 1527150 1527151 1527152 1527195 1527196 1527200 1527201 1527210 1527211 1527233 1527234 1527244 1527265 1527364 1527365 1527412 1527416 1527432 1527436 1527440 1527443 1527446 1527451 1527481 1527491 1527494 1527495 1527498 1527504 1527521 1527524 1527543 1527676 1527732 1527755 1527940 1527949 1527954 1527984 1528072 1528124 1528151 1528283 1528325 1528345 1528365 1528376 1528378 1528510 1528585 1528792 1528963 1529008 1529138 1529165 1529231 1529235 1529240 1529246 1529277 1529326 1529426 1529457 1529589 1529674 1529677 1529787 1529821 1529822 1529901 1529906 1529914 1529962 1529979 1530040 1530047 1530106 1530141 1530216 1530221 1530270 1530271 1530340 1530351 1530353 1530357 1530358 1530423 1530436 1530450 1530462 1530465 1530470 1530504 1530530 1530535 1530540 1530543 1530584 1530585 1530587 1530719 1530761 1530797 1530798 1530804 1530805 1530806 1530809 1530817 1530861 1530889 1530899 1530904 1531048 1531049 1531075 1531110 1531114 1531127 1531177 1531179 1531180 1531181 1531193 1531194 1531201 1531260 1531274 1531392 1531411 1531415 1531427 1531428 1531430 1531431 1531432 1531433 1531699 1532754 1533070 1533180 1533181 1533391 1533434 1533581 1533585 1533641 1533644 1533646 1533647 1533698 1533699 1533711 1534866 1534905 1534911 1535257 1535531 1537041 1537046 1537063 1537064 1537378 1537379 1537381 1537382 1537383 1537384 1537385 1537386 1537387 1537388 1537389 1537390 1537391 1537392 1537393 1537394 1537395 1537396 1537398 1537399 1537400 1537401 1537403 1537404 1537405 1537406 1537407 1537408 1537414 1537417 1537418 1537419 1537420 1537421 1537422 1537424 1537426 1537429 1537430 1537431 1537432 1537433 1537434 1537435 1537437 1537439 1537440 1537441 1537443 1537447 1537447 1537448 1537449 1537454 1537460 1537461 1537464 1537465 1537465 1537467 1537467 1537471 1537472 1537473 1537479 1537479 1537481 1537482 1537483 1537484 1537485 1537486 1537487 1537488 1537489 1537491 1537495 1537496 1537498 1537499 1537501 1537502 1537503 1537508 1537510 1537513 1537514 1537515 1537525 1537526 1537528 1537529 1537530 1537532 1537533 1537534 1537537 1537541 1537542 1537543 1537552 1537553 1537554 1537555 1537556 1537557 1537558 1537559 1537560 1537561 1537562 1537563 1537563 1537564 1537565 1537567 1537568 1537569 1537570 1537574 1537575 1537576 1537577 1537578 1537579 1537580 1537581 1537583 1537584 1537586 1537588 1537589 1537590 1537591 1537592 1537593 1537594 1537595 1537596 1537597 1537598 1537601 1537603 1537607 1537608 1537609 1537612 1537613 1537615 1537616 1537617 1537618 1537619 1537620 1537621 1537622 1537624 1537625 1537626 1537626 1537627 1537628 1537629 1537630 1537631 1537632 1537633 1537634 1537635 1537638 1537640 1537641 1537643 1537644 1537645 1537646 1537646 1537647 1537648 1537649 1537655 1537656 1537657 1537658 1537660 1537661 1537662 1537663 1537664 1537665 1537666 1537667 1537668 1537669 1537670 1537672 1537673 1537674 1537675 1537676 1537677 1537679 1537680 1537681 1537682 1537683 1537684 1537685 1537686 1537690 1537691 1537692 1537693 1537694 1537695 1537696 1537697 1537698 1537699 1537699 1537700 1537700 1537701 1537704 1537704 1537705 1537706 1537706 1537707 1537707 1537708 1537708 1537709 1537709 1537710 1537710 1537711 1537711 1537712 1537712 1537713 1537713 1537714 1537715 1537715 1537716 1537718 1537719 1537719 1537720 1537720 1537721 1537722 1537723 1537723 1537724 1537725 1537725 1537726 1537728 1537728 1537729 1537729 1537730 1537730 1537731 1537731 1537732 1537733 1537734 1537735 1537736 1537736 1537737 1537737 1537739 1537739 1537740 1537740 1537741 1537741 1537742 1537742 1537743 1537743 1537744 1537744 1537745 1537745 1537746 1537746 1537747 1537747 1537750 1537750 1537751 1537751 1537752 1537752 1537753 1537753 1537754 1537754 1537755 1537755 1537756 1537756 1537757 1537757 1537759 1537760 1537760 1537763 1537763 1537764 1537764 1537765 1537765 1537766 1537768 1537768 1537770 1537770 1537771 1537771 1537773 1537773 1537774 1537774 1537775 1537775 1537776 1537776 1537777 1537777 1537778 1537778 1537779 1537779 1537780 1537780 1537781 1537781 1537782 1537782 1537783 1537783 1537784 1537784 1537785 1537785 1537787 1537788 1537788 1537789 1537789 1537790 1537790 1537791 1537791 1537792 1537793 1537793 1537794 1537794 1537795 1537795 1537796 1537796 1537797 1537797 1537798 1537798 1537799 1537799 1537800 1537801 1537802 1537802 1537803 1537803 1537804 1537804 1537805 1537805 1537806 1537807 1537807 1537808 1537810 1537810 1537811 1537811 1537812 1537815 1537815 1537816 1537816 1537817 1537817 1537818 1537818 1537819 1537819 1537820 1537820 1537821 1537821 1537822 1537822 1537823 1537824 1537824 1537825 1537825 1537826 1537827 1537829 1537830 1537830 1537831 1537831 1537832 1537832 1537833 1537833 1537834 1537834 1537837 1537837 1537838 1537838 1537839 1537839 1537840 1537840 1537841 1537841 1537842 1537842 1537843 1537843 1537844 1537844 1537845 1537845 1537846 1537846 1537847 1537847 1537848 1537848 1537850 1537851 1537851 1537852 1537853 1537853 1537859 1537859 1537860 1537860 1537861 1537861 1537862 1537862 1537863 1537863 1537864 1537864 1537865 1537865 1537866 1537866 1537867 1537867 1537868 1537869 1537869 1537870 1537870 1537872 1537873 1537873 1537874 1537874 1537875 1537875 1537876 1537876 1537877 1537877 1537878 1537879 1537879 1537880 1537880 1537881 1537881 1537882 1537882 1537883 1537883 1537884 1537884 1537885 1537885 1537886 1537886 1537887 1537887 1537888 1537888 1537890 1537890 1537891 1537891 1537892 1537892 1537893 1537893 1537894 1537894 1537895 1537896 1537896 1537897 1537898 1537898 1537899 1537899 1537900 1537900 1537902 1537902 1537903 1537903 1537904 1537904 1537905 1537905 1537906 1537906 1537907 1537907 1537908 1537908 1537909 1537909 1537910 1537910 1537911 1537912 1537912 1537913 1537913 1537914 1537914 1537915 1537915 1537916 1537916 1537917 1537917 1537919 1537919 1537920 1537920 1537921 1537922 1537924 1537925 1537926 1537927 1537928 1537929 1537930 1537931 1537932 1537933 1537934 1537935 1537937 1537981 1537982 1537983 1537984 1537985 1537986 1537987 1537988 1537989 1537990 1537991 1537992 1537993 1537994 1537995 1537996 1537997 1537998 1537999 1538000 1538001 1538002 1538003 1538004 1538005 1538006 1538007 1538008 1538009 1538010 1538011 1538012 1538013 1538014 1538015 1538016 1538017 1538018 1538020 1538021 1538023 1538024 1538025 1538027 1538028 1538029 1538032 1538034 1538038 1538039 1538040 1538042 1538043 1538045 1538046 1538048 1538049 1538050 1538051 1538052 1538053 1538054 1538055 1538056 1538057 1538060 1538062 1538063 1538064 1538065 1538066 1538067 1538068 1538069 1538071 1538072 1538073 1538073 1538075 1538077 1538079 1538080 1538082 1538083 1538086 1538087 1538088 1538089 1538092 1538095 1538096 1538100 1538104 1538106 1538107 1538108 1538109 1538110 1538111 1538112 1538113 1538114 1538115 1538116 1538117 1538119 1538122 1538124 1538126 1538127 1538128 1538129 1538130 1538131 1538132 1538134 1538138 1538139 1538142 1538143 1538144 1538145 1538146 1538147 1538148 1538149 1538150 1538151 1538153 1538154 1538156 1538157 1538160 1538162 1538164 1538167 1538168 1538171 1538172 1538173 1538174 1538177 1538178 1538183 1538184 1538185 1538187 1538188 1538189 1538197 1538201 1538206 1538207 1538208 1538209 1538210 1538211 1538212 1538214 1538215 1538218 1538220 1538221 1538222 1538223 1538224 1538225 1538229 1538231 1538232 1538235 1538236 1538238 1538239 1538240 1538246 1538248 1538249 1538250 1538251 1538252 1538253 1538254 1538256 1538257 1538257 1538258 1538259 1538260 1538261 1538262 1538263 1538264 1538265 1538266 1538267 1538273 1538274 1538275 1538276 1538279 1538281 1538290 1538295 1538298 1538299 1538300 1538301 1538302 1538303 1538306 1538308 1538309 1538310 1538311 1538312 1538314 1538315 1538317 1538319 1538320 1538322 1538323 1538324 1538325 1538326 1538329 1538337 1538339 1538341 1538353 1538354 1538361 1538362 1538367 1538370 1538386 1538388 1538391 1538392 1538394 1538397 1538399 1538404 1538412 1538412 1538416 1538419 1538423 1538426 1538427 1538428 1538430 1538431 1538433 1538434 1538435 1538436 1538438 1538439 1538440 1538441 1538443 1538444 1538445 1538446 1538448 1538449 1538450 1538451 1538452 1538453 1538454 1538455 1538456 1538457 1538458 1538459 1538460 1538461 1538462 1538463 1538464 1538465 1538466 1538467 1538468 1538471 1538472 1538474 1538476 1538477 1538478 1538479 1538481 1538482 1538483 1538485 1538486 1538487 1538488 1538489 1538490 1538491 1538492 1538493 1538494 1538495 1538496 1538498 1538499 1538502 1538503 1538505 1538506 1538507 1538510 1538511 1538512 1538512 1538529 1538530 1538531 1538532 1538534 1538536 1538537 1538551 1538552 1538554 1538557 1538558 1538559 1538560 1538563 1538564 1538565 1538566 1538567 1538568 1538569 1538570 1538571 1538572 1538574 1538576 1538577 1538578 1538580 1538581 1538582 1538584 1538586 1538587 1538588 1538589 1538590 1538591 1538592 1538593 1538595 1538596 1538597 1538598 1538599 1538601 1538602 1538604 1538606 1538607 1538608 1538609 1538610 1538611 1538613 1538614 1538615 1538616 1538621 1538622 1538623 1538624 1538625 1538626 1538627 1538628 1538629 1538630 1538631 1538632 1538633 1538634 1538635 1538636 1538637 1538638 1538638 1538639 1538640 1538641 1538642 1538643 1538644 1538645 1538646 1538647 1538648 1538650 1538651 1538652 1538653 1538654 1538655 1538656 1538657 1538658 1538659 1538660 1538661 1538667 1538668 1538669 1538670 1538671 1538673 1538674 1538675 1538676 1538678 1538680 1538681 1538683 1538685 1538686 1538687 1538688 1538689 1538690 1538691 1538692 1538693 1538695 1538696 1538697 1538698 1538699 1538700 1538703 1538704 1538705 1538708 1538709 1538710 1538711 1538712 1538713 1538714 1538715 1538716 1538717 1538718 1538719 1538720 1538721 1538722 1538723 1538726 1538727 1538728 1538730 1538732 1538733 1538734 1538735 1538736 1538737 1538738 1538743 1538745 1538749 1538751 1538753 1538755 1538756 1538757 1538758 1538759 1538760 1538761 1538763 1538764 1538766 1538768 1538769 1538770 1538772 1538773 1538776 1538778 1538780 1538781 1538782 1538782 1538783 1538784 1538785 1538786 1538787 1538789 1538790 1538791 1538792 1538793 1538795 1538796 1538803 1538819 1538820 1538821 1538822 1538823 1538824 1538825 1538826 1538827 1538829 1538830 1538832 1538833 1538834 1538835 1538836 1538837 1538839 1538840 1538841 1538842 1538843 1538844 1538845 1538846 1538849 1538850 1538853 1538856 1538857 1538859 1538860 1538864 1538865 1538866 1538867 1538869 1538870 1538871 1538873 1538874 1538879 1538881 1538883 1538890 1538892 1538892 1538894 1538895 1538896 1538897 1538899 1538901 1538902 1538903 1538904 1538907 1538908 1538910 1538911 1538913 1538914 1538915 1538916 1538917 1538918 1538919 1538920 1538921 1538922 1538923 1538924 1538925 1538926 1538927 1538929 1538931 1538934 1538935 1538938 1538939 1538940 1538941 1538943 1538944 1538945 1538957 1538958 1538959 1538963 1538964 1538965 1538967 1538971 1538972 1538973 1538974 1538975 1538976 1538977 1538978 1538979 1538981 1538983 1538987 1538988 1538990 1538993 1538994 1538997 1538998 1539001 1539006 1539008 1539018 1539026 1539029 1539032 1539033 1539033 1539037 1539043 1539044 1539047 1539048 1539051 1539052 1539057 1539059 1539061 1539062 1539063 1539064 1539067 1539069 1539070 1539071 1539074 1539075 1539076 1539078 1539079 1539080 1539081 1539082 1539083 1539084 1539085 1539086 1539087 1539088 1539089 1539090 1539091 1539092 1539093 1539094 1539095 1539096 1539097 1539098 1539099 1539100 1539101 1539102 1539103 1539104 1539105 1539106 1539107 1539108 1539109 1539110 1539111 1539112 1539113 1539114 1539115 1539116 1539117 1539118 1539119 1539122 1539123 1539124 1539125 1539126 1539127 1539128 1539131 1539132 1539133 1539135 1539136 1539137 1539138 1539139 1539140 1539141 1539142 1539143 1539144 1539145 1539148 1539168 1539171 1539172 1539178 1539183 1539188 1539190 1539193 1539198 1539200 1539201 1539202 1539203 1539204 1539205 1539206 1539207 1539208 1539209 1539210 1539211 1539212 1539213 1539214 1539216 1539218 1539219 1539220 1539221 1539222 1539223 1539224 1539225 1539226 1539227 1539228 1539229 1539230 1539233 1539234 1539241 1539242 1539243 1539244 1539245 1539246 1539247 1539248 1539252 1539265 1539266 1539267 1539268 1539269 1539270 1539271 1539272 1539273 1539274 1539280 1539281 1539283 1539285 1539289 1539290 1539291 1539292 1539293 1539294 1539295 1539296 1539297 1539298 1539309 1539310 1539311 1539312 1539313 1539315 1539317 1539320 1539322 1539324 1539327 1539328 1539329 1539330 1539331 1539332 1539332 1539334 1539335 1539336 1539337 1539338 1539339 1539340 1539341 1539345 1539346 1539348 1539354 1539356 1539357 1539358 1539359 1539360 1539361 1539362 1539363 1539364 1539366 1539367 1539368 1539369 1539370 1539371 1539372 1539373 1539383 1539385 1539386 1539387 1539388 1539390 1539393 1539394 1539399 1539417 1539418 1539423 1539426 1539428 1539429 1539430 1539431 1539437 1539443 1539444 1539445 1539449 1539453 1539454 1539455 1539460 1539463 1539464 1539465 1539467 1539471 1539472 1539473 1539475 1539476 1539477 1539478 1539479 1539480 1539481 1539482 1539483 1539484 1539485 1539486 1539487 1539488 1539489 1539490 1539491 1539492 1539493 1539494 1539495 1539496 1539497 1539498 1539499 1539501 1539503 1539505 1539507 1539508 1539509 1539510 1539511 1539512 1539513 1539514 1539515 1539516 1539517 1539518 1539521 1539522 1539523 1539524 1539525 1539527 1539528 1539529 1539530 1539531 1539532 1539533 1539534 1539535 1539536 1539539 1539540 1539542 1539543 1539544 1539545 1539546 1539547 1539548 1539550 1539551 1539552 1539553 1539554 1539556 1539557 1539558 1539559 1539560 1539561 1539562 1539563 1539564 1539565 1539566 1539567 1539568 1539569 1539570 1539572 1539573 1539574 1539575 1539576 1539577 1539578 1539578 1539579 1539579 1539584 1539585 1539586 1539587 1539588 1539589 1539591 1539592 1539593 1539594 1539595 1539598 1539599 1539600 1539601 1539603 1539603 1539604 1539605 1539606 1539607 1539608 1539609 1539610 1539611 1539612 1539613 1539614 1539615 1539616 1539617 1539618 1539619 1539620 1539621 1539622 1539623 1539624 1539626 1539627 1539628 1539629 1539630 1539631 1539633 1539637 1539644 1539652 1539658 1539659 1539660 1539661 1539662 1539663 1539664 1539665 1539666 1539667 1539668 1539669 1539671 1539673 1539674 1539675 1539685 1539689 1539696 1539699 1539700 1539701 1539703 1539705 1539707 1539709 1539711 1539715 1539718 1539719 1539720 1539721 1539722 1539724 1539727 1539728 1539729 1539730 1539731 1539732 1539733 1539734 1539735 1539743 1539744 1539745 1539746 1539747 1539748 1539749 1539750 1539751 1539753 1539754 1539758 1539759 1539762 1539763 1539765 1539766 1539768 1539769 1539770 1539771 1539774 1539776 1539777 1539778 1539780 1539781 1539782 1539783 1539784 1539785 1539786 1539787 1539788 1539789 1539790 1539790 1539791 1539791 1539792 1539793 1539794 1539795 1539796 1539797 1539798 1539799 1539800 1539803 1539804 1539805 1539806 1539807 1539808 1539809 1539810 1539811 1539812 1539814 1539815 1539816 1539819 1539835 1539836 1539837 1539838 1539839 1539840 1539843 1539844 1539845 1539847 1539848 1539853 1539855 1539856 1539859 1539860 1539861 1539862 1539863 1539864 1539865 1539866 1539867 1539868 1539869 1539870 1539871 1539872 1539873 1539874 1539875 1539876 1539877 1539879 1539880 1539881 1539883 1539884 1539885 1539886 1539887 1539888 1539889 1539890 1539893 1539894 1539895 1539896 1539897 1539899 1539900 1539901 1539902 1539903 1539904 1539905 1539906 1539907 1539908 1539909 1539910 1539912 1539913 1539915 1539916 1539921 1539922 1539923 1539924 1539925 1539926 1539928 1539930 1539931 1539933 1539935 1539936 1539937 1539940 1539943 1539944 1539945 1539948 1539949 1539951 1539952 1539954 1539956 1539959 1539960 1539962 1539964 1539965 1539967 1539969 1539970 1539971 1539972 1539973 1539976 1539977 1539977 1539978 1539979 1539981 1539982 1539983 1539984 1539985 1539986 1539987 1539988 1539990 1539991 1539993 1539993 1539994 1539995 1539996 1539997 1539998 1539999 1540000 1540001 1540004 1540005 1540005 1540006 1540007 1540008 1540009 1540010 1540012 1540016 1540018 1540019 1540020 1540021 1540022 1540022 1540023 1540024 1540026 1540027 1540029 1540030 1540031 1540033 1540034 1540035 1540036 1540037 1540038 1540039 1540040 1540041 1540042 1540043 1540044 1540046 1540047 1540048 1540051 1540052 1540053 1540054 1540055 1540056 1540057 1540058 1540060 1540061 1540062 1540063 1540064 1540065 1540066 1540067 1540069 1540070 1540071 1540072 1540073 1540074 1540075 1540076 1540077 1540078 1540079 1540081 1540082 1540083 1540084 1540085 1540086 1540087 1540088 1540089 1540090 1540092 1540093 1540094 1540095 1540096 1540097 1540098 1540100 1540101 1540102 1540102 1540103 1540104 1540105 1540108 1540109 1540111 1540112 1540115 1540116 1540117 1540125 1540126 1540127 1540127 1540128 1540130 1540131 1540132 1540134 1540135 1540136 1540138 1540140 1540141 1540142 1540142 1540143 1540144 1540145 1540146 1540147 1540149 1540150 1540151 1540152 1540154 1540155 1540156 1540157 1540159 1540160 1540161 1540162 1540163 1540168 1540169 1540170 1540171 1540172 1540173 1540175 1540176 1540179 1540180 1540181 1540182 1540183 1540184 1540185 1540186 1540187 1540188 1540189 1540190 1540191 1540191 1540192 1540193 1540194 1540196 1540197 1540199 1540200 1540201 1540204 1540205 1540206 1540207 1540208 1540209 1540210 1540211 1540214 1540215 1540216 1540217 1540218 1540219 1540220 1540222 1540223 1540224 1540225 1540226 1540226 1540228 1540229 1540232 1540232 1540234 1540235 1540239 1540249 1540252 1540254 1540255 1540264 1540265 1540267 1540269 1540272 1540278 1540285 1540289 1540290 1540291 1540292 1540293 1540294 1540295 1540296 1540297 1540298 1540301 1540302 1540303 1540304 1540305 1540306 1540308 1540309 1540311 1540365 1541160 1541221 1541250 1541381 1541483 1541553 1541597 1545287 1545380 1545478 1545534 1545576 1548473 1562131 1562292 1562465 1563037 1563377 1563380 1563381 1563382 1563385 1563386 1563387 1563389 1563687 1563688 1563722 1563758 1563761 1563808 1563809 1564097 1564098 1564132 1564133 1564134 1564137 1564139 1564357 1564370 1564372 1564376 1564378 1564379 1564522 1564561 1564583 1564654 1564656 1564673 1564674 1564682 1564741 1564778 1564779 1564816 1564868 1564869 1564870 1564871 1564881 1564899 1564903 1564904 1564905 1564906 1564907 1564999 1565020 1565054 1565055 1565056 1565068 1565083 1565114 1565115 1565132 1565154 1565160 1565167 1565186 1565192 1565193 1565196 1565230 1565319 1565351 1565367 1565399 1565423 1565427 1565434 1565517 1565536 1565651 1565802 1565819 1565824 1565829 1565860 1565907 1565936 1565943 1566012 1566141 1566154 1566219 1566330 1566337 1566345 1566416 1566488 1566492 1566493 1566509 1566537 1566543 1566548 1566585 1566589 1566664 1566744 1566771 1566772 1566773 1566788 1566789 1566790 1566805 1566814 1566877 1566901 1566942 1566953 1567069 1567078 1567079 1567092 1567130 1567157 1567158 1567164 1567167 1567240 1567261 1567265 1567284 1567334 1567382 1567500 1567600 1567685 1567761 1567772 1567774 1567780 1567813 1567848 1567875 1567876 1567893 1567956 1567962 1567987 1567989 1568106 1568135 1568158 1568167 1568191 1568199 1568206 1568213 1568214 1568257 1568286 1568366 1568391 1568393 1568395 1568414 1568447 1568490 1568493 1568520 1568522 1568555 1568591 1568594 1568626 1568645 1568737 1568739 1568753 1568762 1568763 1568770 1568869 1568961 1568971 1568991 1569034 1569072 1569073 1569190 1569236 1569419 1569563 1569573 1569574 1569656 1569673 1569694 1569711 1569720 1569730 1569736 1569737 1569752 1569765 1569772 1569779 1569813 1569815 1569822 1569827 1569842 1569870 1569923 1569964 1569965 1569974 1570193 1570280 1570308 1570312 1570336 1570352 1570400 1570494 1570529 1570803 1570804 1570938 1571037 1571148 1571149 1571242 1571302 1571383 1571424 1571448 1571451 1571453 1571464 1571481 1571486 1571512 1571530 1571559 1571575 1571580 1571590 1571593 1571600 1571608 1571614 1571619 1571622 1571638 1571639 1571641 1571648 1571649 1571654 1571687 1577018 1577331 1578588 1578592 1578593 1578927 1579107 1579194 1579259 1579322 1579593 1579754 1587002 1587004 1587084 1608294 1608304 1608305 1608310 1608320 1608653 1608757 1608841 1609165 1609169 1609206 1609230 1609274 1609289 1609679 1609739 1609787 1609817 1609899 1609938 1609943 1610033 1610201 1610419 1610451 1610457 1610534 1610743 1610890 1610998 1611046 1611366 1611442 1611475 1611549 1611843 1611919 1611923 1611934 1612060 1612096 1612175 1612192 1612217 1612225 1612279 1612784 1612791 1612792 1612831 1613323 1613332 1613850 1613884 1613886 1613887 1613942 1614423 1614702 1615561 1615570 1615657 1615665 1616557 1616867 1617068 1617578 1617580 1618608 1619116 1619123 1619124 1619625 1619635 1619833 1619853 1619863 1619962 1619966 1620049 1620077 1620098 1620104 1620136 1620253 1620259 1620260 1621235 1621245 1704989 1706636 1706652 1708000 1708025 1708150 1708291 1708616 1709139 1709144 1709390 1709966 1710327 1710492 1744687 1812639 1822609 1822613 1822614 1822616 1822617 1822619 1822620 1822621 1822624 1822629 1822631 1822633 1822634 1822636 1822638 1822641 1822645 1822646 1822651 1822652 1822653 1822655 1822657 1822658 1822659 1822663 1822664 1822665 1822667 1822668 1822669 1822670 1822673 1822674 1822675 1822676 1822678 1822679 1822680 1822681 1822683 1822684 1822685 1822686 1822687 1822688 1822689 1822690 1822691 1822692 1822694 1822695 1822698 1822702 1822703 1822704 1822705 1822706 1822710 1822711 1822712 1822713 1822714 1822715 1822716 1822718 1822719 1822720 1822721 1822722 1822723 1822724 1822725 1822726 1822728 1822729 1822730 1822731 1822732 1822733 1822734 1822736 1822737 1822738 1822739 1822740 1822741 1822742 1822743 1822746 1822747 1822748 1822749 1822750 1822751 1822752 1822754 1822755 1822756 1822757 1822758 1822759 1822761 1822762 1822764 1822765 1822767 1822768 1822769 1822771 1822773 1822774 1822777 1822778 1822779 1822780 1822781 1822782 1822783 1822784 1822785 1822786 1822787 1822788 1822789 1822790 1822791 1822792 1822793 1822794 1822796 1822797 1822798 1822799 1822800 1822801 1822802 1822806 1822807 1822811 1822818 1822819 1822820 1822821 1822835 1822846 1822854 1822855 1822857 1822861 1822867 1822876 1822877 1822879 1822881 1822882 1822888 1822890 1822897 1822901 1822902 1822903 1822905 1822906 1822917 1822918 1822919 1822921 1822928 1822930 1822932 1822933 1822934 1822939 1822942 1822943 1822945 1822946 1822950 1822951 1822952 1822953 1822955 1822956 1822957 1822958 1822959 1822960 1822961 1822963 1822966 1822968 1822969 1822970 1822971 1822977 1822981 1822982 1822983 1822984 1822985 1822987 1822988 1822989 1822990 1822991 1822992 1822993 1822995 1822996 1822997 1823000 1823007 1823008 1823009 1823011 1823015 1823016 1823017 1823019 1823020 1823021 1823029 1823071 1823072 1823073 1823074 1823075 1823078 1823080 1823081 1823083 1823087 1823089 1823090 1823091 1823093 1823094 1823096 1823097 1823098 1823107 1823108 1823109 1823110 1823112 1823113 1823115 1823117 1823118 1823119 1823120 1823121 1823123 1823124 1823126 1823127 1823128 1823129 1823130 1823131 1823132 1823134 1823135 1823136 1823137 1823138 1823139 1823140 1823141 1823142 1823143 1823145 1823148 1823149 1823151 1823153 1823156 1823157 1823158 1823159 1823160 1823161 1823163 1823164 1823165 1823166 1823168 1823170 1823172 1823173 1823174 1823175 1823176 1823177 1823178 1823179 1823180 1823181 1823182 1823184 1823185 1823186 1823187 1823188 1823189 1823190 1823192 1823193 1823196 1823197 1823198 1823200 1823201 1823202 1823205 1823206 1823207 1823210 1823214 1823215 1823217 1823221 1823223 1823225 1823226 1823227 1823228 1823242 1823244 1823245 1823246 1823247 1823248 1823249 1823250 1823252 1823255 1823256 1823260 1823261 1823262 1823263 1823264 1823265 1823267 1823268 1823270 1823271 1823272 1823273 1823274 1823276 1823277 1823279 1823280 1823281 1823282 1823283 1823288 1823289 1823290 1823291 1823292 1823293 1823295 1823296 1823300 1823301 1823303 1823304 1823305 1823306 1823307 1823309 1823310 1823311 1823314 1823315 1823317 1823318 1823319 1823321 1823324 1823325 1823326 1823327 1823328 1823329 1823330 1823331 1823332 1823334 1823335 1823336 1823338 1823340 1823345 1823347 1823348 1823349 1823350 1823352 1823355 1823356 1823357 1823358 1823360 1823362 1823363 1823366 1823367 1823369 1823370 1823374 1823375 1823376 1823380 1823381 1823382 1823384 1823385 1823386 1823388 1823390 1823391 1823394 1823395 1823396 1823397 1823398 1823401 1823402 1823403 1823405 1823406 1823407 1823408 1823412 1823415 1823418 1823420 1823422 1823424 1823428 1823430 1823431 1823435 1823436 1823437 1823438 1823440 1823442 1823445 1823446 1823447 1823450 1823451 1823452 1823453 1823455 1823457 1823458 1823459 1823460 1823461 1823462 1823463 1823464 1823465 1823466 1823467 1823469 1823470 1823474 1823475 1823476 1823477 1823478 1823479 1823480 1823482 1823485 1823486 1823488 1823489 1823490 1823491 1823492 1823493 1823497 1823498 1823499 1823500 1823501 1823502 1823503 1823506 1823509 1823514 1823515 1823516 1823517 1823518 1823519 1823520 1823521 1823522 1823523 1823524 1823527 1823529 1823530 1823532 1823533 1823535 1823539 1823540 1823541 1823542 1823543 1823546 1823551 1823552 1823553 1823554 1823555 1823556 1823557 1823558 1823559 1823560 1823562 1823564 1823567 1823570 1823571 1823572 1823575 1823577 1823578 1823579 1823580 1823581 1823584 1823585 1823586 1823587 1823588 1823589 1823590 1823591 1823592 1823593 1823594 1823595 1823596 1823597 1823598 1823599 1823600 1823601 1823602 1823603 1823607 1823608 1823609 1823610 1823611 1823612 1823613 1823614 1823615 1823616 1823617 1823619 1823620 1823621 1823628 1823630 1823631 1823634 1823635 1823636 1823637 1823638 1823639 1823640 1823641 1823642 1823643 1823644 1823645 1823649 1823650 1823652 1823653 1823654 1823655 1823656 1823657 1823658 1823659 1823666 1823668 1823677 1823678 1823682 1823683 1823684 1823685 1823686 1823687 1823688 1823689 1823693 1823694 1823695 1823696 1823697 1823698 1823700 1823702 1823703 1823705 1823706 1823707 1823708 1823709 1823711 1823716 1823720 1823722 1823726 1823727 1823729 1823736 1823743 1823744 1823748 1823750 1823755 1823760 1823761 1823768 1823771 1823772 1823777 1823779 1823780 1823781 1823782 1823785 1823786 1823787 1823790 1823791 1823795 1823796 1823800 1823801 1823806 1823808 1823813 1823821 1823823 1823824 1823825 1823826 1823827 1823830 1823832 1823833 1823834 1823835 1823836 1823837 1823838 1823840 1823841 1823843 1823844 1823845 1823846 1823851 1823852 1823857 1823858 1823859 1823860 1823861 1823862 1823863 1823864 1823866 1823869 1823870 1823871 1823873 1823875 1823877 1823878 1823879 1823881 1823882 1823884 1823885 1823886 1823888 1823889 1823890 1823891 1823892 1823893 1823894 1823895 1823896 1823897 1823901 1823902 1823903 1823904 1823906 1823908 1823909 1823911 1823912 1823914 1823916 1823918 1823919 1823920 1823921 1823922 1823923 1823924 1823925 1823926 1823927 1823928 1823929 1823930 1823932 1823933 1823935 1823938 1823940 1823941 1823942 1823943 1823944 1823945 1823946 1823948 1823950 1823951 1823952 1823953 1823954 1823956 1823957 1823958 1823959 1823960 1823961 1823962 1823965 1823966 1823967 1823968 1823974 1823976 1823977 1823978 1823979 1823980 1823983 1823984 1823985 1823987 1823988 1823990 1823993 1823995 1823998 1824002 1824003 1824010 1824015 1824032 1824035 1824037 1824038 1824046 1824050 1824053 1824056 1824060 1824066 1824069 1824070 1824076 1824077 1824078 1824079 1824080 1824081 1824082 1824083 1824085 1824086 1824087 1824088 1824090 1824091 1824092 1824093 1824094 1824099 1824103 1824104 1824106 1824107 1824108 1824109 1824110 1824112 1824114 1824116 1824120 1824121 1824124 1824125 1824126 1824128 1824129 1824131 1824133 1824135 1824148 1824153 1824154 1824156 1824159 1824165 1824168 1824169 1824178 1824180 1824181 1824182 1824186 1824188 1824190 1824191 1824198 1824199 1824200 1824201 1824202 1824205 1824206 1824208 1824209 1824210 1824212 1824213 1824214 1824215 1824216 1824218 1824219 1824221 1824229 1824233 1824234 1824240 1824243 1824246 1824247 1824250 1824251 1824257 1824261 1824267 1824280 1824287 1824291 1824301 1824302 1824308 1824309 1824317 1824319 1824320 1824324 1824325 1824326 1824334 1824336 1824339 1824340 1824341 1824343 1824348 1824351 1824359 1824360 1824365 1824367 1824369 1824370 1824372 1824373 1824374 1824378 1824379 1824382 1824389 1824393 1824395 1824396 1824405 1824406 1824408 1824410 1824414 1824415 1824418 1824421 1824423 1824425 1824426 1824427 1824428 1824430 1824441 1824445 1824448 1824451 1824454 1824459 1824460 1824462 1824463 1824471 1824472 1824473 1824475 1824477 1824480 1824481 1824482 1824487 1824489 1824492 1824499 1824500 1824506 1824507 1824509 1824513 1824520 1824521 1824522 1824523 1824524 1824525 1824526 1824528 1824529 1824530 1824531 1824533 1824535 1824539 1824540 1824541 1824543 1824545 1824546 1824547 1824548 1824550 1824551 1824553 1824554 1824557 1824558 1824561 1824562 1824563 1824564 1824565 1824566 1824568 1824569 1824570 1824573 1824574 1824578 1824579 1824580 1824584 1824586 1824587 1824589 1824590 1824591 1824592 1824593 1824594 1824596 1824603 1824604 1824605 1824608 1824610 1824611 1824612 1824616 1824618 1824619 1824620 1824621 1824626 1824627 1824628 1824631 1824632 1824634 1824637 1824638 1824640 1824641 1824643 1824644 1824645 1824646 1824647 1824649 1824650 1824651 1824652 1824653 1824658 1824659 1824660 1824662 1824663 1824666 1824668 1824669 1824670 1824671 1824672 1824673 1824674 1824675 1824676 1824677 1824678 1824679 1824680 1824681 1824682 1824683 1824684 1824685 1824688 1824690 1824691 1824692 1824693 1824695 1824696 1824698 1824699 1824700 1824701 1824703 1824704 1824706 1824707 1824709 1824710 1824711 1824712 1824713 1824714 1824715 1824716 1824717 1824718 1824719 1824720 1824721 1824723 1824724 1824725 1824726 1824727 1824728 1824729 1824730 1824731 1824732 1824735 1824736 1824738 1824739 1824740 1824741 1824742 1824745 1824746 1824747 1824748 1824749 1824750 1824752 1824753 1824754 1824755 1824756 1824757 1824759 1824761 1824763 1824766 1824770 1824771 1824775 1824776 1824777 1824778 1824782 1824783 1824784 1824786 1824787 1824788 1824789 1824790 1824791 1824793 1824794 1824795 1824796 1824798 1824799 1824800 1824804 1824805 1824808 1824809 1824810 1824811 1824812 1824813 1824814 1824816 1824828 1824837 1824838 1824840 1824841 1824842 1824843 1824844 1824878 1824880 1824881 1824882 1824884 1824885 1824886 1824893 1824894 1824896 1824898 1824899 1824900 1824901 1824902 1824903 1824904 1824906 1824907 1824908 1824910 1824911 1824912 1824913 1824915 1824916 1824919 1824921 1824927 1824928 1824929 1824931 1824935 1824936 1824937 1824938 1824939 1824940 1824941 1824942 1824943 1824945 1824946 1824948 1824950 1824951 1824952 1824955 1824956 1824957 1824958 1824959 1824960 1824962 1824963 1824964 1824972 1824975 1824980 1824982 1824983 1824984 1824986 1824987 1824988 1824990 1824992 1824993 1824994 1825002 1825004 1825005 1825006 1825007 1825008 1825009 1825010 1825011 1825012 1825015 1825016 1825017 1825018 1825019 1825020 1825021 1825022 1825023 1825024 1825025 1825026 1825027 1825028 1825029 1825034 1825036 1825037 1825038 1825039 1825040 1825042 1825043 1825044 1825045 1825046 1825047 1825049 1825050 1825052 1825054 1825055 1825057 1825058 1825059 1825060 1825061 1825062 1825064 1825066 1825067 1825069 1825070 1825072 1825073 1825074 1825075 1825076 1825077 1825078 1825079 1825080 1825081 1825082 1825083 1825084 1825085 1825087 1825092 1825093 1825094 1825096 1825098 1825106 1825114 1825117 1825121 1825122 1825131 1825133 1825137 1825138 1825147 1825148 1825150 1825151 1825153 1825156 1825160 1825161 1825162 1825164 1825166 1825167 1825168 1825169 1825170 1825173 1825181 1825206 1825209 1825212 1825215 1825216 1825217 1825218 1825224 1825226 1825232 1825233 1825236 1825237 1825239 1825240 1825241 1825242 1825243 1825244 1825247 1825252 1825253 1825255 1825257 1825258 1825259 1825262 1825263 1825265 1825266 1825267 1825268 1825270 1825275 1825276 1825278 1825280 1825281 1825283 1825285 1825286 1825287 1825288 1825290 1825291 1825292 1825293 1825294 1825295 1825296 1825298 1825299 1825300 1825301 1825302 1825303 1825304 1825308 1825309 1825310 1825311 1825312 1825313 1825314 1825315 1825317 1825318 1825319 1825320 1825321 1825322 1825324 1825325 1825326 1825336 1825340 1825343 1825344 1825345 1825346 1825347 1825348 1825349 1825350 1825351 1825352 1825353 1825357 1825363 1825366 1825367 1825368 1825369 1825370 1825371 1825372 1825375 1825376 1825377 1825378 1825379 1825380 1825382 1825385 1825392 1825393 1825395 1825397 1825398 1825399 1825403 1825404 1825406 1825408 1825410 1825411 1825412 1825413 1825414 1825415 1825416 1825420 1825423 1825424 1825425 1825426 1825430 1825432 1825433 1825436 1825437 1825438 1825439 1825446 1825449 1825450 1825452 1825453 1825454 1825455 1825459 1825461 1825462 1825463 1825464 1825465 1825466 1825468 1825474 1825475 1825476 1825477 1825479 1825484 1825485 1825487 1825491 1825492 1825493 1825494 1825495 1825496 1825497 1825498 1825499 1825500 1825501 1825502 1825503 1825504 1825505 1825508 1825510 1825515 1825516 1825517 1825518 1825519 1825523 1825524 1825525 1825526 1825527 1825528 1825529 1825530 1825532 1825534 1825535 1825540 1825546 1825547 1825549 1825552 1825553 1825554 1825555 1825556 1825557 1825558 1825559 1825561 1825562 1825566 1825567 1825568 1825569 1825570 1825571 1825572 1825573 1825574 1825575 1825576 1825577 1825578 1825579 1825585 1825586 1825588 1825589 1825590 1825592 1825593 1825594 1825595 1825596 1825598 1825599 1825601 1825602 1825603 1825605 1825606 1825607 1825609 1825613 1825614 1825618 1825620 1825621 1825622 1825624 1825625 1825626 1825630 1825631 1825632 1825633 1825634 1825635 1825636 1825637 1825638 1825639 1825640 1825641 1825642 1825644 1825646 1825647 1825648 1825654 1825657 1825660 1825662 1825666 1825667 1825669 1825671 1825673 1825675 1825676 1825678 1825680 1825682 1825683 1825684 1825685 1825687 1825691 1825692 1825693 1825702 1825705 1825707 1825708 1825709 1825710 1825711 1825712 1825715 1825716 1825717 1825719 1825721 1825723 1825724 1825725 1825726 1825727 1825731 1825732 1825734 1825735 1825738 1825739 1825740 1825741 1825743 1825744 1825745 1825747 1825748 1825749 1825750 1825751 1825752 1825753 1825754 1825755 1825756 1825757 1825759 1825760 1825761 1825762 1825763 1825764 1825765 1825766 1825767 1825768 1825769 1825770 1825771 1825772 1825773 1825775 1825777 1825778 1825779 1825781 1825782 1825783 1825784 1825785 1825786 1825787 1825788 1825790 1825791 1825792 1825793 1825794 1825795 1825796 1825797 1825801 1825802 1825803 1825806 1825807 1825809 1825810 1825812 1825813 1825817 1825818 1825819 1825820 1825821 1825822 1825824 1825826 1825827 1825828 1825829 1825830 1825831 1825832 1825834 1825835 1825836 1825837 1825838 1825839 1825840 1825841 1825842 1825843 1825844 1825845 1825846 1825847 1825848 1825849 1825850 1825852 1825853 1825854 1825855 1825856 1825857 1825858 1825859 1825861 1825862 1825863 1825864 1825866 1825867 1825868 1825869 1825873 1825875 1825876 1825877 1825878 1825879 1825883 1825884 1825885 1825888 1825889 1825892 1825895 1825896 1825897 1825899 1825900 1825901 1825904 1825907 1825908 1825910 1825912 1825913 1825914 1825916 1825917 1825918 1825919 1825921 1825922 1825924 1825926 1825931 1825933 1825934 1825936 1825937 1825938 1825939 1825942 1825943 1825944 1825945 1825946 1825947 1825948 1825949 1825950 1825952 1825953 1825954 1825955 1825957 1825958 1825959 1825962 1825964 1825965 1825966 1825968 1825969 1825974 1825975 1825977 1825978 1825979 1825980 1825981 1825983 1825984 1825986 1825987 1825988 1825989 1825990 1825991 1825994 1825995 1825996 1825998 1826000 1826002 1826003 1826004 1826005 1826006 1826007 1826008 1826009 1826012 1826016 1826018 1826019 1826022 1826024 1826025 1826027 1826031 1826035 1826036 1826038 1826039 1826040 1826046 1826048 1826049 1826051 1826053 1826054 1826056 1826057 1826060 1826064 1826065 1826080 1826082 1826092 1826094 1826096 1826106 1826116 1826130 1826137 1826141 1826145 1826148 1826152 1826153 1826163 1826165 1826167 1826168 1826169 1826183 1826187 1826189 1826225 1826246 1826253 1826254 1826255 1826256 1826257 1826258 1826259 1826260 1826261 1826262 1826263 1826264 1826265 1826266 1826267 1826268 1826269 1826270 1826271 1826272 1826273 1826275 1826276 1826277 1826278 1826279 1826280 1826281 1826282 1826283 1826297 1826298 1826303 1826308 1826309 1826310 1826313 1826314 1826315 1826316 1826317 1826318 1826319 1826320 1826321 1826322 1826323 1826324 1826326 1826328 1826331 1826332 1826334 1826336 1826337 1826338 1826340 1826342 1826343 1826346 1826348 1826349 1826350 1826351 1826352 1826353 1826354 1826355 1826356 1826357 1826358 1826359 1826361 1826362 1826368 1826372 1826373 1826380 1826381 1826382 1826383 1826384 1826385 1826388 1826389 1826391 1826392 1826393 1826394 1826395 1826396 1826397 1826398 1826399 1826400 1826401 1826402 1826403 1826404 1826406 1826407 1826408 1826409 1826411 1826412 1826413 1826414 1826415 1826416 1826417 1826418 1826419 1826421 1826422 1826423 1826425 1826426 1826427 1826429 1826431 1826432 1826433 1826434 1826435 1826436 1826437 1826438 1826439 1826441 1826442 1826443 1826444 1826445 1826446 1826447 1826448 1826449 1826450 1826452 1826453 1826454 1826455 1826456 1826458 1826459 1826460 1826461 1826462 1826463 1826464 1826466 1826467 1826468 1826469 1826470 1826471 1826473 1826476 1826477 1826483 1826484 1826485 1826486 1826491 1826492 1826493 1826495 1826496 1826500 1826501 1826502 1826503 1826504 1826505 1826507 1826509 1826511 1826514 1826515 1826517 1826519 1826520 1826521 1826523 1826524 1826525 1826526 1826527 1826528 1826536 1826538 1826539 1826540 1826541 1826542 1826543 1826544 1826545 1826546 1826547 1826548 1826549 1826550 1826551 1826553 1826554 1826556 1826559 1826560 1826561 1826562 1826563 1826564 1826565 1826566 1826567 1826568 1826569 1826571 1826574 1826581 1826582 1826583 1826584 1826585 1826586 1826587 1826588 1826590 1826592 1826593 1826594 1826595 1826596 1826597 1826600 1826602 1826604 1826605 1826607 1826608 1826609 1826610 1826611 1826612 1826613 1826614 1826615 1826618 1826619 1826620 1826621 1826623 1826624 1826625 1826626 1826627 1826629 1826630 1826632 1826634 1826636 1826637 1826638 1826639 1826642 1826643 1826644 1826645 1826646 1826647 1826649 1826650 1826651 1826653 1826654 1826667 1826669 1826672 1826676 1826694 1826696 1826697 1826698 1826699 1826700 1826701 1826702 1826703 1826704 1826705 1826706 1826707 1826709 1826710 1826711 1826712 1826713 1826715 1826716 1826717 1826718 1826719 1826723 1826724 1826726 1826727 1826729 1826730 1826731 1826732 1826733 1826734 1826735 1826737 1826738 1826739 1826742 1826743 1826744 1826745 1826746 1826752 1826753 1826755 1826756 1826757 1826758 1826761 1826763 1826764 1826765 1826766 1826767 1826768 1826769 1826770 1826771 1826772 1826773 1826776 1826778 1826779 1826780 1826781 1826784 1826785 1826786 1826787 1826788 1826789 1826790 1826791 1826792 1826793 1826794 1826795 1826796 1826797 1826798 1826799 1826806 1826808 1826809 1826813 1826816 1826819 1826820 1826821 1826822 1826823 1826824 1826825 1826827 1826828 1826829 1826831 1826833 1826834 1826835 1826836 1826837 1826838 1826839 1826840 1826841 1826842 1826843 1826844 1826846 1826849 1826857 1826858 1826902 1826931 1826936 1826941 1826942 1826943 1826944 1826945 1826946 1826947 1826949 1826950 1826951 1826952 1826953 1826954 1826955 1826956 1826957 1826958 1826959 1826960 1826961 1826964 1826966 1826967 1826968 1826969 1826970 1826972 1826973 1826974 1826975 1826976 1826977 1826978 1832360 1832361 1832467 1833235 1835006 1835811 1835812 1835834 1835836 1835837 1835838 1835839 1835840 1835841 1835843 1835848 1835855 1835856 1835858 1835859 1835860 1835861 1835863 1835864 1835886 1835898 1835906 1835907 1835908 1835909 1835911 1835920 1835950 1835951 1835952 1836008 1836075 1836109 1836110 1836111 1836112 1836117 1836171 1836172 1836180 1836181 1836205 1836267 1836273 1836286 1836306 1836583 1836604 1836606 1836722 1836928 1836941 1836945 1836956 1837013 1837144 1837146 1837204 1837221 1837417 1837420 1837421 1837441 1837442 1837500 1837550 1837563 1837594 1837729 1837790 1837808 1837820 1837877 1837895 1837928 1837971 1838542 1838543 1839072 1842089 1842125 1842236 1842259 1842306 1842308 1842325 1842350 1842351 1842354 1842355 1842356 1842690 1842747 1842758 1842760 1842761 1842796 1842829 1842834 1842840 1842848 1842851 1842869 1842980 1843041 1843095 1843354 1843476 1843760 1843764 1843785 1843833 1843897 1843919 1843948 1845087 1845100 1845101 1845143 1845191 1845260 1845514 1845515 1846283 1846414 1846532 1846535 1846690 1846723 1846860 1846861 1846885 1846919 1846978 1846989 1847163 1847320 1847321 1847322 1847413 1847414 1847531 1847590 1847895 1848294 1853122 1853130 1853131 1853132 1853135 1853152 1853155 1853216 1853225 1853254 1853260 1853261 1853262 1853292 1853355 1853361 1853366 1853491 1853667 1853685 1853828 1854020 1854225 1854259 1854268 1854269 1854276 1854378 1854396 1854572 1854576 1854580 1854634 1857683 1857684 1857700 1857712 1857748 1857782 1857793 1857794 1857796 1857831 1857862 1857983 1858105 1858156 1858559 1858625 1858663 1858871 1860227 1864009 1864175 1864500 1864636 1864650 1864667 1864692 1864724 1864725 1864736 1864739 1864740 1864745 1864769 1864770 1864771 1864814 1864824 1864832 1864833 1864845 1864891 1864909 1864911 1864958 1864963 1865021 1865042 1865043 1865068 1865069 1865138 1865268 1865269 1867626 1869126 1876156 1876205 1876213 1968821 1968822 1968823 1968826 1968827 1968829 1968831 1968832 1968833 1968835 1968836 1968837 1968839 1968841 1968842 1969012 1969026 1969042 1969043 1969051 1969058 1969059 1969082 1969088 1969094 1969105 1969109 1969110 1969111 1969616 1969618 1969622 1969628 1969641 1969642 1969643 1969646 1969654 1969662 1969797 1969798 1970004 1970006 1970014 1970015 1970017 1970019 1970022 1970023 1970031 1970148 1970157 1970159 1970174 1970205 1970208 1970234 1970246 1970251 1970252 1970410 1970411 1970412 1970415 1970418 1970419 1970469 1970471 1970480 1970854 1970995 1999257 2239292 2239293 2239294 2239296 2239298 2239303 2239305 2239306 2239313 2239314 2239318 2239319 2239322 2239328 2239329 2239330 2239331 2239332 2239342 2239343 2239344 2239353 2239356 2239357 2239359 2239360 2239361 2239362 2239369 2239370 2239371 2239372 2239386 2239387 2239388 2239390 2239392 2239395 2239398 2239417 2239419 2239420 2239421 2239422 2239425 2239426 2239428 2239435 2239437 2239440 2239441 2239449 2239452 2239453 2239455 2239456 2239457 2239460 2239463 2239468 2239469 2239470 2239473 2239482 2239483 2239486 2239487 2239491 2239494 2239498 2239507 2239508 2239509 2239510 2239511 2239513 2239515 2239524 2239526 2239533 2239547 2239551 2239552 2239553 2239557 2239561 2239564 2239568 2239651 2239652 2239653 2239654 2239655 2239656 2239659 2239661 2239663 2239665 2239666 2239668 2239669 2239672 2239674 2239682 2239683 2239684 2239686 2239701 2239705 2239709 2239712 2239734 2239755 2239756 2239757 2239758 2239763 2239764 2239765 2239766 2239768 2239770 2239772 2239773 2239779 2239780 2239781 2239784 2239789 2239791 2239799 2239800 2239803 2239804 2239805 2239806 2239810 2239817 2239819 2239820 2239821 2239826 2239827 2239836 2239840 2239845 2239849 2239864 2239865 2239867 2239869 2239870 2239871 2239874 2239875 2239880 2239881 2239883 2239884 2239885 2239886 2239887 2239888 2239891 2239892 2239895 2239897 2239901 2239904 2239905 2239906 2239907 2239908 2239910 2239913 2239914 2239916 2239919 2239920 2239921 2239922 2239923 2239924 2239927 2239930 2239931 2239932 2239933 2239934 2239935 2239938 2239945 2240000 2240035 2240038 2240039 2240043 2240044 2240045 2240046 2240048 2240049 2240050 2240055 2240056 2240065 2240073 2240075 2240076 2240077 2240078 2240084 2240087 2240091 2240092 2240095 2240099 2240100 2240102 2240103 2240104 2240105 2240109 2240110 2240111 2240112 2240113 2240116 2240119 2240120 2240132 2240135 2240138 2240140 2240144 2240168 2240169 2240171 2240173 2240178 2240180 2240186 2240188 2240198 2240200 2240201 2240202 2240205 2240206 2240207 2240210 2240211 2240223 2240224 2240226 2240229 2240231 2240235 2240247 2240248 2240250 2240254 2240256 2240258 2240259 2240263 2240268 2240270 2240273 2240284 2240286 2240298 2240301 2240302 2240303 2240305 2240307 2240308 2240311 2240312 2240316 2240321 2240325 2240326 2240327 2240335 2240338 2240341 2240342 2240346 2240349 2240359 2240360 2240361 2240362 2240363 2240366 2240367 2240368 2242465 2242466 2242467 2242767 2243119 2266648 2608049 2608050 2673188 2673202 2673256 2674784 2675209 2675234 2675889 2675903 2676276 2676509 2676726 2677154 2677155 2677316 2677317 2677318 2677502 2677530 2677531 2677566 2677573 2677581 2677742 2677743 2677835 2677838 2678513 2678520 2678521 2678522 2678524 2678525 2678526 2678527 2678528 2678530 2678537 2678545 2678546 2678549 2678550 2678553 2678554 2678555 2678557 2678558 2678559 2678560 2678562 2678573 2678575 2678577 2678584 2678589 2678590 2678594 2678596 2678602 2678630 2678632 2678677 2678679 2678680 2678681 2678684 2678685 2678688 2678691 2678699 2678700 2678701 2678723 2678742 2678943 2679827 2680359 2680360 2680364 2680370 2680373 2680374 2680378 2680381 2680414 2680426 2680427 2680428 2680430 2680432 2680433 2680437 2680448 2680450 2680463 2680468 2680469 2680470 2680480 2680482 2680484 2680485 2680488 2680489 2680491 2680495 2680507 2681079 2681085 2681086 2681088 2681097 2681098 2681104 2681105 2681106 2681112 2681113 2681123 2681129 2681130 2681131 2681144 2681145 2681158 2681172 2681177 2681179 2681182 2681183 2681184 2681191 2681194 2681197 2681201 2681204 2681211 2681219 2681226 2681227 2681235 2681239 2681253 2681258 2681263 2681272 2681279 2681282 2681284 2681286 2681290 2681294 2681299 2681300 2681301 2681309 2681313 2681319 2681322 2681323 2681324 2681327 2681330 2681331 2681333 2681352 2681355 2681361 2681364 2681366 2681368 2681372 2681387 2681389 2681394 2681396 2681401 2681404 2681405 2681413 2681416 2681417 2681447 2681448 2681462 2681488 2681489 2681490 2681496 2681497 2681500 2681503 2681504 2681510 2681511 2681514 2681521 2681526 2681529 2681534 2681537 2681538 2681539 2681540 2681544 2681546 2681547 2681554 2681555 2681556 2681560 2681564 2681565 2681566 2681589 2681594 2681609 2681611 2681612 2681613 2681616 2681622 2681623 2681627 2681629 2681631 2681633 2681634 2681636 2681637 2681642 2681652 2681653 2681660 2681661 2681662 2681663 2681666 2681693 2681718 2681724 2681760 2681775 2681776 2681781 2681835 2681836 2681837 2681839 2681840 2681844 2681845 2681847 2681849 2681851 2681852 2681853 2681854 2681857 2681858 2681859 2681864 2681866 2681867 2681897 2681898 2681899 2681901 2681903 2681918 2681920 2681922 2681929 2681931 2681932 2699119 2700407 2700595 2700596 2700597 2746045 2748512 2748553 2748556 2749018 2750060 2750469 2750470 2750476 2751072 2828415 2828534 2828546 2828554 2828559 2828567 2828568 2828573 2828575 2828579 2828582 2828585 2828594 2828610 2828624 2828632 2828633 2828634 2828657 2828666 2828668 2828669 2828682 2828683 2828701 2828702 2828704 2828705 2828709 2828710 2828719 2828720 2828722 2828732 2828736 2828739 2828741 2828747 2828748 2828772 2828777 2828784 2828822 2828823 2828824 2828826 2828843 2828851 2828858 2828861 2828870 2828871 2828872 2828875 2828877 2828892 2828896 2828921 2828923 2828924 2828961 2828981 2828991 2828992 2828998 2829000 2829028 2829040 2829041 2829044 2829141 2829142 2829143 2829145 2829164 2829169 2829171 2829172 2829184 2829185 2829186 2829187 2829194 2829195 2829196 2829203 2829213 2829235 2829252 2829258 2829272 2829275 2829279 2829281 2829354 2829366 2829370 2829373 2829375 2829390 2829391 2829392 2829394 2829396 2829402 2829403 2829404 2829405 2829408 2829475 2829488 2829490 2829516 2829522 2829539 2829540 2829548 2829551 2829556 2829563 2829581 2829584 2829592 2829594 2829596 2829607 2829632 2829638 2829651 2829655 2829846 2829866 2829906 2829932 2829948 2829953 2829958 2829966 2829972 2829984 2829992 2829996 2830001 2830002 2985237 3146324 3146409 3146439 3146446 3146456 3146457 3146459 3146479 3146545 3146547 3146551 3146559 3146566 3146592 3146638 3146639 3146673 3146680 3146706 3146710 3146722 3146723 3146739 3146752 3146760 3146761 3146763 3146765 3146775 3146781 3146783 3146802 3146829 3146845 3146936 3146941 3146975 3147000 3147006 3147017 3147039 3147056 3147110 3147131 3147148 3147150 3147151 3147168 3147174 3147183 3147188 3147198 3147200 3147201 3147202 3147204 3147205 3147206 3147208 3147210 3147211 3147213 3147214 3147215 3147216 3147218 3147219 3147220 3147229 3147231 3147233 3147236 3147237 3147238 3147240 3147283 3147317 3147329 3147341 3147375 3147379 3147385 3147444 3147645 3147659 3147660 3147679 3147684 3147703 3147715 3147747 3147755 3147783 3147805 3147811 3147813 3147857 3147874 3147946 3148001 3148053 3148054 3148085 3148153 3148210 3148230 3148377 3148394 3148403 3148433 3148434 3148435 3148436 3148437 3148439 3148440 3148441 3148442 3148443 3148500 3148530 3148546 3148559 3148578 3148643 3148644 3150976 3151352 3273862 3280264 3280555 3280816 3280964 3281140 3463911 3469621 3469622 3469642 3469643 3469646 3469648 3469649 3469650 3469667 3469670 3469680 3469710 3469711 3469714 3469732 3469759 3469764 3469775 3469785 3469805 3469830 3469832 3469836 3469837 3469857 3469860 3469862 3469867 3469873 3469889 3469890 3469891 3469892 3469911 3469918 3469921 3469926 3469943 3469945 3469951 3469953 3469954 3469967 3469968 3469969 3469970 3469971 3469972 3469973 3469975 3469978 3469983 3469985 3469991 3469993 3469994 3470013 3470025 3470041 3470059 3470062 3470072 3470078 3470080 3470089 3470097 3470100 3470101 3470104 3470112 3470122 3470123 3470129 3470134 3470141 3470154 3470155 3470160 3470196 3470200 3470204 3470221 3470230 3470234 3470237 3470277 3470289 3470291 3470295 3470311 3470332 3470342 3470354 3470355 3470378 3470388 3470398 3470403 3470415 3470426 3470427 3470428 3470429 3470440 3470445 3470476 3470483 3470487 3470488 3470489 3470496 3470511 3470516 3470530 3470541 3470551 3470554 3470555 3470564 3470566 3470569 3470571 3470581 3470583 3470585 3470586 3470589 3470595 3470605 3470606 3470616 3470627 3470640 3470665 3470671 3470674 3470688 3470691 3470768 3470770 3470772 3470773 3470776 3470800 3470802 3470804 3470805 3470827 3470829 3470843 3470867 3470886 3470887 3470888 3470921 3470933 3470947 3470954 3470956 3470957 3470958 3470959 3470960 3470962 3470963 3470964 3470966 3471119 3471123 3471264 3471268 3471287 3471330 3471335 3471337 3471356 3471365 3471369 3471408 3471412 3471420 3471430 3471438 3471440 3471459 3471460 3471468 3471494 3471496 3471502 3472064 3472710 3539197 3539331 3539346 3539349 3539395 3539400 3539415 3539520 3540054 3540116 3540241 3540252 3540258 3540266 3540278 3540280 3540285 3540288 3540293 3540317 3540873 3540903 3541027 3541065 3541066 3541074 3541091 3541152 3541167 3541168 3541493 3541498 3541511 3541664 3541686 3541708 3541710 3541711 3541781 3541852 3541854 3542037 3542039 3542065 3542066 3542188 3542300 3542508 3542525 3542729 3542736 3542813 3542831 3542833 3542845 3543018 3543091 3543223 3543515 3543544 3543628 3543729 3543894 3543895 3543924 3544029 3544050 3806701 3808960 3809313 3809326 3809552 3809964 3810054 3810126 3810159 3810296 3810312 3810883 3810893 3810928 3810939 3810954 3810999 3811000 3811017 3811035 3811474 3811518 3811532 3811552 3811553 3811554 3811556 3811616 3811617 3811618 3812029 3812455 3812456 3812517 3812522 3812523 3812524 3812526 3812528 3812529 3812531 3812532 3812534 3812913 3812915 3812924 3812940 3813043 3813045 3813051 3813056 3813373 3813424 3813444 3813746 3813825 3813830 3813922 3813941 3813942 3814282 3814356 3814597 3814602 3814675 3814900 3814912 3814916 3815103 3815306 3815369 3815370 3815415 3815416 3815640 3815721 3815789 3815802 3815803 3815805 3816249 3816250 3816272 3816404 3816425 3816514 3816627 3816760 3816769 3816770 3816831 3816838 3816902 3816904 3853777 3887717 3887997 3889185 3889187 3889213 3889218 3889231 3889481 3889486 3889489 3889512 3889513 3889562 3889757 3889771 3889775 3889796 3889800 3890070 3890123 3890126 3890130 3890131 3890286 3890289 3890343 3890345 3890444 3890476 3890502 3890506 3890512 3890517 3890633 3890660 3890690 3890693 3890831 3890852 3890861 3890972 3890994 3891002 3891006 3891013 3891020 3891234 3891460 3891498 3891630 3891631 3891833 3892006 3892016 4083552 4084684 4085043 4085058 4085116 4085133 4085143 4085162 4085164 4085170 4085179 4085290 4085375 4085383 4085399 4085513 4085694 4085707)\n(60 941 1843 7835 7836 8867 9826 9993 10176 10298 11752 12617 13168 15577 16120 16541 18106 18109 20042 20138 21164 21785 22424 22433 23637 23638 23640 23641 24492 24493 24684 25070 25071 26099 27411 27461 28917 29917 32370 32675 32756 33032 33180 34017 34028 34033 34972 34982 37405 37406 37429 37435 38194 38195 39370 43213 43233 87102 87138 162458 162469 162593 162694 162695 162696 178362 205255 206597 237517 237542 242228 242229 242359 242373 242440 242457 242462 242803 243014 243018 282159 282166 282352 376485 376486 425005 425014 425022 525057 525059 599251 599753 600206 600619 678742 680549 680550 680552 680570 680640 680641 680651 680673 680680 680682 680685 680687 680688 680698 680701 680706 680708 680718 680721 680723 680724 680728 680730 680732 680733 680734 680736 680738 680740 680746 680794 680796 680799 680800 680801 680804 680807 680812 680845 680883 681037 681144 681158 682061 683532 683542 683700 683703 683704 683705 683732 683733 683806 687112 687761 814706 814778 814779 814822 851285 868915 870271 870342 870367 870627 870664 870735 871194 871284 871583 871598 871599 871802 871863 871889 949758 949759 1510553 1511232 1511505 1511513 1512169 1512264 1512265 1512712 1512962 1513904 1514237 1514826 1514875 1515216 1516174 1516194 1516379 1516621 1517000 1517061 1517066 1517146 1517195 1517328 1517329 1519200 1519202 1519238 1519336 1519364 1519443 1521911)\n(61 5510 15579 15611 15617 18266 19409 23671 24037 24819 32661 32854 36881 37464 86833 237884 337460 337781 679991 679993 680066 680067 680070 680072 680073 683970 814656 870623 1320410 1456580 1456588 1456616 1456644 1521970)\n(62 9932 13018 16400 20114 24908 86418 237401 237631 237779 242821 450053 450068 489844 600420 680644 680645 748877 815239 871489 935577 949876 1171334 1273529 1517194 1520061)\n(63 928 1864 9753 10325 10451 12224 14409 16454 21569 23678 23700 24869 32995 36043 37829 38551 40195 40488 41938 42650 86047 86505 205754 206206 242178 242712 242713 242716 243006 243008 259846 260131 337197 597178 599245 814090 870449 870959 871384 1449773 1456533 1456535 1456697 1510613)\n(64 789 872 1572 1573 2424 2426 2455 2458 2465 2907 3746 5770 5864 5865 6418 6425 6827 6828 7670 7692 7938 8077 8968 9469 9474 9478 10066 10089 11212 11344 11357 11419 13185 13623 13966 13967 13970 15394 15589 18257 18262 18263 18264 18518 18690 18696 18704 18720 18763 19007 19859 19870 19947 19961 19967 19988 19994 19995 19996 19997 19999 20000 20003 20004 20005 20006 20007 20008 20010 20012 20013 20014 20015 20017 20020 20021 20022 20023 20024 20025 20026 20027 20028 20029 20030 20031 21190 21678 21708 21709 21710 21767 22051 22405 22878 22879 23135 23337 23622 23623 23624 23625 23626 24927 25103 25354 26331 26738 26745 27460 27466 27468 27470 28583 28660 28688 28775 28801 29064 29916 30260 30666 30769 31322 31341 31819 31826 31834 32340 32956 33173 33279 33286 33868 34126 34600 34871 34993 35186 35215 35960 36376 36377 36378 36380 36381 36382 36383 36951 37265 37442 37782 38896 38942 40278 40786 40788 41711 41714 41718 41731 41734 42430 43237 79256 85118 85141 85142 85904 86185 86186 86391 86393 86690 86849 86854 87084 87172 150767 178547 178740 206258 206512 221502 237500 237680 242638 242794 242795 242811 242884 242933 242934 242935 242936 259944 259976 260014 260123 282197 282389 282484 282598 282599 282622 331761 331762 331764 331765 331766 331769 331771 331778 331779 331782 331791 331792 331796 331797 331798 331799 331800 331805 331809 331810 331812 331820 331821 331822 331828 331830 331835 331836 331842 331843 331845 331846 331847 331850 331851 331857 331858 331860 331861 331864 331869 331873 331875 331877 331880 331883 331885 331888 331889 331890 331892 331893 331895 331897 331898 331899 331901 331902 331904 331906 331909 331911 331920 331925 331926 331928 331933 331935 331936 331938 331940 331945 331946 331953 331955 331956 331961 331964 331965 331968 331973 331980 331991 331993 332001 332014 332020 332024 332030 332037 332049 332050 332051 332060 332074 332076 332081 332083 332095 332097 332105 332108 337952 337953 337954 337960 337961 337962 337963 337964 337965 337966 338027 338034 338035 338036 338037 338048 338050 338051 338053 442592 442593 454884 454885 454916 454922 454923 454924 454953 454955 454958 470689 470738 470763 470764 470815 470864 470941 470988 471011 471050 471146 471173 471185 471186 471371 471618 471620 475309 476058 525051 557633 557640 557824 557829 557847 557850 557853 558280 558600 562508 562708 565990 581047 587437 587438 587440 587443 587444 587445 587446 587447 587448 587449 587450 587452 587453 587454 587456 587457 587458 587459 587460 587461 587462 587463 587464 587465 587466 587467 587470 587471 587472 587473 587474 587475 587476 587477 587478 587479 587481 587482 587483 587484 587485 587486 587487 587488 587489 587491 587492 587493 587494 587496 587497 587500 587501 587502 587503 587504 587506 587507 587510 587511 587512 587513 587514 587515 587516 587519 587520 587521 587523 587524 587525 587527 587528 587530 587531 587532 587533 587536 587537 587538 587539 587540 587548 587559 587560 587561 587565 587566 587567 587568 587595 587597 587598 587599 587600 587601 587602 587603 587604 587605 587606 587609 587612 587618 587619 587622 587624 587625 587638 587649 587650 587652 587654 587655 587657 587658 587660 587662 587667 587668 587670 587671 587672 587675 587677 587679 587684 587685 587688 587689 587690 587692 587696 587697 587725 587728 587730 587906 587907 587975 593726 595621 595677 596183 596660 596782 598048 598561 598858 598859 600622 600623 679900 679901 679904 679908 683534 687685 740183 742864 745280 750381 814502 814505 814506 814517 815192 815266 868949 870106 870166 870269 870626 871023 871167 871286 871869 871965 872103 872261 920537 920545 920650 920707 949111 1136037 1258357 1273802 1273803 1273804 1273805 1273807 1273810 1273811 1273814 1273816 1274026 1274027 1274028 1301759 1305702 1306377 1319404 1321139 1321279 1456613 1510463 1510840 1511044 1511168 1511511 1511521 1511696 1511716 1512089 1512161 1512162 1512288 1512702 1512798 1512890 1512961 1513038 1513120 1513737 1513881 1513882 1513885 1513887 1513889 1513893 1513896 1513897 1513899 1513900 1513906 1514480 1514695 1515946 1515947 1516052 1516168 1516172 1516199 1516210 1516224 1516234 1516476 1516477 1516604 1516764 1516985 1517306 1517309 1517707 1518318 1518417 1518418 1518419 1518923 1518932 1519110 1519429 1519441 1519597 1519671 1519799 1519803 1520209 1545982 1546530 1546532 1546858 1546862 1546864 1546873 1546882 1546884 1546885 1546886 1546887 1546895 1547193 1552413 1552441 1552447 1552476 1552498 1552507 1552516 1552524 1552759 1552884 1562642 1609437 1619637)\n(65 1758 2423 2820 5794 6910 7396 8076 8078 8079 8093 8949 8952 8957 9251 9449 9470 9472 9475 9479 9485 9585 9586 9587 9588 9818 9853 9861 9891 10210 10337 10483 11017 11143 11190 11211 11331 11333 11365 11395 11396 11900 11929 12158 12179 12622 12763 13164 13186 13191 13194 13893 13961 13995 14680 15034 15601 16117 16471 16489 16615 17313 17395 17463 18256 18258 18570 18693 18701 18715 18718 18726 18727 18738 18745 18747 18749 18753 18757 18758 19700 19855 19860 19864 19867 19948 19959 19964 19974 19975 19978 19982 19985 19993 20043 21215 21276 21287 21626 21629 21680 21681 21682 21684 21688 21689 21694 21711 21889 23677 23977 24679 24680 24913 24922 24928 25072 25114 25355 26214 26228 26428 26429 27452 27459 27461 27462 27617 28079 28680 28681 28682 28684 28687 28692 28696 28697 28702 28704 28895 28900 29062 29210 29212 30231 30494 30546 30610 30643 30673 30674 30675 30677 30678 30679 30685 30687 30695 30698 30699 30700 30703 30704 30768 31198 31217 31321 31340 31809 32678 32687 32753 32782 32786 32895 33021 33052 33061 33080 33101 33109 33137 33142 33266 33325 33333 33585 33885 34020 34024 34115 34117 34370 34582 34927 34970 34971 35649 35961 36370 36371 36592 36616 36870 36879 37793 38190 38194 38195 38489 38936 39013 39343 39422 39814 40296 40757 41741 42155 42958 43113 43211 43212 79161 79811 79990 79993 80337 85093 85100 85107 85130 85143 85284 85421 85554 85555 85557 85558 85559 85563 85566 85882 85971 86034 86208 86265 86388 86390 86476 86583 86584 86751 86930 86969 87095 149717 150106 150123 150175 150181 150185 150192 150218 150270 150308 150355 150369 150375 150385 150390 150571 150600 150706 152053 162438 162646 162647 162648 175636 175637 175745 177812 178777 178892 178895 178896 178898 178899 178905 178906 178908 178941 184575 184600 184605 184607 184609 184610 184634 184640 184646 184661 184662 184665 184666 184667 184673 184685 184700 184713 184758 184781 184788 184817 184819 184820 184821 184824 184836 184843 185125 199168 199174 199177 199178 199182 199183 199184 199230 199268 199336 199391 199398 199400 199402 199407 201270 203941 203945 204496 204511 204646 204695 204759 204823 204925 204928 204932 204934 204935 204944 204946 204957 204965 205787 205806 205902 205903 205908 206056 206082 206130 206176 206201 206203 206204 206222 206597 220787 220908 232501 237070 237124 237126 237457 237623 237726 237814 237824 237826 237862 237939 242412 242500 242582 242650 242796 242799 242802 242886 242963 243024 259945 259948 259965 259991 260062 260068 260122 262438 262458 262500 262501 262522 262685 262703 262707 262720 262730 262734 262752 262754 262755 262766 278255 278350 281735 281949 282421 282485 282486 282487 282497 282602 282603 282660 282663 282664 282684 302186 338058 344217 349676 374764 376348 376583 376635 376636 376686 376687 376698 376708 393136 395614 418857 418866 418878 418883 418904 418905 418911 418914 418955 419184 419189 419203 419664 419816 419817 419828 419856 419857 419868 419936 419953 419968 420037 420048 420060 420092 420110 420111 420160 420171 420293 420341 420347 420354 420356 420373 420382 420387 420388 420389 420390 420395 420513 420515 420516 420518 420529 420581 421217 421512 421610 421982 422201 422202 422203 422234 422284 422322 422389 422390 422513 422723 422728 422741 430007 436120 436138 436139 441548 441587 441648 441649 441704 442971 443331 444437 444438 444600 444673 444684 444710 444753 444793 444825 445414 445431 449892 449898 450126 451604 451605 451631 455052 455202 455203 455242 455243 455265 456081 456150 474221 474236 474254 474269 474270 474271 481523 481846 489446 489546 489633 497575 498337 508654 509448 509452 510441 515591 515592 524527 524788 525054 525055 525056 525057 525058 525059 541653 542276 542304 545084 545086 545089 545090 545092 545100 545101 545326 545431 547795 547796 553618 553621 554832 554840 554841 554846 554896 556656 556657 557034 557038 557054 557070 557949 557971 557972 557980 557998 557999 558000 558001 558003 558004 558019 558020 558024 558026 558027 558029 558030 558031 558033 558038 558588 559465 560023 561862 561865 561866 561867 561873 561874 561876 562979 567452 579118 580111 580352 580718 580986 581046 581122 581190 581916 582103 582381 582445 582446 582447 582452 582948 583008 583106 583148 583237 584065 584096 584142 584174 585065 585648 585939 586037 586065 586082 586084 586085 586087 586090 586099 586100 586142 586143 586146 586247 586248 586254 586268 586307 586312 586315 586885 587569 587583 587607 587933 587934 588350 588387 588388 588437 588438 588446 589031 589121 589343 589362 589567 596720 596893 597275 597278 597448 597720 597975 598208 598609 598836 598931 599087 599088 599760 600023 600047 600101 600217 600290 600323 600371 600380 600406 600425 600569 600601 677076 677091 677106 677145 677234 677236 678175 679226 679691 679693 679783 679799 679801 679803 679819 679820 679827 679830 679831 679832 679841 679844 679860 679878 679879 679882 679889 679892 679894 679897 679898 679909 679911 679912 679921 679927 680255 683509 683510 683518 683519 683532 683540 683810 686920 686934 686935 686966 699910 699911 699943 700287 729698 729836 730388 733511 740720 741961 742381 742531 743214 743216 743217 743219 743220 743673 743825 743981 744458 744505 744703 745030 746374 747106 747306 747490 747947 748230 748330 749760 752169 752188 752189 807395 809783 809852 809949 811683 812169 812189 812196 814177 814286 814457 814459 814461 814471 814472 814475 814494 814499 814500 814515 814535 815187 846606 846615 846617 846663 848224 848270 848462 848616 848974 849025 849165 849168 849217 849272 849584 849592 849620 849730 849872 849873 849975 849979 849983 850119 850285 850396 850397 850399 850409 850429 850441 850444 850445 850506 850508 850509 850512 850514 850516 850540 850542 851016 851021 851053 868975 869013 869017 870065 870425 870538 870539 870669 870717 870720 871168 871311 871325 871326 871549 871631 871726 871741 872030 872128 872283 872292 872295 872296 872369 886296 887876 920510 920556 920579 920625 920638 920720 939993 939998 940824 941136 947153 948463 948564 949878 1096421 1112445 1113680 1136000 1136246 1136355 1136356 1136357 1138559 1160858 1160862 1160863 1160980 1161170 1161275 1171216 1254525 1254574 1255664 1255665 1255667 1255672 1258068 1261135 1261322 1261371 1269665 1269723 1269745 1269815 1271996 1272144 1272221 1272268 1272289 1272292 1272293 1272335 1272337 1272345 1272369 1272419 1272423 1272435 1272469 1272470 1272478 1272654 1273297 1273303 1273382 1273384 1273406 1273470 1273863 1273869 1273870 1273999 1274051 1274142 1275716 1276348 1276351 1276353 1276359 1276361 1276367 1276378 1276785 1277121 1277189 1277270 1277694 1279743 1279755 1279779 1279986 1280910 1283164 1283165 1283166 1283169 1283174 1283177 1283180 1283215 1283261 1283821 1285223 1285400 1288295 1292781 1292783 1293116 1293803 1300299 1301725 1301897 1303023 1303130 1303131 1303165 1304734 1315068 1317609 1317851 1317974 1318464 1318493 1318955 1319069 1319070 1319071 1320310 1320369 1320370 1320378 1320387 1320388 1320674 1320712 1320713 1320760 1321063 1321171 1328735 1328816 1328956 1331096 1383265 1441436 1441546 1441566 1441585 1441599 1441676 1441722 1441762 1441763 1442536 1442865 1443399 1443412 1443497 1443501 1443506 1443520 1444165 1444228 1444296 1444298 1444299 1444301 1444302 1444313 1444318 1444320 1444322 1444344 1444346 1444362 1444371 1444379 1444500 1444502 1444520 1444526 1444530 1444531 1444540 1444548 1444667 1444668 1444717 1444720 1444725 1444728 1444729 1446166 1446911 1449559 1449774 1456631 1456692 1510644 1511288 1512335 1512347 1512357 1513044 1513306 1513307 1514232 1514416 1514821 1514918 1514967 1515089 1515927 1516163 1516188 1516193 1516209 1516615 1516617 1516732 1516735 1516879 1517468 1517876 1517942 1518360 1519393 1519638 1520161 1522577 1527144 1531912 1531984 1532096 1532670 1532976 1533162 1535810 1536985 1537060 1541646 1545410 1545780 1546216 1548814 1548819 1548822 1548824 1548846 1548859 1548882 1548896 1553906 1562940 1563078)\n(66 97 98 102 103 215 220 248 300 325 407 431 498 511 610 641 677 714 1011 1034 1111 1157 1223 1734 1869 1870 1871 1963 1994 2011 2073 2077 2119 2157 2246 2262 2307 2309 2310 2402 2406 2583 2584 2602 2743 3036 3136 3521 3574 3640 3804 3818 3899 3947 4233 4237 4380 4494 4519 4630 4838 4920 5009 5032 5036 5038 5041 5047 5048 5082 5097 5139 5196 5212 5280 5627 6050 6052 6054 6055 6223 6241 6242 6312 6360 6385 6514 6628 6632 6886 6937 6947 6995 7016 7018 7022 7053 7090 7091 7214 7310 7468 7746 7991 8011 8134 8160 8163 8172 8184 8195 8207 8209 8216 8225 8226 8230 8233 8238 8267 8278 8288 8288 8356 8574 8776 8904 9059 9161 9165 9168 9170 9939 9950 10203 10369 10371 10372 10377 10378 10379 10463 10522 10524 10601 10711 10821 10868 11037 11038 11041 11282 11651 11684 11892 11969 12013 12060 12074 12087 12098 12141 12151 12200 12203 12393 12411 12431 12461 12501 12503 12550 12589 12590 12773 12804 13202 13328 13345 13757 13877 13952 14252 14264 14267 14372 14417 14486 14528 14614 14684 14969 15023 15063 15078 15079 15081 15082 15083 15087 15097 15104 15111 15266 15267 15268 15309 15627 15822 15832 15848 15919 16136 16161 16311 16330 16333 16564 16584 16707 16803 16849 16868 17641 18096 18533 18624 18626 18627 19124 19126 19219 19220 19236 19238 19239 19432 20270 20274 20282 20319 20618 20731 21265 21572 21576 21577 21578 21579 21580 21970 22108 22168 22181 22382 22510 22562 23503 23504 23755 24192 24334 24335 24547 24578 24705 24813 24994 25033 25234 25417 25424 25446 25460 25611 25645 25649 25671 25685 25706 25708 25709 25725 25732 25736 25750 25778 25794 25800 25803 25881 26209 26392 26472 26814 26873 26874 26879 26955 27253 27350 27415 27673 27934 28017 28040 28042 28045 28160 28165 28177 28197 28206 28470 28746 28747 28816 28832 29385 30009 30480 30493 30514 30710 30821 30855 31243 31251 31252 31253 31404 31488 31583 31585 31586 31591 31592 31596 31732 31798 31881 31890 31962 32086 32259 32346 32447 32826 32829 33407 33440 33472 33810 34243 34245 34303 34335 34549 34550 34552 34629 34720 35158 35569 35571 35805 35871 35919 35932 36049 36233 36248 36450 36482 36581 36643 36860 37125 37136 37366 37377 37380 37498 37517 37532 37541 37561 37594 37601 37643 37912 38274 38388 38470 38481 38515 38777 39185 39462 39531 39533 39536 39617 39635 39637 39640 39654 39655 39694 39705 39736 39871 39872 39928 39929 39962 39995 40321 40329 40521 40538 40548 40549 40851 40898 40904 40952 40990 41063 41070 41088 41363 41370 42306 42479 42578 42684 42700 43031 43040 43053 43054 43335 43454 43503 43505 43674 43706 43725 43796 43801 43830 43859 43902 43920 44341 44415 44504 44506 44508 44525 44554 44596 44723 45248 45317 45574 45581 45598 45622 45798 45811 45819 45820 45857 45863 45870 45878 45906 45907 45968 45998 46032 46078 46099 46341 46390 46439 46441 46453 46455 46560 46581 46596 46923 46924 46925 47006 47287 47290 47373 47593 47641 47805 47947 47982 47983 47985 48112 48185 48192 48193 48243 48367 48451 48457 48569 48581 48737 49244 49304 49345 49682 49917 50266 50410 50413 50455 50513 50557 50576 50587 50845 50902 50922 50929 50930 50931 50932 50936 50937 50938 50961 50973 50974 51051 51125 51151 51228 51330 51403 51447 51476 51502 51543 51554 51557 51569 51627 51692 51701 51707 51718 51740 51752 51792 51840 51918 51962 52150 52161 52303 52391 52403 52413 52415 52423 52700 52766 52780 52802 52968 52971 52972 52973 53100 53101 53118 53256 53281 53289 53448 53472 53618 53638 53800 53838 53943 53960 53984 54027 54041 54042 54043 54087 54088 54095 54096 54119 54137 54233 54252 54282 54285 54410 54412 54413 54414 54416 54417 54418 54469 54471 54486 54572 54613 54630 54647 54718 54795 54830 55106 55123 55167 55247 55253 55371 55386 55393 55421 55429 55444 55462 55474 55518 55615 55626 55627 55650 55656 55667 55718 55799 55818 55927 55952 55953 55954 55956 56025 56026 56037 56049 56067 56262 56297 56333 56486 56502 56518 56527 56531 56582 56603 56648 56658 56659 56667 56680 56731 56777 56782 56836 56838 56849 57094 57101 57190 57224 57233 57445 57454 57491 57545 57651 57757 57760 57792 57828 57830 57834 57835 57842 57844 57870 57884 57978 58081 58118 58147 58180 58217 58224 58229 58236 58252 58255 58258 58296 58308 58309 58312 58336 58366 58372 58517 58637 58647 59081 59276 59291 59360 59386 59387 59388 59389 59394 59458 59502 59545 59693 59723 59726 59812 60057 60152 60154 60185 60215 60239 60266 60476 60495 60555 60597 60600 60624 60833 60836 60837 60849 61009 61072 61086 61344 61592 61764 61794 61887 61937 62023 62027 62077 62111 62144 62157 62160 62166 62183 62225 62544 62601 62666 62785 63000 63087 63206 63371 63385 63759 63812 63831 63927 64053 64063 64149 64167 64212 64254 64353 64667 64669 64676 64713 64716 64717 64719 64743 64841 64880 64991 65159 65252 65350 65518 65555 65556 65632 65653 65739 65740 65839 65846 65896 65984 65985 65987 65992 65996 66041 66045 66060 66073 66080 66109 66230 66234 66256 66293 66336 66393 66400 66404 66463 66468 66661 66678 66689 66691 66713 66766 66818 67111 67617 67618 67619 67813 67854 67867 67874 68008 68016 68017 68027 68028 68034 68045 68077 68099 68117 68154 68166 68179 68183 68193 68202 68208 68210 68217 68234 68235 68239 68253 68265 68332 68407 68473 68538 68546 68559 68644 68695 68808 68835 68837 68839 68864 68870 68883 68930 68964 68989 69014 69042 69054 69208 69308 69334 69389 69600 69642 69665 69693 69706 69708 69731 69809 69989 70079 70080 70107 70116 70134 70206 70266 70278 70455 70475 70476 70516 70542 70586 70607 70678 70679 70689 70745 70762 70763 70813 70815 70949 70998 71137 71295 71701 71753 71784 71786 71834 71835 72152 72157 72175 72184 72192 72236 72576 72588 72607 72643 72665 72666 72675 72693 72729 72767 72863 72881 72894 72927 73083 73162 73364 73545 73581 73593 73695 73705 73997 74001 74014 74025 74126 74180 74182 74233 74330 74410 74447 74448 74449 74501 74523 74526 74544 74657 74708 74721 74724 74729 74765 74766 74772 75160 75167 75168 75174 75179 75181 75187 75247 75334 75513 75601 75613 75649 75725 75762 75780 75821 76068 76112 76168 76204 76206 76234 76237 76247 76254 76295 76334 76360 76363 76366 76367 76374 76541 76747 76771 76796 76811 76849 76855 76857 76861 76863 76866 76954 76955 76957 76986 77012 77039 77080 77094 77096 77127 77151 77154 77192 77205 77251 77451 77615 77849 77872 77941 78277 78296 78753 78774 78775 78778 78789 79015 79021 79291 79483 80486 81523 81570 82180 82256 82289 84425 85036 85163 85180 85181 85241 85754 85755 85885 86023 86075 86190 86318 86433 86608 86710 86799 87003 87061 87870 97249 97513 100855 101007 101859 102250 102763 102808 102826 102853 103055 103073 103091 103208 104705 105166 105208 105238 105275 105276 105320 105326 105552 105589 106148 106288 107150 107413 107512 108062 108172 108480 109004 109258 109347 109398 109400 109810 109855 110116 110120 110121 110179 110622 110681 110685 110994 111629 111644 111647 111651 111659 112807 113033 114321 115471 115751 116225 116226 116227 116555 116567 117028 117448 117735 117992 118069 118100 118325 118368 118390 118459 118843 119687 122091 122717 122766 123018 123144 123890 123892 123904 124080 124292 124436 124479 124684 124981 125173 125323 127059 127090 127761 127770 128310 128327 128432 128482 128529 128916 132108 132146 132148 133837 133869 133873 134054 134999 135045 135562 135929 136463 137445 138636 139423 139496 139915 140858 140860 141029 141494 141610 141682 141930 142056 142215 142822 142830 142848 142950 143008 143699 143987 144010 144171 144200 144472 145114 145118 145121 146230 146376 146620 146663 146732 147868 148285 148323 148459 148651 148696 148817 149004 149006 149008 149313 149408 162496 162943 162981 163391 163762 163775 163831 163947 164142 164321 164441 164702 164843 164851 164867 166483 169412 170545 170743 172209 173049 174367 174701 174749 175776 175777 175832 175893 178629 178697 202474 205968 205976 206121 206124 207350 208598 210341 210347 210666 214184 214512 214702 216868 217337 218197 218499 218501 218857 219479 220783 239059 242402 242508 242922 243226 243804 244223 244240 244602 244968 244970 245492 245765 246040 246113 246473 247993 249809 250568 251798 252236 254253 255494 255643 257481 259891 259964 260049 282047 282048 282065 282066 282083 282108 282128 282147 282233 282285 282378 282828 282916 283013 283273 284573 285512 285675 288234 289882 293094 293227 294288 294713 294757 294760 295569 295570 295726 296888 301128 301133 301144 301163 301165 301167 301172 301173 301177 301181 301185 301187 301195 301202 301205 301209 301212 301216 301224 301226 301229 301230 301231 301260 301262 301278 301615 302338 302339 302836 302937 302939 303232 303927 303928 303931 303932 303933 303939 303954 303955 303967 303969 303998 304001 304013 304014 304021 304025 304029 304030 304033 304034 304036 304037 304038 304039 304040 304048 304050 304051 304053 304056 304075 304076 304077 304078 304079 304080 304081 304082 304084 304086 304087 304088 304089 304090 304091 304092 304093 304160 304163 304176 304180 304190 310986 314764 314765 314766 314768 337056 337099 360422 360424 360429 376169 376196 376218 376889 376890 377071 377427 377598 378673 380706 381434 382979 384800 385234 386873 387846 392143 392419 439994 440001 440461 440462 440464 444414 444622 444631 459796 520465 521884 524525 524690 524960 525077 525093 525363 525921 526164 527076 527710 527878 528232 528415 529504 530537 530538 530568 530961 533884 534727 535437 535978 536054 538445 539474 539487 541232 544309 544324 552308 552416 556607 556608 556611 556614 556615 556616 556620 563235 563631 563640 565667 565913 565915 565924 565926 580766 580767 580773 580775 580776 580779 589321 589322 589334 591320 596067 596574 596691 597147 597329 597340 597372 597402 598187 599110 599145 599231 599786 599787 600162 600195 600265 600266 600434 601588 601957 602375 602413 602981 603862 603863 604557 606356 607549 607554 608070 609110 610193 610301 610811 612049 612744 615057 615410 617099 618097 618297 618620 618737 619598 620007 620255 621451 622293 622844 624255 625319 626399 626749 626919 627081 627639 627675 627973 627974 628312 628808 630238 631255 631428 631654 631864 631867 633953 635190 636342 636641 637124 638237 639083 639388 640714 645514 647140 648367 648370 648637 649305 649587 650337 652968 653358 653826 653852 653872 655410 655598 655907 655934 656270 656713 656785 657690 657844 657957 658223 661283 663332 665227 665543 665962 667045 670731 670733 671063 671530 671742 672881 675524 676223 676547 682880 682892 683076 684170 684171 684281 687130 699130 699280 699334 699568 699569 699571 699963 699996 700015 700592 700701 700702 700937 701785 701786 701935 701950 701953 701954 701955 701956 701975 701976 702009 702011 702035 702036 702037 702038 702039 702074 702171 702172 724614 728883 728884 728885 728924 728926 729021 729022 729083 729090 729220 729408 729410 729417 729449 733475 733553 733554 733555 733557 740131 740132 740133 740155 740195 740246 752283 752346 752371 752449 753576 755523 758270 759293 759296 759423 759698 761211 763286 764622 765029 765850 766044 768964 769544 771791 795716 805859 809909 809910 813966 813971 851343 871534 872297 877863 878176 878177 878178 878181 878182 878183 878184 878186 878195 878197 878214 878236 878258 878264 878265 878269 878271 878274 878285 878298 878299 878302 878303 878304 878311 878326 878327 878329 878333 878340 878351 878352 878363 878364 878365 878387 878388 878395 878398 878493 878499 883046 883048 883367 887674 887717 888475 888622 889849 889853 889854 889855 890707 891251 891841 892975 893818 894114 899756 900278 908259 910733 916760 917712 917841 917845 917897 917899 918034 919303 919305 919316 919320 919325 919334 919347 919348 935931 936104 947719 947720 947722 947723 947725 947726 947727 947730 949307 950161 950184 950198 950202 950203 950213 950214 950215 950239 950240 950244 950258 950279 950314 950318 950319 950359 950360 950463 950464 950580 950581 950677 950927 950963 951091 953490 956559 959085 959086 960282 960569 960607 960807 960808 962083 962222 962261 962263 962274 962338 962422 963403 964396 964397 966371 966571 966623 966945 967244 967245 968585 968680 968844 969386 969762 969769 969781 970462 971881 971890 972250 1096799 1097143 1098293 1099772 1099775 1100359 1113670 1113683 1120585 1120586 1121327 1122025 1122036 1122744 1123018 1130471 1135621 1135712 1136170 1136842 1137095 1166464 1172380 1174647 1174817 1175673 1256754 1259872 1259873 1260241 1268848 1271606 1282240 1285512 1289917 1289948 1312786 1314790 1321593 1412102 1412276 1414878 1434335 1434337 1435321 1437018 1440987 1441129 1441130 1443846 1443931 1445782 1446784 1446994 1451930 1452652 1452653 1456640 1504614 1504914 1504932 1505056 1505710 1505887 1505920 1505921 1506298 1506417 1506912 1506913 1510837 1513809 1515037 1519072 1519819 1522691 1522696 1527766 1528619 1528779 1530211 1533643 1564393 1564394 1565555 1565646 1566787 1567972 1568245 1569829 1569928 1570181 1609434 1610916 1617068 1620146)\n(67 119 163 167 1617 1636 1655 2006 2251 2302 2844 2845 2860 2865 3779 4905 5200 5257 5261 5308 5310 5496 5919 6083 6100 6668 6669 6674 7406 8275 8328 10094 10124 10132 10137 10139 10192 10560 11123 11185 11701 11707 11710 11824 12145 12311 12343 12391 12471 12472 13340 13494 13495 13668 14360 14361 14483 14563 14594 14652 14654 14704 14822 14899 14912 14919 14927 14938 14939 14942 15011 15025 15099 15124 15785 16280 16294 16366 16374 16774 17046 17048 17058 17132 17151 17182 17519 17687 17710 17963 18061 18062 18064 18066 18664 19932 19933 19935 20063 20171 20172 20268 20343 20387 20656 21463 21571 21641 21642 21658 21659 21835 21946 22439 23607 23610 23832 24328 25145 25147 25175 25219 25223 25326 25615 25616 25644 25815 25826 26160 26594 26667 26669 27368 27479 27930 28318 28355 28356 28360 28368 28567 28833 29995 30072 30095 30292 30298 30520 30859 32014 32015 32016 32017 32050 32052 32082 32952 33004 33007 33195 33306 33307 33308 33371 33373 33374 33401 34410 35031 36534 36884 37167 37657 37659 37663 37668 38148 38149 39241 39586 39587 39600 39601 39607 39664 39665 40073 40104 40105 40106 40114 40125 40135 40160 40162 40164 40165 40867 41014 41017 41616 42095 42395 42413 42418 43454 44752 44756 44757 44944 44960 44963 44971 45010 45044 45076 45077 45341 46196 46638 49603 50236 50668 50848 50882 51384 51613 51832 51835 51932 52060 52098 52728 52851 53173 53836 54015 54104 54740 54787 55633 55899 55900 55936 56391 56397 56399 57261 57296 57420 57478 57558 57665 57916 57965 58122 58915 58931 59514 59610 59618 59619 59622 59623 59627 59636 59646 59648 59651 59668 59861 60071 60195 60692 60787 61132 61141 61252 61256 61531 62549 63219 63551 63684 64916 64936 65261 65743 65862 65864 65879 65898 65906 65967 66245 66565 66694 66928 68395 68785 68954 68956 68980 68992 68998 69547 69575 69908 70022 70073 70099 70358 71011 71108 71553 71717 72012 72081 72213 72429 73023 73381 73767 73994 74798 74854 75210 75701 76067 76189 76192 76196 76263 76575 76576 76577 76608 76620 76629 76641 77275 78110 79226 79691 81107 81510 81787 81863 83784 84063 84161 84688 84744 85272 86004 86135 86379 86550 90032 90185 90530 90541 93148 93149 100748 101395 101761 102207 102244 102311 103898 104298 105134 106132 106168 107456 108608 108677 108838 112708 113071 113075 113187 116328 117601 123677 126016 134107 134284 139497 143083 143781 145185 145853 145857 145867 145885 146208 148533 148899 163549 165908 167626 169964 171954 178633 205726 205953 206893 206894 208179 220857 242275 244289 244720 245795 248596 252198 278630 279169 279174 279175 280040 283440 284420 285368 286281 286362 293359 293969 293970 296356 298350 299583 300281 301817 301818 301819 301821 301822 301835 302119 304716 304717 304755 304783 304797 304812 304829 304844 304847 304848 304866 304868 304869 304870 304871 304876 305236 306370 306438 306604 307073 308762 310612 312436 312437 312438 312439 312440 312441 312442 312443 312448 312452 312455 312859 338088 353700 353712 356365 357126 358512 359052 360514 360515 360516 360523 360526 360528 360529 360531 360554 368572 369189 370097 370240 373704 376180 376260 376337 376560 383405 384570 388482 391140 391835 443077 443080 443472 443476 443483 444629 444630 450231 475341 486265 486266 486267 486333 486979 520460 520986 521959 521962 521963 521965 522262 522263 522264 522267 522270 524507 524588 524639 524775 537270 537551 544366 546882 582126 586520 591220 591307 591309 591419 591465 591472 591491 591613 591902 592076 592123 592155 592544 592572 593310 593510 593515 595048 596770 597049 597192 597288 597376 597516 597584 598401 598436 598482 598745 599102 599480 599890 599939 601540 605067 608091 610671 613562 616274 617098 626153 631811 633454 635022 638188 642664 653356 653899 655993 658386 663588 667848 669055 670129 673911 678117 678132 682761 682762 682763 682764 682768 684155 684259 687670 699128 699146 699160 699161 699166 699167 699168 699169 699170 699284 699337 699352 699359 699362 699367 699389 699396 699397 699402 699578 699579 699616 699617 699618 699619 699627 699646 699710 699711 699978 700004 700150 700495 700536 700596 700704 700903 701112 701192 701270 701378 701382 701459 701461 701510 701919 717657 717659 717661 717678 717752 717753 717754 717756 717761 717762 718142 718234 718340 718414 718531 718641 719232 719332 719447 720086 720290 720294 720298 720313 720426 720638 720803 720958 721338 721402 721755 722196 722236 722410 723209 723595 723655 723907 724171 724588 724603 724649 728775 728964 728965 728977 729349 729630 729632 730772 730824 731224 731471 732165 732850 733348 733353 733613 733615 733616 733714 733715 733737 733738 733739 733740 733741 733742 733743 733744 733746 733748 733749 733750 733751 733752 733753 733758 733927 740122 740162 752253 758696 768710 769823 770206 770354 770355 770356 770359 770558 771037 771510 771825 771946 772181 795633 795635 813203 815016 875931 875963 875984 876025 876109 876183 876209 878080 878472 887247 887701 896512 905427 907402 909237 909862 912332 912439 913469 915673 917974 936060 937609 939533 947663 949292 950822 961269 961478 963992 964179 964872 965048 965058 965332 966772 967670 971174 971695 982219 982221 1096945 1099168 1099192 1099791 1100211 1100674 1112096 1120952 1123064 1135595 1136013 1136247 1137102 1137120 1137830 1138319 1141639 1142969 1144709 1145675 1170003 1170011 1170105 1170276 1170320 1171824 1174777 1174779 1174780 1175776 1175966 1176237 1257810 1258128 1259195 1260235 1268855 1268900 1271607 1273028 1273270 1274098 1277056 1277075 1285555 1289975 1291116 1291743 1291749 1291751 1291752 1305784 1310587 1312733 1313386 1314782 1314785 1320282 1328793 1330003 1330257 1330258 1330442 1330478 1330542 1330543 1330622 1332754 1333664 1333673 1333674 1333714 1334094 1334507 1334899 1335200 1335272 1335430 1335796 1335806 1335834 1335851 1335871 1337075 1337111 1337112 1364160 1366448 1366449 1366488 1366500 1366509 1366535 1366556 1366564 1366644 1367551 1367721 1412260 1412322 1412384 1412446 1412573 1412791 1412879 1413096 1413147 1413167 1413210 1413269 1413299 1413366 1413367 1413512 1413627 1413636 1413814 1413917 1413980 1414172 1414369 1414461 1414498 1414563 1414636 1414950 1415051 1415062 1415169 1415170 1415374 1415500 1415593 1415742 1415796 1415875 1415900 1416474 1416808 1416825 1417190 1417388 1417808 1417813 1417869 1417898 1418208 1418209 1418396 1418451 1418457 1418661 1418856 1418864 1418866 1418885 1418893 1418938 1419016 1419043 1419072 1419178 1419381 1419382 1419618 1419875 1419923 1420041 1420044 1420113 1420262 1420400 1420562 1420652 1420708 1420718 1420775 1420783 1421143 1421200 1421248 1421537 1421874 1422069 1422569 1422826 1424291 1425131 1425351 1425391 1426584 1426906 1427027 1430219 1432227 1433878 1434350 1439334 1439341 1442762 1444142 1444898 1445654 1450038 1451073 1451667 1452303 1456408 1509244 1514972 1515325 1515392 1515395 1515396 1515398 1515400 1516887 1518763 1518766 1521753 1522182 1522385 1522403 1527137 1527152 1529313 1531431 1531883 1532182 1533070 1535531 1538143 1538681 1538975 1539338 1540007 1540252 1562104 1562292 1562561 1563780 1563781 1563782 1563795 1564260 1565351 1566507 1566942 1567659 1567876 1569098 1569281 1586905 1608302 1608653 1609807 1613593 1614506 1618332 1826584 1826646 1837820 1842259 1842869 1864009 3147205 3147783 3469921)\n(68 788 901 902 903 937 1568 1585 1586 1588 1589 1675 1792 1795 2049 2122 2460 2695 3045 3183 3988 4267 4345 4643 4746 5680 5795 7294 7457 7667 8059 8095 8096 8097 8098 8099 8100 8101 8121 8935 8942 8961 9467 9484 9817 9932 10082 10212 10222 10331 10436 10476 11011 11191 11286 11327 11328 11369 11411 11420 11421 11424 11441 11442 11467 12613 13018 13135 13331 13657 13913 13963 14283 14845 15031 15341 15535 15536 15537 15538 15539 15576 15595 15621 15671 15760 16075 16400 16553 16702 17319 18103 18422 18576 18676 18677 18724 18765 19529 19532 19576 19863 19898 19949 19989 20044 20052 20114 20155 21208 21209 21216 21270 21288 21289 21293 21294 21426 21562 21729 21821 22342 22343 22372 22389 22443 22866 23226 24045 24770 24908 25053 25081 25082 25099 25100 25105 25106 25109 25266 25360 25369 25884 26065 26083 26092 26093 26126 26192 26193 26591 26753 26767 26870 27361 27362 27363 27567 28296 28307 28574 28652 28654 28655 28657 28661 28663 28676 28698 28699 28799 28807 28829 29034 29039 29079 29146 29206 29921 29975 30450 30551 30686 30701 30705 30751 30767 31228 31323 31831 31833 31836 32730 32804 32933 33011 33131 33152 33167 33176 33518 33867 33872 33908 34022 34035 34043 34373 34438 34510 34961 35173 35962 36374 36615 36911 36989 37047 37177 37178 37179 37263 37311 37444 37467 37683 38077 38488 38492 38493 38494 38495 38496 38497 38498 38607 38947 38950 39309 39552 40288 40600 40704 40705 40713 40881 41095 41209 41427 41429 41432 41745 41746 41900 41903 41935 42462 42610 42799 42801 42960 43114 43157 43174 43210 43215 43525 43537 78988 79111 79375 79377 79379 79382 79385 79619 79695 79822 79844 79891 80103 80105 85098 85135 85537 85546 85560 85751 85756 85766 85863 85991 86021 86050 86267 86279 86282 86287 86409 86418 86471 86484 86515 86516 86517 86528 86529 86530 86582 86713 86807 86825 86902 86911 86944 87009 87015 87032 87132 87134 87136 87157 87178 150094 150101 150646 150775 152035 157187 162409 162592 175798 175803 175806 175808 175826 175827 175838 175842 175854 175861 175867 175887 175906 175941 175944 175950 175953 175989 178443 178515 178694 178835 181090 205653 205716 205847 206193 206194 206212 217846 220896 221191 221192 221193 221194 221195 221196 221197 221456 221457 221458 221459 221460 221462 221463 221786 233363 233364 237083 237401 237404 237410 237412 237419 237426 237427 237433 237456 237485 237501 237592 237631 237632 237695 237701 237733 237755 237757 237758 237772 237779 237945 237950 238598 238602 238603 238604 238605 238606 238607 238611 238622 238627 238689 238697 238703 238712 238749 238787 238914 238915 239045 239076 239127 239198 239201 239304 239307 239578 239687 239971 239996 240069 240072 240146 240169 240184 240293 240339 240342 240346 240505 240620 240790 240816 240951 240986 241249 241297 241315 241329 241359 241520 241664 241766 242000 242170 242176 242191 242211 242219 242220 242268 242299 242304 242444 242445 242543 242566 242657 242660 242662 242663 242664 242665 242688 242797 242798 242810 242821 242856 259831 259842 259851 259852 259853 259859 259863 259864 259865 259873 259894 259895 259901 259904 259905 259906 259910 259916 259918 259928 259931 259935 259955 259988 259990 260010 260017 260029 260031 260033 260039 260048 260063 260073 260077 260083 260087 260091 260095 260101 260103 260115 260119 260120 260138 260141 260145 260154 260175 260178 260194 260212 260232 260241 260267 260272 260280 260281 260314 260319 260786 260787 260788 278598 278602 278604 278626 278631 279158 279538 282122 282163 282174 282175 282204 282288 282538 282539 282540 282594 302823 302833 314650 314651 324862 334707 334709 334711 334712 334721 334723 334725 334726 334735 334736 334738 334748 334754 334758 334763 334765 334768 334778 334784 334789 334796 334843 334846 334852 334855 334861 334862 334865 334866 334867 334868 334871 334874 334885 334886 334889 334890 334891 334892 334893 334894 334896 334897 334898 334899 334900 334901 334902 334903 334905 334907 334910 334912 334914 334915 334917 334920 334921 334926 334930 334937 334943 334948 334949 334952 334953 334954 334957 334965 334968 334970 334975 334977 335005 335008 335018 335021 335024 335030 335034 335038 335045 335049 335056 335059 335063 335072 335073 335075 335076 335081 335083 335086 335093 335094 335095 335096 335097 335101 335104 335105 335106 335107 335111 335115 335129 335132 335140 335141 335142 335164 335173 335176 335188 335196 335199 335205 335217 335223 335248 335256 335271 335272 335278 335289 335290 335295 335296 335304 335306 335309 335327 335330 335333 335337 335340 335343 335344 335350 335357 335358 335371 335372 335373 335377 335385 335389 335390 335393 335397 335401 335402 335405 335409 335410 335411 335415 335416 335417 335418 335432 335434 335436 335440 335443 335448 335449 335453 335454 335460 335461 335466 335467 335479 335483 335486 335509 335532 335553 335567 335578 335586 335589 335639 335651 335669 335670 335671 335694 335703 335730 335743 335744 335755 335756 335757 335772 335776 335777 335786 335795 335829 335847 335856 335871 335873 335882 335895 335902 335911 335912 335914 335932 335933 335941 335943 335956 335957 335975 335976 336012 336019 336073 336082 336107 336113 336119 336121 336122 336130 336139 336150 336159 336168 336195 336223 336257 336284 336285 336291 336295 336296 336301 336304 336317 336328 336343 336351 336352 336354 336362 336363 336368 336374 336386 336395 336396 336398 336400 336401 336410 336421 336427 336461 336471 336476 336487 336498 336499 336500 336504 336513 336524 337465 337466 337467 337468 337471 337474 337475 337480 337481 337482 337486 337487 337488 337489 337491 337494 337495 337496 337498 337500 337501 337502 337503 337504 337505 337506 337509 337511 337512 337514 337515 337516 337517 337518 337519 337521 337522 337523 337524 337525 337527 337528 337530 337531 337532 337534 337535 337537 337538 337540 337541 337542 337544 337545 337547 337548 337549 337551 337552 337553 337556 337558 337559 337561 337562 337564 337565 337568 337570 337571 337573 337576 337577 337578 337579 337580 337581 337582 337583 337584 337585 337586 337587 337588 337606 337609 337610 337611 337612 337613 337647 337648 337649 337671 337680 337681 337704 337705 337711 337758 337773 337775 337794 337795 337796 337797 337798 337799 337800 337801 337802 337803 337804 337805 337806 337807 337808 337810 337812 337813 337815 337816 337817 337818 337819 337821 337822 337824 337826 337828 337829 337830 337831 337832 337833 337834 337836 337838 337839 337840 337841 337842 337845 337846 337847 337848 337849 337851 337852 337853 337855 337857 337858 337859 337860 337861 337862 337863 337864 337865 337866 337868 337869 337870 337871 337872 337874 337875 337876 337877 337879 337881 337884 337886 337887 337888 337889 337890 337891 337892 337893 337894 337896 337897 337900 337901 337902 337903 337904 337905 337907 337908 337909 337910 337911 337912 337915 337916 337917 337918 337920 337924 337926 337927 337928 337929 337931 337932 337933 337934 337938 337939 337940 337941 337942 337944 337945 337946 337947 337948 341618 341628 341630 341631 341632 341633 341638 341641 341643 341647 341652 341656 341660 341661 341662 341663 341666 341667 341668 341671 344345 344346 344347 344349 348050 349678 362011 375876 375877 376326 376387 392328 392332 392346 392353 392363 392791 392895 401762 401765 401766 401772 401778 401783 401805 401813 401816 401828 401837 401867 401873 401874 401875 401878 401890 401892 401893 401895 401897 401898 401900 401901 401903 401907 401908 401922 401932 401935 401940 401946 401950 401952 401962 401968 401971 401972 401974 401975 401976 401977 401979 401981 401990 401996 401998 401999 402000 402002 402003 402006 402007 402008 402011 402015 402016 402019 402037 402043 402045 402046 402050 402067 402069 402071 402097 402102 402103 402104 402105 402106 402108 402112 402117 402118 402119 402120 402122 402124 402134 402139 402143 402190 402198 402202 402204 402205 402206 402207 402208 402217 402221 402224 402240 402245 402265 402283 402295 402296 402297 402335 402364 402377 402378 402404 402407 402413 402423 402446 402495 402499 402507 402531 402536 402549 402550 402552 402553 402556 402573 402574 402589 402591 402598 402599 402604 402605 402606 402609 402620 402624 402628 402629 402636 402638 402644 402655 402656 402660 402671 402674 402683 402685 402690 402692 402694 402709 402717 402723 402724 402725 402729 402732 402746 402755 402758 402761 402766 402769 402773 402782 402790 402792 402799 402830 402833 402834 402839 402846 402848 402849 402863 402868 402869 402875 402876 402877 402883 402887 402888 402899 402908 402920 402925 402936 402937 402958 402971 402994 402999 403002 403010 403011 403065 403066 403071 403082 403083 403086 403091 403092 403101 403112 403119 403124 403127 403128 403130 403133 403145 403148 403151 403153 403162 403163 403165 403172 403173 403175 413330 413331 419195 421161 422771 422792 425149 425241 425334 425335 425343 425344 425346 425348 425349 425359 425373 436543 438961 438962 438964 438967 438990 450046 450047 450048 450051 450053 450054 450058 450063 450068 452181 473161 473169 473178 473185 473195 473197 481432 489543 489844 520954 521319 521320 521321 521877 524331 524337 524338 524348 524351 524352 524355 524356 524357 524379 524400 524401 524402 524405 524406 524407 524635 524645 524646 524647 524648 524660 524692 525064 525065 546142 546143 549217 554172 554173 554178 554179 554181 554193 554194 554197 554202 554204 554205 554208 554210 554213 554215 554220 554244 554245 554247 554248 554266 554270 554275 554294 554951 555052 556993 557512 557513 557514 557515 557516 557518 557520 557521 557523 557524 557525 557526 557528 557529 557530 557534 557535 557536 557537 557538 557539 557540 557541 557542 557543 557544 557545 557546 557550 557555 557571 557573 557575 557576 557582 557583 558269 558270 558272 558472 558477 558478 558479 574825 574899 579022 580214 580220 580224 581705 581706 581709 581710 581711 582133 582174 582175 585853 585982 586803 586804 586805 586835 586839 586841 586842 586843 586844 586845 586846 586847 586849 586850 586852 586854 586855 586857 586858 586859 586860 586861 586862 586863 586864 586865 586866 586867 586868 586871 586872 586873 586874 586875 586876 586878 586879 586880 586886 586887 586889 586894 586895 586896 586897 586898 586900 586901 586902 586903 586905 586906 586907 586908 586909 586911 586915 586919 586920 586926 586935 586936 586937 586938 586941 586945 586946 586952 586953 586960 586963 586964 586970 586976 586978 586985 586986 587175 587699 587701 587702 587704 587705 587707 587709 587710 587712 587714 587716 587718 587719 587720 587721 588129 588474 588536 588920 589015 596070 596090 596100 596227 596327 596476 596727 596728 596903 596910 596947 597010 597091 597369 597696 597772 597918 597921 597927 597928 598236 598455 598572 598781 598855 598880 598908 598967 598968 599518 599755 599987 599991 600088 600089 600090 600218 600242 600393 600419 600420 600522 600524 600525 600620 677632 678224 678372 678804 679646 679670 679739 679792 680021 680022 680024 680027 680029 680030 680031 680032 680033 680034 680035 680036 680043 680063 680081 680085 680249 680250 680296 680299 680301 680303 680304 680309 680310 680311 680312 680314 680315 680317 680319 680320 680322 680323 680324 680327 680337 680347 680367 680368 680384 680385 680395 680396 680397 680398 680399 680401 680404 680408 680413 680464 680644 680645 680665 680681 680847 680888 681088 681273 681644 682051 682052 682053 682054 682068 682069 682070 682078 682079 682081 682082 682083 682085 682086 682087 682095 682099 682100 682103 682104 682106 682107 682110 682111 682118 682119 682121 682123 682124 682125 682128 682129 682134 682136 682137 682138 682139 682140 682146 682151 682155 682172 682175 682176 682177 682178 682179 682196 682197 682198 682199 682201 682204 682205 682208 682209 682210 682212 682213 682215 682217 682219 682220 682221 682225 682226 682232 682233 682234 682238 682239 682241 682244 682246 682248 682249 682250 682252 682253 682255 682257 682258 682260 682261 682262 682265 682267 682268 682271 682285 682286 682287 682289 682290 682299 682303 682306 682309 682311 682312 682313 682323 682338 682339 682341 682346 682347 682349 682352 682353 682354 682355 682356 682358 682359 682431 682432 682434 682435 682439 682446 683007 683073 683306 683566 683568 683572 683602 683618 683625 683626 683632 683639 683747 683971 683972 683973 683978 683980 683983 683985 683990 683991 684001 684003 684004 684005 684007 684010 684011 684012 684013 684014 684015 684016 684017 684019 684021 684022 684023 684024 684025 684026 684027 684028 684030 684312 687669 687673 687693 687694 687725 687733 687734 687735 687744 687749 687759 699726 699765 699766 699773 699774 699775 699777 699810 699868 699944 700061 700615 701153 701797 728836 728982 741259 741926 743153 744654 744796 745035 745241 745277 748064 748877 807498 808118 809762 814589 814590 814941 814942 814946 814947 814949 814957 814958 814959 814964 814968 814969 814970 814980 814981 815185 815213 815239 815269 815270 815271 815272 815324 851286 851827 853961 853966 856046 856973 857748 857749 858350 858354 860067 860068 860069 860082 860097 860110 870095 870102 870118 870132 870134 870136 870184 870206 870219 870221 870236 870237 870253 870267 870279 870286 870288 870306 870308 870316 870358 870359 870364 870376 870387 870426 870437 870454 870464 870465 870481 870482 870517 870518 870524 870526 870575 870578 870597 870598 870602 870604 870629 870646 870651 870654 870659 870665 870668 870685 870700 870704 870729 870765 870766 870769 870770 870780 870787 870788 870800 870806 870821 870831 870837 870842 870848 870869 870881 870892 870893 870895 870896 870897 870938 870940 870968 870992 871022 871042 871061 871068 871090 871095 871105 871111 871127 871128 871132 871136 871169 871196 871248 871254 871277 871296 871299 871301 871302 871333 871346 871386 871402 871419 871451 871463 871489 871490 871503 871524 871525 871539 871554 871559 871592 871667 871674 871683 871685 871708 871717 871735 871736 871746 871751 871757 871767 871774 871775 871847 871870 871904 871910 871929 871951 872319 876909 876918 876941 877838 878517 917998 920339 920381 920541 920580 920598 935542 935577 948448 948449 948450 948452 948453 949158 949335 949366 949757 949768 949769 949876 1135942 1136114 1136115 1136362 1136364 1138477 1138603 1171334 1171343 1171345 1171358 1171359 1171364 1257890 1258939 1258940 1258942 1266851 1266852 1266853 1270973 1270978 1270979 1270980 1271042 1272267 1273520 1273522 1273524 1273526 1273527 1273528 1273529 1273572 1274022 1274023 1274024 1274025 1274041 1277063 1277335 1277336 1278523 1278524 1278529 1278530 1282531 1283619 1283623 1301663 1301938 1305660 1306754 1306756 1313913 1318419 1319406 1319882 1319883 1320290 1320928 1320929 1321571 1321772 1441667 1442352 1443334 1443335 1443579 1444167 1444711 1446393 1446397 1449564 1455726 1456623 1508821 1510465 1510621 1511230 1511299 1511333 1511488 1511776 1513886 1514478 1514743 1514999 1515004 1515834 1516196 1516213 1516231 1516627 1517194 1517302 1517739 1518028 1518424 1518563 1518578 1518579 1518642 1518930 1518933 1519196 1519210 1519427 1519439 1519446 1519773 1520061 1521743 1521808 1521895 1521910 1522486 1522710 1524069 1524106 1527116 1527117 1527237 1527272 1527360 1531486 1531633 1533018 1533021 1533642 1535514 1545432 1545722 1545958 1547429 1549449 1549450 1549452 1549459 1549462 1549970 1550495 1550496 1550497 1550499 1551488 1551538 1551547 1551571 1551619 1551624 1551646 1551647 1551648 1551680 1551690 1551706 1551795 1551841 1551844 1551845 1552235 1552238 1552240 1552241 1552264 1552271 1552280 1552303 1552359 1552388 1553256 1553269 1553305 1553322 1553323 1553324 1553350 1553359 1553360 1553361 1553362 1553364 1553365 1553366 1553367 1553368 1553369 1553372 1553373 1553374 1553375 1553376 1553377 1553378 1553379 1553702 1555179 1555323 1555730 1555735 1555750 1555754 1555762 1555764 1555769 1555792 1555793 1555794 1555800 1555839 1555845 1555863 1555874 1555916 1555941 1555943 1555958 1556024 1556084 1556085 1556086 1556094 1556100 1556104 1562236 1562307 1563694 1609430 1609986)\n(69 1806 3629 4942 4951 4978 5347 5351 6343 7444 8069 8532 8869 9454 9488 9494 9669 9824 10439 10453 11101 11283 11292 12653 13277 13712 14024 15000 15004 15005 15007 16420 16694 18684 18741 19550 19844 20156 20168 20786 21672 21686 21687 22126 22422 22702 22997 23229 23963 24460 25094 25101 25107 25353 26528 26531 26532 26742 27142 28700 28761 29162 29245 30706 31230 31797 31812 32041 32381 32738 33166 33460 33696 33910 34119 35011 35039 35045 35048 35201 35959 36365 36588 37218 37403 37414 37433 37439 37446 37776 38330 38821 38841 39227 41623 41933 42152 42294 42764 43236 43418 78889 79112 79152 79272 79618 79622 79921 80048 80105 85518 85862 85974 85978 86072 86264 86266 86542 86739 87130 87176 87177 162343 162365 178514 178566 178826 179515 205313 205932 206000 206100 221192 231172 237104 237511 237668 237750 237767 242352 242568 242806 242807 242828 242829 282477 282637 302829 302834 302835 304231 337687 337696 337698 337699 337700 337721 337728 337739 337746 337757 376327 376556 376629 376640 392356 392360 439673 445623 449234 449450 518645 521120 524601 525053 574791 574799 574831 597547 598679 600215 600366 600372 600634 678257 678960 679080 679198 679201 679211 680194 680343 680375 680443 680444 680445 680523 680581 680647 680759 680790 680827 680829 680872 680875 681077 681169 681173 681185 681189 681190 681191 681194 681198 681205 681209 681210 681213 681220 683811 694625 695347 750480 750490 750491 750502 750509 750565 805586 808080 812371 814487 814670 814851 814890 814977 815181 870090 870159 870305 870318 870345 870512 870540 870589 870701 870703 870813 871014 871150 871224 871343 871460 871654 871911 871935 871981 876919 949875 950145 1135958 1136351 1171306 1261039 1272753 1510521 1510573 1510605 1511084 1511726 1513492 1515926 1517528 1519391 1533716 1537018 1546377 1546390 1546466 1546467 1546497 1546508 1546511 1546517 1546913 1546954 1547368 1547431 1547538 1547564 1547820 1548151 1548313 1548600 1549071 1549422 1549448 1549514 1550025 1550045 1550176 1550470 1550501 1551337 1551338 1551362 1552022 1552744 1553514 1553904 1554088 1554124 1554997 1555312 1555707 1555708 1555711 1562876)\n(70 530 779 1060 1551 1697 1804 2092 2131 2199 2723 3241 3242 3243 3244 3246 3248 3250 3251 3253 3313 3316 3320 3321 3322 3323 3324 3326 3329 3330 3331 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3368 3369 3370 3372 3435 3436 3442 3445 3450 4149 4358 4359 4416 4632 4886 4965 5148 5149 5457 5804 5805 6044 6307 6560 6599 6610 6611 6613 6614 7082 7507 8013 8014 8015 8357 8359 8897 9185 9412 9498 9499 9500 9502 9505 9506 9510 9512 9516 9517 9519 9521 9522 9543 9545 9552 10404 12547 12551 12559 14954 15980 16011 16602 16603 16712 16831 17007 18442 18449 18593 18909 18911 19161 19164 19165 19166 19167 19168 19628 19629 19630 19654 19683 19721 19731 19733 19735 19737 19740 19742 19746 19754 19759 19761 19764 19765 19768 19770 19772 19774 19776 19778 19780 20095 20096 20100 20101 20835 20838 20840 20841 20843 20846 20852 20854 20855 20856 20857 20858 20859 20860 20861 20954 20960 21006 21008 21009 21013 21016 21017 21024 21027 21029 21031 21032 21034 21036 21037 21038 21040 21054 21072 21084 21403 21644 21701 21734 21735 21740 21741 21742 21743 21745 21747 21753 21755 21756 21757 21758 21759 21760 21761 21764 22144 22145 22185 22709 23043 23158 23341 23383 23513 23767 23979 24181 24182 24184 24185 24186 24284 24297 24320 24379 24381 24382 24420 24429 25010 25250 26189 26384 26484 26782 27851 28178 29122 30490 30529 31235 31237 31858 32066 32172 32191 32193 32195 32350 32374 32375 32551 32552 32553 32595 32881 32883 32884 32936 33090 33232 33260 33452 33453 33457 34131 34496 34761 34788 34789 34790 34793 34805 34816 34817 34819 34822 34825 34862 35403 35448 35595 35795 35923 36106 36478 36538 37352 37355 38164 38167 38168 38858 38973 39115 39217 39615 39619 39620 40048 40139 40175 40555 40673 40932 41289 41305 41350 41360 41361 41368 41469 41470 42210 42211 42212 42213 42723 42742 42771 43140 43141 45518 50268 50591 50719 50726 50802 50901 51208 51414 51967 51975 51976 51977 51979 51981 51982 51983 51985 52029 52042 52050 52051 52055 52061 52063 52097 52099 52685 53628 53905 54142 54145 54146 54164 54504 54505 54600 54941 54943 54946 54949 54950 54951 54952 54953 54954 54959 54961 54964 54965 54966 54968 55026 55062 55518 55781 55782 55956 55966 56097 56135 56166 56182 56184 56196 56207 56239 56267 56278 56548 56988 57002 57021 57027 57153 57256 57317 57450 57489 57490 57990 58402 58773 58782 58804 58892 58993 59274 59381 59476 59484 59485 59586 61338 61773 61817 61870 62044 62059 62082 62083 62086 62200 62523 62524 62525 62527 62529 62801 62802 62806 62808 62815 62816 62817 62818 62819 62820 62821 62822 62826 62829 62830 62832 62835 62836 62837 62838 62839 62840 62844 62845 62847 62850 62852 62854 62855 62857 62863 62865 62866 62867 62872 62873 62874 62876 62877 62878 62879 62880 62882 62883 62884 63256 63258 63369 63529 63695 63710 63717 63900 64159 64193 64207 64208 64634 64700 64830 65105 65337 65346 65401 65417 65446 65490 65492 65828 65829 65943 65944 65973 66914 66992 67005 67033 68655 69062 69115 69180 69426 69462 69494 69508 69560 69673 70133 70476 71234 71315 71329 71613 71698 71728 71851 71955 72470 72560 72639 72887 72964 72966 72978 73050 73092 73163 73188 73230 73681 74122 74207 74333 74472 74480 74667 74679 74803 74804 74810 75091 75093 75128 75129 75131 75169 75260 75289 75290 75462 75666 75747 75828 76533 76570 76635 76729 76818 76864 76868 76930 77221 77391 77494 77505 77510 77967 78048 78049 78056 78145 78221 78410 78968 79091 79189 79419 79459 79460 79545 79600 79633 79717 79784 79785 79786 79904 80067 80091 80092 80096 80097 80148 80188 81005 81714 81770 81937 81938 81939 81942 81946 82181 82420 82472 82758 82914 82915 82920 83026 83028 83031 83032 83193 83298 83391 84128 84293 84779 85144 85229 85240 85246 85247 85289 85295 85297 85355 85358 85379 85386 85408 85424 85432 85980 86145 86333 86334 86401 86413 86414 86415 86452 86482 86816 86821 86952 87048 87049 87050 87051 87151 90425 101583 101584 101589 102254 103489 103500 103501 103502 103503 103611 103612 103635 103647 104230 104998 106423 106579 108747 108748 108754 108768 108773 108779 108783 108788 108789 108791 108793 108796 108800 109016 109318 110628 111069 111080 111208 113089 114707 114967 115305 116078 116216 116397 117080 117375 120537 120659 121459 121627 121931 121964 121973 121976 121978 122007 122020 122029 122040 122042 122053 122055 122060 122577 122620 123227 123242 123263 123403 123422 123486 123745 123748 123759 123771 123780 124026 124761 124856 125090 125271 125272 125606 125607 126244 126519 126722 127040 127526 128546 128897 129524 131647 132092 132638 133821 134235 134596 134835 135201 136459 136582 137331 138547 138741 138826 140114 140430 141364 142025 142691 142996 144301 145431 145707 146158 147233 147919 149319 162476 162507 162595 162596 162681 162825 162826 162832 162833 163174 163573 163642 165377 165938 166049 167206 167294 167318 167627 167954 168237 169110 169904 170195 170300 170309 172293 174745 174878 178481 178489 179088 179089 206253 206255 206491 206492 206514 206515 206527 206552 206553 206845 208676 208804 208811 209232 209338 209660 210539 210630 211670 211671 211687 211688 212009 212417 212519 212689 213512 213677 214524 214743 215002 215027 215474 215600 215601 215714 217156 217525 217652 218227 218504 218506 219610 220248 221114 221131 221133 221134 221137 221141 236492 236493 236494 236505 236506 236509 236511 236513 236514 236515 236516 236522 236523 236524 236525 236535 236536 238661 242185 242556 242654 242957 243019 243020 243039 243040 243537 243982 244078 244087 244512 244713 244740 244996 245056 245301 245382 245557 245612 245662 246068 246251 246598 246612 247333 247340 249229 249911 249992 250347 250501 250770 250873 250875 250876 251051 251058 251576 252534 253183 253393 253751 253781 253876 253906 254119 254324 254455 254610 254971 255290 255448 256380 258122 258654 258658 279020 279074 279218 279226 280031 280838 280849 281019 281031 281208 281345 281581 281606 281722 281736 282056 282115 282552 282553 282554 282566 282571 282580 282581 282604 282681 282682 283842 285053 285342 285488 285862 286385 286648 286848 287023 287024 287703 288048 288672 289316 289523 289706 289863 291452 291613 291672 292523 292524 292863 294154 294361 295525 295526 295967 296790 296910 297523 298340 298507 298751 299064 299142 299197 299198 299555 299811 299917 300228 300423 300966 301451 301453 301459 301461 301503 301508 301512 301519 301521 301837 301838 301839 301843 301844 301846 301847 301848 301849 301850 301851 301852 301854 301856 301857 301859 301866 301871 301968 301969 301975 301976 301979 301980 302013 302036 302058 302236 302237 304951 305047 305051 305052 305055 305057 305058 305059 305065 305066 305354 306780 306867 308550 309234 309259 309268 310094 310330 310405 310663 310665 310672 310674 310677 310679 310691 310692 310699 310701 310703 310717 310718 310720 310721 310723 310727 310728 310732 310740 310744 310749 310750 310751 310756 310757 310758 310760 310767 310769 310770 310772 310782 310810 310813 310820 310839 310840 310841 310842 310845 310848 310969 310983 311028 311029 311035 311040 312555 312556 312557 312558 312559 312560 312561 312562 312566 312586 312588 312590 312594 312595 312596 312598 312600 312606 312612 312619 312621 312627 312629 312631 312634 312636 312638 312639 312653 312695 312724 312736 312743 312770 312779 312817 312818 313032 313106 313107 313108 313239 313560 338197 338204 338254 348038 348081 351225 357126 358297 358314 358321 358334 359163 359168 359935 360506 361275 368582 368593 368597 368612 368674 368675 368720 368721 368724 368759 368783 368784 368786 368789 368815 368889 368903 368953 369034 369045 369058 369059 369070 369082 369095 369102 369103 369108 369138 369161 369180 369221 369236 369247 369266 369286 369303 369324 369330 369334 369342 369360 369362 369497 369498 369526 369588 369595 369622 369630 369637 369641 369690 369693 369704 369713 369725 369727 369773 369779 369796 369797 369804 369850 369851 369852 369854 369871 369887 369911 369912 369923 369951 369952 369966 369998 370001 370030 370032 370049 370058 370061 370088 370096 370124 370126 370148 370154 370177 370187 370188 370197 376579 376613 376659 377942 378079 378248 378910 379473 380992 382111 382118 382120 382839 382980 382981 383327 383429 383881 384167 384500 384648 384846 385723 385794 385795 386212 387687 388013 388828 389545 389824 390071 390425 390863 391001 392959 393002 393022 432617 432618 432630 432632 432662 440504 440513 440514 440515 440516 440517 440518 440519 440520 440522 440523 440524 440525 440526 440527 440528 440529 440530 440531 440532 440533 440534 440535 440536 440537 440538 440540 440542 440543 440545 440546 440547 440550 440551 440552 440553 440554 440555 440557 440559 440580 440582 440583 440584 440596 440603 440631 440640 440649 440651 440657 440660 440671 440672 440675 440676 440678 440679 440715 443634 443637 443639 443640 443641 443644 443669 443681 443694 443701 443705 443715 443723 443726 443735 443736 443737 443740 443741 443742 443744 443758 443793 443794 443803 443808 443809 443824 443826 443833 443835 443849 443850 443856 443865 443867 443876 443881 443883 443886 443891 443892 443894 443903 443906 443907 443918 443920 443922 443923 443925 443930 443933 443935 443945 443948 443949 443973 443980 443981 443982 443985 443998 444007 450095 450097 450099 450101 450226 456981 475335 475349 475462 475463 483258 486309 486372 486379 486485 486662 486707 486950 486954 486989 487019 487172 487173 487261 487322 487378 487382 487506 487535 487637 487652 487695 487750 487772 522281 522285 522299 522300 524776 524890 524891 524893 524914 525037 525569 525611 525838 525840 525842 526339 526437 526873 527608 527671 527841 527903 527994 528335 528414 529256 529257 529259 529524 529525 529736 530293 530549 530993 532605 533598 534555 535491 535493 535643 535644 535843 535872 535900 536204 537004 537005 537225 537439 537555 537670 538075 538788 538858 539132 539362 539469 539791 540053 540128 540179 540218 540984 541046 541181 541270 544354 552686 552722 552764 552769 552889 552953 555907 555909 555910 555911 555915 555916 555917 555918 581779 587072 591524 591592 591747 592176 592999 593408 593419 593947 593953 594248 594372 595042 595368 595976 596057 596115 596409 596709 596731 597012 597172 597260 597418 597420 597449 597472 597596 597641 597791 597888 597959 598058 598072 598074 598363 598576 598577 598582 598622 598658 598670 598738 598896 599597 599796 599934 600251 600412 600413 605001 605015 608211 611019 611399 611600 614688 615137 616624 617768 618073 621249 624074 625647 626081 630214 630541 631029 633763 635011 635050 635413 635653 637747 646028 646370 649700 651880 653146 653380 653923 654014 655013 655475 655694 656326 657488 657552 658077 660421 660888 661321 661706 663193 663932 664207 665610 665812 665815 666102 666373 666594 666738 666743 667141 668008 668894 669486 669492 669873 669974 669983 670009 670118 670509 670749 670902 672448 672453 672596 672609 673028 674103 674928 674929 675085 675593 675617 675907 676150 676500 676831 677668 677907 678100 687706 694728 694729 694730 694745 694746 695129 695130 700144 700271 700384 700607 700881 702053 717352 717360 717551 717715 717811 717812 717816 718003 718004 719605 720476 720489 720491 720492 720561 721165 721476 721837 722315 722529 722981 723145 723325 723567 724434 724670 724724 728744 728745 728746 728747 729646 729656 729657 729661 729663 730719 730742 730898 730920 731026 731328 731341 731384 732248 732621 733466 733468 733469 733470 752774 752978 753070 753071 753442 756658 757164 757166 758139 759310 759590 760170 761403 762640 763109 763295 763482 764664 764888 767393 768182 768454 768792 769171 769335 770688 770694 770698 770715 770718 770720 770721 771080 771771 772120 772459 790335 796392 796453 796473 796545 796561 796601 796614 796687 804954 805094 805198 805205 805217 805345 805346 805350 805362 805366 805368 805369 805372 805377 805378 805418 805426 805437 805446 805460 805606 805720 805725 805767 805780 805781 805946 805960 805975 806037 806038 806043 806044 806045 806046 806297 806324 806343 806355 806358 806362 806366 806413 806468 806506 806898 807093 807098 807317 807449 807464 807777 807857 808111 808253 812246 812295 812305 812308 812445 872129 872336 872968 872996 875949 876081 876099 876134 876233 876236 876248 876717 877857 877880 879266 879331 879339 879372 879399 879427 879438 879468 879548 879551 879584 879590 879599 879622 879624 882608 882631 882692 882745 882752 882761 882989 883007 883059 883072 883156 883165 883180 883261 883280 883318 883327 883443 883455 883970 887892 887893 887894 887895 887896 887902 887903 887906 887908 887911 887927 887928 887942 887943 901383 903677 904257 904258 905677 906872 907160 907539 907797 908711 908728 908819 908820 909596 909645 909900 910225 910465 910794 911116 911683 911685 912012 912053 912205 912810 912920 912921 913092 913466 913471 914033 914468 914507 914798 915344 916039 916376 916377 916853 916859 917780 919250 919274 919534 920268 920274 935746 935889 939276 939422 939690 945940 946129 946132 946148 946219 946364 946551 947639 947642 947706 949109 949574 950624 961101 961348 961411 961483 961814 962190 962191 962473 962964 963057 963782 963806 963811 964553 964836 965249 965741 965800 966225 966930 966977 967056 967254 967777 968030 968072 968162 968671 968812 969146 969324 969325 969619 971007 971207 971226 979582 982054 995188 1097685 1097839 1098018 1098022 1098076 1098156 1098214 1098262 1098263 1098528 1098634 1098712 1099097 1099428 1101121 1101224 1115394 1115670 1119948 1119961 1120348 1120969 1121484 1121561 1121562 1121728 1121818 1121963 1122087 1122692 1134535 1134639 1134691 1135128 1135129 1135130 1135133 1135619 1136310 1136325 1136337 1136535 1137870 1138401 1143119 1143122 1143177 1144320 1145755 1148358 1148434 1165245 1170008 1170200 1170508 1171255 1171883 1172186 1172252 1172366 1172581 1172734 1173436 1173477 1174136 1174349 1174672 1174773 1174790 1174995 1175000 1175097 1175165 1175180 1175421 1175422 1176430 1176537 1178562 1254705 1254850 1255096 1255097 1255614 1256371 1257988 1258935 1259157 1259244 1259829 1259876 1260192 1260215 1269100 1270490 1270688 1270735 1270739 1270762 1270908 1270911 1271482 1275890 1275917 1275940 1276239 1276241 1276976 1277099 1278732 1291775 1291776 1291777 1291778 1291783 1291802 1291803 1291807 1291817 1291822 1291835 1291840 1291845 1291847 1291850 1291855 1291869 1291870 1291914 1291994 1292052 1292053 1292055 1292056 1292065 1292066 1292139 1292144 1292145 1292273 1292275 1298636 1299132 1299874 1302005 1302046 1302095 1302682 1302687 1302688 1305847 1305958 1305959 1308206 1308247 1310928 1311107 1311738 1311751 1311943 1312593 1312824 1312991 1313494 1313522 1314915 1317101 1317122 1317251 1317287 1317350 1317481 1317726 1317839 1317964 1318731 1318979 1319755 1320096 1320124 1320236 1320237 1320238 1320239 1320240 1320241 1320242 1320243 1320244 1320245 1320247 1320249 1320283 1320284 1321910 1321961 1327911 1327944 1328025 1328093 1328123 1328134 1328236 1328704 1328709 1328828 1328853 1328854 1328858 1328865 1328921 1328951 1330010 1330623 1332075 1332652 1332656 1332659 1332681 1332682 1332683 1332684 1332687 1332690 1332691 1332700 1332707 1332709 1332710 1332711 1332712 1332713 1332714 1332729 1332744 1332758 1332765 1332766 1332791 1332793 1332802 1332816 1332817 1332821 1332823 1333018 1333206 1333213 1333690 1333900 1333903 1334074 1334075 1334079 1334080 1334085 1334086 1334098 1334100 1334103 1334105 1334107 1334109 1334111 1334112 1334114 1334117 1334118 1334119 1334121 1334122 1334123 1334124 1334126 1334127 1334133 1334144 1334146 1334147 1334193 1334310 1334335 1334487 1334508 1334510 1334863 1334884 1334899 1334961 1335205 1335267 1335285 1335376 1335623 1335676 1335798 1335806 1335808 1335833 1335834 1335835 1335858 1335987 1335989 1336604 1336635 1336638 1336639 1336642 1336643 1336644 1336681 1336930 1337091 1337092 1337112 1337114 1363982 1364020 1364113 1364508 1364818 1366034 1366463 1366499 1366524 1366556 1366561 1366562 1366565 1366571 1366572 1366582 1366583 1366622 1366644 1366837 1366882 1367171 1367202 1367389 1367455 1367466 1367475 1367477 1367701 1367710 1367714 1367721 1368113 1368327 1370111 1370147 1375886 1412030 1412061 1412082 1412097 1412099 1412278 1412363 1412409 1412446 1412452 1412528 1412581 1412591 1412709 1412716 1412760 1412791 1412828 1412840 1412922 1412938 1412999 1413049 1413081 1413085 1413089 1413096 1413107 1413206 1413207 1413223 1413227 1413228 1413230 1413233 1413235 1413238 1413243 1413244 1413306 1413307 1413336 1413337 1413354 1413376 1413387 1413514 1413661 1413694 1413696 1413716 1413738 1413750 1413752 1413785 1413864 1413931 1414059 1414132 1414141 1414168 1414313 1414357 1414369 1414406 1414412 1414440 1414461 1414528 1414529 1414549 1414555 1414557 1414635 1415042 1415066 1415119 1415349 1415374 1415376 1415484 1415491 1415505 1415570 1415572 1415576 1415578 1415579 1415585 1415742 1415782 1415790 1415831 1415855 1415900 1415912 1415933 1415975 1415980 1416270 1416402 1416406 1416409 1416478 1416484 1416485 1416488 1416522 1416655 1416786 1416788 1416795 1416802 1416831 1416868 1416891 1416931 1416966 1417057 1417170 1417172 1417326 1417377 1417497 1417507 1417530 1417635 1417636 1417638 1417683 1417696 1417708 1417808 1417861 1417917 1418204 1418286 1418457 1418482 1418531 1418549 1418551 1418676 1418868 1418885 1418887 1418889 1418939 1418946 1418994 1419032 1419038 1419043 1419072 1419093 1419141 1419304 1419381 1419382 1419390 1419462 1419618 1419692 1419693 1419704 1419950 1419960 1419997 1420005 1420017 1420066 1420138 1420192 1420219 1420295 1420490 1420567 1420667 1420679 1420701 1420708 1420712 1420715 1420718 1420728 1420797 1420886 1420946 1421008 1421041 1421047 1421101 1421104 1421105 1421143 1421174 1421374 1421435 1421437 1421451 1422009 1422073 1422569 1422760 1422806 1423038 1423536 1423648 1423680 1423892 1423974 1424158 1424673 1424742 1425131 1425268 1425345 1425417 1425544 1425692 1425698 1425774 1425844 1425978 1426032 1426040 1426197 1426204 1426630 1426669 1426771 1426926 1427027 1427424 1427941 1428415 1428477 1428962 1429218 1429427 1429928 1433334 1433775 1433776 1434448 1435553 1436671 1436843 1439292 1439335 1439350 1440045 1440046 1440047 1440058 1440059 1440060 1440064 1440066 1440070 1440071 1440072 1440074 1440079 1440081 1440088 1440089 1440090 1440096 1440097 1440100 1440105 1440117 1440128 1440129 1440130 1440132 1440133 1440151 1440152 1440154 1440176 1440177 1440179 1440180 1440181 1440183 1440185 1440193 1440194 1440199 1440203 1440204 1440208 1440211 1440221 1440226 1440228 1440439 1440440 1440441 1440442 1440443 1440444 1440445 1440447 1440448 1440452 1440453 1440455 1440456 1440459 1440463 1440465 1440466 1440467 1440468 1440471 1440474 1440476 1440480 1440483 1440484 1440485 1440486 1440491 1440495 1440499 1440524 1440525 1440545 1440547 1440548 1440549 1440551 1440552 1440553 1440561 1440563 1440570 1440586 1440588 1440592 1440596 1440597 1440598 1440605 1440607 1440608 1440609 1440615 1440616 1440623 1440629 1440646 1440648 1440652 1440655 1440659 1440660 1440661 1440662 1440663 1440664 1440666 1440669 1440670 1440673 1440674 1440681 1440682 1440684 1440688 1440690 1440693 1440697 1440701 1440702 1440705 1440706 1440708 1440710 1440714 1440718 1440723 1440726 1440731 1440735 1440738 1440740 1440754 1440755 1440756 1440759 1440768 1440808 1440809 1440811 1440849 1440850 1440870 1440875 1440877 1440879 1440884 1440887 1440897 1440899 1440902 1440905 1440912 1440915 1440917 1440918 1440921 1440922 1440923 1440925 1440928 1440929 1440930 1440933 1440942 1440946 1440948 1440949 1440950 1440951 1440961 1440965 1440966 1440967 1440972 1440973 1440974 1440983 1440985 1440986 1440988 1440989 1440992 1440993 1440995 1441006 1441008 1441011 1441012 1441013 1441017 1441019 1441025 1441030 1441031 1441032 1441034 1441035 1441040 1441041 1441049 1441055 1441061 1441062 1441070 1441081 1441082 1441085 1441088 1441091 1441092 1441094 1441105 1441126 1441127 1441148 1441149 1441153 1441165 1441171 1441179 1441181 1441182 1441186 1441192 1441195 1441196 1441204 1441241 1441243 1441244 1441245 1441249 1441250 1441252 1441255 1441256 1441259 1441262 1441263 1441264 1441265 1441271 1441273 1441275 1441276 1441278 1441280 1441281 1441282 1441289 1441290 1441291 1441300 1441302 1441303 1441314 1441320 1441321 1441328 1441338 1441481 1441731 1442142 1442148 1442153 1442155 1442484 1442491 1442734 1442750 1442762 1442922 1442923 1442930 1442955 1442956 1442960 1442972 1443000 1443014 1443041 1443046 1443048 1443072 1443076 1443077 1443082 1443126 1443133 1443135 1443143 1443157 1443165 1443173 1443174 1443175 1443176 1443184 1443185 1443207 1443209 1443907 1443916 1444138 1444967 1444971 1444987 1444994 1445024 1445026 1445031 1445032 1445037 1445038 1445040 1445042 1445048 1445058 1445059 1445077 1445675 1445681 1445741 1445761 1445769 1445770 1445792 1445859 1445860 1446425 1446428 1446430 1446431 1446432 1446434 1446436 1446449 1446470 1446471 1446474 1446479 1446489 1446495 1446498 1446508 1446521 1446523 1446538 1446566 1446600 1446601 1446610 1446612 1446613 1446617 1446631 1446647 1446649 1446650 1446663 1446665 1446669 1446694 1446704 1446705 1446743 1446777 1446791 1446801 1446803 1446806 1446816 1446817 1446820 1446821 1446822 1446835 1446836 1446837 1446847 1446848 1446873 1446876 1446880 1446881 1446886 1446891 1446892 1446893 1446895 1446908 1446909 1446913 1446915 1446920 1446924 1446941 1447786 1449159 1449556 1449622 1450367 1451139 1452296 1453955 1454066 1455671 1455676 1455677 1455722 1455737 1456382 1456402 1456404 1456516 1456793 1456795 1456796 1456820 1457876 1504605 1504958 1505679 1506530 1507145 1507330 1508276 1508482 1510402 1510924 1510928 1510976 1510986 1511016 1511420 1511422 1511767 1511792 1512304 1512316 1512318 1512511 1513429 1513445 1513446 1513458 1513759 1514196 1514218 1514774 1514780 1514791 1514794 1515333 1515631 1515637 1515689 1515858 1516006 1516017 1516086 1516125 1516126 1517701 1518134 1518416 1518573 1519138 1519887 1519903 1519904 1520145 1521740 1521879 1521896 1521898 1522012 1522221 1522250 1522478 1522481 1522526 1522537 1522540 1522544 1522550 1522551 1522557 1522558 1522569 1522571 1522669 1522688 1523982 1524027 1524094 1524115 1525398 1525410 1525418 1525451 1526859 1526860 1526881 1526882 1526912 1526914 1526915 1527003 1527024 1527036 1527127 1527130 1527131 1527132 1527134 1527151 1527200 1527201 1527210 1527233 1527234 1527244 1527392 1527432 1527737 1527844 1528012 1528013 1528874 1529872 1530204 1530450 1531430 1531499 1531692 1532773 1533699 1534911 1535257 1537381 1537472 1537503 1537624 1537692 1538440 1538881 1539081 1539082 1539083 1539372 1539428 1539477 1539630 1539696 1539954 1540030 1540039 1540126 1540160 1540306 1541160 1541366 1541483 1541499 1541538 1541801 1542010 1545345 1545476 1545477 1545526 1545534 1545590 1545600 1545602 1545739 1545897 1548332 1548339 1548465 1548468 1548472 1548473 1548478 1548479 1548481 1548483 1548485 1548487 1548493 1548494 1552907 1562333 1563672 1564907 1566272 1566537 1567129 1567130 1567994 1567995 1568974 1569667 1569815 1570125 1570213 1570308 1579319 1579322 1608294 1608615 1609165 1609938 1610033 1610436 1610534 1610890 1611361 1613021 1615035 1619635 1619962 1619966 1620073 1620265 1709390 1822740 1823300 1823554 1823619 1824103 1824180 1824378 1824670 1824728 1824729 1824776 1825406 1825497 1825549 1825592 1825613 1825775 1825854 1826328 1826449 1826471 1826745 1826761 1826950 1835859 1835861 1837204 1837441 1842980 1846989 1847895 2239666 2239920 2240226 2681191 3147202 3469830 3469967 3469968 3469970 3470196 3471440 3815103)\n(71 849 899 919 1072 1241 1580 1948 3624 4077 4350 4377 4927 5899 6873 8065 8081 8300 9650 9671 9899 9967 10399 10472 10967 11142 11201 12625 13124 13409 13713 13989 14832 15328 15365 15745 15748 16130 16468 16488 16995 17249 18249 18464 18615 18687 18695 21125 21619 22438 22699 22867 24195 24630 24677 24810 24906 26530 27338 27562 28765 29164 30474 30978 31166 31210 32063 32955 33023 33034 33759 33923 34634 34750 35154 35651 35952 36240 36276 36596 36597 36600 36602 36675 36864 36891 36899 37369 37417 37774 38632 39475 39751 40410 40809 41210 41663 42116 42530 42828 42932 42978 43175 79241 79324 80141 80231 80340 85116 85134 85880 86059 86152 86181 86182 86297 86373 86716 86838 86931 87092 150210 150499 178781 178889 205905 205906 206072 231347 231517 233449 233513 233518 233520 233528 233534 233897 233917 233928 233962 234857 234858 234875 234877 234878 234879 234883 234886 234888 234892 236037 237102 237121 237122 237123 237274 237280 237442 237443 237657 237894 237919 237935 241331 241410 242205 242224 242276 242288 242361 242550 242659 242952 277844 281875 281991 282347 282348 282349 282366 282450 302595 337665 337666 337667 337678 349450 376209 376390 376552 392339 392344 395000 413329 424347 424348 424350 424357 439656 453996 455212 474331 474399 517616 518155 518605 520949 521008 522008 524630 542299 556180 556297 556328 558093 558095 558265 558294 562573 564479 565975 582587 596764 596775 597198 597431 598243 599403 599788 599907 599922 600071 600261 600549 600550 678252 678261 678263 678274 678297 678311 678341 678373 678856 678978 678984 678998 678999 679000 679001 679002 679004 679005 679007 679008 679132 679140 679143 679150 679163 679165 679166 679167 679168 679170 679173 679178 679180 679182 679183 679186 679187 679188 679190 679782 679785 679786 679788 679823 679856 679857 679887 679995 680038 680095 680212 680274 680423 680458 680467 680468 680469 680470 680479 680484 680492 680498 680506 680507 680686 681390 681394 681398 681543 681592 683182 683242 683251 683252 683253 683255 683257 683269 683293 683298 683302 683303 683305 683307 683308 683310 683311 683523 683573 683640 683664 683665 683667 683900 684274 684289 684305 684314 684325 687003 687004 687134 687671 694535 694536 699778 700132 702112 746932 747308 747309 749637 813932 813934 814064 814088 814099 814103 814104 814108 814269 814440 814442 814445 814514 814603 815096 815099 815100 815110 815111 815224 848128 848129 848130 856983 858352 859027 860662 870111 870167 870284 870356 870371 870398 870418 870442 870446 870447 870477 870511 870584 870663 870681 870708 870748 870857 870979 870988 870990 870993 870998 870999 871003 871069 871154 871213 871243 871291 871306 871307 871327 871329 871331 871336 871342 871363 871414 871446 871454 871457 871596 871597 871633 871635 871652 871690 871710 871743 871825 871898 871899 871905 871941 871950 871952 871966 872137 872151 872153 872374 872403 935550 935569 935588 945952 945984 945994 946100 946113 946267 946280 946284 946340 946342 946370 946429 946468 947307 950156 1096771 1135956 1136077 1154314 1154319 1154323 1154324 1154328 1154330 1154333 1154334 1154341 1154343 1154347 1154380 1171309 1171369 1261242 1262479 1266864 1277580 1283330 1319130 1319131 1319164 1319206 1321002 1321107 1321108 1321111 1321116 1321226 1321228 1321605 1325844 1325855 1449594 1456690 1510522 1510525 1510555 1510576 1510579 1510580 1510582 1510614 1512182 1512346 1512459 1514806 1516555 1519022 1519383 1519580 1523628 1523637 1536990 1537021 1611708)\n(72 1134 1896 1971 2055 2154 2368 2371 2372 2374 2607 2611 2615 2620 3307 3522 3947 4747 4754 5018 5367 6020 6212 6222 6686 6695 6701 6711 6712 6716 6717 6720 6721 6726 7012 7016 7018 7026 7027 8173 8203 8543 8575 8576 8580 8838 8856 9132 9359 10502 10505 10511 11097 11323 11324 11392 11745 11789 13121 13239 13832 15864 15883 16326 16327 16328 18027 18029 20231 20259 20270 20274 20281 20282 20315 20326 20362 20600 20746 21521 21524 21964 21966 22164 22499 22683 24192 24472 24476 24477 24480 25417 25423 25552 25592 26136 26162 26504 28128 28159 28160 28167 28193 28214 28215 29356 29366 29385 30015 30103 30981 31068 31180 31603 31700 31702 31730 32160 32575 32825 32826 32829 32831 32838 34320 34387 34911 35975 36085 36580 37098 37105 37129 37494 37498 37505 37508 37512 37517 37518 37521 37532 37559 37568 37570 38126 38143 38225 38239 38720 38750 38777 38779 38782 38784 38787 39267 39418 39419 39498 39950 39995 40241 41929 42305 42308 42838 43047 43400 43491 43496 46459 50647 51152 51508 51511 51512 51514 51515 51516 51517 51518 51519 51521 51522 51537 51564 51565 51667 51708 51709 51710 51713 51714 51716 51717 51719 51721 51722 51723 51724 51725 51729 51740 51752 51769 51803 51836 51947 52070 52364 52413 52415 52416 52417 52418 52422 52423 52424 52561 52657 52678 52936 52971 52972 52974 52976 52977 52979 52980 52991 52993 53075 53345 53346 53347 53348 53349 53350 53351 53352 53361 53627 53632 53782 53783 53786 53787 53788 53789 53791 53812 53835 53929 53931 53942 53943 53954 54027 54057 54169 54410 54411 54412 54413 54414 54416 54417 54418 54464 54465 54469 54471 54476 54485 54486 54671 54692 54714 54724 54739 54744 54891 55111 55113 55114 55115 55117 55118 55122 55134 55135 55136 55138 55286 55330 55370 55371 55405 55439 55449 55450 55458 55609 55613 55615 55617 55618 55627 55628 55629 55630 55645 55667 55749 55863 56025 56026 56036 56038 56119 56293 56301 56502 56543 56564 56593 56594 56598 56599 56601 56602 56603 56604 56611 56658 57715 57732 57792 57882 58460 58469 58676 58817 59395 59765 59908 59970 60127 60137 60205 60216 60229 60231 60234 60236 60238 60240 60243 60245 60246 60259 60263 60275 60279 60282 60283 60468 60512 60515 60556 60566 60567 60570 60600 60621 60631 60643 60752 60758 60812 60897 60932 60938 61005 61006 61008 61185 61188 61240 61281 61297 61790 61791 61795 61864 62185 62597 62607 62610 62612 62623 62636 62652 62700 62967 63067 63070 63075 63087 63088 63090 63105 63146 63153 63226 63468 63472 63473 63474 63749 63752 63753 63758 63793 63855 63864 63959 64091 64221 64647 64648 64649 64711 64713 64715 64716 64717 64719 64720 64721 64722 64723 64724 64725 64990 65084 65085 65086 65088 65089 65092 65094 65234 65461 65509 65512 65516 65517 65519 65520 65525 65527 65530 65533 65641 65642 65644 65646 65649 65979 65984 65985 65986 65987 65988 65989 65990 65996 66000 66037 66046 66055 66423 66503 66695 66696 66708 66780 66797 66840 68505 68514 68548 68663 68678 68679 68681 68682 68685 68686 68688 68689 68690 68692 68790 68808 68837 68840 68853 68856 68879 68882 69294 69307 69325 69451 69577 69590 69668 69670 69783 69954 69998 70258 70417 70451 70813 70914 70934 70936 71261 71263 71295 71687 71691 71749 71750 71752 71753 71754 71755 71756 71758 71761 71764 71767 71768 71771 71772 71773 71774 71775 71776 71777 71778 71780 71784 72026 72601 72604 72733 72738 72739 73146 73386 73689 73718 73720 74279 74280 74281 74282 74303 74336 74353 74354 74522 74523 74525 74527 74528 74530 74531 74534 74535 74536 74537 74538 74542 74655 74689 74716 74718 74719 74721 74722 74724 74725 74726 74727 74728 74729 74730 74735 74737 74738 74739 74740 74741 74742 74744 74745 74747 74748 74750 74751 74752 74753 74754 74756 74757 74758 74759 74764 74765 74766 74767 74769 74770 74771 74773 74774 74776 74805 74817 74982 74985 75145 75157 75158 75159 75160 75162 75333 75335 75338 75585 75608 75613 75649 75677 75768 75891 75913 75931 75976 75992 76006 76027 76070 76219 76236 76239 76242 76257 76331 76339 76368 76498 76509 76510 76534 76662 76732 76733 76736 76738 76740 76741 76742 76933 76955 77043 77179 77210 77216 77266 77315 77459 77513 77514 77515 77600 77802 77851 77853 77855 78020 78023 78182 78360 78385 78472 78476 78477 78483 78617 78731 78733 78754 78755 78771 78772 78774 78775 78780 78784 78787 78788 78789 78794 78795 78812 78814 78816 80014 81609 81816 81817 81885 81993 82755 83199 83236 83318 83743 83807 83871 83990 84549 84686 84850 84943 85043 85057 85217 85782 85875 86065 86954 86983 98687 102824 102840 102848 102852 102853 102922 103075 103080 103081 103097 103100 103202 104238 104245 104799 105204 105241 105776 106141 108127 108134 108136 108199 108216 108514 108520 109358 109662 109892 110359 110479 110596 111138 111316 113566 113591 115137 116466 117003 117165 117506 117541 118075 118642 119149 120267 121334 122246 122297 122298 122723 122789 123445 123945 126127 126688 126689 126704 126771 126772 126950 127575 127590 127764 128809 128885 128922 132331 132516 132524 132887 132888 133271 133635 134003 134017 134200 134238 136082 136151 136153 136156 136157 136764 136917 137295 137988 137998 138004 138022 138026 138028 138033 138037 138038 138047 138048 138050 138406 140383 141056 141060 141925 141927 141931 142305 142307 142583 142584 142585 142822 142863 142890 142906 142923 142943 142948 144010 144055 144204 144286 145028 145041 145069 145070 145119 145157 145305 145663 145664 145675 145921 145993 146174 146650 146748 146788 146894 146943 146944 147788 148119 148277 148495 148817 149416 162800 162943 163085 163355 163655 164112 164142 164248 164321 164523 164830 164877 164899 165528 165716 166159 166373 166374 166872 167519 167523 167683 168004 169367 169623 169693 169715 170127 170259 170896 171322 171673 172283 172340 172341 172463 172539 172576 172629 173049 173834 173842 174021 174148 174447 174463 175154 175809 175814 175889 175902 175904 175905 175959 175960 175962 175993 178522 178847 205679 205683 205685 205686 205687 205688 205689 205690 205693 205796 205813 205884 205885 205886 205893 205962 205964 205968 205972 205973 205974 205998 206057 206103 206104 206105 206106 206107 206108 206109 206110 206112 206121 206127 206133 206134 206135 206136 206140 206372 206374 206442 206443 206445 206446 206448 206449 206450 206451 206486 206490 206494 206756 206757 206758 206759 207215 207700 207903 207975 208063 208094 208097 208291 208352 208883 209495 210087 211161 211241 211272 211981 213983 214184 215126 215588 218457 219312 219689 219716 220926 243378 243408 243417 243630 243631 243930 244014 244193 244223 246050 246246 246248 246249 247351 248337 250943 251954 252520 252725 253025 253523 255341 256231 256293 256425 256439 256441 257255 257928 258123 258143 259879 260233 282591 283200 283788 283807 284047 284113 284129 284241 284430 284468 284573 284841 286144 286152 286703 286705 286706 286971 287272 288925 288926 289404 289406 289915 291309 291864 292041 292209 292858 292865 293203 293608 293613 293733 293752 294757 295098 295220 295546 297145 297827 297985 298030 298034 299001 299473 299474 300129 300269 300697 300988 300989 300990 300998 301001 301007 301008 301014 301017 301352 301427 302197 302200 302201 302202 302203 302204 302206 302207 302208 302209 302210 302211 302212 302213 302224 302699 302913 302914 302917 302921 302923 302926 302928 302929 302931 302932 302948 302949 302950 302951 302953 302958 302961 302962 302963 302964 302965 302966 302967 302975 302976 302992 303000 303016 303018 303052 303053 303073 303078 303090 303099 303121 303131 303157 303172 303174 303184 303186 303194 303207 303214 303215 303216 303223 303232 303252 303296 303313 303332 303345 303360 303368 303381 303387 303388 303441 303454 303461 303491 303508 303515 303539 303540 303563 303572 303589 303611 303631 303640 303641 303657 303746 303749 303751 303752 303840 303925 304475 304485 304540 304541 304542 304544 304583 304955 304965 306011 306214 306511 306813 306814 309319 309661 337023 337024 337055 337056 350411 351297 351302 351669 353769 357052 357084 357197 358522 359177 359299 359627 360641 360652 360663 360686 360688 361443 361876 361993 362004 368639 368666 368817 368819 368821 368838 369890 376520 376982 377337 377374 377427 379177 379686 379743 380460 380606 381111 381688 381689 383765 384598 385315 385316 385317 386883 387340 387434 387435 387560 387561 387562 387774 387776 388187 388632 388636 388852 389357 389416 389589 390694 391532 391599 392144 392428 439874 439876 439892 439954 439956 439958 439959 439960 439961 445115 445123 445125 453390 457554 457555 458050 458081 475871 520464 520465 520514 520519 521937 521939 521943 525093 525249 525500 525507 525854 527244 527405 527701 527702 528974 529934 530072 532247 532413 532538 533203 533725 534288 534469 534702 534917 536786 537680 537803 540133 540708 543134 544274 544285 544286 544293 546157 546793 546810 552357 555878 556240 556246 556249 567435 567438 574048 581773 581774 581775 581776 581777 588997 589328 589329 589330 589332 591210 591502 591528 591683 591722 591789 591866 592039 592106 592117 592118 592547 592682 593405 593796 594714 596072 596079 596081 596259 596260 596917 597068 597222 597565 598027 598460 599120 599533 600112 600137 600391 600889 602263 602808 602907 603219 603260 605064 605435 606376 607189 607428 607544 607595 608119 609094 609391 610390 610416 610772 611075 611706 613643 613930 614284 614849 615062 615074 615384 615385 616339 616681 617045 617343 619307 619876 620675 620903 620965 621099 621464 621573 622080 623272 623720 624264 624991 624999 625930 626217 626476 626653 626756 626796 626798 626941 627833 627838 628420 628431 628583 628986 629799 629940 631135 631610 632180 632181 632310 634342 634486 635942 636018 636054 636257 637762 638953 639289 639573 640583 640625 641555 643064 644221 644493 645960 646029 647108 647404 647605 647882 648971 649522 649526 650802 650824 650850 651233 653071 654091 654092 654706 654707 654738 655096 655769 655848 657408 657439 657572 658192 659172 659186 659280 660191 660914 661098 661172 661324 661775 661776 662521 663811 663812 663814 663815 664102 665816 668518 669242 669925 670674 670884 671559 671640 672028 672470 672472 672884 673403 673452 673866 674139 674267 674340 674399 675441 675767 676371 677520 678717 682741 682919 684277 684299 699403 699404 699608 699609 699610 699611 699612 699613 699664 699666 699857 700307 700741 700748 700751 700752 700753 700806 700807 700918 701401 701402 701781 701782 701866 702081 717417 718014 718359 718445 718497 718558 718563 718782 718820 719099 719118 719570 719639 720055 720343 720417 720481 720570 720587 720678 720995 721172 721212 721226 721247 721397 721482 721526 721699 721745 721773 721833 721973 722381 722406 722546 722549 722622 722652 722792 723090 723196 723198 723259 723260 723377 723386 723539 723637 723762 723950 724304 724480 724488 724534 724543 724575 724622 725101 728961 728962 729394 729396 729409 729631 729638 732250 733547 733770 752768 753467 756277 757156 761702 761925 764116 764987 765103 765104 765257 765336 766093 766365 766598 767622 767668 768119 768280 769169 770199 770518 770578 770750 771161 771601 771691 771692 771780 771793 771849 772024 772046 772062 772155 772233 772304 772313 772365 790233 796445 807382 807387 873194 876023 876033 883264 885426 888018 888195 889046 889165 890152 890451 890611 890923 891224 891453 891771 891772 891775 891863 892163 892797 893383 893610 893730 893818 896246 896247 897000 901364 908264 908394 908584 908585 908609 910009 912006 912227 912300 912375 912731 913222 914252 915075 915886 915887 915888 917102 917609 917965 918271 919292 919313 919329 919330 919332 936225 936226 939485 947678 947679 947681 949246 949351 949492 950204 950377 950467 950497 950513 950612 950644 950676 951299 952009 953665 959298 962160 962162 962801 963857 964250 964361 965860 965947 966195 966491 966494 967388 968674 969380 969499 969606 971739 971777 972213 972288 973231 982155 982385 982391 982392 982433 991883 1096864 1096917 1097956 1098006 1098050 1099584 1101149 1101239 1121820 1121843 1121876 1136262 1138255 1143638 1143841 1144448 1170018 1170437 1172402 1173041 1173262 1173631 1173721 1173816 1174365 1174587 1174767 1175288 1175386 1175387 1175671 1175732 1175911 1175912 1175913 1258147 1258740 1259583 1259584 1259762 1259855 1260099 1268858 1268859 1274086 1288290 1289967 1289968 1305938 1310603 1310607 1311247 1311576 1311584 1311649 1311759 1311782 1311953 1311954 1311956 1312938 1313610 1318725 1321599 1321600 1321972 1327657 1337354 1365539 1366046 1384115 1433439 1434707 1434716 1434786 1434788 1434875 1434884 1434938 1442487 1448351 1448352 1450068 1450172 1450420 1450814 1451381 1451504 1451731 1451733 1451735 1452593 1454546 1454979 1455454 1455455 1456473 1456819 1458121 1504951 1506089 1506857 1507322 1509524 1510660 1511045 1511552 1512523 1515930 1516564 1516565 1516570 1519402 1527438 1527656 1527657 1527709 1530273 1530430 1530439 1530728 1531073 1533437 1533695 1550070 1550678 1564085 1564124 1566392 1566711 1567235 1567704 1568019 1568028 1569157 1569184 1569647 1570192 1570416 1589846 1589893 1601799 1608641 1609285 1609291 1609321 1609885 1610295 1610447 1610505 1611088 1611393 1611961 1612456 1613919 1614468 1615057 1618088 1620266)\n(73 733 773 921 925 1198 2694 3044 3705 3782 3794 3948 4052 4060 4063 4161 4445 4601 4760 5604 5658 5660 5700 6057 6107 6434 6435 6436 6437 6635 6647 6872 7020 7172 7722 7851 8058 8775 9353 9354 9938 10032 10261 10957 11385 12254 12691 13142 13221 13490 13809 13926 14412 14557 14714 15256 15395 15408 15409 15459 15802 15806 16124 16325 16479 16537 16542 16546 16644 16655 16658 16659 16662 16664 16665 16736 17107 18571 18674 18805 18839 18843 18845 18945 19193 19285 19554 19557 20162 20901 20941 21268 21564 22098 22099 22363 22744 23119 23176 23220 23656 23702 24692 24693 24953 24961 25427 26139 26508 26771 26865 26953 27516 27531 27535 28166 28798 29184 29484 29944 30445 30690 31058 32087 32343 32815 33785 34055 34520 34530 34531 34561 34628 35126 35361 35522 35955 36601 37005 37006 37304 37367 37379 37578 37929 37937 38000 38045 38182 38340 38561 38661 38814 38819 39504 39776 39980 40185 40441 40443 40533 40794 40797 40798 40799 40831 41601 41755 42255 43145 43242 43244 43246 43248 43250 43251 43252 43253 43254 43255 43264 43540 79626 80179 80194 85094 85111 85178 85592 85742 86468 149504 149531 149532 149663 149697 149699 149732 149755 149804 149820 149843 149844 149878 149906 149969 149977 149982 149992 151500 151555 151595 151605 151736 151737 151739 151821 151937 152005 152086 152232 152497 154659 154801 154995 155712 156215 156379 156389 156397 157715 158337 158339 158441 158454 159658 159812 159849 159877 159884 159914 159941 159956 159970 159971 159972 160057 160087 160096 160108 160111 160113 160390 160392 160405 160420 160448 160680 160731 160755 160758 160924 160925 160926 160949 160950 160952 160953 160955 160962 160966 160969 160977 161002 161008 161010 161011 161013 161019 161398 161400 161405 161407 161408 161409 161442 161444 161445 161446 161467 161479 161544 161558 161561 161577 161680 161685 161689 161695 161734 161741 161744 161745 161750 161840 161841 162286 162385 162386 162387 162437 175677 175782 178316 178317 178324 178381 178496 178671 178850 206063 206239 206504 221206 221349 221351 231275 232070 232196 234443 235032 235333 235378 235414 236711 236831 237236 237963 237964 237965 237996 238006 238007 238037 238038 238041 238060 238066 238078 238080 238083 238088 238154 238201 238202 238218 238229 238242 238271 238272 238276 238277 238280 238290 238310 238311 238313 238328 238343 238366 238369 238370 238385 238388 238417 238420 238428 238429 238436 238437 238442 238452 238466 238471 238481 238493 238524 238529 238909 239116 239930 240363 240713 240937 241407 241672 241797 241811 241820 241918 241930 241955 241986 242021 242047 242153 242154 242188 242488 242891 243033 243034 259756 259797 260146 261200 261215 261712 261773 261908 262386 262414 262431 262489 262538 262541 262542 262544 262553 262560 262573 262593 262616 262640 262649 262653 262654 262936 263415 263425 263608 263611 263791 263813 263941 263970 264453 264457 265006 266949 267096 267097 267439 267442 267597 267628 267716 268673 268675 268684 268700 269858 269859 269863 269870 269874 269877 270374 270611 270769 270897 270898 270934 271054 271175 271265 272427 272428 272429 272431 272461 272464 272646 272650 272654 272677 272682 272694 272741 272744 272745 272753 272772 272773 272779 272806 272836 272870 272905 272945 273058 273107 273112 273128 273163 273433 273435 273439 273445 273450 273481 273482 273483 273484 273486 273489 273524 273532 273545 273934 273982 274005 274035 274089 274137 274167 274191 274193 274194 274195 274197 274201 274208 274214 274224 274229 274236 274258 274281 274285 274288 274456 274502 274518 274537 274558 274593 274613 274619 274620 274630 274642 274643 274692 274702 274714 274715 274727 274744 274770 274776 274790 274859 274860 274861 274862 274869 274883 274888 274892 274894 274896 274898 274900 274901 274912 274920 274922 274923 274925 274927 274928 274929 274930 274932 274933 274937 274940 274944 274945 274946 274947 274951 274954 274962 274965 274967 274968 274972 274973 274975 274977 274978 274979 274980 274982 274984 274986 274987 274991 274995 274998 275009 275013 275014 275016 275017 275018 275021 275023 275032 275033 275034 275039 275040 275043 275051 275056 275058 275059 275061 275067 275068 275070 275076 275078 275080 275084 275086 275087 275095 275100 275108 275115 275142 275143 275144 275147 275149 275156 275172 275191 275212 275217 275222 275224 275225 275226 275227 275230 275246 275250 275251 275258 275261 275262 275264 275278 275282 275288 275297 275298 275305 275330 275334 275335 275346 275348 275350 275351 275352 275362 275375 275378 275381 275397 275402 275406 275418 275419 275431 275440 275454 275455 275464 275466 275468 275477 275479 275485 275491 275494 276122 277582 277619 277629 280953 280962 281224 281342 281767 281772 281865 281873 281883 281897 281899 281926 281980 281998 282015 282208 282310 282507 302401 311375 332662 332665 332666 332667 332668 332669 332671 332672 332673 332675 332676 332677 332678 332679 332680 332681 332682 332683 332685 332686 332687 332691 332692 332694 332695 332697 332699 332700 332701 332705 332706 332708 332711 332712 332713 332714 332715 332716 332717 332718 332719 332724 332729 332736 332743 332756 332757 332758 332759 332761 332762 332767 332768 332769 332771 332778 332781 332782 332783 332785 332788 332789 332792 332793 332798 332803 332804 332805 332807 332808 332810 332811 332814 332817 332818 332819 332820 332821 332822 332837 332841 332842 333036 333604 337203 337205 338512 339055 339095 339100 339135 339146 339174 339176 339177 339198 339199 339200 339289 339293 339294 339300 339335 339337 339338 339345 339483 339484 339488 339489 339848 339881 340006 340008 340141 340143 340150 340254 340257 340652 340653 340663 340664 340665 340666 340667 340668 340685 340770 340778 340779 341336 341404 341444 341505 342142 343356 344112 344129 344132 344134 344143 344155 344157 344158 344160 344161 344164 344168 344186 344189 344191 344195 347535 347536 347555 347576 347577 347589 347591 347597 347598 347601 347602 347625 347631 347633 347634 347646 347648 347650 347653 347662 347703 347707 347737 347744 347766 347767 347775 347788 347795 347806 347807 347812 347822 347952 347971 349419 349460 349485 349512 349660 353676 353744 362049 362086 375246 375500 392008 392076 392384 392611 392615 392620 392621 392622 393641 393780 393872 393884 393888 393889 395897 395933 395935 395951 400922 401015 401016 403486 403543 403698 403701 405226 405231 405234 405244 406157 406202 406208 406217 406224 406225 406226 406227 406261 406272 406284 406289 406695 409312 409412 409417 409497 409998 410017 410018 410099 410100 410256 410340 410341 410342 410447 410550 411266 412862 412866 412874 412877 412913 412975 413019 413036 413048 413062 413065 413070 413079 413080 413087 413119 413120 413168 413194 413250 413255 413256 413258 413263 413268 413270 413271 413279 413281 413282 413289 413296 413394 413398 413399 413403 413411 413427 413442 413443 413457 413472 413488 413534 413551 413568 413591 413641 413672 413696 413741 413747 413763 413784 413828 414006 414017 416312 416350 416366 416643 417721 417725 417738 417739 417740 417742 417744 417754 417756 417839 417862 418139 418196 418337 418339 418406 418416 418502 418503 423325 426775 432668 432742 432749 432774 432792 432794 432796 432802 432806 432809 432813 432816 432923 432924 433006 433054 433056 433057 433058 433062 433063 433068 433071 433122 433163 433219 433349 433365 433405 433445 433591 433651 433652 433660 433663 433703 433790 433822 433856 433895 433900 433905 433945 433994 434010 434014 434052 434063 434071 434104 434112 434159 434175 434205 434249 434255 434258 434261 434264 434294 434295 434296 434303 434304 434320 434328 434329 434347 434353 434357 434437 434439 434440 434455 434473 434481 434498 434514 434609 434636 434691 434717 434849 434858 434888 434980 435001 435024 435121 435141 435276 435278 435329 435332 435351 435492 435577 435594 435597 435630 435777 435846 435895 435907 435908 435943 436007 436008 436030 436089 438446 438624 441713 441718 442857 442861 443166 443186 443273 443274 449499 451948 451989 452001 452047 452122 452128 452172 455956 455960 456045 456075 456629 456630 456650 456667 456677 456798 456799 456824 458012 472340 472391 472509 473541 473731 473767 473977 473986 474975 474976 474996 474997 474998 475002 475006 475011 475012 475013 475014 475015 475017 475022 475026 475046 475059 475060 475072 475073 475074 475852 475876 476159 476162 476163 476164 476165 476171 476173 478263 479196 480730 481388 481389 481391 481395 481396 495812 495935 495953 496113 496978 497009 497062 497278 497561 497571 497582 518454 520570 520723 520749 520752 520759 520761 520799 520803 520804 521168 521171 521495 521672 521711 521769 521819 521825 521826 522560 524598 524800 541598 542147 542170 542343 542453 542525 544022 544691 544717 544720 546200 546221 546338 549356 549421 549453 549459 552512 553526 553719 553726 554398 554597 554599 554780 555305 555306 555307 555312 555315 555335 555337 557944 558400 558438 558439 558444 559395 559397 559405 559408 559411 559440 559567 559863 559875 559876 559878 559881 559882 559883 559938 560570 560614 560616 560619 560621 560623 560624 560626 560628 560631 560632 560636 560637 560639 560640 560641 560645 560648 560649 560650 560651 560959 561007 561008 561224 561368 561546 561596 561644 561646 561696 561735 561777 561781 561848 561852 561855 562503 563239 563241 563478 564434 564444 564901 564908 564920 564928 564930 565645 565653 565814 565866 565944 567541 567565 567573 567576 567668 567690 567788 567811 567819 567918 567932 568058 568062 568095 568180 568181 568203 568207 568222 568229 568233 568260 568273 568277 568281 568285 568290 568298 568310 568343 568355 568360 568364 568415 568419 568423 568443 568473 568480 568484 568485 568493 568497 568528 568550 568565 568577 568581 568602 568612 568619 568657 568716 568796 568797 569024 569242 569261 569264 569283 569287 569329 569343 569354 569385 569476 569534 569537 569838 569939 570123 570171 570462 572025 572026 572035 572036 572050 572058 572059 572062 572070 572079 572080 572088 572145 572149 572161 572169 572173 572189 572235 572292 572301 572339 572397 572401 572418 572422 572439 572451 572452 572491 572504 572516 572537 572547 572588 572589 572604 572605 572608 572620 572624 572625 572670 572674 572683 572687 572697 572701 572714 572718 572722 572730 572734 572738 572742 572746 572771 572787 572795 572800 572804 572812 572816 572820 572825 572829 572833 572846 572848 572867 572883 572890 572895 572896 572900 572904 572916 572933 572952 572956 572964 572995 573008 573013 573033 573038 573042 573046 573063 573072 573080 573113 573125 573130 573166 573171 573176 573192 573204 573209 573210 573214 573225 573246 573253 573257 573261 573262 573265 573270 573275 573285 573289 573301 573310 573314 573316 573338 573342 573356 573362 573363 573370 573387 573391 573409 573410 573423 573427 573435 573462 573479 573499 573569 573620 573636 573659 573663 573713 573715 573718 573723 573731 573763 573767 573776 573788 573789 573793 573797 573798 573803 573812 573813 573817 573821 573834 573836 573846 573859 573864 573865 573869 573906 573925 573946 574035 574036 574916 576725 577728 580001 581290 581310 582072 582730 582882 582883 582884 585058 585059 585061 585062 585123 585249 585355 585445 586104 586105 586106 586107 586380 586557 587310 588092 595876 596838 597074 597457 597503 597829 598698 599150 599918 600106 600467 600688 677050 677519 677591 678212 679355 679358 679360 679387 681629 681630 683911 685898 686705 686721 699828 700359 701802 701836 728942 740319 740739 740804 740937 740955 741059 741061 741252 741370 741604 741607 741829 741846 741894 741977 742193 742214 742243 742361 742376 742389 742528 742798 742970 743170 743201 743367 743486 743623 743668 743714 743728 743751 743856 743887 744054 744055 744204 744414 744588 744604 744606 744607 744610 744612 745052 745065 745334 745339 745402 745404 745409 745420 745425 745521 745541 745719 745723 745846 746027 746383 746443 746471 746572 746629 746730 746897 746898 746993 747044 747114 747164 747512 747544 747567 747756 747980 748516 748537 748638 748752 748830 749095 749098 749210 749245 749340 749500 749507 749530 749596 749602 749695 749696 749703 749756 749902 750129 750203 750205 750457 750964 750965 750971 750973 751030 751031 751127 751128 751181 751182 751194 751462 751503 751504 751515 751619 751792 751793 751795 751796 751797 751798 751799 751801 751803 751805 751806 751807 751813 751814 751817 751819 751820 751821 751822 751855 752219 814017 839010 839013 840353 840372 840414 840462 840564 847630 848114 848144 848145 848172 848174 848373 848377 848378 848401 848408 848447 848664 848665 848670 848672 848780 848790 848800 848841 849809 849886 849990 849991 850003 850041 850072 850073 850100 850104 850107 850307 850518 850520 850521 850522 850548 850550 850588 850599 850606 850607 850773 850821 850867 851122 851222 852235 852243 852622 852694 852878 852882 852885 852919 852959 853348 853371 853700 853846 854253 854270 854315 854388 854391 854392 854396 854397 854399 854400 854404 854483 854570 854571 854572 854678 854679 854707 856150 856166 856197 856240 856348 856349 856350 856356 856373 856487 856496 856633 856709 856774 856775 856972 857037 857457 857503 858341 858964 859327 859720 859872 859903 860332 860445 860533 860558 860587 860588 863170 865505 867032 867690 867698 867949 868453 868455 868457 868469 868471 868474 868541 869330 870679 871544 876926 876994 877070 877106 877129 877237 877238 877271 877305 877377 877583 878589 879537 919589 919622 919872 919874 919882 919883 919916 919918 919938 919939 919947 920004 920060 920165 920224 920225 920566 947977 948020 948046 948276 948416 948669 948693 948765 948808 948816 948817 948972 949042 1095927 1096035 1096052 1096106 1096124 1096151 1096176 1096227 1096267 1096282 1096290 1096291 1096292 1096297 1096343 1096460 1096559 1096563 1096630 1096659 1096723 1112200 1112251 1112259 1112322 1112353 1112363 1112423 1112635 1112727 1135812 1136202 1141881 1142072 1142159 1142258 1142379 1142575 1148522 1167686 1167763 1167839 1167868 1167870 1168165 1257970 1261223 1262018 1262036 1262285 1264014 1264038 1264238 1264274 1264291 1264421 1264527 1265635 1265636 1265637 1265638 1265642 1265651 1265656 1265657 1265658 1265659 1265660 1265661 1265662 1265663 1265664 1265678 1265680 1265682 1265688 1265690 1268574 1271495 1271990 1272590 1272591 1272620 1272711 1272712 1272774 1272775 1274555 1274569 1274584 1274589 1274591 1274662 1274907 1274913 1275026 1275038 1275806 1276099 1279235 1279559 1282201 1282311 1282312 1283106 1283209 1283298 1289915 1290775 1290848 1299226 1299607 1299612 1299699 1299982 1301266 1301659 1301685 1301836 1301900 1301940 1302713 1302752 1302810 1302852 1304045 1304054 1304055 1305215 1305774 1305873 1305972 1306570 1306793 1306873 1313880 1318747 1318998 1320119 1320690 1320736 1321087 1321307 1321896 1328362 1328364 1328411 1328538 1328582 1328749 1335660 1337069 1363854 1367049 1367166 1368081 1370867 1373210 1373222 1378696 1384489 1386081 1389211 1398738 1400354 1402215 1402616 1403788 1405500 1405860 1408542 1411294 1442982 1443027 1443031 1443904 1443942 1444172 1456530 1456556 1456565 1456574 1504340 1504383 1504411 1504415 1504465 1504487 1504534 1504543 1504578 1504598 1504600 1504602 1504603 1510432 1510467 1510518 1510590 1516454 1516456 1516457 1527225 1532407 1533166 1533618 1535880 1535894 1535895 1535897 1535972 1535973 1536065 1536084 1536140 1536158 1536244 1536503 1536743 1541830 1556061 1558210 1559012 1562000 1562170 1562426 1562639 1563220 1564560 1608397 1608405 1608950 1608970 1611168 1611188 1611742 1619701 1619732 1619736)\n(74 722 723 2045 2867 3115 4171 4360 5353 5358 5360 5362 5504 5810 5990 5998 6002 6003 6206 6347 7306 7320 7379 8059 8962 9458 9491 9612 9797 10101 10234 10235 10478 11005 11114 11131 11412 11928 12108 12110 12113 12157 12723 13109 13113 13554 13849 13958 14095 14622 14721 15324 15730 16538 16590 16593 16711 16997 17322 17500 17594 18017 18107 18623 18700 18739 18761 19665 19972 19980 21194 21428 21504 21822 22396 22752 23681 23682 23683 23707 23866 23868 23965 24681 24763 24779 24970 25089 25102 25116 25141 25663 25664 25953 26320 26336 26338 26339 26340 26341 26343 26344 26346 26347 26348 26350 26601 26620 26867 27029 27143 27365 27458 27988 27989 28275 28694 28885 29038 29941 30208 30258 31082 31334 32338 32670 32675 32681 32702 32919 33107 33430 33489 33519 33746 33824 33886 33906 34036 34394 34546 34601 34607 34676 34869 34922 34975 35002 35026 35174 36150 36611 37585 37589 38199 38208 38545 39154 39712 39828 40224 40227 40604 40712 42117 42926 43010 43177 79004 79090 79150 79198 79199 79252 79305 79463 79617 79630 79815 79849 80277 85095 85291 85519 85562 85567 85970 85973 86104 86105 86272 86635 86724 86960 150098 150641 150824 162443 162586 162587 162588 162778 162791 162793 178476 178732 178742 180070 180292 206032 206034 206040 206166 206616 220807 220901 220941 220965 237669 237892 237913 237959 242356 242400 242456 242476 242482 242575 242653 242804 242887 242888 243161 262798 262846 262853 262877 262900 282111 282300 282354 282413 282439 282441 282448 282451 282476 282503 282573 282574 282655 332522 332710 338370 376392 376429 376478 376553 376554 376584 376648 376656 376658 376686 376689 392341 392366 421560 422392 424933 427626 439062 439067 439070 439071 439079 439080 439094 439095 439098 439099 439101 439114 441734 441748 441761 441763 441764 441766 441767 441771 441776 441777 441779 441780 441781 441782 441783 441785 441786 441789 441792 441793 441796 441802 441804 441806 441807 441808 441814 441833 441841 441842 441844 441845 441846 441847 441848 441849 441851 441852 441853 441854 441855 441856 441857 441859 441861 441862 441863 441865 441866 441867 441868 441869 441870 441876 441877 441886 441887 441888 441889 441926 441927 442015 442711 442982 442989 442997 442998 442999 443000 443004 443006 443007 443008 443011 443012 443013 443021 443023 443026 443030 443037 443038 443041 443046 443047 443048 443058 443060 443070 443147 443159 443333 444592 444597 444748 444751 444759 444760 444770 444826 444835 444846 444872 444880 444929 444934 444974 444990 444996 445147 445148 445159 445241 445244 445256 445261 445270 445272 445282 445284 445314 445329 445332 445339 445349 445366 445385 445390 445392 445416 445420 445425 445426 445428 445430 445432 445434 445440 445441 445444 445451 445453 445454 445458 445459 445460 445463 445465 445466 445469 445471 445473 445485 445491 445492 445494 445497 445498 445500 445505 445507 445508 445511 445512 445513 445514 445519 445525 445533 445536 445543 445545 445546 445552 445555 445562 445566 445568 445569 445573 445575 445576 445578 445586 445587 445593 445594 445599 445604 445606 445617 449309 449364 449379 449394 449494 449537 449543 449544 449545 449547 449549 449555 449562 449568 449570 449572 449832 449855 449859 449861 449935 449938 449943 450074 450175 450345 450352 450354 450365 450366 450374 450378 450379 450454 450981 450984 450985 450990 451013 451030 451055 451085 451119 451152 451158 451162 451203 451208 451209 451214 451267 451297 451298 451299 451306 451308 451318 451370 451373 451394 451405 451416 451476 451503 451514 451524 451547 451548 451575 451592 451593 456178 456387 456532 456533 456603 456771 456774 456865 457007 457155 457165 457166 457429 457972 458261 459471 460109 470166 475267 475270 475273 475285 475329 475506 476169 518886 518895 518899 524787 525070 542548 542560 543487 556658 559832 559858 559859 559870 559894 565965 580025 580264 580265 580267 580272 580278 580279 580353 580543 582675 582677 585112 586103 589611 592502 592503 596355 596492 596657 596899 597132 597171 597204 597479 597556 597651 597842 597916 598139 598211 598214 599776 600115 600281 600552 600659 678932 679195 679227 679228 679229 679230 679579 679584 679604 679622 679686 679710 679712 679713 679714 679715 679716 679717 679722 679845 679853 679918 679919 679933 679942 680532 680744 680804 680807 680906 680942 681068 681230 681246 681251 681258 681260 681267 681272 681278 681280 681285 681288 681290 681295 681296 681304 681317 681320 681363 681406 681427 681431 681437 681439 681440 681442 681455 681460 681465 681477 681486 681489 681490 681493 681494 681520 681702 681842 681887 681889 681906 681944 681945 683312 683326 683327 683432 683434 683436 683438 683450 683454 683455 683456 683457 683461 683462 683473 683736 683826 683859 683860 683861 683862 683864 683865 683866 683878 683887 683956 683957 684224 684240 684258 687114 687688 687699 699794 699920 699956 701813 701887 702195 729297 729604 729611 729619 729699 729706 730461 730463 743221 805443 805701 807321 809418 814036 814113 814184 814195 814199 814202 814206 814208 814210 814215 814216 814226 814227 814229 814230 814244 814253 814254 814436 814524 814794 814798 814903 814929 815301 815319 815320 868995 868996 870098 870131 870205 870266 870314 870393 870470 870536 870558 870592 870634 870660 870661 870733 870753 870775 870794 870845 870912 870944 870951 870965 870967 870980 871009 871028 871032 871057 871073 871082 871158 871163 871206 871207 871290 871337 871453 871459 871464 871468 871472 871495 871509 871516 871565 871584 871608 871643 871699 871723 871752 871833 871863 871907 871946 871955 871957 872020 872075 872179 872238 872249 872356 872363 876906 876929 876936 887933 887962 918012 920316 920317 920318 920410 920429 920465 920476 920631 936085 936090 949214 950133 950135 950137 950139 950140 950141 950143 969625 971869 1135584 1135938 1136256 1136257 1136258 1136259 1136322 1136323 1136324 1137104 1137105 1137111 1137112 1138431 1138432 1138831 1140097 1140111 1140118 1140130 1140148 1140168 1253949 1254345 1256739 1256743 1269801 1272745 1279853 1285521 1299495 1299496 1301860 1314970 1314971 1322973 1384505 1449618 1450294 1510533 1510611 1511035 1511297 1511326 1511503 1511507 1511728 1511905 1512022 1512348 1512484 1512759 1512892 1512894 1513010 1513894 1514227 1514231 1514292 1514956 1516606 1516642 1516728 1517503 1518471 1518475 1518848 1519135 1519136 1519505 1519506 1521744 1521800 1522535 1526951 1526952 1526966 1537070 1546536 1546542 1546548 1546552 1546573 1546581 1546583 1546605 1546628 1546641 1546658 1546667 1546716 1546724 1546726 1546730 1546733 1546749 1546766 1546794 1547243 1547247 1547258 1547460 1547937 1547946 1547956 1548378 1548684 1548686 1548700 1548702 1548703 1548711 1549024 1549439 1549807 1549810 1549875 1549876 1549887 1549960 1549992 1550186 1550196 1550214 1550220 1552809 1554037 1555446 1556002 1608931 1609987 1619682)\n(75 879 881 890 892 1692 2642 2826 2830 3000 3077 3096 3121 3455 3562 3577 3704 3831 3898 3903 3951 3953 3954 3955 4347 4572 4573 4574 4693 4694 4757 4913 4923 5145 5546 5678 5707 6096 6316 6328 6372 6390 6496 6638 6884 6896 6898 7747 7892 8108 8135 8781 8785 8807 8894 9022 9182 9208 9222 9276 10260 10284 10336 10395 10419 10444 10446 10679 10979 11595 11596 12103 12104 12106 12117 12120 12146 12470 12481 12516 12518 12563 12564 12578 12600 12601 13102 13138 13139 13501 13506 13507 13510 13511 13512 13513 13739 14165 14321 14323 15154 15155 15169 15184 15452 15629 15646 15648 15653 15657 16091 16228 16386 17534 17535 18008 18010 18012 18070 18083 18087 18211 18288 18410 18468 18472 18478 18492 18607 18608 18882 18893 18992 19157 19387 19418 19419 19545 19938 19945 20045 20222 20414 20415 21573 21585 21948 22253 22254 22255 22381 22787 23047 23209 23270 23271 23272 23273 23274 23276 23277 23280 23338 23353 23356 23635 23721 23923 23924 23932 23955 24175 24201 24632 24756 24757 24760 24893 25238 25441 25482 25502 25531 25582 25980 26074 26231 26391 26423 26584 26593 26817 26871 27144 27146 27154 27320 27321 27322 27526 27581 27584 27586 28110 28434 28737 28831 28888 28999 29000 29107 29108 29109 29111 29361 29470 30102 30104 30334 30425 30426 30448 30461 30462 30498 30760 31056 31130 31549 31799 31800 32068 32071 32148 32149 32150 32151 32153 32154 32155 32211 32444 32699 32909 33739 33888 34120 34636 34920 35407 35408 35494 35873 36227 36230 36315 36316 36317 36319 36321 36451 36475 36483 36485 36488 36714 37017 37119 37162 37204 37378 37755 37756 37913 37969 37980 37988 38038 38078 38185 38371 38460 38461 38462 38466 38641 39125 39243 39249 39251 39511 39679 39680 39686 39754 39755 40203 40523 40550 40551 40552 40556 40557 40818 40871 40872 40882 40891 40892 40913 40919 40920 40922 40946 40949 40950 40955 40957 41122 41164 41171 41215 41217 41218 41219 41220 41221 41223 41226 41263 41392 41393 41438 41439 41646 42056 43041 43072 43272 43399 43423 43530 85244 85316 85317 85319 85320 85321 85322 85323 85324 85325 85326 85327 85328 85329 85330 85334 85335 85337 85338 85339 85341 85343 85344 85345 85349 85350 85351 85353 85354 85356 85357 85359 85360 85361 85363 85364 85366 85367 85368 85369 85370 85373 85906 86149 86194 86534 86535 86538 86539 86643 162313 162314 162324 162328 162364 162372 162414 162440 162600 162601 162603 162604 162605 162606 162607 162609 162610 162611 162613 162614 162615 162616 162618 162620 175966 175991 175994 178439 178442 206741 221085 242223 242250 242619 242620 242626 242627 242639 242906 242907 259942 260163 260311 277431 282508 282509 282510 282511 320223 320224 320225 320226 320227 320231 320233 320235 320239 320240 320243 320245 320247 320248 320251 320252 320254 320256 320267 320268 320270 320271 320273 320275 320277 320279 320280 320281 320287 320293 320294 320297 320301 320305 320307 320310 320312 320313 320314 320316 320317 320318 320323 320327 320328 320329 320332 320345 320357 320358 320359 320364 320367 320369 320370 320371 320388 320390 320391 320393 320400 320401 320406 320409 320411 320413 320414 320420 320421 320422 320423 320424 320425 320426 320435 320442 320448 320450 320451 320452 320457 320458 320459 320460 320461 320465 320469 320471 320472 320478 320480 320481 320483 320484 320486 320487 320488 320489 320490 320491 320492 320495 320497 320499 320500 320501 320502 320504 320505 320507 320509 320510 320511 320514 320518 320519 320520 320522 320523 320524 320527 320530 320534 320539 320540 320549 320554 320560 320564 320579 320584 320585 320589 320591 320592 320595 320601 320617 320620 320621 320624 320626 320627 320630 320633 320635 320636 320637 320638 320639 320640 320641 320642 320646 320647 320649 320653 320654 320655 320660 320661 320662 320668 320673 320675 320676 320684 320685 320686 320687 320689 320693 320694 320695 320701 320702 320704 320706 320707 320710 320711 320716 320717 320720 320721 320725 320726 320727 320729 320730 320731 320732 320736 320737 320739 320741 320742 320743 320744 320745 320746 320748 320750 320751 320752 320757 320758 320759 320762 320765 320768 320769 320770 320771 320773 320774 320775 320776 320778 320779 320783 320785 320786 320788 320789 320790 320792 320795 320796 320797 320798 320800 320804 320806 320807 320809 320810 320811 320812 320813 320814 320815 320816 320817 320818 320819 320821 320822 320824 320827 320830 320831 320834 320835 320836 320837 320839 320840 320842 320843 320844 320847 320848 320849 320855 320856 320871 320872 320873 320874 320875 320877 320878 320879 320898 320906 320907 320908 320909 320911 320912 320915 320917 320919 320921 320922 320923 320936 320937 320938 320941 320948 320950 320952 320955 320957 320958 320962 320963 320967 320973 320974 320983 320985 320986 320987 320991 320992 320993 320994 320997 320998 320999 321000 321002 321013 321014 321015 321016 321027 321029 321030 321031 321033 321034 321038 321039 321040 321041 321045 321049 321050 321055 321056 321059 321060 321064 321066 321067 321070 321071 321072 321073 321075 321079 321080 321093 321094 321095 321096 321097 321098 321099 321100 321109 321110 321111 321113 321124 321126 321127 321130 321133 321141 321143 321144 321145 321148 321151 321163 321167 321169 321174 321175 321176 321177 321179 321180 321181 321186 321187 321189 321192 321193 321194 321195 321196 321197 321198 321200 321201 321202 321205 321208 321214 321215 321216 321217 321220 321222 321224 321225 321227 321229 321230 321231 321232 321238 321239 321240 321241 321243 321244 321251 321253 321255 321256 321258 321259 321263 321264 321268 321269 321270 321277 321281 321282 321283 321285 321286 321287 321294 321296 321300 321302 321303 321308 321310 321311 321313 321315 321316 321317 321321 321322 321324 321330 321331 321333 321334 321335 321338 321339 321340 321341 321347 321352 321353 321354 321355 321356 321362 321367 321368 321369 321370 321371 321375 321377 321378 321380 321382 321383 321384 321385 321387 321388 321389 321394 321395 321396 321398 321399 321401 321402 321409 321410 321417 321418 321419 321421 321426 321427 321430 321432 321434 321435 321436 321437 321439 321440 321441 321442 321443 321446 321448 321449 321451 321452 321453 321454 321455 321457 321458 321459 321460 321463 321466 321467 321471 321472 321474 321475 321477 321478 321479 321481 321486 321487 321493 321498 321499 321504 321508 321512 321514 321515 321516 321517 321518 321519 321529 321531 321535 321536 321539 321542 321545 321547 321551 321554 321556 321561 321563 321565 321566 321568 321579 321581 321583 321584 321588 321589 321591 321593 321594 321595 321596 321597 321598 321604 321606 321607 321609 321611 321612 321613 321614 321618 321619 321622 321626 321633 321636 321637 321639 321641 321643 321644 321645 321646 321647 321648 321649 321652 321653 321655 321657 321660 321665 321667 321668 321669 321670 321671 321672 321673 321674 321675 321680 321681 321682 321686 321688 321689 321696 321698 321706 321707 321709 321711 321712 321713 321714 321722 321723 321737 321738 321740 321741 321743 321745 321749 321752 321753 321760 321763 321765 321767 321774 321775 321779 321780 321784 321786 321792 321793 321794 321795 321799 321800 321801 321803 321804 321805 321807 321809 321813 321816 321818 321825 321826 321828 321832 321833 321834 321835 321836 321839 321841 321846 321847 321850 321852 321854 321855 321859 321860 321861 321862 321863 321864 321866 321867 321869 321871 321872 321874 321876 321877 321881 321889 321890 321896 321906 321907 321919 321921 321922 321925 321928 321930 321932 321933 321934 321936 321937 321939 321943 321944 321945 321946 321948 321951 321959 321961 321966 321968 321970 321971 321976 321979 321980 321981 321984 321985 321986 321987 321988 321989 321990 321996 321998 321999 322000 322004 322005 322008 322012 322015 322017 322018 322019 322020 322022 322030 322034 322037 322038 322039 322040 322045 322047 322048 322049 322050 322055 322060 322061 322062 322064 322067 322068 322069 322072 322078 322079 322082 322084 322086 322087 322092 322094 322097 322100 322101 322102 322104 322105 322106 322107 322109 322110 322111 322120 322122 322128 322135 322136 322140 322142 322143 322145 322146 322149 322150 322151 322153 322154 322159 322161 322162 322171 322177 322178 322179 322181 322182 322185 322186 322188 322189 322190 322193 322194 322195 322196 322197 322200 322201 322211 322216 322217 322224 322225 322226 322228 322230 322231 322232 322233 322234 322235 322236 322237 322239 322240 322243 322253 322255 322260 322264 322265 322266 322269 322270 322271 322272 322280 322281 322283 322285 322287 322289 322291 322298 322300 322301 322303 322306 322307 322308 322310 322314 322318 322320 322321 322323 322324 322325 322327 322329 322330 322332 322333 322336 322337 322339 322340 322342 322343 322344 322345 322347 322350 322351 322355 322356 322358 322359 322363 322368 322374 322378 322379 322380 322385 322388 322390 322392 322393 322394 322398 322399 322401 322404 322405 322407 322408 322414 322416 322417 322418 322420 322422 322424 322425 322426 322428 322433 322435 322437 322442 322444 322449 322451 322454 322455 322456 322458 322462 322473 322474 322478 322479 322481 322492 322493 322494 322495 322496 322497 322498 322502 322503 322504 322505 322506 322507 322510 322512 322513 322514 322515 322516 322520 322523 322524 322525 322527 322528 322530 322531 322532 322533 322534 322537 322546 322547 322548 322554 322555 322556 322557 322562 322563 322567 322572 322573 322575 322576 322578 322580 322582 322586 322588 322589 322590 322591 322592 322593 322594 322595 322598 322600 322602 322611 322612 322613 322614 322615 322616 322622 322623 322624 322625 322626 322627 322630 322635 322638 322639 322640 322641 322642 322643 322644 322647 322651 322652 322653 322654 322655 322657 322658 322660 322661 322671 322673 322674 322677 322681 322682 322683 322685 322686 322687 322688 322689 322690 322695 322697 322699 322700 322702 322703 322704 322705 322706 322707 322708 322710 322714 322715 322717 322720 322722 322724 322725 322726 322728 322729 322730 322732 322735 322738 322739 322744 322745 322746 322747 322748 322749 322750 322751 322752 322754 322755 322757 322758 322759 322761 322763 322764 322767 322768 322770 322774 322775 322776 322780 322782 322783 322784 322785 322793 322797 322798 322801 322802 322803 322804 322805 322806 322807 322808 322810 322811 322813 322814 322815 322816 322817 322818 322819 322820 322821 322822 322823 322825 322827 322828 322829 322830 322831 322832 322833 322834 322835 322836 322837 322838 322840 322842 322844 322846 322847 322848 322849 322851 322853 322855 322857 322859 322860 322861 322862 322866 322868 322869 322870 322871 322873 322874 322878 322880 322881 322883 322884 322885 322888 322889 322890 322891 322892 322893 322897 322898 322899 322900 322902 322904 322905 322907 322908 322909 322910 322912 322913 322915 322916 322917 322918 322922 322925 322926 322927 322928 322929 322930 322933 322934 322935 322936 322937 322938 322939 322940 322941 322943 322944 322945 322946 322947 322948 322949 322950 322952 322953 322955 322956 322962 322964 322965 322966 322967 322968 322969 322971 322972 322973 322974 322975 322976 322977 322979 322980 322981 322982 322983 322985 322988 322990 322993 322996 323001 323002 323007 323008 323013 323015 323019 323028 323031 323032 323037 323038 323041 323042 323044 323045 323046 323048 323054 323058 323062 323066 323068 323069 323070 323075 323077 323079 323080 323082 323084 323088 323091 323092 323093 323094 323096 323097 323098 323099 323100 323101 323105 323106 323107 323110 323116 323117 323120 323121 323122 323124 323126 323127 323129 323130 323133 323134 323136 323139 323140 323141 323142 323143 323144 323145 323146 323147 323148 323149 323152 323155 323156 323157 323158 323159 323163 323166 323167 323168 323169 323170 323171 323172 323178 323179 323180 323181 323182 323183 323184 323186 323189 323191 323195 323196 323198 323199 323200 323201 323203 323204 323205 323206 323207 323208 323212 323215 323216 323218 323219 323220 323221 323222 323223 323224 323225 323226 323227 323228 323229 323230 323232 323233 323235 323236 323238 323240 323245 323247 323252 323256 323259 323262 323263 323264 323265 323269 323275 323279 323284 323288 323289 323292 323293 323296 323297 323298 323300 323308 323309 323311 323312 323315 323319 323320 323331 323333 323334 323336 323337 323346 323350 323351 323352 323353 323354 323355 323356 323357 323359 323360 323362 323363 323365 323368 323370 323371 323372 323373 323374 323375 323376 323378 323379 323380 323383 323387 323388 323389 323395 323402 323403 323405 323406 323407 323408 323409 323410 323411 323412 323415 323417 323418 323419 323421 323423 323424 323431 323432 323433 323434 323435 323436 323437 323438 323439 323441 323442 323443 323444 323445 323448 323449 323452 323454 323455 323457 323458 323463 323464 323465 323467 323468 323469 323470 323471 323473 323474 323475 323476 323479 323480 323483 323484 323485 323486 323487 323488 323492 323493 323494 323495 323497 323498 323499 323500 323501 323502 323503 323505 323507 323508 323510 323511 323512 323513 323514 323515 323516 323517 323520 323524 323526 323528 323529 323530 323531 323533 323534 323535 323536 323537 323539 323541 323542 323543 323544 323546 323547 323550 323552 323553 323556 323557 323559 323560 323562 323565 323566 323569 323573 323576 323583 323584 323585 323587 323588 323590 323591 323592 323601 323612 323618 323619 323621 323623 323625 323627 323628 323629 323630 323631 323632 323634 323636 323638 323639 323640 323642 323644 323645 323646 323647 323648 323649 323650 323651 323654 323657 323658 323659 323661 323662 323663 323664 323665 323666 323667 323668 323669 323672 323673 323674 323676 323677 323680 323683 323684 323685 323686 323689 323696 323697 323707 323708 323712 323716 323719 323720 323721 323722 323723 323724 323725 323727 323728 323729 323733 323734 323735 323737 323738 323739 323740 323742 323743 323747 323748 323749 323750 323751 323753 323754 323755 323757 323758 323759 323760 323762 323763 323767 323769 323774 323775 323778 323779 323781 323783 323786 323788 323789 323790 323791 323793 323795 323797 323798 323800 323801 323805 323806 323808 323809 323810 323813 323815 323819 323820 323823 323825 323829 323831 323832 323833 323835 323841 323842 323845 323847 323848 323852 323853 323855 323856 323862 323863 323864 323870 323872 323874 323877 323880 323893 323894 323895 323897 323899 323900 323903 323909 323911 323912 323913 323916 323917 323919 323920 323924 323927 323928 323930 323934 323936 323937 323942 323945 323946 323949 323951 323955 323961 323963 323964 323965 323968 323976 323977 323979 323980 323981 323982 323984 323985 323987 323988 323992 323994 323998 324002 324003 324004 324005 324007 324008 324013 324023 324024 324025 324026 324027 324028 324029 324030 324031 324033 324034 324038 326967 344033 348085 376391 392200 411280 442889 444285 444286 444288 444289 444529 444659 444665 446186 446187 446188 446190 446191 446195 446196 446198 446202 446205 446207 446312 446313 446315 446317 446319 446320 446324 446326 446329 446332 446337 446339 446341 446342 446343 446344 446348 446349 446350 446352 446353 446355 446357 446360 446361 446362 446365 446373 446374 450244 450246 450247 450248 450259 453050 475418 521069 521081 521082 522429 522430 522431 522432 522433 522434 522435 522438 522439 522440 522444 522445 522448 522449 522450 524624 524657 524658 524659 524676 524677 524678 542270 543460 544262 544265 544267 544268 546885 553251 553540 555953 561832 561854 561861 561887 561898 561911 561917 561932 562629 562630 562633 562634 562636 562648 562653 562655 562656 562676 562677 562678 562683 562684 562685 562686 562687 562688 562700 563094 563095 563200 563297 563298 563299 563318 563455 563456 563458 563462 563463 563464 563465 563466 563601 576447 579183 581969 581971 581972 581974 581977 585165 585170 585180 585181 585182 585487 585488 589472 589491 589492 589625 596106 596222 596695 597334 597896 597910 598107 598163 598164 598191 598238 598239 598247 598299 598324 598342 598343 598344 598488 598489 598637 598700 598701 598741 598804 598806 598808 598809 598923 599152 599385 599393 599394 599456 599467 599468 599572 599577 599688 599769 599795 600159 600160 600167 600184 600185 600186 600187 600188 600189 600211 600226 600227 600230 600231 600232 600233 600234 600235 600236 600237 600238 600239 600240 600263 600264 600285 600286 600355 600450 600451 678246 682473 682499 682500 686882 686887 686889 686890 686891 700131 740008 809680 871809 884188 887843 887844 887845 887854 916754 917787 946597 946622 946666 946714 946717 946896 947565 949449 949450 949652 993554 993565 994381 994382 995129 996768 997724 997727 997729 997730 997731 997733 997734 997736 997737 997738 997740 997741 997742 997743 997744 997746 997747 997748 997750 997753 997755 997757 997758 997760 997761 997762 997763 997764 997765 997766 997767 997769 997770 997771 997772 997773 997775 997776 997783 997784 997786 997788 997790 997793 997796 997801 997803 997804 997805 997809 997810 997811 997812 997813 997814 997816 997817 997818 997820 997821 997822 997824 997831 997832 997833 997834 997835 997837 997838 997840 997841 997842 997846 997847 997848 997850 997851 997852 997854 997855 997856 997858 997859 997861 997862 997864 997865 997867 997868 997870 997871 997875 997876 997877 997878 997879 997880 997883 997886 997887 997888 997890 997891 997892 997893 997894 997896 997897 997898 997899 997900 997901 997902 997904 997906 997908 997909 997911 997912 997913 997914 997915 997916 997917 997919 997920 997922 997923 997924 997925 997926 997929 997934 997935 997936 997937 997940 997942 997947 997949 997950 997951 997953 997955 997957 997958 997959 997961 997964 997965 997969 997970 997971 997972 997974 997976 997978 997979 997981 997982 997983 997984 997985 997986 997987 997988 997989 997990 997991 997993 997994 997995 997996 997997 997998 997999 998000 998001 998002 998003 998004 998005 998006 998008 998010 998011 998012 998013 998014 998017 998018 998019 998020 998021 998022 998023 998025 998028 998029 998030 998031 998032 998033 998034 998035 998036 998037 998038 998039 998040 998041 998042 998043 998044 998045 998046 998049 998050 998054 998056 998058 998060 998061 998062 998064 998065 998066 998067 998068 998069 998072 998075 998076 998077 998080 998081 998082 998083 998084 998085 998087 998088 998089 998091 998092 998093 998094 998095 998096 998097 998099 998100 998101 998103 998104 998106 998109 998110 998112 998114 998116 998118 998119 998120 998121 998122 998123 998124 998125 998126 998127 998128 998129 998130 998131 998132 998133 998134 998136 998138 998139 998140 998141 998142 998143 998144 998145 998146 998147 998148 998151 998152 998153 998154 998155 998156 998157 998158 998159 998160 998161 998162 998163 998164 998165 998166 998167 998168 998170 998171 998173 998174 998175 998176 998177 998178 998179 998181 998182 998183 998184 998185 998193 998194 998195 998197 998198 998199 998200 998201 998202 998203 998204 998205 998206 998207 998208 998210 998211 998212 998213 998214 998215 998216 998218 998219 998220 998221 998222 998223 998224 998225 998226 998228 998229 998231 998232 998234 998235 998236 998237 998238 998239 998240 998242 998243 998244 998246 998247 998248 998249 998250 998251 998252 998253 998255 998256 998257 998259 998260 998262 998266 998267 998268 998269 998270 998271 998272 998273 998274 998276 998277 998278 998279 998281 998285 998286 998288 998292 998295 998299 998305 998306 998307 998308 998316 998318 998319 998322 998323 998324 998325 998326 998328 998330 998332 998333 998334 998336 998337 998338 998340 998341 998342 998343 998344 998346 998347 998348 998350 998352 998353 998354 998355 998356 998357 998358 998359 998360 998361 998362 998363 998364 998365 998367 998370 998372 998376 998377 998378 998379 998381 998382 998383 998384 998385 998386 998387 998388 998389 998390 998391 998392 998393 998394 998395 998397 998398 998399 998401 998402 998403 998404 998406 998407 998408 998409 998410 998411 998412 998413 998414 998415 998416 998417 998418 998419 998420 998421 998422 998425 998426 998427 998428 998430 998431 998432 998433 998434 998436 998437 998438 998439 998442 998444 998445 998447 998448 998450 998451 998452 998453 998454 998455 998457 998458 998459 998461 998462 998463 998464 998465 998466 998467 998468 998469 998470 998471 998472 998473 998475 998476 998477 998479 998480 998481 998483 998484 998485 998486 998487 998488 998489 998490 998491 998492 998494 998496 998497 998498 998499 998500 998505 998507 998508 998509 998510 998511 998512 998519 998523 998526 998528 998529 998530 998531 998536 998538 998539 998543 998545 998550 998552 998555 998556 998557 998559 998560 998563 998566 998567 998568 998569 998570 998571 998573 998576 998577 998578 998579 998580 998581 998582 998583 998584 998585 998586 998587 998588 998590 998591 998593 998594 998596 998598 998599 998601 998602 998606 998607 998608 998611 998612 998613 998614 998616 998617 998618 998620 998622 998623 998625 998628 998629 998630 998631 998632 998633 998635 998637 998638 998642 998643 998644 998646 998649 998650 998651 998652 998653 998655 998656 998657 998658 998659 998660 998661 998662 998663 998665 998668 998670 998673 998675 998676 998677 998678 998679 998680 998681 998682 998687 998688 998689 998691 998692 998693 998694 998696 998698 998700 998701 998702 998703 998704 998705 998706 998707 998708 998710 998712 998713 998714 998715 998716 998718 998719 998720 998721 998722 998726 998727 998728 998731 998734 998736 998737 998738 998741 998742 998743 998745 998746 998747 998748 998750 998751 998752 998753 998754 999733 999734 999735 999736 999737 999739 999740 999741 999744 999745 999747 999748 999750 999752 999753 999754 999755 999756 999757 999758 1000475 1000476 1000477 1000478 1000479 1000480 1000486 1000491 1000492 1000493 1000495 1000496 1000501 1000502 1000503 1000511 1000516 1000523 1000526 1000531 1000536 1000537 1000548 1000561 1000562 1000564 1000565 1000566 1000577 1000581 1000586 1000592 1000593 1000611 1000613 1000620 1000621 1000640 1000641 1000665 1000666 1000692 1000693 1000736 1000759 1000774 1000783 1000784 1000795 1000796 1000797 1000807 1000813 1000814 1000839 1001271 1001462 1001463 1001466 1001467 1001469 1001470 1001472 1001473 1001474 1001475 1001478 1001480 1001481 1001482 1001484 1001485 1001487 1001488 1001489 1001492 1001496 1001497 1001498 1001499 1001500 1001501 1001505 1001506 1001507 1001509 1001512 1001516 1001518 1001522 1001525 1001529 1001532 1001534 1001536 1001537 1001540 1001543 1001546 1001549 1001551 1001556 1001559 1001560 1001562 1001563 1001565 1001566 1001567 1001569 1001571 1001572 1001576 1001578 1001579 1001581 1001727 1001729 1001731 1001734 1001735 1001736 1001737 1001739 1001740 1001741 1001742 1001743 1001747 1001749 1001752 1001754 1001755 1001759 1001766 1001774 1001775 1001779 1001781 1001783 1001784 1001785 1001786 1001787 1001789 1001790 1001791 1001800 1001805 1001806 1001807 1001808 1001810 1001811 1001812 1001838 1001839 1001840 1001841 1001843 1001850 1001851 1001853 1001854 1001855 1001993 1001994 1001997 1002114 1002115 1002116 1002117 1002118 1002133 1002141 1002142 1002143 1002144 1002150 1002151 1002152 1002153 1002158 1002159 1002160 1002162 1002163 1002169 1002171 1002172 1002174 1002175 1002180 1002186 1002187 1002282 1002283 1002284 1002285 1002287 1002394 1002396 1002398 1002399 1002400 1002402 1002403 1002406 1002407 1002410 1002413 1002414 1002417 1002418 1002422 1002424 1002427 1002428 1002429 1002497 1002498 1002501 1002502 1002504 1002505 1002515 1002519 1002520 1002814 1002835 1002929 1002931 1002933 1002935 1002937 1002938 1002939 1002949 1002950 1002951 1002952 1002953 1002956 1002957 1002959 1002963 1002966 1002972 1002974 1002975 1002976 1002983 1002986 1002994 1002998 1003000 1003001 1003002 1003004 1003005 1003007 1003008 1003009 1003010 1003011 1003012 1003013 1003015 1003017 1003018 1003019 1003020 1003031 1003036 1003043 1003052 1003053 1003071 1003084 1003089 1003090 1003092 1003099 1003100 1003101 1003104 1003113 1003117 1003124 1003127 1003129 1003132 1003133 1003134 1003135 1003137 1003138 1003139 1003140 1003141 1003142 1003145 1003146 1003147 1003152 1003153 1003154 1003162 1003165 1003170 1003171 1003172 1003173 1003174 1003448 1003449 1003450 1003452 1003454 1003455 1003456 1003457 1003458 1003459 1003460 1003461 1003462 1003463 1003466 1003467 1003469 1003471 1003475 1003478 1003480 1003482 1003487 1003491 1003494 1003496 1003498 1003500 1003501 1003502 1003503 1003504 1003519 1003522 1003524 1003525 1003527 1003528 1003529 1003534 1003535 1003553 1003834 1003843 1003844 1004036 1004037 1004038 1004039 1004040 1004042 1004045 1004049 1004050 1004051 1004052 1004053 1004057 1004058 1004064 1004067 1004069 1004070 1004072 1004074 1004078 1004080 1004081 1004084 1004086 1004089 1004091 1004094 1004095 1004096 1004105 1004111 1004112 1004113 1004114 1004115 1004118 1004119 1004120 1004121 1004122 1004125 1004127 1004129 1004132 1004138 1004141 1004142 1004147 1004148 1004233 1004234 1004235 1004239 1004242 1004246 1004248 1004398 1004399 1004400 1004401 1004402 1004404 1004405 1004406 1004408 1004409 1004410 1004411 1004414 1004415 1004416 1004417 1004420 1004421 1004422 1004424 1004426 1004428 1004430 1004432 1004433 1004435 1004436 1004437 1004438 1004439 1004440 1004443 1004444 1004446 1004447 1004449 1004451 1004453 1004454 1004455 1004458 1004460 1004461 1004462 1004464 1004465 1004469 1004473 1004474 1004476 1004479 1004483 1004484 1004487 1004490 1004493 1004501 1004502 1004505 1004510 1004512 1004514 1004515 1004518 1004520 1004526 1004534 1004541 1004543 1004544 1004546 1004616 1004617 1004618 1004631 1004653 1004655 1004656 1004659 1004660 1004710 1004711 1004713 1004715 1004716 1004717 1004718 1004719 1005143 1005145 1005146 1005147 1005148 1005149 1005150 1005151 1005152 1005153 1005155 1005156 1005162 1005163 1005164 1005166 1005171 1005174 1005175 1005176 1005177 1005188 1005190 1005199 1005202 1005205 1005208 1005209 1005210 1005211 1005213 1005214 1005217 1005218 1005219 1005220 1005221 1005222 1005223 1005226 1005231 1005232 1005233 1005235 1005236 1005237 1005238 1005240 1005241 1005243 1005249 1005250 1005251 1005253 1005254 1005255 1005256 1005257 1005260 1005262 1005263 1005264 1005265 1005270 1005271 1005277 1005280 1005281 1005408 1005415 1005417 1005419 1005423 1005424 1005426 1005428 1005434 1005435 1005436 1005441 1005442 1005446 1005447 1005449 1005529 1005531 1005532 1005533 1005536 1005537 1005539 1005542 1005660 1005663 1005664 1005678 1005680 1005681 1005682 1005684 1005685 1005692 1005693 1005694 1005695 1005696 1005697 1005698 1005699 1005711 1005712 1005713 1005714 1005715 1005719 1005730 1006040 1006043 1006044 1006045 1006046 1006049 1006052 1006054 1006057 1006061 1006062 1006064 1006067 1006068 1006069 1006070 1006074 1006076 1006077 1006078 1006079 1006081 1006086 1006088 1006089 1006092 1006094 1006096 1006097 1006098 1006100 1006102 1006103 1006105 1006201 1006204 1006206 1006207 1006210 1006211 1006352 1006356 1006405 1006420 1006421 1006422 1006423 1006427 1006428 1006429 1006450 1006458 1006516 1006517 1006518 1006519 1006520 1006521 1006522 1006523 1006525 1006527 1006531 1006537 1006540 1006554 1006556 1006557 1006558 1006559 1006560 1006563 1006564 1006566 1006628 1006629 1006638 1006668 1006669 1006719 1006722 1006730 1006734 1006735 1006736 1006774 1006784 1006785 1006786 1006796 1006879 1006897 1006898 1006900 1006906 1006908 1006911 1006914 1006925 1006928 1006929 1006933 1006943 1006944 1006945 1006949 1006969 1006971 1006975 1006976 1006982 1006986 1006994 1006995 1007031 1007032 1007033 1007034 1007036 1007057 1007058 1007066 1007069 1007073 1007076 1007079 1007081 1007110 1007112 1007113 1007118 1007119 1007141 1007143 1007144 1007147 1007148 1007149 1007150 1007151 1007158 1007181 1007216 1007218 1007232 1007256 1007260 1007261 1007267 1007271 1007274 1007275 1007276 1007278 1007279 1007280 1007285 1007286 1007288 1007289 1007290 1007292 1007294 1007295 1007297 1007300 1007302 1007303 1007306 1007313 1007316 1007325 1007392 1007395 1007410 1007414 1007421 1007461 1007502 1007503 1007612 1007615 1007625 1007799 1007800 1007878 1007879 1007984 1007994 1008021 1008039 1008057 1008059 1008062 1008063 1008064 1008065 1008068 1008076 1008081 1008084 1008096 1008097 1008098 1008104 1008106 1008111 1008113 1008118 1008141 1008145 1008160 1008164 1008172 1008173 1008182 1008193 1008199 1008217 1008219 1008220 1008222 1008224 1008278 1008279 1008280 1008285 1008302 1008303 1008378 1008385 1008389 1008391 1008392 1008408 1008426 1008427 1008428 1008450 1008452 1008453 1008454 1008456 1008463 1008554 1008606 1008608 1008609 1008620 1008623 1008624 1008625 1008626 1008628 1008632 1008635 1008638 1008642 1008660 1008661 1008666 1008667 1008682 1008684 1008691 1008692 1008740 1008745 1008747 1008748 1008749 1008763 1008776 1008779 1008781 1008782 1008783 1008784 1008788 1008796 1008803 1008806 1008807 1008810 1008811 1008983 1008984 1008985 1009004 1009005 1009006 1009020 1009147 1009148 1009200 1009201 1009202 1009208 1009212 1009213 1009217 1009221 1009222 1009234 1009254 1009255 1009256 1009258 1009260 1009263 1009267 1009270 1009272 1009274 1009284 1009292 1009294 1009299 1009300 1009303 1009306 1009307 1009309 1009317 1009318 1009328 1009336 1009338 1009344 1009345 1009356 1009358 1009362 1009364 1009419 1009424 1009425 1009428 1009429 1009430 1009432 1009441 1009442 1009443 1009444 1009445 1009449 1009450 1009453 1009492 1009495 1009497 1009501 1009502 1009516 1009648 1009664 1009665 1009666 1009674 1009675 1009676 1009682 1009683 1009741 1009744 1009751 1009753 1009754 1009755 1009758 1009759 1009760 1009764 1009765 1009813 1009903 1009906 1009935 1009956 1009965 1009977 1009991 1010003 1010006 1010026 1010027 1010028 1010042 1010050 1010051 1010054 1010057 1010060 1010061 1010063 1010065 1010066 1010070 1010071 1010072 1010074 1010075 1010086 1010087 1010140 1010143 1010159 1010160 1010161 1010162 1010163 1010164 1010169 1010178 1010179 1010189 1010192 1010328 1010390 1010392 1010403 1010406 1010407 1010439 1010440 1010455 1010457 1010458 1010459 1010460 1010463 1010488 1010502 1010507 1010509 1010523 1010524 1010533 1010534 1010547 1010548 1010549 1010552 1010579 1010642 1010645 1010648 1010652 1010655 1010659 1010664 1010667 1010669 1010687 1010718 1010719 1010726 1010730 1010733 1010734 1010737 1010739 1010741 1010948 1010949 1010974 1010975 1010976 1010977 1010978 1010979 1010980 1010981 1010986 1010987 1010989 1010990 1010991 1010992 1010993 1011011 1011014 1011017 1011021 1011022 1011023 1011025 1011026 1011029 1011030 1011031 1011032 1011037 1011042 1011054 1011065 1011084 1011085 1011086 1011087 1011088 1011095 1011114 1011147 1011161 1011162 1011178 1011212 1011240 1011275 1011286 1011287 1011314 1011317 1011319 1011321 1011335 1011336 1011341 1011344 1011355 1011359 1011361 1011363 1011368 1011370 1011395 1011396 1011408 1011454 1011455 1011485 1011489 1011490 1011498 1011517 1011518 1011526 1011527 1011528 1011573 1011575 1011577 1011580 1011582 1011590 1011653 1011656 1011657 1011711 1011731 1011739 1011740 1011741 1011754 1011761 1011766 1011770 1011865 1011920 1011921 1011922 1011937 1011950 1011977 1012010 1012098 1012099 1012103 1012104 1012135 1012137 1012167 1012171 1012194 1012254 1012255 1012280 1012281 1012282 1012283 1012284 1012287 1012288 1012289 1012290 1012292 1012293 1012294 1012295 1012296 1012297 1012298 1012307 1012310 1012320 1012322 1012326 1012327 1012330 1012341 1012379 1012417 1012419 1012460 1012461 1012465 1012466 1012548 1012616 1012617 1012635 1012637 1012638 1012674 1012675 1012677 1012678 1012681 1012685 1012699 1012702 1012703 1012706 1012707 1012708 1012709 1012710 1012724 1012727 1012729 1012730 1012731 1012733 1012754 1012755 1012758 1012781 1012782 1012791 1012792 1012795 1012796 1012800 1012803 1012805 1012809 1012810 1012811 1012814 1012815 1012817 1012819 1012820 1012821 1012826 1012829 1012833 1012835 1012836 1012845 1012868 1012869 1012959 1012994 1013045 1013046 1013067 1013068 1013071 1013072 1013075 1013076 1013079 1013080 1013082 1013086 1013087 1013218 1013219 1013220 1013221 1013241 1013247 1013249 1013250 1013254 1013258 1013260 1013310 1013334 1013335 1013337 1013338 1013339 1013340 1013341 1013342 1013343 1013344 1013351 1013375 1013376 1013446 1013449 1013491 1013492 1013521 1013522 1013525 1013526 1013614 1013616 1013617 1013618 1013619 1013620 1013674 1013675 1013769 1013772 1013773 1013795 1013821 1013822 1013857 1013864 1013867 1013915 1013966 1013967 1013976 1013977 1013978 1014081 1014113 1014121 1014122 1014123 1014125 1014130 1014132 1014133 1014197 1014211 1014213 1014215 1014248 1014273 1014330 1014334 1014338 1014412 1014425 1014428 1014440 1014483 1014485 1014552 1014557 1014584 1014585 1014586 1014613 1014615 1014628 1014634 1014985 1014987 1014988 1015026 1015052 1015057 1015061 1015064 1015065 1015066 1015070 1015071 1015073 1015074 1015088 1015190 1015268 1015269 1015301 1015302 1015319 1015322 1015327 1015328 1015329 1015332 1015334 1015336 1015339 1015340 1015341 1015344 1015345 1015348 1015350 1015369 1015371 1015373 1015377 1015379 1015391 1015396 1015399 1015402 1015416 1015419 1015420 1015422 1015423 1015439 1015446 1015448 1015449 1015458 1015459 1015462 1015469 1015470 1015472 1015475 1015476 1015478 1015479 1015482 1015483 1015487 1015491 1015492 1015494 1015499 1015500 1015502 1015503 1015505 1015508 1015509 1015516 1015517 1015518 1015519 1015520 1015521 1015522 1015523 1015524 1015594 1015595 1015623 1015714 1015715 1015720 1015723 1015724 1015739 1015744 1015745 1015748 1015761 1015763 1015765 1015770 1015869 1015870 1015889 1015890 1015896 1015897 1015898 1015900 1015907 1015910 1016026 1016027 1016028 1016034 1016041 1016043 1016044 1016046 1016050 1016110 1016112 1016115 1016116 1016121 1016131 1016134 1016135 1016136 1016137 1016202 1016222 1016224 1016233 1016234 1016236 1016238 1016240 1016315 1016324 1016347 1016352 1016353 1016354 1016356 1016358 1016388 1016397 1016402 1016403 1016404 1016408 1016410 1016411 1016535 1016557 1016577 1016578 1016598 1016615 1016617 1016622 1016629 1016641 1016645 1016656 1016657 1016658 1016659 1016755 1016792 1016793 1016794 1016805 1016808 1016810 1016812 1016813 1016815 1016816 1016822 1016877 1016879 1016883 1016892 1016894 1016896 1016900 1016924 1016928 1016938 1016979 1016981 1016983 1017004 1017006 1017008 1017009 1017010 1017012 1017018 1017023 1017027 1017290 1017300 1017301 1017304 1017305 1017313 1017314 1017315 1017317 1017324 1017327 1017410 1017412 1017413 1017443 1017449 1017451 1017454 1017455 1017456 1017459 1017460 1017461 1017489 1017491 1017494 1017496 1017500 1017515 1017516 1017517 1017566 1017574 1017575 1017738 1017748 1017749 1017779 1017808 1017849 1017851 1017852 1017853 1017934 1017936 1017937 1017938 1017997 1018003 1018004 1018093 1018109 1018122 1018124 1018125 1018164 1018174 1018392 1018393 1018394 1018395 1018398 1018400 1018401 1018405 1018408 1018428 1018438 1018439 1018440 1018441 1018452 1018453 1018454 1018473 1018479 1018553 1018595 1018598 1018600 1018601 1018605 1018606 1018607 1018609 1018612 1018614 1018716 1018724 1018726 1018795 1018823 1018856 1018857 1018861 1018867 1018876 1018879 1018880 1018886 1018899 1018905 1018911 1018912 1018917 1018925 1018926 1018927 1018932 1018934 1018936 1018939 1018941 1018942 1018948 1018949 1018955 1018957 1018981 1018982 1018983 1018997 1019000 1019001 1019002 1019006 1019012 1019013 1019014 1019016 1019017 1019036 1019039 1019044 1019045 1019047 1019049 1019053 1019055 1019057 1019059 1019064 1019068 1019072 1019074 1019093 1019100 1019110 1019114 1019115 1019116 1019118 1019119 1019120 1019121 1019123 1019200 1019207 1019222 1019238 1019243 1019279 1019280 1019281 1019282 1019283 1019285 1019317 1019318 1019319 1019320 1019321 1019322 1019324 1019409 1019412 1019418 1019463 1019470 1019480 1019483 1019484 1019546 1019550 1019553 1019574 1019590 1019591 1019640 1019641 1019643 1019653 1019654 1019695 1019830 1019832 1019890 1019893 1019895 1019896 1019925 1019926 1019935 1020028 1020030 1020034 1020199 1020207 1020239 1020243 1020244 1020247 1020259 1020262 1020263 1020269 1020274 1020275 1020278 1020289 1020315 1020344 1020450 1020521 1020522 1020523 1020528 1020530 1020532 1020623 1020633 1020661 1020662 1020685 1020686 1020690 1020695 1020696 1020701 1020703 1020707 1020708 1020710 1020711 1020713 1020752 1020771 1020772 1020904 1020906 1020909 1020911 1020912 1020915 1020920 1020922 1020924 1020927 1020933 1020934 1020947 1020959 1020961 1020962 1020965 1021034 1021035 1021037 1021044 1021045 1021056 1021063 1021067 1021068 1021069 1021070 1021071 1021072 1021073 1021078 1021079 1021082 1021083 1021087 1021097 1021100 1021103 1021104 1021105 1021162 1021324 1021330 1021331 1021333 1021337 1021338 1021341 1021361 1021362 1021364 1021365 1021376 1021396 1021397 1021399 1021400 1021403 1021404 1021409 1021410 1021411 1021412 1021413 1021433 1021496 1021608 1021648 1021658 1021660 1021661 1021662 1021663 1021664 1021665 1021666 1021727 1021735 1021736 1021741 1021755 1021761 1021762 1021763 1021764 1021836 1021852 1021888 1021890 1021892 1021894 1021895 1021902 1022010 1022017 1022267 1022275 1022284 1022285 1022286 1022289 1022297 1022298 1022299 1022301 1022302 1022304 1022305 1022308 1022310 1022315 1022316 1022317 1022318 1022320 1022321 1022325 1022367 1022370 1022374 1022378 1022381 1022385 1022386 1022405 1022411 1022424 1022433 1022436 1022442 1022461 1022462 1022465 1022471 1022478 1022479 1022483 1022484 1022487 1022488 1022498 1022499 1022501 1022502 1022505 1022509 1022511 1022513 1022517 1022518 1022520 1022521 1022522 1022527 1022528 1022530 1022535 1022547 1022553 1022564 1022571 1022572 1022576 1022662 1022704 1022709 1022716 1022720 1022724 1022754 1022756 1022769 1022821 1022822 1022823 1022826 1022827 1022831 1022832 1022838 1022926 1022927 1022932 1022957 1022966 1022967 1022978 1022998 1023000 1023026 1023038 1023074 1023076 1023077 1023082 1023083 1023115 1023161 1023162 1023167 1023170 1023178 1023179 1023180 1023184 1023185 1023187 1023212 1023367 1023629 1023640 1023641 1023695 1023697 1023698 1023700 1023704 1023705 1023706 1023707 1023717 1023719 1023723 1023726 1023727 1023730 1023731 1023829 1023830 1023835 1023836 1023840 1023843 1023844 1023964 1023976 1023978 1023979 1024049 1024050 1024051 1024056 1024062 1024090 1024114 1024119 1024163 1024164 1024175 1024214 1024220 1024253 1024284 1024285 1024312 1024317 1024318 1024326 1024327 1024333 1024334 1024340 1024343 1024346 1024347 1024351 1024352 1024354 1024414 1024416 1024419 1024445 1024447 1024464 1024466 1024468 1024472 1024508 1024520 1024524 1024526 1024535 1024623 1024624 1024625 1024698 1024699 1024701 1024702 1024703 1024742 1024753 1024754 1024757 1024758 1024759 1024760 1024834 1024861 1024875 1024876 1024877 1024878 1024897 1024898 1024903 1024946 1024966 1024979 1024981 1025052 1025057 1025064 1025070 1025119 1025122 1025125 1025129 1025130 1025131 1025135 1025139 1025140 1025142 1025151 1025156 1025157 1025162 1025167 1025170 1025175 1025177 1025179 1025183 1025185 1025190 1025193 1025194 1025195 1025221 1025255 1025261 1025273 1025288 1025289 1025290 1025292 1025293 1025294 1025309 1025329 1025342 1025369 1025386 1025388 1025389 1025443 1025450 1025451 1025453 1025463 1025496 1025498 1025502 1025503 1025507 1025515 1025548 1025590 1025758 1025763 1025772 1025773 1025774 1025792 1025793 1025837 1025879 1025890 1025931 1025932 1025955 1025956 1025962 1025965 1025967 1025968 1025969 1025973 1025981 1025982 1025985 1025997 1026017 1026020 1026093 1026104 1026123 1026130 1026131 1026136 1026138 1026140 1026142 1026144 1026145 1026147 1026148 1026150 1026155 1026184 1026193 1026247 1026249 1026250 1026252 1026253 1026257 1026470 1026503 1026504 1026511 1026532 1026535 1026610 1026630 1026677 1026680 1026694 1026751 1026761 1026970 1027035 1027037 1027039 1027040 1027048 1027049 1027052 1027161 1027163 1027164 1027165 1027167 1027210 1027216 1027291 1027301 1027319 1027320 1027325 1027476 1027477 1027478 1027512 1027515 1027532 1027533 1027537 1027538 1027552 1027561 1027562 1027570 1027577 1027605 1027606 1027610 1027612 1027623 1027624 1027631 1027632 1027677 1027679 1027680 1027681 1027685 1027686 1027687 1027869 1027870 1027880 1027884 1027890 1027901 1027903 1027904 1027906 1027907 1027908 1027911 1027912 1027913 1027916 1027920 1027921 1027922 1027924 1027962 1027967 1027969 1027973 1027974 1027980 1028004 1028007 1028031 1028036 1028040 1028043 1028069 1028071 1028073 1028107 1028124 1028133 1028134 1028135 1028138 1028139 1028142 1028143 1028144 1028146 1028149 1028153 1028161 1028162 1028169 1028182 1028213 1028214 1028216 1028217 1028255 1028258 1028290 1028298 1028299 1028300 1028302 1028303 1028304 1028306 1028307 1028309 1028310 1028360 1028489 1028493 1028504 1028506 1028508 1028513 1028518 1028530 1028531 1028575 1028578 1028579 1028582 1028583 1028584 1028587 1028649 1028672 1028673 1028674 1028675 1028676 1028680 1028701 1028706 1028708 1028717 1028721 1028728 1028730 1028731 1028738 1028739 1028741 1028744 1028745 1028747 1028754 1028772 1028795 1028889 1028924 1028925 1028928 1028930 1028935 1028940 1029096 1029097 1029098 1029099 1029100 1029101 1029102 1029188 1029189 1029205 1029208 1029209 1029210 1029212 1029214 1029216 1029222 1029223 1029284 1029288 1029363 1029364 1029365 1029367 1029384 1029404 1029465 1029470 1029475 1029498 1029499 1029500 1029501 1029502 1029503 1029510 1029514 1029516 1029524 1029525 1029531 1029533 1029536 1029537 1029541 1029543 1029567 1029568 1029570 1029575 1029577 1029578 1029579 1029583 1029584 1029585 1029590 1029591 1029600 1029601 1029602 1029603 1029604 1029605 1029607 1029712 1029724 1029731 1029735 1029784 1029794 1029795 1029870 1029887 1029889 1029895 1029944 1029945 1029949 1029950 1029953 1029955 1029966 1029968 1029970 1029973 1029976 1029985 1029988 1029993 1029995 1029996 1029997 1029998 1030000 1030005 1030010 1030011 1030072 1030080 1030123 1030124 1030224 1030274 1030302 1030319 1030322 1030323 1030326 1030359 1030361 1030364 1030367 1030487 1030493 1030520 1030521 1030522 1030523 1030530 1030568 1030569 1030742 1030748 1030753 1030788 1030796 1030797 1030805 1030808 1030810 1030841 1030850 1030925 1030926 1030927 1030928 1030929 1030936 1030941 1030945 1030947 1030958 1030985 1030987 1031034 1031035 1031036 1031039 1031040 1031041 1031051 1031066 1031076 1031082 1031084 1031085 1031096 1031097 1031106 1031111 1031122 1031170 1031237 1031240 1031241 1031242 1031291 1031293 1031307 1031314 1031323 1031418 1031427 1031474 1031514 1031518 1031530 1031616 1031660 1031711 1031717 1031719 1031721 1031722 1031723 1031724 1031727 1031729 1031731 1031733 1031734 1031737 1031738 1031739 1031740 1031741 1031754 1031755 1031756 1031757 1031769 1031776 1031779 1031782 1031936 1032001 1032002 1032064 1032085 1032133 1032138 1032149 1032151 1032162 1032163 1032165 1032176 1032178 1032180 1032216 1032254 1032291 1032294 1032384 1032389 1032390 1032391 1032392 1032393 1032394 1032395 1032397 1032398 1032399 1032400 1032402 1032403 1032404 1032405 1032406 1032410 1032411 1032416 1032463 1032464 1032467 1032472 1032504 1032548 1032549 1032550 1032566 1032582 1032587 1032589 1032603 1032605 1032609 1032637 1032654 1032659 1032660 1032662 1032663 1032664 1032671 1032686 1032696 1032697 1032699 1032700 1032704 1032712 1032715 1032724 1032727 1032732 1032734 1032735 1032747 1032752 1032808 1032892 1032894 1032900 1032914 1032954 1032955 1032956 1032959 1032966 1033005 1033007 1033008 1033162 1033174 1033175 1033200 1033224 1033225 1033233 1033240 1033440 1033441 1033480 1033489 1033519 1033639 1033657 1033753 1033762 1033784 1033787 1033788 1033789 1033791 1033792 1033799 1033802 1033821 1033922 1033936 1033938 1033939 1033943 1033950 1033958 1033960 1033977 1033981 1033982 1034062 1034064 1034111 1034147 1034429 1034430 1034460 1034462 1034466 1034470 1034472 1034473 1034475 1034477 1034582 1034583 1034626 1034628 1034636 1034809 1034843 1034846 1034847 1034849 1034857 1034902 1034903 1034918 1034919 1034931 1034934 1034942 1035021 1035029 1035030 1035031 1035033 1035074 1035075 1035077 1035279 1035409 1035518 1035538 1035542 1035544 1035545 1035547 1035548 1035552 1035561 1035562 1035591 1035592 1035640 1035643 1035644 1035647 1035658 1035659 1035660 1035680 1035688 1035689 1035691 1035693 1035698 1035705 1035712 1035716 1035717 1035718 1035785 1035786 1035787 1035788 1035792 1035795 1035802 1035805 1035826 1035828 1035885 1035907 1035920 1035921 1035925 1035926 1035928 1035929 1035930 1035935 1036040 1036041 1036083 1036164 1036180 1036338 1036342 1036344 1036354 1036357 1036417 1036418 1036419 1036420 1036462 1036463 1036466 1036469 1036470 1036475 1036494 1036495 1036625 1036626 1036633 1036636 1036637 1036639 1036644 1036645 1036646 1036647 1036650 1036652 1036653 1036657 1036658 1036662 1036664 1036665 1036670 1036673 1036675 1036696 1036697 1036698 1036699 1036700 1036706 1036708 1036709 1036711 1036719 1036748 1036758 1036760 1036764 1036768 1036770 1036773 1036850 1036852 1036853 1036854 1036855 1036856 1036857 1036861 1036863 1037069 1037072 1037194 1037195 1037198 1037199 1037201 1037211 1037329 1037334 1037337 1037422 1037472 1037474 1037475 1037476 1037499 1037500 1037544 1037546 1037547 1037548 1037555 1037575 1037577 1037580 1037615 1037617 1037624 1037625 1037627 1037634 1037636 1037638 1037642 1037647 1037650 1037652 1037654 1037655 1037688 1037689 1037708 1037786 1037790 1037805 1037812 1037969 1038019 1038020 1038056 1038073 1038077 1038083 1038088 1038090 1038115 1038120 1038157 1038158 1038181 1038182 1038183 1038259 1038336 1038419 1038421 1038460 1038461 1038547 1038560 1038564 1038618 1038785 1038801 1038822 1038836 1038837 1038839 1038841 1038861 1038868 1038869 1038875 1038880 1038912 1038939 1039014 1039017 1039018 1039068 1039069 1039074 1039076 1039079 1039092 1039094 1039131 1039132 1039167 1039194 1039195 1039216 1039227 1039228 1039245 1039252 1039254 1039260 1039261 1039266 1039270 1039283 1039285 1039286 1039352 1039396 1039409 1039469 1039477 1039510 1039664 1039668 1039689 1039698 1039704 1039725 1039726 1039729 1039732 1039739 1039839 1039863 1039916 1039948 1039973 1039974 1039975 1039994 1040009 1040013 1040014 1040049 1040093 1040713 1040715 1040716 1040947 1040957 1040960 1040961 1040968 1040969 1040996 1040998 1041002 1041013 1041016 1041018 1041021 1041024 1041026 1041029 1041032 1041033 1041035 1041037 1041038 1041048 1041123 1041202 1041203 1041204 1041218 1041361 1041410 1041411 1041424 1041427 1041451 1041456 1041457 1041466 1041471 1041472 1041480 1041495 1041504 1041538 1041546 1041547 1041597 1041605 1041611 1041613 1041624 1041628 1041629 1041636 1041650 1041652 1041654 1041673 1041677 1041678 1041682 1041697 1041698 1041701 1041734 1041735 1041743 1041751 1041754 1041848 1041851 1041868 1041877 1041930 1041937 1041957 1041958 1041960 1041970 1042117 1042125 1042156 1042194 1042232 1042239 1042271 1042273 1042278 1042279 1042281 1042285 1042286 1042289 1042295 1042387 1042388 1042389 1042393 1042394 1042395 1042396 1042400 1042444 1042486 1042488 1042489 1042490 1042494 1042496 1042497 1042498 1042503 1042567 1042568 1042688 1042689 1042718 1042719 1042720 1042776 1042777 1042826 1042828 1042830 1042831 1042832 1042833 1042871 1042904 1042923 1042954 1042955 1042985 1043017 1043037 1043038 1043051 1043070 1043073 1043076 1043130 1043131 1043132 1043158 1043162 1043163 1043171 1043268 1043269 1043275 1043282 1043283 1043285 1043298 1043299 1043314 1043339 1043346 1043350 1043365 1043368 1043491 1043492 1043494 1043496 1043498 1043499 1043501 1043535 1043552 1043557 1043560 1043561 1043591 1043599 1043601 1043602 1043603 1043647 1043649 1043650 1043657 1043658 1043662 1043667 1043678 1043752 1043778 1043806 1043879 1043920 1043923 1043955 1043988 1043991 1044027 1044029 1044039 1044064 1044085 1044139 1044156 1044170 1044172 1044174 1044175 1044181 1044184 1044186 1044187 1044191 1044193 1044195 1044197 1044199 1044200 1044202 1044203 1044204 1044209 1044214 1044215 1044217 1044221 1044222 1044225 1044228 1044256 1044260 1044261 1044264 1044265 1044269 1044332 1044335 1044360 1044429 1044438 1044461 1044470 1044477 1044478 1044481 1044484 1044491 1044499 1044501 1044502 1044543 1044654 1044659 1044829 1044845 1044945 1044946 1044953 1044955 1044963 1044966 1044968 1045005 1045008 1045119 1045120 1045222 1045225 1045349 1045350 1045358 1045359 1045362 1045374 1045492 1045493 1045502 1045503 1045504 1045505 1045506 1045513 1045516 1045517 1045520 1045522 1045523 1045524 1045617 1045714 1045719 1045740 1045741 1045743 1045768 1045774 1045782 1045798 1045799 1045803 1045804 1045805 1045824 1045845 1045859 1045942 1045945 1045947 1045953 1045961 1046038 1046039 1046107 1046108 1046109 1046169 1046172 1046174 1046175 1046194 1046195 1046196 1046203 1046211 1046212 1046219 1046234 1046394 1046397 1046415 1046416 1046418 1046493 1046494 1046495 1046519 1046540 1046542 1046661 1046664 1046665 1046693 1046697 1046708 1046720 1046731 1046734 1046744 1046790 1046792 1046793 1046805 1046824 1046942 1047080 1047175 1047196 1047197 1047198 1047240 1047249 1047251 1047257 1047266 1047269 1047271 1047273 1047275 1047283 1047342 1047343 1047348 1047370 1047452 1047478 1047519 1047524 1047530 1047533 1047534 1047574 1047575 1047632 1047688 1047740 1047743 1047748 1047757 1047855 1047857 1047858 1047864 1047943 1047961 1047974 1047975 1047976 1047994 1047999 1048005 1048006 1048013 1048049 1048102 1048103 1048104 1048106 1048109 1048127 1048139 1048158 1048176 1048306 1048308 1048309 1048329 1048330 1048331 1048332 1048337 1048342 1048346 1048349 1048351 1048353 1048359 1048370 1048381 1048382 1048383 1048388 1048389 1048392 1048393 1048394 1048449 1048466 1048468 1048478 1048483 1048492 1048507 1048511 1048512 1048515 1048519 1048524 1048526 1048538 1048539 1048543 1048549 1048552 1048698 1048702 1048718 1048771 1048778 1048781 1048782 1048790 1048797 1048895 1048896 1048897 1048898 1048900 1048903 1048904 1048917 1048918 1048925 1048926 1048927 1048955 1049039 1049040 1049075 1049108 1049109 1049152 1049161 1049166 1049167 1049168 1049169 1049175 1049222 1049230 1049231 1049234 1049295 1049399 1049400 1049475 1049488 1049492 1049496 1049499 1049500 1049504 1049525 1049599 1049604 1049675 1049678 1049848 1049851 1049862 1049863 1049864 1049870 1049903 1049905 1049907 1049942 1049944 1049946 1049951 1049958 1049964 1049965 1049968 1049975 1050009 1050027 1050045 1050046 1050048 1050049 1050078 1050154 1050155 1050159 1050160 1050161 1050390 1050398 1050399 1050408 1050410 1050429 1050430 1050432 1050433 1050438 1050439 1050502 1050503 1050521 1050522 1050574 1050577 1050582 1050583 1050584 1050588 1050591 1050592 1050604 1050608 1050615 1050621 1050628 1050630 1050690 1050702 1050712 1050752 1050753 1050756 1050765 1050788 1050789 1050790 1050795 1050796 1050797 1050854 1050864 1050867 1050879 1050882 1050887 1050892 1050895 1050901 1050938 1050948 1050966 1050973 1051065 1051066 1051104 1051115 1051121 1051128 1051129 1051132 1051136 1051237 1051251 1051254 1051255 1051256 1051277 1051324 1051327 1051328 1051343 1051357 1051364 1051441 1051482 1051501 1051511 1051512 1051516 1051583 1051584 1051589 1051603 1051604 1051606 1051667 1051670 1051758 1051766 1051768 1051770 1051796 1051828 1051894 1051916 1051918 1051919 1051947 1051993 1052024 1052207 1052208 1052213 1052325 1052330 1052407 1052428 1052431 1052435 1052447 1052451 1052459 1052463 1052479 1052560 1052561 1052566 1052647 1052650 1052663 1052669 1052675 1052694 1052806 1052807 1052810 1052812 1052814 1052817 1052824 1052828 1052830 1052833 1052842 1052843 1052846 1052847 1052853 1052868 1053012 1053113 1053114 1053116 1053117 1053127 1053131 1053303 1053386 1053476 1053477 1053482 1053620 1053729 1053730 1053732 1053774 1053781 1053795 1053805 1053924 1053926 1053927 1053939 1053967 1054023 1054038 1054042 1054043 1054044 1054045 1054063 1054163 1054289 1054290 1054291 1054312 1054322 1054334 1054367 1054400 1054409 1054423 1054428 1054429 1054432 1054434 1054456 1054460 1054502 1054504 1054506 1054516 1054518 1054519 1054585 1054586 1054602 1054608 1054626 1054627 1054628 1054629 1054639 1054640 1054657 1054661 1054662 1054664 1054674 1054723 1054726 1054730 1054743 1054750 1054751 1054779 1054784 1054794 1054804 1054810 1054818 1054836 1054856 1054858 1054864 1054873 1054877 1054908 1054909 1054912 1054923 1055058 1055075 1055087 1055123 1055214 1055225 1055232 1055233 1055234 1055237 1055238 1055388 1055398 1055403 1055404 1055406 1055407 1055412 1055413 1055414 1055416 1055420 1055425 1055426 1055429 1055435 1055754 1055755 1055756 1055758 1055760 1055826 1055827 1055828 1055829 1055831 1055837 1055839 1055852 1055853 1055859 1055862 1055897 1055899 1055908 1055915 1055918 1055925 1055928 1055934 1055938 1055939 1055940 1055946 1055948 1055950 1055955 1055957 1055961 1055976 1055978 1055979 1055980 1055981 1056008 1056024 1056111 1056129 1056140 1056165 1056166 1056178 1056180 1056181 1056182 1056198 1056254 1056255 1056320 1056323 1056324 1056325 1056358 1056371 1056374 1056375 1056387 1056402 1056603 1056620 1056622 1056669 1056682 1056683 1056686 1056692 1056693 1056694 1056711 1056715 1056721 1056723 1056729 1056737 1056738 1056739 1056752 1056755 1056776 1056787 1056789 1056898 1056924 1056983 1057002 1057078 1057082 1057102 1057123 1057137 1057144 1057146 1057167 1057170 1057182 1057213 1057225 1057228 1057272 1057274 1057400 1057404 1057405 1057422 1057666 1057757 1057926 1057929 1057936 1057938 1057967 1057973 1057974 1057975 1057978 1057979 1058150 1058160 1058161 1058163 1058165 1058168 1058172 1058188 1058234 1058235 1058241 1058255 1058256 1058257 1058349 1058378 1058537 1058538 1058539 1058551 1058552 1058555 1058556 1058558 1058566 1058628 1058637 1058686 1058687 1058700 1058713 1058718 1058719 1058722 1058723 1058724 1058727 1058729 1058741 1058750 1058786 1058795 1058870 1058958 1059093 1059094 1059098 1059114 1059176 1059186 1059195 1059196 1059199 1059208 1059216 1059218 1059222 1059227 1059254 1059265 1059269 1059270 1059308 1059347 1059348 1059351 1059388 1059398 1059512 1059516 1059657 1059677 1059742 1059743 1059761 1059837 1059854 1059898 1059909 1059925 1059944 1059945 1059947 1059988 1059992 1060028 1060045 1060170 1060212 1060213 1060592 1060607 1060640 1060641 1060642 1060646 1060654 1060656 1060689 1060733 1060734 1060735 1060738 1060755 1060771 1060778 1060779 1060780 1060785 1060885 1060887 1060891 1060892 1060893 1060894 1060895 1060896 1060897 1060974 1061011 1061012 1061016 1061021 1061069 1061071 1061195 1061200 1061223 1061225 1061226 1061227 1061251 1061252 1061271 1061274 1061276 1061282 1061299 1061320 1061321 1061327 1061338 1061341 1061346 1061353 1061354 1061358 1061359 1061377 1061383 1061388 1061396 1061405 1061406 1061415 1061416 1061420 1061421 1061422 1061424 1061621 1061629 1061675 1061676 1061753 1061755 1061758 1061762 1061765 1061780 1061802 1061823 1061824 1061825 1061826 1061827 1061927 1061929 1062139 1062196 1062197 1062200 1062202 1062203 1062288 1062357 1062373 1062461 1062462 1062488 1062547 1062628 1062641 1062648 1062652 1062657 1062680 1062688 1062690 1062757 1062804 1062810 1063129 1063133 1063149 1063155 1063194 1063272 1063273 1063275 1063567 1063639 1063640 1063641 1063643 1063652 1063653 1063657 1063670 1063673 1063675 1063680 1063692 1063693 1063736 1063749 1063889 1063892 1063961 1064019 1064022 1064041 1064043 1064047 1064072 1064075 1064080 1064119 1064127 1064134 1064156 1064157 1064158 1064160 1064163 1064165 1064168 1064176 1064179 1064180 1064182 1064373 1064381 1064385 1064411 1064413 1064414 1064421 1064553 1064565 1064566 1064568 1064618 1064631 1064666 1064722 1064725 1064727 1064729 1064780 1064888 1064935 1064937 1064938 1064947 1064957 1064998 1065031 1065094 1065108 1065109 1065111 1065121 1065127 1065129 1065224 1065397 1065453 1065459 1065508 1065509 1065510 1065514 1065517 1065519 1065524 1065525 1065528 1065544 1065554 1065598 1065647 1065653 1065655 1065667 1065697 1065723 1065760 1065776 1065831 1065843 1065844 1065845 1065846 1065851 1065854 1065927 1065929 1065963 1065985 1066024 1066232 1066235 1066243 1066284 1066300 1066396 1066452 1066487 1066505 1066513 1066533 1066534 1066552 1066553 1066554 1066558 1066564 1066573 1066577 1066588 1066590 1066593 1066595 1066596 1066607 1066759 1066760 1066825 1066853 1066918 1066936 1066947 1067005 1067023 1067024 1067032 1067098 1067142 1067143 1067144 1067162 1067163 1067170 1067171 1067172 1067173 1067424 1067432 1067450 1067486 1067500 1067503 1067527 1067540 1067547 1067549 1067555 1067556 1067557 1067573 1067599 1067601 1067603 1067604 1067605 1067620 1067624 1067726 1067734 1067860 1067873 1067888 1067890 1067893 1067903 1067910 1067913 1067936 1067985 1067994 1067995 1067997 1067999 1068003 1068017 1068018 1068023 1068096 1068106 1068108 1068113 1068117 1068119 1068122 1068370 1068372 1068396 1068408 1068433 1068502 1068503 1068504 1068508 1068514 1068552 1068553 1068554 1068576 1068577 1068581 1068672 1068673 1068755 1068762 1068779 1068794 1068797 1068798 1068799 1068801 1068820 1068839 1069120 1069241 1069250 1069294 1069295 1069298 1069305 1069358 1069360 1069399 1069400 1069553 1069572 1069574 1069576 1069577 1069592 1069593 1069597 1069601 1069603 1069616 1069618 1069630 1069690 1069701 1069702 1069738 1069756 1069779 1069804 1069825 1069828 1069830 1069859 1069867 1069868 1069871 1069899 1069903 1069906 1069908 1069914 1069917 1069919 1069945 1069946 1069953 1069954 1069955 1069960 1069962 1069970 1070003 1070006 1070015 1070021 1070025 1070032 1070042 1070043 1070048 1070059 1070060 1070061 1070068 1070078 1070102 1070107 1070108 1070115 1070118 1070119 1070122 1070123 1070127 1070133 1070134 1070135 1070138 1070143 1070152 1070260 1070261 1070262 1070263 1070349 1070381 1070398 1070405 1070411 1070518 1070665 1070689 1070702 1070703 1070708 1070736 1070781 1070788 1070789 1070863 1070864 1070995 1071152 1071297 1071301 1071308 1071328 1071329 1071407 1071453 1071458 1071461 1071570 1071576 1071577 1071693 1071812 1071834 1071836 1071837 1071941 1071942 1071943 1071945 1071946 1071948 1071949 1071950 1071953 1072006 1072074 1072098 1072121 1072123 1072277 1072318 1072381 1072382 1072396 1072470 1072480 1072483 1072706 1072715 1072717 1072718 1072720 1072721 1072758 1072779 1072888 1072889 1072892 1072972 1072975 1073055 1073056 1073092 1073093 1073094 1073095 1073124 1073145 1073186 1073217 1073229 1073240 1073253 1073284 1073425 1073448 1073450 1073453 1073530 1073542 1073559 1073563 1073565 1073569 1073571 1073576 1073595 1073624 1073818 1073825 1073835 1073837 1073838 1073840 1073845 1073853 1073855 1073950 1073970 1073971 1073978 1074100 1074171 1074192 1074195 1074276 1074378 1074397 1074414 1074607 1074608 1074614 1074626 1074631 1074637 1074648 1074652 1074662 1074665 1074671 1074678 1074699 1074726 1074743 1074794 1074795 1074822 1074855 1074863 1074864 1074865 1074870 1074895 1074896 1074903 1074983 1074987 1074991 1075104 1075106 1075115 1075119 1075121 1075122 1075124 1075141 1075252 1075256 1075258 1075266 1075268 1075304 1075390 1075428 1075436 1075442 1075444 1075532 1075616 1075664 1075665 1075705 1075707 1075815 1075816 1075887 1075893 1075899 1076248 1076257 1076259 1076266 1076267 1076271 1076277 1076328 1076359 1076378 1076383 1076394 1076406 1076407 1076409 1076415 1076420 1076425 1076435 1076439 1076449 1076451 1076469 1076470 1076516 1076528 1076578 1076655 1076666 1076747 1076921 1076927 1076944 1076954 1076956 1076970 1076972 1076974 1077170 1077181 1077182 1077302 1077382 1077383 1077389 1077466 1077467 1077468 1077534 1077834 1077836 1077866 1077867 1077980 1077983 1077984 1077987 1077992 1077997 1078017 1078026 1078029 1078033 1078324 1078395 1078402 1078414 1078429 1078430 1078586 1078597 1078599 1078603 1078605 1078612 1078613 1078627 1078628 1078794 1078803 1078805 1078920 1078929 1078937 1078941 1078973 1078983 1079003 1079016 1079044 1079053 1079089 1079093 1079097 1079099 1079104 1079167 1079199 1079204 1079216 1079217 1079219 1079234 1079361 1079435 1079445 1079457 1079479 1079483 1079532 1079533 1079553 1079555 1079562 1079563 1079707 1079710 1079743 1079745 1079749 1079756 1079763 1079764 1079784 1079785 1079787 1079812 1079831 1079859 1079863 1079982 1079986 1079987 1079996 1080014 1080026 1080028 1080039 1080056 1080060 1080238 1080240 1080261 1080262 1080512 1080519 1080668 1080942 1080992 1080994 1080995 1080996 1080998 1081002 1081004 1081005 1081006 1081007 1081008 1081009 1081013 1081015 1081016 1081017 1081019 1081020 1081024 1081025 1081027 1081028 1081029 1081030 1081031 1081032 1081033 1081034 1081035 1081036 1081037 1081038 1081040 1081041 1081045 1081046 1081047 1081048 1081049 1081051 1081052 1081053 1081054 1081057 1081058 1081060 1081064 1081065 1081067 1081068 1081069 1081070 1081072 1081073 1081076 1081077 1081078 1081079 1081082 1081083 1081084 1081085 1081086 1081087 1081090 1081092 1081093 1081095 1081096 1081097 1081098 1081099 1081104 1081106 1081107 1081110 1081112 1081113 1081114 1081116 1081117 1081118 1081119 1081120 1081121 1081122 1081123 1081124 1081126 1081204 1081205 1081270 1081272 1081280 1081284 1081285 1081289 1081319 1081424 1081427 1081428 1081430 1081432 1081438 1081440 1081461 1081462 1081463 1081466 1081471 1081472 1081509 1081513 1081514 1081515 1081516 1081534 1081546 1081547 1081558 1081602 1081603 1081607 1081609 1081621 1081631 1081632 1081666 1081667 1081668 1081672 1081755 1081757 1081759 1081761 1081764 1081768 1081771 1081783 1081801 1081803 1081804 1081805 1081807 1081808 1081809 1081810 1081813 1081814 1081816 1081817 1081818 1081826 1081842 1081845 1081889 1081890 1081891 1081892 1081893 1081898 1081900 1081901 1081902 1081906 1081907 1081908 1081909 1081911 1081912 1081929 1081930 1081931 1081935 1081949 1081963 1081964 1081967 1082006 1082007 1082041 1082063 1082065 1082067 1082100 1082108 1082112 1082113 1082114 1082117 1082118 1082119 1082120 1082121 1082122 1082127 1082128 1082131 1082134 1082137 1082138 1082139 1082150 1082160 1082185 1082195 1082220 1082243 1082248 1082259 1082274 1082275 1082282 1082294 1082320 1082322 1082324 1082326 1082337 1082389 1082392 1082397 1082406 1082409 1082410 1082418 1082421 1082425 1082427 1082430 1082481 1082511 1082522 1082526 1082542 1082578 1082583 1082585 1082591 1082601 1082610 1082611 1082618 1082620 1082624 1082626 1082667 1082668 1082670 1082673 1082675 1082679 1082680 1082719 1082724 1082731 1082746 1082752 1082782 1082788 1082843 1082865 1082868 1082882 1082916 1082917 1082919 1082924 1082925 1082926 1082927 1082931 1082934 1082936 1082943 1082946 1083003 1083033 1083067 1083087 1083100 1083134 1083155 1083163 1083164 1083165 1083166 1083167 1083248 1083251 1083252 1083287 1083288 1083300 1083302 1083307 1083308 1083311 1083316 1083348 1083351 1083367 1083368 1083389 1083390 1083402 1083409 1083415 1083433 1083435 1083436 1083440 1083441 1083469 1083477 1083481 1083508 1083510 1083526 1083527 1083537 1083538 1083540 1083542 1083596 1083600 1083602 1083655 1083688 1083696 1083697 1083733 1083748 1083764 1083813 1083814 1083815 1083819 1083821 1083824 1083825 1083833 1083836 1083845 1083846 1083847 1083854 1083903 1083907 1083914 1083970 1083999 1084021 1084023 1084034 1084035 1084046 1084060 1084087 1084089 1084093 1084095 1084096 1084105 1084109 1084112 1084117 1084155 1084157 1084168 1084169 1084173 1084200 1084206 1084209 1084210 1084218 1084221 1084230 1084263 1084301 1084302 1084308 1084318 1084319 1084322 1084326 1084332 1084333 1084334 1084366 1084370 1084409 1084428 1084429 1084433 1084437 1084503 1084506 1084507 1084522 1084526 1084527 1084549 1084557 1084558 1084575 1084577 1084582 1084596 1084598 1084599 1084611 1084614 1084623 1084627 1084628 1084636 1084670 1084675 1084684 1084714 1084716 1084722 1084827 1084834 1084838 1084861 1084871 1084874 1084902 1084903 1084921 1084922 1084987 1085015 1085016 1085029 1085030 1085034 1085040 1085041 1085048 1085049 1085122 1085125 1085141 1085143 1085158 1085163 1085200 1085222 1085235 1085238 1085267 1085291 1085292 1085296 1085312 1085323 1085353 1085355 1085358 1085365 1085367 1085368 1085483 1085494 1085495 1085523 1085543 1085550 1085560 1085575 1085593 1085607 1085629 1085655 1085700 1085703 1085705 1085711 1085712 1085778 1085779 1085793 1085812 1085841 1085847 1085861 1085862 1085889 1085902 1085918 1085927 1085930 1086050 1086053 1086122 1086123 1086143 1086150 1086151 1086179 1086181 1086185 1086187 1086251 1086282 1086297 1086299 1086305 1086324 1086396 1086403 1086404 1086405 1086408 1086415 1086417 1086437 1086439 1086443 1086448 1086449 1086456 1086465 1086497 1086512 1086515 1086536 1086537 1086552 1086560 1086562 1086569 1086571 1086573 1086601 1086633 1086641 1086727 1086770 1086771 1086773 1086782 1086783 1086786 1086797 1086802 1086826 1086829 1086830 1086831 1086840 1086869 1086884 1086893 1087031 1087088 1087095 1087097 1087169 1087177 1087189 1087205 1087207 1087236 1087296 1087311 1087330 1087331 1087408 1087415 1087435 1087467 1087496 1087500 1087507 1087515 1087551 1087593 1087600 1087604 1087611 1087639 1087642 1087645 1087719 1087746 1087775 1087777 1087826 1087837 1087843 1087844 1087847 1087867 1087869 1087900 1087958 1087978 1087979 1087982 1087988 1088000 1088064 1088102 1088105 1088173 1088189 1088193 1088194 1088196 1088232 1088233 1088286 1088310 1088311 1088317 1088354 1088360 1088361 1088416 1088429 1088431 1088458 1088460 1088489 1088505 1088542 1088543 1088546 1088571 1088573 1088574 1088575 1088580 1088583 1088621 1088626 1088636 1088680 1088682 1088695 1088756 1088770 1088791 1088820 1088822 1088824 1088838 1088855 1088859 1088888 1088891 1088910 1088919 1088941 1088942 1088970 1088987 1089075 1089134 1089148 1089164 1089187 1089194 1089216 1089268 1089337 1089341 1089348 1089353 1089369 1089376 1089377 1089388 1089400 1089443 1089446 1089450 1089452 1089454 1089510 1089511 1089518 1089618 1089648 1089649 1089650 1089656 1089666 1089679 1089709 1089710 1089713 1089733 1089734 1089737 1089741 1089750 1089801 1089823 1089824 1089876 1089895 1090037 1090089 1090104 1090112 1090121 1090131 1090175 1090181 1090183 1090190 1090209 1090250 1090251 1090328 1090329 1090333 1090392 1090403 1090476 1090493 1090524 1090548 1090575 1090650 1090716 1090729 1090741 1090785 1090827 1090828 1090831 1090912 1090953 1090959 1090972 1090984 1091003 1091035 1091047 1091065 1091066 1091070 1091101 1091107 1091132 1091145 1091179 1091238 1091249 1091255 1091256 1091298 1091302 1091321 1091327 1091339 1091343 1091350 1091360 1091367 1091368 1091370 1091387 1091430 1091457 1091474 1091516 1091519 1091558 1091561 1091563 1091573 1091620 1091654 1091681 1091682 1091688 1091837 1091857 1091865 1091896 1091944 1091962 1092043 1092046 1092047 1092050 1092053 1092061 1092086 1092140 1092163 1092166 1092259 1092261 1092277 1092283 1092286 1092292 1092316 1092318 1092322 1092323 1092325 1092333 1092356 1092358 1092382 1092385 1092392 1092581 1092631 1092675 1092747 1092751 1092769 1092771 1092772 1092804 1092841 1092848 1092947 1092950 1092995 1092996 1093001 1093003 1093005 1093006 1093011 1093015 1093016 1093020 1093021 1093022 1093023 1093043 1093044 1093058 1093089 1093090 1093092 1093095 1093099 1093110 1093150 1093151 1093152 1093169 1093180 1093183 1093201 1093202 1093207 1093243 1093245 1093250 1093261 1093264 1093265 1093269 1093291 1093292 1093293 1093310 1093328 1093346 1093347 1093350 1093351 1093358 1093361 1093363 1093374 1093376 1093377 1093388 1093397 1093409 1093412 1093415 1093426 1093427 1093520 1093521 1093550 1093556 1093558 1093573 1093600 1093602 1093626 1093648 1093662 1093710 1093748 1093780 1093802 1093823 1093839 1093888 1093909 1093910 1093919 1093921 1093960 1093961 1093966 1093979 1093980 1093988 1093991 1094007 1094032 1094042 1094044 1094074 1094091 1094102 1094145 1094219 1094220 1094223 1094230 1094248 1094255 1094261 1094291 1094307 1094319 1094334 1094395 1094400 1094410 1094414 1094445 1094497 1094508 1094536 1094540 1094555 1094593 1094626 1094646 1094660 1094661 1094743 1094754 1094796 1094803 1094807 1094869 1094874 1094892 1094904 1094911 1094913 1094938 1094951 1094976 1094993 1094999 1095044 1095092 1095094 1095128 1095138 1095183 1095207 1095209 1095226 1095245 1095248 1095281 1095308 1095315 1095326 1095402 1095407 1095435 1095445 1095462 1095463 1095466 1095510 1095515 1095541 1095569 1095570 1095571 1095585 1095632 1095637 1095679 1095695 1095746 1095774 1095811 1095840 1095841 1095843 1095852 1095854 1095855 1095860 1096762 1113682 1122992 1123010 1135181 1136165 1136378 1136379 1140471 1140675 1176535 1187060 1187061 1187082 1187084 1187086 1187090 1187095 1187098 1187107 1187155 1187211 1187215 1187228 1187231 1187232 1187236 1187269 1187279 1187283 1187284 1187306 1187318 1187321 1187348 1187349 1187359 1187360 1187371 1187372 1187377 1187412 1187467 1187470 1187475 1187477 1187481 1187484 1187485 1187535 1187726 1187747 1187772 1187773 1187774 1187775 1187780 1187783 1187785 1187787 1187803 1187806 1187807 1187816 1187817 1187826 1187948 1187949 1187983 1187990 1188052 1188055 1188056 1188059 1188081 1188087 1188088 1188098 1188104 1188141 1188143 1188150 1188156 1188165 1188177 1188261 1188267 1188361 1188365 1188366 1188409 1188428 1188435 1188436 1188466 1188484 1188559 1188560 1188599 1188615 1188617 1188621 1188625 1188628 1188638 1188641 1188642 1188683 1188684 1188685 1188713 1188714 1188729 1188730 1188731 1188732 1188740 1188796 1188813 1189199 1189384 1189564 1189565 1189737 1189748 1189749 1189757 1189835 1189940 1189944 1189952 1189955 1189957 1189963 1189968 1189969 1189984 1189998 1190024 1190025 1190066 1190080 1190083 1190327 1190368 1190370 1190453 1190688 1190718 1190808 1190811 1190812 1191048 1191061 1191062 1191063 1191081 1191108 1191142 1191143 1191147 1191165 1191214 1191219 1191229 1191230 1191307 1191334 1191358 1191404 1191407 1191594 1191595 1191597 1191600 1191611 1191613 1191630 1191631 1191633 1191640 1191808 1191812 1192090 1192113 1192118 1192154 1192243 1192262 1192263 1192356 1192361 1192453 1192471 1192685 1192690 1192711 1192790 1192794 1192795 1192840 1192884 1192927 1192934 1192945 1193101 1193170 1193178 1193182 1193191 1193195 1193197 1193250 1193253 1193254 1193319 1193320 1193361 1193457 1193458 1193539 1193592 1193679 1193685 1193686 1193693 1193696 1193698 1193745 1193886 1194151 1194164 1194165 1194167 1194168 1194171 1194285 1194380 1194382 1194385 1194386 1194409 1194414 1194447 1194449 1194455 1194579 1194584 1194585 1194736 1194891 1194916 1194920 1194921 1194924 1194925 1194926 1194927 1194928 1194929 1194930 1194931 1194932 1194933 1194934 1194935 1194936 1194937 1194938 1194939 1194940 1194941 1194946 1194947 1194948 1194950 1194973 1194974 1195211 1195246 1195247 1195251 1195256 1195296 1195382 1195448 1195494 1195499 1195646 1195665 1195711 1195907 1195908 1195910 1195935 1195948 1195949 1196086 1196096 1196116 1196118 1196135 1196136 1196140 1196143 1196168 1196175 1196177 1196178 1196207 1196217 1196221 1196222 1196226 1196227 1196231 1196234 1196236 1196238 1196241 1196408 1196433 1196531 1196534 1196541 1196847 1196852 1196864 1196867 1196983 1196984 1197021 1197162 1197163 1197167 1197168 1197172 1197184 1197187 1197189 1197192 1197194 1197245 1197250 1197405 1197407 1197411 1197414 1197417 1197421 1197438 1197439 1197465 1197535 1197639 1197643 1197653 1197671 1197672 1197787 1197791 1197793 1197829 1197863 1198024 1198026 1198105 1198131 1198134 1198140 1198141 1198142 1198158 1198172 1198180 1198333 1198495 1198496 1198498 1198499 1198500 1198501 1198508 1198509 1198512 1198518 1198526 1198533 1198771 1198807 1198811 1198821 1198871 1198873 1199002 1199032 1199039 1199042 1199163 1199168 1199171 1199172 1199198 1199211 1199222 1199231 1199235 1199237 1199311 1199312 1199366 1199368 1199369 1199370 1199417 1199422 1199434 1199435 1199472 1199600 1199615 1199616 1199620 1199629 1199634 1199767 1199768 1199776 1199801 1200031 1200038 1200073 1200090 1200098 1200099 1200100 1200124 1200125 1200137 1200183 1200185 1200190 1200196 1200199 1200201 1200202 1200214 1200218 1200219 1200223 1200224 1200357 1200509 1200510 1200513 1200519 1200598 1200604 1200662 1200665 1200668 1200669 1200676 1200880 1200884 1200887 1200933 1200935 1200938 1200941 1200959 1200960 1200961 1201035 1201067 1201073 1201079 1201446 1201453 1201456 1201459 1201460 1201578 1201624 1201652 1201661 1201779 1201991 1202006 1202007 1202136 1202190 1202403 1202406 1202466 1202496 1202591 1202612 1202619 1202644 1202645 1202771 1202775 1202783 1202791 1202792 1202885 1202886 1202888 1202889 1202891 1202892 1202893 1202900 1202905 1202907 1202908 1202918 1202928 1202949 1202954 1203066 1203077 1203199 1203211 1203212 1203217 1203218 1203239 1203242 1203243 1203252 1203253 1203259 1203290 1203292 1203300 1203352 1203373 1203375 1203383 1203433 1203466 1203476 1203479 1203481 1203488 1203496 1203505 1203507 1203510 1203526 1203528 1203567 1203573 1203574 1203580 1203605 1203606 1203610 1203633 1203639 1203642 1203803 1203835 1203839 1203844 1203851 1203853 1203864 1203892 1203897 1203903 1203904 1203908 1203919 1203984 1204022 1204023 1204026 1204044 1204045 1204051 1204054 1204055 1204208 1204209 1204211 1204273 1204278 1204279 1204288 1204312 1204721 1204724 1204756 1204758 1204873 1204874 1204875 1204889 1204899 1205159 1205162 1205374 1205375 1205376 1205392 1205407 1205422 1205543 1205544 1205578 1206005 1206006 1206080 1206081 1206093 1206094 1206289 1206444 1206477 1206478 1206480 1206524 1206528 1206542 1206545 1206572 1206742 1206797 1206955 1206963 1206964 1207003 1207028 1207068 1207188 1207192 1207321 1207323 1207329 1207331 1207410 1207413 1207443 1207490 1207660 1207662 1207790 1207791 1207846 1207985 1207992 1208000 1208001 1208021 1208156 1208196 1208200 1208303 1208557 1208662 1208672 1208795 1208830 1208891 1208941 1208944 1208976 1208995 1209005 1209194 1209390 1209393 1209558 1209706 1209712 1209761 1209762 1209763 1209795 1209796 1209797 1209799 1209865 1209874 1209894 1209895 1209896 1209898 1209914 1209918 1209920 1210000 1210001 1210002 1210023 1210029 1210036 1210038 1210044 1210046 1210054 1210060 1210061 1210077 1210084 1210090 1210094 1210119 1210124 1210141 1210144 1210145 1210147 1210152 1210174 1210178 1210196 1210258 1210314 1210512 1210513 1210514 1210516 1210612 1210641 1210677 1210686 1210817 1210962 1211018 1211082 1211083 1211089 1211108 1211127 1211139 1211162 1211186 1211188 1211205 1211210 1211211 1211213 1211241 1211249 1211259 1211268 1211270 1211280 1211281 1211295 1211316 1211317 1211348 1211378 1211379 1211381 1211385 1211429 1211441 1211572 1211721 1211733 1211770 1211773 1211872 1211886 1211906 1211907 1211908 1211926 1211933 1211936 1212024 1212025 1212027 1212049 1212065 1212066 1212197 1212215 1212224 1212538 1212540 1212686 1212707 1212935 1212936 1212996 1212997 1213002 1213003 1213004 1213018 1213022 1213049 1213050 1213167 1213168 1213169 1213330 1213332 1213428 1213436 1213439 1213452 1213453 1213494 1213500 1213501 1213503 1213669 1213671 1213672 1213744 1213792 1213876 1213981 1214009 1214085 1214087 1214088 1214090 1214094 1214095 1214141 1214161 1214164 1214169 1214171 1214174 1214175 1214179 1214184 1214193 1214240 1214247 1214249 1214296 1214306 1214315 1214316 1214338 1214456 1214473 1214481 1214490 1214500 1214502 1214506 1214544 1214633 1214637 1214677 1214774 1214775 1214813 1214949 1214950 1214951 1214985 1214995 1215001 1215018 1215033 1215069 1215141 1215145 1215155 1215246 1215313 1215318 1215337 1215339 1215340 1215373 1215374 1215418 1215565 1215574 1215575 1215579 1215787 1215799 1215801 1216213 1216214 1216228 1216230 1216257 1216390 1216398 1216402 1216448 1216614 1216615 1216668 1216669 1216671 1216747 1216748 1216803 1216805 1216806 1216829 1216831 1216885 1216920 1216925 1216927 1216932 1216934 1216937 1216956 1216977 1216978 1216981 1217011 1217012 1217016 1217017 1217018 1217019 1217051 1217052 1217054 1217275 1217276 1217284 1217286 1217288 1217295 1217484 1217613 1217634 1217704 1217876 1218038 1218129 1218134 1218160 1218173 1218175 1218177 1218186 1218260 1218261 1218265 1218266 1218267 1218273 1218274 1218275 1218278 1218279 1218289 1218292 1218308 1218316 1218433 1218615 1218616 1218626 1218645 1218800 1218822 1218823 1218832 1218929 1219021 1219024 1219025 1219027 1219028 1219033 1219077 1219082 1219083 1219108 1219109 1219124 1219135 1219142 1219149 1219150 1219151 1219153 1219162 1219163 1219177 1219178 1219179 1219267 1219273 1219282 1219284 1219336 1219346 1219352 1219659 1219675 1219812 1219816 1219817 1219826 1219999 1220146 1220167 1220172 1220173 1220196 1220200 1220297 1220316 1220317 1220450 1220557 1220558 1220584 1220604 1220605 1220788 1220798 1220811 1220831 1220910 1221162 1221211 1221233 1221238 1221300 1221301 1221307 1221309 1221383 1221415 1221417 1221418 1221420 1221421 1221422 1221483 1221487 1221489 1221490 1221499 1221532 1221541 1221642 1221705 1221724 1221725 1221787 1221856 1221957 1222016 1222017 1222105 1222395 1222411 1222499 1222663 1222669 1222670 1222671 1222789 1222947 1222949 1222950 1222969 1222970 1222973 1222974 1223051 1223067 1223199 1223200 1223201 1223209 1223219 1223258 1223392 1223394 1223416 1223426 1224386 1224398 1224402 1224432 1224488 1224649 1224826 1224828 1224898 1224921 1224930 1224932 1224937 1225058 1225059 1225060 1225072 1225073 1225074 1225076 1225077 1225078 1225079 1225080 1225081 1225087 1225089 1225102 1225108 1225112 1225118 1225132 1225146 1225147 1225148 1225175 1225176 1225195 1225219 1225222 1225224 1225234 1225355 1225358 1225364 1225415 1225451 1225457 1225491 1225545 1225546 1225609 1225616 1225620 1225622 1225629 1225630 1225745 1225751 1225752 1225753 1225764 1225765 1225809 1225817 1225820 1225846 1226142 1226302 1226305 1226309 1226318 1226331 1226353 1226354 1226370 1226513 1226545 1226554 1226594 1226772 1226797 1226841 1226843 1226865 1226867 1226868 1226870 1226947 1227290 1227323 1227465 1227466 1227469 1227470 1227471 1227472 1227475 1227477 1227547 1227582 1227607 1227633 1227699 1227723 1227731 1227732 1227765 1227778 1227780 1227801 1227859 1227863 1228127 1228144 1228201 1228216 1228217 1228319 1228322 1228323 1228363 1228377 1228450 1228459 1228502 1228671 1228673 1228743 1228745 1228755 1228757 1228760 1228768 1228769 1228774 1228777 1228778 1228789 1228824 1228840 1228851 1228891 1228898 1228918 1229028 1229077 1229080 1229125 1229133 1229134 1229137 1229253 1229254 1229301 1229321 1229322 1229407 1229557 1229576 1229578 1229630 1229657 1229658 1229677 1229684 1229686 1229687 1229701 1229857 1229912 1230010 1230034 1230055 1230060 1230096 1230154 1230156 1230251 1230261 1230268 1230413 1230472 1230480 1230492 1230494 1230500 1230523 1230542 1230550 1230554 1230567 1230589 1230604 1230611 1230614 1230704 1230706 1230708 1230711 1230717 1230721 1230727 1230741 1230746 1230749 1230750 1230751 1230752 1230773 1230946 1231051 1231083 1231135 1231136 1231247 1231248 1231249 1231295 1231350 1231352 1231354 1231395 1231422 1231426 1231453 1231494 1231532 1231580 1231588 1231591 1231682 1231713 1231740 1231766 1231774 1231791 1231822 1231828 1231897 1231910 1231930 1231931 1231934 1232127 1232209 1232234 1232296 1232307 1232308 1232310 1232367 1232419 1232422 1232425 1232508 1232525 1232532 1232541 1232543 1232544 1232555 1232559 1232579 1232585 1232613 1232645 1232690 1232696 1232710 1232767 1232833 1232964 1232978 1233005 1233006 1233184 1233254 1233286 1233356 1233362 1233385 1233660 1233733 1233740 1233785 1233832 1234038 1234108 1234186 1234251 1234262 1234266 1234310 1234311 1234318 1234337 1234339 1234344 1234346 1234355 1234356 1234360 1234362 1234555 1234558 1234559 1234672 1234679 1234786 1234787 1235035 1235130 1235138 1235189 1235190 1235367 1235386 1235387 1235392 1235393 1235395 1235406 1235407 1235413 1235415 1235423 1235436 1235450 1235459 1235464 1235471 1235473 1235475 1235477 1235484 1235493 1235651 1235661 1254302 1254310 1256278 1257808 1262478 1265417 1265419 1265420 1265424 1265425 1265429 1265434 1265441 1265443 1265445 1265448 1265450 1265453 1271614 1276257 1283006 1298928 1299015 1299016 1299022 1299023 1299025 1299028 1299033 1299034 1299041 1299044 1299045 1299047 1299051 1299055 1299059 1299060 1299061 1299062 1299065 1299067 1299070 1299071 1299077 1299079 1299080 1299083 1299085 1299096 1299097 1299098 1299101 1299102 1299103 1299104 1299106 1299107 1299108 1299111 1299113 1299115 1299117 1299118 1299119 1299123 1299124 1299126 1299792 1299796 1304606 1305125 1305401 1318052 1318538 1328857 1328894 1328919 1440671 1457866 1458208 1458210 1458228 1458229 1458230 1458290 1458292 1458295 1458302 1458309 1458329 1458342 1458345 1458346 1458349 1458352 1458383 1458384 1458385 1458393 1458398 1458407 1458453 1458544 1458568 1458581 1458613 1458680 1458725 1458727 1458856 1458868 1458882 1458955 1458989 1458996 1458998 1458999 1459140 1459179 1459264 1459287 1459457 1459459 1459521 1459546 1459585 1459590 1459599 1459603 1459613 1459614 1459616 1459617 1459619 1459643 1459647 1459648 1459688 1459870 1459935 1459944 1459955 1460014 1460024 1460045 1460232 1460370 1460489 1460492 1460576 1460577 1460592 1460593 1460622 1460632 1460634 1460635 1460638 1460645 1460685 1460717 1460747 1460836 1460863 1460936 1460937 1460974 1460978 1460979 1460980 1460981 1460982 1460989 1461005 1461008 1461068 1461079 1461091 1461100 1461121 1461173 1461180 1461182 1461185 1461191 1461218 1461238 1461242 1461246 1461273 1461285 1461289 1461345 1461347 1461364 1461366 1461376 1461406 1461411 1461538 1461553 1461558 1461565 1461570 1461577 1461581 1461596 1461616 1461848 1461856 1461859 1461885 1461961 1461963 1461974 1461976 1461983 1461988 1461989 1462004 1462009 1462063 1462092 1462103 1462115 1462121 1462161 1462167 1462413 1462535 1462554 1462591 1462597 1462703 1462748 1462920 1463035 1463057 1463060 1463102 1463113 1463201 1463203 1463291 1463300 1463306 1463397 1463415 1463446 1463696 1463714 1463728 1463736 1463742 1463754 1463831 1463931 1463932 1463933 1463955 1463959 1463973 1463978 1464005 1464013 1464014 1464120 1464139 1464140 1464141 1464228 1464230 1464231 1464233 1464234 1464235 1464266 1464267 1464394 1464578 1464626 1464639 1464707 1464708 1464775 1464779 1464780 1464782 1464783 1464785 1464791 1464808 1464810 1464812 1464816 1464880 1464881 1464882 1464930 1465097 1465104 1465107 1465145 1465203 1465205 1465262 1465287 1465325 1465383 1465384 1465385 1465388 1465389 1465401 1465404 1465447 1465449 1465450 1465453 1465478 1465482 1465520 1465625 1465628 1465665 1465687 1465697 1465705 1465816 1465817 1465818 1465819 1465829 1465832 1465833 1465852 1465906 1465909 1465910 1465916 1465917 1465922 1465936 1465937 1465942 1465951 1465957 1465979 1465980 1465988 1466193 1466230 1466245 1466347 1466357 1467075 1467077 1467085 1467087 1467101 1467109 1467235 1467236 1467237 1467241 1467260 1467328 1467466 1467505 1467521 1467535 1467581 1467596 1467934 1467935 1468020 1468023 1468027 1468125 1468157 1468177 1468415 1468425 1468536 1468657 1468735 1468736 1468737 1468845 1468846 1468894 1468903 1468911 1468954 1468982 1468993 1469106 1469188 1469265 1469304 1469413 1469424 1469426 1469753 1469754 1469825 1469828 1469999 1470000 1470213 1470401 1470404 1470408 1470500 1470508 1470512 1470577 1470579 1470595 1470618 1470619 1472265 1472273 1472275 1472278 1472283 1472351 1472352 1472353 1472355 1472357 1472358 1472426 1472427 1472436 1472437 1472439 1472441 1472559 1472562 1472565 1472576 1472591 1472983 1472990 1473120 1473136 1473178 1473253 1473308 1473312 1473317 1473321 1473338 1473341 1473343 1473359 1473361 1473367 1473369 1473372 1473376 1473377 1473383 1473386 1473388 1473390 1473409 1473569 1473580 1473581 1473586 1473587 1473588 1473589 1473590 1473591 1473592 1473757 1473786 1473787 1473790 1473791 1473793 1473844 1474035 1474036 1474067 1474175 1474184 1474189 1474280 1474334 1474335 1474344 1474421 1474523 1474528 1474530 1474540 1474568 1474569 1474811 1474824 1474834 1474838 1474840 1474919 1475014 1475138 1475463 1475467 1475468 1475475 1475588 1475592 1475611 1475613 1475614 1475616 1475623 1475626 1475637 1475647 1475652 1475654 1475656 1475666 1475667 1475669 1475704 1475762 1475763 1475796 1475996 1476005 1476008 1476127 1476154 1476155 1476177 1476178 1476234 1476248 1476249 1476252 1476253 1476278 1476299 1476603 1476743 1476760 1476820 1476827 1476852 1476853 1477004 1477046 1477063 1477076 1477079 1477084 1477086 1477090 1477152 1477153 1477154 1477177 1477223 1477225 1477227 1477230 1477232 1477343 1477347 1477348 1477385 1477448 1477488 1477572 1477591 1477596 1477702 1477811 1477917 1477925 1477933 1477940 1478001 1478002 1478003 1478005 1478048 1478054 1478056 1478117 1478350 1478435 1478436 1478493 1478494 1478510 1478516 1478524 1478549 1478574 1478582 1478623 1478795 1478869 1478882 1478928 1478942 1478943 1478947 1479108 1479282 1479284 1479353 1479356 1479373 1479379 1479398 1479405 1479412 1479419 1479429 1479430 1479498 1479499 1479500 1479502 1479507 1479508 1479513 1479517 1479530 1479531 1479533 1479535 1479537 1479538 1479542 1479544 1479554 1479556 1479560 1479615 1479695 1479696 1479815 1479834 1479880 1479882 1479913 1479927 1479970 1479971 1479972 1479975 1479976 1479977 1480016 1480194 1480212 1480233 1480249 1480281 1480283 1480284 1480287 1480296 1480300 1480304 1480311 1480331 1480337 1480338 1480339 1480527 1480588 1480589 1480975 1481102 1481103 1481107 1481108 1481123 1481124 1481135 1481139 1481296 1481327 1481364 1481401 1481523 1481728 1481731 1481794 1481826 1481832 1481857 1481858 1481966 1481967 1481976 1481978 1482021 1482046 1482104 1482106 1482109 1482236 1482250 1482264 1482334 1482336 1482362 1482364 1482367 1482371 1482577 1482610 1482834 1482857 1482867 1482868 1482897 1482899 1482918 1482919 1482934 1482943 1482947 1482989 1482990 1482993 1483187 1483188 1483354 1483392 1483429 1483430 1483605 1483606 1483607 1483608 1483609 1483830 1483869 1483904 1483944 1483945 1483946 1483947 1483948 1483992 1484010 1484143 1484152 1484168 1484170 1484178 1484186 1484310 1484392 1484393 1484403 1484476 1484479 1484539 1484542 1484597 1484679 1484725 1484726 1484732 1484749 1484853 1484854 1484863 1484921 1484922 1484923 1484924 1484928 1484936 1484948 1484950 1484952 1485038 1485160 1485291 1485335 1485338 1485360 1485429 1485441 1485450 1485451 1485480 1485493 1485572 1485581 1485618 1485619 1485699 1485788 1485804 1485840 1485955 1485958 1486347 1486348 1486357 1486389 1486390 1486430 1486458 1486473 1486479 1486481 1486482 1486528 1486530 1486534 1486590 1486592 1486673 1486751 1486752 1486942 1486949 1486963 1486967 1487033 1487051 1487109 1487127 1487128 1487133 1487259 1487420 1487956 1487964 1487970 1487988 1487989 1487990 1487992 1487995 1487999 1488004 1488016 1488018 1488019 1488023 1488026 1488031 1488034 1488038 1488058 1488074 1488116 1488119 1488123 1488149 1488159 1488161 1488192 1488202 1488203 1488204 1488208 1488220 1488233 1488267 1488280 1488308 1488317 1488318 1488321 1488330 1488332 1488334 1488350 1488351 1488369 1488370 1488388 1488400 1488401 1488424 1488427 1488450 1488458 1488534 1488537 1488538 1488543 1488558 1488579 1488581 1488589 1488601 1488605 1488622 1488640 1488648 1488691 1488695 1488755 1488812 1488837 1488846 1488883 1488975 1489005 1489023 1489054 1489069 1489079 1489124 1489235 1489334 1489356 1489358 1489360 1489461 1489520 1489562 1489594 1489603 1489635 1489680 1489681 1489684 1489712 1489713 1489716 1489717 1489730 1489794 1489796 1489800 1489930 1489931 1489962 1489964 1490025 1490034 1490108 1490200 1490201 1490768 1490770 1490775 1490776 1490877 1490880 1490881 1491042 1491163 1491251 1491312 1491313 1491314 1491320 1491332 1491334 1491389 1491490 1491495 1491912 1491926 1492154 1492175 1492289 1492298 1492299 1492300 1492301 1492302 1492337 1492380 1492385 1492394 1492397 1492453 1492538 1492541 1492544 1492547 1492558 1492573 1492575 1492584 1492765 1492922 1492985 1493044 1493046 1493047 1493068 1493070 1493087 1493139 1493141 1493151 1493160 1493161 1493163 1493166 1493167 1493181 1493302 1493322 1493348 1493434 1493435 1493439 1493440 1493463 1493467 1493478 1493656 1493717 1493736 1493840 1493844 1493845 1493853 1493858 1493859 1493890 1493892 1493899 1493909 1493910 1493917 1493932 1493974 1493996 1493997 1494007 1494008 1494009 1494014 1494021 1494056 1494057 1494073 1494074 1494080 1494121 1494180 1494185 1494186 1494187 1494190 1494259 1494260 1494261 1494265 1494266 1494272 1494278 1494430 1494517 1494780 1494782 1494879 1494890 1494996 1495116 1495120 1495121 1495126 1495254 1495255 1495259 1495279 1495282 1495284 1495327 1495544 1495692 1495693 1495694 1495723 1495724 1495738 1495739 1495740 1495772 1495775 1495791 1495853 1496129 1496314 1496335 1496347 1496475 1496680 1496804 1496831 1496884 1496886 1496899 1496945 1497059 1497272 1497363 1497383 1497387 1497540 1497545 1497546 1497588 1497630 1497648 1497649 1497733 1497764 1497765 1497901 1497902 1498060 1498254 1498255 1498257 1498259 1498264 1498452 1498453 1498559 1498584 1498631 1498632 1498641 1498644 1498651 1498652 1498653 1498657 1498658 1498697 1498698 1498708 1498714 1498727 1498744 1498748 1498862 1498885 1498910 1498911 1498912 1499033 1499043 1499086 1499139 1499239 1499394 1499431 1499433 1499444 1499453 1499454 1499455 1499511 1499576 1499594 1499605 1499677 1499742 1499744 1499746 1499747 1499755 1499758 1499763 1499769 1499773 1499776 1500064 1500078 1500079 1500164 1500165 1500166 1500336 1500338 1500344 1500420 1500423 1500443 1500447 1500520 1500522 1500709 1500806 1500807 1501241 1501244 1501265 1501266 1501346 1501383 1501409 1501424 1501434 1501435 1501492 1501506 1501509 1501511 1501517 1501559 1501807 1501902 1501931 1501937 1501945 1502060 1502063 1502158 1502165 1502237 1502255 1502355 1502394 1502404 1502410 1502411 1502627 1502917 1502925 1502930 1502931 1502934 1502942 1502944 1502954 1502955 1502957 1503139 1503210 1503211 1503225 1503241 1503320 1503328 1503378 1503420 1503421 1503422 1503562 1503578 1503652 1503658 1503670 1503672 1503679 1503685 1503695 1503705 1503732 1503810 1503836 1503838 1504080 1504640 1504651 1504664 1510492 1517584 1532045 1532046 1532047 1533160 1562369 1562578 1562715 1562882)\n(76 103 176 232 248 287 481 665 983 1004 1017 1185 1187 1204 1595 1730 1771 1933 2374 2406 2485 2496 2503 2560 2578 2593 2613 2620 2676 2677 2696 2710 3072 3162 3817 4334 4338 4754 5070 5104 5429 5430 5432 5436 5449 5667 6215 6216 6239 6247 6251 6312 6353 6528 6556 6617 6692 6703 6714 6926 6991 7043 7250 7445 7974 8232 8238 8247 8248 8577 8583 8584 8599 8762 8996 9185 9742 9924 9979 10360 10454 10460 10467 10511 10564 10573 10574 10974 11051 11145 11148 11182 11953 12004 12005 12007 12018 12124 12256 12384 12398 12402 12426 12456 12460 12463 12531 12533 12584 12695 12783 12784 12786 12788 12790 12893 12894 12895 13254 13343 13618 13714 14129 14444 14448 14639 14824 14839 14991 15018 15051 15082 15101 15205 15893 16071 16184 16312 16314 16320 16321 16342 16349 16575 16576 16849 16945 16979 16984 17440 17542 17776 17814 18302 18964 19215 19832 19941 20259 20281 20282 20368 20411 20738 20929 21075 21212 21219 21225 21234 21717 21936 21961 21971 21972 21973 21983 21990 22003 22004 22005 22014 22026 22028 22029 22032 22033 22034 22038 22041 22049 22086 22115 22124 22216 22399 23341 23850 24075 24076 24100 24574 24577 24728 25416 25701 25729 25746 25809 25869 25870 25876 26234 26323 26381 26485 26800 27506 27941 28098 28132 28147 28187 28193 28375 28604 28752 28952 28967 30120 30123 30966 30981 31068 31243 31430 31478 31492 31505 31566 31567 31730 31855 31858 31951 32434 32486 32830 32837 32838 32881 32884 33259 33468 33470 33501 33505 33509 34131 34251 34303 34316 34330 34338 34404 34423 34440 34548 34551 34759 34760 35483 35486 35683 35857 35975 36008 36137 36584 36775 37191 37375 37498 37499 37521 37523 37524 37525 37533 37534 37545 37558 37626 37638 37914 38071 38128 38135 38142 38164 38738 38753 38770 39329 39415 39416 39418 39419 39672 39681 39690 39694 39696 39704 39883 39958 40099 40242 40270 40380 40494 40854 40976 40982 41018 41066 41081 41175 41213 41289 41411 41483 41738 42068 42093 42694 43141 43164 43166 43367 43368 43697 43780 43858 43863 44018 44046 44052 44054 44078 44122 44131 44178 44235 44291 44292 44478 44493 44499 44517 44565 44587 44613 44614 44951 44972 45089 45127 45129 45246 45259 45279 45293 45384 45391 45511 45673 45715 45758 45834 45916 45917 45919 45920 45921 45967 46056 46064 46088 46096 46204 46252 46269 46272 46302 46352 46371 46404 46451 46574 46584 46666 46839 46840 46846 46849 46880 47102 47114 47177 47191 47205 47206 47216 47248 47249 47391 47499 47501 47506 47560 47631 47666 47807 47822 47883 47916 47935 47963 48016 48053 48077 48088 48090 48092 48114 48154 48158 48166 48248 48252 48269 48328 48427 48433 48448 48552 48581 48583 48621 48636 48643 48678 48726 48740 48792 48827 48844 48945 49069 49309 49350 49522 49546 49578 49631 49660 49666 49677 49828 49832 49916 49951 50039 50040 50041 50042 50043 50044 50046 50106 50193 50194 50195 50204 50459 50505 50552 50592 50596 50723 50725 50760 50777 50780 50846 50847 51061 51105 51109 51110 51163 51165 51171 51175 51226 51289 51318 51459 51704 51722 51723 51771 51776 51910 51963 52091 52325 52449 52450 52561 52675 52771 52773 52784 52785 52799 52805 52808 52827 52828 52933 52995 53005 53163 53165 53167 53170 53231 53324 53351 53353 53554 53616 53626 53649 53656 53773 53786 53839 53855 53856 53915 53942 53990 54031 54051 54052 54053 54100 54105 54123 54126 54130 54135 54147 54302 54391 54418 54476 54486 54495 54634 54642 54673 54677 54692 54696 54697 54801 54924 55019 55040 55113 55114 55136 55138 55270 55280 55307 55313 55361 55406 55552 55555 55560 55612 55613 55614 55622 55630 55633 55644 55645 55882 55978 56208 56215 56270 56300 56341 56403 56484 56528 56588 56592 56593 56594 56598 56604 56655 56692 56813 56895 57107 57109 57110 57122 57124 57128 57134 57253 57269 57290 57582 57593 57664 57700 57785 57821 57885 57942 57948 58123 58136 58163 58219 58243 58251 58288 58375 58387 58391 58437 58438 58441 58470 58494 58635 58640 58714 58834 58862 58869 58943 59466 59515 59526 59617 59696 59720 59722 59748 59749 59754 59759 59792 59799 59821 59883 60083 60120 60158 60205 60234 60255 60259 60264 60468 60520 60524 60527 60528 60533 60538 60549 60552 60559 60562 60600 60621 60752 60930 60933 60934 61011 61013 61198 61228 61587 61641 61700 61756 61856 61890 61926 62071 62168 62183 62204 62546 62552 62571 62597 62607 62612 62620 62640 62687 62714 62740 63118 63196 63263 63369 63397 63476 63753 63757 63765 63766 63773 63775 63788 63793 63805 63810 63813 63816 63817 63828 63864 63908 63910 63914 63930 64037 64061 64136 64137 64598 64606 64698 64711 64720 64724 64964 64970 65020 65037 65086 65220 65234 65274 65555 65603 65605 65636 65723 65729 65749 65758 65881 65884 65885 65912 65985 66018 66052 66069 66070 66072 66116 66220 66222 66274 66279 66287 66314 66315 66367 66375 66402 66696 66724 66732 66736 66912 67005 67297 67314 67319 67332 67453 67525 67560 67562 67578 67768 67860 67864 67878 67879 68005 68023 68087 68103 68264 68294 68424 68460 68467 68511 68660 68661 68686 68703 68752 68765 68792 68806 68818 68824 68828 68858 68935 69130 69316 69324 69360 69388 69464 69591 69592 69596 69597 69670 69715 69748 69881 69925 69954 70115 70139 70198 70281 70300 70386 70427 70429 70431 70619 70626 70665 70672 70673 70674 70711 70732 70824 70889 70912 70953 70969 71037 71044 71047 71072 71109 71175 71519 71525 71574 71632 71718 71720 71721 71752 71755 71758 71760 71761 71762 71763 71767 71775 71780 71978 72043 72064 72165 72182 72221 72222 72535 72579 72651 72669 72672 72683 72697 72720 72740 72765 72769 72851 72852 73009 73022 73045 73161 73192 73194 73196 73445 73566 73578 73589 73720 73721 73859 73948 73949 74071 74127 74333 74340 74343 74411 74516 74534 74535 74537 74542 74716 74721 74728 74738 74745 74776 74779 74807 74916 75160 75278 75355 75367 75462 75468 75489 75491 75492 75821 75893 75894 75900 75913 75918 75925 75928 75931 75932 75936 75942 75943 75954 75958 75962 75971 75979 75986 75987 75997 75999 76028 76082 76150 76219 76243 76310 76326 76359 76368 76466 76494 76540 76606 76731 76738 76873 76981 77036 77066 77106 77195 77216 77230 77256 77268 77269 77318 77384 77453 77513 77903 77950 77955 78145 78180 78232 78233 78234 78260 78350 78476 78539 78550 78602 78784 78816 78855 78973 78974 78975 79249 79389 79829 79925 80124 80212 80979 81020 81080 81436 81741 81996 82170 82260 82316 82566 82646 82774 83196 83604 83644 83696 84962 85216 85250 85414 86108 86197 86570 86760 86761 86808 87067 87068 87069 87077 88100 89077 90180 90273 90585 91713 91893 95388 95800 96793 97282 97554 97668 98172 100672 100925 101632 102253 103071 103078 103301 105583 105755 105885 105889 106362 106411 107164 107165 108113 108443 108453 108936 109313 109605 109612 109683 109924 110382 111586 111876 112072 112328 113897 114058 114257 114366 114857 115218 115769 115928 116465 116466 116730 116815 117140 117554 117562 117919 117953 117967 118075 118223 118355 118642 120285 121421 122862 123486 123487 123489 123829 123832 123865 124168 124223 125180 125932 125986 126192 126378 127151 127427 127787 127788 128225 128915 130835 132524 133271 134177 134231 134413 134649 136127 136454 136941 137033 137169 137170 137823 138693 138802 139366 139901 140363 140439 140994 141737 141988 141989 141990 141991 141992 141993 141994 141995 142027 142362 142581 142743 142804 142831 142851 142882 142906 142946 144856 145002 145052 145055 145625 146719 146857 147866 147901 147998 148243 148364 148405 148483 148817 149008 149416 162518 162680 162781 162919 162921 162922 162939 162984 163065 163095 163438 163543 163653 163668 163807 164010 164830 164899 164919 165135 165136 165290 165716 166673 166677 167339 167437 167721 169568 169584 169715 169721 170450 171003 171720 172283 172518 174587 175774 178473 178522 178576 178596 178627 179087 180108 180109 180111 180226 180397 180892 182638 182716 182730 182739 182756 182811 182838 182853 182856 183489 205739 205807 205808 205964 205972 205973 205982 205983 206824 206878 207005 207496 207712 207746 207919 208752 208804 209371 209390 209453 209835 211113 211241 211492 212370 212606 212741 212815 214206 215706 216046 216880 217385 217525 217863 218502 218652 219312 219458 219504 219716 220832 220873 243439 243504 244681 245231 245612 245925 246040 246154 246180 246237 246248 246249 246837 248337 248763 250696 250761 250829 250875 250876 251656 251757 252066 252173 252725 252873 253641 253711 253754 254141 254672 254968 255368 255374 256069 256199 256694 256922 256984 257027 257283 257928 258236 258270 258273 258756 259533 262802 282157 282238 282359 282682 282788 282815 283675 284323 284430 284499 284613 285300 285731 286152 286299 286366 286525 286703 286705 286706 286971 287204 289180 289188 289493 289523 289541 290429 291216 291301 291503 291520 292524 293032 293192 293283 293482 293550 294003 294176 294618 294760 294936 294962 295413 295541 296679 296751 296925 298558 298602 300120 300526 301149 301155 301156 301158 301160 301161 301443 301453 302216 302288 302755 302995 303023 303029 303225 303322 303596 303611 303612 303858 303870 303878 303880 303893 303895 303897 303903 303906 303909 303912 303913 303918 303920 303923 303925 304115 304951 304955 304956 304957 304965 304982 304983 304987 305003 305021 305040 310015 347992 357084 358510 358514 360310 361443 361904 376434 376435 376436 376446 376959 377380 377381 377582 377786 377818 377925 378252 378335 378884 379078 379696 379743 379804 379955 381187 381505 381977 382120 384167 385672 386288 386364 386365 386367 386370 386779 387837 388019 388020 388276 388798 389600 389638 389738 439894 439895 439947 439965 439985 440016 440035 440038 440039 440042 440045 440048 440051 440052 440055 440059 440106 443076 444420 444757 450777 462885 490188 490197 490202 490218 490221 490222 490238 490251 490305 490484 490497 490509 491287 491289 491290 491292 491298 491327 491336 491337 491426 491953 491956 491960 491961 491962 491963 491965 491976 491978 491984 492001 492002 492004 492434 492444 492501 492640 492712 492715 492802 492805 492810 492908 493128 493823 520455 520458 520515 520525 521966 521968 524477 524958 525157 525193 525983 526271 526286 526379 526845 527103 527495 527570 527655 527671 529073 529256 529257 529457 529571 529572 529584 529674 529934 531128 531684 532248 532423 532918 533708 533766 534089 534469 534726 535491 535493 535578 535597 537005 537013 537677 537790 539469 540101 540128 540173 540239 541181 544306 546847 589411 591350 593051 593516 594601 596089 596234 596406 597354 597838 598447 598658 599278 599443 600319 600322 600370 600489 600510 600615 603445 603776 604250 604644 604859 605513 606286 606315 606617 608561 608670 609094 610474 610569 610889 611762 611822 611930 613093 613665 614663 614665 614849 615742 615881 616372 616445 616613 616685 617523 617773 619258 619260 619307 619792 620209 620974 621277 621752 621762 622256 622263 623374 623864 623967 624001 624585 625261 625384 625819 625929 625981 626941 627405 628021 629143 629657 629938 630627 630855 631246 631411 631610 631925 632060 632283 633495 633763 634402 634794 634923 635332 635626 635629 635651 635652 635706 636257 637288 637607 637913 638023 638332 639021 640798 641456 645423 645582 646846 646911 647347 647605 648260 650158 650328 650974 651007 652703 652829 653743 653875 654491 654500 654760 654860 655195 655274 656718 656791 656802 657401 657918 658710 659762 659898 660243 661163 661783 661943 662334 662737 664296 664297 666512 666513 666515 666614 667214 668008 668352 669392 669498 669933 669974 670369 670557 670829 671784 673198 674320 674410 674591 675085 675791 675850 676320 676471 676738 699455 700006 700047 700535 700551 700558 701375 701924 717537 717551 719129 719485 720305 721529 722252 722285 722884 723022 723144 724608 727540 728720 728741 728962 729195 729196 729197 729199 729203 729204 729207 729208 729210 729211 729213 729215 729216 729412 730770 730963 730964 732290 733361 733409 733438 733478 733592 733593 733632 733652 733722 733796 733804 733805 733806 733869 733893 733896 733898 733901 733931 740096 740115 740196 742795 751719 752264 752397 753357 753417 753467 753479 753494 753503 753746 753786 754007 754267 754268 754326 754393 754394 754820 755665 755673 756018 757946 758106 758540 758542 758986 759523 760982 761632 762239 766234 766996 767086 767325 768812 768816 768895 769637 769710 769849 771469 772051 772270 772321 795742 795745 795746 795747 805222 813154 813724 876033 877826 878260 878315 878316 878318 878323 878385 878393 878400 878401 878433 878435 879373 888710 889134 890024 890028 890744 890762 891274 892012 893383 893610 893629 895579 901783 905859 907826 908246 908331 908338 908442 908745 908863 909724 910733 911044 911275 911983 912406 913371 914252 914590 915011 917017 917885 917886 917910 918043 919292 919323 919329 919332 936139 936185 936219 936245 936259 936260 937858 947677 949336 950261 950345 950517 951676 952039 953905 954856 960841 961171 961225 961452 962268 962340 962449 962831 962948 963102 963148 963149 963155 963530 963609 963616 963729 964264 964361 964664 965324 965498 965596 966011 966073 966495 966910 967019 967769 967977 968348 968830 968840 969173 971316 971368 972208 972212 972565 972569 972613 972717 972719 972722 972744 972950 982237 982433 991865 993621 1097575 1098488 1099439 1119998 1119999 1120000 1120001 1120179 1120395 1120440 1121187 1121527 1122695 1130433 1130434 1136262 1136458 1137341 1137954 1138457 1139075 1139338 1139416 1139488 1139924 1140587 1140588 1140594 1172737 1175221 1175284 1176320 1256777 1258415 1258712 1259183 1259298 1259789 1259843 1260876 1261259 1272570 1273018 1282434 1285533 1289932 1289943 1289945 1306834 1311104 1318717 1318719 1318720 1318724 1318726 1318876 1318877 1321545 1321562 1321796 1323149 1328898 1332744 1332754 1334335 1334508 1335533 1335813 1366550 1366644 1366765 1373145 1412096 1412378 1413243 1413307 1413366 1413789 1413931 1414461 1416802 1416953 1417005 1417239 1418397 1418994 1421314 1421946 1424588 1432709 1433440 1434378 1434426 1435748 1442762 1443065 1443068 1443889 1443890 1443927 1443930 1445104 1445169 1445170 1445182 1445188 1445190 1445227 1445228 1445230 1445231 1445239 1445251 1445256 1445258 1445260 1445261 1445263 1445265 1445269 1445272 1445275 1445278 1445280 1445282 1445289 1445293 1445294 1445299 1445304 1445318 1445319 1445324 1445325 1445329 1445335 1445338 1445341 1445345 1445357 1445360 1445375 1445378 1445380 1445394 1445410 1445420 1445421 1445427 1445430 1445432 1445448 1445449 1445451 1445454 1445455 1450130 1450145 1450363 1450947 1453192 1453771 1456402 1456509 1505208 1509199 1509231 1509471 1509485 1509955 1511045 1511881 1513413 1513912 1514699 1517590 1522485 1528790 1529139 1530030 1530876 1531393 1531412 1533356 1537692 1539428 1565311 1565675 1566391 1566974 1566975 1567432 1569488 1569815 1570124 1570864 1571595 1609795 1610416 1610505 1611425 1611880 1613348 1618612 1620037)\n(77 8120 14880 16134 17477 18863 19547 20173 22275 22774 23008 26409 31188 35967 37078 37750 38996 41402 150485 162879 237440 302818 302830 376245 376246 376247 376248 376250 376253 541736 574154 574175 574190 574212 574315 574334 574355 574490 574545 574655 598976 682424 870413 870972 871144 1510558)\n(78 1282 1674 1772 1802 1852 2500 2576 3258 3840 4076 4357 4400 4618 4628 4640 4642 4650 4820 5507 5567 5668 5729 5771 5774 5790 5800 5831 5833 5844 5845 5851 5863 5957 6779 6780 6781 6950 7584 7585 7593 7594 7597 7616 7703 7704 7705 7706 7718 7719 8550 8551 8552 8553 8555 8556 8559 8562 8564 8565 8568 8569 8627 8630 8813 9017 9069 9380 9385 9407 9541 9542 9555 9661 9736 9961 10214 10355 10364 10367 10405 10424 10799 10818 10833 11084 11321 11322 11624 12211 12878 13064 13207 13786 13827 13842 13844 13845 13855 13856 13858 13859 13860 13861 13862 13863 14440 14441 14766 14772 14779 14787 14789 14949 16078 16103 16107 16108 16127 16128 16197 16244 16263 16316 16318 16350 16352 16456 16639 16640 16698 16700 16825 17231 17381 17719 18600 18900 18904 18905 18935 18941 19044 19059 19426 19633 19635 19637 20895 20896 20935 20947 20980 20985 20997 21001 21002 21044 21045 21052 21060 21067 21069 21073 21074 21211 21730 22169 22189 22257 22525 22526 22662 22885 22953 23117 23239 23506 23508 23509 23512 23514 23722 23901 24199 24430 24751 24868 25948 25951 25994 26006 26009 26018 26019 26020 26022 26023 26024 26025 26026 26040 26281 26366 26878 27692 27944 27945 28627 29142 29205 29392 30291 30495 30605 30625 30944 31067 31509 31752 31753 32004 32102 32181 32184 32366 32428 32520 32847 32853 32935 33085 33629 33676 33707 33779 34109 34532 34554 34580 34584 34586 34589 34596 34603 35269 35376 35864 35965 36406 36743 36759 36776 36782 36786 36787 36788 36792 36799 36806 36807 36812 36813 36816 36820 36828 36833 36836 36837 36871 37024 37300 37612 37711 37802 37803 37804 37805 37806 37807 37808 37810 37812 37813 37815 37842 38026 38568 38577 39129 39479 39773 39807 39813 40130 40228 40284 40839 40901 41372 41394 41609 42014 42038 42044 42879 43159 43301 78964 79126 79168 79240 79365 79366 79367 79603 79604 79607 79608 79609 79611 79639 79718 79721 79837 80003 80004 85108 85115 85117 85184 85185 85186 85188 85192 85194 85197 85254 85531 85672 86013 86231 86621 86984 87085 87124 87129 149634 150890 162401 162461 162462 162621 162622 162676 162731 162788 162789 162801 162802 162803 177881 178563 178748 189587 199524 200345 200354 200363 200364 200370 200371 200382 200389 200390 200391 200396 200399 200400 200403 200404 200405 200407 200408 200410 200415 200416 200443 200445 200446 200452 200453 200461 200462 200464 200465 200469 200470 200472 200480 200482 200484 200485 200487 200490 200496 200499 200509 200532 200555 200565 200574 200601 200614 200627 200631 200632 200633 200634 200635 200636 200637 200638 200639 200641 200642 200643 200648 200653 200655 200657 200664 200679 200688 200694 200695 200696 200697 200701 200702 200703 200704 200705 200706 200721 200723 200728 200742 200760 200761 200764 200765 200766 200767 200769 200771 200822 200845 200856 200867 200896 200898 200904 200905 200906 200913 200916 200917 200921 200924 200929 200930 200931 200932 200933 200940 200949 200953 200954 200955 200965 200966 200970 200971 200973 200974 200975 200981 201052 201060 201065 201069 201072 201073 201074 201078 201082 201085 201088 201101 201102 201112 201121 201122 201123 201128 201130 201131 201134 201135 201145 201179 201180 201204 201211 201216 201217 201220 201221 201223 201227 201230 201231 201242 201248 201251 201268 201269 201271 201278 201291 201293 201298 201299 201300 201303 201308 201309 201330 201332 201336 201338 201350 201373 201380 201383 201385 201386 201396 201397 201405 201406 201408 201409 201410 201411 201412 201416 201427 201445 201446 201448 201450 201451 201454 201456 201467 201472 201476 201477 201483 201485 201486 201487 201504 201512 201518 201519 201527 201529 201530 201534 201535 201539 201544 201545 201547 201549 201551 201553 201556 201562 201563 201567 201568 201573 201574 201575 201576 201577 201578 201584 201585 201586 201587 201590 201591 201592 201593 201594 201595 201596 201603 201604 201605 201610 201611 201613 201614 201616 201617 201618 201619 201622 201623 201624 201644 201653 201657 201660 201663 201664 201665 201666 201671 201676 201677 201678 201679 201682 201683 201685 201689 201690 201693 201695 201696 201699 201700 201701 201702 201707 201709 201710 201712 201714 201716 201717 201719 201720 201721 201731 201734 201735 201746 201747 201748 201749 201761 201762 201773 201777 201778 201779 201780 201781 201782 201783 201784 201785 201794 201798 201799 201800 201802 201803 201804 201805 201807 201808 201811 201812 201813 201814 201816 201820 201821 201823 201825 201826 201827 201829 201830 201834 201835 201836 201837 201838 201844 201849 201850 201851 201853 201856 201874 201879 201880 201881 201883 201885 201886 201888 201891 201894 201898 201899 201901 201910 201911 201913 201915 201924 201925 201929 201931 201932 201933 201934 201936 201941 201942 201943 201944 201945 201948 201950 201952 201960 201968 201970 201971 201973 201975 201976 201979 201983 201984 201985 201987 201989 201992 201995 201997 201998 202001 202006 202010 202020 202022 202024 202025 202027 202029 202035 202036 202040 202041 202042 202045 202046 202049 202050 202051 202053 202054 202056 202057 202059 202070 202071 202075 202077 202081 202082 202083 202084 202086 202087 202088 202097 202098 202099 202100 202105 202106 202113 202115 202116 202117 202121 202123 202125 202128 202131 202142 202143 202144 202145 202148 202153 202155 202158 202159 202164 202165 202172 202174 202175 202177 202178 202180 202182 202183 202194 202195 202202 202207 202217 202218 202220 202221 202223 202224 202225 202227 202230 202231 202233 202236 202239 202247 202248 202252 202264 202274 202278 202285 202290 202304 202306 202311 202312 202316 202335 202341 202348 202354 202363 202364 202370 202382 202386 202389 202391 202392 202399 202415 202421 202431 202454 202455 202459 202461 202463 202473 202483 202487 202488 202490 202504 202505 202510 202517 202522 202523 202530 202531 202532 202533 202534 202535 202545 205750 205954 206161 206618 206691 206755 235914 236199 236202 236203 236261 236281 236287 236290 236300 236301 236336 236379 236396 236416 236422 236425 236426 236439 236449 236479 236485 236580 236613 236627 236629 242318 242349 242401 242411 242505 242506 242831 242841 242842 242849 242851 242940 243009 243074 243114 259857 259881 260012 260061 260132 260191 260249 260250 260251 260252 260253 260254 260255 260256 260257 260336 262673 262923 278160 278356 278360 278366 278370 282547 282597 282608 282646 282647 282649 282665 282668 302272 302274 302276 302278 302353 337428 337430 337433 337434 337435 337436 337437 337438 337439 337440 337441 337442 337443 337445 337446 337447 337448 337449 337451 337452 344395 344438 344440 344441 368676 368770 368993 369183 369198 369320 369671 369678 369761 370051 373483 373486 373506 373527 373535 373538 373546 373548 373557 373568 373570 373573 373577 373585 373587 373588 373593 373595 373598 373601 373606 373607 373629 373638 373648 373657 373658 373670 373675 373677 373680 373682 373691 373705 373706 373716 373717 373719 373720 373721 373722 373727 373729 373739 373745 373746 373748 373773 373785 373804 373835 373863 373906 373918 373937 373940 374034 376519 391934 391939 391940 391941 391945 391946 391948 391950 392201 392885 392886 392889 419342 420004 420020 420030 420059 427354 427358 427359 427363 427367 427368 427370 427376 427380 427385 427386 427393 427408 427413 427417 427418 427425 427460 427498 427507 427508 427541 427554 427555 427570 427571 427584 427592 427597 427599 427607 427610 427611 427612 427616 427634 427635 427636 427637 427677 427685 427691 427716 427736 427743 427750 427760 427874 427949 427964 427978 427979 427981 427983 427985 427986 427987 427989 428018 428054 428102 428145 428152 428153 428155 428157 428168 428170 428171 428175 428176 428177 428179 428181 428190 428200 428209 428210 428213 428220 428221 428229 428233 428234 428237 428247 428250 428252 428257 428260 428266 428278 428286 428292 428295 428301 428303 428305 428308 428313 428316 428317 428321 428347 428348 428357 428360 428371 428372 428375 428378 428382 428384 428386 428387 428391 428393 428395 428399 428401 428402 428403 428408 428410 428413 428415 428417 428419 428420 428427 428435 428437 428439 428441 428445 428446 428447 428462 428472 428474 428493 428530 428539 428542 428545 428567 428568 428569 428570 428572 428580 428581 428583 428585 428586 428587 428591 428592 428599 428617 428638 428639 429229 429230 429415 429843 429845 429851 430024 430027 430030 430038 430039 430040 430041 430044 430045 430046 430048 430049 430051 430053 430054 430055 430056 430064 430066 430067 430078 430079 430083 430087 430088 430094 430095 430097 430101 430102 430103 430104 430105 430106 430107 430112 430114 430115 430116 430117 430118 430119 430123 430125 430126 430127 430131 430133 430134 430135 430136 430140 430143 430144 430146 430147 430157 430158 430160 430172 430173 430174 430179 430181 430183 430186 430188 430190 430191 430192 430193 430194 430196 430198 430199 430202 430203 430208 430209 430210 430211 430213 430214 430225 430230 430238 430244 430246 430247 430249 430256 430257 430259 430262 430272 430274 430279 430280 430284 430290 430291 430292 430293 430294 430296 430297 430300 430301 430303 430307 430308 430309 430324 430325 430333 430335 430337 430339 430340 430341 430342 430343 430344 430352 430354 430356 430359 430370 430385 430389 430393 430394 430395 430396 430397 430400 430402 430403 430404 430414 430416 430417 430418 430420 430422 430425 430429 430432 430435 430436 430437 430442 430443 430444 430445 430573 430597 430988 430990 430991 430994 431009 431011 431012 432607 436152 436162 436163 436164 436168 436196 441073 441664 441665 441666 441667 441668 441669 441671 441675 441676 441677 441682 441683 441685 441687 441697 441703 441705 441706 441707 441708 441709 441710 442852 443454 443566 443768 444427 444429 444679 444680 444691 444701 444797 445076 445138 449590 455272 455273 455276 455279 455282 455287 455288 455289 455297 455307 455308 455316 455327 457437 457578 459958 474521 474535 474542 474543 474562 474563 474566 474570 474572 474576 474630 474631 474641 474642 474643 474652 474653 474662 474664 474665 474669 474670 474672 474676 474678 474679 474680 474699 474700 474702 474755 474758 474795 475379 475673 475835 475837 483376 486293 487602 487842 487889 489941 491310 500230 500232 518015 518017 518018 519160 519671 519826 519827 521311 522824 522827 522837 522842 522843 522853 522857 522860 522861 522864 522871 522872 522880 522901 522986 522987 523082 523113 523130 523157 523158 523159 523160 523173 523176 523203 523205 523207 523210 523212 523213 523214 523216 523241 523243 523269 523271 523273 523276 523296 523300 523323 523363 523376 523392 523393 523404 523441 523444 523448 523450 523459 523465 523476 523481 523502 523503 523509 523518 523522 523524 523529 523530 523539 523550 523555 523563 523565 523571 523573 523575 523584 523589 523590 523592 523601 523617 523631 523633 523637 523640 523665 523671 523674 523676 523677 523680 523681 523697 523702 523703 523711 523717 523722 523726 523728 523729 523737 523744 523750 523751 523752 523753 523760 523767 523769 523790 523792 523793 523795 523801 523806 523809 523818 523820 523826 523843 523852 523866 523882 523886 523887 523891 523893 523900 523902 523907 523909 523912 523952 523953 523956 523957 523961 523964 523975 523997 523999 524017 524027 524035 524044 524057 524063 524086 524118 524141 524146 524152 524161 524165 524166 524167 524218 524238 524247 524267 524273 524274 524278 524295 524498 524499 525026 525032 525044 541850 542236 542492 542495 545127 545129 545180 545208 545209 545215 545219 545245 545257 545264 545265 545266 545274 545275 545277 545279 545282 546574 546624 546632 546633 546634 546642 546660 546665 546681 546683 546730 546731 546732 546733 546736 546737 546741 546742 546747 546753 549171 552309 552311 552380 552809 552882 552933 553546 553567 553646 553670 553736 554818 554819 555145 555179 555903 558979 559304 559305 559312 559313 559314 559315 577535 577607 577608 577612 578517 580327 580333 580384 580391 580396 580405 580933 580936 580937 580952 581142 581147 581754 582380 582824 582826 583325 583329 583334 583513 584609 584616 585237 585639 585642 585937 585938 587178 587180 587183 587184 587341 587344 587352 587355 587360 587362 587381 587803 587953 588075 588439 596085 596173 596176 596189 596191 596196 596203 596205 596289 596315 596340 596389 596390 596482 596489 596495 596509 596566 596569 596607 596680 596704 596705 596751 596752 596777 596795 596799 596805 596822 596831 596857 596927 596928 596932 596946 596967 597066 597228 597239 597255 597262 597301 597366 597368 597410 597428 597452 597460 597489 597560 597691 597692 597699 597705 597708 597717 597748 597877 597940 598195 598360 598490 598605 598725 598726 598728 598729 598730 598732 598785 598827 598869 598875 598876 598888 599160 599209 599417 599545 599546 599616 599639 599643 599662 599693 599706 599717 599734 599777 599818 599826 599862 599886 599927 599953 600025 600070 600209 600223 600324 600395 600396 600509 600561 600598 677615 677634 677635 677644 678118 678621 678623 678624 678625 678628 678629 678630 678631 678632 678633 678634 678635 678636 678637 678638 678641 678642 678643 678644 678645 678646 678647 678648 678649 678650 678651 678652 678653 678654 679553 679555 679556 679559 679560 681827 683122 683123 683124 683126 683130 683134 684292 684295 684296 696104 696105 696113 696123 696124 696138 696141 696159 696211 696266 700320 702089 702121 702196 728876 728909 729293 729723 729816 729817 729820 729822 729823 729824 729827 729828 729830 729856 730535 740085 740086 740182 740329 740431 741195 741474 744837 744841 744862 748963 748972 749978 750860 751970 751971 752096 752248 770761 796345 805580 805997 806408 807102 807753 808135 808285 813248 814048 841533 847637 848193 848397 848716 849767 850355 850357 850488 850489 850965 850969 850970 850971 850974 850975 850988 850992 850995 850996 850998 851004 851005 851008 851013 851068 851069 851074 851078 851081 851083 851084 851095 851097 851101 851103 851107 851113 851180 851231 851235 851338 851508 851512 851785 851819 852576 852592 852887 853054 853091 853128 853129 853130 853131 853132 853133 853134 853135 853136 853164 853165 853166 853167 853169 853170 853171 853172 853173 853174 853175 853177 853179 853180 853181 853182 853183 853230 853231 853232 853248 853250 853259 853263 853270 853274 853286 853287 853290 853324 853329 853353 853354 853360 853361 853363 853364 853653 853725 853934 853949 853977 853985 854061 854064 854379 855279 855357 855361 855374 855399 855428 855494 855646 855654 855657 855667 855671 855840 855860 855870 855885 855900 855904 855908 855915 855967 856201 856204 856205 856287 856422 856510 856519 856520 856624 856656 856657 856666 856667 856827 857000 857241 857438 857490 857505 857639 857647 857652 857657 857662 857677 857682 857685 857690 857694 857699 857702 857712 857717 857722 857727 857870 857910 857915 857920 857927 857932 857937 857958 857965 857977 857986 857996 858008 858017 858018 858023 858029 858038 858043 858045 858048 858052 858059 858075 858082 858083 858090 858097 858104 858105 858112 858114 858115 858120 858125 858126 858129 858132 858137 858155 858162 858163 858169 858170 858175 858332 858333 858334 858450 858451 858452 858457 858458 858459 858460 860676 860678 860681 860685 860725 860777 860848 860884 860905 861130 863135 863136 863138 863141 863148 863169 863178 872071 872136 872148 872208 872232 872233 872262 872264 872294 872318 877174 877347 877534 877535 883003 883409 887824 887853 887905 917791 917792 917793 917891 918193 919242 919377 919386 919637 919646 919675 919676 919677 919678 919679 919707 919730 919735 919754 919757 919758 919773 919799 919829 919830 919831 919834 919835 919844 919847 919850 919852 919932 920092 920094 920106 920144 920177 920210 920267 920431 920433 920498 920504 920508 920513 920515 920521 920528 920568 920574 920575 920589 920590 920592 920593 920624 920664 920680 946260 946278 946326 946451 946472 947630 948093 948100 948146 948244 948247 948252 948254 948656 948660 948762 949466 949632 949633 949726 949727 949748 1095984 1095989 1096003 1096078 1096238 1096316 1096522 1096710 1096719 1112267 1112595 1112671 1113704 1135846 1135847 1135848 1135935 1135961 1136008 1136032 1136127 1136391 1136392 1138405 1141895 1141913 1141947 1141951 1141990 1142098 1142101 1142103 1142255 1142342 1142408 1142517 1148476 1148554 1167688 1167691 1167692 1167714 1167770 1167771 1167772 1167775 1167823 1167827 1167831 1167834 1167872 1167874 1167875 1167880 1167897 1167899 1167904 1167909 1167912 1167936 1167937 1167938 1167960 1167972 1167975 1167982 1167989 1167990 1167994 1167996 1168005 1168011 1168020 1168021 1168022 1168024 1168025 1168026 1168027 1168037 1168049 1168051 1168052 1168059 1168071 1168075 1168076 1168084 1168100 1168101 1168129 1168141 1168288 1168295 1168296 1168298 1168299 1168300 1168301 1168338 1168340 1168341 1168350 1168352 1168361 1168369 1168370 1168376 1168378 1168379 1168397 1168400 1168403 1168404 1168405 1168447 1168449 1168480 1168488 1168489 1168490 1168495 1168515 1168516 1168591 1171399 1171409 1171410 1176468 1254361 1254380 1254382 1254383 1254387 1254389 1254391 1254398 1254400 1254402 1254403 1254404 1254408 1254413 1254419 1254423 1254426 1254427 1254430 1254435 1254437 1254440 1254441 1254443 1254451 1254455 1254456 1254464 1254467 1254471 1254527 1254540 1254543 1254545 1254551 1254553 1254564 1254572 1254599 1254600 1254604 1254607 1254620 1254625 1254654 1254686 1254740 1254929 1254934 1254980 1255003 1255140 1255145 1255149 1255155 1255177 1255222 1255231 1255240 1255243 1255244 1255249 1255434 1255465 1255635 1256114 1256160 1256582 1256585 1257754 1257898 1258019 1258020 1258021 1261145 1261149 1261150 1261153 1261161 1261184 1261268 1261356 1261478 1261966 1261972 1262012 1262031 1262043 1262051 1262076 1262078 1262079 1262090 1262101 1262158 1262245 1262310 1262311 1262735 1262888 1266197 1266211 1266240 1266250 1266257 1266259 1266261 1266266 1266274 1266289 1266312 1266421 1266428 1266481 1266506 1266513 1266520 1266526 1266535 1266542 1266549 1266572 1266653 1266657 1266660 1266707 1266716 1266718 1266722 1266736 1266770 1266790 1266802 1266812 1268933 1269629 1269630 1269632 1269633 1269634 1269635 1269638 1270058 1270059 1270134 1270239 1270278 1270280 1270307 1270332 1270416 1271170 1271586 1271587 1271588 1271592 1271613 1271617 1271622 1271624 1271630 1271637 1271638 1271639 1271640 1271641 1271643 1271644 1271647 1271648 1271652 1271654 1271655 1271664 1271667 1271668 1271670 1271672 1271676 1271677 1271678 1271679 1271681 1271684 1271688 1271694 1271697 1271699 1271701 1271702 1271705 1271712 1271714 1271716 1271718 1271725 1271728 1271729 1271732 1271746 1271752 1271759 1271768 1271790 1271799 1271811 1271813 1271814 1271816 1271821 1271822 1271823 1271831 1271832 1271834 1271840 1271842 1271845 1271897 1271984 1272061 1272063 1272106 1272107 1272108 1272109 1272111 1272112 1272113 1272114 1272115 1272116 1272121 1272122 1272125 1272131 1272132 1272143 1272145 1272147 1272175 1272250 1272251 1272252 1272253 1272255 1272315 1272318 1272321 1272593 1272655 1272857 1273051 1273060 1273309 1273310 1273338 1273342 1273345 1273379 1273413 1273415 1273421 1273434 1273437 1273438 1273442 1273447 1273449 1273450 1273457 1273484 1273502 1273507 1273508 1273576 1273935 1273942 1273943 1273982 1274044 1274050 1275399 1275423 1275466 1275469 1275471 1275472 1275521 1275768 1275772 1275830 1275846 1275893 1275905 1275943 1276017 1276036 1276037 1276039 1276040 1276041 1276042 1276043 1276044 1276046 1277123 1277139 1277212 1277213 1277266 1277274 1277708 1277709 1277713 1277716 1277718 1277720 1277725 1277727 1277738 1277746 1277748 1277771 1277776 1277777 1277781 1277786 1277788 1277793 1277794 1277796 1277797 1277800 1277812 1277813 1277819 1277830 1277834 1277835 1277841 1277842 1277844 1277845 1277849 1277851 1277860 1277869 1277878 1277897 1277900 1277907 1277911 1277916 1277918 1277924 1277938 1277939 1277971 1277972 1277973 1277975 1277976 1277996 1278014 1278017 1278018 1278021 1278022 1278023 1278024 1278026 1278031 1278032 1278034 1278036 1278039 1278040 1278046 1278047 1278048 1278049 1278051 1278052 1278055 1278058 1278061 1278063 1278065 1278066 1278067 1278068 1278069 1278070 1278072 1278073 1278074 1278075 1278076 1278077 1278078 1278079 1278080 1278083 1278084 1278085 1278086 1278087 1278088 1278090 1278092 1278093 1278100 1278103 1278107 1278108 1278112 1278113 1278114 1278115 1278116 1278117 1278118 1278119 1278120 1278125 1278126 1278127 1278128 1278131 1278133 1278135 1278136 1278139 1278140 1278141 1278142 1278143 1278144 1278146 1278148 1278149 1278161 1278162 1278163 1278164 1278165 1278168 1278169 1278170 1278171 1278172 1278174 1278175 1278177 1278178 1278185 1278199 1278200 1278201 1278207 1278213 1278223 1278253 1278254 1278256 1278257 1278263 1278270 1278273 1278276 1278302 1281899 1281901 1281902 1281903 1281911 1282513 1282999 1283003 1283004 1283005 1283015 1283048 1285572 1285573 1285576 1287340 1291110 1293120 1293917 1293936 1293943 1293946 1293950 1293957 1293958 1293960 1293962 1293971 1293979 1293994 1294000 1294001 1294003 1294004 1294005 1294006 1294007 1294060 1294062 1294063 1294064 1294065 1294067 1294078 1294084 1294085 1294086 1294090 1294093 1294113 1294129 1294160 1294164 1294167 1294177 1294178 1294179 1294197 1294198 1294199 1294200 1294202 1294205 1294211 1294215 1294223 1294224 1294226 1294230 1294237 1294240 1294247 1294248 1294251 1294252 1294253 1294255 1294257 1294260 1294262 1294266 1294275 1294279 1294285 1294286 1294287 1294288 1294291 1294300 1294312 1294313 1294322 1294337 1294339 1294342 1294353 1294355 1294357 1294358 1294359 1294367 1294368 1294373 1294374 1294375 1294376 1294378 1294379 1294380 1294381 1294385 1294386 1294390 1294392 1294414 1294416 1294423 1294424 1294428 1294431 1294598 1294633 1294644 1294661 1294667 1294692 1294724 1294849 1294879 1294890 1294891 1294915 1294944 1294960 1294971 1294984 1294992 1295048 1295049 1295059 1295077 1295084 1295087 1295089 1295112 1295114 1295117 1295123 1295136 1295138 1295139 1295143 1295149 1295150 1295176 1295184 1300097 1300155 1300517 1301630 1301904 1303026 1303053 1303055 1303101 1303103 1303104 1303105 1303108 1303123 1303135 1303136 1303179 1303221 1303222 1303223 1303247 1303256 1303263 1303280 1304618 1304771 1304884 1305205 1305671 1306421 1306725 1313904 1314664 1317354 1317386 1317499 1317819 1317978 1318312 1318313 1318315 1318422 1318429 1318430 1318439 1318443 1318455 1318459 1318462 1318466 1318471 1318475 1318478 1318610 1318626 1318631 1318633 1318637 1318638 1318639 1318644 1318656 1318657 1318658 1318660 1318664 1318666 1318669 1318670 1318671 1318673 1318675 1318677 1318684 1318721 1318786 1318787 1318791 1318792 1318793 1318869 1318906 1318909 1318919 1318921 1318936 1318951 1319284 1319309 1319310 1319318 1319364 1319560 1319561 1319562 1319567 1319569 1319576 1319636 1319644 1319645 1319740 1319750 1319751 1319754 1319855 1320549 1321876 1327695 1328285 1328293 1328298 1328312 1328316 1328343 1328359 1328365 1328371 1328372 1328406 1328414 1328418 1328428 1328436 1328459 1328460 1328503 1328595 1328601 1328602 1328603 1328619 1328636 1328638 1328726 1328729 1328856 1328870 1328908 1328957 1332757 1367880 1370175 1370227 1370229 1412038 1439852 1441438 1441441 1441443 1441452 1441457 1441458 1441471 1441472 1441480 1441482 1441488 1441489 1441494 1441495 1441496 1441497 1441498 1441499 1441500 1441506 1441511 1441512 1441513 1441514 1441522 1441526 1441528 1441540 1441543 1441544 1441545 1441547 1441554 1441555 1441561 1441565 1441583 1441587 1441588 1441593 1441595 1441596 1441602 1441604 1441610 1441611 1441612 1441613 1441614 1441615 1441616 1441617 1441619 1441620 1441621 1441623 1441625 1441628 1441629 1441630 1441631 1441632 1441634 1441639 1441642 1441643 1441646 1441647 1441648 1441653 1441654 1441655 1441657 1441665 1441669 1441682 1441697 1441704 1441713 1441717 1441723 1441727 1441729 1441732 1441733 1441743 1441746 1441749 1441757 1441758 1441759 1442040 1442042 1442045 1442046 1442048 1442049 1442053 1442061 1442063 1442727 1442775 1442917 1443022 1443553 1443561 1443564 1443565 1443925 1443989 1444085 1444132 1445877 1445957 1445959 1445960 1445962 1445967 1445983 1445985 1445990 1445991 1446005 1446012 1446014 1446027 1446032 1446039 1446041 1446047 1446052 1446061 1446064 1446067 1446075 1446084 1446085 1446088 1446103 1446118 1446130 1446139 1446146 1446147 1446157 1446158 1446165 1446170 1446172 1446175 1446180 1446181 1446183 1446188 1446191 1446194 1446468 1446476 1446540 1446561 1446680 1446851 1446863 1446951 1449551 1449561 1449562 1449571 1449575 1449576 1449577 1449619 1449652 1449653 1449705 1449707 1450269 1450273 1504352 1504378 1504480 1504519 1506981 1507027 1507071 1507096 1508486 1508741 1508749 1510438 1510803 1510990 1511148 1511327 1511554 1511612 1511637 1512109 1512414 1512655 1513015 1513300 1513388 1513707 1513708 1514209 1514398 1514627 1514633 1515100 1515958 1516366 1516801 1516952 1517334 1518155 1518598 1518962 1519212 1519335 1519388 1519406 1519611 1520136 1520152 1522279 1522426 1522545 1522643 1522662 1523989 1527145 1527157 1527158 1527159 1531500 1531546 1531593 1531648 1531661 1531662 1531747 1531752 1531810 1531812 1531910 1531937 1532021 1532086 1532248 1532280 1532468 1532542 1532551 1532552 1532583 1532585 1532680 1532926 1533014 1533067 1533071 1533096 1533582 1533688 1533728 1535899 1535901 1535922 1535968 1536153 1537029 1537057 1537058 1537066 1538453 1542588 1545954 1548721 1548748 1548750 1551402 1551404 1551406 1551407 1551408 1551409 1551411 1553116 1553117 1553120 1553122 1553123 1553124 1553125 1553126 1553127 1553128 1553129 1553130 1553131 1553132 1553133 1553134 1553136 1553138 1553139 1553140 1553143 1553144 1553145 1553146 1553148 1553151 1553152 1553156 1553157 1553158 1553160 1553165 1553168 1553169 1553171 1553172 1553173 1553174 1553175 1553176 1553177 1553178 1553181 1562366 1562535 1562562 1563771 1571852 1610047 1611269 1611701 1611729 1619716 1824761)\n(79 935 1884 5443 5798 5938 8201 8631 9050 10113 12872 15326 15562 15563 16528 16815 17569 17648 17746 19029 21610 21613 22365 26364 26687 30058 31092 32832 33990 35213 36785 36821 36835 37522 37934 38050 40210 40506 42508 42766 43091 79356 80308 86486 86571 151541 151861 162119 178463 201047 201049 205887 206087 231956 231957 231958 231963 231965 231967 231968 231971 231975 231976 231983 231990 231999 232011 232012 232014 232021 232022 232023 232093 232296 232297 232306 234084 234684 234689 234690 234693 234697 235475 237076 239242 239255 239961 240917 241234 241698 241988 242294 243031 262465 279754 279756 301669 302021 302024 302105 302114 312544 312646 312830 332550 342583 342585 342594 344386 344389 344396 349610 368606 368691 368753 368930 369877 369903 369906 370077 370078 391839 392390 412482 424680 427357 427362 427378 427392 427405 427484 427491 427499 427512 427516 427535 427538 427544 427586 427593 427600 427601 427605 427621 427623 427625 427641 427648 427694 427713 427767 427857 427861 427905 427906 427909 427910 427911 427975 428033 428064 428078 428093 428094 428132 428144 428216 428242 428318 428322 428324 428330 428339 428373 428396 428407 428409 428411 428440 428501 428528 428529 428546 428554 428588 428611 428622 428642 428643 428756 428758 428759 428760 428762 428763 428768 428770 428772 428778 428781 428786 428789 428799 428820 428822 428852 428858 428862 428863 428864 428876 428899 428906 428907 428915 428928 428939 428945 428967 428968 428971 428983 428995 429007 429015 429024 429119 429153 429163 429177 429178 429179 429186 429188 429195 429197 429204 429205 429226 429238 429243 429356 429489 429679 429681 429701 429702 429854 429872 429874 429897 429899 429921 432636 438154 439045 443626 455280 455299 455300 455320 455324 455816 455821 455822 455824 455828 455830 455832 455833 455835 455848 455850 455851 455853 455860 455863 455865 455866 455867 456165 456166 456170 456173 456179 456180 456182 456183 456184 456189 456190 456454 456456 456521 456712 457216 457348 457584 457585 457586 457587 457997 458066 460087 460093 474523 474544 474673 474675 475671 475706 476437 483189 483191 483192 483455 486291 487112 518014 518022 520880 520970 520971 522555 524587 541779 542027 542182 542494 543465 549448 553699 555159 560179 577264 577265 578527 580944 580945 580946 580948 581089 583332 587353 587356 595910 598121 599320 600061 600321 684332 728817 728818 728877 728894 729721 730319 743471 744779 744781 752266 812425 855652 858073 858074 868910 872263 878550 887835 919704 920145 948759 948827 950146 1112419 1142097 1142446 1148472 1254635 1261157 1261167 1261202 1261228 1261233 1261236 1261410 1261411 1261415 1261418 1261430 1261446 1261521 1263615 1269842 1271650 1275676 1276344 1277704 1282684 1287247 1287253 1287255 1287274 1287277 1287281 1287325 1287351 1287373 1287401 1291747 1291748 1292243 1292244 1295693 1295694 1295713 1295715 1299966 1300092 1304659 1304704 1304705 1304714 1304719 1304757 1304893 1306826 1306872 1317984 1318001 1318081 1318112 1318113 1318126 1318130 1318131 1318163 1318242 1318255 1318261 1318264 1318284 1318288 1318293 1318296 1318329 1318330 1318378 1318404 1318441 1319024 1319041 1332587 1334171 1335064 1335385 1335386 1412040 1441401 1441420 1442946 1444022 1446565 1507320 1512208 1512282 1512696 1512840 1512843 1512850 1516702 1517175 1536916 1545756 1556077 1609515 1610052 1619831)\n(80 39 464 545 996 1026 1374 1386 1977 1978 1979 2052 2069 2710 5287 5294 6136 6494 6521 6523 6724 6924 6929 6930 6931 7188 7343 7745 7831 8232 8731 8777 9213 10004 10198 10372 10374 10375 10376 10726 10731 11089 11090 12171 12172 12176 12262 12456 12968 12990 12991 12993 14264 14723 15018 15637 15667 15677 15678 15684 15686 15687 15688 15689 15690 15691 15694 16156 16157 16895 16896 16897 16960 17054 17082 17226 17245 17517 17647 17770 17860 17889 17950 17978 19226 19227 19462 21972 22020 22954 23024 23137 23139 23140 23142 23749 23750 23752 23754 23767 23776 23779 23789 23807 23810 23821 23823 23825 23828 24360 24367 24645 24798 25249 26156 26481 26930 26931 26933 27137 27138 27139 28821 28825 28908 28910 28928 28929 30233 30234 30235 30239 30415 30869 31605 31610 31612 31614 31617 31618 31619 31621 31623 31673 31676 31862 32085 32133 32172 32615 32841 33569 33693 34085 35575 36048 36845 37392 37506 37530 37551 37555 37556 37567 37686 37732 37854 37900 37906 38071 38228 38229 38230 38727 38889 40853 41004 41008 41073 41087 41111 41660 42280 42291 42874 42878 43076 43683 43761 43791 43799 43813 43826 43840 43842 43843 43847 43849 43850 43851 44248 44260 44266 44295 44397 44398 44539 44541 44545 44548 44549 44551 44552 44553 44555 44561 44565 44567 44571 44573 44575 44576 44577 44579 44624 44627 44628 44678 44697 44698 44700 44705 44737 44738 44784 44802 44818 44819 44826 44834 44835 44836 44837 44838 44840 44850 44857 44862 44870 44906 44950 45018 45699 45745 45882 45908 45959 45960 45961 45963 45991 46051 46095 46102 46141 46142 46143 46155 46162 46214 46220 46292 46295 46340 46381 46418 46482 46483 46536 46565 46915 47245 47375 47413 47466 47530 47540 47597 48039 48128 48222 48299 48325 48353 48599 48603 48627 48668 48869 48893 49228 49611 49671 49960 50148 50238 50241 50242 50268 50291 50322 50378 50486 50512 50667 50877 50945 51144 51232 51392 51397 51405 51811 52288 52295 52298 52300 52322 52485 52514 52563 52686 53050 53073 53074 53454 53456 53677 53738 53803 54312 54378 54437 54565 54599 54616 55086 55087 55090 55096 55109 55148 55149 55275 55276 55388 55551 55552 55553 55572 55689 55718 56057 56060 56127 56404 56479 56509 56618 56625 56626 56739 56806 56983 56984 57077 57145 57194 57225 57239 57241 57242 57294 57346 57730 57816 58006 58019 58034 58035 58115 58178 58184 58288 58289 58290 58291 58292 58318 58323 58325 58326 58328 58348 58351 58353 58354 58396 58397 58398 58426 58458 58509 58621 58622 58624 58632 58644 58657 58660 58662 58666 58668 58956 58976 58979 59003 59024 59093 59531 59683 59755 59763 59766 59770 59771 59779 59780 60066 60067 60070 60099 60176 60458 60683 60793 60796 60805 60807 60866 60914 60951 60955 61078 61091 61092 61095 61098 61099 61101 61102 61104 61105 61106 61107 61190 61293 61294 61295 61336 61338 61426 61477 61509 61511 61547 61574 61579 61580 61688 61847 61933 62152 62609 62709 63054 63124 63126 63175 63367 63536 63560 63601 63726 63728 63925 63941 63942 63975 64056 64058 64080 64094 64096 64098 64289 64378 64570 64620 64655 64687 64694 64732 64745 64771 64975 64977 65007 65015 65016 65018 65028 65030 65032 65033 65036 65041 65048 65049 65051 65052 65053 65055 65060 65065 65066 65067 65116 65191 65378 65385 65389 65390 65391 65392 65394 65399 65414 65700 65707 65724 65756 65854 65867 65939 66149 66211 66232 66245 66249 66259 66260 66261 66262 66270 66271 66272 66273 66275 66283 66290 66352 66358 66418 66498 66536 66723 66761 66770 66771 66772 66776 66778 66913 66969 67008 67018 67073 67074 67432 67444 67515 67560 67562 67563 67721 67800 67812 67912 67994 67996 68004 68071 68257 68258 68260 68301 68484 68570 69165 69247 69315 69324 69343 69407 69408 69409 69411 69414 69449 69457 69464 69533 69536 69650 69678 69721 69964 69966 69967 69982 70004 70062 70068 70210 70247 70248 70249 70271 70371 70396 70421 70483 70608 70782 70785 70786 70787 70793 70797 70799 70801 70803 70805 70809 70811 70897 70976 71016 71067 71166 71167 71235 71276 71550 71558 71596 71655 71659 71662 71832 71881 71888 71987 72149 72422 72669 72670 72671 72672 72746 72982 73005 73354 73358 73516 73603 73798 73910 73958 74238 74272 74310 74315 74320 74473 74475 74482 74483 74484 74913 74987 75083 75197 75198 75199 75202 75204 75205 75206 75209 75229 75444 75455 75483 75530 75569 75574 75589 75626 75639 75643 75785 76036 76053 76141 76322 76624 76648 76676 76894 76941 76950 77025 77029 77030 77088 77140 77141 77214 77224 77264 77299 77300 77301 77302 77479 77512 77631 77643 77666 77819 77820 77979 78002 78003 78005 78051 78207 78276 78436 78447 78502 78670 78713 80356 80472 80476 80516 80533 80557 80564 80588 80651 80801 81003 81004 81005 81040 81150 81260 81405 81631 81828 81869 81917 82035 82263 82454 82468 82670 82674 82675 82711 82717 82880 82893 83227 83229 83319 83741 83764 83862 83865 84026 84586 84618 84657 84757 84758 85259 86092 86164 86166 86419 86605 86731 87096 88072 89029 89050 89147 89641 89646 89653 89667 89668 89700 89701 89714 89723 89731 89737 89750 89860 89988 90226 90240 90346 90402 90566 91366 93164 93236 93252 93436 93475 93576 95499 95510 95592 97116 97378 98446 98450 98451 99242 101462 102494 102850 102860 103076 103632 103889 104263 105754 105923 106018 106034 106754 106757 107874 108132 108143 108291 108292 108296 109097 109600 109701 109839 110501 110555 111150 113055 113464 113518 113878 113884 113973 114027 114214 114758 115142 115639 116540 116579 116580 116581 116582 116600 116719 116815 117117 117646 117736 118232 118616 118617 118793 118808 119031 119032 119205 119206 119209 119299 119447 119463 119690 119748 119929 120409 121181 123040 123052 123159 123439 123624 123747 124089 124680 125344 125350 125401 125424 125894 125900 125901 125903 125905 125925 125928 125930 125936 125946 125986 126002 126375 126481 126490 126491 126791 127177 127419 127451 128048 128883 128911 128924 128926 128927 128938 129341 129533 130052 130911 130942 131465 131916 131963 132086 133627 133788 133860 134877 135118 135129 135190 135900 136784 136792 137152 137223 137224 137759 137898 137915 138395 141388 141412 141826 141856 142033 142216 142342 142621 142812 142815 142875 142904 143498 145088 146354 146377 146929 147999 148634 162447 162448 162682 162945 162947 163069 163161 163230 163468 164261 164593 164628 164903 165016 165057 165207 165263 165442 165454 165480 169132 170335 170596 170600 170664 170750 172379 173199 173358 173562 173827 174581 174634 174959 178660 178743 178797 178834 206825 206835 206836 207023 207032 207091 207093 207173 207318 207426 207547 207729 208034 208050 208178 208197 208300 208570 208614 208659 208777 208799 208942 210474 210587 210638 211367 211388 212315 212422 212558 212749 212750 212874 213205 213347 214312 214313 215278 215576 215899 216072 216073 216194 216971 217212 217669 217838 219395 219397 220278 220804 220871 220884 230708 242865 243241 243444 243487 243880 244065 244078 244136 244143 244560 244561 244654 244994 245221 245263 245333 245526 245675 245797 245869 246067 246257 246586 246925 247674 247702 248617 248761 248987 249020 249025 249062 249407 249809 249959 249965 250000 250533 250573 250696 250699 250750 251053 251153 251295 251650 251740 252217 252258 252441 252903 252909 253028 253029 253073 253075 253255 253572 253711 254026 254088 254091 254478 254751 254812 254883 254884 255210 255354 255578 255714 255993 256169 256575 256976 257121 257219 257397 257513 257526 257945 258024 259405 259497 259568 259655 259695 260069 260093 281466 282395 282747 282763 282807 282842 283151 284433 284548 284917 284959 285152 285387 285403 285745 285746 286066 286501 286848 287264 289754 289787 290595 290599 290672 290976 291111 291112 292028 292540 292543 292559 293070 293234 293292 293295 293466 293947 294017 294123 294148 294384 294476 294550 294568 294940 295144 295421 295639 295789 295866 296050 296129 296364 296473 296474 297002 297282 297684 298023 298024 298025 298589 298675 299154 299192 299291 299477 299683 299725 299726 300254 300377 300892 300907 301047 301248 301249 301250 301251 301253 301330 301399 301429 301700 301702 301704 301706 301710 302225 302227 304094 304097 304099 304103 304105 304108 304110 304111 304112 304114 304115 304116 304153 304155 304214 304629 304888 304889 338269 348029 354657 360192 369212 369782 376274 377176 377344 377579 377946 377955 377967 378057 378307 378625 378830 381030 381208 381447 381464 381894 382487 382492 383356 383358 383368 383440 384300 384674 384717 384803 384810 385309 385552 385621 385669 385696 386295 386871 387255 387353 387618 387719 387830 388040 388041 388126 388330 388567 388881 388882 389238 389292 389757 390320 390323 390387 390389 390744 390918 391002 391003 391128 391303 392214 392693 393024 439966 439972 439973 443609 443610 443611 443770 458160 520520 522094 522095 522102 524735 525078 525121 525181 525712 525950 526012 526072 526161 526280 526745 526808 527072 527345 527430 527568 527582 528292 528384 528521 529397 529494 529568 529620 529644 529645 529692 529798 529817 529972 530566 530569 530570 530657 530839 530840 530870 530890 531526 531767 532601 532604 532687 533014 533708 533905 533979 534313 534775 535299 535797 535801 535987 536145 536381 536856 536967 537069 538474 538492 538613 538614 538726 539106 539328 539551 539825 540176 540211 540732 541145 542549 544412 556149 556150 578543 582727 596192 596221 596296 596560 596591 596739 596845 597152 597423 598430 598432 598433 598634 599689 600570 600571 601213 601355 601417 601570 601940 601966 602007 602037 602931 603189 603336 603506 603761 604057 604573 604654 604655 604977 605597 605787 605810 605822 605984 606525 606797 606931 607311 607344 607506 607559 607560 607562 607598 607633 607690 607882 607939 608307 608528 609027 609317 609413 609609 609879 609976 610103 610226 610536 610538 610590 611044 611161 611241 611765 611935 612102 612177 612540 612618 612783 612804 613394 613453 613747 613862 614137 614275 614305 614356 614701 614705 614852 614860 614861 614870 615021 615193 615231 615365 615369 616201 616386 616463 616708 616723 616804 617012 617143 617261 617581 618166 618362 618444 618456 618718 618726 618773 618849 619220 619524 619911 620209 620518 620966 621179 621215 621884 621914 622457 622464 622465 622670 622779 623107 623113 623278 623333 623383 624047 624863 624956 625105 625392 625485 625623 625640 625710 625714 625722 625872 626301 626699 627042 627076 627113 627215 627218 627888 627931 627971 628044 628955 629254 629274 629328 629466 629496 629630 629733 630556 631182 631251 631253 631280 631505 631718 631758 631769 631840 631869 632223 632804 632883 633490 634388 634697 634829 634871 634945 635230 635408 635744 635957 636242 636406 636704 637148 637249 637251 637285 637288 637994 638526 638632 638634 638950 638973 639205 639823 639949 640287 640413 640417 640638 640981 641043 641303 641376 641386 642046 642370 642590 642676 642805 642817 642819 643173 643212 643279 643326 643520 643549 643550 643931 644111 644113 644735 644968 644975 644977 644998 645096 645620 645622 645754 645762 645784 646172 646190 646259 646609 646611 646639 646732 647210 647343 648166 648227 648568 648570 648835 648877 649610 650816 651048 651192 651623 651762 651770 651855 651886 652772 652891 653164 653365 653462 653680 653682 653906 653932 654146 654346 654495 654504 654817 654957 655413 656012 656067 656106 656122 656620 656807 656830 656838 657172 657675 657772 658609 658800 659254 659293 659575 660230 660396 660727 661137 661426 661427 661516 661855 661870 661871 661872 662009 662136 662288 662502 662643 662731 663385 663745 663795 663999 665570 665788 665941 665943 666263 667046 667047 667438 667583 667999 668082 668104 668446 668454 668780 668943 669313 669354 669544 669555 669614 669799 670174 670362 670478 670751 671236 671290 671759 671794 672032 672510 672828 673842 674380 674390 674708 674712 674834 674861 675050 675124 675169 675673 675763 675800 676492 676987 677828 682953 699462 699463 700003 700602 700658 700659 700661 700662 700744 719751 720132 720305 721372 721573 721719 722910 724624 724641 727050 730770 731914 732041 733854 733860 733863 733869 752833 755529 755774 756413 757464 757585 757749 758046 758325 758501 758504 758588 758616 758983 759269 759312 759699 759880 759990 760537 760572 760585 760722 760819 761418 761556 761662 761719 761812 762229 762598 762768 762806 762868 763052 763315 763317 763602 763832 764055 764316 764317 765458 766323 766660 767090 767344 767474 767952 769107 769342 769354 770048 772360 772483 772496 795665 795737 807386 815035 815310 872912 878313 878324 886883 887910 893821 902904 904111 907343 908013 908113 908155 908380 908688 909617 910041 910043 911009 911143 911339 911555 911797 911879 911888 911889 911940 912248 912249 912903 913467 913668 913806 914037 914316 914374 914391 914787 914951 915009 915120 915121 915122 915374 915425 915765 916399 917553 917644 935654 935779 936245 937628 937917 939372 947677 949647 950253 950383 950404 950421 950653 950695 960358 960359 960481 960482 960566 960734 960891 960907 961026 961261 961268 961376 961622 961782 962010 962115 962312 963035 963070 963318 963564 963599 963855 964142 964357 964525 965060 965274 965296 965473 965636 966415 966416 966550 966884 967014 967015 967360 967617 967800 968121 968260 968442 968446 968738 968960 969413 969488 969591 969677 971436 971538 971848 972386 972389 981807 982053 982134 982180 982181 982182 982291 982301 982306 982400 982404 982446 991850 991855 993221 993227 994472 1097341 1097602 1097995 1098284 1098395 1098690 1099145 1099170 1099420 1099424 1099460 1099813 1100315 1100588 1100991 1101153 1101501 1101542 1101596 1119956 1120218 1120592 1121228 1121281 1121464 1121682 1121735 1121742 1121874 1122129 1122476 1122649 1122863 1130432 1135606 1136751 1136868 1136869 1137128 1137129 1137152 1137162 1137346 1137885 1138350 1138357 1138513 1143192 1143244 1143635 1143853 1144231 1144233 1144447 1144481 1145760 1172183 1172184 1172202 1172382 1173886 1174125 1174651 1175054 1175112 1175323 1175603 1257879 1257880 1258186 1258325 1258854 1259402 1259755 1259759 1259760 1261104 1291148 1310987 1311311 1312096 1312238 1312375 1312745 1312746 1312747 1312849 1313804 1318901 1318902 1320279 1370114 1370128 1370209 1415736 1417390 1432695 1432933 1432934 1433000 1433666 1433768 1433885 1434496 1434497 1434732 1435332 1435653 1435738 1435952 1436659 1436782 1446781 1450109 1450422 1450620 1451019 1451163 1451231 1452168 1452737 1452909 1452910 1453446 1454452 1454896 1455064 1455450 1455477 1504618 1505045 1505779 1509729 1509762 1509788 1509841 1517288 1518477 1529160 1529586 1529741 1530003 1531311 1532143 1532673 1533057 1533427 1565135 1565557 1566068 1566264 1566510 1567089 1567609 1567788 1568080 1568492 1569046 1569946 1570533 1570721 1572637 1572687 1576678 1608842 1609185 1609395 1609686 1609806 1609864 1611341 1611956 1612171 1612796 1613377 1614413 1615002 1619947 1826328)\n(81 1153 2184 2186 3068 3146 3181 3518 3588 3923 4146 4728 4729 4741 4897 4900 4949 6352 6373 6762 6763 6764 6765 6799 6801 7266 7394 7450 7452 7524 7526 7752 7753 7756 7896 7970 7973 8111 8119 8132 8139 8936 9224 9365 10318 10320 10321 11133 12107 12570 12838 12984 13005 13127 13500 13612 13885 14763 15167 15185 15859 16633 16965 17461 17462 18019 18090 18314 18382 18555 18557 18558 18561 18866 19566 19874 19944 20410 20696 20713 21253 21254 21584 22392 22962 22964 23019 23295 23296 23299 23300 23301 23334 23335 23756 23919 24010 24148 24398 24399 24400 24401 24402 24660 24704 24834 24838 24852 24905 25484 25914 25915 25918 25919 25920 25921 25922 25923 25924 25925 25926 25927 25928 25929 25930 25931 25932 25933 25934 25935 25936 25937 25956 26179 26386 26413 26438 26440 26445 26447 26503 26779 26802 26809 26869 27132 27683 27762 28728 28828 29115 29903 30362 31132 31170 31171 31576 31944 32212 32636 32638 32696 32713 32898 32903 33147 33517 33783 34005 34190 34443 34493 34499 34500 34693 34694 34695 34696 34698 34699 34700 34701 34703 34704 34705 34706 34707 34709 34713 34715 34716 34719 34721 34921 35005 35804 35950 36052 36055 36409 36486 36492 36945 37016 37070 37306 37331 37877 38125 39005 39011 39320 39826 39827 41389 41390 41391 42947 43018 43023 43086 43136 43219 79024 79047 79507 79851 79948 80082 80083 80332 80350 85112 85152 85211 85212 85223 85225 85226 85227 85230 85233 85234 85235 85243 85829 85850 85951 85979 85999 86000 86150 86385 86545 86852 86861 86893 86962 86979 87017 87148 162403 162416 162418 162552 162553 162554 162555 175907 175923 175925 175926 178448 178727 205802 206535 206610 206745 230956 237798 242372 242413 242589 242616 242854 242881 259843 259858 259878 259986 260157 300971 324046 324047 324049 324051 324052 324053 324055 324056 324057 324058 324062 324063 324066 324067 324068 324069 324070 324071 324073 324076 324079 324081 324082 324083 324084 324086 324087 324089 324091 324093 324094 324095 324097 324101 324102 324103 324104 324105 324107 324108 324109 324110 324111 324113 324116 324117 324119 324126 324127 324133 324134 324137 324139 324140 324141 324142 324143 324144 324145 324146 324150 324151 324152 324155 324156 324157 324158 324159 324161 324165 324166 324167 324169 324170 324172 324173 324176 324177 324178 324179 324180 324181 324182 324183 324184 324186 324188 324189 324198 324225 324235 324247 324249 324255 324257 324258 324259 324260 324261 324263 324264 324266 324268 324270 324271 324284 324285 324286 324288 324292 324295 324296 324297 324299 324300 324301 324302 324303 324304 324305 324306 324307 324310 324311 324312 324313 324314 324315 324316 324317 324318 324319 324320 324321 324322 324323 324326 324327 324328 324329 324332 324335 324336 324337 324338 324340 324341 324345 324348 324350 324351 324355 324356 324357 324358 324360 324361 324362 324364 324366 324367 324368 324369 324370 324371 324372 324373 324374 324376 324377 324378 324380 324383 324384 324385 324387 324388 324389 324390 324394 324395 324398 324399 324400 324401 324402 324403 324404 324405 324406 324408 324409 324410 324413 324415 324416 324417 324419 324420 324421 324422 324424 324426 324427 324428 324429 324430 324431 324432 324433 324434 324435 324436 324437 324439 324440 324441 324442 324444 324445 324446 324447 324448 324449 324452 324453 324454 324456 324457 324458 324462 324463 324464 324465 324466 324467 324468 324469 324471 324472 324476 324477 324479 324480 324481 324482 324483 324484 324485 324487 324488 324491 324492 324493 324497 324499 324500 324501 324504 324507 324508 324509 324510 324512 324515 324517 324519 324523 324524 324525 324531 324533 324534 324535 324536 324537 324538 324539 324540 324541 324542 324543 324545 324546 324547 324549 324662 324671 324674 324676 324678 324679 324680 324681 324682 324683 324684 324685 324686 324687 324688 324689 324690 324692 324693 324694 324695 324696 324697 324698 324699 324700 324704 324705 324707 324708 324709 324710 324711 324713 324714 324715 324716 324717 324718 324724 324730 324735 324738 324739 324740 324741 324744 324747 324748 324749 324750 324751 324752 324753 324754 324756 324758 324760 324763 324764 324765 324768 324769 324772 324775 324779 324780 324781 324782 324783 324784 324785 324786 324789 324791 324792 324793 324794 324799 324801 324803 324806 324807 324810 324811 324814 324815 324817 324818 324819 324820 324821 324823 324825 324826 324827 324830 324832 324833 324835 324837 324839 324840 324842 324844 324845 324847 324849 324851 324852 324853 324855 324856 324857 324864 324866 324867 324869 324870 324871 324875 324877 324878 324887 324888 324889 324891 324896 324898 324899 324900 324901 324902 324904 324905 324908 324910 324912 324913 324914 324915 324916 324918 324922 324927 324928 324929 324930 324931 324936 324937 324939 324941 324945 324949 324950 324951 324954 324956 324958 324959 324960 324962 324963 324965 324967 324968 324969 324975 324976 324979 324984 324985 324986 324989 324991 324992 324994 324996 324997 324998 325000 325001 325003 325004 325005 325006 325007 325008 325009 325010 325012 325013 325014 325015 325016 325017 325019 325020 325021 325022 325023 325024 325025 325026 325028 325029 325030 325031 325032 325034 325035 325036 325037 325038 325039 325040 325041 325042 325043 325044 325045 325046 325047 325048 325049 325050 325051 325052 325053 325054 325055 325056 325057 325058 325059 325060 325061 325064 325068 325069 325070 325072 325074 325075 325078 325079 325081 325083 325084 325085 325087 325089 325090 325091 325092 325094 325095 325096 325097 325098 325099 325100 325102 325103 325104 325106 325108 325109 325110 325111 325112 325113 325114 325115 325117 325118 325120 325121 325122 325125 325126 325127 325129 325130 325132 325134 325135 325137 325138 325139 325141 325142 325143 325144 325146 325147 325148 325149 325152 325153 325154 325155 325156 325157 325160 325161 325162 325165 325168 325170 325173 325174 325175 325176 325177 325179 325180 325181 325182 325183 325184 325185 325187 325192 325193 325194 325195 325196 325197 325198 325200 325201 325203 325205 325207 325209 325211 325213 325214 325215 325216 325217 325218 325219 325220 325221 325222 325223 325224 325226 325227 325228 325230 325231 325233 325235 325237 325238 325239 325240 325241 325242 325243 325244 325245 325248 325249 325250 325251 325253 325254 325256 325259 325262 325267 325268 325269 325270 325271 325272 325273 325274 325276 325277 325278 325279 325280 325281 325282 325283 325284 325285 325286 325287 325288 325289 325290 325291 325292 325294 325295 325296 325297 325298 325299 325300 325301 325302 325304 325305 325307 325308 325309 325311 325312 325313 325314 325315 325316 325319 325320 325321 325323 325324 325326 376632 524493 524494 524495 524496 524505 524506 524514 524515 524516 524518 524519 524520 524521 524523 524551 524552 524553 524554 524556 524557 524558 524560 524561 524562 524563 524564 524565 524567 524568 524569 524570 524571 524573 524574 524575 524576 524577 524578 524597 524653 524654 524710 524713 524716 524717 524737 524738 524739 524741 524742 524744 524746 524747 524749 524750 524751 524752 524753 524754 524755 524756 524757 524758 524760 524762 524803 524804 524805 524806 524807 524808 524809 596281 598068 598108 598109 598110 598111 598112 598113 598114 598815 598817 599416 599585 599885 599920 600530 600533 600534 600535 600547 600548 600631 600632 682503 682508 682511 682515 684070 684072 684073 684074 684075 686894 686895 699762 700298 751318 869010 870244 887915 936022 936025 936026 936028 936030 936031 936033 936241 939793 993560 993561 993562 993564 993570 993590 993591 994385 995130 995158 999400 999403 999405 999407 999409 999410 999411 999412 999413 999414 999415 999420 999421 999424 999425 999427 999428 999429 999430 999431 999433 999434 999435 999436 999437 999438 999439 999441 999443 999445 999446 999448 999451 999452 999454 999455 999456 999460 999464 999465 999466 999467 999468 999470 999471 999472 999474 999475 999476 999477 999478 999479 999481 999482 999483 999484 999490 999491 999492 999494 999495 999496 999498 999500 999501 999502 999503 999504 999505 999506 999507 999508 999509 999510 999511 999512 999513 999514 999515 999516 999517 999518 999519 999520 999521 999522 999523 999524 999528 999529 999538 999539 999540 999543 999544 999545 999546 999547 999548 999554 999560 999562 999563 999564 999565 999568 999569 999570 999572 999573 999574 999575 999576 999577 999579 999580 999588 999591 999593 999594 999595 999606 999607 999608 999609 999614 999618 999619 999620 999624 999625 999626 999627 999628 999629 999630 999631 999632 999633 999634 999635 999636 999638 999639 999640 999641 999642 999643 999644 999645 999648 999650 999651 999653 999654 999655 999656 999657 999658 999659 999660 999662 999665 999669 999670 999672 999674 999675 999676 999677 999678 999679 999680 999681 999682 999683 999684 999685 999686 999687 999690 999692 999693 999696 999699 999700 999703 999710 999711 999713 999714 999715 999716 999717 999719 999720 999722 999723 999724 999726 999727 999728 999729 999730 999731 1000570 1000571 1000612 1000617 1000754 1000760 1000793 1000802 1001591 1001592 1001593 1001594 1001595 1001597 1001598 1001600 1001601 1001602 1001603 1001608 1001611 1001612 1001613 1001614 1001615 1001616 1001618 1001622 1001624 1001625 1001627 1001628 1001634 1001638 1001640 1001641 1001642 1002237 1002434 1002439 1002442 1002443 1002444 1002446 1002449 1002450 1002451 1002452 1002453 1002457 1002458 1002460 1002466 1002471 1002472 1002475 1002476 1002480 1002481 1002484 1002485 1003271 1003272 1003273 1003278 1003279 1003280 1003283 1003284 1003286 1003288 1003289 1003290 1003291 1003292 1003293 1003294 1003295 1003297 1003298 1003299 1003300 1003301 1003303 1003311 1003314 1003318 1003321 1003322 1003323 1003324 1003325 1003326 1003328 1003330 1003332 1004209 1004212 1004214 1004215 1004226 1004230 1004566 1004567 1004568 1004570 1004574 1004575 1004576 1005317 1005318 1005320 1005322 1005324 1005328 1005329 1005332 1005335 1005338 1005339 1005343 1005344 1005345 1005348 1005648 1005649 1005650 1005735 1005737 1005739 1005740 1005743 1005783 1006141 1006142 1006145 1006147 1006148 1006149 1006396 1006442 1006443 1006446 1006448 1006449 1006571 1006573 1006575 1006578 1006580 1006582 1006587 1006671 1006672 1006674 1006675 1006678 1006679 1006680 1006756 1006757 1006758 1006771 1006789 1006790 1006852 1006856 1006858 1006934 1006951 1006952 1007024 1007025 1007053 1007136 1007137 1007138 1007139 1007231 1007387 1007630 1007631 1007633 1007636 1007643 1007647 1007651 1007655 1007658 1007659 1007660 1007679 1007682 1007683 1007685 1007687 1007688 1007754 1007755 1007927 1007946 1007960 1007962 1007965 1007971 1007978 1008108 1008117 1008230 1008383 1008670 1008724 1008727 1008729 1008730 1008731 1008732 1008735 1008736 1008737 1008738 1008739 1008773 1009120 1009349 1009388 1009389 1009391 1009392 1009394 1009398 1009491 1009750 1009811 1009934 1009955 1009969 1009973 1009974 1010036 1010106 1010144 1010145 1010146 1010147 1010149 1010150 1010190 1010231 1010371 1010372 1010374 1010375 1010376 1010378 1010380 1010381 1010385 1010553 1010578 1010677 1010682 1010683 1010685 1011006 1011007 1011292 1011293 1011993 1011995 1012000 1012001 1012004 1012005 1012468 1013156 1013687 1013690 1013691 1013692 1013733 1013735 1013736 1013768 1013926 1014017 1014124 1014148 1014149 1014150 1014183 1014225 1014232 1014234 1014268 1014439 1014641 1014642 1015274 1015296 1015537 1015596 1015658 1015703 1015705 1015798 1015901 1015903 1015930 1015936 1015937 1015938 1015954 1016444 1016445 1016446 1016533 1016650 1016807 1016926 1016931 1016932 1016935 1016937 1016996 1016997 1017269 1017273 1017274 1017434 1017816 1017821 1017823 1017841 1017864 1017865 1017943 1018130 1018442 1018450 1018451 1018512 1018513 1018515 1018517 1018518 1018519 1018794 1019274 1019286 1019287 1019288 1019291 1019292 1019297 1019304 1019305 1019306 1019312 1019313 1019315 1019370 1019371 1019372 1019375 1019602 1019920 1019922 1019972 1020092 1020093 1020094 1020096 1020565 1020567 1020570 1020573 1020574 1020575 1020580 1020585 1020589 1020591 1021031 1021530 1021532 1021533 1021534 1021536 1021539 1021540 1021541 1021542 1021543 1021544 1021546 1021550 1021551 1021552 1021553 1021554 1021555 1021556 1021557 1021558 1021559 1021561 1021562 1021564 1021566 1021583 1021588 1021590 1021599 1021602 1021603 1021604 1021850 1022296 1022332 1022360 1022361 1022363 1022364 1022639 1022640 1022641 1022642 1022713 1022772 1022783 1022939 1022940 1023069 1023080 1023081 1023088 1023097 1023098 1023099 1023101 1023342 1023344 1023345 1023346 1023347 1023350 1023351 1023352 1023353 1023357 1023358 1023361 1023363 1023365 1023634 1023636 1023637 1023795 1023796 1023797 1023798 1023803 1023804 1023806 1023972 1024047 1024282 1024372 1024863 1024864 1024865 1024867 1024893 1025470 1025474 1025476 1025480 1025482 1025483 1025484 1025490 1025491 1025516 1025675 1025781 1025807 1025901 1025902 1026940 1026943 1027071 1027073 1027074 1027075 1027076 1027246 1027247 1027248 1027251 1027253 1027254 1027266 1027326 1027327 1027332 1027354 1027355 1027356 1027357 1027358 1027359 1027948 1028117 1028168 1028184 1028233 1028241 1028313 1028369 1028445 1028447 1028449 1028483 1028922 1028967 1028968 1029335 1029399 1029401 1029790 1029791 1030248 1030280 1030281 1030495 1030496 1030497 1030498 1030844 1032089 1032090 1032091 1032092 1032127 1032175 1032378 1032385 1032436 1032438 1032439 1032440 1032450 1032454 1032460 1032602 1033115 1033116 1033117 1033119 1033120 1033422 1033931 1033933 1033975 1034068 1034069 1034093 1034177 1034401 1034856 1034904 1034907 1035100 1035102 1035474 1035475 1035479 1035895 1036073 1036243 1036246 1036250 1036471 1036825 1036881 1036913 1036914 1037144 1037457 1037571 1037745 1037746 1037797 1038886 1038955 1038956 1038957 1039177 1039178 1039180 1039181 1039545 1039546 1039551 1039552 1039564 1039566 1039568 1039569 1039573 1039574 1039579 1039581 1039658 1039697 1039711 1039746 1039747 1039893 1040290 1040367 1040368 1040369 1040591 1040596 1041070 1041073 1041074 1041118 1041405 1041505 1041585 1041595 1041670 1041981 1041982 1041983 1041984 1041985 1041986 1041988 1041989 1041990 1042562 1042613 1042619 1042659 1042806 1042807 1043143 1043146 1043147 1043148 1043149 1043769 1044450 1044557 1044905 1044969 1044970 1045012 1045116 1045117 1045118 1045313 1045656 1045691 1045878 1045879 1045880 1045883 1045885 1045887 1045888 1045889 1045891 1045894 1045902 1045903 1045904 1045905 1045907 1045909 1046075 1046076 1046100 1046134 1046167 1046168 1046232 1046239 1046401 1046498 1046499 1046500 1046501 1046502 1046503 1047030 1047833 1047835 1047837 1047839 1047840 1047845 1048240 1048730 1048732 1048733 1048773 1048823 1048841 1048842 1048843 1049101 1049398 1049404 1049406 1049562 1049566 1049567 1050100 1050551 1051013 1051016 1051321 1051322 1051446 1051447 1051448 1051449 1051451 1051452 1051453 1051521 1051522 1051523 1052300 1052306 1052309 1052585 1052596 1052753 1052787 1052788 1052789 1052790 1052930 1052932 1053291 1053447 1053745 1053746 1053747 1053748 1053749 1053750 1054158 1054301 1054306 1056893 1056909 1056911 1056917 1056919 1057322 1057326 1057327 1057523 1058061 1058598 1058599 1058600 1058603 1058604 1058606 1058607 1058609 1058610 1058616 1058619 1058620 1058860 1058861 1058862 1058872 1058873 1058884 1059123 1059263 1059691 1059696 1059698 1059700 1059800 1060075 1060076 1060080 1060083 1060085 1060087 1060088 1060809 1060814 1060817 1060820 1060822 1060823 1060825 1060837 1060975 1061513 1061819 1061820 1062350 1062351 1062352 1062354 1062368 1062369 1062468 1062476 1062481 1063252 1063253 1063254 1063256 1063259 1063263 1063264 1064338 1064339 1064975 1065019 1065115 1065201 1066361 1066623 1066665 1066675 1066992 1066993 1067001 1067003 1067833 1068143 1068144 1068557 1069293 1069457 1069460 1069461 1069464 1069465 1069474 1069476 1069700 1070001 1070383 1070385 1070386 1070387 1070388 1070653 1071047 1071202 1071221 1071222 1071226 1071227 1071228 1071231 1071235 1071241 1071242 1071243 1071248 1071253 1071269 1071729 1071732 1071734 1073190 1073191 1073192 1073194 1073196 1073198 1073202 1074132 1074751 1075385 1076126 1076127 1076130 1076133 1076135 1076137 1076139 1076140 1076542 1076543 1076560 1076624 1077234 1077236 1077237 1077239 1077532 1078309 1079201 1079202 1079203 1080009 1080010 1080011 1080221 1080368 1080369 1080380 1080383 1080475 1080476 1080478 1081190 1081191 1081192 1081193 1081195 1081198 1081199 1081200 1081201 1081288 1081446 1081553 1081646 1081780 1081917 1081919 1081970 1082052 1082070 1082101 1082270 1082327 1082580 1082581 1082821 1083117 1083375 1083751 1084194 1084198 1084315 1084766 1084767 1084792 1085164 1085196 1085475 1086383 1086889 1087434 1087861 1087862 1087863 1089352 1090624 1091282 1091283 1091463 1091551 1091555 1092518 1092840 1092913 1092919 1093037 1093038 1093040 1093146 1093204 1093528 1093650 1093751 1093762 1094016 1094396 1094416 1094760 1095368 1095442 1095443 1095775 1095776 1095787 1095815 1095817 1095820 1095822 1095834 1095853 1095867 1123019 1135180 1135182 1135183 1135593 1136004 1136016 1136030 1140552 1140701 1187158 1187434 1187435 1187436 1187444 1187516 1187971 1187974 1187977 1188223 1188348 1188799 1189369 1189999 1190047 1190791 1190792 1191349 1191350 1193214 1193607 1193644 1193645 1194126 1194127 1194587 1194882 1195223 1195342 1195457 1195458 1195818 1196051 1196923 1197053 1197387 1197455 1198217 1200323 1200865 1201571 1201573 1202001 1202319 1202837 1202839 1202857 1206469 1206471 1206473 1207094 1207095 1207377 1207381 1207383 1207385 1208209 1208210 1208211 1208263 1208289 1208291 1208792 1208793 1209596 1209936 1210594 1210683 1210684 1210693 1210697 1210704 1210707 1210711 1210918 1210919 1211007 1211010 1211509 1211651 1211978 1211982 1212637 1213424 1213571 1213636 1214498 1214539 1214540 1214542 1217456 1217630 1217632 1217701 1217878 1217879 1218105 1221327 1221328 1221556 1221726 1222576 1222891 1222892 1222895 1223208 1223624 1223627 1225190 1225192 1225730 1225790 1226020 1227333 1230245 1230378 1230381 1231067 1231702 1233029 1233031 1233190 1233587 1233669 1233794 1233824 1233834 1233844 1233849 1234039 1234105 1234691 1234728 1235649 1260941 1263339 1265458 1265459 1265460 1265463 1265466 1265468 1265469 1265472 1265477 1265479 1265486 1265489 1265490 1265492 1265494 1265497 1265499 1265524 1265525 1265526 1265527 1265528 1265529 1265533 1265535 1265536 1265540 1265544 1265545 1265546 1265548 1265549 1269102 1269104 1269109 1269119 1269124 1269133 1269144 1269145 1269146 1269148 1269151 1269154 1269157 1269158 1269161 1269169 1269178 1269179 1269204 1269214 1269236 1269239 1269264 1269265 1269268 1269277 1269280 1269299 1269316 1269321 1269322 1269323 1269327 1269329 1269331 1269334 1269335 1269336 1269346 1269367 1269384 1269394 1269395 1269397 1269399 1269413 1269415 1269421 1269422 1269462 1269466 1269497 1269511 1269512 1269513 1269514 1269523 1270042 1270109 1270111 1270114 1270179 1270185 1270261 1270262 1270263 1270279 1270316 1270323 1270327 1270398 1270423 1270429 1270542 1270557 1270575 1270676 1270774 1270778 1270780 1270782 1270785 1270787 1270797 1271111 1271116 1271137 1271316 1271358 1271369 1271370 1271375 1271376 1271377 1271387 1271389 1271423 1271429 1271430 1271453 1271464 1271473 1271539 1271540 1273197 1273745 1273748 1273752 1275519 1280551 1295943 1295949 1295950 1295951 1295952 1295953 1295983 1295986 1295995 1295999 1296015 1296036 1296038 1296046 1296047 1296056 1296057 1296059 1296064 1296067 1296069 1296076 1296078 1296083 1296086 1296087 1296091 1296095 1296098 1296100 1296106 1296110 1296111 1296124 1296125 1296127 1296132 1296143 1296145 1296149 1296151 1296152 1296159 1296163 1296167 1296178 1296180 1296181 1296184 1296185 1296192 1296194 1296196 1296197 1296201 1296209 1296211 1296221 1296222 1296242 1296253 1296271 1296279 1296297 1296321 1296325 1296350 1296355 1296367 1296372 1296385 1296458 1296468 1296478 1296481 1296494 1296498 1296500 1296504 1296505 1296506 1296507 1296508 1296509 1296510 1296521 1296543 1296550 1296559 1296560 1296562 1296564 1296565 1296569 1296572 1296573 1296574 1296576 1296578 1296581 1296589 1296594 1296595 1296596 1296597 1296599 1296601 1296602 1296603 1296608 1296611 1296618 1296632 1296637 1296644 1296648 1296677 1296678 1296679 1296682 1296687 1296689 1296691 1296692 1296717 1296719 1296720 1296721 1296729 1296748 1296752 1296771 1296776 1296779 1296785 1296786 1296790 1296791 1296794 1296801 1296802 1296811 1296823 1296824 1296828 1296829 1296842 1296845 1296847 1296854 1296858 1296860 1296870 1296872 1296873 1296883 1296886 1296894 1296904 1296912 1296915 1296918 1296928 1296930 1296936 1296937 1296944 1296949 1296955 1296957 1296958 1296960 1296966 1296973 1296985 1296988 1296990 1296994 1296999 1297005 1297007 1297009 1297013 1297014 1297016 1297017 1297041 1297045 1297046 1297047 1297050 1297053 1297055 1297058 1297059 1297060 1297065 1297068 1297071 1297073 1297081 1297088 1297089 1297090 1297110 1297116 1297118 1297122 1297140 1297149 1297160 1297172 1297173 1297176 1297181 1297193 1297202 1297209 1297212 1297213 1297246 1297253 1297260 1297268 1297278 1297281 1297283 1297293 1297301 1297306 1297330 1297337 1297338 1297342 1297343 1297369 1297390 1297393 1297396 1297406 1297409 1297410 1297412 1297414 1297415 1297417 1297418 1297424 1297433 1297437 1297438 1297439 1297441 1297462 1297466 1297485 1297486 1297488 1297497 1297498 1297537 1297550 1297558 1297575 1297594 1297596 1297597 1297599 1297604 1297605 1297614 1297623 1297624 1297625 1297631 1297652 1297654 1297667 1297669 1297670 1297703 1297726 1297735 1297737 1297738 1297743 1297746 1297750 1297752 1297753 1297754 1297758 1297760 1297768 1297775 1297779 1297808 1297814 1297830 1297840 1297848 1297852 1297854 1297859 1297876 1300203 1300214 1300216 1300242 1300245 1300246 1300275 1300276 1300278 1300284 1300297 1300298 1300337 1300354 1300357 1300371 1300377 1300378 1300393 1300395 1300419 1300422 1300429 1300430 1300431 1300432 1300433 1318966 1318993 1319938 1320152 1320156 1320157 1321442 1321443 1321444 1321456 1321458 1321459 1321468 1321470 1321472 1321685 1321770 1327699 1328905 1331371 1384608 1384667 1443008 1444147 1444148 1444154 1444156 1444158 1446888 1449550 1449838 1450009 1455846 1456851 1458757 1459102 1459185 1460710 1460838 1460840 1460842 1461853 1462085 1463882 1463884 1463885 1463887 1463888 1463896 1465074 1466111 1466192 1466925 1468518 1468799 1469830 1470145 1470266 1470268 1470270 1470272 1470273 1470275 1470277 1470279 1470282 1470290 1475449 1476179 1476836 1476837 1476843 1476845 1476846 1478661 1479254 1480540 1481146 1481315 1482139 1482950 1483190 1483601 1484188 1484191 1485178 1485181 1485183 1485207 1485208 1485209 1485213 1485217 1485219 1485222 1485223 1485525 1485694 1485824 1485853 1485858 1485946 1486224 1486373 1486615 1487094 1487095 1487096 1489039 1491103 1491105 1491106 1491608 1492328 1493979 1494411 1494415 1494721 1494724 1495664 1496390 1496391 1496392 1496394 1496395 1496599 1496949 1496969 1496970 1496973 1496976 1497007 1497008 1497012 1497014 1497019 1497020 1497023 1497029 1497037 1497065 1497067 1497070 1498160 1498591 1498594 1501175 1502450 1504085 1504086 1510418 1510458 1510459 1510677 1510680 1511028 1511372 1511385 1511388 1511390 1511417 1511485 1511653 1511654 1512658 1512690 1513843 1513846 1513853 1513861 1513867 1514653 1514714 1515161 1517084 1517101 1517676 1519130 1519146 1519162 1519165 1519166 1520114 1520150 1520228 1520437 1520439 1521751 1522372 1522424 1523976 1527399 1533652 1533653 1540889 1541715 1562201 1562437 1562740 1562822 1564480 1564897 1564898 1579765 1579826 1611641)\n(82 5861 5862 5863 8627 8630 9017 10364 12878 17381 17387 19426 26006 26878 32520 33629 35269 40667 40669 40683 78945 79122 79126 79247 79627 79639 79704 79867 79868 79869 80143 162788 162789 162801 162802 162803 178648 178654 178659 200928 221902 242574 242613 242831 282579 282668 376317 376638 487717 525015 525016 525017 525018 525038 596352 597416 597534 597707 597731 597989 598262 598310 598888 598991 599160 599161 599419 599442 599639 599647 599748 599772 599773 599777 599862 599927 599958 600368 600504 600507 600509 600528 600587 600598 600629 678930 678931 683224 751970 751971 751979 751980 752095 752172 752248 814038 814039 814042 814043 872130 872177 872219 872284 887810 887812 887813 887814 887815 887816 887824 887905 887951 887952 917791 917792 920648 920677 949688 949728 969664 1113686 1135935 1136345 1138433 1304648 1328288 1328887 1510854 1510934 1511040 1511693 1511759 1511897 1512007 1512489 1512651 1513282 1513380 1513384 1513400 1514433 1514534 1514628 1514698 1514862 1515232 1515335 1515563 1515564 1515565 1516029 1516329 1516450 1516514 1516711 1517169 1517480 1517499 1517519 1517723 1517888 1517890 1519025 1519116 1519119 1519159 1519304 1519305 1520144 1522053)\n(83 2775 4374 4376 9597 9601 9609 9618 10991 10996 12251 14678 20909 20911 20912 21422 27489 34957 37741 39449 39450 43226 79623 86138 162514 162516 162517 162646 162647 178706 242504 242578 260283 282332 282674 282675 376284 524726 596446 597171 597915 599936 677062 815319 870117 870177 870179 870326 870619 870951 871582 871694 871695 1257972 1257973 1328866 1510551 1515056 1516770 1547287)\n(84 866 1283 1512 1514 2639 2839 3835 3911 3918 4179 4185 4726 5156 5485 5513 5548 5557 5825 5846 5971 5975 5978 6086 6856 7439 7848 7963 8034 8962 8982 9199 9249 9346 9653 9836 9837 9838 9886 10317 10384 10397 10442 11355 11367 11373 11377 11381 11388 11394 11447 11450 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 13119 13187 13314 13448 13452 13761 13962 14243 15369 15417 15421 15803 16100 16266 16533 17004 17108 17124 17230 17238 17815 18682 18768 18825 18829 18830 19005 19560 19884 21102 21113 21178 21179 21436 21437 21438 21455 21461 21513 21639 21648 21900 21901 21902 21906 21909 22414 22678 22748 23036 23081 23086 23319 23692 23730 24483 24696 24861 24939 24962 25080 25117 25973 26642 27524 27551 28771 28791 29331 29333 29334 29352 29353 29365 29395 30067 30068 30163 30216 30276 30694 30850 31091 31095 31096 31246 31248 32042 32159 32694 32695 32703 33250 34605 34758 35208 36405 36605 36672 37816 38009 38257 38348 38916 38917 38923 38927 38928 38930 38932 38935 38937 38938 38969 39141 39142 39288 39293 40289 40454 40477 40519 40661 40662 41158 41208 41278 41697 42226 42241 42260 42262 42265 42296 42325 42497 42498 43016 43143 43160 43305 43337 43338 64121 79321 79635 79806 80266 80306 85071 85099 85104 85275 85276 85283 85428 85590 85678 85734 85842 85869 86019 86337 86454 86510 86557 86841 86855 86856 87153 87165 149658 150414 150554 150595 150683 150694 150740 150789 150798 162307 162308 162350 162528 162589 162645 162686 162704 162705 162706 162708 175641 175642 175643 175645 175648 175649 175661 175662 175663 175718 175721 175722 175723 175726 175727 175728 175729 175731 175733 175734 175735 175736 175739 175749 175750 175751 175752 175753 178120 178483 178611 178662 178861 178946 178947 178948 178949 178950 178951 178959 178960 178961 178962 178967 178978 178979 178980 178982 178984 178986 178987 178988 178990 178993 178997 179002 179015 179017 179023 179024 179025 179028 179031 179032 179038 179044 179047 179059 179063 179064 179073 179076 179078 179080 179081 179082 179083 179084 179098 179099 179101 179102 179106 179108 179110 179112 179113 179118 179120 179121 179123 179126 179127 179129 179136 179137 179139 179144 179146 179155 179161 179164 179167 179171 179173 179177 179181 179184 179188 179192 179199 179200 179201 179202 179204 179205 179209 179210 179211 179212 179213 179214 179215 179224 179226 179228 179230 179233 179234 179236 179237 179241 179245 179261 179263 179266 179267 179268 179269 179271 179274 179275 179278 179281 179282 179283 179285 179287 179288 179290 179296 179301 179302 179303 179305 179310 179312 179313 179314 179321 179322 179323 179326 179333 179334 179336 179338 179341 179344 179345 179348 179350 179358 179361 179366 179367 179369 179372 179378 179381 179385 179387 179388 179390 179392 179393 179395 179403 179406 179407 179412 179413 179414 179415 179417 179418 179419 179421 179422 179423 179424 179429 179432 179433 179434 179435 179446 179448 179450 179451 179456 179458 179459 179460 179461 179462 179466 179470 179471 179472 179479 179481 179484 179488 179493 179494 179500 179502 179511 179513 179521 179525 179526 179527 179528 179533 179534 179535 179536 179537 179538 179539 179540 179541 179543 179544 179546 179547 179548 179557 179559 179560 179563 179564 179565 179566 179567 179571 179572 179573 179574 179578 179579 179580 179581 179582 179583 179584 179587 179588 179591 179594 179598 179601 179602 179605 179606 179608 179617 179620 179622 179624 179625 179630 179636 179650 179658 179662 179684 179687 179688 179692 179693 179694 179695 179707 179711 179712 179713 179716 179718 179720 179724 179726 179732 179733 179734 179740 179741 179742 179743 179745 179746 179747 179749 179751 179752 179753 179754 179757 179760 179761 179762 179766 179768 179769 179770 179772 179774 179775 179777 179779 179780 179781 179783 179784 179785 179786 179787 179788 179790 179791 179792 179795 179796 179797 179798 179799 179800 179802 179804 179805 179806 179809 179814 179815 179818 179834 179835 179837 179840 179841 179842 179844 179847 179848 179850 179854 179860 179863 179869 179874 179876 179879 179880 179889 179891 179894 179895 179897 179899 179900 179906 179907 179908 179909 179910 179912 179914 179926 179931 179932 179933 179934 179935 179936 179937 179938 179940 179942 179948 179949 179951 179952 179953 179954 179955 179958 179959 179961 179966 179967 179968 179969 179970 179972 179973 179974 179976 179977 179980 179982 179983 179985 179986 179988 179989 179990 179991 179992 179993 179994 179997 179998 180001 180002 180003 180006 180008 180011 180013 180015 180016 180019 180020 180022 180023 180025 180026 180030 180031 180040 180053 180055 180057 180059 180060 180063 180073 180080 180086 180091 180092 180094 180095 180096 180101 180105 180112 180114 180117 180123 180125 180131 180134 180135 180138 180139 180140 180141 180142 180145 180148 180153 180158 180180 180182 180185 180187 180188 180191 180197 180198 180199 180202 180203 180204 180206 180207 180208 180209 180212 180213 180215 180217 180220 180231 180233 180235 180236 180249 180251 180256 180258 180259 180260 180261 180263 180266 180268 180270 180272 180273 180274 180275 180276 180277 180279 180289 180292 180294 180297 180301 180303 180307 180309 180316 180321 180322 180333 180336 180337 180341 180342 180344 180345 180361 180372 180377 180381 180383 180384 180388 180389 180392 180402 180407 180409 180410 180411 180412 180413 180414 180423 180424 180426 180430 180431 180433 180435 180436 180437 180438 180439 180441 180442 180443 180444 180445 180446 180447 180449 180453 180455 180456 180457 180459 180460 180461 180463 180468 180470 180475 180476 180479 180480 180482 180485 180487 180488 180494 180496 180497 180498 180499 180500 180501 180503 180504 180511 180515 180516 180518 180519 180520 180521 180523 180524 180527 180530 180531 180533 180534 180535 180538 180539 180541 180546 180549 180552 180555 180556 180560 180565 180566 180570 180571 180572 180573 180576 180577 180578 180585 180587 180589 180590 180591 180600 180601 180602 180603 180605 180609 180610 180611 180612 180615 180617 180619 180620 180621 180625 180626 180628 180630 180632 180633 180635 180636 180638 180639 180640 180641 180643 180644 180645 180646 180647 180648 180649 180652 180658 180665 180666 180667 180668 180674 180675 180676 180677 180679 180680 180683 180687 180688 180694 180700 180705 180712 180713 180714 180717 180726 180727 180729 180735 180737 180738 180741 180742 180744 180745 180747 180748 180749 180752 180753 180758 180759 180761 180764 180765 180770 180771 180777 180781 180788 180797 180798 180799 180805 180806 180811 180813 180814 180815 180816 180819 180821 180822 180823 180826 180842 180843 180846 180847 180849 180851 180852 180853 180856 180858 180859 180860 180863 180865 180872 180875 180877 180879 180880 180883 180894 180902 180908 180909 180910 180911 180912 180913 180915 180917 180918 180919 180921 180923 180924 180931 180932 180933 180936 180937 180940 180941 180942 180943 180944 180945 180946 180947 180949 180950 180951 180953 180955 180956 180960 180963 180964 180965 180966 180967 180972 180978 180979 180982 180991 181001 181002 181007 181014 181016 181017 181019 181020 181021 181022 181023 181024 181025 181026 181029 181033 181035 181041 181043 181060 181061 181062 181063 181064 181065 181066 181069 181080 181088 181089 181095 181100 181103 181110 181113 181115 181116 181117 181119 181124 181125 181126 181127 181129 181130 181134 181135 181140 181145 181153 181154 181155 181157 181158 181159 181160 181161 181164 181166 181168 181169 181171 181173 181174 181175 181176 181183 181184 181185 181186 181188 181196 181200 181201 181202 181203 181204 181206 181208 181209 181213 181214 181217 181220 181222 181226 181228 181232 181233 181234 181239 181243 181249 181250 181252 181255 181261 181262 181264 181268 181270 181272 181273 181275 181276 181278 181280 181281 181282 181287 181293 181297 181299 181304 181306 181307 181311 181313 181314 181317 181319 181320 181324 181327 181331 181332 181334 181339 181340 181342 181343 181355 181360 181364 181366 181367 181368 181370 181374 181382 181386 181390 181398 181404 181406 181408 181420 181427 181433 181434 181440 181442 181448 181451 181452 181455 181456 181460 181461 181462 181463 181464 181469 181470 181471 181472 181477 181479 181481 181484 181485 181493 181497 181501 181507 181512 181514 181520 181522 181523 181524 181525 181530 181532 181534 181535 181539 181540 181544 181546 181548 181549 181555 181561 181565 181567 181569 181573 181575 181586 181591 181592 181597 181598 181607 181608 181610 181611 181612 181613 181620 181622 181627 181628 181630 181631 181633 181634 181637 181638 181639 181642 181645 181648 181649 181651 181652 181656 181663 181670 181671 181672 181676 181678 181679 181687 181689 181690 181691 181702 181705 181706 181707 181708 181710 181711 181712 181715 181716 181721 181722 181725 181732 181734 181735 181736 181737 181739 181740 181741 181744 181746 181751 181758 181762 181764 181768 181769 181770 181773 181774 181775 181776 181782 181792 181793 181795 181797 181799 181801 181804 181807 181808 181810 181812 181813 181814 181821 181826 181827 181830 181831 181832 181834 181835 181836 181839 181840 181841 181842 181843 181845 181846 181849 181850 181852 181854 181856 181857 181858 181859 181860 181863 181869 181870 181877 181885 181888 181889 181893 181898 181899 181900 181902 181904 181906 181908 181909 181911 181916 181925 181926 181928 181929 181931 181933 181935 181937 181941 181944 181946 181947 181948 181949 181950 181951 181952 181954 181956 181958 181959 181960 181961 181962 181963 181964 181965 181966 181967 181970 181971 181972 181975 181976 181977 181978 181979 181981 181982 181983 181984 181985 181987 181988 181989 181990 181991 181994 181995 181996 181997 181998 182000 182009 182016 182017 182021 182024 182025 182026 182027 182028 182030 182032 182035 182037 182042 182044 182046 182047 182048 182051 182052 182058 182060 182062 182064 182065 182085 182087 182088 182090 182092 182096 182098 182100 182103 182104 182105 182107 182109 182114 182116 182117 182122 182123 182124 182127 182128 182129 182130 182135 182138 182139 182140 182141 182143 182144 182147 182148 182152 182158 182161 182162 182169 182170 182174 182175 182180 182181 182182 182185 182198 182201 182204 182205 182206 182209 182211 182214 182215 182216 182217 182224 182226 182228 182229 182230 182233 182234 182235 182237 182238 182241 182242 182243 182246 182250 182251 182252 182253 182256 182257 182258 182260 182261 182262 182265 182268 182273 182274 182278 182281 182285 182286 182293 182295 182296 182299 182300 182301 182306 182309 182310 182313 182315 182316 182318 182319 182320 182321 182324 182326 182332 182333 182334 182338 182339 182340 182344 182346 182347 182349 182362 182363 182365 182366 182374 182377 182380 182381 182386 182387 182389 182395 182397 182398 182400 182404 182411 182412 182414 182417 182421 182427 182428 182431 182432 182433 182434 182435 182437 182440 182441 182442 182444 182448 182450 182452 182453 182456 182460 182463 182464 182466 182467 182469 182473 182476 182477 182479 182481 182482 182483 182485 182486 182488 182491 182494 182495 182499 182502 182503 182504 182505 182506 182507 182510 182511 182512 182514 182515 182516 182517 182523 182525 182528 182537 182541 182547 182555 182556 182557 182558 182561 182562 182566 182567 182568 182569 182573 182576 182590 182591 182604 182605 182606 182609 182611 182619 182623 182626 182629 182634 182635 182637 182639 182642 182643 182644 182653 182655 182657 182662 182666 182667 182913 182914 182917 182920 182926 182928 182930 182933 182934 182935 182936 182938 182940 182953 182957 182965 182966 182967 182973 182975 182986 182987 182988 182990 182991 182992 182994 182996 182997 182998 183000 183001 183003 183005 183009 183012 183014 183015 183016 183017 183022 183026 183029 183030 183032 183033 183034 183035 183037 183043 183044 183045 183046 183047 183054 183055 183062 183064 183065 183069 183071 183076 183081 183083 183085 183086 183089 183091 183093 183094 183095 183100 183102 183103 183108 183109 183111 183114 183115 183116 183117 183121 183126 183129 183136 183142 183148 183151 183152 183153 183163 183170 183176 183177 183180 183181 183184 183185 183186 183187 183191 183195 183197 183200 183205 183206 183207 183210 183211 183212 183214 183216 183218 183219 183222 183223 183226 183233 183235 183248 183251 183252 183255 183257 183260 183263 183264 183268 183271 183276 183277 183279 183282 183288 183289 183292 183294 183295 183296 183297 183298 183302 183314 183315 183329 183332 183335 183336 183339 183340 183342 183346 183347 183350 183351 183355 183361 183364 183368 183370 183374 183377 183379 183380 183381 183386 183389 183390 183391 183392 183395 183396 183397 183399 183400 183401 183402 183403 183404 183406 183407 183412 183413 183414 183415 183416 183418 183424 183426 183427 183429 183430 183432 183433 183434 183440 183441 183443 183444 183446 183447 183452 183453 183454 183457 183460 183461 183464 183466 183467 183469 183473 183474 183476 183477 183479 183481 183484 183485 183500 183503 183507 183508 183512 183513 183514 183515 183516 183517 183518 183519 183520 183521 183522 183523 183530 183531 183532 183533 183542 183544 183545 183550 183552 183557 183559 183560 183561 183563 183566 183572 183578 183579 183580 183581 183584 183593 183597 183608 183610 183612 183614 183617 183620 183622 183626 183628 183629 183630 183631 183633 183634 183635 183644 183645 183646 183647 183648 183652 183655 183656 183659 183660 183663 183665 183666 183668 183673 183674 183675 183683 183684 183686 183690 183694 183699 183707 183712 183715 183716 183717 183718 183720 183721 183722 183727 183728 183729 183731 183732 183733 183734 183735 183736 183737 183738 183739 183740 183741 183742 183744 183745 183746 183747 183750 183754 183759 183760 183765 183778 183779 183783 183784 183785 183786 183788 183789 183792 183794 183796 183805 183809 183810 183811 183814 183818 183822 183823 183825 183827 183828 183830 183834 183837 183838 183839 183849 183852 183856 183865 183871 183873 183875 183878 183880 183884 183885 183894 183900 183906 183907 183915 183916 183919 183922 183924 183932 183936 183938 183940 183941 183943 183952 183954 183955 183957 183961 183964 183966 183967 183969 183971 183980 183981 183983 183984 183988 183989 183992 183993 183995 183996 184000 184007 184014 184020 184021 184022 184023 184024 184026 184027 184028 184029 184030 184035 184047 184049 184050 184054 184055 184058 184061 184066 184068 184069 184070 184072 184073 184074 184075 184079 184084 184090 184091 184094 184095 184097 184100 184104 184106 184107 184108 184109 184110 184111 184112 184113 184114 184115 184117 184119 184120 184121 184122 184130 184137 184138 184139 184142 184143 184144 184145 184146 184147 184148 184149 184151 184152 184154 184157 184159 184160 184161 184164 184165 184171 184173 184175 184176 184177 184178 184179 184180 184182 184186 184187 184189 184190 184192 184193 184204 184212 184213 184214 184216 184217 184218 184222 184228 184230 184232 184233 184236 184237 184238 184243 184249 184251 184252 184254 184256 184257 184259 184260 184261 184262 184263 184265 184266 184269 184271 184275 184276 184277 184278 184282 184283 184284 184285 184286 184287 184288 184290 184291 184297 184300 184301 184302 184303 184304 184305 184306 184310 184311 184315 184320 184321 184323 184324 184326 184327 184329 184331 184337 184338 184339 184348 184352 184360 184368 184370 184373 184378 184383 184397 184399 184402 184408 184413 184417 184422 184423 184425 184435 184442 184444 184446 184448 184451 184462 184480 184485 184486 206189 220792 221093 221798 221799 221809 221811 221812 221814 221815 221816 221819 221821 221822 221823 221829 221831 221835 221839 221842 221844 221846 221851 221857 221860 221863 221865 221866 221872 221874 221876 221877 221880 221881 221882 221891 221894 221897 242094 242302 242636 242919 259828 259830 259925 259975 262779 262798 262804 262806 262813 262816 262824 262831 262856 262857 262861 262864 262866 262869 262871 262872 262877 262878 262879 262880 262888 262891 262896 262912 281945 282007 282185 282611 301559 302605 302610 302612 302613 302614 302615 302617 302620 302622 302629 302630 302632 302637 302638 302639 302640 302645 302647 302649 302656 302657 302662 302667 302668 302669 302675 302676 302677 302678 302682 302713 302720 302723 302724 302726 302728 302729 302731 302733 302738 302746 302750 302751 302752 302753 302757 302763 302766 302769 302771 302775 302780 302781 302784 302789 306018 311061 336545 336546 336547 336548 336550 336551 336552 336559 336560 336561 336562 336563 336564 336565 336568 336569 336570 336571 336572 336573 336574 336575 336576 336579 336581 336584 336586 336587 336591 336595 336597 336598 336599 336600 336625 336630 336636 336637 336646 336648 336649 336651 336654 336657 336658 336659 336660 337184 344450 347948 347998 358515 361479 370201 376305 376511 392217 392220 392222 392223 392228 392229 392234 392245 392247 392251 392254 392257 392258 392260 392262 392265 392274 392276 392279 392285 392286 392288 392289 392290 392291 392292 392294 392295 392297 392298 392304 392305 392306 392307 392308 392413 407180 419312 419518 438831 438832 438835 438837 438838 438841 438842 438843 438847 438848 438849 438850 438851 438852 438853 438854 438855 438857 438858 438860 438861 438862 438863 438864 438866 438867 438868 438869 438870 438871 438873 438874 438875 438882 438883 438885 438886 438890 438891 438892 438895 438896 438897 438898 438899 438916 438917 438946 439254 440203 440211 440222 440223 440267 440760 441067 441070 441072 441074 441079 441081 441082 441083 441084 441085 441086 441087 441088 441089 441090 441093 441097 441099 441103 441104 441105 441106 441110 441113 441117 441120 441122 441123 441124 441125 441126 441127 441130 441131 441133 441134 441135 441138 441139 441140 441145 441146 441147 441150 441151 441153 441155 441156 441157 441158 441160 441161 441162 441163 441165 441166 441169 441170 441171 441172 441175 441177 441178 441180 441181 441186 441187 441188 441189 441190 441192 441195 441196 441197 441198 441200 441201 441202 441203 441205 441206 441209 441210 441214 441216 441217 441218 441220 441221 441224 441225 441227 441228 441229 441231 441232 441233 441234 441236 441239 441240 441244 441246 441247 441248 441254 441255 441256 441257 441258 441259 441260 441261 441262 441263 441264 441265 441266 441274 441275 441278 441280 441281 441283 441285 441289 441290 441291 441293 441294 441295 441297 441298 441299 441300 441301 441302 441305 441307 441309 441316 441319 441321 441322 441323 441327 441328 441329 441330 441331 441332 441340 441341 441343 441353 441356 441357 441358 441359 441360 441365 441366 441368 441421 441422 441425 441432 441470 443051 443187 443309 443310 444207 444216 444239 444240 444270 444271 444272 444291 444294 444298 444299 444300 444301 444304 444307 444310 444311 444327 444331 444480 444603 444663 444725 444747 444755 444756 444763 444768 444803 444824 444869 444875 444882 444888 444899 444936 444950 444955 445020 445078 445087 445112 445155 445182 445192 445225 445227 445233 445236 445249 445251 445253 445255 445300 445354 445368 445372 445377 445387 445402 445404 445408 449434 449436 449472 449934 450041 450042 450083 450084 450085 450086 450141 450144 450147 450150 450152 450155 450159 450161 450240 450436 450444 454141 454144 454145 454146 454147 454148 454149 454150 454152 454153 454154 454156 454157 454158 454160 454161 454164 454165 454168 454169 454170 454172 454174 454175 454178 454182 454183 454184 454185 454273 456171 456406 456420 456429 456430 456431 456642 456834 456898 457047 457169 457177 457267 457284 457285 457406 457428 457556 457557 457903 458032 460399 460418 460430 460486 460503 460627 460647 460741 460765 460823 460839 460840 460968 460982 461013 461511 461527 461560 461628 461643 461705 461708 461712 461714 461724 461739 461743 461774 461780 461785 461791 461794 461797 462542 462567 462570 462614 462622 462634 462708 462739 462823 462829 462865 462899 462900 462999 463007 463060 463197 463399 463659 463747 463812 464478 465803 466917 467079 467658 471220 471539 471824 472217 472226 472227 472230 472234 472240 474295 475251 475252 475254 475382 475404 475405 475942 489793 489794 489795 489825 489826 489833 489846 489869 489871 489885 489902 489904 490115 490129 490158 490207 490237 490460 490507 490526 490538 490615 490617 490618 490619 490630 490636 490672 490683 490688 490693 490694 490697 490712 490716 490733 490736 490744 490759 490765 490772 490788 490801 490804 490810 490829 490835 490844 490881 490922 490935 490960 490966 491003 491005 491026 491033 491041 491046 491047 491052 491056 491057 491069 491076 491127 491173 491183 491196 491199 491201 491208 491211 491217 491220 491228 491229 491233 491234 491235 491236 491240 491243 491244 491270 491283 491302 491303 491304 491306 491318 491338 491352 491356 491547 491548 491551 491558 491561 491563 491564 491569 491571 491576 491577 491581 491585 491587 491592 491604 491614 491616 491619 491624 491628 491629 491659 491662 491667 491669 491682 491683 491718 491721 491739 491743 491748 491750 491757 491762 491769 491795 491800 491812 491815 491816 491817 491832 491841 491850 491874 491878 491892 491893 491912 491913 491916 491921 491925 491926 491932 491939 491940 491941 491943 491970 492016 492050 492052 492071 492072 492076 492078 492079 492084 492086 492089 492092 492096 492124 492135 492136 492153 492157 492162 492183 492209 492215 492219 492224 492226 492229 492243 492244 492253 492254 492257 492262 492274 492284 492290 492291 492295 492306 492324 492339 492344 492358 492371 492372 492373 492448 492504 492524 492529 492531 492535 492536 492539 492578 492586 492594 492595 492615 492618 492623 492624 492626 492654 492663 492664 492667 492670 492673 492678 492691 492697 492707 492709 492717 492744 492752 492759 492772 492779 492789 492791 492792 492793 492794 492799 492828 492835 492841 492855 492861 492867 492870 492883 492899 492911 492958 492980 492997 493021 493031 493032 493036 493044 493049 493057 493060 493106 493116 493126 493142 493153 493160 493170 493174 493182 493183 493188 493189 493258 493266 493286 493291 493309 493310 493353 493370 493376 493377 493378 493426 493436 493439 493445 493455 493456 493463 493483 493494 493501 493506 493508 493527 493535 493536 493548 493549 493559 493560 493579 493583 493601 493611 493612 493644 493646 493661 493665 493675 493682 493690 493721 493722 493733 493737 493762 493765 493766 493770 493796 493802 493835 493843 493844 493853 493857 493864 493871 493878 493886 493888 493903 493905 493920 493934 493940 493951 493952 493959 493970 493976 494012 494014 494017 497653 497942 498194 498465 520453 521196 521197 521199 522637 522638 522639 522640 522641 522642 522643 522644 522645 522647 522648 522649 522650 524491 524691 524724 524922 542283 542286 542292 542294 542331 542459 546251 546844 549181 553601 554076 555850 555895 557834 559309 559653 559654 559812 559813 559819 559820 559953 562971 563015 563215 563216 563217 563218 563219 563558 563574 563576 563578 563579 563580 564390 564484 564485 564683 567371 567372 567441 567442 573967 573974 573975 573976 574086 580739 580747 580924 580925 581203 581214 581215 581264 581278 581285 581286 581396 581398 581399 581400 581401 581404 581406 581447 581449 581600 581648 581663 581792 581793 582124 582731 584586 584779 587132 587133 587273 587274 587276 587277 587723 587732 587733 587753 587759 587921 588162 588395 588415 588442 589344 589523 589543 589549 589550 589602 589612 590323 592626 593058 593113 593428 593622 594140 594141 594145 594146 594156 594157 594201 594745 594949 594957 595310 595312 595426 596206 596272 596485 596494 596604 596959 596972 597155 597187 597229 597256 597293 597394 597451 597499 597912 598006 598014 598330 598419 598423 598441 598442 598555 598938 599042 599078 599391 599493 599590 599700 599701 599852 599982 600199 600363 600364 600545 600546 600551 600597 677048 677444 677473 677475 677537 677582 677875 679327 679328 684254 687164 687165 687166 687167 687168 687173 687175 687181 687196 687205 687213 687225 687238 687239 687241 687242 687266 687272 687273 687276 687280 687283 687288 687289 687292 687300 687303 687304 687313 687314 687317 687318 687331 687333 687334 687335 687337 687338 687340 687341 687351 687358 687360 687367 687369 687370 687371 687374 687375 687376 687379 687382 687390 687391 687392 687394 687400 687402 687404 687408 687409 687413 687415 687418 687419 687420 687424 687431 687437 687440 687453 687458 687460 687464 687480 687489 687497 687516 687526 687527 687529 687532 687533 687536 687538 687539 687541 687542 687543 687545 687553 687558 687559 687562 687564 687566 687568 687569 687573 687593 687594 687597 687600 687601 687602 687603 687606 687607 687611 687613 687614 687619 687620 687633 687635 687640 687641 687646 687650 687651 687654 687657 687659 687661 687662 687668 687738 694681 700221 700351 700362 700368 702122 718501 721635 722829 723946 724850 724884 724906 724913 724937 725004 725039 725043 725044 725066 725077 725078 725081 725119 725138 725233 725303 725328 725354 725357 725421 725430 725449 725505 725512 725570 725603 725622 725631 725699 725704 725728 725734 725813 725837 725863 725865 725866 725867 725880 725882 725889 725893 725963 725972 726018 726185 726186 726194 726214 726228 726254 726278 726279 726289 726338 726343 726376 726388 726398 726402 726403 726404 726436 726438 726441 726443 726444 726471 726554 726628 726637 726642 726653 726725 726899 726902 726911 726916 726925 726930 726940 726943 726995 726996 727048 727049 727069 727082 727095 727098 727099 727105 727107 727121 727170 727186 727187 727292 727300 727359 727365 727444 727446 727479 727492 727522 727687 727711 727736 727790 727866 727873 727874 727878 727926 727937 727944 727960 727961 728235 728266 728289 728313 728364 728366 728406 728415 728424 728462 728475 728507 728560 728581 728688 728823 729276 729279 729294 729446 729448 730374 730375 730376 730377 730378 730385 731757 732293 733138 733778 740039 740040 740042 740043 740049 740087 740236 740245 741667 742379 743050 745058 745442 745696 746401 746436 748204 749854 750138 750164 750631 750653 750659 752061 752152 770542 770725 770762 770764 770784 770785 770788 770791 770806 770807 770821 770824 770826 770827 770828 770846 771083 771092 771093 771306 771333 772494 776981 777169 777233 777272 779151 780418 785110 785113 785223 785389 785609 785704 786570 788300 789995 790328 792850 794888 807749 808388 809784 809836 810444 810449 810450 810455 810456 810458 810460 810465 810471 810473 810479 810481 810482 810485 810489 810491 810492 810495 810496 810497 810499 810500 810501 810502 810506 810508 810510 810511 810513 810514 810519 810520 810522 810527 810529 810533 810535 810538 810542 810543 810552 810553 810556 810561 810580 810585 810595 810596 810597 810606 810609 810611 810622 810627 810633 810635 810640 812225 812416 812453 813036 814019 850121 850458 863764 871011 871928 872171 872182 872345 872382 876283 876293 876302 876481 876944 877786 877789 877793 877798 877859 878447 878812 878814 878816 878817 878821 878823 878826 878827 878828 878830 878833 878835 878839 878842 878845 878853 878856 878859 878860 878861 878864 878865 878866 878867 878869 878871 878872 878873 878874 878875 878883 878888 878909 878910 878911 878926 878927 878931 878937 878939 878943 878944 878951 878952 878962 878963 878965 878966 878967 878968 878969 878974 878976 878978 878980 878982 878983 878984 878992 878993 878994 879002 879004 879005 879006 879009 879011 879012 879013 879019 879023 879024 879027 879030 879032 879034 879036 879037 879042 879045 879047 879063 879076 879085 879091 879094 879095 879097 879099 879100 879102 879104 879117 879118 879119 879123 879126 879130 879134 879136 879137 879139 879140 879141 879155 879156 879165 879167 879169 879170 879171 879178 879179 879180 879181 879187 879189 879192 879197 879199 879201 879203 879208 879211 879212 879213 879215 879216 879218 879220 879224 879226 879230 879232 879240 879628 879630 879632 884854 886375 886377 886406 887808 917815 917951 917955 917957 917979 918039 918040 920434 935659 935727 936234 939562 939564 939751 940520 940840 940909 941139 941217 941222 969175 972395 972397 972400 972401 972403 972404 972408 972426 972427 972429 972753 973137 973138 973141 973155 973717 973726 975431 978105 982115 982197 982244 982440 982444 991494 991497 991561 991876 993596 993624 993625 993629 993726 994779 994940 995127 995147 1122995 1122996 1135597 1135964 1135965 1136123 1136124 1136346 1136348 1136738 1138678 1138679 1138706 1138715 1138737 1138738 1138742 1138751 1138755 1138772 1138785 1138788 1138823 1138829 1138850 1138870 1138873 1138877 1138878 1138881 1138886 1138887 1138888 1138891 1138892 1138893 1138898 1138899 1138905 1139023 1139064 1139067 1139068 1139203 1139453 1139480 1139723 1139727 1139730 1139740 1139754 1139755 1139760 1139761 1139766 1139767 1139768 1139769 1139770 1139780 1139819 1139826 1139835 1139836 1139837 1139840 1139841 1139842 1139843 1139853 1139855 1139856 1139859 1139860 1139862 1139864 1139865 1139868 1139873 1139875 1139878 1139879 1139880 1139930 1139950 1139952 1139953 1139955 1139962 1139963 1139964 1139966 1139989 1140597 1140600 1140604 1140605 1140606 1140607 1140608 1140609 1140614 1140620 1140622 1140623 1140624 1140627 1140658 1140660 1140662 1140668 1140669 1140670 1140678 1142577 1145639 1145640 1145659 1148466 1153732 1170760 1170823 1170855 1170881 1170884 1170929 1170950 1170958 1177780 1177884 1257922 1258018 1260595 1260597 1260599 1260605 1260867 1260869 1260870 1260969 1260970 1261174 1261188 1261333 1261334 1262325 1262326 1262342 1262346 1262351 1263440 1263442 1268544 1268545 1268547 1269095 1269808 1269810 1269811 1271149 1271256 1271261 1271438 1271440 1271441 1271510 1271524 1271528 1271533 1271537 1271542 1271578 1272580 1272601 1272605 1272607 1272608 1272609 1272612 1272613 1272698 1272717 1272719 1272721 1272723 1272727 1272728 1272731 1272732 1272733 1272736 1272737 1272738 1272740 1272741 1272742 1272835 1273003 1273016 1273149 1273294 1273532 1273637 1275634 1275645 1275646 1275647 1275648 1275732 1275735 1275736 1275738 1275745 1275992 1275993 1279454 1279716 1281663 1282212 1282214 1282215 1282245 1282254 1282255 1282256 1282257 1282261 1282266 1282795 1282807 1282813 1282836 1283055 1283057 1283058 1283059 1283087 1283091 1283094 1283096 1283097 1283098 1283099 1283100 1283107 1283108 1283109 1283110 1283112 1283113 1283114 1283115 1283116 1283123 1283124 1283125 1283127 1283130 1283132 1283133 1283134 1283136 1283138 1283140 1283141 1283142 1283144 1283146 1283148 1283153 1283154 1283155 1283160 1283161 1283162 1283172 1283181 1283185 1283186 1283190 1283196 1283204 1283214 1283223 1283226 1283228 1283229 1283231 1283234 1283235 1283236 1283238 1283239 1283250 1283259 1283260 1283616 1285535 1285560 1288266 1288269 1289791 1289792 1289793 1289795 1289798 1289799 1289803 1289804 1289828 1289829 1289844 1289855 1289856 1289857 1289859 1289866 1289870 1289871 1289874 1289877 1289878 1289879 1289883 1289980 1289988 1289994 1289997 1299229 1299420 1299422 1299424 1299425 1299426 1299430 1299431 1299679 1299681 1299868 1300076 1300255 1300683 1300684 1301328 1301399 1301520 1301523 1301524 1301664 1301750 1301823 1301832 1301881 1301953 1304620 1304621 1304625 1304627 1304631 1304632 1304633 1304637 1304638 1304643 1304645 1304653 1304654 1304657 1304658 1304660 1304664 1304666 1304668 1304676 1304677 1304678 1304685 1305400 1314747 1317850 1317859 1317862 1319597 1319600 1319734 1320542 1320764 1320766 1321043 1321092 1321577 1321854 1321866 1321882 1322091 1322293 1322305 1322386 1322440 1322443 1322465 1322489 1322493 1322495 1322496 1322500 1322502 1322539 1322541 1322543 1322578 1322581 1322593 1322595 1322600 1322601 1322607 1322610 1322612 1322621 1322637 1322644 1322646 1322648 1322649 1322654 1322656 1322657 1322659 1322660 1322663 1322665 1322666 1322668 1322679 1322687 1322688 1322690 1322691 1322693 1322696 1322699 1322700 1322701 1322702 1322707 1322709 1322715 1322725 1322737 1322743 1322744 1322745 1322746 1322753 1322759 1322760 1322761 1322770 1322773 1322775 1322777 1322780 1322782 1322783 1322784 1322787 1322788 1322789 1322790 1322791 1322792 1322793 1322794 1322795 1322796 1322797 1322799 1322800 1322803 1322804 1322805 1322806 1322807 1322808 1322809 1322810 1322811 1322812 1322813 1322815 1322816 1322817 1322819 1322820 1322825 1322829 1322830 1322832 1322836 1322839 1322848 1322849 1322850 1322851 1322853 1322854 1322855 1322859 1322860 1322861 1322863 1322864 1322865 1322867 1322868 1322871 1322875 1322876 1322880 1322885 1322887 1322888 1322889 1322891 1322900 1322901 1322903 1322922 1322928 1322931 1322935 1322940 1322943 1322948 1322950 1322951 1322956 1322959 1322960 1322962 1322968 1322969 1322972 1322976 1322978 1322979 1322995 1323000 1323002 1323003 1323005 1323014 1323019 1323023 1323026 1323046 1323068 1323071 1323104 1323105 1323106 1323107 1323115 1323123 1323129 1323132 1323133 1323137 1323152 1323158 1323160 1323161 1328260 1330690 1330696 1330812 1330861 1330923 1337618 1364653 1369034 1378537 1442416 1442435 1443288 1443347 1443874 1443935 1444083 1444144 1444145 1444146 1444577 1444578 1444579 1444580 1444585 1444587 1444676 1444758 1444759 1444764 1444765 1444766 1444767 1444768 1444769 1444771 1445094 1445610 1446297 1446322 1446323 1446330 1446340 1449669 1449835 1455741 1456675 1457944 1457956 1457964 1457965 1457974 1457975 1457980 1457981 1457983 1457990 1457996 1458000 1458005 1458006 1458017 1458019 1458028 1458029 1458060 1458061 1458066 1458067 1458075 1458085 1458089 1458090 1458096 1458103 1458118 1504058 1504081 1504101 1504303 1504642 1509164 1509844 1509845 1511725 1512183 1512629 1512682 1514187 1515028 1516389 1520064 1527156 1531501 1531545 1531632 1531642 1531643 1531854 1531860 1531939 1531949 1532087 1532105 1532141 1532183 1532267 1532268 1532389 1532398 1532402 1532463 1532474 1532566 1532771 1532774 1532775 1532778 1532950 1532951 1532954 1532974 1533039 1533108 1533124 1542418 1548499 1552166 1552167 1552168 1552169 1552172 1552173 1552174 1552175 1552176 1552177 1552178 1552179 1552180 1552181 1552186 1552190 1552191 1552192 1552195 1552196 1552198 1552200 1552203 1552208 1552209 1552210 1552211 1552212 1552214 1552215 1552217 1552218 1552220 1553551 1553552 1553554 1553555 1553560 1553564 1553567 1553570 1553572 1553575 1553581 1553594 1553595 1553596 1553601 1553604 1553607 1553609 1553610 1553613 1553616 1553619 1553623 1553625 1553626 1553628 1553631 1553633 1553634 1553635 1553636 1553637 1553638 1553639 1553640 1553642 1553643 1553644 1553645 1553646 1553647 1553648 1553649 1553652 1553654 1553655 1553657 1553658 1553659 1553660 1553661 1553662 1553663 1553664 1553665 1553666 1553667 1553668 1553671 1553674 1562032 1562044 1562347 1562500 1562609 1562933 1563198 1563699 1572834 1576136 1576232 1586974 1608324 1608329 1608346 1608354 1608358 1608363 1608378 1608379 1608380 1608385 1608925 1608926 1608928 1608931 1608934 1609461 1609465 1609466 1609467 1609468 1609474 1609482 1610006 1610009 1610012 1610013 1610019 1610020 1610021 1610030 1610035 1610037 1610557 1610563 1610567 1610570 1610581 1610583 1610584 1611119 1611133 1611138 1611145 1611663 1611668 1611676 1611677 1611678 1611686 1611695 1611697 1619659 1619663 1619665 1619669 1619674 1619679 1619680 1619682 1619686 1619687)\n(85 1762 2957 3467 3646 3808 4083 4084 4268 4271 4304 4309 4350 4442 4448 5119 6019 7239 7421 7952 8892 9240 9242 9395 9603 9636 9647 9649 9651 9790 9928 10297 11018 11109 11142 11194 11586 12632 12633 12752 13117 13126 13727 13987 15347 15373 15630 15676 15726 16079 16563 16770 17249 17324 17325 17326 18235 18379 18592 18616 18897 20039 20793 20913 21228 21229 21704 22371 22397 22423 23013 23185 23618 23974 24021 24028 24409 25260 25265 25361 26516 26527 26598 26605 28325 28758 29139 29266 29948 30210 30709 30971 30976 30977 30978 31208 31210 31996 31997 32074 33199 33205 33211 33499 33898 33923 34634 34692 34763 34936 35007 35143 35397 36239 36240 36591 36594 36596 36597 36602 36675 36717 36891 36938 37322 37427 37710 37744 37820 37826 38263 38272 38535 38550 39034 39269 39456 39474 39869 40226 40671 42531 42794 42828 42830 42950 43097 80101 85380 86045 150035 150277 150450 150632 150814 162340 162425 175631 178494 178842 205714 205949 221171 229992 229994 231303 233398 233413 233415 233421 233423 233453 233495 233496 233497 233498 233630 233668 233733 233735 233792 233793 233816 233820 233828 233832 233834 233904 233977 233991 234209 234219 234403 234404 234408 234421 234628 234747 235146 237105 237428 237450 237460 237479 237482 237521 237524 237525 237526 237529 237566 237607 237613 237633 237674 237677 237710 237816 237818 237955 242114 242393 242428 242498 242996 260156 260231 260320 260322 282124 376364 392334 392335 392336 392342 392347 392348 392350 423896 423909 424090 424093 424134 424215 459920 520937 520939 520942 520943 520944 522179 522182 522344 524369 524637 542180 542301 542312 542316 543488 544635 546816 557871 557904 558058 558080 558083 558112 561766 561843 561845 562342 563143 563147 577602 582587 582588 582589 582591 584925 584951 586739 589042 589087 589089 589098 589099 589101 589102 589138 589153 589154 589416 589512 589513 589514 596130 596132 596134 596545 596787 596887 596948 597432 597436 597498 597644 597659 597660 597937 598240 598761 598851 598852 599453 599620 599621 599655 599667 599694 599735 599749 599907 599926 600269 600291 600564 678586 678967 678977 678983 678988 678995 679011 679023 679024 679025 679026 679027 679030 679033 679035 679043 679044 679045 679046 679051 679052 679053 679054 679055 679056 679057 679061 679062 679063 679065 679066 679070 679075 679076 679081 679082 679085 679086 679088 679098 679103 679105 679106 679107 679109 679110 679111 679112 679114 679115 679136 679138 679142 679181 679199 679966 680844 681119 681291 681292 683243 683261 683264 683267 683268 683277 683283 683287 683289 683296 684321 684328 699033 699864 700301 746427 746432 814053 814057 814058 814059 814060 814069 814074 814079 814083 814084 814086 814087 815094 815102 815103 815104 815105 815106 870113 870124 870128 870145 870157 870158 870174 870181 870186 870187 870209 870212 870232 870233 870289 870302 870311 870312 870315 870339 870341 870351 870354 870361 870365 870383 870395 870427 870430 870431 870433 870435 870442 870444 870456 870477 870485 870501 870504 870509 870529 870534 870537 870582 870583 870586 870620 870686 870688 870694 870707 870718 870728 870748 870749 870751 870752 870771 870784 870792 870814 870819 870852 870868 870872 870873 870880 870885 870906 870918 870923 870930 870934 870942 870994 871002 871010 871047 871091 871100 871113 871117 871139 871142 871186 871210 871229 871247 871268 871274 871281 871340 871344 871349 871350 871352 871356 871367 871368 871370 871382 871393 871397 871400 871405 871437 871447 871461 871475 871478 871479 871481 871501 871504 871550 871570 871585 871615 871633 871635 871637 871639 871641 871689 871692 871709 871725 871727 871729 871740 871777 871786 871796 871801 871804 871806 871826 871828 871835 871839 871874 871901 871938 871970 872002 872011 872236 876928 876955 920396 920397 920647 920674 920724 935444 935552 935565 935584 935620 1145677 1154340 1154342 1168555 1171285 1262620 1276356 1283828 1285648 1285654 1325846 1325847 1328744 1328745 1328752 1331418 1443086 1449868 1510523 1510531 1510535 1510539 1510547 1510548 1510560 1510574 1510575 1510584 1510620 1510627 1510638 1518918 1527305 1537013)\n(86 715 872 1516 1881 2422 2424 2684 3103 3738 4171 4282 4295 4381 4446 4583 4796 4914 4916 5319 5353 5358 5375 5600 5770 6425 6637 6735 6939 7287 7441 7442 7633 7742 9072 9455 9469 9474 9602 9612 9615 9617 9622 9623 9625 9626 9633 9797 9816 10066 10164 10600 11005 11006 11007 11066 11069 11212 11344 11357 11386 12108 12732 12762 13166 13349 13748 13789 13812 13814 13840 13850 13890 13965 14286 14672 14679 14829 15272 15324 15330 15394 15415 15919 16126 16139 16249 16262 16466 16792 16858 16894 17106 17113 17596 17682 17780 18020 18257 18397 18503 18627 18678 18700 18704 18720 18739 18740 18875 18884 19007 19525 19928 19947 19961 19972 19980 19994 19996 19997 19999 20003 20007 20008 20012 20013 20014 20020 20021 20022 20025 20026 20027 20028 20030 20050 20056 20057 20272 21415 21419 21428 21510 21600 21708 21709 21710 21767 21941 21953 22752 22877 22878 22879 22902 23089 23124 23318 23621 23622 23623 23625 23636 23734 23933 24492 24681 24722 24763 24779 24912 24940 25102 25256 25971 25987 26011 26012 26032 26166 26337 26349 26520 26616 26620 26679 26863 27988 27989 28591 28659 28688 28694 28736 29038 29064 29140 29916 30172 30174 30206 30208 30258 30351 30417 30607 30707 31000 31082 32162 32864 32865 33145 33168 33173 33175 33611 33612 34018 34036 34125 34513 34601 34638 34646 34762 34871 34958 34993 35186 35198 35215 35233 35255 35611 35918 36045 36375 36376 36378 36380 36473 36498 36530 36623 36971 36988 37003 37265 37387 37391 37392 37585 37830 39004 39224 39300 39402 39457 39461 39712 39717 39818 40278 40364 40565 40594 40707 40786 40788 41740 42359 42649 42650 42654 42655 42813 43030 43303 79090 79133 79141 79149 79150 79253 79260 79942 80049 85142 85205 85910 86044 86148 86201 86203 86274 86296 86425 86627 86690 108374 150767 162419 162443 162697 162738 175659 175720 175737 175738 175845 175940 175952 175975 178728 178791 179196 179231 179257 179265 179284 179330 179376 179400 179445 179512 179515 179586 180070 180098 180239 180243 180416 180776 180861 180901 181084 181085 181107 181467 181496 181868 182239 182291 182353 183301 183309 183311 183312 183319 183841 183903 183975 184009 184015 184219 206069 206184 206185 220786 220819 220824 220913 221094 221096 221807 237638 237652 237680 237684 237698 237699 237708 242446 242936 243111 243112 243113 260014 260092 260097 260209 260287 262803 262829 262842 262910 282111 282112 282489 282490 282595 282601 282610 282626 302231 302611 302790 303744 304236 304279 304642 331794 336536 336537 336538 336542 336553 336557 336603 336604 336605 336606 336612 336614 336615 336616 336619 336633 336634 336635 336640 336663 336668 336670 336671 336672 336673 336674 336676 336677 336678 336679 336681 336683 336685 336686 336695 336697 336699 336703 336707 336708 336710 336711 336713 336721 336722 336727 336731 336732 336733 336737 336741 336746 336748 336751 336754 336755 336756 336757 336762 336763 336766 336770 336772 336776 336779 336781 336789 336791 336792 336794 336795 336797 336798 336800 336802 336803 336804 336808 336814 336819 336821 336825 336831 336836 336837 336841 336846 336847 336849 336852 336863 336865 336876 336879 336881 336889 336891 336894 336895 336896 336897 336900 336902 336978 336985 336986 336988 336989 336990 336991 336992 336993 337076 337082 337084 337087 337088 337089 337102 337108 337122 337123 337139 337143 337150 337154 337164 337169 337171 337189 337651 337954 337960 338034 338035 338036 338037 338046 338048 338050 338053 347997 348000 348052 376315 376609 376610 392792 392793 424930 425230 432588 439639 440020 440251 441035 441036 441039 441040 441051 441053 441054 441059 441061 441069 441436 441438 441439 441442 441458 441459 441460 441464 441468 441469 442512 442513 442514 442516 442519 442560 442561 442562 442564 442569 442570 442572 442576 442584 442588 442592 442593 442594 442598 442603 442614 442617 442620 442627 442629 442640 442644 442645 442647 442650 442651 442652 442655 442658 442664 442675 442676 442677 442681 444737 445222 445269 449973 449975 449985 450039 450446 450447 452227 452258 453880 453881 453882 453883 453884 453887 453893 453896 453897 453898 453903 453907 453908 453911 453914 453915 453917 453919 453925 453927 453928 453932 453933 453935 453938 453939 453944 453946 453947 453951 453952 453955 453958 453961 453962 453964 453968 453970 453973 453974 453975 453981 453982 453984 453985 453986 453988 453991 453992 457366 457933 459960 475307 475309 475311 521202 521203 522654 522655 522656 522670 522712 522715 522716 522718 524642 524643 524644 524669 524670 524990 542278 542340 542352 542542 544430 553557 556612 556989 556991 557593 557595 557597 557598 557599 557606 557608 557609 557610 557618 557628 557639 557642 557648 557652 557653 557658 557665 557668 557670 557677 557679 557688 557689 557698 557702 557703 557705 557706 557709 557710 557715 557766 557771 557772 557773 557775 557776 557778 557779 557785 557793 557794 557796 557797 557799 557800 557812 557814 557823 557824 557847 557850 557853 557857 558277 558278 558281 558282 558284 562219 562324 562499 562508 562513 562516 562547 562722 562990 563022 565990 566531 567346 567365 581047 581225 581226 581450 581454 581683 581687 581689 587437 587438 587534 587730 587906 587907 589341 589473 589476 596355 596497 596654 597543 597776 598007 598008 598009 598124 598214 598355 598858 599024 599108 599395 599633 599997 600191 600623 600659 677453 677601 678442 678444 678445 678446 679900 679901 680172 680179 680329 680330 680331 680332 680669 681495 681500 681507 681511 681512 681520 681531 681553 681588 681589 681593 681595 681598 681602 681603 681611 681614 681615 683534 683757 683883 683898 683901 683902 683904 683939 684242 687197 687760 699733 700217 729223 729416 729419 729422 729441 729569 729785 751488 814517 868930 868936 868943 868949 868951 868997 870080 870166 870240 870243 870287 870295 870317 870328 870369 870393 870443 870521 870614 870768 870866 870887 870909 870932 871167 871194 871230 871286 871334 871376 871471 871495 871855 871869 871948 872075 872107 872144 872183 872203 872238 872329 872356 876931 876933 887962 917795 920318 920429 920535 920536 920585 936091 1116427 1136005 1136083 1136134 1136194 1136195 1136359 1136360 1136361 1136386 1141000 1253948 1257851 1257852 1258084 1262467 1268549 1268550 1272919 1273011 1273619 1274026 1274027 1283131 1283210 1283233 1283240 1283241 1283247 1283253 1289790 1289840 1289846 1289850 1289853 1299950 1300458 1301636 1301748 1301852 1301890 1304639 1304663 1306377 1321139 1321279 1322338 1322389 1322973 1328967 1443866 1443871 1443878 1449627 1450036 1450053 1450054 1456528 1456563 1456640 1508776 1511512 1511998 1512139 1516308 1517023 1517482 1518597 1518863 1519382 1519434 1520154 1521749 1522465 1532246 1550449 1551377 1551383 1551385 1552476 1552498 1553458 1553461 1562642 1563344 1564769 1572384 1572392 1572482 1576751 1609437)\n(87 1539 1546 1676 1707 1723 1807 1816 1818 1819 1825 1889 1940 1950 1956 1969 1973 2622 2623 2624 2625 3099 3113 3114 3125 3431 3469 3476 3537 3546 3550 3621 3635 3910 3944 4090 4249 4310 4352 4444 4930 4936 5586 5587 5887 6012 6325 6370 6433 6870 6874 6895 7370 8060 8066 8073 8701 8909 9086 9087 9171 9176 9177 9241 9426 9460 9595 9676 9792 9946 9983 10598 11206 11251 11253 11265 11548 11551 11570 11572 11573 11574 11579 11580 11581 11768 12734 12746 13146 13170 13222 13259 13388 13415 13473 13528 13895 13985 14090 14091 14984 15269 15480 15786 15957 16142 16722 16738 16811 17250 17494 17650 17782 18524 18526 18528 18672 18779 19337 19681 20505 20594 20604 20701 20703 20796 20903 21122 21139 21148 21151 21449 21450 21452 21453 21776 22492 22734 23012 23014 23015 23100 23105 23186 24517 24713 24809 24862 25193 25261 25362 25363 26106 26351 26552 26613 26773 26785 27401 27402 27412 27804 27821 27932 28043 28047 28313 28768 29095 29100 29103 29104 29121 29220 29221 29225 29226 29227 29232 29233 29261 29942 29946 29947 30319 30477 30482 30484 30540 30631 30662 30764 30975 31212 31382 31391 31570 31572 31873 32606 33038 33138 33797 33823 33836 33837 33880 33882 33883 33922 33931 33936 33937 33941 33943 33948 33949 33953 33958 33975 36039 36337 36339 36341 36343 36344 36346 36347 36349 36351 36358 36363 36857 36888 36902 36903 36904 36908 36910 36913 36939 37320 37448 37650 37785 37789 38271 38273 38436 38441 38443 38579 38580 38586 38663 40068 40332 40336 40517 40701 40702 40765 40774 40953 41651 41671 41672 41696 41899 42266 42693 42979 85159 85271 85277 85281 85429 85588 85633 85762 85997 86025 86040 86133 86168 86181 86182 86209 86335 86441 86640 86703 86769 149623 149654 149715 149720 149765 149779 150010 150020 150022 150025 150036 150063 150072 150073 150074 150080 150088 151772 151836 151898 152119 152124 152126 152174 152183 152186 154327 154330 154333 154409 154437 154466 154565 154575 154593 154634 156173 162790 178417 178546 206073 221072 221073 221074 221075 221175 221183 221473 221480 221489 221508 221511 221513 221520 221521 221560 221745 221764 221765 221796 231234 231408 232480 232600 232604 233407 233419 233443 233459 233461 233469 233471 233475 233477 233483 233494 233514 233522 233523 233524 233525 233526 233535 233538 233539 233542 233545 233547 233558 233560 233569 233572 233577 233585 233589 233591 233593 233594 233596 233597 233598 233600 233601 233602 233605 233606 233607 233613 233615 233619 233620 233622 233623 233624 233625 233636 233637 233639 233640 233641 233642 233643 233646 233648 233649 233651 233652 233654 233658 233660 233671 233673 233675 233676 233677 233680 233681 233682 233683 233685 233686 233687 233688 233689 233693 233695 233696 233697 233698 233701 233702 233703 233705 233706 233711 233715 233716 233718 233728 233736 233737 233742 233743 233746 233749 233750 233752 233754 233757 233758 233760 233761 233764 233774 233778 233781 233782 233794 233795 233796 233798 233799 233800 233804 233818 233823 233824 233850 233851 233856 233857 233858 233859 233864 233869 233870 233871 233900 233953 233954 233955 233994 233996 233997 233998 233999 234001 234002 234015 234016 234017 234020 234022 234023 234026 234144 234431 234433 234447 234455 234458 234466 234469 234470 234471 234472 234473 234476 234482 234484 234485 234486 234487 234490 234491 234495 234499 234501 234502 234503 234505 234508 234509 234511 234512 234516 234523 234526 234529 235013 235099 235111 235136 235157 235165 235166 235172 235174 235175 235185 235204 235245 235909 236121 236122 236656 236664 236665 236688 236719 236720 236729 236733 236735 236736 236738 236780 236788 236791 236795 236800 236801 236804 236806 236807 236816 236818 236819 236824 236826 236827 236828 236848 236865 236919 236920 236921 236943 236969 236970 236972 236973 236976 236977 236980 236985 236991 237123 237593 237655 237715 237766 237811 237831 237932 241210 241424 241845 241907 241919 241934 242151 242186 242510 259860 260032 260268 260653 262377 262497 262551 264628 264629 268671 270288 270289 270290 270297 270300 270305 270322 270330 270336 270337 270375 270377 270380 270381 270385 270388 270393 270398 270403 270408 270411 270419 270455 270480 270481 270482 270493 270496 270498 270502 270503 270525 270526 270549 270587 270590 270592 270593 270595 270602 270604 270707 271189 275875 277577 277584 277684 277686 277729 278061 278076 278079 278080 278088 278100 278101 281774 281902 282126 282350 282376 282512 282513 302527 302826 302832 302847 302874 312420 338451 338457 338462 338464 338591 338614 338653 338654 338655 338658 338671 338715 338767 338768 338769 338776 338777 338791 338796 338807 338808 338817 338818 338821 338822 338831 338832 338897 338900 338906 338908 338909 338917 338926 338927 338938 338939 338942 338946 338947 338952 338955 338957 338959 338960 338963 338964 338969 338970 338976 338986 338999 339004 339005 339010 339011 339012 339017 341559 342069 342071 344318 344322 344323 349097 349198 349204 349208 349217 349218 349231 349232 349244 349245 349251 349260 349272 349290 349326 349336 349343 349390 349391 349398 349446 349449 349464 349691 349712 349721 349722 349737 349741 349742 349744 349746 349767 349769 349785 362037 376280 376338 376365 376384 391976 392115 392322 392331 392361 392375 392399 393760 393761 394008 394011 394996 395003 395005 395006 395013 406665 406668 413318 413324 422891 422892 423927 423985 424009 424024 424043 424044 424082 424091 424101 424166 424242 424296 424318 424330 424332 424345 424410 424411 424419 424537 424605 439857 454541 454560 454562 454564 454568 454573 454575 454576 454578 454587 454608 454622 454636 454638 454639 454652 454655 455731 456820 458631 474404 474408 475703 476254 476480 476615 481408 494376 494397 494408 494415 494463 497318 497327 520473 520482 520603 520608 520609 520610 520665 520671 520675 520676 520678 520683 520686 520687 520688 520690 520692 520693 520694 520695 520697 520698 520699 520700 520701 520702 520946 521652 522174 522178 522186 522187 522192 522198 522205 524528 524661 524662 525043 525045 541574 541898 542334 542370 543908 543909 543910 543915 543918 543925 543926 543933 543934 543935 543947 544667 544669 544768 546197 547006 548882 548883 549393 553729 553811 553824 554976 554978 554985 556006 556374 556398 557932 558066 558067 558070 558072 558073 558358 558442 559682 562457 562479 562714 563172 563182 563606 563622 563664 563703 564498 564603 577663 581386 581387 581389 581390 581391 581874 584946 584954 584961 584995 585107 588006 588007 588008 595861 596170 596344 597316 597893 598853 598937 599492 600074 600104 600241 600272 600278 600426 600427 677661 678255 678336 678368 678369 679047 679048 679145 679224 679256 679260 679264 679268 679272 679288 679289 679293 679294 679295 679302 679447 679448 679449 679451 679453 679464 679465 679466 679467 679470 679471 679475 679477 679484 679485 679487 679488 679489 679490 679491 679493 679497 679499 679500 679663 680023 680071 680091 683070 683278 683322 683342 683352 683353 683357 683358 683359 683362 683400 683404 683405 683407 683408 683409 683412 683413 683416 686346 687115 687131 687132 694534 699723 699757 699820 700031 700178 700179 700319 700361 700613 701811 701819 730525 730557 740399 740409 740697 740703 740719 740729 740858 741101 741146 741247 741358 741457 742509 742513 742737 743072 743073 743076 743244 743262 743379 743479 745031 745032 746402 746845 746850 747009 747249 747752 747767 747950 748055 748061 748063 748069 748070 748071 748073 748075 748523 748528 748532 748879 749151 750890 750893 750895 750896 750909 750915 750919 750920 750922 750924 750927 750942 751047 751048 751049 751050 751051 751052 751053 751071 751072 751092 751243 751244 751245 751246 751257 751263 751265 751292 751293 751294 751418 751419 751421 751456 751706 751758 751760 751765 751768 751840 751841 751842 752208 752286 752291 752292 752295 752299 810335 812364 813173 814174 815107 815123 815124 815126 837171 848034 848254 848257 848364 848772 848775 848907 848911 848912 849801 849888 850320 850335 850336 850337 850369 850474 850602 850637 850751 851241 851265 851775 851860 851878 852733 853077 853193 853870 854193 854348 854366 854367 854369 854470 854737 855220 855221 855228 855237 855240 855243 855247 856193 856254 856266 856322 856375 856416 856466 856561 856803 856923 856924 856954 856959 856962 856963 856974 856975 856977 857304 857318 857319 857341 857363 857376 857405 857501 858594 858774 858779 858852 858853 858855 858950 858952 858953 859023 859329 859997 860095 860112 860472 860503 860510 860514 860602 860608 860614 860616 860630 860634 860635 860636 860637 860638 860647 860651 860659 860660 865302 865303 865304 865318 865329 865332 865341 865351 865378 865404 865410 865417 865424 869474 870096 870217 870268 870274 870281 870291 870324 870523 870702 870746 870849 871007 871049 871055 871141 871166 871215 871388 871395 871399 871546 871551 871610 871739 871810 871979 871987 871991 876952 877173 877289 917814 917816 919568 919571 919597 919974 920248 920296 935543 935547 935572 935578 948392 948853 973461 1096340 1096409 1112355 1112442 1112573 1112684 1112791 1136249 1136393 1142075 1142109 1142234 1142301 1142430 1142436 1168150 1171335 1261977 1263846 1269683 1270972 1273059 1279419 1279420 1282614 1282921 1291710 1299531 1305395 1306032 1306274 1306324 1306341 1306588 1306597 1318017 1319200 1319320 1321905 1328247 1328391 1328618 1335368 1366485 1387053 1388036 1388120 1389228 1391991 1394202 1394853 1399258 1400349 1401832 1404352 1404354 1404547 1406984 1408381 1408582 1409699 1410428 1411138 1411168 1411877 1442856 1442973 1442975 1443045 1443059 1455735 1456291 1456292 1456434 1456624 1456732 1456771 1456782 1456784 1456786 1456787 1456872 1457883 1457889 1504561 1510447 1510456 1510472 1510586 1510599 1510650 1510651 1522512 1522519 1522520 1527307 1527357 1527402 1533650 1533709 1535926 1536217 1536277 1541876 1561841 1561842 1561843 1562670 1571983 1571984 1578791 1608433 1609481)\n(88 1038 1801 2145 2511 3255 3259 3264 3314 3319 5458 8858 9528 9546 9547 10357 13159 13215 13846 14274 14429 15852 17715 17952 18903 19266 21469 23745 23775 25245 25246 26377 28198 30013 30892 31715 31755 32932 33618 33627 33666 34780 34782 36522 37080 38337 38591 41904 79686 79866 85121 86321 86982 162362 162527 162847 178575 221105 231828 234682 242941 242942 242943 243102 260000 282516 282517 301624 301641 301642 301643 301645 301647 301901 301902 301907 301911 301912 301915 302820 311407 312540 312563 312564 313268 314656 314668 314669 314674 314677 314678 369765 376668 376669 427509 427970 441689 520913 520922 520923 596076 596177 596247 596250 596324 596342 596480 596522 596523 596524 596562 596563 596620 596623 596624 596687 596715 596716 596803 596843 596915 596957 597062 597071 597095 597098 597108 597194 597195 597202 597223 597263 597271 597272 597295 597297 597299 597302 597304 597339 597358 597359 597414 597513 597517 597518 597520 597591 597595 597619 597669 597672 597878 597879 598001 598125 598140 598390 598434 598435 598530 598537 598651 598754 598783 598958 599175 599471 599474 599476 599739 599784 599816 599817 599844 599845 599861 600436 600448 600513 677040 678607 678659 678697 678705 678714 683140 683185 684285 687133 752319 752320 813982 813988 872016 872079 872139 872376 878628 878629 887940 920399 920555 920640 920644 949469 949479 949764 949765 969701 1136158 1136159 1136182 1138407 1138568 1145751 1148560 1148561 1148562 1148564 1148565 1148566 1148567 1148572 1148573 1148574 1148575 1148576 1148578 1148580 1148582 1148583 1148584 1148585 1148586 1148587 1148589 1148590 1148591 1148592 1148593 1148594 1148596 1148597 1148599 1148600 1148601 1148602 1148603 1148606 1148607 1148608 1148609 1148611 1148613 1148616 1148617 1148618 1148619 1148620 1148621 1148622 1148623 1148624 1148625 1148629 1148631 1148632 1148633 1148635 1148636 1148638 1148639 1148640 1148641 1148642 1148643 1148645 1148646 1148651 1148653 1148654 1148657 1148658 1148659 1148660 1148661 1148662 1148664 1148667 1148668 1148670 1148769 1148771 1148773 1148774 1148776 1148777 1148778 1148779 1148780 1148823 1148834 1148916 1148917 1148918 1148919 1148920 1148922 1148923 1148926 1148929 1148932 1148943 1148959 1148970 1149013 1149015 1149018 1149020 1149024 1149032 1149033 1149034 1149035 1149036 1149049 1149054 1149060 1149061 1149062 1149063 1149064 1149068 1149069 1149070 1149071 1149072 1149073 1149081 1149082 1149083 1149084 1149085 1149088 1149089 1149090 1149092 1149093 1149095 1149096 1149098 1149099 1149106 1149110 1149114 1149119 1149122 1149124 1149126 1149129 1149132 1149142 1149143 1149144 1149145 1149149 1149153 1149155 1149156 1149157 1149158 1149159 1149160 1149161 1149162 1149163 1149164 1149166 1149167 1149168 1149169 1149170 1149173 1149176 1149181 1149182 1149183 1149184 1149197 1149201 1149203 1149205 1149207 1149209 1149210 1149211 1149212 1149215 1149217 1149220 1149222 1149225 1149229 1149231 1149232 1149234 1149238 1149239 1149240 1149241 1149242 1149243 1149244 1149245 1149252 1149260 1149264 1149266 1149268 1149270 1149271 1149272 1149273 1149274 1149275 1149280 1149282 1149285 1149286 1149289 1149290 1149293 1149294 1149295 1149296 1149299 1149300 1149301 1149302 1149303 1149306 1149307 1149308 1149309 1149313 1149321 1149322 1149323 1149325 1149326 1149327 1149329 1149330 1149331 1149334 1149335 1149337 1149341 1149343 1149345 1149347 1149348 1149349 1149353 1149356 1149358 1149359 1149364 1149365 1149366 1149368 1149369 1149378 1149380 1149381 1149382 1149384 1149391 1149392 1149393 1149397 1149406 1149407 1149408 1149409 1149411 1149412 1149413 1149415 1149417 1149418 1149419 1149420 1149421 1149424 1149429 1149431 1149434 1149435 1149436 1149437 1149438 1149439 1149440 1149444 1149451 1149454 1149455 1149458 1149462 1149464 1149466 1149469 1149472 1149475 1149477 1149478 1149480 1149482 1149484 1149485 1149488 1149491 1149498 1149500 1149501 1149502 1149503 1149510 1149511 1149512 1149513 1149516 1149517 1149520 1149521 1149522 1149524 1149526 1149527 1149529 1149530 1149531 1149532 1149535 1149536 1149537 1149538 1149539 1149540 1149541 1149545 1149547 1149558 1149561 1149580 1149582 1149584 1149586 1149587 1149588 1149590 1149593 1149621 1149623 1149624 1149626 1149629 1149632 1149637 1149645 1149647 1149650 1149651 1149659 1149661 1149666 1149668 1149686 1149687 1149705 1149719 1149723 1149724 1149725 1149727 1149731 1149733 1149735 1149736 1149737 1149738 1149747 1149748 1149750 1149753 1149754 1149756 1149757 1149759 1149760 1149761 1149762 1149763 1149767 1149771 1149772 1149777 1149785 1149793 1149794 1149798 1149811 1149813 1149818 1149824 1149826 1149827 1149828 1149829 1149831 1149832 1149833 1149836 1149837 1149838 1149839 1149840 1149842 1149848 1149850 1149851 1149852 1149853 1149855 1149862 1149863 1149867 1149868 1149870 1149873 1149875 1149880 1149884 1149886 1149888 1149890 1149893 1149895 1149897 1149905 1149911 1149915 1149917 1149918 1149920 1149922 1149924 1149927 1149930 1149933 1149935 1149936 1149948 1149955 1149960 1149962 1149965 1149966 1149968 1149970 1149971 1149973 1149974 1149976 1149984 1149985 1149989 1149994 1150001 1150003 1150004 1150005 1150008 1150019 1150023 1150033 1150034 1150037 1150038 1150039 1150040 1150042 1150043 1150044 1150045 1150046 1150047 1150048 1150049 1150050 1150051 1150052 1150053 1150054 1150055 1150056 1150063 1150066 1150067 1150068 1150070 1150071 1150075 1150076 1150077 1150080 1150087 1150088 1150089 1150090 1150095 1150096 1150097 1150100 1150101 1150102 1150104 1150105 1150107 1150108 1150110 1150114 1150115 1150116 1150120 1150123 1150124 1150126 1150128 1150129 1150130 1150132 1150133 1150134 1150135 1150137 1150138 1150139 1150140 1150142 1150143 1150145 1150147 1150148 1150149 1150150 1150151 1150157 1150158 1150160 1150162 1150165 1150169 1150171 1150172 1150174 1150175 1150177 1150178 1150179 1150182 1150183 1150184 1150185 1150186 1150191 1150193 1150195 1150196 1150197 1150203 1150206 1150208 1150209 1150210 1150212 1150213 1150214 1150216 1150220 1150224 1150225 1150226 1150230 1150231 1150239 1150240 1150246 1150249 1150251 1150252 1150255 1150256 1150259 1150260 1150265 1150268 1150269 1150272 1150273 1150274 1150279 1150280 1150282 1150283 1150284 1150285 1150287 1150289 1150290 1150294 1150296 1150298 1150299 1150301 1150314 1150315 1150323 1150324 1150325 1150330 1150333 1150347 1150351 1150356 1150358 1150363 1150365 1150368 1150373 1150377 1150379 1150380 1150382 1150384 1150387 1150393 1150395 1150401 1150409 1150411 1150423 1150427 1150431 1150433 1150435 1150442 1150443 1150444 1150445 1150452 1150454 1150455 1150458 1150460 1150462 1150464 1150465 1150467 1150468 1150469 1150471 1150479 1150481 1150487 1150489 1150491 1150493 1150494 1150496 1150497 1150500 1150501 1150504 1150505 1150506 1150507 1150508 1150510 1150513 1150515 1150516 1150520 1150521 1150524 1150525 1150527 1150528 1150538 1150539 1150540 1150541 1150542 1150543 1150544 1150547 1150548 1150549 1150552 1150553 1150556 1150557 1150566 1150570 1150571 1150572 1150573 1150574 1150575 1150578 1150579 1150580 1150581 1150582 1150583 1150585 1150586 1150587 1150588 1150592 1150593 1150596 1150603 1150604 1150605 1150607 1150609 1150610 1150611 1150617 1150619 1150622 1150623 1150624 1150625 1150632 1150634 1150636 1150638 1150640 1150641 1150643 1150646 1150651 1150653 1150656 1150657 1150659 1150661 1150667 1150675 1150681 1150683 1150684 1150685 1150693 1150711 1150712 1150719 1150721 1150753 1150761 1150770 1150772 1150784 1150786 1150793 1150796 1150800 1150805 1150811 1150818 1150819 1150820 1150825 1150826 1150828 1150829 1150831 1150833 1150835 1150836 1150838 1150841 1150842 1150846 1150847 1150854 1150860 1150861 1150865 1150866 1150867 1150870 1150871 1150882 1150890 1150903 1150904 1150905 1150906 1150915 1150922 1150923 1150926 1150944 1150946 1150952 1150953 1150957 1150960 1150965 1150970 1150974 1150978 1150979 1150980 1150982 1150984 1150987 1150989 1150993 1150996 1150997 1150998 1150999 1151000 1151004 1151005 1151011 1151012 1151015 1151017 1151019 1151028 1151034 1151036 1151043 1151050 1151052 1151057 1151067 1151098 1151106 1151108 1151109 1151116 1151118 1151125 1151127 1151130 1151132 1151133 1151134 1151136 1151138 1151142 1151145 1151146 1151147 1151152 1151153 1151154 1151156 1151158 1151160 1151163 1151181 1151183 1151191 1151201 1151206 1151207 1151210 1151216 1151228 1151232 1151233 1151236 1151237 1151242 1151245 1151254 1151256 1151257 1151260 1151261 1151265 1151271 1151274 1151275 1151277 1151278 1151279 1151283 1151286 1151288 1151290 1151291 1151293 1151298 1151300 1151312 1151317 1151318 1151320 1151337 1151343 1151344 1151346 1151350 1151351 1151352 1151353 1151360 1151361 1151365 1151374 1151376 1151379 1151381 1151382 1151383 1151384 1151400 1151401 1151407 1151428 1151445 1151451 1151453 1151455 1151456 1151459 1151464 1151471 1151491 1151497 1151512 1151515 1151518 1151519 1151525 1151528 1151533 1151535 1151537 1151538 1151543 1151547 1151568 1151569 1151570 1151573 1151577 1151586 1151600 1151604 1151607 1151612 1151616 1151619 1151622 1151645 1151648 1151651 1151655 1151660 1151664 1151671 1151678 1151683 1151684 1151688 1151693 1151696 1151712 1151722 1151724 1151734 1151736 1151742 1151743 1151754 1151755 1151757 1151759 1151760 1151762 1151764 1151771 1151778 1151779 1151786 1151791 1151792 1151797 1151798 1151800 1151804 1151805 1151810 1151811 1151821 1151826 1151828 1151829 1151832 1151834 1151837 1151838 1151839 1151847 1151850 1151852 1151857 1151858 1151861 1151863 1151866 1151872 1151875 1151878 1151879 1151883 1151895 1151905 1151909 1151910 1151913 1151915 1151919 1151921 1151922 1151928 1151931 1151932 1151935 1151947 1151952 1151953 1151963 1151966 1151967 1151968 1151971 1151974 1151977 1151978 1151981 1151986 1152001 1152005 1152006 1152008 1152025 1152028 1152029 1152033 1152037 1152039 1152040 1152041 1152043 1152050 1152052 1152062 1152063 1152069 1152072 1152073 1152077 1152085 1152095 1152102 1152118 1152120 1152121 1152122 1152125 1152135 1152136 1152138 1152142 1152155 1152161 1152162 1152164 1152171 1152180 1152184 1152185 1152195 1152196 1152197 1152199 1152200 1152201 1152204 1152208 1152211 1152213 1152214 1152215 1152216 1152218 1152219 1152228 1152233 1152235 1152239 1152240 1152245 1152246 1152247 1152250 1152254 1152266 1152280 1152282 1152290 1152291 1152298 1152301 1152302 1152305 1152309 1152319 1152321 1152323 1152355 1152364 1152365 1152369 1152393 1152402 1152405 1152428 1152431 1152440 1152441 1152443 1152456 1152459 1152463 1152474 1152485 1152487 1152488 1152490 1152510 1152511 1152512 1152517 1152521 1152525 1152529 1152534 1152547 1152549 1152550 1152551 1152553 1152555 1152556 1152557 1152558 1152561 1152563 1152564 1152565 1152570 1152575 1152576 1152577 1152581 1152582 1152583 1152585 1152587 1152588 1152589 1152590 1152591 1152594 1152596 1152597 1152601 1152603 1152609 1152610 1152613 1152614 1152619 1152628 1152630 1152633 1152636 1152637 1152638 1152642 1152647 1152655 1152658 1152668 1152669 1152676 1152681 1152691 1152694 1152703 1152711 1152713 1152722 1152723 1152724 1152725 1152726 1152727 1152728 1152729 1152730 1152732 1152735 1152738 1152740 1152742 1152747 1152749 1152750 1152758 1152760 1152771 1152772 1152774 1152775 1152778 1152784 1152785 1152790 1152796 1152799 1152802 1152805 1152810 1152812 1152815 1152816 1152818 1152819 1152825 1152826 1152840 1152841 1152843 1152848 1152851 1152855 1152860 1152866 1152869 1152874 1152879 1152881 1152884 1152885 1152887 1152906 1152931 1152934 1152935 1152936 1152937 1152938 1152939 1152940 1152949 1152950 1152957 1152963 1152967 1152969 1152973 1152994 1152995 1152999 1153012 1153029 1153031 1153033 1153035 1153039 1153058 1153080 1153102 1153113 1153124 1153183 1153197 1153198 1153200 1153236 1153239 1153267 1153274 1153299 1153301 1153302 1153330 1153338 1153347 1153354 1153365 1153375 1153389 1153390 1153412 1153413 1153415 1153419 1153420 1153422 1153429 1153430 1153433 1153434 1153437 1153440 1153441 1153444 1153449 1153450 1153454 1153463 1153464 1153465 1153466 1153483 1153487 1153488 1153489 1153490 1153500 1153515 1153516 1153524 1153525 1153527 1153532 1153540 1153543 1153544 1153560 1153565 1153570 1153575 1153589 1153590 1153611 1153614 1153618 1153627 1153646 1153649 1153663 1153675 1153680 1153693 1154431 1154432 1154433 1154434 1154435 1154437 1154438 1154440 1154444 1154445 1154446 1154447 1154448 1154450 1154452 1154454 1154457 1154458 1154459 1154460 1154461 1154553 1154556 1154627 1154669 1154670 1154673 1154674 1154675 1154676 1154687 1154714 1154723 1154724 1154733 1154734 1154737 1154739 1154744 1154749 1154775 1154777 1154779 1154780 1154784 1154790 1154793 1154798 1154802 1154808 1154811 1154812 1154813 1154822 1154823 1154824 1154827 1154831 1154832 1154834 1154845 1154848 1154850 1154857 1154858 1154861 1154864 1154866 1154867 1154879 1154884 1154890 1154895 1154896 1154897 1154908 1154910 1154914 1154915 1154916 1154917 1154920 1154922 1154934 1154939 1155081 1155085 1155089 1155093 1155098 1155099 1155121 1155197 1155201 1155209 1155223 1155227 1155255 1155275 1155279 1155284 1155304 1155360 1155363 1155364 1155379 1155383 1155388 1155389 1155394 1155395 1155399 1155400 1155401 1155410 1155412 1155414 1155418 1155432 1155436 1155437 1155440 1155441 1155442 1155443 1155452 1155453 1155458 1155468 1155478 1155482 1155494 1155495 1155499 1155500 1155501 1155502 1155503 1155542 1155546 1155550 1155584 1155596 1155600 1155976 1156020 1156022 1156024 1156076 1156127 1156158 1156162 1156165 1156199 1156200 1156201 1156202 1156203 1156204 1156205 1156206 1156207 1156315 1156322 1156329 1156331 1156332 1156333 1156334 1156338 1156341 1156342 1156343 1156346 1156359 1156360 1156363 1156366 1156367 1156368 1156369 1156370 1156373 1156379 1156384 1156386 1156389 1156393 1156394 1156395 1156400 1156401 1156403 1156404 1156407 1156414 1156416 1156422 1156423 1156425 1156430 1156435 1156436 1156437 1156439 1156442 1156443 1156444 1156445 1156446 1156447 1156448 1156451 1156454 1156455 1156456 1156459 1156462 1156464 1156467 1156470 1156471 1156476 1156477 1156479 1156494 1156499 1156500 1156502 1156506 1156508 1156510 1156511 1156512 1156516 1156519 1156520 1156521 1156522 1156523 1156524 1156526 1156527 1156528 1156529 1156530 1156534 1156536 1156537 1156540 1156541 1156542 1156543 1156544 1156545 1156547 1156548 1156554 1156558 1156563 1156564 1156566 1156568 1156569 1156571 1156578 1156581 1156582 1156585 1156587 1156589 1156597 1156600 1156601 1156602 1156606 1156613 1156614 1156615 1156616 1156617 1156621 1156623 1156626 1156627 1156629 1156631 1156632 1156634 1156639 1156643 1156646 1156647 1156649 1156650 1156651 1156652 1156653 1156656 1156657 1156659 1156661 1156662 1156663 1156665 1156666 1156668 1156670 1156673 1156678 1156683 1156685 1156687 1156688 1156691 1156694 1156698 1156699 1156700 1156704 1156710 1156711 1156724 1156727 1156728 1156731 1156741 1156745 1156752 1156762 1156770 1156771 1156772 1156774 1156778 1156779 1156780 1156783 1156784 1156785 1156787 1156790 1156793 1156796 1156798 1156802 1156804 1156805 1156806 1156810 1156811 1156814 1156817 1156821 1156838 1156839 1156842 1156844 1156852 1156853 1156854 1156859 1156862 1156863 1156866 1156867 1156876 1156882 1156885 1156890 1156893 1156899 1156900 1156901 1156902 1156903 1156905 1156907 1156910 1156911 1156914 1156915 1156919 1156920 1156921 1156922 1156923 1156924 1156927 1156928 1156929 1156931 1156932 1156935 1156936 1156937 1156938 1156939 1156940 1156941 1156944 1156945 1156950 1156953 1156964 1156966 1156970 1156971 1156973 1156974 1156975 1156976 1156982 1156986 1156998 1157000 1157004 1157005 1157007 1157011 1157012 1157015 1157016 1157020 1157021 1157022 1157023 1157025 1157026 1157028 1157030 1157032 1157033 1157034 1157035 1157037 1157038 1157039 1157041 1157043 1157045 1157047 1157056 1157060 1157061 1157065 1157066 1157074 1157077 1157079 1157080 1157084 1157085 1157089 1157090 1157091 1157092 1157098 1157099 1157107 1157108 1157113 1157115 1157120 1157122 1157123 1157125 1157130 1157133 1157138 1157140 1157142 1157146 1157150 1157152 1157153 1157154 1157156 1157158 1157159 1157160 1157167 1157168 1157171 1157172 1157173 1157174 1157175 1157177 1157180 1157181 1157184 1157188 1157189 1157190 1157191 1157192 1157194 1157195 1157196 1157198 1157201 1157206 1157210 1157211 1157212 1157213 1157214 1157215 1157216 1157217 1157221 1157223 1157224 1157225 1157226 1157228 1157230 1157231 1157232 1157234 1157235 1157237 1157238 1157240 1157241 1157246 1157248 1157249 1157250 1157251 1157252 1157253 1157254 1157255 1157260 1157263 1157266 1157279 1157288 1157290 1157302 1157303 1157305 1157306 1157310 1157311 1157312 1157316 1157319 1157320 1157321 1157322 1157323 1157324 1157325 1157326 1157332 1157334 1157337 1157338 1157339 1157340 1157343 1157344 1157345 1157346 1157347 1157349 1157350 1157352 1157353 1157354 1157355 1157356 1157357 1157360 1157362 1157363 1157364 1157366 1157367 1157373 1157377 1157378 1157379 1157380 1157381 1157382 1157383 1157384 1157385 1157394 1157395 1157396 1157397 1157399 1157400 1157402 1157403 1157404 1157405 1157406 1157407 1157446 1157457 1157476 1157477 1157478 1157479 1157483 1157492 1157509 1157514 1157518 1157570 1157584 1157589 1157590 1157592 1157594 1157595 1157596 1157613 1157615 1157626 1157640 1157645 1157646 1157647 1157648 1157649 1157650 1157651 1157653 1157661 1157662 1157668 1157674 1157676 1157677 1157678 1157679 1157681 1157682 1157683 1157684 1157685 1157688 1157690 1157695 1157696 1157699 1157700 1157717 1157719 1157720 1157722 1157727 1157731 1157733 1157734 1157735 1157736 1157741 1157742 1157746 1157747 1157749 1157756 1157759 1157764 1157768 1157772 1157779 1157783 1157785 1157786 1157788 1157790 1157791 1157792 1157793 1157794 1157795 1157796 1157797 1157800 1157805 1157807 1157808 1157809 1157810 1157811 1157813 1157818 1157819 1157821 1157822 1157824 1157825 1157829 1157831 1157833 1157837 1157839 1157840 1157842 1157844 1157845 1157850 1157851 1157853 1157857 1157859 1157863 1157864 1157869 1157873 1157874 1157876 1157880 1157885 1157890 1157893 1157901 1157904 1157906 1157907 1157908 1157915 1157916 1157922 1157923 1157928 1157932 1157934 1157946 1157947 1157949 1157950 1157953 1157954 1157956 1157958 1157961 1157962 1157963 1157967 1157968 1157969 1157972 1157973 1157974 1157978 1157980 1157988 1157990 1157991 1157993 1157994 1157996 1157998 1158020 1158021 1158025 1158041 1158042 1158044 1158045 1158046 1158076 1158091 1158093 1158098 1158105 1158106 1158110 1158117 1158121 1158126 1158128 1158141 1158145 1158147 1158165 1158167 1158168 1158169 1158171 1158173 1158174 1158178 1158180 1158181 1158182 1158183 1158186 1158188 1158190 1158192 1158193 1158196 1158197 1158200 1158201 1158202 1158203 1158204 1158205 1158206 1158207 1158208 1158210 1158214 1158215 1158216 1158218 1158219 1158221 1158222 1158224 1158226 1158233 1158238 1158248 1158249 1158250 1158261 1158269 1158271 1158272 1158277 1158278 1158280 1158281 1158283 1158285 1158286 1158287 1158288 1158289 1158290 1158291 1158292 1158293 1158300 1158302 1158303 1158306 1158309 1158310 1158319 1158320 1158322 1158323 1158324 1158325 1158329 1158330 1158331 1158333 1158334 1158342 1158343 1158344 1158352 1158353 1158354 1158356 1158357 1158359 1158360 1158362 1158363 1158364 1158365 1158366 1158367 1158368 1158372 1158373 1158377 1158378 1158379 1158380 1158383 1158385 1158386 1158388 1158389 1158391 1158392 1158393 1158399 1158404 1158406 1158407 1158408 1158409 1158410 1158412 1158413 1158417 1158419 1158420 1158422 1158423 1158424 1158426 1158427 1158428 1158430 1158436 1158437 1158438 1158439 1158440 1158444 1158450 1158455 1158456 1158458 1158460 1158462 1158463 1158464 1158465 1158466 1158468 1158469 1158475 1158570 1158572 1158580 1158581 1158583 1158586 1158588 1158589 1158590 1158592 1158597 1158603 1158605 1158607 1158612 1158613 1158614 1158615 1158616 1158631 1158633 1158640 1158646 1158652 1158653 1158658 1158659 1158660 1158665 1158670 1158678 1158680 1158681 1158683 1158688 1158689 1158761 1158832 1158833 1158834 1158835 1158838 1158839 1158840 1158842 1158843 1158849 1158850 1158851 1158852 1158854 1158855 1158856 1158857 1158858 1158861 1158862 1158863 1158869 1158871 1158874 1158880 1158882 1158883 1158884 1158886 1158892 1158900 1158911 1158912 1158914 1158915 1158917 1158918 1158919 1158921 1158922 1158924 1158940 1158942 1158944 1159054 1159226 1159269 1159306 1159308 1159311 1159313 1159315 1159317 1159322 1159338 1159372 1159373 1159409 1159420 1159421 1159423 1159425 1159428 1159432 1159433 1159434 1159439 1159557 1159651 1159825 1160140 1160190 1160611 1167622 1176301 1256499 1257755 1257756 1257758 1257759 1305430 1305723 1321381 1321382 1321383 1321502 1323235 1323239 1323242 1323243 1323246 1323247 1323250 1323251 1323252 1323253 1323254 1323255 1323256 1323257 1323258 1323260 1323261 1323262 1323263 1323264 1323271 1323272 1323273 1323274 1323276 1323277 1323278 1323288 1323290 1323291 1323293 1323296 1323297 1323301 1323303 1323304 1323306 1323307 1323309 1323310 1323314 1323315 1323316 1323319 1323323 1323325 1323329 1323333 1323334 1323338 1323344 1323347 1323350 1323351 1323352 1323353 1323362 1323363 1323364 1323365 1323366 1323367 1323369 1323371 1323372 1323373 1323377 1323380 1323381 1323382 1323383 1323384 1323385 1323386 1323387 1323388 1323391 1323392 1323393 1323394 1323396 1323417 1323418 1323419 1323420 1323427 1323429 1323430 1323433 1323446 1323451 1323464 1323478 1323480 1323496 1323519 1323545 1323549 1323560 1323562 1323569 1323570 1323575 1323580 1323581 1323582 1323594 1323615 1323616 1323629 1323635 1323639 1323646 1323654 1323656 1323657 1323659 1323662 1323666 1323717 1323722 1323723 1323740 1323750 1323751 1323773 1323777 1323779 1323801 1323803 1323808 1323843 1323875 1323889 1323894 1323905 1323906 1323918 1323921 1323926 1323965 1323983 1324022 1324029 1324032 1324038 1324135 1324165 1324174 1324188 1324229 1324230 1324238 1324271 1324272 1324355 1324369 1324380 1324381 1324412 1324418 1324429 1324447 1324448 1324449 1324451 1324481 1324489 1324510 1324529 1324530 1324558 1324559 1324571 1324586 1324618 1324620 1324682 1324711 1324814 1324815 1324819 1324906 1324908 1324923 1324944 1324986 1324996 1325022 1325099 1325131 1325133 1325143 1325145 1325157 1325164 1325166 1325172 1325176 1325185 1325231 1325232 1325235 1325239 1325246 1325254 1325257 1325259 1325278 1325281 1325289 1325301 1325303 1325304 1325312 1325315 1325324 1325327 1325339 1325342 1325343 1325353 1325360 1325378 1325379 1325382 1325384 1325385 1325391 1325404 1325405 1325409 1325410 1325411 1325416 1325422 1325479 1325480 1325639 1325784 1325923 1325924 1325934 1325936 1325937 1325938 1325942 1325946 1325947 1325948 1325955 1326069 1326290 1326389 1326432 1326519 1326520 1326521 1326967 1326970 1326981 1326986 1327008 1327009 1327017 1327021 1327024 1327026 1327030 1327031 1327034 1327035 1327036 1327037 1327039 1327041 1327043 1327045 1327050 1327053 1327054 1327055 1327056 1327057 1327058 1327062 1327063 1327064 1327065 1327067 1327103 1327111 1327130 1327132 1327133 1327134 1327135 1327144 1327154 1327158 1327159 1327161 1327164 1327183 1327184 1327189 1327192 1327196 1327197 1327198 1327200 1327201 1327202 1327203 1327206 1327207 1327208 1327210 1327217 1327221 1327223 1327224 1327225 1327235 1327237 1327315 1327316 1327317 1327320 1327323 1327324 1327325 1327330 1327331 1327332 1327339 1327340 1327378 1327384 1327385 1327386 1327387 1327390 1327397 1327698 1327704 1328798 1328948 1328949 1337067 1366839 1371605 1371771 1371837 1371840 1371843 1371902 1372012 1372083 1372090 1372092 1372122 1372124 1372271 1372273 1372286 1372290 1372329 1372347 1372353 1372366 1372368 1372374 1372378 1372379 1372454 1372463 1372520 1372522 1372523 1372524 1372526 1372529 1372530 1372531 1372585 1372927 1372997 1372999 1373003 1373004 1373005 1373007 1373012 1373013 1373016 1373018 1373020 1373021 1373025 1373026 1373028 1373029 1373034 1373036 1373037 1373039 1373041 1373043 1373046 1373047 1373059 1373061 1373066 1373067 1373068 1373072 1373074 1373078 1373081 1373082 1373083 1373084 1373085 1373088 1373089 1373095 1373097 1373098 1373106 1373118 1373119 1373141 1373142 1373144 1373146 1373147 1373153 1373155 1373156 1373183 1382395 1383082 1383096 1383102 1384454 1384478 1441326 1442857 1442866 1450029 1510679 1510698 1510699 1510811 1510836 1510847 1510865 1510880 1510884 1510890 1510891 1511005 1511130 1511131 1511162 1511415 1511423 1511437 1511460 1511517 1511520 1511539 1511616 1511617 1511668 1511737 1511763 1511794 1511895 1512072 1512074 1512202 1512210 1512221 1512281 1512301 1512406 1512424 1512469 1512485 1512772 1512811 1513094 1513109 1513112 1513158 1513162 1513486 1513761 1513807 1514153 1514216 1514251 1514283 1514504 1514525 1514526 1514527 1514545 1514548 1514556 1514557 1514561 1514563 1514568 1514570 1514632 1514689 1514762 1514825 1514916 1514942 1514943 1514945 1514991 1515033 1515144 1515839 1515844 1515846 1516015 1516136 1516142 1516144 1516146 1516152 1516272 1516273 1516292 1516311 1516332 1516352 1516359 1516394 1516396 1516440 1517311 1517312 1517315 1517316 1517342 1517350 1517353 1517369 1517377 1517596 1517598 1517827 1517880 1518094 1518124 1518339 1518343 1518412 1518440 1518454 1518591 1518622 1518760 1518762 1519051 1519056 1519057 1519062 1519261 1519308 1519309 1519399 1519461 1519557 1519628 1519629 1519692 1519726 1519750 1519751 1519906 1520023 1520024 1521754 1522290 1522851 1522927 1522946 1522947 1522949 1522950 1522951 1522998 1523003 1523010 1523026 1523034 1523035 1523040 1523043 1523044 1523045 1523047 1523085 1523087 1523094 1523096 1523106 1523107 1523108 1523111 1523141 1523143 1523168 1523180 1523206 1523208 1523212 1523237 1523260 1523272 1523273 1523274 1523276 1523287 1523288 1523289 1523306 1523308 1523324 1523327 1523331 1523332 1523340 1523345 1523448 1523455 1523456 1523457 1523459 1523464 1523465 1523466 1523485 1523492 1523493 1523525 1523546 1523624 1523689 1523699 1523700 1523703 1523707 1523708 1523723 1523724 1523777 1523788 1523813 1523814 1523815 1523816 1523817 1523824 1523829 1523830 1523843 1523849 1523874 1523875 1523876 1523886 1523897 1523907 1523915 1523918 1523919 1523920 1523958 1523959 1523960 1526988 1527023 1527107 1527118 1527256 1527267 1533731 1536991 1537044 1563721)\n(89 17380 26383 162774 596488 1254364)\n(90 735 1418 1420 1422 1429 1430 1431 1432 1433 1436 1442 1618 1624 1630 1815 2448 2757 2793 2985 2989 2991 3463 3614 3650 3810 4114 4421 4426 4565 4779 4991 4992 4997 4998 5001 5396 5426 5684 5695 5699 5967 6079 6118 6131 6142 6144 6160 6264 6413 6826 7095 7097 7098 7099 7102 7103 7104 7107 7112 7113 7114 7115 7117 7118 7120 7121 7122 7124 7125 7128 7129 7130 7131 7133 7134 7135 7137 7138 7140 7279 7528 7621 7659 7762 7798 7847 7855 7873 8298 8309 8441 8479 8487 8493 8497 8523 9075 9181 9375 9402 9404 9405 9442 9761 10267 10276 10606 10631 10633 10635 10636 10673 10701 11428 11645 11649 11993 12243 13291 13377 13403 13449 13930 14126 14132 14145 14170 14474 14522 14536 14754 14859 15414 15424 15461 15558 15807 16024 16045 16047 16048 16057 16978 17075 17097 17150 17185 17416 17525 17570 17636 17638 17653 17671 17689 18206 18413 18508 18552 18553 18598 18671 18675 18809 18915 18916 18920 18922 18923 19204 19207 19208 19522 19613 19623 19829 20217 20627 20659 20876 21070 21071 21367 21432 21670 21841 22079 22134 22364 22374 22572 22602 22603 22665 22765 22790 23055 23267 23269 23381 23418 23420 23421 23429 23434 23435 23436 23437 23438 23439 23440 23443 23448 23449 23452 23453 23458 23461 23462 23464 23465 23466 23467 23470 23472 23473 23474 23475 23476 23479 23480 23481 23482 23483 23484 23485 23486 23487 23488 23492 23493 23494 23495 23496 23531 23532 23535 23601 23743 23761 23798 23804 23827 23903 24121 24167 24217 24221 24223 24224 24232 24299 24301 24302 24303 24304 24305 24306 24307 24314 24419 24445 24622 24623 24667 24668 24694 24793 24954 24958 25063 25149 25184 25202 25205 25267 25268 25269 25284 25286 25464 25490 25500 26277 26471 26640 26683 26764 26948 26986 26987 26998 26999 27019 27022 27043 27070 27086 27095 27149 27155 27439 27533 27577 27627 27643 27651 27652 27653 27654 27656 27659 27660 27661 27662 27663 27665 27666 27667 27668 27671 27672 27708 27766 27809 27819 27828 27830 27831 27832 27858 27859 27960 27961 27962 28253 28433 28880 28882 28945 29185 29295 29417 29423 29440 29441 29463 29897 29925 30185 30186 30215 30271 30297 30354 30357 30421 30422 30470 30472 30521 30581 30793 30849 31038 31118 31149 31347 31511 31941 32000 32019 32091 32131 32229 32463 32580 32927 33027 33375 33578 33822 34885 34887 35244 35288 35290 35335 35358 35411 35412 36095 36210 36211 36213 36214 36216 36219 36220 36221 36224 36503 36527 36631 36769 36920 37073 37286 37293 37305 37579 37661 37930 37939 37999 38356 38478 38554 38558 38874 38987 39101 39538 39590 39747 39981 40100 40101 40116 40136 40137 40411 40422 40582 41182 41341 41374 41955 41971 42065 42076 42133 42138 42162 42237 42258 42465 42929 42995 43324 43346 78981 79218 79731 79733 79734 79740 79741 79744 79745 79746 79747 79748 79757 79758 79764 79765 79770 79772 79773 79774 85090 85136 85138 85164 85165 85167 85183 85261 85390 85668 85669 85750 85918 85919 86404 86533 86692 86696 86942 87135 149640 149722 149782 149826 149833 149845 149862 149925 149927 149951 149978 151241 151468 151544 151546 151779 152013 152018 152266 152267 152268 152269 152271 152272 152275 152276 153340 153349 153360 153361 153364 153368 153378 153381 153382 153392 153398 153400 153405 153425 153426 153427 153437 153445 153446 153452 153453 153465 153467 153470 153474 153476 153489 153494 153500 153504 153560 153562 153564 153565 153567 153572 153574 153594 153601 153602 153604 153613 153618 153619 153620 153626 153628 153630 153631 153633 153640 153641 153646 153653 153655 153656 153657 153658 153661 153662 153676 153677 153678 153685 153687 153690 153691 153767 153791 153792 153888 153924 153932 153933 153938 153939 153942 153943 153944 153952 153953 153955 153956 153957 153993 153994 153995 153997 153999 154002 154003 154007 154009 154010 154011 154016 154017 154019 154023 154024 154025 154027 154034 154038 154040 154041 154050 154051 154052 154059 154060 154062 154064 154069 154073 154084 154088 154089 154129 156369 156385 156390 162460 162608 162678 162679 178421 178830 178874 205622 205641 205642 205643 205644 205645 205646 205647 205648 205649 205650 205651 205695 205696 205697 205698 205699 205747 205748 205766 205768 205769 205770 205788 205789 205815 205816 205822 205823 205824 205825 205828 205833 205834 205851 205853 205854 205856 205865 205866 205874 205875 205898 205944 205945 205969 206093 206094 206142 206180 206182 206186 206619 206620 206622 206623 206624 206625 206626 206627 206628 206629 206630 206631 206632 206633 206634 206635 206636 206637 206638 206639 206640 206641 206642 206643 206644 206645 206646 206647 206648 206649 206650 206651 206652 206653 206654 206655 206656 206657 206658 206659 206660 206661 206663 206664 206666 206667 206669 206671 206672 206673 206674 206675 206676 206677 206680 206681 206682 206683 206684 206685 206686 206687 206692 206693 206694 206695 206696 206697 206698 206699 206700 206701 206702 206703 206704 206706 206708 206709 206710 206711 206712 206713 206714 206715 206716 206717 206718 206719 206720 206721 206723 206724 206725 206726 206727 206728 206729 206730 206731 206732 206733 206734 206735 206736 206737 206738 206739 206740 206743 206754 220597 220603 220605 220611 220612 220613 220615 220616 220620 220621 220624 220630 220633 220636 220644 220645 220647 220650 220654 220656 220657 221273 221287 221290 221291 221292 221715 235557 235580 235653 235752 235754 235770 235782 235813 235974 237020 237021 238003 238020 238029 238031 238033 238034 238035 238069 238114 238122 238137 238141 238152 238194 238196 238198 238208 238246 238258 238301 238302 238324 238337 238348 238352 238374 238393 238409 238410 238432 238440 238448 238449 238451 238461 238462 238463 238467 238501 238513 238517 238518 238519 238525 238917 239718 239737 240164 240803 241060 241961 241989 242310 242363 242379 242404 242594 242596 242647 242788 243038 259771 259781 259782 259783 259785 259786 259820 260037 262371 262401 262493 262515 262516 262517 262518 262584 262587 262659 262929 262963 263579 264231 264239 264313 264662 264994 265319 265970 265978 265985 265987 266490 266900 267095 267573 267785 267931 268877 269194 269218 269220 271333 271466 272199 272256 276233 276264 276490 276491 276535 277521 278479 278480 278484 278486 278487 278488 278489 278493 278494 278496 278497 278498 278500 278502 278504 278505 278506 278510 278511 278512 278513 278517 278519 278544 278545 278553 278554 278556 278560 278561 278562 278564 278568 278569 278571 278572 278576 278577 278578 278579 278580 278582 278583 278584 278586 278587 278588 278589 278590 278594 278595 278599 278600 278601 278607 278608 278619 278620 278650 278652 278653 278660 278664 278676 278677 278678 278679 278680 278681 278684 278685 278686 278687 278688 278689 278690 278691 278692 278694 278695 278701 278704 278712 278713 278714 278715 278716 278717 278718 278719 278720 278721 278723 278724 278725 278726 278727 278729 278734 278737 278742 278743 278746 278749 278751 278752 278753 278754 278761 278762 278764 278767 278769 278776 278779 278780 278785 278787 278791 278796 278799 278800 278801 278802 278803 278804 278805 278806 278807 278809 278811 278818 278823 278824 278827 278828 278831 278832 278833 278835 278836 278837 278838 278839 278840 278841 278843 278846 278847 278848 278850 278851 278854 278859 278860 278861 278862 278863 278864 278865 278869 278870 278873 278874 278875 278876 278877 278878 278879 278880 278881 278882 278883 278884 278949 278950 278952 278983 278984 278987 278992 278993 278996 279000 279014 279067 279068 279070 279079 279084 279087 279088 279089 279090 279091 279130 279176 279180 279451 279525 279530 279543 279544 279545 279546 279549 279550 279555 279557 279563 279565 279568 279569 279572 279578 279579 279582 279583 279584 279592 279593 279602 279603 279604 279605 279606 279607 279608 279609 279610 279612 279613 279618 279620 279622 279625 279626 279627 279628 279633 279637 279639 279640 279641 279644 279647 279650 279651 279652 279653 279661 279663 279665 279668 279670 279671 279672 279674 279677 279680 279681 279682 279687 279695 279697 279698 279702 279703 279704 279705 279706 279707 279708 279709 279719 279721 279723 279725 279727 279730 279732 279734 279735 279737 279738 279739 279743 279744 279746 279748 279749 279751 279763 279765 279778 279780 279800 279801 279803 279815 279816 279818 279821 279822 279835 279836 279838 279855 279883 279912 279918 279931 279941 279973 279974 279975 279980 279982 279984 279985 279986 279987 279988 279989 279990 280089 280096 280097 280098 280099 280100 280131 280135 280141 280159 280182 280185 280198 280199 280201 280202 280206 280209 280214 280216 280217 280218 280219 280220 280222 280224 280232 280242 280247 280248 280249 280251 280252 280253 280254 280255 280256 280257 280258 280259 280266 280268 280280 280298 280301 280302 280303 280304 280305 280306 280313 280317 280321 280322 280324 280325 280326 280328 280329 280333 280372 280374 280376 280384 280386 280390 280392 280397 280399 280401 280449 280451 280459 280470 280474 280475 280478 280483 280535 280605 280623 280625 280627 280628 280630 280631 280656 280734 280745 280746 280781 280783 280785 280788 280790 280793 280795 280801 280803 280822 280856 281241 281242 281243 281244 281267 281293 281329 281332 281361 281373 281479 281508 281658 281705 281710 281784 281838 281870 281871 282025 282313 282606 282607 282609 282612 302182 302323 302327 302329 302592 302872 302873 311220 333419 333516 333572 333579 333875 333983 333992 334019 334036 334041 334044 334083 334084 334086 334087 334091 334092 334101 334106 334108 334110 334113 334119 334120 334121 334229 334230 334231 334232 334233 334236 334237 334239 334240 334242 334243 334244 334245 334246 334247 334248 334250 334252 334254 334256 334257 334260 334261 334262 334263 334265 334266 334267 334268 334269 334270 334271 334273 334274 334276 334277 334279 334280 334281 334282 334283 334285 334286 334287 334288 334292 334294 334296 334297 334298 334299 334300 334302 334303 334306 334307 334309 334311 334314 334315 334316 334317 334318 334319 334320 334321 334323 334324 334325 334327 334328 334329 334330 334331 334333 334337 334338 334339 334341 334342 334344 334345 334346 334347 334348 334352 334353 334355 334356 334357 334358 334359 334360 334361 334362 334363 334364 334365 334368 334369 334370 334371 334372 334374 334376 334377 334378 334381 334385 334389 334390 334392 334393 334398 334399 334400 334401 334403 334404 334406 334407 334408 334409 334410 334412 334413 334415 334416 334417 334418 334419 334421 334422 334424 334425 334426 334430 334431 334432 334433 334435 334438 334439 334440 334443 334444 334447 334448 334450 334451 334454 334455 334456 334457 334458 334459 334460 334463 334464 334465 334467 334469 334470 334471 334472 334473 334474 334475 334477 334478 334480 334482 334483 334485 334486 334488 334489 334490 334491 334492 334494 334495 334496 334497 334498 334499 334500 334501 334505 334506 334507 334510 334511 334512 334513 334514 334515 334516 334517 334518 334520 334521 334522 334524 334525 334526 334529 334530 334531 334532 334533 334534 334536 334538 334541 334542 334543 334544 334547 334548 334549 334550 334551 334552 334553 334554 334556 334557 334558 334561 334563 334564 334565 334566 334567 334569 334571 334572 334573 334574 334575 334576 334578 334579 334580 334581 334582 334583 334584 334586 334587 334588 334589 334590 334592 334593 334595 334596 334597 334599 334600 334601 334605 334606 334607 334608 334610 334611 334612 334613 334614 334616 334618 334621 334626 334630 334633 334634 334635 334637 334638 334640 334655 334660 334663 334664 334667 334669 334672 334674 334681 334682 334683 334684 334685 334686 334688 334689 334690 334693 334694 334695 334699 334700 334701 338070 338078 338106 338113 338342 338598 338600 339107 339111 339115 339124 339304 339349 339554 339555 339556 339765 339823 339880 340539 341486 341526 341714 341767 341790 341823 342101 342418 342515 342516 343079 343082 343083 343088 343089 343090 343091 343092 343093 343114 343115 343640 344452 344453 344456 344459 344460 344461 344462 344483 344485 344486 345141 345422 345424 345522 345531 345538 345557 345563 345599 345602 345604 345613 345614 345615 345617 345630 345668 345676 345704 345713 345726 345746 345804 345814 345832 345836 345873 345891 345893 345904 345905 345906 345907 345912 345913 345916 345920 345933 345945 345946 345948 345958 345960 345961 345963 345964 345965 345967 345968 345973 345975 345976 345981 345984 345985 345986 345988 345989 345990 345992 345994 345995 345996 345997 345998 346004 346005 346006 346007 346011 346012 346013 346018 346020 346023 346027 346040 346041 346045 346046 346048 346049 346053 346054 346056 346057 346060 346062 346063 346064 346065 346067 346070 346073 346075 346076 346079 346081 346082 346087 346091 346099 346104 346109 346110 346112 346113 346117 346118 346152 346153 346154 346156 346158 346163 346164 346165 346167 346168 346169 346170 346172 346175 346178 346179 346180 346181 346182 346183 346185 346188 346191 346200 346202 346203 346205 346208 346210 346237 346239 346249 346251 346255 346256 346260 346267 346269 346280 346289 346294 346300 346302 346303 346304 346306 346308 346326 346330 346342 346353 346359 346360 346363 346366 346367 346369 346373 346376 346383 346390 346392 346396 346402 346405 346406 346407 346416 346421 346424 346426 346429 346440 346564 346609 346627 346629 346647 346648 346770 346784 346787 346903 346935 346948 346957 346976 346979 346989 346990 346991 346992 346993 346997 347005 347007 347014 347016 347019 347023 347073 347096 347098 347129 347176 347180 347197 347201 347206 347213 347229 347253 347254 347266 347269 347271 347272 347282 347284 347312 347390 347391 347394 347396 347403 347404 347429 347493 347505 347515 347856 348022 348355 348374 348375 348426 349453 349458 349459 349501 349502 349528 349529 349530 349531 349532 349533 349535 349536 349538 349539 349540 349543 349551 349554 349555 349556 349557 349560 349561 349562 349566 349574 349582 349604 349606 349607 349615 349620 349621 349622 349627 349631 349632 349633 349636 349637 349639 349640 349644 349649 349656 349657 349658 349661 349663 349666 349669 349671 349672 349675 349680 375071 376319 376358 376407 376408 376527 376544 376545 391818 391970 392398 392400 392784 392788 392998 395844 395978 395992 399441 399471 399474 399475 406608 406801 406803 406813 406814 406815 406816 406817 406819 406848 431086 431093 431094 431097 431104 431108 431109 431111 431112 431118 431119 431121 431122 431123 431124 431126 431128 431129 431131 431132 431133 431134 432284 432360 432361 432526 432527 432562 442871 442876 442880 455812 456486 456488 456844 456845 456861 456863 456868 456876 456877 456889 457179 457180 457190 457191 457334 457520 457521 457522 457523 457529 457530 457531 457532 457533 457534 457535 457536 457540 457541 457542 457543 473568 473571 473574 473575 473577 473579 473580 473581 473582 473583 473584 474740 474796 474799 474800 474802 474807 474808 474809 474810 474811 474812 474819 474820 474822 474824 474830 474832 474833 474834 474836 474846 474847 474852 474853 474855 474856 474964 474967 474968 475187 475774 475798 475799 475801 475819 475820 475829 475830 476073 476076 476078 476089 476106 476121 476122 476138 476144 476147 476203 494164 494165 495106 496763 496779 496784 496788 496836 496842 496857 496860 496867 496869 496870 496873 496892 496897 496899 496901 496920 497243 497538 497549 497550 518959 518960 518964 518967 519022 519037 519063 520477 520720 521158 521194 522622 522624 522627 522628 522631 522636 524801 524802 541760 541912 542271 542511 542564 543478 544840 544842 545047 545056 545059 545067 545069 545071 545074 545076 545079 545080 545081 546396 546467 546468 546511 546512 546835 546837 547064 547065 549315 549353 549368 549379 549414 549471 549473 553580 553581 553647 553707 553723 555191 555194 555196 555197 555198 555199 555201 555261 555273 555278 558353 558354 558355 558967 559196 559458 559459 559460 559461 559462 559463 559487 559891 563211 563305 563306 563307 563309 563312 563634 563641 564715 564716 565895 576980 577691 577692 577731 578477 582412 585129 585215 585216 585360 585362 585442 585473 585474 585475 586365 586737 587226 588125 595989 596046 596263 596321 596466 596978 597035 597168 597249 597458 597645 597646 597647 597764 597967 598366 598607 598626 598766 598790 598798 598823 598894 598934 598935 598943 598944 598945 599057 599725 599849 599948 600066 600079 600113 600114 600139 600176 677041 677055 677483 677608 677656 677721 677725 677730 677745 677779 677861 677865 677866 677886 677898 677930 677932 677936 677938 677948 677949 677950 677952 677954 677955 677956 677957 677958 677984 678033 678051 678052 678053 678128 678213 678222 679346 679347 684200 684249 684337 684354 684358 684516 684550 684743 684815 684830 684831 685053 685110 685121 685200 685201 685938 685988 686169 686237 686239 686274 686277 686378 686512 686615 686619 687140 687150 687702 694571 699753 699790 699791 699885 699888 699889 699893 700093 700095 700101 700110 700199 700367 701838 728864 728890 730199 730303 730304 730306 740083 740267 740277 740296 740339 740344 740345 740346 740364 740372 740457 740476 740479 740480 740487 740692 740802 741300 741682 741729 741800 741801 741845 741884 741885 741889 741898 741900 742132 742136 742179 742276 742430 742472 742558 742606 743535 743577 743903 744124 744295 744485 744514 744619 744869 745216 745310 745331 745485 745892 746017 746087 746215 746336 746341 746343 746777 746787 746852 747154 747174 747271 747273 747397 747472 747548 748214 748404 748505 748861 749159 749163 749424 750071 750072 750075 750081 750463 750815 750823 750887 750935 750936 750952 750974 750977 750979 750995 750998 751061 751075 751094 751242 751290 751291 751297 751304 751364 751366 751374 751379 751394 751396 751416 751427 751428 751483 751484 751498 751519 751552 751560 751567 751569 751571 751588 751589 751590 751591 751593 751606 751615 751620 751621 751623 751625 751649 751674 751675 751676 751677 751678 751679 751680 751688 751689 751690 751691 751692 751886 751887 751888 751889 796418 796466 796547 796548 796549 796563 796605 796612 796619 796620 796623 796663 812413 813148 813175 813216 814134 814135 814136 814138 814140 814141 814143 814145 846967 847477 847914 848076 848151 848452 848454 848459 848843 848845 848846 848848 848852 848858 848859 848860 848863 848864 848866 848872 848873 848876 848881 848882 849656 850328 850572 850639 850746 850772 850784 850828 851135 851139 851140 851693 852128 852443 852481 852519 852523 852530 852636 852667 852709 852722 852906 852937 852976 853031 853105 853394 853680 853709 853715 853798 853825 853826 853843 853879 853971 854143 854178 854180 854196 854198 854486 854488 854489 854490 854695 854696 854698 854750 854751 854761 854762 854763 854764 854766 854769 854770 854772 854773 854775 854776 854777 854778 854779 854782 854783 854786 854788 854791 854792 854794 854796 854797 854798 854802 854803 854804 854809 854813 854826 854827 854829 854830 854831 854834 854839 854849 854850 854866 854867 854882 854886 854888 854889 854891 854892 854893 854894 854895 854896 854902 854906 854911 854912 854914 854915 854917 854923 854924 854961 854962 854963 854964 854966 854983 854984 854986 854987 854988 854989 854992 854994 854995 854996 855002 855004 855005 855006 855011 855012 855013 855020 855026 855027 855035 855036 855037 855038 855039 855040 855041 855042 855045 855046 855048 855049 855050 855052 855054 855055 855056 855057 855058 855059 855060 855061 855065 855069 855070 855071 855072 855073 855082 855085 855086 855089 855090 855092 855093 855095 855096 855097 855104 855105 855107 855108 855109 855111 855112 855138 855139 855146 855152 855153 855154 855173 855174 855186 855197 855211 856022 856023 856259 856325 856333 856473 856536 856554 856816 856897 856899 856900 857002 857004 857418 857741 858252 858970 859086 859865 859917 859918 859919 859920 860022 860544 860580 860581 860582 860594 861199 861352 861353 861354 861374 861461 861467 861471 861556 861611 861727 861741 861745 861765 861772 861819 861830 861859 861876 861957 862039 862090 862204 862227 862312 862313 862335 862433 862435 862448 862489 862490 862500 862506 862601 862630 862636 862719 862802 862836 862847 862878 862882 862884 862887 862889 862903 862907 862909 862916 862917 862941 862953 862967 862981 863015 863024 863027 863183 863188 863189 863194 864867 864989 864990 865015 865016 865021 865022 865108 872248 872301 877075 877111 877280 877285 877292 877313 877355 877357 877358 877373 877388 877405 877414 877425 877441 877550 877569 877572 877611 877645 877849 877858 878500 878524 878560 879257 879280 879606 879615 887833 887846 887900 917890 919267 919607 919640 919644 919866 919877 919896 919976 919985 919988 919989 920017 920028 920181 920184 920191 920196 920207 920261 920305 920372 920420 920421 920423 920438 920462 920506 920571 920616 920617 920618 920673 920685 920740 920774 935681 935807 935808 935826 935909 936223 936248 936282 940101 940102 940103 940105 940289 940291 940453 940458 940460 940607 940615 940616 940617 940622 940937 940978 941025 941104 948044 948048 948101 948102 948112 948118 948209 948214 948216 948218 948219 948222 948223 948225 948234 948287 948303 948348 948380 948420 948437 948588 948630 948667 948674 948680 948699 948700 948718 948734 948745 948746 948749 948750 948758 948796 948840 948879 948976 949022 949043 949059 949541 1096061 1096309 1096314 1096334 1096346 1096347 1096348 1096349 1096616 1096638 1096639 1096653 1096654 1096665 1096666 1096667 1096715 1112131 1112160 1112166 1112179 1112310 1112358 1112382 1112387 1112459 1112474 1112501 1112502 1112503 1112553 1112557 1112566 1112570 1112622 1112630 1112638 1112746 1112748 1112788 1134506 1134517 1134719 1135161 1135868 1135873 1136042 1136043 1136084 1136085 1140680 1141918 1141952 1141953 1142024 1142025 1142081 1142155 1142169 1142249 1142274 1142296 1142308 1142311 1142328 1142339 1142340 1142347 1142385 1142432 1142522 1153706 1167707 1167721 1167722 1167725 1168197 1168198 1168199 1168204 1168206 1168311 1168327 1168328 1168401 1176475 1257877 1257925 1257930 1257931 1260325 1260326 1260327 1260964 1260965 1260966 1261358 1261359 1261473 1262193 1262213 1262241 1262472 1263762 1263777 1263881 1263882 1263885 1263886 1263887 1263888 1263889 1263892 1263896 1263897 1263899 1263901 1264177 1264183 1264195 1265858 1265973 1265974 1265976 1265978 1265987 1265988 1265989 1265990 1265994 1265996 1265997 1265998 1265999 1266000 1266001 1266002 1266005 1266006 1266007 1266009 1266011 1266012 1266014 1266015 1266016 1266018 1266019 1266020 1266023 1266024 1266025 1266026 1266029 1266030 1266031 1266032 1266035 1266037 1266038 1266040 1266042 1266043 1266044 1266045 1266046 1266047 1266048 1266049 1266050 1266051 1266053 1266054 1266055 1266056 1266059 1266060 1266063 1266064 1266065 1266066 1266068 1266070 1266071 1266074 1266075 1266079 1266081 1266082 1266086 1266087 1266088 1266089 1266090 1266091 1266092 1266094 1266095 1266098 1266099 1266100 1266101 1266105 1266106 1266109 1266110 1266111 1266112 1266113 1266114 1266115 1266116 1266118 1266119 1266120 1266121 1266123 1266124 1266127 1266128 1266129 1266131 1266132 1266133 1266134 1266135 1266136 1266137 1266138 1266139 1266140 1266141 1266142 1266144 1266145 1266146 1266147 1266148 1266149 1266153 1266155 1266156 1266157 1266158 1266159 1266162 1266163 1266165 1266166 1266167 1266168 1266170 1266171 1266173 1266174 1266175 1266176 1266177 1266178 1266179 1266180 1266182 1266183 1266184 1266185 1266188 1266190 1266194 1270206 1272516 1272677 1272765 1273017 1273099 1274269 1274280 1274281 1274305 1274309 1274310 1274335 1274767 1274831 1274891 1275120 1275122 1275149 1275155 1275160 1275161 1275171 1275172 1275174 1275175 1275176 1275189 1275190 1275191 1275192 1275193 1275199 1275203 1275205 1275206 1275208 1275209 1275210 1275212 1275213 1275214 1275216 1275217 1275220 1275221 1275226 1275229 1275232 1275233 1275236 1275237 1275239 1275240 1275241 1275242 1275254 1275258 1275259 1275260 1275261 1275263 1275264 1275265 1275267 1275271 1275272 1275273 1275275 1275277 1275278 1275279 1275280 1275282 1275291 1275294 1275298 1275299 1275302 1275303 1275304 1275307 1275321 1275322 1275323 1275324 1275418 1275419 1275420 1275438 1275465 1275668 1275871 1275874 1275959 1275969 1276137 1276140 1276141 1276146 1276147 1276181 1279270 1279296 1282144 1282371 1282447 1282448 1285375 1285519 1290064 1290244 1290308 1290309 1290310 1290323 1290353 1290358 1290401 1290402 1290403 1290783 1292753 1292754 1292757 1292758 1292769 1292770 1292773 1292775 1292777 1292778 1297884 1298180 1298201 1299237 1299238 1299239 1299240 1299260 1299879 1300114 1300127 1300233 1300346 1300347 1300386 1300387 1300585 1300818 1301047 1301048 1301145 1301191 1301192 1301193 1301194 1301270 1301273 1301361 1301362 1301363 1301364 1302282 1302392 1302401 1302417 1302476 1302507 1302530 1302569 1302579 1302645 1302652 1302700 1302707 1302724 1302746 1302771 1302772 1302773 1302808 1302823 1302848 1302853 1304295 1304297 1304300 1304305 1304306 1304307 1304317 1304319 1304320 1304321 1304324 1304328 1304404 1304413 1304506 1304507 1304508 1304510 1304512 1304513 1304515 1304517 1304927 1305256 1305267 1305409 1305968 1306214 1306242 1306247 1306262 1306459 1306573 1306574 1306599 1306672 1306837 1314678 1314679 1314694 1314726 1314741 1314745 1314746 1318543 1318544 1318550 1318551 1318558 1318562 1319185 1319300 1319301 1319302 1319315 1320453 1320470 1320471 1320472 1321220 1321313 1321316 1321427 1321489 1321546 1321547 1321683 1321757 1321781 1321862 1321865 1321871 1321872 1321878 1321904 1322018 1322286 1326912 1327709 1327920 1328042 1328257 1328385 1328386 1328402 1328479 1328504 1328544 1331535 1331544 1332039 1332042 1332051 1332055 1332059 1332066 1332078 1332079 1332128 1332139 1332156 1332164 1332167 1332171 1332174 1332176 1332182 1332183 1332187 1332191 1332202 1332203 1332206 1332211 1332215 1332218 1332219 1332220 1332221 1332224 1332225 1332230 1332231 1332232 1332241 1332243 1332244 1332249 1332250 1332255 1332257 1332259 1332260 1332262 1332267 1332268 1332272 1332278 1332282 1332287 1332293 1332294 1332301 1332302 1332304 1332306 1332308 1332312 1332313 1332316 1332317 1332318 1332327 1332328 1332329 1332343 1332347 1332356 1332362 1332460 1332463 1332464 1332470 1332473 1332474 1332477 1332479 1332489 1332490 1332493 1332494 1332495 1332500 1332501 1332505 1332506 1332508 1332509 1332514 1332515 1332519 1332523 1332527 1332528 1332529 1332532 1332533 1332534 1332535 1332538 1332539 1332543 1332549 1332551 1332553 1332556 1332557 1332560 1332561 1332562 1332569 1332574 1332575 1332576 1332577 1332578 1332579 1332580 1332582 1332591 1332598 1332602 1332606 1332607 1332608 1332609 1332610 1332613 1332614 1332619 1332630 1332631 1332632 1332633 1332635 1332636 1332637 1332638 1332843 1332844 1332845 1332846 1332847 1332848 1332849 1332850 1332851 1332852 1332860 1332865 1332866 1332868 1332869 1332875 1332879 1332880 1332883 1332884 1332885 1332887 1332888 1332891 1332892 1332894 1332895 1332899 1332900 1332902 1332903 1332904 1332905 1332906 1332909 1332910 1332911 1332912 1332913 1332915 1332916 1332917 1332922 1332923 1332930 1332932 1332933 1332942 1332951 1332953 1332957 1332959 1332963 1332965 1332966 1332967 1332968 1332969 1332970 1332973 1332977 1332979 1332981 1332982 1332985 1332986 1332988 1332995 1332996 1333000 1333001 1333003 1333004 1333010 1333011 1333012 1333015 1333016 1333026 1333027 1333043 1333044 1333046 1333049 1333063 1333064 1333067 1333069 1333070 1333071 1333073 1333082 1333084 1333086 1333087 1333091 1333092 1333093 1333094 1333096 1333097 1333098 1333099 1333100 1333109 1333110 1333112 1333113 1333114 1333115 1333116 1333117 1333118 1333119 1333125 1333128 1333130 1333131 1333132 1333137 1333145 1333148 1333149 1333153 1333155 1333156 1333157 1333159 1333160 1333170 1333171 1333172 1333173 1333176 1333177 1333178 1333179 1333190 1333191 1333265 1333266 1333267 1333268 1333275 1333280 1333283 1333284 1333286 1333287 1333288 1333290 1333297 1333298 1333318 1333320 1333321 1333322 1333369 1333370 1333371 1333373 1333378 1333383 1333384 1333385 1333386 1333392 1333394 1333396 1333401 1333407 1333411 1333414 1333415 1333438 1333441 1333442 1333443 1333444 1333445 1333446 1333448 1333450 1333453 1333454 1333455 1333456 1333459 1333460 1333461 1333462 1333463 1333464 1333466 1333467 1333468 1333469 1333470 1333472 1333473 1333482 1333492 1333495 1333496 1333499 1333500 1333501 1333502 1333511 1333513 1333516 1333517 1333518 1333519 1333590 1333592 1333597 1333600 1333614 1333630 1333631 1333643 1333646 1333741 1333742 1333745 1333748 1333749 1333751 1333754 1333757 1333759 1333761 1333762 1333763 1333768 1333770 1333773 1333774 1333776 1333777 1333778 1333779 1333780 1333781 1333782 1333783 1333784 1333785 1333788 1333789 1333790 1333791 1333792 1333797 1333798 1333799 1333800 1333813 1333817 1333821 1333824 1333832 1333843 1333846 1333849 1333855 1333859 1333860 1333862 1333863 1333866 1333871 1333878 1333932 1333936 1333939 1333946 1333947 1333955 1333962 1333963 1333966 1333967 1333968 1333969 1333970 1333971 1333972 1333973 1333974 1333975 1333984 1333987 1333989 1333990 1333992 1333993 1334002 1334004 1334005 1334008 1334009 1334010 1334011 1334012 1334014 1334015 1334017 1334019 1334020 1334021 1334023 1334025 1334026 1334028 1334029 1334034 1334036 1334037 1334149 1334151 1334154 1334169 1334170 1334172 1334173 1334176 1334177 1334179 1334180 1334183 1334184 1334185 1334206 1334216 1334218 1334222 1334225 1334226 1334227 1334229 1334231 1334232 1334234 1334235 1334236 1334237 1334238 1334240 1334241 1334242 1334243 1334244 1334246 1334255 1334258 1334259 1334260 1334261 1334262 1334264 1334266 1334271 1334274 1334275 1334279 1334280 1334281 1334282 1334296 1334298 1334299 1334300 1334303 1334305 1334317 1334358 1334362 1334363 1334364 1334368 1334369 1334370 1334371 1334372 1334373 1334374 1334375 1334377 1334378 1334380 1334385 1334386 1334402 1334406 1334407 1334408 1334409 1334410 1334413 1334415 1334416 1334419 1334420 1334421 1334425 1334432 1334434 1334438 1334439 1334443 1334444 1334445 1334447 1334448 1334450 1334452 1334453 1334454 1334455 1334457 1334464 1334540 1334543 1334548 1334549 1334550 1334557 1334561 1334563 1334573 1334574 1334577 1334580 1334581 1334592 1334593 1334596 1334597 1334603 1334611 1334614 1334619 1334620 1334624 1334625 1334626 1334630 1334631 1334633 1334634 1334636 1334637 1334641 1334643 1334645 1334646 1334647 1334649 1334651 1334652 1334653 1334654 1334655 1334656 1334657 1334658 1334659 1334660 1334661 1334662 1334663 1334664 1334665 1334667 1334669 1334670 1334672 1334673 1334674 1334675 1334676 1334678 1334679 1334680 1334681 1334682 1334683 1334687 1334691 1334695 1334698 1334699 1334701 1334703 1334704 1334705 1334708 1334710 1334713 1334714 1334715 1334719 1334720 1334722 1334737 1334758 1334759 1334760 1334761 1334762 1334763 1334768 1334769 1334771 1334772 1334773 1334774 1334781 1334782 1334792 1334793 1334797 1334798 1334799 1334801 1334807 1334809 1334811 1334813 1334814 1334815 1334816 1334817 1334818 1334820 1334826 1334920 1334921 1334926 1334927 1334931 1334941 1334942 1334946 1334949 1334953 1334956 1334957 1334967 1334968 1334970 1334971 1334974 1334975 1334977 1334991 1335060 1335069 1335097 1335099 1335101 1335102 1335107 1335110 1335113 1335114 1335120 1335122 1335124 1335130 1335131 1335140 1335141 1335146 1335147 1335149 1335152 1335153 1335154 1335155 1335159 1335161 1335162 1335163 1335164 1335167 1335168 1335169 1335171 1335172 1335174 1335175 1335176 1335177 1335179 1335184 1335185 1335299 1335302 1335307 1335308 1335309 1335312 1335315 1335316 1335318 1335320 1335321 1335324 1335325 1335327 1335329 1335334 1335337 1335339 1335340 1335341 1335342 1335345 1335348 1335352 1335354 1335355 1335357 1335358 1335360 1335361 1335363 1335364 1335365 1335367 1335372 1335377 1335379 1335381 1335382 1335383 1335384 1335387 1335392 1335395 1335396 1335409 1335414 1335418 1335419 1335420 1335426 1335429 1335433 1335434 1335435 1335441 1335442 1335446 1335448 1335450 1335451 1335468 1335472 1335474 1335475 1335476 1335479 1335480 1335481 1335482 1335483 1335485 1335487 1335488 1335489 1335490 1335493 1335503 1335504 1335505 1335508 1335510 1335511 1335512 1335514 1335515 1335516 1335518 1335519 1335520 1335521 1335522 1335563 1335570 1335572 1335574 1335575 1335579 1335658 1335661 1335678 1335681 1335682 1335683 1335684 1335685 1335686 1335687 1335688 1335690 1335691 1335693 1335694 1335701 1335703 1335710 1335711 1335712 1335713 1335715 1335716 1335718 1335720 1335721 1335723 1335724 1335727 1335729 1335730 1335737 1335742 1335743 1335744 1335745 1335747 1335749 1335753 1335775 1335776 1335777 1335778 1335779 1335895 1335896 1335897 1335900 1335903 1335904 1335906 1335907 1335923 1335924 1335928 1335929 1335933 1335934 1335936 1335938 1335939 1335941 1335943 1335951 1335964 1335965 1335971 1335975 1335976 1335980 1335983 1335991 1335996 1335998 1335999 1336001 1336004 1336005 1336006 1336007 1336016 1336021 1336025 1336030 1336036 1336037 1336040 1336042 1336044 1336045 1336047 1336048 1336049 1336052 1336056 1336058 1336059 1336069 1336071 1336076 1336077 1336078 1336079 1336082 1336085 1336096 1336097 1336109 1336110 1336113 1336114 1336115 1336117 1336118 1336119 1336121 1336122 1336124 1336127 1336128 1336129 1336132 1336134 1336137 1336138 1336139 1336140 1336141 1336144 1336148 1336150 1336156 1336159 1336160 1336169 1336171 1336172 1336174 1336178 1336179 1336181 1336182 1336185 1336188 1336191 1336192 1336195 1336197 1336204 1336205 1336207 1336208 1336211 1336212 1336215 1336219 1336222 1336227 1336247 1336248 1336249 1336254 1336255 1336257 1336260 1336265 1336268 1336269 1336271 1336286 1336290 1336298 1336301 1336303 1336306 1336307 1336316 1336318 1336319 1336322 1336325 1336326 1336334 1336336 1336337 1336339 1336342 1336348 1336353 1336355 1336360 1336366 1336370 1336399 1336418 1336480 1336490 1336501 1336506 1336518 1336521 1336522 1336525 1336526 1336527 1336529 1336535 1336536 1336537 1336538 1336543 1336544 1336546 1336548 1336695 1336699 1336703 1336705 1336706 1336708 1336709 1336711 1336719 1336720 1336724 1336726 1336727 1336728 1336733 1336735 1336743 1336744 1336745 1336746 1336748 1336750 1336751 1336753 1336754 1336755 1336756 1336764 1336765 1336772 1336773 1336774 1336822 1336824 1336829 1336832 1336839 1336840 1336841 1336842 1336843 1336853 1336854 1336855 1336858 1336860 1336861 1336862 1336863 1336865 1336869 1336873 1336874 1336875 1336876 1336878 1336879 1336883 1336885 1336886 1336887 1336888 1336890 1336891 1336898 1336899 1336904 1336905 1336921 1336939 1336940 1336942 1336944 1336945 1336946 1336950 1336955 1336960 1336963 1336967 1336968 1336971 1336973 1336975 1336977 1336981 1336982 1336983 1337011 1337013 1337014 1337015 1337016 1337020 1367420 1367534 1367536 1367539 1367540 1367554 1367652 1367653 1367654 1367774 1367859 1367861 1367970 1368019 1368041 1368066 1368237 1368295 1368354 1368404 1368669 1368771 1368816 1368817 1368821 1368871 1368888 1368898 1368903 1368910 1368911 1369136 1370419 1370446 1370468 1370500 1370507 1370510 1370657 1370658 1370659 1370700 1370701 1370723 1370724 1370740 1370800 1370832 1370868 1370889 1370890 1370913 1370954 1370962 1370963 1371159 1373217 1373219 1377598 1377610 1377665 1377678 1377708 1377785 1377787 1377843 1377844 1377849 1377850 1377904 1377911 1377913 1377916 1377918 1377919 1377940 1378050 1378107 1378109 1378111 1378340 1378461 1378462 1378463 1378502 1378511 1378512 1378513 1378703 1382025 1382026 1384403 1384404 1384406 1384407 1384408 1384410 1384416 1384494 1384590 1391732 1395955 1403393 1403404 1406030 1410442 1411997 1412004 1412014 1412016 1412036 1439275 1442395 1456615 1456633 1456781 1456853 1456860 1456864 1458142 1458155 1458156 1504525 1509147 1509148 1510502 1510778 1510784 1510795 1510885 1510961 1511048 1511052 1511055 1511063 1511100 1511104 1511193 1511194 1511263 1511284 1511286 1511306 1511307 1511309 1511312 1511313 1511317 1511318 1511320 1511322 1511323 1511342 1511566 1511607 1511934 1512249 1512252 1512255 1512259 1512260 1512409 1512419 1512420 1512431 1512433 1512441 1512694 1512858 1512981 1513025 1513034 1513146 1513273 1513364 1513368 1513470 1513531 1513614 1513669 1513670 1513671 1513675 1513704 1513718 1513721 1513734 1513782 1514138 1514199 1514225 1514294 1514422 1514428 1514429 1514507 1514915 1514920 1514921 1515107 1515281 1515282 1515283 1515284 1515286 1515287 1515288 1515289 1515297 1515299 1516063 1516098 1516100 1516170 1516171 1516371 1516402 1516403 1516404 1516408 1516410 1516416 1516417 1516418 1516419 1516423 1516426 1516427 1516433 1516434 1516435 1516437 1516474 1516475 1516490 1516592 1516669 1516858 1516865 1517109 1517117 1517123 1517124 1517125 1517180 1517284 1517444 1517445 1517531 1517538 1517567 1517658 1517894 1517920 1518004 1518005 1518020 1518038 1518064 1518167 1518171 1518189 1518234 1518235 1518355 1518359 1518361 1518366 1518571 1518574 1518647 1518693 1518694 1518712 1518714 1518715 1518716 1518718 1518720 1518721 1518723 1518724 1518725 1518727 1518732 1518735 1518736 1518737 1518738 1518741 1518745 1518746 1518869 1518870 1518872 1518875 1518879 1518949 1519001 1519009 1519086 1519172 1519175 1519176 1519184 1519214 1519233 1519276 1519324 1519346 1519362 1519411 1519463 1519499 1519663 1519665 1519670 1519675 1519678 1519689 1519702 1519714 1519787 1519840 1519859 1519914 1519917 1519919 1519923 1519925 1519926 1519929 1519931 1519982 1520072 1520074 1520075 1520078 1520083 1520085 1520087 1520088 1520089 1520093 1520094 1520097 1520099 1520100 1520128 1520159 1521717 1521720 1521730 1521731 1521742 1521830 1521832 1521835 1521837 1521838 1521839 1521843 1521852 1521872 1521880 1521891 1521920 1521930 1521942 1521943 1521962 1521977 1522011 1522021 1522023 1522028 1522029 1522033 1522035 1522057 1522070 1522081 1522084 1522090 1522096 1522102 1522121 1522123 1522248 1522282 1522297 1522299 1522302 1522304 1522317 1522321 1522324 1522325 1522362 1522378 1522383 1522414 1522458 1522474 1522476 1522489 1522511 1522573 1522574 1522656 1522657 1522685 1522686 1522719 1524009 1524025 1524028 1524029 1524043 1526991 1527197 1527228 1527249 1527349 1527390 1527418 1531553 1531608 1531702 1532366 1532367 1532393 1532715 1532838 1533062 1533154 1533155 1533161 1533592 1536010 1536275 1536526 1536561 1536999 1537032 1537033 1537102 1540912 1541566 1541840 1546189 1562010 1562312 1562652 1562928 1563119 1563263 1563725 1565950 1565951 1567257 1569637 1578906 1578917 1579124 1608408 1609519 1610085 1611183)\n(91 190 275 364 399 618 657 661 702 1026 1367 1374 1407 1413 1443 1444 1445 1448 1455 1459 1461 1465 1480 1506 2358 3284 3651 3674 3676 3679 3680 3681 4130 4221 4475 4483 6232 6233 6242 6556 8599 8601 9140 9221 9226 9239 10167 10711 10715 10725 10729 10734 10848 10850 11223 11473 11476 11485 11487 11493 11496 11502 11503 11528 11529 11534 11535 12054 12055 12084 12131 12132 12133 12136 12474 12475 12476 12477 12478 12479 12854 12868 12893 12924 12925 12927 12929 12930 12931 12933 12934 12935 12937 12939 13462 14290 14587 14639 14991 15295 15435 15540 16278 16343 16344 16360 16388 16595 16778 17066 17215 17397 17430 18321 18328 18330 18338 18340 18342 18346 18348 18352 18353 18366 19408 20382 20811 21528 21531 21532 21533 21534 21540 21544 21920 21950 22218 22230 23101 23978 24468 24471 25828 25830 25895 26163 26661 27270 27289 27303 28032 28601 28603 28604 28606 28619 28621 28630 28631 28948 28952 28953 28956 30239 30896 30900 31484 31631 32136 32367 32400 32402 32408 32410 32411 32413 32414 32416 32417 32468 32550 32590 33413 33511 33755 33846 34136 34137 34145 34146 34286 34287 34288 34471 34987 35142 35525 35546 35548 35668 35669 35683 35692 35693 35694 35695 35696 35700 35701 35703 35704 35705 35709 35711 35714 35716 35717 35725 35728 35734 35736 35901 37014 37519 39290 39551 39554 39677 39904 39922 39923 39959 40077 40079 40087 40090 40092 40562 40987 41133 41286 41525 41526 41528 41532 41917 41920 41921 41984 41986 41987 41988 41991 41995 42002 42010 42646 43164 43166 43314 43442 43474 43670 44036 44077 44078 44148 44313 44350 44357 44376 44401 44461 44462 44468 44469 44474 44477 44480 44606 45093 45105 45106 45108 45113 45115 45117 45118 45120 45123 45127 45128 45129 45130 45142 45147 45157 45158 45159 45163 45169 45172 45175 45176 45177 45179 45181 45183 45184 45186 45187 45189 45191 45192 45195 45196 45198 45201 45203 45206 45208 45211 45212 45215 45227 45228 45232 45587 45588 45589 45651 45868 45884 45897 45918 45920 45944 45989 45990 46003 46004 46108 46109 46110 46111 46174 46394 46395 46518 46569 46571 46575 46577 46774 46775 46781 46783 46784 46787 46788 46790 46793 46794 46803 46814 46838 46840 46841 46842 46846 46852 46853 47136 47196 47197 47241 47242 47299 47300 47313 47328 47329 47330 47331 47332 47333 47335 47395 47509 47566 47569 47571 47596 47608 47618 47707 47758 47760 48058 48450 48541 48568 48717 48788 48792 48794 48796 48797 48801 48802 48803 48806 48808 48809 48812 48815 48818 48819 48821 48823 48824 48838 48841 48906 48914 48962 48980 48982 49010 49015 49016 49033 49053 49065 49066 49067 49075 49086 49090 49092 49093 49096 49101 49102 49113 49128 49143 49161 49168 49169 49170 49174 49181 49182 49192 49193 49194 49196 49197 49200 49238 49243 49247 49259 49263 49271 49272 49273 49279 49282 49288 49293 49302 49308 49309 49310 49328 49329 49336 49358 49369 49373 49374 49464 49486 49498 49499 49502 49507 49509 49534 49579 49597 49652 49661 49667 49669 49674 49707 49716 49717 49718 49719 49753 49810 49862 49885 49909 49930 49933 49935 49936 49941 49942 49943 49944 49945 49968 49972 50000 50001 50014 50024 50025 50026 50027 50028 50031 50040 50041 50042 50044 50046 50051 50053 50054 50056 50057 50058 50063 50064 50065 50078 50084 50086 50091 50092 50093 50119 50121 50169 50170 50173 50174 50175 50178 50180 50181 50185 50203 50206 50212 50213 50225 50226 50260 50334 50472 50563 50678 50680 50738 50740 50746 50747 50749 50751 50752 50757 50758 50759 50760 50761 50762 50763 50764 50765 50766 50767 50772 50773 50776 50782 50785 50786 50789 50800 50811 50818 50822 51028 51029 51067 51219 51285 51299 51461 51577 51644 51764 52239 52262 52268 52271 52273 52283 52307 52348 52371 52408 52409 52465 52760 53040 53264 53649 53697 54034 54035 54059 54076 54081 54117 54118 54136 54150 54408 54687 54689 54691 54727 54732 54806 54977 55233 55408 55654 55801 56070 56208 56266 56288 56331 56449 56621 56682 56689 56690 56692 56693 56833 56898 56903 56904 56911 56912 57158 57257 57406 57408 57425 57430 57441 57442 57470 57474 57683 57684 57686 57814 57903 58027 58028 58124 58314 58448 58604 58606 58608 58705 58725 59303 59364 59675 59705 59706 59985 60122 60432 60483 60660 60662 60663 60664 60665 60747 61828 61845 61900 61926 61961 61967 61969 61970 61971 61972 61973 61984 61986 61994 63177 63241 63775 63799 63801 63977 64043 64360 64554 64746 65006 65522 65523 65645 65974 66159 66172 66438 66441 66447 66598 66734 66735 66880 67147 67154 67155 67159 67193 67204 67224 67228 67451 67536 67692 67833 68351 68476 68555 68702 68703 68712 68716 68723 68825 69136 69148 69187 69225 69270 69390 69417 69423 69424 69429 69431 69660 69661 69756 69757 69782 69822 69882 69894 69896 69897 70429 70779 70821 71074 71075 71336 71348 71359 71365 71404 71406 71412 71476 71504 71635 71636 71637 72540 72558 72564 72661 72815 72841 73220 73221 73222 73347 73424 73429 73432 73433 73434 73435 73604 73838 73841 73883 73956 74012 74081 74221 74278 74285 74355 74749 75057 75444 75456 75739 76108 76423 76474 76491 76492 76578 76579 76580 76582 76583 76585 76586 76588 76592 76593 76598 76877 77069 77070 77270 77348 77349 77350 77362 77366 77474 77476 77895 77898 77902 78007 78236 78582 78583 78606 78607 78751 78973 78974 78975 79249 79250 79469 79516 79517 79519 79532 79925 80124 80125 80206 80238 80615 80631 80632 80634 80636 80638 80857 80859 80956 80960 81162 81165 81225 81342 81371 81375 81378 81381 81382 81389 81467 81491 81555 81599 81616 81912 82774 82862 83369 83373 83458 83459 83653 83812 84253 84351 84380 84381 84382 84678 84685 84783 85746 85791 85865 86022 86126 86222 86796 86860 88688 89089 91014 91016 91021 91022 91023 91053 91118 92311 92777 92795 92801 93009 94213 94245 94258 97693 97842 98319 98344 98359 98361 98365 98380 98424 98537 98539 98659 98708 98944 99309 99782 99783 100258 100297 100309 101539 101596 101601 101790 102354 104741 104804 105115 106136 108390 108393 108746 109231 109234 109657 109731 111334 111403 111606 111607 113523 113531 113897 114116 114527 115090 115510 117920 120182 120430 122838 125887 128293 128487 128608 129665 129689 131628 132326 132463 133214 133819 133984 134257 136127 137492 137710 137714 137789 138386 140261 140652 140671 142921 143257 144897 145657 145908 148917 149079 149221 149230 162326 162327 162464 162509 162918 163022 163102 163272 163988 164135 164500 164502 164662 164719 164815 164985 165029 165440 166485 166821 167160 167195 167199 167373 168246 169062 169495 169733 169868 170052 170660 172018 172114 172398 172471 172570 173883 174507 174972 178630 205742 206415 206416 206795 206855 206919 207038 207130 207131 207503 207586 208078 208343 208648 208845 208979 209511 209738 210504 210505 210591 210592 212245 212565 213960 214051 214424 216610 216854 216880 217093 217154 218007 219100 219379 219495 219883 220149 242246 242493 242610 242611 242612 242720 242827 242850 242958 242961 242962 242964 242967 242968 243216 243476 243524 243831 244185 244306 244344 244355 244725 244884 244913 244924 244999 245085 245513 246138 246224 246235 246445 246446 246902 247272 247742 247925 248102 248277 250131 250269 250357 251019 251077 251080 251585 251620 251911 251988 251989 251992 252307 252806 253087 253353 253893 254633 254737 254881 254943 255693 256396 256680 257677 257755 257918 257977 258032 258267 258761 258863 258988 259656 280039 281351 281763 282040 282120 282188 282384 282385 282399 282521 282522 282523 282524 282537 282894 283222 283683 284051 284471 284687 284778 285076 285803 285804 286078 286079 286332 286536 286656 286689 287004 287049 287113 287213 287252 287888 288276 289299 289368 289488 289547 289858 290118 290159 290240 290421 290433 290954 290996 291269 291275 291815 292352 292819 293703 293954 294062 294381 294431 294829 294856 294857 295116 295809 295981 296009 297128 297166 297167 297750 297975 298633 299126 300863 301726 311471 311474 338133 338278 360384 360385 360386 368790 368904 369083 369169 369332 369335 369343 369499 369707 376257 376578 376613 377227 377607 377764 377780 378208 378861 379288 379952 379998 380646 381312 381801 381855 381956 382113 382179 382377 382731 382866 382873 382875 382879 383169 383770 384228 384298 384355 384857 385460 385787 386044 386886 386894 387367 387988 388139 388472 388889 389183 389303 389759 389774 389883 389901 389954 390046 390520 390729 390752 390896 391719 393026 443600 486919 486948 486959 487313 487667 487773 520462 524858 524859 525013 525261 525262 525732 526113 526312 526317 526550 526572 526574 526612 526858 527161 527169 527313 528272 528289 528483 528492 529394 529585 529982 530265 530270 530660 530830 531140 531540 531633 532392 532593 532727 535443 535518 535565 535569 536131 536412 537243 537374 537592 538970 539178 539716 540124 540137 540193 540270 540288 540313 540529 540718 541179 591057 591313 591865 592249 592290 596041 596042 596147 596400 596401 596418 596419 596576 596581 596635 596636 596649 596652 596712 597067 597100 597101 597102 597105 597106 597107 597331 597536 597549 597550 597573 597574 597575 597608 597617 597618 597765 598270 598279 598546 598997 599001 599002 599013 599162 599163 599257 599538 599566 599651 599686 599904 600204 600205 600253 600399 600401 600412 600413 600455 600465 600472 600493 600500 600508 600510 600600 600680 601422 601556 601716 601890 602033 602878 602923 603567 603901 604117 604803 604908 604975 605215 605403 605580 606600 606911 606969 607138 607603 607643 607682 607752 607910 608033 609925 610397 610610 610629 610834 611339 611704 612325 612382 612769 613184 613220 613311 613312 613424 613468 613706 613789 613881 613964 613966 613970 613972 613984 614106 614168 614320 614399 614411 614478 614807 614830 614909 615014 615393 615622 615889 615903 616442 616574 616671 616789 617040 617352 617684 617787 618231 618426 618442 618627 619020 620052 620056 620206 620447 620694 621069 621611 621845 622453 622554 623114 623970 623972 624077 624118 624197 624248 624424 624429 624567 624784 624957 625056 625361 625464 625902 625903 625921 626036 626430 626544 626910 627107 627284 627382 627553 627808 628032 628340 628547 628576 628584 628607 628949 629015 629017 629615 629617 629845 630157 630551 630771 630880 631008 631163 631924 632082 632525 632600 632814 632815 632995 633199 633210 633293 633318 633689 633778 634212 634495 634839 634896 635019 635145 635405 635489 636085 636383 637253 638571 639196 639450 639472 640469 640474 640588 640843 640909 640935 641029 641125 641944 642228 642334 643319 643518 643632 643814 643850 643852 644337 644905 644965 645656 645658 645682 646017 646252 646253 647316 647434 647526 647527 647622 647681 648238 648306 648999 649208 649412 649670 649962 650422 650734 651065 651569 651601 652026 652313 653230 653283 656148 657485 657602 658235 658417 658589 658734 658827 658936 659087 659146 659363 659644 659749 659886 659914 660230 661378 661643 661654 661688 662758 662868 663059 663309 663655 663861 664104 664106 664137 664272 664497 664876 664980 664983 664984 665491 666550 666551 667433 667846 668760 670045 670483 670729 670825 671247 671970 672149 672169 672410 673492 673494 673496 674138 674169 674609 675139 675533 676422 676450 676471 676608 676609 676678 676775 677882 677981 678123 678151 678205 682990 699254 699372 699374 699407 699413 699576 700805 700911 701235 701305 701307 701309 701312 701346 702024 702029 718263 719742 720482 722911 723603 724366 724367 724419 724476 724515 728726 728765 729101 730684 733416 733521 733522 733524 733528 733530 733534 733923 751608 751969 752400 752673 753795 755196 755535 755570 755809 756417 756443 757100 757709 757711 758123 758643 758645 758987 759331 759351 759671 761039 761040 761109 761296 761298 761848 762000 762193 762289 762456 763306 763767 764054 764138 764141 764826 765325 765755 766192 767127 768079 769053 769900 771488 771671 795760 796527 796640 805016 805018 805238 806351 806359 806367 807037 807074 807283 807779 808372 815050 877812 878257 879385 882632 882725 883037 883056 883073 883503 886849 887857 887858 887859 887909 887917 887918 887945 887946 887954 887955 887977 907349 907683 908094 908727 909762 909839 909841 910169 910596 911003 911343 911659 912003 912792 912809 912982 913342 913726 914099 914296 914297 914330 914570 914571 914668 914671 914854 915152 915154 915325 915849 917720 919257 919258 919259 919260 919261 919262 920453 920460 920599 920600 935954 935992 939216 939526 946123 946220 949410 949639 949645 949648 949655 950109 950745 950924 950954 960381 960476 960732 960881 961475 961539 962772 962776 963166 963263 963365 963398 963530 963949 964443 964910 964962 965043 965351 965352 965510 965531 966503 966504 966776 967532 967579 969335 969709 969834 971023 971338 982166 1017761 1097962 1098474 1099040 1099354 1099355 1099776 1100128 1100227 1100326 1101328 1101609 1101610 1101657 1115541 1120646 1120703 1121158 1121296 1122324 1130436 1134664 1135123 1135140 1135882 1135894 1136131 1136155 1136175 1136176 1136185 1136191 1136251 1138413 1142994 1142995 1142996 1143221 1143397 1143399 1144133 1144384 1148307 1148374 1148428 1148435 1170576 1171957 1172189 1172442 1172443 1172837 1175140 1179920 1184054 1190681 1213691 1213693 1217459 1217461 1217462 1254533 1257892 1257893 1257903 1257994 1258613 1259093 1259306 1259654 1259655 1259656 1259670 1259758 1268902 1291185 1291194 1311569 1311694 1312071 1312087 1312170 1312828 1312881 1313232 1313459 1313495 1313687 1317113 1319305 1327877 1328699 1333647 1336014 1337053 1337054 1337298 1432709 1433651 1434489 1436066 1436330 1436331 1449446 1449802 1450567 1451334 1451803 1453933 1454590 1454603 1454751 1456755 1458175 1458202 1458253 1481582 1481586 1481608 1481614 1481616 1481630 1481643 1481658 1481701 1481747 1481822 1481930 1505653 1506672 1507099 1507144 1508759 1510774 1510800 1511534 1511626 1511628 1511699 1512615 1512794 1513139 1513315 1513362 1514152 1514285 1514926 1515240 1515558 1515847 1517365 1517439 1517889 1517891 1517907 1517908 1518157 1518771 1519595 1524013 1527236 1528494 1528495 1528595 1528799 1529507 1530610 1530623 1531015 1531162 1531796 1537998 1545214 1545733 1545738 1545782 1563756 1564291 1564927 1565486 1566101 1566983 1567171 1567931 1567952 1568876 1570156 1570636 1570637 1570809 1571061 1571150 1571349 1576729 1579410 1608718 1609721 1610276 1610767 1610809 1611034 1611913 1612082 1612098 1613391 1615581 1620145 1620232)\n(92 854 1166 1383 1398 1515 1866 1868 1876 2074 2217 2505 3219 3317 4178 4180 4607 4645 5166 5474 5482 5495 5520 5597 6903 7382 7443 7987 8813 8946 9264 9267 9393 10022 10023 10024 10025 10106 10166 10423 10546 10986 11059 11061 11094 11100 11673 11682 11945 12222 13041 13140 13463 13764 13790 13835 13838 13866 14895 15375 15916 15917 16248 16315 16460 16701 17011 17982 18216 18233 18837 18906 20034 20167 20183 20276 20286 20291 20309 20365 21431 22013 22203 23693 23701 23703 24495 25594 25723 25950 25963 26051 26597 27485 28572 28576 28577 28580 28602 28884 29141 29391 29393 30012 30604 31164 31694 31751 32931 33462 34519 34538 34539 34547 34553 34640 35053 36289 37365 37386 37605 37709 37783 38265 38442 38817 38884 38887 39029 40476 41183 41621 41625 42221 42333 42730 42784 42945 42946 43052 43085 43099 43187 43301 43309 85224 85406 85772 85813 85927 86323 86685 162358 162459 162524 162535 162691 175779 175801 178529 178587 178682 178683 221332 231825 232001 232843 237510 237660 242232 242377 242535 242680 242681 242689 242784 242921 243052 243053 243176 243177 243178 259887 259888 259889 259979 259981 259982 259985 260088 260185 260187 278215 282113 282189 282589 282688 301630 303896 311405 311411 311413 311418 336996 336997 336998 336999 337000 337002 337003 337004 337005 337007 337008 337009 337010 337012 337013 337014 337015 337016 337018 337019 337020 337026 337028 337030 337031 337036 337037 337038 337041 337050 376279 376322 376343 376484 376525 376534 376614 376615 376616 376617 376700 376706 428692 442528 442540 442827 442829 442830 442831 444608 444886 444887 444926 444927 445194 450025 450029 450030 450043 450448 450462 456156 457405 459800 524680 524705 524706 524708 542315 542479 542502 563222 563226 563227 563228 563229 563232 563526 563532 563533 563548 563550 563593 563597 564458 564459 564462 581699 596175 596307 596322 596341 596391 596436 596454 596483 596539 596578 596583 596697 596792 596800 596835 596836 597129 597237 597240 597429 597494 597571 597678 597762 597767 597773 598181 598182 598197 598237 598301 598517 598596 598864 598921 599026 599134 599514 599747 599824 599882 599962 600511 600512 600572 600574 677482 678538 678539 678540 678542 678543 678544 678547 678548 678554 678555 678556 678557 678558 678559 678560 678561 678562 678564 678565 678568 678569 678570 678571 678572 678573 678574 678575 678576 678577 678578 678579 678580 678581 678587 678588 678589 678590 678591 678592 678595 678596 678600 678601 678602 678603 678604 678609 678610 678612 678613 678614 678615 678616 678618 678619 681767 681771 681772 681774 681775 681778 681779 681781 683101 683102 683103 683107 683108 683109 683110 683111 683115 683116 683117 683118 683120 687712 700108 700614 729601 729603 729615 751646 813985 813987 815077 851346 868933 868964 870094 870127 870280 870396 870904 871079 871499 871526 871756 871761 871974 872027 917874 920481 920482 920649 920725 920734 1135950 1136308 1138417 1171318 1171356 1257749 1257888 1257935 1258057 1258058 1258578 1289892 1289893 1289894 1289895 1289896 1289899 1289900 1289901 1289903 1289904 1289905 1289908 1289909 1305710 1306567 1321552 1328586 1328861 1328878 1328924 1328939 1328947 1330964 1372991 1373159 1384604 1449598 1449599 1449600 1449602 1449640 1450275 1450280 1456803 1512188 1512440 1512826 1514217 1514577 1516444 1517434 1518007 1519445 1519754 1519755 1521797 1537001 1537026 1563692 1563770 1563771 1563772 1563773)\n(93 289 1041 1655 2302 2658 2667 3006 5210 5496 5497 5498 5919 6100 6630 6669 7267 7412 7579 8328 8586 10132 11228 13023 13030 14063 14242 14294 14295 14298 14563 16904 17048 17687 19588 23570 23610 25219 25562 25741 26667 27183 27847 27875 27893 27895 27898 27900 27908 27930 28351 28385 28403 30298 34170 34791 36751 37657 37668 37871 37874 38581 38585 39241 40162 41248 41479 42395 42418 45862 47556 48044 48332 49569 49608 50329 51076 52355 53393 54106 54193 55104 55389 56527 57386 57738 58144 59418 60608 60617 61132 61735 62927 62970 64809 67032 67648 67815 68602 68604 68605 68617 68623 68633 69725 71316 72879 73381 74684 77431 86191 94102 95853 129439 132096 132298 132301 132800 139706 162466 169524 171154 178649 209145 211547 216115 237736 242701 242702 258174 282151 282587 301822 383156 383757 389325 390137 443474 531925 537020 540587 543456 597049 597839 667288 670953 671872 756801 815018 815019 815020 815023 815024 815278 871345 887517 888081 893390 911423 949369 949370 949371 958645 968583 1099662 1113688 1113696 1135572 1314772 1333664 1333674 1334534 1334863 1334887 1334901 1334902 1334906 1337111 1366488 1412390 1412573 1413167 1413627 1414070 1414369 1415025 1415038 1415169 1415742 1416969 1417388 1417815 1417869 1418754 1419016 1420214 1420718 1421143 1421312 1421565 1434761 1439341 1446659 1454489 1456457 1457874 1527446 1538975 1568067 1610271 1824528 1836075 1837820)\n(94 4793 9802 12591 21949 41643 79160 80089 86908 162326 162327 314642 314659 598509 599780 600415 600441 600443 600446 600466 600477 677504 752046 796347 796348 796349 796350 796361 796362 796363 796364 796365 796366 796367 796371 796477 879467 1135882 1257827 1258072 1317411 1327810 1327813 1327882 1332762 1511518 1511993 1512050 1512575 1512886 1514192 1514581 1514586 1514827 1515443 1515445 1515446 1515447 1515448 1515450 1515452 1515453 1515454 1515456 1515457 1515458 1515459 1515460 1515461 1515462 1515463 1515464 1515465 1515466 1515468 1515469 1515470 1515472 1515492 1515493 1515494 1515496 1515497 1515498 1515499 1515500 1515501 1515502 1515503 1515504 1515505 1515506 1515507 1515508 1515511 1515512 1515513 1515514 1515515 1515517 1515518 1515519 1515520 1515522 1515523 1515524 1515525 1515526 1515527 1515529 1515530 1515531 1515532 1515552 1515553 1515554 1515984 1516385 1516561 1517336 1517938 1518453 1519302 1519303 1519622 1519818 1520168 1520169 1520170 1520171 1520172 1520173 1520174 1520175 1520176 1520177 1520178 1520179 1520180 1520181 1520182 1520183 1520186 1520187 1520188 1520189 1520190 1520191 1520192 1520193 1520194 1520195 1520196 1520197 1520198 1520200 1520202 1520214 1520216 1520217 1520254 1520255 1520256 1520257 1520258 1520259 1520260 1520262 1520263 1520265 1520266 1520267 1520270 1520271 1520272 1520273 1520274 1520275 1520276 1520277 1520278 1520279 1520280 1520281 1520282 1520283 1520284 1520285 1520287 1520288 1520289 1520290 1520292 1520294 1520295 1520296 1520297 1520298 1520299 1520300 1520301 1520302 1520303 1520354 1520355 1520356 1520357 1520358 1520361 1520362 1520363 1520364 1520365 1520367 1520370 1520372 1520373 1520374 1520375 1520376 1520377 1520378 1520379 1520380 1520381 1520382 1520383 1520384 1520385 1520386 1520388 1520389 1520390 1520391 1520392 1520395 1520396 1520397 1520398 1520399 1520400 1520401 1520402 1520404 1520405 1520406 1520408 1520467 1520468 1520469 1520470 1520471 1520472 1520473 1520474 1520479 1520481 1520482 1520484 1520485 1520487 1520489 1520490 1520491 1520492 1520493 1520494 1520496 1520497 1520498 1520499 1520500 1520501 1520502 1520504 1520505 1520506 1520507 1520508 1520510 1520511 1520512 1520513 1520514 1520515 1520518 1520519 1520535 1520537 1520538 1520539 1520540 1520541 1520542 1520543 1520544 1520545 1520546 1520549 1520550 1520551 1520552 1520554 1520555 1520575 1520576 1520577 1520578 1520579 1520580 1520581 1520582 1520583 1520584 1520585 1520586 1520587 1520588 1520589 1520591 1520593 1520594 1520595 1520596 1520598 1520599 1520600 1520602 1520603 1520604 1520605 1520621 1520622 1520624 1520625 1520627 1520628 1520629 1520630 1520632 1520633 1520634 1520635 1520636 1520637 1520639 1520641 1520643 1520644 1520645 1520646 1520647 1520648 1520650 1520651 1520677 1520678 1520679 1520681 1520682 1520683 1520684 1520685 1520688 1520690 1520691 1520692 1520693 1520694 1520695 1520697 1520698 1520699 1520701 1520702 1520704 1520705 1520706 1520708 1520745 1520746 1520749 1520750 1520751 1520753 1520754 1520755 1520756 1520757 1520758 1520760 1520761 1520762 1520763 1520765 1520766 1520767 1520768 1520769 1520771 1520773 1520774 1520776 1520777 1520779 1520780 1520781 1520782 1520783 1520785 1520786 1520787 1520788 1520789 1520790 1520791 1520792 1520795 1520796 1520798 1520799 1520800 1520801 1520803 1520804 1520839 1520840 1520841 1520842 1520843 1520844 1520845 1520846 1520847 1520849 1520850 1520851 1520852 1520853 1520854 1520855 1520856 1520857 1520858 1520859 1520860 1520861 1520862 1520863 1520864 1520865 1520866 1520867 1520868 1520935 1520936 1520937 1520938 1520939 1520940 1520941 1520943 1520944 1520945 1520946 1520949 1520951 1520952 1520954 1520956 1520958 1520959 1520960 1520962 1520963 1520964 1520965 1520966 1520970 1520971 1520972 1520973 1520975 1520976 1520978 1520979 1520982 1520985 1520987 1520988 1520989 1520990 1520991 1520992 1520993 1520994 1520996 1520997 1520999 1521000 1521001 1521002 1521003 1521004 1521005 1521006 1521007 1521008 1521009 1521010 1521011 1521012 1521014 1521015 1521016 1521017 1521018 1521019 1521020 1521021 1521041 1521042 1521043 1521044 1521045 1521048 1521049 1521050 1521052 1521053 1521054 1521055 1521057 1521059 1521060 1521061 1521062 1521063 1521064 1521065 1521066 1521067 1521068 1521074 1521075 1521076 1521077 1521078 1521079 1521080 1521081 1521082 1521099 1521100 1521101 1521102 1521103 1521104 1521105 1521106 1521107 1521108 1521109 1521110 1521111 1521112 1521113 1521114 1521115 1521117 1521118 1521167 1521168 1521169 1521170 1521171 1521172 1521173 1521175 1521176 1521177 1521178 1521179 1521180 1521181 1521182 1521183 1521184 1521186 1521188 1521190 1521191 1521193 1521195 1521197 1521198 1521199 1521200 1521202 1521203 1521204 1521205 1521206 1521207 1521208 1521209 1521212 1521214 1521216 1521217 1521218 1521219 1521220 1521221 1521222 1521223 1521225 1521226 1521227 1521228 1521229 1521230 1521231 1521232 1521233 1521234 1521235 1521236 1521276 1521278 1521279 1521281 1521282 1521283 1521284 1521285 1521287 1521288 1521289 1521290 1521291 1521293 1521294 1521295 1521297 1521298 1521300 1521301 1521303 1521304 1521305 1521306 1521307 1521308 1521310 1521311 1521312 1521315 1521316 1521317 1521321 1521322 1521323 1521324 1521325 1521326 1521327 1521328 1521329 1521371 1521372 1521373 1521375 1521376 1521377 1521378 1521379 1521380 1521381 1521382 1521383 1521384 1521385 1521387 1521388 1521389 1521390 1521391 1521392 1521394 1521395 1521396 1521397 1521399 1521400 1521402 1521407 1521408 1521409 1521411 1521412 1521414 1521415 1521416 1521417 1521420 1521452 1521453 1521455 1521457 1521458 1521460 1521462 1521463 1521464 1521467 1521468 1521470 1521472 1521473 1521474 1521475 1521476 1521477 1521478 1521479 1521480 1521481 1521483 1521484 1521486 1521487 1521489 1521490 1521491 1521492 1521494 1521496 1521497 1521498 1521499 1521500 1521502 1521503 1521528 1521531 1521533 1521534 1521535 1521538 1521539 1521541 1521542 1521543 1521545 1521546 1521547 1521551 1521553 1521554 1521555 1521556 1521557 1521558 1521560 1521561 1521562 1521563 1521566 1521567 1521569 1521571 1521572 1521573 1521575 1521576 1521577 1521578 1521579 1521580 1521610 1521611 1521612 1521616 1521617 1521618 1521620 1521621 1521623 1521626 1521627 1521628 1521629 1521630 1521632 1521633 1521634 1521636 1521637 1521638 1521639 1521640 1521641 1521642 1521643 1521644 1521645 1521646 1521647 1521648 1521650 1521651 1521653 1521655 1521658 1521659 1521661 1521662 1521663 1521664 1521692 1521693 1521695 1521696 1521697 1521698 1521699 1521701 1521702 1521703 1521704 1521705 1521706 1521707 1521708 1521709 1521758)\n(95 857 938 1296 1690 1691 4281 4351 4899 5517 6346 6911 7371 8080 8970 9133 9219 9351 9431 9466 9496 9642 9847 9848 9914 9958 10170 10171 10174 10180 10521 10948 10991 10992 11111 12224 12972 13550 13914 13997 14416 14504 15325 15473 16094 16114 16116 16469 16474 16484 16487 16490 19962 19983 20053 21200 21266 21267 21425 21569 21765 23134 23627 23631 23632 23679 23927 24494 24825 24826 25371 25662 25982 26175 26581 28711 28894 29236 29244 31220 31221 31222 31223 31249 31337 31749 31804 31828 32379 33161 33263 33268 33284 33336 33414 34016 34037 34393 34877 34962 35038 35423 36070 37001 37424 37441 37588 37741 38123 38452 39152 40195 40710 43106 43226 43227 43232 78896 79326 79547 79623 79696 85097 85362 85565 85802 85837 85838 85936 86137 86426 86842 86843 86888 87164 87168 149692 150099 162591 178467 178477 178534 178559 178565 178672 178932 205897 206167 206209 206210 206213 206215 206216 206225 237784 237802 237803 237821 237888 237902 242415 242479 242504 242578 242579 242722 242857 243134 243135 259909 260116 260201 282110 336911 337091 337116 337128 337137 337637 376383 376500 418940 422243 441658 443352 456735 524701 524863 557831 578393 584988 596053 596054 596718 596776 597261 597443 597485 597632 597676 597679 597684 598198 599199 600193 600585 600603 600605 600630 680792 680831 680834 680839 680855 680891 680892 680894 680919 680948 680949 680950 680954 680955 681110 681283 681284 681300 681312 681313 681316 681318 681322 681539 681549 681558 681621 681624 681625 681689 681690 683719 683720 683739 683750 683765 683796 683807 683830 683831 683832 683833 687750 687753 699788 699789 700104 815237 815242 868955 868969 868976 868988 869034 870117 870247 870294 870473 870489 870502 870619 870758 870836 870840 871147 871160 871227 871308 871507 871601 871695 871808 871968 920297 920383 920384 920408 920511 920544 920675 920686 1136314 1136390 1257972 1257973 1328866 1449810 1510583 1510616 1511536 1511958 1514894 1514981 1516777 1524049)\n(96 938 1827 1829 1932 2812 3052 3185 3187 3733 3737 3826 3916 4117 4430 4699 4940 5477 5526 5549 5550 6038 7980 7996 7998 7999 8001 8002 8004 8063 10274 10329 10330 10948 11108 11298 11756 13171 13546 13556 13560 13803 14279 14386 14901 15032 15040 15152 15979 16492 17404 17447 17448 18014 19661 19663 19664 20120 20126 20157 21423 21429 21750 23010 23620 23630 23741 24488 24811 24934 25551 25566 25595 25959 26128 26572 28585 28646 28811 28813 29144 30223 30224 30504 31528 31534 31536 31579 31739 31749 31805 31816 31837 32248 32382 32662 33349 33896 33911 34016 34559 34953 35785 36171 36172 36397 36612 37434 37441 37468 37587 37588 39152 39421 39425 39808 40710 41666 43266 85081 87066 162319 175860 178478 178561 178641 178801 205767 206225 220925 237754 237805 242737 243139 259856 376373 376619 402064 402735 524640 596094 596490 596532 596724 596880 597251 597337 597531 597725 598135 598249 598465 599726 599775 599799 678530 678657 678959 679870 679930 680291 681314 681986 681999 682001 682020 682029 682031 682034 683238 683300 683968 805661 868917 868926 870195 870319 870348 870360 870381 870461 870615 870801 870856 870886 871094 871172 871303 871335 871391 871795 871844 871846 872180 872272 872312 872323 920443 920454 920455 920526 920738 1136363 1257867 1257940 1257942 1257943 1269787 1277117 1306056 1328814 1328885 1510554 1510587 1510624 1510823 1510933 1511171 1511535 1511800 1512223 1512815 1513013 1513266 1513398 1513910 1514206 1514538 1514626 1514629 1514694 1514864 1514960 1514998 1515000 1515115 1515223 1515359 1515956 1516448 1516594 1516630 1516731 1516893 1517509 1517895 1518584 1518610 1518616 1519421 1519673 1519808 1519976 1527115)\n(97 714 2553 3801 4494 6960 8195 8994 10203 10583 10638 11282 12013 12081 12087 12369 12393 12544 12700 12773 13328 13345 13530 14614 15020 15121 15832 15848 16610 16611 19126 20823 21580 22181 22228 24547 25709 25881 26472 29254 29258 30480 30514 31583 31592 31596 31635 31642 31680 31681 31692 31701 31716 31732 32516 36233 37507 37643 39416 39640 39683 39845 39853 39871 39935 40898 41120 43637 44285 45451 45686 45728 45829 45981 46120 46644 46917 47427 48350 48423 48429 48628 48669 48701 49009 49482 50180 50413 50421 50478 51130 51315 51369 51379 51468 51623 51652 51672 51688 52152 53249 53491 53546 53949 54096 54128 54264 54304 55326 55469 55479 56353 56668 56900 57009 57375 57516 57629 57657 57692 57699 57827 57828 57884 57923 57933 57962 58002 58160 58161 58166 58195 58206 58223 58336 58643 58781 58947 59679 59709 59721 59728 59762 59880 60057 60069 60149 60150 60151 60174 60198 60666 60716 61155 61225 61230 61764 61818 62110 62558 62589 62689 63071 63394 63400 63466 63778 63966 63998 64030 64039 64368 64369 64772 65506 65556 65837 66007 66060 66080 66316 66351 66371 66416 66424 66426 66579 67359 68006 68247 68365 68675 68854 69204 69208 69209 70593 70603 70697 70702 70762 70765 70798 70831 70832 70834 70878 70890 70894 70895 70913 70932 70961 71076 71077 71138 71656 71661 71663 71949 72070 72163 72174 72427 72676 72855 73887 73989 74795 74995 75061 75073 75101 75627 75762 75778 75953 76112 76249 76293 76326 76487 76986 76988 77012 77021 77073 77165 77229 77249 77257 77281 77284 77824 77868 78013 78266 78269 78525 81104 81389 81566 81686 81979 82201 82202 84411 84412 84584 84865 85793 86268 87069 95171 95172 95175 101333 102118 102901 103454 104797 105283 108438 109399 109781 111095 111312 111391 111637 115172 115628 115630 116071 116755 118135 118162 118168 118942 119063 119221 121601 121806 123388 123796 124005 127026 128256 128557 128799 132107 132180 133475 133736 133737 134123 134796 135096 136761 137118 139421 140858 141113 141301 141522 141923 142576 142793 143379 143456 145002 145420 146663 146934 147213 148118 148720 149028 149250 162357 162933 163054 164365 164498 167538 168370 168584 169014 169968 207148 209435 210464 211492 212361 212362 212410 212746 215543 217981 218736 218743 243832 244440 245121 245658 246141 246232 249071 249177 249524 253996 255027 255101 256177 256218 257117 257357 257411 257685 257939 258042 280809 282130 282700 285157 285205 285778 286312 286411 286474 287412 289359 290159 290789 291937 292033 292748 296958 297114 297703 298090 298208 301125 301172 303933 310298 310474 355022 360429 376236 376569 376995 377349 377907 377908 378797 379044 379157 379160 379804 380377 382073 382150 384266 385623 386153 386484 386485 387296 389838 390568 390881 391006 392938 443766 525247 525906 526222 526969 527329 527485 527700 528130 528927 531674 535666 536663 538023 538767 538768 538769 538811 539189 541182 591373 591374 591467 591812 596068 597695 599117 599124 599125 599126 600719 600997 601012 601209 601587 602333 603100 604251 604565 604862 605053 605221 605477 605662 605755 608283 609127 609430 609489 610567 610595 612674 613593 613594 615885 616489 617561 617562 618004 618440 618710 619590 620204 621627 622641 623877 624091 625548 625549 626873 628501 628678 628682 629559 629951 630430 631919 632678 633137 633139 633654 634152 634279 635491 636220 636312 636560 636744 637159 637160 639612 640662 640888 641552 641590 641658 641983 642737 643241 643300 643317 644033 644285 645102 645652 645895 646248 646601 648042 648874 649412 650170 650174 650175 650561 650760 651660 651749 651750 653190 653690 654047 654086 654833 654968 655429 655432 661761 662880 664048 666142 666294 667298 667618 668232 668234 668866 668912 672590 673674 673677 684180 699318 699319 699320 699322 699323 700482 701106 701975 701977 702036 702039 721031 728872 728957 729078 730991 733440 733930 752657 754570 754836 758348 758897 759315 760609 760657 762006 762743 762748 765301 765436 765852 767952 768052 768198 769382 771311 772500 876117 878177 878195 878196 878213 878302 878363 878364 878387 887682 890744 907236 908612 912256 912322 913035 915197 915894 916098 939788 950245 950266 952611 958111 961064 961065 962772 967227 967516 971841 982356 1097382 1097787 1100145 1120060 1130449 1142957 1143252 1143684 1174594 1176315 1259535 1289950 1313385 1314930 1320129 1366036 1434218 1450373 1450385 1513304 1516659 1527932 1565268 1567578 1570634 1613435)\n(98 96 97 98 102 103 215 232 248 263 266 268 287 289 294 300 325 376 379 402 407 424 427 431 473 477 481 488 498 503 506 511 589 598 610 641 665 677 699 843 946 948 949 954 956 959 960 966 967 968 970 973 974 975 979 981 983 985 986 987 988 992 1002 1003 1004 1006 1011 1034 1040 1041 1052 1061 1066 1129 1131 1132 1143 1157 1158 1159 1185 1186 1187 1204 1210 1218 1219 1223 1237 1268 1275 1392 1520 1521 1522 1590 1636 1652 1693 1716 1717 1814 1888 1911 1927 1933 1937 1962 1963 1964 1975 1976 1981 1992 1994 2011 2025 2026 2027 2053 2062 2065 2068 2071 2072 2078 2083 2119 2132 2144 2156 2157 2160 2164 2165 2253 2262 2327 2333 2334 2373 2403 2404 2412 2413 2421 2435 2436 2475 2482 2483 2485 2496 2502 2503 2508 2530 2533 2536 2540 2542 2555 2560 2569 2573 2575 2578 2583 2584 2585 2586 2588 2589 2590 2591 2593 2598 2600 2602 2605 2612 2613 2617 2640 2641 2644 2645 2658 2667 2679 2680 2686 2696 2697 2699 2711 2743 2752 2772 2800 2937 3030 3035 3036 3038 3040 3042 3080 3082 3143 3144 3150 3161 3162 3163 3166 3167 3172 3174 3234 3240 3290 3382 3384 3387 3388 3420 3422 3524 3596 3606 3639 3640 3653 3654 3663 3751 3753 3791 3804 3814 3815 3817 3825 3830 3928 3992 4057 4087 4107 4147 4195 4233 4234 4235 4237 4259 4260 4261 4320 4322 4334 4338 4409 4414 4465 4466 4471 4476 4477 4482 4484 4490 4491 4496 4497 4499 4501 4504 4519 4521 4638 4718 4740 4743 4745 4838 4855 4921 4924 4954 4960 4962 4963 4969 4970 4975 5009 5011 5013 5014 5023 5024 5025 5026 5029 5030 5032 5034 5035 5036 5037 5038 5040 5041 5043 5047 5049 5050 5058 5059 5061 5063 5064 5065 5067 5068 5070 5072 5075 5077 5078 5082 5084 5085 5086 5087 5088 5093 5096 5097 5098 5099 5100 5101 5103 5104 5106 5107 5116 5117 5118 5134 5197 5212 5260 5301 5304 5307 5313 5317 5320 5321 5324 5330 5352 5368 5372 5378 5382 5429 5433 5436 5437 5444 5446 5449 5454 5492 5496 5497 5498 5533 5562 5575 5578 5580 5632 5640 5647 5661 5662 5667 5763 5982 6025 6052 6054 6055 6168 6174 6179 6180 6210 6213 6215 6216 6220 6226 6228 6229 6230 6239 6241 6246 6247 6251 6295 6312 6339 6341 6351 6359 6360 6364 6376 6378 6387 6388 6400 6401 6403 6404 6405 6408 6462 6463 6464 6466 6467 6469 6470 6474 6475 6476 6480 6481 6491 6493 6505 6506 6507 6509 6514 6519 6525 6528 6531 6536 6553 6617 6628 6630 6643 6644 6678 6681 6692 6694 6698 6699 6703 6706 6709 6749 6795 6796 6809 6812 6834 6863 6864 6865 6886 6937 6945 6947 6948 6949 6967 6968 6971 6972 6973 6974 6976 6982 6983 6987 6991 6993 6995 7007 7011 7022 7043 7044 7053 7066 7068 7077 7080 7241 7248 7250 7257 7269 7271 7299 7300 7308 7309 7404 7412 7413 7417 7445 7537 7538 7541 7545 7546 7549 7550 7551 7552 7554 7555 7556 7557 7558 7559 7560 7561 7562 7665 7710 7713 7714 7716 7721 7727 7732 7735 7736 7737 7738 7824 7839 7890 7901 7906 7907 7910 7935 8129 8160 8161 8163 8164 8168 8172 8174 8183 8184 8188 8196 8197 8198 8199 8207 8211 8216 8217 8221 8223 8225 8230 8231 8233 8238 8240 8241 8243 8247 8249 8257 8260 8262 8267 8269 8273 8275 8278 8280 8281 8282 8283 8286 8287 8288 8290 8292 8293 8294 8296 8402 8405 8408 8409 8411 8416 8425 8518 8542 8577 8589 8593 8594 8721 8722 8762 8783 8788 8792 8793 8801 8803 8806 8809 8837 8845 8846 8849 8857 8861 8875 8897 8929 8931 8932 8996 8998 9002 9003 9008 9010 9011 9014 9018 9025 9026 9028 9033 9034 9035 9059 9071 9073 9074 9077 9079 9093 9131 9137 9156 9170 9185 9214 9217 9235 9262 9279 9356 9574 9742 9979 9987 9988 10027 10084 10194 10204 10206 10207 10209 10285 10294 10303 10305 10347 10460 10463 10467 10503 10504 10507 10522 10523 10524 10525 10526 10547 10552 10554 10556 10557 10560 10563 10566 10567 10568 10569 10570 10571 10572 10573 10574 10578 10579 10580 10581 10582 10587 10588 10589 10620 10637 10648 10738 10843 10927 10974 10975 10976 10977 10980 11015 11037 11038 11041 11064 11082 11087 11122 11134 11145 11148 11184 11259 11276 11279 11498 11569 11588 11589 11685 11782 11785 11786 11787 11792 11810 11812 11816 11817 11821 11830 11889 11892 11951 11953 11957 11969 12004 12005 12007 12010 12018 12019 12022 12026 12029 12030 12033 12035 12036 12049 12050 12052 12059 12060 12062 12063 12066 12074 12075 12082 12086 12091 12093 12098 12124 12125 12139 12141 12145 12184 12186 12188 12191 12192 12194 12197 12200 12201 12203 12228 12232 12271 12273 12278 12288 12289 12290 12291 12294 12299 12305 12306 12315 12338 12341 12364 12367 12368 12373 12381 12383 12384 12385 12386 12390 12394 12398 12402 12403 12409 12411 12422 12426 12431 12436 12444 12446 12447 12458 12459 12460 12461 12463 12466 12467 12495 12498 12501 12503 12504 12505 12522 12525 12527 12528 12531 12533 12551 12559 12572 12582 12584 12586 12589 12694 12695 12702 12757 12760 12772 12777 12780 12783 12784 12786 12788 12790 12792 12804 12847 12961 12963 12964 12987 13007 13015 13030 13050 13065 13084 13085 13089 13090 13092 13136 13254 13326 13333 13350 13354 13360 13408 13547 13615 13616 13617 13618 13714 13766 13767 13881 13900 13901 13954 13974 13982 14022 14035 14037 14252 14267 14270 14277 14310 14359 14442 14448 14479 14485 14486 14563 14564 14581 14582 14630 14631 14699 14704 14707 14708 14710 14711 14713 14806 14809 14810 14824 14892 14898 14958 14960 14961 14962 14963 14964 14967 14968 14969 14983 14987 14994 14997 15008 15021 15037 15039 15041 15042 15043 15046 15047 15051 15052 15056 15058 15060 15063 15068 15069 15075 15078 15079 15081 15082 15083 15086 15087 15091 15093 15096 15097 15101 15104 15105 15109 15111 15116 15120 15123 15131 15132 15134 15135 15137 15153 15173 15205 15312 15549 15620 15627 15772 15820 15821 15822 15824 15827 15833 15837 15838 15840 15843 15845 15846 15870 15877 15888 15893 15955 16072 16095 16213 16219 16225 16229 16245 16267 16272 16277 16282 16293 16295 16296 16311 16312 16314 16333 16334 16336 16337 16340 16365 16367 16368 16375 16377 16380 16381 16383 16384 16410 16562 16564 16568 16569 16572 16575 16576 16578 16581 16584 16598 16601 16707 16801 16848 16849 16850 16855 16859 16860 16865 16869 16967 16971 16972 16979 16986 17047 17440 17442 17449 17470 17538 17542 17543 17592 17628 17631 17642 17697 17814 17816 17845 17859 17886 17887 17945 17948 17951 17970 17986 17992 17996 18033 18034 18088 18096 18242 18302 18304 18305 18312 18313 18316 18318 18319 18320 18365 18389 18433 18473 18541 18546 18549 18602 18605 18606 18927 18937 18959 18961 18964 18966 18983 18988 19215 19217 19219 19220 19223 19225 19392 19398 19405 19432 19435 19443 19453 19460 19464 19467 19468 19469 19471 19476 19496 19497 19519 19568 19584 19588 19607 19832 19836 19873 19881 19903 20166 20207 20208 20209 20223 20233 20235 20242 20243 20244 20245 20246 20247 20248 20249 20250 20261 20264 20273 20306 20307 20314 20316 20317 20327 20332 20336 20348 20350 20361 20363 20368 20389 20391 20400 20402 20404 20411 20684 20691 20737 20738 20740 20752 20756 20759 20775 20789 20874 20923 20924 20926 20928 20929 20930 20933 20934 21184 21186 21187 21188 21218 21219 21225 21234 21236 21239 21242 21243 21246 21250 21251 21252 21403 21579 21706 21961 21971 21973 21974 21975 21976 21978 21983 21990 22003 22004 22005 22026 22028 22029 22032 22033 22034 22038 22041 22046 22049 22053 22055 22057 22058 22059 22060 22086 22092 22115 22124 22148 22154 22160 22174 22176 22179 22180 22186 22187 22209 22210 22212 22214 22216 22233 22237 22245 22247 22248 22258 22265 22266 22267 22322 22368 22419 22431 22432 22471 22550 22562 22613 22614 22616 22618 22625 22627 22628 22631 22634 22635 22642 22643 22723 22725 22760 22785 22814 22816 22860 22914 22924 22947 23044 23082 23091 23115 23131 23158 23326 23369 23406 23413 23554 23556 23567 23575 23582 23586 23591 23592 23660 23663 23665 23666 23705 23755 23791 23830 23850 23857 23863 23873 23899 23929 23961 23972 23992 24001 24002 24008 24027 24056 24057 24071 24072 24076 24080 24096 24100 24200 24331 24334 24349 24373 24452 24453 24506 24546 24572 24574 24577 24578 24579 24642 24643 24685 24705 24728 24738 24778 24808 24975 24977 24988 24994 25010 25023 25029 25033 25039 25041 25042 25051 25135 25152 25153 25156 25196 25217 25225 25231 25242 25270 25315 25368 25373 25376 25379 25380 25381 25382 25384 25386 25387 25397 25402 25403 25416 25446 25460 25497 25541 25559 25562 25573 25575 25576 25598 25601 25603 25605 25607 25609 25611 25617 25619 25624 25625 25627 25629 25631 25633 25638 25641 25643 25644 25645 25654 25655 25656 25659 25668 25671 25672 25674 25677 25678 25681 25684 25685 25688 25691 25696 25698 25700 25701 25706 25708 25712 25716 25719 25725 25732 25736 25746 25748 25750 25760 25778 25779 25782 25787 25794 25795 25800 25803 25805 25809 25810 25840 25842 25845 25853 25854 25856 25859 25869 25870 25872 25876 25879 25887 25893 25912 25942 25977 26054 26055 26056 26058 26078 26186 26187 26196 26202 26208 26209 26218 26251 26254 26256 26259 26289 26323 26388 26400 26408 26458 26485 26523 26534 26535 26548 26549 26551 26560 26561 26651 26782 26792 26800 26814 26818 26874 26885 26887 26888 26895 26955 26957 27074 27183 27235 27249 27253 27302 27324 27326 27328 27329 27330 27348 27353 27355 27358 27360 27373 27374 27375 27377 27378 27379 27387 27388 27391 27392 27396 27444 27479 27506 27556 27592 27673 27679 27680 27733 27802 27941 27996 27999 28004 28005 28008 28009 28016 28017 28023 28027 28040 28045 28049 28053 28066 28067 28070 28072 28073 28076 28089 28092 28094 28095 28096 28098 28108 28113 28114 28116 28120 28126 28127 28131 28132 28138 28144 28145 28146 28147 28155 28156 28157 28165 28177 28178 28179 28183 28184 28186 28187 28188 28194 28197 28199 28203 28206 28210 28216 28217 28221 28222 28247 28261 28277 28278 28295 28333 28339 28347 28351 28362 28365 28385 28403 28420 28421 28426 28454 28460 28476 28569 28735 28736 28741 28746 28747 28752 28757 28816 28822 28823 28834 28870 28902 28906 28923 28925 28951 28967 28978 28982 29055 29105 29112 29193 29224 29251 29252 29259 29274 29275 29300 29309 29310 29390 29983 29984 29988 29989 29994 29996 29997 29999 30001 30003 30004 30005 30007 30020 30031 30032 30038 30040 30046 30049 30053 30071 30073 30077 30078 30080 30082 30085 30086 30092 30093 30120 30123 30125 30126 30131 30140 30141 30178 30256 30262 30289 30314 30336 30341 30349 30350 30380 30398 30438 30493 30557 30594 30710 30771 30773 30775 30776 30800 30802 30810 30812 30815 30820 30821 30827 30829 30830 30840 30842 30855 30858 30863 30864 30865 30866 30867 30871 30873 30875 30878 30883 30885 30886 30895 30899 30903 30958 30968 30969 31007 31008 31013 31017 31137 31184 31232 31237 31243 31262 31264 31270 31364 31367 31368 31369 31370 31375 31376 31379 31381 31392 31393 31398 31399 31403 31404 31406 31407 31408 31411 31412 31422 31427 31428 31430 31432 31434 31435 31436 31440 31441 31444 31447 31448 31449 31452 31463 31465 31468 31469 31470 31476 31478 31479 31480 31488 31489 31492 31493 31495 31497 31499 31500 31504 31505 31506 31507 31512 31560 31562 31566 31567 31585 31586 31588 31591 31780 31782 31783 31785 31849 31860 31875 31881 31883 31884 31885 31889 31890 31891 31923 31933 31934 31935 31937 31938 31951 31952 31953 31954 31955 31957 31958 31959 31960 31961 31962 31963 31965 31968 31974 31977 31978 31979 31982 31987 31990 32032 32036 32066 32070 32086 32169 32251 32252 32253 32254 32255 32256 32257 32324 32333 32334 32374 32391 32393 32394 32397 32433 32434 32441 32447 32456 32457 32458 32473 32474 32476 32477 32478 32479 32483 32485 32486 32487 32494 32495 32502 32509 32522 32574 32582 32600 32601 32602 32604 32611 32613 32616 32623 32624 32626 32629 32697 32704 32711 32712 32820 32830 32836 32837 32856 32857 32896 32899 32901 32906 32910 32911 32912 33051 33056 33059 33124 33126 33127 33128 33148 33200 33209 33215 33216 33218 33223 33228 33229 33231 33254 33259 33294 33295 33389 33390 33399 33400 33405 33407 33424 33429 33434 33437 33439 33440 33442 33447 33448 33459 33468 33470 33472 33473 33474 33482 33483 33485 33487 33492 33493 33495 33497 33501 33504 33505 33508 33509 33524 33598 33704 33705 33715 33716 33733 33737 33743 33744 33758 33798 33821 33848 33850 33858 33979 33991 33992 33997 34140 34142 34170 34211 34217 34231 34234 34235 34237 34238 34239 34240 34242 34243 34245 34250 34251 34255 34256 34257 34259 34260 34261 34262 34263 34266 34268 34271 34272 34282 34283 34284 34289 34290 34292 34294 34295 34301 34303 34314 34316 34325 34326 34328 34335 34336 34338 34354 34392 34403 34404 34406 34407 34413 34414 34415 34416 34417 34420 34421 34422 34423 34424 34425 34426 34428 34429 34435 34437 34439 34440 34441 34496 34505 34548 34633 34665 34728 34738 34977 35167 35179 35191 35197 35323 35331 35339 35483 35486 35527 35608 35609 35629 35633 35661 35663 35750 35762 35766 35780 35823 35839 35856 35857 35871 35890 35891 35918 35947 35972 35976 35983 36008 36023 36049 36050 36071 36072 36073 36074 36075 36077 36078 36079 36080 36164 36177 36179 36248 36257 36311 36442 36443 36444 36447 36481 36516 36543 36579 36620 36621 36637 36656 36666 36713 36748 36751 36847 36860 36965 37044 37110 37111 37114 37122 37128 37130 37134 37135 37136 37138 37191 37239 37248 37355 37375 37479 37480 37490 37496 37501 37502 37514 37515 37523 37524 37525 37531 37533 37534 37536 37537 37540 37541 37549 37558 37561 37564 37597 37600 37707 37729 37759 37760 37767 37871 37874 37907 37956 37962 37963 37968 38031 38064 38105 38119 38155 38167 38245 38274 38326 38332 38333 38427 38430 38481 38513 38515 38617 38619 38623 38627 38629 38664 38665 38666 38670 38672 38675 38676 38679 38681 38683 38684 38685 38686 38687 38689 38693 38699 38700 38702 38703 38704 38706 38710 38711 38722 38730 38734 38740 38742 38744 38745 38746 38753 38759 38760 38761 38763 38766 38770 38771 38785 38792 38795 38803 38807 38878 38880 39024 39086 39148 39184 39185 39245 39266 39286 39294 39315 39329 39331 39468 39510 39531 39533 39542 39543 39561 39562 39619 39623 39629 39635 39637 39644 39651 39654 39655 39663 39669 39672 39673 39674 39681 39690 39692 39694 39696 39703 39704 39705 39735 39736 39746 39757 39763 39771 39832 39834 39836 39837 39840 39844 39848 39854 39855 39856 39857 39858 39859 39863 39865 39867 39872 39875 39880 39882 39883 39887 39894 39899 39902 39903 39914 39921 39925 39929 39931 39936 39943 39945 39946 39955 39957 39958 39960 39961 39962 39974 40096 40099 40108 40125 40180 40193 40207 40209 40217 40219 40221 40222 40233 40235 40236 40263 40270 40329 40354 40372 40373 40374 40377 40379 40380 40382 40383 40387 40390 40521 40545 40555 40563 40610 40611 40613 40778 40779 40782 40805 40821 40828 40845 40846 40851 40854 40863 40869 40875 40877 40878 40879 40880 40887 40899 40900 40903 40904 40905 40915 40916 40951 40952 40958 40964 40975 40976 40978 40979 40982 40983 40988 40989 40990 41006 41009 41012 41018 41023 41025 41026 41028 41029 41030 41031 41037 41038 41040 41041 41044 41051 41052 41056 41063 41065 41066 41070 41081 41086 41088 41090 41091 41098 41106 41113 41121 41126 41165 41175 41177 41190 41196 41213 41235 41248 41345 41361 41399 41411 41420 41441 41442 41469 41470 41479 41483 41536 41631 41738 41942 41946 41964 41980 42049 42051 42052 42054 42068 42087 42092 42093 42118 42123 42290 42315 42317 42322 42383 42479 42523 42525 42526 42528 42553 42665 42670 42671 42672 42674 42679 42680 42682 42683 42684 42686 42694 42748 42839 42845 42849 42890 42910 43031 43040 43134 43155 43281 43313 43315 43318 43319 43328 43329 43331 43355 43366 43367 43368 43440 43448 43454 43456 43465 43470 43479 43486 43492 43497 43500 43501 43503 43505 43508 43513 43534 43547 43552 43560 43566 43580 43597 43603 43606 43608 43611 43621 43629 43665 43669 43674 43675 43676 43678 43680 43681 43689 43697 43704 43705 43712 43714 43716 43720 43725 43727 43731 43733 43741 43748 43751 43755 43757 43767 43773 43775 43776 43778 43780 43783 43791 43795 43796 43798 43801 43817 43822 43824 43830 43832 43836 43838 43858 43861 43863 43891 43896 43901 43902 43908 43910 43911 43914 43916 43921 43922 43924 43935 43936 43937 43940 43941 43958 43960 43962 43969 43976 43983 44008 44011 44013 44017 44018 44024 44030 44042 44046 44052 44054 44060 44062 44072 44091 44093 44094 44097 44098 44099 44103 44121 44131 44132 44133 44136 44140 44141 44145 44146 44150 44151 44155 44157 44170 44173 44178 44179 44180 44182 44188 44191 44196 44197 44199 44208 44210 44222 44225 44226 44227 44231 44232 44235 44247 44249 44253 44270 44271 44272 44274 44275 44282 44284 44286 44289 44290 44291 44292 44297 44304 44305 44307 44319 44320 44324 44327 44329 44332 44333 44334 44336 44339 44342 44345 44355 44359 44367 44368 44369 44370 44386 44393 44399 44402 44403 44404 44408 44409 44411 44414 44415 44417 44419 44424 44426 44429 44434 44436 44437 44438 44443 44444 44445 44447 44454 44455 44456 44459 44466 44467 44471 44472 44475 44476 44478 44481 44482 44485 44487 44492 44493 44494 44496 44497 44499 44501 44502 44503 44506 44507 44508 44517 44520 44523 44524 44525 44550 44554 44581 44583 44584 44586 44587 44588 44597 44598 44599 44600 44607 44609 44611 44613 44616 44617 44631 44634 44638 44644 44655 44656 44659 44663 44664 44665 44667 44669 44670 44679 44680 44681 44689 44692 44694 44696 44701 44725 44747 44748 44765 44766 44769 44790 44791 44792 44793 44795 44815 44816 44827 44829 44841 44853 44869 44872 44873 44907 44946 44947 44957 44958 44972 45017 45027 45028 45034 45087 45089 45096 45137 45148 45149 45168 45221 45236 45240 45241 45246 45247 45248 45250 45255 45259 45262 45267 45268 45273 45277 45279 45283 45287 45289 45293 45299 45317 45330 45339 45342 45358 45368 45376 45384 45391 45393 45399 45414 45417 45438 45439 45440 45475 45499 45510 45511 45524 45529 45546 45549 45550 45555 45556 45582 45583 45595 45598 45602 45607 45622 45630 45640 45644 45671 45673 45674 45683 45687 45708 45711 45714 45715 45722 45724 45730 45731 45733 45737 45757 45758 45774 45776 45779 45794 45795 45796 45799 45801 45808 45809 45811 45818 45819 45820 45822 45823 45824 45831 45834 45835 45839 45840 45841 45845 45846 45850 45855 45857 45860 45862 45864 45870 45871 45875 45876 45878 45883 45885 45886 45887 45890 45894 45896 45898 45899 45900 45901 45904 45905 45906 45907 45911 45913 45921 45923 45927 45928 45933 45948 45952 45953 45954 45955 45958 45962 45964 45966 45967 45968 45969 45978 45982 45983 46006 46007 46008 46010 46013 46014 46017 46018 46025 46027 46029 46030 46032 46033 46034 46035 46036 46038 46039 46041 46042 46045 46046 46047 46049 46050 46053 46056 46072 46078 46079 46081 46087 46088 46089 46090 46091 46094 46096 46099 46100 46103 46104 46114 46116 46118 46119 46126 46130 46133 46134 46136 46138 46144 46146 46153 46156 46158 46160 46161 46170 46171 46173 46181 46182 46183 46188 46191 46192 46193 46195 46202 46204 46208 46215 46216 46217 46219 46226 46230 46232 46236 46241 46242 46243 46246 46250 46252 46256 46258 46265 46267 46269 46270 46272 46273 46275 46276 46278 46279 46280 46291 46298 46302 46304 46305 46306 46311 46314 46316 46322 46328 46329 46333 46334 46339 46341 46342 46343 46346 46350 46352 46355 46361 46367 46368 46369 46370 46374 46377 46378 46379 46382 46383 46384 46385 46386 46387 46389 46390 46391 46393 46402 46404 46406 46409 46411 46412 46413 46415 46419 46420 46421 46422 46424 46429 46431 46432 46434 46435 46436 46438 46439 46440 46441 46442 46444 46449 46452 46453 46455 46456 46457 46461 46462 46463 46464 46466 46468 46478 46481 46485 46486 46500 46502 46505 46510 46517 46519 46522 46523 46524 46525 46527 46528 46533 46537 46541 46544 46547 46550 46554 46559 46561 46562 46563 46564 46566 46573 46574 46579 46581 46582 46583 46584 46589 46593 46595 46596 46605 46629 46682 46692 46711 46713 46717 46764 46770 46771 46777 46796 46798 46799 46822 46823 46825 46831 46874 46880 46882 46887 46894 46905 46907 46911 46914 46962 46973 46975 46978 46983 46984 47001 47006 47008 47020 47029 47030 47054 47080 47100 47102 47106 47114 47115 47118 47120 47123 47127 47130 47154 47165 47166 47171 47177 47183 47184 47190 47191 47192 47195 47204 47205 47206 47211 47212 47213 47216 47217 47219 47231 47232 47234 47235 47236 47238 47247 47248 47257 47261 47264 47265 47266 47267 47269 47272 47274 47278 47287 47289 47291 47292 47294 47295 47302 47303 47304 47305 47306 47309 47310 47311 47312 47317 47323 47324 47336 47340 47367 47368 47369 47370 47372 47374 47380 47381 47382 47391 47394 47404 47405 47406 47414 47415 47419 47420 47426 47428 47435 47436 47438 47447 47450 47451 47453 47454 47456 47457 47469 47470 47472 47475 47477 47480 47483 47484 47485 47486 47487 47489 47493 47494 47495 47497 47498 47499 47501 47502 47506 47521 47527 47536 47537 47539 47543 47544 47548 47549 47550 47551 47552 47556 47558 47560 47573 47577 47578 47579 47587 47588 47589 47590 47591 47592 47593 47594 47595 47598 47599 47604 47605 47609 47611 47613 47614 47615 47619 47623 47624 47625 47626 47627 47631 47632 47635 47636 47637 47640 47644 47657 47660 47662 47664 47665 47670 47672 47676 47681 47686 47689 47693 47696 47698 47701 47703 47705 47706 47710 47712 47715 47716 47717 47719 47722 47725 47726 47727 47728 47730 47732 47743 47748 47753 47757 47762 47770 47772 47775 47776 47780 47784 47786 47797 47804 47805 47807 47820 47822 47827 47828 47835 47840 47842 47843 47845 47876 47882 47895 47896 47911 47916 47917 47928 47935 47936 47941 47943 47946 47947 47952 47953 47956 47960 47963 47965 47973 47981 47982 47983 47986 47999 48000 48005 48007 48008 48012 48013 48016 48021 48022 48023 48024 48026 48027 48030 48032 48036 48037 48038 48041 48043 48045 48046 48047 48055 48057 48059 48060 48061 48063 48069 48070 48071 48072 48076 48082 48088 48090 48096 48097 48099 48101 48102 48106 48108 48111 48112 48114 48119 48120 48121 48127 48129 48130 48132 48134 48135 48136 48140 48141 48142 48145 48146 48152 48153 48154 48157 48158 48159 48164 48166 48168 48170 48177 48179 48180 48181 48185 48186 48188 48190 48192 48193 48194 48197 48198 48200 48202 48203 48205 48206 48207 48212 48218 48219 48220 48224 48229 48231 48232 48233 48235 48236 48240 48241 48243 48247 48248 48249 48250 48251 48252 48253 48255 48263 48265 48267 48268 48269 48271 48272 48273 48275 48278 48280 48283 48285 48286 48287 48292 48294 48295 48297 48301 48305 48306 48309 48310 48311 48313 48315 48318 48319 48320 48323 48327 48328 48330 48333 48336 48337 48342 48348 48349 48352 48358 48361 48362 48363 48364 48365 48367 48369 48370 48371 48376 48378 48379 48380 48381 48383 48385 48386 48388 48391 48392 48394 48395 48396 48398 48400 48401 48402 48403 48405 48409 48411 48413 48414 48417 48419 48420 48421 48424 48427 48430 48433 48438 48439 48442 48451 48456 48457 48464 48466 48468 48470 48473 48474 48479 48483 48486 48489 48491 48496 48497 48498 48499 48504 48506 48508 48509 48510 48514 48517 48518 48519 48520 48522 48523 48530 48532 48546 48548 48551 48552 48553 48554 48556 48557 48560 48561 48562 48563 48564 48569 48571 48572 48575 48576 48579 48581 48583 48584 48587 48588 48595 48602 48617 48623 48625 48629 48630 48631 48636 48638 48639 48642 48643 48644 48655 48659 48667 48670 48674 48678 48681 48682 48683 48689 48692 48698 48702 48705 48707 48708 48711 48712 48715 48718 48719 48721 48722 48723 48726 48727 48728 48733 48737 48738 48739 48740 48742 48745 48747 48784 48798 48811 48816 48825 48827 48830 48843 48852 48855 48858 48865 48876 48877 48878 48888 48891 48894 48895 48897 48898 48899 48917 48939 48945 48949 48956 48959 48961 48979 48997 48999 49007 49011 49019 49021 49022 49035 49038 49048 49068 49071 49082 49084 49085 49087 49095 49104 49106 49107 49110 49111 49112 49129 49130 49132 49133 49135 49139 49141 49149 49150 49152 49154 49156 49164 49166 49176 49180 49185 49186 49188 49189 49202 49203 49205 49206 49215 49216 49219 49221 49222 49223 49225 49231 49234 49236 49240 49241 49244 49246 49249 49250 49251 49252 49254 49258 49261 49267 49277 49280 49285 49286 49287 49289 49290 49291 49295 49297 49303 49304 49311 49313 49314 49315 49317 49320 49322 49323 49326 49330 49331 49333 49334 49335 49337 49345 49346 49350 49362 49367 49376 49377 49391 49408 49414 49415 49416 49423 49429 49431 49471 49477 49490 49496 49497 49500 49505 49506 49522 49523 49524 49531 49532 49536 49537 49538 49542 49546 49549 49560 49561 49563 49564 49569 49574 49575 49576 49577 49580 49592 49593 49604 49612 49613 49614 49616 49620 49622 49624 49626 49628 49629 49630 49632 49635 49637 49640 49644 49646 49647 49648 49650 49653 49655 49656 49660 49664 49666 49668 49672 49677 49678 49682 49689 49690 49707 49712 49713 49714 49715 49720 49721 49723 49752 49759 49774 49780 49781 49812 49821 49822 49824 49828 49829 49830 49833 49834 49836 49837 49838 49844 49848 49849 49855 49856 49860 49861 49871 49872 49873 49875 49876 49880 49889 49891 49893 49894 49898 49899 49901 49902 49904 49908 49910 49913 49914 49915 49916 49921 49922 49939 49946 49951 49953 49954 49967 49971 49976 49978 50008 50010 50012 50021 50030 50032 50034 50045 50066 50067 50068 50069 50070 50073 50074 50077 50079 50080 50082 50083 50087 50089 50095 50096 50099 50100 50104 50105 50106 50107 50112 50118 50119 50123 50133 50162 50172 50195 50196 50197 50198 50199 50201 50202 50209 50210 50221 50227 50239 50243 50248 50257 50261 50262 50263 50264 50283 50288 50308 50310 50311 50323 50328 50335 50337 50338 50339 50340 50341 50346 50347 50348 50353 50360 50365 50377 50382 50383 50387 50395 50396 50401 50403 50404 50405 50406 50409 50410 50411 50416 50420 50423 50424 50425 50429 50431 50432 50433 50435 50436 50440 50441 50445 50450 50451 50452 50454 50455 50456 50458 50459 50460 50463 50465 50466 50467 50468 50470 50477 50488 50490 50492 50498 50499 50503 50506 50507 50510 50511 50513 50514 50515 50522 50523 50532 50534 50536 50537 50552 50554 50555 50557 50558 50559 50560 50561 50564 50565 50574 50575 50577 50578 50580 50587 50590 50592 50596 50631 50642 50644 50650 50652 50663 50672 50675 50707 50712 50713 50719 50721 50722 50723 50725 50726 50729 50736 50777 50780 50827 50828 50840 50843 50844 50846 50847 50851 50853 50854 50857 50875 50876 50880 50883 50884 50885 50886 50889 50891 50894 50896 50897 50904 50905 50908 50909 50910 50911 50913 50914 50916 50917 50918 50921 50928 50929 50931 50932 50937 50938 50939 50940 50941 50942 50953 50956 50961 50962 50972 50978 50979 50981 50985 50987 50990 50993 50994 50999 51000 51002 51003 51005 51006 51008 51013 51014 51017 51020 51021 51022 51024 51027 51032 51033 51034 51035 51037 51040 51041 51043 51046 51047 51048 51050 51051 51060 51061 51068 51085 51086 51087 51090 51091 51092 51093 51094 51095 51097 51108 51109 51112 51121 51122 51125 51126 51139 51140 51141 51146 51149 51150 51151 51155 51156 51158 51160 51161 51162 51163 51165 51170 51171 51175 51182 51185 51189 51190 51201 51203 51207 51209 51213 51218 51225 51226 51227 51228 51229 51231 51234 51235 51240 51241 51242 51244 51247 51249 51251 51254 51283 51287 51289 51308 51309 51313 51318 51324 51325 51326 51329 51333 51335 51336 51341 51343 51344 51345 51346 51352 51357 51358 51361 51371 51374 51377 51378 51380 51381 51383 51385 51386 51388 51391 51393 51395 51398 51410 51411 51412 51413 51414 51415 51416 51417 51423 51424 51425 51430 51441 51444 51445 51447 51448 51453 51454 51455 51456 51459 51465 51466 51472 51473 51476 51480 51481 51482 51484 51485 51486 51489 51490 51491 51493 51494 51498 51499 51500 51501 51502 51505 51509 51510 51520 51523 51524 51528 51529 51530 51533 51543 51545 51548 51550 51551 51554 51555 51557 51558 51561 51562 51569 51570 51572 51573 51574 51575 51578 51580 51584 51586 51588 51589 51591 51596 51597 51599 51601 51602 51607 51608 51614 51627 51629 51630 51635 51647 51648 51649 51654 51666 51671 51674 51676 51679 51683 51684 51689 51691 51692 51693 51694 51695 51696 51697 51704 51706 51711 51712 51715 51720 51726 51730 51733 51734 51735 51736 51739 51747 51750 51751 51756 51761 51767 51768 51771 51772 51802 51804 51809 51810 51816 51819 51822 51838 51839 51840 51841 51842 51863 51894 51897 51903 51905 51906 51907 51908 51910 51916 51917 51918 51919 51920 51921 51922 51923 51927 51929 51933 51935 51936 51942 51945 51954 51955 51959 51960 51961 51963 51964 51994 52009 52013 52019 52031 52062 52065 52078 52080 52087 52091 52102 52133 52134 52135 52140 52141 52144 52145 52149 52156 52162 52168 52170 52227 52229 52231 52232 52234 52237 52238 52249 52252 52255 52256 52258 52259 52260 52261 52297 52301 52303 52305 52306 52308 52313 52314 52315 52316 52325 52357 52358 52367 52368 52370 52374 52378 52388 52389 52390 52391 52392 52402 52403 52405 52407 52410 52420 52421 52426 52427 52428 52429 52430 52432 52434 52437 52453 52454 52460 52461 52463 52466 52470 52476 52479 52480 52481 52506 52510 52511 52512 52513 52522 52550 52553 52558 52560 52562 52565 52566 52569 52572 52573 52575 52577 52578 52580 52582 52585 52590 52593 52594 52595 52616 52617 52652 52658 52660 52662 52665 52668 52669 52672 52673 52675 52680 52681 52690 52691 52692 52694 52696 52697 52699 52701 52705 52708 52716 52718 52719 52726 52729 52730 52742 52743 52745 52748 52751 52752 52753 52754 52755 52756 52757 52759 52761 52762 52771 52772 52775 52776 52781 52784 52785 52786 52792 52794 52796 52799 52802 52804 52805 52806 52808 52810 52813 52815 52816 52817 52820 52821 52822 52823 52825 52827 52828 52831 52832 52833 52846 52854 52855 52857 52865 52881 52888 52909 52910 52913 52914 52918 52919 52920 52921 52924 52927 52928 52929 52933 52934 52935 52937 52939 52940 52944 52945 52946 52959 52965 52966 52967 52970 52983 52988 52992 52995 52999 53000 53001 53002 53005 53006 53007 53009 53012 53025 53046 53055 53057 53058 53067 53068 53069 53071 53072 53076 53079 53083 53085 53086 53087 53091 53093 53094 53096 53097 53098 53099 53100 53104 53105 53106 53107 53108 53109 53111 53113 53114 53116 53117 53118 53120 53123 53132 53139 53140 53141 53142 53143 53151 53152 53153 53154 53155 53156 53161 53162 53163 53164 53167 53169 53170 53171 53172 53174 53176 53178 53179 53180 53181 53184 53185 53186 53187 53196 53197 53208 53209 53214 53215 53217 53218 53220 53222 53223 53224 53225 53226 53228 53229 53230 53231 53232 53233 53234 53235 53237 53238 53241 53242 53243 53245 53246 53250 53251 53252 53254 53255 53256 53258 53259 53266 53267 53268 53269 53275 53277 53278 53284 53286 53289 53290 53291 53292 53293 53294 53296 53297 53298 53299 53303 53306 53307 53309 53310 53318 53319 53322 53323 53324 53325 53326 53329 53330 53331 53332 53333 53335 53337 53338 53339 53340 53342 53353 53354 53356 53376 53383 53389 53391 53392 53393 53396 53411 53425 53426 53428 53429 53433 53445 53447 53448 53451 53458 53463 53465 53466 53471 53477 53478 53487 53488 53489 53490 53493 53502 53505 53506 53508 53509 53512 53516 53524 53526 53527 53529 53530 53532 53535 53537 53549 53551 53552 53553 53554 53558 53559 53560 53565 53566 53567 53569 53570 53573 53575 53576 53585 53588 53589 53590 53591 53592 53604 53605 53607 53608 53611 53612 53618 53619 53620 53622 53626 53633 53636 53638 53642 53654 53655 53656 53658 53663 53669 53672 53686 53696 53700 53705 53707 53708 53712 53714 53718 53720 53721 53725 53726 53739 53748 53749 53753 53754 53755 53760 53773 53774 53776 53781 53784 53790 53792 53794 53795 53797 53798 53799 53809 53814 53817 53818 53819 53825 53827 53828 53829 53830 53831 53833 53837 53841 53842 53847 53856 53864 53866 53867 53869 53875 53876 53878 53879 53881 53882 53884 53889 53890 53892 53893 53894 53896 53899 53902 53908 53912 53915 53923 53924 53927 53928 53938 53939 53941 53944 53946 53947 53951 53957 53958 53961 53963 53964 53981 53985 53986 53992 53993 53994 54022 54031 54036 54037 54038 54039 54040 54041 54045 54046 54048 54051 54052 54053 54054 54056 54058 54061 54062 54063 54064 54065 54066 54068 54069 54072 54073 54074 54075 54077 54080 54083 54084 54085 54086 54087 54088 54090 54092 54093 54094 54095 54100 54102 54103 54105 54106 54114 54116 54119 54120 54121 54122 54123 54124 54126 54127 54129 54130 54131 54132 54134 54135 54137 54138 54139 54141 54143 54147 54148 54149 54151 54152 54153 54156 54157 54160 54165 54167 54173 54174 54181 54182 54192 54195 54196 54197 54198 54199 54202 54203 54205 54207 54209 54211 54212 54216 54217 54219 54220 54221 54222 54224 54225 54228 54232 54233 54234 54235 54236 54241 54245 54247 54249 54250 54253 54255 54257 54258 54259 54260 54261 54262 54265 54266 54267 54269 54270 54271 54273 54274 54275 54276 54277 54278 54279 54280 54281 54283 54285 54287 54291 54293 54294 54295 54302 54303 54305 54306 54307 54308 54310 54316 54321 54328 54330 54331 54332 54333 54336 54337 54339 54340 54344 54345 54346 54347 54349 54361 54362 54364 54368 54370 54379 54388 54391 54395 54409 54422 54430 54431 54432 54433 54434 54435 54436 54440 54466 54473 54480 54484 54495 54497 54501 54510 54523 54526 54535 54537 54539 54547 54548 54549 54562 54564 54566 54568 54569 54574 54583 54584 54585 54587 54589 54590 54591 54592 54593 54608 54611 54613 54617 54621 54630 54631 54632 54633 54635 54636 54638 54640 54642 54645 54647 54652 54653 54654 54655 54656 54657 54658 54660 54661 54662 54666 54667 54668 54672 54673 54674 54675 54676 54678 54694 54697 54698 54700 54703 54705 54706 54712 54718 54720 54721 54725 54726 54767 54768 54769 54771 54773 54782 54792 54795 54797 54798 54799 54801 54802 54805 54806 54815 54816 54817 54820 54821 54822 54826 54827 54828 54829 54830 54831 54835 54836 54837 54838 54840 54841 54844 54848 54849 54853 54855 54858 54863 54864 54876 54879 54886 54892 54898 54905 54909 54911 54913 54919 54924 54925 54930 54937 54938 54976 54983 54984 54992 54995 54996 54997 54998 54999 55000 55001 55002 55003 55004 55005 55006 55007 55008 55009 55010 55011 55013 55014 55015 55016 55017 55019 55021 55042 55051 55052 55053 55054 55055 55057 55058 55071 55072 55073 55074 55075 55080 55081 55082 55083 55102 55112 55126 55127 55128 55130 55131 55140 55141 55142 55143 55146 55147 55150 55151 55152 55153 55156 55158 55163 55173 55176 55178 55181 55182 55187 55188 55189 55194 55195 55196 55204 55205 55207 55211 55213 55214 55215 55217 55218 55219 55220 55222 55225 55226 55228 55230 55231 55233 55236 55237 55238 55239 55240 55242 55244 55245 55247 55248 55249 55250 55251 55253 55257 55262 55265 55266 55268 55270 55274 55278 55279 55280 55282 55297 55306 55308 55309 55314 55323 55327 55329 55331 55332 55333 55335 55336 55337 55339 55340 55341 55343 55346 55347 55349 55350 55352 55353 55354 55355 55356 55358 55359 55360 55361 55365 55366 55367 55368 55369 55373 55376 55377 55382 55383 55386 55387 55389 55390 55391 55393 55397 55398 55402 55404 55406 55407 55409 55410 55412 55421 55429 55430 55432 55435 55436 55437 55443 55445 55446 55447 55455 55459 55461 55462 55463 55464 55465 55467 55468 55470 55471 55473 55474 55475 55477 55478 55480 55481 55482 55487 55573 55578 55582 55583 55612 55614 55639 55640 55644 55649 55650 55651 55656 55660 55661 55666 55668 55681 55683 55684 55686 55687 55688 55690 55691 55692 55695 55696 55697 55699 55702 55708 55709 55710 55711 55712 55713 55715 55716 55717 55720 55721 55722 55723 55724 55728 55729 55730 55731 55736 55737 55738 55739 55740 55741 55747 55751 55752 55753 55754 55755 55758 55759 55761 55762 55764 55767 55770 55771 55774 55775 55776 55779 55788 55789 55799 55803 55804 55807 55809 55810 55811 55818 55819 55820 55822 55823 55825 55835 55838 55844 55846 55849 55852 55853 55854 55856 55859 55860 55866 55867 55869 55870 55872 55873 55874 55876 55877 55880 55881 55882 55883 55885 55891 55894 55897 55898 55902 55903 55904 55906 55907 55909 55911 55913 55914 55915 55920 55922 55926 55929 55930 55931 55932 55933 55934 55935 55938 55939 55942 55943 55944 55960 55961 55962 55963 55964 55965 55967 55968 55972 55973 55974 55975 55976 56003 56005 56006 56009 56011 56018 56033 56039 56040 56050 56055 56056 56058 56059 56061 56062 56064 56065 56067 56068 56075 56077 56096 56121 56142 56143 56149 56150 56152 56154 56170 56209 56211 56219 56224 56225 56233 56237 56242 56243 56244 56245 56260 56269 56270 56271 56277 56281 56284 56285 56289 56292 56294 56295 56298 56299 56300 56314 56315 56316 56317 56320 56322 56325 56329 56336 56337 56338 56341 56346 56350 56352 56378 56395 56402 56403 56406 56407 56411 56412 56413 56415 56416 56420 56423 56424 56431 56432 56437 56438 56440 56441 56442 56455 56457 56459 56461 56465 56466 56471 56473 56475 56477 56478 56480 56481 56482 56483 56484 56485 56490 56493 56494 56497 56501 56503 56504 56506 56510 56512 56519 56520 56521 56523 56524 56526 56527 56528 56532 56542 56546 56547 56548 56552 56553 56554 56556 56557 56559 56560 56565 56566 56568 56569 56570 56572 56573 56578 56580 56582 56583 56587 56588 56589 56590 56592 56595 56605 56606 56616 56620 56623 56624 56627 56628 56636 56639 56640 56641 56642 56643 56647 56648 56650 56651 56652 56654 56655 56659 56666 56667 56670 56673 56674 56675 56678 56681 56684 56685 56686 56697 56704 56727 56731 56732 56733 56742 56745 56749 56751 56753 56756 56759 56760 56761 56763 56764 56780 56782 56788 56789 56790 56791 56795 56796 56801 56802 56808 56809 56811 56813 56817 56829 56831 56835 56836 56838 56839 56841 56848 56849 56851 56853 56856 56867 56894 56895 56906 56913 56916 57000 57007 57012 57018 57019 57026 57048 57052 57074 57079 57080 57081 57082 57083 57084 57085 57086 57087 57090 57091 57096 57101 57102 57103 57107 57108 57109 57110 57121 57122 57124 57128 57133 57134 57135 57137 57141 57142 57143 57155 57159 57161 57165 57166 57167 57173 57179 57182 57190 57195 57197 57201 57202 57209 57212 57213 57219 57220 57226 57227 57228 57229 57231 57232 57233 57236 57237 57238 57243 57248 57250 57253 57255 57259 57268 57269 57271 57272 57273 57282 57284 57286 57290 57291 57292 57293 57301 57304 57307 57317 57321 57329 57330 57334 57341 57350 57361 57363 57364 57366 57367 57370 57373 57376 57377 57380 57382 57383 57384 57386 57394 57395 57398 57413 57427 57434 57436 57437 57445 57451 57454 57467 57472 57477 57480 57483 57484 57485 57486 57495 57504 57507 57510 57511 57513 57515 57517 57518 57519 57520 57521 57522 57523 57525 57526 57527 57530 57535 57536 57537 57538 57539 57540 57542 57543 57544 57545 57546 57547 57548 57549 57551 57559 57562 57566 57571 57578 57580 57581 57582 57583 57587 57596 57604 57605 57606 57607 57609 57610 57611 57612 57626 57627 57630 57633 57635 57636 57640 57651 57652 57655 57659 57660 57661 57662 57664 57666 57670 57671 57672 57673 57676 57678 57687 57691 57693 57694 57695 57696 57697 57698 57700 57704 57705 57706 57720 57727 57733 57735 57740 57742 57743 57746 57749 57750 57751 57753 57762 57763 57764 57771 57772 57779 57781 57782 57784 57785 57786 57787 57788 57789 57791 57793 57794 57795 57796 57797 57798 57799 57802 57803 57806 57807 57808 57809 57810 57812 57813 57817 57820 57829 57830 57831 57832 57833 57834 57835 57843 57844 57845 57846 57856 57857 57860 57867 57870 57871 57872 57874 57877 57878 57879 57880 57881 57883 57885 57886 57888 57889 57892 57893 57896 57898 57899 57900 57901 57904 57905 57906 57910 57911 57913 57915 57917 57919 57921 57922 57929 57930 57931 57934 57935 57936 57938 57941 57942 57943 57945 57946 57948 57950 57951 57953 57954 57956 57958 57959 57960 57965 57966 57968 57969 57972 57973 57975 57977 57978 57979 57980 57981 57982 57983 57991 57993 57995 57996 57997 57999 58005 58009 58021 58023 58031 58038 58039 58041 58042 58045 58048 58049 58051 58052 58053 58055 58056 58057 58062 58063 58066 58071 58073 58075 58077 58078 58079 58080 58083 58084 58086 58090 58091 58093 58096 58098 58102 58104 58108 58109 58110 58111 58113 58123 58129 58133 58134 58135 58139 58140 58141 58144 58145 58150 58154 58155 58156 58157 58158 58159 58163 58164 58169 58170 58171 58173 58177 58181 58185 58186 58187 58188 58189 58190 58191 58192 58193 58197 58198 58199 58200 58202 58203 58204 58205 58207 58209 58211 58215 58217 58218 58219 58220 58221 58222 58224 58225 58227 58228 58229 58230 58231 58233 58236 58237 58240 58242 58243 58246 58249 58251 58252 58254 58255 58256 58259 58261 58263 58264 58268 58271 58272 58273 58275 58277 58278 58279 58280 58281 58282 58284 58285 58293 58294 58296 58297 58298 58301 58305 58306 58309 58312 58320 58329 58333 58334 58339 58340 58342 58343 58344 58345 58365 58366 58367 58368 58369 58370 58371 58372 58373 58374 58375 58376 58379 58380 58381 58382 58383 58385 58386 58387 58389 58391 58392 58393 58394 58405 58406 58407 58408 58410 58411 58413 58414 58415 58416 58417 58418 58420 58421 58422 58425 58427 58429 58434 58435 58436 58437 58438 58439 58440 58441 58442 58445 58446 58451 58455 58462 58463 58465 58467 58473 58479 58480 58481 58486 58487 58488 58490 58491 58494 58495 58496 58498 58500 58503 58506 58511 58514 58515 58516 58517 58518 58520 58521 58524 58525 58527 58528 58529 58531 58532 58534 58538 58539 58608 58609 58611 58614 58620 58623 58626 58634 58635 58636 58637 58638 58640 58641 58642 58645 58647 58652 58671 58673 58678 58682 58688 58690 58692 58701 58702 58710 58715 58716 58717 58718 58721 58726 58727 58730 58731 58732 58733 58734 58739 58742 58747 58754 58757 58762 58763 58764 58765 58767 58769 58772 58785 58788 58792 58793 58796 58797 58799 58805 58806 58807 58808 58809 58810 58814 58819 58820 58821 58823 58825 58826 58828 58829 58831 58834 58835 58837 58860 58861 58862 58865 58866 58867 58868 58869 58870 58872 58873 58879 58880 58881 58882 58883 58895 58897 58902 58903 58904 58916 58917 58918 58922 58924 58927 58932 58937 58941 58943 58948 58952 58954 58957 58959 58960 58964 58972 58975 59001 59004 59006 59020 59021 59022 59023 59029 59030 59032 59033 59034 59035 59041 59043 59045 59048 59052 59059 59060 59061 59063 59064 59065 59068 59070 59071 59072 59076 59077 59079 59080 59081 59085 59088 59089 59095 59098 59110 59247 59275 59276 59300 59359 59360 59370 59372 59374 59384 59396 59402 59403 59404 59405 59419 59420 59422 59424 59435 59436 59438 59439 59446 59447 59453 59459 59460 59466 59469 59471 59476 59482 59483 59489 59490 59492 59495 59496 59497 59503 59504 59506 59507 59510 59511 59512 59513 59514 59515 59522 59524 59525 59526 59527 59529 59532 59533 59538 59541 59542 59562 59565 59566 59573 59580 59583 59589 59590 59597 59605 59611 59617 59620 59641 59664 59676 59677 59678 59680 59681 59682 59685 59686 59687 59691 59692 59693 59696 59698 59699 59703 59708 59710 59711 59712 59713 59714 59720 59725 59727 59729 59730 59731 59733 59734 59736 59737 59742 59744 59747 59748 59749 59750 59752 59754 59756 59757 59759 59761 59764 59767 59769 59772 59773 59774 59777 59781 59782 59783 59785 59787 59788 59791 59792 59793 59796 59799 59800 59802 59803 59804 59806 59807 59808 59810 59812 59813 59814 59815 59816 59818 59820 59821 59822 59823 59825 59826 59827 59828 59831 59833 59834 59836 59837 59841 59842 59846 59847 59851 59853 59854 59855 59856 59858 59859 59860 59862 59864 59865 59866 59867 59868 59869 59870 59871 59872 59873 59874 59875 59877 59879 59883 59890 59891 59895 59900 59901 59906 59907 59909 59910 59913 59917 59918 59919 59920 59923 59928 59932 59962 59963 59964 59965 59977 59996 59998 60004 60041 60042 60045 60048 60049 60050 60053 60054 60059 60060 60061 60062 60065 60071 60073 60083 60084 60086 60100 60103 60107 60112 60113 60115 60120 60121 60128 60129 60130 60131 60132 60135 60145 60148 60152 60154 60156 60157 60158 60161 60162 60163 60164 60165 60167 60168 60169 60170 60171 60173 60175 60177 60178 60179 60180 60181 60182 60183 60184 60185 60186 60187 60188 60189 60190 60191 60192 60193 60194 60196 60197 60200 60201 60202 60203 60204 60206 60208 60211 60212 60214 60215 60218 60228 60235 60237 60239 60241 60255 60256 60264 60265 60268 60269 60272 60276 60277 60278 60280 60281 60291 60292 60304 60305 60307 60309 60311 60313 60319 60393 60394 60395 60396 60397 60398 60400 60403 60404 60405 60408 60409 60413 60414 60415 60416 60417 60418 60424 60425 60427 60429 60433 60434 60436 60437 60438 60439 60441 60444 60445 60446 60447 60454 60455 60456 60457 60459 60460 60461 60462 60463 60464 60465 60466 60470 60471 60473 60475 60476 60477 60478 60479 60480 60481 60485 60489 60491 60493 60495 60496 60497 60498 60502 60503 60504 60505 60509 60510 60511 60513 60514 60517 60518 60519 60520 60522 60523 60524 60525 60528 60530 60532 60536 60539 60545 60549 60550 60551 60552 60553 60555 60559 60562 60563 60565 60569 60573 60574 60575 60576 60578 60579 60580 60581 60582 60583 60586 60587 60588 60589 60590 60591 60593 60594 60595 60596 60597 60599 60602 60624 60629 60632 60633 60634 60636 60639 60645 60649 60653 60654 60655 60656 60657 60658 60667 60671 60680 60681 60685 60688 60689 60691 60692 60694 60696 60698 60699 60700 60703 60705 60706 60707 60708 60710 60717 60721 60726 60734 60736 60739 60740 60746 60753 60754 60755 60756 60760 60761 60779 60782 60783 60784 60792 60794 60808 60814 60815 60819 60822 60825 60826 60827 60835 60836 60837 60838 60840 60843 60845 60848 60849 60850 60851 60853 60856 60861 60863 60864 60867 60868 60872 60873 60874 60875 60876 60879 60880 60882 60883 60884 60885 60886 60891 60892 60895 60898 60904 60909 60912 60924 60926 60929 60930 60933 60934 60935 60947 60956 60960 60991 60992 60998 60999 61000 61001 61003 61007 61011 61012 61013 61017 61019 61020 61025 61027 61028 61030 61034 61035 61043 61045 61054 61063 61070 61071 61073 61074 61081 61084 61085 61086 61089 61103 61108 61111 61121 61143 61148 61149 61150 61151 61152 61153 61156 61171 61179 61181 61197 61198 61200 61202 61203 61204 61208 61209 61210 61214 61215 61220 61221 61222 61223 61228 61229 61231 61232 61239 61242 61244 61256 61258 61264 61266 61267 61268 61279 61282 61288 61289 61296 61298 61299 61300 61303 61304 61322 61323 61326 61327 61328 61329 61330 61344 61345 61346 61347 61366 61368 61370 61377 61409 61420 61425 61437 61453 61455 61457 61475 61502 61506 61507 61512 61517 61518 61530 61531 61533 61535 61536 61542 61559 61562 61581 61582 61586 61587 61589 61590 61603 61616 61626 61627 61629 61632 61633 61641 61751 61756 61762 61763 61765 61770 61781 61789 61807 61814 61822 61823 61824 61825 61829 61833 61838 61843 61844 61849 61850 61851 61852 61855 61856 61860 61861 61862 61863 61866 61887 61888 61889 61890 61897 61898 61903 61905 61908 61909 61912 61931 61932 61934 61937 61938 61940 61941 61942 61946 61947 61948 61953 61956 61957 61958 61960 61964 61990 61996 62000 62008 62012 62013 62017 62021 62026 62028 62032 62036 62038 62039 62043 62051 62063 62066 62067 62068 62069 62071 62073 62075 62076 62077 62087 62088 62092 62095 62096 62099 62101 62103 62106 62111 62112 62114 62121 62122 62123 62124 62125 62126 62127 62128 62129 62140 62144 62145 62164 62166 62168 62169 62175 62177 62180 62183 62189 62204 62210 62212 62213 62214 62225 62227 62231 62232 62485 62496 62498 62499 62508 62512 62519 62527 62536 62540 62541 62542 62546 62550 62553 62557 62565 62566 62570 62571 62585 62587 62598 62600 62601 62602 62603 62604 62605 62606 62614 62615 62618 62619 62620 62621 62622 62625 62628 62630 62631 62632 62633 62637 62638 62639 62640 62641 62643 62644 62645 62647 62648 62649 62655 62657 62660 62666 62669 62674 62681 62684 62685 62686 62687 62694 62699 62705 62706 62712 62716 62721 62725 62730 62732 62735 62736 62737 62740 62742 62766 62785 62889 62901 62902 62903 62906 62911 62913 62919 62921 62922 62923 62926 62928 62930 62932 62933 62935 62938 62941 62943 62949 62953 62954 62955 62964 62966 62972 62983 62986 62987 62990 62993 62995 62996 62997 63004 63008 63024 63025 63027 63029 63031 63034 63036 63038 63039 63040 63041 63047 63050 63053 63055 63058 63059 63060 63061 63062 63064 63069 63082 63089 63094 63095 63101 63103 63106 63114 63117 63118 63123 63125 63127 63128 63129 63132 63133 63138 63140 63141 63142 63143 63144 63151 63152 63159 63162 63163 63166 63168 63170 63171 63172 63179 63180 63181 63186 63190 63191 63192 63195 63196 63197 63199 63206 63208 63211 63217 63220 63223 63225 63232 63238 63251 63252 63261 63263 63265 63266 63268 63269 63273 63274 63275 63276 63277 63278 63282 63283 63288 63289 63292 63293 63294 63295 63298 63299 63300 63306 63308 63312 63313 63315 63321 63322 63323 63325 63326 63327 63336 63338 63340 63341 63365 63366 63370 63371 63375 63381 63382 63384 63385 63386 63387 63388 63392 63393 63395 63397 63401 63402 63404 63406 63409 63412 63433 63435 63440 63443 63444 63448 63450 63452 63454 63455 63456 63457 63459 63460 63461 63464 63465 63476 63477 63479 63481 63482 63486 63488 63490 63491 63492 63493 63495 63501 63503 63506 63507 63509 63510 63512 63514 63516 63517 63519 63521 63522 63527 63537 63547 63548 63549 63555 63584 63607 63724 63725 63733 63742 63747 63754 63755 63756 63757 63764 63765 63767 63768 63769 63771 63773 63779 63781 63786 63788 63789 63790 63792 63794 63795 63796 63797 63798 63800 63803 63805 63807 63809 63810 63814 63815 63816 63817 63818 63820 63821 63822 63823 63826 63827 63828 63829 63830 63831 63839 63840 63841 63842 63843 63845 63847 63852 63853 63856 63857 63858 63866 63868 63869 63870 63879 63880 63881 63882 63885 63886 63888 63889 63890 63894 63895 63898 63906 63908 63909 63910 63912 63913 63914 63915 63916 63917 63918 63919 63920 63921 63922 63923 63927 63928 63930 63931 63932 63934 63935 63936 63937 63944 63945 63947 63953 63954 63955 63962 63964 63970 63971 63973 63974 63978 63979 63980 63981 63982 63983 63984 63995 63997 64003 64004 64005 64007 64009 64010 64011 64016 64017 64020 64021 64022 64024 64032 64035 64036 64037 64040 64041 64042 64044 64048 64049 64051 64053 64055 64061 64063 64064 64065 64067 64070 64071 64074 64075 64077 64079 64082 64083 64086 64087 64088 64089 64093 64094 64097 64102 64103 64104 64108 64110 64111 64112 64113 64114 64120 64123 64125 64134 64135 64136 64137 64138 64140 64141 64143 64144 64149 64150 64153 64161 64166 64170 64171 64172 64174 64183 64186 64188 64192 64201 64214 64216 64217 64222 64233 64237 64249 64250 64256 64260 64262 64263 64264 64265 64266 64267 64269 64270 64271 64272 64274 64275 64277 64278 64280 64283 64286 64301 64303 64304 64305 64310 64311 64312 64315 64316 64318 64320 64321 64322 64324 64325 64326 64329 64333 64334 64336 64375 64376 64381 64384 64387 64388 64395 64401 64402 64403 64406 64408 64409 64414 64423 64425 64426 64432 64433 64434 64440 64443 64444 64445 64446 64447 64454 64465 64467 64469 64474 64477 64479 64480 64482 64486 64490 64492 64494 64496 64497 64500 64502 64503 64505 64506 64507 64508 64511 64512 64513 64516 64519 64542 64561 64562 64564 64567 64568 64571 64572 64582 64597 64604 64606 64608 64622 64624 64636 64637 64639 64640 64654 64656 64657 64659 64665 64669 64670 64677 64678 64679 64683 64685 64688 64690 64691 64692 64693 64695 64696 64698 64699 64700 64702 64712 64718 64729 64730 64736 64740 64742 64745 64748 64754 64761 64766 64774 64775 64776 64777 64786 64796 64802 64803 64805 64807 64808 64822 64862 64868 64870 64880 64882 64886 64887 64888 64889 64891 64953 64954 64956 64961 64962 64964 64965 64971 64980 64983 64984 64989 64992 64993 64994 64997 64998 65001 65002 65013 65020 65034 65040 65043 65044 65048 65075 65077 65078 65079 65081 65083 65090 65091 65093 65098 65099 65113 65117 65119 65129 65132 65133 65136 65141 65142 65148 65151 65152 65154 65156 65157 65159 65160 65162 65163 65164 65165 65166 65171 65173 65175 65176 65177 65179 65180 65181 65182 65183 65185 65188 65195 65199 65201 65203 65204 65205 65207 65216 65218 65221 65222 65223 65224 65225 65226 65228 65230 65235 65236 65239 65240 65242 65244 65247 65250 65252 65254 65257 65259 65263 65264 65265 65266 65267 65270 65274 65275 65279 65284 65291 65293 65294 65295 65298 65302 65310 65311 65312 65319 65321 65322 65323 65326 65328 65329 65331 65332 65334 65335 65347 65351 65356 65357 65364 65368 65382 65386 65413 65422 65428 65430 65431 65432 65434 65436 65456 65458 65464 65472 65481 65483 65501 65502 65503 65505 65524 65526 65528 65536 65537 65538 65540 65543 65554 65555 65568 65569 65571 65573 65574 65582 65583 65588 65589 65591 65592 65598 65605 65613 65618 65619 65632 65633 65636 65638 65643 65648 65650 65651 65654 65655 65656 65694 65696 65711 65712 65716 65718 65723 65726 65731 65751 65754 65758 65759 65760 65761 65767 65773 65774 65777 65778 65780 65781 65782 65783 65784 65791 65792 65795 65796 65797 65799 65802 65803 65805 65806 65809 65814 65815 65816 65818 65822 65824 65828 65831 65832 65834 65835 65836 65839 65840 65841 65842 65843 65844 65845 65846 65851 65852 65855 65856 65857 65858 65859 65863 65869 65870 65871 65872 65880 65881 65883 65884 65885 65886 65888 65891 65895 65896 65897 65908 65909 65912 65921 65923 65924 65932 65933 65934 65935 65936 65938 65941 65946 65949 65950 65951 65952 65954 65959 65961 65962 65963 65969 65972 65977 65981 65982 65983 65995 65997 66001 66002 66003 66005 66012 66014 66015 66018 66019 66023 66024 66026 66027 66028 66032 66035 66039 66041 66042 66043 66044 66045 66048 66050 66051 66052 66053 66054 66057 66058 66059 66062 66063 66064 66066 66067 66068 66069 66070 66072 66073 66074 66075 66077 66078 66082 66084 66085 66086 66087 66088 66089 66090 66094 66095 66097 66099 66100 66101 66105 66110 66116 66117 66138 66139 66140 66141 66142 66143 66146 66148 66151 66152 66153 66154 66156 66157 66161 66163 66165 66168 66170 66180 66181 66197 66198 66200 66201 66212 66218 66220 66221 66222 66223 66226 66227 66230 66231 66233 66234 66235 66237 66238 66242 66246 66247 66248 66254 66255 66256 66258 66264 66265 66268 66274 66277 66279 66282 66285 66286 66287 66288 66289 66293 66294 66299 66304 66306 66314 66315 66317 66318 66324 66326 66328 66332 66333 66335 66339 66341 66344 66348 66350 66353 66359 66360 66363 66367 66368 66370 66372 66373 66375 66376 66380 66381 66382 66385 66388 66390 66391 66392 66393 66395 66400 66402 66403 66404 66407 66409 66410 66411 66412 66414 66415 66419 66420 66422 66431 66433 66434 66435 66437 66442 66443 66445 66446 66448 66449 66450 66451 66452 66453 66454 66456 66464 66465 66466 66467 66468 66469 66471 66473 66474 66477 66478 66479 66485 66487 66488 66490 66491 66492 66499 66505 66517 66518 66520 66526 66527 66528 66529 66532 66534 66535 66538 66540 66545 66546 66549 66550 66551 66553 66556 66561 66572 66575 66578 66581 66586 66589 66593 66605 66610 66613 66614 66615 66617 66618 66619 66620 66621 66622 66624 66628 66631 66633 66634 66636 66637 66638 66641 66642 66645 66646 66650 66651 66653 66656 66657 66659 66662 66669 66672 66673 66676 66677 66682 66684 66685 66688 66690 66691 66692 66693 66699 66703 66705 66706 66707 66709 66711 66713 66715 66718 66721 66722 66724 66725 66726 66730 66732 66733 66736 66739 66746 66747 66749 66750 66752 66757 66759 66762 66763 66765 66766 66767 66769 66774 66777 66779 66782 66784 66787 66791 66795 66798 66799 66801 66803 66804 66805 66806 66807 66813 66814 66816 66820 66822 66823 66824 66826 66828 66829 66833 66835 66836 66837 66838 66846 66847 66851 66852 66854 66855 66857 66860 66861 66867 66875 66876 66877 66879 66901 66905 66911 66912 66916 66918 66920 66930 66934 66950 66957 66958 66962 66963 66966 66967 66968 66972 66973 66981 66998 67000 67006 67007 67010 67023 67025 67026 67063 67066 67067 67068 67071 67075 67076 67078 67083 67086 67087 67090 67092 67097 67099 67103 67105 67107 67110 67111 67112 67113 67116 67118 67129 67130 67133 67136 67138 67140 67143 67162 67173 67208 67262 67265 67267 67269 67276 67285 67288 67290 67291 67295 67297 67306 67309 67313 67314 67319 67320 67322 67324 67326 67332 67333 67337 67346 67347 67348 67356 67361 67365 67368 67369 67374 67376 67393 67394 67397 67403 67408 67418 67419 67426 67430 67431 67452 67453 67456 67460 67462 67471 67477 67482 67485 67486 67493 67500 67504 67508 67510 67518 67525 67532 67533 67537 67542 67544 67549 67555 67558 67561 67568 67574 67579 67581 67595 67599 67600 67603 67605 67608 67612 67616 67623 67626 67634 67638 67640 67672 67678 67679 67680 67682 67686 67699 67730 67732 67735 67747 67750 67768 67769 67781 67783 67785 67786 67789 67793 67808 67813 67815 67823 67832 67834 67839 67844 67846 67854 67859 67864 67867 67868 67869 67870 67872 67873 67874 67875 67878 67879 67883 67887 67893 67896 67897 67898 67900 67901 67903 67907 67909 67911 67913 67919 67920 67922 67924 67925 67928 67930 67931 67933 67934 67935 67936 67942 67944 67951 67957 67958 67959 67961 67964 67967 67968 67970 67972 67990 68003 68005 68007 68008 68010 68015 68016 68021 68022 68023 68024 68025 68026 68029 68030 68031 68032 68035 68037 68038 68039 68041 68042 68043 68045 68046 68047 68048 68051 68053 68054 68057 68058 68059 68060 68065 68075 68078 68079 68084 68087 68092 68093 68095 68096 68098 68099 68101 68103 68107 68112 68113 68114 68115 68116 68117 68119 68120 68121 68122 68123 68131 68133 68135 68138 68139 68142 68144 68147 68148 68149 68150 68152 68153 68154 68155 68157 68158 68159 68160 68162 68165 68167 68168 68170 68172 68175 68176 68177 68181 68182 68184 68186 68187 68192 68193 68194 68195 68196 68197 68198 68202 68205 68206 68208 68211 68213 68214 68215 68216 68217 68218 68222 68228 68232 68233 68234 68235 68236 68238 68239 68241 68242 68243 68244 68252 68253 68254 68263 68264 68265 68266 68267 68268 68269 68273 68283 68285 68288 68290 68291 68293 68294 68302 68308 68313 68314 68322 68323 68329 68330 68332 68333 68334 68353 68359 68360 68361 68362 68366 68367 68368 68377 68378 68379 68380 68381 68382 68387 68389 68390 68391 68394 68399 68400 68401 68406 68407 68408 68410 68416 68417 68418 68419 68421 68424 68425 68426 68428 68430 68432 68433 68435 68443 68444 68447 68449 68450 68451 68455 68458 68459 68463 68464 68466 68467 68468 68469 68472 68474 68475 68479 68480 68482 68483 68485 68486 68491 68492 68493 68494 68495 68497 68506 68511 68515 68517 68522 68523 68525 68527 68533 68534 68536 68541 68543 68545 68546 68547 68554 68558 68562 68574 68577 68578 68608 68629 68659 68660 68661 68662 68670 68671 68673 68674 68676 68677 68680 68697 68698 68699 68700 68705 68711 68719 68722 68724 68726 68729 68730 68731 68732 68734 68737 68738 68739 68742 68743 68745 68746 68751 68752 68753 68763 68765 68767 68770 68771 68772 68773 68774 68781 68782 68783 68784 68785 68787 68788 68789 68791 68792 68793 68796 68798 68806 68807 68817 68818 68820 68821 68823 68826 68827 68828 68831 68833 68843 68846 68849 68850 68851 68854 68857 68858 68860 68861 68862 68864 68865 68866 68867 68868 68870 68873 68875 68881 68883 68885 68887 68888 68890 68891 68893 68897 68901 68903 68914 68915 68920 68923 68930 68931 68932 68933 68935 68940 68941 68942 68943 68945 68946 68951 68955 68957 68958 68960 68961 68964 68965 68966 68967 68968 68971 68972 68973 68974 68975 68976 68985 68986 68987 68989 68990 68991 68994 68996 68997 69001 69002 69004 69006 69007 69010 69011 69012 69013 69014 69015 69016 69019 69020 69021 69022 69023 69024 69026 69027 69034 69036 69039 69040 69046 69050 69053 69056 69061 69062 69067 69068 69071 69078 69081 69083 69089 69092 69095 69098 69105 69106 69107 69113 69130 69163 69169 69170 69171 69172 69174 69175 69177 69178 69179 69200 69212 69226 69230 69237 69238 69242 69243 69248 69252 69268 69269 69271 69279 69289 69295 69300 69301 69306 69308 69309 69310 69316 69321 69323 69327 69328 69329 69331 69338 69341 69344 69348 69351 69352 69353 69354 69359 69360 69361 69362 69364 69367 69369 69370 69371 69372 69373 69374 69376 69383 69388 69389 69391 69392 69394 69397 69398 69404 69410 69412 69413 69435 69447 69450 69453 69454 69456 69478 69481 69482 69483 69484 69485 69488 69489 69490 69493 69542 69543 69544 69545 69548 69549 69550 69551 69555 69562 69563 69564 69567 69568 69569 69579 69582 69583 69585 69586 69591 69592 69595 69596 69597 69603 69604 69605 69609 69610 69622 69628 69632 69635 69638 69639 69643 69645 69647 69648 69659 69662 69664 69665 69667 69671 69679 69684 69685 69689 69690 69706 69710 69715 69716 69717 69727 69730 69731 69734 69735 69736 69737 69739 69740 69741 69742 69745 69746 69747 69748 69749 69750 69751 69752 69753 69754 69755 69758 69759 69760 69761 69763 69765 69766 69767 69768 69771 69772 69773 69774 69775 69776 69777 69778 69781 69787 69788 69791 69792 69794 69796 69797 69798 69800 69803 69805 69806 69809 69810 69812 69813 69816 69819 69820 69824 69825 69827 69832 69833 69836 69871 69872 69873 69876 69877 69878 69881 69883 69884 69902 69903 69909 69910 69911 69912 69918 69921 69925 69927 69930 69936 69937 69938 69939 69941 69942 69950 69951 69955 69957 69963 69971 69979 69989 69990 69991 69992 69994 69995 70002 70005 70028 70034 70038 70039 70040 70047 70048 70050 70056 70058 70059 70066 70069 70071 70072 70076 70077 70078 70106 70108 70109 70115 70117 70122 70123 70124 70125 70126 70128 70129 70131 70139 70143 70163 70165 70166 70170 70177 70179 70191 70194 70206 70208 70209 70212 70213 70214 70215 70216 70217 70218 70220 70222 70223 70224 70226 70227 70228 70231 70233 70241 70242 70243 70251 70253 70259 70260 70261 70262 70264 70265 70266 70267 70268 70269 70270 70273 70275 70276 70277 70278 70279 70281 70283 70289 70290 70299 70300 70302 70303 70304 70305 70306 70308 70310 70313 70318 70320 70325 70330 70373 70384 70385 70386 70390 70391 70392 70394 70395 70397 70398 70400 70402 70403 70404 70405 70406 70407 70408 70409 70413 70414 70416 70418 70419 70420 70422 70423 70424 70425 70426 70427 70431 70432 70444 70445 70450 70452 70453 70455 70458 70460 70461 70463 70466 70467 70469 70470 70473 70475 70477 70482 70489 70490 70497 70500 70502 70514 70516 70517 70521 70524 70525 70528 70529 70531 70532 70540 70541 70543 70549 70556 70557 70558 70559 70560 70561 70562 70563 70565 70566 70567 70568 70569 70570 70573 70574 70577 70578 70579 70580 70581 70585 70587 70588 70589 70591 70592 70594 70597 70598 70601 70602 70605 70607 70610 70611 70616 70619 70620 70621 70622 70625 70626 70664 70667 70671 70673 70674 70675 70678 70679 70680 70681 70683 70684 70686 70690 70691 70692 70693 70694 70695 70698 70699 70703 70704 70707 70709 70711 70712 70715 70716 70718 70722 70731 70732 70741 70742 70743 70744 70745 70750 70752 70756 70759 70760 70771 70812 70814 70824 70825 70868 70870 70888 70889 70912 70921 70939 70952 70953 70954 70955 70957 70958 70966 70967 70968 70969 70971 70972 70975 70977 70982 70984 70989 70991 70992 70997 70999 71001 71002 71003 71008 71013 71021 71023 71024 71027 71028 71032 71034 71036 71037 71038 71041 71042 71043 71044 71045 71046 71047 71048 71050 71053 71054 71055 71062 71063 71065 71068 71069 71071 71072 71073 71079 71081 71082 71086 71094 71095 71096 71097 71098 71099 71100 71103 71104 71105 71107 71109 71111 71112 71113 71114 71115 71116 71117 71118 71119 71120 71122 71123 71125 71126 71127 71129 71130 71132 71133 71135 71136 71137 71140 71141 71143 71144 71145 71146 71147 71149 71150 71151 71152 71154 71156 71160 71161 71169 71170 71172 71174 71175 71176 71177 71199 71208 71226 71229 71230 71232 71262 71264 71269 71271 71275 71278 71281 71283 71284 71286 71299 71304 71311 71319 71324 71325 71328 71330 71357 71361 71364 71377 71381 71418 71424 71434 71437 71443 71449 71478 71486 71490 71496 71497 71499 71501 71508 71513 71517 71519 71520 71521 71524 71527 71529 71530 71531 71532 71534 71538 71549 71556 71559 71560 71566 71567 71570 71571 71573 71577 71578 71582 71584 71585 71589 71592 71593 71594 71599 71608 71614 71615 71619 71620 71626 71629 71632 71639 71640 71649 71651 71666 71668 71681 71685 71686 71689 71693 71695 71696 71701 71703 71706 71707 71708 71709 71710 71716 71718 71720 71721 71722 71729 71736 71738 71741 71751 71760 71762 71763 71785 71790 71801 71802 71805 71807 71808 71809 71810 71811 71815 71834 71842 71876 71879 71883 71893 71896 71947 71953 71956 71957 71964 71967 71968 71969 71970 71972 71976 71978 71979 71980 71981 71986 71989 72018 72020 72022 72024 72032 72035 72036 72038 72039 72047 72061 72063 72064 72065 72066 72075 72094 72127 72148 72154 72157 72158 72159 72160 72162 72165 72166 72167 72168 72169 72171 72175 72176 72177 72178 72180 72181 72182 72184 72185 72186 72187 72188 72194 72196 72197 72200 72201 72204 72205 72206 72207 72208 72211 72212 72214 72215 72216 72219 72221 72222 72223 72225 72226 72227 72229 72230 72231 72232 72233 72234 72235 72237 72238 72241 72245 72247 72251 72252 72253 72298 72310 72315 72316 72426 72434 72444 72485 72486 72487 72489 72490 72495 72496 72498 72499 72506 72507 72508 72509 72510 72511 72513 72520 72521 72527 72534 72535 72538 72539 72542 72551 72552 72559 72561 72562 72567 72569 72570 72571 72576 72579 72580 72581 72582 72586 72587 72590 72591 72594 72607 72611 72615 72618 72621 72624 72625 72640 72642 72643 72644 72648 72649 72651 72652 72654 72657 72658 72659 72662 72664 72665 72666 72674 72677 72680 72682 72683 72686 72687 72693 72696 72698 72701 72702 72705 72707 72708 72711 72712 72713 72714 72716 72720 72722 72729 72732 72735 72736 72740 72742 72744 72764 72765 72766 72767 72768 72769 72775 72777 72778 72779 72780 72781 72783 72785 72790 72791 72802 72804 72805 72813 72816 72817 72822 72823 72824 72825 72826 72827 72828 72829 72830 72832 72836 72837 72839 72840 72847 72848 72849 72850 72851 72852 72853 72854 72857 72858 72859 72861 72864 72865 72868 72869 72870 72871 72873 72874 72878 72879 72886 72887 72890 72891 72892 72894 72896 72897 72901 72902 72903 72905 72908 72909 72910 72916 72918 72920 72922 72926 72928 72929 72933 72934 72935 72936 72941 72943 72944 72953 72954 72960 72968 72970 72973 72977 72979 72980 72981 72992 72995 72997 73002 73003 73008 73009 73012 73014 73022 73024 73026 73030 73040 73041 73043 73045 73047 73048 73061 73067 73071 73075 73076 73077 73080 73081 73082 73083 73085 73089 73094 73096 73098 73101 73102 73105 73108 73109 73114 73115 73116 73120 73121 73122 73126 73129 73130 73132 73133 73135 73136 73138 73147 73148 73150 73151 73156 73159 73161 73162 73169 73171 73172 73173 73177 73178 73182 73184 73190 73192 73193 73194 73197 73198 73200 73202 73204 73206 73207 73210 73212 73213 73214 73226 73349 73361 73362 73363 73368 73369 73370 73371 73372 73373 73374 73375 73378 73379 73380 73382 73389 73392 73393 73398 73401 73405 73408 73412 73415 73419 73420 73445 73447 73450 73453 73454 73455 73456 73457 73460 73469 73471 73472 73473 73474 73475 73476 73477 73478 73480 73482 73483 73485 73487 73488 73489 73490 73492 73497 73501 73502 73504 73505 73506 73507 73509 73511 73513 73515 73517 73520 73521 73522 73523 73524 73530 73532 73536 73541 73542 73544 73547 73554 73556 73557 73559 73560 73561 73563 73566 73567 73568 73571 73572 73573 73574 73575 73578 73579 73585 73586 73587 73589 73590 73591 73596 73599 73600 73601 73604 73607 73611 73612 73614 73616 73620 73625 73628 73630 73631 73633 73634 73635 73637 73640 73642 73644 73647 73650 73651 73656 73657 73659 73660 73661 73667 73669 73670 73671 73672 73680 73688 73691 73693 73694 73698 73703 73704 73705 73706 73708 73712 73715 73716 73721 73724 73730 73731 73736 73738 73740 73746 73749 73751 73762 73764 73768 73773 73774 73775 73778 73780 73782 73783 73788 73828 73834 73836 73859 73860 73889 73894 73896 73898 73900 73903 73904 73911 73914 73917 73918 73919 73920 73929 73930 73931 73933 73936 73937 73938 73943 73944 73949 73950 73951 73954 73965 73966 73969 73970 73971 73974 73980 73983 73984 73987 73991 73992 73997 73999 74001 74002 74004 74005 74007 74009 74010 74013 74014 74015 74016 74024 74027 74030 74031 74032 74037 74048 74058 74060 74068 74069 74071 74076 74080 74082 74084 74085 74089 74093 74094 74096 74097 74101 74107 74109 74112 74118 74121 74127 74133 74137 74138 74140 74141 74142 74143 74144 74146 74148 74151 74153 74158 74160 74161 74174 74175 74176 74177 74178 74184 74188 74189 74191 74209 74217 74222 74224 74227 74228 74230 74231 74235 74243 74246 74247 74248 74250 74259 74262 74263 74270 74286 74287 74288 74293 74299 74304 74307 74316 74317 74321 74322 74323 74325 74330 74332 74333 74340 74342 74343 74349 74356 74360 74361 74363 74386 74391 74393 74404 74405 74406 74407 74408 74409 74410 74411 74414 74420 74423 74424 74431 74434 74435 74436 74437 74438 74439 74443 74444 74445 74447 74448 74449 74455 74460 74491 74493 74494 74500 74502 74506 74514 74517 74518 74520 74533 74539 74540 74541 74544 74545 74546 74547 74548 74549 74550 74551 74553 74554 74555 74556 74557 74558 74559 74568 74570 74576 74580 74581 74582 74585 74587 74595 74601 74607 74610 74611 74613 74618 74621 74625 74627 74628 74632 74633 74634 74635 74636 74637 74640 74647 74653 74656 74657 74658 74659 74661 74664 74670 74675 74676 74678 74680 74700 74704 74706 74710 74714 74732 74736 74765 74779 74780 74790 74792 74793 74794 74797 74799 74807 74808 74814 74815 74816 74818 74900 74903 74905 74909 74915 74916 74921 74924 74925 74933 74935 74937 74939 74942 74947 74951 74961 74962 74964 74983 74984 74992 74998 75004 75007 75012 75013 75016 75018 75019 75022 75023 75025 75027 75040 75041 75047 75048 75052 75072 75076 75079 75092 75093 75094 75097 75098 75099 75100 75102 75105 75106 75110 75111 75113 75118 75120 75121 75122 75123 75127 75134 75135 75138 75141 75142 75143 75144 75155 75182 75187 75193 75211 75214 75220 75221 75222 75225 75226 75227 75228 75229 75230 75231 75245 75246 75248 75252 75254 75256 75259 75262 75263 75277 75279 75300 75325 75342 75346 75347 75349 75351 75353 75354 75355 75356 75357 75361 75362 75363 75366 75367 75369 75414 75420 75428 75429 75430 75431 75433 75436 75464 75466 75468 75469 75470 75488 75489 75490 75491 75492 75493 75494 75495 75496 75501 75502 75503 75504 75505 75506 75508 75509 75510 75511 75512 75518 75519 75523 75539 75543 75544 75549 75552 75555 75558 75559 75560 75561 75562 75572 75575 75576 75577 75582 75584 75590 75591 75593 75598 75599 75606 75615 75616 75617 75618 75619 75621 75623 75629 75630 75632 75635 75637 75638 75642 75651 75655 75656 75657 75659 75660 75662 75667 75672 75675 75678 75680 75684 75698 75703 75704 75709 75713 75716 75717 75718 75719 75720 75733 75746 75749 75750 75752 75753 75754 75756 75758 75761 75765 75770 75772 75781 75783 75784 75788 75790 75794 75797 75798 75803 75807 75810 75816 75819 75821 75822 75825 75830 75831 75857 75859 75861 75863 75864 75867 75868 75869 75870 75871 75880 75881 75885 75886 75887 75888 75889 75890 75900 75904 75909 75910 75918 75920 75925 75928 75932 75936 75938 75954 75958 75959 75962 75979 76024 76032 76033 76034 76035 76043 76048 76050 76051 76065 76066 76075 76076 76078 76079 76080 76082 76083 76086 76087 76089 76092 76093 76095 76096 76100 76101 76107 76109 76110 76111 76113 76114 76115 76116 76117 76118 76120 76123 76126 76128 76130 76132 76133 76135 76136 76144 76146 76147 76148 76150 76151 76165 76166 76167 76172 76209 76211 76213 76218 76221 76225 76226 76228 76232 76234 76235 76237 76238 76241 76243 76245 76246 76247 76248 76252 76255 76256 76258 76260 76261 76268 76271 76272 76273 76274 76275 76278 76279 76281 76282 76286 76287 76289 76290 76291 76292 76294 76295 76296 76297 76298 76299 76301 76302 76303 76305 76306 76307 76308 76310 76311 76312 76313 76314 76315 76316 76319 76323 76324 76327 76328 76329 76333 76335 76338 76341 76349 76351 76352 76353 76354 76355 76357 76359 76362 76363 76365 76366 76371 76373 76374 76378 76379 76381 76382 76383 76384 76391 76392 76394 76397 76400 76402 76404 76409 76411 76415 76416 76417 76419 76420 76421 76422 76424 76425 76426 76427 76429 76430 76432 76433 76438 76441 76442 76443 76444 76446 76447 76448 76449 76450 76451 76453 76454 76456 76460 76463 76465 76466 76472 76475 76479 76480 76488 76494 76495 76496 76502 76504 76505 76506 76507 76513 76516 76519 76521 76522 76523 76527 76528 76530 76531 76533 76542 76543 76544 76558 76568 76597 76604 76605 76606 76611 76612 76647 76649 76650 76651 76652 76653 76654 76655 76656 76657 76658 76659 76664 76665 76666 76667 76669 76670 76671 76672 76675 76678 76681 76682 76683 76684 76685 76686 76687 76688 76690 76691 76693 76694 76697 76699 76700 76703 76705 76706 76707 76708 76709 76710 76711 76713 76714 76715 76717 76718 76719 76720 76724 76731 76745 76746 76749 76751 76755 76756 76758 76760 76764 76768 76769 76771 76772 76781 76783 76784 76785 76786 76790 76793 76794 76799 76800 76801 76802 76803 76804 76808 76813 76815 76816 76817 76819 76821 76823 76824 76825 76829 76835 76836 76839 76840 76843 76848 76865 76869 76870 76873 76885 76889 76890 76891 76902 76936 76945 76946 76947 76957 76959 76960 76962 76967 76981 76982 76983 76985 76987 76989 76990 76992 76994 76996 77007 77008 77011 77013 77014 77019 77023 77024 77026 77027 77031 77032 77034 77036 77037 77038 77039 77042 77047 77050 77063 77064 77066 77067 77068 77071 77072 77074 77077 77080 77082 77083 77089 77091 77092 77094 77095 77096 77097 77099 77100 77101 77102 77103 77104 77105 77106 77109 77110 77111 77112 77113 77114 77115 77116 77117 77119 77122 77123 77126 77130 77131 77132 77135 77136 77138 77143 77147 77148 77149 77150 77151 77153 77158 77159 77162 77163 77164 77166 77167 77168 77172 77176 77178 77181 77182 77183 77184 77186 77187 77188 77190 77191 77192 77193 77194 77195 77196 77197 77200 77203 77204 77205 77206 77207 77209 77212 77215 77218 77219 77221 77230 77231 77235 77238 77241 77242 77247 77250 77251 77252 77253 77254 77256 77258 77259 77260 77261 77262 77267 77268 77269 77274 77287 77297 77304 77310 77316 77317 77320 77358 77373 77375 77376 77377 77379 77380 77382 77383 77384 77385 77386 77387 77388 77393 77394 77396 77399 77407 77408 77409 77410 77413 77414 77415 77416 77430 77431 77436 77446 77458 77461 77463 77480 77482 77484 77487 77493 77496 77497 77516 77517 77524 77526 77527 77533 77536 77539 77543 77602 77603 77604 77610 77615 77623 77628 77634 77637 77640 77643 77654 77655 77656 77659 77663 77664 77665 77681 77682 77765 77766 77768 77770 77771 77780 77782 77783 77784 77786 77787 77789 77801 77804 77805 77806 77816 77818 77826 77827 77829 77854 77856 77857 77864 77865 77872 77873 77875 77876 77877 77879 77887 77909 77911 77927 77928 77933 77934 77935 77938 77941 77950 77971 77978 77980 77981 77995 77996 77997 77999 78000 78028 78032 78033 78035 78036 78038 78045 78048 78054 78061 78083 78145 78146 78151 78152 78154 78155 78157 78168 78170 78171 78172 78173 78175 78177 78180 78183 78186 78187 78189 78190 78191 78192 78194 78195 78197 78198 78199 78203 78204 78205 78215 78216 78222 78223 78224 78229 78231 78233 78234 78237 78240 78243 78245 78247 78250 78251 78253 78255 78256 78257 78260 78261 78262 78264 78265 78267 78270 78271 78272 78273 78275 78277 78281 78282 78284 78285 78287 78288 78291 78298 78299 78317 78319 78329 78334 78343 78353 78355 78363 78364 78365 78373 78375 78378 78379 78381 78382 78383 78384 78388 78389 78392 78393 78410 78426 78433 78435 78437 78442 78445 78453 78459 78460 78463 78464 78465 78467 78487 78489 78495 78496 78497 78507 78510 78511 78512 78515 78518 78519 78520 78523 78526 78530 78531 78532 78534 78535 78537 78538 78539 78541 78551 78554 78557 78558 78559 78560 78564 78569 78572 78578 78585 78586 78587 78589 78592 78594 78595 78599 78600 78601 78602 78604 78609 78610 78612 78613 78614 78615 78622 78623 78624 78625 78628 78631 78632 78635 78640 78643 78660 78662 78663 78665 78667 78668 78679 78681 78687 78695 78701 78702 78703 78705 78706 78707 78708 78709 78710 78712 78714 78715 78724 78725 78728 78729 78735 78736 78743 78744 78745 78746 78747 78752 78753 78756 78761 78765 78777 78782 78786 78791 78792 78796 78798 78804 78805 78806 78807 78808 78809 78810 78811 78817 78824 78826 78827 78832 78834 78835 78836 78837 78838 78839 78840 78841 78842 78844 78847 78848 78849 78852 78854 78855 78863 78864 79015 79017 79083 79245 79246 79314 79389 79466 79589 79786 79810 79829 79856 80137 80138 80212 80349 80352 80371 80384 80408 80415 80448 80460 80473 80480 80481 80483 80484 80486 80487 80500 80506 80521 80539 80541 80612 80621 80626 80653 80658 80672 80689 80719 80720 80775 80778 80792 80807 80809 80812 80813 80816 80817 80875 80888 80911 80950 80955 80962 80968 80971 80979 80981 80982 80989 80992 81002 81018 81020 81024 81027 81057 81080 81082 81083 81090 81097 81106 81119 81121 81123 81128 81153 81156 81167 81181 81183 81186 81221 81223 81230 81235 81241 81250 81283 81288 81295 81311 81317 81321 81377 81397 81404 81408 81411 81416 81422 81424 81427 81429 81436 81437 81447 81452 81453 81464 81475 81479 81492 81511 81512 81528 81548 81549 81580 81592 81599 81653 81660 81677 81678 81705 81710 81739 81740 81741 81742 81769 81775 81781 81802 81813 81827 81828 81829 81832 81833 81834 81839 81843 81850 81858 81861 81864 81866 81870 81876 81913 81932 81935 81936 81958 81959 81963 81978 81980 81981 81985 81999 82003 82007 82009 82027 82028 82029 82037 82050 82054 82057 82060 82079 82101 82105 82106 82111 82119 82123 82131 82138 82154 82160 82163 82179 82196 82198 82210 82212 82219 82235 82236 82242 82248 82249 82255 82260 82264 82274 82282 82286 82298 82302 82310 82312 82313 82316 82317 82334 82346 82351 82359 82361 82382 82384 82429 82444 82449 82455 82469 82474 82476 82481 82488 82491 82502 82507 82514 82518 82525 82544 82550 82553 82554 82555 82557 82566 82601 82603 82604 82607 82608 82610 82618 82621 82623 82626 82646 82655 82683 82687 82688 82689 82693 82718 82726 82753 82762 82772 82775 82778 82782 82783 82896 82924 82935 82941 82942 82947 82948 82956 82959 82966 82969 82971 82980 82983 82997 83001 83004 83036 83041 83043 83059 83060 83062 83063 83072 83080 83083 83103 83105 83118 83126 83127 83128 83129 83134 83136 83144 83150 83154 83155 83156 83159 83171 83172 83175 83196 83198 83223 83256 83257 83259 83271 83282 83284 83286 83288 83312 83325 83334 83358 83362 83372 83381 83386 83387 83390 83392 83402 83406 83431 83433 83447 83458 83459 83468 83482 83535 83538 83540 83560 83571 83590 83604 83609 83628 83632 83639 83644 83645 83650 83655 83665 83668 83678 83683 83686 83695 83698 83701 83702 83703 83704 83713 83717 83718 83724 83745 83748 83760 83761 83762 83779 83794 83810 83811 83865 83880 83895 83898 83935 83946 83955 83960 83961 83966 83967 83968 83970 83973 83977 83988 84007 84009 84010 84011 84049 84061 84082 84094 84108 84110 84111 84113 84115 84117 84129 84141 84154 84159 84183 84186 84193 84252 84257 84260 84262 84268 84273 84278 84281 84294 84295 84312 84318 84322 84332 84338 84371 84372 84375 84389 84392 84393 84396 84397 84398 84400 84407 84424 84426 84429 84448 84449 84454 84455 84457 84461 84462 84469 84470 84477 84479 84503 84513 84528 84529 84530 84562 84563 84568 84570 84571 84572 84575 84576 84585 84596 84619 84626 84627 84631 84640 84656 84658 84680 84682 84693 84708 84711 84717 84727 84728 84739 84762 84764 84768 84777 84788 84790 84798 84815 84847 84852 84854 84866 84905 84906 84908 84936 84962 84966 84969 84970 84971 84980 84985 84986 84998 85001 85003 85005 85014 85019 85036 85038 85044 85048 85049 85056 85058 85059 85064 85066 85149 85153 85154 85161 85163 85170 85171 85173 85176 85180 85181 85196 85208 85210 85216 85228 85231 85237 85241 85242 85251 85260 85355 85535 85542 85717 85721 85733 85752 85754 85755 85777 85783 85788 85792 85796 85800 85856 85857 85864 85876 85885 85888 85898 85905 85914 85934 85938 86001 86014 86020 86024 86033 86060 86073 86079 86102 86130 86154 86157 86158 86159 86160 86163 86165 86197 86201 86213 86214 86248 86290 86303 86307 86308 86317 86325 86338 86366 86434 86443 86444 86450 86451 86470 86499 86503 86513 86547 86555 86606 86608 86614 86615 86620 86633 86639 86668 86709 86710 86714 86725 86728 86735 86757 86760 86761 86763 86787 86788 86827 86840 86955 87001 87016 87076 87093 87097 87100 87119 87154 87158 87161 87162 87163 87182 87585 87587 87764 87771 87833 87870 87921 88028 88050 88100 88321 88381 88587 88796 88932 88953 89065 89069 89077 89078 89266 89267 89320 89368 89399 89403 89406 89472 89511 89546 89597 89650 89782 89816 89958 89965 89976 90008 90085 90125 90207 90273 90277 90306 90328 90329 90362 90406 90409 90412 90510 90532 90543 90600 90605 90621 90768 90785 90880 90928 91274 91539 91573 91713 91759 91776 91893 91894 91983 92245 92272 92357 92360 92419 92456 92488 92498 92547 92548 92556 92581 92587 92650 92689 92718 92764 92798 92799 92803 92960 92973 93013 93017 93056 93129 93142 93153 93181 93189 93202 93237 93250 93280 93290 93292 93321 93331 93340 93381 93386 93410 93411 93437 93484 93502 93512 93513 93550 93558 93602 93606 93655 93676 93723 93758 93923 93999 94014 94381 94556 94562 94817 95107 95259 95278 95282 95294 95306 95342 95420 95421 95482 95548 95584 95611 95638 95668 95669 95723 95762 95796 95800 95803 95804 95853 95856 95918 95919 95920 95956 96021 96042 96047 96112 96130 96151 96175 96432 96439 96497 96557 96669 96683 96724 96745 96775 96818 96842 96864 96872 96896 96981 96984 97060 97101 97106 97122 97132 97137 97138 97141 97146 97150 97211 97221 97242 97249 97258 97265 97281 97284 97293 97361 97383 97398 97405 97444 97448 97463 97464 97498 97499 97513 97534 97554 97555 97562 97573 97797 97824 98001 98021 98120 98143 98171 98187 98227 98282 98290 98291 98313 98350 98382 98385 98443 98445 98455 98533 98540 98551 98566 98568 98575 98616 98696 98701 98709 98721 98738 98961 98992 98993 98997 99023 99074 99085 99122 99141 99176 99196 99238 99240 99246 99263 99292 99363 99413 99559 99761 99800 99808 99811 99894 99943 99955 99985 100008 100074 100202 100253 100259 100261 100267 100270 100376 100379 100380 100514 100536 100593 100724 100810 100813 100897 100994 100995 101005 101007 101009 101010 101033 101037 101048 101099 101126 101198 101202 101237 101240 101255 101291 101303 101310 101334 101393 101406 101464 101466 101467 101468 101469 101471 101486 101632 101697 101700 101720 101730 101745 101753 101767 101782 101789 101804 101812 101814 101839 101842 101866 101867 101876 101877 101878 101890 101892 101906 101922 101924 101925 101927 101929 101930 101940 101974 101977 101984 101993 101994 102080 102081 102085 102130 102149 102150 102151 102153 102155 102159 102232 102237 102252 102253 102268 102275 102276 102280 102284 102397 102468 102487 102500 102508 102530 102544 102604 102662 102683 102687 102706 102718 102734 102811 102836 102856 102885 102895 102907 102923 102927 102947 103001 103010 103015 103044 103045 103047 103049 103056 103058 103071 103072 103078 103086 103087 103090 103092 103098 103104 103116 103148 103149 103150 103158 103171 103211 103212 103223 103263 103301 103367 103376 103379 103389 103443 103465 103469 103554 103636 103685 103703 103747 103753 103767 103879 103909 103911 103913 103918 103930 103931 103934 103935 103936 104013 104018 104120 104206 104219 104220 104221 104244 104248 104266 104281 104283 104300 104301 104311 104353 104354 104427 104431 104448 104449 104485 104492 104543 104653 104658 104689 104704 104706 104737 104761 104789 104808 104835 104837 104857 104881 104882 104890 105077 105114 105160 105166 105182 105184 105185 105186 105202 105205 105229 105230 105240 105247 105264 105267 105268 105276 105301 105303 105311 105325 105326 105350 105361 105426 105427 105428 105441 105442 105443 105479 105523 105528 105536 105537 105544 105579 105581 105583 105592 105626 105650 105655 105656 105668 105702 105708 105727 105740 105744 105747 105750 105753 105755 105764 105849 105881 105885 105886 105887 105941 105943 105984 105985 105986 106006 106014 106016 106062 106079 106098 106112 106114 106126 106148 106155 106156 106167 106169 106171 106232 106236 106264 106275 106291 106292 106300 106316 106321 106323 106328 106341 106352 106358 106360 106402 106411 106423 106455 106497 106513 106525 106533 106534 106543 106550 106552 106555 106556 106571 106575 106576 106580 106587 106589 106590 106591 106592 106593 106597 106599 106603 106661 106663 106665 106666 106667 106670 106723 106725 106726 106729 106732 106734 106742 106751 106752 106753 106843 106915 106916 106930 106940 106970 106991 107030 107046 107048 107147 107148 107155 107161 107162 107163 107164 107165 107166 107175 107178 107186 107189 107190 107191 107203 107204 107211 107214 107221 107224 107229 107239 107254 107405 107413 107416 107435 107454 107468 107469 107471 107475 107497 107501 107509 107523 107565 107579 107580 107586 107590 107593 107596 107604 107606 107631 107649 107683 107876 107927 107928 107994 108027 108030 108040 108096 108101 108107 108111 108116 108121 108124 108138 108141 108142 108145 108146 108160 108162 108171 108178 108225 108259 108263 108304 108317 108320 108321 108342 108353 108404 108406 108411 108434 108443 108453 108454 108478 108498 108502 108504 108513 108518 108524 108530 108531 108537 108551 108578 108644 108741 108742 108743 108891 108938 108939 108941 108946 108947 108950 108984 109002 109014 109015 109035 109040 109041 109091 109101 109105 109114 109127 109171 109191 109194 109196 109205 109208 109210 109214 109225 109226 109227 109228 109230 109231 109235 109237 109238 109240 109241 109245 109252 109260 109289 109313 109325 109347 109350 109354 109357 109367 109376 109378 109398 109400 109429 109432 109434 109436 109439 109451 109463 109472 109529 109536 109596 109612 109615 109641 109669 109683 109715 109719 109723 109725 109726 109727 109728 109730 109735 109736 109737 109738 109740 109741 109748 109751 109752 109758 109776 109786 109794 109808 109815 109817 109837 109844 109872 109924 109925 109937 109943 109953 109954 109958 109967 109999 110038 110054 110055 110059 110063 110064 110069 110093 110148 110177 110179 110185 110240 110270 110305 110306 110309 110344 110366 110377 110382 110494 110499 110510 110515 110554 110560 110591 110627 110685 110686 110727 110742 110792 110802 110811 110835 110841 110844 110862 110864 110887 110891 110893 110907 110994 111007 111048 111053 111136 111144 111147 111149 111153 111305 111306 111318 111335 111336 111352 111356 111364 111374 111404 111424 111571 111598 111605 111644 111651 111659 111669 111753 111936 111937 111938 111942 112025 112079 112198 112201 112214 112240 112310 112317 112328 112361 112370 112381 112390 112401 112405 112407 112408 112439 112440 112458 112532 112682 112691 112695 112701 112702 112716 112722 112729 112733 112745 112780 112790 112798 112808 112809 112812 112839 112876 112887 112923 112938 112980 112984 112986 113033 113080 113085 113086 113094 113098 113153 113168 113171 113196 113210 113211 113240 113258 113259 113261 113291 113293 113320 113367 113368 113501 113514 113540 113542 113545 113546 113548 113556 113568 113583 113590 113596 113599 113600 113606 113608 113620 113621 113628 113658 113660 113704 113723 113741 113757 113759 113777 113786 113793 113873 113885 113911 113951 113977 113990 113999 114020 114058 114064 114100 114110 114114 114118 114131 114142 114144 114147 114148 114151 114156 114170 114197 114202 114217 114219 114238 114257 114284 114306 114311 114337 114346 114354 114368 114393 114397 114404 114420 114426 114437 114441 114445 114469 114672 114707 114721 114760 114765 114766 114771 114827 114828 114841 114844 114850 114857 114867 114872 114873 114875 114882 114980 114994 114995 115022 115106 115109 115110 115122 115128 115129 115138 115146 115148 115221 115224 115227 115229 115231 115232 115234 115236 115296 115342 115343 115366 115386 115419 115471 115497 115562 115563 115592 115601 115637 115643 115644 115656 115680 115685 115702 115705 115707 115709 115710 115711 115715 115717 115723 115731 115732 115736 115737 115739 115760 115765 115766 115768 115769 115774 115776 115779 115800 115807 115810 115920 115928 116074 116077 116081 116190 116198 116243 116282 116286 116287 116294 116329 116339 116341 116355 116356 116391 116400 116405 116426 116458 116465 116497 116531 116552 116566 116567 116569 116608 116650 116662 116679 116700 116714 116727 116730 116731 116743 116757 116781 116786 116797 116830 116832 116858 116891 116892 116912 116915 116945 116961 116963 116967 116969 116971 116973 116975 116988 116989 116995 116998 117000 117028 117034 117066 117125 117149 117222 117234 117247 117249 117250 117251 117252 117261 117274 117300 117339 117342 117352 117362 117410 117411 117428 117446 117447 117448 117454 117476 117480 117495 117515 117532 117540 117550 117554 117571 117574 117627 117628 117632 117633 117791 117801 117804 117853 117856 117861 117881 117885 117896 117899 117910 117919 117951 117952 117953 117967 117979 117988 117992 117994 117996 117998 117999 118063 118092 118095 118106 118108 118110 118147 118171 118175 118195 118199 118200 118217 118220 118235 118238 118243 118246 118303 118318 118325 118354 118355 118360 118383 118393 118396 118422 118432 118469 118529 118538 118631 118655 118682 118703 118748 118756 118818 118819 118823 118842 118879 118913 118921 118954 118970 119003 119013 119024 119035 119053 119071 119091 119093 119103 119104 119164 119171 119184 119187 119188 119189 119196 119257 119453 119511 119531 119698 119706 119709 119715 119932 120113 120115 120128 120240 120242 120253 120262 120264 120378 120383 120407 120436 120443 120446 120447 120451 120505 120528 120538 120545 120546 120551 120638 120715 120725 120726 120728 120735 120776 120777 121147 121273 121276 121295 121300 121308 121309 121314 121324 121325 121332 121421 121558 121586 121597 121615 121627 121631 121632 121638 121652 121661 121741 121776 121780 121865 121901 121939 122091 122131 122138 122184 122186 122187 122188 122206 122208 122224 122231 122235 122245 122279 122280 122283 122301 122396 122400 122401 122445 122692 122693 122694 122702 122717 122720 122727 122754 122766 122774 122805 122812 122815 122832 122848 122855 122886 122891 122893 122898 122908 122931 122932 122937 122999 123036 123043 123047 123053 123060 123075 123082 123091 123092 123096 123100 123101 123106 123107 123112 123144 123145 123153 123160 123163 123173 123175 123216 123290 123352 123373 123374 123380 123400 123451 123453 123471 123486 123487 123489 123491 123496 123506 123509 123516 123522 123553 123563 123569 123625 123777 123825 123829 123832 123839 123846 123848 123854 123859 123862 123864 123865 123869 123870 123882 123902 123903 123904 123905 123913 123925 123928 123931 124008 124010 124012 124013 124042 124045 124046 124060 124066 124084 124087 124108 124111 124130 124133 124134 124149 124153 124168 124192 124209 124224 124234 124235 124240 124269 124273 124288 124295 124296 124301 124313 124329 124332 124337 124344 124350 124354 124355 124356 124357 124362 124381 124383 124384 124435 124440 124496 124498 124501 124504 124509 124547 124549 124561 124565 124567 124568 124580 124581 124589 124598 124621 124636 124667 124673 124674 124679 124680 124686 124692 124718 124728 124729 124734 124740 124741 124747 124755 124760 124771 124778 124795 124804 124806 124810 124820 124829 124833 124838 124840 124841 124856 124864 124867 124869 124907 124915 124918 124921 124928 124936 124958 124963 124967 124995 125061 125111 125146 125176 125179 125180 125204 125205 125223 125275 125300 125308 125323 125333 125338 125339 125357 125359 125366 125374 125415 125441 125457 125482 125485 125493 125594 125603 125653 125654 125656 125658 125660 125662 125663 125674 125675 125685 125686 125687 125825 125829 125837 125840 125856 125933 125975 125979 125982 125988 125995 125997 126000 126003 126013 126015 126016 126079 126081 126092 126105 126125 126144 126149 126151 126152 126159 126169 126172 126174 126192 126215 126255 126256 126259 126261 126264 126266 126328 126330 126336 126338 126339 126347 126351 126359 126364 126369 126373 126378 126523 126526 126527 126535 126548 126566 126575 126576 126577 126616 126630 126639 126640 126737 126750 126755 126769 126774 126775 126777 126781 126789 126797 126798 126799 126862 126873 126874 126884 126894 126948 126995 127018 127021 127022 127033 127034 127061 127088 127095 127096 127125 127158 127159 127160 127161 127170 127172 127208 127216 127235 127244 127247 127250 127257 127264 127265 127269 127271 127273 127275 127276 127286 127302 127303 127383 127444 127449 127456 127473 127482 127514 127516 127520 127522 127527 127535 127550 127565 127570 127597 127601 127602 127612 127623 127641 127645 127646 127647 127649 127719 127729 127753 127761 127767 127770 127778 127779 127788 127792 127793 127798 127806 127892 127912 127952 128010 128022 128062 128074 128075 128084 128156 128170 128173 128182 128218 128225 128230 128232 128253 128269 128296 128310 128327 128329 128333 128334 128364 128431 128434 128458 128476 128486 128496 128503 128513 128517 128558 128561 128596 128603 128606 128611 128615 128616 128617 128623 128625 128629 128630 128632 128634 128637 128640 128642 128644 128646 128650 128651 128664 128665 128666 128678 128680 128683 128684 128689 128738 128774 128787 128805 128814 128816 128823 128830 128849 128850 128851 128852 128861 128909 128914 128915 128916 128941 128956 128958 128999 129011 129020 129022 129044 129099 129100 129101 129102 129105 129145 129147 129150 129152 129157 129210 129251 129262 129281 129289 129435 129477 129478 129521 129550 129551 129562 129563 129565 129568 129569 129570 129573 129574 129575 129576 129577 129619 129620 129741 129814 129870 129872 129975 129982 130137 130145 130147 130149 130240 130241 130272 130294 130360 130365 130555 130561 130601 130720 130819 130835 130885 130887 130927 131076 131123 131176 131178 131202 131210 131217 131265 131272 131318 131330 131395 131415 131440 131452 131493 131501 131533 131553 131586 131647 131796 131825 131847 131849 131850 131901 131932 131944 131965 131971 132024 132051 132072 132074 132098 132120 132132 132172 132182 132219 132328 132417 132454 132482 132486 132497 132499 132500 132512 132515 132518 132526 132531 132585 132590 132628 132637 132640 132641 132651 132719 132764 132768 132776 132779 132785 132791 132795 132801 132805 132807 132815 132817 132818 132831 132835 132849 132860 132868 132869 132884 132886 132891 132901 132917 132991 133000 133009 133044 133074 133075 133102 133107 133112 133182 133462 133464 133468 133599 133602 133634 133660 133677 133689 133771 133776 133777 133778 133779 133781 133804 133830 133838 133840 133842 133886 133949 133951 133979 133982 133983 133987 133988 133991 133997 134026 134027 134035 134040 134070 134078 134081 134083 134184 134186 134218 134223 134250 134252 134254 134258 134306 134337 134338 134344 134346 134374 134394 134398 134403 134404 134413 134420 134421 134427 134434 134435 134499 134502 134564 134566 134595 134649 135099 135166 135181 135213 135219 135262 135306 135557 135607 135676 135693 135695 135696 135701 135703 135721 135724 135745 135827 135829 135837 135845 135862 135863 135868 135869 135918 135920 135936 135937 135946 136074 136077 136089 136095 136100 136103 136106 136123 136139 136140 136160 136161 136192 136206 136397 136398 136454 136549 136568 136571 136572 136586 136591 136602 136603 136604 136607 136646 136670 136733 136734 136737 136842 136862 136878 136939 136940 136941 136955 136960 136973 136974 136992 137001 137018 137022 137024 137027 137028 137033 137037 137071 137072 137073 137074 137076 137077 137095 137098 137108 137120 137146 137149 137158 137162 137163 137168 137214 137247 137248 137287 137288 137301 137308 137312 137328 137334 137378 137416 137440 137461 137516 137674 137699 137706 137709 137734 137736 137743 137757 137758 137761 137791 137794 137795 137802 137823 137834 137835 137837 137840 137841 137866 137873 137903 137904 137909 137912 137914 137924 137970 137983 137984 137992 137996 137997 138002 138003 138015 138020 138025 138036 138041 138044 138045 138070 138188 138210 138211 138212 138218 138256 138257 138301 138304 138305 138371 138377 138404 138462 138491 138506 138507 138511 138593 138613 138619 138628 138632 138636 138640 138661 138666 138667 138693 138698 138750 139005 139006 139007 139015 139055 139059 139161 139254 139258 139426 139430 139449 139468 139485 139494 139497 139560 139584 139591 139597 139604 139638 139649 139650 139655 139656 139663 139690 139691 139697 139703 139706 139713 139718 139739 139745 139752 139753 139756 139764 139772 139777 139778 139780 139781 139782 139783 139792 139797 139801 139802 139803 139810 139815 139816 139820 139821 139822 139901 139912 139919 139975 139979 139980 140012 140015 140016 140029 140129 140134 140139 140140 140146 140147 140167 140175 140178 140182 140193 140230 140244 140267 140292 140304 140317 140320 140337 140338 140354 140355 140357 140362 140363 140371 140373 140410 140447 140482 140575 140581 140591 140593 140595 140610 140633 140637 140725 140730 140733 140735 140741 140745 140746 140749 140750 140752 140753 140754 140756 140757 140759 140762 140765 140768 140770 140772 140773 140775 140776 140777 140781 140783 140786 140791 140795 140796 140805 140833 140837 140872 140874 140876 140877 140878 140881 140887 140888 140889 140902 140923 140924 140925 140935 140936 140947 140948 140949 140975 140976 140994 140996 141010 141013 141014 141016 141026 141068 141073 141098 141099 141102 141103 141105 141111 141118 141122 141123 141125 141197 141198 141199 141200 141217 141224 141298 141313 141364 141365 141367 141369 141406 141418 141434 141436 141485 141494 141514 141524 141572 141597 141611 141618 141619 141640 141642 141648 141650 141658 141661 141667 141678 141689 141695 141702 141707 141712 141716 141722 141729 141744 141746 141753 141756 141757 141763 141783 141792 141794 141795 141814 141815 141823 141824 141825 141827 141877 141886 141914 141951 141970 141978 141981 141982 141989 141991 141992 141993 141994 141995 142004 142102 142157 142160 142215 142221 142223 142278 142281 142300 142312 142313 142329 142339 142340 142362 142391 142395 142397 142400 142402 142426 142433 142436 142447 142453 142456 142469 142475 142476 142479 142492 142501 142509 142510 142515 142516 142522 142528 142529 142540 142542 142544 142545 142546 142547 142548 142552 142553 142554 142562 142570 142572 142573 142587 142601 142613 142634 142638 142641 142642 142643 142710 142711 142747 142767 142777 142785 142801 142802 142804 142805 142816 142825 142830 142831 142834 142837 142846 142848 142851 142852 142853 142862 142865 142866 142872 142874 142876 142877 142880 142881 142882 142888 142898 142900 142905 142910 142914 142915 142916 142917 142920 142928 142931 142971 142988 142991 143001 143002 143008 143094 143108 143109 143112 143183 143190 143192 143195 143197 143198 143266 143270 143346 143357 143385 143391 143393 143423 143437 143441 143450 143454 143455 143536 143537 143538 143559 143598 143599 143635 143637 143640 143641 143689 143695 143697 143709 143780 143811 143987 143993 144004 144059 144107 144119 144126 144127 144153 144165 144168 144197 144198 144202 144205 144207 144208 144211 144223 144237 144244 144270 144276 144287 144291 144292 144293 144296 144299 144300 144345 144413 144415 144416 144417 144460 144486 144504 144540 144544 144550 144567 144568 144576 144790 144856 144913 144916 144939 144990 145009 145022 145055 145084 145092 145100 145108 145110 145111 145149 145152 145155 145160 145162 145183 145184 145194 145195 145204 145208 145217 145239 145282 145298 145299 145300 145323 145329 145330 145334 145348 145377 145382 145392 145393 145394 145395 145408 145416 145418 145425 145435 145460 145522 145526 145545 145556 145559 145578 145581 145613 145616 145617 145625 145627 145629 145637 145670 145673 145687 145688 145691 145745 145753 145754 145898 145904 145918 145923 145931 145932 145939 145942 145943 145958 145964 145968 145974 145975 145981 146011 146015 146020 146147 146170 146177 146178 146196 146205 146206 146215 146224 146226 146231 146238 146247 146311 146312 146329 146337 146361 146366 146378 146398 146402 146413 146421 146433 146436 146437 146439 146512 146540 146541 146549 146558 146562 146566 146608 146614 146615 146616 146627 146637 146644 146645 146692 146695 146697 146719 146720 146730 146732 146783 146789 146791 146797 146802 146829 146836 146842 146843 146857 146868 146876 146883 146904 146923 146940 146951 146952 146953 146954 146956 147003 147008 147036 147037 147088 147092 147106 147131 147161 147173 147192 147193 147238 147246 147254 147266 147380 147441 147448 147454 147461 147462 147466 147471 147481 147482 147483 147485 147508 147513 147531 147541 147559 147584 147585 147594 147595 147599 147607 147733 147741 147745 147747 147748 147753 147754 147755 147760 147764 147769 147771 147794 147802 147849 147850 147864 147866 147932 147933 147942 147987 147998 148052 148083 148084 148089 148127 148128 148139 148165 148179 148184 148192 148197 148212 148274 148275 148279 148286 148291 148293 148307 148323 148324 148330 148338 148345 148349 148360 148369 148373 148379 148389 148398 148403 148405 148437 148463 148464 148466 148474 148475 148485 148492 148493 148505 148539 148576 148582 148637 148638 148645 148661 148667 148668 148669 148672 148682 148684 148689 148708 148709 148711 148719 148747 148751 148760 148770 148771 148777 148781 148782 148802 148819 148836 148842 148854 148859 148866 148879 148880 148884 148887 148888 148897 148932 148938 148942 148944 148945 148948 148955 148970 148973 149018 149019 149031 149067 149069 149072 149073 149074 149075 149076 149077 149087 149088 149100 149184 149185 149186 149187 149192 149214 149232 149256 149304 149305 149313 149322 149324 149341 149355 149356 149368 149371 149381 149389 149396 149417 149421 149426 149429 149474 149476 149477 149489 149491 149492 149495 149496 149500 162331 162344 162373 162445 162466 162480 162484 162574 162680 162684 162685 162712 162723 162781 162787 162792 162892 162894 162898 162904 162914 162921 162922 162932 162938 162939 162948 162958 162966 162967 162973 162981 162983 162984 162986 162988 162990 162999 163000 163017 163018 163019 163026 163036 163040 163042 163050 163055 163056 163065 163067 163070 163075 163076 163079 163081 163082 163084 163091 163095 163099 163100 163115 163133 163137 163142 163143 163146 163147 163149 163150 163154 163159 163171 163189 163223 163240 163242 163291 163299 163305 163308 163353 163395 163396 163411 163433 163438 163489 163518 163543 163557 163558 163562 163564 163573 163588 163592 163605 163624 163640 163653 163657 163668 163671 163679 163688 163697 163698 163702 163703 163712 163721 163732 163762 163765 163772 163807 163815 163816 163824 163834 163838 163840 163842 163850 163891 163906 163908 163917 163934 163948 163969 163981 163983 163995 164003 164007 164010 164056 164061 164064 164077 164084 164109 164129 164151 164155 164158 164168 164178 164183 164197 164200 164210 164212 164228 164235 164237 164241 164246 164247 164250 164262 164273 164282 164285 164286 164290 164299 164301 164303 164304 164315 164317 164323 164324 164329 164345 164386 164393 164403 164406 164407 164409 164413 164421 164488 164489 164491 164492 164504 164538 164541 164543 164550 164553 164556 164562 164565 164570 164608 164620 164622 164629 164643 164645 164650 164665 164675 164677 164697 164698 164700 164745 164747 164766 164773 164776 164814 164834 164835 164843 164847 164858 164859 164869 164872 164875 164880 164902 164915 164919 164931 164948 164954 164955 164997 165002 165006 165009 165023 165032 165036 165060 165069 165076 165077 165095 165110 165113 165114 165118 165132 165153 165161 165168 165169 165187 165193 165203 165214 165215 165216 165220 165234 165264 165265 165266 165272 165277 165279 165283 165288 165290 165296 165297 165302 165312 165319 165321 165323 165376 165380 165383 165396 165413 165414 165426 165431 165440 165444 165457 165462 165463 165465 165469 165477 165479 165497 165498 165501 165512 165521 165525 165530 165539 165540 165541 165552 165554 165555 165565 165586 165590 165595 165596 165602 165603 165605 165616 165621 165630 165631 165653 165662 165695 165703 165736 165747 165750 165780 165792 165795 165796 165806 165809 165814 165839 165900 165901 165921 165951 165961 166025 166031 166064 166091 166113 166191 166194 166195 166201 166208 166213 166237 166258 166273 166353 166382 166387 166436 166455 166469 166479 166487 166508 166512 166524 166526 166527 166532 166545 166550 166551 166552 166583 166673 166684 166745 166747 166767 166835 166848 166873 166876 166898 166904 166932 166936 166939 166945 166978 166979 167029 167050 167057 167105 167106 167214 167250 167256 167266 167279 167288 167289 167339 167348 167403 167434 167448 167451 167491 167533 167555 167560 167561 167566 167583 167598 167603 167620 167682 167710 167715 167716 167723 167741 167748 167754 167759 167761 167769 167813 167856 167858 167914 167927 167931 167964 168043 168044 168106 168177 168197 168207 168211 168213 168247 168265 168296 168356 168377 168388 168391 168466 168471 168483 168533 168534 168535 168601 168602 168613 168706 168714 168741 168745 168749 168757 168759 168777 168829 168853 168876 168878 168936 168943 168957 168961 169004 169018 169057 169121 169126 169222 169226 169255 169295 169300 169307 169338 169339 169432 169512 169526 169568 169584 169614 169615 169616 169618 169653 169681 169691 169696 169698 169700 169710 169734 169768 169771 169798 169989 169991 170006 170062 170086 170091 170138 170142 170236 170252 170258 170286 170300 170315 170337 170356 170358 170360 170396 170432 170433 170451 170470 170471 170531 170545 170579 170603 170614 170633 170680 170681 170690 170692 170715 170716 170741 170744 170814 170855 170957 170968 170980 170987 171016 171019 171023 171028 171032 171041 171053 171075 171107 171153 171202 171208 171231 171266 171268 171282 171284 171296 171302 171338 171342 171346 171348 171362 171364 171368 171378 171393 171447 171456 171458 171460 171462 171476 171486 171489 171554 171616 171641 171678 171681 171689 171769 171853 171886 171946 171953 171960 171970 172006 172021 172048 172065 172161 172200 172217 172218 172253 172334 172431 172434 172473 172493 172518 172521 172595 172596 172621 172658 172670 172710 172722 172748 172752 172825 172827 172830 172839 172867 172907 172909 172919 172921 172926 172965 172986 173050 173071 173074 173076 173083 173095 173117 173130 173135 173164 173168 173176 173186 173191 173197 173203 173205 173234 173239 173244 173332 173360 173377 173415 173436 173440 173449 173462 173511 173513 173519 173559 173591 173623 173625 173627 173635 173645 173681 173727 173792 173836 173850 173872 174016 174026 174033 174069 174078 174091 174112 174129 174156 174162 174171 174184 174195 174198 174200 174204 174207 174271 174279 174281 174341 174425 174426 174461 174475 174490 174492 174494 174499 174513 174540 174598 174645 174676 174725 174741 174749 174806 174825 174833 174876 174878 174883 174903 174906 174936 174958 175000 175022 175035 175040 175041 175058 175090 175091 175103 175156 175157 175158 175162 175163 175165 175774 175776 175777 175788 175790 175793 175804 175805 175813 175817 175820 175832 175846 175882 175891 175893 175922 175964 178473 178487 178501 178525 178528 178579 178595 178596 178624 178626 178627 178638 178677 178680 178681 178696 178697 178698 178700 178705 178731 178737 178756 178765 178778 178785 178789 178819 178820 178833 178845 178870 178871 178880 180108 183526 202474 205658 205704 205739 205756 205758 205795 205807 205812 205840 205844 205850 205860 205862 205863 205909 205914 205915 205957 205976 205979 205982 205983 206008 206027 206028 206029 206030 206046 206126 206192 206359 206599 206785 206788 206794 206800 206810 206816 206828 206861 206863 206864 206878 206883 206886 206887 206892 206895 206907 206908 206910 206924 206926 206929 206932 206941 206944 206953 206954 206963 206975 206978 206979 206989 206992 206999 207004 207005 207011 207012 207015 207016 207028 207036 207039 207044 207052 207055 207073 207090 207096 207115 207147 207224 207235 207281 207345 207410 207446 207477 207481 207495 207496 207497 207504 207512 207549 207557 207562 207591 207592 207622 207628 207636 207647 207661 207678 207682 207683 207685 207693 207712 207726 207744 207746 207757 207761 207773 207777 207778 207800 207812 207814 207819 207829 207834 207856 207861 207871 207881 207892 207898 207907 207912 207919 207925 207932 207934 207957 207961 207972 208026 208031 208058 208073 208076 208084 208085 208102 208138 208162 208173 208191 208199 208216 208224 208225 208243 208245 208246 208247 208248 208252 208253 208283 208287 208308 208311 208317 208329 208332 208350 208363 208371 208373 208374 208378 208383 208386 208387 208401 208403 208405 208407 208418 208428 208446 208463 208472 208479 208483 208548 208552 208553 208560 208562 208563 208564 208573 208579 208594 208598 208605 208643 208651 208702 208704 208709 208726 208746 208751 208752 208763 208766 208770 208778 208779 208781 208801 208803 208810 208814 208816 208821 208837 208842 208855 208867 208898 208925 208949 208950 208962 208987 208998 208999 209037 209042 209060 209063 209085 209088 209090 209095 209106 209110 209111 209116 209117 209120 209131 209132 209135 209137 209143 209149 209150 209154 209166 209168 209182 209201 209202 209210 209211 209213 209227 209241 209249 209261 209262 209263 209269 209280 209297 209309 209315 209337 209363 209366 209367 209368 209378 209395 209396 209430 209453 209463 209494 209499 209508 209540 209569 209582 209602 209619 209639 209646 209655 209660 209742 209761 209762 209812 209833 209846 209850 209869 209891 209892 209925 209931 209936 209986 209990 210064 210106 210141 210227 210242 210243 210244 210355 210362 210364 210380 210403 210405 210442 210460 210537 210545 210574 210617 210621 210657 210840 211001 211013 211039 211046 211049 211054 211058 211113 211150 211223 211264 211286 211293 211294 211309 211358 211371 211388 211424 211503 211543 211628 211640 211641 211676 211684 211718 211782 211789 211821 211823 211890 211973 212021 212035 212036 212066 212146 212182 212193 212245 212254 212255 212293 212295 212301 212311 212343 212364 212374 212383 212384 212385 212386 212398 212399 212417 212451 212457 212482 212510 212623 212626 212652 212815 212819 212863 212870 212877 212933 212943 212972 212997 213008 213064 213065 213086 213114 213125 213128 213165 213213 213231 213257 213295 213303 213307 213308 213325 213337 213379 213386 213404 213408 213469 213534 213540 213545 213555 213558 213579 213585 213609 213654 213661 213664 213766 213769 213771 213799 213800 213803 213809 213844 213877 213914 213995 213997 214017 214088 214092 214093 214099 214105 214131 214177 214182 214185 214192 214194 214206 214255 214302 214305 214347 214362 214391 214396 214420 214428 214439 214490 214503 214529 214572 214575 214582 214617 214619 214660 214682 214745 214753 214789 214827 214828 214830 214892 214894 214900 214919 214920 214956 214958 215018 215023 215051 215087 215093 215136 215145 215172 215193 215196 215217 215263 215266 215310 215321 215365 215522 215568 215583 215601 215604 215621 215623 215631 215634 215706 215737 215780 215784 215791 215830 215862 215863 215895 215906 215917 215922 215943 215971 216046 216061 216076 216139 216178 216187 216207 216210 216266 216334 216350 216352 216371 216377 216379 216381 216396 216414 216492 216524 216525 216574 216616 216660 216693 216714 216784 216814 216823 216856 216921 216979 216995 217038 217070 217081 217087 217097 217128 217147 217222 217257 217277 217300 217313 217337 217385 217387 217388 217476 217517 217543 217591 217595 217598 217627 217645 217669 217779 217782 217792 217863 217873 217937 217941 217961 217992 217995 218000 218003 218058 218068 218069 218113 218206 218309 218316 218405 218459 218462 218499 218501 218502 218555 218556 218561 218588 218591 218593 218595 218596 218605 218636 218638 218671 218761 218946 218955 219014 219064 219071 219078 219095 219102 219132 219149 219194 219236 219246 219261 219269 219275 219322 219333 219336 219344 219402 219403 219405 219455 219458 219493 219497 219503 219504 219505 219598 219638 219668 219678 219688 219707 219715 219734 219736 219738 219749 219776 219808 219810 219822 219836 219845 219846 219871 219897 219907 219947 220014 220026 220161 220163 220227 220281 220325 220382 220401 220419 220439 220578 220585 220596 220778 220794 220821 220832 220836 220849 220857 220861 220873 220874 220875 220892 220893 220894 220918 221793 236509 236556 237406 237408 237417 237424 237736 242200 242240 242249 242265 242293 242369 242376 242395 242396 242418 242430 242447 242451 242515 242517 242518 242522 242523 242525 242532 242544 242546 242547 242562 242564 242580 242864 242947 242948 242950 243198 243203 243208 243209 243221 243222 243230 243233 243237 243244 243247 243257 243264 243266 243273 243281 243286 243287 243300 243329 243337 243348 243349 243356 243360 243362 243365 243370 243384 243386 243390 243392 243394 243396 243402 243406 243413 243431 243439 243442 243449 243450 243454 243464 243471 243474 243485 243491 243504 243511 243521 243560 243665 243666 243673 243674 243736 243746 243747 243804 243825 243834 243846 243852 243901 243902 243923 243946 244012 244060 244073 244104 244128 244155 244160 244167 244169 244171 244221 244243 244254 244268 244273 244275 244278 244300 244314 244315 244332 244337 244349 244359 244361 244365 244367 244389 244391 244392 244399 244404 244422 244436 244456 244460 244469 244492 244510 244511 244514 244518 244553 244557 244580 244593 244602 244623 244636 244640 244646 244656 244701 244705 244706 244718 244731 244748 244752 244753 244778 244779 244788 244790 244792 244799 244815 244821 244822 244831 244833 244834 244847 244851 244854 244861 244867 244897 244900 244901 244902 244911 244950 244958 244959 244960 244963 244965 244976 244982 244999 245023 245032 245037 245038 245045 245048 245059 245072 245078 245101 245102 245118 245133 245154 245155 245158 245162 245169 245171 245173 245179 245193 245194 245203 245205 245206 245210 245212 245216 245217 245227 245246 245270 245296 245303 245329 245337 245353 245394 245397 245402 245410 245414 245431 245449 245490 245498 245508 245511 245514 245519 245521 245524 245531 245534 245560 245561 245581 245589 245614 245626 245633 245634 245646 245671 245683 245690 245696 245701 245707 245713 245720 245738 245763 245769 245775 245776 245778 245792 245794 245806 245816 245817 245820 245840 245862 245909 245925 245930 245950 245956 245963 245985 245997 246012 246020 246023 246040 246043 246047 246049 246066 246070 246075 246136 246154 246162 246180 246184 246200 246201 246203 246221 246226 246228 246233 246237 246283 246289 246290 246298 246301 246302 246313 246318 246328 246330 246333 246335 246337 246348 246349 246396 246408 246413 246415 246420 246421 246444 246584 246596 246631 246644 246689 246692 246719 246836 246837 246859 246889 246904 246905 246913 246933 246972 246977 246990 247022 247025 247035 247116 247132 247133 247137 247144 247153 247161 247194 247209 247229 247230 247246 247295 247315 247317 247348 247458 247512 247529 247655 247670 247683 247801 247900 247952 247955 248017 248060 248063 248065 248069 248118 248120 248121 248122 248151 248157 248207 248284 248290 248293 248347 248392 248424 248452 248457 248465 248500 248502 248503 248515 248521 248571 248572 248650 248655 248712 248718 248719 248727 248763 248833 248863 248874 248882 248896 249002 249051 249080 249088 249096 249108 249135 249191 249289 249301 249305 249424 249452 249458 249470 249480 249497 249507 249527 249529 249534 249579 249582 249631 249639 249643 249644 249646 249655 249661 249678 249679 249680 249681 249684 249702 249733 249767 249786 249823 249830 249851 249902 249904 249928 249930 249943 249949 249963 249964 249967 250021 250026 250032 250067 250068 250085 250116 250143 250207 250237 250238 250256 250258 250276 250279 250291 250312 250317 250320 250350 250351 250359 250410 250426 250430 250452 250459 250460 250464 250474 250476 250478 250480 250484 250504 250505 250511 250512 250542 250545 250550 250624 250632 250646 250651 250699 250717 250723 250727 250754 250761 250763 250771 250780 250789 250791 250796 250798 250803 250829 250836 250868 250882 250883 250888 250954 250958 250975 250981 251014 251092 251128 251132 251175 251176 251178 251223 251228 251229 251243 251248 251249 251259 251261 251262 251311 251313 251321 251324 251353 251368 251399 251402 251412 251414 251429 251431 251437 251454 251458 251461 251504 251542 251546 251548 251550 251552 251635 251639 251658 251672 251673 251676 251693 251706 251741 251757 251778 251800 251801 251802 251822 251897 251902 251906 251942 251948 251952 251958 251976 251991 252010 252012 252013 252014 252018 252020 252077 252100 252147 252149 252187 252219 252220 252282 252287 252300 252303 252327 252337 252345 252346 252352 252389 252390 252393 252395 252416 252417 252419 252450 252453 252468 252469 252489 252501 252503 252505 252517 252523 252584 252594 252621 252625 252636 252643 252644 252654 252657 252662 252664 252668 252731 252733 252746 252749 252767 252774 252786 252797 252802 252819 252826 252870 252873 252883 252885 252896 252903 252916 252927 252928 253007 253008 253061 253063 253066 253068 253146 253148 253159 253184 253191 253205 253206 253211 253216 253230 253249 253258 253321 253336 253355 253386 253391 253432 253468 253497 253507 253530 253561 253562 253565 253582 253594 253599 253603 253604 253638 253641 253651 253668 253704 253746 253747 253748 253754 253762 253767 253775 253787 253813 253815 253821 253858 253884 253888 253898 253899 253908 253913 253914 253918 253921 253922 253951 253953 253990 253993 253994 254041 254042 254044 254057 254071 254085 254093 254128 254130 254153 254186 254198 254211 254245 254254 254262 254263 254265 254276 254360 254362 254374 254442 254462 254469 254470 254471 254476 254480 254481 254493 254501 254505 254507 254512 254513 254553 254555 254576 254579 254582 254588 254617 254657 254664 254665 254667 254672 254678 254690 254718 254734 254750 254752 254772 254776 254777 254779 254783 254787 254815 254818 254823 254824 254892 254898 254906 254908 254921 254939 254961 254968 255027 255093 255095 255102 255114 255122 255203 255213 255214 255216 255247 255258 255263 255286 255288 255290 255292 255295 255302 255349 255350 255365 255366 255368 255372 255374 255396 255432 255464 255467 255470 255473 255503 255526 255538 255574 255583 255592 255597 255599 255611 255615 255621 255635 255640 255649 255661 255663 255737 255738 255778 255798 255817 255831 255832 255854 255879 255888 255908 255911 255914 255915 255919 255922 255940 255975 255988 255989 256006 256037 256042 256052 256058 256059 256089 256091 256092 256099 256130 256149 256163 256164 256172 256181 256185 256190 256202 256213 256216 256223 256225 256242 256285 256330 256331 256338 256384 256393 256402 256431 256437 256444 256450 256494 256498 256527 256534 256547 256549 256560 256561 256568 256598 256634 256677 256694 256695 256708 256713 256741 256763 256766 256778 256781 256804 256811 256830 256852 256854 256855 256863 256864 256865 256866 256893 256906 256924 256927 256937 256949 256954 256961 256962 256967 256984 257001 257027 257029 257042 257044 257048 257083 257091 257099 257128 257130 257136 257168 257170 257171 257175 257177 257190 257241 257267 257269 257277 257278 257283 257305 257309 257315 257343 257354 257367 257368 257370 257371 257375 257380 257385 257411 257435 257479 257499 257505 257575 257586 257654 257665 257667 257672 257710 257712 257715 257716 257751 257756 257814 257864 257957 257975 258026 258062 258108 258113 258114 258138 258230 258232 258233 258240 258243 258258 258259 258270 258273 258277 258305 258314 258350 258378 258420 258423 258434 258447 258459 258466 258499 258506 258507 258543 258560 258561 258568 258633 258655 258657 258696 258697 258699 258708 258716 258718 258719 258756 258769 258803 258805 258809 258924 258939 258986 258989 258997 259017 259040 259054 259056 259077 259086 259089 259103 259122 259170 259172 259174 259176 259178 259180 259186 259206 259255 259303 259413 259423 259505 259519 259526 259534 259565 259602 259606 259630 259638 259643 259645 259651 259659 259679 259680 259685 259706 259714 259715 259753 259754 259833 259891 259914 259952 259969 259971 260008 260030 260053 260065 260124 260160 260181 260182 260195 260258 260288 260297 260316 260318 262960 278766 278789 279151 279175 279284 280036 280041 280123 280485 280509 280858 280970 281170 281209 281232 281309 281398 281563 281603 281666 281671 281727 281733 282037 282043 282044 282050 282051 282052 282053 282070 282071 282072 282073 282081 282083 282097 282099 282100 282103 282104 282106 282107 282108 282119 282123 282131 282133 282139 282140 282143 282145 282146 282147 282150 282151 282152 282162 282164 282169 282179 282181 282190 282194 282195 282198 282210 282211 282213 282215 282217 282221 282223 282227 282231 282232 282233 282236 282238 282239 282248 282249 282252 282253 282259 282261 282268 282269 282274 282275 282278 282284 282285 282289 282292 282293 282297 282298 282301 282302 282303 282304 282316 282320 282321 282327 282330 282331 282336 282337 282356 282359 282361 282362 282365 282367 282369 282370 282372 282378 282386 282388 282391 282398 282482 282531 282708 282711 282713 282719 282720 282727 282730 282737 282738 282748 282760 282766 282774 282775 282788 282792 282802 282813 282815 282838 282845 282851 282853 282884 282885 282908 282915 282924 282925 282932 282946 282961 282984 283001 283009 283013 283025 283030 283041 283090 283094 283096 283115 283138 283140 283149 283184 283243 283271 283314 283323 283408 283414 283418 283420 283445 283454 283528 283640 283663 283671 283675 283694 283696 283698 283703 283741 283766 283803 283817 283828 283841 283862 283871 283872 283928 283953 283969 283980 284027 284073 284075 284098 284124 284126 284138 284145 284211 284219 284229 284234 284272 284294 284295 284323 284357 284378 284397 284407 284410 284448 284465 284517 284518 284519 284559 284562 284575 284581 284593 284597 284610 284613 284619 284660 284663 284664 284668 284673 284674 284685 284703 284705 284711 284715 284720 284728 284747 284749 284783 284799 284815 284825 284852 284866 284892 284900 284906 284941 284971 284980 284981 284990 284991 285019 285022 285028 285036 285055 285072 285082 285115 285122 285130 285176 285189 285207 285209 285211 285219 285253 285260 285300 285309 285315 285360 285390 285467 285476 285477 285478 285492 285509 285512 285525 285532 285540 285548 285570 285590 285608 285634 285635 285636 285649 285669 285681 285684 285690 285719 285722 285723 285744 285753 285770 285776 285799 285800 285809 285819 285852 285885 285916 285921 285965 285983 285984 285994 285996 286000 286008 286036 286050 286051 286083 286087 286095 286097 286098 286106 286133 286142 286162 286166 286171 286185 286186 286190 286194 286198 286224 286227 286229 286241 286244 286259 286260 286263 286265 286266 286267 286271 286272 286299 286313 286329 286335 286366 286394 286401 286402 286424 286425 286426 286429 286453 286469 286475 286502 286522 286525 286527 286552 286563 286567 286577 286582 286592 286627 286650 286651 286671 286677 286693 286708 286710 286711 286737 286738 286746 286769 286787 286793 286802 286807 286812 286819 286854 286889 286890 286908 286919 286920 286921 286922 286925 286932 286956 286969 286972 286979 286982 286988 286990 286997 287041 287103 287130 287131 287148 287155 287163 287203 287204 287237 287238 287259 287262 287269 287274 287279 287296 287306 287374 287385 287390 287434 287438 287444 287464 287495 287523 287527 287529 287533 287564 287566 287567 287573 287610 287611 287621 287626 287628 287635 287679 287700 287702 287703 287707 287712 287713 287721 287722 287766 287805 287806 287816 287823 287824 287854 287883 287899 287926 287937 287939 287964 287977 288007 288008 288048 288063 288126 288128 288145 288156 288165 288170 288171 288222 288234 288262 288267 288271 288315 288321 288322 288333 288336 288343 288369 288443 288476 288493 288495 288503 288504 288507 288537 288544 288554 288577 288596 288639 288656 288657 288663 288688 288693 288709 288748 288792 288850 288949 289042 289053 289064 289067 289116 289164 289180 289188 289195 289236 289246 289258 289294 289297 289310 289313 289314 289316 289327 289329 289335 289338 289361 289363 289364 289423 289428 289432 289434 289435 289463 289465 289468 289475 289479 289485 289541 289542 289543 289561 289588 289593 289594 289613 289616 289635 289677 289702 289742 289779 289781 289784 289867 289869 289885 289887 289889 289918 289919 289946 289953 289969 289993 290013 290020 290026 290040 290046 290090 290122 290131 290133 290135 290140 290156 290160 290188 290196 290200 290215 290271 290273 290291 290327 290385 290395 290397 290419 290429 290448 290457 290514 290561 290569 290588 290603 290605 290609 290620 290641 290688 290738 290795 290799 290807 290846 290855 290882 290883 290931 290938 290939 290999 291010 291016 291127 291161 291163 291171 291216 291258 291259 291301 291322 291334 291360 291369 291384 291400 291416 291429 291448 291457 291459 291476 291482 291491 291493 291499 291500 291503 291505 291508 291509 291519 291541 291578 291600 291658 291663 291692 291708 291711 291713 291721 291727 291728 291729 291735 291761 291771 291772 291781 291806 291813 291881 291968 291979 291982 291985 291986 291994 291997 291999 292001 292025 292055 292057 292061 292077 292097 292100 292124 292126 292184 292288 292306 292314 292330 292346 292349 292350 292351 292399 292442 292456 292458 292459 292475 292481 292505 292533 292534 292567 292593 292594 292596 292605 292701 292706 292707 292722 292726 292727 292750 292759 292784 292786 292818 292836 292840 292855 292873 292881 292891 292893 292918 292937 292943 292962 292964 292968 292972 292997 293029 293036 293038 293044 293096 293118 293136 293137 293177 293183 293257 293258 293259 293283 293339 293348 293352 293363 293368 293451 293479 293482 293501 293505 293507 293520 293550 293591 293611 293626 293628 293629 293630 293634 293636 293638 293640 293641 293658 293660 293663 293666 293675 293680 293744 293751 293753 293813 293818 293820 293821 293824 293834 293846 293857 293889 293939 293944 293984 294000 294004 294010 294011 294020 294037 294055 294065 294098 294099 294141 294147 294165 294167 294177 294178 294216 294252 294254 294260 294261 294285 294286 294310 294317 294329 294338 294340 294360 294374 294377 294387 294391 294395 294401 294405 294417 294418 294419 294422 294425 294427 294429 294435 294450 294470 294490 294495 294504 294544 294553 294557 294561 294562 294579 294582 294595 294622 294631 294637 294639 294709 294713 294732 294734 294739 294751 294756 294762 294766 294794 294804 294820 294823 294825 294844 294861 294895 294902 294911 294916 294936 294983 294985 295086 295088 295108 295111 295113 295120 295140 295149 295158 295212 295215 295217 295279 295287 295379 295380 295396 295413 295423 295428 295429 295445 295450 295451 295452 295466 295470 295522 295560 295583 295590 295598 295603 295606 295608 295617 295624 295633 295644 295649 295661 295707 295715 295718 295721 295732 295740 295742 295744 295803 295805 295838 295841 295842 295843 295856 295934 295936 295955 295988 295996 295998 296076 296079 296096 296098 296110 296117 296122 296138 296142 296166 296167 296190 296193 296208 296210 296212 296215 296238 296244 296275 296288 296291 296292 296296 296302 296325 296329 296332 296334 296337 296344 296393 296400 296403 296421 296454 296469 296471 296488 296500 296502 296503 296506 296509 296555 296565 296567 296636 296656 296657 296659 296679 296699 296702 296708 296794 296800 296806 296896 296908 296921 296925 296960 296962 296963 296998 296999 297000 297002 297005 297007 297035 297049 297076 297096 297107 297112 297116 297120 297130 297132 297134 297137 297151 297212 297244 297247 297253 297271 297278 297290 297335 297338 297346 297421 297444 297450 297451 297452 297495 297501 297536 297537 297540 297541 297542 297601 297603 297611 297619 297627 297629 297631 297635 297640 297641 297644 297657 297658 297661 297666 297685 297688 297708 297717 297722 297727 297766 297791 297795 297801 297830 297836 297844 297847 297860 297897 297914 297934 297939 297958 297960 297964 297968 298026 298033 298067 298080 298083 298085 298100 298109 298125 298130 298141 298151 298152 298156 298160 298166 298194 298223 298224 298226 298239 298287 298289 298290 298346 298379 298390 298419 298421 298424 298437 298440 298441 298456 298459 298463 298471 298475 298476 298501 298549 298558 298571 298575 298592 298616 298619 298634 298657 298658 298669 298681 298682 298701 298704 298715 298726 298747 298771 298815 298824 298826 298831 298834 298838 298853 298857 298859 298863 298874 298881 298952 298981 298992 299010 299046 299069 299074 299103 299147 299149 299177 299191 299219 299223 299234 299237 299270 299273 299275 299293 299316 299324 299339 299353 299365 299378 299410 299411 299413 299415 299479 299535 299558 299588 299602 299695 299696 299703 299718 299721 299748 299749 299755 299772 299790 299792 299817 299823 299904 299919 299924 299931 299939 299965 299998 299999 300008 300063 300120 300122 300130 300132 300147 300148 300151 300161 300167 300170 300199 300213 300215 300220 300225 300226 300227 300232 300239 300286 300287 300296 300335 300346 300351 300404 300452 300505 300544 300565 300578 300627 300661 300663 300687 300691 300701 300736 300767 300770 300773 300775 300776 300811 300903 300906 300918 300984 301018 301020 301021 301023 301024 301025 301026 301028 301030 301031 301034 301039 301042 301043 301045 301048 301054 301055 301056 301058 301062 301065 301066 301067 301070 301071 301075 301082 301083 301116 301122 301143 301144 301147 301149 301154 301155 301156 301158 301160 301161 301162 301167 301177 301181 301212 301222 301234 301236 301238 301242 301252 301258 301262 301268 301271 301288 301293 301300 301303 301304 301305 301318 301320 301325 301328 301331 301333 301334 301336 301337 301345 301355 301360 301362 301363 301366 301370 301371 301373 301374 301375 301379 301382 301385 301387 301389 301398 301404 301409 301410 301417 301418 301421 301459 301464 301467 301468 301469 301471 301479 301498 301499 301527 301532 301542 301544 301547 301551 301554 301556 301658 301662 301670 301719 301749 301821 302214 302216 302217 302228 302288 302584 302585 302586 302609 303035 303094 303251 303294 303747 303755 303756 303757 303758 303760 303761 303762 303763 303764 303765 303766 303771 303772 303773 303774 303775 303776 303777 303778 303779 303780 303781 303782 303788 303791 303792 303793 303795 303801 303802 303806 303808 303809 303814 303819 303822 303824 303826 303835 303836 303838 303839 303841 303844 303848 303850 303851 303852 303858 303861 303870 303876 303878 303880 303893 303897 303906 303909 303912 303913 303918 303919 303920 303928 303954 303961 303964 303965 303978 303979 303983 303984 303986 303998 304008 304022 304023 304024 304025 304029 304030 304034 304040 304041 304048 304049 304053 304056 304064 304066 304070 304071 304072 304076 304079 304080 304081 304082 304084 304086 304087 304088 304089 304090 304091 304092 304093 304095 304096 304098 304100 304113 304145 304209 304212 304296 304297 304298 304299 304300 304302 304303 304304 304305 304317 304319 304320 304324 304340 304344 304346 304347 304348 304349 304352 304357 304358 304359 304361 304364 304365 304366 304367 304368 304369 304370 304371 304375 304376 304378 304381 304384 304386 304390 304395 304408 304409 304410 304411 304414 304415 304417 304418 304423 304424 304425 304426 304428 304430 304431 304432 304441 304443 304448 304455 304456 304464 304465 304483 304489 304495 304518 304520 304521 304525 304526 304528 304532 304539 304554 304558 304561 304564 304568 304571 304572 304594 304599 304626 304627 304631 304632 304657 304658 304712 304713 304721 304812 304893 304894 304915 304938 304940 304956 304966 304980 304987 305003 305062 305065 305167 305185 305284 305439 305578 305632 305666 305770 305808 306004 306010 306016 306022 306054 306189 306232 306242 306306 306489 306570 306571 306609 306643 306690 306857 306964 307101 307158 307219 307440 307509 307601 307768 307771 307823 307889 308155 308191 308205 308355 308438 308454 308470 308529 308606 308622 308648 308741 308779 308865 308875 309041 309043 309048 309049 309093 309136 309173 309312 309393 309402 309432 309447 309531 309559 309642 309648 309657 309837 309843 309876 309892 309992 310015 310058 310081 310161 310295 310312 310314 310355 310362 310370 310373 310375 310540 310541 310589 310628 338196 338222 338310 338344 338354 347992 350132 350279 350422 350505 350797 350998 351000 351975 352940 353126 353148 353453 353490 353580 353697 353706 353714 353796 353940 353942 353946 353980 354049 354169 354468 354518 354604 354648 354872 355077 355303 355564 355587 355603 355634 355800 355824 355853 355946 356357 356588 356649 357059 357067 357217 357294 357664 357701 357797 357929 358116 358177 358214 358490 358504 358516 358532 358588 358590 358592 358593 358684 358689 358700 358712 358779 358847 358859 358865 358878 358905 358906 358919 358951 358975 359052 359115 359174 359181 359195 359196 359620 359821 359916 359949 359952 359953 359955 359957 360055 360074 360081 360082 360084 360087 360088 360090 360094 360097 360098 360100 360106 360108 360114 360118 360119 360121 360129 360148 360172 360174 360273 360301 360310 360319 360333 360339 360341 360349 360351 360363 360364 360365 360369 360373 360376 360380 360389 360394 360395 360396 360413 360422 360431 360433 360434 360435 360436 360445 360447 360449 360451 360457 360464 360468 360470 360472 360475 360476 360477 360478 360479 360480 360481 360482 360483 360518 360534 360596 360685 360693 360696 360698 360700 360704 360708 360709 360714 360715 360731 360741 361221 361823 368576 368579 368581 368608 368662 368663 368665 368668 368700 368744 368746 368749 368784 368797 368818 368839 369077 369114 369130 369165 369188 369240 369273 369338 369359 369503 369632 369723 369760 369762 369845 369883 369909 370040 370067 370086 370102 376160 376169 376179 376218 376255 376257 376259 376261 376266 376307 376412 376414 376516 376637 376713 376721 376740 376742 376744 376748 376756 376774 376775 376795 376803 376811 376816 376832 376841 376850 376865 376868 376871 376881 376888 376892 376901 376903 376904 376914 376943 376944 376959 376966 377002 377003 377071 377078 377092 377107 377141 377219 377231 377265 377284 377295 377334 377336 377393 377400 377401 377412 377425 377426 377440 377441 377456 377473 377488 377491 377497 377503 377511 377512 377533 377548 377556 377568 377592 377636 377666 377674 377697 377705 377759 377786 377790 377826 377834 377846 377848 377872 377889 377917 377918 377925 377929 377930 377965 377968 377978 378024 378035 378036 378042 378056 378070 378071 378081 378083 378091 378130 378140 378156 378161 378216 378220 378237 378253 378257 378266 378271 378287 378299 378304 378315 378316 378321 378323 378333 378335 378336 378345 378368 378372 378374 378377 378386 378416 378436 378437 378442 378444 378455 378456 378462 378466 378468 378480 378481 378482 378505 378525 378526 378528 378540 378552 378560 378574 378583 378603 378608 378612 378618 378626 378632 378634 378642 378649 378666 378668 378673 378675 378762 378767 378783 378785 378801 378834 378837 378841 378877 378880 378883 378900 378924 378948 378952 378953 378957 378958 378969 378974 379020 379023 379028 379032 379067 379078 379119 379146 379149 379182 379188 379190 379199 379200 379202 379205 379211 379216 379233 379250 379254 379269 379289 379295 379342 379349 379405 379460 379461 379509 379577 379581 379586 379596 379599 379635 379636 379648 379669 379696 379734 379774 379794 379852 379881 379896 379924 379939 379962 379965 379972 380010 380017 380040 380060 380096 380105 380191 380235 380238 380266 380307 380349 380390 380391 380392 380393 380413 380414 380419 380425 380447 380453 380495 380502 380503 380512 380526 380527 380530 380535 380543 380550 380559 380560 380600 380694 380706 380722 380772 380778 380779 380782 380785 380846 380849 380851 380854 380867 380874 380875 380879 380885 380891 380897 380900 380907 380914 380953 380956 381020 381029 381037 381054 381061 381064 381082 381090 381099 381150 381161 381185 381187 381194 381196 381197 381199 381218 381238 381239 381249 381256 381264 381287 381291 381332 381400 381402 381415 381429 381431 381433 381444 381461 381474 381496 381517 381520 381592 381596 381608 381637 381639 381652 381672 381676 381684 381754 381822 381824 381837 381847 381857 381858 381862 381871 381876 381881 381884 381924 381958 381999 382058 382102 382116 382126 382131 382132 382200 382213 382277 382334 382350 382378 382383 382396 382411 382413 382428 382458 382481 382485 382551 382558 382562 382564 382589 382617 382619 382648 382705 382734 382766 382777 382778 382789 382875 382876 382916 382923 382938 382943 382979 382992 382994 382998 383001 383007 383032 383127 383128 383172 383173 383261 383285 383332 383347 383349 383354 383379 383381 383386 383392 383404 383406 383409 383429 383457 383466 383487 383497 383518 383540 383541 383543 383546 383566 383577 383585 383600 383604 383608 383613 383617 383627 383631 383640 383643 383659 383680 383686 383687 383714 383727 383763 383785 383871 383873 383876 383880 383887 383889 383904 383910 383927 384007 384012 384015 384018 384020 384021 384052 384057 384058 384060 384062 384101 384123 384157 384230 384231 384232 384240 384245 384248 384250 384273 384283 384286 384306 384314 384323 384325 384336 384345 384347 384385 384394 384403 384404 384407 384420 384422 384434 384496 384521 384553 384603 384624 384657 384667 384673 384679 384681 384712 384744 384861 384936 384938 384960 384965 384970 384992 384994 384996 385012 385014 385016 385019 385028 385033 385050 385157 385165 385167 385174 385176 385178 385184 385186 385195 385216 385236 385239 385245 385278 385280 385281 385329 385364 385378 385389 385391 385407 385429 385473 385474 385506 385559 385561 385584 385616 385630 385655 385679 385704 385728 385775 385776 385780 385820 385828 385829 385835 385836 385860 385965 385976 385978 386024 386025 386056 386057 386059 386062 386105 386140 386141 386142 386178 386182 386184 386240 386241 386244 386245 386247 386264 386288 386296 386297 386304 386309 386344 386354 386364 386367 386370 386392 386393 386394 386410 386422 386444 386451 386453 386486 386492 386546 386550 386552 386591 386611 386693 386717 386726 386736 386743 386748 386750 386752 386759 386767 386776 386778 386789 386819 386822 386852 386875 386913 386917 386963 386973 386997 386999 387001 387005 387006 387008 387071 387142 387146 387149 387172 387186 387193 387201 387239 387276 387288 387294 387316 387337 387342 387349 387353 387367 387400 387411 387413 387414 387453 387457 387466 387474 387476 387481 387489 387491 387531 387539 387540 387542 387564 387605 387607 387610 387630 387636 387638 387640 387670 387709 387725 387747 387760 387780 387782 387785 387797 387807 387837 387841 387847 387849 387867 387920 387956 387958 388016 388019 388020 388088 388108 388140 388166 388169 388185 388280 388282 388286 388296 388311 388313 388338 388339 388352 388353 388354 388357 388360 388367 388397 388412 388422 388423 388424 388431 388477 388495 388498 388505 388516 388550 388606 388609 388612 388640 388650 388661 388703 388707 388710 388711 388718 388748 388750 388753 388790 388798 388799 388810 388811 388812 388813 388815 388820 388821 388822 388832 388834 388844 388858 388870 388914 388915 388916 388917 388918 388952 388957 388960 388961 388966 388976 388978 388979 388984 388985 389010 389013 389028 389030 389037 389041 389055 389142 389147 389151 389158 389169 389170 389173 389205 389211 389221 389284 389285 389287 389293 389295 389333 389334 389335 389336 389453 389484 389489 389493 389500 389510 389522 389568 389573 389597 389599 389600 389602 389614 389616 389624 389625 389627 389636 389675 389676 389736 389759 389761 389772 389784 389797 389798 389816 389834 389897 389900 389904 389935 389949 389979 390035 390040 390041 390042 390045 390060 390062 390085 390091 390172 390188 390189 390199 390231 390237 390238 390242 390314 390315 390316 390317 390344 390345 390368 390407 390413 390414 390421 390428 390433 390436 390437 390445 390468 390472 390474 390476 390557 390588 390601 390644 390645 390661 390683 390693 390746 390748 390776 390783 390808 390812 390819 390843 390924 390926 390952 390953 391001 391039 391054 391060 391069 391085 391086 391087 391088 391125 391197 391198 391210 391211 391217 391220 391261 391263 391264 391271 391273 391277 391280 391345 391411 391412 391420 391424 391429 391448 391469 391491 391498 391502 391505 391507 391511 391526 391547 391555 391579 391585 391701 391704 391706 391717 391743 391745 391747 391749 391763 391770 391792 392143 392145 392206 392424 392431 392433 392960 392979 393003 393031 393034 393035 393052 393069 393075 393080 439886 439894 439895 439899 439903 439911 439918 439924 439925 439932 439934 439935 439938 439941 439949 439963 439965 439975 439978 439980 439985 439989 439990 439992 439995 440015 440035 440036 440045 440048 440057 440084 440095 440097 440099 440104 440106 440108 440110 440111 440113 440126 440134 440141 440142 440177 440181 440218 440220 440254 440256 440257 440280 440459 440460 443084 443136 443357 443358 443368 443370 443371 443374 443378 443384 443388 443393 443394 443397 443399 443400 443402 443403 443406 443408 443412 443415 443416 443417 443419 443421 443422 443427 443428 443431 443432 443440 443441 443472 443474 443497 443504 443545 443549 443568 443577 443767 443950 444420 444831 444925 450034 450231 450613 450777 452261 453260 453269 453273 456827 457019 459821 460380 475236 475339 475356 483401 483427 483447 483514 486797 486927 486934 486980 486993 487173 487175 487197 487353 487382 487468 487782 491293 491953 491956 491960 491961 491962 491963 491965 491974 491976 491984 491995 492805 493391 520448 520455 520456 520458 520469 520472 520515 520518 520525 520529 520813 521882 521890 521895 521899 521900 521901 521907 521908 521909 521910 521911 521912 521917 521922 521923 521924 521925 521927 521929 521930 521931 521933 521934 521936 521938 521944 521947 521948 521951 521962 521963 521966 522079 522080 522081 522259 524474 524477 524483 524484 524530 524535 524629 524652 524665 524666 524704 524711 524770 524958 524962 525004 525005 525073 525075 525079 525082 525094 525103 525106 525129 525131 525133 525135 525136 525138 525145 525156 525157 525162 525165 525166 525168 525170 525173 525176 525183 525185 525187 525189 525199 525213 525214 525218 525226 525227 525251 525272 525364 525375 525480 525503 525516 525517 525519 525556 525598 525602 525611 525631 525638 525659 525676 525678 525682 525702 525705 525707 525711 525724 525726 525729 525730 525735 525767 525768 525787 525788 525799 525800 525803 525804 525805 525813 525817 525829 525844 525890 525893 525894 525909 525921 525944 525953 525991 526015 526034 526058 526078 526080 526086 526099 526100 526118 526119 526154 526217 526226 526231 526232 526240 526243 526271 526282 526286 526301 526317 526319 526323 526343 526348 526352 526371 526388 526397 526399 526401 526410 526440 526445 526454 526455 526470 526471 526491 526501 526502 526503 526510 526513 526523 526563 526564 526575 526599 526604 526635 526638 526680 526702 526711 526726 526737 526741 526762 526763 526768 526783 526789 526812 526815 526822 526830 526881 526889 526892 526908 526911 526927 526933 526950 526951 526953 526967 526983 527067 527073 527078 527090 527099 527103 527107 527114 527115 527129 527145 527182 527189 527238 527248 527258 527291 527298 527305 527306 527315 527316 527320 527325 527340 527346 527352 527353 527361 527364 527370 527379 527385 527417 527418 527420 527422 527436 527438 527471 527494 527495 527514 527535 527539 527540 527549 527550 527564 527571 527584 527602 527609 527644 527655 527679 527694 527695 527709 527710 527717 527724 527743 527747 527751 527799 527802 527818 527819 527820 527822 527824 527825 527829 527835 527855 527883 527913 527920 527922 527949 528023 528048 528060 528139 528144 528147 528164 528166 528171 528210 528242 528261 528277 528294 528314 528321 528327 528331 528358 528361 528367 528372 528388 528389 528408 528415 528427 528432 528435 528447 528456 528458 528492 528520 528541 528593 528611 528697 528699 528706 528707 528708 528709 528714 528716 528719 528720 528723 528776 528777 528779 528802 528804 528877 528878 528926 528944 528945 528949 528985 528987 528989 529044 529073 529233 529291 529304 529306 529336 529351 529363 529364 529366 529374 529382 529384 529387 529429 529493 529494 529515 529519 529538 529558 529572 529574 529577 529579 529583 529584 529636 529648 529674 529686 529688 529690 529739 529746 529770 529771 529781 529787 529789 529792 529793 529809 529813 529815 529816 529818 529819 529834 529843 529871 529933 529982 530032 530055 530087 530089 530101 530102 530105 530108 530110 530114 530115 530117 530120 530122 530131 530143 530167 530189 530219 530302 530320 530321 530326 530342 530344 530353 530357 530372 530382 530384 530386 530396 530457 530474 530500 530508 530512 530529 530531 530534 530536 530552 530564 530568 530644 530675 530677 530684 530700 530728 530745 530759 530791 530803 530806 530817 530825 530846 530848 530855 530860 530905 530908 530911 530914 530915 530932 530939 530965 531069 531094 531104 531115 531116 531127 531128 531139 531178 531204 531210 531237 531264 531377 531383 531393 531448 531483 531492 531520 531540 531544 531548 531553 531597 531600 531602 531627 531635 531640 531684 531685 531691 531762 531766 531772 531773 531784 531786 531797 531802 531827 531863 531864 531865 531883 531884 531931 531946 531947 531971 531976 531989 532009 532010 532050 532111 532172 532179 532180 532217 532224 532231 532238 532244 532245 532258 532261 532264 532265 532267 532320 532349 532357 532362 532406 532423 532434 532436 532479 532480 532481 532494 532495 532511 532513 532517 532519 532520 532555 532557 532585 532588 532593 532612 532640 532647 532653 532665 532689 532694 532699 532701 532707 532712 532717 532751 532752 532757 532760 532769 532771 532883 532910 532913 532916 532918 532923 532926 532931 532933 532988 532993 533005 533013 533026 533053 533054 533079 533081 533107 533115 533122 533125 533127 533152 533153 533167 533181 533199 533215 533220 533223 533258 533293 533295 533341 533342 533379 533384 533386 533389 533407 533415 533425 533450 533453 533509 533537 533543 533545 533546 533547 533549 533558 533560 533563 533565 533567 533574 533575 533576 533578 533596 533608 533615 533639 533644 533646 533648 533652 533655 533686 533693 533711 533722 533736 533738 533768 533785 533832 533834 533837 533839 533870 533877 533896 533914 533919 533947 533954 534002 534009 534010 534013 534017 534089 534096 534114 534120 534128 534183 534219 534246 534273 534289 534296 534301 534323 534325 534348 534363 534364 534371 534406 534457 534461 534463 534466 534473 534490 534492 534500 534549 534561 534563 534603 534608 534609 534611 534612 534681 534706 534717 534730 534733 534735 534738 534762 534786 534807 534810 534827 534837 534850 534864 534893 534991 535005 535044 535060 535061 535081 535084 535085 535094 535096 535166 535185 535186 535187 535221 535257 535305 535311 535317 535325 535358 535414 535417 535419 535421 535440 535445 535449 535450 535451 535459 535477 535513 535515 535525 535526 535534 535557 535573 535577 535578 535587 535597 535615 535626 535630 535646 535648 535662 535663 535664 535672 535681 535706 535716 535718 535727 535734 535766 535767 535768 535786 535806 535808 535814 535827 535835 535836 535865 535866 535875 535882 535893 535894 535897 535901 535907 535909 535923 535928 535931 535967 536003 536004 536031 536032 536034 536036 536038 536048 536074 536086 536095 536096 536128 536147 536189 536214 536217 536248 536259 536274 536277 536428 536434 536443 536449 536454 536462 536463 536468 536470 536490 536495 536499 536528 536540 536550 536551 536553 536557 536560 536578 536581 536583 536584 536596 536609 536630 536651 536653 536654 536667 536692 536717 536731 536746 536753 536755 536758 536760 536769 536771 536789 536799 536860 536869 536875 536877 536902 536903 536906 536915 536919 536922 536927 536938 536942 536945 537009 537010 537011 537033 537056 537071 537073 537077 537079 537089 537092 537106 537145 537147 537161 537174 537176 537180 537216 537284 537349 537352 537374 537415 537420 537437 537457 537458 537469 537477 537480 537497 537556 537565 537574 537577 537582 537674 537677 537685 537689 537725 537727 537772 537790 537797 537806 537812 537815 537817 537822 537891 537893 537894 537900 537918 537992 538013 538030 538033 538036 538043 538044 538045 538059 538084 538092 538114 538156 538212 538254 538258 538259 538302 538303 538304 538322 538341 538343 538376 538379 538381 538390 538392 538398 538422 538431 538434 538445 538453 538502 538515 538524 538525 538539 538547 538551 538555 538558 538566 538592 538607 538610 538612 538635 538647 538648 538650 538694 538700 538706 538712 538724 538729 538731 538732 538790 538803 538820 538832 538834 538838 538844 538857 538863 538867 538916 538926 538927 538948 538978 539045 539069 539074 539078 539083 539091 539095 539123 539139 539146 539160 539161 539162 539169 539170 539193 539196 539204 539232 539235 539278 539286 539291 539305 539308 539310 539313 539330 539341 539349 539373 539374 539455 539456 539573 539578 539611 539625 539630 539631 539634 539675 539677 539710 539760 539762 539765 539774 539821 539823 539845 539856 539859 539873 539894 539935 539941 539944 539947 539949 539953 539957 539964 539966 539969 540013 540015 540018 540026 540034 540036 540037 540038 540053 540062 540063 540081 540090 540103 540178 540183 540209 540223 540225 540232 540249 540305 540350 540352 540407 540413 540418 540452 540454 540476 540496 540497 540499 540500 540513 540523 540526 540532 540539 540540 540547 540554 540558 540606 540623 540636 540638 540694 540699 540725 540726 540770 540771 540772 540773 540775 540776 540801 540806 540810 540811 540817 540818 540819 540821 540832 540883 540892 540900 540904 540914 540938 540952 541000 541008 541051 541053 541056 541058 541062 541066 541095 541117 541119 541141 541146 541153 541154 541155 541156 541157 541175 541197 541199 541212 541214 541228 541238 541240 541248 541276 541287 541315 541325 541348 541351 541744 541746 543424 543447 543450 543452 543453 543456 543459 543464 543469 543470 543471 543473 543475 543476 543492 543495 544296 544298 544300 544303 544306 544336 544338 544349 544424 546173 546796 546797 546847 546849 546851 546852 546853 546856 546857 546858 546859 546860 546861 546862 546863 546864 546865 546868 546869 546872 546873 546874 546875 546876 546879 546880 546887 552314 552327 552355 552363 552397 552416 552500 552501 552542 552544 552553 552567 552570 552636 552711 555880 555881 555892 556608 556609 559519 563235 563296 565926 576728 576731 576732 576735 576736 576738 576739 576781 576782 576783 576784 576786 576787 576796 577552 577670 577671 577672 577676 577680 577755 577758 577759 577784 578399 578498 578499 578500 578518 578520 578521 578526 581779 588989 588998 589978 590229 590230 590658 590660 590673 590678 590683 590685 590686 590688 590689 590690 590691 590695 590701 590705 590711 590712 590713 590743 590747 590792 590794 590884 591029 591037 591041 591047 591048 591058 591060 591068 591069 591070 591072 591074 591076 591085 591086 591089 591091 591096 591099 591113 591114 591123 591129 591130 591131 591132 591135 591139 591142 591159 591162 591168 591172 591174 591175 591176 591177 591179 591180 591185 591189 591192 591195 591196 591200 591205 591206 591209 591214 591217 591221 591226 591232 591237 591246 591249 591251 591253 591257 591259 591260 591261 591262 591264 591267 591268 591271 591275 591276 591280 591282 591286 591288 591291 591292 591295 591298 591301 591302 591311 591322 591326 591329 591336 591344 591350 591355 591356 591357 591359 591362 591366 591383 591386 591395 591397 591403 591405 591410 591412 591413 591416 591423 591424 591432 591433 591434 591435 591437 591439 591445 591448 591450 591451 591455 591462 591463 591466 591468 591470 591473 591478 591480 591487 591492 591497 591506 591515 591518 591520 591521 591532 591534 591535 591539 591540 591545 591546 591547 591554 591568 591569 591573 591582 591585 591586 591588 591590 591595 591601 591602 591616 591617 591623 591624 591625 591628 591631 591635 591636 591638 591640 591642 591648 591652 591653 591654 591666 591677 591679 591681 591689 591692 591704 591711 591713 591715 591716 591718 591720 591729 591731 591736 591740 591742 591745 591748 591750 591751 591755 591764 591768 591771 591772 591774 591776 591782 591806 591813 591814 591817 591820 591825 591828 591830 591839 591841 591842 591848 591851 591854 591859 591861 591863 591867 591871 591878 591881 591891 591894 591895 591903 591904 591910 591911 591912 591914 591917 591918 591920 591924 591926 591927 591928 591932 591934 591937 591940 591949 591953 591954 591957 591959 591962 591963 591964 591971 591975 591987 591988 591989 591990 591995 592001 592002 592010 592015 592018 592020 592024 592032 592034 592035 592043 592055 592060 592066 592071 592073 592075 592077 592079 592083 592086 592088 592089 592090 592096 592099 592100 592103 592104 592105 592107 592109 592120 592125 592126 592127 592129 592139 592140 592141 592148 592152 592157 592158 592159 592162 592163 592168 592170 592181 592190 592193 592194 592195 592217 592218 592219 592221 592222 592223 592231 592240 592243 592245 592247 592256 592261 592264 592278 592282 592286 592289 592292 592293 592528 592533 592551 592557 592558 592574 592680 592681 592769 592770 592779 592784 592789 592793 592926 592927 592930 592931 593051 593204 593250 593342 593372 593404 593507 593563 593575 593762 593879 593887 593906 593946 593985 594245 594375 594405 594452 594487 594510 594564 594601 594660 594753 594795 594868 595025 595028 595096 595112 595276 595301 595331 595334 595397 595402 595416 595425 595471 595487 595490 595724 595726 595753 595765 596004 596005 596007 596008 596038 596044 596066 596080 596082 596089 596095 596128 596162 596163 596258 596302 596330 596343 596387 596395 596396 596397 596398 596399 596431 596432 596434 596435 596439 596513 596514 596577 596639 596640 596641 596642 596643 596645 596646 596647 596736 596738 596749 596771 596810 596812 596833 596920 596921 596922 596923 596924 596925 597070 597072 597142 597149 597150 597151 597158 597159 597160 597206 597207 597208 597211 597212 597214 597235 597244 597267 597273 597285 597321 597328 597329 597330 597332 597335 597338 597433 597504 597542 597566 597572 597577 597581 597667 597693 597700 597783 597787 597788 597794 597836 597837 597838 597839 597855 597871 597947 597948 597978 597998 598131 598186 598187 598257 598272 598401 598439 598450 598452 598549 598550 598594 598647 598685 598739 598748 598749 598750 598751 598791 598920 598973 598974 598978 598979 598980 598981 599034 599114 599145 599159 599258 599260 599478 599479 599503 599508 599524 599531 599532 599549 599608 599609 599624 599682 599713 599723 600062 600068 600095 600099 600110 600121 600122 600129 600131 600134 600146 600162 600166 600175 600190 600195 600196 600197 600203 600214 600254 600256 600265 600266 600283 600292 600299 600308 600310 600311 600312 600322 600328 600329 600330 600334 600349 600350 600354 600356 600370 600382 600404 600416 600422 600423 600424 600487 600489 600526 600556 600557 600560 600611 600612 600614 600615 600696 600697 600710 600722 600729 600743 600757 600766 600767 600772 600773 600804 600811 600812 600818 600831 600832 600847 600849 600866 600890 600895 600940 600989 600992 600993 601013 601026 601035 601036 601041 601059 601066 601075 601100 601102 601112 601131 601148 601161 601177 601201 601222 601233 601242 601276 601286 601302 601352 601363 601396 601482 601517 601547 601553 601573 601584 601589 601590 601613 601644 601647 601657 601667 601688 601694 601696 601699 601701 601702 601706 601718 601734 601742 601750 601751 601753 601765 601766 601767 601773 601780 601785 601789 601790 601795 601798 601836 601846 601889 601892 601893 601898 601903 601913 601932 601943 601951 601952 601959 601962 601969 601973 601981 601993 602000 602011 602013 602040 602042 602052 602063 602065 602074 602077 602078 602079 602084 602100 602101 602105 602110 602115 602163 602178 602181 602203 602208 602210 602225 602242 602249 602254 602256 602317 602324 602325 602330 602331 602348 602349 602351 602370 602375 602379 602382 602385 602392 602394 602396 602405 602411 602413 602423 602441 602559 602588 602655 602703 602714 602735 602741 602742 602745 602753 602783 602786 602794 602812 602821 602838 602865 602888 602898 602902 602909 602920 602923 602924 602930 602940 602970 602972 602987 602989 602995 602999 603013 603026 603040 603049 603082 603108 603109 603123 603139 603166 603177 603195 603198 603200 603209 603221 603235 603249 603266 603282 603287 603331 603352 603362 603366 603367 603369 603394 603427 603432 603436 603444 603454 603464 603466 603471 603490 603493 603501 603502 603511 603515 603526 603545 603591 603602 603614 603622 603630 603636 603638 603645 603664 603688 603695 603700 603711 603713 603715 603740 603753 603754 603758 603769 603772 603774 603778 603796 603814 603828 603838 603857 603862 603863 603867 603875 603879 603904 603942 603945 603947 603948 603955 603959 603977 603987 604013 604039 604040 604056 604065 604068 604073 604077 604093 604095 604100 604125 604126 604129 604138 604143 604152 604173 604178 604215 604246 604249 604250 604257 604279 604284 604295 604306 604308 604310 604315 604321 604335 604338 604352 604354 604357 604385 604396 604398 604408 604421 604442 604445 604462 604464 604467 604468 604483 604493 604495 604508 604510 604541 604546 604549 604557 604562 604589 604609 604634 604650 604652 604656 604660 604662 604695 604702 604724 604730 604734 604740 604741 604747 604765 604767 604790 604794 604801 604826 604855 604858 604859 604861 604880 604903 604907 604915 604922 604932 604943 604947 604950 604958 604973 604976 604978 604988 604993 604994 604996 605000 605007 605019 605030 605057 605060 605061 605062 605079 605081 605084 605092 605106 605120 605122 605130 605140 605142 605143 605152 605190 605191 605195 605201 605203 605229 605268 605271 605279 605290 605297 605302 605305 605315 605321 605325 605331 605338 605342 605348 605352 605367 605374 605376 605385 605410 605411 605412 605415 605418 605426 605429 605433 605458 605461 605475 605492 605496 605507 605513 605536 605540 605554 605576 605583 605592 605596 605603 605620 605647 605649 605650 605668 605671 605678 605690 605706 605709 605731 605732 605741 605746 605751 605769 605786 605798 605802 605804 605808 605824 605826 605840 605846 605899 605904 605917 605927 605930 605935 605937 605943 605947 605951 605969 605981 605982 605985 606001 606008 606019 606024 606032 606033 606038 606045 606052 606054 606070 606075 606084 606097 606126 606142 606154 606181 606185 606213 606240 606246 606257 606259 606274 606283 606286 606288 606306 606314 606318 606333 606350 606354 606356 606364 606368 606378 606385 606387 606397 606404 606413 606416 606427 606433 606439 606450 606451 606491 606492 606493 606494 606501 606517 606531 606544 606558 606566 606567 606606 606617 606628 606637 606656 606679 606689 606691 606700 606710 606723 606730 606757 606786 606788 606791 606792 606798 606808 606813 606818 606831 606836 606877 606883 606884 606899 606922 606935 606938 606976 606980 606983 606985 607015 607021 607031 607033 607048 607052 607061 607074 607083 607102 607106 607118 607119 607132 607134 607135 607171 607183 607186 607192 607193 607199 607203 607237 607251 607256 607269 607278 607295 607323 607332 607336 607338 607350 607363 607371 607376 607407 607422 607447 607450 607456 607478 607481 607487 607491 607495 607521 607522 607523 607536 607538 607539 607542 607543 607552 607556 607577 607584 607591 607600 607601 607624 607640 607645 607647 607652 607671 607673 607686 607694 607698 607702 607711 607712 607720 607730 607731 607734 607741 607749 607755 607770 607772 607777 607779 607793 607801 607802 607810 607838 607845 607853 607873 607888 607891 607899 607907 607926 607935 607951 607959 607968 607981 607982 607988 608016 608017 608042 608057 608060 608067 608070 608076 608090 608095 608096 608122 608125 608129 608161 608165 608180 608184 608187 608203 608215 608242 608259 608285 608286 608299 608301 608302 608523 608560 608564 608571 608600 608602 608605 608606 608607 608642 608647 608663 608670 608671 608674 608684 608686 608687 608688 608691 608692 608719 608740 608741 608744 608758 608775 608780 608785 608789 608800 608810 608811 608813 608821 608825 608832 608916 608922 608924 608926 608941 608942 609010 609037 609053 609066 609069 609082 609092 609093 609097 609141 609234 609261 609311 609319 609356 609416 609427 609429 609434 609436 609520 609523 609538 609543 609549 609559 609579 609583 609588 609594 609621 609656 609668 609707 609720 609724 609740 609770 609773 609781 609783 609784 609844 609848 609873 609887 609890 609937 609940 609963 609978 609983 609990 609992 610005 610019 610072 610082 610095 610107 610108 610110 610116 610118 610138 610170 610174 610175 610179 610183 610187 610217 610219 610228 610252 610253 610286 610328 610337 610348 610365 610376 610386 610408 610427 610453 610455 610465 610469 610474 610539 610569 610622 610626 610636 610642 610669 610713 610719 610734 610744 610764 610781 610798 610818 610819 610831 610867 610869 610893 610903 610905 610914 610915 610960 610988 611019 611020 611116 611118 611156 611179 611197 611213 611227 611230 611266 611286 611296 611297 611317 611322 611324 611363 611367 611374 611394 611410 611411 611419 611433 611439 611451 611464 611524 611551 611555 611565 611631 611639 611648 611649 611667 611671 611683 611689 611698 611719 611760 611762 611775 611779 611783 611792 611795 611817 611826 611828 611832 611843 611854 611856 611860 611866 611882 611893 611908 611914 611930 611941 611945 611953 611975 611986 611989 611997 612010 612032 612034 612045 612067 612079 612104 612117 612169 612184 612188 612190 612213 612215 612217 612252 612294 612303 612317 612371 612395 612396 612410 612420 612421 612459 612478 612487 612489 612519 612563 612580 612597 612601 612609 612617 612619 612620 612625 612631 612669 612670 612672 612710 612711 612715 612716 612727 612732 612751 612764 612779 612808 612810 612812 612816 612825 612905 612949 612967 612997 613000 613019 613048 613070 613075 613079 613093 613105 613121 613165 613238 613352 613354 613378 613388 613405 613458 613498 613507 613576 613598 613615 613621 613652 613669 613681 613682 613683 613704 613730 613752 613758 613761 613771 613777 613824 613840 613848 613881 613883 613885 613898 613945 613973 613989 614003 614007 614018 614023 614044 614077 614083 614087 614088 614128 614134 614139 614141 614149 614150 614155 614171 614180 614206 614207 614223 614224 614225 614245 614254 614295 614300 614304 614316 614317 614323 614366 614455 614503 614528 614533 614538 614603 614635 614639 614641 614653 614685 614696 614721 614730 614745 614758 614775 614819 614826 614863 614872 614900 614915 614966 614968 614971 614990 615017 615034 615079 615080 615081 615090 615116 615127 615138 615166 615195 615196 615273 615341 615346 615362 615375 615399 615410 615448 615512 615523 615537 615544 615545 615569 615589 615638 615645 615687 615693 615732 615739 615742 615752 615787 615792 615816 615819 615821 615831 615832 615833 615835 615857 615870 615915 615931 615942 615945 615987 616029 616035 616036 616054 616082 616089 616099 616100 616101 616102 616118 616121 616138 616148 616158 616192 616234 616238 616253 616257 616264 616267 616271 616285 616314 616334 616335 616338 616340 616342 616345 616346 616372 616412 616445 616446 616449 616474 616485 616487 616490 616512 616514 616542 616554 616565 616566 616581 616583 616585 616613 616691 616699 616701 616715 616720 616737 616779 616808 616813 616823 616843 616846 616861 616908 616928 616930 616932 616947 616958 616993 617009 617029 617042 617044 617059 617088 617099 617121 617168 617190 617192 617234 617268 617275 617277 617347 617355 617357 617361 617363 617380 617405 617432 617435 617436 617455 617474 617479 617523 617527 617540 617576 617594 617616 617623 617626 617632 617646 617652 617654 617656 617663 617665 617685 617758 617763 617765 617773 617831 617844 617845 617856 617860 617865 617873 617887 617888 617896 617900 617913 617916 617919 617926 617939 617942 617961 617965 617982 617986 617995 618001 618024 618026 618031 618050 618103 618111 618122 618126 618133 618148 618165 618191 618209 618226 618227 618246 618263 618282 618292 618298 618301 618307 618310 618324 618336 618361 618388 618414 618416 618427 618429 618476 618505 618507 618590 618616 618617 618620 618625 618659 618709 618713 618761 618763 618791 618828 618834 618845 618853 618868 618904 618933 618948 618974 618984 618994 619075 619077 619100 619102 619112 619120 619133 619142 619195 619199 619238 619240 619260 619266 619271 619274 619285 619286 619287 619318 619331 619344 619347 619387 619388 619392 619394 619404 619461 619462 619478 619492 619530 619531 619557 619562 619567 619568 619604 619652 619691 619692 619693 619712 619735 619761 619770 619787 619818 619846 619858 619887 619894 619897 619899 619901 619903 619905 619906 619907 619909 619914 619917 619921 619952 619954 619961 619967 619970 619980 620002 620059 620062 620063 620072 620090 620108 620148 620149 620151 620172 620174 620191 620230 620231 620274 620277 620280 620287 620292 620325 620345 620347 620417 620433 620449 620453 620455 620527 620529 620546 620548 620572 620574 620577 620679 620687 620716 620738 620740 620755 620799 620834 620837 620855 620888 620921 620949 620974 620976 621008 621089 621134 621150 621157 621168 621208 621256 621259 621277 621295 621313 621392 621403 621419 621424 621426 621443 621452 621461 621463 621485 621507 621552 621553 621556 621558 621602 621612 621614 621616 621617 621622 621626 621631 621652 621658 621660 621673 621702 621704 621738 621752 621762 621769 621775 621806 621808 621823 621824 621827 621841 621853 621878 621906 621920 621925 621978 621993 622037 622040 622041 622049 622061 622062 622071 622075 622076 622091 622120 622124 622143 622146 622169 622215 622223 622227 622256 622263 622269 622274 622284 622288 622294 622298 622333 622388 622424 622425 622426 622430 622432 622499 622522 622536 622590 622593 622625 622650 622668 622672 622674 622697 622699 622715 622725 622749 622750 622755 622782 622799 622826 622844 622880 622883 622888 622940 622943 622950 622963 622965 622982 622984 622986 622992 623002 623005 623027 623032 623038 623040 623043 623067 623095 623152 623153 623157 623160 623162 623177 623192 623212 623263 623264 623266 623274 623279 623280 623286 623308 623312 623374 623395 623405 623446 623457 623488 623491 623493 623516 623520 623521 623522 623529 623547 623556 623572 623581 623582 623587 623604 623606 623624 623634 623638 623648 623653 623672 623675 623696 623697 623707 623708 623727 623734 623754 623757 623779 623799 623802 623812 623850 623864 623871 623887 623923 623937 623946 623948 623960 623983 624001 624058 624098 624100 624119 624120 624153 624159 624168 624177 624210 624212 624214 624220 624221 624237 624241 624244 624271 624272 624273 624277 624280 624285 624347 624356 624361 624364 624376 624400 624422 624441 624465 624476 624502 624540 624550 624564 624570 624574 624581 624589 624594 624601 624622 624623 624626 624657 624664 624682 624686 624687 624691 624696 624698 624700 624723 624731 624743 624775 624798 624800 624810 624835 624872 624873 624921 624923 624946 624977 624994 624995 625009 625010 625032 625039 625044 625045 625046 625070 625082 625090 625122 625130 625143 625159 625167 625171 625228 625262 625264 625302 625314 625384 625387 625389 625411 625425 625428 625443 625456 625474 625490 625495 625507 625512 625514 625520 625526 625530 625559 625562 625576 625578 625579 625581 625598 625599 625601 625603 625634 625636 625666 625671 625735 625738 625740 625774 625810 625819 625848 625855 625881 625929 625942 625952 625981 625985 625988 625992 625994 625999 626001 626003 626012 626028 626029 626043 626050 626060 626072 626079 626085 626122 626128 626154 626161 626169 626189 626195 626209 626224 626228 626229 626238 626242 626250 626252 626259 626263 626271 626303 626308 626327 626337 626340 626349 626366 626368 626370 626372 626400 626408 626449 626452 626454 626478 626479 626488 626520 626525 626550 626557 626563 626619 626649 626702 626706 626723 626725 626743 626765 626766 626777 626803 626813 626849 626854 626868 626874 626882 626894 626926 626932 626934 626944 626948 626953 626958 626969 626970 626982 626989 626994 627000 627010 627019 627039 627063 627075 627094 627127 627129 627142 627145 627169 627171 627184 627231 627232 627260 627286 627288 627318 627321 627335 627367 627405 627410 627413 627444 627454 627471 627473 627478 627487 627505 627535 627539 627544 627557 627558 627562 627571 627595 627597 627598 627618 627635 627638 627664 627681 627685 627696 627717 627735 627741 627761 627764 627767 627782 627794 627796 627859 627869 627878 627895 627897 627905 627922 627925 627934 627951 627957 627958 627960 627964 627968 627973 627995 627999 628021 628033 628035 628048 628050 628080 628085 628088 628093 628114 628117 628123 628128 628131 628139 628143 628179 628187 628204 628223 628286 628316 628323 628325 628340 628344 628364 628385 628393 628395 628446 628461 628469 628521 628538 628596 628608 628612 628727 628748 628764 628766 628776 628804 628805 628808 628813 628822 628846 628857 628898 628900 628915 628917 628922 628924 628925 628935 628945 628948 628995 629000 629005 629007 629048 629050 629054 629055 629072 629085 629095 629098 629123 629144 629161 629165 629175 629233 629249 629258 629259 629295 629417 629463 629536 629549 629584 629585 629589 629599 629602 629657 629658 629664 629665 629679 629682 629747 629757 629763 629786 629789 629816 629817 629818 629827 629828 629832 629857 629902 629929 629931 629938 629981 630011 630016 630018 630020 630035 630046 630058 630065 630066 630087 630088 630090 630095 630118 630123 630132 630134 630159 630170 630190 630206 630246 630284 630322 630346 630347 630349 630375 630377 630379 630382 630384 630395 630396 630397 630404 630439 630447 630463 630497 630600 630604 630607 630611 630614 630615 630617 630626 630704 630707 630738 630740 630761 630765 630780 630784 630787 630796 630801 630802 630803 630807 630816 630818 630823 630847 630852 630882 630884 630886 630889 630906 630928 630932 630960 630966 630973 630988 630994 631008 631021 631036 631057 631081 631122 631129 631159 631165 631169 631183 631209 631210 631213 631222 631225 631226 631231 631244 631246 631249 631258 631262 631263 631268 631275 631277 631293 631319 631330 631355 631360 631388 631411 631428 631439 631441 631443 631445 631447 631449 631452 631456 631465 631507 631527 631530 631532 631546 631547 631576 631578 631596 631599 631606 631615 631646 631650 631660 631680 631681 631696 631698 631700 631706 631712 631719 631733 631753 631761 631809 631819 631829 631833 631840 631842 631843 631846 631848 631870 631909 631911 631926 631931 631986 631996 632012 632018 632022 632060 632064 632076 632083 632085 632138 632145 632159 632163 632179 632183 632189 632191 632197 632212 632213 632225 632227 632231 632255 632259 632260 632292 632299 632300 632337 632343 632360 632363 632365 632368 632381 632383 632400 632401 632406 632438 632468 632487 632490 632494 632498 632507 632522 632548 632560 632573 632574 632591 632619 632621 632625 632632 632706 632707 632711 632791 632796 632813 632828 632837 632838 632843 632851 632858 632872 632900 632904 632906 632910 632920 632943 632954 632960 632965 632967 632979 632981 633024 633055 633079 633082 633084 633090 633123 633136 633143 633183 633185 633207 633212 633234 633240 633242 633248 633255 633258 633261 633271 633287 633321 633322 633353 633380 633382 633391 633405 633409 633434 633439 633447 633460 633463 633465 633479 633480 633482 633485 633488 633507 633508 633514 633515 633552 633554 633557 633561 633566 633578 633598 633601 633645 633667 633686 633698 633713 633715 633719 633720 633759 633796 633797 633798 633799 633802 633827 633830 633854 633879 633885 633890 633900 633904 633909 633910 633916 633927 633930 633954 633967 633978 633990 633991 633993 633998 634001 634014 634018 634021 634044 634059 634061 634063 634086 634094 634116 634125 634143 634146 634169 634178 634182 634183 634198 634309 634311 634328 634333 634360 634383 634402 634419 634421 634423 634436 634467 634470 634473 634476 634505 634509 634517 634541 634543 634566 634569 634574 634604 634606 634611 634614 634618 634631 634675 634678 634712 634715 634770 634794 634799 634807 634837 634850 634852 634858 634865 634873 634874 634888 634929 634954 634955 634977 634981 634991 635022 635036 635054 635057 635070 635075 635077 635089 635103 635105 635106 635123 635157 635190 635208 635249 635282 635283 635284 635289 635290 635302 635305 635316 635323 635325 635331 635342 635344 635348 635350 635370 635371 635373 635415 635417 635440 635444 635449 635481 635509 635566 635571 635614 635619 635626 635629 635636 635651 635652 635657 635675 635679 635691 635696 635701 635706 635716 635724 635764 635839 635841 635843 635845 635853 635875 635898 635905 635921 635928 635968 636015 636024 636032 636035 636045 636049 636052 636056 636068 636072 636094 636097 636107 636129 636146 636147 636149 636162 636165 636168 636174 636179 636199 636219 636229 636248 636260 636283 636293 636332 636360 636363 636371 636376 636391 636405 636409 636420 636423 636431 636441 636445 636453 636474 636513 636528 636536 636566 636580 636590 636598 636604 636609 636610 636617 636619 636635 636644 636663 636666 636702 636754 636757 636765 636766 636776 636777 636801 636805 636819 636836 636839 636850 636883 636896 636907 636917 636923 636959 636964 636980 636985 636987 636994 637014 637024 637027 637035 637040 637050 637056 637058 637063 637069 637080 637089 637092 637102 637158 637161 637209 637226 637248 637261 637269 637296 637350 637355 637359 637375 637401 637416 637430 637448 637460 637471 637484 637491 637492 637507 637508 637533 637567 637573 637591 637607 637615 637640 637641 637644 637708 637732 637756 637778 637782 637787 637793 637798 637804 637815 637817 637835 637869 637871 637874 637877 637891 637893 637906 637910 637912 637914 637927 637939 637944 637951 637964 637977 637979 637983 637985 637991 638010 638013 638023 638027 638039 638047 638048 638049 638055 638057 638059 638068 638102 638110 638151 638154 638165 638176 638178 638179 638184 638219 638242 638282 638293 638294 638308 638330 638332 638333 638394 638421 638428 638479 638501 638506 638547 638577 638579 638591 638593 638595 638600 638601 638602 638611 638613 638615 638617 638627 638630 638642 638644 638646 638653 638670 638683 638687 638690 638702 638706 638802 638825 638839 638883 638884 638890 638904 638906 638926 638976 638985 638990 638992 639010 639022 639032 639035 639047 639070 639085 639103 639110 639111 639131 639134 639146 639166 639169 639178 639197 639198 639206 639214 639260 639293 639305 639326 639338 639386 639390 639394 639424 639436 639500 639504 639518 639521 639522 639528 639559 639574 639576 639597 639617 639629 639634 639644 639645 639657 639660 639691 639730 639731 639741 639750 639754 639755 639756 639760 639769 639813 639840 639850 639856 639874 639896 639928 639929 639950 639951 639952 639956 639958 639959 639973 639985 640001 640007 640008 640009 640030 640032 640036 640038 640059 640061 640075 640106 640145 640167 640173 640189 640202 640208 640220 640221 640222 640245 640267 640288 640290 640292 640294 640297 640319 640321 640322 640364 640386 640394 640396 640397 640399 640413 640417 640430 640432 640456 640457 640475 640490 640507 640538 640540 640581 640589 640593 640617 640628 640629 640640 640658 640671 640673 640684 640724 640729 640766 640776 640778 640783 640784 640787 640796 640807 640822 640867 640890 640905 640926 640984 641000 641001 641011 641041 641065 641084 641087 641098 641102 641113 641148 641152 641182 641194 641202 641227 641252 641266 641269 641296 641314 641321 641328 641349 641352 641353 641372 641409 641412 641420 641431 641435 641445 641448 641450 641452 641456 641472 641505 641545 641583 641590 641593 641623 641625 641628 641638 641639 641657 641695 641702 641704 641707 641710 641712 641716 641717 641718 641725 641746 641762 641777 641788 641795 641798 641809 641865 641866 641873 641894 641906 641910 641920 641927 641935 641943 641955 641956 641957 641960 641992 641994 642004 642014 642017 642018 642024 642072 642094 642097 642168 642197 642202 642210 642218 642224 642225 642235 642279 642281 642303 642314 642330 642376 642395 642408 642411 642416 642421 642423 642440 642460 642465 642470 642476 642485 642487 642524 642531 642540 642577 642586 642602 642672 642692 642730 642742 642757 642761 642767 642769 642799 642807 642810 642819 642856 642867 642873 642880 642898 642899 642908 642912 642915 642917 642965 642988 643004 643014 643017 643079 643106 643108 643114 643127 643146 643149 643151 643158 643160 643164 643165 643189 643197 643232 643281 643282 643320 643322 643341 643354 643360 643363 643384 643386 643428 643436 643457 643496 643504 643522 643538 643540 643541 643542 643552 643598 643600 643641 643651 643657 643663 643666 643672 643676 643678 643710 643712 643720 643721 643723 643744 643756 643781 643782 643793 643804 643807 643808 643825 643880 643906 643932 643991 644006 644008 644012 644045 644051 644069 644097 644104 644117 644140 644154 644163 644176 644180 644190 644250 644253 644257 644260 644264 644285 644290 644293 644298 644302 644311 644330 644342 644355 644377 644388 644390 644395 644406 644421 644424 644446 644450 644453 644461 644500 644502 644503 644512 644515 644519 644542 644547 644557 644558 644566 644578 644581 644591 644627 644643 644648 644652 644654 644656 644669 644689 644695 644733 644775 644787 644810 644836 644896 644905 644994 645010 645019 645029 645034 645036 645038 645045 645055 645058 645076 645078 645095 645104 645106 645108 645113 645128 645129 645130 645153 645157 645161 645162 645256 645274 645305 645345 645353 645354 645366 645403 645408 645409 645417 645419 645440 645453 645472 645475 645519 645521 645522 645538 645560 645582 645585 645593 645617 645649 645704 645713 645740 645749 645759 645771 645775 645785 645812 645834 645837 645841 645849 645860 645885 645926 645962 645970 645984 645990 645992 646023 646024 646058 646086 646091 646092 646098 646100 646101 646106 646108 646121 646127 646129 646137 646141 646147 646151 646177 646257 646264 646269 646285 646350 646351 646359 646366 646368 646396 646403 646413 646415 646417 646440 646480 646513 646516 646544 646562 646593 646601 646634 646636 646664 646681 646687 646696 646697 646714 646722 646727 646797 646799 646801 646807 646815 646846 646856 646884 646899 646900 646908 646920 646957 647002 647004 647022 647032 647078 647091 647137 647141 647150 647187 647191 647195 647200 647201 647208 647214 647217 647220 647300 647347 647375 647378 647381 647384 647388 647394 647415 647416 647418 647490 647492 647495 647529 647540 647549 647556 647612 647628 647632 647644 647652 647669 647702 647706 647749 647750 647755 647758 647760 647768 647770 647795 647798 647800 647806 647807 647823 647830 647834 647859 647869 647874 647895 647904 647946 647958 647960 648003 648030 648056 648057 648059 648082 648152 648168 648171 648199 648200 648220 648222 648224 648225 648234 648244 648245 648250 648255 648259 648273 648314 648336 648345 648346 648350 648370 648375 648428 648440 648443 648444 648450 648470 648498 648503 648510 648517 648529 648612 648614 648622 648631 648633 648637 648663 648664 648667 648669 648671 648677 648692 648707 648708 648755 648776 648777 648778 648833 648881 648900 648908 648910 648947 648949 648951 648958 648959 649104 649133 649134 649156 649158 649210 649251 649317 649350 649399 649414 649420 649496 649499 649506 649513 649517 649527 649543 649547 649559 649584 649592 649604 649612 649621 649622 649624 649650 649652 649696 649742 649812 649817 649823 649830 649882 649885 649895 649938 649940 649944 649948 649949 649950 649969 649970 649971 649990 649992 650011 650014 650026 650037 650050 650053 650107 650111 650119 650122 650124 650158 650160 650163 650165 650166 650172 650206 650215 650224 650226 650227 650232 650233 650235 650236 650237 650238 650242 650244 650245 650251 650258 650260 650263 650265 650291 650310 650313 650328 650330 650345 650354 650355 650369 650374 650376 650379 650380 650390 650400 650402 650411 650429 650445 650472 650473 650482 650504 650505 650507 650511 650519 650539 650540 650564 650570 650615 650636 650638 650644 650745 650882 650886 650941 650949 650952 650954 650989 651007 651011 651041 651065 651148 651180 651187 651189 651190 651195 651196 651207 651266 651270 651284 651288 651289 651310 651311 651330 651331 651334 651339 651340 651349 651353 651371 651377 651391 651400 651413 651466 651474 651499 651500 651526 651563 651608 651611 651614 651619 651624 651670 651700 651708 651721 651786 651798 651861 651930 651931 651962 651964 651977 651978 651982 652011 652029 652036 652047 652066 652126 652128 652132 652169 652179 652212 652222 652225 652230 652238 652239 652249 652253 652254 652260 652266 652269 652322 652332 652384 652386 652409 652428 652431 652447 652451 652457 652461 652462 652473 652499 652539 652577 652581 652586 652588 652595 652598 652657 652687 652698 652709 652716 652758 652787 652788 652803 652808 652829 652846 652854 652880 652882 652899 652906 652916 652929 652997 653007 653103 653105 653159 653220 653221 653222 653239 653241 653267 653268 653309 653337 653340 653372 653391 653393 653395 653397 653399 653410 653443 653458 653499 653509 653522 653540 653559 653575 653576 653577 653578 653582 653591 653622 653629 653644 653650 653676 653684 653706 653708 653725 653752 653754 653755 653785 653814 653821 653868 653870 653931 653934 653943 653977 653995 653998 654005 654036 654040 654065 654103 654156 654157 654158 654162 654166 654180 654185 654188 654190 654236 654242 654251 654263 654290 654298 654300 654311 654313 654352 654357 654360 654391 654414 654450 654451 654457 654459 654467 654491 654492 654500 654510 654523 654525 654535 654538 654562 654593 654595 654620 654632 654651 654661 654693 654711 654717 654726 654743 654760 654814 654816 654832 654833 654834 654855 654856 654889 654892 654902 654918 654920 654985 655026 655073 655076 655119 655125 655132 655134 655153 655156 655170 655174 655177 655240 655245 655249 655252 655257 655270 655274 655281 655282 655327 655359 655377 655415 655432 655435 655439 655453 655454 655472 655477 655480 655482 655490 655499 655504 655533 655564 655571 655598 655601 655647 655764 655773 655788 655855 655889 655907 655912 655969 655988 655989 656028 656030 656064 656069 656071 656091 656097 656107 656113 656116 656138 656144 656177 656187 656193 656194 656212 656228 656233 656297 656300 656304 656309 656310 656355 656362 656369 656378 656427 656439 656454 656460 656462 656477 656479 656503 656505 656510 656513 656521 656569 656571 656600 656626 656634 656652 656665 656668 656684 656691 656693 656697 656701 656704 656705 656718 656732 656740 656743 656756 656775 656781 656786 656802 656820 656853 656866 656883 656891 656898 656901 656914 656918 656926 656964 656978 657002 657005 657052 657078 657101 657134 657160 657162 657206 657208 657219 657222 657232 657233 657257 657274 657284 657297 657305 657309 657330 657334 657335 657341 657342 657345 657364 657401 657414 657416 657421 657433 657514 657515 657519 657561 657563 657566 657567 657571 657576 657581 657605 657630 657633 657642 657643 657649 657654 657655 657690 657767 657799 657805 657808 657810 657811 657812 657844 657855 657860 657863 657869 657900 657901 657902 657918 657921 657927 657957 657959 657981 658009 658012 658056 658066 658097 658102 658109 658114 658145 658154 658157 658182 658186 658214 658217 658240 658250 658252 658260 658272 658274 658275 658285 658295 658319 658320 658326 658338 658360 658365 658367 658392 658410 658417 658428 658483 658489 658491 658495 658576 658581 658631 658633 658635 658637 658647 658653 658656 658657 658680 658682 658683 658685 658722 658727 658756 658761 658791 658793 658803 658805 658806 658821 658824 658845 658874 658876 658889 658917 658918 658922 658933 658935 658978 658985 658989 659051 659060 659066 659076 659079 659082 659083 659087 659146 659218 659223 659224 659225 659256 659296 659300 659304 659306 659308 659330 659344 659348 659350 659361 659363 659364 659371 659377 659439 659442 659449 659492 659554 659556 659557 659570 659572 659577 659597 659622 659686 659700 659702 659714 659746 659754 659787 659794 659802 659809 659811 659818 659839 659884 659898 659900 659914 659940 659961 659968 659969 659971 659981 659983 660014 660046 660079 660085 660090 660103 660106 660111 660122 660124 660143 660146 660227 660241 660243 660245 660274 660311 660313 660317 660319 660358 660399 660404 660410 660451 660511 660515 660517 660536 660595 660618 660640 660647 660648 660700 660731 660735 660739 660741 660782 660803 660806 660826 660847 660917 660946 660962 660964 660965 660972 660998 661016 661032 661033 661036 661038 661066 661069 661074 661085 661090 661106 661139 661144 661146 661157 661176 661177 661187 661195 661197 661232 661290 661318 661329 661333 661341 661380 661382 661418 661484 661512 661526 661534 661539 661549 661556 661557 661561 661625 661627 661658 661690 661694 661732 661736 661739 661752 661755 661783 661789 661833 661893 661896 661922 661943 661982 661992 662002 662004 662008 662023 662028 662039 662041 662043 662044 662049 662064 662095 662102 662121 662147 662149 662158 662190 662200 662209 662229 662239 662253 662254 662255 662285 662295 662332 662334 662351 662356 662361 662425 662427 662431 662435 662439 662487 662488 662510 662512 662544 662552 662555 662601 662612 662641 662687 662692 662697 662701 662705 662713 662737 662789 662790 662811 662820 662860 662895 662897 662900 662903 662954 662965 663012 663039 663058 663098 663099 663121 663196 663198 663199 663241 663242 663262 663289 663308 663323 663332 663337 663338 663342 663345 663351 663361 663362 663363 663365 663372 663373 663378 663383 663384 663386 663398 663402 663405 663448 663458 663459 663483 663502 663536 663600 663645 663674 663716 663718 663732 663733 663749 663750 663770 663772 663775 663784 663803 663942 663962 663992 663995 664006 664007 664034 664038 664041 664078 664080 664084 664097 664098 664100 664110 664113 664151 664184 664186 664190 664192 664209 664246 664248 664264 664344 664362 664376 664408 664429 664460 664479 664485 664502 664515 664519 664525 664587 664589 664590 664684 664686 664726 664745 664748 664750 664758 664780 664785 664786 664790 664793 664831 664835 664850 664853 664854 664927 664929 664942 664962 664965 664966 664979 664991 665009 665010 665056 665061 665064 665070 665074 665076 665087 665090 665102 665104 665106 665163 665164 665165 665182 665190 665202 665235 665236 665238 665240 665258 665276 665278 665361 665374 665408 665429 665464 665499 665506 665507 665509 665525 665526 665535 665540 665552 665555 665590 665618 665630 665705 665716 665718 665721 665722 665728 665749 665774 665777 665793 665833 665834 665837 665848 665867 665869 665874 665879 665917 665928 665944 665945 665972 665983 666003 666021 666023 666028 666029 666062 666068 666075 666077 666079 666083 666085 666149 666151 666152 666153 666155 666158 666160 666161 666175 666176 666177 666196 666203 666253 666255 666267 666291 666325 666366 666462 666463 666497 666502 666512 666513 666515 666544 666577 666602 666604 666614 666640 666644 666662 666664 666679 666682 666716 666764 666770 666776 666794 666807 666809 666891 666893 666916 666969 667008 667023 667027 667089 667091 667095 667135 667194 667204 667209 667210 667212 667214 667225 667301 667313 667351 667368 667381 667454 667461 667462 667486 667514 667535 667566 667571 667581 667595 667606 667613 667618 667651 667671 667672 667683 667701 667711 667714 667725 667781 667797 667800 667867 667914 667924 667943 667944 667946 667968 667978 667979 667980 667993 668011 668026 668089 668131 668180 668205 668231 668274 668322 668344 668346 668403 668404 668440 668441 668492 668510 668533 668544 668555 668557 668665 668690 668753 668762 668775 668779 668813 668816 668838 668858 668861 668866 668879 668916 668917 668961 668963 669008 669017 669026 669028 669047 669050 669081 669083 669084 669090 669096 669102 669113 669115 669117 669120 669123 669126 669137 669202 669203 669209 669222 669281 669283 669287 669288 669298 669304 669314 669374 669380 669384 669386 669388 669392 669399 669496 669498 669501 669511 669570 669575 669581 669586 669598 669605 669612 669616 669631 669640 669645 669683 669695 669698 669699 669739 669747 669749 669750 669755 669771 669793 669805 669866 669920 669933 669947 669948 669953 669955 669957 669960 669979 670062 670069 670081 670088 670097 670099 670102 670104 670134 670135 670157 670197 670249 670274 670282 670284 670287 670318 670327 670356 670357 670369 670377 670415 670449 670455 670480 670495 670517 670550 670584 670607 670614 670629 670639 670641 670656 670713 670756 670763 670796 670822 670829 670864 670869 670871 670881 670905 670925 670948 670957 671030 671072 671132 671137 671142 671219 671220 671222 671223 671251 671254 671284 671288 671300 671323 671346 671348 671350 671355 671372 671375 671378 671387 671390 671418 671428 671429 671457 671519 671521 671523 671534 671540 671542 671544 671556 671572 671608 671642 671646 671679 671685 671712 671742 671744 671746 671776 671778 671779 671784 671811 671819 671834 671896 671911 671936 671966 672010 672030 672078 672125 672127 672131 672133 672152 672158 672198 672203 672212 672234 672236 672239 672259 672317 672361 672412 672413 672430 672439 672440 672451 672468 672477 672479 672488 672489 672490 672493 672502 672537 672540 672541 672547 672552 672578 672587 672612 672615 672623 672626 672656 672663 672668 672670 672672 672674 672681 672684 672686 672708 672711 672731 672753 672754 672773 672776 672782 672785 672788 672794 672816 672830 672832 672855 672874 672887 672898 672926 672947 673008 673016 673050 673067 673074 673081 673084 673093 673101 673108 673112 673188 673198 673214 673224 673227 673293 673298 673316 673325 673346 673350 673355 673361 673365 673368 673377 673385 673398 673446 673447 673456 673459 673460 673461 673470 673472 673477 673523 673525 673527 673561 673571 673583 673584 673604 673663 673687 673706 673707 673716 673717 673738 673758 673764 673767 673800 673815 673834 673835 673837 673857 673868 673884 673891 673892 673903 673926 673927 673932 673934 673940 673950 673966 673967 673970 673972 673984 673991 673994 674033 674039 674041 674099 674142 674183 674196 674217 674282 674290 674320 674323 674342 674350 674396 674403 674415 674427 674428 674432 674433 674472 674501 674523 674540 674557 674591 674645 674666 674669 674744 674757 674810 674845 674891 674912 674923 674932 674946 674956 674958 674977 674996 674998 675004 675010 675017 675048 675065 675074 675080 675082 675103 675106 675114 675131 675145 675159 675175 675178 675182 675183 675250 675251 675272 675274 675318 675319 675331 675332 675333 675345 675374 675409 675415 675478 675482 675500 675503 675524 675533 675544 675621 675633 675733 675759 675766 675787 675789 675791 675796 675798 675806 675836 675838 675840 675842 675847 675880 675881 675883 675904 675947 675955 675974 675992 676002 676010 676022 676024 676032 676065 676078 676124 676136 676182 676184 676193 676196 676198 676223 676239 676244 676245 676247 676259 676283 676313 676320 676331 676357 676381 676524 676542 676545 676546 676572 676580 676588 676598 676614 676629 676631 676633 676636 676717 676720 676722 676730 676732 676734 676816 676817 676822 676826 676839 676874 676886 676981 676995 677012 677027 677647 677649 677651 677666 677667 677671 677740 677791 677807 677849 678075 678100 678103 678115 678116 678119 678120 678122 678125 678129 678133 678135 678136 678139 678150 678152 678153 678157 678158 678159 678160 678167 678168 678169 678174 678176 678178 678179 678180 678181 678204 678207 678237 678433 678435 678436 678449 678451 678467 678476 682742 682921 682923 682926 682927 682928 682929 682933 682936 682937 682939 682940 682941 682944 682947 682948 682951 682954 682957 682958 682959 682960 682961 682984 682985 682986 682993 682994 682996 682997 682998 682999 683002 683005 684179 684181 684183 684184 684188 684193 684226 684229 684237 684280 684282 686725 687700 687717 687739 687740 699034 699042 699048 699055 699057 699058 699061 699064 699065 699067 699075 699078 699080 699082 699094 699095 699105 699107 699109 699113 699115 699117 699119 699120 699125 699129 699132 699138 699141 699142 699156 699171 699173 699177 699178 699180 699181 699187 699188 699189 699191 699192 699193 699194 699195 699197 699199 699200 699201 699202 699203 699204 699208 699209 699210 699211 699224 699225 699226 699227 699229 699231 699232 699234 699235 699236 699239 699241 699242 699244 699246 699247 699248 699249 699258 699259 699267 699271 699272 699273 699274 699276 699277 699279 699282 699285 699293 699301 699302 699304 699305 699306 699307 699308 699309 699311 699313 699315 699316 699317 699324 699335 699339 699351 699376 699414 699415 699416 699418 699420 699439 699440 699448 699464 699465 699466 699467 699471 699473 699477 699481 699487 699490 699491 699494 699495 699505 699511 699512 699517 699518 699520 699521 699524 699526 699527 699528 699529 699530 699531 699542 699546 699547 699554 699581 699587 699588 699590 699594 699595 699596 699597 699598 699599 699601 699606 699614 699629 699631 699632 699642 699643 699644 699648 699669 699670 699671 699676 699678 699680 699681 699683 699686 699712 699716 699717 699750 699769 699770 699873 699874 699875 699876 699877 699879 699880 699881 699883 699884 699913 699922 699923 699924 699925 699926 699927 699929 699930 699931 699932 699934 699935 699936 699937 699938 699939 699951 699954 699957 699958 699960 699962 699965 699966 699967 699968 699979 699989 699992 699995 699996 699998 700000 700001 700005 700006 700007 700008 700011 700015 700016 700017 700019 700020 700021 700023 700044 700047 700056 700057 700082 700086 700087 700091 700144 700154 700161 700187 700188 700190 700303 700348 700349 700358 700413 700442 700443 700444 700445 700446 700447 700449 700450 700451 700453 700454 700455 700456 700457 700458 700459 700460 700461 700462 700463 700465 700466 700467 700468 700469 700470 700472 700473 700474 700475 700478 700479 700480 700481 700483 700484 700485 700488 700489 700491 700492 700493 700496 700499 700523 700524 700525 700526 700527 700528 700529 700531 700532 700533 700534 700535 700536 700538 700539 700541 700542 700543 700544 700545 700547 700548 700549 700553 700554 700555 700556 700558 700559 700562 700563 700566 700567 700578 700579 700580 700582 700583 700599 700603 700606 700620 700621 700649 700652 700653 700655 700656 700657 700663 700664 700666 700667 700672 700674 700675 700677 700678 700680 700681 700687 700691 700693 700694 700698 700700 700702 700705 700711 700712 700713 700714 700715 700716 700718 700719 700722 700725 700727 700734 700738 700739 700756 700759 700760 700762 700763 700766 700769 700770 700773 700776 700777 700779 700781 700782 700783 700784 700785 700786 700787 700789 700790 700794 700797 700798 700799 700804 700812 700813 700814 700815 700817 700821 700824 700825 700829 700831 700833 700841 700842 700845 700846 700848 700861 700862 700865 700866 700868 700869 700872 700876 700877 700879 700883 700884 700887 700895 700898 700899 700906 700914 700915 700921 700929 700932 700933 700935 700936 700939 700940 700941 700942 700943 700950 700954 700955 700956 700958 700961 700974 700975 700976 700978 700979 700980 700982 700987 700989 700992 700993 701003 701009 701010 701011 701012 701013 701014 701015 701016 701017 701019 701021 701027 701028 701029 701030 701036 701039 701042 701043 701044 701046 701047 701052 701053 701054 701055 701056 701059 701062 701063 701071 701072 701073 701076 701077 701078 701080 701091 701092 701094 701096 701097 701103 701104 701105 701121 701122 701125 701128 701129 701138 701139 701140 701141 701142 701182 701183 701185 701187 701188 701203 701205 701208 701214 701215 701216 701218 701227 701228 701229 701230 701231 701234 701239 701241 701265 701270 701276 701280 701283 701315 701316 701317 701330 701331 701332 701337 701338 701339 701340 701345 701347 701348 701351 701352 701353 701354 701357 701358 701364 701367 701368 701369 701370 701371 701375 701376 701379 701383 701388 701389 701390 701391 701398 701400 701403 701411 701414 701416 701417 701418 701421 701422 701423 701426 701437 701441 701445 701450 701451 701452 701453 701454 701455 701458 701462 701479 701481 701493 701495 701498 701504 701505 701513 701514 701515 701852 701903 701904 701914 701920 701922 701923 701924 701925 701926 701927 701949 701958 701969 701972 701974 701978 701979 701980 701981 701982 701983 701985 701986 701988 701989 701996 701998 702004 702006 702007 702014 702015 702017 702023 702051 702060 702061 702062 702064 702069 702072 702073 702084 702172 702178 702179 702190 702199 702201 702203 702206 702208 702210 702211 702212 702213 702214 702215 702227 702228 702230 702232 702235 717339 717352 717363 717366 717367 717368 717370 717373 717380 717382 717386 717403 717408 717418 717442 717443 717452 717454 717459 717481 717511 717531 717537 717539 717550 717551 717554 717561 717563 717624 717626 717642 717662 717668 717685 717702 717703 717719 717726 717738 717745 717750 717767 717768 717769 717781 717787 717788 717804 717811 717821 717823 717825 717826 717827 717828 717830 717833 717864 717870 717876 717880 717884 717891 717892 717893 717900 717904 717973 717985 718005 718027 718030 718031 718050 718066 718084 718133 718136 718147 718154 718155 718192 718194 718201 718203 718210 718214 718218 718219 718238 718244 718245 718246 718249 718257 718262 718273 718275 718276 718291 718300 718305 718327 718343 718357 718362 718387 718415 718463 718481 718491 718495 718510 718513 718564 718565 718566 718569 718570 718572 718591 718606 718607 718611 718617 718635 718644 718658 718662 718667 718674 718687 718691 718698 718703 718706 718711 718712 718722 718723 718741 718747 718806 718827 718841 718856 718861 718864 718870 718893 718903 718909 718910 718914 718917 718928 718935 718936 718938 718966 719019 719034 719042 719046 719048 719051 719053 719058 719059 719064 719066 719083 719101 719126 719129 719149 719165 719167 719168 719187 719198 719199 719201 719220 719245 719256 719274 719278 719349 719359 719360 719365 719378 719386 719394 719428 719429 719434 719453 719457 719473 719482 719484 719486 719499 719509 719510 719519 719551 719554 719560 719575 719579 719594 719602 719603 719634 719635 719678 719688 719712 719714 719719 719741 719750 719764 719769 719782 719792 719795 719805 719809 719818 719841 719853 719856 719857 719858 719860 719864 719871 719877 719881 719894 719941 719946 719949 719972 719974 720013 720023 720029 720066 720067 720078 720095 720119 720131 720166 720170 720181 720184 720197 720224 720225 720226 720241 720259 720260 720284 720294 720298 720311 720318 720328 720360 720371 720382 720388 720406 720426 720427 720429 720430 720466 720479 720496 720497 720509 720512 720514 720523 720542 720544 720560 720606 720651 720654 720655 720676 720683 720692 720699 720809 720811 720819 720827 720859 720860 720890 720909 720922 720926 720930 720959 720963 720982 720997 721010 721014 721022 721025 721027 721028 721044 721056 721062 721081 721082 721092 721150 721161 721185 721205 721215 721276 721277 721283 721294 721298 721311 721336 721342 721347 721351 721370 721421 721436 721438 721441 721449 721450 721463 721466 721467 721479 721498 721501 721512 721529 721530 721535 721553 721555 721561 721591 721596 721597 721599 721600 721601 721609 721615 721643 721666 721675 721681 721688 721704 721714 721720 721738 721743 721753 721754 721820 721837 721859 721918 721922 721942 721945 721957 721972 721993 721995 722005 722010 722016 722050 722061 722099 722107 722119 722121 722126 722138 722140 722143 722146 722154 722157 722198 722226 722229 722233 722252 722264 722269 722275 722286 722287 722300 722315 722317 722355 722364 722388 722389 722396 722397 722403 722410 722418 722425 722436 722444 722482 722491 722495 722498 722503 722524 722540 722553 722554 722555 722563 722568 722614 722619 722625 722629 722630 722654 722694 722698 722699 722722 722723 722725 722726 722728 722743 722753 722789 722799 722811 722812 722814 722835 722840 722856 722861 722865 722874 722880 722882 722883 722884 722957 722959 722969 722978 722990 723001 723022 723029 723045 723048 723050 723094 723149 723162 723176 723177 723179 723212 723270 723285 723287 723288 723296 723303 723323 723325 723350 723371 723387 723399 723407 723418 723443 723463 723477 723509 723513 723514 723552 723569 723571 723574 723575 723596 723604 723607 723623 723631 723633 723634 723644 723645 723653 723662 723668 723679 723692 723717 723743 723744 723751 723753 723757 723760 723764 723769 723773 723778 723783 723786 723883 723884 723893 723916 723924 723931 723936 723938 724003 724040 724047 724054 724119 724122 724125 724132 724134 724138 724139 724147 724156 724157 724176 724198 724203 724214 724215 724221 724228 724231 724235 724236 724253 724257 724280 724297 724345 724354 724373 724385 724393 724441 724447 724464 724469 724505 724508 724521 724523 724549 724550 724554 724555 724556 724560 724561 724578 724585 724587 724614 724618 724633 724636 724647 724655 724658 724662 724666 724672 724680 724683 724693 724696 724699 724700 724705 724707 724710 724711 724715 724724 724725 725584 725608 727050 727450 727533 727538 728720 728727 728728 728729 728739 728740 728741 728742 728748 728749 728750 728751 728755 728756 728757 728758 728759 728760 728761 728767 728768 728773 728774 728776 728777 728778 728779 728780 728786 728787 728797 728798 728799 728800 728801 728802 728803 728809 728838 728891 728896 728897 728898 728916 728918 728920 728922 728923 728926 728931 728935 728943 728953 728956 728958 728959 728966 728971 728973 728999 729000 729001 729003 729005 729009 729010 729011 729013 729020 729022 729031 729035 729036 729040 729041 729058 729062 729063 729066 729068 729071 729073 729076 729093 729094 729095 729096 729097 729102 729103 729105 729107 729114 729116 729120 729129 729130 729133 729134 729135 729141 729143 729144 729148 729150 729152 729157 729158 729159 729160 729161 729163 729165 729166 729168 729169 729171 729172 729173 729175 729178 729179 729180 729182 729187 729197 729199 729201 729203 729204 729207 729208 729209 729210 729211 729213 729215 729216 729218 729219 729224 729229 729231 729236 729237 729252 729406 729412 729632 729646 730650 730664 730671 730678 730679 730690 730697 730717 730726 730749 730768 730782 730790 730798 730799 730812 730835 730875 730878 730881 730892 730893 730900 730912 730916 730931 730955 730958 730961 730963 730964 730977 730981 730987 730995 731006 731007 731011 731012 731030 731033 731052 731054 731066 731082 731115 731141 731147 731159 731176 731190 731201 731207 731229 731233 731261 731265 731320 731336 731360 731383 731385 731391 731392 731421 731438 731445 731449 731450 731454 731522 731600 731682 731981 732279 732282 732290 732305 732569 732574 732644 732649 732784 732977 732978 733103 733118 733339 733358 733360 733361 733362 733364 733365 733368 733372 733373 733377 733378 733380 733381 733382 733383 733384 733387 733390 733391 733393 733394 733395 733397 733398 733401 733402 733403 733405 733406 733408 733409 733411 733415 733418 733420 733422 733426 733428 733429 733431 733434 733435 733438 733439 733441 733442 733443 733444 733445 733446 733447 733450 733466 733478 733487 733503 733550 733558 733559 733560 733580 733581 733582 733583 733588 733594 733602 733603 733607 733621 733622 733623 733624 733626 733628 733629 733631 733632 733636 733639 733643 733645 733647 733652 733656 733657 733658 733659 733660 733664 733666 733667 733668 733670 733675 733683 733691 733694 733696 733698 733722 733729 733768 733772 733785 733786 733789 733795 733796 733797 733798 733802 733803 733804 733805 733806 733811 733813 733815 733816 733817 733819 733823 733825 733833 733834 733842 733851 733853 733859 733874 733882 733884 733885 733886 733887 733893 733896 733898 733899 733901 733903 733912 733916 733917 740012 740021 740024 740025 740029 740030 740031 740032 740035 740051 740054 740058 740072 740095 740096 740111 740115 740123 740127 740128 740136 740137 740138 740139 740141 740161 740163 740164 740165 740195 740196 740233 740235 740241 740246 740247 740256 740264 740484 748191 750609 750743 750982 751253 751261 751320 751626 752119 752145 752233 752264 752270 752277 752278 752280 752310 752344 752345 752360 752365 752375 752376 752378 752383 752394 752397 752409 752429 752436 752442 752447 752449 752450 752474 752495 752649 752700 752719 752779 752804 752830 752896 752949 753140 753168 753183 753219 753275 753287 753318 753330 753357 753425 753436 753448 753489 753579 753631 753645 753665 753678 753720 753746 753790 753797 753857 753886 753934 753942 753951 753957 753983 754007 754011 754022 754092 754109 754124 754129 754146 754187 754188 754251 754267 754268 754280 754293 754295 754307 754326 754335 754348 754369 754393 754394 754455 754462 754490 754504 754517 754549 754554 754576 754613 754641 754647 754655 754656 754659 754680 754742 754775 754794 754803 754820 754859 754862 754905 754911 754953 754955 754983 754989 754995 754997 755008 755012 755024 755027 755114 755175 755177 755187 755190 755285 755308 755312 755314 755337 755351 755352 755378 755382 755385 755389 755443 755458 755465 755501 755513 755523 755540 755562 755577 755580 755593 755597 755617 755635 755650 755652 755660 755662 755672 755673 755737 755871 755892 755893 755903 755905 755906 755924 755971 755989 755991 755994 756005 756013 756021 756032 756044 756053 756055 756070 756090 756155 756158 756222 756259 756261 756262 756285 756302 756372 756391 756401 756403 756408 756411 756415 756421 756447 756460 756475 756544 756575 756597 756602 756610 756613 756681 756715 756717 756718 756730 756731 756772 756775 756787 756794 756803 756818 756822 756825 756836 756845 756851 756938 756962 756966 756997 757052 757055 757088 757106 757153 757161 757193 757194 757241 757260 757262 757264 757320 757335 757336 757338 757365 757380 757389 757399 757400 757406 757416 757435 757451 757575 757579 757595 757617 757624 757628 757633 757641 757679 757715 757759 757817 757822 757826 757851 757884 757886 757892 757926 757946 757948 757950 757964 757975 757977 757985 757990 757992 757995 758007 758020 758030 758069 758071 758072 758103 758106 758111 758112 758113 758117 758119 758124 758125 758149 758153 758159 758160 758161 758183 758207 758226 758229 758246 758264 758316 758344 758355 758373 758375 758379 758409 758413 758439 758442 758478 758480 758523 758527 758539 758542 758575 758578 758579 758624 758625 758715 758717 758733 758740 758779 758786 758797 758799 758816 758818 758836 758840 758858 758862 758866 758869 758877 758901 758962 758974 758981 758986 759009 759026 759030 759032 759108 759114 759118 759148 759194 759196 759202 759271 759274 759338 759434 759446 759462 759566 759583 759586 759588 759689 759707 759708 759718 759732 759734 759739 759768 759856 759863 759872 759881 759918 759921 759922 759923 759924 759933 759937 759941 759967 760030 760032 760064 760067 760071 760073 760080 760085 760184 760205 760323 760324 760326 760328 760336 760361 760385 760406 760481 760482 760484 760506 760508 760535 760553 760557 760581 760591 760592 760594 760606 760627 760635 760666 760672 760675 760735 760737 760738 760816 760826 760870 760872 760873 760874 760875 760876 760877 760879 760881 760935 760961 760968 761045 761054 761057 761062 761071 761073 761079 761214 761219 761221 761254 761267 761336 761366 761367 761379 761380 761393 761414 761484 761491 761495 761499 761509 761553 761560 761565 761590 761621 761623 761625 761632 761666 761741 761779 761804 761837 761877 761890 761892 761898 761904 761908 761968 761982 762003 762004 762013 762047 762067 762080 762110 762114 762118 762126 762130 762133 762135 762166 762192 762225 762239 762250 762255 762304 762322 762331 762333 762335 762345 762348 762361 762362 762372 762419 762432 762434 762437 762452 762531 762556 762559 762560 762580 762592 762596 762601 762604 762606 762615 762641 762659 762662 762676 762682 762700 762701 762719 762731 762734 762739 762741 762743 762746 762748 762808 762810 762815 762867 762879 762899 762907 762909 762940 762942 763089 763092 763096 763105 763112 763118 763138 763147 763160 763162 763175 763177 763229 763289 763290 763297 763312 763318 763320 763387 763407 763429 763445 763460 763461 763462 763480 763499 763503 763529 763530 763533 763538 763610 763669 763675 763678 763682 763683 763693 763694 763698 763700 763714 763758 763782 763784 763796 763820 763840 763871 763873 763898 763900 763901 763903 763939 763972 763974 764003 764061 764068 764071 764073 764097 764113 764177 764277 764306 764307 764311 764318 764336 764383 764390 764398 764410 764453 764455 764466 764476 764482 764487 764495 764498 764503 764538 764547 764565 764625 764631 764633 764635 764639 764687 764689 764691 764700 764724 764742 764744 764763 764782 764784 764790 764792 764794 764801 764803 764805 764809 764826 764864 764876 764907 764937 764965 764974 764985 764989 764991 764992 764995 764998 765001 765004 765007 765027 765029 765072 765105 765106 765113 765115 765128 765131 765139 765260 765273 765292 765294 765298 765307 765319 765326 765373 765382 765412 765424 765431 765439 765455 765506 765512 765530 765538 765541 765542 765564 765565 765569 765603 765618 765689 765781 765864 765885 765900 765911 765950 765956 765962 765980 766017 766022 766025 766032 766034 766035 766038 766039 766044 766064 766087 766108 766135 766140 766143 766145 766146 766147 766198 766201 766203 766224 766229 766263 766266 766285 766294 766295 766306 766307 766309 766326 766345 766349 766355 766357 766367 766379 766400 766409 766410 766412 766426 766450 766500 766510 766513 766550 766553 766594 766696 766713 766716 766718 766722 766726 766773 766791 766808 766811 766942 766946 766950 766966 766969 766972 766986 766995 766996 767000 767003 767031 767032 767033 767046 767048 767050 767056 767060 767069 767070 767071 767086 767150 767153 767233 767260 767296 767303 767306 767309 767312 767356 767368 767371 767379 767382 767410 767432 767436 767442 767465 767479 767480 767550 767560 767601 767602 767620 767629 767630 767652 767677 767699 767707 767714 767730 767733 767739 767805 767815 767817 767820 767826 767829 767836 767847 767868 767870 767878 767881 767920 767921 767924 767948 767967 767972 767985 767992 768022 768023 768029 768042 768061 768074 768076 768082 768090 768091 768092 768103 768107 768112 768118 768130 768133 768142 768175 768176 768202 768236 768252 768269 768298 768340 768356 768401 768402 768445 768461 768471 768473 768498 768502 768504 768538 768540 768542 768553 768558 768581 768669 768687 768712 768793 768810 768812 768868 768879 768895 768911 768974 768978 768982 769001 769004 769061 769062 769069 769084 769174 769209 769244 769249 769251 769255 769257 769260 769265 769268 769271 769274 769276 769282 769286 769290 769311 769339 769341 769356 769357 769414 769417 769436 769475 769478 769480 769482 769486 769493 769530 769544 769552 769578 769581 769585 769587 769589 769594 769598 769602 769605 769616 769646 769654 769710 769767 769777 769780 769787 769791 769795 769813 769814 769815 769829 769831 769849 769853 769854 769855 769862 769869 769902 769904 770009 770042 770050 770061 770106 770121 770137 770142 770146 770150 770152 770237 770243 770244 770254 770259 770261 770264 770303 770309 770325 770333 770337 770339 770351 770371 770372 770382 770386 770438 770439 770447 770456 770457 770458 770460 770468 770476 770481 770500 770517 770529 770544 770564 770574 770579 770592 770595 770599 770604 770606 770612 770622 770623 770625 770630 770649 770666 770668 770674 770694 770715 770732 770737 770739 770858 770859 770863 770880 770893 770895 770896 770897 770901 770909 770916 770917 770920 770927 770932 770934 770936 770944 770946 770949 770951 770955 770959 770962 770980 770981 770983 770985 770987 770988 770990 771001 771002 771004 771014 771017 771019 771021 771022 771023 771029 771030 771032 771046 771049 771053 771055 771060 771061 771066 771070 771136 771138 771147 771163 771167 771168 771181 771182 771194 771199 771200 771211 771215 771216 771221 771240 771259 771267 771274 771284 771293 771294 771297 771302 771309 771310 771312 771316 771334 771341 771343 771362 771363 771364 771365 771369 771382 771387 771389 771393 771397 771398 771399 771404 771405 771409 771411 771414 771424 771432 771433 771435 771438 771442 771447 771450 771456 771457 771469 771486 771487 771492 771498 771502 771503 771520 771526 771535 771537 771541 771544 771550 771551 771552 771555 771557 771566 771567 771580 771584 771587 771589 771590 771607 771612 771613 771627 771642 771643 771644 771645 771648 771664 771676 771683 771686 771695 771711 771720 771726 771728 771732 771733 771735 771736 771737 771745 771752 771754 771765 771766 771772 771773 771774 771788 771791 771795 771802 771804 771805 771809 771810 771812 771813 771815 771821 771826 771827 771828 771830 771832 771840 771847 771848 771851 771863 771867 771885 771887 771892 771895 771896 771899 771903 771904 771905 771907 771909 771918 771919 771922 771923 771925 771927 771934 771936 771937 771942 771947 771949 771950 771954 771956 771964 771965 771970 771975 771980 771983 771987 771988 771991 771993 771994 771998 772000 772005 772018 772032 772037 772039 772045 772051 772054 772056 772058 772059 772068 772069 772072 772076 772080 772084 772089 772090 772107 772110 772123 772125 772127 772138 772139 772143 772150 772158 772162 772164 772166 772179 772195 772200 772202 772203 772204 772208 772213 772222 772223 772227 772228 772230 772239 772241 772244 772245 772249 772258 772259 772264 772267 772270 772276 772278 772282 772283 772285 772293 772294 772296 772316 772318 772319 772321 772326 772334 772335 772340 772342 772344 772353 772357 772359 772373 772376 772379 772381 772397 772398 772400 772407 772416 772419 772420 772436 772440 772441 772446 772453 772454 772455 772459 772463 772477 772481 772489 772501 772505 785392 795571 795575 795582 795585 795595 795597 795614 795617 795625 795642 795650 795652 795660 795661 795668 795671 795674 795680 795708 795710 795711 795712 795713 795714 795715 795716 795717 795718 795725 795726 795727 795732 795733 795734 795735 795736 795742 795744 795745 795746 795747 795749 795750 795751 795753 795754 795755 795762 795763 795764 795770 796327 796399 796419 796467 796473 796479 796487 796512 796552 796616 796638 804933 804957 804984 805080 805087 805098 805138 805303 805413 805428 805429 805574 805652 805814 805859 805908 805912 805936 806008 806033 806081 806372 806569 806919 806944 806948 806951 807109 807115 807160 807519 807746 807756 807971 808096 808113 808224 808307 808313 809886 809887 809889 809890 809893 809894 809896 809897 809900 809907 809908 809909 809914 809916 809918 809927 809931 809932 809933 809951 809953 812405 812468 812469 813158 813171 813193 813196 813200 813204 813205 813211 813433 813618 813695 813697 813724 813725 813801 813828 813866 813872 813900 815051 815052 851343 870160 870507 871680 872887 872893 872894 872895 872896 872906 872908 872909 872917 872969 872971 872972 872973 872976 872994 872996 872997 873003 873012 873014 873016 873019 873023 873028 873036 873038 873039 873046 873047 873055 873066 873071 873078 873084 873093 873095 873099 873103 873105 873106 873109 873110 873112 873113 873117 873118 873119 873120 873123 873128 873137 873138 873140 873144 873145 873147 873149 873151 873153 873154 873156 873161 873162 873164 873166 873167 873172 873173 873182 873183 873188 873190 873195 874039 874040 874042 874052 874059 874062 874063 874065 874066 874072 874077 874080 874161 874164 875922 875945 875947 875949 875952 875954 875962 875966 875967 875968 875976 875977 875986 875999 876027 876043 876060 876066 876076 876085 876088 876112 876139 876147 876148 876160 876170 876173 876179 876188 876196 876208 876212 876218 876221 876224 876225 876226 876231 876234 876716 876730 876742 876757 876768 876891 877813 877814 877817 877819 877821 877822 877824 877825 877826 877828 877830 877831 877832 877835 877836 877846 877847 877860 877863 877864 877867 877869 877871 877874 877881 877893 877894 877895 877915 877916 877917 877919 877920 877921 877922 877926 877927 877928 877930 877932 877933 877940 877942 877943 877944 877945 877947 877948 877949 877950 877951 877956 877957 877960 877962 877963 877964 877965 877966 877967 877968 877970 877971 877991 878010 878017 878021 878022 878023 878024 878028 878029 878031 878032 878034 878037 878038 878043 878045 878047 878050 878051 878053 878061 878070 878093 878094 878095 878099 878100 878116 878126 878130 878137 878140 878151 878152 878156 878159 878165 878167 878168 878170 878171 878172 878173 878174 878176 878189 878190 878197 878198 878199 878200 878203 878205 878207 878209 878216 878218 878219 878222 878223 878232 878233 878253 878255 878260 878261 878262 878263 878264 878267 878269 878271 878279 878280 878281 878287 878288 878291 878297 878298 878300 878308 878309 878311 878315 878316 878318 878319 878320 878321 878323 878325 878328 878330 878338 878339 878346 878355 878358 878359 878362 878370 878372 878378 878383 878385 878393 878411 878412 878414 878419 878422 878430 878433 878435 878439 878440 878441 878450 878453 878457 878459 878482 878496 878504 878512 878513 878531 878535 878536 878537 878545 879271 879272 879285 879286 879360 879370 879383 879396 879404 879424 879430 879431 879444 879469 879485 882989 883242 883243 885057 885215 885522 885571 885754 885809 885824 885849 886294 886516 886530 886549 886561 886562 886563 886564 886613 886651 886658 886700 886739 886895 886985 887016 887081 887128 887129 887130 887140 887168 887187 887188 887323 887359 887422 887454 887457 887458 887525 887551 887557 887581 887621 887630 887641 887647 887688 887700 887953 887971 887984 887985 887987 887988 888064 888065 888185 888279 888339 888475 888480 888483 888710 888714 888799 888821 888950 888951 888952 888953 888955 888958 888974 888985 888999 889057 889134 889300 889411 889802 889971 890024 890028 890081 890082 890083 890169 890707 890762 890783 891343 891430 891457 891478 891543 891546 891547 891548 891587 891703 891738 891743 891841 891918 892022 892043 892045 892281 892282 892283 892285 892287 892290 892378 892571 892576 892578 892885 892938 892994 893032 893059 893221 893235 893236 893294 893303 893504 893511 893526 893629 893652 893667 893675 893682 893737 893778 893808 893820 894114 894239 894272 894545 894712 894826 894892 895009 895222 895579 895897 896117 896137 896511 896640 896702 897343 897640 897641 897899 898104 898488 898957 900412 901291 901783 902780 903222 903411 903898 904036 904604 904644 904976 905025 905392 905462 905464 905478 905598 905667 905677 905678 905683 905859 906020 906166 906167 906476 906480 906501 906802 906872 906938 906952 906953 907160 907186 907303 907359 907380 907409 907410 907461 907500 907696 907699 907702 907721 907742 907766 907799 907802 907803 907808 907819 907826 907845 907875 907879 907891 907912 907913 907918 907928 907936 907946 907947 907949 907950 907953 907956 907971 907972 907983 907984 907996 908002 908007 908014 908015 908018 908019 908044 908045 908057 908058 908082 908083 908086 908088 908102 908111 908156 908231 908244 908246 908254 908265 908267 908273 908274 908286 908291 908319 908327 908328 908331 908333 908338 908343 908351 908358 908390 908405 908417 908438 908481 908483 908489 908490 908492 908512 908527 908577 908579 908595 908598 908614 908620 908622 908625 908632 908639 908641 908644 908705 908717 908719 908735 908744 908763 908781 908783 908785 908786 908798 908806 908807 908813 908815 908863 908866 908873 908876 908878 908883 908891 908912 908921 908935 908956 908957 908962 908966 908974 908996 909000 909002 909013 909016 909032 909034 909046 909063 909077 909079 909083 909092 909109 909110 909133 909134 909154 909199 909243 909245 909248 909252 909264 909265 909266 909274 909277 909278 909317 909326 909360 909381 909391 909393 909398 909399 909408 909416 909419 909420 909424 909436 909442 909450 909460 909462 909493 909521 909526 909528 909533 909535 909552 909564 909566 909567 909574 909575 909602 909605 909610 909613 909617 909623 909628 909630 909633 909635 909646 909675 909676 909680 909683 909695 909703 909725 909727 909735 909748 909750 909772 909787 909799 909813 909820 909822 909823 909836 909837 909853 909856 909857 909867 909871 909874 909880 909911 909932 909943 909976 909977 909987 909997 910005 910006 910012 910023 910029 910038 910067 910079 910080 910083 910084 910099 910100 910101 910103 910104 910110 910114 910123 910124 910131 910133 910141 910150 910172 910181 910208 910210 910212 910235 910239 910247 910249 910257 910277 910281 910283 910288 910290 910309 910323 910327 910329 910355 910385 910387 910388 910400 910407 910415 910416 910431 910433 910440 910473 910476 910477 910497 910501 910507 910511 910526 910548 910552 910636 910649 910651 910661 910675 910677 910689 910690 910691 910697 910701 910706 910712 910738 910748 910750 910756 910770 910778 910779 910786 910792 910796 910798 910804 910814 910815 910816 910831 910833 910888 910968 910975 910984 910986 910997 910999 911027 911048 911052 911053 911085 911086 911142 911158 911159 911202 911214 911218 911234 911237 911242 911244 911246 911253 911254 911260 911262 911281 911292 911300 911301 911307 911308 911326 911329 911336 911353 911355 911365 911366 911369 911375 911386 911393 911402 911414 911423 911424 911429 911435 911439 911440 911447 911449 911450 911454 911455 911459 911464 911484 911516 911522 911550 911551 911567 911568 911570 911587 911597 911598 911599 911611 911614 911615 911633 911646 911661 911663 911677 911720 911735 911782 911783 911786 911790 911791 911795 911810 911818 911831 911837 911840 911850 911881 911885 911912 911915 911916 911928 911932 911936 911949 911951 911969 911974 911976 911983 912002 912020 912022 912024 912035 912038 912052 912056 912057 912066 912082 912083 912084 912098 912099 912107 912125 912126 912127 912128 912133 912135 912139 912143 912171 912180 912186 912190 912202 912203 912204 912208 912217 912286 912290 912291 912296 912311 912312 912319 912357 912358 912364 912365 912366 912382 912392 912393 912406 912413 912422 912444 912447 912494 912513 912519 912522 912523 912524 912537 912563 912567 912586 912622 912637 912644 912645 912646 912676 912680 912682 912699 912703 912726 912732 912733 912784 912791 912830 912851 912852 912853 912882 912887 912893 912915 912916 912918 912926 912927 912933 912949 912955 912956 912976 912989 913002 913009 913013 913058 913060 913061 913126 913140 913143 913146 913151 913152 913166 913189 913191 913199 913202 913204 913208 913225 913238 913246 913252 913269 913293 913295 913331 913339 913356 913358 913371 913386 913393 913396 913414 913438 913439 913444 913456 913458 913463 913468 913483 913484 913485 913487 913493 913498 913499 913506 913507 913510 913516 913518 913528 913539 913544 913553 913554 913556 913590 913615 913630 913631 913666 913667 913668 913677 913678 913688 913703 913705 913708 913718 913723 913736 913743 913755 913771 913773 913787 913809 913811 913838 913861 913883 913910 913911 913915 913917 914016 914024 914030 914039 914043 914044 914045 914052 914092 914093 914094 914104 914117 914138 914149 914158 914164 914165 914171 914173 914195 914212 914213 914232 914239 914240 914248 914253 914271 914273 914294 914295 914312 914325 914335 914344 914354 914356 914358 914376 914392 914394 914400 914407 914416 914447 914462 914465 914466 914485 914488 914534 914538 914559 914563 914579 914584 914588 914590 914601 914602 914609 914615 914624 914665 914687 914697 914698 914699 914729 914731 914737 914738 914741 914743 914757 914760 914761 914773 914777 914784 914788 914789 914793 914806 914823 914850 914873 914874 914878 914887 914889 914890 914892 914948 914973 915011 915020 915026 915040 915048 915050 915057 915063 915064 915070 915071 915081 915082 915102 915106 915108 915127 915136 915137 915138 915139 915140 915142 915144 915162 915195 915196 915197 915198 915224 915256 915268 915269 915284 915341 915349 915355 915372 915381 915387 915388 915393 915410 915421 915440 915452 915453 915455 915456 915461 915462 915468 915472 915481 915482 915504 915509 915510 915515 915517 915572 915602 915608 915611 915614 915615 915623 915625 915626 915638 915655 915657 915662 915664 915665 915704 915738 915742 915757 915758 915760 915772 915785 915786 915796 915798 915799 915801 915808 915830 915831 915853 915856 915858 915859 915860 915877 915878 915879 915883 915884 915885 915909 915916 915934 915974 916006 916007 916015 916034 916035 916086 916087 916092 916113 916114 916124 916125 916160 916168 916173 916174 916177 916178 916188 916203 916207 916211 916227 916289 916293 916294 916336 916344 916346 916361 916374 916385 916388 916391 916401 916425 916449 916456 916457 916458 916474 916476 916477 916490 916504 916508 916520 916529 916541 916544 916554 916571 916629 916630 916635 916639 916640 916641 916644 916645 916646 916647 916648 916661 916663 916677 916678 916694 916701 916702 916703 916715 916723 916737 916802 916826 916827 916834 916865 916881 916886 916887 916895 916902 916906 916927 917017 917036 917525 917533 917538 917541 917547 917564 917589 917591 917594 917599 917603 917624 917633 917639 917640 917655 917678 917681 917685 917688 917703 917735 917736 917737 917743 917748 917779 917821 917822 917829 917830 917835 917839 917843 917845 917848 917849 917850 917851 917852 917854 917859 917860 917862 917864 917865 917866 917871 917895 917896 917900 917901 917903 917904 917907 917908 917910 917914 917928 917929 917933 917936 917937 917938 917939 917940 917944 917964 917970 917976 918001 918018 918019 918021 918022 918026 918027 918028 918029 918031 918035 918036 918041 918043 918266 918269 918278 918284 918285 919253 919269 919273 919281 919282 919289 919298 919306 919307 919315 919323 919327 919328 919333 919339 919348 919349 919351 919354 919356 919360 919369 919371 919376 919378 919380 919385 919387 919388 919390 920449 920450 920464 935690 935699 935796 935868 935902 935907 935914 935917 935936 935945 935948 935950 935959 935960 935961 935965 935966 935985 935986 935987 935989 936003 936060 936065 936072 936073 936074 936103 936104 936105 936115 936122 936139 936142 936147 936148 936150 936185 936219 936240 936246 936260 936267 936268 936269 936270 936271 936274 936278 937596 937599 937602 937604 937606 937612 937613 937622 937623 937624 937625 937626 937627 937630 937639 937640 937641 937645 937647 937648 937649 937770 937771 937833 937843 937846 937849 937851 937856 937858 937867 937871 937873 937879 937891 937898 937904 937909 937911 937915 937916 937926 937928 937931 937940 937941 937942 938427 938430 938436 938438 938482 939219 939224 939232 939233 939237 939239 939241 939243 939244 939253 939261 939273 939276 939290 939297 939301 939310 939311 939329 939339 939344 939357 939378 939381 939393 939400 939401 939403 939420 939422 939455 939457 939461 939464 939465 939478 939506 939514 939525 939530 939537 939672 939679 939698 939699 939711 939729 939734 939735 939773 939777 939797 939798 939803 939809 939812 939831 939835 939844 939861 939866 939867 939869 939875 939876 939882 939895 939897 939898 939904 939905 939937 945799 945800 945802 945803 945804 945805 946019 946224 946251 946377 947344 947503 947604 947608 947613 947614 947654 947658 947665 947666 947670 947675 947676 947682 947687 947688 947689 947690 947691 947692 947693 947694 947695 947699 947707 947713 947716 947723 947725 947732 949115 949117 949209 949288 949301 949307 949312 949359 949360 949390 949392 949411 949430 949476 949636 949665 949736 949738 950159 950161 950163 950170 950181 950188 950189 950191 950194 950196 950199 950212 950216 950217 950219 950221 950236 950252 950255 950261 950275 950279 950280 950287 950289 950294 950296 950297 950300 950301 950309 950318 950320 950321 950327 950345 950350 950352 950354 950359 950360 950368 950372 950382 950386 950387 950437 950445 950450 950453 950454 950455 950457 950460 950461 950463 950464 950466 950476 950479 950482 950483 950488 950491 950500 950504 950506 950511 950515 950517 950546 950562 950563 950564 950567 950568 950580 950585 950586 950597 950613 950614 950640 950648 950650 950651 950667 950687 950689 950700 950708 950710 950711 950714 950716 950718 950720 950721 950723 950735 950736 950738 950740 950742 950744 950749 950757 950760 950762 950765 950771 950772 950773 950778 950779 950787 950789 950790 950800 950801 950808 950820 950828 950835 950838 950842 950844 950846 950847 950854 950858 950859 950866 950869 950873 950875 950876 950880 950881 950887 950888 950890 950891 950893 950894 950898 950899 950905 950923 950928 950931 950934 950935 950950 950951 950952 950956 950958 950959 950961 950963 950964 950966 950968 950969 950972 950979 951009 951053 951105 951117 951174 951194 951201 951202 951215 951232 951233 951283 951290 951293 951311 951324 951327 951344 951345 951382 951383 951384 951422 951496 951544 951590 951676 951707 951914 951980 951989 952007 952010 952011 952039 952059 952070 952094 952099 952164 952248 952352 952543 952605 952626 952656 952670 952835 952858 952877 952900 952909 952923 952980 953007 953046 953049 953067 953133 953219 953467 953633 953905 954036 954072 954104 954126 954203 954435 954567 954792 954856 954879 954994 955020 955062 955084 955122 955126 955176 955271 955274 955344 955566 955590 955949 956067 956137 956157 956320 956346 956497 956498 956669 956920 957267 957341 957489 957500 957621 957739 958005 958017 958018 958044 958387 958644 958645 958744 959222 959301 959662 959961 959966 959987 960263 960264 960267 960273 960282 960296 960312 960318 960319 960336 960343 960360 960364 960375 960382 960389 960392 960395 960407 960408 960412 960413 960414 960422 960435 960491 960498 960500 960501 960541 960554 960557 960558 960559 960575 960576 960598 960605 960621 960624 960654 960660 960662 960675 960677 960682 960683 960698 960710 960713 960716 960722 960736 960737 960741 960756 960777 960806 960807 960808 960813 960815 960823 960838 960841 960857 960864 960872 960876 960887 960892 960893 960904 960908 960909 960911 960917 960918 960945 960946 961017 961020 961025 961029 961045 961048 961049 961075 961078 961081 961110 961111 961119 961123 961132 961135 961136 961143 961180 961191 961200 961209 961210 961211 961215 961216 961221 961225 961235 961253 961260 961265 961273 961275 961293 961294 961325 961333 961334 961361 961371 961397 961398 961399 961400 961405 961466 961471 961475 961484 961486 961487 961488 961522 961525 961550 961551 961552 961566 961595 961617 961618 961633 961636 961637 961638 961649 961658 961664 961666 961667 961690 961691 961697 961702 961703 961727 961776 961780 961820 961838 961842 961844 961845 961890 961930 961935 961937 961969 961986 961997 962000 962054 962075 962082 962090 962105 962106 962117 962138 962166 962203 962257 962261 962271 962276 962280 962324 962329 962335 962340 962354 962380 962385 962390 962391 962407 962416 962421 962422 962433 962436 962443 962453 962458 962459 962470 962471 962483 962484 962486 962504 962508 962522 962523 962526 962529 962559 962599 962630 962684 962701 962702 962706 962707 962708 962729 962730 962731 962739 962741 962799 962852 962853 962870 962871 962878 962894 962901 962903 962915 962916 962921 962934 962947 962965 962966 962969 962972 963000 963011 963013 963040 963044 963065 963067 963071 963074 963075 963085 963086 963098 963099 963141 963150 963151 963152 963155 963156 963158 963167 963170 963191 963192 963196 963197 963200 963201 963253 963254 963267 963271 963281 963302 963303 963305 963313 963316 963319 963322 963336 963395 963440 963447 963458 963461 963462 963469 963492 963505 963508 963514 963518 963525 963616 963620 963621 963625 963626 963643 963670 963681 963682 963683 963684 963685 963695 963717 963720 963729 963734 963739 963741 963748 963764 963770 963771 963817 963826 963838 963839 963856 963858 963859 963867 963887 963910 963913 963916 963933 963934 963938 963939 963941 963950 963964 963965 963969 963978 963998 964006 964007 964013 964017 964018 964026 964027 964030 964040 964051 964053 964063 964072 964079 964101 964102 964103 964104 964109 964110 964121 964122 964123 964124 964141 964150 964174 964183 964184 964197 964222 964224 964236 964240 964242 964243 964248 964256 964261 964264 964265 964274 964284 964287 964289 964305 964306 964312 964315 964333 964356 964365 964392 964402 964413 964415 964417 964423 964425 964448 964449 964459 964460 964462 964487 964513 964517 964569 964574 964584 964586 964588 964602 964609 964628 964642 964645 964647 964648 964652 964657 964661 964664 964677 964682 964683 964686 964694 964706 964707 964708 964715 964730 964737 964739 964750 964751 964758 964769 964770 964772 964774 964783 964804 964876 964884 964885 964890 964897 964923 964924 964944 964947 964960 964961 965009 965015 965020 965021 965044 965047 965049 965056 965063 965065 965080 965085 965104 965127 965129 965184 965199 965215 965222 965225 965226 965228 965250 965256 965265 965268 965300 965310 965324 965367 965381 965382 965387 965393 965394 965412 965416 965453 965470 965472 965473 965477 965480 965489 965492 965494 965497 965499 965500 965502 965508 965514 965537 965582 965585 965592 965594 965601 965615 965618 965625 965645 965648 965674 965676 965716 965733 965739 965742 965750 965764 965784 965795 965798 965805 965822 965826 965832 965882 965885 965892 965909 965913 965920 965924 965939 965940 965941 965945 965993 965996 966003 966011 966012 966028 966035 966063 966070 966072 966073 966097 966105 966107 966133 966136 966137 966138 966145 966149 966150 966157 966166 966168 966193 966202 966211 966213 966215 966216 966231 966258 966261 966263 966289 966325 966352 966353 966369 966370 966373 966379 966384 966385 966388 966393 966396 966417 966433 966437 966438 966441 966451 966464 966477 966478 966481 966505 966529 966539 966544 966570 966571 966586 966597 966605 966630 966645 966652 966657 966667 966676 966703 966748 966759 966760 966768 966777 966794 966803 966815 966819 966822 966823 966824 966842 966845 966851 966857 966900 966903 966906 966908 966909 966910 966914 966915 966933 966945 966948 966967 966971 966973 966991 966994 966998 967000 967001 967005 967019 967043 967047 967051 967074 967075 967094 967097 967099 967104 967106 967110 967111 967121 967152 967156 967165 967167 967171 967172 967207 967242 967244 967248 967250 967252 967283 967285 967367 967369 967370 967376 967380 967384 967386 967397 967405 967432 967434 967435 967436 967440 967444 967446 967452 967489 967526 967528 967535 967538 967560 967567 967575 967580 967619 967626 967628 967649 967650 967664 967675 967680 967722 967740 967742 967748 967769 967784 967787 967795 967803 967804 967809 967815 967829 967832 967833 967835 967836 967850 967853 967855 967868 967869 967919 967930 967931 967935 967940 967977 968015 968021 968043 968046 968054 968057 968060 968062 968063 968094 968099 968102 968104 968107 968130 968140 968175 968205 968213 968215 968220 968225 968226 968233 968236 968242 968244 968293 968294 968304 968312 968320 968329 968331 968348 968383 968385 968388 968390 968391 968393 968409 968410 968416 968421 968424 968425 968430 968431 968497 968498 968510 968512 968517 968520 968523 968532 968542 968554 968557 968570 968586 968630 968639 968642 968675 968682 968685 968698 968699 968700 968701 968702 968704 968721 968771 968774 968798 968799 968803 968827 968833 968834 968835 968836 968837 968838 968839 968840 968868 968875 968887 968897 968898 968906 968909 968925 968932 968934 968938 968939 968940 968941 968963 968965 969006 969017 969018 969022 969023 969054 969073 969077 969142 969143 969148 969151 969152 969164 969173 969174 969177 969179 969181 969207 969213 969214 969223 969232 969250 969254 969256 969257 969262 969271 969276 969277 969281 969314 969327 969329 969330 969342 969346 969357 969364 969365 969368 969386 969400 969417 969419 969429 969449 969469 969470 969472 969474 969479 969486 969494 969496 969501 969503 969511 969512 969523 969538 969566 969586 969588 969592 969607 969613 969614 969762 969764 969767 969768 969771 969775 969783 969795 969803 969814 969816 969819 969827 969832 969833 969841 969846 969875 969876 970030 970041 970058 970096 970097 970154 970216 970326 970462 970567 970603 970610 970823 970952 970963 970966 970969 970981 970984 971017 971022 971024 971025 971076 971088 971089 971093 971100 971104 971106 971113 971116 971122 971128 971135 971149 971150 971151 971155 971156 971172 971178 971201 971204 971206 971208 971219 971241 971296 971316 971325 971326 971350 971356 971359 971368 971377 971384 971388 971391 971405 971406 971409 971412 971417 971418 971424 971446 971474 971482 971496 971510 971513 971524 971526 971537 971542 971543 971547 971573 971576 971579 971585 971595 971606 971612 971613 971625 971626 971631 971637 971641 971645 971648 971657 971659 971668 971676 971700 971703 971704 971705 971706 971712 971713 971724 971727 971729 971735 971744 971748 971750 971752 971756 971757 971759 971764 971766 971778 971780 971783 971786 971791 971797 971807 971809 971818 971825 971830 971832 971833 971842 971870 971881 971899 971902 971910 971940 972069 972075 972079 972189 972208 972217 972219 972221 972248 972260 972263 972266 972268 972270 972272 972275 972300 972314 972319 972333 972342 972343 972345 972349 972361 972371 972378 972381 972392 973456 975057 976940 981805 981809 981811 982016 982025 982027 982036 982039 982068 982097 982099 982111 982118 982128 982132 982141 982169 982176 982205 982206 982209 982211 982237 982242 982245 982249 982257 982263 982266 982294 982299 982303 982310 982313 982317 982327 982331 982338 982345 982349 982350 982351 982352 982353 982360 982362 982366 982367 982368 982380 982394 982402 982435 982443 991807 991821 991824 991829 991838 991860 991867 993230 993231 993233 993234 993592 993621 993631 994408 994443 994459 994473 994494 994515 995001 995171 995182 1095795 1095802 1095803 1095873 1095890 1095891 1095895 1095897 1095899 1095902 1095904 1095907 1095910 1096756 1096766 1096768 1096793 1096798 1096801 1096855 1096918 1096922 1096962 1096969 1096999 1097000 1097002 1097004 1097005 1097018 1097019 1097022 1097023 1097024 1097025 1097032 1097066 1097080 1097099 1097103 1097107 1097115 1097128 1097130 1097131 1097132 1097143 1097166 1097169 1097170 1097173 1097216 1097219 1097221 1097252 1097259 1097263 1097336 1097350 1097351 1097357 1097361 1097367 1097382 1097384 1097434 1097435 1097443 1097445 1097456 1097462 1097464 1097466 1097488 1097526 1097527 1097547 1097562 1097567 1097575 1097576 1097587 1097636 1097641 1097664 1097690 1097710 1097712 1097713 1097747 1097748 1097762 1097764 1097768 1097781 1097786 1097808 1097821 1097826 1097828 1097842 1097853 1097856 1097858 1097859 1097875 1097890 1097895 1097896 1097904 1097905 1097913 1097914 1097919 1097920 1097922 1097925 1097930 1097944 1097948 1097960 1097970 1097972 1098002 1098005 1098009 1098014 1098016 1098017 1098032 1098034 1098039 1098044 1098047 1098051 1098054 1098057 1098058 1098059 1098060 1098062 1098078 1098080 1098086 1098136 1098137 1098145 1098146 1098149 1098165 1098175 1098179 1098184 1098185 1098186 1098192 1098193 1098195 1098203 1098208 1098209 1098213 1098215 1098261 1098273 1098285 1098291 1098293 1098299 1098312 1098320 1098324 1098364 1098372 1098377 1098378 1098379 1098394 1098409 1098433 1098442 1098443 1098488 1098493 1098511 1098523 1098547 1098578 1098584 1098593 1098600 1098613 1098619 1098621 1098625 1098633 1098637 1098668 1098669 1098673 1098703 1098704 1098713 1098714 1098743 1098748 1098749 1098761 1098781 1098782 1098783 1098784 1098800 1098816 1098819 1098820 1098824 1098826 1098829 1098836 1098838 1098849 1098864 1098880 1098882 1098885 1098892 1098908 1098918 1098921 1098922 1098926 1098943 1098944 1098956 1098957 1098961 1098964 1098982 1098983 1098988 1098993 1098994 1098996 1099013 1099028 1099040 1099042 1099051 1099052 1099053 1099056 1099069 1099082 1099124 1099125 1099136 1099142 1099144 1099146 1099181 1099209 1099211 1099214 1099234 1099235 1099242 1099244 1099247 1099268 1099273 1099297 1099336 1099394 1099410 1099411 1099414 1099423 1099429 1099433 1099435 1099446 1099448 1099449 1099451 1099454 1099455 1099456 1099458 1099461 1099470 1099477 1099478 1099496 1099508 1099552 1099558 1099572 1099581 1099587 1099588 1099594 1099599 1099638 1099644 1099647 1099650 1099662 1099666 1099667 1099672 1099675 1099677 1099679 1099692 1099721 1099767 1099768 1099769 1099777 1099778 1099785 1099786 1099795 1099796 1099803 1099838 1099851 1099852 1099853 1099854 1099861 1099869 1099883 1099896 1099919 1099923 1099941 1099950 1100011 1100015 1100022 1100042 1100049 1100052 1100061 1100063 1100080 1100102 1100117 1100128 1100131 1100151 1100156 1100169 1100171 1100184 1100194 1100202 1100203 1100206 1100218 1100219 1100233 1100244 1100246 1100289 1100295 1100296 1100304 1100305 1100307 1100333 1100336 1100337 1100347 1100349 1100351 1100354 1100396 1100406 1100411 1100412 1100413 1100436 1100438 1100440 1100442 1100444 1100445 1100475 1100477 1100482 1100499 1100505 1100545 1100550 1100551 1100559 1100584 1100585 1100596 1100626 1100643 1100644 1100655 1100656 1100658 1100689 1100692 1100694 1100698 1100702 1100708 1100710 1100725 1100734 1100740 1100761 1100762 1100794 1100800 1100802 1100811 1100831 1100834 1100836 1100853 1100855 1100867 1100888 1100890 1100905 1100908 1100950 1100969 1100970 1100990 1101009 1101011 1101018 1101021 1101061 1101073 1101075 1101076 1101077 1101078 1101083 1101087 1101103 1101146 1101148 1101150 1101151 1101152 1101174 1101212 1101232 1101255 1101261 1101265 1101268 1101269 1101278 1101289 1101290 1101294 1101322 1101331 1101336 1101346 1101375 1101378 1101389 1101395 1101397 1101401 1101403 1101405 1101408 1101411 1101412 1101414 1101426 1101448 1101457 1101470 1101475 1101481 1101482 1101504 1101508 1101509 1101521 1101534 1101537 1101538 1101551 1101552 1101553 1101560 1101580 1101583 1101585 1101595 1101603 1101616 1101634 1101635 1101637 1101643 1101650 1101666 1101667 1101695 1101698 1101699 1101702 1101713 1101715 1101725 1101747 1101751 1101755 1101771 1101776 1101788 1101790 1101791 1101793 1101795 1101816 1101838 1106110 1108795 1110574 1110576 1110578 1110594 1110619 1110621 1110622 1110634 1112082 1112801 1112823 1113058 1113198 1113660 1113707 1115057 1115067 1115079 1115590 1115704 1115729 1116090 1116117 1116531 1116570 1117793 1119842 1119918 1119998 1119999 1120000 1120001 1120034 1120040 1120090 1120098 1120106 1120108 1120110 1120111 1120118 1120133 1120135 1120149 1120154 1120159 1120167 1120179 1120181 1120182 1120186 1120192 1120194 1120195 1120197 1120202 1120216 1120226 1120256 1120264 1120283 1120290 1120306 1120307 1120308 1120328 1120337 1120340 1120347 1120395 1120396 1120397 1120416 1120442 1120449 1120451 1120452 1120464 1120467 1120471 1120482 1120502 1120505 1120508 1120512 1120524 1120525 1120535 1120536 1120538 1120558 1120583 1120585 1120586 1120596 1120598 1120599 1120614 1120647 1120653 1120667 1120668 1120671 1120682 1120683 1120695 1120696 1120707 1120708 1120733 1120763 1120770 1120785 1120786 1120787 1120788 1120790 1120800 1120806 1120810 1120833 1120870 1120879 1120881 1120882 1120894 1120896 1120935 1120964 1120972 1120973 1120975 1120980 1120982 1120986 1120989 1120994 1121001 1121003 1121015 1121062 1121070 1121071 1121073 1121074 1121081 1121120 1121130 1121151 1121155 1121161 1121165 1121173 1121181 1121185 1121212 1121226 1121243 1121259 1121265 1121279 1121284 1121292 1121293 1121294 1121350 1121355 1121357 1121358 1121359 1121360 1121362 1121364 1121365 1121366 1121367 1121377 1121380 1121424 1121426 1121442 1121448 1121453 1121454 1121459 1121474 1121495 1121515 1121517 1121519 1121525 1121532 1121539 1121593 1121599 1121600 1121601 1121610 1121611 1121649 1121657 1121667 1121671 1121675 1121677 1121680 1121704 1121714 1121718 1121719 1121741 1121743 1121746 1121785 1121791 1121801 1121803 1121804 1121813 1121822 1121827 1121833 1121834 1121835 1121839 1121848 1121854 1121856 1121857 1121881 1121885 1121897 1121905 1121915 1121918 1121924 1121925 1121932 1121940 1121944 1121970 1121972 1121988 1121989 1121996 1121998 1122020 1122036 1122039 1122048 1122049 1122050 1122062 1122064 1122066 1122067 1122070 1122072 1122077 1122084 1122091 1122105 1122123 1122134 1122136 1122147 1122154 1122171 1122173 1122178 1122212 1122215 1122222 1122224 1122228 1122231 1122245 1122255 1122258 1122261 1122263 1122265 1122273 1122274 1122282 1122283 1122292 1122341 1122344 1122347 1122348 1122357 1122422 1122426 1122427 1122432 1122438 1122450 1122451 1122453 1122454 1122457 1122481 1122483 1122491 1122493 1122495 1122501 1122536 1122562 1122563 1122564 1122565 1122571 1122573 1122574 1122578 1122584 1122603 1122605 1122608 1122609 1122614 1122618 1122621 1122623 1122628 1122629 1122636 1122639 1122651 1122677 1122695 1122705 1122706 1122711 1122720 1122722 1122749 1122751 1122761 1122767 1122774 1122775 1122781 1122790 1122796 1122799 1122805 1122807 1122819 1122820 1122821 1122836 1122838 1122839 1122848 1122854 1122855 1122861 1122862 1122871 1122876 1122880 1122885 1122890 1122912 1122917 1122918 1122929 1122932 1122937 1122939 1122946 1122962 1122964 1122975 1130428 1130429 1130433 1130445 1130459 1130469 1130471 1130476 1130479 1130483 1130493 1130504 1134429 1134430 1134433 1134434 1134444 1134452 1134467 1134470 1134489 1134588 1134610 1134613 1134654 1134696 1135117 1135132 1135135 1135136 1135137 1135138 1135141 1135142 1135143 1135145 1135174 1135600 1135601 1135602 1135604 1135762 1135764 1136007 1136012 1136014 1136100 1136112 1136116 1136129 1136130 1136137 1136170 1136174 1136192 1136248 1136319 1136320 1136328 1136329 1136452 1136453 1136455 1136456 1136473 1136523 1136529 1136546 1136555 1136558 1136559 1136561 1136571 1136594 1136596 1136613 1136615 1136616 1136628 1136630 1136632 1136634 1136689 1136704 1136712 1136723 1136730 1136739 1136745 1136766 1136773 1136778 1136782 1136806 1136812 1136813 1136820 1136821 1136832 1136842 1136843 1136845 1136847 1136851 1136866 1136867 1136869 1136883 1136885 1136887 1136894 1136924 1136925 1136926 1136961 1136969 1136973 1136974 1136976 1137009 1137010 1137019 1137020 1137030 1137047 1137056 1137063 1137097 1137099 1137100 1137108 1137109 1137113 1137130 1137150 1137168 1137187 1137188 1137215 1137247 1137254 1137290 1137291 1137294 1137295 1137315 1137321 1137324 1137335 1137337 1137338 1137339 1137341 1137371 1137372 1137373 1137385 1137387 1137403 1137405 1137407 1137410 1137412 1137413 1137415 1137470 1137471 1137483 1137484 1137485 1137486 1137516 1137522 1137525 1137539 1137543 1137574 1137580 1137589 1137590 1137591 1137604 1137624 1137652 1137653 1137669 1137672 1137673 1137676 1137694 1137713 1137722 1137736 1137761 1137765 1137781 1137782 1137800 1137816 1137817 1137820 1137825 1137857 1137859 1137866 1137921 1137928 1137941 1137942 1137949 1137950 1138000 1138024 1138025 1138027 1138032 1138034 1138035 1138039 1138044 1138049 1138054 1138055 1138057 1138069 1138073 1138074 1138077 1138089 1138092 1138093 1138130 1138141 1138142 1138148 1138151 1138160 1138161 1138165 1138172 1138175 1138189 1138190 1138191 1138193 1138199 1138210 1138211 1138217 1138222 1138230 1138232 1138234 1138235 1138238 1138307 1138317 1138338 1138340 1138369 1138441 1138457 1138479 1138483 1138488 1138493 1138498 1138501 1138502 1138507 1138509 1138510 1138522 1138530 1138538 1138546 1138573 1138576 1138581 1138594 1141002 1141618 1141638 1141641 1142705 1142708 1142714 1142716 1142717 1142732 1142737 1142739 1142745 1142758 1142776 1142788 1142805 1142824 1142844 1142848 1142851 1142854 1142855 1142863 1142885 1142891 1142892 1142910 1142925 1142926 1142927 1142928 1142934 1142936 1142937 1142953 1142954 1142956 1142972 1142985 1142998 1143016 1143036 1143049 1143051 1143057 1143058 1143060 1143066 1143067 1143078 1143080 1143102 1143116 1143123 1143131 1143133 1143134 1143138 1143144 1143145 1143176 1143185 1143197 1143206 1143207 1143215 1143227 1143228 1143231 1143241 1143265 1143305 1143308 1143361 1143370 1143374 1143379 1143380 1143398 1143401 1143402 1143405 1143409 1143418 1143421 1143425 1143427 1143431 1143432 1143465 1143472 1143473 1143475 1143478 1143498 1143503 1143510 1143528 1143572 1143577 1143582 1143612 1143632 1143633 1143649 1143653 1143654 1143669 1143672 1143687 1143708 1143719 1143735 1143737 1143758 1143759 1143764 1143765 1143824 1143828 1143829 1143837 1143854 1143893 1143956 1143958 1143961 1143963 1143964 1143967 1143968 1143972 1143974 1143988 1144008 1144022 1144059 1144065 1144084 1144088 1144108 1144109 1144128 1144131 1144149 1144188 1144209 1144212 1144222 1144232 1144240 1144245 1144248 1144250 1144252 1144270 1144271 1144297 1144298 1144300 1144302 1144303 1144314 1144315 1144319 1144328 1144341 1144345 1144355 1144385 1144407 1144414 1144444 1144463 1144491 1144505 1144513 1144518 1144529 1144541 1144543 1144550 1144563 1144566 1144570 1145610 1145666 1145701 1145713 1145747 1145759 1146479 1146617 1146622 1146623 1148294 1148311 1148396 1148423 1154253 1154269 1160748 1160749 1161310 1165243 1165265 1165306 1165353 1165560 1165603 1165827 1165938 1166055 1166065 1166176 1166177 1166209 1166253 1166464 1169987 1169989 1169992 1169997 1170001 1170007 1170010 1170013 1170014 1170019 1170024 1170029 1170041 1170051 1170074 1170075 1170076 1170079 1170091 1170092 1170106 1170120 1170131 1170132 1170178 1170198 1170231 1170232 1170238 1170247 1170256 1170274 1170279 1170283 1170317 1170351 1170356 1170357 1170364 1170371 1170382 1170391 1170407 1170480 1170510 1170544 1170570 1170581 1170586 1170592 1170618 1170625 1170653 1170654 1170678 1170699 1170701 1170709 1170735 1170736 1170741 1170743 1170745 1170746 1170754 1171094 1171096 1171107 1171274 1171375 1171386 1171388 1171423 1171433 1171438 1171442 1171448 1171478 1171499 1171506 1171549 1171655 1171696 1171714 1171717 1171718 1171719 1171720 1171721 1171722 1171723 1171731 1171734 1171737 1171778 1171779 1171780 1171794 1171801 1171828 1171857 1171859 1171880 1171883 1171914 1171917 1171930 1171939 1171947 1171957 1171960 1171962 1171967 1171968 1171974 1171980 1171982 1171992 1171997 1172030 1172032 1172034 1172041 1172056 1172057 1172066 1172081 1172099 1172101 1172113 1172142 1172144 1172156 1172157 1172204 1172206 1172226 1172227 1172228 1172231 1172244 1172246 1172249 1172293 1172297 1172302 1172304 1172328 1172344 1172356 1172360 1172361 1172407 1172409 1172416 1172417 1172426 1172427 1172428 1172429 1172435 1172450 1172457 1172489 1172490 1172511 1172519 1172524 1172526 1172541 1172563 1172611 1172628 1172636 1172638 1172642 1172644 1172647 1172656 1172657 1172658 1172659 1172662 1172665 1172708 1172709 1172715 1172730 1172732 1172737 1172739 1172746 1172751 1172752 1172757 1172775 1172779 1172780 1172781 1172782 1172787 1172799 1172802 1172805 1172811 1172832 1172839 1172840 1172850 1172851 1172868 1172881 1172883 1172885 1172887 1172894 1172902 1172907 1172913 1172921 1172930 1172931 1172934 1172950 1172970 1172976 1172985 1172995 1173001 1173002 1173005 1173019 1173027 1173039 1173049 1173054 1173066 1173067 1173069 1173082 1173085 1173094 1173133 1173142 1173151 1173173 1173205 1173227 1173228 1173230 1173231 1173232 1173234 1173236 1173238 1173239 1173259 1173279 1173287 1173289 1173292 1173294 1173295 1173316 1173317 1173321 1173348 1173350 1173361 1173366 1173367 1173368 1173382 1173388 1173390 1173392 1173394 1173418 1173448 1173465 1173469 1173474 1173490 1173492 1173500 1173501 1173516 1173520 1173521 1173538 1173547 1173565 1173580 1173581 1173590 1173592 1173596 1173597 1173599 1173602 1173624 1173627 1173628 1173630 1173632 1173638 1173645 1173671 1173672 1173686 1173695 1173702 1173730 1173748 1173762 1173835 1173838 1173868 1173897 1173899 1173900 1173905 1173909 1173911 1173951 1173968 1173969 1173978 1173980 1173986 1173989 1174038 1174049 1174053 1174058 1174061 1174066 1174068 1174072 1174097 1174107 1174115 1174117 1174119 1174121 1174137 1174143 1174144 1174145 1174156 1174158 1174160 1174162 1174164 1174165 1174191 1174209 1174210 1174222 1174259 1174273 1174316 1174319 1174338 1174345 1174377 1174387 1174389 1174438 1174452 1174456 1174461 1174469 1174477 1174515 1174516 1174535 1174541 1174550 1174571 1174574 1174617 1174619 1174623 1174625 1174628 1174632 1174637 1174647 1174648 1174650 1174658 1174668 1174691 1174693 1174694 1174715 1174734 1174737 1174739 1174744 1174747 1174751 1174758 1174759 1174762 1174768 1174769 1174770 1174771 1174772 1174774 1174775 1174776 1174778 1174781 1174782 1174783 1174784 1174791 1174793 1174802 1174804 1174812 1174816 1174818 1174819 1174821 1174836 1174837 1174840 1174841 1174844 1174849 1174883 1174884 1174885 1174890 1174891 1174892 1174893 1174902 1174907 1174912 1174913 1174920 1174923 1174924 1174934 1174935 1174936 1174963 1174967 1174968 1174971 1174989 1174994 1174999 1175003 1175004 1175005 1175006 1175011 1175029 1175034 1175036 1175045 1175067 1175091 1175104 1175108 1175113 1175131 1175144 1175146 1175147 1175198 1175205 1175221 1175225 1175226 1175229 1175230 1175231 1175251 1175284 1175293 1175300 1175304 1175305 1175311 1175315 1175331 1175332 1175343 1175344 1175348 1175358 1175359 1175363 1175368 1175370 1175377 1175388 1175413 1175434 1175437 1175453 1175457 1175466 1175497 1175508 1175512 1175567 1175569 1175578 1175579 1175583 1175585 1175606 1175617 1175625 1175644 1175653 1175680 1175681 1175685 1175694 1175772 1175773 1175784 1175790 1175791 1175796 1175797 1175803 1175804 1175807 1175808 1175819 1175823 1175825 1175827 1175828 1175830 1175831 1175849 1175850 1175852 1175858 1175906 1175907 1175908 1175915 1175916 1175925 1175931 1175932 1175938 1175942 1175943 1175956 1175965 1175969 1175972 1175973 1175980 1175986 1175993 1176004 1176007 1176009 1176021 1176027 1176060 1176061 1176063 1176077 1176100 1176101 1176114 1176121 1176123 1176128 1176141 1176142 1176143 1176177 1176207 1176210 1176213 1176214 1176223 1176227 1176233 1176234 1176242 1176245 1176275 1176276 1176289 1176290 1176306 1176307 1176308 1176309 1176310 1176313 1176316 1176318 1176324 1176325 1176329 1176383 1176401 1176403 1176406 1176407 1176408 1176414 1176415 1176420 1176476 1176499 1176508 1177005 1177042 1177221 1178459 1178489 1178562 1178580 1178641 1186762 1186776 1235688 1253912 1253951 1254066 1256453 1256576 1256640 1256660 1256766 1256776 1256777 1257385 1257613 1257652 1257653 1257665 1257673 1257674 1257687 1257689 1257697 1257703 1257713 1257829 1257830 1257832 1257834 1257835 1257836 1257837 1257838 1257855 1257856 1257875 1257876 1257889 1257904 1257914 1257917 1257951 1257954 1257966 1257967 1257968 1257969 1257971 1257987 1258001 1258007 1258065 1258071 1258074 1258089 1258134 1258141 1258143 1258146 1258150 1258152 1258153 1258154 1258155 1258156 1258157 1258158 1258159 1258160 1258161 1258162 1258163 1258164 1258168 1258169 1258170 1258189 1258191 1258193 1258207 1258262 1258265 1258266 1258268 1258270 1258273 1258274 1258278 1258284 1258288 1258293 1258297 1258310 1258330 1258342 1258343 1258344 1258350 1258354 1258360 1258361 1258378 1258390 1258391 1258392 1258414 1258423 1258424 1258430 1258433 1258434 1258463 1258469 1258470 1258471 1258475 1258516 1258523 1258527 1258531 1258538 1258550 1258551 1258561 1258574 1258584 1258597 1258600 1258614 1258632 1258633 1258661 1258662 1258663 1258664 1258681 1258683 1258693 1258695 1258696 1258702 1258703 1258705 1258719 1258720 1258721 1258722 1258731 1258734 1258745 1258752 1258755 1258762 1258766 1258771 1258775 1258777 1258780 1258783 1258784 1258786 1258798 1258808 1258815 1258824 1258853 1258889 1258890 1258895 1258900 1258909 1258913 1258916 1258918 1258921 1258943 1258944 1258950 1258952 1258958 1258963 1258970 1258971 1258972 1258974 1258982 1258992 1258993 1258995 1259000 1259011 1259015 1259029 1259030 1259045 1259053 1259063 1259069 1259096 1259104 1259111 1259115 1259131 1259132 1259137 1259141 1259142 1259155 1259162 1259183 1259192 1259194 1259259 1259266 1259272 1259297 1259298 1259299 1259311 1259312 1259323 1259333 1259344 1259352 1259360 1259361 1259363 1259365 1259385 1259410 1259422 1259432 1259444 1259448 1259467 1259468 1259469 1259477 1259493 1259502 1259512 1259532 1259536 1259553 1259560 1259561 1259566 1259571 1259572 1259575 1259579 1259580 1259586 1259588 1259593 1259597 1259601 1259605 1259606 1259613 1259615 1259619 1259624 1259636 1259637 1259663 1259672 1259678 1259679 1259717 1259725 1259730 1259731 1259736 1259738 1259739 1259741 1259745 1259753 1259764 1259770 1259775 1259776 1259778 1259794 1259796 1259798 1259801 1259802 1259819 1259826 1259832 1259842 1259844 1259846 1259872 1259873 1259874 1259875 1259890 1259891 1259893 1259899 1259900 1259917 1259921 1259922 1259923 1259924 1259925 1259938 1259939 1259940 1259941 1259942 1259953 1259964 1259969 1259986 1259990 1259998 1259999 1260014 1260017 1260024 1260029 1260030 1260033 1260040 1260043 1260064 1260075 1260076 1260078 1260097 1260100 1260101 1260107 1260109 1260155 1260158 1260161 1260164 1260170 1260185 1260192 1260199 1260201 1260203 1260204 1260208 1260214 1260241 1260244 1260246 1260251 1260258 1260266 1260269 1260285 1260289 1260291 1260298 1260307 1260312 1260315 1260524 1260638 1260720 1260876 1260877 1261255 1261259 1262737 1262747 1263068 1263088 1263104 1263136 1263296 1263450 1263543 1263552 1263608 1268855 1268908 1268912 1268913 1268914 1271027 1272545 1273021 1273036 1273078 1273081 1273083 1273169 1276233 1276338 1276807 1276901 1276957 1285512 1288291 1289936 1289940 1289941 1289942 1289943 1289944 1289946 1289947 1289957 1289960 1289962 1289963 1289965 1289966 1291089 1291090 1291178 1291203 1291204 1291207 1291208 1291212 1291216 1291218 1291743 1292139 1299874 1300197 1300198 1301996 1302000 1302010 1302013 1302024 1302029 1302038 1302042 1302051 1302057 1302059 1302062 1302079 1302082 1302086 1302109 1302114 1302121 1302124 1302125 1302126 1302130 1302898 1302912 1302922 1302939 1304739 1304763 1304810 1305784 1305888 1306736 1306772 1307704 1310564 1310623 1310635 1310648 1310652 1310657 1310709 1310710 1310712 1310715 1310721 1310723 1310725 1310733 1310734 1310735 1310738 1310752 1310756 1310761 1310765 1310767 1310789 1310792 1310814 1310816 1310819 1310823 1310825 1310826 1310836 1310842 1310878 1310883 1310908 1310909 1310911 1310912 1310915 1310918 1310921 1310922 1310925 1310926 1310928 1310931 1310937 1310943 1310945 1310952 1310973 1310992 1310997 1311028 1311032 1311046 1311053 1311068 1311070 1311073 1311082 1311094 1311096 1311104 1311105 1311114 1311132 1311135 1311136 1311144 1311155 1311171 1311188 1311202 1311212 1311213 1311214 1311215 1311242 1311251 1311273 1311274 1311288 1311300 1311303 1311306 1311307 1311313 1311324 1311327 1311331 1311342 1311352 1311390 1311400 1311401 1311402 1311413 1311417 1311451 1311459 1311467 1311476 1311488 1311489 1311491 1311542 1311544 1311545 1311551 1311552 1311553 1311561 1311566 1311583 1311585 1311587 1311589 1311603 1311604 1311605 1311634 1311642 1311681 1311683 1311685 1311691 1311699 1311725 1311732 1311736 1311737 1311743 1311764 1311766 1311768 1311779 1311780 1311785 1311792 1311793 1311800 1311817 1311818 1311840 1311855 1311856 1311858 1311883 1311884 1311906 1311909 1311914 1311932 1311934 1311935 1311937 1311943 1311962 1311966 1311969 1311972 1311973 1311983 1311985 1311991 1312005 1312010 1312049 1312051 1312052 1312055 1312081 1312084 1312118 1312124 1312127 1312129 1312137 1312138 1312149 1312150 1312151 1312156 1312157 1312158 1312189 1312193 1312194 1312196 1312197 1312198 1312210 1312227 1312233 1312235 1312245 1312256 1312257 1312279 1312288 1312295 1312299 1312306 1312307 1312308 1312374 1312379 1312400 1312403 1312407 1312408 1312423 1312427 1312428 1312431 1312437 1312445 1312446 1312459 1312460 1312480 1312493 1312553 1312575 1312622 1312655 1312682 1312730 1312731 1312734 1312736 1312740 1312744 1312760 1312791 1312836 1312844 1312861 1312865 1312890 1312907 1312909 1312917 1312925 1312929 1312930 1312952 1312955 1312969 1312978 1312983 1313041 1313042 1313053 1313054 1313055 1313059 1313068 1313096 1313104 1313106 1313108 1313109 1313121 1313124 1313139 1313141 1313150 1313168 1313171 1313172 1313191 1313201 1313208 1313238 1313253 1313256 1313283 1313318 1313319 1313320 1313338 1313347 1313408 1313413 1313415 1313428 1313430 1313442 1313443 1313455 1313456 1313458 1313484 1313487 1313488 1313500 1313501 1313503 1313506 1313509 1313513 1313515 1313539 1313541 1313551 1313576 1313582 1313589 1313590 1313608 1313616 1313653 1313654 1313711 1313715 1313719 1313739 1313744 1313745 1313747 1313748 1313756 1313761 1313765 1313766 1313767 1313778 1313783 1313785 1313795 1313801 1313820 1313827 1313841 1314685 1314686 1314751 1314777 1314780 1314781 1314787 1314817 1314842 1314873 1314874 1314929 1314934 1314935 1314936 1314937 1317156 1317223 1317928 1317930 1317970 1318649 1318717 1318726 1319595 1319699 1319761 1320098 1320105 1320161 1320166 1320167 1320168 1320169 1320334 1321280 1321585 1321586 1321596 1321598 1321643 1321744 1321796 1321887 1321931 1321936 1321940 1321944 1321945 1321970 1321974 1321981 1321982 1321983 1321984 1321985 1322002 1323100 1323140 1323196 1323197 1323198 1327754 1327830 1327842 1327873 1327906 1327945 1327963 1328005 1328106 1328139 1328144 1328149 1328153 1328176 1328193 1328201 1328240 1328648 1328651 1328652 1328654 1328655 1328672 1328673 1328685 1328691 1328695 1328702 1328709 1328712 1328719 1328819 1329978 1329995 1329996 1330002 1330004 1330013 1330030 1330033 1330040 1330095 1330126 1330135 1330154 1330256 1330356 1330364 1330372 1330412 1330477 1330510 1330549 1330598 1330607 1330613 1330625 1330884 1331605 1332656 1332768 1337133 1337134 1337136 1337241 1337242 1337246 1337247 1337333 1337344 1337345 1337350 1337395 1364948 1364953 1364955 1364956 1365468 1365482 1365493 1365498 1365510 1365943 1366003 1366044 1366045 1367795 1369325 1370081 1370089 1370116 1370119 1370120 1370121 1370123 1370139 1370141 1370142 1370170 1370173 1370174 1370176 1370221 1370222 1370223 1370224 1370234 1377670 1382024 1383389 1384520 1384629 1384659 1384662 1384663 1412033 1412581 1412591 1413549 1414580 1416868 1419333 1425978 1432601 1432609 1432691 1432694 1432708 1432749 1432772 1432773 1432786 1432800 1432812 1432817 1432825 1432829 1432833 1432845 1432852 1432861 1432891 1432893 1432930 1432931 1432935 1433015 1433048 1433049 1433074 1433089 1433124 1433126 1433138 1433139 1433142 1433165 1433178 1433182 1433211 1433213 1433231 1433254 1433262 1433274 1433281 1433284 1433287 1433291 1433292 1433306 1433362 1433381 1433387 1433423 1433424 1433440 1433453 1433474 1433475 1433478 1433479 1433484 1433494 1433495 1433506 1433509 1433516 1433521 1433525 1433528 1433529 1433533 1433548 1433567 1433589 1433597 1433600 1433601 1433700 1433709 1433710 1433712 1433720 1433730 1433744 1433815 1433822 1433853 1433854 1433879 1433977 1433995 1434033 1434087 1434138 1434143 1434157 1434165 1434178 1434212 1434214 1434215 1434223 1434228 1434230 1434277 1434278 1434280 1434327 1434333 1434395 1434403 1434419 1434426 1434429 1434441 1434444 1434452 1434466 1434499 1434500 1434535 1434556 1434562 1434565 1434567 1434579 1434580 1434584 1434589 1434597 1434598 1434612 1434630 1434632 1434647 1434655 1434680 1434681 1434692 1434705 1434712 1434721 1434724 1434730 1434731 1434733 1434754 1434806 1434853 1434856 1434857 1434908 1434909 1434912 1434916 1434932 1434937 1434949 1434956 1434966 1434971 1435026 1435027 1435038 1435055 1435056 1435061 1435072 1435073 1435079 1435080 1435102 1435113 1435114 1435138 1435151 1435171 1435172 1435174 1435194 1435212 1435226 1435235 1435236 1435237 1435243 1435251 1435253 1435265 1435266 1435274 1435288 1435292 1435294 1435296 1435312 1435314 1435320 1435336 1435338 1435355 1435370 1435371 1435391 1435395 1435409 1435410 1435426 1435441 1435444 1435463 1435468 1435469 1435498 1435504 1435523 1435524 1435537 1435551 1435557 1435562 1435573 1435574 1435587 1435603 1435604 1435605 1435644 1435648 1435655 1435704 1435705 1435741 1435742 1435747 1435748 1435776 1435780 1435781 1435802 1435806 1435807 1435825 1435876 1435878 1435879 1435927 1435929 1435945 1435950 1435951 1436007 1436011 1436022 1436025 1436042 1436044 1436061 1436075 1436077 1436079 1436082 1436085 1436093 1436119 1436124 1436127 1436136 1436144 1436173 1436174 1436179 1436187 1436206 1436210 1436276 1436278 1436289 1436305 1436328 1436342 1436344 1436345 1436347 1436348 1436349 1436355 1436360 1436386 1436392 1436401 1436414 1436417 1436435 1436456 1436457 1436518 1436545 1436550 1436647 1436658 1436667 1436668 1436670 1436671 1436706 1436790 1436792 1436807 1436832 1436833 1436834 1436881 1436887 1436911 1436913 1436936 1436958 1436961 1436968 1436996 1437016 1437018 1437023 1439266 1439300 1439301 1439302 1439304 1439307 1439309 1439312 1439317 1439319 1439322 1439323 1439324 1439338 1439339 1439349 1440086 1440221 1440560 1440805 1442208 1442501 1442508 1442519 1442520 1442522 1443634 1443660 1443664 1443691 1443841 1443907 1444126 1444914 1444934 1444947 1445086 1445368 1445576 1445582 1445583 1445588 1445589 1445591 1445592 1445593 1445594 1445599 1445600 1445601 1445602 1445603 1445604 1445605 1445606 1445608 1445609 1445611 1445612 1445613 1445616 1445617 1445654 1445691 1445692 1445699 1445710 1445711 1445716 1445731 1445757 1445777 1445797 1445816 1445818 1445827 1446486 1446539 1446779 1446784 1446885 1448323 1448353 1448354 1448359 1448373 1448379 1448381 1448389 1448410 1448418 1448424 1448426 1448432 1448434 1448442 1448443 1448557 1449396 1449407 1449492 1449499 1449515 1449520 1449556 1449659 1449660 1449663 1449665 1449667 1449668 1449675 1449689 1449691 1449692 1449693 1449695 1449696 1449697 1449698 1449704 1449710 1449726 1449756 1449765 1449783 1449789 1449805 1449836 1449837 1449846 1449848 1449857 1449860 1449864 1449869 1449882 1449894 1449904 1449912 1449928 1449938 1449955 1449960 1449981 1449986 1449987 1449995 1450007 1450035 1450041 1450061 1450075 1450078 1450088 1450090 1450116 1450203 1450222 1450229 1450243 1450321 1450325 1450327 1450334 1450352 1450372 1450382 1450384 1450386 1450402 1450417 1450419 1450423 1450425 1450426 1450447 1450463 1450474 1450476 1450478 1450496 1450512 1450517 1450531 1450533 1450539 1450545 1450553 1450554 1450566 1450570 1450577 1450601 1450618 1450634 1450635 1450638 1450650 1450658 1450660 1450661 1450691 1450698 1450701 1450703 1450760 1450794 1450796 1450809 1450816 1450823 1450824 1450839 1450846 1450891 1450892 1450908 1450911 1450931 1450982 1450992 1450994 1450997 1450998 1450999 1451007 1451008 1451020 1451022 1451023 1451024 1451033 1451035 1451039 1451041 1451043 1451049 1451065 1451077 1451091 1451099 1451102 1451103 1451133 1451137 1451140 1451145 1451148 1451168 1451179 1451182 1451200 1451201 1451202 1451223 1451228 1451236 1451238 1451241 1451259 1451299 1451304 1451306 1451312 1451324 1451333 1451366 1451377 1451386 1451394 1451395 1451401 1451406 1451429 1451450 1451554 1451558 1451559 1451560 1451569 1451602 1451609 1451619 1451631 1451635 1451638 1451657 1451661 1451666 1451705 1451707 1451709 1451723 1451730 1451734 1451737 1451760 1451761 1451801 1451816 1451817 1451818 1451821 1451840 1451848 1451866 1451872 1451873 1451894 1451920 1451971 1451975 1451986 1451987 1452002 1452003 1452042 1452084 1452088 1452152 1452158 1452172 1452173 1452204 1452252 1452276 1452300 1452321 1452374 1452382 1452385 1452464 1452513 1452515 1452551 1452555 1452571 1452573 1452581 1452592 1452594 1452601 1452629 1452637 1452659 1452673 1452684 1452740 1452745 1452747 1452750 1452752 1452796 1452808 1452878 1452879 1452880 1452891 1452893 1452896 1452903 1452914 1452919 1452948 1452958 1452971 1453003 1453081 1453082 1453098 1453101 1453102 1453103 1453106 1453139 1453148 1453150 1453195 1453197 1453201 1453214 1453260 1453263 1453274 1453293 1453294 1453296 1453298 1453317 1453384 1453399 1453429 1453499 1453501 1453529 1453531 1453534 1453535 1453536 1453537 1453538 1453539 1453540 1453575 1453578 1453598 1453601 1453615 1453622 1453626 1453629 1453645 1453650 1453651 1453688 1453689 1453698 1453711 1453734 1453771 1453778 1453789 1453802 1453831 1453835 1453836 1453852 1453869 1453870 1453907 1453916 1453919 1453931 1453933 1453937 1453939 1453993 1454006 1454014 1454015 1454047 1454052 1454062 1454071 1454075 1454081 1454084 1454091 1454115 1454121 1454122 1454129 1454187 1454189 1454217 1454218 1454220 1454242 1454263 1454271 1454291 1454298 1454299 1454306 1454310 1454313 1454328 1454332 1454350 1454355 1454358 1454360 1454374 1454377 1454407 1454411 1454423 1454426 1454443 1454449 1454451 1454504 1454505 1454509 1454595 1454613 1454650 1454651 1454659 1454661 1454703 1454755 1454757 1454766 1454771 1454864 1454872 1454874 1454878 1454886 1454888 1454889 1454946 1455015 1455048 1455089 1455091 1455092 1455103 1455129 1455142 1455154 1455184 1455191 1455199 1455207 1455222 1455234 1455242 1455247 1455255 1455258 1455259 1455261 1455292 1455300 1455303 1455363 1455371 1455378 1455381 1455391 1455393 1455475 1455513 1455539 1455633 1455640 1455642 1455647 1456331 1456404 1456409 1456410 1456438 1456443 1456455 1456504 1456505 1456509 1456651 1456738 1456739 1456740 1456741 1456743 1456744 1456745 1456747 1456748 1456749 1456750 1456751 1456752 1456756 1456760 1456762 1456763 1456765 1456772 1457902 1504623 1504888 1504897 1504904 1504906 1504911 1504912 1504914 1504917 1504945 1504946 1504961 1504963 1504998 1504999 1505005 1505006 1505014 1505016 1505020 1505021 1505026 1505035 1505043 1505050 1505061 1505065 1505236 1505261 1505303 1505304 1505320 1505403 1505431 1505474 1505476 1505506 1505517 1505525 1505526 1505636 1505639 1505658 1505675 1505698 1505709 1505729 1505750 1505765 1505768 1505772 1505799 1505805 1505823 1505836 1505852 1505869 1505883 1505887 1505920 1505922 1505925 1505929 1505958 1505981 1506012 1506020 1506022 1506034 1506035 1506054 1506056 1506057 1506062 1506100 1506105 1506106 1506108 1506139 1506140 1506145 1506151 1506152 1506180 1506206 1506212 1506213 1506256 1506257 1506258 1506263 1506284 1506295 1506298 1506325 1506328 1506335 1506337 1506344 1506347 1506350 1506352 1506364 1506369 1506372 1506418 1506421 1506471 1506486 1506509 1506521 1506550 1506554 1506559 1506570 1506590 1506594 1506598 1506669 1506670 1506684 1506687 1506738 1506748 1506762 1506770 1506794 1506795 1506802 1506829 1506885 1506906 1506913 1506936 1506940 1506941 1506995 1507024 1507034 1507309 1507317 1507353 1507354 1508304 1508745 1508747 1508750 1508751 1508755 1508756 1508757 1508774 1509141 1509175 1509189 1509198 1509199 1509204 1509231 1509236 1509237 1509252 1509305 1509379 1509381 1509413 1509434 1509436 1509464 1509469 1509471 1509485 1509516 1509536 1509547 1509550 1509560 1509576 1509606 1509628 1509638 1509640 1509684 1509703 1509706 1509712 1509714 1509725 1509727 1509728 1509748 1509750 1509754 1509780 1509789 1509821 1509873 1509940 1509960 1510441 1510448 1510457 1510480 1510511 1510693 1510919 1510940 1511108 1511349 1511563 1511721 1511734 1511894 1511913 1511924 1511926 1511928 1512030 1512053 1512056 1512058 1512094 1512331 1512423 1512537 1512683 1513149 1513188 1513190 1513218 1513261 1513358 1513809 1514204 1514289 1514497 1514614 1514631 1514649 1514723 1515083 1515201 1515207 1515213 1515231 1515342 1515343 1515344 1515915 1515952 1516118 1516119 1516155 1516156 1516243 1516262 1516485 1516873 1516887 1516951 1517157 1517257 1517282 1517301 1517611 1517612 1517662 1517665 1517721 1517800 1517803 1517844 1517871 1517930 1517934 1517935 1518259 1518327 1518337 1518431 1518781 1518836 1518843 1518952 1519087 1519092 1519093 1519115 1519127 1519143 1519185 1519480 1519655 1519887 1519991 1519992 1520050 1520054 1520122 1520124 1521783 1521787 1521794 1521804 1521807 1521868 1521982 1522061 1522370 1522392 1522505 1522506 1522554 1522596 1522606 1522621 1522622 1522680 1522683 1522690 1522693 1523982 1524052 1524078 1524086 1524100 1525399 1526832 1526874 1527006 1527019 1527053 1527088 1527108 1527109 1527126 1527129 1527174 1527175 1527208 1527216 1527219 1527254 1527262 1527437 1527607 1527615 1527648 1527650 1527665 1527666 1527668 1527669 1527671 1527690 1527693 1527715 1527716 1527734 1527735 1527739 1527751 1527763 1527786 1527794 1527797 1527827 1527834 1527839 1527845 1527886 1527892 1527897 1527900 1527904 1527910 1527925 1527976 1527985 1527986 1527988 1527990 1527991 1527995 1528009 1528010 1528013 1528028 1528037 1528069 1528076 1528077 1528078 1528080 1528082 1528101 1528107 1528120 1528142 1528143 1528153 1528155 1528156 1528159 1528165 1528183 1528187 1528189 1528191 1528200 1528205 1528206 1528207 1528212 1528241 1528274 1528309 1528312 1528364 1528393 1528397 1528398 1528399 1528404 1528417 1528426 1528428 1528429 1528430 1528431 1528435 1528492 1528497 1528498 1528499 1528507 1528551 1528552 1528567 1528571 1528573 1528580 1528582 1528590 1528593 1528594 1528602 1528615 1528616 1528620 1528623 1528661 1528705 1528706 1528710 1528711 1528723 1528725 1528733 1528751 1528760 1528771 1528779 1528781 1528790 1528795 1528810 1528814 1528825 1528843 1528844 1528849 1528859 1528862 1528865 1528867 1528870 1528872 1528874 1528882 1528906 1528938 1528970 1528978 1528988 1528991 1529005 1529007 1529011 1529012 1529013 1529018 1529039 1529074 1529109 1529111 1529119 1529123 1529136 1529139 1529153 1529185 1529192 1529197 1529198 1529200 1529211 1529216 1529218 1529224 1529251 1529253 1529255 1529266 1529267 1529271 1529273 1529286 1529293 1529314 1529316 1529347 1529348 1529355 1529361 1529363 1529374 1529375 1529385 1529402 1529428 1529429 1529430 1529447 1529449 1529450 1529454 1529464 1529466 1529467 1529469 1529471 1529487 1529488 1529494 1529547 1529577 1529579 1529580 1529582 1529588 1529590 1529603 1529607 1529611 1529638 1529642 1529651 1529652 1529653 1529656 1529662 1529687 1529694 1529701 1529707 1529708 1529713 1529724 1529735 1529740 1529742 1529767 1529780 1529792 1529801 1529803 1529816 1529819 1529836 1529858 1529859 1529864 1529865 1529871 1529872 1529884 1529885 1529907 1529915 1529919 1529922 1529928 1529941 1529955 1529966 1529974 1529982 1529995 1529998 1530001 1530002 1530004 1530029 1530030 1530031 1530054 1530066 1530072 1530076 1530083 1530085 1530086 1530091 1530094 1530102 1530107 1530109 1530111 1530129 1530130 1530131 1530138 1530139 1530140 1530143 1530144 1530162 1530166 1530167 1530185 1530199 1530200 1530206 1530207 1530211 1530212 1530215 1530229 1530230 1530241 1530248 1530297 1530300 1530304 1530305 1530309 1530310 1530321 1530361 1530399 1530407 1530412 1530416 1530420 1530433 1530434 1530435 1530440 1530478 1530479 1530481 1530482 1530493 1530544 1530549 1530552 1530566 1530572 1530575 1530577 1530578 1530625 1530626 1530632 1530652 1530657 1530690 1530702 1530730 1530749 1530822 1530836 1530862 1530869 1530885 1530891 1530959 1530968 1531018 1531055 1531096 1531099 1531116 1531123 1531129 1531205 1531219 1531221 1531258 1531259 1531262 1531280 1531294 1531304 1531305 1531315 1531325 1531327 1531331 1531333 1531335 1531338 1531340 1531371 1531372 1531373 1531375 1531384 1531391 1531393 1531400 1531409 1531412 1531414 1531420 1531422 1531424 1531434 1531435 1531441 1531444 1531556 1531654 1531883 1531906 1532298 1532485 1532737 1533126 1533168 1533316 1533366 1533379 1533387 1533416 1533478 1533491 1533505 1533643 1533693 1533733 1537022 1538881 1541201 1541202 1541222 1541456 1541463 1541473 1541476 1541519 1541530 1541540 1541581 1541592 1541677 1542030 1542809 1545769 1550055 1550056 1550057 1550059 1550067 1550075 1550080 1550089 1561592 1562019 1562066 1562161 1562355 1562360 1562418 1562545 1563032 1563133 1563368 1563655 1563657 1563659 1563701 1563702 1563703 1563704 1563747 1563748 1563753 1563778 1563812 1563821 1563829 1563831 1563838 1563845 1563860 1563868 1563869 1563873 1563875 1563938 1563942 1563949 1563952 1563954 1563955 1563959 1563961 1563963 1563965 1563967 1563968 1563974 1563980 1564021 1564040 1564047 1564048 1564101 1564105 1564109 1564127 1564147 1564182 1564209 1564227 1564230 1564257 1564274 1564277 1564279 1564281 1564282 1564283 1564284 1564285 1564292 1564297 1564335 1564338 1564339 1564406 1564408 1564420 1564421 1564425 1564439 1564441 1564443 1564447 1564474 1564477 1564533 1564535 1564548 1564557 1564572 1564607 1564659 1564702 1564716 1564717 1564730 1564749 1564760 1564761 1564762 1564763 1564799 1564801 1564826 1564861 1564912 1564932 1564936 1564941 1564960 1564985 1565046 1565052 1565095 1565108 1565112 1565116 1565168 1565185 1565189 1565199 1565200 1565206 1565227 1565228 1565237 1565238 1565251 1565270 1565271 1565272 1565279 1565280 1565286 1565302 1565305 1565316 1565318 1565336 1565391 1565403 1565471 1565473 1565478 1565493 1565499 1565507 1565518 1565519 1565520 1565528 1565529 1565533 1565544 1565560 1565577 1565578 1565579 1565582 1565627 1565629 1565658 1565663 1565670 1565675 1565677 1565709 1565712 1565715 1565735 1565738 1565749 1565751 1565756 1565772 1565774 1565793 1565821 1565822 1565900 1565908 1565911 1565912 1565913 1565932 1565968 1565969 1565971 1565992 1566001 1566002 1566021 1566036 1566040 1566043 1566046 1566054 1566064 1566065 1566070 1566074 1566086 1566109 1566111 1566145 1566147 1566164 1566206 1566215 1566222 1566232 1566235 1566236 1566242 1566262 1566289 1566297 1566301 1566305 1566306 1566317 1566319 1566320 1566326 1566327 1566394 1566403 1566412 1566435 1566539 1566540 1566544 1566545 1566576 1566580 1566581 1566584 1566587 1566588 1566599 1566606 1566631 1566632 1566683 1566687 1566689 1566693 1566698 1566700 1566724 1566726 1566736 1566738 1566741 1566756 1566757 1566758 1566781 1566786 1566826 1566838 1566854 1566855 1566878 1566885 1566886 1566891 1566895 1566896 1566912 1566915 1566921 1566964 1566967 1566968 1566974 1566975 1566977 1567014 1567029 1567037 1567041 1567057 1567064 1567065 1567067 1567087 1567096 1567117 1567123 1567131 1567134 1567138 1567139 1567140 1567155 1567156 1567161 1567166 1567173 1567174 1567183 1567187 1567213 1567234 1567237 1567285 1567291 1567295 1567312 1567322 1567346 1567373 1567379 1567432 1567439 1567471 1567480 1567481 1567487 1567490 1567501 1567518 1567546 1567549 1567554 1567556 1567569 1567591 1567606 1567627 1567637 1567643 1567656 1567663 1567671 1567705 1567706 1567707 1567717 1567725 1567729 1567753 1567756 1567763 1567768 1567769 1567775 1567778 1567816 1567840 1567842 1567849 1567854 1567867 1567868 1567911 1567929 1567935 1567939 1567941 1567957 1567964 1567965 1567966 1567974 1567975 1567976 1567997 1568001 1568002 1568009 1568013 1568018 1568020 1568036 1568037 1568039 1568040 1568042 1568045 1568067 1568073 1568084 1568085 1568091 1568094 1568156 1568160 1568171 1568189 1568221 1568233 1568234 1568244 1568279 1568295 1568312 1568313 1568316 1568328 1568333 1568336 1568337 1568346 1568347 1568356 1568372 1568388 1568389 1568458 1568489 1568525 1568526 1568534 1568538 1568545 1568612 1568660 1568664 1568689 1568706 1568708 1568719 1568721 1568724 1568782 1568797 1568805 1568806 1568807 1568809 1568816 1568843 1568846 1568858 1568859 1568873 1568881 1568927 1568930 1568937 1568942 1568950 1568955 1568958 1568959 1568962 1569017 1569026 1569048 1569053 1569063 1569066 1569104 1569106 1569108 1569111 1569162 1569170 1569179 1569187 1569228 1569231 1569237 1569244 1569250 1569263 1569264 1569275 1569279 1569280 1569299 1569301 1569303 1569379 1569385 1569386 1569389 1569392 1569393 1569394 1569416 1569418 1569439 1569451 1569453 1569458 1569488 1569513 1569570 1569581 1569590 1569593 1569597 1569605 1569608 1569619 1569631 1569632 1569648 1569671 1569698 1569722 1569754 1569757 1569763 1569781 1569787 1569792 1569803 1569805 1569831 1569856 1569876 1569877 1569882 1569886 1569888 1569890 1569925 1569944 1569953 1569963 1569971 1569978 1570005 1570026 1570060 1570078 1570081 1570123 1570128 1570130 1570141 1570181 1570187 1570188 1570195 1570213 1570214 1570229 1570232 1570234 1570259 1570290 1570293 1570301 1570320 1570328 1570329 1570331 1570360 1570366 1570381 1570384 1570410 1570412 1570417 1570418 1570448 1570452 1570461 1570471 1570478 1570484 1570486 1570490 1570491 1570502 1570504 1570506 1570508 1570512 1570543 1570549 1570570 1570576 1570597 1570599 1570612 1570621 1570638 1570675 1570699 1570704 1570707 1570753 1570777 1570779 1570813 1570833 1570854 1570859 1570864 1570865 1570866 1570868 1570869 1570876 1570906 1570909 1570923 1570947 1570948 1570959 1570977 1570978 1571022 1571081 1571083 1571084 1571091 1571131 1571132 1571139 1571157 1571168 1571170 1571186 1571204 1571214 1571224 1571225 1571226 1571228 1571240 1571243 1571253 1571267 1571268 1571271 1571273 1571279 1571280 1571282 1571296 1571304 1571306 1571312 1571335 1571342 1571343 1571351 1571353 1571357 1571364 1571377 1571386 1571392 1571394 1571396 1571401 1571411 1571414 1571498 1571574 1571583 1572485 1572543 1572548 1572549 1572570 1572585 1572595 1572635 1572661 1572664 1572690 1572727 1572731 1572759 1572762 1572778 1572779 1572783 1572795 1576658 1576659 1576710 1576711 1576770 1576808 1576822 1576824 1576826 1576833 1576837 1576839 1576846 1576928 1577176 1577314 1577357 1577475 1578092 1578181 1578194 1579206 1579319 1579343 1579456 1579761 1579835 1586723 1586728 1586751 1586766 1586775 1586776 1586786 1586973 1586997 1587018 1587028 1587034 1587042 1587044 1587082 1587092 1587095 1587106 1587143 1587163 1587179 1587181 1588560 1588613 1589357 1601139 1601151 1601677 1601917 1602009 1602092 1602099 1602364 1608242 1608295 1608323 1608327 1608534 1608551 1608557 1608558 1608582 1608584 1608587 1608607 1608618 1608630 1608655 1608663 1608665 1608671 1608674 1608683 1608715 1608733 1608737 1608741 1608746 1608770 1608777 1608820 1608835 1608845 1608854 1608873 1608879 1609107 1609109 1609111 1609121 1609123 1609129 1609151 1609162 1609170 1609171 1609177 1609211 1609225 1609229 1609251 1609256 1609257 1609278 1609290 1609342 1609343 1609384 1609405 1609434 1609658 1609663 1609667 1609685 1609706 1609727 1609743 1609745 1609761 1609775 1609777 1609778 1609818 1609823 1609845 1609850 1609861 1609873 1609882 1609919 1609927 1609947 1609964 1610214 1610220 1610230 1610236 1610245 1610247 1610256 1610259 1610269 1610280 1610309 1610316 1610318 1610323 1610326 1610328 1610351 1610364 1610370 1610387 1610389 1610402 1610405 1610414 1610416 1610421 1610428 1610442 1610445 1610483 1610487 1610492 1610497 1610514 1610759 1610762 1610763 1610766 1610775 1610779 1610787 1610796 1610828 1610839 1610844 1610845 1610853 1610873 1610878 1610884 1610886 1610894 1610896 1610902 1610905 1610906 1610919 1610926 1610936 1610938 1610973 1610990 1610991 1610994 1611001 1611034 1611054 1611055 1611061 1611079 1611313 1611320 1611340 1611345 1611346 1611354 1611362 1611363 1611396 1611400 1611401 1611413 1611416 1611423 1611425 1611437 1611441 1611454 1611465 1611468 1611476 1611493 1611510 1611518 1611541 1611550 1611558 1611586 1611596 1611598 1611608 1611611 1611639 1611870 1611874 1611880 1611882 1611886 1611907 1611915 1611921 1611944 1611954 1611957 1611964 1611967 1611969 1611971 1611974 1611984 1611985 1611987 1612020 1612024 1612027 1612038 1612043 1612063 1612073 1612074 1612081 1612091 1612093 1612134 1612159 1612164 1612168 1612190 1612191 1612206 1612216 1612219 1612223 1612224 1612226 1612237 1612239 1612240 1612241 1612249 1612250 1612252 1612273 1612281 1612295 1612436 1612449 1612488 1612496 1612758 1612760 1612789 1612795 1612837 1612849 1612880 1612984 1613299 1613306 1613314 1613319 1613321 1613333 1613348 1613354 1613358 1613372 1613374 1613384 1613398 1613399 1613430 1613444 1613859 1613860 1613880 1613883 1613885 1613892 1613899 1613907 1613914 1613924 1613939 1613944 1613948 1613953 1613954 1613957 1613998 1614004 1614029 1614407 1614411 1614450 1614456 1614463 1614477 1614496 1614499 1614508 1614540 1614557 1614609 1614653 1614664 1614959 1614962 1614968 1614973 1614976 1614983 1615003 1615019 1615028 1615031 1615047 1615051 1615056 1615059 1615060 1615061 1615111 1615241 1615509 1615521 1615526 1615531 1615539 1615580 1615605 1615613 1615615 1615643 1615645 1615662 1616289 1616558 1616563 1616565 1616567 1616583 1617066 1618093 1618096 1618273 1618612 1619316 1619621 1619629 1619857 1619873 1619889 1619898 1619901 1619923 1619925 1619937 1619944 1619948 1619960 1619994 1620010 1620011 1620024 1620046 1620047 1620082 1620084 1620085 1620094 1620117 1620124 1620130 1620132 1620142 1620173 1620178 1620183 1620191 1620203 1620205 1620218 1620229 1620230 1620247 1620255 1620263 1620285 1620287 1620289 1620322 1620333 1620460 1620923 1825497 2240226)\n(99 1779 2682 3533 5612 5850 5885 5886 5890 5901 5903 5910 8170 12209 12568 13205 13782 15396 15780 15954 17431 17504 18498 18591 18810 20969 21575 22490 23114 24554 24815 26578 27487 28719 29215 29218 30834 31437 32818 34537 36866 37294 37669 38846 39649 40445 41042 42757 79014 79399 79830 85732 85818 86292 87035 150831 162657 162658 178491 178492 178521 205682 220898 229990 229991 231253 231276 231277 231476 231482 232104 232973 233426 233427 233433 233888 233891 233894 234418 237723 237865 242640 242646 242771 242960 259876 262512 282631 301877 302608 314649 314653 314657 333676 333677 333678 333679 333682 333684 334071 337464 337490 337546 344333 392209 424612 424645 426929 428644 428645 428779 428817 428857 429008 429012 429021 429025 429635 429791 441760 445542 449911 456149 456258 456260 456262 456711 489451 489461 489468 489480 489488 489522 489549 489574 489606 489607 489620 489625 489636 489645 489650 489652 489654 489659 489661 489767 489786 520927 521994 522487 524718 524719 524720 552300 552389 552390 552406 552426 552443 552483 552502 552510 552513 552536 552579 552601 552610 552623 552634 552635 553034 553067 553112 557155 574765 574766 574767 582577 582578 596292 596746 596750 596796 597140 597253 597308 597650 597653 597654 598458 598459 598779 598900 599883 599910 599954 600498 678660 678674 678732 678733 678920 678921 678922 678925 678976 679520 686730 686794 702110 702111 750865 751612 751992 752078 805853 805899 805915 805952 806093 806140 806163 806243 806546 807333 807474 807477 807669 807745 807781 807885 808077 808215 808240 808376 808380 808409 808411 812388 813994 870313 870635 871078 871655 871976 883399 920496 945855 945860 946010 946046 946292 946338 946401 947319 947327 949285 949668 949669 949670 949672 949686 949687 1113661 1116089 1136169 1136181 1148362 1148378 1148391 1148433 1148438 1171332 1183869 1254472 1256404 1257955 1257956 1261273 1261466 1261467 1262869 1284841 1284842 1303013 1317110 1317145 1317146 1317149 1317150 1317169 1317293 1317296 1317301 1317356 1317459 1317482 1317590 1317785 1317817 1318107 1318444 1320584 1320587 1320609 1321045 1321060 1321062 1449620 1450569 1506993 1507318 1508228 1508277 1510828 1514779 1515897 1517513 1519021 1522384 1524083 1537068 1537071 1545537 1562749 1563743 1565449)\n(100 934 1400 1702 1811 2750 3054 3618 3622 4614 5486 5511 5576 5615 5823 5892 5904 5905 6147 6159 7179 8071 8086 8810 8943 9253 9637 9990 11065 11107 11135 11167 12238 13123 13470 13529 13576 13746 13831 13937 14653 14906 14948 15264 15895 15914 15946 16240 16284 18270 18840 18841 19516 19868 20966 20967 20968 21059 21080 21144 21279 22701 22864 23796 23946 24924 24929 24960 25274 25329 25344 25513 25516 25519 25558 26559 26612 26649 26751 27842 28161 28641 29260 29957 29976 29979 30596 31807 32961 32971 32986 32989 33274 33421 34011 34938 34954 35150 35152 36887 37313 37319 37361 37817 38186 38822 38845 39242 39478 40735 42034 42486 42767 42774 42789 42939 43012 43050 43064 43084 43240 85759 85897 86032 86311 149973 152152 162523 162630 178520 178548 178592 178747 184532 206159 206188 220761 220843 231195 231256 231282 231283 231312 231323 231452 231481 231795 231800 231802 231896 231936 232338 232351 232463 232906 232909 232938 232990 232991 233081 233089 233324 233387 233896 233929 233930 233931 233932 234174 234175 234193 234194 234198 234452 234453 234608 237118 237434 237446 237464 237466 237509 237552 237617 237820 242684 243109 259902 260006 260026 260057 269695 269696 277806 277847 278023 278047 278049 278050 278054 278073 278092 278093 278095 278098 278102 278123 278128 278129 278132 278137 282061 282498 282576 301625 301872 301875 301876 301887 302295 312542 333953 341899 376591 392358 404548 404836 404839 404841 404842 404843 405136 429277 439824 439826 474461 489528 495279 520826 520915 520917 520918 520957 524616 524617 524618 524619 560560 562229 576729 576730 578019 589516 596074 596236 596374 596474 596570 596807 596840 596841 596935 596937 597043 597059 597230 597252 597282 597375 597462 597642 597657 597987 598003 598016 598025 598281 598357 598358 598780 598873 598901 598941 598946 599028 599289 599336 599607 599615 599699 599853 677549 678121 678209 678210 678334 678666 678668 678669 678670 678673 678675 678692 678699 678700 678701 678710 678711 678715 678723 678724 678726 678730 678763 678764 678765 678854 678863 678889 679017 679018 679019 679020 679032 683141 683152 683154 684271 687682 699900 751482 752350 752351 814001 814002 814007 815081 815085 849778 856366 856856 868992 870137 870142 870213 870555 870564 870671 870741 870833 870919 870921 870922 871081 871212 871276 871354 871379 871408 871470 871531 871665 872132 872135 872161 872193 887936 887937 887981 920197 920552 920553 945826 949236 950151 1135598 1136180 1145676 1148523 1154326 1154329 1154349 1154367 1154368 1154378 1154581 1154582 1154613 1154742 1154958 1154959 1154962 1154964 1154967 1154971 1154972 1154973 1154978 1154980 1154982 1154988 1154989 1155250 1155281 1155285 1155286 1155306 1155310 1155311 1155323 1155328 1155347 1156134 1156260 1156280 1156281 1156320 1156492 1157202 1157209 1157268 1157754 1157823 1158345 1159366 1160056 1160062 1160078 1160079 1160084 1160087 1160119 1160120 1160141 1160157 1160158 1160162 1160177 1160179 1160185 1160189 1160201 1160209 1160232 1160323 1160341 1160343 1160401 1160418 1160419 1160421 1160430 1160449 1160452 1160453 1160537 1160542 1160550 1160552 1160557 1160574 1160575 1160576 1160618 1160627 1160628 1160637 1167621 1177284 1256755 1258016 1258055 1260875 1260923 1265953 1268862 1275505 1276857 1277049 1277052 1277053 1282149 1282150 1282161 1282162 1282163 1282172 1282173 1282174 1282175 1286104 1286340 1290931 1290944 1299705 1301979 1314680 1321860 1325851 1325853 1325871 1325896 1325911 1326530 1326533 1326539 1326540 1326553 1326558 1326563 1326577 1326578 1326593 1326599 1326663 1326670 1326674 1326676 1326677 1326739 1326740 1326741 1326743 1326747 1326754 1326813 1326814 1327180 1327400 1327413 1327461 1327462 1327463 1327467 1327471 1327473 1327477 1327495 1327516 1327523 1327524 1327526 1327553 1327572 1327582 1327591 1327611 1327633 1328813 1373181 1442959 1456653 1510470 1510659 1510835 1511795 1512501 1513770 1516002 1516559 1517461 1522763 1522786 1522805 1522861 1522982 1523019 1523339 1523351 1523352 1523390 1523394 1523544 1523563 1523573 1523589 1523591 1523595 1523599 1523622 1523688 1523713 1523714 1523733 1523734 1523737 1523776 1523910 1523923 1523925 1523928 1523930 1523932 1523943 1523955 1524120 1561987 1563191 1563204 1563744 1563755)\n(101 8109 19425 19904 20205 29235 31865 34523 37788 38027 162470 206333 206612 314731 314732 444284 445623 450254 457452 562622 562623 562624 562625 562637 562638 562639 562640 562641 562689 585171 596121 596971 597305 597570 597898 597899 598461 599029 599030 599383 599384 599636 599804 599840 600517 682471 684063 969756 1136222 1215788 1215789 1220990 1226859 1253957 1269649 1328927 1444089 1459238 1511486 1512692 1514798 1517710 1518032 1519280 1562001 1562052)\n(102 876 7983 8070 9823 14830 15179 15737 16162 16502 16617 18104 18105 21415 21622 21675 21784 22416 22874 22877 23621 23629 25019 26219 26592 26788 27472 28659 29246 29247 33145 35172 35198 36375 36379 36530 37455 38191 39716 40598 40756 41677 41678 41682 41701 41712 41735 41740 43234 85410 175952 178572 237463 237643 242527 282196 282271 337651 337726 376630 402580 424935 524590 543438 557591 557792 557793 557794 557796 557797 557798 557799 557800 557801 557802 557805 557807 557808 557809 557810 557812 557813 582205 589339 596497 597480 599395 599433 600216 600273 600275 600276 600621 678367 679727 679729 680340 680400 680643 680646 680649 680650 680654 680655 680657 680658 680661 680663 680762 680766 680771 680772 680773 680774 680775 680777 680778 680779 680780 680781 680782 680784 680786 680880 680881 680934 680936 680940 680945 680946 681321 681331 681332 681333 681334 681384 681385 681386 681387 682022 682028 682030 682035 683508 683627 683712 683735 683756 683757 683758 683759 683761 683839 683939 684040 814707 814785 868931 868958 870401 870576 870614 870713 870734 870783 870864 871230 871249 871334 871491 876931 876933 1510557 1510747 1511775 1513884 1552743 1555720 1608220)\n(103 1117 1399 1762 1884 2219 2451 3296 4048 5167 5756 5757 5769 5778 5811 5855 5856 5935 5939 5972 5974 6660 6906 6907 7227 7818 8673 9050 9200 9850 9928 9944 10067 10095 10096 10985 11227 11352 11354 11382 11431 11435 12244 12797 13010 13493 13936 14362 14819 15214 15215 15216 15217 15326 15413 16183 16426 16528 16529 16548 16815 16989 17001 17120 17127 17140 17184 17191 17654 18129 18131 18447 18820 18951 18952 19010 19116 19542 20965 21055 21516 21586 21613 21826 21838 21880 21888 22205 22259 22566 22654 22925 22929 23773 23889 23907 24112 24888 25962 26132 26641 26687 26820 26828 26836 26861 27045 27477 27767 27788 27790 27793 27880 27911 28740 28853 28877 29047 29213 29214 29433 29965 29977 30847 31133 31577 31624 31924 32058 32119 32173 34057 34059 34071 34158 34673 34876 34929 34932 34937 34942 34943 34963 34965 35070 35213 35218 35230 35245 35246 36019 36104 36658 36874 36894 37269 37271 37289 37290 37846 37853 37990 38050 39336 39829 40210 40297 40432 40439 42031 42059 42130 42377 42396 42495 42509 42797 42834 42895 43090 43190 43229 78994 78995 78996 79043 79103 79879 79949 79991 80308 80309 80310 80311 85085 85268 85854 86481 86571 87121 150479 162336 162337 162525 162542 178482 178679 178800 178832 178839 205855 206088 206089 206119 206120 206122 206123 206162 206249 221130 221145 231464 231484 231485 231489 231493 231494 231503 231508 231542 231553 231558 231561 231562 231564 231565 231568 231569 231570 231573 231575 231577 231581 231582 231593 231830 231921 231924 231940 231953 232010 232013 232040 232041 232042 232048 232049 232050 232052 232053 232055 232079 232089 232102 232108 232122 232133 232136 232139 232142 232145 232148 232151 232154 232157 232160 232164 232167 232174 232177 232187 232204 232217 232365 232378 232382 232396 232404 232407 232413 232416 232436 232445 232456 232464 232468 232469 232506 232510 232522 232524 232525 232526 232527 232529 232530 232531 232538 232539 232540 232542 232549 232550 232552 232554 232555 232556 232560 232571 232572 232573 232577 232579 232583 232584 232586 232587 232594 232611 232612 232615 232618 232622 232625 232626 232627 232630 232632 232633 232635 232639 232642 232644 232645 232653 232655 232657 232671 232674 232675 232676 232679 232683 232688 232702 232712 232713 232714 232715 232718 232722 232730 232731 232734 232735 232736 232737 232738 232741 232746 232748 232749 232750 232752 232754 232755 232757 232758 232759 232761 232763 232767 232768 232772 232775 232777 232779 232786 232787 232793 232796 232804 232809 232810 232811 232812 232813 232816 232817 232818 232819 232822 232823 232824 232827 232830 232834 232836 232837 232840 232844 232850 232903 233121 233157 233170 233369 233371 233377 233379 233382 233383 233385 233976 234071 234074 234097 234099 234101 234102 234105 234107 234108 234109 234110 234111 234112 234115 234116 234118 234120 234121 234122 234126 234128 234147 234149 234150 234151 234153 234154 234156 234157 234158 234160 234167 234168 234176 234183 234196 234200 234203 234204 234205 234206 234208 234219 234222 234258 234268 234270 234272 234275 234287 234290 234310 234312 234315 234325 234335 234339 234346 234348 234352 234386 234390 234391 234393 234397 234407 234412 234414 234415 234416 234557 234562 234564 234593 234597 234610 234627 234643 234667 234671 234672 234673 234675 234676 234687 234688 234698 234704 234713 234714 234715 234722 234728 234729 234738 234744 234748 234759 234771 234772 234775 234777 234778 234779 234788 234789 234790 234795 234796 234800 234805 234808 234809 234821 234822 234825 234826 234827 234830 234833 234847 235577 236051 237452 237453 237460 237543 237858 242104 242416 242622 242979 243079 260043 277937 278220 282541 282544 282557 282558 282588 282617 301619 302084 302086 302090 302093 302097 302241 302244 302600 311426 311432 311437 312426 312427 312431 312432 312827 312832 312833 312836 312839 312842 312843 312845 312849 312850 312852 312856 333129 333134 333135 333475 333617 333621 334024 334025 334029 334112 334152 334153 334168 334185 334201 334204 334210 334211 334212 334217 334220 334221 368619 368983 376302 376303 392683 422883 422971 423152 423153 423552 425583 425716 427195 428174 428880 429211 429427 429428 429431 429432 429436 429439 442689 442883 443169 516983 517349 520451 520581 520855 520865 520866 520867 520892 520925 520958 520996 522009 522209 522310 522327 522329 522344 524544 524608 524913 525006 525007 542330 544610 544633 544650 544651 544652 544654 544665 544683 558237 558238 563145 577103 579062 589522 596003 596138 596140 596164 596169 596174 596200 596204 596215 596225 596226 596229 596252 596253 596254 596276 596287 596378 596550 596595 596599 596673 596674 596675 596676 596684 596794 596868 596870 596984 596997 597034 597042 597044 597053 597087 597130 597157 597163 597166 597232 597245 597250 597280 597324 597373 597393 597397 597398 597401 597406 597439 597454 597465 597492 597502 597545 597579 597637 597640 597662 597663 597664 597665 597722 597768 597933 598067 598095 598421 598574 598604 598724 598792 598959 598963 599064 599285 599299 599321 599323 599341 599420 599781 599782 599855 599908 600321 600454 600519 600520 600554 678720 678727 678855 678857 678858 678859 678860 678864 678866 678868 678869 678870 678871 678872 678874 678875 678876 678878 678879 678880 678881 678882 678883 678884 678886 678887 678890 678891 678892 678894 678895 678897 678898 678899 678900 678902 678904 678905 678906 678908 678909 678910 678911 678913 678917 683184 683188 683189 683190 683200 683201 683205 683206 683208 683210 683211 683212 683213 687724 699771 700310 702221 814024 814028 814031 814032 814034 840132 853038 859337 860133 860721 870377 870533 870568 870786 870812 870948 871001 871019 871075 871265 871461 871638 871762 871845 871926 872237 872293 872339 877453 877509 877542 887803 887804 920509 920516 920529 920621 920742 920762 920875 920876 920877 920878 948887 949085 949649 971859 1096529 1096531 1123009 1136140 1136141 1154348 1155248 1155901 1155913 1155937 1155938 1155971 1156005 1159864 1159865 1159892 1160041 1160044 1160045 1160048 1160063 1160064 1160068 1160069 1160070 1160071 1160076 1160077 1160083 1160093 1160094 1160095 1160098 1160107 1160108 1160109 1160111 1160112 1160135 1160139 1160203 1160204 1160206 1160208 1160234 1160241 1160249 1160250 1160254 1160262 1160264 1160265 1160266 1160267 1160269 1160271 1160272 1160275 1160280 1160281 1160284 1160285 1160287 1160311 1160312 1160318 1160320 1160321 1160322 1160324 1160333 1160335 1160337 1160339 1160340 1160342 1160344 1160349 1160350 1160356 1160357 1160362 1160365 1160367 1160369 1160370 1160373 1160389 1160390 1160391 1160399 1160402 1160415 1160416 1160417 1160420 1160477 1160497 1160498 1160500 1160534 1160538 1160540 1160563 1160582 1160601 1160607 1160610 1160630 1161311 1171312 1171327 1256758 1257737 1257981 1257982 1257984 1258017 1258036 1268862 1268887 1268930 1276856 1278768 1291013 1291048 1299456 1301578 1305865 1326557 1326559 1326592 1326595 1326611 1326620 1326622 1326630 1326631 1326636 1326637 1326638 1326653 1326664 1326668 1326669 1326703 1326704 1326711 1326764 1326766 1326769 1326777 1326788 1326800 1326801 1326803 1326804 1326811 1326812 1326959 1327511 1327525 1371277 1371278 1371280 1371282 1371283 1371284 1371286 1371287 1371292 1371294 1371296 1371299 1371301 1371302 1371306 1371310 1371311 1371315 1371324 1371349 1371406 1371409 1371455 1371457 1371463 1371464 1371466 1371469 1371472 1371487 1371490 1371528 1371530 1371532 1371533 1371545 1371550 1371553 1371554 1371565 1371572 1371573 1371581 1371585 1371588 1371593 1371598 1371609 1371637 1371639 1371641 1371642 1371645 1371647 1371648 1371649 1371650 1371654 1371658 1371660 1371661 1371662 1371675 1371676 1371678 1371683 1371685 1371686 1371691 1371695 1371696 1371780 1371866 1371904 1372008 1372009 1372014 1372023 1372024 1372033 1372040 1372072 1372074 1372081 1372082 1372120 1372152 1372253 1372254 1372255 1372256 1372268 1372270 1372325 1372328 1372330 1372332 1372336 1372341 1372360 1372361 1372541 1372544 1372550 1372558 1372587 1372721 1372732 1372752 1372753 1372759 1372765 1372775 1372777 1372785 1372789 1372791 1372797 1372804 1372805 1372807 1372811 1372812 1372836 1372845 1372846 1372848 1372850 1372856 1372857 1372874 1372880 1372883 1372885 1372886 1372887 1372899 1372937 1372939 1372940 1372942 1373178 1373179 1373180 1373187 1373188 1373189 1373193 1373196 1382345 1382401 1382414 1382419 1441384 1449657 1449935 1449936 1511806 1512753 1513731 1516031 1516294 1516376 1516929 1517080 1517884 1518045 1518289 1519473 1519687 1519873 1522779 1522862 1522876 1522883 1522885 1522925 1522932 1522934 1522994 1522995 1522996 1522997 1523020 1523021 1523300 1523301 1523302 1523303 1523400 1523401 1523597 1523598 1523610 1523613 1523642 1523664 1523669 1523711 1523725 1523731 1523779 1523857 1523913 1527409 1533692 1535551 1536987 1537019 1537031 1540684 1540845 1562259 1563698 1568400 1568403 1568405 1620290)\n(104 810 833 887 1075 1118 1122 1349 1364 2064 2170 2792 2994 3130 3132 3578 3811 3860 3960 4044 4058 4144 4238 4239 4258 4366 4368 4372 4766 5417 5758 5959 6110 6114 6119 6384 7768 7784 7820 7994 8519 8522 9566 9760 9814 10828 11071 11103 11164 11174 11304 11560 12359 12767 13390 13419 13420 13604 13687 13922 13990 14461 14591 14595 15374 15376 15402 15668 15924 15927 15934 15959 16059 16175 16398 16549 16826 17181 17639 18128 18134 18188 18193 18194 18199 18200 18273 18790 18924 18926 18944 18946 18962 19066 19123 19125 20224 20452 20461 20507 20510 20517 20522 20523 20564 20569 20572 20581 20683 20963 21308 21361 21368 21369 21374 21375 21376 21378 21381 21382 21385 21386 21387 21389 21614 21655 21890 21893 22346 22650 22696 23052 23182 23183 23370 23518 23653 23869 24050 24348 24524 24525 25062 25222 25323 25345 25874 26689 26766 27046 27055 27540 27543 27626 27645 27686 27872 28778 28790 28949 29163 29191 29396 29435 29445 30294 30587 30660 30833 30922 31557 31600 31913 32227 32776 32780 32787 32788 32792 32796 32797 32816 33074 33677 33785 33831 33999 34189 34209 34989 35228 35229 35317 35320 35357 35405 35410 35441 35450 35624 35956 36089 36429 36679 36749 36974 36980 36982 36983 36984 36986 37099 37154 38343 38534 38536 38862 38940 38941 38967 39231 39342 40038 40053 40428 40444 40730 40796 41276 41582 42134 42135 42300 42484 42487 42514 42782 42909 43065 43241 43507 79027 79581 80203 85073 85109 85257 85258 85298 85605 85610 85611 85612 85616 85617 85618 85621 85637 85649 85654 85660 86565 149594 149721 149770 149777 149788 149814 149816 149825 149854 149863 149889 149892 149910 149938 150011 150017 150034 150079 150083 150085 151476 151512 151517 151521 151526 151567 151571 151603 151604 151606 151609 151610 151612 151616 151627 151628 151629 151634 151636 151654 151661 151686 151692 151694 151698 151699 151701 151702 151713 151717 151718 151730 151734 151735 151746 151752 151753 151763 151795 151799 151811 151857 151891 151946 151994 151998 152154 152156 152158 152168 152173 152245 152254 152448 154275 154661 155201 155216 155268 155278 155306 155452 155709 155710 155713 155762 155921 155927 156181 156339 156373 156384 156394 156403 156404 156406 156408 157266 158307 158350 158850 158931 158986 159039 160814 161754 161768 161815 161816 161817 161818 161819 161820 161823 162154 162297 162351 162633 162770 162812 162834 175895 178292 178428 178554 178824 206068 206228 206231 206277 206306 206366 220854 220981 220982 220994 221103 221143 221146 221242 221247 221255 221270 221333 221379 221392 221434 221707 221791 231170 231171 231176 231177 231178 231181 231182 231183 231189 231274 231302 231372 231446 231972 232018 232100 232171 232180 232200 232206 232208 232213 232214 232215 232216 232219 232340 232342 232352 232354 232355 232483 232519 232595 232769 232770 232841 232870 232910 232933 232944 232977 232981 233086 233105 233256 233315 234047 234090 234439 234540 234546 234547 234629 234927 234985 235007 235029 235063 235064 235086 235097 235304 235395 235432 235438 235480 235490 235511 235515 235516 235519 235520 235531 235551 235552 235592 235620 235656 235665 235723 235724 235746 235779 235802 235810 235827 235834 235835 235873 235879 235883 235895 235912 235919 235957 235970 235979 235991 236003 236013 236024 236068 236069 236072 236124 236167 236959 237653 237873 238094 238217 238457 239086 239174 239189 239549 239937 239938 240059 240555 240769 241216 241292 241558 241669 241742 241799 241938 242184 242648 242649 242656 242698 242707 242781 242973 243065 243069 243082 243083 243084 243085 243086 243087 243089 259776 262508 262514 262627 262662 262666 262918 263111 263833 263845 263904 263985 263986 264006 264115 264124 264129 264276 264316 264735 264897 264906 264912 264913 264914 264940 264995 265024 265076 265082 265083 265084 265085 265087 265088 265100 265104 265116 266648 266664 266808 266809 266810 266811 266814 266815 267018 267070 267076 267090 267461 267516 267528 267567 267596 267778 267836 268000 268014 268018 268024 268026 268030 268085 268105 268414 268648 268688 268849 268891 268936 268937 268962 268969 268977 269002 269197 269291 269596 269608 269661 269816 269839 269841 269842 269898 269899 270183 270187 270190 270191 270246 270729 270829 270832 270834 270948 271032 271047 271203 271204 271299 271553 271554 271820 271911 272396 274282 274312 274313 274317 274411 274437 277538 277585 277785 277964 278026 278056 278106 281169 281860 281947 282034 282474 282683 301616 301815 301816 301889 301891 301892 301917 301922 301925 301927 301941 301942 301943 301946 301947 301948 301949 301951 301952 302085 302144 302149 302158 302176 302302 302309 302497 302505 302511 302590 302813 302885 312546 312831 332448 332534 332567 333106 333114 333119 333124 333126 333128 333138 333139 333140 333165 333166 333167 333168 333169 333170 333171 333172 333174 333175 333197 333200 333233 333234 333236 333237 333241 333242 333250 333253 333257 333260 333261 333273 333276 333277 333278 333279 333280 333281 333282 333285 333286 333287 333288 333349 333351 333353 333354 333355 333357 333358 333359 333360 333367 333368 333371 333373 333374 333376 333377 333379 333381 333383 333386 333387 333389 333390 333391 333392 333396 333397 333398 333400 333401 333402 333404 333405 333409 333411 333412 333416 333417 333418 333421 333423 333424 333425 333431 333432 333433 333434 333435 333437 333438 333439 333442 333443 333444 333445 333446 333447 333448 333449 333450 333451 333452 333453 333454 333456 333459 333460 333461 333462 333464 333466 333467 333471 333472 333473 333474 333476 333479 333480 333481 333483 333484 333488 333489 333490 333491 333492 333493 333501 333502 333503 333504 333505 333506 333507 333508 333509 333511 333512 333513 333514 333515 333517 333525 333532 333536 333537 333538 333539 333542 333543 333544 333545 333546 333547 333548 333549 333550 333551 333552 333554 333556 333557 333560 333561 333563 333564 333565 333566 333569 333574 333575 333576 333581 333584 333585 333586 333587 333596 333603 333606 333608 333609 333616 333619 333622 333625 333628 333629 333632 333637 333638 333641 333642 333644 333646 333649 333650 333651 333653 333654 333657 333660 333661 333662 333664 333666 333667 333669 333670 333949 333951 333956 333957 333964 333965 333966 333967 333969 333970 333975 333976 333977 333978 333979 333981 333982 333984 333985 333987 333988 333989 333990 333994 333995 334000 334001 334002 334003 334004 334005 334009 334011 334026 334040 334042 334053 334061 334077 334078 334095 334096 334097 334098 334131 334132 334133 334134 334136 334137 334138 334142 334144 334145 334146 334147 334148 334149 334155 334157 334158 334159 334160 334161 334165 334167 334208 334209 338380 338466 338561 338563 338568 339242 339330 339422 339757 340220 340276 340291 340496 340500 340515 340517 340530 340531 340561 340565 340654 340681 340753 340858 340868 340912 340990 341447 341498 341517 341597 341750 341863 341960 341967 341968 341974 342095 342179 342180 342182 342218 342220 342224 342257 342298 342299 342300 342301 342314 342315 342316 342359 342362 342365 342366 342367 342382 342384 342389 342392 342395 342427 342454 342455 342480 342490 342498 342579 342626 342629 342648 342649 342651 342652 342662 342871 342874 342898 342907 342919 342921 342923 342924 342927 342946 343028 343067 343165 343166 343167 343168 344436 345407 345468 345469 347659 347947 347959 347961 347962 347963 348024 348888 349069 349077 349481 349702 349725 349753 349757 349781 362050 375257 375380 375576 375732 376297 391817 392025 392080 392106 392182 392190 392196 392459 392473 392676 392687 392689 392703 392707 392708 392709 392711 392776 393386 393399 393502 393582 393595 393631 393763 393885 393890 393893 393894 393895 393898 394014 394015 394017 394018 394019 395922 395924 395961 398353 398565 398566 398588 398648 398796 398798 399342 399498 399574 400827 400828 400829 400830 400841 400861 400864 400968 400969 400997 400998 401006 401084 401151 403468 403637 403638 403644 403646 403647 403649 403650 403651 403657 403659 403668 403673 404465 404531 404556 404557 404576 404585 404844 404867 404870 404871 405058 405107 405152 405329 405332 406600 406601 406602 406828 406831 406835 409365 409416 410013 410082 410112 410113 410115 410282 410284 410287 410480 410574 410795 410916 422847 422850 422852 422858 422861 422872 424566 424786 424813 424840 425756 428792 428908 428974 428981 428982 429001 429892 432485 432487 438977 442835 442860 442865 443146 451938 452115 455987 455991 455995 456056 456057 456059 456066 456070 456089 456236 456237 456511 456973 457010 460048 472374 472376 472377 472378 472383 472387 472388 472515 472779 472780 472781 473228 473231 473311 473316 473390 473391 473508 473591 474357 475319 475526 475547 475597 475598 475601 475714 475715 475734 475737 475741 476265 476474 477854 494512 494563 494597 494809 494857 494979 495246 495385 495419 520474 520547 520548 520558 520561 520591 520594 520596 520599 520730 520754 520817 520863 520893 520917 520918 520933 520978 520991 521169 521173 521174 521187 521189 521195 521464 521484 521497 521498 521508 521510 521528 521535 521540 521543 521544 521604 521612 521642 521643 521644 521647 521794 521795 521850 522035 522338 522351 522563 522564 522565 522571 524595 524672 541624 541923 542014 542211 542346 543506 543508 543523 543528 544459 544471 544566 544612 544617 544618 544622 544628 544629 544630 544636 544666 544688 544756 544779 544781 544784 544789 544791 544793 544794 544801 544805 544819 544820 544845 544855 544862 544863 544864 545028 545035 545036 546319 546323 546404 546412 546474 546884 546959 546961 549124 549152 549289 549314 549383 549384 549396 549412 549558 549559 549560 549562 549563 549566 549581 549582 549592 549593 549594 549595 549600 549629 549631 549640 549650 549651 549652 549658 553572 553686 553692 553697 553750 553755 553987 554137 554314 554603 557874 558158 558159 558160 558360 558369 558370 558429 559257 559477 559478 559480 559747 559748 559749 559750 559751 560143 560239 563230 563642 564750 565621 566703 566943 567214 570560 570562 571413 571423 571484 573992 573994 573995 573999 574006 574012 574028 574037 574733 574932 576491 577628 577629 577630 577637 577699 578400 578437 578479 579151 580179 581342 581343 581349 581350 581359 581385 581849 585109 585144 585174 585229 585267 585268 585269 585629 585630 586102 586281 586379 587240 587245 588389 595862 595920 595938 595939 595950 595954 596118 596122 596237 596722 596761 596793 597124 597181 597183 597184 597387 597396 597469 597532 597711 597735 597849 597850 597852 597891 597907 598588 598643 598650 598690 598703 598784 598905 598906 599084 599325 599334 599335 599457 599877 599878 600049 600076 600177 600228 600518 677042 677665 678108 678772 679220 679221 679222 679223 679316 679317 679330 679335 679396 679397 679861 679862 683062 683370 683371 684230 684320 684324 685932 685933 685934 686760 686763 687675 699748 700080 700148 700185 700198 700363 702120 702142 728867 729264 729948 729949 729958 740273 740341 740384 740947 741165 741243 741292 741305 741307 741553 741587 741820 741830 741867 741872 741877 741928 741969 742007 742017 743868 744515 744813 744900 745791 745812 746552 746626 747188 747264 747521 747772 748104 748127 748331 748390 748394 748932 749019 749021 749111 749155 749225 749330 749766 749792 749825 749848 749862 750038 750078 750175 750966 750969 750970 751015 751171 751507 751530 751741 751891 751892 751893 752135 752168 752350 752351 795687 795688 810042 814011 814013 815080 815121 840132 848084 848215 848280 848437 848440 848551 848885 848887 848889 848898 849662 849875 849880 850093 850301 850303 850824 851390 851411 851536 851640 851774 851988 852184 852628 852717 852857 852958 852962 852964 853032 853154 853255 853314 853336 853339 853347 853847 853888 853894 853927 854142 854171 854265 854275 854403 854456 854466 854520 854521 856049 856394 856544 856545 856623 856731 856733 856757 856765 856887 857020 857024 857136 857284 857331 857353 857368 857375 857380 857423 857424 857425 857496 858209 858736 858768 858829 858835 859088 859253 859290 859868 860009 860039 860044 860047 860190 860283 860494 860517 860528 860555 860578 861148 861149 863072 863113 865480 865752 865786 867388 867389 876993 877042 877157 877158 877177 877308 877326 877337 877419 877587 877618 877657 877678 877690 877792 878575 878779 879626 919560 919577 919591 919592 919605 919606 919691 919697 919714 919726 919822 919884 919924 919935 920027 920038 920044 920064 920103 920175 920178 920269 920393 920394 920474 920563 920569 920645 920710 920711 920747 920779 947637 947878 947897 947898 948016 948031 948108 948163 948191 948233 948273 948309 948493 948591 948642 948645 948646 948652 948686 948713 948725 948782 948809 948846 948887 948915 948973 949015 949085 1096045 1096093 1096198 1096404 1096406 1096438 1096439 1096561 1096619 1096647 1096720 1110554 1112143 1112318 1112343 1112354 1112470 1112480 1112483 1112488 1112625 1112658 1112728 1140716 1140999 1141861 1141921 1141928 1141930 1142004 1142069 1142083 1142113 1142157 1142164 1142172 1142174 1142175 1142189 1142250 1142259 1142264 1142338 1142380 1142389 1142450 1142464 1142471 1142492 1142506 1142511 1142527 1142549 1142551 1154505 1154712 1155265 1155266 1156244 1167661 1167684 1167947 1168151 1168152 1168153 1168158 1168241 1168281 1168521 1260413 1260961 1261287 1261562 1262013 1262019 1262023 1262109 1262114 1262141 1262205 1262246 1262301 1262308 1263727 1263829 1263983 1263985 1264049 1264050 1264054 1264055 1264056 1264057 1264059 1264060 1264061 1264062 1264067 1264071 1264073 1264079 1264080 1264081 1264083 1264088 1264108 1264111 1264124 1264125 1264132 1264138 1264143 1264165 1264517 1264603 1264604 1264605 1265580 1265581 1265582 1265583 1265649 1265741 1265742 1265748 1265762 1265763 1265765 1265793 1265794 1265795 1265796 1265797 1265798 1265799 1265800 1265802 1265804 1265805 1265806 1265807 1265808 1265809 1265810 1265811 1265812 1265813 1265815 1265819 1265820 1265821 1265822 1265823 1265824 1265825 1265826 1265827 1265828 1265830 1265831 1265832 1265833 1265834 1265835 1265836 1265842 1265848 1265849 1265851 1265852 1265853 1265854 1265855 1265856 1265867 1265868 1265869 1265870 1265872 1265873 1265876 1265877 1265879 1265880 1265881 1265885 1265890 1265891 1265892 1265893 1265894 1265895 1265896 1265897 1265929 1265930 1265931 1265932 1265933 1265934 1265935 1265937 1265938 1265939 1265940 1265942 1265945 1265946 1265947 1265952 1265954 1265955 1265956 1265957 1265958 1265959 1265960 1265961 1265962 1265966 1265969 1265970 1265971 1265972 1265975 1265979 1265980 1265984 1265985 1265986 1270880 1272769 1273603 1274902 1275009 1275276 1275741 1275859 1277187 1277272 1279213 1279378 1279603 1279604 1280627 1280751 1285185 1285431 1290067 1290327 1290772 1290773 1290774 1299005 1299557 1299565 1299604 1299609 1299615 1299894 1299909 1300102 1300116 1301345 1301495 1302375 1302878 1304071 1304157 1304158 1305934 1306041 1306571 1306862 1317608 1317677 1319295 1320545 1320846 1320934 1321133 1321134 1321523 1321542 1321634 1321898 1327446 1327602 1328289 1328314 1328325 1328330 1328332 1328505 1328540 1328585 1328962 1328970 1331610 1331981 1332177 1332872 1333141 1333621 1333636 1334256 1334702 1335328 1335349 1335350 1335524 1336083 1336895 1368999 1371288 1372027 1383860 1386015 1387838 1388358 1389267 1390281 1392697 1395184 1395943 1395972 1397225 1399128 1399954 1403659 1404010 1404361 1404889 1405084 1405276 1405546 1407122 1410098 1442418 1442903 1443257 1443897 1444073 1444079 1444174 1444781 1446325 1446357 1452968 1455874 1455875 1455886 1455887 1455907 1456184 1456185 1456250 1456352 1456863 1458137 1504364 1504365 1504421 1504450 1504464 1504476 1504518 1504524 1504558 1504566 1504586 1510411 1510493 1516670 1518304 1518979 1519279 1519659 1519660 1519683 1519697 1520005 1521846 1522056 1522058 1527304 1527348 1531527 1531559 1531582 1531833 1533637 1533651 1533689 1535935 1535987 1536023 1536148 1536163 1536216 1536255 1536256 1536705 1536756 1537049 1537065 1540677 1549006 1549011 1549017 1556247 1558956 1560244 1560305 1560581 1560740 1560751 1560774 1561230 1561256 1561381 1561656 1561662 1562197 1562413 1562540 1562898 1563155 1563255 1563264 1563296 1563937 1566590 1608322 1608422 1608974 1608975 1608981 1609526 1609536 1610046 1610068 1610079 1610624 1611170)\n(105 2217 33159 282671 336529 336535 336666 337115 337141 376432 949783 1136288 1136289 1283254)\n(106 894 912 924 929 930 931 932 2035 11117 12618 12652 13829 13956 14415 14499 14676 15191 15329 15333 15619 15744 16141 16462 16477 23670 23672 23983 24069 24920 28263 28264 30011 33095 33586 33902 34106 34533 34897 35020 86562 86898 175921 175961 178796 178812 221188 234402 241842 241922 242679 242833 242918 259913 260009 261372 282165 301644 311435 314672 337027 337034 337074 337196 337200 337201 337209 376293 376522 376590 414085 418391 441722 441723 444690 444709 449421 449428 450027 452216 456453 458142 489547 522732 563027 563028 563030 563034 563290 563291 563531 563538 563540 563547 563557 563559 563595 596043 596262 596311 596319 596438 596491 596565 596801 596837 596891 596965 597225 597490 597538 597598 597599 598393 598528 598554 598636 598972 599225 599226 599281 599506 599746 677038 680082 681792 814828 867551 868945 869032 870079 870107 870455 870945 871732 871915 871918 871956 872366 1254481 1257789 1258199 1328815 1367973 1510610 1512196 1514233 1521871 1522240 1562835 1579887 1615608)\n(107 5529 5551 5775 5848 9348 13012 14272 15928 16017 18767 20119 20964 25320 26841 29237 29968 31327 31764 31843 31845 35203 39971 40480 42380 42401 149784 162536 162537 162567 178490 178498 178665 205835 205836 206158 206502 220844 221102 231197 232091 232368 232851 232896 232911 232914 232916 233947 233972 234073 234103 234104 234173 234192 234451 234685 234810 237476 237866 241186 242414 242599 242675 242703 242730 242731 242732 242733 242734 242736 243056 243107 243144 277826 278133 282546 301626 301627 301628 301873 301874 301905 301931 301944 302020 312550 312643 334214 334215 334216 349389 391841 391850 423561 442687 442688 442692 442694 442695 442696 442699 442700 442701 442702 442703 442704 442705 442706 442707 442710 443158 443214 444425 444692 444705 449430 456261 489815 520930 522307 524490 524671 524828 542478 544570 548934 596137 596194 596246 596987 597144 597170 597666 597675 598282 598362 598656 599130 599241 599242 599255 599256 599422 599423 599535 599949 678304 678662 678663 678667 678671 678686 678687 678688 678745 678748 678749 678755 678759 678861 678862 678896 683135 683136 683151 700630 743925 751982 813999 814008 855739 868946 870191 870357 870567 870653 870882 870935 871083 871125 871359 871372 871373 871374 871375 871908 872142 872234 878572 878641 993589 1096235 1135927 1160633 1254042 1254359 1257824 1258192 1268769 1268810 1268811 1268869 1268872 1268926 1291762 1291763 1291765 1291766 1291767 1292081 1292082 1292083 1292086 1292088 1321099 1325844 1326524 1326531 1326532 1326534 1326580 1326586 1326702 1326960 1326961 1326962 1327408 1327578 1327579 1327613 1328723 1328821 1328910 1367876 1371602 1371611 1371714 1371715 1371773 1371779 1371845 1371846 1371848 1372062 1372397 1372398 1372456 1372462 1372528 1372614 1372688 1372691 1372692 1372693 1372696 1372698 1372706 1372707 1372742 1372798 1372822 1373092 1373177 1373190 1373191 1373194 1373195 1373236 1378698 1383090 1446947 1446949 1456659 1511613 1511614 1511619 1512177 1512178 1512179 1512206 1512207 1512229 1512231 1512232 1512280 1512467 1512468 1512675 1512827 1512835 1512853 1512854 1513396 1514154 1514155 1514195 1514501 1514503 1514541 1514610 1514892 1515424 1515425 1515681 1516004 1516005 1516007 1516008 1516011 1516019 1516026 1516314 1516491 1516703 1516704 1516744 1516746 1516891 1516894 1517825 1517826 1518161 1518287 1519259 1519260 1519684 1519686 1521964 1522792 1522860 1522909 1522910 1523018 1523742 1524081 1533574)\n(108 39 96 107 151 167 172 173 190 254 263 266 268 275 289 294 364 378 379 392 399 402 424 473 477 481 490 503 506 523 545 546 578 589 598 608 610 618 661 665 666 782 855 946 948 949 956 959 960 970 973 974 975 979 981 983 992 1002 1040 1041 1046 1047 1050 1060 1061 1066 1097 1120 1134 1143 1157 1159 1187 1210 1237 1275 1367 1413 1443 1448 1480 1506 1521 1551 1590 1617 1636 1637 1640 1641 1644 1645 1647 1648 1655 1716 1771 1822 1888 1911 1927 1937 1947 1962 1975 1981 2006 2007 2025 2026 2027 2039 2040 2073 2083 2119 2132 2144 2157 2158 2159 2164 2165 2191 2199 2238 2239 2245 2253 2260 2268 2272 2313 2327 2328 2333 2334 2335 2340 2348 2362 2368 2371 2372 2403 2404 2412 2413 2421 2444 2467 2496 2502 2503 2509 2512 2520 2525 2530 2533 2536 2546 2555 2556 2560 2563 2569 2575 2586 2589 2590 2591 2598 2600 2605 2613 2615 2640 2641 2644 2658 2667 2671 2686 2696 2697 2699 2707 2711 2712 2727 2744 2752 2763 2771 2772 2773 2800 2823 2842 2844 2845 2860 2904 2932 2933 2934 2937 3001 3009 3015 3018 3040 3072 3138 3143 3144 3150 3158 3166 3191 3195 3204 3205 3207 3209 3211 3212 3213 3214 3216 3229 3276 3277 3280 3286 3289 3290 3292 3295 3297 3299 3302 3304 3305 3307 3308 3360 3364 3367 3368 3370 3371 3372 3374 3376 3377 3379 3382 3383 3384 3385 3391 3392 3402 3403 3404 3405 3410 3416 3417 3419 3420 3422 3426 3429 3433 3438 3440 3442 3445 3447 3448 3449 3450 3451 3524 3596 3620 3639 3641 3663 3674 3676 3719 3729 3751 3753 3765 3779 3791 3801 3814 3815 3825 3830 3921 3968 3992 3993 4011 4029 4057 4091 4110 4147 4148 4149 4195 4221 4234 4235 4259 4261 4320 4322 4334 4382 4465 4475 4476 4477 4482 4483 4609 4632 4718 4740 4743 4745 4855 4886 4905 4906 4921 4954 4960 4962 4963 4969 4970 4975 5011 5013 5014 5018 5025 5026 5027 5035 5038 5043 5059 5063 5064 5067 5072 5088 5096 5098 5099 5100 5116 5117 5134 5148 5185 5201 5214 5220 5261 5285 5287 5301 5304 5307 5308 5309 5310 5311 5317 5320 5321 5324 5330 5372 5382 5454 5492 5496 5522 5525 5575 5578 5632 5633 5640 5647 5661 5662 5836 5982 6020 6044 6050 6051 6055 6161 6168 6180 6188 6210 6213 6217 6220 6226 6230 6233 6246 6280 6295 6307 6339 6351 6359 6360 6364 6376 6378 6387 6388 6400 6401 6403 6404 6405 6408 6456 6462 6463 6464 6466 6467 6481 6491 6493 6506 6507 6509 6519 6525 6531 6536 6553 6617 6639 6644 6657 6668 6674 6681 6683 6684 6686 6692 6694 6695 6698 6699 6700 6701 6709 6710 6711 6712 6714 6716 6720 6724 6758 6790 6795 6796 6809 6812 6863 6865 6881 6882 6886 6931 6938 6945 6947 6949 6971 6972 6973 6979 6980 6982 6983 6987 6992 6995 7036 7044 7047 7068 7077 7080 7158 7200 7209 7220 7246 7248 7257 7258 7289 7299 7300 7308 7310 7343 7404 7417 7422 7468 7631 7641 7649 7665 7680 7681 7710 7805 7839 7901 7906 7907 7910 7955 7974 8024 8129 8161 8162 8163 8174 8183 8188 8195 8196 8197 8198 8199 8211 8214 8217 8221 8223 8225 8232 8241 8249 8269 8273 8275 8278 8280 8281 8283 8286 8287 8290 8292 8294 8296 8303 8304 8318 8328 8359 8362 8402 8404 8405 8408 8409 8411 8416 8425 8426 8427 8428 8454 8466 8500 8577 8589 8593 8721 8736 8742 8758 8777 8783 8788 8792 8793 8803 8806 8809 8837 8838 8845 8846 8856 8920 8929 8931 8932 8992 8994 8996 8998 9002 9003 9008 9010 9011 9014 9018 9025 9026 9028 9030 9033 9035 9051 9071 9073 9074 9079 9117 9137 9156 9170 9188 9213 9214 9217 9239 9262 9279 9284 9356 9359 9574 9871 9873 9881 9905 9906 9907 9908 9909 9910 9950 9968 9975 9979 10004 10027 10048 10084 10124 10137 10192 10194 10198 10203 10206 10207 10209 10215 10285 10303 10347 10351 10353 10406 10463 10464 10467 10504 10525 10526 10547 10552 10557 10560 10563 10575 10581 10582 10583 10586 10587 10589 10592 10594 10608 10620 10621 10637 10638 10646 10648 10658 10682 10711 10725 10737 10739 10858 10927 10928 10961 10975 10976 10977 10980 11015 11064 11082 11087 11122 11123 11134 11148 11177 11182 11184 11185 11202 11259 11279 11282 11479 11498 11501 11522 11569 11588 11625 11684 11685 11689 11701 11705 11707 11710 11777 11779 11782 11785 11786 11787 11792 11793 11795 11796 11799 11800 11801 11802 11803 11804 11806 11810 11812 11816 11817 11821 11824 11830 11892 11947 11951 11953 11967 12005 12010 12020 12022 12030 12032 12049 12050 12052 12054 12059 12066 12075 12081 12082 12084 12086 12091 12125 12131 12132 12133 12145 12186 12191 12192 12194 12201 12203 12227 12228 12232 12237 12253 12257 12258 12262 12264 12265 12271 12273 12278 12288 12289 12290 12291 12294 12305 12306 12319 12322 12328 12338 12341 12364 12367 12368 12373 12381 12383 12384 12385 12386 12390 12393 12403 12422 12444 12446 12447 12458 12471 12472 12495 12498 12522 12525 12528 12544 12547 12551 12559 12572 12582 12586 12694 12695 12700 12702 12757 12760 12772 12773 12777 12783 12784 12789 12790 12792 12798 12799 12800 12802 12847 12963 12964 12968 12987 13007 13015 13023 13030 13036 13050 13065 13084 13085 13092 13136 13162 13227 13229 13230 13231 13232 13254 13333 13340 13354 13360 13530 13547 13615 13616 13617 13618 13668 13877 13881 13900 13901 13953 13954 13973 13974 13982 13983 14025 14026 14027 14035 14037 14277 14310 14359 14432 14437 14479 14485 14487 14561 14563 14564 14581 14582 14614 14652 14654 14695 14696 14704 14705 14707 14708 14710 14757 14758 14838 14839 14892 14911 14912 14915 14919 14921 14922 14923 14927 14930 14938 14939 14940 14941 14942 14958 14960 14961 14962 14963 14964 14967 14968 14987 14994 15008 15011 15018 15020 15021 15023 15025 15037 15039 15041 15042 15043 15046 15051 15052 15056 15058 15063 15075 15091 15099 15109 15116 15117 15120 15121 15123 15131 15132 15133 15134 15135 15137 15153 15173 15291 15314 15491 15505 15506 15528 15549 15620 15627 15637 15667 15677 15689 15707 15772 15777 15820 15821 15824 15827 15837 15840 15843 15845 15846 15888 15896 15900 15955 15980 15982 15996 16004 16016 16018 16072 16090 16156 16157 16186 16225 16229 16245 16272 16277 16278 16280 16282 16293 16294 16295 16296 16298 16299 16301 16302 16327 16343 16344 16351 16360 16365 16366 16367 16368 16369 16374 16375 16377 16380 16381 16383 16384 16388 16410 16411 16562 16595 16601 16612 16712 16745 16774 16778 16831 16848 16855 16860 16865 16869 16911 16967 16971 16972 16986 17032 17048 17052 17054 17066 17076 17078 17132 17173 17226 17245 17302 17440 17470 17505 17507 17508 17592 17600 17628 17631 17641 17642 17687 17711 17712 17718 17720 17725 17740 17814 17845 17860 17861 17887 17890 17903 17905 17909 17963 17970 17978 17984 17986 17992 18025 18026 18029 18033 18034 18061 18062 18064 18066 18096 18100 18282 18304 18305 18312 18316 18318 18319 18330 18365 18389 18513 18533 18541 18546 18549 18602 18605 18606 18880 18928 18938 18959 18983 18988 19006 19120 19134 19135 19137 19139 19142 19168 19217 19223 19392 19435 19443 19453 19467 19468 19469 19471 19476 19497 19519 19573 19584 19590 19592 19593 19602 19607 19654 19832 19873 19927 19935 20196 20197 20207 20208 20209 20223 20261 20262 20264 20266 20268 20273 20281 20306 20316 20336 20346 20347 20350 20352 20354 20382 20387 20389 20391 20398 20402 20404 20406 20411 20554 20591 20592 20602 20616 20677 20697 20737 20740 20752 20775 20789 20811 20823 20852 20874 20923 20924 20928 20934 20960 21027 21081 21084 21186 21225 21246 21251 21252 21403 21433 21528 21532 21547 21641 21643 21658 21659 21662 21706 21734 21735 21740 21741 21742 21743 21745 21747 21918 21968 21978 21988 22020 22022 22030 22046 22053 22055 22057 22058 22059 22060 22086 22092 22115 22148 22154 22176 22177 22180 22181 22182 22192 22209 22230 22233 22237 22245 22251 22252 22258 22260 22265 22267 22322 22432 22458 22471 22474 22478 22499 22511 22516 22550 22585 22613 22614 22616 22625 22635 22642 22643 22725 22760 22792 22816 22860 22957 22971 22994 23044 23082 23091 23131 23324 23326 23342 23369 23401 23413 23554 23556 23566 23567 23570 23575 23586 23591 23607 23610 23660 23663 23665 23666 23749 23754 23764 23791 23807 23831 23850 23863 23870 23875 23899 23929 23961 23972 23992 24001 24002 24008 24027 24056 24057 24071 24080 24165 24200 24321 24328 24331 24334 24337 24340 24347 24349 24370 24373 24416 24452 24453 24472 24476 24477 24480 24506 24547 24727 24730 24738 24778 24808 24911 24975 24977 25010 25023 25029 25033 25039 25041 25042 25051 25132 25135 25145 25147 25152 25153 25156 25175 25179 25217 25219 25223 25225 25231 25241 25242 25270 25315 25326 25346 25368 25376 25379 25380 25381 25382 25384 25386 25387 25397 25405 25417 25423 25446 25497 25503 25506 25559 25573 25575 25576 25598 25605 25607 25609 25611 25615 25616 25624 25625 25627 25629 25631 25638 25639 25641 25644 25646 25654 25656 25659 25668 25674 25677 25678 25681 25684 25688 25696 25698 25706 25716 25729 25741 25744 25746 25748 25760 25805 25810 25815 25819 25826 25828 25830 25840 25842 25845 25853 25854 25856 25859 25865 25869 25872 25876 25887 25895 25912 25942 26055 26056 26058 26078 26088 26153 26156 26161 26196 26207 26208 26218 26236 26249 26251 26252 26254 26256 26259 26289 26384 26388 26400 26457 26481 26523 26534 26535 26549 26551 26560 26667 26669 26698 26782 26794 26814 26815 26818 26833 26885 26887 26888 26895 26906 26956 26957 26964 27048 27074 27235 27249 27289 27302 27326 27328 27329 27330 27348 27353 27355 27358 27360 27368 27373 27391 27396 27409 27410 27415 27556 27591 27592 27597 27679 27680 27733 27865 27866 27867 27996 27999 28004 28005 28006 28008 28009 28016 28017 28023 28027 28040 28042 28045 28050 28053 28066 28067 28070 28073 28089 28092 28094 28095 28096 28098 28113 28114 28115 28116 28120 28126 28127 28155 28156 28157 28165 28177 28179 28183 28193 28210 28215 28216 28217 28221 28222 28247 28261 28277 28295 28333 28347 28351 28355 28356 28360 28362 28365 28368 28369 28403 28420 28426 28436 28454 28460 28462 28467 28476 28498 28569 28735 28752 28757 28833 28870 28906 28910 28928 28978 28982 29055 29105 29112 29193 29274 29276 29277 29300 29309 29310 29390 29904 29973 29994 29995 29997 30005 30031 30032 30038 30040 30046 30049 30053 30054 30071 30072 30073 30077 30078 30082 30085 30086 30093 30094 30095 30114 30123 30125 30126 30131 30135 30137 30140 30141 30268 30292 30304 30310 30311 30314 30342 30346 30349 30350 30398 30415 30438 30454 30511 30512 30520 30529 30557 30594 30710 30715 30744 30771 30775 30776 30800 30802 30810 30812 30815 30817 30858 30859 30863 30864 30865 30873 30883 30885 30886 30888 30895 30896 30899 30900 30903 30909 30910 30911 30927 30946 30953 30969 31007 31008 31013 31017 31137 31184 31232 31237 31270 31344 31364 31368 31376 31379 31381 31392 31393 31398 31404 31406 31407 31408 31411 31412 31422 31432 31434 31435 31436 31441 31444 31447 31448 31453 31454 31463 31468 31469 31470 31476 31478 31479 31484 31493 31495 31507 31562 31617 31618 31622 31634 31635 31638 31680 31681 31692 31700 31705 31716 31849 31855 31856 31862 31866 31875 31890 31923 31935 31937 31938 31953 31954 31957 31963 31965 31968 31974 31977 31978 31979 31982 31987 31990 32023 32036 32066 32070 32093 32121 32139 32140 32143 32144 32177 32178 32188 32324 32333 32334 32374 32375 32391 32393 32394 32402 32414 32434 32477 32478 32479 32483 32493 32494 32495 32574 32594 32600 32601 32602 32613 32623 32626 32820 32823 32825 32829 32830 32831 32835 32836 32841 32856 32857 32896 32899 32901 32906 32910 32911 32912 32949 32950 32951 32952 33008 33017 33051 33056 33059 33124 33126 33127 33128 33148 33200 33209 33215 33216 33218 33223 33228 33229 33231 33254 33259 33260 33294 33295 33306 33307 33308 33321 33389 33390 33399 33400 33401 33405 33424 33429 33439 33447 33448 33459 33472 33473 33487 33488 33492 33493 33495 33497 33501 33505 33508 33511 33513 33524 33529 33554 33567 33568 33598 33600 33602 33603 33607 33631 33671 33704 33705 33737 33743 33744 33798 33848 33850 33978 33979 34085 34136 34177 34231 34235 34237 34238 34239 34245 34257 34259 34261 34262 34266 34272 34282 34283 34293 34294 34295 34301 34303 34336 34392 34403 34410 34414 34415 34416 34417 34420 34421 34422 34440 34441 34496 34504 34540 34541 34616 34625 34633 34665 34728 34738 34862 34917 34956 34977 34998 35064 35100 35167 35179 35191 35197 35339 35424 35425 35525 35527 35595 35629 35633 35661 35663 35669 35762 35766 35780 35782 35795 35823 35834 35839 35846 35890 35919 35923 35976 35983 36002 36023 36071 36073 36075 36077 36078 36079 36085 36088 36106 36164 36177 36179 36193 36255 36257 36336 36359 36426 36428 36442 36444 36516 36534 36543 36557 36579 36580 36584 36634 36637 36656 36666 36713 36720 36728 36733 36753 36763 36764 36860 37014 37035 37044 37111 37114 37122 37127 37128 37129 37130 37134 37135 37138 37167 37191 37210 37215 37239 37250 37355 37375 37479 37480 37487 37488 37493 37494 37499 37500 37501 37502 37506 37507 37508 37512 37513 37514 37519 37520 37521 37529 37530 37532 37533 37537 37545 37546 37549 37553 37554 37555 37556 37567 37597 37643 37659 37663 37668 37686 37688 37707 37729 37760 37766 37767 37845 37854 37862 37956 37982 38022 38064 38071 38105 38119 38148 38149 38167 38168 38179 38245 38326 38332 38415 38418 38471 38472 38481 38623 38627 38633 38664 38670 38672 38675 38676 38679 38681 38683 38684 38685 38686 38687 38689 38693 38699 38700 38703 38706 38710 38711 38722 38738 38742 38744 38745 38753 38759 38760 38761 38766 38774 38784 38792 38795 38803 38807 38818 38838 38878 38880 38888 39051 39052 39081 39086 39115 39124 39148 39245 39267 39286 39294 39350 39356 39358 39360 39362 39415 39468 39498 39510 39512 39531 39533 39534 39542 39543 39600 39601 39607 39608 39615 39619 39620 39623 39629 39635 39637 39654 39659 39663 39677 39683 39692 39735 39736 39746 39757 39763 39771 39832 39834 39840 39844 39848 39855 39857 39865 39867 39871 39902 39904 39925 39928 39929 39936 39943 39945 39955 39957 39959 39960 39961 39962 39974 40005 40018 40094 40096 40098 40108 40123 40125 40134 40160 40162 40164 40165 40180 40207 40209 40217 40219 40221 40222 40233 40235 40236 40263 40329 40349 40354 40372 40373 40374 40377 40379 40380 40382 40390 40392 40464 40495 40498 40545 40555 40562 40602 40610 40611 40613 40614 40615 40616 40636 40724 40778 40779 40782 40805 40821 40828 40829 40845 40846 40853 40854 40864 40866 40867 40869 40878 40879 40898 40899 40900 40903 40905 40915 40916 40942 40958 40964 40975 40976 40979 40987 40988 40989 41009 41014 41017 41023 41025 41026 41028 41029 41030 41031 41037 41038 41040 41041 41044 41052 41056 41086 41088 41090 41098 41175 41190 41213 41214 41235 41236 41241 41242 41249 41286 41305 41345 41378 41399 41411 41420 41460 41469 41470 41479 41481 41485 41536 41616 41658 41660 41738 41917 41920 41942 41946 41964 41983 42049 42068 42071 42105 42118 42123 42175 42210 42211 42212 42213 42285 42290 42291 42322 42383 42394 42397 42398 42402 42413 42435 42523 42525 42526 42528 42553 42621 42646 42665 42670 42671 42672 42674 42679 42680 42682 42683 42723 42742 42748 42839 42845 42849 42866 42874 42878 42889 42890 42971 43031 43047 43112 43155 43319 43328 43339 43355 43366 43369 43431 43440 43465 43474 43479 43481 43486 43490 43491 43493 43500 43508 43513 43534 43547 43566 43572 43580 43593 43594 43597 43603 43606 43611 43636 43637 43668 43670 43675 43680 43716 43733 43767 43773 43775 43778 43791 43795 43822 43824 43832 43838 43843 43861 43872 43891 43914 43922 43937 43940 43941 43958 43983 44008 44011 44091 44103 44133 44140 44145 44151 44155 44157 44170 44173 44180 44182 44188 44191 44196 44199 44222 44225 44226 44233 44248 44249 44270 44276 44286 44305 44307 44308 44333 44336 44345 44355 44357 44367 44376 44386 44397 44398 44399 44401 44403 44408 44410 44434 44437 44443 44444 44477 44487 44497 44548 44549 44550 44561 44571 44583 44588 44598 44606 44616 44655 44656 44659 44664 44667 44669 44678 44692 44695 44696 44704 44725 44729 44733 44748 44758 44793 44796 44819 44837 44840 44866 44923 44954 44955 44971 44973 44981 44987 45010 45017 45027 45028 45035 45079 45093 45108 45123 45128 45130 45149 45157 45158 45176 45177 45211 45212 45227 45262 45267 45268 45283 45339 45341 45342 45358 45368 45376 45429 45440 45444 45546 45549 45550 45555 45588 45589 45644 45671 45674 45683 45696 45699 45724 45733 45735 45737 45738 45745 45779 45791 45794 45795 45796 45801 45818 45824 45829 45835 45840 45845 45846 45850 45855 45860 45862 45872 45875 45883 45884 45899 45900 45901 45904 45928 45943 45954 45955 45981 45990 46013 46036 46038 46039 46043 46045 46046 46047 46054 46068 46072 46078 46079 46091 46100 46130 46153 46176 46181 46182 46191 46193 46195 46200 46202 46225 46237 46243 46246 46250 46273 46276 46278 46304 46305 46314 46319 46320 46328 46343 46355 46413 46431 46456 46460 46466 46502 46517 46525 46529 46536 46537 46544 46561 46563 46565 46582 46593 46639 46706 46733 46764 46775 46777 46784 46788 46793 46796 46798 46799 46803 46814 46817 46822 46842 46874 46882 46905 46962 46973 46975 46983 47001 47008 47029 47101 47115 47123 47166 47171 47195 47211 47213 47215 47217 47220 47240 47257 47305 47313 47330 47332 47333 47335 47362 47378 47414 47415 47436 47472 47493 47494 47498 47506 47539 47544 47550 47590 47613 47623 47624 47625 47626 47636 47640 47660 47666 47683 47686 47688 47715 47722 47748 47758 47760 47766 47780 47797 47820 47828 47845 47876 47895 47912 47917 47941 47943 47953 47956 47957 47973 48005 48007 48012 48024 48026 48027 48038 48044 48045 48058 48060 48065 48075 48106 48108 48120 48134 48141 48142 48145 48146 48153 48157 48164 48197 48207 48217 48218 48220 48224 48229 48231 48233 48240 48244 48250 48251 48253 48255 48271 48278 48280 48287 48297 48306 48310 48313 48318 48323 48324 48327 48333 48339 48362 48363 48365 48385 48398 48403 48408 48412 48417 48423 48451 48470 48473 48476 48489 48491 48498 48504 48514 48516 48519 48541 48560 48568 48573 48584 48587 48625 48660 48681 48683 48689 48695 48701 48702 48704 48707 48708 48722 48723 48728 48745 48747 48764 48788 48802 48803 48806 48808 48809 48815 48819 48852 48865 48876 48877 48878 48897 48906 48949 48956 48979 48982 48996 49002 49010 49011 49019 49050 49065 49075 49090 49095 49104 49107 49111 49149 49150 49168 49169 49176 49184 49188 49192 49193 49197 49205 49224 49236 49238 49247 49250 49259 49261 49263 49271 49284 49288 49289 49311 49320 49322 49328 49330 49335 49336 49346 49358 49373 49376 49378 49381 49384 49385 49390 49415 49416 49446 49457 49477 49504 49506 49514 49517 49523 49526 49528 49529 49536 49574 49579 49580 49582 49617 49633 49640 49644 49646 49648 49669 49678 49690 49707 49715 49759 49789 49829 49832 49860 49864 49893 49894 49901 49910 49961 49968 49971 50000 50001 50014 50025 50026 50028 50031 50063 50066 50079 50092 50099 50120 50127 50169 50170 50173 50174 50175 50178 50180 50181 50185 50196 50197 50198 50203 50207 50212 50213 50218 50221 50236 50242 50248 50257 50263 50271 50275 50283 50288 50308 50330 50331 50334 50337 50338 50339 50341 50347 50349 50360 50365 50367 50393 50396 50401 50403 50404 50405 50408 50409 50421 50424 50425 50429 50431 50432 50436 50440 50441 50450 50451 50458 50460 50461 50463 50465 50467 50486 50506 50523 50554 50556 50558 50559 50560 50565 50574 50577 50578 50582 50602 50623 50631 50652 50664 50670 50672 50680 50712 50714 50718 50735 50736 50737 50738 50753 50788 50789 50827 50828 50842 50843 50844 50853 50854 50857 50861 50885 50890 50891 50894 50901 50902 50905 50908 50910 50913 50914 50916 50918 50939 50940 50945 50962 50972 50973 50978 50979 50993 50999 51000 51005 51017 51024 51027 51029 51032 51033 51034 51040 51041 51043 51047 51050 51066 51067 51068 51080 51085 51086 51090 51091 51093 51096 51097 51107 51108 51111 51113 51121 51122 51123 51134 51140 51147 51149 51150 51152 51156 51159 51160 51162 51166 51189 51190 51200 51201 51206 51207 51209 51218 51231 51235 51242 51244 51245 51247 51248 51251 51252 51254 51285 51299 51315 51318 51326 51358 51362 51363 51374 51375 51376 51377 51378 51395 51408 51416 51421 51422 51424 51427 51448 51468 51469 51472 51480 51481 51482 51484 51486 51489 51493 51500 51501 51509 51510 51511 51512 51515 51516 51518 51519 51522 51523 51528 51529 51530 51533 51542 51545 51546 51553 51555 51556 51558 51561 51570 51572 51573 51574 51577 51578 51580 51584 51589 51591 51596 51601 51607 51608 51629 51635 51645 51647 51649 51671 51672 51676 51683 51684 51685 51686 51688 51691 51694 51695 51696 51706 51710 51711 51715 51716 51720 51721 51724 51730 51733 51735 51736 51739 51747 51748 51750 51756 51758 51760 51761 51764 51767 51768 51769 51772 51794 51805 51807 51809 51811 51813 51819 51821 51836 51839 51841 51842 51846 51863 51870 51871 51908 51916 51917 51919 51920 51921 51923 51927 51928 51929 51931 51932 51933 51939 51945 51955 51959 51960 51961 51964 51981 51989 52009 52029 52031 52058 52063 52080 52098 52132 52133 52134 52135 52140 52141 52144 52149 52152 52156 52162 52168 52208 52227 52231 52232 52234 52255 52256 52258 52261 52268 52288 52300 52301 52308 52314 52315 52316 52321 52327 52329 52343 52367 52368 52370 52378 52394 52402 52405 52407 52408 52410 52416 52418 52426 52427 52428 52429 52430 52431 52432 52463 52465 52466 52470 52473 52476 52479 52481 52506 52507 52510 52511 52513 52553 52562 52569 52570 52572 52575 52578 52593 52594 52610 52616 52638 52653 52655 52657 52658 52662 52674 52678 52690 52692 52694 52701 52716 52719 52729 52730 52743 52751 52752 52753 52754 52757 52758 52759 52760 52761 52762 52775 52781 52813 52815 52818 52820 52821 52822 52825 52831 52833 52847 52854 52855 52857 52863 52878 52881 52888 52891 52897 52919 52927 52929 52934 52935 52937 52938 52939 52940 52944 52945 52946 52959 52966 52967 52970 52979 52988 52993 52999 53000 53001 53006 53015 53025 53026 53029 53032 53039 53040 53045 53055 53067 53068 53071 53072 53076 53079 53083 53085 53086 53091 53095 53097 53098 53099 53104 53105 53106 53108 53111 53113 53114 53116 53117 53120 53122 53132 53140 53141 53151 53152 53156 53169 53173 53179 53180 53181 53185 53186 53197 53208 53209 53214 53215 53217 53221 53223 53225 53228 53229 53230 53233 53235 53237 53242 53243 53245 53254 53255 53258 53267 53269 53277 53278 53284 53286 53289 53292 53297 53308 53318 53319 53323 53330 53331 53332 53335 53336 53337 53338 53339 53342 53355 53356 53370 53381 53396 53398 53400 53403 53407 53431 53433 53444 53471 53490 53509 53512 53521 53522 53523 53526 53529 53530 53532 53535 53546 53549 53551 53552 53553 53555 53565 53566 53568 53569 53570 53573 53585 53604 53607 53611 53612 53618 53622 53628 53631 53633 53640 53655 53663 53664 53669 53696 53712 53725 53754 53764 53774 53776 53779 53781 53782 53784 53787 53788 53789 53790 53791 53792 53799 53810 53811 53813 53814 53816 53817 53818 53828 53829 53845 53846 53848 53858 53865 53867 53878 53879 53881 53886 53890 53892 53902 53907 53908 53924 53927 53928 53931 53938 53939 53941 53944 53947 53950 53956 53957 53959 53985 53986 53990 53992 53993 54015 54022 54034 54035 54038 54039 54040 54050 54058 54059 54061 54065 54067 54068 54069 54072 54073 54074 54075 54076 54077 54080 54081 54084 54085 54086 54092 54093 54094 54106 54120 54121 54124 54127 54128 54129 54136 54138 54139 54142 54143 54144 54145 54146 54149 54150 54151 54152 54156 54160 54173 54174 54180 54196 54197 54198 54199 54201 54202 54203 54205 54207 54208 54212 54216 54219 54220 54221 54222 54224 54225 54228 54234 54235 54236 54237 54241 54245 54247 54249 54250 54252 54253 54255 54257 54258 54259 54262 54263 54264 54265 54266 54267 54270 54271 54273 54275 54280 54287 54293 54294 54295 54302 54303 54305 54306 54310 54316 54323 54328 54332 54335 54340 54342 54344 54346 54347 54378 54388 54395 54404 54408 54409 54422 54425 54430 54433 54434 54435 54436 54440 54452 54454 54466 54479 54480 54510 54523 54526 54527 54534 54537 54547 54549 54564 54586 54589 54593 54599 54600 54608 54611 54616 54631 54633 54635 54636 54640 54653 54654 54655 54657 54658 54666 54668 54670 54671 54672 54674 54676 54687 54689 54690 54692 54721 54722 54724 54726 54727 54744 54767 54773 54778 54782 54792 54794 54797 54799 54805 54806 54816 54820 54826 54827 54835 54836 54838 54848 54849 54853 54855 54858 54863 54876 54886 54892 54911 54913 54919 54926 54937 54938 54976 54983 54984 55018 55021 55052 55053 55054 55055 55058 55072 55080 55082 55102 55108 55117 55121 55126 55131 55134 55140 55141 55142 55143 55146 55147 55150 55152 55156 55163 55171 55173 55176 55178 55179 55181 55182 55187 55188 55189 55191 55204 55205 55207 55209 55211 55213 55214 55215 55217 55218 55220 55222 55226 55228 55230 55231 55233 55236 55237 55238 55239 55240 55244 55248 55256 55262 55263 55265 55278 55279 55282 55308 55318 55326 55327 55331 55332 55337 55339 55341 55343 55344 55349 55353 55354 55355 55356 55361 55367 55369 55370 55372 55373 55375 55376 55383 55389 55390 55391 55401 55402 55412 55435 55436 55437 55443 55445 55447 55458 55461 55463 55467 55468 55469 55475 55476 55477 55479 55480 55482 55484 55487 55518 55535 55540 55565 55567 55568 55573 55578 55584 55602 55617 55645 55647 55648 55649 55666 55668 55676 55684 55686 55687 55690 55691 55692 55695 55696 55697 55699 55702 55704 55705 55708 55709 55711 55712 55713 55714 55716 55717 55720 55721 55722 55723 55724 55726 55728 55729 55730 55731 55736 55737 55738 55739 55740 55741 55747 55748 55753 55754 55767 55770 55771 55774 55775 55777 55779 55789 55804 55809 55816 55819 55820 55835 55838 55842 55844 55846 55849 55851 55853 55854 55855 55859 55867 55868 55869 55876 55877 55883 55885 55891 55893 55894 55895 55896 55897 55903 55904 55906 55909 55911 55912 55913 55916 55918 55919 55920 55922 55923 55929 55930 55934 55935 55936 55938 55942 55943 55944 55953 55956 55960 55961 55964 55965 55972 55973 55974 55976 56003 56005 56011 56018 56023 56036 56039 56049 56057 56060 56064 56077 56100 56117 56119 56123 56142 56149 56150 56154 56170 56197 56212 56236 56242 56245 56247 56249 56260 56264 56269 56270 56278 56279 56285 56289 56291 56292 56298 56299 56301 56310 56312 56325 56328 56331 56335 56336 56337 56359 56363 56372 56378 56383 56387 56391 56395 56396 56407 56411 56413 56423 56424 56431 56437 56438 56440 56441 56445 56452 56457 56458 56459 56464 56466 56471 56473 56476 56481 56497 56501 56504 56506 56510 56512 56519 56520 56521 56547 56552 56554 56556 56557 56560 56562 56563 56565 56566 56567 56570 56572 56580 56582 56583 56591 56593 56595 56598 56609 56620 56623 56624 56625 56627 56628 56636 56639 56640 56641 56643 56650 56653 56661 56670 56674 56682 56684 56685 56686 56705 56708 56727 56732 56739 56742 56751 56755 56756 56764 56780 56802 56815 56818 56822 56823 56831 56834 56839 56841 56848 56850 56851 56852 56853 56855 56856 56863 56864 56873 56878 56890 56899 56900 56913 56915 56917 56986 57000 57002 57018 57021 57034 57081 57082 57083 57088 57091 57096 57103 57121 57133 57135 57137 57141 57142 57143 57145 57158 57159 57167 57179 57182 57195 57209 57213 57218 57219 57221 57231 57232 57233 57234 57238 57239 57243 57256 57257 57258 57263 57267 57272 57275 57277 57282 57284 57293 57296 57297 57299 57300 57301 57303 57319 57360 57361 57362 57375 57377 57380 57383 57384 57398 57413 57420 57450 57451 57472 57476 57477 57478 57482 57483 57485 57492 57495 57515 57522 57536 57539 57542 57547 57558 57562 57564 57568 57571 57577 57578 57583 57587 57591 57592 57594 57596 57598 57603 57604 57605 57606 57607 57609 57610 57621 57625 57626 57627 57630 57633 57636 57665 57670 57671 57676 57678 57684 57687 57692 57693 57695 57696 57698 57699 57715 57721 57723 57726 57727 57732 57733 57735 57743 57749 57750 57753 57784 57786 57793 57794 57795 57796 57799 57809 57813 57820 57827 57829 57831 57833 57845 57846 57856 57874 57877 57878 57880 57893 57902 57905 57910 57911 57915 57916 57919 57920 57921 57936 57941 57951 57954 57965 57968 57975 57977 57979 57981 57982 57991 57992 57994 58004 58012 58021 58031 58038 58041 58051 58056 58060 58062 58070 58075 58093 58108 58118 58119 58122 58133 58134 58139 58140 58156 58157 58159 58163 58164 58171 58178 58181 58185 58188 58189 58190 58193 58195 58199 58202 58204 58205 58206 58211 58218 58221 58222 58231 58243 58261 58265 58272 58273 58279 58281 58282 58283 58294 58307 58310 58311 58316 58329 58333 58334 58335 58339 58342 58345 58365 58368 58371 58373 58379 58381 58385 58386 58389 58392 58393 58394 58405 58406 58410 58415 58416 58420 58422 58423 58425 58426 58429 58432 58434 58442 58446 58455 58460 58462 58465 58467 58473 58479 58480 58486 58488 58491 58495 58500 58506 58508 58509 58511 58513 58516 58518 58521 58524 58525 58527 58532 58537 58538 58539 58620 58623 58629 58632 58636 58643 58652 58673 58676 58678 58679 58682 58684 58702 58705 58714 58716 58717 58721 58725 58727 58730 58731 58733 58734 58739 58742 58753 58754 58758 58762 58764 58765 58768 58769 58772 58773 58781 58784 58793 58794 58796 58799 58804 58806 58807 58808 58809 58810 58823 58825 58826 58828 58829 58831 58844 58860 58866 58867 58870 58871 58872 58880 58881 58882 58883 58895 58897 58902 58903 58904 58908 58916 58918 58924 58926 58934 58937 58940 58941 58947 58952 58954 58955 58956 58957 58959 58960 58961 58972 58973 58975 58978 58996 59010 59025 59027 59031 59032 59035 59043 59048 59052 59059 59060 59063 59070 59071 59072 59076 59079 59080 59081 59082 59089 59093 59095 59275 59300 59302 59303 59306 59311 59364 59370 59372 59384 59386 59387 59395 59396 59403 59406 59409 59410 59417 59422 59432 59435 59438 59441 59447 59452 59457 59459 59461 59469 59471 59483 59489 59490 59492 59495 59496 59503 59506 59512 59513 59514 59520 59522 59523 59525 59529 59541 59565 59577 59580 59583 59584 59586 59589 59597 59605 59610 59618 59623 59630 59648 59651 59668 59675 59676 59677 59678 59682 59685 59691 59692 59698 59699 59703 59708 59709 59713 59714 59716 59719 59721 59727 59728 59731 59736 59737 59747 59752 59760 59764 59769 59770 59772 59773 59785 59788 59796 59802 59804 59809 59810 59823 59825 59826 59831 59833 59837 59847 59848 59849 59853 59854 59856 59859 59860 59861 59862 59865 59866 59867 59868 59869 59870 59871 59872 59873 59874 59875 59877 59879 59900 59905 59907 59908 59928 59932 59941 59963 59976 59979 59985 59995 59996 60042 60045 60048 60049 60050 60053 60054 60059 60061 60062 60070 60073 60082 60084 60103 60107 60108 60110 60116 60121 60122 60127 60128 60129 60130 60131 60132 60135 60136 60140 60144 60145 60148 60149 60151 60153 60154 60156 60157 60161 60162 60163 60164 60167 60168 60169 60170 60173 60175 60178 60179 60180 60182 60184 60186 60188 60189 60190 60193 60194 60195 60196 60197 60201 60202 60203 60204 60206 60208 60212 60213 60214 60216 60218 60228 60235 60237 60240 60241 60245 60265 60267 60268 60269 60270 60275 60276 60277 60281 60282 60291 60304 60305 60307 60309 60318 60379 60389 60393 60401 60403 60407 60408 60409 60413 60414 60415 60416 60418 60422 60424 60436 60437 60441 60444 60454 60455 60457 60458 60459 60462 60464 60466 60470 60471 60473 60475 60477 60478 60481 60483 60485 60486 60491 60493 60494 60497 60501 60502 60503 60504 60505 60507 60508 60509 60513 60514 60515 60517 60519 60522 60550 60553 60560 60563 60573 60574 60575 60577 60578 60579 60580 60582 60583 60584 60586 60587 60588 60589 60590 60595 60596 60599 60601 60602 60618 60629 60631 60632 60634 60649 60653 60657 60664 60667 60670 60681 60685 60688 60692 60694 60696 60700 60703 60706 60707 60726 60731 60732 60740 60746 60747 60753 60754 60783 60784 60787 60794 60812 60819 60825 60826 60838 60845 60848 60853 60854 60855 60861 60864 60866 60867 60872 60874 60882 60886 60891 60892 60898 60905 60913 60917 60924 60925 60926 60929 60932 60935 60947 60953 60992 61000 61001 61006 61008 61016 61019 61025 61035 61043 61045 61048 61070 61072 61073 61078 61081 61084 61085 61089 61111 61143 61146 61148 61152 61155 61179 61181 61182 61183 61184 61185 61186 61188 61189 61198 61200 61202 61204 61214 61231 61235 61236 61246 61258 61260 61266 61267 61271 61277 61279 61282 61285 61295 61300 61323 61327 61328 61330 61347 61366 61368 61377 61387 61420 61424 61446 61450 61472 61473 61475 61506 61516 61519 61526 61533 61559 61586 61616 61618 61632 61708 61724 61750 61751 61763 61770 61781 61789 61795 61799 61818 61819 61824 61826 61828 61829 61849 61851 61854 61861 61863 61866 61894 61900 61916 61932 61934 61938 61940 61942 61947 61961 61964 61984 61990 61996 61999 62006 62007 62017 62021 62022 62026 62028 62030 62036 62039 62041 62043 62051 62067 62068 62069 62075 62077 62082 62083 62086 62092 62095 62096 62097 62101 62103 62105 62106 62110 62112 62124 62125 62127 62128 62164 62168 62169 62178 62180 62182 62184 62185 62189 62192 62212 62219 62220 62232 62315 62486 62495 62512 62513 62515 62525 62527 62536 62540 62541 62542 62550 62557 62560 62562 62565 62566 62600 62602 62603 62606 62612 62619 62621 62632 62636 62637 62641 62645 62648 62652 62669 62670 62674 62681 62684 62686 62688 62694 62697 62699 62705 62716 62731 62735 62736 62737 62742 62743 62770 62889 62905 62906 62907 62910 62922 62923 62936 62941 62961 62964 62970 62977 62990 62993 62996 62997 63004 63031 63034 63036 63038 63039 63041 63050 63058 63060 63061 63076 63077 63079 63080 63082 63090 63101 63103 63105 63114 63123 63129 63131 63139 63140 63144 63159 63172 63181 63188 63195 63202 63204 63211 63220 63225 63232 63235 63241 63242 63252 63265 63266 63268 63269 63274 63275 63278 63282 63283 63286 63288 63289 63290 63298 63299 63300 63308 63312 63313 63320 63322 63323 63325 63326 63327 63340 63341 63357 63365 63366 63367 63373 63382 63384 63386 63388 63392 63393 63394 63395 63401 63402 63404 63406 63412 63415 63433 63435 63438 63440 63442 63443 63444 63448 63452 63455 63456 63459 63460 63461 63465 63469 63476 63477 63479 63481 63482 63486 63491 63509 63516 63517 63528 63537 63546 63547 63548 63549 63555 63576 63582 63584 63607 63611 63657 63703 63713 63724 63725 63728 63739 63748 63750 63753 63754 63767 63771 63778 63779 63792 63799 63803 63813 63815 63818 63821 63822 63823 63826 63827 63829 63830 63841 63842 63843 63847 63852 63857 63858 63866 63879 63880 63882 63889 63890 63891 63895 63906 63908 63912 63919 63920 63922 63935 63953 63955 63966 63970 63978 63979 63983 63986 64005 64007 64010 64021 64039 64048 64056 64065 64067 64070 64071 64079 64082 64093 64103 64104 64111 64112 64113 64122 64125 64133 64134 64140 64150 64153 64164 64170 64172 64188 64190 64192 64197 64226 64237 64259 64260 64262 64263 64264 64265 64271 64274 64275 64276 64284 64286 64288 64296 64303 64304 64305 64311 64312 64316 64321 64324 64325 64326 64333 64363 64368 64375 64378 64387 64388 64401 64403 64409 64412 64414 64432 64434 64440 64442 64443 64444 64445 64446 64447 64451 64454 64456 64465 64467 64468 64474 64479 64482 64486 64490 64492 64494 64496 64502 64503 64506 64511 64519 64542 64561 64564 64567 64568 64570 64582 64584 64585 64597 64608 64631 64636 64639 64640 64654 64656 64665 64667 64679 64684 64688 64694 64695 64698 64699 64700 64711 64729 64745 64746 64748 64756 64766 64768 64771 64772 64774 64777 64792 64796 64807 64808 64827 64839 64841 64857 64858 64866 64870 64871 64874 64884 64885 64887 64888 64889 64906 64919 64953 64954 64955 64956 64961 64968 64980 64984 64987 64990 64992 65001 65005 65013 65022 65029 65043 65044 65053 65057 65070 65075 65077 65081 65082 65083 65086 65088 65093 65098 65099 65103 65104 65114 65117 65132 65133 65138 65139 65141 65146 65148 65151 65152 65157 65160 65162 65163 65164 65166 65175 65176 65180 65181 65184 65185 65197 65198 65199 65201 65204 65216 65221 65225 65226 65228 65234 65236 65243 65244 65250 65254 65255 65258 65259 65263 65264 65270 65274 65279 65284 65293 65294 65302 65310 65311 65312 65319 65321 65322 65331 65334 65371 65374 65382 65386 65388 65428 65431 65432 65436 65461 65464 65481 65497 65501 65502 65503 65506 65507 65512 65517 65524 65527 65533 65538 65554 65582 65583 65589 65598 65600 65605 65610 65613 65615 65624 65636 65638 65642 65644 65649 65651 65656 65694 65696 65710 65711 65712 65716 65731 65732 65736 65738 65751 65756 65759 65766 65767 65773 65774 65777 65780 65781 65782 65792 65799 65803 65805 65806 65808 65809 65810 65815 65818 65828 65829 65831 65832 65834 65835 65836 65838 65839 65842 65844 65847 65850 65852 65854 65857 65858 65859 65862 65863 65864 65865 65867 65870 65872 65874 65879 65880 65887 65888 65891 65895 65908 65909 65923 65932 65934 65935 65936 65937 65938 65939 65944 65946 65952 65954 65959 65961 65962 65963 65964 65967 65971 65972 65973 65976 65979 65983 65986 65989 66002 66014 66015 66023 66026 66029 66032 66033 66039 66042 66044 66046 66048 66050 66051 66057 66058 66062 66063 66066 66068 66074 66077 66078 66086 66089 66090 66097 66098 66099 66100 66101 66105 66106 66107 66112 66114 66128 66138 66139 66141 66142 66143 66148 66151 66165 66182 66198 66201 66212 66221 66226 66248 66254 66255 66271 66278 66279 66281 66282 66286 66289 66299 66304 66306 66313 66314 66316 66317 66324 66328 66332 66333 66335 66344 66347 66350 66351 66360 66367 66370 66372 66373 66380 66381 66382 66392 66411 66412 66414 66415 66418 66426 66429 66430 66442 66450 66451 66452 66453 66454 66456 66457 66464 66465 66466 66469 66471 66474 66477 66487 66488 66489 66492 66502 66503 66510 66512 66519 66520 66526 66529 66532 66535 66540 66541 66545 66548 66549 66561 66562 66567 66571 66574 66578 66579 66586 66587 66589 66593 66610 66614 66616 66618 66619 66621 66622 66623 66624 66631 66632 66633 66634 66636 66637 66642 66645 66646 66650 66657 66665 66669 66672 66673 66677 66682 66684 66685 66690 66700 66701 66703 66706 66726 66739 66746 66747 66752 66761 66762 66767 66770 66774 66776 66779 66780 66784 66787 66788 66791 66799 66801 66803 66805 66806 66807 66808 66814 66815 66824 66826 66828 66831 66833 66834 66836 66837 66847 66852 66854 66855 66857 66861 66875 66876 66879 66889 66901 66905 66913 66916 66922 66923 66928 66935 66951 66966 66969 67000 67015 67023 67044 67083 67087 67092 67099 67105 67113 67116 67118 67140 67143 67147 67154 67155 67159 67162 67208 67246 67261 67267 67276 67288 67290 67291 67297 67306 67309 67333 67337 67347 67353 67374 67385 67408 67418 67419 67432 67451 67452 67456 67477 67503 67532 67533 67537 67547 67561 67563 67568 67595 67608 67624 67634 67638 67676 67687 67688 67748 67756 67790 67815 67823 67839 67848 67851 67873 67875 67882 67893 67899 67903 67904 67920 67928 67933 68006 68009 68014 68015 68021 68037 68038 68057 68065 68078 68092 68119 68120 68121 68122 68138 68149 68161 68167 68168 68170 68172 68175 68176 68177 68196 68211 68216 68222 68232 68247 68252 68273 68285 68293 68314 68333 68334 68353 68359 68365 68366 68367 68377 68389 68390 68395 68397 68401 68408 68425 68435 68443 68444 68450 68451 68458 68459 68463 68464 68466 68468 68469 68472 68475 68476 68482 68483 68484 68485 68488 68492 68493 68494 68495 68498 68504 68533 68540 68543 68546 68558 68560 68574 68578 68649 68662 68671 68673 68675 68676 68680 68689 68697 68698 68700 68722 68724 68728 68737 68738 68739 68741 68742 68745 68746 68753 68767 68770 68771 68772 68774 68781 68784 68785 68787 68788 68789 68807 68821 68827 68833 68834 68835 68850 68851 68854 68857 68861 68862 68881 68882 68887 68888 68893 68897 68902 68920 68922 68926 68940 68941 68942 68943 68952 68955 68957 68961 68964 68971 68972 68980 68981 68985 68986 68987 68992 68993 68994 68995 68998 69002 69003 69006 69007 69008 69012 69013 69021 69034 69036 69039 69040 69053 69056 69059 69076 69079 69092 69105 69136 69163 69170 69173 69177 69178 69179 69271 69293 69295 69311 69323 69331 69351 69352 69353 69359 69370 69373 69383 69392 69394 69397 69402 69404 69412 69413 69414 69435 69447 69449 69454 69456 69457 69460 69462 69478 69483 69492 69508 69535 69541 69542 69543 69544 69546 69547 69549 69557 69562 69564 69566 69567 69568 69585 69587 69588 69590 69595 69601 69602 69603 69605 69610 69614 69615 69616 69617 69618 69619 69621 69625 69626 69628 69632 69633 69635 69638 69639 69643 69647 69652 69658 69659 69662 69667 69678 69679 69685 69690 69695 69696 69698 69717 69727 69730 69734 69736 69737 69739 69741 69745 69749 69751 69752 69754 69756 69757 69758 69760 69761 69763 69764 69765 69766 69767 69768 69771 69772 69774 69776 69777 69782 69783 69787 69788 69791 69792 69794 69795 69796 69797 69798 69803 69805 69810 69811 69813 69821 69822 69832 69833 69834 69836 69872 69873 69875 69877 69881 69887 69894 69919 69927 69930 69937 69939 69941 69942 69949 69950 69952 69964 69991 69992 69995 70002 70004 70005 70018 70023 70025 70034 70038 70041 70050 70057 70058 70062 70066 70067 70071 70072 70073 70074 70093 70106 70107 70108 70122 70123 70126 70129 70163 70164 70165 70166 70177 70191 70203 70209 70210 70215 70218 70219 70220 70222 70225 70227 70253 70260 70276 70277 70279 70299 70302 70304 70305 70308 70310 70313 70317 70320 70325 70364 70371 70384 70385 70388 70392 70394 70395 70405 70406 70407 70413 70424 70425 70426 70445 70449 70455 70461 70469 70470 70473 70476 70477 70482 70489 70490 70497 70499 70500 70512 70525 70528 70531 70532 70533 70540 70541 70543 70549 70556 70558 70559 70563 70564 70566 70570 70577 70578 70581 70585 70591 70592 70593 70594 70601 70603 70610 70611 70616 70620 70651 70655 70664 70686 70691 70694 70698 70702 70709 70716 70718 70722 70742 70743 70756 70771 70812 70814 70878 70890 70895 70915 70932 70954 70961 70967 70971 70975 70978 70986 70991 71001 71002 71006 71011 71028 71034 71035 71036 71038 71040 71042 71043 71045 71050 71053 71055 71065 71071 71074 71079 71081 71082 71086 71094 71097 71098 71099 71100 71102 71104 71105 71107 71108 71111 71112 71114 71115 71116 71120 71122 71123 71126 71127 71129 71130 71132 71135 71136 71138 71139 71141 71143 71144 71145 71146 71148 71150 71151 71152 71154 71160 71161 71162 71172 71174 71197 71199 71208 71214 71224 71229 71274 71275 71276 71278 71279 71281 71283 71286 71304 71315 71321 71324 71328 71330 71335 71336 71357 71358 71359 71361 71449 71497 71500 71530 71538 71550 71554 71558 71561 71568 71573 71578 71585 71589 71599 71625 71626 71635 71636 71637 71664 71666 71668 71677 71683 71689 71698 71701 71703 71716 71750 71751 71754 71755 71756 71767 71768 71771 71772 71773 71774 71778 71780 71785 71790 71802 71807 71808 71809 71810 71811 71815 71836 71837 71839 71840 71842 71844 71849 71879 71883 71888 71889 71953 71956 71957 71964 71967 71968 71969 71972 71975 71976 71980 71981 71986 71989 71990 72018 72020 72022 72032 72036 72039 72041 72047 72058 72059 72061 72063 72065 72066 72070 72075 72076 72094 72106 72111 72112 72127 72144 72148 72151 72154 72159 72160 72162 72167 72171 72172 72174 72177 72178 72180 72185 72186 72196 72200 72205 72206 72213 72214 72215 72232 72233 72235 72245 72247 72251 72252 72261 72265 72275 72302 72315 72334 72336 72368 72370 72378 72389 72426 72434 72444 72485 72487 72489 72494 72495 72497 72507 72508 72509 72510 72511 72522 72538 72539 72540 72542 72556 72574 72586 72589 72602 72603 72615 72621 72624 72625 72640 72642 72652 72654 72657 72658 72661 72664 72671 72672 72687 72702 72705 72711 72719 72722 72723 72734 72735 72736 72742 72744 72746 72754 72768 72777 72781 72787 72802 72804 72805 72812 72817 72819 72822 72824 72825 72827 72828 72829 72830 72840 72847 72848 72855 72857 72859 72862 72864 72865 72869 72873 72891 72892 72896 72897 72902 72903 72908 72909 72916 72918 72920 72926 72928 72929 72933 72934 72943 72944 72945 72951 72953 72954 72960 72961 72968 72970 72973 72994 72995 72996 73002 73008 73010 73035 73041 73047 73048 73053 73054 73055 73061 73071 73075 73076 73080 73081 73082 73084 73085 73092 73095 73096 73098 73102 73109 73115 73135 73136 73137 73138 73148 73149 73150 73151 73173 73175 73177 73184 73188 73190 73193 73197 73202 73212 73220 73221 73230 73354 73358 73361 73362 73365 73368 73374 73378 73379 73385 73386 73389 73392 73393 73397 73401 73405 73408 73410 73412 73413 73419 73420 73443 73447 73455 73456 73471 73475 73478 73481 73482 73483 73492 73502 73503 73506 73508 73509 73511 73513 73515 73522 73523 73524 73530 73535 73541 73546 73547 73555 73556 73557 73559 73561 73571 73572 73573 73576 73586 73590 73591 73596 73599 73600 73601 73603 73606 73607 73611 73614 73625 73629 73631 73633 73634 73635 73637 73640 73642 73644 73647 73657 73659 73661 73663 73664 73665 73666 73667 73673 73680 73689 73704 73706 73709 73715 73716 73718 73731 73738 73739 73746 73747 73749 73751 73756 73768 73772 73775 73780 73782 73783 73870 73880 73883 73889 73894 73895 73896 73898 73901 73902 73917 73918 73923 73928 73929 73933 73937 73950 73952 73955 73957 73958 73965 73966 73969 73974 73980 73983 73989 73991 73992 73994 73998 73999 74005 74006 74007 74009 74012 74015 74017 74022 74027 74031 74034 74035 74037 74043 74049 74082 74083 74085 74087 74089 74093 74096 74097 74098 74099 74100 74105 74107 74109 74110 74112 74115 74118 74119 74127 74133 74134 74137 74140 74142 74146 74148 74151 74154 74158 74160 74161 74162 74163 74174 74175 74176 74177 74180 74188 74189 74191 74199 74219 74227 74228 74231 74236 74237 74246 74247 74250 74259 74262 74270 74272 74278 74280 74281 74292 74299 74304 74317 74321 74322 74332 74339 74347 74349 74359 74361 74363 74386 74389 74391 74393 74405 74406 74409 74414 74431 74437 74439 74442 74444 74455 74460 74465 74466 74493 74500 74502 74513 74518 74525 74529 74540 74541 74550 74551 74554 74555 74557 74559 74568 74570 74572 74573 74574 74580 74585 74587 74593 74601 74607 74610 74613 74621 74628 74634 74635 74636 74637 74640 74659 74660 74664 74667 74670 74676 74677 74678 74680 74681 74689 74690 74701 74710 74714 74718 74719 74722 74726 74727 74730 74732 74735 74737 74742 74744 74747 74748 74749 74750 74757 74758 74764 74765 74767 74769 74771 74774 74790 74792 74793 74798 74799 74800 74802 74803 74804 74808 74814 74817 74818 74823 74905 74909 74912 74915 74917 74924 74926 74930 74933 74941 74942 74951 74964 74987 75000 75006 75007 75013 75018 75019 75022 75023 75024 75025 75029 75035 75052 75055 75061 75072 75073 75076 75083 75093 75097 75098 75099 75100 75101 75102 75103 75106 75107 75110 75111 75112 75113 75118 75120 75121 75125 75133 75134 75135 75136 75138 75141 75142 75143 75144 75145 75156 75166 75192 75193 75207 75210 75212 75214 75220 75226 75227 75230 75245 75246 75248 75252 75254 75256 75259 75261 75262 75263 75270 75298 75331 75333 75336 75341 75346 75356 75357 75361 75365 75414 75418 75429 75433 75451 75455 75459 75461 75470 75475 75477 75479 75483 75484 75488 75493 75495 75501 75503 75505 75507 75508 75509 75510 75518 75526 75539 75547 75549 75561 75562 75572 75577 75590 75591 75606 75614 75615 75616 75618 75619 75621 75623 75628 75630 75632 75635 75639 75650 75653 75655 75656 75658 75662 75663 75665 75666 75667 75678 75686 75693 75698 75701 75707 75709 75710 75711 75716 75720 75726 75727 75749 75750 75751 75752 75753 75755 75758 75761 75763 75770 75773 75780 75783 75784 75788 75798 75803 75807 75810 75812 75816 75817 75818 75830 75857 75867 75868 75869 75871 75873 75874 75880 75885 75886 75887 75888 75909 75910 75938 75942 75953 75959 76001 76012 76032 76034 76035 76040 76042 76043 76045 76050 76055 76057 76065 76066 76068 76075 76077 76078 76080 76083 76090 76092 76093 76095 76096 76097 76100 76103 76107 76108 76110 76111 76113 76114 76115 76116 76122 76123 76126 76128 76132 76133 76134 76147 76148 76166 76167 76174 76177 76181 76184 76188 76189 76192 76195 76211 76218 76235 76239 76245 76249 76252 76255 76257 76272 76274 76275 76278 76281 76286 76289 76292 76296 76297 76299 76303 76305 76306 76307 76308 76315 76316 76319 76327 76329 76338 76339 76341 76351 76352 76355 76362 76370 76380 76383 76384 76391 76400 76402 76404 76416 76419 76422 76423 76425 76427 76429 76430 76432 76435 76439 76443 76447 76448 76449 76450 76456 76465 76470 76479 76480 76502 76504 76506 76511 76513 76516 76519 76522 76528 76530 76531 76535 76542 76549 76555 76558 76575 76603 76604 76607 76612 76620 76623 76625 76638 76648 76649 76650 76651 76652 76653 76654 76655 76656 76657 76658 76659 76660 76664 76667 76669 76670 76671 76672 76678 76682 76684 76687 76688 76691 76693 76694 76699 76700 76703 76705 76706 76708 76709 76710 76711 76713 76716 76717 76719 76723 76733 76746 76748 76749 76750 76751 76755 76760 76764 76772 76781 76783 76784 76786 76790 76793 76794 76795 76797 76799 76800 76802 76803 76804 76808 76816 76819 76823 76824 76827 76829 76834 76836 76839 76840 76842 76843 76855 76865 76866 76868 76885 76890 76891 76902 76936 76942 76943 76945 76946 76947 76958 76959 76963 76964 76965 76985 76987 76990 76992 76996 77004 77005 77007 77008 77013 77014 77015 77019 77020 77021 77027 77030 77034 77039 77041 77045 77064 77069 77070 77071 77072 77073 77074 77077 77082 77084 77089 77092 77095 77099 77102 77104 77110 77111 77112 77114 77126 77141 77144 77147 77149 77158 77159 77163 77164 77165 77182 77183 77184 77190 77194 77197 77207 77209 77212 77229 77238 77241 77242 77252 77258 77262 77274 77275 77297 77298 77304 77310 77316 77320 77374 77375 77376 77377 77379 77380 77382 77383 77385 77388 77394 77396 77407 77408 77409 77410 77411 77413 77414 77415 77421 77430 77436 77440 77446 77451 77456 77463 77464 77480 77484 77487 77497 77521 77522 77524 77526 77527 77532 77533 77536 77539 77556 77580 77602 77608 77610 77614 77623 77628 77636 77639 77640 77642 77643 77681 77682 77765 77768 77770 77780 77782 77784 77786 77787 77788 77803 77806 77826 77829 77830 77854 77857 77865 77868 77875 77906 77907 77909 77917 77918 77934 77935 77938 77942 77957 77971 77976 77978 77980 77983 77985 77994 77995 77996 77997 78020 78023 78032 78034 78035 78045 78048 78049 78050 78051 78054 78061 78074 78080 78096 78147 78149 78151 78154 78157 78168 78181 78194 78204 78216 78217 78221 78222 78236 78237 78240 78245 78247 78250 78255 78256 78257 78264 78265 78266 78269 78273 78282 78284 78298 78329 78343 78353 78355 78361 78363 78373 78375 78381 78382 78388 78412 78433 78436 78437 78442 78445 78453 78456 78459 78460 78464 78465 78467 78468 78479 78487 78489 78493 78496 78497 78510 78511 78515 78516 78517 78518 78520 78523 78525 78528 78531 78534 78535 78536 78537 78541 78557 78558 78560 78564 78567 78569 78571 78578 78592 78595 78596 78601 78612 78614 78615 78622 78624 78628 78631 78632 78635 78637 78640 78643 78663 78665 78681 78695 78696 78701 78702 78703 78706 78708 78709 78712 78714 78718 78719 78724 78729 78731 78735 78736 78737 78743 78744 78745 78746 78748 78752 78754 78756 78761 78765 78769 78773 78788 78792 78794 78795 78798 78799 78805 78806 78808 78811 78815 78819 78824 78826 78827 78829 78832 78836 78837 78838 78839 78840 78844 78845 78847 78849 78850 78852 78862 78956 79015 79044 79083 79224 79225 79226 79245 79246 79286 79314 79419 79466 79469 79589 79594 79691 79810 79829 79856 79883 80073 80074 80137 80138 80225 80349 80352 80356 80371 80384 80408 80480 80483 80615 80634 80636 80672 80719 80743 80812 80833 80857 80911 80955 81002 81097 81100 81121 81154 81165 81181 81221 81225 81232 81250 81260 81283 81295 81377 81389 81397 81408 81411 81422 81424 81427 81437 81446 81447 81452 81453 81467 81475 81479 81480 81492 81500 81502 81512 81547 81549 81555 81566 81585 81606 81677 81686 81708 81718 81721 81729 81738 81773 81775 81787 81788 81799 81802 81813 81816 81817 81825 81827 81829 81832 81833 81834 81843 81858 81870 81876 81885 81912 81913 81915 81935 81958 81963 81978 81979 81980 81981 81982 81984 81985 82009 82027 82028 82054 82060 82078 82079 82111 82160 82163 82179 82187 82196 82201 82229 82236 82264 82274 82312 82315 82338 82351 82359 82361 82380 82382 82384 82385 82444 82455 82460 82476 82481 82491 82514 82525 82530 82544 82553 82555 82557 82559 82604 82607 82608 82621 82623 82626 82649 82655 82687 82689 82718 82752 82760 82778 82782 82783 82787 82796 82807 82865 82892 82924 82926 82935 82942 82944 82948 82959 82966 82971 82983 83028 83041 83049 83062 83103 83104 83127 83128 83136 83144 83146 83154 83159 83161 83165 83166 83168 83172 83183 83193 83198 83220 83257 83259 83282 83284 83286 83288 83309 83312 83321 83325 83334 83358 83362 83365 83369 83372 83373 83381 83387 83392 83406 83433 83439 83447 83482 83535 83540 83564 83609 83632 83648 83683 83695 83701 83702 83713 83717 83718 83762 83779 83794 83799 83807 83810 83811 83812 83862 83880 83924 83955 83967 83968 84044 84061 84094 84108 84110 84111 84113 84129 84132 84141 84159 84178 84183 84186 84197 84253 84257 84268 84278 84281 84312 84319 84338 84370 84372 84376 84377 84382 84389 84392 84393 84396 84397 84398 84400 84411 84412 84424 84429 84440 84448 84449 84453 84454 84470 84477 84479 84503 84528 84529 84530 84562 84563 84570 84571 84572 84586 84604 84619 84631 84644 84675 84678 84680 84683 84685 84688 84693 84707 84708 84717 84728 84734 84768 84782 84790 84791 84792 84844 84847 84865 84866 84902 84905 84907 84908 84936 84970 84979 85001 85005 85007 85019 85038 85043 85048 85049 85057 85058 85059 85062 85063 85064 85065 85066 85114 85149 85154 85155 85161 85169 85170 85171 85173 85174 85176 85191 85196 85199 85208 85210 85217 85219 85228 85231 85237 85251 85260 85272 85297 85379 85385 85386 85387 85408 85432 85535 85542 85721 85741 85752 85781 85788 85791 85792 85796 85799 85800 85824 85826 85856 85857 85864 85898 85899 85900 85908 85914 85926 85934 85935 85980 85992 85994 85998 86003 86008 86009 86020 86073 86079 86108 86123 86129 86130 86135 86140 86154 86156 86157 86158 86160 86166 86190 86197 86213 86214 86217 86243 86248 86268 86303 86307 86317 86325 86333 86348 86350 86355 86356 86357 86366 86413 86428 86434 86440 86444 86450 86470 86477 86482 86483 86491 86503 86522 86547 86555 86564 86605 86606 86608 86615 86616 86620 86710 86714 86728 86736 86737 86757 86760 86763 86787 86788 86808 86826 86827 86859 86947 86952 86955 86985 86987 86999 87000 87016 87056 87062 87063 87064 87065 87067 87068 87076 87093 87096 87097 87105 87119 87140 87145 87151 87162 87163 87182 87771 87870 87921 88321 88688 88953 88982 89089 89205 89266 89267 89320 89958 90008 90023 90047 90085 90240 90306 90328 90346 90362 90408 90510 90527 90785 90966 91014 91021 91022 91023 91053 91539 91573 91705 91983 92311 92419 92456 92547 92556 92644 92689 92777 92801 92960 93017 93056 93324 93327 93437 93512 93550 93602 93606 93888 93999 94014 94245 94381 94556 95107 95175 95259 95278 95282 95294 95306 95342 95482 95548 95669 95723 95803 96024 96042 96112 96130 96432 96439 96497 96557 96842 97101 97106 97109 97138 97150 97221 97513 97555 97562 97615 97644 97645 97797 97824 98021 98143 98148 98249 98259 98282 98344 98350 98361 98443 98450 98451 98575 98659 98677 98701 98708 98735 98961 99023 99028 99085 99122 99309 99363 99413 99783 99808 99811 99894 99943 99974 100297 100308 100383 100404 100593 100724 100810 100813 100897 101005 101010 101033 101034 101037 101202 101237 101238 101240 101255 101270 101334 101370 101406 101464 101466 101471 101486 101697 101700 101730 101739 101745 101753 101760 101767 101782 101839 101840 101842 101866 101878 101890 101924 101927 101974 101977 102080 102085 102118 102131 102135 102138 102139 102147 102151 102155 102232 102275 102276 102468 102544 102604 102687 102697 102819 102840 102848 102869 102885 102890 102895 102923 102927 102931 102947 102960 103039 103040 103044 103045 103049 103075 103076 103081 103087 103090 103097 103100 103116 103142 103150 103200 103202 103212 103223 103367 103368 103403 103412 103413 103465 103565 103632 103662 103671 103690 103703 103753 103894 103911 103913 103930 103934 103936 103961 103997 104013 104018 104116 104219 104220 104221 104224 104244 104263 104266 104281 104300 104301 104412 104431 104448 104457 104485 104492 104653 104658 104689 104696 104704 104706 104737 104741 104752 104761 104789 104795 104797 104799 104804 104808 104835 104896 104901 105077 105157 105184 105185 105202 105205 105229 105240 105247 105264 105267 105268 105278 105297 105303 105310 105324 105326 105350 105360 105426 105427 105428 105443 105479 105507 105513 105523 105544 105626 105650 105667 105668 105700 105708 105727 105729 105747 105750 105753 105754 105764 105849 105855 105887 105943 106016 106077 106126 106127 106164 106166 106169 106171 106232 106264 106275 106279 106291 106292 106300 106323 106328 106341 106358 106497 106513 106525 106533 106541 106543 106550 106555 106556 106573 106575 106576 106579 106589 106594 106597 106651 106660 106665 106666 106725 106726 106742 106751 106754 106757 106843 106883 106900 106915 106916 106964 106970 107046 107094 107147 107150 107153 107161 107162 107178 107181 107189 107190 107191 107211 107224 107229 107254 107264 107281 107289 107293 107298 107376 107405 107454 107471 107475 107496 107497 107505 107509 107579 107586 107593 107604 107649 107683 107874 107935 107994 108027 108053 108096 108101 108111 108116 108121 108124 108127 108134 108136 108160 108170 108171 108178 108192 108241 108263 108282 108304 108317 108320 108342 108390 108411 108434 108454 108502 108513 108518 108524 108530 108537 108551 108578 108607 108613 108677 108742 108746 108914 108964 108966 108984 109002 109040 109081 109083 109102 109105 109108 109127 109171 109172 109201 109206 109207 109210 109214 109225 109227 109228 109231 109237 109238 109240 109241 109265 109289 109325 109350 109354 109367 109376 109378 109432 109436 109497 109529 109600 109615 109641 109669 109706 109721 109723 109725 109726 109727 109728 109733 109735 109737 109738 109740 109741 109746 109748 109751 109752 109758 109763 109776 109794 109808 109815 109817 109837 109872 109892 109925 109943 109958 109961 109967 109982 109999 110054 110059 110063 110069 110086 110093 110098 110109 110150 110177 110185 110240 110270 110305 110309 110323 110479 110510 110582 110591 110593 110594 110596 110624 110627 110628 110658 110685 110686 110727 110730 110773 110792 110803 110806 110811 110833 110844 110893 110907 111001 111002 111019 111046 111048 111063 111095 111149 111305 111306 111318 111335 111336 111364 111391 111404 111424 111432 111571 111605 111606 111635 111645 111710 111753 111898 111936 111938 112079 112160 112240 112241 112286 112310 112311 112317 112342 112370 112381 112390 112408 112440 112534 112622 112682 112695 112701 112702 112708 112722 112733 112759 112775 112780 112800 112912 112921 112932 112937 112957 112979 113055 113071 113075 113080 113085 113095 113132 113147 113153 113168 113238 113259 113261 113286 113291 113293 113309 113368 113501 113523 113531 113548 113566 113572 113576 113590 113600 113602 113606 113620 113621 113704 113741 113768 113793 113973 113999 114020 114037 114064 114114 114142 114151 114202 114219 114238 114284 114311 114327 114346 114407 114422 114426 114447 114527 114671 114672 114721 114765 114771 114828 114844 114850 114867 114872 114873 114875 114980 114995 115035 115048 115109 115128 115134 115137 115142 115224 115231 115232 115236 115342 115343 115366 115386 115427 115432 115471 115510 115563 115601 115631 115639 115685 115695 115702 115703 115717 115731 115736 115737 115739 115744 115757 115765 115774 115776 115779 115810 116071 116074 116077 116078 116081 116188 116189 116190 116216 116233 116286 116287 116294 116328 116339 116355 116405 116406 116439 116458 116531 116569 116579 116580 116582 116600 116650 116660 116662 116679 116684 116703 116704 116743 116755 116757 116794 116797 116802 116832 116858 116891 116907 116925 116945 116961 116969 116986 116987 116988 116995 117051 117149 117234 117247 117249 117251 117339 117360 117361 117362 117430 117443 117444 117447 117454 117460 117468 117480 117540 117541 117571 117628 117632 117739 117791 117801 117857 117861 117881 117885 117896 117899 117940 117953 117988 117995 117996 117998 117999 118086 118092 118106 118110 118135 118162 118168 118175 118176 118199 118200 118220 118230 118231 118243 118325 118354 118383 118393 118423 118432 118538 118665 118682 118700 118842 118913 118954 118970 119003 119007 119023 119026 119035 119053 119102 119104 119164 119171 119187 119192 119196 119198 119213 119221 119279 119394 119472 119473 119542 119698 119709 119926 119929 119943 120067 120077 120089 120107 120113 120128 120253 120264 120336 120407 120430 120436 120443 120446 120447 120489 120508 120535 120537 120538 120551 120586 120616 120659 120715 120717 120726 120776 120777 121181 121266 121295 121300 121325 121332 121334 121421 121445 121493 121517 121548 121561 121605 121631 121632 121665 121741 121776 121806 121902 121931 122159 122160 122184 122186 122189 122206 122208 122219 122245 122248 122279 122297 122298 122401 122445 122620 122692 122694 122702 122727 122736 122738 122805 122812 122874 122898 122908 122931 122932 122937 122999 123043 123047 123053 123060 123075 123080 123082 123085 123089 123091 123092 123106 123107 123112 123145 123153 123159 123163 123290 123345 123356 123373 123374 123388 123403 123422 123429 123439 123515 123522 123563 123569 123625 123677 123814 123826 123848 123854 123859 123864 123869 123870 123882 123902 123903 123905 123925 123928 123931 123945 123990 124010 124011 124046 124084 124087 124111 124130 124186 124241 124273 124301 124313 124322 124329 124344 124350 124354 124355 124356 124380 124384 124435 124484 124496 124498 124504 124549 124565 124567 124589 124598 124604 124622 124637 124647 124692 124695 124715 124726 124728 124729 124741 124760 124770 124776 124791 124804 124806 124810 124833 124838 124840 124869 124892 124901 124915 124918 124928 124936 125061 125146 125176 125275 125308 125321 125333 125357 125364 125482 125493 125594 125614 125650 125653 125654 125656 125658 125660 125662 125663 125686 125687 125829 125845 125903 125933 125979 125988 125995 125997 126000 126002 126079 126105 126109 126110 126111 126119 126120 126122 126144 126149 126169 126174 126177 126180 126244 126255 126259 126261 126264 126289 126336 126338 126339 126347 126351 126369 126378 126405 126526 126527 126535 126548 126550 126577 126606 126614 126689 126737 126774 126775 126777 126781 126791 126793 126797 126948 127018 127022 127026 127033 127061 127096 127125 127158 127159 127160 127161 127172 127177 127198 127208 127216 127235 127244 127250 127257 127258 127264 127265 127269 127271 127273 127274 127275 127276 127279 127286 127302 127383 127384 127401 127414 127444 127449 127473 127514 127516 127520 127526 127527 127535 127550 127565 127575 127576 127597 127601 127602 127615 127649 127729 127753 127762 127764 127783 127793 127798 127806 127892 127952 128022 128074 128101 128167 128170 128293 128296 128329 128330 128331 128333 128423 128431 128433 128434 128476 128480 128486 128487 128513 128517 128538 128555 128557 128560 128561 128603 128608 128610 128611 128615 128623 128630 128632 128634 128635 128636 128637 128640 128642 128646 128650 128651 128653 128665 128738 128787 128799 128800 128811 128814 128816 128850 128851 128861 128914 128922 129020 129022 129044 129092 129099 129100 129101 129102 129145 129153 129157 129179 129251 129262 129281 129289 129327 129341 129435 129476 129521 129556 129568 129569 129573 129574 129575 129576 129577 129665 129814 129975 130137 130145 130240 130241 130555 130693 130753 130777 130819 131076 131126 131217 131272 131330 131334 131335 131440 131553 131796 131823 131825 131827 131830 131847 131849 131850 131900 131963 131965 131969 131970 131971 132024 132025 132051 132085 132086 132098 132110 132120 132121 132127 132128 132139 132170 132182 132187 132326 132331 132408 132468 132482 132486 132495 132497 132499 132500 132512 132515 132518 132526 132531 132549 132585 132640 132719 132724 132749 132759 132776 132779 132791 132795 132807 132817 132818 132838 132848 132849 132860 132869 132884 132901 132918 133000 133009 133020 133111 133112 133113 133137 133182 133214 133390 133475 133660 133677 133689 133777 133779 133819 133838 133839 133840 133842 133938 133947 133948 133949 133951 133967 133982 133983 133984 133987 133990 133997 134056 134059 134060 134073 134078 134079 134080 134081 134083 134184 134186 134218 134222 134223 134235 134238 134250 134252 134254 134258 134263 134284 134313 134337 134394 134398 134403 134421 134427 134435 134499 134564 134595 134637 134820 135096 135104 135154 135166 135213 135219 135220 135262 135306 135490 135501 135546 135557 135567 135676 135701 135837 135841 135862 135920 135921 135937 135946 136037 136038 136074 136095 136123 136151 136153 136335 136397 136463 136549 136563 136602 136603 136604 136607 136646 136737 136764 136946 136955 136966 136974 136992 136993 137018 137022 137027 137028 137049 137071 137073 137095 137098 137108 137118 137120 137148 137149 137163 137168 137247 137287 137288 137295 137301 137308 137328 137416 137440 137442 137457 137461 137704 137709 137743 137757 137791 137794 137811 137826 137835 137837 137840 137841 137866 137915 137970 137975 137983 137984 137988 137992 137996 138002 138003 138037 138038 138044 138045 138048 138070 138194 138210 138211 138212 138273 138274 138279 138304 138305 138395 138403 138404 138405 138432 138479 138491 138507 138544 138547 138562 138628 138640 138666 138667 138698 138747 138864 139006 139007 139015 139121 139369 139386 139421 139426 139449 139494 139560 139597 139604 139638 139649 139655 139656 139690 139691 139697 139713 139745 139753 139757 139772 139780 139781 139797 139800 139801 139803 139815 139816 139818 139840 139847 139912 139919 139975 139979 139980 139990 140010 140012 140014 140016 140029 140114 140115 140129 140167 140175 140182 140186 140192 140193 140240 140256 140260 140261 140314 140338 140353 140354 140355 140357 140362 140373 140410 140447 140461 140471 140482 140591 140593 140594 140610 140614 140730 140733 140745 140746 140749 140750 140757 140759 140761 140765 140770 140771 140773 140776 140783 140784 140786 140791 140794 140800 140801 140805 140856 140874 140877 140878 140881 140887 140889 140902 140908 140933 140935 140941 140949 141003 141007 141022 141026 141032 141056 141060 141110 141113 141197 141217 141224 141227 141301 141313 141365 141367 141369 141409 141412 141418 141434 141449 141485 141502 141514 141547 141597 141639 141651 141653 141658 141661 141667 141678 141703 141707 141712 141714 141716 141729 141753 141756 141757 141759 141762 141792 141794 141820 141823 141824 141825 141826 141827 141914 141949 141950 141951 141981 141982 142046 142102 142160 142181 142201 142202 142278 142279 142312 142340 142354 142395 142397 142402 142403 142426 142447 142469 142475 142476 142479 142484 142492 142501 142504 142510 142515 142516 142518 142528 142529 142540 142542 142544 142545 142546 142547 142548 142552 142554 142562 142573 142576 142592 142633 142638 142641 142642 142643 142710 142711 142747 142777 142785 142791 142801 142805 142812 142815 142816 142823 142825 142834 142846 142852 142853 142854 142874 142875 142877 142878 142888 142890 142898 142900 142910 142915 142916 142917 142921 142923 142927 142928 142931 142971 142988 142991 142994 143009 143083 143094 143109 143112 143182 143190 143191 143192 143194 143197 143198 143214 143257 143266 143346 143391 143421 143430 143441 143444 143452 143454 143455 143456 143537 143538 143559 143599 143600 143637 143641 143643 143696 143697 143699 143702 143780 143781 143789 143794 143799 143961 143993 144004 144055 144059 144098 144107 144150 144153 144157 144168 144198 144202 144223 144245 144270 144271 144272 144287 144291 144300 144345 144413 144415 144417 144418 144460 144475 144486 144499 144549 144550 144551 144567 144568 144576 144579 144790 144916 144990 145007 145009 145022 145035 145084 145088 145092 145108 145111 145112 145114 145149 145155 145162 145175 145183 145184 145185 145195 145208 145217 145305 145329 145330 145334 145348 145392 145393 145394 145395 145431 145436 145460 145526 145578 145611 145613 145617 145627 145663 145695 145745 145753 145788 145857 145898 145904 145908 145931 145932 145942 145943 145946 145974 145975 145988 145993 146010 146011 146014 146017 146019 146020 146170 146177 146196 146206 146224 146226 146231 146238 146247 146275 146311 146337 146398 146413 146439 146539 146540 146541 146549 146557 146558 146561 146566 146604 146627 146686 146692 146706 146729 146730 146789 146847 146854 146868 146876 146883 146934 146951 146952 146953 146954 146961 147003 147008 147020 147022 147036 147037 147088 147106 147186 147238 147266 147380 147421 147448 147458 147462 147467 147472 147477 147482 147483 147500 147518 147531 147584 147594 147728 147741 147745 147747 147748 147753 147754 147760 147769 147771 147794 147802 147832 147850 147864 147866 147892 147919 147921 147933 147937 147959 147999 148052 148083 148084 148087 148139 148151 148152 148153 148165 148174 148179 148192 148195 148274 148277 148291 148293 148303 148324 148338 148345 148360 148369 148373 148386 148398 148403 148405 148425 148437 148453 148465 148466 148467 148474 148484 148485 148492 148493 148543 148584 148634 148689 148708 148709 148719 148751 148756 148770 148771 148772 148777 148781 148782 148835 148836 148842 148854 148859 148866 148879 148881 148884 148887 148888 148893 148897 148932 148942 148944 148948 148970 148973 149004 149006 149028 149031 149067 149069 149072 149073 149076 149077 149087 149088 149100 149173 149185 149186 149192 149247 149250 149256 149304 149305 149322 149355 149356 149368 149371 149379 149381 149389 149409 149417 149421 149434 149435 149455 149473 149474 149476 149477 149478 149491 149492 149500 162321 162331 162357 162373 162445 162476 162480 162484 162506 162507 162685 162712 162713 162714 162723 162745 162754 162755 162756 162757 162758 162792 162813 162814 162815 162816 162832 162894 162932 162966 162969 162973 162983 162999 163000 163026 163042 163054 163055 163067 163069 163075 163085 163091 163098 163099 163142 163143 163147 163159 163174 163272 163299 163305 163391 163411 163528 163558 163562 163573 163642 163650 163657 163671 163702 163748 163772 163781 163839 163842 163859 163860 163908 163929 163988 164003 164056 164087 164144 164155 164158 164190 164196 164200 164237 164273 164282 164290 164296 164316 164329 164386 164398 164409 164421 164435 164488 164489 164500 164514 164541 164550 164562 164595 164608 164613 164662 164668 164674 164675 164678 164683 164697 164703 164707 164721 164766 164771 164773 164776 164787 164815 164875 164898 164899 164902 164935 164955 165002 165032 165036 165077 165095 165110 165114 165117 165137 165161 165174 165187 165193 165203 165214 165215 165216 165264 165279 165283 165297 165312 165323 165325 165383 165414 165431 165457 165462 165463 165465 165469 165477 165479 165554 165565 165590 165595 165602 165603 165616 165630 165631 165653 165662 165695 165703 165747 165780 165792 165795 165796 165806 165809 165814 165825 165839 165872 165900 165901 165908 165921 165939 165951 166025 166031 166064 166113 166159 166195 166208 166213 166235 166237 166258 166353 166382 166455 166498 166512 166524 166532 166550 166551 166552 166723 166745 166835 166848 166872 166894 166898 166978 166979 167029 167105 167106 167117 167214 167256 167349 167373 167374 167403 167434 167448 167533 167555 167583 167603 167620 167626 167637 167657 167682 167716 167723 167741 167748 167759 167762 167769 167802 167858 167914 167927 167931 167949 168043 168044 168052 168106 168207 168213 168247 168265 168273 168296 168318 168356 168388 168391 168483 168486 168523 168524 168533 168601 168602 168608 168613 168633 168706 168714 168749 168757 168758 168759 168829 168853 168878 168928 168944 169014 169018 169062 169121 169126 169202 169222 169226 169241 169255 169307 169338 169616 169681 169691 169696 169698 169700 169733 169734 169768 169868 169911 169964 169968 170086 170214 170252 170258 170289 170300 170309 170315 170356 170358 170614 170672 170692 170715 170716 170741 170750 170835 170957 170965 170987 171016 171023 171032 171075 171153 171202 171208 171284 171293 171302 171346 171368 171393 171447 171456 171458 171460 171462 171473 171476 171477 171489 171636 171637 171641 171689 171769 171886 171946 171953 171970 172018 172021 172048 172217 172218 172253 172278 172293 172341 172359 172379 172398 172434 172467 172511 172521 172532 172570 172587 172595 172596 172629 172633 172658 172689 172710 172748 172825 172827 172839 172842 172867 172907 172919 172926 172986 173050 173071 173083 173135 173164 173176 173186 173191 173199 173205 173239 173244 173358 173360 173436 173440 173462 173513 173519 173559 173591 173623 173635 173681 173792 173836 173850 173883 174000 174026 174033 174069 174078 174091 174162 174271 174425 174461 174475 174490 174492 174494 174543 174545 174634 174645 174745 174825 174876 174878 174883 174889 174903 174936 174938 174972 175022 175041 175058 175066 175156 175158 175159 175162 175163 175824 178469 178487 178489 178503 178525 178585 178596 178601 178626 178627 178695 178705 178737 178741 178789 178793 178833 178853 178882 179960 182638 202474 205658 205687 205704 205705 205719 205739 205758 205772 205812 205860 205909 205946 205953 205962 205966 205979 206027 206029 206030 206046 206048 206049 206050 206232 206253 206255 206460 206461 206491 206492 206514 206515 206599 206794 206795 206800 206816 206825 206828 206883 206892 206895 206907 206940 206946 206978 206979 206987 206992 206997 206999 207011 207039 207044 207052 207090 207091 207093 207147 207224 207237 207281 207345 207410 207481 207497 207504 207549 207562 207591 207592 207622 207624 207628 207647 207661 207669 207682 207683 207685 207726 207727 207745 207760 207761 207773 207777 207778 207800 207812 207829 207881 207925 207932 207934 207956 207957 208034 208054 208076 208078 208084 208102 208114 208126 208173 208225 208248 208252 208262 208283 208308 208317 208329 208387 208401 208405 208407 208450 208518 208538 208564 208570 208614 208616 208643 208681 208687 208704 208763 208766 208778 208779 208794 208801 208811 208814 208821 208842 208867 208872 208925 208926 208979 208987 208991 208999 209013 209036 209106 209117 209120 209131 209137 209150 209182 209201 209203 209210 209211 209213 209224 209227 209232 209240 209259 209261 209262 209263 209309 209315 209337 209364 209366 209367 209368 209378 209395 209430 209435 209499 209508 209511 209540 209582 209594 209696 209738 209761 209762 209812 209833 209846 209850 209869 209891 209892 209904 209925 209990 210057 210148 210233 210243 210244 210353 210355 210362 210364 210380 210403 210432 210458 210464 210492 210504 210505 210574 210617 210621 210630 210657 210840 211011 211013 211023 211039 211058 211169 211223 211264 211286 211293 211294 211296 211492 211543 211624 211628 211640 211670 211671 211676 211684 211688 211823 211843 211890 211977 212021 212182 212189 212199 212254 212255 212295 212315 212332 212362 212384 212385 212386 212399 212417 212457 212482 212519 212602 212604 212623 212652 212707 212746 212750 212863 212870 212874 212877 213088 213114 213125 213128 213213 213303 213314 213325 213387 213389 213404 213406 213555 213654 213664 213677 213766 213769 213771 213799 213800 213803 213809 213844 213877 213914 213960 213997 214023 214051 214094 214099 214131 214182 214185 214192 214255 214305 214396 214439 214455 214529 214572 214619 214660 214682 214745 214753 214827 214828 214830 214892 214894 214900 214956 215002 215087 215093 215101 215136 215145 215193 215196 215217 215263 215266 215278 215321 215365 215496 215522 215568 215583 215600 215601 215604 215631 215638 215717 215737 215791 215825 215830 215862 215895 215899 215906 215917 215922 215943 216027 216034 216076 216139 216194 216231 216278 216333 216350 216377 216379 216381 216414 216492 216524 216574 216660 216784 216823 216917 216921 216938 216949 216971 216995 217070 217087 217093 217097 217128 217154 217156 217242 217300 217353 217387 217468 217476 217484 217517 217543 217591 217593 217595 217598 217627 217873 217937 217941 217981 218000 218003 218043 218068 218069 218162 218184 218403 218405 218459 218501 218561 218588 218591 218593 218596 218633 218636 218640 218671 218743 218761 218946 218986 219041 219064 219078 219095 219100 219102 219220 219246 219261 219269 219322 219333 219336 219405 219455 219493 219495 219497 219525 219598 219638 219668 219688 219715 219734 219736 219749 219750 219776 219784 219808 219810 219836 219871 219897 219907 220014 220090 220167 220281 220325 220578 220585 220596 220780 220821 220836 220884 220893 220914 220918 221331 221793 225326 227090 237406 237408 237417 237424 237425 237795 242181 242182 242200 242208 242209 242240 242249 242265 242275 242293 242369 242376 242395 242402 242430 242447 242451 242517 242518 242522 242523 242525 242531 242532 242544 242546 242562 242564 242654 242701 242702 242704 242708 242858 242889 242892 242893 242894 242896 242897 242898 242899 242900 242901 242902 242903 242904 242905 242908 242909 242910 242911 242912 242913 242937 242947 242948 242951 242953 242956 242957 242974 242975 242976 242978 242980 243019 243020 243042 243049 243051 243192 243198 243201 243203 243216 243230 243237 243244 243247 243257 243264 243266 243281 243365 243396 243431 243442 243449 243459 243460 243474 243485 243511 243537 243559 243666 243673 243736 243746 243831 243901 243902 243907 243930 243936 243938 244012 244036 244119 244155 244171 244196 244215 244221 244231 244243 244273 244275 244315 244391 244404 244436 244456 244492 244512 244656 244686 244705 244713 244714 244718 244724 244725 244731 244748 244753 244760 244792 244799 244800 244821 244822 244851 244860 244861 244871 244872 244884 244902 244913 244919 244920 244943 244950 244958 244959 244960 244994 245000 245032 245037 245048 245109 245118 245158 245179 245193 245194 245216 245217 245227 245296 245329 245337 245419 245449 245476 245508 245513 245514 245524 245526 245531 245534 245560 245561 245589 245626 245633 245634 245653 245665 245671 245690 245696 245713 245719 245720 245769 245775 245776 245790 245794 245801 245820 245840 245860 245862 245956 245963 245981 245997 246012 246044 246047 246056 246113 246172 246173 246184 246203 246215 246221 246228 246233 246243 246269 246283 246289 246313 246318 246330 246335 246337 246396 246408 246415 246421 246444 246446 246628 246631 246644 246681 246689 246694 246719 246809 246836 246859 246904 246925 246977 246990 247025 247035 247116 247132 247133 247137 247161 247194 247226 247265 247272 247342 247352 247444 247458 247502 247529 247543 247670 247683 247742 247801 247900 247952 247955 247993 248017 248069 248070 248102 248118 248122 248151 248284 248293 248347 248392 248424 248432 248452 248465 248497 248571 248572 248644 248646 248650 248712 248718 248719 248727 248863 249000 249049 249057 249062 249071 249111 249177 249289 249301 249431 249458 249469 249470 249480 249497 249501 249502 249507 249527 249529 249533 249534 249555 249556 249582 249639 249644 249677 249678 249679 249681 249684 249733 249785 249830 249851 249904 249912 249943 249965 249967 250000 250010 250011 250012 250021 250032 250038 250040 250086 250136 250239 250256 250258 250273 250317 250333 250348 250350 250351 250465 250466 250476 250504 250512 250533 250542 250545 250547 250699 250717 250723 250727 250754 250763 250770 250780 250836 250870 250873 250874 250883 250908 251014 251019 251092 251129 251132 251273 251311 251313 251321 251324 251353 251368 251402 251437 251458 251504 251542 251546 251548 251554 251564 251620 251622 251650 251672 251693 251801 251802 251822 251902 251942 251950 251952 251991 252012 252062 252064 252076 252077 252111 252126 252141 252149 252152 252198 252263 252287 252300 252302 252337 252416 252417 252419 252444 252501 252503 252515 252523 252594 252625 252632 252636 252643 252644 252664 252667 252744 252750 252767 252769 252804 252870 252916 252919 252947 252983 253020 253029 253063 253076 253087 253146 253148 253184 253197 253216 253218 253230 253238 253239 253263 253321 253336 253353 253355 253432 253468 253506 253513 253538 253563 253594 253668 253697 253767 253787 253858 253888 253908 253914 253918 253922 253951 253953 253959 253990 253996 254026 254041 254044 254057 254071 254085 254088 254091 254093 254119 254211 254214 254215 254216 254245 254356 254362 254371 254374 254413 254455 254481 254493 254512 254513 254542 254573 254579 254617 254629 254631 254633 254657 254700 254725 254751 254759 254772 254776 254777 254779 254781 254783 254787 254824 254896 254939 255001 255093 255209 255216 255258 255290 255292 255340 255438 255473 255503 255526 255547 255574 255583 255615 255621 255663 255693 255798 255988 255989 256059 256089 256090 256103 256130 256136 256140 256172 256185 256213 256216 256218 256220 256237 256242 256285 256331 256357 256384 256431 256494 256498 256547 256552 256561 256634 256778 256781 256804 256809 256811 256836 256852 256854 256937 256954 256956 256962 257042 257081 257099 257124 257126 257130 257190 257217 257241 257267 257269 257309 257337 257341 257343 257357 257411 257434 257479 257486 257499 257501 257502 257503 257507 257575 257583 257585 257633 257634 257654 257665 257667 257672 257685 257710 257713 257715 257716 257751 257925 257931 257942 257945 257977 258005 258060 258062 258113 258114 258122 258138 258151 258230 258232 258233 258257 258258 258259 258303 258331 258378 258434 258447 258561 258633 258634 258636 258655 258657 258699 258708 258716 258728 258856 258861 258863 258986 258997 259017 259122 259176 259178 259206 259225 259423 259497 259505 259507 259519 259521 259565 259630 259637 259645 259651 259653 259679 259685 259715 259719 259849 259969 260007 260195 262965 278766 279020 279074 279161 279165 279173 279175 279218 279226 279238 279284 279328 279515 279517 280031 280038 280039 280040 280041 280048 280076 280077 280079 280082 280123 280509 280809 280838 280849 280858 280963 280970 281019 281031 281170 281208 281232 281255 281345 281351 281385 281398 281466 281549 281563 281573 281581 281603 281606 281666 281722 281727 281733 281736 281743 281763 281764 282040 282042 282047 282050 282051 282053 282055 282059 282070 282071 282072 282073 282085 282090 282098 282099 282100 282103 282104 282106 282107 282108 282115 282118 282119 282120 282123 282128 282130 282131 282133 282139 282143 282145 282146 282150 282151 282152 282162 282164 282169 282179 282181 282187 282190 282194 282195 282198 282210 282211 282213 282221 282223 282227 282231 282232 282233 282239 282248 282249 282259 282261 282268 282270 282274 282275 282278 282289 282292 282293 282298 282301 282302 282303 282304 282316 282321 282327 282330 282331 282336 282356 282359 282362 282365 282367 282369 282370 282372 282374 282375 282378 282386 282388 282394 282395 282398 282399 282471 282482 282519 282532 282555 282556 282559 282568 282685 282686 282706 282708 282711 282720 282727 282730 282737 282738 282763 282774 282788 282807 282808 282849 282851 282908 282971 282984 283004 283030 283073 283090 283094 283111 283149 283170 283200 283252 283314 283323 283408 283411 283418 283445 283454 283456 283528 283650 283663 283694 283696 283703 283705 283766 283803 283841 283862 283886 283969 283980 283986 284008 284027 284066 284073 284075 284098 284119 284126 284132 284191 284216 284219 284229 284294 284302 284356 284357 284378 284433 284448 284465 284488 284559 284562 284575 284581 284593 284610 284660 284663 284664 284715 284749 284758 284783 284815 284825 284852 284900 284906 284917 284941 284968 284980 284981 284991 285022 285036 285072 285076 285115 285157 285189 285205 285209 285342 285403 285467 285476 285540 285570 285573 285590 285608 285636 285643 285681 285684 285719 285722 285753 285776 285799 285803 285830 285852 285966 285979 285983 285984 285996 286030 286036 286050 286078 286079 286087 286088 286098 286106 286133 286162 286185 286224 286227 286241 286263 286329 286353 286382 286394 286402 286453 286469 286475 286522 286527 286536 286563 286590 286592 286595 286627 286650 286651 286708 286710 286711 286722 286726 286737 286738 286762 286807 286812 286819 286889 286890 286922 286925 286956 286969 286979 286982 286988 286990 286997 287004 287023 287024 287041 287113 287131 287148 287155 287163 287213 287238 287259 287262 287269 287274 287279 287374 287385 287412 287464 287482 287523 287527 287529 287533 287573 287611 287635 287679 287702 287707 287712 287713 287721 287766 287806 287816 287854 287883 287888 287937 287939 287957 288063 288101 288123 288126 288165 288170 288171 288262 288267 288271 288276 288322 288333 288336 288343 288443 288476 288489 288493 288495 288501 288503 288504 288507 288511 288537 288554 288556 288577 288596 288639 288656 288657 288663 288672 288688 288693 288709 288748 288792 288797 288896 288949 289042 289053 289067 289195 289246 289258 289294 289299 289312 289313 289314 289335 289361 289363 289364 289423 289428 289429 289432 289435 289463 289469 289479 289523 289547 289561 289587 289616 289630 289677 289702 289706 289754 289779 289869 289884 289919 289932 289946 289993 290013 290020 290040 290080 290131 290140 290149 290159 290188 290193 290196 290215 290224 290271 290273 290291 290370 290385 290419 290438 290660 290739 290795 290799 290852 290882 290883 290996 291016 291018 291120 291139 291140 291163 291303 291369 291420 291459 291483 291491 291493 291499 291500 291613 291656 291658 291697 291700 291711 291713 291721 291752 291761 291763 291771 291772 291813 291815 291982 291985 291994 291999 292043 292055 292057 292136 292184 292209 292210 292212 292304 292306 292314 292352 292456 292458 292460 292475 292521 292522 292726 292750 292784 292818 292819 292822 292823 292873 292877 292881 292937 292964 292997 293029 293069 293094 293134 293153 293177 293207 293247 293352 293354 293359 293455 293500 293626 293652 293658 293660 293675 293703 293706 293734 293742 293752 293818 293829 293834 293939 293944 293954 293969 293970 294000 294005 294010 294037 294041 294082 294149 294165 294177 294241 294245 294295 294338 294340 294360 294405 294413 294431 294450 294504 294514 294557 294568 294622 294739 294794 294804 294820 294825 294829 294830 294844 294856 294857 294940 295084 295086 295108 295111 295113 295116 295212 295217 295224 295226 295279 295287 295379 295380 295415 295424 295428 295429 295445 295451 295452 295522 295525 295526 295538 295560 295598 295603 295633 295649 295721 295732 295805 295834 295934 295936 295955 295996 295998 296194 296215 296302 296325 296330 296332 296393 296471 296474 296500 296555 296656 296657 296661 296702 296708 296773 296800 296806 296814 296871 296960 296963 296977 297000 297002 297033 297036 297076 297104 297112 297116 297120 297130 297142 297151 297188 297195 297229 297230 297247 297253 297260 297263 297268 297269 297293 297311 297326 297444 297445 297501 297533 297601 297619 297635 297638 297641 297644 297655 297666 297682 297684 297688 297791 297795 297836 297838 297914 297958 297960 297964 298026 298042 298067 298085 298130 298163 298223 298224 298290 298346 298350 298456 298476 298507 298549 298567 298592 298595 298613 298619 298658 298680 298715 298747 298748 298815 298824 298826 298831 298832 298834 298838 298857 298859 298959 298978 298981 298992 299046 299186 299191 299219 299316 299324 299353 299413 299474 299477 299479 299555 299556 299558 299568 299602 299703 299746 299772 299790 299792 299821 299916 299932 299957 300107 300129 300132 300173 300199 300207 300208 300211 300232 300260 300335 300338 300362 300367 300418 300544 300661 300770 300773 300776 300811 300818 300895 300903 300914 300918 301024 301037 301042 301248 301249 301251 301271 301284 301285 301288 301292 301293 301298 301300 301302 301303 301304 301315 301318 301323 301334 301336 301337 301341 301343 301344 301345 301348 301349 301350 301352 301360 301362 301363 301366 301368 301370 301371 301373 301374 301375 301379 301382 301383 301385 301389 301399 301406 301408 301410 301418 301421 301427 301429 301434 301459 301465 301467 301468 301470 301471 301476 301479 301486 301487 301489 301491 301492 301494 301496 301498 301499 301503 301504 301508 301512 301513 301519 301521 301527 301532 301544 301545 301547 301548 301551 301555 301556 301558 302210 302211 302212 302213 302217 302224 302225 302227 302228 302232 302236 302237 302240 302289 302583 302584 302585 302586 302587 302609 302696 302837 302950 302961 303029 303381 303442 303733 303755 303760 303762 303809 303999 304041 304095 304096 304097 304105 304112 304113 304114 304115 304119 304225 304227 304228 304229 304297 304299 304303 304304 304305 304331 304339 304340 304341 304344 304346 304348 304349 304352 304353 304358 304359 304361 304365 304368 304369 304370 304371 304376 304378 304381 304386 304395 304402 304403 304408 304409 304411 304415 304417 304418 304420 304423 304424 304425 304426 304430 304431 304432 304435 304437 304438 304441 304443 304447 304448 304450 304455 304456 304459 304461 304462 304463 304464 304465 304466 304471 304475 304483 304485 304487 304489 304490 304495 304496 304497 304501 304503 304504 304505 304509 304511 304512 304513 304515 304516 304517 304518 304520 304521 304522 304525 304526 304532 304533 304534 304535 304536 304539 304540 304541 304544 304547 304550 304551 304552 304553 304554 304556 304563 304564 304576 304586 304594 304599 304604 304612 304614 304615 304619 304626 304632 304650 304652 304653 304654 304657 304658 304661 304670 304671 304672 304685 304712 304713 304716 304717 304718 304721 304797 304812 304844 304847 304848 304866 304868 304869 304870 304871 304876 304883 304893 304894 304915 304924 304925 304926 304928 304930 304938 304940 304941 304945 304982 305007 305047 305050 305052 305055 305057 305058 305065 305066 305072 305185 305192 305236 305244 305284 305354 305439 305537 305578 305631 305632 305648 305666 305808 305973 306010 306011 306016 306022 306054 306094 306128 306163 306214 306232 306241 306242 306264 306306 306417 306438 306511 306555 306570 306571 306609 306643 306690 306767 306780 306867 307101 307158 307257 307481 307509 307522 307599 307601 307653 307768 307801 307823 307873 307890 308155 308205 308313 308403 308438 308439 308450 308528 308529 308550 308563 308613 308622 308648 308714 308737 308779 308783 308791 308865 309041 309048 309049 309086 309093 309232 309234 309244 309259 309276 309311 309312 309315 309319 309361 309393 309402 309447 309527 309551 309559 309657 309661 309765 309810 309837 309847 309871 309989 309990 310081 310094 310202 310218 310244 310255 310291 310295 310298 310370 310373 310387 310540 310589 310590 310612 310628 310663 310666 310670 310672 310674 310677 310678 310686 310688 310691 310699 310701 310703 310718 310721 310722 310723 310724 310726 310727 310729 310744 310750 310751 310756 310757 310760 310762 310772 310784 310792 310813 310819 310820 310837 310839 310841 310856 310860 310969 310983 310990 311028 311040 338133 338197 338204 338222 338254 338269 338271 338278 338310 338344 338354 347993 349798 349890 349980 350023 350056 350206 350279 350348 350411 350422 350452 350505 350998 351000 351056 351084 351091 351222 351225 351241 351297 351302 351437 351669 351745 351975 352392 352474 352536 352752 352913 352940 353043 353148 353453 353490 353580 353681 353697 353700 353712 353714 353762 353796 353837 353838 353940 353942 353946 353980 354049 354100 354333 354468 354518 354532 354565 354566 354589 354594 354599 354604 354641 354648 354668 354671 354672 354764 354872 354899 354922 354946 355022 355077 355303 355411 355564 355587 355614 355634 355642 355800 356208 356342 356352 356357 356364 356365 356417 356588 356648 356649 356716 356770 356799 356919 356955 357059 357067 357080 357084 357085 357126 357131 357164 357168 357197 357221 357294 357664 357701 357715 357794 357797 357925 357929 358061 358136 358280 358297 358314 358321 358334 358430 358490 358504 358508 358509 358512 358516 358517 358518 358520 358522 358532 358588 358591 358603 358604 358606 358608 358684 358685 358689 358698 358700 358712 358779 358847 358865 358905 358906 358919 358951 358975 359009 359010 359018 359047 359052 359086 359088 359091 359115 359163 359168 359174 359177 359178 359179 359180 359181 359195 359196 359299 359821 359916 359949 359952 359953 359955 359957 360032 360055 360063 360074 360079 360081 360082 360084 360087 360090 360094 360097 360098 360105 360108 360114 360118 360119 360121 360129 360140 360146 360148 360167 360172 360174 360183 360192 360210 360214 360281 360289 360298 360301 360305 360333 360349 360363 360364 360369 360374 360375 360376 360377 360380 360384 360385 360386 360389 360390 360394 360395 360401 360413 360422 360431 360433 360434 360435 360436 360447 360457 360470 360475 360477 360478 360479 360480 360481 360482 360483 360506 360514 360515 360516 360518 360521 360523 360526 360528 360529 360531 360541 360542 360544 360546 360554 360556 360558 360564 360574 360577 360579 360580 360581 360583 360593 360594 360595 360596 360597 360641 360647 360652 360663 360665 360675 360685 360686 360688 360692 360693 360696 360698 360699 360700 360701 360703 360704 360706 360708 360709 360714 360715 360716 360719 360720 360722 360728 360741 360770 361217 361221 361275 361745 361876 361993 368662 368663 368665 368780 368839 369188 369772 370067 373704 376160 376167 376173 376176 376179 376196 376202 376203 376218 376236 376255 376259 376261 376266 376274 376291 376307 376337 376357 376414 376438 376445 376447 376539 376540 376541 376560 376561 376562 376563 376565 376566 376567 376568 376569 376600 376601 376606 376607 376613 376637 376659 376697 376721 376736 376740 376774 376816 376845 376871 376904 376920 376944 376978 377003 377107 377219 377223 377265 377336 377344 377401 377440 377441 377456 377484 377488 377503 377592 377632 377674 377768 377813 377863 377892 377907 377908 377918 377946 377974 377978 377988 378018 378024 378035 378042 378070 378077 378079 378091 378120 378130 378144 378220 378248 378253 378271 378273 378293 378345 378366 378416 378436 378442 378466 378468 378481 378482 378505 378525 378526 378618 378625 378626 378666 378668 378675 378713 378714 378766 378783 378841 378842 378861 378948 378953 378958 378973 378974 378985 379032 379044 379067 379119 379125 379135 379142 379146 379149 379157 379182 379188 379199 379200 379202 379235 379237 379250 379325 379403 379422 379460 379461 379473 379581 379596 379632 379635 379636 379669 379678 379794 379852 379865 379881 379896 379918 379939 379962 379965 379972 379998 380010 380040 380076 380096 380105 380191 380236 380238 380393 380414 380419 380425 380447 380453 380502 380512 380527 380610 380736 380772 380897 380907 381010 381029 381053 381054 381061 381064 381079 381112 381150 381157 381161 381185 381194 381196 381208 381239 381241 381249 381256 381280 381312 381385 381400 381474 381496 381517 381520 381600 381655 381672 381676 381793 381799 381801 381837 381855 381871 381874 381876 381881 381884 381924 381999 382058 382131 382132 382213 382277 382334 382378 382413 382485 382562 382648 382777 382778 382789 382866 382870 382876 382899 382916 382923 382979 382995 383017 383152 383156 383172 383285 383305 383332 383347 383349 383354 383366 383368 383379 383381 383404 383405 383406 383423 383429 383550 383563 383566 383608 383627 383687 383716 383720 383737 383779 383871 383876 383910 383956 384001 384074 384157 384181 384228 384230 384232 384273 384298 384309 384314 384325 384394 384438 384496 384500 384521 384553 384570 384641 384644 384667 384674 384938 384970 384979 384992 384994 384996 384997 385009 385010 385016 385019 385050 385174 385178 385184 385229 385278 385378 385473 385561 385569 385584 385616 385623 385630 385679 385702 385704 385723 385728 385783 385829 385835 385838 385870 385965 385978 386000 386044 386056 386135 386182 386184 386231 386244 386264 386288 386295 386304 386319 386393 386394 386397 386451 386484 386492 386546 386550 386552 386693 386699 386712 386736 386750 386752 386755 386759 386767 386787 386819 386871 386886 386894 386914 386917 386963 386977 387005 387008 387068 387096 387133 387140 387142 387172 387198 387239 387261 387288 387342 387349 387360 387367 387382 387387 387450 387457 387477 387489 387539 387605 387607 387610 387670 387747 387841 387847 387849 387859 387867 387920 387956 387958 387988 388013 388014 388016 388088 388108 388131 388280 388330 388335 388338 388352 388355 388357 388397 388412 388419 388423 388477 388609 388612 388638 388640 388645 388703 388707 388710 388753 388813 388832 388858 388870 388872 388881 388884 388914 388957 388961 388970 388976 388997 389010 389028 389031 389037 389081 389144 389158 389169 389170 389187 389276 389426 389453 389500 389573 389587 389597 389599 389614 389624 389675 389676 389683 389692 389725 389847 389883 389897 389900 389975 389979 390024 390035 390045 390091 390093 390231 390240 390313 390315 390316 390360 390368 390407 390428 390436 390437 390439 390450 390468 390472 390474 390643 390644 390645 390661 390776 390812 390843 390856 390881 390926 390965 391001 391004 391006 391039 391054 391088 391140 391142 391168 391188 391211 391264 391271 391411 391412 391432 391444 391448 391491 391507 391518 391661 391701 391706 391708 391717 391745 391747 391752 391758 391770 391792 392144 392206 392424 392428 392431 392938 392939 392959 392960 392999 393003 393022 393024 393031 393033 393035 393069 393074 393075 393080 393081 439894 439895 439963 439973 439978 439989 439995 440015 440016 440108 440111 440243 440280 440459 440460 443072 443074 443077 443079 443081 443083 443084 443085 443086 443384 444624 444982 445115 446330 453260 453269 453273 456386 456388 457082 457789 458160 459106 459768 459821 460380 483427 483514 486709 486797 486980 486993 487353 487468 487782 493391 499036 520442 520448 520455 520458 520460 520468 520469 520471 520472 520813 520986 521879 521880 521890 521895 521900 521904 521906 521907 521909 521910 521911 521912 521915 521917 521922 521923 521927 521931 521933 521934 521937 521938 521939 521941 521942 521943 521944 521946 521947 521948 521949 521951 521952 521963 521964 521970 521975 522326 524474 524500 524507 524588 524606 524614 524621 524639 524665 524684 524711 524735 524764 524770 524776 525004 525005 525078 525079 525082 525094 525103 525129 525133 525138 525162 525165 525168 525185 525187 525189 525199 525202 525213 525222 525227 525247 525261 525262 525283 525503 525678 525682 525702 525707 525724 525726 525729 525730 525773 525779 525803 525804 525844 525854 525856 525922 525953 526003 526012 526034 526058 526064 526086 526098 526099 526113 526118 526119 526142 526161 526182 526204 526217 526232 526280 526301 526320 526323 526348 526352 526371 526389 526390 526397 526399 526440 526445 526470 526471 526501 526502 526503 526510 526550 526563 526564 526574 526589 526599 526602 526613 526638 526680 526702 526711 526726 526741 526763 526783 526789 526815 526830 526858 526892 526908 526927 526933 526950 526951 526969 526983 527030 527038 527067 527090 527099 527129 527145 527189 527197 527238 527248 527258 527298 527306 527307 527313 527315 527316 527325 527352 527353 527370 527379 527400 527420 527436 527438 527471 527484 527485 527539 527540 527578 527644 527694 527700 527743 527747 527824 527825 527835 527855 527878 527883 528002 528023 528048 528060 528130 528166 528173 528175 528210 528249 528261 528272 528277 528289 528321 528332 528367 528384 528408 528447 528483 528492 528521 528525 528541 528561 528611 528707 528716 528723 528779 528877 528878 528919 528926 528985 529044 529291 529351 529374 529493 529494 529519 529558 529572 529577 529579 529593 529736 529739 529746 529770 529782 529787 529792 529793 529813 529817 529818 529819 529834 529871 530023 530070 530085 530093 530101 530102 530105 530108 530114 530117 530120 530122 530189 530320 530321 530326 530342 530372 530500 530531 530657 530660 530677 530678 530684 530745 530776 530789 530803 530806 530846 530848 530857 530860 530905 530915 530965 531081 531094 531104 531166 531177 531201 531237 531264 531377 531400 531450 531483 531492 531544 531553 531597 531600 531602 531627 531633 531640 531660 531691 531712 531713 531762 531766 531797 531802 531827 531863 531882 531883 531884 531928 531946 531976 532009 532010 532028 532119 532185 532217 532244 532258 532261 532264 532362 532406 532481 532506 532508 532517 532519 532543 532578 532580 532598 532605 532640 532647 532661 532665 532689 532699 532707 532717 532769 532771 532776 532874 532903 532905 532908 532923 532926 532931 532982 532988 532993 533005 533053 533054 533107 533115 533125 533127 533153 533181 533363 533389 533407 533452 533453 533546 533547 533563 533581 533639 533646 533652 533655 533686 533711 533738 533864 533865 533870 533947 533954 534003 534017 534096 534120 534183 534191 534246 534296 534301 534343 534457 534461 534463 534490 534492 534549 534628 534647 534660 534706 534733 534735 534769 534775 534800 534827 534864 534952 535181 535184 535185 535186 535187 535192 535221 535222 535235 535305 535308 535311 535323 535325 535358 535443 535449 535450 535454 535459 535575 535610 535626 535630 535644 535646 535648 535686 535706 535734 535786 535806 535808 535827 535836 535893 535894 535903 535906 535909 535923 535928 535987 536004 536036 536049 536054 536060 536078 536095 536096 536147 536217 536274 536277 536381 536462 536468 536495 536498 536499 536528 536540 536550 536551 536581 536596 536609 536663 536717 536746 536753 536758 536760 536786 536789 536847 536875 536892 536902 536903 536974 537071 537073 537077 537092 537145 537147 537150 537162 537176 537216 537224 537225 537270 537439 537469 537488 537495 537497 537500 537536 537541 537551 537555 537565 537575 537668 537670 537674 537689 537725 537727 537772 537795 537806 537817 537893 537894 537895 537899 538010 538013 538023 538030 538033 538036 538039 538044 538045 538047 538072 538114 538254 538326 538334 538343 538376 538390 538392 538398 538431 538502 538515 538555 538592 538596 538647 538648 538650 538702 538724 538727 538729 538730 538759 538777 538820 538838 538857 538863 538916 538926 538927 538971 538992 539004 539069 539076 539083 539105 539161 539162 539178 539193 539204 539235 539286 539291 539305 539308 539331 539341 539349 539373 539397 539426 539455 539473 539514 539515 539565 539568 539578 539605 539634 539675 539677 539733 539856 539859 539896 539912 539941 539949 539957 539967 539969 540026 540033 540034 540036 540037 540038 540053 540056 540062 540063 540081 540090 540110 540124 540137 540176 540183 540209 540212 540213 540218 540225 540303 540305 540333 540413 540418 540496 540500 540511 540523 540526 540540 540554 540569 540598 540604 540606 540623 540636 540638 540640 540694 540708 540714 540718 540732 540770 540776 540806 540810 540811 540817 540832 540952 541008 541053 541056 541102 541117 541141 541143 541146 541154 541155 541156 541179 541199 541232 541240 541255 541315 541320 541351 541746 543134 543447 543448 543450 543452 543453 543456 543459 543462 543463 543464 543469 543470 543471 543473 543476 543492 543495 544332 544336 544348 544350 544354 544357 544366 544413 544419 544420 546165 546173 546849 546851 546852 546853 546856 546857 546858 546859 546860 546861 546862 546863 546864 546865 546868 546869 546872 546873 546874 546875 546876 552501 552567 552711 553262 553602 553616 555881 556077 556080 556081 556082 556083 556084 556085 556086 556088 556089 556090 556092 556094 556095 556096 556097 556098 556099 556100 556101 556102 556103 556106 556107 556108 556109 556110 556111 556113 556149 556150 556246 577758 577782 577783 581779 589329 589330 589978 590229 590230 590658 590660 590678 590679 590683 590686 590688 590690 590701 590705 590708 590711 590712 590717 590743 590747 590793 590794 590884 591029 591037 591039 591047 591048 591050 591053 591054 591055 591057 591058 591059 591060 591063 591069 591070 591074 591085 591086 591091 591096 591097 591099 591108 591114 591120 591126 591129 591130 591134 591139 591154 591157 591158 591159 591162 591168 591172 591175 591177 591179 591180 591185 591188 591189 591192 591200 591205 591206 591209 591210 591213 591216 591217 591224 591226 591237 591238 591246 591249 591251 591259 591260 591261 591262 591267 591268 591275 591276 591277 591280 591282 591288 591292 591295 591301 591307 591309 591311 591312 591313 591318 591320 591321 591322 591325 591326 591329 591331 591333 591337 591344 591350 591352 591355 591356 591359 591362 591364 591366 591373 591374 591383 591395 591400 591407 591410 591412 591413 591416 591418 591419 591422 591423 591427 591430 591435 591437 591440 591441 591447 591448 591450 591451 591452 591455 591457 591462 591463 591464 591465 591466 591467 591468 591470 591478 591480 591484 591487 591492 591497 591502 591515 591517 591518 591520 591521 591524 591532 591534 591547 591554 591568 591569 591572 591573 591582 591584 591585 591588 591590 591594 591601 591613 591616 591617 591623 591624 591625 591626 591628 591635 591636 591638 591640 591642 591646 591648 591649 591652 591656 591657 591677 591679 591683 591684 591685 591689 591690 591692 591698 591704 591714 591716 591717 591720 591731 591734 591742 591747 591748 591755 591764 591765 591768 591769 591771 591772 591784 591786 591789 591811 591813 591814 591817 591818 591819 591820 591821 591825 591828 591830 591839 591841 591842 591848 591849 591851 591854 591865 591866 591867 591871 591875 591876 591878 591881 591895 591902 591903 591904 591905 591910 591911 591912 591917 591918 591920 591923 591925 591927 591930 591932 591937 591939 591940 591953 591959 591961 591962 591971 591989 591990 591995 592000 592001 592002 592004 592005 592008 592016 592018 592032 592034 592037 592046 592050 592056 592060 592066 592071 592073 592076 592085 592086 592088 592089 592096 592099 592100 592106 592107 592111 592117 592118 592120 592140 592141 592142 592147 592151 592152 592153 592155 592157 592158 592162 592163 592168 592170 592188 592190 592193 592194 592195 592198 592199 592209 592217 592218 592221 592222 592235 592238 592240 592243 592245 592247 592249 592251 592261 592264 592268 592278 592282 592287 592289 592290 592458 592527 592528 592532 592533 592547 592557 592558 592572 592574 592617 592680 592681 592779 592789 592926 592927 592930 592931 592957 592958 592999 593103 593204 593231 593250 593271 593310 593367 593372 593404 593405 593408 593419 593507 593510 593515 593527 593554 593563 593761 593762 593776 593797 593802 593815 593879 593887 593906 593928 593929 593946 593947 593953 593985 594036 594040 594139 594248 594372 594374 594375 594440 594452 594487 594488 594492 594510 594563 594753 594760 594795 595028 595042 595048 595096 595112 595126 595164 595265 595267 595301 595331 595334 595368 595375 595389 595397 595416 595471 595487 595490 595531 595724 595726 595753 595765 595982 596004 596005 596007 596008 596034 596041 596075 596087 596107 596110 596111 596112 596231 596264 596280 596326 596333 596337 596385 596388 596400 596407 596457 596481 596537 596581 596594 596652 596747 596770 596826 596986 597058 597060 597097 597104 597128 597153 597217 597220 597221 597231 597318 597351 597418 597420 597421 597449 597484 597573 597575 597584 597607 597617 597639 597641 597668 597780 597794 597826 597832 597861 597875 597884 597887 597889 597947 597963 598272 598317 598387 598401 598436 598447 598452 598621 598695 598913 598978 598981 599098 599129 599295 599397 599480 599503 599532 599597 599608 599609 599624 599660 599679 599685 599713 599934 600062 600068 600099 600110 600112 600128 600129 600131 600134 600146 600164 600172 600174 600175 600190 600197 600200 600203 600221 600265 600266 600283 600284 600292 600293 600295 600296 600299 600301 600308 600310 600311 600312 600328 600329 600330 600334 600342 600349 600350 600356 600370 600390 600412 600413 600416 600423 600437 600438 600487 600489 600526 600611 600614 600715 600758 600773 600785 600803 600818 600822 600841 600891 600895 600901 600939 600940 601014 601022 601036 601047 601193 601203 601211 601273 601339 601370 601427 601508 601517 601582 601590 601644 601645 601661 601702 601835 601840 601882 601905 601906 601921 601969 601973 602013 602074 602076 602078 602084 602088 602100 602109 602115 602158 602200 602226 602317 602370 602385 602392 602460 602472 602495 602518 602745 602838 602841 602865 602898 602922 602925 602930 602971 602974 603192 603195 603200 603219 603235 603257 603259 603262 603282 603287 603464 603516 603645 603672 603695 603736 603737 603740 603778 603814 603828 603864 603865 603866 603925 603942 603948 603959 603969 604005 604010 604073 604093 604135 604154 604200 604218 604221 604265 604300 604318 604331 604354 604385 604396 604461 604474 604482 604483 604493 604724 604744 604759 604785 604799 604801 604820 604837 604873 604876 604903 605001 605002 605015 605025 605057 605060 605063 605144 605155 605231 605273 605309 605315 605321 605325 605331 605338 605348 605357 605374 605412 605418 605477 605502 605534 605539 605545 605557 605595 605596 605649 605662 605671 605678 605698 605700 605739 605846 605904 605973 606045 606121 606128 606181 606190 606229 606246 606280 606385 606404 606410 606413 606445 606451 606492 606493 606517 606634 606664 606721 606746 606747 606752 606757 606758 606792 606795 606809 606899 606911 606960 606964 606968 606973 606985 607131 607175 607185 607201 607204 607251 607278 607536 607591 607643 607694 607745 607779 607799 608028 608524 608530 608547 608640 608663 608671 608717 608785 608916 608983 609064 609127 609261 609436 609621 609656 609668 609871 609937 609940 609952 609979 609980 609983 610174 610209 610217 610252 610253 610364 610403 610418 610498 610536 610687 610794 610835 610846 610988 611112 611367 611433 611447 611562 611631 611633 611634 611732 611775 611777 611792 611935 611953 612045 612052 612055 612098 612102 612104 612114 612208 612223 612252 612395 612396 612444 612478 612489 612502 612580 612601 612619 612647 612648 612669 612726 612751 612769 612777 612783 612790 612852 612853 613070 613130 613161 613162 613165 613290 613311 613312 613329 613375 613468 613529 613618 613621 613652 613703 613707 613754 613756 613775 613840 613908 613931 613973 613989 614007 614084 614087 614088 614284 614392 614478 614479 614489 614503 614696 614745 614822 614907 614990 615012 615081 615218 615235 615276 615346 615450 615544 615569 615693 615721 615737 615739 615769 615799 615831 615889 615948 615991 616029 616100 616138 616187 616188 616192 616234 616238 616253 616267 616274 616442 616445 616455 616486 616580 616662 616715 616779 616787 616808 617083 617101 617192 617268 617527 617540 617562 617563 617623 617629 617684 617758 617763 617765 617775 617825 617867 617900 617913 617932 617937 617954 617965 617997 618111 618116 618226 618348 618351 618353 618378 618388 618416 618427 618449 618466 618615 618634 618672 618703 618800 618801 618834 618839 618849 618948 618984 618994 619047 619077 619195 619199 619220 619240 619266 619323 619347 619387 619416 619478 619712 619731 619787 619792 619905 619906 619909 619921 619954 619959 619976 620018 620063 620067 620140 620143 620208 620255 620347 620356 620548 620549 620562 620572 620628 620684 620688 620726 620942 621008 621015 621157 621168 621208 621256 621392 621447 621452 621556 621571 621617 621631 621652 621689 621769 621806 621808 621927 622037 622075 622076 622221 622288 622363 622442 622536 622678 622702 622766 622879 622880 622888 622965 623023 623043 623167 623221 623266 623307 623466 623529 623672 623705 623720 623727 623754 623795 623821 623834 623887 623937 624024 624025 624055 624077 624118 624143 624197 624210 624221 624237 624285 624317 624373 624422 624465 624470 624540 624601 624664 624687 624698 624743 624775 624957 625009 625010 625039 625040 625048 625049 625074 625094 625159 625301 625404 625559 625647 625738 625740 625782 625817 625830 625878 625921 625985 625994 626019 626033 626045 626053 626105 626153 626179 626189 626228 626238 626327 626345 626477 626478 626557 626610 626619 626635 626641 626649 626653 626669 626675 626699 626743 626803 626805 626910 626970 627077 627147 627169 627227 627298 627318 627413 627420 627530 627606 627808 627824 627895 627938 627951 627965 627977 628088 628123 628203 628316 628385 628462 628612 628686 628688 628727 628766 628805 628822 628900 628901 628902 628909 628922 628932 628948 628949 628976 629053 629098 629274 629342 629359 629561 629582 629584 629589 629615 629617 629682 629816 629817 629827 629857 629924 630090 630134 630204 630284 630323 630335 630356 630379 630397 630430 630506 630597 630704 630724 630784 630799 630804 630807 630811 630907 630978 630988 631031 631057 631123 631169 631231 631258 631262 631314 631424 631429 631431 631445 631465 631506 631596 631681 631698 631789 631819 631840 631929 631931 631945 631993 632138 632145 632179 632181 632192 632197 632225 632255 632365 632573 632574 632600 632621 632804 632837 632910 632949 632981 632995 633055 633056 633071 633084 633185 633213 633227 633248 633261 633264 633275 633354 633380 633443 633447 633482 633507 633554 633728 633798 633802 633832 633854 633921 633963 634014 634169 634337 634360 634495 634606 634611 634614 634618 634712 634715 634807 634911 634981 635008 635019 635089 635106 635183 635282 635340 635370 635402 635409 635435 635444 635449 635619 635657 635679 635696 635724 635750 635764 635853 635898 635928 635950 636015 636045 636067 636072 636085 636129 636147 636405 636420 636536 636566 636604 636666 636668 636819 636858 636980 636987 637015 637044 637045 637063 637069 637070 637100 637269 637285 637341 637448 637487 637573 637591 637603 637609 637611 637613 637871 637874 637877 637964 638046 638048 638102 638152 638154 638179 638198 638257 638292 638333 638571 638600 638611 638629 638670 638683 638702 638793 638825 638904 638905 638906 638953 638976 639131 639197 639214 639326 639386 639450 639472 639502 639576 639597 639612 639754 639755 639756 639772 639791 639840 639850 640028 640075 640220 640227 640386 640430 640539 640566 640583 640625 640740 640890 641011 641137 641176 641194 641275 641412 641420 641552 641563 641614 641657 641658 641716 641960 641965 641983 641999 642014 642046 642092 642094 642197 642206 642215 642228 642320 642321 642330 642334 642376 642399 642411 642416 642451 642476 642489 642497 642514 642591 642678 642737 642767 642783 642799 642873 642915 642917 642928 643017 643165 643225 643232 643317 643333 643386 643425 643472 643518 643538 643540 643552 643672 643720 643805 643808 643822 643985 644033 644042 644100 644154 644175 644190 644257 644302 644340 644461 644500 644502 644503 644508 644515 644519 644652 644667 644686 644689 644695 644698 644775 644790 644806 644810 644896 645095 645148 645354 645476 645519 645560 645674 645690 645704 645785 645849 645870 645882 646028 646101 646106 646124 646127 646151 646155 646223 646252 646253 646259 646264 646370 646422 646427 646580 646611 646637 646664 646665 646681 646815 646856 646908 646957 646984 647047 647134 647254 647312 647490 647492 647526 647612 647681 647702 647800 647904 647918 647958 648024 648168 648171 648200 648250 648314 648346 648350 648375 648378 648440 648444 648619 648644 648664 648707 648708 648812 648880 649036 649069 649176 649317 649344 649350 649375 649390 649412 649463 649513 649517 649523 649527 649532 649534 649559 649576 649588 649696 649742 649823 649938 649940 649962 649992 650011 650064 650160 650163 650165 650170 650172 650174 650175 650224 650226 650227 650231 650232 650235 650236 650237 650238 650242 650245 650248 650263 650265 650285 650287 650313 650355 650374 650376 650411 650422 650451 650472 650504 650519 650607 650636 650760 650769 650866 650879 650890 650960 650989 650999 651142 651148 651207 651270 651377 651466 651471 651474 651679 651930 651962 652005 652011 652027 652057 652210 652245 652291 652384 652386 652451 652457 652462 652499 652515 652581 652595 652619 652740 652803 652876 652880 652882 653049 653152 653164 653229 653230 653241 653267 653283 653309 653356 653372 653380 653454 653522 653676 653687 653690 653708 653711 653718 653725 653870 653923 653931 653977 653980 653995 653998 654021 654036 654038 654076 654158 654180 654185 654290 654298 654341 654357 654391 654451 654492 654559 654593 654620 654625 654632 654691 654814 654920 654985 655010 655013 655083 655145 655174 655359 655377 655410 655472 655536 655546 655644 655685 655694 655773 655859 655988 656022 656064 656097 656113 656148 656173 656177 656193 656194 656326 656369 656378 656383 656439 656510 656570 656598 656600 656618 656691 656697 656711 656730 656784 656853 656883 656891 656894 656901 656946 657119 657160 657168 657178 657233 657257 657284 657300 657342 657414 657438 657439 657514 657515 657561 657564 657576 657581 657605 657630 657646 657772 657799 657912 657921 658048 658102 658114 658145 658182 658192 658217 658237 658240 658241 658242 658319 658320 658417 658485 658487 658494 658563 658631 658727 658800 658994 659015 659069 659083 659243 659296 659300 659344 659363 659379 659597 659700 659702 659787 659801 659839 659940 659981 660046 660111 660112 660122 660124 660143 660146 660241 660311 660694 660700 660734 660742 660841 660850 660998 661023 661028 661035 661106 661176 661187 661188 661218 661220 661229 661324 661460 661539 661557 661608 661611 661643 661673 661739 661837 661871 661974 662008 662025 662049 662158 662190 662326 662334 662351 662356 662382 662404 662427 662431 662435 662571 662629 662692 662694 662758 662811 662820 662833 662860 662868 662897 662900 662903 662926 662954 662965 663039 663058 663059 663099 663164 663182 663196 663199 663202 663241 663242 663262 663289 663308 663309 663336 663337 663342 663343 663351 663361 663362 663363 663365 663367 663372 663373 663378 663383 663384 663393 663398 663405 663431 663448 663483 663536 663588 663645 663655 663733 663775 663942 663994 663995 664006 664034 664038 664041 664048 664097 664106 664116 664135 664137 664151 664186 664200 664206 664207 664217 664248 664268 664272 664301 664344 664357 664360 664361 664429 664485 664502 664519 664587 664589 664590 664670 664726 664745 664750 664758 664783 664790 664874 664876 664922 664923 664929 664956 664962 664979 664991 665056 665061 665064 665076 665087 665190 665213 665234 665276 665278 665299 665402 665499 665506 665507 665539 665540 665543 665579 665618 665705 665716 665718 665721 665722 665777 665833 665837 665848 665866 665879 666028 666068 666071 666075 666079 666102 666155 666160 666175 666176 666177 666203 666267 666497 666544 666550 666551 666577 666584 666602 666640 666644 666662 666664 666682 666715 666738 666743 666757 666764 666794 666807 666809 667003 667023 667027 667045 667047 667091 667194 667204 667301 667311 667351 667461 667462 667486 667514 667532 667535 667566 667570 667571 667595 667603 667618 667686 667687 667701 667800 667846 667850 667867 667921 667944 667946 667949 667979 667993 668004 668013 668026 668089 668180 668274 668283 668322 668344 668385 668440 668557 668558 668753 668775 668779 668838 668854 668855 668861 668892 668961 668985 669047 669084 669102 669111 669113 669120 669123 669137 669209 669222 669247 669253 669254 669255 669314 669386 669388 669399 669475 669496 669501 669581 669586 669612 669615 669616 669627 669640 669683 669749 669805 669983 670073 670104 670134 670149 670194 670197 670282 670284 670356 670357 670377 670478 670483 670517 670521 670550 670600 670641 670656 670713 670763 670871 670881 670925 670953 670957 671030 671072 671076 671077 671132 671137 671223 671251 671254 671323 671372 671382 671387 671429 671444 671540 671542 671544 671557 671640 671646 671649 671679 671776 671778 671794 671819 671834 671955 671970 672010 672092 672203 672212 672234 672236 672239 672259 672287 672317 672361 672413 672430 672453 672468 672490 672537 672540 672541 672587 672594 672596 672609 672612 672663 672668 672674 672681 672686 672708 672711 672731 672828 672830 672855 672874 672887 672898 672947 673074 673079 673081 673084 673093 673112 673214 673297 673298 673316 673350 673355 673368 673446 673463 673470 673472 673527 673561 673606 673636 673716 673746 673752 673815 673827 673848 673857 673884 673891 673892 673903 673925 673940 673966 673967 673968 673970 673972 674049 674103 674142 674169 674323 674334 674340 674342 674349 674350 674378 674403 674415 674427 674428 674431 674432 674435 674455 674472 674555 674557 674648 674653 674666 674810 674811 674932 674946 674977 674986 675002 675007 675010 675017 675037 675069 675074 675080 675100 675106 675114 675175 675209 675272 675318 675374 675409 675415 675478 675493 675498 675503 675524 675750 675759 675766 675787 675788 675789 675796 675838 675840 675907 675955 675974 675977 675978 675992 676002 676065 676073 676182 676193 676196 676244 676278 676313 676331 676357 676371 676465 676482 676524 676633 676660 676717 676720 676822 676824 676831 676839 676848 677520 677666 677667 677668 677671 677740 677791 677800 677806 677807 677828 677829 677849 677880 677882 677942 678046 678100 678103 678113 678115 678116 678117 678120 678122 678123 678124 678125 678132 678133 678136 678139 678140 678145 678149 678150 678151 678152 678153 678155 678158 678159 678160 678162 678163 678164 678166 678167 678168 678169 678171 678172 678174 678176 678178 678179 678180 678181 678203 678204 678205 678207 678242 678376 678485 678493 678511 682772 682773 682793 682803 682810 682818 682841 682851 682864 682875 682880 682881 682883 682884 682885 682886 682889 683077 683078 683092 684167 684168 684169 684188 684191 684226 684229 684237 684241 684282 684286 687674 687700 687716 687717 687740 694728 694729 694730 694745 694746 694751 695129 695130 696628 696679 696725 696946 697271 698969 699034 699042 699051 699055 699057 699058 699061 699064 699065 699067 699070 699071 699073 699074 699075 699078 699080 699082 699094 699107 699113 699115 699117 699118 699119 699128 699129 699141 699142 699143 699146 699149 699153 699164 699166 699167 699170 699171 699177 699178 699181 699182 699183 699185 699186 699187 699188 699189 699191 699192 699193 699194 699195 699197 699199 699200 699201 699202 699203 699207 699208 699209 699211 699213 699217 699219 699221 699224 699225 699227 699229 699231 699234 699235 699239 699241 699242 699244 699245 699246 699247 699248 699251 699253 699254 699258 699259 699261 699267 699271 699272 699273 699275 699277 699279 699280 699282 699287 699301 699302 699304 699305 699306 699307 699308 699309 699311 699313 699316 699317 699318 699319 699320 699323 699324 699335 699336 699352 699367 699370 699371 699372 699376 699379 699383 699396 699400 699403 699404 699405 699406 699407 699414 699415 699416 699418 699420 699423 699425 699429 699435 699439 699440 699448 699450 699455 699458 699459 699463 699481 699483 699484 699487 699490 699491 699494 699495 699505 699506 699511 699512 699524 699526 699528 699531 699535 699536 699538 699540 699541 699547 699550 699554 699556 699559 699563 699564 699576 699577 699578 699579 699581 699585 699587 699588 699590 699594 699595 699596 699597 699598 699599 699601 699602 699603 699604 699605 699606 699609 699611 699612 699613 699614 699615 699616 699617 699618 699619 699621 699622 699623 699625 699627 699628 699629 699630 699631 699632 699633 699644 699648 699664 699665 699666 699667 699669 699670 699676 699678 699680 699681 699683 699686 699689 699690 699693 699696 699698 699699 699700 699701 699702 699703 699704 699705 699706 699707 699708 699709 699710 699711 699712 699716 699769 699770 699817 699873 699874 699875 699876 699877 699879 699880 699881 699883 699922 699923 699924 699927 699929 699930 699931 699934 699936 699937 699938 699939 699942 699951 699954 699958 699960 699962 699963 699965 699966 699967 699989 699992 699995 699996 699998 699999 700001 700003 700004 700005 700006 700007 700008 700011 700012 700014 700015 700016 700017 700018 700019 700020 700021 700022 700023 700044 700047 700056 700057 700082 700086 700087 700091 700144 700150 700159 700164 700187 700188 700190 700191 700303 700346 700349 700358 700413 700442 700444 700447 700449 700450 700452 700453 700455 700456 700457 700458 700459 700460 700461 700465 700466 700467 700468 700472 700473 700474 700475 700476 700477 700478 700480 700481 700482 700483 700485 700488 700489 700491 700492 700495 700496 700499 700523 700525 700528 700529 700531 700532 700533 700534 700535 700536 700538 700539 700540 700541 700542 700544 700545 700546 700547 700548 700549 700550 700551 700554 700555 700556 700558 700559 700562 700563 700566 700567 700578 700579 700580 700582 700583 700596 700599 700602 700603 700606 700607 700620 700621 700649 700650 700652 700655 700656 700659 700661 700662 700664 700666 700675 700677 700678 700680 700681 700687 700691 700693 700694 700701 700702 700704 700705 700708 700713 700714 700715 700717 700718 700719 700724 700725 700727 700734 700738 700745 700756 700759 700760 700762 700763 700769 700770 700773 700774 700776 700777 700779 700781 700783 700786 700787 700789 700790 700792 700795 700797 700798 700799 700805 700807 700814 700817 700825 700831 700832 700833 700842 700845 700846 700848 700861 700862 700865 700866 700868 700869 700872 700876 700881 700898 700899 700903 700908 700910 700915 700918 700921 700932 700933 700935 700936 700939 700940 700941 700942 700943 700951 700954 700955 700956 700961 700975 700976 700978 700979 700980 700987 700989 700993 701003 701010 701011 701013 701016 701017 701019 701020 701021 701022 701036 701039 701042 701043 701044 701046 701047 701053 701055 701062 701063 701071 701072 701076 701088 701091 701094 701096 701097 701102 701104 701105 701106 701108 701121 701122 701123 701124 701128 701129 701138 701139 701140 701142 701174 701175 701176 701180 701182 701183 701185 701187 701188 701192 701195 701196 701197 701202 701203 701205 701208 701214 701215 701216 701218 701227 701228 701229 701230 701231 701234 701235 701236 701245 701246 701247 701248 701250 701251 701252 701253 701254 701258 701265 701272 701275 701276 701303 701305 701312 701315 701331 701332 701337 701339 701345 701346 701347 701348 701351 701353 701354 701357 701358 701367 701368 701369 701370 701372 701375 701382 701386 701388 701389 701391 701398 701400 701401 701402 701411 701424 701426 701445 701450 701451 701452 701453 701454 701455 701458 701459 701461 701462 701466 701468 701472 701477 701479 701481 701491 701493 701495 701498 701500 701504 701505 701509 701513 701852 701858 701866 701898 701899 701903 701918 701919 701920 701922 701923 701924 701925 701926 701927 701935 701938 701941 701942 701945 701947 701949 701972 701974 701977 701978 701979 701980 701981 701982 701985 701986 701988 701996 701998 702004 702006 702007 702014 702015 702017 702019 702023 702024 702029 702033 702035 702036 702038 702039 702040 702045 702053 702057 702058 702061 702062 702064 702072 702073 702079 702081 702179 702180 702183 702190 702200 702203 702206 702207 702208 702210 702211 702212 702213 702215 702227 702228 702230 702232 702233 702235 702264 717338 717339 717352 717360 717363 717367 717368 717369 717373 717374 717382 717386 717400 717411 717424 717437 717440 717442 717444 717446 717452 717454 717459 717481 717482 717511 717531 717537 717539 717543 717550 717554 717576 717580 717616 717626 717657 717661 717668 717670 717677 717685 717686 717689 717702 717703 717715 717729 717737 717738 717739 717752 717754 717756 717758 717761 717762 717768 717769 717779 717781 717786 717787 717788 717791 717795 717804 717811 717812 717816 717821 717823 717824 717825 717826 717827 717828 717829 717830 717831 717833 717852 717854 717873 717874 717876 717880 717883 717892 717893 717900 717904 717912 717925 717951 717959 717972 717973 717984 717985 717994 718003 718005 718010 718030 718043 718046 718050 718066 718084 718096 718097 718101 718121 718126 718128 718133 718136 718142 718147 718155 718192 718201 718203 718214 718215 718216 718218 718219 718231 718234 718244 718245 718246 718249 718257 718260 718263 718275 718276 718284 718327 718343 718359 718362 718387 718402 718410 718414 718415 718416 718422 718463 718474 718481 718491 718495 718497 718500 718510 718531 718558 718563 718564 718565 718566 718569 718570 718572 718580 718581 718583 718606 718607 718635 718641 718644 718662 718667 718674 718687 718699 718711 718712 718723 718741 718747 718756 718778 718782 718789 718793 718810 718820 718827 718861 718864 718870 718903 718909 718910 718924 718926 718936 718938 718946 718965 719034 719042 719046 719048 719053 719058 719059 719064 719066 719083 719107 719118 719126 719129 719149 719168 719177 719187 719198 719199 719214 719232 719235 719248 719267 719274 719278 719332 719335 719338 719359 719360 719365 719378 719386 719394 719434 719453 719454 719457 719473 719484 719486 719499 719506 719508 719509 719510 719519 719542 719551 719554 719560 719563 719567 719570 719575 719586 719594 719602 719605 719614 719619 719634 719635 719639 719676 719688 719712 719714 719723 719741 719746 719751 719767 719779 719782 719792 719795 719805 719809 719818 719841 719853 719857 719858 719868 719871 719877 719881 719894 719941 719946 719949 719961 719963 719974 720013 720023 720029 720086 720105 720107 720131 720132 720140 720170 720180 720181 720184 720192 720193 720284 720290 720294 720298 720305 720313 720318 720328 720343 720360 720391 720403 720406 720417 720426 720430 720464 720466 720482 720489 720491 720492 720496 720509 720512 720514 720523 720542 720544 720560 720561 720623 720629 720654 720676 720683 720789 720796 720803 720809 720810 720819 720827 720848 720860 720909 720917 720930 720957 720958 720963 720990 720996 720997 721005 721010 721014 721022 721025 721041 721044 721062 721069 721082 721087 721123 721124 721131 721140 721145 721150 721161 721165 721171 721172 721185 721205 721215 721226 721249 721276 721277 721294 721296 721298 721306 721336 721345 721358 721370 721402 721417 721435 721436 721438 721441 721442 721455 721467 721474 721476 721479 721482 721498 721501 721526 721530 721535 721543 721561 721591 721601 721605 721609 721615 721643 721688 721704 721719 721738 721743 721754 721755 721761 721781 721820 721833 721837 721844 721847 721851 721859 721886 721918 721957 721972 721973 721978 721993 721994 721995 721997 722001 722010 722061 722084 722099 722121 722138 722143 722146 722157 722226 722233 722236 722264 722275 722287 722315 722328 722355 722364 722381 722382 722388 722389 722396 722397 722403 722406 722410 722418 722425 722491 722495 722498 722517 722520 722549 722553 722554 722555 722563 722570 722576 722619 722622 722625 722627 722654 722666 722670 722694 722699 722701 722705 722707 722722 722728 722747 722753 722765 722767 722814 722815 722828 722835 722840 722842 722856 722858 722859 722861 722864 722880 722883 722905 722908 722910 722911 722934 722957 722969 722978 722990 722999 723001 723005 723012 723029 723048 723090 723130 723144 723145 723176 723177 723179 723181 723198 723209 723210 723212 723246 723259 723267 723291 723303 723325 723371 723379 723385 723386 723387 723407 723417 723443 723458 723463 723509 723513 723514 723535 723539 723552 723567 723569 723571 723573 723575 723594 723595 723596 723607 723613 723614 723631 723632 723633 723634 723644 723645 723647 723668 723679 723685 723692 723743 723744 723751 723753 723757 723760 723761 723773 723778 723780 723783 723786 723789 723796 723827 723884 723893 723895 723924 723931 723938 723947 723950 724002 724040 724054 724064 724079 724132 724138 724139 724147 724156 724157 724231 724253 724262 724289 724295 724297 724298 724304 724345 724366 724367 724385 724393 724402 724419 724441 724447 724476 724488 724498 724515 724517 724529 724532 724534 724549 724550 724555 724556 724560 724561 724563 724565 724573 724575 724578 724579 724585 724587 724588 724608 724614 724622 724624 724633 724635 724636 724641 724649 724655 724657 724666 724672 724680 724683 724692 724693 724696 724699 724700 724707 724710 724711 724715 724724 724725 724804 725101 725330 725584 725671 727050 727304 727450 727737 727860 728726 728727 728728 728740 728745 728746 728747 728749 728755 728757 728758 728759 728760 728761 728762 728767 728768 728770 728772 728773 728775 728776 728777 728778 728779 728780 728786 728787 728789 728792 728794 728796 728798 728800 728801 728802 728803 728806 728808 728809 728838 728848 728850 728897 728898 728911 728916 728918 728922 728923 728924 728926 728953 728956 728957 728963 728964 728965 728967 728971 728977 728981 729000 729001 729005 729011 729013 729014 729018 729022 729031 729036 729040 729041 729042 729055 729056 729058 729059 729062 729063 729066 729078 729079 729083 729084 729087 729092 729093 729094 729097 729102 729103 729105 729107 729114 729116 729120 729129 729132 729133 729134 729135 729139 729143 729144 729150 729152 729157 729158 729159 729160 729161 729163 729165 729166 729168 729169 729171 729173 729175 729177 729178 729181 729182 729183 729187 729215 729218 729219 729224 729229 729231 729236 729237 729239 729762 730646 730664 730671 730679 730712 730719 730726 730742 730749 730768 730771 730772 730790 730793 730799 730823 730824 730870 730875 730878 730880 730881 730885 730892 730893 730900 730920 730931 730951 730958 730961 730970 730977 730981 730987 730991 730995 731002 731012 731026 731030 731033 731046 731052 731061 731066 731072 731084 731118 731141 731159 731206 731207 731209 731222 731224 731228 731261 731268 731271 731320 731328 731341 731349 731360 731378 731384 731385 731421 731433 731445 731450 731454 731455 731489 731514 731522 731600 731779 731794 731795 731845 731994 732041 732165 732169 732225 732250 732279 732282 732305 732355 732370 732515 732569 732574 732611 732621 732644 732649 732784 732850 732978 733118 733228 733348 733350 733352 733355 733356 733360 733362 733365 733368 733373 733377 733380 733381 733382 733383 733384 733387 733390 733391 733393 733394 733397 733398 733402 733405 733406 733409 733411 733413 733414 733415 733416 733418 733428 733429 733431 733434 733435 733439 733440 733441 733443 733444 733445 733450 733452 733454 733457 733466 733467 733468 733469 733470 733472 733475 733478 733482 733486 733501 733503 733521 733522 733524 733530 733534 733537 733549 733550 733558 733559 733560 733564 733566 733567 733580 733588 733594 733596 733600 733602 733603 733607 733619 733621 733622 733624 733626 733631 733636 733641 733643 733645 733652 733656 733657 733658 733666 733667 733668 733675 733683 733684 733685 733687 733688 733689 733691 733696 733698 733720 733722 733729 733735 733738 733740 733741 733743 733744 733746 733748 733751 733752 733757 733758 733762 733768 733770 733795 733796 733797 733798 733800 733803 733811 733812 733815 733816 733819 733833 733834 733835 733842 733844 733845 733848 733849 733853 733854 733855 733859 733860 733869 733874 733876 733884 733885 733893 733896 733898 733899 733901 733903 733912 733913 733916 733917 733923 733930 740012 740025 740027 740030 740031 740032 740037 740057 740058 740107 740110 740111 740122 740123 740127 740128 740130 740131 740133 740136 740137 740138 740139 740143 740144 740147 740151 740153 740157 740161 740165 740195 740196 740235 740241 740256 740264 742249 742250 742252 742253 742256 742541 742828 745123 745378 746480 746574 748191 748603 749139 750848 751253 751286 751598 751599 751626 751968 751976 752119 752229 752233 752254 752270 752276 752277 752279 752280 752310 752360 752375 752376 752378 752409 752411 752436 752495 752649 752673 752700 752715 752812 752830 752896 752973 752978 752980 753070 753071 753104 753183 753219 753287 753318 753330 753371 753425 753448 753474 753489 753579 753678 753720 753790 753797 753857 753886 753951 753957 753960 754011 754109 754124 754129 754175 754187 754188 754251 754280 754293 754295 754296 754307 754335 754369 754490 754517 754549 754570 754576 754578 754591 754647 754655 754659 754680 754775 754803 754911 754948 754953 754955 754991 755121 755175 755285 755308 755312 755334 755458 755463 755501 755513 755562 755570 755617 755650 755662 755672 755695 755729 755731 755737 755892 755954 755989 756015 756016 756044 756081 756085 756158 756222 756237 756261 756262 756408 756411 756469 756491 756517 756542 756544 756597 756613 756681 756731 756772 756775 756822 756832 756836 756845 756934 756962 756994 757055 757156 757172 757193 757365 757389 757406 757541 757575 757579 757617 757641 757679 757681 757709 757711 757759 757797 757801 757804 757806 757809 757817 757826 757836 757884 757977 758007 758071 758072 758159 758160 758193 758264 758309 758310 758314 758409 758442 758517 758539 758540 758624 758625 758673 758715 758786 758797 758799 758811 758813 758815 758816 758818 758840 758848 758852 758858 758866 758964 758967 758974 759032 759034 759035 759108 759114 759148 759180 759194 759221 759338 759423 759583 759588 759590 759630 759655 759671 759674 759689 759698 759707 759718 759739 759802 759861 759863 759918 759921 759922 759923 759924 759933 759967 760060 760064 760065 760067 760071 760073 760080 760161 760184 760336 760385 760481 760553 760581 760585 760606 760635 760722 760819 760824 760826 760870 760879 760881 760931 760935 761054 761057 761071 761073 761079 761267 761296 761298 761356 761366 761367 761379 761393 761414 761418 761439 761441 761491 761499 761509 761558 761560 761590 761616 761666 761794 761822 761892 761898 761924 761968 762114 762130 762229 762289 762304 762437 762452 762477 762530 762531 762592 762598 762609 762615 762662 762717 762719 762728 762739 762743 762754 762808 762810 762815 762824 762909 762940 762942 762991 763055 763089 763109 763112 763118 763138 763147 763149 763175 763318 763377 763387 763390 763407 763445 763450 763460 763499 763529 763530 763533 763538 763669 763675 763758 763767 763782 763800 763832 763841 763871 763939 764071 764304 764305 764313 764390 764393 764398 764422 764451 764455 764476 764477 764478 764538 764565 764610 764625 764627 764639 764661 764683 764687 764731 764782 764801 764826 764828 764929 764974 764985 764995 765027 765139 765240 765273 765292 765294 765296 765298 765307 765314 765319 765325 765373 765412 765512 765538 765555 765564 765565 765608 765689 765690 765761 765852 765864 765885 765950 765956 766005 766022 766035 766038 766108 766140 766198 766201 766229 766257 766295 766409 766410 766426 766463 766513 766550 766598 766607 766696 766791 766823 766942 766946 766958 766977 766995 767000 767056 767070 767093 767094 767150 767153 767233 767296 767300 767312 767382 767410 767417 767439 767550 767555 767560 767677 767730 767733 767739 767792 767805 767826 767839 767868 767921 767924 767938 767967 767992 768022 768090 768110 768119 768182 768198 768236 768239 768298 768356 768362 768401 768442 768445 768461 768473 768501 768502 768503 768538 768558 768597 768652 768669 768696 768793 768911 768935 769001 769061 769071 769132 769174 769205 769235 769260 769271 769290 769339 769341 769382 769493 769526 769578 769581 769585 769587 769594 769605 769628 769767 769777 769815 770042 770137 770145 770146 770150 770152 770199 770206 770237 770239 770243 770246 770250 770254 770255 770259 770303 770307 770309 770325 770333 770334 770337 770339 770343 770350 770351 770354 770355 770372 770382 770386 770439 770447 770456 770458 770460 770461 770468 770476 770500 770517 770518 770524 770544 770546 770558 770559 770560 770564 770565 770574 770578 770579 770592 770595 770612 770619 770622 770623 770625 770630 770633 770664 770666 770668 770674 770677 770688 770694 770698 770703 770715 770718 770732 770737 770739 770740 770750 770751 770858 770863 770880 770893 770895 770897 770901 770909 770917 770920 770927 770932 770934 770935 770936 770947 770957 770959 770962 770981 770987 770988 771002 771004 771012 771014 771015 771017 771019 771021 771023 771029 771030 771032 771037 771041 771046 771049 771053 771055 771061 771064 771070 771080 771098 771105 771108 771117 771123 771129 771136 771138 771144 771147 771163 771167 771168 771172 771182 771194 771200 771210 771211 771215 771216 771221 771246 771267 771293 771294 771297 771302 771305 771309 771310 771311 771312 771315 771316 771334 771343 771352 771363 771365 771369 771387 771388 771397 771399 771401 771402 771404 771409 771412 771414 771417 771432 771438 771447 771450 771456 771461 771469 771477 771482 771488 771502 771503 771509 771510 771519 771520 771535 771537 771539 771541 771544 771545 771550 771551 771552 771555 771571 771584 771587 771590 771597 771601 771607 771627 771629 771635 771637 771648 771654 771671 771683 771691 771692 771695 771711 771714 771720 771728 771732 771733 771735 771740 771744 771745 771748 771752 771765 771766 771771 771773 771774 771780 771788 771795 771804 771809 771810 771813 771821 771822 771825 771826 771827 771830 771840 771847 771848 771849 771863 771870 771875 771876 771881 771885 771892 771895 771896 771903 771907 771908 771909 771913 771918 771919 771922 771923 771925 771927 771934 771936 771937 771942 771948 771949 771950 771956 771967 771971 771980 771983 771987 771988 771993 771994 771998 772000 772005 772014 772024 772036 772037 772039 772046 772051 772054 772056 772059 772065 772069 772072 772078 772080 772084 772089 772090 772107 772110 772125 772127 772138 772139 772143 772155 772162 772179 772181 772195 772200 772202 772203 772208 772213 772222 772228 772230 772233 772239 772241 772244 772249 772251 772258 772259 772264 772273 772277 772282 772283 772294 772312 772313 772316 772319 772321 772326 772334 772342 772344 772350 772353 772355 772357 772364 772365 772370 772373 772375 772376 772379 772389 772394 772397 772398 772402 772407 772411 772413 772416 772420 772425 772429 772432 772440 772441 772446 772447 772448 772453 772454 772459 772463 772496 772501 772505 773681 773733 773734 773762 773770 773826 773871 774151 774349 775040 775073 775271 775278 775886 775914 776030 776434 776491 776492 776658 777739 777748 777761 777765 777831 777852 777876 777903 778102 778120 778291 778638 778729 778775 778781 778783 779014 779559 779639 779642 779661 779674 779683 779727 779742 779764 779771 779787 779860 779862 779864 779880 780042 780068 780697 784977 784978 784979 789987 790024 790182 795571 795575 795577 795584 795585 795589 795595 795597 795606 795614 795617 795620 795625 795633 795635 795649 795650 795652 795657 795658 795660 795661 795668 795671 795674 795675 795680 795708 795710 795711 795712 795717 795725 795726 795727 795730 795732 795733 795734 795735 795736 795737 795749 795750 795751 795755 795760 795762 795764 795766 795770 796327 796392 796396 796399 796424 796445 796453 796467 796473 796479 796487 796512 796514 796527 796545 796561 796601 796614 796616 796638 796640 796687 805098 805215 805574 805659 806081 806919 808113 808314 809887 809889 809890 809893 809894 809896 809897 809900 809907 809908 809909 809910 809914 809923 809927 809931 809932 809951 809953 812204 812228 812246 812310 812377 812381 812443 812468 812469 813158 813171 813193 813196 813200 813203 813204 813205 813211 813433 813502 813618 813622 813801 813866 813872 813900 814020 815017 815027 815050 815280 815310 851343 851344 870152 870156 870160 870198 870261 870296 870507 870675 870928 871255 871377 871529 871650 871682 871829 871964 871984 872172 872240 872245 872271 872285 872370 872893 872894 872895 872896 872908 872909 872912 872913 872916 872917 872968 872969 872971 872972 872973 872976 872994 872996 872997 873012 873014 873016 873017 873019 873023 873033 873038 873046 873047 873051 873066 873071 873078 873084 873093 873095 873098 873099 873103 873105 873109 873110 873113 873118 873119 873126 873128 873137 873140 873144 873145 873149 873153 873154 873156 873162 873164 873166 873167 873170 873173 873181 873182 873183 873186 873188 873190 873194 873195 873205 874039 874042 874052 874062 874063 874065 874066 874067 874070 874077 874161 874164 875921 875922 875947 875949 875951 875954 875960 875963 875967 875968 875986 876023 876025 876043 876047 876052 876060 876064 876066 876068 876076 876081 876086 876088 876099 876110 876117 876128 876134 876138 876148 876160 876170 876173 876179 876183 876188 876196 876209 876212 876225 876226 876231 876233 876234 876236 876237 876248 876271 876716 876717 876723 876727 876730 876742 876757 876759 876768 876891 877777 877804 877813 877814 877817 877819 877821 877822 877825 877826 877828 877832 877836 877846 877847 877860 877867 877869 877871 877874 877880 877881 877893 877894 877895 877913 877914 877915 877916 877917 877918 877919 877920 877921 877926 877928 877930 877932 877933 877934 877940 877941 877944 877945 877947 877949 877950 877951 877955 877957 877960 877961 877962 877963 877964 877966 877970 877971 877991 878010 878017 878021 878022 878023 878025 878027 878028 878029 878031 878037 878038 878043 878045 878051 878061 878069 878070 878073 878074 878075 878077 878078 878079 878080 878082 878085 878086 878088 878090 878093 878094 878095 878099 878100 878116 878126 878127 878130 878137 878151 878152 878165 878167 878168 878170 878171 878172 878173 878174 878177 878189 878190 878199 878200 878201 878205 878214 878219 878220 878222 878231 878232 878233 878238 878244 878252 878253 878254 878255 878257 878260 878261 878262 878264 878267 878269 878278 878280 878281 878287 878288 878290 878291 878296 878297 878300 878308 878309 878312 878319 878320 878321 878325 878330 878337 878338 878339 878346 878349 878354 878355 878358 878359 878362 878373 878378 878383 878393 878398 878402 878403 878404 878406 878407 878411 878414 878422 878430 878434 878435 878439 878440 878441 878443 878444 878445 878448 878449 878450 878455 878457 878459 878472 878482 878513 878536 878537 879266 879271 879272 879283 879285 879331 879339 879351 879360 879370 879385 879396 879399 879404 879424 879430 879437 879438 879444 879457 879506 879548 879551 879578 879584 879590 879599 879622 879624 879636 883242 884941 885057 885215 885444 885519 885571 885849 885876 886294 886530 886549 886562 886584 886613 886658 886700 886849 886883 886976 887016 887117 887127 887128 887129 887130 887168 887187 887188 887247 887323 887359 887411 887454 887457 887458 887517 887556 887557 887621 887641 887682 887700 887892 887894 887895 887896 887902 887903 887906 887908 887911 887942 887943 887953 888021 888193 888195 888279 888339 888480 888821 888931 888973 888974 889046 889196 889300 890081 890082 890463 890783 891547 891548 892022 892163 892281 892282 892283 892285 892287 892289 892290 892378 892567 892938 893221 893285 893303 893355 893455 893504 893511 893526 893636 893651 893691 893778 894239 894272 895009 896246 896247 896512 896831 897263 897640 897641 898118 898488 898957 899376 901291 902780 903411 903898 904036 904347 904976 905392 905453 905462 905464 905478 905598 905678 906020 906166 906782 906802 906872 906889 907160 907236 907349 907380 907402 907461 907683 907699 907702 907721 907799 907845 907850 907891 907950 907956 907984 907996 908004 908007 908014 908016 908019 908042 908044 908086 908098 908158 908231 908244 908265 908267 908273 908286 908351 908358 908483 908595 908612 908621 908629 908632 908705 908719 908727 908781 908783 908785 908798 908805 908807 908813 908815 908873 908892 908935 908943 908996 909002 909006 909011 909237 909264 909265 909381 909424 909462 909574 909646 909725 909772 909785 909787 909788 909816 909836 909839 909920 909976 910069 910099 910100 910101 910103 910110 910114 910169 910181 910281 910465 910476 910492 910498 910505 910548 910553 910556 910604 910682 910684 910688 910750 910804 910833 910858 910864 910895 910970 910984 910999 911003 911143 911156 911272 911278 911307 911329 911339 911365 911366 911587 911600 911601 911602 911616 911646 911659 911740 911741 911742 911783 911831 911835 911881 911889 911901 911902 911949 911969 911974 911976 911989 912003 912015 912024 912079 912128 912135 912171 912202 912206 912208 912256 912290 912291 912296 912300 912364 912366 912382 912407 912409 912413 912513 912519 912523 912524 912554 912586 912644 912687 912688 912748 912812 912852 912853 912884 912887 912893 912916 912921 912927 912933 912989 913002 913146 913151 913189 913191 913199 913202 913246 913269 913295 913331 913414 913415 913438 913444 913463 913468 913469 913485 913493 913496 913506 913508 913510 913518 913544 913703 913718 913729 913735 913736 913823 913830 913911 914041 914046 914052 914136 914158 914239 914273 914294 914295 914297 914312 914330 914381 914400 914447 914488 914665 914671 914724 914728 914729 914738 914784 914787 914797 914799 914890 915106 915126 915142 915144 915162 915195 915200 915256 915344 915517 915588 915636 915638 915757 915758 915772 915796 915797 915798 915799 915801 915803 915830 915840 915841 915856 915859 915860 915883 915956 916009 916039 916062 916069 916071 916076 916124 916126 916160 916188 916203 916207 916211 916344 916388 916451 916473 916634 916639 916644 916647 916677 916703 916723 916802 916826 916827 916835 916865 916906 916927 917585 917591 917603 917678 917681 917703 917712 917726 917743 917748 917779 917818 917821 917822 917829 917834 917839 917845 917848 917849 917850 917851 917852 917859 917860 917862 917864 917865 917866 917878 917881 917883 917884 917895 917900 917909 917910 917915 917933 917934 917937 917939 917940 917944 917964 917970 917974 917976 917993 917999 918001 918008 918011 918015 918018 918027 918029 918031 918032 918033 918035 918036 918038 918041 918044 918266 918269 918271 918272 918273 918274 918275 918276 918277 918278 918285 919250 919253 919257 919258 919259 919261 919269 919271 919272 919273 919274 919281 919282 919289 919291 919292 919306 919307 919327 919339 919349 919350 919351 919354 919356 919361 919369 919376 919378 919380 919387 919390 919438 919445 919458 919534 920324 920330 935690 935699 935746 935779 935796 935802 935809 935868 935889 935907 935914 935915 935916 935917 935918 935929 935942 935945 935948 935952 935954 935959 935960 935963 935965 935966 935983 935985 935986 935987 935989 936014 936054 936059 936072 936073 936074 936105 936115 936142 936147 936148 936150 936185 936218 936220 936245 936246 936260 936268 936269 936270 936274 936278 937596 937599 937602 937609 937612 937613 937622 937623 937625 937626 937627 937628 937630 937640 937641 937645 937648 937770 937771 937843 937846 937856 937858 937867 937871 937873 937891 937898 937904 937911 937912 937915 937916 937917 937926 937930 937931 937932 937941 937942 937950 938426 938427 938430 938438 938482 939216 939217 939218 939219 939221 939224 939229 939230 939232 939233 939234 939237 939239 939240 939241 939244 939246 939260 939261 939265 939268 939273 939276 939278 939290 939297 939301 939310 939311 939329 939344 939348 939357 939372 939378 939382 939393 939400 939412 939422 939455 939461 939465 939466 939478 939485 939487 939506 939514 939528 939533 939537 939677 939690 939698 939711 939734 939773 939777 939788 939797 939798 939799 939808 939812 939831 939835 939844 939866 939867 939875 939876 939879 939882 939894 939895 939898 939899 939904 939930 939935 939938 946251 947608 947613 947614 947642 947651 947654 947663 947675 947676 947682 947688 947689 947690 947691 947692 947696 947699 947702 947703 947704 947705 947706 947707 947713 947716 947732 949109 949115 949117 949222 949288 949292 949300 949301 949312 949336 949337 949345 949351 949356 949359 949360 949378 949411 949430 949573 949574 949647 949665 949736 949738 949854 950157 950159 950179 950180 950191 950194 950211 950221 950236 950237 950245 950255 950274 950275 950286 950287 950294 950296 950297 950301 950320 950321 950323 950368 950372 950380 950385 950386 950409 950437 950450 950453 950457 950460 950461 950467 950482 950483 950487 950488 950500 950504 950506 950562 950563 950564 950567 950568 950585 950614 950650 950651 950653 950667 950689 950708 950710 950711 950713 950714 950716 950718 950720 950721 950735 950736 950738 950742 950745 950748 950749 950757 950760 950762 950763 950765 950771 950772 950773 950778 950779 950787 950790 950793 950800 950801 950802 950808 950817 950820 950835 950842 950847 950854 950858 950876 950881 950882 950887 950888 950890 950891 950893 950894 950898 950902 950905 950923 950924 950928 950931 950934 950952 950959 950961 950962 950964 950966 950968 950969 950972 950979 951008 951012 951117 951233 951293 951344 951386 951422 951426 951590 951676 951890 951989 952007 952164 952352 952368 952503 952626 952799 952909 952925 953067 953467 953665 953995 954203 954982 955122 955274 955409 955566 956137 956498 957500 958044 958261 958340 958645 959841 959966 959987 959995 960050 960263 960267 960336 960364 960382 960557 960576 960654 960696 960815 960887 960904 960907 960908 960912 960945 960946 961029 961045 961048 961049 961065 961101 961216 961275 961323 961371 961397 961398 961399 961485 961566 961571 961617 961690 961704 961780 961781 961838 961842 961845 961890 961965 961992 962025 962075 962090 962111 962117 962191 962192 962276 962280 962329 962335 962337 962370 962390 962391 962407 962443 962456 962483 962484 962486 962508 962517 962522 962526 962529 962559 962603 962634 962642 962684 962702 962706 962707 962729 962831 962870 962871 962894 962916 962969 963046 963075 963154 963170 963172 963192 963197 963263 963336 963398 963461 963462 963508 963525 963529 963564 963626 963633 963770 963824 963839 963856 963867 963910 963916 963941 963950 963998 964026 964030 964058 964063 964079 964101 964103 964121 964150 964179 964184 964240 964243 964261 964262 964264 964281 964287 964305 964312 964356 964399 964415 964443 964513 964558 964559 964560 964569 964574 964620 964645 964647 964648 964677 964715 964737 964739 964791 964833 964900 964923 964924 964965 965015 965044 965085 965096 965105 965108 965129 965130 965167 965199 965215 965219 965226 965249 965250 965260 965268 965300 965351 965367 965380 965390 965393 965394 965415 965492 965494 965497 965498 965499 965513 965514 965516 965520 965531 965537 965566 965592 965594 965615 965618 965626 965648 965716 965739 965742 965784 965798 965826 965909 965913 965916 965917 965920 965924 965941 965945 965993 966063 966105 966107 966133 966137 966138 966149 966150 966157 966193 966211 966215 966225 966231 966258 966289 966326 966327 966370 966373 966379 966384 966438 966480 966503 966511 966529 966544 966550 966571 966645 966667 966676 966748 966777 966794 966824 966842 966915 966943 966948 966954 966989 966994 967014 967051 967121 967124 967150 967151 967167 967207 967369 967375 967376 967397 967440 967449 967489 967575 967579 967586 967626 967643 967648 967649 967664 967670 967748 967787 967803 967804 967809 967830 967833 967855 967856 967869 967930 967935 967938 967939 967940 967943 967975 967995 968019 968043 968057 968094 968130 968175 968218 968225 968226 968234 968236 968260 968383 968388 968391 968416 968421 968424 968542 968557 968642 968701 968704 968875 968887 968898 968917 968918 968938 968939 969077 969152 969174 969232 969257 969277 969324 969364 969365 969400 969413 969419 969422 969469 969503 969523 969528 969586 969588 969592 969614 969646 969651 969677 969758 969767 969768 969771 969783 969795 969803 969814 969827 969832 969833 969834 969842 969846 970216 970489 970823 970952 970963 970975 970984 971022 971023 971113 971122 971163 971172 971257 971326 971331 971346 971388 971412 971418 971424 971463 971473 971496 971513 971524 971525 971553 971573 971579 971600 971625 971637 971645 971657 971695 971703 971727 971729 971739 971744 971797 971807 971818 971833 971836 971850 971870 971886 971902 971930 971964 972030 972189 972213 972222 972262 972263 972268 972296 972299 972314 972319 972333 972343 972349 972371 972391 972392 973454 973456 973496 973585 973601 973653 973797 975799 976736 976940 977048 977122 977627 978032 978160 978202 978642 978755 978930 979582 980093 980272 980347 980425 980529 981803 981805 981809 981811 981820 981836 981862 981872 981915 981946 982016 982025 982027 982033 982038 982039 982040 982043 982048 982050 982051 982053 982054 982055 982062 982064 982076 982084 982111 982112 982113 982118 982128 982132 982134 982155 982166 982169 982174 982176 982180 982181 982189 982205 982209 982211 982219 982221 982234 982236 982245 982257 982262 982266 982273 982288 982291 982294 982301 982306 982313 982317 982327 982341 982345 982351 982352 982353 982362 982366 982367 982368 982374 982380 982385 982391 982400 982405 982425 982435 982446 982459 991617 991798 991799 991803 991804 991809 991815 991829 991838 991840 991850 991855 991865 991867 991878 991883 993177 993214 993215 993216 993222 993223 993227 993230 993234 993235 993592 993602 993606 993631 994438 994459 994472 994494 994515 994620 995001 995004 995005 995171 995182 995188 995194 1000982 1095795 1095802 1095803 1095804 1095887 1095888 1095890 1095895 1095897 1095898 1095899 1095902 1095904 1095905 1095906 1095907 1095908 1095910 1095911 1095918 1095920 1096756 1096766 1096767 1096768 1096915 1096917 1096918 1096955 1096962 1096999 1097002 1097004 1097019 1097024 1097025 1097066 1097080 1097107 1097114 1097128 1097130 1097132 1097166 1097221 1097302 1097350 1097361 1097369 1097415 1097442 1097456 1097495 1097496 1097532 1097547 1097576 1097629 1097641 1097777 1097781 1097821 1097828 1097851 1097853 1097856 1097896 1097901 1097904 1097905 1097913 1097914 1098055 1098060 1098080 1098136 1098137 1098149 1098172 1098203 1098208 1098214 1098261 1098262 1098273 1098285 1098299 1098312 1098320 1098324 1098462 1098510 1098511 1098515 1098523 1098550 1098633 1098637 1098668 1098703 1098704 1098714 1098715 1098761 1098783 1098784 1098802 1098835 1098836 1098838 1098892 1098908 1098922 1098930 1098956 1098957 1098961 1098963 1098964 1098983 1098996 1099045 1099051 1099053 1099094 1099097 1099124 1099125 1099170 1099192 1099211 1099324 1099414 1099415 1099429 1099446 1099456 1099477 1099581 1099587 1099588 1099594 1099662 1099664 1099665 1099675 1099677 1099776 1099778 1099795 1099796 1099838 1099851 1099861 1099869 1099883 1099895 1099917 1099918 1099919 1099932 1100012 1100061 1100101 1100112 1100129 1100184 1100186 1100203 1100219 1100244 1100246 1100289 1100305 1100307 1100349 1100351 1100366 1100413 1100584 1100611 1100612 1100626 1100640 1100641 1100643 1100674 1100678 1100687 1100689 1100708 1100710 1100725 1100741 1100757 1100763 1100764 1100802 1100831 1100836 1100853 1100855 1100888 1100924 1100943 1100969 1100970 1100990 1101016 1101018 1101019 1101021 1101073 1101075 1101103 1101146 1101148 1101150 1101151 1101154 1101171 1101190 1101222 1101255 1101265 1101322 1101331 1101346 1101357 1101395 1101397 1101405 1101411 1101412 1101457 1101490 1101501 1101504 1101514 1101537 1101538 1101560 1101580 1101583 1101596 1101609 1101667 1101681 1101698 1101702 1101751 1101755 1101796 1101816 1101838 1105819 1106110 1108679 1108725 1108795 1110574 1110576 1110594 1110602 1110619 1110621 1110622 1110623 1110640 1112082 1112096 1112823 1113198 1113707 1116531 1119842 1119918 1120034 1120040 1120060 1120110 1120118 1120119 1120120 1120133 1120135 1120149 1120200 1120220 1120232 1120256 1120264 1120337 1120347 1120416 1120451 1120452 1120505 1120524 1120535 1120596 1120695 1120696 1120729 1120744 1120762 1120775 1120776 1120798 1120806 1120820 1120834 1120852 1120941 1120948 1120952 1120964 1120989 1121003 1121049 1121051 1121167 1121181 1121200 1121212 1121258 1121284 1121290 1121292 1121357 1121360 1121367 1121377 1121380 1121426 1121442 1121495 1121517 1121519 1121539 1121556 1121566 1121599 1121600 1121611 1121657 1121667 1121671 1121678 1121679 1121680 1121704 1121719 1121722 1121723 1121724 1121728 1121736 1121741 1121743 1121746 1121766 1121784 1121818 1121822 1121830 1121854 1121904 1121905 1121913 1121915 1121986 1121988 1121989 1121990 1121991 1121992 1121996 1122015 1122039 1122048 1122050 1122059 1122066 1122070 1122086 1122087 1122091 1122092 1122132 1122192 1122202 1122222 1122224 1122228 1122245 1122255 1122274 1122334 1122348 1122352 1122432 1122501 1122629 1122714 1122749 1122758 1122771 1122775 1122787 1122802 1122805 1122820 1122825 1122861 1122890 1122902 1122912 1122926 1122932 1122937 1122962 1122970 1122975 1123005 1123064 1130428 1130429 1130436 1130441 1130479 1130483 1130489 1130494 1130497 1134417 1134429 1134434 1134436 1134440 1134444 1134467 1134470 1134478 1134489 1134511 1134528 1134535 1134548 1134558 1134588 1134607 1134610 1134613 1134639 1134651 1134654 1134659 1134664 1134681 1134691 1134696 1134706 1134718 1135117 1135121 1135123 1135124 1135128 1135129 1135130 1135132 1135133 1135135 1135136 1135137 1135140 1135142 1135145 1135147 1135150 1135174 1135604 1135662 1135764 1135765 1135767 1135768 1135769 1136012 1136013 1136247 1136250 1136254 1136255 1136312 1136319 1136320 1136455 1136505 1136522 1136531 1136535 1136546 1136558 1136559 1136571 1136572 1136587 1136613 1136632 1136689 1136739 1136766 1136782 1136812 1136821 1136831 1136847 1136869 1136946 1136947 1137010 1137013 1137019 1137023 1137031 1137063 1137068 1137102 1137108 1137199 1137208 1137210 1137248 1137277 1137288 1137290 1137291 1137318 1137322 1137337 1137338 1137405 1137412 1137415 1137427 1137471 1137485 1137486 1137493 1137591 1137669 1137672 1137676 1137678 1137699 1137700 1137701 1137702 1137765 1137830 1137921 1137943 1137994 1138000 1138004 1138011 1138012 1138018 1138019 1138020 1138021 1138044 1138055 1138175 1138202 1138317 1138321 1138483 1138488 1138626 1138840 1141002 1141009 1141617 1141618 1141624 1141638 1141639 1141641 1142714 1142738 1142927 1142928 1142931 1142932 1142933 1142934 1142977 1142985 1143122 1143138 1143144 1143145 1143207 1143374 1143379 1143498 1143554 1143654 1143666 1143672 1143724 1143726 1143759 1143824 1143828 1143829 1143885 1143970 1143972 1144054 1144140 1144141 1144142 1144143 1144144 1144149 1144209 1144212 1144250 1144302 1144315 1144328 1144384 1144403 1144463 1144481 1144562 1145610 1145611 1145666 1145675 1145747 1145755 1145759 1145760 1146479 1146617 1148316 1148395 1148399 1154253 1154269 1160746 1160747 1160938 1161310 1165243 1165245 1165265 1165560 1165603 1166055 1166176 1166177 1166208 1166209 1169987 1169989 1169992 1169997 1170000 1170001 1170007 1170008 1170010 1170013 1170014 1170018 1170019 1170021 1170024 1170041 1170049 1170057 1170074 1170076 1170078 1170079 1170091 1170092 1170105 1170114 1170120 1170135 1170178 1170183 1170192 1170198 1170231 1170232 1170247 1170274 1170276 1170277 1170286 1170312 1170317 1170351 1170354 1170355 1170356 1170357 1170358 1170364 1170371 1170373 1170391 1170407 1170437 1170447 1170480 1170485 1170510 1170515 1170519 1170576 1170581 1170584 1170586 1170618 1170619 1170625 1170631 1170653 1170654 1170661 1170699 1170701 1170704 1170705 1170722 1170735 1170741 1170743 1170746 1170748 1170752 1170753 1171255 1171274 1171279 1171350 1171386 1171388 1171423 1171433 1171438 1171478 1171499 1171506 1171511 1171546 1171549 1171881 1171947 1171962 1171967 1171969 1171980 1171982 1172084 1172085 1172086 1172101 1172157 1172204 1172231 1172244 1172246 1172248 1172249 1172343 1172344 1172611 1172637 1172647 1172713 1172734 1172887 1173049 1173066 1173150 1173436 1173448 1173477 1173538 1173645 1174389 1174734 1174737 1174739 1174745 1174747 1174749 1174751 1174755 1174765 1174767 1174768 1174769 1174770 1174772 1174773 1174775 1174778 1174780 1174782 1174783 1174786 1174787 1174790 1174890 1174891 1174892 1174893 1174910 1174930 1174936 1174995 1175007 1175029 1175300 1175653 1175803 1175858 1176007 1176014 1176021 1176237 1176289 1176302 1176306 1176307 1176309 1176313 1176315 1176316 1176317 1176318 1176324 1176325 1176329 1176383 1176407 1176415 1176420 1176430 1176432 1176508 1176537 1177005 1177017 1177183 1177206 1177210 1177213 1177221 1177226 1177227 1177229 1177301 1177303 1178299 1178319 1178373 1178436 1178459 1178562 1178580 1178641 1186762 1186776 1253905 1253912 1253951 1254351 1256453 1256532 1256640 1256660 1257385 1257652 1257653 1257654 1257673 1257674 1257687 1257689 1257697 1257703 1257713 1257715 1257719 1257720 1257810 1257849 1257850 1257880 1257954 1257966 1257967 1257969 1257987 1258106 1258141 1258143 1258191 1258207 1258262 1258265 1258360 1258433 1258613 1258619 1258774 1258800 1258963 1258965 1258970 1258995 1259141 1259157 1259346 1259408 1259477 1259502 1259601 1259613 1259615 1259645 1259741 1259764 1259819 1259921 1259923 1259990 1260024 1260030 1260101 1260199 1260201 1260235 1260249 1260258 1260269 1260638 1260720 1262761 1262813 1263029 1263068 1263104 1263204 1263296 1263450 1263530 1263533 1263552 1263563 1263605 1263608 1268551 1268567 1268823 1268848 1268852 1268854 1268855 1268858 1268859 1268865 1268876 1268879 1268897 1268899 1268900 1268903 1268904 1268905 1268907 1268913 1268914 1268919 1269691 1270965 1271481 1271556 1271606 1271607 1272716 1272936 1273024 1273036 1273037 1273077 1273169 1273270 1273630 1273672 1274098 1275666 1276338 1276798 1276807 1276848 1276886 1276901 1276963 1276976 1276996 1276997 1276998 1277034 1277054 1277055 1277075 1277078 1283194 1289952 1289957 1289961 1289963 1289964 1289969 1289971 1289976 1290000 1291089 1291208 1292266 1298698 1298699 1298700 1298709 1299006 1299007 1299874 1299972 1300197 1300198 1301985 1301992 1301996 1302000 1302003 1302005 1302010 1302013 1302024 1302038 1302042 1302046 1302047 1302051 1302054 1302059 1302063 1302069 1302079 1302081 1302082 1302095 1302109 1302114 1302121 1302124 1302126 1302130 1302149 1302922 1302939 1304763 1306716 1306736 1306772 1306811 1307126 1307704 1310564 1310607 1310623 1310627 1310630 1310635 1310644 1310671 1310721 1310723 1310734 1310735 1310755 1310928 1310986 1310987 1311068 1311069 1311070 1311099 1311105 1311107 1311113 1311135 1311136 1311230 1311255 1311299 1311304 1311346 1311459 1311566 1311606 1311608 1311647 1311681 1311699 1311732 1311742 1311871 1311914 1311934 1311935 1311937 1311943 1311983 1312124 1312148 1312149 1312150 1312153 1312156 1312157 1312193 1312197 1312245 1312379 1312575 1312828 1312836 1312955 1312991 1313096 1313227 1313386 1313484 1313488 1313509 1313511 1313513 1313719 1313726 1313727 1313785 1313807 1313820 1314686 1314777 1314782 1314787 1314806 1314817 1314842 1314848 1314874 1314901 1314929 1314930 1314935 1317930 1317969 1318513 1318649 1318700 1318898 1319272 1319305 1319313 1319761 1319765 1320098 1321143 1321280 1321283 1321567 1321596 1321598 1321599 1321643 1321744 1321759 1321910 1321931 1321935 1321938 1321943 1321944 1321945 1321948 1321958 1321960 1321961 1321970 1321972 1321981 1321983 1321984 1321985 1321989 1321990 1322006 1323100 1323140 1323196 1327754 1327755 1327802 1327815 1327820 1327826 1327830 1327841 1327842 1327844 1327848 1327873 1327877 1327906 1327911 1327944 1327945 1327951 1327963 1328005 1328018 1328025 1328049 1328053 1328071 1328107 1328123 1328129 1328134 1328139 1328144 1328147 1328149 1328169 1328176 1328192 1328193 1328195 1328200 1328201 1328202 1328211 1328233 1328236 1328243 1328245 1328262 1328648 1328652 1328655 1328657 1328660 1328672 1328673 1328691 1328695 1328696 1328699 1328706 1328709 1328711 1328712 1328715 1328719 1328724 1328831 1329978 1329986 1329991 1330003 1330004 1330010 1330033 1330035 1330085 1330095 1330099 1330114 1330119 1330125 1330135 1330153 1330154 1330202 1330257 1330258 1330266 1330330 1330345 1330372 1330412 1330419 1330442 1330477 1330478 1330486 1330510 1330524 1330526 1330542 1330543 1330549 1330561 1330574 1330598 1330606 1330607 1330613 1330622 1330625 1330884 1331605 1332089 1332101 1332453 1332656 1332684 1332686 1332690 1332691 1332714 1332744 1332762 1332773 1332814 1332821 1333213 1333567 1333568 1333664 1333673 1333674 1333684 1334080 1334085 1334086 1334100 1334111 1334112 1334114 1334117 1334119 1334122 1334129 1334498 1334507 1334510 1334880 1335093 1335208 1335215 1335224 1335232 1335285 1335796 1335833 1335834 1335835 1335871 1335873 1336626 1336627 1336629 1336630 1336646 1336694 1336936 1336952 1337075 1337092 1337096 1337109 1337111 1337112 1337133 1337134 1337136 1337152 1337161 1337241 1337242 1337243 1337244 1337246 1337247 1337248 1337252 1337262 1337263 1337267 1337281 1337294 1337298 1337307 1337333 1337342 1337344 1337345 1337347 1337354 1337357 1337369 1337378 1337382 1337392 1337394 1337395 1337396 1337404 1337406 1360419 1363984 1364020 1364508 1364776 1364948 1364950 1364953 1364954 1364955 1364956 1364961 1364963 1364966 1365460 1365461 1365464 1365465 1365468 1365469 1365481 1365484 1365493 1365494 1365495 1365498 1365499 1365510 1365511 1365522 1365523 1365543 1365557 1365562 1365943 1366003 1366005 1366006 1366014 1366015 1366021 1366031 1366034 1366036 1366044 1366045 1366055 1366061 1366066 1366067 1366072 1366073 1366074 1366079 1366169 1366229 1366244 1366262 1366370 1366448 1366449 1366459 1366463 1366464 1366489 1366500 1366503 1366521 1366535 1366544 1366556 1366557 1366561 1366564 1366571 1366644 1366646 1367459 1367466 1367482 1367551 1367553 1367578 1367601 1367699 1367710 1367714 1367721 1367795 1368222 1369325 1370121 1370173 1370176 1372955 1372962 1372965 1372981 1372982 1373008 1373035 1373040 1373045 1373048 1373051 1373060 1373080 1373111 1373112 1373120 1373124 1373126 1373127 1373128 1373130 1373132 1373138 1373140 1373149 1373154 1373158 1373905 1375251 1375516 1375620 1375886 1376997 1377332 1377670 1377705 1378010 1382024 1382844 1382854 1382883 1383389 1383469 1384520 1384629 1384659 1384662 1384663 1412051 1412063 1412097 1412179 1412244 1412260 1412323 1412332 1412378 1412382 1412394 1412417 1412427 1412446 1412452 1412483 1412558 1412573 1412581 1412591 1412610 1412664 1412685 1412688 1412791 1412820 1412823 1412871 1412875 1412938 1412969 1413043 1413081 1413085 1413096 1413105 1413120 1413136 1413137 1413154 1413167 1413206 1413227 1413236 1413237 1413307 1413366 1413542 1413554 1413627 1413636 1413661 1413696 1413749 1413752 1413773 1413775 1413785 1413800 1413827 1413828 1413850 1413931 1413980 1414053 1414059 1414085 1414107 1414262 1414313 1414369 1414386 1414402 1414426 1414440 1414461 1414528 1414580 1414863 1414945 1415022 1415051 1415112 1415142 1415169 1415298 1415316 1415465 1415500 1415505 1415742 1415796 1415887 1415900 1415912 1415975 1416186 1416241 1416275 1416395 1416402 1416522 1416675 1416679 1416713 1416731 1416742 1416786 1416802 1416808 1416825 1416865 1416869 1416886 1416891 1416902 1416945 1416953 1416966 1417038 1417108 1417123 1417239 1417245 1417326 1417388 1417390 1417508 1417510 1417760 1417776 1417780 1417807 1417808 1417827 1417863 1417917 1417925 1418198 1418204 1418208 1418225 1418252 1418253 1418286 1418396 1418457 1418531 1418544 1418546 1418551 1418552 1418632 1418648 1418661 1418713 1418752 1418819 1418864 1418866 1418868 1418869 1418885 1418892 1418893 1418907 1418929 1418938 1418994 1419015 1419030 1419040 1419043 1419048 1419050 1419059 1419072 1419093 1419283 1419304 1419333 1419338 1419345 1419348 1419351 1419366 1419381 1419382 1419390 1419431 1419433 1419618 1419629 1419704 1419788 1419875 1420044 1420066 1420113 1420219 1420262 1420280 1420306 1420354 1420362 1420400 1420433 1420508 1420562 1420590 1420653 1420667 1420701 1420702 1420705 1420708 1420709 1420718 1420732 1420775 1420849 1420850 1421143 1421248 1421250 1421314 1421315 1421318 1421351 1421416 1421537 1421554 1421895 1422009 1422073 1422179 1422475 1422489 1422567 1422569 1422760 1422826 1423073 1423896 1423974 1424111 1424291 1424666 1424673 1424677 1424885 1425351 1425409 1425693 1425698 1425978 1426032 1426197 1426317 1426584 1426630 1426677 1426771 1426926 1427674 1427791 1427831 1427925 1428343 1428415 1428887 1432376 1432696 1432697 1432786 1432816 1432993 1433124 1433178 1433281 1433453 1433521 1433525 1433533 1433567 1433709 1433712 1433854 1434005 1434212 1434280 1434333 1434441 1434452 1434505 1434556 1434652 1434674 1434677 1434680 1434683 1434786 1434792 1434857 1434869 1434909 1434916 1434937 1434971 1435085 1435171 1435172 1435212 1435218 1435444 1435551 1435553 1435587 1435704 1435742 1435783 1435907 1435945 1435950 1436144 1436210 1436328 1436330 1436331 1436401 1436435 1436457 1436493 1436495 1436658 1436667 1436673 1436706 1436961 1436963 1436968 1439266 1439292 1439301 1439302 1439304 1439307 1439315 1439321 1439334 1439338 1439339 1439341 1440916 1441129 1441130 1441131 1441323 1441405 1442483 1442508 1442520 1442522 1442750 1442762 1442832 1442875 1442930 1442948 1443048 1443145 1443643 1443650 1443660 1443664 1443669 1443674 1443679 1443691 1443733 1443734 1443768 1443775 1443798 1443841 1443890 1443891 1443907 1443909 1443916 1443923 1443927 1443928 1443930 1444126 1444142 1444689 1444914 1444957 1445086 1445170 1445182 1445188 1445190 1445209 1445224 1445225 1445227 1445228 1445231 1445232 1445237 1445243 1445254 1445256 1445258 1445260 1445261 1445264 1445265 1445266 1445269 1445274 1445275 1445278 1445280 1445282 1445284 1445289 1445293 1445294 1445299 1445304 1445317 1445318 1445319 1445324 1445329 1445333 1445335 1445338 1445341 1445345 1445349 1445350 1445351 1445356 1445357 1445360 1445361 1445362 1445366 1445372 1445373 1445374 1445375 1445378 1445380 1445387 1445388 1445394 1445397 1445420 1445421 1445430 1445432 1445447 1445448 1445449 1445451 1445455 1445578 1445583 1445585 1445588 1445589 1445591 1445592 1445593 1445594 1445595 1445596 1445599 1445600 1445601 1445602 1445603 1445604 1445605 1445606 1445607 1445608 1445609 1445611 1445612 1445613 1445616 1445617 1445625 1445647 1445654 1445688 1445693 1445706 1445707 1445710 1445716 1445731 1445734 1445745 1445757 1445761 1445777 1445818 1445824 1446539 1446659 1446885 1447907 1448351 1448353 1448359 1448373 1448381 1448389 1448406 1448407 1448410 1448424 1448434 1448437 1448438 1448442 1448559 1449446 1449520 1449554 1449556 1449659 1449680 1449702 1449704 1449715 1449789 1449894 1449906 1449912 1449924 1449925 1449938 1449955 1449986 1449995 1450007 1450035 1450038 1450041 1450321 1450325 1450334 1450352 1450367 1450371 1450420 1450447 1450474 1450543 1450570 1450658 1450809 1450816 1450823 1450992 1451022 1451023 1451024 1451033 1451037 1451039 1451114 1451139 1451200 1451270 1451299 1451301 1451381 1451394 1451723 1451730 1451733 1451803 1451832 1451894 1451917 1451975 1451986 1452019 1452042 1452084 1452088 1452252 1452464 1452593 1452748 1452879 1452880 1452888 1453105 1453192 1453296 1453501 1453531 1453589 1453642 1453866 1453900 1454101 1454160 1454189 1454234 1454291 1454298 1454452 1454589 1454874 1455008 1455048 1455051 1455129 1455153 1455154 1455162 1455169 1455171 1455186 1455363 1455381 1455437 1455513 1456357 1456404 1456408 1456409 1456410 1456443 1456504 1456509 1456516 1456557 1456651 1456739 1456740 1456744 1456745 1456749 1456750 1456752 1456756 1456760 1456762 1456763 1456796 1457902 1504623 1504897 1504906 1504911 1505020 1505021 1505061 1505089 1505304 1505431 1505437 1505474 1505476 1505636 1505698 1505699 1505700 1505729 1505883 1505961 1506009 1506020 1506022 1506098 1506261 1506278 1506598 1506683 1506687 1506770 1506829 1506900 1506963 1507204 1507308 1507354 1508746 1508750 1508754 1508755 1508756 1508759 1508774 1509141 1509189 1509190 1509191 1509192 1509198 1509223 1509232 1509236 1509237 1509244 1509252 1509263 1509379 1509384 1509413 1509436 1509508 1509509 1509516 1509524 1509536 1509540 1509541 1509547 1509548 1509607 1509662 1509684 1509685 1509687 1509706 1509728 1509729 1509748 1509762 1509780 1509782 1509789 1509794 1509799 1509804 1509821 1509841 1509852 1509873 1509940 1509960 1510441 1510448 1510457 1510480 1510565 1510693 1510801 1510809 1510852 1510863 1510922 1510923 1510928 1510932 1510952 1510976 1511016 1511108 1511238 1511274 1511279 1511338 1511349 1511420 1511422 1511532 1511533 1511543 1511576 1511584 1511609 1511610 1511626 1511628 1511659 1511661 1511670 1511682 1511684 1511685 1511717 1511718 1511721 1511767 1511819 1511827 1511832 1511833 1511835 1511842 1511872 1511894 1511924 1511940 1511961 1511962 1512028 1512030 1512053 1512058 1512062 1512076 1512091 1512211 1512212 1512217 1512218 1512220 1512240 1512293 1512304 1512316 1512318 1512412 1512497 1512511 1512522 1512523 1512532 1512537 1512615 1512616 1512683 1512689 1512791 1512792 1513016 1513069 1513070 1513097 1513139 1513188 1513231 1513261 1513304 1513327 1513344 1513424 1513440 1513774 1513775 1513783 1514117 1514196 1514218 1514287 1514289 1514312 1514350 1514369 1514378 1514555 1514560 1514609 1514649 1514669 1514699 1514701 1514713 1514723 1514727 1514766 1514767 1514769 1514770 1514774 1514777 1514780 1514791 1514794 1514919 1514971 1514972 1515085 1515170 1515207 1515213 1515240 1515324 1515325 1515342 1515358 1515368 1515370 1515371 1515375 1515377 1515378 1515383 1515384 1515395 1515398 1515400 1515406 1515407 1515408 1515426 1515558 1515566 1515637 1515672 1515687 1515692 1515847 1515858 1515915 1515930 1515952 1515994 1515995 1516000 1516001 1516009 1516017 1516018 1516020 1516021 1516024 1516027 1516086 1516119 1516125 1516128 1516156 1516158 1516244 1516250 1516312 1516342 1516395 1516463 1516485 1516565 1516687 1516868 1516895 1516978 1517132 1517157 1517226 1517244 1517282 1517333 1517365 1517431 1517459 1517496 1517498 1517590 1517609 1517611 1517612 1517662 1517683 1517721 1517755 1517800 1517803 1517843 1517844 1517889 1517903 1517907 1517908 1517929 1517930 1518123 1518327 1518386 1518390 1518541 1518573 1518618 1518619 1518763 1518781 1518802 1518843 1518956 1518957 1519050 1519059 1519087 1519092 1519115 1519127 1519138 1519143 1519185 1519228 1519313 1519554 1519556 1519664 1519723 1519736 1519830 1519837 1519841 1519887 1519903 1519904 1519952 1519958 1519991 1520007 1520048 1520050 1520122 1520124 1520145 1520410 1521024 1521237 1521740 1521794 1521807 1521868 1521982 1522012 1522061 1522073 1522172 1522182 1522197 1522250 1522277 1522370 1522385 1522402 1522405 1522428 1522432 1522443 1522444 1522455 1522457 1522468 1522478 1522480 1522481 1522505 1522506 1522507 1522532 1522537 1522540 1522557 1522558 1522567 1522575 1522596 1522621 1522622 1522670 1522680 1522690 1522696 1522712 1522713 1523980 1523982 1524013 1524023 1524027 1524050 1524078 1524086 1524094 1524095 1524100 1525399 1526982 1527003 1527049 1527053 1527078 1527085 1527088 1527110 1527123 1527126 1527129 1527130 1527132 1527149 1527150 1527152 1527174 1527175 1527200 1527208 1527211 1527233 1527235 1527236 1527241 1527244 1527254 1527262 1527378 1527392 1527432 1527437 1527486 1527657 1527671 1527737 1527763 1527844 1527845 1527874 1527881 1527886 1527920 1527932 1527976 1527986 1527988 1527991 1527992 1528010 1528012 1528013 1528155 1528156 1528212 1528397 1528398 1528399 1528435 1528465 1528494 1528495 1528618 1528771 1528844 1528847 1528874 1528906 1528938 1528954 1528959 1529011 1529013 1529024 1529025 1529119 1529123 1529126 1529134 1529185 1529189 1529200 1529209 1529216 1529218 1529251 1529253 1529255 1529273 1529286 1529314 1529349 1529385 1529429 1529443 1529446 1529454 1529462 1529464 1529570 1529589 1529600 1529638 1529639 1529651 1529653 1529656 1529662 1529665 1529708 1529740 1529800 1529836 1529842 1529858 1529859 1529864 1529869 1529908 1529915 1529931 1529941 1529955 1529966 1529970 1529982 1530004 1530012 1530054 1530066 1530072 1530129 1530135 1530140 1530204 1530229 1530230 1530273 1530297 1530300 1530361 1530364 1530412 1530416 1530426 1530575 1530891 1531015 1531162 1531285 1531414 1531424 1531435 1531441 1531444 1531499 1531531 1531556 1531592 1531654 1531796 1531799 1531883 1532225 1532256 1532278 1532298 1532400 1532411 1532485 1532673 1532737 1532835 1533126 1533168 1533170 1533312 1533371 1533373 1533424 1533491 1533581 1533640 1533643 1533693 1533695 1533699 1533712 1535531 1537379 1537665 1538051 1538092 1538143 1538537 1538681 1538714 1538722 1538830 1538881 1539081 1539082 1539372 1539477 1539501 1539703 1539707 1539793 1539794 1539988 1540007 1540126 1540159 1541160 1541187 1541202 1541221 1541284 1541326 1541356 1541359 1541378 1541380 1541381 1541384 1541397 1541456 1541463 1541465 1541473 1541483 1541489 1541519 1541521 1541529 1541530 1541540 1541542 1541553 1541581 1541592 1541593 1541677 1541784 1541796 1541801 1541900 1541936 1542030 1548465 1548468 1548472 1548473 1548478 1548479 1548481 1548482 1548483 1548485 1548487 1548493 1548494 1552907 1562036 1562104 1562161 1562240 1562242 1562333 1562355 1562545 1562561 1563037 1563133 1563710 1563712 1563714 1563717 1563726 1563745 1563756 1563757 1563758 1563759 1563760 1563765 1563767 1563768 1563778 1563780 1563821 1563829 1563836 1563868 1563873 1563875 1563914 1563938 1563949 1563952 1563954 1563965 1563968 1563975 1563976 1564040 1564047 1564083 1564085 1564101 1564109 1564116 1564124 1564127 1564142 1564144 1564193 1564199 1564209 1564227 1564230 1564257 1564274 1564283 1564284 1564291 1564292 1564321 1564338 1564394 1564395 1564406 1564408 1564409 1564413 1564419 1564420 1564439 1564445 1564448 1564468 1564474 1564479 1564483 1564503 1564518 1564548 1564575 1564617 1564702 1564716 1564717 1564746 1564793 1564799 1564800 1564819 1564823 1564861 1564985 1565052 1565128 1565237 1565305 1565316 1565390 1565486 1565493 1565499 1565528 1565536 1565677 1565900 1565913 1566001 1566002 1566038 1566164 1566236 1566262 1566272 1566308 1566317 1566319 1566320 1566327 1566403 1566435 1566438 1566537 1566544 1566580 1566581 1566588 1566599 1566614 1566632 1566687 1566689 1566698 1566700 1566741 1566786 1566826 1566855 1566895 1566896 1566901 1566915 1566921 1567010 1567064 1567066 1567067 1567129 1567171 1567186 1567213 1567245 1567268 1567285 1567345 1567346 1567379 1567499 1567501 1567518 1567555 1567609 1567627 1567656 1567704 1567746 1567753 1567769 1567775 1567929 1567931 1567935 1567939 1567966 1567988 1568020 1568042 1568044 1568080 1568085 1568091 1568094 1568170 1568185 1568209 1568328 1568389 1568534 1568578 1568699 1568706 1568718 1568719 1568721 1568723 1568724 1568843 1568858 1568859 1568876 1568962 1568974 1569056 1569090 1569165 1569170 1569228 1569237 1569262 1569279 1569280 1569281 1569283 1569299 1569320 1569335 1569337 1569379 1569385 1569389 1569443 1569453 1569458 1569513 1569570 1569619 1569757 1569781 1569841 1569856 1569857 1569890 1569961 1569963 1569978 1570123 1570130 1570187 1570213 1570232 1570308 1570321 1570417 1570478 1570484 1570502 1570504 1570570 1570685 1570828 1570833 1570871 1570906 1571131 1571133 1571144 1571224 1571225 1571226 1571228 1571243 1571364 1571377 1571574 1571575 1572485 1572543 1572548 1572572 1572595 1572635 1572637 1572661 1572664 1572690 1572696 1572727 1572754 1572762 1572775 1572778 1572779 1572795 1572802 1572805 1572810 1572811 1576658 1576659 1576662 1576711 1576729 1576750 1576758 1576770 1576820 1576822 1576824 1576826 1576869 1576960 1576966 1577030 1577176 1577331 1577357 1578092 1578181 1578648 1578671 1578811 1578815 1578836 1578837 1578842 1579206 1579267 1579268 1579270 1579281 1579289 1579290 1579291 1579292 1579297 1579312 1579313 1579319 1579322 1579323 1579330 1579331 1579332 1579334 1579343 1579344 1579348 1579350 1579357 1579360 1579362 1579364 1579365 1579367 1579373 1579376 1579380 1579383 1579384 1579388 1579392 1579393 1579397 1579405 1579409 1579410 1579415 1579418 1579422 1579426 1579427 1579429 1579430 1579431 1579432 1579433 1579440 1579761 1586723 1586744 1586766 1586786 1586905 1586997 1587002 1587018 1587044 1587070 1587082 1587092 1587095 1587106 1587110 1587143 1587163 1587179 1587181 1587924 1587930 1587944 1587957 1587975 1588033 1588144 1588150 1588201 1588219 1588243 1588339 1588342 1588494 1588516 1588519 1588551 1588560 1588587 1588613 1588614 1588621 1588661 1588717 1588738 1588750 1588753 1588773 1588823 1588829 1589032 1589068 1589110 1589171 1589194 1589224 1589268 1589317 1589326 1589357 1589388 1589399 1589416 1589557 1589560 1589569 1589613 1589636 1589647 1589658 1589699 1589754 1589805 1589838 1589846 1589879 1589882 1589890 1589893 1589925 1589969 1590095 1590161 1590344 1590504 1590525 1590773 1601138 1601139 1601151 1601176 1601186 1601218 1601286 1601296 1601338 1601342 1601499 1601579 1601597 1601608 1601614 1601617 1601651 1601677 1601697 1601714 1601762 1601796 1601844 1601854 1601858 1601911 1601936 1601952 1601991 1602009 1602092 1602099 1602180 1602232 1602245 1602258 1602271 1602298 1602316 1602364 1602374 1602394 1602433 1602443 1602470 1602511 1602548 1602612 1602702 1602716 1602761 1602789 1602832 1602861 1602876 1608242 1608294 1608295 1608319 1608323 1608327 1608551 1608587 1608589 1608615 1608640 1608655 1608671 1608746 1608770 1608879 1609107 1609142 1609165 1609177 1609683 1609706 1609727 1609739 1609743 1609818 1609850 1609919 1610245 1610370 1610389 1610421 1610436 1610481 1610767 1610796 1610890 1610919 1611088 1611313 1611493 1611510 1611640 1611699 1611842 1611985 1612024 1612106 1612171 1612190 1612191 1612278 1612449 1612456 1612496 1612849 1612880 1612984 1613021 1613391 1613398 1613399 1613423 1613430 1613485 1613553 1613593 1613621 1613880 1613924 1613952 1613953 1613954 1613957 1613997 1613998 1614007 1614029 1614132 1614412 1614450 1614463 1614474 1614477 1614506 1614540 1614557 1614560 1614561 1614609 1614658 1614664 1614702 1614968 1614973 1615034 1615035 1615047 1615056 1615057 1615089 1615102 1615111 1615183 1615241 1615521 1615613 1615643 1615645 1615657 1615662 1615664 1615665 1615794 1616197 1616289 1616558 1616583 1616742 1617066 1617202 1617247 1617265 1617586 1618093 1618096 1618233 1618273 1618310 1618332 1618612 1618751 1618777 1618782 1619621 1619622 1619625 1619629 1620001 1620010 1620047 1620239 1620263 1620265 1620287 1620289 1620426 1620450 1620460 1620923 1621234 1744687 1822614 1822704 1822773 1822780 1823300 1823520 1823619 1823782 1823927 1824180 1824670 1824761 1825410 1825497 1825547 1825549 1825854 1826328 1826415 1826435 1826471 1826950 1837441 1842747 1846919 1846989 1853685 1968833 2239319 2239905 2240226 2681123 2681322 2681637 3147205 3469646 3469921 3470428)\n(109 869 2022 2125 2168 3625 3749 3946 4047 4755 4953 5337 6135 6622 6932 7335 7336 7341 7977 8720 8791 8802 8865 9169 9210 9211 9263 10028 10196 10197 10283 12252 14756 15148 15920 16679 17102 17439 17987 18210 18874 19240 22276 22386 22523 23120 23263 23657 23753 23969 24700 25125 28726 30348 30736 31357 32088 32094 32098 32100 32101 32335 32385 32503 34246 34670 34727 35431 35510 35576 35853 36563 36642 37883 38382 40811 41353 42281 42527 42785 52387 55261 60207 60303 63734 65919 66582 77273 80354 85245 85835 86369 86372 86598 86707 86740 86767 86964 87040 87114 87179 110609 110805 115668 120496 123799 146898 162740 162741 162748 162751 164664 175780 242207 242316 242437 242724 242725 242726 242728 242729 242766 242767 242768 242769 242773 242774 242775 242870 242871 242872 243055 259839 282633 282634 282635 304065 304068 319543 327250 330090 330091 330092 330094 330098 330099 330100 330102 330103 330104 330148 330149 330150 330151 330152 330153 330154 330155 330156 330157 330159 330160 330165 330166 330167 330170 330171 330175 330178 330180 330182 330184 330186 330187 330188 330189 330190 330191 330193 330194 330195 330196 330197 330199 330200 330201 330202 330203 330204 330206 330208 330209 330210 330211 330212 330213 330214 330215 330216 330217 330219 330220 330222 330223 330224 330225 330226 330228 330229 330231 330232 330234 330236 330237 330240 330243 330244 330245 330246 330247 330248 330251 330253 330254 330256 330259 330260 330261 330263 330264 330266 330267 330268 330269 330270 330271 330272 330273 330275 330276 330279 330280 330281 330282 330286 330287 330291 330292 330293 330294 330295 330296 330301 330302 330303 330304 330305 330306 330307 330308 330309 330312 330313 330314 330318 330319 330320 330321 330322 330323 330325 330326 330327 330328 330332 330333 330334 330336 330338 330339 330340 330341 330342 330345 330346 330347 330348 330349 330356 330357 330358 330360 330361 330362 330367 330369 330370 330371 330372 330374 330375 330376 330377 330378 330380 330381 330382 330383 330385 330386 330387 330390 330391 330392 330395 330396 330399 330400 330401 330402 330404 330407 330408 330409 330410 330413 330414 330415 330416 330418 330428 330429 330431 330432 330433 330444 330447 330452 330453 330454 330455 330456 330457 330462 330463 330464 330465 330466 330467 330468 330470 330471 330473 330474 330475 330476 330477 330481 330482 330486 330489 330490 330492 330498 330502 330505 330506 330507 330508 330509 330513 330514 330515 330516 330517 330519 330522 330523 330524 330526 330527 330529 330531 330532 330533 330534 330535 330537 330538 330539 330540 330541 330542 330543 330544 330545 330546 330555 330556 330557 330558 330559 330560 330561 330562 330563 330565 330568 330569 330570 330571 330572 330574 330575 330576 330577 330579 330580 330581 330582 330583 330585 330586 330587 330589 330590 330592 330595 330599 330602 330603 330604 330607 330609 330613 330614 330617 330620 330622 330624 330626 330627 330628 330637 330638 330640 330641 330645 330649 330650 330651 330652 330653 330654 330655 330656 330657 330658 330659 330660 330661 330663 330664 330667 330668 330670 330671 330672 330673 330674 330675 330679 330684 330685 330691 330692 330693 330694 330696 330697 330699 330701 330702 330703 330704 330707 330710 330711 330712 330719 330721 330722 330723 330724 330725 330728 330732 330733 330735 330736 330738 330740 330741 330742 330744 330745 330746 330747 330750 330751 330752 330756 330757 330759 330760 330762 330763 330764 330767 330768 330769 330771 330773 330774 330775 330776 330777 330778 330779 330781 330782 330783 330784 330785 330786 330787 330788 330789 330791 330792 330793 330794 330795 330796 330797 330799 330800 330802 330803 330804 330808 330809 330812 330813 330814 330815 330817 330818 330820 330821 330822 330823 330824 330825 330826 330827 330828 330829 330830 330833 330836 330838 330839 330840 330841 330844 330845 330847 330848 330849 330850 330854 330856 330857 330859 330862 330863 330866 330870 330871 330872 330873 330874 330875 330877 330885 330886 330887 330888 330889 330891 330893 330896 330897 330898 330899 330900 330903 330904 330905 330906 330909 330910 330911 330912 330913 330914 330915 330916 330917 330918 330919 330920 330922 330923 330926 330927 330928 330929 330930 330932 330933 330934 330935 330936 330938 330940 330941 330944 330946 330947 330948 330951 330953 330954 330955 330956 330959 330960 330962 330966 330967 330968 330971 330972 330973 330974 330978 330979 330981 330982 330983 330988 330991 330992 330996 331000 331003 331004 331006 331008 331010 331012 331013 331014 331015 331018 331021 331023 331024 331025 331027 331029 331030 331033 331036 331037 331038 331039 331040 331041 331045 331048 331049 331050 331052 331053 331054 331055 331056 331057 331058 331059 331064 331065 331068 331069 331071 331073 331074 331077 331078 331081 331083 331085 331086 331087 331090 331093 331094 331095 331096 331097 331098 331099 331101 331103 331104 331105 331109 331110 331114 331118 331120 331121 331122 331123 331124 331125 331127 331129 331131 331133 331139 331140 331141 331143 331144 331145 331147 331149 331150 331151 331153 331155 331157 331160 331164 331167 331169 331170 331171 331174 331175 331178 331180 331181 331182 331183 331187 331188 331189 331190 331191 331192 331194 331195 331196 331197 331199 331200 331201 331202 331203 331205 331207 331208 331209 331211 331214 331217 331219 331221 331222 331224 331225 331227 331230 331231 331232 331233 331234 331235 331240 331241 331242 331243 331244 331245 331247 331249 331251 331252 331253 331254 331255 331259 331260 331262 331263 331265 331266 331267 331268 331269 331270 331273 331274 331276 331277 331280 331281 331282 331283 331285 331286 331288 331289 331291 331292 331296 331297 331298 331299 331300 331302 331303 331304 331307 331308 331309 331310 331311 331313 331315 331318 331319 331320 331322 331324 331327 331329 331330 331331 331332 331334 331336 331339 331341 331342 331343 331347 331348 331352 331354 331355 331356 331360 331362 331363 331364 331366 331367 331368 331369 331370 331374 331375 331380 331381 331382 331384 331385 331386 331388 331392 331395 331396 331398 331402 331403 331406 331408 331409 331413 331414 331417 331418 331425 331427 331428 331431 331432 331433 331435 331436 331438 331442 331444 331445 331449 331451 331452 331454 331455 331458 331459 331460 331461 331462 331464 331465 331466 331467 331468 331469 331470 331471 331473 331477 331478 331479 331480 331481 331482 331484 331485 331486 331487 331490 331491 331493 331496 331497 331498 331500 331501 331502 331506 331507 331508 331509 331510 331511 331512 331513 331514 331515 331516 331517 331518 331523 331524 331525 331526 331530 331538 331539 331540 331542 331549 331550 331551 331552 331553 331554 331555 331556 331557 331558 331559 331560 331561 331562 331563 331564 331570 331571 331572 331574 331575 331576 331577 331578 331579 331580 331584 331585 331586 331587 331588 331589 331590 331593 331594 331598 331600 331601 331602 331603 331605 331606 331607 331612 331613 331614 331616 331617 331622 331626 331628 331629 331630 331631 331632 331633 331634 331638 331645 331646 331647 331649 331652 331653 331655 331656 331657 331658 331659 331660 331662 331663 331664 331665 331666 331669 331672 331673 331674 331676 331677 331678 331679 331680 331681 331684 331688 331690 331691 331703 331705 331729 331730 331731 331732 331734 331735 331736 331739 331741 331742 331743 331745 331746 331747 331748 331756 331757 376207 376217 376238 376608 392737 440010 440012 440283 440302 440305 440306 440307 440308 440310 440323 440328 440330 440343 440347 440350 440352 440357 440358 440365 440367 440370 440372 440377 440380 440381 440382 440385 440386 440388 440389 440390 440391 440392 440393 440404 440405 443307 446208 446211 446213 446214 446217 446219 446220 446221 446223 446224 446228 446234 446235 446237 446240 446242 446243 446248 446250 446251 446254 446255 446256 446258 446259 446260 446263 446265 446266 446269 446271 446273 446275 446276 446280 446282 446283 446290 446292 446295 446296 446301 446307 450019 450032 450033 453135 453151 453247 453265 453266 453281 453354 453397 487824 487886 487892 487896 487897 487934 521083 521085 521087 522455 522456 522457 522458 522459 522460 522462 522463 522464 522465 522466 522467 522468 522470 522471 524485 524796 524797 524798 524824 524871 524872 524873 524874 524876 524878 524882 524884 524885 524886 524887 524895 524896 524898 524901 524902 524903 524904 524949 524951 524953 524954 524981 524982 543468 546807 546888 553040 553085 553175 553293 553344 553350 553379 553380 553381 553382 553399 556573 556574 557858 563240 563320 567350 567352 567356 567358 578489 582537 582539 598230 599067 599279 600402 600609 600624 655880 678440 678450 678453 678474 682475 682476 682477 682478 682479 682480 682482 682485 682487 682489 682492 682493 682494 684065 684067 684339 686897 686898 686899 696723 696737 696758 696803 696841 696858 696940 696979 697018 697022 697038 697045 697048 697049 697055 697056 697064 697066 697076 697080 697093 697105 697110 697138 697139 697143 697147 697152 697157 697169 697176 697185 697192 697197 697198 697205 697206 697222 697228 697230 697236 697238 700258 700268 718405 740009 751735 752222 752223 752226 752227 752228 752326 752328 752336 752337 752338 752339 752340 770993 771673 772382 795673 808501 808502 808935 868961 868970 869001 869005 872905 873037 873094 874048 874159 877851 877891 884217 884950 884951 884952 884955 884961 884970 884981 884982 884984 884985 884999 885003 885012 885016 885226 885305 885306 886371 886512 886513 920292 936038 936041 936042 936043 936045 936067 936070 936079 936082 936179 936181 936216 936217 936242 937608 937646 937882 939811 939911 939929 946565 946566 946568 946569 946573 946574 946575 946577 946580 946581 946600 946601 946607 946608 946611 946612 946614 946615 946617 946620 946621 946644 946645 946692 946715 946741 946743 946744 946745 946748 946846 946891 946893 946894 946914 947360 947361 947367 947370 947371 947374 947381 947389 947391 947392 947421 947564 947566 947567 947573 949118 949119 949120 949248 949289 949298 949299 949314 949544 949569 949745 949746 949790 949796 949797 949798 949800 949801 949802 949805 949809 949810 949812 949814 949816 949817 949818 949819 949820 949822 949825 949826 949829 949830 949831 949832 949833 949834 949836 949838 949839 949842 949843 949844 949845 949846 949848 949849 949850 949851 949852 949862 949864 949865 949866 949868 949869 949872 949873 949886 949887 949888 949890 949891 949897 949898 949899 949900 949901 949902 949903 949904 949905 949911 949931 949932 949933 949935 949937 949938 949939 949941 949942 949943 949946 949947 949948 949949 949950 949951 949952 949953 949954 949955 949956 949957 949958 949961 949963 949964 949965 949967 949968 949969 949970 949971 949972 949973 949974 949975 949976 949977 949978 949979 949980 949981 949982 949984 949985 949991 949992 949993 949994 949996 949997 949998 949999 950000 950002 950003 950004 950005 950007 950008 950009 950010 950011 950012 950013 950014 950015 950016 950017 950018 950019 950020 950021 950022 950023 950025 950026 950027 950029 950030 950031 950032 950033 950038 950040 950041 950046 950048 950049 950050 950051 950054 950055 950058 950059 950061 950062 950063 950066 950067 950068 950069 950070 950072 950073 950074 950075 950076 950077 950078 950079 950081 950082 950083 950084 950085 950087 950088 950089 950091 950092 950097 950098 950099 950100 950101 950128 950129 950130 950144 950147 950148 950149 950153 969704 969705 969706 969707 969708 969711 969712 969713 969714 969715 969716 969717 969718 969719 969722 969724 969725 969726 969727 969728 969729 969732 969733 969734 969735 969736 969737 969738 969739 969740 969742 969743 969744 969745 969746 969747 969754 969755 971873 971874 971875 971876 971877 971878 973446 973447 973451 993598 993599 993600 993601 993603 993604 993645 994439 994524 995002 995003 995143 995145 995149 995160 995181 995189 996289 996290 996291 996292 996293 996300 996301 996302 996303 996304 996305 996306 996307 996314 996315 996316 996317 996318 996319 996321 996323 996324 996325 996327 996329 996330 996331 996388 996392 996394 996395 996397 996402 996404 996406 996407 996409 996414 996415 996416 996417 996418 996419 996420 996421 996422 996425 996426 996427 996428 996430 996431 996432 996433 996434 996436 996439 996440 996445 996446 996456 996458 996459 996460 996461 996462 996466 996468 996469 996470 996472 996473 996474 996476 996477 996478 996481 996483 996484 996487 996488 996490 996492 996493 996494 996495 996498 996500 996501 996502 996504 996505 996506 996507 996512 996513 996514 996515 996518 996521 996522 996523 996524 996525 996526 996527 996528 996529 996530 996531 996532 996533 996534 996536 996537 996539 996540 996541 996542 996545 996546 996547 996548 996550 996551 996552 996553 996555 996556 996558 996559 996560 996562 996563 996564 996565 996566 996567 996569 996571 996572 996573 996574 996575 996576 996577 996578 996579 996580 996581 996582 996583 996584 996586 996588 996592 996593 996594 996595 996596 996598 996599 996600 996601 996602 996603 996604 996605 996607 996608 996609 996610 996611 996612 996613 996614 996615 996616 996617 996618 996619 996620 996621 996622 996623 996624 996625 996627 996628 996629 996630 996631 996633 996635 996636 996637 996638 996641 996642 996644 996646 996647 996648 996649 996650 996651 996652 996653 996655 996658 996660 996661 996662 996665 996666 996667 996668 996669 996671 996672 996673 996674 996675 996676 996677 996678 996679 996682 996684 996685 996687 996688 996689 996690 996691 996692 996694 996695 996696 996703 996704 996705 996706 996707 996710 996712 996713 996715 996716 996719 996720 996723 996724 996725 996726 996727 996728 996729 996730 996731 996734 996735 996739 996740 996741 996743 996744 996745 996746 996747 996749 996750 996751 996752 996754 996755 996756 996757 996759 996760 996761 996763 996764 996765 996767 996769 996770 996771 996772 996773 996774 996776 996777 996778 996779 996782 996783 996786 996787 996789 996790 996791 996796 996802 996803 996805 996807 996810 996811 996812 996813 996814 996815 996816 996817 996818 996819 996820 996821 996822 996823 996824 996825 996826 996827 996828 996829 996830 996831 996832 996833 996834 996835 996838 996839 996842 996843 996844 996845 996847 996848 996849 996850 996851 996852 996854 996855 996856 996857 996858 996859 996860 996861 996862 996863 996864 996865 996866 996868 996869 996870 996871 996872 996873 996876 996877 996878 996880 996881 996883 996884 996885 996886 996892 996896 996899 996900 996901 996902 996904 996906 996907 996908 996909 996910 996912 996913 996914 996916 996917 996918 996919 996920 996921 996922 996923 996924 996925 996926 996928 996929 996930 996931 996932 996933 996934 996935 996936 996937 996938 996940 996941 996943 996944 996946 996947 996948 996951 996952 996953 996954 996955 996956 996959 996960 996961 996962 996963 996967 996968 996971 996973 996974 996975 996976 996977 996982 996983 996989 996992 996995 996996 996997 996999 997000 997001 997002 997004 997007 997013 997018 997028 997031 997034 997036 997040 997042 997044 997057 997058 997059 997061 997062 997063 997064 997065 997066 997069 997074 997075 997076 997077 997079 997082 997083 997084 997085 997087 997088 997090 997092 997093 997094 997095 997096 997098 997100 997101 997103 997104 997105 997106 997111 997112 997113 997114 997117 997118 997119 997120 997121 997122 997123 997124 997125 997126 997127 997129 997131 997132 997133 997135 997137 997139 997140 997142 997143 997144 997145 997147 997148 997150 997155 997156 997157 997158 997159 997160 997161 997162 997163 997164 997165 997166 997167 997170 997171 997172 997173 997174 997175 997177 997178 997179 997182 997183 997184 997186 997187 997188 997189 997190 997191 997192 997193 997194 997195 997196 997197 997198 997199 997202 997203 997204 997205 997207 997209 997210 997211 997212 997213 997215 997217 997220 997221 997227 997231 997233 997235 997236 997238 997243 997245 997246 997247 997248 997249 997250 997251 997252 997257 997261 997263 997267 997268 997269 997270 997271 997273 997274 997275 997276 997277 997278 997279 997281 997282 997287 997288 997289 997290 997291 997292 997293 997295 997296 997297 997298 997299 997300 997301 997302 997303 997304 997305 997306 997751 997752 998026 999581 1000490 1000497 1000508 1000509 1000510 1000512 1000529 1000534 1000541 1000543 1000546 1000549 1000550 1000557 1000558 1000559 1000560 1000574 1000575 1000578 1000580 1000584 1000585 1000588 1000595 1000597 1000599 1000607 1000608 1000609 1000610 1000618 1000622 1000623 1000628 1000629 1000631 1000632 1000633 1000634 1000635 1000636 1000638 1000639 1000644 1000646 1000651 1000658 1000659 1000661 1000662 1000664 1000667 1000668 1000669 1000673 1000674 1000678 1000679 1000680 1000684 1000685 1000688 1000689 1000694 1000696 1000697 1000698 1000711 1000713 1000717 1000718 1000719 1000722 1000725 1000730 1000731 1000732 1000738 1000739 1000740 1000741 1000744 1000747 1000750 1000755 1000756 1000761 1000762 1000768 1000775 1000776 1000778 1000781 1000782 1000785 1000786 1000787 1000788 1000790 1000792 1000801 1000810 1000811 1000818 1000819 1000820 1000821 1000823 1000829 1000830 1000831 1000833 1000841 1000842 1000848 1000849 1000850 1000851 1000852 1000855 1000857 1000860 1000861 1000862 1000864 1000874 1000876 1000882 1000883 1000884 1000894 1000897 1000901 1000902 1000905 1000906 1000914 1000915 1000916 1000917 1000918 1000921 1000922 1000923 1000924 1000925 1000926 1000927 1000928 1000929 1000932 1000933 1000937 1000941 1000942 1000944 1000947 1000948 1000951 1000952 1000954 1000955 1000956 1000957 1000958 1000959 1000963 1000970 1000971 1000974 1000975 1000976 1000977 1000978 1000979 1000980 1000983 1000984 1000985 1000986 1000987 1000988 1000989 1000991 1000992 1000993 1000994 1000995 1000998 1001000 1001002 1001003 1001004 1001005 1001008 1001009 1001010 1001012 1001013 1001014 1001015 1001017 1001020 1001022 1001023 1001028 1001029 1001030 1001031 1001034 1001035 1001037 1001038 1001039 1001040 1001041 1001042 1001043 1001044 1001048 1001055 1001059 1001060 1001067 1001072 1001081 1001084 1001088 1001091 1001092 1001093 1001096 1001098 1001099 1001100 1001101 1001106 1001109 1001113 1001125 1001128 1001129 1001136 1001137 1001138 1001139 1001143 1001147 1001150 1001151 1001152 1001153 1001154 1001156 1001157 1001158 1001160 1001162 1001163 1001164 1001165 1001166 1001173 1001174 1001175 1001177 1001178 1001180 1001181 1001184 1001185 1001188 1001191 1001195 1001197 1001200 1001201 1001202 1001204 1001211 1001216 1001219 1001221 1001223 1001224 1001227 1001229 1001230 1001235 1001236 1001237 1001240 1001243 1001246 1001249 1001278 1001280 1001284 1001285 1001286 1001288 1001291 1001292 1001296 1001297 1001298 1001299 1001300 1001301 1001302 1001303 1001304 1001307 1001308 1001312 1001313 1001315 1001317 1001319 1001320 1001322 1001323 1001324 1001329 1001330 1001332 1001333 1001335 1001338 1001339 1001343 1001344 1001347 1001351 1001353 1001354 1001355 1001356 1001359 1001360 1001361 1001362 1001363 1001369 1001370 1001371 1001372 1001375 1001376 1001377 1001378 1001379 1001383 1001384 1001385 1001388 1001389 1001393 1001394 1001822 1001827 1001834 1001836 1002026 1002029 1002030 1002031 1002032 1002033 1002034 1002035 1002037 1002038 1002039 1002046 1002051 1002056 1002058 1002062 1002064 1002065 1002073 1002074 1002075 1002076 1002078 1002084 1002086 1002322 1002331 1002338 1002340 1002344 1002346 1002350 1002355 1002357 1002358 1002359 1002360 1002364 1002367 1002372 1002376 1002377 1002378 1002695 1002696 1002698 1002703 1002704 1002705 1002708 1002711 1002712 1002713 1002717 1002719 1002720 1002721 1002722 1002732 1002738 1002739 1002741 1002742 1002744 1002745 1002746 1002747 1002748 1002749 1002751 1002754 1002755 1002756 1002758 1002760 1002761 1002762 1002764 1002765 1002766 1002767 1002769 1002771 1002774 1002776 1002777 1002778 1002788 1002792 1002794 1002795 1002800 1002801 1002802 1002803 1002804 1002805 1002808 1002810 1002811 1002812 1002813 1002816 1002817 1002829 1002831 1002845 1002853 1002855 1002857 1002860 1002862 1003536 1003541 1003542 1003543 1003545 1003548 1003550 1003551 1003555 1003559 1003561 1003562 1003896 1003897 1003906 1003909 1003910 1003913 1003917 1003931 1003932 1003936 1003941 1003942 1003946 1003950 1003951 1003957 1003961 1003962 1003964 1003967 1003968 1003969 1003970 1003974 1003978 1003980 1003984 1003986 1003988 1003989 1003990 1003991 1003993 1004002 1004006 1004007 1004008 1004010 1004015 1004019 1004021 1004022 1004023 1004024 1004027 1004030 1004031 1004035 1004319 1004323 1004324 1004326 1004327 1004328 1004330 1004331 1004333 1004334 1004335 1004338 1004340 1004342 1004343 1004344 1004347 1004348 1004353 1004357 1004364 1004619 1004620 1004626 1004632 1004633 1004635 1004636 1004637 1004638 1004649 1004705 1004735 1004877 1004878 1004885 1004886 1004887 1004888 1004890 1004893 1004898 1004900 1004905 1004906 1004909 1004910 1004914 1004916 1004917 1004919 1004922 1004923 1004924 1004929 1004933 1004934 1004940 1004941 1004950 1004957 1004982 1004988 1004999 1005000 1005001 1005002 1005009 1005013 1005016 1005019 1005021 1005025 1005036 1005037 1005038 1005039 1005041 1005049 1005055 1005056 1005057 1005058 1005452 1005463 1005464 1005465 1005466 1005467 1005474 1005630 1005635 1005636 1005641 1005642 1005643 1005644 1005646 1005658 1005709 1005710 1005749 1005753 1005761 1005763 1005764 1005765 1005768 1005857 1005858 1005872 1005880 1005881 1005882 1005888 1005889 1005892 1005893 1005905 1005911 1005912 1005913 1005914 1005919 1005921 1005922 1005924 1005925 1005928 1005929 1005932 1005934 1005951 1005956 1005958 1005959 1005962 1005964 1005978 1005986 1005987 1006208 1006294 1006295 1006298 1006299 1006300 1006303 1006304 1006307 1006308 1006309 1006311 1006317 1006323 1006412 1006413 1006414 1006435 1006436 1006483 1006484 1006489 1006494 1006495 1006498 1006499 1006500 1006501 1006502 1006634 1006635 1006704 1006706 1006767 1006768 1006772 1006773 1006780 1006810 1006812 1006816 1006818 1006828 1006829 1006832 1006834 1006836 1006837 1006838 1006841 1006842 1006844 1006845 1006847 1006848 1006849 1006850 1006851 1006888 1006889 1006890 1006892 1006896 1006936 1006940 1006972 1006987 1006992 1006993 1006999 1007000 1007002 1007005 1007008 1007013 1007015 1007016 1007017 1007043 1007044 1007045 1007048 1007049 1007072 1007087 1007089 1007091 1007092 1007100 1007105 1007123 1007125 1007130 1007132 1007311 1007344 1007345 1007346 1007349 1007351 1007354 1007356 1007360 1007361 1007362 1007363 1007366 1007367 1007368 1007372 1007374 1007380 1007382 1007384 1007397 1007399 1007407 1007408 1007453 1007487 1007493 1007506 1007507 1007508 1007509 1007510 1007557 1007623 1007624 1007627 1007628 1007629 1007671 1007695 1007696 1007697 1007699 1007700 1007720 1007721 1007724 1007726 1007729 1007731 1007732 1007744 1007760 1007761 1007762 1007764 1007767 1007792 1007793 1007797 1007801 1007802 1007806 1007810 1007811 1007813 1007814 1007815 1007818 1007819 1007822 1007824 1007825 1007829 1007830 1007848 1007849 1007851 1007857 1007861 1007920 1007923 1007989 1007993 1008028 1008029 1008030 1008031 1008032 1008043 1008048 1008052 1008083 1008085 1008086 1008088 1008090 1008092 1008093 1008094 1008095 1008110 1008125 1008129 1008132 1008133 1008134 1008138 1008139 1008142 1008143 1008151 1008152 1008168 1008174 1008176 1008177 1008179 1008225 1008226 1008228 1008229 1008238 1008239 1008240 1008244 1008251 1008254 1008255 1008256 1008257 1008260 1008264 1008265 1008267 1008298 1008329 1008330 1008331 1008333 1008335 1008470 1008471 1008473 1008474 1008477 1008484 1008487 1008496 1008502 1008503 1008519 1008523 1008526 1008543 1008551 1008559 1008565 1008566 1008571 1008574 1008578 1008581 1008582 1008587 1008590 1008593 1008599 1008600 1008601 1008602 1008672 1008741 1008742 1008799 1008801 1008907 1008909 1008918 1008920 1008921 1008929 1008933 1008936 1008937 1008946 1008947 1008986 1009011 1009013 1009027 1009028 1009029 1009033 1009036 1009039 1009048 1009049 1009053 1009068 1009090 1009091 1009102 1009110 1009127 1009130 1009134 1009138 1009139 1009164 1009169 1009170 1009171 1009173 1009186 1009204 1009236 1009363 1009366 1009367 1009368 1009386 1009417 1009455 1009456 1009463 1009464 1009470 1009472 1009473 1009474 1009518 1009519 1009521 1009522 1009530 1009531 1009540 1009544 1009546 1009550 1009555 1009560 1009561 1009564 1009574 1009576 1009598 1009609 1009611 1009619 1009627 1009629 1009631 1009638 1009657 1009662 1009667 1009668 1009720 1009722 1009724 1009727 1009728 1009732 1009734 1009735 1009736 1009737 1009748 1009769 1009770 1009771 1009774 1009775 1009776 1009783 1009790 1009797 1009798 1009801 1009802 1009807 1009809 1009822 1009823 1009824 1009829 1009839 1009843 1009844 1009845 1009846 1009847 1009848 1009853 1009857 1009864 1009875 1009877 1009878 1009908 1009910 1009911 1009912 1009913 1009916 1009917 1009921 1009926 1009936 1009942 1009954 1010017 1010096 1010097 1010099 1010134 1010168 1010185 1010360 1010394 1010398 1010399 1010404 1010405 1010511 1010512 1010513 1010516 1010567 1010568 1010570 1010571 1010574 1010591 1010592 1010621 1010702 1010703 1010704 1010766 1010767 1010792 1010793 1010794 1010799 1010804 1010806 1010812 1010821 1010822 1010825 1010831 1010832 1010838 1010845 1010848 1010859 1010860 1010861 1010863 1010944 1010945 1010950 1010954 1010955 1010957 1010958 1010959 1010961 1010962 1010963 1010967 1010968 1010969 1010970 1010971 1011009 1011010 1011044 1011047 1011050 1011056 1011057 1011059 1011067 1011070 1011073 1011074 1011076 1011083 1011091 1011096 1011101 1011103 1011104 1011105 1011111 1011158 1011181 1011182 1011211 1011416 1011421 1011424 1011427 1011449 1011511 1011520 1011522 1011569 1011570 1011571 1011592 1011595 1011658 1011668 1011669 1011670 1011684 1011685 1011688 1011693 1011694 1011696 1011698 1011708 1011714 1011722 1011743 1011796 1011799 1011801 1011804 1011805 1011806 1011808 1011810 1011813 1011815 1011816 1011856 1011901 1011902 1011903 1011905 1011906 1011929 1011930 1011931 1011932 1011943 1011979 1011990 1012097 1012126 1012144 1012145 1012147 1012154 1012229 1012232 1012233 1012234 1012239 1012240 1012274 1012343 1012348 1012352 1012358 1012359 1012360 1012367 1012370 1012371 1012372 1012374 1012388 1012390 1012391 1012398 1012399 1012400 1012403 1012404 1012406 1012412 1012426 1012428 1012483 1012535 1012537 1012539 1012541 1012543 1012544 1012546 1012553 1012554 1012569 1012575 1012584 1012585 1012589 1012592 1012593 1012596 1012600 1012605 1012606 1012607 1012610 1012738 1012777 1012778 1012847 1012903 1012953 1012957 1012958 1012963 1012966 1012967 1012968 1012970 1012971 1012973 1012974 1012977 1012978 1012982 1012984 1013015 1013017 1013018 1013040 1013041 1013050 1013054 1013055 1013056 1013191 1013193 1013194 1013196 1013198 1013294 1013332 1013333 1013394 1013404 1013405 1013406 1013410 1013433 1013434 1013435 1013440 1013524 1013527 1013531 1013533 1013534 1013536 1013538 1013629 1013660 1013661 1013662 1013664 1013666 1013699 1013701 1013705 1013719 1013724 1013725 1013740 1013748 1013749 1013756 1013762 1013763 1013765 1013766 1013767 1013835 1013836 1013844 1013845 1013850 1013851 1013906 1013909 1013987 1013990 1013991 1013994 1013995 1013996 1013997 1014002 1014003 1014098 1014141 1014142 1014143 1014146 1014154 1014169 1014171 1014174 1014175 1014176 1014187 1014188 1014193 1014195 1014199 1014201 1014202 1014203 1014207 1014208 1014209 1014339 1014340 1014351 1014361 1014369 1014372 1014374 1014375 1014382 1014385 1014404 1014406 1014435 1014436 1014446 1014454 1014456 1014459 1014468 1014488 1014489 1014490 1014492 1014493 1014496 1014501 1014502 1014511 1014512 1014514 1014518 1014522 1014523 1014534 1014560 1014589 1014593 1014594 1014603 1014648 1014656 1014659 1014664 1014671 1014678 1014683 1014691 1014693 1014694 1014704 1014710 1014713 1014714 1014715 1014719 1014721 1014724 1014725 1014726 1014727 1014730 1014731 1014732 1014738 1014744 1014748 1014755 1014761 1014762 1014769 1014770 1014771 1014775 1014777 1014781 1014783 1014784 1014789 1014790 1014795 1014796 1014798 1014799 1014802 1014803 1014809 1014811 1014814 1014823 1014828 1014829 1014835 1014841 1014850 1014852 1014859 1014860 1014875 1014877 1014878 1014879 1014880 1014884 1014886 1014887 1014889 1014890 1014892 1014896 1014899 1014901 1014902 1014907 1014913 1014915 1014916 1014917 1014918 1014919 1014920 1014921 1014923 1014924 1014926 1014932 1014934 1014935 1014937 1014941 1014942 1014943 1014974 1014995 1014996 1015000 1015002 1015016 1015032 1015033 1015034 1015036 1015039 1015046 1015047 1015048 1015077 1015100 1015106 1015108 1015114 1015115 1015121 1015122 1015135 1015138 1015140 1015141 1015142 1015144 1015145 1015146 1015147 1015148 1015151 1015152 1015153 1015155 1015165 1015186 1015188 1015193 1015211 1015212 1015214 1015215 1015216 1015220 1015223 1015232 1015241 1015247 1015254 1015255 1015256 1015258 1015259 1015270 1015277 1015282 1015351 1015352 1015354 1015355 1015356 1015357 1015358 1015359 1015361 1015364 1015366 1015382 1015384 1015388 1015389 1015390 1015395 1015398 1015415 1015554 1015555 1015559 1015560 1015569 1015570 1015575 1015583 1015586 1015587 1015590 1015597 1015599 1015611 1015650 1015654 1015694 1015710 1015712 1015867 1015871 1015873 1015880 1015886 1015887 1015916 1015918 1015919 1015923 1015955 1015959 1015960 1015962 1015963 1015965 1015976 1015981 1015989 1015995 1015999 1016001 1016010 1016011 1016014 1016015 1016020 1016082 1016084 1016085 1016091 1016092 1016093 1016152 1016157 1016159 1016177 1016178 1016182 1016185 1016328 1016329 1016374 1016376 1016378 1016379 1016382 1016472 1016475 1016476 1016478 1016480 1016484 1016532 1016562 1016563 1016565 1016574 1016576 1016583 1016594 1016673 1016687 1016688 1016691 1016695 1016700 1016701 1016704 1016706 1016711 1016717 1016740 1016758 1016760 1016845 1016868 1016870 1016871 1016874 1016880 1016939 1016940 1016941 1016945 1016951 1016953 1016954 1016955 1016964 1016969 1016970 1016972 1017036 1017040 1017041 1017056 1017059 1017064 1017071 1017072 1017073 1017075 1017076 1017079 1017080 1017083 1017093 1017094 1017104 1017117 1017122 1017124 1017161 1017171 1017187 1017194 1017195 1017196 1017198 1017200 1017201 1017202 1017205 1017206 1017207 1017217 1017219 1017220 1017225 1017227 1017228 1017238 1017241 1017242 1017243 1017245 1017485 1017486 1017518 1017521 1017522 1017586 1017594 1017597 1017598 1017602 1017604 1017616 1017654 1017661 1017664 1017669 1017670 1017671 1017674 1017675 1017676 1017679 1017681 1017682 1017683 1017684 1017685 1017686 1017691 1017695 1017700 1017705 1017706 1017715 1017718 1017719 1017723 1017727 1017732 1017733 1017754 1017755 1017809 1017891 1017900 1017905 1017906 1017911 1018017 1018024 1018029 1018037 1018040 1018045 1018047 1018051 1018052 1018182 1018211 1018214 1018219 1018223 1018224 1018231 1018232 1018264 1018265 1018266 1018269 1018272 1018277 1018280 1018289 1018293 1018295 1018298 1018305 1018306 1018307 1018311 1018312 1018317 1018318 1018324 1018331 1018334 1018355 1018357 1018362 1018364 1018366 1018368 1018370 1018371 1018373 1018376 1018380 1018381 1018406 1018458 1018538 1018539 1018540 1018541 1018542 1018544 1018546 1018629 1018633 1018635 1018636 1018637 1018640 1018642 1018643 1018672 1018674 1018675 1018679 1018681 1018682 1018683 1018689 1018697 1018698 1018706 1018709 1018711 1018712 1018730 1018731 1018732 1018733 1018740 1018741 1018743 1018744 1018745 1018748 1018750 1018752 1018754 1018759 1018760 1018761 1018765 1018766 1018770 1018771 1018772 1018775 1018776 1018777 1018778 1018779 1018800 1018801 1018820 1018825 1018829 1018831 1018832 1018834 1018845 1018854 1018862 1018863 1018866 1018894 1018895 1018958 1018963 1018967 1018969 1018976 1019023 1019125 1019127 1019128 1019130 1019133 1019134 1019147 1019150 1019159 1019161 1019163 1019172 1019247 1019275 1019277 1019490 1019526 1019527 1019531 1019535 1019537 1019538 1019541 1019592 1019593 1019677 1019678 1019755 1019756 1019757 1019760 1019761 1019764 1019767 1019768 1019783 1019785 1019786 1019787 1019788 1019790 1019793 1019799 1019804 1019807 1019814 1019817 1019818 1019820 1019824 1019847 1019849 1019851 1019852 1019859 1019992 1020060 1020228 1020294 1020295 1020296 1020298 1020299 1020300 1020331 1020336 1020345 1020458 1020462 1020464 1020468 1020472 1020475 1020478 1020480 1020485 1020541 1020544 1020546 1020547 1020553 1020554 1020555 1020556 1020559 1020560 1020561 1020647 1020648 1020683 1020689 1020728 1020747 1020749 1020750 1020751 1020798 1020812 1020818 1020824 1020825 1020839 1020875 1020902 1020903 1020984 1020985 1020986 1020995 1020998 1021002 1021003 1021029 1021110 1021122 1021125 1021145 1021148 1021152 1021171 1021174 1021180 1021181 1021182 1021183 1021187 1021188 1021189 1021192 1021198 1021199 1021202 1021227 1021234 1021238 1021239 1021243 1021248 1021249 1021252 1021264 1021266 1021267 1021276 1021277 1021282 1021283 1021286 1021290 1021309 1021313 1021323 1021348 1021349 1021351 1021353 1021358 1021426 1021435 1021446 1021447 1021450 1021453 1021454 1021455 1021456 1021459 1021463 1021464 1021522 1021569 1021574 1021623 1021646 1021647 1021672 1021673 1021678 1021679 1021680 1021681 1021682 1021691 1021719 1021744 1021758 1021760 1021767 1021775 1021800 1021820 1021823 1021829 1021866 1021867 1021869 1021871 1021872 1021873 1021874 1021923 1021932 1021953 1021958 1021961 1021962 1021967 1021968 1021969 1021980 1021981 1021982 1021983 1021991 1022001 1022002 1022060 1022159 1022165 1022173 1022177 1022185 1022205 1022209 1022210 1022214 1022222 1022331 1022443 1022449 1022455 1022463 1022491 1022581 1022582 1022615 1022617 1022622 1022628 1022630 1022634 1022653 1022684 1022697 1022725 1022730 1022731 1022732 1022865 1022870 1022876 1022877 1022881 1022898 1022900 1022913 1023087 1023104 1023105 1023139 1023141 1023146 1023234 1023248 1023250 1023368 1023369 1023371 1023375 1023382 1023390 1023391 1023393 1023395 1023396 1023397 1023399 1023400 1023404 1023631 1023663 1023664 1023708 1023709 1023710 1023753 1023762 1023787 1023789 1023790 1023791 1023849 1023898 1023906 1023916 1023917 1023921 1023925 1023926 1023928 1023929 1023930 1023931 1023933 1023934 1023935 1023938 1023939 1023940 1023941 1023942 1023982 1024094 1024101 1024104 1024105 1024106 1024112 1024113 1024150 1024151 1024157 1024170 1024171 1024180 1024181 1024182 1024184 1024190 1024196 1024197 1024198 1024211 1024212 1024232 1024286 1024291 1024297 1024321 1024323 1024362 1024379 1024380 1024381 1024383 1024385 1024386 1024387 1024388 1024391 1024392 1024396 1024397 1024545 1024554 1024558 1024561 1024563 1024572 1024592 1024600 1024637 1024656 1024657 1024726 1024765 1024768 1024770 1024808 1024809 1024812 1024816 1024820 1024827 1024828 1024831 1024870 1024881 1024983 1024996 1025049 1025073 1025081 1025082 1025083 1025084 1025085 1025092 1025093 1025295 1025297 1025331 1025385 1025412 1025415 1025421 1025422 1025424 1025430 1025431 1025432 1025436 1025518 1025521 1025527 1025587 1025588 1025609 1025610 1025614 1025628 1025635 1025636 1025638 1025639 1025645 1025646 1025647 1025650 1025653 1025657 1025662 1025663 1025695 1025698 1025699 1025701 1025702 1025709 1025711 1025712 1025733 1025735 1025741 1025753 1025777 1025779 1025780 1025805 1025862 1025863 1025868 1025869 1025870 1025873 1026029 1026034 1026035 1026038 1026041 1026044 1026050 1026051 1026052 1026054 1026055 1026058 1026059 1026063 1026064 1026068 1026069 1026070 1026071 1026072 1026078 1026080 1026105 1026107 1026116 1026159 1026280 1026281 1026291 1026434 1026449 1026451 1026452 1026465 1026467 1026541 1026543 1026621 1026622 1026650 1026711 1026713 1026721 1026724 1026725 1026888 1027011 1027012 1027016 1027017 1027019 1027023 1027027 1027030 1027031 1027032 1027132 1027143 1027145 1027147 1027151 1027153 1027156 1027158 1027159 1027232 1027237 1027238 1027241 1027256 1027257 1027260 1027263 1027281 1027282 1027283 1027285 1027288 1027289 1027331 1027380 1027382 1027385 1027387 1027392 1027412 1027413 1027414 1027415 1027420 1027425 1027426 1027429 1027430 1027431 1027432 1027437 1027438 1027466 1027472 1027474 1027521 1027640 1027697 1027699 1027714 1027733 1027735 1027736 1027739 1027742 1027748 1027749 1027752 1027754 1027796 1027797 1027798 1027810 1027812 1027855 1027856 1027859 1027862 1027896 1027898 1027899 1027900 1027994 1027995 1028003 1028059 1028060 1028062 1028064 1028115 1028187 1028193 1028198 1028200 1028204 1028206 1028224 1028225 1028280 1028284 1028314 1028318 1028321 1028328 1028341 1028401 1028404 1028405 1028414 1028426 1028499 1028534 1028535 1028539 1028541 1028565 1028602 1028615 1028629 1028664 1028666 1028668 1028669 1028694 1028786 1028787 1028788 1028796 1028797 1028798 1028800 1028802 1028806 1028808 1028809 1028810 1028813 1028814 1028817 1028818 1028819 1028821 1028822 1028823 1028942 1028944 1028952 1029049 1029059 1029065 1029066 1029136 1029141 1029145 1029146 1029148 1029156 1029157 1029158 1029159 1029161 1029162 1029164 1029166 1029168 1029262 1029263 1029266 1029267 1029268 1029269 1029276 1029277 1029279 1029280 1029282 1029291 1029292 1029296 1029299 1029300 1029317 1029320 1029321 1029332 1029349 1029387 1029451 1029452 1029482 1029484 1029485 1029490 1029491 1029493 1029495 1029496 1029630 1029638 1029642 1029678 1029689 1029690 1029716 1029719 1029721 1029726 1029728 1029787 1029809 1029810 1029849 1029907 1029922 1029923 1029932 1030020 1030106 1030110 1030114 1030118 1030155 1030173 1030185 1030198 1030204 1030249 1030285 1030331 1030333 1030336 1030341 1030377 1030378 1030379 1030380 1030382 1030383 1030385 1030387 1030388 1030389 1030424 1030429 1030460 1030477 1030478 1030479 1030483 1030544 1030546 1030547 1030548 1030549 1030559 1030576 1030584 1030587 1030588 1030589 1030590 1030594 1030597 1030615 1030655 1030671 1030673 1030681 1030683 1030684 1030685 1030687 1030689 1030690 1030694 1030703 1030707 1030723 1030725 1030738 1030791 1030816 1030821 1030851 1030852 1030853 1030860 1030867 1030869 1030870 1030907 1030911 1030916 1031004 1031010 1031011 1031014 1031023 1031024 1031268 1031346 1031351 1031356 1031375 1031384 1031387 1031388 1031389 1031391 1031394 1031396 1031399 1031400 1031401 1031402 1031410 1031411 1031465 1031468 1031470 1031537 1031540 1031542 1031543 1031544 1031549 1031550 1031551 1031554 1031570 1031602 1031603 1031610 1031640 1031642 1031652 1031667 1031692 1031696 1031786 1031788 1031796 1031797 1031798 1031799 1031817 1031825 1031828 1031847 1031858 1031877 1031888 1031892 1031900 1031904 1031913 1031928 1031944 1031946 1031953 1031986 1032065 1032071 1032081 1032087 1032198 1032228 1032229 1032258 1032259 1032261 1032266 1032267 1032273 1032274 1032277 1032278 1032280 1032306 1032314 1032328 1032331 1032332 1032336 1032337 1032338 1032339 1032341 1032345 1032364 1032369 1032490 1032517 1032520 1032522 1032527 1032532 1032534 1032592 1032593 1032594 1032615 1032616 1032624 1032625 1032640 1032641 1032813 1032819 1032823 1032825 1032826 1032836 1032848 1032856 1032862 1032863 1032865 1032972 1033003 1033022 1033024 1033025 1033067 1033074 1033076 1033077 1033127 1033129 1033136 1033138 1033165 1033222 1033223 1033238 1033239 1033279 1033293 1033294 1033298 1033300 1033303 1033304 1033305 1033312 1033319 1033321 1033322 1033329 1033337 1033351 1033352 1033356 1033403 1033467 1033472 1033488 1033491 1033503 1033505 1033525 1033531 1033555 1033566 1033573 1033598 1033661 1033662 1033663 1033680 1033694 1033714 1033715 1033834 1033835 1033837 1033839 1033847 1033875 1033966 1033969 1033974 1033986 1034001 1034002 1034005 1034011 1034012 1034013 1034016 1034019 1034023 1034024 1034027 1034029 1034031 1034123 1034152 1034155 1034156 1034164 1034383 1034422 1034492 1034509 1034511 1034512 1034517 1034527 1034528 1034530 1034760 1034797 1034829 1034945 1034960 1034964 1034972 1034981 1035010 1035038 1035048 1035088 1035123 1035129 1035130 1035139 1035140 1035142 1035167 1035204 1035208 1035213 1035214 1035215 1035216 1035222 1035247 1035249 1035255 1035280 1035281 1035286 1035291 1035292 1035293 1035294 1035299 1035302 1035303 1035309 1035311 1035312 1035313 1035319 1035320 1035324 1035329 1035357 1035359 1035367 1035397 1035426 1035428 1035432 1035433 1035447 1035453 1035455 1035481 1035513 1035532 1035615 1035621 1035623 1035625 1035638 1035652 1035653 1035655 1035749 1035750 1035752 1035755 1035758 1035759 1035760 1035762 1035765 1035779 1035780 1035844 1035846 1035917 1035918 1036000 1036009 1036111 1036169 1036192 1036196 1036197 1036199 1036204 1036211 1036225 1036240 1036270 1036275 1036279 1036280 1036282 1036303 1036310 1036350 1036351 1036352 1036369 1036379 1036383 1036384 1036391 1036392 1036421 1036425 1036433 1036438 1036452 1036586 1036751 1036815 1036816 1036868 1036984 1036985 1036986 1036989 1036992 1037025 1037030 1037031 1037048 1037052 1037053 1037054 1037055 1037173 1037227 1037235 1037238 1037240 1037251 1037258 1037273 1037275 1037283 1037285 1037287 1037288 1037289 1037294 1037297 1037303 1037315 1037316 1037317 1037319 1037325 1037344 1037351 1037375 1037376 1037377 1037379 1037416 1037418 1037469 1037561 1037586 1037596 1037662 1037664 1037665 1037682 1037684 1037693 1037698 1037700 1037749 1037792 1037793 1037837 1037990 1037995 1037998 1037999 1038000 1038079 1038150 1038151 1038152 1038163 1038165 1038166 1038186 1038201 1038205 1038207 1038210 1038211 1038213 1038257 1038266 1038269 1038274 1038275 1038276 1038343 1038350 1038353 1038360 1038395 1038397 1038399 1038402 1038416 1038436 1038437 1038438 1038439 1038440 1038441 1038445 1038446 1038449 1038504 1038507 1038509 1038511 1038515 1038554 1038556 1038653 1038656 1038660 1038662 1038717 1038729 1038768 1038769 1038892 1038893 1038905 1038954 1038967 1038970 1038971 1039032 1039359 1039363 1039364 1039365 1039366 1039367 1039368 1039369 1039370 1039371 1039408 1039417 1039418 1039419 1039421 1039422 1039424 1039461 1039466 1039500 1039531 1039591 1039623 1039626 1039632 1039634 1039637 1039676 1039681 1039716 1039763 1039765 1039771 1039801 1039831 1039861 1039864 1039865 1039866 1039867 1039869 1039870 1039876 1039877 1039879 1039881 1039884 1039887 1039889 1039890 1039898 1039900 1039901 1040123 1040125 1040128 1040230 1040239 1040250 1040282 1040298 1040314 1040321 1040326 1040345 1040347 1040362 1040363 1040364 1040404 1040411 1040416 1040438 1040447 1040449 1040458 1040459 1040524 1040526 1040531 1040540 1040550 1040551 1040557 1040650 1040652 1040653 1040675 1040738 1040739 1040763 1040766 1040815 1040825 1040849 1040856 1040858 1040859 1040865 1040868 1040870 1040872 1040875 1040878 1040894 1040900 1040935 1041084 1041086 1041093 1041111 1041260 1041261 1041271 1041272 1041273 1041276 1041280 1041283 1041288 1041290 1041291 1041298 1041299 1041300 1041305 1041308 1041355 1041404 1041455 1041584 1041805 1041806 1041808 1041811 1041812 1041814 1041818 1041819 1041820 1041855 1041858 1041891 1041900 1042046 1042060 1042065 1042066 1042069 1042101 1042105 1042136 1042190 1042235 1042236 1042237 1042240 1042245 1042276 1042309 1042313 1042314 1042321 1042324 1042330 1042333 1042339 1042343 1042345 1042346 1042355 1042358 1042360 1042362 1042365 1042376 1042377 1042378 1042380 1042381 1042382 1042384 1042397 1042399 1042457 1042458 1042483 1042636 1042686 1042721 1042722 1042728 1042740 1042756 1042761 1042773 1042797 1042801 1042814 1042834 1042838 1042859 1042910 1042935 1042936 1042946 1042991 1042997 1043706 1043707 1043708 1043710 1043712 1043714 1043731 1043741 1043744 1043745 1043750 1043779 1043781 1043818 1043827 1043835 1043932 1043938 1043939 1043962 1043971 1043972 1044002 1044271 1044298 1044300 1044310 1044311 1044315 1044320 1044396 1044397 1044404 1044417 1044418 1044419 1044421 1044422 1044423 1044424 1044455 1044457 1044458 1044459 1044516 1044527 1044528 1044529 1044558 1044593 1044612 1044620 1044626 1044627 1044642 1044648 1044662 1044663 1044664 1044667 1044673 1044677 1044683 1044692 1044694 1044695 1044697 1044710 1044711 1044712 1044714 1044759 1044773 1044795 1044796 1044798 1044889 1044892 1044912 1044976 1045010 1045055 1045063 1045067 1045101 1045102 1045105 1045132 1045138 1045156 1045160 1045161 1045163 1045164 1045184 1045186 1045188 1045189 1045190 1045268 1045269 1045271 1045272 1045273 1045278 1045328 1045329 1045384 1045385 1045387 1045388 1045389 1045390 1045391 1045392 1045393 1045395 1045399 1045401 1045405 1045407 1045409 1045427 1045429 1045431 1045433 1045453 1045454 1045455 1045459 1045556 1045557 1045562 1045572 1045574 1045577 1045578 1045597 1045609 1045612 1045622 1045625 1045626 1045633 1045634 1045637 1045642 1045644 1045659 1045663 1045664 1045712 1045713 1045751 1045862 1045863 1045864 1045865 1045866 1045867 1045868 1045871 1046044 1046045 1046054 1046057 1046062 1046068 1046069 1046120 1046121 1046143 1046154 1046226 1046227 1046228 1046244 1046250 1046253 1046258 1046259 1046271 1046275 1046277 1046281 1046293 1046310 1046311 1046437 1046476 1046478 1046562 1046566 1046567 1046691 1046806 1046854 1046860 1046862 1046868 1046877 1046879 1046884 1046885 1046916 1046928 1046952 1046970 1047106 1047115 1047127 1047166 1047169 1047172 1047173 1047202 1047221 1047320 1047322 1047375 1047379 1047382 1047385 1047398 1047413 1047414 1047415 1047429 1047430 1047431 1047432 1047433 1047436 1047437 1047439 1047440 1047442 1047453 1047454 1047455 1047456 1047457 1047458 1047459 1047461 1047463 1047464 1047465 1047467 1047468 1047469 1047470 1047573 1047669 1047670 1047671 1047674 1047764 1047769 1047770 1047771 1047772 1047773 1047774 1047776 1047806 1047819 1047820 1047924 1047925 1047926 1047927 1047928 1047934 1048034 1048037 1048038 1048040 1048041 1048043 1048046 1048055 1048059 1048063 1048068 1048120 1048207 1048209 1048225 1048231 1048232 1048242 1048251 1048410 1048411 1048419 1048420 1048453 1048535 1048670 1048762 1048817 1048819 1048822 1048824 1048849 1048854 1048888 1048907 1048914 1048929 1048931 1048932 1048934 1048937 1048939 1048974 1049017 1049021 1049088 1049089 1049090 1049094 1049143 1049144 1049149 1049189 1049240 1049241 1049242 1049243 1049246 1049257 1049258 1049261 1049264 1049266 1049290 1049291 1049335 1049346 1049348 1049349 1049351 1049356 1049417 1049418 1049419 1049420 1049427 1049480 1049523 1049554 1049625 1049649 1049654 1049681 1049720 1049722 1049724 1049726 1049727 1049728 1049732 1049760 1049762 1049765 1049770 1049771 1049779 1049799 1049815 1049818 1049835 1049846 1049878 1049883 1049887 1049937 1049939 1049967 1050064 1050065 1050106 1050131 1050141 1050314 1050318 1050324 1050329 1050411 1050414 1050418 1050557 1050648 1050654 1050668 1050672 1050677 1050684 1050699 1050700 1050701 1050706 1050707 1050718 1050724 1050727 1050732 1050741 1050746 1050800 1050804 1050805 1050806 1051028 1051168 1051209 1051222 1051223 1051267 1051272 1051358 1051460 1051484 1051490 1051598 1051615 1051622 1051625 1051629 1051630 1051638 1051640 1051643 1051645 1051872 1051873 1051956 1052102 1052119 1052120 1052129 1052132 1052150 1052164 1052175 1052180 1052253 1052254 1052255 1052269 1052273 1052279 1052287 1052359 1052597 1052652 1052690 1052704 1052725 1052729 1052795 1052881 1052935 1052938 1052952 1052954 1052956 1052965 1052979 1052980 1052981 1052983 1052986 1053038 1053040 1053041 1053042 1053179 1053203 1053224 1053233 1053234 1053301 1053310 1053314 1053335 1053354 1053355 1053358 1053369 1053401 1053402 1053403 1053408 1053409 1053410 1053412 1053413 1053418 1053419 1053429 1053437 1053438 1053452 1053456 1053462 1053466 1053691 1053699 1053700 1053702 1053704 1053751 1053872 1053892 1053895 1053900 1053906 1053908 1053909 1053913 1053942 1053943 1053950 1054018 1054050 1054051 1054141 1054143 1054148 1054150 1054153 1054154 1054193 1054195 1054199 1054200 1054201 1054202 1054331 1054332 1054341 1054342 1054343 1054346 1054358 1054359 1054372 1054375 1054420 1054445 1054447 1054510 1054560 1054683 1054686 1054688 1054704 1054705 1054708 1054932 1054937 1054955 1054963 1054974 1054975 1054977 1054984 1054985 1054987 1054988 1054991 1054995 1055048 1055072 1055073 1055077 1055084 1055107 1055108 1055110 1055148 1055153 1055255 1055345 1055348 1055845 1056004 1056069 1056075 1056125 1056146 1056155 1056156 1056173 1056174 1056222 1056242 1056287 1056293 1056353 1056354 1056368 1056440 1056533 1056534 1056608 1056650 1056791 1056820 1056830 1056831 1056836 1056881 1056882 1056883 1056925 1056927 1056931 1056933 1056952 1057172 1057194 1057196 1057331 1057336 1057344 1057347 1057501 1057525 1057527 1057532 1057533 1057569 1057625 1057626 1057627 1057628 1057645 1057647 1057652 1057655 1057667 1057672 1057675 1057733 1057828 1057919 1058009 1058015 1058021 1058063 1058065 1058111 1058113 1058298 1058301 1058305 1058306 1058310 1058322 1058323 1058370 1058465 1058542 1058544 1058548 1058550 1058585 1058587 1058589 1058593 1058594 1058651 1058653 1058669 1058679 1058680 1058748 1058755 1058756 1058765 1058767 1058771 1058779 1058780 1058824 1058833 1058857 1058900 1058902 1058908 1058914 1058915 1058918 1058922 1058973 1058999 1059006 1059009 1059010 1059041 1059051 1059052 1059083 1059140 1059154 1059155 1059156 1059157 1059158 1059159 1059160 1059161 1059162 1059173 1059174 1059259 1059318 1059325 1059422 1059439 1059442 1059447 1059448 1059451 1059453 1059454 1059461 1059462 1059466 1059474 1059475 1059497 1059502 1059506 1059538 1059544 1059545 1059546 1059548 1059550 1059551 1059601 1060074 1060090 1060092 1060094 1060095 1060097 1060098 1060102 1060103 1060104 1060108 1060109 1060110 1060111 1060116 1060125 1060134 1060150 1060165 1060172 1060234 1060235 1060236 1060237 1060238 1060241 1060246 1060287 1060288 1060289 1060293 1060294 1060298 1060300 1060321 1060344 1060347 1060425 1060438 1060450 1060452 1060454 1060544 1060561 1060791 1060797 1060805 1060863 1060864 1060866 1060870 1060904 1060911 1060921 1060924 1060925 1060936 1060938 1060942 1060952 1060960 1060963 1060989 1061005 1061007 1061039 1061041 1061074 1061083 1061090 1061094 1061097 1061122 1061123 1061124 1061129 1061160 1061161 1061163 1061164 1061441 1061455 1061457 1061458 1061459 1061490 1061496 1061497 1061499 1061503 1061511 1061515 1061516 1061523 1061526 1061527 1061528 1061529 1061551 1061567 1061717 1061719 1061723 1061734 1061735 1061744 1061831 1061836 1061845 1061846 1061854 1061857 1061858 1061892 1061895 1061897 1061933 1061981 1061983 1061990 1061993 1061997 1062014 1062019 1062029 1062040 1062051 1062053 1062055 1062063 1062067 1062085 1062331 1062333 1062339 1062340 1062341 1062344 1062345 1062405 1062439 1062441 1062444 1062448 1062588 1062599 1062600 1062605 1062708 1062830 1062832 1062845 1062848 1062854 1062870 1062924 1062963 1062967 1062968 1062970 1062971 1062973 1062975 1062976 1062977 1062978 1062980 1062985 1062989 1062997 1063001 1063007 1063011 1063027 1063028 1063029 1063030 1063032 1063033 1063035 1063069 1063073 1063317 1063318 1063328 1063427 1063448 1063451 1063455 1063481 1063492 1063493 1063509 1063514 1063619 1063959 1064052 1064333 1064334 1064365 1064366 1064369 1064454 1064455 1064471 1064472 1064476 1064479 1064494 1064497 1064562 1064571 1064601 1064608 1064610 1064614 1064640 1064646 1064752 1064757 1064922 1064966 1065116 1065118 1065119 1065229 1065231 1065232 1065264 1065272 1065278 1065280 1065401 1065604 1065606 1065612 1065613 1065644 1065784 1065792 1065797 1065801 1065860 1065900 1065902 1066045 1066117 1066124 1066127 1066129 1066200 1066280 1066281 1066309 1066332 1066333 1066334 1066342 1066367 1066368 1066370 1066374 1066375 1066376 1066426 1066479 1066480 1066481 1066484 1066582 1066611 1066613 1066614 1066615 1066659 1066688 1066736 1066740 1066750 1066751 1066752 1066802 1066886 1066920 1066950 1066952 1067051 1067066 1067076 1067090 1067097 1067150 1067151 1067299 1067335 1067336 1067412 1067682 1067687 1067770 1067774 1067778 1067822 1067823 1067954 1067973 1068048 1068062 1068063 1068159 1068169 1068196 1068230 1068231 1068253 1068262 1068266 1068280 1068292 1068297 1068299 1068302 1068316 1068317 1068319 1068321 1068322 1068385 1068387 1068389 1068401 1068405 1068451 1068474 1068483 1068598 1068619 1068690 1068705 1068749 1068768 1068775 1068856 1068886 1068951 1068972 1069103 1069153 1069155 1069156 1069163 1069189 1069228 1069238 1069363 1069373 1069413 1069422 1069423 1069424 1069517 1069518 1069552 1069637 1069775 1069801 1069938 1069950 1070154 1070158 1070179 1070186 1070190 1070191 1070217 1070218 1070223 1070241 1070288 1070309 1070337 1070353 1070354 1070355 1070467 1070494 1070501 1070527 1070533 1070535 1070541 1070542 1070543 1070544 1070545 1070547 1070582 1070767 1070848 1070849 1070851 1070862 1070889 1070891 1070892 1070893 1070894 1070897 1070898 1070899 1070900 1070902 1070905 1070906 1070909 1070910 1070911 1070935 1070937 1070939 1071182 1071196 1071343 1071344 1071377 1071417 1071421 1071474 1071500 1071504 1071506 1071515 1071518 1071541 1071543 1071554 1071555 1071616 1071617 1071618 1071619 1071621 1071623 1071624 1071627 1071629 1071640 1071642 1071647 1071650 1071652 1071655 1071665 1071670 1071673 1071735 1071932 1071975 1071982 1072153 1072178 1072179 1072194 1072202 1072203 1072207 1072213 1072219 1072222 1072253 1072268 1072272 1072274 1072276 1072319 1072326 1072327 1072328 1072400 1072438 1072443 1072447 1072471 1072491 1072638 1072649 1072651 1072652 1072663 1072664 1072665 1072682 1072683 1072685 1072688 1072740 1072742 1072743 1072746 1072860 1072863 1072864 1072866 1072867 1072870 1072875 1072876 1072878 1073015 1073054 1073280 1073281 1073307 1073317 1073320 1073329 1073333 1073345 1073346 1073347 1073366 1073367 1073418 1073465 1073477 1073479 1073480 1073482 1073483 1073487 1073507 1073510 1073534 1073627 1073628 1073629 1073631 1073686 1073692 1073697 1073698 1073704 1073709 1073713 1073715 1073735 1073736 1073747 1073756 1073760 1073761 1073763 1073764 1073765 1073871 1073876 1073877 1073883 1073918 1073948 1074101 1074150 1074162 1074166 1074238 1074241 1074255 1074260 1074263 1074265 1074267 1074423 1074424 1074426 1074428 1074434 1074435 1074439 1074440 1074485 1074516 1074517 1074622 1074773 1074774 1074792 1074814 1074816 1074995 1075072 1075185 1075186 1075187 1075201 1075231 1075254 1075351 1075401 1075403 1075423 1075468 1075470 1075486 1075495 1075500 1075509 1075517 1075519 1075530 1075625 1075629 1075630 1075634 1075639 1075640 1075641 1075642 1075643 1075649 1075650 1075652 1075655 1075670 1075674 1075675 1075678 1075681 1075687 1075688 1075689 1075693 1075695 1075696 1075697 1075700 1075702 1075703 1075740 1075761 1075765 1075768 1075770 1075772 1075773 1075774 1075777 1075794 1075796 1075799 1075956 1075959 1075967 1075970 1075973 1075974 1075975 1075979 1075987 1075990 1075991 1075992 1075994 1075998 1076000 1076002 1076003 1076041 1076113 1076336 1076338 1076492 1076554 1076583 1076588 1076599 1076601 1076608 1076677 1076721 1076847 1076871 1076874 1076881 1077094 1077131 1077175 1077176 1077177 1077189 1077190 1077198 1077235 1077482 1077541 1077542 1077545 1077555 1077560 1077572 1077578 1077592 1077598 1077602 1077613 1077621 1077623 1077624 1077627 1077639 1077642 1077648 1077654 1077659 1077660 1077661 1077668 1077669 1077672 1077682 1077685 1077693 1077696 1077703 1077726 1077735 1077736 1077737 1077748 1077750 1077759 1077818 1077825 1077826 1077920 1077921 1077924 1078000 1078001 1078002 1078036 1078037 1078038 1078040 1078041 1078042 1078043 1078045 1078046 1078047 1078049 1078050 1078051 1078052 1078053 1078055 1078056 1078057 1078058 1078059 1078063 1078127 1078270 1078273 1078317 1078447 1078449 1078457 1078481 1078485 1078486 1078501 1078516 1078517 1078520 1078521 1078528 1078538 1078540 1078541 1078545 1078548 1078550 1078558 1078579 1078658 1078716 1078718 1078725 1078761 1078976 1079118 1079120 1079264 1079266 1079269 1079273 1079303 1079307 1079311 1079330 1079331 1079332 1079333 1079335 1079336 1079344 1079346 1079347 1079379 1079421 1079434 1079462 1079464 1079492 1079496 1079497 1079499 1079501 1079504 1079508 1079527 1079541 1079542 1079543 1079581 1079593 1079603 1079606 1079636 1079637 1079640 1079680 1079868 1079870 1079898 1079900 1079904 1079920 1079923 1079927 1079931 1079947 1079957 1079961 1079969 1079976 1080071 1080083 1080091 1080119 1080126 1080133 1080134 1080137 1080139 1080149 1080151 1080161 1080163 1080165 1080172 1080173 1080174 1080175 1080177 1080178 1080179 1080184 1080191 1080196 1080199 1080212 1080213 1080214 1080218 1080265 1080266 1080269 1080270 1080271 1080272 1080273 1080277 1080420 1080673 1080674 1080675 1080682 1080683 1080684 1080685 1080686 1080687 1080689 1080690 1080691 1080692 1080693 1080694 1080696 1080798 1080799 1080800 1080801 1080812 1080813 1080814 1080816 1080818 1080819 1080822 1080823 1080824 1080829 1080830 1080832 1080833 1080836 1080837 1080838 1080839 1080842 1080843 1080844 1080845 1080846 1080847 1080848 1080849 1080850 1080852 1080854 1080857 1080858 1080859 1080861 1080862 1080863 1080864 1080866 1080867 1080868 1080869 1080871 1080874 1080876 1080877 1080880 1080881 1080882 1080885 1080886 1080888 1080890 1080891 1080893 1080894 1080895 1080896 1080897 1080898 1080900 1080901 1080903 1080904 1080905 1080907 1080908 1080909 1080910 1080913 1080914 1080916 1080917 1080921 1080926 1080927 1080929 1080930 1080931 1080932 1080933 1081268 1081273 1081274 1081281 1081287 1081291 1081294 1081298 1081303 1081306 1081308 1081316 1081317 1081320 1081323 1081332 1081333 1081334 1081341 1081342 1081343 1081344 1081345 1081352 1081357 1081359 1081360 1081361 1081364 1081365 1081366 1081367 1081368 1081369 1081372 1081375 1081376 1081377 1081378 1081379 1081382 1081385 1081388 1081389 1081390 1081391 1081392 1081398 1081399 1081400 1081402 1081403 1081404 1081405 1081406 1081407 1081408 1081413 1081495 1081496 1081498 1081499 1081500 1081501 1081502 1081504 1081506 1081537 1081541 1081542 1081560 1081571 1081572 1081576 1081579 1081582 1081586 1081590 1081593 1081600 1081674 1081676 1081678 1081733 1081737 1081739 1081741 1081747 1081749 1081754 1081793 1081853 1081861 1081862 1081863 1081865 1081868 1081880 1081881 1081936 1081992 1081997 1082031 1082050 1082057 1082058 1082092 1082107 1082111 1082116 1082140 1082141 1082167 1082169 1082170 1082171 1082172 1082198 1082219 1082223 1082224 1082230 1082246 1082252 1082254 1082255 1082258 1082261 1082262 1082264 1082265 1082277 1082307 1082311 1082312 1082317 1082338 1082339 1082357 1082373 1082374 1082385 1082391 1082433 1082439 1082444 1082446 1082448 1082452 1082462 1082482 1082483 1082484 1082486 1082506 1082519 1082533 1082599 1082604 1082639 1082660 1082661 1082664 1082681 1082687 1082736 1082738 1082739 1082765 1082768 1082772 1082775 1082794 1082795 1082796 1082799 1082806 1082808 1082834 1082871 1082874 1082880 1082904 1082905 1082908 1082913 1082955 1082966 1082968 1082999 1083026 1083041 1083049 1083050 1083051 1083053 1083078 1083090 1083119 1083123 1083149 1083150 1083157 1083169 1083174 1083182 1083185 1083186 1083187 1083192 1083210 1083212 1083214 1083222 1083225 1083226 1083230 1083242 1083244 1083261 1083266 1083267 1083269 1083280 1083322 1083326 1083327 1083337 1083341 1083371 1083381 1083385 1083387 1083400 1083495 1083496 1083497 1083502 1083516 1083518 1083520 1083528 1083531 1083534 1083548 1083550 1083552 1083560 1083568 1083570 1083572 1083575 1083576 1083607 1083609 1083618 1083619 1083622 1083625 1083627 1083632 1083635 1083637 1083641 1083646 1083647 1083663 1083699 1083700 1083715 1083719 1083730 1083761 1083767 1083769 1083770 1083779 1083782 1083785 1083843 1083891 1083893 1083931 1083932 1083939 1083944 1084025 1084027 1084029 1084055 1084072 1084082 1084104 1084126 1084137 1084142 1084143 1084151 1084163 1084174 1084175 1084179 1084196 1084217 1084222 1084225 1084234 1084250 1084336 1084348 1084386 1084391 1084393 1084395 1084461 1084464 1084530 1084533 1084540 1084541 1084542 1084567 1084579 1084584 1084592 1084603 1084606 1084631 1084633 1084634 1084658 1084676 1084699 1084704 1084758 1084760 1084784 1084787 1084788 1084820 1084851 1084852 1084866 1084897 1084933 1084962 1084964 1084965 1084967 1084996 1084998 1085018 1085054 1085064 1085092 1085105 1085109 1085114 1085188 1085202 1085203 1085227 1085301 1085331 1085342 1085351 1085375 1085377 1085380 1085382 1085385 1085386 1085422 1085460 1085477 1085486 1085507 1085531 1085536 1085538 1085562 1085571 1085652 1085686 1085693 1085715 1085717 1085727 1085733 1085734 1085735 1085777 1085791 1085792 1085797 1085798 1085800 1085802 1085803 1085821 1085831 1085843 1085907 1085915 1085926 1085942 1085943 1085946 1085958 1085975 1086011 1086014 1086042 1086062 1086084 1086195 1086196 1086197 1086202 1086227 1086238 1086244 1086256 1086257 1086258 1086261 1086262 1086300 1086320 1086322 1086345 1086366 1086392 1086522 1086526 1086527 1086529 1086570 1086584 1086585 1086587 1086590 1086602 1086603 1086629 1086693 1086740 1086749 1086750 1086793 1086850 1086851 1086865 1086899 1086913 1086917 1086994 1086998 1087009 1087012 1087027 1087028 1087030 1087041 1087055 1087058 1087074 1087106 1087137 1087139 1087144 1087146 1087147 1087156 1087162 1087168 1087222 1087227 1087232 1087233 1087309 1087355 1087505 1087521 1087523 1087537 1087550 1087612 1087617 1087633 1087661 1087674 1087677 1087750 1087758 1087769 1087770 1087783 1087815 1087816 1087887 1087917 1087922 1087923 1087925 1087947 1087948 1088007 1088044 1088048 1088096 1088097 1088100 1088166 1088168 1088171 1088183 1088214 1088239 1088282 1088313 1088342 1088345 1088349 1088368 1088378 1088433 1088438 1088443 1088447 1088448 1088453 1088495 1088496 1088525 1088527 1088561 1088562 1088595 1088610 1088612 1088646 1088669 1088675 1088676 1088679 1088710 1088730 1088814 1088816 1088835 1088849 1088852 1088881 1088894 1088958 1088972 1088973 1088978 1088980 1088981 1088997 1089052 1089081 1089082 1089096 1089097 1089113 1089152 1089196 1089200 1089204 1089218 1089375 1089438 1089482 1089483 1089516 1089550 1089578 1089591 1089598 1089614 1089625 1089627 1089640 1089724 1089738 1089749 1089753 1089792 1089805 1089832 1089928 1089930 1089931 1089932 1089934 1089937 1089940 1089950 1089961 1089964 1089967 1089970 1089993 1090047 1090060 1090063 1090064 1090065 1090066 1090139 1090143 1090145 1090146 1090150 1090194 1090198 1090200 1090215 1090226 1090242 1090271 1090278 1090279 1090287 1090358 1090365 1090409 1090525 1090540 1090563 1090588 1090616 1090700 1090723 1090725 1090800 1090801 1090808 1090813 1090816 1090993 1090995 1090998 1091000 1091022 1091058 1091061 1091122 1091182 1091201 1091202 1091241 1091277 1091290 1091351 1091390 1091395 1091409 1091437 1091439 1091441 1091443 1091448 1091485 1091502 1091507 1091535 1091545 1091592 1091593 1091598 1091613 1091614 1091658 1091668 1091695 1091712 1091764 1091779 1091784 1091786 1091788 1091851 1091852 1091870 1091872 1091902 1091911 1091993 1092026 1092032 1092067 1092097 1092133 1092156 1092186 1092199 1092203 1092205 1092206 1092207 1092209 1092216 1092220 1092221 1092304 1092341 1092344 1092375 1092376 1092477 1092484 1092487 1092491 1092507 1092508 1092514 1092551 1092580 1092604 1092618 1092620 1092642 1092731 1092738 1092763 1092764 1092782 1092829 1092858 1092862 1092864 1092866 1092867 1092868 1092870 1092872 1092889 1092924 1092941 1092972 1092975 1092976 1092981 1092982 1092983 1092984 1092986 1093063 1093068 1093069 1093071 1093073 1093074 1093076 1093079 1093080 1093081 1093082 1093104 1093106 1093116 1093126 1093130 1093131 1093218 1093226 1093227 1093242 1093260 1093287 1093302 1093317 1093320 1093342 1093364 1093368 1093395 1093413 1093414 1093421 1093433 1093437 1093445 1093461 1093478 1093485 1093495 1093496 1093498 1093500 1093513 1093514 1093534 1093541 1093564 1093576 1093581 1093583 1093584 1093603 1093615 1093633 1093718 1093724 1093725 1093730 1093738 1093756 1093761 1093778 1093806 1093815 1093818 1093853 1093859 1093864 1093874 1093892 1093901 1093915 1093957 1093970 1093973 1093994 1094011 1094013 1094020 1094025 1094034 1094035 1094038 1094059 1094064 1094072 1094129 1094133 1094172 1094187 1094200 1094203 1094207 1094218 1094241 1094249 1094263 1094272 1094280 1094282 1094293 1094356 1094389 1094421 1094430 1094442 1094452 1094490 1094491 1094516 1094517 1094557 1094558 1094574 1094575 1094652 1094678 1094688 1094731 1094732 1094747 1094829 1094833 1094842 1094847 1094886 1094982 1095004 1095021 1095047 1095052 1095065 1095088 1095115 1095116 1095122 1095193 1095205 1095213 1095220 1095264 1095269 1095343 1095411 1095417 1095455 1095480 1095519 1095520 1095535 1095536 1095554 1095592 1095609 1095671 1095677 1095681 1095685 1095758 1095789 1095807 1095808 1095813 1095827 1095828 1095866 1095871 1095917 1096751 1109161 1110641 1116542 1119921 1122969 1123001 1123002 1123020 1123032 1123033 1123034 1123035 1135185 1135607 1135778 1135779 1135780 1135783 1135784 1135785 1135786 1135787 1135790 1135791 1135792 1135794 1135798 1135799 1135801 1135803 1135804 1135805 1135806 1135807 1135810 1135811 1135813 1135814 1135815 1135816 1135819 1135822 1135823 1135824 1135827 1135828 1135830 1135831 1135832 1135833 1135836 1135837 1135838 1135839 1135840 1135844 1135850 1135851 1135854 1135855 1135858 1135859 1135860 1135861 1135862 1135865 1135867 1135871 1135877 1135879 1135887 1135889 1135890 1135891 1135895 1135896 1135897 1135898 1135900 1135901 1135904 1135909 1135911 1135912 1135925 1135930 1135934 1135943 1135944 1135947 1135978 1136003 1136029 1136036 1136054 1136055 1136057 1136058 1136059 1136062 1136078 1136081 1136097 1136101 1136107 1136120 1136126 1136142 1136146 1136172 1136173 1136227 1136228 1136263 1136265 1136266 1136268 1136269 1136271 1136274 1136282 1136285 1136294 1136295 1136304 1136306 1136307 1136309 1136327 1136333 1138385 1138387 1138388 1138389 1138391 1138392 1138397 1138403 1138424 1138606 1138844 1140671 1140672 1140674 1140676 1140702 1141016 1141017 1145671 1145672 1145678 1148469 1148553 1153736 1167626 1167636 1176496 1176497 1186984 1187104 1187144 1187331 1187347 1187387 1187488 1187542 1187543 1187559 1187565 1187572 1187575 1187577 1187578 1187583 1187586 1187595 1187605 1187616 1187624 1187627 1187639 1187671 1187672 1187676 1187682 1187692 1187697 1187707 1187759 1187827 1187947 1188030 1188196 1188197 1188198 1188200 1188203 1188204 1188220 1188310 1188327 1188339 1188377 1188393 1188437 1188442 1188449 1188507 1188531 1188552 1188565 1188566 1188567 1188568 1188571 1188579 1188581 1188583 1188584 1188669 1188803 1188886 1188904 1189046 1189072 1189089 1189127 1189321 1189336 1189407 1189423 1189447 1189502 1189525 1189605 1189613 1189624 1189642 1189653 1189776 1189780 1189781 1189783 1189784 1189788 1189789 1189790 1189798 1189799 1189802 1189806 1189807 1189809 1189810 1189811 1189837 1189866 1189908 1189936 1189961 1190058 1190059 1190060 1190061 1190063 1190098 1190102 1190105 1190157 1190161 1190186 1190189 1190193 1190220 1190221 1190224 1190237 1190241 1190257 1190260 1190261 1190268 1190273 1190276 1190278 1190280 1190292 1190293 1190294 1190329 1190332 1190342 1190402 1190421 1190423 1190428 1190431 1190460 1190465 1190466 1190584 1190585 1190588 1190593 1190594 1190595 1190597 1190610 1190614 1190615 1190627 1190628 1190632 1190638 1190644 1190650 1190653 1190654 1190665 1190712 1190716 1190749 1190751 1190763 1190782 1190787 1191030 1191034 1191042 1191339 1191353 1191360 1191381 1191390 1191392 1191416 1191436 1191455 1191462 1191464 1191468 1191473 1191509 1191563 1191614 1191673 1191674 1191675 1191678 1191681 1191682 1191699 1191701 1191702 1191706 1191722 1191723 1191725 1191730 1191759 1191796 1191797 1191876 1191921 1191927 1191934 1191950 1191951 1191962 1191963 1191967 1191969 1191979 1191980 1191981 1191995 1191997 1192000 1192001 1192002 1192007 1192012 1192056 1192060 1192068 1192069 1192072 1192082 1192107 1192128 1192129 1192336 1192389 1192398 1192416 1192418 1192422 1192427 1192433 1192435 1192436 1192441 1192442 1192492 1192515 1192590 1192596 1192722 1192737 1192747 1192761 1192779 1192780 1192825 1192841 1192852 1192854 1192855 1193047 1193049 1193052 1193054 1193055 1193058 1193060 1193061 1193112 1193114 1193116 1193118 1193122 1193157 1193163 1193274 1193278 1193285 1193292 1193299 1193300 1193323 1193327 1193334 1193339 1193340 1193341 1193342 1193345 1193393 1193431 1193432 1193436 1193438 1193439 1193440 1193450 1193470 1193543 1193554 1193587 1193595 1193626 1193627 1193630 1193650 1193660 1193664 1193718 1193726 1193729 1193774 1193866 1193969 1193971 1193972 1193976 1193982 1193987 1193988 1193989 1193990 1193993 1194009 1194011 1194018 1194021 1194058 1194070 1194180 1194194 1194206 1194236 1194240 1194252 1194260 1194324 1194458 1194459 1194460 1194464 1194466 1194468 1194470 1194472 1194474 1194481 1194482 1194516 1194524 1194525 1194526 1194654 1194759 1194760 1194763 1194794 1194837 1194838 1194839 1194877 1194879 1194880 1194975 1194981 1195163 1195314 1195329 1195401 1195415 1195429 1195478 1195625 1195703 1195718 1195723 1195821 1195926 1196049 1196372 1196480 1196484 1196495 1196512 1196653 1196671 1196682 1196683 1196686 1196687 1196688 1196703 1196737 1196745 1196749 1196752 1196757 1196780 1196782 1196784 1196789 1196816 1196817 1196821 1196823 1196896 1196901 1196942 1196947 1196968 1196977 1197139 1197144 1197146 1197154 1197155 1197221 1197224 1197226 1197227 1197230 1197404 1197468 1197470 1197539 1197542 1197543 1197544 1197545 1197553 1197689 1197693 1197694 1197695 1197697 1197699 1197701 1197704 1197707 1197708 1197729 1197730 1197734 1197747 1197866 1197867 1197869 1197872 1197983 1197997 1198073 1198074 1198079 1198080 1198082 1198150 1198154 1198178 1198195 1198196 1198275 1198284 1198285 1198307 1198312 1198313 1198338 1198397 1198398 1198399 1198484 1198645 1198647 1198648 1198651 1198652 1198703 1198704 1198711 1198724 1198738 1198739 1198740 1198780 1198781 1198818 1198926 1198928 1198984 1198985 1198986 1199255 1199258 1199259 1199268 1199269 1199274 1199278 1199279 1199283 1199284 1199285 1199392 1199397 1199405 1199411 1199637 1199697 1199703 1199787 1199791 1199793 1199870 1199871 1199872 1199894 1199915 1199916 1199960 1200103 1200243 1200245 1200273 1200293 1200306 1200355 1200417 1200418 1200426 1200427 1200431 1200436 1200445 1200520 1200535 1200536 1200548 1200549 1200558 1200560 1200568 1200591 1200687 1200716 1200717 1200727 1200733 1200734 1200770 1200776 1200797 1200798 1200806 1200819 1200903 1200905 1200906 1200907 1200908 1201112 1201118 1201121 1201124 1201126 1201129 1201174 1201180 1201185 1201191 1201203 1201207 1201220 1201228 1201250 1201251 1201257 1201260 1201292 1201298 1201350 1201356 1201367 1201461 1201519 1201524 1201566 1201567 1201568 1201569 1201764 1201768 1201776 1201908 1201943 1202010 1202020 1202101 1202102 1202106 1202108 1202110 1202115 1202116 1202117 1202122 1202124 1202127 1202175 1202179 1202182 1202185 1202274 1202278 1202285 1202395 1202410 1202411 1202415 1202417 1202418 1202420 1202442 1202601 1202693 1202753 1202789 1202913 1203666 1203683 1203690 1203695 1203959 1203960 1203961 1204147 1204165 1204170 1204199 1204200 1204201 1204217 1204228 1204236 1204242 1204243 1204249 1204378 1204382 1204438 1204439 1204459 1204498 1204499 1204603 1204637 1204638 1204640 1204895 1204912 1204915 1204930 1204933 1204934 1204951 1205050 1205052 1205053 1205069 1205070 1205188 1205207 1205208 1205211 1205231 1205232 1205253 1205255 1205256 1205257 1205262 1205263 1205277 1205280 1205281 1205282 1205283 1205284 1205286 1205289 1205290 1205293 1205294 1205295 1205296 1205298 1205304 1205306 1205313 1205320 1205332 1205366 1205601 1205607 1205619 1205641 1205653 1205658 1205659 1205677 1205678 1205679 1205770 1205778 1205850 1205853 1205859 1205868 1205927 1205928 1205931 1205956 1205976 1206099 1206158 1206160 1206161 1206163 1206164 1206199 1206201 1206206 1206207 1206215 1206231 1206232 1206715 1206950 1206951 1206973 1206975 1206981 1206982 1206983 1206985 1206989 1206991 1206998 1207022 1207023 1207107 1207135 1207136 1207145 1207153 1207155 1207203 1207205 1207207 1207211 1207219 1207227 1207246 1207664 1207681 1207713 1207716 1207717 1207725 1207726 1207732 1207738 1207746 1207747 1207753 1207759 1207858 1207865 1207898 1207916 1207917 1207924 1207926 1207934 1208034 1208035 1208038 1208040 1208082 1208123 1208134 1208153 1208180 1208201 1208202 1208221 1208222 1208323 1208340 1208349 1208364 1208383 1208384 1208441 1208447 1208451 1208524 1208552 1208553 1208562 1208563 1208568 1208572 1208579 1208581 1208603 1208605 1208606 1208630 1208694 1208809 1208824 1208920 1208921 1208936 1209151 1209156 1209157 1209177 1209191 1209192 1209325 1209330 1209331 1209332 1209333 1209368 1209379 1209490 1209592 1209625 1209630 1209662 1209667 1209678 1209687 1209709 1209734 1209765 1209774 1209775 1209785 1209790 1209825 1209831 1209946 1209950 1210006 1210007 1210008 1210011 1210012 1210016 1210115 1210180 1210182 1210185 1210187 1210190 1210191 1210192 1210298 1210338 1210502 1210505 1210508 1210536 1210537 1210539 1210545 1210546 1210548 1210559 1210642 1210644 1210649 1210650 1210652 1210653 1210654 1210655 1210656 1210658 1210662 1210663 1210664 1210665 1210670 1210672 1210844 1210920 1210934 1210935 1210936 1210971 1211002 1211004 1211006 1211053 1211062 1211222 1211522 1211536 1211561 1211600 1211779 1211780 1211787 1211792 1211796 1211797 1211798 1211939 1211941 1211985 1211989 1211995 1212001 1212006 1212243 1212246 1212253 1212255 1212274 1212442 1212455 1212456 1212460 1212462 1212464 1212471 1212475 1212477 1212481 1212483 1212488 1212546 1212547 1212631 1212633 1212711 1212780 1212883 1212884 1212885 1212886 1212887 1212890 1212892 1212894 1212900 1212904 1212906 1212912 1213048 1213058 1213061 1213249 1213265 1213266 1213284 1213286 1213333 1213389 1213449 1213451 1213464 1213470 1213504 1213629 1213651 1213659 1213666 1213685 1213687 1213721 1213722 1213733 1213865 1213866 1213868 1213885 1213893 1213896 1213928 1213974 1213980 1214010 1214012 1214017 1214021 1214029 1214214 1214239 1214299 1214300 1214352 1214354 1214368 1214396 1214397 1214549 1214550 1214554 1214558 1214566 1214572 1214582 1214611 1214622 1214624 1214626 1214663 1214761 1214762 1214763 1214830 1214831 1214832 1214834 1214845 1214852 1214867 1214881 1214890 1214907 1214912 1214977 1214978 1214979 1215161 1215267 1215380 1215397 1215414 1215473 1215581 1215593 1215606 1215608 1215610 1215617 1215620 1215627 1215723 1215749 1215781 1215783 1215784 1215811 1216141 1216144 1216148 1216183 1216184 1216185 1216186 1216187 1216189 1216203 1216224 1216374 1216414 1216415 1216417 1216544 1216627 1216628 1216644 1216813 1216822 1217002 1217004 1217111 1217144 1217152 1217157 1217158 1217188 1217193 1217194 1217207 1217208 1217220 1217360 1217483 1217804 1217843 1217847 1217914 1217923 1217974 1217981 1217988 1218111 1218113 1218172 1218354 1218365 1218366 1218443 1218460 1218467 1218474 1218481 1218483 1218491 1218496 1218498 1218502 1218506 1218515 1218522 1218526 1218625 1218629 1218637 1218656 1218671 1218689 1218693 1218743 1218744 1218751 1218757 1218761 1218767 1218887 1218889 1219057 1219202 1219333 1219382 1219385 1219387 1219390 1219399 1219401 1219402 1219403 1219405 1219410 1219412 1219413 1219426 1219429 1219430 1219431 1219433 1219434 1219440 1219446 1219456 1219478 1219484 1219490 1219502 1219512 1219517 1219575 1219576 1219586 1219588 1219592 1219593 1219594 1219721 1219738 1219833 1219857 1219860 1219921 1219922 1219927 1219931 1219937 1219940 1219946 1219949 1219960 1219964 1219970 1220029 1220031 1220048 1220057 1220341 1220384 1220387 1220391 1220398 1220406 1220465 1220466 1220595 1220633 1220656 1220662 1220675 1220699 1220702 1220712 1220713 1220716 1220721 1220722 1220729 1220750 1220761 1220785 1220786 1220834 1220836 1220839 1220847 1220848 1220852 1220855 1221073 1221103 1221104 1221503 1221509 1221510 1221539 1221540 1221667 1221692 1221696 1221732 1221737 1221859 1221861 1221916 1222067 1222087 1222166 1222172 1222250 1222252 1222257 1222260 1222381 1222385 1222424 1222466 1222510 1222523 1222564 1222591 1222596 1222598 1222608 1222616 1222618 1222630 1222642 1222737 1222742 1222788 1222965 1223023 1223024 1223032 1223076 1223115 1223239 1223304 1223305 1223318 1223341 1223343 1223345 1223431 1223443 1223446 1223557 1223562 1223570 1223577 1223587 1223591 1223600 1223615 1223656 1223763 1223764 1223832 1223833 1223843 1224001 1224010 1224012 1224015 1224025 1224028 1224049 1224050 1224241 1224439 1224441 1224442 1224444 1224445 1224448 1224449 1224450 1224459 1224461 1224520 1224525 1224527 1224528 1224530 1224532 1224555 1224556 1224745 1224848 1225091 1225126 1225158 1225161 1225165 1225166 1225168 1225171 1225275 1225280 1225282 1225287 1225288 1225311 1225321 1225350 1225483 1225783 1225785 1225827 1225858 1225865 1226001 1226002 1226005 1226167 1226168 1226192 1226256 1226275 1226346 1226349 1226386 1226466 1226477 1226493 1226588 1226621 1226623 1226644 1226646 1226769 1226878 1226885 1226887 1226891 1226893 1226897 1226908 1226938 1226939 1226946 1226961 1226977 1227007 1227038 1227053 1227068 1227076 1227081 1227089 1227127 1227153 1227154 1227166 1227168 1227174 1227230 1227275 1227297 1227528 1227539 1227673 1227679 1227680 1227687 1227688 1227689 1227868 1227892 1227958 1227963 1227965 1228129 1228133 1228148 1228151 1228161 1228398 1228651 1228655 1228910 1228951 1229017 1229031 1229034 1229036 1229048 1229049 1229051 1229053 1229059 1229060 1229061 1229069 1229076 1229165 1229166 1229169 1229170 1229171 1229175 1229187 1229190 1229195 1229199 1229228 1229259 1229325 1229366 1229375 1229487 1229488 1229510 1229513 1229515 1229516 1229547 1229572 1229610 1229733 1229899 1230127 1230211 1230212 1230252 1230368 1230369 1230384 1230385 1230390 1230391 1230394 1230468 1230511 1230512 1230796 1230819 1231102 1231117 1231121 1231280 1231281 1231282 1231497 1231499 1231513 1231515 1231862 1231863 1231865 1231967 1231974 1232013 1232071 1232083 1232085 1232088 1232109 1232135 1232138 1232170 1232315 1232328 1232347 1232354 1232369 1232371 1232374 1232377 1232379 1232380 1232435 1232437 1232441 1232520 1232748 1232807 1232925 1232929 1232933 1232972 1232981 1233140 1233142 1233146 1233200 1233201 1233203 1233205 1233262 1233303 1233306 1233307 1233313 1233318 1233320 1233323 1233339 1233344 1233345 1233405 1233589 1233663 1233668 1233865 1233866 1233867 1234111 1234120 1234124 1234125 1234150 1234206 1234277 1234440 1234441 1234444 1234638 1234684 1234686 1234687 1234688 1234694 1234720 1234747 1234750 1234767 1234768 1234796 1234814 1234816 1234837 1234843 1234856 1234949 1234951 1234952 1235163 1235736 1253907 1253958 1254179 1254224 1254225 1256259 1256657 1256658 1256659 1257833 1258028 1258029 1258030 1258032 1258033 1258037 1258041 1258042 1258043 1258046 1258049 1258053 1258069 1258070 1260603 1260949 1260950 1260951 1261252 1261477 1262901 1262902 1262903 1262904 1265564 1265567 1265569 1285503 1298930 1299013 1299038 1299042 1299056 1299068 1299074 1299121 1299798 1304558 1304559 1318426 1328880 1328961 1328969 1449661 1449713 1449865 1456411 1457867 1457886 1457892 1457919 1458204 1458220 1458281 1458286 1458336 1458350 1458479 1458480 1458496 1458615 1458909 1458927 1458943 1458945 1458947 1459108 1459122 1459131 1459147 1459190 1459298 1459626 1459630 1459633 1459698 1459706 1459796 1459852 1459855 1459912 1459918 1460025 1460035 1460036 1460040 1460075 1460266 1460307 1460457 1460522 1460708 1460797 1460800 1460801 1460803 1460805 1460807 1460808 1460901 1460913 1460947 1460964 1460966 1461256 1461303 1461305 1461312 1461394 1461395 1461396 1461398 1461412 1461421 1461422 1461430 1461444 1461445 1461450 1461452 1461454 1461462 1461466 1461473 1461525 1461631 1461658 1461724 1461725 1461729 1461734 1461743 1461752 1461758 1461832 1461946 1461952 1462035 1462036 1462039 1462070 1462076 1462077 1462079 1462081 1462172 1462174 1462176 1462177 1462178 1462252 1462253 1462254 1462264 1462269 1462277 1462284 1462408 1462420 1462506 1462507 1462531 1462607 1462676 1462784 1462785 1462786 1462787 1462788 1462789 1462886 1462994 1463002 1463005 1463006 1463010 1463019 1463053 1463139 1463173 1463236 1463254 1463272 1463274 1463338 1463341 1463342 1463356 1463377 1463418 1463420 1463421 1463427 1463448 1463450 1463451 1463499 1463500 1463705 1463841 1463908 1463914 1464168 1464213 1464247 1464407 1464409 1464466 1464474 1464491 1464598 1464696 1464700 1464701 1464710 1464712 1464723 1464724 1464832 1464848 1464849 1464850 1464853 1464860 1464861 1464862 1464864 1465020 1465028 1465029 1465031 1465033 1465035 1465036 1465304 1465306 1465307 1465308 1465347 1465368 1465370 1465373 1465619 1465653 1465874 1466025 1466027 1466028 1466035 1466057 1466064 1466092 1466097 1466105 1466114 1466115 1466203 1466205 1466209 1466210 1466321 1466338 1466648 1466714 1466715 1466725 1467303 1467392 1467577 1467608 1467612 1467674 1467966 1468100 1468101 1468103 1468106 1468404 1468580 1468581 1468598 1468730 1468734 1468750 1468754 1468822 1468823 1468831 1468833 1468926 1468980 1469420 1469475 1469480 1469484 1469486 1469498 1469637 1469646 1469651 1469657 1469668 1469872 1469878 1469888 1469893 1469901 1469907 1469919 1469925 1470036 1470045 1470054 1470060 1470061 1470063 1470329 1470342 1470344 1470398 1470638 1472291 1472294 1472295 1472297 1472490 1472579 1472619 1473076 1473141 1473229 1473230 1473231 1473238 1473294 1473296 1473297 1473298 1473419 1473488 1473645 1473681 1473709 1473766 1473812 1473836 1474040 1474044 1474103 1474107 1474109 1474110 1474114 1474116 1474120 1474208 1474210 1474217 1474221 1474224 1474264 1474293 1474354 1474355 1474356 1474358 1474374 1474423 1474563 1474891 1474894 1474896 1475137 1475195 1475712 1475722 1475827 1475828 1475830 1475832 1475834 1475838 1475885 1475888 1475890 1475915 1475953 1476086 1476256 1476263 1476404 1476430 1476431 1476432 1476433 1476436 1476441 1476447 1476449 1476451 1476452 1476454 1476458 1476462 1476465 1476466 1476468 1476469 1476504 1476520 1476521 1476523 1476619 1476729 1476792 1476855 1476857 1476860 1477006 1477052 1477053 1477054 1477057 1477273 1477291 1477292 1477301 1477450 1477475 1477479 1477485 1477487 1477505 1477513 1477518 1477609 1477611 1477613 1477730 1477731 1477732 1477745 1477815 1477890 1478411 1478639 1478808 1478809 1478812 1478813 1478814 1478815 1478975 1478982 1479117 1479574 1479778 1479783 1479795 1479797 1479940 1479996 1480052 1480056 1480144 1480189 1480396 1480441 1480442 1480459 1480491 1480500 1480614 1480615 1480617 1480619 1480623 1480626 1480629 1480630 1480635 1480636 1480637 1480641 1480643 1480646 1480648 1480661 1480663 1480665 1480666 1480668 1480669 1480940 1481303 1481304 1481306 1481334 1481335 1481352 1481353 1481383 1481729 1481730 1481753 1481825 1481844 1481865 1481983 1482071 1482073 1482132 1482287 1482291 1482340 1482407 1482432 1482487 1482490 1482493 1482706 1482730 1482734 1482884 1482912 1482978 1483021 1483022 1483084 1483103 1483105 1483107 1483109 1483110 1483116 1483134 1483194 1483196 1483200 1483201 1483202 1483204 1483205 1483207 1483208 1483210 1483286 1483289 1483291 1483292 1483315 1483318 1483327 1483356 1483560 1483564 1483572 1483578 1483680 1483687 1483701 1483702 1483706 1483707 1483709 1483710 1483711 1483712 1483717 1483721 1483726 1483745 1483759 1483772 1483775 1483778 1483779 1483782 1483783 1483787 1483791 1483792 1483797 1483816 1483822 1483842 1483955 1483956 1483957 1483962 1484374 1484841 1484846 1484850 1484958 1485321 1485385 1485396 1485418 1485425 1485539 1485577 1485578 1485579 1485714 1485738 1485818 1485880 1485881 1485883 1485890 1485899 1485944 1486018 1486026 1486296 1486298 1486302 1486313 1486316 1486364 1486365 1486366 1486380 1486441 1486484 1486485 1486487 1486490 1486504 1486537 1486538 1486540 1486542 1486545 1486549 1486554 1486557 1486564 1486566 1486579 1486599 1486624 1486625 1486775 1486788 1486808 1486809 1486810 1486813 1486814 1486824 1486838 1486847 1486852 1486854 1486855 1486856 1486857 1486858 1486873 1486876 1486877 1486918 1486990 1487002 1487165 1487178 1487210 1487211 1487286 1487314 1487315 1487329 1487449 1487470 1487475 1487478 1487483 1487484 1487487 1487493 1487494 1487496 1487499 1487514 1487532 1487535 1487541 1487544 1487561 1487565 1487623 1487627 1487632 1487727 1487861 1487898 1487900 1487931 1488483 1488897 1488966 1488968 1488971 1488972 1488991 1489181 1489227 1489237 1489273 1489280 1489283 1489290 1489294 1489295 1489463 1489483 1489493 1489501 1489511 1489526 1489540 1489541 1489786 1489791 1489825 1489836 1489837 1489840 1489844 1489849 1489851 1489861 1489865 1489881 1489926 1489973 1489988 1489991 1490119 1490139 1490142 1490147 1490151 1490152 1490187 1490188 1490250 1490251 1490257 1490259 1490264 1490267 1490272 1490284 1490285 1490297 1490339 1490348 1490349 1490373 1490375 1490376 1490381 1490382 1490392 1490423 1490652 1490655 1490656 1490663 1490670 1490671 1490680 1490689 1490696 1490700 1490746 1490982 1490993 1490999 1491001 1491003 1491148 1491388 1491432 1491456 1491458 1491476 1491659 1491665 1491682 1491758 1491798 1491801 1491861 1491865 1491890 1491955 1491967 1491970 1491980 1491987 1492019 1492021 1492022 1492023 1492024 1492025 1492035 1492048 1492053 1492056 1492064 1492065 1492069 1492084 1492085 1492096 1492102 1492106 1492107 1492109 1492189 1492233 1492248 1492249 1492261 1492517 1492642 1492857 1492862 1492866 1492893 1493298 1493392 1493398 1493404 1493513 1493559 1493572 1493752 1493786 1494102 1494346 1494380 1494478 1494479 1494480 1494481 1494570 1494716 1494794 1494809 1494810 1494811 1494979 1494999 1495000 1495159 1495172 1495173 1495178 1495183 1495186 1495229 1495271 1495274 1495584 1495594 1495613 1495758 1495761 1495762 1495841 1495842 1496116 1496120 1496135 1496346 1496351 1496352 1496353 1496354 1496355 1496359 1496361 1496362 1496595 1496622 1496642 1496648 1496654 1496681 1496682 1496820 1496927 1496942 1496994 1497267 1497382 1497551 1497650 1497659 1497661 1497662 1497669 1497670 1497672 1497673 1497675 1497677 1497715 1497724 1497748 1497760 1497922 1497926 1497929 1497933 1497936 1497937 1497938 1497939 1497944 1497958 1497959 1497960 1497961 1497998 1498005 1498011 1498025 1498155 1498165 1498166 1498222 1498223 1498226 1498228 1498389 1498393 1498394 1498495 1498514 1498515 1498535 1498664 1498667 1498717 1498718 1498778 1498792 1498856 1498875 1498934 1498975 1498976 1499077 1499123 1499130 1499131 1499134 1499146 1499212 1499248 1499276 1499281 1499327 1499339 1499342 1499347 1499356 1499578 1499628 1499640 1499641 1499718 1499790 1499805 1499860 1499868 1499908 1499922 1499923 1499924 1499931 1499932 1499969 1499985 1499987 1499991 1500047 1500202 1500203 1500217 1500219 1500222 1500223 1500224 1500225 1500226 1500227 1500318 1500358 1500362 1500417 1500548 1500654 1500676 1500678 1500681 1500717 1500718 1500719 1500732 1500733 1500734 1501077 1501208 1501209 1501274 1501287 1501288 1501289 1501296 1501297 1501298 1501299 1501300 1501343 1501483 1501610 1501620 1501657 1501675 1501679 1501681 1501701 1501736 1501738 1501903 1501914 1501916 1502273 1502276 1502288 1502302 1502326 1502328 1502374 1502621 1502688 1502713 1502718 1502740 1502774 1502782 1502790 1502812 1502844 1502886 1502962 1502963 1502964 1502968 1502969 1502970 1502972 1502974 1503026 1503030 1503039 1503040 1503364 1503380 1503384 1503402 1503472 1503475 1503477 1503483 1503484 1503510 1503514 1503615 1503619 1503621 1503623 1503625 1503637 1503638 1503746 1504053 1504054 1504061 1504070 1504073 1504074 1504075 1504077 1504079 1504304 1504310 1504316 1504317 1510478 1510487 1510488 1510512 1522377 1527346 1535804 1535805 1535812 1535813 1535815 1535816 1535817 1535820 1535821 1535822 1535824 1535828 1536300 1536360 1536385 1536447 1579749)\n(110 788 1585 1586 2695 7294 8098 8099 10331 18576 21288 21562 25360 29921 30705 32804 39552 79822 86807 150101 157187 175842 175950 175953 175989 206193 206194 233363 233364 237950 238607 242566 242798 242810 259916 259918 259928 259931 260031 260048 260101 260154 260175 337680 376326 376387 421161 481432 524351 525064 525065 546143 597927 597928 599466 600524 677632 679372 682155 683007 683991 683992 687689 687725 699765 699766 700061 701153 741259 741926 744796 745035 748064 814957 814958 814960 853961 853966 856046 856295 856973 858354 870387 870464 870602 870668 870685 870869 871463 871503 876918 948448 948450 948452 948453 1261244 1320290 1516213 1516231 1517739)\n(111 901 2049 2460 3988 5680 5795 7457 8096 8097 8121 8942 10436 10476 12613 13135 13331 14283 14845 15031 15621 16702 18103 18422 19532 19576 19863 19898 20155 21208 21209 21216 21729 22342 22343 22372 22389 22443 22866 23226 24045 24770 25266 25369 25884 26065 26092 26093 26192 26193 26767 26870 27361 27567 28307 29034 29206 29975 30686 30767 32730 33011 33152 33167 33176 34035 34043 34510 34961 35962 36615 36911 36989 37179 37263 37311 38488 38607 39309 40288 40705 40881 41903 41935 42610 43114 43157 43210 43215 78988 79375 79379 79382 79385 79891 80105 85756 85766 86287 86409 86484 86528 86582 86713 86944 87032 87132 87134 87136 150094 150775 152035 162592 175941 178443 178515 178835 205716 217846 220896 221786 237755 237945 238602 238603 238604 238605 238606 238611 238622 238627 238689 238697 238787 238914 239045 239076 239127 239304 239307 239578 240069 240072 240184 240293 240339 240342 240505 240790 240951 241297 241315 241520 241664 241766 242000 242191 242211 242220 242268 242299 242444 242445 242543 242657 242660 242662 242663 259851 260103 260786 260787 260788 282122 282163 282204 282538 282539 282540 302823 335343 336498 337563 337606 337609 337610 337611 337647 337671 337704 337758 337773 337775 337794 337795 337796 337797 337798 337799 337800 337801 337802 337803 337804 337805 337806 337807 337808 337810 337811 337812 337813 337815 337816 337817 337818 337819 337821 337822 337824 337826 337829 337830 337831 337832 337833 337834 337836 337838 337839 337840 337841 337842 337845 337846 337847 337851 337853 337855 337856 337858 337861 337862 337863 337870 337871 337875 337876 337877 337879 337881 337882 337884 337887 337888 337890 337891 337892 337893 337894 337900 337901 337902 337903 337904 337905 337907 337909 337910 337911 337912 337917 337918 337920 337924 337929 337931 337932 337933 337938 337940 337944 337946 337947 337948 344345 344346 344347 348050 349678 375876 375877 392895 422771 422773 422792 425241 425334 425335 425343 425344 425346 425348 425359 438962 438964 438965 438966 438967 450046 450047 450048 450058 450063 489543 521319 521320 524348 524355 524356 524379 524400 524401 524402 524405 524411 524692 549217 554951 574825 581705 581706 581709 581710 587175 596070 596227 596476 596903 597010 597091 597369 597918 597921 598781 598855 599755 600242 678372 679646 679670 679739 679792 680022 680249 680250 680296 680299 680301 680303 680304 680310 680311 680312 680315 680317 680319 680320 680322 680323 680327 680347 680368 680384 680395 680396 680397 680398 680399 680401 680404 680408 680413 680464 680681 680888 681088 681273 682068 682070 682078 682081 682082 682083 682085 682086 682087 682089 682100 682101 682103 682104 682106 682107 682110 682111 682119 682124 682125 682134 682136 682137 682138 682139 682140 682151 682172 682175 682176 682177 682179 682196 682197 682198 682201 682204 682205 682219 682285 682286 682287 682289 682290 682306 682309 682311 682312 682313 682338 682339 682346 682349 682352 682353 682354 682355 682356 682358 682359 682432 682435 682439 682441 683073 683306 683602 683618 683625 683626 683639 683747 683938 683971 683978 683980 683983 683990 684030 684312 687669 687733 687735 687744 687759 699726 699777 699868 814648 814941 814942 814948 814949 814964 814980 814981 815269 815270 815271 815272 815324 847494 851827 856982 860067 860069 860082 860097 870136 870221 870316 870358 870376 870454 870465 870481 870575 870578 870597 870604 870646 870654 870659 870704 870765 870770 870821 870831 870881 870968 871061 871111 871132 871299 871402 871419 871539 871592 871674 871708 871751 872319 877838 920541 935542 949335 949366 1171343 1171345 1171358 1171359 1171364 1257890 1258940 1258942 1272267 1277063 1277335 1277336 1278523 1278524 1278529 1282531 1283619 1319882 1319883 1456623 1511230 1515834 1517302 1518028 1518424 1518563 1519196 1519427 1519773 1521910 1524069 1527116 1527117 1527360 1531486 1533018 1533021 1533642 1535514 1545432 1545958 1551488 1551538 1551644 1551648 1551678 1551706 1551795 1551841 1551845 1553269 1553305 1553322 1553323 1553324 1553350 1553355 1553359 1553360 1553361 1553362 1553366 1553367 1553369 1553372 1553373 1553374 1553375 1553376 1553377 1553378 1553379 1553702 1556086 1556094 1556095 1556100)\n(112 1568 2122 2906 3045 3183 4643 4746 8935 8961 9467 9484 9817 10082 10212 11286 11327 11328 11369 11420 11421 11424 11441 11442 11467 13657 13913 13963 15535 15536 15537 15538 15539 15760 16075 16553 17319 18676 18724 18730 18765 19949 19989 20044 21426 21821 25053 25081 25082 25099 25100 25105 25106 25109 26083 26126 27363 28652 28654 28655 28657 28661 28663 28676 28698 28699 28799 28807 29063 29079 29146 30450 30697 30701 31228 31323 31831 31833 31836 32933 33131 33518 33867 33872 33908 34022 35173 36374 37444 37467 38492 38493 38495 38496 38497 38498 38950 40600 40713 41209 41900 42462 42799 42960 43525 79619 79695 79844 85098 85135 85537 85546 85560 85751 85991 86021 86050 86267 86471 86515 86516 86517 86529 86530 86825 86911 87009 87157 150646 175803 175806 175808 175827 175838 175854 175861 175887 175906 175988 181090 206212 221191 221192 221193 221194 221195 221196 221456 221457 221458 221459 221460 221462 221463 237083 237412 237419 237426 237427 237433 237456 237612 237733 237758 237900 238703 238712 238749 238915 239198 239201 239687 239971 239996 240146 240169 240346 240816 240986 241359 242170 242176 242304 242688 242797 242856 259831 259852 259853 259859 259863 259864 259865 259873 259894 259895 259901 259904 259910 259935 259990 260010 260017 260029 260039 260063 260073 260077 260083 260087 260091 260095 260115 260119 260120 260138 260141 260145 260178 260194 260212 260227 260232 260272 260280 260281 260314 260319 278598 278602 278604 278626 278631 279158 279538 282594 302833 334707 334709 334710 334711 334712 334723 334725 334726 334736 334738 334754 334758 334768 334778 334789 334796 334861 334862 334865 334866 334867 334868 334871 334874 334885 334886 334889 334890 334891 334892 334893 334894 334896 334897 334898 334899 334900 334901 334902 334903 334905 334906 334907 334910 334912 334914 334915 334917 334920 334921 334937 334948 334949 334952 334957 334962 334963 334965 334968 334970 334975 334977 335005 335008 335018 335030 335034 335038 335049 335051 335072 335073 335075 335076 335080 335081 335083 335086 335094 335095 335096 335105 335107 335111 335115 335116 335118 335139 335141 335142 335199 335205 335248 335271 335272 335289 335290 335296 335306 335309 335333 335337 335340 335350 335357 335358 335371 335372 335373 335377 335385 335389 335390 335393 335397 335402 335405 335409 335415 335416 335417 335432 335436 335443 335448 335453 335454 335460 335466 335467 335479 335483 335532 335566 335567 335578 335669 335670 335671 335730 335755 335757 335758 335777 335819 335829 335856 335895 335911 335912 335932 335933 335941 335957 335976 336012 336073 336119 336121 336130 336150 336159 336168 336284 336293 336295 336301 336343 336354 336362 336397 336398 336427 336487 336500 336501 336504 336513 336524 341618 341628 341630 341632 341633 341638 341641 341647 341652 341660 341661 341662 341663 341664 341667 341668 341671 362011 392328 392332 392353 401762 401778 401783 401805 401811 401816 401818 401822 401827 401828 401867 401874 401875 401890 401892 401893 401897 401900 401901 401903 401908 401924 401928 401935 401940 401946 401952 401962 401968 401971 401972 401975 401976 401990 401998 401999 402000 402002 402003 402011 402015 402016 402019 402037 402043 402045 402046 402067 402069 402097 402103 402108 402112 402117 402118 402119 402120 402131 402134 402139 402143 402198 402205 402208 402209 402217 402227 402240 402245 402295 402296 402297 402364 402369 402411 402423 402482 402499 402531 402549 402552 402556 402573 402574 402589 402591 402604 402606 402609 402624 402629 402636 402644 402655 402656 402660 402667 402671 402681 402683 402692 402694 402724 402755 402761 402790 402830 402833 402834 402839 402848 402857 402863 402875 402876 402883 402888 402908 402920 402925 402936 402937 402971 402999 403010 403065 403066 403082 403091 403119 403130 403148 403151 403172 403175 425349 436543 452181 473161 473169 473185 473195 521321 524635 524645 524646 524647 524648 524700 554173 554178 554179 554181 554185 554194 554196 554202 554204 554208 554210 554213 554215 554244 554245 554247 555052 556993 557512 557513 557514 557515 557516 557518 557520 557521 557523 557524 557525 557526 557529 557530 557531 557534 557536 557537 557538 557539 557540 557541 557542 557543 557545 557546 557550 557555 557561 557566 557571 557573 557576 557582 557583 558269 558270 558272 558468 558477 558478 561731 579022 580214 580220 580223 580224 582175 585853 586803 586804 586833 586836 586839 586841 586842 586843 586844 586845 586846 586847 586849 586850 586852 586854 586855 586857 586858 586859 586860 586861 586862 586863 586864 586865 586866 586867 586868 586869 586871 586872 586873 586874 586875 586876 586878 586879 586880 586886 586887 586889 586894 586895 586896 586897 586898 586900 586901 586902 586903 586905 586906 586907 586908 586909 586911 586915 586919 586920 586925 586935 586937 586938 586941 586943 586952 586953 586960 586963 586964 586970 586985 586986 587699 587702 587704 587705 587707 587710 587712 587714 587716 587718 587719 587720 587721 587722 588474 588536 588920 589015 596327 596910 598236 598572 598908 599518 599987 599991 600088 600089 600090 600218 600592 600620 680847 681644 682178 682208 682209 682210 682212 682213 682215 682217 682218 682220 682221 682225 682228 682232 682233 682234 682238 682239 682240 682249 682250 682252 682253 682255 682260 682267 682268 682271 682303 682304 684003 684004 684005 684010 684011 684012 684013 684014 684015 684017 684019 684021 684023 687673 687693 687694 687734 687749 699774 699775 699944 728982 805983 807498 808118 809762 814968 814969 814970 815185 851286 870132 870184 870236 870237 870253 870267 870286 870288 870306 870359 870482 870524 870526 870700 870766 870787 870788 870837 870893 870895 870896 870897 870938 870992 871090 871105 871127 871128 871136 871248 871254 871296 871301 871302 871346 871386 871451 871490 871524 871525 871554 871559 871683 871685 871717 871757 871767 871775 871783 871847 871904 871951 876909 876941 878517 920339 920580 949757 949768 949769 1135942 1136114 1136362 1136364 1138603 1270973 1270978 1270980 1270981 1274022 1301663 1301938 1305660 1306754 1306756 1319406 1320928 1320929 1321571 1321772 1443334 1446397 1449564 1508821 1510621 1511295 1511299 1511333 1513052 1514478 1514743 1514999 1515004 1516165 1516627 1518578 1518579 1518642 1518930 1518933 1519237 1519446 1521743 1521808 1521895 1522486 1522710 1524106 1527237 1527272 1531633 1547429 1549449 1549450 1549452 1550495 1550496 1550497 1550498 1552235 1552238 1552264 1552280 1552344 1552388 1555730 1555735 1555750 1555762 1555764 1555769 1555793 1555794 1555845 1555863 1555874 1555941 1556024 1562236 1562307 1562308 1609986)\n(113 2456 2459 2461 2463 2464 21786 23628 33282 37457 37458 37459 37460 37461 37463 78936 680403 1515830 1515935 1515938 1515940 1515941 1515942 1515943 1515944 1515948 1515949)\n(114 4898 5516 5891 7337 8956 8963 8973 9246 9678 9827 9885 10820 11750 11922 13210 13658 14003 14006 14902 16483 17518 18599 18736 18748 18759 19627 21147 22437 23864 24650 25115 27552 27564 28722 28764 29242 30657 30702 32855 32972 33278 34030 34375 34377 34379 35621 35647 36373 36398 37345 37402 37422 37824 38477 38924 42295 42943 43268 63467 79843 80051 80214 80267 85145 85285 85415 85556 85801 86035 86589 86887 86996 87113 87171 162399 162488 162489 162490 162491 162492 162598 162643 175627 175671 178733 184511 184512 205082 205160 205163 205164 205166 205168 205169 205170 205179 205182 205183 205188 205194 205195 205197 205198 205199 205208 205210 205219 205222 205224 205225 205231 205233 205235 205237 205238 205241 205248 205250 205251 205266 205271 205272 205275 205280 205281 205282 205287 205288 205289 205295 205297 205307 205309 205312 205318 205330 205332 205344 205347 205351 205352 205357 205358 205369 205370 205379 205381 205386 205395 205396 205402 205403 205406 205407 205408 205410 205411 205412 205413 205416 205418 205419 205423 205424 205467 205542 205543 205547 205615 205616 205617 205618 206015 220885 220936 220938 221205 225353 231511 234234 235187 237399 237506 237519 237855 237940 240789 242263 242492 243028 243029 243030 243091 278250 282469 282613 311420 332122 332126 332132 332134 332135 332136 332137 332138 332139 332140 332143 332144 332147 332148 332149 332162 332218 332219 332236 332241 332261 332268 332272 332281 332288 332306 332307 332437 332445 332511 332518 332519 332528 332529 332536 332541 332570 332572 332577 332582 332583 332585 332592 332617 333610 337459 337493 337540 337645 348080 376531 392343 392352 392758 392768 439536 439541 439542 439543 439544 439591 439593 439605 439655 439657 439658 439665 439667 439677 439679 439680 439682 439686 439688 439689 439690 439691 439693 439697 439700 439702 439703 439740 439793 439795 439808 439810 439812 439816 439819 439822 439823 439827 439828 439831 439833 439834 439835 439849 439850 439852 439855 439856 439858 439860 440743 441463 441890 442797 442821 443127 443129 443131 443199 443202 443208 443211 443212 443215 443218 443220 443224 443225 443231 443241 443248 443250 443263 443269 443271 443272 443285 443289 443291 443304 443312 443342 443348 443350 444503 444519 444649 444656 444706 444749 444946 445043 445045 445141 445200 445247 445254 449297 449391 449438 449565 449576 449579 449581 449910 449927 449930 450094 456393 456764 456962 457432 457591 457784 458003 458083 460105 475222 475225 475277 475278 475279 475281 475283 475330 475336 475752 481667 521117 522498 522500 522501 522503 525060 525061 525063 547040 547044 547054 559247 559298 563116 577554 596084 596150 596381 597110 597609 597615 598285 598333 598629 600378 678582 678583 678584 678800 678997 679864 679881 680059 680559 680560 680561 680562 681093 681124 681217 681374 681668 681669 681897 681898 681923 683273 683487 683574 683789 686731 686732 687695 699759 699806 700364 702116 743559 746591 814102 814246 814423 814458 814537 814632 814766 814767 814769 814810 814912 814930 857807 870334 870434 870528 870689 870791 870989 871020 871159 871161 871181 871211 871214 871220 871387 871413 871438 871440 871569 871571 871623 871819 871851 872013 935763 935919 940896 940900 949877 1182670 1253910 1257885 1260956 1260957 1264631 1264636 1272460 1272746 1277193 1277194 1277195 1277196 1277197 1279889 1279901 1280014 1280412 1280500 1280519 1282907 1285530 1292745 1299351 1299352 1299392 1299393 1301751 1302234 1305718 1306673 1317741 1317808 1321310 1330961 1407029 1444641 1444748 1446409 1455667 1455761 1456501 1510629 1510665 1511298 1511983 1512376 1512693 1514475 1514486 1514697 1514863 1515999 1516637 1516832 1517500 1518435 1518600 1519069 1519104 1521725 1521991 1521996 1522005 1522010 1522326 1522446 1524057 1524072 1524119 1526878 1527362 1532410 1532472 1542147 1548793 1548796 1552084 1576416 1609982)\n(115 1782 1790 1791 2349 2749 2777 2780 3745 4312 4776 4790 4870 4909 5131 5349 5463 5508 5535 5607 5608 5884 5886 5890 5901 5963 6777 7319 7663 8040 8041 8083 9085 9247 9248 9667 9825 9892 10235 10456 10998 11297 12210 12213 12592 12630 12641 12751 12845 13223 13682 13777 13852 15316 15317 15318 15319 15483 15660 15661 15743 15754 15912 16491 16620 16723 18173 18590 18721 18766 19954 20283 21149 21150 21162 21278 21632 21674 21713 21772 21861 22171 23189 23378 23732 23733 23746 23881 23956 23981 24828 24921 24926 24971 24985 25493 26385 26507 26538 26565 26675 26757 26777 27488 27558 27616 27946 28377 28764 28873 28883 29165 29981 30608 30854 31227 31868 32246 32347 32659 32664 32665 32667 32671 32676 32683 32685 32744 32847 32975 33105 33106 33204 33206 33269 33522 34384 34524 34660 34772 34926 34975 34980 35023 35145 35176 35181 35363 35648 35787 36064 36149 36369 36406 36542 36577 36668 36841 36878 36893 37471 37628 37745 37786 37791 38116 38205 38347 38592 38949 38953 38954 39339 39371 39476 39526 40287 41434 42791 42815 42836 43062 43100 43161 79262 79320 79809 80190 85122 85123 85550 85551 85552 85801 86027 86198 86387 86498 86569 86595 86715 87022 87112 150312 162339 162521 162658 162775 162777 178602 178673 178685 178686 205171 205174 205214 205216 205217 205257 205388 205393 205435 205436 205437 205438 205439 205440 205441 205443 205444 205447 205448 205449 205450 205451 205452 205453 205454 205455 205456 205458 205549 205682 205848 206174 220852 237580 237688 237753 237768 237800 237829 237883 237953 238618 242196 242353 242492 242618 242790 242791 242792 242793 242814 242815 242816 242925 242927 242928 242929 242932 242959 243098 243132 243169 282250 331865 332197 332506 332520 337011 347980 347981 347982 376243 376690 392412 429865 439064 439082 439083 439084 439086 439087 439148 439151 439152 439154 439155 439156 439157 439158 439164 439165 439167 439170 439171 439172 439175 439178 439179 439182 439183 439185 439186 439187 439189 439190 439191 439192 439194 439195 439198 439200 439201 439202 439208 439209 439210 439211 439212 439214 439216 439217 439219 439220 439225 439237 439239 439241 439242 439243 439245 439247 439250 439255 439256 439259 439261 439279 439284 439300 439368 439375 439385 439392 439416 439453 439454 439455 439458 439473 439474 439475 439476 439479 439482 439484 439487 439497 439499 439510 439511 439514 439526 439534 439632 439751 439806 439809 441943 441975 441979 441983 442734 442758 443150 443228 443238 443275 443302 443329 444499 444504 444667 444868 444956 445074 445174 445176 445550 449286 449468 449816 449819 449820 449821 449822 450172 450316 450346 450380 450404 451267 453825 454195 454197 454199 454270 454271 456574 456637 456649 456681 456691 456715 456762 456786 457176 457242 457243 457451 457602 459443 470364 470369 470478 470480 470521 470523 470528 470531 470564 471672 475205 475206 475208 475209 475210 475211 475276 475645 487742 489460 524899 542569 547047 549177 549188 552315 556604 556636 556639 556640 556641 556642 556645 556660 556962 556965 556966 556969 556978 556981 559741 560002 560005 560013 560037 560038 560040 560132 560133 560135 560137 560145 560150 560170 560263 560267 560271 560418 560562 560579 560604 560700 560727 560729 560741 562018 562019 562425 564385 565930 582519 582520 582521 582522 582525 582526 595228 596244 596292 596437 596449 596484 596493 596579 596721 596737 596844 596963 597238 597430 597495 597544 597680 597682 597742 598630 598892 600457 600459 600495 600568 678214 678223 678536 678550 678551 678751 678756 678766 678793 680263 680264 680842 680854 680870 680871 680989 680998 681000 681014 681040 681041 681043 681048 681052 681054 681055 681058 681074 681075 681079 681080 681101 681102 681106 681667 681679 681680 681889 681899 681916 681921 681922 681925 681926 681927 681928 681930 682277 683149 683150 683162 683481 683604 683783 683917 683920 683921 699870 700085 700103 700321 728938 750572 751992 752079 813215 813980 813981 813983 813984 814225 814251 814536 814723 814777 814843 814844 814908 814910 869039 870226 870336 870719 870863 870908 871221 871258 871369 871396 871420 871421 871425 871426 871577 887819 887820 887968 887969 887970 917711 920468 941280 1135899 1135960 1136206 1138565 1171304 1264633 1264664 1264675 1264678 1264679 1264680 1264683 1265611 1275572 1275573 1275671 1275949 1293928 1299381 1300554 1300557 1300561 1301886 1306372 1306898 1328812 1442112 1442488 1443964 1444754 1446466 1449633 1455752 1510993 1511883 1511884 1512044 1512045 1512163 1512456 1514229 1514468 1515051 1516240 1516737 1517378 1517512 1517878 1517945 1518029 1518922 1519101 1519761 1522484 1527113 1531789 1532188 1532336 1532342 1532464 1532565 1532578 1532717 1532718 1532780 1532980 1532981 1532982 1533024 1533107 1533125 1533134 1533164 1533179 1533199 1547011 1547014 1547020 1547028 1547052 1547053 1547055 1555420 1555425 1555426 1555427 1555428 1555439 1568397 1609992 1610538)\n(116 1451 1452 1471 1601 1638 1639 1642 1643 3011 3323 5456 6732 16011 17966 19929 21699 21701 34783 34784 34785 34786 34787 34788 34789 34790 34791 34792 34793 34794 34795 34796 34798 34799 34800 34801 34802 34803 34804 34805 34806 34807 34809 34811 34812 34813 34814 34815 34817 34818 34819 34821 34823 34826 34828 34830 34833 34834 34835 34836 34838 34839 34840 34843 34844 34845 34848 36757 39064 41016 51133 51300 51334 51404 51610 52360 52441 52495 52536 52644 52887 53443 53917 54455 54487 54544 54594 55746 56053 56111 56182 56184 56366 56371 56373 57601 57614 58697 58698 58913 59012 59285 59383 59392 59473 59570 59672 60105 60369 60377 60615 60972 60996 61126 61338 61352 61407 61421 61465 61605 62151 62217 62739 63078 63390 63592 63710 63717 63732 64219 64239 64634 64969 65059 65684 65911 66127 66563 66827 66882 66908 68603 68624 68635 68979 69029 69375 69515 69841 70015 70094 70199 70434 70548 71216 71234 71613 72257 72276 72284 72290 72301 72470 72482 72899 73044 73064 74129 74254 74504 74511 74830 74886 74923 75372 75747 75766 76194 76552 76566 76642 76930 77503 78067 78077 78208 78394 78411 79785 80090 80091 80093 80095 80096 81620 82341 82584 83017 83188 83258 83792 84056 84088 84532 84700 84873 100804 101725 106144 106158 107053 108066 108082 108303 108401 108773 108801 110279 110468 114835 114836 115305 117718 117719 118022 120370 120372 123242 123263 123711 123771 125090 125610 125642 126900 128545 132173 132299 136976 137234 138793 139738 140057 140079 140080 140278 140279 140280 140281 140283 142009 142251 144507 145779 147219 148339 148340 162825 162826 162827 162828 162829 164209 164313 165955 166415 166417 166418 166814 170195 170267 170936 174376 205923 205926 205928 206052 206128 206129 206364 206454 206473 206476 206482 206495 206517 206518 206529 206552 206587 206588 207731 208757 209606 210527 210947 211279 211546 212576 214897 215033 215510 216680 217843 218159 218584 219579 219940 230664 242391 242392 242466 242469 242957 242987 242988 246319 246766 246768 246951 247771 248098 248266 248722 249042 249508 249511 249526 249742 250400 250457 250783 250850 252155 253201 253470 253486 254191 254200 254616 254653 254837 255732 255808 255813 255998 257571 257773 257862 258875 258911 282604 284080 284555 284725 284726 286862 286995 287186 287275 287592 287593 288339 289174 289417 289799 290067 290068 291339 292142 292687 293564 293624 293650 294096 294154 295247 295277 295352 295924 296735 297439 297858 298296 299247 299326 299636 300500 300804 300824 312522 312526 312527 377800 378073 378126 378796 379275 379900 380056 380190 380226 382265 382267 382336 383165 384479 384601 384752 384842 385053 385463 386312 386482 386529 386614 387687 388009 388148 388437 388570 388580 389304 389726 390154 390423 390526 391129 391398 391470 391483 391690 391725 487019 524914 524963 524964 524965 525522 526339 527031 527032 527721 527729 528049 528199 528200 529082 529099 529155 529330 529863 529964 529997 529999 530698 530778 530779 531370 531372 531859 532371 532374 534281 535025 535210 535298 535922 536201 536243 537425 537770 538161 539266 539692 539788 540641 541201 541284 544980 596123 597357 597519 597876 598529 599740 600486 611702 616470 626645 628076 630194 638262 647426 648695 660346 662917 663285 663688 664019 664123 664494 665267 665341 665952 666963 667282 667286 667394 667931 668289 668727 668788 669930 670336 670896 671702 671771 671876 671880 672979 672987 673129 673149 675239 675244 676301 677026 682972 684162 684163 753180 753726 753791 753910 754728 754866 755771 758506 758637 761706 761929 762318 764363 764439 765061 765879 766069 766114 768454 769031 796385 812246 812267 812308 812309 812384 872078 872141 879468 879590 887829 905865 906528 906592 907479 907480 907567 907648 908063 908428 908436 909402 909670 909671 910201 911771 914341 914905 914906 914912 915629 915731 916120 916696 917729 917877 919430 919489 919509 919534 919538 962189 963762 963763 964859 966118 966324 966553 966831 968179 968185 968370 971129 971255 971363 971455 971508 1099473 1099474 1100100 1101536 1121711 1121713 1122842 1135613 1136151 1136193 1136300 1136376 1136699 1137119 1137274 1137275 1137583 1138422 1138427 1142804 1142856 1143767 1171834 1172058 1172181 1172703 1173092 1173313 1173441 1174096 1174640 1175254 1175441 1175744 1178976 1179928 1257634 1257901 1259263 1259275 1259581 1259595 1259676 1291755 1307877 1308614 1311076 1312385 1312975 1321919 1325331 1332028 1332029 1332036 1332083 1332084 1332122 1332430 1332645 1332648 1332653 1332675 1332699 1332700 1332703 1332709 1332713 1332714 1332758 1332766 1332767 1332792 1332814 1332822 1332824 1333253 1333312 1333342 1333543 1333544 1333574 1333586 1333675 1333692 1333711 1333712 1333714 1333919 1333933 1334083 1334085 1334087 1334098 1334109 1334114 1334115 1334116 1334118 1334122 1334127 1334133 1334148 1334195 1334196 1334197 1334204 1334306 1334309 1334879 1334896 1334899 1334905 1334909 1335068 1335073 1335142 1335201 1335202 1335224 1335238 1335265 1335268 1335272 1335591 1335634 1335674 1335770 1335806 1335808 1335866 1335867 1335869 1335870 1335871 1336625 1336634 1336636 1336637 1336638 1336642 1336644 1336645 1336646 1336679 1336936 1337029 1337103 1363982 1363984 1364082 1364142 1366325 1366448 1366449 1366477 1366488 1366500 1366515 1366529 1366535 1366536 1366544 1366556 1366564 1366565 1366566 1366644 1366882 1367454 1367475 1367482 1367553 1367578 1367657 1367689 1367721 1367780 1367881 1368102 1368111 1370369 1384573 1384603 1384671 1412244 1412245 1412246 1412247 1412251 1412363 1412365 1412384 1412528 1412624 1412685 1413043 1413085 1413097 1413106 1413146 1413167 1413188 1413237 1413269 1413366 1413554 1413555 1413694 1413696 1413827 1413973 1414052 1414053 1414158 1414254 1414313 1414461 1414462 1414463 1414546 1414549 1414556 1414618 1414662 1414863 1415011 1415022 1415041 1415063 1415169 1415298 1415306 1415307 1415308 1415309 1415310 1415314 1415389 1415497 1415629 1415796 1415809 1415831 1415900 1415944 1415975 1415993 1416186 1416241 1416271 1416408 1416478 1416491 1416498 1416643 1416644 1416645 1416647 1416648 1416652 1416653 1416656 1416795 1416802 1416825 1416841 1416886 1416897 1416912 1417035 1417064 1417065 1417098 1417170 1417190 1417389 1417390 1417393 1417394 1417395 1417396 1417400 1417401 1417449 1417509 1417683 1417719 1417740 1417815 1417827 1417835 1417850 1417869 1417928 1418195 1418208 1418209 1418214 1418596 1418776 1418864 1418893 1419004 1419038 1419111 1419149 1419271 1419272 1419348 1419351 1419393 1419603 1419764 1419778 1419779 1419790 1420005 1420062 1420182 1420193 1420354 1420371 1420401 1420495 1420565 1420567 1420619 1420653 1420707 1420708 1420718 1420720 1420775 1421047 1421248 1421419 1421429 1421467 1422009 1422069 1422553 1423644 1424232 1424288 1424291 1424610 1424771 1424885 1424950 1424964 1424972 1424979 1425268 1425351 1425391 1425417 1425420 1425428 1425544 1425566 1425601 1426357 1426975 1427121 1428170 1428424 1428775 1428783 1428806 1435693 1439296 1439352 1442751 1442777 1447749 1448132 1456382 1506219 1521863 1522456 1522620 1523984 1527494 1529456 1531075 1531194 1531274 1531432 1531433 1538474 1538714 1538975 1539338 1539477 1539598 1539696 1539809 1540007 1540040 1540127 1540171 1564816 1564903 1564907 1565829 1567167 1569813 1571530 1611046 1612060 1619635 1620077 1822726 1823554 1823619 1823643 1825406 1825408 1825546 1825549 1826279 1826281 1826282 1826313 1826314 1826354 1826618 1826646 1826761 1835006 1842747 2239666 2678594 2681191 2829044 2829402 2829403 2829404 2829405 3147205 3469967 3469968 3815103)\n(117 2123 10345 20864 23916 35161 37381 37382 41412 79078 206278 206280 206281 206282 206283 206286 206287 206288 206293 206294 206295 206296 206297 206298 206299 206300 206301 206302 206303 206304 206305 206310 206312 206313 206315 206316 206317 206318 206319 206321 206322 206325 206326 206342 206343 327095 327096 327098 327099 327100 327101 327102 327104 327105 327106 327107 327108 327109 327110 327111 327112 327113 327114 327115 327118 327119 327120 327122 327123 327125 327126 327127 327128 327129 327131 327134 327135 327136 327137 327138 327139 327145 327149 327151 327153 327155 327156 327158 327160 327161 327162 327163 327164 327165 327167 327168 327169 327170 327176 327178 327179 327180 327182 327183 327185 327186 327187 327188 327189 327191 327192 327194 327195 327196 327197 327198 327200 327201 327203 327204 327205 327206 327207 327208 327209 327211 327213 327214 327216 327217 327218 327219 327220 327221 327222 327223 327224 327225 327227 327228 327229 327230 327231 327233 327234 327235 327236 327237 327238 327239 327240 327241 327242 327243 327244 327245 327246 327247 327248 327249 327251 327252 327253 327254 327255 327256 327257 327259 327260 327261 327262 327263 327264 327266 327267 327268 327269 327270 327272 327273 327274 327275 327277 327278 327282 327286 327288 327289 327290 327292 327293 327294 327295 327296 327300 327301 327302 327303 327304 327305 327308 327310 327311 327330 327332 327334 327335 327339 327343 327344 327345 327348 327349 327350 327354 327357 327358 327359 327360 327363 327369 327378 327379 327386 327388 327389 327390 327392 327394 327396 327403 327405 327407 327408 327411 327413 327417 327418 327419 327420 327422 327424 327426 327427 327428 327431 327432 327434 327435 327436 327438 327439 327440 327441 327442 327446 327447 327448 327449 327450 327454 327456 327457 327459 327460 327461 327462 327464 327465 327466 327467 327468 327469 327470 327471 327472 327473 327474 327476 327478 327479 327482 327484 327485 327486 327490 327492 327493 327494 327495 327496 327498 327499 327500 327502 327504 327505 327506 327507 327508 327512 327513 327514 327515 327516 327517 327518 327519 327522 327523 327524 327527 327528 327529 327530 327531 327532 327533 327534 327536 327537 327538 327539 327540 327541 327543 327544 327546 327548 327549 327550 327554 327555 327557 327558 327559 327560 327563 327564 327568 327569 327571 327572 327573 327575 327576 327577 327578 327579 546883 562672 562673 580676 580679 580680 580684 580686 580688 684238 936035 949681 993556 993566 995136 995137 995155 999063 999064 999065 999066 999068 999069 999070 999071 999072 999073 999075 999077 999078 999079 999080 999081 999082 999083 999084 999085 999086 999088 999090 999091 999096 999101 999102 999104 999106 999107 999108 999109 999111 999114 999115 999116 999119 999120 999122 999124 999125 999126 999127 999128 999129 999130 999131 999133 999134 999137 999138 999140 999141 999142 999145 999146 999147 1000544 1000545 1000865 1001716 1001717 1001718 1001719 1001720 1001723 1002496 1003437 1003439 1003441 1003442 1003443 1004207 1004231 1004579 1004580 1004584 1004586 1005353 1005355 1005356 1005357 1005376 1005381 1005382 1005383 1005385 1005386 1005389 1005390 1005391 1005392 1005394 1005396 1005399 1005401 1005402 1005404 1005405 1006193 1006681 1007673 1007834 1007837 1007841 1007844 1007866 1007867 1007872 1007955 1007966 1007967 1008010 1008041 1008074 1008102 1008115 1008120 1008121 1008122 1008136 1008159 1008376 1008377 1008743 1009003 1009980 1009981 1009995 1010157 1010158 1010402 1010870 1010871 1010872 1010874 1010875 1010877 1010879 1010888 1010894 1010895 1010897 1010901 1010904 1010906 1010907 1010908 1010909 1010915 1010918 1011227 1011228 1011229 1011230 1011233 1011235 1011458 1011459 1011460 1011462 1011463 1011464 1011466 1011467 1011468 1011470 1011474 1011477 1011479 1011480 1011610 1011617 1011618 1011620 1011621 1011622 1011624 1011626 1011627 1011912 1012143 1012495 1012498 1012499 1012500 1012501 1012504 1012517 1012523 1012530 1012713 1012714 1013487 1013489 1013490 1013721 1013854 1015826 1015836 1015844 1016130 1016196 1016256 1016257 1016261 1016262 1016266 1016267 1016268 1016269 1016270 1016273 1016278 1016282 1016337 1016489 1016491 1016494 1016496 1016500 1016501 1016504 1016508 1016509 1016513 1016514 1016518 1016522 1016523 1016662 1016762 1016763 1017268 1017988 1018804 1018805 1018806 1018807 1018808 1018809 1018810 1018814 1019549 1019894 1020008 1020048 1020668 1021692 1021711 1021746 1022707 1022727 1022743 1022744 1023190 1023193 1023195 1023196 1023197 1023202 1023203 1024083 1024097 1024638 1025374 1025378 1025379 1025381 1025623 1025671 1025672 1025717 1025719 1025720 1025722 1025724 1025725 1026925 1026927 1026929 1026931 1026966 1028373 1028375 1028376 1028380 1028471 1028486 1028846 1028880 1029080 1030372 1030466 1030467 1030469 1030470 1030471 1030474 1030476 1030500 1030616 1030877 1030879 1030885 1030887 1030888 1030893 1030895 1030896 1030900 1031127 1031128 1031134 1031138 1031139 1031142 1031152 1032053 1033203 1034180 1034181 1034188 1034193 1034194 1034200 1034201 1034209 1034210 1034211 1034213 1035026 1035114 1035115 1035117 1035260 1035261 1035852 1035985 1036725 1037514 1037515 1037516 1037901 1038339 1038340 1038920 1038921 1038922 1038923 1038976 1039431 1039432 1039488 1039756 1040145 1040374 1040432 1040659 1041310 1041314 1041315 1041316 1041317 1041318 1041409 1041593 1042789 1042792 1042793 1042795 1042796 1043094 1043095 1043104 1043223 1043224 1043225 1043229 1043230 1043619 1043907 1043908 1043912 1043913 1043916 1043918 1044110 1044114 1044127 1044984 1045725 1046090 1046439 1046444 1046547 1046821 1046822 1046917 1046918 1046919 1047179 1047181 1047183 1047184 1047887 1047888 1047891 1048019 1048020 1049115 1049116 1049487 1049941 1051393 1051398 1051401 1051405 1051408 1051412 1051590 1051593 1051594 1051596 1051831 1052414 1052418 1052516 1052630 1053870 1055383 1055384 1055386 1056456 1056800 1056801 1056899 1057840 1057843 1057846 1058409 1058414 1058415 1058424 1058437 1058444 1058894 1058927 1058931 1058941 1059250 1059252 1059874 1059875 1059879 1060931 1060984 1060988 1060991 1061666 1062425 1062426 1062493 1062497 1062498 1062581 1063425 1064569 1064570 1065556 1067845 1067849 1067851 1068443 1068694 1068697 1068701 1069070 1069992 1070722 1070723 1070724 1072473 1072968 1072969 1073415 1076016 1076255 1077392 1078953 1078955 1080243 1080244 1081154 1081155 1081157 1081158 1081160 1081161 1081833 1081923 1081924 1081925 1081926 1081927 1082233 1082267 1082331 1082513 1082651 1082655 1082658 1082659 1082740 1082741 1082743 1082894 1082895 1083360 1083361 1083422 1083457 1083458 1083460 1083487 1083796 1084654 1084785 1084793 1084800 1085171 1085172 1085192 1085509 1085568 1085616 1086289 1086853 1086862 1086997 1087374 1087475 1087578 1088019 1088056 1088702 1088704 1088707 1088729 1089033 1089157 1089262 1089263 1089422 1089425 1089427 1089464 1089476 1089477 1089478 1089696 1089757 1089803 1090059 1090061 1090062 1091164 1091221 1091222 1091475 1091476 1092454 1093029 1093030 1093206 1093370 1093371 1093372 1093382 1093394 1093420 1093675 1093733 1093897 1094039 1094050 1094300 1094967 1094989 1095391 1095717 1123012 1140715 1187159 1187175 1187295 1187496 1188006 1188007 1188010 1188013 1188014 1188283 1188289 1188294 1188296 1188299 1188305 1189187 1189191 1189193 1189196 1189372 1190893 1190911 1190915 1190929 1190986 1190998 1192212 1192384 1193130 1193131 1193132 1193408 1193417 1193493 1193847 1193848 1193852 1194496 1194497 1194504 1194637 1194638 1194747 1194748 1194752 1194754 1194755 1196846 1197521 1197582 1197587 1197589 1198222 1198231 1198232 1198234 1198239 1198539 1198540 1198544 1198546 1198549 1198678 1199533 1200601 1200616 1200621 1200966 1200974 1200982 1200992 1201006 1201007 1201020 1201026 1201027 1201040 1202060 1202063 1202064 1202467 1203913 1203917 1204531 1204534 1204535 1204536 1204540 1204543 1204548 1205108 1205117 1205127 1205194 1205350 1205916 1208158 1208162 1208163 1208166 1208168 1208172 1208618 1208623 1208624 1208627 1208677 1208679 1208680 1208681 1208683 1209007 1209521 1209523 1209614 1209617 1209618 1210223 1210364 1210380 1210385 1210388 1210390 1210402 1210408 1210410 1210415 1212647 1213427 1215126 1216763 1217607 1217769 1217772 1221166 1221167 1221182 1221190 1221192 1221370 1221728 1221729 1223245 1223273 1223279 1223280 1226431 1226432 1226855 1229748 1229749 1229750 1229751 1229752 1231323 1231324 1232176 1232395 1234041 1234042 1234043 1235734 1235737 1260946 1318887 1318892 1318893 1318894 1318895 1318988 1320149 1321556 1321606 1458802 1459181 1459544 1459637 1459638 1461332 1462087 1462944 1462984 1464184 1464194 1464197 1465312 1465315 1465316 1465317 1465649 1465650 1465651 1466346 1466354 1467332 1467353 1467362 1472343 1472344 1474310 1474311 1474312 1478439 1481853 1481932 1482121 1482124 1482202 1482342 1482457 1483943 1484410 1484423 1484425 1486727 1488082 1491762 1492644 1492645 1494696 1497716 1497945 1497946 1497951 1497953 1497955 1497962 1497965 1497966 1497968 1498435 1498443 1498444 1498447 1498449 1498450 1498695 1503406)\n(118 1273 2783 3048 3059 3188 4939 5364 5480 5540 5544 6134 7328 7664 8967 8971 8972 8976 9015 9483 9661 9897 9933 10101 10341 10358 10362 10990 10995 11000 11216 11289 11296 11366 12161 12162 12630 13072 13175 13206 13870 14503 15194 15195 15196 15320 15610 15730 16441 16699 17395 18126 18260 18757 18762 20123 20125 21810 21822 21823 22261 22886 23981 24870 24907 25101 25140 26031 27775 28679 28695 28713 29066 30399 31928 32687 33522 33876 34656 34855 35008 35151 35157 35168 35170 35171 35177 35375 36150 36449 36718 36744 36892 37181 37645 37680 38136 38949 38951 39040 39593 39778 40808 42768 42912 79435 79816 85531 85564 85567 86027 86265 86912 87107 150093 150095 150097 150100 150103 150104 150105 150108 150114 162551 162587 162588 175763 178480 178693 178803 205664 205717 206012 206031 206034 206055 206056 206233 206234 237828 237832 237848 237940 242239 242242 242244 242278 242478 242480 242481 242530 242570 242571 242623 242624 242625 242800 242802 242817 243063 243064 243114 260133 260205 260206 260276 260292 262727 281858 282121 282218 282334 282439 282460 282461 282462 282496 282592 302523 376344 376367 376368 376592 376593 376688 394374 524527 524785 524955 525049 543472 596382 596404 596525 596572 596667 596668 596723 597592 597634 598304 598877 598878 599724 600115 600209 600367 678323 678801 678954 679083 679681 679695 681797 681798 681800 681804 681805 681808 681812 681813 681814 681815 681816 681817 681818 681819 681820 681825 681831 681833 681834 681836 681837 681838 681839 681840 681841 681846 681848 681853 681854 681858 681859 681865 681867 681868 681870 681871 681872 681873 681875 681876 681878 681879 681880 681882 681883 681884 681885 681896 681897 681898 681902 681904 681906 681908 681911 681912 681913 681915 681916 681918 681919 681925 681926 681927 681928 681930 681931 681934 681935 681937 681938 681939 681940 681941 681942 681944 681945 681947 681948 683933 683934 683935 683937 683941 683942 683944 683945 683946 683952 683955 683958 683960 683961 683962 683963 683964 700032 814847 814852 814857 814860 814861 814862 814863 814865 814868 814871 814873 814880 814882 814883 814885 814886 814896 814897 814906 814908 814909 814910 814911 814912 814921 814924 814925 814926 814927 814928 814930 815254 815255 815256 815260 815261 815264 815323 868962 869040 870071 870194 870330 870349 870350 870366 870421 870428 870625 870696 870753 870829 870863 870962 870965 870991 871031 871044 871052 871206 871207 871208 871309 871314 871424 871459 871505 871509 871566 871573 871697 871728 871734 871738 871742 871752 871785 871791 871881 871922 871978 872030 872096 872104 872231 872253 872295 872296 872303 876956 886519 887949 887960 887961 920321 920452 920472 920473 920489 920517 920630 920661 935544 935545 935561 935566 935585 936012 949385 949415 949811 1134625 1134635 1135931 1135933 1136213 1136214 1171301 1171370 1257947 1257948 1293089 1328929 1328944 1337100 1510530 1510544 1510567 1510568 1510569 1510570 1510686 1510810 1510855 1510899 1511036 1511083 1511147 1511226 1511287 1511293 1511510 1511524 1511671 1511878 1511886 1511889 1512068 1512070 1512360 1512391 1512516 1512959 1512997 1513108 1513164 1513271 1513314 1513730 1513732 1513736 1513748 1513778 1513880 1513920 1514135 1514190 1514210 1514228 1514235 1514252 1514300 1514402 1514409 1514509 1514544 1514735 1514830 1514966 1514983 1515093 1515095 1515235 1515364 1515402 1515410 1515654 1515657 1515829 1515980 1516079 1516190 1516191 1516202 1516220 1516274 1516365 1516439 1516473 1516546 1516631 1516634 1516652 1516689 1516730 1516736 1516769 1516910 1517167 1517184 1517289 1517469 1517711 1518101 1518466 1518495 1518504 1518509 1518513 1518527 1518606 1518856 1518914 1518935 1518961 1519031 1519068 1519229 1519385 1519391 1519422 1519532 1519534 1519620 1519672 1519888 1519889 1519891 1519901 1519941 1520148 1520210 1521729 1522501 1522647 1524021 1527016 1527055 1527218 1541225 1563727 1564621 1564622 1579762 1609488)\n(119 12223 13813 16266 26336 26339 26341 40279 79318 178569 206665 237568 242741 242742 242743 242780 282475 444330 599491 600364 600596 600597 872017 872110 872345 887808 887889 887890 887891 920531 920581 920582 949780 1136346 1136348 1449573 1512041 1512520 1519107 1519361 1519522)\n(120 2794 2795 8148 8150 8151 8152 8154 10239 10240 13722 14475 27676 35583 35584 35587 35588 35589 35590 35591 35596 85504 85507 86068 242677 318311 318312 318313 318314 318315 318317 318318 318328 318329 318331 318332 318333 318334 318335 318337 318341 318342 318343 318345 318346 318347 318350 318351 318352 318354 318355 445866 445890 445891 522413 598151 729687 729688 729689 729690 729691 729692 729693 752001 887972 887973 887974 916928 995445 1002319 1002320 1007085 1010467 1011634 1036094 1036095 1054205 1063759 1064941 1064990 1081729 1083238 1086360 1093224 1188209 1188693 1199500 1203047 1219043 1222481 1222503 1223347 1232961 1232962 1233659 1265333 1265335 1295927 1295929 1295932 1295933 1295935 1295936 1295938 1295940 1299087 1478306 1481889 1484480 1487088 1495786)\n(121 791 6361 6540 6912 9807 9809 9811 10328 13200 13201 13277 18717 18719 18735 18898 19565 21430 21954 23150 23252 23255 23256 23257 23258 23259 23261 23262 23636 23914 25071 26335 27413 29032 30650 36547 38877 39368 40487 78977 79817 79818 80147 220813 220842 220868 220872 220905 237416 237704 242364 243115 243117 243118 243119 243120 243121 282191 282291 360835 376631 376633 524771 600417 600418 600580 600593 680513 680515 680516 680517 680518 680519 680520 680521 680522 680537 680538 680542 680545 680553 680574 680575 680582 680584 680595 680596 680606 680609 680613 680633 680635 680797 681122 681627 683603 683676 683686 683691 683692 683907 683908 683909 687755 687756 687758 728724 752072 752075 752076 814675 814682 814685 814692 814695 814697 814701 814703 814705 814715 815228 851832 870116 870180 870424 870841 870875 871600 920448 1547181)\n(122 1861 1863 4714 5332 8038 9255 11468 12152 13330 13878 14018 16613 16710 17109 18613 21264 22611 24765 25938 30634 30739 32167 36499 37390 37592 37633 40338 43045 43217 43220 85785 86805 150765 183753 225386 282222 301612 302908 302909 303745 304060 304063 304069 304638 304639 304640 304643 304644 304645 304646 333034 333035 333037 337081 370003 370214 370215 370229 376611 439861 439962 440019 440265 440266 440409 444185 444220 444315 444318 449942 456205 458047 458048 458100 475332 520449 520510 524581 556613 567416 596442 598248 599638 610171 636044 678428 678463 678465 678468 682895 683094 724557 729372 729407 729443 729650 729651 743798 776006 868922 868994 870129 870255 872367 940886 1095832 1154182 1179809 1254373 1258025 1258026 1289919 1289920 1289928 1289929 1292461 1299533 1322478 1441399 1442235 1442323 1442324 1445674 1519355 1533157 1550142 1550151 1550648 1576386)\n(123 1796 1972 7962 9482 25005 30733 31527 34907 36606 37440 42114 86993 175938 184591 681136 681138 681139 681141 681142 681145 681146 681147 681148 683805 740818 814780 814783 814784 870320 870593 870692 870936 871195 871385 871462 1456532 1520062)\n(124 943 1593 1817 2357 3046 3824 5639 6875 8062 9236 9452 9465 9793 9829 9964 9990 10226 10383 12742 13011 13772 13989 15582 15608 15609 16684 17253 17426 17510 18261 18265 18896 19421 19872 19900 20936 21297 21417 21797 23133 23181 23676 24818 24841 24909 24919 26590 26763 27536 27776 28651 28658 30209 30542 30653 31829 31830 32492 32505 32942 32968 33595 34502 34668 35009 35015 35050 35644 35820 37020 37046 37051 37363 37395 37397 37400 37408 37409 37410 37412 37413 37415 37421 37431 37438 39564 39565 42693 78984 79341 79631 79634 80141 85091 85092 85849 86025 86597 86660 86792 150499 150526 150820 162388 162664 162665 162790 175800 178556 178573 178647 178775 195076 206072 221179 221483 233448 233512 233517 233925 233926 233983 234057 237101 237445 237488 237531 237548 237553 237576 237731 237868 237949 242270 242448 242449 277648 278074 282623 282657 344340 376298 392337 392359 392367 403893 418946 424324 424333 425152 457801 556482 556628 557963 558125 558182 562366 562558 562561 596467 597109 597535 597728 599432 678640 678975 679133 679151 679152 679154 679155 679157 679426 679498 679748 679932 679959 679969 679970 679972 679982 679997 680009 680011 680012 680051 680056 680064 680074 680075 680076 680147 680207 680211 680215 680220 680226 680230 680238 680240 680242 680243 680281 680282 680372 680382 680405 680406 680408 680411 680412 680420 680431 680432 680446 680472 680473 680495 680501 680502 680512 680727 680967 680969 683256 683607 683624 683653 683666 687123 699797 699798 740872 814554 814566 814571 814574 814580 814583 814584 814586 814588 814620 814623 815198 815225 851537 857118 868443 869014 870084 870340 870379 870380 870494 870532 870609 870624 870745 870759 870917 870926 870937 870985 871012 871062 871164 871226 871262 871270 871355 871381 871442 871523 871661 871703 871831 871858 871985 871991 949640 1154350 1154352 1261512 1510520 1510632 1510636 1510647)\n(125 727 729 737 765 790 1416 1726 1800 2020 2962 3078 3107 3123 3126 3129 3564 3862 4059 4093 4134 4158 4604 4941 5687 5858 5874 5904 6370 6625 7398 7758 7859 7939 7942 7943 8031 8033 8035 8039 8489 8631 9024 9090 9193 9269 9806 9812 10200 10201 10263 10520 11991 11992 12766 12833 12872 13132 13144 13196 13362 13390 13404 13421 13428 13456 13609 13911 14034 14394 14724 14745 14811 15411 15468 15644 15672 15676 15970 16199 16204 16242 16382 16512 16579 17672 18520 18681 18772 18808 18834 18933 18934 18991 19079 19086 19209 19214 19559 19825 20040 20175 20440 20450 20453 20530 20639 20672 21177 21479 21712 23218 23222 24031 24902 25287 25587 26210 26635 26821 26825 26826 26827 26837 26838 26858 27066 27424 27427 27497 27498 27796 28081 28643 28818 28838 28961 29089 29166 30193 30196 30200 30201 30214 30218 30232 30552 30554 30794 32230 32617 32781 33774 33776 33777 33778 34642 34880 34886 34933 35508 36356 36396 36572 36660 37011 37088 37090 37195 37219 37285 37383 37384 37763 37771 38002 38186 38187 38450 38506 38605 38758 39070 39591 40264 40460 40485 40822 41834 42256 42571 42755 42818 42963 42964 43066 43144 85383 85593 85594 85598 85602 85619 85620 85622 85624 85625 85631 85632 85635 85636 85641 85688 85923 86132 86189 86395 86437 86439 87169 149651 149671 149696 149707 149714 149736 149738 149741 149746 149751 149758 149793 149840 150019 150041 150044 150045 151205 151206 151310 151315 151442 151443 151564 151596 151602 151767 151818 151825 151826 151827 151828 151830 151838 151908 152030 152031 152032 152116 152149 152165 152169 152172 152219 152225 152228 152447 152457 154693 154694 154729 155001 155002 155003 155227 155533 155534 155536 155542 156308 156405 156677 158290 158369 159028 159034 159040 159047 159066 159075 162275 162292 162298 175848 178419 178422 178424 178782 184567 206160 220870 221098 221100 221150 221151 221154 221166 221169 221170 221200 221201 221226 221232 221261 221470 221490 221512 221586 221588 221727 221730 221755 221758 221776 231217 231218 231230 231239 231243 231246 231270 231443 231445 231447 231450 231451 231454 231474 231514 231515 231519 231523 231524 231526 231527 231528 231529 231530 231531 231580 231592 231608 231610 231611 231612 231613 231616 231617 231618 231619 231620 231623 231652 231654 231655 231656 231661 231665 231667 231690 231692 231702 231703 231704 231717 231736 231748 231749 231753 231756 231760 231762 231769 231772 231773 231779 231780 231781 231784 231785 231786 231787 231788 231792 231796 231804 231805 231806 231807 231811 231813 231815 231816 231817 231818 231819 231829 231835 231837 231840 231841 231846 231851 231852 231855 231856 231857 231862 231863 231873 231874 231875 231882 231890 231893 231912 231913 231918 231929 231930 232081 232082 232083 232086 232119 232125 232126 232130 232168 232189 232193 232209 232256 232258 232261 232262 232263 232274 232276 232278 232280 232281 232285 232286 232288 232289 232290 232291 232292 232353 232412 232431 232452 232454 232462 232471 232476 232486 232487 232488 232491 232492 232493 232494 232495 232498 232502 232503 232504 232513 232514 232517 232520 232533 232534 232536 232537 232590 232597 232598 232599 232601 232602 232605 232607 232608 232609 232689 232695 232698 232716 232717 232721 232726 232766 232838 232847 232848 232849 232852 232854 232858 232861 232894 232915 232943 232950 232955 232959 232960 232968 232971 232983 233136 233184 233187 233200 233205 233212 233215 233220 233221 233226 233239 233240 233396 233397 233400 233401 233457 233479 233480 233490 233565 233576 233612 233647 233668 233726 233756 233759 233762 233763 233765 233766 233767 233769 233771 233773 233775 233803 233842 233844 233973 233993 234131 234132 234133 234161 234165 234166 234178 234190 234191 234213 234215 234225 234228 234229 234230 234233 234235 234238 234243 234244 234245 234246 234250 234251 234252 234253 234254 234255 234259 234355 234357 234362 234363 234366 234369 234370 234371 234372 234373 234374 234376 234378 234379 234382 234428 234445 234461 234520 234532 234542 234544 234615 234616 234663 234664 234665 234750 234757 234760 234764 234804 234835 234838 234840 234848 234851 234853 234861 234868 234966 234979 234981 234992 235002 235004 235014 235018 235031 235044 235055 235068 235078 235081 235082 235083 235088 235108 235135 235150 235153 235162 235169 235198 235218 235234 235240 235242 235250 235263 235267 235287 235290 235295 235299 235309 235318 235338 235477 235496 235524 235632 235633 235634 235641 235678 235698 235706 235707 235708 235710 235717 235728 235744 235777 235792 235886 235956 235980 236000 236056 236075 236078 236080 236082 236083 236084 236858 237322 237326 238532 238551 238552 238566 238571 238576 238637 238656 238659 238740 238741 238742 238745 238774 238807 238861 238865 238883 238977 238997 239008 239091 239134 239169 239175 239180 239181 239182 239191 239214 239223 239230 239233 239278 239284 239313 239314 239325 239333 239340 239341 239375 239376 239377 239385 239386 239430 239431 239454 239511 239512 239517 239518 239532 239548 239575 239591 239596 239610 239618 239667 239668 239682 239725 239730 239739 239762 239772 239779 239783 239814 239819 239833 239886 239888 239889 240007 240031 240061 240094 240101 240122 240129 240135 240141 240155 240194 240204 240211 240273 240299 240311 240315 240327 240330 240352 240382 240419 240444 240515 240521 240557 240608 240646 240715 240717 240723 240735 240805 240812 240813 240877 240899 240920 240940 240941 240952 240958 240959 240962 240991 241032 241037 241039 241040 241042 241044 241050 241068 241114 241136 241144 241164 241165 241219 241235 241237 241288 241289 241310 241333 241340 241353 241372 241374 241375 241387 241388 241426 241477 241494 241498 241538 241539 241540 241601 241633 241700 241705 241718 241727 241745 241762 241768 241850 241885 241898 241902 241981 242002 242155 242429 242453 242706 242843 259813 262384 262397 262445 262471 262491 262504 262527 262578 262977 263355 263358 263531 263534 263540 263571 263634 264272 264273 264588 264598 264679 266836 266996 267028 267169 267373 267633 270229 270327 270541 270697 270795 270844 270996 271052 271185 271190 271276 271379 271380 271411 271412 277787 277788 277792 277794 277799 277820 277821 277834 277837 277845 277849 277852 277855 277856 277863 277873 277925 277928 277930 277959 277961 277962 277967 277977 277978 277981 277984 277986 277999 278005 278007 278008 278009 278010 278012 278014 278018 278021 278034 278053 278107 278115 278119 278125 278126 278134 278138 278139 278140 278141 278143 278144 278145 278146 278147 278148 278155 278161 278180 278184 278216 278217 278230 278234 281841 281856 282005 282666 302540 302851 311392 312414 312416 312422 314719 332544 332565 332566 332573 332579 332600 332601 332605 332606 332615 333228 333240 333243 333244 333245 333246 333247 333248 333249 333252 333255 333271 333274 333300 333370 333410 333422 333648 338642 339667 339693 340979 341742 341773 343211 343239 343494 344231 344240 344241 344242 344246 344304 344306 344307 344329 344370 344374 344375 349231 349506 349681 375546 375552 375553 375571 391860 392071 392162 392171 392176 392194 392389 392513 392674 392678 392680 392681 392699 392701 393588 393610 393738 393751 393756 393758 393759 393773 393916 393917 395923 399459 399590 401020 401148 401149 401152 401155 401157 404555 405472 405473 405584 406146 406216 406218 406403 406407 406670 406672 406833 406845 406846 409326 410918 410919 422825 422826 422833 422854 422879 422885 422943 423006 423042 423128 423156 423178 423320 423386 423479 423520 423571 423572 423575 423610 423617 423618 423619 423621 423622 423623 423625 423626 423628 423630 423634 423636 423637 423640 423641 423642 423643 423644 423645 423647 423660 423665 423667 423669 423670 423673 423684 423686 423690 423693 423700 423701 423703 423707 423708 423709 423716 423717 423718 423719 423729 423732 423735 423736 423773 423798 423812 423823 423869 423875 424068 424072 424083 424276 424284 424359 424512 424535 424653 424790 424805 424818 424853 425258 425449 425481 425485 425512 425722 426070 426317 426359 426390 426471 426481 426484 426487 426498 426576 426577 426579 426590 426601 426632 426633 426640 426649 426768 426769 426785 426885 426980 427008 427055 427086 427154 427190 427201 427202 427285 429219 429563 438432 438434 438716 439035 439053 439814 443306 451633 451941 452143 454539 454545 454596 454597 454598 454644 455270 455880 455968 456122 456669 456800 457558 457950 458085 458102 458104 458105 458109 458111 458118 458171 458172 458224 458225 458226 458228 458229 458232 458234 458235 458239 458240 458242 458259 458959 458960 473137 473234 473235 473236 473240 473249 473546 473563 474366 474368 474424 474500 474520 475858 476217 476223 476236 476237 476261 476262 476270 476273 476278 476280 476281 476287 476288 476289 476292 476293 476303 476305 476306 476307 476311 476312 476481 477491 494475 497134 497135 497173 497219 497364 497365 497366 497406 497456 497481 497546 497548 518179 520587 520588 520821 520825 520897 520899 520901 520902 520904 520905 520909 520962 520963 520966 521005 521160 521161 521483 521486 521491 521503 521516 521532 521588 521591 521632 521662 521663 521668 521671 521787 521789 521790 521800 521989 521990 521991 522030 522034 522040 522046 522051 522052 522061 522062 522067 522069 522070 522071 522123 522176 522250 522251 522257 522336 522353 522355 522358 522359 522365 525041 541798 541828 541938 541951 541957 542134 542174 542476 546947 547001 547002 547030 548823 549209 549248 549250 549263 549275 549297 549299 549312 549343 549373 549391 553668 553713 554107 554990 555056 555058 555098 555955 555957 555975 555976 557875 558143 558193 558467 558486 558489 558920 558921 559307 559537 559753 560252 560253 560609 562456 562483 563234 563273 563275 563276 563277 563278 566909 566948 567519 567520 567521 567522 567523 573983 574002 574066 574068 574769 574785 574921 574987 574988 574991 574992 574993 574994 574995 574996 574997 575012 575014 575018 575020 575031 575032 575045 575081 575090 576690 576705 576707 577100 577115 577213 577256 577294 577593 577655 577659 577660 577697 577698 577725 577978 577979 577982 578026 578046 578050 578057 578058 578089 578451 578454 578475 578675 578685 578687 578735 578738 578739 581291 581293 581294 581299 581311 581323 581325 581330 581358 581362 581394 581860 581867 581868 581869 581870 581880 581881 581882 581909 582474 585011 585134 585540 585542 586392 586407 586738 587048 587050 587051 587058 587246 589386 589525 595961 596240 596601 598047 598689 599766 600097 600142 677481 677500 677600 678687 679309 679314 684219 686768 687681 687713 694542 694544 694563 700075 700078 700184 700200 700590 701824 702164 729341 740275 740389 740396 740397 740398 740408 740418 740425 740426 740428 740432 740433 740518 740524 740577 740594 740651 740880 740903 740961 741392 741403 741426 741451 741548 741585 741709 741933 742281 742337 742339 743546 743667 743724 744002 744025 744034 744176 744247 744318 744648 745185 745329 745411 745417 745551 745973 746434 746438 746486 746669 746687 746759 746783 746868 746869 746983 746986 747146 747150 747199 747245 747453 747484 747510 747927 748092 748194 748706 749161 749746 749870 749872 749874 749941 750016 750152 750399 750402 750456 750731 750937 750940 750994 751077 751078 751080 751093 751135 751136 751137 751138 751141 751142 751143 751144 751186 751187 751188 751190 751191 751192 751195 751211 751212 751213 751214 751215 751216 751229 751251 751295 751330 751348 751349 751350 751351 751352 751354 751355 751371 751372 751378 751401 751407 751408 751409 751410 751412 751460 751466 751492 751494 751495 751496 751512 751513 751527 751528 751529 751534 751535 751536 751559 751564 751609 751648 751701 751724 751725 751899 751900 751901 751906 752196 752252 752255 752260 752303 795701 810004 812426 813178 813217 814160 814161 814166 839426 839427 840927 847105 847487 847488 848054 848060 848080 848149 848197 848200 848203 848206 848211 848218 848220 848232 848237 848241 848255 848259 848283 848332 848337 848338 848340 848342 848360 848365 848379 848380 848391 848394 848404 848446 848554 848567 848581 848589 848591 848593 848598 848609 848633 848676 848710 848720 848724 848728 848754 848757 848764 848769 848771 848778 848781 848782 849370 849640 849722 849747 849759 849760 849791 849796 849835 849863 849902 849905 849907 849911 849913 849916 849918 849959 849964 849967 849985 849993 850001 850002 850045 850060 850148 850149 850251 850309 850466 850570 850595 850629 850699 850703 850717 850725 850737 850758 850760 850775 850814 850832 851024 851048 851121 851196 851767 852192 852416 853619 853797 853813 853908 853945 853946 854069 854113 854118 854279 854303 854374 854375 854409 854525 854721 856281 856626 856627 856799 856841 856863 856892 856965 856987 857027 857038 857051 857056 857057 857073 857083 857107 857126 857143 857144 857152 857172 857173 857177 857180 857199 857245 857248 857256 857317 857329 857332 857333 857349 857364 857367 857388 857393 857399 857400 857461 857469 857471 857516 857585 858217 858259 858274 858275 858277 858529 858566 858625 858634 858640 858651 858708 858786 858804 858854 858919 858924 858935 858936 858949 858959 858976 859012 859028 859032 859071 859235 859325 859326 859331 859870 859927 859968 859979 859980 859999 860058 860515 860553 860561 860609 860645 861156 863079 863083 863084 863103 863104 863106 866957 866961 869256 871189 871764 872263 872410 877009 877018 877040 877068 877083 877101 877113 877134 877162 877197 877232 877266 877303 877338 877363 877378 877420 877432 877436 877448 877460 877482 877549 877558 877610 877616 877617 877661 877664 877667 877712 877716 877717 877781 878578 878585 878590 878638 878643 878656 878658 878661 917799 917801 919586 919635 919639 919647 919695 919725 919768 919912 919968 920033 920154 920161 920289 920652 920703 948070 948094 948179 948236 948282 948283 948285 948288 948289 948396 948414 948521 948523 948594 948600 948640 948698 948733 948775 948786 948825 948841 948842 948843 948844 948851 948852 948858 949062 949070 949075 949092 949445 1095926 1096020 1096081 1096082 1096228 1096245 1096250 1096252 1096277 1096300 1096311 1096354 1096378 1096446 1096448 1096590 1096591 1096593 1096594 1096596 1096605 1096624 1096625 1096628 1112161 1112182 1112199 1112262 1112274 1112320 1112443 1112500 1112506 1112513 1112519 1112520 1112666 1112735 1112766 1135120 1142068 1142073 1142082 1142144 1142209 1142236 1142291 1142295 1142327 1142357 1142383 1142457 1142524 1148477 1167782 1167951 1167958 1168149 1168179 1168185 1168188 1168227 1168279 1168283 1168304 1168325 1168335 1257861 1260880 1260922 1261963 1262022 1262038 1262130 1262144 1262207 1262304 1262535 1268578 1268591 1268593 1273100 1273573 1274923 1274924 1274925 1277287 1277643 1277645 1279511 1279519 1280008 1282002 1282310 1282322 1282799 1283829 1291077 1291078 1302690 1304408 1306878 1313952 1313968 1320474 1321324 1321325 1321663 1328466 1328533 1328569 1332836 1333034 1334804 1335944 1336970 1377828 1384488 1384489 1384493 1384666 1388031 1388902 1389183 1394036 1395946 1397014 1397229 1397682 1397683 1398352 1398551 1398659 1399350 1399355 1399357 1399662 1401309 1403039 1404807 1409396 1442808 1442877 1443044 1443924 1446312 1446787 1457887 1504388 1504390 1504493 1504509 1504560 1510410 1510416 1510450 1510453 1517205 1527384 1535889 1535893 1535913 1535964 1535975 1536051 1536074 1536076 1536087 1536088 1536114 1536120 1536136 1536168 1536180 1557504 1557547 1557556 1560462 1562724 1565249 1565887 1566050 1579838 1608410 1608971 1608979 1609502 1609533 1610090 1610609 1610622 1610635 1610641 1611174 1619712)\n(126 2146 12727 13125 14406 24697 26377 28599 33422 33625 37775 42569 42826 64417 79220 79686 80347 85304 150435 150647 150665 162579 162805 162807 162808 175566 175672 178646 178719 178837 178856 178876 205052 205055 205058 205064 205070 205090 205091 205092 205093 205094 205095 205096 205098 205099 205100 205101 205102 205103 205104 205106 205107 205108 205109 205110 205111 205112 205113 205114 205115 205116 205117 205118 205120 205122 205123 205124 205125 205126 205127 205128 205129 205131 205132 205133 205134 205135 205136 205137 205139 205141 205142 205143 205144 205145 205146 205147 205148 205149 205150 205151 205152 205155 205157 205201 205203 205220 205221 205229 205230 205234 205242 205243 205246 205273 205274 205276 205283 205284 205291 205292 205293 205315 205324 205376 205380 205383 205384 205391 205480 205496 205497 205499 205500 205501 205502 205503 205505 205506 205508 205510 205511 205512 205513 205514 205515 205518 205524 205527 205530 205536 205675 205681 206678 221464 221912 221920 226984 227843 229986 231449 231458 231467 231472 237096 238767 240379 242477 242486 277811 277812 277813 277816 282642 332194 332195 332200 332207 332208 332225 332226 332229 332249 332285 332297 332462 332463 332464 332467 332471 332479 332480 332483 332486 332487 332490 332492 332495 332498 332499 332500 332501 332502 332503 332514 332516 332521 332568 332569 332574 332624 332766 332850 332854 333076 333179 337094 337095 337174 337950 338047 347847 348013 348016 348053 376394 391895 392752 393360 439634 439635 439636 439638 439640 439641 439644 439645 439646 439650 439651 439652 439653 439711 439712 439713 439714 439719 439720 439721 439722 439723 439724 439727 439734 439735 439738 439739 439741 439742 439743 439744 439745 439746 439747 439750 439754 439755 439756 439766 439777 439780 439781 439784 439786 439787 439788 439791 439792 439799 439836 441635 441938 441939 441986 441987 441988 441989 441992 441993 441995 441997 441998 442001 442002 442003 442004 442010 442012 442016 442023 442025 442026 442027 442030 442033 442035 442040 442041 442043 442045 442050 442053 442054 442055 442056 442057 442058 442059 442061 442062 442063 442065 442066 442069 442070 442071 442072 442073 442079 442080 442083 442084 442087 442088 442089 442100 442104 442105 442107 442108 442111 442113 442114 442115 442116 442117 442118 442119 442120 442121 442122 442123 442124 442125 442131 442132 442134 442135 442137 442139 442140 442141 442143 442144 442145 442146 442149 442150 442155 442156 442157 442159 442160 442161 442162 442163 442165 442166 442168 442169 442170 442171 442174 442178 442179 442180 442182 442183 442185 442186 442187 442188 442197 442216 442223 442227 442244 442301 442305 442306 442313 442315 442321 442333 442335 442339 442341 442345 442347 442348 442353 442355 442358 442360 442361 442363 442366 442367 442369 442371 442374 442375 442381 442387 442388 442415 442417 442418 442420 442421 442422 442423 442425 442435 442441 442446 442455 442491 442504 442506 442507 442527 442530 442532 442533 442534 442544 442548 442549 442611 442612 443005 443137 443142 443148 443152 443156 443167 443173 443193 443198 443203 443204 443246 443251 443255 443264 443268 443283 443284 443299 443315 443316 443327 443337 443340 443345 444334 444352 444354 444375 444378 444379 444391 444392 444454 444455 444456 444459 444462 444463 444466 444467 444470 444471 444497 444498 444508 444527 444532 444576 444598 444628 444660 444669 444744 444745 444764 444766 444804 444914 444916 444918 444930 444978 445022 445088 445126 445127 445128 445216 445237 445259 445260 445264 445291 445330 445346 445383 445456 446379 446380 446443 448965 449444 449445 449446 449453 449455 449457 449591 449604 449609 449610 449612 449637 449638 449639 449640 449641 449642 449645 449650 449665 449666 449682 449687 449719 449726 449738 449744 449756 449774 449775 449781 449829 449833 449834 449966 449980 449996 450109 450110 450117 450123 450195 450198 450199 450206 450207 450219 450224 450363 450429 450958 454186 454234 454235 456206 456340 456341 456389 456391 456531 456564 456688 456738 456739 456740 456741 456742 456743 456745 456752 456855 456856 456918 457008 457012 457064 457065 457269 457355 457408 458342 458348 475302 475440 475445 476199 476200 502371 521131 521132 521133 521136 521140 521141 521162 521163 521164 521324 521329 521340 521362 521375 521400 521404 521428 521442 521447 521462 522015 522487 522488 522491 522492 522494 522496 522497 522505 522506 522512 522516 522517 522518 522519 522520 522521 522522 522523 522529 522530 522554 524427 524462 524465 541590 542339 543482 547043 547049 549183 549193 555952 557720 557733 557737 557740 557741 557742 557743 557744 557745 557755 557757 557758 557760 557848 559227 559228 560572 560573 561721 562214 562522 562524 562525 562974 562975 563003 563004 563033 563045 563054 563056 563057 563076 563304 565987 565988 574893 574894 574895 580530 580586 581831 582005 582011 587271 587272 589371 589372 589418 589460 589461 589464 589468 589470 589488 589489 589496 589500 589502 589527 589530 589533 592509 592515 592516 592517 595447 595613 595825 595836 595847 596249 596342 596631 596788 596966 596968 597196 597677 598101 598306 599214 599510 599554 599587 677513 678594 678758 678820 680169 680170 680173 680180 680182 681062 681066 681785 681788 681789 683925 683927 683928 686911 694753 694757 699036 699808 700426 702240 728852 729269 729296 733755 752190 752218 805132 815251 870781 871621 871648 872220 872338 876954 886365 935574 935575 994334 1176470 1179847 1179848 1180150 1182671 1182672 1182673 1184146 1184739 1185713 1275831 1282399 1282910 1282911 1282913 1282914 1283188 1292751 1295721 1295723 1295724 1298613 1298998 1299003 1304890 1317796 1412042 1442065 1442110 1443287 1443886 1443888 1510556 1510941 1511276 1511491 1512855 1512910 1512942 1512948 1512954 1513749 1513794 1514583 1515655 1516077 1516187 1517049 1517050 1517058 1517060 1517067 1517078 1517331 1517526 1517564 1518886 1518960 1518980 1519008 1521805 1521990 1522318 1522475 1522496 1522564 1522565 1522601 1522619 1522666 1522718 1522720 1522721 1547703 1548534 1553210 1553219 1553229 1554876 1554890 1554894 1555372 1562647 1563183)\n(127 119 163 167 172 173 176 343 523 951 1050 1595 1617 2006 2039 2158 2239 2310 2328 2348 2744 2852 2854 2856 2859 2860 2862 2864 2865 3212 4481 4905 4906 5185 5214 5308 5309 5311 5390 5404 6349 6350 6657 6674 6790 6881 6882 6979 6980 7142 7143 7401 7406 8024 8214 8306 8318 8364 8365 8366 8368 8369 8375 8376 8377 8387 8395 8404 8992 10124 10137 10139 10351 10514 10595 10608 10621 10961 11123 11181 11182 11185 11479 11704 11705 11707 11710 11777 11779 12257 12258 12264 12265 12282 12311 12319 12328 12497 13340 13494 13495 13953 14483 14487 14561 14594 14652 14654 14695 14696 14705 14838 14899 14911 14912 14919 14921 14922 14923 14924 14925 14927 14938 14939 14942 15011 15025 15099 15117 15124 16280 16294 16298 16299 16301 16302 16351 16366 16369 16374 16875 17505 17507 17710 17711 17712 17903 17905 18068 18513 18667 19849 19901 20268 20337 20339 20343 20346 20387 20393 20394 22624 22640 23025 23566 23822 23824 23826 23875 24321 25145 25147 25223 25503 25506 25615 25616 25639 25815 25819 25826 25865 26088 26160 27368 28355 28356 28360 28368 28369 28395 28399 28401 29904 29995 30072 30310 30311 30454 30715 31866 32949 32950 32951 32952 32959 33004 33005 33006 33007 33008 33012 33013 33014 33017 33306 33308 33401 34410 36188 36189 36255 36532 37215 37493 37499 37500 37509 37553 37554 37566 37601 37982 37987 38148 38149 38317 38319 38320 38321 38323 38329 38470 38471 39356 39358 39360 39362 39600 39601 39607 39608 39664 39665 40829 40864 40866 40867 42105 42175 42435 42621 42866 43666 43667 43668 43872 44360 44410 44695 44706 44729 44749 44752 44753 44754 44758 44759 44760 44811 44858 44867 44893 44912 44914 44918 44935 44938 44939 44940 44944 44945 44949 44951 44952 44953 44955 44963 44965 44971 44977 44981 44984 44996 44997 44998 45007 45009 45010 45011 45013 45015 45037 45038 45043 45044 45047 45052 45054 45055 45064 45070 45071 45072 45073 45074 45076 45079 45080 45091 46117 46196 46197 46199 46200 46225 46319 46320 46599 46614 46618 46620 46638 46639 46640 46642 46643 46652 46653 46654 46655 46662 46665 46666 46678 46681 46685 46687 46690 46695 46699 46706 46726 46733 46737 46747 46749 47053 47076 47101 47337 47356 47357 47424 47647 47661 47682 47683 47791 47988 48065 48075 48276 48339 48344 48440 48460 48476 48494 48688 48752 48753 48754 48762 48765 48772 48874 49115 49117 49118 49123 49144 49146 49355 49356 49381 49389 49390 49516 49520 49567 49582 49605 49623 49657 49728 49730 49735 49865 49867 49920 49961 50233 50234 50330 50366 50414 50541 50582 50670 50882 51113 51132 51136 51205 51222 51338 51372 51479 51556 51796 51797 51807 51828 51832 51834 51835 51931 51932 51943 52484 52568 52674 52758 53394 53521 53522 53523 53907 53959 54028 54029 54201 54208 54463 54560 54598 54778 54780 55101 55263 55295 55296 55372 55476 55486 55520 55521 55522 55526 55535 55536 55537 55539 55540 55547 55551 55555 55556 55557 55558 55561 55562 55563 55564 55565 55568 55569 55584 55585 55732 55895 55896 55919 56264 56319 56363 56367 56378 56382 56383 56384 56387 56389 56391 56393 56396 56397 56399 56417 56676 56728 56730 56774 56775 56779 56842 56855 57093 57210 57258 57275 57276 57277 57280 57281 57296 57352 57355 57418 57419 57476 57558 57560 57589 57590 57591 57592 57593 57594 57598 57600 57603 57721 57914 57916 57967 57992 57994 58004 58012 58014 58024 58025 58043 58065 58070 58101 58119 58120 58121 58122 58137 58313 58330 58331 58423 58649 58679 58753 58758 58898 58915 58940 59451 59457 59461 59493 59520 59599 59613 59618 59622 59623 59626 59627 59630 59632 59633 59634 59635 59636 59643 59644 59645 59647 59648 59665 59668 59670 59716 59718 59848 60116 60134 60144 60389 60492 60494 60501 60507 60508 60801 60855 61110 61246 61271 61272 61275 61277 61278 61285 61624 61628 61639 61704 61796 61820 61854 61884 62022 62024 62097 62105 62150 62163 62165 62191 62192 62962 63076 63077 63079 63080 63286 63353 63528 63551 64081 64199 64200 64308 64643 64673 64892 65142 65209 65353 65553 65847 65864 65865 65879 65948 65964 65968 65971 66029 66031 66106 66107 66502 66562 66700 66834 67598 68395 68397 68398 68560 68884 68922 68926 68952 68970 68980 68981 68984 68992 68993 68995 69173 69296 69446 69492 69589 69621 69626 69683 69698 69744 69811 69999 70001 70073 70740 71007 71011 71027 71064 71102 71274 71512 71554 71638 71742 71836 71837 71838 71839 71840 71844 71846 71848 71849 71863 71864 71869 71947 71965 72058 72081 72085 72106 72111 72151 72254 72494 72845 72866 72867 73413 73663 73664 73665 73666 73675 73701 73709 73959 74018 74067 74077 74300 74442 74798 75000 75024 75136 75163 75194 75244 75336 75341 75842 75846 75853 76103 76177 76180 76181 76184 76185 76187 76188 76189 76192 76195 76264 76265 76270 76285 76395 76452 76660 76748 76945 76958 76963 77000 77004 77018 77144 77233 77456 77521 77522 77523 77532 77608 77614 77638 77639 77642 78161 78372 78493 78505 78517 78825 78829 78861 80606 80794 80836 80900 81303 81304 81729 81787 82699 82700 82752 82944 82957 84721 85062 85994 86005 86061 86108 86123 86355 86356 86564 87062 87063 87064 87065 90032 90047 90050 90052 90137 90138 90369 90431 90432 90523 90527 90528 90534 90536 90645 90653 90656 90662 90663 90758 90775 90791 90806 93149 93324 93791 93801 93888 93913 93914 93924 93943 94101 94102 94109 94158 95534 95553 95883 95890 96974 97109 97598 97600 97606 97613 97642 97643 97644 98115 98735 98744 99078 99497 99505 99506 99513 99896 99916 100397 101840 102529 102819 103242 103255 103372 103413 103998 104751 106127 106166 106883 108964 108966 109497 109552 109580 110086 110580 111898 112730 112775 112789 112800 112937 113075 113286 113287 113572 113602 115134 116188 116189 116217 116614 116634 116636 116934 116987 117012 117426 117443 117901 118134 119192 119201 119763 120539 121292 122220 122223 122736 122738 123085 124322 126109 126173 126177 126180 126268 127279 132170 132749 132808 132878 133390 133725 133774 134079 134568 135534 137148 138273 138274 139693 140173 140256 140594 140771 141007 141022 141578 141678 141737 142028 142484 142690 142823 142935 143633 143781 143789 144150 144271 144569 144571 145263 145271 145272 145788 145934 146010 146208 146624 147186 147477 148210 148242 148584 149434 149435 163008 163750 163860 163896 163951 164583 164712 164787 165064 165314 165315 166937 167626 167973 168720 168928 169842 170289 171346 171348 171471 172934 174000 174938 178882 206048 206049 206873 206875 207000 207319 207760 208126 208133 208154 208155 208538 208768 208785 208846 208881 209073 209224 209904 211480 211668 212371 212728 213314 214080 215101 216721 216917 217593 220914 227090 242215 242531 243462 243525 243833 244196 244219 244231 244381 244411 244413 244598 244798 244977 245348 245477 245742 245745 245941 246173 247050 247444 249556 249677 249974 250262 250263 250465 250466 250653 250879 250969 250974 251524 251597 251599 252003 252062 252126 252395 253218 253263 254354 254464 255540 256010 256011 256136 256143 256159 256374 257112 257337 257662 257931 258320 258449 258710 258776 258777 259112 260264 262965 282085 283264 283650 283763 283986 284085 284788 285107 285765 285991 286233 286595 287001 287294 289242 289341 289344 290465 291375 291507 293006 293052 293949 294135 295587 295691 295766 295801 295833 295898 296387 296661 296720 297198 297199 297715 297787 297873 298144 298163 298991 299430 299767 299776 300207 300436 300540 300905 301707 301818 303999 304783 305236 306767 309086 310291 312438 312441 350023 351056 352392 352474 352536 356417 356716 356799 358518 358520 358972 359009 359088 360514 360515 360528 360531 360541 360542 360546 360554 360556 360558 360564 360577 360579 360583 368571 368909 369189 373704 376173 376202 376203 376260 376337 377273 377315 377825 377937 378018 378902 379033 379160 379218 380741 380996 381180 381424 381493 382136 382439 382440 382445 382961 384975 385181 385259 385762 385955 386439 386621 386856 387113 387450 388342 388884 389150 389332 389975 390240 390379 390380 390817 390965 443476 443483 443599 475341 486333 486979 520442 520481 522263 522264 524507 524546 524549 524764 525071 525091 525097 525098 525149 525202 525605 525765 525977 526532 526613 527197 529500 529871 530063 530070 531657 531816 532113 532427 532874 533056 533588 533863 534957 535175 535177 535179 535184 535300 535302 535968 536014 536015 536403 536781 537150 538039 538344 538564 539118 539309 539441 539442 539515 539605 539893 539896 540213 540294 540828 543421 553602 582126 591039 591054 591154 591213 591307 591419 591465 591594 591769 591811 591875 591905 592004 592142 592238 592617 593929 594492 596331 596332 597161 597288 597512 597514 597516 597521 597522 599480 599683 600164 600901 601447 601681 601735 601819 601822 601978 602021 602102 602720 602893 602932 602943 603042 603215 603301 603346 603788 603810 603969 604200 604275 604359 604676 604692 604769 604773 604844 604874 605244 605257 605307 605406 605454 605763 605926 605990 606039 606437 606552 606553 606646 606680 606880 607265 607372 607440 607832 607916 608065 608137 608206 608240 608463 608493 608568 608573 608921 608923 608936 608946 608966 608983 609329 610009 610671 610715 610794 611446 611633 611634 611777 612026 612852 612929 613161 613326 614080 614723 614724 615283 615325 615390 615429 616038 616086 616096 616274 616305 616315 616794 617122 617257 617394 617418 617830 617944 618333 618348 618453 618603 618615 619175 619203 619335 619865 620290 620294 620486 620937 620978 621337 621480 622319 622559 623188 623247 623450 623536 623613 624143 624315 624427 624449 624563 624979 625013 625564 625597 625699 625700 625703 625774 625823 626038 626604 626635 627130 627459 628091 628397 628758 628932 630019 630287 630892 630981 631012 631496 631516 631568 631628 631746 631934 631974 631975 632139 632140 632315 632409 632429 632672 633178 633190 633213 633214 633454 633524 634112 634482 634622 634682 634684 635008 635666 635849 636067 637473 638100 638156 638158 638257 638573 638597 638629 639080 639081 639429 639597 639768 639814 639815 639933 640006 640117 640275 640277 640378 641764 642141 642142 642151 642215 642413 643091 643217 643485 643489 643582 643690 643759 644650 644683 645081 645118 645288 645504 645674 645690 646020 646483 646565 646702 646717 646778 646871 647195 647396 648055 648098 648702 648802 648997 649186 649188 649390 649442 649693 650228 650231 650248 650424 651177 651338 651380 651719 651867 653238 653942 654280 654476 654478 654804 654893 654895 655275 655892 656001 657366 657548 657649 657657 658176 658231 658717 658758 659124 659605 660621 660692 660694 661072 661148 661220 661528 661532 661611 661760 662513 664210 664301 664528 665402 666001 666145 666376 666378 666463 666546 666584 667025 667047 667570 667921 668283 668885 670073 670587 670605 670696 670953 672197 672700 673606 675498 675699 675844 675992 676067 676465 678149 678155 678162 678164 678203 682955 683000 683001 687716 699051 699073 699284 699367 699379 699458 699459 699538 699540 699541 699563 699564 699689 699693 699694 699700 699702 699709 699710 700004 700018 700022 700546 700884 700903 701102 701124 701202 701246 701247 701251 701253 701254 701255 701303 701466 701468 701477 701491 702057 702079 717657 717677 717756 717925 718531 719107 719961 720086 720474 720803 720810 721358 721755 722019 722236 722328 722858 722908 723587 723595 723765 728770 728964 728967 729349 729627 731206 731268 731271 731433 731514 733356 733684 733685 733714 733720 733735 733736 733740 733743 740057 740107 740110 740122 740143 740147 750848 752358 752596 752597 752923 755695 756075 757979 758024 758026 758701 758815 758964 758967 759158 759802 760481 760630 762252 762566 762705 762873 763067 763069 763967 763968 763969 764054 764313 764981 767555 767676 768637 770559 770560 770565 772362 772364 804934 813203 813502 815055 815278 851344 875960 876128 876723 878073 878074 878075 878077 878079 878080 878085 878090 878400 878401 878402 878404 878406 878407 878434 878449 893455 894475 896034 897883 902483 905527 907850 908572 908756 908757 908904 909898 910032 910758 910884 911987 911988 912101 912689 912812 913792 913836 913884 914132 914146 914724 914726 915872 916099 917514 917974 918275 919291 935916 936220 939229 939230 939382 949292 950179 950186 950211 950380 950433 950793 953943 953945 956901 958569 960487 960524 961059 961093 961318 961485 961769 962370 962495 963154 963529 963581 964068 964626 964776 964787 965028 965276 965293 965295 965656 966040 966347 966442 967170 967259 968026 968958 968991 968992 969582 970210 970975 971884 972374 1097851 1098184 1098185 1098463 1099707 1099880 1099947 1100186 1100924 1101136 1101719 1119931 1120746 1120892 1120952 1121282 1122192 1122431 1122461 1122472 1122583 1123005 1130435 1130494 1135595 1136013 1136946 1136947 1136967 1137041 1137423 1137424 1137520 1137840 1142715 1142799 1142959 1143018 1143019 1144054 1144241 1144547 1145675 1171921 1172200 1172413 1172895 1173217 1173471 1173546 1174530 1174850 1174977 1175002 1175312 1175500 1175571 1175755 1175856 1175941 1176093 1257937 1257993 1258715 1258727 1259190 1259393 1259408 1259413 1259478 1259858 1277056 1285555 1289975 1291749 1311045 1311484 1311506 1312268 1312344 1313365 1313421 1313424 1313461 1313486 1313839 1319765 1330477 1330478 1330622 1432655 1433070 1433470 1433701 1433715 1433893 1433894 1434222 1434495 1435064 1435176 1435177 1435613 1436017 1443691 1444142 1449554 1450245 1450415 1451079 1451136 1451251 1451537 1451696 1451697 1451698 1451702 1452376 1452599 1452920 1453646 1453647 1453656 1453732 1455049 1455162 1455288 1505407 1506262 1511533 1511717 1511819 1511827 1511832 1511835 1511872 1513070 1514312 1514350 1514369 1514370 1514972 1515395 1527881 1528465 1528637 1529373 1530411 1530426 1530876 1531068 1531211 1562409 1563765 1564193 1564199 1564617 1565262 1565263 1565348 1565626 1565746 1566038 1566614 1566947 1567185 1568185 1568848 1568887 1568898 1568900 1568929 1569220 1569283 1569323 1569761 1570885 1571191 1571303 1571338 1576758 1578815 1578825 1587070 1609820 1610290 1613593 1613949 1615794 1618332 1620102)\n(128 696 739 1527 1646 4544 4799 5767 5962 6298 6767 6904 7301 7303 9780 11646 13445 13762 14031 14032 14124 14257 14259 14260 14261 14472 14509 14520 14596 14609 15282 15350 15641 15925 16741 17136 17472 18180 18220 18283 21839 23053 23685 24296 25255 26724 26844 26845 26969 27061 27428 27740 27757 27807 28937 29250 31033 31110 34144 36629 36760 40300 40442 85156 86610 162371 162862 162863 162864 162865 162866 162867 205888 205889 205890 221909 221921 221922 221923 221925 221931 221937 222330 222331 222651 222654 222655 222656 222658 222660 222661 222663 224494 224851 225205 225206 225210 225220 225222 225225 225232 225237 225246 225317 225318 225324 225325 225331 225333 225334 225337 225339 225342 225343 225344 225345 225347 225349 225350 225358 225361 225362 225366 225420 225586 225694 225775 225968 225971 227193 227211 227261 227268 227598 227618 227967 228077 228973 229524 229526 229602 229619 229665 229666 229691 229944 229982 230199 230203 230206 242291 278403 282491 302296 332835 334150 334162 348047 391978 392763 411493 440744 440747 440748 441031 444063 444071 444084 444094 444184 445096 448300 449227 450119 457457 458688 459875 504068 504096 504097 506992 541605 545575 558299 586341 586651 586827 587029 596184 596380 596638 597866 598415 598416 599331 599332 599921 677862 682559 682560 682562 682563 682564 682572 682574 682575 682576 682577 682578 682592 682593 682594 682596 682646 682707 682708 684077 684084 694696 694698 700366 734203 734204 738361 738365 738366 738677 751258 751974 771377 824691 836131 836132 836133 836134 836135 836136 836137 836138 836205 870032 872050 920502 926946 932011 932043 932055 932418 933791 933792 935625 1179002 1179025 1179028 1179037 1179148 1179150 1179187 1179404 1179418 1179432 1179433 1179456 1179457 1179467 1179512 1179625 1179626 1179808 1179826 1180138 1180140 1180274 1180561 1180562 1181290 1182653 1183165 1183515 1183911 1184174 1184445 1184446 1184447 1184448 1184450 1184451 1184452 1184454 1184455 1184456 1184458 1184460 1184461 1184823 1185647 1185705 1185706 1185710 1185711 1185721 1185741 1185751 1253917 1254021 1256463 1257977 1266913 1267092 1267093 1267196 1267199 1267201 1267202 1267207 1267212 1268101 1272575 1272576 1272577 1278882 1279405 1279433 1279436 1279482 1280413 1280416 1280424 1280468 1280540 1280581 1280588 1280629 1280673 1280674 1280692 1280707 1280725 1280750 1280759 1280909 1281631 1281692 1281811 1281907 1282402 1282653 1282665 1282723 1282724 1282725 1282726 1282727 1282743 1282761 1283380 1283920 1284117 1284118 1284120 1284149 1284200 1284251 1284309 1284310 1284837 1285071 1288407 1288414 1289001 1289138 1289169 1289243 1289267 1289268 1289305 1292484 1292488 1292533 1299266 1299267 1299268 1299724 1301386 1304649 1305735 1305746 1305763 1328851 1328852 1331262 1384482 1442408 1442410 1449674 1508562 1510935 1510943 1510945 1511058 1511195 1511198 1511200 1511202 1511228 1511308 1511526 1511549 1511565 1511746 1511770 1512086 1512164 1512201 1512780 1512783 1512862 1512870 1512872 1512987 1513111 1513740 1514265 1514521 1514590 1514805 1514845 1514913 1514963 1514986 1514987 1514988 1515018 1515020 1515274 1515300 1515429 1515430 1515441 1515890 1516506 1516593 1516795 1516828 1516838 1516920 1516934 1516950 1516966 1517037 1517039 1517139 1517171 1517441 1517447 1517453 1517454 1517534 1517718 1517719 1518051 1518052 1518248 1518281 1518682 1518685 1518744 1518895 1518970 1518983 1519088 1519177 1519357 1519374 1519475 1519476 1519521 1519524 1519547 1519548 1519551 1519956 1520138 1521714 1521747 1522216 1522218 1522226 1522239 1522256 1522259 1522263 1522264 1522265 1522271 1522273 1522274 1522389 1522563 1522579 1522642 1522730 1524005 1524006 1525423 1525427 1527434 1535475 1562051 1563739 1563740 1563741 1563742 1564270 1565659)\n(129 1289 1578 2761 2935 5551 8717 8943 9940 10339 11008 12154 15894 16145 16434 16884 18517 21798 21891 23103 23675 23980 24153 24915 25597 26062 30652 31084 32790 32946 32979 32980 32981 32982 33274 33464 34034 34042 34746 35156 36496 36497 38955 39155 40223 40225 79394 79395 79411 80071 85759 86839 162811 178795 205087 205088 205156 205178 205184 205191 205212 205213 205252 205253 205265 205267 205286 205311 205314 205322 205336 205355 205365 205374 205390 205420 205421 205422 205563 231241 231290 231330 231335 232484 233027 233043 233723 237477 237585 237629 240526 241232 241301 241737 242324 262472 279752 282620 332152 332168 332169 332170 332172 332173 332174 332177 332179 332181 332182 332183 332185 332186 332189 332239 332282 332283 332311 347985 376674 392761 425104 436350 439223 439224 439227 439228 439230 439231 439232 439234 439509 439531 439545 439546 439550 439552 439557 439558 439560 439564 439567 439577 439580 439582 439583 439584 439585 439586 439587 439590 439596 439597 439598 439599 439600 439601 439603 439604 439606 439607 439609 439610 439611 439615 439616 439617 439619 439620 439621 439628 439630 439633 439659 439661 443196 443252 443281 443303 445204 449235 449238 449243 449247 449249 449252 449253 449259 449261 456337 456692 456693 456695 456696 456904 457338 457343 457345 457385 521114 521115 521116 522486 547050 549178 549179 556971 556974 556975 556984 556985 558287 558288 558292 559715 565928 565957 574054 574055 580203 580204 580206 580836 585020 585022 585024 585025 585026 585027 585028 585029 585030 585033 585046 585332 585337 585339 585342 585347 585361 587117 595960 597148 597444 598012 599196 600460 678335 678608 679245 680189 680190 680191 680192 680199 680202 681683 681684 681685 681686 681698 681717 681726 681737 681748 681749 681750 681751 681752 681754 681755 681756 681757 681758 681759 681760 681761 681939 683592 687676 700597 702093 740175 741605 750526 750729 806020 814007 814636 815205 851364 870343 870411 871109 871269 871500 871937 871980 872142 872291 935562 1254367 1264634 1264635 1272706 1272754 1273516 1275541 1279919 1282927 1288262 1292423 1292425 1292426 1292428 1292429 1301862 1442446 1442447 1442449 1442450 1442451 1442455 1442456 1442457 1442459 1442460 1442461 1442462 1442465 1442466 1442467 1442468 1442469 1442765 1444637 1510618 1510829 1511978 1512900 1515265 1515273 1516147 1518988 1519814 1521798 1527048 1546923 1547061 1547085 1550736 1550738 1550739 1550741 1550742 1550744 1550746 1550748 1550750 1550752 1552616 1610169)\n(130 805 806 811 812 816 820 918 1300 1301 1303 1425 1557 1558 1559 1560 1561 1562 1563 1566 1632 1701 2010 2387 2388 2393 2428 2621 2688 2691 2692 2766 2769 2804 2805 2903 2909 2910 2911 2912 2913 2915 2916 2917 2919 2920 2921 2922 2924 2928 2952 2996 2997 2998 3281 3393 3424 3506 3571 3611 3827 3856 3858 3881 3893 3974 4050 4080 4283 4361 4386 4415 4704 4708 4710 4764 4836 4910 4933 5365 5427 5435 5491 5527 5698 5746 5791 5822 5841 5842 5843 5857 5926 5949 5961 5976 6042 6098 6155 6259 6289 7168 7202 7203 7344 7347 7389 7430 7431 7435 7436 7437 7471 7474 7530 7656 7778 7794 7812 7876 7975 7979 7993 8320 8339 8342 8343 8346 8819 8971 9039 9068 9244 9274 9345 9355 9410 9416 9417 9418 9429 9557 9558 9813 9870 9953 9957 10009 10042 10055 10163 10216 10217 10280 10332 10401 10408 10412 10468 10651 10700 10705 10931 10932 10962 11079 11121 11209 11307 11338 11341 11368 11370 11371 11372 11375 11391 11393 11397 11402 11425 11451 11593 11878 11879 11946 12001 12002 12159 12163 12164 12166 12167 12168 12169 12174 12356 12358 12615 12683 12737 12826 13103 13104 13156 13211 13216 13218 13219 13300 13302 13457 13459 13778 13787 13794 13804 13806 13825 13830 13833 13847 13931 13938 13951 13968 13969 14093 14098 14099 14169 14268 14327 14368 14370 14392 14428 14585 14586 14857 14872 14875 14935 15236 15250 15252 15258 15354 15357 15359 15360 15362 15400 15547 15618 15746 15787 15798 15804 15825 15915 15952 16112 16143 16286 16419 16641 16642 16643 16690 16999 17074 17118 17125 17131 17134 17164 17193 17194 17196 17296 17382 17501 17573 17576 17673 18072 18126 18230 18247 18426 18459 18504 18581 18791 18807 18821 18823 18833 18878 18960 18990 19004 19008 19009 19014 19063 19108 19117 19119 19144 19328 19329 19333 19334 19530 19531 19540 19541 19857 19930 20311 20431 20548 20549 20587 20588 20589 20632 20633 20650 20674 20699 20700 20708 20711 20883 20940 20944 20971 20972 20974 20975 21022 21079 21083 21107 21114 21153 21439 21440 21441 21446 21459 21486 21489 21491 21493 21495 21496 21498 21587 21588 21589 21616 21635 21646 21777 21778 21780 21781 21816 21829 21860 21864 21885 21896 21910 21912 21916 21917 21925 21928 21931 21932 22024 22100 22102 22110 22206 22375 22377 22591 22592 22607 22671 22875 22983 23017 23035 23038 23065 23087 23311 23416 23537 23561 23690 23694 23765 23809 23878 23911 23928 23930 23985 24047 24128 24203 24226 24230 24257 24447 24559 24570 24698 24725 24820 24867 24875 24881 24882 24883 24884 24885 24886 24887 24956 25059 25335 25352 25974 25991 26035 26067 26118 26168 26268 26604 26643 26645 26652 26729 26822 26868 27054 27056 27094 27136 27405 27407 27495 27561 27695 27718 27724 27732 27741 27745 27848 27909 28302 28678 28899 29151 29168 29189 29209 29216 29257 29337 29338 29339 29340 29362 29468 29473 29936 29967 29968 30212 30275 30279 30303 30401 30547 30548 30600 30693 30788 30988 30992 31001 31006 31041 31042 31064 31127 31139 31140 31146 31148 31152 31349 31352 31548 31582 31740 31765 31803 32018 32042 32113 32134 32202 32216 32284 32317 32328 32631 32716 32720 32722 32740 32741 32745 32924 33045 33081 33082 33144 33249 33573 33887 33889 33967 33968 33970 33971 33972 33973 34102 34104 34172 34386 34542 34594 34618 34621 34622 34623 34624 34764 34771 34873 34945 34946 34991 34996 34997 35007 35016 35028 35029 35052 35110 35124 35139 35151 35157 35189 35205 35239 35260 35273 35355 35394 35467 35519 35848 35849 36132 36134 36136 36269 36411 36434 36435 36589 36716 36892 37000 37297 37466 37645 37680 37742 37831 37894 37897 37935 37943 37995 38005 38112 38150 38153 38154 38270 38287 38288 38289 38519 38544 38638 38640 38813 38842 38847 38886 38897 38898 38899 38900 38901 38902 38903 38904 38906 38909 38910 38912 38913 38968 39038 39040 39043 39055 39077 39116 39333 39492 39505 39519 39548 39733 39786 39792 39795 39796 39799 39988 39990 39991 40044 40071 40145 40290 40295 40298 40348 40369 40423 40431 40440 40446 40449 40450 40461 40463 40504 40507 40508 40511 40574 40576 40590 40591 40597 40631 40654 40674 40732 40736 40738 40739 40771 40808 40836 40861 41271 41275 41277 41280 41281 41282 41447 41450 41544 41612 41620 41626 41684 41687 41690 41692 41953 41962 41963 41979 42019 42020 42196 42199 42200 42201 42202 42203 42205 42206 42207 42208 42209 42223 42225 42273 42275 42324 42361 42362 42365 42381 42387 42416 42421 42490 42496 42515 42517 42556 42609 42903 42944 42959 43108 43149 43162 43308 50379 50380 50385 50841 50858 51571 51817 52142 52143 52712 52890 53053 53054 53063 53064 53334 53662 53870 54324 54326 54427 54603 54889 54917 54918 55065 55066 55160 55259 55483 55598 55599 55670 55981 55982 55985 55986 55987 56000 56001 56019 56079 56159 56167 56272 56273 56274 56275 56286 56447 56451 56574 56631 56633 56635 57010 57163 57171 57181 58894 58928 58942 59050 59994 60056 60063 60133 60143 60627 62161 62594 65009 65212 65442 65447 65452 65453 65462 65465 65476 65477 65541 65713 65772 66495 66663 66789 66903 68899 69290 71715 71973 72146 72634 72635 72636 75769 75860 77959 77960 77961 77962 77964 77972 77974 77975 78015 78040 78043 78137 78140 78144 78294 78397 78398 78401 78414 78884 78943 78950 79036 79159 79172 79186 79207 79208 79277 79278 79290 79345 79543 79544 79595 79612 79613 79646 79850 79895 79896 79989 80038 80168 80232 80301 82139 82140 83096 83097 83355 83473 83765 84185 84921 84990 85075 85076 85079 85101 85102 85146 85147 85148 85162 85198 85203 85204 85206 85263 85279 85287 85290 85405 85430 85514 85533 85671 85673 85675 85841 85846 85867 85873 85874 85990 86117 86121 86153 86184 86225 86252 86258 86261 86286 86293 86330 86383 86463 86511 86524 86548 86561 86572 86573 86580 86586 86604 86656 86818 86904 86923 86940 86958 86959 86966 87042 87111 87123 100824 100825 100826 100937 101267 101275 103048 104713 104928 106191 107744 107999 108618 108620 108622 108844 109030 109491 109626 109705 110666 111197 115153 116313 117256 117258 118004 120762 121611 128344 131626 133758 134006 135027 135230 136179 136215 141287 143542 144442 145716 148062 148080 148305 148567 149533 149534 149615 149619 149644 149684 149701 149750 149761 149783 149807 149811 150116 150122 150126 150129 150131 150133 150134 150135 150136 150137 150138 150139 150140 150141 150143 150145 150146 150150 150154 150155 150156 150157 150158 150161 150162 150169 150172 150173 150174 150177 150180 150183 150184 150186 150190 150191 150205 150207 150211 150215 150220 150223 150229 150232 150234 150237 150238 150240 150249 150252 150254 150255 150258 150259 150260 150261 150262 150267 150269 150279 150281 150288 150289 150290 150292 150298 150301 150303 150305 150307 150315 150316 150317 150318 150320 150321 150323 150325 150327 150328 150329 150336 150337 150340 150344 150345 150347 150350 150358 150359 150365 150370 150384 150386 150391 150392 150397 150399 150401 150406 150413 150421 150444 150457 150468 150474 150500 150507 150521 150523 150543 150544 150561 150578 150594 150611 150627 150633 150638 150659 150685 150716 150741 150747 150755 150763 150764 150773 150786 150788 151201 151560 152054 152055 152060 152277 152461 152462 152463 161856 161861 161872 161884 161899 161906 161912 161919 161922 161924 161930 161955 161959 162209 162352 162363 162428 162505 162513 162522 162551 162558 162559 162560 162561 162562 162563 162575 162577 162578 162590 162649 162653 162654 162655 162656 162661 162662 162675 162702 162779 162780 162873 163868 164511 165418 165767 166209 166421 167486 168244 169399 175629 175757 175761 175762 175763 175795 175823 176217 176335 176341 176364 176371 176387 176391 176474 176496 176678 176680 176692 176710 176740 176751 176773 176813 176866 176884 176911 176919 176920 176940 176996 177002 177012 177025 177074 177169 177252 177558 177646 177657 177691 178013 178024 178030 178036 178088 178093 178235 178388 178391 178533 178583 178594 178612 178620 178653 178702 178866 178907 178910 179243 180580 184545 184578 184586 184589 184613 184617 184624 184626 184627 184633 184635 184641 184643 184645 184647 184649 184650 184657 184893 184898 184900 184903 184904 184905 184906 184907 184908 184909 184910 184913 184914 184915 184916 184917 184918 184930 184932 184933 184934 184936 184940 184948 184955 184957 184958 184967 184979 184985 184987 185000 185003 185010 185012 185013 185014 185016 185023 185024 185025 185026 185027 185032 185033 185035 185040 185042 185044 185045 185046 185047 185050 185053 185056 185060 185061 185062 185064 185065 185071 185072 185073 185074 185076 185078 185081 185098 185104 185110 185111 185112 185113 185114 185115 185117 185123 185130 185131 185132 185133 185134 185137 185153 185157 185159 185160 185162 185163 185181 185188 185189 185190 185193 185195 185210 185216 185241 185244 185251 185256 185279 185292 185297 185298 185301 185304 185306 185317 185339 185340 185341 185363 185364 185368 185369 185373 185387 185396 185399 185409 185414 185415 185423 185424 185432 185438 185451 185458 185464 185468 185470 185472 185473 185496 185506 185509 185513 185514 185524 185527 185535 185566 185567 185568 185569 185577 185624 185626 185689 185695 185696 185773 185791 185792 185793 185824 185827 185829 185847 185848 185853 185890 185908 185952 185953 185954 185955 185956 185972 186005 186010 186045 186049 186053 186080 186081 186098 186110 186166 186168 186192 186193 186196 186225 186256 186318 186321 186327 186328 186399 186430 186435 186436 186448 186454 186455 186536 186539 186623 186657 186658 186662 186666 186688 186689 186697 186781 186908 186912 186914 187064 187067 187074 187138 187211 187359 187381 187402 187514 187530 187606 187716 187763 187766 187769 187780 187816 187826 187896 187898 187901 187906 187930 187978 187979 188057 188092 188107 188132 188172 188177 188183 188243 188314 188316 188323 188325 188330 188412 188413 188438 188472 188476 188494 188551 188552 188566 188572 188578 188583 188584 188585 188594 188661 188664 188667 188668 188673 188725 188744 188822 188827 188832 188855 188868 188882 188970 188972 188974 188979 188988 188993 188999 189007 189042 189047 189051 189054 189055 189100 189110 189113 189123 189124 189146 189149 189156 189204 189205 189207 189220 189224 189225 189228 189231 189233 189234 189236 189240 189242 189248 189261 189299 189306 189330 189338 189341 189346 189347 189351 189360 189371 189381 189421 189436 189463 189471 189474 189476 189477 189488 189490 189497 189526 189540 189556 189557 189559 189563 189573 189583 189586 189593 189598 189602 189621 189625 189632 189635 189660 189661 189685 189695 189710 189711 189722 189745 189758 189759 189760 189761 189771 189781 189789 189799 189817 189852 189876 189896 189963 189965 189969 190006 190010 190037 190038 190039 190040 190043 190051 190061 190065 190068 190071 190073 190074 190080 190081 190085 190098 190112 190127 190165 190170 190173 190174 190176 190188 190211 190250 190264 190267 190288 190305 190347 190359 190364 190388 190398 190408 190422 190431 190435 190436 190476 190483 190484 190485 190544 190555 190587 190638 190658 190667 190671 190695 190722 190759 190763 190869 190886 190929 190932 190950 190953 190954 190961 190979 190998 191017 191022 191117 191140 191141 191146 191151 191152 191167 191172 191178 191222 191229 191233 191234 191235 191236 191237 191239 191247 191261 191267 191275 191279 191309 191318 191322 191329 191345 191386 191408 191423 191444 191474 191479 191482 191491 191496 191497 191501 191511 191513 191554 191559 191589 191626 191709 191722 191796 191808 191838 191840 191877 191879 191880 191883 191886 191887 191893 191918 191919 191922 191923 191924 191925 191926 191944 191956 191957 191958 191959 191962 191990 191993 191994 192024 192037 192038 192040 192046 192051 192063 192064 192070 192085 192090 192137 192139 192146 192153 192154 192168 192169 192176 192183 192189 192198 192207 192216 192220 192234 192235 192239 192259 192265 192288 192289 192296 192301 192331 192334 192337 192352 192353 192357 192360 192362 192369 192388 192398 192401 192407 192412 192415 192423 192431 192435 192438 192440 192444 192456 192486 192487 192489 192494 192496 192498 192499 192503 192504 192507 192512 192571 192573 192574 192575 192576 192579 192582 192584 192595 192601 192616 192626 192632 192635 192636 192657 192692 192706 192708 192709 192711 192715 192719 192720 192731 192739 192740 192742 192746 192748 192751 192754 192755 192764 192777 192781 192796 192799 192807 192817 192818 192825 192829 192830 192861 192863 192865 192866 192871 192881 192882 192945 192946 192948 192949 192950 192953 192954 192958 192963 192964 192966 192971 192973 192975 192986 192987 193011 193014 193017 193036 193042 193052 193056 193062 193063 193064 193068 193070 193072 193077 193101 193104 193105 193117 193125 193131 193144 193147 193171 193173 193176 193177 193184 193200 193210 193211 193265 193311 193312 193316 193317 193318 193319 193338 193358 193359 193373 193377 193398 193399 193419 193423 193424 193425 193438 193441 193446 193471 193475 193533 193535 193540 193544 193546 193547 193549 193550 193553 193558 193570 193583 193594 193596 193603 193612 193621 193642 193644 193696 193697 193704 193705 193724 193735 193751 193769 193771 193788 193789 193790 193791 193804 193810 193834 193849 193854 193862 193863 193864 193865 193866 193867 193883 193884 193896 193925 193930 193936 193941 193959 193983 193987 193997 193998 194004 194015 194025 194034 194035 194037 194049 194053 194056 194063 194078 194083 194084 194086 194088 194089 194091 194092 194102 194121 194133 194158 194159 194160 194163 194164 194171 194188 194194 194200 194205 194209 194211 194221 194224 194225 194229 194235 194303 194305 194306 194307 194328 194334 194341 194353 194361 194374 194396 194399 194400 194401 194411 194412 194423 194429 194448 194475 194479 194496 194501 194502 194503 194504 194512 194515 194516 194517 194520 194522 194523 194530 194546 194550 194558 194560 194572 194576 194577 194578 194583 194632 194633 194634 194638 194642 194645 194648 194653 194664 194676 194682 194708 194715 194732 194740 194784 194790 194792 194794 194797 194809 194810 194818 194820 194823 194825 194828 194852 194855 194856 194858 194863 194873 194890 194892 194894 194907 194913 194920 194928 194936 194941 194957 194960 194965 194977 194985 194992 195000 195023 195046 195066 195067 195091 195117 195127 195130 195131 195132 195145 195147 195189 195190 195191 195192 195196 195202 195204 195208 195213 195224 195230 195237 195239 195256 195257 195289 195290 195299 195305 195309 195331 195344 195379 195386 195391 195409 195436 195438 195463 195465 195475 195488 195490 195495 195499 195509 195514 195549 195552 195558 195559 195562 195579 195583 195586 195595 195610 195619 195620 195621 195622 195623 195632 195637 195666 195681 195688 195696 195699 195705 195707 195709 195713 195717 195724 195728 195730 195732 195734 195737 195739 195741 195742 195767 195772 195775 195792 195796 195797 195801 195802 195838 195877 195892 195893 195894 195961 195997 196002 196003 196004 196005 196006 196033 196103 196112 196154 196173 196180 196182 196225 196240 196243 196248 196262 196306 196309 196394 196469 196487 196490 196542 196544 196558 196560 196576 196577 196579 196586 196588 196589 196596 196608 196614 196616 196652 196655 196656 196658 196664 196666 196667 196668 196669 196670 196673 196674 196686 196688 196689 196694 196716 196728 196731 196734 196775 196777 196783 196801 196805 196806 196809 196851 196865 196867 196878 196880 196893 196911 196913 196935 196939 196950 196954 196998 197050 197059 197063 197075 197079 197102 197114 197115 197136 197145 197146 197156 197180 197205 197213 197242 197246 197247 197254 197265 197267 197270 197280 197293 197302 197303 197308 197349 197388 197397 197402 197405 197406 197409 197430 197447 197448 197454 197456 197459 197489 197490 197494 197524 197526 197528 197530 197531 197533 197534 197535 197537 197548 197551 197554 197557 197559 197562 197566 197607 197611 197613 197619 197620 197648 197665 197666 197668 197672 197673 197674 197689 197717 197726 197770 197791 197839 197937 197953 197958 197972 197981 198005 198010 198052 198062 198101 198111 198122 198135 198154 198159 198160 198161 198196 198206 198241 198242 198253 198263 198265 198281 198284 198285 198286 198287 198311 198317 198320 198322 198400 198402 198438 198441 198482 198488 198493 198497 198508 198524 198539 198542 198548 198552 198584 198588 198589 198593 198614 198632 198648 198665 198667 198690 198737 198752 198775 198802 198805 198806 198807 198810 198813 198826 198829 199171 199173 199176 199242 199243 199244 199253 199260 199395 199396 199397 199401 199404 199415 199438 199447 199451 199452 199454 199467 199468 199470 199472 199473 199530 199548 199550 199614 199629 199640 199641 199647 199648 199743 199744 199779 199780 199782 199798 199801 199803 199804 199806 199807 199808 199809 199810 199811 199813 199814 199815 199816 199818 199823 199859 199939 199949 199960 199961 199962 199963 199967 199970 199974 199975 199976 200014 200017 200018 200020 200023 200029 200066 200070 200149 200165 200219 200245 200251 200310 200318 200323 200324 200591 202883 202886 203005 203024 203028 203497 203541 203543 203548 203549 203550 203580 203597 203608 203610 203614 203897 203900 203907 203908 203914 203916 203917 203924 203928 203936 203939 203965 203970 203971 203982 203986 203988 203989 203990 203991 203993 203995 204021 204026 204027 204028 204032 204036 204074 204076 204091 204095 204096 204097 204099 204101 204103 204109 204110 204118 204131 204143 204147 204148 204151 204159 204168 204169 204172 204173 204174 204175 204192 204193 204195 204210 204214 204217 204229 204241 204279 204289 204292 204299 204322 204324 204369 204371 204413 204414 204416 204417 204442 204443 204448 204512 204514 204515 204516 204519 204523 204524 204525 204528 204534 204536 204537 204538 204541 204542 204548 204553 204555 204557 204563 204565 204567 204577 204579 204581 204583 204585 204588 204592 204593 204594 204597 204600 204610 204614 204622 204624 204628 204636 204650 204666 204670 204696 204699 204700 204710 204726 204727 204730 204732 204737 204740 204742 204774 204785 204788 204796 204800 204816 204819 204829 204846 204854 204860 204861 204863 204867 204899 204901 204966 204968 205011 205013 205717 205918 205991 206014 206058 206074 206075 206078 206079 206080 206097 206098 206099 206101 206113 206153 206156 206233 206234 206263 206373 207755 207985 208342 211165 212922 215476 219258 221295 221296 229669 231588 231942 232825 233087 234007 234008 234945 235062 237067 237072 237461 237537 237547 237564 237825 237904 237934 240472 241076 242296 242297 242348 242382 242388 242389 242390 242427 242530 242581 242602 242603 242637 242673 242687 242739 242782 242783 242812 242813 242834 242835 242836 242838 242839 242883 242939 242944 242945 242969 242970 242971 242972 244421 246101 246281 246327 246511 247098 248241 250051 250109 250336 251244 251760 252347 255253 255259 255713 255739 255874 258764 259787 259788 259789 259825 259835 259836 259875 259953 259954 259961 259962 259989 260135 260139 260174 260176 260271 260276 260301 260577 260835 260888 262176 262671 262680 262687 262700 262705 262711 262715 262718 262722 262723 262724 262731 262732 262735 262756 262760 262762 269439 269694 269704 278259 278261 278264 278280 278281 278300 278302 278305 278307 278308 278309 278312 278314 278321 278334 278335 278348 278355 278376 278384 278385 278531 278623 278790 278907 279017 279023 279024 279025 279026 279027 279028 279029 279030 279031 279033 279035 279038 279492 279493 279494 279495 279497 279531 279532 279694 279769 279839 279840 279936 280026 280055 280112 280274 280342 280440 280443 280512 280525 280527 280531 280538 280541 280544 280547 280551 280552 280555 280556 280558 280573 280580 280586 280591 280592 280593 280598 280599 280603 280604 280661 280674 280855 280959 281149 281163 281168 281176 281177 281178 281179 281182 281183 281184 281185 281186 281187 281188 281189 281190 281191 281192 281193 281194 281195 281206 281207 281287 281305 281318 281374 281375 281413 281417 281442 281475 281477 281478 281481 281534 281548 281604 281659 281812 282046 282077 282282 282333 282402 282455 282462 282467 282493 282514 282515 282530 282543 282545 282614 282615 282624 282638 284955 285171 285233 285452 285854 285858 286421 286540 286805 287010 287215 287830 288609 291907 293068 295183 295640 296247 296324 297109 299581 299681 301562 301563 301568 301569 301572 301577 301585 301588 301589 301590 301592 301595 301596 301600 301603 301610 302189 302269 302270 302547 302554 302559 302572 302601 302822 302824 302825 311130 311131 311143 311159 311164 311165 311166 311170 311187 311195 311196 332293 332316 332857 337280 337283 337286 337289 337308 337312 337313 337320 337329 337338 337342 337351 337353 337358 337361 337366 337369 337377 337383 337385 337393 337415 337417 338237 338238 338239 338240 338268 338605 339020 339022 339024 339026 339885 339890 339892 339897 341000 341069 341072 341073 341078 341079 341081 341614 341616 341803 341970 342971 342978 343128 343132 343136 343138 344093 344096 344106 344211 344221 344222 344223 344352 344356 348002 348008 348025 349707 349717 352068 356967 371463 371711 371803 372289 372516 372525 372601 375931 375979 375983 376004 376013 376039 376287 376296 376312 376317 376386 376410 376442 376450 376461 376466 376495 376506 376508 376509 376517 376518 376530 376546 376547 376626 376671 376707 377736 378450 379006 379084 379101 379389 379582 379628 379869 381056 382588 382723 383154 383341 384397 387697 389773 389832 390229 390230 390251 391664 391871 391873 391874 391928 391929 392126 392127 392148 392535 392800 392801 392804 392806 392807 392832 392850 392866 392892 392920 392943 393053 393078 393090 393091 393124 393293 394062 394150 394162 394181 394241 394243 394363 394364 394374 394407 394408 394438 394477 394491 394537 394552 394553 394641 394644 394645 394648 394649 394654 394662 394663 394664 394673 394677 394678 394682 394689 394690 394691 394692 394695 394697 394703 394724 394731 394735 394741 394776 394799 394801 394811 394815 394826 394837 394842 394843 394844 394845 394854 394855 394856 394859 394862 394871 394874 394875 394876 394879 394883 394886 394922 394927 394929 394937 394965 395020 395072 395089 395092 395122 395153 395154 395155 395185 395204 395205 395206 395215 395238 395244 395256 395275 395288 395289 395290 395291 395293 395295 395297 395299 395301 395303 395307 395310 395312 395314 395317 395324 395326 395328 395333 395335 395337 395343 395344 395345 395346 395348 395355 395356 395357 395358 395359 395360 395404 395405 395406 395416 395429 395433 395440 395442 395458 395459 395462 395463 395464 395465 395467 395482 395490 395494 395495 395507 395522 395529 395530 395531 395535 395542 395546 395555 395578 395587 395592 395594 395595 395597 395630 395655 395688 395699 395708 395722 395726 395731 395734 395735 395739 395740 395741 395772 395785 395790 395794 396085 396086 396087 396096 396134 396141 396144 396158 396168 396199 396200 396223 396225 396237 396239 396242 396243 396244 396246 396247 396254 396257 396262 396304 396306 396307 396315 396335 396336 396341 396372 396375 396384 396386 396387 396388 396391 396429 396483 396510 396514 396524 396529 396549 396565 396568 396581 396582 396583 396584 396585 396598 396599 396608 396611 396612 396614 396617 396618 396619 396621 396625 396627 396629 396632 396634 396635 396636 396644 396652 396670 396795 396798 396819 396839 396849 396850 396853 396876 396877 396878 396879 396882 396883 396884 396885 396886 396888 396899 396903 396904 396934 396936 396940 396941 396949 396974 396978 396979 396980 396982 396994 396995 397020 397024 397128 397129 397130 397134 397143 397148 397185 397193 397197 397205 397209 397238 397240 397255 397256 397267 397268 397282 397287 397295 397296 397344 397347 397356 397358 397362 397414 397415 397419 397435 397437 397450 397466 397517 397527 397551 397553 397560 397561 397567 397568 397581 397654 397734 397760 397761 397834 397942 397948 397967 397972 397974 397978 397980 397990 398007 398033 398034 398035 398053 398064 398086 398102 398124 398136 398147 398159 398160 398161 398162 398164 398190 398192 398193 398200 398211 398221 398266 398275 398305 398307 398308 398309 398312 398318 398322 398327 398332 398338 398339 398340 398341 398342 398343 398344 398345 398395 398398 398402 398406 398407 398408 398410 398415 398471 398472 398481 398518 398535 398867 398877 398907 398920 398946 398950 398952 398954 398959 398960 398967 399002 399003 399004 399059 399066 399067 399077 399130 399188 399231 399238 399271 399285 399303 399328 399607 399610 399613 399614 399643 399644 399651 399665 399666 399670 399671 399682 399711 399713 399737 399738 399741 399771 399785 399786 399801 399839 399852 399854 399886 399904 399905 399906 399919 399920 399921 399935 399967 399975 399995 399996 399997 400004 400028 400041 400043 400056 400076 400084 400138 400164 400196 400202 400203 400204 400206 400207 400208 400215 400216 400222 400223 400242 400245 400247 400249 400250 400266 400281 400300 400312 400315 400323 400330 400341 400387 400395 400435 400436 400438 400439 400440 400447 400460 400468 400469 400475 400476 400478 400492 400495 400505 400510 400512 400513 400522 400527 400609 400616 400634 400656 400665 400745 400748 400782 400783 400792 400796 401161 401176 401177 401181 401186 401187 401191 401192 401205 401210 401215 401216 401224 401225 401239 401250 401283 401284 401287 401298 401319 401323 401331 401343 401360 401402 401406 401436 401437 401438 401439 401442 401447 401463 401473 401496 401514 401517 401521 401565 401581 401619 401646 401656 401659 401664 401672 401684 401685 401686 401687 401688 401751 403190 403202 403229 403230 403231 403236 403243 403247 403250 403252 403254 403263 403269 403316 403319 403327 403328 403329 403330 403340 403349 403350 403351 403844 403853 403855 403857 403859 403876 403926 403929 403949 403950 403954 403973 403974 404009 404017 404019 404023 404027 404028 404030 404067 404068 404076 404077 404079 404083 404087 404088 404089 404090 404091 404093 404094 404110 404115 404116 404118 404131 404132 404136 404141 404183 404186 404187 404188 404193 404194 404206 404208 404218 404220 404268 404270 404271 404286 404325 404328 404330 404357 404359 404373 404377 404386 404409 404411 404413 405388 405415 405419 405446 405508 405509 405510 405511 405526 405530 405540 405559 405560 405561 405590 405597 405600 405602 405603 405605 405671 405674 405737 405765 405831 405832 405857 405866 405870 405885 405886 405887 405907 405922 405923 405930 405932 405956 405970 405997 406904 406914 407029 407092 407167 407168 407260 407295 407333 407415 407428 407433 407434 407435 407439 407440 407442 407444 407445 407446 407447 407450 407451 407454 407467 407472 407482 407483 407484 407485 407522 407526 407529 407560 407563 407564 407585 407589 407590 407593 407594 407611 407612 407613 407662 407670 407675 407708 407713 407722 407767 407816 407818 407820 407843 407873 407875 407878 407879 407882 407885 407887 408088 408132 408159 408193 408197 408200 408227 408231 408240 408276 408314 408358 408368 408397 408401 408407 408543 408552 408559 408578 408588 408598 408599 408620 408632 408633 408640 408643 408650 408653 408720 408732 408752 408753 408870 408884 408909 408914 408961 409032 409091 409172 410872 410877 410879 410892 411257 411258 411259 411265 411282 411287 411291 411292 411309 411316 411332 411347 411349 411350 411355 411356 411357 411359 411364 411383 411391 411412 411440 411496 411511 411552 411582 411720 411765 411783 412192 412767 412768 412769 412770 412775 412776 412777 412778 412779 412780 412784 412785 412792 412793 412794 412795 412796 412797 412805 412806 412808 413362 413365 413366 413371 413372 413380 413381 413389 418942 418947 418950 418951 418957 418967 418971 418981 418982 418984 418986 418987 418988 418991 418992 418995 418996 419000 419004 419005 419008 419011 419012 419014 419015 419017 419018 419019 419020 419021 419023 419035 419038 419042 419049 419055 419058 419060 419063 419064 419065 419067 419068 419072 419073 419079 419095 419104 419105 419107 419108 419113 419117 419118 419119 419121 419126 419127 419131 419133 419140 419144 419150 419152 419153 419156 419169 419172 419173 419174 419175 419177 419178 419179 419181 419205 419206 419274 419314 419524 419527 419530 419589 419619 419638 419680 419687 419698 419702 419705 419706 419707 419712 419714 419723 419726 419729 419731 419735 419760 419785 419790 419814 419861 419878 419899 419969 419982 419983 419994 419997 420042 420045 420047 420061 420172 420174 420175 420180 420187 420192 420193 420196 420200 420201 420202 420203 420204 420205 420256 420257 420384 420385 420530 425403 425404 425405 425408 425422 426404 430111 430113 430604 430802 430860 430882 430934 430971 431015 431017 431021 432594 432595 432596 436039 436040 436200 436209 436214 436215 436216 436217 436221 436222 436224 436226 436228 436229 436235 436241 436247 436270 436307 436313 436314 436544 436548 438405 438669 438673 438675 439061 439613 439631 439775 439805 440800 441474 441475 441476 441477 441481 441485 441486 441487 441488 441490 441495 441496 441501 441502 441503 441504 441505 441506 441508 441509 441510 441513 441514 441515 441516 441517 441518 441519 441520 441522 441523 441526 441527 441530 441534 441535 441536 441538 441544 441545 441546 441547 441550 441568 441572 441574 441575 441577 441578 441579 441580 441581 441585 441588 441590 441592 441593 441598 441603 441610 441614 441615 441616 441619 441620 441636 441637 441639 441644 441650 441653 441678 441679 441692 441701 441702 442712 442713 442714 442715 442716 442717 442775 442907 442916 442922 442924 442925 442927 442929 442934 442935 442936 442937 442939 442940 442941 442942 442943 442944 442945 442950 442951 442952 442953 442954 442955 442958 442959 442961 442964 442965 442967 442968 442969 442988 443028 443059 443230 443235 443300 443325 444409 444430 444432 444433 444434 444435 444436 444472 444473 444481 444482 444484 444485 444488 444545 444638 444661 444662 444664 444676 444677 444678 444681 444683 444700 444704 444716 444718 444735 444738 444754 444785 444808 444832 444889 444890 444891 444933 444991 445019 445054 445110 445183 445195 445275 445287 445293 445299 445301 445398 445415 448963 448964 449263 449266 449302 449871 449887 449972 449994 450011 450072 450073 450075 450076 450077 450079 450080 450081 450082 450185 451615 452238 452240 452250 452254 452255 452260 452264 452265 452268 452269 452270 452274 452275 452278 452279 452281 452283 452286 452287 452288 452289 452290 452291 452293 452294 452295 452296 452297 452298 452300 452302 452303 452305 452306 452307 452308 452309 452310 452311 452312 452313 452314 452315 452320 452322 452325 452326 452328 452331 452333 452335 452336 452339 452340 452341 452342 452343 452344 452345 452348 452349 452350 452351 452352 452353 452355 452356 452357 452358 452360 452361 452362 452363 452365 452376 452377 452378 452379 452380 452381 452382 452385 452387 452388 452390 452391 452392 452394 452399 452400 452401 452402 452403 452410 452415 452416 454036 454040 454041 454043 454044 454045 454046 454049 454051 454052 454055 454057 454058 454059 454060 454061 454064 454065 454069 454073 454077 454085 454087 454090 454094 454096 454097 454098 454100 454101 454103 454104 454105 454106 454108 454109 454110 454111 454118 454131 454279 454280 454281 454282 454284 454286 454287 454290 454291 454292 454299 454306 454311 454314 454318 454321 454325 454326 454331 454333 454338 454348 454349 454350 454354 454357 454365 454366 454367 454375 454381 454383 454385 454405 454406 454415 454416 454417 454448 454457 454461 454463 454464 454465 454466 454467 454469 454471 454472 454473 454474 454475 454480 454481 454496 454503 454504 454505 454507 454509 454511 454512 454514 454515 454516 454517 454518 454519 454522 454523 454525 454527 454529 454530 454532 455007 455014 455015 455035 455048 455061 455074 455082 455085 455096 455099 455107 455131 455136 455142 455150 455164 455168 455169 455170 455225 455248 455251 455258 455750 455760 455803 455941 455970 456223 456266 456267 456275 456276 456277 456314 456317 456331 456506 456519 456582 456655 456675 456768 456841 456859 456979 456980 457021 457038 457040 457049 457050 457051 457058 457061 457368 457369 457370 457372 457410 457411 457417 457431 457447 457544 457545 457571 457629 457794 457796 457797 457814 457815 457819 457821 457822 457823 457825 457826 457827 457828 457830 457832 457835 457911 457914 457915 457923 457924 457937 457955 457956 457970 457987 458016 458024 458122 458125 458130 458132 458264 459222 459303 459304 459395 459480 459482 459484 459489 459504 459914 472422 472432 472438 472452 472466 472473 472476 472535 472545 472569 472580 472581 472589 472634 472641 472643 472662 472670 472675 472676 472679 472680 472681 472682 472683 472684 472685 472686 472687 472688 472699 472888 472889 472890 472910 472916 472946 472964 472968 472987 473006 473023 473038 473074 473076 473078 473090 473103 473143 473265 473275 473285 473296 473298 473299 473302 473303 473304 473306 473639 473705 473880 473965 473968 474146 474156 474162 474166 474167 474169 474170 474171 474172 474173 474174 474177 474178 474184 474186 474189 474192 474204 474232 474244 475260 475378 475411 475453 475606 475640 475641 475644 475647 475661 475668 475745 475771 475843 475870 481502 481503 481663 487906 489444 489525 489950 498167 498269 498274 498275 498276 498305 500192 500223 508215 508354 508372 508431 511588 513124 513127 513528 513563 513566 513686 513758 513836 519382 519383 519384 519434 519515 520483 520484 520485 520526 521210 521211 521212 521213 521214 521219 521220 521224 521232 521234 521235 521256 521257 521258 521261 521266 521267 521270 521272 521277 521278 521287 521293 521297 521298 521300 521302 521305 521306 521315 521973 522536 522772 522776 522780 522786 522794 524318 524689 524722 524729 524732 524811 524832 524850 524852 524860 524861 524864 524865 524955 524974 524975 525022 525023 525024 525027 525031 525832 525869 525948 525978 526287 526375 526636 527029 527958 529557 530799 538312 541656 541661 541662 541671 541747 542291 542296 542300 542306 542311 542314 542376 542378 542379 542380 542382 542407 542408 542419 543432 543467 545108 545298 545306 545309 545321 545322 545366 545367 545386 545405 545406 545408 545433 545441 545447 545926 546514 546515 546521 546522 546523 546524 546525 546528 546529 546530 546531 546532 546534 546535 546540 546541 546544 546551 546552 546555 546556 546557 546558 546561 546824 546981 547070 547071 547286 547598 548067 549146 549176 549401 553652 553740 553741 553799 553802 553803 553832 553887 553888 553891 553895 553899 553903 553906 553907 553938 554011 554059 554139 554147 554149 554165 554325 554417 554510 554531 554533 554626 554640 554791 554804 554805 554808 554812 554830 554831 555352 555354 555869 555897 555961 555965 556028 556030 556033 556489 556490 556491 556495 556496 556497 556498 556501 556502 556503 556505 556506 556507 556508 556509 556510 556511 556513 556514 556517 556520 556522 556529 556530 556554 556555 556562 556563 556564 556565 556566 556567 556568 556569 556570 556662 556663 556664 556665 556666 556785 556796 556808 556810 556833 556834 556837 556838 556840 556841 556842 556844 556845 556848 556852 556853 556854 556890 556894 556895 556897 556898 556903 556904 556905 556907 556909 556915 556917 556927 557033 557055 557952 557959 557960 557964 557978 557982 557983 557984 557986 557987 557988 557992 557993 557996 558009 558010 558012 558014 558028 558037 558050 558051 558240 558250 558252 558255 558256 558317 558319 558327 558333 558337 558340 558344 558347 558380 558528 558629 558630 558631 558632 558652 558653 558654 558658 558659 558663 558666 558672 558674 558675 559219 559221 559308 559650 559657 559680 559681 559692 559702 559704 559761 559765 559916 559926 560421 560422 560564 561858 561879 561928 561929 561936 561938 562317 562319 562337 562343 562344 563322 563524 563525 563527 563528 563529 563543 563648 564457 564468 564628 564946 564964 564967 564969 564989 564991 564994 565000 565003 565004 565005 565032 565049 565056 565062 565195 565198 565215 565220 565239 565251 565255 565261 565269 565280 565293 565313 565315 565317 565331 565335 565350 565387 565411 565415 565420 565423 565434 565436 565442 565443 565447 565460 565471 565479 565489 565514 565515 565516 565524 565527 565531 565534 565535 565537 565539 565542 565840 565861 565864 565883 565907 565967 566541 567341 567344 567345 567400 567459 567464 567465 574030 574032 574135 574138 574835 574836 576748 576751 576759 576763 576773 576775 576778 577605 577776 577990 577995 577996 578442 578472 578554 578996 579000 579006 579011 579049 579055 579116 579117 579129 579130 580106 580164 580209 580351 580643 580646 580690 580748 581004 581010 581232 581528 581564 581567 581601 581602 581603 581712 581715 581716 581766 581814 581817 581818 582026 582194 582243 582387 582434 582480 582527 582547 582717 582718 582722 582723 582725 582726 582728 582738 582779 582792 583005 583006 584645 584867 584877 585100 585155 585179 585201 585273 585373 585379 585418 585456 585458 585461 585462 585463 585464 585479 585516 585519 585530 585532 585535 585537 585569 585667 585726 585838 585941 585942 585943 585944 585990 586068 586283 586304 586954 586971 586973 587038 587041 587059 587069 587214 587268 587279 587370 587375 587570 587571 587575 587577 587579 587580 587581 587582 587584 587587 587588 587589 587590 587591 587592 587593 587629 587630 587735 587766 587875 588202 588217 588410 588436 588453 588458 588464 589036 589058 589104 589105 589109 589113 589114 589163 589168 589182 589189 589192 589195 589217 589218 589219 589220 589274 589276 589278 589282 589289 589303 589347 589357 595967 596047 596052 596171 596186 596197 596218 596230 596278 596459 596512 596530 596540 596541 596557 596706 596742 596759 596791 596842 596872 596907 597041 597092 597139 597180 597242 597312 597343 597403 597409 597435 597463 597505 597590 597749 597750 597811 597812 597815 597834 597844 597869 597935 597939 598126 598144 598284 598287 598328 598380 598391 598412 598486 598521 598597 598717 598722 598928 599038 599081 599082 599083 599136 599237 599248 599266 599267 599291 599292 599346 599378 599482 599483 599515 599529 599541 599574 599876 599905 599916 599917 599938 599989 599995 600015 600020 600057 600060 600072 600080 600249 600250 600288 600386 600403 600516 600521 600558 600576 600577 600578 613721 618144 618945 619832 619900 620364 620848 623041 623731 626227 627079 628081 628930 628931 629925 629946 630919 635351 635641 636050 636750 641805 642844 643233 643616 643826 646389 646488 648704 648705 649061 652691 652692 654330 654353 655632 656013 657272 657538 657724 658611 659337 660550 663077 663905 663906 668000 668001 668695 668793 669632 670063 670064 670122 671450 671452 672257 672281 673828 675142 675510 675983 676461 677555 677578 677616 677619 677643 677761 677769 677798 677799 677833 677841 677850 677881 677908 677911 677922 677960 677962 677965 678026 678054 678094 678811 678812 678814 678815 678819 678821 678822 678823 678827 679071 679072 679073 679607 679611 679612 679614 679620 679621 679624 679625 679627 679628 679629 679634 679635 679637 679639 679642 679645 679651 679652 679653 679655 679656 679657 679658 679660 679665 679666 679667 679668 679671 679674 679675 679698 679699 679700 679702 679721 679731 679734 679735 679740 679750 679761 679769 679771 679775 679776 679784 679804 679805 679809 679818 679825 679843 679865 679867 679868 679871 679875 679944 679945 679947 680460 683174 683177 683180 683181 683183 683266 683466 683468 683470 683471 683472 683474 683476 683477 683490 683492 683495 683505 683514 683517 683524 683527 683528 683529 684199 684204 684257 684278 686919 686940 687710 687732 694554 695275 695340 695354 695355 695361 695405 695470 695540 695577 695580 695595 695600 695630 695714 699886 700282 700325 700350 700386 700431 700586 700589 700628 700632 700642 701808 702123 702149 702152 702249 702254 702269 728722 728940 729193 729258 729300 729315 729327 729328 729338 729339 729344 729360 729367 729377 729662 729665 729702 729799 730064 730246 730344 730392 730400 730404 730421 730426 730427 730430 730431 730434 730436 730452 730530 730543 730583 730585 730588 730613 740117 740166 740178 740211 740213 740214 740216 740218 740220 740221 740222 740223 740283 740287 740367 740369 740370 740413 740444 740521 740733 740798 740851 740857 740956 740958 740977 741048 741075 741135 741150 741152 741164 741170 741178 741193 741278 741320 741419 741423 741444 741463 741468 741486 741490 741498 741499 741526 741614 741622 741683 741812 741825 741847 741865 741886 741895 741937 741984 741985 741997 742045 742180 742208 742216 742296 742344 742386 742390 742392 742413 742540 742559 742819 742821 742850 742959 742962 742989 743168 743194 743195 743198 743199 743200 743204 743207 743283 743375 743487 743517 743536 743537 743563 743733 743795 743860 743866 743880 743882 743883 744042 744044 744057 744065 744206 744262 744263 744266 744327 744337 744345 744381 744406 744425 744445 744446 744470 744488 744522 744531 744598 744682 744743 744923 744924 744963 745064 745205 745209 745212 745218 745223 745318 745328 745343 745350 745363 745377 745421 745427 745448 745471 745536 745630 745646 745692 745694 745700 745713 745714 745779 745788 745836 745897 745901 745942 745944 745946 745987 746006 746007 746415 746440 746481 746483 746563 746569 746573 746576 746577 746580 746748 746751 746772 746804 746818 746823 746888 746900 746911 746950 746992 746997 747000 747031 747040 747045 747053 747060 747096 747100 747130 747171 747177 747279 747290 747295 747314 747411 747424 747524 747568 747579 747595 747600 747629 747754 747786 747791 747966 747973 747985 747986 748037 748054 748207 748221 748228 748265 748384 748425 748476 748496 748506 748533 748725 748841 748855 748856 748895 749025 749050 749073 749130 749148 749272 749303 749319 749321 749347 749355 749363 749365 749390 749410 749412 749415 749478 749495 749503 749511 749560 749606 749607 749644 749686 749688 749697 749724 749733 749734 749736 749751 749767 749780 749781 749847 749882 749883 749884 749907 749916 750032 750050 750106 750121 750122 750143 750159 750200 750201 750206 750225 750226 750258 750289 750315 750339 750388 750437 750478 750934 750981 751065 751130 751151 751167 751260 751289 751363 751429 751551 751614 751715 752094 752151 752217 752250 756100 756116 758271 760670 761105 763691 765420 765500 765577 765584 765585 766697 767876 795774 796382 796409 796462 796507 796679 805598 808126 808232 810103 810126 810134 810152 810391 810396 812138 812141 812157 812176 812190 812192 812193 812427 812428 812449 812509 812514 813207 814263 814267 814270 814334 814337 814357 814360 814361 814362 814397 814400 814409 814410 814412 814413 814427 814431 814432 814435 814446 814449 814453 814454 814539 815134 815137 815154 815155 815171 815182 815183 841026 841158 841172 841273 841296 841313 841424 841431 841449 841461 841465 841471 841472 841496 841498 841524 841529 841531 841579 841583 841584 841585 841620 841708 841785 841790 841791 841792 841809 841853 841855 841861 841869 841872 841873 841874 841877 841927 841944 841969 841992 841996 842043 842076 842077 842090 842093 842111 842140 842176 842339 842340 842341 842351 842352 842367 842378 842386 842399 842444 842472 842473 842479 842494 842495 842545 842705 842710 842860 842878 842939 843053 843079 843081 843083 843105 843144 843224 843225 843226 843228 843231 843233 843443 843447 843459 843478 843496 843504 843521 843529 843532 843533 843535 843539 843540 843551 843577 843579 843583 843585 843593 843599 843600 843630 843666 843747 843748 843750 843768 843821 843822 843825 843874 843875 843876 843877 843887 843890 843899 843991 844052 844053 844086 844088 844098 844099 844100 844212 844213 844214 844221 844230 844239 844294 844316 844317 844334 844347 844375 844376 844399 844518 844522 844601 844606 844609 844726 844757 844761 844763 844766 844767 844933 844934 844981 845027 845064 845067 845085 845565 845620 845651 845666 845672 845707 845855 845856 846179 846232 846233 846234 846273 846353 846463 846464 846535 846559 846560 846669 846670 846671 846672 846673 846676 846736 846740 846817 846856 846859 846926 846944 846959 848063 848066 848106 848131 848136 848157 848282 848356 848483 848486 848563 848586 848625 848753 849155 849160 849163 849164 849166 849170 849171 849172 849174 849178 849351 849355 849366 849377 849379 849380 849387 849390 849391 849406 849419 849428 849434 849437 849438 849440 849442 849452 849453 849456 849457 849467 849473 849476 849477 849478 849479 849480 849481 849487 849488 849496 849643 849646 849647 849648 849650 849651 849679 849689 849690 849693 849701 849704 849706 849765 849798 849842 849848 850043 850050 850054 850110 850111 850126 850154 850158 850168 850173 850226 850236 850262 850263 850265 850266 850269 850284 850291 850292 850338 850352 850358 850367 850398 850418 850455 850456 850457 850459 850492 850498 850504 850505 850510 850511 850541 850543 850544 850798 850856 850893 851059 851119 851142 851145 851160 851189 851191 851193 851194 851200 851203 851238 851248 851249 851251 851254 851266 851283 851312 851628 851648 851684 852216 852223 852228 852246 852249 852250 852252 852620 852634 852666 852669 852681 852703 852712 852713 852718 852724 852726 852732 852735 852737 852743 852747 852753 852758 852772 852775 852781 852794 852797 852808 852809 852811 852815 852826 852828 852831 852833 852839 852847 852848 853047 853073 853109 853212 853213 853245 853370 853389 853399 853481 853482 853483 853485 853723 854476 854477 854485 854522 854591 854599 854602 854604 854606 854608 854610 854619 854621 854622 854623 854624 854626 854628 854629 854630 854632 854635 854636 854637 854638 854639 854640 854643 854649 854650 854651 854652 854654 854674 856161 856199 856213 856253 856264 856288 856337 856338 856343 856374 856376 856388 856390 856391 856393 856405 856407 856409 856413 856419 856420 856432 856439 856440 856443 856949 856950 856951 856997 857015 857125 857127 857182 857208 857209 857242 857244 857299 857300 857347 857514 857515 857542 857572 857735 857736 858344 858515 859768 860073 860120 860122 860123 860124 860126 860127 860129 860287 860343 860348 860359 860371 860372 860373 860375 860377 860379 860380 860381 860382 860383 860386 860387 860388 860389 860390 860391 860392 860393 860395 860396 860397 860399 860402 860403 860410 860478 860479 860480 860482 860487 863190 863230 863238 863322 863406 863483 863554 863618 863619 863731 863735 863743 863745 863765 863766 863769 863905 863997 864052 864108 864174 864175 864233 864240 864241 864242 864243 864468 864469 864470 864472 864494 864531 864536 864561 868838 868932 869036 869661 869669 869673 869702 869703 869704 869710 869757 869765 869820 869892 869898 869904 869919 869982 869992 870057 870099 870103 870112 870183 870222 870227 870230 870270 870303 870337 870372 870459 870493 870527 870535 870556 870557 870603 870676 870721 870810 870876 870913 870957 871013 871026 871063 871070 871087 871151 871171 871187 871198 871204 871225 871236 871295 871378 871466 871664 871700 871787 871799 871803 871821 871822 871878 871879 871923 871958 871972 872003 872085 872104 872145 872178 872210 872213 872224 872229 872259 872260 872278 872310 872317 872333 872348 872361 872392 876935 876943 877050 877071 877084 877093 877130 877136 877137 877141 877143 877151 877213 877227 877233 877252 877318 877340 877341 877342 877346 877426 877439 877620 877629 877744 877751 878538 879382 879419 879425 879439 879489 883301 883304 883371 884441 885890 885924 885957 886004 886052 886114 886115 886146 886197 886378 886413 887805 887806 887841 887842 887907 887919 887947 893465 900859 906090 909298 909390 909413 909536 909593 909619 909852 909899 910013 910137 910139 911144 911379 911641 911799 911894 912478 912486 912575 912750 913832 913946 914009 914368 914674 914830 915342 915717 915846 916283 917098 917707 917872 917873 917927 918103 919581 919588 919636 919641 919650 919655 919688 919689 919719 919720 919721 919724 919865 919867 919873 919921 919925 919983 920011 920029 920086 920087 920162 920164 920167 920228 920259 920262 920263 920298 920347 920357 920391 920392 920413 920416 920418 920424 920425 920467 920500 920523 920551 920596 920603 920610 920619 920687 920692 920700 920718 920729 920739 920746 920753 935451 935546 935563 935576 935606 935730 935850 935882 936077 936221 936239 940040 940841 940842 940845 940860 940902 940923 940990 940991 941218 941220 947289 947323 947489 947631 947647 947746 947816 947817 947830 947960 948018 948092 948111 948143 948144 948145 948165 948166 948173 948203 948217 948248 948269 948292 948308 948310 948316 948323 948373 948386 948436 948455 948456 948457 948459 948461 948465 948467 948498 948499 948500 948528 948530 948531 948532 948533 948534 948545 948549 948553 948556 948558 948568 948570 948571 948572 948575 948629 948673 948675 948676 948732 948736 948769 948788 948795 948799 948838 948884 948926 948930 948934 948935 948936 948943 948944 948961 948962 948963 949035 949041 949099 949216 949219 949266 949353 949354 949363 949364 949365 949385 949591 949626 949634 949663 949696 949741 949742 949744 949766 949806 949811 949884 949912 950501 950521 950524 950534 950540 950543 950548 950554 950593 950594 950595 950617 950669 950670 950671 950682 950692 950747 950776 961644 962074 963315 963399 966644 967176 967517 967614 968612 969682 969683 969690 969697 969806 969807 971126 971144 971165 971597 971889 972337 973228 973460 994537 994577 994589 994590 994592 994608 1095947 1095950 1095958 1095960 1095963 1095969 1095976 1095977 1096021 1096024 1096041 1096042 1096051 1096076 1096117 1096120 1096153 1096193 1096200 1096236 1096240 1096244 1096279 1096288 1096294 1096326 1096333 1096411 1096415 1096416 1096430 1096435 1096489 1096492 1096534 1096537 1096613 1096649 1096650 1096670 1096695 1096697 1096698 1096702 1096716 1096741 1096745 1096816 1096817 1096829 1096833 1096840 1097300 1097362 1098212 1098736 1099872 1100421 1100616 1101350 1101425 1112158 1112181 1112228 1112229 1112230 1112273 1112342 1112352 1112389 1112420 1112431 1112434 1112438 1112446 1112449 1112453 1112507 1112508 1112614 1112617 1112642 1112653 1112682 1112730 1112760 1112772 1112785 1113679 1116141 1116142 1120724 1121427 1122356 1122630 1134564 1135462 1135474 1135476 1135491 1135493 1135555 1135563 1135615 1135626 1135809 1135928 1135929 1135976 1136070 1136071 1136072 1136075 1136076 1136080 1136094 1136095 1136096 1136099 1136122 1136149 1136201 1136203 1136212 1136213 1136214 1136220 1137028 1137094 1138412 1141891 1141931 1141935 1141958 1141969 1141978 1142085 1142118 1142135 1142192 1142218 1142316 1142325 1142346 1142412 1142465 1142466 1142504 1143160 1143770 1144661 1145643 1160922 1160949 1160964 1160972 1161002 1161037 1161041 1161044 1161049 1161063 1161074 1161075 1161080 1161117 1161139 1161154 1161195 1161197 1161201 1161229 1161230 1161232 1161236 1161237 1167687 1167708 1167730 1167768 1167780 1167781 1167841 1167944 1167954 1167956 1168146 1168157 1168178 1168216 1168306 1168307 1171175 1171176 1171177 1171178 1171179 1171181 1171182 1171186 1171188 1171189 1171194 1171195 1171198 1171199 1171200 1171206 1171207 1171208 1171209 1171215 1171218 1171221 1171257 1171324 1171330 1171337 1171367 1174741 1176467 1256642 1256761 1257928 1257990 1258045 1258861 1260336 1260543 1260866 1260974 1261003 1261004 1261005 1261016 1261111 1261133 1261209 1261225 1261290 1261291 1261298 1261306 1261311 1261312 1261340 1261361 1261362 1261373 1261381 1261382 1261465 1261558 1261559 1261561 1261563 1261965 1261985 1262070 1262153 1262154 1262163 1262187 1262201 1262302 1262684 1266824 1266828 1266845 1268934 1269527 1269689 1269713 1270802 1270918 1270937 1270947 1270948 1270953 1270970 1270989 1270997 1271032 1271035 1271447 1272248 1272257 1272331 1272344 1272406 1272407 1272624 1272633 1272635 1272853 1273387 1273404 1273412 1273428 1273432 1273483 1273550 1273551 1273556 1273696 1273715 1273761 1273861 1273956 1273960 1274010 1274136 1274138 1274143 1274144 1275602 1275660 1275681 1275682 1275688 1275713 1275733 1275737 1276154 1276362 1276363 1276386 1276390 1276393 1276404 1276412 1276413 1276417 1276419 1277285 1277289 1278419 1278440 1278444 1278451 1278453 1278454 1278456 1278678 1278722 1278741 1278748 1278848 1279249 1279393 1279394 1279739 1279746 1279748 1279800 1279809 1279811 1279952 1280473 1280722 1280830 1280869 1280902 1280903 1281543 1281603 1282272 1282273 1282276 1282295 1282361 1282523 1282524 1282573 1282893 1282932 1282959 1283011 1283023 1283040 1283066 1283070 1283071 1283072 1283081 1283088 1283095 1283175 1283195 1283248 1283820 1283827 1285147 1285158 1285224 1285354 1285440 1285520 1288276 1288284 1292806 1292825 1292851 1292856 1292933 1293029 1293097 1293107 1293108 1293110 1293115 1293121 1293122 1293123 1293124 1293130 1293131 1293132 1293134 1293136 1293138 1293139 1293143 1293152 1293156 1293164 1293166 1293179 1293181 1293184 1293185 1293186 1293187 1293188 1293190 1293191 1293192 1293193 1293198 1293200 1293202 1293205 1293206 1293213 1293217 1293219 1293231 1293232 1293234 1293242 1293243 1293256 1293257 1293258 1293259 1293260 1293262 1293270 1293277 1293280 1293281 1293282 1293283 1293284 1293285 1293286 1293294 1293298 1293301 1293302 1293303 1293304 1293305 1293321 1293323 1293338 1293340 1293341 1293344 1293345 1293346 1293347 1293349 1293350 1293353 1293354 1293357 1293358 1293359 1293360 1293361 1293362 1293364 1293368 1293382 1293385 1293386 1293390 1293391 1293392 1293393 1293394 1293396 1293397 1293398 1293424 1293425 1293440 1293441 1293442 1293443 1293444 1293445 1293476 1293484 1293490 1293493 1293494 1293499 1293500 1293501 1293504 1293505 1293506 1293509 1293510 1293513 1293514 1293516 1293517 1293528 1293529 1293530 1293533 1293534 1293538 1293540 1293541 1293542 1293543 1293544 1293555 1293556 1293561 1293563 1293565 1293566 1293567 1293596 1293597 1293598 1293599 1293601 1293614 1293615 1293617 1293618 1293620 1293621 1293624 1293625 1293626 1293627 1293628 1293631 1293634 1293635 1293636 1293642 1293644 1293646 1293648 1293649 1293655 1293660 1293664 1293670 1293672 1293673 1293676 1293681 1293683 1293687 1293694 1293695 1293697 1293698 1293702 1293712 1293714 1293718 1293720 1293721 1293722 1293724 1293726 1293727 1293730 1293734 1293738 1293741 1293743 1293744 1293750 1293751 1293761 1293764 1293765 1293766 1293773 1293774 1293775 1293783 1293784 1293786 1293787 1293788 1293789 1293790 1293791 1293792 1293793 1293804 1293808 1293809 1293815 1293816 1293818 1293821 1293828 1293907 1297885 1297889 1298674 1298726 1298802 1298805 1299207 1299353 1299379 1299508 1299561 1299575 1299597 1299622 1299682 1299692 1299802 1300130 1300200 1300300 1300313 1300317 1300323 1301225 1301299 1301400 1301494 1301508 1301512 1301519 1301522 1301619 1301643 1301699 1301722 1301770 1301784 1301792 1301833 1301847 1301849 1301872 1301912 1301914 1301920 1302035 1302105 1302112 1302144 1302166 1302181 1302189 1303042 1303083 1303120 1303140 1303145 1303150 1303151 1303192 1304542 1304648 1304650 1304699 1304870 1304878 1304879 1304888 1304898 1305388 1305850 1305863 1306232 1306344 1306350 1306465 1306466 1306541 1306542 1306560 1306561 1306815 1313898 1313954 1315028 1318213 1318453 1318456 1318457 1318469 1318473 1318960 1319002 1319073 1319075 1319189 1319232 1319234 1319235 1319236 1319421 1319428 1319797 1319798 1319823 1319847 1320204 1320205 1320373 1320374 1320526 1320678 1320715 1320719 1320746 1320783 1320787 1320854 1320906 1320937 1320938 1320939 1321007 1321035 1321058 1321145 1321323 1321343 1321916 1322279 1327727 1327728 1328010 1328050 1328288 1328346 1328354 1328368 1328490 1328526 1328527 1328580 1328826 1328873 1328879 1328915 1328954 1330962 1330963 1331107 1368825 1369038 1377996 1384499 1384586 1384591 1384596 1384599 1384684 1434231 1435322 1435925 1441678 1442568 1442610 1443284 1443315 1443395 1443562 1443861 1443867 1443869 1443870 1443873 1443919 1443920 1443921 1444012 1444159 1444339 1444345 1444357 1444614 1444615 1444616 1444618 1444620 1444677 1444679 1444682 1444685 1444686 1444687 1444755 1444756 1444805 1445891 1445893 1445904 1445906 1445913 1446230 1446301 1446530 1448477 1449706 1449708 1449709 1449939 1451036 1455670 1455681 1455684 1455743 1455863 1455870 1455904 1455905 1456029 1456094 1456099 1456554 1456555 1456566 1456587 1456647 1456826 1504335 1504339 1504362 1504374 1504389 1504428 1504429 1504430 1504458 1504473 1504484 1504490 1504552 1504948 1506405 1510425 1510538 1510552 1510559 1510562 1510563 1510564 1510571 1510597 1510601 1510606 1510711 1510857 1510984 1510998 1511137 1511139 1511146 1511149 1511220 1511237 1511296 1511300 1511484 1511496 1511497 1511519 1511562 1511764 1511790 1512034 1512081 1512291 1512363 1512429 1512442 1512552 1512558 1512721 1512770 1512814 1512884 1512916 1512920 1512949 1513054 1513305 1513312 1513378 1513784 1513793 1514120 1514128 1514144 1514239 1514278 1514388 1514396 1514470 1514496 1514620 1514710 1514711 1514807 1514818 1514832 1515035 1515075 1515119 1515885 1515985 1516028 1516218 1516219 1516245 1516276 1516386 1516462 1516635 1516742 1516875 1516999 1517030 1517033 1517281 1517303 1517560 1517570 1517606 1517722 1517885 1517925 1518010 1518063 1518137 1518264 1518592 1518717 1518850 1518963 1518989 1519011 1519033 1519081 1519225 1519252 1519552 1519559 1519560 1519564 1519578 1519596 1519630 1519639 1519746 1519770 1519955 1520111 1520143 1521745 1521750 1522015 1522415 1522449 1522464 1522614 1524011 1524020 1524048 1524082 1527075 1527077 1527222 1527283 1527385 1527386 1531518 1531520 1531580 1531599 1531698 1531790 1531791 1531950 1532122 1532142 1532273 1532296 1532297 1532302 1532338 1532364 1532365 1532401 1532403 1532414 1532479 1532734 1532765 1532786 1532953 1532956 1533025 1533031 1533034 1533088 1533146 1533173 1533595 1533605 1533607 1533611 1533613 1533614 1533621 1533658 1533661 1533662 1533664 1533665 1533670 1533677 1533685 1533705 1533734 1534490 1534726 1535502 1535528 1535578 1535597 1535850 1535890 1535909 1535920 1535921 1535924 1535925 1535928 1535931 1535936 1535955 1535956 1536064 1536072 1536078 1536129 1536142 1536162 1536175 1536181 1536187 1536338 1536400 1536401 1536409 1536428 1536461 1536478 1536479 1536570 1536601 1536613 1536864 1536865 1537004 1537014 1537038 1537073 1540637 1541277 1541279 1541282 1541283 1541582 1541822 1542047 1542549 1542551 1550102 1550105 1550106 1550107 1550571 1550572 1561754 1561927 1562102 1562129 1562158 1562198 1562203 1562226 1562317 1562398 1562442 1562466 1562506 1562514 1562531 1562605 1562615 1562625 1562629 1562683 1562708 1562720 1562727 1562800 1562888 1562924 1562991 1562999 1563156 1563173 1563214 1563216 1563222 1563226 1563236 1563287 1563729 1563737 1563738 1563919 1564272 1564655 1564657 1566496 1566600 1566879 1567676 1570730 1571809 1579958 1608241 1608377 1608407 1608424 1608431 1608952 1608972 1608976 1608985 1608989 1609480 1609497 1609503 1609514 1609522 1610072 1610075 1610084 1610261 1610597 1610633 1611149 1611715 1611736 1619693 1619703 1619728)\n(131 742 1417 1483 1489 1490 1491 1749 1753 1892 2017 2331 2405 3060 3530 3725 3755 4120 4418 4419 4420 4422 4423 4425 4429 4651 5670 5867 6024 6063 6069 6072 6074 6322 6394 6395 6562 6752 6755 6861 7456 7949 8047 8056 8112 8147 9311 9401 9419 9743 10076 10233 10242 10243 10247 10825 11139 11220 11313 11315 12755 12917 12923 13480 13531 13532 13534 13590 14045 14046 14047 14048 14049 14050 14051 14052 14080 14338 14383 14384 14644 14656 14662 14663 14665 14666 14667 14668 14760 15763 15764 15766 15767 16215 16515 16630 16720 17161 18125 18252 18611 18895 19089 19090 19092 19094 19132 19160 19169 19171 19180 19183 19185 19186 19351 19369 19376 19378 19381 19682 19704 19707 19842 20094 20099 20121 21333 21335 21336 21338 21344 21574 22075 22338 22369 22551 22722 22811 22858 22921 23002 23093 23104 23336 23500 24026 24107 24267 24662 24787 24794 24832 24864 25011 25279 26180 26181 26200 26394 26398 26399 26432 26433 26577 26626 26630 26631 26783 26808 26911 26979 27150 27160 27346 27610 27984 28422 28586 28996 29017 29020 29200 29341 29343 29344 29345 29347 29348 29349 30358 30390 30391 30392 30393 30465 30531 30617 31254 31298 31299 31301 31303 31886 32092 32373 32556 32859 32868 33840 34492 34497 34725 35111 35113 35236 35366 35414 35473 35614 35638 35674 35691 35866 35870 35880 35924 36123 36238 36636 36638 36990 36991 37137 37141 37144 37170 37224 37340 37356 37994 38102 38163 38344 38975 39202 39258 40333 40360 42216 42338 42565 42566 42587 42761 42776 42803 43125 43384 43396 51223 79005 79031 79033 79082 79337 79338 79500 79506 79571 79679 79936 79938 79940 79947 80133 80134 80153 80155 80180 84126 85150 85266 85274 85294 85305 85377 85381 85391 85512 85883 85925 86070 86097 86114 86229 86384 86427 86459 86645 86776 86943 86971 87058 162332 162333 162334 162540 162541 162543 162544 162545 162546 162547 162548 162570 162571 162573 175770 205652 205660 205661 205662 205676 205725 205762 205790 205809 205811 205891 205933 205934 205935 205936 205937 205939 206037 206038 206041 206043 206179 206259 206261 206262 206264 206265 206266 206267 206268 206271 206272 206273 206274 206276 206346 206348 206349 206350 206352 206375 206376 206377 206378 206379 206380 206381 206382 206387 206388 206389 206390 206391 206392 206393 206394 206395 206396 206397 206399 206400 206401 206402 206403 206404 206406 206407 206409 206410 206411 206412 206413 206418 206419 206421 206422 206423 206424 206425 206426 206433 206434 206435 206437 206438 206439 206440 206444 206447 206452 206462 206464 206465 206466 206467 206468 206469 206470 206485 206496 206497 206498 206505 206506 206507 206508 206509 206510 206519 206531 206532 206533 206534 206536 206537 206538 206539 206540 206541 206542 206543 206544 206545 206546 206547 206548 206549 206550 206551 206555 206556 206557 206558 206559 206560 206561 206562 206563 206564 206569 206570 206571 206572 206573 206574 206575 206576 206577 206580 206583 206584 206585 206590 206591 206592 206593 206596 206598 206679 206748 206749 220847 238283 242169 242593 242924 282472 300964 302606 318356 318357 318370 318380 318385 318388 318389 318390 318391 318392 318393 318398 318405 318416 318417 318419 318428 318431 318432 318451 318458 318459 318460 318461 318467 318468 318469 318472 318473 318476 318481 318482 318483 318484 318506 318554 318556 318583 318584 318585 318586 318587 318593 318594 318598 318599 318600 318601 318602 318605 318609 318613 318614 318615 318619 318627 318629 318633 318636 318637 318639 318640 318645 318646 318649 318651 318659 318662 318665 318666 318667 318675 318677 318678 318679 318680 318681 318682 318683 318685 318687 318688 318689 318690 318691 318692 318694 318695 318696 318697 318698 318699 318701 318702 318703 318705 318706 318709 318711 318715 318716 318717 318718 318719 318720 318721 318723 318724 318729 318730 318731 318733 318734 318735 318736 318738 318739 318740 318741 318742 318743 318744 318745 318746 318748 318749 318750 318751 318755 318759 318760 318761 318762 318764 318765 318768 318769 318770 318771 318772 318773 318774 318775 318776 318777 318778 318779 318780 318782 318783 318785 318786 318787 318788 318789 318791 318792 318793 318795 318796 318798 318800 318804 318807 318809 318810 318811 318812 318813 318814 318815 318816 318819 318826 318829 318830 318831 318834 318835 318837 318839 318842 318848 318849 318851 318853 318855 318856 318858 318859 318861 318865 318872 318874 318875 318876 318877 318878 318879 318880 318885 318888 318890 318892 318894 318896 318897 318900 318901 318902 318903 318904 318906 318907 318916 318918 318920 318934 318936 318937 318939 318944 318946 318947 318949 318950 318953 318961 318962 318963 318964 318965 318977 318978 318992 318993 319005 319008 319010 319013 319015 319016 319017 319021 319022 319026 319036 319037 319038 319039 319041 319042 319043 319044 319045 319051 319052 319054 319064 319065 319066 319067 319070 319071 319072 319074 319075 319076 319077 319078 319084 319087 319089 319090 319091 319094 319103 319106 319109 319111 319113 319114 319115 319116 319117 319118 319119 319120 319121 319122 319123 319124 319125 319126 319127 319128 319132 319135 319136 319137 319138 319139 319141 319142 319143 319145 319146 319147 319148 319150 319151 319153 319156 319157 319158 319160 319161 319163 319164 319165 319166 319167 319168 319169 319170 319171 319172 319174 319175 319176 319177 319178 319179 319182 319184 319194 319198 319199 319200 319203 319204 319205 319206 319207 319208 319209 319210 319211 319212 319215 319216 319218 319219 319220 319221 319223 319224 319225 319226 319227 319228 319229 319230 319232 319237 319238 319239 319240 319242 319245 319246 319248 319249 319250 319254 319257 319260 319261 319262 319263 319264 319266 319269 319270 319273 319274 319275 319278 319281 319282 319290 319291 319293 319299 319310 319311 319314 319315 319317 319319 319321 319322 319330 319331 319332 319333 319334 319340 319346 319348 319357 319360 319361 319368 319371 319372 319390 319446 319449 319450 319452 319454 319455 319456 319457 319460 319461 319467 319468 319469 319474 319475 319476 319478 319480 319482 319486 319489 319491 376311 376324 376325 376363 376406 376417 376419 376421 376423 376424 376453 376454 376455 376456 376457 376458 376459 376460 376462 376463 376464 376465 376467 376468 376469 376470 376471 376472 376473 376474 376475 376476 376477 376479 376482 376483 376488 376489 376490 376497 376501 376503 376504 376505 376521 376526 376535 376536 376573 376574 376576 376577 446146 446147 446150 446167 446168 446169 446172 446173 446175 446176 446178 446180 446184 459983 486284 520476 520498 520499 520500 520501 520502 520503 522424 524609 544179 544188 544190 544193 544196 544198 544200 544201 544209 544210 544211 544212 544214 544220 544231 544233 544234 544235 544236 544237 544239 546153 546788 546798 563245 563249 563252 563254 563255 563259 563266 589088 596828 596883 597065 597080 597363 597404 597602 597803 597805 597806 597807 597905 597980 597983 598035 598036 598037 598201 598202 598203 598204 598206 598260 598318 598319 598335 598376 598472 598473 598475 598580 598583 598590 598691 598743 598883 598902 598907 598971 599041 599079 599168 599178 599185 599301 599304 599309 599310 599311 599312 599348 599349 599350 599351 599355 599359 599361 599362 599363 599364 599365 599367 599368 599369 599370 599373 599374 599379 599380 599566 599578 599579 599603 599614 600289 678040 682451 682453 682454 682455 682456 682458 682459 682460 682463 687737 700073 702091 729670 729678 729680 729756 729757 751661 751662 751672 751673 872116 872119 872124 877837 882630 882681 883010 883061 883424 883430 884118 884162 884210 884323 887881 887914 887938 887939 917727 920426 920427 920507 920557 935640 936017 936087 936088 936089 949286 949295 949296 949334 949342 949355 949468 949482 949483 949484 949493 949508 949509 949510 949512 949514 949521 949522 949525 949526 949529 949530 949531 949532 949533 949535 949536 949537 949538 949539 949540 949548 949549 949551 949552 949553 949554 949556 949557 949575 949576 949578 949580 949711 949713 949714 949715 949716 949717 949724 949725 949730 949731 949767 949792 949793 949858 949859 949880 949881 949882 949883 949893 949894 949895 949896 949907 949908 949909 949910 949913 949914 949919 949920 949921 949922 949923 949925 949926 949928 949929 949930 949934 949940 949945 950043 950044 950093 950094 950102 950103 950104 950105 950111 950113 950116 950117 950118 950119 950120 950125 950126 969632 969633 969652 969654 969661 969665 969666 969667 969694 969751 969752 971862 971867 971868 999760 999761 999762 999763 999764 999765 999766 999767 999769 999770 999771 999773 999774 999775 999776 999778 999779 999780 999782 999783 999784 999786 999789 999790 999796 999797 999799 999800 999802 999803 999806 999807 999808 999809 999810 999811 999812 999813 999814 999817 999818 999819 999820 999821 999822 999823 999826 999827 999832 999834 999835 999836 999837 999838 999839 999841 999842 999843 999844 999846 999849 999850 999851 999852 999853 999854 999856 999857 999858 999859 999860 999861 999862 999866 999869 999870 999871 999872 999874 999875 999876 999878 999879 999880 999881 999882 999883 999884 999885 999887 999888 999891 999893 999894 999895 999899 999900 999903 999904 999905 999906 999907 999908 999909 999911 999913 999914 999916 999917 999918 999919 999920 999921 999922 999923 999924 999925 999926 999927 999928 999929 999931 999932 999934 999937 999941 999944 999945 999946 999951 999953 999960 999967 999968 999969 999970 999971 999977 999978 999979 999980 1000186 1000187 1000189 1000197 1000198 1000199 1000200 1000201 1000205 1000206 1000209 1000210 1000217 1000218 1000224 1000225 1000227 1000228 1000230 1000235 1000238 1000241 1000242 1000244 1000247 1000249 1000250 1000254 1000255 1000256 1000259 1000260 1000266 1000268 1000269 1000270 1000271 1000272 1000274 1000275 1000276 1000278 1000279 1000281 1000282 1000283 1000285 1000286 1000289 1000290 1000291 1000292 1000293 1000294 1000295 1000296 1000297 1000298 1000300 1000301 1000302 1000303 1000304 1000305 1000306 1000307 1000308 1000309 1000310 1000312 1000313 1000315 1000317 1000318 1000320 1000321 1000322 1000323 1000324 1000325 1000326 1000327 1000328 1000329 1000330 1000331 1000332 1000333 1000334 1000335 1000336 1000337 1000338 1000339 1000340 1000341 1000342 1000343 1000344 1000345 1000346 1000347 1000348 1000349 1000350 1000351 1000352 1000353 1000354 1000355 1000356 1000358 1000359 1000360 1000361 1000362 1000363 1000364 1000366 1000367 1000368 1000369 1000371 1000372 1000374 1000378 1000379 1000380 1000381 1000382 1000385 1000388 1000393 1000400 1000401 1000402 1000407 1000408 1000413 1000416 1000417 1000418 1000419 1000421 1000423 1000424 1000425 1000426 1000428 1000431 1000432 1000434 1000435 1000437 1000441 1000442 1000445 1000448 1000449 1000450 1000451 1000453 1000456 1000457 1000458 1000459 1000460 1000461 1000462 1000463 1000464 1000466 1000467 1000469 1001954 1001958 1001959 1001960 1001961 1001967 1001970 1001971 1001972 1001976 1001977 1001978 1001979 1001981 1001982 1001983 1001984 1001985 1001987 1001989 1001990 1001992 1002305 1002310 1002562 1002563 1002564 1002565 1002566 1002568 1002570 1002571 1002572 1002573 1003688 1003689 1003690 1003691 1003693 1003695 1003696 1003697 1003698 1003700 1003701 1003702 1003711 1003714 1003721 1003726 1003728 1003730 1003731 1003732 1003733 1003734 1003735 1003736 1003737 1003738 1003739 1003740 1003741 1003743 1003744 1003745 1003840 1004252 1004253 1004258 1004261 1004262 1004263 1004264 1004664 1004665 1004667 1004676 1004678 1004679 1004680 1004683 1004684 1004686 1005545 1005547 1005551 1005555 1005556 1005558 1005560 1005561 1005563 1005565 1005566 1005567 1005568 1005569 1005571 1005572 1005575 1005577 1005579 1005582 1005587 1005589 1005591 1005592 1005593 1005594 1005595 1005700 1006212 1006216 1006218 1006219 1006226 1006228 1006231 1006232 1006240 1006246 1006640 1006642 1006643 1006646 1006647 1006648 1006650 1006651 1006653 1006777 1006937 1007003 1007051 1007055 1007182 1007188 1007189 1007219 1007229 1007248 1007333 1007406 1007942 1007974 1007975 1007998 1008191 1008204 1008205 1008206 1008216 1008336 1008337 1008369 1008397 1008398 1008399 1008401 1008405 1008406 1008409 1008424 1008444 1008537 1008556 1008579 1008756 1008759 1008761 1008805 1008900 1008902 1008912 1008913 1008981 1008987 1009001 1009185 1009477 1009511 1009512 1009656 1009681 1009718 1009719 1009788 1009886 1009888 1009953 1009986 1010316 1010347 1010348 1010411 1010432 1010452 1010454 1010542 1010550 1010625 1010938 1010940 1010996 1010998 1010999 1011410 1011501 1011502 1011503 1011632 1011751 1011752 1011834 1011846 1011911 1011958 1011975 1011981 1011982 1011998 1012096 1012334 1012339 1012482 1012549 1012619 1012629 1012744 1012933 1012934 1013029 1013152 1013158 1013207 1013266 1013268 1013269 1013454 1013462 1013497 1013578 1013622 1013624 1013625 1013626 1013640 1013812 1013813 1013827 1014136 1014254 1014332 1014408 1014536 1014960 1015018 1015227 1015229 1015653 1015717 1015718 1015719 1015912 1015924 1015929 1015951 1016103 1016147 1016148 1016150 1016463 1016555 1016654 1016663 1017042 1017049 1017052 1017063 1017067 1017074 1017210 1017212 1017214 1017343 1017398 1017747 1017759 1017941 1018465 1018466 1018789 1018790 1018815 1018951 1019050 1019103 1019124 1019501 1019547 1019600 1019731 1019826 1019931 1020027 1020057 1020179 1020183 1020184 1020254 1021420 1021576 1021578 1021718 1021729 1021770 1021771 1021886 1022235 1022970 1023206 1023220 1023221 1024304 1024350 1024540 1024643 1024661 1024662 1024666 1024670 1024879 1025310 1025340 1025370 1025549 1025782 1025791 1026103 1026188 1026286 1026524 1026536 1026609 1026615 1026616 1026923 1026924 1026933 1027034 1027079 1027160 1027555 1027556 1027758 1027767 1027789 1027857 1027866 1027956 1028110 1028175 1028239 1028240 1028391 1028498 1028688 1028759 1029130 1029173 1029397 1029509 1029559 1029806 1029808 1030006 1030019 1030065 1030067 1030441 1030570 1030599 1030633 1030691 1030740 1031088 1031344 1031420 1031421 1031519 1031623 1031775 1031998 1032245 1032310 1032540 1032695 1032743 1032744 1032748 1032854 1032996 1033034 1033186 1033869 1034054 1034125 1034127 1034153 1034865 1035097 1035349 1035687 1036006 1036087 1036290 1036304 1036324 1036325 1036898 1037539 1037540 1037541 1037611 1037612 1038214 1038747 1038775 1038959 1039433 1039753 1039758 1039857 1040101 1040385 1040645 1040647 1040694 1040886 1041133 1041205 1041206 1041448 1041671 1041844 1042132 1042265 1042424 1042690 1043004 1043544 1043558 1043621 1043770 1043785 1043948 1044154 1044545 1044631 1045020 1045494 1045655 1045724 1045875 1046093 1046096 1046402 1046421 1046487 1046492 1046528 1046951 1046965 1047031 1047447 1047448 1047618 1047846 1047901 1047902 1047903 1047945 1047962 1048001 1048311 1048316 1048452 1049676 1050017 1050028 1050117 1050528 1051145 1051302 1051737 1051830 1051957 1052575 1052809 1052894 1053087 1053088 1053089 1053252 1053359 1053828 1053968 1054493 1054605 1054636 1054638 1055212 1055298 1055299 1055346 1056100 1056473 1056474 1057134 1057135 1057151 1057153 1057158 1057287 1057473 1057592 1057710 1057759 1057955 1057959 1058504 1058843 1059537 1059647 1060690 1061010 1061070 1061217 1061477 1061520 1062140 1062207 1062216 1062217 1062312 1062314 1062474 1062576 1062577 1062582 1062658 1062659 1062668 1062727 1062953 1062954 1063060 1063197 1063458 1064058 1064684 1064883 1064974 1064994 1065162 1065189 1065501 1065555 1065772 1065809 1066251 1066451 1066657 1066980 1067141 1067449 1067900 1067901 1068031 1068686 1068687 1068703 1068818 1069175 1069669 1069685 1069851 1070251 1070328 1070335 1070399 1070522 1070523 1070856 1071062 1071338 1071409 1071594 1071595 1071678 1071727 1071840 1072774 1072791 1072852 1072984 1073250 1073616 1073617 1073656 1073657 1073960 1074177 1074525 1074600 1074601 1074747 1074840 1074956 1075093 1075213 1075300 1075727 1075736 1077093 1077173 1078152 1078403 1078593 1078787 1079186 1079214 1079231 1079232 1079471 1079475 1079534 1079894 1079895 1080459 1081208 1081209 1081210 1081211 1081215 1081216 1081217 1081243 1081244 1081245 1081246 1081250 1081251 1081252 1081253 1081254 1081255 1081256 1081258 1081259 1081260 1081263 1081264 1081267 1081703 1081704 1081787 1081847 1081950 1082081 1082082 1082087 1082115 1082295 1082297 1082335 1082587 1082715 1082767 1082807 1082819 1082947 1083034 1083038 1083329 1083376 1084083 1084201 1084351 1084434 1084810 1084909 1084948 1085287 1085473 1085622 1085628 1086020 1086068 1086210 1086288 1086321 1086460 1086611 1086789 1086911 1087049 1087185 1087195 1087535 1087806 1088016 1088386 1088399 1088411 1088475 1088652 1089136 1089174 1089324 1089827 1090094 1090137 1090355 1090421 1090509 1090698 1090731 1090735 1090841 1091162 1092085 1092150 1092336 1092439 1092678 1093045 1093046 1093047 1093048 1093055 1093056 1093214 1093215 1093267 1093316 1093665 1093723 1093811 1093929 1093940 1093999 1094063 1094092 1094157 1094577 1094635 1113681 1136253 1145669 1148555 1175743 1176457 1187073 1187074 1187076 1187078 1187081 1187103 1187227 1187240 1187264 1187446 1187503 1187536 1187854 1188351 1189820 1190048 1190213 1190392 1191554 1192200 1192287 1193041 1193744 1193793 1194388 1194523 1194617 1195077 1195292 1195297 1195563 1196538 1196546 1196678 1196707 1197533 1197537 1197673 1198019 1198189 1198823 1198829 1198832 1198878 1198946 1198993 1199005 1199006 1199014 1199053 1199056 1199304 1199468 1200122 1200354 1200526 1200847 1201813 1202460 1203440 1203443 1203888 1205033 1205078 1205079 1205378 1205628 1205681 1205682 1205893 1206070 1206071 1206072 1206102 1206180 1206584 1208150 1208505 1208985 1208986 1209201 1209719 1209720 1209766 1209814 1209815 1209816 1209817 1209818 1209819 1209821 1209839 1209844 1209845 1209937 1209938 1210106 1210126 1210255 1210351 1210455 1210456 1210532 1210533 1210534 1210617 1211502 1211812 1211829 1212070 1212223 1212635 1212917 1212918 1212928 1212930 1213122 1213123 1213124 1213429 1213446 1213692 1214005 1214067 1214195 1214218 1214219 1214220 1214229 1214783 1215015 1215121 1215307 1215466 1215467 1216313 1216330 1216531 1216700 1216701 1216704 1216705 1217668 1217694 1217707 1217709 1217710 1218146 1218729 1218734 1218959 1219002 1219098 1219255 1219668 1219710 1219891 1219985 1219986 1220376 1220459 1221189 1221384 1221820 1221821 1221822 1222018 1222019 1222379 1222848 1222862 1223236 1223248 1223285 1223741 1223751 1223753 1223755 1223849 1224110 1224227 1224353 1224408 1224415 1224433 1224714 1224716 1224804 1224868 1225182 1225340 1225544 1225771 1226635 1226688 1226799 1226800 1226900 1227418 1227493 1229119 1229250 1229561 1229614 1230230 1230253 1230266 1230417 1230436 1230443 1230630 1230667 1230696 1231069 1231070 1231246 1231262 1231438 1231785 1231826 1231827 1231830 1231979 1232177 1232178 1232179 1232181 1232184 1232186 1232187 1232188 1232192 1232196 1232198 1232199 1232201 1232203 1232206 1232207 1232510 1232660 1232700 1232727 1233139 1233191 1233611 1234164 1234165 1234255 1234581 1234715 1234716 1234717 1235054 1235143 1235144 1235145 1235731 1258014 1258015 1260939 1261191 1265372 1265373 1265375 1265377 1265378 1265379 1265380 1265381 1265382 1265385 1265386 1265388 1300302 1300303 1304600 1304619 1317473 1317483 1318703 1318704 1318709 1318712 1319857 1319861 1319870 1319881 1319931 1319932 1319933 1319937 1319939 1319951 1319952 1320146 1320227 1321775 1328925 1328963 1328965 1331054 1440173 1440175 1440201 1440502 1440503 1440504 1440505 1440506 1440507 1440508 1440509 1440511 1440513 1440514 1440515 1440516 1440517 1440537 1440564 1440571 1440575 1440576 1440577 1440578 1440579 1440582 1440591 1440599 1440600 1440601 1440665 1440692 1440694 1440695 1440696 1440733 1440769 1440784 1440786 1440790 1440791 1440794 1440798 1440800 1440802 1440814 1440816 1441038 1441039 1441047 1441099 1441100 1441101 1441139 1444092 1449642 1449643 1449645 1449648 1449649 1449650 1456463 1457865 1458265 1458293 1458323 1458666 1459291 1460078 1460572 1460712 1461646 1461649 1462017 1462407 1462586 1462641 1463474 1463537 1463707 1463708 1463898 1464313 1465255 1465621 1465622 1465757 1466126 1466211 1467098 1467326 1467468 1467469 1467471 1468472 1468801 1469325 1470031 1470394 1470395 1470456 1470636 1470637 1472138 1472139 1472606 1473345 1474171 1474518 1474796 1474850 1476058 1476322 1476325 1476405 1476407 1476593 1476650 1477008 1477010 1477012 1477064 1477233 1477235 1477896 1477944 1478004 1478437 1478509 1478824 1479226 1479290 1479463 1479694 1481067 1481132 1481993 1482339 1483391 1483794 1483953 1484870 1485102 1485740 1485943 1485976 1486096 1486429 1488335 1489080 1489254 1489766 1490977 1491083 1491112 1491364 1491365 1491783 1491885 1493203 1493983 1494281 1494640 1494644 1494820 1494845 1494973 1495732 1495832 1496164 1496166 1497315 1497559 1497792 1497793 1497794 1497920 1497991 1498008 1498052 1498081 1498586 1498682 1498827 1498828 1498831 1499075 1499137 1499165 1499166 1499393 1500791 1501363 1503051 1503249 1503271 1503441 1503442 1503451 1503927 1510466 1510658 1510995 1512048 1512261 1512716 1513408 1514432 1514636 1517745 1518095 1518831 1519356 1521966 1527239 1532266 1533723 1562144 1562330 1562345 1562668 1562676 1563125 1563246 1564874 1609672 1612293 1612845 1613396 1613950 1614502 1615053 1615607 1620282)\n(132 343 473 1040 3968 5575 6657 6674 6709 7258 8318 9156 9213 12299 12328 14705 16410 16598 17054 20316 20337 21547 23413 23791 25270 27996 28027 28049 30242 30314 30342 31862 33997 34263 34266 34268 34272 34392 35331 35527 39669 39840 39845 39848 39853 40642 42839 42845 42849 42866 42874 42878 42890 44410 46682 53396 56559 57090 57370 57610 65844 65932 65933 65936 67138 72819 73109 73115 77410 78373 78375 78379 78381 78382 84980 86024 86308 86605 86709 87096 87161 87162 87163 101739 115296 122874 127516 148373 167620 178487 178638 178731 178793 206828 249582 259753 259754 280123 281666 290026 301532 301542 304915 305578 309049 309311 312532 443766 520456 522273 535968 591729 597667 598186 616267 625741 628462 682742 699376 699465 700484 700496 701064 718133 718674 718778 719053 719058 719214 719575 720360 721591 722389 722728 722767 723685 723905 731033 770309 770962 772413 805413 815051 887557 896117 911722 912026 912567 949647 965472 966846 969677 1122205 1137765 1173774 1323100 1453926 1520059 1571357 1608780 1615526)\n(133 33271 42567 206334 324044 324045 600529 1328859 1480907 1480908)\n"
  },
  {
    "path": "attic/code/semmed-index-predicate.rkt",
    "content": "#lang racket/base\n(require\n  \"edge.rkt\"\n  racket/file\n  )\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(SEMMED_DIR))\n\n(define semmed-dir (vector-ref argv 0))\n(define ebs-detail-file (build-path semmed-dir \"edge-by-subject/detail.bin\"))\n(define ebp-dir (build-path semmed-dir \"edge-by-predicate\"))\n(define index-file (expand-user-path (build-path ebp-dir \"index.scm\")))\n(define detail-file (expand-user-path (build-path ebp-dir \"detail.bin\")))\n\n(make-directory* (expand-user-path ebp-dir))\n\n(define (ebp-key<? a b)\n  (or (< (vector-ref a 0) (vector-ref b 0))\n      (and (= (vector-ref a 0) (vector-ref b 0))\n           (or (< (vector-ref a 1) (vector-ref b 1))\n               (and (= (vector-ref a 1) (vector-ref b 1))\n                    (< (vector-ref a 2) (vector-ref b 2)))))))\n\n(define (edges-index in-detail out-index out-detail)\n  (define ebp (for/fold ((edges (hash)))\n                        ((e-bytes (read-edge-bytes-all/stream in-detail)))\n                        (define e (bytes->edge e-bytes))\n                        (define key (vector (edge-predicate e)\n                                            (edge-src-type e)\n                                            (edge-dst-type e)))\n                        (hash-set edges key\n                                  (cons e-bytes (hash-ref edges key '())))))\n  (printf \"Processing ~s edge buckets\\n\" (hash-count ebp))\n  (for/fold ((offset 0))\n            ((key (in-list (sort (hash-keys ebp) ebp-key<?))))\n            (define e* (reverse (hash-ref ebp key)))\n            (for ((e e*)) (write-bytes e out-detail))\n            (fprintf out-index \"~s\\n\" (cons key offset))\n            (+ offset (* edge-byte-size (length e*)))))\n\n(define (call-with-?-files cw?f paths proc)\n  (let loop ((paths paths) (ports '()))\n    (if (null? paths) (apply proc (reverse ports))\n      (cw?f (car paths)\n            (lambda (port) (loop (cdr paths) (cons port ports)))))))\n(define (call-with-output-files paths proc)\n  (call-with-?-files call-with-output-file paths proc))\n\n(time (call-with-output-files\n        (list index-file detail-file)\n        (lambda (out-index out-detail)\n          (call-with-input-file\n            (expand-user-path ebs-detail-file)\n            (lambda (in) (edges-index in out-index out-detail))))))\n"
  },
  {
    "path": "attic/code/study-dfo-raynaud.rkt",
    "content": "#lang racket\n(require\n  \"db.rkt\"\n  \"concept.rkt\"\n  \"edge.rkt\"\n  )\n\n(define dfo* (fuzzy-name*->concept* concept* '(\"fish\" \"oil\") #t))\n(define raynaud* (fuzzy-name->concept* concept* \"raynaud\" #t))\n\n(define epoprostenol* (fuzzy-name->concept* concept* \"epoprostenol\" #t))\n(define prostaglandin* (fuzzy-name->concept* concept* \"prostaglandin\" #t))\n\n;; This seems to be the one we're looking for.\n(define prostaglandins (fuzzy-name->concept* concept* \"prostaglandins\" #t))\n\n(define platelet* (fuzzy-name*->concept* concept* '(\"platelet\" \"aggregation\") #t))\n\n;; Why are these two edge groups so different from what we expect to see?\n;; https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4031661/figure/F1/\n(define dfo-epoprostenol-edge* (direct-edge* dfo* epoprostenol*))\n(define dfo-prostaglandin-edge* (direct-edge* dfo* prostaglandin*))\n\n;; These groups have edges we're expecting.\n(define epoprostenol-raynaud-edge* (direct-edge* epoprostenol* raynaud*))\n(define prostaglandin-raynaud-edge* (direct-edge* prostaglandin* raynaud*))\n(define prostaglandin-epoprostenol-edge* (direct-edge* prostaglandin* epoprostenol*))\n(define prostaglandin-platelet-edge* (direct-edge* prostaglandin* platelet*))\n\n;; Expected edges are missing here.\n(define platelet-raynaud-edge* (direct-edge* platelet* raynaud*))\n\n;; No direct edges here.\n(define dfo-raynaud-edge* (direct-edge* dfo* raynaud*))\n"
  },
  {
    "path": "attic/code/study-imatinib.rkt",
    "content": "#lang racket\n(require\n  \"mk-db.rkt\"\n  )\n\n(displayln\n  \"Finished loading mk-db.rkt.\")\n\n;; we want a direct link bewteen imatinib and GIST\n;; like TREATS predicate\n;; or something like that\n;; and no direct link bwteen imatinib and Asthma\n;; which is what we are \"discovering\"\n;; I think that is the basic idea\n;; we already \"know\" that imatinib treats CML and GIST\n;; through direct links\n;; and are trying to discover other diseases it might treat\n;; but want to go through genes that are already known to be safe\n;; that imatinib is already known to target\n\n;; the example is interesting because the query isn't just linear\n;; we want to find a tree, not a path\n\n;; Julian's SPARQL query:\n;;\n;; select ?activation ?disease where {\n;;  :imatinib :inhibits ?gene .\n;;  ?gene :associatedWith ?activation .\n;;  ?activation :associatedWith ?disease\n;;  FILTER EXISTS {\n;;    ?gene :associatedWith ?activation2 .\n;;    ?activation2 :associatedWith ?disease2 .\n;;    :imatinib :treats ?disease2\n;;  }\n;;  FILTER NOT EXISTS {\n;;    :imatinib :treats ?disease\n;;  }\n;; }\n\n\n\"ASSOCIATED_WITH\"\n\"AFFECTS\"\n\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n(define set-subtraction\n  (lambda (l1 l2)\n    (cond\n      [(null? l1) '()]\n      [(member (car l1) l2) (set-subtraction (cdr l1) l2)]\n      [else (cons (car l1) (set-subtraction (cdr l1) l2))])))\n\n(define union\n  (lambda (l1 l2)\n    (cond\n      [(null? l1) l2]\n      [(member (car l1) l2) (union (cdr l1) l2)]\n      [else (cons (car l1) (union (cdr l1) l2))])))\n\n(define union*\n  (lambda args\n    (union*-aux args)))\n\n(define union*-aux\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(null? (cdr ls)) (car ls)]\n      [else (union (car ls) (union*-aux (cdr ls)))])))\n\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n(define not-membero\n  (lambda (x ls)\n    (conde\n      [(== '() ls)]\n      [(fresh (y rest)\n         (== `(,y . ,rest) ls)\n         (=/= x y)\n         (not-membero x rest))])))\n\n(define path-to-diseaseo\n  (lambda (x path)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) x)\n      (conde\n        [(membero \"dsyn\" concept-type*)\n         (== `(,x) path)]\n        [(not-membero \"dsyn\" concept-type*)\n         (fresh (y p e e-rest path^)\n           (== `(,e . ,path^) path)\n           (== `(,x ,y ,p . ,e-rest) e)\n           (conde\n             [(== \"AFFECTS\" p)]\n             [(== \"CAUSES\" p)])\n           (edgeo e)\n           (path-to-diseaseo y path^))]))))\n\n\n\n\n\n\n\n\n\n;; Greg says:\n\n;; the structure of an edge is:\n;; (subject object predicate subject-type object-type pred-info)\n\n;; So instead of looking for \"gngm\" in the type list of a concept, you can instead use subject-type or object-type to constrain the edge itself.\n;; so:\n;; (== `(,s-imatinib/gene ,m-imatinib/gene ,p-imatinib/gene . ,e-rest-imatinib/gene) e-imatinib/gene)\n\n;; becomes (with fresh st-imatinib/gene):\n;; (== `(,s-imatinib/gene ,m-imatinib/gene ,p-imatinib/gene st-imatinib/gene \"gngm\". ,e-rest-imatinib/gene) e-imatinib/gene)\n\n;; then you no longer have to use membero\n\n\n\n;; Will says:\n\n;; What Greg says above, but stronger!  Using member can allow too many entry types--think of it as a \"fuzzy\" version of a query!  You asked for a gene?  Well, here are genes, and proteins, and ...\n\n\n\n;;; one step at a time!\n\n;; TODO all direct edges from all types of imatinib\n\n;; TODO count the number of times each gene appears inhibited, across all versions of imatinib\n\n;; TODO find all the subgraphs of the form 'some variant of imatinib INHIBITS some specific gene which CAUSES some specific disease or neoplasm which is directly TREATED by that version of imatinib'.  Ideally, fully explore most specific entities before broadening to categories.\n\n\n;; Ah!  Now Will is enlightened!  I *need* to use \"gngm\" as the object type in the query, rather than calling membero on the list of associated types.\n;; This will keep me from accidentally picking up aapp|T116|Amino Acid, Peptide, or Protein, for example, when I want genes.\n\n\n\n\n\n;; TODO try strategy of most-specific to least-specific, based on branching factor for the next \"hop\" during a query\n\n\n\n\n;; TODO intersection of relatively specific \"dsyn\", \"neop\", and \"patf\" directly treated by the relatively specific imatinib synonyms with the relatively specific \"dsyn\", \"neop\", and \"patf\" directly caused by the relatively specific genes (or gene groups) inhibited by the relatively specific imatinib synonyms\n\n\n\n;; TODO relatively specific \"dsyn\", \"neop\", and \"patf\" that are directly caused by relatively specific genes inhibited by relatively specific imatinib synonyms\n\n\n;; TODO intersection of \"dsyn\", \"neop\", and \"patf\" directly treated by the imatinib synonyms with the \"dsyn\", \"neop\", and \"patf\" directly caused by the genes (or gene groups) inhibited by the imatinib synonyms\n\n\n;; TODO \"dsyn\", \"neop\", and \"patf\" that are directly caused by the genes (or gene groups) inhibited by the imatinib synonyms\n\n;; TODO: How many of the cell functions below for KIT/C-KIT are unique?  And how many of those are specific enough to be meaningful/useful?\n;; try taking the union* of all the non-silly entries\n\n\n;; Can I use this to help weed out bogus answers?\n;;\n;; (1290829 \"Non-human disorder\" (\"dsyn\"))\n;;\n;; #(3047 \"Animal Diseases\" (#(41 1)))\n;; #(5591 \"Bird Diseases\" (#(41 1)))\n;; #(7350 \"Cat Diseases\" (#(41 1)))\n;; #(7453 \"Cattle Diseases\" (#(41 1)))\n;; #(12979 \"Dog Diseases\" (#(41 1)))\n;; #(16154 \"Fish Diseases\" (#(41 1)))\n;; #(18018 \"Goat Diseases\" (#(41 1)))\n;; #(19940 \"Horse Diseases\" (#(41 1)))\n;; #(26431 \"Monkey Diseases\" (#(41 1)))\n;; #(32851 \"Poultry Diseases\" (#(41 1)))\n;; #(35801 \"Rodent Diseases\" (#(41 1)))\n;; #(36946 \"Sheep Diseases\" (#(41 1)))\n;; #(39006 \"Swine Diseases\" (#(41 1)))\n;;\n;; Maybe allow this one?\n;;\n;; #(242634 \"Primate Diseases\" (#(41 1)))\n;;\n;; Hmmm.  None of these seem useful.\n;;\n;; the results don't seem useful, with (1290829 \"Non-human disorder\"\n;; (\"dsyn\")) as either the subject or object\n(run* (q)\n  (fresh (e subj obj pred st ot rest)\n    (== e q)\n    (== '(1290829 \"Non-human disorder\" (\"dsyn\")) obj)\n    (== `(,subj ,obj ,pred ,st ,ot . ,rest) e)\n    (edgeo e)))\n\n\n\n\n;; For the diseases affected by the celfs of interest, how many are MANIFESTATION_OF that celf?\n;;\n;; (Might also want to explore which are MANIFESTATION_OF any of the celfs of interest.)\n> (sort\n   (map\n    (lambda (celf)\n      (let ((disorders\n             (run* (q)\n               (fresh (e1 e2 disorder celf-type disorder-type rest1 rest2)\n                 (== disorder q)\n                 (conde\n                   [(== \"dsyn\" disorder-type)]\n                   [(== \"neop\" disorder-type)]\n                   [(== \"patf\" disorder-type)])\n                 (== `(,celf ,disorder \"AFFECTS\" ,celf-type ,disorder-type . ,rest1) e1)\n                 (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type ,celf-type . ,rest2) e2)\n                 (edgeo e2)\n                 (edgeo e1)))))\n        (list (length disorders) celf)))\n    '((312862 \"Lymphocyte chemotaxis\" (\"celf\"))\n      (1159455 \"syncytium formation\" (\"celf\"))\n      (1372294 \"Increased Endocytosis\" (\"celf\"))\n      (598948 \"axonal guidance\" (\"celf\"))\n      (1159821 \"apoptotic program\" (\"celf\"))\n      (1318468 \"cell-mediated immune response\" (\"celf\"))\n      (1326501 \"eosinophil chemotaxis\" (\"celf\"))\n      (1155303 \"ER-overload response\" (\"celf\"))\n      (1156259 \"cell ion homeostasis\" (\"celf\"))\n      (1159709 \"cholesterol transport\" (\"celf\"))\n      (1276855 \"Monocyte chemotaxis\" (\"celf\"))\n      (1326474 \"vesicle fusion\" (\"celf\"))\n      (1516338 \"Cell Death Induction\" (\"celf\"))\n      (598949 \"axonal sprouting\" (\"celf\"))\n      (1156042 \"endosome transport\" (\"celf\"))\n      (1159824 \"nuclear fragmentation\" (\"celf\"))\n      (1326121 \"astrocyte activation\" (\"celf\"))\n      (25186 \"Meiosis\" (\"celf\"))\n      (1155874 \"Cell Cycle Checkpoint\" (\"celf\"))\n      (1155876 \"DNA replication checkpoint\" (\"celf\"))\n      (1156132 \"vacuolar acidification\" (\"celf\"))\n      (1159689 \"potassium ion transport\" (\"celf\"))\n      (1326080 \"muscle cell differentiation\" (\"celf\"))\n      (1155013 \"T-cell differentiation\" (\"celf\"))\n      (598838 \"membrane assembly\" (\"celf\"))\n      (7580 \"Cell Aggregation\" (\"celf\"))\n      (32174 \"Platelet adhesion\" (\"celf\"))\n      (282636 \"Cell Respiration\" (\"celf\"))\n      (301896 \"Cell-Mediated Cytolysis\" (\"celf\"))\n      (392710 \"Megakaryocytic maturation\" (\"celf\"))\n      (596991 \"myelination\" (\"celf\"))\n      (1156032 \"Microtubule Polymerization\" (\"celf\"))\n      (1159339 \"Protein Secretion\" (\"celf\"))\n      (1159884 \"adipocyte differentiation\" (\"celf\"))\n      (1159938 \"eosinophil differentiation\" (\"celf\"))\n      (1159966 \"myoblast differentiation\" (\"celf\"))\n      (1159978 \"osteoclast differentiation\" (\"celf\"))\n      (1160520 \"oocyte maturation\" (\"celf\"))\n      (1326236 \"filopodium formation\" (\"celf\"))\n      (1326504 \"neuronal migration\" (\"celf\"))\n      (1513082 \"Megakaryocyte Proliferation\" (\"celf\"))\n      (599702 \"reuptake\" (\"celf\"))\n      (312861 \"Neutrophil chemotaxis\" (\"celf\"))\n      (1155792 \"Meiotic Recombination\" (\"celf\"))\n      (1516349 \"Cell Maturation\" (\"celf\"))\n      (1372847 \"Increased Cellular Migration\" (\"celf\"))\n      (312860 \"Neutrophil migration, function\" (\"celf\"))\n      (37841 \"Sperm Capacitation\" (\"celf\"))\n      (1159958 \"neutrophil differentiation\" (\"celf\"))\n      (19595 \"Histamine Release\" (\"celf\"))\n      (31945 \"Pinocytosis\" (\"celf\"))\n      (230871 \"Mitochondrion in division\" (\"celf\"))\n      (525010 \"Autocrine Communication\" (\"celf\"))\n      (600430 \"Calcium Waves\" (\"celf\"))\n      (1155752 \"positive regulation of mitosis\" (\"celf\"))\n      (1155949 \"lamellipodium biogenesis\" (\"celf\"))\n      (1156031 \"Microtubule Depolymerization\" (\"celf\"))\n      (1260960 \"Cytolysis\" (\"celf\"))\n      (1325887 \"focal adhesion formation\" (\"celf\"))\n      (1326341 \"Epithelial Cell Proliferation\" (\"celf\"))\n      (1326356 \"amino acid import\" (\"celf\"))\n      (1522821 \"acidification\" (\"celf\"))\n      (1155046 \"T-Cell Proliferation\" (\"celf\"))\n      (1325893 \"histamine secretion\" (\"celf\"))\n      (7588 \"Cell Degranulation\" (\"celf\"))\n      (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\"))\n      (1159816 \"anti-apoptosis\" (\"celf\"))\n      (1159909 \"keratinocyte differentiation\" (\"celf\"))\n      (1514761 \"Receptor Inhibition\" (\"celf\"))\n      (79396 \"G2 Phase\" (\"celf\"))\n      (1155846\n       \"negative regulation of cyclin dependent protein kinase activity\"\n       (\"celf\"))\n      (1256369 \"insulin secretion\" (\"celf\"))\n      (1326346 \"urothelial cell proliferation\" (\"celf\"))\n      (3261 \"Antibody Formation\" (\"celf\"))\n      (24262 \"Lymphocyte Activation\" (\"celf\"))\n      (206431 \"Antigen Presentation\" (\"celf\"))\n      (1155003 \"B-Cell Activation\" (\"celf\"))\n      (1155004 \"B-cell differentiation\" (\"celf\"))\n      (1155008 \"B Cell Proliferation\" (\"celf\"))\n      (1155229 \"humoral immune response\" (\"celf\"))\n      (1155980 \"actin filament depolymerization\" (\"celf\"))\n      (1327616 \"Cell secretion\" (\"celf\"))\n      (1511002 \"B-Cell Development\" (\"celf\"))\n      (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\"))\n      (7591 \"Cell division phases\" (\"celf\"))\n      (10813 \"Cytokinesis\" (\"celf\"))\n      (14139 \"Endocytosis\" (\"celf\"))\n      (26255 \"Mitosis\" (\"celf\"))\n      (31308 \"Phagocytosis\" (\"celf\"))\n      (32176 \"Platelet aggregation\" (\"celf\"))\n      (37848 \"Sperm Motility\" (\"celf\"))\n      (85416 \"Respiratory Burst\" (\"celf\"))\n      (178666 \"glucose transport\" (\"celf\"))\n      (302167 \"Cap formation\" (\"celf\"))\n      (599893 \"Protein translocation\" (\"celf\"))\n      (600485 \"Acrosome Reaction\" (\"celf\"))\n      (887839 \"Nuclear Import\" (\"celf\"))\n      (949629 \"Bystander Effect\" (\"celf\"))\n      (1155065 \"T-Cell Activation\" (\"celf\"))\n      (1155607 \"autophagic vacuole formation\" (\"celf\"))\n      (1155631 \"Chromosome Condensation\" (\"celf\"))\n      (1155734 \"lamin depolymerization\" (\"celf\"))\n      (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\"))\n      (1155871 \"nuclear migration\" (\"celf\"))\n      (1155872 \"Cell Cycle Regulation\" (\"celf\"))\n      (1155893 \"unidimensional cell growth\" (\"celf\"))\n      (1158774 \"negative regulation of transcription by glucose\" (\"celf\"))\n      (1159442 \"sporulation\" (\"celf\"))\n      (1159512 \"maltose transport\" (\"celf\"))\n      (1159521 \"hexose transport\" (\"celf\"))\n      (1160602 \"cholesterol absorption\" (\"celf\"))\n      (1326207 \"Programmed Cell Death, Type II\" (\"celf\"))\n      (1326220 \"synergid cell death\" (\"celf\"))\n      (1326347 \"fibroblast proliferation\" (\"celf\"))\n      (1326502 \"macrophage chemotaxis\" (\"celf\"))\n      (1511632 \"Cytoskeletal Modeling\" (\"celf\"))\n      (1515126 \"T-Cell Development\" (\"celf\"))\n      (1516340 \"Cell Death Process\" (\"celf\"))\n      (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\"))\n      (1517348 \"G2 Phase Arrest\" (\"celf\"))\n      (1519167 \"S Phase Arrest\" (\"celf\"))\n      (1523105 \"nuclear envelope disassembly\" (\"celf\"))\n      (1523795 \"stress fiber formation\" (\"celf\"))\n      (4462 \"Axonal Transport\" (\"celf\"))\n      (15283 \"Exocytosis\" (\"celf\"))\n      (25564 \"Metaphase\" (\"celf\"))\n      (1450355 \"Prometaphase\" (\"celf\"))\n      (8018 \"Chemotaxis\" (\"celf\"))\n      (1156237 \"Stimulation of Cell Proliferation\" (\"celf\"))\n      (25251 \"Membrane Potentials\" (\"celf\"))\n      (7590 \"Cell division\" (\"celf\"))\n      (7613 \"Cell physiology\" (\"celf\"))\n      (596286 \"Cell Growth Regulation\" (\"celf\"))\n      (598501 \"Chromosome Pairing\" (\"celf\"))\n      (599894 \"targeting\" (\"celf\"))\n      (1155711 \"stem cell division\" (\"celf\"))\n      (1155766 \"centrosome cycle\" (\"celf\"))\n      (1326205 \"Induction of Apoptosis\" (\"celf\"))\n      (1326225 \"cell homeostasis\" (\"celf\"))\n      (4391 \"Autophagy\" (\"celf\"))\n      (7577 \"Cell Adhesion\" (\"celf\"))\n      (7581 \"Cell Aging\" (\"celf\"))\n      (7582 \"Cell Communication\" (\"celf\"))\n      (7586 \"Cell Cycle\" (\"celf\"))\n      (7608 \"cell motility\" (\"celf\"))\n      (24426 \"Macrophage Activation\" (\"celf\"))\n      (37080 \"Signal Pathways\" (\"celf\" \"moft\"))\n      (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\"))\n      (544888 \"Mitotic arrest\" (\"celf\"))\n      (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\"))\n      (598087 \"cell dedifferentiation\" (\"celf\"))\n      (600431 \"Calcium Signaling\" (\"celf\"))\n      (678903 \"Neuronal Transmission\" (\"celf\"))\n      (872097 \"Anoikis\" (\"celf\"))\n      (887840 \"Nuclear Export\" (\"celf\"))\n      (1154382 \"Cell-Cell Adhesion\" (\"celf\"))\n      (1154401 \"cell invasion\" (\"celf\"))\n      (1154413 \"Intercellular Communication\" (\"celf\"))\n      (1158770 \"Transcriptional Regulation\" (\"celf\"))\n      (1158951 \"maintenance of protein localization\" (\"celf\"))\n      (1159946 \"macrophage differentiation\" (\"celf\"))\n      (1159974 \"osteoblast differentiation\" (\"celf\"))\n      (1257985 \"Cross-Priming\" (\"celf\"))\n      (1326057 \"epithelial cell differentiation\" (\"celf\"))\n      (1326120 \"cell activation\" (\"celf\"))\n      (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\"))\n      (1372180 \"Increased Cellular Death\" (\"celf\"))\n      (1515136 \"T-Cell Transformation\" (\"celf\"))\n      (1515432 \"Thymocyte Development\" (\"celf\"))\n      (1515979 \"Anchorage-Independent Growth\" (\"celf\"))\n      (1516334 \"Cell Cycle Progression\" (\"celf\"))\n      (1518147 \"M Phase Arrest\" (\"celf\"))\n      (1523169 \"smooth muscle cell differentiation\" (\"celf\"))\n      (1523298 \"epithelial to mesenchymal transition\" (\"celf\"))\n      (1540661 \"cell fate\" (\"celf\"))\n      (7595 \"Cell Growth\" (\"celf\"))\n      (596290 \"Cell Proliferation\" (\"celf\"))\n      (1155781 \"spindle assembly\" (\"celf\"))\n      (1155873 \"Cell Cycle Arrest\" (\"celf\"))\n      (7587 \"Cell Death\" (\"celf\"))\n      (7620 \"Cell Survival\" (\"celf\"))\n      (13081 \"Down-Regulation\" (\"celf\"))\n      (37083 \"Signal Transduction\" (\"celf\"))\n      (40682 \"cell transformation\" (\"celf\"))\n      (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\"))\n      (162638 \"Apoptosis\" (\"celf\"))\n      (221117 \"Anergy\" (\"celf\"))\n      (1155074 \"mast cell activation\" (\"celf\"))\n      (1514758 \"Receptor Activation\" (\"celf\"))))\n   (lambda (l1 l2) (< (car l1) (car l2))))\n=>\n'((0 (312862 \"Lymphocyte chemotaxis\" (\"celf\")))\n  (0 (1159455 \"syncytium formation\" (\"celf\")))\n  (0 (1372294 \"Increased Endocytosis\" (\"celf\")))\n  (0 (598948 \"axonal guidance\" (\"celf\")))\n  (0 (1326501 \"eosinophil chemotaxis\" (\"celf\")))\n  (0 (1155303 \"ER-overload response\" (\"celf\")))\n  (0 (1156259 \"cell ion homeostasis\" (\"celf\")))\n  (0 (1276855 \"Monocyte chemotaxis\" (\"celf\")))\n  (0 (1326474 \"vesicle fusion\" (\"celf\")))\n  (0 (1516338 \"Cell Death Induction\" (\"celf\")))\n  (0 (598949 \"axonal sprouting\" (\"celf\")))\n  (0 (1156042 \"endosome transport\" (\"celf\")))\n  (0 (1159824 \"nuclear fragmentation\" (\"celf\")))\n  (0 (1326121 \"astrocyte activation\" (\"celf\")))\n  (0 (1155874 \"Cell Cycle Checkpoint\" (\"celf\")))\n  (0 (1155876 \"DNA replication checkpoint\" (\"celf\")))\n  (0 (1156132 \"vacuolar acidification\" (\"celf\")))\n  (0 (1326080 \"muscle cell differentiation\" (\"celf\")))\n  (0 (1155013 \"T-cell differentiation\" (\"celf\")))\n  (0 (598838 \"membrane assembly\" (\"celf\")))\n  (0 (7580 \"Cell Aggregation\" (\"celf\")))\n  (0 (392710 \"Megakaryocytic maturation\" (\"celf\")))\n  (0 (1156032 \"Microtubule Polymerization\" (\"celf\")))\n  (0 (1159339 \"Protein Secretion\" (\"celf\")))\n  (0 (1159938 \"eosinophil differentiation\" (\"celf\")))\n  (0 (1159966 \"myoblast differentiation\" (\"celf\")))\n  (0 (1326236 \"filopodium formation\" (\"celf\")))\n  (0 (1326504 \"neuronal migration\" (\"celf\")))\n  (0 (1513082 \"Megakaryocyte Proliferation\" (\"celf\")))\n  (0 (312861 \"Neutrophil chemotaxis\" (\"celf\")))\n  (0 (1155792 \"Meiotic Recombination\" (\"celf\")))\n  (0 (1372847 \"Increased Cellular Migration\" (\"celf\")))\n  (0 (312860 \"Neutrophil migration, function\" (\"celf\")))\n  (0 (37841 \"Sperm Capacitation\" (\"celf\")))\n  (0 (1159958 \"neutrophil differentiation\" (\"celf\")))\n  (0 (31945 \"Pinocytosis\" (\"celf\")))\n  (0 (600430 \"Calcium Waves\" (\"celf\")))\n  (0 (1155752 \"positive regulation of mitosis\" (\"celf\")))\n  (0 (1155949 \"lamellipodium biogenesis\" (\"celf\")))\n  (0 (1156031 \"Microtubule Depolymerization\" (\"celf\")))\n  (0 (1325887 \"focal adhesion formation\" (\"celf\")))\n  (0 (1326356 \"amino acid import\" (\"celf\")))\n  (0 (1155046 \"T-Cell Proliferation\" (\"celf\")))\n  (0 (1325893 \"histamine secretion\" (\"celf\")))\n  (0 (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\")))\n  (0 (1159909 \"keratinocyte differentiation\" (\"celf\")))\n  (0 (79396 \"G2 Phase\" (\"celf\")))\n  (0\n   (1155846\n    \"negative regulation of cyclin dependent protein kinase activity\"\n    (\"celf\")))\n  (0 (1326346 \"urothelial cell proliferation\" (\"celf\")))\n  (0 (1155004 \"B-cell differentiation\" (\"celf\")))\n  (0 (1155008 \"B Cell Proliferation\" (\"celf\")))\n  (0 (1155229 \"humoral immune response\" (\"celf\")))\n  (0 (1155980 \"actin filament depolymerization\" (\"celf\")))\n  (0 (1327616 \"Cell secretion\" (\"celf\")))\n  (0 (7591 \"Cell division phases\" (\"celf\")))\n  (0 (85416 \"Respiratory Burst\" (\"celf\")))\n  (0 (302167 \"Cap formation\" (\"celf\")))\n  (0 (599893 \"Protein translocation\" (\"celf\")))\n  (0 (600485 \"Acrosome Reaction\" (\"celf\")))\n  (0 (887839 \"Nuclear Import\" (\"celf\")))\n  (0 (949629 \"Bystander Effect\" (\"celf\")))\n  (0 (1155607 \"autophagic vacuole formation\" (\"celf\")))\n  (0 (1155631 \"Chromosome Condensation\" (\"celf\")))\n  (0 (1155734 \"lamin depolymerization\" (\"celf\")))\n  (0 (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\")))\n  (0 (1155871 \"nuclear migration\" (\"celf\")))\n  (0 (1155893 \"unidimensional cell growth\" (\"celf\")))\n  (0 (1158774 \"negative regulation of transcription by glucose\" (\"celf\")))\n  (0 (1159442 \"sporulation\" (\"celf\")))\n  (0 (1159512 \"maltose transport\" (\"celf\")))\n  (0 (1159521 \"hexose transport\" (\"celf\")))\n  (0 (1160602 \"cholesterol absorption\" (\"celf\")))\n  (0 (1326207 \"Programmed Cell Death, Type II\" (\"celf\")))\n  (0 (1326220 \"synergid cell death\" (\"celf\")))\n  (0 (1326347 \"fibroblast proliferation\" (\"celf\")))\n  (0 (1511632 \"Cytoskeletal Modeling\" (\"celf\")))\n  (0 (1515126 \"T-Cell Development\" (\"celf\")))\n  (0 (1516340 \"Cell Death Process\" (\"celf\")))\n  (0 (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\")))\n  (0 (1517348 \"G2 Phase Arrest\" (\"celf\")))\n  (0 (1519167 \"S Phase Arrest\" (\"celf\")))\n  (0 (1523105 \"nuclear envelope disassembly\" (\"celf\")))\n  (0 (1523795 \"stress fiber formation\" (\"celf\")))\n  (0 (25564 \"Metaphase\" (\"celf\")))\n  (0 (1450355 \"Prometaphase\" (\"celf\")))\n  (0 (1156237 \"Stimulation of Cell Proliferation\" (\"celf\")))\n  (0 (1155766 \"centrosome cycle\" (\"celf\")))\n  (0 (1326205 \"Induction of Apoptosis\" (\"celf\")))\n  (0 (1326225 \"cell homeostasis\" (\"celf\")))\n  (0 (544888 \"Mitotic arrest\" (\"celf\")))\n  (0 (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\")))\n  (0 (598087 \"cell dedifferentiation\" (\"celf\")))\n  (0 (872097 \"Anoikis\" (\"celf\")))\n  (0 (887840 \"Nuclear Export\" (\"celf\")))\n  (0 (1154382 \"Cell-Cell Adhesion\" (\"celf\")))\n  (0 (1158951 \"maintenance of protein localization\" (\"celf\")))\n  (0 (1159946 \"macrophage differentiation\" (\"celf\")))\n  (0 (1257985 \"Cross-Priming\" (\"celf\")))\n  (0 (1372180 \"Increased Cellular Death\" (\"celf\")))\n  (0 (1515136 \"T-Cell Transformation\" (\"celf\")))\n  (0 (1515432 \"Thymocyte Development\" (\"celf\")))\n  (0 (1518147 \"M Phase Arrest\" (\"celf\")))\n  (0 (1155781 \"spindle assembly\" (\"celf\")))\n  (1 (1159821 \"apoptotic program\" (\"celf\")))\n  (1 (1318468 \"cell-mediated immune response\" (\"celf\")))\n  (1 (25186 \"Meiosis\" (\"celf\")))\n  (1 (1159689 \"potassium ion transport\" (\"celf\")))\n  (1 (301896 \"Cell-Mediated Cytolysis\" (\"celf\")))\n  (1 (596991 \"myelination\" (\"celf\")))\n  (1 (1160520 \"oocyte maturation\" (\"celf\")))\n  (1 (599702 \"reuptake\" (\"celf\")))\n  (1 (19595 \"Histamine Release\" (\"celf\")))\n  (1 (7588 \"Cell Degranulation\" (\"celf\")))\n  (1 (1514761 \"Receptor Inhibition\" (\"celf\")))\n  (1 (1511002 \"B-Cell Development\" (\"celf\")))\n  (1 (1326502 \"macrophage chemotaxis\" (\"celf\")))\n  (1 (1155711 \"stem cell division\" (\"celf\")))\n  (1 (1159974 \"osteoblast differentiation\" (\"celf\")))\n  (1 (1326057 \"epithelial cell differentiation\" (\"celf\")))\n  (1 (1515979 \"Anchorage-Independent Growth\" (\"celf\")))\n  (1 (1540661 \"cell fate\" (\"celf\")))\n  (1 (40682 \"cell transformation\" (\"celf\")))\n  (1 (221117 \"Anergy\" (\"celf\")))\n  (2 (32174 \"Platelet adhesion\" (\"celf\")))\n  (2 (282636 \"Cell Respiration\" (\"celf\")))\n  (2 (1159978 \"osteoclast differentiation\" (\"celf\")))\n  (2 (1516349 \"Cell Maturation\" (\"celf\")))\n  (2 (525010 \"Autocrine Communication\" (\"celf\")))\n  (2 (1326341 \"Epithelial Cell Proliferation\" (\"celf\")))\n  (2 (24262 \"Lymphocyte Activation\" (\"celf\")))\n  (2 (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\")))\n  (2 (10813 \"Cytokinesis\" (\"celf\")))\n  (2 (596286 \"Cell Growth Regulation\" (\"celf\")))\n  (2 (1154401 \"cell invasion\" (\"celf\")))\n  (2 (1154413 \"Intercellular Communication\" (\"celf\")))\n  (2 (1523169 \"smooth muscle cell differentiation\" (\"celf\")))\n  (3 (1159709 \"cholesterol transport\" (\"celf\")))\n  (3 (1522821 \"acidification\" (\"celf\")))\n  (3 (3261 \"Antibody Formation\" (\"celf\")))\n  (3 (1155003 \"B-Cell Activation\" (\"celf\")))\n  (3 (26255 \"Mitosis\" (\"celf\")))\n  (3 (37848 \"Sperm Motility\" (\"celf\")))\n  (3 (600431 \"Calcium Signaling\" (\"celf\")))\n  (3 (1516334 \"Cell Cycle Progression\" (\"celf\")))\n  (3 (1155074 \"mast cell activation\" (\"celf\")))\n  (4 (1159884 \"adipocyte differentiation\" (\"celf\")))\n  (4 (230871 \"Mitochondrion in division\" (\"celf\")))\n  (4 (206431 \"Antigen Presentation\" (\"celf\")))\n  (4 (4462 \"Axonal Transport\" (\"celf\")))\n  (4 (8018 \"Chemotaxis\" (\"celf\")))\n  (4 (25251 \"Membrane Potentials\" (\"celf\")))\n  (4 (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\")))\n  (4 (1523298 \"epithelial to mesenchymal transition\" (\"celf\")))\n  (4 (1155873 \"Cell Cycle Arrest\" (\"celf\")))\n  (5 (14139 \"Endocytosis\" (\"celf\")))\n  (5 (31308 \"Phagocytosis\" (\"celf\")))\n  (5 (32176 \"Platelet aggregation\" (\"celf\")))\n  (5 (178666 \"glucose transport\" (\"celf\")))\n  (5 (678903 \"Neuronal Transmission\" (\"celf\")))\n  (5 (7595 \"Cell Growth\" (\"celf\")))\n  (6 (1155872 \"Cell Cycle Regulation\" (\"celf\")))\n  (6 (24426 \"Macrophage Activation\" (\"celf\")))\n  (7 (7590 \"Cell division\" (\"celf\")))\n  (7 (1326120 \"cell activation\" (\"celf\")))\n  (8 (1260960 \"Cytolysis\" (\"celf\")))\n  (8 (1155065 \"T-Cell Activation\" (\"celf\")))\n  (8 (7613 \"Cell physiology\" (\"celf\")))\n  (8 (7581 \"Cell Aging\" (\"celf\")))\n  (8 (1514758 \"Receptor Activation\" (\"celf\")))\n  (9 (7582 \"Cell Communication\" (\"celf\")))\n  (9 (7608 \"cell motility\" (\"celf\")))\n  (9 (1158770 \"Transcriptional Regulation\" (\"celf\")))\n  (10 (7577 \"Cell Adhesion\" (\"celf\")))\n  (11 (1256369 \"insulin secretion\" (\"celf\")))\n  (11 (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\")))\n  (11 (7620 \"Cell Survival\" (\"celf\")))\n  (13 (7586 \"Cell Cycle\" (\"celf\")))\n  (15 (1159816 \"anti-apoptosis\" (\"celf\")))\n  (16 (598501 \"Chromosome Pairing\" (\"celf\")))\n  (16 (37080 \"Signal Pathways\" (\"celf\" \"moft\")))\n  (17 (599894 \"targeting\" (\"celf\")))\n  (18 (13081 \"Down-Regulation\" (\"celf\")))\n  (19 (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\")))\n  (24 (15283 \"Exocytosis\" (\"celf\")))\n  (29 (596290 \"Cell Proliferation\" (\"celf\")))\n  (32 (4391 \"Autophagy\" (\"celf\")))\n  (77 (7587 \"Cell Death\" (\"celf\")))\n  (88 (37083 \"Signal Transduction\" (\"celf\")))\n  (168 (162638 \"Apoptosis\" (\"celf\"))))\n\n;; just test out for the celf (1155074 \"mast cell activation\" (\"celf\")):\n;;\n;; which disorders are affected by the celf, and are manifestations of the celf?\n> (map\n   (lambda (celf)\n     (let ((disorders\n            (run* (q)\n              (fresh (e1 e2 disorder celf-type disorder-type rest1 rest2)\n                (== (list e1 e2) q)\n                (conde\n                  [(== \"dsyn\" disorder-type)]\n                  [(== \"neop\" disorder-type)]\n                  [(== \"patf\" disorder-type)])\n                (== `(,celf ,disorder \"AFFECTS\" ,celf-type ,disorder-type . ,rest1) e1)\n                (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type ,celf-type . ,rest2) e2)\n                (edgeo e2)\n                (edgeo e1)))))\n       disorders))\n   '((1155074 \"mast cell activation\" (\"celf\"))))\n'(((((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114)))\n   (((1155074 \"mast cell activation\" (\"celf\"))\n     (12634 \"Disease\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24486828\n      23394523\n      22300345\n      19909359\n      19508371\n      19290788\n      18485675\n      17336609\n      15589479\n      12574324\n      12217398\n      10213671\n      8376778\n      7964480\n      7964480))\n    ((12634 \"Disease\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (12217411)))\n   (((1155074 \"mast cell activation\" (\"celf\"))\n     (242184 \"Hypoxia\" (\"patf\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"patf\"\n     (22188111))\n    ((242184 \"Hypoxia\" (\"patf\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"patf\"\n     \"celf\"\n     (16572929)))))\n\n;; interesting! A direct causal link between KIT/C-KIT and asthma\n;; seems unknown.  So we are not just trying to connect a drug and\n;; disease, but also KIT and the disease.\n(map\n (lambda (gene)\n   (let ((disorders\n          (run* (q)\n            (fresh (e0 celf disorder pred disorder-type rest0)\n              (== e0 q)\n              (fuzzy-concepto \"asthma\" disorder)\n              (== `(,gene ,disorder ,pred \"gngm\" ,disorder-type . ,rest0) e0)\n              (edgeo e0)))))\n     (let ((disorders (rem-dups disorders)))\n       disorders)))\n '((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))))\n=>\n'(()\n  (((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n    (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n    \"ASSOCIATED_WITH\"\n    \"gngm\"\n    \"dsyn\"\n    (25337192 22505052)))\n  ())\n\n;; Look at the indirect connections between the 47 genes of interest and asthma.\n;;\n;; Query takes 2 minutes.\n;;\n;; The only *specfic* gene that uses mast cell activation as its celf is KIT (not C-KIT).\n;; There are various other genes that use signal transduction.\n;; And 'Antibodies' and 'Proteins' both use mast cell activation.\n;; While the genes aren't specific, the celf used is.\n(map\n (lambda (gene)\n   (let ((disorders\n          (run* (q)\n            (fresh (e1 e2 e3 celf disorder disorder-type rest1 rest2 rest3)\n              (== (list e1 e2 e3) q)\n              (fuzzy-concepto \"asthma\" disorder)\n              (conde\n                [(== \"dsyn\" disorder-type)]\n                [(== \"neop\" disorder-type)]\n                [(== \"patf\" disorder-type)])\n              (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n              (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n              (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n              (edgeo e1)\n              (edgeo e3)\n              (edgeo e2)))))\n     (let ((disorders (rem-dups disorders)))\n       disorders)))\n '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n   (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n   (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n   (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n   (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n   (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n   (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n   (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n   (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n   (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n   (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n   (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n   (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n   (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n   (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n   (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n   (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n   (290068\n    \"Platelet-Derived Growth Factor beta Receptor\"\n    (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n   (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n   (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n   (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n   (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n   (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n   (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n   (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n   (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n   (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n   (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n   (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n   (80092\n    \"Macrophage Colony-Stimulating Factor Receptor\"\n    (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n   (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n   (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n   (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n   (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n   (290067\n    \"Platelet-Derived Growth Factor alpha Receptor\"\n    (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n   (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n   (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n   (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n   (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n   (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n   (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n   (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n   (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n   (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n   (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n   (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))))\n=>\n;; cpu time: 127629 real time: 128505 gc time: 1446\n'(()\n  ((((919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (24564241 1281217))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (26467500))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (24188406\n      24188406\n      22841885\n      22841885\n      21978835\n      21978835\n      20597478\n      20597478\n      18256384\n      12176746\n      12176746))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (23340802 23340802))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ()\n  ()\n  ((((915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (16789903 11409908 7835966))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (26758977 25633229))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22262845\n      19170657\n      19048108\n      17503113\n      15163542\n      14620151\n      14580993\n      12949238\n      12482196\n      12482196\n      12324469\n      9450748))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (25539676 16461989))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114))))\n  ((((33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22357971 19290922 18492778 16790031 16790031 16415076))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (17426060 12035499 7882988))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (23222563))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (26023679\n      24850739\n      23682925\n      23660250\n      22498774\n      22319212\n      21601104\n      20036637\n      17203870\n      15180972\n      15180972\n      15053611\n      12670482\n      12477288\n      12194978\n      12112690\n      11175815\n      11073315\n      9676989\n      8616803\n      7902881))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (12393403))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114))))\n  ((((246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22095643 16883913 16557224 8619925))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((290068\n      \"Platelet-Derived Growth Factor beta Receptor\"\n      (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (15650217 15590688 9916027))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (23222563 14505491 12960248))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ()\n  ()\n  ()\n  ()\n  ()\n  ()\n  ()\n  ()\n  ((((1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (9517496))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((80092\n      \"Macrophage Colony-Stimulating Factor Receptor\"\n      (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (27224507))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (23103565 19711112 19458196 17956356 7802667 2783138))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (24743893\n      20806817\n      17118962\n      16727886\n      15176971\n      13678963\n      11916364\n      11912280\n      11802165\n      9627110\n      9047384\n      7784069\n      7537742))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ()\n  ((((812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22885698 15887041 15494014 15494014 11406357 11406357))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (27904762\n      27479325\n      27194789\n      26748340\n      26283964\n      26198787\n      26001588\n      25954136\n      25522385\n      25457352\n      25250214\n      24987288\n      24847082\n      24404331\n      24098092\n      23380704\n      22310710\n      22132325\n      22014238\n      21824992\n      21291419\n      21050922\n      20505987\n      20003820\n      19888967\n      19465516\n      19348466\n      19203114\n      19001047\n      18952824\n      18380671\n      18367502\n      17920519\n      17632123\n      17485341\n      17466390\n      17373355\n      17355284\n      17303405\n      17254012\n      16956790\n      16956790\n      16371473\n      15827888\n      15795223\n      15583862\n      15356058\n      14731813\n      14731813\n      12919066\n      12110144\n      11544033\n      10917832\n      10859220\n      10762594\n      10629036\n      10533704\n      10374695\n      9842573\n      9380811\n      9136757\n      8875430\n      7669492\n      7532590\n      7512770\n      1326354\n      1323348))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (27994757\n      26852687\n      25367076\n      24931696\n      23979726\n      23862981\n      22002603\n      21848862\n      21629734\n      20159963\n      19636563\n      17408432\n      12881713\n      11896598\n      11491654\n      11280802\n      11049052\n      1840317\n      1838150))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (20956018))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114))))\n  ()\n  ()\n  ()\n  ((((79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (17230190 15735964))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ((((105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (25534229 20926645 19717519 10347231))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910))))\n  ()\n  ((((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (18538998))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (12373338))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114)))))\n\n;; KIT gene *indirectly* is connected with asthma through two celfs:\n;; mast cell activation and Signal Transduction.  Signal Transduction is also\n;; the indirect connection bewteen BCR gene and asthma.\n> (map\n   (lambda (gene)\n     (let ((disorders\n            (run* (q)\n              (fresh (e1 e2 e3 celf disorder disorder-type rest1 rest2 rest3)\n                (== (list e1 e2 e3) q)\n                (fuzzy-concepto \"asthma\" disorder)\n                (conde\n                  [(== \"dsyn\" disorder-type)]\n                  [(== \"neop\" disorder-type)]\n                  [(== \"patf\" disorder-type)])\n                (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n                (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n                (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n                (edgeo e1)\n                (edgeo e3)\n                (edgeo e2)))))\n       (let ((disorders (rem-dups disorders)))\n         disorders)))\n   '((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n     (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n     (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))))\n=>\n'(((((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (18538998))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))\n   (((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (12373338))\n    ((1155074 \"mast cell activation\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (18209484 10352758))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (2741114))))\n  ()\n  ())\n\n> (map\n   (lambda (gene)\n     (let ((disorders\n            (run* (q)\n              (fresh (e1 e2 e3 celf disorder disorder-type rest1 rest2 rest3)\n                (== (list e1 e2 e3) q)\n                (fuzzy-concepto \"asthma\" disorder)\n                (conde\n                  [(== \"dsyn\" disorder-type)]\n                  [(== \"neop\" disorder-type)]\n                  [(== \"patf\" disorder-type)])\n                (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n                (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n                (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n                (edgeo e1)\n                (edgeo e3)\n                (edgeo e2)))))\n       (let ((disorders (rem-dups disorders)))\n         disorders)))\n   '((812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))))\n=>\n'(((((812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"CAUSES\"\n     \"gngm\"\n     \"celf\"\n     (22885698 15887041 15494014 15494014 11406357 11406357))\n    ((37083 \"Signal Transduction\" (\"celf\"))\n     (4096 \"Asthma\" (\"dsyn\"))\n     \"AFFECTS\"\n     \"celf\"\n     \"dsyn\"\n     (24447081 22447942 19530997 19075672 18699801))\n    ((4096 \"Asthma\" (\"dsyn\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     \"MANIFESTATION_OF\"\n     \"dsyn\"\n     \"celf\"\n     (11197605 10087910)))))\n\n;; look at the reasoning chain for BCR gene and asthma (which seems dubious to me)\n(map\n (lambda (gene)\n   (let ((disorders\n          (run* (q)\n            (fresh (e0 e1 e2 e3 celf disorder disorder-type rest0 rest1 rest2 rest3)\n              (== (list e0 e1 e2 e3) q)\n              (conde\n                [(== \"dsyn\" disorder-type)]\n                [(== \"neop\" disorder-type)]\n                [(== \"patf\" disorder-type)])\n              (== `(,gene ,disorder \"CAUSES\" \"gngm\" ,disorder-type . ,rest0) e0)\n              (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n              (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n              (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n              (edgeo e0)\n              (edgeo e3)\n              (edgeo e2)\n              (edgeo e1)))))\n     (let ((disorders (rem-dups disorders)))\n       disorders)))\n '((812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))))\n\n;; which of the 47 genes of interest are known to cause asthma, and\n;; also to cause a celf that affects asthma, and for which asthma is a\n;; manifestation of that celf?\n;;\n;;\n;; (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n;;\n;; Hmmm\n;;\n;; (((812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n;;  (4096 \"Asthma\" (\"dsyn\"))\n;;  \"CAUSES\"\n;;  \"gngm\"\n;;  \"dsyn\"\n;;  (20528593 20528593))\n;; ((812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n;;  (37083 \"Signal Transduction\" (\"celf\"))\n;;  \"CAUSES\"\n;;  \"gngm\"\n;;  \"celf\"\n;;  (22885698 15887041 15494014 15494014 11406357 11406357))\n;; ((37083 \"Signal Transduction\" (\"celf\"))\n;;  (4096 \"Asthma\" (\"dsyn\"))\n;;  \"AFFECTS\"\n;;  \"celf\"\n;;  \"dsyn\"\n;;  (24447081 22447942 19530997 19075672 18699801))\n;; ((4096 \"Asthma\" (\"dsyn\"))\n;;  (37083 \"Signal Transduction\" (\"celf\"))\n;;  \"MANIFESTATION_OF\"\n;;  \"dsyn\"\n;;  \"celf\"\n;;  (11197605 10087910)))\n;;\n;; From the abstract of this paper, I can't tell that BCR gene CAUSES asthma\n;; is a reasonable claim:\n;;\n;; https://www.ncbi.nlm.nih.gov/pubmed/20528593\n(map\n (lambda (gene)\n   (let ((disorders\n          (run* (q)\n            (fresh (e0 e1 e2 e3 celf disorder disorder-type rest0 rest1 rest2 rest3)\n              (== disorder q)\n              (conde\n                [(== \"dsyn\" disorder-type)]\n                [(== \"neop\" disorder-type)]\n                [(== \"patf\" disorder-type)])\n              (== `(,gene ,disorder \"CAUSES\" \"gngm\" ,disorder-type . ,rest0) e0)\n              (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n              (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n              (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n              (edgeo e0)\n              (edgeo e3)\n              (edgeo e2)\n              (edgeo e1)))))\n     (let ((disorders (rem-dups disorders)))\n       (list (and (member '(4096 \"Asthma\" (\"dsyn\")) disorders) #t) disorders gene))))\n '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n   (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n   (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n   (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n   (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n   (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n   (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n   (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n   (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n   (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n   (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n   (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n   (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n   (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n   (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n   (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n   (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n   (290068\n    \"Platelet-Derived Growth Factor beta Receptor\"\n    (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n   (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n   (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n   (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n   (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n   (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n   (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n   (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n   (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n   (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n   (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n   (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n   (80092\n    \"Macrophage Colony-Stimulating Factor Receptor\"\n    (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n   (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n   (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n   (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n   (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n   (290067\n    \"Platelet-Derived Growth Factor alpha Receptor\"\n    (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n   (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n   (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n   (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n   (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n   (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n   (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n   (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n   (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n   (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n   (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n   (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))))\n\n;; Check that the gene (such as KIT) that causes a celf that affects a\n;; disorder is also know to directly cause that disorder?  Seems like\n;; this is a basic check we should do, to both increase confidence and\n;; perhaps reduce answers.\n;;\n;; Restrict the disease to \"dsyn\" or \"patf\", but not \"neop\" (since in\n;; the case of imatinib/Gleevec, we already know it treats cancer).\n;;\n;; Try across all 47 genes of interest.\n;;\n;; cpu time: 18586 real time: 18595 gc time: 286\n;;\n;; 93 answers\n;;\n;; includes (4096 \"Asthma\" (\"dsyn\")) and (11847 \"Diabetes\" (\"dsyn\"))\n(apply\n union*\n (map\n  (lambda (gene)\n    (let ((disorders\n           (run* (q)\n             (fresh (e0 e1 e2 e3 celf disorder disorder-type rest0 rest1 rest2 rest3)\n               (== disorder q)\n               (conde\n                 [(== \"dsyn\" disorder-type)]\n                 ; [(== \"neop\" disorder-type)]\n                 [(== \"patf\" disorder-type)])\n               (== `(,gene ,disorder \"CAUSES\" \"gngm\" ,disorder-type . ,rest0) e0)\n               (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n               (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n               (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n               (edgeo e0)\n               (edgeo e3)\n               (edgeo e1)\n               (edgeo e2)))))\n      (rem-dups disorders)))\n  '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n    (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n    (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n    (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n    (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n    (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n    (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n    (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n    (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n    (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n    (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n    (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n    (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n    (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n    (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n    (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n    (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n    (290068\n     \"Platelet-Derived Growth Factor beta Receptor\"\n     (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n    (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n    (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n    (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n    (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n    (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n    (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n    (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n    (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n    (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n    (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n    (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n    (80092\n     \"Macrophage Colony-Stimulating Factor Receptor\"\n     (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n    (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n    (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n    (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n    (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n    (290067\n     \"Platelet-Derived Growth Factor alpha Receptor\"\n     (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n    (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n    (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n    (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n    (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n    (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n    (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n    (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n    (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n    (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n    (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n    (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n    (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")))))\n=>\n'((7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (13604 \"Edema\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\")))\n;; Now, remove all the diseases that imatinib variants are known to treat.\n;;\n;; 52 left, including asthma\n(set-subtraction\n '((7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (13604 \"Edema\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\")))\n '((2871 \"Anemia\" (\"dsyn\"))\n  (2874 \"Aplastic Anemia\" (\"dsyn\"))\n  (2895 \"Sickle Cell Anemia\" (\"dsyn\"))\n  (3047 \"Animal Diseases\" (\"dsyn\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (5940 \"Bone Diseases\" (\"dsyn\"))\n  (18944 \"Hematoma\" (\"patf\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7682 \"CNS disorder\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (6118 \"Brain Neoplasms\" (\"neop\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (8728 \"Churg-Strauss Syndrome\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (10403 \"Cryoglobulinemia\" (\"dsyn\"))\n  (11644 \"Scleroderma\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (29435 \"Osteolysis\" (\"patf\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (36429 \"Sclerosis\" (\"patf\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (86565 \"Liver Dysfunction\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (151654 \"Myocardial fibrosis\" (\"patf\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (7097 \"Carcinoma\" (\"neop\"))\n  (15624 \"Fanconi Syndrome\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (7114 \"Malignant neoplasm of skin\" (\"neop\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (231178 \"Chronic failure\" (\"patf\"))\n  (19196 \"Hepatitis C\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (21141 \"Inappropriate ADH Syndrome\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\"))\n  (23890 \"Liver Cirrhosis\" (\"dsyn\"))\n  (9404 \"Colorectal Neoplasms\" (\"neop\"))\n  (24115 \"Lung diseases\" (\"dsyn\"))\n  (333606 \"Dystrophy\" (\"patf\"))\n  (24440 \"Macular Edema, Cystoid\" (\"dsyn\"))\n  (443146 \"Autoimmune\" (\"patf\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27697 \"Nephritis\" (\"dsyn\"))\n  (549593 \"kidney functional\" (\"patf\"))\n  (27947 \"Neutropenia\" (\"dsyn\"))\n  (16048 \"Fibromatosis\" (\"neop\"))\n  (33838 \"Kimura Disease\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (34063 \"Pulmonary Edema\" (\"dsyn\"))\n  (744813 \"Hepatic embolisation\" (\"patf\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (35920 \"Rubella\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (18923 \"Hemangiosarcoma\" (\"neop\"))\n  (36992 \"Short Bowel Syndrome\" (\"dsyn\"))\n  (1265815 \"Multiple ulcers\" (\"patf\"))\n  (38013 \"Ankylosing spondylitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (1608322 \"Leak NOS\" (\"patf\"))\n  (39103 \"Synovitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (85786 \"Hamman-Rich syndrome\" (\"dsyn\"))\n  (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n  (86438 \"Hypogammaglobulinemia\" (\"dsyn\"))\n  (151859 \"Polyserositis\" (\"dsyn\"))\n  (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n  (158168 \"Villonodular synovitis\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (206062 \"Lung Diseases, Interstitial\" (\"dsyn\"))\n  (206143 \"Loeffler's Endocarditis\" (\"dsyn\"))\n  (236178 \"Intraabdominal hemorrhage\" (\"dsyn\"))\n  (238644 \"anemia; profound\" (\"dsyn\"))\n  (238790 \"destruction; bone\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (263664 \"Generalized morphea\" (\"dsyn\"))\n  (264939 \"Systemic vasculitis\" (\"dsyn\"))\n  (23475 \"Leukemia, Myeloid, Philadelphia-Negative\" (\"neop\"))\n  (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n  (276653 \"Invasive pulmonary aspergillosis\" (\"dsyn\"))\n  (277554 \"Primary disease\" (\"dsyn\"))\n  (277556 \"Recurrent disease\" (\"dsyn\"))\n  (334102 \"Lymphangiomatosis\" (\"dsyn\"))\n  (23484 \"Leukemia, Plasmacytic\" (\"neop\"))\n  (340548 \"Pulmonary capillary hemangiomatosis\" (\"dsyn\"))\n  (23601 \"Leydig Cell Tumor\" (\"neop\"))\n  (341213 \"External gastric fistula\" (\"dsyn\"))\n  (24301 \"Lymphoma, Follicular\" (\"neop\"))\n  (341439 \"Chronic liver disease NOS\" (\"dsyn\"))\n  (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n  (442867 \"Malignant disease\" (\"dsyn\"))\n  (549567 \"Pigmentation Disorders\" (\"dsyn\"))\n  (678236 \"Rare Diseases\" (\"dsyn\"))\n  (743496 \"END ORGAN DAMAGE\" (\"dsyn\"))\n  (25286 \"meningioma\" (\"neop\"))\n  (25500 \"Mesothelioma\" (\"neop\"))\n  (854467 \"Myelosuppression\" (\"dsyn\"))\n  (26764 \"Multiple Myeloma\" (\"neop\"))\n  (855227 \"Purging\" (\"dsyn\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (920627 \"Orphan Diseases\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (948908 \"Nephrotoxic serum nephritis\" (\"dsyn\"))\n  (1273070 \"Left ventricular diastolic dysfunction\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (27832 \"Neurofibromatosis 2\" (\"neop\"))\n  (1299884 \"Eosinophilic myositis\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1332309 \"Anti-Basement Membrane Glomerulonephritis\" (\"dsyn\"))\n  (1533022 \"Histiocytic proliferation\" (\"dsyn\"))\n  (1565489 \"Renal Insufficiency\" (\"dsyn\"))\n  (36221 \"Mast-Cell Sarcoma\" (\"neop\"))\n  (41341 \"Tuberous Sclerosis\" (\"neop\"))\n  (79731 \"B-Cell Lymphomas\" (\"neop\"))\n  (79772 \"T-Cell Lymphoma\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (162678 \"Neurofibromatoses\" (\"neop\"))\n  (205853 \"Neoplasms, Epithelial\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206657 \"Sarcoma, Alveolar Soft Part\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (220650 \"Metastatic malignant neoplasm to brain\" (\"neop\"))\n  (238463 \"Papillary thyroid carcinoma\" (\"neop\"))\n  (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n  (278517 \"Non-small cell lung cancer recurrent\" (\"neop\"))\n  (278695 \"recurrent neuroblastoma\" (\"neop\"))\n  (278704 \"Malignant Childhood Neoplasm\" (\"neop\"))\n  (278727 \"Small cell lung cancer recurrent\" (\"neop\"))\n  (279068 \"childhood solid tumor\" (\"neop\"))\n  (279087 \"recurrent Kaposi's sarcoma\" (\"neop\"))\n  (281361 \"Adenocarcinoma pancreas\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (334410 \"Leydig cell tumor, malignant\" (\"neop\"))\n  (334695 \"Endometrial Stromal Tumors\" (\"neop\"))\n  (349636 \"Pre B-cell acute lymphoblastic leukemia\" (\"neop\"))\n  (553580 \"Ewings sarcoma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (685938 \"Malignant neoplasm of gastrointestinal tract\" (\"neop\"))\n  (686619 \"Secondary malignant neoplasm of lymph node\" (\"neop\"))\n  (854850 \"Mycosis fungoides refractory\" (\"neop\"))\n  (855054 \"Fibrosarcoma metastatic\" (\"neop\"))\n  (855211 \"Seminoma of testis\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (1266042 \"Chromophobe Renal Cell Carcinoma\" (\"neop\"))\n  (1266101 \"Thymic epithelial neoplasm\" (\"neop\"))\n  (1266119 \"Solitary fibrous tumor\" (\"neop\"))\n  (1266120 \"Solitary fibrous tumor, malignant\" (\"neop\"))\n  (1300127 \"Perivascular epithelial cell tumor\" (\"neop\"))\n  (1306837 \"Papillary Renal Cell Carcinoma\" (\"neop\"))\n  (1318543 \"Tenosynovial giant cell tumor\" (\"neop\"))\n  (1319185 \"Chiasmal glioma\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1332884 \"Central Nervous System Leukemia\" (\"neop\"))\n  (1333614 \"Fibrosarcomatous Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (1334432 \"Low Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1335996 \"Small Intestinal Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1378050 \"Oncocytic Neoplasm\" (\"neop\"))\n  (1411997 \"Acute biphenotypic leukemia\" (\"neop\"))\n  (1512409 \"Hepatocarcinogenesis\" (\"neop\"))\n  (1524028 \"Intraepithelial Neoplasia of the Mouse Mammary Gland\" (\"neop\"))\n  (3864 \"Arthritis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (1418 \"Adenocarcinoma\" (\"neop\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (6272 \"Bronchiolitis Obliterans\" (\"dsyn\"))\n  (9782 \"Connective Tissue Diseases\" (\"dsyn\"))\n  (10828 \"Cytopenia\" (\"patf\"))\n  (11603 \"Dermatitis\" (\"dsyn\"))\n  (11633 \"Dermatomyositis\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (7102 \"Malignant tumor of colon\" (\"neop\"))\n  (19618 \"Histiocytosis\" (\"dsyn\"))\n  (243083 \"associated disease\" (\"patf\"))\n  (19621 \"Histiocytosis, Langerhans-Cell\" (\"dsyn\"))\n  (7115 \"Malignant neoplasm of thyroid\" (\"neop\"))\n  (19624 \"Histiocytosis, Non-Langerhans-Cell\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (19625 \"Sinus histiocytosis\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (399498 \"Oral lichenoid reaction\" (\"patf\"))\n  (24901 \"Mastocytosis, Diffuse Cutaneous\" (\"dsyn\"))\n  (26272 \"Mixed Connective Tissue Disease\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (31154 \"Peritonitis\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (7140 \"Carcinosarcoma\" (\"neop\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (33687 \"Proteinuria\" (\"dsyn\"))\n  (7847 \"Malignant neoplasm of cervix uteri\" (\"neop\"))\n  (34069 \"Pulmonary Fibrosis\" (\"dsyn\"))\n  (34155 \"Purpura, Thrombotic Thrombocytopenic\" (\"dsyn\"))\n  (8479 \"Chondrosarcoma\" (\"neop\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (39106 \"Pigmented villonodular synovitis\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (42384 \"Vasculitis\" (\"dsyn\"))\n  (18206 \"granulosa cell tumor\" (\"neop\"))\n  (152171 \"Primary pulmonary hypertension\" (\"dsyn\"))\n  (162835 \"Hypopigmentation\" (\"dsyn\"))\n  (206061 \"Pneumonitis, Interstitial\" (\"dsyn\"))\n  (23435 \"Leukemia, B-Cell, Acute\" (\"neop\"))\n  (267437 \"Allergic diarrhea\" (\"dsyn\"))\n  (282548 \"Leukostasis\" (\"dsyn\"))\n  (339143 \"Thyroid associated opthalmopathies\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (341697 \"Renal impairment\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (745283 \"INFECTIOUS PROCESS\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (748159 \"PULMONARY INVOLVEMENT\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (836924 \"thrombocytosis\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (949690 \"Spondylarthritis\" (\"dsyn\"))\n  (1112486 \"Aggressive Systemic Mastocytosis\" (\"dsyn\"))\n  (1136033 \"Cutaneous Mastocytosis\" (\"dsyn\"))\n  (1142420 \"Hepatitis B reactivation\" (\"dsyn\"))\n  (1261469 \"End stage renal failure\" (\"dsyn\"))\n  (23479 \"Leukemia, Myelomonocytic, Acute\" (\"neop\"))\n  (1279945 \"Acute interstitial pneumonia\" (\"dsyn\"))\n  (1368107 \"Aplastic bone marrow\" (\"dsyn\"))\n  (1619734 \"Pulmonary arterial hypertension\" (\"dsyn\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23494 \"Leukemia, T-Cell, Chronic\" (\"neop\"))\n  (23827 \"liposarcoma\" (\"neop\"))\n  (26987 \"Myelofibrosis\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (35412 \"Rhabdomyosarcoma\" (\"neop\"))\n  (36220 \"Kaposi Sarcoma\" (\"neop\"))\n  (36631 \"Seminoma\" (\"neop\"))\n  (39101 \"synovial sarcoma\" (\"neop\"))\n  (40100 \"Thymoma\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (151779 \"[X]Malignant melanoma of skin, unspecified\" (\"neop\"))\n  (205851 \"Germ cell tumor\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (206630 \"Endometrial Stromal Sarcoma\" (\"neop\"))\n  (206693 \"Medullary carcinoma\" (\"neop\"))\n  (206698 \"Cholangiocarcinoma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (276535 \"AIDS with Kaposi's sarcoma\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278678 \"Metastatic renal cell carcinoma\" (\"neop\"))\n  (278694 \"Disseminated neuroblastoma\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (279549\n   \"Philadelphia chromosome negative chronic myelogenous leukemia\"\n   (\"neop\"))\n  (280449 \"secondary acute myeloid leukemia\" (\"neop\"))\n  (334664 \"Mast Cell Neoplasm\" (\"neop\"))\n  (338113 \"Uterine Corpus Sarcoma\" (\"neop\"))\n  (341823 \"Epithelial tumor of ovary\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (346421 \"Chronic eosinophilic leukemia\" (\"neop\"))\n  (346976 \"Secondary malignant neoplasm of pancreas\" (\"neop\"))\n  (349640 \"[M]Subacute myeloid leukemia\" (\"neop\"))\n  (431109 \"Choroid Plexus Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (521158 \"Recurrent tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (549379 \"Recurrent Carcinoma\" (\"neop\"))\n  (598798 \"Lymphoid neoplasm\" (\"neop\"))\n  (598934 \"tumor growth\" (\"neop\"))\n  (677936 \"Refractory Carcinoma\" (\"neop\"))\n  (699889 \"Female reproductive neoplasm malignant NOS\" (\"neop\"))\n  (740267 \"Ocular melanomas\" (\"neop\"))\n  (740277 \"Bile duct carcinoma\" (\"neop\"))\n  (743535 \"EOSINOPHILIC GRANULOMATOSIS\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (812413 \"Malignant Pleural Mesothelioma\" (\"neop\"))\n  (855013 \"Chondrosarcoma recurrent\" (\"neop\"))\n  (936223 \"Prostate cancer metastatic\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1327920 \"childhood chronic myelogenous leukemia\" (\"neop\"))\n  (1333768 \"Gastric Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334699 \"Mesenchymal Cell Neoplasm\" (\"neop\"))\n  (1335711 \"Recurrent Mature T- and NK-Cell Non-Hodgkin's Lymphoma\" (\"neop\"))\n  (1335713 \"Recurrent Meningioma\" (\"neop\"))\n  (1335729 \"Refractory Neoplasm\" (\"neop\"))\n  (1336746 \"Thymus Carcinoid Tumor\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (235063 \"Respiratory Depression\" (\"patf\"))\n  (679222 \"functional insufficiency\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (1815 \"Primary Myelofibrosis\" (\"neop\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (24228 \"Lymphatic Diseases\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (37354 \"Smallpox\" (\"dsyn\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (221013 \"Mastocytosis, Systemic\" (\"dsyn\"))\n  (1318485 \"Liver regeneration disorder\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (456070 \"Growth delay\" (\"patf\"))\n  (17638 \"Glioma\" (\"neop\"))\n  (19829 \"Hodgkin Disease\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23453 \"Leukemia, Lymphocytic, Acute, L2\" (\"neop\"))\n  (23476 \"Leukemia, Myeloid, Philadelphia-Positive\" (\"neop\"))\n  (23480 \"Leukemia, Myelomonocytic, Chronic\" (\"neop\"))\n  (23481 \"Leukemia, Neutrophilic, Chronic\" (\"neop\"))\n  (27022 \"Myeloproliferative disease\" (\"neop\"))\n  (27819 \"Neuroblastoma\" (\"neop\"))\n  (29463 \"osteosarcoma\" (\"neop\"))\n  (85136 \"Central Nervous System Neoplasms\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (152018 \"Esophageal carcinoma\" (\"neop\"))\n  (178874 \"Neoplasm progression\" (\"neop\"))\n  (206093 \"Neuroectodermal Tumors\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (238461 \"Anaplastic thyroid carcinoma\" (\"neop\"))\n  (238462 \"Medullary carcinoma of thyroid\" (\"neop\"))\n  (278726 \"Small cell lung cancer extensive stage\" (\"neop\"))\n  (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n  (376545 \"Hematologic Neoplasms\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (555198 \"Malignant Glioma\" (\"neop\"))\n  (677930 \"Primary Neoplasm\" (\"neop\"))\n  (699791 \"Stomach Carcinoma\" (\"neop\"))\n  (750952 \"Biliary Tract Cancer\" (\"neop\"))\n  (751606 \"Adult Acute Lymphocytic Leukemia\" (\"neop\"))\n  (860582 \"Peritoneal metastases\" (\"neop\"))\n  (877373 \"Advanced cancer\" (\"neop\"))\n  (879615 \"Stromal Neoplasm\" (\"neop\"))\n  (887833 \"Carcinoma, Pancreatic Ductal\" (\"neop\"))\n  (920028 \"Leukaemia recurrent\" (\"neop\"))\n  (1266137 \"Gastrointestinal stromal sarcoma\" (\"neop\"))\n  (1279296 \"Chronic leukemia (category)\" (\"neop\"))\n  (1370868 \"refractory CML\" (\"neop\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (8679 \"Chronic Disease\" (\"dsyn\"))\n  (5699 \"Blast Phase\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (37274 \"skin disorder\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (878773 \"Overactive Bladder\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n  (7129 \"Merkel cell carcinoma\" (\"neop\"))\n  (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n  (920563 \"insulin sensitivity\" (\"patf\"))\n  (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n  (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n  (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n  (17636 \"Glioblastoma\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n  (24221 \"Lymphangioma\" (\"neop\"))\n  (25149 \"medulloblastoma\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (26948 \"Mycosis Fungoides\" (\"neop\"))\n  (27627 \"Neoplasm Metastasis\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (27831 \"Neurofibromatosis 1\" (\"neop\"))\n  (27859 \"Acoustic Neuroma\" (\"neop\"))\n  (35335 \"Retinoblastoma\" (\"neop\"))\n  (85669 \"Acute leukemia\" (\"neop\"))\n  (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n  (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n  (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n  (220633 \"Intraocular melanoma\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (242596 \"Neoplasm, Residual\" (\"neop\"))\n  (279543\n   \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n   (\"neop\"))\n  (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n  (280100 \"Solid tumor\" (\"neop\"))\n  (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n  (334569 \"Odontogenic myxoma\" (\"neop\"))\n  (346429 \"Multiple malignancy\" (\"neop\"))\n  (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n  (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n  (1370723 \"Stromal sarcoma\" (\"neop\"))))\n=>\n'((19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (13604 \"Edema\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1140999 \"Contraction\" (\"patf\")))\n\n;; Check that the gene (such as KIT) that causes a celf that affects a\n;; disorder is also know to directly cause that disorder?  Seems like\n;; this is a basic check we should do, to both increase confidence and\n;; perhaps reduce answers.\n;;\n;; Try across all 47 genes of interest.\n;;\n;; cpu time: 34833 real time: 34942 gc time: 405\n;;\n;; 143 answers\n;;\n;; includes (4096 \"Asthma\" (\"dsyn\")) and (11847 \"Diabetes\" (\"dsyn\"))\n(apply\n union*\n (map\n  (lambda (gene)\n    (let ((disorders\n           (run* (q)\n             (fresh (e0 e1 e2 e3 celf disorder disorder-type rest0 rest1 rest2 rest3)\n               (== disorder q)\n               (conde\n                 [(== \"dsyn\" disorder-type)]\n                 [(== \"neop\" disorder-type)]\n                 [(== \"patf\" disorder-type)])\n               (== `(,gene ,disorder \"CAUSES\" \"gngm\" ,disorder-type . ,rest0) e0)\n               (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n               (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n               (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n               (edgeo e0)\n               (edgeo e3)\n               (edgeo e1)\n               (edgeo e2)))))\n      (rem-dups disorders)))\n  '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n    (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n    (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n    (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n    (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n    (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n    (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n    (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n    (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n    (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n    (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n    (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n    (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n    (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n    (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n    (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n    (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n    (290068\n     \"Platelet-Derived Growth Factor beta Receptor\"\n     (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n    (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n    (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n    (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n    (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n    (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n    (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n    (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n    (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n    (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n    (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n    (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n    (80092\n     \"Macrophage Colony-Stimulating Factor Receptor\"\n     (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n    (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n    (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n    (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n    (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n    (290067\n     \"Platelet-Derived Growth Factor alpha Receptor\"\n     (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n    (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n    (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n    (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n    (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n    (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n    (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n    (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n    (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n    (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n    (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n    (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n    (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")))))\n=>\n'((7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (37286 \"Skin Neoplasms\" (\"neop\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (206698 \"Cholangiocarcinoma\" (\"neop\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (1458155 \"Mammary Neoplasms\" (\"neop\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (13604 \"Edema\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (23903 \"Liver neoplasms\" (\"neop\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n  (79731 \"B-Cell Lymphomas\" (\"neop\"))\n  (1418 \"Adenocarcinoma\" (\"neop\"))\n  (9566 \"Complication\" (\"patf\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (7097 \"Carcinoma\" (\"neop\"))\n  (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n  (7117 \"Basal cell carcinoma\" (\"neop\"))\n  (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n  (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n  (17636 \"Glioblastoma\" (\"neop\"))\n  (17638 \"Glioma\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n  (23458 \"Leukemia, Lymphocytic, Chronic\" (\"neop\"))\n  (24121 \"Lung Neoplasms\" (\"neop\"))\n  (24299 \"Lymphoma\" (\"neop\"))\n  (24305 \"Lymphoma, Non-Hodgkin's\" (\"neop\"))\n  (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n  (26764 \"Multiple Myeloma\" (\"neop\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (27627 \"Neoplasm Metastasis\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (32580 \"Adenomatous Polyposis Coli\" (\"neop\"))\n  (35335 \"Retinoblastoma\" (\"neop\"))\n  (178874 \"Neoplasm progression\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n  (279626 \"Squamous cell carcinoma of esophagus\" (\"neop\"))\n  (280100 \"Solid tumor\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n  (596263 \"Carcinogenesis\" (\"neop\"))\n  (598935 \"Tumor Initiation\" (\"neop\"))\n  (678222 \"Breast Carcinoma\" (\"neop\"))\n  (598934 \"tumor growth\" (\"neop\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (376545 \"Hematologic Neoplasms\" (\"neop\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1608408 \"Malignant transformation\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\")))\n;; Now, remove all the diseases that imatinib variants are known to treat.\n;;\n;; 66 left, including asthma\n(set-subtraction\n '((7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (37286 \"Skin Neoplasms\" (\"neop\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (206698 \"Cholangiocarcinoma\" (\"neop\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (1458155 \"Mammary Neoplasms\" (\"neop\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (13604 \"Edema\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (23903 \"Liver neoplasms\" (\"neop\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n  (79731 \"B-Cell Lymphomas\" (\"neop\"))\n  (1418 \"Adenocarcinoma\" (\"neop\"))\n  (9566 \"Complication\" (\"patf\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (7097 \"Carcinoma\" (\"neop\"))\n  (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n  (7117 \"Basal cell carcinoma\" (\"neop\"))\n  (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n  (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n  (17636 \"Glioblastoma\" (\"neop\"))\n  (17638 \"Glioma\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n  (23458 \"Leukemia, Lymphocytic, Chronic\" (\"neop\"))\n  (24121 \"Lung Neoplasms\" (\"neop\"))\n  (24299 \"Lymphoma\" (\"neop\"))\n  (24305 \"Lymphoma, Non-Hodgkin's\" (\"neop\"))\n  (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n  (26764 \"Multiple Myeloma\" (\"neop\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (27627 \"Neoplasm Metastasis\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (32580 \"Adenomatous Polyposis Coli\" (\"neop\"))\n  (35335 \"Retinoblastoma\" (\"neop\"))\n  (178874 \"Neoplasm progression\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n  (279626 \"Squamous cell carcinoma of esophagus\" (\"neop\"))\n  (280100 \"Solid tumor\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n  (596263 \"Carcinogenesis\" (\"neop\"))\n  (598935 \"Tumor Initiation\" (\"neop\"))\n  (678222 \"Breast Carcinoma\" (\"neop\"))\n  (598934 \"tumor growth\" (\"neop\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (376545 \"Hematologic Neoplasms\" (\"neop\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1608408 \"Malignant transformation\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\")))\n '((2871 \"Anemia\" (\"dsyn\"))\n  (2874 \"Aplastic Anemia\" (\"dsyn\"))\n  (2895 \"Sickle Cell Anemia\" (\"dsyn\"))\n  (3047 \"Animal Diseases\" (\"dsyn\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (5940 \"Bone Diseases\" (\"dsyn\"))\n  (18944 \"Hematoma\" (\"patf\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7682 \"CNS disorder\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (6118 \"Brain Neoplasms\" (\"neop\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (8728 \"Churg-Strauss Syndrome\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (10403 \"Cryoglobulinemia\" (\"dsyn\"))\n  (11644 \"Scleroderma\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (29435 \"Osteolysis\" (\"patf\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (36429 \"Sclerosis\" (\"patf\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (86565 \"Liver Dysfunction\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (151654 \"Myocardial fibrosis\" (\"patf\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (7097 \"Carcinoma\" (\"neop\"))\n  (15624 \"Fanconi Syndrome\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (7114 \"Malignant neoplasm of skin\" (\"neop\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (231178 \"Chronic failure\" (\"patf\"))\n  (19196 \"Hepatitis C\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (21141 \"Inappropriate ADH Syndrome\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\"))\n  (23890 \"Liver Cirrhosis\" (\"dsyn\"))\n  (9404 \"Colorectal Neoplasms\" (\"neop\"))\n  (24115 \"Lung diseases\" (\"dsyn\"))\n  (333606 \"Dystrophy\" (\"patf\"))\n  (24440 \"Macular Edema, Cystoid\" (\"dsyn\"))\n  (443146 \"Autoimmune\" (\"patf\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27697 \"Nephritis\" (\"dsyn\"))\n  (549593 \"kidney functional\" (\"patf\"))\n  (27947 \"Neutropenia\" (\"dsyn\"))\n  (16048 \"Fibromatosis\" (\"neop\"))\n  (33838 \"Kimura Disease\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (34063 \"Pulmonary Edema\" (\"dsyn\"))\n  (744813 \"Hepatic embolisation\" (\"patf\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (35920 \"Rubella\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (18923 \"Hemangiosarcoma\" (\"neop\"))\n  (36992 \"Short Bowel Syndrome\" (\"dsyn\"))\n  (1265815 \"Multiple ulcers\" (\"patf\"))\n  (38013 \"Ankylosing spondylitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (1608322 \"Leak NOS\" (\"patf\"))\n  (39103 \"Synovitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (85786 \"Hamman-Rich syndrome\" (\"dsyn\"))\n  (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n  (86438 \"Hypogammaglobulinemia\" (\"dsyn\"))\n  (151859 \"Polyserositis\" (\"dsyn\"))\n  (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n  (158168 \"Villonodular synovitis\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (206062 \"Lung Diseases, Interstitial\" (\"dsyn\"))\n  (206143 \"Loeffler's Endocarditis\" (\"dsyn\"))\n  (236178 \"Intraabdominal hemorrhage\" (\"dsyn\"))\n  (238644 \"anemia; profound\" (\"dsyn\"))\n  (238790 \"destruction; bone\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (263664 \"Generalized morphea\" (\"dsyn\"))\n  (264939 \"Systemic vasculitis\" (\"dsyn\"))\n  (23475 \"Leukemia, Myeloid, Philadelphia-Negative\" (\"neop\"))\n  (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n  (276653 \"Invasive pulmonary aspergillosis\" (\"dsyn\"))\n  (277554 \"Primary disease\" (\"dsyn\"))\n  (277556 \"Recurrent disease\" (\"dsyn\"))\n  (334102 \"Lymphangiomatosis\" (\"dsyn\"))\n  (23484 \"Leukemia, Plasmacytic\" (\"neop\"))\n  (340548 \"Pulmonary capillary hemangiomatosis\" (\"dsyn\"))\n  (23601 \"Leydig Cell Tumor\" (\"neop\"))\n  (341213 \"External gastric fistula\" (\"dsyn\"))\n  (24301 \"Lymphoma, Follicular\" (\"neop\"))\n  (341439 \"Chronic liver disease NOS\" (\"dsyn\"))\n  (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n  (442867 \"Malignant disease\" (\"dsyn\"))\n  (549567 \"Pigmentation Disorders\" (\"dsyn\"))\n  (678236 \"Rare Diseases\" (\"dsyn\"))\n  (743496 \"END ORGAN DAMAGE\" (\"dsyn\"))\n  (25286 \"meningioma\" (\"neop\"))\n  (25500 \"Mesothelioma\" (\"neop\"))\n  (854467 \"Myelosuppression\" (\"dsyn\"))\n  (26764 \"Multiple Myeloma\" (\"neop\"))\n  (855227 \"Purging\" (\"dsyn\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (920627 \"Orphan Diseases\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (948908 \"Nephrotoxic serum nephritis\" (\"dsyn\"))\n  (1273070 \"Left ventricular diastolic dysfunction\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (27832 \"Neurofibromatosis 2\" (\"neop\"))\n  (1299884 \"Eosinophilic myositis\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1332309 \"Anti-Basement Membrane Glomerulonephritis\" (\"dsyn\"))\n  (1533022 \"Histiocytic proliferation\" (\"dsyn\"))\n  (1565489 \"Renal Insufficiency\" (\"dsyn\"))\n  (36221 \"Mast-Cell Sarcoma\" (\"neop\"))\n  (41341 \"Tuberous Sclerosis\" (\"neop\"))\n  (79731 \"B-Cell Lymphomas\" (\"neop\"))\n  (79772 \"T-Cell Lymphoma\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (162678 \"Neurofibromatoses\" (\"neop\"))\n  (205853 \"Neoplasms, Epithelial\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206657 \"Sarcoma, Alveolar Soft Part\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (220650 \"Metastatic malignant neoplasm to brain\" (\"neop\"))\n  (238463 \"Papillary thyroid carcinoma\" (\"neop\"))\n  (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n  (278517 \"Non-small cell lung cancer recurrent\" (\"neop\"))\n  (278695 \"recurrent neuroblastoma\" (\"neop\"))\n  (278704 \"Malignant Childhood Neoplasm\" (\"neop\"))\n  (278727 \"Small cell lung cancer recurrent\" (\"neop\"))\n  (279068 \"childhood solid tumor\" (\"neop\"))\n  (279087 \"recurrent Kaposi's sarcoma\" (\"neop\"))\n  (281361 \"Adenocarcinoma pancreas\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (334410 \"Leydig cell tumor, malignant\" (\"neop\"))\n  (334695 \"Endometrial Stromal Tumors\" (\"neop\"))\n  (349636 \"Pre B-cell acute lymphoblastic leukemia\" (\"neop\"))\n  (553580 \"Ewings sarcoma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (685938 \"Malignant neoplasm of gastrointestinal tract\" (\"neop\"))\n  (686619 \"Secondary malignant neoplasm of lymph node\" (\"neop\"))\n  (854850 \"Mycosis fungoides refractory\" (\"neop\"))\n  (855054 \"Fibrosarcoma metastatic\" (\"neop\"))\n  (855211 \"Seminoma of testis\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (1266042 \"Chromophobe Renal Cell Carcinoma\" (\"neop\"))\n  (1266101 \"Thymic epithelial neoplasm\" (\"neop\"))\n  (1266119 \"Solitary fibrous tumor\" (\"neop\"))\n  (1266120 \"Solitary fibrous tumor, malignant\" (\"neop\"))\n  (1300127 \"Perivascular epithelial cell tumor\" (\"neop\"))\n  (1306837 \"Papillary Renal Cell Carcinoma\" (\"neop\"))\n  (1318543 \"Tenosynovial giant cell tumor\" (\"neop\"))\n  (1319185 \"Chiasmal glioma\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1332884 \"Central Nervous System Leukemia\" (\"neop\"))\n  (1333614 \"Fibrosarcomatous Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (1334432 \"Low Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1335996 \"Small Intestinal Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1378050 \"Oncocytic Neoplasm\" (\"neop\"))\n  (1411997 \"Acute biphenotypic leukemia\" (\"neop\"))\n  (1512409 \"Hepatocarcinogenesis\" (\"neop\"))\n  (1524028 \"Intraepithelial Neoplasia of the Mouse Mammary Gland\" (\"neop\"))\n  (3864 \"Arthritis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (1418 \"Adenocarcinoma\" (\"neop\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (6272 \"Bronchiolitis Obliterans\" (\"dsyn\"))\n  (9782 \"Connective Tissue Diseases\" (\"dsyn\"))\n  (10828 \"Cytopenia\" (\"patf\"))\n  (11603 \"Dermatitis\" (\"dsyn\"))\n  (11633 \"Dermatomyositis\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (7102 \"Malignant tumor of colon\" (\"neop\"))\n  (19618 \"Histiocytosis\" (\"dsyn\"))\n  (243083 \"associated disease\" (\"patf\"))\n  (19621 \"Histiocytosis, Langerhans-Cell\" (\"dsyn\"))\n  (7115 \"Malignant neoplasm of thyroid\" (\"neop\"))\n  (19624 \"Histiocytosis, Non-Langerhans-Cell\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (19625 \"Sinus histiocytosis\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (399498 \"Oral lichenoid reaction\" (\"patf\"))\n  (24901 \"Mastocytosis, Diffuse Cutaneous\" (\"dsyn\"))\n  (26272 \"Mixed Connective Tissue Disease\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (31154 \"Peritonitis\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (7140 \"Carcinosarcoma\" (\"neop\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (33687 \"Proteinuria\" (\"dsyn\"))\n  (7847 \"Malignant neoplasm of cervix uteri\" (\"neop\"))\n  (34069 \"Pulmonary Fibrosis\" (\"dsyn\"))\n  (34155 \"Purpura, Thrombotic Thrombocytopenic\" (\"dsyn\"))\n  (8479 \"Chondrosarcoma\" (\"neop\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (39106 \"Pigmented villonodular synovitis\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (42384 \"Vasculitis\" (\"dsyn\"))\n  (18206 \"granulosa cell tumor\" (\"neop\"))\n  (152171 \"Primary pulmonary hypertension\" (\"dsyn\"))\n  (162835 \"Hypopigmentation\" (\"dsyn\"))\n  (206061 \"Pneumonitis, Interstitial\" (\"dsyn\"))\n  (23435 \"Leukemia, B-Cell, Acute\" (\"neop\"))\n  (267437 \"Allergic diarrhea\" (\"dsyn\"))\n  (282548 \"Leukostasis\" (\"dsyn\"))\n  (339143 \"Thyroid associated opthalmopathies\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (341697 \"Renal impairment\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (745283 \"INFECTIOUS PROCESS\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (748159 \"PULMONARY INVOLVEMENT\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (836924 \"thrombocytosis\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (949690 \"Spondylarthritis\" (\"dsyn\"))\n  (1112486 \"Aggressive Systemic Mastocytosis\" (\"dsyn\"))\n  (1136033 \"Cutaneous Mastocytosis\" (\"dsyn\"))\n  (1142420 \"Hepatitis B reactivation\" (\"dsyn\"))\n  (1261469 \"End stage renal failure\" (\"dsyn\"))\n  (23479 \"Leukemia, Myelomonocytic, Acute\" (\"neop\"))\n  (1279945 \"Acute interstitial pneumonia\" (\"dsyn\"))\n  (1368107 \"Aplastic bone marrow\" (\"dsyn\"))\n  (1619734 \"Pulmonary arterial hypertension\" (\"dsyn\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23494 \"Leukemia, T-Cell, Chronic\" (\"neop\"))\n  (23827 \"liposarcoma\" (\"neop\"))\n  (26987 \"Myelofibrosis\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (35412 \"Rhabdomyosarcoma\" (\"neop\"))\n  (36220 \"Kaposi Sarcoma\" (\"neop\"))\n  (36631 \"Seminoma\" (\"neop\"))\n  (39101 \"synovial sarcoma\" (\"neop\"))\n  (40100 \"Thymoma\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (151779 \"[X]Malignant melanoma of skin, unspecified\" (\"neop\"))\n  (205851 \"Germ cell tumor\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (206630 \"Endometrial Stromal Sarcoma\" (\"neop\"))\n  (206693 \"Medullary carcinoma\" (\"neop\"))\n  (206698 \"Cholangiocarcinoma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (276535 \"AIDS with Kaposi's sarcoma\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278678 \"Metastatic renal cell carcinoma\" (\"neop\"))\n  (278694 \"Disseminated neuroblastoma\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (279549\n   \"Philadelphia chromosome negative chronic myelogenous leukemia\"\n   (\"neop\"))\n  (280449 \"secondary acute myeloid leukemia\" (\"neop\"))\n  (334664 \"Mast Cell Neoplasm\" (\"neop\"))\n  (338113 \"Uterine Corpus Sarcoma\" (\"neop\"))\n  (341823 \"Epithelial tumor of ovary\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (346421 \"Chronic eosinophilic leukemia\" (\"neop\"))\n  (346976 \"Secondary malignant neoplasm of pancreas\" (\"neop\"))\n  (349640 \"[M]Subacute myeloid leukemia\" (\"neop\"))\n  (431109 \"Choroid Plexus Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (521158 \"Recurrent tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (549379 \"Recurrent Carcinoma\" (\"neop\"))\n  (598798 \"Lymphoid neoplasm\" (\"neop\"))\n  (598934 \"tumor growth\" (\"neop\"))\n  (677936 \"Refractory Carcinoma\" (\"neop\"))\n  (699889 \"Female reproductive neoplasm malignant NOS\" (\"neop\"))\n  (740267 \"Ocular melanomas\" (\"neop\"))\n  (740277 \"Bile duct carcinoma\" (\"neop\"))\n  (743535 \"EOSINOPHILIC GRANULOMATOSIS\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (812413 \"Malignant Pleural Mesothelioma\" (\"neop\"))\n  (855013 \"Chondrosarcoma recurrent\" (\"neop\"))\n  (936223 \"Prostate cancer metastatic\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1327920 \"childhood chronic myelogenous leukemia\" (\"neop\"))\n  (1333768 \"Gastric Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334699 \"Mesenchymal Cell Neoplasm\" (\"neop\"))\n  (1335711 \"Recurrent Mature T- and NK-Cell Non-Hodgkin's Lymphoma\" (\"neop\"))\n  (1335713 \"Recurrent Meningioma\" (\"neop\"))\n  (1335729 \"Refractory Neoplasm\" (\"neop\"))\n  (1336746 \"Thymus Carcinoid Tumor\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (235063 \"Respiratory Depression\" (\"patf\"))\n  (679222 \"functional insufficiency\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (1815 \"Primary Myelofibrosis\" (\"neop\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (24228 \"Lymphatic Diseases\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (37354 \"Smallpox\" (\"dsyn\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (221013 \"Mastocytosis, Systemic\" (\"dsyn\"))\n  (1318485 \"Liver regeneration disorder\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (456070 \"Growth delay\" (\"patf\"))\n  (17638 \"Glioma\" (\"neop\"))\n  (19829 \"Hodgkin Disease\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23453 \"Leukemia, Lymphocytic, Acute, L2\" (\"neop\"))\n  (23476 \"Leukemia, Myeloid, Philadelphia-Positive\" (\"neop\"))\n  (23480 \"Leukemia, Myelomonocytic, Chronic\" (\"neop\"))\n  (23481 \"Leukemia, Neutrophilic, Chronic\" (\"neop\"))\n  (27022 \"Myeloproliferative disease\" (\"neop\"))\n  (27819 \"Neuroblastoma\" (\"neop\"))\n  (29463 \"osteosarcoma\" (\"neop\"))\n  (85136 \"Central Nervous System Neoplasms\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (152018 \"Esophageal carcinoma\" (\"neop\"))\n  (178874 \"Neoplasm progression\" (\"neop\"))\n  (206093 \"Neuroectodermal Tumors\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (238461 \"Anaplastic thyroid carcinoma\" (\"neop\"))\n  (238462 \"Medullary carcinoma of thyroid\" (\"neop\"))\n  (278726 \"Small cell lung cancer extensive stage\" (\"neop\"))\n  (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n  (376545 \"Hematologic Neoplasms\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (555198 \"Malignant Glioma\" (\"neop\"))\n  (677930 \"Primary Neoplasm\" (\"neop\"))\n  (699791 \"Stomach Carcinoma\" (\"neop\"))\n  (750952 \"Biliary Tract Cancer\" (\"neop\"))\n  (751606 \"Adult Acute Lymphocytic Leukemia\" (\"neop\"))\n  (860582 \"Peritoneal metastases\" (\"neop\"))\n  (877373 \"Advanced cancer\" (\"neop\"))\n  (879615 \"Stromal Neoplasm\" (\"neop\"))\n  (887833 \"Carcinoma, Pancreatic Ductal\" (\"neop\"))\n  (920028 \"Leukaemia recurrent\" (\"neop\"))\n  (1266137 \"Gastrointestinal stromal sarcoma\" (\"neop\"))\n  (1279296 \"Chronic leukemia (category)\" (\"neop\"))\n  (1370868 \"refractory CML\" (\"neop\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (8679 \"Chronic Disease\" (\"dsyn\"))\n  (5699 \"Blast Phase\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (37274 \"skin disorder\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (878773 \"Overactive Bladder\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n  (7129 \"Merkel cell carcinoma\" (\"neop\"))\n  (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n  (920563 \"insulin sensitivity\" (\"patf\"))\n  (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n  (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n  (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n  (17636 \"Glioblastoma\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n  (24221 \"Lymphangioma\" (\"neop\"))\n  (25149 \"medulloblastoma\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (26948 \"Mycosis Fungoides\" (\"neop\"))\n  (27627 \"Neoplasm Metastasis\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (27831 \"Neurofibromatosis 1\" (\"neop\"))\n  (27859 \"Acoustic Neuroma\" (\"neop\"))\n  (35335 \"Retinoblastoma\" (\"neop\"))\n  (85669 \"Acute leukemia\" (\"neop\"))\n  (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n  (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n  (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n  (220633 \"Intraocular melanoma\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (242596 \"Neoplasm, Residual\" (\"neop\"))\n  (279543\n   \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n   (\"neop\"))\n  (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n  (280100 \"Solid tumor\" (\"neop\"))\n  (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n  (334569 \"Odontogenic myxoma\" (\"neop\"))\n  (346429 \"Multiple malignancy\" (\"neop\"))\n  (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n  (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n  (1370723 \"Stromal sarcoma\" (\"neop\"))))\n=>\n'((19158 \"Hepatitis\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (2878 \"Anemia, Hemolytic\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (37286 \"Skin Neoplasms\" (\"neop\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (1458155 \"Mammary Neoplasms\" (\"neop\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (13604 \"Edema\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (23903 \"Liver neoplasms\" (\"neop\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (7117 \"Basal cell carcinoma\" (\"neop\"))\n  (23458 \"Leukemia, Lymphocytic, Chronic\" (\"neop\"))\n  (24121 \"Lung Neoplasms\" (\"neop\"))\n  (24299 \"Lymphoma\" (\"neop\"))\n  (24305 \"Lymphoma, Non-Hodgkin's\" (\"neop\"))\n  (32580 \"Adenomatous Polyposis Coli\" (\"neop\"))\n  (279626 \"Squamous cell carcinoma of esophagus\" (\"neop\"))\n  (596263 \"Carcinogenesis\" (\"neop\"))\n  (598935 \"Tumor Initiation\" (\"neop\"))\n  (678222 \"Breast Carcinoma\" (\"neop\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1608408 \"Malignant transformation\" (\"neop\")))\n\n\n;; Check that the gene (such as KIT) that causes a celf that affects a\n;; disorder is also know to directly cause that disorder?  Seems like\n;; this is a basic check we should do, to both increase confidence and\n;; perhaps reduce answers.\n;;\n;; test abstracted version using KIT and C-KIT\n(apply\n union*\n (map\n  (lambda (gene)\n    (let ((disorders\n           (run* (q)\n             (fresh (e0 e1 e2 e3 celf disorder disorder-type rest0 rest1 rest2 rest3)\n               (== disorder q)\n               (conde\n                 [(== \"dsyn\" disorder-type)]\n                 [(== \"neop\" disorder-type)]\n                 [(== \"patf\" disorder-type)])\n               (== `(,gene ,disorder \"CAUSES\" \"gngm\" ,disorder-type . ,rest0) e0)\n               (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n               (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n               (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n               (edgeo e0)\n               (edgeo e3)\n               (edgeo e1)\n               (edgeo e2)))))\n      (rem-dups disorders)))\n  '((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n    (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n    (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\")))))\n=>\n'((2871 \"Anemia\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1608408 \"Malignant transformation\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1326912 \"Tumorigenesis\" (\"neop\")))\n\n;; For our main query, shouldn't we also be checking that the gene\n;; (such as KIT) that causes a celf that affects a disorder is also\n;; know to directly cause that disorder?  Seems like this is a basic\n;; check we should do, to both increase confidence and perhaps reduce\n;; answers.  We are interested in finding new drug/disease\n;; connections, not new gene/disease connections, so this seems like\n;; an obvious move.  Try it out using KIT/C-KIT!\n(rem-dups\n (run* (q)\n   (fresh (e0 e1 e2 e3 gene celf disorder disorder-type rest0 rest1 rest2 rest3)\n     (== disorder q)\n     (conde\n       [(== \"dsyn\" disorder-type)]\n       [(== \"neop\" disorder-type)]\n       [(== \"patf\" disorder-type)])    \n     (conde\n       [(== '(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")) gene)]\n       [(== '(920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")) gene)]\n       [(== '(72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\")) gene)])\n     (== `(,gene ,disorder \"CAUSES\" \"gngm\" ,disorder-type . ,rest0) e0)\n     (== `(,gene ,celf \"CAUSES\" \"gngm\" \"celf\" . ,rest1) e1)\n     (== `(,celf ,disorder \"AFFECTS\" \"celf\" ,disorder-type . ,rest2) e2)\n     (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type \"celf\" . ,rest3) e3)\n     (edgeo e0)\n     (edgeo e3)\n     (edgeo e1)\n     (edgeo e2))))\n=>\n'((2871 \"Anemia\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1608408 \"Malignant transformation\" (\"neop\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1326912 \"Tumorigenesis\" (\"neop\")))\n;; Now, remove all the diseases that imatinib variants are known to treat.\n;; There are only 4 left for the KIT variants:\n;;\n;; '((27051 \"Myocardial Infarction\" (\"dsyn\"))\n;;  (1140999 \"Contraction\" (\"patf\"))\n;;  (1608408 \"Malignant transformation\" (\"neop\"))\n;;  (1510411 \"metaplastic cell transformation\" (\"patf\")))\n(set-subtraction\n '((2871 \"Anemia\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1608408 \"Malignant transformation\" (\"neop\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (1326912 \"Tumorigenesis\" (\"neop\")))\n '((2871 \"Anemia\" (\"dsyn\"))\n  (2874 \"Aplastic Anemia\" (\"dsyn\"))\n  (2895 \"Sickle Cell Anemia\" (\"dsyn\"))\n  (3047 \"Animal Diseases\" (\"dsyn\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (5940 \"Bone Diseases\" (\"dsyn\"))\n  (18944 \"Hematoma\" (\"patf\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7682 \"CNS disorder\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (6118 \"Brain Neoplasms\" (\"neop\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (8728 \"Churg-Strauss Syndrome\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (10403 \"Cryoglobulinemia\" (\"dsyn\"))\n  (11644 \"Scleroderma\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (29435 \"Osteolysis\" (\"patf\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (36429 \"Sclerosis\" (\"patf\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (86565 \"Liver Dysfunction\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (151654 \"Myocardial fibrosis\" (\"patf\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (7097 \"Carcinoma\" (\"neop\"))\n  (15624 \"Fanconi Syndrome\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (7114 \"Malignant neoplasm of skin\" (\"neop\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (231178 \"Chronic failure\" (\"patf\"))\n  (19196 \"Hepatitis C\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (21141 \"Inappropriate ADH Syndrome\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\"))\n  (23890 \"Liver Cirrhosis\" (\"dsyn\"))\n  (9404 \"Colorectal Neoplasms\" (\"neop\"))\n  (24115 \"Lung diseases\" (\"dsyn\"))\n  (333606 \"Dystrophy\" (\"patf\"))\n  (24440 \"Macular Edema, Cystoid\" (\"dsyn\"))\n  (443146 \"Autoimmune\" (\"patf\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27697 \"Nephritis\" (\"dsyn\"))\n  (549593 \"kidney functional\" (\"patf\"))\n  (27947 \"Neutropenia\" (\"dsyn\"))\n  (16048 \"Fibromatosis\" (\"neop\"))\n  (33838 \"Kimura Disease\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (34063 \"Pulmonary Edema\" (\"dsyn\"))\n  (744813 \"Hepatic embolisation\" (\"patf\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (35920 \"Rubella\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (18923 \"Hemangiosarcoma\" (\"neop\"))\n  (36992 \"Short Bowel Syndrome\" (\"dsyn\"))\n  (1265815 \"Multiple ulcers\" (\"patf\"))\n  (38013 \"Ankylosing spondylitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (1608322 \"Leak NOS\" (\"patf\"))\n  (39103 \"Synovitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (85786 \"Hamman-Rich syndrome\" (\"dsyn\"))\n  (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n  (86438 \"Hypogammaglobulinemia\" (\"dsyn\"))\n  (151859 \"Polyserositis\" (\"dsyn\"))\n  (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n  (158168 \"Villonodular synovitis\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (206062 \"Lung Diseases, Interstitial\" (\"dsyn\"))\n  (206143 \"Loeffler's Endocarditis\" (\"dsyn\"))\n  (236178 \"Intraabdominal hemorrhage\" (\"dsyn\"))\n  (238644 \"anemia; profound\" (\"dsyn\"))\n  (238790 \"destruction; bone\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (263664 \"Generalized morphea\" (\"dsyn\"))\n  (264939 \"Systemic vasculitis\" (\"dsyn\"))\n  (23475 \"Leukemia, Myeloid, Philadelphia-Negative\" (\"neop\"))\n  (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n  (276653 \"Invasive pulmonary aspergillosis\" (\"dsyn\"))\n  (277554 \"Primary disease\" (\"dsyn\"))\n  (277556 \"Recurrent disease\" (\"dsyn\"))\n  (334102 \"Lymphangiomatosis\" (\"dsyn\"))\n  (23484 \"Leukemia, Plasmacytic\" (\"neop\"))\n  (340548 \"Pulmonary capillary hemangiomatosis\" (\"dsyn\"))\n  (23601 \"Leydig Cell Tumor\" (\"neop\"))\n  (341213 \"External gastric fistula\" (\"dsyn\"))\n  (24301 \"Lymphoma, Follicular\" (\"neop\"))\n  (341439 \"Chronic liver disease NOS\" (\"dsyn\"))\n  (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n  (442867 \"Malignant disease\" (\"dsyn\"))\n  (549567 \"Pigmentation Disorders\" (\"dsyn\"))\n  (678236 \"Rare Diseases\" (\"dsyn\"))\n  (743496 \"END ORGAN DAMAGE\" (\"dsyn\"))\n  (25286 \"meningioma\" (\"neop\"))\n  (25500 \"Mesothelioma\" (\"neop\"))\n  (854467 \"Myelosuppression\" (\"dsyn\"))\n  (26764 \"Multiple Myeloma\" (\"neop\"))\n  (855227 \"Purging\" (\"dsyn\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (920627 \"Orphan Diseases\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (948908 \"Nephrotoxic serum nephritis\" (\"dsyn\"))\n  (1273070 \"Left ventricular diastolic dysfunction\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (27832 \"Neurofibromatosis 2\" (\"neop\"))\n  (1299884 \"Eosinophilic myositis\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1332309 \"Anti-Basement Membrane Glomerulonephritis\" (\"dsyn\"))\n  (1533022 \"Histiocytic proliferation\" (\"dsyn\"))\n  (1565489 \"Renal Insufficiency\" (\"dsyn\"))\n  (36221 \"Mast-Cell Sarcoma\" (\"neop\"))\n  (41341 \"Tuberous Sclerosis\" (\"neop\"))\n  (79731 \"B-Cell Lymphomas\" (\"neop\"))\n  (79772 \"T-Cell Lymphoma\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (162678 \"Neurofibromatoses\" (\"neop\"))\n  (205853 \"Neoplasms, Epithelial\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206657 \"Sarcoma, Alveolar Soft Part\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (220650 \"Metastatic malignant neoplasm to brain\" (\"neop\"))\n  (238463 \"Papillary thyroid carcinoma\" (\"neop\"))\n  (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n  (278517 \"Non-small cell lung cancer recurrent\" (\"neop\"))\n  (278695 \"recurrent neuroblastoma\" (\"neop\"))\n  (278704 \"Malignant Childhood Neoplasm\" (\"neop\"))\n  (278727 \"Small cell lung cancer recurrent\" (\"neop\"))\n  (279068 \"childhood solid tumor\" (\"neop\"))\n  (279087 \"recurrent Kaposi's sarcoma\" (\"neop\"))\n  (281361 \"Adenocarcinoma pancreas\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (334410 \"Leydig cell tumor, malignant\" (\"neop\"))\n  (334695 \"Endometrial Stromal Tumors\" (\"neop\"))\n  (349636 \"Pre B-cell acute lymphoblastic leukemia\" (\"neop\"))\n  (553580 \"Ewings sarcoma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (685938 \"Malignant neoplasm of gastrointestinal tract\" (\"neop\"))\n  (686619 \"Secondary malignant neoplasm of lymph node\" (\"neop\"))\n  (854850 \"Mycosis fungoides refractory\" (\"neop\"))\n  (855054 \"Fibrosarcoma metastatic\" (\"neop\"))\n  (855211 \"Seminoma of testis\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (1266042 \"Chromophobe Renal Cell Carcinoma\" (\"neop\"))\n  (1266101 \"Thymic epithelial neoplasm\" (\"neop\"))\n  (1266119 \"Solitary fibrous tumor\" (\"neop\"))\n  (1266120 \"Solitary fibrous tumor, malignant\" (\"neop\"))\n  (1300127 \"Perivascular epithelial cell tumor\" (\"neop\"))\n  (1306837 \"Papillary Renal Cell Carcinoma\" (\"neop\"))\n  (1318543 \"Tenosynovial giant cell tumor\" (\"neop\"))\n  (1319185 \"Chiasmal glioma\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1332884 \"Central Nervous System Leukemia\" (\"neop\"))\n  (1333614 \"Fibrosarcomatous Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (1334432 \"Low Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1335996 \"Small Intestinal Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1378050 \"Oncocytic Neoplasm\" (\"neop\"))\n  (1411997 \"Acute biphenotypic leukemia\" (\"neop\"))\n  (1512409 \"Hepatocarcinogenesis\" (\"neop\"))\n  (1524028 \"Intraepithelial Neoplasia of the Mouse Mammary Gland\" (\"neop\"))\n  (3864 \"Arthritis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (1418 \"Adenocarcinoma\" (\"neop\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (6272 \"Bronchiolitis Obliterans\" (\"dsyn\"))\n  (9782 \"Connective Tissue Diseases\" (\"dsyn\"))\n  (10828 \"Cytopenia\" (\"patf\"))\n  (11603 \"Dermatitis\" (\"dsyn\"))\n  (11633 \"Dermatomyositis\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (7102 \"Malignant tumor of colon\" (\"neop\"))\n  (19618 \"Histiocytosis\" (\"dsyn\"))\n  (243083 \"associated disease\" (\"patf\"))\n  (19621 \"Histiocytosis, Langerhans-Cell\" (\"dsyn\"))\n  (7115 \"Malignant neoplasm of thyroid\" (\"neop\"))\n  (19624 \"Histiocytosis, Non-Langerhans-Cell\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (19625 \"Sinus histiocytosis\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (399498 \"Oral lichenoid reaction\" (\"patf\"))\n  (24901 \"Mastocytosis, Diffuse Cutaneous\" (\"dsyn\"))\n  (26272 \"Mixed Connective Tissue Disease\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (31154 \"Peritonitis\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (7140 \"Carcinosarcoma\" (\"neop\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (33687 \"Proteinuria\" (\"dsyn\"))\n  (7847 \"Malignant neoplasm of cervix uteri\" (\"neop\"))\n  (34069 \"Pulmonary Fibrosis\" (\"dsyn\"))\n  (34155 \"Purpura, Thrombotic Thrombocytopenic\" (\"dsyn\"))\n  (8479 \"Chondrosarcoma\" (\"neop\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (39106 \"Pigmented villonodular synovitis\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (42384 \"Vasculitis\" (\"dsyn\"))\n  (18206 \"granulosa cell tumor\" (\"neop\"))\n  (152171 \"Primary pulmonary hypertension\" (\"dsyn\"))\n  (162835 \"Hypopigmentation\" (\"dsyn\"))\n  (206061 \"Pneumonitis, Interstitial\" (\"dsyn\"))\n  (23435 \"Leukemia, B-Cell, Acute\" (\"neop\"))\n  (267437 \"Allergic diarrhea\" (\"dsyn\"))\n  (282548 \"Leukostasis\" (\"dsyn\"))\n  (339143 \"Thyroid associated opthalmopathies\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (341697 \"Renal impairment\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (745283 \"INFECTIOUS PROCESS\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (748159 \"PULMONARY INVOLVEMENT\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (836924 \"thrombocytosis\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (949690 \"Spondylarthritis\" (\"dsyn\"))\n  (1112486 \"Aggressive Systemic Mastocytosis\" (\"dsyn\"))\n  (1136033 \"Cutaneous Mastocytosis\" (\"dsyn\"))\n  (1142420 \"Hepatitis B reactivation\" (\"dsyn\"))\n  (1261469 \"End stage renal failure\" (\"dsyn\"))\n  (23479 \"Leukemia, Myelomonocytic, Acute\" (\"neop\"))\n  (1279945 \"Acute interstitial pneumonia\" (\"dsyn\"))\n  (1368107 \"Aplastic bone marrow\" (\"dsyn\"))\n  (1619734 \"Pulmonary arterial hypertension\" (\"dsyn\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23494 \"Leukemia, T-Cell, Chronic\" (\"neop\"))\n  (23827 \"liposarcoma\" (\"neop\"))\n  (26987 \"Myelofibrosis\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (35412 \"Rhabdomyosarcoma\" (\"neop\"))\n  (36220 \"Kaposi Sarcoma\" (\"neop\"))\n  (36631 \"Seminoma\" (\"neop\"))\n  (39101 \"synovial sarcoma\" (\"neop\"))\n  (40100 \"Thymoma\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (151779 \"[X]Malignant melanoma of skin, unspecified\" (\"neop\"))\n  (205851 \"Germ cell tumor\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (206630 \"Endometrial Stromal Sarcoma\" (\"neop\"))\n  (206693 \"Medullary carcinoma\" (\"neop\"))\n  (206698 \"Cholangiocarcinoma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (276535 \"AIDS with Kaposi's sarcoma\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278678 \"Metastatic renal cell carcinoma\" (\"neop\"))\n  (278694 \"Disseminated neuroblastoma\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (279549\n   \"Philadelphia chromosome negative chronic myelogenous leukemia\"\n   (\"neop\"))\n  (280449 \"secondary acute myeloid leukemia\" (\"neop\"))\n  (334664 \"Mast Cell Neoplasm\" (\"neop\"))\n  (338113 \"Uterine Corpus Sarcoma\" (\"neop\"))\n  (341823 \"Epithelial tumor of ovary\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (346421 \"Chronic eosinophilic leukemia\" (\"neop\"))\n  (346976 \"Secondary malignant neoplasm of pancreas\" (\"neop\"))\n  (349640 \"[M]Subacute myeloid leukemia\" (\"neop\"))\n  (431109 \"Choroid Plexus Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (521158 \"Recurrent tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (549379 \"Recurrent Carcinoma\" (\"neop\"))\n  (598798 \"Lymphoid neoplasm\" (\"neop\"))\n  (598934 \"tumor growth\" (\"neop\"))\n  (677936 \"Refractory Carcinoma\" (\"neop\"))\n  (699889 \"Female reproductive neoplasm malignant NOS\" (\"neop\"))\n  (740267 \"Ocular melanomas\" (\"neop\"))\n  (740277 \"Bile duct carcinoma\" (\"neop\"))\n  (743535 \"EOSINOPHILIC GRANULOMATOSIS\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (812413 \"Malignant Pleural Mesothelioma\" (\"neop\"))\n  (855013 \"Chondrosarcoma recurrent\" (\"neop\"))\n  (936223 \"Prostate cancer metastatic\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1327920 \"childhood chronic myelogenous leukemia\" (\"neop\"))\n  (1333768 \"Gastric Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334699 \"Mesenchymal Cell Neoplasm\" (\"neop\"))\n  (1335711 \"Recurrent Mature T- and NK-Cell Non-Hodgkin's Lymphoma\" (\"neop\"))\n  (1335713 \"Recurrent Meningioma\" (\"neop\"))\n  (1335729 \"Refractory Neoplasm\" (\"neop\"))\n  (1336746 \"Thymus Carcinoid Tumor\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (235063 \"Respiratory Depression\" (\"patf\"))\n  (679222 \"functional insufficiency\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (1815 \"Primary Myelofibrosis\" (\"neop\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (24228 \"Lymphatic Diseases\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (37354 \"Smallpox\" (\"dsyn\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (221013 \"Mastocytosis, Systemic\" (\"dsyn\"))\n  (1318485 \"Liver regeneration disorder\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (456070 \"Growth delay\" (\"patf\"))\n  (17638 \"Glioma\" (\"neop\"))\n  (19829 \"Hodgkin Disease\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23453 \"Leukemia, Lymphocytic, Acute, L2\" (\"neop\"))\n  (23476 \"Leukemia, Myeloid, Philadelphia-Positive\" (\"neop\"))\n  (23480 \"Leukemia, Myelomonocytic, Chronic\" (\"neop\"))\n  (23481 \"Leukemia, Neutrophilic, Chronic\" (\"neop\"))\n  (27022 \"Myeloproliferative disease\" (\"neop\"))\n  (27819 \"Neuroblastoma\" (\"neop\"))\n  (29463 \"osteosarcoma\" (\"neop\"))\n  (85136 \"Central Nervous System Neoplasms\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (152018 \"Esophageal carcinoma\" (\"neop\"))\n  (178874 \"Neoplasm progression\" (\"neop\"))\n  (206093 \"Neuroectodermal Tumors\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (238461 \"Anaplastic thyroid carcinoma\" (\"neop\"))\n  (238462 \"Medullary carcinoma of thyroid\" (\"neop\"))\n  (278726 \"Small cell lung cancer extensive stage\" (\"neop\"))\n  (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n  (376545 \"Hematologic Neoplasms\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (555198 \"Malignant Glioma\" (\"neop\"))\n  (677930 \"Primary Neoplasm\" (\"neop\"))\n  (699791 \"Stomach Carcinoma\" (\"neop\"))\n  (750952 \"Biliary Tract Cancer\" (\"neop\"))\n  (751606 \"Adult Acute Lymphocytic Leukemia\" (\"neop\"))\n  (860582 \"Peritoneal metastases\" (\"neop\"))\n  (877373 \"Advanced cancer\" (\"neop\"))\n  (879615 \"Stromal Neoplasm\" (\"neop\"))\n  (887833 \"Carcinoma, Pancreatic Ductal\" (\"neop\"))\n  (920028 \"Leukaemia recurrent\" (\"neop\"))\n  (1266137 \"Gastrointestinal stromal sarcoma\" (\"neop\"))\n  (1279296 \"Chronic leukemia (category)\" (\"neop\"))\n  (1370868 \"refractory CML\" (\"neop\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (8679 \"Chronic Disease\" (\"dsyn\"))\n  (5699 \"Blast Phase\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (37274 \"skin disorder\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (878773 \"Overactive Bladder\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n  (7129 \"Merkel cell carcinoma\" (\"neop\"))\n  (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n  (920563 \"insulin sensitivity\" (\"patf\"))\n  (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n  (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n  (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n  (17636 \"Glioblastoma\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n  (24221 \"Lymphangioma\" (\"neop\"))\n  (25149 \"medulloblastoma\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (26948 \"Mycosis Fungoides\" (\"neop\"))\n  (27627 \"Neoplasm Metastasis\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (27831 \"Neurofibromatosis 1\" (\"neop\"))\n  (27859 \"Acoustic Neuroma\" (\"neop\"))\n  (35335 \"Retinoblastoma\" (\"neop\"))\n  (85669 \"Acute leukemia\" (\"neop\"))\n  (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n  (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n  (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n  (220633 \"Intraocular melanoma\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (242596 \"Neoplasm, Residual\" (\"neop\"))\n  (279543\n   \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n   (\"neop\"))\n  (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n  (280100 \"Solid tumor\" (\"neop\"))\n  (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n  (334569 \"Odontogenic myxoma\" (\"neop\"))\n  (346429 \"Multiple malignancy\" (\"neop\"))\n  (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n  (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n  (1370723 \"Stromal sarcoma\" (\"neop\"))))\n=>\n'((27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1608408 \"Malignant transformation\" (\"neop\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\")))\n\n\n\n;; through which edges do we have the connection that Gleevec inhibits some gene G\n;; which causes a cell function that affects Diabetes Mellitus?\n;;\n;; (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n\n\n;; subtract from the 154 disorders (no neoplasms or pathologic functions)\n;; of interest those 456 disorders, neoplasms, or pathologic functions\n;; directly treated by *any* form of imatinib (not just Gleevec)\n;;\n;; results in 111 disorders\n;;\n;; Should be able to pare down more using ontologies to see which\n;; entries are forms of diabetes, for example.  And use ontologies to\n;; group remaning entries.\n(set-subtraction\n '((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\")))\n '((2871 \"Anemia\" (\"dsyn\"))\n  (2874 \"Aplastic Anemia\" (\"dsyn\"))\n  (2895 \"Sickle Cell Anemia\" (\"dsyn\"))\n  (3047 \"Animal Diseases\" (\"dsyn\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (5684 \"Malignant neoplasm of urinary bladder\" (\"neop\"))\n  (5940 \"Bone Diseases\" (\"dsyn\"))\n  (18944 \"Hematoma\" (\"patf\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7682 \"CNS disorder\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (6118 \"Brain Neoplasms\" (\"neop\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (8728 \"Churg-Strauss Syndrome\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (10403 \"Cryoglobulinemia\" (\"dsyn\"))\n  (11644 \"Scleroderma\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (29435 \"Osteolysis\" (\"patf\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (36429 \"Sclerosis\" (\"patf\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (86565 \"Liver Dysfunction\" (\"patf\"))\n  (7095 \"Carcinoid Tumor\" (\"neop\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (151654 \"Myocardial fibrosis\" (\"patf\"))\n  (15230 \"Exanthema\" (\"dsyn\"))\n  (7097 \"Carcinoma\" (\"neop\"))\n  (15624 \"Fanconi Syndrome\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (151746 \"Abnormal renal function\" (\"patf\"))\n  (7114 \"Malignant neoplasm of skin\" (\"neop\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (231178 \"Chronic failure\" (\"patf\"))\n  (19196 \"Hepatitis C\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (21141 \"Inappropriate ADH Syndrome\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\"))\n  (23890 \"Liver Cirrhosis\" (\"dsyn\"))\n  (9404 \"Colorectal Neoplasms\" (\"neop\"))\n  (24115 \"Lung diseases\" (\"dsyn\"))\n  (333606 \"Dystrophy\" (\"patf\"))\n  (24440 \"Macular Edema, Cystoid\" (\"dsyn\"))\n  (443146 \"Autoimmune\" (\"patf\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27697 \"Nephritis\" (\"dsyn\"))\n  (549593 \"kidney functional\" (\"patf\"))\n  (27947 \"Neutropenia\" (\"dsyn\"))\n  (16048 \"Fibromatosis\" (\"neop\"))\n  (33838 \"Kimura Disease\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (34063 \"Pulmonary Edema\" (\"dsyn\"))\n  (744813 \"Hepatic embolisation\" (\"patf\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (35920 \"Rubella\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (18923 \"Hemangiosarcoma\" (\"neop\"))\n  (36992 \"Short Bowel Syndrome\" (\"dsyn\"))\n  (1265815 \"Multiple ulcers\" (\"patf\"))\n  (38013 \"Ankylosing spondylitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (1608322 \"Leak NOS\" (\"patf\"))\n  (39103 \"Synovitis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (85786 \"Hamman-Rich syndrome\" (\"dsyn\"))\n  (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n  (86438 \"Hypogammaglobulinemia\" (\"dsyn\"))\n  (151859 \"Polyserositis\" (\"dsyn\"))\n  (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n  (158168 \"Villonodular synovitis\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (206062 \"Lung Diseases, Interstitial\" (\"dsyn\"))\n  (206143 \"Loeffler's Endocarditis\" (\"dsyn\"))\n  (236178 \"Intraabdominal hemorrhage\" (\"dsyn\"))\n  (238644 \"anemia; profound\" (\"dsyn\"))\n  (238790 \"destruction; bone\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (263664 \"Generalized morphea\" (\"dsyn\"))\n  (264939 \"Systemic vasculitis\" (\"dsyn\"))\n  (23475 \"Leukemia, Myeloid, Philadelphia-Negative\" (\"neop\"))\n  (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n  (276653 \"Invasive pulmonary aspergillosis\" (\"dsyn\"))\n  (277554 \"Primary disease\" (\"dsyn\"))\n  (277556 \"Recurrent disease\" (\"dsyn\"))\n  (334102 \"Lymphangiomatosis\" (\"dsyn\"))\n  (23484 \"Leukemia, Plasmacytic\" (\"neop\"))\n  (340548 \"Pulmonary capillary hemangiomatosis\" (\"dsyn\"))\n  (23601 \"Leydig Cell Tumor\" (\"neop\"))\n  (341213 \"External gastric fistula\" (\"dsyn\"))\n  (24301 \"Lymphoma, Follicular\" (\"neop\"))\n  (341439 \"Chronic liver disease NOS\" (\"dsyn\"))\n  (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n  (442867 \"Malignant disease\" (\"dsyn\"))\n  (549567 \"Pigmentation Disorders\" (\"dsyn\"))\n  (678236 \"Rare Diseases\" (\"dsyn\"))\n  (743496 \"END ORGAN DAMAGE\" (\"dsyn\"))\n  (25286 \"meningioma\" (\"neop\"))\n  (25500 \"Mesothelioma\" (\"neop\"))\n  (854467 \"Myelosuppression\" (\"dsyn\"))\n  (26764 \"Multiple Myeloma\" (\"neop\"))\n  (855227 \"Purging\" (\"dsyn\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (920627 \"Orphan Diseases\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (948908 \"Nephrotoxic serum nephritis\" (\"dsyn\"))\n  (1273070 \"Left ventricular diastolic dysfunction\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (27832 \"Neurofibromatosis 2\" (\"neop\"))\n  (1299884 \"Eosinophilic myositis\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1306759 \"Eosinophilic disorder\" (\"dsyn\"))\n  (1332309 \"Anti-Basement Membrane Glomerulonephritis\" (\"dsyn\"))\n  (1533022 \"Histiocytic proliferation\" (\"dsyn\"))\n  (1565489 \"Renal Insufficiency\" (\"dsyn\"))\n  (36221 \"Mast-Cell Sarcoma\" (\"neop\"))\n  (41341 \"Tuberous Sclerosis\" (\"neop\"))\n  (79731 \"B-Cell Lymphomas\" (\"neop\"))\n  (79772 \"T-Cell Lymphoma\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (153633 \"Malignant neoplasm of brain\" (\"neop\"))\n  (162678 \"Neurofibromatoses\" (\"neop\"))\n  (205853 \"Neoplasms, Epithelial\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206647 \"Dermatofibrosarcoma\" (\"neop\"))\n  (206657 \"Sarcoma, Alveolar Soft Part\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (206754 \"Neuroendocrine Tumors\" (\"neop\"))\n  (220650 \"Metastatic malignant neoplasm to brain\" (\"neop\"))\n  (238463 \"Papillary thyroid carcinoma\" (\"neop\"))\n  (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n  (278517 \"Non-small cell lung cancer recurrent\" (\"neop\"))\n  (278695 \"recurrent neuroblastoma\" (\"neop\"))\n  (278704 \"Malignant Childhood Neoplasm\" (\"neop\"))\n  (278727 \"Small cell lung cancer recurrent\" (\"neop\"))\n  (279068 \"childhood solid tumor\" (\"neop\"))\n  (279087 \"recurrent Kaposi's sarcoma\" (\"neop\"))\n  (281361 \"Adenocarcinoma pancreas\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (302592 \"Cervix carcinoma\" (\"neop\"))\n  (334410 \"Leydig cell tumor, malignant\" (\"neop\"))\n  (334695 \"Endometrial Stromal Tumors\" (\"neop\"))\n  (349636 \"Pre B-cell acute lymphoblastic leukemia\" (\"neop\"))\n  (553580 \"Ewings sarcoma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (677865 \"Brain stem glioma\" (\"neop\"))\n  (685938 \"Malignant neoplasm of gastrointestinal tract\" (\"neop\"))\n  (686619 \"Secondary malignant neoplasm of lymph node\" (\"neop\"))\n  (854850 \"Mycosis fungoides refractory\" (\"neop\"))\n  (855054 \"Fibrosarcoma metastatic\" (\"neop\"))\n  (855211 \"Seminoma of testis\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (948380 \"Colorectal cancer metastatic\" (\"neop\"))\n  (1266042 \"Chromophobe Renal Cell Carcinoma\" (\"neop\"))\n  (1266101 \"Thymic epithelial neoplasm\" (\"neop\"))\n  (1266119 \"Solitary fibrous tumor\" (\"neop\"))\n  (1266120 \"Solitary fibrous tumor, malignant\" (\"neop\"))\n  (1300127 \"Perivascular epithelial cell tumor\" (\"neop\"))\n  (1306837 \"Papillary Renal Cell Carcinoma\" (\"neop\"))\n  (1318543 \"Tenosynovial giant cell tumor\" (\"neop\"))\n  (1319185 \"Chiasmal glioma\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1328504 \"Hormone-refractory prostate cancer\" (\"neop\"))\n  (1332884 \"Central Nervous System Leukemia\" (\"neop\"))\n  (1333614 \"Fibrosarcomatous Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (1334432 \"Low Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1335996 \"Small Intestinal Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1378050 \"Oncocytic Neoplasm\" (\"neop\"))\n  (1411997 \"Acute biphenotypic leukemia\" (\"neop\"))\n  (1512409 \"Hepatocarcinogenesis\" (\"neop\"))\n  (1524028 \"Intraepithelial Neoplasia of the Mouse Mammary Gland\" (\"neop\"))\n  (3864 \"Arthritis\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (1418 \"Adenocarcinoma\" (\"neop\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (6272 \"Bronchiolitis Obliterans\" (\"dsyn\"))\n  (9782 \"Connective Tissue Diseases\" (\"dsyn\"))\n  (10828 \"Cytopenia\" (\"patf\"))\n  (11603 \"Dermatitis\" (\"dsyn\"))\n  (11633 \"Dermatomyositis\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (14457 \"Eosinophilia\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (7102 \"Malignant tumor of colon\" (\"neop\"))\n  (19618 \"Histiocytosis\" (\"dsyn\"))\n  (243083 \"associated disease\" (\"patf\"))\n  (19621 \"Histiocytosis, Langerhans-Cell\" (\"dsyn\"))\n  (7115 \"Malignant neoplasm of thyroid\" (\"neop\"))\n  (19624 \"Histiocytosis, Non-Langerhans-Cell\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (19625 \"Sinus histiocytosis\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (399498 \"Oral lichenoid reaction\" (\"patf\"))\n  (24901 \"Mastocytosis, Diffuse Cutaneous\" (\"dsyn\"))\n  (26272 \"Mixed Connective Tissue Disease\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (31154 \"Peritonitis\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (7140 \"Carcinosarcoma\" (\"neop\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (867389 \"Chronic graft-versus-host disease\" (\"patf\"))\n  (33687 \"Proteinuria\" (\"dsyn\"))\n  (7847 \"Malignant neoplasm of cervix uteri\" (\"neop\"))\n  (34069 \"Pulmonary Fibrosis\" (\"dsyn\"))\n  (34155 \"Purpura, Thrombotic Thrombocytopenic\" (\"dsyn\"))\n  (8479 \"Chondrosarcoma\" (\"neop\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (8487 \"Chordoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (10606 \"Adenoid Cystic Carcinoma\" (\"neop\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (39106 \"Pigmented villonodular synovitis\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (42384 \"Vasculitis\" (\"dsyn\"))\n  (18206 \"granulosa cell tumor\" (\"neop\"))\n  (152171 \"Primary pulmonary hypertension\" (\"dsyn\"))\n  (162835 \"Hypopigmentation\" (\"dsyn\"))\n  (206061 \"Pneumonitis, Interstitial\" (\"dsyn\"))\n  (23435 \"Leukemia, B-Cell, Acute\" (\"neop\"))\n  (267437 \"Allergic diarrhea\" (\"dsyn\"))\n  (282548 \"Leukostasis\" (\"dsyn\"))\n  (339143 \"Thyroid associated opthalmopathies\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (341697 \"Renal impairment\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (745091 \"Hypereosinophilia\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (745283 \"INFECTIOUS PROCESS\" (\"dsyn\"))\n  (23470 \"Myeloid Leukemia\" (\"neop\"))\n  (748159 \"PULMONARY INVOLVEMENT\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (836924 \"thrombocytosis\" (\"dsyn\"))\n  (23472 \"Leukemia, Myeloid, Aggressive-Phase\" (\"neop\"))\n  (949690 \"Spondylarthritis\" (\"dsyn\"))\n  (1112486 \"Aggressive Systemic Mastocytosis\" (\"dsyn\"))\n  (1136033 \"Cutaneous Mastocytosis\" (\"dsyn\"))\n  (1142420 \"Hepatitis B reactivation\" (\"dsyn\"))\n  (1261469 \"End stage renal failure\" (\"dsyn\"))\n  (23479 \"Leukemia, Myelomonocytic, Acute\" (\"neop\"))\n  (1279945 \"Acute interstitial pneumonia\" (\"dsyn\"))\n  (1368107 \"Aplastic bone marrow\" (\"dsyn\"))\n  (1619734 \"Pulmonary arterial hypertension\" (\"dsyn\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23487 \"Acute Promyelocytic Leukemia\" (\"neop\"))\n  (23494 \"Leukemia, T-Cell, Chronic\" (\"neop\"))\n  (23827 \"liposarcoma\" (\"neop\"))\n  (26987 \"Myelofibrosis\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (32463 \"Polycythemia Vera\" (\"neop\"))\n  (35412 \"Rhabdomyosarcoma\" (\"neop\"))\n  (36220 \"Kaposi Sarcoma\" (\"neop\"))\n  (36631 \"Seminoma\" (\"neop\"))\n  (39101 \"synovial sarcoma\" (\"neop\"))\n  (40100 \"Thymoma\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (151779 \"[X]Malignant melanoma of skin, unspecified\" (\"neop\"))\n  (205851 \"Germ cell tumor\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (205969 \"Thymic Carcinoma\" (\"neop\"))\n  (206630 \"Endometrial Stromal Sarcoma\" (\"neop\"))\n  (206693 \"Medullary carcinoma\" (\"neop\"))\n  (206698 \"Cholangiocarcinoma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (276535 \"AIDS with Kaposi's sarcoma\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (278678 \"Metastatic renal cell carcinoma\" (\"neop\"))\n  (278694 \"Disseminated neuroblastoma\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278787 \"relapsing chronic myelogenous leukemia\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (278883 \"Metastatic melanoma\" (\"neop\"))\n  (279549\n   \"Philadelphia chromosome negative chronic myelogenous leukemia\"\n   (\"neop\"))\n  (280449 \"secondary acute myeloid leukemia\" (\"neop\"))\n  (334664 \"Mast Cell Neoplasm\" (\"neop\"))\n  (338113 \"Uterine Corpus Sarcoma\" (\"neop\"))\n  (341823 \"Epithelial tumor of ovary\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (345967 \"Malignant mesothelioma\" (\"neop\"))\n  (346421 \"Chronic eosinophilic leukemia\" (\"neop\"))\n  (346976 \"Secondary malignant neoplasm of pancreas\" (\"neop\"))\n  (349640 \"[M]Subacute myeloid leukemia\" (\"neop\"))\n  (431109 \"Choroid Plexus Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (521158 \"Recurrent tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (543478 \"Residual Tumor\" (\"neop\"))\n  (549379 \"Recurrent Carcinoma\" (\"neop\"))\n  (598798 \"Lymphoid neoplasm\" (\"neop\"))\n  (598934 \"tumor growth\" (\"neop\"))\n  (677936 \"Refractory Carcinoma\" (\"neop\"))\n  (699889 \"Female reproductive neoplasm malignant NOS\" (\"neop\"))\n  (740267 \"Ocular melanomas\" (\"neop\"))\n  (740277 \"Bile duct carcinoma\" (\"neop\"))\n  (743535 \"EOSINOPHILIC GRANULOMATOSIS\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (751690 \"Malignant Peripheral Nerve Sheath Tumor\" (\"neop\"))\n  (812413 \"Malignant Pleural Mesothelioma\" (\"neop\"))\n  (855013 \"Chondrosarcoma recurrent\" (\"neop\"))\n  (936223 \"Prostate cancer metastatic\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1292778 \"Chronic myeloproliferative disorder (morphology)\" (\"neop\"))\n  (1327920 \"childhood chronic myelogenous leukemia\" (\"neop\"))\n  (1333768 \"Gastric Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334026 \"High Risk Gastrointestinal Stromal Tumor\" (\"neop\"))\n  (1334699 \"Mesenchymal Cell Neoplasm\" (\"neop\"))\n  (1335711 \"Recurrent Mature T- and NK-Cell Non-Hodgkin's Lymphoma\" (\"neop\"))\n  (1335713 \"Recurrent Meningioma\" (\"neop\"))\n  (1335729 \"Refractory Neoplasm\" (\"neop\"))\n  (1336746 \"Thymus Carcinoid Tumor\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (1540912 \"Hypereosinophilic syndrome\" (\"neop\"))\n  (235063 \"Respiratory Depression\" (\"patf\"))\n  (679222 \"functional insufficiency\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (1815 \"Primary Myelofibrosis\" (\"neop\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (9566 \"Complication\" (\"patf\"))\n  (24228 \"Lymphatic Diseases\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (37354 \"Smallpox\" (\"dsyn\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (221013 \"Mastocytosis, Systemic\" (\"dsyn\"))\n  (1318485 \"Liver regeneration disorder\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (456070 \"Growth delay\" (\"patf\"))\n  (17638 \"Glioma\" (\"neop\"))\n  (19829 \"Hodgkin Disease\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23269 \"leiomyosarcoma\" (\"neop\"))\n  (23453 \"Leukemia, Lymphocytic, Acute, L2\" (\"neop\"))\n  (23476 \"Leukemia, Myeloid, Philadelphia-Positive\" (\"neop\"))\n  (23480 \"Leukemia, Myelomonocytic, Chronic\" (\"neop\"))\n  (23481 \"Leukemia, Neutrophilic, Chronic\" (\"neop\"))\n  (27022 \"Myeloproliferative disease\" (\"neop\"))\n  (27819 \"Neuroblastoma\" (\"neop\"))\n  (29463 \"osteosarcoma\" (\"neop\"))\n  (85136 \"Central Nervous System Neoplasms\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (152018 \"Esophageal carcinoma\" (\"neop\"))\n  (178874 \"Neoplasm progression\" (\"neop\"))\n  (206093 \"Neuroectodermal Tumors\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (238461 \"Anaplastic thyroid carcinoma\" (\"neop\"))\n  (238462 \"Medullary carcinoma of thyroid\" (\"neop\"))\n  (278726 \"Small cell lung cancer extensive stage\" (\"neop\"))\n  (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n  (376545 \"Hematologic Neoplasms\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (555198 \"Malignant Glioma\" (\"neop\"))\n  (677930 \"Primary Neoplasm\" (\"neop\"))\n  (699791 \"Stomach Carcinoma\" (\"neop\"))\n  (750952 \"Biliary Tract Cancer\" (\"neop\"))\n  (751606 \"Adult Acute Lymphocytic Leukemia\" (\"neop\"))\n  (860582 \"Peritoneal metastases\" (\"neop\"))\n  (877373 \"Advanced cancer\" (\"neop\"))\n  (879615 \"Stromal Neoplasm\" (\"neop\"))\n  (887833 \"Carcinoma, Pancreatic Ductal\" (\"neop\"))\n  (920028 \"Leukaemia recurrent\" (\"neop\"))\n  (1266137 \"Gastrointestinal stromal sarcoma\" (\"neop\"))\n  (1279296 \"Chronic leukemia (category)\" (\"neop\"))\n  (1370868 \"refractory CML\" (\"neop\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (8679 \"Chronic Disease\" (\"dsyn\"))\n  (5699 \"Blast Phase\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (37274 \"skin disorder\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (878773 \"Overactive Bladder\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n  (7129 \"Merkel cell carcinoma\" (\"neop\"))\n  (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n  (920563 \"insulin sensitivity\" (\"patf\"))\n  (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n  (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n  (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n  (17636 \"Glioblastoma\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n  (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n  (24221 \"Lymphangioma\" (\"neop\"))\n  (25149 \"medulloblastoma\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (26948 \"Mycosis Fungoides\" (\"neop\"))\n  (27627 \"Neoplasm Metastasis\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (27831 \"Neurofibromatosis 1\" (\"neop\"))\n  (27859 \"Acoustic Neuroma\" (\"neop\"))\n  (35335 \"Retinoblastoma\" (\"neop\"))\n  (85669 \"Acute leukemia\" (\"neop\"))\n  (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n  (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n  (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n  (220633 \"Intraocular melanoma\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (242596 \"Neoplasm, Residual\" (\"neop\"))\n  (279543\n   \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n   (\"neop\"))\n  (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n  (280100 \"Solid tumor\" (\"neop\"))\n  (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n  (334569 \"Odontogenic myxoma\" (\"neop\"))\n  (346429 \"Multiple malignancy\" (\"neop\"))\n  (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n  (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n  (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n  (1370723 \"Stromal sarcoma\" (\"neop\"))))\n=>\n'((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\")))\n\n\n\n\n;; remove from the 154 disorders (no neoplasms or pathologic functions)\n;; of interest those 53 disorders, neoplasms, or pathologic functions\n;; directly treated by Gleevec\n;;\n;; result is 151 diseases, including the useless \"Disease\" and \"Syndrome\" and \"Degenerative disorder\",\n;; and including:\n;; * at least 4 entries for epilepsy\n;; * approximately 7 entries related to kidney/renal disease\n;; * approximately 9 entries related to diabetes\n;; etc.\n;;\n;; Seems like there are a number of groups of diseases within the 151\n;; diseases.  For example, diabetes is probably worth a look.\n;;\n;; And, of course, there is the 1 entry for asthma\n;;\n;; Wow!\n;;\n;; https://www.nbcnews.com/health/health-news/cancer-drug-gleevec-might-slow-type-1-diabetes-n771241\n;;\n;; https://www.medscape.com/viewarticle/882089\n;;\n;; http://www.ajmc.com/newsroom/scientists-find-accidental-cure-for-type-2-diabetes-imatinib\n;;\n;; March 29, 2016\n;;\n;; \"The cancer drug imatinib—marketed as Gleevec and known as a game-changer for conditions like chronic myeloid leukemia—may prove the same in type 2 diabetes (T2D), according to a study published recently in Diabetes.\"\n;;\n;;\n;; The article:\n;;\n;; http://diabetes.diabetesjournals.org/content/65/4/829\n;;\n;; Oh, SemMedDB does contain this information!  The list of diseases Gleevec treats includes:\n;;\n;; (11847 \"Diabetes\" (\"dsyn\"))\n;; (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n;;\n;; The problem, of course, is that without doing more reasoning using\n;; an ontology or external information, or maybe getting lucky with\n;; the ISA predicate, the query has no way of knowing that those 9\n;; diabetes-related entries are actually related to the entry\n;; (11847 \"Diabetes\" (\"dsyn\")).\n;;\n;; Still, I was pleased that *I* learned something from the query, and\n;; that the signal was quite strong after all of that filtering.\n;;\n;; So, with more resoning, perhaps using an ontology, we should be\n;; able to reduce the ~150 answers by removing (or at least ranking\n;; lower) answers related to the diseases we know Gleevec treats.\n;;\n;; Seems that the full story is a bit complicated.  There are papers\n;; indicating that imatinib/Gleevec treats diabetes in mouse models.\n;; At least one clinical trial on humans didn't seem to show\n;; improvement.\n(set-subtraction\n '((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\")))\n '((2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   (8679 \"Chronic Disease\" (\"dsyn\"))\n   (5699 \"Blast Phase\" (\"neop\"))\n   (11847 \"Diabetes\" (\"dsyn\"))\n   (16059 \"Fibrosis\" (\"patf\"))\n   (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n   (37274 \"skin disorder\" (\"dsyn\"))\n   (21655 \"Insulin Resistance\" (\"patf\"))\n   (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n   (6826 \"Malignant Neoplasms\" (\"neop\"))\n   (878773 \"Overactive Bladder\" (\"dsyn\"))\n   (332448 \"Infiltration\" (\"patf\"))\n   (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n   (7129 \"Merkel cell carcinoma\" (\"neop\"))\n   (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n   (920563 \"insulin sensitivity\" (\"patf\"))\n   (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n   (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n   (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n   (17636 \"Glioblastoma\" (\"neop\"))\n   (23418 \"leukemia\" (\"neop\"))\n   (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n   (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n   (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n   (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n   (24221 \"Lymphangioma\" (\"neop\"))\n   (25149 \"medulloblastoma\" (\"neop\"))\n   (25202 \"melanoma\" (\"neop\"))\n   (26948 \"Mycosis Fungoides\" (\"neop\"))\n   (27627 \"Neoplasm Metastasis\" (\"neop\"))\n   (27651 \"Neoplasm\" (\"neop\"))\n   (27831 \"Neurofibromatosis 1\" (\"neop\"))\n   (27859 \"Acoustic Neuroma\" (\"neop\"))\n   (35335 \"Retinoblastoma\" (\"neop\"))\n   (85669 \"Acute leukemia\" (\"neop\"))\n   (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n   (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n   (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n   (220633 \"Intraocular melanoma\" (\"neop\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   (242596 \"Neoplasm, Residual\" (\"neop\"))\n   (279543\n    \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n    (\"neop\"))\n   (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n   (280100 \"Solid tumor\" (\"neop\"))\n   (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n   (334569 \"Odontogenic myxoma\" (\"neop\"))\n   (346429 \"Multiple malignancy\" (\"neop\"))\n   (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n   (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n   (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n   (1261473 \"sarcoma\" (\"neop\"))\n   (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n   (1370723 \"Stromal sarcoma\" (\"neop\"))))\n=>\n'((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\")))\n\n;; remove from the 223 disorders or pathologic functions (no neoplasms)\n;; of interest those 53 disorders, neoplasms, or pathologic functions\n;; directly treated by Gleevec\n;;\n;; result is 216 diseases\n(set-subtraction\n '((20522 \"Delayed Hypersensitivity\" (\"patf\"))\n  (10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (2994 \"Angioneurotic Edema\" (\"patf\"))\n  (4372 \"Autolysis\" (\"patf\"))\n  (2792 \"Anaphylaxis\" (\"patf\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (3811 \"cardiac arrhythmia\" (\"patf\"))\n  (12359 \"Pathological Dilatation\" (\"patf\"))\n  (40053 \"Thrombosis\" (\"patf\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (20963 \"Immune Tolerance\" (\"patf\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (920563 \"insulin sensitivity\" (\"patf\"))\n  (1563937 \"Atherogenesis\" (\"patf\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (1349 \"Acute-Phase Reaction\" (\"patf\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (13604 \"Edema\" (\"patf\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (232910 \"Teratogenesis\" (\"patf\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (751015 \"Brain Injury, Ischemic\" (\"patf\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (4238 \"Atrial Fibrillation\" (\"patf\"))\n  (4366 \"Autoimmune Response\" (\"patf\"))\n  (9566 \"Complication\" (\"patf\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1155265 \"innate immune response\" (\"patf\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1122 \"Acidosis\" (\"patf\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (11304 \"Demyelination\" (\"patf\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (21376 \"Chronic inflammation\" (\"patf\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (29445 \"Bone necrosis\" (\"patf\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (36983 \"Septic Shock\" (\"patf\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (85605 \"Liver Failure\" (\"patf\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (151763 \"Liver damage\" (\"patf\"))\n  (231170 \"Disability NOS\" (\"patf\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (334096 \"Intimal proliferation\" (\"patf\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (340515 \"Myocardial dysfunction\" (\"patf\"))\n  (342649 \"Vascular calcification\" (\"patf\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (599877 \"loss; bone\" (\"patf\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (728867 \"Drug effect disorder\" (\"patf\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (877042 \"Graft loss\" (\"patf\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (1516670 \"Clonal Expansion\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\")))\n '((2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   (8679 \"Chronic Disease\" (\"dsyn\"))\n   (5699 \"Blast Phase\" (\"neop\"))\n   (11847 \"Diabetes\" (\"dsyn\"))\n   (16059 \"Fibrosis\" (\"patf\"))\n   (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n   (37274 \"skin disorder\" (\"dsyn\"))\n   (21655 \"Insulin Resistance\" (\"patf\"))\n   (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n   (6826 \"Malignant Neoplasms\" (\"neop\"))\n   (878773 \"Overactive Bladder\" (\"dsyn\"))\n   (332448 \"Infiltration\" (\"patf\"))\n   (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n   (7129 \"Merkel cell carcinoma\" (\"neop\"))\n   (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n   (920563 \"insulin sensitivity\" (\"patf\"))\n   (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n   (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n   (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n   (17636 \"Glioblastoma\" (\"neop\"))\n   (23418 \"leukemia\" (\"neop\"))\n   (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n   (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n   (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n   (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n   (24221 \"Lymphangioma\" (\"neop\"))\n   (25149 \"medulloblastoma\" (\"neop\"))\n   (25202 \"melanoma\" (\"neop\"))\n   (26948 \"Mycosis Fungoides\" (\"neop\"))\n   (27627 \"Neoplasm Metastasis\" (\"neop\"))\n   (27651 \"Neoplasm\" (\"neop\"))\n   (27831 \"Neurofibromatosis 1\" (\"neop\"))\n   (27859 \"Acoustic Neuroma\" (\"neop\"))\n   (35335 \"Retinoblastoma\" (\"neop\"))\n   (85669 \"Acute leukemia\" (\"neop\"))\n   (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n   (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n   (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n   (220633 \"Intraocular melanoma\" (\"neop\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   (242596 \"Neoplasm, Residual\" (\"neop\"))\n   (279543\n    \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n    (\"neop\"))\n   (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n   (280100 \"Solid tumor\" (\"neop\"))\n   (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n   (334569 \"Odontogenic myxoma\" (\"neop\"))\n   (346429 \"Multiple malignancy\" (\"neop\"))\n   (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n   (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n   (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n   (1261473 \"sarcoma\" (\"neop\"))\n   (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n   (1370723 \"Stromal sarcoma\" (\"neop\"))))\n=>\n'((20522 \"Delayed Hypersensitivity\" (\"patf\"))\n  (10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (2994 \"Angioneurotic Edema\" (\"patf\"))\n  (4372 \"Autolysis\" (\"patf\"))\n  (2792 \"Anaphylaxis\" (\"patf\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (3811 \"cardiac arrhythmia\" (\"patf\"))\n  (12359 \"Pathological Dilatation\" (\"patf\"))\n  (40053 \"Thrombosis\" (\"patf\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (20963 \"Immune Tolerance\" (\"patf\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (1563937 \"Atherogenesis\" (\"patf\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (1349 \"Acute-Phase Reaction\" (\"patf\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (13604 \"Edema\" (\"patf\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (232910 \"Teratogenesis\" (\"patf\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (751015 \"Brain Injury, Ischemic\" (\"patf\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (4238 \"Atrial Fibrillation\" (\"patf\"))\n  (4366 \"Autoimmune Response\" (\"patf\"))\n  (9566 \"Complication\" (\"patf\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (1155265 \"innate immune response\" (\"patf\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1122 \"Acidosis\" (\"patf\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (11304 \"Demyelination\" (\"patf\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (21376 \"Chronic inflammation\" (\"patf\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (29445 \"Bone necrosis\" (\"patf\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (36983 \"Septic Shock\" (\"patf\"))\n  (85605 \"Liver Failure\" (\"patf\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (151763 \"Liver damage\" (\"patf\"))\n  (231170 \"Disability NOS\" (\"patf\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (334096 \"Intimal proliferation\" (\"patf\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (340515 \"Myocardial dysfunction\" (\"patf\"))\n  (342649 \"Vascular calcification\" (\"patf\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (599877 \"loss; bone\" (\"patf\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (728867 \"Drug effect disorder\" (\"patf\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (877042 \"Graft loss\" (\"patf\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (1516670 \"Clonal Expansion\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\")))\n\n;; remove from the 295 disorders, neoplasms, or pathologic functions\n;; of interest those 53 disorders, neoplasms, or pathologic functions\n;; directly treated by Gleevec\n;;\n;; result is 275 diseases\n(set-subtraction\n '((20522 \"Delayed Hypersensitivity\" (\"patf\"))\n   (10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n   (41107 \"Trisomy\" (\"dsyn\"))\n   (25517 \"Metabolic Diseases\" (\"dsyn\"))\n   (2994 \"Angioneurotic Edema\" (\"patf\"))\n   (4372 \"Autolysis\" (\"patf\"))\n   (2792 \"Anaphylaxis\" (\"patf\"))\n   (15695 \"Fatty Liver\" (\"dsyn\"))\n   (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n   (17732 \"Glucose Intolerance\" (\"dsyn\"))\n   (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n   (6267 \"Bronchiectasis\" (\"dsyn\"))\n   (11616 \"Contact Dermatitis\" (\"dsyn\"))\n   (32285 \"Pneumonia\" (\"dsyn\"))\n   (1519680 \"Tumor Immunity\" (\"dsyn\"))\n   (242231 \"Coronary Stenosis\" (\"dsyn\"))\n   (729353 \"Subfertility\" (\"dsyn\"))\n   (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n   (33860 \"Psoriasis\" (\"dsyn\"))\n   (3811 \"cardiac arrhythmia\" (\"patf\"))\n   (12359 \"Pathological Dilatation\" (\"patf\"))\n   (30920 \"Peptic Ulcer\" (\"dsyn\"))\n   (87086 \"Thrombus\" (\"dsyn\"))\n   (40053 \"Thrombosis\" (\"patf\"))\n   (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n   (1857 \"AIDS related complex\" (\"dsyn\"))\n   (14038 \"Encephalitis\" (\"dsyn\"))\n   (20963 \"Immune Tolerance\" (\"patf\"))\n   (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n   (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n   (598935 \"Tumor Initiation\" (\"neop\"))\n   (19163 \"Hepatitis B\" (\"dsyn\"))\n   (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n   (153381 \"Malignant neoplasm of mouth\" (\"neop\"))\n   (279702 \"Conventional (Clear Cell) Renal Cell Carcinoma\" (\"neop\"))\n   (35435 \"Rheumatism\" (\"dsyn\"))\n   (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n   (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n   (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n   (231341 \"Premature aging syndrome\" (\"dsyn\"))\n   (334634\n    \"Malignant lymphoma, lymphocytic, intermediate differentiation, diffuse\"\n    (\"neop\"))\n   (476089 \"Endometrial Carcinoma\" (\"neop\"))\n   (278688 \"Ovarian cancer metastatic\" (\"neop\"))\n   (18188 \"Granuloma\" (\"patf\"))\n   (920563 \"insulin sensitivity\" (\"patf\"))\n   (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n   (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n   (1563937 \"Atherogenesis\" (\"patf\"))\n   (14553 \"Absence Epilepsy\" (\"dsyn\"))\n   (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n   (1349 \"Acute-Phase Reaction\" (\"patf\"))\n   (20517 \"Hypersensitivity\" (\"patf\"))\n   (1519697 \"Tumorigenicity\" (\"patf\"))\n   (20437 \"Hypercalcemia\" (\"dsyn\"))\n   (24899 \"mastocytosis\" (\"dsyn\"))\n   (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n   (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n   (28880 \"Odontogenic Tumors\" (\"neop\"))\n   (334044 \"Dysplasia\" (\"neop\"))\n   (1519670 \"Tumor Angiogenesis\" (\"neop\"))\n   (1519689 \"Tumor Promotion\" (\"neop\"))\n   (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n   (4153 \"Atherosclerosis\" (\"dsyn\"))\n   (4623 \"Bacterial Infections\" (\"dsyn\"))\n   (13604 \"Edema\" (\"patf\"))\n   (15397 \"Eye diseases\" (\"dsyn\"))\n   (15376 \"Extravasation\" (\"patf\"))\n   (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n   (376545 \"Hematologic Neoplasms\" (\"neop\"))\n   (26848 \"Myopathy\" (\"dsyn\"))\n   (232910 \"Teratogenesis\" (\"patf\"))\n   (35304 \"Retinal Degeneration\" (\"dsyn\"))\n   (242656 \"Disease Progression\" (\"patf\"))\n   (35309 \"Retinal Diseases\" (\"dsyn\"))\n   (333467 \"Cytopathic effect\" (\"patf\"))\n   (38220 \"Status Epilepticus\" (\"dsyn\"))\n   (751015 \"Brain Injury, Ischemic\" (\"patf\"))\n   (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n   (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n   (1285162 \"Degenerative disorder\" (\"dsyn\"))\n   (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n   (1536085 \"Geographic atrophy\" (\"dsyn\"))\n   (23458 \"Leukemia, Lymphocytic, Chronic\" (\"neop\"))\n   (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n   (20459 \"Hyperinsulinism\" (\"dsyn\"))\n   (1418 \"Adenocarcinoma\" (\"neop\"))\n   (4238 \"Atrial Fibrillation\" (\"patf\"))\n   (9319 \"Colitis\" (\"dsyn\"))\n   (4366 \"Autoimmune Response\" (\"patf\"))\n   (9566 \"Complication\" (\"patf\"))\n   (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n   (19829 \"Hodgkin Disease\" (\"neop\"))\n   (14544 \"Epilepsy\" (\"dsyn\"))\n   (27627 \"Neoplasm Metastasis\" (\"neop\"))\n   (17601 \"Glaucoma\" (\"dsyn\"))\n   (19158 \"Hepatitis\" (\"dsyn\"))\n   (20456 \"Hyperglycemia\" (\"dsyn\"))\n   (20538 \"Hypertensive disease\" (\"dsyn\"))\n   (20550 \"Hyperthyroidism\" (\"dsyn\"))\n   (20615 \"hypoglycemia\" (\"dsyn\"))\n   (21655 \"Insulin Resistance\" (\"patf\"))\n   (27686 \"Pathologic Neovascularization\" (\"patf\"))\n   (278488 \"Breast cancer metastatic\" (\"neop\"))\n   (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n   (29396 \"Ossification, Heterotopic\" (\"patf\"))\n   (30305 \"Pancreatitis\" (\"dsyn\"))\n   (33626 \"Protein Deficiency\" (\"dsyn\"))\n   (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n   (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n   (1391732 \"Cancer cachexia\" (\"neop\"))\n   (151747 \"Renal tubular disorder\" (\"dsyn\"))\n   (1140999 \"Contraction\" (\"patf\"))\n   (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n   (1155265 \"innate immune response\" (\"patf\"))\n   (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n   (270814 \"Spastic syndrome\" (\"dsyn\"))\n   (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n   (878544 \"Cardiomyopathies\" (\"dsyn\"))\n   (948008 \"Ischemic stroke\" (\"dsyn\"))\n   (20507 \"Hyperplasia\" (\"patf\"))\n   (20564 \"Hypertrophy\" (\"patf\"))\n   (24301 \"Lymphoma, Follicular\" (\"neop\"))\n   (235974 \"Pancreatic carcinoma\" (\"neop\"))\n   (279626 \"Squamous cell carcinoma of esophagus\" (\"neop\"))\n   (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n   (1824 \"Agranulocytosis\" (\"dsyn\"))\n   (5001 \"Benign prostatic hypertrophy\" (\"neop\"))\n   (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   (1122 \"Acidosis\" (\"patf\"))\n   (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n   (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n   (2871 \"Anemia\" (\"dsyn\"))\n   (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n   (6826 \"Malignant Neoplasms\" (\"neop\"))\n   (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n   (4368 \"Autoimmunity\" (\"patf\"))\n   (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n   (7097 \"Carcinoma\" (\"neop\"))\n   (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n   (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n   (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n   (11164 \"Degenerative abnormality\" (\"patf\"))\n   (7785 \"Cerebral Infarction\" (\"dsyn\"))\n   (7117 \"Basal cell carcinoma\" (\"neop\"))\n   (11304 \"Demyelination\" (\"patf\"))\n   (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n   (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n   (8370 \"Cholestasis\" (\"dsyn\"))\n   (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n   (7137 \"Squamous cell carcinoma\" (\"neop\"))\n   (11847 \"Diabetes\" (\"dsyn\"))\n   (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n   (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n   (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n   (17639 \"Gliosis\" (\"patf\"))\n   (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n   (17636 \"Glioblastoma\" (\"neop\"))\n   (21308 \"Infarction\" (\"patf\"))\n   (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n   (17638 \"Glioma\" (\"neop\"))\n   (13595 \"Eczema\" (\"dsyn\"))\n   (18916 \"Hemangioma\" (\"neop\"))\n   (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n   (21376 \"Chronic inflammation\" (\"patf\"))\n   (17152 \"Gastritis\" (\"dsyn\"))\n   (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n   (27540 \"Necrosis\" (\"patf\"))\n   (17658 \"Glomerulonephritis\" (\"dsyn\"))\n   (18799 \"Heart Diseases\" (\"dsyn\"))\n   (28778 \"Obstruction\" (\"patf\"))\n   (18801 \"Heart failure\" (\"dsyn\"))\n   (23418 \"leukemia\" (\"neop\"))\n   (19693 \"HIV Infections\" (\"dsyn\"))\n   (29445 \"Bone necrosis\" (\"patf\"))\n   (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n   (20179 \"Huntington Disease\" (\"dsyn\"))\n   (30660 \"Pathologic Processes\" (\"patf\"))\n   (23436 \"Chronic B-Cell Leukemias\" (\"neop\"))\n   (36679 \"Diastasis\" (\"patf\"))\n   (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n   (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n   (21053 \"Immune System Diseases\" (\"dsyn\"))\n   (36974 \"Shock\" (\"patf\"))\n   (21311 \"Infection\" (\"dsyn\"))\n   (21359 \"Infertility\" (\"dsyn\"))\n   (36983 \"Septic Shock\" (\"patf\"))\n   (21364 \"Infertility, Male\" (\"dsyn\"))\n   (23903 \"Liver neoplasms\" (\"neop\"))\n   (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n   (85605 \"Liver Failure\" (\"patf\"))\n   (24121 \"Lung Neoplasms\" (\"neop\"))\n   (22116 \"Ischemia\" (\"dsyn\"))\n   (22658 \"Kidney Diseases\" (\"dsyn\"))\n   (24299 \"Lymphoma\" (\"neop\"))\n   (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n   (151763 \"Liver damage\" (\"patf\"))\n   (23530 \"Leukopenia\" (\"dsyn\"))\n   (231170 \"Disability NOS\" (\"patf\"))\n   (23895 \"Liver diseases\" (\"dsyn\"))\n   (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n   (24312 \"Lymphopenia\" (\"dsyn\"))\n   (24305 \"Lymphoma, Non-Hodgkin's\" (\"neop\"))\n   (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n   (27051 \"Myocardial Infarction\" (\"dsyn\"))\n   (25202 \"melanoma\" (\"neop\"))\n   (27765 \"nervous system disorder\" (\"dsyn\"))\n   (277785 \"Functional disorder\" (\"patf\"))\n   (28754 \"Obesity\" (\"dsyn\"))\n   (26764 \"Multiple Myeloma\" (\"neop\"))\n   (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n   (332448 \"Infiltration\" (\"patf\"))\n   (29456 \"Osteoporosis\" (\"dsyn\"))\n   (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n   (30567 \"Parkinson Disease\" (\"dsyn\"))\n   (31763 \"Photosensitization\" (\"dsyn\"))\n   (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n   (29925 \"Ovarian Carcinoma\" (\"neop\"))\n   (333641 \"Atrophic\" (\"patf\"))\n   (35305 \"Retinal Detachment\" (\"dsyn\"))\n   (333951 \"Growth arrest\" (\"patf\"))\n   (32580 \"Adenomatous Polyposis Coli\" (\"neop\"))\n   (334096 \"Intimal proliferation\" (\"patf\"))\n   (36690 \"Septicemia\" (\"dsyn\"))\n   (33578 \"Prostatic Neoplasms\" (\"neop\"))\n   (340515 \"Myocardial dysfunction\" (\"patf\"))\n   (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n   (35335 \"Retinoblastoma\" (\"neop\"))\n   (39082 \"Syndrome\" (\"dsyn\"))\n   (342649 \"Vascular calcification\" (\"patf\"))\n   (37286 \"Skin Neoplasms\" (\"neop\"))\n   (40034 \"Thrombocytopenia\" (\"dsyn\"))\n   (41296 \"Tuberculosis\" (\"dsyn\"))\n   (79731 \"B-Cell Lymphomas\" (\"neop\"))\n   (42024 \"Urinary Incontinence\" (\"dsyn\"))\n   (599877 \"loss; bone\" (\"patf\"))\n   (42341 \"Varicocele\" (\"dsyn\"))\n   (42721 \"Viral hepatitis\" (\"dsyn\"))\n   (42769 \"Virus Diseases\" (\"dsyn\"))\n   (699748 \"Pathogenesis\" (\"patf\"))\n   (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n   (178874 \"Neoplasm progression\" (\"neop\"))\n   (151650 \"Renal fibrosis\" (\"dsyn\"))\n   (728867 \"Drug effect disorder\" (\"patf\"))\n   (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n   (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n   (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n   (206698 \"Cholangiocarcinoma\" (\"neop\"))\n   (877042 \"Graft loss\" (\"patf\"))\n   (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n   (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n   (879626 \"Adverse effects\" (\"patf\"))\n   (238806 \"BONE MASS\" (\"dsyn\"))\n   (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n   (242350 \"Erectile dysfunction\" (\"dsyn\"))\n   (279000 \"Liver and Intrahepatic Biliary Tract Carcinoma\" (\"neop\"))\n   (242383 \"Age related macular degeneration\" (\"dsyn\"))\n   (1155266 \"Inflammatory Response\" (\"patf\"))\n   (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n   (268731 \"Renal glomerular disease\" (\"dsyn\"))\n   (1395184 \"depolarization\" (\"patf\"))\n   (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n   (1510411 \"metaplastic cell transformation\" (\"patf\"))\n   (280100 \"Solid tumor\" (\"neop\"))\n   (339527 \"Leber's amaurosis\" (\"dsyn\"))\n   (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n   (340970 \"Congenital neutropenia\" (\"dsyn\"))\n   (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n   (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n   (456909 \"Blind Vision\" (\"dsyn\"))\n   (596263 \"Carcinogenesis\" (\"neop\"))\n   (598934 \"tumor growth\" (\"neop\"))\n   (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n   (678222 \"Breast Carcinoma\" (\"neop\"))\n   (677607 \"Hashimoto Disease\" (\"dsyn\"))\n   (686619 \"Secondary malignant neoplasm of lymph node\" (\"neop\"))\n   (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n   (857357 \"Hepatic pathology\" (\"dsyn\"))\n   (1458155 \"Mammary Neoplasms\" (\"neop\"))\n   (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n   (1519346 \"Skin Carcinogenesis\" (\"neop\"))\n   (1519665 \"Tumor-Associated Process\" (\"neop\"))\n   (1281300 \"Vascular degeneration\" (\"dsyn\"))\n   (1608408 \"Malignant transformation\" (\"neop\"))\n   (1456670 \"Nerve Diseases\" (\"dsyn\"))\n   (1516670 \"Clonal Expansion\" (\"patf\"))\n   (4096 \"Asthma\" (\"dsyn\"))\n   (242184 \"Hypoxia\" (\"patf\"))\n   (12634 \"Disease\" (\"dsyn\"))\n   (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n   (16059 \"Fibrosis\" (\"patf\"))\n   (23882 \"Little's Disease\" (\"dsyn\"))\n   (21368 \"Inflammation\" (\"patf\"))\n   (27651 \"Neoplasm\" (\"neop\"))\n   (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n   (1326912 \"Tumorigenesis\" (\"neop\")))\n '((2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   (8679 \"Chronic Disease\" (\"dsyn\"))\n   (5699 \"Blast Phase\" (\"neop\"))\n   (11847 \"Diabetes\" (\"dsyn\"))\n   (16059 \"Fibrosis\" (\"patf\"))\n   (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n   (37274 \"skin disorder\" (\"dsyn\"))\n   (21655 \"Insulin Resistance\" (\"patf\"))\n   (206141 \"Idiopathic Hypereosinophilic Syndrome\" (\"dsyn\"))\n   (6826 \"Malignant Neoplasms\" (\"neop\"))\n   (878773 \"Overactive Bladder\" (\"dsyn\"))\n   (332448 \"Infiltration\" (\"patf\"))\n   (1167698 \"Leukaemic retinopathy\" (\"dsyn\"))\n   (7129 \"Merkel cell carcinoma\" (\"neop\"))\n   (1258104 \"Diffuse Scleroderma\" (\"dsyn\"))\n   (920563 \"insulin sensitivity\" (\"patf\"))\n   (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n   (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n   (17185 \"Gastrointestinal Neoplasms\" (\"neop\"))\n   (17636 \"Glioblastoma\" (\"neop\"))\n   (23418 \"leukemia\" (\"neop\"))\n   (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n   (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n   (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n   (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n   (24221 \"Lymphangioma\" (\"neop\"))\n   (25149 \"medulloblastoma\" (\"neop\"))\n   (25202 \"melanoma\" (\"neop\"))\n   (26948 \"Mycosis Fungoides\" (\"neop\"))\n   (27627 \"Neoplasm Metastasis\" (\"neop\"))\n   (27651 \"Neoplasm\" (\"neop\"))\n   (27831 \"Neurofibromatosis 1\" (\"neop\"))\n   (27859 \"Acoustic Neuroma\" (\"neop\"))\n   (35335 \"Retinoblastoma\" (\"neop\"))\n   (85669 \"Acute leukemia\" (\"neop\"))\n   (152276 \"Granulocytic Sarcoma\" (\"neop\"))\n   (153658 \"Malignant neoplasm of endocrine gland\" (\"neop\"))\n   (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n   (220633 \"Intraocular melanoma\" (\"neop\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   (242596 \"Neoplasm, Residual\" (\"neop\"))\n   (279543\n    \"Philadelphia chromosome positive chronic myelogenous leukemia\"\n    (\"neop\"))\n   (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n   (280100 \"Solid tumor\" (\"neop\"))\n   (334486 \"Sarcoma, Endometrial Stromal, Low-Grade\" (\"neop\"))\n   (334569 \"Odontogenic myxoma\" (\"neop\"))\n   (346429 \"Multiple malignancy\" (\"neop\"))\n   (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n   (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n   (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n   (1261473 \"sarcoma\" (\"neop\"))\n   (1336869 \"Unresectable Malignant Neoplasm\" (\"neop\"))\n   (1370723 \"Stromal sarcoma\" (\"neop\"))))\n\n;; union up all the disorders (\"dysn\"s) affected by celfs of interest which are also manifestations of that celf\n;;\n;; here we are only interested in \"dysn\"s, not neoplasms or pathologic functions\n;;\n;; 154 disorders\n;;\n;; This represents 0.6% of all diseases in the KB,\n;; down from 7.0% if we don't require the backwards MANIFESTATION_OF edge.\n(apply\n union*\n (map\n  (lambda (celf)\n    (let ((disorders\n           (run* (q)\n             (fresh (e1 e2 disorder celf-type disorder-type rest1 rest2)\n               (== disorder q)\n               (== \"dsyn\" disorder-type)\n               (== `(,celf ,disorder \"AFFECTS\" ,celf-type ,disorder-type . ,rest1) e1)\n               (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type ,celf-type . ,rest2) e2)\n               (edgeo e2)\n               (edgeo e1)))))\n      disorders))\n  '((312862 \"Lymphocyte chemotaxis\" (\"celf\"))\n    (1159455 \"syncytium formation\" (\"celf\"))\n    (1372294 \"Increased Endocytosis\" (\"celf\"))\n    (598948 \"axonal guidance\" (\"celf\"))\n    (1159821 \"apoptotic program\" (\"celf\"))\n    (1318468 \"cell-mediated immune response\" (\"celf\"))\n    (1326501 \"eosinophil chemotaxis\" (\"celf\"))\n    (1155303 \"ER-overload response\" (\"celf\"))\n    (1156259 \"cell ion homeostasis\" (\"celf\"))\n    (1159709 \"cholesterol transport\" (\"celf\"))\n    (1276855 \"Monocyte chemotaxis\" (\"celf\"))\n    (1326474 \"vesicle fusion\" (\"celf\"))\n    (1516338 \"Cell Death Induction\" (\"celf\"))\n    (598949 \"axonal sprouting\" (\"celf\"))\n    (1156042 \"endosome transport\" (\"celf\"))\n    (1159824 \"nuclear fragmentation\" (\"celf\"))\n    (1326121 \"astrocyte activation\" (\"celf\"))\n    (25186 \"Meiosis\" (\"celf\"))\n    (1155874 \"Cell Cycle Checkpoint\" (\"celf\"))\n    (1155876 \"DNA replication checkpoint\" (\"celf\"))\n    (1156132 \"vacuolar acidification\" (\"celf\"))\n    (1159689 \"potassium ion transport\" (\"celf\"))\n    (1326080 \"muscle cell differentiation\" (\"celf\"))\n    (1155013 \"T-cell differentiation\" (\"celf\"))\n    (598838 \"membrane assembly\" (\"celf\"))\n    (7580 \"Cell Aggregation\" (\"celf\"))\n    (32174 \"Platelet adhesion\" (\"celf\"))\n    (282636 \"Cell Respiration\" (\"celf\"))\n    (301896 \"Cell-Mediated Cytolysis\" (\"celf\"))\n    (392710 \"Megakaryocytic maturation\" (\"celf\"))\n    (596991 \"myelination\" (\"celf\"))\n    (1156032 \"Microtubule Polymerization\" (\"celf\"))\n    (1159339 \"Protein Secretion\" (\"celf\"))\n    (1159884 \"adipocyte differentiation\" (\"celf\"))\n    (1159938 \"eosinophil differentiation\" (\"celf\"))\n    (1159966 \"myoblast differentiation\" (\"celf\"))\n    (1159978 \"osteoclast differentiation\" (\"celf\"))\n    (1160520 \"oocyte maturation\" (\"celf\"))\n    (1326236 \"filopodium formation\" (\"celf\"))\n    (1326504 \"neuronal migration\" (\"celf\"))\n    (1513082 \"Megakaryocyte Proliferation\" (\"celf\"))\n    (599702 \"reuptake\" (\"celf\"))\n    (312861 \"Neutrophil chemotaxis\" (\"celf\"))\n    (1155792 \"Meiotic Recombination\" (\"celf\"))\n    (1516349 \"Cell Maturation\" (\"celf\"))\n    (1372847 \"Increased Cellular Migration\" (\"celf\"))\n    (312860 \"Neutrophil migration, function\" (\"celf\"))\n    (37841 \"Sperm Capacitation\" (\"celf\"))\n    (1159958 \"neutrophil differentiation\" (\"celf\"))\n    (19595 \"Histamine Release\" (\"celf\"))\n    (31945 \"Pinocytosis\" (\"celf\"))\n    (230871 \"Mitochondrion in division\" (\"celf\"))\n    (525010 \"Autocrine Communication\" (\"celf\"))\n    (600430 \"Calcium Waves\" (\"celf\"))\n    (1155752 \"positive regulation of mitosis\" (\"celf\"))\n    (1155949 \"lamellipodium biogenesis\" (\"celf\"))\n    (1156031 \"Microtubule Depolymerization\" (\"celf\"))\n    (1260960 \"Cytolysis\" (\"celf\"))\n    (1325887 \"focal adhesion formation\" (\"celf\"))\n    (1326341 \"Epithelial Cell Proliferation\" (\"celf\"))\n    (1326356 \"amino acid import\" (\"celf\"))\n    (1522821 \"acidification\" (\"celf\"))\n    (1155046 \"T-Cell Proliferation\" (\"celf\"))\n    (1325893 \"histamine secretion\" (\"celf\"))\n    (7588 \"Cell Degranulation\" (\"celf\"))\n    (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\"))\n    (1159816 \"anti-apoptosis\" (\"celf\"))\n    (1159909 \"keratinocyte differentiation\" (\"celf\"))\n    (1514761 \"Receptor Inhibition\" (\"celf\"))\n    (79396 \"G2 Phase\" (\"celf\"))\n    (1155846\n     \"negative regulation of cyclin dependent protein kinase activity\"\n     (\"celf\"))\n    (1256369 \"insulin secretion\" (\"celf\"))\n    (1326346 \"urothelial cell proliferation\" (\"celf\"))\n    (3261 \"Antibody Formation\" (\"celf\"))\n    (24262 \"Lymphocyte Activation\" (\"celf\"))\n    (206431 \"Antigen Presentation\" (\"celf\"))\n    (1155003 \"B-Cell Activation\" (\"celf\"))\n    (1155004 \"B-cell differentiation\" (\"celf\"))\n    (1155008 \"B Cell Proliferation\" (\"celf\"))\n    (1155229 \"humoral immune response\" (\"celf\"))\n    (1155980 \"actin filament depolymerization\" (\"celf\"))\n    (1327616 \"Cell secretion\" (\"celf\"))\n    (1511002 \"B-Cell Development\" (\"celf\"))\n    (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\"))\n    (7591 \"Cell division phases\" (\"celf\"))\n    (10813 \"Cytokinesis\" (\"celf\"))\n    (14139 \"Endocytosis\" (\"celf\"))\n    (26255 \"Mitosis\" (\"celf\"))\n    (31308 \"Phagocytosis\" (\"celf\"))\n    (32176 \"Platelet aggregation\" (\"celf\"))\n    (37848 \"Sperm Motility\" (\"celf\"))\n    (85416 \"Respiratory Burst\" (\"celf\"))\n    (178666 \"glucose transport\" (\"celf\"))\n    (302167 \"Cap formation\" (\"celf\"))\n    (599893 \"Protein translocation\" (\"celf\"))\n    (600485 \"Acrosome Reaction\" (\"celf\"))\n    (887839 \"Nuclear Import\" (\"celf\"))\n    (949629 \"Bystander Effect\" (\"celf\"))\n    (1155065 \"T-Cell Activation\" (\"celf\"))\n    (1155607 \"autophagic vacuole formation\" (\"celf\"))\n    (1155631 \"Chromosome Condensation\" (\"celf\"))\n    (1155734 \"lamin depolymerization\" (\"celf\"))\n    (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\"))\n    (1155871 \"nuclear migration\" (\"celf\"))\n    (1155872 \"Cell Cycle Regulation\" (\"celf\"))\n    (1155893 \"unidimensional cell growth\" (\"celf\"))\n    (1158774 \"negative regulation of transcription by glucose\" (\"celf\"))\n    (1159442 \"sporulation\" (\"celf\"))\n    (1159512 \"maltose transport\" (\"celf\"))\n    (1159521 \"hexose transport\" (\"celf\"))\n    (1160602 \"cholesterol absorption\" (\"celf\"))\n    (1326207 \"Programmed Cell Death, Type II\" (\"celf\"))\n    (1326220 \"synergid cell death\" (\"celf\"))\n    (1326347 \"fibroblast proliferation\" (\"celf\"))\n    (1326502 \"macrophage chemotaxis\" (\"celf\"))\n    (1511632 \"Cytoskeletal Modeling\" (\"celf\"))\n    (1515126 \"T-Cell Development\" (\"celf\"))\n    (1516340 \"Cell Death Process\" (\"celf\"))\n    (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\"))\n    (1517348 \"G2 Phase Arrest\" (\"celf\"))\n    (1519167 \"S Phase Arrest\" (\"celf\"))\n    (1523105 \"nuclear envelope disassembly\" (\"celf\"))\n    (1523795 \"stress fiber formation\" (\"celf\"))\n    (4462 \"Axonal Transport\" (\"celf\"))\n    (15283 \"Exocytosis\" (\"celf\"))\n    (25564 \"Metaphase\" (\"celf\"))\n    (1450355 \"Prometaphase\" (\"celf\"))\n    (8018 \"Chemotaxis\" (\"celf\"))\n    (1156237 \"Stimulation of Cell Proliferation\" (\"celf\"))\n    (25251 \"Membrane Potentials\" (\"celf\"))\n    (7590 \"Cell division\" (\"celf\"))\n    (7613 \"Cell physiology\" (\"celf\"))\n    (596286 \"Cell Growth Regulation\" (\"celf\"))\n    (598501 \"Chromosome Pairing\" (\"celf\"))\n    (599894 \"targeting\" (\"celf\"))\n    (1155711 \"stem cell division\" (\"celf\"))\n    (1155766 \"centrosome cycle\" (\"celf\"))\n    (1326205 \"Induction of Apoptosis\" (\"celf\"))\n    (1326225 \"cell homeostasis\" (\"celf\"))\n    (4391 \"Autophagy\" (\"celf\"))\n    (7577 \"Cell Adhesion\" (\"celf\"))\n    (7581 \"Cell Aging\" (\"celf\"))\n    (7582 \"Cell Communication\" (\"celf\"))\n    (7586 \"Cell Cycle\" (\"celf\"))\n    (7608 \"cell motility\" (\"celf\"))\n    (24426 \"Macrophage Activation\" (\"celf\"))\n    (37080 \"Signal Pathways\" (\"celf\" \"moft\"))\n    (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\"))\n    (544888 \"Mitotic arrest\" (\"celf\"))\n    (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\"))\n    (598087 \"cell dedifferentiation\" (\"celf\"))\n    (600431 \"Calcium Signaling\" (\"celf\"))\n    (678903 \"Neuronal Transmission\" (\"celf\"))\n    (872097 \"Anoikis\" (\"celf\"))\n    (887840 \"Nuclear Export\" (\"celf\"))\n    (1154382 \"Cell-Cell Adhesion\" (\"celf\"))\n    (1154401 \"cell invasion\" (\"celf\"))\n    (1154413 \"Intercellular Communication\" (\"celf\"))\n    (1158770 \"Transcriptional Regulation\" (\"celf\"))\n    (1158951 \"maintenance of protein localization\" (\"celf\"))\n    (1159946 \"macrophage differentiation\" (\"celf\"))\n    (1159974 \"osteoblast differentiation\" (\"celf\"))\n    (1257985 \"Cross-Priming\" (\"celf\"))\n    (1326057 \"epithelial cell differentiation\" (\"celf\"))\n    (1326120 \"cell activation\" (\"celf\"))\n    (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\"))\n    (1372180 \"Increased Cellular Death\" (\"celf\"))\n    (1515136 \"T-Cell Transformation\" (\"celf\"))\n    (1515432 \"Thymocyte Development\" (\"celf\"))\n    (1515979 \"Anchorage-Independent Growth\" (\"celf\"))\n    (1516334 \"Cell Cycle Progression\" (\"celf\"))\n    (1518147 \"M Phase Arrest\" (\"celf\"))\n    (1523169 \"smooth muscle cell differentiation\" (\"celf\"))\n    (1523298 \"epithelial to mesenchymal transition\" (\"celf\"))\n    (1540661 \"cell fate\" (\"celf\"))\n    (7595 \"Cell Growth\" (\"celf\"))\n    (596290 \"Cell Proliferation\" (\"celf\"))\n    (1155781 \"spindle assembly\" (\"celf\"))\n    (1155873 \"Cell Cycle Arrest\" (\"celf\"))\n    (7587 \"Cell Death\" (\"celf\"))\n    (7620 \"Cell Survival\" (\"celf\"))\n    (13081 \"Down-Regulation\" (\"celf\"))\n    (37083 \"Signal Transduction\" (\"celf\"))\n    (40682 \"cell transformation\" (\"celf\"))\n    (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\"))\n    (162638 \"Apoptosis\" (\"celf\"))\n    (221117 \"Anergy\" (\"celf\"))\n    (1155074 \"mast cell activation\" (\"celf\"))\n    (1514758 \"Receptor Activation\" (\"celf\")))))\n=>\n'((10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (23882 \"Little's Disease\" (\"dsyn\")))\n\n;; union up all the diseases affected by celfs of interest which are also manifestations of that celf\n;;\n;; 295 diseases (223 if neoplasms aren't included, or 154 if neplasms and pathologic functions aren't included)\n;;\n;; This represents 1.2% (or 1.1% or 0.6%) of all diseases in the KB,\n;; down from 7.7% (7.8% or 7.0%) if we don't require the backwards MANIFESTATION_OF edge.\n(apply\n union*\n (map\n  (lambda (celf)\n    (let ((disorders\n           (run* (q)\n             (fresh (e1 e2 disorder celf-type disorder-type rest1 rest2)\n               (== disorder q)\n               (conde\n                 [(== \"dsyn\" disorder-type)]\n                 [(== \"neop\" disorder-type)]\n                 [(== \"patf\" disorder-type)])\n               (== `(,celf ,disorder \"AFFECTS\" ,celf-type ,disorder-type . ,rest1) e1)\n               (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type ,celf-type . ,rest2) e2)\n               (edgeo e2)\n               (edgeo e1)))))\n      disorders))\n  '((312862 \"Lymphocyte chemotaxis\" (\"celf\"))\n    (1159455 \"syncytium formation\" (\"celf\"))\n    (1372294 \"Increased Endocytosis\" (\"celf\"))\n    (598948 \"axonal guidance\" (\"celf\"))\n    (1159821 \"apoptotic program\" (\"celf\"))\n    (1318468 \"cell-mediated immune response\" (\"celf\"))\n    (1326501 \"eosinophil chemotaxis\" (\"celf\"))\n    (1155303 \"ER-overload response\" (\"celf\"))\n    (1156259 \"cell ion homeostasis\" (\"celf\"))\n    (1159709 \"cholesterol transport\" (\"celf\"))\n    (1276855 \"Monocyte chemotaxis\" (\"celf\"))\n    (1326474 \"vesicle fusion\" (\"celf\"))\n    (1516338 \"Cell Death Induction\" (\"celf\"))\n    (598949 \"axonal sprouting\" (\"celf\"))\n    (1156042 \"endosome transport\" (\"celf\"))\n    (1159824 \"nuclear fragmentation\" (\"celf\"))\n    (1326121 \"astrocyte activation\" (\"celf\"))\n    (25186 \"Meiosis\" (\"celf\"))\n    (1155874 \"Cell Cycle Checkpoint\" (\"celf\"))\n    (1155876 \"DNA replication checkpoint\" (\"celf\"))\n    (1156132 \"vacuolar acidification\" (\"celf\"))\n    (1159689 \"potassium ion transport\" (\"celf\"))\n    (1326080 \"muscle cell differentiation\" (\"celf\"))\n    (1155013 \"T-cell differentiation\" (\"celf\"))\n    (598838 \"membrane assembly\" (\"celf\"))\n    (7580 \"Cell Aggregation\" (\"celf\"))\n    (32174 \"Platelet adhesion\" (\"celf\"))\n    (282636 \"Cell Respiration\" (\"celf\"))\n    (301896 \"Cell-Mediated Cytolysis\" (\"celf\"))\n    (392710 \"Megakaryocytic maturation\" (\"celf\"))\n    (596991 \"myelination\" (\"celf\"))\n    (1156032 \"Microtubule Polymerization\" (\"celf\"))\n    (1159339 \"Protein Secretion\" (\"celf\"))\n    (1159884 \"adipocyte differentiation\" (\"celf\"))\n    (1159938 \"eosinophil differentiation\" (\"celf\"))\n    (1159966 \"myoblast differentiation\" (\"celf\"))\n    (1159978 \"osteoclast differentiation\" (\"celf\"))\n    (1160520 \"oocyte maturation\" (\"celf\"))\n    (1326236 \"filopodium formation\" (\"celf\"))\n    (1326504 \"neuronal migration\" (\"celf\"))\n    (1513082 \"Megakaryocyte Proliferation\" (\"celf\"))\n    (599702 \"reuptake\" (\"celf\"))\n    (312861 \"Neutrophil chemotaxis\" (\"celf\"))\n    (1155792 \"Meiotic Recombination\" (\"celf\"))\n    (1516349 \"Cell Maturation\" (\"celf\"))\n    (1372847 \"Increased Cellular Migration\" (\"celf\"))\n    (312860 \"Neutrophil migration, function\" (\"celf\"))\n    (37841 \"Sperm Capacitation\" (\"celf\"))\n    (1159958 \"neutrophil differentiation\" (\"celf\"))\n    (19595 \"Histamine Release\" (\"celf\"))\n    (31945 \"Pinocytosis\" (\"celf\"))\n    (230871 \"Mitochondrion in division\" (\"celf\"))\n    (525010 \"Autocrine Communication\" (\"celf\"))\n    (600430 \"Calcium Waves\" (\"celf\"))\n    (1155752 \"positive regulation of mitosis\" (\"celf\"))\n    (1155949 \"lamellipodium biogenesis\" (\"celf\"))\n    (1156031 \"Microtubule Depolymerization\" (\"celf\"))\n    (1260960 \"Cytolysis\" (\"celf\"))\n    (1325887 \"focal adhesion formation\" (\"celf\"))\n    (1326341 \"Epithelial Cell Proliferation\" (\"celf\"))\n    (1326356 \"amino acid import\" (\"celf\"))\n    (1522821 \"acidification\" (\"celf\"))\n    (1155046 \"T-Cell Proliferation\" (\"celf\"))\n    (1325893 \"histamine secretion\" (\"celf\"))\n    (7588 \"Cell Degranulation\" (\"celf\"))\n    (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\"))\n    (1159816 \"anti-apoptosis\" (\"celf\"))\n    (1159909 \"keratinocyte differentiation\" (\"celf\"))\n    (1514761 \"Receptor Inhibition\" (\"celf\"))\n    (79396 \"G2 Phase\" (\"celf\"))\n    (1155846\n     \"negative regulation of cyclin dependent protein kinase activity\"\n     (\"celf\"))\n    (1256369 \"insulin secretion\" (\"celf\"))\n    (1326346 \"urothelial cell proliferation\" (\"celf\"))\n    (3261 \"Antibody Formation\" (\"celf\"))\n    (24262 \"Lymphocyte Activation\" (\"celf\"))\n    (206431 \"Antigen Presentation\" (\"celf\"))\n    (1155003 \"B-Cell Activation\" (\"celf\"))\n    (1155004 \"B-cell differentiation\" (\"celf\"))\n    (1155008 \"B Cell Proliferation\" (\"celf\"))\n    (1155229 \"humoral immune response\" (\"celf\"))\n    (1155980 \"actin filament depolymerization\" (\"celf\"))\n    (1327616 \"Cell secretion\" (\"celf\"))\n    (1511002 \"B-Cell Development\" (\"celf\"))\n    (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\"))\n    (7591 \"Cell division phases\" (\"celf\"))\n    (10813 \"Cytokinesis\" (\"celf\"))\n    (14139 \"Endocytosis\" (\"celf\"))\n    (26255 \"Mitosis\" (\"celf\"))\n    (31308 \"Phagocytosis\" (\"celf\"))\n    (32176 \"Platelet aggregation\" (\"celf\"))\n    (37848 \"Sperm Motility\" (\"celf\"))\n    (85416 \"Respiratory Burst\" (\"celf\"))\n    (178666 \"glucose transport\" (\"celf\"))\n    (302167 \"Cap formation\" (\"celf\"))\n    (599893 \"Protein translocation\" (\"celf\"))\n    (600485 \"Acrosome Reaction\" (\"celf\"))\n    (887839 \"Nuclear Import\" (\"celf\"))\n    (949629 \"Bystander Effect\" (\"celf\"))\n    (1155065 \"T-Cell Activation\" (\"celf\"))\n    (1155607 \"autophagic vacuole formation\" (\"celf\"))\n    (1155631 \"Chromosome Condensation\" (\"celf\"))\n    (1155734 \"lamin depolymerization\" (\"celf\"))\n    (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\"))\n    (1155871 \"nuclear migration\" (\"celf\"))\n    (1155872 \"Cell Cycle Regulation\" (\"celf\"))\n    (1155893 \"unidimensional cell growth\" (\"celf\"))\n    (1158774 \"negative regulation of transcription by glucose\" (\"celf\"))\n    (1159442 \"sporulation\" (\"celf\"))\n    (1159512 \"maltose transport\" (\"celf\"))\n    (1159521 \"hexose transport\" (\"celf\"))\n    (1160602 \"cholesterol absorption\" (\"celf\"))\n    (1326207 \"Programmed Cell Death, Type II\" (\"celf\"))\n    (1326220 \"synergid cell death\" (\"celf\"))\n    (1326347 \"fibroblast proliferation\" (\"celf\"))\n    (1326502 \"macrophage chemotaxis\" (\"celf\"))\n    (1511632 \"Cytoskeletal Modeling\" (\"celf\"))\n    (1515126 \"T-Cell Development\" (\"celf\"))\n    (1516340 \"Cell Death Process\" (\"celf\"))\n    (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\"))\n    (1517348 \"G2 Phase Arrest\" (\"celf\"))\n    (1519167 \"S Phase Arrest\" (\"celf\"))\n    (1523105 \"nuclear envelope disassembly\" (\"celf\"))\n    (1523795 \"stress fiber formation\" (\"celf\"))\n    (4462 \"Axonal Transport\" (\"celf\"))\n    (15283 \"Exocytosis\" (\"celf\"))\n    (25564 \"Metaphase\" (\"celf\"))\n    (1450355 \"Prometaphase\" (\"celf\"))\n    (8018 \"Chemotaxis\" (\"celf\"))\n    (1156237 \"Stimulation of Cell Proliferation\" (\"celf\"))\n    (25251 \"Membrane Potentials\" (\"celf\"))\n    (7590 \"Cell division\" (\"celf\"))\n    (7613 \"Cell physiology\" (\"celf\"))\n    (596286 \"Cell Growth Regulation\" (\"celf\"))\n    (598501 \"Chromosome Pairing\" (\"celf\"))\n    (599894 \"targeting\" (\"celf\"))\n    (1155711 \"stem cell division\" (\"celf\"))\n    (1155766 \"centrosome cycle\" (\"celf\"))\n    (1326205 \"Induction of Apoptosis\" (\"celf\"))\n    (1326225 \"cell homeostasis\" (\"celf\"))\n    (4391 \"Autophagy\" (\"celf\"))\n    (7577 \"Cell Adhesion\" (\"celf\"))\n    (7581 \"Cell Aging\" (\"celf\"))\n    (7582 \"Cell Communication\" (\"celf\"))\n    (7586 \"Cell Cycle\" (\"celf\"))\n    (7608 \"cell motility\" (\"celf\"))\n    (24426 \"Macrophage Activation\" (\"celf\"))\n    (37080 \"Signal Pathways\" (\"celf\" \"moft\"))\n    (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\"))\n    (544888 \"Mitotic arrest\" (\"celf\"))\n    (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\"))\n    (598087 \"cell dedifferentiation\" (\"celf\"))\n    (600431 \"Calcium Signaling\" (\"celf\"))\n    (678903 \"Neuronal Transmission\" (\"celf\"))\n    (872097 \"Anoikis\" (\"celf\"))\n    (887840 \"Nuclear Export\" (\"celf\"))\n    (1154382 \"Cell-Cell Adhesion\" (\"celf\"))\n    (1154401 \"cell invasion\" (\"celf\"))\n    (1154413 \"Intercellular Communication\" (\"celf\"))\n    (1158770 \"Transcriptional Regulation\" (\"celf\"))\n    (1158951 \"maintenance of protein localization\" (\"celf\"))\n    (1159946 \"macrophage differentiation\" (\"celf\"))\n    (1159974 \"osteoblast differentiation\" (\"celf\"))\n    (1257985 \"Cross-Priming\" (\"celf\"))\n    (1326057 \"epithelial cell differentiation\" (\"celf\"))\n    (1326120 \"cell activation\" (\"celf\"))\n    (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\"))\n    (1372180 \"Increased Cellular Death\" (\"celf\"))\n    (1515136 \"T-Cell Transformation\" (\"celf\"))\n    (1515432 \"Thymocyte Development\" (\"celf\"))\n    (1515979 \"Anchorage-Independent Growth\" (\"celf\"))\n    (1516334 \"Cell Cycle Progression\" (\"celf\"))\n    (1518147 \"M Phase Arrest\" (\"celf\"))\n    (1523169 \"smooth muscle cell differentiation\" (\"celf\"))\n    (1523298 \"epithelial to mesenchymal transition\" (\"celf\"))\n    (1540661 \"cell fate\" (\"celf\"))\n    (7595 \"Cell Growth\" (\"celf\"))\n    (596290 \"Cell Proliferation\" (\"celf\"))\n    (1155781 \"spindle assembly\" (\"celf\"))\n    (1155873 \"Cell Cycle Arrest\" (\"celf\"))\n    (7587 \"Cell Death\" (\"celf\"))\n    (7620 \"Cell Survival\" (\"celf\"))\n    (13081 \"Down-Regulation\" (\"celf\"))\n    (37083 \"Signal Transduction\" (\"celf\"))\n    (40682 \"cell transformation\" (\"celf\"))\n    (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\"))\n    (162638 \"Apoptosis\" (\"celf\"))\n    (221117 \"Anergy\" (\"celf\"))\n    (1155074 \"mast cell activation\" (\"celf\"))\n    (1514758 \"Receptor Activation\" (\"celf\")))))\n=>\n'((20522 \"Delayed Hypersensitivity\" (\"patf\"))\n  (10054 \"Coronary Arteriosclerosis\" (\"dsyn\"))\n  (41107 \"Trisomy\" (\"dsyn\"))\n  (25517 \"Metabolic Diseases\" (\"dsyn\"))\n  (2994 \"Angioneurotic Edema\" (\"patf\"))\n  (4372 \"Autolysis\" (\"patf\"))\n  (2792 \"Anaphylaxis\" (\"patf\"))\n  (15695 \"Fatty Liver\" (\"dsyn\"))\n  (752304 \"Hypoxic-Ischemic Encephalopathy\" (\"dsyn\"))\n  (17732 \"Glucose Intolerance\" (\"dsyn\"))\n  (158981 \"Neonatal diabetes mellitus\" (\"dsyn\"))\n  (6267 \"Bronchiectasis\" (\"dsyn\"))\n  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n  (32285 \"Pneumonia\" (\"dsyn\"))\n  (1519680 \"Tumor Immunity\" (\"dsyn\"))\n  (242231 \"Coronary Stenosis\" (\"dsyn\"))\n  (729353 \"Subfertility\" (\"dsyn\"))\n  (9447 \"Common Variable Immunodeficiency\" (\"dsyn\"))\n  (33860 \"Psoriasis\" (\"dsyn\"))\n  (3811 \"cardiac arrhythmia\" (\"patf\"))\n  (12359 \"Pathological Dilatation\" (\"patf\"))\n  (30920 \"Peptic Ulcer\" (\"dsyn\"))\n  (87086 \"Thrombus\" (\"dsyn\"))\n  (40053 \"Thrombosis\" (\"patf\"))\n  (339510 \"Vitelliform dystrophy\" (\"dsyn\"))\n  (1857 \"AIDS related complex\" (\"dsyn\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (20963 \"Immune Tolerance\" (\"patf\"))\n  (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n  (35334 \"Retinitis Pigmentosa\" (\"dsyn\"))\n  (598935 \"Tumor Initiation\" (\"neop\"))\n  (19163 \"Hepatitis B\" (\"dsyn\"))\n  (27055 \"Myocardial Reperfusion Injury\" (\"patf\"))\n  (153381 \"Malignant neoplasm of mouth\" (\"neop\"))\n  (279702 \"Conventional (Clear Cell) Renal Cell Carcinoma\" (\"neop\"))\n  (35435 \"Rheumatism\" (\"dsyn\"))\n  (38525 \"Subarachnoid Hemorrhage\" (\"dsyn\"))\n  (221757 \"alpha 1-Antitrypsin Deficiency\" (\"dsyn\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (231341 \"Premature aging syndrome\" (\"dsyn\"))\n  (334634\n   \"Malignant lymphoma, lymphocytic, intermediate differentiation, diffuse\"\n   (\"neop\"))\n  (476089 \"Endometrial Carcinoma\" (\"neop\"))\n  (278688 \"Ovarian cancer metastatic\" (\"neop\"))\n  (18188 \"Granuloma\" (\"patf\"))\n  (920563 \"insulin sensitivity\" (\"patf\"))\n  (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n  (24623 \"Malignant neoplasm of stomach\" (\"neop\"))\n  (1563937 \"Atherogenesis\" (\"patf\"))\n  (14553 \"Absence Epilepsy\" (\"dsyn\"))\n  (19151 \"Hepatic Encephalopathy\" (\"dsyn\"))\n  (1349 \"Acute-Phase Reaction\" (\"patf\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (1519697 \"Tumorigenicity\" (\"patf\"))\n  (20437 \"Hypercalcemia\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (23448 \"Lymphoblastic Leukemia\" (\"neop\"))\n  (178664 \"Glomerulosclerosis\" (\"dsyn\"))\n  (28880 \"Odontogenic Tumors\" (\"neop\"))\n  (334044 \"Dysplasia\" (\"neop\"))\n  (1519670 \"Tumor Angiogenesis\" (\"neop\"))\n  (1519689 \"Tumor Promotion\" (\"neop\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (4153 \"Atherosclerosis\" (\"dsyn\"))\n  (4623 \"Bacterial Infections\" (\"dsyn\"))\n  (13604 \"Edema\" (\"patf\"))\n  (15397 \"Eye diseases\" (\"dsyn\"))\n  (15376 \"Extravasation\" (\"patf\"))\n  (21051 \"Immunologic Deficiency Syndromes\" (\"dsyn\"))\n  (376545 \"Hematologic Neoplasms\" (\"neop\"))\n  (26848 \"Myopathy\" (\"dsyn\"))\n  (232910 \"Teratogenesis\" (\"patf\"))\n  (35304 \"Retinal Degeneration\" (\"dsyn\"))\n  (242656 \"Disease Progression\" (\"patf\"))\n  (35309 \"Retinal Diseases\" (\"dsyn\"))\n  (333467 \"Cytopathic effect\" (\"patf\"))\n  (38220 \"Status Epilepticus\" (\"dsyn\"))\n  (751015 \"Brain Injury, Ischemic\" (\"patf\"))\n  (85084 \"Motor Neuron Disease\" (\"dsyn\"))\n  (339573 \"Primary open angle glaucoma\" (\"dsyn\"))\n  (1285162 \"Degenerative disorder\" (\"dsyn\"))\n  (1290884 \"Inflammatory disorder\" (\"dsyn\"))\n  (1536085 \"Geographic atrophy\" (\"dsyn\"))\n  (23458 \"Leukemia, Lymphocytic, Chronic\" (\"neop\"))\n  (18133 \"Graft-vs-Host Disease\" (\"dsyn\"))\n  (20459 \"Hyperinsulinism\" (\"dsyn\"))\n  (1418 \"Adenocarcinoma\" (\"neop\"))\n  (4238 \"Atrial Fibrillation\" (\"patf\"))\n  (9319 \"Colitis\" (\"dsyn\"))\n  (4366 \"Autoimmune Response\" (\"patf\"))\n  (9566 \"Complication\" (\"patf\"))\n  (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n  (19829 \"Hodgkin Disease\" (\"neop\"))\n  (14544 \"Epilepsy\" (\"dsyn\"))\n  (27627 \"Neoplasm Metastasis\" (\"neop\"))\n  (17601 \"Glaucoma\" (\"dsyn\"))\n  (19158 \"Hepatitis\" (\"dsyn\"))\n  (20456 \"Hyperglycemia\" (\"dsyn\"))\n  (20538 \"Hypertensive disease\" (\"dsyn\"))\n  (20550 \"Hyperthyroidism\" (\"dsyn\"))\n  (20615 \"hypoglycemia\" (\"dsyn\"))\n  (21655 \"Insulin Resistance\" (\"patf\"))\n  (27686 \"Pathologic Neovascularization\" (\"patf\"))\n  (278488 \"Breast cancer metastatic\" (\"neop\"))\n  (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n  (29396 \"Ossification, Heterotopic\" (\"patf\"))\n  (30305 \"Pancreatitis\" (\"dsyn\"))\n  (33626 \"Protein Deficiency\" (\"dsyn\"))\n  (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n  (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n  (1391732 \"Cancer cachexia\" (\"neop\"))\n  (151747 \"Renal tubular disorder\" (\"dsyn\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n  (1155265 \"innate immune response\" (\"patf\"))\n  (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n  (270814 \"Spastic syndrome\" (\"dsyn\"))\n  (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n  (878544 \"Cardiomyopathies\" (\"dsyn\"))\n  (948008 \"Ischemic stroke\" (\"dsyn\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (20564 \"Hypertrophy\" (\"patf\"))\n  (24301 \"Lymphoma, Follicular\" (\"neop\"))\n  (235974 \"Pancreatic carcinoma\" (\"neop\"))\n  (279626 \"Squamous cell carcinoma of esophagus\" (\"neop\"))\n  (1175 \"Acquired Immunodeficiency Syndrome\" (\"dsyn\"))\n  (1824 \"Agranulocytosis\" (\"dsyn\"))\n  (5001 \"Benign prostatic hypertrophy\" (\"neop\"))\n  (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (1122 \"Acidosis\" (\"patf\"))\n  (2736 \"Amyotrophic Lateral Sclerosis\" (\"dsyn\"))\n  (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n  (2871 \"Anemia\" (\"dsyn\"))\n  (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n  (4368 \"Autoimmunity\" (\"patf\"))\n  (4364 \"Autoimmune Diseases\" (\"dsyn\"))\n  (7097 \"Carcinoma\" (\"neop\"))\n  (7193 \"Cardiomyopathy, Dilated\" (\"dsyn\"))\n  (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n  (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n  (11164 \"Degenerative abnormality\" (\"patf\"))\n  (7785 \"Cerebral Infarction\" (\"dsyn\"))\n  (7117 \"Basal cell carcinoma\" (\"neop\"))\n  (11304 \"Demyelination\" (\"patf\"))\n  (8312 \"Primary biliary cirrhosis\" (\"dsyn\"))\n  (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n  (8370 \"Cholestasis\" (\"dsyn\"))\n  (11615 \"Dermatitis, Atopic\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (11849 \"Diabetes Mellitus\" (\"dsyn\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n  (17639 \"Gliosis\" (\"patf\"))\n  (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n  (17636 \"Glioblastoma\" (\"neop\"))\n  (21308 \"Infarction\" (\"patf\"))\n  (11884 \"Diabetic Retinopathy\" (\"dsyn\"))\n  (17638 \"Glioma\" (\"neop\"))\n  (13595 \"Eczema\" (\"dsyn\"))\n  (18916 \"Hemangioma\" (\"neop\"))\n  (14175 \"Endometriosis, site unspecified\" (\"dsyn\"))\n  (21376 \"Chronic inflammation\" (\"patf\"))\n  (17152 \"Gastritis\" (\"dsyn\"))\n  (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n  (27540 \"Necrosis\" (\"patf\"))\n  (17658 \"Glomerulonephritis\" (\"dsyn\"))\n  (18799 \"Heart Diseases\" (\"dsyn\"))\n  (28778 \"Obstruction\" (\"patf\"))\n  (18801 \"Heart failure\" (\"dsyn\"))\n  (23418 \"leukemia\" (\"neop\"))\n  (19693 \"HIV Infections\" (\"dsyn\"))\n  (29445 \"Bone necrosis\" (\"patf\"))\n  (23434 \"Chronic Lymphocytic Leukemia\" (\"neop\"))\n  (20179 \"Huntington Disease\" (\"dsyn\"))\n  (30660 \"Pathologic Processes\" (\"patf\"))\n  (23436 \"Chronic B-Cell Leukemias\" (\"neop\"))\n  (36679 \"Diastasis\" (\"patf\"))\n  (20542 \"Hypertension, Pulmonary\" (\"dsyn\"))\n  (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n  (21053 \"Immune System Diseases\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (21311 \"Infection\" (\"dsyn\"))\n  (21359 \"Infertility\" (\"dsyn\"))\n  (36983 \"Septic Shock\" (\"patf\"))\n  (21364 \"Infertility, Male\" (\"dsyn\"))\n  (23903 \"Liver neoplasms\" (\"neop\"))\n  (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n  (85605 \"Liver Failure\" (\"patf\"))\n  (24121 \"Lung Neoplasms\" (\"neop\"))\n  (22116 \"Ischemia\" (\"dsyn\"))\n  (22658 \"Kidney Diseases\" (\"dsyn\"))\n  (24299 \"Lymphoma\" (\"neop\"))\n  (22660 \"Kidney Failure, Acute\" (\"dsyn\"))\n  (151763 \"Liver damage\" (\"patf\"))\n  (23530 \"Leukopenia\" (\"dsyn\"))\n  (231170 \"Disability NOS\" (\"patf\"))\n  (23895 \"Liver diseases\" (\"dsyn\"))\n  (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n  (24312 \"Lymphopenia\" (\"dsyn\"))\n  (24305 \"Lymphoma, Non-Hodgkin's\" (\"neop\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (27765 \"nervous system disorder\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (28754 \"Obesity\" (\"dsyn\"))\n  (26764 \"Multiple Myeloma\" (\"neop\"))\n  (29408 \"Degenerative polyarthritis\" (\"dsyn\"))\n  (332448 \"Infiltration\" (\"patf\"))\n  (29456 \"Osteoporosis\" (\"dsyn\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (30567 \"Parkinson Disease\" (\"dsyn\"))\n  (31763 \"Photosensitization\" (\"dsyn\"))\n  (32914 \"Pre-Eclampsia\" (\"dsyn\"))\n  (29925 \"Ovarian Carcinoma\" (\"neop\"))\n  (333641 \"Atrophic\" (\"patf\"))\n  (35305 \"Retinal Detachment\" (\"dsyn\"))\n  (333951 \"Growth arrest\" (\"patf\"))\n  (32580 \"Adenomatous Polyposis Coli\" (\"neop\"))\n  (334096 \"Intimal proliferation\" (\"patf\"))\n  (36690 \"Septicemia\" (\"dsyn\"))\n  (33578 \"Prostatic Neoplasms\" (\"neop\"))\n  (340515 \"Myocardial dysfunction\" (\"patf\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (35335 \"Retinoblastoma\" (\"neop\"))\n  (39082 \"Syndrome\" (\"dsyn\"))\n  (342649 \"Vascular calcification\" (\"patf\"))\n  (37286 \"Skin Neoplasms\" (\"neop\"))\n  (40034 \"Thrombocytopenia\" (\"dsyn\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (79731 \"B-Cell Lymphomas\" (\"neop\"))\n  (42024 \"Urinary Incontinence\" (\"dsyn\"))\n  (599877 \"loss; bone\" (\"patf\"))\n  (42341 \"Varicocele\" (\"dsyn\"))\n  (42721 \"Viral hepatitis\" (\"dsyn\"))\n  (42769 \"Virus Diseases\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (86543 \"Cataract\" (\"anab\" \"dsyn\"))\n  (178874 \"Neoplasm progression\" (\"neop\"))\n  (151650 \"Renal fibrosis\" (\"dsyn\"))\n  (728867 \"Drug effect disorder\" (\"patf\"))\n  (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n  (158266 \"Degenerative disc disease NOS\" (\"dsyn\"))\n  (162557 \"Liver Failure, Acute\" (\"dsyn\"))\n  (206698 \"Cholangiocarcinoma\" (\"neop\"))\n  (877042 \"Graft loss\" (\"patf\"))\n  (162871 \"Aortic Aneurysm, Abdominal\" (\"dsyn\"))\n  (206139 \"Lichen Planus, Oral\" (\"dsyn\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (238806 \"BONE MASS\" (\"dsyn\"))\n  (242379 \"Malignant neoplasm of lung\" (\"neop\"))\n  (242350 \"Erectile dysfunction\" (\"dsyn\"))\n  (279000 \"Liver and Intrahepatic Biliary Tract Carcinoma\" (\"neop\"))\n  (242383 \"Age related macular degeneration\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (242422 \"Parkinsonian Disorders\" (\"dsyn\"))\n  (268731 \"Renal glomerular disease\" (\"dsyn\"))\n  (1395184 \"depolarization\" (\"patf\"))\n  (270994 \"Steroid-induced myopathy\" (\"dsyn\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\"))\n  (280100 \"Solid tumor\" (\"neop\"))\n  (339527 \"Leber's amaurosis\" (\"dsyn\"))\n  (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n  (340970 \"Congenital neutropenia\" (\"dsyn\"))\n  (343641 \"Human papilloma virus infection\" (\"dsyn\"))\n  (494165 \"Secondary malignant neoplasm of liver\" (\"neop\"))\n  (456909 \"Blind Vision\" (\"dsyn\"))\n  (596263 \"Carcinogenesis\" (\"neop\"))\n  (598934 \"tumor growth\" (\"neop\"))\n  (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n  (678222 \"Breast Carcinoma\" (\"neop\"))\n  (677607 \"Hashimoto Disease\" (\"dsyn\"))\n  (686619 \"Secondary malignant neoplasm of lymph node\" (\"neop\"))\n  (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n  (857357 \"Hepatic pathology\" (\"dsyn\"))\n  (1458155 \"Mammary Neoplasms\" (\"neop\"))\n  (917798 \"Cerebral Ischemia\" (\"dsyn\"))\n  (1519346 \"Skin Carcinogenesis\" (\"neop\"))\n  (1519665 \"Tumor-Associated Process\" (\"neop\"))\n  (1281300 \"Vascular degeneration\" (\"dsyn\"))\n  (1608408 \"Malignant transformation\" (\"neop\"))\n  (1456670 \"Nerve Diseases\" (\"dsyn\"))\n  (1516670 \"Clonal Expansion\" (\"patf\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (22661 \"Kidney Failure, Chronic\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  (23882 \"Little's Disease\" (\"dsyn\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\")))\n\n;; only the celfs Signal Transduction and mast cell activation affect asthma, and\n;; for which asthma is a manifestation of that celf (of the 189 celfs of interest)\n> (filter\n   (lambda (l) (cadr l))\n   (map\n    (lambda (celf)\n      (let ((disorders\n             (run* (q)\n               (fresh (e1 e2 disorder celf-type disorder-type rest1 rest2)\n                 (== disorder q)\n                 (conde\n                   [(== \"dsyn\" disorder-type)]\n                   [(== \"neop\" disorder-type)]\n                   [(== \"patf\" disorder-type)])\n                 (== `(,celf ,disorder \"AFFECTS\" ,celf-type ,disorder-type . ,rest1) e1)\n                 (== `(,disorder ,celf \"MANIFESTATION_OF\" ,disorder-type ,celf-type . ,rest2) e2)\n                 (edgeo e2)\n                 (edgeo e1)))))\n        (list celf (and (member '(4096 \"Asthma\" (\"dsyn\")) disorders)#t) disorders)))\n    '((312862 \"Lymphocyte chemotaxis\" (\"celf\"))\n      (1159455 \"syncytium formation\" (\"celf\"))\n      (1372294 \"Increased Endocytosis\" (\"celf\"))\n      (598948 \"axonal guidance\" (\"celf\"))\n      (1159821 \"apoptotic program\" (\"celf\"))\n      (1318468 \"cell-mediated immune response\" (\"celf\"))\n      (1326501 \"eosinophil chemotaxis\" (\"celf\"))\n      (1155303 \"ER-overload response\" (\"celf\"))\n      (1156259 \"cell ion homeostasis\" (\"celf\"))\n      (1159709 \"cholesterol transport\" (\"celf\"))\n      (1276855 \"Monocyte chemotaxis\" (\"celf\"))\n      (1326474 \"vesicle fusion\" (\"celf\"))\n      (1516338 \"Cell Death Induction\" (\"celf\"))\n      (598949 \"axonal sprouting\" (\"celf\"))\n      (1156042 \"endosome transport\" (\"celf\"))\n      (1159824 \"nuclear fragmentation\" (\"celf\"))\n      (1326121 \"astrocyte activation\" (\"celf\"))\n      (25186 \"Meiosis\" (\"celf\"))\n      (1155874 \"Cell Cycle Checkpoint\" (\"celf\"))\n      (1155876 \"DNA replication checkpoint\" (\"celf\"))\n      (1156132 \"vacuolar acidification\" (\"celf\"))\n      (1159689 \"potassium ion transport\" (\"celf\"))\n      (1326080 \"muscle cell differentiation\" (\"celf\"))\n      (1155013 \"T-cell differentiation\" (\"celf\"))\n      (598838 \"membrane assembly\" (\"celf\"))\n      (7580 \"Cell Aggregation\" (\"celf\"))\n      (32174 \"Platelet adhesion\" (\"celf\"))\n      (282636 \"Cell Respiration\" (\"celf\"))\n      (301896 \"Cell-Mediated Cytolysis\" (\"celf\"))\n      (392710 \"Megakaryocytic maturation\" (\"celf\"))\n      (596991 \"myelination\" (\"celf\"))\n      (1156032 \"Microtubule Polymerization\" (\"celf\"))\n      (1159339 \"Protein Secretion\" (\"celf\"))\n      (1159884 \"adipocyte differentiation\" (\"celf\"))\n      (1159938 \"eosinophil differentiation\" (\"celf\"))\n      (1159966 \"myoblast differentiation\" (\"celf\"))\n      (1159978 \"osteoclast differentiation\" (\"celf\"))\n      (1160520 \"oocyte maturation\" (\"celf\"))\n      (1326236 \"filopodium formation\" (\"celf\"))\n      (1326504 \"neuronal migration\" (\"celf\"))\n      (1513082 \"Megakaryocyte Proliferation\" (\"celf\"))\n      (599702 \"reuptake\" (\"celf\"))\n      (312861 \"Neutrophil chemotaxis\" (\"celf\"))\n      (1155792 \"Meiotic Recombination\" (\"celf\"))\n      (1516349 \"Cell Maturation\" (\"celf\"))\n      (1372847 \"Increased Cellular Migration\" (\"celf\"))\n      (312860 \"Neutrophil migration, function\" (\"celf\"))\n      (37841 \"Sperm Capacitation\" (\"celf\"))\n      (1159958 \"neutrophil differentiation\" (\"celf\"))\n      (19595 \"Histamine Release\" (\"celf\"))\n      (31945 \"Pinocytosis\" (\"celf\"))\n      (230871 \"Mitochondrion in division\" (\"celf\"))\n      (525010 \"Autocrine Communication\" (\"celf\"))\n      (600430 \"Calcium Waves\" (\"celf\"))\n      (1155752 \"positive regulation of mitosis\" (\"celf\"))\n      (1155949 \"lamellipodium biogenesis\" (\"celf\"))\n      (1156031 \"Microtubule Depolymerization\" (\"celf\"))\n      (1260960 \"Cytolysis\" (\"celf\"))\n      (1325887 \"focal adhesion formation\" (\"celf\"))\n      (1326341 \"Epithelial Cell Proliferation\" (\"celf\"))\n      (1326356 \"amino acid import\" (\"celf\"))\n      (1522821 \"acidification\" (\"celf\"))\n      (1155046 \"T-Cell Proliferation\" (\"celf\"))\n      (1325893 \"histamine secretion\" (\"celf\"))\n      (7588 \"Cell Degranulation\" (\"celf\"))\n      (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\"))\n      (1159816 \"anti-apoptosis\" (\"celf\"))\n      (1159909 \"keratinocyte differentiation\" (\"celf\"))\n      (1514761 \"Receptor Inhibition\" (\"celf\"))\n      (79396 \"G2 Phase\" (\"celf\"))\n      (1155846\n       \"negative regulation of cyclin dependent protein kinase activity\"\n       (\"celf\"))\n      (1256369 \"insulin secretion\" (\"celf\"))\n      (1326346 \"urothelial cell proliferation\" (\"celf\"))\n      (3261 \"Antibody Formation\" (\"celf\"))\n      (24262 \"Lymphocyte Activation\" (\"celf\"))\n      (206431 \"Antigen Presentation\" (\"celf\"))\n      (1155003 \"B-Cell Activation\" (\"celf\"))\n      (1155004 \"B-cell differentiation\" (\"celf\"))\n      (1155008 \"B Cell Proliferation\" (\"celf\"))\n      (1155229 \"humoral immune response\" (\"celf\"))\n      (1155980 \"actin filament depolymerization\" (\"celf\"))\n      (1327616 \"Cell secretion\" (\"celf\"))\n      (1511002 \"B-Cell Development\" (\"celf\"))\n      (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\"))\n      (7591 \"Cell division phases\" (\"celf\"))\n      (10813 \"Cytokinesis\" (\"celf\"))\n      (14139 \"Endocytosis\" (\"celf\"))\n      (26255 \"Mitosis\" (\"celf\"))\n      (31308 \"Phagocytosis\" (\"celf\"))\n      (32176 \"Platelet aggregation\" (\"celf\"))\n      (37848 \"Sperm Motility\" (\"celf\"))\n      (85416 \"Respiratory Burst\" (\"celf\"))\n      (178666 \"glucose transport\" (\"celf\"))\n      (302167 \"Cap formation\" (\"celf\"))\n      (599893 \"Protein translocation\" (\"celf\"))\n      (600485 \"Acrosome Reaction\" (\"celf\"))\n      (887839 \"Nuclear Import\" (\"celf\"))\n      (949629 \"Bystander Effect\" (\"celf\"))\n      (1155065 \"T-Cell Activation\" (\"celf\"))\n      (1155607 \"autophagic vacuole formation\" (\"celf\"))\n      (1155631 \"Chromosome Condensation\" (\"celf\"))\n      (1155734 \"lamin depolymerization\" (\"celf\"))\n      (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\"))\n      (1155871 \"nuclear migration\" (\"celf\"))\n      (1155872 \"Cell Cycle Regulation\" (\"celf\"))\n      (1155893 \"unidimensional cell growth\" (\"celf\"))\n      (1158774 \"negative regulation of transcription by glucose\" (\"celf\"))\n      (1159442 \"sporulation\" (\"celf\"))\n      (1159512 \"maltose transport\" (\"celf\"))\n      (1159521 \"hexose transport\" (\"celf\"))\n      (1160602 \"cholesterol absorption\" (\"celf\"))\n      (1326207 \"Programmed Cell Death, Type II\" (\"celf\"))\n      (1326220 \"synergid cell death\" (\"celf\"))\n      (1326347 \"fibroblast proliferation\" (\"celf\"))\n      (1326502 \"macrophage chemotaxis\" (\"celf\"))\n      (1511632 \"Cytoskeletal Modeling\" (\"celf\"))\n      (1515126 \"T-Cell Development\" (\"celf\"))\n      (1516340 \"Cell Death Process\" (\"celf\"))\n      (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\"))\n      (1517348 \"G2 Phase Arrest\" (\"celf\"))\n      (1519167 \"S Phase Arrest\" (\"celf\"))\n      (1523105 \"nuclear envelope disassembly\" (\"celf\"))\n      (1523795 \"stress fiber formation\" (\"celf\"))\n      (4462 \"Axonal Transport\" (\"celf\"))\n      (15283 \"Exocytosis\" (\"celf\"))\n      (25564 \"Metaphase\" (\"celf\"))\n      (1450355 \"Prometaphase\" (\"celf\"))\n      (8018 \"Chemotaxis\" (\"celf\"))\n      (1156237 \"Stimulation of Cell Proliferation\" (\"celf\"))\n      (25251 \"Membrane Potentials\" (\"celf\"))\n      (7590 \"Cell division\" (\"celf\"))\n      (7613 \"Cell physiology\" (\"celf\"))\n      (596286 \"Cell Growth Regulation\" (\"celf\"))\n      (598501 \"Chromosome Pairing\" (\"celf\"))\n      (599894 \"targeting\" (\"celf\"))\n      (1155711 \"stem cell division\" (\"celf\"))\n      (1155766 \"centrosome cycle\" (\"celf\"))\n      (1326205 \"Induction of Apoptosis\" (\"celf\"))\n      (1326225 \"cell homeostasis\" (\"celf\"))\n      (4391 \"Autophagy\" (\"celf\"))\n      (7577 \"Cell Adhesion\" (\"celf\"))\n      (7581 \"Cell Aging\" (\"celf\"))\n      (7582 \"Cell Communication\" (\"celf\"))\n      (7586 \"Cell Cycle\" (\"celf\"))\n      (7608 \"cell motility\" (\"celf\"))\n      (24426 \"Macrophage Activation\" (\"celf\"))\n      (37080 \"Signal Pathways\" (\"celf\" \"moft\"))\n      (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\"))\n      (544888 \"Mitotic arrest\" (\"celf\"))\n      (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\"))\n      (598087 \"cell dedifferentiation\" (\"celf\"))\n      (600431 \"Calcium Signaling\" (\"celf\"))\n      (678903 \"Neuronal Transmission\" (\"celf\"))\n      (872097 \"Anoikis\" (\"celf\"))\n      (887840 \"Nuclear Export\" (\"celf\"))\n      (1154382 \"Cell-Cell Adhesion\" (\"celf\"))\n      (1154401 \"cell invasion\" (\"celf\"))\n      (1154413 \"Intercellular Communication\" (\"celf\"))\n      (1158770 \"Transcriptional Regulation\" (\"celf\"))\n      (1158951 \"maintenance of protein localization\" (\"celf\"))\n      (1159946 \"macrophage differentiation\" (\"celf\"))\n      (1159974 \"osteoblast differentiation\" (\"celf\"))\n      (1257985 \"Cross-Priming\" (\"celf\"))\n      (1326057 \"epithelial cell differentiation\" (\"celf\"))\n      (1326120 \"cell activation\" (\"celf\"))\n      (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\"))\n      (1372180 \"Increased Cellular Death\" (\"celf\"))\n      (1515136 \"T-Cell Transformation\" (\"celf\"))\n      (1515432 \"Thymocyte Development\" (\"celf\"))\n      (1515979 \"Anchorage-Independent Growth\" (\"celf\"))\n      (1516334 \"Cell Cycle Progression\" (\"celf\"))\n      (1518147 \"M Phase Arrest\" (\"celf\"))\n      (1523169 \"smooth muscle cell differentiation\" (\"celf\"))\n      (1523298 \"epithelial to mesenchymal transition\" (\"celf\"))\n      (1540661 \"cell fate\" (\"celf\"))\n      (7595 \"Cell Growth\" (\"celf\"))\n      (596290 \"Cell Proliferation\" (\"celf\"))\n      (1155781 \"spindle assembly\" (\"celf\"))\n      (1155873 \"Cell Cycle Arrest\" (\"celf\"))\n      (7587 \"Cell Death\" (\"celf\"))\n      (7620 \"Cell Survival\" (\"celf\"))\n      (13081 \"Down-Regulation\" (\"celf\"))\n      (37083 \"Signal Transduction\" (\"celf\"))\n      (40682 \"cell transformation\" (\"celf\"))\n      (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\"))\n      (162638 \"Apoptosis\" (\"celf\"))\n      (221117 \"Anergy\" (\"celf\"))\n      (1155074 \"mast cell activation\" (\"celf\"))\n      (1514758 \"Receptor Activation\" (\"celf\")))))\n'(((37083 \"Signal Transduction\" (\"celf\"))\n   #t\n   ((2395 \"Alzheimer's Disease\" (\"dsyn\"))\n    (1418 \"Adenocarcinoma\" (\"neop\"))\n    (3873 \"Rheumatoid Arthritis\" (\"dsyn\"))\n    (4096 \"Asthma\" (\"dsyn\"))\n    (6142 \"Malignant neoplasm of breast\" (\"neop\"))\n    (4135 \"Ataxia Telangiectasia\" (\"dsyn\"))\n    (7222 \"Cardiovascular Diseases\" (\"dsyn\"))\n    (6826 \"Malignant Neoplasms\" (\"neop\"))\n    (4238 \"Atrial Fibrillation\" (\"patf\"))\n    (7097 \"Carcinoma\" (\"neop\"))\n    (9319 \"Colitis\" (\"dsyn\"))\n    (4366 \"Autoimmune Response\" (\"patf\"))\n    (7103 \"Malignant neoplasm of endometrium\" (\"neop\"))\n    (4368 \"Autoimmunity\" (\"patf\"))\n    (7137 \"Squamous cell carcinoma\" (\"neop\"))\n    (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\"))\n    (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n    (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n    (9566 \"Complication\" (\"patf\"))\n    (11881 \"Diabetic Nephropathy\" (\"dsyn\"))\n    (19204 \"Primary carcinoma of the liver cells\" (\"neop\"))\n    (11164 \"Degenerative abnormality\" (\"patf\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    (19829 \"Hodgkin Disease\" (\"neop\"))\n    (11304 \"Demyelination\" (\"patf\"))\n    (14544 \"Epilepsy\" (\"dsyn\"))\n    (16059 \"Fibrosis\" (\"patf\"))\n    (27627 \"Neoplasm Metastasis\" (\"neop\"))\n    (17601 \"Glaucoma\" (\"dsyn\"))\n    (20507 \"Hyperplasia\" (\"patf\"))\n    (27651 \"Neoplasm\" (\"neop\"))\n    (18799 \"Heart Diseases\" (\"dsyn\"))\n    (20564 \"Hypertrophy\" (\"patf\"))\n    (18801 \"Heart failure\" (\"dsyn\"))\n    (19158 \"Hepatitis\" (\"dsyn\"))\n    (20456 \"Hyperglycemia\" (\"dsyn\"))\n    (20538 \"Hypertensive disease\" (\"dsyn\"))\n    (21368 \"Inflammation\" (\"patf\"))\n    (20550 \"Hyperthyroidism\" (\"dsyn\"))\n    (20615 \"hypoglycemia\" (\"dsyn\"))\n    (21655 \"Insulin Resistance\" (\"patf\"))\n    (21053 \"Immune System Diseases\" (\"dsyn\"))\n    (21311 \"Infection\" (\"dsyn\"))\n    (27540 \"Necrosis\" (\"patf\"))\n    (21390 \"Inflammatory Bowel Diseases\" (\"dsyn\"))\n    (178874 \"Neoplasm progression\" (\"neop\"))\n    (22116 \"Ischemia\" (\"dsyn\"))\n    (27686 \"Pathologic Neovascularization\" (\"patf\"))\n    (23882 \"Little's Disease\" (\"dsyn\"))\n    (28778 \"Obstruction\" (\"patf\"))\n    (24117 \"Chronic Obstructive Airway Disease\" (\"dsyn\"))\n    (278488 \"Breast cancer metastatic\" (\"neop\"))\n    (24141 \"Lupus Erythematosus, Systemic\" (\"dsyn\"))\n    (29396 \"Ossification, Heterotopic\" (\"patf\"))\n    (30660 \"Pathologic Processes\" (\"patf\"))\n    (27051 \"Myocardial Infarction\" (\"dsyn\"))\n    (28754 \"Obesity\" (\"dsyn\"))\n    (36974 \"Shock\" (\"patf\"))\n    (30305 \"Pancreatitis\" (\"dsyn\"))\n    (376358 \"Malignant neoplasm of prostate\" (\"neop\"))\n    (33626 \"Protein Deficiency\" (\"dsyn\"))\n    (596263 \"Carcinogenesis\" (\"neop\"))\n    (598934 \"tumor growth\" (\"neop\"))\n    (36421 \"Systemic Scleroderma\" (\"dsyn\"))\n    (38454 \"Cerebrovascular accident\" (\"dsyn\"))\n    (242184 \"Hypoxia\" (\"patf\"))\n    (42769 \"Virus Diseases\" (\"dsyn\"))\n    (1326912 \"Tumorigenesis\" (\"neop\"))\n    (277785 \"Functional disorder\" (\"patf\"))\n    (1391732 \"Cancer cachexia\" (\"neop\"))\n    (332448 \"Infiltration\" (\"patf\"))\n    (1608408 \"Malignant transformation\" (\"neop\"))\n    (151744 \"Myocardial Ischemia\" (\"dsyn\"))\n    (333951 \"Growth arrest\" (\"patf\"))\n    (151747 \"Renal tubular disorder\" (\"dsyn\"))\n    (699748 \"Pathogenesis\" (\"patf\"))\n    (1140999 \"Contraction\" (\"patf\"))\n    (239946 \"Fibrosis, Liver\" (\"dsyn\"))\n    (1155265 \"innate immune response\" (\"patf\"))\n    (1155266 \"Inflammatory Response\" (\"patf\"))\n    (1383860 \"Cardiac Hypertrophy\" (\"patf\"))\n    (270814 \"Spastic syndrome\" (\"dsyn\"))\n    (400966 \"Non-alcoholic fatty liver\" (\"dsyn\"))\n    (1521846 \"Permissiveness, Biological Function\" (\"patf\"))\n    (524851 \"Neurodegenerative Disorders\" (\"dsyn\"))\n    (856169 \"Endothelial dysfunction\" (\"dsyn\"))\n    (878544 \"Cardiomyopathies\" (\"dsyn\"))\n    (948008 \"Ischemic stroke\" (\"dsyn\"))))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   #t\n   ((4096 \"Asthma\" (\"dsyn\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    (242184 \"Hypoxia\" (\"patf\")))))\n\n;; which disorders, neoplasms, or pathologic functions are directly\n;; affected by the 189 celfs directly caused by the 44 genes of\n;; interest?\n;;\n;; 1937 disorders are unique (1556 if we don't include 'neop')\n;;\n;; answer includes howlers such as:\n;;\n;; (1314 \"Acute Disease\" (\"dsyn\"))\n;; (7453 \"Cattle Diseases\" (\"dsyn\"))\n;; (32080 \"Plant Diseases\" (\"dsyn\"))\n;; (678236 \"Rare Diseases\" (\"dsyn\"))\n;; (8679 \"Chronic Disease\" (\"dsyn\"))\n;; (12634 \"Disease\" (\"dsyn\"))\n;; (242656 \"Disease Progression\" (\"patf\"))\n(length\n (apply\n  union*\n  (map\n   (lambda (celf)\n     (let ((disorders\n            (run* (q)\n              (fresh (e subj obj pred st ot rest)\n                (== obj q)\n                (conde\n                  [(== \"dsyn\" ot)]\n                  [(== \"neop\" ot)]\n                  [(== \"patf\" ot)])\n                (== `(,celf ,obj \"AFFECTS\" ,st ,ot . ,rest) e)\n                (edgeo e)))))\n       disorders))\n   '((312862 \"Lymphocyte chemotaxis\" (\"celf\"))\n     (1159455 \"syncytium formation\" (\"celf\"))\n     (1372294 \"Increased Endocytosis\" (\"celf\"))\n     (598948 \"axonal guidance\" (\"celf\"))\n     (1159821 \"apoptotic program\" (\"celf\"))\n     (1318468 \"cell-mediated immune response\" (\"celf\"))\n     (1326501 \"eosinophil chemotaxis\" (\"celf\"))\n     (1155303 \"ER-overload response\" (\"celf\"))\n     (1156259 \"cell ion homeostasis\" (\"celf\"))\n     (1159709 \"cholesterol transport\" (\"celf\"))\n     (1276855 \"Monocyte chemotaxis\" (\"celf\"))\n     (1326474 \"vesicle fusion\" (\"celf\"))\n     (1516338 \"Cell Death Induction\" (\"celf\"))\n     (598949 \"axonal sprouting\" (\"celf\"))\n     (1156042 \"endosome transport\" (\"celf\"))\n     (1159824 \"nuclear fragmentation\" (\"celf\"))\n     (1326121 \"astrocyte activation\" (\"celf\"))\n     (25186 \"Meiosis\" (\"celf\"))\n     (1155874 \"Cell Cycle Checkpoint\" (\"celf\"))\n     (1155876 \"DNA replication checkpoint\" (\"celf\"))\n     (1156132 \"vacuolar acidification\" (\"celf\"))\n     (1159689 \"potassium ion transport\" (\"celf\"))\n     (1326080 \"muscle cell differentiation\" (\"celf\"))\n     (1155013 \"T-cell differentiation\" (\"celf\"))\n     (598838 \"membrane assembly\" (\"celf\"))\n     (7580 \"Cell Aggregation\" (\"celf\"))\n     (32174 \"Platelet adhesion\" (\"celf\"))\n     (282636 \"Cell Respiration\" (\"celf\"))\n     (301896 \"Cell-Mediated Cytolysis\" (\"celf\"))\n     (392710 \"Megakaryocytic maturation\" (\"celf\"))\n     (596991 \"myelination\" (\"celf\"))\n     (1156032 \"Microtubule Polymerization\" (\"celf\"))\n     (1159339 \"Protein Secretion\" (\"celf\"))\n     (1159884 \"adipocyte differentiation\" (\"celf\"))\n     (1159938 \"eosinophil differentiation\" (\"celf\"))\n     (1159966 \"myoblast differentiation\" (\"celf\"))\n     (1159978 \"osteoclast differentiation\" (\"celf\"))\n     (1160520 \"oocyte maturation\" (\"celf\"))\n     (1326236 \"filopodium formation\" (\"celf\"))\n     (1326504 \"neuronal migration\" (\"celf\"))\n     (1513082 \"Megakaryocyte Proliferation\" (\"celf\"))\n     (599702 \"reuptake\" (\"celf\"))\n     (312861 \"Neutrophil chemotaxis\" (\"celf\"))\n     (1155792 \"Meiotic Recombination\" (\"celf\"))\n     (1516349 \"Cell Maturation\" (\"celf\"))\n     (1372847 \"Increased Cellular Migration\" (\"celf\"))\n     (312860 \"Neutrophil migration, function\" (\"celf\"))\n     (37841 \"Sperm Capacitation\" (\"celf\"))\n     (1159958 \"neutrophil differentiation\" (\"celf\"))\n     (19595 \"Histamine Release\" (\"celf\"))\n     (31945 \"Pinocytosis\" (\"celf\"))\n     (230871 \"Mitochondrion in division\" (\"celf\"))\n     (525010 \"Autocrine Communication\" (\"celf\"))\n     (600430 \"Calcium Waves\" (\"celf\"))\n     (1155752 \"positive regulation of mitosis\" (\"celf\"))\n     (1155949 \"lamellipodium biogenesis\" (\"celf\"))\n     (1156031 \"Microtubule Depolymerization\" (\"celf\"))\n     (1260960 \"Cytolysis\" (\"celf\"))\n     (1325887 \"focal adhesion formation\" (\"celf\"))\n     (1326341 \"Epithelial Cell Proliferation\" (\"celf\"))\n     (1326356 \"amino acid import\" (\"celf\"))\n     (1522821 \"acidification\" (\"celf\"))\n     (1155046 \"T-Cell Proliferation\" (\"celf\"))\n     (1325893 \"histamine secretion\" (\"celf\"))\n     (7588 \"Cell Degranulation\" (\"celf\"))\n     (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\"))\n     (1159816 \"anti-apoptosis\" (\"celf\"))\n     (1159909 \"keratinocyte differentiation\" (\"celf\"))\n     (1514761 \"Receptor Inhibition\" (\"celf\"))\n     (79396 \"G2 Phase\" (\"celf\"))\n     (1155846\n      \"negative regulation of cyclin dependent protein kinase activity\"\n      (\"celf\"))\n     (1256369 \"insulin secretion\" (\"celf\"))\n     (1326346 \"urothelial cell proliferation\" (\"celf\"))\n     (3261 \"Antibody Formation\" (\"celf\"))\n     (24262 \"Lymphocyte Activation\" (\"celf\"))\n     (206431 \"Antigen Presentation\" (\"celf\"))\n     (1155003 \"B-Cell Activation\" (\"celf\"))\n     (1155004 \"B-cell differentiation\" (\"celf\"))\n     (1155008 \"B Cell Proliferation\" (\"celf\"))\n     (1155229 \"humoral immune response\" (\"celf\"))\n     (1155980 \"actin filament depolymerization\" (\"celf\"))\n     (1327616 \"Cell secretion\" (\"celf\"))\n     (1511002 \"B-Cell Development\" (\"celf\"))\n     (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\"))\n     (7591 \"Cell division phases\" (\"celf\"))\n     (10813 \"Cytokinesis\" (\"celf\"))\n     (14139 \"Endocytosis\" (\"celf\"))\n     (26255 \"Mitosis\" (\"celf\"))\n     (31308 \"Phagocytosis\" (\"celf\"))\n     (32176 \"Platelet aggregation\" (\"celf\"))\n     (37848 \"Sperm Motility\" (\"celf\"))\n     (85416 \"Respiratory Burst\" (\"celf\"))\n     (178666 \"glucose transport\" (\"celf\"))\n     (302167 \"Cap formation\" (\"celf\"))\n     (599893 \"Protein translocation\" (\"celf\"))\n     (600485 \"Acrosome Reaction\" (\"celf\"))\n     (887839 \"Nuclear Import\" (\"celf\"))\n     (949629 \"Bystander Effect\" (\"celf\"))\n     (1155065 \"T-Cell Activation\" (\"celf\"))\n     (1155607 \"autophagic vacuole formation\" (\"celf\"))\n     (1155631 \"Chromosome Condensation\" (\"celf\"))\n     (1155734 \"lamin depolymerization\" (\"celf\"))\n     (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\"))\n     (1155871 \"nuclear migration\" (\"celf\"))\n     (1155872 \"Cell Cycle Regulation\" (\"celf\"))\n     (1155893 \"unidimensional cell growth\" (\"celf\"))\n     (1158774 \"negative regulation of transcription by glucose\" (\"celf\"))\n     (1159442 \"sporulation\" (\"celf\"))\n     (1159512 \"maltose transport\" (\"celf\"))\n     (1159521 \"hexose transport\" (\"celf\"))\n     (1160602 \"cholesterol absorption\" (\"celf\"))\n     (1326207 \"Programmed Cell Death, Type II\" (\"celf\"))\n     (1326220 \"synergid cell death\" (\"celf\"))\n     (1326347 \"fibroblast proliferation\" (\"celf\"))\n     (1326502 \"macrophage chemotaxis\" (\"celf\"))\n     (1511632 \"Cytoskeletal Modeling\" (\"celf\"))\n     (1515126 \"T-Cell Development\" (\"celf\"))\n     (1516340 \"Cell Death Process\" (\"celf\"))\n     (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\"))\n     (1517348 \"G2 Phase Arrest\" (\"celf\"))\n     (1519167 \"S Phase Arrest\" (\"celf\"))\n     (1523105 \"nuclear envelope disassembly\" (\"celf\"))\n     (1523795 \"stress fiber formation\" (\"celf\"))\n     (4462 \"Axonal Transport\" (\"celf\"))\n     (15283 \"Exocytosis\" (\"celf\"))\n     (25564 \"Metaphase\" (\"celf\"))\n     (1450355 \"Prometaphase\" (\"celf\"))\n     (8018 \"Chemotaxis\" (\"celf\"))\n     (1156237 \"Stimulation of Cell Proliferation\" (\"celf\"))\n     (25251 \"Membrane Potentials\" (\"celf\"))\n     (7590 \"Cell division\" (\"celf\"))\n     (7613 \"Cell physiology\" (\"celf\"))\n     (596286 \"Cell Growth Regulation\" (\"celf\"))\n     (598501 \"Chromosome Pairing\" (\"celf\"))\n     (599894 \"targeting\" (\"celf\"))\n     (1155711 \"stem cell division\" (\"celf\"))\n     (1155766 \"centrosome cycle\" (\"celf\"))\n     (1326205 \"Induction of Apoptosis\" (\"celf\"))\n     (1326225 \"cell homeostasis\" (\"celf\"))\n     (4391 \"Autophagy\" (\"celf\"))\n     (7577 \"Cell Adhesion\" (\"celf\"))\n     (7581 \"Cell Aging\" (\"celf\"))\n     (7582 \"Cell Communication\" (\"celf\"))\n     (7586 \"Cell Cycle\" (\"celf\"))\n     (7608 \"cell motility\" (\"celf\"))\n     (24426 \"Macrophage Activation\" (\"celf\"))\n     (37080 \"Signal Pathways\" (\"celf\" \"moft\"))\n     (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\"))\n     (544888 \"Mitotic arrest\" (\"celf\"))\n     (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\"))\n     (598087 \"cell dedifferentiation\" (\"celf\"))\n     (600431 \"Calcium Signaling\" (\"celf\"))\n     (678903 \"Neuronal Transmission\" (\"celf\"))\n     (872097 \"Anoikis\" (\"celf\"))\n     (887840 \"Nuclear Export\" (\"celf\"))\n     (1154382 \"Cell-Cell Adhesion\" (\"celf\"))\n     (1154401 \"cell invasion\" (\"celf\"))\n     (1154413 \"Intercellular Communication\" (\"celf\"))\n     (1158770 \"Transcriptional Regulation\" (\"celf\"))\n     (1158951 \"maintenance of protein localization\" (\"celf\"))\n     (1159946 \"macrophage differentiation\" (\"celf\"))\n     (1159974 \"osteoblast differentiation\" (\"celf\"))\n     (1257985 \"Cross-Priming\" (\"celf\"))\n     (1326057 \"epithelial cell differentiation\" (\"celf\"))\n     (1326120 \"cell activation\" (\"celf\"))\n     (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\"))\n     (1372180 \"Increased Cellular Death\" (\"celf\"))\n     (1515136 \"T-Cell Transformation\" (\"celf\"))\n     (1515432 \"Thymocyte Development\" (\"celf\"))\n     (1515979 \"Anchorage-Independent Growth\" (\"celf\"))\n     (1516334 \"Cell Cycle Progression\" (\"celf\"))\n     (1518147 \"M Phase Arrest\" (\"celf\"))\n     (1523169 \"smooth muscle cell differentiation\" (\"celf\"))\n     (1523298 \"epithelial to mesenchymal transition\" (\"celf\"))\n     (1540661 \"cell fate\" (\"celf\"))\n     (7595 \"Cell Growth\" (\"celf\"))\n     (596290 \"Cell Proliferation\" (\"celf\"))\n     (1155781 \"spindle assembly\" (\"celf\"))\n     (1155873 \"Cell Cycle Arrest\" (\"celf\"))\n     (7587 \"Cell Death\" (\"celf\"))\n     (7620 \"Cell Survival\" (\"celf\"))\n     (13081 \"Down-Regulation\" (\"celf\"))\n     (37083 \"Signal Transduction\" (\"celf\"))\n     (40682 \"cell transformation\" (\"celf\"))\n     (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\"))\n     (162638 \"Apoptosis\" (\"celf\"))\n     (221117 \"Anergy\" (\"celf\"))\n     (1155074 \"mast cell activation\" (\"celf\"))\n     (1514758 \"Receptor Activation\" (\"celf\"))))))\n\n\n;; how many disorders, neoplasms, or pathologic functions are in the KB?\n> (length (filter (lambda (c) (member (vector (hash-ref semtype=>id \"dsyn\") 1) (concept-type c))) concept*))\n17720\n> (length (filter (lambda (c) (member (vector (hash-ref semtype=>id \"neop\") 1) (concept-type c))) concept*))\n5280\n> (length (filter (lambda (c) (member (vector (hash-ref semtype=>id \"patf\") 1) (concept-type c))) concept*))\n2316\n\n;; total number of disorders, neoplasms, or pathologic functions in the KB:\n(+ 17720 5280 2316)\n=>\n25316\n\n;; total number of disorders or pathologic functions in the KB (no neoplasms):\n(+ 17720 2316)\n=>\n20036\n\n\n;; Andrew pointed me to this disease ontology:\n;;\n;; http://disease-ontology.org/\n;;\n;; which also includes SNOMED IDs.\n\n\n;; which disorders, neoplasms, or pathologic functions are directly\n;; affected by the 189 celfs directly caused by the 44 genes of\n;; interest?\n;;\n;; 8025, with possible duplicates across the celfs\n;;\n;; 1937 are actually unique, out of 25,316 disorders, neoplasms, or pathologic functions in the KB (7.7%)\n;;\n;; 1556 unique if we don't include 'neop' (seems reasonable, since we know that Gleevec is primarily a cancer\n;; drug, and we are looking for *unknown* disorders that it treats).\n;; 1556 / 20,036 = 7.8%\n;;\n;;\n;; 1232 unique if we insist on only 'dsyn'.  This may be reasonable,\n;; since 'dysn' seem more likely to be diseases rather than symptoms.\n;; Depends on what exactly we are looking for.\n;; 1232 / 17,720 = 7.0%\n;;\n;; \n;;\n;; 26 of the 189 celfs directly affect (4096 \"Asthma\" (\"dsyn\"))\n;; and 29 of the celfs affect some variant of asthma\n;;\n;; Perhaps entries like\n;;\n;; (1 #t ((4096 \"Asthma\" (\"dsyn\"))) (1326501 \"eosinophil chemotaxis\" (\"celf\")))\n;;\n;; are actually resonable.  See 'Eosinophils in asthma.' Busse WW, Sedgwick JB.\n;; https://www.ncbi.nlm.nih.gov/pubmed/1546825\n(sort\n (map\n  (lambda (celf)\n    (let ((disorders\n           (run* (q)\n             (fresh (e subj obj pred st ot rest)\n               (== obj q)\n               (conde\n                 [(== \"dsyn\" ot)]\n                 [(== \"neop\" ot)]\n                 [(== \"patf\" ot)])\n               (== `(,celf ,obj \"AFFECTS\" ,st ,ot . ,rest) e)\n               (edgeo e)))))\n      (let ((disorders (rem-dups disorders)))\n        (list (length disorders)\n              (and (member '(4096 \"Asthma\" (\"dsyn\")) disorders) #t)\n              (filter\n               (lambda (d)\n                 (member d\n                         '((4096 \"Asthma\" (\"dsyn\"))\n                           (4099 \"Asthma, Exercise-Induced\" (\"dsyn\"))\n                           (14434 \"Detergent asthma\" (\"dsyn\"))\n                           (38218 \"Status Asthmaticus\" (\"dsyn\"))\n                           (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n                           (155880 \"Intrinsic asthma NOS\" (\"dsyn\"))\n                           (238266 \"Meat-wrappers' asthma\" (\"dsyn\"))\n                           (238375 \"Platinum asthma\" (\"dsyn\"))\n                           (259745 \"Asthma, infective\" (\"dsyn\"))\n                           (259808 \"Asthma, endogenous\" (\"dsyn\"))\n                           (264348 \"Chronic asthmatic bronchitis\" (\"dsyn\"))\n                           (264408 \"Childhood asthma\" (\"dsyn\"))\n                           (264411 \"Hay fever with asthma\" (\"dsyn\"))\n                           (264413 \"Late onset asthma\" (\"dsyn\"))\n                           (264423 \"Occupational asthma\" (\"dsyn\"))\n                           (264480 \"Bakers' asthma\" (\"dsyn\"))\n                           (282556 \"Anti-Asthmatic Agents\" (\"phsu\"))\n                           (340067 \"Drug-induced asthma\" (\"dsyn\"))\n                           (340069 \"Colophony asthma\" (\"dsyn\"))\n                           (340070 \"Millers' asthma\" (\"dsyn\"))\n                           (340073 \"Factitious asthma\" (\"dsyn\"))\n                           (340076 \"Asthmatic pulmonary eosinophilia\" (\"dsyn\"))\n                           (340094 \"Wood asthma\" (\"dsyn\"))\n                           (347950 \"Asthma attack NOS\" (\"dsyn\"))\n                           (348819 \"Mixed asthma\" (\"dsyn\"))\n                           (349790 \"Exacerbation of asthma\" (\"fndg\"))\n                           (350348 \"Asthma prophylaxis\" (\"phsu\"))\n                           (392681 \"Asthmatic breathing\" (\"sosy\"))\n                           (420048 \"Asthma screening\" (\"hlca\"))\n                           (420293 \"Emergency admission, asthma\" (\"hlca\"))\n                           (543699 \"ASA intolerant asthma\" (\"dsyn\"))\n                           (554832 \"Asthma monitoring\" (\"hlca\"))\n                           (581122 \"Asthma severity\" (\"hlca\"))\n                           (581124 \"Mild asthma\" (\"fndg\"))\n                           (581125 \"Moderate asthma\" (\"fndg\"))\n                           (581126 \"Severe asthma\" (\"fndg\"))\n                           (582415 \"Acute asthma\" (\"dsyn\"))\n                           (606809 \"Asthma 23D\" (\"phsu\"))\n                           (684913 \"Chemical-induced asthma\" (\"dsyn\"))\n                           (729337 \"Brittle asthma\" (\"dsyn\"))\n                           (741266 \"ASTHMA STABLE\" (\"fndg\"))\n                           (856716 \"Asthma aspirin-sensitive\" (\"dsyn\"))\n                           (859987 \"Asthmatoid bronchitis\" (\"dsyn\"))\n                           (876293 \"Asthma Monitoring System\" (\"medd\"))\n                           (877264 \"Infantile asthma\" (\"dsyn\"))\n                           (877430 \"Asthma chronic\" (\"dsyn\"))\n                           (1135801 \"Tylophora asthmatica\" (\"plnt\"))\n                           (1261327 \"Family history of asthma\" (\"fndg\"))\n                           (1271086 \"Suspected asthma\" (\"fndg\"))\n                           (1272273 \"Asthma finding\" (\"fndg\"))\n                           (1303029 \"Asthma trigger\" (\"clna\"))\n                           (1318955 \"Asthma management\" (\"hlca\"))\n                           (1319018 \"Asthmatic bronchitis\" (\"dsyn\"))\n                           (1319853 \"Aspirin-induced asthma\" (\"fndg\"))\n                           (1328364 \"Analgesic asthma syndrome\" (\"inpo\")))))\n               disorders)\n              celf))))\n  '((312862 \"Lymphocyte chemotaxis\" (\"celf\"))\n    (1159455 \"syncytium formation\" (\"celf\"))\n    (1372294 \"Increased Endocytosis\" (\"celf\"))\n    (598948 \"axonal guidance\" (\"celf\"))\n    (1159821 \"apoptotic program\" (\"celf\"))\n    (1318468 \"cell-mediated immune response\" (\"celf\"))\n    (1326501 \"eosinophil chemotaxis\" (\"celf\"))\n    (1155303 \"ER-overload response\" (\"celf\"))\n    (1156259 \"cell ion homeostasis\" (\"celf\"))\n    (1159709 \"cholesterol transport\" (\"celf\"))\n    (1276855 \"Monocyte chemotaxis\" (\"celf\"))\n    (1326474 \"vesicle fusion\" (\"celf\"))\n    (1516338 \"Cell Death Induction\" (\"celf\"))\n    (598949 \"axonal sprouting\" (\"celf\"))\n    (1156042 \"endosome transport\" (\"celf\"))\n    (1159824 \"nuclear fragmentation\" (\"celf\"))\n    (1326121 \"astrocyte activation\" (\"celf\"))\n    (25186 \"Meiosis\" (\"celf\"))\n    (1155874 \"Cell Cycle Checkpoint\" (\"celf\"))\n    (1155876 \"DNA replication checkpoint\" (\"celf\"))\n    (1156132 \"vacuolar acidification\" (\"celf\"))\n    (1159689 \"potassium ion transport\" (\"celf\"))\n    (1326080 \"muscle cell differentiation\" (\"celf\"))\n    (1155013 \"T-cell differentiation\" (\"celf\"))\n    (598838 \"membrane assembly\" (\"celf\"))\n    (7580 \"Cell Aggregation\" (\"celf\"))\n    (32174 \"Platelet adhesion\" (\"celf\"))\n    (282636 \"Cell Respiration\" (\"celf\"))\n    (301896 \"Cell-Mediated Cytolysis\" (\"celf\"))\n    (392710 \"Megakaryocytic maturation\" (\"celf\"))\n    (596991 \"myelination\" (\"celf\"))\n    (1156032 \"Microtubule Polymerization\" (\"celf\"))\n    (1159339 \"Protein Secretion\" (\"celf\"))\n    (1159884 \"adipocyte differentiation\" (\"celf\"))\n    (1159938 \"eosinophil differentiation\" (\"celf\"))\n    (1159966 \"myoblast differentiation\" (\"celf\"))\n    (1159978 \"osteoclast differentiation\" (\"celf\"))\n    (1160520 \"oocyte maturation\" (\"celf\"))\n    (1326236 \"filopodium formation\" (\"celf\"))\n    (1326504 \"neuronal migration\" (\"celf\"))\n    (1513082 \"Megakaryocyte Proliferation\" (\"celf\"))\n    (599702 \"reuptake\" (\"celf\"))\n    (312861 \"Neutrophil chemotaxis\" (\"celf\"))\n    (1155792 \"Meiotic Recombination\" (\"celf\"))\n    (1516349 \"Cell Maturation\" (\"celf\"))\n    (1372847 \"Increased Cellular Migration\" (\"celf\"))\n    (312860 \"Neutrophil migration, function\" (\"celf\"))\n    (37841 \"Sperm Capacitation\" (\"celf\"))\n    (1159958 \"neutrophil differentiation\" (\"celf\"))\n    (19595 \"Histamine Release\" (\"celf\"))\n    (31945 \"Pinocytosis\" (\"celf\"))\n    (230871 \"Mitochondrion in division\" (\"celf\"))\n    (525010 \"Autocrine Communication\" (\"celf\"))\n    (600430 \"Calcium Waves\" (\"celf\"))\n    (1155752 \"positive regulation of mitosis\" (\"celf\"))\n    (1155949 \"lamellipodium biogenesis\" (\"celf\"))\n    (1156031 \"Microtubule Depolymerization\" (\"celf\"))\n    (1260960 \"Cytolysis\" (\"celf\"))\n    (1325887 \"focal adhesion formation\" (\"celf\"))\n    (1326341 \"Epithelial Cell Proliferation\" (\"celf\"))\n    (1326356 \"amino acid import\" (\"celf\"))\n    (1522821 \"acidification\" (\"celf\"))\n    (1155046 \"T-Cell Proliferation\" (\"celf\"))\n    (1325893 \"histamine secretion\" (\"celf\"))\n    (7588 \"Cell Degranulation\" (\"celf\"))\n    (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\"))\n    (1159816 \"anti-apoptosis\" (\"celf\"))\n    (1159909 \"keratinocyte differentiation\" (\"celf\"))\n    (1514761 \"Receptor Inhibition\" (\"celf\"))\n    (79396 \"G2 Phase\" (\"celf\"))\n    (1155846\n     \"negative regulation of cyclin dependent protein kinase activity\"\n     (\"celf\"))\n    (1256369 \"insulin secretion\" (\"celf\"))\n    (1326346 \"urothelial cell proliferation\" (\"celf\"))\n    (3261 \"Antibody Formation\" (\"celf\"))\n    (24262 \"Lymphocyte Activation\" (\"celf\"))\n    (206431 \"Antigen Presentation\" (\"celf\"))\n    (1155003 \"B-Cell Activation\" (\"celf\"))\n    (1155004 \"B-cell differentiation\" (\"celf\"))\n    (1155008 \"B Cell Proliferation\" (\"celf\"))\n    (1155229 \"humoral immune response\" (\"celf\"))\n    (1155980 \"actin filament depolymerization\" (\"celf\"))\n    (1327616 \"Cell secretion\" (\"celf\"))\n    (1511002 \"B-Cell Development\" (\"celf\"))\n    (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\"))\n    (7591 \"Cell division phases\" (\"celf\"))\n    (10813 \"Cytokinesis\" (\"celf\"))\n    (14139 \"Endocytosis\" (\"celf\"))\n    (26255 \"Mitosis\" (\"celf\"))\n    (31308 \"Phagocytosis\" (\"celf\"))\n    (32176 \"Platelet aggregation\" (\"celf\"))\n    (37848 \"Sperm Motility\" (\"celf\"))\n    (85416 \"Respiratory Burst\" (\"celf\"))\n    (178666 \"glucose transport\" (\"celf\"))\n    (302167 \"Cap formation\" (\"celf\"))\n    (599893 \"Protein translocation\" (\"celf\"))\n    (600485 \"Acrosome Reaction\" (\"celf\"))\n    (887839 \"Nuclear Import\" (\"celf\"))\n    (949629 \"Bystander Effect\" (\"celf\"))\n    (1155065 \"T-Cell Activation\" (\"celf\"))\n    (1155607 \"autophagic vacuole formation\" (\"celf\"))\n    (1155631 \"Chromosome Condensation\" (\"celf\"))\n    (1155734 \"lamin depolymerization\" (\"celf\"))\n    (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\"))\n    (1155871 \"nuclear migration\" (\"celf\"))\n    (1155872 \"Cell Cycle Regulation\" (\"celf\"))\n    (1155893 \"unidimensional cell growth\" (\"celf\"))\n    (1158774 \"negative regulation of transcription by glucose\" (\"celf\"))\n    (1159442 \"sporulation\" (\"celf\"))\n    (1159512 \"maltose transport\" (\"celf\"))\n    (1159521 \"hexose transport\" (\"celf\"))\n    (1160602 \"cholesterol absorption\" (\"celf\"))\n    (1326207 \"Programmed Cell Death, Type II\" (\"celf\"))\n    (1326220 \"synergid cell death\" (\"celf\"))\n    (1326347 \"fibroblast proliferation\" (\"celf\"))\n    (1326502 \"macrophage chemotaxis\" (\"celf\"))\n    (1511632 \"Cytoskeletal Modeling\" (\"celf\"))\n    (1515126 \"T-Cell Development\" (\"celf\"))\n    (1516340 \"Cell Death Process\" (\"celf\"))\n    (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\"))\n    (1517348 \"G2 Phase Arrest\" (\"celf\"))\n    (1519167 \"S Phase Arrest\" (\"celf\"))\n    (1523105 \"nuclear envelope disassembly\" (\"celf\"))\n    (1523795 \"stress fiber formation\" (\"celf\"))\n    (4462 \"Axonal Transport\" (\"celf\"))\n    (15283 \"Exocytosis\" (\"celf\"))\n    (25564 \"Metaphase\" (\"celf\"))\n    (1450355 \"Prometaphase\" (\"celf\"))\n    (8018 \"Chemotaxis\" (\"celf\"))\n    (1156237 \"Stimulation of Cell Proliferation\" (\"celf\"))\n    (25251 \"Membrane Potentials\" (\"celf\"))\n    (7590 \"Cell division\" (\"celf\"))\n    (7613 \"Cell physiology\" (\"celf\"))\n    (596286 \"Cell Growth Regulation\" (\"celf\"))\n    (598501 \"Chromosome Pairing\" (\"celf\"))\n    (599894 \"targeting\" (\"celf\"))\n    (1155711 \"stem cell division\" (\"celf\"))\n    (1155766 \"centrosome cycle\" (\"celf\"))\n    (1326205 \"Induction of Apoptosis\" (\"celf\"))\n    (1326225 \"cell homeostasis\" (\"celf\"))\n    (4391 \"Autophagy\" (\"celf\"))\n    (7577 \"Cell Adhesion\" (\"celf\"))\n    (7581 \"Cell Aging\" (\"celf\"))\n    (7582 \"Cell Communication\" (\"celf\"))\n    (7586 \"Cell Cycle\" (\"celf\"))\n    (7608 \"cell motility\" (\"celf\"))\n    (24426 \"Macrophage Activation\" (\"celf\"))\n    (37080 \"Signal Pathways\" (\"celf\" \"moft\"))\n    (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\"))\n    (544888 \"Mitotic arrest\" (\"celf\"))\n    (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\"))\n    (598087 \"cell dedifferentiation\" (\"celf\"))\n    (600431 \"Calcium Signaling\" (\"celf\"))\n    (678903 \"Neuronal Transmission\" (\"celf\"))\n    (872097 \"Anoikis\" (\"celf\"))\n    (887840 \"Nuclear Export\" (\"celf\"))\n    (1154382 \"Cell-Cell Adhesion\" (\"celf\"))\n    (1154401 \"cell invasion\" (\"celf\"))\n    (1154413 \"Intercellular Communication\" (\"celf\"))\n    (1158770 \"Transcriptional Regulation\" (\"celf\"))\n    (1158951 \"maintenance of protein localization\" (\"celf\"))\n    (1159946 \"macrophage differentiation\" (\"celf\"))\n    (1159974 \"osteoblast differentiation\" (\"celf\"))\n    (1257985 \"Cross-Priming\" (\"celf\"))\n    (1326057 \"epithelial cell differentiation\" (\"celf\"))\n    (1326120 \"cell activation\" (\"celf\"))\n    (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\"))\n    (1372180 \"Increased Cellular Death\" (\"celf\"))\n    (1515136 \"T-Cell Transformation\" (\"celf\"))\n    (1515432 \"Thymocyte Development\" (\"celf\"))\n    (1515979 \"Anchorage-Independent Growth\" (\"celf\"))\n    (1516334 \"Cell Cycle Progression\" (\"celf\"))\n    (1518147 \"M Phase Arrest\" (\"celf\"))\n    (1523169 \"smooth muscle cell differentiation\" (\"celf\"))\n    (1523298 \"epithelial to mesenchymal transition\" (\"celf\"))\n    (1540661 \"cell fate\" (\"celf\"))\n    (7595 \"Cell Growth\" (\"celf\"))\n    (596290 \"Cell Proliferation\" (\"celf\"))\n    (1155781 \"spindle assembly\" (\"celf\"))\n    (1155873 \"Cell Cycle Arrest\" (\"celf\"))\n    (7587 \"Cell Death\" (\"celf\"))\n    (7620 \"Cell Survival\" (\"celf\"))\n    (13081 \"Down-Regulation\" (\"celf\"))\n    (37083 \"Signal Transduction\" (\"celf\"))\n    (40682 \"cell transformation\" (\"celf\"))\n    (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\"))\n    (162638 \"Apoptosis\" (\"celf\"))\n    (221117 \"Anergy\" (\"celf\"))\n    (1155074 \"mast cell activation\" (\"celf\"))\n    (1514758 \"Receptor Activation\" (\"celf\"))))\n (lambda (l1 l2) (< (car l1) (car l2))))\n=>\n'((0 #f () (312862 \"Lymphocyte chemotaxis\" (\"celf\")))\n  (0 #f () (1326474 \"vesicle fusion\" (\"celf\")))\n  (0 #f () (1156132 \"vacuolar acidification\" (\"celf\")))\n  (0 #f () (1326080 \"muscle cell differentiation\" (\"celf\")))\n  (0 #f () (392710 \"Megakaryocytic maturation\" (\"celf\")))\n  (0 #f () (1326236 \"filopodium formation\" (\"celf\")))\n  (0 #f () (37841 \"Sperm Capacitation\" (\"celf\")))\n  (0 #f () (1159958 \"neutrophil differentiation\" (\"celf\")))\n  (0 #f () (1155949 \"lamellipodium biogenesis\" (\"celf\")))\n  (0 #f () (1326346 \"urothelial cell proliferation\" (\"celf\")))\n  (0 #f () (1155734 \"lamin depolymerization\" (\"celf\")))\n  (0 #f () (1159512 \"maltose transport\" (\"celf\")))\n  (0 #f () (1159521 \"hexose transport\" (\"celf\")))\n  (0 #f () (1326220 \"synergid cell death\" (\"celf\")))\n  (0 #f () (1523105 \"nuclear envelope disassembly\" (\"celf\")))\n  (0 #f () (1257985 \"Cross-Priming\" (\"celf\")))\n  (1 #f () (1372294 \"Increased Endocytosis\" (\"celf\")))\n  (1 #f () (598948 \"axonal guidance\" (\"celf\")))\n  (1 #t ((4096 \"Asthma\" (\"dsyn\"))) (1326501 \"eosinophil chemotaxis\" (\"celf\")))\n  (1 #f () (1155303 \"ER-overload response\" (\"celf\")))\n  (1 #f () (1516338 \"Cell Death Induction\" (\"celf\")))\n  (1 #f () (1155876 \"DNA replication checkpoint\" (\"celf\")))\n  (1 #f () (598838 \"membrane assembly\" (\"celf\")))\n  (1 #f () (1156032 \"Microtubule Polymerization\" (\"celf\")))\n  (1 #f () (1159938 \"eosinophil differentiation\" (\"celf\")))\n  (1 #f () (1159966 \"myoblast differentiation\" (\"celf\")))\n  (1 #f () (1513082 \"Megakaryocyte Proliferation\" (\"celf\")))\n  (1 #f () (600430 \"Calcium Waves\" (\"celf\")))\n  (1 #f () (1325893 \"histamine secretion\" (\"celf\")))\n  (1 #f () (1155871 \"nuclear migration\" (\"celf\")))\n  (1 #f () (1155893 \"unidimensional cell growth\" (\"celf\")))\n  (1 #f () (1326502 \"macrophage chemotaxis\" (\"celf\")))\n  (1 #f () (1517348 \"G2 Phase Arrest\" (\"celf\")))\n  (1 #f () (1515136 \"T-Cell Transformation\" (\"celf\")))\n  (2 #f () (1156259 \"cell ion homeostasis\" (\"celf\")))\n  (2 #f () (1156042 \"endosome transport\" (\"celf\")))\n  (2 #f () (1372847 \"Increased Cellular Migration\" (\"celf\")))\n  (2 #f () (31945 \"Pinocytosis\" (\"celf\")))\n  (2 #f () (1325887 \"focal adhesion formation\" (\"celf\")))\n  (2 #f () (1155980 \"actin filament depolymerization\" (\"celf\")))\n  (2 #f () (1155631 \"Chromosome Condensation\" (\"celf\")))\n  (2 #f () (1523795 \"stress fiber formation\" (\"celf\")))\n  (2 #f () (1450355 \"Prometaphase\" (\"celf\")))\n  (2 #f () (1155766 \"centrosome cycle\" (\"celf\")))\n  (2 #f () (1158951 \"maintenance of protein localization\" (\"celf\")))\n  (3 #f () (1159455 \"syncytium formation\" (\"celf\")))\n  (3 #f () (1276855 \"Monocyte chemotaxis\" (\"celf\")))\n  (3 #f () (1159824 \"nuclear fragmentation\" (\"celf\")))\n  (3 #f () (79396 \"G2 Phase\" (\"celf\")))\n  (3 #f () (1519167 \"S Phase Arrest\" (\"celf\")))\n  (3 #f () (1518147 \"M Phase Arrest\" (\"celf\")))\n  (3 #f () (1155781 \"spindle assembly\" (\"celf\")))\n  (4 #f () (1160520 \"oocyte maturation\" (\"celf\")))\n  (4 #f () (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\")))\n  (4 #f () (600485 \"Acrosome Reaction\" (\"celf\")))\n  (4 #f () (1155607 \"autophagic vacuole formation\" (\"celf\")))\n  (4 #f () (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\")))\n  (4 #f () (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\")))\n  (5 #f () (1159821 \"apoptotic program\" (\"celf\")))\n  (5 #f () (1155792 \"Meiotic Recombination\" (\"celf\")))\n  (5 #f () (1156031 \"Microtubule Depolymerization\" (\"celf\")))\n  (5\n   #f\n   ()\n   (1158774 \"negative regulation of transcription by glucose\" (\"celf\")))\n  (5 #f () (25564 \"Metaphase\" (\"celf\")))\n  (5 #f () (1515432 \"Thymocyte Development\" (\"celf\")))\n  (6 #f () (598949 \"axonal sprouting\" (\"celf\")))\n  (6 #f () (599702 \"reuptake\" (\"celf\")))\n  (6\n   #f\n   ((155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (1159442 \"sporulation\" (\"celf\")))\n  (6 #f () (544888 \"Mitotic arrest\" (\"celf\")))\n  (6 #f () (887840 \"Nuclear Export\" (\"celf\")))\n  (7 #f () (1326121 \"astrocyte activation\" (\"celf\")))\n  (7 #f () (7580 \"Cell Aggregation\" (\"celf\")))\n  (7 #f () (1155008 \"B Cell Proliferation\" (\"celf\")))\n  (7 #f () (7591 \"Cell division phases\" (\"celf\")))\n  (7 #f () (1160602 \"cholesterol absorption\" (\"celf\")))\n  (7 #f () (1515126 \"T-Cell Development\" (\"celf\")))\n  (7 #f () (1516340 \"Cell Death Process\" (\"celf\")))\n  (7 #f () (1523169 \"smooth muscle cell differentiation\" (\"celf\")))\n  (8 #f () (1326504 \"neuronal migration\" (\"celf\")))\n  (8 #f () (312860 \"Neutrophil migration, function\" (\"celf\")))\n  (8 #f () (1326356 \"amino acid import\" (\"celf\")))\n  (8 #f () (599893 \"Protein translocation\" (\"celf\")))\n  (8 #f () (887839 \"Nuclear Import\" (\"celf\")))\n  (8 #f () (1155711 \"stem cell division\" (\"celf\")))\n  (8 #f () (598087 \"cell dedifferentiation\" (\"celf\")))\n  (8 #f () (1326057 \"epithelial cell differentiation\" (\"celf\")))\n  (9 #f () (1155874 \"Cell Cycle Checkpoint\" (\"celf\")))\n  (9 #f () (1155752 \"positive regulation of mitosis\" (\"celf\")))\n  (9\n   #f\n   ()\n   (1155846\n    \"negative regulation of cyclin dependent protein kinase activity\"\n    (\"celf\")))\n  (9 #f () (1372180 \"Increased Cellular Death\" (\"celf\")))\n  (10 #f () (1159689 \"potassium ion transport\" (\"celf\")))\n  (10 #f () (1159339 \"Protein Secretion\" (\"celf\")))\n  (10 #f () (1326207 \"Programmed Cell Death, Type II\" (\"celf\")))\n  (10 #f () (1511632 \"Cytoskeletal Modeling\" (\"celf\")))\n  (10 #f () (1515979 \"Anchorage-Independent Growth\" (\"celf\")))\n  (11 #f () (302167 \"Cap formation\" (\"celf\")))\n  (11 #f () (1156237 \"Stimulation of Cell Proliferation\" (\"celf\")))\n  (12 #f () (1327616 \"Cell secretion\" (\"celf\")))\n  (12 #f () (10813 \"Cytokinesis\" (\"celf\")))\n  (12 #f () (1159946 \"macrophage differentiation\" (\"celf\")))\n  (13 #f () (1155004 \"B-cell differentiation\" (\"celf\")))\n  (13\n   #f\n   ()\n   (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\")))\n  (14 #f () (525010 \"Autocrine Communication\" (\"celf\")))\n  (14 #f () (1511002 \"B-Cell Development\" (\"celf\")))\n  (15 #f () (1159909 \"keratinocyte differentiation\" (\"celf\")))\n  (15 #f () (1326205 \"Induction of Apoptosis\" (\"celf\")))\n  (16 #f () (596286 \"Cell Growth Regulation\" (\"celf\")))\n  (17 #f () (230871 \"Mitochondrion in division\" (\"celf\")))\n  (17 #f () (872097 \"Anoikis\" (\"celf\")))\n  (18 #f () (1159709 \"cholesterol transport\" (\"celf\")))\n  (18 #f () (25186 \"Meiosis\" (\"celf\")))\n  (18 #f () (1540661 \"cell fate\" (\"celf\")))\n  (19 #f () (1159884 \"adipocyte differentiation\" (\"celf\")))\n  (19 #f () (1514761 \"Receptor Inhibition\" (\"celf\")))\n  (20 #f () (1159978 \"osteoclast differentiation\" (\"celf\")))\n  (20 #t ((4096 \"Asthma\" (\"dsyn\"))) (312861 \"Neutrophil chemotaxis\" (\"celf\")))\n  (21 #f () (37848 \"Sperm Motility\" (\"celf\")))\n  (21 #f () (949629 \"Bystander Effect\" (\"celf\")))\n  (22 #f () (1155013 \"T-cell differentiation\" (\"celf\")))\n  (22 #f () (85416 \"Respiratory Burst\" (\"celf\")))\n  (23 #f () (4462 \"Axonal Transport\" (\"celf\")))\n  (23 #f () (1159974 \"osteoblast differentiation\" (\"celf\")))\n  (24 #f () (1326347 \"fibroblast proliferation\" (\"celf\")))\n  (25 #f () (32174 \"Platelet adhesion\" (\"celf\")))\n  (27 #f () (1326341 \"Epithelial Cell Proliferation\" (\"celf\")))\n  (27 #f () (221117 \"Anergy\" (\"celf\")))\n  (28 #t ((4096 \"Asthma\" (\"dsyn\"))) (1154382 \"Cell-Cell Adhesion\" (\"celf\")))\n  (29 #f () (178666 \"glucose transport\" (\"celf\")))\n  (29 #f () (1326225 \"cell homeostasis\" (\"celf\")))\n  (30 #f () (1154401 \"cell invasion\" (\"celf\")))\n  (31 #f () (282636 \"Cell Respiration\" (\"celf\")))\n  (31 #f () (1516349 \"Cell Maturation\" (\"celf\")))\n  (32 #f () (40682 \"cell transformation\" (\"celf\")))\n  (33 #f () (600431 \"Calcium Signaling\" (\"celf\")))\n  (35 #f () (596991 \"myelination\" (\"celf\")))\n  (35\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")) (155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (7588 \"Cell Degranulation\" (\"celf\")))\n  (35 #f () (1155003 \"B-Cell Activation\" (\"celf\")))\n  (35\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")) (155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (1155074 \"mast cell activation\" (\"celf\")))\n  (38\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")) (264423 \"Occupational asthma\" (\"dsyn\")))\n   (19595 \"Histamine Release\" (\"celf\")))\n  (39 #f () (25251 \"Membrane Potentials\" (\"celf\")))\n  (39 #f () (1516334 \"Cell Cycle Progression\" (\"celf\")))\n  (40 #f () (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\")))\n  (41 #f () (301896 \"Cell-Mediated Cytolysis\" (\"celf\")))\n  (41 #f () (1155046 \"T-Cell Proliferation\" (\"celf\")))\n  (41 #f () (1154413 \"Intercellular Communication\" (\"celf\")))\n  (44 #t ((4096 \"Asthma\" (\"dsyn\"))) (206431 \"Antigen Presentation\" (\"celf\")))\n  (44 #t ((4096 \"Asthma\" (\"dsyn\"))) (1155872 \"Cell Cycle Regulation\" (\"celf\")))\n  (47 #f () (1155873 \"Cell Cycle Arrest\" (\"celf\")))\n  (50 #f () (14139 \"Endocytosis\" (\"celf\")))\n  (50 #f () (7590 \"Cell division\" (\"celf\")))\n  (53 #f () (1155229 \"humoral immune response\" (\"celf\")))\n  (56 #t ((4096 \"Asthma\" (\"dsyn\"))) (1522821 \"acidification\" (\"celf\")))\n  (56 #t ((4096 \"Asthma\" (\"dsyn\"))) (26255 \"Mitosis\" (\"celf\")))\n  (60 #f () (1523298 \"epithelial to mesenchymal transition\" (\"celf\")))\n  (61 #f () (1158770 \"Transcriptional Regulation\" (\"celf\")))\n  (63 #t ((4096 \"Asthma\" (\"dsyn\"))) (24426 \"Macrophage Activation\" (\"celf\")))\n  (63 #f () (1326120 \"cell activation\" (\"celf\")))\n  (64 #f () (1256369 \"insulin secretion\" (\"celf\")))\n  (65\n   #t\n   ((4096 \"Asthma\" (\"dsyn\"))\n    (4099 \"Asthma, Exercise-Induced\" (\"dsyn\"))\n    (155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (24262 \"Lymphocyte Activation\" (\"celf\")))\n  (68 #f () (1318468 \"cell-mediated immune response\" (\"celf\")))\n  (72 #f () (7581 \"Cell Aging\" (\"celf\")))\n  (74 #f () (1159816 \"anti-apoptosis\" (\"celf\")))\n  (76 #f () (598501 \"Chromosome Pairing\" (\"celf\")))\n  (76 #f () (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\")))\n  (80 #f () (7577 \"Cell Adhesion\" (\"celf\")))\n  (86 #t ((4096 \"Asthma\" (\"dsyn\"))) (8018 \"Chemotaxis\" (\"celf\")))\n  (87 #f () (1260960 \"Cytolysis\" (\"celf\")))\n  (89 #f () (678903 \"Neuronal Transmission\" (\"celf\")))\n  (91 #f () (31308 \"Phagocytosis\" (\"celf\")))\n  (95 #f () (32176 \"Platelet aggregation\" (\"celf\")))\n  (103 #f () (7620 \"Cell Survival\" (\"celf\")))\n  (104 #f () (7595 \"Cell Growth\" (\"celf\")))\n  (106 #f () (7586 \"Cell Cycle\" (\"celf\")))\n  (106 #t ((4096 \"Asthma\" (\"dsyn\"))) (7608 \"cell motility\" (\"celf\")))\n  (113\n   #f\n   ((264423 \"Occupational asthma\" (\"dsyn\")))\n   (3261 \"Antibody Formation\" (\"celf\")))\n  (114\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")) (264408 \"Childhood asthma\" (\"dsyn\")))\n   (1155065 \"T-Cell Activation\" (\"celf\")))\n  (141 #t ((4096 \"Asthma\" (\"dsyn\"))) (7582 \"Cell Communication\" (\"celf\")))\n  (150 #t ((4096 \"Asthma\" (\"dsyn\"))) (1514758 \"Receptor Activation\" (\"celf\")))\n  (164 #t ((4096 \"Asthma\" (\"dsyn\"))) (599894 \"targeting\" (\"celf\")))\n  (165\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")) (155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (15283 \"Exocytosis\" (\"celf\")))\n  (218 #t ((4096 \"Asthma\" (\"dsyn\"))) (7613 \"Cell physiology\" (\"celf\")))\n  (231\n   #f\n   ((155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\")))\n  (241 #f () (596290 \"Cell Proliferation\" (\"celf\")))\n  (268 #f () (7587 \"Cell Death\" (\"celf\")))\n  (292 #t ((4096 \"Asthma\" (\"dsyn\"))) (4391 \"Autophagy\" (\"celf\")))\n  (332\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")) (155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (37080 \"Signal Pathways\" (\"celf\" \"moft\")))\n  (335\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")))\n   (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\")))\n  (358\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")) (155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (13081 \"Down-Regulation\" (\"celf\")))\n  (423\n   #t\n   ((4096 \"Asthma\" (\"dsyn\")) (155877 \"Extrinsic asthma NOS\" (\"dsyn\")))\n   (37083 \"Signal Transduction\" (\"celf\")))\n  (819 #t ((4096 \"Asthma\" (\"dsyn\"))) (162638 \"Apoptosis\" (\"celf\"))))\n\n\n\n;; How many \"celf\"s are caused by the genes of interest, across all 47\n;; genes (the \"naive\" list of genes) that are directly inhibited by\n;; Gleevec *and* directly cause diseases that Gleevec directly treats?\n;;\n;; Throw out the 'howler' genes:\n;;\n;;   (100 (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\")))\n;;   (104 (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\")))\n;;   (174 (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))))\n;;\n;; Throwing out the top three super-broad classes of genes reduces\n;; the number of results from 298 to 189.\n(apply\n union*\n (map\n  (lambda (gene)\n    (let ((cell-functions\n           (run* (q)\n             (fresh (cell-function e-gene/cell-function st-gene/cell-function ot-gene/cell-function e-gene/cell-function-rest)\n               (== cell-function q)\n               (== \"celf\" ot-gene/cell-function)              \n               (== `(,gene ,cell-function \"CAUSES\" ,st-gene/cell-function ,ot-gene/cell-function . ,e-gene/cell-function-rest) e-gene/cell-function)\n               (edgeo e-gene/cell-function)))))\n      cell-functions))\n  '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n    (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n    (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n    (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n    (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n    (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n    (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n    (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n    (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n    (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n    (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n    ;; ignore howler!\n    ;; (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n    (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n    (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n    (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n    ;; ignore howler!\n    ;; (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n    (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n    (290068\n     \"Platelet-Derived Growth Factor beta Receptor\"\n     (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n    (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n    (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n    (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n    (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n    (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n    (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n    (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n    (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n    (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n    (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n    (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n    (80092\n     \"Macrophage Colony-Stimulating Factor Receptor\"\n     (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n    (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n    (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n    (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n    (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n    (290067\n     \"Platelet-Derived Growth Factor alpha Receptor\"\n     (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n    (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n    (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n    (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n    ;; ignore howler\n    ;; (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n    (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n    (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n    (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n    (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n    (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n    (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n    (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n    (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")))))\n=>\n'((312862 \"Lymphocyte chemotaxis\" (\"celf\"))\n  (1159455 \"syncytium formation\" (\"celf\"))\n  (1372294 \"Increased Endocytosis\" (\"celf\"))\n  (598948 \"axonal guidance\" (\"celf\"))\n  (1159821 \"apoptotic program\" (\"celf\"))\n  (1318468 \"cell-mediated immune response\" (\"celf\"))\n  (1326501 \"eosinophil chemotaxis\" (\"celf\"))\n  (1155303 \"ER-overload response\" (\"celf\"))\n  (1156259 \"cell ion homeostasis\" (\"celf\"))\n  (1159709 \"cholesterol transport\" (\"celf\"))\n  (1276855 \"Monocyte chemotaxis\" (\"celf\"))\n  (1326474 \"vesicle fusion\" (\"celf\"))\n  (1516338 \"Cell Death Induction\" (\"celf\"))\n  (598949 \"axonal sprouting\" (\"celf\"))\n  (1156042 \"endosome transport\" (\"celf\"))\n  (1159824 \"nuclear fragmentation\" (\"celf\"))\n  (1326121 \"astrocyte activation\" (\"celf\"))\n  (25186 \"Meiosis\" (\"celf\"))\n  (1155874 \"Cell Cycle Checkpoint\" (\"celf\"))\n  (1155876 \"DNA replication checkpoint\" (\"celf\"))\n  (1156132 \"vacuolar acidification\" (\"celf\"))\n  (1159689 \"potassium ion transport\" (\"celf\"))\n  (1326080 \"muscle cell differentiation\" (\"celf\"))\n  (1155013 \"T-cell differentiation\" (\"celf\"))\n  (598838 \"membrane assembly\" (\"celf\"))\n  (7580 \"Cell Aggregation\" (\"celf\"))\n  (32174 \"Platelet adhesion\" (\"celf\"))\n  (282636 \"Cell Respiration\" (\"celf\"))\n  (301896 \"Cell-Mediated Cytolysis\" (\"celf\"))\n  (392710 \"Megakaryocytic maturation\" (\"celf\"))\n  (596991 \"myelination\" (\"celf\"))\n  (1156032 \"Microtubule Polymerization\" (\"celf\"))\n  (1159339 \"Protein Secretion\" (\"celf\"))\n  (1159884 \"adipocyte differentiation\" (\"celf\"))\n  (1159938 \"eosinophil differentiation\" (\"celf\"))\n  (1159966 \"myoblast differentiation\" (\"celf\"))\n  (1159978 \"osteoclast differentiation\" (\"celf\"))\n  (1160520 \"oocyte maturation\" (\"celf\"))\n  (1326236 \"filopodium formation\" (\"celf\"))\n  (1326504 \"neuronal migration\" (\"celf\"))\n  (1513082 \"Megakaryocyte Proliferation\" (\"celf\"))\n  (599702 \"reuptake\" (\"celf\"))\n  (312861 \"Neutrophil chemotaxis\" (\"celf\"))\n  (1155792 \"Meiotic Recombination\" (\"celf\"))\n  (1516349 \"Cell Maturation\" (\"celf\"))\n  (1372847 \"Increased Cellular Migration\" (\"celf\"))\n  (312860 \"Neutrophil migration, function\" (\"celf\"))\n  (37841 \"Sperm Capacitation\" (\"celf\"))\n  (1159958 \"neutrophil differentiation\" (\"celf\"))\n  (19595 \"Histamine Release\" (\"celf\"))\n  (31945 \"Pinocytosis\" (\"celf\"))\n  (230871 \"Mitochondrion in division\" (\"celf\"))\n  (525010 \"Autocrine Communication\" (\"celf\"))\n  (600430 \"Calcium Waves\" (\"celf\"))\n  (1155752 \"positive regulation of mitosis\" (\"celf\"))\n  (1155949 \"lamellipodium biogenesis\" (\"celf\"))\n  (1156031 \"Microtubule Depolymerization\" (\"celf\"))\n  (1260960 \"Cytolysis\" (\"celf\"))\n  (1325887 \"focal adhesion formation\" (\"celf\"))\n  (1326341 \"Epithelial Cell Proliferation\" (\"celf\"))\n  (1326356 \"amino acid import\" (\"celf\"))\n  (1522821 \"acidification\" (\"celf\"))\n  (1155046 \"T-Cell Proliferation\" (\"celf\"))\n  (1325893 \"histamine secretion\" (\"celf\"))\n  (7588 \"Cell Degranulation\" (\"celf\"))\n  (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\"))\n  (1159816 \"anti-apoptosis\" (\"celf\"))\n  (1159909 \"keratinocyte differentiation\" (\"celf\"))\n  (1514761 \"Receptor Inhibition\" (\"celf\"))\n  (79396 \"G2 Phase\" (\"celf\"))\n  (1155846\n   \"negative regulation of cyclin dependent protein kinase activity\"\n   (\"celf\"))\n  (1256369 \"insulin secretion\" (\"celf\"))\n  (1326346 \"urothelial cell proliferation\" (\"celf\"))\n  (3261 \"Antibody Formation\" (\"celf\"))\n  (24262 \"Lymphocyte Activation\" (\"celf\"))\n  (206431 \"Antigen Presentation\" (\"celf\"))\n  (1155003 \"B-Cell Activation\" (\"celf\"))\n  (1155004 \"B-cell differentiation\" (\"celf\"))\n  (1155008 \"B Cell Proliferation\" (\"celf\"))\n  (1155229 \"humoral immune response\" (\"celf\"))\n  (1155980 \"actin filament depolymerization\" (\"celf\"))\n  (1327616 \"Cell secretion\" (\"celf\"))\n  (1511002 \"B-Cell Development\" (\"celf\"))\n  (3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\"))\n  (7591 \"Cell division phases\" (\"celf\"))\n  (10813 \"Cytokinesis\" (\"celf\"))\n  (14139 \"Endocytosis\" (\"celf\"))\n  (26255 \"Mitosis\" (\"celf\"))\n  (31308 \"Phagocytosis\" (\"celf\"))\n  (32176 \"Platelet aggregation\" (\"celf\"))\n  (37848 \"Sperm Motility\" (\"celf\"))\n  (85416 \"Respiratory Burst\" (\"celf\"))\n  (178666 \"glucose transport\" (\"celf\"))\n  (302167 \"Cap formation\" (\"celf\"))\n  (599893 \"Protein translocation\" (\"celf\"))\n  (600485 \"Acrosome Reaction\" (\"celf\"))\n  (887839 \"Nuclear Import\" (\"celf\"))\n  (949629 \"Bystander Effect\" (\"celf\"))\n  (1155065 \"T-Cell Activation\" (\"celf\"))\n  (1155607 \"autophagic vacuole formation\" (\"celf\"))\n  (1155631 \"Chromosome Condensation\" (\"celf\"))\n  (1155734 \"lamin depolymerization\" (\"celf\"))\n  (1155750 \"Mitotic/Spindle Checkpoint\" (\"celf\"))\n  (1155871 \"nuclear migration\" (\"celf\"))\n  (1155872 \"Cell Cycle Regulation\" (\"celf\"))\n  (1155893 \"unidimensional cell growth\" (\"celf\"))\n  (1158774 \"negative regulation of transcription by glucose\" (\"celf\"))\n  (1159442 \"sporulation\" (\"celf\"))\n  (1159512 \"maltose transport\" (\"celf\"))\n  (1159521 \"hexose transport\" (\"celf\"))\n  (1160602 \"cholesterol absorption\" (\"celf\"))\n  (1326207 \"Programmed Cell Death, Type II\" (\"celf\"))\n  (1326220 \"synergid cell death\" (\"celf\"))\n  (1326347 \"fibroblast proliferation\" (\"celf\"))\n  (1326502 \"macrophage chemotaxis\" (\"celf\"))\n  (1511632 \"Cytoskeletal Modeling\" (\"celf\"))\n  (1515126 \"T-Cell Development\" (\"celf\"))\n  (1516340 \"Cell Death Process\" (\"celf\"))\n  (1516743 \"Complement-Dependent Cytotoxicity\" (\"celf\"))\n  (1517348 \"G2 Phase Arrest\" (\"celf\"))\n  (1519167 \"S Phase Arrest\" (\"celf\"))\n  (1523105 \"nuclear envelope disassembly\" (\"celf\"))\n  (1523795 \"stress fiber formation\" (\"celf\"))\n  (4462 \"Axonal Transport\" (\"celf\"))\n  (15283 \"Exocytosis\" (\"celf\"))\n  (25564 \"Metaphase\" (\"celf\"))\n  (1450355 \"Prometaphase\" (\"celf\"))\n  (8018 \"Chemotaxis\" (\"celf\"))\n  (1156237 \"Stimulation of Cell Proliferation\" (\"celf\"))\n  (25251 \"Membrane Potentials\" (\"celf\"))\n  (7590 \"Cell division\" (\"celf\"))\n  (7613 \"Cell physiology\" (\"celf\"))\n  (596286 \"Cell Growth Regulation\" (\"celf\"))\n  (598501 \"Chromosome Pairing\" (\"celf\"))\n  (599894 \"targeting\" (\"celf\"))\n  (1155711 \"stem cell division\" (\"celf\"))\n  (1155766 \"centrosome cycle\" (\"celf\"))\n  (1326205 \"Induction of Apoptosis\" (\"celf\"))\n  (1326225 \"cell homeostasis\" (\"celf\"))\n  (4391 \"Autophagy\" (\"celf\"))\n  (7577 \"Cell Adhesion\" (\"celf\"))\n  (7581 \"Cell Aging\" (\"celf\"))\n  (7582 \"Cell Communication\" (\"celf\"))\n  (7586 \"Cell Cycle\" (\"celf\"))\n  (7608 \"cell motility\" (\"celf\"))\n  (24426 \"Macrophage Activation\" (\"celf\"))\n  (37080 \"Signal Pathways\" (\"celf\" \"moft\"))\n  (41904 \"Up-Regulation (Physiology)\" (\"moft\" \"celf\"))\n  (544888 \"Mitotic arrest\" (\"celf\"))\n  (596233 \"release of sequestered calcium ion into cytoplasm\" (\"celf\"))\n  (598087 \"cell dedifferentiation\" (\"celf\"))\n  (600431 \"Calcium Signaling\" (\"celf\"))\n  (678903 \"Neuronal Transmission\" (\"celf\"))\n  (872097 \"Anoikis\" (\"celf\"))\n  (887840 \"Nuclear Export\" (\"celf\"))\n  (1154382 \"Cell-Cell Adhesion\" (\"celf\"))\n  (1154401 \"cell invasion\" (\"celf\"))\n  (1154413 \"Intercellular Communication\" (\"celf\"))\n  (1158770 \"Transcriptional Regulation\" (\"celf\"))\n  (1158951 \"maintenance of protein localization\" (\"celf\"))\n  (1159946 \"macrophage differentiation\" (\"celf\"))\n  (1159974 \"osteoblast differentiation\" (\"celf\"))\n  (1257985 \"Cross-Priming\" (\"celf\"))\n  (1326057 \"epithelial cell differentiation\" (\"celf\"))\n  (1326120 \"cell activation\" (\"celf\"))\n  (1330957 \"Cytokinesis of the fertilized ovum\" (\"celf\"))\n  (1372180 \"Increased Cellular Death\" (\"celf\"))\n  (1515136 \"T-Cell Transformation\" (\"celf\"))\n  (1515432 \"Thymocyte Development\" (\"celf\"))\n  (1515979 \"Anchorage-Independent Growth\" (\"celf\"))\n  (1516334 \"Cell Cycle Progression\" (\"celf\"))\n  (1518147 \"M Phase Arrest\" (\"celf\"))\n  (1523169 \"smooth muscle cell differentiation\" (\"celf\"))\n  (1523298 \"epithelial to mesenchymal transition\" (\"celf\"))\n  (1540661 \"cell fate\" (\"celf\"))\n  (7595 \"Cell Growth\" (\"celf\"))\n  (596290 \"Cell Proliferation\" (\"celf\"))\n  (1155781 \"spindle assembly\" (\"celf\"))\n  (1155873 \"Cell Cycle Arrest\" (\"celf\"))\n  (7587 \"Cell Death\" (\"celf\"))\n  (7620 \"Cell Survival\" (\"celf\"))\n  (13081 \"Down-Regulation\" (\"celf\"))\n  (37083 \"Signal Transduction\" (\"celf\"))\n  (40682 \"cell transformation\" (\"celf\"))\n  (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\"))\n  (162638 \"Apoptosis\" (\"celf\"))\n  (221117 \"Anergy\" (\"celf\"))\n  (1155074 \"mast cell activation\" (\"celf\"))\n  (1514758 \"Receptor Activation\" (\"celf\")))\n\n;; How many \"celf\"s are caused by the genes of interest, across all 47\n;; genes (the \"naive\" list of genes) that are directly inhibited by\n;; Gleevec *and* directly cause diseases that Gleevec directly treats?\n;;\n;; 298 \"celfs\"\n;;\n(length\n (apply\n  union*\n  (map\n   (lambda (gene)\n     (let ((cell-functions\n            (run* (q)\n              (fresh (cell-function e-gene/cell-function st-gene/cell-function ot-gene/cell-function e-gene/cell-function-rest)\n                (== cell-function q)\n                (== \"celf\" ot-gene/cell-function)              \n                (== `(,gene ,cell-function \"CAUSES\" ,st-gene/cell-function ,ot-gene/cell-function . ,e-gene/cell-function-rest) e-gene/cell-function)\n                (edgeo e-gene/cell-function)))))\n       cell-functions))\n   '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n     (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n     (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n     (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n     (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n     (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n     (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n     (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n     (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n     (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n     (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n     (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n     (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n     (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n     (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n     (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n     (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n     (290068\n      \"Platelet-Derived Growth Factor beta Receptor\"\n      (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n     (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n     (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n     (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n     (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n     (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n     (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n     (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n     (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n     (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n     (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n     (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n     (80092\n      \"Macrophage Colony-Stimulating Factor Receptor\"\n      (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n     (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n     (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n     (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n     (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n     (290067\n      \"Platelet-Derived Growth Factor alpha Receptor\"\n      (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n     (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n     (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n     (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n     (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n     (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n     (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n     (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n     (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n     (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n     (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n     (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n     (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))))))\n=>\n298\n\n;; There are 47 genes are directly inhibited by Gleevec *and* directly cause diseases that Gleevec directly treats\n;; (vs. 50 genes that are inhibited directly by Gleevec).  (See query below that produces these answers.)\n;;\n;; For each gene, how many cell functions (celf|T043|Cell Function) are directly caused by that gene?\n(sort\n (map\n  (lambda (gene)\n    (let ((cell-functions\n           (run* (q)\n             (fresh (cell-function e-gene/cell-function st-gene/cell-function ot-gene/cell-function e-gene/cell-function-rest)\n               (== cell-function q)\n               (== \"celf\" ot-gene/cell-function)              \n               (== `(,gene ,cell-function \"CAUSES\" ,st-gene/cell-function ,ot-gene/cell-function . ,e-gene/cell-function-rest) e-gene/cell-function)\n               (edgeo e-gene/cell-function)))))\n      (list (length (rem-dups cell-functions)) gene)))\n  '((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n    (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n    (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n    (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n    (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n    (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n    (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n    (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n    (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n    (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n    (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n    (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n    (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n    (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n    (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n    (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n    (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n    (290068\n     \"Platelet-Derived Growth Factor beta Receptor\"\n     (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n    (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n    (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n    (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n    (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n    (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n    (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n    (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n    (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n    (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n    (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n    (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n    (80092\n     \"Macrophage Colony-Stimulating Factor Receptor\"\n     (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n    (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n    (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n    (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n    (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n    (290067\n     \"Platelet-Derived Growth Factor alpha Receptor\"\n     (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n    (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n    (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n    (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n    (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n    (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n    (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n    (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n    (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n    (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n    (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n    (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n    (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))))\n (lambda (l1 l2) (< (car l1) (car l2))))\n=>\n'((1 (79413 \"Genes, abl\" (\"gngm\" \"aapp\")))\n  (2\n   (290067\n    \"Platelet-Derived Growth Factor alpha Receptor\"\n    (\"rcpt\" \"aapp\" \"gngm\" \"enzy\")))\n  (3 (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\")))\n  (3 (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\")))\n  (4 (1428985 \"PDGFD gene\" (\"aapp\" \"gngm\")))\n  (4 (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\")))\n  (4 (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\")))\n  (4 (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\")))\n  (5 (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\")))\n  (7 (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\")))\n  (7 (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\")))\n  (7 (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")))\n  (8 (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\")))\n  (8 (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\")))\n  (8 (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\")))\n  (8 (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\")))\n  (8\n   (80092\n    \"Macrophage Colony-Stimulating Factor Receptor\"\n    (\"enzy\" \"aapp\" \"imft\" \"gngm\")))\n  (9 (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\")))\n  (10 (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")))\n  (11 (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\")))\n  (11\n   (290068\n    \"Platelet-Derived Growth Factor beta Receptor\"\n    (\"aapp\" \"gngm\" \"rcpt\" \"enzy\")))\n  (11 (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\")))\n  (11 (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\")))\n  (12 (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\")))\n  (12 (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\")))\n  (14 (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\")))\n  (15 (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\")))\n  (17 (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\")))\n  (18 (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\")))\n  (19 (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\")))\n  (24 (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\")))\n  (26 (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\")))\n  (28 (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\")))\n  (30\n   (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\")))\n  (33 (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\")))\n  (33 (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\")))\n  (34 (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\")))\n  (39 (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\")))\n  (43 (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\")))\n  (45 (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\")))\n  (52 (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\")))\n  (57 (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\")))\n  (71 (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\")))\n  ;; marginal at best\n  (80 (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\")))\n  ;; below here are silly answers\n  (100 (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\")))\n  (104 (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\")))\n  (174 (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))))\n\n\n\n;; only 14 dsyn, neop, or patf directly caused by a celf,\n;; and many of these are so general as to be almost meaningless\n(rem-dups (run* (q)\n  (fresh (e subj obj pred st ot rest)\n    (== (list subj obj) q)\n    (== \"celf\" st)\n    (conde\n      [(== \"dsyn\" ot)]\n      [(== \"neop\" ot)]\n      [(== \"patf\" ot)])\n    (== \"CAUSES\" pred)\n    (== `(,subj ,obj ,pred ,st ,ot . ,rest) e)\n    (edgeo e))))\n'(((3272 \"Antibody -dependent cell cytotoxicity\" (\"celf\"))\n   (11854 \"Diabetes Mellitus, Insulin-Dependent\" (\"dsyn\")))\n  ((7613 \"Cell physiology\" (\"celf\"))\n   (4153 \"Atherosclerosis\" (\"dsyn\")))\n  ((7577 \"Cell Adhesion\" (\"celf\"))\n   (242184 \"Hypoxia\" (\"patf\")))\n  ((7577 \"Cell Adhesion\" (\"celf\"))\n   (852964 \"Shunt occlusion\" (\"patf\")))\n  ((24262 \"Lymphocyte Activation\" (\"celf\"))\n   (20517 \"Hypersensitivity\" (\"patf\")))\n  ((920567 \"leukocyte activation\" (\"celf\"))\n   (332448 \"Infiltration\" (\"patf\")))\n  ((1159339 \"Protein Secretion\" (\"celf\"))\n   (277785 \"Functional disorder\" (\"patf\")))\n  ((7613 \"Cell physiology\" (\"celf\"))\n   (12634 \"Disease\" (\"dsyn\")))\n  ((7613 \"Cell physiology\" (\"celf\"))\n   (42769 \"Virus Diseases\" (\"dsyn\")))\n  ((7613 \"Cell physiology\" (\"celf\"))\n   (524851 \"Neurodegenerative Disorders\" (\"dsyn\")))\n  ((7613 \"Cell physiology\" (\"celf\"))\n   (751651 \"Mitochondrial Diseases\" (\"dsyn\")))\n  ((1154987 \"anti-inflammatory response\" (\"celf\"))\n   (21290 \"Infant, Newborn, Diseases\" (\"dsyn\")))\n  ((1158770 \"Transcriptional Regulation\" (\"celf\"))\n   (42373 \"Vascular Diseases\" (\"dsyn\")))\n  ((1524026 \"Metabolic Process, Cellular\" (\"celf\"))\n   (12634 \"Disease\" (\"dsyn\"))))\n\n;; 9 results\n(run* (q)\n  (fresh (e subj obj pred st ot rest)\n    (== e q)\n    (fuzzy-concepto \"mast cell activation\" obj)\n    (conde\n      [(== \"dsyn\" st)]\n      [(== \"neop\" st)]\n      [(== \"patf\" st)])\n    (== \"MANIFESTATION_OF\" pred)\n    (== `(,subj ,obj ,pred ,st ,ot . ,rest) e)\n    (edgeo e)))\n=>\n'(((4096 \"Asthma\" (\"dsyn\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"dsyn\"\n   \"celf\"\n   (2741114))\n  ((12634 \"Disease\" (\"dsyn\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"dsyn\"\n   \"celf\"\n   (12217411))\n  ((36221 \"Mast-Cell Sarcoma\" (\"neop\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"neop\"\n   \"celf\"\n   (26659448))\n  ((343378 \"Helicobacter-associated gastritis\" (\"dsyn\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"dsyn\"\n   \"celf\"\n   (21932987))\n  ((13604 \"Edema\" (\"patf\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"patf\"\n   \"celf\"\n   (21130119))\n  ((745283 \"INFECTIOUS PROCESS\" (\"dsyn\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"dsyn\"\n   \"celf\"\n   (20706702))\n  ((598934 \"tumor growth\" (\"neop\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"neop\"\n   \"celf\"\n   (24931643))\n  ((242184 \"Hypoxia\" (\"patf\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"patf\"\n   \"celf\"\n   (16572929))\n  ((332448 \"Infiltration\" (\"patf\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"patf\"\n   \"celf\"\n   (21130119)))\n\n\n;; mast cell activation directly AFFECTS which disorders, neoplasms,\n;; or pathologic functions?\n;;\n;; 35 results, 2 of which are super overly broad (Disease, Chronic Disease)\n(run* (q)\n  (fresh (e subj obj pred st ot rest)\n    (== obj q)    \n    (fuzzy-concepto \"mast cell activation\" subj)\n    (== \"AFFECTS\" pred)\n    (conde\n      [(== \"dsyn\" ot)]\n      [(== \"neop\" ot)]\n      [(== \"patf\" ot)])\n    (== `(,subj ,obj ,pred ,st ,ot . ,rest) e)\n    (edgeo e)))\n=>\n'((3864 \"Arthritis\" (\"dsyn\"))\n  (4096 \"Asthma\" (\"dsyn\"))\n  (2792 \"Anaphylaxis\" (\"patf\"))\n  ;; junky\n  (8679 \"Chronic Disease\" (\"dsyn\"))\n  (2994 \"Angioneurotic Edema\" (\"patf\"))\n  (9766 \"Allergic Conjunctivitis\" (\"dsyn\"))\n  (16059 \"Fibrosis\" (\"patf\"))\n  ;; junk\n  (12634 \"Disease\" (\"dsyn\"))\n  (20452 \"Hyperemia\" (\"patf\"))\n  (14038 \"Encephalitis\" (\"dsyn\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n  (20523 \"Immediate hypersensitivity\" (\"patf\"))\n  (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n  (21368 \"Inflammation\" (\"patf\"))\n  (41296 \"Tuberculosis\" (\"dsyn\"))\n  (21375 \"Inflammation, allergic\" (\"patf\"))\n  (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n  (36974 \"Shock\" (\"patf\"))\n  (263338 \"Chronic urticaria\" (\"dsyn\"))\n  (242184 \"Hypoxia\" (\"patf\"))\n  (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (282488 \"Interstitial Cystitis\" (\"dsyn\"))\n  (333390 \"Chronic eosinophilic inflammation\" (\"patf\"))\n  (340865 \"Anaphylactoid reaction\" (\"dsyn\"))\n  (392707 \"Atopy\" (\"patf\"))\n  (853897 \"Diabetic cardiomyopathy\" (\"dsyn\"))\n  (553697 \"Granulomatous inflammation\" (\"patf\"))\n  (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1290886 \"Chronic inflammatory disorder\" (\"dsyn\"))\n  (1155266 \"Inflammatory Response\" (\"patf\"))\n  (1449852 \"Erythematotelangiectatic Rosacea\" (\"dsyn\"))\n  (1527304 \"Allergic Reaction\" (\"patf\")))\n\n;; 41 results, none of which are CAUSES.  Most are AFFECTS.\n;;\n;; Results related to asthma include:\n;;\n;; ((1155074 \"mast cell activation\" (\"celf\"))\n;;  (4096 \"Asthma\" (\"dsyn\"))\n;;  \"AFFECTS\"\n;;  \"celf\"\n;;  \"dsyn\"\n;;  (18209484 10352758))\n;;\n;; ((1155074 \"mast cell activation\" (\"celf\"))\n;;  (4096 \"Asthma\" (\"dsyn\"))\n;;  \"ASSOCIATED_WITH\"\n;;  \"celf\"\n;;  \"dsyn\"\n;;  (2645347))\n;;\n;; ((1155074 \"mast cell activation\" (\"celf\"))\n;;  (4099 \"Asthma, Exercise-Induced\" (\"dsyn\"))\n;;  \"NEG_AFFECTS\"\n;;  \"celf\"\n;;  \"dsyn\"\n;;  (1730841))\n;;\n;; ((1155074 \"mast cell activation\" (\"celf\"))\n;;  (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n;;  \"AFFECTS\"\n;;  \"celf\"\n;;  \"dsyn\"\n;;  (24509414))\n;;\n(run* (q)\n  (fresh (e subj obj pred st ot rest)\n    (== e q)\n    (fuzzy-concepto \"mast cell activation\" subj)\n    (conde\n      [(== \"dsyn\" ot)]\n      [(== \"neop\" ot)]\n      [(== \"patf\" ot)])\n    (== `(,subj ,obj ,pred ,st ,ot . ,rest) e)\n    (edgeo e)))\n\n;; find all direct edges between mast cell activation and asthma\n;;\n;; interesting!\n;;\n;; 'Asthma MANIFESTATION_OF mast cell activation' seems like the strongest claim,\n;; followed by 'mast cell activation AFFECTS Asthma'\n(run* (q)\n  (fresh (e subj obj pred st ot rest)\n    (== e q)\n    (conde\n      [(fuzzy-concepto \"mast cell activation\" subj)\n       (fuzzy-concepto \"asthma\" obj)]\n      [(fuzzy-concepto \"asthma\" subj)\n       (fuzzy-concepto \"mast cell activation\" obj)])\n    (== `(,subj ,obj ,pred ,st ,ot . ,rest) e)\n    (edgeo e)))\n=>\n'(((1155074 \"mast cell activation\" (\"celf\"))\n   (4096 \"Asthma\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (18209484 10352758))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (4096 \"Asthma\" (\"dsyn\"))\n   \"ASSOCIATED_WITH\"\n   \"celf\"\n   \"dsyn\"\n   (2645347))\n  ((4096 \"Asthma\" (\"dsyn\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"AFFECTS\"\n   \"dsyn\"\n   \"celf\"\n   (17498066 17192558))\n  ((4096 \"Asthma\" (\"dsyn\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"MANIFESTATION_OF\"\n   \"dsyn\"\n   \"celf\"\n   (2741114))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (4099 \"Asthma, Exercise-Induced\" (\"dsyn\"))\n   \"NEG_AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (1730841))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (24509414)))\n\n\n\n;; KIT or C-KIT directly causing some cell function (celf|T043|Cell Function)\n;;\n;; 22 results\n(let ((diseases (run* (q)\n                  (fresh (disease gene e-gene/disease st-gene/disease ot-gene/disease e-gene/disease-rest)\n                    (== disease q)\n                    (== \"celf\" ot-gene/disease)\n                    (conde\n                      [(== '(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")) gene)]\n                      [(== '(920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")) gene)]\n                      [(== '(72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\")) gene)])\n                    (== `(,gene ,disease \"CAUSES\" ,st-gene/disease ,ot-gene/disease . ,e-gene/disease-rest) e-gene/disease)\n                    (edgeo e-gene/disease)))))\n    (rem-dups diseases))\n=>\n'((7587 \"Cell Death\" (\"celf\"))\n  (7620 \"Cell Survival\" (\"celf\"))\n  (7595 \"Cell Growth\" (\"celf\"))\n  (7608 \"cell motility\" (\"celf\"))\n  (37083 \"Signal Transduction\" (\"celf\"))\n  (13081 \"Down-Regulation\" (\"celf\"))\n  (40682 \"cell transformation\" (\"celf\"))\n  (7613 \"Cell physiology\" (\"celf\"))\n  (86982 \"Signal Transduction Pathways\" (\"moft\" \"celf\"))\n  (26255 \"Mitosis\" (\"celf\"))\n  (1155074 \"mast cell activation\" (\"celf\"))\n  (37080 \"Signal Pathways\" (\"celf\" \"moft\"))\n  (1155781 \"spindle assembly\" (\"celf\"))\n  (162638 \"Apoptosis\" (\"celf\"))\n  (1155873 \"Cell Cycle Arrest\" (\"celf\"))\n  (221117 \"Anergy\" (\"celf\"))\n  (1514758 \"Receptor Activation\" (\"celf\"))\n  (596290 \"Cell Proliferation\" (\"celf\"))\n  (678903 \"Neuronal Transmission\" (\"celf\"))\n  (949469 \"Receptor Down-Regulation\" (\"moft\" \"celf\"))\n  (1155046 \"T-Cell Proliferation\" (\"celf\"))\n  (1325893 \"histamine secretion\" (\"celf\")))\n\n(let ((diseases (run* (q)\n                  (fresh (disease gene e-gene/disease st-gene/disease ot-gene/disease e-gene/disease-rest)\n                    (== disease q)\n                    (conde\n                      [(== '(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")) gene)]\n                      [(== '(920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")) gene)]\n                      [(== '(72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\")) gene)])\n                    (== `(,gene ,disease \"CAUSES\" ,st-gene/disease ,ot-gene/disease . ,e-gene/disease-rest) e-gene/disease)\n                    (edgeo e-gene/disease)))))\n    (length (rem-dups diseases)))\n=>\n104\n\n;; which diseases, neoplasms, pathologic functions are directly caused by KIT or C-KIT?\n;;\n;; 62 results, including\n;;\n;; (12634 \"Disease\" (\"dsyn\"))\n;; (678236 \"Rare Diseases\" (\"dsyn\"))\n;; (879626 \"Adverse effects\" (\"patf\"))\n;;\n;; notice asthma isn't one of them!\n(let ((diseases (run* (q)\n                  (fresh (disease gene e-gene/disease st-gene/disease ot-gene/disease e-gene/disease-rest)\n                    (== disease q)\n                    (conde\n                      [(== \"dsyn\" ot-gene/disease)]\n                      [(== \"neop\" ot-gene/disease)]\n                      [(== \"patf\" ot-gene/disease)])\n                    (conde\n                      [(== '(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")) gene)]\n                      [(== '(920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")) gene)]\n                      [(== '(72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\")) gene)])\n                    (== `(,gene ,disease \"CAUSES\" ,st-gene/disease ,ot-gene/disease . ,e-gene/disease-rest) e-gene/disease)\n                    (edgeo e-gene/disease)))))\n  (rem-dups diseases))\n=>\n'((2871 \"Anemia\" (\"dsyn\"))\n  (11603 \"Dermatitis\" (\"dsyn\"))\n  (1511 \"Adhesions\" (\"acab\" \"dsyn\"))\n  (12634 \"Disease\" (\"dsyn\"))\n  (16663 \"Pathological fracture\" (\"dsyn\"))\n  (2874 \"Aplastic Anemia\" (\"dsyn\"))\n  (17178 \"Gastrointestinal Diseases\" (\"dsyn\"))\n  (4509 \"Azoospermia\" (\"dsyn\"))\n  (37277 \"Skin Diseases, Genetic\" (\"dsyn\"))\n  (41408 \"Turner's Syndrome\" (\"cgab\" \"dsyn\"))\n  (11847 \"Diabetes\" (\"dsyn\"))\n  (15625 \"Fanconi's Anemia\" (\"dsyn\"))\n  (85215 \"Ovarian Failure, Premature\" (\"dsyn\"))\n  (24899 \"mastocytosis\" (\"dsyn\"))\n  (23435 \"Leukemia, B-Cell, Acute\" (\"neop\"))\n  (25218 \"Chloasma\" (\"dsyn\"))\n  (339789 \"Congenital deafness\" (\"cgab\" \"dsyn\"))\n  (27051 \"Myocardial Infarction\" (\"dsyn\"))\n  (29453 \"Osteopenia\" (\"dsyn\"))\n  (43154 \"Dental White Spot\" (\"dsyn\"))\n  (1136033 \"Cutaneous Mastocytosis\" (\"dsyn\"))\n  (25286 \"meningioma\" (\"neop\"))\n  (80024 \"Piebaldism\" (\"dsyn\"))\n  (221013 \"Mastocytosis, Systemic\" (\"dsyn\"))\n  (27022 \"Myeloproliferative disease\" (\"neop\"))\n  (242354 \"Congenital Disorders\" (\"dsyn\"))\n  (595978 \"Idiopathic megacolon\" (\"dsyn\"))\n  (678236 \"Rare Diseases\" (\"dsyn\"))\n  (948710 \"Ureteropelvic junction obstruction\" (\"dsyn\"))\n  (7137 \"Squamous cell carcinoma\" (\"neop\"))\n  (152254 \"Fatty degeneration\" (\"patf\"))\n  (9402 \"Carcinoma of the Large Intestine\" (\"neop\"))\n  (346421 \"Chronic eosinophilic leukemia\" (\"neop\"))\n  (20507 \"Hyperplasia\" (\"patf\"))\n  (1334699 \"Mesenchymal Cell Neoplasm\" (\"neop\"))\n  (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n  (1140999 \"Contraction\" (\"patf\"))\n  (20517 \"Hypersensitivity\" (\"patf\"))\n  (27708 \"Nephroblastoma\" (\"neop\"))\n  (27819 \"Neuroblastoma\" (\"neop\"))\n  (6826 \"Malignant Neoplasms\" (\"neop\"))\n  (25874 \"Metrorrhagia\" (\"patf\"))\n  (37579 \"Soft Tissue Neoplasms\" (\"neop\"))\n  (79218 \"Fibromatosis, Aggressive\" (\"neop\"))\n  (151686 \"Growth retardation\" (\"patf\"))\n  (85669 \"Acute leukemia\" (\"neop\"))\n  (25202 \"melanoma\" (\"neop\"))\n  (149925 \"Small cell carcinoma of lung\" (\"neop\"))\n  (277785 \"Functional disorder\" (\"patf\"))\n  (206728 \"Plexiform Neurofibroma\" (\"neop\"))\n  (26986 \"Dysmyelopoietic Syndromes\" (\"neop\"))\n  (679316 \"MOTILITY DISORDER NOS\" (\"patf\"))\n  (334664 \"Mast Cell Neoplasm\" (\"neop\"))\n  (27651 \"Neoplasm\" (\"neop\"))\n  (345905 \"Intrahepatic Cholangiocarcinoma\" (\"neop\"))\n  (699748 \"Pathogenesis\" (\"patf\"))\n  (1261473 \"sarcoma\" (\"neop\"))\n  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n  (1326912 \"Tumorigenesis\" (\"neop\"))\n  (879626 \"Adverse effects\" (\"patf\"))\n  (1608408 \"Malignant transformation\" (\"neop\"))\n  (1510411 \"metaplastic cell transformation\" (\"patf\")))\n\n\n;; Combine two of the queries below: which of the Diseases or\n;; Syndromes or Neoplastic Processes or Pathologic Functions directly\n;; treated by imatinib synonyms are *directly* caused by the genes\n;; directly inhibited by the imatinib synonyms?\n(map\n (lambda (drug)\n   (let ((diseases (run* (q)\n                     (fresh (disease e-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest\n                             gene e-drug/gene p-st-drug/gene e-drug/gene-rest\n                             e-gene/disease st-gene/disease ot-gene/disease e-gene/disease-rest)\n                       (== disease q)\n                       (conde\n                         [(== \"dsyn\" p-ob-drug/disease)]\n                         [(== \"neop\" p-ob-drug/disease)]\n                         [(== \"patf\" p-ob-drug/disease)])\n                       (== `(,drug ,disease \"TREATS\" ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                       (== `(,drug ,gene \"INHIBITS\" ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                       (== `(,gene ,disease \"CAUSES\" ,st-gene/disease ,ot-gene/disease . ,e-gene/disease-rest) e-gene/disease)\n                       (edgeo e-drug/disease)\n                       (edgeo e-drug/gene)\n                       (edgeo e-gene/disease)))))\n     (list (length (rem-dups diseases)) drug)))\n '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n   (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n   (906802 \"STI571\" (\"phsu\" \"orch\"))\n   (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n(time (map\n       (lambda (drug)\n         (let ((diseases (run* (q)\n                           (fresh (disease e-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest\n                                           gene e-drug/gene p-st-drug/gene e-drug/gene-rest\n                                           e-gene/disease st-gene/disease ot-gene/disease e-gene/disease-rest)\n                             (== disease q)\n                             (conde\n                               [(== \"dsyn\" p-ob-drug/disease)]\n                               [(== \"neop\" p-ob-drug/disease)]\n                               [(== \"patf\" p-ob-drug/disease)])\n                             (== `(,drug ,disease \"TREATS\" ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                             (== `(,drug ,gene \"INHIBITS\" ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                             (== `(,gene ,disease \"CAUSES\" ,st-gene/disease ,ot-gene/disease . ,e-gene/disease-rest) e-gene/disease)\n                             (edgeo e-drug/disease)\n                             (edgeo e-drug/gene)\n                             (edgeo e-gene/disease)))))\n           (list (length (rem-dups diseases)) drug)))\n       '(\n         ;;(935989 \"imatinib\" (\"phsu\" \"orch\"))\n         ;;(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n         ;;(385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n         ;;(906802 \"STI571\" (\"phsu\" \"orch\"))\n         (935987 \"Gleevec\" (\"orch\" \"phsu\"))\n         )))\ncpu time: 7663 real time: 7680 gc time: 48\n'((35 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n> (time (map\n         (lambda (drug)\n           (let ((diseases (run* (q)\n                             (fresh (disease e-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest\n                                             gene e-drug/gene p-st-drug/gene e-drug/gene-rest\n                                             e-gene/disease st-gene/disease ot-gene/disease e-gene/disease-rest)\n                               (== disease q)\n                               (conde\n                                 [(== \"dsyn\" p-ob-drug/disease)]\n                                 [(== \"neop\" p-ob-drug/disease)]\n                                 [(== \"patf\" p-ob-drug/disease)])\n                               (== `(,drug ,disease \"TREATS\" ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                               (== `(,drug ,gene \"INHIBITS\" ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                               (== `(,gene ,disease \"CAUSES\" ,st-gene/disease ,ot-gene/disease . ,e-gene/disease-rest) e-gene/disease)\n                               (edgeo e-drug/disease)\n                               (edgeo e-drug/gene)\n                               (edgeo e-gene/disease)))))\n             (rem-dups diseases)))\n         '(\n           ;;(935989 \"imatinib\" (\"phsu\" \"orch\"))\n           ;;(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n           ;;(385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n           ;;(906802 \"STI571\" (\"phsu\" \"orch\"))\n           (935987 \"Gleevec\" (\"orch\" \"phsu\"))\n           )))\ncpu time: 7748 real time: 7763 gc time: 56\n'(((2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   (8679 \"Chronic Disease\" (\"dsyn\"))\n   (5699 \"Blast Phase\" (\"neop\"))\n   (11847 \"Diabetes\" (\"dsyn\"))\n   (16059 \"Fibrosis\" (\"patf\"))\n   (11860 \"Diabetes Mellitus, Non-Insulin-Dependent\" (\"dsyn\"))\n   (37274 \"skin disorder\" (\"dsyn\"))\n   (21655 \"Insulin Resistance\" (\"patf\"))\n   (6826 \"Malignant Neoplasms\" (\"neop\"))\n   (332448 \"Infiltration\" (\"patf\"))\n   (920563 \"insulin sensitivity\" (\"patf\"))\n   (7131 \"Carcinoma, Non-Small-Cell Lung\" (\"neop\"))\n   (7134 \"Renal Cell Carcinoma\" (\"neop\"))\n   (17636 \"Glioblastoma\" (\"neop\"))\n   (23418 \"leukemia\" (\"neop\"))\n   (23449 \"Leukemia, Lymphocytic, Acute\" (\"neop\"))\n   (23467 \"Leukemia, Myelocytic, Acute\" (\"neop\"))\n   (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n   (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n   (25149 \"medulloblastoma\" (\"neop\"))\n   (25202 \"melanoma\" (\"neop\"))\n   (27627 \"Neoplasm Metastasis\" (\"neop\"))\n   (27831 \"Neurofibromatosis 1\" (\"neop\"))\n   (27651 \"Neoplasm\" (\"neop\"))\n   (27859 \"Acoustic Neuroma\" (\"neop\"))\n   (35335 \"Retinoblastoma\" (\"neop\"))\n   (85669 \"Acute leukemia\" (\"neop\"))\n   (153690 \"Secondary malignant neoplasm of bone\" (\"neop\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   (279671 \"Cervical Squamous Cell Carcinoma\" (\"neop\"))\n   (280100 \"Solid tumor\" (\"neop\"))\n   (392784 \"Dermatofibrosarcoma Protuberans\" (\"neop\"))\n   (677886 \"Epithelial ovarian cancer\" (\"neop\"))\n   (856536 \"Philadelphia chromosome positive\" (\"neop\"))\n   (1261473 \"sarcoma\" (\"neop\"))))\n\n\n;; instead of diseases from the above query, lets look at the genes\n;;\n;; 47 genes are directly inhibited by Gleevec *and* directly cause diseases that Gleevec directly treats\n;; (vs. 50 genes that are inhibited directly by Gleevec)\n;;\n;; still some slop:\n;;\n;; (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n;; (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n;; (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n;;\n;; At most 43 of these results are specific or semi-specific (and arguably fewer than 43).\n;; 3 of these are KIT or C-KIT.\n> (time (map\n         (lambda (drug)\n           (let ((genes (run* (q)\n                             (fresh (disease e-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest\n                                             gene e-drug/gene p-st-drug/gene e-drug/gene-rest\n                                             e-gene/disease st-gene/disease ot-gene/disease e-gene/disease-rest)\n                               (== gene q)\n                               (conde\n                                 [(== \"dsyn\" p-ob-drug/disease)]\n                                 [(== \"neop\" p-ob-drug/disease)]\n                                 [(== \"patf\" p-ob-drug/disease)])\n                               (== `(,drug ,disease \"TREATS\" ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                               (== `(,drug ,gene \"INHIBITS\" ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                               (== `(,gene ,disease \"CAUSES\" ,st-gene/disease ,ot-gene/disease . ,e-gene/disease-rest) e-gene/disease)\n                               (edgeo e-drug/disease)\n                               (edgeo e-drug/gene)\n                               (edgeo e-gene/disease)))))\n             (rem-dups genes)))\n         '(\n           ;;(935989 \"imatinib\" (\"phsu\" \"orch\"))\n           ;;(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n           ;;(385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n           ;;(906802 \"STI571\" (\"phsu\" \"orch\"))\n           (935987 \"Gleevec\" (\"orch\" \"phsu\"))\n           )))\ncpu time: 7566 real time: 7580 gc time: 43\n'(((1428985 \"PDGFD gene\" (\"aapp\" \"gngm\"))\n   (919477 \"LCK gene\" (\"aapp\" \"enzy\" \"gngm\"))\n   (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n   (1366876 \"MAPK14 gene\" (\"gngm\" \"aapp\" \"enzy\"))\n   (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n   (1333568 \"FLT3 gene\" (\"gngm\" \"phsu\" \"bacs\" \"aapp\"))\n   (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n   (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n   (812253 \"CRKL gene\" (\"bacs\" \"aapp\" \"gngm\"))\n   (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n   (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n   (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n   (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n   (33681 \"Protein Tyrosine Kinase\" (\"enzy\" \"gngm\" \"aapp\"))\n   (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n   (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n   (246681 \"platelet-derived growth factor BB\" (\"gngm\" \"phsu\" \"aapp\"))\n   (290068\n    \"Platelet-Derived Growth Factor beta Receptor\"\n    (\"aapp\" \"gngm\" \"rcpt\" \"enzy\"))\n   (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n   (812375 \"ELK3 gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n   (1335239 \"PPBP gene\" (\"bacs\" \"aapp\" \"gngm\"))\n   (1419240 \"RAD51 gene\" (\"enzy\" \"gngm\" \"aapp\"))\n   (1421416 \"UVRAG gene\" (\"gngm\" \"phsu\" \"aapp\"))\n   (1422009 \"TP63 gene\" (\"rcpt\" \"phsu\" \"imft\" \"aapp\" \"gngm\"))\n   (1424677 \"CKAP4 gene\" (\"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n   (1425835 \"KCNH8 gene\" (\"gngm\" \"aapp\" \"bacs\"))\n   (1439347 \"BTG1 gene\" (\"gngm\" \"aapp\"))\n   (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n   (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n   (80092\n    \"Macrophage Colony-Stimulating Factor Receptor\"\n    (\"enzy\" \"aapp\" \"imft\" \"gngm\"))\n   (879468 \"CSF1R gene\" (\"aapp\" \"imft\" \"rcpt\" \"gngm\" \"enzy\"))\n   (32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n   (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n   (206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n   (290067\n    \"Platelet-Derived Growth Factor alpha Receptor\"\n    (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n   (174680 \"Cyclin D1\" (\"gngm\" \"bacs\" \"aapp\"))\n   (812385 \"BCR gene\" (\"gngm\" \"bacs\" \"enzy\" \"aapp\"))\n   (1335202 \"PDGFRB gene\" (\"bacs\" \"gngm\" \"rcpt\" \"enzy\" \"aapp\"))\n   (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n   (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n   (1412097 \"ABL1 gene\" (\"imft\" \"enzy\" \"gngm\" \"aapp\" \"bacs\" \"phsu\"))\n   (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n   (1826328 \"MTTP gene\" (\"aapp\" \"lipd\" \"gngm\" \"imft\" \"phsu\" \"bacs\"))\n   (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n   (105770 \"beta catenin\" (\"aapp\" \"gngm\" \"bacs\"))\n   (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))))\n\n;; Disease or Syndromes/Neoplastic Processes or Pathologic Functions directly treated by imatinib synonyms.\n;; (seems like \"dsyn\", \"neop\", and \"patf\" cover the actual disorders)\n(map\n (lambda (drug)\n   (let ((diseases (run* (q)\n                     (fresh (disease e-drug/disease p-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest)\n                       (== disease q)\n                       (conde\n                         [(== \"dsyn\" p-ob-drug/disease)]\n                         [(== \"neop\" p-ob-drug/disease)]\n                         [(== \"patf\" p-ob-drug/disease)])\n                       (== `(,drug ,disease ,p-drug/disease ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                       (== \"TREATS\" p-drug/disease)\n                       (edgeo e-drug/disease)))))\n     (list (length (rem-dups diseases)) drug)))\n '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n   (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n   (906802 \"STI571\" (\"phsu\" \"orch\"))\n   (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((303 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (195 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (5 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (65 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (53 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n\n;; *anything* directly treated by imatinib synonyms (not restricted to Disease or Syndromes/Neoplastic Processes)\n(map\n (lambda (drug)\n   (let ((diseases (run* (q)\n                     (fresh (disease e-drug/disease p-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest)\n                       (== disease q)                                          \n                       (== `(,drug ,disease ,p-drug/disease ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                       (== \"TREATS\" p-drug/disease)\n                       (edgeo e-drug/disease)))))\n     (list (length (rem-dups diseases)) drug)))\n '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n   (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n   (906802 \"STI571\" (\"phsu\" \"orch\"))\n   (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((430 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (247 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (5 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (84 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (65 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n;; Disease or Syndromes/Neoplastic Processes directly treated by imatinib synonyms.\n(map\n (lambda (drug)\n   (let ((diseases (run* (q)\n                     (fresh (disease e-drug/disease p-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest)\n                       (== disease q)                     \n                       (conde\n                         [(== \"dsyn\" p-ob-drug/disease)]\n                         [(== \"neop\" p-ob-drug/disease)])\n                       (== `(,drug ,disease ,p-drug/disease ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                       (== \"TREATS\" p-drug/disease)\n                       (edgeo e-drug/disease)))))\n     (list (length (rem-dups diseases)) drug)))\n '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n   (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n   (906802 \"STI571\" (\"phsu\" \"orch\"))\n   (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((277 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (184 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (3 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (60 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (49 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n\n;; if we remove \"dsyn\" and \"neop\", we see CGP 57148 also directly\n;; treats patf-related disorders (patf|T046|Pathologic Function)\n;;\n;; CML and Respiratory Depression are the only two specific disorders, though.\n(map\n (lambda (drug)\n   (let ((diseases (run* (q)\n                     (fresh (disease e-drug/disease p-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest)\n                       (== e-drug/disease q)                     \n                       (== `(,drug ,disease ,p-drug/disease ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                       (== \"TREATS\" p-drug/disease)\n                       (edgeo e-drug/disease)))))\n     diseases))\n '(\n   ;;(935989 \"imatinib\" (\"phsu\" \"orch\"))\n   ;;(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n   ;;(906802 \"STI571\" (\"phsu\" \"orch\"))\n   ;;(935987 \"Gleevec\" (\"orch\" \"phsu\"))\n   ))\n=>\n'((((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (8548747))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n    \"TREATS\"\n    \"orch\"\n    \"neop\"\n    (10501919))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n    \"TREATS\"\n    \"orch\"\n    \"neop\"\n    (10501919))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (235063 \"Respiratory Depression\" (\"patf\"))\n    \"TREATS\"\n    \"orch\"\n    \"patf\"\n    (11477209))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (679222 \"functional insufficiency\" (\"patf\"))\n    \"TREATS\"\n    \"orch\"\n    \"patf\"\n    (12578692))))\n\n;; there really is only one specific disease directly treated by CGP 57148\n(map\n (lambda (drug)\n   (let ((diseases (run* (q)\n                     (fresh (disease e-drug/disease p-drug/disease p-st-drug/disease p-ob-drug/disease e-drug/disease-rest)\n\n                       ;; (== disease q)\n                       (== e-drug/disease q)\n                     \n                       (conde\n                         [(== \"dsyn\" p-ob-drug/disease)]\n                         [(== \"neop\" p-ob-drug/disease)])\n                       (== `(,drug ,disease ,p-drug/disease ,p-st-drug/disease ,p-ob-drug/disease . ,e-drug/disease-rest) e-drug/disease)\n                       (== \"TREATS\" p-drug/disease)\n                       (edgeo e-drug/disease)))))\n     diseases))\n '(\n                                        ;(935989 \"imatinib\" (\"phsu\" \"orch\"))\n                                        ;(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n                                        ;(906802 \"STI571\" (\"phsu\" \"orch\"))\n                                        ;(935987 \"Gleevec\" (\"orch\" \"phsu\"))\n   ))\n'((((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (8548747))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (23473 \"Myeloid Leukemia, Chronic\" (\"neop\"))\n    \"TREATS\"\n    \"orch\"\n    \"neop\"\n    (10501919))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (23474 \"Leukemia, Myeloid, Chronic-Phase\" (\"neop\"))\n    \"TREATS\"\n    \"orch\"\n    \"neop\"\n    (10501919))))\n\n\n\n;; So, insisting on \"gngm\" as the subject type cuts down on stray proteins when we want genes.  What about \"orch\" (orch|T109|Organic Chemical) vs. \"phsu\" (phsu|T121|Pharmacologic Substance) for the subject type?  For \"CGP 57148\", the INHIBITS edges always have \"orch\" as the subject type.  What about for \"imatinib\", \"Imatinib mesylate\", \"STI571\", and \"Gleevec\"?  There are a handful of uses of \"phsu\" as the edge type for the other aliases, but these seem more noise than a specific pattern.  Doesn't look like anything we can exploit.\n\n\n\n;; the right way to do it\n;; every drug other than \"CGP 57148\" INHIBITS both KIT and C-KIT\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene p-st-drug/gene e-drug/gene-rest)\n                     (== gene q)\n                     (== `(,drug ,gene ,p-drug/gene ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)))))\n      (let ((genes (rem-dups genes)))\n        (list (length genes)\n              (and (member '(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")) genes) #t)\n              (and (member '(920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")) genes) #t)\n              drug))))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((206 #t #t (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (86 #t #t (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  ;; Of the 5 results for CGP 57148, 3 of them are for specific genes.  0 of those 3 are for KIT or C-KIT.\n  (5 #f #f (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (61 #t #t (906802 \"STI571\" (\"phsu\" \"orch\")))\n  ;; Of the 50 results for Gleevec, perhaps 38 of them are specific genes, rather than groupings of genes.\n  ;; 3 of those 38 are for KIT or C-KIT.\n  (50 #t #t (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n;; the wrong way to do it\n;; every drug other than \"CGP 57148\" INHIBITS both KIT and C-KIT\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                     (== gene q)                \n                     (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)\n                     (fresh (cui name concept-type*)\n                       (== `(,cui ,name ,concept-type*) gene)\n                       (membero \"gngm\" concept-type*))))))\n      (let ((genes (rem-dups genes)))\n        (list (length genes)\n              (and (member '(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")) genes) #t)\n              (and (member '(920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")) genes) #t)\n              drug))))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((206 #t #t (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (86 #t #t (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (8 #f #f (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (61 #t #t (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (52 #t #t (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n;; the right way to do it!\n;; a few of the genes for some of the drugs are dups for \"imatinib\", \"Imatinib mesylate\", and \"STI571\"\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene p-st-drug/gene e-drug/gene-rest)                \n                     (== gene q)\n                     (== `(,drug ,gene ,p-drug/gene ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)))))\n      (list (length (rem-dups genes)) drug)))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((206 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (86 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (5 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (61 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (50 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n;; the wrong way to do it!\n;; a few of the genes for some of the drugs are dups\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                     (== gene q)                \n                     (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)\n                     (fresh (cui name concept-type*)\n                       (== `(,cui ,name ,concept-type*) gene)\n                       (membero \"gngm\" concept-type*))))))\n      (list (length (rem-dups genes)) drug)))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((206 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (86 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (8 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (61 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (52 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n\n;; The right way!  Notice there are fewer answers\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene p-st-drug/gene e-drug/gene-rest)\n                     (== gene q)\n                     (== `(,drug ,gene ,p-drug/gene ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)))))\n      (list (length genes) drug)))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((213 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (88 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (5 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (62 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (50 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n;; The wrong way\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                     (== gene q)                \n                     (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)\n                     (fresh (cui name concept-type*)\n                       (== `(,cui ,name ,concept-type*) gene)\n                       (membero \"gngm\" concept-type*))))))\n      (list (length genes) drug)))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((219 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (90 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (8 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (63 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (55 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n;; The right way to do it\n;; Notice only 3 of the 5 answers are specific genes.\n(map\n  (lambda (drug)\n    (let ((e-drug/genes (run* (q)\n                          (fresh (gene e-drug/gene p-drug/gene p-st-drug/gene e-drug/gene-rest)\n                            (== e-drug/gene q)\n                            (== `(,drug ,gene ,p-drug/gene ,p-st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n                            (== \"INHIBITS\" p-drug/gene)\n                            (edgeo e-drug/gene)))))\n      e-drug/genes))\n  '((385728 \"CGP 57148\" (\"phsu\" \"orch\"))))\n'((((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (11680792 10979973 10815921 9389713 9345054))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (9446752))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (10815921))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (1417708 \"NFKB1 gene\" (\"bacs\" \"aapp\" \"imft\" \"gngm\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (10979973))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (10200527 9389713))))\n\n;; The wrong way to do it!  Notice that some of the edges include 'aapp' as their object type.\n(map\n  (lambda (drug)\n    (let ((e-drug/genes (run* (q)\n                          (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                            (== e-drug/gene q)\n                            (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                            (== \"INHIBITS\" p-drug/gene)\n                            (edgeo e-drug/gene)\n                            (fresh (cui name concept-type*)\n                              (== `(,cui ,name ,concept-type*) gene)\n                              (membero \"gngm\" concept-type*))))))\n      e-drug/genes))\n  '((385728 \"CGP 57148\" (\"phsu\" \"orch\"))))\n'((((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (11680792 10979973 10815921 9389713 9345054))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (9446752))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"aapp\"\n    (9389713))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"aapp\"\n    (10979973))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (10815921))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"aapp\"\n    (10979973))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (10200527 9389713))\n   ((385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (1417708 \"NFKB1 gene\" (\"bacs\" \"aapp\" \"imft\" \"gngm\"))\n    \"INHIBITS\"\n    \"orch\"\n    \"gngm\"\n    (10979973))))\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n;; these entries seem very similar (based on alias and synonym information)\n;; If the user asks for 'imatinib' in a query, may want to look for all of these,\n;; and perhaps in most-specific to least-specific order.\n(935989 \"imatinib\" (\"phsu\" \"orch\"))\n(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n(385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n(906802 \"STI571\" (\"phsu\" \"orch\"))\n(935987 \"Gleevec\" (\"orch\" \"phsu\"))\n\n;; how many genes do each of the imatinib synonyms INHIBIT?\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                     (== gene q)                \n                     (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)\n                     (fresh (cui name concept-type*)\n                       (== `(,cui ,name ,concept-type*) gene)\n                       (membero \"gngm\" concept-type*))))))\n      (list (length genes) drug)))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((219 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (90 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (8 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (63 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (55 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n;; a few of the genes for some of the drugs are dups\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                     (== gene q)                \n                     (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)\n                     (fresh (cui name concept-type*)\n                       (== `(,cui ,name ,concept-type*) gene)\n                       (membero \"gngm\" concept-type*))))))\n      (list (length (rem-dups genes)) drug)))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((206 (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (86 (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (8 (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (61 (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (52 (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n(920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n\n;; every drug other than \"CGP 57148\" INHIBITS both KIT and C-KIT\n(map\n  (lambda (drug)\n    (let ((genes (run* (q)\n                   (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                     (== gene q)                \n                     (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                     (== \"INHIBITS\" p-drug/gene)\n                     (edgeo e-drug/gene)\n                     (fresh (cui name concept-type*)\n                       (== `(,cui ,name ,concept-type*) gene)\n                       (membero \"gngm\" concept-type*))))))\n      (let ((genes (rem-dups genes)))\n        (list (length genes)\n              (and (member '(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")) genes) #t)\n              (and (member '(920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")) genes) #t)\n              drug))))\n  '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n    (906802 \"STI571\" (\"phsu\" \"orch\"))\n    (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n=>\n'((206 #t #t (935989 \"imatinib\" (\"phsu\" \"orch\")))\n  (86 #t #t (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")))\n  (8 #f #f (385728 \"CGP 57148\" (\"phsu\" \"orch\")))\n  (61 #t #t (906802 \"STI571\" (\"phsu\" \"orch\")))\n  (52 #t #t (935987 \"Gleevec\" (\"orch\" \"phsu\"))))\n\n\n;; 286 genes combined across all synonyms\n(let ((all-genes\n       (map\n        (lambda (drug)\n          (let ((genes (run* (q)\n                         (fresh (gene e-drug/gene p-drug/gene e-drug/gene-rest)                \n                           (== gene q)                \n                           (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                           (== \"INHIBITS\" p-drug/gene)\n                           (edgeo e-drug/gene)\n                           (fresh (cui name concept-type*)\n                             (== `(,cui ,name ,concept-type*) gene)\n                             (membero \"gngm\" concept-type*))))))\n            (rem-dups genes)))\n        '((935989 \"imatinib\" (\"phsu\" \"orch\"))\n          (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n          (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n          (906802 \"STI571\" (\"phsu\" \"orch\"))\n          (935987 \"Gleevec\" (\"orch\" \"phsu\"))))))\n  (length (apply union* all-genes)))\n=>\n286\n\n;; Genes inhibited by Gleevec\n;;\n;; Of the 52 results, at least a few appear to be classes of genes\n;; rather than specific genes:\n;;\n;; (3241 \"Antibodies\" (\"gngm\" \"aapp\" \"imft\"))\n;; (4891 \"Fusion Proteins, bcr-abl\" (\"aapp\" \"gngm\" \"bacs\"))\n;; (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n;; (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n;; (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n;; (79050 \"c-abl Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n;; (79413 \"Genes, abl\" (\"gngm\" \"aapp\"))\n;; (79427 \"Tumor Suppressor Genes\" (\"gngm\" \"aapp\"))\n;; (80298 \"v-src Oncogenes\" (\"gngm\" \"aapp\" \"enzy\" \"aapp\" \"gngm\" \"bacs\"))\n;; (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n;; (1136340 \"Semaphorins\" (\"bacs\" \"gngm\" \"aapp\"))\n;;\n;; Of course, is something like (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))\n;; even considered a gene class?\n;;\n;; Oh wow--I had missed the first one of the c-kit names before!\n;; So there are actually three synonyms, not two.\n;;\n;; (72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n;; (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n;; (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;;\n;; So, of the 52 results, ~10 are actually categories rather\n;; than specific genes.  Of the remaining ~40 specific genes, 3 of\n;; them are synonyms/aliases for KIT.\n(time (rem-dups\n       (run* (q)\n         (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)          \n           (== gene q)          \n           (== '(935987 \"Gleevec\" (\"orch\" \"phsu\")) drug)\n           (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n           (== \"INHIBITS\" p-drug/gene)\n           (edgeo e-drug/gene)\n           (fresh (cui name concept-type*)\n             (== `(,cui ,name ,concept-type*) gene)\n             (membero \"gngm\" concept-type*))))))\n\n;; I think these two are *classes* of genes, not specific genes\n;;\n;; (31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n;; (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n;;\n;; notice there is no KIT or C-KIT\n(time (run* (q)\n        (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)          \n          (== gene q)          \n          (== '(385728 \"CGP 57148\" (\"phsu\" \"orch\")) drug)\n          (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n          (== \"INHIBITS\" p-drug/gene)\n          (edgeo e-drug/gene)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) gene)\n            (membero \"gngm\" concept-type*)))))\n=>\n'((31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n  (33640 \"PROTEIN KINASE\" (\"gngm\" \"enzy\" \"aapp\"))\n  (71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n  (164786 \"Proto-Oncogene Proteins c-akt\" (\"gngm\" \"aapp\" \"enzy\"))\n  (915156 \"Ephrin Receptor EphA8\" (\"gngm\" \"enzy\" \"aapp\"))\n  (812228 \"AKT1 gene\" (\"aapp\" \"phsu\" \"enzy\" \"gngm\" \"bacs\"))\n  (1439337 \"tyrosine kinase ABL1\" (\"aapp\" \"gngm\" \"enzy\"))\n  (1417708 \"NFKB1 gene\" (\"bacs\" \"aapp\" \"imft\" \"gngm\")))\n\n\n\n(time (run 1 (q)\n        (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)          \n          (== e-drug/gene q)          \n          (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n          (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n          (== \"INHIBITS\" p-drug/gene)\n          (edgeo e-drug/gene)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) gene)\n            (membero \"gngm\" concept-type*)))))\n\n\n\n;; https://pubchem.ncbi.nlm.nih.gov/compound/Imatinib_mesylate#section=Synonyms\n\n;; MeSH Entry Terms\n;;\n;; alpha-(4-methyl-1-piperazinyl)-3'-((4-(3-pyridyl)-2-pyrimidinyl)amino)-p-tolu-p-toluidide\n;; CGP 57148\n;; CGP-57148\n;; CGP57148\n;; CGP57148B\n;; Gleevec\n;; Glivec\n;; imatinib\n;; imatinib mesylate\n;; imatinib methanesulfonate\n;; Mesylate, Imatinib\n;; Methanesulfonate, Imatinib\n;; ST 1571\n;; ST1571\n;; STI 571\n;; STI-571\n;; STI571\n\n;; https://pubchem.ncbi.nlm.nih.gov/compound/5291#section=MeSH-Entry-Terms\n\n;; Depositor-Supplied Synonyms\n;;\n;; Imatinib\n;; 152459-95-5\n;; sti-571\n;; STI571\n;; Cgp 57148\n;; STI 571\n;; Imatinib [INN:BAN]\n;; N-(4-Methyl-3-((4-(pyridin-3-yl)pyrimidin-2-yl)amino)phenyl)-4-((4-methylpiperazin-1-yl)methyl)benzamide\n;; Imatinib free base\n;; UNII-BKJ8M8G5HI\n;; CCRIS 9076\n;; Imatinib (STI571)\n;; CHEMBL941\n;; 1iep\n;; 1xbb\n;; CGP-57148\n;; Imatinib (INN)\n;; Glamox (TN)\n;; CHEBI:45783\n;; CGP 57148B\n;; Imatinib Methansulfonate\n;; Kinome_3724\n;; Imatinib base(IMA-3)\n;; NSC743414\n;; STK617705\n;; BKJ8M8G5HI\n;; AC1L1K0Z\n;; BIDD:GT0047\n;; 4-(4-METHYL-PIPERAZIN-1-YLMETHYL)-N-[4-METHYL-3-(4-PYRIDIN-3-YL-PYRIMIDIN-2-YLAMINO)-PHENYL]-BENZAMIDE\n\n;; https://pubchem.ncbi.nlm.nih.gov/compound/Imatinib_mesylate#section=Related-Records\n;;\n;; related compounds\n;;\n;; Same Connectivity \t3 records\n;; Same Parent, Connectivity \t115 records\n;; Same Parent, Exact \t89 records\n;; Mixtures, Components, and Neutralized Forms \t2 records\n;; Similar Compounds \t416 records\n\n> (time (pretty-print (run* (s) (fuzzy-concepto \"imatinib\" s))))\n'((935989 \"imatinib\" (\"phsu\" \"orch\"))\n  (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n  (1127612 \"imatinib 100 MG\" (\"clnd\"))\n  (1329083 \"imatinib 100 MG Oral Tablet\" (\"clnd\"))\n  (1331284 \"imatinib 400 MG\" (\"clnd\")))\ncpu time: 93 real time: 94 gc time: 1\n\n> (time (pretty-print (run* (s) (fuzzy-concepto \"Gleevec\" s))))\n'((935987 \"Gleevec\" (\"orch\" \"phsu\")))\ncpu time: 94 real time: 96 gc time: 0\n\n> (time (pretty-print (run* (s) (fuzzy-concepto \"CGP 57148\" s))))\n'((385728 \"CGP 57148\" (\"phsu\" \"orch\")))\ncpu time: 93 real time: 95 gc time: 0\n\n> (time (pretty-print (run* (s) (fuzzy-concepto \"57148\" s))))\n'((385728 \"CGP 57148\" (\"phsu\" \"orch\")))\ncpu time: 105 real time: 106 gc time: 1\n\n> (time (pretty-print (run* (s) (fuzzy-concepto \"1571\" s))))\n'((760931 \"LY 315712\" (\"phsu\"))\n  (964110 \"UK 157147\" (\"orch\"))\n  (1097576 \"ST 1571\" (\"orch\" \"phsu\"))\n  (1175579 \"GPI 15715\" (\"orch\")))\ncpu time: 109 real time: 112 gc time: 1\n\n\n\n\n;; playing with ISA\n;; ??? ISA Protein-tyrosine kinase inhibitor\n;;\n;; cpu time: 4 real time: 10 gc time: 0\n'((13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n  (13982 \"Emodin\" (\"orch\" \"bacs\" \"phsu\"))\n  (53622 \"biochanin A\" (\"phsu\" \"orch\"))\n  (57090 \"daidzein\" (\"orch\" \"vita\"))\n  (61202 \"Genistein\" (\"phsu\" \"orch\" \"bacs\"))\n  (61202 \"Genistein\" (\"phsu\" \"orch\" \"bacs\"))\n  (61202 \"Genistein\" (\"phsu\" \"orch\" \"bacs\"))\n  (64695 \"lavendustin A\" (\"phsu\" \"orch\"))\n  (83406 \"methyl 2,5-dihydroxycinnamate\" (\"orch\" \"phsu\"))\n  (207800 \"monorden\" (\"phsu\" \"orch\"))\n  (212399 \"damnacanthal\" (\"phsu\" \"orch\"))\n  (213654 \"tyrphostin 25\" (\"orch\" \"phsu\"))\n  (213997 \"lavendustin C6\" (\"orch\" \"phsu\"))\n  (253468 \"tyrphostin A46\" (\"orch\" \"phsu\"))\n  (258114 \"PD 153035\" (\"phsu\" \"orch\"))\n  (295108 \"lavendustin B\" (\"phsu\" \"orch\"))\n  (381676 \"tyrphostin B46\" (\"orch\" \"phsu\"))\n  (384553 \"tyrphostin A47\" (\"phsu\" \"orch\"))\n  (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n  (528985 \"tyrphostin AG 1478\" (\"orch\" \"phsu\"))\n  (538431 \"SU 5402\" (\"phsu\" \"orch\"))\n  (539578 \"tyrphostin AG 1296\" (\"orch\" \"phsu\"))\n  (638102 \"tyrphostin A23\" (\"orch\" \"phsu\"))\n  (663164 \"tyrphostin B42\" (\"phsu\"))\n  (758539 \"tyrphostin A51\" (\"orch\" \"phsu\"))\n  (879396 \"ZD1839\" (\"orch\" \"phsu\"))\n  (906802 \"STI571\" (\"phsu\" \"orch\"))\n  (912413 \"PTK 787\" (\"phsu\" \"orch\"))\n  (913199 \"tyrphostin A9\" (\"orch\" \"phsu\"))\n  (919281 \"Iressa\" (\"orch\" \"phsu\"))\n  (935987 \"Gleevec\" (\"orch\" \"phsu\"))\n  (935989 \"imatinib\" (\"phsu\" \"orch\"))\n  (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n  (1122962 \"gefitinib\" (\"phsu\" \"orch\"))\n  (1135135 \"erlotinib\" (\"phsu\" \"orch\"))\n  (1135136 \"Tarceva\" (\"orch\" \"phsu\"))\n  (1135137 \"OSI-774\" (\"orch\" \"phsu\"))\n  (1176007 \"3,3',4,5'-tetrahydroxystilbene\" (\"orch\" \"phsu\"))\n  (1176021 \"SU 11248\" (\"orch\" \"phsu\"))\n  (1412731 \"BAG3 gene\" (\"gngm\" \"enzy\" \"aapp\"))\n  (1511179 \"Bis-Tyrphostin\" (\"aapp\"))\n  (1519728\n   \"2-amino-4-(4'-hydroxyphenyl)-1,1,3-tricyanobuta-1,3-diene\"\n   (\"aapp\"))\n  (1533491 \"Erlotinib Hydrochloride\" (\"phsu\" \"orch\"))\n  (1570599 \"AG 112\" (\"orch\")))\n(time\n  (run* (q)\n      (fresh (drug what-is-it e-drug/what st-drug/what ot-drug/what e-drug/what-rest)        \n        (== drug q)\n        (== '(1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\")) what-is-it)\n        (== `(,drug ,what-is-it \"ISA\" ,st-drug/what ,ot-drug/what . ,e-drug/what-rest) e-drug/what)\n        (edgeo e-drug/what))))\n\n;; playing with ISA\n;; Gleevec ISA ???\n;;\n;; These answers seem mostly reasonable.\n;; Of course there is more structure/a richer relationship between these answers than may be apparent.  Different levels of hierarchy.\n'((3392 \"Antineoplastic Agents\" (\"phsu\"))\n  (13216 \"Pharmacotherapy\" (\"topp\"))\n  (13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n  (87111 \"Therapeutic procedure\" (\"topp\"))\n  (243076 \"antagonists\" (\"chvf\"))\n  (920425 \"Cancer Treatment\" (\"topp\"))\n  (935989 \"imatinib\" (\"phsu\" \"orch\"))\n  (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n  (1254351 \"Pharmacologic Substance\" (\"phsu\"))\n  (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\"))\n  (1449702 \"Protein Kinase Inhibitors\" (\"phsu\"))\n  (1611640 \"Therapeutic agent (substance)\" (\"phsu\")))\n(time\n  (run* (q)\n      (fresh (drug what-is-it e-drug/what st-drug/what ot-drug/what e-drug/what-rest)        \n        (== what-is-it q)\n        (== '(935987 \"Gleevec\" (\"orch\" \"phsu\")) drug)\n        (== `(,drug ,what-is-it \"ISA\" ,st-drug/what ,ot-drug/what . ,e-drug/what-rest) e-drug/what)\n        (edgeo e-drug/what))))\n\n;; playing with ISA\n;; ??? ISA Gleevec\n;;\n;; once again, this seems backwards.\n;; 'Protein-tyrosine kinase inhibitor ISA Gleevec' seems backwards.\n'((13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n  (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\")))\n(time\n  (run* (q)\n      (fresh (what-is-it drug e-what/drug st-what/drug ot-what/drug e-what/drug-rest)        \n        (== what-is-it q)\n        (== '(935987 \"Gleevec\" (\"orch\" \"phsu\")) drug)\n        (== `(,what-is-it ,drug \"ISA\" ,st-what/drug ,ot-what/drug . ,e-what/drug-rest) e-what/drug)\n        (edgeo e-what/drug))))\n\n;; playing with ISA\n;; ??? ISA Imatinib mesylate\n;;\n;; Gleevec, CGP 57148, and STI571 are okay.\n;; imatinib is marginal, at best.\n;; The others are either backwards (Protein-tyrosine kinase inhibitor) or\n;; non-sensical (Operative Surgical Procedures).\n'((13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n  (87111 \"Therapeutic procedure\" (\"topp\"))\n  (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n  (543467 \"Operative Surgical Procedures\" (\"topp\"))\n  (906802 \"STI571\" (\"phsu\" \"orch\"))\n  (935987 \"Gleevec\" (\"orch\" \"phsu\"))\n  (935989 \"imatinib\" (\"phsu\" \"orch\"))\n  (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\"))\n  (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\")))\n(time\n  (run* (q)\n      (fresh (what-is-it drug e-what/drug st-what/drug ot-what/drug e-what/drug-rest)        \n        (== what-is-it q)\n        (== '(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")) drug)\n        (== `(,what-is-it ,drug \"ISA\" ,st-what/drug ,ot-what/drug . ,e-what/drug-rest) e-what/drug)\n        (edgeo e-what/drug))))\n\n;; playing with ISA\n;; ??? ISA imatinib\n;;\n;; Gleevec makes sense (brand name), and probably Imatinib mesylate.\n;; STI571 is okay, probably. http://chemocare.com/chemotherapy/drug-info/STI-571.aspx\n;; And CGP 57148.  https://www.biovision.com/imatinib-mesylate-cgp-57148b-sti-571.html\n;;\n;; The others seem...less good. 'Therapeutic procedure ISA imatinib' seems non-sensical.\n;; 'Protein-tyrosine kinase inhibitor ISA imatinib' seems backwards.\n'((3392 \"Antineoplastic Agents\" (\"phsu\"))\n  (13216 \"Pharmacotherapy\" (\"topp\"))\n  (13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n  (87111 \"Therapeutic procedure\" (\"topp\"))\n  (385728 \"CGP 57148\" (\"phsu\" \"orch\"))\n  (543467 \"Operative Surgical Procedures\" (\"topp\"))\n  (906802 \"STI571\" (\"phsu\" \"orch\"))\n  (935987 \"Gleevec\" (\"orch\" \"phsu\"))\n  (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n  (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\"))\n  (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\")))\n(time\n  (run* (q)\n      (fresh (what-is-it drug e-what/drug st-what/drug ot-what/drug e-what/drug-rest)        \n        (== what-is-it q)\n        (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n        (== `(,what-is-it ,drug \"ISA\" ,st-what/drug ,ot-what/drug . ,e-what/drug-rest) e-what/drug)\n        (edgeo e-what/drug))))\n\n;; playing with ISA\n;; imatinib ISA ???\n'((3392 \"Antineoplastic Agents\" (\"phsu\"))\n  (13216 \"Pharmacotherapy\" (\"topp\"))\n  (13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n  (13227 \"Pharmaceutical Preparations\" (\"phsu\"))\n  (39796 \"The science and art of healing\" (\"topp\"))\n  (87111 \"Therapeutic procedure\" (\"topp\"))\n  (87111 \"Therapeutic procedure\" (\"topp\"))\n  (243076 \"antagonists\" (\"chvf\"))\n  (418981 \"Medical therapy\" (\"topp\"))\n  (543467 \"Operative Surgical Procedures\" (\"topp\"))\n  (679607 \"treatment method\" (\"topp\"))\n  (920425 \"Cancer Treatment\" (\"topp\"))\n  (935451 \"neoplasm/cancer chemotherapy\" (\"topp\"))\n  (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n  (1254351 \"Pharmacologic Substance\" (\"phsu\"))\n  (1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\"))\n  (1372955 \"Active Ingredients\" (\"phsu\"))\n  (1449702 \"Protein Kinase Inhibitors\" (\"phsu\"))\n  (1519313 \"Signal Transduction Inhibitor\" (\"phsu\"))\n  (1533685 \"Injection procedure\" (\"topp\"))\n  (1579409 \"Molecular Target Inhibitors\" (\"phsu\"))\n  (1611640 \"Therapeutic agent (substance)\" (\"phsu\")))\n(time\n  (run* (q)\n      (fresh (drug what-is-it e-drug/what st-drug/what ot-drug/what e-drug/what-rest)        \n        (== what-is-it q)\n        (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n        (== `(,drug ,what-is-it \"ISA\" ,st-drug/what ,ot-drug/what . ,e-drug/what-rest) e-drug/what)\n        (edgeo e-drug/what))))\n\n\n\n\n;; let's test the individual parts of the query\n\n;; compare\n;;\n;; (32 (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\")))\n;;\n;; and\n;;\n;; (35 (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\")))\n;;\n;; which cause 32 and 35 diseases, respectively, with these monstrosities:\n;;\n;; (291 (597357 \"receptor\" (\"aapp\" \"gngm\" \"rcpt\")))\n;; (296 (1823619 \"VEGFA gene\" (\"bacs\" \"phsu\" \"rcpt\" \"gngm\" \"imft\" \"enzy\" \"aapp\")))\n;; (418 (1456820 \"Tumor Necrosis Factor-alpha\" (\"imft\" \"gngm\" \"aapp\")))\n;; (506 (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\")))\n;; (579 (79189 \"cytokine\" (\"aapp\" \"imft\" \"gngm\")))\n;; (1171 (17337 \"Genes\" (\"aapp\" \"gngm\"))))\n;;\n;; Could either just drop entries like (1171 (17337 \"Genes\" (\"aapp\" \"gngm\")))\n;; and (506 (33684 \"Proteins\" (\"bacs\" \"gngm\" \"aapp\"))), or prioritize search\n;; to start with smallest number of diseases (or both).\n;;\n;; Also, should make sure to remove duplicate diseases in the results!\n;; And remove ridiculous entries like (12634 \"Disease\" (\"dsyn\"))\n;;\n;; Also, should take the union of diseases caused by C-KIT and KIT,\n;; rather than trying them both separately (and getting duplicate\n;; answers).\n;;\n;; Should also consider taking the union of all diseases produced by\n;; all genes, to avoid duplicate work, or do caching/memoization/tabling.\n;;\n(let ((genes-inhibited-by-imatinib\n       (run* (q)\n         (fresh (drug gene known-disease something unknown-disease\n                      e-drug/gene st-drug/gene e-drug/gene-rest\n                      e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n                      e-drug/known-disease e-drug/known-disease-rest\n                      e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n                      e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n           (== gene q)\n\n           ;; imatinib inhibits some gene\n           (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n           (== `(,drug ,gene \"INHIBITS\" ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n           (edgeo e-drug/gene)\n\n           ))))\n  (let ((genes-inhibited-by-imatinib (rem-dups genes-inhibited-by-imatinib)))\n    (sort\n      (map (lambda (gene)\n             (let ((num-diseases-caused-by-gene\n                    (length\n                     (run* (q)\n                       (fresh (drug known-disease something unknown-disease\n                                    e-drug/gene st-drug/gene e-drug/gene-rest\n                                    e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n                                    e-drug/known-disease e-drug/known-disease-rest\n                                    e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n                                    e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n                       \n                         (== e-gene/known-disease q)\n\n                         ;; that gene directly causes some disease...\n                         (== `(,gene ,known-disease \"CAUSES\" ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n                         (conde\n                           [(== \"dsyn\" ot-gene/known-disease)]\n                           [(== \"neop\" ot-gene/known-disease)])\n                         (edgeo e-gene/known-disease))))))\n               (list num-diseases-caused-by-gene gene)))\n           genes-inhibited-by-imatinib)\n      (lambda (l1 l2) (< (car l1) (car l2))))))\n\n;; how many genes are inhibited by imatinib?\n;;\n;; cpu time: 10 real time: 10 gc time: 0\n;; 213 genes inhibited by imatinib\n;;\n;; some of these genes are dups!  why?\n;; 206 unique genes\n;;\n;; one of these answers is (17337 \"Genes\" (\"aapp\" \"gngm\")), as opposed to a specific gene--does this result in a degenerate blowup?  This seems fishy!!\n(time\n  (length\n    (run* (q)\n      (fresh (drug gene known-disease something unknown-disease\n                   e-drug/gene st-drug/gene e-drug/gene-rest\n                   e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n                   e-drug/known-disease e-drug/known-disease-rest\n                   e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n                   e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n        (== gene q)\n\n        ;; imatinib inhibits some gene\n        (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n        (== `(,drug ,gene \"INHIBITS\" ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n        (edgeo e-drug/gene)\n\n        ))))\n\n;; how many diseases is imatinib known to treat (directly)?\n;;\n;; cpu time: 11 real time: 11 gc time: 0\n;; 349 diseases that imatinib is known to treat\n;;\n;; hmmm--list contains dups!  why is that?\n;;\n;; only 277 of the diseases are unique--the rest are dups\n;;\n;; also, once again we see general categories of diseases--do they result in degenerate blowup?\n;;\n;; (3047 \"Animal Diseases\" (\"dsyn\"))\n;; (8679 \"Chronic Disease\" (\"dsyn\"))\n;; (12634 \"Disease\" (\"dsyn\"))\n;; (12634 \"Disease\" (\"dsyn\"))\n;; (920627 \"Orphan Diseases\" (\"dsyn\"))\n;;\n;; many of these diseases seen overlapping, or members of another class of disease\n;;\n;; (598934 \"tumor growth\" (\"neop\"))\n;; (877373 \"Advanced cancer\" (\"neop\"))\n;;\n;; (1266119 \"Solitary fibrous tumor\" (\"neop\"))\n;; (1266120 \"Solitary fibrous tumor, malignant\" (\"neop\"))\n;;\n;; (6118 \"Brain Neoplasms\" (\"neop\"))\n;; (17636 \"Glioblastoma\" (\"neop\"))\n;;\n;; (17638 \"Glioma\" (\"neop\"))\n;; (555198 \"Malignant Glioma\" (\"neop\"))\n;; (677865 \"Brain stem glioma\" (\"neop\"))\n;; (1319185 \"Chiasmal glioma\" (\"neop\"))\n;;\n;;\n;; wut!?\n;; (1524028 \"Intraepithelial Neoplasia of the Mouse Mammary Gland\" (\"neop\"))\n;;\n;; I'm pretty sure we don't want animal diseases, unless humans are considered animals!\n(time\n  (length\n    (run* (q)\n      (fresh (drug gene known-disease something unknown-disease\n                   e-drug/gene st-drug/gene e-drug/gene-rest\n                   e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n                   e-drug/known-disease st-drug/known-disease ot-drug/known-disease e-drug/known-disease-rest\n                   e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n                   e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n        (== known-disease q)\n    \n        ;; imatinib\n        (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n        \n        ;; ...which imatinib is known to treat\n        (== `(,drug ,known-disease \"TREATS\" ,st-drug/known-disease ,ot-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n\n        (conde\n          [(== \"dsyn\" ot-drug/known-disease)]\n          [(== \"neop\" ot-drug/known-disease)])\n        \n        (edgeo e-drug/known-disease)                  \n\n        ))))\n\n;; let's look at the duplicate entries for (12634 \"Disease\" (\"dsyn\")), treated by imatinib\n;;\n;; That seems a bit unfortunate!  imatinib is considered 'orch'\n;; (Organic Chemical) in one entry, and 'phsu' (Pharmacologic\n;; Substance) in the other.\n;;\n;; (((935989 \"imatinib\" (\"phsu\" \"orch\"))\n;;   (12634 \"Disease\" (\"dsyn\"))\n;;   \"TREATS\"\n;;   \"orch\"\n;;   \"dsyn\"\n;;   (86095345 67097950 63793027))\n;;\n;;  ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n;;   (12634 \"Disease\" (\"dsyn\"))\n;;   \"TREATS\"\n;;   \"phsu\"\n;;   \"dsyn\"\n;;   (89407082 ... 41787008)))\n;;\n(run* (q)\n  (fresh (drug gene known-disease something unknown-disease\n               e-drug/gene st-drug/gene e-drug/gene-rest\n               e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n               e-drug/known-disease st-drug/known-disease ot-drug/known-disease e-drug/known-disease-rest\n               e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n               e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n    \n    (== e-drug/known-disease q)\n    \n    ;; imatinib\n    (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n        \n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease \"TREATS\" ,st-drug/known-disease ,ot-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n\n    (== '(12634 \"Disease\" (\"dsyn\")) known-disease)\n    \n    (conde\n      [(== \"dsyn\" ot-drug/known-disease)]\n      [(== \"neop\" ot-drug/known-disease)])\n        \n    (edgeo e-drug/known-disease)                  \n\n    ))\n\n;; more minor cleanup/inlining\n;;\n;; same speed, as expected\n;; cpu time: 17898 real time: 17893 gc time: 462\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n    \n    ;; imatinib inhibits some gene\n    (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n    (== `(,drug ,gene \"INHIBITS\" ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease \"CAUSES\" ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease \"TREATS\" . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease ,st-something/unknown-disease ,ot-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n\n    (=/= \"dsyn\" ot-gene/something)\n    (=/= \"neop\" ot-gene/something)\n    \n    (edgeo e-gene/something)\n\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n\n    (conde\n      [(== \"dsyn\" ot-something/unknown-disease)]\n      [(== \"neop\" ot-something/unknown-disease)])\n    \n    (edgeo e-something/unknown-disease)\n    \n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; replace\n;;\n;; (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n;; (== \"INHIBITS\" p-drug/gene)\n;;\n;; with\n;;\n;; (== `(,drug ,gene \"INHIBITS\" ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n;;\n;; same time, as expected\n;; cpu time: 17960 real time: 17956 gc time: 431\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n    \n    ;; imatinib inhibits some gene\n    (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n    (== `(,drug ,gene \"INHIBITS\" ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease ,st-something/unknown-disease ,ot-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n\n    (=/= \"dsyn\" ot-gene/something)\n    (=/= \"neop\" ot-gene/something)\n    \n    (edgeo e-gene/something)\n\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n\n    (conde\n      [(== \"dsyn\" ot-something/unknown-disease)]\n      [(== \"neop\" ot-something/unknown-disease)])\n    \n    (edgeo e-something/unknown-disease)\n    \n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; replace (fuzzy-concepto \"imatinib\" drug) with (935989 \"imatinib\" (\"phsu\" \"orch\"))\n;;\n;; a bit faster\n;; cpu time: 17844 real time: 17840 gc time: 297\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n    \n    ;; imatinib inhibits some gene\n    (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease ,st-something/unknown-disease ,ot-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n\n    (=/= \"dsyn\" ot-gene/something)\n    (=/= \"neop\" ot-gene/something)\n    \n    (edgeo e-gene/something)\n\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n\n    (conde\n      [(== \"dsyn\" ot-something/unknown-disease)]\n      [(== \"neop\" ot-something/unknown-disease)])\n    \n    (edgeo e-something/unknown-disease)\n    \n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; replaced\n;;\n;; (fresh (cui name concept-type*)\n;;   (== `(,cui ,name ,concept-type*) unknown-disease)\n;;     (conde\n;;       [(membero \"dsyn\" concept-type*)]\n;;       [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n;;\n;; with\n;;\n;; (conde\n;;   [(== \"dsyn\" ot-something/unknown-disease)]\n;;   [(== \"neop\" ot-something/unknown-disease)])\n;;\n;; faster!\n;; cpu time: 19553 real time: 19547 gc time: 507\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n    \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease ,st-something/unknown-disease ,ot-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n\n    (=/= \"dsyn\" ot-gene/something)\n    (=/= \"neop\" ot-gene/something)\n    \n    (edgeo e-gene/something)\n\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n\n    (conde\n      [(== \"dsyn\" ot-something/unknown-disease)]\n      [(== \"neop\" ot-something/unknown-disease)])\n    \n    (edgeo e-something/unknown-disease)\n    \n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; pushed down conde slightly\n;;\n;; same time\n;; cpu time: 23358 real time: 23358 gc time: 1408\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n    \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n\n    (=/= \"dsyn\" ot-gene/something)\n    (=/= \"neop\" ot-gene/something)\n       \n    (edgeo e-gene/something)\n\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n    \n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; moved disequality constraints before conde\n;;\n;; same speed\n;; cpu time: 23023 real time: 23015 gc time: 1251\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n    \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n\n    (=/= \"dsyn\" ot-gene/something)\n    (=/= \"neop\" ot-gene/something)\n    \n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n   \n    (edgeo e-gene/something)\n                  \n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; removed\n;;\n;; (fresh (cui name concept-type*)\n;;   (== `(,cui ,name ,concept-type*) something)\n;;   (not-membero \"dsyn\" concept-type*)\n;;   (not-membero \"neop\" concept-type*))\n;;\n;; no slower, but no faster\n;; cpu time: 23124 real time: 23118 gc time: 1233\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n          \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n\n    (=/= \"dsyn\" ot-gene/something)\n    (=/= \"neop\" ot-gene/something)\n   \n    (edgeo e-gene/something)\n                  \n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; added\n;;\n;; (=/= \"dsyn\" ot-gene/something)\n;; (=/= \"neop\" ot-gene/something)\n;;\n;; same time\n;; cpu time: 23524 real time: 23522 gc time: 1462\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n          \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n\n    (=/= \"dsyn\" ot-gene/something)\n    (=/= \"neop\" ot-gene/something)\n   \n    (edgeo e-gene/something)\n                  \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) something)\n      (not-membero \"dsyn\" concept-type*)\n      (not-membero \"neop\" concept-type*))\n\n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; baby step!\n;;\n;; added st-gene/something ot-gene/something\n;;\n;; time is the same\n;; cpu time: 23438 real time: 23430 gc time: 1282\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n          \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n    (edgeo e-gene/something)\n                  \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) something)\n      (not-membero \"dsyn\" concept-type*)\n      (not-membero \"neop\" concept-type*))\n\n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n\n;; replaced\n;;\n;; (fresh (cui name concept-type*)\n;;   (== `(,cui ,name ,concept-type*) known-disease)\n;;   (conde\n;;     [(membero \"dsyn\" concept-type*)]\n;;     [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n;;\n;; with\n;;\n;; (conde\n;;   [(== \"dsyn\" ot-gene/known-disease)]\n;;   [(== \"neop\" ot-gene/known-disease)])\n;;\n;; slight speedup\n;; cpu time: 23177 real time: 23178 gc time: 1245\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n          \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n    (edgeo e-gene/something)\n                  \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) something)\n      (not-membero \"dsyn\" concept-type*)\n      (not-membero \"neop\" concept-type*))\n\n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n\n;; replaced\n;;\n;; (fresh (cui name concept-type*)\n;;   (== `(,cui ,name ,concept-type*) gene)\n;;   (membero \"gngm\" concept-type*))\n;;\n;; (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n;;\n;; no faster!\n;;\n;; cpu time: 26518 real time: 26509 gc time: 1552\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n          \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (edgeo e-gene/known-disease)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) known-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n    (edgeo e-gene/something)\n                  \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) something)\n      (not-membero \"dsyn\" concept-type*)\n      (not-membero \"neop\" concept-type*))\n\n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; original\n;; cpu time: 26492 real time: 26486 gc time: 1671\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n          \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) gene)\n      (membero \"gngm\" concept-type*))\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (edgeo e-gene/known-disease)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) known-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n    (edgeo e-gene/something)\n                  \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) something)\n      (not-membero \"dsyn\" concept-type*)\n      (not-membero \"neop\" concept-type*))\n\n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n\n\n\n\n\n\n\n\n\n\n\n;;; messed up somehow...\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene st-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease st-gene/known-disease ot-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something st-gene/something ot-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease st-something/unknown-disease ot-something/unknown-disease e-something/unknown-disease-rest)\n    \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n    \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene ,st-drug/gene \"gngm\" . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease ,st-gene/known-disease ,ot-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (conde\n      [(== \"dsyn\" ot-gene/known-disease)]\n      [(== \"neop\" ot-gene/known-disease)])\n    (edgeo e-gene/known-disease)\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n                   \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something ,st-gene/something ,ot-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease ,st-something/unknown-disease ,ot-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n\n    ;; (=/= \"dsyn\" ot-gene/something)\n    ;; (=/= \"neop\" ot-gene/something)\n\n    ;; (=/= \"dsyn\" st-something/unknown-disease)\n    ;; (=/= \"neop\" st-something/unknown-disease)\n\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) something)\n      (not-membero \"dsyn\" concept-type*)\n      (not-membero \"neop\" concept-type*))\n\n    \n    (edgeo e-gene/something)\n\n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n(time (run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n\n    ;; ** cheat **\n    (fuzzy-concepto \"KIT gene\" gene)\n          \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) gene)\n      (membero \"gngm\" concept-type*))\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (edgeo e-gene/known-disease)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) known-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n    \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n    (edgeo e-gene/something)\n                  \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) something)\n      (not-membero \"dsyn\" concept-type*)\n      (not-membero \"neop\" concept-type*))\n\n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; generate and test!!\n    (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n    (fuzzy-concepto \"mast cell activation\" something)\n    (fuzzy-concepto \"asthma\" unknown-disease)\n\n    )))\n\n;; =>\n;;\n;; cpu time: 26928 real time: 27177 gc time: 1541\n;; '((((935989 \"imatinib\" (\"phsu\" \"orch\"))\n;;     (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;;     \"INHIBITS\"\n;;     \"orch\"\n;;     \"gngm\"\n;;     (88094027\n;;      82038640\n;;      78690628\n;;      78513788\n;;      70397515\n;;      60608992\n;;      57775955\n;;      56779144\n;;      55866397\n;;      55866394\n;;      54750176\n;;      54602555\n;;      54524739\n;;      53954674\n;;      53827456\n;;      53794226\n;;      53155624\n;;      51843305\n;;      51685933\n;;      50494576\n;;      50287491\n;;      50287227\n;;      49443008\n;;      48324562\n;;      47259531\n;;      45719202\n;;      44323647\n;;      44187569\n;;      43969275\n;;      40811261\n;;      40130263\n;;      35363677\n;;      35363677))\n;;    ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;;     (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n;;     \"CAUSES\"\n;;     \"aapp\"\n;;     \"neop\"\n;;     (59625558 59480455 43196727 40249098))\n;;    ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n;;     (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n;;     \"TREATS\"\n;;     \"orch\"\n;;     \"neop\"\n;;     (89468570\n;;      89468569\n;;      89468568\n;;      89258086\n;;      89258085\n;;      89205362\n;;      88927657\n;;      88924013\n;;      88642836\n;;      88557822\n;;      88416696\n;;      88236035\n;;      87703148\n;;      87639342\n;;      87563133\n;;      87355756\n;;      87277832\n;;      87259474\n;;      87190645\n;;      87155663\n;;      86726495\n;;      86726307\n;;      86567237\n;;      86229065\n;;      86172855\n;;      86172792\n;;      86131660\n;;      86095366\n;;      86035145\n;;      86029120\n;;      85975403\n;;      85946745\n;;      85712439\n;;      85533589\n;;      85460959\n;;      85258429\n;;      85258243\n;;      85102393\n;;      84799502\n;;      84760780\n;;      84600823\n;;      84489940\n;;      84455598\n;;      84282070\n;;      84199399\n;;      84031770\n;;      83839275\n;;      83526901\n;;      83164056\n;;      82850336\n;;      82797211\n;;      82613490\n;;      82405375\n;;      82317721\n;;      82174866\n;;      81986594\n;;      81966494\n;;      81868093\n;;      81836303\n;;      81836299\n;;      81821592\n;;      81821568\n;;      81779900\n;;      81749438\n;;      81749298\n;;      81693422\n;;      81660653\n;;      81532546\n;;      81446896\n;;      81292173\n;;      81292146\n;;      81187916\n;;      81096155\n;;      81085475\n;;      80369749\n;;      80098508\n;;      80091451\n;;      80030026\n;;      80007514\n;;      80007503\n;;      80007484\n;;      79704637\n;;      78892177\n;;      78600687\n;;      78533753\n;;      78245623\n;;      78014091\n;;      77943557\n;;      77943438\n;;      77510203\n;;      76776701\n;;      76743653\n;;      76743620\n;;      76462669\n;;      76289046\n;;      76148449\n;;      76070843\n;;      76070756\n;;      75933563\n;;      75933518\n;;      75933507\n;;      75779308\n;;      75779235\n;;      75722646\n;;      75678381\n;;      75574053\n;;      75393814\n;;      75385321\n;;      75385290\n;;      75335029\n;;      74891979\n;;      74719196\n;;      74658329\n;;      74658173\n;;      74617628\n;;      74612683\n;;      74510446\n;;      74436697\n;;      74324960\n;;      74324751\n;;      73941360\n;;      73846632\n;;      73821917\n;;      73790920\n;;      73636829\n;;      73619092\n;;      73604638\n;;      73358651\n;;      73358394\n;;      73338468\n;;      73192059\n;;      72992017\n;;      72991953\n;;      72925441\n;;      72925432\n;;      72387590\n;;      72235834\n;;      72163957\n;;      72163916\n;;      72152875\n;;      72006640\n;;      71966871\n;;      71819909\n;;      71747166\n;;      71634856\n;;      71548303\n;;      71548302\n;;      71458205\n;;      71302542\n;;      71290202\n;;      71193021\n;;      71178655\n;;      71047643\n;;      70800725\n;;      70795678\n;;      70677512\n;;      70592280\n;;      70531661\n;;      70516256\n;;      70480367\n;;      70407945\n;;      70392775\n;;      70218140\n;;      70065532\n;;      70064632\n;;      70064228\n;;      69980656\n;;      69922277\n;;      69798593\n;;      69628693\n;;      69574355\n;;      69574200\n;;      69326210\n;;      69173266\n;;      69143520\n;;      69073207\n;;      68990202\n;;      68961183\n;;      68805644\n;;      68756725\n;;      68695975\n;;      68641330\n;;      68543097\n;;      68490316\n;;      68490176\n;;      68451659\n;;      68428455\n;;      68428435\n;;      68128844\n;;      67447723\n;;      67447408\n;;      67447259\n;;      67420026\n;;      67420012\n;;      67395342\n;;      67377234\n;;      67353857\n;;      67224404\n;;      67097947\n;;      67020602\n;;      67020578\n;;      66947994\n;;      66947973\n;;      66919135\n;;      66907557\n;;      66794112\n;;      66717719\n;;      66717457\n;;      66700212\n;;      66658747\n;;      66548225\n;;      66498273\n;;      66492422\n;;      66464075\n;;      66437854\n;;      66316788\n;;      66259767\n;;      66030713\n;;      66030305\n;;      66030298\n;;      65997826\n;;      65895363\n;;      65895259\n;;      65895230\n;;      65847488\n;;      65628134\n;;      65617569\n;;      65512937\n;;      65498233\n;;      65154906\n;;      64925006\n;;      64924970\n;;      64812649\n;;      64812611\n;;      64812607\n;;      64752721\n;;      64721564\n;;      64711818\n;;      64711731\n;;      64656080\n;;      64624730\n;;      64622704\n;;      64156886\n;;      63841948\n;;      63817256\n;;      63816481\n;;      63816454\n;;      63683436\n;;      63571342\n;;      63405183\n;;      63405085\n;;      63381482\n;;      63331732\n;;      63324444\n;;      63319121\n;;      63318913\n;;      63316021\n;;      63315694\n;;      63185401\n;;      63070375\n;;      63054852\n;;      62989453\n;;      62973318\n;;      62841282\n;;      62830344\n;;      62785280\n;;      62784978\n;;      62784892\n;;      62784888\n;;      62784843\n;;      62784801\n;;      62462377\n;;      62428126\n;;      62426332\n;;      62378768\n;;      62378584\n;;      62330072\n;;      62324461\n;;      61797261\n;;      61735158\n;;      61548783\n;;      61207268\n;;      61202221\n;;      60969371\n;;      60969364\n;;      60866909\n;;      60850115\n;;      60662946\n;;      60621352\n;;      60621253\n;;      60551995\n;;      60440052\n;;      60428943\n;;      60428934\n;;      60428660\n;;      60393093\n;;      60392934\n;;      60211135\n;;      60205838\n;;      60062650\n;;      59973854\n;;      59954856\n;;      59807933\n;;      59797232\n;;      59683223\n;;      59554449\n;;      59554240\n;;      59553994\n;;      59553949\n;;      59234656\n;;      59060757\n;;      58957292\n;;      58911796\n;;      58800894\n;;      58782655\n;;      58759216\n;;      58758787\n;;      58758746\n;;      58650526\n;;      58547505\n;;      58547365\n;;      58489364\n;;      58489286\n;;      58489283\n;;      58489063\n;;      58488102\n;;      58370475\n;;      58082575\n;;      58036800\n;;      57952675\n;;      57925861\n;;      57528381\n;;      57461748\n;;      57396831\n;;      57173003\n;;      56779264\n;;      56779187\n;;      56736216\n;;      56675689\n;;      56644042\n;;      56635283\n;;      56581542\n;;      56521000\n;;      56516740\n;;      56305864\n;;      56246713\n;;      55788664\n;;      55669371\n;;      55504860\n;;      55461710\n;;      55144263\n;;      54972005\n;;      54899752\n;;      54750165\n;;      54655723\n;;      54637785\n;;      54185481\n;;      54167702\n;;      54131652\n;;      54065003\n;;      54064819\n;;      54063323\n;;      54033257\n;;      53990272\n;;      53844942\n;;      53790979\n;;      53789312\n;;      53781555\n;;      53770969\n;;      53756949\n;;      53514462\n;;      53485394\n;;      53408441\n;;      53348483\n;;      53324991\n;;      53090376\n;;      53035552\n;;      52986131\n;;      52774289\n;;      52626484\n;;      52626456\n;;      52401003\n;;      52400997\n;;      52384984\n;;      52383401\n;;      52145581\n;;      52080520\n;;      52080500\n;;      51966571\n;;      51966533\n;;      51940444\n;;      51843289\n;;      51785870\n;;      51517762\n;;      51429637\n;;      51233058\n;;      50980581\n;;      50980537\n;;      50965433\n;;      50781404\n;;      50721080\n;;      50508999\n;;      50503416\n;;      50494443\n;;      50443602\n;;      50428979\n;;      50221877\n;;      50221071\n;;      50146289\n;;      49793801\n;;      49662175\n;;      49459434\n;;      49235490\n;;      49234707\n;;      49217344\n;;      49217224\n;;      49188407\n;;      48984520\n;;      48956187\n;;      48740985\n;;      48710539\n;;      48710399\n;;      48658118\n;;      48629524\n;;      48629262\n;;      48629096\n;;      48456328\n;;      48420003\n;;      48222031\n;;      48189351\n;;      48111387\n;;      48019056\n;;      47581439\n;;      47261164\n;;      47241719\n;;      47241687\n;;      47038924\n;;      46851427\n;;      46841532\n;;      46821633\n;;      46603672\n;;      46590734\n;;      46440408\n;;      46423016\n;;      46090733\n;;      46075210\n;;      45928498\n;;      45928268\n;;      45878480\n;;      45605920\n;;      45412106\n;;      45295271\n;;      45253578\n;;      45182073\n;;      45147147\n;;      45071160\n;;      44966652\n;;      44860680\n;;      44776669\n;;      44760794\n;;      44677169\n;;      44310963\n;;      44045613\n;;      44045160\n;;      44013797\n;;      44013731\n;;      44013557\n;;      44005189\n;;      43500401\n;;      43500051\n;;      43499908\n;;      43467372\n;;      43412654\n;;      43255365\n;;      43254694\n;;      43254568\n;;      43065434\n;;      43064602\n;;      42945181\n;;      42944957\n;;      42932034\n;;      42866660\n;;      42860840\n;;      42860208\n;;      42859293\n;;      42797774\n;;      42621694\n;;      42598154\n;;      42593639\n;;      42592914\n;;      42483339\n;;      42475709\n;;      42473986\n;;      41934602\n;;      41934289\n;;      41934141\n;;      41824732\n;;      41823994\n;;      41823990\n;;      41823884\n;;      41823658\n;;      41770028\n;;      41719972\n;;      41636739\n;;      41636678\n;;      41474558\n;;      41474110\n;;      41417515\n;;      41357545\n;;      41047174\n;;      41047053\n;;      40913879\n;;      40913586\n;;      40882088\n;;      40879546\n;;      40810835\n;;      40670230\n;;      40628283\n;;      40618412\n;;      40508813\n;;      40264027\n;;      40263635\n;;      40263369\n;;      40248842\n;;      40213767\n;;      40159841\n;;      39984065\n;;      39953257\n;;      39841942\n;;      39833972\n;;      39787674\n;;      39649770\n;;      38920751\n;;      38459993\n;;      37901924\n;;      36961724\n;;      36754535\n;;      36753213\n;;      36012874\n;;      35363283\n;;      35363160\n;;      35129115\n;;      34362294\n;;      33891695\n;;      33891545\n;;      33891150\n;;      31900490\n;;      29766172\n;;      26570601\n;;      26548765))\n;;    ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;;     (1155074 \"mast cell activation\" (\"celf\"))\n;;     \"CAUSES\"\n;;     \"gngm\"\n;;     \"celf\"\n;;     (36804978))\n;;    ((1155074 \"mast cell activation\" (\"celf\"))\n;;     (4096 \"Asthma\" (\"dsyn\"))\n;;     \"AFFECTS\"\n;;     \"celf\"\n;;     \"dsyn\"\n;;     (54247735 38643255))))\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n(run* (possible-treatment)\n  (fresh (drug gene disease1 disease2)\n    (fuzzy-match \"imatinib\" drug)\n    (inhibits-gene drug gene)\n    (causes-disease gene disease1 mechanism1)\n    (treats-disease drug disease1)\n    (causes-disease gene disease2 mechanism2)\n    (unknown-if-treats-disease drug disease2)\n    (== (list drug gene mechanism2 disease2) possible-treatment)))\n\n\n\n\n(run 1 (q)\n  (fresh (drug gene known-disease something unknown-disease\n          e-drug/gene p-drug/gene e-drug/gene-rest\n          e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n          e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n          e-gene/something p-gene/something e-gene/something-rest\n          e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n    (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n                  \n    ;; imatinib inhibits some gene\n    (fuzzy-concepto \"imatinib\" drug)\n    (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n    (== \"INHIBITS\" p-drug/gene)\n    (edgeo e-drug/gene)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) gene)\n      (membero \"gngm\" concept-type*))\n\n    ;; that gene directly causes some disease...\n    (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n    (== \"CAUSES\" p-gene/known-disease)\n    (edgeo e-gene/known-disease)\n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) known-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n    ;; ...which imatinib is known to treat\n    (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n    (== \"TREATS\" p-drug/known-disease)\n    (edgeo e-drug/known-disease)                  \n                   \n    ;; and that gene indirectly causes & indirectly affects some other disease\n    (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n    (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n    (== \"CAUSES\" p-gene/something)\n    (conde\n      [(== \"AFFECTS\" p-something/unknown-disease)]\n      [(== \"CAUSES\" p-something/unknown-disease)])\n    (edgeo e-gene/something)\n                  \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) something)\n      (not-membero \"dsyn\" concept-type*)\n      (not-membero \"neop\" concept-type*))\n\n    (edgeo e-something/unknown-disease)\n                                    \n    (fresh (cui name concept-type*)\n      (== `(,cui ,name ,concept-type*) unknown-disease)\n      (conde\n        [(membero \"dsyn\" concept-type*)]\n        [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n    ))\n\n\n\n\n\n\n\n\n\n(time (run 1 (q)\n        (fresh (drug gene known-disease something unknown-disease\n                     e-drug/gene p-drug/gene e-drug/gene-rest\n                     e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n                     e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n                     e-gene/something p-gene/something e-gene/something-rest\n                     e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n          (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n                  \n          ;; imatinib \n          (== '(935989 \"imatinib\" (\"phsu\" \"orch\")) drug)\n\n          ;; ...which imatinib is known to treat\n          (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n          (== \"TREATS\" p-drug/known-disease)\n          (edgeo e-drug/known-disease)                  \n\n          ;; imatinib inhibits some gene\n          (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n          (== \"INHIBITS\" p-drug/gene)\n          (edgeo e-drug/gene)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) gene)\n            (membero \"gngm\" concept-type*))\n\n          ;; that gene directly causes some disease...\n          (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n          (== \"CAUSES\" p-gene/known-disease)\n          (edgeo e-gene/known-disease)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) known-disease)\n            (conde\n              [(membero \"dsyn\" concept-type*)]\n              [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n                   \n          ;; and that gene indirectly causes & indirectly affects some other disease\n          (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n          (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n          (== \"CAUSES\" p-gene/something)\n\n          (== \"AFFECTS\" p-something/unknown-disease)\n          \n          ;(conde\n          ;  [(== \"AFFECTS\" p-something/unknown-disease)]\n          ;  [(== \"CAUSES\" p-something/unknown-disease)])\n          \n          (edgeo e-gene/something)\n                  \n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) something)\n            (not-membero \"dsyn\" concept-type*)\n            (not-membero \"neop\" concept-type*))\n\n          (edgeo e-something/unknown-disease)\n                                    \n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) unknown-disease)\n            (conde\n              [(membero \"dsyn\" concept-type*)]\n              [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n\n          ;; generate and test!!\n          (fuzzy-concepto \"KIT gene\" gene)\n          (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n          (fuzzy-concepto \"mast cell activation\" something)\n          (fuzzy-concepto \"asthma\" unknown-disease)\n          \n          )))\n\n(time (run 1 (q)\n        (fresh (drug gene known-disease something unknown-disease\n                     e-drug/gene p-drug/gene e-drug/gene-rest\n                     e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n                     e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n                     e-gene/something p-gene/something e-gene/something-rest\n                     e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n          (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n                  \n          ;; imatinib inhibits some gene\n          (fuzzy-concepto \"imatinib\" drug)\n          (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n          (== \"INHIBITS\" p-drug/gene)\n          (edgeo e-drug/gene)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) gene)\n            (membero \"gngm\" concept-type*))\n\n          ;; that gene directly causes some disease...\n          (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n          (== \"CAUSES\" p-gene/known-disease)\n          (edgeo e-gene/known-disease)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) known-disease)\n            (conde\n              [(membero \"dsyn\" concept-type*)]\n              [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n          ;; ...which imatinib is known to treat\n          (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n          (== \"TREATS\" p-drug/known-disease)\n          (edgeo e-drug/known-disease)                  \n                   \n          ;; and that gene indirectly causes & indirectly affects some other disease\n          (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n          (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n          (== \"CAUSES\" p-gene/something)\n          (conde\n            [(== \"AFFECTS\" p-something/unknown-disease)]\n            [(== \"CAUSES\" p-something/unknown-disease)])\n          (edgeo e-gene/something)\n                  \n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) something)\n            (not-membero \"dsyn\" concept-type*)\n            (not-membero \"neop\" concept-type*))\n\n          (edgeo e-something/unknown-disease)\n                                    \n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) unknown-disease)\n            (conde\n              [(membero \"dsyn\" concept-type*)]\n              [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n\n          ;; generate and test!!, cheating  (move down for realz)\n          (fuzzy-concepto \"KIT gene\" gene)\n          ;; (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n          ;; (fuzzy-concepto \"mast cell activation\" something)\n          (fuzzy-concepto \"asthma\" unknown-disease)\n          \n          )))\n\n(time (run 1 (q)\n        (fresh (drug gene known-disease something unknown-disease\n                     e-drug/gene p-drug/gene e-drug/gene-rest\n                     e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n                     e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n                     e-gene/something p-gene/something e-gene/something-rest\n                     e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n          \n          (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n                  \n          ;; imatinib inhibits some gene\n          (fuzzy-concepto \"imatinib\" drug)\n          (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n          (== \"INHIBITS\" p-drug/gene)\n          (edgeo e-drug/gene)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) gene)\n            (membero \"gngm\" concept-type*))\n\n          ;; that gene directly causes some disease...\n          (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n          (== \"CAUSES\" p-gene/known-disease)\n          (edgeo e-gene/known-disease)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) known-disease)\n            (conde\n              [(membero \"dsyn\" concept-type*)]\n              [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n          ;; ...which imatinib is known to treat\n          (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n          (== \"TREATS\" p-drug/known-disease)\n          (edgeo e-drug/known-disease)                  \n                   \n          ;; and that gene indirectly causes & indirectly affects some other disease\n          (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n          (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n          (== \"CAUSES\" p-gene/something)\n          (conde\n            [(== \"AFFECTS\" p-something/unknown-disease)]\n            [(== \"CAUSES\" p-something/unknown-disease)])\n          (edgeo e-gene/something)\n                  \n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) something)\n            (not-membero \"dsyn\" concept-type*)\n            (not-membero \"neop\" concept-type*))\n\n          (edgeo e-something/unknown-disease)\n                                    \n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) unknown-disease)\n            (conde\n              [(membero \"dsyn\" concept-type*)]\n              [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n\n          ;; generate and test!!, cheating  (move down for realz)\n          (fuzzy-concepto \"KIT gene\" gene)\n          (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n          (fuzzy-concepto \"mast cell activation\" something)\n          (fuzzy-concepto \"asthma\" unknown-disease)\n\n          \n          )))\n\n(time (run 1 (q)\n        (fresh (drug gene known-disease something unknown-disease\n                     e-drug/gene p-drug/gene e-drug/gene-rest\n                     e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n                     e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n                     e-gene/something p-gene/something e-gene/something-rest\n                     e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n\n          ;; generate and test!!, cheating  (move down for realz)\n          (fuzzy-concepto \"KIT gene\" gene)\n          (fuzzy-concepto \"Gastrointestinal Stromal Tumors\" known-disease)\n          (fuzzy-concepto \"mast cell activation\" something)\n          (fuzzy-concepto \"asthma\" unknown-disease)\n\n          \n          (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n                  \n          ;; imatinib inhibits some gene\n          (fuzzy-concepto \"imatinib\" drug)\n          (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n          (== \"INHIBITS\" p-drug/gene)\n          (edgeo e-drug/gene)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) gene)\n            (membero \"gngm\" concept-type*))\n\n          ;; that gene directly causes some disease...\n          (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n          (== \"CAUSES\" p-gene/known-disease)\n          (edgeo e-gene/known-disease)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) known-disease)\n            (conde\n              [(membero \"dsyn\" concept-type*)]\n              [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n          ;; ...which imatinib is known to treat\n          (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n          (== \"TREATS\" p-drug/known-disease)\n          (edgeo e-drug/known-disease)                  \n                   \n          ;; and that gene indirectly causes & indirectly affects some other disease\n          (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n          (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n          (== \"CAUSES\" p-gene/something)\n          (conde\n            [(== \"AFFECTS\" p-something/unknown-disease)]\n            [(== \"CAUSES\" p-something/unknown-disease)])\n          (edgeo e-gene/something)\n                  \n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) something)\n            (not-membero \"dsyn\" concept-type*)\n            (not-membero \"neop\" concept-type*))\n\n          (edgeo e-something/unknown-disease)\n                                    \n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) unknown-disease)\n            (conde\n              [(membero \"dsyn\" concept-type*)]\n              [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n                  \n          )))\n\n(time (length (run 100 (q)\n                (fresh (drug gene known-disease something unknown-disease\n                        e-drug/gene p-drug/gene e-drug/gene-rest\n                        e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n                        e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest\n                        e-gene/something p-gene/something e-gene/something-rest\n                        e-something/unknown-disease p-something/unknown-disease e-something/unknown-disease-rest)\n\n                  (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease ,e-gene/something ,e-something/unknown-disease) q)\n                  \n                  ;; imatinib inhibits some gene\n                  (fuzzy-concepto \"imatinib\" drug)\n                  (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                  (== \"INHIBITS\" p-drug/gene)\n                  (edgeo e-drug/gene)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) gene)\n                    (membero \"gngm\" concept-type*))\n\n                  ;; that gene directly causes some disease...\n                  (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n                  (== \"CAUSES\" p-gene/known-disease)\n                  (edgeo e-gene/known-disease)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) known-disease)\n                    (conde\n                      [(membero \"dsyn\" concept-type*)]\n                      [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n\n                  ;; ...which imatinib is known to treat\n                  (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n                  (== \"TREATS\" p-drug/known-disease)\n                  (edgeo e-drug/known-disease)                  \n                   \n                  ;; and that gene indirectly causes & indirectly affects some other disease\n                  (== `(,gene ,something ,p-gene/something . ,e-gene/something-rest) e-gene/something)\n                  (== `(,something ,unknown-disease ,p-something/unknown-disease . ,e-something/unknown-disease-rest) e-something/unknown-disease)\n                  (== \"CAUSES\" p-gene/something)\n                  (conde\n                    [(== \"AFFECTS\" p-something/unknown-disease)]\n                    [(== \"CAUSES\" p-something/unknown-disease)])\n                  (edgeo e-gene/something)\n                  \n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) something)\n                    (not-membero \"dsyn\" concept-type*)\n                    (not-membero \"neop\" concept-type*))\n\n                  (edgeo e-something/unknown-disease)\n                                    \n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) unknown-disease)\n                    (conde\n                      [(membero \"dsyn\" concept-type*)]\n                      [(not-membero \"dsyn\" concept-type*) (membero \"neop\" concept-type*)]))\n                  \n                  ))))\n\n; cpu time: 31325 real time: 31336 gc time: 490\n; 6518\n(time (length (run* (q)\n                (fresh (drug gene known-disease\n                        e-drug/gene p-drug/gene e-drug/gene-rest\n                        e-gene/known-disease p-gene/known-disease e-gene/known-disease-rest\n                        e-drug/known-disease p-drug/known-disease e-drug/known-disease-rest)\n\n                  (== `(,e-drug/gene ,e-gene/known-disease ,e-drug/known-disease) q)\n                  \n                  ;; imatinib inhibits some gene\n                  (fuzzy-concepto \"imatinib\" drug)\n                  (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                  (== \"INHIBITS\" p-drug/gene)\n                  (edgeo e-drug/gene)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) gene)\n                    (membero \"gngm\" concept-type*))\n\n                  ;; that gene directly causes some disease...\n                  (== `(,gene ,known-disease ,p-gene/known-disease . ,e-gene/known-disease-rest) e-gene/known-disease)\n                  (== \"CAUSES\" p-gene/known-disease)\n                  (edgeo e-gene/known-disease)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) known-disease)\n                    (conde\n                      [(membero \"dsyn\" concept-type*)]\n                      [(membero \"neop\" concept-type*)]))\n\n                  ;; ...which imatinib is known to treat\n                  (== `(,drug ,known-disease ,p-drug/known-disease . ,e-drug/known-disease-rest) e-drug/known-disease)\n                  (== \"TREATS\" p-drug/known-disease)\n                  (edgeo e-drug/known-disease)                  \n                   \n                  ;; and that gene directly or indirectly causes&affects some other disease\n                  \n                  \n                  ))))\n\n(time (length (run* (q)\n                (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)\n                  (== '(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")) drug)\n                  (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                  (== \"INHIBITS\" p-drug/gene)                  \n                  (edgeo e-drug/gene)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) gene)\n                    (membero \"gngm\" concept-type*))\n                  (conde\n                    [(fresh (e d p e-rest)\n                       (== `(,e-drug/gene ,e) q)\n                       (== `(,gene ,d ,p . ,e-rest) e)\n                       (conde\n                         [(== \"AFFECTS\" p)]\n                         [(== \"CAUSES\" p)])\n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) d)\n                         (membero \"dsyn\" concept-type*)))]\n                    [(fresh (e e2 y z p e-rest p2 e2-rest)\n                       (== `(,e-drug/gene ,e ,e2) q)\n                       (== `(,gene ,y ,p . ,e-rest) e)\n                       (== `(,y ,z ,p2 . ,e2-rest) e2)\n                       (== \"CAUSES\" p)\n                       (conde\n                         [(== \"AFFECTS\" p2)]\n                         [(== \"CAUSES\" p2)])          \n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) y)\n                         (not-membero \"dsyn\" concept-type*))\n                       (edgeo e2)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) z)\n                         (membero \"dsyn\" concept-type*)))])))))\n\n\n> (time (length (run 1000000 (q)\n                (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)\n                  (== '(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")) drug)\n                  (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                  (== \"INHIBITS\" p-drug/gene)                  \n                  (edgeo e-drug/gene)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) gene)\n                    (membero \"gngm\" concept-type*))\n                  (fresh (e e2 y z p e-rest p2 e2-rest)\n                       (== `(,e-drug/gene ,e ,e2) q)\n                       (== `(,gene ,y ,p . ,e-rest) e)\n                       (== `(,y ,z ,p2 . ,e2-rest) e2)\n                       (== \"CAUSES\" p)\n                       (== \"CAUSES\" p2)          \n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) y)\n                         (not-membero \"dsyn\" concept-type*))\n                       (edgeo e2)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) z)\n                         (membero \"dsyn\" concept-type*)))))))\ncpu time: 68505 real time: 69284 gc time: 7253\n773840\n\n> (time (length (run 100000 (q)\n                (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)\n                  (== '(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")) drug)\n                  (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                  (== \"INHIBITS\" p-drug/gene)                  \n                  (edgeo e-drug/gene)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) gene)\n                    (membero \"gngm\" concept-type*))\n                  (conde\n                    [(fresh (e d p e-rest)\n                       (== `(,e-drug/gene ,e) q)\n                       (== `(,gene ,d ,p . ,e-rest) e)\n                       (conde\n                         [(== \"AFFECTS\" p)]\n                         [(== \"CAUSES\" p)])\n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) d)\n                         (membero \"dsyn\" concept-type*)))])))))\ncpu time: 1173 real time: 1190 gc time: 71\n8237\n\n> (time (length (run 100000 (q)\n                (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)\n                  (== '(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")) drug)\n                  (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                  (== \"INHIBITS\" p-drug/gene)                  \n                  (edgeo e-drug/gene)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) gene)\n                    (membero \"gngm\" concept-type*))\n                  (fresh (e d p e-rest)\n                       (== `(,e-drug/gene ,e) q)\n                       (== `(,gene ,d ,p . ,e-rest) e)\n                       (== \"CAUSES\" p)\n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) d)\n                         (membero \"dsyn\" concept-type*)))))))\ncpu time: 466 real time: 468 gc time: 23\n5028\n\n(time (length (run* (q)\n                (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)\n                  (== '(939537 \"Imatinib mesylate\" (\"orch\" \"phsu\")) drug)\n                  (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                  (== \"INHIBITS\" p-drug/gene)                  \n                  (edgeo e-drug/gene)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) gene)\n                    (membero \"gngm\" concept-type*))\n                  (conde\n                    [(fresh (e d p e-rest)\n                       (== `(,e-drug/gene ,e) q)\n                       (== `(,gene ,d ,p . ,e-rest) e)\n                       (conde\n                         [(== \"AFFECTS\" p)]\n                         [(== \"CAUSES\" p)])\n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) d)\n                         (membero \"dsyn\" concept-type*)))]\n                    [(fresh (e e2 y z p e-rest p2 e2-rest)\n                       (== `(,e-drug/gene ,e ,e2) q)\n                       (== `(,gene ,y ,p . ,e-rest) e)\n                       (== `(,y ,z ,p2 . ,e2-rest) e2)\n                       (== \"CAUSES\" p)\n                       (conde\n                         [(== \"AFFECTS\" p2)]\n                         [(== \"CAUSES\" p2)])          \n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) y)\n                         (not-membero \"dsyn\" concept-type*))\n                       (edgeo e2)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) z)\n                         (membero \"dsyn\" concept-type*)))])))))\n\n;; diseases that are directly affected or caused by gene G,\n;; or diseases that are directly affected or caused by Y, where Y is any *non-disease* caused by gene G    [one level deep],\n;; where gene G is directly inhibited by \n(time (length (run* (q)\n                (fresh (drug gene e-drug/gene p-drug/gene e-drug/gene-rest)\n                  (fuzzy-concepto \"imatinib\" drug)\n                  (== `(,drug ,gene ,p-drug/gene . ,e-drug/gene-rest) e-drug/gene)\n                  (== \"INHIBITS\" p-drug/gene)                  \n                  (edgeo e-drug/gene)\n                  (fresh (cui name concept-type*)\n                    (== `(,cui ,name ,concept-type*) gene)\n                    (membero \"gngm\" concept-type*))\n                  (conde\n                    [(fresh (e d p e-rest)\n                       (== `(,e-drug/gene ,e) q)\n                       (== `(,gene ,d ,p . ,e-rest) e)\n                       (conde\n                         [(== \"AFFECTS\" p)]\n                         [(== \"CAUSES\" p)])\n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) d)\n                         (membero \"dsyn\" concept-type*)))]\n                    [(fresh (e e2 y z p e-rest p2 e2-rest)\n                       (== `(,e-drug/gene ,e ,e2) q)\n                       (== `(,gene ,y ,p . ,e-rest) e)\n                       (== `(,y ,z ,p2 . ,e2-rest) e2)\n                       (== \"CAUSES\" p)\n                       (conde\n                         [(== \"AFFECTS\" p2)]\n                         [(== \"CAUSES\" p2)])          \n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) y)\n                         (not-membero \"dsyn\" concept-type*))\n                       (edgeo e2)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) z)\n                         (membero \"dsyn\" concept-type*)))])))))\n\n;; diseases that are directly affected or caused by KIT gene,\n;; or diseases that are directly affected or caused by Y, where Y is any *non-disease* caused by KIT gene    [one level deep]\n;;\n;; cpu time: 1750 real time: 1753 gc time: 294\n;; 16574 total = 40 + 16534, as expected from the queries below\n(time (length (run* (q)\n                (fresh (x)\n                  (fuzzy-concepto \"KIT gene\" x)\n                  (conde\n                    [(fresh (e d p e-rest)\n                       (== `(,e) q)\n                       (== `(,x ,d ,p . ,e-rest) e)\n                       (conde\n                         [(== \"AFFECTS\" p)]\n                         [(== \"CAUSES\" p)])\n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) d)\n                         (membero \"dsyn\" concept-type*)))]\n                    [(fresh (e e2 y z p e-rest p2 e2-rest)\n                       (== `(,e ,e2) q)\n                       (== `(,x ,y ,p . ,e-rest) e)\n                       (== `(,y ,z ,p2 . ,e2-rest) e2)\n                       (== \"CAUSES\" p)\n                       (conde\n                         [(== \"AFFECTS\" p2)]\n                         [(== \"CAUSES\" p2)])          \n                       (edgeo e)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) y)\n                         (not-membero \"dsyn\" concept-type*))\n                       (edgeo e2)\n                       (fresh (cui name concept-type*)\n                         (== `(,cui ,name ,concept-type*) z)\n                         (membero \"dsyn\" concept-type*)))])))))\n\n;; diseases that are directly affected or caused by Y, where Y is any *non-disease* caused by KIT gene (16534)   [one level deep]\n;; cpu time: 1589 real time: 1592 gc time: 81\n(time (length (run* (e e2)\n        (fresh (x y z p e-rest p2 e2-rest)\n          (fuzzy-concepto \"KIT gene\" x)\n          (== `(,x ,y ,p . ,e-rest) e)\n          (== `(,y ,z ,p2 . ,e2-rest) e2)\n          (== \"CAUSES\" p)\n          (conde\n            [(== \"AFFECTS\" p2)]\n            [(== \"CAUSES\" p2)])          \n          (edgeo e)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) y)\n            (not-membero \"dsyn\" concept-type*))\n          (edgeo e2)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) z)\n            (membero \"dsyn\" concept-type*))\n          ))))\n\n;; diseases that are directly affected or caused by Y, where Y is anything caused by KIT gene (22012)   [one level deep]\n;;\n;; cpu time: 2251 real time: 2273 gc time: 315\n#|\n(time (length (run* (e e2)\n        (fresh (x y z p e-rest p2 e2-rest)\n          (fuzzy-concepto \"KIT gene\" x)\n          (== `(,x ,y ,p . ,e-rest) e)\n          (== `(,y ,z ,p2 . ,e2-rest) e2)\n          (== \"CAUSES\" p)\n          (conde\n            [(== \"AFFECTS\" p2)]\n            [(== \"CAUSES\" p2)])          \n          (edgeo e)\n          (edgeo e2)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) z)\n            (membero \"dsyn\" concept-type*))\n          ))))\n|#\n\n;; find diseases *directly* caused or affected by KIT gene (40)\n;; cpu time: 104 real time: 106 gc time: 2\n#|\n(time (run* (e)\n        (fresh (x d p e-rest)\n          (fuzzy-concepto \"KIT gene\" x)\n          (== `(,x ,d ,p . ,e-rest) e)\n          (conde\n            [(== \"AFFECTS\" p)]\n            [(== \"CAUSES\" p)])\n          (edgeo e)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) d)\n            (membero \"dsyn\" concept-type*))\n          )))\n|#\n\n;; diseases directly caused by or affected by mast cell activation,\n;; and which are *not* directly treated by imatinib\n;;\n;; uh oh!  wanted to try negation as failure, but faster-mk doesn't include\n;; conda or condu, and probably isn't sound to use them anyway in the presence of\n;; constraints and violation of the g-rule.\n;;\n;; rethink!\n#|\n(time (run* (e-mast/disease e-imatinib/disease)\n        (fresh (x d p e-rest)\n          (fuzzy-concepto \"mast cell activation\" x)\n          (== `(,x ,d ,p . ,e-rest) e-mast/disease)\n          (conde\n            [(== \"AFFECTS\" p)]\n            [(== \"CAUSES\" p)])\n          (edgeo e-mast/disease)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) d)\n            (membero \"dsyn\" concept-type*))\n\n          (fresh (s-imatinib/disease m-imatinib/disease p-imatinib/disease e-rest-imatinib/disease)\n            (== `(,s-imatinib/disease ,m-imatinib/disease ,p-imatinib/disease . ,e-rest-imatinib/disease) e-imatinib/disease)\n            (fuzzy-concepto \"imatinib\" s-imatinib/disease)\n            (== m-imatinib/disease d)\n            (== \"TREATS\" p-imatinib/disease)\n            (conda\n              [(edgeo e-imatinib/disease)\n               (== #f #t) ; negation as failure -- yuck!\n               ]\n              [(== #f #f) ; succeed!\n               ]))\n          )))\n|#\n\n;; diseases directly caused by or affected by mast cell activation,\n;; and which are directly treated by imatinib (12)\n;; cpu time: 1495 real time: 1496 gc time: 7\n'((((1155074 \"mast cell activation\" (\"celf\"))\n    (3864 \"Arthritis\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (76040540))\n   ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (3864 \"Arthritis\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (80123007 63539282)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (3864 \"Arthritis\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (76040540))\n   ((939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (3864 \"Arthritis\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (62390822 47235373)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (8679 \"Chronic Disease\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (22892042 22892027))\n   ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (8679 \"Chronic Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"orch\"\n    \"dsyn\"\n    (83824572)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (8679 \"Chronic Disease\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (22892042 22892027))\n   ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (8679 \"Chronic Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (80065397 70145883)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (85156399\n     66251757\n     65830637\n     61542167\n     55781135\n     55026706\n     52273769\n     48853539\n     41997247\n     34204920\n     30957315\n     30619348\n     22892051\n     22892032\n     22074757))\n   ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"orch\"\n    \"dsyn\"\n    (86095345 67097950 63793027)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (85156399\n     66251757\n     65830637\n     61542167\n     55781135\n     55026706\n     52273769\n     48853539\n     41997247\n     34204920\n     30957315\n     30619348\n     22892051\n     22892032\n     22074757))\n   ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (89407082\n     87982863\n     84505267\n     83839341\n     82894881\n     79751398\n     77831693\n     74132108\n     73588617\n     71258609\n     68415786\n     67458023\n     64623720\n     63394606\n     63276539\n     62770748\n     61655728\n     61327847\n     59631443\n     58825872\n     57593433\n     56055322\n     55987577\n     55898005\n     55505236\n     54274523\n     54274472\n     54245112\n     53414031\n     53353967\n     51836186\n     50884827\n     50551010\n     47162081\n     44666378\n     44579312\n     43522756\n     41787008)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (85156399\n     66251757\n     65830637\n     61542167\n     55781135\n     55026706\n     52273769\n     48853539\n     41997247\n     34204920\n     30957315\n     30619348\n     22892051\n     22892032\n     22074757))\n   ((939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"orch\"\n    \"dsyn\"\n    (54632685)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (85156399\n     66251757\n     65830637\n     61542167\n     55781135\n     55026706\n     52273769\n     48853539\n     41997247\n     34204920\n     30957315\n     30619348\n     22892051\n     22892032\n     22074757))\n   ((939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (79915447 62155051 53028960 51345693 35868680 35397483)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (85156399\n     66251757\n     65830637\n     61542167\n     55781135\n     55026706\n     52273769\n     48853539\n     41997247\n     34204920\n     30957315\n     30619348\n     22892051\n     22892032\n     22074757))\n   ((1331284 \"imatinib 400 MG\" (\"clnd\"))\n    (12634 \"Disease\" (\"dsyn\"))\n    \"TREATS\"\n    \"clnd\"\n    \"dsyn\"\n    (82894882)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (17260890))\n   ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (84787125 64871514)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (41296 \"Tuberculosis\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (62139776))\n   ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (41296 \"Tuberculosis\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (55204927)))\n  (((1155074 \"mast cell activation\" (\"celf\"))\n    (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n    \"AFFECTS\"\n    \"celf\"\n    \"dsyn\"\n    (75547483))\n   ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n    (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n    \"TREATS\"\n    \"phsu\"\n    \"dsyn\"\n    (86365747 86365718))))\n;;\n(time (run* (e-mast/disease e-imatinib/disease)\n        (fresh (x d p e-rest)\n          (fuzzy-concepto \"mast cell activation\" x)\n          (== `(,x ,d ,p . ,e-rest) e-mast/disease)\n          (conde\n            [(== \"AFFECTS\" p)]\n            [(== \"CAUSES\" p)])\n          (edgeo e-mast/disease)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) d)\n            (membero \"dsyn\" concept-type*))\n\n          (fresh (s-imatinib/disease m-imatinib/disease p-imatinib/disease e-rest-imatinib/disease)\n            (== `(,s-imatinib/disease ,m-imatinib/disease ,p-imatinib/disease . ,e-rest-imatinib/disease) e-imatinib/disease)\n            (fuzzy-concepto \"imatinib\" s-imatinib/disease)\n            (== m-imatinib/disease d)\n            (== \"TREATS\" p-imatinib/disease)\n            (edgeo e-imatinib/disease))          \n          )))\n\n;; diseases directly caused by or affected by mast cell activation (18 of them)\n'(((1155074 \"mast cell activation\" (\"celf\"))\n   (3864 \"Arthritis\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (76040540))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (4096 \"Asthma\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (54247735 38643255))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (8679 \"Chronic Disease\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (22892042 22892027))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (9766 \"Allergic Conjunctivitis\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (59114948))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (12634 \"Disease\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (85156399\n    66251757\n    65830637\n    61542167\n    55781135\n    55026706\n    52273769\n    48853539\n    41997247\n    34204920\n    30957315\n    30619348\n    22892051\n    22892032\n    22074757))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (14038 \"Encephalitis\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (65637409))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (26769 \"Multiple Sclerosis\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (17260890))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (38644 \"Sudden infant death syndrome\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (26368942))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (41296 \"Tuberculosis\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (62139776))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (83500602))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (263338 \"Chronic urticaria\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (62388241))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (272203 \"Indolent Systemic Mastocytosis\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (75547483))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (282488 \"Interstitial Cystitis\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (23789469))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (340865 \"Anaphylactoid reaction\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (43841329))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (853897 \"Diabetic cardiomyopathy\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (72760736))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (948089 \"Acute coronary syndrome\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (85902244\n    70809425\n    63933449\n    62132544\n    61479825\n    58213540\n    58052580\n    56749622\n    48540985\n    43841336))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (1290886 \"Chronic inflammatory disorder\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (58131314))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (1449852 \"Erythematotelangiectatic Rosacea\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (71577548)))\n;;\n#|\n(time (run* (e)\n        (fresh (x d p e-rest)\n          (fuzzy-concepto \"mast cell activation\" x)\n          (== `(,x ,d ,p . ,e-rest) e)\n          (conde\n            [(== \"AFFECTS\" p)]\n            [(== \"CAUSES\" p)])\n          (edgeo e)\n          (fresh (cui name concept-type*)\n            (== `(,cui ,name ,concept-type*) d)\n            (membero \"dsyn\" concept-type*))\n          )))\n|#\n\n;; cpu time: 132126 real time: 132712 gc time: 6589\n;; 20000 paths\n#|\n(time (length (run 20000 (path)\n                (fresh (x)\n                  (fuzzy-concepto \"mast cell activation\" x)\n                  (path-to-diseaseo x path)))))\n|#\n\n;; time to generate all genes that are inhibited by imatinib that in turn cause some disease, and where imatinib is known to directly treat that disease\n;; cpu time: 88571 real time: 89553 gc time: 1150\n;; 9681\n\n(time (pretty-print (run* (tree)\n                      (fresh (e-imatinib/known-disease s-imatinib/known-disease m-imatinib/known-disease p-imatinib/known-disease e-rest-imatinib/known-disease\n                              e-imatinib/gene s-imatinib/gene m-imatinib/gene p-imatinib/gene e-rest-imatinib/gene\n                              e-gene/known-disease s-gene/known-disease m-gene/known-disease p-gene/known-disease e-rest-gene/known-disease\n                              )\n\n                        (== `(,s-imatinib/known-disease ,m-imatinib/known-disease ,p-imatinib/known-disease . ,e-rest-imatinib/known-disease) e-imatinib/known-disease)\n                        (== `(,s-imatinib/gene ,m-imatinib/gene ,p-imatinib/gene . ,e-rest-imatinib/gene) e-imatinib/gene)\n                        (== `(,s-gene/known-disease ,m-gene/known-disease ,p-gene/known-disease . ,e-rest-gene/known-disease) e-gene/known-disease)\n\n                        ;; need to add types!  https://mmtx.nlm.nih.gov/MMTx/semanticTypes.shtml\n                        ;; (map (lambda (cui) (hash-ref cui=>concept cui)) (hash-ref semtype-id=>cui* (hash-ref semtype=>id \"gngm\")))\n                        ;; * gene:     gngm\tT028\tGene or Genome       (hash-ref semtype=>id \"gngm\") => 59      (hash-ref semtype-id=>cui* (hash-ref semtype=>id \"gngm\"))\n                        ;; * known disease\n                        ;; * unknown disease\n                        \n                        (fuzzy-concepto \"imatinib\" s-imatinib/known-disease)\n\n                        ;; same imatinib\n                        (== s-imatinib/known-disease s-imatinib/gene)\n\n                        ;; same gene\n                        (== s-gene/known-disease m-imatinib/gene)\n\n                        ;; same known disease\n                        (== m-imatinib/known-disease m-gene/known-disease)\n                        \n                        (== \"TREATS\" p-imatinib/known-disease)\n\n                        (== \"CAUSES\" p-gene/known-disease)\n                        \n                        (== \"INHIBITS\" p-imatinib/gene)\n                        \n                        (edgeo e-imatinib/gene)\n\n                        ;; filter to make sure 'gene' is actually a gene!\n                        ;; what is a cleaner way to do this?\n                        (fresh (cui name concept-type*)\n                          (== `(,cui ,name ,concept-type*) m-imatinib/gene)\n                          (membero \"gngm\" concept-type*))\n                        \n                        (edgeo e-gene/known-disease)\n                        (edgeo e-imatinib/known-disease)\n\n                        (== `(,e-imatinib/gene ,e-gene/known-disease ,e-imatinib/known-disease) tree)))))\n\n\n;; no results!  good!  what we would hope for\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (fuzzy-concepto \"imatinib\" s)\n                        (fuzzy-concepto \"asthma\" m)\n                        (edgeo e)))))\n|#\n\n;; no results!  good!  what we would hope for\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (fuzzy-concepto \"imatinib\" s)\n                        (fuzzy-concepto \"mast cell activation\" m)\n                        (edgeo e)))))\n|#\n\n'(((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"AFFECTS\"\n   \"gngm\"\n   \"celf\"\n   (45683353))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (1155074 \"mast cell activation\" (\"celf\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"celf\"\n   (36804978)))\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (fuzzy-concepto \"KIT gene\" s)\n                        (fuzzy-concepto \"mast cell activation\" m)\n                        (edgeo e)))))\n|#\n\n'((4096 \"Asthma\" (\"dsyn\"))\n  (4099 \"Asthma, Exercise-Induced\" (\"dsyn\"))\n  (14434 \"Detergent asthma\" (\"dsyn\"))\n  (38218 \"Status Asthmaticus\" (\"dsyn\"))\n  (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n  (155880 \"Intrinsic asthma NOS\" (\"dsyn\"))\n  (238266 \"Meat-wrappers' asthma\" (\"dsyn\"))\n  (238375 \"Platinum asthma\" (\"dsyn\"))\n  (259745 \"Asthma, infective\" (\"dsyn\"))\n  (259808 \"Asthma, endogenous\" (\"dsyn\"))\n  (264348 \"Chronic asthmatic bronchitis\" (\"dsyn\"))\n  (264408 \"Childhood asthma\" (\"dsyn\"))\n  (264411 \"Hay fever with asthma\" (\"dsyn\"))\n  (264413 \"Late onset asthma\" (\"dsyn\"))\n  (264423 \"Occupational asthma\" (\"dsyn\"))\n  (264480 \"Bakers' asthma\" (\"dsyn\"))\n  (282556 \"Anti-Asthmatic Agents\" (\"phsu\"))\n  (340067 \"Drug-induced asthma\" (\"dsyn\"))\n  (340069 \"Colophony asthma\" (\"dsyn\"))\n  (340070 \"Millers' asthma\" (\"dsyn\"))\n  (340073 \"Factitious asthma\" (\"dsyn\"))\n  (340076 \"Asthmatic pulmonary eosinophilia\" (\"dsyn\"))\n  (340094 \"Wood asthma\" (\"dsyn\"))\n  (347950 \"Asthma attack NOS\" (\"dsyn\"))\n  (348819 \"Mixed asthma\" (\"dsyn\"))\n  (349790 \"Exacerbation of asthma\" (\"fndg\"))\n  (350348 \"Asthma prophylaxis\" (\"phsu\"))\n  (392681 \"Asthmatic breathing\" (\"sosy\"))\n  (420048 \"Asthma screening\" (\"hlca\"))\n  (420293 \"Emergency admission, asthma\" (\"hlca\"))\n  (543699 \"ASA intolerant asthma\" (\"dsyn\"))\n  (554832 \"Asthma monitoring\" (\"hlca\"))\n  (581122 \"Asthma severity\" (\"hlca\"))\n  (581124 \"Mild asthma\" (\"fndg\"))\n  (581125 \"Moderate asthma\" (\"fndg\"))\n  (581126 \"Severe asthma\" (\"fndg\"))\n  (582415 \"Acute asthma\" (\"dsyn\"))\n  (606809 \"Asthma 23D\" (\"phsu\"))\n  (684913 \"Chemical-induced asthma\" (\"dsyn\"))\n  (729337 \"Brittle asthma\" (\"dsyn\"))\n  (741266 \"ASTHMA STABLE\" (\"fndg\"))\n  (856716 \"Asthma aspirin-sensitive\" (\"dsyn\"))\n  (859987 \"Asthmatoid bronchitis\" (\"dsyn\"))\n  (876293 \"Asthma Monitoring System\" (\"medd\"))\n  (877264 \"Infantile asthma\" (\"dsyn\"))\n  (877430 \"Asthma chronic\" (\"dsyn\"))\n  (1135801 \"Tylophora asthmatica\" (\"plnt\"))\n  (1261327 \"Family history of asthma\" (\"fndg\"))\n  (1271086 \"Suspected asthma\" (\"fndg\"))\n  (1272273 \"Asthma finding\" (\"fndg\"))\n  (1303029 \"Asthma trigger\" (\"clna\"))\n  (1318955 \"Asthma management\" (\"hlca\"))\n  (1319018 \"Asthmatic bronchitis\" (\"dsyn\"))\n  (1319853 \"Aspirin-induced asthma\" (\"fndg\"))\n  (1328364 \"Analgesic asthma syndrome\" (\"inpo\")))\n#|\n(run* (m) (fuzzy-concepto \"asthma\" m))\n|#\n\n'(((1155074 \"mast cell activation\" (\"celf\"))\n   (4096 \"Asthma\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (54247735 38643255))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (4096 \"Asthma\" (\"dsyn\"))\n   \"ASSOCIATED_WITH\"\n   \"celf\"\n   \"dsyn\"\n   (13130971))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (4099 \"Asthma, Exercise-Induced\" (\"dsyn\"))\n   \"NEG_AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (17055287))\n  ((1155074 \"mast cell activation\" (\"celf\"))\n   (155877 \"Extrinsic asthma NOS\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"celf\"\n   \"dsyn\"\n   (83500602)))\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (fuzzy-concepto \"mast cell activation\" s)\n                        (fuzzy-concepto \"asthma\" m)\n                        (edgeo e)))))\n|#\n\n'(\"AFFECTS\" \"ASSOCIATED_WITH\" \"NEG_AFFECTS\" \"AFFECTS\")\n#|\n(time (pretty-print (run* (p)\n                      (fresh (e s m e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (fuzzy-concepto \"mast cell activation\" s)\n                        (fuzzy-concepto \"asthma\" m)\n                        (edgeo e)))))\n|#\n\n\n'(\"AFFECTS\" \"ASSOCIATED_WITH\")\n#|\n(time (pretty-print (run* (p)\n                      (fresh (e s m e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (cuio s 1155074) ; (1155074 \"mast cell activation\" (\"celf\"))\n                        (cuio m 4096)    ; (4096 \"Asthma\" (\"dsyn\"))\n                        (edgeo e)))))\n|#\n\n\n'(\"AFFECTS\"\n  \"AFFECTS\"\n  \"ASSOCIATED_WITH\"\n  \"ASSOCIATED_WITH\"\n  \"ASSOCIATED_WITH\"\n  \"ASSOCIATED_WITH\"\n  \"AUGMENTS\"\n  \"CAUSES\"\n  \"AUGMENTS\"\n  \"NEG_ASSOCIATED_WITH\"\n  \"CAUSES\"\n  \"PART_OF\"\n  \"CAUSES\"\n  \"PREDISPOSES\"\n  \"DISRUPTS\"\n  \"TREATS\"\n  \"NEG_ASSOCIATED_WITH\"\n  \"NEG_PART_OF\"\n  \"NEG_TREATS\"\n  \"PART_OF\"\n  \"PREDISPOSES\"\n  \"PREDISPOSES\"\n  \"PREVENTS\"\n  \"TREATS\"\n  \"compared_with\"\n  \"higher_than\")\n#|\n(time (pretty-print (run* (p)\n                      (fresh (e s m e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (conde\n                          [(cuio s 1416655)] ; (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n                          [(cuio s 920288)]) ; (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n                        (cuio m 238198)      ; (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n                        (edgeo e)))))\n|#\n\n\n\n\n'(((935989 \"imatinib\" (\"phsu\" \"orch\"))\n   (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   \"INHIBITS\"\n   \"orch\"\n   \"gngm\"\n   (88094027\n    82038640\n    78690628\n    78513788\n    70397515\n    60608992\n    57775955\n    56779144\n    55866397\n    55866394\n    54750176\n    54602555\n    54524739\n    53954674\n    53827456\n    53794226\n    53155624\n    51843305\n    51685933\n    50494576\n    50287491\n    50287227\n    49443008\n    48324562\n    47259531\n    45719202\n    44323647\n    44187569\n    43969275\n    40811261\n    40130263\n    35363677\n    35363677))\n  ((939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   \"INHIBITS\"\n   \"orch\"\n   \"gngm\"\n   (78245416\n    60923184\n    52405281\n    50198713\n    48733408\n    48658568\n    46535660\n    45216976\n    44323573\n    42932218\n    41594062\n    41594059\n    41109626\n    41017098\n    40494392\n    37687910))\n  ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n   (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   \"INHIBITS\"\n   \"orch\"\n   \"gngm\"\n   (88061703\n    85297819\n    84466544\n    80622734\n    80622529\n    80622496\n    80602335\n    80602240\n    74425222\n    73925398\n    72612280\n    70407634\n    68644392\n    68644322\n    61811120\n    57954791\n    57560853\n    57461754\n    56194601\n    56139137\n    55779007\n    54837106\n    53185505\n    53155624\n    52291848\n    51896005\n    49170588\n    46720307\n    45481706\n    42521897\n    41357396\n    40935122))\n  ((939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   \"INHIBITS\"\n   \"orch\"\n   \"gngm\"\n   (82419991\n    73925304\n    61340408\n    56865479\n    55254090\n    54481089\n    50302706\n    47020133\n    43901262\n    42424750\n    41410459\n    41146783\n    39633613)))\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m p e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (conde\n                          [(cuio s 935989)]  ; (935989 \"imatinib\" (\"phsu\" \"orch\"))\n                          [(cuio s 939537)]) ; (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n                        (conde\n                          [(cuio m 1416655)]  ; (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n                          [(cuio m 920288)]) ; (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n                        (== \"INHIBITS\" p)\n                        (edgeo e)))))\n|#\n\n'(\"COEXISTS_WITH\"\n  \"INHIBITS\"\n  \"COEXISTS_WITH\"\n  \"INTERACTS_WITH\"\n  \"INTERACTS_WITH\"\n  \"INHIBITS\"\n  \"NEG_INTERACTS_WITH\"\n  \"STIMULATES\"\n  \"COEXISTS_WITH\"\n  \"INTERACTS_WITH\"\n  \"compared_with\"\n  \"COEXISTS_WITH\"\n  \"lower_than\"\n  \"NEG_INHIBITS\"\n  \"INHIBITS\"\n  \"STIMULATES\"\n  \"INHIBITS\"\n  \"USES\"\n  \"INTERACTS_WITH\"\n  \"INTERACTS_WITH\"\n  \"INTERACTS_WITH\"\n  \"INTERACTS_WITH\"\n  \"NEG_INTERACTS_WITH\")\n#|\n(time (pretty-print (run* (p)\n                      (fresh (e s m e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (conde\n                          [(cuio s 935989)]  ; (935989 \"imatinib\" (\"phsu\" \"orch\"))\n                          [(cuio s 939537)]) ; (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n                        (conde\n                          [(cuio m 1416655)]  ; (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n                          [(cuio m 920288)]) ; (920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n                        (edgeo e)))))\n|#\n\n\n;; no answers!  good!  This means we will need to find the connection ourselves, assuming it exists in SemMedDB\n#|\n(time (pretty-print (run* (p)\n                      (fresh (e s m e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (conde\n                          [(cuio s 935989)]  ; (935989 \"imatinib\" (\"phsu\" \"orch\"))\n                          [(cuio s 939537)]) ; (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n                        (fuzzy-concepto \"asthma\" m)\n                        (edgeo e)))))\n|#\n\n\n;; imatinib\n;; \"AFFECTS\"\n;; \"AUGMENTS\"\n;; \"CAUSES\"\n;; \"NEG_AFFECTS\"\n;; \"NEG_TREATS\"\n;; \"PREDISPOSES\"\n;; \"PREVENTS\"\n;; \"TREATS\"\n;; Gastrointestinal Stromal Tumors\n#|\n(time (pretty-print (run* (p)\n                      (fresh (e s m e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (conde\n                          [(cuio s 935989)]  ; (935989 \"imatinib\" (\"phsu\" \"orch\"))\n                          [(cuio s 939537)]) ; (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n                        (cuio m 238198)      ; (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n                        (edgeo e)))))\n|#\n\n;; What else, other than \"KIT gene\", causes \"Gastrointestinal Stromal Tumors\"?\n;;\n;; 46 entries in the list\n;;\n;; hmmm...\n;;\n;; ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n;;  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n;;  \"CAUSES\"\n;;  \"orch\"\n;;  \"neop\"\n;;  (76776830 56175577 55046179))\n;; ((939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n;;  (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n;;  \"CAUSES\"\n;;  \"orch\"\n;;  \"neop\"\n;;  (81096076 44044998))\n;;\n;;\n;; Genes\n;; Proto-Oncogenes\n;;\n;; CCND3\n;; FRAP1\n;; KIT\n;; PDGFRA\n;; SARDH\n;; SDHB\n;; SDS\n;; VEGFA\n;;\n;; Oncogene Proteins\n;;\n;; Proto-Oncogene Protein c-kit\n;; FRAP1 protein, human\n;; PDGFA protein, human\n;;\n;; Receptor Protein-Tyrosine Kinases\n;; Mitogen-Activated Protein Kinases\n;;\n;; Protein-tyrosine kinase inhibitor\n;;\n'(((6674 \"Calcitriol\" (\"horm\" \"strd\" \"phsu\" \"vita\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"horm\"\n   \"neop\"\n   (77145307))\n  ((7090 \"Carcinogens\" (\"hops\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"hops\"\n   \"neop\"\n   (65449228 50883408))\n  ((7621 \"Cell Transformation, Neoplastic\" (\"neop\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"neop\"\n   \"neop\"\n   (63043249))\n  ((13299 \"Duodenogastric Reflux\" (\"dsyn\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"dsyn\"\n   \"neop\"\n   (42175197))\n  ((17337 \"Genes\" (\"aapp\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (58489737))\n  ((24002 \"Lorazepam\" (\"phsu\" \"orch\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"orch\"\n   \"neop\"\n   (48186889))\n  ((26336 \"Study models\" (\"inpr\" \"resd\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"resd\"\n   \"neop\"\n   (45629888))\n  ((27627 \"Neoplasm Metastasis\" (\"neop\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"neop\"\n   \"neop\"\n   (63071652))\n  ((29005 \"Oncogene Proteins\" (\"gngm\" \"bacs\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (46756812))\n  ((31727 \"Phosphotransferases\" (\"aapp\" \"gngm\" \"enzy\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (65449233))\n  ((32200 \"Platelet-Derived Growth Factor\" (\"gngm\" \"aapp\" \"bacs\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (85323763 85323762))\n  ((33713 \"Proto-Oncogenes\" (\"aapp\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (62178248 59318007 39441233))\n  ((36442 \"Scopolamine\" (\"orch\" \"phsu\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"orch\"\n   \"neop\"\n   (48186893))\n  ((37659 \"Somatostatin\" (\"phsu\" \"aapp\" \"gngm\" \"horm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (61820493))\n  ((38615 \"Succinate Dehydrogenase\" (\"aapp\" \"enzy\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (85537008 55521924 42919388))\n  ((40646 \"Transcriptase\" (\"gngm\" \"aapp\" \"enzy\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (76380814))\n  ((55817 \"citrate carrier\" (\"bacs\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (57723826))\n  ((71253 \"Platelet-Derived Growth Factor Receptor\" (\"aapp\" \"gngm\" \"enzy\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (53789101 53789073 50274414))\n  ((72470 \"Proto-Oncogene Protein c-kit\" (\"aapp\" \"gngm\" \"rcpt\" \"imft\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (59480455 47920692))\n  ((206364 \"Receptor Protein-Tyrosine Kinases\" (\"enzy\" \"rcpt\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (86726299 50789329 29550497))\n  ((206530 \"Germ-Line Mutation\" (\"genf\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"genf\"\n   \"neop\"\n   (73582365))\n  ((243077 \"inhibitors\" (\"chvf\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"chvf\"\n   \"neop\"\n   (70292056))\n  ((244104 \"Pyruvate\" (\"orch\" \"bacs\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"bacs\"\n   \"neop\"\n   (75527580))\n  ((290067\n    \"Platelet-Derived Growth Factor alpha Receptor\"\n    (\"rcpt\" \"aapp\" \"gngm\" \"enzy\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (43196739 40249105))\n  ((450442 \"Agent\" (\"chvf\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"chvf\"\n   \"neop\"\n   (68259613))\n  ((534628 \"Endostatins\" (\"aapp\" \"phsu\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (50654712))\n  ((725066 \"Advance\" (\"medd\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"medd\"\n   \"neop\"\n   (59465228))\n  ((752312 \"Mitogen-Activated Protein Kinases\" (\"enzy\" \"aapp\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (54020272))\n  ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (87384637 51889889 37195338 33819150 33819075))\n  ((935989 \"imatinib\" (\"phsu\" \"orch\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"orch\"\n   \"neop\"\n   (76776830 56175577 55046179))\n  ((939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"orch\"\n   \"neop\"\n   (81096076 44044998))\n  ((1268567 \"Protein-tyrosine kinase inhibitor\" (\"phsu\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"phsu\"\n   \"neop\"\n   (63024462))\n  ((1307407 \"FRAP1 protein, human\" (\"aapp\" \"enzy\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (54020280))\n  ((1333132 \"Common Neoplasm\" (\"neop\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"neop\"\n   \"neop\"\n   (43813786))\n  ((1335200 \"PDGFA gene\" (\"gngm\" \"horm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (59625566))\n  ((1335201 \"PDGFRA gene\" (\"rcpt\" \"enzy\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (43196739 40249105))\n  ((1335201 \"PDGFRA gene\" (\"rcpt\" \"enzy\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (87264286\n    87264286\n    86468474\n    86468474\n    83221033\n    83221033\n    77629821\n    77629821\n    61335412\n    61335412\n    60497536\n    60497536\n    48640418\n    48640418\n    42671657\n    42671657\n    41043821\n    41043821\n    41043806\n    41043806))\n  ((1335430 \"PDGFA protein, human\" (\"horm\" \"aapp\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (59625566))\n  ((1413175 \"CCND3 gene\" (\"aapp\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (41147975 41147975))\n  ((1414805 \"FRAP1 gene\" (\"aapp\" \"gngm\" \"enzy\" \"bacs\" \"aapp\" \"gngm\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (54020280))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (59625558 59480455 43196727 40249098))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (87384637\n    85323758\n    85323753\n    83221026\n    61335391\n    58431044\n    57775929\n    55436679\n    54253302\n    53789085\n    53789078\n    52927884\n    50274407\n    50049773\n    49635451\n    46841526\n    46757085\n    46299485\n    44187839\n    42671642\n    41287669\n    37195338\n    34247527\n    33819150\n    33819075\n    33114772\n    32425400\n    31543639\n    31187106\n    27728484\n    27728480))\n  ((1419817 \"SARDH gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (66904284))\n  ((1419907 \"SDHB gene\" (\"aapp\" \"gngm\" \"enzy\" \"bacs\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (66904284))\n  ((1419917 \"SDS gene\" (\"gngm\" \"enzy\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (66904284))\n  ((1823619 \"VEGFA gene\" (\"bacs\" \"phsu\" \"rcpt\" \"gngm\" \"imft\" \"enzy\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (50654702)))\n;;\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m p e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (cuio m 238198)\n                        (== \"CAUSES\" p)\n                        (edgeo e)))))\n|#\n\n;; \"KIT gene\"                        CUI 1416655\n;; \"Gastrointestinal Stromal Tumors\" CUI  238198\n;; \"CAUSES\"\n;;\n'(((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (59625558 59480455 43196727 40249098))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (87384637\n    85323758\n    85323753\n    83221026\n    61335391\n    58431044\n    57775929\n    55436679\n    54253302\n    53789085\n    53789078\n    52927884\n    50274407\n    50049773\n    49635451\n    46841526\n    46757085\n    46299485\n    44187839\n    42671642\n    41287669\n    37195338\n    34247527\n    33819150\n    33819075\n    33114772\n    32425400\n    31543639\n    31187106\n    27728484\n    27728480)))\n;;\n;; Sometimes we just want to target a specific cui or set of cuis.\n;;\n;; #(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;; #(238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n;;\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m p e-rest)\n                        (== `(,s ,m ,p . ,e-rest) e)\n                        (cuio s 1416655)\n                        (cuio m 238198)\n                        (== \"CAUSES\" p)\n                        (edgeo e)))))\n|#\n\n\n;; \"KIT gene\"\n;; \"Gastrointestinal Stromal Tumors\"\n;; (any predicate, using CUIs for S and M)\n'(((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"AFFECTS\"\n   \"gngm\"\n   \"neop\"\n   (76251827 71712139 66437646 51229875 45105359 44957091))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"ASSOCIATED_WITH\"\n   \"aapp\"\n   \"neop\"\n   (88816704\n    84460940\n    82018014\n    80113913\n    78220375\n    68676785\n    64194050\n    62488657\n    62488417\n    60516197\n    59023488\n    57460066\n    55504934\n    51048056\n    50221433\n    49515351\n    42281387\n    39806474\n    39806458\n    38471241\n    36205524\n    32077844\n    27305882))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"ASSOCIATED_WITH\"\n   \"gngm\"\n   \"neop\"\n   (88816957\n    88816951\n    88816950\n    88786674\n    88707141\n    87354026\n    87354024\n    86927567\n    85526693\n    85323889\n    85258402\n    85131831\n    84724778\n    84460748\n    84460694\n    84031830\n    84026339\n    83653907\n    83346329\n    83173556\n    83173380\n    82814810\n    82814708\n    82174828\n    80961594\n    80611295\n    78681164\n    77814508\n    77327848\n    76776638\n    76419851\n    76251730\n    75963048\n    75962942\n    75527334\n    75208407\n    74994400\n    74617283\n    74420763\n    74324760\n    73846506\n    73776862\n    73338226\n    73151949\n    72728471\n    72728225\n    71621316\n    71588638\n    71193030\n    71047813\n    70628389\n    70628117\n    70576282\n    70576118\n    70575948\n    69690124\n    69539621\n    69450585\n    69450375\n    69393867\n    69063607\n    68636078\n    68635898\n    67326540\n    66443153\n    66443088\n    66245060\n    66000227\n    65490262\n    65393355\n    65260310\n    64512628\n    64194332\n    64038744\n    63974605\n    63909178\n    63900746\n    63874949\n    63557002\n    63556951\n    63247245\n    63247245\n    62577550\n    62470425\n    62318601\n    62318554\n    62076711\n    62065944\n    61963535\n    61807548\n    61800883\n    61785532\n    61273686\n    61273686\n    60839259\n    60522504\n    60449191\n    59983733\n    59983622\n    59867401\n    59853109\n    59625513\n    59092968\n    59092805\n    59092335\n    59023393\n    58702914\n    58430466\n    58195432\n    58194874\n    58155550\n    58155464\n    58155283\n    58155041\n    58038459\n    56779325\n    56779149\n    56778962\n    56736280\n    56175619\n    55308106\n    55122597\n    54971952\n    54602893\n    54602798\n    54602493\n    54348559\n    54348197\n    54348120\n    54086008\n    54019767\n    53993460\n    53993388\n    53838851\n    53617803\n    53455495\n    53161441\n    53155629\n    53124815\n    52370481\n    52188869\n    51979898\n    51938438\n    51764519\n    51764101\n    51764046\n    51650446\n    51650436\n    50862437\n    50658113\n    50427094\n    50221579\n    50122432\n    49416815\n    49178731\n    49156492\n    48740872\n    48230769\n    48230016\n    48229895\n    48229849\n    48061753\n    47300231\n    47273474\n    47179155\n    47085455\n    46756696\n    46673762\n    46054806\n    45858226\n    45698328\n    45698328\n    45431595\n    45253719\n    45216614\n    45106015\n    45105926\n    45105310\n    44823438\n    44574166\n    44574034\n    44464738\n    44395150\n    44383506\n    44382955\n    44382901\n    44153320\n    43711388\n    43604490\n    43229970\n    42932350\n    42860155\n    42860155\n    42224429\n    42190272\n    42190171\n    41720202\n    41253388\n    41053204\n    41016754\n    41016696\n    40493615\n    40429006\n    40428933\n    40249147\n    40248995\n    40247013\n    39580372\n    39482360\n    39185794\n    37687613\n    37195326\n    37195320\n    36962598\n    36788987\n    36751918\n    36434304\n    36204927\n    35865596\n    35667659\n    35667587\n    35363207\n    35363207\n    34290017\n    34246396\n    34246279\n    33114693\n    33114682\n    32970840\n    32815113\n    32656219\n    32655995\n    32424902\n    31894299\n    31275672\n    29441440\n    29440617\n    28577961\n    28372002\n    28371887\n    28181385\n    28115930\n    27578892\n    27427757\n    26885688\n    26862862\n    26407311))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"AUGMENTS\"\n   \"aapp\"\n   \"neop\"\n   (48230271))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"AUGMENTS\"\n   \"gngm\"\n   \"neop\"\n   (50049662))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (59625558 59480455 43196727 40249098))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (87384637\n    85323758\n    85323753\n    83221026\n    61335391\n    58431044\n    57775929\n    55436679\n    54253302\n    53789085\n    53789078\n    52927884\n    50274407\n    50049773\n    49635451\n    46841526\n    46757085\n    46299485\n    44187839\n    42671642\n    41287669\n    37195338\n    34247527\n    33819150\n    33819075\n    33114772\n    32425400\n    31543639\n    31187106\n    27728484\n    27728480))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"DISRUPTS\"\n   \"gngm\"\n   \"neop\"\n   (44804518))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"NEG_ASSOCIATED_WITH\"\n   \"gngm\"\n   \"neop\"\n   (58372927 42789720))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"NEG_PART_OF\"\n   \"gngm\"\n   \"neop\"\n   (42672081))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"NEG_TREATS\"\n   \"aapp\"\n   \"neop\"\n   (53583614))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PART_OF\"\n   \"gngm\"\n   \"neop\"\n   (88816701\n    88504351\n    87664119\n    86527022\n    86527021\n    85431031\n    84724497\n    82274147\n    81758346\n    81503677\n    81503592\n    80572441\n    80301506\n    80113871\n    79973963\n    79689424\n    78726567\n    77821336\n    77196050\n    77196050\n    76776826\n    76776713\n    76548783\n    76252420\n    75385720\n    75385282\n    75385190\n    74686997\n    74324816\n    73776735\n    73151923\n    72884934\n    71444438\n    70575975\n    70335620\n    70335615\n    69854253\n    69854002\n    68641343\n    67432607\n    67356874\n    67246601\n    67092734\n    67092730\n    66938421\n    66938290\n    64461732\n    64424903\n    63702674\n    63702626\n    63702530\n    63556857\n    63556721\n    63556717\n    63491002\n    61959886\n    61806767\n    61806198\n    60522410\n    60096404\n    60096404\n    58546477\n    58546256\n    58155422\n    58155406\n    57723933\n    56641477\n    56216003\n    55455524\n    55122648\n    55122468\n    54602884\n    54602791\n    54281565\n    53839416\n    52398498\n    52189617\n    52064489\n    52064364\n    51366471\n    51366401\n    51232846\n    50359952\n    50359900\n    49606405\n    49527188\n    49527185\n    49527095\n    48065218\n    48065150\n    48061838\n    47942137\n    46383271\n    46115797\n    45811639\n    45811639\n    45256545\n    45105920\n    45105498\n    45105492\n    45097136\n    44823923\n    44357089\n    44356901\n    43533383\n    43229922\n    43066454\n    42789714\n    42628108\n    42119394\n    41205270\n    40864010\n    40674289\n    40347845\n    40036044\n    38954984\n    38954930\n    38398428\n    36262989\n    36202499\n    35397427\n    35363368\n    34259788\n    31893874\n    28372275\n    28372177\n    28372114\n    28372013\n    28372007\n    28371822))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PREDISPOSES\"\n   \"aapp\"\n   \"neop\"\n   (83625667 76441483 64529929 28452099))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PREDISPOSES\"\n   \"gngm\"\n   \"neop\"\n   (82889672 76270951 70297541 68769591 67716993 53756432 51412256 27939940))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PREVENTS\"\n   \"aapp\"\n   \"neop\"\n   (54419758))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"TREATS\"\n   \"aapp\"\n   \"neop\"\n   (89381133\n    87264300\n    84046111\n    83347331\n    83212313\n    83212026\n    78726651\n    76441724\n    73846868\n    73616831\n    72119603\n    71290296\n    63973922\n    63557099\n    62693228\n    61564880\n    58650608\n    58510784\n    58431141\n    58431135\n    57460563\n    56215499\n    54580204\n    53770840\n    51513499\n    51414870\n    50287763\n    48710463\n    48636064\n    45867849\n    45629899\n    42593053\n    40213719\n    40162438\n    38953465\n    38953454\n    36434207\n    34247121\n    32462103\n    32462099\n    31121291\n    27939123))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"compared_with\"\n   \"gngm\"\n   \"neop\"\n   (42860729))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"higher_than\"\n   \"gngm\"\n   \"neop\"\n   (42860733)))\n;;\n;; Sometimes we just want to target a specific cui or set of cuis.\n;;\n;; #(1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;; #(238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n;;\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (cuio s 1416655)\n                        (cuio m 238198)\n                        (edgeo e)))))\n|#\n\n\n; (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;\n; directly connected to\n;\n; (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n;\n; results:\n;\n;; predicates between KIT and GIST\n;\n;; AFFECTS\n;; ASSOCIATED_WITH\n;; AUGMENTS\n;; CAUSES\n;; compared_with\n;; DISRUPTS\n;; higher_than\n;; NEG_ASSOCIATED_WITH\n;; NEG_PART_OF\n;; NEG_TREATS\n;; PREDISPOSES\n;; PREVENTS\n;; TREATS\n;\n; also, C-KIT and KIT seem redundanct\n;\n'(((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"AFFECTS\"\n   \"gngm\"\n   \"neop\"\n   (46760540))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"AFFECTS\"\n   \"gngm\"\n   \"neop\"\n   (76251827 71712139 66437646 51229875 45105359 44957091))\n  ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"ASSOCIATED_WITH\"\n   \"aapp\"\n   \"neop\"\n   (49526961))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"ASSOCIATED_WITH\"\n   \"aapp\"\n   \"neop\"\n   (88816704\n    84460940\n    82018014\n    80113913\n    78220375\n    68676785\n    64194050\n    62488657\n    62488417\n    60516197\n    59023488\n    57460066\n    55504934\n    51048056\n    50221433\n    49515351\n    42281387\n    39806474\n    39806458\n    38471241\n    36205524\n    32077844\n    27305882))\n  ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"ASSOCIATED_WITH\"\n   \"gngm\"\n   \"neop\"\n   (85460993\n    84198758\n    83346329\n    82814810\n    82814708\n    76419851\n    76368784\n    75672079\n    74687151\n    74617283\n    74510694\n    74420763\n    73304122\n    70922298\n    70922287\n    70480510\n    70480448\n    68259646\n    63841800\n    63557002\n    63556951\n    62624485\n    62378661\n    60839259\n    60370637\n    59983733\n    59092805\n    59092335\n    58702780\n    58430466\n    57840570\n    56779149\n    56778962\n    56627960\n    56175619\n    56140915\n    55608208\n    54980002\n    54971952\n    53617803\n    53603127\n    53595646\n    53496246\n    53496201\n    53155629\n    51764519\n    51764101\n    51764046\n    51690076\n    50869476\n    50427094\n    50128173\n    50128133\n    49526823\n    49471986\n    49416815\n    49388946\n    48018585\n    46774667\n    46760302\n    46645481\n    46459742\n    46318460\n    46188441\n    46188438\n    46036844\n    45813589\n    45811969\n    45408733\n    43977736\n    43762035\n    43384567\n    43257978\n    43257961\n    42977994\n    42235291\n    42190272\n    42190171\n    41774698\n    41435074\n    41345067\n    41204705\n    40493615\n    40429006\n    40428933\n    39750509\n    39580372\n    38960183\n    38011762\n    38011758\n    37544890\n    37544516\n    37195326\n    37195320\n    37116085\n    36434304\n    35667587\n    35247619\n    34156014\n    33679770\n    32970840\n    32815393\n    32656219\n    31172044\n    30747520\n    30062221\n    29441443\n    29440617\n    28877968\n    28877765\n    28877668\n    28455552\n    27839749\n    27720966\n    27427757\n    26918073\n    26738840))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"ASSOCIATED_WITH\"\n   \"gngm\"\n   \"neop\"\n   (88816957\n    88816951\n    88816950\n    88786674\n    88707141\n    87354026\n    87354024\n    86927567\n    85526693\n    85323889\n    85258402\n    85131831\n    84724778\n    84460748\n    84460694\n    84031830\n    84026339\n    83653907\n    83346329\n    83173556\n    83173380\n    82814810\n    82814708\n    82174828\n    80961594\n    80611295\n    78681164\n    77814508\n    77327848\n    76776638\n    76419851\n    76251730\n    75963048\n    75962942\n    75527334\n    75208407\n    74994400\n    74617283\n    74420763\n    74324760\n    73846506\n    73776862\n    73338226\n    73151949\n    72728471\n    72728225\n    71621316\n    71588638\n    71193030\n    71047813\n    70628389\n    70628117\n    70576282\n    70576118\n    70575948\n    69690124\n    69539621\n    69450585\n    69450375\n    69393867\n    69063607\n    68636078\n    68635898\n    67326540\n    66443153\n    66443088\n    66245060\n    66000227\n    65490262\n    65393355\n    65260310\n    64512628\n    64194332\n    64038744\n    63974605\n    63909178\n    63900746\n    63874949\n    63557002\n    63556951\n    63247245\n    63247245\n    62577550\n    62470425\n    62318601\n    62318554\n    62076711\n    62065944\n    61963535\n    61807548\n    61800883\n    61785532\n    61273686\n    61273686\n    60839259\n    60522504\n    60449191\n    59983733\n    59983622\n    59867401\n    59853109\n    59625513\n    59092968\n    59092805\n    59092335\n    59023393\n    58702914\n    58430466\n    58195432\n    58194874\n    58155550\n    58155464\n    58155283\n    58155041\n    58038459\n    56779325\n    56779149\n    56778962\n    56736280\n    56175619\n    55308106\n    55122597\n    54971952\n    54602893\n    54602798\n    54602493\n    54348559\n    54348197\n    54348120\n    54086008\n    54019767\n    53993460\n    53993388\n    53838851\n    53617803\n    53455495\n    53161441\n    53155629\n    53124815\n    52370481\n    52188869\n    51979898\n    51938438\n    51764519\n    51764101\n    51764046\n    51650446\n    51650436\n    50862437\n    50658113\n    50427094\n    50221579\n    50122432\n    49416815\n    49178731\n    49156492\n    48740872\n    48230769\n    48230016\n    48229895\n    48229849\n    48061753\n    47300231\n    47273474\n    47179155\n    47085455\n    46756696\n    46673762\n    46054806\n    45858226\n    45698328\n    45698328\n    45431595\n    45253719\n    45216614\n    45106015\n    45105926\n    45105310\n    44823438\n    44574166\n    44574034\n    44464738\n    44395150\n    44383506\n    44382955\n    44382901\n    44153320\n    43711388\n    43604490\n    43229970\n    42932350\n    42860155\n    42860155\n    42224429\n    42190272\n    42190171\n    41720202\n    41253388\n    41053204\n    41016754\n    41016696\n    40493615\n    40429006\n    40428933\n    40249147\n    40248995\n    40247013\n    39580372\n    39482360\n    39185794\n    37687613\n    37195326\n    37195320\n    36962598\n    36788987\n    36751918\n    36434304\n    36204927\n    35865596\n    35667659\n    35667587\n    35363207\n    35363207\n    34290017\n    34246396\n    34246279\n    33114693\n    33114682\n    32970840\n    32815113\n    32656219\n    32655995\n    32424902\n    31894299\n    31275672\n    29441440\n    29440617\n    28577961\n    28372002\n    28371887\n    28181385\n    28115930\n    27578892\n    27427757\n    26885688\n    26862862\n    26407311))\n  ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (87384637 51889889 37195338 33819150 33819075))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"AUGMENTS\"\n   \"aapp\"\n   \"neop\"\n   (48230271))\n  ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"NEG_ASSOCIATED_WITH\"\n   \"gngm\"\n   \"neop\"\n   (39466339))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"AUGMENTS\"\n   \"gngm\"\n   \"neop\"\n   (50049662))\n  ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PART_OF\"\n   \"gngm\"\n   \"neop\"\n   (83399926\n    77057096\n    76771910\n    76770354\n    76769868\n    68641343\n    60522410\n    56141218\n    54281565\n    49025814\n    47942137\n    45811599\n    45436399\n    45097136\n    44567254\n    42421331\n    41205270\n    40425019\n    40347845\n    36202499\n    31410208))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"aapp\"\n   \"neop\"\n   (59625558 59480455 43196727 40249098))\n  ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PREDISPOSES\"\n   \"gngm\"\n   \"neop\"\n   (76270951 70297541 51412256 27939940))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"CAUSES\"\n   \"gngm\"\n   \"neop\"\n   (87384637\n    85323758\n    85323753\n    83221026\n    61335391\n    58431044\n    57775929\n    55436679\n    54253302\n    53789085\n    53789078\n    52927884\n    50274407\n    50049773\n    49635451\n    46841526\n    46757085\n    46299485\n    44187839\n    42671642\n    41287669\n    37195338\n    34247527\n    33819150\n    33819075\n    33114772\n    32425400\n    31543639\n    31187106\n    27728484\n    27728480))\n  ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"TREATS\"\n   \"aapp\"\n   \"neop\"\n   (88061705\n    85835773\n    85241243\n    81607888\n    61093492\n    60354773\n    58510784\n    58431141\n    48276039\n    45629899\n    42053369\n    41029401\n    40351927))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"DISRUPTS\"\n   \"gngm\"\n   \"neop\"\n   (44804518))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"NEG_ASSOCIATED_WITH\"\n   \"gngm\"\n   \"neop\"\n   (58372927 42789720))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"NEG_PART_OF\"\n   \"gngm\"\n   \"neop\"\n   (42672081))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"NEG_TREATS\"\n   \"aapp\"\n   \"neop\"\n   (53583614))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PART_OF\"\n   \"gngm\"\n   \"neop\"\n   (88816701\n    88504351\n    87664119\n    86527022\n    86527021\n    85431031\n    84724497\n    82274147\n    81758346\n    81503677\n    81503592\n    80572441\n    80301506\n    80113871\n    79973963\n    79689424\n    78726567\n    77821336\n    77196050\n    77196050\n    76776826\n    76776713\n    76548783\n    76252420\n    75385720\n    75385282\n    75385190\n    74686997\n    74324816\n    73776735\n    73151923\n    72884934\n    71444438\n    70575975\n    70335620\n    70335615\n    69854253\n    69854002\n    68641343\n    67432607\n    67356874\n    67246601\n    67092734\n    67092730\n    66938421\n    66938290\n    64461732\n    64424903\n    63702674\n    63702626\n    63702530\n    63556857\n    63556721\n    63556717\n    63491002\n    61959886\n    61806767\n    61806198\n    60522410\n    60096404\n    60096404\n    58546477\n    58546256\n    58155422\n    58155406\n    57723933\n    56641477\n    56216003\n    55455524\n    55122648\n    55122468\n    54602884\n    54602791\n    54281565\n    53839416\n    52398498\n    52189617\n    52064489\n    52064364\n    51366471\n    51366401\n    51232846\n    50359952\n    50359900\n    49606405\n    49527188\n    49527185\n    49527095\n    48065218\n    48065150\n    48061838\n    47942137\n    46383271\n    46115797\n    45811639\n    45811639\n    45256545\n    45105920\n    45105498\n    45105492\n    45097136\n    44823923\n    44357089\n    44356901\n    43533383\n    43229922\n    43066454\n    42789714\n    42628108\n    42119394\n    41205270\n    40864010\n    40674289\n    40347845\n    40036044\n    38954984\n    38954930\n    38398428\n    36262989\n    36202499\n    35397427\n    35363368\n    34259788\n    31893874\n    28372275\n    28372177\n    28372114\n    28372013\n    28372007\n    28371822))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PREDISPOSES\"\n   \"aapp\"\n   \"neop\"\n   (83625667 76441483 64529929 28452099))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PREDISPOSES\"\n   \"gngm\"\n   \"neop\"\n   (82889672 76270951 70297541 68769591 67716993 53756432 51412256 27939940))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"PREVENTS\"\n   \"aapp\"\n   \"neop\"\n   (54419758))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"TREATS\"\n   \"aapp\"\n   \"neop\"\n   (89381133\n    87264300\n    84046111\n    83347331\n    83212313\n    83212026\n    78726651\n    76441724\n    73846868\n    73616831\n    72119603\n    71290296\n    63973922\n    63557099\n    62693228\n    61564880\n    58650608\n    58510784\n    58431141\n    58431135\n    57460563\n    56215499\n    54580204\n    53770840\n    51513499\n    51414870\n    50287763\n    48710463\n    48636064\n    45867849\n    45629899\n    42593053\n    40213719\n    40162438\n    38953465\n    38953454\n    36434207\n    34247121\n    32462103\n    32462099\n    31121291\n    27939123))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"compared_with\"\n   \"gngm\"\n   \"neop\"\n   (42860729))\n  ((1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n   (238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n   \"higher_than\"\n   \"gngm\"\n   \"neop\"\n   (42860733)))\n;;\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (fuzzy-concepto \"KIT gene\" s)\n                        (fuzzy-concepto \"Gastoirntestinal Stromal Tumors\" m)\n                        (edgeo e)))))\n|#\n\n\n\n\n\n;; A zillion answers, many with a staggering number of pubmed entries\n;;\n;; ((4096 \"Asthma\" (\"dsyn\"))\n;;  (11616 \"Contact Dermatitis\" (\"dsyn\"))\n;;  \"COEXISTS_WITH\"\n;;  \"dsyn\"\n;;  \"dsyn\"\n;;  (41036104 35093327))\n;;\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"asthma\" s)]\n                          [(fuzzy-concepto \"asthma\" m)])\n                        (edgeo e)))))\n|#\n\n;; A zillion answers!\n;;\n;; ((3147201 \"ERVK-2 gene\" (\"gngm\" \"aapp\"))\n;;  (1155074 \"mast cell activation\" (\"celf\"))\n;;  \"AUGMENTS\"\n;;  \"gngm\"\n;;  \"celf\"\n;;  (20160432))\n;;\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"mast cell activation\" s)]\n                          [(fuzzy-concepto \"mast cell activation\" m)])\n                        (edgeo e)))))\n|#\n\n;; A zillion answers!\n;;\n;; ((238198 \"Gastrointestinal Stromal Tumors\" (\"neop\"))\n;;  (596290 \"Cell Proliferation\" (\"celf\"))\n;;  \"AFFECTS\"\n;;  \"neop\"\n;;  \"celf\"\n;;  (76749721 53497234 41583304))\n;;\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"Gastrointestinal Stromal Tumor\" s)]\n                          [(fuzzy-concepto \"Gastrointestinal Stromal Tumor\" m)])\n                        (edgeo e)))))\n|#\n\n;; A zillion results!  But none of them are relevant, I think.  Wrong name!\n;; Instead, try 'Gastrointestinal Stromal Tumor'\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"GIST\" s)]\n                          [(fuzzy-concepto \"GIST\" m)])\n                        (edgeo e)))))\n|#\n\n\n;; 'overactivation' doesn't seem to be a thing in SemMedDB.\n;; I'm just going to look for any connections between the KIT gene and Gastrointestinal Stromal Tumors;\n;; ((17255 \"Gene Activation\" (\"genf\"))\n;;  (3242 \"Antibodies, Anti-Idiotypic\" (\"aapp\" \"imft\" \"gngm\"))\n;;  \"AFFECTS\"\n;;  \"genf\"\n;;  \"aapp\"\n;;  (27977575))\n\n;; ((14429 \"Enzyme Activation\" (\"moft\"))\n;;  (1150005 \"epoxide hydrolase activity\" (\"moft\"))\n;;  \"NEG_CAUSES\"\n;;  \"moft\"\n;;  \"moft\"\n;;  (10230110))\n\n;; ((9528 \"Complement Activation\" (\"moft\"))\n;;  (1516369 \"Cellular Infiltration\" (\"celf\"))\n;;  \"CAUSES\"\n;;  \"moft\"\n;;  \"celf\"\n;;  (38511543))\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"overactivation\" s)]\n                          [(fuzzy-concepto \"overactivation\" m)])\n                        (edgeo e)))))\n|#\n\n;; A zillion results.  'KIT gene' and 'C-KIT Gene' show up a ton.  For example:\n;;\n;; ((1323046 \"Detection Kits\" (\"medd\"))\n;;  (1416655 \"KIT gene\" (\"bacs\" \"imft\" \"gngm\" \"aapp\"))\n;;  \"COEXISTS_WITH\"\n;;  \"medd\"\n;;  \"gngm\"\n;;  (55842475))\n;; ((920288 \"C-KIT Gene\" (\"gngm\" \"aapp\"))\n;;  (1335214 \"PIK3CG gene\" (\"gngm\" \"aapp\" \"enzy\"))\n;;  \"STIMULATES\"\n;;  \"gngm\"\n;;  \"gngm\"\n;;  (85338529))\n;;\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"Kit\" s)]\n                          [(fuzzy-concepto \"Kit\" m)])\n                        (edgeo e)))))\n|#\n\n\n;; a zillion answers!\n;;\n;; (935989 \"imatinib\" (\"phsu\" \"orch\"))\n;;\n;; (939537 \"Imatinib mesylate\" (\"orch\" \"phsu\"))\n#|\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"imatinib\" s)]\n                          [(fuzzy-concepto \"imatinib\" m)])\n                        (edgeo e)))))\n|#\n"
  },
  {
    "path": "attic/code/study-sickle-malaria.rkt",
    "content": "#lang racket\n(require\n  \"mk-db.rkt\"\n  )\n\n(displayln\n  \"Finished loading mk-db.rkt (which probably took longer than the query).\")\n\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (fuzzy-concepto \"sickle\" s)\n                        (fuzzy-concepto \"malaria\" m)\n                        (edgeo e)))))\n\n\n;; Sometimes we just want to target a specific cui or set of cuis.\n;#(37054 \"Sickle Cell Trait\" (#(\"dsyn\" 1)))\n;#(19043 \"Sickle Hemoglobin\" (#(\"bacs\" 1) #(\"gngm\" 1) #(\"aapp\" 1))\n;#(24530 \"Malaria\" (#(\"dsyn\" 1)))\n\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (cui*o s '(37054 19043))\n                        (cuio m 24530)\n                        (edgeo e)))))\n\n\n\n\n;;; Will's explorations...\n\n;; https://malariajournal.biomedcentral.com/articles/10.1186/1475-2875-12-317\n\n;; Nothing here...  HbAS is the technical term for someone who is heterozygous for the sickle cell gene.\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"HbAS\" s)]\n                          [(fuzzy-concepto \"HbAS\" m)])                        \n                        (edgeo e)))))\n\n;; try this variant\n;;\n;; alas, this version picks up 'THBS1 gene'\n;;\n;; is there a way to tighten up the query slightly, or at least post-filter the results?\n;;\n;; answers include things like:\n;;\n;;  ((1415488 \"HBS1L gene\" (1 59))\n;;   (20114 \"Human\" (68 62))\n;;   \"PART_OF\"\n;;   \"gngm\"\n;;   \"humn\"\n;;   (88838886))\n;; \n;; http://www.genecards.org/cgi-bin/carddisp.pl?gene=HBS1L\n;;\n;; GeneCards Summary for HBS1L Gene\n;;\n;; HBS1L (HBS1 Like Translational GTPase) is a Protein Coding gene. Diseases associated with HBS1L include Sickle Cell Disease and Sickle Cell Anemia. Among its related pathways are Deadenylation-dependent mRNA decay and Gene Expression. GO annotations related to this gene include GTP binding and translation elongation factor activity. An important paralog of this gene is GSPT2.\n;;\n;; also see https://www.ncbi.nlm.nih.gov/gene/10767\n;;\n;; This gene encodes a member of the GTP-binding elongation factor family. It is expressed in multiple tissues with the highest expression in heart and skeletal muscle. The intergenic region of this gene and the MYB gene has been identified to be a quantitative trait locus (QTL) controlling fetal hemoglobin level, and this region influnces erythrocyte, platelet, and monocyte counts as well as erythrocyte volume and hemoglobin content. DNA polymorphisms at this region associate with fetal hemoglobin levels and pain crises in sickle cell disease. A single nucleotide polymorphism in exon 1 of this gene is significantly associated with severity in beta-thalassemia/Hemoglobin E. Multiple alternatively spliced transcript variants encoding different protein isoforms have been found for this gene. [provided by RefSeq, May 2009]\n;;\n;; and https://www.omim.org/entry/612450\n;;\n;; and http://www.uniprot.org/uniprot/Q9Y450\n;; \n;; this is the first query I learned something from:  I wouldn't have known to look for HBS1L if I hadn't looked at the results from this query.  That's something, I suppose.\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"HbS\" s)]\n                          [(fuzzy-concepto \"HbS\" m)])                        \n                        (edgeo e)))))\n\n;; same as above\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"HBS1L\" s)]\n                          [(fuzzy-concepto \"HBS1L\" m)])                        \n                        (edgeo e)))))\n\n;; https://malariajournal.biomedcentral.com/articles/10.1186/1475-2875-12-317\n;; \n;; HbAS and protection against malaria\n;;\n;; Despite the obvious deleterious nature of HbSS, it is now widely accepted that the persistence of the sickle mutation in human populations is due to the protection from malaria afforded to heterozygous individuals. Haldane first proposed the concept of a heterozygote advantage against malaria in 1949 [11]. In this seminal paper, Haldane suggested that individuals heterozygous for thalassaemia, another haemoglobinopathy, were protected against malaria.\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"THBS1\" s)]\n                          [(fuzzy-concepto \"THBS1\" m)])\n                        (edgeo e)))))\n\n;; a few entries, such as\n;;\n;;   ((39730 \"Thalassemia\" (41))\n;;   (1328338 \"Haemoglobin E-thalassaemia disease\" (41))\n;;   \"COEXISTS_WITH\"\n;;   \"dsyn\"\n;;   \"dsyn\"\n;;   (87633595))\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"thalassaemia\" s)]\n                          [(fuzzy-concepto \"thalassaemia\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"haemoglobinopathy\" s)]\n                          [(fuzzy-concepto \"haemoglobinopathy\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"Haemoglobin disease\" s)]\n                          [(fuzzy-concepto \"Haemoglobin disease\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"parasitaemia\" s)]\n                          [(fuzzy-concepto \"parasitaemia\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"red blood cell polymorphism\" s)]\n                          [(fuzzy-concepto \"red blood cell polymorphism\" m)])\n                        (edgeo e)))))\n\n\n\n;; From https://malariajournal.biomedcentral.com/articles/10.1186/1475-2875-12-317\n;;\n;; Sickle haemoglobin, sickle cell disease and sickle cell trait\n;;\n;; Sickle haemoglobin (HbS) is a structural variant of normal adult haemoglobin. Adult haemoglobin (HbAA) is made up of two alpha and two beta globin chains. HbS is the result of a single point mutation (Glu → Val) on the sixth codon of the beta globin gene [9]. Homozygotes for haemoglobin S (HbSS) with two affected beta chains develop sickle cell disease, in which polymerized haemoglobin causes red blood cells to sickle and occlude blood vessels. Vaso-occlusion affects many organs and tissues, and results in high morbidity and mortality. Heterozygotes for sickle haemoglobin (HbAS) have sickle cell trait and are generally asymptomatic [10].\n;;\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"HbAS\" s)]\n                          [(fuzzy-concepto \"HbAS\" m)])                        \n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"sickle haemoglobin\" s)]\n                          [(fuzzy-concepto \"sickle haemoglobin\" m)])                        \n                        (edgeo e)))))\n\n\n;; Aliaseses for sickle cell anemia, according to http://www.genecards.org/cgi-bin/carddisp.pl?gene=HBS1L#diseases:\n;;\n;; drepanocytosis\n;; hb sc disease\n;; hb-s/hb-c disease\n;; hb-ss disease without crisis\n;; hemoglobin s disease without crisis\n;; hemoglobin sc disease\n;; sickle-cell/hb-c disease without crisis\n;; hbsc disease\n;; sickle cell - hemoglobin c disease\n;; sickle cell-hemoglobin c disease syndrome\n;; hbs disease\n;; hemoglobin s disease\n;; sickling disorder due to hemoglobin s\n;; hemoglobin sc\n;; sc disease\n;; hemoglobin ss\n;; sickle cell disease\n;; skca\n;; anemia, sickle cell\n;; sickle cell trait\n\n;; 'Antisickling Agents' and 'Sickling test' entries show up, although these don't appear critical for our query.\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"sickling\" s)]\n                          [(fuzzy-concepto \"sickling\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"drepanocytosis\" s)]\n                          [(fuzzy-concepto \"drepanocytosis\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"hemoglobinose S\" s)]\n                          [(fuzzy-concepto \"hemoglobinose S\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"sicklemia\" s)]\n                          [(fuzzy-concepto \"sicklemia\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"hbsc\" s)]\n                          [(fuzzy-concepto \"hbsc\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"skca\" s)]\n                          [(fuzzy-concepto \"skca\" m)])\n                        (edgeo e)))))\n\n;; lots of results!  'Hemoglobin SS disease with crisis'\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"hemoglobin ss\" s)]\n                          [(fuzzy-concepto \"hemoglobin ss\" m)])\n                        (edgeo e)))))\n\n;; nothing\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"hemoglobin s disease\" s)]\n                          [(fuzzy-concepto \"hemoglobin s disease\" m)])\n                        (edgeo e)))))\n\n\n;; Ah!  There are a ton of entries here!\n;;\n;; There are entries under 'falciparum' that we are missing from looking for 'malaria', such as 'Plasmodium falciparum infection'.\n;;\n;; https://en.wikipedia.org/wiki/Plasmodium_falciparum\n;;\n;; Plasmodium falciparum is a unicelluar protozoan parasite of humans, and the deadliest species of Plasmodium that cause malaria in humans.[2] It is transmitted through the bite of a female Anopheles mosquito. It is responsible for roughly 50% of all malaria cases.[3] It causes the disease's most dangerous form called falciparum malaria.[4][5] It is therefore regarded as the deadliest parasite in humans, causing a conservative estimate of one million deaths every year.[6]\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"falciparum\" s)]\n                          [(fuzzy-concepto \"falciparum\" m)])                        \n                        (edgeo e)))))\n\n;; https://malariajournal.biomedcentral.com/articles/10.1186/1475-2875-12-317\n;;\n;; Biochemical and mechanical changes in infected HbAS red blood cells have been shown to alter disease progression. Rosette formation, which is the binding of P. falciparum-infected red blood cells to uninfected red blood cells, is thought to lead to microcirculatory obstruction in cerebral malaria [55, 56, 57, 58, 59]. Rosette formation was found to be impaired in P. falciparum-infected HbAS red blood cells under deoxygenated conditions [57]. Impaired rosette formation with HbAS red blood cells may be due to increased sickling of these cells in deoxygenated conditions [47, 48] or to reduced expression of erythrocyte surface adherence proteins [60]. Decreased rosette formation and the resulting decreased circulatory obstruction might contribute to protection against severe malaria in HbAS individuals.\n;;\n;; 'Rosette formation' entries!\n;;\n;;   ((35863 \"Rosette formation\" (53))\n;;    (24535 \"Malaria, Falciparum\" (41))\n;;    \"COEXISTS_WITH\"\n;;    \"fndg\"\n;;    \"dsyn\"\n;;    (14312565))\n;;\n;;   ((24530 \"Malaria\" (41))\n;;    (35863 \"Rosette formation\" (53))\n;;    \"COEXISTS_WITH\"\n;;    \"dsyn\"\n;;    \"fndg\"\n;;    (33906042 32437650))\n;;\n;; ((24534 \"Malaria, Cerebral\" (41))\n;;    (35863 \"Rosette formation\" (53))\n;;    \"COEXISTS_WITH\"\n;;    \"dsyn\"\n;;    \"fndg\"\n;;    (25261309))\n;;\n;;  ((35863 \"Rosette formation\" (53))\n;;   (858320 \"Plasmodium ovale infection\" (41))\n;;   \"COEXISTS_WITH\"\n;;   \"fndg\"\n;;   \"dsyn\"\n;;   (18527923))\n;;\n;; look at this one\n;;\n;;   ((11501 \"Deoxyglucose\" (25 108))\n;;   (35863 \"Rosette formation\" (53))\n;;   \"INHIBITS\"\n;;   \"phsu\"\n;;   \"fndg\"\n;;   (2653977))\n;;\n;; and\n;;\n;; ((142009 \"erythrocyte receptor\" (116 59 1))\n;;  (35863 \"Rosette formation\" (53))\n;;  \"AFFECTS\"\n;;  \"aapp\"\n;;  \"fndg\"\n;;  (12083367 6642028))\n;;\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"Rosette\" s)]\n                          [(fuzzy-concepto \"Rosette\" m)])\n                        (edgeo e)))))\n\n;; a few answers.  perhaps this one?\n;;\n;; ((35864 \"Immunocytoadherence\" (78))\n;;  (275518 \"Acute infectious disease\" (41))\n;;  \"DIAGNOSES\"\n;;  \"lbpr\"\n;;  \"dsyn\"\n;;  (1752119))\n;;\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"cytoadherence\" s)]\n                          [(fuzzy-concepto \"cytoadherence\" m)])\n                        (edgeo e)))))\n\n;; this is a good one!\n;; full of entries like this:\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (1511 \"Adhesions\" (2 41))\n;;  \"ASSOCIATED_WITH\"\n;;  \"aapp\"\n;;  \"dsyn\"\n;;  (81338955 73350498 42416200 31920224))\n;;\n;; https://malariajournal.biomedcentral.com/articles/10.1186/1475-2875-12-317\n;;\n;; Reduced cytoadherence has also been implicated as a mechanism of protection in HbAS individuals. Infected red blood cells express one of a family of parasite-encoded P. falciparum erythrocyte membrane protein 1 (PfEMP-1) molecules on the erythrocyte surface, and via this protein adhere to endothelial cells in the microvasculature [61, 62, 63, 64] .This process, termed cytoadherence, enables parasites to sequester in the vasculature and avoid clearance by the spleen [64].\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (1511 \"Adhesions\" (2 41))\n;;  \"AUGMENTS\"\n;;  \"aapp\"\n;;  \"acab\"\n;;  (75786625))\n;;\n;; ((14792 \"Erythrocytes\" (28))\n;;  (1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  \"LOCATION_OF\"\n;;  \"cell\"\n;;  \"aapp\"\n;;  (45103237 45103232))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (6904 \"Capillary Endothelium\" (128))\n;;  \"PART_OF\"\n;;  \"aapp\"\n;;  \"tisu\"\n;;  (27874897))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (14257 \"Endothelium\" (128))\n;;  \"PART_OF\"\n;;  \"aapp\"\n;;  \"tisu\"\n;;  (81466965 59207003))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (20964 \"Immunity\" (107))\n;;  \"AFFECTS\"\n;;  \"aapp\"\n;;  \"phsf\"\n;;  (42255905))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (21311 \"Infection\" (41))\n;;  \"CAUSES\"\n;;  \"aapp\"\n;;  \"dsyn\"\n;;  (67457041))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (24530 \"Malaria\" (41))\n;;  \"AFFECTS\"\n;;  \"aapp\"\n;;  \"dsyn\"\n;;  (36678097))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (24530 \"Malaria\" (41))\n;;  \"ASSOCIATED_WITH\"\n;;  \"aapp\"\n;;  \"dsyn\"\n;;  (89492035 87380723 87061566 78738418 74230694 54367939))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (24530 \"Malaria\" (41))\n;;  \"PREVENTS\"\n;;  \"imft\"\n;;  \"dsyn\"\n;;  (81990442))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (24534 \"Malaria, Cerebral\" (41))\n;;  \"ASSOCIATED_WITH\"\n;;  \"aapp\"\n;;  \"dsyn\"\n;;  (82747148))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (24535 \"Malaria, Falciparum\" (41))\n;;  \"CAUSES\"\n;;  \"aapp\"\n;;  \"dsyn\"\n;;  (74670901 67457034))\n;;\n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (24535 \"Malaria, Falciparum\" (41))\n;;  \"PREVENTS\"\n;;  \"imft\"\n;;  \"dsyn\"\n;;  (48365380 36796545))\n;;\n;; and look at this one!\n;; \n;; ((1429928 \"erythrocyte membrane protein 1, Plasmodium falciparum\" (59 1 70))\n;;  (1368474 \"rosetting\" (27))\n;;  \"AFFECTS\"\n;;  \"aapp\"\n;;  \"celf\"\n;;  (75067858 58808770 37978092))\n;;\n(time (pretty-print (run* (e)\n                      (fresh (s m e-rest)\n                        (== `(,s ,m . ,e-rest) e)\n                        (conde\n                          [(fuzzy-concepto \"erythrocyte membrane protein\" s)]\n                          [(fuzzy-concepto \"erythrocyte membrane protein\" m)])\n                        (edgeo e)))))\n\n\n\n\n\n;; https://malariajournal.biomedcentral.com/articles/10.1186/1475-2875-12-317\n;;\n;; These discrepancies suggest that the mechanism of protection afforded by HbAS is complex, with impacts on both the development of parasitaemia and the control of parasitaemia once it is established.\n\n\n;; https://malariajournal.biomedcentral.com/articles/10.1186/1475-2875-12-317\n;;\n;; Other related diseases to explore:\n;;\n;; These data provide comprehensive evidence for a global geographical association between malaria burden and HbS allele frequency, particularly in sub-Saharan Africa. Furthermore, evidence for the protective effects of other red blood cell polymorphisms against malaria, including haemoglobin C, haemoglobin E, thalassaemias, and ovalocytosis have also been described [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28].\n"
  },
  {
    "path": "attic/code/tacrine.rkt",
    "content": "#lang racket\n;; We are using Racket as our base language.\n\n;; Load the mediKanren logic engine, and the Racket-formatted version\n;; of a lightly curated and lightly normalized version of the SemMedDB\n;; knowledge base.\n(require\n  \"db.rkt\"\n  \"mk-db.rkt\"\n  \"concept.rkt\"\n  \"edge.rkt\"\n;;  \"helpers.rkt\"\n  )\n\n(displayln\n  \"Finished loading mk-db.rkt.\")\n\n;; find connections between tacrine and alzheimer's disease\n\n;; What concepts related to tacrine and alzheimer's disease does\n;; SemMedDB know about?\n\n;; tacrine\n;;\n;; (39245 \"Tacrine\" (\"orch\" \"phsu\"))\n;; seems like the winner\n(run* (q) (fuzzy-concepto \"tacrine\" q))\n;; =>\n'((39245 \"Tacrine\" (\"orch\" \"phsu\"))\n  (99894 \"7-methoxytacrine\" (\"orch\" \"phsu\"))\n  (295379 \"4-hydroxytacrine\" (\"orch\" \"phsu\"))\n  (295380 \"2-hydroxytacrine\" (\"phsu\" \"orch\"))\n  (386973 \"6-chlorotacrine\" (\"orch\"))\n  (659809 \"N-methyltacrine\" (\"orch\"))\n  (771182 \"Tacrine Hydrochloride\" (\"phsu\" \"orch\"))\n  (1435294 \"N-butyramide-tacrine\" (\"orch\")))\n\n;; Same query as above, but restrict to pharmacologic substances\n;; (\"phsu\").\n(run* (q)\n  (fuzzy-concepto \"tacrine\" q)\n  (fresh (cui name concept-type*)\n    (== `(,cui ,name ,concept-type*) q)\n    (membero \"phsu\" concept-type*)))\n;; =>\n'((39245 \"Tacrine\" (\"orch\" \"phsu\"))\n  (99894 \"7-methoxytacrine\" (\"orch\" \"phsu\"))\n  (295379 \"4-hydroxytacrine\" (\"orch\" \"phsu\"))\n  (295380 \"2-hydroxytacrine\" (\"phsu\" \"orch\"))\n  (771182 \"Tacrine Hydrochloride\" (\"phsu\" \"orch\")))\n\n\n;; alzheimer\n;;\n;; (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n;; seems like the winner\n(run* (q) (fuzzy-concepto \"alzheimer\" q))\n;; =>\n'((2395 \"Alzheimer's Disease\" (\"dsyn\"))\n  (51532 \"Alzheimer's disease antigen\" (\"aapp\"))\n  (276496 \"Familial Alzheimer's disease\" (\"dsyn\"))\n  (333736 \"Alzheimer type II glial cell\" (\"cell\"))\n  (338450 \"Focal Alzheimer's disease\" (\"dsyn\"))\n  (494463 \"Alzheimer Disease, Late Onset\" (\"mobd\"))\n  (528480 \"PS2 protein (alzheimer-associated)\" (\"aapp\" \"gngm\" \"bacs\"))\n  (750901 \"Alzheimer Disease, Early Onset\" (\"dsyn\"))\n  (949574 \"Alzheimer Vaccines\" (\"phsu\" \"imft\"))\n  (1456623 \"Alzheimer's Caregivers\" (\"humn\" \"popg\")))\n\n\n;; What are the direct connections between Tacrine (a Pharmacologic Substance, or \"phsu\")\n;; and Alzheimer's Disease (a Disease or Syndrome, or \"dsyn\")?\n;;\n;; We are using the semantic types for the edges to improve\n;; performance, and the CUI's from the \"Tacrine\" and \"Alzheimer's\n;; Disease\" concepts we discovered above.\n;;\n;; There are two results, both with TREATS amnd NEG_TREATES predicates.\n;; There are many more PubMed entries for TREATS (278) than for NEG_TREATS (2).\n(run* (e)\n  (fresh (s o predicate pubref)\n    (== e `(,s ,o ,predicate \"phsu\" \"dsyn\" ,pubref))\n    (cuio s 39245) (cuio o 2395) (edgeo e)))\n;;\n;; which is equivalent to the slightly more verbose\n;;\n(run* (e)\n  (fresh (s o predicate pubref)\n    (== e `(,s ,o ,predicate \"phsu\" \"dsyn\" ,pubref))\n    (== '(39245 \"Tacrine\" (\"orch\" \"phsu\")) s)\n    (== '(2395 \"Alzheimer's Disease\" (\"dsyn\")) o)\n    (edgeo e)))\n;; =>\n'(((39245 \"Tacrine\" (\"orch\" \"phsu\"))\n   (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   \"NEG_TREATS\"\n   \"phsu\"\n   \"dsyn\"\n   (20371996 1984813))\n  ;;\n  ((39245 \"Tacrine\" (\"orch\" \"phsu\"))\n   (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   \"TREATS\"\n   \"phsu\"\n   \"dsyn\"\n   (27694908\n    27128182\n    27128182\n    27100474\n    27055393\n    26985691\n    26797191\n    26760993\n    26043757\n    25747977\n    25694076\n    24706520\n    24560791\n    24343873\n    24283645\n    24283645\n    24283645\n    23931443\n    23523257\n    23481643\n    23256654\n    23256654\n    23176115\n    22302942\n    22216416\n    22032870\n    22000936\n    21728972\n    21699076\n    21472092\n    21199749\n    21148081\n    21143111\n    20925094\n    20650219\n    19714494\n    19595868\n    19393253\n    19041670\n    18004213\n    17883890\n    17636619\n    16914883\n    16914883\n    16880719\n    16762377\n    16296676\n    16296676\n    15969312\n    15767760\n    15203897\n    15071608\n    15009666\n    14519085\n    14513664\n    12939598\n    12860473\n    12725862\n    12605726\n    12568834\n    12070846\n    11924005\n    11924005\n    11914957\n    11819153\n    11819153\n    11475012\n    11400868\n    11125238\n    11044776\n    11022244\n    10956426\n    10908463\n    10886308\n    10886308\n    10886308\n    10871308\n    10840182\n    10801254\n    10796507\n    10755847\n    10733605\n    10613616\n    10559571\n    10559571\n    10559571\n    10557569\n    10386551\n    10364647\n    10364647\n    10332935\n    10325444\n    10325444\n    10232064\n    10210906\n    10172459\n    10172130\n    10088136\n    9923574\n    9923574\n    9923574\n    9923574\n    9880090\n    9850772\n    9824956\n    9813462\n    9813462\n    9813462\n    9813282\n    9808364\n    9803773\n    9789247\n    9772028\n    9771828\n    9764962\n    9764962\n    9764962\n    9676739\n    9652334\n    9579280\n    9579280\n    9547467\n    9521254\n    9521254\n    9472847\n    9472847\n    9472847\n    9460755\n    9438743\n    9437436\n    9344406\n    9344406\n    9342788\n    9329726\n    9329702\n    9329702\n    9329702\n    9280671\n    9236571\n    9223063\n    9170813\n    9152571\n    9152571\n    9125881\n    9072868\n    9065747\n    9062655\n    9010644\n    9010644\n    9010644\n    8993489\n    8993489\n    8973053\n    8973053\n    8969979\n    8962456\n    8928167\n    8923803\n    8909368\n    8899701\n    8849507\n    8845704\n    8845704\n    8845704\n    8838779\n    8838779\n    8835781\n    8804554\n    8804553\n    8649552\n    8649552\n    8649552\n    8600428\n    8548601\n    8534422\n    8497088\n    8437606\n    8437605\n    8437604\n    8437603\n    8404544\n    8361451\n    8358504\n    8341950\n    8341950\n    8341134\n    8319751\n    8312036\n    8139083\n    8139061\n    8137602\n    8128836\n    8128835\n    8128835\n    8128831\n    8084981\n    8046778\n    8046778\n    7990234\n    7990233\n    7990232\n    7919566\n    7914636\n    7907454\n    7904023\n    7893376\n    7893376\n    7870908\n    7870908\n    7868848\n    7848488\n    7825478\n    7727536\n    7727536\n    7690228\n    7690228\n    7669991\n    7664190\n    7653420\n    7640148\n    7550603\n    7517383\n    7225483\n    3587295\n    3185960\n    2893967\n    2779475\n    2754707\n    2721578\n    2693104\n    2693104\n    2693104\n    2684292\n    2594683\n    2569126\n    2567933\n    2557101\n    2503129\n    2502236\n    2497817\n    2444444\n    2395447\n    2348794\n    2236461\n    2078308\n    2053502\n    2030370\n    1986300\n    1984813\n    1984813\n    1967197\n    1953964\n    1893185\n    1881606\n    1818685\n    1813659\n    1781972\n    1763782\n    1684233\n    1676097\n    1675337\n    1673209\n    1611059\n    1572123\n    1544011\n    1491741\n    1491741\n    1454836\n    1454836\n    1454835\n    1448787\n    1414271\n    1406817\n    1406817\n    1404825\n    1404819\n    1404819\n    1384265)))\n\n\n;; This variant of the query, using \"orch\" instead of \"phsu\" as the\n;; semantic type, has AFFECTS and TREATS as predicates on direct\n;; edges.\n(run* (e)\n  (fresh (s o predicate pubref)\n    (== e `(,s ,o ,predicate \"orch\" \"dsyn\" ,pubref))\n    (cuio s 39245) (cuio o 2395) (edgeo e)))\n;; =>\n'(((39245 \"Tacrine\" (\"orch\" \"phsu\"))\n   (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   \"AFFECTS\"\n   \"orch\"\n   \"dsyn\"\n   (20533758\n    17908041\n    17908041\n    11900820\n    9733331\n    8090107\n    7888087\n    7884402\n    7710524\n    1544011))\n  ;;\n  ((39245 \"Tacrine\" (\"orch\" \"phsu\"))\n   (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   \"TREATS\"\n   \"orch\"\n   \"dsyn\"\n   (24515838\n    22750583\n    22192081\n    19374459\n    17636619\n    16544849\n    15258105\n    11400868\n    10886308\n    10796507\n    9813462\n    9305568\n    9249126\n    8989658\n    8496822\n    8128831\n    7656503\n    2789791\n    1981736\n    1438050)))\n\n;; Indirect connections between Tacrine and Alzheimer's, of the form\n;;\n;; Tacrine -> INHIBITS -> X -> CAUSES -> Alzheimer's\n;;\n(run* (e1 e2)\n  (fresh (s\n          m ;; unknown gene or other entity being inhibited\n          o p1 p2 ts t1 t2 r1 r2)\n    (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n    (== e2 `(,m ,o \"CAUSES\" ,t2 \"dsyn\" ,r2))\n    (cuio s 39245) ;; Tacrine\n    (cuio o 2395)  ;; Alzheimer's\n    (edgeo e1)\n    (edgeo e2)\n    ))\n;; => 47 answers, 215 ms\n;;\n;; Not all of these answers involve inhibiting genes.\n;; For example, Acetylcholine (a neurotransmitter) is inhibited by\n;; Tacrine, and causes Alzheimer's (according to SemMedDB)\n;;\n;; We have duplicate answers, in that we have multiple answers for the same X for which\n;;\n;; Tacrine -> INHIBITS -> X -> CAUSES -> Alzheimer's\n;;\n;; This is because the INHIBITS edge Tacrine -> INHIBITS -> X can have multiple\n;; semantic types for the same X, provided X is associated with more than one semantic\n;; type.  Similarly for the X -> CAUSES -> Alzheimer's edge.\n;;\n;; For example, consider these two answers:\n;;\n'(((39245 \"Tacrine\" (\"orch\" \"phsu\"))\n   (1041 \"Acetylcholine\" (\"phsu\" \"nsba\" \"orch\"))\n   \"INHIBITS\"\n   \"orch\"\n   \"nsba\"\n   (27876467 9881590 9374189 8842691 8336816))\n  ((1041 \"Acetylcholine\" (\"phsu\" \"nsba\" \"orch\"))\n   (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   \"CAUSES\"\n   \"nsba\"\n   \"dsyn\"\n   (12770689)))\n;;\n;; and\n;;\n'(((39245 \"Tacrine\" (\"orch\" \"phsu\"))\n   (1041 \"Acetylcholine\" (\"phsu\" \"nsba\" \"orch\"))\n   \"INHIBITS\"\n   \"orch\"\n   \"nsba\"\n   (27876467 9881590 9374189 8842691 8336816))\n  ((1041 \"Acetylcholine\" (\"phsu\" \"nsba\" \"orch\"))\n   (2395 \"Alzheimer's Disease\" (\"dsyn\"))\n   \"CAUSES\"\n   \"phsu\"\n   \"dsyn\"\n   (16863459)))\n;;\n;; In both cases X is (1041 \"Acetylcholine\" (\"phsu\" \"nsba\" \"orch\")), but\n;; the semantic types for the X -> CAUSES -> Alzheimer's edges differ:\n;;\n;; nsba|T124|Neuroreactive Substance or Biogenic Amine\n;;\n;; vs.\n;;\n;; phsu|T121|Pharmacologic Substance\n\n;; Here is a variant of the query that just returns the entities X\n;; being inhibited in the X -> CAUSES -> Alzheimer's path:\n;;\n(remove-duplicates\n  (run* (m)\n    (fresh (e1 e2\n               s\n               o p1 p2 ts t1 t2 r1 r2)\n      (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n      (== e2 `(,m ,o \"CAUSES\" ,t2 \"dsyn\" ,r2))\n      (cuio s 39245) ;; Tacrine\n      (cuio o 2395)  ;; Alzheimer's\n      (edgeo e1)\n      (edgeo e2)\n      )))\n;; => 30 answers, 205 ms\n'((1041 \"Acetylcholine\" (\"phsu\" \"nsba\" \"orch\"))\n  (1044 \"Acetylcholinesterase\" (\"gngm\" \"enzy\" \"aapp\"))\n  (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n  (6675 \"Calcium\" (\"bacs\" \"elii\"))\n  (6685 \"Calcium Channel\" (\"bacs\" \"gngm\" \"aapp\"))\n  (8377 \"Cholesterol\" (\"strd\" \"bacs\"))\n  (8425 \"Cholinesterase Inhibitors\" (\"phsu\" \"orch\"))\n  (8429 \"Cholinesterases\" (\"enzy\" \"gngm\" \"aapp\"))\n  (17817 \"Glutathione\" (\"bacs\" \"aapp\" \"gngm\"))\n  (21753 \"Interleukin-1 beta\" (\"gngm\" \"imft\" \"aapp\"))\n  (22023 \"Ions\" (\"elii\"))\n  (26455 \"Monoamine Oxidase A\" (\"aapp\" \"gngm\" \"enzy\"))\n  (28040 \"Nicotine\" (\"phsu\" \"hops\" \"orch\"))\n  (33634 \"Protein Kinase C\" (\"aapp\" \"enzy\" \"gngm\"))\n  (34826 \"Muscarinic Acetylcholine Receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n  (34830 \"Nicotinic Receptors\" (\"rcpt\" \"gngm\" \"aapp\"))\n  (36442 \"Scopolamine\" (\"orch\" \"phsu\"))\n  (36751 \"Serotonin\" (\"nsba\" \"orch\"))\n  (72132 \"prolyl oligopeptidase\" (\"enzy\" \"aapp\" \"gngm\"))\n  (79883 \"N-Methylaspartate\" (\"aapp\" \"phsu\" \"gngm\"))\n  (220839 \"Glutamate\" (\"gngm\" \"bacs\" \"aapp\"))\n  (243192 \"agonists\" (\"phsu\"))\n  (728810 \"Butyrylcholinesterase\" (\"enzy\" \"aapp\" \"gngm\"))\n  (812281 \"ROS1 gene\" (\"bacs\" \"aapp\" \"gngm\"))\n  (965087 \"beta-site APP cleaving enzyme 1\" (\"gngm\" \"enzy\" \"aapp\"))\n  (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n  (1412727 \"BACE1 gene\" (\"aapp\" \"gngm\" \"enzy\"))\n  (1412756 \"BCHE gene\" (\"enzy\" \"gngm\" \"aapp\"))\n  (1413043 \"CA2 gene\" (\"gngm\" \"enzy\" \"bacs\" \"aapp\" \"rcpt\" \"phsu\"))\n  (1422569\n   \"SPANXC gene\"\n   (\"gngm\" \"aapp\" \"enzy\" \"imft\" \"phsu\" \"horm\" \"bacs\" \"antb\")))\n\n\n;; Just return the entities X being inhibited in the\n;; Tacrine -> INHIBITS -> X -> CAUSES -> Alzheimer's path,\n;; where X has the concept type \"gngm\" (gngm|T028|Gene or Genome)\n;; \n(remove-duplicates\n  (run* (m)\n    (fresh (e1 e2\n            s\n            o p1 p2 ts t1 t2 r1 r2)\n      (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n      (== e2 `(,m ,o \"CAUSES\" ,t2 \"dsyn\" ,r2))\n      (cuio s 39245)  ;; Tacrine\n      (cuio o 2395)   ;; Alzheimer's\n      (edgeo e1)\n      (edgeo e2)\n      (fresh (cui name concept-type*)\n        (== `(,cui ,name ,concept-type*) m)\n        (membero \"gngm\" concept-type*))\n      )))\n;; => 21 answers, 200 ms\n'((1044 \"Acetylcholinesterase\" (\"gngm\" \"enzy\" \"aapp\"))\n  (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n  (6685 \"Calcium Channel\" (\"bacs\" \"gngm\" \"aapp\"))\n  (8429 \"Cholinesterases\" (\"enzy\" \"gngm\" \"aapp\"))\n  (17817 \"Glutathione\" (\"bacs\" \"aapp\" \"gngm\"))\n  (21753 \"Interleukin-1 beta\" (\"gngm\" \"imft\" \"aapp\"))\n  (26455 \"Monoamine Oxidase A\" (\"aapp\" \"gngm\" \"enzy\"))\n  (33634 \"Protein Kinase C\" (\"aapp\" \"enzy\" \"gngm\"))\n  (34826 \"Muscarinic Acetylcholine Receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n  (34830 \"Nicotinic Receptors\" (\"rcpt\" \"gngm\" \"aapp\"))\n  (72132 \"prolyl oligopeptidase\" (\"enzy\" \"aapp\" \"gngm\"))\n  (79883 \"N-Methylaspartate\" (\"aapp\" \"phsu\" \"gngm\"))\n  (220839 \"Glutamate\" (\"gngm\" \"bacs\" \"aapp\"))\n  (728810 \"Butyrylcholinesterase\" (\"enzy\" \"aapp\" \"gngm\"))\n  (812281 \"ROS1 gene\" (\"bacs\" \"aapp\" \"gngm\"))\n  (965087 \"beta-site APP cleaving enzyme 1\" (\"gngm\" \"enzy\" \"aapp\"))\n  (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n  (1412727 \"BACE1 gene\" (\"aapp\" \"gngm\" \"enzy\"))\n  (1412756 \"BCHE gene\" (\"enzy\" \"gngm\" \"aapp\"))\n  (1413043 \"CA2 gene\" (\"gngm\" \"enzy\" \"bacs\" \"aapp\" \"rcpt\" \"phsu\"))\n  (1422569\n   \"SPANXC gene\"\n   (\"gngm\" \"aapp\" \"enzy\" \"imft\" \"phsu\" \"horm\" \"bacs\" \"antb\")))\n\n;; Just return the entities X being inhibited in the\n;; <fuzzy 'tacrine'> -> INHIBITS -> X -> CAUSES -> <fuzzy 'alzheimer'>\n;; path, where X has the concept type \"gngm\"\n;; (gngm|T028|Gene or Genome)\n;; and where <fuzzy 'tacrine'> concepts must have the \"phsu\" concept type\n;; associated with them,\n;; and where <fuzzy 'alzheimer'> concepts must have the \"dsyn\" concept type\n;; associated with them.\n;;\n;; Interestingly, the same 21 answers are returned as when we use\n;; the specific CUIs\n;;\n;;      (cuio s 39245)  ;; Tacrine\n;;      (cuio o 2395)   ;; Alzheimer's\n;;\n;; Keep in mind that there are only 21 X's, but more than 21 paths from\n;; <fuzzy 'tacrine'> -> INHIBITS -> X -> CAUSES -> <fuzzy 'alzheimer'>\n;; since sometimes there are multiple direct edges between the same concepts,\n;; with different semantic types (and PubMed Ids).\n;;\n;; Note that requiring a concept has a concept type associated with it is *less*\n;; specific than requiring an edge of the path have that type.\n(remove-duplicates\n  (run* (m)\n    (fresh (e1 e2\n            s\n            o p1 p2 ts t1 t2 t3 r1 r2)\n      (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n      (== e2 `(,m ,o \"CAUSES\" ,t2 ,t3 ,r2))\n      (fuzzy-concepto \"tacrine\" s)\n      (fresh (cui name concept-type*)\n        (== `(,cui ,name ,concept-type*) s)\n        (membero \"phsu\" concept-type*))\n      (fuzzy-concepto \"alzheimer\" o)\n      (fresh (cui name concept-type*)\n        (== `(,cui ,name ,concept-type*) o)\n        (membero \"dsyn\" concept-type*))\n      (edgeo e1)\n      (edgeo e2)\n      (fresh (cui name concept-type*)\n        (== `(,cui ,name ,concept-type*) m)\n        (membero \"gngm\" concept-type*))\n      )))\n;; => 21 answers, 935 ms\n'((1044 \"Acetylcholinesterase\" (\"gngm\" \"enzy\" \"aapp\"))\n  (2716 \"Amyloid\" (\"bacs\" \"aapp\" \"gngm\"))\n  (6685 \"Calcium Channel\" (\"bacs\" \"gngm\" \"aapp\"))\n  (8429 \"Cholinesterases\" (\"enzy\" \"gngm\" \"aapp\"))\n  (17817 \"Glutathione\" (\"bacs\" \"aapp\" \"gngm\"))\n  (21753 \"Interleukin-1 beta\" (\"gngm\" \"imft\" \"aapp\"))\n  (26455 \"Monoamine Oxidase A\" (\"aapp\" \"gngm\" \"enzy\"))\n  (33634 \"Protein Kinase C\" (\"aapp\" \"enzy\" \"gngm\"))\n  (34826 \"Muscarinic Acetylcholine Receptor\" (\"aapp\" \"gngm\" \"rcpt\"))\n  (34830 \"Nicotinic Receptors\" (\"rcpt\" \"gngm\" \"aapp\"))\n  (72132 \"prolyl oligopeptidase\" (\"enzy\" \"aapp\" \"gngm\"))\n  (79883 \"N-Methylaspartate\" (\"aapp\" \"phsu\" \"gngm\"))\n  (220839 \"Glutamate\" (\"gngm\" \"bacs\" \"aapp\"))\n  (728810 \"Butyrylcholinesterase\" (\"enzy\" \"aapp\" \"gngm\"))\n  (812281 \"ROS1 gene\" (\"bacs\" \"aapp\" \"gngm\"))\n  (965087 \"beta-site APP cleaving enzyme 1\" (\"gngm\" \"enzy\" \"aapp\"))\n  (1364818 \"APP gene\" (\"enzy\" \"gngm\" \"bacs\" \"aapp\" \"imft\"))\n  (1412727 \"BACE1 gene\" (\"aapp\" \"gngm\" \"enzy\"))\n  (1412756 \"BCHE gene\" (\"enzy\" \"gngm\" \"aapp\"))\n  (1413043 \"CA2 gene\" (\"gngm\" \"enzy\" \"bacs\" \"aapp\" \"rcpt\" \"phsu\"))\n  (1422569\n   \"SPANXC gene\"\n   (\"gngm\" \"aapp\" \"enzy\" \"imft\" \"phsu\" \"horm\" \"bacs\" \"antb\")))\n\n;; \"Canned\" query schema.\n;;\n;; Return the entities X being inhibited in the\n;; <fuzzy-drug-name> -> INHIBITS -> X -> CAUSES -> <fuzzy-disease-name>\n;; path, where X has the concept type \"gngm\"\n;; (gngm|T028|Gene or Genome)\n;; and where <fuzzy-drug-name> concepts must have the \"phsu\" concept type\n;; associated with them,\n;; and where <fuzzy-disease-name> concepts must have the \"dsyn\" concept type\n;; associated with them.\n(define (find-inhibited-genes fuzzy-drug-name fuzzy-disease-name)\n  (remove-duplicates\n   (run* (m)\n     (fresh (e1 e2\n             s\n             o p1 p2 ts t1 t2 t3 r1 r2)\n       (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n       (== e2 `(,m ,o \"CAUSES\" ,t2 ,t3 ,r2))\n       (fuzzy-concepto fuzzy-drug-name s)\n       (fresh (cui name concept-type*)\n         (== `(,cui ,name ,concept-type*) s)\n         (membero \"phsu\" concept-type*))\n       (fuzzy-concepto fuzzy-disease-name o)\n       (fresh (cui name concept-type*)\n         (== `(,cui ,name ,concept-type*) o)\n         (membero \"dsyn\" concept-type*))\n       (edgeo e1)\n       (edgeo e2)\n       (fresh (cui name concept-type*)\n         (== `(,cui ,name ,concept-type*) m)\n         (membero \"gngm\" concept-type*))\n       ))))\n\n(find-inhibited-genes \"tacrine\" \"alzheimer\")\n;; => 21 answers, 900 ms\n\n\n;; variants of the basic query above\n\n\n;; Use full concept entries, rather than CUIs, for Tacrine and Alzheimer's Disease.\n;; This is equivalent to using the CUIs, but is more verbose and easier for humans to read.\n(run* (e1 e2)\n  (fresh (s\n          m ;; unknown gene or other entity being inhibited\n          o p1 p2 ts t1 t2 r1 r2)\n    (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n    (== e2 `(,m ,o \"CAUSES\" ,t2 \"dsyn\" ,r2))\n    (== '(39245 \"Tacrine\" (\"orch\" \"phsu\")) s)\n    (== '(2395 \"Alzheimer's Disease\" (\"dsyn\")) o)\n    (edgeo e1)\n    (edgeo e2)\n    ))\n;; => 47 answers, 215 ms\n\n\n;; Instead of using one specific concept each for tacrine and for\n;; alzheimer's, do fuzzy concept searches.\n;;\n;; This query is a bit sloppy, since we are not removing duplicate\n;; answers, and are also not using concept types to ensure tacrine is\n;; a pharmacologic substance.\n;;\n;; As a result, the query may produce duplicate answers, and answers\n;; in which tacrine is not restricted to pharmacologic substances.\n(run* (e1 e2)\n  (fresh (s\n          m ;; unknown gene or other entity being inhibited\n          o p1 p2 ts t1 t2 r1 r2)\n    (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n    (== e2 `(,m ,o \"CAUSES\" ,t2 \"dsyn\" ,r2))\n    (fuzzy-concepto \"tacrine\" s)\n    (fuzzy-concepto \"alzheimer\" o)\n    (edgeo e1)\n    (edgeo e2)\n    ))\n;; => 57 answers, 2 seconds\n\n\n;; As above, but remove duplicate answers.\n;;\n;; Turns out there aren't duplicates for this query.\n(remove-duplicates\n  (run* (e1 e2)\n    (fresh (s\n            m ;; unknown gene or other entity being inhibited\n            o p1 p2 ts t1 t2 r1 r2)\n      (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n      (== e2 `(,m ,o \"CAUSES\" ,t2 \"dsyn\" ,r2))\n      (fuzzy-concepto \"tacrine\" s)\n      (fuzzy-concepto \"alzheimer\" o)\n      (edgeo e1)\n      (edgeo e2)\n      )))\n;; => 57 answers, 2 seconds\n\n\n;; As above, but remove duplicate answers, and also restrict tacrine\n;; to pharmacologic substances.\n(remove-duplicates\n  (run* (e1 e2)\n    (fresh (s\n            m ;; unknown gene or other entity being inhibited\n            o p1 p2 ts t1 t2 r1 r2)\n      (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n      (== e2 `(,m ,o \"CAUSES\" ,t2 \"dsyn\" ,r2))\n      (fuzzy-concepto \"tacrine\" s)\n      (fresh (cui name concept-type*)\n        (== `(,cui ,name ,concept-type*) s)\n        (membero \"phsu\" concept-type*))\n      (fuzzy-concepto \"alzheimer\" o)      \n      (edgeo e1)\n      (edgeo e2)\n      )))\n;; => 55 answers, 2 seconds\n\n;; Same query as above, but with the fuzzy alzheimer's goal moved last\n;; to improve performance.\n(remove-duplicates\n  (run* (e1 e2)\n    (fresh (s\n            m ;; unknown gene or other entity being inhibited\n            o p1 p2 ts t1 t2 r1 r2)\n      (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n      (== e2 `(,m ,o \"CAUSES\" ,t2 \"dsyn\" ,r2))\n      (fuzzy-concepto \"tacrine\" s)\n      (fresh (cui name concept-type*)\n        (== `(,cui ,name ,concept-type*) s)\n        (membero \"phsu\" concept-type*))      \n      (edgeo e1)      \n      (edgeo e2)\n      (fuzzy-concepto \"alzheimer\" o)\n      )))\n;; => 55 answers, 425 ms\n\n;; Slightly different query: here we allow any fuzzy variant of\n;; alzheimer's that has semantic type \"dsyn\" associated with it (as\n;; opposed to requiring the CAUSES edge have type \"dsyn\").\n(remove-duplicates\n  (run* (e1 e2)\n    (fresh (s\n            m ;; unknown gene or other entity being inhibited\n            o p1 p2 ts t1 t2 t3 r1 r2)\n      (== e1 `(,s ,m \"INHIBITS\" ,ts ,t1 ,r1))\n      (== e2 `(,m ,o \"CAUSES\" ,t2 ,t3 ,r2))\n      (fuzzy-concepto \"tacrine\" s)\n      (fresh (cui name concept-type*)\n        (== `(,cui ,name ,concept-type*) s)\n        (membero \"phsu\" concept-type*))\n      (fuzzy-concepto \"alzheimer\" o)\n      (fresh (cui name concept-type*)\n        (== `(,cui ,name ,concept-type*) o)\n        (membero \"dsyn\" concept-type*))\n      (edgeo e1)\n      (edgeo e2)\n      )))\n;; => 55 answers, 915 ms\n"
  },
  {
    "path": "attic/medikanren/CACNA1A-full.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n\n  membero\n  rem-dups\n  edgeo\n  ~name-concepto\n  DECREASES\n\n  semmed\n  monarch\n  rtx\n  scigraph\n  )\n\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n(displayln \"loading semmed\")\n(define semmed (time (make-db \"data/semmed\")))\n(displayln \"loading monarch-lite\")\n(define monarch (time (make-db \"data/monarch-lite\")))\n(displayln \"loading rtx\")\n(define rtx (time (make-db \"data/rtx\")))\n(displayln \"loading scigraph\")\n(define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; remove duplicates from a list\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ((fresh (ee) (== `(scigraph . ,ee) e) (db:edgeo scigraph ee)))))\n\n(define (~name-concepto n c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed n cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch n cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx n cc)))\n    ((fresh (cc) (== `(scigraph . ,cc) c) (db:~name-concepto scigraph n cc)))))\n\n\n(define (DECREASES pred)\n  (fresh (_)\n    (conde\n      [(== `(,_ . \"treats\") pred)]\n      [(== `(,_ . \"prevents\") pred)]\n      [(== `(,_ . \"negatively_regulates\") pred)])))\n\n(displayln \"preds for X ANY-PRED CACNA1A\")\n(time (rem-dups\n        (run* (q)\n            (fresh (edge eid tacrine-details subject object pred eprops db)\n              (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n              (~name-concepto \"CACNA1A\" `(,db . ,object))            \n              (edgeo `(,db . ,edge))\n              (== pred q)))))\n;; =>\n'((0 . \"interacts_with\")\n  (3 . \"part_of\")\n  (5 . \"negatively_regulates\")\n  (6 . \"coexists_with\")\n  (8 . \"related_to\")\n  (9 . \"affects\")\n  (10 . \"produces\")\n  (13 . \"positively_regulates\")\n  (0 . \"directly_interacts_with\")\n  (6 . \"part_of\")\n  (3 . \"interacts_with\")\n  (3 . \"regulates\")\n  (10 . \"coexists_with\")\n  (16 . \"location_of\")\n  (17 . \"produces\")\n  (18 . \"positively_regulates\")\n  (19 . \"negatively_regulates\"))\n\n\n(displayln \"X ANY-PRED CACNA1A\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name db)\n           (fresh (subject scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (~name-concepto \"CACNA1A\" `(,db . ,object))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo `(,db . ,edge)))))))\n\n(newline)\n(displayln \"X DECREASES CACNA1A:\")\n(time (pretty-print\n        (run* (edge)\n          (fresh (eid tacrine-details subject object pred eprops db)\n            (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n            (~name-concepto \"CACNA1A\" `(,db . ,object))\n            (DECREASES pred)\n            (edgeo `(,db . ,edge))))))\n"
  },
  {
    "path": "attic/medikanren/DNM1L-full.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n\n  membero\n  rem-dups\n  edgeo\n  ~name-concepto\n  DECREASES\n\n  semmed\n  monarch\n  rtx\n  ;scigraph\n  )\n\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n(displayln \"loading semmed\")\n(define semmed (time (make-db \"data/semmed\")))\n(displayln \"loading monarch-lite\")\n(define monarch (time (make-db \"data/monarch-lite\")))\n(displayln \"loading rtx\")\n(define rtx (time (make-db \"data/rtx\")))\n;(displayln \"loading scigraph\")\n;(define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; remove duplicates from a list\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ;((fresh (ee) (== `(scigraph . ,ee) e) (db:edgeo scigraph ee)))\n    ))\n\n(define (~name-concepto n c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed n cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch n cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx n cc)))\n    ;((fresh (cc) (== `(scigraph . ,cc) c) (db:~name-concepto scigraph n cc)))\n    ))\n\n\n(define (DECREASES pred)\n  (fresh (_)\n    (conde\n      [(== `(,_ . \"treats\") pred)]\n      [(== `(,_ . \"prevents\") pred)]\n      [(== `(,_ . \"negatively_regulates\") pred)])))\n\n(define (INCREASES pred)\n  (fresh (_)\n    (conde\n      [(== `(,_ . \"produces\") pred)]\n      [(== `(,_ . \"positively_regulates\") pred)])))\n\n\n(rem-dups\n   (run* (q)\n     (fresh (edge eid tacrine-details subject object pred eprops db\n                  scid scui sname sdetails\n                  ocid ocui oname odetails\n                  pred-id pred-name)\n       (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n       (conde\n         [(~name-concepto \"DNM1L\" `(,db . ,object))]\n         [(~name-concepto \"DNM1L\" `(,db . ,subject))])            \n       (edgeo `(,db . ,edge))\n       (== `(,pred-id . ,pred-name) pred)\n       (== `(,scid ,scui ,sname . ,sdetails) subject)\n       (== `(,ocid ,ocui ,oname . ,odetails) object)\n       (== pred-name q))))\n\n(sort\n (rem-dups\n   (run* (q)\n     (fresh (edge eid tacrine-details subject object pred eprops db\n                  scid scui sname sdetails\n                  ocid ocui oname odetails\n                  pred-id pred-name)\n       (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n       (~name-concepto \"DNM1L\" `(,db . ,object))            \n       (edgeo `(,db . ,edge))     \n       (== `(,pred-id . ,pred-name) pred)\n       (== `(,scid ,scui ,sname . ,sdetails) subject)\n       (== `(,ocid ,ocui ,oname . ,odetails) object)\n       (== `(,db ,sname ,pred-name ,oname) q))))\n (lambda (e1 e2)\n   (match `(,e1 ,e2)\n     [`((,db1 ,sname1 ,pred-name1 ,oname1)\n        (,db2 ,sname2 ,pred-name2 ,oname2))\n      (string<? pred-name1 pred-name2)])))\n;; =>\n'((semmed \"Post-Translational Protein Processing\" \"affects\" \"DNM1L wt Allele\")\n  (semmed \"RNA Interference\" \"affects\" \"DNM1L wt Allele\")\n  (semmed \"Signal Transduction Pathways\" \"affects\" \"DNM1L wt Allele\")\n  (semmed \"Transcription, Genetic\" \"affects\" \"DNM1L wt Allele\")\n  (semmed \"Glycolysis\" \"affects\" \"DNM1L wt Allele\")\n  (semmed \"Phosphorylation\" \"affects\" \"DNM1L wt Allele\")\n  (semmed \"Point Mutation\" \"affects\" \"DNM1L wt Allele\")\n  (semmed\n   \"GTP-Binding Protein alpha Subunit, Gq\"\n   \"coexists_with\"\n   \"DNM1L wt Allele\")\n  (semmed \"CDC2 Protein Kinase\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"GNAQ wt Allele\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"AFG3L2 gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"Genes\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"FIS1 gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"E2F5 gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"MFF gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"ANXA6 wt Allele\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"SPG7 gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"MFN1 gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"Genes, cdc\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"PPARGC1A wt Allele\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"OPA1 gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"SAMM50 gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"OPA3 gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"CCNC wt Allele\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"Homologous Gene\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"MFN2 wt Allele\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"Lysergic Acid Diethylamide\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"Methysergide\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"Calcium\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed \"honokiol\" \"coexists_with\" \"DNM1L wt Allele\")\n  (semmed\n   \"2-bromolysergic acid diethylamide\"\n   \"coexists_with\"\n   \"DNM1L wt Allele\")\n  (rtx \"GTP\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"H2O\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"Orthophosphate\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"GDP\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"APEH\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"COPS5\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"CYHR1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"ATIC\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"CDCA5\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"ATP6V1C1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"PROP1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"NUFIP1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"UBE2H\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"MIEF2\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"FZR1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"ARFIP1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"CPNE2\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SSB\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"BCL2L1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"LLGL2\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"JMJD6\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"VIM\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"VPS26A\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"TES\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"HAX1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SAMM50\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SOX2\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SIRT3\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"NTRK1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"MIEF1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"TBC1D15\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"PPIA\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"PSMG3\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"RRM2\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SCG3\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"DUSP23\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"MFF\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"MARCH5\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"PGAM5\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"ESR1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"WDR5\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SCRIB\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SH3GL1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"CDC5L\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"HSPD1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"LRRK2\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"ZBTB24\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"A0A0G2JQ02\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"CA14\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"EGFR\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"FIS1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"PINK1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"TMEM11\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"PEX14\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"DGUOK\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"DNAAF2\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"GSK3B\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"DIABLO\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"MAGEA1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"MAGEA3\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"MUL1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SNW1\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"MAP3K10\" \"directly_interacts_with\" \"DNM1L\")\n  (rtx \"SEC24A\" \"directly_interacts_with\" \"DNM1L\")\n  (semmed \"Cyclin-Dependent Kinase 5\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed\n   \"calmodulin-dependent protein kinase II\"\n   \"interacts_with\"\n   \"DNM1L wt Allele\")\n  (semmed\n   \"mitogen-activated protein kinase p38\"\n   \"interacts_with\"\n   \"DNM1L wt Allele\")\n  (monarch \"MFF\" \"interacts_with\" \"DNM1L\")\n  (semmed\n   \"Cyclic AMP-Dependent Protein Kinases\"\n   \"interacts_with\"\n   \"DNM1L wt Allele\")\n  (semmed \"CDC2 Protein Kinase\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"DGUOK\" \"interacts_with\" \"DNM1L\")\n  (semmed \"Ligase\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"Actins\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"CASP8\" \"interacts_with\" \"DNM1L\")\n  (semmed \"TRANSCRIPTION FACTOR\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"Mitochondrial Proteins\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"DNM1L\" \"interacts_with\" \"DNM1L\")\n  (semmed \"Calmodulin\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"Insulin\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"PINK1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"Specific antibody\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"PKA inhibitor\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"EGFR\" \"interacts_with\" \"DNM1L\")\n  (semmed \"Soluble ErbB-1\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"SOD1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"TGFB1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"SQSTM1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"SOX2\" \"interacts_with\" \"DNM1L\")\n  (semmed \"FUNDC1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"GSKIP gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"CSNK2A1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"PEX11B\" \"interacts_with\" \"DNM1L\")\n  (semmed \"APP gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"MUL1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"PEX14\" \"interacts_with\" \"DNM1L\")\n  (semmed \"GRAP2 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"PARK7 wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"MFN2\" \"interacts_with\" \"DNM1L\")\n  (semmed \"MIEF2 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"FIS1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"HAX1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"EGFR gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"CAMK2G gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"DNAAF2\" \"interacts_with\" \"DNM1L\")\n  (semmed \"POLDIP2 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"NUP62 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"PRKN\" \"interacts_with\" \"DNM1L\")\n  (semmed \"MIEF1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"CA2 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"NTRK1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"MAPK1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"LRRK2\" \"interacts_with\" \"DNM1L\")\n  (semmed \"MAPT gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"APP wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"SNW1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"AIMP2 wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"MAPK14 wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"FIS1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"KHDRBS1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"OPA1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"CHCHD3\" \"interacts_with\" \"DNM1L\")\n  (semmed \"RAB32 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"CAMP gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"GABRR1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"RAD50 wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"PHEX gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"FZR1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"SAMM50 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"AHSA1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"SAMM50\" \"interacts_with\" \"DNM1L\")\n  (semmed \"CDK1 wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"mfn2\" \"interacts_with\" \"dnm1l\")\n  (semmed \"CANX wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"MFN1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"MYH14 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"DCTN4 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"Itsn2\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"MIEF1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"GTF2H1 wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"EHD1 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"TBC1D15\" \"interacts_with\" \"DNM1L\")\n  (semmed \"CRK gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"MFN2 wt Allele\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"MUL1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"SEPT2 gene\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"LLGL2\" \"interacts_with\" \"DNM1L\")\n  (semmed \"Plasmids\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"arenobufagin\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"CDC5L\" \"interacts_with\" \"DNM1L\")\n  (semmed \"Calcium\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"sodium bisulfide\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"Syngap1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"CA14\" \"interacts_with\" \"DNM1L\")\n  (semmed \"Staurosporine\" \"interacts_with\" \"DNM1L wt Allele\")\n  (semmed \"15-deoxyprostaglandin J2\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"MTFP1\" \"interacts_with\" \"DNM1L\")\n  (semmed \"Reactive Oxygen Species\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"synj1\" \"interacts_with\" \"dnm1l\")\n  (semmed \"Cyclic AMP\" \"interacts_with\" \"DNM1L wt Allele\")\n  (monarch \"ATP6V1C1\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Mysm1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"MARCH5\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Eed\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"PPIA\" \"interacts_with\" \"DNM1L\")\n  (monarch \"PEX11A\" \"interacts_with\" \"DNM1L\")\n  (monarch \"NUFIP1\" \"interacts_with\" \"DNM1L\")\n  (monarch \"AVL9\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Lrrk2\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"FGL1\" \"interacts_with\" \"DNM1L\")\n  (monarch \"CDCA5\" \"interacts_with\" \"DNM1L\")\n  (monarch \"gak\" \"interacts_with\" \"dnm1l\")\n  (monarch \"PGAM5\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Pgam5\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"ARFIP1\" \"interacts_with\" \"DNM1L\")\n  (monarch \"DUSP23\" \"interacts_with\" \"DNM1L\")\n  (monarch \"COPS5\" \"interacts_with\" \"DNM1L\")\n  (monarch \"CPNE2\" \"interacts_with\" \"DNM1L\")\n  (monarch \"MYSM1\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Cyfip1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"BCL2L1\" \"interacts_with\" \"DNM1L\")\n  (monarch \"PEX11G\" \"interacts_with\" \"DNM1L\")\n  (monarch \"synrg\" \"interacts_with\" \"dnm1l\")\n  (monarch \"UNK\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Synj1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"Nek2\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Akap1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"['Kif19a', 'Kif19']\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Wdr5\" \"interacts_with\" \"DNM1L\")\n  (monarch \"Foxp3\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"Unk\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"eps15\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Ppp3r1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"casp8\" \"interacts_with\" \"dnm1l\")\n  (monarch \"LOC100911485\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"grapa\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Grb2\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"mfn1b\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Exoc5\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"itsn2a\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Casp8\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"grb2b\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Sept7\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"grb2a\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Mfn1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"eps15l1a\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Eps15l1\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"grapb\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Eps15\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"itsn2b\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Mfn2\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"itsn1\" \"interacts_with\" \"dnm1l\")\n  (monarch \"Trip12\" \"interacts_with\" \"Dnm1l\")\n  (monarch \"Fis1\" \"interacts_with\" \"Dnm1l\")\n  (monarch #f \"interacts_with\" \"dnm1l\")\n  (semmed \"Entire hippocampus\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Retina\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Tissue membrane\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Muscle\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Heart\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Neostriatum\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Brain\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Ovary\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Body tissue\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Cerebral cortex\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Common carotid artery\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Kidney\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"HeLa Cells\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Hepatocyte\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Differentiated muscle cell\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Mammalian Cell\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Neurons\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Lymphocyte\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Primary spermatocyte\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Cells\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Peripheral Blood Lymphocyte\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Chinese Hamster Ovary Cell\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Cultured Cells\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Oocytes\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Fibroblasts\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Neuroglia\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Adipocytes\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Clone Cells\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Purkinje Cells\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"trans-Golgi Network\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Golgi Apparatus\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Mitochondria\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Mitochondrial Membrane, Outer\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Dendritic Spines\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Organelles\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Membrane\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"cell cortex\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Cytoplasm\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Chromosomes, Human, Pair 21\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Cell Fraction\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Endoplasmic Reticulum\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed \"Mitochondrial Membranes\" \"location_of\" \"DNM1L wt Allele\")\n  (semmed\n   \"Mitochondrial electron transport chain\"\n   \"location_of\"\n   \"DNM1L wt Allele\")\n  (semmed\n   \"mitogen-activated protein kinase p38\"\n   \"negatively_regulates\"\n   \"DNM1L wt Allele\")\n  (semmed \"Citrate (si)-Synthase\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed\n   \"Cyclic AMP-Dependent Protein Kinases\"\n   \"negatively_regulates\"\n   \"DNM1L wt Allele\")\n  (semmed \"angiogenin\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"PRDX3 peroxidase\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Mitochondrial Proteins\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Collagen Type I\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"alpha-Synuclein\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"SIRT4 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"SQSTM1 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"GRAP2 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MIEF2 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"HTRA2 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ACSM3 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"GPAM gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MFF gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ANXA6 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"PKM2 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"CS gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"PRKAB1 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"POLDIP2 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"TP53 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"TP53 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MIEF1 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MAPK1 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"S100A7 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"AIMP2 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MAPK14 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ERVK-15 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"CUX1 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ANG gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"PRDX3 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"PRKAA2 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"SART3 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"PRKAA1 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"AHSA1 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"PINK1 gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"CRK gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"SIX1 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Homologous Gene\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MFN2 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ROS1 wt Allele\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed\n   \"Carbonyl Cyanide m-Chlorophenyl Hydrazone\"\n   \"negatively_regulates\"\n   \"DNM1L wt Allele\")\n  (semmed \"Bicuculline\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Niclosamide\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MicroRNAs\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"15-deoxyprostaglandin J2\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Reactive Oxygen Species\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ginkgolide K\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed\n   \"9-deoxy-delta-9-prostaglandin D2\"\n   \"negatively_regulates\"\n   \"DNM1L wt Allele\")\n  (semmed \"Small Molecule\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"cryptolepine\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Ru 360\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"RNA, Small Interfering\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Lithium Chloride\" \"negatively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"E-Cadherin\" \"part_of\" \"DNM1L wt Allele\")\n  (semmed \"ezrin\" \"part_of\" \"DNM1L wt Allele\")\n  (semmed \"Cytoplasmic Protein\" \"part_of\" \"DNM1L wt Allele\")\n  (semmed \"alpha-Synuclein\" \"part_of\" \"DNM1L wt Allele\")\n  (semmed \"Regulatory Sequences, Nucleic Acid\" \"part_of\" \"DNM1L wt Allele\")\n  (semmed \"RNA, Small Interfering\" \"part_of\" \"DNM1L wt Allele\")\n  (semmed \"Cyclin-Dependent Kinase 5\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed\n   \"Proto-Oncogene Proteins c-akt\"\n   \"positively_regulates\"\n   \"DNM1L wt Allele\")\n  (semmed \"Calcineurin\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Mitochondrial Proteins\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed\n   \"Receptor Protein-Tyrosine Kinases\"\n   \"positively_regulates\"\n   \"DNM1L wt Allele\")\n  (semmed\n   \"mitochondrial calcium uniporter\"\n   \"positively_regulates\"\n   \"DNM1L wt Allele\")\n  (semmed \"SQSTM1 gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"BAX wt Allele\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"E2F5 gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ATG5 wt Allele\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"AKT1 gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"FAS gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"BAK1 gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"OPA1 gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"PRKAA2 wt Allele\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MAP1LC3A gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"BECN1 wt Allele\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"BAX gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ROCK1 gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"MFN2 wt Allele\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"ROS1 wt Allele\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed\n   \"Lysergic Acid Diethylamide Tartrate\"\n   \"positively_regulates\"\n   \"DNM1L wt Allele\")\n  (semmed \"Reactive Oxygen Species\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Cadmium\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Ceramides\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Hydrogen Peroxide\" \"positively_regulates\" \"DNM1L wt Allele\")\n  (semmed \"Cells\" \"produces\" \"DNM1L protein, human\")\n  (semmed \"Phosphotransferases\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"CATALASE\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"Mitochondrial Proteins\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"SOD2 gene\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"MFN1 gene\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"CAT gene\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"OPA1 gene\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"PINK1 gene\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"MFN2 wt Allele\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"Neurons\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"Cells\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"Oocytes\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"Podocytes\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"Myocytes, Cardiac\" \"produces\" \"DNM1L wt Allele\")\n  (semmed \"Mitochondria\" \"produces\" \"DNM1L wt Allele\")\n  (rtx \"TFAP2A\" \"regulates\" \"DNM1L\")\n  (rtx \"TBP\" \"regulates\" \"DNM1L\")\n  (rtx \"RCOR1\" \"regulates\" \"DNM1L\")\n  (rtx \"CHD7\" \"regulates\" \"DNM1L\")\n  (rtx \"ELK1\" \"regulates\" \"DNM1L\")\n  (rtx \"EOMES\" \"regulates\" \"DNM1L\")\n  (rtx \"IRF3\" \"regulates\" \"DNM1L\")\n  (rtx \"JUND\" \"regulates\" \"DNM1L\")\n  (rtx \"MAPK3\" \"regulates\" \"DNM1L\")\n  (rtx \"MAZ\" \"regulates\" \"DNM1L\")\n  (rtx \"ZNF143\" \"regulates\" \"DNM1L\")\n  (rtx \"HNF4A\" \"regulates\" \"DNM1L\")\n  (rtx \"ZC3H11A\" \"regulates\" \"DNM1L\")\n  (rtx \"CTCF\" \"regulates\" \"DNM1L\")\n  (rtx \"E2F4\" \"regulates\" \"DNM1L\")\n  (rtx \"E2F1\" \"regulates\" \"DNM1L\")\n  (rtx \"JUN\" \"regulates\" \"DNM1L\")\n  (rtx \"KDM4A\" \"regulates\" \"DNM1L\")\n  (rtx \"KDM5B\" \"regulates\" \"DNM1L\")\n  (rtx \"GTF2F1\" \"regulates\" \"DNM1L\")\n  (rtx \"CDX2\" \"regulates\" \"DNM1L\")\n  (rtx \"STAT1\" \"regulates\" \"DNM1L\")\n  (rtx \"KLF4\" \"regulates\" \"DNM1L\")\n  (rtx \"CEBPB\" \"regulates\" \"DNM1L\")\n  (rtx \"HMGN3\" \"regulates\" \"DNM1L\")\n  (rtx \"POU5F1\" \"regulates\" \"DNM1L\")\n  (rtx \"ZNF384\" \"regulates\" \"DNM1L\")\n  (rtx \"NFYA\" \"regulates\" \"DNM1L\")\n  (rtx \"SMARCB1\" \"regulates\" \"DNM1L\")\n  (rtx \"ZMIZ1\" \"regulates\" \"DNM1L\")\n  (rtx \"IRF1\" \"regulates\" \"DNM1L\")\n  (rtx \"SMC3\" \"regulates\" \"DNM1L\")\n  (rtx \"MAPK1\" \"regulates\" \"DNM1L\")\n  (rtx \"SMARCC1\" \"regulates\" \"DNM1L\")\n  (rtx \"TBL1XR1\" \"regulates\" \"DNM1L\")\n  (rtx \"SPI1\" \"regulates\" \"DNM1L\")\n  (rtx \"BRD7\" \"regulates\" \"DNM1L\")\n  (rtx \"TAL1\" \"regulates\" \"DNM1L\")\n  (rtx \"SP1\" \"regulates\" \"DNM1L\")\n  (rtx \"HDAC1\" \"regulates\" \"DNM1L\")\n  (rtx \"CHD1\" \"regulates\" \"DNM1L\")\n  (rtx \"SMARCC2\" \"regulates\" \"DNM1L\")\n  (rtx \"GATA3\" \"regulates\" \"DNM1L\")\n  (rtx \"HDAC2\" \"regulates\" \"DNM1L\")\n  (rtx \"EP300\" \"regulates\" \"DNM1L\")\n  (rtx \"SETDB1\" \"regulates\" \"DNM1L\")\n  (rtx \"MGEA5\" \"regulates\" \"DNM1L\")\n  (rtx \"PPARG\" \"regulates\" \"DNM1L\")\n  (rtx \"MXI1\" \"regulates\" \"DNM1L\")\n  (rtx \"NRF1\" \"regulates\" \"DNM1L\")\n  (rtx \"PRKCD\" \"regulates\" \"DNM1L\")\n  (rtx \"ZNF274\" \"regulates\" \"DNM1L\")\n  (rtx \"NFATC1\" \"regulates\" \"DNM1L\")\n  (rtx \"MAFK\" \"regulates\" \"DNM1L\")\n  (rtx \"USF2\" \"regulates\" \"DNM1L\")\n  (rtx \"RBBP5\" \"regulates\" \"DNM1L\")\n  (rtx \"RFX5\" \"regulates\" \"DNM1L\")\n  (rtx \"TRIM28\" \"regulates\" \"DNM1L\")\n  (rtx \"BRCA1\" \"regulates\" \"DNM1L\")\n  (rtx \"SIRT6\" \"regulates\" \"DNM1L\")\n  (rtx \"SMARCA4\" \"regulates\" \"DNM1L\")\n  (rtx \"SAP30\" \"regulates\" \"DNM1L\")\n  (rtx \"RAD21\" \"regulates\" \"DNM1L\")\n  (rtx \"ZNF263\" \"regulates\" \"DNM1L\")\n  (rtx \"MAX\" \"regulates\" \"DNM1L\")\n  (rtx \"ETV1\" \"regulates\" \"DNM1L\")\n  (rtx \"EZH2\" \"regulates\" \"DNM1L\")\n  (rtx \"KDM5A\" \"regulates\" \"DNM1L\")\n  (rtx \"CDK1\" \"regulates\" \"DNM1L\")\n  (rtx \"UBTF\" \"regulates\" \"DNM1L\")\n  (rtx \"CUX1\" \"regulates\" \"DNM1L\")\n  (rtx \"PINK1\" \"regulates\" \"DNM1L\")\n  (rtx \"GATA2\" \"regulates\" \"DNM1L\")\n  (rtx \"BACH1\" \"regulates\" \"DNM1L\")\n  (rtx \"PHF8\" \"regulates\" \"DNM1L\")\n  (rtx \"CDK5\" \"regulates\" \"DNM1L\")\n  (rtx \"PRKACA\" \"regulates\" \"DNM1L\")\n  (rtx \"CHD2\" \"regulates\" \"DNM1L\")\n  (rtx \"MYC\" \"regulates\" \"DNM1L\")\n  (rtx \"SREBF1\" \"regulates\" \"DNM1L\")\n  (rtx \"STAT3\" \"regulates\" \"DNM1L\")\n  (rtx \"SUZ12\" \"regulates\" \"DNM1L\")\n  (rtx \"INS\" \"regulates\" \"DNM1L\")\n  (rtx \"E2F6\" \"regulates\" \"DNM1L\")\n  (rtx \"FOXA1\" \"regulates\" \"DNM1L\")\n  (rtx \"GSK3B\" \"regulates\" \"DNM1L\")\n  (rtx \"WRNIP1\" \"regulates\" \"DNM1L\")\n  (rtx \"BCL6\" \"regulates\" \"DNM1L\")\n  (rtx \"BHLHE40\" \"regulates\" \"DNM1L\")\n  (rtx \"ESRRA\" \"regulates\" \"DNM1L\")\n  (rtx \"ETS1\" \"regulates\" \"DNM1L\")\n  (rtx \"GATA1\" \"regulates\" \"DNM1L\")\n  (rtx \"HCFC1\" \"regulates\" \"DNM1L\")\n  (rtx \"CCNT2\" \"regulates\" \"DNM1L\")\n  (rtx \"CDK2\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR3183\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR371B\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR3132\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR516A1\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR711\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR365A\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR4723\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR4687\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR197\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR4782\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR513C\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR5001\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR4633\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR5706\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR502\" \"regulates\" \"DNM1L\")\n  (rtx \"MIR516A2\" \"regulates\" \"DNM1L\"))\n\n'((scigraph\n   \"GTP-Binding Protein alpha Subunit, Gq\"\n   \"coexists_with\"\n   \"DNM1L gene\")\n  (scigraph \"CDC2 Protein Kinase\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"XRCC1 protein, human\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"porin\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"arenobufagin\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"Lysergic Acid Diethylamide\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"Cardiolipins\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"Staurosporine\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"Glucose\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"Calcium\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"MFN1 gene\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"FIS1 gene\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"SAMM50 gene\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"CCNC gene\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"Genes, cdc\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"Genes\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"Homologous Gene\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"MFN2 gene\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"cyclin C\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"GNAQ gene\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"ANXA6 gene\" \"coexists_with\" \"DNM1L gene\")\n  (scigraph \"MFF\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"DGUOK\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"CASP8\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"CSNK2A1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"DNM1L\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"PINK1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"EGFR\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"SOD1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"SOX2\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"mfn2\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"PEX11B\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"PEX14\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"MFN2\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"HAX1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"synj1\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"DNAAF2\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"Syngap1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"PRKN\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"NTRK1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"Eed\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"LRRK2\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"gak\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"SNW1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"Lrrk2\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"Itsn2\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"FIS1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"CHCHD3\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"MUL1 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"GABRR1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"synrg\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"FZR1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"Cyfip1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"SAMM50\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"MFN1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"Akap1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"MIEF1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"eps15\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"TBC1D15\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"Foxp3\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"Mysm1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"Unk\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"MUL1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"MIEF2 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"LLGL2\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"casp8\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"CDC5L\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"CA14\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"grapa\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"Pgam5\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"MTFP1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"FIS1 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"ATP6V1C1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"mfn1b\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"MARCH5\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"PPIA\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"itsn2a\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"Synj1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"PEX11A\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"MYH14 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"NUFIP1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"grb2b\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"AVL9\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"FGL1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"grb2a\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"Ppp3r1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"CDCA5\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"SAMM50 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"PGAM5\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"eps15l1a\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"ARFIP1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"DUSP23\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"grapb\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"LOC100911485\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"COPS5\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"FUNDC1 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"CPNE2\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"itsn2b\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"MYSM1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"BCL2L1\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"itsn1\" \"interacts_with\" \"dnm1l\")\n  (scigraph \"Grb2\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"PEX11G\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"OPA1 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"UNK\" \"interacts_with\" \"DNM1L\")\n  (scigraph #f \"interacts_with\" \"dnm1l\")\n  (scigraph \"Nek2\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"Exoc5\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"['Kif19a', 'Kif19']\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"MAPT gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Wdr5\" \"interacts_with\" \"DNM1L\")\n  (scigraph \"Casp8\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"MIEF1 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Sept7\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"PARK7 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Mfn1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"MFN2 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Eps15l1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"MAPK1 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Eps15\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"NIN gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Mfn2\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"CDK1 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Trip12\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"MFF gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Fis1\" \"interacts_with\" \"Dnm1l\")\n  (scigraph \"CAMP gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"RAD50 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"CANX gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"TGFB1 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"RAB32 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"CAMK2G gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"CA2 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"PHEX gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"SEPT2 gene\" \"interacts_with\" \"DNM1L gene\")\n  (scigraph \"Purkinje Cells\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"trans-Golgi Network\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Dendritic Spines\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Peripheral Blood Lymphocyte\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Chinese Hamster Ovary Cell\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Mitochondrial Membrane, Outer\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Differentiated muscle cell\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"perinuclear region\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Primary spermatocyte\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Cytosol\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Golgi Apparatus\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Cytoplasm\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Mitochondrial Membranes\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Mammalian Cell\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Tissue membrane\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Clone Cells\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Neostriatum\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Endoplasmic Reticulum\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Entire substantia nigra\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Lymphocyte\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Cultured Cells\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Common carotid artery\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Hela Cells\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Cell Fraction\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Neuroglia\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"cell cortex\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Fibroblasts\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Mitochondria\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Muscle\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Retina\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Heart\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Cells\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Organelles\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Brain\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Kidney\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Oocytes\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Adipocytes\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Entire hippocampus\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Chromosomes, Human, Pair 12\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Membrane\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"Neurons\" \"location_of\" \"DNM1L gene\")\n  (scigraph \"alpha-Synuclein\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"Chaperonin 10\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"PRDX3 peroxidase\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph\n   \"Cyclic AMP-Dependent Protein Kinases\"\n   \"negatively_regulates\"\n   \"DNM1L gene\")\n  (scigraph \"Citrate (si)-Synthase\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"Mitochondrial Proteins\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph\n   \"Guanosine Triphosphate Phosphohydrolases\"\n   \"negatively_regulates\"\n   \"DNM1L gene\")\n  (scigraph \"angiogenin\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph\n   \"9-deoxy-delta-9-prostaglandin D2\"\n   \"negatively_regulates\"\n   \"DNM1L gene\")\n  (scigraph \"Ru 360\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"15-deoxyprostaglandin J2\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"Bicuculline\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph\n   \"Carbonyl Cyanide m-Chlorophenyl Hydrazone\"\n   \"negatively_regulates\"\n   \"DNM1L gene\")\n  (scigraph \"Niclosamide\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"Reactive Oxygen Species\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"Lithium Chloride\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"small molecule\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"RNA, Small Interfering\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"MIEF2 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"GPAM gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"SIRT4 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"PKM gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"MIEF1 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"CUX1 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"S100A7 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"ANG gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"Homologous Gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"MFN2 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"MFF gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"PRDX3 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"ROS1 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"PINK1 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"SART3 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"HTRA2 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"ERVK-15 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"CS gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"ANXA6 gene\" \"negatively_regulates\" \"DNM1L gene\")\n  (scigraph \"E-Cadherin\" \"part_of\" \"DNM1L gene\")\n  (scigraph \"ezrin\" \"part_of\" \"DNM1L gene\")\n  (scigraph \"Ubiquitin\" \"part_of\" \"DNM1L gene\")\n  (scigraph \"RNA, Small Interfering\" \"part_of\" \"DNM1L gene\")\n  (scigraph \"Guanosine Triphosphate\" \"part_of\" \"DNM1L gene\")\n  (scigraph \"Regulatory Sequences, Nucleic Acid\" \"part_of\" \"DNM1L gene\")\n  (scigraph \"BECN1 gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"ROCK1 gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"MAP1LC3A gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"OPA1 gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"AKT1 gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph\n   \"tumor necrosis factor alpha receptor\"\n   \"positively_regulates\"\n   \"DNM1L gene\")\n  (scigraph \"SQSTM1 gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"FAS gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"ROS1 gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"BAK1 gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"BAX gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"ATG5 gene\" \"positively_regulates\" \"DNM1L gene\")\n  (scigraph \"Myocytes, Cardiac\" \"produces\" \"DNM1L gene\")\n  (scigraph \"Mitochondria\" \"produces\" \"DNM1L gene\")\n  (scigraph \"Cells\" \"produces\" \"DNM1L gene\")\n  (scigraph \"Oocytes\" \"produces\" \"DNM1L gene\")\n  (scigraph \"Neurons\" \"produces\" \"DNM1L gene\")\n  (scigraph \"Phosphotransferases\" \"produces\" \"DNM1L gene\")\n  (scigraph \"CATALASE\" \"produces\" \"DNM1L gene\")\n  (scigraph \"CAT gene\" \"produces\" \"DNM1L gene\")\n  (scigraph \"PINK1 gene\" \"produces\" \"DNM1L gene\")\n  (scigraph \"SOD2 gene\" \"produces\" \"DNM1L gene\"))\n\n\n#|\n(semmed \"SQSTM1 gene\" \"positively_regulates\" \"DNM1L wt Allele\")\n\n(run* (q)\n  (fresh (edge eid tacrine-details subject object pred eprops db\n               scid scui sname sdetails\n               ocid ocui oname odetails\n               pred-id pred-name)\n    (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n    (~name-concepto \"DNM1L\" `(,db . ,object))            \n    (edgeo `(,db . ,edge))     \n    (== `(,pred-id . ,pred-name) pred)\n    (== `(,scid ,scui ,sname . ,sdetails) subject)\n    (== `(,ocid ,ocui ,oname . ,odetails) object)\n    (== \"SQSTM1 gene\" sname)\n    (== \"positively_regulates\" pred-name)\n    (== `(,db . ,edge) q)))\n\n(sort\n (rem-dups\n   (run* (q)\n     (fresh (edge eid tacrine-details subject object pred eprops db\n                  scid scui sname sdetails\n                  ocid ocui oname odetails\n                  pred-id pred-name)\n       (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n       (~name-concepto \"DNM1L\" `(,db . ,object))            \n       (edgeo `(,db . ,edge))     \n       (== `(,pred-id . ,pred-name) pred)\n       (== `(,scid ,scui ,sname . ,sdetails) subject)\n       (== `(,ocid ,ocui ,oname . ,odetails) object)\n       (== `(,db ,sname ,pred-name ,oname) q))))\n (lambda (e1 e2)\n   (match `(,e1 ,e2)\n     [`((,db1 ,sname1 ,pred-name1 ,oname1)\n        (,db2 ,sname2 ,pred-name2 ,oname2))\n      (string<? pred-name1 pred-name2)])))\n\n(rem-dups\n   (run* (q)\n     (fresh (edge eid tacrine-details subject object pred eprops db\n                  scid scui sname sdetails\n                  ocid ocui oname odetails\n                  pred-id pred-name)\n       (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n       (~name-concepto \"DNM1L\" `(,db . ,object))            \n       (edgeo `(,db . ,edge))     \n       (== `(,pred-id . ,pred-name) pred)\n       (== `(,scid ,scui ,sname . ,sdetails) subject)\n       (== `(,ocid ,ocui ,oname . ,odetails) object)\n       (== `(,db ,sname ,pred-name ,oname) q))))\n\n(displayln \"preds for X ANY-PRED DNM1L\")\n(time (rem-dups\n        (run* (q)\n            (fresh (edge eid tacrine-details subject object pred eprops db)\n              (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n              (~name-concepto \"DNM1L\" `(,db . ,object))            \n              (edgeo `(,db . ,edge))\n              (== pred q)))))\n\n(displayln \"preds for DNM1L ANY-PRED X\")\n(time (rem-dups\n        (run* (q)\n            (fresh (edge eid tacrine-details subject object pred eprops db)\n              (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n              (~name-concepto \"DNM1L\" `(,db . ,subject))\n              (edgeo `(,db . ,edge))\n              (== pred q)))))\n\n;; count the number of edges\n(time (length\n       (rem-dups\n        (run* (q)\n          (fresh (edge eid tacrine-details subject object pred eprops db)\n            (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n            (~name-concepto \"DNM1L\" `(,db . ,object))            \n            (edgeo `(,db . ,edge))\n            (== `(,db . ,edge) q))))))\n|#\n\n#|\n(displayln \"X ANY-PRED DNM1L\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name db)\n           (fresh (subject scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (~name-concepto \"DNM1L\" `(,db . ,object))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo `(,db . ,edge)))))))\n|#\n\n(newline)\n(displayln \"X INCREASES DNM1L:\")\n(time (pretty-print\n        (run* (edge)\n          (fresh (eid tacrine-details subject object pred eprops db)\n            (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n            (~name-concepto \"DNM1L\" `(,db . ,object))\n            (INCREASES pred)\n            (edgeo `(,db . ,edge))))))\n"
  },
  {
    "path": "attic/medikanren/NF1-full.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n\n  membero\n  rem-dups\n  edgeo\n  ~name-concepto\n  DECREASES\n\n  semmed\n  monarch\n  rtx\n  scigraph\n  )\n\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n(displayln \"loading semmed\")\n(define semmed (time (make-db \"data/semmed\")))\n(displayln \"loading monarch-lite\")\n(define monarch (time (make-db \"data/monarch-lite\")))\n(displayln \"loading rtx\")\n(define rtx (time (make-db \"data/rtx\")))\n(displayln \"loading scigraph\")\n(define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; remove duplicates from a list\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ((fresh (ee) (== `(scigraph . ,ee) e) (db:edgeo scigraph ee)))))\n\n(define (~name-concepto n c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed n cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch n cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx n cc)))\n    ((fresh (cc) (== `(scigraph . ,cc) c) (db:~name-concepto scigraph n cc)))))\n\n\n(define (DECREASES pred)\n  (fresh (_)\n    (conde\n      [(== `(,_ . \"treats\") pred)]\n      [(== `(,_ . \"prevents\") pred)]\n      [(== `(,_ . \"negatively_regulates\") pred)])))\n\n(define (INCREASES pred)\n  (fresh (_)\n    (conde\n      [(== `(,_ . \"produces\") pred)]\n      [(== `(,_ . \"positively_regulates\") pred)])))\n\n(displayln \"preds for X ANY-PRED NF1\")\n(time (rem-dups\n        (run* (q)\n            (fresh (edge eid tacrine-details subject object pred eprops db)\n              (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n              (~name-concepto \"NF1\" `(,db . ,object))            \n              (edgeo `(,db . ,edge))\n              (== pred q)))))\n;; =>\n'((0 . \"interacts_with\")\n  (3 . \"part_of\")\n  (5 . \"negatively_regulates\")\n  (6 . \"coexists_with\")\n  (9 . \"affects\")\n  (10 . \"produces\")\n  (0 . \"directly_interacts_with\")\n  (13 . \"positively_regulates\")\n  (3 . \"interacts_with\")\n  (6 . \"part_of\")\n  (3 . \"regulates\")\n  (10 . \"coexists_with\")\n  (16 . \"location_of\")\n  (17 . \"produces\")\n  (18 . \"positively_regulates\")\n  (19 . \"negatively_regulates\"))\n\n#|\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name db)\n           (fresh (subject scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (~name-concepto \"NF1\" `(,db . ,object))\n             (== `(,db . ,object) q))))))\n\n(displayln \"X ANY-PRED NF1\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name db)\n           (fresh (subject scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (~name-concepto \"NF1\" `(,db . ,object))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo `(,db . ,edge)))))))\n\n(displayln \"X ANY-PRED HFNF1A\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name db)\n           (fresh (subject scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (== `(,db . ,object)\n                 `(monarch\n                   728\n                   \"HGNC:11621\"\n                   \"HNF1A\"\n                   (1 . \"['gene', 'sequence feature']\")\n                   (\"iri\" . \"http://identifiers.org/hgnc/HGNC:11621\")\n                   (\"clique\"\n                    .\n                    \"['HGNC:11621', 'NCBIGene:6927', 'Orphanet:158583', 'OMIM:142410', 'ENSEMBL:ENSG00000135100', 'ENSEMBL:ENSP00000443964', 'ENSEMBL:ENSP00000439721', 'ENSEMBL:ENSP00000443112', 'ENSEMBL:ENSP00000445445', 'ENSEMBL:ENSP00000481967', 'ENSEMBL:ENSP00000257555', 'UniProtKB:P20823', 'ENSEMBL:ENSP00000440361', 'ENSEMBL:ENSP00000483994', 'ENSEMBL:ENSP00000438565', 'ENSEMBL:ENSP00000438804', 'ENSEMBL:ENSP00000453965', 'ENSEMBL:ENSP00000476181']\")\n                   (\"http://purl.org/dc/elements/1.1/description\" . \"HNF1 homeobox A\")\n                   (\"http://www.w3.org/2000/01/rdf-schema#label\" . \"HNF1A\")\n                   (\"id\" . \"HGNC:11621\")\n                   (\"label\" . \"HNF1A\")\n                   (\"https://monarchinitiative.org/MONARCH_cliqueLeader\" . \"True\")\n                   (\"labels\"\n                    .\n                    \"['gene', 'sequence_feature', 'Class', 'cliqueLeader', 'Node']\")))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo `(,db . ,edge)))))))\n\n(displayln \"X ANY-PRED RNF183\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name db)\n           (fresh (subject scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (== `(,db . ,object)\n                 `(rtx\n                   18446\n                   \"UniProtKB:Q96D59\"\n                   \"RNF183\"\n                   (1 . \"protein\")\n                   (\"symbol\" . \"RNF183\")\n                   (\"expanded\" . \"True\")\n                   (\"rtx_name\" . \"Q96D59\")\n                   (\"description\" . \"None\")\n                   (\"id\" . \"UniProtKB:Q96D59\")\n                   (\"accession\" . \"Q96D59\")\n                   (\"UUID\" . \"de83c902-5907-11e8-95d6-060473434358\")\n                   (\"uri\" . \"http://identifiers.org/uniprot/Q96D59\")\n                   (\"seed_node_uuid\" . \"dbf1734c-5907-11e8-95d6-060473434358\")\n                   (\"labels\" . \"['protein', 'Base']\")))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo `(,db . ,edge)))))))\n\n(displayln \"X ANY-PRED HNF1A\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name db)\n           (fresh (subject scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (== `(,db . ,object)\n                 `(scigraph\n                   728\n                   \"HGNC:11621\"\n                   \"HNF1A\"\n                   (1 . \"['gene', 'sequence feature']\")\n                   (\"iri\" . \"http://identifiers.org/hgnc/HGNC:11621\")\n                   (\"clique\"\n                    .\n                    \"['HGNC:11621', 'NCBIGene:6927', 'Orphanet:158583', 'OMIM:142410', 'ENSEMBL:ENSG00000135100', 'ENSEMBL:ENSP00000443964', 'ENSEMBL:ENSP00000439721', 'ENSEMBL:ENSP00000443112', 'ENSEMBL:ENSP00000445445', 'ENSEMBL:ENSP00000481967', 'ENSEMBL:ENSP00000257555', 'UniProtKB:P20823', 'ENSEMBL:ENSP00000440361', 'ENSEMBL:ENSP00000483994', 'ENSEMBL:ENSP00000438565', 'ENSEMBL:ENSP00000438804', 'ENSEMBL:ENSP00000453965', 'ENSEMBL:ENSP00000476181']\")\n                   (\"http://purl.org/dc/elements/1.1/description\" . \"HNF1 homeobox A\")\n                   (\"http://www.w3.org/2000/01/rdf-schema#label\" . \"HNF1A\")\n                   (\"id\" . \"HGNC:11621\")\n                   (\"label\" . \"HNF1A\")\n                   (\"https://monarchinitiative.org/MONARCH_cliqueLeader\" . \"True\")\n                   (\"labels\" . \"['gene', 'Node']\")))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo `(,db . ,edge)))))))\n\n|#\n\n(newline)\n(displayln \"X INCREASES NF1:\")\n(time (pretty-print\n        (run* (edge)\n          (fresh (eid tacrine-details subject object pred eprops db)\n            (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n            (~name-concepto \"NF1\" `(,db . ,object))\n            (INCREASES pred)\n            (edgeo `(,db . ,edge))))))\n\n(time (pretty-print\n        (run* (q)\n          (fresh (edge eid tacrine-details subject object pred eprops db)\n            (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n            ;(~name-concepto \"congenital cataract\" `(,db . ,object))\n            (== `(81155\n                  \"HP:0000519\"\n                  \"Congenital cataract\"\n                  (5 . \"phenotypic_feature\")\n                  (\"expanded\" . \"True\")\n                  (\"rtx_name\" . \"HP:0000519\")\n                  (\"description\" . \"A congenital cataract.\")\n                  (\"id\" . \"HP:0000519\")\n                  (\"accession\" . \"0000519\")\n                  (\"UUID\" . \"ec2d2c9c-5907-11e8-95d6-060473434358\")\n                  (\"uri\" . \"http://purl.obolibrary.org/obo/HP_0000519\")\n                  (\"seed_node_uuid\" . \"dbf1734c-5907-11e8-95d6-060473434358\")\n                  (\"labels\" . \"['Base', 'phenotypic_feature']\"))\n                object)\n            (edgeo `(,db . ,edge))\n            (== `(,db . ,edge) q)\n            ))))\n"
  },
  {
    "path": "attic/medikanren/brca1-full.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n\n  membero\n  edgeo\n  ~name-concepto)\n\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n(displayln \"loading semmed\")\n(define semmed (time (make-db \"data/semmed\")))\n(displayln \"loading monarch-lite\")\n(define monarch (time (make-db \"data/monarch-lite\")))\n(displayln \"loading rtx\")\n(define rtx (time (make-db \"data/rtx\")))\n(displayln \"loading scigraph\")\n(define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ((fresh (ee) (== `(scigraph . ,ee) e) (db:edgeo scigraph ee)))))\n\n(define (~name-concepto n c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed n cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch n cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx n cc)))\n    ((fresh (cc) (== `(scigraph . ,cc) c) (db:~name-concepto scigraph n cc)))))\n\n(time (pretty-print\n       (run* (concept)\n         (~name-concepto \"BRCA1\" concept))))\n\n(displayln \"X ANY-PRED ANY-BRCA1-SYNONYM:\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name)\n           (fresh (subject sdb scid scui sname sdetails\n                           object odb ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (membero name '(\"BRCA1\"\n                             \"RING Finger Protein 53\"\n                             \"RNF53\"))\n             (~name-concepto name `(,obd . ,object))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo edge))))))\n\n"
  },
  {
    "path": "attic/medikanren/brca1.rkt",
    "content": "#lang racket\n(require\n  \"mk-db.rkt\"\n  )\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n(define x-anypred-anybrca1-synonym\n  (lambda (db-name)\n    (printf \"loading db: ~s\\n\" db-name)\n    (define db (time (make-db db-name)))\n    (newline)\n    (displayln \"X ANY-PRED ANY-BRCA1-SYNONYM:\")\n    (time (pretty-print\n            (run* (q)\n              (fresh (edge name)\n                (fresh (subject scid scui sname sdetails\n                        object ocid ocui oname odetails\n                        eid pid pred eprops)\n                  (== `(,scid ,scui ,sname . ,sdetails) subject)\n                  (== `(,ocid ,ocui ,oname . ,odetails) object)\n                  (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n                  (membero name '(\"BRCA1\"\n                                  \"RING Finger Protein 53\"\n                                  \"RNF53\"))\n                  (db:~name-concepto db name object)\n                  (== `(,sname ,pred ,oname) q)\n                  (db:edgeo db edge))))))))\n\n\n;(define db-name \"data/monarch-lite\")\n(define db-name \"data/rtx\") ;; regulates\n;(define db-name \"data/scigraph\")\n;(define db-name \"data/semmed\")\n\n(x-anypred-anybrca1-synonym db-name)\n"
  },
  {
    "path": "attic/medikanren/create-all-hashtables.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\"\n  \"create-doid-cui-to-cid-hashtable.rkt\"\n  \"create-ensembl-cui-to-cid-hashtable.rkt\"\n  \"create-hgnc-cui-to-cid-hashtable.rkt\"\n  \"create-hpo-cui-to-cid-hashtable.rkt\"\n  \"create-mondo-cui-to-cid-hashtable.rkt\"\n  \"create-omim-cui-to-cid-hashtable.rkt\"\n  \"create-umls-cui-to-cid-hashtable.rkt\"\n  \"create-uniprotkb-cui-to-cid-hashtable.rkt\")\n\n(provide\n  (all-defined-out))\n\n(define doid-ht #f)\n(define ensembl-ht #f)\n(define hgnc-ht #f)\n(define hpo-ht #f)\n(define omim-ht #f)\n(define mondo-ht #f)\n(define umls-ht #f)\n(define uniprotkb-ht #f)\n\n(define (load-or-create/save-all-hashtables!)\n\n  (set! doid-ht (load-or-create/save-doid-ht!))\n  (set! ensembl-ht (load-or-create/save-ensembl-ht!))\n  (set! hgnc-ht (load-or-create/save-hgnc-ht!))\n  (set! hpo-ht (load-or-create/save-hpo-ht!))\n  (set! mondo-ht (load-or-create/save-mondo-ht!))\n  (set! omim-ht (load-or-create/save-omim-ht!))\n  (set! umls-ht (load-or-create/save-umls-ht!))    \n  (set! uniprotkb-ht (load-or-create/save-uniprotkb-ht!))\n\n  )\n"
  },
  {
    "path": "attic/medikanren/create-doid-cui-to-cid-hashtable.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\")\n\n(provide\n  (all-defined-out))\n\n\n(define doid-ht (make-hash))\n(define doid-ht-file-path (build-path HASHTABLE_SAVE_DIRECTORY \"doid-hash.rkt\"))\n\n(define (fill-doid-ht!)\n\n  (set! doid-ht (make-hash))\n\n  (define add-to-ht! (add-concept-key/cid-associations-to-hashtable! doid-ht))\n\n  (add-to-ht! SEMMED #rx\"DOID:([0-9]+)\")\n  (add-to-ht! RTX #rx\"DOID:([0-9]+)\")\n  (add-to-ht! ROBOKOP #rx\"DOID:([0-9]+)\")\n  (add-to-ht! ORANGE #rx\"DOID:([0-9]+)\")\n\n  )\n\n(define (save-doid-ht!)\n  (save-hashtable! doid-ht doid-ht-file-path))\n\n(define (load-doid-ht)\n  (load-hashtable doid-ht-file-path))\n\n(define (load-or-create/save-doid-ht!)\n  (load-or-create/save-hashtable!\n    'doid\n    load-doid-ht\n    fill-doid-ht!\n    save-doid-ht!))\n"
  },
  {
    "path": "attic/medikanren/create-ensembl-cui-to-cid-hashtable.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\")\n\n(provide\n  (all-defined-out))\n\n(define ensembl-ht (make-hash))\n(define ensembl-ht-file-path (build-path HASHTABLE_SAVE_DIRECTORY \"ensembl-hash.rkt\"))\n\n(define (fill-ensembl-ht!)\n\n  (set! ensembl-ht (make-hash))\n\n  (define add-to-ht! (add-concept-key/cid-associations-to-hashtable! ensembl-ht))\n\n  ;; apparently semmed doesn't have ENSEMBL synonyms\n  ;; apparently rtx doesn't have ENSEMBL synonyms \n  (add-to-ht! ROBOKOP #rx\"ENSEMBL:([A-Z0-9]+)\")\n  (add-to-ht! ORANGE #rx\"ENSEMBL:([A-Z0-9]+)\")\n\n  )\n\n(define (save-ensembl-ht!)\n  (save-hashtable! ensembl-ht ensembl-ht-file-path))\n\n(define (load-ensembl-ht)\n  (load-hashtable ensembl-ht-file-path))\n\n(define (load-or-create/save-ensembl-ht!)\n  (load-or-create/save-hashtable!\n    'ensembl\n    load-ensembl-ht\n    fill-ensembl-ht!\n    save-ensembl-ht!))\n\n\n\n#|\n\napparently semmed doesn't have ENSEMBL synonyms (but semmed does have\nOMIM and HGNC, which could be useful for cross-referencing):\n\n(semmed 160183 \"UMLS:C1413407\" \"CHRNB1 gene\" (4 . \"gene\") ((\"umls_type_label\" . \"['Gene or Genome']\") (\"xrefs\" . \"['MTH:NOCODE', 'OMIM:100710', 'HGNC:HGNC:1961']\") (\"id\" . \"UMLS:C1413407\") (\"umls_type\" . \"['T028']\") (\"labels\" . \"['gene']\")))\n\n\n\napparently rtx doesn't have ENSEMBL synonyms\n\n\n\nThese two are supposedly the same:\n\n(robokop 19861 \"HGNC:1961\" \"CHRNB1\" (0 . \"(\\\"named_thing\\\" \\\"gene\\\")\") ((\"locus_group\" . \"protein-coding gene\") (\"chromosome\" . \"17\") (\"taxon\" . \"9606\") (\"gene_family\" . \"(\\\"Cholinergic receptors nicotinic subunits\\\")\") (\"location\" . \"17p13.1\") (\"id\" . \"HGNC:1961\") (\"gene_family_id\" . \"(173)\") (\"equivalent_identifiers\" . \"(\\\"UniProtKB:I3L4N5\\\" \\\"UniProtKB:I3L535\\\" \\\"ENSEMBL:ENSG00000170175\\\" \\\"UniProtKB:P11230\\\" \\\"UniProtKB:I3L1T7\\\" \\\"UniProtKB:I3L3Q9\\\" \\\"NCBIGENE:1140\\\" \\\"HGNC:1961\\\")\")))\n\n(orange 13750 \"NCBIGene:1140\" \"CHRNB1\" (6 . \"(\\\"gene\\\")\") ((\"iri\" . \"http://www.ncbi.nlm.nih.gov/gene/1140\") (\"synonym\" . \"(\\\"acetylcholine receptor, nicotinic, beta 1 (muscle)\\\" \\\"Acetylcholine Receptor, Muscle, Beta Subunit\\\" \\\"CHOLINERGIC RECEPTOR, NICOTINIC, BETA POLYPEPTIDE 1; CHRNB1\\\" \\\"CHRNB1\\\" \\\"Chrnb\\\")\") (\"in_taxon\" . \"NCBITaxon:9606\") (\"same_as\" . \"(\\\"ENSEMBL:ENSG00000170175\\\" \\\"HGNC:1961\\\" \\\"OMIM:100710\\\" \\\"Orphanet:119419\\\")\") (\"provided_by\" . \"(\\\"orphanet.ttl\\\" \\\"omim.ttl\\\")\") (\"description\" . \"cholinergic receptor nicotinic beta 1 subunit\") (\"id\" . \"NCBIGene:1140\")))\n\n\n\nAnother random Robokop entry:\n\n(robokop 20027 \"HGNC:11016\" \"SLC31A1\" (0 . \"(\\\"named_thing\\\" \\\"gene\\\")\") ((\"locus_group\" . \"protein-coding gene\") (\"chromosome\" . \"9\") (\"taxon\" . \"9606\") (\"gene_family\" . \"(\\\"Solute carriers\\\")\") (\"location\" . \"9q32\") (\"id\" . \"HGNC:11016\") (\"gene_family_id\" . \"(752)\") (\"equivalent_identifiers\" . \"(\\\"HGNC:11016\\\" \\\"UniProtKB:A0A024R824\\\" \\\"NCBIGENE:1317\\\" \\\"UniProtKB:O15431\\\" \\\"ENSEMBL:ENSG00000136868\\\")\")))\n|#\n"
  },
  {
    "path": "attic/medikanren/create-hashtable-common.rkt",
    "content": "#lang racket\n\n(require\n  )\n\n(provide\n  SEMMED\n  RTX\n  ROBOKOP\n  ORANGE\n  HASHTABLE_SAVE_DIRECTORY\n  filled-hashtable?\n  add-concept-key/cid-associations-to-hashtable!\n  save-hashtable!\n  load-hashtable  \n  load-or-create/save-hashtable!\n  )\n\n(define SEMMED 'semmed)\n(define RTX 'rtx)\n(define ROBOKOP 'robokop)\n(define ORANGE 'orange)\n\n(define HASHTABLE_SAVE_DIRECTORY \"tmp\")\n\n(define DB/concept-file-alist\n  '((semmed . \"data/semmed/concepts.scm\")\n    (rtx . \"data/rtx/concepts.scm\")\n    (robokop . \"data/robokop/concepts.scm\")\n    (orange . \"data/orange/concepts.scm\")))\n\n(define DB/props-key-alist\n  '((semmed . \"xrefs\")\n    (rtx . \"id\")\n    (robokop . \"equivalent_identifiers\")\n    (orange . \"same_as\")))\n\n\n(define filled-hashtable?\n  (lambda (ht)\n    (and ht (hash? ht) (> (hash-count ht) 0))))\n\n(define (add-concept-key/cid-associations-to-hashtable! ht)\n  (lambda (db-name key-regex)\n    (let ((concepts-file-name (cdr (assoc db-name DB/concept-file-alist)))\n          (props-key (cdr (assoc db-name DB/props-key-alist))))\n      (let ((concept-vector->keys (make-prop-lookup props-key key-regex)))\n        (let ((ip (open-input-file concepts-file-name)))\n          (let loop ([cid 0]\n                     [data (read ip)])\n            (cond\n              [(eof-object? data)\n               (close-input-port ip)\n               (void)]\n              [else\n               (when (= (modulo cid 10000) 0)\n                 (printf \"~s cid: ~s\\n\" db-name cid))\n               (let ((keys (concept-vector->keys data)))\n                 (when keys\n                   (for-each\n                     (lambda (key)\n                       (let ((entry (hash-ref ht key '())))\n                         (hash-set! ht key (cons (cons db-name cid) entry))))\n                     keys)))\n               (loop (add1 cid) (read ip))])))))))\n\n(define (make-prop-lookup props-key key-regex)\n  (lambda (data)\n    (let ((props (vector-ref data 3)))\n      ;; all the KG's have an 'id' entry with the CUI for the concept, which we should also include\n      (define (find-cids-by-prop-list-key prop-list-key)\n        (cond\n          ((assoc prop-list-key props)\n           =>\n           (lambda (pr)\n             (let ((str (cdr pr)))\n               (let ((keys (regexp-match* key-regex str #:match-select cadr)))\n                 keys))))\n          (else '())))\n      (define id-keys (find-cids-by-prop-list-key \"id\"))\n      (define equivalent-keys (find-cids-by-prop-list-key props-key))\n      (set->list\n        (set-union\n          (list->set id-keys)\n          (list->set equivalent-keys))))))\n\n(define (save-hashtable! ht ht-file-name)\n  (define op (open-output-file ht-file-name #:exists 'replace))\n  (write ht op)\n  (close-output-port op))\n\n(define (load-hashtable ht-file-name)\n  (if (file-exists? ht-file-name)\n      (let ()\n        (define ip (open-input-file ht-file-name))\n        (let ((ht (read ip)))\n          (close-input-port ip)\n          ht))\n      #f))\n\n(define (load-or-create/save-hashtable! ht-name load-ht fill-ht! save-ht!)\n  (printf \"attempting to load hashtable for ~s\\n\" ht-name)\n  (let ((ht (load-ht)))\n    (if (filled-hashtable? ht)\n        (begin\n          (printf \"loaded non-empty hashtable for ~s, with ~s entries\\n\" ht-name (hash-count ht))\n          ht)\n        (begin\n          (printf \"unable to load a non-empty hashtable for ~s\\n\" ht-name)\n          (printf \"trying to create a hashtable for ~s...\\n\" ht-name)\n          (fill-ht!)\n          (printf \"filled a hashtable for ~s. Trying to save hashtable...\\n\" ht-name)\n          (save-ht!)\n          (printf \"saved the hashtable for ~s. Trying to load saved hashtable...\\n\" ht-name)\n          (let ((ht (load-ht)))\n            (printf \"load the saved hashtable for ~s.  Checking if non-empty valid hashtable...\\n\" ht-name)\n            (if (filled-hashtable? ht)\n                (begin\n                  (printf \"loaded hashtable for ~s is non-empty, with ~s entries\\n\" ht-name (hash-count ht))\n                  ht)\n                (error \"Unable to load or create hashtable ~s\" ht-name)))))))\n"
  },
  {
    "path": "attic/medikanren/create-hgnc-cui-to-cid-hashtable.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\")\n\n(provide\n  (all-defined-out))\n\n\n(define hgnc-ht (make-hash))\n(define hgnc-ht-file-path (build-path HASHTABLE_SAVE_DIRECTORY \"hgnc-hash.rkt\"))\n\n(define (fill-hgnc-ht!)\n\n  (set! hgnc-ht (make-hash))\n\n  (define add-to-ht! (add-concept-key/cid-associations-to-hashtable! hgnc-ht))\n\n  (add-to-ht! SEMMED #rx\"HGNC:([0-9]+)\")\n  ;; apparently rtx doesn't have HGNC synonyms \n  (add-to-ht! ROBOKOP #rx\"HGNC:([0-9]+)\")\n  (add-to-ht! ORANGE #rx\"HGNC:([0-9]+)\")\n\n  )\n\n(define (save-hgnc-ht!)\n  (save-hashtable! hgnc-ht hgnc-ht-file-path))\n\n(define (load-hgnc-ht)\n  (load-hashtable hgnc-ht-file-path))\n\n(define (load-or-create/save-hgnc-ht!)\n  (load-or-create/save-hashtable!\n    'hgnc\n    load-hgnc-ht\n    fill-hgnc-ht!\n    save-hgnc-ht!))\n"
  },
  {
    "path": "attic/medikanren/create-hpo-cui-to-cid-hashtable.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\")\n\n(provide\n  (all-defined-out))\n\n\n(define hpo-ht (make-hash))\n(define hpo-ht-file-path (build-path HASHTABLE_SAVE_DIRECTORY \"hpo-hash.rkt\"))\n\n(define (fill-hpo-ht!)\n\n  (set! hpo-ht (make-hash))\n\n  (define add-to-ht! (add-concept-key/cid-associations-to-hashtable! hpo-ht))\n\n  (add-to-ht! SEMMED #rx\"HPO:HP:([0-9]+)\")\n  (add-to-ht! RTX #rx\"HP:([0-9]+)\")\n  (add-to-ht! ROBOKOP #rx\"HP:([0-9]+)\")\n  (add-to-ht! ORANGE #rx\"HP:([0-9]+)\")\n\n  )\n\n(define (save-hpo-ht!)\n  (save-hashtable! hpo-ht hpo-ht-file-path))\n\n(define (load-hpo-ht)\n  (load-hashtable hpo-ht-file-path))\n\n(define (load-or-create/save-hpo-ht!)\n  (load-or-create/save-hashtable!\n    'hpo\n    load-hpo-ht\n    fill-hpo-ht!\n    save-hpo-ht!))\n"
  },
  {
    "path": "attic/medikanren/create-mondo-cui-to-cid-hashtable.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\")\n\n(provide\n  (all-defined-out))\n\n(define mondo-ht (make-hash))\n(define mondo-ht-file-path (build-path HASHTABLE_SAVE_DIRECTORY \"mondo-hash.rkt\"))\n\n(define (fill-mondo-ht!)\n\n  (set! mondo-ht (make-hash))\n\n  (define add-to-ht! (add-concept-key/cid-associations-to-hashtable! mondo-ht))\n\n  ;; Apparently Semmed doesn't have MONDO mappings\n  (add-to-ht! RTX #rx\"MONDO:([A-Z0-9]+)\")\n  (add-to-ht! ROBOKOP #rx\"MONDO:([A-Z0-9]+)\")\n  (add-to-ht! ORANGE #rx\"MONDO:([A-Z0-9]+)\")\n\n  )\n\n(define (save-mondo-ht!)\n  (save-hashtable! mondo-ht mondo-ht-file-path))\n\n(define (load-mondo-ht)\n  (load-hashtable mondo-ht-file-path))\n\n(define (load-or-create/save-mondo-ht!)\n  (load-or-create/save-hashtable!\n    'mondo\n    load-mondo-ht\n    fill-mondo-ht!\n    save-mondo-ht!))\n"
  },
  {
    "path": "attic/medikanren/create-omim-cui-to-cid-hashtable.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\")\n\n(provide\n  (all-defined-out))\n\n(define omim-ht (make-hash))\n(define omim-ht-file-path (build-path HASHTABLE_SAVE_DIRECTORY \"omim-hash.rkt\"))\n\n(define (fill-omim-ht!)\n\n  (set! omim-ht (make-hash))\n\n  (define add-to-ht! (add-concept-key/cid-associations-to-hashtable! omim-ht))\n\n (add-to-ht! SEMMED #rx\"OMIM:([A-Z0-9]+)\") \n  ;; apparently rtx doesn't have OMIM synonyms\n  (add-to-ht! ROBOKOP #rx\"OMIM:([A-Z0-9]+)\")\n  (add-to-ht! ORANGE #rx\"OMIM:([A-Z0-9]+)\")\n\n  )\n\n(define (save-omim-ht!)\n  (save-hashtable! omim-ht omim-ht-file-path))\n\n(define (load-omim-ht)\n  (load-hashtable omim-ht-file-path))\n\n(define (load-or-create/save-omim-ht!)\n  (load-or-create/save-hashtable!\n    'omim\n    load-omim-ht\n    fill-omim-ht!\n    save-omim-ht!))\n\n\n\n#|\n\nNeed to recognize occurrences of the CUI in the \"id\" field as well as the \"same_as\"/\"xrefs\" type fields:\n\n(orange 13749 \"OMIM:PS601462\" \"Myasthenic syndrome, congenital\" (2 . \"(\\\"named thing\\\")\") ((\"iri\" . \"http://purl.obolibrary.org/obo/OMIM_PS601462\") (\"provided_by\" . \"(\\\"omim.ttl\\\")\") (\"id\" . \"OMIM:PS601462\")))\n\n(robokop 172408 \"OMIM:607514\" \"BODY MASS INDEX QUANTITATIVE TRAIT LOCUS 10\" (3 . \"(\\\"named_thing\\\" \\\"disease\\\")\") ((\"id\" . \"OMIM:607514\") (\"equivalent_identifiers\" . \"(\\\"UMLS:C2675659\\\" \\\"OMIM:607514\\\")\")))\n\n|#\n"
  },
  {
    "path": "attic/medikanren/create-umls-cui-to-cid-hashtable.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\")\n\n(provide\n  (all-defined-out))\n\n\n(define umls-ht (make-hash))\n(define umls-ht-file-path (build-path HASHTABLE_SAVE_DIRECTORY \"umls-hash.rkt\"))\n\n(define (fill-umls-ht!)\n\n  (set! umls-ht (make-hash))\n\n  (define add-to-ht! (add-concept-key/cid-associations-to-hashtable! umls-ht))\n\n  (add-to-ht! SEMMED #rx\"UMLS:([A-Z0-9]+)\")\n  ;; Apparently RTX doesn't have UMLS mappings\n  (add-to-ht! ROBOKOP #rx\"UMLS:([A-Z0-9]+)\")\n  ;; Apparently Orange doesn't have UMLS mappings\n\n  )\n\n(define (save-umls-ht!)\n  (save-hashtable! umls-ht umls-ht-file-path))\n\n(define (load-umls-ht)\n  (load-hashtable umls-ht-file-path))\n\n(define (load-or-create/save-umls-ht!)\n  (load-or-create/save-hashtable!\n    'umls\n    load-umls-ht\n    fill-umls-ht!\n    save-umls-ht!))\n"
  },
  {
    "path": "attic/medikanren/create-uniprotkb-cui-to-cid-hashtable.rkt",
    "content": "#lang racket\n\n(require\n  \"create-hashtable-common.rkt\")\n\n(provide\n  (all-defined-out))\n\n\n(define uniprotkb-ht (make-hash))\n(define uniprotkb-ht-file-path (build-path HASHTABLE_SAVE_DIRECTORY \"uniprotkb-hash.rkt\"))\n\n(define (fill-uniprotkb-ht!)\n\n  (set! uniprotkb-ht (make-hash))\n\n  (define add-to-ht! (add-concept-key/cid-associations-to-hashtable! uniprotkb-ht))\n\n  (add-to-ht! SEMMED #rx\"UNIPROT:([A-Z0-9]+)\")\n  (add-to-ht! RTX #rx\"UniProtKB:([A-Z0-9]+)\")\n  (add-to-ht! ROBOKOP #rx\"UniProtKB:([A-Z0-9]+)\")\n  ;; apparently orange doesn't have UniProtKB synonyms \n\n  )\n\n(define (save-uniprotkb-ht!)\n  (save-hashtable! uniprotkb-ht uniprotkb-ht-file-path))\n\n(define (load-uniprotkb-ht)\n  (load-hashtable uniprotkb-ht-file-path))\n\n(define (load-or-create/save-uniprotkb-ht!)\n  (load-or-create/save-hashtable!\n    'uniprotkb\n    load-uniprotkb-ht\n    fill-uniprotkb-ht!\n    save-uniprotkb-ht!))\n\n\n\n#|\nThree supposedly equivalent concepts:\n\n(semmed 244 \"UMLS:C0962796\" \"SLC31A1 protein, human\" (2 . \"biological_entity\") ((\"umls_type_label\" . \"['Biologically Active Substance', 'Amino Acid, Peptide, or Protein']\") (\"xrefs\" . \"['MESH:C490079', 'NCI:C127860', 'UNIPROT:O15431', 'MTH:NOCODE']\") (\"id\" . \"UMLS:C0962796\") (\"umls_type\" . \"['T116', 'T123']\") (\"labels\" . \"['biological_entity']\")))\n\n(rtx 5771 \"UniProtKB:O15431\" \"solute carrier family 31 member 1\" (1 . \"protein\") ((\"symbol\" . \"SLC31A1\") (\"expanded\" . \"True\") (\"rtx_name\" . \"O15431\") (\"description\" . \"The protein encoded by this gene is a high-affinity copper transporter found in the cell membrane. The encoded protein functions as a homotrimer to effect the uptake of dietary copper. [provided by RefSeq, Aug 2011].\") (\"id\" . \"UniProtKB:O15431\") (\"accession\" . \"O15431\") (\"UUID\" . \"4be807f8-390c-11e9-8caf-0242ac110004\") (\"uri\" . \"http://identifiers.org/uniprot/O15431\") (\"seed_node_uuid\" . \"39368ad0-390c-11e9-8caf-0242ac110004\")))\n\n(robokop 20027 \"HGNC:11016\" \"SLC31A1\" (0 . \"(\\\"named_thing\\\" \\\"gene\\\")\") ((\"locus_group\" . \"protein-coding gene\") (\"chromosome\" . \"9\") (\"taxon\" . \"9606\") (\"gene_family\" . \"(\\\"Solute carriers\\\")\") (\"location\" . \"9q32\") (\"id\" . \"HGNC:11016\") (\"gene_family_id\" . \"(752)\") (\"equivalent_identifiers\" . \"(\\\"HGNC:11016\\\" \\\"UniProtKB:A0A024R824\\\" \\\"NCBIGENE:1317\\\" \\\"UniProtKB:O15431\\\" \\\"ENSEMBL:ENSG00000136868\\\")\")))\n\n\nAnother concept:\n\n(rtx 4 \"UniProtKB:P36404\" \"ADP ribosylation factor like GTPase 2\" (1 . \"protein\") ((\"symbol\" . \"ARL2\") (\"expanded\" . \"True\") (\"rtx_name\" . \"P36404\") (\"description\" . \"This gene encodes a small GTP-binding protein of the RAS superfamily which functions as an ADP-ribosylation factor (ARF). The encoded protein is one of a functionally distinct group of ARF-like genes. [provided by RefSeq, Jul 2008].\") (\"id\" . \"UniProtKB:P36404\") (\"accession\" . \"P36404\") (\"UUID\" . \"4da5df48-390c-11e9-8caf-0242ac110004\") (\"uri\" . \"http://identifiers.org/uniprot/P36404\") (\"seed_node_uuid\" . \"39368ad0-390c-11e9-8caf-0242ac110004\")))\n\n\norange doesn't seem to contain UniProtKB synonyms\n|#\n\n\n\n#|\n> (hash-count uniprotkb-ht)\n89196\n> (hash-ref uniprotkb-ht \"P36404\" #f)\n'((robokop . 166967) (rtx . 4))\n> (hash-ref uniprotkb-ht \"11016\" #f)\n#f\n> (hash-ref uniprotkb-ht \"A0A024R824\" #f)\n'((robokop . 20027))\n> (hash-ref uniprotkb-ht \"O15431\" #f)\n'((robokop . 20027) (rtx . 5771) (semmed . 244))\n|#\n"
  },
  {
    "path": "attic/medikanren/dhx30-full.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n\n  membero\n  edgeo\n  ~name-concepto\n\n  semmed\n  monarch\n  rtx\n  scigraph\n  )\n\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n(displayln \"loading semmed\")\n(define semmed (time (make-db \"data/semmed\")))\n(displayln \"loading monarch-lite\")\n(define monarch (time (make-db \"data/monarch-lite\")))\n(displayln \"loading rtx\")\n(define rtx (time (make-db \"data/rtx\")))\n(displayln \"loading scigraph\")\n(define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ((fresh (ee) (== `(scigraph . ,ee) e) (db:edgeo scigraph ee)))))\n\n(define (~name-concepto n c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed n cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch n cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx n cc)))\n    ((fresh (cc) (== `(scigraph . ,cc) c) (db:~name-concepto scigraph n cc)))))\n\n(displayln \"X ANY-PRED ANY-DHX30-SYNONYM:\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name db)\n           (fresh (subject scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (membero name '(\"DHX30\"\n                             \"DExH-Box Helicase 30\"\n                             \"DEAD/H (Asp-Glu-Ala-Asp/His) Box Polypeptide 30\"\n                             \"DEAH-Box Helicase 30\"\n                             \"DEAH Box Protein 30\"\n                             \"DDX30\"\n                             \"DEAH (Asp-Glu-Ala-His) Box Polypeptide 30\"\n                             \"Putative ATP-Dependent RNA Helicase DHX30\"\n                             \"DEAH (Asp-Glu-Ala-His) Box Helicase 30\"\n                             \"Retina Co-Repressor\"\n                             \"EC 3.6.4.13\"\n                             \"KIAA0890\"\n                             \"NEDMIAL\"\n                             \"RETCOR\"\n                             ))\n             (~name-concepto name `(,db . ,object))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo `(,db . ,edge)))))))\n"
  },
  {
    "path": "attic/medikanren/dhx30.rkt",
    "content": "#lang racket\n(require\n  \"mk-db.rkt\"\n  )\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n(define x-anypred-anydhx30-synonym\n  (lambda (db-name)\n    (printf \"loading db: ~s\\n\" db-name)\n    (define db (time (make-db db-name)))\n    (newline)\n    (displayln \"X ANY-PRED ANY-DHX30-SYNONYM:\")\n    (time (pretty-print (run* (q)\n                          (fresh (edge name)\n                            (fresh (scid scui sname scatid scat sprops\n                                         ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                              (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                         (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                         (,pid . ,pred) ,eprops) edge)\n                              (membero name '(\"DHX30\"\n                                              \"DExH-Box Helicase 30\"\n                                              \"DEAD/H (Asp-Glu-Ala-Asp/His) Box Polypeptide 30\"\n                                              \"DEAH-Box Helicase 30\"\n                                              \"DEAH Box Protein 30\"\n                                              \"DDX30\"\n                                              \"DEAH (Asp-Glu-Ala-His) Box Polypeptide 30\"\n                                              \"Putative ATP-Dependent RNA Helicase DHX30\"\n                                              \"DEAH (Asp-Glu-Ala-His) Box Helicase 30\"\n                                              \"Retina Co-Repressor\"\n                                              \"EC 3.6.4.13\"\n                                              \"KIAA0890\"\n                                              \"NEDMIAL\"\n                                              \"RETCOR\"\n                                              ))\n                              (project (name)\n                                (db:~name-concepto db name `(,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))))\n                              (== `(,sname ,pred ,oname) q)\n                              (db:edgeo db edge))))))))\n\n\n;(define db-name \"data/monarch-lite\")\n(define db-name \"data/rtx\") ;; regulates\n;(define db-name \"data/scigraph\")\n;(define db-name \"data/semmed\")\n\n(x-anypred-anydhx30-synonym db-name)\n"
  },
  {
    "path": "attic/medikanren/examine-concepts.rkt",
    "content": "#lang racket\n\n(provide\n\n concept-info\n concept-count-alist-sorted-by-tag-name\n concept-count-alist-sorted-by-tag-count\n alist-of-concept-lists\n alist-of-concept-sets\n concept-tag-intersections\n concept-tag-set-symmetric-difference\n )\n\n(define get-concepts-in-db\n  (lambda (db)\n    (printf \"reading ~s concept tags...\\n\" db)\n    (let ((p (open-input-file (string-append \"data/\" db \"/concepts.scm\"))))\n      (let loop ((concept (read p))\n                 (concept-sources '())\n                 (concept-count-ht (hash)))\n        (cond\n          [(eof-object? concept)\n           (close-input-port p)\n           (printf \"read ~s ~s concept tags\\n\" (length concept-sources) db)\n           (list (sort concept-sources string<?)\n                 concept-count-ht)]\n          [else (let* ((concept-tag (vector-ref concept 0))\n                       (tag-parts (regexp-split #rx\":\" concept-tag))\n                       (tag-source (car tag-parts))\n                       (concept-sources (if (member tag-source concept-sources)\n                                            concept-sources\n                                            (cons tag-source concept-sources)))\n                       (concept-count-ht (hash-set concept-count-ht\n                                                   tag-source\n                                                   (add1 (hash-ref concept-count-ht tag-source 0)))))\n                  (loop (read p)                 \n                        concept-sources\n                        concept-count-ht))])))))\n\n\n(define concept-info\n  (map (lambda (db)\n         (let ((c (get-concepts-in-db db)))\n           (cons db c)))\n       '(\"monarch-lite\" \"rtx\" \"scigraph\" \"semmed\")))\n\n;;; scigraph is just monarch-lite + semmeddb\n(let ((monarch-lite-concept-counts (hash->list (caddr (assoc \"monarch-lite\" concept-info))))\n      (scigraph-concept-counts (hash->list (caddr (assoc \"scigraph\" concept-info)))))\n  (let ((scigraph-concept-counts-minus-semmed (remove (assoc \"UMLS\" scigraph-concept-counts) scigraph-concept-counts)))\n    (let ((same (equal? monarch-lite-concept-counts\n                        scigraph-concept-counts-minus-semmed)))\n      (printf \"** is scigraph just monarch-lite + semmeddb? ~s\\n\" same)\n      same)))\n\n;; how many concepts are there in the scigraph version of semmeddb, versus the cleaned up semmeddb?\n;;\n;; the semmeddb in scigraph is much larger than the cleaned up semmeddb\n(let ((scigraph-semmed-UMLS-concept-coount (hash-ref (caddr (assoc \"scigraph\" concept-info)) \"UMLS\"))\n      (cleand-up-esemmed-UMLS-concept-coount (hash-ref (caddr (assoc \"semmed\" concept-info)) \"UMLS\")))\n  (printf \"** semmed UMLS concepts in scigraph: ~s\\n\" scigraph-semmed-UMLS-concept-coount)\n  (printf \"** semmed UMLS concepts in cleaned up semmeddb: ~s\\n\" cleand-up-esemmed-UMLS-concept-coount)\n  (list scigraph-semmed-UMLS-concept-coount\n        cleand-up-esemmed-UMLS-concept-coount))\n\n(define concept-count-alist-sorted-by-tag-name\n  (map (lambda (c)\n         (list (car c)\n               (sort (hash->list (caddr c))\n                     (lambda (e1 e2)\n                       (string<? (car e1) (car e2))))))\n       concept-info))\n\n(define concept-count-alist-sorted-by-tag-count\n  (map (lambda (c)\n       (list (car c)\n             (sort (hash->list (caddr c))\n                   (lambda (e1 e2)\n                     (> (cdr e1) (cdr e2))))))\n     concept-info))\n\n(define alist-of-concept-lists\n  (map (lambda (info)\n         (cons (car info) (cadr info)))\n       concept-info))\n\n(define alist-of-concept-sets\n  (map (lambda (e)\n         (cons (car e) (apply set (cdr e))))\n       alist-of-concept-lists))\n\n;; calculate intersections (overlaps) between data sources\n(define concept-tag-intersections\n  (let loop ((alist-of-concept-sets alist-of-concept-sets)\n             (intersections '()))\n    (match alist-of-concept-sets\n      ['() intersections]\n      [`((,db1 . ,concept-set1) . ,rest)\n       (loop (cdr alist-of-concept-sets)\n             (append (map (lambda (e)\n                            (match e\n                              [`(,db2 . ,concept-set2)\n                               (list (list db1 db2)\n                                     (sort (set->list (set-intersect concept-set1 concept-set2)) string<?))]))\n                          rest)\n                     intersections))])))\n\n;; calculate differences between data sources\n(define concept-tag-set-symmetric-difference \n  (let loop ((alist-of-concept-sets alist-of-concept-sets)\n             (symmetric-differences '()))\n    (match alist-of-concept-sets\n      ['() symmetric-differences]\n      [`((,db1 . ,concept-set1) . ,rest)\n       (loop (cdr alist-of-concept-sets)\n             (append (map (lambda (e)\n                            (match e\n                              [`(,db2 . ,concept-set2)\n                               (list (list db1 db2)\n                                     (set-symmetric-difference concept-set1 concept-set2))]))\n                          rest)\n                     symmetric-differences))])))\n"
  },
  {
    "path": "attic/medikanren/example-dhx30-monarch-lite.rkt",
    "content": "#lang racket\n(require\n  \"mk-db.rkt\"\n  )\n\n(define monarch-lite (time (make-db \"data/monarch-lite\")))\n\n(displayln \"categories:\")\n(pretty-print (run* (c) (db:categoryo monarch-lite c)))\n\n(newline)\n(displayln \"predicates:\")\n(pretty-print (run* (p) (db:predicateo monarch-lite p)))\n\n(newline)\n(displayln \"some concepts:\")\n(pretty-print (run 10 (c) (db:concepto monarch-lite c)))\n\n(newline)\n(displayln \"some edges:\")\n(pretty-print (run 10 (e) (db:edgeo monarch-lite e)))\n\n(newline)\n(displayln \"fuzzy search DHX30:\")\n(time (pretty-print (run* (c) (db:~name-concepto monarch-lite \"DHX30\" c))))\n;; =>\n'((4728\n   \"HGNC:16716\"\n   \"DHX30\"\n   (1 . \"['gene', 'sequence feature']\")\n   ((\"iri\" . \"http://identifiers.org/hgnc/HGNC:16716\")\n    (\"clique\"\n     .\n     \"['HGNC:16716', 'NCBIGene:22907', 'OMIM:616423', 'ENSEMBL:ENSG00000132153', 'ENSEMBL:ENSP00000343442', 'ENSEMBL:ENSP00000392601', 'ENSEMBL:ENSP00000394682', 'ENSEMBL:ENSP00000379094', 'ENSEMBL:ENSP00000405620', 'UniProtKB:Q7L2E3', 'ENSEMBL:ENSP00000483160', 'ENSEMBL:ENSP00000395166', 'ENSEMBL:ENSP00000410571']\")\n    (\"http://purl.org/dc/elements/1.1/description\" . \"DExH-box helicase 30\")\n    (\"http://www.w3.org/2000/01/rdf-schema#label\" . \"DHX30\")\n    (\"id\" . \"HGNC:16716\")\n    (\"label\" . \"DHX30\")\n    (\"https://monarchinitiative.org/MONARCH_cliqueLeader\" . \"True\")\n    (\"labels\"\n     .\n     \"['gene', 'sequence_feature', 'Class', 'cliqueLeader', 'Node']\")))\n  (28624\n   \"MGI:1920081\"\n   \"Dhx30\"\n   (1 . \"['gene', 'sequence feature']\")\n   ((\"iri\" . \"http://www.informatics.jax.org/accession/MGI:1920081\")\n    (\"clique\"\n     .\n     \"['MGI:1920081', 'NCBIGene:72831', 'ENSEMBL:ENSMUSG00000032480', 'ENSEMBL:ENSMUSP00000143371', 'ENSEMBL:ENSMUSP00000062622', 'ENSEMBL:ENSMUSP00000143529', 'ENSEMBL:ENSMUSP00000142659', 'UniProtKB:Q99PU8', 'ENSEMBL:ENSMUSP00000143616', 'ENSEMBL:ENSMUSP00000143607', 'ENSEMBL:ENSMUSP00000143700', 'ENSEMBL:ENSMUSP00000143751', 'ENSEMBL:ENSMUSP00000142549', 'ENSEMBL:ENSMUSP00000142489', 'ENSEMBL:ENSMUSP00000129174', 'ENSEMBL:ENSMUSP00000142952', 'ENSEMBL:ENSMUSP00000142636', 'ENSEMBL:ENSMUSP00000143272', 'ENSEMBL:ENSMUSP00000107622', 'ENSEMBL:ENSMUSP00000142836', 'ENSEMBL:ENSMUSP00000142846']\")\n    (\"synonym\"\n     .\n     \"['PTN000433446', 'helG', 'Ddx30', 'C130058C04Rik', 'UniProtKB:Q99PU8', '2810477H02Rik', 'DEAH (Asp-Glu-Ala-His) box polypeptide 30']\")\n    (\"http://www.geneontology.org/formats/oboInOwl#hasExactSynonym\"\n     .\n     \"['PTN000433446', 'helG', 'Ddx30', 'C130058C04Rik', 'UniProtKB:Q99PU8', '2810477H02Rik', 'DEAH (Asp-Glu-Ala-His) box polypeptide 30']\")\n    (\"http://purl.org/dc/elements/1.1/description\"\n     .\n     \"['Putative ATP-dependent RNA helicase DHX30', 'DEAH (Asp-Glu-Ala-His) box polypeptide 30']\")\n    (\"http://www.w3.org/2000/01/rdf-schema#label\" . \"Dhx30\")\n    (\"id\" . \"MGI:1920081\")\n    (\"label\" . \"Dhx30\")\n    (\"https://monarchinitiative.org/MONARCH_cliqueLeader\" . \"True\")\n    (\"labels\"\n     .\n     \"['gene', 'sequence_feature', 'Class', 'cliqueLeader', 'Node']\")))\n  (75120\n   \"ZFIN:ZDB-GENE-130530-833\"\n   \"dhx30\"\n   (1 . \"['gene', 'sequence feature']\")\n   ((\"iri\" . \"http://zfin.org/ZDB-GENE-130530-833\")\n    (\"synonym\" . \"zmp:0000000830\")\n    (\"clique\"\n     .\n     \"['ZFIN:ZDB-GENE-130530-833', 'ENSEMBL:ENSDARG00000077839', 'NCBIGene:570735', 'ENSEMBL:ENSDARP00000101025']\")\n    (\"http://www.geneontology.org/formats/oboInOwl#hasExactSynonym\"\n     .\n     \"zmp:0000000830\")\n    (\"http://purl.org/dc/elements/1.1/description\"\n     .\n     \"DEAH (Asp-Glu-Ala-His) box helicase 30\")\n    (\"http://www.w3.org/2000/01/rdf-schema#label\" . \"dhx30\")\n    (\"id\" . \"ZFIN:ZDB-GENE-130530-833\")\n    (\"label\" . \"dhx30\")\n    (\"https://monarchinitiative.org/MONARCH_cliqueLeader\" . \"True\")\n    (\"labels\"\n     .\n     \"['gene', 'sequence_feature', 'Class', 'cliqueLeader', 'Node']\")))\n  (268417\n   \"RGD:1308888\"\n   \"Dhx30\"\n   (1 . \"['gene', 'sequence feature']\")\n   ((\"iri\" . \"http://rgd.mcw.edu/rgdweb/report/gene/main.html?id=1308888\")\n    (\"clique\" . \"['RGD:1308888', 'NCBIGene:367172']\")\n    (\"synonym\" . \"['UniProtKB:Q5BJS0', 'PTN000433447']\")\n    (\"http://www.geneontology.org/formats/oboInOwl#hasExactSynonym\"\n     .\n     \"['UniProtKB:Q5BJS0', 'PTN000433447']\")\n    (\"http://purl.org/dc/elements/1.1/description\"\n     .\n     \"['Putative ATP-dependent RNA helicase DHX30', 'DExH-box helicase 30']\")\n    (\"http://www.w3.org/2000/01/rdf-schema#label\" . \"Dhx30\")\n    (\"id\" . \"RGD:1308888\")\n    (\"label\" . \"Dhx30\")\n    (\"https://monarchinitiative.org/MONARCH_cliqueLeader\" . \"True\")\n    (\"labels\"\n     .\n     \"['gene', 'sequence_feature', 'Class', 'cliqueLeader', 'Node']\"))))\n\n(newline)\n(displayln \"X ANY-PRED DHX30:\")\n(time (pretty-print (run* (edge)\n                      (fresh (scid scui sname scatid scat sprops\n                                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                        (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                   (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                   (,pid . ,pred) ,eprops) edge)\n                        (db:~name-concepto monarch-lite \"DHX30\" `(,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops)))\n                        (db:edgeo monarch-lite edge)))))\n\n(newline)\n(displayln \"DHX30 ANY-PRED X\")\n(time (pretty-print (run* (edge)\n                      (fresh (scid scui sname scatid scat sprops\n                                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                        (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                   (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                   (,pid . ,pred) ,eprops) edge)\n                        (db:~name-concepto monarch-lite \"DHX30\" `(,scid . (,scui ,sname (,scatid . ,scat) . ,sprops)))\n                        (db:edgeo monarch-lite edge)))))\n"
  },
  {
    "path": "attic/medikanren/example-dhx30-scigraph.rkt",
    "content": "#lang racket\n(require\n  \"mk-db.rkt\"\n  )\n\n(define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n\n#|\n(displayln \"categories:\")\n(pretty-print (run* (c) (db:categoryo scigraph c)))\n\n(newline)\n(displayln \"predicates:\")\n(pretty-print (run* (p) (db:predicateo scigraph p)))\n\n(newline)\n(displayln \"some concepts:\")\n(pretty-print (run 10 (c) (db:concepto scigraph c)))\n\n(newline)\n(displayln \"some edges:\")\n(pretty-print (run 10 (e) (db:edgeo scigraph e)))\n\n(newline)\n(displayln \"fuzzy search:\")\n(time (pretty-print (run* (c) (db:~name-concepto scigraph \"imatin\" c))))\n|#\n\n#|\n(newline)\n(displayln \"fuzzy search DHX30:\")\n(time (pretty-print (run* (c) (db:~name-concepto scigraph \"DHX30\" c))))\n|#\n\n#|\n(newline)\n(displayln \"fuzzy search for DHX30 synonyms:\")\n(time (pretty-print (run* (c)\n                      (fresh (name)\n                        ;; Gene Card synonyms\n                        ;; https://www.genecards.org/cgi-bin/carddisp.pl?gene=DHX30&keywords=DHX30\n                        (membero name '(\"DHX30\"\n                                        \"DExH-Box Helicase 30\"\n                                        \"DEAD/H (Asp-Glu-Ala-Asp/His) Box Polypeptide 30\"\n                                        \"DEAH-Box Helicase 30\"\n                                        \"DEAH Box Protein 30\"\n                                        \"DDX30\"\n                                        \"DEAH (Asp-Glu-Ala-His) Box Polypeptide 30\"\n                                        \"Putative ATP-Dependent RNA Helicase DHX30\"\n                                        \"DEAH (Asp-Glu-Ala-His) Box Helicase 30\"\n                                        \"Retina Co-Repressor\"\n                                        \"EC 3.6.4.13\"\n                                        \"KIAA0890\"\n                                        \"NEDMIAL\"\n                                        \"RETCOR\"\n                                        ))\n                        (project (name)\n                          (db:~name-concepto scigraph name c))))))\n|#\n\n\n\n(newline)\n(displayln \"X ANY-PRED ANY-DHX30-SYNONYM:\")\n(time (pretty-print (run* (q)\n                      (fresh (edge name)\n                        (fresh (scid scui sname scatid scat sprops\n                                     ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                          (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                     (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                     (,pid . ,pred) ,eprops) edge)\n                          (membero name '(\"DHX30\"\n                                            \"DExH-Box Helicase 30\"\n                                            \"DEAD/H (Asp-Glu-Ala-Asp/His) Box Polypeptide 30\"\n                                            \"DEAH-Box Helicase 30\"\n                                            \"DEAH Box Protein 30\"\n                                            \"DDX30\"\n                                            \"DEAH (Asp-Glu-Ala-His) Box Polypeptide 30\"\n                                            \"Putative ATP-Dependent RNA Helicase DHX30\"\n                                            \"DEAH (Asp-Glu-Ala-His) Box Helicase 30\"\n                                            \"Retina Co-Repressor\"\n                                            \"EC 3.6.4.13\"\n                                            \"KIAA0890\"\n                                            \"NEDMIAL\"\n                                            \"RETCOR\"\n                                            ))\n                          (project (name)\n                            (db:~name-concepto scigraph name `(,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))))\n                          (== `(,sname ,pred ,oname) q)\n                          (db:edgeo scigraph edge))))))\n\n\n#|\n(newline)\n(displayln \"X ANY-PRED DHX30:\")\n(time (pretty-print (run* (edge)\n                      (fresh (scid scui sname scatid scat sprops\n                                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                        (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                   (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                   (,pid . ,pred) ,eprops) edge)\n                        (db:~name-concepto scigraph \"DHX30\" `(,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops)))\n                        (db:edgeo scigraph edge)))))\n\n(newline)\n(displayln \"DHX30 ANY-PRED X\")\n(time (pretty-print (run* (edge)\n                      (fresh (scid scui sname scatid scat sprops\n                                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                        (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                   (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                   (,pid . ,pred) ,eprops) edge)\n                        (db:~name-concepto scigraph \"DHX30\" `(,scid . (,scui ,sname (,scatid . ,scat) . ,sprops)))\n                        (db:edgeo scigraph edge)))))\n|#\n"
  },
  {
    "path": "attic/medikanren/find-edges-by-pubmed-id.rkt",
    "content": "#lang racket\n\n(provide\n (all-from-out \"../../medikanren/mk.rkt\")\n (all-from-out \"../../medikanren/db.rkt\")\n (all-from-out \"../../medikanren/mk-db.rkt\")\n \n (all-defined-out))\n\n(require\n  \"../../medikanren/mk.rkt\"\n  \"../../medikanren/db.rkt\"\n  \"../../medikanren/mk-db.rkt\"\n  (except-in racket/match ==))\n\n(displayln \"loading semmed\")\n(define semmed (time (make-db \"../../medikanren/data/semmed\")))\n;; (displayln \"loading monarch-lite\")\n;; (define monarch (time (make-db \"data/monarch-lite\")))\n;; (displayln \"loading rtx\")\n;; (define rtx (time (make-db \"data/rtx\")))\n;; (displayln \"loading scigraph\")\n;; (define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; remove duplicates from a list\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ;((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ;((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ;((fresh (ee) (== `(scigraph . ,ee) e) (db:edgeo scigraph ee)))\n    ))\n\n(define (~name-concepto n c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed n cc)))\n    ;((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch n cc)))\n    ;((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx n cc)))\n    ;((fresh (cc) (== `(scigraph . ,cc) c) (db:~name-concepto scigraph n cc)))\n    ))\n\n;; Greg's examples from example-semmed.rkt\n(displayln \"associating pubmed ids with edge ids:\")\n(time (pretty-print (run 10 (pmid eid) (db:pmid-eido semmed pmid eid))))\n(time (pretty-print (run*        (eid) (db:pmid-eido semmed \"1000085\" eid))))\n(time (pretty-print (run*        (eid) (db:pmid-eido semmed \"10000\" eid))))\n(time (pretty-print (run*        (eid) (db:pmid-eido semmed \"999999\" eid))))\n\n\n(run 1 (e)\n  (fresh (dbname eid rest)\n    (db:pmid-eido semmed \"1000085\" eid)\n    (== `(,dbname ,eid . ,rest) e)\n    (edgeo e)))\n\n(run* (e)\n  (fresh (dbname eid rest)\n    (db:pmid-eido semmed \"1000085\" eid)\n    (== `(,dbname ,eid . ,rest) e)\n    (edgeo e)))\n\n(run* (q)\n  (fresh (dbname eid e\n                 scid scui sname scatid scat sprops\n                 ocid ocui oname ocatid ocat oprops\n                 pid pred eprops)\n    (db:pmid-eido semmed \"1000085\" eid)\n    (== `(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n                  (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n                  (,pid . ,pred) . ,eprops)\n        e)\n    (== (list sname pred oname) q)\n    (edgeo e)))\n\n(define find-edges-by-pubmed-id\n  (lambda (pubmed-id)\n    (let ((pubmed-id-str (if (string? pubmed-id)\n                             pubmed-id\n                             (~a pubmed-id))))\n      (printf \"finding edges for PubMed entry ~s\\n\" pubmed-id-str)\n      (run* (q)\n        (fresh (dbname eid e\n                       scid scui sname scatid scat sprops\n                       ocid ocui oname ocatid ocat oprops\n                       pid pred eprops)\n          (db:pmid-eido semmed pubmed-id-str eid)\n          (== `(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n                        (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n                        (,pid . ,pred) . ,eprops)\n              e)\n          (== (list sname pred oname eid) q)\n          (edgeo e))))))\n\n(define find-pubmed-ids-by-eid\n  (lambda (eid)\n    (printf \"finding PubMed Ids that support edge ~s\\n\" eid)\n    (let ((ans (run* (q)\n                 (fresh (dbname e\n                                scid scui sname scatid scat sprops\n                                ocid ocui oname ocatid ocat oprops\n                                pid pred eprops)\n                   (== 'semmed dbname)\n                   (== `(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n                                 (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n                                 (,pid . ,pred) . ,eprops)\n                       e)\n                   (edgeo e)\n                   (project (eprops)\n                     (let ((pmid-pr (assoc \"pmids\" (car eprops))))\n                       (cond\n                         [pmid-pr\n                          (let ((pmid-str* (string-split (cdr pmid-pr) \";\")))\n                            (== pmid-str* q))]\n                         [else\n                          (printf \"bad edge: ~s\\n\" e)\n                          (printf \"bad properties: ~s\\n\" eprops)\n                          (printf \"bad pmid-pr: ~s\\n\" pmid-pr)\n                          (error 'loop \"missing pmids entry\")])))))))\n      (if (null? ans)\n          '()\n          (sort (rem-dups (map string->number (car ans))) <)))))\n\n; (find-pubmed-ids-by-eid 4759781)\n; (find-edges-by-pubmed-id 28230014)\n\n(map find-edges-by-pubmed-id (find-pubmed-ids-by-eid 4759781))\n\n(define find-edges-related-to-given-edge\n  (lambda (eid)\n    (printf \"finding edges supported by publications that support edge ~s\\n\" eid)\n    (sort\n     (rem-dups (foldr (lambda (pmid l)\n                        (append (find-edges-by-pubmed-id pmid) l))\n                      '()\n                      (find-pubmed-ids-by-eid eid)))\n     (lambda (l1 l2)\n       (let ((o1 (string-downcase (car l1)))\n             (o2 (string-downcase (car l2)))\n             (p1 (string-downcase (cadr l1)))\n             (p2 (string-downcase (cadr l2)))\n             (s1 (string-downcase (caddr l1)))\n             (s2 (string-downcase (caddr l2))))\n         (or (string<? p1 p2)\n             (and (string=? p1 p2)\n                  (string<? o1 o2))\n             (and (string=? p1 p2)\n                  (string=? o1 o2)\n                  (string<? s1 s2))))))))\n\n(find-edges-related-to-given-edge 4759781)\n\n(db:eid->edge semmed 5337181)\n\n(let ((v (db:eid->edge semmed 5337181)))\n  (let ((eprops (vector-ref v 3)))\n    (let ((pmid-pr (assoc \"pmids\" eprops)))\n      (cond\n        [pmid-pr\n         (let ((pmid-str* (rem-dups (string-split (cdr pmid-pr) \";\"))))\n           (map (lambda (p) (string-append \"https://www.ncbi.nlm.nih.gov/pubmed/\" p)) pmid-str*))]\n        [else\n         (printf \"bad edge: ~s\\n\" v)\n         (printf \"bad properties: ~s\\n\" eprops)\n         (printf \"bad pmid-pr: ~s\\n\" pmid-pr)\n         (error 'loop \"missing pmids entry\")]))))\n"
  },
  {
    "path": "attic/medikanren/gui-simple-v3.rkt",
    "content": "#lang racket\n\n#|\nGUI bug:\n\nstart GUI\n\nCURIE search for HGNC 15840 in Concept 1\nclick on some predicate\n\nthen do CURIE search for HGNC 15840 in Concept 1\nclick on some predicate\n\nno concept X\n\nthen delete CURIE string in Concept 1\n\nno concept X still\n\nif switch from CURIE to string search for concept 1,\nthen click on pred in concept 2, X is populated\n\n\nTODO:\n\n* bring in related concepts\n\n* support additional CURIE types\n\n* refactor CURIE-related code, including string-trim nightmare\n|#\n\n(require\n  \"common.rkt\"\n  racket/sandbox\n  racket/gui/base\n  framework\n  racket/engine\n  racket/date\n  racket/string\n  net/sendurl\n  \"db.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==)\n  (only-in srfi/1 iota))\n\n(provide\n  launch-gui)\n\n(define MEDIKANREN_VERSION_STRING \"mediKanren Explorer 0.2.29\")\n\n(define argv (current-command-line-arguments))\n(define argv-optional '#(CONFIG_FILE))\n\n(when (not (<= (vector-length argv) (vector-length argv-optional)))\n  (error \"optional arguments ~s; given ~s\" argv-optional argv))\n\n(displayln \"Starting mediKanren Explorer...\")\n(newline)\n(displayln \"************************************************\")\n(displayln \"*** mediKanren is for research purposes only ***\")\n(displayln \"************************************************\")\n(newline)\n(displayln MEDIKANREN_VERSION_STRING)\n;; Loading will occur at first use if not explicitly forced like this.\n(load-config #t (and (<= 1 (vector-length argv)) (vector-ref argv 0)))\n(load-databases #t)\n\n;;; Query save file settings\n(define WRITE_QUERY_RESULTS_TO_FILE            (config-ref 'query-results.write-to-file?))\n(define QUERY_RESULTS_FILE_NAME                (config-ref 'query-results.file-name))\n(define HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME (config-ref 'query-results.file-name-human))\n(define SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME (config-ref 'query-results.file-name-spreadsheet))\n(define QUERY_RESULTS_FILE_MODE                (config-ref 'query-results.file-mode))\n\n;;; Initial window size\n(define HORIZ-SIZE (config-ref 'initial-window-size.horizontal))\n(define VERT-SIZE (config-ref 'initial-window-size.vertical))\n\n;;; Decreases/increases predicate names\n(define DECREASES_PREDICATE_NAMES (config-ref 'decreases-predicate-names))\n(define INCREASES_PREDICATE_NAMES (config-ref 'increases-predicate-names))\n\n\n#|\nconcept format (subject or object), without dbname at front:\n\n`(,cid ,cui ,name (,catid . ,cat) ,props)\n\nconcept format (subject or object), with dbname at front:\n\n`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n\n\nedge format, without dbname at front:\n\n`(,eid (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n       (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n       (,pid . ,pred) ,eprops)\n\nedge format, with dbname at front (as used in edgeo):\n\n`(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n               (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n               (,pid . ,pred) ,eprops)\n|#\n\n(define (split-name-string name)\n  (string-split name #px\"\\\\s+\"))\n\n(define (empty-string? str)\n  (not (not (regexp-match #px\"^[\\\\s]*$\" str))))\n\n(define *verbose* #t)\n\n(define input-response-latency 50)\n\n(define MAX-CHAR-WIDTH 150)\n\n(define smart-column-width-list-box%\n  (class list-box%\n    (super-new)\n    (define (on-size width height)\n      (super on-size width height)\n      (set-default-column-widths this))\n    (override on-size)))\n\n(define (set-default-column-widths list-box)\n  (define label* (send list-box get-column-labels))\n  (define num-cols (length label*))\n  (define window-width (send list-box get-width))\n  (define min-width 5)\n  (define max-width 1000)\n  (define fudge-factor 4) ;; column divider width\n  (define width (min (max (- (floor (/ window-width num-cols)) fudge-factor)\n                          min-width)\n                     max-width))\n  (let loop ((col-num (sub1 num-cols)))\n    (cond\n      [(zero? col-num) (void)]\n      [else\n       (send list-box\n             set-column-width\n             col-num\n             width\n             min-width\t \n             max-width)\n       (loop (sub1 col-num))])))\n\n(define construct-predicate-label-string\n  (lambda (pred-string pred-name-list)\n    (~a\n     (string-append pred-string\n                   \"  (\"\n                   (foldr (lambda (str1 str2)\n                            (if (equal? \"\" str2)\n                                (string-append str1 \"\" str2)\n                                (string-append str1 \", \" str2)))\n                          \"\"\n                          pred-name-list)\n                   \")\")\n     #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")))\n\n(define DECREASES_PREDICATE_PREFIX_STRING \"decreases [synthetic]\")\n(define DECREASES_PREDICATE_STRING\n  (construct-predicate-label-string DECREASES_PREDICATE_PREFIX_STRING DECREASES_PREDICATE_NAMES))\n(define INCREASES_PREDICATE_PREFIX_STRING \"increases [synthetic]\")\n(define INCREASES_PREDICATE_STRING\n  (construct-predicate-label-string INCREASES_PREDICATE_PREFIX_STRING INCREASES_PREDICATE_NAMES))\n\n(define SYNTHETIC_PREDICATE_PREFIXES (list DECREASES_PREDICATE_PREFIX_STRING\n                                           INCREASES_PREDICATE_PREFIX_STRING\n                                           ))\n\n\n(define SORT_COLUMN_INCREASING 'sort-column-increasing)\n(define SORT_COLUMN_DECREASING 'sort-column-decreasing)\n\n(define *concept-1-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING))\n(define *last-concept-1-column-clicked-for-sorting* (box -1))\n\n(define *concept-2-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING))\n(define *last-concept-2-column-clicked-for-sorting* (box -1))\n\n(define *concept-X-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING))\n(define *last-concept-X-column-clicked-for-sorting* (box -1))\n\n\n(define *concept-1-name-string* (box \"\"))\n(define *concept-1-isa-flag* (box #f))\n(define *curie-1-string* (box \"\"))\n(define *concept-1-choices* (box '()))\n(define *predicate-1-choices* (box '()))\n\n(define *concept-2-name-string* (box \"\"))\n(define *concept-2-isa-flag* (box #f))\n(define *curie-2-string* (box \"\"))\n(define *concept-2-choices* (box '()))\n(define *predicate-2-choices* (box '()))\n\n(define *concept-X-choices* (box '()))\n(define *full-path-choices* (box '()))\n(define *pubmed-choices* (box '()))\n\n;; saved choices used to generate\n;; paths when clicking on a concept in the X list box.\n(define *solution-concept-1-name-string* (box \"\"))\n(define *solution-concept-2-name-string* (box \"\"))\n;;\n(define *solution-curie-1-string* (box \"\"))\n(define *solution-curie-2-string* (box \"\"))\n;;\n(define *solution-concept-1-isa-flag* (box #f))\n(define *solution-concept-2-isa-flag* (box #f))\n(define *solution-concept-1-choices* (box '()))\n(define *solution-concept-2-choices* (box '()))\n(define *solution-predicate-1-choices* (box '()))\n(define *solution-predicate-2-choices* (box '()))\n\n(define handle-search-in-Xs\n  (lambda (search-in-Xs-field\n           concept-X-list-box\n           search-in-Xs-previous-button\n           search-in-Xs-next-button\n           . rest)\n    (define direction (if (and (list? rest) (= (length rest) 1)) (car rest) #f))\n    (define search-str (send search-in-Xs-field get-value))\n\n    (define current-selection (send concept-X-list-box get-selection))\n\n    (cond\n      [direction\n\n       (define count (send concept-X-list-box get-number))\n\n       (define add1/sub1 (case direction\n                           [(previous) sub1]\n                           [(next) add1]\n                           [else (error 'add1/sub1 \"unknown direction in inc/dec\")]))\n       \n       (define found-selection\n         (and (> count 0)\n              (let loop ((i (add1/sub1 current-selection)))\n                (cond\n                  [(>= i count) (loop 0)]\n                  [(< i 0) (loop (- count 1))]\n                  [else\n                   (define data (send concept-X-list-box get-data i))\n                   (define name-str (list-ref data 3))\n                   (define matches?\n                     (smart-string-matches? #f\n                                            chars:ignore-typical\n                                            \"\"\n                                            (string-split search-str \" \")\n                                            name-str))\n                   (cond\n                     [matches? i]\n                     [(= i current-selection)\n                      ;; wrapped around without a match\n                      #f]\n                     [else (loop (add1/sub1 i))])]))))\n\n       (if found-selection\n           (when (not (equal? found-selection current-selection))\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))\n             (send concept-X-list-box select found-selection #t)\n             (send concept-X-list-box set-first-visible-item found-selection))\n           (begin\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))))]\n      [(empty-string? search-str)\n       (when current-selection\n         (send concept-X-list-box select current-selection #f))          \n       (send search-in-Xs-previous-button enable #f)\n       (send search-in-Xs-next-button enable #f)]\n      [else\n       (define count (send concept-X-list-box get-number))\n       (define found-selection\n         (and (> count 0)\n              (let loop ((i 0))\n                (cond\n                  [(>= i count) #f]\n                  [else\n                   (define data (send concept-X-list-box get-data i))\n                   (define name-str (list-ref data 3))\n                   (define matches?\n                     (smart-string-matches? #f\n                                            chars:ignore-typical\n                                            \"\"\n                                            (string-split search-str \" \")\n                                            name-str))\n                   (if matches?\n                       i\n                       (loop (add1 i)))]))))\n\n       (if found-selection\n           (begin\n             (send search-in-Xs-previous-button enable #t)\n             (send search-in-Xs-next-button enable #t))\n           (begin\n             (send search-in-Xs-previous-button enable #f)\n             (send search-in-Xs-next-button enable #f)))\n          \n       (if found-selection\n           (when (not (equal? found-selection current-selection))\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))\n             (send concept-X-list-box select found-selection #t)\n             (send concept-X-list-box set-first-visible-item found-selection))\n           (begin\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))))])))\n\n(define (convert-concept-1/2-to-list-box-format concept)\n  (match concept\n    [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n     (list (format \"~a\" dbname)\n           (format \"~a\" cid)\n           (format \"~a\" cui)\n           (format \"~a\" `(,catid . ,cat))\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\"))]))\n\n(define (convert-X-concept-to-list-box-format concept)\n  (match concept\n    [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-length ,confidence)\n     (list (format \"~a\" dbname)\n           (format \"~a\" cid)\n           (format \"~a\" cui)\n           (format \"~a\" `(,catid . ,cat))\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (format \"~a\" max-pubmed-count)\n           (format \"~a\" min-pubmed-count)\n           (string-join pred-names \", \")\n           (format \"~a\" path-length)\n           (format \"~a\" confidence))]))\n\n(define (convert-concept-1/2-to-column-sorting-format concept)\n  (match concept\n    [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)     \n     (list (format \"~a\" dbname)\n           cid\n           (format \"~a\" cui)\n           catid\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\"))]))\n\n(define (convert-X-concept-to-column-sorting-format concept)\n  (match concept\n    [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-length ,confidence)\n     (list (format \"~a\" dbname)\n           cid\n           (format \"~a\" cui)\n           catid\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           max-pubmed-count\n           min-pubmed-count\n           (string-join pred-names \", \")\n           path-length\n           confidence)]))\n\n(define (make-send-concepts-to-concept-1/2-list-box concept-1/2-list-box-thunk)\n  (lambda (concepts)\n    (define concept-1/2-list-box (concept-1/2-list-box-thunk))\n    (define formatted-concepts (map convert-concept-1/2-to-list-box-format concepts))\n    (send concept-1/2-list-box\n          set\n          (map (lambda (e) (list-ref e 0)) formatted-concepts)\n          (map (lambda (e) (list-ref e 1)) formatted-concepts)\n          (map (lambda (e) (list-ref e 2)) formatted-concepts)\n          (map (lambda (e) (list-ref e 3)) formatted-concepts)\n          (map (lambda (e) (list-ref e 4)) formatted-concepts))))\n\n(define (make-send-concepts-to-concept-X-list-box concept-X-list-box)\n  (lambda (concepts)\n    (define formatted-concepts (map convert-X-concept-to-list-box-format concepts))\n    (send concept-X-list-box\n          set\n          (map (lambda (e) (list-ref e 0)) formatted-concepts)\n          (map (lambda (e) (list-ref e 1)) formatted-concepts)\n          (map (lambda (e) (list-ref e 2)) formatted-concepts)\n          (map (lambda (e) (list-ref e 3)) formatted-concepts)\n          (map (lambda (e) (list-ref e 4)) formatted-concepts)\n          (map (lambda (e) (list-ref e 5)) formatted-concepts)\n          (map (lambda (e) (list-ref e 6)) formatted-concepts)\n          (map (lambda (e) (list-ref e 7)) formatted-concepts)\n          (map (lambda (e) (list-ref e 8)) formatted-concepts)\n          (map (lambda (e) (list-ref e 9)) formatted-concepts))))\n\n(define (handle-sort-by-column-header-click event\n                                            list-box\n                                            last-column-clicked-for-sorting-box\n                                            column-sort-order-vector\n                                            choices-box\n                                            convert-values-to-column-sorting-format\n                                            send-values-to-list-box)\n\n  (printf \"handle-sort-by-column-header-click called\\n\")\n  \n  ;; get previously selected choice's data, if any\n  (define current-selection (send list-box get-selection))\n  (printf \"current-selection: ~s\\n\" current-selection)\n  (define current-selection-data (and current-selection\n                                      (send list-box get-data current-selection)))\n  (printf \"current-selection-data: ~s\\n\" current-selection-data)\n\n  (when current-selection\n    (send list-box select current-selection #f))\n  \n  ;; sort by column\n  (define column-clicked (send event get-column))\n  (define last-column-clicked (unbox last-column-clicked-for-sorting-box))\n\n  (define sort-order (vector-ref column-sort-order-vector column-clicked))\n\n  ;; swap sort order if user clicks on same column twice in a row\n  (when (= column-clicked last-column-clicked)\n    (set! sort-order\n          (if (eqv? sort-order SORT_COLUMN_INCREASING)\n              SORT_COLUMN_DECREASING\n              SORT_COLUMN_INCREASING))\n    (vector-set! column-sort-order-vector\n                 column-clicked\n                 sort-order))\n\n  (printf \"sorting by column ~s in ~s order\\n\" column-clicked sort-order)\n\n  (define choices (unbox choices-box))\n\n  (define sorted-choices (sort choices\n                               (lambda (c1 c2) \n                                 (let ((fc1 (convert-values-to-column-sorting-format c1))\n                                       (fc2 (convert-values-to-column-sorting-format c2)))\n                                   (let ((v1 (list-ref fc1 column-clicked))\n                                         (v2 (list-ref fc2 column-clicked)))\n                                     (let ((num-compare\n                                            (if (eqv? sort-order SORT_COLUMN_INCREASING)\n                                                <\n                                                >))\n                                           (string-compare\n                                            (if (eqv? sort-order SORT_COLUMN_INCREASING)\n                                                string<?\n                                                string>?)))\n                                       (if (and (number? v1) (number? v2))\n                                           (num-compare v1 v2)\n                                           (string-compare (string-downcase v1)\n                                                           (string-downcase v2)))))))))\n\n  (set-box! last-column-clicked-for-sorting-box column-clicked)\n\n  (set-box! choices-box sorted-choices)\n\n  (send-values-to-list-box sorted-choices)\n\n  ;; add choice data to each list-box entry\n  (define len (length sorted-choices))\n  (let loop ((i 0)\n             (c* sorted-choices))\n    (cond\n      [(= len i) (void)]\n      [else\n       (send list-box set-data i (car c*))\n       (loop (add1 i)\n             (cdr c*))]))\n  \n  ;; select previously selected choice in its new location, if any\n  (when (and current-selection current-selection-data)\n    (define count (send list-box get-number))\n    (printf \"count: ~s\\n\" count)\n    (define new-selection\n      (let loop ((i 0))\n        (cond\n          [(>= i count) #f]\n          [else\n           (let ((d (send list-box get-data i)))\n             (printf \"--------\\n\")\n             (printf \"d: ~s\\n\" d)\n             (printf \"(equal? d current-selection-data): ~s\\n\" (equal? d current-selection-data))\n             (if (equal? d current-selection-data)\n                 i\n                 (loop (add1 i))))])))\n    (printf \"new-selection: ~s\\n\" new-selection)\n    (when new-selection\n      (send list-box select new-selection #t)\n      (send list-box set-first-visible-item new-selection)))\n  \n  (void))\n\n(define (concept-list parent\n                      parent-search/isa-panel\n                      parent-list-boxes-panel\n                      label\n                      name-string\n                      isa-flag\n                      curie-string\n                      choices\n                      predicate-list-box-thunk\n                      predicate-choices\n                      edge-type\n                      last-column-clicked-for-sorting-box\n                      column-sort-order-vector\n                      choices-box\n                      convert-values-to-column-sorting-format\n                      send-values-to-list-box)\n  (define concept-message (new message%\n                               (parent parent-search/isa-panel)\n                               (label label)))\n  (define search-type-choice (new choice%\n                                  (label \"\")\n                                  (parent parent-search/isa-panel)\n                                  ;; TODO make constants for these strings\n                                  (choices (list \"String search\" \"CURIE search\"))\n                                  (stretchable-width #f)\n                                  (callback (lambda (self event)\n                                              (printf \"event called for search-type-choice: ~s\\n\" event)\n                                              (define event-type (send event get-event-type))\n                                              (when (eqv? 'choice event-type)\n                                                (printf \"event-type is 'choice\\n\")\n                                                ;; TODO check event type\n                                                ;; event type 'choice\n                                                ;;\n                                                (let ((str (send self get-string-selection)))\n                                                  (printf \"str: ~s\\n\" str)\n                                                  (case str\n                                                    [(\"String search\")\n                                                     (send string-search-panel show #t)\n                                                     (send curie-search-panel show #f)\n                                                     \n                                                     (send parent-search/isa-panel reflow-container)\n                                                     ;; TODO refactor repeated reset code\n                                                     ;; reset everythinggggggggg\n                                                     (send curie-field set-value \"\")\n                                                     (send name-field set-value \"\")\n                                                     (set-box! curie-string \"\")\n                                                     (set-box! name-string \"\")\n                                                     ;;\n                                                     (set-box! predicate-choices '())\n                                                     (send (predicate-list-box-thunk) set '())\n                                                     ;;\n                                                     (handle)]\n                                                    [(\"CURIE search\")\n                                                     (send string-search-panel show #f)\n                                                     (send curie-search-panel show #t)\n                                                     \n                                                     (send parent-search/isa-panel reflow-container)\n                                                     ;; TODO refactor repeated reset code\n                                                     ;; reset everythinggggggggg\n                                                     (send curie-field set-value \"\")\n                                                     (send name-field set-value \"\")\n                                                     (set-box! curie-string \"\")\n                                                     (set-box! name-string \"\")\n                                                     ;;\n                                                     (set-box! predicate-choices '())\n                                                     (send (predicate-list-box-thunk) set '())\n                                                     ;;                                       \n                                                     (handle)]\n                                                    [else (error 'search-type-choice\n                                                                 (format \"unknown search type ~s\\n\" str))])\n                                                  \n                                                  )\n                                                )\n                                              (void)\n                                              ))))\n\n  (define string/curie-search-parent-panel (new panel%\n                                                (parent parent-search/isa-panel)\n                                                (alignment '(center center))))\n\n  (define string-search-panel (new horizontal-panel%\n                                   (parent string/curie-search-parent-panel)\n                                   (alignment '(left center))\n                                   (stretchable-height #f)))\n\n  (define curie-search-panel (new horizontal-panel%\n                                  (parent string/curie-search-parent-panel)\n                                  (alignment '(left center))\n                                  (stretchable-height #f)))\n  \n\n  (define name-field (new text-field%\n                          (label \"\")\n                          (parent string-search-panel)\n                          (init-value \"\")\n                          (callback (lambda (self event)\n                                      (define name (send self get-value))\n                                      (send curie-field set-value \"\")\n                                      (set-box! curie-string \"\")\n                                      (set-box! name-string name)\n                                      (set-box! predicate-choices '())\n                                      (send (predicate-list-box-thunk) set '())\n                                      (handle)))))\n  (define isa-field (new check-box%\n                         (parent string-search-panel)\n                         (label \"Include ISA-related concepts\")\n                         (value #f)\n                         (callback (lambda (self event) (handle)))))\n\n\n  \n  (define curie-type-choice (new choice%\n                                 (label \"\")\n                                 (parent curie-search-panel)\n                                 (choices (list \"HGNC\" \"OMIM\"))\n                                 (stretchable-width #f)\n                                 (callback (lambda (self event)\n                                             ;; TODO refactor repeated reset code\n                                             ;; reset everythinggggggggg\n                                             (send curie-field set-value \"\")\n                                             (send name-field set-value \"\")\n                                             (set-box! curie-string \"\")\n                                             (set-box! name-string \"\")\n                                             (set-box! predicate-choices '())\n                                             (send (predicate-list-box-thunk) set '())\n                                             ;;\n                                             (handle)))))\n  (define curie-field (new text-field%\n                           (label \":\")\n                           (parent curie-search-panel)\n                           (init-value \"\")\n                           (callback (lambda (self event)\n                                       ;; TODO refactor\n                                       (define curie-prefix (send curie-type-choice get-string-selection))\n                                       (define curie-suffix (string-trim (send self get-value)))\n                                       (define full-curie (string-append curie-prefix \":\" curie-suffix))\n                                       (printf \"full curie: ~s\\n\" full-curie)\n                                       (send name-field set-value \"\")\n                                       (set-box! name-string \"\")\n                                       (set-box! curie-string full-curie)\n                                       (set-box! predicate-choices '())\n                                       (send (predicate-list-box-thunk) set '())\n                                       (handle)))))\n  \n  \n  (define concept-listbox (new smart-column-width-list-box%\n                               (label label)\n                               (choices '())\n                               (columns '(\"KG\" \"CID\" \"CURIE\" \"Category\" \"Name\"))\n                               (parent parent-list-boxes-panel)\n                               (style '(column-headers clickable-headers reorderable-headers extended))\n                               (callback (lambda (self event)\n                                           (define event-type (send event get-event-type))\n                                           (cond\n                                             [(eqv? event-type 'list-box-column)                                              \n                                              (handle-sort-by-column-header-click\n                                                    event\n                                                    concept-listbox\n                                                    last-column-clicked-for-sorting-box\n                                                    column-sort-order-vector\n                                                    choices-box\n                                                    convert-values-to-column-sorting-format\n                                                    send-values-to-list-box)]\n                                             [else\n                                              (define selections (send self get-selections))\n                                              (define selected-concepts (foldr (lambda (i l) (cons (list-ref (unbox choices) i) l)) '() selections))\n                                              (when *verbose*\n                                                (printf \"selected concepts:\\n~s\\n\" selected-concepts))\n                                              (define preds-by-concept\n                                                (time (case edge-type\n                                                        [(in-edge)  (map caddr (find-predicates/concepts #f #t selected-concepts))]\n                                                        [(out-edge) (map cadr (find-predicates/concepts #t #f selected-concepts))]\n                                                        [else       (error 'concept-listbox/predicates)])))\n                                              (define predicates\n                                                (sort (remove-duplicates (map cddr (append* preds-by-concept))) string<?))\n                                              (define (create-increase/decrease-syn-pred-list\n                                                       syn-pred-prefix predicate-names selected-predicates)\n                                                (let ((inter (sort (set-intersect predicate-names selected-predicates)\n                                                                   string<?)))\n                                                  (if (not (null? inter))\n                                                      (let ((str (string-append syn-pred-prefix \" (\" (string-join inter \", \") \")\")))\n                                                        (let ((safe-string (~a str #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")))\n                                                          (list safe-string))) \n                                                      '())))\n                                              (define decreases-synthetic-predicate-string-list\n                                                (create-increase/decrease-syn-pred-list\n                                                 DECREASES_PREDICATE_PREFIX_STRING DECREASES_PREDICATE_NAMES predicates))\n                                              (define increases-synthetic-predicate-string-list\n                                                (create-increase/decrease-syn-pred-list\n                                                 INCREASES_PREDICATE_PREFIX_STRING INCREASES_PREDICATE_NAMES predicates))\n                                              (set! predicates (append\n                                                                decreases-synthetic-predicate-string-list\n                                                                increases-synthetic-predicate-string-list\n                                                                predicates))\n                                              (printf \"predicates: ~s\\n\" predicates)\n                                              (set-box! predicate-choices predicates)\n                                              (send (predicate-list-box-thunk) set predicates)\n\n                                              ;; unselect all items\n                                              (for ([i (length predicates)])\n                                                   (send (predicate-list-box-thunk) select i #f))\n                                              ])))))\n\n  (define (mk-run)\n    (let* ((isa-count (if current-isa 50 0))  ;; Only grab the first 50.  50 should probably be a parameter.\n           (subject? (case edge-type\n                       [(out-edge) #t]\n                       [(in-edge)  #f]))\n           (object? (case edge-type\n                      [(out-edge) #f]\n                      [(in-edge)  #t]))\n           (name-parts (split-name-string current-name))\n           (search-type (send search-type-choice get-string-selection))\n           (ans\n            (begin\n              ;; TODO abstract/refactor dup code\n              (printf \"search type: ~s\\n\" search-type)\n              (case search-type\n                [(\"String search\")\n                 (if (null? name-parts) '()\n                     (begin (printf \"searching for: ~s\\n\" current-name)\n                            (time (find-concepts/options subject? object? isa-count #f name-parts))))]\n                [(\"CURIE search\")\n                 (printf \"CURIE search! for ~s\\n\" current-curie)\n                 (define concepts (find-concepts #t (list current-curie)))\n                 (printf \"found ~s CURIE-related concepts\\n\" (length concepts))\n                 (pretty-print concepts)\n                 ;;\n                 ;; TODO remove mutation\n                 (define all-equivalent-concepts concepts)\n                 ;;\n                 (map\n                  (lambda (concept)\n                    (match concept\n                      [`(,db ,cid ,curie ,name (,catid . ,cat) ,props)\n                       (printf \"matched against ~s\\n\" concept)\n                       (printf \"found props ~s for CURIE ~s\\n\" props curie)\n                       (define equivalent-ids (let ((pr (assoc \"equivalent_identifiers\" props)))\n                                                (and pr (cdr pr))))\n                       (when equivalent-ids\n                         (printf \"found equivalent ids ~s for CURIE ~s\\n\" equivalent-ids curie)\n\n                         (printf \"Extracting ENSMBL equivalent identifiers...\\n\") \n                         (define robokop-target-gene-concept-ENSEMBL-CUIs\n                           (regexp-match* #rx\"ENSEMBL:[A-Z0-9]+\" equivalent-ids))\n                         (printf \"Extracted ENSMBL equivalent identifiers:\\n~s\\n\\n\" robokop-target-gene-concept-ENSEMBL-CUIs)\n                         \n                         (printf \"Extracting HGNC equivalent identifiers...\\n\") \n                         (define robokop-target-gene-concept-HGNC-CUIs\n                           (regexp-match* #rx\"HGNC:[0-9]+\" equivalent-ids))\n                         (printf \"Extracted HGNC equivalent identifiers:\\n~s\\n\\n\" robokop-target-gene-concept-HGNC-CUIs)\n\n                         (printf \"Extracting OMIM equivalent identifiers...\\n\") \n                         (define robokop-target-gene-concept-OMIM-CUIs\n                           (regexp-match* #rx\"OMIM:[A-Z0-9]+\" equivalent-ids))\n                         (printf \"Extracted OMIM equivalent identifiers:\\n~s\\n\\n\" robokop-target-gene-concept-OMIM-CUIs)\n  \n                         (printf \"Extracting UniProtKB equivalent identifiers...\\n\")\n                         (define robokop-target-gene-concept-UniProtKB-CUIs\n                           (regexp-match* #rx\"UniProtKB:[A-Z0-9]+\" equivalent-ids))\n                         (printf \"Extracted UniProtKB equivalent identifiers:\\n~s\\n\\n\" robokop-target-gene-concept-UniProtKB-CUIs)\n\n                         (define all-equivalent-CUIs\n                           (set-subtract\n                            (set-union\n                             robokop-target-gene-concept-ENSEMBL-CUIs\n                             robokop-target-gene-concept-HGNC-CUIs\n                             robokop-target-gene-concept-OMIM-CUIs\n                             robokop-target-gene-concept-UniProtKB-CUIs)\n                            (list curie)))\n                         (printf \"All equivalent CUIs:\\n~s\\n\\n\" all-equivalent-CUIs)\n\n                         (for-each\n                           (lambda (cui)\n                             (define concepts (find-concepts #t (list cui)))\n                             (set! all-equivalent-concepts (set-union concepts all-equivalent-concepts))\n                             (void))\n                           all-equivalent-CUIs)\n                         \n                         (void))\n                       (void)]\n                      [else (printf \"!!! failed to match against ~s\\n\" concept)]))\n                  concepts)\n                 ;;\n                 (printf \"\\nreturning equivalent concepts: ~s\\n\\n\" all-equivalent-concepts)\n                 \n                 all-equivalent-concepts\n                 ;;\n                 ]\n                [else (error 'mk-run\n                             (format \"unknown search type ~s\\n\" search-type))]))))\n      (set-box! choices ans)\n      (send concept-listbox\n            set\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (~a dbname #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (format \"~a\" cid)]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (format \"~a\" cui)]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (~a `(,catid . ,cat) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans))\n\n      ;; add choice data to each list-box entry\n      (define len (length (unbox choices)))\n      (let loop ((i 0)\n                 (c* (unbox choices)))\n        (cond\n          [(= len i) (void)]\n          [else\n           (send concept-listbox set-data i (car c*))\n           (loop (add1 i)\n                 (cdr c*))]))\n      \n      ;; unselect all items\n      (for ([i (length ans)])\n           (send concept-listbox select i #f))))\n\n  (define current-name \"\")\n  (define current-isa #f)\n  (define pending-name current-name)\n\n  (define current-curie \"\")\n  (define pending-curie current-curie)\n    \n  (define mk-thread #f)\n  (define timer (new timer% (notify-callback\n                              (lambda () (set! mk-thread (thread mk-run))))))\n  (define (handle)\n    (define new-name (send name-field get-value))\n    (define new-isa (send isa-field get-value))\n\n    ;; TODO refactor duplicate logic\n    (define curie-prefix (send curie-type-choice get-string-selection))\n    (define curie-suffix (string-trim (send curie-field get-value)))\n    (define new-curie (string-append curie-prefix \":\" curie-suffix))\n    \n    (when (not (and (equal? current-name new-name)\n                    (equal? current-isa new-isa)\n                    (equal? current-curie new-curie)))\n\n      (set! current-name new-name)\n      (set! current-isa new-isa)\n      (set-box! isa-flag current-isa)\n\n      (set! current-curie new-curie)\n      \n      (and mk-thread (begin (kill-thread mk-thread) (set! mk-thread #f)))\n      (send timer stop)\n      (send timer start input-response-latency #t)))\n\n  ;; hide CURIE search panel\n  ;;\n  ;; TODO -- refactor duplicate code in osearch-type-choice callback\n  (send string-search-panel show #t)\n  (send curie-search-panel show #f)\n  (send parent-search/isa-panel reflow-container)\n  \n  concept-listbox)\n\n(define (launch-gui)\n  ;; (launch-gene-window)\n  (launch-main-window))\n\n(define (launch-main-window)\n  (let ((frame (new frame%\n                    (label MEDIKANREN_VERSION_STRING)\n                    (width HORIZ-SIZE)\n                    (height VERT-SIZE))))\n\n    (define outer-vert-draggable-panel (new panel:vertical-dragable%\n                                            (parent frame)\n                                            (alignment '(left center))))\n    \n    (define upper-pane (new panel:vertical-dragable%\n                            (parent outer-vert-draggable-panel)\n                            (alignment '(left center))))\n\n    (define lower-pane (new panel:vertical-dragable%\n                            (parent outer-vert-draggable-panel)\n                            (alignment '(left center))))\n    \n    (define go-callback\n      (lambda (button event)\n        (send running-status-description set-label \"Running...\")\n\n        (define concept-1-selections (send concept-1-list-box get-selections))\n        (define concept-2-selections (send concept-2-list-box get-selections))\n\n        (define concept-1-selected-concepts\n          (foldr (lambda (i l) (cons (list-ref (unbox *concept-1-choices*) i) l))\n                 '()\n                 concept-1-selections))\n        (define concept-2-selected-concepts\n          (foldr (lambda (i l) (cons (list-ref (unbox *concept-2-choices*) i) l))\n                 '()\n                 concept-2-selections))\n\n        (printf \"concept-1-selections: ~s\\n\" concept-1-selections)\n        (displayln concept-1-selected-concepts)\n        (printf \"---------------------------------\\n\")\n        (printf \"concept-2-selections: ~s\\n\" concept-2-selections)\n        (displayln concept-2-selected-concepts)\n        (printf \"---------------------------------\\n\")\n\n\n        (define predicate-1-selections (send predicate-1-list-box get-selections))\n        (define predicate-2-selections (send predicate-2-list-box get-selections))\n\n        (define predicate-1-selected-predicates\n          (foldr (lambda (i l) (cons (list-ref (unbox *predicate-1-choices*) i) l))\n                 '()\n                 predicate-1-selections))\n        (define predicate-2-selected-predicates\n          (foldr (lambda (i l) (cons (list-ref (unbox *predicate-2-choices*) i) l))\n                 '()\n                 predicate-2-selections))\n\n\n        (printf \"predicate-1-selections: ~s\\n\" predicate-1-selections)\n        (displayln predicate-1-selected-predicates)\n        (printf \"---------------------------------\\n\")\n        (printf \"predicate-2-selections: ~s\\n\" predicate-2-selections)\n        (displayln predicate-2-selected-predicates)\n        (printf \"---------------------------------\\n\")\n\n\n        (find-X-concepts concept-1-selected-concepts\n                         concept-2-selected-concepts\n                         predicate-1-selected-predicates\n                         predicate-2-selected-predicates\n                         (unbox *predicate-1-choices*)\n                         (unbox *predicate-2-choices*)\n                         concept-X-list-box\n                         running-status-description\n                         full-path-list-box\n                         subject-properties-list-box\n                         edge-properties-list-box\n                         object-properties-list-box\n                         pubmed-list-box\n                         search-in-Xs-field\n                         search-in-Xs-previous-button\n                         search-in-Xs-next-button)\n\n        ))\n\n    (define concept-1-overall-pane (new vertical-pane%\n                                        (parent upper-pane)\n                                        (alignment '(left center))))\n    \n    (define concept-1-search/isa-panel (new horizontal-panel%\n                                            (parent concept-1-overall-pane)\n                                            (alignment '(left center))\n                                            (stretchable-height #f)))\n    (define concept-1-list-boxes-panel (new panel:horizontal-dragable%\n                                            (parent concept-1-overall-pane)\n                                            (alignment '(left center))))\n    (define concept-1-list-box (concept-list concept-1-overall-pane\n                                             concept-1-search/isa-panel\n                                             concept-1-list-boxes-panel\n                                             \"Concept 1\"\n                                             *concept-1-name-string*\n                                             *concept-1-isa-flag*\n                                             *curie-1-string*\n                                             *concept-1-choices*\n                                             (lambda () predicate-1-list-box)\n                                             *predicate-1-choices*\n                                             'out-edge\n                                             *last-concept-1-column-clicked-for-sorting*\n                                             *concept-1-column-sort-order*\n                                             *concept-1-choices*\n                                             convert-concept-1/2-to-column-sorting-format\n                                             (make-send-concepts-to-concept-1/2-list-box (lambda () concept-1-list-box))))\n    (define predicate-1-list-box (new list-box%\n                                      (label \"Predicate 1\")\n                                      (choices (unbox *predicate-1-choices*))\n                                      (columns '(\"Name\"))\n                                      (parent concept-1-list-boxes-panel)\n                                      (style '(extended))\n                                      (callback go-callback)))\n    (define edge-description (new message%\n                                  (parent concept-1-overall-pane)\n                                  (label \"Concept 1 -> Predicate 1 -> [X] -> Predicate 2 -> Concept 2\")))\n\n    (define concept-2-overall-pane (new vertical-pane%\n                                        (parent upper-pane)\n                                        (alignment '(left center))))\n    \n    (define concept-2-search/isa-panel (new horizontal-panel%\n                                            (parent concept-2-overall-pane)\n                                            (alignment '(left center))\n                                            (stretchable-height #f)))\n    (define concept-2-list-boxes-panel (new panel:horizontal-dragable%\n                                            (parent concept-2-overall-pane)\n                                            (alignment '(left center))))\n    (define predicate-2-list-box (new list-box%\n                                      (label \"Predicate 2\")\n                                      (choices (unbox *predicate-2-choices*))\n                                      (columns '(\"Name\"))\n                                      (parent concept-2-list-boxes-panel)\n                                      (style '(extended))\n                                      (callback go-callback)))\n    (define concept-2-list-box (concept-list concept-2-overall-pane\n                                             concept-2-search/isa-panel\n                                             concept-2-list-boxes-panel\n                                             \"Concept 2\"\n                                             *concept-2-name-string*\n                                             *concept-2-isa-flag*\n                                             *curie-2-string*\n                                             *concept-2-choices*\n                                             (lambda () predicate-2-list-box)\n                                             *predicate-2-choices*\n                                             'in-edge\n                                             *last-concept-2-column-clicked-for-sorting*\n                                             *concept-2-column-sort-order*\n                                             *concept-2-choices*\n                                             convert-concept-1/2-to-column-sorting-format\n                                             (make-send-concepts-to-concept-1/2-list-box (lambda () concept-2-list-box))))\n\n    (define running-status-description/search-in-Xs-panel\n      (new\n       horizontal-panel%\n       (parent concept-2-overall-pane)\n       (alignment '(left center))\n       (stretchable-height #f)))\n    \n    (define running-status-description (new message%\n                                            (parent running-status-description/search-in-Xs-panel)\n                                            (label \"                                                                \")))\n    \n    (define search-in-Xs-field (new text-field%\n                                    (label \"Find in X's\")\n                                    (parent running-status-description/search-in-Xs-panel)\n                                    (init-value \"\")\n                                    (callback (lambda (self event)\n                                                (handle-search-in-Xs self\n                                                                     concept-X-list-box\n                                                                     search-in-Xs-previous-button\n                                                                     search-in-Xs-next-button\n                                                                     )))))\n    \n    (define search-in-Xs-previous-button (new button%\n                                              (parent running-status-description/search-in-Xs-panel)\n                                              (label \"Previous\")\n                                              (callback (lambda (self event)\n                                                          (handle-search-in-Xs search-in-Xs-field\n                                                                               concept-X-list-box\n                                                                               search-in-Xs-previous-button\n                                                                               search-in-Xs-next-button\n                                                                               'previous)))))\n\n    (define search-in-Xs-next-button (new button%\n                                          (parent running-status-description/search-in-Xs-panel)\n                                          (label \"Next\")\n                                          (callback (lambda (self event)\n                                                      (handle-search-in-Xs search-in-Xs-field\n                                                                           concept-X-list-box\n                                                                           search-in-Xs-previous-button\n                                                                           search-in-Xs-next-button\n                                                                           'next)))))\n    \n    (define concept-X-list-box (new smart-column-width-list-box%\n                                    (label \"X\")\n                                    (choices (unbox *concept-X-choices*))\n                                    (columns '(\"KG\" \"CID\" \"CURIE\" \"Category\" \"Name\" \"Max PubMed #\" \"Min PubMed #\" \"Predicates\" \"Path Length\" \"Path Confidence\"))\n                                    (parent lower-pane)\n                                    (style '(column-headers clickable-headers reorderable-headers single))\n                                    (callback (lambda (self event)\n                                                (define event-type (send event get-event-type))\n                                                (cond\n                                                  [(eqv? event-type 'list-box-column)\n                                                   (handle-sort-by-column-header-click\n                                                    event\n                                                    concept-X-list-box\n                                                    *last-concept-X-column-clicked-for-sorting*\n                                                    *concept-X-column-sort-order*\n                                                    *concept-X-choices*\n                                                    convert-X-concept-to-column-sorting-format\n                                                    (make-send-concepts-to-concept-X-list-box self))]\n                                                  [(eqv? event-type 'list-box-dclick)\n                                                   (printf \"double-click!! copy name of the concept to the clipboard\\n\")\n                                                   (define time-stamp (send event get-time-stamp))\n                                                   (printf \"time stamp: ~s\\n\" time-stamp)\n                                                   (define concept-name\n                                                     (let ((sel* (send concept-X-list-box get-selections)))\n                                                       (if (= (length sel*) 1)\n                                                           (let ((selected-X (list-ref (unbox *concept-X-choices*) (car sel*))))\n                                                             (match selected-X\n                                                               [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-count ,confidence)\n                                                                name]\n                                                               [else \"\"]))\n                                                           \"\")))\n                                                   (printf \"concept name: ~s\\n\" concept-name)\n                                                   (send the-clipboard set-clipboard-string concept-name time-stamp)]\n                                                  [else\n\n                                                   ;; empty the entries in the full-path-list-box\n                                                   (send full-path-list-box set '() '() '() '() '() '() '() '())\n                                                   \n                                                   ;; empty the entries in the properties list-boxes\n                                                   (send subject-properties-list-box set '() '())\n                                                   (send edge-properties-list-box set '() '())\n                                                   (send object-properties-list-box set '() '())\n\n                                                   ;; empty the entries in the pubmed-list-box\n                                                   (send pubmed-list-box set '())\n\n                                                   (let ((sel* (send concept-X-list-box get-selections)))\n                                                     (when (= (length sel*) 1)\n                                                       (let ((selected-X (list-ref (unbox *concept-X-choices*) (car sel*))))\n                                                         (let ((selected-X\n                                                                (match selected-X\n                                                                  [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-count ,confidence)\n                                                                   `(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)])))\n                                                           (printf \"selected ~s\\n\" selected-X)\n                                                           (define concept-1* (unbox *solution-concept-1-choices*))\n                                                           (define concept-2* (unbox *solution-concept-2-choices*))\n                                                           (printf \"concept-1* ~s\\n\" concept-1*)\n                                                           (printf \"concept-2* ~s\\n\" concept-2*)\n                                                           (define predicate-1* (unbox *solution-predicate-1-choices*))\n                                                           (define predicate-2* (unbox *solution-predicate-2-choices*))\n                                                           (printf \"predicate-1* ~s\\n\" predicate-1*)\n                                                           (printf \"predicate-2* ~s\\n\" predicate-2*)\n\n                                                           (define atomic/synthetic-predicate-1* (split-atomic/synthetic-predicates (unbox *predicate-1-choices*) predicate-1*))\n                                                           (define atomic/synthetic-predicate-2* (split-atomic/synthetic-predicates (unbox *predicate-2-choices*) predicate-2*))\n\n                                                           (define atomic-predicate-1* (car atomic/synthetic-predicate-1*))\n                                                           (define atomic-predicate-2* (car atomic/synthetic-predicate-2*))\n\n                                                           (define synthetic-predicate-1* (cadr atomic/synthetic-predicate-1*))\n                                                           (define synthetic-predicate-2* (cadr atomic/synthetic-predicate-2*))\n\n\n                                                           (define paths '())\n\n\n                                                           (cond\n                                                             [;; TODO refactor all of these tests/logic (duplicate code)\n                                                              (and\n                                                               ;; CURIE search\n                                                               (string=? \"\" (string-trim (unbox *solution-curie-1-string*)))\n                                                               (string=? \"\" (string-trim (unbox *solution-curie-2-string*)))\n                                                               ;; String search\n                                                               (and\n                                                                (null?\n                                                                 (split-name-string\n                                                                  (unbox *solution-concept-1-name-string*)))\n                                                                (null?\n                                                                 (split-name-string\n                                                                  (unbox *solution-concept-2-name-string*)))))\n\n                                                              (set! paths '())]\n                                                             [(and\n                                                               ;; CURIE search\n                                                               (string=? \"\" (string-trim (unbox *solution-curie-1-string*)))\n                                                               ;; String search\n                                                               (null? (split-name-string (unbox *solution-concept-1-name-string*))))\n\n                                                              (set! paths '())\n                                                              ;; run synthetic queries here\n                                                              (set! paths\n                                                                    (remove-duplicates\n                                                                     (append paths\n                                                                             (run* (q)\n                                                                               (fresh (e dbname eid x o pid pred eprops)\n                                                                                 (== (list `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops)) q)\n                                                                                 (== `(,dbname . ,x) selected-X)\n                                                                                 (== `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops) e)\n                                                                                 (membero `(,dbname . ,o) concept-2*)\n                                                                                 (membero pred atomic-predicate-2*)\n                                                                                 (edgeo e))))))]\n                                                             [(and\n                                                               ;; CURIE search\n                                                               (string=? \"\" (string-trim (unbox *solution-curie-2-string*)))\n                                                               ;; String search\n                                                               (null? (split-name-string (unbox *solution-concept-2-name-string*))))\n\n                                                              (set! paths '())\n                                                              ;; run synthetic queries here\n                                                              (set! paths\n                                                                    (remove-duplicates\n                                                                     (append paths\n                                                                             (run* (q)\n                                                                               (fresh (e dbname eid s x pid pred eprops)\n                                                                                 (== (list `(,dbname ,eid ,s ,x (,pid . ,pred) ,eprops)) q)\n                                                                                 (== `(,dbname . ,x) selected-X)\n                                                                                 (== `(,dbname ,eid ,s ,x (,pid . ,pred) ,eprops) e)\n                                                                                 (membero `(,dbname . ,s) concept-1*)\n                                                                                 (membero pred atomic-predicate-1*)\n                                                                                 (edgeo e))))))]\n                                                             [else\n                                                              (set! paths '())\n                                                              ;; run synthetic queries here\n                                                              (set! paths\n                                                                    (remove-duplicates\n                                                                     (append paths\n                                                                             (run* (q)\n                                                                               (fresh (e1 e2 dbname eid1 eid2 s x o pid1 pid2 p1 p2 eprops1 eprops2)\n                                                                                 (== `(,dbname . ,x) selected-X)\n                                                                                 (== (list\n                                                                                      `(,dbname ,eid1 ,s ,x (,pid1 . ,p1) ,eprops1)\n                                                                                      `(,dbname ,eid2 ,x ,o (,pid2 . ,p2) ,eprops2))\n                                                                                     q)\n                                                                                 (== `(,dbname ,eid1 ,s ,x (,pid1 . ,p1) ,eprops1) e1)\n                                                                                 (== `(,dbname ,eid2 ,x ,o (,pid2 . ,p2) ,eprops2) e2)\n                                                                                 (membero `(,dbname . ,s) concept-1*)\n                                                                                 (membero `(,dbname . ,o) concept-2*)\n                                                                                 (membero p1 atomic-predicate-1*)\n                                                                                 (membero p2 atomic-predicate-2*)\n                                                                                 (edgeo e1)\n                                                                                 (edgeo e2))))))])\n\n                                                           (printf \"paths: ~s\\n\" paths)\n                                                           (newline)\n\n                                                           ;; This sorting affects the order of the \"Path\" list\n                                                           ;; for the selected concept.\n                                                           (set! paths (sort-paths paths))\n                                                           \n                                                           (define flattened-paths\n                                                             (let ((ls (foldr\n                                                                        (lambda (p l)\n                                                                          (cons\n                                                                           'path-separator\n                                                                           (append (reverse p) l)))\n                                                                        '()\n                                                                        paths)))\n                                                               (if (null? ls)\n                                                                   ;; ls should never be null!\n                                                                   '()\n                                                                   (reverse (cdr ls)))))\n\n\n\n                                                           (define full-path-dbname-list\n                                                             (map (lambda (x)\n                                                                    (match x\n                                                                      ['path-separator \"----\"]\n                                                                      [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                       (~a dbname)]))\n                                                                  flattened-paths))\n\n                                                           (define full-path-eid-list\n                                                             (map (lambda (x)\n                                                                    (match x\n                                                                      ['path-separator \"----\"]\n                                                                      [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                       (~a eid)]))\n                                                                  flattened-paths))\n\n                                                           (define full-path-subj-list\n                                                             (map (lambda (x)\n                                                                    (match x\n                                                                      ['path-separator \"----\"]\n                                                                      [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                       (~a subj #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                  flattened-paths))\n\n                                                           (define full-path-pred-list\n                                                             (map (lambda (x)\n                                                                    (match x\n                                                                      ['path-separator \"----\"]\n                                                                      [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                       (~a `(,pid . ,pred) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                  flattened-paths))\n\n                                                           (define full-path-obj-list\n                                                             (map (lambda (x)\n                                                                    (match x\n                                                                      ['path-separator \"----\"]\n                                                                      [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                       (~a obj #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                  flattened-paths))\n\n                                                           (define full-path-subj-cat-list\n                                                             (map (lambda (x)\n                                                                    (match x\n                                                                      ['path-separator \"----\"]\n                                                                      [`(,dbname ,eid (,cid ,cui ,name (,catid . ,cat) ,props) ,obj (,pid . ,pred) ,eprops)\n                                                                       (~a `(,catid . ,cat) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                  flattened-paths))\n\n                                                           (define full-path-obj-cat-list\n                                                             (map (lambda (x)\n                                                                    (match x\n                                                                      ['path-separator \"----\"]\n                                                                      [`(,dbname ,eid ,subj (,cid ,cui ,name (,catid . ,cat) ,props) (,pid . ,pred) ,eprops)\n                                                                       (~a `(,catid . ,cat) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                  flattened-paths))\n\n                                                           (define full-path-PubMed-count-list\n                                                             (map (lambda (x)\n                                                                    (match x\n                                                                      ['path-separator \"----\"]\n                                                                      [`(,dbname ,eid ,subj (,cid ,cui ,name (,catid . ,cat) ,props) (,pid . ,pred) ,eprops)\n                                                                       (~a (length (pubmed-URLs-from-edge x)))]))\n                                                                  flattened-paths))\n\n                                                           (send full-path-list-box\n                                                                 set\n                                                                 full-path-dbname-list\n                                                                 full-path-eid-list\n                                                                 full-path-subj-list\n                                                                 full-path-pred-list\n                                                                 full-path-obj-list\n                                                                 full-path-subj-cat-list\n                                                                 full-path-obj-cat-list\n                                                                 full-path-PubMed-count-list\n                                                                 )\n\n                                                           (set-box! *full-path-choices* flattened-paths)\n\n                                                           ;; unselect all items\n                                                           (for ([i (length flattened-paths)])\n                                                                (send full-path-list-box select i #f))\n\n                                                           ;; select first item\n                                                           (send full-path-list-box select 0 #t)\n                                                           )))\n                                                     (void))])))))\n\n    (define full-path-list-box (new smart-column-width-list-box%\n                                    (label \"Paths\")\n                                    (choices (unbox *full-path-choices*))\n                                    (columns '(\"KG\" \"EID\" \"Subject\" \"Predicate\" \"Object\" \"Subj Cat\" \"Obj Cat\" \"PubMed #\"))\n                                    (parent lower-pane)\n                                    (style '(column-headers reorderable-headers extended))\n                                    (callback (lambda (self event)\n                                                (when *verbose*\n                                                  (printf \"(unbox *full-path-choices*):\\n~s\\n\" (unbox *full-path-choices*)))\n                                                (define selections (send self get-selections))\n                                                (when *verbose*\n                                                  (printf \"selection for full path:\\n~s\\n\" selections))\n                                                (define selected-full-paths\n                                                  (foldr (lambda (i l) (cons (list-ref (unbox *full-path-choices*) i) l))\n                                                         '()\n                                                         selections))\n                                                (for-each\n                                                    (lambda (x)\n                                                      (match x\n                                                        ['path-separator\n                                                         (send subject-properties-list-box set '() '())\n                                                         (send edge-properties-list-box set '() '())\n                                                         (send object-properties-list-box set '() '())]\n                                                        [`(,dbname ,eid\n                                                                   (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n                                                                   (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n                                                                   ,p\n                                                                   ,eprops)\n                                                         (define (set-properties-list-box prop-list-box props)\n                                                           (send prop-list-box\n                                                                 set\n                                                                 (map\n                                                                  (lambda (p)\n                                                                    (~a (car p)\n                                                                        #:max-width\n                                                                        MAX-CHAR-WIDTH\n                                                                        #:limit-marker\n                                                                        \"...\"))\n                                                                  props)\n                                                                 (map\n                                                                  (lambda (p)\n                                                                    (~a (cdr p)\n                                                                        #:max-width\n                                                                        MAX-CHAR-WIDTH\n                                                                        #:limit-marker\n                                                                        \"...\"))\n                                                                  props)))\n                                                         (set-properties-list-box subject-properties-list-box sprops)\n                                                         (set-properties-list-box edge-properties-list-box eprops)\n                                                         (set-properties-list-box object-properties-list-box oprops)]))\n                                                    selected-full-paths)\n                                                (for-each\n                                                  (lambda (edge)\n                                                    (let ((URLs (pubmed-URLs-from-edge edge)))\n                                                      (set-box! *pubmed-choices* URLs)\n                                                      (send pubmed-list-box set URLs)))\n                                                  selected-full-paths)\n                                                (when *verbose*\n                                                  (printf \"selected full path:\\n\")\n                                                  (for-each\n                                                    (lambda (x)\n                                                      (match x\n                                                        ['path-separator\n                                                         (printf \"-----------------------\\n\")]\n                                                        [`(,dbname ,eid ,subj ,obj ,p ,eprops)\n                                                         (pretty-print `(,dbname ,eid ,subj ,obj ,p ,eprops))]))\n                                                    selected-full-paths))\n                                                ))))\n\n    (define properties/pubmed-panel (new panel:horizontal-dragable%\n                                         (parent lower-pane)\n                                         (alignment '(left center))\n                                         (stretchable-height #t)))\n\n    (define subject-properties-list-box (new smart-column-width-list-box%\n                                             (label \"Subject\")\n                                             (choices '())\n                                             (columns '(\"Property\" \"Value\"))\n                                             (parent properties/pubmed-panel)\n                                             (style '(column-headers reorderable-headers extended))\n                                             (callback (lambda (self event)\n                                                         (void)))))\n    \n    (define edge-properties-list-box (new smart-column-width-list-box%\n                                     (label \"Edge\")\n                                     (choices '())\n                                     (columns '(\"Property\" \"Value\"))\n                                     (parent properties/pubmed-panel)\n                                     (style '(column-headers reorderable-headers extended))\n                                     (callback (lambda (self event)\n                                                 (void)))))\n\n    (define object-properties-list-box (new smart-column-width-list-box%\n                                            (label \"Object\")\n                                            (choices '())\n                                            (columns '(\"Property\" \"Value\"))\n                                            (parent properties/pubmed-panel)\n                                            (style '(column-headers reorderable-headers extended))\n                                            (callback (lambda (self event)\n                                                        (void)))))\n    \n    (define pubmed-list-box (new list-box%\n                                 (label \"Pubmed\")\n                                 (choices (unbox *pubmed-choices*))\n                                 (columns '(\"URL\"))\n                                 (parent properties/pubmed-panel)\n                                 (style '(column-headers reorderable-headers single))\n                                 (callback (lambda (self event)                                        \n                                             (define event-type (send event get-event-type))\n                                             (define selections (send self get-selections))\n                                             (define selected-pubmeds\n                                               (foldr (lambda (i l) (cons (list-ref (unbox *pubmed-choices*) i) l))\n                                                      '()\n                                                      selections))\n                                             (for-each\n                                               (lambda (url)\n                                                 (printf \"url: ~s\\n\" url)\n                                                 (when (eqv? event-type 'list-box-dclick)\n                                                   ;; if the user double-clicked on the URL, open it in a web browser\n                                                   (send-url url)))\n                                               selected-pubmeds)))))\n   \n    ;; trigger reflowing of object sizes\n    (send frame reflow-container)\n\n    ;; disable previous and next buttons by default\n    (send search-in-Xs-previous-button enable #f)\n    (send search-in-Xs-next-button enable #f)\n    \n    (set-default-column-widths concept-1-list-box)\n    (set-default-column-widths concept-2-list-box)\n    (set-default-column-widths concept-X-list-box)\n    (set-default-column-widths full-path-list-box)\n    (set-default-column-widths edge-properties-list-box)\n    (set-default-column-widths edge-properties-list-box)\n    (set-default-column-widths object-properties-list-box)\n        \n    (send frame show #t)))\n\n(define (launch-gene-window)\n  (let ((frame (new frame%\n                    (label \"Gene Explorer\")\n                    (width HORIZ-SIZE)\n                    (height VERT-SIZE))))\n\n    (define gene-name-field (new text-field%\n                                 (label \"Gene Name\")\n                                 (parent frame)\n                                 (init-value \"\")\n                                 (callback (lambda (self event)\n                                             (void)))))\n\n    (define gene-listbox (new smart-column-width-list-box%\n                              (label \"Gene\")\n                              (choices '())\n                              (columns '(\"KG\" \"CID\" \"CURIE\" \"Category\" \"Name\"))\n                              (parent frame)\n                              (style '(column-headers reorderable-headers extended))\n                              (callback (lambda (self event)\n                                          (void)))))\n\n\n    (define current-gene-name \"\")\n\n    (send frame show #t)\n    ))\n\n\n(define (split-atomic/synthetic-predicates choices predicate*)\n  (define (synthetic? pred)\n    (memf (lambda (syn-prefix) (string-prefix? pred syn-prefix))\n          SYNTHETIC_PREDICATE_PREFIXES))\n\n  (define atomic-predicate* (filter-not synthetic? predicate*))\n  (define synthetic-predicate* (filter synthetic? predicate*))\n\n  (when (memf (lambda (pred) (string-prefix? pred DECREASES_PREDICATE_PREFIX_STRING))\n              synthetic-predicate*)\n    (set! atomic-predicate* (append DECREASES_PREDICATE_NAMES atomic-predicate*)))\n\n  (when (memf (lambda (pred) (string-prefix? pred INCREASES_PREDICATE_PREFIX_STRING))\n              synthetic-predicate*)\n    (set! atomic-predicate* (append INCREASES_PREDICATE_NAMES atomic-predicate*)))\n\n  (set! atomic-predicate* (set-intersect choices (remove-duplicates atomic-predicate*)))\n\n  (printf \"atomic-predicate*: ~s\\n\" atomic-predicate*)\n  (printf \"synthetic-predicate*: ~s\\n\" synthetic-predicate*)\n\n  (list atomic-predicate* synthetic-predicate*))\n\n\n(define (find-X-concepts concept-1* concept-2* predicate-1* predicate-2* predicate-1-choices predicate-2-choices concept-X-list-box running-status-description full-path-list-box subject-properties-list-box edge-properties-list-box object-properties-list-box pubmed-list-box search-in-Xs-field search-in-Xs-previous-button search-in-Xs-next-button)\n\n  (printf \"&&&&&&&&&&&&&&&   called find-X-concepts   &&&&&&&&&&&&&&&&&&\\n\")\n  \n  (printf \"concept-1*: ~s\\n\" concept-1*)\n  (printf \"concept-2*: ~s\\n\" concept-2*)\n\n  (printf \"predicate-1*: ~s\\n\" predicate-1*)\n  (printf \"predicate-2*: ~s\\n\" predicate-2*)  \n  \n\n  (define start-time (current-milliseconds))\n\n  (printf \"\\nfinding concepts X for which\\n[C1] -> P1 -> [X] -> P2 -> [C2]\\n\")\n  (printf \"=============================\\n\")\n\n  (define atomic/synthetic-predicate-1* (split-atomic/synthetic-predicates predicate-1-choices predicate-1*))\n  (define atomic/synthetic-predicate-2* (split-atomic/synthetic-predicates predicate-2-choices predicate-2*))\n\n  (define atomic-predicate-1* (car atomic/synthetic-predicate-1*))\n  (define atomic-predicate-2* (car atomic/synthetic-predicate-2*))\n\n  (define synthetic-predicate-1* (cadr atomic/synthetic-predicate-1*))\n  (define synthetic-predicate-2* (cadr atomic/synthetic-predicate-2*))\n\n  (define all-X-concepts-with-edges '())\n\n  (printf \"atomic/synthetic-predicate-1*: ~s\\n\" atomic/synthetic-predicate-1*)\n  (printf \"atomic/synthetic-predicate-2*: ~s\\n\" atomic/synthetic-predicate-2*)\n  (newline)\n  (printf \"atomic-predicate-1*: ~s\\n\" atomic-predicate-1*)\n  (printf \"atomic-predicate-2*: ~s\\n\" atomic-predicate-2*)\n  (newline)\n  (printf \"synthetic-predicate-1*: ~s\\n\" synthetic-predicate-1*)\n  (printf \"synthetic-predicate-2*: ~s\\n\" synthetic-predicate-2*)\n  (newline)\n\n  (cond\n    [;; TODO refactor all of these tests/logic (duplicate code)\n     (and\n      ;; CURIE search\n      (string=? \"\" (string-trim (unbox *curie-1-string*)))\n      (string=? \"\" (string-trim (unbox *curie-2-string*)))\n      ;; String search\n      (and\n       (null?\n        (split-name-string\n         (unbox *concept-1-name-string*)))\n       (null?\n        (split-name-string\n         (unbox *concept-2-name-string*)))))\n\n     (printf \"find-X-concepts cond case 1\\n\")\n\n     (set! all-X-concepts-with-edges '())]\n    [(and\n      ;; CURIE search\n      (string=? \"\" (string-trim (unbox *curie-1-string*)))\n      ;; String search\n      (null? (split-name-string (unbox *concept-1-name-string*))))\n\n     (printf \"find-X-concepts cond case 2\\n\")\n     \n     (set! all-X-concepts-with-edges '())\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid s o pid pred eprops e)\n                        (== (list dbname s (list eprops) (list e)) q)\n                        (== `(,dbname ,eid ,s ,o (,pid . ,pred) ,eprops) e)\n                        (membero `(,dbname . ,o) concept-2*)\n                        (membero pred atomic-predicate-2*)\n                        (edgeo e))))))]\n    [(and\n      ;; CURIE search\n      (string=? \"\" (string-trim (unbox *curie-2-string*)))\n      ;; String search\n      (null? (split-name-string (unbox *concept-2-name-string*))))\n\n     (printf \"find-X-concepts cond case 3\\n\")\n     \n     (set! all-X-concepts-with-edges '())\n     ;; run synthetic queries here\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid s o pid pred eprops e)\n                        (== (list dbname o (list eprops) (list e)) q)\n                        (== `(,dbname ,eid ,s ,o (,pid . ,pred) ,eprops) e)\n                        (membero `(,dbname . ,s) concept-1*)\n                        (membero pred atomic-predicate-1*)\n                        (edgeo e))))))]\n    [else\n\n     (printf \"find-X-concepts cond case 4\\n\")\n     \n     (set! all-X-concepts-with-edges '())\n     ;; run synthetic queries here\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid1 eid2 s m o pid1 pid2 p1 p2 eprops1 eprops2 e1 e2)\n                        (== (list dbname m (list eprops1 eprops2) (list e1 e2)) q)\n                        (== `(,dbname ,eid1 ,s ,m (,pid1 . ,p1) ,eprops1) e1)\n                        (== `(,dbname ,eid2 ,m ,o (,pid2 . ,p2) ,eprops2) e2)\n                        (membero `(,dbname . ,s) concept-1*)\n                        (membero `(,dbname . ,o) concept-2*)\n                        (membero p1 atomic-predicate-1*)\n                        (membero p2 atomic-predicate-2*)\n                        (edgeo e1)\n                        (edgeo e2))))))])\n\n  (define end-time (current-milliseconds))\n\n  (define elapsed-time (- end-time start-time))\n\n  (printf \"elapsed query time: ~s seconds\\n\" (/ elapsed-time 1000.0))\n  (printf \"=============================\\n\")\n\n  ;; This sorting affects order of appearance in the \"X\" concept list\n  (set! all-X-concepts-with-edges\n    (sort\n      all-X-concepts-with-edges\n      (lambda (c1 c2)\n        (match (list c1 c2)\n          [`((,_ ,_ ,_ ,e1*) (,_ ,_ ,_ ,e2*))\n           (not (path-confidence<? e1* e2*))]))))\n\n\n  (define db/cui-to-pred-names-hash-table (make-hash))\n  (let loop ([c* all-X-concepts-with-edges])\n    (cond\n      [(null? c*) (void)]\n      [else (match (car c*)\n              [`(,dbname (,cid ,cui ,name (,catid . ,cat) ,props) ,whatever ,e*)                  \n               (let ((pred-names (get-pred-names e*)))\n                 (let ((key (list dbname cui)))\n                   (let ((current-v (hash-ref db/cui-to-pred-names-hash-table key #f)))\n                     (if current-v\n                         (hash-set! db/cui-to-pred-names-hash-table key (set-union pred-names current-v))\n                         (hash-set! db/cui-to-pred-names-hash-table key pred-names))\n                     (loop (cdr c*)))))])]))\n  \n  (define all-X-concepts '())\n  (set! all-X-concepts\n        (let loop ([ls all-X-concepts-with-edges])\n          (cond\n            [(null? ls) '()]\n            [else\n             (match (car ls)\n               [`(,dbname (,cid ,cui ,name (,catid . ,cat) ,props) ,whatever ,e*)\n                (let ((pubmed-count* (map pubmed-count e*))\n                      (pred-names (sort (hash-ref db/cui-to-pred-names-hash-table (list dbname cui) '()) string<?)))\n                  (let ((max-pubmed-count (apply max pubmed-count*))\n                        (min-pubmed-count (apply min pubmed-count*))\n                        (path-length (length pubmed-count*))\n                        (confidence (path-confidence e*)))\n                    (cons `(,dbname\n                            (,cid\n                             ,cui\n                             ,name\n                             (,catid . ,cat)\n                             ,props\n                             ,max-pubmed-count\n                             ,min-pubmed-count\n                             ,pred-names\n                             ,path-length\n                             ,confidence)\n                            ,whatever\n                            ,e*)\n                          (loop (remf* (lambda (x)\n                                         (match x\n                                           [`(,dbname-x (,cid-x ,cui-x ,name-x (,catid-x . ,cat-x) ,props-x) . ,rest-x)\n                                            (and (equal? dbname dbname-x)\n                                                 (equal? cid cid-x)\n                                                 (equal? cui cui-x))]))\n                                       (cdr ls))))))])]))\n        )\n  (set! all-X-concepts (map (lambda (e) (cons (car e) (cadr e))) all-X-concepts))\n\n  (newline)\n  (printf \"========== begin query results =============\\n\")\n  (newline)\n\n  (printf \"Query end date/time:\\n~a\\n\" (date->string (seconds->date (current-seconds)) #t))\n  (newline)\n\n\n  (define number-Xs-found (length all-X-concepts))\n  (define query-seconds (/ elapsed-time 1000.0))\n  (define query-time-format-string \"Found ~s X's after ~s seconds\")\n  (send running-status-description set-label (format query-time-format-string number-Xs-found query-seconds))\n  (printf query-time-format-string number-Xs-found query-seconds)\n  (newline)\n  (newline)\n\n\n  (set-box! *concept-X-choices* all-X-concepts)\n\n  (set-box! *solution-concept-1-name-string* (unbox *concept-1-name-string*))\n  (set-box! *solution-concept-2-name-string* (unbox *concept-2-name-string*))\n\n  (set-box! *solution-concept-1-isa-flag* (unbox *concept-1-isa-flag*))\n  (set-box! *solution-concept-2-isa-flag* (unbox *concept-2-isa-flag*))\n  ;;\n  (set-box! *solution-curie-1-string* (unbox *curie-1-string*))\n  (set-box! *solution-curie-2-string* (unbox *curie-2-string*))\n  ;;\n  (set-box! *solution-concept-1-choices* concept-1*)\n  (set-box! *solution-concept-2-choices* concept-2*)\n  (set-box! *solution-predicate-1-choices* predicate-1*)\n  (set-box! *solution-predicate-2-choices* predicate-2*)\n\n  (printf \"*solution-concept-1-name-string*:\\n~s\\n\" (unbox *solution-concept-1-name-string*))\n  (printf \"*solution-concept-1-isa-flag*:\\n~s\\n\" (unbox *solution-concept-1-isa-flag*))\n  ;;\n  (printf \"*solution-curie-1-string*:\\n~s\\n\" (unbox *solution-curie-1-string*))\n  ;;\n  (printf \"*solution-concept-1-choices*:\\n\")\n  (pretty-print (unbox *solution-concept-1-choices*))\n  (printf \"*solution-predicate-1-choices*:\\n\")\n  (pretty-print (unbox *solution-predicate-1-choices*))\n  (newline)\n\n  (printf \"*solution-concept-2-name-string*:\\n~s\\n\" (unbox *solution-concept-2-name-string*))\n  (printf \"*solution-concept-2-isa-flag*:\\n~s\\n\" (unbox *solution-concept-2-isa-flag*))\n  ;;\n  (printf \"*solution-curie-2-string*:\\n~s\\n\" (unbox *solution-curie-2-string*))\n  ;;\n  (printf \"*solution-concept-2-choices*:\\n\")\n  (pretty-print (unbox *solution-concept-2-choices*))\n  (printf \"*solution-predicate-2-choices*:\\n\")\n  (pretty-print (unbox *solution-predicate-2-choices*))\n  (newline)\n\n  (define pretty-print-X-concepts-with-edges\n    (lambda (file-name pretty-printer print-basic-header print-low-level-query-information X-concepts-with-edges)\n      (with-output-to-file\n          file-name\n          (lambda ()\n            (when print-basic-header\n              (printf \";; mediKanren query output\\n\")\n              (printf \";; ~a\\n\" MEDIKANREN_VERSION_STRING)\n              (printf \";; \\n\")\n              (let ((local-date (seconds->date (current-seconds))))\n                (printf \";; Query run at date/time: ~s ~s ~s  ~s:~s:~s   (Year Month Day  Hour:Minute:Second)\\n\"\n                        (date-year local-date)\n                        (date-month local-date)\n                        (date-day local-date)\n                        (date-hour local-date)\n                        (date-minute local-date)\n                        (date-second local-date)))\n              (printf \";; \\n\"))\n            (when print-low-level-query-information\n              (printf \";; ===================================================\\n\")\n              (printf \";; Low-level query information from the mediKanren GUI\\n\")\n              (printf \";; ===================================================\\n\")\n              (printf \";; \\n\")\n              (printf \";; *concept-1-name-string*: ~s\\n\" (unbox *concept-1-name-string*))\n              (printf \";; *solution-concept-1-name-string*: ~s\\n\" (unbox *solution-concept-1-name-string*))\n              (printf \";; *solution-concept-1-isa-flag*: ~s\\n\" (unbox *solution-concept-1-isa-flag*))\n              ;;\n              (printf \";; *curie-1-string*: ~s\\n\" (unbox *curie-1-string*))\n              (printf \";; *solution-curie-1-string* ~s\\n\" (unbox *solution-curie-1-string*))\n              ;;\n              (printf \";; *solution-concept-1-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-concept-1-choices*))\n              (printf \"|#\\n\")\n              (printf \";; atomic/synthetic-predicate-1*: ~s\\n\" atomic/synthetic-predicate-1*)\n              (printf \";; atomic-predicate-1*: ~s\\n\" atomic-predicate-1*)\n              (printf \";; synthetic-predicate-1*: ~s\\n\" synthetic-predicate-1*)\n              (printf \";; *solution-predicate-1-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-predicate-1-choices*))\n              (printf \"|#\\n\")\n              (printf \";; \\n\")\n              (printf \";; \\n\")\n              (printf \";; \\n\")\n              (printf \";; atomic/synthetic-predicate-2*: ~s\\n\" atomic/synthetic-predicate-2*)\n              (printf \";; atomic-predicate-2*: ~s\\n\" atomic-predicate-2*)\n              (printf \";; synthetic-predicate-2*: ~s\\n\" synthetic-predicate-2*)\n              (printf \";; *solution-predicate-2-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-predicate-2-choices*))\n              (printf \"|#\\n\")\n              (printf \";; *concept-2-name-string*: ~s\\n\" (unbox *concept-2-name-string*))\n              (printf \";; *solution-concept-2-name-string*: ~s\\n\" (unbox *solution-concept-2-name-string*))\n              (printf \";; *solution-concept-2-isa-flag*: ~s\\n\" (unbox *solution-concept-2-isa-flag*))\n              ;;\n              (printf \";; *curie-2-string*: ~s\\n\" (unbox *curie-2-string*))\n              (printf \";; *solution-curie-2-string* ~s\\n\" (unbox *solution-curie-2-string*))              \n              ;;\n              (printf \";; *solution-concept-2-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-concept-2-choices*))\n              (printf \"|#\\n\")\n              (printf \"\\n\"))\n            (when print-basic-header\n              (printf \";; ======================================\\n\")\n              (printf \";; Query results (list of complete edges)\\n\")\n              (printf \";; ======================================\\n\"))\n            (pretty-printer X-concepts-with-edges))\n          #:mode 'text\n          #:exists QUERY_RESULTS_FILE_MODE)))\n\n  (define human-friendly-pretty-print-X-concepts-with-edges\n    (lambda (X-concepts-with-edges)\n      (for-each\n        (lambda (entry index)\n          (match entry\n            [`(,dbname\n                ,s\n                ,eprops*\n                ,edges)\n              (printf \"*** Edge group:\")\n              (for-each\n                (lambda (edge)\n                  (match edge\n                    [`(,dbname\n                       ,eid\n                       (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n                       (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n                       (,pid . ,pred) ,eprops)\n                     (let ((pubmed* (pubmed-URLs-from-edge edge)))\n                       (printf \"\\n~s\\t~s\\t~s\\t~s\\t~s\\t~s\\t~s\\t~s PubMed Entries\\n~s\\n\" index dbname sname scat pred oname ocat (length pubmed*) pubmed*))]))\n                edges)\n              (printf \"***\\n\\n\") ]))\n        X-concepts-with-edges\n        (iota (length X-concepts-with-edges) 1))))\n\n  (define spreadsheet-friendly-pretty-print-X-concepts-with-edges\n    (lambda (X-concepts-with-edges)\n      (printf \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\n\"\n              \"Subject Category\"\n              \"Subject Name\"\n              \n              \"Predicate\"\n              \n              \"Object Category\"\n              \"Object Name\"\n              \n              \"PubMed URL\"\n              \n              \"KG Name\")\n      (for-each\n        (lambda (entry index)\n          (match entry\n            [`(,dbname\n                ,s\n                ,eprops*\n                ,edges)\n              (for-each\n                (lambda (edge)\n                  (match edge\n                    [`(,dbname\n                       ,eid\n                       (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n                       (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n                       (,pid . ,pred) ,eprops)\n                     (let ((pubmed* (pubmed-URLs-from-edge edge)))\n                       (for-each\n                         (lambda (pubmed)\n                           (printf \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\n\"\n                                   scat\n                                   sname\n\n                                   pred\n\n                                   ocat\n                                   oname                                   \n\n                                   pubmed\n                                   \n                                   dbname))\n                         pubmed*))]))\n                edges)]))\n        X-concepts-with-edges\n        (iota (length X-concepts-with-edges) 1))))\n\n  (when WRITE_QUERY_RESULTS_TO_FILE\n\n    (printf \"saving all-X-concepts-with-edges to '~a' file...\\n\"\n            QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      QUERY_RESULTS_FILE_NAME\n      pretty-print\n      #t ;; print-basic-header flag\n      #t ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved all-X-concepts-with-edges to '~a' file\\n\"\n            QUERY_RESULTS_FILE_NAME)\n\n    (printf \"saving human-friendly version of all-X-concepts-with-edges to '~a' file...\\n\"\n            HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME\n      human-friendly-pretty-print-X-concepts-with-edges\n      #t ;; print-basic-header flag\n      #f ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved human-friendly version of all-X-concepts-with-edges to '~a' file\\n\"\n            HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n\n    (printf \"saving spreadsheet-friendly version of all-X-concepts-with-edges to '~a' file...\\n\"\n            SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME\n      spreadsheet-friendly-pretty-print-X-concepts-with-edges\n      #f ;; print-basic-header flag\n      #f ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved spreadsheet-friendly version of all-X-concepts-with-edges to '~a' file\\n\"\n            SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n\n    )\n\n  (printf \"========== end query results =============\\n\")\n\n  ((make-send-concepts-to-concept-X-list-box concept-X-list-box) all-X-concepts)\n\n  ;; unselect all items\n  (for ([i (length all-X-concepts)])\n       (send concept-X-list-box select i #f))\n\n  ;; add X concept data for each list-box entry\n  (let loop ((i 0)\n             (c* all-X-concepts))\n    (cond\n      [(null? c*) (void)]\n      [else\n       (send concept-X-list-box set-data i (car c*))\n       (loop (add1 i)\n             (cdr c*))]))\n\n  ;; empty the search in X's field, and disable the previous/next buttons\n  (send search-in-Xs-field set-value \"\")\n  (send search-in-Xs-previous-button enable #f)\n  (send search-in-Xs-next-button enable #f)\n  \n  ;; empty the entries in the full-path-list-box\n  (send full-path-list-box set '() '() '() '() '() '() '() '())\n\n  ;; empty the entries in the properties list-boxes\n  (send subject-properties-list-box set '() '())\n  (send edge-properties-list-box set '() '())\n  (send object-properties-list-box set '() '())\n\n  ;; empty the entries in the pubmed-list-box\n  (send pubmed-list-box set '())\n\n  )\n\n(displayln\n  \"Launching GUI\")\n\n(launch-gui)\n"
  },
  {
    "path": "attic/medikanren/sialic-full-will.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n\n  membero\n  edgeo\n  ~name-concepto\n\n  semmed\n  monarch\n  rtx\n  scigraph)\n\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n(displayln \"loading semmed\")\n(define semmed (time (make-db \"data/semmed\")))\n(displayln \"loading monarch-lite\")\n(define monarch (time (make-db \"data/monarch-lite\")))\n(displayln \"loading rtx\")\n(define rtx (time (make-db \"data/rtx\")))\n(displayln \"loading scigraph\")\n(define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; remove duplicates from a list\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ((fresh (ee) (== `(scigraph . ,ee) e) (db:edgeo scigraph ee)))))\n\n(define (~name-concepto n c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed n cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch n cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx n cc)))\n    ((fresh (cc) (== `(scigraph . ,cc) c) (db:~name-concepto scigraph n cc)))))\n\n#|\n(time (pretty-print\n       (run* (concept)\n         (~name-concepto \"sialic acid\" concept))))\n|#\n\n(time (rem-dups\n        (run* (q)\n          (fresh (edge name db)\n            (fresh (subject sdb scid scui sname sdetails\n                            object ocid ocui oname odetails\n                            eid pid pred eprops)\n              (== `(,scid ,scui ,sname . ,sdetails) subject)\n              (== `(,ocid ,ocui ,oname . ,odetails) object)\n              (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n              (== \"negatively_regulates\" pred)\n              (conde\n                [(db:~name-concepto semmed \"sialic acid\" object)\n                 (db:edgeo semmed edge)\n                 (== 'semmed db)]\n                [(db:~name-concepto monarch \"sialic acid\" object)\n                 (db:edgeo monarch edge)\n                 (== 'monarch db)]\n                [(db:~name-concepto rtx \"sialic acid\" object)\n                 (db:edgeo rtx edge)\n                 (== 'rtx db)]\n                [(db:~name-concepto scigraph \"sialic acid\" object)\n                 (db:edgeo scigraph edge)\n                 (== 'scigraph db)])      \n              (== (list db edge) q))))))\n\n(time (rem-dups\n        (run* (q)\n          (fresh (edge name)\n            (fresh (subject sdb scid scui sname sdetails\n                            object ocid ocui oname odetails\n                            eid pid pred eprops)\n              (== `(,scid ,scui ,sname . ,sdetails) subject)\n              (== `(,ocid ,ocui ,oname . ,odetails) object)\n              (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n              (conde\n                [(db:~name-concepto semmed \"sialic acid\" object)\n                 (db:edgeo semmed edge)]\n                [(db:~name-concepto monarch \"sialic acid\" object)\n                 (db:edgeo monarch edge)]\n                [(db:~name-concepto rtx \"sialic acid\" object)\n                 (db:edgeo rtx edge)]\n                [(db:~name-concepto scigraph \"sialic acid\" object)\n                 (db:edgeo scigraph edge)])      \n              (== (list pid pred) q))))))\n\n#|\n;;; Error 1\n(time (rem-dups\n        (run* (q)\n          (fresh (edge name)\n            (fresh (subject sdb scid scui sname sdetails\n                            object ocid ocui oname odetails\n                            eid pid pred eprops)\n              (== `(,scid ,scui ,sname . ,sdetails) subject)\n              (== `(,ocid ,ocui ,oname . ,odetails) object)\n              (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n              (conde\n                [(db:~name-concepto semmed \"sialic acid\" object)]\n                [(db:~name-concepto monarch \"sialic acid\" object)]\n                [(db:~name-concepto rtx \"sialic acid\" object)]\n                [(db:~name-concepto scigraph \"sialic acid\" object)])      \n              (== (list pid pred) q)\n              (conde\n                [(db:edgeo semmed edge)]\n                [(db:edgeo monarch edge)]\n                [(db:edgeo rtx edge)]\n                [(db:edgeo scigraph edge)]\n                ))))))\n; integer-bytes->integer: contract violation\n;   expected: bytes?\n;   given: #<eof>\n;   argument position: 1st\n; [,bt for context]\n\n\n;;; Error 2\n(displayln \"X ANY-PRED sialic acid:\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name dbid)\n           (fresh (subject sdb scid scui sname sdetails\n                           object odb ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,dbid ,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (~name-concepto \"sialic acid\" `(,odb . ,object))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo edge))))))\n; *: contract violation\n;   expected: number?\n;   given: '(#((unbound) (scope) 6270) #((unbound) (scope) 6271) #((unbound)\n;     (scope) 6272) . #((unbound) (scope) 6273))\n;   argument position: 1st\n; [,bt for context]\n|#\n\n#|\n(run 1 (q)\n  (fresh (edge name)\n    (fresh (subject sdb scid scui sname sdetails\n                    object ocid ocui oname odetails\n                    eid pid pred eprops)\n      (== `(,scid ,scui ,sname . ,sdetails) subject)\n      (== `(,ocid ,ocui ,oname . ,odetails) object)\n      (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n      (conde\n        [(db:~name-concepto semmed \"sialic acid\" object)]\n        [(db:~name-concepto monarch \"sialic acid\" object)]\n        [(db:~name-concepto rtx \"sialic acid\" object)]\n        [(db:~name-concepto scigraph \"sialic acid\" object)])      \n      (== (list pid pred) q)\n      (conde\n        [(db:edgeo semmed edge)]\n        [(db:edgeo monarch edge)]\n        [(db:edgeo rtx edge)]\n        [(db:edgeo scigraph edge)]))))\n\n(run 1 (q)\n  (fresh (edge name)\n    (fresh (subject sdb scid scui sname sdetails\n                    object ocid ocui oname odetails\n                    eid pid pred eprops)\n      (== `(,scid ,scui ,sname . ,sdetails) subject)\n      (== `(,ocid ,ocui ,oname . ,odetails) object)\n      (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n      (conde\n        [(db:~name-concepto semmed \"sialic acid\" object)]\n        [(db:~name-concepto monarch \"sialic acid\" object)]\n        [(db:~name-concepto rtx \"sialic acid\" object)]\n        [(db:~name-concepto scigraph \"sialic acid\" object)])      \n      (== edge q)\n      (conde\n        [(db:edgeo semmed edge)]\n        [(db:edgeo monarch edge)]\n        [(db:edgeo rtx edge)]\n        [(db:edgeo scigraph edge)]))))\n\n\n(time (rem-dups (run* (q)\n  (fresh (edge name)\n    (fresh (subject sdb scid scui sname sdetails\n                    object ocid ocui oname odetails\n                    eid pid pred eprops)\n      (== `(,scid ,scui ,sname . ,sdetails) subject)\n      (== `(,ocid ,ocui ,oname . ,odetails) object)\n      (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n      (conde\n        [(db:~name-concepto semmed \"sialic acid\" object)]\n        ;[(db:~name-concepto monarch \"sialic acid\" object)]\n        ;[(db:~name-concepto rtx \"sialic acid\" object)]\n        ;[(db:~name-concepto scigraph \"sialic acid\" object)]\n        )      \n      (== (list pid pred) q)\n      (conde\n        [(db:edgeo semmed edge)]\n        [(db:edgeo monarch edge)]\n        ;[(db:edgeo rtx edge)]\n        [(db:edgeo scigraph edge)]\n        ))))))\n|#\n\n#|\n(displayln \"X ANY-PRED sialic acid:\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name)\n           (fresh (subject sdb scid scui sname sdetails\n                           object odb ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (~name-concepto \"sialic acid\" `(,odb . ,object))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo edge))))))\n|#\n\n#|\n(run 1 (q)\n    (fresh (edge name)\n      (fresh (subject sdb scid scui sname sdetails\n                      object odb ocid ocui oname odetails\n                      eid pid pred eprops)\n        (== `(,scid ,scui ,sname . ,sdetails) subject)\n        (== `(,ocid ,ocui ,oname . ,odetails) object)\n        (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n        (== `(,sname ,pred ,oname) q)\n        (db:edgeo scigraph edge))))\n|#\n\n#|\n(run 1 (q)\n    (fresh (edge name)\n      (fresh (subject sdb scid scui sname sdetails\n                      object odb ocid ocui oname odetails\n                      eid pid pred eprops)\n        (== `(,scid ,scui ,sname . ,sdetails) subject)\n        (== `(,ocid ,ocui ,oname . ,odetails) object)\n        (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n        (== `(,sname ,pred ,oname) q)\n        (edgeo edge))))\n|#\n"
  },
  {
    "path": "attic/medikanren/sialic-full.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n\n  membero\n  edgeo\n  ~name-concepto\n\n  remdups\n\n  semmed\n  monarch\n  rtx\n  scigraph)\n\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n(displayln \"loading semmed\")\n(define semmed (time (make-db \"data/semmed\")))\n(displayln \"loading monarch-lite\")\n(define monarch (time (make-db \"data/monarch-lite\")))\n(displayln \"loading rtx\")\n(define rtx (time (make-db \"data/rtx\")))\n(displayln \"loading scigraph\")\n(define scigraph (time (make-db \"data/scigraph\")))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; remove duplicates from a list\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ((fresh (ee) (== `(scigraph . ,ee) e) (db:edgeo scigraph ee)))))\n\n(define (~name-concepto n c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed n cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch n cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx n cc)))\n    ((fresh (cc) (== `(scigraph . ,cc) c) (db:~name-concepto scigraph n cc)))))\n\n(time (pretty-print\n       (run* (concept)\n         (~name-concepto \"sialic acid\" concept))))\n\n(time (rem-dups\n        (run* (q)\n          (fresh (edge name dbid)\n            (fresh (subject sdb scid scui sname sdetails\n                            object ocid ocui oname odetails\n                            eid pid pred eprops)\n              (== `(,scid ,scui ,sname . ,sdetails) subject)\n              (== `(,ocid ,ocui ,oname . ,odetails) object)\n              (== `(,dbid ,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n              (== (list pid pred) q)\n              (~name-concepto \"sialic acid\" `(,dbid . ,object))\n              (edgeo edge))))))\n\n(displayln \"X ANY-PRED sialic acid:\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name dbid)\n           (fresh (subject sdb scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,dbid ,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (== `(,sname ,pred ,oname) q)\n             (~name-concepto \"sialic acid\" `(,dbid . ,object))\n             (edgeo edge))))))\n\n(displayln \"X produces sialic acid:\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name dbid)\n           (fresh (subject sdb scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,dbid ,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (== (list dbid edge) q)\n             (== \"produces\" pred)\n             (~name-concepto \"sialic acid\" `(,dbid . ,object))\n             (edgeo edge))))))\n\n(displayln \"X produces sialic acid (defined by):\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name dbid)\n           (fresh (subject sdb scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `() eprops)\n             (== `(,dbid ,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (== (list dbid edge) q)\n             (== \"produces\" pred)\n             (~name-concepto \"sialic acid\" `(,dbid . ,object))\n             (edgeo edge))))))\n\n\n(displayln \"sialic acid ANY-PRED X:\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name dbid)\n           (fresh (subject sdb scid scui sname sdetails\n                           object ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,dbid ,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (== `(,sname ,pred ,oname) q)\n             (~name-concepto \"sialic acid\" `(,dbid . ,subject))\n             (edgeo edge))))))\n\n#|\n(run 1 (q)\n  (fresh (edge name)\n    (fresh (subject sdb scid scui sname sdetails\n                    object ocid ocui oname odetails\n                    eid pid pred eprops)\n      (== `(,scid ,scui ,sname . ,sdetails) subject)\n      (== `(,ocid ,ocui ,oname . ,odetails) object)\n      (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n      (conde\n        [(db:~name-concepto semmed \"sialic acid\" object)]\n        [(db:~name-concepto monarch \"sialic acid\" object)]\n        [(db:~name-concepto rtx \"sialic acid\" object)]\n        [(db:~name-concepto scigraph \"sialic acid\" object)])      \n      (== (list pid pred) q)\n      (conde\n        [(db:edgeo semmed edge)]\n        [(db:edgeo monarch edge)]\n        [(db:edgeo rtx edge)]\n        [(db:edgeo scigraph edge)]))))\n\n(run 1 (q)\n  (fresh (edge name)\n    (fresh (subject sdb scid scui sname sdetails\n                    object ocid ocui oname odetails\n                    eid pid pred eprops)\n      (== `(,scid ,scui ,sname . ,sdetails) subject)\n      (== `(,ocid ,ocui ,oname . ,odetails) object)\n      (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n      (conde\n        [(db:~name-concepto semmed \"sialic acid\" object)]\n        [(db:~name-concepto monarch \"sialic acid\" object)]\n        [(db:~name-concepto rtx \"sialic acid\" object)]\n        [(db:~name-concepto scigraph \"sialic acid\" object)])      \n      (== edge q)\n      (conde\n        [(db:edgeo semmed edge)]\n        [(db:edgeo monarch edge)]\n        [(db:edgeo rtx edge)]\n        [(db:edgeo scigraph edge)]))))\n\n\n(time (rem-dups (run* (q)\n  (fresh (edge name)\n    (fresh (subject sdb scid scui sname sdetails\n                    object ocid ocui oname odetails\n                    eid pid pred eprops)\n      (== `(,scid ,scui ,sname . ,sdetails) subject)\n      (== `(,ocid ,ocui ,oname . ,odetails) object)\n      (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n      (conde\n        [(db:~name-concepto semmed \"sialic acid\" object)]\n        ;[(db:~name-concepto monarch \"sialic acid\" object)]\n        ;[(db:~name-concepto rtx \"sialic acid\" object)]\n        ;[(db:~name-concepto scigraph \"sialic acid\" object)]\n        )      \n      (== (list pid pred) q)\n      (conde\n        [(db:edgeo semmed edge)]\n        [(db:edgeo monarch edge)]\n        ;[(db:edgeo rtx edge)]\n        [(db:edgeo scigraph edge)]\n        ))))))\n|#\n\n#|\n(displayln \"X ANY-PRED sialic acid:\")\n(time (pretty-print\n       (run* (q)\n         (fresh (edge name)\n           (fresh (subject sdb scid scui sname sdetails\n                           object odb ocid ocui oname odetails\n                           eid pid pred eprops)\n             (== `(,scid ,scui ,sname . ,sdetails) subject)\n             (== `(,ocid ,ocui ,oname . ,odetails) object)\n             (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n             (~name-concepto \"sialic acid\" `(,odb . ,object))\n             (== `(,sname ,pred ,oname) q)\n             (edgeo edge))))))\n|#\n\n#|\n(run 1 (q)\n    (fresh (edge name)\n      (fresh (subject sdb scid scui sname sdetails\n                      object odb ocid ocui oname odetails\n                      eid pid pred eprops)\n        (== `(,scid ,scui ,sname . ,sdetails) subject)\n        (== `(,ocid ,ocui ,oname . ,odetails) object)\n        (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n        (== `(,sname ,pred ,oname) q)\n        (db:edgeo scigraph edge))))\n|#\n\n#|\n(run 1 (q)\n    (fresh (edge name)\n      (fresh (subject sdb scid scui sname sdetails\n                      object odb ocid ocui oname odetails\n                      eid pid pred eprops)\n        (== `(,scid ,scui ,sname . ,sdetails) subject)\n        (== `(,ocid ,ocui ,oname . ,odetails) object)\n        (== `(,eid ,subject ,object (,pid . ,pred) . ,eprops) edge)\n        (== `(,sname ,pred ,oname) q)\n        (edgeo edge))))\n|#\n"
  },
  {
    "path": "attic/medikanren/test-POST.rkt",
    "content": "#lang racket\n(require net/http-client\n         json)\n\n(define (named-cuis->json named-cuis)\n  (define (node cui name)\n    (hash 'description     \"something profound goes here\"\n          'id              cui\n          'name            name\n          'node_attributes 'null\n          'symbol          'null\n          'type            \"chemical_substance\"\n          'uri             'null))\n  (define (result cui name)\n    (hash 'confidence  0.00000000000000001\n          'description 'null\n          'essence     name\n          'id          'null\n          'reasoner_id 'null\n          'result_graph (hash 'edge_list '()\n                              'node_list (list (node cui name)))\n          'result_group                  'null\n          'result_group_similarity_score 'null\n          'result_type                   'null\n          'row_data                      '()\n          'score                         'null\n          'score_direction               'null\n          'score_name                    'null\n          'text                          'null))\n  (hash 'context                'null\n        'datetime               'null\n        'id                     'null\n        'known_query_type_id    'null\n        'message                'null\n        'n_results              'null\n        'original_question_text 'null\n        'query_type_id          'null\n        'reasoner_id            \"mediKanren-0.00000000000000zerozero...\"\n        'response_code          \"OK\"\n        'restated_question_text 'null\n        'result_code            'null\n        'result_list (map result (map car named-cuis) (map cdr named-cuis))\n        'schema_version         \"0.5\"\n        'table_column_names     '()\n        'terms                  'null\n        'tool_version           \"Nope\"\n        'type                   \"medical_translator_query_result\"))\n\n(define data (jsexpr->bytes\n               (named-cuis->json\n                 '((\"OMIM:600001\" .  \"HEART DEFECTS, CONGENITAL, AND OTHER CONGENITAL ANOMALIES; HDCA\")))))\n\n;(define data\n;\"\n;{\n  ;\\\"context\\\": null,\n  ;\\\"datetime\\\": null,\n  ;\\\"id\\\": null,\n  ;\\\"known_query_type_id\\\": null,\n  ;\\\"message\\\": \\\"25 results found\\\",\n  ;\\\"n_results\\\": null,\n  ;\\\"original_question_text\\\": null,\n  ;\\\"query_type_id\\\": null,\n  ;\\\"reasoner_id\\\": null,\n  ;\\\"response_code\\\": \\\"OK\\\",\n  ;\\\"restated_question_text\\\": null,\n  ;\\\"result_code\\\": null,\n  ;\\\"result_list\\\": [\n    ;{\n      ;\\\"confidence\\\": 0.9993358516965531,\n      ;\\\"description\\\": null,\n      ;\\\"essence\\\": \\\"HEART DEFECTS, CONGENITAL, AND OTHER CONGENITAL ANOMALIES; HDCA\\\",\n      ;\\\"id\\\": null,\n      ;\\\"reasoner_id\\\": null,\n      ;\\\"result_graph\\\": {\n        ;\\\"edge_list\\\": [\n          ;{\n            ;\\\"attribute_list\\\": null,\n            ;\\\"confidence\\\": null,\n            ;\\\"evidence_type\\\": null,\n            ;\\\"is_defined_by\\\": \\\"RTX\\\",\n            ;\\\"negated\\\": null,\n            ;\\\"provided_by\\\": \\\"BioLink\\\",\n            ;\\\"publications\\\": null,\n            ;\\\"qualifiers\\\": null,\n            ;\\\"relation\\\": null,\n            ;\\\"source_id\\\": \\\"DOID:9352\\\",\n            ;\\\"target_id\\\": \\\"HP:0011466\\\",\n            ;\\\"type\\\": \\\"has_phenotype\\\"\n          ;},\n          ;{\n            ;\\\"attribute_list\\\": null,\n            ;\\\"confidence\\\": null,\n            ;\\\"evidence_type\\\": null,\n            ;\\\"is_defined_by\\\": \\\"RTX\\\",\n            ;\\\"negated\\\": null,\n            ;\\\"provided_by\\\": \\\"BioLink\\\",\n            ;\\\"publications\\\": null,\n            ;\\\"qualifiers\\\": null,\n            ;\\\"relation\\\": null,\n            ;\\\"source_id\\\": \\\"OMIM:600001\\\",\n            ;\\\"target_id\\\": \\\"HP:0011466\\\",\n            ;\\\"type\\\": \\\"has_phenotype\\\"\n          ;}\n        ;],\n        ;\\\"node_list\\\": [\n          ;{\n            ;\\\"description\\\": \\\"Absence or underdevelopment of the gallbladder.\\\",\n            ;\\\"id\\\": \\\"HP:0011466\\\",\n            ;\\\"name\\\": \\\"Aplasia/Hypoplasia of the gallbladder\\\",\n            ;\\\"node_attributes\\\": null,\n            ;\\\"symbol\\\": null,\n            ;\\\"type\\\": \\\"phenotypic_feature\\\",\n            ;\\\"uri\\\": \\\"http://purl.obolibrary.org/obo/HP_0011466\\\"\n          ;},\n          ;{\n            ;\\\"description\\\": \\\"A diabetes mellitus that involves high blood glucose resulting from cells fail to use insulin properly.\\\",\n            ;\\\"id\\\": \\\"DOID:9352\\\",\n            ;\\\"name\\\": \\\"type 2 diabetes mellitus\\\",\n            ;\\\"node_attributes\\\": null,\n            ;\\\"symbol\\\": null,\n            ;\\\"type\\\": \\\"disease\\\",\n            ;\\\"uri\\\": \\\"http://purl.obolibrary.org/obo/DOID_9352\\\"\n          ;},\n          ;{\n            ;\\\"description\\\": \\\"None\\\",\n            ;\\\"id\\\": \\\"OMIM:600001\\\",\n            ;\\\"name\\\": \\\"HEART DEFECTS, CONGENITAL, AND OTHER CONGENITAL ANOMALIES; HDCA\\\",\n            ;\\\"node_attributes\\\": null,\n            ;\\\"symbol\\\": null,\n            ;\\\"type\\\": \\\"disease\\\",\n            ;\\\"uri\\\": \\\"http://purl.obolibrary.org/obo/OMIM_600001\\\"\n          ;}\n        ;]\n      ;},\n      ;\\\"result_group\\\": null,\n      ;\\\"result_group_similarity_score\\\": null,\n      ;\\\"result_type\\\": null,\n      ;\\\"row_data\\\": [\n        ;\\\"type 2 diabetes mellitus\\\",\n        ;\\\"DOID:9352\\\",\n        ;\\\"HEART DEFECTS, CONGENITAL, AND OTHER CONGENITAL ANOMALIES; HDCA\\\",\n        ;\\\"OMIM:600001\\\",\n        ;\\\"0.000664\\\"\n      ;],\n      ;\\\"score\\\": null,\n      ;\\\"score_direction\\\": null,\n      ;\\\"score_name\\\": null,\n      ;\\\"text\\\": \\\"The drug HEART DEFECTS, CONGENITAL, AND OTHER CONGENITAL ANOMALIES; HDCA is predicted to treat type 2 diabetes mellitus.\\\"\n    ;},\n  ;],\n  ;\\\"schema_version\\\": \\\"0.5\\\",\n  ;\\\"table_column_names\\\": [\n    ;\\\"input disease name\\\",\n    ;\\\"input disease ID\\\",\n    ;\\\"output disease name\\\",\n    ;\\\"output disease ID\\\",\n    ;\\\"path weight\\\"\n  ;],\n  ;\\\"terms\\\": null,\n  ;\\\"tool_version\\\": \\\"RTX 0.5.4\\\",\n  ;\\\"type\\\": \\\"medical_translator_query_result\\\"\n;}\n;\"\n  ;)\n\n(displayln `(sending: ,data))\n\n(define-values (status headers in)\n  (http-sendrecv \"localhost\"\n                 \"/query\"\n                 #:port 8000\n                 #:ssl? #f\n                 #:version \"1.1\"\n                 #:method \"POST\"\n                 #:data data))\n\n(displayln status)\n(displayln headers)\n(displayln (port->string in))\n(close-input-port in)\n"
  },
  {
    "path": "attic/medikanren/w1m2-direct-POST.rkt",
    "content": "#lang racket\n(require net/http-client\n         json)\n\n(define data (jsexpr->bytes\n               '(\n                 ;(\"UMLS:C0282687\" \"Ebola hemorrhagic fever\")\n                 ;(\"OMIM:600807\"   \"Asthma\")\n                 (\"DOID:3302\"   \"Chordoma\")\n                 ;(\"OMIM:215400\"   \"Chordoma\")\n                 ;(\"OMIM:125853\"   \"Type 2 Diabetes Mellitus\")\n                 )))\n\n(displayln `(sending: ,data))\n\n(define-values (status headers in)\n  (http-sendrecv \"localhost\"\n                 \"/direct-query\"\n                 #:port 8000\n                 #:ssl? #f\n                 #:version \"1.1\"\n                 #:method \"POST\"\n                 #:data data))\n\n(displayln status)\n(displayln headers)\n(displayln (port->string in))\n(close-input-port in)\n"
  },
  {
    "path": "attic/medikanren/web-server.rkt",
    "content": "#lang racket/base\n(require\n  \"common.rkt\"\n  racket/match\n  racket/port\n  racket/pretty\n  racket/string\n  web-server/servlet\n  web-server/servlet-env\n  web-server/managers/none\n  net/url\n  xml)\n\n(print-as-expression #f)\n(pretty-print-abbreviate-read-macros #f)\n\n(define argv (current-command-line-arguments))\n(define argv-optional '#(CONFIG_FILE))\n\n(when (not (<= (vector-length argv) (vector-length argv-optional)))\n  (error \"optional arguments ~s; given ~s\" argv-optional argv))\n\n;; Loading will occur at first use if not explicitly forced like this.\n(load-config #t (and (<= 1 (vector-length argv)) (vector-ref argv 0)))\n(load-databases #t)\n\n;; TODO:\n;;; Query save file settings\n(define WRITE_QUERY_RESULTS_TO_FILE            (config-ref 'query-results.write-to-file?))\n(define QUERY_RESULTS_FILE_NAME                (config-ref 'query-results.file-name))\n(define HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME (config-ref 'query-results.file-name-human))\n(define SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME (config-ref 'query-results.file-name-spreadsheet))\n(define QUERY_RESULTS_FILE_MODE                (config-ref 'query-results.file-mode))\n;;; Decreases/increases predicate names\n(define DECREASES_PREDICATE_NAMES (config-ref 'decreases-predicate-names))\n(define INCREASES_PREDICATE_NAMES (config-ref 'increases-predicate-names))\n\n(define (xexpr->html-string xe)\n  (string-append \"<!doctype html>\" (xexpr->string xe)))\n(define mime:text/plain  (string->bytes/utf-8 \"text/plain;charset=utf-8\"))\n(define mime:text/s-expr (string->bytes/utf-8 \"text/plain;charset=utf-8\"))\n(define mime:text/html   (string->bytes/utf-8 \"text/html;charset=utf-8\"))\n(define mime:text/css    (string->bytes/utf-8 \"text/css;charset=utf-8\"))\n(define mime:text/js     (string->bytes/utf-8 \"text/javascript;charset=utf-8\"))\n(define mime:json        (string->bytes/utf-8 \"application/json;charset=utf-8\"))\n(define mime:binary      (string->bytes/utf-8 \"application/octet-stream\"))\n(define (respond code message headers mime-type body)\n  (response/full code (string->bytes/utf-8 message)\n                 (current-seconds) mime-type headers\n                 (list (string->bytes/utf-8 body))))\n\n(define (css->string cexprs)\n  (string-append*\n    (map (lambda (cexpr)\n           (define selector (car cexpr))\n           (define attrs\n             (map (lambda (a) (format \"~a: ~a;\\n\" (car a) (cadr a)))\n                  (cdr cexpr)))\n           (format \"~a {\\n~a}\\n\" selector (string-append* attrs)))\n         cexprs)))\n(define (js->string jsexpr) (string-join jsexpr \"\\n\"))\n\n(define (read*/string s)\n  (define (read*)\n    (define datum (read))\n    (if (eof-object? datum) '() (cons datum (read*))))\n  (with-handlers (((lambda _ #t)\n                   (lambda _ (printf \"unreadable input string: ~s\\n\" s)\n                     #f)))\n                 (with-input-from-string s read*)))\n\n(define (/query req)\n  (define post-data (request-post-data/raw req))\n  (define (e400/body body)\n    (respond 400 \"Bad Request\" '() mime:text/plain body))\n  (define (e400 reason)\n    (e400/body (with-output-to-string\n                 (lambda () (printf \"~a:\\n~s\\n\" reason\n                                    (bytes->string/utf-8 post-data))))))\n  (define (e400/failure failure)\n    (e400/body (with-output-to-string\n                 (lambda ()\n                   (printf \"Query failed:\\n~s\\n\"\n                           (bytes->string/utf-8 post-data))\n                   (pretty-print failure)))))\n  (define (ok200 data)\n    (respond 200 \"OK\" '() mime:text/s-expr\n             (with-output-to-string (lambda () (pretty-print data)))))\n  (cond ((not post-data) (e400/body \"Invalid POST data.\"))\n        ((read*/string (bytes->string/utf-8 post-data))\n         => (lambda (data)\n              (match data\n                ('()           (e400 \"Empty POST\"))\n                ((list* x y z) (e400 \"Too many POST s-expressions\"))\n                ((list datum)\n                 (match datum\n                   (`(concept ,subject? ,object? ,isa-count ,via-cui? ,strings)\n                     (with-handlers\n                       (((lambda _ #t) e400/failure))\n                       (ok200 (find-predicates/concepts\n                                subject? object?\n                                (find-concepts/options\n                                  subject? object? isa-count\n                                  via-cui? strings)))))\n                   (`(X ,subject ,object)\n                     (with-handlers\n                       (((lambda _ #t) e400/failure))\n                       (ok200 (find-Xs subject object))))\n                   (_ (e400 \"Invalid query\")))))))\n        (else (e400 \"Bad POST s-expression format\"))))\n\n(define (xe200 xexpr)\n  (respond 200 \"OK\" '() mime:text/html (xexpr->html-string xexpr)))\n\n;; TODO: define simple read/write for s-expressions.\n(define ui.js\n  '(\"window.addEventListener('load', function(){\"\n    \"function query(show, data) {\"\n    \"  var xhr = new XMLHttpRequest();\"\n    \"  xhr.addEventListener('load', function(event){\"\n    \"    show(xhr.responseText);\"\n    \"  });\"\n    \"  xhr.addEventListener('error', function(event){\"\n    \"    alert('Server communication failure: ' + xhr.status + ' ' + xhr.statusText);\"\n    \"  });\"\n    \"  xhr.open('POST', '/query');\"\n    \"  xhr.setRequestHeader('Content-Type', 'text/plain;charset=utf-8');\"\n    \"  xhr.send(data);\"\n    \"}\"\n\n    \"function displayClear(display) {\"\n    \"  while (display.lastChild) {\"\n    \"    display.removeChild(display.lastChild);\"\n    \"  }\"\n    \"}\"\n    \"function displayShow(display, data) {\"\n    \"  displayClear(display);\"\n    \"  var option = document.createElement('option');\"\n    \"  var text = document.createTextNode(data);\"\n    \"  option.appendChild(text);\"\n    \"  option.setAttribute('value', data);\"\n    \"  display.appendChild(option);\"\n    \"}\"\n\n    \"var subjectSearch = document.getElementById('subject:text-search');\"\n    \"var subjectC = document.getElementById('subject:concepts');\"\n    \"var subjectP = document.getElementById('subject:predicates');\"\n    \"var objectSearch = document.getElementById('object:text-search');\"\n    \"var objectC = document.getElementById('object:concepts');\"\n    \"var objectP = document.getElementById('object:predicates');\"\n\n    \"subjectSearch.addEventListener('change', function(event){\"\n    \"  var strings = subjectSearch.value.split(/(\\\\s+)/);\"\n    \"  var joined = '\\\"' + strings.join('\\\" \\\"') + '\\\"';\"\n    \"  var qdatum = '(concept #t #f 0 #f (' + joined + '))'\"\n    \"  query(function(data){displayShow(subjectC,data);}, qdatum);\"\n    \"}, false);\"\n    \"objectSearch.addEventListener('change', function(event){\"\n    \"  var strings = objectSearch.value.split(/(\\\\s+)/);\"\n    \"  var joined = '\\\"' + strings.join('\\\" \\\"') + '\\\"';\"\n    \"  var qdatum = '(concept #f #t 0 #f (' + joined + '))'\"\n    \"  query(function(data){displayShow(objectC,data);}, qdatum);\"\n    \"}, false);\"\n    \"});\"))\n(define ui.css\n  '((\"body\"\n      (font-family \"'Lucida Grande', Verdana, Helvetica, sans-serif\")\n      (font-size   \"80%\")\n      (line-height \"120%\"))\n    (\".concept-box label\"\n     (vertical-align \"top\"))\n    (\".result-box label\"\n     (vertical-align \"top\"))\n    ))\n(define ui.html\n  `(html (head (title \"mediKanren User Interface\"))\n         (body (script ,(js->string ui.js))\n               (style ,(css->string ui.css))\n               ;; TODO: label these.\n               (div (input ((id \"subject:text-search\") (type \"text\") (autocomplete \"off\")))\n                    (input ((id \"subject:isa\") (type \"checkbox\")))\n                    (label \"Include ISA-related concepts\"))\n               (div ((class \"concept-box\"))\n                    (label \"Concept 1\")\n                    (select ((id \"subject:concepts\") (multiple \"\") (size \"15\"))\n                            (option ((value \"c1\")) \"concept 1\"))\n                    (label \"Predicate 1\")\n                    (select ((id \"subject:predicates\") (multiple \"\") (size \"15\"))\n                            (option ((value \"p1\")) \"predicate 1\")))\n               (div (label \"Concept 1 -> Predicate 1 -> [X] -> Predicate 2 -> Concept 2\"))\n               (div (input ((id \"object:text-search\") (type \"text\") (autocomplete \"off\")))\n                    (input ((id \"object:isa\") (type \"checkbox\")))\n                    (label \"Include ISA-related concepts\"))\n               (div ((class \"concept-box\"))\n                    (label \"Predicate 2\")\n                    (select ((id \"object:predicates\") (multiple \"\") (size \"15\"))\n                            (option ((value \"p2\")) \"predicate 2\"))\n                    (label \"Concept 2\")\n                    (select ((id \"object:concepts\") (multiple \"\") (size \"15\"))\n                            (option ((value \"c2\")) \"concept 2\")))\n               (div (label \"Found Xs\"))\n               (div ((class \"result-box\"))\n                    (label \"X\")\n                    (select ((id \"X:concepts\") (multiple \"\"))\n                            (option ((value \"X1\")) \"Subject - X1 - Object\"))))))\n\n(define (/ui req) (xe200 ui.html))\n\n(define index.js\n  '(\"window.addEventListener('load', function(){\"\n    \"var display = document.getElementById('display');\"\n    \"var formC = document.getElementById('form:concept');\"\n    \"var formX = document.getElementById('form:X');\"\n    \"var textC = document.getElementById('text:concept');\"\n    \"var textX = document.getElementById('text:X');\"\n    \"var submitC = document.getElementById('submit:concept');\"\n    \"var submitX = document.getElementById('submit:X');\"\n    \"var buttonClear = document.getElementById('button:clear');\"\n\n    \"function show(data) {\"\n    ;\"  display.innerText = data;\"\n    \"  var p = document.createElement('pre');\"\n    \"  var text = document.createTextNode(data);\"\n    \"  p.appendChild(text);\"\n    \"  display.appendChild(p);\"\n    \"}\"\n    \"function clearDisplay() {\"\n    \"  while (display.lastChild) {\"\n    \"    display.removeChild(display.lastChild);\"\n    \"  }\"\n    \"}\"\n\n    \"function query(data) {\"\n    \"  var xhr = new XMLHttpRequest();\"\n    \"  xhr.addEventListener('load', function(event){\"\n    \"    show(xhr.responseText);\"\n    \"  });\"\n    \"  xhr.addEventListener('error', function(event){\"\n    \"    show('POST error');\"\n    \"  });\"\n    \"  xhr.open('POST', '/query');\"\n    \"  xhr.setRequestHeader('Content-Type', 'text/plain;charset=utf-8');\"\n    \"  xhr.send(data);\"\n    \"}\"\n\n    \"formC.addEventListener('submit', function(event){\"\n    \"  event.preventDefault();\"\n    \"  query(textC.value);\"\n    \"}, false);\"\n    \"formX.addEventListener('submit', function(event){\"\n    \"  event.preventDefault();\"\n    \"  query(textX.value);\"\n    \"}, false);\"\n    \"buttonClear.addEventListener('click', function(){\"\n    \"  clearDisplay();\"\n    \"}, false);\"\n    \"});\"\n    ))\n(define index.html\n  `(html (head (title \"mediKanren\"))\n         (body (script ,(js->string index.js))\n               (div (p \"Databases loaded:\") .\n                    ,(map (lambda (dbname) `(p (pre ,(symbol->string dbname))))\n                          (config-ref 'databases)))\n               (p \"Use the \" (a ((href \"/ui\")) \"Interface\"))\n               (p \"Or POST to /query using a form:\")\n               (form ((method \"post\") (action \"/query\") (id \"form:concept\"))\n                     (div (textarea ((id \"text:concept\"))\n                                    \"(concept ...)\"))\n                     (div (button ((type \"submit\") (id \"submit:concept\"))\n                                  \"Find concepts\")))\n               (form ((method \"post\") (action \"/query\") (id \"form:X\"))\n                     (div (textarea ((id \"text:X\"))\n                                    \"(X ...)\"))\n                     (div (button ((type \"submit\") (id \"submit:X\"))\n                                  \"Find Xs\")))\n               (button ((id \"button:clear\")) \"Clear\")\n               (div ((id \"display\"))))))\n(define (index req) (xe200 index.html))\n\n(define (method-not-allowed req)\n  (respond 405 \"Method Not Allowed\" '() mime:text/html\n           (xexpr->html-string\n             `(html (head (title \"Method Not Allowed\"))\n                    (body (h1 \"Method Not Allowed\")\n                          (pre ,(url->string (request-uri req)))\n                          (p \"does not support\")\n                          (pre ,(bytes->string/utf-8 (request-method req))))))))\n\n(define (not-found req)\n  (respond 404 \"Not Found\" '() mime:text/html\n           (xexpr->html-string\n             `(html (head (title \"Not Found\"))\n                    (body (h1 \"What are you looking for?\")\n                          (p \"There was nothing found at\")\n                          (pre ,(url->string (request-uri req))))))))\n\n(define-values (dispatcher _)\n  (dispatch-rules\n    ((\"\")      #:method \"get\"         index)\n    ((\"query\") #:method \"post\"        /query)\n    ((\"ui\")    #:method \"get\"         /ui)\n    ((\"\")      #:method (regexp \".*\") method-not-allowed)\n    ((\"query\") #:method (regexp \".*\") method-not-allowed)\n    ((\"ui\")    #:method (regexp \".*\") method-not-allowed)\n    (else                             not-found)))\n\n(serve/servlet dispatcher\n               ;; The none-manager offers better performance when not using\n               ;; web continuations.\n               #:manager (create-none-manager #f)\n               #:servlet-regexp #rx\"\"\n               #:launch-browser? #f)\n"
  },
  {
    "path": "attic/medikanren/workflow-web-server.rkt",
    "content": "#lang racket\n(require \"workflow1.rkt\"\n         web-server/servlet\n         web-server/servlet-env\n         web-server/managers/none\n         net/uri-codec\n         xml\n         json)\n\n(define index.html\n  `(html (head (title \"mediKanren for workflows\"))\n         (body (p \"POST your queries in JSON format to /query\")\n               (p (a ((href \"https://github.com/NCATS-Tangerine/NCATS-ReasonerStdAPI\"))\n                     \"Standard\"))\n               (p (a ((href \"https://www.dropbox.com/s/auqt6gedhnz5bbt/WF1MOD1_results_DOID9352.json?dl=0\"))\n                     \"Example input\"))\n               (p (a ((href \"https://www.dropbox.com/s/u6zik652qojkmgb/WF1MOD1-MOD2_results_DOID9352.json?dl=0\"))\n                     \"Example output\")))))\n\n(define (not-found.html uri)\n  `(html (head (title \"Sad Face\"))\n         (body (h1 \"What are you looking for?\")\n               (p \"There was nothing found at\")\n               (pre ,uri))))\n\n(define (omim? cui) (string-prefix? cui \"OMIM:\"))\n\n(define (json->cuis jsdata)\n  (map (lambda (r)\n         (define essence (hash-ref r 'essence))\n         (define (essence? n) (equal? (hash-ref n 'name) essence))\n         (define nodes (hash-ref (hash-ref r 'result_graph) 'node_list))\n         (car (filter omim? (map (lambda (n) (hash-ref n 'id))\n                                 (filter essence? nodes)))))\n       (hash-ref jsdata 'result_list)))\n\n(define (json->all-cuis jsdata)\n  (map (lambda (named-cui)\n         ;(define name (cadr jsdata))\n         (car named-cui))\n       jsdata))\n\n(define reasoner-id \"mediKanren-0.00000000000000zerozero...\")\n\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n(define (edge->json edge)\n  (define db (car edge))\n  (define type (cdr (cadddr (cdr edge))))\n  (define src (cadr (caddr edge)))\n  (define tgt (cadr (cadddr edge)))\n  (define eprops (cddddr (cdr edge)))\n  (define kpmids (assoc \"pmids\" eprops))\n  (define kpubs (assoc \"publications\" eprops))\n  (define pmids (rem-dups (if kpmids (cdr kpmids) '())))\n  (define pubs (rem-dups (if kpubs (cdr kpubs) '())))\n  (define publications\n    (append (map (lambda (id)\n                   (string-append \"https://www.ncbi.nlm.nih.gov/pubmed/\" id))\n                 pmids) pubs))\n  (hash 'type           type\n        'source_id      src\n        'target_id      tgt\n        'provided_by    db\n        'confidence     0.00000000000000001\n        'publications   publications\n        'attribute_list '()))\n\n(define (concept->json concept)\n  (define cui (list-ref concept 2))\n  (define name (list-ref concept 3))\n  ;; TODO: more general type.\n  (define type \"chemical_substance\")\n  (define props (list-tail concept 4))\n  (define description (cdr (or (assoc \"description\" props) '(#f . \"\"))))\n  (define uri         (cdr (or (assoc \"uri\"         props) '(#f . \"\"))))\n  (hash 'description     description\n        'id              cui\n        'name            name\n        'type            type\n        'uri             uri\n        'node_attributes '()))\n\n(define (result->json result)\n  ;; TODO:\n  (define essence    \"\")\n  (define confidence 0.00000000000000001)\n  (define concepts   (cdr (assoc 'concepts result)))\n  (define edges      (cdr (assoc 'edges result)))\n  (hash 'confidence   confidence\n        'description  \"\"\n        'essence      essence\n        'id           \"\"\n        'reasoner_id  reasoner-id\n        'result_graph (hash 'edge_list (map edge->json    edges)\n                            'node_list (map concept->json concepts))\n        'result_type  \"answer\"\n        'row_data     '()\n        'text         \"\"))\n\n(define (response->json results)\n  (define (pad n) (~a n #:width 2 #:align 'right #:pad-string \"0\"))\n  (define datetime\n    (let ((dt (seconds->date (current-seconds) #f)))\n      (format\n        \"~a-~a-~a ~a:~a:~a\"\n        (date-year dt) (pad (date-month dt)) (pad (date-day dt))\n        (pad (date-hour dt)) (pad (date-minute dt)) (pad (date-second dt)))))\n  (hash 'context                \"https://raw.githubusercontent.com/biolink/biolink-model/master/context.jsonld\"\n        'datetime               datetime\n        'id                     \"\"\n        'message                \"\"\n        'n_results              (length results)\n        'original_question_text \"\"\n        'query_type_id          \"\"\n        'reasoner_id            reasoner-id\n        'response_code          \"OK\"\n        'restated_question_text \"\"\n        'result_list            (map result->json results)\n        'schema_version         \"0.8.0\"\n        'table_column_names     '()\n        'terms                  (hash 'disease \"\")\n        'tool_version           \"Nope\"\n        'type                   \"medical_translator_query_result\"))\n\n(define (query.json jsdata)\n  (define cuis (json->cuis jsdata))\n  (displayln `(cuis-received: ,cuis))\n  (define concepts (append* (map workflow1module2 cuis)))\n  (response->json (list (list (cons 'concepts concepts) (cons 'edges '())))))\n\n(define (direct-query.json jsdata)\n  (define cuis (json->all-cuis jsdata))\n  (displayln `(cuis-received: ,cuis))\n  (define concepts (append* (map workflow1module2 cuis)))\n  (response->json (list (list (cons 'concepts concepts) (cons 'edges '())))) )\n\n(define mime:html (string->bytes/utf-8 \"text/html; charset=utf-8\"))\n(define mime:json (string->bytes/utf-8 \"application/json; charset=utf-8\"))\n\n\n(define (respond code message headers mime-type body)\n  (response/full code (string->bytes/utf-8 message)\n                 (current-seconds) mime-type headers\n                 (list (string->bytes/utf-8 body))))\n\n(define (index req)\n  (respond 200 \"ok\" '() mime:html (xexpr->html-string index.html)))\n\n(define (query req)\n  (respond 200 \"OK\" '() mime:json\n           (jsexpr->string\n             (query.json\n               (bytes->jsexpr (request-post-data/raw req))))))\n\n(define (direct-query req)\n  (respond 200 \"OK\" '() mime:json\n           (jsexpr->string\n             (direct-query.json\n               (bytes->jsexpr (request-post-data/raw req))))))\n\n(define (not-found req)\n  (respond 404 \"Not Found\" '() mime:html\n           (xexpr->html-string (not-found.html\n                                 (url->string (request-uri req))))))\n\n;(define (repr d) (with-output-to-string (lambda () (write d))))\n(define (xexpr->html-string xe)\n  (string-append \"<!doctype html>\" (xexpr->string xe)))\n\n\n(define-values (dispatcher _)\n  (dispatch-rules\n    ((\"\")             #:method         \"get\" index)\n    ((\"query\")        #:method (regexp \".*\") query)\n    ((\"direct-query\") #:method (regexp \".*\") direct-query)\n    (else                                    not-found)))\n\n;; after loading this file, launch the server by evaluating\n(serve/servlet dispatcher\n               #:manager (create-none-manager #f)  ;; better performance if you're not using web continuations\n               #:servlet-regexp #rx\"\"\n               #:launch-browser? #f)\n"
  },
  {
    "path": "attic/medikanren/workflow1.rkt",
    "content": ";;; Workflow 1\n\n#|\nconcept format (subject or object), without dbname at front:\n\n`(,cid ,cui ,name (,catid . ,cat) . ,props)\n\nconcept format (subject or object), with dbname at front (as used in fuzzy-concepto):\n\n`(,dbname ,cid ,cui ,name (,catid . ,cat) . ,props)\n\n\nedge format, without dbname at front:\n\n`(,eid (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n       (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n       (,pid . ,pred) . ,eprops)\n\nedge format, with dbname at front (as used in edgeo):\n\n`(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n               (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n               (,pid . ,pred) . ,eprops)\n|#\n\n\n#|\nNOTES\n\nTH2LCRR in concept 1\nhas_phenotype aggressive behavior\n(\"publications\"\n    .\n    \"['http://www.ncbi.nlm.nih.gov/pubmed/27611488', 'http://www.ncbi.nlm.nih.gov/pubmed/10220955', 'http://www.ncbi.nlm.nih.gov/pubmed/10557854', 'http://www.ncbi.nlm.nih.gov/pubmed/15611893', 'http://www.ncbi.nlm.nih.gov/pubmed/550177', 'http://www.ncbi.nlm.nih.gov/pubmed/14572559']\")\n\n\n*** talk with Greg and Chris about doing a clique merge to avoid\nhaving duplicate concepts that are equivalent but with dfferent\nsources\n\n\n*** Ask Greg to take a look:\nmonarch-lite has many type of 'diabetes', but apparently none has 'has_phenotype' predicate\n\nhow to find monogenetic diabetes in these data sources?  I suppose, look for genes that cause diabetes?  how do we know it is truly monogenic?\n\none such gene is KCNJ11\n\nrtx:\nKCNJ11 has_phenotype HP:00005978 Type II diabetes mellitus (source: biolink)\n\nrtx:\nKCNJ11 causes_or_contributes_to OMIM:606176 DIABETES MELITUS, PERMANENT NEONATAL; PNDM (source: OMIM)\n\nrtx:\nKCNJ11 participates_in 'Defective ABCD1 causes ALD'   what??  does that make sense?  (reactome pathway)\n\nrtx and monarch:\n'HP:00005978 Type II diabetes mellitus' subclass_of 'HP:0000819 Diabetes mellitus'\n\n'HP:0000819 Diabetes mellitus' subclass_of 'HP:0011014 Abnormal glucose homeostasis'\n\n*** unable to reproduce in mediKanren GUI--run queries in Racket to see if any fields that should be strings are actually #f\nmonarch:\ndiabetes mellitus in concept 1 gives:\nOMIA:000284-9825 with 'Name' #f   what gives?\n\nalso returns 'type 1 diabetes mellitus 7', 'type 1 diabetes mellitus 8', etc, as MONDO terms--what does this mean???\n\n\nmonarch:\nX has_phenotype HPO:0000819 Diabetes mellitus\n\n2729 results\nappear to all be genes\nbut, dfferent categories:\nHGNC (2 . [molec entity, gene, sequence feat])\nHGNC (1 . [gene, sequence feature])\nNCBIGene (1 . [gene, sequence feature])\n\ninteresting--have both for HGNC--what is the difference?  are the gene names duplicated?\n\nbetween OMIM, semmed, HGNC, etc, tricky to try to find the equivalent gene name/protein across sources (UMLS term for semmed, UniProt for OMIM in rtx, HGNC in monarch)\n\n\nMonarch \n\n|#\n\n\n\n#|\n\t\tWhat are some potential treatments for [common condition], based on knowledge of related rare conditions?\t\nInstance\t\t\"Monogenic diabetes and sporadic (common) diabetes\"\n\nComponent\tStandard Query Type Id\tLogical Operation\tBid\n\tQ61\tPath/Module 1 (condition similarity)\t\n*** MOD1.1\tQ5\tWhat are the defining symptoms / phenotypes of [condition x]?\t0/2/3 (what does \"defining\" mean?)\n*** MOD1.2\tQ60\tWhat conditions present [symptoms]?\t3\nMOD1.3\tFilter\tFilter [conditions] to only keep ones with defined genetic causes.\t0/2\nMOD1.4\tFilter\tWhat subset of conditions are most representative of [conditions]? (find archetypes)\t0\n\t\t\t\n\tQ62\tPath/Module 2 (gene centric)\t\n*** MOD2.1\tQ7\tWhat genes are implicated in [condition]?\t3\nMOD2.2\tFilter\tWhat subset of genes are most representative of [conditions]?  (find archetypes)\t0\n*** MOD2.3\t\tWhat pathways/processes are [genes] involved in?\t2/3\n*** MOD2.4\tQ4\tWhat genes are involved in [pathway/process]?\t2/3\n*** MOD2.5\tQ9\tWhat drugs/compounds target gene products of [gene]?\t3\nMOD2.6\t?\tWhat [non human genes] are similar to [human gene]? (Can be phenotypic, functional, or structural similarity)\t\n\t\t\t\n\t\tPath/Module 3 (agent-centric)\t\nMOD3.1\t\tWhat toxicants (chemical agent / toxic protein) does [condition] have specific sensitivity to?\t\n*** MOD3.2\t\tWhat proteins produce agent [x]?\t3\n*** MOD3.3\t\tWhat drugs/compounds decrease (inhibit / down-regulate) these?\t3\nMOD3.2a\t\tWhat proteins consume/sequester agent [x]?\t2\n*** MOD3.3a\t\tWhat drugs increase (activate / promote ) these?\t3\nMOD3.2b\t\tWhat phenotypes / conditions are associated with high exposure to [x]?\t1\nMOD3.3b\t\tWhat drugs rarely produce these adverse events? (possibly protective effect)\t0/2\n\t\t(the end of the agent-centric path continues to the annotations path (component 6)\t\n\t\t\t\n\t\tAnnotations Path\t\nPathA.1\t\tWhat are the common side effects of [drug]?\t2\nPathA.2\t\tWhat is the approval status of [drug]?\t2\nPathA.3\t\tWhat are the approved indications for [drug]?\t2\nPathA.4\t\tWhat is the established pharm class for [drug]?\t2\n\t\t\t\n\t\tScoring Path\t\nPathS.1\t\tDoes the drug (or a metabolite) get to the target tissues / cell-types?\t0/1/2\nPathS.2\t\tIs the drug approved / in clinical trials?\t2\nPathS.3\t\tIs the drug relatively non-toxic?\t2\nPathS.4\t\tIs the drug already being investigated for the same/similar condition?\t2\nPathS.5\t\tDoes the drug have favorable intellectual property (IP) status?\t2\nPathS.6\t\tDoes the drug have available analogs?\t2\nPathS.7\t\tDo any analogs of the drug satisfy 10-15 above?\t2\n\t\t\t\n\t\tDrug Set Expansion Path\t\nPathD.1\t\tidentify defining features\t0\nPathD.2\t\tfind groups\t0\n|#\n#lang racket\n\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n  (all-defined-out))\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n;(displayln \"loading semmed\")\n(define semmed (make-db \"data/semmed\"))\n;(displayln \"loading monarch-lite\")\n(define monarch (make-db \"data/monarch-lite\"))\n;(displayln \"loading rtx\")\n(define rtx (make-db \"data/rtx\"))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n;; remove duplicates from a list\n(define rem-dups\n  (lambda (ls)\n    (cond\n      [(null? ls) '()]\n      [(member (car ls) (cdr ls)) (rem-dups (cdr ls))]\n      [else (cons (car ls) (rem-dups (cdr ls)))])))\n\n\n(define (edgeo e)\n  (conde\n    ((fresh (ee) (== `(semmed . ,ee) e) (db:edgeo semmed ee)))\n    ((fresh (ee) (== `(monarch . ,ee) e) (db:edgeo monarch ee)))\n    ((fresh (ee) (== `(rtx . ,ee) e) (db:edgeo rtx ee)))\n    ))\n\n(define (~cui-concepto cui c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~cui-concepto semmed cui cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~cui-concepto monarch cui cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~cui-concepto rtx cui cc)))\n    ))\n\n(define (~name-concepto name c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:~name-concepto semmed name cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:~name-concepto monarch name cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:~name-concepto rtx name cc)))\n    ))\n\n(define (concepto c)\n  (conde\n    ((fresh (cc) (== `(semmed . ,cc) c) (db:concepto semmed cc)))\n    ((fresh (cc) (== `(monarch . ,cc) c) (db:concepto monarch cc)))\n    ((fresh (cc) (== `(rtx . ,cc) c) (db:concepto rtx cc)))\n    ))\n\n(define get-concepts-from-cui\n  (lambda (cui)\n    (run* (concept)\n      (~cui-concepto cui concept))))\n\n\n(define (DECREASES pred)\n  (fresh (_)\n    (conde\n      [(== `(,_ . \"negatively_regulates\") pred)]\n      [(== `(,_ . \"prevents\") pred)]\n      [(== `(,_ . \"treats\") pred)])))\n\n(define (INCREASES pred)\n  (fresh (_)\n    (conde\n      [(== `(,_ . \"positively_regulates\") pred)]\n      [(== `(,_ . \"causes\") pred)]\n      [(== `(,_ . \"produces\") pred)])))\n\n;; \tQ62\tPath/Module 2 (gene centric)\t\n;; *** MOD2.1\tQ7\tWhat genes are implicated in [condition]?\t3\n;; MOD2.2\tFilter\tWhat subset of genes are most representative of [conditions]?  (find archetypes)\t0\n;; *** MOD2.3\t\tWhat pathways/processes are [genes] involved in?\t2/3\n;; *** MOD2.4\tQ4\tWhat genes are involved in [pathway/process]?\t2/3\n;; *** MOD2.5\tQ9\tWhat drugs/compounds target gene products of [gene]?\t3\n;; forget it   MOD2.6\t?\tWhat [non human genes] are similar to [human gene]? (Can be phenotypic, functional, or structural similarity)\t\n\n\n;; *** MOD2.1\tQ7\tWhat genes are implicated in [condition]?\t3\n\n;; get a list of conditions from the JSON blob:\n;;\n;;   \"result_list\": [\n;;      \"result_graph\": {\n;;          \"node_list\": [\n;;\n;; for this particular example, for each result_list, we just pick the\n;; node in the node_list that has \"type\": \"disease\" and which has the OMIM ID (as\n;; opposed to the DOID ID): \"id\": \"OMIM:600001\"\n\n\n;; example condition: \n;; \"source_id\": \"OMIM:600001\",\n\n\n\n\n\n;; *** MOD2.1\tQ7\tWhat genes are implicated in [condition]?\t3\n\n#|\n(define condition-concepts (rem-dups (get-concepts-from-cui \"OMIM:606176\")))\n|#\n\n;; causes_or_contributes_to\n\n;; protein\n\n#|\n;;; get list of proteins from edges 'protein X causes_or_contributes_to disease Y'\n(define proteins-causing-condition\n  (run 50 (proteins)\n    (fresh (dbname eid s o pid pred eprops\n                   scid scui sname scatid scat sprops\n                   ocid ocui oname ocatid ocat oprops\n                   e\n                   cond-con)\n      (== `(,dbname . ,s) proteins)\n      (membero cond-con condition-concepts)\n      (== `(,dbname . ,o) cond-con)\n      (== \"causes_or_contributes_to\" pred)\n      (== \"protein\" scat)\n      (== `(,scid ,scui ,sname (,scatid . ,scat) . ,sprops) s)\n      (== `(,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops) o)\n      (== `(,dbname ,eid ,s ,o (,pid . ,pred) . ,eprops) e)\n      (edgeo e))))\n|#\n\n;; MOD2.2\tFilter\tWhat subset of genes are most representative of [conditions]?  (find archetypes)\t0\n\n;; ignore for now--null/identity filter!\n\n\n;; *** MOD2.3\t\tWhat pathways/processes are [genes] involved in?\t2/3\n\n;; rtx\n;; protein           36056 \"UniProtKB:Q14654\" \"KCNJ11\" (1 . \"protein\")\n;; participates_in   (2 . \"participates_in\")\n;; pathway           (115579 \"REACT:R-HSA-199992\" \"trans-Golgi Network Vesicle Budding\" (8 . \"pathway\")\n\n#|\n(define pathways-involved-in-genes-causing-condition\n  (rem-dups\n    (run 50 (pathway)\n      (fresh (dbname eid s o pid pred eprops\n                     scid scui sname scatid scat sprops\n                     ocid ocui oname ocatid ocat oprops\n                     e\n                     protein)\n        (membero protein proteins-causing-condition)\n        (== `(,dbname . ,o) pathway)\n        (== `(,dbname . ,s) protein)\n        (== \"protein\" scat)\n        (== \"participates_in\" pred)\n        (== \"pathway\" ocat)\n        (== `(,scid ,scui ,sname (,scatid . ,scat) . ,sprops) s)\n        (== `(,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops) o)\n        (== `(,dbname ,eid ,s ,o (,pid . ,pred) . ,eprops) e)\n        (edgeo e)))))\n|#\n\n;; *** MOD2.4\tQ4\tWhat genes are involved in [pathway/process]?\t2/3\n\n#|\n(define proteins-involved-in-pathways-of-interest\n  (rem-dups\n    (run 50 (protein)\n      (fresh (dbname eid s o pid pred eprops\n                     scid scui sname scatid scat sprops\n                     ocid ocui oname ocatid ocat oprops\n                     e\n                     pathway)\n        (membero pathway pathways-involved-in-genes-causing-condition)\n        (== `(,dbname . ,o) pathway)\n        (== `(,dbname . ,s) protein)\n        (== \"protein\" scat)\n        (== \"participates_in\" pred)\n        (== \"pathway\" ocat)\n        (== `(,scid ,scui ,sname (,scatid . ,scat) . ,sprops) s)\n        (== `(,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops) o)\n        (== `(,dbname ,eid ,s ,o (,pid . ,pred) . ,eprops) e)\n        (edgeo e)))))\n|#\n\n;; *** MOD2.5\tQ9\tWhat drugs/compounds target gene products of [gene]?\t3\n\n;; mygene.info to convert Uniprot protein to UMLS gene (perhaps through HGNC:HGNC:795)\n\n;; then, change the UMLS term for the drug to the Chembl id\n\n;; punt!  use fuzzy lookup in semmed, based on protein name from rtx, looking for gene in semmed\n\n#|\n(define semmed-genes\n  (rem-dups\n    (run 50 (gene)\n      (fresh (procid procui proname procatid procat proprops\n                     scid scui sname scatid sprops\n                     protein)\n        (membero protein proteins-involved-in-pathways-of-interest)\n        (== `(rtx ,procid ,procui ,proname (,procatid . ,procat) . ,proprops) protein)\n        (== `(semmed ,scid ,scui ,sname (,scatid . \"gene\") . ,sprops) gene)\n        (~name-concepto proname gene)))))\n|#\n\n#|\n(define semmed-drugs\n  (rem-dups\n    (run 50 (drug)\n      (fresh (dbname eid s o pid pred eprops\n                     scid scui sname scatid scat sprops\n                     ocid ocui oname ocatid ocat oprops\n                     e\n                     gene)\n        (membero gene semmed-genes)\n        (== `(semmed . ,s) drug)\n        (== `(semmed . ,o) gene)\n        (== \"chemical_substance\" scat)\n        (conde\n          [(== \"positively_regulates\" pred)]\n          [(== \"negatively_regulates\" pred)])\n        (== `(,scid ,scui ,sname (,scatid . ,scat) . ,sprops) s)\n        (== `(,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops) o)\n        (== `(semmed ,eid ,s ,o (,pid . ,pred) . ,eprops) e)\n        (edgeo e)))))\n|#\n\n#|\n(define rtx-drugs\n  (rem-dups\n    (run 20 (rtx-drug)\n      (fresh (semmed scid scui sname scatid scat sprops\n                     rcid rcui rname rcatid rprops\n              semmed-drug)\n        (membero semmed-drug semmed-drugs)\n        (== `(semmed ,scid ,scui ,sname (,scatid . ,scat) . ,sprops) semmed-drug)\n        (== `(rtx ,rcid ,rcui ,rname (,rcatid . \"chemical_substance\") . ,rprops) rtx-drug)\n        (~name-concepto sname rtx-drug)))))\n|#\n\n;; positively_regulates\n;; negatively_regulates\n;; semmed  (5 . chemical_substance)\n\n;; fuzzy search back to rtx\n;; (10 . chemical_substance)\n\n\n\n(define workflow1module2\n  (lambda (my-cui)\n    (define condition-concepts (rem-dups (get-concepts-from-cui my-cui)))\n    ;; *** MOD2.1\tQ7\tWhat genes are implicated in [condition]?\t3\n    ;;(printf \"condition-concepts\\n\")\n    (define proteins-causing-condition\n      (run 50 (proteins)\n        (fresh (dbname eid s o pid pred eprops\n                       scid scui sname scatid scat sprops\n                       ocid ocui oname ocatid ocat oprops\n                       e\n                       cond-con)\n          (== `(,dbname . ,s) proteins)\n          (membero cond-con condition-concepts)\n          (== `(,dbname . ,o) cond-con)\n          (== \"causes_or_contributes_to\" pred)\n          (== \"protein\" scat)\n          (== `(,scid ,scui ,sname (,scatid . ,scat) . ,sprops) s)\n          (== `(,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops) o)\n          (== `(,dbname ,eid ,s ,o (,pid . ,pred) . ,eprops) e)\n          (edgeo e))))\n    ;; MOD2.2\tFilter\tWhat subset of genes are most representative of [conditions]?  (find archetypes)\t0\n    ;; ignore for now--null/identity filter!\n\n    ;;(printf \"pathways-involved-in-genes-causing-condition\\n\")\n    \n    ;; *** MOD2.3\t\tWhat pathways/processes are [genes] involved in?\t2/3    \n    (define pathways-involved-in-genes-causing-condition\n      (rem-dups\n       (run 50 (pathway)\n         (fresh (dbname eid s o pid pred eprops\n                        scid scui sname scatid scat sprops\n                        ocid ocui oname ocatid ocat oprops\n                        e\n                        protein)\n           (membero protein proteins-causing-condition)\n           (== `(,dbname . ,o) pathway)\n           (== `(,dbname . ,s) protein)\n           (== \"protein\" scat)\n           (== \"participates_in\" pred)\n           (== \"pathway\" ocat)\n           (== `(,scid ,scui ,sname (,scatid . ,scat) . ,sprops) s)\n           (== `(,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops) o)\n           (== `(,dbname ,eid ,s ,o (,pid . ,pred) . ,eprops) e)\n           (edgeo e)))))\n\n    ;(printf \"proteins-involved-in-pathways-of-interest\")\n        \n    ;; *** MOD2.4\tQ4\tWhat genes are involved in [pathway/process]?\t2/3\n    (define proteins-involved-in-pathways-of-interest\n      (rem-dups\n       (run 50 (protein)\n         (fresh (dbname eid s o pid pred eprops\n                        scid scui sname scatid scat sprops\n                        ocid ocui oname ocatid ocat oprops\n                        e\n                        pathway)\n           (membero pathway pathways-involved-in-genes-causing-condition)\n           (== `(,dbname . ,o) pathway)\n           (== `(,dbname . ,s) protein)\n           (== \"protein\" scat)\n           (== \"participates_in\" pred)\n           (== \"pathway\" ocat)\n           (== `(,scid ,scui ,sname (,scatid . ,scat) . ,sprops) s)\n           (== `(,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops) o)\n           (== `(,dbname ,eid ,s ,o (,pid . ,pred) . ,eprops) e)\n           (edgeo e)))))\n    ;; *** MOD2.5\tQ9\tWhat drugs/compounds target gene products of [gene]?\t3\n    (define semmed-genes\n      (rem-dups\n       (run 50 (gene)\n         (fresh (procid procui proname procatid procat proprops\n                        scid scui sname scatid sprops\n                        protein)\n           (membero protein proteins-involved-in-pathways-of-interest)\n           (== `(rtx ,procid ,procui ,proname (,procatid . ,procat) . ,proprops) protein)\n           (== `(semmed ,scid ,scui ,sname (,scatid . \"gene\") . ,sprops) gene)\n           (~name-concepto proname gene)))))\n    (define semmed-drugs\n      (rem-dups\n       (run 50 (drug)\n         (fresh (dbname eid s o pid pred eprops\n                        scid scui sname scatid scat sprops\n                        ocid ocui oname ocatid ocat oprops\n                        e\n                        gene)\n           (membero gene semmed-genes)\n           (== `(semmed . ,s) drug)\n           (== `(semmed . ,o) gene)\n           (== \"chemical_substance\" scat)\n           (conde\n             [(== \"positively_regulates\" pred)]\n             [(== \"negatively_regulates\" pred)])\n           (== `(,scid ,scui ,sname (,scatid . ,scat) . ,sprops) s)\n           (== `(,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops) o)\n           (== `(semmed ,eid ,s ,o (,pid . ,pred) . ,eprops) e)\n           (edgeo e)))))    \n    (define rtx-drugs\n      (rem-dups\n       (run 20 (rtx-drug)\n         (fresh (semmed scid scui sname scatid scat sprops\n                        rcid rcui rname rcatid rprops\n                        semmed-drug)\n           (membero semmed-drug semmed-drugs)\n           (== `(semmed ,scid ,scui ,sname (,scatid . ,scat) . ,sprops) semmed-drug)\n           (== `(rtx ,rcid ,rcui ,rname (,rcatid . \"chemical_substance\") . ,rprops) rtx-drug)\n           (~name-concepto sname rtx-drug)))))\n    rtx-drugs))\n\n;; (pretty-print (workflow1module2 \"OMIM:606176\"))\n"
  },
  {
    "path": "attic/pharos/.gitignore",
    "content": "/data\n/schema.sql\n/schema-tokens.scm\n/schema.scm\n"
  },
  {
    "path": "attic/pharos/README.md",
    "content": "# mediKanren Pharos Interface\n\nThis is a mediKanren interface into the data provided by Pharos: https://pharos.nih.gov/idg/about\n\nCurrently, we only provide tools for converting the Pharos DB to SQLite3 for interactive use.\n\n\n## Setup\n\n### Download and install SQLite\n\nYou can find this at: https://www.sqlite.org/download.html\n\nYour OS's package manager may provide a more appropriate version.\n\n\n### Obtain a MySQL dump of the Pharos DB\n\nDownload it from: http://juniper.health.unm.edu/tcrd/download/\n\nThe file to download will have a name with either the form `tcrd_vX.Y.Z.sql.gz` or `latest.sql.gz`, depending on what version of the data you want.\n\nNOTE: though the filename ends with `.gz`, it's probably not gzipped.\n\n\n### Convert MySQL dump to a SQLite DB\n\nGiven `data.sql.gz`\n\nRun: `./pharos-mysql-to-sqlite3-to-db data.sql.gz`\n\nThis may take a while to finish, as there are two transformation steps being performed on a large file.\n\n\n## Use\n\n### Interact with SQLite DB\n\nRun: `./interact-sqlite3`\n\nInteract using SQL and dot-commands.\n\nBy default, output is in CSV format with headers and command echoing.\n\nTo write output to a file instead of stdout, issue the dot-command: `.output your-file-name.csv`\n\n\n## Process SQLite DB\n\nConvert SQLite DB to an internal form usable by mediKanren queries.\n\n### Output schema.sql\n\nRun: `./interact-sqlite3`\n\nThen use the following commands to output the `schema.sql` file.\n\n```\n.output schema.sql\n.schema\n.exit\n```\n\n### Tokenize schema.sql -> schema-tokens.scm\n\n`racket sql-tokenize.rkt < schema.sql > schema-tokens.scm `\n\n### Parse schema-tokens.scm -> schema.scm\n\n`racket sql-schema-parse.rkt < schema-tokens.scm > schema.scm`\n\n### Translate SQLite DB to internal format\n\nFrom the `pharos` directory, run: `racket sqlite-to-db.rkt schema.scm data`\n\n\n## Interact using miniKanren\n\n`mk-db.rkt` provides the `pharos-metao` and `pharoso` relations.\n\n```\n(require \"mk-db.rkt\")\n\n(run 10 (table-name metadata)\n  (pharos-metao table-name metadata))\n\n(run 20 (tuple)\n  (fresh (p q) (== `(,p 19295 . ,q) tuple))\n  (pharoso \"gene_attribute\" tuple))\n```\n"
  },
  {
    "path": "attic/pharos/csv.rkt",
    "content": "#lang racket/base\n(provide\n  csv-records\n  set-field-separator!\n  )\n\n;; Informal CSV Grammar\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream ::= EOF | record EOF | record RECORD-SEPARATOR record-stream\n;record ::= field | field FIELD-SEPARATOR record\n;field ::= \\\" inner-content* \\\" | CONTENT*\n;inner-content ::= CONTENT | \\\"\\\" | FIELD-SEPARATOR | WHITESPACE\n;; CONTENT includes anything other than double-quote, field separator, whitespace\n\n(define *field-separator* #\\,)\n(define (set-field-separator! ch) (set! *field-separator* ch))\n\n(define (end-of-record?! in)\n  (define ch (peek-char in))\n  (or (and (char=? #\\return ch)\n           (or (and (char=? #\\newline (peek-char in 1)) (read-string 2 in) #t)\n               (and (read-char in) #t)))\n      (and (char=? #\\newline ch) (read-char in) #t)\n      (eof-object? ch)))\n\n(define (end-of-field?! in)\n  (define ch (peek-char in))\n  (or (char=? *field-separator* ch)\n      (char=? #\\return ch) (char=? #\\newline ch) (eof-object? ch)))\n\n(define (field-quoted-begin?! in)\n  (define ch (peek-char in))\n  (and (char=? #\\\" ch) (read-char in) #t))\n\n(define (field-quoted-end?! in)\n  (define ch (peek-char in))\n  (and (char=? #\\\" ch) (read-char in) (not (char=? #\\\" (peek-char in)))))\n\n(define (csv-records yield-record!)\n  (lambda (in)\n    (let record-stream ()\n      (when (not (eof-object? (peek-char in)))\n        (yield-record!\n          (let record ()\n            (cons (list->string\n                    (let field ()\n                      (cond ((end-of-field?! in) '())\n                            ((field-quoted-begin?! in)\n                             (let field-quoted ()\n                               (if (field-quoted-end?! in) (field)\n                                 (cons (read-char in) (field-quoted)))))\n                            (else (cons (read-char in) (field))))))\n                  (if (end-of-record?! in) '()\n                    (begin (read-char in) (record))))))\n        (record-stream)))))\n\n;; Test using:\n;; (call-with-input-file PATH\n;;   (csv-records (lambda (record) (printf \"~s\\n\" `(record: ,record)))))\n"
  },
  {
    "path": "attic/pharos/db.rkt",
    "content": "#lang racket\n(provide\n  db-info\n  table-info->metadata\n  table-info->detail-stream\n  )\n\n(require\n  \"read.rkt\"\n  \"repr.rkt\"\n  )\n\n(define (db-info dir)\n  (define tables-dir (build-path dir \"tables\"))\n  (define table-names\n    (map path->string (directory-list tables-dir #:build? #f)))\n  (define table-dirs (directory-list tables-dir #:build? #t))\n  (make-immutable-hash\n    (map (lambda (name dir) (cons name (table-info dir)))\n         table-names table-dirs)))\n\n(define (read-one-from-file path)\n  (define data (read-all-from-file path))\n  (if (= 1 (length data))\n    (car data)\n    (error \"found more data than expected:\" path (length data))))\n\n(define (table-info->metadata tinfo) (vector-ref tinfo 0))\n(define (table-info->detail-stream tinfo) (vector-ref tinfo 1))\n(define (table-info dir)\n  ;; columns: [(name, type)]\n  ;; indexed keys: [col-names]\n  ;; foreign keys: [(local-col-names, table-name, foreign-col-names)]\n  (define cols (read-one-from-file (build-path dir \"columns.scm\")))\n  (define ixs (read-one-from-file (build-path dir \"indexes.scm\")))\n  (define fks (read-one-from-file (build-path dir \"foreign-keys.scm\")))\n  (define not-indexed? (equal? ixs '(#f)))\n  (define masks (map (lambda (ix) (index->mask cols (or ix '()))) ixs))\n  (define t->ks (map (lambda (m) (mask->tuple->key m)) masks))\n  (define c2s (map (lambda (m) (mask->compare2 cols m)) masks))\n\n  (define (detail-stream tmask tuple)\n    (define i (choose-index masks tmask 0))\n    (define key (and i ((list-ref t->ks i) tuple)))\n    (define compare (if i ((list-ref c2s i) key) (lambda (_) 0)))\n    (define ipath (build-path dir (number->string (or i 0))))\n    (define detail-path (build-path ipath \"detail.scm\"))\n    (define offset-path (build-path ipath \"offset.bin\"))\n    (define (stream-from pos)\n      (call-with-input-file\n        detail-path\n        (lambda (detail-in)\n          (file-position detail-in pos)\n          (define detail (read detail-in))\n          (define next-pos (file-position detail-in))\n          (if (or (eof-object? detail)\n                  (not (or not-indexed? (= 0 (compare detail)))))\n            '() (stream-cons detail (stream-from next-pos))))))\n\n    (call-with-input-file\n      detail-path\n      (lambda (detail-in)\n        (call-with-input-file\n          offset-path\n          (lambda (offset-in)\n            (define detail (if (or not-indexed? (not i))\n                             (read detail-in)\n                             (detail-find detail-in offset-in compare)))\n            (define pos (file-position detail-in))\n            (if (not (eof-object? detail))\n              (stream-cons detail (stream-from pos))\n              '()))))))\n\n  `#(((columns . ,cols) (indexes . ,ixs) (foreign-keys ,fks))\n     ,detail-stream\n     ;; TODO: resolve foreign keys.\n     ;; detail-stream->elaborated-detail-stream\n     ))\n\n(define (compare2-number key candidate)\n  (cond ((not candidate) -1)\n        ((< candidate key) -1)\n        ((> candidate key) 1)\n        (else 0)))\n(define (compare2-text key candidate)\n  (cond ((not candidate) -1)\n        ((string<? candidate key) -1)\n        ((string>? candidate key) 1)\n        (else 0)))\n\n(define (index->mask cols icols)\n  (define ncols (map (lambda (n col) (cons (car col) n))\n                     (range (length cols)) cols))\n  (sort (map (lambda (icol) (cdr (assoc icol ncols))) icols) <))\n\n(define (mask->tuple->key ns)\n  (lambda (tuple) (list->vector (map (lambda (n) (vector-ref tuple n)) ns))))\n\n(define (mask->compare2 cols ns)\n  (define compare2s\n    (map (lambda (n) (case (cadr (list-ref cols n))\n                       ((\"integer\" \"decimal\") compare2-number)\n                       (else compare2-text))) ns))\n  (lambda (key)\n    (lambda (candidate)\n      (let loop ((cs compare2s) (ns ns) (ki 0) (k1 key) (k2 candidate))\n        (cond\n          ((null? cs) 0)\n          (else (define n (car ns))\n                (define cmp ((car cs) (vector-ref k1 ki) (vector-ref k2 n)))\n                (if (= 0 cmp) (loop (cdr cs) (cdr ns) (+ 1 ki) k1 k2)\n                  cmp)))))))\n\n(define (masked? mask tmask)\n  (cond ((null? mask) #t)\n        ((null? tmask) #f)\n        (else (define m0 (car mask))\n              (define mrest (cdr mask))\n              (define t0 (car tmask))\n              (define trest (cdr tmask))\n              (cond ((< m0 t0) #f)\n                    ((> m0 t0) (masked? mask trest))\n                    (else (masked? mrest trest))))))\n\n(define (choose-index masks tmask i)\n  (cond ((null? masks) #f)\n        ((masked? (car masks) tmask) i)\n        (else (choose-index (cdr masks) tmask (+ i 1)))))\n"
  },
  {
    "path": "attic/pharos/interact-sqlite3",
    "content": "#!/bin/bash\nset -eufo pipefail\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\nsqlite_db=\"file:$here/data/pharos-sqlite3.db?mode=ro\"\n\nsqlite3 -bail -header -csv -echo \"$sqlite_db\"\n"
  },
  {
    "path": "attic/pharos/mk-db.rkt",
    "content": "#lang racket\n(provide\n  pharos-metao\n  pharoso\n  )\n\n(require\n  \"db.rkt\"\n  \"mk.rkt\"\n  )\n\n(define db (db-info \"data/db\"))\n\n(define (pharos-metao table-name metadata)\n  (project (table-name)\n    (if (var? table-name)\n      (let loop ((kv (hash->list db)))\n        (if (null? kv) (== #f #t)\n          (conde\n            ((== (caar kv) table-name) (pharos-metao (caar kv) metadata))\n            ((loop (cdr kv))))))\n      (== (table-info->metadata (hash-ref db table-name)) metadata))))\n\n(define (pharoso table-name tuple)\n  (project (table-name tuple)\n    (cond ((var? table-name)\n           (let loop ((kv (hash->list db)))\n             (if (null? kv) (== #f #t)\n               (conde\n                 ((== (caar kv) table-name) (pharoso (caar kv) tuple))\n                 ((loop (cdr kv)))))))\n          (else (define ti (hash-ref db table-name))\n                (define tt (list-truncate tuple))\n                (define ds ((table-info->detail-stream ti)\n                            (tuple->mask tt 0) (list->vector tt)))\n                (let loop ((ds ds))\n                  (cond ((stream-empty? ds) (== #f #t))\n                        (else (conde\n                                ((== (vector->list (stream-first ds)) tuple))\n                                ((loop (stream-rest ds)))))))))))\n\n(define (list-truncate xs)\n  (cond ((var? xs) '())\n        (else (cons (car xs) (list-truncate (cdr xs))))))\n\n(define (tuple->mask tuple i)\n  (cond ((or (var? tuple) (null? tuple)) '())\n        ((var? (car tuple)) (tuple->mask (cdr tuple) (+ i 1)))\n        (else (cons i (tuple->mask (cdr tuple) (+ i 1))))))\n"
  },
  {
    "path": "attic/pharos/mk-parse.rkt",
    "content": "#lang racket/base\n(provide\n  fresh/p\n\n  fail/p\n  unit/p\n  end\n\n  single\n  single-not\n  one-of\n  none-of\n\n  many*\n  many+\n  many*-while\n  many+-while\n  many*-until\n  many+-until\n\n  skip*\n  skip+\n  skip*-while\n  skip+-while\n  skip*-until\n  skip+-until\n\n  seq\n\n  and/p\n  or/p\n\n  peek\n  remember1\n  remember*\n  ignore\n  ignored\n  )\n\n(require\n  \"mk.rkt\"\n  )\n\n(define (k/last&initial xs k)\n  (define rxs (reverse xs))\n  (k (car rxs) (reverse (cdr rxs))))\n\n(define (appendo l s ls)\n  (conde\n    ((== '() l) (== s ls))\n    ((fresh (a d ms)\n       (== `(,a . ,d) l)\n       (== `(,a . ,ms) ls)\n       (appendo d s ms)))))\n\n;; Common parser combinators\n(define-syntax fresh/p\n  (syntax-rules ()\n    ((_ (vname ...) g ... p)\n     (lambda (in out)\n       (fresh (vname ...)\n         g ...\n         (p in out))))))\n\n(define (fail/p in out) (== #t #f))\n(define (unit/p in out) (== in out))\n(define (end in out) (fresh () (== '() in) (== in out)))\n\n(define (single d) (lambda (in out) (== `(,d . ,out) in)))\n(define (single-lift d) (if (procedure? d) d (single d)))\n(define (single-not d)\n  (lambda (in out) (fresh (item) (== `(,item . ,out) in) (=/= item d))))\n\n(define (seq2 pa pb) (lambda (in out) (fresh (mid) (pa in mid) (pb mid out))))\n(define (seq . ds) (foldr seq2 unit/p (map single-lift ds)))\n\n;; NOTE: and/p only commits with the last parser given.\n(define (and2/p pa pb) (lambda (in out) (fresh (_) (pa in _) (pb in out))))\n(define (and/p . ps)\n  (if (null? ps) unit/p\n    (k/last&initial ps (lambda (last initial) (foldr and2/p last initial)))))\n(define (or2/p pa pb) (lambda (in out) (conde ((pa in out)) ((pb in out)))))\n(define (or/p . ps) (foldr or2/p fail/p ps))\n\n(define (one-of ds) (apply or/p (map single ds)))\n(define (none-of ds) (apply and/p (map single-not ds)))\n\n(define (peek p) (and/p p unit/p))\n(define (remember1 p) (lambda (result) (and/p p (single result))))\n(define (remember* p)\n  (lambda (result)\n    (lambda (in out)\n      (fresh () (p in out) (appendo result out in)))))\n(define (ignore p) (fresh/p (_) (p _)))\n(define (ignored p) (lambda (result) p))\n\n(define (many* pattern)\n  (lambda (result)\n    (or/p (fresh/p () (== '() result) unit/p)\n          ((many+ pattern) result))))\n(define (many+ pattern)\n  (lambda (result)\n    (fresh/p (first rest)\n      (== `(,first . ,rest) result)\n      (seq2 (pattern first) ((many* pattern) rest)))))\n(define (many*-while ds)\n  (lambda (result)\n    (seq ((many* (remember1 (one-of ds))) result)\n         (or/p end (peek (none-of ds))))))\n(define (many+-while ds)\n  (lambda (result) (seq (peek (one-of ds)) ((many*-while ds) result))))\n(define (many*-until ds)\n  (lambda (result)\n    (seq ((many* (remember1 (none-of ds))) result)\n         (or/p end (peek (one-of ds))))))\n(define (many+-until ds)\n  (lambda (result) (seq (peek (none-of ds)) ((many*-until ds) result))))\n\n(define (skip* pattern) (ignore (many* (ignored pattern))))\n(define (skip+ pattern) (ignore (many+ (ignored pattern))))\n(define (skip*-while ds)\n  (seq (skip* (one-of ds)) (or/p end (peek (none-of ds)))))\n(define (skip+-while ds) (seq (peek (one-of ds)) (skip* (one-of ds))))\n(define (skip*-until ds)\n  (seq (skip* (none-of ds)) (or/p end (peek (one-of ds)))))\n(define (skip+-until ds) (seq (peek (none-of ds)) (skip*-until ds)))\n"
  },
  {
    "path": "attic/pharos/mk.rkt",
    "content": "#lang racket/base\n\n(require racket/list\n         racket/include\n         racket/stream\n         )\n\n(provide\n  run run* run-stream\n  == =/=\n  fresh\n  conde\n  symbolo numbero\n  absento\n  project\n  var?\n  fail\n  succeed\n  choice\n  inc\n  unify\n  walk\n  walk*\n  mplus\n  mplus*\n  bind\n  bind*\n  take take-stream\n  reify\n  )\n\n;; extra stuff for racket\n;; due mostly to samth\n(define (list-sort f l) (sort l f))\n\n(define (remp f l) (filter-not f l))\n\n(define (call-with-string-output-port f)\n  (define p (open-output-string))\n  (f p)\n  (get-output-string p))\n\n(define (exists f l) (ormap f l))\n\n(define for-all andmap)\n\n(define (find f l)\n  (cond [(memf f l) => car] [else #f]))\n\n(define memp memf)\n\n(define (var*? v) (var? (car v)))\n\n\n; Substitution representation\n\n(define empty-subst-map (hasheq))\n\n(define subst-map-length hash-count)\n\n; Returns #f if not found, or a pair of u and the result of the lookup.\n; This distinguishes between #f indicating absence and being the result.\n(define subst-map-lookup\n  (lambda (u S)\n    (hash-ref S u unbound)))\n\n(define (subst-map-add S var val)\n  (hash-set S var val))\n\n(define subst-map-eq? eq?)\n\n\n; Constraint store representation\n\n(define empty-C (hasheq))\n\n(define set-c\n  (lambda (v c st)\n    (state (state-S st) (hash-set (state-C st) v c))))\n\n(define lookup-c\n  (lambda (v st)\n    (hash-ref (state-C st) v empty-c)))\n\n(define remove-c\n  (lambda (v st)\n    (state (state-S st) (hash-remove (state-C st) v))))\n\n\n; Scope object.\n; Used to determine whether a branch has occured between variable creation\n; and unification to allow the set-var-val! optimization in subst-add. Both variables\n; and substitutions will contain a scope. When a substitution flows through a\n; conde it is assigned a new scope.\n\n; Creates a new scope that is not scope-eq? to any other scope\n(define new-scope\n  (lambda ()\n    (list 'scope)))\n\n; Scope used when variable bindings should always be made in the substitution,\n; as in disequality solving and reification. We don't want to set-var-val! a\n; variable when checking if a disequality constraint holds!\n(define nonlocal-scope\n  (list 'non-local-scope))\n\n(define scope-eq? eq?)\n\n\n; Logic variable object.\n; Contains:\n;   val - value for variable assigned by unification using set-var-val! optimization.\n;           unbound if not yet set or stored in substitution.\n;   scope - scope that the variable was created in.\n;   idx - unique numeric index for the variable. Used by the trie substitution representation.\n; Variable objects are compared by object identity.\n\n; The unique val for variables that have not yet been bound to a value\n; or are bound in the substitution\n(define unbound (list 'unbound))\n\n(define var\n  (let ((counter -1))\n    (lambda (scope)\n      (set! counter (+ 1 counter))\n      (vector unbound scope counter))))\n\n; Vectors are not allowed as terms, so terms that are vectors are variables.\n(define var?\n  (lambda (x)\n    (vector? x)))\n\n(define var-eq? eq?)\n\n(define var-val\n  (lambda (x)\n    (vector-ref x 0)))\n\n(define set-var-val!\n  (lambda (x v)\n    (vector-set! x 0 v)))\n\n(define var-scope\n  (lambda (x)\n    (vector-ref x 1)))\n\n(define var-idx\n  (lambda (x)\n    (vector-ref x 2)))\n\n\n; Substitution object.\n; Contains:\n;   map - mapping of variables to values\n;   scope - scope at current program point, for set-var-val! optimization. Updated at conde.\n;               Included in the substitution because it is required to fully define the substitution\n;               and how it is to be extended.\n;\n; Implementation of the substitution map depends on the Scheme used, as we need a map. See mk.rkt\n; and mk-vicare.scm.\n\n(define subst\n  (lambda (mapping scope)\n    (cons mapping scope)))\n\n(define subst-map car)\n\n(define subst-scope cdr)\n\n(define subst-length\n  (lambda (S)\n    (subst-map-length (subst-map S))))\n\n(define subst-with-scope\n  (lambda (S new-scope)\n    (subst (subst-map S) new-scope)))\n\n(define empty-subst (subst empty-subst-map (new-scope)))\n\n(define subst-add\n  (lambda (S x v)\n    ; set-var-val! optimization: set the value directly on the variable\n    ; object if we haven't branched since its creation\n    ; (the scope of the variable and the substitution are the same).\n    ; Otherwise extend the substitution mapping.\n    (if (scope-eq? (var-scope x) (subst-scope S))\n      (begin\n        (set-var-val! x v)\n        S)\n      (subst (subst-map-add (subst-map S) x v) (subst-scope S)))))\n\n(define subst-lookup\n  (lambda (u S)\n    ; set-var-val! optimization.\n    ; Tried checking the scope here to avoid a subst-map-lookup\n    ; if it was definitely unbound, but that was slower.\n    (if (not (eq? (var-val u) unbound))\n      (var-val u)\n      (subst-map-lookup u (subst-map S)))))\n\n; Association object.\n; Describes an association mapping the lhs to the rhs. Returned by unification\n; to describe the associations that were added to the substitution (whose representation\n; is opaque) and used to represent disequality constraints.\n\n(define lhs car)\n\n(define rhs cdr)\n\n; Constraint record object.\n;\n; Describes the constraints attached to a single variable.\n;\n; Contains:\n;   T - type constraint. 'symbolo 'numbero or #f to indicate no constraint\n;   D - list of disequality constraints. Each disequality is a list of associations.\n;           The constraint is violated if all associated variables are equal in the\n;           substitution simultaneously. D could contain duplicate constraints (created\n;           by distinct =/= calls). A given disequality constraint is only attached to\n;           one of the variables involved, as all components of the constraint must be\n;           violated to cause failure.\n;   A - list of absento constraints. Each constraint is a ground atom. The list contains\n;           no duplicates.\n\n(define empty-c `(#f () ()))\n\n(define c-T\n  (lambda (c)\n    (car c)))\n\n(define c-D\n  (lambda (c)\n    (cadr c)))\n\n(define c-A\n  (lambda (c)\n    (caddr c)))\n\n(define c-with-T\n  (lambda (c T)\n    (list T (c-D c) (c-A c))))\n\n(define c-with-D\n  (lambda (c D)\n    (list (c-T c) D (c-A c))))\n\n(define c-with-A\n  (lambda (c A)\n    (list (c-T c) (c-D c) A)))\n\n; Constraint store object.\n; Mapping of representative variable to constraint record. Constraints are\n; always on the representative element and must be moved / merged when that\n; element changes.\n\n; Implementation depends on the Scheme used, as we need a map. See mk.rkt\n; and mk-vicare.scm.\n\n; State object.\n; The state is the value that is monadically passed through the search.\n; Contains:\n;   S - the substitution\n;   C - the constraint store\n\n(define state\n  (lambda (S C)\n    (cons S C)))\n\n(define state-S (lambda (st) (car st)))\n(define state-C (lambda (st) (cdr st)))\n\n(define empty-state (state empty-subst empty-C))\n\n(define state-with-scope\n  (lambda (st new-scope)\n    (state (subst-with-scope (state-S st) new-scope) (state-C st))))\n\n; Unification\n\n(define walk\n  (lambda (u S)\n    (if (var? u)\n      (let ((val (subst-lookup u S)))\n        (if (eq? val unbound)\n          u\n          (walk val S)))\n      u)))\n\n(define occurs-check\n  (lambda (x v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v) (var-eq? v x))\n        ((pair? v)\n         (or\n           (occurs-check x (car v) S)\n           (occurs-check x (cdr v) S)))\n        (else #f)))))\n\n(define ext-s-check\n  (lambda (x v S)\n    (cond\n      ((occurs-check x v S) (values #f #f))\n      (else (values (subst-add S x v) `((,x . ,v)))))))\n\n; Returns as values the extended substitution and a list of associations added\n; during the unification, or (values #f #f) if the unification failed.\n;\n; Right now appends the list of added values from sub-unifications. Alternatively\n; could be threaded monadically, which could be faster or slower.\n(define unify\n  (lambda (u v s)\n    (let ((u (walk u s))\n          (v (walk v s)))\n      (cond\n        ((eq? u v) (values s '()))\n        ((var? u) (ext-s-check u v s))\n        ((var? v) (ext-s-check v u s))\n        ((and (pair? u) (pair? v))\n         (let-values (((s added-car) (unify (car u) (car v) s)))\n           (if s\n             (let-values (((s added-cdr) (unify (cdr u) (cdr v) s)))\n               (values s (append added-car added-cdr)))\n             (values #f #f))))\n        ((equal? u v) (values s '()))\n        (else (values #f #f))))))\n\n(define unify*\n  (lambda (S+ S)\n    (unify (map lhs S+) (map rhs S+) S)))\n\n\n; Search\n\n; SearchStream: #f | Procedure | State | (Pair State (-> SearchStream))\n\n; SearchStream constructor types. Names inspired by the plus monad?\n\n; -> SearchStream\n(define mzero (lambda () #f))\n\n; c: State\n; -> SearchStream\n(define unit (lambda (c) c))\n\n; c: State\n; f: (-> SearchStream)\n; -> SearchStream\n;\n; f is a thunk to avoid unnecessary computation in the case that c is the\n; last answer needed to satisfy the query.\n(define choice (lambda (c f) (cons c f)))\n\n; e: SearchStream\n; -> (-> SearchStream)\n(define-syntax inc\n  (syntax-rules ()\n    ((_ e) (lambda () e))))\n\n; Goal: (State -> SearchStream)\n\n; e: SearchStream\n; -> Goal\n(define-syntax lambdag@\n  (syntax-rules ()\n    ((_ (st) e) (lambda (st) e))))\n\n; Match on search streams. The state type must not be a pair with a procedure\n; in its cdr.\n;\n; (() e0)     failure\n; ((f) e1)    inc for interleaving. separate from success or failure to ensure\n;               it goes all the way to the top of the tree.\n; ((c) e2)    single result. Used rather than (choice c (inc (mzero))) to avoid\n;               returning to search a part of the tree that will inevitably fail.\n; ((c f) e3)  multiple results.\n(define-syntax case-inf\n  (syntax-rules ()\n    ((_ e (() e0) ((f^) e1) ((c^) e2) ((c f) e3))\n     (let ((c-inf e))\n       (cond\n         ((not c-inf) e0)\n         ((procedure? c-inf)  (let ((f^ c-inf)) e1))\n         ((not (and (pair? c-inf)\n                 (procedure? (cdr c-inf))))\n          (let ((c^ c-inf)) e2))\n         (else (let ((c (car c-inf)) (f (cdr c-inf)))\n                 e3)))))))\n\n; c-inf: SearchStream\n;     f: (-> SearchStream)\n; -> SearchStream\n;\n; f is a thunk to avoid unnecesarry computation in the case that the first\n; answer produced by c-inf is enough to satisfy the query.\n(define mplus\n  (lambda (c-inf f)\n    (case-inf c-inf\n      (() (f))\n      ((f^) (inc (mplus (f) f^)))\n      ((c) (choice c f))\n      ((c f^) (choice c (inc (mplus (f) f^)))))))\n\n; c-inf: SearchStream\n;     g: Goal\n; -> SearchStream\n(define bind\n  (lambda (c-inf g)\n    (case-inf c-inf\n      (() (mzero))\n      ((f) (inc (bind (f) g)))\n      ((c) (g c))\n      ((c f) (mplus (g c) (inc (bind (f) g)))))))\n\n; Int, SearchStream -> (ListOf SearchResult)\n(define take\n  (lambda (n f)\n    (cond\n      ((and n (zero? n)) '())\n      (else\n       (case-inf (f)\n         (() '())\n         ((f) (take n f))\n         ((c) (cons c '()))\n         ((c f) (cons c\n                  (take (and n (- n 1)) f))))))))\n\n(define take-stream\n  (lambda (f)\n    (case-inf (f)\n              (() '())\n              ((f) (take-stream f))\n              ((c) (stream-cons c '()))\n              ((c f) (stream-cons c (take-stream f))))))\n\n; -> SearchStream\n(define-syntax bind*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e g0 g ...) (bind* (bind e g0) g ...))))\n\n; -> SearchStream\n(define-syntax mplus*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e0 e ...) (mplus e0\n                    (inc (mplus* e ...))))))\n\n; -> Goal\n(define-syntax fresh\n  (syntax-rules ()\n    ((_ (x ...) g0 g ...)\n     (lambdag@ (st)\n       ; this inc triggers interleaving\n       (inc\n         (let ((scope (subst-scope (state-S st))))\n           (let ((x (var scope)) ...)\n             (bind* (g0 st) g ...))))))))\n\n\n; -> Goal\n(define-syntax conde\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       ; this inc triggers interleaving\n       (inc\n         (let ((st (state-with-scope st (new-scope))))\n           (mplus*\n             (bind* (g0 st) g ...)\n             (bind* (g1 st) g^ ...) ...)))))))\n\n(define-syntax run\n  (syntax-rules ()\n    ((_ n (q) g0 g ...)\n     (take n\n       (inc\n         ((fresh (q) g0 g ...\n            (lambdag@ (st)\n              (let ((st (state-with-scope st nonlocal-scope)))\n                (let ((z ((reify q) st)))\n                  (choice z (lambda () (lambda () #f)))))))\n          empty-state))))\n    ((_ n (q0 q1 q ...) g0 g ...)\n     (run n (x) (fresh (q0 q1 q ...) g0 g ... (== `(,q0 ,q1 ,q ...) x))))))\n\n(define-syntax run*\n  (syntax-rules ()\n    ((_ (q0 q ...) g0 g ...) (run #f (q0 q ...) g0 g ...))))\n\n(define-syntax run-stream\n  (syntax-rules ()\n    ((_ (q) g0 g ...)\n     (take-stream\n       (inc\n         ((fresh (q) g0 g ...\n            (lambdag@ (st)\n              (let ((st (state-with-scope st nonlocal-scope)))\n                (let ((z ((reify q) st)))\n                  (choice z (lambda () (lambda () #f)))))))\n          empty-state))))\n    ((_ (q0 q1 q ...) g0 g ...)\n     (run-stream (x) (fresh (q0 q1 q ...) g0 g ... (== `(,q0 ,q1 ,q ...) x))))))\n\n; Constraints\n; C refers to the constraint store map\n; c refers to an individual constraint record\n\n; Constraint: State -> #f | State\n;\n; (note that a Constraint is a Goal but a Goal is not a Constraint.\n;  Constraint implementations currently use this more restrained type. See `and-foldl`\n;  and `update-constraints`.)\n\n; Requirements for type constraints:\n; 1. Must be positive, not negative. not-pairo wouldn't work.\n; 2. Each type must have infinitely many possible values to avoid\n;      incorrectness in combination with disequality constraints, like:\n;      (fresh (x) (booleano x) (=/= x #t) (=/= x #f))\n(define type-constraint\n  (lambda (type-pred type-id)\n    (lambda (u)\n      (lambdag@ (st)\n        (let ((term (walk u (state-S st))))\n          (cond\n            ((type-pred term) st)\n            ((var? term)\n             (let* ((c (lookup-c term st))\n                   (T (c-T c)))\n               (cond\n                 ((eq? T type-id) st)\n                 ((not T) (set-c term (c-with-T c type-id) st))\n                 (else #f))))\n            (else #f)))))))\n\n(define symbolo (type-constraint symbol? 'symbolo))\n(define numbero (type-constraint number? 'numbero))\n\n(define (add-to-D st v d)\n  (let* ((c (lookup-c v st))\n         (c^ (c-with-D c (cons d (c-D c)))))\n    (set-c v c^ st)))\n\n(define =/=*\n  (lambda (S+)\n    (lambdag@ (st)\n      (let-values (((S added) (unify* S+ (subst-with-scope (state-S st) nonlocal-scope))))\n        (cond\n          ((not S) st)\n          ((null? added) #f)\n          (else\n            ; Choose one of the disequality elements (el) to attach the constraint to. Only\n            ; need to choose one because all must fail to cause the constraint to fail.\n            (let ((el (car added)))\n              (let ((st (add-to-D st (car el) added)))\n                (if (var? (cdr el))\n                  (add-to-D st (cdr el) added)\n                  st)))))))))\n\n(define =/=\n  (lambda (u v)\n    (=/=* `((,u . ,v)))))\n\n(define absento\n  (lambda (ground-atom term)\n    (lambdag@ (st)\n      (let ((term (walk term (state-S st))))\n        (cond\n          ((pair? term)\n           (let ((st^ ((absento ground-atom (car term)) st)))\n             (and st^ ((absento ground-atom (cdr term)) st^))))\n          ((eqv? term ground-atom) #f)\n          ((var? term)\n           (let* ((c (lookup-c term st))\n                  (A (c-A c)))\n             (if (memv ground-atom A)\n               st\n               (let ((c^ (c-with-A c (cons ground-atom A))))\n                 (set-c term c^ st)))))\n          (else st))))))\n\n; Fold lst with proc and initial value init. If proc ever returns #f,\n; return with #f immediately. Used for applying a series of constraints\n; to a state, failing if any operation fails.\n(define (and-foldl proc init lst)\n  (if (null? lst)\n    init\n    (let ([res (proc (car lst) init)])\n      (and res (and-foldl proc res (cdr lst))))))\n\n(define ==\n  (lambda (u v)\n    (lambdag@ (st)\n      (let-values (((S added) (unify u v (state-S st))))\n        (if S\n          (and-foldl update-constraints (state S (state-C st)) added)\n          #f)))))\n\n\n; Not fully optimized. Could do absento update with fewer hash-refs / hash-sets.\n(define update-constraints\n  (lambda (a st)\n    (let ([old-c (lookup-c (lhs a) st)])\n      (if (eq? old-c empty-c)\n        st\n        (let ((st (remove-c (lhs a) st)))\n         (and-foldl (lambda (op st) (op st)) st\n          (append\n            (if (eq? (c-T old-c) 'symbolo)\n              (list (symbolo (rhs a)))\n              '())\n            (if (eq? (c-T old-c) 'numbero)\n              (list (numbero (rhs a)))\n              '())\n            (map (lambda (atom) (absento atom (rhs a))) (c-A old-c))\n            (map (lambda (d) (=/=* d)) (c-D old-c)))))))))\n\n\n; Reification\n\n(define walk*\n  (lambda (v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v) v)\n        ((pair? v)\n         (cons (walk* (car v) S) (walk* (cdr v) S)))\n        (else v)))))\n\n(define vars\n  (lambda (term acc)\n    (cond\n      ((var? term) (cons term acc))\n      ((pair? term)\n       (vars (cdr term) (vars (car term) acc)))\n      (else acc))))\n\n(define-syntax project\n  (syntax-rules ()\n    ((_ (x ...) g g* ...)\n     (lambdag@ (st)\n       (let ((x (walk* x (state-S st))) ...)\n         ((fresh () g g* ...) st))))))\n\n\n; Create a constraint store of the old representation from a state object,\n; so that we can use the old reifier. Only accumulates constraints related\n; to the variable being reified which makes things a bit faster.\n(define c-from-st\n  (lambda (st x)\n    (let ((vs (vars (walk* x (state-S st)) '())))\n      (foldl\n        (lambda (v c-store)\n          (let ((c (lookup-c v st)))\n            (let ((S (state-S st))\n                  (D (c->D c-store))\n                  (Y (c->Y c-store))\n                  (N (c->N c-store))\n                  (T (c->T c-store))\n                  (T^ (c-T c))\n                  (D^ (c-D c))\n                  (A^ (c-A c)))\n              `(,S\n                 ,(append D^ D)\n                 ,(if (eq? T^ 'symbolo)\n                    (cons v Y)\n                    Y)\n                 ,(if (eq? T^ 'numbero)\n                    (cons v N)\n                    N)\n                 ,(append\n                    (map (lambda (atom) (cons atom v)) A^)\n                    T)))))\n        `(,(state-S st) () () () ())\n        (remove-duplicates vs)))))\n\n(define reify\n  (lambda (x)\n    (lambda (st)\n      (let ((c (c-from-st st x)))\n        (let ((c (cycle c)))\n          (let* ((S (c->S c))\n                 (D (walk* (c->D c) S))\n                 (Y (walk* (c->Y c) S))\n                 (N (walk* (c->N c) S))\n                 (T (walk* (c->T c) S)))\n            (let ((v (walk* x S)))\n              (let ((R (reify-S v (subst empty-subst-map nonlocal-scope))))\n                (reify+ v R\n                        (let ((D (remp\n                                   (lambda (d)\n                                     (let ((dw (walk* d S)))\n                                       (anyvar? dw R)))\n                                   (rem-xx-from-d c))))\n                          (rem-subsumed D))\n                        (remp\n                          (lambda (y) (var? (walk y R)))\n                          Y)\n                        (remp\n                          (lambda (n) (var? (walk n R)))\n                          N)\n                        (remp (lambda (t)\n                                (anyvar? t R)) T))))))))))\n\n\n; Bits from the old constraint implementation, still used for reification.\n\n; In this part of the code, c refers to the\n; old constraint store with components:\n; S - substitution\n; D - disequality constraints\n; Y - symbolo\n; N - numbero\n; T - absento\n\n(define c->S (lambda (c) (car c)))\n(define c->D (lambda (c) (cadr c)))\n(define c->Y (lambda (c) (caddr c)))\n(define c->N (lambda (c) (cadddr c)))\n(define c->T (lambda (c) (cadddr (cdr c))))\n\n; Syntax for reification goal objects using the old constraint store\n(define-syntax lambdar@\n  (syntax-rules (:)\n    ((_ (c) e) (lambda (c) e))\n    ((_ (c : S D Y N T) e)\n     (lambda (c)\n       (let ((S (c->S c)) (D (c->D c)) (Y (c->Y c)) (N (c->N c)) (T (c->T c)))\n         e)))))\n\n(define tagged?\n  (lambda (S Y y^)\n    (exists (lambda (y) (eqv? (walk y S) y^)) Y)))\n\n(define untyped-var?\n  (lambda (S Y N t^)\n    (let ((in-type? (lambda (y) (var-eq? (walk y S) t^))))\n      (and (var? t^)\n           (not (exists in-type? Y))\n           (not (exists in-type? N))))))\n\n(define reify-S\n  (lambda (v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v)\n         (let ((n (subst-length S)))\n           (let ((name (reify-name n)))\n             (subst-add S v name))))\n        ((pair? v)\n         (let ((S (reify-S (car v) S)))\n           (reify-S (cdr v) S)))\n        (else S)))))\n\n(define reify-name\n  (lambda (n)\n    (string->symbol\n      (string-append \"_\" \".\" (number->string n)))))\n\n(define drop-dot\n  (lambda (X)\n    (map (lambda (t)\n           (let ((a (lhs t))\n                 (d (rhs t)))\n             `(,a ,d)))\n         X)))\n\n(define sorter\n  (lambda (ls)\n    (list-sort lex<=? ls)))\n\n(define lex<=?\n  (lambda (x y)\n    (string<=? (datum->string x) (datum->string y))))\n\n(define datum->string\n  (lambda (x)\n    (call-with-string-output-port\n      (lambda (p) (display x p)))))\n\n(define anyvar?\n  (lambda (u r)\n    (cond\n      ((pair? u)\n       (or (anyvar? (car u) r)\n           (anyvar? (cdr u) r)))\n      (else (var? (walk u r))))))\n\n(define member*\n  (lambda (u v)\n    (cond\n      ((equal? u v) #t)\n      ((pair? v)\n       (or (member* u (car v)) (member* u (cdr v))))\n      (else #f))))\n\n(define drop-N-b/c-const\n  (lambdar@ (c : S D Y N T)\n    (let ((const? (lambda (n)\n                    (not (var? (walk n S))))))\n      (cond\n        ((find const? N) =>\n           (lambda (n) `(,S ,D ,Y ,(remq1 n N) ,T)))\n        (else c)))))\n\n(define drop-Y-b/c-const\n  (lambdar@ (c : S D Y N T)\n    (let ((const? (lambda (y)\n                    (not (var? (walk y S))))))\n      (cond\n        ((find const? Y) =>\n           (lambda (y) `(,S ,D ,(remq1 y Y) ,N ,T)))\n        (else c)))))\n\n(define remq1\n  (lambda (elem ls)\n    (cond\n      ((null? ls) '())\n      ((eq? (car ls) elem) (cdr ls))\n      (else (cons (car ls) (remq1 elem (cdr ls)))))))\n\n(define same-var?\n  (lambda (v)\n    (lambda (v^)\n      (and (var? v) (var? v^) (var-eq? v v^)))))\n\n(define find-dup\n  (lambda (f S)\n    (lambda (set)\n      (let loop ((set^ set))\n        (cond\n          ((null? set^) #f)\n          (else\n           (let ((elem (car set^)))\n             (let ((elem^ (walk elem S)))\n               (cond\n                 ((find (lambda (elem^^)\n                          ((f elem^) (walk elem^^ S)))\n                        (cdr set^))\n                  elem)\n                 (else (loop (cdr set^))))))))))))\n\n(define drop-N-b/c-dup-var\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-dup same-var? S) N) =>\n       (lambda (n) `(,S ,D ,Y ,(remq1 n N) ,T)))\n      (else c))))\n\n(define drop-Y-b/c-dup-var\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-dup same-var? S) Y) =>\n       (lambda (y)\n         `(,S ,D ,(remq1 y Y) ,N ,T)))\n      (else c))))\n\n(define var-type-mismatch?\n  (lambda (S Y N t1^ t2^)\n    (cond\n      ((num? S N t1^) (not (num? S N t2^)))\n      ((sym? S Y t1^) (not (sym? S Y t2^)))\n      (else #f))))\n\n(define term-ununifiable?\n  (lambda (S Y N t1 t2)\n    (let ((t1^ (walk t1 S))\n          (t2^ (walk t2 S)))\n      (cond\n        ((or (untyped-var? S Y N t1^) (untyped-var? S Y N t2^)) #f)\n        ((var? t1^) (var-type-mismatch? S Y N t1^ t2^))\n        ((var? t2^) (var-type-mismatch? S Y N t2^ t1^))\n        ((and (pair? t1^) (pair? t2^))\n         (or (term-ununifiable? S Y N (car t1^) (car t2^))\n             (term-ununifiable? S Y N (cdr t1^) (cdr t2^))))\n        (else (not (eqv? t1^ t2^)))))))\n\n(define T-term-ununifiable?\n  (lambda (S Y N)\n    (lambda (t1)\n      (let ((t1^ (walk t1 S)))\n        (letrec\n            ((t2-check\n              (lambda (t2)\n                (let ((t2^ (walk t2 S)))\n                  (if (pair? t2^)\n                    (and\n                       (term-ununifiable? S Y N t1^ t2^)\n                       (t2-check (car t2^))\n                       (t2-check (cdr t2^)))\n                    (term-ununifiable? S Y N t1^ t2^))))))\n          t2-check)))))\n\n(define num?\n  (lambda (S N n)\n    (let ((n (walk n S)))\n      (cond\n        ((var? n) (tagged? S N n))\n        (else (number? n))))))\n\n(define sym?\n  (lambda (S Y y)\n    (let ((y (walk y S)))\n      (cond\n        ((var? y) (tagged? S Y y))\n        (else (symbol? y))))))\n\n(define drop-T-b/c-Y-and-N\n  (lambdar@ (c : S D Y N T)\n    (let ((drop-t? (T-term-ununifiable? S Y N)))\n      (cond\n        ((find (lambda (t) ((drop-t? (lhs t)) (rhs t))) T) =>\n         (lambda (t) `(,S ,D ,Y ,N ,(remq1 t T))))\n        (else c)))))\n\n(define move-T-to-D-b/c-t2-atom\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((exists (lambda (t)\n               (let ((t2^ (walk (rhs t) S)))\n                 (cond\n                   ((and (not (untyped-var? S Y N t2^))\n                         (not (pair? t2^)))\n                    (let ((T (remq1 t T)))\n                      `(,S ((,t) . ,D) ,Y ,N ,T)))\n                   (else #f))))\n             T))\n      (else c))))\n\n(define terms-pairwise=?\n  (lambda (pr-a^ pr-d^ t-a^ t-d^ S)\n    (or\n     (and (term=? pr-a^ t-a^ S)\n          (term=? pr-d^ t-a^ S))\n     (and (term=? pr-a^ t-d^ S)\n          (term=? pr-d^ t-a^ S)))))\n\n(define T-superfluous-pr?\n  (lambda (S Y N T)\n    (lambda (pr)\n      (let ((pr-a^ (walk (lhs pr) S))\n            (pr-d^ (walk (rhs pr) S)))\n        (cond\n          ((exists\n               (lambda (t)\n                 (let ((t-a^ (walk (lhs t) S))\n                       (t-d^ (walk (rhs t) S)))\n                   (terms-pairwise=? pr-a^ pr-d^ t-a^ t-d^ S)))\n             T)\n           (for-all\n            (lambda (t)\n              (let ((t-a^ (walk (lhs t) S))\n                    (t-d^ (walk (rhs t) S)))\n                (or\n                 (not (terms-pairwise=? pr-a^ pr-d^ t-a^ t-d^ S))\n                 (untyped-var? S Y N t-d^)\n                 (pair? t-d^))))\n            T))\n          (else #f))))))\n\n(define drop-from-D-b/c-T\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((find\n           (lambda (d)\n             (exists\n                 (T-superfluous-pr? S Y N T)\n               d))\n         D) =>\n         (lambda (d) `(,S ,(remq1 d D) ,Y ,N ,T)))\n      (else c))))\n\n(define drop-t-b/c-t2-occurs-t1\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((find (lambda (t)\n               (let ((t-a^ (walk (lhs t) S))\n                     (t-d^ (walk (rhs t) S)))\n                 (mem-check t-d^ t-a^ S)))\n             T) =>\n             (lambda (t)\n               `(,S ,D ,Y ,N ,(remq1 t T))))\n      (else c))))\n\n(define split-t-move-to-d-b/c-pair\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((exists\n         (lambda (t)\n           (let ((t2^ (walk (rhs t) S)))\n             (cond\n               ((pair? t2^) (let ((ta `(,(lhs t) . ,(car t2^)))\n                                  (td `(,(lhs t) . ,(cdr t2^))))\n                              (let ((T `(,ta ,td . ,(remq1 t T))))\n                                `(,S ((,t) . ,D) ,Y ,N ,T))))\n               (else #f))))\n         T))\n      (else c))))\n\n(define find-d-conflict\n  (lambda (S Y N)\n    (lambda (D)\n      (find\n        (lambda (d)\n          (exists (lambda (pr)\n                    (term-ununifiable? S Y N (lhs pr) (rhs pr)))\n                  d))\n        D))))\n\n(define drop-D-b/c-Y-or-N\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-d-conflict S Y N) D) =>\n       (lambda (d) `(,S ,(remq1 d D) ,Y ,N ,T)))\n      (else c))))\n\n(define cycle\n  (lambdar@ (c)\n    (let loop ((c^ c)\n               (fns^ (LOF))\n               (n (length (LOF))))\n      (cond\n        ((zero? n) c^)\n        ((null? fns^) (loop c^ (LOF) n))\n        (else\n         (let ((c^^ ((car fns^) c^)))\n           (cond\n             ((not (eq? c^^ c^))\n              (loop c^^ (cdr fns^) (length (LOF))))\n             (else (loop c^ (cdr fns^) (sub1 n))))))))))\n\n(define mem-check\n  (lambda (u t S)\n    (let ((t (walk t S)))\n      (cond\n        ((pair? t)\n         (or (term=? u t S)\n             (mem-check u (car t) S)\n             (mem-check u (cdr t) S)))\n        (else (term=? u t S))))))\n\n(define term=?\n  (lambda (u t S)\n    (let-values (((S added) (unify u t (subst-with-scope S nonlocal-scope))))\n      (and S (null? added)))))\n\n(define ground-non-<type>?\n  (lambda (pred)\n    (lambda (u S)\n      (let ((u (walk u S)))\n        (cond\n          ((var? u) #f)\n          (else (not (pred u))))))))\n\n(define ground-non-symbol?\n  (ground-non-<type>? symbol?))\n\n(define ground-non-number?\n  (ground-non-<type>? number?))\n\n(define succeed (== #f #f))\n\n(define fail (== #f #t))\n\n(define ==fail-check\n  (lambda (S0 D Y N T)\n    (let ([S0 (subst-with-scope S0 nonlocal-scope)])\n      (cond\n        ((atomic-fail-check S0 Y ground-non-symbol?) #t)\n        ((atomic-fail-check S0 N ground-non-number?) #t)\n        ((symbolo-numbero-fail-check S0 Y N) #t)\n        ((=/=-fail-check S0 D) #t)\n        ((absento-fail-check S0 T) #t)\n        (else #f)))))\n\n(define atomic-fail-check\n  (lambda (S A pred)\n    (exists (lambda (a) (pred (walk a S) S)) A)))\n\n(define symbolo-numbero-fail-check\n  (lambda (S A N)\n    (let ((N (map (lambda (n) (walk n S)) N)))\n      (exists (lambda (a) (exists (same-var? (walk a S)) N))\n        A))))\n\n(define absento-fail-check\n  (lambda (S T)\n    (exists (lambda (t) (mem-check (lhs t) (rhs t) S)) T)))\n\n(define =/=-fail-check\n  (lambda (S D)\n    (exists (d-fail-check S) D)))\n\n(define d-fail-check\n  (lambda (S)\n    (lambda (d)\n      (let-values (((S added) (unify* d S)))\n        (and S (null? added))))))\n\n(define reify+\n  (lambda (v R D Y N T)\n    (form (walk* v R)\n          (walk* D R)\n          (walk* Y R)\n          (walk* N R)\n          (rem-subsumed-T (walk* T R)))))\n\n(define form\n  (lambda (v D Y N T)\n    (let ((fd (sort-D D))\n          (fy (sorter Y))\n          (fn (sorter N))\n          (ft (sorter T)))\n      (let ((fd (if (null? fd) fd\n                    (let ((fd (drop-dot-D fd)))\n                      `((=/= . ,fd)))))\n            (fy (if (null? fy) fy `((sym . ,fy))))\n            (fn (if (null? fn) fn `((num . ,fn))))\n            (ft (if (null? ft) ft\n                    (let ((ft (drop-dot ft)))\n                      `((absento . ,ft))))))\n        (cond\n          ((and (null? fd) (null? fy)\n                (null? fn) (null? ft))\n           v)\n          (else (append `(,v) fd fn fy ft)))))))\n\n(define sort-D\n  (lambda (D)\n    (sorter\n     (map sort-d D))))\n\n(define sort-d\n  (lambda (d)\n    (list-sort\n       (lambda (x y)\n         (lex<=? (car x) (car y)))\n       (map sort-pr d))))\n\n(define drop-dot-D\n  (lambda (D)\n    (map drop-dot D)))\n\n(define lex<-reified-name?\n  (lambda (r)\n    (char<?\n     (string-ref\n      (datum->string r) 0)\n     #\\_)))\n\n(define sort-pr\n  (lambda (pr)\n    (let ((l (lhs pr))\n          (r (rhs pr)))\n      (cond\n        ((lex<-reified-name? r) pr)\n        ((lex<=? r l) `(,r . ,l))\n        (else pr)))))\n\n(define rem-subsumed\n  (lambda (D)\n    (let rem-subsumed ((D D) (d^* '()))\n      (cond\n        ((null? D) d^*)\n        ((or (subsumed? (car D) (cdr D))\n             (subsumed? (car D) d^*))\n         (rem-subsumed (cdr D) d^*))\n        (else (rem-subsumed (cdr D)\n                (cons (car D) d^*)))))))\n\n(define subsumed?\n  (lambda (d d*)\n    (cond\n      ((null? d*) #f)\n      (else\n        (let-values (((S ignore) (unify* d (subst empty-subst-map nonlocal-scope))))\n          (let-values (((S+ added) (unify* (car d*) S)))\n            (or\n              (and S+ (null? added))\n              (subsumed? d (cdr d*)))))))))\n\n\n\n(define rem-xx-from-d\n  (lambdar@ (c : S D Y N T)\n    (let ((D (walk* D S)))\n      (remp not\n            (map (lambda (d)\n                   (let-values (((S0 ignore) (unify* d S)))\n                     (cond\n                       ((not S0) #f)\n                       ((==fail-check S0 '() Y N T) #f)\n                       (else\n                         (let-values (((S added) (unify* d (subst empty-subst-map nonlocal-scope))))\n                           added)))))\n                 D)))))\n\n(define rem-subsumed-T\n  (lambda (T)\n    (let rem-subsumed ((T T) (T^ '()))\n      (cond\n        ((null? T) T^)\n        (else\n         (let ((lit (lhs (car T)))\n               (big (rhs (car T))))\n           (cond\n             ((or (subsumed-T? lit big (cdr T))\n                  (subsumed-T? lit big T^))\n              (rem-subsumed (cdr T) T^))\n             (else (rem-subsumed (cdr T)\n                     (cons (car T) T^))))))))))\n\n(define subsumed-T?\n  (lambda (lit big T)\n    (cond\n      ((null? T) #f)\n      (else\n       (let ((lit^ (lhs (car T)))\n             (big^ (rhs (car T))))\n         (or\n           (and (eq? big big^) (member* lit^ lit))\n           (subsumed-T? lit big (cdr T))))))))\n\n(define LOF\n  (lambda ()\n    `(,drop-N-b/c-const ,drop-Y-b/c-const ,drop-Y-b/c-dup-var\n      ,drop-N-b/c-dup-var ,drop-D-b/c-Y-or-N ,drop-T-b/c-Y-and-N\n      ,move-T-to-D-b/c-t2-atom ,split-t-move-to-d-b/c-pair\n      ,drop-from-D-b/c-T ,drop-t-b/c-t2-occurs-t1)))\n\n"
  },
  {
    "path": "attic/pharos/mysql2sqlite/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 esperlu, 2016 dumblob\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"
  },
  {
    "path": "attic/pharos/mysql2sqlite/mysql2sqlite",
    "content": "#!/usr/bin/awk -f\n\n# Authors: @esperlu, @artemyk, @gkuenning, @dumblob\n\n# FIXME detect empty input file and issue a warning\n\nfunction printerr( s ){ print s | \"cat >&2\" }\n\nBEGIN {\n  if( ARGC != 2 ){\n    printerr( \\\n      \"USAGE: mysql2sqlite dump_mysql.sql > dump_sqlite3.sql\\n\" \\\n      \"       file name - (dash) is not supported, because - means stdin\")\n    no_END = 1\n    exit 1\n  }\n\n  # Find INT_MAX supported by both this AWK (usually an ISO C signed int)\n  #   and SQlite.\n  # On non-8bit-based architectures, the additional bits are safely ignored.\n\n  # 8bit (lower precision should not exist)\n  s=\"127\"\n  # \"63\" + 0 avoids potential parser misbehavior\n  if( (s + 0) \"\" == s ){ INT_MAX_HALF = \"63\" + 0 }\n  # 16bit\n  s=\"32767\"\n  if( (s + 0) \"\" == s ){ INT_MAX_HALF = \"16383\" + 0 }\n  # 32bit\n  s=\"2147483647\"\n  if( (s + 0) \"\" == s ){ INT_MAX_HALF = \"1073741823\" + 0 }\n  # 64bit (as INTEGER in SQlite3)\n  s=\"9223372036854775807\"\n  if( (s + 0) \"\" == s ){ INT_MAX_HALF = \"4611686018427387904\" + 0 }\n#  # 128bit\n#  s=\"170141183460469231731687303715884105728\"\n#  if( (s + 0) \"\" == s ){ INT_MAX_HALF = \"85070591730234615865843651857942052864\" + 0 }\n#  # 256bit\n#  s=\"57896044618658097711785492504343953926634992332820282019728792003956564819968\"\n#  if( (s + 0) \"\" == s ){ INT_MAX_HALF = \"28948022309329048855892746252171976963317496166410141009864396001978282409984\" + 0 }\n#  # 512bit\n#  s=\"6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503042048\"\n#  if( (s + 0) \"\" == s ){ INT_MAX_HALF = \"3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024\" + 0 }\n#  # 1024bit\n#  s=\"89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608\"\n#  if( (s + 0) \"\" == s ){ INT_MAX_HALF = \"44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304\" + 0 }\n#  # higher precision probably not needed\n\n  FS=\",$\"\n  print \"PRAGMA synchronous = OFF;\"\n  print \"PRAGMA journal_mode = MEMORY;\"\n  print \"BEGIN TRANSACTION;\"\n}\n\n# historically 3 spaces separate non-argument local variables\nfunction bit_to_int( str_bit,   powtwo, i, res, bit, overflow ){\n  powtwo = 1\n  overflow = 0\n  # 011101 = 1*2^0 + 0*2^1 + 1*2^2 ...\n  for( i = length( str_bit ); i > 0; --i ){\n    bit = substr( str_bit, i, 1 )\n    if( overflow || ( bit == 1 && res > INT_MAX_HALF ) ){\n      printerr( \\\n        NR \": WARN Bit field overflow, number truncated (LSBs saved, MSBs ignored).\" )\n      break\n    }\n    res = res + bit * powtwo\n    # no warning here as it might be the last iteration\n    if( powtwo > INT_MAX_HALF ){ overflow = 1; continue }\n    powtwo = powtwo * 2\n  }\n  return res\n}\n\n# CREATE TRIGGER statements have funny commenting. Remember we are in trigger.\n/^\\/\\*.*(CREATE.*TRIGGER|create.*trigger)/ {\n  gsub( /^.*(TRIGGER|trigger)/, \"CREATE TRIGGER\" )\n  print\n  inTrigger = 1\n  next\n}\n# The end of CREATE TRIGGER has a stray comment terminator\n/(END|end) \\*\\/;;/ { gsub( /\\*\\//, \"\" ); print; inTrigger = 0; next }\n# The rest of triggers just get passed through\ninTrigger != 0 { print; next }\n\n# CREATE VIEW looks like a TABLE in comments\n/^\\/\\*.*(CREATE.*TABLE|create.*table)/ {\n  inView = 1\n  next\n}\n# end of CREATE VIEW\n/^(\\).*(ENGINE|engine).*\\*\\/;)/ {\n  inView = 0\n  next\n}\n# content of CREATE VIEW\ninView != 0 { next }\n\n# skip comments\n/^\\/\\*/ { next }\n\n# print all INSERT lines\n( /^ *\\(/ && /\\) *[,;] *$/ ) || /^(INSERT|insert)/ {\n  prev = \"\"\n\n  # first replace \\\\ by \\_ that mysqldump never generates to deal with\n  # sequnces like \\\\n that should be translated into \\n, not \\<LF>.\n  # After we convert all escapes we replace \\_ by backslashes.\n  gsub( /\\\\\\\\/, \"\\\\_\" )\n\n  # single quotes are escaped by another single quote\n  gsub( /\\\\'/, \"''\" )\n  gsub( /\\\\n/, \"\\n\" )\n  gsub( /\\\\r/, \"\\r\" )\n  gsub( /\\\\\"/, \"\\\"\" )\n  gsub( /\\\\\\032/, \"\\032\" )  # substitute char\n\n  gsub( /\\\\_/, \"\\\\\" )\n\n  # sqlite3 is limited to 16 significant digits of precision\n  while( match( $0, /0x[0-9a-fA-F]{17}/ ) ){\n    hexIssue = 1\n    sub( /0x[0-9a-fA-F]+/, substr( $0, RSTART, RLENGTH-1 ), $0 )\n  }\n  if( hexIssue ){\n    printerr( \\\n      NR \": WARN Hex number trimmed (length longer than 16 chars).\" )\n    hexIssue = 0\n  }\n  print\n  next\n}\n\n# CREATE DATABASE is not supported\n/^(CREATE.*DATABASE|create.*database)/ { next }\n\n# print the CREATE line as is and capture the table name\n/^(CREATE|create)/ {\n  if( $0 ~ /IF NOT EXISTS|if not exists/ || $0 ~ /TEMPORARY|temporary/ ){\n    caseIssue = 1\n    printerr( \\\n      NR \": WARN Potential case sensitivity issues with table/column naming\\n\" \\\n      \"          (see INFO at the end).\" )\n  }\n  if( match( $0, /`[^`]+/ ) ){\n    tableName = substr( $0, RSTART+1, RLENGTH-1 )\n  }\n  aInc = 0\n  prev = \"\"\n  firstInTable = 1\n  print\n  next\n}\n\n# Replace `FULLTEXT KEY` (probably other `XXXXX KEY`)\n/^  (FULLTEXT KEY|fulltext key)/ { gsub( /.+(KEY|key)/, \"  KEY\" ) }\n\n# Get rid of field lengths in KEY lines\n/ (PRIMARY |primary )?(KEY|key)/ { gsub( /\\([0-9]+\\)/, \"\" ) }\n\naInc == 1 && /PRIMARY KEY|primary key/ { next }\n\n# Replace COLLATE xxx_xxxx_xx statements with COLLATE BINARY\n/ (COLLATE|collate) [a-z0-9_]*/ { gsub( /(COLLATE|collate) [a-z0-9_]*/, \"COLLATE BINARY\" ) }\n\n# Print all fields definition lines except the `KEY` lines.\n/^  / && !/^(  (KEY|key)|\\);)/ {\n  if( match( $0, /[^\"`]AUTO_INCREMENT|auto_increment[^\"`]/) ){\n    aInc = 1\n    gsub( /AUTO_INCREMENT|auto_increment/, \"PRIMARY KEY AUTOINCREMENT\" )\n  }\n  gsub( /(UNIQUE KEY|unique key) (`.*`|\".*\") /, \"UNIQUE \" )\n  gsub( /(CHARACTER SET|character set) [^ ]+[ ,]/, \"\" )\n  # FIXME\n  #   CREATE TRIGGER [UpdateLastTime]\n  #   AFTER UPDATE\n  #   ON Package\n  #   FOR EACH ROW\n  #   BEGIN\n  #   UPDATE Package SET LastUpdate = CURRENT_TIMESTAMP WHERE ActionId = old.ActionId;\n  #   END\n  gsub( /ON UPDATE CURRENT_TIMESTAMP|on update current_timestamp/, \"\" )\n  gsub( /(COLLATE|collate) [^ ]+ /, \"\" )\n  gsub( /(ENUM|enum)[^)]+\\)/, \"text \" )\n  gsub( /(SET|set)\\([^)]+\\)/, \"text \" )\n  gsub( /UNSIGNED|unsigned/, \"\" )\n  gsub( /` [^ ]*(INT|int|BIT|bit)[^ ]*/, \"` integer\" )\n  gsub( /\" [^ ]*(INT|int|BIT|bit)[^ ]*/, \"\\\" integer\" )\n  ere_bit_field = \"[bB]'[10]+'\"\n  if( match($0, ere_bit_field) ){\n    sub( ere_bit_field, bit_to_int( substr( $0, RSTART +2, RLENGTH -2 -1 ) ) )\n  }\n  # field comments are not supported\n  gsub( / (COMMENT|comment).+$/, \"\" )\n  # Get commas off end of line\n  gsub( /,.?$/, \"\" )\n  if( prev ){\n    if( firstInTable ){\n      print prev\n      firstInTable = 0\n    }\n    else {\n      print \",\" prev\n    }\n  }\n  else {\n    # FIXME check if this is correct in all cases\n    if( match( $1,\n        /(CONSTRAINT|constraint) \\\".*\\\" (FOREIGN KEY|foreign key)/ ) ){\n      print \",\"\n    }\n  }\n  prev = $1\n}\n\n/ ENGINE| engine/ {\n  if( prev ){\n    if( firstInTable ){\n      print prev\n      firstInTable = 0\n    }\n    else {\n      print \",\" prev\n    }\n  }\n  prev=\"\"\n  print \");\"\n  next\n}\n# `KEY` lines are extracted from the `CREATE` block and stored in array for later print\n# in a separate `CREATE KEY` command. The index name is prefixed by the table name to\n# avoid a sqlite error for duplicate index name.\n/^(  (KEY|key)|\\);)/ {\n  if( prev ){\n    if( firstInTable ){\n      print prev\n      firstInTable = 0\n    }\n    else {\n      print \",\" prev\n    }\n  }\n  prev = \"\"\n  if( $0 == \");\" ){\n    print\n  }\n  else {\n    if( match( $0, /`[^`]+/ ) ){\n      indexName = substr( $0, RSTART+1, RLENGTH-1 )\n    }\n    if( match( $0, /\\([^()]+/ ) ){\n      indexKey = substr( $0, RSTART+1, RLENGTH-1 )\n    }\n    # idx_ prefix to avoid name clashes (they really happen!)\n    key[tableName] = key[tableName] \"CREATE INDEX \\\"idx_\" \\\n       tableName \"_\" indexName \"\\\" ON \\\"\" tableName \"\\\" (\" indexKey \");\\n\"\n  }\n}\n\nEND {\n  if( no_END ){ exit 1}\n  # print all KEY creation lines.\n  for( table in key ){ printf key[table] }\n\n  print \"END TRANSACTION;\"\n\n  if( caseIssue ){\n    printerr( \\\n      \"INFO Pure sqlite identifiers are case insensitive (even if quoted\\n\" \\\n      \"     or if ASCII) and doesnt cross-check TABLE and TEMPORARY TABLE\\n\" \\\n      \"     identifiers. Thus expect errors like \\\"table T has no column named F\\\".\")\n  }\n}\n"
  },
  {
    "path": "attic/pharos/mysql2sqlite/mysql2sqlite.README",
    "content": "# mysql2sqlite\n\nConverts MySQL dump to SQLite3 compatible dump (including MySQL `KEY xxxxx` statements from the `CREATE` block).\n\n## Usage\n\n1. Dump MySQL DB\n\n    ~~~~\n    mysqldump --skip-extended-insert --compact [options]... DB_name > dump_mysql.sql\n    # or\n    #mysqldump --no-data -u root -pmyPassword [options]... DB_name > dump_mysql.sql\n    ~~~~\n\n1. Convert the dump to SQLite3 DB\n\n    ~~~~\n    ./mysql2sqlite dump_mysql.sql | sqlite3 mysqlite3.db\n    ~~~~\n\n## Development\n\nThe script is written in *awk* (tested with gawk, but should work with original awk, and the lightning fast mawk) and shall be fully POSIX compliant.\n\nIt's originally based on the newest fork (https://gist.github.com/bign8/9055981/05e65fd90c469c5eaa730823910c0c5f9de40ab4) of the original `mysql2sqlite.sh` (https://gist.github.com/esperlu/943776/be469f0a0ab8962350f3c5ebe8459218b915f817) with the following patches:\n\n* fix the non-standard `COMMENT` field statement removal\n* ignore `CREATE DATABASE` statements (`USE` statements were already ignored)\n* add support for multiple-record `INSERT INTO VALUES`\n* revise support for lower-case SQL statements\n* fix `AUTO_INCREMENT` handling\n* trim hexadecimal values longer than 16 characters and issue a warning about it\n* add identifier case sensitivity warning in case `IF NOT EXISTS` or `TEMPORARY` has been detected (on unix sqlite3 treats temporary table name `FILES` the same as `files`; in other words, sqlite3 doesn't issue any warning about cross-collisions between `TABLE` and `TEMPORARY TABLE` identifiers)\n* replace `COLLATE xxx_xxxx_xx` statements with `COLLATE BINARY` (https://gist.github.com/4levels/0d5da65bf9d70479fbe3/d0ac3d295dc5e2f72411ad06c07a22931368a1b7)\n* handle `CONSTRAINT FOREIGN KEY` (https://gist.github.com/BastienDurel/7f413d13d7b858aef31c/922be110d011b9da340ae545372214b597ad7b84)\n\nFeel free to **contribute** (preferably by issuing a pull request)!\n\n## License\n\nMIT\n\n## History\n\n* @esperlu created initial version in 2011 as gist on GitHub\n* many different contributors forked the gist and made wildly varying changes, because @esperlu stopped working on it and didn't respond\n* @dumblob took over in Aug 2015 and applied the most important patches from all the forks as well as many his own patches tested on Drupal DB\n* @dumblob added the MIT license under assumption, that the original gist was released into public domain, because despite significant changes, it wasn't clean room engineering.\n* 2016-05-11 17:32 UTC+2 [@esperlu declared](https://github.com/dumblob/mysql2sqlite/issues/2 ) MIT as a fitting license (also retrospectively) and the [original gist](https://gist.github.com/esperlu/943776 ) as deprecated.\n"
  },
  {
    "path": "attic/pharos/mysql2sqlite/unit_tests.sh",
    "content": "#/bin/sh\n\nM2S=./mysql2sqlite\nS=sqlite3\n\ntype \"$S\" >/dev/null 2>&1 || {\n  printf 'ERR command \"%s\" not available\\n' \"$S\" >&2\n  exit 1\n}\n\n[ -r \"$M2S\" ] || {\n  printf 'ERR file \"%s\" not found\\n' \"$M2S\" >&2\n  exit 1\n}\n\n# FIXME\nprintf 'ERR Unit testing not yet fully implemented\\n' >&2\nexit 1\n\n# Hex numbers with 15, 16, and 17 characters\n\ncat <<\\SQL\nINSERT INTO `cache` (`cid`, `data`, `expire`, `created`, `headers`, `serialized`) VALUES\n('ctools_plugin_files:ctools:style_bases', 0x613a313a7b733a3, 0, 1440573529, '', 1),\n('ctools_plugin_files:ctools:content_types', 0xa343a226e6f64652, 0, 1440573529, '', 1);\nINSERT INTO `cache` (`cid`, `data`, `expire`, `created`, `headers`, `serialized`) VALUES\n('theme_registry:my_theme', 0x613a3234353a7b733, 0, 1440572933, '', 1);\nSQL\n\n# WARN Potential case sensitivity issues... for each line\n\n# Bit Fields\n\ncat <<\\SQL\nCREATE TABLE \"bit_type\" (\n  \"a\" int(10) unsigned NOT NULL AUTO_INCREMENT,\n  \"b\" bit(1) NOT NULL DEFAULT b'1',\n  \"c\" bit(8) NOT NULL DEFAULT B'11111111',\n  \"d\" BIT(4) NOT NULL DEFAULT b'1010',\n  \"e\" BIT(4) NOT NULL DEFAULT B'00111111110000111',\n  \"f\" int(10) unsigned NOT NULL AUTO_INCREMENT,\n);\nSQL\n\n# big bit field num\n# big bit field num with overflow\n# big bit field num with potential overflow, but zeros\n\ncat <<\\SQL\nCREATE TABLE \"map\" (\n  \"ID\" int(10) NOT NULL,\n  \"f\" int(11) NOT NULL,\n  \"direct\" bit(1) NOT NULL DEFAULT 1,\n  \"t\" int(11) NOT NULL\n);\ninsert into \"map\" (\"ID\", \"f\", \"t\") values (5, 6, 7);\ninsert into \"map\" (\"ID\", \"f\", \"direct\", \"t\") values (55, 66, 99, 77);\nSQL\n\ncat <<\\SQL\nCREATE TABLE \"map\" (\n  \"ID\" int(10) NOT NULL,\n  \"f\" int(11) NOT NULL,\n  \"direct\" bit(1) NOT NULL DEFAULT 199,\n  \"t\" int(11) NOT NULL\n);\ninsert into \"map\" (\"ID\", \"f\", \"t\") values (5, 6, 7);\ninsert into \"map\" (\"ID\", \"f\", \"direct\", \"t\") values (55, 66, 99, 77);\nSQL\n\ncat <<\\SQL\nDROP TABLE IF EXISTS `AAAA`;\n/*!40101 SET @saved_cs_client     = @@character_set_client */;\n/*!40101 SET character_set_client = utf8 */;\nCREATE TABLE `AAAA` (\n  `id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT 'PK.',\n  `llll` varchar(10) NOT NULL COMMENT 'Some Comment',\n  `rrrr` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created date',\n  `ssss` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'Modified Date. Some Comment',\n  `tttt` varchar(1) DEFAULT 'A' COMMENT 'Some Comment',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `aaaa_pk` (`id`) COMMENT 'PK Index',\n  KEY `bbbb_fk` (`bbbb`) COMMENT 'Index for FK, Reference Category',\n  CONSTRAINT `bbbb_fk` FOREIGN KEY (`bbbb`) REFERENCES `category` (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n/*!40101 SET character_set_client = @saved_cs_client */;\n\n--\n-- Dumping data for table `AAAA`\n--\n\nLOCK TABLES `AAAA` WRITE;\n/*!40000 ALTER TABLE `AAAA` DISABLE KEYS */;\n/*!40000 ALTER TABLE `AAAA` ENABLE KEYS */;\nUNLOCK TABLES;\nSQL\n\ncat <<\\SQL\nSQL\n"
  },
  {
    "path": "attic/pharos/pharos-mysql-to-sqlite3-to-db",
    "content": "#!/bin/bash\nset -eufo pipefail\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\nmysql_dump=\"$1\"\n\nmkdir -p \"$here/data\"\nsqlite_dump=\"$here/data/pharos-sqlite3.sql\"\nsqlite_db=\"$here/data/pharos-sqlite3.db\"\n\n\"$here/mysql2sqlite/mysql2sqlite\" \"$mysql_dump\" > \"$sqlite_dump\"\n\nsqlite3 \"$sqlite_db\" < \"$sqlite_dump\"\n\nrm \"$sqlite_dump\"\n"
  },
  {
    "path": "attic/pharos/read.rkt",
    "content": "#lang racket/base\n(provide\n  read-all\n  read-all/stream\n  read-all-from-file\n  )\n\n(require\n  racket/stream\n  )\n\n(define (read-all in)\n  (define datum (read in))\n  (if (eof-object? datum) '() (cons datum (read-all in))))\n\n(define (read-all/stream in)\n  (define datum (read in))\n  (if (eof-object? datum) '() (stream-cons datum (read-all/stream in))))\n\n(define (read-all-from-file path)\n  (call-with-input-file (expand-user-path path) read-all))\n"
  },
  {
    "path": "attic/pharos/repr.rkt",
    "content": "#lang racket\n(provide\n  integer->repr\n  repr->integer\n  decimal->repr\n  repr->decimal\n  string->repr\n  repr->string\n  data->repr\n  repr->data\n  write-repr\n\n  detail-find\n  detail-next\n  detail-write\n  )\n\n(define (integer->repr i) i)\n(define (repr->integer i) i)\n(define (decimal->repr d) d)\n(define (repr->decimal d) d)\n(define (string->repr str) str)\n(define (repr->string str) str)\n(define (data->repr d) (list->vector d))\n(define (repr->data v) (vector->list v))\n(define (write-repr repr out) (fprintf out \"~s\\n\" repr))\n\n;(define (integer->enc i) (integer->integer-bytes (or i 0) 4 #t #f))\n;(define (enc->integer bs) (integer-bytes->integer bs #t #f 0 4))\n;(define (decimal->enc d) (real->floating-point-bytes (or d 0.0) 4 #f))\n;(define (enc->decimal bs) (floating-point-bytes->real bs #f 0 4))\n;(define (string->enc str)\n  ;(define bs (string->bytes/utf-8 str))\n  ;(bytes-append (integer->integer-bytes (bytes-length bs) 2 #f #f) bs))\n;(define (enc->string bs)\n  ;(define len (integer-bytes->integer bs #f #f 0 2))\n  ;(bytes->string/utf-8 bs #f 2 (+ 2 len)))\n;(define (data->enc d) (bytes-append* d))\n;(define (enc->data bs) bs)\n;(define (write-repr repr out) (write-bytes repr out))\n\n(define offset-size 8)\n(define (offset->repr o) (integer->integer-bytes o offset-size #f #f))\n(define (offset-write out offset) (write-bytes (offset->repr offset) out))\n(define (offset-count in)\n  (file-position in eof)\n  (/ (file-position in) offset-size))\n(define (offset-ref in n)\n  (file-position in (* n offset-size))\n  (integer-bytes->integer (read-bytes offset-size in) #f #f 0 offset-size))\n\n(define (detail-write detail-out offset-out detail)\n  (offset-write offset-out (file-position detail-out))\n  (write-repr detail detail-out))\n(define (detail-ref detail-in offset-in n)\n  (file-position detail-in (offset-ref offset-in n))\n  (read detail-in))\n(define (detail-next detail-in) (read detail-in))\n\n(define (detail-find detail-in offset-in compare)\n  (let loop ((start 0) (end (offset-count offset-in)) (best #f))\n    (cond ((< start end)\n           (define n (+ start (quotient (- end start) 2)))\n           (define detail (detail-ref detail-in offset-in n))\n           (case (compare detail)\n             ((-1) (loop (+ 1 n) end best))\n             ((0) (loop start n n))\n             ((1) (loop start n best))))\n          (best (detail-ref detail-in offset-in best))\n          (else eof))))\n"
  },
  {
    "path": "attic/pharos/sql-schema-parse.rkt",
    "content": "#lang racket/base\n(require\n  \"mk.rkt\"\n  \"mk-parse.rkt\"\n  )\n\n;; Parse SQL schema\n(define delimiters '(\",\" \")\") )\n(define delimiter (one-of delimiters))\n\n(define (sq name) (seq \"\\'\" (single name) \"\\'\"))\n(define (dq name) (seq \"\\\"\" (single name) \"\\\"\"))\n(define (bq name) (seq \"`\" (single name) \"`\"))\n\n(define (paren p items)\n  (define (comma-prefixed item) (seq \",\" (p item)))\n  (fresh/p (first rest)\n    (== `(,first . ,rest) items)\n    (seq \"(\" (p first) ((many* comma-prefixed) rest) \")\")))\n\n(define (field-type type)\n  (or/p ((remember1 (one-of '(\"integer\" \"text\" \"timestamp\" \"date\"))) type)\n        (fresh/p (m n)\n          (== \"decimal\" type)\n          (seq \"decimal\" \"(\" (single m) \",\" (single n) \")\"))\n        (fresh/p (_)\n          (== \"text\" type)\n          (seq \"varchar\" \"(\" (single _) \")\"))\n        (fresh/p (_)\n          (== \"text\" type)\n          (seq \"char\" \"(\" (single _) \")\"))))\n\n(define (field/primary-key name type)\n  (seq (bq name) (field-type type)\n       (skip*-until (append '(\"PRIMARY\") delimiters))\n       \"PRIMARY\" \"KEY\" (skip*-until delimiters)))\n\n(define (field/non-primary-key name type)\n  (seq (bq name) (field-type type)\n       (skip* (none-of (append '(\"PRIMARY\" \"KEY\") delimiters)))\n       (peek delimiter)))\n\n(define (primary-key names)\n  (seq \"PRIMARY\" \"KEY\" (paren bq names) (peek delimiter)))\n\n(define (unique names) (seq \"UNIQUE\" (paren bq names) (peek delimiter)))\n\n(define (foreign-key fk-name local-names table foreign-names)\n  (seq \"CONSTRAINT\" (bq fk-name) \"FOREIGN\" \"KEY\" (paren bq local-names)\n       \"REFERENCES\" (bq table) (paren bq foreign-names)\n       (skip*-until delimiters)))\n\n(define (create-table table-name body*)\n  (define (field-or-cx datum)\n    (or/p (fresh/p (name type)\n            (== `(field primary-key ,name ,type) datum)\n            (field/primary-key name type))\n          (fresh/p (name type)\n            (== `(field #f ,name ,type) datum)\n            (field/non-primary-key name type))\n          (fresh/p (names)\n            (== `(primary-key ,names) datum)\n            (primary-key names))\n          (fresh/p (names)\n            (== `(unique ,names) datum)\n            (unique names))\n          (fresh/p (fk-name locals table foreigns)\n            (== `(foreign-key ,fk-name ,locals ,table ,foreigns) datum)\n            (foreign-key fk-name locals table foreigns))))\n  (seq \"CREATE\" \"TABLE\" (bq table-name) (paren field-or-cx body*) \";\"))\n\n(define (create-index index-name table-name field-names)\n  (seq \"CREATE\" \"INDEX\" (dq index-name) \"ON\"\n       (dq table-name) (paren bq field-names) \";\"))\n\n(define (schema body*)\n  (define (table-or-index datum)\n    (or/p (fresh/p (name tbody)\n            (== `(table ,name ,tbody) datum)\n            (create-table name tbody))\n          (fresh/p (name tname fnames)\n            (== `(index ,name ,tname ,fnames) datum)\n            (create-index name tname fnames))))\n  (seq ((many* table-or-index) body*) end))\n\n(define (entries->schema entry*)\n  (define (entry->table entry)\n    (define name (cadr entry))\n    (let loop ((field* '()) (unique* '()) (foreign* '()) (attr* (caddr entry)))\n      (if (null? attr*)\n        `(,name (field . ,(reverse field*))\n                (unique . ,(reverse unique*))\n                (foreign . ,(reverse foreign*)))\n        (let* ((attr (car attr*)) (tag (car attr)) (attr* (cdr attr*)))\n          (cond ((eqv? 'field tag)\n                 (define primary? (cadr attr))\n                 (define name (caddr attr))\n                 (define type (cadddr attr))\n                 (define field `(,name ,type))\n                 (loop (cons field field*)\n                       (if primary? (cons (list name) unique*) unique*)\n                       foreign* attr*))\n                ((or (eqv? 'unique tag) (eqv? 'primary-key tag))\n                 (define names (cadr attr))\n                 (loop field* (cons names unique*) foreign* attr*))\n                ((eqv? 'foreign-key tag)\n                 (define name (cadr attr))\n                 (define local (caddr attr))\n                 (define table (cadddr attr))\n                 (define remote (cadddr (cdr attr)))\n                 (define foreign `(,name ,local ,table ,remote))\n                 (loop field* unique* (cons foreign foreign*) attr*))\n                (else (error \"invalid attribute:\" attr)))))))\n  (define (entry->index entry)\n    (define name (cadr entry))\n    (define table (caddr entry))\n    (define fields (cadddr entry))\n    `(,name ,table ,fields))\n  (let loop ((table* '()) (index* '()) (entry* entry*))\n    (if (null? entry*) `((tables . ,(reverse table*))\n                         (indexes . ,(reverse index*)))\n      (let ((entry (car entry*)) (entry* (cdr entry*)))\n        (cond ((eqv? 'table (car entry))\n               (loop (cons (entry->table entry) table*) index* entry*))\n              ((eqv? 'index (car entry))\n               (loop table* (cons (entry->index entry) index*) entry*))\n              (else (error \"invalid schema entry:\" entry)))))))\n\n(define (tokens->entries tokens)\n  (define results (run* (body*) ((schema body*) tokens '())))\n  (when (= 0 (length results)) (error \"failed to parse\"))\n  (when (< 1 (length results))\n    (error \"ambiguous parse: count=\" (length results)))\n  (car results))\n\n(write (entries->schema (tokens->entries (read))))\n"
  },
  {
    "path": "attic/pharos/sql-tokenize.rkt",
    "content": "#lang racket/base\n(require\n  \"mk.rkt\"\n  \"mk-parse.rkt\"\n  racket/port\n  )\n\n;; Tokenization\n(define chars-ws '(#\\space #\\tab #\\newline #\\return #\\vtab #\\page))\n(define chars-hws '(#\\space #\\tab))\n\n(define chars-quote '(#\\' #\\\" #\\`))\n(define chars-bracket '(#\\( #\\) #\\[ #\\] #\\{ #\\}))\n(define chars-separator '(#\\, #\\; #\\: #\\.))\n(define chars-symbolic (append chars-quote chars-bracket chars-separator))\n\n(define skip-ws (skip*-while chars-ws))\n(define skip-hws (skip*-while chars-hws))\n\n(define (token* ts)\n  (define chars-ws&symbolic (append chars-symbolic chars-ws))\n  (define (token t)\n    (seq skip-ws\n         (or/p (fresh/p (c)\n                 (== (list c) t)\n                 ((remember1 (one-of chars-symbolic)) c))\n               ((many+-until chars-ws&symbolic) t))))\n  (seq ((many* token) ts) skip-ws end))\n\n(define (tokenize str)\n  (define results (run* (ts) ((token* ts) (string->list str) '())))\n  (when (= 0 (length results)) (error \"failed to tokenize\"))\n  (when (< 1 (length results))\n    (error \"ambiguous tokenization: count=\" (length results)))\n  (map list->string (car results)))\n\n(write (tokenize (port->string)))\n\n;; First attempt at token*, factoring out split-ws*.  It's a lot more involved.\n;(define (split-ws* blocks)\n  ;(define (non-ws* block)\n    ;(seq skip-ws\n         ;((many+ (remember1 (none-of chars-ws))) block)\n         ;(or/p end (peek (one-of chars-ws)))))\n  ;(seq ((many* non-ws*) blocks) skip-ws end))\n\n;(define (split-symbolic* bs)\n  ;(define (block s)\n    ;(or/p (lambda (in out)\n            ;(fresh (c)\n              ;(== (list c) s)\n              ;(((remember1 (one-of chars-symbolic)) c) in out)))\n          ;((many+-until chars-symbolic) s)))\n  ;(seq ((many* block) bs) end))\n\n;(define (appendo l s ls)\n  ;(conde\n    ;((== '() l) (== s ls))\n    ;((fresh (a d ms)\n       ;(== `(,a . ,d) l)\n       ;(== `(,a . ,ms) ls)\n       ;(appendo d s ms)))))\n\n;(define (flatteno xss flattened)\n  ;(conde\n    ;((== '() xss) (== '() flattened))\n    ;((fresh (xs yss yflattened)\n       ;(== `(,xs . ,yss) xss)\n       ;(flatteno yss yflattened)\n       ;(appendo xs yflattened flattened)))))\n\n;(define (mapo R xs zs)\n  ;(conde\n    ;((== '() xs) (== '() zs))\n    ;((fresh (a d y ys)\n       ;(== `(,a . ,d) xs)\n       ;(== `(,y . ,ys) zs)\n       ;(R a y)\n       ;(mapo R d ys)))))\n\n;(define (token* ts)\n  ;(define (parse in bs) ((split-symbolic* bs) in '()))\n  ;(lambda (in out)\n    ;(fresh (bs tss)\n      ;((split-ws* bs) in out)\n      ;(mapo parse bs tss)\n      ;(flatteno tss ts))))\n"
  },
  {
    "path": "attic/pharos/sqlite-to-db.rkt",
    "content": "#lang racket/base\n(require\n  \"csv.rkt\"\n  \"repr.rkt\"\n  racket/file\n  racket/list\n  racket/set\n  racket/string\n  racket/system\n  )\n\n(define set-empty (set))\n(define hash-empty (hash))\n\n(define (subsumed? rs s) (ormap (lambda (r) (subset? r s)) rs))\n(define (unique-add/subsume unique uniques)\n  (define us (set->list uniques))\n  (if (subsumed? us unique) uniques\n    (set-add (list->set (filter (lambda (u) (not (subset? unique u))) us))\n             unique)))\n\n(define (schema-table->table t)\n  (define name (car t))\n  (define fields (cdr (assoc 'field (cdr t))))\n  (define foreigns (map cdr (cdr (assoc 'foreign (cdr t)))))\n  (define raw-uniques (map list->set (cdr (assoc 'unique (cdr t)))))\n  (define uniques (list->set (foldl unique-add/subsume '() raw-uniques)))\n  (table-new name fields foreigns uniques set-empty))\n\n(define (table-new name fields foreigns uniques sortings)\n  `(,name ,fields ,foreigns ,uniques ,sortings))\n(define (table-name t) (car t))\n(define (table-fields t) (cadr t))\n(define (table-foreigns t) (caddr t))\n(define (table-uniques t) (cadddr t))\n(define (table-sortings t) (cadddr (cdr t)))\n(define (table-uniques-add t unique)\n  (if (set-member? (table-uniques t) unique) t\n    (table-new (table-name t) (table-fields t) (table-foreigns t)\n               (unique-add/subsume unique (table-uniques t))\n               (set-remove (table-sortings t) unique))))\n(define (table-sortings-add t sorting)\n  (if (or (set-member? (table-sortings t) sorting)\n          (set-member? (table-uniques t) (list->set sorting))) t\n    (table-new (table-name t) (table-fields t) (table-foreigns t)\n               (table-uniques t) (set-add (table-sortings t) sorting))))\n\n(define (schema->tables schema)\n  (define tables (cdr (assoc 'tables schema)))\n  (define indexes (cdr (assoc 'indexes schema)))\n  (define name=>table\n    (foldl (lambda (s name=>table)\n             (define t (schema-table->table s))\n             (hash-set name=>table (table-name t) t))\n           hash-empty tables))\n  (foldl (lambda (index name=>table)\n           (define tname (cadr index))\n           (define tfields (caddr index))\n           (define table (hash-ref name=>table tname))\n           (hash-set name=>table tname (table-sortings-add table tfields)))\n         name=>table indexes))\n\n(define (table->dump* t)\n  (define field-names (map car (table-fields t)))\n  (define (select ordering)\n    (string-join (list \"SELECT\" (string-join field-names \",\")\n                       \"FROM\" (table-name t)\n                       ordering) \" \"))\n  (define (sorting->ordering sorting)\n    (string-append\n      \"ORDER BY \"\n      (string-join (map (lambda (col) (string-join (list col \"ASC\") \" \"))\n                        sorting)\n                   \", \")))\n  (define sortings (append (map set->list (set->list (table-uniques t)))\n                           (set->list (table-sortings t))))\n  (define orderings (map sorting->ordering sortings))\n  (map list\n       (if (null? sortings) (list #f) sortings)\n       (map select (if (null? orderings) (list \"\") orderings))))\n\n(define (string->datum type str)\n  (cond ((string=? \"integer\" type) (integer->repr (string->number str)))\n        ((string=? \"decimal\" type) (decimal->repr (string->number str)))\n        ;; \"text\" \"timestamp\" \"date\"\n        (else (string->repr str))))\n\n(define (csv->scm table-name field-types detail-out offset-out)\n  (lambda (in)\n    (define (record->datum record)\n      (when (not (= (length field-types) (length record)))\n        (printf \"~s\\n\" `(record->datum\n                          ,table-name ,(length field-types) ,(length record)\n                          ,field-types ,record)))\n      (data->repr (map string->datum field-types record)))\n    (define (yield-record! record)\n      (detail-write detail-out offset-out (record->datum record)))\n    ((csv-records yield-record!) in)\n    (flush-output detail-out)\n    (flush-output offset-out)))\n\n(define (run-sql consume sql)\n  (define proc\n    (process\n      (string-append\n        \"sqlite3 -bail -csv \" (path->string sqlite-db-path) \" '\" sql \"'\")))\n  (define pout (car proc))\n  (define pin (cadr proc))\n  (define perr (cadddr proc))\n  (close-output-port pin)\n  (consume pout)\n  (close-input-port pout)\n  (close-input-port perr))\n\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(SCHEMA_FILE DATA_DIR))\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error (format \"cmd-line-args expected ~s; given ~s\" argv-expected argv)))\n\n(define schema-path (expand-user-path (vector-ref argv 0)))\n(define data-dir (expand-user-path (vector-ref argv 1)))\n(define sqlite-db-path (build-path data-dir \"pharos-sqlite3.db\"))\n(define db-dir (build-path data-dir \"db\"))\n(define tables-dir (build-path db-dir \"tables\"))\n\n(define name=>table-info\n  (make-immutable-hash\n    (map (lambda (t) (cons (table-name t) (list t (table->dump* t))))\n         (hash-values\n           (schema->tables (call-with-input-file schema-path read))))))\n\n(for (((name tinfo) (in-hash name=>table-info)))\n     (define t (car tinfo))\n     (define field-types (map cadr (table-fields t)))\n     (define indexes (cadr tinfo))\n     (define tpath (build-path tables-dir name))\n     (define cpath (build-path tpath \"columns.scm\"))\n     (define ipath (build-path tpath \"indexes.scm\"))\n     (define fkpath (build-path tpath \"foreign-keys.scm\"))\n     (make-directory* (expand-user-path tpath))\n     (call-with-output-file cpath (lambda (out) (write (table-fields t) out)))\n     (call-with-output-file\n       ipath (lambda (out) (write (map car indexes) out)))\n     (call-with-output-file\n       fkpath (lambda (out) (write (table-foreigns t) out)))\n     (for ((ix indexes) (i (range (length indexes))))\n          (define sorting-dir (build-path tpath (number->string i)))\n          (define detail-path (build-path sorting-dir \"detail.scm\"))\n          (define offset-path (build-path sorting-dir \"offset.bin\"))\n          (make-directory* (expand-user-path sorting-dir))\n          (call-with-output-file\n            detail-path\n            (lambda (detail-out)\n              (call-with-output-file\n                offset-path\n                (lambda (offset-out)\n                  (run-sql (csv->scm name field-types detail-out offset-out)\n                           (cadr ix))))))))\n"
  },
  {
    "path": "attic/yaml/biolink-model.scm",
    "content": "(define biolink-model\n'(\n  (\n    \"id\"\n    . \"https://w3id.org/biolink/biolink-model\"\n  )\n  (\n    \"name\"\n    . \"biolink_model\"\n  )\n  (\n    \"description\"\n    . \"Entity and association taxonomy and datamodel for life-sciences data\"\n  )\n  (\n    \"license\"\n    . \"https://creativecommons.org/publicdomain/zero/1.0/\"\n  )\n  (\n    \"prefixes\"\n      (\n        \"biolink\"\n        . \"https://w3id.org/biolink/vocab/\"\n      )\n      (\n        \"biolinkml\"\n        . \"https://w3id.org/biolink/biolinkml/\"\n      )\n      (\n        \"OBAN\"\n        . \"http://purl.org/oban/\"\n      )\n      (\n        \"SIO\"\n        . \"http://semanticscience.org/resource/SIO_\"\n      )\n      (\n        \"wgs\"\n        . \"http://www.w3.org/2003/01/geo/wgs84_pos\"\n      )\n      (\n        \"UMLSSG\"\n        . \"https://uts-ws.nlm.nih.gov/rest/semantic-network/semantic-network/current/GROUP/\"\n      )\n      (\n        \"UMLSST\"\n        . \"https://uts-ws.nlm.nih.gov/rest/semantic-network/semantic-network/current/STY/\"\n      )\n      (\n        \"UMLSSC\"\n        . \"https://uts-ws.nlm.nih.gov/rest/semantic-network/semantic-network/current/TUI/\"\n      )\n  )\n  (\n    \"default_prefix\"\n    . \"biolink\"\n  )\n  (\n    \"default_range\"\n    . \"string\"\n  )\n  (\n    \"default_curi_maps\"\n      \"obo_context\"\n      \"monarch_context\"\n      \"idot_context\"\n      \"semweb_context\"\n  )\n  (\n    \"emit_prefixes\"\n      \"rdf\"\n      \"rdfs\"\n      \"xsd\"\n      \"skos\"\n      \"OIO\"\n      \"BIOGRID\"\n  )\n  (\n    \"subsets\"\n      (\n        \"translator_minimal\"\n          (\n            \"description\"\n            . \"Minimum subset of translator work\"\n          )\n      )\n      (\n        \"testing\"\n          (\n            \"description\"\n            . \"(tbd)\"\n          )\n      )\n  )\n  (\n    \"imports\"\n      \"biolinkml:types\"\n  )\n  (\n    \"types\"\n      (\n        \"chemical formula value\"\n          (\n            \"uri\"\n            . \"xsd:string\"\n          )\n          (\n            \"base\"\n            . \"str\"\n          )\n          (\n            \"description\"\n            . \"A chemical formula\"\n          )\n          (\n            \"notes\"\n              \"Should be implemented as a stronger type\"\n          )\n      )\n      (\n        \"identifier type\"\n          (\n            \"base\"\n            . \"ElementIdentifier\"\n          )\n          (\n            \"uri\"\n            . \"xsd:anyURI\"\n          )\n          (\n            \"description\"\n            . \"A string that is intended to uniquely identify a thing May be URI in full or compact (CURIE) form\"\n          )\n      )\n      (\n        \"iri type\"\n          (\n            \"typeof\"\n            . \"uriorcurie\"\n          )\n          (\n            \"description\"\n            . \"An IRI\"\n          )\n      )\n      (\n        \"label type\"\n          (\n            \"typeof\"\n            . \"string\"\n          )\n          (\n            \"description\"\n            . \"A string that provides a human-readable name for a thing\"\n          )\n      )\n      (\n        \"narrative text\"\n          (\n            \"typeof\"\n            . \"string\"\n          )\n          (\n            \"description\"\n            . \"A string that provides a human-readable description of something\"\n          )\n      )\n      (\n        \"symbol type\"\n          (\n            \"typeof\"\n            . \"string\"\n          )\n      )\n      (\n        \"frequency\"\n          (\n            \"typeof\"\n            . \"string\"\n          )\n          (\n            \"uri\"\n            . \"UO:0000105\"\n          )\n      )\n      (\n        \"perecentage frequency value\"\n          (\n            \"typeof\"\n            . \"double\"\n          )\n          (\n            \"uri\"\n            . \"UO:0000187\"\n          )\n      )\n      (\n        \"quotient\"\n          (\n            \"aliases\"\n              \"ratio\"\n          )\n          (\n            \"typeof\"\n            . \"double\"\n          )\n          (\n            \"uri\"\n            . \"UO:0010006\"\n          )\n      )\n      (\n        \"unit\"\n          (\n            \"typeof\"\n            . \"string\"\n          )\n          (\n            \"uri\"\n            . \"UO:0000000\"\n          )\n          (\n            \"id_prefixes\"\n              \"UO\"\n          )\n      )\n      (\n        \"time type\"\n          (\n            \"typeof\"\n            . \"time\"\n          )\n      )\n      (\n        \"biological sequence\"\n          (\n            \"typeof\"\n            . \"string\"\n          )\n      )\n  )\n  (\n    \"slots\"\n      (\n        \"related to\"\n          (\n            \"description\"\n            . \"A relationship that is asserted between two named things\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"named thing\"\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n          (\n            \"slot_uri\"\n            . \"owl:ObjectProperty\"\n          )\n          (\n            \"inherited\"\n            . #t\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:ASSOCIATED_WITH\"\n          )\n      )\n      (\n        \"interacts with\"\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"named thing\"\n          )\n          (\n            \"description\"\n            . \"holds between any two entities that directly or indirectly interact with each other\"\n          )\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002434\"\n          )\n      )\n      (\n        \"physically interacts with\"\n          (\n            \"is_a\"\n            . \"interacts with\"\n          )\n          (\n            \"description\"\n            . \"holds between two entities that make physical contact as part of some interaction\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"symmetric\"\n            . #t\n          )\n          (\n            \"slot_uri\"\n            . \"WD:P129\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:INTERACTS_WITH\"\n          )\n      )\n      (\n        \"molecularly interacts with\"\n          (\n            \"is_a\"\n            . \"physically interacts with\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002436\"\n          )\n      )\n      (\n        \"genetically interacts with\"\n          (\n            \"is_a\"\n            . \"interacts with\"\n          )\n          (\n            \"description\"\n            . \"holds between two genes whose phenotypic effects are dependent on each other in some way - such that their combined phenotypic effects are the result of some interaction between the activity of their gene products. Examples include epistasis and synthetic lethality.\"\n          )\n          (\n            \"domain\"\n            . \"gene\"\n          )\n          (\n            \"range\"\n            . \"gene\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002435\"\n          )\n      )\n      (\n        \"affects\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"describes an entity that has a direct affect on the state or quality of another existing entity. Use of the 'affects' predicate implies that the affected entity already exists, unlike predicates such as 'affects risk for' and 'prevents, where the outcome is something that may or may not come to be.\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"SEMMEDDB:AFFECTS\"\n          )\n      )\n      (\n        \"affects abundance of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one changes the amount of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases abundance of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the amount of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects abundance of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases abundance of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the amount of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects abundance of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects activity of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one changes the activity of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases activity of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the activity of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects activity of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases activity of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the activity of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects activity of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects expression of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one changes the level of expression of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"genomic entity\"\n          )\n      )\n      (\n        \"increases expression of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the level of expression of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects expression of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"genomic entity\"\n          )\n      )\n      (\n        \"decreases expression of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the level of expression of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects expression of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"genomic entity\"\n          )\n      )\n      (\n        \"affects folding of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one changes the rate or quality of folding of the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases folding of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the rate or quality of folding of the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects folding of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases folding of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the rate or quality of folding of the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects folding of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects localization of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one changes the localization of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases localization of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the proper localization of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects localization of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases localization of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the proper localization of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects localization of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects metabolic processing of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one impacts the metabolic processing of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases metabolic processing of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the rate of metabolic processing of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects metabolic processing of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases metabolic processing of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the rate of metabolic processing of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects metabolic processing of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects molecular modification of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one leads changes in the molecular modification(s) of the other (e.g. via post-translational modifications of proteins such as the addition of phosphoryl group, or via redox reaction that adds or subtracts electrons)\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases molecular modification of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one leads to increased molecular modification(s) of the other (e.g. via post-translational modifications of proteins such as the addition of phosphoryl group, or via redox reaction that adds or subtracts electrons)\"\n          )\n          (\n            \"is_a\"\n            . \"affects molecular modification of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases molecular modification of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one leads to decreased molecular modification(s) of the other (e.g. via post-translational modifications of proteins such as the addition of phosphoryl group, or via redox reaction that adds or subtracts electrons)\"\n          )\n          (\n            \"is_a\"\n            . \"affects molecular modification of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects synthesis of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one impacts the rate of chemical synthesis of the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases synthesis of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the rate of chemical synthesis of the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects synthesis of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases synthesis of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the rate of chemical synthesis of the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects synthesis of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects degradation of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one impacts the rate of degradation of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases degradation of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the rate of degradation of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects degradation of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases degradation of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the rate of degradation of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects degradation of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects mutation rate of\"\n          (\n            \"description\"\n            . \"holds between a molecular entity and a genomic entity where the action or effect of the molecular entity impacts the rate of mutation of the genomic entity within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"genomic entity\"\n          )\n      )\n      (\n        \"increases mutation rate of\"\n          (\n            \"description\"\n            . \"holds between a molecular entity and a genomic entity where the action or effect of the molecular entity increases the rate of mutation of the genomic entity within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects mutation rate of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"genomic entity\"\n          )\n      )\n      (\n        \"decreases mutation rate of\"\n          (\n            \"description\"\n            . \"holds between a molecular entity and a genomic entity where the action or effect of the molecular entity decreases the rate of mutation of the genomic entity within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects mutation rate of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"genomic entity\"\n          )\n      )\n      (\n        \"affects response to\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one impacts the susceptibility of a biological entity or system (e.g. an organism, cell, cellular component, macromolecular machine, biological or pathological process) to the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases response to\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the susceptibility of a biological entity or system (e.g. an organism, cell, cellular component, macromolecular machine, biological or pathological process) to the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects response to\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases response to\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the susceptibility of a biological entity or system (e.g. an organism, cell, cellular component, macromolecular machine, biological or pathological process) to the other\"\n          )\n          (\n            \"is_a\"\n            . \"affects response to\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects splicing of\"\n          (\n            \"description\"\n            . \"holds between a molecular entity and an mRNA where the action or effect of the molecular entity impacts the splicing of the mRNA\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"transcript\"\n          )\n      )\n      (\n        \"increases splicing of\"\n          (\n            \"description\"\n            . \"holds between a molecular entity and an mRNA where the action or effect of the molecular entity increases the proper splicing of the mRNA\"\n          )\n          (\n            \"is_a\"\n            . \"affects splicing of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"transcript\"\n          )\n      )\n      (\n        \"decreases splicing of\"\n          (\n            \"description\"\n            . \"holds between a molecular entity and an mRNA where the action or effect of the molecular entity decreases the proper splicing of the mRNA\"\n          )\n          (\n            \"is_a\"\n            . \"affects splicing of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"transcript\"\n          )\n      )\n      (\n        \"affects stability of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one impacts the stability of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases stability of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the stability of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects stability of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases stability of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the stability of the other within a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects stability of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects transport of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one impacts the rate of transport of the other across some boundary in a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases transport of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the rate of transport of the other across some boundary in a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects transport of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases transport of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the rate of transport of the other across some boundary in a system of interest\"\n          )\n          (\n            \"is_a\"\n            . \"affects transport of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects secretion of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one impacts the rate of secretion of the other out of a cell, gland, or organ\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases secretion of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the rate of secretion of the other out of a cell, gland, or organ\"\n          )\n          (\n            \"is_a\"\n            . \"affects secretion of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases secretion of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the rate of secretion of the other out of a cell, gland, or organ\"\n          )\n          (\n            \"is_a\"\n            . \"affects secretion of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"affects uptake of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one impacts the rate of uptake of the other into of a cell, gland, or organ\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"increases uptake of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one increases the rate of uptake of the other into of a cell, gland, or organ\"\n          )\n          (\n            \"is_a\"\n            . \"affects uptake of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"decreases uptake of\"\n          (\n            \"description\"\n            . \"holds between two molecular entities where the action or effect of one decreases the rate of uptake of the other into of a cell, gland, or organ\"\n          )\n          (\n            \"is_a\"\n            . \"affects uptake of\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n      )\n      (\n        \"regulates\"\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"comments\"\n              \"This is a grouping for process-process and entity-entity relations\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"slot_uri\"\n            . \"WD:P128\"\n          )\n      )\n      (\n        \"positively regulates\"\n          (\n            \"comments\"\n              \"This is a grouping for process-process and entity-entity relations\"\n          )\n          (\n            \"is_a\"\n            . \"regulates\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n      )\n      (\n        \"negatively regulates\"\n          (\n            \"comments\"\n              \"This is a grouping for process-process and entity-entity relations\"\n          )\n          (\n            \"is_a\"\n            . \"regulates\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n      )\n      (\n        \"regulates, process to process\"\n          (\n            \"is_a\"\n            . \"regulates\"\n          )\n          (\n            \"domain\"\n            . \"occurrent\"\n          )\n          (\n            \"range\"\n            . \"occurrent\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002211\"\n          )\n      )\n      (\n        \"positively regulates, process to process\"\n          (\n            \"is_a\"\n            . \"regulates, process to process\"\n          )\n          (\n            \"mixins\"\n              \"positively regulates\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002213\"\n          )\n      )\n      (\n        \"negatively regulates, process to process\"\n          (\n            \"is_a\"\n            . \"regulates, process to process\"\n          )\n          (\n            \"mixins\"\n              \"negatively regulates\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002212\"\n          )\n      )\n      (\n        \"regulates, entity to entity\"\n          (\n            \"aliases\"\n              \"activity directly regulates activity of\"\n          )\n          (\n            \"is_a\"\n            . \"regulates\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n          (\n            \"local_names\"\n              (\n                \"translator\"\n                . \"regulates\"\n              )\n              (\n                \"ro\"\n                . \"activity directly regulates activity of\"\n              )\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002448\"\n          )\n      )\n      (\n        \"positively regulates, entity to entity\"\n          (\n            \"aliases\"\n              \"activity directly positively regulates activity of\"\n          )\n          (\n            \"is_a\"\n            . \"regulates, entity to entity\"\n          )\n          (\n            \"mixins\"\n              \"positively regulates\"\n          )\n          (\n            \"local_names\"\n              (\n                \"translator\"\n                . \"positively regulates\"\n              )\n              (\n                \"ro\"\n                . \"activity directly positively regulates activity of\"\n              )\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002450\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:STIMULATES\"\n          )\n      )\n      (\n        \"negatively regulates, entity to entity\"\n          (\n            \"aliases\"\n              \"activity directly negatively regulates activity of\"\n          )\n          (\n            \"is_a\"\n            . \"regulates, entity to entity\"\n          )\n          (\n            \"mixins\"\n              \"negatively regulates\"\n          )\n          (\n            \"local_names\"\n              (\n                \"translator\"\n                . \"negatively regulates\"\n              )\n              (\n                \"ro\"\n                . \"activity directly negatively regulates activity of\"\n              )\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002449\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:INHIBITS\"\n          )\n      )\n      (\n        \"disrupts\"\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"description\"\n            . \"describes a relationship where one entity degrades or interferes with the structure, function, or occurrence of another.\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"SEMMEDDB:DISRUPTS\"\n          )\n      )\n      (\n        \"has gene product\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a gene and a transcribed and/or translated product generated from it\"\n          )\n          (\n            \"domain\"\n            . \"gene\"\n          )\n          (\n            \"range\"\n            . \"gene product\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002205\"\n          )\n          (\n            \"mappings\"\n              \"WD:P688\"\n          )\n      )\n      (\n        \"homologous to\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"aliases\"\n              \"in homology relationship with\"\n          )\n          (\n            \"description\"\n            . \"holds between two biological entities that have common evolutionary origin\"\n          )\n          (\n            \"comments\"\n              \"typically used to describe homology relationships between genes or gene products\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:HOM0000001\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010302\"\n          )\n      )\n      (\n        \"paralogous to\"\n          (\n            \"is_a\"\n            . \"homologous to\"\n          )\n          (\n            \"description\"\n            . \"a homology relationship that holds between entities (typically genes) that diverged after a duplication event.\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:HOM0000011\"\n          )\n      )\n      (\n        \"orthologous to\"\n          (\n            \"is_a\"\n            . \"homologous to\"\n          )\n          (\n            \"description\"\n            . \"a homology relationship between entities (typically genes) that diverged after a speciation event.\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:HOM0000017\"\n          )\n          (\n            \"mappings\"\n              \"WD:P684\"\n          )\n      )\n      (\n        \"xenologous to\"\n          (\n            \"is_a\"\n            . \"homologous to\"\n          )\n          (\n            \"description\"\n            . \"a homology relationship characterized by an interspecies (horizontal) transfer since the common ancestor.\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:HOM0000018\"\n          )\n      )\n      (\n        \"coexists with\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between two entities that are co-located in the same aggregate object, process, or spatio-temporal region\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"SEMMEDDB:COEXISTS_WITH\"\n          )\n      )\n      (\n        \"in pathway with\"\n          (\n            \"description\"\n            . \"holds between two genes or gene products that are part of in the same biological pathway\"\n          )\n          (\n            \"is_a\"\n            . \"coexists with\"\n          )\n          (\n            \"domain\"\n            . \"gene or gene product\"\n          )\n          (\n            \"range\"\n            . \"gene or gene product\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n      )\n      (\n        \"in complex with\"\n          (\n            \"description\"\n            . \"holds between two genes or gene products that are part of (or code for products that are part of) in the same macromolecular complex\"\n          )\n          (\n            \"is_a\"\n            . \"coexists with\"\n          )\n          (\n            \"domain\"\n            . \"gene or gene product\"\n          )\n          (\n            \"range\"\n            . \"gene or gene product\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n      )\n      (\n        \"in cell population with\"\n          (\n            \"description\"\n            . \"holds between two genes or gene products that are expressed in the same cell type or population\"\n          )\n          (\n            \"is_a\"\n            . \"coexists with\"\n          )\n          (\n            \"domain\"\n            . \"gene or gene product\"\n          )\n          (\n            \"range\"\n            . \"gene or gene product\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n      )\n      (\n        \"colocalizes with\"\n          (\n            \"description\"\n            . \"holds between two entities that are observed to be located in the same place.\"\n          )\n          (\n            \"is_a\"\n            . \"coexists with\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:00002325\"\n          )\n      )\n      (\n        \"gene associated with condition\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a gene and a disease or phenotypic feature that the gene or its alleles/products may influence, contribute to, or correlate with\"\n          )\n          (\n            \"domain\"\n            . \"gene\"\n          )\n          (\n            \"range\"\n            . \"disease or phenotypic feature\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"WD:P2293\"\n          )\n      )\n      (\n        \"affects risk for\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between two entities where exposure to one entity alters the chance of developing the other\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n      )\n      (\n        \"predisposes\"\n          (\n            \"is_a\"\n            . \"affects risk for\"\n          )\n          (\n            \"description\"\n            . \"holds between two entities where exposure to one entity increases the chance of developing the other\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"SEMMEDDB:PREDISPOSES\"\n          )\n      )\n      (\n        \"contributes to\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between two entities where the occurrence, existence, or activity of one causes or contributes to the occurrence or generation of the other\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002326\"\n          )\n      )\n      (\n        \"causes\"\n          (\n            \"description\"\n            . \"holds between two entities where the occurrence, existence, or activity of one causes the occurrence or  generation of the other\"\n          )\n          (\n            \"is_a\"\n            . \"contributes to\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002410\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:CAUSES\"\n              \"WD:P1542\"\n          )\n      )\n      (\n        \"treats\"\n          (\n            \"aliases\"\n              \"is substance that treats\"\n          )\n          (\n            \"is_a\"\n            . \"affects\"\n          )\n          (\n            \"description\"\n            . \"holds between a therapeutic procedure or chemical substance and a disease or phenotypic feature that it is used to treat\"\n          )\n          (\n            \"domain\"\n            . \"treatment\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n          (\n            \"range\"\n            . \"disease or phenotypic feature\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"treated by\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002606\"\n          )\n          (\n            \"mappings\"\n              \"RO:0003307\"\n              \"SEMMEDDB:TREATS\"\n              \"WD:P2175\"\n          )\n      )\n      (\n        \"prevents\"\n          (\n            \"is_a\"\n            . \"affects risk for\"\n          )\n          (\n            \"description\"\n            . \"holds between an entity whose application or use reduces the likelihood of a potential outcome. Typically used to associate a chemical substance, exposure, activity, or medical intervention that can prevent the onset a disease or phenotypic feature.\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002599\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:PREVENTS\"\n          )\n      )\n      (\n        \"correlated with\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a disease or phenotypic feature and a measurable molecular entity that is used as an indicator of the presence or state of the disease or feature.\"\n          )\n          (\n            \"domain\"\n            . \"disease or phenotypic feature\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002610\"\n          )\n      )\n      (\n        \"has biomarker\"\n          (\n            \"is_a\"\n            . \"correlated with\"\n          )\n          (\n            \"description\"\n            . \"holds between a disease or phenotypic feature and a measurable molecular entity that is used as an indicator of the presence or state of the disease or feature.\"\n          )\n          (\n            \"domain\"\n            . \"disease or phenotypic feature\"\n          )\n          (\n            \"range\"\n            . \"molecular entity\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"biomarker for\"\n          )\n      )\n      (\n        \"biomarker for\"\n          (\n            \"is_a\"\n            . \"correlated with\"\n          )\n          (\n            \"description\"\n            . \"holds between a measurable molecular entity and a disease or phenotypic feature, where the entity is used as an indicator of the presence or state of the disease or feature.\"\n          )\n          (\n            \"domain\"\n            . \"molecular entity\"\n          )\n          (\n            \"range\"\n            . \"disease or phenotypic feature\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"has biomarker\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002607\"\n          )\n      )\n      (\n        \"treated by\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a disease or phenotypic feature and a therapeutic process or chemical substance that is used to treat the condition\"\n          )\n          (\n            \"domain\"\n            . \"disease or phenotypic feature\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"treats\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002302\"\n          )\n          (\n            \"mappings\"\n              \"WD:P2176\"\n          )\n      )\n      (\n        \"expressed in\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a gene or gene product and an anatomical entity in which it is expressed\"\n          )\n          (\n            \"domain\"\n            . \"gene or gene product\"\n          )\n          (\n            \"range\"\n            . \"anatomical entity\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"expresses\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002206\"\n          )\n      )\n      (\n        \"expresses\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between an anatomical entity and gene or gene product that is expressed there\"\n          )\n          (\n            \"domain\"\n            . \"anatomical entity\"\n          )\n          (\n            \"range\"\n            . \"gene or gene product\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"expressed in\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002292\"\n          )\n      )\n      (\n        \"has phenotype\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a biological entity and a phenotype, where a phenotype is construed broadly as any kind of quality of an organism part, a collection of these qualities, or a change in quality or qualities (e.g. abnormally increased temperature).\"\n          )\n          (\n            \"domain\"\n            . \"biological entity\"\n          )\n          (\n            \"range\"\n            . \"phenotypic feature\"\n          )\n          (\n            \"notes\"\n              \"check the range\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002200\"\n          )\n      )\n      (\n        \"occurs in\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a process and a material entity or site within which the process occurs\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"BFO:0000066\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:OCCURS_IN\"\n              \"SEMMEDDB:PROCESS_OF\"\n          )\n      )\n      (\n        \"located in\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a material entity and a material entity or site within which it is located (but of which it is not considered a part)\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"location of\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0001025\"\n          )\n      )\n      (\n        \"location of\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between material entity or site and a material entity that is located within it (but not considered a part of it)\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"located in\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0001015\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:LOCATION_OF\"\n              \"WD:276\"\n          )\n      )\n      (\n        \"model of\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between an entity and some other entity it approximates for purposes of scientific study, in virtue of its exhibiting similar features of the studied entity.\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0003301\"\n          )\n      )\n      (\n        \"overlaps\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between entties that overlap in their extents (materials or processes)\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002131\"\n          )\n      )\n      (\n        \"has part\"\n          (\n            \"is_a\"\n            . \"overlaps\"\n          )\n          (\n            \"description\"\n            . \"holds between wholes and their parts (material entities or processes)\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"part of\"\n          )\n          (\n            \"slot_uri\"\n            . \"BFO:0000051\"\n          )\n          (\n            \"mappings\"\n              \"WD:P527\"\n          )\n      )\n      (\n        \"part of\"\n          (\n            \"is_a\"\n            . \"overlaps\"\n          )\n          (\n            \"description\"\n            . \"holds between parts and wholes (material entities or processes)\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"has part\"\n          )\n          (\n            \"slot_uri\"\n            . \"BFO:0000050\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:PART_OF\"\n              \"WD:P361\"\n          )\n      )\n      (\n        \"has participant\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a process and a continuant, where the continuant is somehow involved in the process\"\n          )\n          (\n            \"domain\"\n            . \"occurrent\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"participates in\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0000057\"\n          )\n          (\n            \"mappings\"\n              \"WD:P2283\"\n          )\n      )\n      (\n        \"has input\"\n          (\n            \"is_a\"\n            . \"has participant\"\n          )\n          (\n            \"description\"\n            . \"holds between a process and a continuant, where the continuant is an input into the process\"\n          )\n          (\n            \"domain\"\n            . \"occurrent\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002233\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:USES\"\n          )\n      )\n      (\n        \"participates in\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a continuant and a process, where the continuant is somehow involved in the process\"\n          )\n          (\n            \"range\"\n            . \"occurrent\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"has participant\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0000056\"\n          )\n      )\n      (\n        \"actively involved in\"\n          (\n            \"is_a\"\n            . \"participates in\"\n          )\n          (\n            \"description\"\n            . \"holds between a continuant and a process or function, where the continuant actively contributes to part or all of the process or function it realizes\"\n          )\n          (\n            \"range\"\n            . \"occurrent\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002331\"\n          )\n      )\n      (\n        \"capable of\"\n          (\n            \"is_a\"\n            . \"actively involved in\"\n          )\n          (\n            \"description\"\n            . \"holds between a continuant and process or function, where the continuant alone has the ability to carry out the process or function.\"\n          )\n          (\n            \"range\"\n            . \"occurrent\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002215\"\n          )\n      )\n      (\n        \"derives into\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between two distinct material entities, the old entity and the new entity, in which the new entity begins to exist when the old entity ceases to exist, and the new entity inherits the significant portion of the matter of the old entity\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"derives from\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0001001\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:CONVERTS_TO\"\n          )\n      )\n      (\n        \"derives from\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between two distinct material entities, the new entity and the old entity, in which the new entity begins to exist when the old entity ceases to exist, and the new entity inherits the significant portion of the matter of the old entity\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"inverse\"\n            . \"derives into\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0001000\"\n          )\n      )\n      (\n        \"manifestation of\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"used in SemMedDB for linking things like dysfunctions and processes to some disease or syndrome\"\n          )\n          (\n            \"range\"\n            . \"disease\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"SEMMEDDB:MANIFESTATION_OF\"\n          )\n          (\n            \"mappings\"\n              \"WD:P1557\"\n          )\n      )\n      (\n        \"produces\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between a material entity and a product that is generated through the intentional actions or functioning of the material entity\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0003000\"\n          )\n          (\n            \"mappings\"\n              \"WD:P1056\"\n              \"SEMMEDDB:PRODUCES\"\n          )\n      )\n      (\n        \"precedes\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between two processes, where one completes before the other begins\"\n          )\n          (\n            \"domain\"\n            . \"occurrent\"\n          )\n          (\n            \"range\"\n            . \"occurrent\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"BFO:0000063\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:PRECEDES\"\n              \"WD:P156\"\n          )\n      )\n      (\n        \"same as\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between two entities that are considered equivalent to each other\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"owl:equivalentClass\"\n          )\n          (\n            \"mappings\"\n              \"owl:sameAs\"\n              \"skos:exactMatch\"\n              \"WD:P2888\"\n          )\n      )\n      (\n        \"subclass of\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"holds between two classes where the domain class is a specialization of the range class\"\n          )\n          (\n            \"domain\"\n            . \"ontology class\"\n          )\n          (\n            \"range\"\n            . \"iri type\"\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"rdfs:subClassOf\"\n          )\n          (\n            \"mappings\"\n              \"SEMMEDDB:IS_A\"\n              \"WD:P279\"\n          )\n      )\n      (\n        \"node property\"\n          (\n            \"description\"\n            . \"A grouping for any property that holds between a node and a value\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n      )\n      (\n        \"title\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"data set version\"\n          )\n          (\n            \"slot_uri\"\n            . \"dct:title\"\n          )\n      )\n      (\n        \"source data file\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"data set version\"\n          )\n          (\n            \"range\"\n            . \"data file\"\n          )\n          (\n            \"slot_uri\"\n            . \"dcterms:source\"\n          )\n      )\n      (\n        \"source web page\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"data set summary\"\n          )\n          (\n            \"slot_uri\"\n            . \"dcterms:source\"\n          )\n      )\n      (\n        \"retrievedOn\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"source file\"\n          )\n          (\n            \"range\"\n            . \"date\"\n          )\n          (\n            \"slot_uri\"\n            . \"pav:retrievedOn\"\n          )\n      )\n      (\n        \"versionOf\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"data set version\"\n          )\n          (\n            \"range\"\n            . \"data set\"\n          )\n          (\n            \"slot_uri\"\n            . \"dct:isVersionOf\"\n          )\n      )\n      (\n        \"source version\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"source file\"\n          )\n          (\n            \"slot_uri\"\n            . \"pav:version\"\n          )\n      )\n      (\n        \"downloadURL\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"distribution level\"\n          )\n          (\n            \"slot_uri\"\n            . \"dct:downloadURL\"\n          )\n      )\n      (\n        \"distribution\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"data set version\"\n          )\n          (\n            \"range\"\n            . \"distribution level\"\n          )\n          (\n            \"slot_uri\"\n            . \"void:Dataset\"\n          )\n      )\n      (\n        \"type\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"slot_uri\"\n            . \"rdf:type\"\n          )\n      )\n      (\n        \"id\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"identifier\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"A unique identifier for a thing. Must be either a CURIE shorthand for a URI or a complete URI\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"identifier type\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n      )\n      (\n        \"association_id\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"identifier\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"A unique identifier for an association\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"association\"\n          )\n          (\n            \"range\"\n            . \"identifier type\"\n          )\n          (\n            \"ifabsent\"\n            . \"bnode\"\n          )\n          (\n            \"alias\"\n            . \"id\"\n          )\n      )\n      (\n        \"iri\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"description\"\n            . \"An IRI for the node. This is determined by the id using expansion rules.\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"iri type\"\n          )\n      )\n      (\n        \"name\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"aliases\"\n              \"label\"\n              \"display name\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"label type\"\n          )\n          (\n            \"description\"\n            . \"A human-readable name for a thing\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n          (\n            \"slot_uri\"\n            . \"rdfs:label\"\n          )\n      )\n      (\n        \"synonym\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"aliases\"\n              \"alias\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"label type\"\n          )\n          (\n            \"description\"\n            . \"Alternate human-readable names for a thing\"\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n      )\n      (\n        \"category\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"iri type\"\n          )\n          (\n            \"description\"\n            . \"Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag\"\n          )\n          (\n            \"is_class_field\"\n            . #t\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n          (\n            \"slot_uri\"\n            . \"rdfs:subClassOf\"\n          )\n      )\n      (\n        \"full name\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"label type\"\n          )\n          (\n            \"description\"\n            . \"a long-form human readable name for a thing\"\n          )\n      )\n      (\n        \"description\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"narrative text\"\n          )\n          (\n            \"description\"\n            . \"a human-readable description of a thing\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"dcterms:description\"\n          )\n      )\n      (\n        \"systematic synonym\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"domain\"\n            . \"named thing\"\n          )\n          (\n            \"range\"\n            . \"label type\"\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"more commonly used for gene symbols in yeast\"\n          )\n      )\n      (\n        \"association slot\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"domain\"\n            . \"association\"\n          )\n          (\n            \"aliases\"\n              \"edge property\"\n              \"statement property\"\n          )\n          (\n            \"description\"\n            . \"any slot that relates an association to another entity\"\n          )\n      )\n      (\n        \"subject\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"local_names\"\n              (\n                \"ga4gh\"\n                . \"annotation subject\"\n              )\n              (\n                \"neo4j\"\n                . \"node with outgoing relationship\"\n              )\n          )\n          (\n            \"description\"\n            . \"connects an association to the subject of the association. For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n          (\n            \"range\"\n            . \"named thing\"\n          )\n          (\n            \"slot_uri\"\n            . \"rdf:subject\"\n          )\n          (\n            \"mappings\"\n              \"owl:annotatedSource\"\n              \"oban:association_has_subject\"\n          )\n      )\n      (\n        \"object\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"description\"\n            . \"connects an association to the object of the association. For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n          (\n            \"range\"\n            . \"named thing\"\n          )\n          (\n            \"local_names\"\n              (\n                \"ga4gh\"\n                . \"descriptor\"\n              )\n              (\n                \"neo4j\"\n                . \"node with incoming relationship\"\n              )\n          )\n          (\n            \"slot_uri\"\n            . \"rdf:object\"\n          )\n          (\n            \"mappings\"\n              \"owl:annotatedTarget\"\n              \"oban:association_has_object\"\n          )\n      )\n      (\n        \"edge label\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"description\"\n            . \"A high-level grouping for the relationship type. AKA minimal predicate. This is analogous to category for nodes.\"\n          )\n          (\n            \"domain\"\n            . \"association\"\n          )\n          (\n            \"notes\"\n              \"in neo4j this corresponds to the relationship type and the convention is for a snake_case label\"\n          )\n          (\n            \"range\"\n            . \"label type\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n      )\n      (\n        \"relation\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"description\"\n            . \"the relationship type by which a subject is connected to an object in an association\"\n          )\n          (\n            \"domain\"\n            . \"association\"\n          )\n          (\n            \"range\"\n            . \"uriorcurie\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n          (\n            \"local_names\"\n              (\n                \"ga4gh\"\n                . \"annotation predicate\"\n              )\n              (\n                \"translator\"\n                . \"predicate\"\n              )\n          )\n          (\n            \"slot_uri\"\n            . \"rdf:predicate\"\n          )\n          (\n            \"mappings\"\n              \"owl:annotatedProperty\"\n              \"oban:association_has_predicate\"\n          )\n      )\n      (\n        \"negated\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"boolean\"\n          )\n          (\n            \"description\"\n            . \"if set to true, then the association is negated i.e. is not true\"\n          )\n      )\n      (\n        \"has confidence level\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"confidence level\"\n          )\n          (\n            \"description\"\n            . \"connects an association to a qualitative term denoting the level of confidence\"\n          )\n      )\n      (\n        \"has evidence\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"evidence type\"\n          )\n          (\n            \"description\"\n            . \"connects an association to an instance of supporting evidence\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002558\"\n          )\n      )\n      (\n        \"provided by\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"provider\"\n          )\n          (\n            \"description\"\n            . \"connects an association to the agent (person, organization or group) that provided it\"\n          )\n          (\n            \"slot_uri\"\n            . \"pav:providedBy\"\n          )\n      )\n      (\n        \"association type\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"ontology class\"\n          )\n          (\n            \"description\"\n            . \"connects an association to the type of association (e.g. gene to phenotype)\"\n          )\n          (\n            \"slot_uri\"\n            . \"rdf:type\"\n          )\n      )\n      (\n        \"creation date\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"range\"\n            . \"date\"\n          )\n          (\n            \"description\"\n            . \"date on which thing was created. This can be applied to nodes or edges\"\n          )\n          (\n            \"slot_uri\"\n            . \"dcterms:created\"\n          )\n      )\n      (\n        \"update date\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"range\"\n            . \"date\"\n          )\n          (\n            \"description\"\n            . \"date on which thing was updated. This can be applied to nodes or edges\"\n          )\n      )\n      (\n        \"in taxon\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"domain\"\n            . \"thing with taxon\"\n          )\n          (\n            \"range\"\n            . \"organism taxon\"\n          )\n          (\n            \"description\"\n            . \"connects a thing to a class representing a taxon\"\n          )\n          (\n            \"in_subset\"\n              \"translator_minimal\"\n          )\n          (\n            \"slot_uri\"\n            . \"RO:0002162\"\n          )\n          (\n            \"mappings\"\n              \"WD:P703\"\n          )\n      )\n      (\n        \"latitude\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"range\"\n            . \"float\"\n          )\n          (\n            \"description\"\n            . \"latitude\"\n          )\n          (\n            \"slot_uri\"\n            . \"wgs:lat\"\n          )\n      )\n      (\n        \"longitude\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"range\"\n            . \"float\"\n          )\n          (\n            \"description\"\n            . \"longitude\"\n          )\n          (\n            \"slot_uri\"\n            . \"wgs:long\"\n          )\n      )\n      (\n        \"has chemical formula\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"range\"\n            . \"chemical formula value\"\n          )\n          (\n            \"description\"\n            . \"description of chemical compound based on element symbols\"\n          )\n          (\n            \"slot_uri\"\n            . \"WD:P274\"\n          )\n      )\n      (\n        \"aggregate statistic\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n      )\n      (\n        \"has count\"\n          (\n            \"description\"\n            . \"number of things with a particular property\"\n          )\n          (\n            \"is_a\"\n            . \"aggregate statistic\"\n          )\n          (\n            \"range\"\n            . \"integer\"\n          )\n      )\n      (\n        \"has total\"\n          (\n            \"description\"\n            . \"total number of things in a particular reference set\"\n          )\n          (\n            \"is_a\"\n            . \"aggregate statistic\"\n          )\n          (\n            \"range\"\n            . \"integer\"\n          )\n      )\n      (\n        \"has quotient\"\n          (\n            \"is_a\"\n            . \"aggregate statistic\"\n          )\n          (\n            \"range\"\n            . \"double\"\n          )\n      )\n      (\n        \"has percentage\"\n          (\n            \"description\"\n            . \"equivalent to has quotient multiplied by 100\"\n          )\n          (\n            \"is_a\"\n            . \"aggregate statistic\"\n          )\n          (\n            \"range\"\n            . \"double\"\n          )\n      )\n      (\n        \"timepoint\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"range\"\n            . \"time type\"\n          )\n          (\n            \"description\"\n            . \"a point in time\"\n          )\n      )\n      (\n        \"stage qualifier\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"life stage\"\n          )\n          (\n            \"description\"\n            . \"stage at which expression takes place\"\n          )\n      )\n      (\n        \"quantifier qualifier\"\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"ontology class\"\n          )\n          (\n            \"description\"\n            . \"A measurable quantity for the object of the association\"\n          )\n      )\n      (\n        \"qualifiers\"\n          (\n            \"singular_name\"\n            . \"qualifier\"\n          )\n          (\n            \"description\"\n            . \"connects an association to qualifiers that modify or qualify the meaning of that association\"\n          )\n          (\n            \"local_names\"\n              (\n                \"ga4gh\"\n                . \"annotation qualifier\"\n              )\n          )\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n          (\n            \"range\"\n            . \"ontology class\"\n          )\n      )\n      (\n        \"frequency qualifier\"\n          (\n            \"description\"\n            . \"a qualifier used in a phenotypic association to state how frequent the phenotype is observed in the subject\"\n          )\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"frequency value\"\n          )\n      )\n      (\n        \"severity qualifier\"\n          (\n            \"description\"\n            . \"a qualifier used in a phenotypic association to state how severe the phenotype is in the subject\"\n          )\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"severity value\"\n          )\n      )\n      (\n        \"sex qualifier\"\n          (\n            \"description\"\n            . \"a qualifier used in a phenotypic association to state whether the association is specific to a particular sex.\"\n          )\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"biological sex\"\n          )\n      )\n      (\n        \"onset qualifier\"\n          (\n            \"description\"\n            . \"a qualifier used in a phenotypic association to state when the phenotype appears is in the subject\"\n          )\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"onset\"\n          )\n      )\n      (\n        \"clinical modifier qualifier\"\n          (\n            \"description\"\n            . \"Used to characterize and specify the phenotypic abnormalities defined in the Phenotypic abnormality subontology, with respect to severity, laterality, age of onset, and other aspects\"\n          )\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"clinical modifier\"\n          )\n      )\n      (\n        \"sequence variant qualifier\"\n          (\n            \"description\"\n            . \"a qualifier used in an association where the variant\"\n          )\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"range\"\n            . \"sequence variant\"\n          )\n      )\n      (\n        \"publications\"\n          (\n            \"singular_name\"\n            . \"publication\"\n          )\n          (\n            \"description\"\n            . \"connects an association to publications supporting the association\"\n          )\n          (\n            \"is_a\"\n            . \"association slot\"\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n          (\n            \"range\"\n            . \"publication\"\n          )\n      )\n      (\n        \"has biological sequence\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"description\"\n            . \"connects a genomic feature to its sequence\"\n          )\n          (\n            \"range\"\n            . \"biological sequence\"\n          )\n      )\n      (\n        \"has molecular consequence\"\n          (\n            \"is_a\"\n            . \"related to\"\n          )\n          (\n            \"description\"\n            . \"connects a sequence variant to a class describing the molecular consequence. E.g.  SO:0001583\"\n          )\n          (\n            \"range\"\n            . \"ontology class\"\n          )\n      )\n      (\n        \"has gene\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"description\"\n            . \"connects and entity to a single gene\"\n          )\n          (\n            \"range\"\n            . \"gene\"\n          )\n      )\n      (\n        \"has zygosity\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"range\"\n            . \"zygosity\"\n          )\n      )\n      (\n        \"filler\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"range\"\n            . \"named thing\"\n          )\n          (\n            \"description\"\n            . \"The value in a property-value tuple\"\n          )\n      )\n      (\n        \"phase\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"description\"\n            . \"TODO\"\n          )\n      )\n      (\n        \"genome build\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"description\"\n            . \"TODO\"\n          )\n      )\n      (\n        \"interbase coordinate\"\n          (\n            \"is_a\"\n            . \"node property\"\n          )\n          (\n            \"description\"\n            . \"TODO\"\n          )\n      )\n      (\n        \"start interbase coordinate\"\n          (\n            \"is_a\"\n            . \"interbase coordinate\"\n          )\n      )\n      (\n        \"end interbase coordinate\"\n          (\n            \"is_a\"\n            . \"interbase coordinate\"\n          )\n      )\n  )\n  (\n    \"classes\"\n      (\n        \"attribute\"\n          (\n            \"subclass_of\"\n            . \"PATO:0000001\"\n          )\n          (\n            \"mixins\"\n              \"ontology class\"\n          )\n          (\n            \"description\"\n            . \"A property or characteristic of an entity\"\n          )\n      )\n      (\n        \"biological sex\"\n          (\n            \"subclass_of\"\n            . \"PATO:0000047\"\n          )\n          (\n            \"is_a\"\n            . \"attribute\"\n          )\n      )\n      (\n        \"phenotypic sex\"\n          (\n            \"description\"\n            . \"An attribute corresponding to the phenotypic sex of the individual, based upon the reproductive organs present.\"\n          )\n          (\n            \"subclass_of\"\n            . \"PATO:0001894\"\n          )\n          (\n            \"is_a\"\n            . \"biological sex\"\n          )\n      )\n      (\n        \"genotypic sex\"\n          (\n            \"description\"\n            . \"An attribute corresponding to the genotypic sex of the individual, based upon genotypic composition of sex chromosomes.\"\n          )\n          (\n            \"subclass_of\"\n            . \"PATO:0020000\"\n          )\n          (\n            \"is_a\"\n            . \"biological sex\"\n          )\n      )\n      (\n        \"severity value\"\n          (\n            \"description\"\n            . \"describes the severity of a phenotypic feature or disease\"\n          )\n          (\n            \"is_a\"\n            . \"attribute\"\n          )\n      )\n      (\n        \"frequency value\"\n          (\n            \"description\"\n            . \"describes the frequency of occurrence of an event or condition\"\n          )\n          (\n            \"is_a\"\n            . \"attribute\"\n          )\n      )\n      (\n        \"clinical modifier\"\n          (\n            \"description\"\n            . \"Used to characterize and specify the phenotypic abnormalities defined in the Phenotypic abnormality subontology, with respect to severity, laterality, age of onset, and other aspects\"\n          )\n          (\n            \"subclass_of\"\n            . \"HP:0012823\"\n          )\n          (\n            \"is_a\"\n            . \"attribute\"\n          )\n      )\n      (\n        \"onset\"\n          (\n            \"description\"\n            . \"The age group in which manifestations appear\"\n          )\n          (\n            \"class_uri\"\n            . \"HP:0003674\"\n          )\n          (\n            \"is_a\"\n            . \"attribute\"\n          )\n      )\n      (\n        \"relationship quantifier\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n      )\n      (\n        \"sensitivity quantifier\"\n          (\n            \"is_a\"\n            . \"relationship quantifier\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n      )\n      (\n        \"specificity quantifier\"\n          (\n            \"is_a\"\n            . \"relationship quantifier\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n      )\n      (\n        \"pathognomonicity quantifier\"\n          (\n            \"is_a\"\n            . \"specificity quantifier\"\n          )\n          (\n            \"description\"\n            . \"A relationship quantifier between a variant or symptom and a disease, which is high when the presence of the feature implies the existence of the disease\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n      )\n      (\n        \"frequency quantifier\"\n          (\n            \"is_a\"\n            . \"relationship quantifier\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"slots\"\n              \"has count\"\n              \"has total\"\n              \"has quotient\"\n              \"has percentage\"\n          )\n      )\n      (\n        \"named thing\"\n          (\n            \"description\"\n            . \"a databased entity or concept/class\"\n          )\n          (\n            \"slots\"\n              \"id\"\n              \"name\"\n              \"category\"\n          )\n          (\n            \"subclass_of\"\n            . \"BFO:0000001\"\n          )\n          (\n            \"class_uri\"\n            . \"WD:Q35120\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:OBJC\"\n              \"UMLSSC:T071\"\n              \"UMLSST:enty\"\n              \"UMLSSC:T072\"\n              \"UMLSST:phob\"\n              \"UMLSSC:T073\"\n              \"UMLSST:mnob\"\n              \"UMLSSC:T168\"\n              \"UMLSST:food\"\n          )\n      )\n      (\n        \"data file\"\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"class_uri\"\n            . \"EFO:0004095\"\n          )\n      )\n      (\n        \"source file\"\n          (\n            \"is_a\"\n            . \"data file\"\n          )\n          (\n            \"slots\"\n              \"source version\"\n              \"retrievedOn\"\n          )\n      )\n      (\n        \"data set\"\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"class_uri\"\n            . \"IAO:0000100\"\n          )\n      )\n      (\n        \"data set version\"\n          (\n            \"is_a\"\n            . \"data set\"\n          )\n          (\n            \"slots\"\n              \"title\"\n              \"source data file\"\n              \"versionOf\"\n              \"type\"\n              \"distribution\"\n          )\n      )\n      (\n        \"distribution level\"\n          (\n            \"is_a\"\n            . \"data set version\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"slots\"\n              \"downloadURL\"\n          )\n      )\n      (\n        \"data set summary\"\n          (\n            \"is_a\"\n            . \"data set version\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"slots\"\n              \"source web page\"\n          )\n      )\n      (\n        \"biological entity\"\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"class_uri\"\n            . \"WD:Q28845870\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSC:T050\"\n              \"UMLSST:emod\"\n          )\n      )\n      (\n        \"ontology class\"\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"description\"\n            . \"a concept or class in an ontology, vocabulary or thesaurus\"\n          )\n      )\n      (\n        \"relationship type\"\n          (\n            \"is_a\"\n            . \"ontology class\"\n          )\n          (\n            \"description\"\n            . \"An OWL property used as an edge label\"\n          )\n      )\n      (\n        \"gene ontology class\"\n          (\n            \"description\"\n            . \"an ontology class that describes a functional aspect of a gene, gene prodoct or complex\"\n          )\n          (\n            \"is_a\"\n            . \"ontology class\"\n          )\n          (\n            \"in_subset\"\n              \"testing\"\n          )\n      )\n      (\n        \"thing with taxon\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"A mixin that can be used on any entity with a taxon\"\n          )\n          (\n            \"slots\"\n              \"in taxon\"\n          )\n      )\n      (\n        \"organism taxon\"\n          (\n            \"is_a\"\n            . \"ontology class\"\n          )\n          (\n            \"values_from\"\n              \"NCBITaxon\"\n          )\n          (\n            \"class_uri\"\n            . \"WD:Q16521\"\n          )\n      )\n      (\n        \"organismal entity\"\n          (\n            \"description\"\n            . \"A named entity that is either a part of an organism, a whole organism, population or clade of organisms, excluding molecular entities\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"is_a\"\n            . \"biological entity\"\n          )\n          (\n            \"class_uri\"\n            . \"WD:Q7239\"\n          )\n      )\n      (\n        \"individual organism\"\n          (\n            \"mixins\"\n              \"thing with taxon\"\n          )\n          (\n            \"is_a\"\n            . \"organismal entity\"\n          )\n          (\n            \"subclass_of\"\n            . \"NCBITaxon:1\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:010000\"\n          )\n          (\n            \"mappings\"\n              \"WD:Q795052\"\n              \"UMLSSG:LIVB\"\n              \"UMLSSC:T001\"\n              \"UMLSST:orgm\"\n              \"UMLSSC:T002\"\n              \"UMLSST:plnt\"\n              \"UMLSSC:T004\"\n              \"UMLSST:fngs\"\n              \"UMLSSC:T005\"\n              \"UMLSST:virs\"\n              \"UMLSSC:T007\"\n              \"UMLSST:bact\"\n              \"UMLSSC:T008\"\n              \"UMLSST:anim\"\n              \"UMLSSC:T010\"\n              \"UMLSST:vtbt\"\n              \"UMLSSC:T011\"\n              \"UMLSST:amph\"\n              \"UMLSSC:T012\"\n              \"UMLSST:bird\"\n              \"UMLSSC:T013\"\n              \"UMLSST:fish\"\n              \"UMLSSC:T014\"\n              \"UMLSST:rept\"\n              \"UMLSSC:T015\"\n              \"UMLSST:mamm\"\n              \"UMLSSC:T016\"\n              \"UMLSST:humn\"\n              \"UMLSSC:T096\"\n              \"UMLSST:grup\"\n              \"UMLSSC:T097\"\n              \"UMLSST:prog\"\n              \"UMLSSC:T099\"\n              \"UMLSST:famg\"\n              \"UMLSSC:T100\"\n              \"UMLSST:aggp\"\n              \"UMLSSC:T101\"\n              \"UMLSST:podg\"\n              \"UMLSSC:T194\"\n              \"UMLSST:arch\"\n              \"UMLSSC:T204\"\n              \"UMLSST:euka\"\n          )\n      )\n      (\n        \"case\"\n          (\n            \"aliases\"\n              \"patient\"\n              \"proband\"\n          )\n          (\n            \"is_a\"\n            . \"individual organism\"\n          )\n          (\n            \"description\"\n            . \"An individual organism that has a patient role in some clinical context.\"\n          )\n      )\n      (\n        \"population of individual organisms\"\n          (\n            \"description\"\n            . \"A collection of individuals from the same taxonomic class distinguished by one or more characteristics. Characteristics can include, but are not limited to, shared geographic location, genetics, phenotypes [Alliance for Genome Resources]\"\n          )\n          (\n            \"local_names\"\n              (\n                \"ga4gh\"\n                . \"population\"\n              )\n              (\n                \"agr\"\n                . \"population\"\n              )\n          )\n          (\n            \"mixins\"\n              \"thing with taxon\"\n          )\n          (\n            \"is_a\"\n            . \"organismal entity\"\n          )\n          (\n            \"subclass_of\"\n            . \"PCO:0000001\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:001061\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSC:T098\"\n              \"UMLSST:popg\"\n          )\n          (\n            \"id_prefixes\"\n              \"HANCESTRO\"\n          )\n      )\n      (\n        \"biosample\"\n          (\n            \"aliases\"\n              \"biospecimen\"\n              \"sample\"\n          )\n          (\n            \"mixins\"\n              \"thing with taxon\"\n          )\n          (\n            \"is_a\"\n            . \"organismal entity\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:001050\"\n          )\n      )\n      (\n        \"disease or phenotypic feature\"\n          (\n            \"aliases\"\n              \"phenome\"\n          )\n          (\n            \"is_a\"\n            . \"biological entity\"\n          )\n          (\n            \"description\"\n            . \"Either one of a disease or an individual phenotypic feature. Some knowledge resources such as Monarch treat these as distinct, others such as MESH conflate.\"\n          )\n          (\n            \"mixins\"\n              \"thing with taxon\"\n          )\n          (\n            \"union_of\"\n              \"disease\"\n              \"phenotypic feature\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSC:T033\"\n              \"UMLSST:fndg\"\n          )\n      )\n      (\n        \"disease\"\n          (\n            \"aliases\"\n              \"condition\"\n              \"disorder\"\n              \"medical condition\"\n          )\n          (\n            \"is_a\"\n            . \"disease or phenotypic feature\"\n          )\n          (\n            \"class_uri\"\n            . \"MONDO:0000001\"\n          )\n          (\n            \"mappings\"\n              \"WD:Q12136\"\n              \"SIO:010299\"\n              \"UMLSSG:DISO\"\n              \"UMLSSC:T019\"\n              \"UMLSST:cgab\"\n              \"UMLSSC:T020\"\n              \"UMLSST:acab\"\n              \"UMLSSC:T037\"\n              \"UMLSST:inpo\"\n              \"UMLSSC:T046\"\n              \"UMLSST:patf\"\n              \"UMLSSC:T047\"\n              \"UMLSST:dsyn\"\n              \"UMLSSC:T048\"\n              \"UMLSST:mobd\"\n              \"UMLSSC:T049\"\n              \"UMLSST:comd\"\n              \"UMLSSC:T184\"\n              \"UMLSST:sosy\"\n              \"UMLSSC:T190\"\n              \"UMLSST:anab\"\n              \"UMLSSC:T191\"\n              \"UMLSST:neop\"\n          )\n      )\n      (\n        \"phenotypic feature\"\n          (\n            \"aliases\"\n              \"sign\"\n              \"symptom\"\n              \"phenotype\"\n              \"trait\"\n              \"endophenotype\"\n          )\n          (\n            \"is_a\"\n            . \"disease or phenotypic feature\"\n          )\n          (\n            \"subclass_of\"\n            . \"UPHENO:0001001\"\n          )\n          (\n            \"class_uri\"\n            . \"UPHENO:0001001\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010056\"\n              \"WD:Q169872\"\n          )\n      )\n      (\n        \"environment\"\n          (\n            \"aliases\"\n              \"environment\"\n              \"exposure\"\n              \"experimental condition\"\n          )\n          (\n            \"is_a\"\n            . \"biological entity\"\n          )\n          (\n            \"description\"\n            . \"A feature of the environment of an organism that influences one or more phenotypic features of that organism, potentially mediated by genes\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:000955\"\n          )\n      )\n      (\n        \"information content entity\"\n          (\n            \"aliases\"\n              \"information\"\n              \"information artefact\"\n              \"information entity\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"description\"\n            . \"a piece of information that typically describes some piece of biology or is used as support.\"\n          )\n          (\n            \"class_uri\"\n            . \"IAO:0000030\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:CONC\"\n              \"UMLSSC:T077\"\n              \"UMLSST:cnce\"\n              \"UMLSSC:T078\"\n              \"UMLSST:idcn\"\n              \"UMLSSC:T079\"\n              \"UMLSST:tmco\"\n              \"UMLSSC:T080\"\n              \"UMLSST:qlco\"\n              \"UMLSSC:T081\"\n              \"UMLSST:qnco\"\n              \"UMLSSC:T082\"\n              \"UMLSST:spco\"\n              \"UMLSSC:T089\"\n              \"UMLSST:rnlw\"\n              \"UMLSSC:T102\"\n              \"UMLSST:grpa\"\n              \"UMLSSC:T169\"\n              \"UMLSST:ftcn\"\n              \"UMLSSC:T171\"\n              \"UMLSST:lang\"\n              \"UMLSSC:T185\"\n              \"UMLSST:clas\"\n          )\n      )\n      (\n        \"confidence level\"\n          (\n            \"is_a\"\n            . \"information content entity\"\n          )\n          (\n            \"description\"\n            . \"Level of confidence in a statement\"\n          )\n          (\n            \"values_from\"\n              \"cio\"\n          )\n          (\n            \"class_uri\"\n            . \"CIO:0000028\"\n          )\n      )\n      (\n        \"evidence type\"\n          (\n            \"is_a\"\n            . \"information content entity\"\n          )\n          (\n            \"aliases\"\n              \"evidence code\"\n          )\n          (\n            \"description\"\n            . \"Class of evidence that supports an association\"\n          )\n          (\n            \"values_from\"\n              \"eco\"\n          )\n          (\n            \"class_uri\"\n            . \"ECO:0000000\"\n          )\n      )\n      (\n        \"publication\"\n          (\n            \"is_a\"\n            . \"information content entity\"\n          )\n          (\n            \"aliases\"\n              \"reference\"\n          )\n          (\n            \"description\"\n            . \"Any published piece of information. Can refer to a whole publication, or to a part of it (e.g. a figure, figure legend, or section highlighted by NLP). The scope is intended to be general and include information published on the web as well as journals.\"\n          )\n          (\n            \"class_uri\"\n            . \"IAO:0000311\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSC:T170\"\n              \"UMLSST:inpr\"\n          )\n          (\n            \"id_prefixes\"\n              \"PMID\"\n          )\n      )\n      (\n        \"administrative entity\"\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n      )\n      (\n        \"provider\"\n          (\n            \"is_a\"\n            . \"administrative entity\"\n          )\n          (\n            \"aliases\"\n              \"agent\"\n              \"group\"\n          )\n          (\n            \"description\"\n            . \"person, group, organization or project that provides a piece of information\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:ORGA\"\n              \"UMLSSC:T092\"\n              \"UMLSST:orgt\"\n              \"UMLSSC:T093\"\n              \"UMLSST:hcro\"\n              \"UMLSSC:T094\"\n              \"UMLSST:pros\"\n              \"UMLSSC:T095\"\n              \"UMLSST:shro\"\n          )\n      )\n      (\n        \"molecular entity\"\n          (\n            \"is_a\"\n            . \"biological entity\"\n          )\n          (\n            \"mixins\"\n              \"thing with taxon\"\n          )\n          (\n            \"aliases\"\n              \"bioentity\"\n          )\n          (\n            \"description\"\n            . \"A gene, gene product, small molecule or macromolecule (including protein complex)\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:010341\"\n          )\n          (\n            \"mappings\"\n              \"WD:Q43460564\"\n              \"UMLSSG:GENE\"\n              \"UMLSSC:T085\"\n              \"UMLSST:mosq\"\n          )\n      )\n      (\n        \"chemical substance\"\n          (\n            \"is_a\"\n            . \"molecular entity\"\n          )\n          (\n            \"description\"\n            . \"May be a chemical entity or a formulation with a chemical entity as active ingredient, or a complex material with multiple chemical entities as part\"\n          )\n          (\n            \"subclass_of\"\n            . \"CHEBI:24431\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:010004\"\n          )\n          (\n            \"mappings\"\n              \"WD:Q79529\"\n              \"UMLSSC:T167\"\n              \"UMLSST:sbst\"\n              \"UMLSSG:CHEM\"\n              \"UMLSSC:T103\"\n              \"UMLSST:chem\"\n              \"UMLSSC:T104\"\n              \"UMLSST:chvs\"\n              \"UMLSSC:T109\"\n              \"UMLSST:orch\"\n              \"UMLSSC:T114\"\n              \"UMLSST:nnon\"\n              \"UMLSSC:T120\"\n              \"UMLSST:chvf\"\n              \"UMLSSC:T121\"\n              \"UMLSST:phsu\"\n              \"UMLSSC:T122\"\n              \"UMLSST:bodm\"\n              \"UMLSSC:T123\"\n              \"UMLSST:bacs\"\n              \"UMLSSC:T125\"\n              \"UMLSST:horm\"\n              \"UMLSSC:T126\"\n              \"UMLSST:enzy\"\n              \"UMLSSC:T127\"\n              \"UMLSST:vita\"\n              \"UMLSSC:T129\"\n              \"UMLSST:imft\"\n              \"UMLSSC:T130\"\n              \"UMLSST:irda\"\n              \"UMLSSC:T131\"\n              \"UMLSST:hops\"\n              \"UMLSSC:T192\"\n              \"UMLSST:rcpt\"\n              \"UMLSSC:T195\"\n              \"UMLSST:antb\"\n              \"UMLSSC:T196\"\n              \"UMLSST:elii\"\n              \"UMLSSC:T197\"\n              \"UMLSST:inch\"\n          )\n          (\n            \"id_prefixes\"\n              \"CHEBI\"\n              \"CHEMBL.COMPOUND\"\n          )\n      )\n      (\n        \"carbohydrate\"\n          (\n            \"is_a\"\n            . \"chemical substance\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSC:T088\"\n              \"UMLSST:crbs\"\n          )\n      )\n      (\n        \"drug\"\n          (\n            \"is_a\"\n            . \"chemical substance\"\n          )\n          (\n            \"description\"\n            . \"A substance intended for use in the diagnosis, cure, mitigation, treatment, or prevention of disease\"\n          )\n          (\n            \"comments\"\n              \"The CHEBI ID represents a role rather than a substance\"\n          )\n          (\n            \"class_uri\"\n            . \"WD:Q12140\"\n          )\n          (\n            \"mappings\"\n              \"CHEBI:23888\"\n              \"UMLSSC:T200\"\n              \"UMLSST:clnd\"\n          )\n      )\n      (\n        \"metabolite\"\n          (\n            \"is_a\"\n            . \"chemical substance\"\n          )\n          (\n            \"description\"\n            . \"Any intermediate or product resulting from metabolism. Includes primary and secondary metabolites.\"\n          )\n          (\n            \"comments\"\n              \"The CHEBI ID represents a role rather than a substance\"\n          )\n          (\n            \"class_uri\"\n            . \"CHEBI:25212\"\n          )\n      )\n      (\n        \"anatomical entity\"\n          (\n            \"is_a\"\n            . \"organismal entity\"\n          )\n          (\n            \"mixins\"\n              \"thing with taxon\"\n          )\n          (\n            \"subclass_of\"\n            . \"UBERON:0001062\"\n          )\n          (\n            \"description\"\n            . \"A subcellular location, cell type or gross anatomical part\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:010046\"\n          )\n          (\n            \"mappings\"\n              \"WD:Q4936952\"\n              \"UMLSSG:ANAT\"\n              \"UMLSSC:T022\"\n              \"UMLSST:bdsy\"\n              \"UMLSSC:T029\"\n              \"UMLSST:blor\"\n              \"UMLSSC:T030\"\n              \"UMLSST:bsoj\"\n              \"UMLSSC:T031\"\n              \"UMLSST:bdsu\"\n          )\n      )\n      (\n        \"life stage\"\n          (\n            \"is_a\"\n            . \"organismal entity\"\n          )\n          (\n            \"mixins\"\n              \"thing with taxon\"\n          )\n          (\n            \"subclass_of\"\n            . \"UBERON:0000105\"\n          )\n          (\n            \"description\"\n            . \"A stage of development or growth of an organism, including post-natal adult stages\"\n          )\n      )\n      (\n        \"planetary entity\"\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"description\"\n            . \"Any entity or process that exists at the level of the whole planet\"\n          )\n      )\n      (\n        \"environmental process\"\n          (\n            \"is_a\"\n            . \"planetary entity\"\n          )\n          (\n            \"mixins\"\n              \"occurrent\"\n          )\n          (\n            \"subclass_of\"\n            . \"ENVO:02500000\"\n          )\n      )\n      (\n        \"environmental feature\"\n          (\n            \"is_a\"\n            . \"planetary entity\"\n          )\n          (\n            \"subclass_of\"\n            . \"ENVO:00002297\"\n          )\n      )\n      (\n        \"clinical entity\"\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"description\"\n            . \"Any entity or process that exists in the clinical domain and outside the biological realm. Diseases are placed under biological entities\"\n          )\n      )\n      (\n        \"clinical trial\"\n          (\n            \"is_a\"\n            . \"clinical entity\"\n          )\n      )\n      (\n        \"clinical intervention\"\n          (\n            \"is_a\"\n            . \"clinical entity\"\n          )\n      )\n      (\n        \"device\"\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"description\"\n            . \"A thing made or adapted for a particular purpose, especially a piece of mechanical or electronic equipment\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:DEVI\"\n              \"UMLSSC:T074\"\n              \"UMLSST:medd\"\n              \"UMLSSC:T075\"\n              \"UMLSST:resd\"\n              \"UMLSSC:T203\"\n              \"UMLSST:drdd\"\n          )\n      )\n      (\n        \"genomic entity\"\n          (\n            \"is_a\"\n            . \"molecular entity\"\n          )\n          (\n            \"aliases\"\n              \"sequence feature\"\n          )\n          (\n            \"description\"\n            . \"an entity that can either be directly located on a genome (gene, transcript, exon, regulatory region) or is encoded in a genome (protein)\"\n          )\n          (\n            \"slots\"\n              \"has biological sequence\"\n          )\n          (\n            \"class_uri\"\n            . \"SO:0000110\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSC:T028\"\n              \"UMLSST:gngm\"\n              \"UMLSSC:T086\"\n              \"UMLSST:nusq\"\n          )\n      )\n      (\n        \"genome\"\n          (\n            \"is_a\"\n            . \"genomic entity\"\n          )\n          (\n            \"description\"\n            . \"A genome is the sum of genetic material within a cell or virion.\"\n          )\n          (\n            \"class_uri\"\n            . \"SO:0001026\"\n          )\n          (\n            \"mappings\"\n              \"SIO:000984\"\n              \"WD:Q7020\"\n          )\n      )\n      (\n        \"transcript\"\n          (\n            \"is_a\"\n            . \"genomic entity\"\n          )\n          (\n            \"description\"\n            . \"An RNA synthesized on a DNA or RNA template by an RNA polymerase\"\n          )\n          (\n            \"class_uri\"\n            . \"SO:0000673\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010450\"\n          )\n      )\n      (\n        \"exon\"\n          (\n            \"is_a\"\n            . \"genomic entity\"\n          )\n          (\n            \"description\"\n            . \"A region of the transcript sequence within a gene which is not removed from the primary RNA transcript by RNA splicing\"\n          )\n          (\n            \"class_uri\"\n            . \"SO:0000147\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010445\"\n              \"WD:Q373027\"\n          )\n      )\n      (\n        \"coding sequence\"\n          (\n            \"is_a\"\n            . \"genomic entity\"\n          )\n          (\n            \"class_uri\"\n            . \"SO:0000316\"\n          )\n          (\n            \"mappings\"\n              \"SIO:001390\"\n          )\n      )\n      (\n        \"macromolecular machine\"\n          (\n            \"is_a\"\n            . \"genomic entity\"\n          )\n          (\n            \"union_of\"\n              \"gene\"\n              \"gene product\"\n              \"macromolecular complex\"\n          )\n          (\n            \"description\"\n            . \"A union of gene, gene product, and macromolecular complex. These are the basic units of function in a cell. They either carry out individual biological activities, or they encode molecules which do this.\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"name\"\n                  (\n                    \"range\"\n                    . \"symbol type\"\n                  )\n                  (\n                    \"description\"\n                    . \"genes are typically designated by a short symbol and a full name. We map the symbol to the default display name and use an additional slot for full name\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene or gene product\"\n          (\n            \"is_a\"\n            . \"macromolecular machine\"\n          )\n          (\n            \"union_of\"\n              \"gene\"\n              \"gene product\"\n          )\n          (\n            \"description\"\n            . \"a union of genes or gene products. Frequently an identifier for one will be used as proxy for another\"\n          )\n          (\n            \"id_prefixes\"\n              \"CHEMBL.TARGET\"\n          )\n      )\n      (\n        \"gene\"\n          (\n            \"is_a\"\n            . \"gene or gene product\"\n          )\n          (\n            \"aliases\"\n              \"locus\"\n          )\n          (\n            \"class_uri\"\n            . \"SO:0000704\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010035\"\n              \"WD:Q7187\"\n          )\n          (\n            \"id_prefixes\"\n              \"NCBIGene\"\n              \"ENSEMBL\"\n              \"HGNC\"\n              \"MGI\"\n              \"ZFIN\"\n              \"dictyBase\"\n              \"WB\"\n              \"SGD\"\n              \"PomBase\"\n          )\n      )\n      (\n        \"gene product\"\n          (\n            \"is_a\"\n            . \"gene or gene product\"\n          )\n          (\n            \"description\"\n            . \"The functional molecular product of a single gene. Gene products are either proteins or functional RNA molecules\"\n          )\n          (\n            \"union_of\"\n              \"protein\"\n              \"RNA product\"\n          )\n          (\n            \"class_uri\"\n            . \"WD:Q424689\"\n          )\n      )\n      (\n        \"protein\"\n          (\n            \"is_a\"\n            . \"gene product\"\n          )\n          (\n            \"aliases\"\n              \"polypeptide\"\n          )\n          (\n            \"description\"\n            . \"A gene product that is composed of a chain of amino acid sequences and is produced by ribosome-mediated translation of mRNA\"\n          )\n          (\n            \"class_uri\"\n            . \"PR:000000001\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010043\"\n              \"WD:Q8054\"\n              \"UMLSSC:T087\"\n              \"UMLSST:amas\"\n              \"UMLSSC:T116\"\n              \"UMLSST:aapp\"\n          )\n          (\n            \"id_prefixes\"\n              \"UniProtKB\"\n              \"PR\"\n              \"ENSEMBL\"\n          )\n      )\n      (\n        \"gene product isoform\"\n          (\n            \"is_a\"\n            . \"gene product\"\n          )\n          (\n            \"description\"\n            . \"This is an abstract class that can be mixed in with different kinds of gene products to indicate that the gene product is intended to represent a specific isoform rather than a canonical or reference or generic product. The designation of canonical or reference may be arbitrary, or it may represent the superclass of all isoforms.\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n      )\n      (\n        \"protein isoform\"\n          (\n            \"aliases\"\n              \"proteoform\"\n          )\n          (\n            \"is_a\"\n            . \"protein\"\n          )\n          (\n            \"description\"\n            . \"Represents a protein that is a specific isoform of the canonical or reference protein. See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4114032/\"\n          )\n          (\n            \"mixins\"\n              \"gene product isoform\"\n          )\n          (\n            \"id_prefixes\"\n              \"UniProtKB\"\n              \"PR\"\n              \"ENSEMBL\"\n          )\n      )\n      (\n        \"RNA product\"\n          (\n            \"is_a\"\n            . \"gene product\"\n          )\n          (\n            \"class_uri\"\n            . \"CHEBI:33697\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010450\"\n              \"WD:Q11053\"\n          )\n          (\n            \"id_prefixes\"\n              \"RNAcentral\"\n          )\n      )\n      (\n        \"RNA product isoform\"\n          (\n            \"is_a\"\n            . \"RNA product\"\n          )\n          (\n            \"description\"\n            . \"Represents a protein that is a specific isoform of the canonical or reference RNA\"\n          )\n          (\n            \"mixins\"\n              \"gene product isoform\"\n          )\n          (\n            \"id_prefixes\"\n              \"RNAcentral\"\n          )\n      )\n      (\n        \"noncoding RNA product\"\n          (\n            \"is_a\"\n            . \"RNA product\"\n          )\n          (\n            \"id_prefixes\"\n              \"RNAcentral\"\n              \"NCBIGene\"\n              \"ENSEMBL\"\n          )\n          (\n            \"subclass_of\"\n            . \"SO:0000655\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:001235\"\n          )\n      )\n      (\n        \"microRNA\"\n          (\n            \"is_a\"\n            . \"noncoding RNA product\"\n          )\n          (\n            \"subclass_of\"\n            . \"SO:0000276\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:001397\"\n          )\n          (\n            \"mappings\"\n              \"WD:Q310899\"\n          )\n          (\n            \"id_prefixes\"\n              \"MIR\"\n          )\n      )\n      (\n        \"macromolecular complex\"\n          (\n            \"is_a\"\n            . \"macromolecular machine\"\n          )\n          (\n            \"subclass_of\"\n            . \"GO:0032991\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:010046\"\n          )\n          (\n            \"mappings\"\n              \"WD:Q22325163\"\n          )\n          (\n            \"id_prefixes\"\n              \"IntAct\"\n              \"GO\"\n              \"PR\"\n              \"Reactome\"\n          )\n      )\n      (\n        \"gene grouping\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"any grouping of multiple genes or gene products\"\n          )\n      )\n      (\n        \"gene family\"\n          (\n            \"is_a\"\n            . \"molecular entity\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:001380\"\n          )\n          (\n            \"mappings\"\n              \"NCIT:C20130\"\n              \"WD:Q417841\"\n          )\n          (\n            \"mixins\"\n              \"gene grouping\"\n          )\n          (\n            \"description\"\n            . \"any grouping of multiple genes or gene products related by common descent\"\n          )\n          (\n            \"id_prefixes\"\n              \"PANTHER\"\n          )\n      )\n      (\n        \"zygosity\"\n          (\n            \"is_a\"\n            . \"attribute\"\n          )\n          (\n            \"class_uri\"\n            . \"GENO:0000133\"\n          )\n      )\n      (\n        \"genotype\"\n          (\n            \"is_a\"\n            . \"genomic entity\"\n          )\n          (\n            \"description\"\n            . \"An information content entity that describes a genome by specifying the total variation in genomic sequence and/or gene expression, relative to some extablished background\"\n          )\n          (\n            \"comments\"\n              \"Consider renaming as genotypic entity\"\n          )\n          (\n            \"slots\"\n              \"has zygosity\"\n          )\n          (\n            \"class_uri\"\n            . \"GENO:0000536\"\n          )\n          (\n            \"mappings\"\n              \"SIO:001079\"\n          )\n      )\n      (\n        \"haplotype\"\n          (\n            \"is_a\"\n            . \"genomic entity\"\n          )\n          (\n            \"description\"\n            . \"A set of zero or more Alleles on a single instance of a Sequence[VMC]\"\n          )\n          (\n            \"class_uri\"\n            . \"GENO:0000871\"\n          )\n          (\n            \"mappings\"\n              \"VMC:Haplotype\"\n          )\n      )\n      (\n        \"sequence variant\"\n          (\n            \"aliases\"\n              \"allele\"\n          )\n          (\n            \"local_names\"\n              (\n                \"agr\"\n                . \"allele\"\n              )\n          )\n          (\n            \"is_a\"\n            . \"genomic entity\"\n          )\n          (\n            \"description\"\n            . \"An allele that varies in its sequence from what is considered the reference allele at that locus.\"\n          )\n          (\n            \"comments\"\n              \"This class is for modeling the specific state at a locus. A single dbSNP rs ID could correspond to more than one sequence variants (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)\"\n          )\n          (\n            \"class_uri\"\n            . \"GENO:0000002\"\n          )\n          (\n            \"mappings\"\n              \"WD:Q15304597\"\n              \"SIO:010277\"\n              \"VMC:Allele\"\n          )\n          (\n            \"id_prefixes\"\n              \"ClinVar\"\n              \"WD\"\n              \"CIViC\"\n          )\n          (\n            \"alt_descriptions\"\n              (\n                \"AGR\"\n                . \"An enitity that describes a single affected, endogenous allele.  These can be of any type that matches that definition\"\n              )\n              (\n                \"VMC\"\n                . \"A contiguous change at a Location\"\n              )\n          )\n          (\n            \"slots\"\n              \"has gene\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"has gene\"\n                  (\n                    \"multivalued\"\n                    . #t\n                  )\n                  (\n                    \"description\"\n                    . \"Each allele can be associated with any number of genes\"\n                  )\n              )\n              (\n                \"has biological sequence\"\n                  (\n                    \"description\"\n                    . \"The state of the sequence w.r.t a reference sequence\"\n                  )\n              )\n              (\n                \"id\"\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"ZFIN:ZDB-ALT-980203-1091\"\n                        )\n                        (\n                          \"description\"\n                          . \"ti282a allele from ZFIN\"\n                        )\n                      )\n                      (\n                        (\n                          \"value\"\n                          . \"ClinVarVariant:17681\"\n                        )\n                        (\n                          \"description\"\n                          . \"NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"drug exposure\"\n          (\n            \"aliases\"\n              \"drug intake\"\n              \"drug dose\"\n          )\n          (\n            \"is_a\"\n            . \"environment\"\n          )\n          (\n            \"description\"\n            . \"A drug exposure is an intake of a particular chemical substance\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"drug\"\n                  (\n                    \"range\"\n                    . \"chemical substance\"\n                  )\n                  (\n                    \"required\"\n                    . #t\n                  )\n                  (\n                    \"multivalued\"\n                    . #t\n                  )\n              )\n          )\n          (\n            \"class_uri\"\n            . \"ECTO:0000509\"\n          )\n          (\n            \"mappings\"\n              \"SIO:001005\"\n          )\n      )\n      (\n        \"treatment\"\n          (\n            \"aliases\"\n              \"medical action\"\n          )\n          (\n            \"is_a\"\n            . \"environment\"\n          )\n          (\n            \"description\"\n            . \"A treatment is targeted at a disease or phenotype and may involve multiple drug 'exposures'\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"has exposure parts\"\n                  (\n                    \"multivalued\"\n                    . #t\n                  )\n                  (\n                    \"range\"\n                    . \"drug exposure\"\n                  )\n                  (\n                    \"required\"\n                    . #t\n                  )\n              )\n          )\n          (\n            \"class_uri\"\n            . \"OGMS:0000090\"\n          )\n          (\n            \"mappings\"\n              \"SIO:001398\"\n          )\n      )\n      (\n        \"geographic location\"\n          (\n            \"is_a\"\n            . \"planetary entity\"\n          )\n          (\n            \"description\"\n            . \"a location that can be described in lat/long coordinates\"\n          )\n          (\n            \"slots\"\n              \"latitude\"\n              \"longitude\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:GEOG\"\n              \"UMLSST:geoa\"\n              \"UMLSSC:T083\"\n          )\n      )\n      (\n        \"geographic location at time\"\n          (\n            \"is_a\"\n            . \"geographic location\"\n          )\n          (\n            \"description\"\n            . \"a location that can be described in lat/long coordinates, for a particular time\"\n          )\n          (\n            \"slots\"\n              \"timepoint\"\n          )\n      )\n      (\n        \"association\"\n          (\n            \"description\"\n            . \"A typed association between two entities, supported by evidence\"\n          )\n          (\n            \"comments\"\n              \"This is roughly the model used by biolink and ontobio at the moment\"\n          )\n          (\n            \"slots\"\n              \"subject\"\n              \"relation\"\n              \"object\"\n              \"association_id\"\n              \"negated\"\n              \"association type\"\n              \"qualifiers\"\n              \"publications\"\n              \"provided by\"\n          )\n          (\n            \"class_uri\"\n            . \"OBAN:association\"\n          )\n          (\n            \"mappings\"\n              \"rdf:Statement\"\n              \"owl:Axiom\"\n          )\n      )\n      (\n        \"genotype to genotype part association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"Any association between one genotype and a genotypic entity that is a sub-component of it\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"has variant part\"\n                  )\n              )\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"genotype\"\n                  )\n                  (\n                    \"description\"\n                    . \"parent genotype\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"genotype\"\n                  )\n                  (\n                    \"description\"\n                    . \"child genotype\"\n                  )\n              )\n          )\n      )\n      (\n        \"genotype to gene association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"Any association between a genotype and a gene. The genotype have have multiple variants in that gene or a single one. There is no assumption of cardinality\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"relation\"\n                  (\n                    \"description\"\n                    . \"the relationship type used to connect genotype to gene\"\n                  )\n              )\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"genotype\"\n                  )\n                  (\n                    \"description\"\n                    . \"parent genotype\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"gene\"\n                  )\n                  (\n                    \"description\"\n                    . \"gene implicated in genotype\"\n                  )\n              )\n          )\n      )\n      (\n        \"genotype to variant association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"Any association between a genotype and a sequence variant.\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"relation\"\n                  (\n                    \"description\"\n                    . \"the relationship type used to connect genotype to gene\"\n                  )\n              )\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"genotype\"\n                  )\n                  (\n                    \"description\"\n                    . \"parent genotype\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"sequence variant\"\n                  )\n                  (\n                    \"description\"\n                    . \"gene implicated in genotype\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene to gene association\"\n          (\n            \"aliases\"\n              \"molecular or genetic interaction\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"abstract parent class for different kinds of gene-gene or gene product to gene product relationships. Includes homology and interaction.\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"the subject gene in the association. If the relation is symmetric, subject vs object is arbitrary. We allow a gene product to stand as proxy for the gene or vice versa\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"the object gene in the association. If the relation is symmetric, subject vs object is arbitrary. We allow a gene product to stand as proxy for the gene or vice versa\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene to gene homology association\"\n          (\n            \"is_a\"\n            . \"gene to gene association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n              \"relation\"\n          )\n          (\n            \"description\"\n            . \"A homology association between two genes. May be orthology (in which case the species of subject and object should differ) or paralogy (in which case the species may be the same)\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"homologous to\"\n                  )\n                  (\n                    \"symmetric\"\n                    . #t\n                  )\n                  (\n                    \"description\"\n                    . \"homology relationship type\"\n                  )\n              )\n          )\n      )\n      (\n        \"pairwise interaction association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"An interaction at the molecular level between two physical entities\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n              \"relation\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"molecular entity\"\n                  )\n              )\n              (\n                \"id\"\n                  (\n                    \"description\"\n                    . \"identifier for the interaction. This may come from an interaction database such as IMEX.\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"WB:WBInteraction000538741\"\n                        )\n                      )\n                  )\n                  (\n                    \"values_from\"\n                      \"IMEX\"\n                      \"BioGRID\"\n                  )\n              )\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"molecularly interacts with\"\n                  )\n                  (\n                    \"values_from\"\n                      \"ro\"\n                      \"mi\"\n                  )\n                  (\n                    \"description\"\n                    . \"interaction relationship type\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"RO:0002447\"\n                        )\n                        (\n                          \"description\"\n                          . \"the subject molecular phosphorylates the object molecule\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"molecular entity\"\n                  )\n              )\n              (\n                \"interacting molecules category\"\n                  (\n                    \"range\"\n                    . \"ontology class\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"MI:1048\"\n                        )\n                        (\n                          \"description\"\n                          . \"smallmolecule-protein\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"pairwise gene to gene interaction\"\n          (\n            \"is_a\"\n            . \"gene to gene association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n              \"relation\"\n          )\n          (\n            \"mixins\"\n              \"pairwise interaction association\"\n          )\n          (\n            \"description\"\n            . \"An interaction between two genes or two gene products. May be physical (e.g. protein binding) or genetic (between genes). May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"molecularly interacts with\"\n                  )\n                  (\n                    \"symmetric\"\n                    . #t\n                  )\n                  (\n                    \"values_from\"\n                      \"ro\"\n                      \"mi\"\n                  )\n                  (\n                    \"description\"\n                    . \"interaction relationship type\"\n                  )\n              )\n          )\n      )\n      (\n        \"cell line to thing association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"An relationship between a cell line and another entity\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"cell line\"\n                  )\n              )\n          )\n      )\n      (\n        \"cell line to disease or phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"mixins\"\n              \"cell line to thing association\"\n              \"thing to disease or phenotypic feature association\"\n          )\n          (\n            \"description\"\n            . \"An relationship between a cell line and a disease or a phenotype, where the cell line is derived from an individual with that disease or phenotype\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"disease or phenotypic feature\"\n                  )\n              )\n          )\n      )\n      (\n        \"chemical to thing association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"An interaction between a chemical entity and another entity\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"chemical substance\"\n                  )\n                  (\n                    \"description\"\n                    . \"the chemical substance or entity that is an interactor\"\n                  )\n              )\n          )\n      )\n      (\n        \"case to thing association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"An abstract association for use where the case is the subject\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"case\"\n                  )\n                  (\n                    \"description\"\n                    . \"the case (e.g. patient) that has the property\"\n                  )\n              )\n          )\n      )\n      (\n        \"chemical to disease or phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:000993\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"chemical to thing association\"\n              \"thing to disease or phenotypic feature association\"\n          )\n          (\n            \"description\"\n            . \"An interaction between a chemical entity and a phenotype or disease, where the presence of the chemical gives rise to or exacerbates the phenotype\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"disease or phenotypic feature\"\n                  )\n                  (\n                    \"description\"\n                    . \"the disease or phenotype that is affected by the chemical\"\n                  )\n              )\n          )\n      )\n      (\n        \"chemical to pathway association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:001250\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"chemical to thing association\"\n          )\n          (\n            \"description\"\n            . \"An interaction between a chemical entity and a biological process or pathway\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"pathway\"\n                  )\n                  (\n                    \"description\"\n                    . \"the pathway that is affected by the chemical\"\n                  )\n              )\n          )\n      )\n      (\n        \"chemical to gene association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:001257\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"chemical to thing association\"\n          )\n          (\n            \"description\"\n            . \"An interaction between a chemical entity and a gene or gene product\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"the gene or gene product that is affected by the chemical\"\n                  )\n              )\n          )\n      )\n      (\n        \"biosample to thing association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"An association between a biosample and something\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"biosample\"\n                  )\n                  (\n                    \"description\"\n                    . \"the biosample being described\"\n                  )\n              )\n          )\n      )\n      (\n        \"biosample to disease or phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"biosample to thing association\"\n              \"thing to disease or phenotypic feature association\"\n          )\n          (\n            \"description\"\n            . \"An association between a biosample and a disease or phenotype\"\n          )\n      )\n      (\n        \"frequency qualifier mixin\"\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"Qualifier for freqency type associations\"\n          )\n          (\n            \"slots\"\n              \"frequency qualifier\"\n          )\n      )\n      (\n        \"entity to feature or disease qualifiers\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"is_a\"\n            . \"frequency qualifier mixin\"\n          )\n          (\n            \"description\"\n            . \"Qualifiers for entity to disease or phenotype associations\"\n          )\n          (\n            \"slots\"\n              \"severity qualifier\"\n              \"onset qualifier\"\n          )\n      )\n      (\n        \"entity to phenotypic feature association\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"defining_slots\"\n              \"object\"\n          )\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"mixins\"\n              \"entity to feature or disease qualifiers\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"description\"\n                  (\n                    \"description\"\n                    . \"A description of specific aspects of this phenotype, not otherwise covered by the phenotype ontology class\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"phenotypic feature\"\n                  )\n                  (\n                    \"description\"\n                    . \"phenotypic class\"\n                  )\n                  (\n                    \"values_from\"\n                      \"upheno\"\n                      \"hp\"\n                      \"mp\"\n                      \"wbphenotypic feature\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"HP:0002487\"\n                        )\n                        (\n                          \"description\"\n                          . \"Hyperkinesis\"\n                        )\n                      )\n                      (\n                        (\n                          \"value\"\n                          . \"WBPhenotype:0000180\"\n                        )\n                        (\n                          \"description\"\n                          . \"axon morphology variant\"\n                        )\n                      )\n                      (\n                        (\n                          \"value\"\n                          . \"MP:0001569\"\n                        )\n                        (\n                          \"description\"\n                          . \"abnormal circulating bilirubin level\"\n                        )\n                      )\n                  )\n              )\n          )\n          (\n            \"slots\"\n              \"sex qualifier\"\n          )\n      )\n      (\n        \"entity to disease association\"\n          (\n            \"description\"\n            . \"mixin class for any association whose object (target node) is a disease\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"is_a\"\n            . \"entity to feature or disease qualifiers\"\n          )\n          (\n            \"defining_slots\"\n              \"object\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"disease\"\n                  )\n                  (\n                    \"description\"\n                    . \"disease\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"MONDO:0020066\"\n                        )\n                        (\n                          \"description\"\n                          . \"Ehlers-Danlos syndrome\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"disease or phenotypic feature association to thing association\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"disease or phenotypic feature\"\n                  )\n                  (\n                    \"description\"\n                    . \"disease or phenotype\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"MONDO:0017314\"\n                        )\n                        (\n                          \"description\"\n                          . \"Ehlers-Danlos syndrome, vascular type\"\n                        )\n                      )\n                      (\n                        (\n                          \"value\"\n                          . \"MP:0013229\"\n                        )\n                        (\n                          \"description\"\n                          . \"abnormal brain ventricle size\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"disease or phenotypic feature association to location association\"\n          (\n            \"is_a\"\n            . \"disease or phenotypic feature association to thing association\"\n          )\n          (\n            \"description\"\n            . \"An association between either a disease or a phenotypic feature and an anatomical entity, where the disease/feature manifests in that site.\"\n          )\n          (\n            \"class_uri\"\n            . \"NCIT:R100\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"anatomical entity\"\n                  )\n                  (\n                    \"description\"\n                    . \"anatomical entity in which the disease or feature is found\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"UBERON:0002048\"\n                        )\n                        (\n                          \"description\"\n                          . \"lung\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"thing to disease or phenotypic feature association\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"object\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"disease or phenotypic feature\"\n                  )\n                  (\n                    \"description\"\n                    . \"disease or phenotype\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"MONDO:0017314\"\n                        )\n                        (\n                          \"description\"\n                          . \"Ehlers-Danlos syndrome, vascular type\"\n                        )\n                      )\n                      (\n                        (\n                          \"value\"\n                          . \"MP:0013229\"\n                        )\n                        (\n                          \"description\"\n                          . \"abnormal brain ventricle size\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"disease to thing association\"\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"disease\"\n                  )\n                  (\n                    \"description\"\n                    . \"disease class\"\n                  )\n                  (\n                    \"values_from\"\n                      \"mondo\"\n                      \"omim\"\n                      \"orphanet\"\n                      \"ncit\"\n                      \"doid\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"MONDO:0017314\"\n                        )\n                        (\n                          \"description\"\n                          . \"Ehlers-Danlos syndrome, vascular type\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"genotype to phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"Any association between one genotype and a phenotypic feature, where having the genotype confers the phenotype, either in isolation or through environment\"\n          )\n          (\n            \"mixins\"\n              \"entity to phenotypic feature association\"\n              \"genotype to thing association\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"has phenotype\"\n                  )\n              )\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"genotype\"\n                  )\n                  (\n                    \"description\"\n                    . \"genotype that is associated with the phenotypic feature\"\n                  )\n              )\n          )\n      )\n      (\n        \"environment to phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"Any association between an environment and a phenotypic feature, where being in the environment influences the phenotype\"\n          )\n          (\n            \"mixins\"\n              \"entity to phenotypic feature association\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"environment\"\n                  )\n              )\n          )\n      )\n      (\n        \"disease to phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"An association between a disease and a phenotypic feature in which the phenotypic feature is associated with the disease in some way\"\n          )\n          (\n            \"mixins\"\n              \"entity to phenotypic feature association\"\n              \"disease to thing association\"\n          )\n      )\n      (\n        \"case to phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"An association between a case (e.g. individual patient) and a phenotypic feature in which the individual has or has had the phenotype\"\n          )\n          (\n            \"mixins\"\n              \"entity to phenotypic feature association\"\n              \"case to thing association\"\n          )\n      )\n      (\n        \"gene to thing association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"gene that is the subject of the association\"\n                  )\n              )\n          )\n      )\n      (\n        \"variant to thing association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"local_names\"\n              (\n                \"ga4gh\"\n                . \"variant annotation\"\n              )\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"sequence variant\"\n                  )\n                  (\n                    \"description\"\n                    . \"a sequence variant in which the allele state is associated with some other entity\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"ClinVar:38077\"\n                        )\n                        (\n                          \"description\"\n                          . \"ClinVar representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)\"\n                        )\n                      )\n                      (\n                        (\n                          \"value\"\n                          . \"ClinGen:CA024716\"\n                        )\n                        (\n                          \"description\"\n                          . \"chr13:g.32921033G>C (hg19) in ClinGen\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"gene to phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"class_uri\"\n            . \"http://bio2rdf.org/wormbase_vocabulary:Gene-Phenotype-Association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"entity to phenotypic feature association\"\n              \"gene to thing association\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"gene in which variation is correlated with the phenotypic feature\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"HGNC:2197\"\n                        )\n                        (\n                          \"description\"\n                          . \"COL1A1 (Human)\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"gene to disease association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"comments\"\n              \"NCIT:R176 refers to the inverse relationship\"\n          )\n          (\n            \"class_uri\"\n            . \"SIO:000983\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"entity to disease association\"\n              \"gene to thing association\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"gene in which variation is correlated with the disease - may be protective or causative or associative, or as a model\"\n                  )\n              )\n          )\n      )\n      (\n        \"variant to population association\"\n          (\n            \"description\"\n            . \"An association between a variant and a population, where the variant has particular frequency in the population\"\n          )\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"variant to thing association\"\n              \"frequency quantifier\"\n              \"frequency qualifier mixin\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"sequence variant\"\n                  )\n                  (\n                    \"description\"\n                    . \"an allele that has a certain frequency in a given population\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"NC_000017.11:g.43051071A>T\"\n                        )\n                        (\n                          \"description\"\n                          . \"17:41203088 A/C in gnomad\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"population of individual organisms\"\n                  )\n                  (\n                    \"description\"\n                    . \"the population that is observed to have the frequency\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"HANCESTRO:0010\"\n                        )\n                        (\n                          \"description\"\n                          . \"African\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"has quotient\"\n                  (\n                    \"description\"\n                    . \"frequency of allele in population, expressed as a number with allele divided by number in reference population, aka allele frequency\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"0.0001666\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"has count\"\n                  (\n                    \"description\"\n                    . \"number in object population that carry a particular allele, aka allele count\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"4\"\n                        )\n                        (\n                          \"description\"\n                          . \"4 individuals in gnomad set\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"has total\"\n                  (\n                    \"description\"\n                    . \"number all populations that carry a particular allele, aka allele number\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"24014\"\n                        )\n                        (\n                          \"description\"\n                          . \"24014 individuals in gnomad set\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"population to population association\"\n          (\n            \"description\"\n            . \"An association between a two populations\"\n          )\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"population of individual organisms\"\n                  )\n                  (\n                    \"description\"\n                    . \"the population that form the subject of the association\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"population of individual organisms\"\n                  )\n                  (\n                    \"description\"\n                    . \"the population that form the object of the association\"\n                  )\n              )\n              (\n                \"relation\"\n                  (\n                    \"description\"\n                    . \"A relationship type that holds between the subject and object populations. Standard mereological relations can be used. E.g. subject part-of object, subject overlaps object. Derivation relationships can also be used\"\n                  )\n              )\n          )\n      )\n      (\n        \"variant to phenotypic feature association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"variant to thing association\"\n              \"entity to phenotypic feature association\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"sequence variant\"\n                  )\n                  (\n                    \"description\"\n                    . \"a sequence variant in which the allele state is associated in some way with the phenotype state\"\n                  )\n              )\n          )\n      )\n      (\n        \"variant to disease association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"comments\"\n              \"TODO decide no how to model pathogenicity\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"mixins\"\n              \"variant to thing association\"\n              \"entity to disease association\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"description\"\n                    . \"a sequence variant in which the allele state is associated in some way with the disease state\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"ClinVar:52241\"\n                        )\n                        (\n                          \"description\"\n                          . \"NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"relation\"\n                  (\n                    \"description\"\n                    . \"E.g. is pathogenic for\"\n                  )\n                  (\n                    \"subproperty_of\"\n                    . \"related condition\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"description\"\n                    . \"a disease that is associated with that variant\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"MONDO:0016419\"\n                        )\n                        (\n                          \"description\"\n                          . \"hereditary breast cancer\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"model to disease mixin\"\n          (\n            \"mixin\"\n            . #t\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"description\"\n            . \"This mixin is used for any association class for which the subject (source node) plays the role of a 'model', in that it recapitulates some features of the disease in a way that is useful for studying the disease outside a patient carrying the disease\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"description\"\n                    . \"The entity that serves as the model of the disease. This may be an organism, a strain of organism, a genotype or variant that exhibits similar features, or a gene that when mutated exhibits features of the disease\"\n                  )\n              )\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"model of\"\n                  )\n                  (\n                    \"description\"\n                    . \"The relationship to the disease\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene as a model of disease association\"\n          (\n            \"is_a\"\n            . \"gene to disease association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n              \"relation\"\n          )\n          (\n            \"mixins\"\n              \"model to disease mixin\"\n              \"entity to disease association\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"A gene that has a role in modeling the disease. This may be a model organism ortholog of a known disease gene, or it may be a gene whose mutants recapitulate core features of the disease.\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene has variant that contributes to disease association\"\n          (\n            \"is_a\"\n            . \"gene to disease association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n              \"relation\"\n          )\n          (\n            \"slots\"\n              \"sequence variant qualifier\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"A gene that has a role in modeling the disease. This may be a model organism ortholog of a known disease gene, or it may be a gene whose mutants recapitulate core features of the disease.\"\n                  )\n              )\n          )\n      )\n      (\n        \"genotype to thing association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"genotype\"\n                  )\n                  (\n                    \"description\"\n                    . \"genotype that is the subject of the association\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene to expression site association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n              \"relation\"\n          )\n          (\n            \"description\"\n            . \"An association between a gene and an expression site, possibly qualified by stage/timing info.\"\n          )\n          (\n            \"notes\"\n              \"TBD: introduce subclasses for distinction between wild-type and experimental conditions?\"\n          )\n          (\n            \"see_also\"\n            . \"https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee\"\n          )\n          (\n            \"slots\"\n              \"stage qualifier\"\n              \"quantifier qualifier\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"description\"\n                    . \"gene in which variation is correlated with the phenotypic feature\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"anatomical entity\"\n                  )\n                  (\n                    \"description\"\n                    . \"location in which the gene is expressed\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"UBERON:0002037\"\n                        )\n                        (\n                          \"description\"\n                          . \"cerebellum\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"relation\"\n                  (\n                    \"description\"\n                    . \"expression relationship\"\n                  )\n                  (\n                    \"subproperty_of\"\n                    . \"expressed in\"\n                  )\n              )\n              (\n                \"stage qualifier\"\n                  (\n                    \"range\"\n                    . \"life stage\"\n                  )\n                  (\n                    \"description\"\n                    . \"stage at which the gene is expressed in the site\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"UBERON:0000069\"\n                        )\n                        (\n                          \"description\"\n                          . \"larval stage\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"quantifier qualifier\"\n                  (\n                    \"description\"\n                    . \"can be used to indicate magnitude, or also ranking\"\n                  )\n              )\n          )\n      )\n      (\n        \"sequence variant modulates treatment association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"description\"\n            . \"An association between a sequence variant and a treatment or health intervention. The treatment object itself encompasses both the disease and the drug used.\"\n          )\n          (\n            \"comments\"\n              \"An alternate way to model the same information could be via a qualifier\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"abstract\"\n            . #t\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"sequence variant\"\n                  )\n                  (\n                    \"description\"\n                    . \"variant that modulates the treatment of some disease\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"treatment\"\n                  )\n                  (\n                    \"description\"\n                    . \"treatment whose efficacy is modulated by the subject variant\"\n                  )\n              )\n          )\n      )\n      (\n        \"functional association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"description\"\n            . \"An association between a macromolecular machine (gene, gene product or complex of gene products) and either a molecular activity, a biological process or a cellular location in which a function is executed\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"macromolecular machine\"\n                  )\n                  (\n                    \"description\"\n                    . \"gene, product or macromolecular complex that has the function associated with the GO term\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"ZFIN:ZDB-GENE-050417-357\"\n                        )\n                        (\n                          \"description\"\n                          . \"twist1b\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"gene ontology class\"\n                  )\n                  (\n                    \"description\"\n                    . \"class describing the activity, process or localization of the gene product\"\n                  )\n                  (\n                    \"values_from\"\n                      \"go\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"GO:0016301\"\n                        )\n                        (\n                          \"description\"\n                          . \"kinase activity\"\n                        )\n                      )\n                      (\n                        (\n                          \"value\"\n                          . \"GO:0045211\"\n                        )\n                        (\n                          \"description\"\n                          . \"postsynaptic membrane\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"macromolecular machine to molecular activity association\"\n          (\n            \"is_a\"\n            . \"functional association\"\n          )\n          (\n            \"description\"\n            . \"A functional association between a macromolecular machine (gene, gene product or complex) and a molecular activity (as represented in the GO molecular function branch), where the entity carries out the activity, or contributes to its execution\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"molecular activity\"\n                  )\n              )\n          )\n      )\n      (\n        \"macromolecular machine to biological process association\"\n          (\n            \"is_a\"\n            . \"functional association\"\n          )\n          (\n            \"description\"\n            . \"A functional association between a macromolecular machine (gene, gene product or complex) and a biological process or pathway (as represented in the GO biological process branch), where the entity carries out some part of the process, regulates it, or acts upstream of it\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"biological process\"\n                  )\n              )\n          )\n      )\n      (\n        \"macromolecular machine to cellular component association\"\n          (\n            \"is_a\"\n            . \"functional association\"\n          )\n          (\n            \"description\"\n            . \"A functional association between a macromolecular machine (gene, gene product or complex) and a cellular component (as represented in the GO cellular component branch), where the entity carries out its function in the cellular component\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"cellular component\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene to go term association\"\n          (\n            \"aliases\"\n              \"functional association\"\n          )\n          (\n            \"is_a\"\n            . \"functional association\"\n          )\n          (\n            \"class_uri\"\n            . \"http://bio2rdf.org/wormbase_vocabulary:Gene-GO-Association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"molecular entity\"\n                  )\n                  (\n                    \"description\"\n                    . \"gene, product or macromolecular complex that has the function associated with the GO term\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"ZFIN:ZDB-GENE-050417-357\"\n                        )\n                        (\n                          \"description\"\n                          . \"twist1b\"\n                        )\n                      )\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"gene ontology class\"\n                  )\n                  (\n                    \"description\"\n                    . \"class describing the activity, process or localization of the gene product\"\n                  )\n                  (\n                    \"values_from\"\n                      \"go\"\n                  )\n                  (\n                    \"examples\"\n                      (\n                        (\n                          \"value\"\n                          . \"GO:0016301\"\n                        )\n                        (\n                          \"description\"\n                          . \"kinase activity\"\n                        )\n                      )\n                  )\n              )\n          )\n      )\n      (\n        \"genomic sequence localization\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"description\"\n            . \"A relationship between a sequence feature and an entity it is localized to. The reference entity may be a chromosome, chromosome region or information entity such as a contig\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"aliases\"\n                      \"sequence feature\"\n                  )\n                  (\n                    \"range\"\n                    . \"genomic entity\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"aliases\"\n                      \"reference\"\n                  )\n                  (\n                    \"range\"\n                    . \"genomic entity\"\n                  )\n              )\n          )\n          (\n            \"slots\"\n              \"start interbase coordinate\"\n              \"end interbase coordinate\"\n              \"genome build\"\n              \"phase\"\n          )\n          (\n            \"class_uri\"\n            . \"faldo:location\"\n          )\n      )\n      (\n        \"sequence feature relationship\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"For example, a particular exon is part of a particular transcript or gene\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"genomic entity\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"genomic entity\"\n                  )\n              )\n          )\n      )\n      (\n        \"transcript to gene relationship\"\n          (\n            \"is_a\"\n            . \"sequence feature relationship\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"A gene is a collection of transcripts\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"transcript\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"gene\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene to gene product relationship\"\n          (\n            \"is_a\"\n            . \"sequence feature relationship\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"A gene is transcribed and potentially translated to a gene product\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"gene product\"\n                  )\n              )\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"has gene product\"\n                  )\n              )\n          )\n      )\n      (\n        \"exon to transcript relationship\"\n          (\n            \"is_a\"\n            . \"sequence feature relationship\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"description\"\n            . \"A transcript is formed from multiple exons\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"exon\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"transcript\"\n                  )\n              )\n          )\n      )\n      (\n        \"gene regulatory relationship\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"description\"\n            . \"A regulatory relationship between two genes\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"relation\"\n                  (\n                    \"description\"\n                    . \"the direction is always from regulator to regulated\"\n                  )\n              )\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"role\"\n                    . \"regulatory gene\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"gene or gene product\"\n                  )\n                  (\n                    \"role\"\n                    . \"regulated gene\"\n                  )\n              )\n          )\n      )\n      (\n        \"anatomical entity to anatomical entity association\"\n          (\n            \"is_a\"\n            . \"association\"\n          )\n          (\n            \"defining_slots\"\n              \"subject\"\n              \"object\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"anatomical entity\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"anatomical entity\"\n                  )\n              )\n          )\n      )\n      (\n        \"anatomical entity to anatomical entity part of association\"\n          (\n            \"is_a\"\n            . \"anatomical entity to anatomical entity association\"\n          )\n          (\n            \"description\"\n            . \"A relationship between two anatomical entities where the relationship is mereological, i.e the two entities are related by parthood. This includes relationships between cellular components and cells, between cells and tissues, tissues and whole organisms\"\n          )\n          (\n            \"defining_slots\"\n              \"relation\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"anatomical entity\"\n                  )\n                  (\n                    \"description\"\n                    . \"the part\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"anatomical entity\"\n                  )\n                  (\n                    \"description\"\n                    . \"the whole\"\n                  )\n              )\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"part of\"\n                  )\n              )\n          )\n      )\n      (\n        \"anatomical entity to anatomical entity ontogenic association\"\n          (\n            \"is_a\"\n            . \"anatomical entity to anatomical entity association\"\n          )\n          (\n            \"description\"\n            . \"A relationship between two anatomical entities where the relationship is ontogenic, i.e the two entities are related by development. A number of different relationship types can be used to specify the precise nature of the relationship\"\n          )\n          (\n            \"defining_slots\"\n              \"relation\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"subject\"\n                  (\n                    \"range\"\n                    . \"anatomical entity\"\n                  )\n                  (\n                    \"description\"\n                    . \"the structure at a later time\"\n                  )\n              )\n              (\n                \"object\"\n                  (\n                    \"range\"\n                    . \"anatomical entity\"\n                  )\n                  (\n                    \"description\"\n                    . \"the structure at an earlier time\"\n                  )\n              )\n              (\n                \"relation\"\n                  (\n                    \"subproperty_of\"\n                    . \"develops from\"\n                  )\n              )\n          )\n      )\n      (\n        \"occurrent\"\n          (\n            \"description\"\n            . \"A processual entity\"\n          )\n          (\n            \"is_a\"\n            . \"named thing\"\n          )\n          (\n            \"class_uri\"\n            . \"BFO:0000003\"\n          )\n      )\n      (\n        \"biological process or activity\"\n          (\n            \"is_a\"\n            . \"biological entity\"\n          )\n          (\n            \"description\"\n            . \"Either an individual molecular activity, or a collection of causally connected molecular activities\"\n          )\n          (\n            \"id_prefixes\"\n              \"GO\"\n              \"Reactome\"\n          )\n      )\n      (\n        \"molecular activity\"\n          (\n            \"is_a\"\n            . \"biological process or activity\"\n          )\n          (\n            \"aliases\"\n              \"molecular function\"\n              \"molecular event\"\n              \"reaction\"\n          )\n          (\n            \"mixins\"\n              \"occurrent\"\n          )\n          (\n            \"description\"\n            . \"An execution of a molecular function carried out by a gene product or macromolecular complex.\"\n          )\n          (\n            \"class_uri\"\n            . \"GO:0003674\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSC:T044\"\n              \"UMLSST:moft\"\n          )\n          (\n            \"id_prefixes\"\n              \"GO\"\n              \"Reactome\"\n          )\n      )\n      (\n        \"activity and behavior\"\n          (\n            \"is_a\"\n            . \"occurrent\"\n          )\n          (\n            \"description\"\n            . \"Activity or behavior of any independent integral living, organization or mechanical actor in the world\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:ACTI\"\n              \"UMLSSC:T051\"\n              \"UMLSST:evnt\"\n              \"UMLSSC:T052\"\n              \"UMLSST:acty\"\n              \"UMLSSC:T053\"\n              \"UMLSST:bhvr\"\n              \"UMLSSC:T054\"\n              \"UMLSST:socb\"\n              \"UMLSSC:T055\"\n              \"UMLSST:inbe\"\n              \"UMLSSC:T056\"\n              \"UMLSST:dora\"\n              \"UMLSSC:T057\"\n              \"UMLSST:ocac\"\n              \"UMLSSC:T064\"\n              \"UMLSST:gora\"\n              \"UMLSSC:T066\"\n              \"UMLSST:mcha\"\n          )\n      )\n      (\n        \"procedure\"\n          (\n            \"is_a\"\n            . \"occurrent\"\n          )\n          (\n            \"description\"\n            . \"A series of actions conducted in a certain order or manner\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:PROC\"\n              \"UMLSSC:T058\"\n              \"UMLSST:hlca\"\n              \"UMLSSC:T059\"\n              \"UMLSST:lbpr\"\n              \"UMLSSC:T060\"\n              \"UMLSST:diap\"\n              \"UMLSSC:T061\"\n              \"UMLSST:topp\"\n              \"UMLSSC:T062\"\n              \"UMLSST:resa\"\n              \"UMLSSC:T063\"\n              \"UMLSST:mbrt\"\n              \"UMLSSC:T065\"\n              \"UMLSST:edac\"\n          )\n      )\n      (\n        \"phenomenon\"\n          (\n            \"is_a\"\n            . \"occurrent\"\n          )\n          (\n            \"description\"\n            . \"a fact or situation that is observed to exist or happen, especially one whose cause or explanation is in question\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:PHEN\"\n              \"UMLSSC:T034\"\n              \"UMLSST:lbtr\"\n              \"UMLSSC:T038\"\n              \"UMLSST:biof\"\n              \"UMLSSC:T067\"\n              \"UMLSST:phpr\"\n              \"UMLSSC:T068\"\n              \"UMLSST:hcpp\"\n              \"UMLSSC:T069\"\n              \"UMLSST:eehu\"\n              \"UMLSSC:T070\"\n              \"UMLSST:npop\"\n          )\n      )\n      (\n        \"biological process\"\n          (\n            \"is_a\"\n            . \"biological process or activity\"\n          )\n          (\n            \"mixins\"\n              \"occurrent\"\n          )\n          (\n            \"description\"\n            . \"One or more causally connected executions of molecular functions\"\n          )\n          (\n            \"class_uri\"\n            . \"GO:0008150\"\n          )\n          (\n            \"mappings\"\n              \"SIO:000006\"\n              \"WD:Q2996394\"\n          )\n          (\n            \"id_prefixes\"\n              \"GO\"\n              \"Reactome\"\n          )\n      )\n      (\n        \"pathway\"\n          (\n            \"is_a\"\n            . \"biological process\"\n          )\n          (\n            \"class_uri\"\n            . \"GO:0007165\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010526\"\n              \"PW:0000001\"\n              \"WD:Q4915012\"\n          )\n          (\n            \"id_prefixes\"\n              \"GO\"\n              \"Reactome\"\n          )\n      )\n      (\n        \"physiological process\"\n          (\n            \"aliases\"\n              \"physiology\"\n          )\n          (\n            \"is_a\"\n            . \"biological process\"\n          )\n          (\n            \"mappings\"\n              \"UMLSSG:PHYS\"\n              \"UMLSSC:T032\"\n              \"UMLSST:orga\"\n              \"UMLSSC:T039\"\n              \"UMLSST:phsf\"\n              \"UMLSSC:T040\"\n              \"UMLSST:orgf\"\n              \"UMLSSC:T041\"\n              \"UMLSST:menp\"\n              \"UMLSSC:T042\"\n              \"UMLSST:ortf\"\n              \"UMLSSC:T043\"\n              \"UMLSST:celf\"\n              \"UMLSSC:T045\"\n              \"UMLSST:genf\"\n              \"UMLSSC:T201\"\n              \"UMLSST:clna\"\n          )\n      )\n      (\n        \"cellular component\"\n          (\n            \"is_a\"\n            . \"anatomical entity\"\n          )\n          (\n            \"description\"\n            . \"A location in or around a cell\"\n          )\n          (\n            \"class_uri\"\n            . \"GO:0005575\"\n          )\n          (\n            \"mappings\"\n              \"SIO:001400\"\n              \"WD:Q5058355\"\n              \"UMLSSC:T026\"\n              \"UMLSST:celc\"\n          )\n          (\n            \"id_prefixes\"\n              \"GO\"\n          )\n      )\n      (\n        \"cell\"\n          (\n            \"is_a\"\n            . \"anatomical entity\"\n          )\n          (\n            \"class_uri\"\n            . \"GO:0005623\"\n          )\n          (\n            \"mappings\"\n              \"CL:0000000\"\n              \"SIO:010001\"\n              \"WD:Q7868\"\n              \"UMLSSC:T025\"\n              \"UMLSST:cell\"\n          )\n          (\n            \"id_prefixes\"\n              \"CL\"\n              \"PO\"\n          )\n      )\n      (\n        \"cell line\"\n          (\n            \"is_a\"\n            . \"biosample\"\n          )\n          (\n            \"class_uri\"\n            . \"CLO:0000031\"\n          )\n          (\n            \"id_prefixes\"\n              \"CLO\"\n          )\n      )\n      (\n        \"gross anatomical structure\"\n          (\n            \"aliases\"\n              \"tissue\"\n              \"organ\"\n          )\n          (\n            \"is_a\"\n            . \"anatomical entity\"\n          )\n          (\n            \"class_uri\"\n            . \"UBERON:0010000\"\n          )\n          (\n            \"mappings\"\n              \"SIO:010046\"\n              \"WD:Q4936952\"\n              \"UMLSSC:T017\"\n              \"UMLSST:anst\"\n              \"UMLSSC:T021\"\n              \"UMLSST:ffas\"\n              \"UMLSSC:T023\"\n              \"UMLSST:bpoc\"\n              \"UMLSSC:T024\"\n              \"UMLSST:tisu\"\n              \"UMLSSC:T018\"\n              \"UMLSST:emst\"\n          )\n          (\n            \"id_prefixes\"\n              \"UBERON\"\n              \"PO\"\n              \"FAO\"\n          )\n      )\n  )\n)\n)\n"
  },
  {
    "path": "attic/yaml/example1.scm",
    "content": "(define example1\n'(\n  (\n    \"id\"\n    . \"http://example.org/sample/example1\"\n  )\n  (\n    \"name\"\n    . \"synopsis2\"\n  )\n  (\n    \"prefixes\"\n      (\n        \"foaf\"\n        . \"http://xmlns.com/foaf/0.1/\"\n      )\n      (\n        \"samp\"\n        . \"http://example.org/model/\"\n      )\n      (\n        \"xsd\"\n        . \"http://www.w3.org/2001/XMLSchema#\"\n      )\n  )\n  (\n    \"default_prefix\"\n    . \"samp\"\n  )\n  (\n    \"default_curi_maps\"\n      \"semweb_context\"\n  )\n  (\n    \"default_range\"\n    . \"string\"\n  )\n  (\n    \"types\"\n      (\n        \"string\"\n          (\n            \"base\"\n            . \"str\"\n          )\n          (\n            \"uri\"\n            . \"xsd:string\"\n          )\n      )\n      (\n        \"int\"\n          (\n            \"base\"\n            . \"int\"\n          )\n          (\n            \"uri\"\n            . \"xsd:integer\"\n          )\n      )\n      (\n        \"boolean\"\n          (\n            \"base\"\n            . \"Bool\"\n          )\n          (\n            \"uri\"\n            . \"xsd:boolean\"\n          )\n      )\n  )\n  (\n    \"classes\"\n      (\n        \"person\"\n          (\n            \"description\"\n            . \"A person, living or dead\"\n          )\n          (\n            \"slots\"\n              \"id\"\n              \"first name\"\n              \"last name\"\n              \"age\"\n              \"living\"\n              \"knows\"\n          )\n      )\n      (\n        \"friendly_person\"\n          (\n            \"description\"\n            . \"Any person that knows someone\"\n          )\n          (\n            \"is_a\"\n            . \"person\"\n          )\n          (\n            \"slot_usage\"\n              (\n                \"knows\"\n                  (\n                    \"required\"\n                    . #t\n                  )\n              )\n          )\n      )\n  )\n  (\n    \"slots\"\n      (\n        \"id\"\n          (\n            \"description\"\n            . \"Unique identifier of a person\"\n          )\n          (\n            \"identifier\"\n            . #t\n          )\n      )\n      (\n        \"first name\"\n          (\n            \"description\"\n            . \"The first name of a person\"\n          )\n          (\n            \"slot_uri\"\n            . \"foaf:firstName\"\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n      )\n      (\n        \"last name\"\n          (\n            \"description\"\n            . \"The last name of a person\"\n          )\n          (\n            \"slot_uri\"\n            . \"foaf:lastName\"\n          )\n          (\n            \"required\"\n            . #t\n          )\n      )\n      (\n        \"living\"\n          (\n            \"description\"\n            . \"Whether the person is alive\"\n          )\n          (\n            \"range\"\n            . \"boolean\"\n          )\n          (\n            \"comments\"\n              \"unspecified means unknown\"\n          )\n      )\n      (\n        \"age\"\n          (\n            \"description\"\n            . \"The age of a person if living or age of death if not\"\n          )\n          (\n            \"range\"\n            . \"int\"\n          )\n          (\n            \"slot_uri\"\n            . \"foaf:age\"\n          )\n      )\n      (\n        \"knows\"\n          (\n            \"description\"\n            . \"A person known by this person (indicating some level of reciprocated interaction between the parties).\"\n          )\n          (\n            \"range\"\n            . \"person\"\n          )\n          (\n            \"slot_uri\"\n            . \"foaf:knows\"\n          )\n          (\n            \"multivalued\"\n            . #t\n          )\n      )\n  )\n)\n)\n"
  },
  {
    "path": "attic/yaml/example1.yaml",
    "content": "id: http://example.org/sample/example1\nname: synopsis2\nprefixes:\n    foaf: http://xmlns.com/foaf/0.1/\n    samp: http://example.org/model/\n    xsd: http://www.w3.org/2001/XMLSchema#\n    \ndefault_prefix: samp\n\ndefault_curi_maps:\n    - semweb_context\n    \ndefault_range: string\n\ntypes:\n    string:\n        base: str\n        uri: xsd:string\n    int:\n        base: int\n        uri: xsd:integer\n    boolean:\n        base: Bool\n        uri: xsd:boolean\n        \n\nclasses:\n    person:\n        description: A person, living or dead\n        slots:\n            - id\n            - first name\n            - last name\n            - age\n            - living\n            - knows\n                  \n    friendly_person:\n        description: Any person that knows someone\n        is_a: person\n        slot_usage:\n            knows:\n                required: True\n\nslots:\n    id:\n        description: Unique identifier of a person\n        identifier: true\n\n    first name:\n        description: The first name of a person\n        slot_uri: foaf:firstName\n        multivalued: true\n        \n    last name:\n        description: The last name of a person\n        slot_uri: foaf:lastName\n        required: true\n        \n    living:\n        description: Whether the person is alive\n        range: boolean\n        comments:\n            - unspecified means unknown\n        \n    age:\n        description: The age of a person if living or age of death if not\n        range: int\n        slot_uri: foaf:age\n        \n    knows:\n        description: A person known by this person (indicating some level of reciprocated interaction between the parties).\n        range: person\n        slot_uri: foaf:knows\n        multivalued: true"
  },
  {
    "path": "attic/yaml/yaml.scm",
    "content": "#|\n\nTODOs\n\n* handle 'abstract' or 'mixin' associations -- mixin and abstract classes can never be instantiated!\n\n|#\n\n\n(load \"biolink-model.scm\")\n(define model biolink-model)\n\n(define (cat l1)\n  (map (lambda (c) (car c)) (cdr (assoc l1 model))))\n\n(define (rel l1 l2)\n  (map (lambda (c) (cons (car c)\n                    (let ((p (assoc l2 (cdr c))))\n                      (if p (cdr p) #f))))\n       (cdr (assoc l1 model))))\n\n(define (chain k r)\n  (cons k\n        (let ((p (assoc k r)))\n          (if (cdr p)\n              (chain (cdr p) r)\n              '()))))\n(define (refl-trans-closure r)\n  (map (lambda (p) (chain (car p) r)) r))\n(define (complement w r)\n  (if (null? r) w (complement (remove (car r) w) (cdr r))))\n(define (r-complement w r)\n  (map (lambda (p) (cons (car p) (complement w (cdr p)))) r))\n\n(define categories (cat \"classes\"))\n(define categories-is-a (rel \"classes\" \"is_a\"))\n(define categories-mixin (rel \"classes\" \"mixin\"))\n(define categories-abstract (rel \"classes\" \"abstract\"))\n(define categories-subs (refl-trans-closure categories-is-a))\n;;(define complement-categories-subs (r-complement categories categories-subs))\n\n(define categories-slots (filter (lambda (x) (cdr x)) (rel \"classes\" \"slots\")))\n(define categories-slot_usage (filter (lambda (x) (cdr x)) (rel \"classes\" \"slot_usage\")))\n\n(define predicates (cat \"slots\"))\n(define predicates-is-a (rel \"slots\" \"is_a\"))\n(define predicates-mixin (rel \"slots\" \"mixin\"))\n(define predicates-abstract (rel \"slots\" \"abstract\"))\n(define predicates-subs (refl-trans-closure predicates-is-a))\n;;(define complement-predicates-subs (r-complement predicates predicates-subs))\n\n(define predicates-domain (rel \"slots\" \"domain\"))\n\n(define predicates-range (rel \"slots\" \"range\"))\n\n(define (mk-sub name subs)\n  `(define (,name s u)\n     (conde\n       ,@(map (lambda (cs) `((== s ,(car cs))\n                        ,`(conde\n                            ,@(map (lambda (c) `((== u ,c))) cs))))\n              subs))))\n\n(define (mk-=/=-sub name subs)\n  `(define (,name s u)\n     (conde\n       ,@(map (lambda (cs) (cons `(== s ,(car cs))\n                            (map (lambda (c) `(=/= u ,c)) cs)))\n              subs))))\n\n(define (mk-pred name r)\n  `(define (,name s u)\n     (conde\n       ,@(map (lambda (cs) `((== s ,(car cs))\n                        (== u ,(cdr cs))))\n              r))))\n\n(load \"../code/mk/mk.scm\")\n(load \"../code/mk/test-check.scm\")\n(eval (mk-sub 'categories-subo categories-subs))\n(eval (mk-sub 'predicates-subo predicates-subs))\n;;(eval (mk-sub 'complement-categories-subo complement-categories-subs))\n;;(eval (mk-sub 'complement-predicates-subo complement-predicates-subs))\n(eval (mk-=/=-sub 'not-categories-subo categories-subs))\n(eval (mk-=/=-sub 'not-predicates-subo predicates-subs))\n(eval (mk-pred 'categories-mixino categories-mixin))\n(eval (mk-pred 'categories-abstracto categories-abstract))\n(eval (mk-pred 'predicates-mixino predicates-mixin))\n(eval (mk-pred 'predicates-abstracto predicates-abstract))\n\n(test \"sub-1\"\n  (run* (q) (categories-subo q \"pathway\"))\n  '((\"pathway\")))\n;; (test \"complement-sub-1\"\n;;   (length (run* (q) (complement-categories-subo q \"pathway\")))\n;;   153)\n;; (test \"complement-sub-1b\"\n;;   (length (run* (q) (complement-categories-subo \"pathway\" q)))\n;;   149)\n(test \"not-sub-1\"\n  (length (run* (q) (not-categories-subo q \"pathway\")))\n  151)\n(test \"not-sub-1b\"\n  (run* (q) (not-categories-subo \"pathway\" q))\n  '((_.0 (=/= ((_.0 \"biological entity\"))\n           ((_.0 \"biological process or activity\"))\n           ((_.0 \"biological process\")) ((_.0 \"named thing\"))\n           ((_.0 \"pathway\"))))))\n(test \"sub-2\"\n  (run* (q) (categories-subo q \"gene or gene product\"))\n  '((\"gene or gene product\")\n    (\"gene\") (\"gene product\") (\"protein\") (\"gene product isoform\")\n    (\"protein isoform\") (\"RNA product\") (\"RNA product isoform\")\n    (\"noncoding RNA product\") (\"microRNA\")))\n(test \"super-1\"\n  (run* (q) (categories-subo \"protein\" q))\n  '((\"protein\")\n    (\"gene product\") (\"gene or gene product\") (\"macromolecular machine\")\n    (\"genomic entity\") (\"molecular entity\")\n    (\"biological entity\") (\"named thing\")))\n(test \"super-2\"\n  (run* (q) (predicates-subo \"regulates\" q))\n  '((\"regulates\") (\"affects\") (\"related to\")))\n(test \"super-3\"\n  (run* (q) (predicates-subo q \"homologous to\"))\n  '((\"homologous to\")\n    (\"paralogous to\")\n    (\"orthologous to\")\n    (\"xenologous to\")))\n\n(define (find-spec domain p)\n  (if p\n      (if (cdr p)\n          (cdr p)\n          (let ((parent (assoc (car p) predicates-is-a)))\n            (if parent\n                (find-spec domain (assoc (cdr parent) domain))\n                (error 'find-spec \"no parent\" (car p)))))\n      #f))\n\n(define (mk-valid-type name name_csubo name_psubo)\n  `(define (,name subject verb object)\n     (conde\n       ,@(map (lambda (pd pr)\n                (assert (equal? (car pd) (car pr)))\n                `((== verb ,(car pd))\n                  (== subject ,(find-spec predicates-domain pd))\n                  (== object ,(find-spec predicates-range pr))))\n              predicates-domain predicates-range))))\n\n(eval (mk-valid-type 'valid-typeo 'categories-subo 'predicates-subo))\n\n(test \"valid-1\"\n  (run* (q)\n    (fresh (a b)\n      (valid-typeo a \"regulates\" b)\n      (categories-subo \"pathway\" a)\n      (categories-subo \"disease\" b)))\n  '((_.0)))\n\n(test \"valid-2\"\n  (run* (q p) (valid-typeo q \"homologous to\" p))\n  '(((\"named thing\" \"named thing\"))))\n\n(test \"valid-sub-1\"\n  (run* (s v o)\n    (predicates-subo v \"homologous to\")\n    (valid-typeo s v o))\n  '(((\"named thing\" \"homologous to\" \"named thing\"))\n    ((\"named thing\" \"paralogous to\" \"named thing\"))\n    ((\"named thing\" \"orthologous to\" \"named thing\"))\n    ((\"named thing\" \"xenologous to\" \"named thing\"))))\n\n(test \"valid-sub-2\"\n  (run* (s v o)\n    (predicates-subo \"homologous to\" v)\n    (valid-typeo s v o))\n  '(((\"named thing\" \"homologous to\" \"named thing\"))\n    ((\"named thing\" \"related to\" \"named thing\"))))\n\n(test \"valid-sub-3\"\n  (run* (s s1 v o o1)\n    (predicates-subo v \"genetically interacts with\")\n    (valid-typeo s v o)\n    (categories-subo s1 s)\n    (categories-subo o1 o))\n  '(((\"gene\" \"gene\" \"genetically interacts with\" \"gene\" \"gene\"))))\n\n(test \"valid-4\"\n  (run* (s v o)\n    (== \"molecularly interacts with\" v)\n    (valid-typeo s v o))\n  '(((\"molecular entity\"\n      \"molecularly interacts with\"\n      \"molecular entity\"))))\n\n(test \"valid-sub-4\"\n  (length (run* (s v o o1)\n            (== \"molecularly interacts with\" v)\n            (valid-typeo s v o)\n            (categories-subo o1 o)))\n  26)\n\n(test \"valid-sub-5\"\n  (run* (s v o o1)\n    (== \"molecularly interacts with\" v)\n    (== o1 \"sequence variant\")\n    (valid-typeo s v o)\n    (categories-subo o1 o))\n  '(((\"molecular entity\"\n      \"molecularly interacts with\"\n      \"molecular entity\"\n      \"sequence variant\"))))\n\n(test \"mol-sub-1\"\n  (length (run* (q)\n            (fresh (x)\n              (== \"molecular entity\" x)\n              (=/= x q)\n              (categories-subo q x))))\n  25)\n\n(test \"gtga-1\"\n  (run* (q)\n    (fresh (x)\n      (== \"gene to gene association\" x)\n      (categories-subo x q)))\n  '((\"gene to gene association\")\n    (\"association\")))\n\n(assoc \"range\" (cdr (assoc \"subject\" (cdr (assoc \"gene to gene association\" categories-slot_usage)))))\n\n(define (mk-slot-table name slot)\n  `(define (,name category slot)\n     (conde\n       ,@(filter (lambda (x) x)\n                 (map\n                  (lambda (c)\n                    (let ((s (assoc slot (cdr c))))\n                      (if s\n                          (let ((r (assoc \"range\" (cdr s))))\n                            (if r\n                                `((== category ,(car c))\n                                  (== slot ,(cdr r)))\n                                #f))\n                          #f)))\n                  categories-slot_usage)))))\n\n(eval (mk-slot-table 'categories-subjecto \"subject\"))\n(eval (mk-slot-table 'categories-objecto \"object\"))\n\n(test \"slot-challenge-0a\"\n  (run* (b)\n    (categories-subo \"protein\" b))\n  '((\"protein\")\n    (\"gene product\")\n    (\"gene or gene product\")\n    (\"macromolecular machine\")\n    (\"genomic entity\")\n    (\"molecular entity\")\n    (\"biological entity\")\n    (\"named thing\")))\n\n(test \"slot-challenge-0b\"\n  (run* (a)\n    (categories-subo a \"association\"))\n  '((\"association\")\n    (\"genotype to genotype part association\")\n    (\"genotype to gene association\")\n    (\"genotype to variant association\")\n    (\"gene to gene association\")\n    (\"gene to gene homology association\")\n    (\"pairwise interaction association\")\n    (\"pairwise gene to gene interaction\")\n    (\"cell line to thing association\")\n    (\"cell line to disease or phenotypic feature association\")\n    (\"chemical to thing association\")\n    (\"case to thing association\")\n    (\"chemical to disease or phenotypic feature association\")\n    (\"chemical to pathway association\")\n    (\"chemical to gene association\")\n    (\"biosample to thing association\")\n    (\"biosample to disease or phenotypic feature association\")\n    (\"entity to phenotypic feature association\")\n    (\"disease or phenotypic feature association to thing association\")\n    (\"disease or phenotypic feature association to location association\")\n    (\"thing to disease or phenotypic feature association\")\n    (\"disease to thing association\")\n    (\"genotype to phenotypic feature association\")\n    (\"environment to phenotypic feature association\")\n    (\"disease to phenotypic feature association\")\n    (\"case to phenotypic feature association\")\n    (\"gene to thing association\")\n    (\"variant to thing association\")\n    (\"gene to phenotypic feature association\")\n    (\"gene to disease association\")\n    (\"variant to population association\")\n    (\"population to population association\")\n    (\"variant to phenotypic feature association\")\n    (\"variant to disease association\")\n    (\"gene as a model of disease association\")\n    (\"gene has variant that contributes to disease association\")\n    (\"genotype to thing association\")\n    (\"gene to expression site association\")\n    (\"sequence variant modulates treatment association\")\n    (\"functional association\")\n    (\"macromolecular machine to molecular activity association\")\n    (\"macromolecular machine to biological process association\")\n    (\"macromolecular machine to cellular component association\")\n    (\"gene to go term association\")\n    (\"genomic sequence localization\")\n    (\"sequence feature relationship\")\n    (\"transcript to gene relationship\")\n    (\"gene to gene product relationship\")\n    (\"exon to transcript relationship\")\n    (\"gene regulatory relationship\")\n    (\"anatomical entity to anatomical entity association\")\n    (\"anatomical entity to anatomical entity part of association\")\n    (\"anatomical entity to anatomical entity ontogenic association\")))\n\n(test \"slot-challenge-0c\"\n  (run* (b)\n    (categories-subjecto \"gene to gene association\" b))\n  '((\"gene or gene product\")))\n\n(test \"slot-challenge-0d\"\n  (run* (a)\n    (categories-subjecto a \"gene or gene product\"))\n  '((\"gene to gene association\")\n    (\"gene to thing association\")\n    (\"gene to phenotypic feature association\")\n    (\"gene to disease association\")\n    (\"gene as a model of disease association\")\n    (\"gene has variant that contributes to disease association\")\n    (\"gene to expression site association\")\n    (\"gene regulatory relationship\")))\n\n(test \"slot-challenge-0e\"\n  (run* (a)\n    (categories-objecto a \"gene or gene product\"))\n  '((\"gene to gene association\")\n    (\"chemical to gene association\")\n    (\"gene regulatory relationship\")))\n\n(test \"slot-challenge-0f\"\n  (run* (q)\n    (fresh (a)\n      (conde\n        ((categories-subjecto \"chemical to gene association\" a)\n         (== `(categories-subjecto ,a) q))\n        ((categories-objecto \"chemical to gene association\" a)\n         (== `(categories-objecto ,a) q)))))\n  '(((categories-objecto \"gene or gene product\"))))\n\n(test \"slot-challenge-1\"\n  (run 1 (a b)\n    (categories-subo a \"association\")\n    (categories-subo \"protein\" b)\n    (categories-subjecto a b))\n  '(((\"gene to gene association\" \"gene or gene product\"))))\n\n(test \"slot-challenge-2\"\n  (run 1 (a b)\n    (categories-subo a \"association\")\n    (categories-subo \"protein\" b)\n    (categories-objecto a b))\n  '(((\"gene to gene association\" \"gene or gene product\"))))\n\n(define (specific-predo s1 v1 o1 s2 v2 o2)\n  (fresh ()\n    (categories-subo v2 v1)\n    (categories-subjecto v2 s2)\n    (categories-objecto v2 o2)\n    (categories-subo s1 s2)\n    (categories-subo o1 o2)))\n\n(test \"slot-challenge-3\"\n  (run 1 (a b c)\n    (specific-predo \"protein\" \"association\" \"protein\" a b c))\n  '(((\"gene or gene product\"\n      \"gene to gene association\"\n      \"gene or gene product\"))))\n\n(test \"slot-challenge-4\"\n  (run* (b)\n    (fresh (a c)\n      (specific-predo \"protein\" \"association\" \"protein\" a b c)))\n  '((\"gene to gene association\")\n    (\"pairwise interaction association\")\n    (\"genomic sequence localization\")\n    (\"sequence feature relationship\")\n    (\"gene regulatory relationship\")))\n\n(test \"slot-challenge-5\"\n  (run* (a b c)\n    (specific-predo \"protein\" \"association\" \"protein\" a b c))\n  '(((\"gene or gene product\" \"gene to gene association\" \"gene or gene product\"))\n    ((\"molecular entity\" \"pairwise interaction association\" \"molecular entity\")) ;; abstract!  shouldn't exist\n    ((\"genomic entity\" \"genomic sequence localization\" \"genomic entity\"))\n    ((\"genomic entity\" \"sequence feature relationship\" \"genomic entity\"))\n    ((\"gene or gene product\" \"gene regulatory relationship\" \"gene or gene product\")) ;; does this association apply for a protein?\n    ))\n\n(test \"slot-challenge-6\"\n  (run* (a b c)\n    (specific-predo \"protein\" \"association\" \"protein\" a b c)\n    (categories-mixino a #f)\n    (categories-mixino b #f)\n    (categories-mixino c #f))\n  '(((\"gene or gene product\" \"gene to gene association\" \"gene or gene product\"))\n    ((\"genomic entity\" \"genomic sequence localization\" \"genomic entity\"))\n    ((\"genomic entity\" \"sequence feature relationship\" \"genomic entity\"))\n    ((\"gene or gene product\" \"gene regulatory relationship\" \"gene or gene product\"))))\n\n\n;;; \"homologous to\" should inherit the range and domain\n;;;\n;;; \"homologous to\" \"is_a\" \"related to\"\n;;;\n;;; related to\n;;;\n;;; (\n;;;   \"domain\"\n;;;   . \"named thing\"\n;;; )\n;;; (\n;;;   \"range\"\n;;;   . \"named thing\"\n;;; )\n;;; (\n;;;   \"multivalued\"\n;;;   . #t\n;;; )\n\n\n(test \"inherit-1\"\n  (run* (q p)\n    (valid-typeo q \"homologous to\" p))\n  '(((\"named thing\" \"named thing\"))))\n\n(test \"inherit-2\"\n  (run* (q)\n    (fresh (pred)\n      (== \"homologous to\" pred)\n      (=/= pred q)\n      (predicates-subo pred q)))\n  '((\"related to\")))\n\n(test \"inherit-3\"\n  (run* (x y)\n    (valid-typeo x \"related to\" y))\n  '(((\"named thing\" \"named thing\"))))\n\n(test \"inherit-4\"\n  (run* (q) (categories-subo \"named thing\" q))\n  '((\"named thing\")))\n\n(test \"inherit-5\"\n  (run* (q p r)\n    (predicates-subo \"homologous to\" r)\n    (valid-typeo q r p))\n  '(((\"named thing\" \"named thing\" \"homologous to\"))\n    ((\"named thing\" \"named thing\" \"related to\"))))\n\n#!eof\n\n;;; Tricky case from Chris Mungall:\ngene_to_gene_association\n   is_a association\n   defining_slots [ subject : gene\n                    object : gene ]\n   slot_usage [ subject.range = gene\n                object.range = gene ]\n\n\n\nx = association\nx.subject = protein_coding_gene\nx.object = protein_coding_gene\n\nprotein_coding_gene is_a gene\n\n=>  (implies)\n\ngene_to_gene_association(x)\n\n\n\n(test \"Chris-1\"\n  (run* (pred)\n    (most-specific-predo \"protein coding gene\" \"association\" \"protein coding gene\" pred))\n  '(((\"gene to gene association\"))))\n"
  },
  {
    "path": "attic/yaml/yaml2sexp.py",
    "content": "def sexp(r, indent=0, dot=''):\n  i = indent*' '\n  j = (indent+2)*' '\n  if type(r) == dict:\n    if dot=='':\n      print(i+'(')\n    for k,v in r.items():\n      print(j+'(')\n      sexp(k, indent+4, '')\n      sexp(v, indent+4, '. ')\n      print(j+')')\n    if dot=='':\n      print(i+')')\n  elif type(r) == list:\n    if dot=='':\n      print(i+'(')\n    for x in r:\n      sexp(x,indent+2,'')\n    if dot=='':\n      print(i+')')\n  elif type(r) == bool:\n    if r:\n      print(i+dot+'#t')\n    else:\n      print(i+dot+'#f')\n  else:\n    print(i+dot+'\"'+r+'\"')\n\nif __name__ == '__main__':\n  from ruamel.yaml import YAML\n  yaml=YAML(typ='safe')   # default, if not specfied, is 'rt' (round-trip)\n  import sys\n  m = 'example1' if len(sys.argv)<2 else sys.argv[1]\n  r = yaml.load(open(m+'.yaml'))\n  import ntpath\n  k = ntpath.basename(m)\n  print('(define '+k)\n  print(\"'\", end='')\n  sexp(r)\n  print(')')\n\n"
  },
  {
    "path": "contrib/README.md",
    "content": "# Synopsis\n\nContributed use cases, queries and applications are now located in this directory, separate from medikanren itself.\n\n# Directory organization\n\nContributions are broken down by medikanren version:\n\n- [contrib/medikanren](medikanren) Contributions for medikanren version 1\n- [contrib/medikanren2](medikanren2) Contributions for medikanren version 2\n\n\n\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/INTEGRATED-QUERY/textmining->rtx2.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"../../../../medikanren/pieces-parts/query.rkt\"         \n         racket/engine)\n\n(define crosskg-mondo-disease-curies\n  '(\"MONDO:0016192\"\n    \"DOID:0050890\"\n    \"MONDO:0016153\"\n    \"MONDO:0016147\"\n    \"MONDO:0016191\"\n    \"MONDO:0016196\"\n    \"MONDO:0016187\"))\n\n(define CHEBI--negatively-regulates-->PR-->MONDO\n  (curies/query\n   (time (query/graph\n          ((Drug #f)\n           (PR #f)\n           ;(Disease \"MONDO:0000510\")\n           (Disease \"MONDO:0016147\")\n           )\n          ((Drug->PR (list \"biolink:negatively_regulates_entity_to_entity\") (edge/db? 'textminingprovider)) \n           (PR->Disease\n            (list\n             \"gene_mapped_to_disease\"\n             \"gene_involved_in_pathogenesis_of_disease\"\n             \"gene_associated_with_disease\"\n             \"associated_with_disease\"\n             \"INVERTED:disease_has_basis_in_dysfunction_of\") (edge/db? 'rtx2_2020_09_16)))\n          (Drug Drug->PR PR)                         \n          (PR PR->Disease Disease)))\n   'Drug))\n\n(define CHEBI--postively-regulates-->PR-->MONDO\n  (curies/query\n   (time (query/graph\n          ((Drug #f)\n           (PR #f)\n           (Disease \"MONDO:0000510\"))\n          ((Drug->PR (list \"biolink:positively_regulates_entity_to_entity\") (edge/db? 'textminingprovider)) \n           (PR->Disease\n            (list\n             \"gene_mapped_to_disease\"\n             \"gene_involved_in_pathogenesis_of_disease\"\n             \"gene_associated_with_disease\"\n             \"associated_with_disease\"\n             \"INVERTED:disease_has_basis_in_dysfunction_of\") (edge/db? 'rtx2_2020_09_16)))\n          (Drug Drug->PR PR)               \n          (PR PR->Disease Disease)))\n   'Drug))\n\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/rtx2_2020_09_16/rtx2_2020_09_16-map.html",
    "content": "<html>\n<head>\n  <title>RTX2 KG Map</title>\n  <script src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"></script>\n</head>\n\n<div id=\"mynetwork\"></div>\n<script type=\"text/javascript\">\n    var container = document.getElementById('mynetwork');\n    var dot = 'digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:precise_ingredient_of (6138)\"]; \t\"EFO\" -> \"UMLS\" [label=\"xref (2202)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"uses (27329)\"]; \t\"GO\" -> \"GO\" [label=\"immediately_causally_upstream_of (2)\"]; \t\"PR\" -> \"CHEBI\" [label=\"subclass_of (206)\"]; \t\"PR\" -> \"PR\" [label=\"derives_from (57)\"]; \t\"ARO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"IAO\" [label=\"subclass_of (38)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:pathway_has_gene_element (7181)\"]; \t\"UBERON\" -> \"FBbt\" [label=\"part_of (1)\"]; \t\"UBERON\" -> \"CL\" [label=\"synapsed_by (1)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"derives_from (1)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_tautomer_of (1748)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"subclass_of (305)\"]; \t\"FMA\" -> \"FMA\" [label=\"surrounded_by (139)\"]; \t\"ORPHANET\" -> \"OMIM\" [label=\"xref (12142)\"]; \t\"GO\" -> \"OBA\" [label=\"regulates (80)\"]; \t\"GO\" -> \"OBA\" [label=\"positively_regulates (11)\"]; \t\"CHEBI\" -> \"EFO\" [label=\"INVERTED:has_participant (1)\"]; \t\"OBO\" -> \"PR\" [label=\"INVERTED:has_gene_template (1013)\"]; \t\"EPO\" -> \"TRANS\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_answer (85940)\"]; \t\"GO\" -> \"CL\" [label=\"is_about (1)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:465410 (44)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_process_output (158)\"]; \t\"MONDO\" -> \"GO\" [label=\"disease_triggers (2)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_is_stage (6155)\"]; \t\"GO\" -> \"GO\" [label=\"has_primary_input (2)\"]; \t\"CL\" -> \"UBERON\" [label=\"subclass_of (5)\"]; \t\"EO\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_potential_to_develop_into (132)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:gene_product_sequence_variation_encoded_by_gene_mutant (556)\"]; \t\"EO\" -> \"NCBITaxon\" [label=\"subclass_of (2)\"]; \t\"CL\" -> \"GO\" [label=\"capable_of (308)\"]; \t\"SO\" -> \"OBO\" [label=\"subclass_of (4)\"]; \t\"GAZ\" -> \"NCIT\" [label=\"type (189)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"occurs_in (17801)\"]; \t\"ICD9\" -> \"UMLS\" [label=\"xref (22406)\"]; \t\"EFO\" -> \"MONDO\" [label=\"xref (2604)\"]; \t\"ENVO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"projects_to (117)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"overlaps (9)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_release_characteristic (295)\"]; \t\"DOID\" -> \"AQTLTrait\" [label=\"has_phenotype (1)\"]; \t\"DOID\" -> \"EFO\" [label=\"subclass_of (3)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_disposition (8941)\"]; \t\"OBO\" -> \"SIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_specification_of (26)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_full_grown_phenotype (3)\"]; \t\"IAO\" -> \"IAO\" [label=\"INVERTED:type (3)\"]; \t\"GENEPIO\" -> \"ARO\" [label=\"equivalent_to (1)\"]; \t\"ARO\" -> \"IAO\" [label=\"subclass_of (3)\"]; \t\"ExO\" -> \"EPO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"regulates (5322)\"]; \t\"GO\" -> \"GO\" [label=\"positively_regulates (4656)\"]; \t\"OBO\" -> \"OGG\" [label=\"has_input (1)\"]; \t\"GENEPIO\" -> \"ExO\" [label=\"subclass_of (9)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_potential_to_developmentally_contribute_to (12)\"]; \t\"CL\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"ENVO\" -> \"RO\" [label=\"subclass_of (1)\"]; \t\"ORPHANET\" -> \"ICD9\" [label=\"xref (920)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"coexists_with (92085)\"]; \t\"MA\" -> \"UBERON\" [label=\"part_of (1)\"]; \t\"BTO\" -> \"EFO\" [label=\"bearer_of (5)\"]; \t\"HMDB\" -> \"EHDAA2\" [label=\"at_tissue (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"aboral_to (1)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"has_increased_levels_of (4)\"]; \t\"EFO\" -> \"EFO\" [label=\"inverse_of (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"positive_allosteric_modulator (601)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"attaches_to (159)\"]; \t\"OBO\" -> \"OBO\" [label=\"subclass_of (286)\"]; \t\"GO\" -> \"OBO\" [label=\"has_primary_output (16)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_device (77)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_1_or_phase_2 (30)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"activator (87)\"]; \t\"GO\" -> \"SO\" [label=\"exports (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"anterosuperior_to (16)\"]; \t\"MI\" -> \"OBO\" [label=\"subclass_of (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"lumen_of (2)\"]; \t\"EFO\" -> \"HANCESTRO\" [label=\"part_of (12)\"]; \t\"CHEBI\" -> \"GENEPIO\" [label=\"subclass_of (72)\"]; \t\"DRUGBANK\" -> \"PathWhiz.ProteinComplex\" [label=\"INVERTED:has_protein_in_complex (15)\"]; \t\"FMA\" -> \"FMA\" [label=\"nerve_supply_of (2129)\"]; \t\"HP\" -> \"EFO\" [label=\"xref (1)\"]; \t\"UniProtKB\" -> \"OMIM\" [label=\"gene_mutations_contribute_to (5765)\"]; \t\"CL\" -> \"GO\" [label=\"has_low_plasma_membrane_amount (6)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:produced_by (46)\"]; \t\"MONDO\" -> \"EFO\" [label=\"predisposes_towards (14)\"]; \t\"EFO\" -> \"PO\" [label=\"located_in (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"property_of (86472)\"]; \t\"XCO\" -> \"GENEPIO\" [label=\"subclass_of (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_causes_feature (1)\"]; \t\"EFO\" -> \"PATO\" [label=\"bearer_of (19)\"]; \t\"UBERON\" -> \"NCBITaxon\" [label=\"only_in_taxon (749)\"]; \t\"FMA\" -> \"FMA\" [label=\"fuses_with (26)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_superficial_to (13)\"]; \t\"PO\" -> \"PO\" [label=\"xref (1)\"]; \t\"GO\" -> \"CL\" [label=\"has_end_location (3)\"]; \t\"HMDB\" -> \"UMLS\" [label=\"at_tissue (137)\"]; \t\"SNOMED\" -> \"MONDO\" [label=\"equivalent_to (9000)\"]; \t\"SIO\" -> \"ENVO\" [label=\"subclass_of (1)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"inhibits (18289)\"]; \t\"FMA\" -> \"FMA\" [label=\"homonym_of (73)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_fusion_of (33)\"]; \t\"IAO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"subclass_of (160929)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:preceded_by (1)\"]; \t\"GO\" -> \"GO\" [label=\"has_end_location (5)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.NucleicAcid\" [label=\"has_right_element (210)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"compared_with (23729)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"regimen_has_accepted_use_for_disease (395)\"]; \t\"MONDO\" -> \"OBO\" [label=\"equivalent_to (154)\"]; \t\"CL\" -> \"CL\" [label=\"part_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"has_start_location (3)\"]; \t\"BTO\" -> \"UBERON\" [label=\"part_of (5)\"]; \t\"FMA\" -> \"FMA\" [label=\"continuation_branch_of (43)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.Compound\" [label=\"has_right_element (336013)\"]; \t\"GO\" -> \"GO\" [label=\"ends_during (1)\"]; \t\"PO\" -> \"PO\" [label=\"INVERTED:develops_from (60)\"]; \t\"OBI\" -> \"OBI\" [label=\"inheres_in (3)\"]; \t\"PathWhiz\" -> \"NCBITaxon\" [label=\"in_species (1905194)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_informer (2207)\"]; \t\"OMP\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"has_start_location (8)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"binding_agent (136)\"]; \t\"PATO\" -> \"PATO\" [label=\"INVERTED:towards (6)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (34)\"]; \t\"FMA\" -> \"UBERON\" [label=\"part_of (2)\"]; \t\"CLO\" -> \"CL\" [label=\"subclass_of (428)\"]; \t\"FMA\" -> \"FMA\" [label=\"inverse_of_derives (264)\"]; \t\"PATO\" -> \"NBO\" [label=\"INVERTED:has_participant (1)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"antagonist (729)\"]; \t\"RO\" -> \"owl\" [label=\"sub_property_of (12)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:after (18)\"]; \t\"ENSEMBL\" -> \"NCBITaxon\" [label=\"only_in_taxon (110)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"member_of (1)\"]; \t\"IAO\" -> \"IAO\" [label=\"subclass_of (30)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"aligned_with (1)\"]; \t\"MPATH\" -> \"MPATH\" [label=\"subclass_of (83)\"]; \t\"GO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_is_grade (1303)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"part_of (893692)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"owning_section_of (9)\"]; \t\"DOID\" -> \"NCBITaxon\" [label=\"transmitted_by (74)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.NucleicAcid\" [label=\"has_left_element (349)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_form (2941)\"]; \t\"HANCESTRO\" -> \"OBI\" [label=\"subclass_of (2)\"]; \t\"MP\" -> \"HP\" [label=\"subclass_of (2)\"]; \t\"HP\" -> \"UBERON\" [label=\"inheres_in_part_of (2)\"]; \t\"HANCESTRO\" -> \"HANCESTRO\" [label=\"inverse_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"bounding_layer_of (37)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"is_about (7)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"subclass_of (328)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"treats (1364)\"]; \t\"SO\" -> \"CHEBI\" [label=\"equivalent_to (3)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.Compound\" [label=\"has_left_element (317671)\"]; \t\"GO\" -> \"BFO\" [label=\"subclass_of (7)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_basic_dose_form (597)\"]; \t\"CPT\" -> \"CPT\" [label=\"subclass_of (14292)\"]; \t\"ENVO\" -> \"FOODON\" [label=\"subclass_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"related_part (3094)\"]; \t\"ICD10PCS\" -> \"UMLS\" [label=\"xref (189499)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_recipient_category (117)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"stimulates (104111)\"]; \t\"HP\" -> \"UBERON\" [label=\"inheres_in (1)\"]; \t\"CHEBI\" -> \"CL\" [label=\"xref (1)\"]; \t\"EFO\" -> \"OBI\" [label=\"is_about (22)\"]; \t\"ZFA\" -> \"UBERON\" [label=\"part_of (4)\"]; \t\"PCO\" -> \"ENVO\" [label=\"has_habitat (1)\"]; \t\"PATO\" -> \"PATO\" [label=\"has_relative_magnitude (7)\"]; \t\"MESH\" -> \"UMLS\" [label=\"xref (402615)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"disease_has_basis_in_development_of (2)\"]; \t\"NBO\" -> \"GO\" [label=\"xref (15)\"]; \t\"CL\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (83)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_associated_cell_type (13)\"]; \t\"MONDO\" -> \"OGMS\" [label=\"xref (1)\"]; \t\"PathWhiz.ElementCollection\" -> \"KEGG\" [label=\"same_as (61)\"]; \t\"OBI\" -> \"STATO\" [label=\"subclass_of (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"interacts_with (183359)\"]; \t\"GO\" -> \"CHEBI\" [label=\"has_input (967)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"equivalent_to (6777)\"]; \t\"MESH\" -> \"MESH\" [label=\"subclass_of (40243)\"]; \t\"CL\" -> \"UBERON\" [label=\"INVERTED:produced_by (4)\"]; \t\"CHEMBL.TARGET\" -> \"UniProtKB\" [label=\"part_of (5700)\"]; \t\"EHDAA2\" -> \"AEO\" [label=\"subclass_of (1703)\"]; \t\"OBI\" -> \"BTO\" [label=\"xref (1)\"]; \t\"EFO\" -> \"OBI\" [label=\"inheres_in (9)\"]; \t\"FMA\" -> \"FMA\" [label=\"sub_property_of (3)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"disease_has_feature (18)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:organism_has_gene (1635)\"]; \t\"EFO\" -> \"OGMS\" [label=\"subclass_of (3)\"]; \t\"GO\" -> \"CHEBI\" [label=\"transports_or_maintains_localization_of (969)\"]; \t\"HP\" -> \"UMLS\" [label=\"xref (16527)\"]; \t\"UO\" -> \"UO\" [label=\"subclass_of (228)\"]; \t\"BTO\" -> \"EFO\" [label=\"equivalent_to (1)\"]; \t\"CL\" -> \"FBbt\" [label=\"xref (1)\"]; \t\"EFO\" -> \"EFO\" [label=\"INVERTED:has_participant (69)\"]; \t\"HGNC\" -> \"UniProtKB\" [label=\"has_gene_product (20312)\"]; \t\"DOID\" -> \"MONDO\" [label=\"subclass_of (5)\"]; \t\"OMIM\" -> \"DOID\" [label=\"contributes_to_condition (181)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_intended_site (333)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"associated_with (8728)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_malfunction_associated_with_disease (509)\"]; \t\"OBO\" -> \"MONDO\" [label=\"equivalent_to (154)\"]; \t\"GENEPIO\" -> \"IDO\" [label=\"is_about (6)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"component_of (4259)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"uses_substance (3187)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_structural_domain_or_motif (4960)\"]; \t\"FMA\" -> \"FMA\" [label=\"corresponds_to (46)\"]; \t\"OBI\" -> \"BFO\" [label=\"subclass_of (18)\"]; \t\"UBERON\" -> \"NBO\" [label=\"capable_of_part_of (9)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"affects (154949)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"overlaps (70)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_chemical_classification (1688)\"]; \t\"SO\" -> \"GO\" [label=\"INVERTED:has_participant (4)\"]; \t\"FOODON\" -> \"GENEPIO\" [label=\"subclass_of (15)\"]; \t\"UBERON\" -> \"GO\" [label=\"capable_of_part_of (135)\"]; \t\"DOID\" -> \"CL\" [label=\"derives_from (355)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"inherent_location_of (1)\"]; \t\"PATO\" -> \"PATO\" [label=\"has_cross_section (5)\"]; \t\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"INVERTED:has_plasma_membrane_part (1)\"]; \t\"KEGG\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (162)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"anatomic_structure_is_physical_part_of (9339)\"]; \t\"PathWhiz.NucleicAcid\" -> \"PathWhiz\" [label=\"INVERTED:has_nucleic_acid (1763)\"]; \t\"NPO\" -> \"NPO\" [label=\"subclass_of (3)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"part_of (80696)\"]; \t\"MONDO\" -> \"HGNC\" [label=\"has_material_basis_in_gain_of_function_germline_mutation_in (6)\"]; \t\"CL\" -> \"UBERON\" [label=\"participates_in (4)\"]; \t\"GO\" -> \"OMIM\" [label=\"INVERTED:disease_caused_by_disruption_of (4)\"]; \t\"ORPHANET\" -> \"UBERON\" [label=\"has_disease_location (65)\"]; \t\"CARO\" -> \"CARO\" [label=\"subclass_of (49)\"]; \t\"GO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (4)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_time_aspect (23)\"]; \t\"OGMS\" -> \"UBERON\" [label=\"subclass_of (1)\"]; \t\"BSPO\" -> \"CARO\" [label=\"passes_through (1)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"produces (3596)\"]; \t\"MONDO\" -> \"MESH\" [label=\"xref (7875)\"]; \t\"OBO\" -> \"GENEPIO\" [label=\"is_about (1)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"member_of (5921)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_laterality (12116)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"predisposes_towards (143)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"gating_inhibitor (24)\"]; \t\"TO\" -> \"TO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"CHEBI\" [label=\"imports (179)\"]; \t\"GENEPIO\" -> \"ENVO\" [label=\"is_about (1)\"]; \t\"OBO\" -> \"UBERON\" [label=\"xref (6)\"]; \t\"PO\" -> \"NCBITaxon\" [label=\"only_in_taxon (2)\"]; \t\"OBI\" -> \"IAO\" [label=\"subclass_of (35)\"]; \t\"EFO\" -> \"MONDO\" [label=\"disease_causes_feature (1)\"]; \t\"EFO\" -> \"CL\" [label=\"part_of (2)\"]; \t\"OGMS\" -> \"BFO\" [label=\"subclass_of (4)\"]; \t\"RGD\" -> \"PR\" [label=\"INVERTED:has_gene_template (8114)\"]; \t\"CPT\" -> \"UMLS\" [label=\"xref (46941)\"]; \t\"AEO\" -> \"CARO\" [label=\"surrounds (1)\"]; \t\"EFO\" -> \"DOID\" [label=\"xref (2350)\"]; \t\"PCO\" -> \"ENVO\" [label=\"INVERTED:determined_by (3)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"surrounds (78)\"]; \t\"SO\" -> \"DOID\" [label=\"INVERTED:disease_has_basis_in (251)\"]; \t\"UBERON\" -> \"NCIT\" [label=\"xref (2580)\"]; \t\"UBERON\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"NBO\" -> \"NBO\" [label=\"INVERTED:by_means (2)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_maturation_of (53)\"]; \t\"wb\" -> \"SO\" [label=\"subclass_of (4479)\"]; \t\"GO\" -> \"OMIM\" [label=\"xref (4)\"]; \t\"BTO\" -> \"UBERON\" [label=\"xref (1)\"]; \t\"BSPO\" -> \"CARO\" [label=\"subclass_of (7)\"]; \t\"SO\" -> \"SO\" [label=\"INVERTED:has_member (1)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"antibody (25)\"]; \t\"FBbt\" -> \"CL\" [label=\"xref (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_plays_role_in_process (13660)\"]; \t\"FOODON\" -> \"owl\" [label=\"sub_property_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:may_be_normal_cell_origin_of_disease (183)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"inverse_of_rq (1560)\"]; \t\"DRUGBANK\" -> \"UniProtKB\" [label=\"external_identifier (69)\"]; \t\"CHEMBL.COMPOUND\" -> \"DRUGBANK\" [label=\"same_as (6926)\"]; \t\"EFO\" -> \"MP\" [label=\"subclass_of (7)\"]; \t\"PATO\" -> \"PATO\" [label=\"subclass_of (2113)\"]; \t\"PR\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"INVERTED:location_of (332757)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_access (1520)\"]; \t\"SNOMED\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"mapped_to (456)\"]; \t\"FMA\" -> \"FMA\" [label=\"left_medial_to (3)\"]; \t\"CPT\" -> \"CPT\" [label=\"has_add_on_code (6931)\"]; \t\"DOID\" -> \"EFO\" [label=\"xref (130)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_has_basis_in_feature (18)\"]; \t\"OBI\" -> \"RO\" [label=\"sub_property_of (7)\"]; \t\"BTO\" -> \"UBERON\" [label=\"subclass_of (9)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_target (727)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"orthogonal_to (3)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"aligned_with (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:process_has_causal_agent (3)\"]; \t\"CL\" -> \"BTO\" [label=\"xref (4)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.ProteinComplex\" [label=\"has_right_element (906)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_physical_part_of (616)\"]; \t\"ExO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (1)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"antibody (22)\"]; \t\"GO\" -> \"CL\" [label=\"occurs_in (129)\"]; \t\"PO\" -> \"FOODON\" [label=\"subclass_of (2)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:has_participant (10)\"]; \t\"MONDO\" -> \"MEDDRA\" [label=\"equivalent_to (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"continuous_with (120)\"]; \t\"BTO\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"surrounded_by (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_site (27)\"]; \t\"GO\" -> \"GO\" [label=\"occurs_in (270)\"]; \t\"MESH\" -> \"MESH\" [label=\"INVERTED:inverse_of_isa (5029)\"]; \t\"FMA\" -> \"FMA\" [label=\"related_developmental_entity_of (13)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_segmental_supply (613)\"]; \t\"EFO\" -> \"CL\" [label=\"inheres_in_part_of (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"converts_to (2870)\"]; \t\"EFO\" -> \"BTO\" [label=\"xref (3)\"]; \t\"ENVO\" -> \"OBI\" [label=\"subclass_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_imaging_focus (5463)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"member_of (1)\"]; \t\"DOID\" -> \"GO\" [label=\"disease_has_basis_in_dysfunction_of (8)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"predisposes (256197)\"]; \t\"FBdv\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"PathWhiz.ProteinComplex\" -> \"PathWhiz.Reaction\" [label=\"INVERTED:has_enzyme (165371)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"deep_to (12)\"]; \t\"HP\" -> \"HP\" [label=\"subclass_of (22195)\"]; \t\"ORPHANET\" -> \"GO\" [label=\"participates_in (3)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"has_modifier (1)\"]; \t\"GO\" -> \"FAO\" [label=\"part_of (3)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_method (66244)\"]; \t\"HP\" -> \"EFO\" [label=\"subclass_of (46)\"]; \t\"IDO\" -> \"CHEBI\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"interacts_with (141256)\"]; \t\"OBI\" -> \"OBI\" [label=\"inverse_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"develops_into (3)\"]; \t\"AEO\" -> \"AEO\" [label=\"part_of (22)\"]; \t\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"INVERTED:superset_of (1116)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.ProteinComplex\" [label=\"has_left_element (734)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:location_of (9)\"]; \t\"BTO\" -> \"EFO\" [label=\"participates_in (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"germ_origin_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_has_abnormality (180)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_timing_of (2693)\"]; \t\"MONDO\" -> \"SO\" [label=\"has_modifier (22)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_0 (7)\"]; \t\"EFO\" -> \"UO\" [label=\"equivalent_to (1)\"]; \t\"GO\" -> \"PR\" [label=\"exports (1)\"]; \t\"EFO\" -> \"MA\" [label=\"has_disease_location (1)\"]; \t\"EnsemblGenomes\" -> \"NCBITaxon\" [label=\"only_in_taxon (278)\"]; \t\"EFO\" -> \"HP\" [label=\"disease_has_feature (1)\"]; \t\"UniProtKB\" -> \"REACT\" [label=\"participates_in (779447)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_morphology (544)\"]; \t\"NCIT\" -> \"VCARD\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"positive_modulator (18)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dependent (6)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"affects (12913)\"]; \t\"FOODON\" -> \"GAZ\" [label=\"subclass_of (13)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"component_of (13)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_has_feature (34)\"]; \t\"HMDB\" -> \"FMA\" [label=\"at_cellular_location (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"constitutional_part_of (21424)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.Bound\" [label=\"has_right_element (167)\"]; \t\"UBERON\" -> \"BSPO\" [label=\"sub_property_of (6)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_is_biomarker_of (18)\"]; \t\"OBO\" -> \"OBO\" [label=\"has_interaction_type (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"same_as (15124)\"]; \t\"BFO\" -> \"RO\" [label=\"sub_property_of (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_has_associated_anatomic_site (30160)\"]; \t\"RO\" -> \"UBERON\" [label=\"sub_property_of (1)\"]; \t\"HMDB\" -> \"EHDAA2\" [label=\"in_biospecimen (1)\"]; \t\"MOD\" -> \"PR\" [label=\"subclass_of (41)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_adherent (7)\"]; \t\"CL\" -> \"CARO\" [label=\"subclass_of (2)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"inheres_in (1)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_acquisition_of_features_of (300)\"]; \t\"NDDF\" -> \"NDDF\" [label=\"INVERTED:has_ingredient (24)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_denominator_unit (2065)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"negative_modulator (4)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"opener (38)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_method (4099)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:inverse_isa (44612)\"]; \t\"MONDO\" -> \"GARD\" [label=\"xref (5818)\"]; \t\"NBO\" -> \"UBERON\" [label=\"INVERTED:input_of (1)\"]; \t\"RO\" -> \"BFO\" [label=\"sub_property_of (26)\"]; \t\"GO\" -> \"PR\" [label=\"directly_positively_regulates (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"occurs_before (2413)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inducer (4)\"]; \t\"DRUGBANK\" -> \"CHEMBL.COMPOUND\" [label=\"external_identifier (7632)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_preceded_by (7)\"]; \t\"STATO\" -> \"GENEPIO\" [label=\"subclass_of (6)\"]; \t\"MPATH\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"VANDF\" -> \"VANDF\" [label=\"INVERTED:has_ingredient (14304)\"]; \t\"PDQ\" -> \"PDQ\" [label=\"INVERTED:has_component (4862)\"]; \t\"GENEPIO\" -> \"PATO\" [label=\"subclass_of (2)\"]; \t\"GENEPIO\" -> \"EDAM\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_evaluation (10553)\"]; \t\"FMA\" -> \"FMA\" [label=\"full_grown_phenotype_of (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_organism_source (825)\"]; \t\"OPL\" -> \"OPL\" [label=\"subclass_of (27)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"precise_active_ingredient_of (7240)\"]; \t\"HP\" -> \"CL\" [label=\"affects (110)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.Bound\" [label=\"has_left_element (157)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"extends_fibers_into (127)\"]; \t\"DRUGBANK\" -> \"HMDB\" [label=\"same_as (1565)\"]; \t\"BSPO\" -> \"RO\" [label=\"sub_property_of (4)\"]; \t\"HMDB\" -> \"UMLS\" [label=\"in_biospecimen (11184)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_2_or_phase_3 (39)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"administered_to (203874)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz\" [label=\"INVERTED:has_reaction (747189)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"has_functional_parent (17221)\"]; \t\"PathWhiz.Reaction\" -> \"KEGG\" [label=\"has_right_element (263206)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"ventral_to (8)\"]; \t\"NCBIGene\" -> \"UniProtKB\" [label=\"regulates_expression_of (332256)\"]; \t\"FMA\" -> \"FMA\" [label=\"inverse_of_bounds (1076)\"]; \t\"EFO\" -> \"HP\" [label=\"has_modifier (30)\"]; \t\"DRUGBANK\" -> \"MESH\" [label=\"category (57884)\"]; \t\"ORPHANET\" -> \"NCIT\" [label=\"xref (1012)\"]; \t\"DOID\" -> \"UMLS\" [label=\"xref (6)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_completely_excised_anatomy (6)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"subclass_of (590)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317344 (176)\"]; \t\"OMOP\" -> \"MONDO\" [label=\"equivalent_to (1590)\"]; \t\"DOID\" -> \"DOID\" [label=\"subclass_of (14358)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"focus_of (4294)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_tributary (1007)\"]; \t\"GARD\" -> \"MONDO\" [label=\"equivalent_to (5814)\"]; \t\"MONDO\" -> \"ICD10\" [label=\"equivalent_to (1113)\"]; \t\"GENEPIO\" -> \"OMP\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"UBERON\" [label=\"INVERTED:has_part (224)\"]; \t\"EFO\" -> \"EFO\" [label=\"has_about_it (2)\"]; \t\"CL\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (8)\"]; \t\"HMDB\" -> \"CHEMBL.TARGET\" [label=\"at_tissue (174)\"]; \t\"EFO\" -> \"HP\" [label=\"is_about (19)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_supported_concept_property (239)\"]; \t\"OBI\" -> \"OGMS\" [label=\"subclass_of (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:develops_from (1373)\"]; \t\"ICD10PCS\" -> \"ICD10PCS\" [label=\"subclass_of (189482)\"]; \t\"EFO\" -> \"EFO\" [label=\"is_about (556)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_0 (1)\"]; \t\"DDANAT\" -> \"DDANAT\" [label=\"part_of (134)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_morphology (177)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"oxidative_enzyme (2)\"]; \t\"AEO\" -> \"AEO\" [label=\"subclass_of (89)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_posterior_side_of (15)\"]; \t\"CL\" -> \"UBERON\" [label=\"axon_synapses_in (13)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"chelating_agent (19)\"]; \t\"PO\" -> \"PO\" [label=\"part_of (132)\"]; \t\"NCBIGene\" -> \"GO\" [label=\"involved_in (1417)\"]; \t\"HP\" -> \"DOID\" [label=\"xref (34)\"]; \t\"GENEPIO\" -> \"OMIT\" [label=\"is_about (4)\"]; \t\"DOID\" -> \"MONDO\" [label=\"xref (6)\"]; \t\"EFO\" -> \"MONDO\" [label=\"disease_has_basis_in_feature (3)\"]; \t\"PathWhiz.Reaction\" -> \"KEGG\" [label=\"has_left_element (232427)\"]; \t\"DOID\" -> \"GENEPIO\" [label=\"subclass_of (2)\"]; \t\"GO\" -> \"CHEBI\" [label=\"regulates_levels_of (62)\"]; \t\"FMA\" -> \"FMA\" [label=\"external_to (1)\"]; \t\"NCBITaxon\" -> \"PATO\" [label=\"has_quality (1)\"]; \t\"MA\" -> \"UBERON\" [label=\"subclass_of (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"inheres_in (1)\"]; \t\"EFO\" -> \"GO\" [label=\"participates_in (25)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"subclass_of (155)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"derived_from_ancestral_fusion_of (63)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"modulator (9)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_context (2531)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"distalmost_part_of (5)\"]; \t\"VT\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"anteroinferior_to (27)\"]; \t\"CARO\" -> \"RO\" [label=\"subclass_of (1)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_intermediate (83)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"contributes_to (975)\"]; \t\"NCBITaxon\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"denotes (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_transformation (520)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_transport_across (45)\"]; \t\"CL\" -> \"EFO\" [label=\"located_in (1)\"]; \t\"NBO\" -> \"NBO\" [label=\"INVERTED:in_response_to (5)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:contains (990)\"]; \t\"ENVO\" -> \"OIO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"UO\" [label=\"INVERTED:is_unit_of (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_numerator_value (4836)\"]; \t\"MONDO\" -> \"PATO\" [label=\"xref (1)\"]; \t\"NCBIGene\" -> \"UniProtKB\" [label=\"has_gene_product (19230)\"]; \t\"OMIT\" -> \"OBI\" [label=\"subclass_of (2)\"]; \t\"NCIT\" -> \"UBERON\" [label=\"subclass_of (2)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"antagonist (121)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_starts_during (13)\"]; \t\"GENEPIO\" -> \"RO\" [label=\"inverse_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_has_physiologic_effect (2053)\"]; \t\"GO\" -> \"CARO\" [label=\"subclass_of (21)\"]; \t\"EFO\" -> \"MA\" [label=\"xref (1)\"]; \t\"CGNC\" -> \"NCBITaxon\" [label=\"only_in_taxon (552)\"]; \t\"EFO\" -> \"PATO\" [label=\"subclass_of (2)\"]; \t\"NCBIGene\" -> \"NCBITaxon\" [label=\"only_in_taxon (5380)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_distribution_of (7)\"]; \t\"FMA\" -> \"FMA\" [label=\"continuous_distally_with (1879)\"]; \t\"HP\" -> \"MONDO\" [label=\"subclass_of (1)\"]; \t\"MONDO\" -> \"WD\" [label=\"equivalent_to (2)\"]; \t\"OBI\" -> \"PR\" [label=\"subclass_of (1)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"disease_has_location (793)\"]; \t\"EFO\" -> \"OMIM\" [label=\"xref (875)\"]; \t\"NCIT\" -> \"BFO\" [label=\"subclass_of (7)\"]; \t\"PathWhiz.Compound\" -> \"DRUGBANK\" [label=\"same_as (1539)\"]; \t\"HP\" -> \"CHEBI\" [label=\"subclass_of (1)\"]; \t\"OGG\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"FIX\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"subclass_of (1783396)\"]; \t\"EFO\" -> \"RO\" [label=\"sub_property_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_subject (34)\"]; \t\"FBbt\" -> \"UBERON\" [label=\"subclass_of (22)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_structural_organization_of (1)\"]; \t\"NCBITaxon\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (482)\"]; \t\"OBO\" -> \"STATO\" [label=\"subclass_of (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"inferolateral_to (8)\"]; \t\"OMIM\" -> \"HP\" [label=\"has_phenotype (94807)\"]; \t\"SO\" -> \"SO\" [label=\"subclass_of (2326)\"]; \t\"NCRO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"MONDO\" [label=\"disease_has_feature (34)\"]; \t\"SO\" -> \"BFO\" [label=\"subclass_of (4)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"subclass_of (554879)\"]; \t\"sgd\" -> \"NCBITaxon\" [label=\"only_in_taxon (5938)\"]; \t\"HMDB\" -> \"GO\" [label=\"at_cellular_location (16784)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"inheres_in (7)\"]; \t\"FMA\" -> \"FMA\" [label=\"origin_of (275)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_modification (2130)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"negative_allosteric_modulator (13)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_substance (926)\"]; \t\"ORPHANET\" -> \"PR\" [label=\"has_disease_location (1)\"]; \t\"HP\" -> \"SYMP\" [label=\"has_symptom (2)\"]; \t\"OPL\" -> \"CL\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"member_of (2295)\"]; \t\"EFO\" -> \"ICD9\" [label=\"xref (2049)\"]; \t\"CHEBI\" -> \"KEGG\" [label=\"same_as (1689)\"]; \t\"NCIT\" -> \"IAO\" [label=\"subclass_of (7)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"is_about (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"binder (139)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_location_of_anatomic_structure (356)\"]; \t\"NCIT\" -> \"NCBITaxon\" [label=\"subclass_of (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"capable_of (62677)\"]; \t\"FMA\" -> \"FMA\" [label=\"inverse_of_forms (15)\"]; \t\"OBO\" -> \"SO\" [label=\"subclass_of (1013)\"]; \t\"GO\" -> \"SO\" [label=\"has_primary_output (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:has_part (12)\"]; \t\"PATO\" -> \"PATO\" [label=\"sub_property_of (4)\"]; \t\"OBO\" -> \"BFO\" [label=\"subclass_of (11)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"regulates_expression_of (3812)\"]; \t\"FMA\" -> \"FMA\" [label=\"afferent_to (812)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:output_of (17)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_morphology (63873)\"]; \t\"OBI\" -> \"MONDO\" [label=\"equivalent_to (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"continuous_proximally_with (1825)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"disease_has_inflammation_site (163)\"]; \t\"SO\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"RO\" -> \"RO\" [label=\"xref (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"inverse_of (4)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_formation_of (15)\"]; \t\"EFO\" -> \"UBERON\" [label=\"located_in (6)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"INVERTED:develops_from (2125)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_involved_in_molecular_abnormality (2464)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"confers_advantage_in (8)\"]; \t\"GENEPIO\" -> \"FOODON\" [label=\"subclass_of (3)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_formation_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_challenge (19562)\"]; \t\"GO\" -> \"PO\" [label=\"xref (44)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_excised_anatomy (8)\"]; \t\"GENO\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (2007)\"]; \t\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (15)\"]; \t\"GAZ\" -> \"GAZ\" [label=\"located_in (720)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"channel_for (32)\"]; \t\"ORPHANET\" -> \"HGNC\" [label=\"xref (3982)\"]; \t\"PR\" -> \"CHEBI\" [label=\"equivalent_to (1)\"]; \t\"OBO\" -> \"GO\" [label=\"causally_upstream_of (1)\"]; \t\"GENEPIO\" -> \"CHEBI\" [label=\"is_about (1)\"]; \t\"OBO\" -> \"IAO\" [label=\"subclass_of (9)\"]; \t\"EFO\" -> \"UBERON\" [label=\"derives_from (6)\"]; \t\"AraPort\" -> \"PR\" [label=\"INVERTED:has_gene_template (15921)\"]; \t\"MI\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:inverse_of_isa (5250)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"hydrolytic_enzyme (38)\"]; \t\"EFO\" -> \"MONDO\" [label=\"has_modifier (125)\"]; \t\"HMDB\" -> \"OMIM\" [label=\"at_tissue (2)\"]; \t\"VANDF\" -> \"VANDF\" [label=\"isa (12198)\"]; \t\"CL\" -> \"EFO\" [label=\"part_of (2)\"]; \t\"GO\" -> \"CHEBI\" [label=\"has_output (93)\"]; \t\"DOID\" -> \"SYMP\" [label=\"has_symptom (839)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"prevents (197498)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:contains (10)\"]; \t\"SIO\" -> \"SIO\" [label=\"aligned_with (1)\"]; \t\"CHEBI\" -> \"OBO\" [label=\"subclass_of (2)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"derives_from (2874)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_topography (1401)\"]; \t\"BTO\" -> \"PATO\" [label=\"has_quality (1)\"]; \t\"EFO\" -> \"CL\" [label=\"subclass_of (539)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"protects (9)\"]; \t\"PCO\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"CLO\" -> \"EFO\" [label=\"subclass_of (857)\"]; \t\"DOID\" -> \"UBERON\" [label=\"has_origin (3)\"]; \t\"UBERON\" -> \"CL\" [label=\"adjacent_to (1)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"is_about (262)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_left_side_of (52)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:constitutes (23344)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_insertion (210)\"]; \t\"EFO\" -> \"GO\" [label=\"subclass_of (180)\"]; \t\"EFO\" -> \"UO\" [label=\"INVERTED:is_unit_of (4)\"]; \t\"UBERON\" -> \"GO\" [label=\"adjacent_to (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"part_of (4801)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_biological_process (91)\"]; \t\"GO\" -> \"CARO\" [label=\"results_in_maturation_of (1)\"]; \t\"UO\" -> \"EFO\" [label=\"equivalent_to (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"inverse_of_sy (450)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"located_in (4)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"antagonist (789)\"]; \t\"BFO\" -> \"EFO\" [label=\"INVERTED:has_input (2)\"]; \t\"CP\" -> \"GO\" [label=\"subclass_of (9)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_surgical_approach (688)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"immediately_preceded_by (6)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"treats (1218218)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_action_guidance (1149)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"inheres_in (3)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_germ_origin (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_denominator_value (4074)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"subclass_of (21304)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_constitutional_part (21120)\"]; \t\"PATO\" -> \"DOID\" [label=\"xref (1)\"]; \t\"MEDDRA\" -> \"UMLS\" [label=\"xref (73929)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_archetype (1265)\"]; \t\"PathWhiz.ElementCollection\" -> \"CHEBI\" [label=\"same_as (50)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"derives_from (16)\"]; \t\"OBO\" -> \"OBO\" [label=\"positively_regulates (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"part_of (119404)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_inc_parent (116)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_pharmaceutical_route (1930)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"agonist (1350)\"]; \t\"FMA\" -> \"FMA\" [label=\"matures_from (76)\"]; \t\"FMA\" -> \"FMA\" [label=\"venous_drainage_of (132)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_partially_excised_anatomy (194)\"]; \t\"SNOMED\" -> \"UMLS\" [label=\"xref (361557)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:formed_as_result_of (4)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"inhibits (89138)\"]; \t\"OMIMPS\" -> \"MONDO\" [label=\"equivalent_to (472)\"]; \t\"OBO\" -> \"OBO\" [label=\"realized_in (1)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"disease_shares_features_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_starts_with (6)\"]; \t\"UBERON\" -> \"BFO\" [label=\"subclass_of (295)\"]; \t\"ORPHANET\" -> \"ICD10\" [label=\"xref (5735)\"]; \t\"GO\" -> \"GO\" [label=\"precedes (1)\"]; \t\"FMA\" -> \"UBERON\" [label=\"subclass_of (8)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:has_salt_form (1829)\"]; \t\"CL\" -> \"GO\" [label=\"INVERTED:has_participant (28)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"anteriorly_connected_to (22)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"conduit_for (57)\"]; \t\"FMA\" -> \"FMA\" [label=\"projects_from (110)\"]; \t\"ecogene\" -> \"SO\" [label=\"subclass_of (4018)\"]; \t\"GO\" -> \"GO\" [label=\"directly_regulates (12)\"]; \t\"NCIT\" -> \"ExO\" [label=\"subclass_of (2)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"in_taxon (1)\"]; \t\"PathWhiz.ElementCollection\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (163)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_approved_unknown_phase (6536)\"]; \t\"EFO\" -> \"EFO\" [label=\"related_to (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"contributes_to_morphology_of (633)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"INVERTED:has_part (20)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"subclass_of (9884)\"]; \t\"EFO\" -> \"MONDO\" [label=\"equivalent_to (2850)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_superficial_part_of (7)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"related_to (1)\"]; \t\"GO\" -> \"CHEBI\" [label=\"has_primary_input (1000)\"]; \t\"GO\" -> \"CHEBI\" [label=\"is_about (4)\"]; \t\"CL\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (24)\"]; \t\"CL\" -> \"CL\" [label=\"subclass_of (3462)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_biomarker_of (32)\"]; \t\"EFO\" -> \"EFO\" [label=\"bearer_of (970)\"]; \t\"MA\" -> \"FMA\" [label=\"xref (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"internal_to (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_supersystem (19700)\"]; \t\"SIO\" -> \"GENEPIO\" [label=\"subclass_of (9)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_related_to_endogenous_product (23)\"]; \t\"GEO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"subclass_of (11)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"INVERTED:inverse_of_ro (356197)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_muscle_antagonist (47)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_ends_during_or_before (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_associated_disease_of (1027)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_1 (132)\"]; \t\"UBERON\" -> \"CL\" [label=\"has_potential_to_developmentally_contribute_to (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"ends (1)\"]; \t\"HP\" -> \"OMIM\" [label=\"xref (24)\"]; \t\"GO\" -> \"GO\" [label=\"directly_negatively_regulates (11)\"]; \t\"MESH\" -> \"MESH\" [label=\"isa (9514)\"]; \t\"DOID\" -> \"ARO\" [label=\"subclass_of (4)\"]; \t\"GO\" -> \"GO\" [label=\"exports (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"role_has_parent (11)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"only_in_taxon (3)\"]; \t\"KEGG\" -> \"UniProtKB\" [label=\"physically_interacts_with (22304)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_abnormal_cell (1194)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"role_has_domain (83)\"]; \t\"ATC\" -> \"UMLS\" [label=\"xref (6331)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"causes (813924)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"approximately_perpendicular_to (1)\"]; \t\"CHEBI\" -> \"PR\" [label=\"INVERTED:has_component (47)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"substrate (6)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_numerator_value (2313)\"]; \t\"VANDF\" -> \"VANDF\" [label=\"ingredient_of (18404)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:develops_from (18)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"subclass_of (96)\"]; \t\"PO\" -> \"EFO\" [label=\"subclass_of (30)\"]; \t\"EFO\" -> \"EFO\" [label=\"part_of (48)\"]; \t\"HP\" -> \"ICD9\" [label=\"xref (18)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"active_ingredient_of (18593)\"]; \t\"PR\" -> \"PR\" [label=\"part_of (1)\"]; \t\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"subset_of (1389)\"]; \t\"OBI\" -> \"EDAM\" [label=\"subclass_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_is_biomarker_type (39)\"]; \t\"FOODON\" -> \"PO\" [label=\"subclass_of (11)\"]; \t\"GO\" -> \"GO\" [label=\"has_occurrence (258)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_nerve_supply (2127)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_state_of_matter (620)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_deep_to (40)\"]; \t\"IAO\" -> \"IAO\" [label=\"type (22)\"]; \t\"OBO\" -> \"FMA\" [label=\"xref (1)\"]; \t\"GENEPIO\" -> \"NCIT\" [label=\"INVERTED:after (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"segmental_composition_of (2)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_form (1)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"subclass_of (25409)\"]; \t\"BFO\" -> \"BFO\" [label=\"subclass_of (37)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317348 (227)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_partially_excised_anatomy (9)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"disrupting_agent (5)\"]; \t\"UBERON\" -> \"MONDO\" [label=\"INVERTED:disease_arises_from_structure (55)\"]; \t\"EFO\" -> \"EFO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"GO\" -> \"GO\" [label=\"directly_positively_regulates (15)\"]; \t\"BTO\" -> \"CL\" [label=\"derives_from (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:process_involves_gene (25114)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"measures (183140)\"]; \t\"OPL\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"produces (41274)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"mapped_to (2900)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:has_member (2243)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"serially_homologous_to (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"enzyme_metabolizes_chemical_or_drug (636)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_mapping_qualifier (22)\"]; \t\"WD\" -> \"MONDO\" [label=\"equivalent_to (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"direct_right_of (229)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"equivalent_to (9149)\"]; \t\"FMA\" -> \"FMA\" [label=\"direct_cell_shape_of (2)\"]; \t\"FAO\" -> \"FAO\" [label=\"INVERTED:develops_from (2)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_remodeling_of (10)\"]; \t\"FMA\" -> \"FMA\" [label=\"continuous_with (2512)\"]; \t\"PathWhiz.ProteinComplex\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (809)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:ctcae_5_parent_of (1721)\"]; \t\"FOODON\" -> \"GAZ\" [label=\"has_country_of_origin (9)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"disease_has_feature (1)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_commitment_to (2)\"]; \t\"GEO\" -> \"GENEPIO\" [label=\"aligned_with (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_associated_disease (1935)\"]; \t\"FMA\" -> \"FMA\" [label=\"insertion_of (213)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_release_characteristics (502)\"]; \t\"MONDO\" -> \"KEGG\" [label=\"xref (37)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"process_of (810370)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_cytogenetic_abnormality_of_disease (326)\"]; \t\"GO\" -> \"CL\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_determination_of (25)\"]; \t\"CL\" -> \"CARO\" [label=\"INVERTED:has_part (3)\"]; \t\"CL\" -> \"CL\" [label=\"develops_into (5)\"]; \t\"MOD\" -> \"PR\" [label=\"INVERTED:has_part (5383)\"]; \t\"OMIT\" -> \"OMIT\" [label=\"subclass_of (7)\"]; \t\"UBERON\" -> \"CL\" [label=\"bounding_layer_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"subclass_of (80401)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"INVERTED:produced_by (1)\"]; \t\"PO\" -> \"PO\" [label=\"INVERTED:has_part (9)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"xref (9151)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:output_of (15)\"]; \t\"CL\" -> \"PO\" [label=\"xref (1)\"]; \t\"FOODON\" -> \"NCBITaxon\" [label=\"in_taxon (1733)\"]; \t\"NBO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (1)\"]; \t\"FBgn\" -> \"NCBITaxon\" [label=\"only_in_taxon (3954)\"]; \t\"MONDO\" -> \"OMIMPS\" [label=\"xref (477)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"distally_connected_to (30)\"]; \t\"EFO\" -> \"BFO\" [label=\"has_output (1)\"]; \t\"MONDO\" -> \"OBI\" [label=\"xref (1)\"]; \t\"SO\" -> \"PR\" [label=\"subclass_of (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_in_chromosomal_location (3906)\"]; \t\"PR\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (18)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_3 (56)\"]; \t\"VANDF\" -> \"UMLS\" [label=\"xref (28951)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"disease_has_feature (24)\"]; \t\"DRUGBANK\" -> \"SMPDB\" [label=\"pathway (3762)\"]; \t\"GO\" -> \"CL\" [label=\"acts_on_population_of (84)\"]; \t\"EFO\" -> \"PO\" [label=\"xref (31)\"]; \t\"MONDO\" -> \"OGMS\" [label=\"equivalent_to (1)\"]; \t\"CPT\" -> \"CPT\" [label=\"panel_element_of (129)\"]; \t\"OBO\" -> \"OBO\" [label=\"INVERTED:has_part (1)\"]; \t\"EFO\" -> \"DOID\" [label=\"is_about (1)\"]; \t\"SO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (9)\"]; \t\"DRUGBANK\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (492409)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:derives (274)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"is_interpreted_by (37621)\"]; \t\"EFO\" -> \"OBI\" [label=\"subclass_of (105)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_measurement_method (17)\"]; \t\"SYMP\" -> \"ARO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"ENVO\" [label=\"subclass_of (3)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"is_about (8)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"precedes (2)\"]; \t\"FOODON\" -> \"NCIT\" [label=\"subclass_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"receives_projection (117)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"transmitted_by (74)\"]; \t\"OBO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (20)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form (12616)\"]; \t\"GO\" -> \"PR\" [label=\"has_primary_output (10)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_maintenance_of (16)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_observed_anatomical_entity (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"HP\" [label=\"indicated_for (2095)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_biochemical_function (4865)\"]; \t\"NCIT\" -> \"UMLS\" [label=\"xref (165880)\"]; \t\"GENEPIO\" -> \"UO\" [label=\"subclass_of (7)\"]; \t\"MOD\" -> \"MOD\" [label=\"subclass_of (151)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"complicates (585)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:c016 (6366)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_output (1)\"]; \t\"MONDO\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_subject_relationship_context (5084)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_organism_source_of_gene_product (532)\"]; \t\"DRUGBANK\" -> \"KEGG\" [label=\"same_as (494)\"]; \t\"FBbt\" -> \"UBERON\" [label=\"part_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_connection_type (4)\"]; \t\"OBI\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"CHMO\" -> \"CHMO\" [label=\"subclass_of (7)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_member (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_priority (211)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within (293)\"]; \t\"GO\" -> \"PR\" [label=\"INVERTED:output_of (808)\"]; \t\"ARO\" -> \"OBI\" [label=\"subclass_of (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"dorsal_to (10)\"]; \t\"FOODON\" -> \"ENVO\" [label=\"derives_from (8)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_realization (1450)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"sub_property_of (3)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_shares_features_of (2)\"]; \t\"MF\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (3)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"type (43)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_part (9)\"]; \t\"CHEMBL.TARGET\" -> \"ENSEMBL\" [label=\"part_of (4)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_shares_features_of (11)\"]; \t\"MONDO\" -> \"MESH\" [label=\"equivalent_to (7860)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"role_has_range (97)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"channel_blocker (158)\"]; \t\"PATO\" -> \"PATO\" [label=\"INVERTED:has_part (9)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antisense (3)\"]; \t\"MONDO\" -> \"PATO\" [label=\"has_modifier (78)\"]; \t\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (300)\"]; \t\"PathWhiz.Reaction\" -> \"CHEBI\" [label=\"has_right_element (169923)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"prevents (7331)\"]; \t\"ORPHANET\" -> \"CL\" [label=\"has_disease_location (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"luminal_space_of (77)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"analyzes (72330)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:410295 (1091)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"part_of (1)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_morphogenesis_of (30)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"channels_from (25)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_is_marked_by_gene (8)\"]; \t\"UBERON\" -> \"BFO\" [label=\"sub_property_of (3)\"]; \t\"EFO\" -> \"BTO\" [label=\"is_about (3)\"]; \t\"CL\" -> \"GO\" [label=\"participates_in (18)\"]; \t\"OBO\" -> \"CARO\" [label=\"subclass_of (1)\"]; \t\"ORPHANET\" -> \"GO\" [label=\"has_disease_location (10)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_site (91236)\"]; \t\"NCBIGene\" -> \"NCBITaxon\" [label=\"in_taxon (61530)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_occurrence (5492)\"]; \t\"CL\" -> \"GO\" [label=\"has_plasma_membrane_part (1)\"]; \t\"OGMS\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"OIO\" [label=\"subclass_of (2)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"part_of (1)\"]; \t\"CL\" -> \"NCIT\" [label=\"xref (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"posteriorly_connected_to (1)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_dose_form (42707)\"]; \t\"EFO\" -> \"MP\" [label=\"has_phenotype (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"bounding_layer_of (1)\"]; \t\"KEGG\" -> \"MONDO\" [label=\"equivalent_to (37)\"]; \t\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"overlaps_with (2630)\"]; \t\"UBERON\" -> \"CL\" [label=\"surrounds (7)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_site (3506)\"]; \t\"FMA\" -> \"FMA\" [label=\"posteromedial_to (9)\"]; \t\"EFO\" -> \"NCIT\" [label=\"xref (2012)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antibody (180)\"]; \t\"EFO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_maturation_of (16)\"]; \t\"ZFIN\" -> \"SO\" [label=\"subclass_of (3318)\"]; \t\"UBERON\" -> \"GO\" [label=\"surrounds (3)\"]; \t\"PathWhiz.Reaction\" -> \"CHEBI\" [label=\"has_left_element (188562)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"INVERTED:has_manifestation (121769)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within_positive_effect (13)\"]; \t\"FMA\" -> \"FMA\" [label=\"transforms_into (28)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"finishes_axis (7)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_physiologic_effect (1)\"]; \t\"OMIT\" -> \"CHEBI\" [label=\"subclass_of (3)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_maturation_of (2)\"]; \t\"DOID\" -> \"OMIM\" [label=\"xref (4868)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"negative_modulator (5)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"superficial_to (14)\"]; \t\"HP\" -> \"HP\" [label=\"has_modifier (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"developmentally_replaces (8)\"]; \t\"NCIT\" -> \"ICO\" [label=\"is_about (1)\"]; \t\"RXNORM\" -> \"UMLS\" [label=\"xref (108886)\"]; \t\"UBERON\" -> \"NBO\" [label=\"INVERTED:has_participant (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_clinical_course (4570)\"]; \t\"UBERON\" -> \"GO\" [label=\"INVERTED:has_participant (2)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"agonist (105)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_scale (87167)\"]; \t\"NCIT\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"]; \t\"EFO\" -> \"UO\" [label=\"subclass_of (38)\"]; \t\"FMA\" -> \"FMA\" [label=\"regional_part_of (27615)\"]; \t\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"equivalent_to (36)\"]; \t\"OBI\" -> \"STATO\" [label=\"is_about (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"INVERTED:has_component (3)\"]; \t\"EFO\" -> \"EFO\" [label=\"participates_in (8)\"]; \t\"PR\" -> \"NCBITaxon\" [label=\"only_in_taxon (177969)\"]; \t\"MGI\" -> \"SO\" [label=\"subclass_of (16846)\"]; \t\"ENSEMBL\" -> \"PR\" [label=\"INVERTED:has_gene_template (110)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"gating_inhibitor (32)\"]; \t\"BTO\" -> \"CL\" [label=\"subclass_of (6)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"partial_agonist (47)\"]; \t\"GO\" -> \"CL\" [label=\"part_of (150)\"]; \t\"UBERON\" -> \"MESH\" [label=\"xref (644)\"]; \t\"HGNC\" -> \"PR\" [label=\"INVERTED:has_gene_template (19823)\"]; \t\"CPT\" -> \"CPT\" [label=\"panel_element_of_possibly_included (1)\"]; \t\"IAO\" -> \"EFO\" [label=\"inverse_of (1)\"]; \t\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"adjacent_to (8)\"]; \t\"KEGG\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (1701455)\"]; \t\"EO\" -> \"EO\" [label=\"subclass_of (47)\"]; \t\"GO\" -> \"GO\" [label=\"part_of (5240)\"]; \t\"EFO\" -> \"BTO\" [label=\"equivalent_to (1)\"]; \t\"DOID\" -> \"ICD9\" [label=\"xref (11)\"]; \t\"OBI\" -> \"EFO\" [label=\"INVERTED:has_participant (1)\"]; \t\"VCARD\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"ZEA\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"inverse_of_measures (79662)\"]; \t\"EFO\" -> \"EFO\" [label=\"INVERTED:has_input (4)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_positive_effect (14)\"]; \t\"SO\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (3)\"]; \t\"GO\" -> \"OBO\" [label=\"has_input (48)\"]; \t\"GO\" -> \"GO\" [label=\"bounding_layer_of (29)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_innermost_side_of (2)\"]; \t\"RO\" -> \"RO\" [label=\"sub_property_of (621)\"]; \t\"OBO\" -> \"OBOREL\" [label=\"inverse_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"located_in (3)\"]; \t\"RO\" -> \"RO\" [label=\"inverse_of (122)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"disease_has_feature (25)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_anatomy (63)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_disassembly_of (75)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_intent (5207)\"]; \t\"CHEBI\" -> \"PR\" [label=\"INVERTED:has_part (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"part_of_progression_of_disease (2)\"]; \t\"EnsemblGenomes\" -> \"SO\" [label=\"subclass_of (278)\"]; \t\"GO\" -> \"OBO\" [label=\"transports_or_maintains_localization_of (20)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_unit_of_presentation (2918)\"]; \t\"FAO\" -> \"FAO\" [label=\"subclass_of (32)\"]; \t\"CL\" -> \"RO\" [label=\"sub_property_of (2)\"]; \t\"UBERON\" -> \"CARO\" [label=\"subclass_of (1408)\"]; \t\"HMDB\" -> \"NCIT\" [label=\"at_tissue (217)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_developmental_progression_of (1)\"]; \t\"MONDO\" -> \"CHEBI\" [label=\"disease_has_basis_in_accumulation_of (1)\"]; \t\"GENEPIO\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"CVDO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_target_end_location (2)\"]; \t\"HP\" -> \"ARO\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"right_medial_to (4)\"]; \t\"GO\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"develops_from_part_of (13)\"]; \t\"PR\" -> \"CHEBI\" [label=\"derives_from (1)\"]; \t\"UBERON\" -> \"CARO\" [label=\"xref (42)\"]; \t\"ENVO\" -> \"GENEPIO\" [label=\"subclass_of (17)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"member_of (9)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"part_of (41790)\"]; \t\"FMA\" -> \"FMA\" [label=\"segmental_supply_of (683)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"cause_of (7207)\"]; \t\"OMIABIS\" -> \"OGMS\" [label=\"subclass_of (1)\"]; \t\"MF\" -> \"MF\" [label=\"INVERTED:has_occurrent_part (1)\"]; \t\"ZFA\" -> \"EFO\" [label=\"subclass_of (33)\"]; \t\"SYMP\" -> \"SYMP\" [label=\"has_symptom (1)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:produced_by (1)\"]; \t\"dbpedia\" -> \"HANCESTRO\" [label=\"subclass_of (9)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"same_as (617)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"subclass_of (669)\"]; \t\"PECO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"during (118)\"]; \t\"GO\" -> \"OBO\" [label=\"imports (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"releasing_agent (26)\"]; \t\"EFO\" -> \"MONDO\" [label=\"disease_shares_features_of (1)\"]; \t\"MONDO\" -> \"GARD\" [label=\"equivalent_to (5814)\"]; \t\"NCIT\" -> \"PATO\" [label=\"subclass_of (3)\"]; \t\"EFO\" -> \"MEDDRA\" [label=\"xref (2)\"]; \t\"EHDAA2\" -> \"AEO\" [label=\"attaches_to (1)\"]; \t\"MF\" -> \"BFO\" [label=\"subclass_of (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"left_lateral_to (5)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"degrader (1)\"]; \t\"OBO\" -> \"OBO\" [label=\"regulates (2)\"]; \t\"CL\" -> \"GO\" [label=\"INVERTED:results_in_movement_of (87)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_plays_altered_role_in_process (128)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_device (279)\"]; \t\"EFO\" -> \"EFO\" [label=\"sub_property_of (5)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"affects (10769)\"]; \t\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:disease_responds_to (13)\"]; \t\"EFO\" -> \"HANCESTRO\" [label=\"derives_from (31)\"]; \t\"BTO\" -> \"UBERON\" [label=\"located_in (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"surrounds (133)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"subdivision_of (12)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:process_includes_biological_process (642)\"]; \t\"FOODON\" -> \"ECOCORE\" [label=\"INVERTED:has_participant (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"diagnoses (259899)\"]; \t\"GO\" -> \"UBERON\" [label=\"xref (44)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"interacts_with (33756)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"sexually_homologous_to (12)\"]; \t\"EFO\" -> \"MA\" [label=\"is_about (1)\"]; \t\"GAZ\" -> \"FOODON\" [label=\"subclass_of (162)\"]; \t\"UBERON\" -> \"CL\" [label=\"extends_fibers_into (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antisense_oligonucleotide (5)\"]; \t\"OBI\" -> \"OBI\" [label=\"subclass_of (105)\"]; \t\"HCPCS\" -> \"HCPCS\" [label=\"mapped_to (15)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"INVERTED:phenotype_of (13865)\"]; \t\"MONDO\" -> \"HP\" [label=\"disease_has_major_feature (100)\"]; \t\"MONDO\" -> \"HP\" [label=\"xref (565)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"subclass_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_has_mechanism_of_action (2274)\"]; \t\"EFO\" -> \"HGNC\" [label=\"xref (8)\"]; \t\"PO\" -> \"EFO\" [label=\"equivalent_to (1)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"realized_in (2)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"inheres_in (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_deep_part_of (6)\"]; \t\"CL\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (4)\"]; \t\"GO\" -> \"SO\" [label=\"xref (15)\"]; \t\"GENEPIO\" -> \"ARO\" [label=\"is_about (3)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_has_major_feature (6)\"]; \t\"MONDO\" -> \"EFO\" [label=\"xref (2857)\"]; \t\"OncoTree\" -> \"MONDO\" [label=\"equivalent_to (556)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:determined_by (11)\"]; \t\"CHEMBL.MECHANISM\" -> \"CHEMBL.MECHANISM\" [label=\"subclass_of (27)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"proximalmost_part_of (4)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_quality (9)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_primary_segmental_supply (17)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"converts_to (36699)\"]; \t\"PR\" -> \"CL\" [label=\"part_of (4)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"dorsal_to (1)\"]; \t\"DOID\" -> \"UBERON\" [label=\"located_in (618)\"]; \t\"HGNC\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (4393)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"reducing_agent (2)\"]; \t\"EFO\" -> \"HP\" [label=\"subclass_of (128)\"]; \t\"MEDDRA\" -> \"MEDDRA\" [label=\"member_of (52438)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"developmentally_induced_by (20)\"]; \t\"UniProtKB\" -> \"CHEMBL.COMPOUND\" [label=\"targets (39678)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:preceded_by (1)\"]; \t\"CHEBI\" -> \"SO\" [label=\"subclass_of (23)\"]; \t\"ERO\" -> \"OBI\" [label=\"subclass_of (4)\"]; \t\"GO\" -> \"NBO\" [label=\"INVERTED:by_means (1)\"]; \t\"CHEBI\" -> \"BFO\" [label=\"subclass_of (33)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_fragments_for_synonyms (96184)\"]; \t\"PR\" -> \"GO\" [label=\"part_of (4)\"]; \t\"IDO\" -> \"OBO\" [label=\"INVERTED:has_participant (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"part_of (9688)\"]; \t\"EFO\" -> \"EFO\" [label=\"subclass_of (11372)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_2 (208)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"characterized_by (346)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (1)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"before (11)\"]; \t\"PathWhiz.Compound\" -> \"KEGG\" [label=\"same_as (48957)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_inherent_location (1)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:regulated_by (1913)\"]; \t\"GENO\" -> \"GENO\" [label=\"subclass_of (24)\"]; \t\"CL\" -> \"MA\" [label=\"located_in (1)\"]; \t\"OGMS\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"only_in_taxon (683)\"]; \t\"biolink\" -> \"biolink\" [label=\"subclass_of (248)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_has_activity (74)\"]; \t\"ORPHANET\" -> \"MESH\" [label=\"xref (2518)\"]; \t\"DOID\" -> \"UBERON\" [label=\"adjacent_to (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"drains_into (212)\"]; \t\"HP\" -> \"NCIT\" [label=\"xref (276)\"]; \t\"MGI\" -> \"PR\" [label=\"INVERTED:has_gene_template (16846)\"]; \t\"CGNC\" -> \"SO\" [label=\"subclass_of (552)\"]; \t\"ECO\" -> \"ECO\" [label=\"subclass_of (12)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"inverse_of_exhibits (1082)\"]; \t\"OBO\" -> \"OBOREL\" [label=\"sub_property_of (1)\"]; \t\"EO\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"causal_agent_in_process (1)\"]; \t\"UniProtKB\" -> \"MONDO\" [label=\"associated_with_disease (188)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"indirectly_supplies (4)\"]; \t\"OGMS\" -> \"OGMS\" [label=\"INVERTED:has_participant_at_all_times (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_anterior_to (1)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (12)\"]; \t\"HMDB\" -> \"MEDDRA\" [label=\"at_tissue (2)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"vaccine (6)\"]; \t\"FOODON\" -> \"RO\" [label=\"sub_property_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_expressed_in_tissue (1594)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"precedes (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_venous_drainage (132)\"]; \t\"ZFIN\" -> \"PR\" [label=\"INVERTED:has_gene_template (3318)\"]; \t\"FMA\" -> \"FMA\" [label=\"tributary_of (1068)\"]; \t\"CL\" -> \"UBERON\" [label=\"INVERTED:develops_from (2)\"]; \t\"AraPort\" -> \"NCBITaxon\" [label=\"only_in_taxon (15919)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"larger_than (1)\"]; \t\"HMDB\" -> \"UMLS\" [label=\"at_cellular_location (1)\"]; \t\"NDDF\" -> \"NDDF\" [label=\"ingredient_of (12)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"administered_to (9523)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_gene_product (378)\"]; \t\"sgd\" -> \"SO\" [label=\"subclass_of (5938)\"]; \t\"GENEPIO\" -> \"GEO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"SO\" [label=\"coincident_with (6)\"]; \t\"UniProtKB\" -> \"UniProtKB\" [label=\"regulates_activity_of (165005)\"]; \t\"KEGG\" -> \"DRUGBANK\" [label=\"same_as (978)\"]; \t\"PR\" -> \"CHEBI\" [label=\"non_covalently_bound_to (7)\"]; \t\"NPO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.MECHANISM\" [label=\"related_to (4739)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_identity (126)\"]; \t\"MP\" -> \"DOID\" [label=\"xref (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"surrounded_by (35)\"]; \t\"NCIT\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"CHEBI\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (214)\"]; \t\"UBERON\" -> \"FMA\" [label=\"xref (5851)\"]; \t\"EFO\" -> \"ICD10\" [label=\"xref (2576)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_abnormality (24)\"]; \t\"NCBIGene\" -> \"SO\" [label=\"subclass_of (5380)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"in_taxon (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"agonist (720)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_transport_along (1)\"]; \t\"UBERON\" -> \"NCBITaxon\" [label=\"part_of (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:contains (333)\"]; \t\"LOINC\" -> \"UMLS\" [label=\"xref (260568)\"]; \t\"NBO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"UBERON\" [label=\"has_disease_location (278)\"]; \t\"PO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_property (521)\"]; \t\"CARO\" -> \"CARO\" [label=\"part_of (3)\"]; \t\"MONDO\" -> \"CL\" [label=\"disease_has_location (49)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_major_feature (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antagonist (2951)\"]; \t\"FMA\" -> \"FMA\" [label=\"subclass_of (107543)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"has_phenotype (15337)\"]; \t\"MONDO\" -> \"NBO\" [label=\"disease_causes_disruption_of (4)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (11)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_morphology (7589)\"]; \t\"MONDO\" -> \"GO\" [label=\"disease_causes_disruption_of (93)\"]; \t\"BTO\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"fusion_of (2)\"]; \t\"MONDO\" -> \"GO\" [label=\"disease_has_location (5)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_assembly_of (316)\"]; \t\"CL\" -> \"EFO\" [label=\"subclass_of (41)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"uses_access_device (1594)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"proximal_to (4)\"]; \t\"GENEPIO\" -> \"CHEBI\" [label=\"subclass_of (2)\"]; \t\"MONDO\" -> \"LOINC\" [label=\"xref (1)\"]; \t\"OMIT\" -> \"GENEPIO\" [label=\"subclass_of (6)\"]; \t\"ExO\" -> \"GENEPIO\" [label=\"member_of (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_finding (2554)\"]; \t\"CL\" -> \"CL\" [label=\"synapsed_to (3)\"]; \t\"CL\" -> \"MONDO\" [label=\"INVERTED:disease_arises_from_structure (58)\"]; \t\"FMA\" -> \"FMA\" [label=\"superomedial_to (5)\"]; \t\"UBERON\" -> \"GO\" [label=\"composed_primarily_of (3)\"]; \t\"HGNC\" -> \"NCBITaxon\" [label=\"only_in_taxon (19823)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"INVERTED:determined_by_part_of (1)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_1 (9)\"]; \t\"CL\" -> \"PATO\" [label=\"bearer_of (38)\"]; \t\"OBO\" -> \"GO\" [label=\"subclass_of (5)\"]; \t\"GO\" -> \"GO\" [label=\"has_primary_output (1)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:reformulated_to (9)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"is_active_in (32)\"]; \t\"NCBITaxon\" -> \"EFO\" [label=\"part_of (1)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"converts_to (290)\"]; \t\"NCIT\" -> \"FOODON\" [label=\"subclass_of (4)\"]; \t\"FOODON\" -> \"CHEBI\" [label=\"derives_from (2)\"]; \t\"SIO\" -> \"SIO\" [label=\"subclass_of (4)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_basic_dose_form (274)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_context (2641)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"conceptual_part_of (3585)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"INVERTED:location_of (2270476)\"]; \t\"MONDO\" -> \"UMLS\" [label=\"xref (14056)\"]; \t\"MONDO\" -> \"CL\" [label=\"disease_has_inflammation_site (1)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"activator (13)\"]; \t\"MONDO\" -> \"OBA\" [label=\"disease_has_feature (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"qualifier_applies_to (1)\"]; \t\"ICD10\" -> \"MONDO\" [label=\"equivalent_to (1113)\"]; \t\"NCIT\" -> \"GENEPIO\" [label=\"INVERTED:contains_process (1)\"]; \t\"IAO\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:produced_by (2)\"]; \t\"SO\" -> \"SO\" [label=\"has_quality (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"posterior_to (9)\"]; \t\"CGNC\" -> \"PR\" [label=\"INVERTED:has_gene_template (552)\"]; \t\"FMA\" -> \"FMA\" [label=\"developmental_stage_of (193)\"]; \t\"GO\" -> \"GO\" [label=\"happens_during (12)\"]; \t\"FOODON\" -> \"UBERON\" [label=\"subclass_of (2)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:ends_with (25)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chromosome_mapped_to_disease (189)\"]; \t\"HP\" -> \"MEDDRA\" [label=\"xref (93)\"]; \t\"CHEMBL.COMPOUND\" -> \"DOID\" [label=\"indicated_for (2375)\"]; \t\"UBERON\" -> \"CL\" [label=\"channel_for (4)\"]; \t\"GO\" -> \"EFO\" [label=\"INVERTED:has_input (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"stabiliser (9)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"sub_property_of (1)\"]; \t\"EFO\" -> \"CL\" [label=\"derives_from (6)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_input (3)\"]; \t\"ENSEMBL\" -> \"NCBITaxon\" [label=\"in_taxon (67667)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:contained_in (789)\"]; \t\"OBO\" -> \"FOODON\" [label=\"subclass_of (2)\"]; \t\"PDQ\" -> \"PDQ\" [label=\"associated_disease (243)\"]; \t\"BTO\" -> \"EFO\" [label=\"derives_from (3)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_has_major_feature (14)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"xref (12)\"]; \t\"PO\" -> \"PO\" [label=\"INVERTED:has_participant (3)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_development_of (65)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_3 (437)\"]; \t\"FOODON\" -> \"BFO\" [label=\"subclass_of (11)\"]; \t\"GO\" -> \"OBO\" [label=\"regulates_levels_of (2)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"process_initiates_biological_process (132)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"develops_in (9)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:has_participant (39)\"]; \t\"ARO\" -> \"IDO\" [label=\"is_about (1)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"has_modifier (257)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"same_as (692)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_mapped_to_disease (5189)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"intersection_of (1)\"]; \t\"EFO\" -> \"MONDO\" [label=\"subclass_of (2167)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_has_molecular_abnormality (294)\"]; \t\"MF\" -> \"OGMS\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_location (1)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"subclass_of (59497)\"]; \t\"RO\" -> \"BFO\" [label=\"subclass_of (2)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"subclass_of (71)\"]; \t\"ORPHANET\" -> \"GARD\" [label=\"xref (2968)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_lateral_side_of (131)\"]; \t\"FAO\" -> \"NCBITaxon\" [label=\"only_in_taxon (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"occurs_in (7221)\"]; \t\"NCBITaxon\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"sequestering_agent (23)\"]; \t\"GO\" -> \"CL\" [label=\"overlaps (15)\"]; \t\"HCPCS\" -> \"UMLS\" [label=\"xref (6948)\"]; \t\"NBO\" -> \"PATO\" [label=\"is_about (5)\"]; \t\"GO\" -> \"EFO\" [label=\"subclass_of (10)\"]; \t\"TRANS\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_view_type (1668)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_organization_of (191)\"]; \t\"FOODON\" -> \"IAO\" [label=\"subclass_of (7)\"]; \t\"MONDO\" -> \"HP\" [label=\"disease_causes_feature (5)\"]; \t\"PR\" -> \"SO\" [label=\"subclass_of (45)\"]; \t\"GO\" -> \"GO\" [label=\"overlaps (26)\"]; \t\"PR\" -> \"BFO\" [label=\"subclass_of (2)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_biomarker_type (337)\"]; \t\"CP\" -> \"PATO\" [label=\"bearer_of (4)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"has_role (1)\"]; \t\"UBERON\" -> \"CL\" [label=\"subclass_of (2)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_causes_feature (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_boundary (1)\"]; \t\"dictybase.gene\" -> \"SO\" [label=\"subclass_of (4540)\"]; \t\"FMA\" -> \"FMA\" [label=\"attaches_to (476)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_has_finding (36775)\"]; \t\"KEGG\" -> \"HMDB\" [label=\"same_as (3308)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"stimulates (110058)\"]; \t\"BTO\" -> \"EFO\" [label=\"INVERTED:develops_from (1)\"]; \t\"PATO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"subclass_of (2)\"]; \t\"SIO\" -> \"NCIT\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"UBERON\" [label=\"xref (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"has_role (17)\"]; \t\"UBERON\" -> \"CL\" [label=\"xref (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"HP\" [label=\"contraindicated_for (12221)\"]; \t\"EFO\" -> \"OBI\" [label=\"is_executed_in (2)\"]; \t\"GO\" -> \"ECOCORE\" [label=\"INVERTED:has_part (5)\"]; \t\"CP\" -> \"CL\" [label=\"INVERTED:has_part (26)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"inhibitor (203)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"attaches_to (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_approach_guidance (347)\"]; \t\"MEDDRA\" -> \"MONDO\" [label=\"equivalent_to (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"xref (4)\"]; \t\"DRUGBANK\" -> \"CHEBI\" [label=\"same_as (102)\"]; \t\"FAO\" -> \"CARO\" [label=\"subclass_of (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"produces (14)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"causes (56542)\"]; \t\"CL\" -> \"FAO\" [label=\"xref (8)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_outermost_side_of (2)\"]; \t\"EFO\" -> \"HANCESTRO\" [label=\"has_quality (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:subset_includes_concept (230272)\"]; \t\"MMO\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"NCBITaxon\" -> \"OBI\" [label=\"subclass_of (16)\"]; \t\"CHEBI\" -> \"CL\" [label=\"INVERTED:has_part (1)\"]; \t\"EHDAA2\" -> \"OBO\" [label=\"subclass_of (1)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_enantiomer_of (2594)\"]; \t\"FBgn\" -> \"SO\" [label=\"subclass_of (3954)\"]; \t\"EDAM\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"DOID\" -> \"NCIT\" [label=\"xref (3)\"]; \t\"UMLS\" -> \"MONDO\" [label=\"equivalent_to (14023)\"]; \t\"ECTO\" -> \"ExO\" [label=\"subclass_of (4)\"]; \t\"ENVO\" -> \"BFO\" [label=\"has_increased_levels_of (1)\"]; \t\"ZFIN\" -> \"NCBITaxon\" [label=\"only_in_taxon (3318)\"]; \t\"OBI\" -> \"EFO\" [label=\"subclass_of (39)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_part (16)\"]; \t\"UniProtKB\" -> \"DOID\" [label=\"associated_with_disease (3803)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEBI\" [label=\"same_as (30201)\"]; \t\"FMA\" -> \"FMA\" [label=\"superolateral_to (9)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_class (54220)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"is_given_pharmaceutical_substance_for (2418)\"]; \t\"PATO\" -> \"PATO\" [label=\"correlates_with (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"activator (42)\"]; \t\"HP\" -> \"ICD10\" [label=\"xref (83)\"]; \t\"PathWhiz.ElementCollection\" -> \"UniProtKB\" [label=\"same_as (7)\"]; \t\"NCBIGene\" -> \"UBERON\" [label=\"expressed_in (1414)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_count_of_base_of_active_ingredient (13255)\"]; \t\"UBERON\" -> \"FOODON\" [label=\"subclass_of (34)\"]; \t\"FMA\" -> \"FMA\" [label=\"posterosuperior_to (34)\"]; \t\"GO\" -> \"CHEBI\" [label=\"exports (74)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"derives_from (9)\"]; \t\"CL\" -> \"GO\" [label=\"equivalent_to (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_finding (16831)\"]; \t\"UniProtKB\" -> \"KEGG\" [label=\"physically_interacts_with (22304)\"]; \t\"NCIT\" -> \"OBI\" [label=\"subclass_of (13)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"deep_to (1)\"]; \t\"EnsemblGenomes\" -> \"PR\" [label=\"INVERTED:has_gene_template (278)\"]; \t\"GO\" -> \"GO\" [label=\"results_in (9)\"]; \t\"CL\" -> \"UBERON\" [label=\"innervates (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_morphogenesis_of (342)\"]; \t\"PR\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (1)\"]; \t\"CL\" -> \"EFO\" [label=\"participates_in (1)\"]; \t\"GO\" -> \"PR\" [label=\"xref (89)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"has_disease_location (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_revision_status (1031)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_developmental_stage (193)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (7)\"]; \t\"MONDO\" -> \"PATO\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"cofactor (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"related_object (252)\"]; \t\"CHEBI\" -> \"PR\" [label=\"subclass_of (5)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"related_to (2823)\"]; \t\"GO\" -> \"OBO\" [label=\"has_output (1)\"]; \t\"ecogene\" -> \"NCBITaxon\" [label=\"only_in_taxon (4018)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_part (277)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_plays_role_in_metabolism_of_chemical_or_drug (3)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317346 (38)\"]; \t\"GENEPIO\" -> \"DOID\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"isa (313010)\"]; \t\"CLO\" -> \"PATO\" [label=\"has_quality (405)\"]; \t\"CL\" -> \"AEO\" [label=\"INVERTED:has_part (78)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_quantified_form (15)\"]; \t\"TO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"NBO\" -> \"NBO\" [label=\"is_about (7)\"]; \t\"HMDB\" -> \"UBERON\" [label=\"at_tissue (66)\"]; \t\"NBO\" -> \"GO\" [label=\"is_about (8)\"]; \t\"MESH\" -> \"MESH\" [label=\"mapped_to (376217)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"has_quality (1)\"]; \t\"GENEPIO\" -> \"PCO\" [label=\"subclass_of (2)\"]; \t\"GAZ\" -> \"ENVO\" [label=\"type (190)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"overlaps (77)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"disease_causes_dysfunction_of (2)\"]; \t\"EFO\" -> \"PATO\" [label=\"has_quality (522)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"allosteric_modulator (139)\"]; \t\"PDQ\" -> \"PDQ\" [label=\"component_of (5952)\"]; \t\"STATO\" -> \"STATO\" [label=\"subclass_of (30)\"]; \t\"DRUGBANK\" -> \"UniProtKB\" [label=\"target (16808)\"]; \t\"OBO\" -> \"OBI\" [label=\"subclass_of (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_starts_and_ends_during (15)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_continuation_branch (28)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"located_in (166)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"inhibitor (1337)\"]; \t\"OBI\" -> \"OBI\" [label=\"type (6)\"]; \t\"EFO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"colocalizes_with (1327)\"]; \t\"EHDAA2\" -> \"OBO\" [label=\"existence_starts_during (2268)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"manifestation_of (121769)\"]; \t\"HP\" -> \"MONDO\" [label=\"equivalent_to (5)\"]; \t\"ICD10\" -> \"ICD10\" [label=\"subclass_of (98417)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"subclass_of (665)\"]; \t\"OBI\" -> \"NCIT\" [label=\"inheres_in (1)\"]; \t\"CHMO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"MONDO\" -> \"KEGG\" [label=\"equivalent_to (37)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediate_transformation_of (71)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (1276)\"]; \t\"STATO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"NCBITaxon\" -> \"EFO\" [label=\"INVERTED:has_member (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_initiates_biological_process (113)\"]; \t\"MP\" -> \"ICD9\" [label=\"xref (1)\"]; \t\"BTO\" -> \"EFO\" [label=\"subclass_of (47)\"]; \t\"RO\" -> \"RO\" [label=\"INVERTED:has_subsequence (1)\"]; \t\"NCBITaxon\" -> \"EO\" [label=\"subclass_of (3)\"]; \t\"MONDO\" -> \"OMIMPS\" [label=\"equivalent_to (472)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_input (8)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"anastomoses_with (4)\"]; \t\"ENSEMBL\" -> \"SO\" [label=\"subclass_of (110)\"]; \t\"MONDO\" -> \"OBI\" [label=\"equivalent_to (1)\"]; \t\"MESH\" -> \"GENEPIO\" [label=\"subclass_of (5)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"complicates (42952)\"]; \t\"DOID\" -> \"MEDDRA\" [label=\"xref (33)\"]; \t\"GENEPIO\" -> \"NCIT\" [label=\"is_about (10)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_causes_feature (7)\"]; \t\"EFO\" -> \"PO\" [label=\"equivalent_to (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"transports_or_maintains_localization_of (2)\"]; \t\"UBERON\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (2)\"]; \t\"UBERON\" -> \"GO\" [label=\"participates_in (8)\"]; \t\"NCIT\" -> \"ENVO\" [label=\"subclass_of (6)\"]; \t\"CL\" -> \"PR\" [label=\"has_high_plasma_membrane_amount (65)\"]; \t\"GO\" -> \"SO\" [label=\"has_input (7)\"]; \t\"MONDO\" -> \"DOID\" [label=\"xref (9027)\"]; \t\"PathWhiz.ElementCollection\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (9096)\"]; \t\"GO\" -> \"OBO\" [label=\"has_primary_input (20)\"]; \t\"PathWhiz.NucleicAcid\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (81)\"]; \t\"MONDO\" -> \"HP\" [label=\"has_modifier (140)\"]; \t\"OBO\" -> \"IDO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"RO\" [label=\"sub_property_of (8)\"]; \t\"STATO\" -> \"IAO\" [label=\"subclass_of (2)\"]; \t\"NBO\" -> \"NBO\" [label=\"regulates (16)\"]; \t\"NCIT\" -> \"UO\" [label=\"subclass_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_adjustment (343)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"has_role (3)\"]; \t\"OPL\" -> \"BTO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"SO\" [label=\"transports_or_maintains_localization_of (4)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_specification_of (7)\"]; \t\"EFO\" -> \"DOID\" [label=\"subclass_of (6)\"]; \t\"ENSEMBL\" -> \"HGNC\" [label=\"same_as (42691)\"]; \t\"MONDO\" -> \"MFOEM\" [label=\"disease_causes_disruption_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"partial_agonist (62)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_development_type (13)\"]; \t\"PW\" -> \"OBO\" [label=\"subclass_of (5)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_involved_in_pathogenesis_of_disease (1115)\"]; \t\"DOID\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"OBO\" -> \"OGMS\" [label=\"is_about (1)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (8)\"]; \t\"PDQ\" -> \"UMLS\" [label=\"xref (18972)\"]; \t\"FBgn\" -> \"PR\" [label=\"INVERTED:has_gene_template (3954)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:consists_of (26132)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_proximal_side_of (2)\"]; \t\"HP\" -> \"UBERON\" [label=\"xref (1)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"has_input (10)\"]; \t\"CL\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (41)\"]; \t\"OBI\" -> \"CHEBI\" [label=\"subclass_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"lateral_to (111)\"]; \t\"PATO\" -> \"PATO\" [label=\"decreased_in_magnitude_relative_to (2)\"]; \t\"NDDF\" -> \"NDDF\" [label=\"has_dose_form (17997)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:cdrh_parent_of (666)\"]; \t\"EFO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:ingredient_of (36788)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_temporal_context (5183)\"]; \t\"RO\" -> \"EFO\" [label=\"sub_property_of (1)\"]; \t\"GO\" -> \"SO\" [label=\"imports (1)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"part_of (128)\"]; \t\"ENVO\" -> \"PATO\" [label=\"has_quality (32)\"]; \t\"FMA\" -> \"FMA\" [label=\"arterial_supply_of (622)\"]; \t\"sgd\" -> \"PR\" [label=\"INVERTED:has_gene_template (5940)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"uses_device (4753)\"]; \t\"FMA\" -> \"FMA\" [label=\"inherent_3d_shape_of (4)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"same_as (17550)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"only_in_taxon (5)\"]; \t\"ENVO\" -> \"SIO\" [label=\"subclass_of (1)\"]; \t\"VANDF\" -> \"VANDF\" [label=\"INVERTED:inverse_of_isa (7426)\"]; \t\"CL\" -> \"UBERON\" [label=\"produces (6)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"member_of (22330)\"]; \t\"EO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"connected_to (80)\"]; \t\"HP\" -> \"UPHENO\" [label=\"subclass_of (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_negative_effect (5)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_fission_of (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"articulates_with (692)\"]; \t\"EFO\" -> \"BTO\" [label=\"subclass_of (217)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_parent_group (6515)\"]; \t\"EFO\" -> \"OGMS\" [label=\"xref (1)\"]; \t\"GENEPIO\" -> \"MI\" [label=\"subclass_of (15)\"]; \t\"FMA\" -> \"FMA\" [label=\"inverse_of_contains (555)\"]; \t\"PO\" -> \"PO\" [label=\"participates_in (7)\"]; \t\"ARO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"partially_surrounded_by (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"involved_in (277260)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of (169)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:inverse_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_skeleton (38)\"]; \t\"FMA\" -> \"FMA\" [label=\"merges_with (6)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"compared_with (26838)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"allelic_variant_of (29202)\"]; \t\"OBO\" -> \"OBO\" [label=\"negatively_regulates (1)\"]; \t\"NCBIGene\" -> \"PR\" [label=\"INVERTED:has_gene_template (5701)\"]; \t\"BAO\" -> \"CHEBI\" [label=\"subclass_of (2)\"]; \t\"GO\" -> \"FMA\" [label=\"xref (10)\"]; \t\"OBO\" -> \"OIO\" [label=\"subclass_of (5)\"]; \t\"PathWhiz.Compound\" -> \"CHEBI\" [label=\"same_as (32541)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"located_in (152)\"]; \t\"PDQ\" -> \"PDQ\" [label=\"subclass_of (4291)\"]; \t\"DOID\" -> \"ICD10\" [label=\"xref (8)\"]; \t\"MESH\" -> \"MESH\" [label=\"INVERTED:inverse_of_ro (13058)\"]; \t\"FMA\" -> \"FMA\" [label=\"adheres_to (7)\"]; \t\"EFO\" -> \"EFO\" [label=\"is_executed_in (2)\"]; \t\"PR\" -> \"PR\" [label=\"subclass_of (300998)\"]; \t\"MONDO\" -> \"MF\" [label=\"disease_causes_disruption_of (3)\"]; \t\"FOODON\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (17)\"]; \t\"DOID\" -> \"GO\" [label=\"realized_in_response_to_stimulus (1)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_2_or_phase_3 (16)\"]; \t\"GENEPIO\" -> \"UO\" [label=\"has_measurement_unit_label (3)\"]; \t\"OBO\" -> \"OBO\" [label=\"INVERTED:has_participant (1)\"]; \t\"PathWhiz.Reaction\" -> \"UniProtKB\" [label=\"has_right_element (12)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_dorsal_side_of (6)\"]; \t\"UniProtKB\" -> \"OMIM\" [label=\"associated_with_disease (2132)\"]; \t\"NCBITaxon\" -> \"EFO\" [label=\"subclass_of (4)\"]; \t\"PR\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (3)\"]; \t\"EFO\" -> \"SYMP\" [label=\"xref (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"connected_to (140)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:has_ingredient (3)\"]; \t\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (1418)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"associated_with (1016)\"]; \t\"EFO\" -> \"MESH\" [label=\"xref (1631)\"]; \t\"NBO\" -> \"NBO\" [label=\"part_of (1)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"xref (34858)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_shares_features_of (1)\"]; \t\"NBO\" -> \"GO\" [label=\"part_of (2)\"]; \t\"GO\" -> \"PATO\" [label=\"xref (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_procedure_site (33347)\"]; \t\"UBERON\" -> \"AEO\" [label=\"xref (109)\"]; \t\"SYMP\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:has_part (43)\"]; \t\"FOODON\" -> \"PO\" [label=\"member_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:location_of (1)\"]; \t\"IDO\" -> \"BFO\" [label=\"subclass_of (9)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_muscle_origin (210)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"xref (2)\"]; \t\"PathWhiz.Reaction\" -> \"UniProtKB\" [label=\"has_left_element (13)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317343 (4581)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_ventral_side_of (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_denominator_unit (1294)\"]; \t\"UBERON\" -> \"PR\" [label=\"produces (5)\"]; \t\"NCIT\" -> \"EFO\" [label=\"subclass_of (3)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"has_role (3)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"measures (13930)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_target_start_location (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"skeleton_of (35)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"has_modifier (867)\"]; \t\"FOODON\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (25)\"]; \t\"FMA\" -> \"FMA\" [label=\"primary_segmental_supply_of (24)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_central_side_of (1)\"]; \t\"PATO\" -> \"PATO\" [label=\"reciprocal_of (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"inferior_to (401)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"precedes (149791)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_chemical_or_drug (32)\"]; \t\"CL\" -> \"CARO\" [label=\"xref (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"plays_role (4304)\"]; \t\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:has_part (3)\"]; \t\"SO\" -> \"PR\" [label=\"INVERTED:has_part (6)\"]; \t\"GO\" -> \"DDANAT\" [label=\"xref (1)\"]; \t\"MONDO\" -> \"HP\" [label=\"disease_has_basis_in_feature (42)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"physically_interacts_with (4538)\"]; \t\"FMA\" -> \"FMA\" [label=\"sends_output_to (800)\"]; \t\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:determined_by (3)\"]; \t\"GO\" -> \"CL\" [label=\"has_target_end_location (2)\"]; \t\"FBbt\" -> \"EFO\" [label=\"subclass_of (77)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_has_basis_in_feature (23)\"]; \t\"ORPHANET\" -> \"KEGG\" [label=\"xref (4)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"augments (451409)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"temporally_related_to (60)\"]; \t\"DOID\" -> \"ORPHANET\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"process_of (27799)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:ingredients_of (4352)\"]; \t\"GO\" -> \"GO\" [label=\"has_target_end_location (268)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_1_or_phase_2 (30)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"coexists_with (77418)\"]; \t\"GO\" -> \"NBO\" [label=\"INVERTED:in_response_to (12)\"]; \t\"GENEPIO\" -> \"ARO\" [label=\"subclass_of (4)\"]; \t\"ICD9\" -> \"ICD9\" [label=\"subclass_of (22402)\"]; \t\"HMDB\" -> \"UniProtKB\" [label=\"has_protein_association (332823)\"]; \t\"NCIT\" -> \"OMIT\" [label=\"subclass_of (1)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_3 (81)\"]; \t\"OBO\" -> \"EFO\" [label=\"subclass_of (7)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"inverse_agonist (11)\"]; \t\"PomBase\" -> \"NCBITaxon\" [label=\"only_in_taxon (5124)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:contains_process (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"uses_energy (314)\"]; \t\"ORPHANET\" -> \"OMIMPS\" [label=\"xref (300)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (190)\"]; \t\"PO\" -> \"PO\" [label=\"subclass_of (531)\"]; \t\"EFO\" -> \"PO\" [label=\"part_of (1)\"]; \t\"NBO\" -> \"PATO\" [label=\"subclass_of (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"disrupts (64071)\"]; \t\"MONDO\" -> \"SNOMED\" [label=\"equivalent_to (9000)\"]; \t\"DRUGBANK\" -> \"KEGG\" [label=\"external_identifier (1670)\"]; \t\"BFO\" -> \"BFO\" [label=\"INVERTED:inverse_of (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"agonist (2960)\"]; \t\"HMDB\" -> \"MESH\" [label=\"at_tissue (2301)\"]; \t\"BTO\" -> \"BTO\" [label=\"derives_from (2)\"]; \t\"UniProtKB\" -> \"UniProtKB\" [label=\"regulates_expression_of (237781)\"]; \t\"OBI\" -> \"EFO\" [label=\"INVERTED:has_input (2)\"]; \t\"EFO\" -> \"OBO\" [label=\"part_of (5)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_substituent_group_from (1267)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"subclass_of (850)\"]; \t\"CHEMBL.COMPOUND\" -> \"DOID\" [label=\"contraindicated_for (9264)\"]; \t\"UBERON\" -> \"NBO\" [label=\"INVERTED:by_means (6)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"derives_from (1)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"antisense (22)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_interpretation (12748)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"uses (386689)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_component (8)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"predisposes_towards (4)\"]; \t\"ARO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"superior_to (399)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_related_developmental_entity (15)\"]; \t\"EFO\" -> \"HP\" [label=\"has_phenotype (3)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:contains_process (28)\"]; \t\"MONDO\" -> \"HP\" [label=\"equivalent_to (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_severity (38)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"innervates (105)\"]; \t\"GO\" -> \"CL\" [label=\"xref (258)\"]; \t\"MONDO\" -> \"OMIM\" [label=\"xref (8869)\"]; \t\"GO\" -> \"GO\" [label=\"causally_upstream_of (3)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_food_substance_analog (14)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"specimen_procedure_of (944)\"]; \t\"MONDO\" -> \"HP\" [label=\"disease_has_feature (709)\"]; \t\"MONDO\" -> \"EFO\" [label=\"equivalent_to (2850)\"]; \t\"EFO\" -> \"UBERON\" [label=\"occurs_in (1)\"]; \t\"GENEPIO\" -> \"NCIT\" [label=\"before (1)\"]; \t\"IAO\" -> \"OIO\" [label=\"type (1)\"]; \t\"SYMP\" -> \"DOID\" [label=\"INVERTED:disease_has_basis_in (2)\"]; \t\"GO\" -> \"GO\" [label=\"xref (4)\"]; \t\"RGD\" -> \"NCBITaxon\" [label=\"only_in_taxon (8114)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"gene_mutations_contribute_to (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"transformation_of (47)\"]; \t\"UBERON\" -> \"GO\" [label=\"simultaneous_with (11)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_has_feature (15)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"inhibitor (2414)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_development_of (588)\"]; \t\"EFO\" -> \"EFO\" [label=\"derives_from (15)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_0 (29)\"]; \t\"MONDO\" -> \"MFOMD\" [label=\"realized_in (6)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"disrupts (433181)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_scale_type (527)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_imaged_location (6361)\"]; \t\"DOID\" -> \"CL\" [label=\"located_in (10)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"binder (28)\"]; \t\"GO\" -> \"PO\" [label=\"occurs_in (10)\"]; \t\"HGNC\" -> \"SO\" [label=\"subclass_of (19874)\"]; \t\"MGI\" -> \"NCBITaxon\" [label=\"only_in_taxon (16846)\"]; \t\"FMA\" -> \"FMA\" [label=\"direct_left_of (275)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"opposite_to (3)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"coexists_with (1402013)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_mutant_encodes_gene_product_sequence_variation (809)\"]; \t\"SIO\" -> \"IAO\" [label=\"subclass_of (4)\"]; \t\"UBERON\" -> \"CL\" [label=\"part_of (6)\"]; \t\"MONDO\" -> \"ICD9\" [label=\"xref (5741)\"]; \t\"BTO\" -> \"BTO\" [label=\"INVERTED:develops_from (1)\"]; \t\"ECTO\" -> \"RO\" [label=\"subclass_of (4)\"]; \t\"PR\" -> \"PR\" [label=\"INVERTED:has_gene_template (61)\"]; \t\"GO\" -> \"PR\" [label=\"has_input (292)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"has_output (10)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"subclass_of (22)\"]; \t\"OAE\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"part_of (11)\"]; \t\"PR\" -> \"SO\" [label=\"lacks_part (3240)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_associated_location (545)\"]; \t\"UniProtKB\" -> \"DOID\" [label=\"gene_associated_with_condition (33361)\"]; \t\"FMA\" -> \"FMA\" [label=\"distal_to (159)\"]; \t\"EFO\" -> \"GARD\" [label=\"xref (555)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"ends (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:has_part (17)\"]; \t\"OBO\" -> \"PATO\" [label=\"bearer_of (1)\"]; \t\"BFO\" -> \"OIO\" [label=\"subclass_of (1)\"]; \t\"DOID\" -> \"GO\" [label=\"disease_has_location (3)\"]; \t\"OBO\" -> \"OBO\" [label=\"immediately_preceded_by (5)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"blocker (149)\"]; \t\"GO\" -> \"FAO\" [label=\"results_in_development_of (10)\"]; \t\"NCBIGene\" -> \"HP\" [label=\"has_phenotype (60)\"]; \t\"GO\" -> \"PR\" [label=\"transports_or_maintains_localization_of (9)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_direct_cell_shape (2)\"]; \t\"CL\" -> \"UBERON\" [label=\"has_soma_location (5)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"class_code_classified_by (61)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_shares_features_of (49)\"]; \t\"ECTO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (6)\"]; \t\"FOODON\" -> \"PATO\" [label=\"subclass_of (6)\"]; \t\"CHEMBL.COMPOUND\" -> \"MESH\" [label=\"treats (27892)\"]; \t\"CL\" -> \"UBERON\" [label=\"has_synaptic_terminal_in (2)\"]; \t\"ERO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"EFO\" [label=\"subclass_of (311)\"]; \t\"AraPort\" -> \"SO\" [label=\"subclass_of (15919)\"]; \t\"OBI\" -> \"BTO\" [label=\"subclass_of (1)\"]; \t\"PR\" -> \"PR\" [label=\"INVERTED:has_component (390)\"]; \t\"CL\" -> \"CL\" [label=\"INVERTED:develops_from (380)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"associated_with (3952)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"subclass_of (200)\"]; \t\"MF\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (1)\"]; \t\"CL\" -> \"FMA\" [label=\"xref (701)\"]; \t\"PR\" -> \"UBERON\" [label=\"INVERTED:has_part (6)\"]; \t\"HP\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"diagnoses (6)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"inhibits (68254)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"genetic_biomarker_related_to (2607)\"]; \t\"PECO\" -> \"PECO\" [label=\"subclass_of (8)\"]; \t\"UBERON\" -> \"EFO\" [label=\"xref (613)\"]; \t\"OGMS\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_lateral_location_presence (3480)\"]; \t\"OBI\" -> \"EFO\" [label=\"part_of (2)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"compared_with (348640)\"]; \t\"OMIT\" -> \"NCIT\" [label=\"subclass_of (2)\"]; \t\"ARO\" -> \"ARO\" [label=\"subclass_of (40)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"proteolytic_enzyme (6)\"]; \t\"NBO\" -> \"NBO\" [label=\"subclass_of (985)\"]; \t\"HP\" -> \"MESH\" [label=\"xref (3)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"class_of (45064)\"]; \t\"NBO\" -> \"GO\" [label=\"subclass_of (14)\"]; \t\"NCIT\" -> \"CHEBI\" [label=\"subclass_of (7)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_morphology (154)\"]; \t\"CHEBI\" -> \"EFO\" [label=\"has_role (83)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_conjugate_acid_of (8028)\"]; \t\"EFO\" -> \"FMA\" [label=\"xref (57)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_modality_type (6030)\"]; \t\"FMA\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"PATO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"]; \t\"OBI\" -> \"UBERON\" [label=\"INVERTED:produced_by (1)\"]; \t\"UO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"CL\" [label=\"has_disease_location (59)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"results_in_formation_of (2)\"]; \t\"BAO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"PR\" [label=\"imports (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_is_element_in_pathway (6246)\"]; \t\"CL\" -> \"GO\" [label=\"has_high_plasma_membrane_amount (15)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_transport_along (6)\"]; \t\"SO\" -> \"CHEBI\" [label=\"subclass_of (7)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"relative_to_part_of (2)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"located_in (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_branch (6906)\"]; \t\"FMA\" -> \"FMA\" [label=\"anteromedial_to (22)\"]; \t\"GO\" -> \"MI\" [label=\"subclass_of (2)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_acquisition_of_features_of (31)\"]; \t\"UBERON\" -> \"PATO\" [label=\"has_quality (75)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_has_basis_in_feature (68)\"]; \t\"OBI\" -> \"OBI\" [label=\"is_about (1)\"]; \t\"UniProtKB\" -> \"CHEBI\" [label=\"physically_interacts_with (29920)\"]; \t\"TypOn\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"posterolateral_to (12)\"]; \t\"HP\" -> \"MP\" [label=\"xref (1)\"]; \t\"DOID\" -> \"DOID\" [label=\"has_symptom (9)\"]; \t\"PathWhiz.Compound\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (142)\"]; \t\"GENEPIO\" -> \"STATO\" [label=\"is_about (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"postaxialmost_part_of (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen (3075)\"]; \t\"HMDB\" -> \"OMIM\" [label=\"disease (4222)\"]; \t\"IDO\" -> \"OGMS\" [label=\"subclass_of (1)\"]; \t\"OBO\" -> \"CHEBI\" [label=\"subclass_of (5)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_lateral_anatomic_location (3498)\"]; \t\"GO\" -> \"CHEBI\" [label=\"has_primary_output (1168)\"]; \t\"dictybase.gene\" -> \"PR\" [label=\"INVERTED:has_gene_template (4540)\"]; \t\"RO\" -> \"RO\" [label=\"subclass_of (2)\"]; \t\"UO\" -> \"IAO\" [label=\"subclass_of (2)\"]; \t\"DOID\" -> \"UBERON\" [label=\"has_disease_location (1)\"]; \t\"MONDO\" -> \"medgen\" [label=\"equivalent_to (2582)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"multipart_of (21095)\"]; \t\"MONDO\" -> \"UMLS\" [label=\"equivalent_to (14023)\"]; \t\"EFO\" -> \"PATO\" [label=\"xref (8)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:327767 (309)\"]; \t\"OIO\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"adjacent_to (22)\"]; \t\"CPT\" -> \"CPT\" [label=\"mapped_to (191)\"]; \t\"NCBIGene\" -> \"DOID\" [label=\"associated_with_disease (110)\"]; \t\"BTO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_output (1)\"]; \t\"CPT\" -> \"CPT\" [label=\"has_possibly_included_panel_element (1)\"]; \t\"CL\" -> \"UBERON\" [label=\"adjacent_to (6)\"]; \t\"FMA\" -> \"FMA\" [label=\"anterolateral_to (18)\"]; \t\"UniProtKB\" -> \"UBERON\" [label=\"expressed_in (323101)\"]; \t\"DOID\" -> \"GO\" [label=\"realized_in_response_to (6)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_component (4159)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_exam (454)\"]; \t\"HANCESTRO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"subclass_of (3400)\"]; \t\"GENEPIO\" -> \"SO\" [label=\"is_about (7)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_definitional_manifestation (13)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_found_in_organism (1840)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_growth_of (20)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"stimulates (663742)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:output_of (3)\"]; \t\"EFO\" -> \"UBERON\" [label=\"is_about (341)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_technique (155)\"]; \t\"BFO\" -> \"EFO\" [label=\"subclass_of (4)\"]; \t\"GO\" -> \"SO\" [label=\"has_output (6)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"directly_develops_from (1)\"]; \t\"HMDB\" -> \"SMPDB\" [label=\"in_pathway (482060)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:composed_primarily_of (3)\"]; \t\"MONDO\" -> \"RO\" [label=\"sub_property_of (1)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"located_in (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_normal_cell_origin_of_disease (18809)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"tributary_of (35)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"activator (316)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:site_of (16)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_transport_to_from_or_in (2)\"]; \t\"BTO\" -> \"BTO\" [label=\"subclass_of (7)\"]; \t\"FMA\" -> \"FMA\" [label=\"branch_of (7586)\"]; \t\"PO\" -> \"PO\" [label=\"adjacent_to (1)\"]; \t\"UBERON\" -> \"EHDAA2\" [label=\"xref (1386)\"]; \t\"MEDDRA\" -> \"MEDDRA\" [label=\"subclass_of (36911)\"]; \t\"GENEPIO\" -> \"CHMO\" [label=\"subclass_of (5)\"]; \t\"SYMP\" -> \"SYMP\" [label=\"subclass_of (847)\"]; \t\"ECTO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (33)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_has_feature (298)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_modality_subtype (1083)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"sub_property_of (15)\"]; \t\"EFO\" -> \"UBERON\" [label=\"inheres_in (7)\"]; \t\"HMDB\" -> \"FMA\" [label=\"at_tissue (4175)\"]; \t\"FMA\" -> \"UMLS\" [label=\"xref (104400)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"drains (79)\"]; \t\"HANCESTRO\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"has_not_completed (12)\"]; \t\"OBI\" -> \"ERO\" [label=\"subclass_of (3)\"]; \t\"ICO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"FAO\" [label=\"results_in_growth_of (1)\"]; \t\"PATO\" -> \"PATO\" [label=\"increased_in_magnitude_relative_to (4)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"same_as (142)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_absent_from_wild_type_chromosomal_location (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"associated_with (699263)\"]; \t\"GENEPIO\" -> \"NCBITaxon\" [label=\"is_about (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_segmental_composition (2)\"]; \t\"wb\" -> \"PR\" [label=\"INVERTED:has_gene_template (4479)\"]; \t\"IAO\" -> \"OBO\" [label=\"inverse_of (1)\"]; \t\"CL\" -> \"UBERON\" [label=\"located_in (83)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_plays_role_in_biological_process (21782)\"]; \t\"GAZ\" -> \"GENEPIO\" [label=\"subclass_of (16)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"disease_has_basis_in_feature (1)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_component (38)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_commitment_to (57)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"has_axis (6)\"]; \t\"ERO\" -> \"ERO\" [label=\"subclass_of (2)\"]; \t\"UBERON\" -> \"UMLS\" [label=\"xref (2836)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_in_chromosomal_location (104)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"develops_from_part_of (5)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_has_primary_anatomic_site (11480)\"]; \t\"UBERON\" -> \"NBO\" [label=\"capable_of (2)\"]; \t\"PR\" -> \"GO\" [label=\"subclass_of (360)\"]; \t\"UBERON\" -> \"GO\" [label=\"capable_of (122)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"produces (25911)\"]; \t\"GO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (30)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_suffix (33614)\"]; \t\"MESH\" -> \"MONDO\" [label=\"equivalent_to (7860)\"]; \t\"UBERON\" -> \"GO\" [label=\"functionally_related_to (4)\"]; \t\"HCPCS\" -> \"HCPCS\" [label=\"subclass_of (6944)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"subclass_of (23328)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_structural_organization_of (8)\"]; \t\"GO\" -> \"GO\" [label=\"capable_of_part_of (298)\"]; \t\"GENEPIO\" -> \"SIO\" [label=\"subclass_of (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"secondary_segmental_supply_of (2)\"]; \t\"ORPHANET\" -> \"HP\" [label=\"xref (87)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:complex_has_physical_part (616)\"]; \t\"GEO\" -> \"GEO\" [label=\"subclass_of (1)\"]; \t\"OBO\" -> \"CL\" [label=\"INVERTED:has_part (3)\"]; \t\"CHEBI\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"xref (1)\"]; \t\"PO\" -> \"PO\" [label=\"located_in (3)\"]; \t\"GO\" -> \"GO\" [label=\"isa (6463)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"inheres_in (9)\"]; \t\"dictybase.gene\" -> \"NCBITaxon\" [label=\"only_in_taxon (4540)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"has_quality (4)\"]; \t\"EFO\" -> \"EFO\" [label=\"INVERTED:develops_from (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"channels_into (18)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"xref (61)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"human_disease_maps_to_eo_disease (1829)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"modulator (85)\"]; \t\"VT\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"SO\" [label=\"has_primary_input (17)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_secondary_segmental_supply (79)\"]; \t\"EFO\" -> \"CL\" [label=\"xref (12)\"]; \t\"HP\" -> \"GARD\" [label=\"xref (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"INVERTED:inverse_of_rn (115122)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"converts_to (1690)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_specification_of (4)\"]; \t\"GENEPIO\" -> \"OBO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"GAZ\" [label=\"located_in (1)\"]; \t\"HP\" -> \"ORPHANET\" [label=\"subclass_of (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"connects (524)\"]; \t\"EFO\" -> \"GO\" [label=\"xref (6)\"]; \t\"MONDO\" -> \"HP\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"cross_linking_agent (33)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_method (60209)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_numerator_unit (4305)\"]; \t\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (1567712)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"has_role (39604)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"branching_part_of (47)\"]; \t\"MONDO\" -> \"EFO\" [label=\"subclass_of (1906)\"]; \t\"NCBITaxon\" -> \"EFO\" [label=\"INVERTED:has_participant (16)\"]; \t\"EHDAA2\" -> \"OBO\" [label=\"existence_ends_during (2367)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_consumer (6)\"]; \t\"UBERON\" -> \"ZFA\" [label=\"xref (33)\"]; \t\"FOODON\" -> \"PO\" [label=\"derives_from (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_inherent_attribute (156)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"affects (97)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"disease_shares_features_of (1)\"]; \t\"GAZ\" -> \"GENEPIO\" [label=\"type (56)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"INVERTED:has_part (3773)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"subclass_of (179)\"]; \t\"UPHENO\" -> \"PATO\" [label=\"subclass_of (1)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_2_or_phase_3 (29)\"]; \t\"GO\" -> \"GO\" [label=\"immediately_preceded_by (7)\"]; \t\"PO\" -> \"FOODON\" [label=\"INVERTED:has_part (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"attaches_to_part_of (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"has_quality (10)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"anterior_to (11)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_has_metastatic_anatomic_site (140)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"surface_of (12)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_formation_of (17)\"]; \t\"MONDO\" -> \"OMOP\" [label=\"equivalent_to (1590)\"]; \t\"NCBIGene\" -> \"CL\" [label=\"expressed_in (20)\"]; \t\"FBbt\" -> \"FBbt\" [label=\"subclass_of (12)\"]; \t\"CL\" -> \"PR\" [label=\"lacks_plasma_membrane_part (454)\"]; \t\"DOID\" -> \"GO\" [label=\"disease_causes_disruption_of (27)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_end_location (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"receives_drainage_from (195)\"]; \t\"NCBITaxon\" -> \"UMLS\" [label=\"xref (1776528)\"]; \t\"NCIT\" -> \"DOID\" [label=\"subclass_of (1)\"]; \t\"HMDB\" -> \"MESH\" [label=\"in_biospecimen (19)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"owning_subsection_of (42)\"]; \t\"DOID\" -> \"MESH\" [label=\"xref (3539)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_morphogenesis_of (10)\"]; \t\"NCIT\" -> \"PCO\" [label=\"subclass_of (2)\"]; \t\"MONDO\" -> \"OncoTree\" [label=\"equivalent_to (556)\"]; \t\"CL\" -> \"UBERON\" [label=\"part_of (690)\"]; \t\"VCARD\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_start_location (1)\"]; \t\"OBOREL\" -> \"RO\" [label=\"sub_property_of (1)\"]; \t\"BTO\" -> \"PATO\" [label=\"bearer_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"has_input (9)\"]; \t\"SIO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (2)\"]; \t\"UBERON\" -> \"BTO\" [label=\"INVERTED:develops_from (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_has_normal_tissue_origin (19638)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_morphogenesis_of (12)\"]; \t\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_nucleic_acid (816)\"]; \t\"CHEMBL.COMPOUND\" -> \"UniProtKB\" [label=\"targets (39678)\"]; \t\"FMA\" -> \"FMA\" [label=\"matures_into (76)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:negatively_regulated_by (1632)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"interacts_with (1297335)\"]; \t\"SO\" -> \"OBI\" [label=\"is_about (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"proximal_to (106)\"]; \t\"BSPO\" -> \"FMA\" [label=\"xref (7)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"left_of (1)\"]; \t\"PR\" -> \"MOD\" [label=\"subclass_of (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_precondition (14)\"]; \t\"MEDDRA\" -> \"MEDDRA\" [label=\"classified_as (47649)\"]; \t\"EFO\" -> \"PO\" [label=\"subclass_of (19)\"]; \t\"ENVO\" -> \"BFO\" [label=\"subclass_of (16)\"]; \t\"PR\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (5)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"innervated_by (143)\"]; \t\"GENEPIO\" -> \"NCIT\" [label=\"subclass_of (33)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"affects (6)\"]; \t\"HMDB\" -> \"CL\" [label=\"at_tissue (7)\"]; \t\"GO\" -> \"OBA\" [label=\"negatively_regulates (11)\"]; \t\"MP\" -> \"ICD10\" [label=\"xref (2)\"]; \t\"PATO\" -> \"CARO\" [label=\"xref (2)\"]; \t\"PR\" -> \"GO\" [label=\"INVERTED:has_participant (3)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_substance_added (1)\"]; \t\"NCIT\" -> \"GENEPIO\" [label=\"subclass_of (38)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_right_side_of (49)\"]; \t\"PR\" -> \"PR\" [label=\"lacks_part (3181)\"]; \t\"MONDO\" -> \"CL\" [label=\"disease_causes_dysfunction_of (4)\"]; \t\"OMIM\" -> \"MONDO\" [label=\"equivalent_to (8717)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"affects (1521984)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_has_physical_location (989)\"]; \t\"HGNC\" -> \"UMLS\" [label=\"xref (41638)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (136)\"]; \t\"GAZ\" -> \"GAZ\" [label=\"subclass_of (273)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"preaxialmost_part_of (11)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"inverse_of (18)\"]; \t\"OBO\" -> \"PCO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"is_about (12)\"]; \t\"ICD9\" -> \"MONDO\" [label=\"equivalent_to (1883)\"]; \t\"SO\" -> \"GENEPIO\" [label=\"subclass_of (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_associated_with_disease (2175)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"inheres_in (41)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"blocker (21)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"starts (3)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"equivalent_to (9149)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_structural_class (2)\"]; \t\"GO\" -> \"GO\" [label=\"negatively_regulates (4659)\"]; \t\"FMA\" -> \"FMA\" [label=\"connection_type_of (4)\"]; \t\"DOID\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"]; \t\"PO\" -> \"EFO\" [label=\"part_of (10)\"]; \t\"NCIT\" -> \"MONDO\" [label=\"equivalent_to (6777)\"]; \t\"FAO\" -> \"FAO\" [label=\"part_of (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"efferent_to (820)\"]; \t\"PO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"ORPHANET\" -> \"UMLS\" [label=\"xref (6226)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (2)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"INVERTED:location_of (26952)\"]; \t\"FMA\" -> \"FMA\" [label=\"posterior_to (403)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"component_of (126098)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_2 (1043)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_member (22838)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"subclass_of (250116)\"]; \t\"GO\" -> \"CARO\" [label=\"results_in_development_of (1)\"]; \t\"FLU\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"MF\" -> \"MF\" [label=\"subclass_of (8)\"]; \t\"OBO\" -> \"GENEPIO\" [label=\"subclass_of (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"positive_allosteric_modulator (67)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"same_as (40970)\"]; \t\"PR\" -> \"PR\" [label=\"INVERTED:has_part (154)\"]; \t\"CHEBI\" -> \"EFO\" [label=\"INVERTED:has_input (14)\"]; \t\"HP\" -> \"MP\" [label=\"subclass_of (5)\"]; \t\"HMDB\" -> \"CHEBI\" [label=\"same_as (4846)\"]; \t\"GO\" -> \"CL\" [label=\"has_input (64)\"]; \t\"OMP\" -> \"NCIT\" [label=\"is_about (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_arterial_supply (599)\"]; \t\"MONDO\" -> \"DOID\" [label=\"equivalent_to (9000)\"]; \t\"CL\" -> \"OBO\" [label=\"INVERTED:has_participant (3)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"has_output (1)\"]; \t\"MONDO\" -> \"UMLS\" [label=\"subclass_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_property_or_attribute (277)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"associated_with_disease (25)\"]; \t\"CHEBI\" -> \"OIO\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"PR\" [label=\"expresses (6)\"]; \t\"CHEBI\" -> \"NBO\" [label=\"INVERTED:has_participant (10)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"part_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"has_input (116)\"]; \t\"FMA\" -> \"FMA\" [label=\"medial_to (130)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"follows_axis (4)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_participant (23)\"]; \t\"FMA\" -> \"FMA\" [label=\"bounds (1465)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"disease_has_major_feature (1)\"]; \t\"GO\" -> \"CL\" [label=\"transports_or_maintains_localization_of (4)\"]; \t\"CHEBI\" -> \"SO\" [label=\"equivalent_to (3)\"]; \t\"ecogene\" -> \"PR\" [label=\"INVERTED:has_gene_template (4019)\"]; \t\"PomBase\" -> \"PR\" [label=\"INVERTED:has_gene_template (5172)\"]; \t\"CHEBI\" -> \"BFO\" [label=\"equivalent_to (1)\"]; \t\"PathWhiz.Bound\" -> \"PathWhiz\" [label=\"INVERTED:has_bound (946)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"xref (5779)\"]; \t\"PathWhiz\" -> \"GO\" [label=\"has_location (3066986)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"xref (6793)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (2)\"]; \t\"GO\" -> \"GO\" [label=\"transports_or_maintains_localization_of (61)\"]; \t\"PCO\" -> \"ENVO\" [label=\"INVERTED:has_part (1)\"]; \t\"OBO\" -> \"OBI\" [label=\"is_about (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_system (129358)\"]; \t\"PCO\" -> \"PCO\" [label=\"subclass_of (10)\"]; \t\"ATC\" -> \"ATC\" [label=\"subclass_of (6317)\"]; \t\"MONDO\" -> \"NBO\" [label=\"realized_in (1)\"]; \t\"wb\" -> \"NCBITaxon\" [label=\"only_in_taxon (4479)\"]; \t\"MONDO\" -> \"GO\" [label=\"realized_in (9)\"]; \t\"SMPDB\" -> \"PathWhiz\" [label=\"same_as (110216)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_abnormal_cell_of_disease (49398)\"]; \t\"RO\" -> \"OBOREL\" [label=\"sub_property_of (2)\"]; \t\"DOID\" -> \"UBERON\" [label=\"derives_from (18)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"subclass_of (38341)\"]; \t\"RGD\" -> \"SO\" [label=\"subclass_of (8114)\"]; \t\"RO\" -> \"OBOREL\" [label=\"inverse_of (1)\"]; \t\"UBERON\" -> \"FBbt\" [label=\"xref (4)\"]; \t\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (10)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_developmental_contribution_from (103)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_pathological_process (16823)\"]; \t\"EHDAA2\" -> \"AEO\" [label=\"part_of (36)\"]; \t\"GO\" -> \"OBO\" [label=\"exports (4)\"]; \t\"HANCESTRO\" -> \"dbpedia\" [label=\"is_demonym_of (9)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (25)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:410296 (196)\"]; \t\"DRUGBANK\" -> \"CHEBI\" [label=\"external_identifier (5052)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"has_parent_hydride (1623)\"]; \t\"PCO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:has_part (3759)\"]; \t\"PR\" -> \"PR\" [label=\"equivalent_to (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:transforms_from (22)\"]; \t\"HP\" -> \"CL\" [label=\"xref (4)\"]; \t\"EFO\" -> \"KEGG\" [label=\"xref (26)\"]; \t\"HANCESTRO\" -> \"HANCESTRO\" [label=\"has_ancestry_status (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_count (148)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_member (11)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_doseformgroup (17677)\"]; \t\"CL\" -> \"PR\" [label=\"lacks_part (10)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"cytogenetic_abnormality_involves_chromosome (684)\"]; \t\"EHDAA2\" -> \"CARO\" [label=\"subclass_of (927)\"]; \t\"HP\" -> \"GO\" [label=\"xref (3)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"starts_axis (7)\"]; \t\"GO\" -> \"GO\" [label=\"imports (2)\"]; \t\"UBERON\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (22)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"may_be_qualified_by (20)\"]; \t\"EFO\" -> \"UBERON\" [label=\"part_of (22)\"]; \t\"ARO\" -> \"NCIT\" [label=\"subclass_of (3)\"]; \t\"SO\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (5)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"antisense_inhibitor (2)\"]; \t\"EFO\" -> \"OMIMPS\" [label=\"xref (47)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"distal_to (2)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"stimulates (20660)\"]; \t\"EFO\" -> \"OBI\" [label=\"xref (1)\"]; \t\"ARO\" -> \"GENEPIO\" [label=\"equivalent_to (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"causative_agent_of (18961)\"]; \t\"DOID\" -> \"GARD\" [label=\"xref (1)\"]; \t\"EFO\" -> \"PR\" [label=\"is_about (3)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"proximally_connected_to (55)\"]; \t\"PR\" -> \"GO\" [label=\"involved_in (3)\"]; \t\"CLO\" -> \"EFO\" [label=\"bearer_of (8)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_divisor (5470)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_abnormal_cell (28)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_lymphatic_drainage (759)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_distal_side_of (2)\"]; \t\"PO\" -> \"BFO\" [label=\"subclass_of (46)\"]; \t\"ENVO\" -> \"NCIT\" [label=\"located_in (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"lymphatic_drainage_of (764)\"]; \t\"ICD10\" -> \"UMLS\" [label=\"xref (109975)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"neoplasm_has_special_category (105)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"intersects_midsagittal_plane_of (27)\"]; \t\"CL\" -> \"GO\" [label=\"produces (14)\"]; \t\"RO\" -> \"RO\" [label=\"INVERTED:inverse_of (6)\"]; \t\"FOODON\" -> \"ENVO\" [label=\"subclass_of (9)\"]; \t\"PomBase\" -> \"SO\" [label=\"subclass_of (5124)\"]; \t\"UBERON\" -> \"GENEPIO\" [label=\"subclass_of (5)\"]; \t\"KEGG\" -> \"CHEBI\" [label=\"same_as (2516)\"]; \t\"MEDDRA\" -> \"MEDDRA\" [label=\"INVERTED:has_member (17338)\"]; \t\"GO\" -> \"GO\" [label=\"immediately_precedes (4)\"]; \t\"NBO\" -> \"UBERON\" [label=\"INVERTED:output_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"receives_input_from (676)\"]; \t\"OMIT\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inverse_agonist (23)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:has_ingredient (38040)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_conjugate_base_of (8028)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_fusion (4)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.ElementCollection\" [label=\"has_right_element (1584)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"predisposes (23510)\"]; \t\"CHEBI\" -> \"EFO\" [label=\"subclass_of (223)\"]; \t\"OBO\" -> \"MI\" [label=\"subclass_of (15)\"]; \t\"HMDB\" -> \"FMA\" [label=\"in_biospecimen (49)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_qualified_by (1)\"]; \t\"MI\" -> \"MI\" [label=\"subclass_of (101)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"allosteric_antagonist (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"occurs_in (69)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"anterior_to (1)\"]; \t\"IAO\" -> \"BFO\" [label=\"sub_property_of (2)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"part_of (6)\"]; \t\"UBERON\" -> \"GO\" [label=\"located_in (1)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"INVERTED:has_part (1)\"]; \t\"PR\" -> \"GO\" [label=\"capable_of (25)\"]; \t\"GEO\" -> \"GENEPIO\" [label=\"subclass_of (2)\"]; \t\"ECOCORE\" -> \"ECOCORE\" [label=\"subclass_of (8)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_1 (499)\"]; \t\"GO\" -> \"OBO\" [label=\"subclass_of (2)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"predisposes_towards (4)\"]; \t\"UBERON\" -> \"EFO\" [label=\"part_of (3)\"]; \t\"EFO\" -> \"UBERON\" [label=\"inheres_in_part_of (13)\"]; \t\"CL\" -> \"CL\" [label=\"synapsed_by (4)\"]; \t\"DRUGBANK\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (6)\"]; \t\"OMIT\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"MONDO\" -> \"MEDDRA\" [label=\"xref (3)\"]; \t\"UBERON\" -> \"BTO\" [label=\"xref (7)\"]; \t\"GO\" -> \"PATO\" [label=\"bearer_of (5)\"]; \t\"FMA\" -> \"FMA\" [label=\"right_lateral_to (4)\"]; \t\"GO\" -> \"PR\" [label=\"has_primary_input (2)\"]; \t\"CL\" -> \"AEO\" [label=\"xref (1)\"]; \t\"GO\" -> \"GO\" [label=\"inverse_ends_during (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_transformation (274)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.ElementCollection\" [label=\"has_left_element (1625)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_associated_anatomy (5253)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_context_binding (68)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_part (4)\"]; \t\"FOODON\" -> \"OIO\" [label=\"subclass_of (11)\"]; \t\"IAO\" -> \"IAO\" [label=\"sub_property_of (1)\"]; \t\"UniProtKB\" -> \"PathWhiz.ProteinComplex\" [label=\"INVERTED:has_protein_in_complex (1903)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inhibitor (5750)\"]; \t\"FMA\" -> \"FMA\" [label=\"development_type_of (13)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_nichd_parent (4081)\"]; \t\"GO\" -> \"CL\" [label=\"INVERTED:has_part (98)\"]; \t\"biolink\" -> \"biolink\" [label=\"sub_property_of (141)\"]; \t\"DDANAT\" -> \"CARO\" [label=\"xref (4)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"disease_has_major_feature (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_posterior_to (1)\"]; \t\"OBI\" -> \"SIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:has_part (4860)\"]; \t\"CHMO\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"posterior_to (1)\"]; \t\"PathWhiz.NucleicAcid\" -> \"CHEBI\" [label=\"same_as (35)\"]; \t\"MONDO\" -> \"HGNC\" [label=\"xref (56)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"supplies (132)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_molecular_abnormality_of_disease (1195)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_component_of_chemotherapy_regimen (11836)\"]; \t\"UniProtKB\" -> \"HP\" [label=\"has_phenotype (11603)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_has_major_feature (1)\"]; \t\"OBI\" -> \"BFO\" [label=\"sub_property_of (2)\"]; \t\"OPL\" -> \"GO\" [label=\"INVERTED:ends_with (1)\"]; \t\"GO\" -> \"CL\" [label=\"has_target_start_location (4)\"]; \t\"CL\" -> \"PR\" [label=\"has_low_plasma_membrane_amount (71)\"]; \t\"FMA\" -> \"FMA\" [label=\"receives_attachment_from (458)\"]; \t\"NCIT\" -> \"ARO\" [label=\"subclass_of (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_procedure (2467)\"]; \t\"GO\" -> \"GO\" [label=\"has_target_start_location (96)\"]; \t\"EFO\" -> \"EFO\" [label=\"has_disease_location (14)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_projection (110)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"blocker (943)\"]; \t\"IDO\" -> \"OPL\" [label=\"INVERTED:realizes (2)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"bearer_of (3)\"]; \t\"HANCESTRO\" -> \"HANCESTRO\" [label=\"subclass_of (330)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"augments (69744)\"]; \t\"NCIT\" -> \"NCBITaxon\" [label=\"in_taxon (2)\"]; \t\"DOID\" -> \"HP\" [label=\"has_phenotype (649940)\"]; \t\"GO\" -> \"DDANAT\" [label=\"results_in_development_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"surrounded_by (4)\"]; \t\"OBI\" -> \"IAO\" [label=\"sub_property_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"capable_of_part_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_component (119855)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"type (41)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_1_or_phase_2 (214)\"]; \t\"GOREL\" -> \"RO\" [label=\"sub_property_of (5)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_excised_anatomy (401)\"]; \t\"DDANAT\" -> \"DDANAT\" [label=\"INVERTED:develops_from (87)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_ingredient (77)\"]; \t\"OBO\" -> \"IDO\" [label=\"has_role (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_numerator_unit (2123)\"]; \t\"HP\" -> \"UBERON\" [label=\"affects (2853)\"]; \t\"PATO\" -> \"BFO\" [label=\"subclass_of (13)\"]; \t\"GO\" -> \"UMLS\" [label=\"xref (69387)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"part_of (72)\"]; \t\"ORPHANET\" -> \"DOID\" [label=\"xref (1579)\"]; \t\"ENVO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (13)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_aggregation_view (3311)\"]; \t\"FBbt\" -> \"FBbt\" [label=\"part_of (16)\"]; \t\"FBbt\" -> \"UBERON\" [label=\"INVERTED:develops_from (1)\"]; \t\"CL\" -> \"CL\" [label=\"derives_from (1)\"]; \t\"DOID\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"OMIM\" -> \"UMLS\" [label=\"xref (123280)\"]; \t\"CL\" -> \"CL\" [label=\"lacks_plasma_membrane_part (3)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"is_presence_guidance_for (1021)\"]; \t\"PATO\" -> \"GO\" [label=\"xref (1)\"]; \t\"BFO\" -> \"BFO\" [label=\"inverse_of (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"posteroinferior_to (22)\"]; \t\"MF\" -> \"MF\" [label=\"INVERTED:has_participant_at_all_times (2)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_maturation_of (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_units (7)\"]; \t\"MONDO\" -> \"OMIM\" [label=\"equivalent_to (8717)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"occurs_in (2)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"inhibits (614020)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_supported_concept_relationship (342)\"]; \t\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_participant (2)\"]; \t\"MONDO\" -> \"DOID\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"lacks_plasma_membrane_part (28)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_molecular_abnormality (9292)\"]; \t\"MONDO\" -> \"ICD10\" [label=\"xref (11520)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"manifestation_of (41231)\"]; \t\"KEGG\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (389)\"]; \t\"GO\" -> \"CL\" [label=\"equivalent_to (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_direct_device (4121)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_route_of_administration (176)\"]; \t\"PathWhiz.Compound\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (2003771)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"part_of (14694)\"]; \t\"EFO\" -> \"UBERON\" [label=\"participates_in (1)\"]; \t\"GO\" -> \"CHEBI\" [label=\"xref (919)\"]; \t\"OBI\" -> \"NCIT\" [label=\"subclass_of (3)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_administration_method (295)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"develops_in (33)\"]; \t\"GO\" -> \"GO\" [label=\"capable_of (498)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:starts_with (58)\"]; \t\"OBO\" -> \"OBO\" [label=\"existence_starts_during (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"anterior_to (355)\"]; \t\"OPL\" -> \"OPL\" [label=\"occurs_in (14)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_development_of (98)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_process_duration (136)\"]; \t\"GO\" -> \"PO\" [label=\"part_of (9)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"basis_of_strength_substance_of (1016)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"subclass_of (193181)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"associated_with (132056)\"]; \t\"GO\" -> \"ZFA\" [label=\"xref (5)\"]; \t\"MONDO\" -> \"ICD9\" [label=\"equivalent_to (1883)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_2 (311)\"]; \t\"CL\" -> \"GO\" [label=\"has_completed (19)\"]; \t\"GENEPIO\" -> \"PATO\" [label=\"is_about (2)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_transport_across (7)\"]; \t\"PO\" -> \"GO\" [label=\"INVERTED:has_participant (4)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_development_of (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_element_in_pathway (13536)\"]; \t\"FMA\" -> \"FMA\" [label=\"inferomedial_to (5)\"]; \t\"OGMS\" -> \"MONDO\" [label=\"equivalent_to (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"channel_blocker (331)\"]; \t\"PathWhiz.Reaction\" -> \"DRUGBANK\" [label=\"has_right_element (14853)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"inheres_in (156)\"]; \t\"EDAM\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"DRUGBANK\" -> \"DRUGBANK\" [label=\"drug_interaction (2669663)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:results_in_movement_of (1)\"]; \t\"CARO\" -> \"ENVO\" [label=\"INVERTED:determined_by (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_ends_during (32)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"predisposes_towards (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"stimulator (15)\"]; \t\"CHEBI\" -> \"PR\" [label=\"equivalent_to (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_imaged_anatomy (1)\"]; \t\"BSPO\" -> \"BFO\" [label=\"sub_property_of (12)\"]; \t\"UBERON\" -> \"MA\" [label=\"subclass_of (2)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:isa (47221)\"]; \t\"OBA\" -> \"PATO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"SNOMED\" [label=\"xref (1)\"]; \t\"SO\" -> \"UO\" [label=\"INVERTED:is_unit_of (1)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"part_of (2925)\"]; \t\"AEO\" -> \"CARO\" [label=\"subclass_of (59)\"]; \t\"OBO\" -> \"OBO\" [label=\"part_of (14)\"]; \t\"CHEBI\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (84)\"]; \t\"UBERON\" -> \"MA\" [label=\"xref (2)\"]; \t\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:has_participant (1)\"]; \t\"GO\" -> \"GO\" [label=\"adjacent_to (22)\"]; \t\"GENEPIO\" -> \"STATO\" [label=\"subclass_of (12)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_encodes_gene_product (18713)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_structural_organization_of (28)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:positively_regulated_by (1616)\"]; \t\"CL\" -> \"EFO\" [label=\"xref (1)\"]; \t\"DOID\" -> \"MONDO\" [label=\"equivalent_to (9000)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:part_of (6788)\"]; \t\"NDDF\" -> \"UMLS\" [label=\"xref (33096)\"]; \t\"HP\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"ENVO\" -> \"FOODON\" [label=\"INVERTED:composed_primarily_of (1)\"]; \t\"ECTO\" -> \"ECTO\" [label=\"subclass_of (81)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_variant_of_gene_product (457)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"compared_with (7200)\"]; \t\"EFO\" -> \"HP\" [label=\"xref (237)\"]; \t\"PathWhiz.Reaction\" -> \"DRUGBANK\" [label=\"has_left_element (21859)\"]; \t\"PATO\" -> \"NBO\" [label=\"INVERTED:in_response_to (3)\"]; \t\"PR\" -> \"CL\" [label=\"INVERTED:has_part (675)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_cell_type_or_tissue (572)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_feature (25)\"]; \t\"EFO\" -> \"EFO\" [label=\"is_input_of (95)\"]; \t\"EFO\" -> \"EFO\" [label=\"xref (27)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"direct_substance_of (5117)\"]; \t\"UBERON\" -> \"ARO\" [label=\"subclass_of (3)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_regional_part (26404)\"]; \t\"PR\" -> \"GO\" [label=\"INVERTED:has_part (2)\"]; \t\"ZFA\" -> \"UBERON\" [label=\"subclass_of (1)\"]; \t\"NCBIGene\" -> \"ENSEMBL\" [label=\"same_as (35031)\"]; \t\"UniProtKB\" -> \"NCBITaxon\" [label=\"in_taxon (24986)\"]; \t\"GAZ\" -> \"OBO\" [label=\"subclass_of (197)\"]; \t\"GENEPIO\" -> \"BFO\" [label=\"subclass_of (13)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:preceded_by (13)\"]; \t\"UniProtKB\" -> \"PathWhiz\" [label=\"INVERTED:has_protein (304018)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"produces (305322)\"]; \t\"OPL\" -> \"UBERON\" [label=\"subclass_of (8)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_tradename (48926)\"]; \t\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:process_has_causal_agent (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_target_anatomy (916)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:ends_with (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within_negative_effect (5)\"]; \t\"OMRSE\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"CARO\" -> \"BFO\" [label=\"subclass_of (4)\"]; \t\"FOODON\" -> \"UBERON\" [label=\"derives_from (6)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_member (15)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"part_anatomy_structure_of (323)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_associated_eo_anatomy (3128)\"]; \t\"IDO\" -> \"OBI\" [label=\"subclass_of (3)\"]; \t\"ENVO\" -> \"PO\" [label=\"derives_from (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_intended_site (529)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:biological_process_involves_chemical_or_drug (18)\"]; \t\"OPL\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_inherent_3d_shape (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_starts_during_or_after (4)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"enables (67759)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_data_element (10)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_formation_of (174)\"]; \t\"GO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (275)\"]; \t\"GENEPIO\" -> \"IAO\" [label=\"subclass_of (73)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"member_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"mth_has_expanded_form (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_administration_method (542)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"modulator (242)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_muscle_insertion (217)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_anterior_side_of (13)\"]; \t\"PO\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (1)\"]; \t\"OMIT\" -> \"PR\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"filtered_through (4)\"]; \t\"OBA\" -> \"OBA\" [label=\"subclass_of (173)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"entire_anatomy_structure_of (7090)\"]; \t\"CEPH\" -> \"UBERON\" [label=\"subclass_of (1)\"]; \t\"medgen\" -> \"MONDO\" [label=\"equivalent_to (2582)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_origin (275)\"]; \t\"EFO\" -> \"OBI\" [label=\"INVERTED:has_participant (2)\"]; \t\"NCIT\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (4)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"has_output (1)\"]; \t\"DDANAT\" -> \"DDANAT\" [label=\"subclass_of (129)\"]; \t\"CL\" -> \"GO\" [label=\"lacks_part (11)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (20)\"]; \t\"UniProtKB\" -> \"CL\" [label=\"expressed_in (15576)\"]; \t\"PR\" -> \"MOD\" [label=\"lacks_part (48)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"part_of_progression_of_disease (2)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"has_modifier (2)\"]; \t\"TRANS\" -> \"TRANS\" [label=\"subclass_of (32)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_growth_of (5)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_time_aspect (90380)\"]; \t\"GO\" -> \"GO\" [label=\"has_output (14)\"]; \t\"CL\" -> \"EHDAA2\" [label=\"xref (6)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_time_modifier (197)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"expressed_in (74377)\"]; \t\"GO\" -> \"FAO\" [label=\"results_in_formation_of (6)\"]; \t\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (31)\"]; \t\"CHEBI\" -> \"DRUGBANK\" [label=\"same_as (636)\"]; \t\"EFO\" -> \"CL\" [label=\"is_about (40)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_growth_of (2)\"]; \t\"EFO\" -> \"UBERON\" [label=\"subclass_of (82)\"]; \t\"MESH\" -> \"MESH\" [label=\"has_mapping_qualifier (33615)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_basis_in_feature (2)\"]; \t\"UniProtKB\" -> \"UniProtKB\" [label=\"physically_interacts_with (615498)\"]; \t\"PO\" -> \"CARO\" [label=\"subclass_of (2)\"]; \t\"NCIT\" -> \"GENEPIO\" [label=\"before (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"adjacent_to (329)\"]; \t\"CL\" -> \"OBO\" [label=\"INVERTED:has_part (1)\"]; \t\"CHEBI\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (3)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"cofactor (4)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_object_guidance (474)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317345 (496)\"]; \t\"EFO\" -> \"GO\" [label=\"is_about (68)\"]; \t\"HMDB\" -> \"EFO\" [label=\"at_tissue (9)\"]; \t\"GAZ\" -> \"NCIT\" [label=\"subclass_of (186)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"distal_to (1)\"]; \t\"IDO\" -> \"IDO\" [label=\"subclass_of (20)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_procedure_site (8311)\"]; \t\"FOODON\" -> \"CHEBI\" [label=\"subclass_of (14)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317349 (229)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"inverse_of (2)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"coexists_with (20358)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_transport_to_from_or_in (17)\"]; \t\"EFO\" -> \"BFO\" [label=\"subclass_of (66)\"]; \t\"GO\" -> \"DOID\" [label=\"INVERTED:disease_caused_by_disruption_of (53)\"]; \t\"RO\" -> \"SO\" [label=\"xref (9)\"]; \t\"BFO\" -> \"CHEBI\" [label=\"equivalent_to (1)\"]; \t\"NCBITaxon\" -> \"ICD9\" [label=\"xref (7)\"]; \t\"NCBITaxon\" -> \"OBO\" [label=\"subclass_of (27)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_owning_affiliate (4)\"]; \t\"DRUGBANK\" -> \"PathWhiz\" [label=\"INVERTED:has_protein (15)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_state_of_matter (58)\"]; \t\"UniProtKB\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (59)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:c017 (9706)\"]; \t\"FMA\" -> \"FMA\" [label=\"forms (15)\"]; \t\"MF\" -> \"MF\" [label=\"INVERTED:realizes (2)\"]; \t\"PR\" -> \"GO\" [label=\"located_in (2)\"]; \t\"ECOCORE\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"has_inheritance_type (6005)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"allosteric_modulator (317)\"]; \t\"ENVO\" -> \"PATO\" [label=\"subclass_of (13)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"only_in_taxon (1013)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_completely_excised_anatomy (95)\"]; \t\"NCIT\" -> \"SIO\" [label=\"subclass_of (4)\"]; \t\"DOID\" -> \"KEGG\" [label=\"xref (39)\"]; }';\n  var data = vis.parseDOTNetwork(dot);\n  var options = {\n    layout: {\n        hierarchical: {\n            direction: \"LR\"\n        }\n    },\n    physics: {\n      hierarchicalRepulsion: {\n        avoidOverlap: 10\n      }\n    },\n    dragNodes: 'true',\n    hideEdgesOnDrag: 'true',\n    hideNodesOnDrag: 'true'\n  };\n  var network = new vis.Network(container, data, options);\n</script>\n</html>\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/rtx2_2020_09_16/rtx2_2020_09_16-stats.txt",
    "content": "predicates: 848\ncategories: 54\nconcepts: 10,527,134\nedges: 53,589,306\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/rtx2_2020_09_16/rtx2_2020_09_16-subject_predicate_object_count.tsv",
    "content": "subject CURIE prefix\tobject CURIE prefix\tpredicate\tedge count\nRXNORM\tRXNORM\trxcui:precise_ingredient_of\t6138\nEFO\tUMLS\txref\t2202\nUMLS\tNCBIGene\tuses\t27329\nGO\tGO\timmediately_causally_upstream_of\t2\nPR\tCHEBI\tsubclass_of\t206\nPR\tPR\tderives_from\t57\nARO\tBFO\tsubclass_of\t1\nEFO\tIAO\tsubclass_of\t38\nNCIT\tNCIT\tINVERTED:pathway_has_gene_element\t7181\nUBERON\tFBbt\tpart_of\t1\nUBERON\tCL\tsynapsed_by\t1\nOBI\tGENEPIO\tderives_from\t1\nCHEBI\tCHEBI\tis_tautomer_of\t1748\nEFO\tNCBITaxon\tsubclass_of\t305\nFMA\tFMA\tsurrounded_by\t139\nORPHANET\tOMIM\txref\t12142\nGO\tOBA\tregulates\t80\nGO\tOBA\tpositively_regulates\t11\nCHEBI\tEFO\tINVERTED:has_participant\t1\nOBO\tPR\tINVERTED:has_gene_template\t1013\nEPO\tTRANS\tsubclass_of\t1\nLOINC\tLOINC\thas_answer\t85940\nGO\tCL\tis_about\t1\nORPHANET\tORPHANET\torphanet:465410\t44\nSNOMED\tSNOMED\thas_process_output\t158\nMONDO\tGO\tdisease_triggers\t2\nNCIT\tNCIT\tdisease_is_stage\t6155\nGO\tGO\thas_primary_input\t2\nCL\tUBERON\tsubclass_of\t5\nEO\tIAO\tsubclass_of\t1\nUBERON\tUBERON\thas_potential_to_develop_into\t132\nNCIT\tNCIT\tINVERTED:gene_product_sequence_variation_encoded_by_gene_mutant\t556\nEO\tNCBITaxon\tsubclass_of\t2\nCL\tGO\tcapable_of\t308\nSO\tOBO\tsubclass_of\t4\nGAZ\tNCIT\ttype\t189\nUMLS\tUMLS\toccurs_in\t17801\nICD9\tUMLS\txref\t22406\nEFO\tMONDO\txref\t2604\nENVO\tMONDO\tINVERTED:realized_in_response_to\t1\nFMA\tFMA\tprojects_to\t117\nENVO\tENVO\toverlaps\t9\nSNOMED\tSNOMED\thas_dose_form_release_characteristic\t295\nDOID\tAQTLTrait\thas_phenotype\t1\nDOID\tEFO\tsubclass_of\t3\nSNOMED\tSNOMED\thas_disposition\t8941\nOBO\tSIO\tsubclass_of\t1\nGO\tCL\tresults_in_specification_of\t26\nFMA\tFMA\thas_full_grown_phenotype\t3\nIAO\tIAO\tINVERTED:type\t3\nGENEPIO\tARO\tequivalent_to\t1\nARO\tIAO\tsubclass_of\t3\nExO\tEPO\tsubclass_of\t1\nGO\tGO\tregulates\t5322\nGO\tGO\tpositively_regulates\t4656\nOBO\tOGG\thas_input\t1\nGENEPIO\tExO\tsubclass_of\t9\nUBERON\tUBERON\thas_potential_to_developmentally_contribute_to\t12\nCL\tBFO\tsubclass_of\t1\nENVO\tRO\tsubclass_of\t1\nORPHANET\tICD9\txref\t920\nUMLS\tNCBIGene\tcoexists_with\t92085\nMA\tUBERON\tpart_of\t1\nBTO\tEFO\tbearer_of\t5\nHMDB\tEHDAA2\tat_tissue\t1\nUBERON\tUBERON\taboral_to\t1\nENVO\tCHEBI\thas_increased_levels_of\t4\nEFO\tEFO\tinverse_of\t3\nCHEMBL.COMPOUND\tNCBIGene\tpositive_allosteric_modulator\t601\nUBERON\tUBERON\tattaches_to\t159\nOBO\tOBO\tsubclass_of\t286\nGO\tOBO\thas_primary_output\t16\nSNOMED\tSNOMED\thas_indirect_device\t77\nDRUGBANK\tUMLS\tclinically_tested_withdrawn_phase_1_or_phase_2\t30\nGTPI\tNCBIGene\tactivator\t87\nGO\tSO\texports\t4\nFMA\tFMA\tanterosuperior_to\t16\nMI\tOBO\tsubclass_of\t4\nUBERON\tUBERON\tlumen_of\t2\nEFO\tHANCESTRO\tpart_of\t12\nCHEBI\tGENEPIO\tsubclass_of\t72\nDRUGBANK\tPathWhiz.ProteinComplex\tINVERTED:has_protein_in_complex\t15\nFMA\tFMA\tnerve_supply_of\t2129\nHP\tEFO\txref\t1\nUniProtKB\tOMIM\tgene_mutations_contribute_to\t5765\nCL\tGO\thas_low_plasma_membrane_amount\t6\nUBERON\tUBERON\tINVERTED:produced_by\t46\nMONDO\tEFO\tpredisposes_towards\t14\nEFO\tPO\tlocated_in\t1\nLOINC\tLOINC\tproperty_of\t86472\nXCO\tGENEPIO\tsubclass_of\t2\nEFO\tEFO\tdisease_causes_feature\t1\nEFO\tPATO\tbearer_of\t19\nUBERON\tNCBITaxon\tonly_in_taxon\t749\nFMA\tFMA\tfuses_with\t26\nUBERON\tUBERON\timmediately_superficial_to\t13\nPO\tPO\txref\t1\nGO\tCL\thas_end_location\t3\nHMDB\tUMLS\tat_tissue\t137\nSNOMED\tMONDO\tequivalent_to\t9000\nSIO\tENVO\tsubclass_of\t1\nNCBIGene\tNCBIGene\tinhibits\t18289\nFMA\tFMA\thomonym_of\t73\nGO\tGO\tresults_in_fusion_of\t33\nIAO\tBFO\tsubclass_of\t1\nNCIT\tNCIT\tsubclass_of\t160929\nGO\tGO\tINVERTED:preceded_by\t1\nGO\tGO\thas_end_location\t5\nPathWhiz.Reaction\tPathWhiz.NucleicAcid\thas_right_element\t210\nUMLS\tNCBIGene\tcompared_with\t23729\nNCIT\tNCIT\tregimen_has_accepted_use_for_disease\t395\nMONDO\tOBO\tequivalent_to\t154\nCL\tCL\tpart_of\t1\nGO\tCL\thas_start_location\t3\nBTO\tUBERON\tpart_of\t5\nFMA\tFMA\tcontinuation_branch_of\t43\nPathWhiz.Reaction\tPathWhiz.Compound\thas_right_element\t336013\nGO\tGO\tends_during\t1\nPO\tPO\tINVERTED:develops_from\t60\nOBI\tOBI\tinheres_in\t3\nPathWhiz\tNCBITaxon\tin_species\t1905194\nSNOMED\tSNOMED\thas_finding_informer\t2207\nOMP\tGENEPIO\tsubclass_of\t1\nGO\tGO\thas_start_location\t8\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tbinding_agent\t136\nPATO\tPATO\tINVERTED:towards\t6\nENVO\tENVO\tINVERTED:composed_primarily_of\t34\nFMA\tUBERON\tpart_of\t2\nCLO\tCL\tsubclass_of\t428\nFMA\tFMA\tinverse_of_derives\t264\nPATO\tNBO\tINVERTED:has_participant\t1\nGTPI\tNCBIGene\tantagonist\t729\nRO\towl\tsub_property_of\t12\nGENEPIO\tGENEPIO\tINVERTED:after\t18\nENSEMBL\tNCBITaxon\tonly_in_taxon\t110\nCHEBI\tFOODON\tmember_of\t1\nIAO\tIAO\tsubclass_of\t30\nOBI\tGENEPIO\taligned_with\t1\nMPATH\tMPATH\tsubclass_of\t83\nGO\tMONDO\tINVERTED:realized_in_response_to_stimulus\t1\nNCIT\tNCIT\tdisease_is_grade\t1303\nUMLS\tUMLS\tpart_of\t893692\nUMLS\tUMLS\towning_section_of\t9\nDOID\tNCBITaxon\ttransmitted_by\t74\nPathWhiz.Reaction\tPathWhiz.NucleicAcid\thas_left_element\t349\nRXNORM\tRXNORM\trxcui:has_form\t2941\nHANCESTRO\tOBI\tsubclass_of\t2\nMP\tHP\tsubclass_of\t2\nHP\tUBERON\tinheres_in_part_of\t2\nHANCESTRO\tHANCESTRO\tinverse_of\t1\nUBERON\tUBERON\tbounding_layer_of\t37\nGENEPIO\tOBI\tis_about\t7\nEFO\tORPHANET\tsubclass_of\t328\nNCBIGene\tUMLS\ttreats\t1364\nSO\tCHEBI\tequivalent_to\t3\nPathWhiz.Reaction\tPathWhiz.Compound\thas_left_element\t317671\nGO\tBFO\tsubclass_of\t7\nNCIT\tNCIT\thas_pharmaceutical_basic_dose_form\t597\nCPT\tCPT\tsubclass_of\t14292\nENVO\tFOODON\tsubclass_of\t2\nFMA\tFMA\trelated_part\t3094\nICD10PCS\tUMLS\txref\t189499\nSNOMED\tSNOMED\thas_recipient_category\t117\nUMLS\tNCBIGene\tstimulates\t104111\nHP\tUBERON\tinheres_in\t1\nCHEBI\tCL\txref\t1\nEFO\tOBI\tis_about\t22\nZFA\tUBERON\tpart_of\t4\nPCO\tENVO\thas_habitat\t1\nPATO\tPATO\thas_relative_magnitude\t7\nMESH\tUMLS\txref\t402615\nMONDO\tUBERON\tdisease_has_basis_in_development_of\t2\nNBO\tGO\txref\t15\nCL\tUBERON\tINVERTED:composed_primarily_of\t83\nNCIT\tNCIT\teo_disease_has_associated_cell_type\t13\nMONDO\tOGMS\txref\t1\nPathWhiz.ElementCollection\tKEGG\tsame_as\t61\nOBI\tSTATO\tsubclass_of\t1\nNCBIGene\tUMLS\tinteracts_with\t183359\nGO\tCHEBI\thas_input\t967\nMONDO\tNCIT\tequivalent_to\t6777\nMESH\tMESH\tsubclass_of\t40243\nCL\tUBERON\tINVERTED:produced_by\t4\nCHEMBL.TARGET\tUniProtKB\tpart_of\t5700\nEHDAA2\tAEO\tsubclass_of\t1703\nOBI\tBTO\txref\t1\nEFO\tOBI\tinheres_in\t9\nFMA\tFMA\tsub_property_of\t3\nMONDO\tNCIT\tdisease_has_feature\t18\nNCIT\tNCIT\tINVERTED:organism_has_gene\t1635\nEFO\tOGMS\tsubclass_of\t3\nGO\tCHEBI\ttransports_or_maintains_localization_of\t969\nHP\tUMLS\txref\t16527\nUO\tUO\tsubclass_of\t228\nBTO\tEFO\tequivalent_to\t1\nCL\tFBbt\txref\t1\nEFO\tEFO\tINVERTED:has_participant\t69\nHGNC\tUniProtKB\thas_gene_product\t20312\nDOID\tMONDO\tsubclass_of\t5\nOMIM\tDOID\tcontributes_to_condition\t181\nSNOMED\tSNOMED\thas_dose_form_intended_site\t333\nUMLS\tNCBIGene\tassociated_with\t8728\nNCIT\tNCIT\tgene_product_malfunction_associated_with_disease\t509\nOBO\tMONDO\tequivalent_to\t154\nGENEPIO\tIDO\tis_about\t6\nSNOMED\tSNOMED\tcomponent_of\t4259\nSNOMED\tSNOMED\tuses_substance\t3187\nNCIT\tNCIT\tgene_product_has_structural_domain_or_motif\t4960\nFMA\tFMA\tcorresponds_to\t46\nOBI\tBFO\tsubclass_of\t18\nUBERON\tNBO\tcapable_of_part_of\t9\nNCBIGene\tUMLS\taffects\t154949\nUBERON\tUBERON\toverlaps\t70\nNCIT\tNCIT\tgene_product_has_chemical_classification\t1688\nSO\tGO\tINVERTED:has_participant\t4\nFOODON\tGENEPIO\tsubclass_of\t15\nUBERON\tGO\tcapable_of_part_of\t135\nDOID\tCL\tderives_from\t355\nSNOMED\tSNOMED\tinherent_location_of\t1\nPATO\tPATO\thas_cross_section\t5\nNCBITaxon\tENVO\tINVERTED:composed_primarily_of\t1\nGO\tCL\tINVERTED:has_plasma_membrane_part\t1\nKEGG\tPathWhiz.Bound\tINVERTED:has_element_in_bound\t162\nNCIT\tNCIT\tanatomic_structure_is_physical_part_of\t9339\nPathWhiz.NucleicAcid\tPathWhiz\tINVERTED:has_nucleic_acid\t1763\nNPO\tNPO\tsubclass_of\t3\nUniProtKB\tGO\tpart_of\t80696\nMONDO\tHGNC\thas_material_basis_in_gain_of_function_germline_mutation_in\t6\nCL\tUBERON\tparticipates_in\t4\nGO\tOMIM\tINVERTED:disease_caused_by_disruption_of\t4\nORPHANET\tUBERON\thas_disease_location\t65\nCARO\tCARO\tsubclass_of\t49\nGO\tMONDO\tINVERTED:realized_in_response_to\t4\nSNOMED\tSNOMED\thas_time_aspect\t23\nOGMS\tUBERON\tsubclass_of\t1\nBSPO\tCARO\tpasses_through\t1\nNCBIGene\tNCBIGene\tproduces\t3596\nMONDO\tMESH\txref\t7875\nOBO\tGENEPIO\tis_about\t1\nFOODON\tFOODON\tmember_of\t5921\nSNOMED\tSNOMED\thas_laterality\t12116\nMONDO\tMONDO\tpredisposes_towards\t143\nCHEMBL.COMPOUND\tNCBIGene\tgating_inhibitor\t24\nTO\tTO\tsubclass_of\t1\nGO\tCHEBI\timports\t179\nGENEPIO\tENVO\tis_about\t1\nOBO\tUBERON\txref\t6\nPO\tNCBITaxon\tonly_in_taxon\t2\nOBI\tIAO\tsubclass_of\t35\nEFO\tMONDO\tdisease_causes_feature\t1\nEFO\tCL\tpart_of\t2\nOGMS\tBFO\tsubclass_of\t4\nRGD\tPR\tINVERTED:has_gene_template\t8114\nCPT\tUMLS\txref\t46941\nAEO\tCARO\tsurrounds\t1\nEFO\tDOID\txref\t2350\nPCO\tENVO\tINVERTED:determined_by\t3\nUBERON\tUBERON\tsurrounds\t78\nSO\tDOID\tINVERTED:disease_has_basis_in\t251\nUBERON\tNCIT\txref\t2580\nUBERON\tMONDO\tINVERTED:realized_in_response_to_stimulus\t1\nNBO\tNBO\tINVERTED:by_means\t2\nGO\tUBERON\tresults_in_maturation_of\t53\nwb\tSO\tsubclass_of\t4479\nGO\tOMIM\txref\t4\nBTO\tUBERON\txref\t1\nBSPO\tCARO\tsubclass_of\t7\nSO\tSO\tINVERTED:has_member\t1\nGTPI\tNCBIGene\tantibody\t25\nFBbt\tCL\txref\t1\nNCIT\tNCIT\tgene_plays_role_in_process\t13660\nFOODON\towl\tsub_property_of\t1\nNCIT\tNCIT\tINVERTED:may_be_normal_cell_origin_of_disease\t183\nUMLS\tUMLS\tinverse_of_rq\t1560\nDRUGBANK\tUniProtKB\texternal_identifier\t69\nCHEMBL.COMPOUND\tDRUGBANK\tsame_as\t6926\nEFO\tMP\tsubclass_of\t7\nPATO\tPATO\tsubclass_of\t2113\nPR\tMONDO\tINVERTED:realized_in_response_to_stimulus\t1\nNCBIGene\tUMLS\tINVERTED:location_of\t332757\nSNOMED\tSNOMED\thas_access\t1520\nSNOMED\tOBI\tsubclass_of\t1\nUMLS\tUMLS\tmapped_to\t456\nFMA\tFMA\tleft_medial_to\t3\nCPT\tCPT\thas_add_on_code\t6931\nDOID\tEFO\txref\t130\nEFO\tEFO\tdisease_has_basis_in_feature\t18\nOBI\tRO\tsub_property_of\t7\nBTO\tUBERON\tsubclass_of\t9\nNCIT\tNCIT\thas_target\t727\nBSPO\tBSPO\torthogonal_to\t3\nGENEPIO\tGENEPIO\taligned_with\t1\nENVO\tENVO\tINVERTED:process_has_causal_agent\t3\nCL\tBTO\txref\t4\nPathWhiz.Reaction\tPathWhiz.ProteinComplex\thas_right_element\t906\nNCIT\tNCIT\tgene_product_is_physical_part_of\t616\nExO\tGENEPIO\tsubclass_of\t1\nUBERON\tGO\tINVERTED:process_has_causal_agent\t1\nttd.target\tNCBIGene\tantibody\t22\nGO\tCL\toccurs_in\t129\nPO\tFOODON\tsubclass_of\t2\nENVO\tENVO\tINVERTED:has_participant\t10\nMONDO\tMEDDRA\tequivalent_to\t1\nUBERON\tUBERON\tcontinuous_with\t120\nBTO\tBFO\tsubclass_of\t3\nFOODON\tFOODON\tsurrounded_by\t1\nSNOMED\tSNOMED\thas_direct_site\t27\nGO\tGO\toccurs_in\t270\nMESH\tMESH\tINVERTED:inverse_of_isa\t5029\nFMA\tFMA\trelated_developmental_entity_of\t13\nFMA\tFMA\thas_segmental_supply\t613\nEFO\tCL\tinheres_in_part_of\t1\nNCBIGene\tUMLS\tconverts_to\t2870\nEFO\tBTO\txref\t3\nENVO\tOBI\tsubclass_of\t2\nLOINC\tLOINC\thas_imaging_focus\t5463\nGENEPIO\tOBI\tmember_of\t1\nDOID\tGO\tdisease_has_basis_in_dysfunction_of\t8\nUMLS\tUMLS\tpredisposes\t256197\nFBdv\tEFO\tsubclass_of\t1\nPathWhiz.ProteinComplex\tPathWhiz.Reaction\tINVERTED:has_enzyme\t165371\nUBERON\tUBERON\tdeep_to\t12\nHP\tHP\tsubclass_of\t22195\nORPHANET\tGO\tparticipates_in\t3\nMONDO\tUBERON\thas_modifier\t1\nGO\tFAO\tpart_of\t3\nLOINC\tLOINC\thas_method\t66244\nHP\tEFO\tsubclass_of\t46\nIDO\tCHEBI\tsubclass_of\t1\nUMLS\tNCBIGene\tinteracts_with\t141256\nOBI\tOBI\tinverse_of\t2\nFMA\tFMA\tdevelops_into\t3\nAEO\tAEO\tpart_of\t22\nCHEMBL.TARGET\tCHEMBL.TARGET\tINVERTED:superset_of\t1116\nPathWhiz.Reaction\tPathWhiz.ProteinComplex\thas_left_element\t734\nUBERON\tUBERON\tINVERTED:location_of\t9\nBTO\tEFO\tparticipates_in\t2\nFMA\tFMA\tgerm_origin_of\t1\nNCIT\tNCIT\tallele_has_abnormality\t180\nLOINC\tLOINC\thas_timing_of\t2693\nMONDO\tSO\thas_modifier\t22\nDRUGBANK\tUMLS\tclinically_tested_withdrawn_phase_0\t7\nEFO\tUO\tequivalent_to\t1\nGO\tPR\texports\t1\nEFO\tMA\thas_disease_location\t1\nEnsemblGenomes\tNCBITaxon\tonly_in_taxon\t278\nEFO\tHP\tdisease_has_feature\t1\nUniProtKB\tREACT\tparticipates_in\t779447\nSNOMED\tSNOMED\thas_indirect_morphology\t544\nNCIT\tVCARD\tsubclass_of\t1\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tpositive_modulator\t18\nSNOMED\tSNOMED\thas_dependent\t6\nUMLS\tNCBIGene\taffects\t12913\nFOODON\tGAZ\tsubclass_of\t13\nUMLS\tUMLS\tcomponent_of\t13\nEFO\tEFO\tdisease_has_feature\t34\nHMDB\tFMA\tat_cellular_location\t1\nFMA\tFMA\tconstitutional_part_of\t21424\nPathWhiz.Reaction\tPathWhiz.Bound\thas_right_element\t167\nUBERON\tBSPO\tsub_property_of\t6\nNCIT\tNCIT\tgene_is_biomarker_of\t18\nOBO\tOBO\thas_interaction_type\t1\nUMLS\tUMLS\tsame_as\t15124\nBFO\tRO\tsub_property_of\t4\nNCIT\tNCIT\tdisease_has_associated_anatomic_site\t30160\nRO\tUBERON\tsub_property_of\t1\nHMDB\tEHDAA2\tin_biospecimen\t1\nMOD\tPR\tsubclass_of\t41\nFMA\tFMA\thas_adherent\t7\nCL\tCARO\tsubclass_of\t2\nGENEPIO\tOBI\tinheres_in\t1\nGO\tCL\tresults_in_acquisition_of_features_of\t300\nNDDF\tNDDF\tINVERTED:has_ingredient\t24\nSNOMED\tSNOMED\thas_concentration_strength_denominator_unit\t2065\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tnegative_modulator\t4\nCHEMBL.COMPOUND\tCHEMBL.TARGET\topener\t38\nSNOMED\tSNOMED\thas_finding_method\t4099\nRXNORM\tRXNORM\tINVERTED:rxcui:inverse_isa\t44612\nMONDO\tGARD\txref\t5818\nNBO\tUBERON\tINVERTED:input_of\t1\nRO\tBFO\tsub_property_of\t26\nGO\tPR\tdirectly_positively_regulates\t2\nSNOMED\tSNOMED\toccurs_before\t2413\nCHEMBL.COMPOUND\tNCBIGene\tinducer\t4\nDRUGBANK\tCHEMBL.COMPOUND\texternal_identifier\t7632\nUBERON\tUBERON\timmediately_preceded_by\t7\nSTATO\tGENEPIO\tsubclass_of\t6\nMPATH\tBFO\tsubclass_of\t1\nVANDF\tVANDF\tINVERTED:has_ingredient\t14304\nPDQ\tPDQ\tINVERTED:has_component\t4862\nGENEPIO\tPATO\tsubclass_of\t2\nGENEPIO\tEDAM\tsubclass_of\t1\nLOINC\tLOINC\thas_evaluation\t10553\nFMA\tFMA\tfull_grown_phenotype_of\t3\nNCIT\tNCIT\tgene_product_has_organism_source\t825\nOPL\tOPL\tsubclass_of\t27\nSNOMED\tSNOMED\tprecise_active_ingredient_of\t7240\nHP\tCL\taffects\t110\nPathWhiz.Reaction\tPathWhiz.Bound\thas_left_element\t157\nUBERON\tUBERON\textends_fibers_into\t127\nDRUGBANK\tHMDB\tsame_as\t1565\nBSPO\tRO\tsub_property_of\t4\nHMDB\tUMLS\tin_biospecimen\t11184\nDRUGBANK\tUMLS\tclinically_tested_terminated_phase_2_or_phase_3\t39\nUMLS\tUMLS\tadministered_to\t203874\nPathWhiz.Reaction\tPathWhiz\tINVERTED:has_reaction\t747189\nCHEBI\tCHEBI\thas_functional_parent\t17221\nPathWhiz.Reaction\tKEGG\thas_right_element\t263206\nUBERON\tUBERON\tventral_to\t8\nNCBIGene\tUniProtKB\tregulates_expression_of\t332256\nFMA\tFMA\tinverse_of_bounds\t1076\nEFO\tHP\thas_modifier\t30\nDRUGBANK\tMESH\tcategory\t57884\nORPHANET\tNCIT\txref\t1012\nDOID\tUMLS\txref\t6\nNCIT\tNCIT\tprocedure_may_have_completely_excised_anatomy\t6\nENVO\tENVO\tsubclass_of\t590\nORPHANET\tORPHANET\torphanet:317344\t176\nOMOP\tMONDO\tequivalent_to\t1590\nDOID\tDOID\tsubclass_of\t14358\nSNOMED\tSNOMED\tfocus_of\t4294\nFMA\tFMA\thas_tributary\t1007\nGARD\tMONDO\tequivalent_to\t5814\nMONDO\tICD10\tequivalent_to\t1113\nGENEPIO\tOMP\tsubclass_of\t1\nCL\tUBERON\tINVERTED:has_part\t224\nEFO\tEFO\thas_about_it\t2\nCL\tMONDO\tINVERTED:disease_has_basis_in_dysfunction_of\t8\nHMDB\tCHEMBL.TARGET\tat_tissue\t174\nEFO\tHP\tis_about\t19\nUMLS\tUMLS\thas_supported_concept_property\t239\nOBI\tOGMS\tsubclass_of\t2\nUBERON\tUBERON\tINVERTED:develops_from\t1373\nICD10PCS\tICD10PCS\tsubclass_of\t189482\nEFO\tEFO\tis_about\t556\nDRUGBANK\tUMLS\tclinically_tested_suspended_phase_0\t1\nDDANAT\tDDANAT\tpart_of\t134\nSNOMED\tSNOMED\thas_procedure_morphology\t177\nCHEMBL.COMPOUND\tCHEMBL.TARGET\toxidative_enzyme\t2\nAEO\tAEO\tsubclass_of\t89\nUBERON\tUBERON\tin_posterior_side_of\t15\nCL\tUBERON\taxon_synapses_in\t13\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tchelating_agent\t19\nPO\tPO\tpart_of\t132\nNCBIGene\tGO\tinvolved_in\t1417\nHP\tDOID\txref\t34\nGENEPIO\tOMIT\tis_about\t4\nDOID\tMONDO\txref\t6\nEFO\tMONDO\tdisease_has_basis_in_feature\t3\nPathWhiz.Reaction\tKEGG\thas_left_element\t232427\nDOID\tGENEPIO\tsubclass_of\t2\nGO\tCHEBI\tregulates_levels_of\t62\nFMA\tFMA\texternal_to\t1\nNCBITaxon\tPATO\thas_quality\t1\nMA\tUBERON\tsubclass_of\t2\nEFO\tEFO\tinheres_in\t1\nEFO\tGO\tparticipates_in\t25\nEHDAA2\tEHDAA2\tsubclass_of\t155\nUBERON\tUBERON\tderived_from_ancestral_fusion_of\t63\nttd.target\tNCBIGene\tmodulator\t9\nSNOMED\tSNOMED\thas_finding_context\t2531\nUBERON\tUBERON\tdistalmost_part_of\t5\nVT\tEFO\tsubclass_of\t1\nFMA\tFMA\tanteroinferior_to\t27\nCARO\tRO\tsubclass_of\t1\nCHEBI\tGO\tINVERTED:has_intermediate\t83\nUniProtKB\tGO\tcontributes_to\t975\nNCBITaxon\tBFO\tsubclass_of\t1\nGENEPIO\tOBI\tdenotes\t1\nNCIT\tNCIT\thas_pharmaceutical_transformation\t520\nGO\tGO\tresults_in_transport_across\t45\nCL\tEFO\tlocated_in\t1\nNBO\tNBO\tINVERTED:in_response_to\t5\nRXNORM\tRXNORM\tINVERTED:rxcui:contains\t990\nENVO\tOIO\tsubclass_of\t1\nGENEPIO\tUO\tINVERTED:is_unit_of\t1\nSNOMED\tSNOMED\thas_presentation_strength_numerator_value\t4836\nMONDO\tPATO\txref\t1\nNCBIGene\tUniProtKB\thas_gene_product\t19230\nOMIT\tOBI\tsubclass_of\t2\nNCIT\tUBERON\tsubclass_of\t2\nttd.target\tNCBIGene\tantagonist\t121\nUBERON\tUBERON\texistence_starts_during\t13\nGENEPIO\tRO\tinverse_of\t1\nNCIT\tNCIT\tchemical_or_drug_has_physiologic_effect\t2053\nGO\tCARO\tsubclass_of\t21\nEFO\tMA\txref\t1\nCGNC\tNCBITaxon\tonly_in_taxon\t552\nEFO\tPATO\tsubclass_of\t2\nNCBIGene\tNCBITaxon\tonly_in_taxon\t5380\nGO\tGO\tresults_in_distribution_of\t7\nFMA\tFMA\tcontinuous_distally_with\t1879\nHP\tMONDO\tsubclass_of\t1\nMONDO\tWD\tequivalent_to\t2\nOBI\tPR\tsubclass_of\t1\nMONDO\tUBERON\tdisease_has_location\t793\nEFO\tOMIM\txref\t875\nNCIT\tBFO\tsubclass_of\t7\nPathWhiz.Compound\tDRUGBANK\tsame_as\t1539\nHP\tCHEBI\tsubclass_of\t1\nOGG\tBFO\tsubclass_of\t1\nFIX\tGENEPIO\tsubclass_of\t1\nNCBITaxon\tNCBITaxon\tsubclass_of\t1783396\nEFO\tRO\tsub_property_of\t2\nLOINC\tLOINC\tINVERTED:has_subject\t34\nFBbt\tUBERON\tsubclass_of\t22\nGO\tGO\tresults_in_structural_organization_of\t1\nNCBITaxon\tMONDO\tINVERTED:realized_in_response_to_stimulus\t482\nOBO\tSTATO\tsubclass_of\t8\nFMA\tFMA\tinferolateral_to\t8\nOMIM\tHP\thas_phenotype\t94807\nSO\tSO\tsubclass_of\t2326\nNCRO\tGENEPIO\tsubclass_of\t1\nEFO\tMONDO\tdisease_has_feature\t34\nSO\tBFO\tsubclass_of\t4\nSNOMED\tSNOMED\tsubclass_of\t554879\nsgd\tNCBITaxon\tonly_in_taxon\t5938\nHMDB\tGO\tat_cellular_location\t16784\nENVO\tENVO\tinheres_in\t7\nFMA\tFMA\torigin_of\t275\nSNOMED\tSNOMED\thas_modification\t2130\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tnegative_allosteric_modulator\t13\nSNOMED\tSNOMED\thas_specimen_substance\t926\nORPHANET\tPR\thas_disease_location\t1\nHP\tSYMP\thas_symptom\t2\nOPL\tCL\tsubclass_of\t1\nFMA\tFMA\tmember_of\t2295\nEFO\tICD9\txref\t2049\nCHEBI\tKEGG\tsame_as\t1689\nNCIT\tIAO\tsubclass_of\t7\nFOODON\tFOODON\tis_about\t3\nCHEMBL.COMPOUND\tNCBIGene\tbinder\t139\nNCIT\tNCIT\tis_location_of_anatomic_structure\t356\nNCIT\tNCBITaxon\tsubclass_of\t1\nUniProtKB\tGO\tcapable_of\t62677\nFMA\tFMA\tinverse_of_forms\t15\nOBO\tSO\tsubclass_of\t1013\nGO\tSO\thas_primary_output\t2\nFMA\tFMA\tINVERTED:has_part\t12\nPATO\tPATO\tsub_property_of\t4\nOBO\tBFO\tsubclass_of\t11\nNCBIGene\tNCBIGene\tregulates_expression_of\t3812\nFMA\tFMA\tafferent_to\t812\nGO\tUBERON\tINVERTED:output_of\t17\nSNOMED\tSNOMED\thas_associated_morphology\t63873\nOBI\tMONDO\tequivalent_to\t1\nFMA\tFMA\tcontinuous_proximally_with\t1825\nMONDO\tUBERON\tdisease_has_inflammation_site\t163\nSO\tIAO\tsubclass_of\t1\nRO\tRO\txref\t1\nUBERON\tUBERON\tinverse_of\t4\nGO\tCL\tresults_in_formation_of\t15\nEFO\tUBERON\tlocated_in\t6\nEHDAA2\tEHDAA2\tINVERTED:develops_from\t2125\nNCIT\tNCIT\tgene_involved_in_molecular_abnormality\t2464\nUBERON\tENVO\tconfers_advantage_in\t8\nGENEPIO\tFOODON\tsubclass_of\t3\nGO\tGO\tresults_in_formation_of\t2\nLOINC\tLOINC\thas_challenge\t19562\nGO\tPO\txref\t44\nNCIT\tNCIT\tprocedure_may_have_excised_anatomy\t8\nGENO\tDOID\tINVERTED:has_material_basis_in\t2007\nNCBITaxon\tDOID\tINVERTED:has_allergic_trigger\t15\nGAZ\tGAZ\tlocated_in\t720\nUBERON\tUBERON\tchannel_for\t32\nORPHANET\tHGNC\txref\t3982\nPR\tCHEBI\tequivalent_to\t1\nOBO\tGO\tcausally_upstream_of\t1\nGENEPIO\tCHEBI\tis_about\t1\nOBO\tIAO\tsubclass_of\t9\nEFO\tUBERON\tderives_from\t6\nAraPort\tPR\tINVERTED:has_gene_template\t15921\nMI\tIAO\tsubclass_of\t1\nGO\tGO\tINVERTED:inverse_of_isa\t5250\nCHEMBL.COMPOUND\tCHEMBL.TARGET\thydrolytic_enzyme\t38\nEFO\tMONDO\thas_modifier\t125\nHMDB\tOMIM\tat_tissue\t2\nVANDF\tVANDF\tisa\t12198\nCL\tEFO\tpart_of\t2\nGO\tCHEBI\thas_output\t93\nDOID\tSYMP\thas_symptom\t839\nUMLS\tUMLS\tprevents\t197498\nUBERON\tUBERON\tINVERTED:contains\t10\nSIO\tSIO\taligned_with\t1\nCHEBI\tOBO\tsubclass_of\t2\nFOODON\tFOODON\tderives_from\t2874\nSNOMED\tSNOMED\thas_specimen_source_topography\t1401\nBTO\tPATO\thas_quality\t1\nEFO\tCL\tsubclass_of\t539\nUBERON\tUBERON\tprotects\t9\nPCO\tBFO\tsubclass_of\t3\nCLO\tEFO\tsubclass_of\t857\nDOID\tUBERON\thas_origin\t3\nUBERON\tCL\tadjacent_to\t1\nEFO\tCHEBI\tis_about\t262\nUBERON\tUBERON\tin_left_side_of\t52\nRXNORM\tRXNORM\trxcui:constitutes\t23344\nFMA\tFMA\thas_insertion\t210\nEFO\tGO\tsubclass_of\t180\nEFO\tUO\tINVERTED:is_unit_of\t4\nUBERON\tGO\tadjacent_to\t1\nFMA\tFMA\tpart_of\t4801\nNCIT\tNCIT\tbiological_process_has_result_biological_process\t91\nGO\tCARO\tresults_in_maturation_of\t1\nUO\tEFO\tequivalent_to\t1\nUMLS\tUMLS\tinverse_of_sy\t450\nEFO\tNCBITaxon\tlocated_in\t4\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tantagonist\t789\nBFO\tEFO\tINVERTED:has_input\t2\nCP\tGO\tsubclass_of\t9\nSNOMED\tSNOMED\thas_surgical_approach\t688\nGENEPIO\tGENEPIO\timmediately_preceded_by\t6\nUMLS\tUMLS\ttreats\t1218218\nLOINC\tLOINC\thas_action_guidance\t1149\nEFO\tCHEBI\tinheres_in\t3\nFMA\tFMA\thas_germ_origin\t1\nSNOMED\tSNOMED\thas_presentation_strength_denominator_value\t4074\nUBERON\tUBERON\tsubclass_of\t21304\nFMA\tFMA\thas_constitutional_part\t21120\nPATO\tDOID\txref\t1\nMEDDRA\tUMLS\txref\t73929\nLOINC\tLOINC\thas_archetype\t1265\nPathWhiz.ElementCollection\tCHEBI\tsame_as\t50\nEFO\tNCBITaxon\tderives_from\t16\nOBO\tOBO\tpositively_regulates\t1\nNCBIGene\tUMLS\tpart_of\t119404\nNCIT\tNCIT\thas_inc_parent\t116\nLOINC\tLOINC\thas_pharmaceutical_route\t1930\nGTPI\tNCBIGene\tagonist\t1350\nFMA\tFMA\tmatures_from\t76\nFMA\tFMA\tvenous_drainage_of\t132\nNCIT\tNCIT\tprocedure_has_partially_excised_anatomy\t194\nSNOMED\tUMLS\txref\t361557\nENVO\tENVO\tINVERTED:formed_as_result_of\t4\nUMLS\tNCBIGene\tinhibits\t89138\nOMIMPS\tMONDO\tequivalent_to\t472\nOBO\tOBO\trealized_in\t1\nMONDO\tORPHANET\tdisease_shares_features_of\t1\nUBERON\tUBERON\texistence_starts_with\t6\nUBERON\tBFO\tsubclass_of\t295\nORPHANET\tICD10\txref\t5735\nGO\tGO\tprecedes\t1\nFMA\tUBERON\tsubclass_of\t8\nNCIT\tNCIT\tINVERTED:has_salt_form\t1829\nCL\tGO\tINVERTED:has_participant\t28\nUBERON\tUBERON\tanteriorly_connected_to\t22\nUBERON\tUBERON\tconduit_for\t57\nFMA\tFMA\tprojects_from\t110\necogene\tSO\tsubclass_of\t4018\nGO\tGO\tdirectly_regulates\t12\nNCIT\tExO\tsubclass_of\t2\nCL\tNCBITaxon\tin_taxon\t1\nPathWhiz.ElementCollection\tPathWhiz.Bound\tINVERTED:has_element_in_bound\t163\nDRUGBANK\tUMLS\tclinically_tested_approved_unknown_phase\t6536\nEFO\tEFO\trelated_to\t1\nUBERON\tUBERON\tcontributes_to_morphology_of\t633\nCHEBI\tUBERON\tINVERTED:has_part\t20\nUMLS\tUMLS\tsubclass_of\t9884\nEFO\tMONDO\tequivalent_to\t2850\nUBERON\tUBERON\tin_superficial_part_of\t7\nORPHANET\tEFO\trelated_to\t1\nGO\tCHEBI\thas_primary_input\t1000\nGO\tCHEBI\tis_about\t4\nCL\tGO\tINVERTED:process_has_causal_agent\t24\nCL\tCL\tsubclass_of\t3462\nNCIT\tNCIT\tgene_product_is_biomarker_of\t32\nEFO\tEFO\tbearer_of\t970\nMA\tFMA\txref\t1\nFMA\tFMA\tinternal_to\t1\nLOINC\tLOINC\thas_supersystem\t19700\nSIO\tGENEPIO\tsubclass_of\t9\nNCIT\tNCIT\tis_related_to_endogenous_product\t23\nGEO\tBFO\tsubclass_of\t1\nCL\tGO\tsubclass_of\t11\nUMLS\tUMLS\tINVERTED:inverse_of_ro\t356197\nUBERON\tUBERON\thas_muscle_antagonist\t47\nUBERON\tUBERON\texistence_ends_during_or_before\t1\nNCIT\tNCIT\tis_associated_disease_of\t1027\nDRUGBANK\tUMLS\tclinically_tested_withdrawn_phase_1\t132\nUBERON\tCL\thas_potential_to_developmentally_contribute_to\t1\nENVO\tENVO\tends\t1\nHP\tOMIM\txref\t24\nGO\tGO\tdirectly_negatively_regulates\t11\nMESH\tMESH\tisa\t9514\nDOID\tARO\tsubclass_of\t4\nGO\tGO\texports\t4\nNCIT\tNCIT\trole_has_parent\t11\nEFO\tNCBITaxon\tonly_in_taxon\t3\nKEGG\tUniProtKB\tphysically_interacts_with\t22304\nNCIT\tNCIT\tdisease_may_have_abnormal_cell\t1194\nNCIT\tNCIT\trole_has_domain\t83\nATC\tUMLS\txref\t6331\nUMLS\tUMLS\tcauses\t813924\nBSPO\tBSPO\tapproximately_perpendicular_to\t1\nCHEBI\tPR\tINVERTED:has_component\t47\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tsubstrate\t6\nSNOMED\tSNOMED\thas_concentration_strength_numerator_value\t2313\nVANDF\tVANDF\tingredient_of\t18404\nFMA\tFMA\tINVERTED:develops_from\t18\nGENEPIO\tOBI\tsubclass_of\t96\nPO\tEFO\tsubclass_of\t30\nEFO\tEFO\tpart_of\t48\nHP\tICD9\txref\t18\nSNOMED\tSNOMED\tactive_ingredient_of\t18593\nPR\tPR\tpart_of\t1\nCHEMBL.TARGET\tCHEMBL.TARGET\tsubset_of\t1389\nOBI\tEDAM\tsubclass_of\t1\nNCIT\tNCIT\tgene_is_biomarker_type\t39\nFOODON\tPO\tsubclass_of\t11\nGO\tGO\thas_occurrence\t258\nFMA\tFMA\thas_nerve_supply\t2127\nNCIT\tNCIT\thas_pharmaceutical_state_of_matter\t620\nUBERON\tUBERON\timmediately_deep_to\t40\nIAO\tIAO\ttype\t22\nOBO\tFMA\txref\t1\nGENEPIO\tNCIT\tINVERTED:after\t2\nFMA\tFMA\tsegmental_composition_of\t2\nUMLS\tUMLS\thas_form\t1\nORPHANET\tORPHANET\tsubclass_of\t25409\nBFO\tBFO\tsubclass_of\t37\nORPHANET\tORPHANET\torphanet:317348\t227\nNCIT\tNCIT\tprocedure_may_have_partially_excised_anatomy\t9\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tdisrupting_agent\t5\nUBERON\tMONDO\tINVERTED:disease_arises_from_structure\t55\nEFO\tEFO\tINVERTED:realized_in_response_to_stimulus\t1\nGO\tGO\tdirectly_positively_regulates\t15\nBTO\tCL\tderives_from\t1\nNCIT\tNCIT\tINVERTED:process_involves_gene\t25114\nUMLS\tUMLS\tmeasures\t183140\nOPL\tOBI\tsubclass_of\t1\nUMLS\tNCBIGene\tproduces\t41274\nLOINC\tLOINC\tmapped_to\t2900\nFMA\tFMA\tINVERTED:has_member\t2243\nUBERON\tUBERON\tserially_homologous_to\t3\nNCIT\tNCIT\tenzyme_metabolizes_chemical_or_drug\t636\nUMLS\tUMLS\thas_mapping_qualifier\t22\nWD\tMONDO\tequivalent_to\t2\nFMA\tFMA\tdirect_right_of\t229\nMONDO\tORPHANET\tequivalent_to\t9149\nFMA\tFMA\tdirect_cell_shape_of\t2\nFAO\tFAO\tINVERTED:develops_from\t2\nGO\tGO\tresults_in_remodeling_of\t10\nFMA\tFMA\tcontinuous_with\t2512\nPathWhiz.ProteinComplex\tPathWhiz.Bound\tINVERTED:has_element_in_bound\t809\nNCIT\tNCIT\tINVERTED:ctcae_5_parent_of\t1721\nFOODON\tGAZ\thas_country_of_origin\t9\nMONDO\tORPHANET\tdisease_has_feature\t1\nGO\tPO\tresults_in_commitment_to\t2\nGEO\tGENEPIO\taligned_with\t1\nNCIT\tNCIT\tdisease_may_have_associated_disease\t1935\nFMA\tFMA\tinsertion_of\t213\nNCIT\tNCIT\thas_pharmaceutical_release_characteristics\t502\nMONDO\tKEGG\txref\t37\nUMLS\tUMLS\tprocess_of\t810370\nNCIT\tNCIT\tINVERTED:is_cytogenetic_abnormality_of_disease\t326\nGO\tCL\tsubclass_of\t1\nGO\tCL\tresults_in_determination_of\t25\nCL\tCARO\tINVERTED:has_part\t3\nCL\tCL\tdevelops_into\t5\nMOD\tPR\tINVERTED:has_part\t5383\nOMIT\tOMIT\tsubclass_of\t7\nUBERON\tCL\tbounding_layer_of\t1\nGO\tGO\tsubclass_of\t80401\nOBI\tGENEPIO\tINVERTED:produced_by\t1\nPO\tPO\tINVERTED:has_part\t9\nDRUGBANK\tUMLS\txref\t9151\nFOODON\tFOODON\tINVERTED:output_of\t15\nCL\tPO\txref\t1\nFOODON\tNCBITaxon\tin_taxon\t1733\nNBO\tMONDO\tINVERTED:disease_has_basis_in_disruption_of\t1\nFBgn\tNCBITaxon\tonly_in_taxon\t3954\nMONDO\tOMIMPS\txref\t477\nUBERON\tUBERON\tdistally_connected_to\t30\nEFO\tBFO\thas_output\t1\nMONDO\tOBI\txref\t1\nSO\tPR\tsubclass_of\t3\nNCIT\tNCIT\tgene_in_chromosomal_location\t3906\nPR\tMONDO\tINVERTED:disease_has_basis_in_dysfunction_of\t18\nDRUGBANK\tUMLS\tclinically_tested_suspended_phase_3\t56\nVANDF\tUMLS\txref\t28951\nORPHANET\tEFO\tdisease_has_feature\t24\nDRUGBANK\tSMPDB\tpathway\t3762\nGO\tCL\tacts_on_population_of\t84\nEFO\tPO\txref\t31\nMONDO\tOGMS\tequivalent_to\t1\nCPT\tCPT\tpanel_element_of\t129\nOBO\tOBO\tINVERTED:has_part\t1\nEFO\tDOID\tis_about\t1\nSO\tGO\tINVERTED:has_primary_input_or_output\t9\nDRUGBANK\tPathWhiz\tINVERTED:has_compound\t492409\nFMA\tFMA\tINVERTED:derives\t274\nSNOMED\tSNOMED\tis_interpreted_by\t37621\nEFO\tOBI\tsubclass_of\t105\nSNOMED\tSNOMED\thas_measurement_method\t17\nSYMP\tARO\tsubclass_of\t1\nGENEPIO\tENVO\tsubclass_of\t3\nGENEPIO\tGENEPIO\tis_about\t8\nUBERON\tUBERON\tprecedes\t2\nFOODON\tNCIT\tsubclass_of\t2\nFMA\tFMA\treceives_projection\t117\nMONDO\tNCBITaxon\ttransmitted_by\t74\nOBO\tGO\tINVERTED:has_primary_input_or_output\t20\nSNOMED\tSNOMED\thas_dose_form\t12616\nGO\tPR\thas_primary_output\t10\nGO\tGO\tresults_in_maintenance_of\t16\nFMA\tFMA\thas_observed_anatomical_entity\t3\nCHEMBL.COMPOUND\tHP\tindicated_for\t2095\nNCIT\tNCIT\tgene_product_has_biochemical_function\t4865\nNCIT\tUMLS\txref\t165880\nGENEPIO\tUO\tsubclass_of\t7\nMOD\tMOD\tsubclass_of\t151\nNCBIGene\tUMLS\tcomplicates\t585\nORPHANET\tORPHANET\torphanet:c016\t6366\nFOODON\tFOODON\thas_output\t1\nMONDO\tBFO\tsubclass_of\t3\nSNOMED\tSNOMED\thas_subject_relationship_context\t5084\nNCIT\tNCIT\tINVERTED:is_organism_source_of_gene_product\t532\nDRUGBANK\tKEGG\tsame_as\t494\nFBbt\tUBERON\tpart_of\t2\nFMA\tFMA\thas_connection_type\t4\nOBI\tGO\tsubclass_of\t1\nCHMO\tCHMO\tsubclass_of\t7\nGENEPIO\tGENEPIO\tINVERTED:has_member\t1\nSNOMED\tSNOMED\thas_priority\t211\nUniProtKB\tGO\tacts_upstream_of_or_within\t293\nGO\tPR\tINVERTED:output_of\t808\nARO\tOBI\tsubclass_of\t2\nUBERON\tUBERON\tdorsal_to\t10\nFOODON\tENVO\tderives_from\t8\nSNOMED\tSNOMED\thas_realization\t1450\nUBERON\tUBERON\tsub_property_of\t3\nEFO\tEFO\tdisease_shares_features_of\t2\nMF\tMONDO\tINVERTED:realized_in_response_to\t3\nGENEPIO\tGENEPIO\ttype\t43\nFOODON\tFOODON\tINVERTED:has_part\t9\nCHEMBL.TARGET\tENSEMBL\tpart_of\t4\nORPHANET\tORPHANET\tdisease_shares_features_of\t11\nMONDO\tMESH\tequivalent_to\t7860\nNCIT\tNCIT\trole_has_range\t97\nGTPI\tNCBIGene\tchannel_blocker\t158\nPATO\tPATO\tINVERTED:has_part\t9\nCHEMBL.COMPOUND\tNCBIGene\tantisense\t3\nMONDO\tPATO\thas_modifier\t78\nNCBITaxon\tDOID\tINVERTED:has_material_basis_in\t300\nPathWhiz.Reaction\tCHEBI\thas_right_element\t169923\nNCBIGene\tUMLS\tprevents\t7331\nORPHANET\tCL\thas_disease_location\t2\nUBERON\tUBERON\tluminal_space_of\t77\nLOINC\tLOINC\tanalyzes\t72330\nORPHANET\tORPHANET\torphanet:410295\t1091\nGENEPIO\tGENEPIO\tpart_of\t1\nGO\tPO\tresults_in_morphogenesis_of\t30\nUBERON\tUBERON\tchannels_from\t25\nNCIT\tNCIT\tINVERTED:disease_is_marked_by_gene\t8\nUBERON\tBFO\tsub_property_of\t3\nEFO\tBTO\tis_about\t3\nCL\tGO\tparticipates_in\t18\nOBO\tCARO\tsubclass_of\t1\nORPHANET\tGO\thas_disease_location\t10\nSNOMED\tSNOMED\thas_finding_site\t91236\nNCBIGene\tNCBITaxon\tin_taxon\t61530\nSNOMED\tSNOMED\tINVERTED:has_occurrence\t5492\nCL\tGO\thas_plasma_membrane_part\t1\nOGMS\tGO\tsubclass_of\t1\nGENEPIO\tOIO\tsubclass_of\t2\nCHEBI\tUBERON\tpart_of\t1\nCL\tNCIT\txref\t2\nUBERON\tUBERON\tposteriorly_connected_to\t1\nRXNORM\tRXNORM\trxcui:has_dose_form\t42707\nEFO\tMP\thas_phenotype\t1\nENVO\tENVO\tbounding_layer_of\t1\nKEGG\tMONDO\tequivalent_to\t37\nCHEMBL.TARGET\tCHEMBL.TARGET\toverlaps_with\t2630\nUBERON\tCL\tsurrounds\t7\nSNOMED\tSNOMED\thas_procedure_site\t3506\nFMA\tFMA\tposteromedial_to\t9\nEFO\tNCIT\txref\t2012\nCHEMBL.COMPOUND\tNCBIGene\tantibody\t180\nEFO\tMONDO\tINVERTED:realized_in_response_to_stimulus\t1\nGO\tCL\tresults_in_maturation_of\t16\nZFIN\tSO\tsubclass_of\t3318\nUBERON\tGO\tsurrounds\t3\nPathWhiz.Reaction\tCHEBI\thas_left_element\t188562\nOMIM\tOMIM\tINVERTED:has_manifestation\t121769\nUniProtKB\tGO\tacts_upstream_of_or_within_positive_effect\t13\nFMA\tFMA\ttransforms_into\t28\nBSPO\tBSPO\tfinishes_axis\t7\nUMLS\tUMLS\thas_physiologic_effect\t1\nOMIT\tCHEBI\tsubclass_of\t3\nGO\tGO\tresults_in_maturation_of\t2\nDOID\tOMIM\txref\t4868\nCHEMBL.COMPOUND\tNCBIGene\tnegative_modulator\t5\nUBERON\tUBERON\tsuperficial_to\t14\nHP\tHP\thas_modifier\t1\nUBERON\tUBERON\tdevelopmentally_replaces\t8\nNCIT\tICO\tis_about\t1\nRXNORM\tUMLS\txref\t108886\nUBERON\tNBO\tINVERTED:has_participant\t2\nSNOMED\tSNOMED\thas_clinical_course\t4570\nUBERON\tGO\tINVERTED:has_participant\t2\nttd.target\tNCBIGene\tagonist\t105\nLOINC\tLOINC\thas_scale\t87167\nNCIT\tMONDO\tINVERTED:realized_in_response_to\t1\nEFO\tUO\tsubclass_of\t38\nFMA\tFMA\tregional_part_of\t27615\nCHEMBL.TARGET\tCHEMBL.TARGET\tequivalent_to\t36\nOBI\tSTATO\tis_about\t1\nUMLS\tUMLS\tINVERTED:has_component\t3\nEFO\tEFO\tparticipates_in\t8\nPR\tNCBITaxon\tonly_in_taxon\t177969\nMGI\tSO\tsubclass_of\t16846\nENSEMBL\tPR\tINVERTED:has_gene_template\t110\nGTPI\tNCBIGene\tgating_inhibitor\t32\nBTO\tCL\tsubclass_of\t6\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tpartial_agonist\t47\nGO\tCL\tpart_of\t150\nUBERON\tMESH\txref\t644\nHGNC\tPR\tINVERTED:has_gene_template\t19823\nCPT\tCPT\tpanel_element_of_possibly_included\t1\nIAO\tEFO\tinverse_of\t1\nCHEBI\tMONDO\tINVERTED:disease_has_basis_in_dysfunction_of\t1\nENVO\tENVO\tadjacent_to\t8\nKEGG\tPathWhiz\tINVERTED:has_compound\t1701455\nEO\tEO\tsubclass_of\t47\nGO\tGO\tpart_of\t5240\nEFO\tBTO\tequivalent_to\t1\nDOID\tICD9\txref\t11\nOBI\tEFO\tINVERTED:has_participant\t1\nVCARD\tGENEPIO\tsubclass_of\t1\nZEA\tEFO\tsubclass_of\t1\nLOINC\tLOINC\tinverse_of_measures\t79662\nEFO\tEFO\tINVERTED:has_input\t4\nUniProtKB\tGO\tacts_upstream_of_positive_effect\t14\nSO\tDOID\tINVERTED:has_material_basis_in\t3\nGO\tOBO\thas_input\t48\nGO\tGO\tbounding_layer_of\t29\nUBERON\tUBERON\tin_innermost_side_of\t2\nRO\tRO\tsub_property_of\t621\nOBO\tOBOREL\tinverse_of\t1\nENVO\tENVO\tlocated_in\t3\nRO\tRO\tinverse_of\t122\nORPHANET\tMONDO\tdisease_has_feature\t25\nNCIT\tNCIT\tbiological_process_has_result_anatomy\t63\nGO\tGO\tresults_in_disassembly_of\t75\nSNOMED\tSNOMED\thas_intent\t5207\nCHEBI\tPR\tINVERTED:has_part\t2\nEFO\tEFO\tpart_of_progression_of_disease\t2\nEnsemblGenomes\tSO\tsubclass_of\t278\nGO\tOBO\ttransports_or_maintains_localization_of\t20\nSNOMED\tSNOMED\thas_unit_of_presentation\t2918\nFAO\tFAO\tsubclass_of\t32\nCL\tRO\tsub_property_of\t2\nUBERON\tCARO\tsubclass_of\t1408\nHMDB\tNCIT\tat_tissue\t217\nGO\tUBERON\tresults_in_developmental_progression_of\t1\nMONDO\tCHEBI\tdisease_has_basis_in_accumulation_of\t1\nGENEPIO\tEFO\tsubclass_of\t1\nCVDO\tGENEPIO\tsubclass_of\t1\nGO\tUBERON\thas_target_end_location\t2\nHP\tARO\tsubclass_of\t1\nFMA\tFMA\tright_medial_to\t4\nGO\tOBI\tsubclass_of\t1\nFOODON\tFOODON\tdevelops_from_part_of\t13\nPR\tCHEBI\tderives_from\t1\nUBERON\tCARO\txref\t42\nENVO\tGENEPIO\tsubclass_of\t17\nGENEPIO\tGENEPIO\tmember_of\t9\nUMLS\tNCBIGene\tpart_of\t41790\nFMA\tFMA\tsegmental_supply_of\t683\nSNOMED\tSNOMED\tcause_of\t7207\nOMIABIS\tOGMS\tsubclass_of\t1\nMF\tMF\tINVERTED:has_occurrent_part\t1\nZFA\tEFO\tsubclass_of\t33\nSYMP\tSYMP\thas_symptom\t1\nGENEPIO\tGENEPIO\tINVERTED:produced_by\t1\ndbpedia\tHANCESTRO\tsubclass_of\t9\nNCBIGene\tUMLS\tsame_as\t617\nMONDO\tORPHANET\tsubclass_of\t669\nPECO\tBFO\tsubclass_of\t1\nSNOMED\tSNOMED\tduring\t118\nGO\tOBO\timports\t3\nCHEMBL.COMPOUND\tCHEMBL.TARGET\treleasing_agent\t26\nEFO\tMONDO\tdisease_shares_features_of\t1\nMONDO\tGARD\tequivalent_to\t5814\nNCIT\tPATO\tsubclass_of\t3\nEFO\tMEDDRA\txref\t2\nEHDAA2\tAEO\tattaches_to\t1\nMF\tBFO\tsubclass_of\t4\nFMA\tFMA\tleft_lateral_to\t5\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tdegrader\t1\nOBO\tOBO\tregulates\t2\nCL\tGO\tINVERTED:results_in_movement_of\t87\nNCIT\tNCIT\tallele_plays_altered_role_in_process\t128\nSNOMED\tSNOMED\thas_procedure_device\t279\nEFO\tEFO\tsub_property_of\t5\nCHEMBL.COMPOUND\tNCBIGene\taffects\t10769\nCHEBI\tMONDO\tINVERTED:disease_responds_to\t13\nEFO\tHANCESTRO\tderives_from\t31\nBTO\tUBERON\tlocated_in\t1\nFMA\tFMA\tsurrounds\t133\nUBERON\tUBERON\tsubdivision_of\t12\nNCIT\tNCIT\tINVERTED:process_includes_biological_process\t642\nFOODON\tECOCORE\tINVERTED:has_participant\t1\nUMLS\tUMLS\tdiagnoses\t259899\nGO\tUBERON\txref\t44\nNCBIGene\tNCBIGene\tinteracts_with\t33756\nUBERON\tUBERON\tsexually_homologous_to\t12\nEFO\tMA\tis_about\t1\nGAZ\tFOODON\tsubclass_of\t162\nUBERON\tCL\textends_fibers_into\t1\nCHEMBL.COMPOUND\tNCBIGene\tantisense_oligonucleotide\t5\nOBI\tOBI\tsubclass_of\t105\nHCPCS\tHCPCS\tmapped_to\t15\nOMIM\tOMIM\tINVERTED:phenotype_of\t13865\nMONDO\tHP\tdisease_has_major_feature\t100\nMONDO\tHP\txref\t565\nCHEBI\tUBERON\tsubclass_of\t1\nNCIT\tNCIT\tchemical_or_drug_has_mechanism_of_action\t2274\nEFO\tHGNC\txref\t8\nPO\tEFO\tequivalent_to\t1\nMONDO\tNCIT\trealized_in\t2\nGENEPIO\tGENEPIO\tinheres_in\t1\nUBERON\tUBERON\tin_deep_part_of\t6\nCL\tMONDO\tINVERTED:realized_in_response_to_stimulus\t4\nGO\tSO\txref\t15\nGENEPIO\tARO\tis_about\t3\nMONDO\tEFO\tdisease_has_major_feature\t6\nMONDO\tEFO\txref\t2857\nOncoTree\tMONDO\tequivalent_to\t556\nENVO\tENVO\tINVERTED:determined_by\t11\nCHEMBL.MECHANISM\tCHEMBL.MECHANISM\tsubclass_of\t27\nUBERON\tUBERON\tproximalmost_part_of\t4\nFOODON\tFOODON\thas_quality\t9\nFMA\tFMA\thas_primary_segmental_supply\t17\nUMLS\tUMLS\tconverts_to\t36699\nPR\tCL\tpart_of\t4\nBSPO\tBSPO\tdorsal_to\t1\nDOID\tUBERON\tlocated_in\t618\nHGNC\tMONDO\tINVERTED:disease_has_basis_in_dysfunction_of\t4393\nCHEMBL.COMPOUND\tCHEMBL.TARGET\treducing_agent\t2\nEFO\tHP\tsubclass_of\t128\nMEDDRA\tMEDDRA\tmember_of\t52438\nUBERON\tUBERON\tdevelopmentally_induced_by\t20\nUniProtKB\tCHEMBL.COMPOUND\ttargets\t39678\nGENEPIO\tGENEPIO\tINVERTED:preceded_by\t1\nCHEBI\tSO\tsubclass_of\t23\nERO\tOBI\tsubclass_of\t4\nGO\tNBO\tINVERTED:by_means\t1\nCHEBI\tBFO\tsubclass_of\t33\nLOINC\tLOINC\thas_fragments_for_synonyms\t96184\nPR\tGO\tpart_of\t4\nIDO\tOBO\tINVERTED:has_participant\t1\nUBERON\tUBERON\tpart_of\t9688\nEFO\tEFO\tsubclass_of\t11372\nDRUGBANK\tUMLS\tclinically_tested_withdrawn_phase_2\t208\nSNOMED\tSNOMED\tcharacterized_by\t346\nGO\tGO\tINVERTED:has_primary_input_or_output\t1\nGENEPIO\tGENEPIO\tbefore\t11\nPathWhiz.Compound\tKEGG\tsame_as\t48957\nSNOMED\tSNOMED\thas_inherent_location\t1\nGO\tGO\tINVERTED:regulated_by\t1913\nGENO\tGENO\tsubclass_of\t24\nCL\tMA\tlocated_in\t1\nOGMS\tOBI\tsubclass_of\t1\nGO\tNCBITaxon\tonly_in_taxon\t683\nbiolink\tbiolink\tsubclass_of\t248\nNCIT\tNCIT\tallele_has_activity\t74\nORPHANET\tMESH\txref\t2518\nDOID\tUBERON\tadjacent_to\t2\nFMA\tFMA\tdrains_into\t212\nHP\tNCIT\txref\t276\nMGI\tPR\tINVERTED:has_gene_template\t16846\nCGNC\tSO\tsubclass_of\t552\nECO\tECO\tsubclass_of\t12\nUMLS\tUMLS\tinverse_of_exhibits\t1082\nOBO\tOBOREL\tsub_property_of\t1\nEO\tEFO\tsubclass_of\t1\nENVO\tENVO\tcausal_agent_in_process\t1\nUniProtKB\tMONDO\tassociated_with_disease\t188\nUBERON\tUBERON\tindirectly_supplies\t4\nOGMS\tOGMS\tINVERTED:has_participant_at_all_times\t1\nUBERON\tUBERON\timmediately_anterior_to\t1\nGENEPIO\tGENEPIO\tINVERTED:specifies_value_of\t12\nHMDB\tMEDDRA\tat_tissue\t2\nCHEMBL.COMPOUND\tNCBIGene\tvaccine\t6\nFOODON\tRO\tsub_property_of\t1\nNCIT\tNCIT\tgene_product_expressed_in_tissue\t1594\nGENEPIO\tGENEPIO\tprecedes\t2\nFMA\tFMA\thas_venous_drainage\t132\nZFIN\tPR\tINVERTED:has_gene_template\t3318\nFMA\tFMA\ttributary_of\t1068\nCL\tUBERON\tINVERTED:develops_from\t2\nAraPort\tNCBITaxon\tonly_in_taxon\t15919\nUMLS\tUMLS\tlarger_than\t1\nHMDB\tUMLS\tat_cellular_location\t1\nNDDF\tNDDF\tingredient_of\t12\nNCBIGene\tUMLS\tadministered_to\t9523\nNCIT\tNCIT\tchemical_or_drug_affects_gene_product\t378\nsgd\tSO\tsubclass_of\t5938\nGENEPIO\tGEO\tsubclass_of\t1\nGO\tSO\tcoincident_with\t6\nUniProtKB\tUniProtKB\tregulates_activity_of\t165005\nKEGG\tDRUGBANK\tsame_as\t978\nPR\tCHEBI\tnon_covalently_bound_to\t7\nNPO\tBFO\tsubclass_of\t1\nCHEMBL.COMPOUND\tCHEMBL.MECHANISM\trelated_to\t4739\nSNOMED\tSNOMED\thas_specimen_source_identity\t126\nMP\tDOID\txref\t1\nUBERON\tUBERON\tsurrounded_by\t35\nNCIT\tGO\tsubclass_of\t1\nCHEBI\tPathWhiz.Bound\tINVERTED:has_element_in_bound\t214\nUBERON\tFMA\txref\t5851\nEFO\tICD10\txref\t2576\nNCIT\tNCIT\tgene_product_has_abnormality\t24\nNCBIGene\tSO\tsubclass_of\t5380\nMONDO\tNCBITaxon\tin_taxon\t1\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tagonist\t720\nGO\tUBERON\tresults_in_transport_along\t1\nUBERON\tNCBITaxon\tpart_of\t4\nFMA\tFMA\tINVERTED:contains\t333\nLOINC\tUMLS\txref\t260568\nNBO\tBFO\tsubclass_of\t1\nEFO\tUBERON\thas_disease_location\t278\nPO\tGENEPIO\tsubclass_of\t1\nSNOMED\tSNOMED\thas_property\t521\nCARO\tCARO\tpart_of\t3\nMONDO\tCL\tdisease_has_location\t49\nORPHANET\tORPHANET\tdisease_has_major_feature\t3\nCHEMBL.COMPOUND\tNCBIGene\tantagonist\t2951\nFMA\tFMA\tsubclass_of\t107543\nOMIM\tOMIM\thas_phenotype\t15337\nMONDO\tNBO\tdisease_causes_disruption_of\t4\nCHEBI\tUBERON\tINVERTED:composed_primarily_of\t11\nSNOMED\tSNOMED\thas_direct_morphology\t7589\nMONDO\tGO\tdisease_causes_disruption_of\t93\nBTO\tOBI\tsubclass_of\t1\nFMA\tFMA\tfusion_of\t2\nMONDO\tGO\tdisease_has_location\t5\nGO\tGO\tresults_in_assembly_of\t316\nCL\tEFO\tsubclass_of\t41\nSNOMED\tSNOMED\tuses_access_device\t1594\nUBERON\tUBERON\tproximal_to\t4\nGENEPIO\tCHEBI\tsubclass_of\t2\nMONDO\tLOINC\txref\t1\nOMIT\tGENEPIO\tsubclass_of\t6\nExO\tGENEPIO\tmember_of\t2\nSNOMED\tSNOMED\thas_associated_finding\t2554\nCL\tCL\tsynapsed_to\t3\nCL\tMONDO\tINVERTED:disease_arises_from_structure\t58\nFMA\tFMA\tsuperomedial_to\t5\nUBERON\tGO\tcomposed_primarily_of\t3\nHGNC\tNCBITaxon\tonly_in_taxon\t19823\nUBERON\tENVO\tINVERTED:determined_by_part_of\t1\nDRUGBANK\tUMLS\tclinically_tested_suspended_phase_1\t9\nCL\tPATO\tbearer_of\t38\nOBO\tGO\tsubclass_of\t5\nGO\tGO\thas_primary_output\t1\nRXNORM\tRXNORM\trxcui:reformulated_to\t9\nUniProtKB\tGO\tis_active_in\t32\nNCBITaxon\tEFO\tpart_of\t1\nNCBIGene\tNCBIGene\tconverts_to\t290\nNCIT\tFOODON\tsubclass_of\t4\nFOODON\tCHEBI\tderives_from\t2\nSIO\tSIO\tsubclass_of\t4\nSNOMED\tSNOMED\tINVERTED:has_basic_dose_form\t274\nSNOMED\tSNOMED\thas_procedure_context\t2641\nNCIT\tNCIT\tconceptual_part_of\t3585\nUMLS\tUMLS\tINVERTED:location_of\t2270476\nMONDO\tUMLS\txref\t14056\nMONDO\tCL\tdisease_has_inflammation_site\t1\nttd.target\tNCBIGene\tactivator\t13\nMONDO\tOBA\tdisease_has_feature\t1\nNCIT\tNCIT\tqualifier_applies_to\t1\nICD10\tMONDO\tequivalent_to\t1113\nNCIT\tGENEPIO\tINVERTED:contains_process\t1\nIAO\tEFO\tsubclass_of\t1\nFOODON\tFOODON\tINVERTED:produced_by\t2\nSO\tSO\thas_quality\t1\nUBERON\tUBERON\tposterior_to\t9\nCGNC\tPR\tINVERTED:has_gene_template\t552\nFMA\tFMA\tdevelopmental_stage_of\t193\nGO\tGO\thappens_during\t12\nFOODON\tUBERON\tsubclass_of\t2\nGO\tGO\tINVERTED:ends_with\t25\nNCIT\tNCIT\tchromosome_mapped_to_disease\t189\nHP\tMEDDRA\txref\t93\nCHEMBL.COMPOUND\tDOID\tindicated_for\t2375\nUBERON\tCL\tchannel_for\t4\nGO\tEFO\tINVERTED:has_input\t1\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tstabiliser\t9\nFOODON\tFOODON\tsub_property_of\t1\nEFO\tCL\tderives_from\t6\nFOODON\tFOODON\thas_input\t3\nENSEMBL\tNCBITaxon\tin_taxon\t67667\nRXNORM\tRXNORM\trxcui:contained_in\t789\nOBO\tFOODON\tsubclass_of\t2\nPDQ\tPDQ\tassociated_disease\t243\nBTO\tEFO\tderives_from\t3\nMONDO\tMONDO\tdisease_has_major_feature\t14\nMONDO\tMONDO\txref\t12\nPO\tPO\tINVERTED:has_participant\t3\nGO\tPO\tresults_in_development_of\t65\nDRUGBANK\tUMLS\tclinically_tested_terminated_phase_3\t437\nFOODON\tBFO\tsubclass_of\t11\nGO\tOBO\tregulates_levels_of\t2\nNCIT\tNCIT\tprocess_initiates_biological_process\t132\nUBERON\tUBERON\tdevelops_in\t9\nGO\tGO\tINVERTED:has_participant\t39\nARO\tIDO\tis_about\t1\nORPHANET\tMONDO\thas_modifier\t257\nUMLS\tNCBIGene\tsame_as\t692\nNCIT\tNCIT\tgene_mapped_to_disease\t5189\nMONDO\tMONDO\tintersection_of\t1\nEFO\tMONDO\tsubclass_of\t2167\nNCIT\tNCIT\tINVERTED:disease_has_molecular_abnormality\t294\nMF\tOGMS\tsubclass_of\t1\nFMA\tFMA\thas_location\t1\nOMIM\tOMIM\tsubclass_of\t59497\nRO\tBFO\tsubclass_of\t2\nEFO\tCHEBI\tsubclass_of\t71\nORPHANET\tGARD\txref\t2968\nUBERON\tUBERON\tin_lateral_side_of\t131\nFAO\tNCBITaxon\tonly_in_taxon\t1\nSNOMED\tSNOMED\toccurs_in\t7221\nNCBITaxon\tMONDO\tINVERTED:realized_in_response_to\t1\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tsequestering_agent\t23\nGO\tCL\toverlaps\t15\nHCPCS\tUMLS\txref\t6948\nNBO\tPATO\tis_about\t5\nGO\tEFO\tsubclass_of\t10\nTRANS\tGO\tsubclass_of\t1\nLOINC\tLOINC\thas_view_type\t1668\nGO\tGO\tresults_in_organization_of\t191\nFOODON\tIAO\tsubclass_of\t7\nMONDO\tHP\tdisease_causes_feature\t5\nPR\tSO\tsubclass_of\t45\nGO\tGO\toverlaps\t26\nPR\tBFO\tsubclass_of\t2\nNCIT\tNCIT\tgene_product_is_biomarker_type\t337\nCP\tPATO\tbearer_of\t4\nENVO\tENVO\thas_role\t1\nUBERON\tCL\tsubclass_of\t2\nMONDO\tEFO\tdisease_causes_feature\t2\nUBERON\tUBERON\thas_boundary\t1\ndictybase.gene\tSO\tsubclass_of\t4540\nFMA\tFMA\tattaches_to\t476\nNCIT\tNCIT\tINVERTED:disease_has_finding\t36775\nKEGG\tHMDB\tsame_as\t3308\nNCBIGene\tUMLS\tstimulates\t110058\nBTO\tEFO\tINVERTED:develops_from\t1\nPATO\tGENEPIO\tsubclass_of\t1\nUBERON\tGO\tsubclass_of\t2\nSIO\tNCIT\tsubclass_of\t1\nEFO\tUBERON\txref\t2\nEFO\tEFO\thas_role\t17\nUBERON\tCL\txref\t1\nCHEMBL.COMPOUND\tHP\tcontraindicated_for\t12221\nEFO\tOBI\tis_executed_in\t2\nGO\tECOCORE\tINVERTED:has_part\t5\nCP\tCL\tINVERTED:has_part\t26\nttd.target\tNCBIGene\tinhibitor\t203\nEHDAA2\tEHDAA2\tattaches_to\t1\nLOINC\tLOINC\thas_approach_guidance\t347\nMEDDRA\tMONDO\tequivalent_to\t1\nUBERON\tGO\txref\t4\nDRUGBANK\tCHEBI\tsame_as\t102\nFAO\tCARO\tsubclass_of\t4\nUBERON\tUBERON\tproduces\t14\nNCBIGene\tUMLS\tcauses\t56542\nCL\tFAO\txref\t8\nUBERON\tUBERON\tin_outermost_side_of\t2\nEFO\tHANCESTRO\thas_quality\t3\nNCIT\tNCIT\tINVERTED:subset_includes_concept\t230272\nMMO\tOBI\tsubclass_of\t1\nNCBITaxon\tOBI\tsubclass_of\t16\nCHEBI\tCL\tINVERTED:has_part\t1\nEHDAA2\tOBO\tsubclass_of\t1\nCHEBI\tCHEBI\tis_enantiomer_of\t2594\nFBgn\tSO\tsubclass_of\t3954\nEDAM\tGENEPIO\tsubclass_of\t1\nDOID\tNCIT\txref\t3\nUMLS\tMONDO\tequivalent_to\t14023\nECTO\tExO\tsubclass_of\t4\nENVO\tBFO\thas_increased_levels_of\t1\nZFIN\tNCBITaxon\tonly_in_taxon\t3318\nOBI\tEFO\tsubclass_of\t39\nCHEBI\tGO\tINVERTED:has_part\t16\nUniProtKB\tDOID\tassociated_with_disease\t3803\nCHEMBL.COMPOUND\tCHEBI\tsame_as\t30201\nFMA\tFMA\tsuperolateral_to\t9\nLOINC\tLOINC\tINVERTED:has_class\t54220\nLOINC\tLOINC\tis_given_pharmaceutical_substance_for\t2418\nPATO\tPATO\tcorrelates_with\t1\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tactivator\t42\nHP\tICD10\txref\t83\nPathWhiz.ElementCollection\tUniProtKB\tsame_as\t7\nNCBIGene\tUBERON\texpressed_in\t1414\nSNOMED\tSNOMED\thas_count_of_base_of_active_ingredient\t13255\nUBERON\tFOODON\tsubclass_of\t34\nFMA\tFMA\tposterosuperior_to\t34\nGO\tCHEBI\texports\t74\nENVO\tENVO\tderives_from\t9\nCL\tGO\tequivalent_to\t1\nNCIT\tNCIT\tdisease_may_have_finding\t16831\nUniProtKB\tKEGG\tphysically_interacts_with\t22304\nNCIT\tOBI\tsubclass_of\t13\nBSPO\tBSPO\tdeep_to\t1\nEnsemblGenomes\tPR\tINVERTED:has_gene_template\t278\nGO\tGO\tresults_in\t9\nCL\tUBERON\tinnervates\t1\nGO\tUBERON\tresults_in_morphogenesis_of\t342\nPR\tUBERON\tINVERTED:composed_primarily_of\t1\nCL\tEFO\tparticipates_in\t1\nGO\tPR\txref\t89\nORPHANET\tEFO\thas_disease_location\t2\nSNOMED\tSNOMED\thas_revision_status\t1031\nFMA\tFMA\thas_developmental_stage\t193\nOBI\tGENEPIO\tINVERTED:specifies_value_of\t7\nMONDO\tPATO\tsubclass_of\t1\nCHEMBL.COMPOUND\tNCBIGene\tcofactor\t2\nFMA\tFMA\trelated_object\t252\nCHEBI\tPR\tsubclass_of\t5\nUMLS\tUMLS\trelated_to\t2823\nGO\tOBO\thas_output\t1\necogene\tNCBITaxon\tonly_in_taxon\t4018\nUBERON\tUBERON\tINVERTED:has_part\t277\nNCIT\tNCIT\tallele_plays_role_in_metabolism_of_chemical_or_drug\t3\nORPHANET\tORPHANET\torphanet:317346\t38\nGENEPIO\tDOID\tsubclass_of\t1\nUMLS\tUMLS\tisa\t313010\nCLO\tPATO\thas_quality\t405\nCL\tAEO\tINVERTED:has_part\t78\nRXNORM\tRXNORM\trxcui:has_quantified_form\t15\nTO\tBFO\tsubclass_of\t1\nNBO\tNBO\tis_about\t7\nHMDB\tUBERON\tat_tissue\t66\nNBO\tGO\tis_about\t8\nMESH\tMESH\tmapped_to\t376217\nGENEPIO\tOBI\thas_quality\t1\nGENEPIO\tPCO\tsubclass_of\t2\nGAZ\tENVO\ttype\t190\nBSPO\tBSPO\toverlaps\t77\nMONDO\tUBERON\tdisease_causes_dysfunction_of\t2\nEFO\tPATO\thas_quality\t522\nGTPI\tNCBIGene\tallosteric_modulator\t139\nPDQ\tPDQ\tcomponent_of\t5952\nSTATO\tSTATO\tsubclass_of\t30\nDRUGBANK\tUniProtKB\ttarget\t16808\nOBO\tOBI\tsubclass_of\t4\nUBERON\tUBERON\texistence_starts_and_ends_during\t15\nFMA\tFMA\thas_continuation_branch\t28\nEHDAA2\tEHDAA2\tlocated_in\t166\nGTPI\tNCBIGene\tinhibitor\t1337\nOBI\tOBI\ttype\t6\nEFO\tGENEPIO\tINVERTED:specifies_value_of\t1\nUniProtKB\tGO\tcolocalizes_with\t1327\nEHDAA2\tOBO\texistence_starts_during\t2268\nOMIM\tOMIM\tmanifestation_of\t121769\nHP\tMONDO\tequivalent_to\t5\nICD10\tICD10\tsubclass_of\t98417\nGENEPIO\tGENEPIO\tsubclass_of\t665\nOBI\tNCIT\tinheres_in\t1\nCHMO\tBFO\tsubclass_of\t1\nMONDO\tKEGG\tequivalent_to\t37\nUBERON\tUBERON\timmediate_transformation_of\t71\nCHEBI\tGO\tINVERTED:has_primary_input_or_output\t1276\nSTATO\tBFO\tsubclass_of\t1\nNCBITaxon\tEFO\tINVERTED:has_member\t1\nNCIT\tNCIT\tchemical_or_drug_initiates_biological_process\t113\nMP\tICD9\txref\t1\nBTO\tEFO\tsubclass_of\t47\nRO\tRO\tINVERTED:has_subsequence\t1\nNCBITaxon\tEO\tsubclass_of\t3\nMONDO\tOMIMPS\tequivalent_to\t472\nGO\tUBERON\thas_input\t8\nUBERON\tUBERON\tanastomoses_with\t4\nENSEMBL\tSO\tsubclass_of\t110\nMONDO\tOBI\tequivalent_to\t1\nMESH\tGENEPIO\tsubclass_of\t5\nUMLS\tUMLS\tcomplicates\t42952\nDOID\tMEDDRA\txref\t33\nGENEPIO\tNCIT\tis_about\t10\nMONDO\tMONDO\tdisease_causes_feature\t7\nEFO\tPO\tequivalent_to\t1\nGO\tUBERON\ttransports_or_maintains_localization_of\t2\nUBERON\tFOODON\tINVERTED:has_defining_ingredient\t2\nUBERON\tGO\tparticipates_in\t8\nNCIT\tENVO\tsubclass_of\t6\nCL\tPR\thas_high_plasma_membrane_amount\t65\nGO\tSO\thas_input\t7\nMONDO\tDOID\txref\t9027\nPathWhiz.ElementCollection\tPathWhiz\tINVERTED:has_element_collection\t9096\nGO\tOBO\thas_primary_input\t20\nPathWhiz.NucleicAcid\tPathWhiz.Bound\tINVERTED:has_element_in_bound\t81\nMONDO\tHP\thas_modifier\t140\nOBO\tIDO\tsubclass_of\t1\nUBERON\tRO\tsub_property_of\t8\nSTATO\tIAO\tsubclass_of\t2\nNBO\tNBO\tregulates\t16\nNCIT\tUO\tsubclass_of\t2\nLOINC\tLOINC\thas_adjustment\t343\nEFO\tCHEBI\thas_role\t3\nOPL\tBTO\tsubclass_of\t1\nGO\tSO\ttransports_or_maintains_localization_of\t4\nGO\tPO\tresults_in_specification_of\t7\nEFO\tDOID\tsubclass_of\t6\nENSEMBL\tHGNC\tsame_as\t42691\nMONDO\tMFOEM\tdisease_causes_disruption_of\t1\nCHEMBL.COMPOUND\tNCBIGene\tpartial_agonist\t62\nFMA\tFMA\thas_development_type\t13\nPW\tOBO\tsubclass_of\t5\nNCIT\tNCIT\tgene_involved_in_pathogenesis_of_disease\t1115\nDOID\tBFO\tsubclass_of\t1\nOBO\tOGMS\tis_about\t1\nCHEBI\tGO\tINVERTED:process_has_causal_agent\t8\nPDQ\tUMLS\txref\t18972\nFBgn\tPR\tINVERTED:has_gene_template\t3954\nRXNORM\tRXNORM\tINVERTED:rxcui:consists_of\t26132\nUBERON\tUBERON\tin_proximal_side_of\t2\nHP\tUBERON\txref\t1\nGO\tNCBITaxon\thas_input\t10\nCL\tDOID\tINVERTED:has_material_basis_in\t41\nOBI\tCHEBI\tsubclass_of\t2\nFMA\tFMA\tlateral_to\t111\nPATO\tPATO\tdecreased_in_magnitude_relative_to\t2\nNDDF\tNDDF\thas_dose_form\t17997\nNCIT\tNCIT\tINVERTED:cdrh_parent_of\t666\nEFO\tGENEPIO\tsubclass_of\t1\nRXNORM\tRXNORM\trxcui:ingredient_of\t36788\nSNOMED\tSNOMED\thas_temporal_context\t5183\nRO\tEFO\tsub_property_of\t1\nGO\tSO\timports\t1\nNCBIGene\tNCBIGene\tpart_of\t128\nENVO\tPATO\thas_quality\t32\nFMA\tFMA\tarterial_supply_of\t622\nsgd\tPR\tINVERTED:has_gene_template\t5940\nSNOMED\tSNOMED\tuses_device\t4753\nFMA\tFMA\tinherent_3d_shape_of\t4\nNCBIGene\tOMIM\tsame_as\t17550\nCL\tNCBITaxon\tonly_in_taxon\t5\nENVO\tSIO\tsubclass_of\t1\nVANDF\tVANDF\tINVERTED:inverse_of_isa\t7426\nCL\tUBERON\tproduces\t6\nLOINC\tLOINC\tmember_of\t22330\nEO\tGENEPIO\tsubclass_of\t1\nUBERON\tUBERON\tconnected_to\t80\nHP\tUPHENO\tsubclass_of\t1\nUniProtKB\tGO\tacts_upstream_of_negative_effect\t5\nGO\tGO\tresults_in_fission_of\t8\nFMA\tFMA\tarticulates_with\t692\nEFO\tBTO\tsubclass_of\t217\nLOINC\tLOINC\thas_parent_group\t6515\nEFO\tOGMS\txref\t1\nGENEPIO\tMI\tsubclass_of\t15\nFMA\tFMA\tinverse_of_contains\t555\nPO\tPO\tparticipates_in\t7\nARO\tGENEPIO\tsubclass_of\t1\nENVO\tENVO\tpartially_surrounded_by\t1\nUniProtKB\tGO\tinvolved_in\t277260\nUniProtKB\tGO\tacts_upstream_of\t169\nUBERON\tUBERON\tINVERTED:inverse_of\t1\nUBERON\tUBERON\tINVERTED:has_skeleton\t38\nFMA\tFMA\tmerges_with\t6\nNCBIGene\tUMLS\tcompared_with\t26838\nOMIM\tOMIM\tallelic_variant_of\t29202\nOBO\tOBO\tnegatively_regulates\t1\nNCBIGene\tPR\tINVERTED:has_gene_template\t5701\nBAO\tCHEBI\tsubclass_of\t2\nGO\tFMA\txref\t10\nOBO\tOIO\tsubclass_of\t5\nPathWhiz.Compound\tCHEBI\tsame_as\t32541\nUBERON\tUBERON\tlocated_in\t152\nPDQ\tPDQ\tsubclass_of\t4291\nDOID\tICD10\txref\t8\nMESH\tMESH\tINVERTED:inverse_of_ro\t13058\nFMA\tFMA\tadheres_to\t7\nEFO\tEFO\tis_executed_in\t2\nPR\tPR\tsubclass_of\t300998\nMONDO\tMF\tdisease_causes_disruption_of\t3\nFOODON\tMONDO\tINVERTED:realized_in_response_to_stimulus\t17\nDOID\tGO\trealized_in_response_to_stimulus\t1\nDRUGBANK\tUMLS\tclinically_tested_withdrawn_phase_2_or_phase_3\t16\nGENEPIO\tUO\thas_measurement_unit_label\t3\nOBO\tOBO\tINVERTED:has_participant\t1\nPathWhiz.Reaction\tUniProtKB\thas_right_element\t12\nUBERON\tUBERON\tin_dorsal_side_of\t6\nUniProtKB\tOMIM\tassociated_with_disease\t2132\nNCBITaxon\tEFO\tsubclass_of\t4\nPR\tGO\tINVERTED:has_primary_input_or_output\t3\nEFO\tSYMP\txref\t2\nFMA\tFMA\tconnected_to\t140\nCHEBI\tFOODON\tINVERTED:has_ingredient\t3\nCHEBI\tPathWhiz\tINVERTED:has_element_collection\t1418\nLOINC\tLOINC\tassociated_with\t1016\nEFO\tMESH\txref\t1631\nNBO\tNBO\tpart_of\t1\nUMLS\tNCBIGene\txref\t34858\nMONDO\tEFO\tdisease_shares_features_of\t1\nNBO\tGO\tpart_of\t2\nGO\tPATO\txref\t1\nSNOMED\tSNOMED\thas_direct_procedure_site\t33347\nUBERON\tAEO\txref\t109\nSYMP\tBFO\tsubclass_of\t1\nGO\tUBERON\tINVERTED:has_part\t43\nFOODON\tPO\tmember_of\t1\nFMA\tFMA\tINVERTED:location_of\t1\nIDO\tBFO\tsubclass_of\t9\nUBERON\tUBERON\thas_muscle_origin\t210\nUBERON\tENVO\txref\t2\nPathWhiz.Reaction\tUniProtKB\thas_left_element\t13\nORPHANET\tORPHANET\torphanet:317343\t4581\nUBERON\tUBERON\tin_ventral_side_of\t5\nSNOMED\tSNOMED\thas_presentation_strength_denominator_unit\t1294\nUBERON\tPR\tproduces\t5\nNCIT\tEFO\tsubclass_of\t3\nENVO\tCHEBI\thas_role\t3\nUMLS\tNCBIGene\tmeasures\t13930\nGO\tUBERON\thas_target_start_location\t2\nUBERON\tUBERON\tskeleton_of\t35\nMONDO\tMONDO\thas_modifier\t867\nFOODON\tDOID\tINVERTED:has_allergic_trigger\t25\nFMA\tFMA\tprimary_segmental_supply_of\t24\nUBERON\tUBERON\tin_central_side_of\t1\nPATO\tPATO\treciprocal_of\t8\nFMA\tFMA\tinferior_to\t401\nUMLS\tUMLS\tprecedes\t149791\nNCIT\tNCIT\tbiological_process_has_result_chemical_or_drug\t32\nCL\tCARO\txref\t2\nSNOMED\tSNOMED\tplays_role\t4304\nCHEBI\tENVO\tINVERTED:has_part\t3\nSO\tPR\tINVERTED:has_part\t6\nGO\tDDANAT\txref\t1\nMONDO\tHP\tdisease_has_basis_in_feature\t42\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tphysically_interacts_with\t4538\nFMA\tFMA\tsends_output_to\t800\nNCBITaxon\tENVO\tINVERTED:determined_by\t3\nGO\tCL\thas_target_end_location\t2\nFBbt\tEFO\tsubclass_of\t77\nMONDO\tEFO\tdisease_has_basis_in_feature\t23\nORPHANET\tKEGG\txref\t4\nUMLS\tUMLS\taugments\t451409\nSNOMED\tSNOMED\ttemporally_related_to\t60\nDOID\tORPHANET\tsubclass_of\t1\nUMLS\tNCBIGene\tprocess_of\t27799\nRXNORM\tRXNORM\trxcui:ingredients_of\t4352\nGO\tGO\thas_target_end_location\t268\nDRUGBANK\tUMLS\tclinically_tested_suspended_phase_1_or_phase_2\t30\nNCBIGene\tUMLS\tcoexists_with\t77418\nGO\tNBO\tINVERTED:in_response_to\t12\nGENEPIO\tARO\tsubclass_of\t4\nICD9\tICD9\tsubclass_of\t22402\nHMDB\tUniProtKB\thas_protein_association\t332823\nNCIT\tOMIT\tsubclass_of\t1\nDRUGBANK\tUMLS\tclinically_tested_withdrawn_phase_3\t81\nOBO\tEFO\tsubclass_of\t7\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tinverse_agonist\t11\nPomBase\tNCBITaxon\tonly_in_taxon\t5124\nENVO\tENVO\tINVERTED:contains_process\t1\nSNOMED\tSNOMED\tuses_energy\t314\nORPHANET\tOMIMPS\txref\t300\nFOODON\tFOODON\tINVERTED:has_defining_ingredient\t190\nPO\tPO\tsubclass_of\t531\nEFO\tPO\tpart_of\t1\nNBO\tPATO\tsubclass_of\t1\nNCBIGene\tUMLS\tdisrupts\t64071\nMONDO\tSNOMED\tequivalent_to\t9000\nDRUGBANK\tKEGG\texternal_identifier\t1670\nBFO\tBFO\tINVERTED:inverse_of\t3\nCHEMBL.COMPOUND\tNCBIGene\tagonist\t2960\nHMDB\tMESH\tat_tissue\t2301\nBTO\tBTO\tderives_from\t2\nUniProtKB\tUniProtKB\tregulates_expression_of\t237781\nOBI\tEFO\tINVERTED:has_input\t2\nEFO\tOBO\tpart_of\t5\nCHEBI\tCHEBI\tis_substituent_group_from\t1267\nORPHANET\tEFO\tsubclass_of\t850\nCHEMBL.COMPOUND\tDOID\tcontraindicated_for\t9264\nUBERON\tNBO\tINVERTED:by_means\t6\nENVO\tCHEBI\tderives_from\t1\nttd.target\tNCBIGene\tantisense\t22\nSNOMED\tSNOMED\thas_interpretation\t12748\nUMLS\tUMLS\tuses\t386689\nUBERON\tUBERON\tINVERTED:has_component\t8\nMONDO\tORPHANET\tpredisposes_towards\t4\nARO\tGENEPIO\tINVERTED:specifies_value_of\t2\nFMA\tFMA\tsuperior_to\t399\nFMA\tFMA\thas_related_developmental_entity\t15\nEFO\tHP\thas_phenotype\t3\nGO\tUBERON\tINVERTED:contains_process\t28\nMONDO\tHP\tequivalent_to\t5\nSNOMED\tSNOMED\thas_severity\t38\nUBERON\tUBERON\tinnervates\t105\nGO\tCL\txref\t258\nMONDO\tOMIM\txref\t8869\nGO\tGO\tcausally_upstream_of\t3\nFOODON\tFOODON\thas_food_substance_analog\t14\nSNOMED\tSNOMED\tspecimen_procedure_of\t944\nMONDO\tHP\tdisease_has_feature\t709\nMONDO\tEFO\tequivalent_to\t2850\nEFO\tUBERON\toccurs_in\t1\nGENEPIO\tNCIT\tbefore\t1\nIAO\tOIO\ttype\t1\nSYMP\tDOID\tINVERTED:disease_has_basis_in\t2\nGO\tGO\txref\t4\nRGD\tNCBITaxon\tonly_in_taxon\t8114\nNCBIGene\tOMIM\tgene_mutations_contribute_to\t4\nUBERON\tUBERON\ttransformation_of\t47\nUBERON\tGO\tsimultaneous_with\t11\nMONDO\tEFO\tdisease_has_feature\t15\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tinhibitor\t2414\nGO\tUBERON\tresults_in_development_of\t588\nEFO\tEFO\tderives_from\t15\nDRUGBANK\tUMLS\tclinically_tested_terminated_phase_0\t29\nMONDO\tMFOMD\trealized_in\t6\nUMLS\tUMLS\tdisrupts\t433181\nSNOMED\tSNOMED\thas_scale_type\t527\nLOINC\tLOINC\thas_imaged_location\t6361\nDOID\tCL\tlocated_in\t10\nttd.target\tNCBIGene\tbinder\t28\nGO\tPO\toccurs_in\t10\nHGNC\tSO\tsubclass_of\t19874\nMGI\tNCBITaxon\tonly_in_taxon\t16846\nFMA\tFMA\tdirect_left_of\t275\nBSPO\tBSPO\topposite_to\t3\nUMLS\tUMLS\tcoexists_with\t1402013\nNCIT\tNCIT\tgene_mutant_encodes_gene_product_sequence_variation\t809\nSIO\tIAO\tsubclass_of\t4\nUBERON\tCL\tpart_of\t6\nMONDO\tICD9\txref\t5741\nBTO\tBTO\tINVERTED:develops_from\t1\nECTO\tRO\tsubclass_of\t4\nPR\tPR\tINVERTED:has_gene_template\t61\nGO\tPR\thas_input\t292\nENVO\tENVO\thas_output\t10\nOBI\tGENEPIO\tsubclass_of\t22\nOAE\tGENEPIO\tsubclass_of\t1\nUBERON\tGO\tpart_of\t11\nPR\tSO\tlacks_part\t3240\nNCIT\tNCIT\tbiological_process_has_associated_location\t545\nUniProtKB\tDOID\tgene_associated_with_condition\t33361\nFMA\tFMA\tdistal_to\t159\nEFO\tGARD\txref\t555\nUBERON\tUBERON\tends\t1\nENVO\tENVO\tINVERTED:has_part\t17\nOBO\tPATO\tbearer_of\t1\nBFO\tOIO\tsubclass_of\t1\nDOID\tGO\tdisease_has_location\t3\nOBO\tOBO\timmediately_preceded_by\t5\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tblocker\t149\nGO\tFAO\tresults_in_development_of\t10\nNCBIGene\tHP\thas_phenotype\t60\nGO\tPR\ttransports_or_maintains_localization_of\t9\nFMA\tFMA\thas_direct_cell_shape\t2\nCL\tUBERON\thas_soma_location\t5\nUMLS\tUMLS\tclass_code_classified_by\t61\nMONDO\tMONDO\tdisease_shares_features_of\t49\nECTO\tMONDO\tINVERTED:realized_in_response_to_stimulus\t6\nFOODON\tPATO\tsubclass_of\t6\nCHEMBL.COMPOUND\tMESH\ttreats\t27892\nCL\tUBERON\thas_synaptic_terminal_in\t2\nERO\tGENEPIO\tsubclass_of\t1\nUBERON\tEFO\tsubclass_of\t311\nAraPort\tSO\tsubclass_of\t15919\nOBI\tBTO\tsubclass_of\t1\nPR\tPR\tINVERTED:has_component\t390\nCL\tCL\tINVERTED:develops_from\t380\nSNOMED\tSNOMED\tassociated_with\t3952\nCHEBI\tFOODON\tsubclass_of\t200\nMF\tMONDO\tINVERTED:disease_has_basis_in_disruption_of\t1\nCL\tFMA\txref\t701\nPR\tUBERON\tINVERTED:has_part\t6\nHP\tBFO\tsubclass_of\t3\nNCBIGene\tUMLS\tdiagnoses\t6\nNCBIGene\tUMLS\tinhibits\t68254\nNCIT\tNCIT\tgenetic_biomarker_related_to\t2607\nPECO\tPECO\tsubclass_of\t8\nUBERON\tEFO\txref\t613\nOGMS\tGENEPIO\tsubclass_of\t1\nLOINC\tLOINC\thas_lateral_location_presence\t3480\nOBI\tEFO\tpart_of\t2\nUMLS\tUMLS\tcompared_with\t348640\nOMIT\tNCIT\tsubclass_of\t2\nARO\tARO\tsubclass_of\t40\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tproteolytic_enzyme\t6\nNBO\tNBO\tsubclass_of\t985\nHP\tMESH\txref\t3\nLOINC\tLOINC\tclass_of\t45064\nNBO\tGO\tsubclass_of\t14\nNCIT\tCHEBI\tsubclass_of\t7\nSNOMED\tSNOMED\thas_specimen_source_morphology\t154\nCHEBI\tEFO\thas_role\t83\nCHEBI\tCHEBI\tis_conjugate_acid_of\t8028\nEFO\tFMA\txref\t57\nLOINC\tLOINC\thas_modality_type\t6030\nFMA\tEFO\tsubclass_of\t1\nPATO\tGENEPIO\tINVERTED:specifies_value_of\t1\nOBI\tUBERON\tINVERTED:produced_by\t1\nUO\tBFO\tsubclass_of\t1\nEFO\tCL\thas_disease_location\t59\nENVO\tENVO\tresults_in_formation_of\t2\nBAO\tGENEPIO\tsubclass_of\t1\nGO\tPR\timports\t1\nNCIT\tNCIT\tgene_is_element_in_pathway\t6246\nCL\tGO\thas_high_plasma_membrane_amount\t15\nGO\tGO\tresults_in_transport_along\t6\nSO\tCHEBI\tsubclass_of\t7\nSNOMED\tSNOMED\trelative_to_part_of\t2\nGENEPIO\tGENEPIO\tlocated_in\t2\nFMA\tFMA\thas_branch\t6906\nFMA\tFMA\tanteromedial_to\t22\nGO\tMI\tsubclass_of\t2\nGO\tPO\tresults_in_acquisition_of_features_of\t31\nUBERON\tPATO\thas_quality\t75\nMONDO\tMONDO\tdisease_has_basis_in_feature\t68\nOBI\tOBI\tis_about\t1\nUniProtKB\tCHEBI\tphysically_interacts_with\t29920\nTypOn\tGENEPIO\tsubclass_of\t1\nFMA\tFMA\tposterolateral_to\t12\nHP\tMP\txref\t1\nDOID\tDOID\thas_symptom\t9\nPathWhiz.Compound\tPathWhiz.Bound\tINVERTED:has_element_in_bound\t142\nGENEPIO\tSTATO\tis_about\t1\nUBERON\tUBERON\tpostaxialmost_part_of\t5\nSNOMED\tSNOMED\thas_specimen\t3075\nHMDB\tOMIM\tdisease\t4222\nIDO\tOGMS\tsubclass_of\t1\nOBO\tCHEBI\tsubclass_of\t5\nLOINC\tLOINC\thas_lateral_anatomic_location\t3498\nGO\tCHEBI\thas_primary_output\t1168\ndictybase.gene\tPR\tINVERTED:has_gene_template\t4540\nRO\tRO\tsubclass_of\t2\nUO\tIAO\tsubclass_of\t2\nDOID\tUBERON\thas_disease_location\t1\nMONDO\tmedgen\tequivalent_to\t2582\nLOINC\tLOINC\tmultipart_of\t21095\nMONDO\tUMLS\tequivalent_to\t14023\nEFO\tPATO\txref\t8\nORPHANET\tORPHANET\torphanet:327767\t309\nOIO\tIAO\tsubclass_of\t1\nFMA\tFMA\tadjacent_to\t22\nCPT\tCPT\tmapped_to\t191\nNCBIGene\tDOID\tassociated_with_disease\t110\nBTO\tGENEPIO\tsubclass_of\t1\nGO\tUBERON\thas_output\t1\nCPT\tCPT\thas_possibly_included_panel_element\t1\nCL\tUBERON\tadjacent_to\t6\nFMA\tFMA\tanterolateral_to\t18\nUniProtKB\tUBERON\texpressed_in\t323101\nDOID\tGO\trealized_in_response_to\t6\nSNOMED\tSNOMED\tINVERTED:has_component\t4159\nLOINC\tLOINC\thas_exam\t454\nHANCESTRO\tBFO\tsubclass_of\t1\nORPHANET\tMONDO\tsubclass_of\t3400\nGENEPIO\tSO\tis_about\t7\nSNOMED\tSNOMED\tINVERTED:has_definitional_manifestation\t13\nNCIT\tNCIT\tgene_found_in_organism\t1840\nGO\tUBERON\tresults_in_growth_of\t20\nUMLS\tUMLS\tstimulates\t663742\nENVO\tENVO\tINVERTED:output_of\t3\nEFO\tUBERON\tis_about\t341\nSNOMED\tSNOMED\thas_technique\t155\nBFO\tEFO\tsubclass_of\t4\nGO\tSO\thas_output\t6\nUBERON\tUBERON\tdirectly_develops_from\t1\nHMDB\tSMPDB\tin_pathway\t482060\nCHEBI\tFOODON\tINVERTED:composed_primarily_of\t3\nMONDO\tRO\tsub_property_of\t1\nEFO\tCHEBI\tlocated_in\t1\nNCIT\tNCIT\tINVERTED:is_normal_cell_origin_of_disease\t18809\nUBERON\tUBERON\ttributary_of\t35\nCHEMBL.COMPOUND\tNCBIGene\tactivator\t316\nGO\tUBERON\tINVERTED:site_of\t16\nGO\tUBERON\tresults_in_transport_to_from_or_in\t2\nBTO\tBTO\tsubclass_of\t7\nFMA\tFMA\tbranch_of\t7586\nPO\tPO\tadjacent_to\t1\nUBERON\tEHDAA2\txref\t1386\nMEDDRA\tMEDDRA\tsubclass_of\t36911\nGENEPIO\tCHMO\tsubclass_of\t5\nSYMP\tSYMP\tsubclass_of\t847\nECTO\tMONDO\tINVERTED:realized_in_response_to\t33\nMONDO\tMONDO\tdisease_has_feature\t298\nLOINC\tLOINC\thas_modality_subtype\t1083\nBSPO\tBSPO\tsub_property_of\t15\nEFO\tUBERON\tinheres_in\t7\nHMDB\tFMA\tat_tissue\t4175\nFMA\tUMLS\txref\t104400\nUBERON\tUBERON\tdrains\t79\nHANCESTRO\tIAO\tsubclass_of\t1\nCL\tGO\thas_not_completed\t12\nOBI\tERO\tsubclass_of\t3\nICO\tGENEPIO\tsubclass_of\t1\nGO\tFAO\tresults_in_growth_of\t1\nPATO\tPATO\tincreased_in_magnitude_relative_to\t4\nNCBIGene\tNCBIGene\tsame_as\t142\nNCIT\tNCIT\tallele_absent_from_wild_type_chromosomal_location\t1\nUMLS\tUMLS\tassociated_with\t699263\nGENEPIO\tNCBITaxon\tis_about\t4\nFMA\tFMA\thas_segmental_composition\t2\nwb\tPR\tINVERTED:has_gene_template\t4479\nIAO\tOBO\tinverse_of\t1\nCL\tUBERON\tlocated_in\t83\nNCIT\tNCIT\tgene_product_plays_role_in_biological_process\t21782\nGAZ\tGENEPIO\tsubclass_of\t16\nEFO\tORPHANET\tdisease_has_basis_in_feature\t1\nGENEPIO\tGENEPIO\tINVERTED:has_component\t38\nGO\tCL\tresults_in_commitment_to\t57\nBSPO\tBSPO\thas_axis\t6\nERO\tERO\tsubclass_of\t2\nUBERON\tUMLS\txref\t2836\nNCIT\tNCIT\tallele_in_chromosomal_location\t104\nUBERON\tUBERON\tdevelops_from_part_of\t5\nNCIT\tNCIT\tdisease_has_primary_anatomic_site\t11480\nUBERON\tNBO\tcapable_of\t2\nPR\tGO\tsubclass_of\t360\nUBERON\tGO\tcapable_of\t122\nNCBIGene\tUMLS\tproduces\t25911\nGO\tMONDO\tINVERTED:disease_has_basis_in_dysfunction_of\t30\nLOINC\tLOINC\thas_suffix\t33614\nMESH\tMONDO\tequivalent_to\t7860\nUBERON\tGO\tfunctionally_related_to\t4\nHCPCS\tHCPCS\tsubclass_of\t6944\nFOODON\tFOODON\tsubclass_of\t23328\nGO\tPO\tresults_in_structural_organization_of\t8\nGO\tGO\tcapable_of_part_of\t298\nGENEPIO\tSIO\tsubclass_of\t8\nFMA\tFMA\tsecondary_segmental_supply_of\t2\nORPHANET\tHP\txref\t87\nNCIT\tNCIT\tINVERTED:complex_has_physical_part\t616\nGEO\tGEO\tsubclass_of\t1\nOBO\tCL\tINVERTED:has_part\t3\nCHEBI\tOBI\tsubclass_of\t1\nCL\tGO\txref\t1\nPO\tPO\tlocated_in\t3\nGO\tGO\tisa\t6463\nEFO\tNCBITaxon\tinheres_in\t9\ndictybase.gene\tNCBITaxon\tonly_in_taxon\t4540\nENVO\tENVO\thas_quality\t4\nEFO\tEFO\tINVERTED:develops_from\t1\nUBERON\tUBERON\tchannels_into\t18\nORPHANET\tEFO\txref\t61\nNCIT\tNCIT\thuman_disease_maps_to_eo_disease\t1829\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tmodulator\t85\nVT\tIAO\tsubclass_of\t1\nGO\tSO\thas_primary_input\t17\nFMA\tFMA\thas_secondary_segmental_supply\t79\nEFO\tCL\txref\t12\nHP\tGARD\txref\t1\nUMLS\tUMLS\tINVERTED:inverse_of_rn\t115122\nUMLS\tNCBIGene\tconverts_to\t1690\nGO\tUBERON\tresults_in_specification_of\t4\nGENEPIO\tOBO\tsubclass_of\t1\nGENEPIO\tGAZ\tlocated_in\t1\nHP\tORPHANET\tsubclass_of\t2\nUBERON\tUBERON\tconnects\t524\nEFO\tGO\txref\t6\nMONDO\tHP\tsubclass_of\t1\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tcross_linking_agent\t33\nSNOMED\tSNOMED\thas_method\t60209\nSNOMED\tSNOMED\thas_presentation_strength_numerator_unit\t4305\nCHEBI\tPathWhiz\tINVERTED:has_compound\t1567712\nCHEBI\tCHEBI\thas_role\t39604\nUBERON\tUBERON\tbranching_part_of\t47\nMONDO\tEFO\tsubclass_of\t1906\nNCBITaxon\tEFO\tINVERTED:has_participant\t16\nEHDAA2\tOBO\texistence_ends_during\t2367\nFOODON\tFOODON\thas_consumer\t6\nUBERON\tZFA\txref\t33\nFOODON\tPO\tderives_from\t5\nSNOMED\tSNOMED\thas_inherent_attribute\t156\nGTPI\tNCBIGene\taffects\t97\nORPHANET\tMONDO\tdisease_shares_features_of\t1\nGAZ\tGENEPIO\ttype\t56\nCHEBI\tCHEBI\tINVERTED:has_part\t3773\nBSPO\tBSPO\tsubclass_of\t179\nUPHENO\tPATO\tsubclass_of\t1\nDRUGBANK\tUMLS\tclinically_tested_suspended_phase_2_or_phase_3\t29\nGO\tGO\timmediately_preceded_by\t7\nPO\tFOODON\tINVERTED:has_part\t1\nUBERON\tUBERON\tattaches_to_part_of\t2\nEFO\tEFO\thas_quality\t10\nUBERON\tUBERON\tanterior_to\t11\nNCIT\tNCIT\tdisease_has_metastatic_anatomic_site\t140\nBSPO\tBSPO\tsurface_of\t12\nGO\tPO\tresults_in_formation_of\t17\nMONDO\tOMOP\tequivalent_to\t1590\nNCBIGene\tCL\texpressed_in\t20\nFBbt\tFBbt\tsubclass_of\t12\nCL\tPR\tlacks_plasma_membrane_part\t454\nDOID\tGO\tdisease_causes_disruption_of\t27\nGO\tUBERON\thas_end_location\t1\nFMA\tFMA\treceives_drainage_from\t195\nNCBITaxon\tUMLS\txref\t1776528\nNCIT\tDOID\tsubclass_of\t1\nHMDB\tMESH\tin_biospecimen\t19\nUMLS\tUMLS\towning_subsection_of\t42\nDOID\tMESH\txref\t3539\nGO\tCL\tresults_in_morphogenesis_of\t10\nNCIT\tPCO\tsubclass_of\t2\nMONDO\tOncoTree\tequivalent_to\t556\nCL\tUBERON\tpart_of\t690\nVCARD\tIAO\tsubclass_of\t1\nGO\tUBERON\thas_start_location\t1\nOBOREL\tRO\tsub_property_of\t1\nBTO\tPATO\tbearer_of\t1\nENVO\tENVO\thas_input\t9\nSIO\tGENEPIO\tINVERTED:specifies_value_of\t2\nUBERON\tBTO\tINVERTED:develops_from\t4\nNCIT\tNCIT\tdisease_has_normal_tissue_origin\t19638\nGO\tGO\tresults_in_morphogenesis_of\t12\nCHEBI\tPathWhiz\tINVERTED:has_nucleic_acid\t816\nCHEMBL.COMPOUND\tUniProtKB\ttargets\t39678\nFMA\tFMA\tmatures_into\t76\nGO\tGO\tINVERTED:negatively_regulated_by\t1632\nUMLS\tUMLS\tinteracts_with\t1297335\nSO\tOBI\tis_about\t2\nFMA\tFMA\tproximal_to\t106\nBSPO\tFMA\txref\t7\nBSPO\tBSPO\tleft_of\t1\nPR\tMOD\tsubclass_of\t2\nSNOMED\tSNOMED\thas_precondition\t14\nMEDDRA\tMEDDRA\tclassified_as\t47649\nEFO\tPO\tsubclass_of\t19\nENVO\tBFO\tsubclass_of\t16\nPR\tGO\tINVERTED:process_has_causal_agent\t5\nUBERON\tUBERON\tinnervated_by\t143\nGENEPIO\tNCIT\tsubclass_of\t33\nttd.target\tNCBIGene\taffects\t6\nHMDB\tCL\tat_tissue\t7\nGO\tOBA\tnegatively_regulates\t11\nMP\tICD10\txref\t2\nPATO\tCARO\txref\t2\nPR\tGO\tINVERTED:has_participant\t3\nFOODON\tFOODON\thas_substance_added\t1\nNCIT\tGENEPIO\tsubclass_of\t38\nUBERON\tUBERON\tin_right_side_of\t49\nPR\tPR\tlacks_part\t3181\nMONDO\tCL\tdisease_causes_dysfunction_of\t4\nOMIM\tMONDO\tequivalent_to\t8717\nUMLS\tUMLS\taffects\t1521984\nNCIT\tNCIT\tgene_has_physical_location\t989\nHGNC\tUMLS\txref\t41638\nUBERON\tUBERON\tINVERTED:composed_primarily_of\t136\nGAZ\tGAZ\tsubclass_of\t273\nUBERON\tUBERON\tpreaxialmost_part_of\t11\nBSPO\tBSPO\tinverse_of\t18\nOBO\tPCO\tsubclass_of\t1\nEFO\tORPHANET\tis_about\t12\nICD9\tMONDO\tequivalent_to\t1883\nSO\tGENEPIO\tsubclass_of\t4\nNCIT\tNCIT\tgene_associated_with_disease\t2175\nCHEBI\tCHEBI\tinheres_in\t41\nttd.target\tNCBIGene\tblocker\t21\nUBERON\tUBERON\tstarts\t3\nORPHANET\tMONDO\tequivalent_to\t9149\nUMLS\tUMLS\thas_structural_class\t2\nGO\tGO\tnegatively_regulates\t4659\nFMA\tFMA\tconnection_type_of\t4\nDOID\tGENEPIO\tINVERTED:specifies_value_of\t1\nPO\tEFO\tpart_of\t10\nNCIT\tMONDO\tequivalent_to\t6777\nFAO\tFAO\tpart_of\t4\nFMA\tFMA\tefferent_to\t820\nPO\tMONDO\tINVERTED:realized_in_response_to_stimulus\t1\nORPHANET\tUMLS\txref\t6226\nCHEBI\tFOODON\tINVERTED:has_defining_ingredient\t2\nUMLS\tNCBIGene\tINVERTED:location_of\t26952\nFMA\tFMA\tposterior_to\t403\nLOINC\tLOINC\tcomponent_of\t126098\nDRUGBANK\tUMLS\tclinically_tested_terminated_phase_2\t1043\nLOINC\tLOINC\tINVERTED:has_member\t22838\nLOINC\tLOINC\tsubclass_of\t250116\nGO\tCARO\tresults_in_development_of\t1\nFLU\tGENEPIO\tsubclass_of\t1\nMF\tMF\tsubclass_of\t8\nOBO\tGENEPIO\tsubclass_of\t3\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tpositive_allosteric_modulator\t67\nNCBIGene\tHGNC\tsame_as\t40970\nPR\tPR\tINVERTED:has_part\t154\nCHEBI\tEFO\tINVERTED:has_input\t14\nHP\tMP\tsubclass_of\t5\nHMDB\tCHEBI\tsame_as\t4846\nGO\tCL\thas_input\t64\nOMP\tNCIT\tis_about\t1\nFMA\tFMA\thas_arterial_supply\t599\nMONDO\tDOID\tequivalent_to\t9000\nCL\tOBO\tINVERTED:has_participant\t3\nEFO\tCHEBI\thas_output\t1\nMONDO\tUMLS\tsubclass_of\t1\nNCIT\tNCIT\teo_disease_has_property_or_attribute\t277\nNCBIGene\tOMIM\tassociated_with_disease\t25\nCHEBI\tOIO\tsubclass_of\t1\nCL\tPR\texpresses\t6\nCHEBI\tNBO\tINVERTED:has_participant\t10\nFOODON\tFOODON\tpart_of\t1\nGO\tGO\thas_input\t116\nFMA\tFMA\tmedial_to\t130\nBSPO\tBSPO\tfollows_axis\t4\nCHEBI\tGO\tINVERTED:has_participant\t23\nFMA\tFMA\tbounds\t1465\nORPHANET\tEFO\tdisease_has_major_feature\t1\nGO\tCL\ttransports_or_maintains_localization_of\t4\nCHEBI\tSO\tequivalent_to\t3\necogene\tPR\tINVERTED:has_gene_template\t4019\nPomBase\tPR\tINVERTED:has_gene_template\t5172\nCHEBI\tBFO\tequivalent_to\t1\nPathWhiz.Bound\tPathWhiz\tINVERTED:has_bound\t946\nORPHANET\tMONDO\txref\t5779\nPathWhiz\tGO\thas_location\t3066986\nMONDO\tNCIT\txref\t6793\nMONDO\tMONDO\tINVERTED:realized_in_response_to_stimulus\t2\nGO\tGO\ttransports_or_maintains_localization_of\t61\nPCO\tENVO\tINVERTED:has_part\t1\nOBO\tOBI\tis_about\t1\nLOINC\tLOINC\thas_system\t129358\nPCO\tPCO\tsubclass_of\t10\nATC\tATC\tsubclass_of\t6317\nMONDO\tNBO\trealized_in\t1\nwb\tNCBITaxon\tonly_in_taxon\t4479\nMONDO\tGO\trealized_in\t9\nSMPDB\tPathWhiz\tsame_as\t110216\nNCIT\tNCIT\tis_abnormal_cell_of_disease\t49398\nRO\tOBOREL\tsub_property_of\t2\nDOID\tUBERON\tderives_from\t18\nMONDO\tMONDO\tsubclass_of\t38341\nRGD\tSO\tsubclass_of\t8114\nRO\tOBOREL\tinverse_of\t1\nUBERON\tFBbt\txref\t4\nCHEBI\tENVO\tINVERTED:composed_primarily_of\t10\nUBERON\tUBERON\thas_developmental_contribution_from\t103\nSNOMED\tSNOMED\thas_pathological_process\t16823\nEHDAA2\tAEO\tpart_of\t36\nGO\tOBO\texports\t4\nHANCESTRO\tdbpedia\tis_demonym_of\t9\nGO\tUBERON\tINVERTED:composed_primarily_of\t25\nORPHANET\tORPHANET\torphanet:410296\t196\nDRUGBANK\tCHEBI\texternal_identifier\t5052\nCHEBI\tCHEBI\thas_parent_hydride\t1623\nPCO\tGENEPIO\tsubclass_of\t1\nRXNORM\tRXNORM\tINVERTED:rxcui:has_part\t3759\nPR\tPR\tequivalent_to\t8\nFMA\tFMA\tINVERTED:transforms_from\t22\nHP\tCL\txref\t4\nEFO\tKEGG\txref\t26\nHANCESTRO\tHANCESTRO\thas_ancestry_status\t2\nLOINC\tLOINC\thas_count\t148\nFOODON\tFOODON\tINVERTED:has_member\t11\nRXNORM\tRXNORM\trxcui:has_doseformgroup\t17677\nCL\tPR\tlacks_part\t10\nNCIT\tNCIT\tcytogenetic_abnormality_involves_chromosome\t684\nEHDAA2\tCARO\tsubclass_of\t927\nHP\tGO\txref\t3\nBSPO\tBSPO\tstarts_axis\t7\nGO\tGO\timports\t2\nUBERON\tMONDO\tINVERTED:disease_has_basis_in_dysfunction_of\t22\nUMLS\tUMLS\tmay_be_qualified_by\t20\nEFO\tUBERON\tpart_of\t22\nARO\tNCIT\tsubclass_of\t3\nSO\tGO\tINVERTED:process_has_causal_agent\t5\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tantisense_inhibitor\t2\nEFO\tOMIMPS\txref\t47\nUBERON\tUBERON\tdistal_to\t2\nNCBIGene\tNCBIGene\tstimulates\t20660\nEFO\tOBI\txref\t1\nARO\tGENEPIO\tequivalent_to\t1\nSNOMED\tSNOMED\tcausative_agent_of\t18961\nDOID\tGARD\txref\t1\nEFO\tPR\tis_about\t3\nUBERON\tUBERON\tproximally_connected_to\t55\nPR\tGO\tinvolved_in\t3\nCLO\tEFO\tbearer_of\t8\nLOINC\tLOINC\thas_divisor\t5470\nNCIT\tNCIT\tchemical_or_drug_affects_abnormal_cell\t28\nFMA\tFMA\thas_lymphatic_drainage\t759\nUBERON\tUBERON\tin_distal_side_of\t2\nPO\tBFO\tsubclass_of\t46\nENVO\tNCIT\tlocated_in\t1\nFMA\tFMA\tlymphatic_drainage_of\t764\nICD10\tUMLS\txref\t109975\nNCIT\tNCIT\tneoplasm_has_special_category\t105\nUBERON\tUBERON\tintersects_midsagittal_plane_of\t27\nCL\tGO\tproduces\t14\nRO\tRO\tINVERTED:inverse_of\t6\nFOODON\tENVO\tsubclass_of\t9\nPomBase\tSO\tsubclass_of\t5124\nUBERON\tGENEPIO\tsubclass_of\t5\nKEGG\tCHEBI\tsame_as\t2516\nMEDDRA\tMEDDRA\tINVERTED:has_member\t17338\nGO\tGO\timmediately_precedes\t4\nNBO\tUBERON\tINVERTED:output_of\t1\nFMA\tFMA\treceives_input_from\t676\nOMIT\tBFO\tsubclass_of\t1\nCHEMBL.COMPOUND\tNCBIGene\tinverse_agonist\t23\nRXNORM\tRXNORM\tINVERTED:rxcui:has_ingredient\t38040\nCHEBI\tCHEBI\tis_conjugate_base_of\t8028\nFMA\tFMA\thas_fusion\t4\nPathWhiz.Reaction\tPathWhiz.ElementCollection\thas_right_element\t1584\nNCBIGene\tUMLS\tpredisposes\t23510\nCHEBI\tEFO\tsubclass_of\t223\nOBO\tMI\tsubclass_of\t15\nHMDB\tFMA\tin_biospecimen\t49\nNCIT\tNCIT\tis_qualified_by\t1\nMI\tMI\tsubclass_of\t101\nCHEMBL.COMPOUND\tCHEMBL.TARGET\tallosteric_antagonist\t1\nGO\tUBERON\toccurs_in\t69\nBSPO\tBSPO\tanterior_to\t1\nIAO\tBFO\tsub_property_of\t2\nEFO\tNCBITaxon\tpart_of\t6\nUBERON\tGO\tlocated_in\t1\nEFO\tORPHANET\tINVERTED:has_part\t1\nPR\tGO\tcapable_of\t25\nGEO\tGENEPIO\tsubclass_of\t2\nECOCORE\tECOCORE\tsubclass_of\t8\nDRUGBANK\tUMLS\tclinically_tested_terminated_phase_1\t499\nGO\tOBO\tsubclass_of\t2\nORPHANET\tEFO\tpredisposes_towards\t4\nUBERON\tEFO\tpart_of\t3\nEFO\tUBERON\tinheres_in_part_of\t13\nCL\tCL\tsynapsed_by\t4\nDRUGBANK\tPathWhiz.Bound\tINVERTED:has_element_in_bound\t6\nOMIT\tIAO\tsubclass_of\t1\nMONDO\tMEDDRA\txref\t3\nUBERON\tBTO\txref\t7\nGO\tPATO\tbearer_of\t5\nFMA\tFMA\tright_lateral_to\t4\nGO\tPR\thas_primary_input\t2\nCL\tAEO\txref\t1\nGO\tGO\tinverse_ends_during\t1\nSNOMED\tSNOMED\thas_dose_form_transformation\t274\nPathWhiz.Reaction\tPathWhiz.ElementCollection\thas_left_element\t1625\nNCIT\tNCIT\tgene_product_has_associated_anatomy\t5253\nUMLS\tUMLS\thas_context_binding\t68\nGENEPIO\tGENEPIO\tINVERTED:has_part\t4\nFOODON\tOIO\tsubclass_of\t11\nIAO\tIAO\tsub_property_of\t1\nUniProtKB\tPathWhiz.ProteinComplex\tINVERTED:has_protein_in_complex\t1903\nCHEMBL.COMPOUND\tNCBIGene\tinhibitor\t5750\nFMA\tFMA\tdevelopment_type_of\t13\nNCIT\tNCIT\thas_nichd_parent\t4081\nGO\tCL\tINVERTED:has_part\t98\nbiolink\tbiolink\tsub_property_of\t141\nDDANAT\tCARO\txref\t4\nORPHANET\tMONDO\tdisease_has_major_feature\t1\nUBERON\tUBERON\timmediately_posterior_to\t1\nOBI\tSIO\tsubclass_of\t1\nGO\tGO\tINVERTED:has_part\t4860\nCHMO\tOBI\tsubclass_of\t1\nBSPO\tBSPO\tposterior_to\t1\nPathWhiz.NucleicAcid\tCHEBI\tsame_as\t35\nMONDO\tHGNC\txref\t56\nUBERON\tUBERON\tsupplies\t132\nNCIT\tNCIT\tis_molecular_abnormality_of_disease\t1195\nNCIT\tNCIT\tis_component_of_chemotherapy_regimen\t11836\nUniProtKB\tHP\thas_phenotype\t11603\nEFO\tEFO\tdisease_has_major_feature\t1\nOBI\tBFO\tsub_property_of\t2\nOPL\tGO\tINVERTED:ends_with\t1\nGO\tCL\thas_target_start_location\t4\nCL\tPR\thas_low_plasma_membrane_amount\t71\nFMA\tFMA\treceives_attachment_from\t458\nNCIT\tARO\tsubclass_of\t2\nSNOMED\tSNOMED\thas_associated_procedure\t2467\nGO\tGO\thas_target_start_location\t96\nEFO\tEFO\thas_disease_location\t14\nFMA\tFMA\thas_projection\t110\nCHEMBL.COMPOUND\tNCBIGene\tblocker\t943\nIDO\tOPL\tINVERTED:realizes\t2\nEFO\tORPHANET\tbearer_of\t3\nHANCESTRO\tHANCESTRO\tsubclass_of\t330\nNCBIGene\tUMLS\taugments\t69744\nNCIT\tNCBITaxon\tin_taxon\t2\nDOID\tHP\thas_phenotype\t649940\nGO\tDDANAT\tresults_in_development_of\t1\nENVO\tENVO\tsurrounded_by\t4\nOBI\tIAO\tsub_property_of\t1\nCL\tGO\tcapable_of_part_of\t1\nLOINC\tLOINC\tINVERTED:has_component\t119855\nENVO\tENVO\ttype\t41\nDRUGBANK\tUMLS\tclinically_tested_terminated_phase_1_or_phase_2\t214\nGOREL\tRO\tsub_property_of\t5\nNCIT\tNCIT\tprocedure_has_excised_anatomy\t401\nDDANAT\tDDANAT\tINVERTED:develops_from\t87\nFOODON\tFOODON\tINVERTED:has_ingredient\t77\nOBO\tIDO\thas_role\t1\nSNOMED\tSNOMED\thas_concentration_strength_numerator_unit\t2123\nHP\tUBERON\taffects\t2853\nPATO\tBFO\tsubclass_of\t13\nGO\tUMLS\txref\t69387\nENVO\tENVO\tpart_of\t72\nORPHANET\tDOID\txref\t1579\nENVO\tMONDO\tINVERTED:realized_in_response_to_stimulus\t13\nLOINC\tLOINC\thas_aggregation_view\t3311\nFBbt\tFBbt\tpart_of\t16\nFBbt\tUBERON\tINVERTED:develops_from\t1\nCL\tCL\tderives_from\t1\nDOID\tOBI\tsubclass_of\t1\nOMIM\tUMLS\txref\t123280\nCL\tCL\tlacks_plasma_membrane_part\t3\nLOINC\tLOINC\tis_presence_guidance_for\t1021\nPATO\tGO\txref\t1\nBFO\tBFO\tinverse_of\t4\nFMA\tFMA\tposteroinferior_to\t22\nMF\tMF\tINVERTED:has_participant_at_all_times\t2\nGO\tPO\tresults_in_maturation_of\t5\nSNOMED\tSNOMED\thas_units\t7\nMONDO\tOMIM\tequivalent_to\t8717\nENVO\tENVO\toccurs_in\t2\nUMLS\tUMLS\tinhibits\t614020\nUMLS\tUMLS\thas_supported_concept_relationship\t342\nNCBITaxon\tDOID\tINVERTED:has_participant\t2\nMONDO\tDOID\tsubclass_of\t1\nCL\tGO\tlacks_plasma_membrane_part\t28\nNCIT\tNCIT\tdisease_may_have_molecular_abnormality\t9292\nMONDO\tICD10\txref\t11520\nUMLS\tUMLS\tmanifestation_of\t41231\nKEGG\tPathWhiz\tINVERTED:has_element_collection\t389\nGO\tCL\tequivalent_to\t1\nSNOMED\tSNOMED\tINVERTED:has_direct_device\t4121\nSNOMED\tSNOMED\thas_route_of_administration\t176\nPathWhiz.Compound\tPathWhiz\tINVERTED:has_compound\t2003771\nORPHANET\tORPHANET\tpart_of\t14694\nEFO\tUBERON\tparticipates_in\t1\nGO\tCHEBI\txref\t919\nOBI\tNCIT\tsubclass_of\t3\nSNOMED\tSNOMED\thas_dose_form_administration_method\t295\nEHDAA2\tEHDAA2\tdevelops_in\t33\nGO\tGO\tcapable_of\t498\nGO\tGO\tINVERTED:starts_with\t58\nOBO\tOBO\texistence_starts_during\t1\nFMA\tFMA\tanterior_to\t355\nOPL\tOPL\toccurs_in\t14\nGO\tCL\tresults_in_development_of\t98\nSNOMED\tSNOMED\thas_process_duration\t136\nGO\tPO\tpart_of\t9\nSNOMED\tSNOMED\tbasis_of_strength_substance_of\t1016\nCHEBI\tCHEBI\tsubclass_of\t193181\nNCBIGene\tUMLS\tassociated_with\t132056\nGO\tZFA\txref\t5\nMONDO\tICD9\tequivalent_to\t1883\nDRUGBANK\tUMLS\tclinically_tested_suspended_phase_2\t311\nCL\tGO\thas_completed\t19\nGENEPIO\tPATO\tis_about\t2\nGO\tUBERON\tresults_in_transport_across\t7\nPO\tGO\tINVERTED:has_participant\t4\nGO\tGO\tresults_in_development_of\t4\nNCIT\tNCIT\tgene_product_is_element_in_pathway\t13536\nFMA\tFMA\tinferomedial_to\t5\nOGMS\tMONDO\tequivalent_to\t1\nCHEMBL.COMPOUND\tNCBIGene\tchannel_blocker\t331\nPathWhiz.Reaction\tDRUGBANK\thas_right_element\t14853\nSNOMED\tSNOMED\tinheres_in\t156\nEDAM\tIAO\tsubclass_of\t1\nDRUGBANK\tDRUGBANK\tdrug_interaction\t2669663\nGO\tGO\tINVERTED:results_in_movement_of\t1\nCARO\tENVO\tINVERTED:determined_by\t1\nUBERON\tUBERON\texistence_ends_during\t32\nORPHANET\tMONDO\tpredisposes_towards\t1\nCHEMBL.COMPOUND\tNCBIGene\tstimulator\t15\nCHEBI\tPR\tequivalent_to\t1\nNCIT\tNCIT\tprocedure_has_imaged_anatomy\t1\nBSPO\tBFO\tsub_property_of\t12\nUBERON\tMA\tsubclass_of\t2\nRXNORM\tRXNORM\trxcui:isa\t47221\nOBA\tPATO\tsubclass_of\t1\nEFO\tSNOMED\txref\t1\nSO\tUO\tINVERTED:is_unit_of\t1\nEHDAA2\tEHDAA2\tpart_of\t2925\nAEO\tCARO\tsubclass_of\t59\nOBO\tOBO\tpart_of\t14\nCHEBI\tDOID\tINVERTED:has_allergic_trigger\t84\nUBERON\tMA\txref\t2\nCHEBI\tENVO\tINVERTED:has_participant\t1\nGO\tGO\tadjacent_to\t22\nGENEPIO\tSTATO\tsubclass_of\t12\nNCIT\tNCIT\tgene_encodes_gene_product\t18713\nGO\tUBERON\tresults_in_structural_organization_of\t28\nGO\tGO\tINVERTED:positively_regulated_by\t1616\nCL\tEFO\txref\t1\nDOID\tMONDO\tequivalent_to\t9000\nRXNORM\tRXNORM\trxcui:part_of\t6788\nNDDF\tUMLS\txref\t33096\nHP\tGO\tsubclass_of\t1\nENVO\tFOODON\tINVERTED:composed_primarily_of\t1\nECTO\tECTO\tsubclass_of\t81\nNCIT\tNCIT\tgene_product_variant_of_gene_product\t457\nNCBIGene\tNCBIGene\tcompared_with\t7200\nEFO\tHP\txref\t237\nPathWhiz.Reaction\tDRUGBANK\thas_left_element\t21859\nPATO\tNBO\tINVERTED:in_response_to\t3\nPR\tCL\tINVERTED:has_part\t675\nNCIT\tNCIT\tchemical_or_drug_affects_cell_type_or_tissue\t572\nORPHANET\tORPHANET\tdisease_has_feature\t25\nEFO\tEFO\tis_input_of\t95\nEFO\tEFO\txref\t27\nSNOMED\tSNOMED\tdirect_substance_of\t5117\nUBERON\tARO\tsubclass_of\t3\nFMA\tFMA\thas_regional_part\t26404\nPR\tGO\tINVERTED:has_part\t2\nZFA\tUBERON\tsubclass_of\t1\nNCBIGene\tENSEMBL\tsame_as\t35031\nUniProtKB\tNCBITaxon\tin_taxon\t24986\nGAZ\tOBO\tsubclass_of\t197\nGENEPIO\tBFO\tsubclass_of\t13\nUBERON\tUBERON\tINVERTED:preceded_by\t13\nUniProtKB\tPathWhiz\tINVERTED:has_protein\t304018\nUMLS\tUMLS\tproduces\t305322\nOPL\tUBERON\tsubclass_of\t8\nRXNORM\tRXNORM\trxcui:has_tradename\t48926\nNCBITaxon\tENVO\tINVERTED:process_has_causal_agent\t3\nNCIT\tNCIT\tprocedure_has_target_anatomy\t916\nUBERON\tUBERON\tINVERTED:ends_with\t1\nUniProtKB\tGO\tacts_upstream_of_or_within_negative_effect\t5\nOMRSE\tGENEPIO\tsubclass_of\t1\nCARO\tBFO\tsubclass_of\t4\nFOODON\tUBERON\tderives_from\t6\nUBERON\tUBERON\tINVERTED:has_member\t15\nSNOMED\tSNOMED\tpart_anatomy_structure_of\t323\nNCIT\tNCIT\teo_disease_has_associated_eo_anatomy\t3128\nIDO\tOBI\tsubclass_of\t3\nENVO\tPO\tderives_from\t1\nNCIT\tNCIT\thas_pharmaceutical_intended_site\t529\nNCIT\tNCIT\tINVERTED:biological_process_involves_chemical_or_drug\t18\nOPL\tBFO\tsubclass_of\t3\nFMA\tFMA\thas_inherent_3d_shape\t4\nUBERON\tUBERON\texistence_starts_during_or_after\t4\nUniProtKB\tGO\tenables\t67759\nNCIT\tNCIT\thas_data_element\t10\nGO\tUBERON\tresults_in_formation_of\t174\nGO\tMONDO\tINVERTED:disease_has_basis_in_disruption_of\t275\nGENEPIO\tIAO\tsubclass_of\t73\nOBI\tGENEPIO\tmember_of\t2\nLOINC\tLOINC\tmth_has_expanded_form\t1\nNCIT\tNCIT\thas_pharmaceutical_administration_method\t542\nCHEMBL.COMPOUND\tNCBIGene\tmodulator\t242\nUBERON\tUBERON\thas_muscle_insertion\t217\nUBERON\tUBERON\tin_anterior_side_of\t13\nPO\tFOODON\tINVERTED:has_defining_ingredient\t1\nOMIT\tPR\tsubclass_of\t1\nUBERON\tUBERON\tfiltered_through\t4\nOBA\tOBA\tsubclass_of\t173\nSNOMED\tSNOMED\tentire_anatomy_structure_of\t7090\nCEPH\tUBERON\tsubclass_of\t1\nmedgen\tMONDO\tequivalent_to\t2582\nFMA\tFMA\thas_origin\t275\nEFO\tOBI\tINVERTED:has_participant\t2\nNCIT\tGENEPIO\tINVERTED:specifies_value_of\t4\nGENEPIO\tGENEPIO\thas_output\t1\nDDANAT\tDDANAT\tsubclass_of\t129\nCL\tGO\tlacks_part\t11\nGO\tGO\tINVERTED:process_has_causal_agent\t20\nUniProtKB\tCL\texpressed_in\t15576\nPR\tMOD\tlacks_part\t48\nMONDO\tMONDO\tpart_of_progression_of_disease\t2\nMONDO\tNCIT\thas_modifier\t2\nTRANS\tTRANS\tsubclass_of\t32\nGO\tCL\tresults_in_growth_of\t5\nLOINC\tLOINC\thas_time_aspect\t90380\nGO\tGO\thas_output\t14\nCL\tEHDAA2\txref\t6\nLOINC\tLOINC\thas_time_modifier\t197\nUniProtKB\tGO\texpressed_in\t74377\nGO\tFAO\tresults_in_formation_of\t6\nCHEBI\tMONDO\tINVERTED:realized_in_response_to_stimulus\t31\nCHEBI\tDRUGBANK\tsame_as\t636\nEFO\tCL\tis_about\t40\nGO\tGO\tresults_in_growth_of\t2\nEFO\tUBERON\tsubclass_of\t82\nMESH\tMESH\thas_mapping_qualifier\t33615\nORPHANET\tORPHANET\tdisease_has_basis_in_feature\t2\nUniProtKB\tUniProtKB\tphysically_interacts_with\t615498\nPO\tCARO\tsubclass_of\t2\nNCIT\tGENEPIO\tbefore\t1\nUBERON\tUBERON\tadjacent_to\t329\nCL\tOBO\tINVERTED:has_part\t1\nCHEBI\tGENEPIO\tINVERTED:specifies_value_of\t3\nttd.target\tNCBIGene\tcofactor\t4\nLOINC\tLOINC\thas_object_guidance\t474\nORPHANET\tORPHANET\torphanet:317345\t496\nEFO\tGO\tis_about\t68\nHMDB\tEFO\tat_tissue\t9\nGAZ\tNCIT\tsubclass_of\t186\nBSPO\tBSPO\tdistal_to\t1\nIDO\tIDO\tsubclass_of\t20\nSNOMED\tSNOMED\thas_indirect_procedure_site\t8311\nFOODON\tCHEBI\tsubclass_of\t14\nORPHANET\tORPHANET\torphanet:317349\t229\nCHEBI\tCHEBI\tinverse_of\t2\nNCBIGene\tNCBIGene\tcoexists_with\t20358\nGO\tGO\tresults_in_transport_to_from_or_in\t17\nEFO\tBFO\tsubclass_of\t66\nGO\tDOID\tINVERTED:disease_caused_by_disruption_of\t53\nRO\tSO\txref\t9\nBFO\tCHEBI\tequivalent_to\t1\nNCBITaxon\tICD9\txref\t7\nNCBITaxon\tOBO\tsubclass_of\t27\nUMLS\tUMLS\thas_owning_affiliate\t4\nDRUGBANK\tPathWhiz\tINVERTED:has_protein\t15\nSNOMED\tSNOMED\thas_state_of_matter\t58\nUniProtKB\tPathWhiz\tINVERTED:has_element_collection\t59\nORPHANET\tORPHANET\torphanet:c017\t9706\nFMA\tFMA\tforms\t15\nMF\tMF\tINVERTED:realizes\t2\nPR\tGO\tlocated_in\t2\nECOCORE\tBFO\tsubclass_of\t1\nOMIM\tOMIM\thas_inheritance_type\t6005\nCHEMBL.COMPOUND\tNCBIGene\tallosteric_modulator\t317\nENVO\tPATO\tsubclass_of\t13\nOBO\tNCBITaxon\tonly_in_taxon\t1013\nNCIT\tNCIT\tprocedure_has_completely_excised_anatomy\t95\nNCIT\tSIO\tsubclass_of\t4\nDOID\tKEGG\txref\t39\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/rtx2_2020_09_16/rtx2_2020_09_16.dot",
    "content": "digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:precise_ingredient_of (6138)\"]; \t\"EFO\" -> \"UMLS\" [label=\"xref (2202)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"uses (27329)\"]; \t\"GO\" -> \"GO\" [label=\"immediately_causally_upstream_of (2)\"]; \t\"PR\" -> \"CHEBI\" [label=\"subclass_of (206)\"]; \t\"PR\" -> \"PR\" [label=\"derives_from (57)\"]; \t\"ARO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"IAO\" [label=\"subclass_of (38)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:pathway_has_gene_element (7181)\"]; \t\"UBERON\" -> \"FBbt\" [label=\"part_of (1)\"]; \t\"UBERON\" -> \"CL\" [label=\"synapsed_by (1)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"derives_from (1)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_tautomer_of (1748)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"subclass_of (305)\"]; \t\"FMA\" -> \"FMA\" [label=\"surrounded_by (139)\"]; \t\"ORPHANET\" -> \"OMIM\" [label=\"xref (12142)\"]; \t\"GO\" -> \"OBA\" [label=\"regulates (80)\"]; \t\"GO\" -> \"OBA\" [label=\"positively_regulates (11)\"]; \t\"CHEBI\" -> \"EFO\" [label=\"INVERTED:has_participant (1)\"]; \t\"OBO\" -> \"PR\" [label=\"INVERTED:has_gene_template (1013)\"]; \t\"EPO\" -> \"TRANS\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_answer (85940)\"]; \t\"GO\" -> \"CL\" [label=\"is_about (1)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:465410 (44)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_process_output (158)\"]; \t\"MONDO\" -> \"GO\" [label=\"disease_triggers (2)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_is_stage (6155)\"]; \t\"GO\" -> \"GO\" [label=\"has_primary_input (2)\"]; \t\"CL\" -> \"UBERON\" [label=\"subclass_of (5)\"]; \t\"EO\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_potential_to_develop_into (132)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:gene_product_sequence_variation_encoded_by_gene_mutant (556)\"]; \t\"EO\" -> \"NCBITaxon\" [label=\"subclass_of (2)\"]; \t\"CL\" -> \"GO\" [label=\"capable_of (308)\"]; \t\"SO\" -> \"OBO\" [label=\"subclass_of (4)\"]; \t\"GAZ\" -> \"NCIT\" [label=\"type (189)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"occurs_in (17801)\"]; \t\"ICD9\" -> \"UMLS\" [label=\"xref (22406)\"]; \t\"EFO\" -> \"MONDO\" [label=\"xref (2604)\"]; \t\"ENVO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"projects_to (117)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"overlaps (9)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_release_characteristic (295)\"]; \t\"DOID\" -> \"AQTLTrait\" [label=\"has_phenotype (1)\"]; \t\"DOID\" -> \"EFO\" [label=\"subclass_of (3)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_disposition (8941)\"]; \t\"OBO\" -> \"SIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_specification_of (26)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_full_grown_phenotype (3)\"]; \t\"IAO\" -> \"IAO\" [label=\"INVERTED:type (3)\"]; \t\"GENEPIO\" -> \"ARO\" [label=\"equivalent_to (1)\"]; \t\"ARO\" -> \"IAO\" [label=\"subclass_of (3)\"]; \t\"ExO\" -> \"EPO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"regulates (5322)\"]; \t\"GO\" -> \"GO\" [label=\"positively_regulates (4656)\"]; \t\"OBO\" -> \"OGG\" [label=\"has_input (1)\"]; \t\"GENEPIO\" -> \"ExO\" [label=\"subclass_of (9)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_potential_to_developmentally_contribute_to (12)\"]; \t\"CL\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"ENVO\" -> \"RO\" [label=\"subclass_of (1)\"]; \t\"ORPHANET\" -> \"ICD9\" [label=\"xref (920)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"coexists_with (92085)\"]; \t\"MA\" -> \"UBERON\" [label=\"part_of (1)\"]; \t\"BTO\" -> \"EFO\" [label=\"bearer_of (5)\"]; \t\"HMDB\" -> \"EHDAA2\" [label=\"at_tissue (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"aboral_to (1)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"has_increased_levels_of (4)\"]; \t\"EFO\" -> \"EFO\" [label=\"inverse_of (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"positive_allosteric_modulator (601)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"attaches_to (159)\"]; \t\"OBO\" -> \"OBO\" [label=\"subclass_of (286)\"]; \t\"GO\" -> \"OBO\" [label=\"has_primary_output (16)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_device (77)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_1_or_phase_2 (30)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"activator (87)\"]; \t\"GO\" -> \"SO\" [label=\"exports (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"anterosuperior_to (16)\"]; \t\"MI\" -> \"OBO\" [label=\"subclass_of (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"lumen_of (2)\"]; \t\"EFO\" -> \"HANCESTRO\" [label=\"part_of (12)\"]; \t\"CHEBI\" -> \"GENEPIO\" [label=\"subclass_of (72)\"]; \t\"DRUGBANK\" -> \"PathWhiz.ProteinComplex\" [label=\"INVERTED:has_protein_in_complex (15)\"]; \t\"FMA\" -> \"FMA\" [label=\"nerve_supply_of (2129)\"]; \t\"HP\" -> \"EFO\" [label=\"xref (1)\"]; \t\"UniProtKB\" -> \"OMIM\" [label=\"gene_mutations_contribute_to (5765)\"]; \t\"CL\" -> \"GO\" [label=\"has_low_plasma_membrane_amount (6)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:produced_by (46)\"]; \t\"MONDO\" -> \"EFO\" [label=\"predisposes_towards (14)\"]; \t\"EFO\" -> \"PO\" [label=\"located_in (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"property_of (86472)\"]; \t\"XCO\" -> \"GENEPIO\" [label=\"subclass_of (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_causes_feature (1)\"]; \t\"EFO\" -> \"PATO\" [label=\"bearer_of (19)\"]; \t\"UBERON\" -> \"NCBITaxon\" [label=\"only_in_taxon (749)\"]; \t\"FMA\" -> \"FMA\" [label=\"fuses_with (26)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_superficial_to (13)\"]; \t\"PO\" -> \"PO\" [label=\"xref (1)\"]; \t\"GO\" -> \"CL\" [label=\"has_end_location (3)\"]; \t\"HMDB\" -> \"UMLS\" [label=\"at_tissue (137)\"]; \t\"SNOMED\" -> \"MONDO\" [label=\"equivalent_to (9000)\"]; \t\"SIO\" -> \"ENVO\" [label=\"subclass_of (1)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"inhibits (18289)\"]; \t\"FMA\" -> \"FMA\" [label=\"homonym_of (73)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_fusion_of (33)\"]; \t\"IAO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"subclass_of (160929)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:preceded_by (1)\"]; \t\"GO\" -> \"GO\" [label=\"has_end_location (5)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.NucleicAcid\" [label=\"has_right_element (210)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"compared_with (23729)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"regimen_has_accepted_use_for_disease (395)\"]; \t\"MONDO\" -> \"OBO\" [label=\"equivalent_to (154)\"]; \t\"CL\" -> \"CL\" [label=\"part_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"has_start_location (3)\"]; \t\"BTO\" -> \"UBERON\" [label=\"part_of (5)\"]; \t\"FMA\" -> \"FMA\" [label=\"continuation_branch_of (43)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.Compound\" [label=\"has_right_element (336013)\"]; \t\"GO\" -> \"GO\" [label=\"ends_during (1)\"]; \t\"PO\" -> \"PO\" [label=\"INVERTED:develops_from (60)\"]; \t\"OBI\" -> \"OBI\" [label=\"inheres_in (3)\"]; \t\"PathWhiz\" -> \"NCBITaxon\" [label=\"in_species (1905194)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_informer (2207)\"]; \t\"OMP\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"has_start_location (8)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"binding_agent (136)\"]; \t\"PATO\" -> \"PATO\" [label=\"INVERTED:towards (6)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (34)\"]; \t\"FMA\" -> \"UBERON\" [label=\"part_of (2)\"]; \t\"CLO\" -> \"CL\" [label=\"subclass_of (428)\"]; \t\"FMA\" -> \"FMA\" [label=\"inverse_of_derives (264)\"]; \t\"PATO\" -> \"NBO\" [label=\"INVERTED:has_participant (1)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"antagonist (729)\"]; \t\"RO\" -> \"owl\" [label=\"sub_property_of (12)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:after (18)\"]; \t\"ENSEMBL\" -> \"NCBITaxon\" [label=\"only_in_taxon (110)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"member_of (1)\"]; \t\"IAO\" -> \"IAO\" [label=\"subclass_of (30)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"aligned_with (1)\"]; \t\"MPATH\" -> \"MPATH\" [label=\"subclass_of (83)\"]; \t\"GO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_is_grade (1303)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"part_of (893692)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"owning_section_of (9)\"]; \t\"DOID\" -> \"NCBITaxon\" [label=\"transmitted_by (74)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.NucleicAcid\" [label=\"has_left_element (349)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_form (2941)\"]; \t\"HANCESTRO\" -> \"OBI\" [label=\"subclass_of (2)\"]; \t\"MP\" -> \"HP\" [label=\"subclass_of (2)\"]; \t\"HP\" -> \"UBERON\" [label=\"inheres_in_part_of (2)\"]; \t\"HANCESTRO\" -> \"HANCESTRO\" [label=\"inverse_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"bounding_layer_of (37)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"is_about (7)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"subclass_of (328)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"treats (1364)\"]; \t\"SO\" -> \"CHEBI\" [label=\"equivalent_to (3)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.Compound\" [label=\"has_left_element (317671)\"]; \t\"GO\" -> \"BFO\" [label=\"subclass_of (7)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_basic_dose_form (597)\"]; \t\"CPT\" -> \"CPT\" [label=\"subclass_of (14292)\"]; \t\"ENVO\" -> \"FOODON\" [label=\"subclass_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"related_part (3094)\"]; \t\"ICD10PCS\" -> \"UMLS\" [label=\"xref (189499)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_recipient_category (117)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"stimulates (104111)\"]; \t\"HP\" -> \"UBERON\" [label=\"inheres_in (1)\"]; \t\"CHEBI\" -> \"CL\" [label=\"xref (1)\"]; \t\"EFO\" -> \"OBI\" [label=\"is_about (22)\"]; \t\"ZFA\" -> \"UBERON\" [label=\"part_of (4)\"]; \t\"PCO\" -> \"ENVO\" [label=\"has_habitat (1)\"]; \t\"PATO\" -> \"PATO\" [label=\"has_relative_magnitude (7)\"]; \t\"MESH\" -> \"UMLS\" [label=\"xref (402615)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"disease_has_basis_in_development_of (2)\"]; \t\"NBO\" -> \"GO\" [label=\"xref (15)\"]; \t\"CL\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (83)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_associated_cell_type (13)\"]; \t\"MONDO\" -> \"OGMS\" [label=\"xref (1)\"]; \t\"PathWhiz.ElementCollection\" -> \"KEGG\" [label=\"same_as (61)\"]; \t\"OBI\" -> \"STATO\" [label=\"subclass_of (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"interacts_with (183359)\"]; \t\"GO\" -> \"CHEBI\" [label=\"has_input (967)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"equivalent_to (6777)\"]; \t\"MESH\" -> \"MESH\" [label=\"subclass_of (40243)\"]; \t\"CL\" -> \"UBERON\" [label=\"INVERTED:produced_by (4)\"]; \t\"CHEMBL.TARGET\" -> \"UniProtKB\" [label=\"part_of (5700)\"]; \t\"EHDAA2\" -> \"AEO\" [label=\"subclass_of (1703)\"]; \t\"OBI\" -> \"BTO\" [label=\"xref (1)\"]; \t\"EFO\" -> \"OBI\" [label=\"inheres_in (9)\"]; \t\"FMA\" -> \"FMA\" [label=\"sub_property_of (3)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"disease_has_feature (18)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:organism_has_gene (1635)\"]; \t\"EFO\" -> \"OGMS\" [label=\"subclass_of (3)\"]; \t\"GO\" -> \"CHEBI\" [label=\"transports_or_maintains_localization_of (969)\"]; \t\"HP\" -> \"UMLS\" [label=\"xref (16527)\"]; \t\"UO\" -> \"UO\" [label=\"subclass_of (228)\"]; \t\"BTO\" -> \"EFO\" [label=\"equivalent_to (1)\"]; \t\"CL\" -> \"FBbt\" [label=\"xref (1)\"]; \t\"EFO\" -> \"EFO\" [label=\"INVERTED:has_participant (69)\"]; \t\"HGNC\" -> \"UniProtKB\" [label=\"has_gene_product (20312)\"]; \t\"DOID\" -> \"MONDO\" [label=\"subclass_of (5)\"]; \t\"OMIM\" -> \"DOID\" [label=\"contributes_to_condition (181)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_intended_site (333)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"associated_with (8728)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_malfunction_associated_with_disease (509)\"]; \t\"OBO\" -> \"MONDO\" [label=\"equivalent_to (154)\"]; \t\"GENEPIO\" -> \"IDO\" [label=\"is_about (6)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"component_of (4259)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"uses_substance (3187)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_structural_domain_or_motif (4960)\"]; \t\"FMA\" -> \"FMA\" [label=\"corresponds_to (46)\"]; \t\"OBI\" -> \"BFO\" [label=\"subclass_of (18)\"]; \t\"UBERON\" -> \"NBO\" [label=\"capable_of_part_of (9)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"affects (154949)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"overlaps (70)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_chemical_classification (1688)\"]; \t\"SO\" -> \"GO\" [label=\"INVERTED:has_participant (4)\"]; \t\"FOODON\" -> \"GENEPIO\" [label=\"subclass_of (15)\"]; \t\"UBERON\" -> \"GO\" [label=\"capable_of_part_of (135)\"]; \t\"DOID\" -> \"CL\" [label=\"derives_from (355)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"inherent_location_of (1)\"]; \t\"PATO\" -> \"PATO\" [label=\"has_cross_section (5)\"]; \t\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"INVERTED:has_plasma_membrane_part (1)\"]; \t\"KEGG\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (162)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"anatomic_structure_is_physical_part_of (9339)\"]; \t\"PathWhiz.NucleicAcid\" -> \"PathWhiz\" [label=\"INVERTED:has_nucleic_acid (1763)\"]; \t\"NPO\" -> \"NPO\" [label=\"subclass_of (3)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"part_of (80696)\"]; \t\"MONDO\" -> \"HGNC\" [label=\"has_material_basis_in_gain_of_function_germline_mutation_in (6)\"]; \t\"CL\" -> \"UBERON\" [label=\"participates_in (4)\"]; \t\"GO\" -> \"OMIM\" [label=\"INVERTED:disease_caused_by_disruption_of (4)\"]; \t\"ORPHANET\" -> \"UBERON\" [label=\"has_disease_location (65)\"]; \t\"CARO\" -> \"CARO\" [label=\"subclass_of (49)\"]; \t\"GO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (4)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_time_aspect (23)\"]; \t\"OGMS\" -> \"UBERON\" [label=\"subclass_of (1)\"]; \t\"BSPO\" -> \"CARO\" [label=\"passes_through (1)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"produces (3596)\"]; \t\"MONDO\" -> \"MESH\" [label=\"xref (7875)\"]; \t\"OBO\" -> \"GENEPIO\" [label=\"is_about (1)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"member_of (5921)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_laterality (12116)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"predisposes_towards (143)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"gating_inhibitor (24)\"]; \t\"TO\" -> \"TO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"CHEBI\" [label=\"imports (179)\"]; \t\"GENEPIO\" -> \"ENVO\" [label=\"is_about (1)\"]; \t\"OBO\" -> \"UBERON\" [label=\"xref (6)\"]; \t\"PO\" -> \"NCBITaxon\" [label=\"only_in_taxon (2)\"]; \t\"OBI\" -> \"IAO\" [label=\"subclass_of (35)\"]; \t\"EFO\" -> \"MONDO\" [label=\"disease_causes_feature (1)\"]; \t\"EFO\" -> \"CL\" [label=\"part_of (2)\"]; \t\"OGMS\" -> \"BFO\" [label=\"subclass_of (4)\"]; \t\"RGD\" -> \"PR\" [label=\"INVERTED:has_gene_template (8114)\"]; \t\"CPT\" -> \"UMLS\" [label=\"xref (46941)\"]; \t\"AEO\" -> \"CARO\" [label=\"surrounds (1)\"]; \t\"EFO\" -> \"DOID\" [label=\"xref (2350)\"]; \t\"PCO\" -> \"ENVO\" [label=\"INVERTED:determined_by (3)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"surrounds (78)\"]; \t\"SO\" -> \"DOID\" [label=\"INVERTED:disease_has_basis_in (251)\"]; \t\"UBERON\" -> \"NCIT\" [label=\"xref (2580)\"]; \t\"UBERON\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"NBO\" -> \"NBO\" [label=\"INVERTED:by_means (2)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_maturation_of (53)\"]; \t\"wb\" -> \"SO\" [label=\"subclass_of (4479)\"]; \t\"GO\" -> \"OMIM\" [label=\"xref (4)\"]; \t\"BTO\" -> \"UBERON\" [label=\"xref (1)\"]; \t\"BSPO\" -> \"CARO\" [label=\"subclass_of (7)\"]; \t\"SO\" -> \"SO\" [label=\"INVERTED:has_member (1)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"antibody (25)\"]; \t\"FBbt\" -> \"CL\" [label=\"xref (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_plays_role_in_process (13660)\"]; \t\"FOODON\" -> \"owl\" [label=\"sub_property_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:may_be_normal_cell_origin_of_disease (183)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"inverse_of_rq (1560)\"]; \t\"DRUGBANK\" -> \"UniProtKB\" [label=\"external_identifier (69)\"]; \t\"CHEMBL.COMPOUND\" -> \"DRUGBANK\" [label=\"same_as (6926)\"]; \t\"EFO\" -> \"MP\" [label=\"subclass_of (7)\"]; \t\"PATO\" -> \"PATO\" [label=\"subclass_of (2113)\"]; \t\"PR\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"INVERTED:location_of (332757)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_access (1520)\"]; \t\"SNOMED\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"mapped_to (456)\"]; \t\"FMA\" -> \"FMA\" [label=\"left_medial_to (3)\"]; \t\"CPT\" -> \"CPT\" [label=\"has_add_on_code (6931)\"]; \t\"DOID\" -> \"EFO\" [label=\"xref (130)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_has_basis_in_feature (18)\"]; \t\"OBI\" -> \"RO\" [label=\"sub_property_of (7)\"]; \t\"BTO\" -> \"UBERON\" [label=\"subclass_of (9)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_target (727)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"orthogonal_to (3)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"aligned_with (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:process_has_causal_agent (3)\"]; \t\"CL\" -> \"BTO\" [label=\"xref (4)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.ProteinComplex\" [label=\"has_right_element (906)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_physical_part_of (616)\"]; \t\"ExO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (1)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"antibody (22)\"]; \t\"GO\" -> \"CL\" [label=\"occurs_in (129)\"]; \t\"PO\" -> \"FOODON\" [label=\"subclass_of (2)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:has_participant (10)\"]; \t\"MONDO\" -> \"MEDDRA\" [label=\"equivalent_to (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"continuous_with (120)\"]; \t\"BTO\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"surrounded_by (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_site (27)\"]; \t\"GO\" -> \"GO\" [label=\"occurs_in (270)\"]; \t\"MESH\" -> \"MESH\" [label=\"INVERTED:inverse_of_isa (5029)\"]; \t\"FMA\" -> \"FMA\" [label=\"related_developmental_entity_of (13)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_segmental_supply (613)\"]; \t\"EFO\" -> \"CL\" [label=\"inheres_in_part_of (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"converts_to (2870)\"]; \t\"EFO\" -> \"BTO\" [label=\"xref (3)\"]; \t\"ENVO\" -> \"OBI\" [label=\"subclass_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_imaging_focus (5463)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"member_of (1)\"]; \t\"DOID\" -> \"GO\" [label=\"disease_has_basis_in_dysfunction_of (8)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"predisposes (256197)\"]; \t\"FBdv\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"PathWhiz.ProteinComplex\" -> \"PathWhiz.Reaction\" [label=\"INVERTED:has_enzyme (165371)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"deep_to (12)\"]; \t\"HP\" -> \"HP\" [label=\"subclass_of (22195)\"]; \t\"ORPHANET\" -> \"GO\" [label=\"participates_in (3)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"has_modifier (1)\"]; \t\"GO\" -> \"FAO\" [label=\"part_of (3)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_method (66244)\"]; \t\"HP\" -> \"EFO\" [label=\"subclass_of (46)\"]; \t\"IDO\" -> \"CHEBI\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"interacts_with (141256)\"]; \t\"OBI\" -> \"OBI\" [label=\"inverse_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"develops_into (3)\"]; \t\"AEO\" -> \"AEO\" [label=\"part_of (22)\"]; \t\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"INVERTED:superset_of (1116)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.ProteinComplex\" [label=\"has_left_element (734)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:location_of (9)\"]; \t\"BTO\" -> \"EFO\" [label=\"participates_in (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"germ_origin_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_has_abnormality (180)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_timing_of (2693)\"]; \t\"MONDO\" -> \"SO\" [label=\"has_modifier (22)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_0 (7)\"]; \t\"EFO\" -> \"UO\" [label=\"equivalent_to (1)\"]; \t\"GO\" -> \"PR\" [label=\"exports (1)\"]; \t\"EFO\" -> \"MA\" [label=\"has_disease_location (1)\"]; \t\"EnsemblGenomes\" -> \"NCBITaxon\" [label=\"only_in_taxon (278)\"]; \t\"EFO\" -> \"HP\" [label=\"disease_has_feature (1)\"]; \t\"UniProtKB\" -> \"REACT\" [label=\"participates_in (779447)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_morphology (544)\"]; \t\"NCIT\" -> \"VCARD\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"positive_modulator (18)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dependent (6)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"affects (12913)\"]; \t\"FOODON\" -> \"GAZ\" [label=\"subclass_of (13)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"component_of (13)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_has_feature (34)\"]; \t\"HMDB\" -> \"FMA\" [label=\"at_cellular_location (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"constitutional_part_of (21424)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.Bound\" [label=\"has_right_element (167)\"]; \t\"UBERON\" -> \"BSPO\" [label=\"sub_property_of (6)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_is_biomarker_of (18)\"]; \t\"OBO\" -> \"OBO\" [label=\"has_interaction_type (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"same_as (15124)\"]; \t\"BFO\" -> \"RO\" [label=\"sub_property_of (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_has_associated_anatomic_site (30160)\"]; \t\"RO\" -> \"UBERON\" [label=\"sub_property_of (1)\"]; \t\"HMDB\" -> \"EHDAA2\" [label=\"in_biospecimen (1)\"]; \t\"MOD\" -> \"PR\" [label=\"subclass_of (41)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_adherent (7)\"]; \t\"CL\" -> \"CARO\" [label=\"subclass_of (2)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"inheres_in (1)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_acquisition_of_features_of (300)\"]; \t\"NDDF\" -> \"NDDF\" [label=\"INVERTED:has_ingredient (24)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_denominator_unit (2065)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"negative_modulator (4)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"opener (38)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_method (4099)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:inverse_isa (44612)\"]; \t\"MONDO\" -> \"GARD\" [label=\"xref (5818)\"]; \t\"NBO\" -> \"UBERON\" [label=\"INVERTED:input_of (1)\"]; \t\"RO\" -> \"BFO\" [label=\"sub_property_of (26)\"]; \t\"GO\" -> \"PR\" [label=\"directly_positively_regulates (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"occurs_before (2413)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inducer (4)\"]; \t\"DRUGBANK\" -> \"CHEMBL.COMPOUND\" [label=\"external_identifier (7632)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_preceded_by (7)\"]; \t\"STATO\" -> \"GENEPIO\" [label=\"subclass_of (6)\"]; \t\"MPATH\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"VANDF\" -> \"VANDF\" [label=\"INVERTED:has_ingredient (14304)\"]; \t\"PDQ\" -> \"PDQ\" [label=\"INVERTED:has_component (4862)\"]; \t\"GENEPIO\" -> \"PATO\" [label=\"subclass_of (2)\"]; \t\"GENEPIO\" -> \"EDAM\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_evaluation (10553)\"]; \t\"FMA\" -> \"FMA\" [label=\"full_grown_phenotype_of (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_organism_source (825)\"]; \t\"OPL\" -> \"OPL\" [label=\"subclass_of (27)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"precise_active_ingredient_of (7240)\"]; \t\"HP\" -> \"CL\" [label=\"affects (110)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.Bound\" [label=\"has_left_element (157)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"extends_fibers_into (127)\"]; \t\"DRUGBANK\" -> \"HMDB\" [label=\"same_as (1565)\"]; \t\"BSPO\" -> \"RO\" [label=\"sub_property_of (4)\"]; \t\"HMDB\" -> \"UMLS\" [label=\"in_biospecimen (11184)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_2_or_phase_3 (39)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"administered_to (203874)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz\" [label=\"INVERTED:has_reaction (747189)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"has_functional_parent (17221)\"]; \t\"PathWhiz.Reaction\" -> \"KEGG\" [label=\"has_right_element (263206)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"ventral_to (8)\"]; \t\"NCBIGene\" -> \"UniProtKB\" [label=\"regulates_expression_of (332256)\"]; \t\"FMA\" -> \"FMA\" [label=\"inverse_of_bounds (1076)\"]; \t\"EFO\" -> \"HP\" [label=\"has_modifier (30)\"]; \t\"DRUGBANK\" -> \"MESH\" [label=\"category (57884)\"]; \t\"ORPHANET\" -> \"NCIT\" [label=\"xref (1012)\"]; \t\"DOID\" -> \"UMLS\" [label=\"xref (6)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_completely_excised_anatomy (6)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"subclass_of (590)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317344 (176)\"]; \t\"OMOP\" -> \"MONDO\" [label=\"equivalent_to (1590)\"]; \t\"DOID\" -> \"DOID\" [label=\"subclass_of (14358)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"focus_of (4294)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_tributary (1007)\"]; \t\"GARD\" -> \"MONDO\" [label=\"equivalent_to (5814)\"]; \t\"MONDO\" -> \"ICD10\" [label=\"equivalent_to (1113)\"]; \t\"GENEPIO\" -> \"OMP\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"UBERON\" [label=\"INVERTED:has_part (224)\"]; \t\"EFO\" -> \"EFO\" [label=\"has_about_it (2)\"]; \t\"CL\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (8)\"]; \t\"HMDB\" -> \"CHEMBL.TARGET\" [label=\"at_tissue (174)\"]; \t\"EFO\" -> \"HP\" [label=\"is_about (19)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_supported_concept_property (239)\"]; \t\"OBI\" -> \"OGMS\" [label=\"subclass_of (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:develops_from (1373)\"]; \t\"ICD10PCS\" -> \"ICD10PCS\" [label=\"subclass_of (189482)\"]; \t\"EFO\" -> \"EFO\" [label=\"is_about (556)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_0 (1)\"]; \t\"DDANAT\" -> \"DDANAT\" [label=\"part_of (134)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_morphology (177)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"oxidative_enzyme (2)\"]; \t\"AEO\" -> \"AEO\" [label=\"subclass_of (89)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_posterior_side_of (15)\"]; \t\"CL\" -> \"UBERON\" [label=\"axon_synapses_in (13)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"chelating_agent (19)\"]; \t\"PO\" -> \"PO\" [label=\"part_of (132)\"]; \t\"NCBIGene\" -> \"GO\" [label=\"involved_in (1417)\"]; \t\"HP\" -> \"DOID\" [label=\"xref (34)\"]; \t\"GENEPIO\" -> \"OMIT\" [label=\"is_about (4)\"]; \t\"DOID\" -> \"MONDO\" [label=\"xref (6)\"]; \t\"EFO\" -> \"MONDO\" [label=\"disease_has_basis_in_feature (3)\"]; \t\"PathWhiz.Reaction\" -> \"KEGG\" [label=\"has_left_element (232427)\"]; \t\"DOID\" -> \"GENEPIO\" [label=\"subclass_of (2)\"]; \t\"GO\" -> \"CHEBI\" [label=\"regulates_levels_of (62)\"]; \t\"FMA\" -> \"FMA\" [label=\"external_to (1)\"]; \t\"NCBITaxon\" -> \"PATO\" [label=\"has_quality (1)\"]; \t\"MA\" -> \"UBERON\" [label=\"subclass_of (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"inheres_in (1)\"]; \t\"EFO\" -> \"GO\" [label=\"participates_in (25)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"subclass_of (155)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"derived_from_ancestral_fusion_of (63)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"modulator (9)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_context (2531)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"distalmost_part_of (5)\"]; \t\"VT\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"anteroinferior_to (27)\"]; \t\"CARO\" -> \"RO\" [label=\"subclass_of (1)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_intermediate (83)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"contributes_to (975)\"]; \t\"NCBITaxon\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"denotes (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_transformation (520)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_transport_across (45)\"]; \t\"CL\" -> \"EFO\" [label=\"located_in (1)\"]; \t\"NBO\" -> \"NBO\" [label=\"INVERTED:in_response_to (5)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:contains (990)\"]; \t\"ENVO\" -> \"OIO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"UO\" [label=\"INVERTED:is_unit_of (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_numerator_value (4836)\"]; \t\"MONDO\" -> \"PATO\" [label=\"xref (1)\"]; \t\"NCBIGene\" -> \"UniProtKB\" [label=\"has_gene_product (19230)\"]; \t\"OMIT\" -> \"OBI\" [label=\"subclass_of (2)\"]; \t\"NCIT\" -> \"UBERON\" [label=\"subclass_of (2)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"antagonist (121)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_starts_during (13)\"]; \t\"GENEPIO\" -> \"RO\" [label=\"inverse_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_has_physiologic_effect (2053)\"]; \t\"GO\" -> \"CARO\" [label=\"subclass_of (21)\"]; \t\"EFO\" -> \"MA\" [label=\"xref (1)\"]; \t\"CGNC\" -> \"NCBITaxon\" [label=\"only_in_taxon (552)\"]; \t\"EFO\" -> \"PATO\" [label=\"subclass_of (2)\"]; \t\"NCBIGene\" -> \"NCBITaxon\" [label=\"only_in_taxon (5380)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_distribution_of (7)\"]; \t\"FMA\" -> \"FMA\" [label=\"continuous_distally_with (1879)\"]; \t\"HP\" -> \"MONDO\" [label=\"subclass_of (1)\"]; \t\"MONDO\" -> \"WD\" [label=\"equivalent_to (2)\"]; \t\"OBI\" -> \"PR\" [label=\"subclass_of (1)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"disease_has_location (793)\"]; \t\"EFO\" -> \"OMIM\" [label=\"xref (875)\"]; \t\"NCIT\" -> \"BFO\" [label=\"subclass_of (7)\"]; \t\"PathWhiz.Compound\" -> \"DRUGBANK\" [label=\"same_as (1539)\"]; \t\"HP\" -> \"CHEBI\" [label=\"subclass_of (1)\"]; \t\"OGG\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"FIX\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"subclass_of (1783396)\"]; \t\"EFO\" -> \"RO\" [label=\"sub_property_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_subject (34)\"]; \t\"FBbt\" -> \"UBERON\" [label=\"subclass_of (22)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_structural_organization_of (1)\"]; \t\"NCBITaxon\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (482)\"]; \t\"OBO\" -> \"STATO\" [label=\"subclass_of (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"inferolateral_to (8)\"]; \t\"OMIM\" -> \"HP\" [label=\"has_phenotype (94807)\"]; \t\"SO\" -> \"SO\" [label=\"subclass_of (2326)\"]; \t\"NCRO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"MONDO\" [label=\"disease_has_feature (34)\"]; \t\"SO\" -> \"BFO\" [label=\"subclass_of (4)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"subclass_of (554879)\"]; \t\"sgd\" -> \"NCBITaxon\" [label=\"only_in_taxon (5938)\"]; \t\"HMDB\" -> \"GO\" [label=\"at_cellular_location (16784)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"inheres_in (7)\"]; \t\"FMA\" -> \"FMA\" [label=\"origin_of (275)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_modification (2130)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"negative_allosteric_modulator (13)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_substance (926)\"]; \t\"ORPHANET\" -> \"PR\" [label=\"has_disease_location (1)\"]; \t\"HP\" -> \"SYMP\" [label=\"has_symptom (2)\"]; \t\"OPL\" -> \"CL\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"member_of (2295)\"]; \t\"EFO\" -> \"ICD9\" [label=\"xref (2049)\"]; \t\"CHEBI\" -> \"KEGG\" [label=\"same_as (1689)\"]; \t\"NCIT\" -> \"IAO\" [label=\"subclass_of (7)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"is_about (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"binder (139)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_location_of_anatomic_structure (356)\"]; \t\"NCIT\" -> \"NCBITaxon\" [label=\"subclass_of (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"capable_of (62677)\"]; \t\"FMA\" -> \"FMA\" [label=\"inverse_of_forms (15)\"]; \t\"OBO\" -> \"SO\" [label=\"subclass_of (1013)\"]; \t\"GO\" -> \"SO\" [label=\"has_primary_output (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:has_part (12)\"]; \t\"PATO\" -> \"PATO\" [label=\"sub_property_of (4)\"]; \t\"OBO\" -> \"BFO\" [label=\"subclass_of (11)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"regulates_expression_of (3812)\"]; \t\"FMA\" -> \"FMA\" [label=\"afferent_to (812)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:output_of (17)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_morphology (63873)\"]; \t\"OBI\" -> \"MONDO\" [label=\"equivalent_to (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"continuous_proximally_with (1825)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"disease_has_inflammation_site (163)\"]; \t\"SO\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"RO\" -> \"RO\" [label=\"xref (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"inverse_of (4)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_formation_of (15)\"]; \t\"EFO\" -> \"UBERON\" [label=\"located_in (6)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"INVERTED:develops_from (2125)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_involved_in_molecular_abnormality (2464)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"confers_advantage_in (8)\"]; \t\"GENEPIO\" -> \"FOODON\" [label=\"subclass_of (3)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_formation_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_challenge (19562)\"]; \t\"GO\" -> \"PO\" [label=\"xref (44)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_excised_anatomy (8)\"]; \t\"GENO\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (2007)\"]; \t\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (15)\"]; \t\"GAZ\" -> \"GAZ\" [label=\"located_in (720)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"channel_for (32)\"]; \t\"ORPHANET\" -> \"HGNC\" [label=\"xref (3982)\"]; \t\"PR\" -> \"CHEBI\" [label=\"equivalent_to (1)\"]; \t\"OBO\" -> \"GO\" [label=\"causally_upstream_of (1)\"]; \t\"GENEPIO\" -> \"CHEBI\" [label=\"is_about (1)\"]; \t\"OBO\" -> \"IAO\" [label=\"subclass_of (9)\"]; \t\"EFO\" -> \"UBERON\" [label=\"derives_from (6)\"]; \t\"AraPort\" -> \"PR\" [label=\"INVERTED:has_gene_template (15921)\"]; \t\"MI\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:inverse_of_isa (5250)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"hydrolytic_enzyme (38)\"]; \t\"EFO\" -> \"MONDO\" [label=\"has_modifier (125)\"]; \t\"HMDB\" -> \"OMIM\" [label=\"at_tissue (2)\"]; \t\"VANDF\" -> \"VANDF\" [label=\"isa (12198)\"]; \t\"CL\" -> \"EFO\" [label=\"part_of (2)\"]; \t\"GO\" -> \"CHEBI\" [label=\"has_output (93)\"]; \t\"DOID\" -> \"SYMP\" [label=\"has_symptom (839)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"prevents (197498)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:contains (10)\"]; \t\"SIO\" -> \"SIO\" [label=\"aligned_with (1)\"]; \t\"CHEBI\" -> \"OBO\" [label=\"subclass_of (2)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"derives_from (2874)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_topography (1401)\"]; \t\"BTO\" -> \"PATO\" [label=\"has_quality (1)\"]; \t\"EFO\" -> \"CL\" [label=\"subclass_of (539)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"protects (9)\"]; \t\"PCO\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"CLO\" -> \"EFO\" [label=\"subclass_of (857)\"]; \t\"DOID\" -> \"UBERON\" [label=\"has_origin (3)\"]; \t\"UBERON\" -> \"CL\" [label=\"adjacent_to (1)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"is_about (262)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_left_side_of (52)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:constitutes (23344)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_insertion (210)\"]; \t\"EFO\" -> \"GO\" [label=\"subclass_of (180)\"]; \t\"EFO\" -> \"UO\" [label=\"INVERTED:is_unit_of (4)\"]; \t\"UBERON\" -> \"GO\" [label=\"adjacent_to (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"part_of (4801)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_biological_process (91)\"]; \t\"GO\" -> \"CARO\" [label=\"results_in_maturation_of (1)\"]; \t\"UO\" -> \"EFO\" [label=\"equivalent_to (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"inverse_of_sy (450)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"located_in (4)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"antagonist (789)\"]; \t\"BFO\" -> \"EFO\" [label=\"INVERTED:has_input (2)\"]; \t\"CP\" -> \"GO\" [label=\"subclass_of (9)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_surgical_approach (688)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"immediately_preceded_by (6)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"treats (1218218)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_action_guidance (1149)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"inheres_in (3)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_germ_origin (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_denominator_value (4074)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"subclass_of (21304)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_constitutional_part (21120)\"]; \t\"PATO\" -> \"DOID\" [label=\"xref (1)\"]; \t\"MEDDRA\" -> \"UMLS\" [label=\"xref (73929)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_archetype (1265)\"]; \t\"PathWhiz.ElementCollection\" -> \"CHEBI\" [label=\"same_as (50)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"derives_from (16)\"]; \t\"OBO\" -> \"OBO\" [label=\"positively_regulates (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"part_of (119404)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_inc_parent (116)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_pharmaceutical_route (1930)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"agonist (1350)\"]; \t\"FMA\" -> \"FMA\" [label=\"matures_from (76)\"]; \t\"FMA\" -> \"FMA\" [label=\"venous_drainage_of (132)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_partially_excised_anatomy (194)\"]; \t\"SNOMED\" -> \"UMLS\" [label=\"xref (361557)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:formed_as_result_of (4)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"inhibits (89138)\"]; \t\"OMIMPS\" -> \"MONDO\" [label=\"equivalent_to (472)\"]; \t\"OBO\" -> \"OBO\" [label=\"realized_in (1)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"disease_shares_features_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_starts_with (6)\"]; \t\"UBERON\" -> \"BFO\" [label=\"subclass_of (295)\"]; \t\"ORPHANET\" -> \"ICD10\" [label=\"xref (5735)\"]; \t\"GO\" -> \"GO\" [label=\"precedes (1)\"]; \t\"FMA\" -> \"UBERON\" [label=\"subclass_of (8)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:has_salt_form (1829)\"]; \t\"CL\" -> \"GO\" [label=\"INVERTED:has_participant (28)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"anteriorly_connected_to (22)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"conduit_for (57)\"]; \t\"FMA\" -> \"FMA\" [label=\"projects_from (110)\"]; \t\"ecogene\" -> \"SO\" [label=\"subclass_of (4018)\"]; \t\"GO\" -> \"GO\" [label=\"directly_regulates (12)\"]; \t\"NCIT\" -> \"ExO\" [label=\"subclass_of (2)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"in_taxon (1)\"]; \t\"PathWhiz.ElementCollection\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (163)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_approved_unknown_phase (6536)\"]; \t\"EFO\" -> \"EFO\" [label=\"related_to (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"contributes_to_morphology_of (633)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"INVERTED:has_part (20)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"subclass_of (9884)\"]; \t\"EFO\" -> \"MONDO\" [label=\"equivalent_to (2850)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_superficial_part_of (7)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"related_to (1)\"]; \t\"GO\" -> \"CHEBI\" [label=\"has_primary_input (1000)\"]; \t\"GO\" -> \"CHEBI\" [label=\"is_about (4)\"]; \t\"CL\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (24)\"]; \t\"CL\" -> \"CL\" [label=\"subclass_of (3462)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_biomarker_of (32)\"]; \t\"EFO\" -> \"EFO\" [label=\"bearer_of (970)\"]; \t\"MA\" -> \"FMA\" [label=\"xref (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"internal_to (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_supersystem (19700)\"]; \t\"SIO\" -> \"GENEPIO\" [label=\"subclass_of (9)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_related_to_endogenous_product (23)\"]; \t\"GEO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"subclass_of (11)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"INVERTED:inverse_of_ro (356197)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_muscle_antagonist (47)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_ends_during_or_before (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_associated_disease_of (1027)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_1 (132)\"]; \t\"UBERON\" -> \"CL\" [label=\"has_potential_to_developmentally_contribute_to (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"ends (1)\"]; \t\"HP\" -> \"OMIM\" [label=\"xref (24)\"]; \t\"GO\" -> \"GO\" [label=\"directly_negatively_regulates (11)\"]; \t\"MESH\" -> \"MESH\" [label=\"isa (9514)\"]; \t\"DOID\" -> \"ARO\" [label=\"subclass_of (4)\"]; \t\"GO\" -> \"GO\" [label=\"exports (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"role_has_parent (11)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"only_in_taxon (3)\"]; \t\"KEGG\" -> \"UniProtKB\" [label=\"physically_interacts_with (22304)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_abnormal_cell (1194)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"role_has_domain (83)\"]; \t\"ATC\" -> \"UMLS\" [label=\"xref (6331)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"causes (813924)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"approximately_perpendicular_to (1)\"]; \t\"CHEBI\" -> \"PR\" [label=\"INVERTED:has_component (47)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"substrate (6)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_numerator_value (2313)\"]; \t\"VANDF\" -> \"VANDF\" [label=\"ingredient_of (18404)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:develops_from (18)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"subclass_of (96)\"]; \t\"PO\" -> \"EFO\" [label=\"subclass_of (30)\"]; \t\"EFO\" -> \"EFO\" [label=\"part_of (48)\"]; \t\"HP\" -> \"ICD9\" [label=\"xref (18)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"active_ingredient_of (18593)\"]; \t\"PR\" -> \"PR\" [label=\"part_of (1)\"]; \t\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"subset_of (1389)\"]; \t\"OBI\" -> \"EDAM\" [label=\"subclass_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_is_biomarker_type (39)\"]; \t\"FOODON\" -> \"PO\" [label=\"subclass_of (11)\"]; \t\"GO\" -> \"GO\" [label=\"has_occurrence (258)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_nerve_supply (2127)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_state_of_matter (620)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_deep_to (40)\"]; \t\"IAO\" -> \"IAO\" [label=\"type (22)\"]; \t\"OBO\" -> \"FMA\" [label=\"xref (1)\"]; \t\"GENEPIO\" -> \"NCIT\" [label=\"INVERTED:after (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"segmental_composition_of (2)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_form (1)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"subclass_of (25409)\"]; \t\"BFO\" -> \"BFO\" [label=\"subclass_of (37)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317348 (227)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_partially_excised_anatomy (9)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"disrupting_agent (5)\"]; \t\"UBERON\" -> \"MONDO\" [label=\"INVERTED:disease_arises_from_structure (55)\"]; \t\"EFO\" -> \"EFO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"GO\" -> \"GO\" [label=\"directly_positively_regulates (15)\"]; \t\"BTO\" -> \"CL\" [label=\"derives_from (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:process_involves_gene (25114)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"measures (183140)\"]; \t\"OPL\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"produces (41274)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"mapped_to (2900)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:has_member (2243)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"serially_homologous_to (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"enzyme_metabolizes_chemical_or_drug (636)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_mapping_qualifier (22)\"]; \t\"WD\" -> \"MONDO\" [label=\"equivalent_to (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"direct_right_of (229)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"equivalent_to (9149)\"]; \t\"FMA\" -> \"FMA\" [label=\"direct_cell_shape_of (2)\"]; \t\"FAO\" -> \"FAO\" [label=\"INVERTED:develops_from (2)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_remodeling_of (10)\"]; \t\"FMA\" -> \"FMA\" [label=\"continuous_with (2512)\"]; \t\"PathWhiz.ProteinComplex\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (809)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:ctcae_5_parent_of (1721)\"]; \t\"FOODON\" -> \"GAZ\" [label=\"has_country_of_origin (9)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"disease_has_feature (1)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_commitment_to (2)\"]; \t\"GEO\" -> \"GENEPIO\" [label=\"aligned_with (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_associated_disease (1935)\"]; \t\"FMA\" -> \"FMA\" [label=\"insertion_of (213)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_release_characteristics (502)\"]; \t\"MONDO\" -> \"KEGG\" [label=\"xref (37)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"process_of (810370)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_cytogenetic_abnormality_of_disease (326)\"]; \t\"GO\" -> \"CL\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_determination_of (25)\"]; \t\"CL\" -> \"CARO\" [label=\"INVERTED:has_part (3)\"]; \t\"CL\" -> \"CL\" [label=\"develops_into (5)\"]; \t\"MOD\" -> \"PR\" [label=\"INVERTED:has_part (5383)\"]; \t\"OMIT\" -> \"OMIT\" [label=\"subclass_of (7)\"]; \t\"UBERON\" -> \"CL\" [label=\"bounding_layer_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"subclass_of (80401)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"INVERTED:produced_by (1)\"]; \t\"PO\" -> \"PO\" [label=\"INVERTED:has_part (9)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"xref (9151)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:output_of (15)\"]; \t\"CL\" -> \"PO\" [label=\"xref (1)\"]; \t\"FOODON\" -> \"NCBITaxon\" [label=\"in_taxon (1733)\"]; \t\"NBO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (1)\"]; \t\"FBgn\" -> \"NCBITaxon\" [label=\"only_in_taxon (3954)\"]; \t\"MONDO\" -> \"OMIMPS\" [label=\"xref (477)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"distally_connected_to (30)\"]; \t\"EFO\" -> \"BFO\" [label=\"has_output (1)\"]; \t\"MONDO\" -> \"OBI\" [label=\"xref (1)\"]; \t\"SO\" -> \"PR\" [label=\"subclass_of (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_in_chromosomal_location (3906)\"]; \t\"PR\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (18)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_3 (56)\"]; \t\"VANDF\" -> \"UMLS\" [label=\"xref (28951)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"disease_has_feature (24)\"]; \t\"DRUGBANK\" -> \"SMPDB\" [label=\"pathway (3762)\"]; \t\"GO\" -> \"CL\" [label=\"acts_on_population_of (84)\"]; \t\"EFO\" -> \"PO\" [label=\"xref (31)\"]; \t\"MONDO\" -> \"OGMS\" [label=\"equivalent_to (1)\"]; \t\"CPT\" -> \"CPT\" [label=\"panel_element_of (129)\"]; \t\"OBO\" -> \"OBO\" [label=\"INVERTED:has_part (1)\"]; \t\"EFO\" -> \"DOID\" [label=\"is_about (1)\"]; \t\"SO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (9)\"]; \t\"DRUGBANK\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (492409)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:derives (274)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"is_interpreted_by (37621)\"]; \t\"EFO\" -> \"OBI\" [label=\"subclass_of (105)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_measurement_method (17)\"]; \t\"SYMP\" -> \"ARO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"ENVO\" [label=\"subclass_of (3)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"is_about (8)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"precedes (2)\"]; \t\"FOODON\" -> \"NCIT\" [label=\"subclass_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"receives_projection (117)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"transmitted_by (74)\"]; \t\"OBO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (20)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form (12616)\"]; \t\"GO\" -> \"PR\" [label=\"has_primary_output (10)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_maintenance_of (16)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_observed_anatomical_entity (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"HP\" [label=\"indicated_for (2095)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_biochemical_function (4865)\"]; \t\"NCIT\" -> \"UMLS\" [label=\"xref (165880)\"]; \t\"GENEPIO\" -> \"UO\" [label=\"subclass_of (7)\"]; \t\"MOD\" -> \"MOD\" [label=\"subclass_of (151)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"complicates (585)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:c016 (6366)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_output (1)\"]; \t\"MONDO\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_subject_relationship_context (5084)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_organism_source_of_gene_product (532)\"]; \t\"DRUGBANK\" -> \"KEGG\" [label=\"same_as (494)\"]; \t\"FBbt\" -> \"UBERON\" [label=\"part_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_connection_type (4)\"]; \t\"OBI\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"CHMO\" -> \"CHMO\" [label=\"subclass_of (7)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_member (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_priority (211)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within (293)\"]; \t\"GO\" -> \"PR\" [label=\"INVERTED:output_of (808)\"]; \t\"ARO\" -> \"OBI\" [label=\"subclass_of (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"dorsal_to (10)\"]; \t\"FOODON\" -> \"ENVO\" [label=\"derives_from (8)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_realization (1450)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"sub_property_of (3)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_shares_features_of (2)\"]; \t\"MF\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (3)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"type (43)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_part (9)\"]; \t\"CHEMBL.TARGET\" -> \"ENSEMBL\" [label=\"part_of (4)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_shares_features_of (11)\"]; \t\"MONDO\" -> \"MESH\" [label=\"equivalent_to (7860)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"role_has_range (97)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"channel_blocker (158)\"]; \t\"PATO\" -> \"PATO\" [label=\"INVERTED:has_part (9)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antisense (3)\"]; \t\"MONDO\" -> \"PATO\" [label=\"has_modifier (78)\"]; \t\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (300)\"]; \t\"PathWhiz.Reaction\" -> \"CHEBI\" [label=\"has_right_element (169923)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"prevents (7331)\"]; \t\"ORPHANET\" -> \"CL\" [label=\"has_disease_location (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"luminal_space_of (77)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"analyzes (72330)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:410295 (1091)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"part_of (1)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_morphogenesis_of (30)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"channels_from (25)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_is_marked_by_gene (8)\"]; \t\"UBERON\" -> \"BFO\" [label=\"sub_property_of (3)\"]; \t\"EFO\" -> \"BTO\" [label=\"is_about (3)\"]; \t\"CL\" -> \"GO\" [label=\"participates_in (18)\"]; \t\"OBO\" -> \"CARO\" [label=\"subclass_of (1)\"]; \t\"ORPHANET\" -> \"GO\" [label=\"has_disease_location (10)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_site (91236)\"]; \t\"NCBIGene\" -> \"NCBITaxon\" [label=\"in_taxon (61530)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_occurrence (5492)\"]; \t\"CL\" -> \"GO\" [label=\"has_plasma_membrane_part (1)\"]; \t\"OGMS\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"OIO\" [label=\"subclass_of (2)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"part_of (1)\"]; \t\"CL\" -> \"NCIT\" [label=\"xref (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"posteriorly_connected_to (1)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_dose_form (42707)\"]; \t\"EFO\" -> \"MP\" [label=\"has_phenotype (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"bounding_layer_of (1)\"]; \t\"KEGG\" -> \"MONDO\" [label=\"equivalent_to (37)\"]; \t\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"overlaps_with (2630)\"]; \t\"UBERON\" -> \"CL\" [label=\"surrounds (7)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_site (3506)\"]; \t\"FMA\" -> \"FMA\" [label=\"posteromedial_to (9)\"]; \t\"EFO\" -> \"NCIT\" [label=\"xref (2012)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antibody (180)\"]; \t\"EFO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_maturation_of (16)\"]; \t\"ZFIN\" -> \"SO\" [label=\"subclass_of (3318)\"]; \t\"UBERON\" -> \"GO\" [label=\"surrounds (3)\"]; \t\"PathWhiz.Reaction\" -> \"CHEBI\" [label=\"has_left_element (188562)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"INVERTED:has_manifestation (121769)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within_positive_effect (13)\"]; \t\"FMA\" -> \"FMA\" [label=\"transforms_into (28)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"finishes_axis (7)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_physiologic_effect (1)\"]; \t\"OMIT\" -> \"CHEBI\" [label=\"subclass_of (3)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_maturation_of (2)\"]; \t\"DOID\" -> \"OMIM\" [label=\"xref (4868)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"negative_modulator (5)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"superficial_to (14)\"]; \t\"HP\" -> \"HP\" [label=\"has_modifier (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"developmentally_replaces (8)\"]; \t\"NCIT\" -> \"ICO\" [label=\"is_about (1)\"]; \t\"RXNORM\" -> \"UMLS\" [label=\"xref (108886)\"]; \t\"UBERON\" -> \"NBO\" [label=\"INVERTED:has_participant (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_clinical_course (4570)\"]; \t\"UBERON\" -> \"GO\" [label=\"INVERTED:has_participant (2)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"agonist (105)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_scale (87167)\"]; \t\"NCIT\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"]; \t\"EFO\" -> \"UO\" [label=\"subclass_of (38)\"]; \t\"FMA\" -> \"FMA\" [label=\"regional_part_of (27615)\"]; \t\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"equivalent_to (36)\"]; \t\"OBI\" -> \"STATO\" [label=\"is_about (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"INVERTED:has_component (3)\"]; \t\"EFO\" -> \"EFO\" [label=\"participates_in (8)\"]; \t\"PR\" -> \"NCBITaxon\" [label=\"only_in_taxon (177969)\"]; \t\"MGI\" -> \"SO\" [label=\"subclass_of (16846)\"]; \t\"ENSEMBL\" -> \"PR\" [label=\"INVERTED:has_gene_template (110)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"gating_inhibitor (32)\"]; \t\"BTO\" -> \"CL\" [label=\"subclass_of (6)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"partial_agonist (47)\"]; \t\"GO\" -> \"CL\" [label=\"part_of (150)\"]; \t\"UBERON\" -> \"MESH\" [label=\"xref (644)\"]; \t\"HGNC\" -> \"PR\" [label=\"INVERTED:has_gene_template (19823)\"]; \t\"CPT\" -> \"CPT\" [label=\"panel_element_of_possibly_included (1)\"]; \t\"IAO\" -> \"EFO\" [label=\"inverse_of (1)\"]; \t\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"adjacent_to (8)\"]; \t\"KEGG\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (1701455)\"]; \t\"EO\" -> \"EO\" [label=\"subclass_of (47)\"]; \t\"GO\" -> \"GO\" [label=\"part_of (5240)\"]; \t\"EFO\" -> \"BTO\" [label=\"equivalent_to (1)\"]; \t\"DOID\" -> \"ICD9\" [label=\"xref (11)\"]; \t\"OBI\" -> \"EFO\" [label=\"INVERTED:has_participant (1)\"]; \t\"VCARD\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"ZEA\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"inverse_of_measures (79662)\"]; \t\"EFO\" -> \"EFO\" [label=\"INVERTED:has_input (4)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_positive_effect (14)\"]; \t\"SO\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (3)\"]; \t\"GO\" -> \"OBO\" [label=\"has_input (48)\"]; \t\"GO\" -> \"GO\" [label=\"bounding_layer_of (29)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_innermost_side_of (2)\"]; \t\"RO\" -> \"RO\" [label=\"sub_property_of (621)\"]; \t\"OBO\" -> \"OBOREL\" [label=\"inverse_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"located_in (3)\"]; \t\"RO\" -> \"RO\" [label=\"inverse_of (122)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"disease_has_feature (25)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_anatomy (63)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_disassembly_of (75)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_intent (5207)\"]; \t\"CHEBI\" -> \"PR\" [label=\"INVERTED:has_part (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"part_of_progression_of_disease (2)\"]; \t\"EnsemblGenomes\" -> \"SO\" [label=\"subclass_of (278)\"]; \t\"GO\" -> \"OBO\" [label=\"transports_or_maintains_localization_of (20)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_unit_of_presentation (2918)\"]; \t\"FAO\" -> \"FAO\" [label=\"subclass_of (32)\"]; \t\"CL\" -> \"RO\" [label=\"sub_property_of (2)\"]; \t\"UBERON\" -> \"CARO\" [label=\"subclass_of (1408)\"]; \t\"HMDB\" -> \"NCIT\" [label=\"at_tissue (217)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_developmental_progression_of (1)\"]; \t\"MONDO\" -> \"CHEBI\" [label=\"disease_has_basis_in_accumulation_of (1)\"]; \t\"GENEPIO\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"CVDO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_target_end_location (2)\"]; \t\"HP\" -> \"ARO\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"right_medial_to (4)\"]; \t\"GO\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"develops_from_part_of (13)\"]; \t\"PR\" -> \"CHEBI\" [label=\"derives_from (1)\"]; \t\"UBERON\" -> \"CARO\" [label=\"xref (42)\"]; \t\"ENVO\" -> \"GENEPIO\" [label=\"subclass_of (17)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"member_of (9)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"part_of (41790)\"]; \t\"FMA\" -> \"FMA\" [label=\"segmental_supply_of (683)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"cause_of (7207)\"]; \t\"OMIABIS\" -> \"OGMS\" [label=\"subclass_of (1)\"]; \t\"MF\" -> \"MF\" [label=\"INVERTED:has_occurrent_part (1)\"]; \t\"ZFA\" -> \"EFO\" [label=\"subclass_of (33)\"]; \t\"SYMP\" -> \"SYMP\" [label=\"has_symptom (1)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:produced_by (1)\"]; \t\"dbpedia\" -> \"HANCESTRO\" [label=\"subclass_of (9)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"same_as (617)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"subclass_of (669)\"]; \t\"PECO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"during (118)\"]; \t\"GO\" -> \"OBO\" [label=\"imports (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"releasing_agent (26)\"]; \t\"EFO\" -> \"MONDO\" [label=\"disease_shares_features_of (1)\"]; \t\"MONDO\" -> \"GARD\" [label=\"equivalent_to (5814)\"]; \t\"NCIT\" -> \"PATO\" [label=\"subclass_of (3)\"]; \t\"EFO\" -> \"MEDDRA\" [label=\"xref (2)\"]; \t\"EHDAA2\" -> \"AEO\" [label=\"attaches_to (1)\"]; \t\"MF\" -> \"BFO\" [label=\"subclass_of (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"left_lateral_to (5)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"degrader (1)\"]; \t\"OBO\" -> \"OBO\" [label=\"regulates (2)\"]; \t\"CL\" -> \"GO\" [label=\"INVERTED:results_in_movement_of (87)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_plays_altered_role_in_process (128)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_device (279)\"]; \t\"EFO\" -> \"EFO\" [label=\"sub_property_of (5)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"affects (10769)\"]; \t\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:disease_responds_to (13)\"]; \t\"EFO\" -> \"HANCESTRO\" [label=\"derives_from (31)\"]; \t\"BTO\" -> \"UBERON\" [label=\"located_in (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"surrounds (133)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"subdivision_of (12)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:process_includes_biological_process (642)\"]; \t\"FOODON\" -> \"ECOCORE\" [label=\"INVERTED:has_participant (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"diagnoses (259899)\"]; \t\"GO\" -> \"UBERON\" [label=\"xref (44)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"interacts_with (33756)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"sexually_homologous_to (12)\"]; \t\"EFO\" -> \"MA\" [label=\"is_about (1)\"]; \t\"GAZ\" -> \"FOODON\" [label=\"subclass_of (162)\"]; \t\"UBERON\" -> \"CL\" [label=\"extends_fibers_into (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antisense_oligonucleotide (5)\"]; \t\"OBI\" -> \"OBI\" [label=\"subclass_of (105)\"]; \t\"HCPCS\" -> \"HCPCS\" [label=\"mapped_to (15)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"INVERTED:phenotype_of (13865)\"]; \t\"MONDO\" -> \"HP\" [label=\"disease_has_major_feature (100)\"]; \t\"MONDO\" -> \"HP\" [label=\"xref (565)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"subclass_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_has_mechanism_of_action (2274)\"]; \t\"EFO\" -> \"HGNC\" [label=\"xref (8)\"]; \t\"PO\" -> \"EFO\" [label=\"equivalent_to (1)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"realized_in (2)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"inheres_in (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_deep_part_of (6)\"]; \t\"CL\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (4)\"]; \t\"GO\" -> \"SO\" [label=\"xref (15)\"]; \t\"GENEPIO\" -> \"ARO\" [label=\"is_about (3)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_has_major_feature (6)\"]; \t\"MONDO\" -> \"EFO\" [label=\"xref (2857)\"]; \t\"OncoTree\" -> \"MONDO\" [label=\"equivalent_to (556)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:determined_by (11)\"]; \t\"CHEMBL.MECHANISM\" -> \"CHEMBL.MECHANISM\" [label=\"subclass_of (27)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"proximalmost_part_of (4)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_quality (9)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_primary_segmental_supply (17)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"converts_to (36699)\"]; \t\"PR\" -> \"CL\" [label=\"part_of (4)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"dorsal_to (1)\"]; \t\"DOID\" -> \"UBERON\" [label=\"located_in (618)\"]; \t\"HGNC\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (4393)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"reducing_agent (2)\"]; \t\"EFO\" -> \"HP\" [label=\"subclass_of (128)\"]; \t\"MEDDRA\" -> \"MEDDRA\" [label=\"member_of (52438)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"developmentally_induced_by (20)\"]; \t\"UniProtKB\" -> \"CHEMBL.COMPOUND\" [label=\"targets (39678)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:preceded_by (1)\"]; \t\"CHEBI\" -> \"SO\" [label=\"subclass_of (23)\"]; \t\"ERO\" -> \"OBI\" [label=\"subclass_of (4)\"]; \t\"GO\" -> \"NBO\" [label=\"INVERTED:by_means (1)\"]; \t\"CHEBI\" -> \"BFO\" [label=\"subclass_of (33)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_fragments_for_synonyms (96184)\"]; \t\"PR\" -> \"GO\" [label=\"part_of (4)\"]; \t\"IDO\" -> \"OBO\" [label=\"INVERTED:has_participant (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"part_of (9688)\"]; \t\"EFO\" -> \"EFO\" [label=\"subclass_of (11372)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_2 (208)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"characterized_by (346)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (1)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"before (11)\"]; \t\"PathWhiz.Compound\" -> \"KEGG\" [label=\"same_as (48957)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_inherent_location (1)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:regulated_by (1913)\"]; \t\"GENO\" -> \"GENO\" [label=\"subclass_of (24)\"]; \t\"CL\" -> \"MA\" [label=\"located_in (1)\"]; \t\"OGMS\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"only_in_taxon (683)\"]; \t\"biolink\" -> \"biolink\" [label=\"subclass_of (248)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_has_activity (74)\"]; \t\"ORPHANET\" -> \"MESH\" [label=\"xref (2518)\"]; \t\"DOID\" -> \"UBERON\" [label=\"adjacent_to (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"drains_into (212)\"]; \t\"HP\" -> \"NCIT\" [label=\"xref (276)\"]; \t\"MGI\" -> \"PR\" [label=\"INVERTED:has_gene_template (16846)\"]; \t\"CGNC\" -> \"SO\" [label=\"subclass_of (552)\"]; \t\"ECO\" -> \"ECO\" [label=\"subclass_of (12)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"inverse_of_exhibits (1082)\"]; \t\"OBO\" -> \"OBOREL\" [label=\"sub_property_of (1)\"]; \t\"EO\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"causal_agent_in_process (1)\"]; \t\"UniProtKB\" -> \"MONDO\" [label=\"associated_with_disease (188)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"indirectly_supplies (4)\"]; \t\"OGMS\" -> \"OGMS\" [label=\"INVERTED:has_participant_at_all_times (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_anterior_to (1)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (12)\"]; \t\"HMDB\" -> \"MEDDRA\" [label=\"at_tissue (2)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"vaccine (6)\"]; \t\"FOODON\" -> \"RO\" [label=\"sub_property_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_expressed_in_tissue (1594)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"precedes (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_venous_drainage (132)\"]; \t\"ZFIN\" -> \"PR\" [label=\"INVERTED:has_gene_template (3318)\"]; \t\"FMA\" -> \"FMA\" [label=\"tributary_of (1068)\"]; \t\"CL\" -> \"UBERON\" [label=\"INVERTED:develops_from (2)\"]; \t\"AraPort\" -> \"NCBITaxon\" [label=\"only_in_taxon (15919)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"larger_than (1)\"]; \t\"HMDB\" -> \"UMLS\" [label=\"at_cellular_location (1)\"]; \t\"NDDF\" -> \"NDDF\" [label=\"ingredient_of (12)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"administered_to (9523)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_gene_product (378)\"]; \t\"sgd\" -> \"SO\" [label=\"subclass_of (5938)\"]; \t\"GENEPIO\" -> \"GEO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"SO\" [label=\"coincident_with (6)\"]; \t\"UniProtKB\" -> \"UniProtKB\" [label=\"regulates_activity_of (165005)\"]; \t\"KEGG\" -> \"DRUGBANK\" [label=\"same_as (978)\"]; \t\"PR\" -> \"CHEBI\" [label=\"non_covalently_bound_to (7)\"]; \t\"NPO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.MECHANISM\" [label=\"related_to (4739)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_identity (126)\"]; \t\"MP\" -> \"DOID\" [label=\"xref (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"surrounded_by (35)\"]; \t\"NCIT\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"CHEBI\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (214)\"]; \t\"UBERON\" -> \"FMA\" [label=\"xref (5851)\"]; \t\"EFO\" -> \"ICD10\" [label=\"xref (2576)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_abnormality (24)\"]; \t\"NCBIGene\" -> \"SO\" [label=\"subclass_of (5380)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"in_taxon (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"agonist (720)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_transport_along (1)\"]; \t\"UBERON\" -> \"NCBITaxon\" [label=\"part_of (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:contains (333)\"]; \t\"LOINC\" -> \"UMLS\" [label=\"xref (260568)\"]; \t\"NBO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"UBERON\" [label=\"has_disease_location (278)\"]; \t\"PO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_property (521)\"]; \t\"CARO\" -> \"CARO\" [label=\"part_of (3)\"]; \t\"MONDO\" -> \"CL\" [label=\"disease_has_location (49)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_major_feature (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antagonist (2951)\"]; \t\"FMA\" -> \"FMA\" [label=\"subclass_of (107543)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"has_phenotype (15337)\"]; \t\"MONDO\" -> \"NBO\" [label=\"disease_causes_disruption_of (4)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (11)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_morphology (7589)\"]; \t\"MONDO\" -> \"GO\" [label=\"disease_causes_disruption_of (93)\"]; \t\"BTO\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"fusion_of (2)\"]; \t\"MONDO\" -> \"GO\" [label=\"disease_has_location (5)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_assembly_of (316)\"]; \t\"CL\" -> \"EFO\" [label=\"subclass_of (41)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"uses_access_device (1594)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"proximal_to (4)\"]; \t\"GENEPIO\" -> \"CHEBI\" [label=\"subclass_of (2)\"]; \t\"MONDO\" -> \"LOINC\" [label=\"xref (1)\"]; \t\"OMIT\" -> \"GENEPIO\" [label=\"subclass_of (6)\"]; \t\"ExO\" -> \"GENEPIO\" [label=\"member_of (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_finding (2554)\"]; \t\"CL\" -> \"CL\" [label=\"synapsed_to (3)\"]; \t\"CL\" -> \"MONDO\" [label=\"INVERTED:disease_arises_from_structure (58)\"]; \t\"FMA\" -> \"FMA\" [label=\"superomedial_to (5)\"]; \t\"UBERON\" -> \"GO\" [label=\"composed_primarily_of (3)\"]; \t\"HGNC\" -> \"NCBITaxon\" [label=\"only_in_taxon (19823)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"INVERTED:determined_by_part_of (1)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_1 (9)\"]; \t\"CL\" -> \"PATO\" [label=\"bearer_of (38)\"]; \t\"OBO\" -> \"GO\" [label=\"subclass_of (5)\"]; \t\"GO\" -> \"GO\" [label=\"has_primary_output (1)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:reformulated_to (9)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"is_active_in (32)\"]; \t\"NCBITaxon\" -> \"EFO\" [label=\"part_of (1)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"converts_to (290)\"]; \t\"NCIT\" -> \"FOODON\" [label=\"subclass_of (4)\"]; \t\"FOODON\" -> \"CHEBI\" [label=\"derives_from (2)\"]; \t\"SIO\" -> \"SIO\" [label=\"subclass_of (4)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_basic_dose_form (274)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_context (2641)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"conceptual_part_of (3585)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"INVERTED:location_of (2270476)\"]; \t\"MONDO\" -> \"UMLS\" [label=\"xref (14056)\"]; \t\"MONDO\" -> \"CL\" [label=\"disease_has_inflammation_site (1)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"activator (13)\"]; \t\"MONDO\" -> \"OBA\" [label=\"disease_has_feature (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"qualifier_applies_to (1)\"]; \t\"ICD10\" -> \"MONDO\" [label=\"equivalent_to (1113)\"]; \t\"NCIT\" -> \"GENEPIO\" [label=\"INVERTED:contains_process (1)\"]; \t\"IAO\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:produced_by (2)\"]; \t\"SO\" -> \"SO\" [label=\"has_quality (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"posterior_to (9)\"]; \t\"CGNC\" -> \"PR\" [label=\"INVERTED:has_gene_template (552)\"]; \t\"FMA\" -> \"FMA\" [label=\"developmental_stage_of (193)\"]; \t\"GO\" -> \"GO\" [label=\"happens_during (12)\"]; \t\"FOODON\" -> \"UBERON\" [label=\"subclass_of (2)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:ends_with (25)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chromosome_mapped_to_disease (189)\"]; \t\"HP\" -> \"MEDDRA\" [label=\"xref (93)\"]; \t\"CHEMBL.COMPOUND\" -> \"DOID\" [label=\"indicated_for (2375)\"]; \t\"UBERON\" -> \"CL\" [label=\"channel_for (4)\"]; \t\"GO\" -> \"EFO\" [label=\"INVERTED:has_input (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"stabiliser (9)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"sub_property_of (1)\"]; \t\"EFO\" -> \"CL\" [label=\"derives_from (6)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_input (3)\"]; \t\"ENSEMBL\" -> \"NCBITaxon\" [label=\"in_taxon (67667)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:contained_in (789)\"]; \t\"OBO\" -> \"FOODON\" [label=\"subclass_of (2)\"]; \t\"PDQ\" -> \"PDQ\" [label=\"associated_disease (243)\"]; \t\"BTO\" -> \"EFO\" [label=\"derives_from (3)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_has_major_feature (14)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"xref (12)\"]; \t\"PO\" -> \"PO\" [label=\"INVERTED:has_participant (3)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_development_of (65)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_3 (437)\"]; \t\"FOODON\" -> \"BFO\" [label=\"subclass_of (11)\"]; \t\"GO\" -> \"OBO\" [label=\"regulates_levels_of (2)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"process_initiates_biological_process (132)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"develops_in (9)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:has_participant (39)\"]; \t\"ARO\" -> \"IDO\" [label=\"is_about (1)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"has_modifier (257)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"same_as (692)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_mapped_to_disease (5189)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"intersection_of (1)\"]; \t\"EFO\" -> \"MONDO\" [label=\"subclass_of (2167)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_has_molecular_abnormality (294)\"]; \t\"MF\" -> \"OGMS\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_location (1)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"subclass_of (59497)\"]; \t\"RO\" -> \"BFO\" [label=\"subclass_of (2)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"subclass_of (71)\"]; \t\"ORPHANET\" -> \"GARD\" [label=\"xref (2968)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_lateral_side_of (131)\"]; \t\"FAO\" -> \"NCBITaxon\" [label=\"only_in_taxon (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"occurs_in (7221)\"]; \t\"NCBITaxon\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"sequestering_agent (23)\"]; \t\"GO\" -> \"CL\" [label=\"overlaps (15)\"]; \t\"HCPCS\" -> \"UMLS\" [label=\"xref (6948)\"]; \t\"NBO\" -> \"PATO\" [label=\"is_about (5)\"]; \t\"GO\" -> \"EFO\" [label=\"subclass_of (10)\"]; \t\"TRANS\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_view_type (1668)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_organization_of (191)\"]; \t\"FOODON\" -> \"IAO\" [label=\"subclass_of (7)\"]; \t\"MONDO\" -> \"HP\" [label=\"disease_causes_feature (5)\"]; \t\"PR\" -> \"SO\" [label=\"subclass_of (45)\"]; \t\"GO\" -> \"GO\" [label=\"overlaps (26)\"]; \t\"PR\" -> \"BFO\" [label=\"subclass_of (2)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_biomarker_type (337)\"]; \t\"CP\" -> \"PATO\" [label=\"bearer_of (4)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"has_role (1)\"]; \t\"UBERON\" -> \"CL\" [label=\"subclass_of (2)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_causes_feature (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_boundary (1)\"]; \t\"dictybase.gene\" -> \"SO\" [label=\"subclass_of (4540)\"]; \t\"FMA\" -> \"FMA\" [label=\"attaches_to (476)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_has_finding (36775)\"]; \t\"KEGG\" -> \"HMDB\" [label=\"same_as (3308)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"stimulates (110058)\"]; \t\"BTO\" -> \"EFO\" [label=\"INVERTED:develops_from (1)\"]; \t\"PATO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"subclass_of (2)\"]; \t\"SIO\" -> \"NCIT\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"UBERON\" [label=\"xref (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"has_role (17)\"]; \t\"UBERON\" -> \"CL\" [label=\"xref (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"HP\" [label=\"contraindicated_for (12221)\"]; \t\"EFO\" -> \"OBI\" [label=\"is_executed_in (2)\"]; \t\"GO\" -> \"ECOCORE\" [label=\"INVERTED:has_part (5)\"]; \t\"CP\" -> \"CL\" [label=\"INVERTED:has_part (26)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"inhibitor (203)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"attaches_to (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_approach_guidance (347)\"]; \t\"MEDDRA\" -> \"MONDO\" [label=\"equivalent_to (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"xref (4)\"]; \t\"DRUGBANK\" -> \"CHEBI\" [label=\"same_as (102)\"]; \t\"FAO\" -> \"CARO\" [label=\"subclass_of (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"produces (14)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"causes (56542)\"]; \t\"CL\" -> \"FAO\" [label=\"xref (8)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_outermost_side_of (2)\"]; \t\"EFO\" -> \"HANCESTRO\" [label=\"has_quality (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:subset_includes_concept (230272)\"]; \t\"MMO\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"NCBITaxon\" -> \"OBI\" [label=\"subclass_of (16)\"]; \t\"CHEBI\" -> \"CL\" [label=\"INVERTED:has_part (1)\"]; \t\"EHDAA2\" -> \"OBO\" [label=\"subclass_of (1)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_enantiomer_of (2594)\"]; \t\"FBgn\" -> \"SO\" [label=\"subclass_of (3954)\"]; \t\"EDAM\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"DOID\" -> \"NCIT\" [label=\"xref (3)\"]; \t\"UMLS\" -> \"MONDO\" [label=\"equivalent_to (14023)\"]; \t\"ECTO\" -> \"ExO\" [label=\"subclass_of (4)\"]; \t\"ENVO\" -> \"BFO\" [label=\"has_increased_levels_of (1)\"]; \t\"ZFIN\" -> \"NCBITaxon\" [label=\"only_in_taxon (3318)\"]; \t\"OBI\" -> \"EFO\" [label=\"subclass_of (39)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_part (16)\"]; \t\"UniProtKB\" -> \"DOID\" [label=\"associated_with_disease (3803)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEBI\" [label=\"same_as (30201)\"]; \t\"FMA\" -> \"FMA\" [label=\"superolateral_to (9)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_class (54220)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"is_given_pharmaceutical_substance_for (2418)\"]; \t\"PATO\" -> \"PATO\" [label=\"correlates_with (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"activator (42)\"]; \t\"HP\" -> \"ICD10\" [label=\"xref (83)\"]; \t\"PathWhiz.ElementCollection\" -> \"UniProtKB\" [label=\"same_as (7)\"]; \t\"NCBIGene\" -> \"UBERON\" [label=\"expressed_in (1414)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_count_of_base_of_active_ingredient (13255)\"]; \t\"UBERON\" -> \"FOODON\" [label=\"subclass_of (34)\"]; \t\"FMA\" -> \"FMA\" [label=\"posterosuperior_to (34)\"]; \t\"GO\" -> \"CHEBI\" [label=\"exports (74)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"derives_from (9)\"]; \t\"CL\" -> \"GO\" [label=\"equivalent_to (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_finding (16831)\"]; \t\"UniProtKB\" -> \"KEGG\" [label=\"physically_interacts_with (22304)\"]; \t\"NCIT\" -> \"OBI\" [label=\"subclass_of (13)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"deep_to (1)\"]; \t\"EnsemblGenomes\" -> \"PR\" [label=\"INVERTED:has_gene_template (278)\"]; \t\"GO\" -> \"GO\" [label=\"results_in (9)\"]; \t\"CL\" -> \"UBERON\" [label=\"innervates (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_morphogenesis_of (342)\"]; \t\"PR\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (1)\"]; \t\"CL\" -> \"EFO\" [label=\"participates_in (1)\"]; \t\"GO\" -> \"PR\" [label=\"xref (89)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"has_disease_location (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_revision_status (1031)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_developmental_stage (193)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (7)\"]; \t\"MONDO\" -> \"PATO\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"cofactor (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"related_object (252)\"]; \t\"CHEBI\" -> \"PR\" [label=\"subclass_of (5)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"related_to (2823)\"]; \t\"GO\" -> \"OBO\" [label=\"has_output (1)\"]; \t\"ecogene\" -> \"NCBITaxon\" [label=\"only_in_taxon (4018)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_part (277)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_plays_role_in_metabolism_of_chemical_or_drug (3)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317346 (38)\"]; \t\"GENEPIO\" -> \"DOID\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"isa (313010)\"]; \t\"CLO\" -> \"PATO\" [label=\"has_quality (405)\"]; \t\"CL\" -> \"AEO\" [label=\"INVERTED:has_part (78)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_quantified_form (15)\"]; \t\"TO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"NBO\" -> \"NBO\" [label=\"is_about (7)\"]; \t\"HMDB\" -> \"UBERON\" [label=\"at_tissue (66)\"]; \t\"NBO\" -> \"GO\" [label=\"is_about (8)\"]; \t\"MESH\" -> \"MESH\" [label=\"mapped_to (376217)\"]; \t\"GENEPIO\" -> \"OBI\" [label=\"has_quality (1)\"]; \t\"GENEPIO\" -> \"PCO\" [label=\"subclass_of (2)\"]; \t\"GAZ\" -> \"ENVO\" [label=\"type (190)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"overlaps (77)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"disease_causes_dysfunction_of (2)\"]; \t\"EFO\" -> \"PATO\" [label=\"has_quality (522)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"allosteric_modulator (139)\"]; \t\"PDQ\" -> \"PDQ\" [label=\"component_of (5952)\"]; \t\"STATO\" -> \"STATO\" [label=\"subclass_of (30)\"]; \t\"DRUGBANK\" -> \"UniProtKB\" [label=\"target (16808)\"]; \t\"OBO\" -> \"OBI\" [label=\"subclass_of (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_starts_and_ends_during (15)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_continuation_branch (28)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"located_in (166)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"inhibitor (1337)\"]; \t\"OBI\" -> \"OBI\" [label=\"type (6)\"]; \t\"EFO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"colocalizes_with (1327)\"]; \t\"EHDAA2\" -> \"OBO\" [label=\"existence_starts_during (2268)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"manifestation_of (121769)\"]; \t\"HP\" -> \"MONDO\" [label=\"equivalent_to (5)\"]; \t\"ICD10\" -> \"ICD10\" [label=\"subclass_of (98417)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"subclass_of (665)\"]; \t\"OBI\" -> \"NCIT\" [label=\"inheres_in (1)\"]; \t\"CHMO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"MONDO\" -> \"KEGG\" [label=\"equivalent_to (37)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediate_transformation_of (71)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (1276)\"]; \t\"STATO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"NCBITaxon\" -> \"EFO\" [label=\"INVERTED:has_member (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_initiates_biological_process (113)\"]; \t\"MP\" -> \"ICD9\" [label=\"xref (1)\"]; \t\"BTO\" -> \"EFO\" [label=\"subclass_of (47)\"]; \t\"RO\" -> \"RO\" [label=\"INVERTED:has_subsequence (1)\"]; \t\"NCBITaxon\" -> \"EO\" [label=\"subclass_of (3)\"]; \t\"MONDO\" -> \"OMIMPS\" [label=\"equivalent_to (472)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_input (8)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"anastomoses_with (4)\"]; \t\"ENSEMBL\" -> \"SO\" [label=\"subclass_of (110)\"]; \t\"MONDO\" -> \"OBI\" [label=\"equivalent_to (1)\"]; \t\"MESH\" -> \"GENEPIO\" [label=\"subclass_of (5)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"complicates (42952)\"]; \t\"DOID\" -> \"MEDDRA\" [label=\"xref (33)\"]; \t\"GENEPIO\" -> \"NCIT\" [label=\"is_about (10)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_causes_feature (7)\"]; \t\"EFO\" -> \"PO\" [label=\"equivalent_to (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"transports_or_maintains_localization_of (2)\"]; \t\"UBERON\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (2)\"]; \t\"UBERON\" -> \"GO\" [label=\"participates_in (8)\"]; \t\"NCIT\" -> \"ENVO\" [label=\"subclass_of (6)\"]; \t\"CL\" -> \"PR\" [label=\"has_high_plasma_membrane_amount (65)\"]; \t\"GO\" -> \"SO\" [label=\"has_input (7)\"]; \t\"MONDO\" -> \"DOID\" [label=\"xref (9027)\"]; \t\"PathWhiz.ElementCollection\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (9096)\"]; \t\"GO\" -> \"OBO\" [label=\"has_primary_input (20)\"]; \t\"PathWhiz.NucleicAcid\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (81)\"]; \t\"MONDO\" -> \"HP\" [label=\"has_modifier (140)\"]; \t\"OBO\" -> \"IDO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"RO\" [label=\"sub_property_of (8)\"]; \t\"STATO\" -> \"IAO\" [label=\"subclass_of (2)\"]; \t\"NBO\" -> \"NBO\" [label=\"regulates (16)\"]; \t\"NCIT\" -> \"UO\" [label=\"subclass_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_adjustment (343)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"has_role (3)\"]; \t\"OPL\" -> \"BTO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"SO\" [label=\"transports_or_maintains_localization_of (4)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_specification_of (7)\"]; \t\"EFO\" -> \"DOID\" [label=\"subclass_of (6)\"]; \t\"ENSEMBL\" -> \"HGNC\" [label=\"same_as (42691)\"]; \t\"MONDO\" -> \"MFOEM\" [label=\"disease_causes_disruption_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"partial_agonist (62)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_development_type (13)\"]; \t\"PW\" -> \"OBO\" [label=\"subclass_of (5)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_involved_in_pathogenesis_of_disease (1115)\"]; \t\"DOID\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"OBO\" -> \"OGMS\" [label=\"is_about (1)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (8)\"]; \t\"PDQ\" -> \"UMLS\" [label=\"xref (18972)\"]; \t\"FBgn\" -> \"PR\" [label=\"INVERTED:has_gene_template (3954)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:consists_of (26132)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_proximal_side_of (2)\"]; \t\"HP\" -> \"UBERON\" [label=\"xref (1)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"has_input (10)\"]; \t\"CL\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (41)\"]; \t\"OBI\" -> \"CHEBI\" [label=\"subclass_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"lateral_to (111)\"]; \t\"PATO\" -> \"PATO\" [label=\"decreased_in_magnitude_relative_to (2)\"]; \t\"NDDF\" -> \"NDDF\" [label=\"has_dose_form (17997)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:cdrh_parent_of (666)\"]; \t\"EFO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:ingredient_of (36788)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_temporal_context (5183)\"]; \t\"RO\" -> \"EFO\" [label=\"sub_property_of (1)\"]; \t\"GO\" -> \"SO\" [label=\"imports (1)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"part_of (128)\"]; \t\"ENVO\" -> \"PATO\" [label=\"has_quality (32)\"]; \t\"FMA\" -> \"FMA\" [label=\"arterial_supply_of (622)\"]; \t\"sgd\" -> \"PR\" [label=\"INVERTED:has_gene_template (5940)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"uses_device (4753)\"]; \t\"FMA\" -> \"FMA\" [label=\"inherent_3d_shape_of (4)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"same_as (17550)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"only_in_taxon (5)\"]; \t\"ENVO\" -> \"SIO\" [label=\"subclass_of (1)\"]; \t\"VANDF\" -> \"VANDF\" [label=\"INVERTED:inverse_of_isa (7426)\"]; \t\"CL\" -> \"UBERON\" [label=\"produces (6)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"member_of (22330)\"]; \t\"EO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"connected_to (80)\"]; \t\"HP\" -> \"UPHENO\" [label=\"subclass_of (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_negative_effect (5)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_fission_of (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"articulates_with (692)\"]; \t\"EFO\" -> \"BTO\" [label=\"subclass_of (217)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_parent_group (6515)\"]; \t\"EFO\" -> \"OGMS\" [label=\"xref (1)\"]; \t\"GENEPIO\" -> \"MI\" [label=\"subclass_of (15)\"]; \t\"FMA\" -> \"FMA\" [label=\"inverse_of_contains (555)\"]; \t\"PO\" -> \"PO\" [label=\"participates_in (7)\"]; \t\"ARO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"partially_surrounded_by (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"involved_in (277260)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of (169)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:inverse_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_skeleton (38)\"]; \t\"FMA\" -> \"FMA\" [label=\"merges_with (6)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"compared_with (26838)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"allelic_variant_of (29202)\"]; \t\"OBO\" -> \"OBO\" [label=\"negatively_regulates (1)\"]; \t\"NCBIGene\" -> \"PR\" [label=\"INVERTED:has_gene_template (5701)\"]; \t\"BAO\" -> \"CHEBI\" [label=\"subclass_of (2)\"]; \t\"GO\" -> \"FMA\" [label=\"xref (10)\"]; \t\"OBO\" -> \"OIO\" [label=\"subclass_of (5)\"]; \t\"PathWhiz.Compound\" -> \"CHEBI\" [label=\"same_as (32541)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"located_in (152)\"]; \t\"PDQ\" -> \"PDQ\" [label=\"subclass_of (4291)\"]; \t\"DOID\" -> \"ICD10\" [label=\"xref (8)\"]; \t\"MESH\" -> \"MESH\" [label=\"INVERTED:inverse_of_ro (13058)\"]; \t\"FMA\" -> \"FMA\" [label=\"adheres_to (7)\"]; \t\"EFO\" -> \"EFO\" [label=\"is_executed_in (2)\"]; \t\"PR\" -> \"PR\" [label=\"subclass_of (300998)\"]; \t\"MONDO\" -> \"MF\" [label=\"disease_causes_disruption_of (3)\"]; \t\"FOODON\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (17)\"]; \t\"DOID\" -> \"GO\" [label=\"realized_in_response_to_stimulus (1)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_2_or_phase_3 (16)\"]; \t\"GENEPIO\" -> \"UO\" [label=\"has_measurement_unit_label (3)\"]; \t\"OBO\" -> \"OBO\" [label=\"INVERTED:has_participant (1)\"]; \t\"PathWhiz.Reaction\" -> \"UniProtKB\" [label=\"has_right_element (12)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_dorsal_side_of (6)\"]; \t\"UniProtKB\" -> \"OMIM\" [label=\"associated_with_disease (2132)\"]; \t\"NCBITaxon\" -> \"EFO\" [label=\"subclass_of (4)\"]; \t\"PR\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (3)\"]; \t\"EFO\" -> \"SYMP\" [label=\"xref (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"connected_to (140)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:has_ingredient (3)\"]; \t\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (1418)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"associated_with (1016)\"]; \t\"EFO\" -> \"MESH\" [label=\"xref (1631)\"]; \t\"NBO\" -> \"NBO\" [label=\"part_of (1)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"xref (34858)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_shares_features_of (1)\"]; \t\"NBO\" -> \"GO\" [label=\"part_of (2)\"]; \t\"GO\" -> \"PATO\" [label=\"xref (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_procedure_site (33347)\"]; \t\"UBERON\" -> \"AEO\" [label=\"xref (109)\"]; \t\"SYMP\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:has_part (43)\"]; \t\"FOODON\" -> \"PO\" [label=\"member_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:location_of (1)\"]; \t\"IDO\" -> \"BFO\" [label=\"subclass_of (9)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_muscle_origin (210)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"xref (2)\"]; \t\"PathWhiz.Reaction\" -> \"UniProtKB\" [label=\"has_left_element (13)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317343 (4581)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_ventral_side_of (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_denominator_unit (1294)\"]; \t\"UBERON\" -> \"PR\" [label=\"produces (5)\"]; \t\"NCIT\" -> \"EFO\" [label=\"subclass_of (3)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"has_role (3)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"measures (13930)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_target_start_location (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"skeleton_of (35)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"has_modifier (867)\"]; \t\"FOODON\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (25)\"]; \t\"FMA\" -> \"FMA\" [label=\"primary_segmental_supply_of (24)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_central_side_of (1)\"]; \t\"PATO\" -> \"PATO\" [label=\"reciprocal_of (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"inferior_to (401)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"precedes (149791)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_chemical_or_drug (32)\"]; \t\"CL\" -> \"CARO\" [label=\"xref (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"plays_role (4304)\"]; \t\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:has_part (3)\"]; \t\"SO\" -> \"PR\" [label=\"INVERTED:has_part (6)\"]; \t\"GO\" -> \"DDANAT\" [label=\"xref (1)\"]; \t\"MONDO\" -> \"HP\" [label=\"disease_has_basis_in_feature (42)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"physically_interacts_with (4538)\"]; \t\"FMA\" -> \"FMA\" [label=\"sends_output_to (800)\"]; \t\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:determined_by (3)\"]; \t\"GO\" -> \"CL\" [label=\"has_target_end_location (2)\"]; \t\"FBbt\" -> \"EFO\" [label=\"subclass_of (77)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_has_basis_in_feature (23)\"]; \t\"ORPHANET\" -> \"KEGG\" [label=\"xref (4)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"augments (451409)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"temporally_related_to (60)\"]; \t\"DOID\" -> \"ORPHANET\" [label=\"subclass_of (1)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"process_of (27799)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:ingredients_of (4352)\"]; \t\"GO\" -> \"GO\" [label=\"has_target_end_location (268)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_1_or_phase_2 (30)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"coexists_with (77418)\"]; \t\"GO\" -> \"NBO\" [label=\"INVERTED:in_response_to (12)\"]; \t\"GENEPIO\" -> \"ARO\" [label=\"subclass_of (4)\"]; \t\"ICD9\" -> \"ICD9\" [label=\"subclass_of (22402)\"]; \t\"HMDB\" -> \"UniProtKB\" [label=\"has_protein_association (332823)\"]; \t\"NCIT\" -> \"OMIT\" [label=\"subclass_of (1)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_3 (81)\"]; \t\"OBO\" -> \"EFO\" [label=\"subclass_of (7)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"inverse_agonist (11)\"]; \t\"PomBase\" -> \"NCBITaxon\" [label=\"only_in_taxon (5124)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:contains_process (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"uses_energy (314)\"]; \t\"ORPHANET\" -> \"OMIMPS\" [label=\"xref (300)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (190)\"]; \t\"PO\" -> \"PO\" [label=\"subclass_of (531)\"]; \t\"EFO\" -> \"PO\" [label=\"part_of (1)\"]; \t\"NBO\" -> \"PATO\" [label=\"subclass_of (1)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"disrupts (64071)\"]; \t\"MONDO\" -> \"SNOMED\" [label=\"equivalent_to (9000)\"]; \t\"DRUGBANK\" -> \"KEGG\" [label=\"external_identifier (1670)\"]; \t\"BFO\" -> \"BFO\" [label=\"INVERTED:inverse_of (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"agonist (2960)\"]; \t\"HMDB\" -> \"MESH\" [label=\"at_tissue (2301)\"]; \t\"BTO\" -> \"BTO\" [label=\"derives_from (2)\"]; \t\"UniProtKB\" -> \"UniProtKB\" [label=\"regulates_expression_of (237781)\"]; \t\"OBI\" -> \"EFO\" [label=\"INVERTED:has_input (2)\"]; \t\"EFO\" -> \"OBO\" [label=\"part_of (5)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_substituent_group_from (1267)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"subclass_of (850)\"]; \t\"CHEMBL.COMPOUND\" -> \"DOID\" [label=\"contraindicated_for (9264)\"]; \t\"UBERON\" -> \"NBO\" [label=\"INVERTED:by_means (6)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"derives_from (1)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"antisense (22)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_interpretation (12748)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"uses (386689)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_component (8)\"]; \t\"MONDO\" -> \"ORPHANET\" [label=\"predisposes_towards (4)\"]; \t\"ARO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"superior_to (399)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_related_developmental_entity (15)\"]; \t\"EFO\" -> \"HP\" [label=\"has_phenotype (3)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:contains_process (28)\"]; \t\"MONDO\" -> \"HP\" [label=\"equivalent_to (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_severity (38)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"innervates (105)\"]; \t\"GO\" -> \"CL\" [label=\"xref (258)\"]; \t\"MONDO\" -> \"OMIM\" [label=\"xref (8869)\"]; \t\"GO\" -> \"GO\" [label=\"causally_upstream_of (3)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_food_substance_analog (14)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"specimen_procedure_of (944)\"]; \t\"MONDO\" -> \"HP\" [label=\"disease_has_feature (709)\"]; \t\"MONDO\" -> \"EFO\" [label=\"equivalent_to (2850)\"]; \t\"EFO\" -> \"UBERON\" [label=\"occurs_in (1)\"]; \t\"GENEPIO\" -> \"NCIT\" [label=\"before (1)\"]; \t\"IAO\" -> \"OIO\" [label=\"type (1)\"]; \t\"SYMP\" -> \"DOID\" [label=\"INVERTED:disease_has_basis_in (2)\"]; \t\"GO\" -> \"GO\" [label=\"xref (4)\"]; \t\"RGD\" -> \"NCBITaxon\" [label=\"only_in_taxon (8114)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"gene_mutations_contribute_to (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"transformation_of (47)\"]; \t\"UBERON\" -> \"GO\" [label=\"simultaneous_with (11)\"]; \t\"MONDO\" -> \"EFO\" [label=\"disease_has_feature (15)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"inhibitor (2414)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_development_of (588)\"]; \t\"EFO\" -> \"EFO\" [label=\"derives_from (15)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_0 (29)\"]; \t\"MONDO\" -> \"MFOMD\" [label=\"realized_in (6)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"disrupts (433181)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_scale_type (527)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_imaged_location (6361)\"]; \t\"DOID\" -> \"CL\" [label=\"located_in (10)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"binder (28)\"]; \t\"GO\" -> \"PO\" [label=\"occurs_in (10)\"]; \t\"HGNC\" -> \"SO\" [label=\"subclass_of (19874)\"]; \t\"MGI\" -> \"NCBITaxon\" [label=\"only_in_taxon (16846)\"]; \t\"FMA\" -> \"FMA\" [label=\"direct_left_of (275)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"opposite_to (3)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"coexists_with (1402013)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_mutant_encodes_gene_product_sequence_variation (809)\"]; \t\"SIO\" -> \"IAO\" [label=\"subclass_of (4)\"]; \t\"UBERON\" -> \"CL\" [label=\"part_of (6)\"]; \t\"MONDO\" -> \"ICD9\" [label=\"xref (5741)\"]; \t\"BTO\" -> \"BTO\" [label=\"INVERTED:develops_from (1)\"]; \t\"ECTO\" -> \"RO\" [label=\"subclass_of (4)\"]; \t\"PR\" -> \"PR\" [label=\"INVERTED:has_gene_template (61)\"]; \t\"GO\" -> \"PR\" [label=\"has_input (292)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"has_output (10)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"subclass_of (22)\"]; \t\"OAE\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"part_of (11)\"]; \t\"PR\" -> \"SO\" [label=\"lacks_part (3240)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_associated_location (545)\"]; \t\"UniProtKB\" -> \"DOID\" [label=\"gene_associated_with_condition (33361)\"]; \t\"FMA\" -> \"FMA\" [label=\"distal_to (159)\"]; \t\"EFO\" -> \"GARD\" [label=\"xref (555)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"ends (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:has_part (17)\"]; \t\"OBO\" -> \"PATO\" [label=\"bearer_of (1)\"]; \t\"BFO\" -> \"OIO\" [label=\"subclass_of (1)\"]; \t\"DOID\" -> \"GO\" [label=\"disease_has_location (3)\"]; \t\"OBO\" -> \"OBO\" [label=\"immediately_preceded_by (5)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"blocker (149)\"]; \t\"GO\" -> \"FAO\" [label=\"results_in_development_of (10)\"]; \t\"NCBIGene\" -> \"HP\" [label=\"has_phenotype (60)\"]; \t\"GO\" -> \"PR\" [label=\"transports_or_maintains_localization_of (9)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_direct_cell_shape (2)\"]; \t\"CL\" -> \"UBERON\" [label=\"has_soma_location (5)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"class_code_classified_by (61)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_shares_features_of (49)\"]; \t\"ECTO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (6)\"]; \t\"FOODON\" -> \"PATO\" [label=\"subclass_of (6)\"]; \t\"CHEMBL.COMPOUND\" -> \"MESH\" [label=\"treats (27892)\"]; \t\"CL\" -> \"UBERON\" [label=\"has_synaptic_terminal_in (2)\"]; \t\"ERO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"EFO\" [label=\"subclass_of (311)\"]; \t\"AraPort\" -> \"SO\" [label=\"subclass_of (15919)\"]; \t\"OBI\" -> \"BTO\" [label=\"subclass_of (1)\"]; \t\"PR\" -> \"PR\" [label=\"INVERTED:has_component (390)\"]; \t\"CL\" -> \"CL\" [label=\"INVERTED:develops_from (380)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"associated_with (3952)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"subclass_of (200)\"]; \t\"MF\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (1)\"]; \t\"CL\" -> \"FMA\" [label=\"xref (701)\"]; \t\"PR\" -> \"UBERON\" [label=\"INVERTED:has_part (6)\"]; \t\"HP\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"diagnoses (6)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"inhibits (68254)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"genetic_biomarker_related_to (2607)\"]; \t\"PECO\" -> \"PECO\" [label=\"subclass_of (8)\"]; \t\"UBERON\" -> \"EFO\" [label=\"xref (613)\"]; \t\"OGMS\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_lateral_location_presence (3480)\"]; \t\"OBI\" -> \"EFO\" [label=\"part_of (2)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"compared_with (348640)\"]; \t\"OMIT\" -> \"NCIT\" [label=\"subclass_of (2)\"]; \t\"ARO\" -> \"ARO\" [label=\"subclass_of (40)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"proteolytic_enzyme (6)\"]; \t\"NBO\" -> \"NBO\" [label=\"subclass_of (985)\"]; \t\"HP\" -> \"MESH\" [label=\"xref (3)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"class_of (45064)\"]; \t\"NBO\" -> \"GO\" [label=\"subclass_of (14)\"]; \t\"NCIT\" -> \"CHEBI\" [label=\"subclass_of (7)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_morphology (154)\"]; \t\"CHEBI\" -> \"EFO\" [label=\"has_role (83)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_conjugate_acid_of (8028)\"]; \t\"EFO\" -> \"FMA\" [label=\"xref (57)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_modality_type (6030)\"]; \t\"FMA\" -> \"EFO\" [label=\"subclass_of (1)\"]; \t\"PATO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"]; \t\"OBI\" -> \"UBERON\" [label=\"INVERTED:produced_by (1)\"]; \t\"UO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"CL\" [label=\"has_disease_location (59)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"results_in_formation_of (2)\"]; \t\"BAO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"PR\" [label=\"imports (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_is_element_in_pathway (6246)\"]; \t\"CL\" -> \"GO\" [label=\"has_high_plasma_membrane_amount (15)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_transport_along (6)\"]; \t\"SO\" -> \"CHEBI\" [label=\"subclass_of (7)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"relative_to_part_of (2)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"located_in (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_branch (6906)\"]; \t\"FMA\" -> \"FMA\" [label=\"anteromedial_to (22)\"]; \t\"GO\" -> \"MI\" [label=\"subclass_of (2)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_acquisition_of_features_of (31)\"]; \t\"UBERON\" -> \"PATO\" [label=\"has_quality (75)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_has_basis_in_feature (68)\"]; \t\"OBI\" -> \"OBI\" [label=\"is_about (1)\"]; \t\"UniProtKB\" -> \"CHEBI\" [label=\"physically_interacts_with (29920)\"]; \t\"TypOn\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"posterolateral_to (12)\"]; \t\"HP\" -> \"MP\" [label=\"xref (1)\"]; \t\"DOID\" -> \"DOID\" [label=\"has_symptom (9)\"]; \t\"PathWhiz.Compound\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (142)\"]; \t\"GENEPIO\" -> \"STATO\" [label=\"is_about (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"postaxialmost_part_of (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen (3075)\"]; \t\"HMDB\" -> \"OMIM\" [label=\"disease (4222)\"]; \t\"IDO\" -> \"OGMS\" [label=\"subclass_of (1)\"]; \t\"OBO\" -> \"CHEBI\" [label=\"subclass_of (5)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_lateral_anatomic_location (3498)\"]; \t\"GO\" -> \"CHEBI\" [label=\"has_primary_output (1168)\"]; \t\"dictybase.gene\" -> \"PR\" [label=\"INVERTED:has_gene_template (4540)\"]; \t\"RO\" -> \"RO\" [label=\"subclass_of (2)\"]; \t\"UO\" -> \"IAO\" [label=\"subclass_of (2)\"]; \t\"DOID\" -> \"UBERON\" [label=\"has_disease_location (1)\"]; \t\"MONDO\" -> \"medgen\" [label=\"equivalent_to (2582)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"multipart_of (21095)\"]; \t\"MONDO\" -> \"UMLS\" [label=\"equivalent_to (14023)\"]; \t\"EFO\" -> \"PATO\" [label=\"xref (8)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:327767 (309)\"]; \t\"OIO\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"adjacent_to (22)\"]; \t\"CPT\" -> \"CPT\" [label=\"mapped_to (191)\"]; \t\"NCBIGene\" -> \"DOID\" [label=\"associated_with_disease (110)\"]; \t\"BTO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_output (1)\"]; \t\"CPT\" -> \"CPT\" [label=\"has_possibly_included_panel_element (1)\"]; \t\"CL\" -> \"UBERON\" [label=\"adjacent_to (6)\"]; \t\"FMA\" -> \"FMA\" [label=\"anterolateral_to (18)\"]; \t\"UniProtKB\" -> \"UBERON\" [label=\"expressed_in (323101)\"]; \t\"DOID\" -> \"GO\" [label=\"realized_in_response_to (6)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_component (4159)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_exam (454)\"]; \t\"HANCESTRO\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"subclass_of (3400)\"]; \t\"GENEPIO\" -> \"SO\" [label=\"is_about (7)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_definitional_manifestation (13)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_found_in_organism (1840)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_growth_of (20)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"stimulates (663742)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"INVERTED:output_of (3)\"]; \t\"EFO\" -> \"UBERON\" [label=\"is_about (341)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_technique (155)\"]; \t\"BFO\" -> \"EFO\" [label=\"subclass_of (4)\"]; \t\"GO\" -> \"SO\" [label=\"has_output (6)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"directly_develops_from (1)\"]; \t\"HMDB\" -> \"SMPDB\" [label=\"in_pathway (482060)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:composed_primarily_of (3)\"]; \t\"MONDO\" -> \"RO\" [label=\"sub_property_of (1)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"located_in (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_normal_cell_origin_of_disease (18809)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"tributary_of (35)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"activator (316)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:site_of (16)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_transport_to_from_or_in (2)\"]; \t\"BTO\" -> \"BTO\" [label=\"subclass_of (7)\"]; \t\"FMA\" -> \"FMA\" [label=\"branch_of (7586)\"]; \t\"PO\" -> \"PO\" [label=\"adjacent_to (1)\"]; \t\"UBERON\" -> \"EHDAA2\" [label=\"xref (1386)\"]; \t\"MEDDRA\" -> \"MEDDRA\" [label=\"subclass_of (36911)\"]; \t\"GENEPIO\" -> \"CHMO\" [label=\"subclass_of (5)\"]; \t\"SYMP\" -> \"SYMP\" [label=\"subclass_of (847)\"]; \t\"ECTO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (33)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"disease_has_feature (298)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_modality_subtype (1083)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"sub_property_of (15)\"]; \t\"EFO\" -> \"UBERON\" [label=\"inheres_in (7)\"]; \t\"HMDB\" -> \"FMA\" [label=\"at_tissue (4175)\"]; \t\"FMA\" -> \"UMLS\" [label=\"xref (104400)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"drains (79)\"]; \t\"HANCESTRO\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"has_not_completed (12)\"]; \t\"OBI\" -> \"ERO\" [label=\"subclass_of (3)\"]; \t\"ICO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"FAO\" [label=\"results_in_growth_of (1)\"]; \t\"PATO\" -> \"PATO\" [label=\"increased_in_magnitude_relative_to (4)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"same_as (142)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_absent_from_wild_type_chromosomal_location (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"associated_with (699263)\"]; \t\"GENEPIO\" -> \"NCBITaxon\" [label=\"is_about (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_segmental_composition (2)\"]; \t\"wb\" -> \"PR\" [label=\"INVERTED:has_gene_template (4479)\"]; \t\"IAO\" -> \"OBO\" [label=\"inverse_of (1)\"]; \t\"CL\" -> \"UBERON\" [label=\"located_in (83)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_plays_role_in_biological_process (21782)\"]; \t\"GAZ\" -> \"GENEPIO\" [label=\"subclass_of (16)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"disease_has_basis_in_feature (1)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_component (38)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_commitment_to (57)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"has_axis (6)\"]; \t\"ERO\" -> \"ERO\" [label=\"subclass_of (2)\"]; \t\"UBERON\" -> \"UMLS\" [label=\"xref (2836)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"allele_in_chromosomal_location (104)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"develops_from_part_of (5)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_has_primary_anatomic_site (11480)\"]; \t\"UBERON\" -> \"NBO\" [label=\"capable_of (2)\"]; \t\"PR\" -> \"GO\" [label=\"subclass_of (360)\"]; \t\"UBERON\" -> \"GO\" [label=\"capable_of (122)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"produces (25911)\"]; \t\"GO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (30)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_suffix (33614)\"]; \t\"MESH\" -> \"MONDO\" [label=\"equivalent_to (7860)\"]; \t\"UBERON\" -> \"GO\" [label=\"functionally_related_to (4)\"]; \t\"HCPCS\" -> \"HCPCS\" [label=\"subclass_of (6944)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"subclass_of (23328)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_structural_organization_of (8)\"]; \t\"GO\" -> \"GO\" [label=\"capable_of_part_of (298)\"]; \t\"GENEPIO\" -> \"SIO\" [label=\"subclass_of (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"secondary_segmental_supply_of (2)\"]; \t\"ORPHANET\" -> \"HP\" [label=\"xref (87)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:complex_has_physical_part (616)\"]; \t\"GEO\" -> \"GEO\" [label=\"subclass_of (1)\"]; \t\"OBO\" -> \"CL\" [label=\"INVERTED:has_part (3)\"]; \t\"CHEBI\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"xref (1)\"]; \t\"PO\" -> \"PO\" [label=\"located_in (3)\"]; \t\"GO\" -> \"GO\" [label=\"isa (6463)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"inheres_in (9)\"]; \t\"dictybase.gene\" -> \"NCBITaxon\" [label=\"only_in_taxon (4540)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"has_quality (4)\"]; \t\"EFO\" -> \"EFO\" [label=\"INVERTED:develops_from (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"channels_into (18)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"xref (61)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"human_disease_maps_to_eo_disease (1829)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"modulator (85)\"]; \t\"VT\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"SO\" [label=\"has_primary_input (17)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_secondary_segmental_supply (79)\"]; \t\"EFO\" -> \"CL\" [label=\"xref (12)\"]; \t\"HP\" -> \"GARD\" [label=\"xref (1)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"INVERTED:inverse_of_rn (115122)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"converts_to (1690)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_specification_of (4)\"]; \t\"GENEPIO\" -> \"OBO\" [label=\"subclass_of (1)\"]; \t\"GENEPIO\" -> \"GAZ\" [label=\"located_in (1)\"]; \t\"HP\" -> \"ORPHANET\" [label=\"subclass_of (2)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"connects (524)\"]; \t\"EFO\" -> \"GO\" [label=\"xref (6)\"]; \t\"MONDO\" -> \"HP\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"cross_linking_agent (33)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_method (60209)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_numerator_unit (4305)\"]; \t\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (1567712)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"has_role (39604)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"branching_part_of (47)\"]; \t\"MONDO\" -> \"EFO\" [label=\"subclass_of (1906)\"]; \t\"NCBITaxon\" -> \"EFO\" [label=\"INVERTED:has_participant (16)\"]; \t\"EHDAA2\" -> \"OBO\" [label=\"existence_ends_during (2367)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_consumer (6)\"]; \t\"UBERON\" -> \"ZFA\" [label=\"xref (33)\"]; \t\"FOODON\" -> \"PO\" [label=\"derives_from (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_inherent_attribute (156)\"]; \t\"GTPI\" -> \"NCBIGene\" [label=\"affects (97)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"disease_shares_features_of (1)\"]; \t\"GAZ\" -> \"GENEPIO\" [label=\"type (56)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"INVERTED:has_part (3773)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"subclass_of (179)\"]; \t\"UPHENO\" -> \"PATO\" [label=\"subclass_of (1)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_2_or_phase_3 (29)\"]; \t\"GO\" -> \"GO\" [label=\"immediately_preceded_by (7)\"]; \t\"PO\" -> \"FOODON\" [label=\"INVERTED:has_part (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"attaches_to_part_of (2)\"]; \t\"EFO\" -> \"EFO\" [label=\"has_quality (10)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"anterior_to (11)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_has_metastatic_anatomic_site (140)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"surface_of (12)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_formation_of (17)\"]; \t\"MONDO\" -> \"OMOP\" [label=\"equivalent_to (1590)\"]; \t\"NCBIGene\" -> \"CL\" [label=\"expressed_in (20)\"]; \t\"FBbt\" -> \"FBbt\" [label=\"subclass_of (12)\"]; \t\"CL\" -> \"PR\" [label=\"lacks_plasma_membrane_part (454)\"]; \t\"DOID\" -> \"GO\" [label=\"disease_causes_disruption_of (27)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_end_location (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"receives_drainage_from (195)\"]; \t\"NCBITaxon\" -> \"UMLS\" [label=\"xref (1776528)\"]; \t\"NCIT\" -> \"DOID\" [label=\"subclass_of (1)\"]; \t\"HMDB\" -> \"MESH\" [label=\"in_biospecimen (19)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"owning_subsection_of (42)\"]; \t\"DOID\" -> \"MESH\" [label=\"xref (3539)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_morphogenesis_of (10)\"]; \t\"NCIT\" -> \"PCO\" [label=\"subclass_of (2)\"]; \t\"MONDO\" -> \"OncoTree\" [label=\"equivalent_to (556)\"]; \t\"CL\" -> \"UBERON\" [label=\"part_of (690)\"]; \t\"VCARD\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"has_start_location (1)\"]; \t\"OBOREL\" -> \"RO\" [label=\"sub_property_of (1)\"]; \t\"BTO\" -> \"PATO\" [label=\"bearer_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"has_input (9)\"]; \t\"SIO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (2)\"]; \t\"UBERON\" -> \"BTO\" [label=\"INVERTED:develops_from (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_has_normal_tissue_origin (19638)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_morphogenesis_of (12)\"]; \t\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_nucleic_acid (816)\"]; \t\"CHEMBL.COMPOUND\" -> \"UniProtKB\" [label=\"targets (39678)\"]; \t\"FMA\" -> \"FMA\" [label=\"matures_into (76)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:negatively_regulated_by (1632)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"interacts_with (1297335)\"]; \t\"SO\" -> \"OBI\" [label=\"is_about (2)\"]; \t\"FMA\" -> \"FMA\" [label=\"proximal_to (106)\"]; \t\"BSPO\" -> \"FMA\" [label=\"xref (7)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"left_of (1)\"]; \t\"PR\" -> \"MOD\" [label=\"subclass_of (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_precondition (14)\"]; \t\"MEDDRA\" -> \"MEDDRA\" [label=\"classified_as (47649)\"]; \t\"EFO\" -> \"PO\" [label=\"subclass_of (19)\"]; \t\"ENVO\" -> \"BFO\" [label=\"subclass_of (16)\"]; \t\"PR\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (5)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"innervated_by (143)\"]; \t\"GENEPIO\" -> \"NCIT\" [label=\"subclass_of (33)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"affects (6)\"]; \t\"HMDB\" -> \"CL\" [label=\"at_tissue (7)\"]; \t\"GO\" -> \"OBA\" [label=\"negatively_regulates (11)\"]; \t\"MP\" -> \"ICD10\" [label=\"xref (2)\"]; \t\"PATO\" -> \"CARO\" [label=\"xref (2)\"]; \t\"PR\" -> \"GO\" [label=\"INVERTED:has_participant (3)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"has_substance_added (1)\"]; \t\"NCIT\" -> \"GENEPIO\" [label=\"subclass_of (38)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_right_side_of (49)\"]; \t\"PR\" -> \"PR\" [label=\"lacks_part (3181)\"]; \t\"MONDO\" -> \"CL\" [label=\"disease_causes_dysfunction_of (4)\"]; \t\"OMIM\" -> \"MONDO\" [label=\"equivalent_to (8717)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"affects (1521984)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_has_physical_location (989)\"]; \t\"HGNC\" -> \"UMLS\" [label=\"xref (41638)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (136)\"]; \t\"GAZ\" -> \"GAZ\" [label=\"subclass_of (273)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"preaxialmost_part_of (11)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"inverse_of (18)\"]; \t\"OBO\" -> \"PCO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"is_about (12)\"]; \t\"ICD9\" -> \"MONDO\" [label=\"equivalent_to (1883)\"]; \t\"SO\" -> \"GENEPIO\" [label=\"subclass_of (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_associated_with_disease (2175)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"inheres_in (41)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"blocker (21)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"starts (3)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"equivalent_to (9149)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_structural_class (2)\"]; \t\"GO\" -> \"GO\" [label=\"negatively_regulates (4659)\"]; \t\"FMA\" -> \"FMA\" [label=\"connection_type_of (4)\"]; \t\"DOID\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"]; \t\"PO\" -> \"EFO\" [label=\"part_of (10)\"]; \t\"NCIT\" -> \"MONDO\" [label=\"equivalent_to (6777)\"]; \t\"FAO\" -> \"FAO\" [label=\"part_of (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"efferent_to (820)\"]; \t\"PO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"]; \t\"ORPHANET\" -> \"UMLS\" [label=\"xref (6226)\"]; \t\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (2)\"]; \t\"UMLS\" -> \"NCBIGene\" [label=\"INVERTED:location_of (26952)\"]; \t\"FMA\" -> \"FMA\" [label=\"posterior_to (403)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"component_of (126098)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_2 (1043)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_member (22838)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"subclass_of (250116)\"]; \t\"GO\" -> \"CARO\" [label=\"results_in_development_of (1)\"]; \t\"FLU\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"MF\" -> \"MF\" [label=\"subclass_of (8)\"]; \t\"OBO\" -> \"GENEPIO\" [label=\"subclass_of (3)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"positive_allosteric_modulator (67)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"same_as (40970)\"]; \t\"PR\" -> \"PR\" [label=\"INVERTED:has_part (154)\"]; \t\"CHEBI\" -> \"EFO\" [label=\"INVERTED:has_input (14)\"]; \t\"HP\" -> \"MP\" [label=\"subclass_of (5)\"]; \t\"HMDB\" -> \"CHEBI\" [label=\"same_as (4846)\"]; \t\"GO\" -> \"CL\" [label=\"has_input (64)\"]; \t\"OMP\" -> \"NCIT\" [label=\"is_about (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_arterial_supply (599)\"]; \t\"MONDO\" -> \"DOID\" [label=\"equivalent_to (9000)\"]; \t\"CL\" -> \"OBO\" [label=\"INVERTED:has_participant (3)\"]; \t\"EFO\" -> \"CHEBI\" [label=\"has_output (1)\"]; \t\"MONDO\" -> \"UMLS\" [label=\"subclass_of (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_property_or_attribute (277)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"associated_with_disease (25)\"]; \t\"CHEBI\" -> \"OIO\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"PR\" [label=\"expresses (6)\"]; \t\"CHEBI\" -> \"NBO\" [label=\"INVERTED:has_participant (10)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"part_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"has_input (116)\"]; \t\"FMA\" -> \"FMA\" [label=\"medial_to (130)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"follows_axis (4)\"]; \t\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_participant (23)\"]; \t\"FMA\" -> \"FMA\" [label=\"bounds (1465)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"disease_has_major_feature (1)\"]; \t\"GO\" -> \"CL\" [label=\"transports_or_maintains_localization_of (4)\"]; \t\"CHEBI\" -> \"SO\" [label=\"equivalent_to (3)\"]; \t\"ecogene\" -> \"PR\" [label=\"INVERTED:has_gene_template (4019)\"]; \t\"PomBase\" -> \"PR\" [label=\"INVERTED:has_gene_template (5172)\"]; \t\"CHEBI\" -> \"BFO\" [label=\"equivalent_to (1)\"]; \t\"PathWhiz.Bound\" -> \"PathWhiz\" [label=\"INVERTED:has_bound (946)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"xref (5779)\"]; \t\"PathWhiz\" -> \"GO\" [label=\"has_location (3066986)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"xref (6793)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (2)\"]; \t\"GO\" -> \"GO\" [label=\"transports_or_maintains_localization_of (61)\"]; \t\"PCO\" -> \"ENVO\" [label=\"INVERTED:has_part (1)\"]; \t\"OBO\" -> \"OBI\" [label=\"is_about (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_system (129358)\"]; \t\"PCO\" -> \"PCO\" [label=\"subclass_of (10)\"]; \t\"ATC\" -> \"ATC\" [label=\"subclass_of (6317)\"]; \t\"MONDO\" -> \"NBO\" [label=\"realized_in (1)\"]; \t\"wb\" -> \"NCBITaxon\" [label=\"only_in_taxon (4479)\"]; \t\"MONDO\" -> \"GO\" [label=\"realized_in (9)\"]; \t\"SMPDB\" -> \"PathWhiz\" [label=\"same_as (110216)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_abnormal_cell_of_disease (49398)\"]; \t\"RO\" -> \"OBOREL\" [label=\"sub_property_of (2)\"]; \t\"DOID\" -> \"UBERON\" [label=\"derives_from (18)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"subclass_of (38341)\"]; \t\"RGD\" -> \"SO\" [label=\"subclass_of (8114)\"]; \t\"RO\" -> \"OBOREL\" [label=\"inverse_of (1)\"]; \t\"UBERON\" -> \"FBbt\" [label=\"xref (4)\"]; \t\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (10)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_developmental_contribution_from (103)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_pathological_process (16823)\"]; \t\"EHDAA2\" -> \"AEO\" [label=\"part_of (36)\"]; \t\"GO\" -> \"OBO\" [label=\"exports (4)\"]; \t\"HANCESTRO\" -> \"dbpedia\" [label=\"is_demonym_of (9)\"]; \t\"GO\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (25)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:410296 (196)\"]; \t\"DRUGBANK\" -> \"CHEBI\" [label=\"external_identifier (5052)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"has_parent_hydride (1623)\"]; \t\"PCO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:has_part (3759)\"]; \t\"PR\" -> \"PR\" [label=\"equivalent_to (8)\"]; \t\"FMA\" -> \"FMA\" [label=\"INVERTED:transforms_from (22)\"]; \t\"HP\" -> \"CL\" [label=\"xref (4)\"]; \t\"EFO\" -> \"KEGG\" [label=\"xref (26)\"]; \t\"HANCESTRO\" -> \"HANCESTRO\" [label=\"has_ancestry_status (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_count (148)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_member (11)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_doseformgroup (17677)\"]; \t\"CL\" -> \"PR\" [label=\"lacks_part (10)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"cytogenetic_abnormality_involves_chromosome (684)\"]; \t\"EHDAA2\" -> \"CARO\" [label=\"subclass_of (927)\"]; \t\"HP\" -> \"GO\" [label=\"xref (3)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"starts_axis (7)\"]; \t\"GO\" -> \"GO\" [label=\"imports (2)\"]; \t\"UBERON\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (22)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"may_be_qualified_by (20)\"]; \t\"EFO\" -> \"UBERON\" [label=\"part_of (22)\"]; \t\"ARO\" -> \"NCIT\" [label=\"subclass_of (3)\"]; \t\"SO\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (5)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"antisense_inhibitor (2)\"]; \t\"EFO\" -> \"OMIMPS\" [label=\"xref (47)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"distal_to (2)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"stimulates (20660)\"]; \t\"EFO\" -> \"OBI\" [label=\"xref (1)\"]; \t\"ARO\" -> \"GENEPIO\" [label=\"equivalent_to (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"causative_agent_of (18961)\"]; \t\"DOID\" -> \"GARD\" [label=\"xref (1)\"]; \t\"EFO\" -> \"PR\" [label=\"is_about (3)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"proximally_connected_to (55)\"]; \t\"PR\" -> \"GO\" [label=\"involved_in (3)\"]; \t\"CLO\" -> \"EFO\" [label=\"bearer_of (8)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_divisor (5470)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_abnormal_cell (28)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_lymphatic_drainage (759)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_distal_side_of (2)\"]; \t\"PO\" -> \"BFO\" [label=\"subclass_of (46)\"]; \t\"ENVO\" -> \"NCIT\" [label=\"located_in (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"lymphatic_drainage_of (764)\"]; \t\"ICD10\" -> \"UMLS\" [label=\"xref (109975)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"neoplasm_has_special_category (105)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"intersects_midsagittal_plane_of (27)\"]; \t\"CL\" -> \"GO\" [label=\"produces (14)\"]; \t\"RO\" -> \"RO\" [label=\"INVERTED:inverse_of (6)\"]; \t\"FOODON\" -> \"ENVO\" [label=\"subclass_of (9)\"]; \t\"PomBase\" -> \"SO\" [label=\"subclass_of (5124)\"]; \t\"UBERON\" -> \"GENEPIO\" [label=\"subclass_of (5)\"]; \t\"KEGG\" -> \"CHEBI\" [label=\"same_as (2516)\"]; \t\"MEDDRA\" -> \"MEDDRA\" [label=\"INVERTED:has_member (17338)\"]; \t\"GO\" -> \"GO\" [label=\"immediately_precedes (4)\"]; \t\"NBO\" -> \"UBERON\" [label=\"INVERTED:output_of (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"receives_input_from (676)\"]; \t\"OMIT\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inverse_agonist (23)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:has_ingredient (38040)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"is_conjugate_base_of (8028)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_fusion (4)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.ElementCollection\" [label=\"has_right_element (1584)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"predisposes (23510)\"]; \t\"CHEBI\" -> \"EFO\" [label=\"subclass_of (223)\"]; \t\"OBO\" -> \"MI\" [label=\"subclass_of (15)\"]; \t\"HMDB\" -> \"FMA\" [label=\"in_biospecimen (49)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_qualified_by (1)\"]; \t\"MI\" -> \"MI\" [label=\"subclass_of (101)\"]; \t\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"allosteric_antagonist (1)\"]; \t\"GO\" -> \"UBERON\" [label=\"occurs_in (69)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"anterior_to (1)\"]; \t\"IAO\" -> \"BFO\" [label=\"sub_property_of (2)\"]; \t\"EFO\" -> \"NCBITaxon\" [label=\"part_of (6)\"]; \t\"UBERON\" -> \"GO\" [label=\"located_in (1)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"INVERTED:has_part (1)\"]; \t\"PR\" -> \"GO\" [label=\"capable_of (25)\"]; \t\"GEO\" -> \"GENEPIO\" [label=\"subclass_of (2)\"]; \t\"ECOCORE\" -> \"ECOCORE\" [label=\"subclass_of (8)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_1 (499)\"]; \t\"GO\" -> \"OBO\" [label=\"subclass_of (2)\"]; \t\"ORPHANET\" -> \"EFO\" [label=\"predisposes_towards (4)\"]; \t\"UBERON\" -> \"EFO\" [label=\"part_of (3)\"]; \t\"EFO\" -> \"UBERON\" [label=\"inheres_in_part_of (13)\"]; \t\"CL\" -> \"CL\" [label=\"synapsed_by (4)\"]; \t\"DRUGBANK\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (6)\"]; \t\"OMIT\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"MONDO\" -> \"MEDDRA\" [label=\"xref (3)\"]; \t\"UBERON\" -> \"BTO\" [label=\"xref (7)\"]; \t\"GO\" -> \"PATO\" [label=\"bearer_of (5)\"]; \t\"FMA\" -> \"FMA\" [label=\"right_lateral_to (4)\"]; \t\"GO\" -> \"PR\" [label=\"has_primary_input (2)\"]; \t\"CL\" -> \"AEO\" [label=\"xref (1)\"]; \t\"GO\" -> \"GO\" [label=\"inverse_ends_during (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_transformation (274)\"]; \t\"PathWhiz.Reaction\" -> \"PathWhiz.ElementCollection\" [label=\"has_left_element (1625)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_associated_anatomy (5253)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_context_binding (68)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_part (4)\"]; \t\"FOODON\" -> \"OIO\" [label=\"subclass_of (11)\"]; \t\"IAO\" -> \"IAO\" [label=\"sub_property_of (1)\"]; \t\"UniProtKB\" -> \"PathWhiz.ProteinComplex\" [label=\"INVERTED:has_protein_in_complex (1903)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inhibitor (5750)\"]; \t\"FMA\" -> \"FMA\" [label=\"development_type_of (13)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_nichd_parent (4081)\"]; \t\"GO\" -> \"CL\" [label=\"INVERTED:has_part (98)\"]; \t\"biolink\" -> \"biolink\" [label=\"sub_property_of (141)\"]; \t\"DDANAT\" -> \"CARO\" [label=\"xref (4)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"disease_has_major_feature (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"immediately_posterior_to (1)\"]; \t\"OBI\" -> \"SIO\" [label=\"subclass_of (1)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:has_part (4860)\"]; \t\"CHMO\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"posterior_to (1)\"]; \t\"PathWhiz.NucleicAcid\" -> \"CHEBI\" [label=\"same_as (35)\"]; \t\"MONDO\" -> \"HGNC\" [label=\"xref (56)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"supplies (132)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_molecular_abnormality_of_disease (1195)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"is_component_of_chemotherapy_regimen (11836)\"]; \t\"UniProtKB\" -> \"HP\" [label=\"has_phenotype (11603)\"]; \t\"EFO\" -> \"EFO\" [label=\"disease_has_major_feature (1)\"]; \t\"OBI\" -> \"BFO\" [label=\"sub_property_of (2)\"]; \t\"OPL\" -> \"GO\" [label=\"INVERTED:ends_with (1)\"]; \t\"GO\" -> \"CL\" [label=\"has_target_start_location (4)\"]; \t\"CL\" -> \"PR\" [label=\"has_low_plasma_membrane_amount (71)\"]; \t\"FMA\" -> \"FMA\" [label=\"receives_attachment_from (458)\"]; \t\"NCIT\" -> \"ARO\" [label=\"subclass_of (2)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_procedure (2467)\"]; \t\"GO\" -> \"GO\" [label=\"has_target_start_location (96)\"]; \t\"EFO\" -> \"EFO\" [label=\"has_disease_location (14)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_projection (110)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"blocker (943)\"]; \t\"IDO\" -> \"OPL\" [label=\"INVERTED:realizes (2)\"]; \t\"EFO\" -> \"ORPHANET\" [label=\"bearer_of (3)\"]; \t\"HANCESTRO\" -> \"HANCESTRO\" [label=\"subclass_of (330)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"augments (69744)\"]; \t\"NCIT\" -> \"NCBITaxon\" [label=\"in_taxon (2)\"]; \t\"DOID\" -> \"HP\" [label=\"has_phenotype (649940)\"]; \t\"GO\" -> \"DDANAT\" [label=\"results_in_development_of (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"surrounded_by (4)\"]; \t\"OBI\" -> \"IAO\" [label=\"sub_property_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"capable_of_part_of (1)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_component (119855)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"type (41)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_1_or_phase_2 (214)\"]; \t\"GOREL\" -> \"RO\" [label=\"sub_property_of (5)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_excised_anatomy (401)\"]; \t\"DDANAT\" -> \"DDANAT\" [label=\"INVERTED:develops_from (87)\"]; \t\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_ingredient (77)\"]; \t\"OBO\" -> \"IDO\" [label=\"has_role (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_numerator_unit (2123)\"]; \t\"HP\" -> \"UBERON\" [label=\"affects (2853)\"]; \t\"PATO\" -> \"BFO\" [label=\"subclass_of (13)\"]; \t\"GO\" -> \"UMLS\" [label=\"xref (69387)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"part_of (72)\"]; \t\"ORPHANET\" -> \"DOID\" [label=\"xref (1579)\"]; \t\"ENVO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (13)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_aggregation_view (3311)\"]; \t\"FBbt\" -> \"FBbt\" [label=\"part_of (16)\"]; \t\"FBbt\" -> \"UBERON\" [label=\"INVERTED:develops_from (1)\"]; \t\"CL\" -> \"CL\" [label=\"derives_from (1)\"]; \t\"DOID\" -> \"OBI\" [label=\"subclass_of (1)\"]; \t\"OMIM\" -> \"UMLS\" [label=\"xref (123280)\"]; \t\"CL\" -> \"CL\" [label=\"lacks_plasma_membrane_part (3)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"is_presence_guidance_for (1021)\"]; \t\"PATO\" -> \"GO\" [label=\"xref (1)\"]; \t\"BFO\" -> \"BFO\" [label=\"inverse_of (4)\"]; \t\"FMA\" -> \"FMA\" [label=\"posteroinferior_to (22)\"]; \t\"MF\" -> \"MF\" [label=\"INVERTED:has_participant_at_all_times (2)\"]; \t\"GO\" -> \"PO\" [label=\"results_in_maturation_of (5)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_units (7)\"]; \t\"MONDO\" -> \"OMIM\" [label=\"equivalent_to (8717)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"occurs_in (2)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"inhibits (614020)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_supported_concept_relationship (342)\"]; \t\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_participant (2)\"]; \t\"MONDO\" -> \"DOID\" [label=\"subclass_of (1)\"]; \t\"CL\" -> \"GO\" [label=\"lacks_plasma_membrane_part (28)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_molecular_abnormality (9292)\"]; \t\"MONDO\" -> \"ICD10\" [label=\"xref (11520)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"manifestation_of (41231)\"]; \t\"KEGG\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (389)\"]; \t\"GO\" -> \"CL\" [label=\"equivalent_to (1)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_direct_device (4121)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_route_of_administration (176)\"]; \t\"PathWhiz.Compound\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (2003771)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"part_of (14694)\"]; \t\"EFO\" -> \"UBERON\" [label=\"participates_in (1)\"]; \t\"GO\" -> \"CHEBI\" [label=\"xref (919)\"]; \t\"OBI\" -> \"NCIT\" [label=\"subclass_of (3)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_administration_method (295)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"develops_in (33)\"]; \t\"GO\" -> \"GO\" [label=\"capable_of (498)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:starts_with (58)\"]; \t\"OBO\" -> \"OBO\" [label=\"existence_starts_during (1)\"]; \t\"FMA\" -> \"FMA\" [label=\"anterior_to (355)\"]; \t\"OPL\" -> \"OPL\" [label=\"occurs_in (14)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_development_of (98)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_process_duration (136)\"]; \t\"GO\" -> \"PO\" [label=\"part_of (9)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"basis_of_strength_substance_of (1016)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"subclass_of (193181)\"]; \t\"NCBIGene\" -> \"UMLS\" [label=\"associated_with (132056)\"]; \t\"GO\" -> \"ZFA\" [label=\"xref (5)\"]; \t\"MONDO\" -> \"ICD9\" [label=\"equivalent_to (1883)\"]; \t\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_2 (311)\"]; \t\"CL\" -> \"GO\" [label=\"has_completed (19)\"]; \t\"GENEPIO\" -> \"PATO\" [label=\"is_about (2)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_transport_across (7)\"]; \t\"PO\" -> \"GO\" [label=\"INVERTED:has_participant (4)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_development_of (4)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_element_in_pathway (13536)\"]; \t\"FMA\" -> \"FMA\" [label=\"inferomedial_to (5)\"]; \t\"OGMS\" -> \"MONDO\" [label=\"equivalent_to (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"channel_blocker (331)\"]; \t\"PathWhiz.Reaction\" -> \"DRUGBANK\" [label=\"has_right_element (14853)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"inheres_in (156)\"]; \t\"EDAM\" -> \"IAO\" [label=\"subclass_of (1)\"]; \t\"DRUGBANK\" -> \"DRUGBANK\" [label=\"drug_interaction (2669663)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:results_in_movement_of (1)\"]; \t\"CARO\" -> \"ENVO\" [label=\"INVERTED:determined_by (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_ends_during (32)\"]; \t\"ORPHANET\" -> \"MONDO\" [label=\"predisposes_towards (1)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"stimulator (15)\"]; \t\"CHEBI\" -> \"PR\" [label=\"equivalent_to (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_imaged_anatomy (1)\"]; \t\"BSPO\" -> \"BFO\" [label=\"sub_property_of (12)\"]; \t\"UBERON\" -> \"MA\" [label=\"subclass_of (2)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:isa (47221)\"]; \t\"OBA\" -> \"PATO\" [label=\"subclass_of (1)\"]; \t\"EFO\" -> \"SNOMED\" [label=\"xref (1)\"]; \t\"SO\" -> \"UO\" [label=\"INVERTED:is_unit_of (1)\"]; \t\"EHDAA2\" -> \"EHDAA2\" [label=\"part_of (2925)\"]; \t\"AEO\" -> \"CARO\" [label=\"subclass_of (59)\"]; \t\"OBO\" -> \"OBO\" [label=\"part_of (14)\"]; \t\"CHEBI\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (84)\"]; \t\"UBERON\" -> \"MA\" [label=\"xref (2)\"]; \t\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:has_participant (1)\"]; \t\"GO\" -> \"GO\" [label=\"adjacent_to (22)\"]; \t\"GENEPIO\" -> \"STATO\" [label=\"subclass_of (12)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_encodes_gene_product (18713)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_structural_organization_of (28)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:positively_regulated_by (1616)\"]; \t\"CL\" -> \"EFO\" [label=\"xref (1)\"]; \t\"DOID\" -> \"MONDO\" [label=\"equivalent_to (9000)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:part_of (6788)\"]; \t\"NDDF\" -> \"UMLS\" [label=\"xref (33096)\"]; \t\"HP\" -> \"GO\" [label=\"subclass_of (1)\"]; \t\"ENVO\" -> \"FOODON\" [label=\"INVERTED:composed_primarily_of (1)\"]; \t\"ECTO\" -> \"ECTO\" [label=\"subclass_of (81)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"gene_product_variant_of_gene_product (457)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"compared_with (7200)\"]; \t\"EFO\" -> \"HP\" [label=\"xref (237)\"]; \t\"PathWhiz.Reaction\" -> \"DRUGBANK\" [label=\"has_left_element (21859)\"]; \t\"PATO\" -> \"NBO\" [label=\"INVERTED:in_response_to (3)\"]; \t\"PR\" -> \"CL\" [label=\"INVERTED:has_part (675)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_cell_type_or_tissue (572)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_feature (25)\"]; \t\"EFO\" -> \"EFO\" [label=\"is_input_of (95)\"]; \t\"EFO\" -> \"EFO\" [label=\"xref (27)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"direct_substance_of (5117)\"]; \t\"UBERON\" -> \"ARO\" [label=\"subclass_of (3)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_regional_part (26404)\"]; \t\"PR\" -> \"GO\" [label=\"INVERTED:has_part (2)\"]; \t\"ZFA\" -> \"UBERON\" [label=\"subclass_of (1)\"]; \t\"NCBIGene\" -> \"ENSEMBL\" [label=\"same_as (35031)\"]; \t\"UniProtKB\" -> \"NCBITaxon\" [label=\"in_taxon (24986)\"]; \t\"GAZ\" -> \"OBO\" [label=\"subclass_of (197)\"]; \t\"GENEPIO\" -> \"BFO\" [label=\"subclass_of (13)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:preceded_by (13)\"]; \t\"UniProtKB\" -> \"PathWhiz\" [label=\"INVERTED:has_protein (304018)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"produces (305322)\"]; \t\"OPL\" -> \"UBERON\" [label=\"subclass_of (8)\"]; \t\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_tradename (48926)\"]; \t\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:process_has_causal_agent (3)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_target_anatomy (916)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:ends_with (1)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within_negative_effect (5)\"]; \t\"OMRSE\" -> \"GENEPIO\" [label=\"subclass_of (1)\"]; \t\"CARO\" -> \"BFO\" [label=\"subclass_of (4)\"]; \t\"FOODON\" -> \"UBERON\" [label=\"derives_from (6)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_member (15)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"part_anatomy_structure_of (323)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_associated_eo_anatomy (3128)\"]; \t\"IDO\" -> \"OBI\" [label=\"subclass_of (3)\"]; \t\"ENVO\" -> \"PO\" [label=\"derives_from (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_intended_site (529)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"INVERTED:biological_process_involves_chemical_or_drug (18)\"]; \t\"OPL\" -> \"BFO\" [label=\"subclass_of (3)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_inherent_3d_shape (4)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"existence_starts_during_or_after (4)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"enables (67759)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_data_element (10)\"]; \t\"GO\" -> \"UBERON\" [label=\"results_in_formation_of (174)\"]; \t\"GO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (275)\"]; \t\"GENEPIO\" -> \"IAO\" [label=\"subclass_of (73)\"]; \t\"OBI\" -> \"GENEPIO\" [label=\"member_of (2)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"mth_has_expanded_form (1)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_administration_method (542)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"modulator (242)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"has_muscle_insertion (217)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"in_anterior_side_of (13)\"]; \t\"PO\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (1)\"]; \t\"OMIT\" -> \"PR\" [label=\"subclass_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"filtered_through (4)\"]; \t\"OBA\" -> \"OBA\" [label=\"subclass_of (173)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"entire_anatomy_structure_of (7090)\"]; \t\"CEPH\" -> \"UBERON\" [label=\"subclass_of (1)\"]; \t\"medgen\" -> \"MONDO\" [label=\"equivalent_to (2582)\"]; \t\"FMA\" -> \"FMA\" [label=\"has_origin (275)\"]; \t\"EFO\" -> \"OBI\" [label=\"INVERTED:has_participant (2)\"]; \t\"NCIT\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (4)\"]; \t\"GENEPIO\" -> \"GENEPIO\" [label=\"has_output (1)\"]; \t\"DDANAT\" -> \"DDANAT\" [label=\"subclass_of (129)\"]; \t\"CL\" -> \"GO\" [label=\"lacks_part (11)\"]; \t\"GO\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (20)\"]; \t\"UniProtKB\" -> \"CL\" [label=\"expressed_in (15576)\"]; \t\"PR\" -> \"MOD\" [label=\"lacks_part (48)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"part_of_progression_of_disease (2)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"has_modifier (2)\"]; \t\"TRANS\" -> \"TRANS\" [label=\"subclass_of (32)\"]; \t\"GO\" -> \"CL\" [label=\"results_in_growth_of (5)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_time_aspect (90380)\"]; \t\"GO\" -> \"GO\" [label=\"has_output (14)\"]; \t\"CL\" -> \"EHDAA2\" [label=\"xref (6)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_time_modifier (197)\"]; \t\"UniProtKB\" -> \"GO\" [label=\"expressed_in (74377)\"]; \t\"GO\" -> \"FAO\" [label=\"results_in_formation_of (6)\"]; \t\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (31)\"]; \t\"CHEBI\" -> \"DRUGBANK\" [label=\"same_as (636)\"]; \t\"EFO\" -> \"CL\" [label=\"is_about (40)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_growth_of (2)\"]; \t\"EFO\" -> \"UBERON\" [label=\"subclass_of (82)\"]; \t\"MESH\" -> \"MESH\" [label=\"has_mapping_qualifier (33615)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_basis_in_feature (2)\"]; \t\"UniProtKB\" -> \"UniProtKB\" [label=\"physically_interacts_with (615498)\"]; \t\"PO\" -> \"CARO\" [label=\"subclass_of (2)\"]; \t\"NCIT\" -> \"GENEPIO\" [label=\"before (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"adjacent_to (329)\"]; \t\"CL\" -> \"OBO\" [label=\"INVERTED:has_part (1)\"]; \t\"CHEBI\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (3)\"]; \t\"ttd.target\" -> \"NCBIGene\" [label=\"cofactor (4)\"]; \t\"LOINC\" -> \"LOINC\" [label=\"has_object_guidance (474)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317345 (496)\"]; \t\"EFO\" -> \"GO\" [label=\"is_about (68)\"]; \t\"HMDB\" -> \"EFO\" [label=\"at_tissue (9)\"]; \t\"GAZ\" -> \"NCIT\" [label=\"subclass_of (186)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"distal_to (1)\"]; \t\"IDO\" -> \"IDO\" [label=\"subclass_of (20)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_procedure_site (8311)\"]; \t\"FOODON\" -> \"CHEBI\" [label=\"subclass_of (14)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317349 (229)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"inverse_of (2)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"coexists_with (20358)\"]; \t\"GO\" -> \"GO\" [label=\"results_in_transport_to_from_or_in (17)\"]; \t\"EFO\" -> \"BFO\" [label=\"subclass_of (66)\"]; \t\"GO\" -> \"DOID\" [label=\"INVERTED:disease_caused_by_disruption_of (53)\"]; \t\"RO\" -> \"SO\" [label=\"xref (9)\"]; \t\"BFO\" -> \"CHEBI\" [label=\"equivalent_to (1)\"]; \t\"NCBITaxon\" -> \"ICD9\" [label=\"xref (7)\"]; \t\"NCBITaxon\" -> \"OBO\" [label=\"subclass_of (27)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"has_owning_affiliate (4)\"]; \t\"DRUGBANK\" -> \"PathWhiz\" [label=\"INVERTED:has_protein (15)\"]; \t\"SNOMED\" -> \"SNOMED\" [label=\"has_state_of_matter (58)\"]; \t\"UniProtKB\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (59)\"]; \t\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:c017 (9706)\"]; \t\"FMA\" -> \"FMA\" [label=\"forms (15)\"]; \t\"MF\" -> \"MF\" [label=\"INVERTED:realizes (2)\"]; \t\"PR\" -> \"GO\" [label=\"located_in (2)\"]; \t\"ECOCORE\" -> \"BFO\" [label=\"subclass_of (1)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"has_inheritance_type (6005)\"]; \t\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"allosteric_modulator (317)\"]; \t\"ENVO\" -> \"PATO\" [label=\"subclass_of (13)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"only_in_taxon (1013)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"procedure_has_completely_excised_anatomy (95)\"]; \t\"NCIT\" -> \"SIO\" [label=\"subclass_of (4)\"]; \t\"DOID\" -> \"KEGG\" [label=\"xref (39)\"]; }"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/rtx2_2020_09_16/rtx2_2020_09_16.txt",
    "content": "\"AEO\" -> \"AEO\" [label=\"part_of (22)\"];\n\"AEO\" -> \"AEO\" [label=\"subclass_of (89)\"];\n\"AEO\" -> \"CARO\" [label=\"subclass_of (59)\"];\n\"AEO\" -> \"CARO\" [label=\"surrounds (1)\"];\n\"ARO\" -> \"ARO\" [label=\"subclass_of (40)\"];\n\"ARO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"ARO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (2)\"];\n\"ARO\" -> \"GENEPIO\" [label=\"equivalent_to (1)\"];\n\"ARO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"ARO\" -> \"IAO\" [label=\"subclass_of (3)\"];\n\"ARO\" -> \"IDO\" [label=\"is_about (1)\"];\n\"ARO\" -> \"NCIT\" [label=\"subclass_of (3)\"];\n\"ARO\" -> \"OBI\" [label=\"subclass_of (2)\"];\n\"ATC\" -> \"ATC\" [label=\"subclass_of (6317)\"];\n\"ATC\" -> \"UMLS\" [label=\"xref (6331)\"];\n\"AraPort\" -> \"NCBITaxon\" [label=\"only_in_taxon (15919)\"];\n\"AraPort\" -> \"PR\" [label=\"INVERTED:has_gene_template (15921)\"];\n\"AraPort\" -> \"SO\" [label=\"subclass_of (15919)\"];\n\"BAO\" -> \"CHEBI\" [label=\"subclass_of (2)\"];\n\"BAO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"BFO\" -> \"BFO\" [label=\"INVERTED:inverse_of (3)\"];\n\"BFO\" -> \"BFO\" [label=\"inverse_of (4)\"];\n\"BFO\" -> \"BFO\" [label=\"subclass_of (37)\"];\n\"BFO\" -> \"CHEBI\" [label=\"equivalent_to (1)\"];\n\"BFO\" -> \"EFO\" [label=\"INVERTED:has_input (2)\"];\n\"BFO\" -> \"EFO\" [label=\"subclass_of (4)\"];\n\"BFO\" -> \"OIO\" [label=\"subclass_of (1)\"];\n\"BFO\" -> \"RO\" [label=\"sub_property_of (4)\"];\n\"BSPO\" -> \"BFO\" [label=\"sub_property_of (12)\"];\n\"BSPO\" -> \"BSPO\" [label=\"anterior_to (1)\"];\n\"BSPO\" -> \"BSPO\" [label=\"approximately_perpendicular_to (1)\"];\n\"BSPO\" -> \"BSPO\" [label=\"deep_to (1)\"];\n\"BSPO\" -> \"BSPO\" [label=\"distal_to (1)\"];\n\"BSPO\" -> \"BSPO\" [label=\"dorsal_to (1)\"];\n\"BSPO\" -> \"BSPO\" [label=\"finishes_axis (7)\"];\n\"BSPO\" -> \"BSPO\" [label=\"follows_axis (4)\"];\n\"BSPO\" -> \"BSPO\" [label=\"has_axis (6)\"];\n\"BSPO\" -> \"BSPO\" [label=\"inverse_of (18)\"];\n\"BSPO\" -> \"BSPO\" [label=\"left_of (1)\"];\n\"BSPO\" -> \"BSPO\" [label=\"opposite_to (3)\"];\n\"BSPO\" -> \"BSPO\" [label=\"orthogonal_to (3)\"];\n\"BSPO\" -> \"BSPO\" [label=\"overlaps (77)\"];\n\"BSPO\" -> \"BSPO\" [label=\"posterior_to (1)\"];\n\"BSPO\" -> \"BSPO\" [label=\"starts_axis (7)\"];\n\"BSPO\" -> \"BSPO\" [label=\"sub_property_of (15)\"];\n\"BSPO\" -> \"BSPO\" [label=\"subclass_of (179)\"];\n\"BSPO\" -> \"BSPO\" [label=\"surface_of (12)\"];\n\"BSPO\" -> \"CARO\" [label=\"passes_through (1)\"];\n\"BSPO\" -> \"CARO\" [label=\"subclass_of (7)\"];\n\"BSPO\" -> \"FMA\" [label=\"xref (7)\"];\n\"BSPO\" -> \"RO\" [label=\"sub_property_of (4)\"];\n\"BTO\" -> \"BFO\" [label=\"subclass_of (3)\"];\n\"BTO\" -> \"BTO\" [label=\"INVERTED:develops_from (1)\"];\n\"BTO\" -> \"BTO\" [label=\"derives_from (2)\"];\n\"BTO\" -> \"BTO\" [label=\"subclass_of (7)\"];\n\"BTO\" -> \"CL\" [label=\"derives_from (1)\"];\n\"BTO\" -> \"CL\" [label=\"subclass_of (6)\"];\n\"BTO\" -> \"EFO\" [label=\"INVERTED:develops_from (1)\"];\n\"BTO\" -> \"EFO\" [label=\"bearer_of (5)\"];\n\"BTO\" -> \"EFO\" [label=\"derives_from (3)\"];\n\"BTO\" -> \"EFO\" [label=\"equivalent_to (1)\"];\n\"BTO\" -> \"EFO\" [label=\"participates_in (2)\"];\n\"BTO\" -> \"EFO\" [label=\"subclass_of (47)\"];\n\"BTO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"BTO\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"BTO\" -> \"PATO\" [label=\"bearer_of (1)\"];\n\"BTO\" -> \"PATO\" [label=\"has_quality (1)\"];\n\"BTO\" -> \"UBERON\" [label=\"located_in (1)\"];\n\"BTO\" -> \"UBERON\" [label=\"part_of (5)\"];\n\"BTO\" -> \"UBERON\" [label=\"subclass_of (9)\"];\n\"BTO\" -> \"UBERON\" [label=\"xref (1)\"];\n\"CARO\" -> \"BFO\" [label=\"subclass_of (4)\"];\n\"CARO\" -> \"CARO\" [label=\"part_of (3)\"];\n\"CARO\" -> \"CARO\" [label=\"subclass_of (49)\"];\n\"CARO\" -> \"ENVO\" [label=\"INVERTED:determined_by (1)\"];\n\"CARO\" -> \"RO\" [label=\"subclass_of (1)\"];\n\"CEPH\" -> \"UBERON\" [label=\"subclass_of (1)\"];\n\"CGNC\" -> \"NCBITaxon\" [label=\"only_in_taxon (552)\"];\n\"CGNC\" -> \"PR\" [label=\"INVERTED:has_gene_template (552)\"];\n\"CGNC\" -> \"SO\" [label=\"subclass_of (552)\"];\n\"CHEBI\" -> \"BFO\" [label=\"equivalent_to (1)\"];\n\"CHEBI\" -> \"BFO\" [label=\"subclass_of (33)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"INVERTED:has_part (3773)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"has_functional_parent (17221)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"has_parent_hydride (1623)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"has_role (39604)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"inheres_in (41)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"inverse_of (2)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"is_conjugate_acid_of (8028)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"is_conjugate_base_of (8028)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"is_enantiomer_of (2594)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"is_substituent_group_from (1267)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"is_tautomer_of (1748)\"];\n\"CHEBI\" -> \"CHEBI\" [label=\"subclass_of (193181)\"];\n\"CHEBI\" -> \"CL\" [label=\"INVERTED:has_part (1)\"];\n\"CHEBI\" -> \"CL\" [label=\"xref (1)\"];\n\"CHEBI\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (84)\"];\n\"CHEBI\" -> \"DRUGBANK\" [label=\"same_as (636)\"];\n\"CHEBI\" -> \"EFO\" [label=\"INVERTED:has_input (14)\"];\n\"CHEBI\" -> \"EFO\" [label=\"INVERTED:has_participant (1)\"];\n\"CHEBI\" -> \"EFO\" [label=\"has_role (83)\"];\n\"CHEBI\" -> \"EFO\" [label=\"subclass_of (223)\"];\n\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (10)\"];\n\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:has_part (3)\"];\n\"CHEBI\" -> \"ENVO\" [label=\"INVERTED:has_participant (1)\"];\n\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:composed_primarily_of (3)\"];\n\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (2)\"];\n\"CHEBI\" -> \"FOODON\" [label=\"INVERTED:has_ingredient (3)\"];\n\"CHEBI\" -> \"FOODON\" [label=\"member_of (1)\"];\n\"CHEBI\" -> \"FOODON\" [label=\"subclass_of (200)\"];\n\"CHEBI\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (3)\"];\n\"CHEBI\" -> \"GENEPIO\" [label=\"subclass_of (72)\"];\n\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_intermediate (83)\"];\n\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_part (16)\"];\n\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_participant (23)\"];\n\"CHEBI\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (1276)\"];\n\"CHEBI\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (8)\"];\n\"CHEBI\" -> \"KEGG\" [label=\"same_as (1689)\"];\n\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (1)\"];\n\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:disease_responds_to (13)\"];\n\"CHEBI\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (31)\"];\n\"CHEBI\" -> \"NBO\" [label=\"INVERTED:has_participant (10)\"];\n\"CHEBI\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"CHEBI\" -> \"OBO\" [label=\"subclass_of (2)\"];\n\"CHEBI\" -> \"OIO\" [label=\"subclass_of (1)\"];\n\"CHEBI\" -> \"PR\" [label=\"INVERTED:has_component (47)\"];\n\"CHEBI\" -> \"PR\" [label=\"INVERTED:has_part (2)\"];\n\"CHEBI\" -> \"PR\" [label=\"equivalent_to (1)\"];\n\"CHEBI\" -> \"PR\" [label=\"subclass_of (5)\"];\n\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (1567712)\"];\n\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (1418)\"];\n\"CHEBI\" -> \"PathWhiz\" [label=\"INVERTED:has_nucleic_acid (816)\"];\n\"CHEBI\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (214)\"];\n\"CHEBI\" -> \"SO\" [label=\"equivalent_to (3)\"];\n\"CHEBI\" -> \"SO\" [label=\"subclass_of (23)\"];\n\"CHEBI\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (11)\"];\n\"CHEBI\" -> \"UBERON\" [label=\"INVERTED:has_part (20)\"];\n\"CHEBI\" -> \"UBERON\" [label=\"part_of (1)\"];\n\"CHEBI\" -> \"UBERON\" [label=\"subclass_of (1)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEBI\" [label=\"same_as (30201)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.MECHANISM\" [label=\"related_to (4739)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"activator (42)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"agonist (720)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"allosteric_antagonist (1)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"antagonist (789)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"antisense_inhibitor (2)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"binding_agent (136)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"blocker (149)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"chelating_agent (19)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"cross_linking_agent (33)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"degrader (1)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"disrupting_agent (5)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"hydrolytic_enzyme (38)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"inhibitor (2414)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"inverse_agonist (11)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"modulator (85)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"negative_allosteric_modulator (13)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"negative_modulator (4)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"opener (38)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"oxidative_enzyme (2)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"partial_agonist (47)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"physically_interacts_with (4538)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"positive_allosteric_modulator (67)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"positive_modulator (18)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"proteolytic_enzyme (6)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"reducing_agent (2)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"releasing_agent (26)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"sequestering_agent (23)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"stabiliser (9)\"];\n\"CHEMBL.COMPOUND\" -> \"CHEMBL.TARGET\" [label=\"substrate (6)\"];\n\"CHEMBL.COMPOUND\" -> \"DOID\" [label=\"contraindicated_for (9264)\"];\n\"CHEMBL.COMPOUND\" -> \"DOID\" [label=\"indicated_for (2375)\"];\n\"CHEMBL.COMPOUND\" -> \"DRUGBANK\" [label=\"same_as (6926)\"];\n\"CHEMBL.COMPOUND\" -> \"HP\" [label=\"contraindicated_for (12221)\"];\n\"CHEMBL.COMPOUND\" -> \"HP\" [label=\"indicated_for (2095)\"];\n\"CHEMBL.COMPOUND\" -> \"MESH\" [label=\"treats (27892)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"activator (316)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"affects (10769)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"agonist (2960)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"allosteric_modulator (317)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antagonist (2951)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antibody (180)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antisense (3)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"antisense_oligonucleotide (5)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"binder (139)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"blocker (943)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"channel_blocker (331)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"cofactor (2)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"gating_inhibitor (24)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inducer (4)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inhibitor (5750)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"inverse_agonist (23)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"modulator (242)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"negative_modulator (5)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"partial_agonist (62)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"positive_allosteric_modulator (601)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"stimulator (15)\"];\n\"CHEMBL.COMPOUND\" -> \"NCBIGene\" [label=\"vaccine (6)\"];\n\"CHEMBL.COMPOUND\" -> \"UniProtKB\" [label=\"targets (39678)\"];\n\"CHEMBL.MECHANISM\" -> \"CHEMBL.MECHANISM\" [label=\"subclass_of (27)\"];\n\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"INVERTED:superset_of (1116)\"];\n\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"equivalent_to (36)\"];\n\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"overlaps_with (2630)\"];\n\"CHEMBL.TARGET\" -> \"CHEMBL.TARGET\" [label=\"subset_of (1389)\"];\n\"CHEMBL.TARGET\" -> \"ENSEMBL\" [label=\"part_of (4)\"];\n\"CHEMBL.TARGET\" -> \"UniProtKB\" [label=\"part_of (5700)\"];\n\"CHMO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"CHMO\" -> \"CHMO\" [label=\"subclass_of (7)\"];\n\"CHMO\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"CL\" -> \"AEO\" [label=\"INVERTED:has_part (78)\"];\n\"CL\" -> \"AEO\" [label=\"xref (1)\"];\n\"CL\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"CL\" -> \"BTO\" [label=\"xref (4)\"];\n\"CL\" -> \"CARO\" [label=\"INVERTED:has_part (3)\"];\n\"CL\" -> \"CARO\" [label=\"subclass_of (2)\"];\n\"CL\" -> \"CARO\" [label=\"xref (2)\"];\n\"CL\" -> \"CL\" [label=\"INVERTED:develops_from (380)\"];\n\"CL\" -> \"CL\" [label=\"derives_from (1)\"];\n\"CL\" -> \"CL\" [label=\"develops_into (5)\"];\n\"CL\" -> \"CL\" [label=\"lacks_plasma_membrane_part (3)\"];\n\"CL\" -> \"CL\" [label=\"part_of (1)\"];\n\"CL\" -> \"CL\" [label=\"subclass_of (3462)\"];\n\"CL\" -> \"CL\" [label=\"synapsed_by (4)\"];\n\"CL\" -> \"CL\" [label=\"synapsed_to (3)\"];\n\"CL\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (41)\"];\n\"CL\" -> \"EFO\" [label=\"located_in (1)\"];\n\"CL\" -> \"EFO\" [label=\"part_of (2)\"];\n\"CL\" -> \"EFO\" [label=\"participates_in (1)\"];\n\"CL\" -> \"EFO\" [label=\"subclass_of (41)\"];\n\"CL\" -> \"EFO\" [label=\"xref (1)\"];\n\"CL\" -> \"EHDAA2\" [label=\"xref (6)\"];\n\"CL\" -> \"FAO\" [label=\"xref (8)\"];\n\"CL\" -> \"FBbt\" [label=\"xref (1)\"];\n\"CL\" -> \"FMA\" [label=\"xref (701)\"];\n\"CL\" -> \"GO\" [label=\"INVERTED:has_participant (28)\"];\n\"CL\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (24)\"];\n\"CL\" -> \"GO\" [label=\"INVERTED:results_in_movement_of (87)\"];\n\"CL\" -> \"GO\" [label=\"capable_of (308)\"];\n\"CL\" -> \"GO\" [label=\"capable_of_part_of (1)\"];\n\"CL\" -> \"GO\" [label=\"equivalent_to (1)\"];\n\"CL\" -> \"GO\" [label=\"has_completed (19)\"];\n\"CL\" -> \"GO\" [label=\"has_high_plasma_membrane_amount (15)\"];\n\"CL\" -> \"GO\" [label=\"has_low_plasma_membrane_amount (6)\"];\n\"CL\" -> \"GO\" [label=\"has_not_completed (12)\"];\n\"CL\" -> \"GO\" [label=\"has_plasma_membrane_part (1)\"];\n\"CL\" -> \"GO\" [label=\"lacks_part (11)\"];\n\"CL\" -> \"GO\" [label=\"lacks_plasma_membrane_part (28)\"];\n\"CL\" -> \"GO\" [label=\"participates_in (18)\"];\n\"CL\" -> \"GO\" [label=\"produces (14)\"];\n\"CL\" -> \"GO\" [label=\"subclass_of (11)\"];\n\"CL\" -> \"GO\" [label=\"xref (1)\"];\n\"CL\" -> \"MA\" [label=\"located_in (1)\"];\n\"CL\" -> \"MONDO\" [label=\"INVERTED:disease_arises_from_structure (58)\"];\n\"CL\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (8)\"];\n\"CL\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (4)\"];\n\"CL\" -> \"NCBITaxon\" [label=\"in_taxon (1)\"];\n\"CL\" -> \"NCBITaxon\" [label=\"only_in_taxon (5)\"];\n\"CL\" -> \"NCIT\" [label=\"xref (2)\"];\n\"CL\" -> \"OBO\" [label=\"INVERTED:has_part (1)\"];\n\"CL\" -> \"OBO\" [label=\"INVERTED:has_participant (3)\"];\n\"CL\" -> \"PATO\" [label=\"bearer_of (38)\"];\n\"CL\" -> \"PO\" [label=\"xref (1)\"];\n\"CL\" -> \"PR\" [label=\"expresses (6)\"];\n\"CL\" -> \"PR\" [label=\"has_high_plasma_membrane_amount (65)\"];\n\"CL\" -> \"PR\" [label=\"has_low_plasma_membrane_amount (71)\"];\n\"CL\" -> \"PR\" [label=\"lacks_part (10)\"];\n\"CL\" -> \"PR\" [label=\"lacks_plasma_membrane_part (454)\"];\n\"CL\" -> \"RO\" [label=\"sub_property_of (2)\"];\n\"CL\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (83)\"];\n\"CL\" -> \"UBERON\" [label=\"INVERTED:develops_from (2)\"];\n\"CL\" -> \"UBERON\" [label=\"INVERTED:has_part (224)\"];\n\"CL\" -> \"UBERON\" [label=\"INVERTED:produced_by (4)\"];\n\"CL\" -> \"UBERON\" [label=\"adjacent_to (6)\"];\n\"CL\" -> \"UBERON\" [label=\"axon_synapses_in (13)\"];\n\"CL\" -> \"UBERON\" [label=\"has_soma_location (5)\"];\n\"CL\" -> \"UBERON\" [label=\"has_synaptic_terminal_in (2)\"];\n\"CL\" -> \"UBERON\" [label=\"innervates (1)\"];\n\"CL\" -> \"UBERON\" [label=\"located_in (83)\"];\n\"CL\" -> \"UBERON\" [label=\"part_of (690)\"];\n\"CL\" -> \"UBERON\" [label=\"participates_in (4)\"];\n\"CL\" -> \"UBERON\" [label=\"produces (6)\"];\n\"CL\" -> \"UBERON\" [label=\"subclass_of (5)\"];\n\"CLO\" -> \"CL\" [label=\"subclass_of (428)\"];\n\"CLO\" -> \"EFO\" [label=\"bearer_of (8)\"];\n\"CLO\" -> \"EFO\" [label=\"subclass_of (857)\"];\n\"CLO\" -> \"PATO\" [label=\"has_quality (405)\"];\n\"CP\" -> \"CL\" [label=\"INVERTED:has_part (26)\"];\n\"CP\" -> \"GO\" [label=\"subclass_of (9)\"];\n\"CP\" -> \"PATO\" [label=\"bearer_of (4)\"];\n\"CPT\" -> \"CPT\" [label=\"has_add_on_code (6931)\"];\n\"CPT\" -> \"CPT\" [label=\"has_possibly_included_panel_element (1)\"];\n\"CPT\" -> \"CPT\" [label=\"mapped_to (191)\"];\n\"CPT\" -> \"CPT\" [label=\"panel_element_of (129)\"];\n\"CPT\" -> \"CPT\" [label=\"panel_element_of_possibly_included (1)\"];\n\"CPT\" -> \"CPT\" [label=\"subclass_of (14292)\"];\n\"CPT\" -> \"UMLS\" [label=\"xref (46941)\"];\n\"CVDO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"DDANAT\" -> \"CARO\" [label=\"xref (4)\"];\n\"DDANAT\" -> \"DDANAT\" [label=\"INVERTED:develops_from (87)\"];\n\"DDANAT\" -> \"DDANAT\" [label=\"part_of (134)\"];\n\"DDANAT\" -> \"DDANAT\" [label=\"subclass_of (129)\"];\n\"DOID\" -> \"AQTLTrait\" [label=\"has_phenotype (1)\"];\n\"DOID\" -> \"ARO\" [label=\"subclass_of (4)\"];\n\"DOID\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"DOID\" -> \"CL\" [label=\"derives_from (355)\"];\n\"DOID\" -> \"CL\" [label=\"located_in (10)\"];\n\"DOID\" -> \"DOID\" [label=\"has_symptom (9)\"];\n\"DOID\" -> \"DOID\" [label=\"subclass_of (14358)\"];\n\"DOID\" -> \"EFO\" [label=\"subclass_of (3)\"];\n\"DOID\" -> \"EFO\" [label=\"xref (130)\"];\n\"DOID\" -> \"GARD\" [label=\"xref (1)\"];\n\"DOID\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"];\n\"DOID\" -> \"GENEPIO\" [label=\"subclass_of (2)\"];\n\"DOID\" -> \"GO\" [label=\"disease_causes_disruption_of (27)\"];\n\"DOID\" -> \"GO\" [label=\"disease_has_basis_in_dysfunction_of (8)\"];\n\"DOID\" -> \"GO\" [label=\"disease_has_location (3)\"];\n\"DOID\" -> \"GO\" [label=\"realized_in_response_to (6)\"];\n\"DOID\" -> \"GO\" [label=\"realized_in_response_to_stimulus (1)\"];\n\"DOID\" -> \"HP\" [label=\"has_phenotype (649940)\"];\n\"DOID\" -> \"ICD10\" [label=\"xref (8)\"];\n\"DOID\" -> \"ICD9\" [label=\"xref (11)\"];\n\"DOID\" -> \"KEGG\" [label=\"xref (39)\"]; }\n\"DOID\" -> \"MEDDRA\" [label=\"xref (33)\"];\n\"DOID\" -> \"MESH\" [label=\"xref (3539)\"];\n\"DOID\" -> \"MONDO\" [label=\"equivalent_to (9000)\"];\n\"DOID\" -> \"MONDO\" [label=\"subclass_of (5)\"];\n\"DOID\" -> \"MONDO\" [label=\"xref (6)\"];\n\"DOID\" -> \"NCBITaxon\" [label=\"transmitted_by (74)\"];\n\"DOID\" -> \"NCIT\" [label=\"xref (3)\"];\n\"DOID\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"DOID\" -> \"OMIM\" [label=\"xref (4868)\"];\n\"DOID\" -> \"ORPHANET\" [label=\"subclass_of (1)\"];\n\"DOID\" -> \"SYMP\" [label=\"has_symptom (839)\"];\n\"DOID\" -> \"UBERON\" [label=\"adjacent_to (2)\"];\n\"DOID\" -> \"UBERON\" [label=\"derives_from (18)\"];\n\"DOID\" -> \"UBERON\" [label=\"has_disease_location (1)\"];\n\"DOID\" -> \"UBERON\" [label=\"has_origin (3)\"];\n\"DOID\" -> \"UBERON\" [label=\"located_in (618)\"];\n\"DOID\" -> \"UMLS\" [label=\"xref (6)\"];\n\"DRUGBANK\" -> \"CHEBI\" [label=\"external_identifier (5052)\"];\n\"DRUGBANK\" -> \"CHEBI\" [label=\"same_as (102)\"];\n\"DRUGBANK\" -> \"CHEMBL.COMPOUND\" [label=\"external_identifier (7632)\"];\n\"DRUGBANK\" -> \"DRUGBANK\" [label=\"drug_interaction (2669663)\"];\n\"DRUGBANK\" -> \"HMDB\" [label=\"same_as (1565)\"];\n\"DRUGBANK\" -> \"KEGG\" [label=\"external_identifier (1670)\"];\n\"DRUGBANK\" -> \"KEGG\" [label=\"same_as (494)\"];\n\"DRUGBANK\" -> \"MESH\" [label=\"category (57884)\"];\n\"DRUGBANK\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (492409)\"];\n\"DRUGBANK\" -> \"PathWhiz\" [label=\"INVERTED:has_protein (15)\"];\n\"DRUGBANK\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (6)\"];\n\"DRUGBANK\" -> \"PathWhiz.ProteinComplex\" [label=\"INVERTED:has_protein_in_complex (15)\"];\n\"DRUGBANK\" -> \"SMPDB\" [label=\"pathway (3762)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_approved_unknown_phase (6536)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_0 (1)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_1 (9)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_1_or_phase_2 (30)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_2 (311)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_2_or_phase_3 (29)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_suspended_phase_3 (56)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_0 (29)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_1 (499)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_1_or_phase_2 (214)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_2 (1043)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_2_or_phase_3 (39)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_terminated_phase_3 (437)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_0 (7)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_1 (132)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_1_or_phase_2 (30)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_2 (208)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_2_or_phase_3 (16)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"clinically_tested_withdrawn_phase_3 (81)\"];\n\"DRUGBANK\" -> \"UMLS\" [label=\"xref (9151)\"];\n\"DRUGBANK\" -> \"UniProtKB\" [label=\"external_identifier (69)\"];\n\"DRUGBANK\" -> \"UniProtKB\" [label=\"target (16808)\"];\n\"ECO\" -> \"ECO\" [label=\"subclass_of (12)\"];\n\"ECOCORE\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"ECOCORE\" -> \"ECOCORE\" [label=\"subclass_of (8)\"];\n\"ECTO\" -> \"ECTO\" [label=\"subclass_of (81)\"];\n\"ECTO\" -> \"ExO\" [label=\"subclass_of (4)\"];\n\"ECTO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (33)\"];\n\"ECTO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (6)\"];\n\"ECTO\" -> \"RO\" [label=\"subclass_of (4)\"];\n\"EDAM\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"EDAM\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"EFO\" -> \"BFO\" [label=\"has_output (1)\"];\n\"EFO\" -> \"BFO\" [label=\"subclass_of (66)\"];\n\"EFO\" -> \"BTO\" [label=\"equivalent_to (1)\"];\n\"EFO\" -> \"BTO\" [label=\"is_about (3)\"];\n\"EFO\" -> \"BTO\" [label=\"subclass_of (217)\"];\n\"EFO\" -> \"BTO\" [label=\"xref (3)\"];\n\"EFO\" -> \"CHEBI\" [label=\"has_output (1)\"];\n\"EFO\" -> \"CHEBI\" [label=\"has_role (3)\"];\n\"EFO\" -> \"CHEBI\" [label=\"inheres_in (3)\"];\n\"EFO\" -> \"CHEBI\" [label=\"is_about (262)\"];\n\"EFO\" -> \"CHEBI\" [label=\"located_in (1)\"];\n\"EFO\" -> \"CHEBI\" [label=\"subclass_of (71)\"];\n\"EFO\" -> \"CL\" [label=\"derives_from (6)\"];\n\"EFO\" -> \"CL\" [label=\"has_disease_location (59)\"];\n\"EFO\" -> \"CL\" [label=\"inheres_in_part_of (1)\"];\n\"EFO\" -> \"CL\" [label=\"is_about (40)\"];\n\"EFO\" -> \"CL\" [label=\"part_of (2)\"];\n\"EFO\" -> \"CL\" [label=\"subclass_of (539)\"];\n\"EFO\" -> \"CL\" [label=\"xref (12)\"];\n\"EFO\" -> \"DOID\" [label=\"is_about (1)\"];\n\"EFO\" -> \"DOID\" [label=\"subclass_of (6)\"];\n\"EFO\" -> \"DOID\" [label=\"xref (2350)\"];\n\"EFO\" -> \"EFO\" [label=\"INVERTED:develops_from (1)\"];\n\"EFO\" -> \"EFO\" [label=\"INVERTED:has_input (4)\"];\n\"EFO\" -> \"EFO\" [label=\"INVERTED:has_participant (69)\"];\n\"EFO\" -> \"EFO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"];\n\"EFO\" -> \"EFO\" [label=\"bearer_of (970)\"];\n\"EFO\" -> \"EFO\" [label=\"derives_from (15)\"];\n\"EFO\" -> \"EFO\" [label=\"disease_causes_feature (1)\"];\n\"EFO\" -> \"EFO\" [label=\"disease_has_basis_in_feature (18)\"];\n\"EFO\" -> \"EFO\" [label=\"disease_has_feature (34)\"];\n\"EFO\" -> \"EFO\" [label=\"disease_has_major_feature (1)\"];\n\"EFO\" -> \"EFO\" [label=\"disease_shares_features_of (2)\"];\n\"EFO\" -> \"EFO\" [label=\"has_about_it (2)\"];\n\"EFO\" -> \"EFO\" [label=\"has_disease_location (14)\"];\n\"EFO\" -> \"EFO\" [label=\"has_quality (10)\"];\n\"EFO\" -> \"EFO\" [label=\"has_role (17)\"];\n\"EFO\" -> \"EFO\" [label=\"inheres_in (1)\"];\n\"EFO\" -> \"EFO\" [label=\"inverse_of (3)\"];\n\"EFO\" -> \"EFO\" [label=\"is_about (556)\"];\n\"EFO\" -> \"EFO\" [label=\"is_executed_in (2)\"];\n\"EFO\" -> \"EFO\" [label=\"is_input_of (95)\"];\n\"EFO\" -> \"EFO\" [label=\"part_of (48)\"];\n\"EFO\" -> \"EFO\" [label=\"part_of_progression_of_disease (2)\"];\n\"EFO\" -> \"EFO\" [label=\"participates_in (8)\"];\n\"EFO\" -> \"EFO\" [label=\"related_to (1)\"];\n\"EFO\" -> \"EFO\" [label=\"sub_property_of (5)\"];\n\"EFO\" -> \"EFO\" [label=\"subclass_of (11372)\"];\n\"EFO\" -> \"EFO\" [label=\"xref (27)\"];\n\"EFO\" -> \"FMA\" [label=\"xref (57)\"];\n\"EFO\" -> \"GARD\" [label=\"xref (555)\"];\n\"EFO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"];\n\"EFO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"EFO\" -> \"GO\" [label=\"is_about (68)\"];\n\"EFO\" -> \"GO\" [label=\"participates_in (25)\"];\n\"EFO\" -> \"GO\" [label=\"subclass_of (180)\"];\n\"EFO\" -> \"GO\" [label=\"xref (6)\"];\n\"EFO\" -> \"HANCESTRO\" [label=\"derives_from (31)\"];\n\"EFO\" -> \"HANCESTRO\" [label=\"has_quality (3)\"];\n\"EFO\" -> \"HANCESTRO\" [label=\"part_of (12)\"];\n\"EFO\" -> \"HGNC\" [label=\"xref (8)\"];\n\"EFO\" -> \"HP\" [label=\"disease_has_feature (1)\"];\n\"EFO\" -> \"HP\" [label=\"has_modifier (30)\"];\n\"EFO\" -> \"HP\" [label=\"has_phenotype (3)\"];\n\"EFO\" -> \"HP\" [label=\"is_about (19)\"];\n\"EFO\" -> \"HP\" [label=\"subclass_of (128)\"];\n\"EFO\" -> \"HP\" [label=\"xref (237)\"];\n\"EFO\" -> \"IAO\" [label=\"subclass_of (38)\"];\n\"EFO\" -> \"ICD10\" [label=\"xref (2576)\"];\n\"EFO\" -> \"ICD9\" [label=\"xref (2049)\"];\n\"EFO\" -> \"KEGG\" [label=\"xref (26)\"];\n\"EFO\" -> \"MA\" [label=\"has_disease_location (1)\"];\n\"EFO\" -> \"MA\" [label=\"is_about (1)\"];\n\"EFO\" -> \"MA\" [label=\"xref (1)\"];\n\"EFO\" -> \"MEDDRA\" [label=\"xref (2)\"];\n\"EFO\" -> \"MESH\" [label=\"xref (1631)\"];\n\"EFO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"];\n\"EFO\" -> \"MONDO\" [label=\"disease_causes_feature (1)\"];\n\"EFO\" -> \"MONDO\" [label=\"disease_has_basis_in_feature (3)\"];\n\"EFO\" -> \"MONDO\" [label=\"disease_has_feature (34)\"];\n\"EFO\" -> \"MONDO\" [label=\"disease_shares_features_of (1)\"];\n\"EFO\" -> \"MONDO\" [label=\"equivalent_to (2850)\"];\n\"EFO\" -> \"MONDO\" [label=\"has_modifier (125)\"];\n\"EFO\" -> \"MONDO\" [label=\"subclass_of (2167)\"];\n\"EFO\" -> \"MONDO\" [label=\"xref (2604)\"];\n\"EFO\" -> \"MP\" [label=\"has_phenotype (1)\"];\n\"EFO\" -> \"MP\" [label=\"subclass_of (7)\"];\n\"EFO\" -> \"NCBITaxon\" [label=\"derives_from (16)\"];\n\"EFO\" -> \"NCBITaxon\" [label=\"inheres_in (9)\"];\n\"EFO\" -> \"NCBITaxon\" [label=\"located_in (4)\"];\n\"EFO\" -> \"NCBITaxon\" [label=\"only_in_taxon (3)\"];\n\"EFO\" -> \"NCBITaxon\" [label=\"part_of (6)\"];\n\"EFO\" -> \"NCBITaxon\" [label=\"subclass_of (305)\"];\n\"EFO\" -> \"NCIT\" [label=\"xref (2012)\"];\n\"EFO\" -> \"OBI\" [label=\"INVERTED:has_participant (2)\"];\n\"EFO\" -> \"OBI\" [label=\"inheres_in (9)\"];\n\"EFO\" -> \"OBI\" [label=\"is_about (22)\"];\n\"EFO\" -> \"OBI\" [label=\"is_executed_in (2)\"];\n\"EFO\" -> \"OBI\" [label=\"subclass_of (105)\"];\n\"EFO\" -> \"OBI\" [label=\"xref (1)\"];\n\"EFO\" -> \"OBO\" [label=\"part_of (5)\"];\n\"EFO\" -> \"OGMS\" [label=\"subclass_of (3)\"];\n\"EFO\" -> \"OGMS\" [label=\"xref (1)\"];\n\"EFO\" -> \"OMIM\" [label=\"xref (875)\"];\n\"EFO\" -> \"OMIMPS\" [label=\"xref (47)\"];\n\"EFO\" -> \"ORPHANET\" [label=\"INVERTED:has_part (1)\"];\n\"EFO\" -> \"ORPHANET\" [label=\"bearer_of (3)\"];\n\"EFO\" -> \"ORPHANET\" [label=\"disease_has_basis_in_feature (1)\"];\n\"EFO\" -> \"ORPHANET\" [label=\"is_about (12)\"];\n\"EFO\" -> \"ORPHANET\" [label=\"subclass_of (328)\"];\n\"EFO\" -> \"PATO\" [label=\"bearer_of (19)\"];\n\"EFO\" -> \"PATO\" [label=\"has_quality (522)\"];\n\"EFO\" -> \"PATO\" [label=\"subclass_of (2)\"];\n\"EFO\" -> \"PATO\" [label=\"xref (8)\"];\n\"EFO\" -> \"PO\" [label=\"equivalent_to (1)\"];\n\"EFO\" -> \"PO\" [label=\"located_in (1)\"];\n\"EFO\" -> \"PO\" [label=\"part_of (1)\"];\n\"EFO\" -> \"PO\" [label=\"subclass_of (19)\"];\n\"EFO\" -> \"PO\" [label=\"xref (31)\"];\n\"EFO\" -> \"PR\" [label=\"is_about (3)\"];\n\"EFO\" -> \"RO\" [label=\"sub_property_of (2)\"];\n\"EFO\" -> \"SNOMED\" [label=\"xref (1)\"];\n\"EFO\" -> \"SYMP\" [label=\"xref (2)\"];\n\"EFO\" -> \"UBERON\" [label=\"derives_from (6)\"];\n\"EFO\" -> \"UBERON\" [label=\"has_disease_location (278)\"];\n\"EFO\" -> \"UBERON\" [label=\"inheres_in (7)\"];\n\"EFO\" -> \"UBERON\" [label=\"inheres_in_part_of (13)\"];\n\"EFO\" -> \"UBERON\" [label=\"is_about (341)\"];\n\"EFO\" -> \"UBERON\" [label=\"located_in (6)\"];\n\"EFO\" -> \"UBERON\" [label=\"occurs_in (1)\"];\n\"EFO\" -> \"UBERON\" [label=\"part_of (22)\"];\n\"EFO\" -> \"UBERON\" [label=\"participates_in (1)\"];\n\"EFO\" -> \"UBERON\" [label=\"subclass_of (82)\"];\n\"EFO\" -> \"UBERON\" [label=\"xref (2)\"];\n\"EFO\" -> \"UMLS\" [label=\"xref (2202)\"];\n\"EFO\" -> \"UO\" [label=\"INVERTED:is_unit_of (4)\"];\n\"EFO\" -> \"UO\" [label=\"equivalent_to (1)\"];\n\"EFO\" -> \"UO\" [label=\"subclass_of (38)\"];\n\"EHDAA2\" -> \"AEO\" [label=\"attaches_to (1)\"];\n\"EHDAA2\" -> \"AEO\" [label=\"part_of (36)\"];\n\"EHDAA2\" -> \"AEO\" [label=\"subclass_of (1703)\"];\n\"EHDAA2\" -> \"CARO\" [label=\"subclass_of (927)\"];\n\"EHDAA2\" -> \"EHDAA2\" [label=\"INVERTED:develops_from (2125)\"];\n\"EHDAA2\" -> \"EHDAA2\" [label=\"attaches_to (1)\"];\n\"EHDAA2\" -> \"EHDAA2\" [label=\"develops_in (33)\"];\n\"EHDAA2\" -> \"EHDAA2\" [label=\"located_in (166)\"];\n\"EHDAA2\" -> \"EHDAA2\" [label=\"part_of (2925)\"];\n\"EHDAA2\" -> \"EHDAA2\" [label=\"subclass_of (155)\"];\n\"EHDAA2\" -> \"OBO\" [label=\"existence_ends_during (2367)\"];\n\"EHDAA2\" -> \"OBO\" [label=\"existence_starts_during (2268)\"];\n\"EHDAA2\" -> \"OBO\" [label=\"subclass_of (1)\"];\n\"ENSEMBL\" -> \"HGNC\" [label=\"same_as (42691)\"];\n\"ENSEMBL\" -> \"NCBITaxon\" [label=\"in_taxon (67667)\"];\n\"ENSEMBL\" -> \"NCBITaxon\" [label=\"only_in_taxon (110)\"];\n\"ENSEMBL\" -> \"PR\" [label=\"INVERTED:has_gene_template (110)\"];\n\"ENSEMBL\" -> \"SO\" [label=\"subclass_of (110)\"];\n\"ENVO\" -> \"BFO\" [label=\"has_increased_levels_of (1)\"];\n\"ENVO\" -> \"BFO\" [label=\"subclass_of (16)\"];\n\"ENVO\" -> \"CHEBI\" [label=\"derives_from (1)\"];\n\"ENVO\" -> \"CHEBI\" [label=\"has_increased_levels_of (4)\"];\n\"ENVO\" -> \"CHEBI\" [label=\"has_role (3)\"];\n\"ENVO\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (34)\"];\n\"ENVO\" -> \"ENVO\" [label=\"INVERTED:contains_process (1)\"];\n\"ENVO\" -> \"ENVO\" [label=\"INVERTED:determined_by (11)\"];\n\"ENVO\" -> \"ENVO\" [label=\"INVERTED:formed_as_result_of (4)\"];\n\"ENVO\" -> \"ENVO\" [label=\"INVERTED:has_part (17)\"];\n\"ENVO\" -> \"ENVO\" [label=\"INVERTED:has_participant (10)\"];\n\"ENVO\" -> \"ENVO\" [label=\"INVERTED:output_of (3)\"];\n\"ENVO\" -> \"ENVO\" [label=\"INVERTED:process_has_causal_agent (3)\"];\n\"ENVO\" -> \"ENVO\" [label=\"adjacent_to (8)\"];\n\"ENVO\" -> \"ENVO\" [label=\"bounding_layer_of (1)\"];\n\"ENVO\" -> \"ENVO\" [label=\"causal_agent_in_process (1)\"];\n\"ENVO\" -> \"ENVO\" [label=\"derives_from (9)\"];\n\"ENVO\" -> \"ENVO\" [label=\"ends (1)\"];\n\"ENVO\" -> \"ENVO\" [label=\"has_input (9)\"];\n\"ENVO\" -> \"ENVO\" [label=\"has_output (10)\"];\n\"ENVO\" -> \"ENVO\" [label=\"has_quality (4)\"];\n\"ENVO\" -> \"ENVO\" [label=\"has_role (1)\"];\n\"ENVO\" -> \"ENVO\" [label=\"inheres_in (7)\"];\n\"ENVO\" -> \"ENVO\" [label=\"located_in (3)\"];\n\"ENVO\" -> \"ENVO\" [label=\"occurs_in (2)\"];\n\"ENVO\" -> \"ENVO\" [label=\"overlaps (9)\"];\n\"ENVO\" -> \"ENVO\" [label=\"part_of (72)\"];\n\"ENVO\" -> \"ENVO\" [label=\"partially_surrounded_by (1)\"];\n\"ENVO\" -> \"ENVO\" [label=\"results_in_formation_of (2)\"];\n\"ENVO\" -> \"ENVO\" [label=\"subclass_of (590)\"];\n\"ENVO\" -> \"ENVO\" [label=\"surrounded_by (4)\"];\n\"ENVO\" -> \"ENVO\" [label=\"type (41)\"];\n\"ENVO\" -> \"FOODON\" [label=\"INVERTED:composed_primarily_of (1)\"];\n\"ENVO\" -> \"FOODON\" [label=\"subclass_of (2)\"];\n\"ENVO\" -> \"GENEPIO\" [label=\"subclass_of (17)\"];\n\"ENVO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"];\n\"ENVO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (13)\"];\n\"ENVO\" -> \"NCIT\" [label=\"located_in (1)\"];\n\"ENVO\" -> \"OBI\" [label=\"subclass_of (2)\"];\n\"ENVO\" -> \"OIO\" [label=\"subclass_of (1)\"];\n\"ENVO\" -> \"PATO\" [label=\"has_quality (32)\"];\n\"ENVO\" -> \"PATO\" [label=\"subclass_of (13)\"];\n\"ENVO\" -> \"PO\" [label=\"derives_from (1)\"];\n\"ENVO\" -> \"RO\" [label=\"subclass_of (1)\"];\n\"ENVO\" -> \"SIO\" [label=\"subclass_of (1)\"];\n\"EO\" -> \"EFO\" [label=\"subclass_of (1)\"];\n\"EO\" -> \"EO\" [label=\"subclass_of (47)\"];\n\"EO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"EO\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"EO\" -> \"NCBITaxon\" [label=\"subclass_of (2)\"];\n\"EPO\" -> \"TRANS\" [label=\"subclass_of (1)\"];\n\"ERO\" -> \"ERO\" [label=\"subclass_of (2)\"];\n\"ERO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"ERO\" -> \"OBI\" [label=\"subclass_of (4)\"];\n\"EnsemblGenomes\" -> \"NCBITaxon\" [label=\"only_in_taxon (278)\"];\n\"EnsemblGenomes\" -> \"PR\" [label=\"INVERTED:has_gene_template (278)\"];\n\"EnsemblGenomes\" -> \"SO\" [label=\"subclass_of (278)\"];\n\"ExO\" -> \"EPO\" [label=\"subclass_of (1)\"];\n\"ExO\" -> \"GENEPIO\" [label=\"member_of (2)\"];\n\"ExO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"FAO\" -> \"CARO\" [label=\"subclass_of (4)\"];\n\"FAO\" -> \"FAO\" [label=\"INVERTED:develops_from (2)\"];\n\"FAO\" -> \"FAO\" [label=\"part_of (4)\"];\n\"FAO\" -> \"FAO\" [label=\"subclass_of (32)\"];\n\"FAO\" -> \"NCBITaxon\" [label=\"only_in_taxon (1)\"];\n\"FBbt\" -> \"CL\" [label=\"xref (1)\"];\n\"FBbt\" -> \"EFO\" [label=\"subclass_of (77)\"];\n\"FBbt\" -> \"FBbt\" [label=\"part_of (16)\"];\n\"FBbt\" -> \"FBbt\" [label=\"subclass_of (12)\"];\n\"FBbt\" -> \"UBERON\" [label=\"INVERTED:develops_from (1)\"];\n\"FBbt\" -> \"UBERON\" [label=\"part_of (2)\"];\n\"FBbt\" -> \"UBERON\" [label=\"subclass_of (22)\"];\n\"FBdv\" -> \"EFO\" [label=\"subclass_of (1)\"];\n\"FBgn\" -> \"NCBITaxon\" [label=\"only_in_taxon (3954)\"];\n\"FBgn\" -> \"PR\" [label=\"INVERTED:has_gene_template (3954)\"];\n\"FBgn\" -> \"SO\" [label=\"subclass_of (3954)\"];\n\"FIX\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"FLU\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"FMA\" -> \"EFO\" [label=\"subclass_of (1)\"];\n\"FMA\" -> \"FMA\" [label=\"INVERTED:contains (333)\"];\n\"FMA\" -> \"FMA\" [label=\"INVERTED:derives (274)\"];\n\"FMA\" -> \"FMA\" [label=\"INVERTED:develops_from (18)\"];\n\"FMA\" -> \"FMA\" [label=\"INVERTED:has_member (2243)\"];\n\"FMA\" -> \"FMA\" [label=\"INVERTED:has_part (12)\"];\n\"FMA\" -> \"FMA\" [label=\"INVERTED:location_of (1)\"];\n\"FMA\" -> \"FMA\" [label=\"INVERTED:transforms_from (22)\"];\n\"FMA\" -> \"FMA\" [label=\"adheres_to (7)\"];\n\"FMA\" -> \"FMA\" [label=\"adjacent_to (22)\"];\n\"FMA\" -> \"FMA\" [label=\"afferent_to (812)\"];\n\"FMA\" -> \"FMA\" [label=\"anterior_to (355)\"];\n\"FMA\" -> \"FMA\" [label=\"anteroinferior_to (27)\"];\n\"FMA\" -> \"FMA\" [label=\"anterolateral_to (18)\"];\n\"FMA\" -> \"FMA\" [label=\"anteromedial_to (22)\"];\n\"FMA\" -> \"FMA\" [label=\"anterosuperior_to (16)\"];\n\"FMA\" -> \"FMA\" [label=\"arterial_supply_of (622)\"];\n\"FMA\" -> \"FMA\" [label=\"articulates_with (692)\"];\n\"FMA\" -> \"FMA\" [label=\"attaches_to (476)\"];\n\"FMA\" -> \"FMA\" [label=\"bounds (1465)\"];\n\"FMA\" -> \"FMA\" [label=\"branch_of (7586)\"];\n\"FMA\" -> \"FMA\" [label=\"connected_to (140)\"];\n\"FMA\" -> \"FMA\" [label=\"connection_type_of (4)\"];\n\"FMA\" -> \"FMA\" [label=\"constitutional_part_of (21424)\"];\n\"FMA\" -> \"FMA\" [label=\"continuation_branch_of (43)\"];\n\"FMA\" -> \"FMA\" [label=\"continuous_distally_with (1879)\"];\n\"FMA\" -> \"FMA\" [label=\"continuous_proximally_with (1825)\"];\n\"FMA\" -> \"FMA\" [label=\"continuous_with (2512)\"];\n\"FMA\" -> \"FMA\" [label=\"corresponds_to (46)\"];\n\"FMA\" -> \"FMA\" [label=\"development_type_of (13)\"];\n\"FMA\" -> \"FMA\" [label=\"developmental_stage_of (193)\"];\n\"FMA\" -> \"FMA\" [label=\"develops_into (3)\"];\n\"FMA\" -> \"FMA\" [label=\"direct_cell_shape_of (2)\"];\n\"FMA\" -> \"FMA\" [label=\"direct_left_of (275)\"];\n\"FMA\" -> \"FMA\" [label=\"direct_right_of (229)\"];\n\"FMA\" -> \"FMA\" [label=\"distal_to (159)\"];\n\"FMA\" -> \"FMA\" [label=\"drains_into (212)\"];\n\"FMA\" -> \"FMA\" [label=\"efferent_to (820)\"];\n\"FMA\" -> \"FMA\" [label=\"external_to (1)\"];\n\"FMA\" -> \"FMA\" [label=\"forms (15)\"];\n\"FMA\" -> \"FMA\" [label=\"full_grown_phenotype_of (3)\"];\n\"FMA\" -> \"FMA\" [label=\"fuses_with (26)\"];\n\"FMA\" -> \"FMA\" [label=\"fusion_of (2)\"];\n\"FMA\" -> \"FMA\" [label=\"germ_origin_of (1)\"];\n\"FMA\" -> \"FMA\" [label=\"has_adherent (7)\"];\n\"FMA\" -> \"FMA\" [label=\"has_arterial_supply (599)\"];\n\"FMA\" -> \"FMA\" [label=\"has_branch (6906)\"];\n\"FMA\" -> \"FMA\" [label=\"has_connection_type (4)\"];\n\"FMA\" -> \"FMA\" [label=\"has_constitutional_part (21120)\"];\n\"FMA\" -> \"FMA\" [label=\"has_continuation_branch (28)\"];\n\"FMA\" -> \"FMA\" [label=\"has_development_type (13)\"];\n\"FMA\" -> \"FMA\" [label=\"has_developmental_stage (193)\"];\n\"FMA\" -> \"FMA\" [label=\"has_direct_cell_shape (2)\"];\n\"FMA\" -> \"FMA\" [label=\"has_full_grown_phenotype (3)\"];\n\"FMA\" -> \"FMA\" [label=\"has_fusion (4)\"];\n\"FMA\" -> \"FMA\" [label=\"has_germ_origin (1)\"];\n\"FMA\" -> \"FMA\" [label=\"has_inherent_3d_shape (4)\"];\n\"FMA\" -> \"FMA\" [label=\"has_insertion (210)\"];\n\"FMA\" -> \"FMA\" [label=\"has_location (1)\"];\n\"FMA\" -> \"FMA\" [label=\"has_lymphatic_drainage (759)\"];\n\"FMA\" -> \"FMA\" [label=\"has_nerve_supply (2127)\"];\n\"FMA\" -> \"FMA\" [label=\"has_observed_anatomical_entity (3)\"];\n\"FMA\" -> \"FMA\" [label=\"has_origin (275)\"];\n\"FMA\" -> \"FMA\" [label=\"has_primary_segmental_supply (17)\"];\n\"FMA\" -> \"FMA\" [label=\"has_projection (110)\"];\n\"FMA\" -> \"FMA\" [label=\"has_regional_part (26404)\"];\n\"FMA\" -> \"FMA\" [label=\"has_related_developmental_entity (15)\"];\n\"FMA\" -> \"FMA\" [label=\"has_secondary_segmental_supply (79)\"];\n\"FMA\" -> \"FMA\" [label=\"has_segmental_composition (2)\"];\n\"FMA\" -> \"FMA\" [label=\"has_segmental_supply (613)\"];\n\"FMA\" -> \"FMA\" [label=\"has_tributary (1007)\"];\n\"FMA\" -> \"FMA\" [label=\"has_venous_drainage (132)\"];\n\"FMA\" -> \"FMA\" [label=\"homonym_of (73)\"];\n\"FMA\" -> \"FMA\" [label=\"inferior_to (401)\"];\n\"FMA\" -> \"FMA\" [label=\"inferolateral_to (8)\"];\n\"FMA\" -> \"FMA\" [label=\"inferomedial_to (5)\"];\n\"FMA\" -> \"FMA\" [label=\"inherent_3d_shape_of (4)\"];\n\"FMA\" -> \"FMA\" [label=\"insertion_of (213)\"];\n\"FMA\" -> \"FMA\" [label=\"internal_to (1)\"];\n\"FMA\" -> \"FMA\" [label=\"inverse_of_bounds (1076)\"];\n\"FMA\" -> \"FMA\" [label=\"inverse_of_contains (555)\"];\n\"FMA\" -> \"FMA\" [label=\"inverse_of_derives (264)\"];\n\"FMA\" -> \"FMA\" [label=\"inverse_of_forms (15)\"];\n\"FMA\" -> \"FMA\" [label=\"lateral_to (111)\"];\n\"FMA\" -> \"FMA\" [label=\"left_lateral_to (5)\"];\n\"FMA\" -> \"FMA\" [label=\"left_medial_to (3)\"];\n\"FMA\" -> \"FMA\" [label=\"lymphatic_drainage_of (764)\"];\n\"FMA\" -> \"FMA\" [label=\"matures_from (76)\"];\n\"FMA\" -> \"FMA\" [label=\"matures_into (76)\"];\n\"FMA\" -> \"FMA\" [label=\"medial_to (130)\"];\n\"FMA\" -> \"FMA\" [label=\"member_of (2295)\"];\n\"FMA\" -> \"FMA\" [label=\"merges_with (6)\"];\n\"FMA\" -> \"FMA\" [label=\"nerve_supply_of (2129)\"];\n\"FMA\" -> \"FMA\" [label=\"origin_of (275)\"];\n\"FMA\" -> \"FMA\" [label=\"part_of (4801)\"];\n\"FMA\" -> \"FMA\" [label=\"posterior_to (403)\"];\n\"FMA\" -> \"FMA\" [label=\"posteroinferior_to (22)\"];\n\"FMA\" -> \"FMA\" [label=\"posterolateral_to (12)\"];\n\"FMA\" -> \"FMA\" [label=\"posteromedial_to (9)\"];\n\"FMA\" -> \"FMA\" [label=\"posterosuperior_to (34)\"];\n\"FMA\" -> \"FMA\" [label=\"primary_segmental_supply_of (24)\"];\n\"FMA\" -> \"FMA\" [label=\"projects_from (110)\"];\n\"FMA\" -> \"FMA\" [label=\"projects_to (117)\"];\n\"FMA\" -> \"FMA\" [label=\"proximal_to (106)\"];\n\"FMA\" -> \"FMA\" [label=\"receives_attachment_from (458)\"];\n\"FMA\" -> \"FMA\" [label=\"receives_drainage_from (195)\"];\n\"FMA\" -> \"FMA\" [label=\"receives_input_from (676)\"];\n\"FMA\" -> \"FMA\" [label=\"receives_projection (117)\"];\n\"FMA\" -> \"FMA\" [label=\"regional_part_of (27615)\"];\n\"FMA\" -> \"FMA\" [label=\"related_developmental_entity_of (13)\"];\n\"FMA\" -> \"FMA\" [label=\"related_object (252)\"];\n\"FMA\" -> \"FMA\" [label=\"related_part (3094)\"];\n\"FMA\" -> \"FMA\" [label=\"right_lateral_to (4)\"];\n\"FMA\" -> \"FMA\" [label=\"right_medial_to (4)\"];\n\"FMA\" -> \"FMA\" [label=\"secondary_segmental_supply_of (2)\"];\n\"FMA\" -> \"FMA\" [label=\"segmental_composition_of (2)\"];\n\"FMA\" -> \"FMA\" [label=\"segmental_supply_of (683)\"];\n\"FMA\" -> \"FMA\" [label=\"sends_output_to (800)\"];\n\"FMA\" -> \"FMA\" [label=\"sub_property_of (3)\"];\n\"FMA\" -> \"FMA\" [label=\"subclass_of (107543)\"];\n\"FMA\" -> \"FMA\" [label=\"superior_to (399)\"];\n\"FMA\" -> \"FMA\" [label=\"superolateral_to (9)\"];\n\"FMA\" -> \"FMA\" [label=\"superomedial_to (5)\"];\n\"FMA\" -> \"FMA\" [label=\"surrounded_by (139)\"];\n\"FMA\" -> \"FMA\" [label=\"surrounds (133)\"];\n\"FMA\" -> \"FMA\" [label=\"transforms_into (28)\"];\n\"FMA\" -> \"FMA\" [label=\"tributary_of (1068)\"];\n\"FMA\" -> \"FMA\" [label=\"venous_drainage_of (132)\"];\n\"FMA\" -> \"UBERON\" [label=\"part_of (2)\"];\n\"FMA\" -> \"UBERON\" [label=\"subclass_of (8)\"];\n\"FMA\" -> \"UMLS\" [label=\"xref (104400)\"];\n\"FOODON\" -> \"BFO\" [label=\"subclass_of (11)\"];\n\"FOODON\" -> \"CHEBI\" [label=\"derives_from (2)\"];\n\"FOODON\" -> \"CHEBI\" [label=\"subclass_of (14)\"];\n\"FOODON\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (25)\"];\n\"FOODON\" -> \"ECOCORE\" [label=\"INVERTED:has_participant (1)\"];\n\"FOODON\" -> \"ENVO\" [label=\"derives_from (8)\"];\n\"FOODON\" -> \"ENVO\" [label=\"subclass_of (9)\"];\n\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (190)\"];\n\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_ingredient (77)\"];\n\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_member (11)\"];\n\"FOODON\" -> \"FOODON\" [label=\"INVERTED:has_part (9)\"];\n\"FOODON\" -> \"FOODON\" [label=\"INVERTED:output_of (15)\"];\n\"FOODON\" -> \"FOODON\" [label=\"INVERTED:produced_by (2)\"];\n\"FOODON\" -> \"FOODON\" [label=\"derives_from (2874)\"];\n\"FOODON\" -> \"FOODON\" [label=\"develops_from_part_of (13)\"];\n\"FOODON\" -> \"FOODON\" [label=\"has_consumer (6)\"];\n\"FOODON\" -> \"FOODON\" [label=\"has_food_substance_analog (14)\"];\n\"FOODON\" -> \"FOODON\" [label=\"has_input (3)\"];\n\"FOODON\" -> \"FOODON\" [label=\"has_output (1)\"];\n\"FOODON\" -> \"FOODON\" [label=\"has_quality (9)\"];\n\"FOODON\" -> \"FOODON\" [label=\"has_substance_added (1)\"];\n\"FOODON\" -> \"FOODON\" [label=\"is_about (3)\"];\n\"FOODON\" -> \"FOODON\" [label=\"member_of (5921)\"];\n\"FOODON\" -> \"FOODON\" [label=\"part_of (1)\"];\n\"FOODON\" -> \"FOODON\" [label=\"sub_property_of (1)\"];\n\"FOODON\" -> \"FOODON\" [label=\"subclass_of (23328)\"];\n\"FOODON\" -> \"FOODON\" [label=\"surrounded_by (1)\"];\n\"FOODON\" -> \"GAZ\" [label=\"has_country_of_origin (9)\"];\n\"FOODON\" -> \"GAZ\" [label=\"subclass_of (13)\"];\n\"FOODON\" -> \"GENEPIO\" [label=\"subclass_of (15)\"];\n\"FOODON\" -> \"IAO\" [label=\"subclass_of (7)\"];\n\"FOODON\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (17)\"];\n\"FOODON\" -> \"NCBITaxon\" [label=\"in_taxon (1733)\"];\n\"FOODON\" -> \"NCIT\" [label=\"subclass_of (2)\"];\n\"FOODON\" -> \"OIO\" [label=\"subclass_of (11)\"];\n\"FOODON\" -> \"PATO\" [label=\"subclass_of (6)\"];\n\"FOODON\" -> \"PO\" [label=\"derives_from (5)\"];\n\"FOODON\" -> \"PO\" [label=\"member_of (1)\"];\n\"FOODON\" -> \"PO\" [label=\"subclass_of (11)\"];\n\"FOODON\" -> \"RO\" [label=\"sub_property_of (1)\"];\n\"FOODON\" -> \"UBERON\" [label=\"derives_from (6)\"];\n\"FOODON\" -> \"UBERON\" [label=\"subclass_of (2)\"];\n\"FOODON\" -> \"owl\" [label=\"sub_property_of (1)\"];\n\"GARD\" -> \"MONDO\" [label=\"equivalent_to (5814)\"];\n\"GAZ\" -> \"ENVO\" [label=\"type (190)\"];\n\"GAZ\" -> \"FOODON\" [label=\"subclass_of (162)\"];\n\"GAZ\" -> \"GAZ\" [label=\"located_in (720)\"];\n\"GAZ\" -> \"GAZ\" [label=\"subclass_of (273)\"];\n\"GAZ\" -> \"GENEPIO\" [label=\"subclass_of (16)\"];\n\"GAZ\" -> \"GENEPIO\" [label=\"type (56)\"];\n\"GAZ\" -> \"NCIT\" [label=\"subclass_of (186)\"];\n\"GAZ\" -> \"NCIT\" [label=\"type (189)\"];\n\"GAZ\" -> \"OBO\" [label=\"subclass_of (197)\"];\n\"GENEPIO\" -> \"ARO\" [label=\"equivalent_to (1)\"];\n\"GENEPIO\" -> \"ARO\" [label=\"is_about (3)\"];\n\"GENEPIO\" -> \"ARO\" [label=\"subclass_of (4)\"];\n\"GENEPIO\" -> \"BFO\" [label=\"subclass_of (13)\"];\n\"GENEPIO\" -> \"CHEBI\" [label=\"is_about (1)\"];\n\"GENEPIO\" -> \"CHEBI\" [label=\"subclass_of (2)\"];\n\"GENEPIO\" -> \"CHMO\" [label=\"subclass_of (5)\"];\n\"GENEPIO\" -> \"DOID\" [label=\"subclass_of (1)\"];\n\"GENEPIO\" -> \"EDAM\" [label=\"subclass_of (1)\"];\n\"GENEPIO\" -> \"EFO\" [label=\"subclass_of (1)\"];\n\"GENEPIO\" -> \"ENVO\" [label=\"is_about (1)\"];\n\"GENEPIO\" -> \"ENVO\" [label=\"subclass_of (3)\"];\n\"GENEPIO\" -> \"ExO\" [label=\"subclass_of (9)\"];\n\"GENEPIO\" -> \"FOODON\" [label=\"subclass_of (3)\"];\n\"GENEPIO\" -> \"GAZ\" [label=\"located_in (1)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:after (18)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_component (38)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_member (1)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:has_part (4)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:preceded_by (1)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:produced_by (1)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (12)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"aligned_with (1)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"before (11)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"has_output (1)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"immediately_preceded_by (6)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"inheres_in (1)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"is_about (8)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"located_in (2)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"member_of (9)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"part_of (1)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"precedes (2)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"subclass_of (665)\"];\n\"GENEPIO\" -> \"GENEPIO\" [label=\"type (43)\"];\n\"GENEPIO\" -> \"GEO\" [label=\"subclass_of (1)\"];\n\"GENEPIO\" -> \"IAO\" [label=\"subclass_of (73)\"];\n\"GENEPIO\" -> \"IDO\" [label=\"is_about (6)\"];\n\"GENEPIO\" -> \"MI\" [label=\"subclass_of (15)\"];\n\"GENEPIO\" -> \"NCBITaxon\" [label=\"is_about (4)\"];\n\"GENEPIO\" -> \"NCIT\" [label=\"INVERTED:after (2)\"];\n\"GENEPIO\" -> \"NCIT\" [label=\"before (1)\"];\n\"GENEPIO\" -> \"NCIT\" [label=\"is_about (10)\"];\n\"GENEPIO\" -> \"NCIT\" [label=\"subclass_of (33)\"];\n\"GENEPIO\" -> \"OBI\" [label=\"denotes (1)\"];\n\"GENEPIO\" -> \"OBI\" [label=\"has_quality (1)\"];\n\"GENEPIO\" -> \"OBI\" [label=\"inheres_in (1)\"];\n\"GENEPIO\" -> \"OBI\" [label=\"is_about (7)\"];\n\"GENEPIO\" -> \"OBI\" [label=\"member_of (1)\"];\n\"GENEPIO\" -> \"OBI\" [label=\"subclass_of (96)\"];\n\"GENEPIO\" -> \"OBO\" [label=\"subclass_of (1)\"];\n\"GENEPIO\" -> \"OIO\" [label=\"subclass_of (2)\"];\n\"GENEPIO\" -> \"OMIT\" [label=\"is_about (4)\"];\n\"GENEPIO\" -> \"OMP\" [label=\"subclass_of (1)\"];\n\"GENEPIO\" -> \"PATO\" [label=\"is_about (2)\"];\n\"GENEPIO\" -> \"PATO\" [label=\"subclass_of (2)\"];\n\"GENEPIO\" -> \"PCO\" [label=\"subclass_of (2)\"];\n\"GENEPIO\" -> \"RO\" [label=\"inverse_of (1)\"];\n\"GENEPIO\" -> \"SIO\" [label=\"subclass_of (8)\"];\n\"GENEPIO\" -> \"SO\" [label=\"is_about (7)\"];\n\"GENEPIO\" -> \"STATO\" [label=\"is_about (1)\"];\n\"GENEPIO\" -> \"STATO\" [label=\"subclass_of (12)\"];\n\"GENEPIO\" -> \"UO\" [label=\"INVERTED:is_unit_of (1)\"];\n\"GENEPIO\" -> \"UO\" [label=\"has_measurement_unit_label (3)\"];\n\"GENEPIO\" -> \"UO\" [label=\"subclass_of (7)\"];\n\"GENO\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (2007)\"];\n\"GENO\" -> \"GENO\" [label=\"subclass_of (24)\"];\n\"GEO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"GEO\" -> \"GENEPIO\" [label=\"aligned_with (1)\"];\n\"GEO\" -> \"GENEPIO\" [label=\"subclass_of (2)\"];\n\"GEO\" -> \"GEO\" [label=\"subclass_of (1)\"];\n\"GO\" -> \"BFO\" [label=\"subclass_of (7)\"];\n\"GO\" -> \"CARO\" [label=\"results_in_development_of (1)\"];\n\"GO\" -> \"CARO\" [label=\"results_in_maturation_of (1)\"];\n\"GO\" -> \"CARO\" [label=\"subclass_of (21)\"];\n\"GO\" -> \"CHEBI\" [label=\"exports (74)\"];\n\"GO\" -> \"CHEBI\" [label=\"has_input (967)\"];\n\"GO\" -> \"CHEBI\" [label=\"has_output (93)\"];\n\"GO\" -> \"CHEBI\" [label=\"has_primary_input (1000)\"];\n\"GO\" -> \"CHEBI\" [label=\"has_primary_output (1168)\"];\n\"GO\" -> \"CHEBI\" [label=\"imports (179)\"];\n\"GO\" -> \"CHEBI\" [label=\"is_about (4)\"];\n\"GO\" -> \"CHEBI\" [label=\"regulates_levels_of (62)\"];\n\"GO\" -> \"CHEBI\" [label=\"transports_or_maintains_localization_of (969)\"];\n\"GO\" -> \"CHEBI\" [label=\"xref (919)\"];\n\"GO\" -> \"CL\" [label=\"INVERTED:has_part (98)\"];\n\"GO\" -> \"CL\" [label=\"INVERTED:has_plasma_membrane_part (1)\"];\n\"GO\" -> \"CL\" [label=\"acts_on_population_of (84)\"];\n\"GO\" -> \"CL\" [label=\"equivalent_to (1)\"];\n\"GO\" -> \"CL\" [label=\"has_end_location (3)\"];\n\"GO\" -> \"CL\" [label=\"has_input (64)\"];\n\"GO\" -> \"CL\" [label=\"has_start_location (3)\"];\n\"GO\" -> \"CL\" [label=\"has_target_end_location (2)\"];\n\"GO\" -> \"CL\" [label=\"has_target_start_location (4)\"];\n\"GO\" -> \"CL\" [label=\"is_about (1)\"];\n\"GO\" -> \"CL\" [label=\"occurs_in (129)\"];\n\"GO\" -> \"CL\" [label=\"overlaps (15)\"];\n\"GO\" -> \"CL\" [label=\"part_of (150)\"];\n\"GO\" -> \"CL\" [label=\"results_in_acquisition_of_features_of (300)\"];\n\"GO\" -> \"CL\" [label=\"results_in_commitment_to (57)\"];\n\"GO\" -> \"CL\" [label=\"results_in_determination_of (25)\"];\n\"GO\" -> \"CL\" [label=\"results_in_development_of (98)\"];\n\"GO\" -> \"CL\" [label=\"results_in_formation_of (15)\"];\n\"GO\" -> \"CL\" [label=\"results_in_growth_of (5)\"];\n\"GO\" -> \"CL\" [label=\"results_in_maturation_of (16)\"];\n\"GO\" -> \"CL\" [label=\"results_in_morphogenesis_of (10)\"];\n\"GO\" -> \"CL\" [label=\"results_in_specification_of (26)\"];\n\"GO\" -> \"CL\" [label=\"subclass_of (1)\"];\n\"GO\" -> \"CL\" [label=\"transports_or_maintains_localization_of (4)\"];\n\"GO\" -> \"CL\" [label=\"xref (258)\"];\n\"GO\" -> \"DDANAT\" [label=\"results_in_development_of (1)\"];\n\"GO\" -> \"DDANAT\" [label=\"xref (1)\"];\n\"GO\" -> \"DOID\" [label=\"INVERTED:disease_caused_by_disruption_of (53)\"];\n\"GO\" -> \"ECOCORE\" [label=\"INVERTED:has_part (5)\"];\n\"GO\" -> \"EFO\" [label=\"INVERTED:has_input (1)\"];\n\"GO\" -> \"EFO\" [label=\"subclass_of (10)\"];\n\"GO\" -> \"FAO\" [label=\"part_of (3)\"];\n\"GO\" -> \"FAO\" [label=\"results_in_development_of (10)\"];\n\"GO\" -> \"FAO\" [label=\"results_in_formation_of (6)\"];\n\"GO\" -> \"FAO\" [label=\"results_in_growth_of (1)\"];\n\"GO\" -> \"FMA\" [label=\"xref (10)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:ends_with (25)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:has_part (4860)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:has_participant (39)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (1)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:inverse_of_isa (5250)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:negatively_regulated_by (1632)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:positively_regulated_by (1616)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:preceded_by (1)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (20)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:regulated_by (1913)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:results_in_movement_of (1)\"];\n\"GO\" -> \"GO\" [label=\"INVERTED:starts_with (58)\"];\n\"GO\" -> \"GO\" [label=\"adjacent_to (22)\"];\n\"GO\" -> \"GO\" [label=\"bounding_layer_of (29)\"];\n\"GO\" -> \"GO\" [label=\"capable_of (498)\"];\n\"GO\" -> \"GO\" [label=\"capable_of_part_of (298)\"];\n\"GO\" -> \"GO\" [label=\"causally_upstream_of (3)\"];\n\"GO\" -> \"GO\" [label=\"directly_negatively_regulates (11)\"];\n\"GO\" -> \"GO\" [label=\"directly_positively_regulates (15)\"];\n\"GO\" -> \"GO\" [label=\"directly_regulates (12)\"];\n\"GO\" -> \"GO\" [label=\"ends_during (1)\"];\n\"GO\" -> \"GO\" [label=\"exports (4)\"];\n\"GO\" -> \"GO\" [label=\"happens_during (12)\"];\n\"GO\" -> \"GO\" [label=\"has_end_location (5)\"];\n\"GO\" -> \"GO\" [label=\"has_input (116)\"];\n\"GO\" -> \"GO\" [label=\"has_occurrence (258)\"];\n\"GO\" -> \"GO\" [label=\"has_output (14)\"];\n\"GO\" -> \"GO\" [label=\"has_primary_input (2)\"];\n\"GO\" -> \"GO\" [label=\"has_primary_output (1)\"];\n\"GO\" -> \"GO\" [label=\"has_start_location (8)\"];\n\"GO\" -> \"GO\" [label=\"has_target_end_location (268)\"];\n\"GO\" -> \"GO\" [label=\"has_target_start_location (96)\"];\n\"GO\" -> \"GO\" [label=\"immediately_causally_upstream_of (2)\"];\n\"GO\" -> \"GO\" [label=\"immediately_preceded_by (7)\"];\n\"GO\" -> \"GO\" [label=\"immediately_precedes (4)\"];\n\"GO\" -> \"GO\" [label=\"imports (2)\"];\n\"GO\" -> \"GO\" [label=\"inverse_ends_during (1)\"];\n\"GO\" -> \"GO\" [label=\"isa (6463)\"];\n\"GO\" -> \"GO\" [label=\"negatively_regulates (4659)\"];\n\"GO\" -> \"GO\" [label=\"occurs_in (270)\"];\n\"GO\" -> \"GO\" [label=\"overlaps (26)\"];\n\"GO\" -> \"GO\" [label=\"part_of (5240)\"];\n\"GO\" -> \"GO\" [label=\"positively_regulates (4656)\"];\n\"GO\" -> \"GO\" [label=\"precedes (1)\"];\n\"GO\" -> \"GO\" [label=\"regulates (5322)\"];\n\"GO\" -> \"GO\" [label=\"results_in (9)\"];\n\"GO\" -> \"GO\" [label=\"results_in_assembly_of (316)\"];\n\"GO\" -> \"GO\" [label=\"results_in_development_of (4)\"];\n\"GO\" -> \"GO\" [label=\"results_in_disassembly_of (75)\"];\n\"GO\" -> \"GO\" [label=\"results_in_distribution_of (7)\"];\n\"GO\" -> \"GO\" [label=\"results_in_fission_of (8)\"];\n\"GO\" -> \"GO\" [label=\"results_in_formation_of (2)\"];\n\"GO\" -> \"GO\" [label=\"results_in_fusion_of (33)\"];\n\"GO\" -> \"GO\" [label=\"results_in_growth_of (2)\"];\n\"GO\" -> \"GO\" [label=\"results_in_maintenance_of (16)\"];\n\"GO\" -> \"GO\" [label=\"results_in_maturation_of (2)\"];\n\"GO\" -> \"GO\" [label=\"results_in_morphogenesis_of (12)\"];\n\"GO\" -> \"GO\" [label=\"results_in_organization_of (191)\"];\n\"GO\" -> \"GO\" [label=\"results_in_remodeling_of (10)\"];\n\"GO\" -> \"GO\" [label=\"results_in_structural_organization_of (1)\"];\n\"GO\" -> \"GO\" [label=\"results_in_transport_across (45)\"];\n\"GO\" -> \"GO\" [label=\"results_in_transport_along (6)\"];\n\"GO\" -> \"GO\" [label=\"results_in_transport_to_from_or_in (17)\"];\n\"GO\" -> \"GO\" [label=\"subclass_of (80401)\"];\n\"GO\" -> \"GO\" [label=\"transports_or_maintains_localization_of (61)\"];\n\"GO\" -> \"GO\" [label=\"xref (4)\"];\n\"GO\" -> \"MI\" [label=\"subclass_of (2)\"];\n\"GO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (275)\"];\n\"GO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (30)\"];\n\"GO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (4)\"];\n\"GO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"];\n\"GO\" -> \"NBO\" [label=\"INVERTED:by_means (1)\"];\n\"GO\" -> \"NBO\" [label=\"INVERTED:in_response_to (12)\"];\n\"GO\" -> \"NCBITaxon\" [label=\"has_input (10)\"];\n\"GO\" -> \"NCBITaxon\" [label=\"only_in_taxon (683)\"];\n\"GO\" -> \"OBA\" [label=\"negatively_regulates (11)\"];\n\"GO\" -> \"OBA\" [label=\"positively_regulates (11)\"];\n\"GO\" -> \"OBA\" [label=\"regulates (80)\"];\n\"GO\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"GO\" -> \"OBO\" [label=\"exports (4)\"];\n\"GO\" -> \"OBO\" [label=\"has_input (48)\"];\n\"GO\" -> \"OBO\" [label=\"has_output (1)\"];\n\"GO\" -> \"OBO\" [label=\"has_primary_input (20)\"];\n\"GO\" -> \"OBO\" [label=\"has_primary_output (16)\"];\n\"GO\" -> \"OBO\" [label=\"imports (3)\"];\n\"GO\" -> \"OBO\" [label=\"regulates_levels_of (2)\"];\n\"GO\" -> \"OBO\" [label=\"subclass_of (2)\"];\n\"GO\" -> \"OBO\" [label=\"transports_or_maintains_localization_of (20)\"];\n\"GO\" -> \"OMIM\" [label=\"INVERTED:disease_caused_by_disruption_of (4)\"];\n\"GO\" -> \"OMIM\" [label=\"xref (4)\"];\n\"GO\" -> \"PATO\" [label=\"bearer_of (5)\"];\n\"GO\" -> \"PATO\" [label=\"xref (1)\"];\n\"GO\" -> \"PO\" [label=\"occurs_in (10)\"];\n\"GO\" -> \"PO\" [label=\"part_of (9)\"];\n\"GO\" -> \"PO\" [label=\"results_in_acquisition_of_features_of (31)\"];\n\"GO\" -> \"PO\" [label=\"results_in_commitment_to (2)\"];\n\"GO\" -> \"PO\" [label=\"results_in_development_of (65)\"];\n\"GO\" -> \"PO\" [label=\"results_in_formation_of (17)\"];\n\"GO\" -> \"PO\" [label=\"results_in_maturation_of (5)\"];\n\"GO\" -> \"PO\" [label=\"results_in_morphogenesis_of (30)\"];\n\"GO\" -> \"PO\" [label=\"results_in_specification_of (7)\"];\n\"GO\" -> \"PO\" [label=\"results_in_structural_organization_of (8)\"];\n\"GO\" -> \"PO\" [label=\"xref (44)\"];\n\"GO\" -> \"PR\" [label=\"INVERTED:output_of (808)\"];\n\"GO\" -> \"PR\" [label=\"directly_positively_regulates (2)\"];\n\"GO\" -> \"PR\" [label=\"exports (1)\"];\n\"GO\" -> \"PR\" [label=\"has_input (292)\"];\n\"GO\" -> \"PR\" [label=\"has_primary_input (2)\"];\n\"GO\" -> \"PR\" [label=\"has_primary_output (10)\"];\n\"GO\" -> \"PR\" [label=\"imports (1)\"];\n\"GO\" -> \"PR\" [label=\"transports_or_maintains_localization_of (9)\"];\n\"GO\" -> \"PR\" [label=\"xref (89)\"];\n\"GO\" -> \"SO\" [label=\"coincident_with (6)\"];\n\"GO\" -> \"SO\" [label=\"exports (4)\"];\n\"GO\" -> \"SO\" [label=\"has_input (7)\"];\n\"GO\" -> \"SO\" [label=\"has_output (6)\"];\n\"GO\" -> \"SO\" [label=\"has_primary_input (17)\"];\n\"GO\" -> \"SO\" [label=\"has_primary_output (2)\"];\n\"GO\" -> \"SO\" [label=\"imports (1)\"];\n\"GO\" -> \"SO\" [label=\"transports_or_maintains_localization_of (4)\"];\n\"GO\" -> \"SO\" [label=\"xref (15)\"];\n\"GO\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (25)\"];\n\"GO\" -> \"UBERON\" [label=\"INVERTED:contains_process (28)\"];\n\"GO\" -> \"UBERON\" [label=\"INVERTED:has_part (43)\"];\n\"GO\" -> \"UBERON\" [label=\"INVERTED:output_of (17)\"];\n\"GO\" -> \"UBERON\" [label=\"INVERTED:site_of (16)\"];\n\"GO\" -> \"UBERON\" [label=\"has_end_location (1)\"];\n\"GO\" -> \"UBERON\" [label=\"has_input (8)\"];\n\"GO\" -> \"UBERON\" [label=\"has_output (1)\"];\n\"GO\" -> \"UBERON\" [label=\"has_start_location (1)\"];\n\"GO\" -> \"UBERON\" [label=\"has_target_end_location (2)\"];\n\"GO\" -> \"UBERON\" [label=\"has_target_start_location (2)\"];\n\"GO\" -> \"UBERON\" [label=\"occurs_in (69)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_development_of (588)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_developmental_progression_of (1)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_formation_of (174)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_growth_of (20)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_maturation_of (53)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_morphogenesis_of (342)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_specification_of (4)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_structural_organization_of (28)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_transport_across (7)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_transport_along (1)\"];\n\"GO\" -> \"UBERON\" [label=\"results_in_transport_to_from_or_in (2)\"];\n\"GO\" -> \"UBERON\" [label=\"transports_or_maintains_localization_of (2)\"];\n\"GO\" -> \"UBERON\" [label=\"xref (44)\"];\n\"GO\" -> \"UMLS\" [label=\"xref (69387)\"];\n\"GO\" -> \"ZFA\" [label=\"xref (5)\"];\n\"GOREL\" -> \"RO\" [label=\"sub_property_of (5)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"activator (87)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"affects (97)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"agonist (1350)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"allosteric_modulator (139)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"antagonist (729)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"antibody (25)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"channel_blocker (158)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"gating_inhibitor (32)\"];\n\"GTPI\" -> \"NCBIGene\" [label=\"inhibitor (1337)\"];\n\"HANCESTRO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"HANCESTRO\" -> \"HANCESTRO\" [label=\"has_ancestry_status (2)\"];\n\"HANCESTRO\" -> \"HANCESTRO\" [label=\"inverse_of (1)\"];\n\"HANCESTRO\" -> \"HANCESTRO\" [label=\"subclass_of (330)\"];\n\"HANCESTRO\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"HANCESTRO\" -> \"OBI\" [label=\"subclass_of (2)\"];\n\"HANCESTRO\" -> \"dbpedia\" [label=\"is_demonym_of (9)\"];\n\"HCPCS\" -> \"HCPCS\" [label=\"mapped_to (15)\"];\n\"HCPCS\" -> \"HCPCS\" [label=\"subclass_of (6944)\"];\n\"HCPCS\" -> \"UMLS\" [label=\"xref (6948)\"];\n\"HGNC\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (4393)\"];\n\"HGNC\" -> \"NCBITaxon\" [label=\"only_in_taxon (19823)\"];\n\"HGNC\" -> \"PR\" [label=\"INVERTED:has_gene_template (19823)\"];\n\"HGNC\" -> \"SO\" [label=\"subclass_of (19874)\"];\n\"HGNC\" -> \"UMLS\" [label=\"xref (41638)\"];\n\"HGNC\" -> \"UniProtKB\" [label=\"has_gene_product (20312)\"];\n\"HMDB\" -> \"CHEBI\" [label=\"same_as (4846)\"];\n\"HMDB\" -> \"CHEMBL.TARGET\" [label=\"at_tissue (174)\"];\n\"HMDB\" -> \"CL\" [label=\"at_tissue (7)\"];\n\"HMDB\" -> \"EFO\" [label=\"at_tissue (9)\"];\n\"HMDB\" -> \"EHDAA2\" [label=\"at_tissue (1)\"];\n\"HMDB\" -> \"EHDAA2\" [label=\"in_biospecimen (1)\"];\n\"HMDB\" -> \"FMA\" [label=\"at_cellular_location (1)\"];\n\"HMDB\" -> \"FMA\" [label=\"at_tissue (4175)\"];\n\"HMDB\" -> \"FMA\" [label=\"in_biospecimen (49)\"];\n\"HMDB\" -> \"GO\" [label=\"at_cellular_location (16784)\"];\n\"HMDB\" -> \"MEDDRA\" [label=\"at_tissue (2)\"];\n\"HMDB\" -> \"MESH\" [label=\"at_tissue (2301)\"];\n\"HMDB\" -> \"MESH\" [label=\"in_biospecimen (19)\"];\n\"HMDB\" -> \"NCIT\" [label=\"at_tissue (217)\"];\n\"HMDB\" -> \"OMIM\" [label=\"at_tissue (2)\"];\n\"HMDB\" -> \"OMIM\" [label=\"disease (4222)\"];\n\"HMDB\" -> \"SMPDB\" [label=\"in_pathway (482060)\"];\n\"HMDB\" -> \"UBERON\" [label=\"at_tissue (66)\"];\n\"HMDB\" -> \"UMLS\" [label=\"at_cellular_location (1)\"];\n\"HMDB\" -> \"UMLS\" [label=\"at_tissue (137)\"];\n\"HMDB\" -> \"UMLS\" [label=\"in_biospecimen (11184)\"];\n\"HMDB\" -> \"UniProtKB\" [label=\"has_protein_association (332823)\"];\n\"HP\" -> \"ARO\" [label=\"subclass_of (1)\"];\n\"HP\" -> \"BFO\" [label=\"subclass_of (3)\"];\n\"HP\" -> \"CHEBI\" [label=\"subclass_of (1)\"];\n\"HP\" -> \"CL\" [label=\"affects (110)\"];\n\"HP\" -> \"CL\" [label=\"xref (4)\"];\n\"HP\" -> \"DOID\" [label=\"xref (34)\"];\n\"HP\" -> \"EFO\" [label=\"subclass_of (46)\"];\n\"HP\" -> \"EFO\" [label=\"xref (1)\"];\n\"HP\" -> \"GARD\" [label=\"xref (1)\"];\n\"HP\" -> \"GO\" [label=\"subclass_of (1)\"];\n\"HP\" -> \"GO\" [label=\"xref (3)\"];\n\"HP\" -> \"HP\" [label=\"has_modifier (1)\"];\n\"HP\" -> \"HP\" [label=\"subclass_of (22195)\"];\n\"HP\" -> \"ICD10\" [label=\"xref (83)\"];\n\"HP\" -> \"ICD9\" [label=\"xref (18)\"];\n\"HP\" -> \"MEDDRA\" [label=\"xref (93)\"];\n\"HP\" -> \"MESH\" [label=\"xref (3)\"];\n\"HP\" -> \"MONDO\" [label=\"equivalent_to (5)\"];\n\"HP\" -> \"MONDO\" [label=\"subclass_of (1)\"];\n\"HP\" -> \"MP\" [label=\"subclass_of (5)\"];\n\"HP\" -> \"MP\" [label=\"xref (1)\"];\n\"HP\" -> \"NCIT\" [label=\"xref (276)\"];\n\"HP\" -> \"OMIM\" [label=\"xref (24)\"];\n\"HP\" -> \"ORPHANET\" [label=\"subclass_of (2)\"];\n\"HP\" -> \"SYMP\" [label=\"has_symptom (2)\"];\n\"HP\" -> \"UBERON\" [label=\"affects (2853)\"];\n\"HP\" -> \"UBERON\" [label=\"inheres_in (1)\"];\n\"HP\" -> \"UBERON\" [label=\"inheres_in_part_of (2)\"];\n\"HP\" -> \"UBERON\" [label=\"xref (1)\"];\n\"HP\" -> \"UMLS\" [label=\"xref (16527)\"];\n\"HP\" -> \"UPHENO\" [label=\"subclass_of (1)\"];\n\"IAO\" -> \"BFO\" [label=\"sub_property_of (2)\"];\n\"IAO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"IAO\" -> \"EFO\" [label=\"inverse_of (1)\"];\n\"IAO\" -> \"EFO\" [label=\"subclass_of (1)\"];\n\"IAO\" -> \"IAO\" [label=\"INVERTED:type (3)\"];\n\"IAO\" -> \"IAO\" [label=\"sub_property_of (1)\"];\n\"IAO\" -> \"IAO\" [label=\"subclass_of (30)\"];\n\"IAO\" -> \"IAO\" [label=\"type (22)\"];\n\"IAO\" -> \"OBO\" [label=\"inverse_of (1)\"];\n\"IAO\" -> \"OIO\" [label=\"type (1)\"];\n\"ICD10\" -> \"ICD10\" [label=\"subclass_of (98417)\"];\n\"ICD10\" -> \"MONDO\" [label=\"equivalent_to (1113)\"];\n\"ICD10\" -> \"UMLS\" [label=\"xref (109975)\"];\n\"ICD10PCS\" -> \"ICD10PCS\" [label=\"subclass_of (189482)\"];\n\"ICD10PCS\" -> \"UMLS\" [label=\"xref (189499)\"];\n\"ICD9\" -> \"ICD9\" [label=\"subclass_of (22402)\"];\n\"ICD9\" -> \"MONDO\" [label=\"equivalent_to (1883)\"];\n\"ICD9\" -> \"UMLS\" [label=\"xref (22406)\"];\n\"ICO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"IDO\" -> \"BFO\" [label=\"subclass_of (9)\"];\n\"IDO\" -> \"CHEBI\" [label=\"subclass_of (1)\"];\n\"IDO\" -> \"IDO\" [label=\"subclass_of (20)\"];\n\"IDO\" -> \"OBI\" [label=\"subclass_of (3)\"];\n\"IDO\" -> \"OBO\" [label=\"INVERTED:has_participant (1)\"];\n\"IDO\" -> \"OGMS\" [label=\"subclass_of (1)\"];\n\"IDO\" -> \"OPL\" [label=\"INVERTED:realizes (2)\"];\n\"KEGG\" -> \"CHEBI\" [label=\"same_as (2516)\"];\n\"KEGG\" -> \"DRUGBANK\" [label=\"same_as (978)\"];\n\"KEGG\" -> \"HMDB\" [label=\"same_as (3308)\"];\n\"KEGG\" -> \"MONDO\" [label=\"equivalent_to (37)\"];\n\"KEGG\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (1701455)\"];\n\"KEGG\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (389)\"];\n\"KEGG\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (162)\"];\n\"KEGG\" -> \"UniProtKB\" [label=\"physically_interacts_with (22304)\"];\n\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_class (54220)\"];\n\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_component (119855)\"];\n\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_member (22838)\"];\n\"LOINC\" -> \"LOINC\" [label=\"INVERTED:has_subject (34)\"];\n\"LOINC\" -> \"LOINC\" [label=\"analyzes (72330)\"];\n\"LOINC\" -> \"LOINC\" [label=\"associated_with (1016)\"];\n\"LOINC\" -> \"LOINC\" [label=\"class_of (45064)\"];\n\"LOINC\" -> \"LOINC\" [label=\"component_of (126098)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_action_guidance (1149)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_adjustment (343)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_aggregation_view (3311)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_answer (85940)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_approach_guidance (347)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_archetype (1265)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_challenge (19562)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_count (148)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_divisor (5470)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_evaluation (10553)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_exam (454)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_fragments_for_synonyms (96184)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_imaged_location (6361)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_imaging_focus (5463)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_lateral_anatomic_location (3498)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_lateral_location_presence (3480)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_method (66244)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_modality_subtype (1083)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_modality_type (6030)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_object_guidance (474)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_parent_group (6515)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_pharmaceutical_route (1930)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_scale (87167)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_suffix (33614)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_supersystem (19700)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_system (129358)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_time_aspect (90380)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_time_modifier (197)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_timing_of (2693)\"];\n\"LOINC\" -> \"LOINC\" [label=\"has_view_type (1668)\"];\n\"LOINC\" -> \"LOINC\" [label=\"inverse_of_measures (79662)\"];\n\"LOINC\" -> \"LOINC\" [label=\"is_given_pharmaceutical_substance_for (2418)\"];\n\"LOINC\" -> \"LOINC\" [label=\"is_presence_guidance_for (1021)\"];\n\"LOINC\" -> \"LOINC\" [label=\"mapped_to (2900)\"];\n\"LOINC\" -> \"LOINC\" [label=\"member_of (22330)\"];\n\"LOINC\" -> \"LOINC\" [label=\"mth_has_expanded_form (1)\"];\n\"LOINC\" -> \"LOINC\" [label=\"multipart_of (21095)\"];\n\"LOINC\" -> \"LOINC\" [label=\"property_of (86472)\"];\n\"LOINC\" -> \"LOINC\" [label=\"subclass_of (250116)\"];\n\"LOINC\" -> \"UMLS\" [label=\"xref (260568)\"];\n\"MA\" -> \"FMA\" [label=\"xref (1)\"];\n\"MA\" -> \"UBERON\" [label=\"part_of (1)\"];\n\"MA\" -> \"UBERON\" [label=\"subclass_of (2)\"];\n\"MEDDRA\" -> \"MEDDRA\" [label=\"INVERTED:has_member (17338)\"];\n\"MEDDRA\" -> \"MEDDRA\" [label=\"classified_as (47649)\"];\n\"MEDDRA\" -> \"MEDDRA\" [label=\"member_of (52438)\"];\n\"MEDDRA\" -> \"MEDDRA\" [label=\"subclass_of (36911)\"];\n\"MEDDRA\" -> \"MONDO\" [label=\"equivalent_to (1)\"];\n\"MEDDRA\" -> \"UMLS\" [label=\"xref (73929)\"];\n\"MESH\" -> \"GENEPIO\" [label=\"subclass_of (5)\"];\n\"MESH\" -> \"MESH\" [label=\"INVERTED:inverse_of_isa (5029)\"];\n\"MESH\" -> \"MESH\" [label=\"INVERTED:inverse_of_ro (13058)\"];\n\"MESH\" -> \"MESH\" [label=\"has_mapping_qualifier (33615)\"];\n\"MESH\" -> \"MESH\" [label=\"isa (9514)\"];\n\"MESH\" -> \"MESH\" [label=\"mapped_to (376217)\"];\n\"MESH\" -> \"MESH\" [label=\"subclass_of (40243)\"];\n\"MESH\" -> \"MONDO\" [label=\"equivalent_to (7860)\"];\n\"MESH\" -> \"UMLS\" [label=\"xref (402615)\"];\n\"MF\" -> \"BFO\" [label=\"subclass_of (4)\"];\n\"MF\" -> \"MF\" [label=\"INVERTED:has_occurrent_part (1)\"];\n\"MF\" -> \"MF\" [label=\"INVERTED:has_participant_at_all_times (2)\"];\n\"MF\" -> \"MF\" [label=\"INVERTED:realizes (2)\"];\n\"MF\" -> \"MF\" [label=\"subclass_of (8)\"];\n\"MF\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (1)\"];\n\"MF\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (3)\"];\n\"MF\" -> \"OGMS\" [label=\"subclass_of (1)\"];\n\"MGI\" -> \"NCBITaxon\" [label=\"only_in_taxon (16846)\"];\n\"MGI\" -> \"PR\" [label=\"INVERTED:has_gene_template (16846)\"];\n\"MGI\" -> \"SO\" [label=\"subclass_of (16846)\"];\n\"MI\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"MI\" -> \"MI\" [label=\"subclass_of (101)\"];\n\"MI\" -> \"OBO\" [label=\"subclass_of (4)\"];\n\"MMO\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"MOD\" -> \"MOD\" [label=\"subclass_of (151)\"];\n\"MOD\" -> \"PR\" [label=\"INVERTED:has_part (5383)\"];\n\"MOD\" -> \"PR\" [label=\"subclass_of (41)\"];\n\"MONDO\" -> \"BFO\" [label=\"subclass_of (3)\"];\n\"MONDO\" -> \"CHEBI\" [label=\"disease_has_basis_in_accumulation_of (1)\"];\n\"MONDO\" -> \"CL\" [label=\"disease_causes_dysfunction_of (4)\"];\n\"MONDO\" -> \"CL\" [label=\"disease_has_inflammation_site (1)\"];\n\"MONDO\" -> \"CL\" [label=\"disease_has_location (49)\"];\n\"MONDO\" -> \"DOID\" [label=\"equivalent_to (9000)\"];\n\"MONDO\" -> \"DOID\" [label=\"subclass_of (1)\"];\n\"MONDO\" -> \"DOID\" [label=\"xref (9027)\"];\n\"MONDO\" -> \"EFO\" [label=\"disease_causes_feature (2)\"];\n\"MONDO\" -> \"EFO\" [label=\"disease_has_basis_in_feature (23)\"];\n\"MONDO\" -> \"EFO\" [label=\"disease_has_feature (15)\"];\n\"MONDO\" -> \"EFO\" [label=\"disease_has_major_feature (6)\"];\n\"MONDO\" -> \"EFO\" [label=\"disease_shares_features_of (1)\"];\n\"MONDO\" -> \"EFO\" [label=\"equivalent_to (2850)\"];\n\"MONDO\" -> \"EFO\" [label=\"predisposes_towards (14)\"];\n\"MONDO\" -> \"EFO\" [label=\"subclass_of (1906)\"];\n\"MONDO\" -> \"EFO\" [label=\"xref (2857)\"];\n\"MONDO\" -> \"GARD\" [label=\"equivalent_to (5814)\"];\n\"MONDO\" -> \"GARD\" [label=\"xref (5818)\"];\n\"MONDO\" -> \"GO\" [label=\"disease_causes_disruption_of (93)\"];\n\"MONDO\" -> \"GO\" [label=\"disease_has_location (5)\"];\n\"MONDO\" -> \"GO\" [label=\"disease_triggers (2)\"];\n\"MONDO\" -> \"GO\" [label=\"realized_in (9)\"];\n\"MONDO\" -> \"HGNC\" [label=\"has_material_basis_in_gain_of_function_germline_mutation_in (6)\"];\n\"MONDO\" -> \"HGNC\" [label=\"xref (56)\"];\n\"MONDO\" -> \"HP\" [label=\"disease_causes_feature (5)\"];\n\"MONDO\" -> \"HP\" [label=\"disease_has_basis_in_feature (42)\"];\n\"MONDO\" -> \"HP\" [label=\"disease_has_feature (709)\"];\n\"MONDO\" -> \"HP\" [label=\"disease_has_major_feature (100)\"];\n\"MONDO\" -> \"HP\" [label=\"equivalent_to (5)\"];\n\"MONDO\" -> \"HP\" [label=\"has_modifier (140)\"];\n\"MONDO\" -> \"HP\" [label=\"subclass_of (1)\"];\n\"MONDO\" -> \"HP\" [label=\"xref (565)\"];\n\"MONDO\" -> \"ICD10\" [label=\"equivalent_to (1113)\"];\n\"MONDO\" -> \"ICD10\" [label=\"xref (11520)\"];\n\"MONDO\" -> \"ICD9\" [label=\"equivalent_to (1883)\"];\n\"MONDO\" -> \"ICD9\" [label=\"xref (5741)\"];\n\"MONDO\" -> \"KEGG\" [label=\"equivalent_to (37)\"];\n\"MONDO\" -> \"KEGG\" [label=\"xref (37)\"];\n\"MONDO\" -> \"LOINC\" [label=\"xref (1)\"];\n\"MONDO\" -> \"MEDDRA\" [label=\"equivalent_to (1)\"];\n\"MONDO\" -> \"MEDDRA\" [label=\"xref (3)\"];\n\"MONDO\" -> \"MESH\" [label=\"equivalent_to (7860)\"];\n\"MONDO\" -> \"MESH\" [label=\"xref (7875)\"];\n\"MONDO\" -> \"MF\" [label=\"disease_causes_disruption_of (3)\"];\n\"MONDO\" -> \"MFOEM\" [label=\"disease_causes_disruption_of (1)\"];\n\"MONDO\" -> \"MFOMD\" [label=\"realized_in (6)\"];\n\"MONDO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (2)\"];\n\"MONDO\" -> \"MONDO\" [label=\"disease_causes_feature (7)\"];\n\"MONDO\" -> \"MONDO\" [label=\"disease_has_basis_in_feature (68)\"];\n\"MONDO\" -> \"MONDO\" [label=\"disease_has_feature (298)\"];\n\"MONDO\" -> \"MONDO\" [label=\"disease_has_major_feature (14)\"];\n\"MONDO\" -> \"MONDO\" [label=\"disease_shares_features_of (49)\"];\n\"MONDO\" -> \"MONDO\" [label=\"has_modifier (867)\"];\n\"MONDO\" -> \"MONDO\" [label=\"intersection_of (1)\"];\n\"MONDO\" -> \"MONDO\" [label=\"part_of_progression_of_disease (2)\"];\n\"MONDO\" -> \"MONDO\" [label=\"predisposes_towards (143)\"];\n\"MONDO\" -> \"MONDO\" [label=\"subclass_of (38341)\"];\n\"MONDO\" -> \"MONDO\" [label=\"xref (12)\"];\n\"MONDO\" -> \"NBO\" [label=\"disease_causes_disruption_of (4)\"];\n\"MONDO\" -> \"NBO\" [label=\"realized_in (1)\"];\n\"MONDO\" -> \"NCBITaxon\" [label=\"in_taxon (1)\"];\n\"MONDO\" -> \"NCBITaxon\" [label=\"transmitted_by (74)\"];\n\"MONDO\" -> \"NCIT\" [label=\"disease_has_feature (18)\"];\n\"MONDO\" -> \"NCIT\" [label=\"equivalent_to (6777)\"];\n\"MONDO\" -> \"NCIT\" [label=\"has_modifier (2)\"];\n\"MONDO\" -> \"NCIT\" [label=\"realized_in (2)\"];\n\"MONDO\" -> \"NCIT\" [label=\"xref (6793)\"];\n\"MONDO\" -> \"OBA\" [label=\"disease_has_feature (1)\"];\n\"MONDO\" -> \"OBI\" [label=\"equivalent_to (1)\"];\n\"MONDO\" -> \"OBI\" [label=\"xref (1)\"];\n\"MONDO\" -> \"OBO\" [label=\"equivalent_to (154)\"];\n\"MONDO\" -> \"OGMS\" [label=\"equivalent_to (1)\"];\n\"MONDO\" -> \"OGMS\" [label=\"xref (1)\"];\n\"MONDO\" -> \"OMIM\" [label=\"equivalent_to (8717)\"];\n\"MONDO\" -> \"OMIM\" [label=\"xref (8869)\"];\n\"MONDO\" -> \"OMIMPS\" [label=\"equivalent_to (472)\"];\n\"MONDO\" -> \"OMIMPS\" [label=\"xref (477)\"];\n\"MONDO\" -> \"OMOP\" [label=\"equivalent_to (1590)\"];\n\"MONDO\" -> \"ORPHANET\" [label=\"disease_has_feature (1)\"];\n\"MONDO\" -> \"ORPHANET\" [label=\"disease_shares_features_of (1)\"];\n\"MONDO\" -> \"ORPHANET\" [label=\"equivalent_to (9149)\"];\n\"MONDO\" -> \"ORPHANET\" [label=\"predisposes_towards (4)\"];\n\"MONDO\" -> \"ORPHANET\" [label=\"subclass_of (669)\"];\n\"MONDO\" -> \"OncoTree\" [label=\"equivalent_to (556)\"];\n\"MONDO\" -> \"PATO\" [label=\"has_modifier (78)\"];\n\"MONDO\" -> \"PATO\" [label=\"subclass_of (1)\"];\n\"MONDO\" -> \"PATO\" [label=\"xref (1)\"];\n\"MONDO\" -> \"RO\" [label=\"sub_property_of (1)\"];\n\"MONDO\" -> \"SNOMED\" [label=\"equivalent_to (9000)\"];\n\"MONDO\" -> \"SO\" [label=\"has_modifier (22)\"];\n\"MONDO\" -> \"UBERON\" [label=\"disease_causes_dysfunction_of (2)\"];\n\"MONDO\" -> \"UBERON\" [label=\"disease_has_basis_in_development_of (2)\"];\n\"MONDO\" -> \"UBERON\" [label=\"disease_has_inflammation_site (163)\"];\n\"MONDO\" -> \"UBERON\" [label=\"disease_has_location (793)\"];\n\"MONDO\" -> \"UBERON\" [label=\"has_modifier (1)\"];\n\"MONDO\" -> \"UMLS\" [label=\"equivalent_to (14023)\"];\n\"MONDO\" -> \"UMLS\" [label=\"subclass_of (1)\"];\n\"MONDO\" -> \"UMLS\" [label=\"xref (14056)\"];\n\"MONDO\" -> \"WD\" [label=\"equivalent_to (2)\"];\n\"MONDO\" -> \"medgen\" [label=\"equivalent_to (2582)\"];\n\"MP\" -> \"DOID\" [label=\"xref (1)\"];\n\"MP\" -> \"HP\" [label=\"subclass_of (2)\"];\n\"MP\" -> \"ICD10\" [label=\"xref (2)\"];\n\"MP\" -> \"ICD9\" [label=\"xref (1)\"];\n\"MPATH\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"MPATH\" -> \"MPATH\" [label=\"subclass_of (83)\"];\n\"NBO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"NBO\" -> \"GO\" [label=\"is_about (8)\"];\n\"NBO\" -> \"GO\" [label=\"part_of (2)\"];\n\"NBO\" -> \"GO\" [label=\"subclass_of (14)\"];\n\"NBO\" -> \"GO\" [label=\"xref (15)\"];\n\"NBO\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_disruption_of (1)\"];\n\"NBO\" -> \"NBO\" [label=\"INVERTED:by_means (2)\"];\n\"NBO\" -> \"NBO\" [label=\"INVERTED:in_response_to (5)\"];\n\"NBO\" -> \"NBO\" [label=\"is_about (7)\"];\n\"NBO\" -> \"NBO\" [label=\"part_of (1)\"];\n\"NBO\" -> \"NBO\" [label=\"regulates (16)\"];\n\"NBO\" -> \"NBO\" [label=\"subclass_of (985)\"];\n\"NBO\" -> \"PATO\" [label=\"is_about (5)\"];\n\"NBO\" -> \"PATO\" [label=\"subclass_of (1)\"];\n\"NBO\" -> \"UBERON\" [label=\"INVERTED:input_of (1)\"];\n\"NBO\" -> \"UBERON\" [label=\"INVERTED:output_of (1)\"];\n\"NCBIGene\" -> \"CL\" [label=\"expressed_in (20)\"];\n\"NCBIGene\" -> \"DOID\" [label=\"associated_with_disease (110)\"];\n\"NCBIGene\" -> \"ENSEMBL\" [label=\"same_as (35031)\"];\n\"NCBIGene\" -> \"GO\" [label=\"involved_in (1417)\"];\n\"NCBIGene\" -> \"HGNC\" [label=\"same_as (40970)\"];\n\"NCBIGene\" -> \"HP\" [label=\"has_phenotype (60)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"coexists_with (20358)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"compared_with (7200)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"converts_to (290)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"inhibits (18289)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"interacts_with (33756)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"part_of (128)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"produces (3596)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"regulates_expression_of (3812)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"same_as (142)\"];\n\"NCBIGene\" -> \"NCBIGene\" [label=\"stimulates (20660)\"];\n\"NCBIGene\" -> \"NCBITaxon\" [label=\"in_taxon (61530)\"];\n\"NCBIGene\" -> \"NCBITaxon\" [label=\"only_in_taxon (5380)\"];\n\"NCBIGene\" -> \"OMIM\" [label=\"associated_with_disease (25)\"];\n\"NCBIGene\" -> \"OMIM\" [label=\"gene_mutations_contribute_to (4)\"];\n\"NCBIGene\" -> \"OMIM\" [label=\"same_as (17550)\"];\n\"NCBIGene\" -> \"PR\" [label=\"INVERTED:has_gene_template (5701)\"];\n\"NCBIGene\" -> \"SO\" [label=\"subclass_of (5380)\"];\n\"NCBIGene\" -> \"UBERON\" [label=\"expressed_in (1414)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"INVERTED:location_of (332757)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"administered_to (9523)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"affects (154949)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"associated_with (132056)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"augments (69744)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"causes (56542)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"coexists_with (77418)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"compared_with (26838)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"complicates (585)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"converts_to (2870)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"diagnoses (6)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"disrupts (64071)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"inhibits (68254)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"interacts_with (183359)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"part_of (119404)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"predisposes (23510)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"prevents (7331)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"produces (25911)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"same_as (617)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"stimulates (110058)\"];\n\"NCBIGene\" -> \"UMLS\" [label=\"treats (1364)\"];\n\"NCBIGene\" -> \"UniProtKB\" [label=\"has_gene_product (19230)\"];\n\"NCBIGene\" -> \"UniProtKB\" [label=\"regulates_expression_of (332256)\"];\n\"NCBITaxon\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_allergic_trigger (15)\"];\n\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (300)\"];\n\"NCBITaxon\" -> \"DOID\" [label=\"INVERTED:has_participant (2)\"];\n\"NCBITaxon\" -> \"EFO\" [label=\"INVERTED:has_member (1)\"];\n\"NCBITaxon\" -> \"EFO\" [label=\"INVERTED:has_participant (16)\"];\n\"NCBITaxon\" -> \"EFO\" [label=\"part_of (1)\"];\n\"NCBITaxon\" -> \"EFO\" [label=\"subclass_of (4)\"];\n\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:composed_primarily_of (1)\"];\n\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:determined_by (3)\"];\n\"NCBITaxon\" -> \"ENVO\" [label=\"INVERTED:process_has_causal_agent (3)\"];\n\"NCBITaxon\" -> \"EO\" [label=\"subclass_of (3)\"];\n\"NCBITaxon\" -> \"ICD9\" [label=\"xref (7)\"];\n\"NCBITaxon\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"];\n\"NCBITaxon\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (482)\"];\n\"NCBITaxon\" -> \"NCBITaxon\" [label=\"subclass_of (1783396)\"];\n\"NCBITaxon\" -> \"OBI\" [label=\"subclass_of (16)\"];\n\"NCBITaxon\" -> \"OBO\" [label=\"subclass_of (27)\"];\n\"NCBITaxon\" -> \"PATO\" [label=\"has_quality (1)\"];\n\"NCBITaxon\" -> \"UMLS\" [label=\"xref (1776528)\"];\n\"NCIT\" -> \"ARO\" [label=\"subclass_of (2)\"];\n\"NCIT\" -> \"BFO\" [label=\"subclass_of (7)\"];\n\"NCIT\" -> \"CHEBI\" [label=\"subclass_of (7)\"];\n\"NCIT\" -> \"DOID\" [label=\"subclass_of (1)\"];\n\"NCIT\" -> \"EFO\" [label=\"subclass_of (3)\"];\n\"NCIT\" -> \"ENVO\" [label=\"subclass_of (6)\"];\n\"NCIT\" -> \"ExO\" [label=\"subclass_of (2)\"];\n\"NCIT\" -> \"FOODON\" [label=\"subclass_of (4)\"];\n\"NCIT\" -> \"GENEPIO\" [label=\"INVERTED:contains_process (1)\"];\n\"NCIT\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (4)\"];\n\"NCIT\" -> \"GENEPIO\" [label=\"before (1)\"];\n\"NCIT\" -> \"GENEPIO\" [label=\"subclass_of (38)\"];\n\"NCIT\" -> \"GO\" [label=\"subclass_of (1)\"];\n\"NCIT\" -> \"IAO\" [label=\"subclass_of (7)\"];\n\"NCIT\" -> \"ICO\" [label=\"is_about (1)\"];\n\"NCIT\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to (1)\"];\n\"NCIT\" -> \"MONDO\" [label=\"equivalent_to (6777)\"];\n\"NCIT\" -> \"NCBITaxon\" [label=\"in_taxon (2)\"];\n\"NCIT\" -> \"NCBITaxon\" [label=\"subclass_of (1)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:biological_process_involves_chemical_or_drug (18)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:cdrh_parent_of (666)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:complex_has_physical_part (616)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:ctcae_5_parent_of (1721)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_has_finding (36775)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_has_molecular_abnormality (294)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:disease_is_marked_by_gene (8)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:gene_product_sequence_variation_encoded_by_gene_mutant (556)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:has_salt_form (1829)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_cytogenetic_abnormality_of_disease (326)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_normal_cell_origin_of_disease (18809)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:is_organism_source_of_gene_product (532)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:may_be_normal_cell_origin_of_disease (183)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:organism_has_gene (1635)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:pathway_has_gene_element (7181)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:process_includes_biological_process (642)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:process_involves_gene (25114)\"];\n\"NCIT\" -> \"NCIT\" [label=\"INVERTED:subset_includes_concept (230272)\"];\n\"NCIT\" -> \"NCIT\" [label=\"allele_absent_from_wild_type_chromosomal_location (1)\"];\n\"NCIT\" -> \"NCIT\" [label=\"allele_has_abnormality (180)\"];\n\"NCIT\" -> \"NCIT\" [label=\"allele_has_activity (74)\"];\n\"NCIT\" -> \"NCIT\" [label=\"allele_in_chromosomal_location (104)\"];\n\"NCIT\" -> \"NCIT\" [label=\"allele_plays_altered_role_in_process (128)\"];\n\"NCIT\" -> \"NCIT\" [label=\"allele_plays_role_in_metabolism_of_chemical_or_drug (3)\"];\n\"NCIT\" -> \"NCIT\" [label=\"anatomic_structure_is_physical_part_of (9339)\"];\n\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_associated_location (545)\"];\n\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_anatomy (63)\"];\n\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_biological_process (91)\"];\n\"NCIT\" -> \"NCIT\" [label=\"biological_process_has_result_chemical_or_drug (32)\"];\n\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_abnormal_cell (28)\"];\n\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_cell_type_or_tissue (572)\"];\n\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_affects_gene_product (378)\"];\n\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_has_mechanism_of_action (2274)\"];\n\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_has_physiologic_effect (2053)\"];\n\"NCIT\" -> \"NCIT\" [label=\"chemical_or_drug_initiates_biological_process (113)\"];\n\"NCIT\" -> \"NCIT\" [label=\"chromosome_mapped_to_disease (189)\"];\n\"NCIT\" -> \"NCIT\" [label=\"conceptual_part_of (3585)\"];\n\"NCIT\" -> \"NCIT\" [label=\"cytogenetic_abnormality_involves_chromosome (684)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_has_associated_anatomic_site (30160)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_has_metastatic_anatomic_site (140)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_has_normal_tissue_origin (19638)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_has_primary_anatomic_site (11480)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_is_grade (1303)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_is_stage (6155)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_abnormal_cell (1194)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_associated_disease (1935)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_finding (16831)\"];\n\"NCIT\" -> \"NCIT\" [label=\"disease_may_have_molecular_abnormality (9292)\"];\n\"NCIT\" -> \"NCIT\" [label=\"enzyme_metabolizes_chemical_or_drug (636)\"];\n\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_associated_cell_type (13)\"];\n\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_associated_eo_anatomy (3128)\"];\n\"NCIT\" -> \"NCIT\" [label=\"eo_disease_has_property_or_attribute (277)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_associated_with_disease (2175)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_encodes_gene_product (18713)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_found_in_organism (1840)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_has_physical_location (989)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_in_chromosomal_location (3906)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_involved_in_molecular_abnormality (2464)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_involved_in_pathogenesis_of_disease (1115)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_is_biomarker_of (18)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_is_biomarker_type (39)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_is_element_in_pathway (6246)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_mapped_to_disease (5189)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_mutant_encodes_gene_product_sequence_variation (809)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_plays_role_in_process (13660)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_expressed_in_tissue (1594)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_abnormality (24)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_associated_anatomy (5253)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_biochemical_function (4865)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_chemical_classification (1688)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_organism_source (825)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_has_structural_domain_or_motif (4960)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_biomarker_of (32)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_biomarker_type (337)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_element_in_pathway (13536)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_is_physical_part_of (616)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_malfunction_associated_with_disease (509)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_plays_role_in_biological_process (21782)\"];\n\"NCIT\" -> \"NCIT\" [label=\"gene_product_variant_of_gene_product (457)\"];\n\"NCIT\" -> \"NCIT\" [label=\"genetic_biomarker_related_to (2607)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_data_element (10)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_inc_parent (116)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_nichd_parent (4081)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_administration_method (542)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_basic_dose_form (597)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_intended_site (529)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_release_characteristics (502)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_state_of_matter (620)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_pharmaceutical_transformation (520)\"];\n\"NCIT\" -> \"NCIT\" [label=\"has_target (727)\"];\n\"NCIT\" -> \"NCIT\" [label=\"human_disease_maps_to_eo_disease (1829)\"];\n\"NCIT\" -> \"NCIT\" [label=\"is_abnormal_cell_of_disease (49398)\"];\n\"NCIT\" -> \"NCIT\" [label=\"is_associated_disease_of (1027)\"];\n\"NCIT\" -> \"NCIT\" [label=\"is_component_of_chemotherapy_regimen (11836)\"];\n\"NCIT\" -> \"NCIT\" [label=\"is_location_of_anatomic_structure (356)\"];\n\"NCIT\" -> \"NCIT\" [label=\"is_molecular_abnormality_of_disease (1195)\"];\n\"NCIT\" -> \"NCIT\" [label=\"is_qualified_by (1)\"];\n\"NCIT\" -> \"NCIT\" [label=\"is_related_to_endogenous_product (23)\"];\n\"NCIT\" -> \"NCIT\" [label=\"neoplasm_has_special_category (105)\"];\n\"NCIT\" -> \"NCIT\" [label=\"procedure_has_completely_excised_anatomy (95)\"];\n\"NCIT\" -> \"NCIT\" [label=\"procedure_has_excised_anatomy (401)\"];\n\"NCIT\" -> \"NCIT\" [label=\"procedure_has_imaged_anatomy (1)\"];\n\"NCIT\" -> \"NCIT\" [label=\"procedure_has_partially_excised_anatomy (194)\"];\n\"NCIT\" -> \"NCIT\" [label=\"procedure_has_target_anatomy (916)\"];\n\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_completely_excised_anatomy (6)\"];\n\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_excised_anatomy (8)\"];\n\"NCIT\" -> \"NCIT\" [label=\"procedure_may_have_partially_excised_anatomy (9)\"];\n\"NCIT\" -> \"NCIT\" [label=\"process_initiates_biological_process (132)\"];\n\"NCIT\" -> \"NCIT\" [label=\"qualifier_applies_to (1)\"];\n\"NCIT\" -> \"NCIT\" [label=\"regimen_has_accepted_use_for_disease (395)\"];\n\"NCIT\" -> \"NCIT\" [label=\"role_has_domain (83)\"];\n\"NCIT\" -> \"NCIT\" [label=\"role_has_parent (11)\"];\n\"NCIT\" -> \"NCIT\" [label=\"role_has_range (97)\"];\n\"NCIT\" -> \"NCIT\" [label=\"subclass_of (160929)\"];\n\"NCIT\" -> \"OBI\" [label=\"subclass_of (13)\"];\n\"NCIT\" -> \"OMIT\" [label=\"subclass_of (1)\"];\n\"NCIT\" -> \"PATO\" [label=\"subclass_of (3)\"];\n\"NCIT\" -> \"PCO\" [label=\"subclass_of (2)\"];\n\"NCIT\" -> \"SIO\" [label=\"subclass_of (4)\"];\n\"NCIT\" -> \"UBERON\" [label=\"subclass_of (2)\"];\n\"NCIT\" -> \"UMLS\" [label=\"xref (165880)\"];\n\"NCIT\" -> \"UO\" [label=\"subclass_of (2)\"];\n\"NCIT\" -> \"VCARD\" [label=\"subclass_of (1)\"];\n\"NCRO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"NDDF\" -> \"NDDF\" [label=\"INVERTED:has_ingredient (24)\"];\n\"NDDF\" -> \"NDDF\" [label=\"has_dose_form (17997)\"];\n\"NDDF\" -> \"NDDF\" [label=\"ingredient_of (12)\"];\n\"NDDF\" -> \"UMLS\" [label=\"xref (33096)\"];\n\"NPO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"NPO\" -> \"NPO\" [label=\"subclass_of (3)\"];\n\"OAE\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"OBA\" -> \"OBA\" [label=\"subclass_of (173)\"];\n\"OBA\" -> \"PATO\" [label=\"subclass_of (1)\"];\n\"OBI\" -> \"BFO\" [label=\"sub_property_of (2)\"];\n\"OBI\" -> \"BFO\" [label=\"subclass_of (18)\"];\n\"OBI\" -> \"BTO\" [label=\"subclass_of (1)\"];\n\"OBI\" -> \"BTO\" [label=\"xref (1)\"];\n\"OBI\" -> \"CHEBI\" [label=\"subclass_of (2)\"];\n\"OBI\" -> \"EDAM\" [label=\"subclass_of (1)\"];\n\"OBI\" -> \"EFO\" [label=\"INVERTED:has_input (2)\"];\n\"OBI\" -> \"EFO\" [label=\"INVERTED:has_participant (1)\"];\n\"OBI\" -> \"EFO\" [label=\"part_of (2)\"];\n\"OBI\" -> \"EFO\" [label=\"subclass_of (39)\"];\n\"OBI\" -> \"ERO\" [label=\"subclass_of (3)\"];\n\"OBI\" -> \"GENEPIO\" [label=\"INVERTED:produced_by (1)\"];\n\"OBI\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (7)\"];\n\"OBI\" -> \"GENEPIO\" [label=\"aligned_with (1)\"];\n\"OBI\" -> \"GENEPIO\" [label=\"derives_from (1)\"];\n\"OBI\" -> \"GENEPIO\" [label=\"member_of (2)\"];\n\"OBI\" -> \"GENEPIO\" [label=\"subclass_of (22)\"];\n\"OBI\" -> \"GO\" [label=\"subclass_of (1)\"];\n\"OBI\" -> \"IAO\" [label=\"sub_property_of (1)\"];\n\"OBI\" -> \"IAO\" [label=\"subclass_of (35)\"];\n\"OBI\" -> \"MONDO\" [label=\"equivalent_to (1)\"];\n\"OBI\" -> \"NCIT\" [label=\"inheres_in (1)\"];\n\"OBI\" -> \"NCIT\" [label=\"subclass_of (3)\"];\n\"OBI\" -> \"OBI\" [label=\"inheres_in (3)\"];\n\"OBI\" -> \"OBI\" [label=\"inverse_of (2)\"];\n\"OBI\" -> \"OBI\" [label=\"is_about (1)\"];\n\"OBI\" -> \"OBI\" [label=\"subclass_of (105)\"];\n\"OBI\" -> \"OBI\" [label=\"type (6)\"];\n\"OBI\" -> \"OGMS\" [label=\"subclass_of (2)\"];\n\"OBI\" -> \"PR\" [label=\"subclass_of (1)\"];\n\"OBI\" -> \"RO\" [label=\"sub_property_of (7)\"];\n\"OBI\" -> \"SIO\" [label=\"subclass_of (1)\"];\n\"OBI\" -> \"STATO\" [label=\"is_about (1)\"];\n\"OBI\" -> \"STATO\" [label=\"subclass_of (1)\"];\n\"OBI\" -> \"UBERON\" [label=\"INVERTED:produced_by (1)\"];\n\"OBO\" -> \"BFO\" [label=\"subclass_of (11)\"];\n\"OBO\" -> \"CARO\" [label=\"subclass_of (1)\"];\n\"OBO\" -> \"CHEBI\" [label=\"subclass_of (5)\"];\n\"OBO\" -> \"CL\" [label=\"INVERTED:has_part (3)\"];\n\"OBO\" -> \"EFO\" [label=\"subclass_of (7)\"];\n\"OBO\" -> \"FMA\" [label=\"xref (1)\"];\n\"OBO\" -> \"FOODON\" [label=\"subclass_of (2)\"];\n\"OBO\" -> \"GENEPIO\" [label=\"is_about (1)\"];\n\"OBO\" -> \"GENEPIO\" [label=\"subclass_of (3)\"];\n\"OBO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (20)\"];\n\"OBO\" -> \"GO\" [label=\"causally_upstream_of (1)\"];\n\"OBO\" -> \"GO\" [label=\"subclass_of (5)\"];\n\"OBO\" -> \"IAO\" [label=\"subclass_of (9)\"];\n\"OBO\" -> \"IDO\" [label=\"has_role (1)\"];\n\"OBO\" -> \"IDO\" [label=\"subclass_of (1)\"];\n\"OBO\" -> \"MI\" [label=\"subclass_of (15)\"];\n\"OBO\" -> \"MONDO\" [label=\"equivalent_to (154)\"];\n\"OBO\" -> \"NCBITaxon\" [label=\"only_in_taxon (1013)\"];\n\"OBO\" -> \"OBI\" [label=\"is_about (1)\"];\n\"OBO\" -> \"OBI\" [label=\"subclass_of (4)\"];\n\"OBO\" -> \"OBO\" [label=\"INVERTED:has_part (1)\"];\n\"OBO\" -> \"OBO\" [label=\"INVERTED:has_participant (1)\"];\n\"OBO\" -> \"OBO\" [label=\"existence_starts_during (1)\"];\n\"OBO\" -> \"OBO\" [label=\"has_interaction_type (1)\"];\n\"OBO\" -> \"OBO\" [label=\"immediately_preceded_by (5)\"];\n\"OBO\" -> \"OBO\" [label=\"negatively_regulates (1)\"];\n\"OBO\" -> \"OBO\" [label=\"part_of (14)\"];\n\"OBO\" -> \"OBO\" [label=\"positively_regulates (1)\"];\n\"OBO\" -> \"OBO\" [label=\"realized_in (1)\"];\n\"OBO\" -> \"OBO\" [label=\"regulates (2)\"];\n\"OBO\" -> \"OBO\" [label=\"subclass_of (286)\"];\n\"OBO\" -> \"OBOREL\" [label=\"inverse_of (1)\"];\n\"OBO\" -> \"OBOREL\" [label=\"sub_property_of (1)\"];\n\"OBO\" -> \"OGG\" [label=\"has_input (1)\"];\n\"OBO\" -> \"OGMS\" [label=\"is_about (1)\"];\n\"OBO\" -> \"OIO\" [label=\"subclass_of (5)\"];\n\"OBO\" -> \"PATO\" [label=\"bearer_of (1)\"];\n\"OBO\" -> \"PCO\" [label=\"subclass_of (1)\"];\n\"OBO\" -> \"PR\" [label=\"INVERTED:has_gene_template (1013)\"];\n\"OBO\" -> \"SIO\" [label=\"subclass_of (1)\"];\n\"OBO\" -> \"SO\" [label=\"subclass_of (1013)\"];\n\"OBO\" -> \"STATO\" [label=\"subclass_of (8)\"];\n\"OBO\" -> \"UBERON\" [label=\"xref (6)\"];\n\"OBOREL\" -> \"RO\" [label=\"sub_property_of (1)\"];\n\"OGG\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"OGMS\" -> \"BFO\" [label=\"subclass_of (4)\"];\n\"OGMS\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"OGMS\" -> \"GO\" [label=\"subclass_of (1)\"];\n\"OGMS\" -> \"MONDO\" [label=\"equivalent_to (1)\"];\n\"OGMS\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"OGMS\" -> \"OGMS\" [label=\"INVERTED:has_participant_at_all_times (1)\"];\n\"OGMS\" -> \"UBERON\" [label=\"subclass_of (1)\"];\n\"OIO\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"OMIABIS\" -> \"OGMS\" [label=\"subclass_of (1)\"];\n\"OMIM\" -> \"DOID\" [label=\"contributes_to_condition (181)\"];\n\"OMIM\" -> \"HP\" [label=\"has_phenotype (94807)\"];\n\"OMIM\" -> \"MONDO\" [label=\"equivalent_to (8717)\"];\n\"OMIM\" -> \"OMIM\" [label=\"INVERTED:has_manifestation (121769)\"];\n\"OMIM\" -> \"OMIM\" [label=\"INVERTED:phenotype_of (13865)\"];\n\"OMIM\" -> \"OMIM\" [label=\"allelic_variant_of (29202)\"];\n\"OMIM\" -> \"OMIM\" [label=\"has_inheritance_type (6005)\"];\n\"OMIM\" -> \"OMIM\" [label=\"has_phenotype (15337)\"];\n\"OMIM\" -> \"OMIM\" [label=\"manifestation_of (121769)\"];\n\"OMIM\" -> \"OMIM\" [label=\"subclass_of (59497)\"];\n\"OMIM\" -> \"UMLS\" [label=\"xref (123280)\"];\n\"OMIMPS\" -> \"MONDO\" [label=\"equivalent_to (472)\"];\n\"OMIT\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"OMIT\" -> \"CHEBI\" [label=\"subclass_of (3)\"];\n\"OMIT\" -> \"GENEPIO\" [label=\"subclass_of (6)\"];\n\"OMIT\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"OMIT\" -> \"NCIT\" [label=\"subclass_of (2)\"];\n\"OMIT\" -> \"OBI\" [label=\"subclass_of (2)\"];\n\"OMIT\" -> \"OMIT\" [label=\"subclass_of (7)\"];\n\"OMIT\" -> \"PR\" [label=\"subclass_of (1)\"];\n\"OMOP\" -> \"MONDO\" [label=\"equivalent_to (1590)\"];\n\"OMP\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"OMP\" -> \"NCIT\" [label=\"is_about (1)\"];\n\"OMRSE\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"OPL\" -> \"BFO\" [label=\"subclass_of (3)\"];\n\"OPL\" -> \"BTO\" [label=\"subclass_of (1)\"];\n\"OPL\" -> \"CL\" [label=\"subclass_of (1)\"];\n\"OPL\" -> \"GO\" [label=\"INVERTED:ends_with (1)\"];\n\"OPL\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"OPL\" -> \"OPL\" [label=\"occurs_in (14)\"];\n\"OPL\" -> \"OPL\" [label=\"subclass_of (27)\"];\n\"OPL\" -> \"UBERON\" [label=\"subclass_of (8)\"];\n\"ORPHANET\" -> \"CL\" [label=\"has_disease_location (2)\"];\n\"ORPHANET\" -> \"DOID\" [label=\"xref (1579)\"];\n\"ORPHANET\" -> \"EFO\" [label=\"disease_has_feature (24)\"];\n\"ORPHANET\" -> \"EFO\" [label=\"disease_has_major_feature (1)\"];\n\"ORPHANET\" -> \"EFO\" [label=\"has_disease_location (2)\"];\n\"ORPHANET\" -> \"EFO\" [label=\"predisposes_towards (4)\"];\n\"ORPHANET\" -> \"EFO\" [label=\"related_to (1)\"];\n\"ORPHANET\" -> \"EFO\" [label=\"subclass_of (850)\"];\n\"ORPHANET\" -> \"EFO\" [label=\"xref (61)\"];\n\"ORPHANET\" -> \"GARD\" [label=\"xref (2968)\"];\n\"ORPHANET\" -> \"GO\" [label=\"has_disease_location (10)\"];\n\"ORPHANET\" -> \"GO\" [label=\"participates_in (3)\"];\n\"ORPHANET\" -> \"HGNC\" [label=\"xref (3982)\"];\n\"ORPHANET\" -> \"HP\" [label=\"xref (87)\"];\n\"ORPHANET\" -> \"ICD10\" [label=\"xref (5735)\"];\n\"ORPHANET\" -> \"ICD9\" [label=\"xref (920)\"];\n\"ORPHANET\" -> \"KEGG\" [label=\"xref (4)\"];\n\"ORPHANET\" -> \"MESH\" [label=\"xref (2518)\"];\n\"ORPHANET\" -> \"MONDO\" [label=\"disease_has_feature (25)\"];\n\"ORPHANET\" -> \"MONDO\" [label=\"disease_has_major_feature (1)\"];\n\"ORPHANET\" -> \"MONDO\" [label=\"disease_shares_features_of (1)\"];\n\"ORPHANET\" -> \"MONDO\" [label=\"equivalent_to (9149)\"];\n\"ORPHANET\" -> \"MONDO\" [label=\"has_modifier (257)\"];\n\"ORPHANET\" -> \"MONDO\" [label=\"predisposes_towards (1)\"];\n\"ORPHANET\" -> \"MONDO\" [label=\"subclass_of (3400)\"];\n\"ORPHANET\" -> \"MONDO\" [label=\"xref (5779)\"];\n\"ORPHANET\" -> \"NCIT\" [label=\"xref (1012)\"];\n\"ORPHANET\" -> \"OMIM\" [label=\"xref (12142)\"];\n\"ORPHANET\" -> \"OMIMPS\" [label=\"xref (300)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_basis_in_feature (2)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_feature (25)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_has_major_feature (3)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"disease_shares_features_of (11)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317343 (4581)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317344 (176)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317345 (496)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317346 (38)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317348 (227)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:317349 (229)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:327767 (309)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:410295 (1091)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:410296 (196)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:465410 (44)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:c016 (6366)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"orphanet:c017 (9706)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"part_of (14694)\"];\n\"ORPHANET\" -> \"ORPHANET\" [label=\"subclass_of (25409)\"];\n\"ORPHANET\" -> \"PR\" [label=\"has_disease_location (1)\"];\n\"ORPHANET\" -> \"UBERON\" [label=\"has_disease_location (65)\"];\n\"ORPHANET\" -> \"UMLS\" [label=\"xref (6226)\"];\n\"OncoTree\" -> \"MONDO\" [label=\"equivalent_to (556)\"];\n\"PATO\" -> \"BFO\" [label=\"subclass_of (13)\"];\n\"PATO\" -> \"CARO\" [label=\"xref (2)\"];\n\"PATO\" -> \"DOID\" [label=\"xref (1)\"];\n\"PATO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (1)\"];\n\"PATO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"PATO\" -> \"GO\" [label=\"xref (1)\"];\n\"PATO\" -> \"NBO\" [label=\"INVERTED:has_participant (1)\"];\n\"PATO\" -> \"NBO\" [label=\"INVERTED:in_response_to (3)\"];\n\"PATO\" -> \"PATO\" [label=\"INVERTED:has_part (9)\"];\n\"PATO\" -> \"PATO\" [label=\"INVERTED:towards (6)\"];\n\"PATO\" -> \"PATO\" [label=\"correlates_with (1)\"];\n\"PATO\" -> \"PATO\" [label=\"decreased_in_magnitude_relative_to (2)\"];\n\"PATO\" -> \"PATO\" [label=\"has_cross_section (5)\"];\n\"PATO\" -> \"PATO\" [label=\"has_relative_magnitude (7)\"];\n\"PATO\" -> \"PATO\" [label=\"increased_in_magnitude_relative_to (4)\"];\n\"PATO\" -> \"PATO\" [label=\"reciprocal_of (8)\"];\n\"PATO\" -> \"PATO\" [label=\"sub_property_of (4)\"];\n\"PATO\" -> \"PATO\" [label=\"subclass_of (2113)\"];\n\"PCO\" -> \"BFO\" [label=\"subclass_of (3)\"];\n\"PCO\" -> \"ENVO\" [label=\"INVERTED:determined_by (3)\"];\n\"PCO\" -> \"ENVO\" [label=\"INVERTED:has_part (1)\"];\n\"PCO\" -> \"ENVO\" [label=\"has_habitat (1)\"];\n\"PCO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"PCO\" -> \"PCO\" [label=\"subclass_of (10)\"];\n\"PDQ\" -> \"PDQ\" [label=\"INVERTED:has_component (4862)\"];\n\"PDQ\" -> \"PDQ\" [label=\"associated_disease (243)\"];\n\"PDQ\" -> \"PDQ\" [label=\"component_of (5952)\"];\n\"PDQ\" -> \"PDQ\" [label=\"subclass_of (4291)\"];\n\"PDQ\" -> \"UMLS\" [label=\"xref (18972)\"];\n\"PECO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"PECO\" -> \"PECO\" [label=\"subclass_of (8)\"];\n\"PO\" -> \"BFO\" [label=\"subclass_of (46)\"];\n\"PO\" -> \"CARO\" [label=\"subclass_of (2)\"];\n\"PO\" -> \"EFO\" [label=\"equivalent_to (1)\"];\n\"PO\" -> \"EFO\" [label=\"part_of (10)\"];\n\"PO\" -> \"EFO\" [label=\"subclass_of (30)\"];\n\"PO\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (1)\"];\n\"PO\" -> \"FOODON\" [label=\"INVERTED:has_part (1)\"];\n\"PO\" -> \"FOODON\" [label=\"subclass_of (2)\"];\n\"PO\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"PO\" -> \"GO\" [label=\"INVERTED:has_participant (4)\"];\n\"PO\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"];\n\"PO\" -> \"NCBITaxon\" [label=\"only_in_taxon (2)\"];\n\"PO\" -> \"PO\" [label=\"INVERTED:develops_from (60)\"];\n\"PO\" -> \"PO\" [label=\"INVERTED:has_part (9)\"];\n\"PO\" -> \"PO\" [label=\"INVERTED:has_participant (3)\"];\n\"PO\" -> \"PO\" [label=\"adjacent_to (1)\"];\n\"PO\" -> \"PO\" [label=\"located_in (3)\"];\n\"PO\" -> \"PO\" [label=\"part_of (132)\"];\n\"PO\" -> \"PO\" [label=\"participates_in (7)\"];\n\"PO\" -> \"PO\" [label=\"subclass_of (531)\"];\n\"PO\" -> \"PO\" [label=\"xref (1)\"];\n\"PR\" -> \"BFO\" [label=\"subclass_of (2)\"];\n\"PR\" -> \"CHEBI\" [label=\"derives_from (1)\"];\n\"PR\" -> \"CHEBI\" [label=\"equivalent_to (1)\"];\n\"PR\" -> \"CHEBI\" [label=\"non_covalently_bound_to (7)\"];\n\"PR\" -> \"CHEBI\" [label=\"subclass_of (206)\"];\n\"PR\" -> \"CL\" [label=\"INVERTED:has_part (675)\"];\n\"PR\" -> \"CL\" [label=\"part_of (4)\"];\n\"PR\" -> \"GO\" [label=\"INVERTED:has_part (2)\"];\n\"PR\" -> \"GO\" [label=\"INVERTED:has_participant (3)\"];\n\"PR\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (3)\"];\n\"PR\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (5)\"];\n\"PR\" -> \"GO\" [label=\"capable_of (25)\"];\n\"PR\" -> \"GO\" [label=\"involved_in (3)\"];\n\"PR\" -> \"GO\" [label=\"located_in (2)\"];\n\"PR\" -> \"GO\" [label=\"part_of (4)\"];\n\"PR\" -> \"GO\" [label=\"subclass_of (360)\"];\n\"PR\" -> \"MOD\" [label=\"lacks_part (48)\"];\n\"PR\" -> \"MOD\" [label=\"subclass_of (2)\"];\n\"PR\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (18)\"];\n\"PR\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"];\n\"PR\" -> \"NCBITaxon\" [label=\"only_in_taxon (177969)\"];\n\"PR\" -> \"PR\" [label=\"INVERTED:has_component (390)\"];\n\"PR\" -> \"PR\" [label=\"INVERTED:has_gene_template (61)\"];\n\"PR\" -> \"PR\" [label=\"INVERTED:has_part (154)\"];\n\"PR\" -> \"PR\" [label=\"derives_from (57)\"];\n\"PR\" -> \"PR\" [label=\"equivalent_to (8)\"];\n\"PR\" -> \"PR\" [label=\"lacks_part (3181)\"];\n\"PR\" -> \"PR\" [label=\"part_of (1)\"];\n\"PR\" -> \"PR\" [label=\"subclass_of (300998)\"];\n\"PR\" -> \"SO\" [label=\"lacks_part (3240)\"];\n\"PR\" -> \"SO\" [label=\"subclass_of (45)\"];\n\"PR\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (1)\"];\n\"PR\" -> \"UBERON\" [label=\"INVERTED:has_part (6)\"];\n\"PW\" -> \"OBO\" [label=\"subclass_of (5)\"];\n\"PathWhiz\" -> \"GO\" [label=\"has_location (3066986)\"];\n\"PathWhiz\" -> \"NCBITaxon\" [label=\"in_species (1905194)\"];\n\"PathWhiz.Bound\" -> \"PathWhiz\" [label=\"INVERTED:has_bound (946)\"];\n\"PathWhiz.Compound\" -> \"CHEBI\" [label=\"same_as (32541)\"];\n\"PathWhiz.Compound\" -> \"DRUGBANK\" [label=\"same_as (1539)\"];\n\"PathWhiz.Compound\" -> \"KEGG\" [label=\"same_as (48957)\"];\n\"PathWhiz.Compound\" -> \"PathWhiz\" [label=\"INVERTED:has_compound (2003771)\"];\n\"PathWhiz.Compound\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (142)\"];\n\"PathWhiz.ElementCollection\" -> \"CHEBI\" [label=\"same_as (50)\"];\n\"PathWhiz.ElementCollection\" -> \"KEGG\" [label=\"same_as (61)\"];\n\"PathWhiz.ElementCollection\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (9096)\"];\n\"PathWhiz.ElementCollection\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (163)\"];\n\"PathWhiz.ElementCollection\" -> \"UniProtKB\" [label=\"same_as (7)\"];\n\"PathWhiz.NucleicAcid\" -> \"CHEBI\" [label=\"same_as (35)\"];\n\"PathWhiz.NucleicAcid\" -> \"PathWhiz\" [label=\"INVERTED:has_nucleic_acid (1763)\"];\n\"PathWhiz.NucleicAcid\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (81)\"];\n\"PathWhiz.ProteinComplex\" -> \"PathWhiz.Bound\" [label=\"INVERTED:has_element_in_bound (809)\"];\n\"PathWhiz.ProteinComplex\" -> \"PathWhiz.Reaction\" [label=\"INVERTED:has_enzyme (165371)\"];\n\"PathWhiz.Reaction\" -> \"CHEBI\" [label=\"has_left_element (188562)\"];\n\"PathWhiz.Reaction\" -> \"CHEBI\" [label=\"has_right_element (169923)\"];\n\"PathWhiz.Reaction\" -> \"DRUGBANK\" [label=\"has_left_element (21859)\"];\n\"PathWhiz.Reaction\" -> \"DRUGBANK\" [label=\"has_right_element (14853)\"];\n\"PathWhiz.Reaction\" -> \"KEGG\" [label=\"has_left_element (232427)\"];\n\"PathWhiz.Reaction\" -> \"KEGG\" [label=\"has_right_element (263206)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz\" [label=\"INVERTED:has_reaction (747189)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.Bound\" [label=\"has_left_element (157)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.Bound\" [label=\"has_right_element (167)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.Compound\" [label=\"has_left_element (317671)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.Compound\" [label=\"has_right_element (336013)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.ElementCollection\" [label=\"has_left_element (1625)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.ElementCollection\" [label=\"has_right_element (1584)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.NucleicAcid\" [label=\"has_left_element (349)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.NucleicAcid\" [label=\"has_right_element (210)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.ProteinComplex\" [label=\"has_left_element (734)\"];\n\"PathWhiz.Reaction\" -> \"PathWhiz.ProteinComplex\" [label=\"has_right_element (906)\"];\n\"PathWhiz.Reaction\" -> \"UniProtKB\" [label=\"has_left_element (13)\"];\n\"PathWhiz.Reaction\" -> \"UniProtKB\" [label=\"has_right_element (12)\"];\n\"PomBase\" -> \"NCBITaxon\" [label=\"only_in_taxon (5124)\"];\n\"PomBase\" -> \"PR\" [label=\"INVERTED:has_gene_template (5172)\"];\n\"PomBase\" -> \"SO\" [label=\"subclass_of (5124)\"];\n\"RGD\" -> \"NCBITaxon\" [label=\"only_in_taxon (8114)\"];\n\"RGD\" -> \"PR\" [label=\"INVERTED:has_gene_template (8114)\"];\n\"RGD\" -> \"SO\" [label=\"subclass_of (8114)\"];\n\"RO\" -> \"BFO\" [label=\"sub_property_of (26)\"];\n\"RO\" -> \"BFO\" [label=\"subclass_of (2)\"];\n\"RO\" -> \"EFO\" [label=\"sub_property_of (1)\"];\n\"RO\" -> \"OBOREL\" [label=\"inverse_of (1)\"];\n\"RO\" -> \"OBOREL\" [label=\"sub_property_of (2)\"];\n\"RO\" -> \"RO\" [label=\"INVERTED:has_subsequence (1)\"];\n\"RO\" -> \"RO\" [label=\"INVERTED:inverse_of (6)\"];\n\"RO\" -> \"RO\" [label=\"inverse_of (122)\"];\n\"RO\" -> \"RO\" [label=\"sub_property_of (621)\"];\n\"RO\" -> \"RO\" [label=\"subclass_of (2)\"];\n\"RO\" -> \"RO\" [label=\"xref (1)\"];\n\"RO\" -> \"SO\" [label=\"xref (9)\"];\n\"RO\" -> \"UBERON\" [label=\"sub_property_of (1)\"];\n\"RO\" -> \"owl\" [label=\"sub_property_of (12)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:consists_of (26132)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:contains (990)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:has_ingredient (38040)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:has_part (3759)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"INVERTED:rxcui:inverse_isa (44612)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:constitutes (23344)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:contained_in (789)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_dose_form (42707)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_doseformgroup (17677)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_form (2941)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_quantified_form (15)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:has_tradename (48926)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:ingredient_of (36788)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:ingredients_of (4352)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:isa (47221)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:part_of (6788)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:precise_ingredient_of (6138)\"];\n\"RXNORM\" -> \"RXNORM\" [label=\"rxcui:reformulated_to (9)\"];\n\"RXNORM\" -> \"UMLS\" [label=\"xref (108886)\"];\n\"SIO\" -> \"ENVO\" [label=\"subclass_of (1)\"];\n\"SIO\" -> \"GENEPIO\" [label=\"INVERTED:specifies_value_of (2)\"];\n\"SIO\" -> \"GENEPIO\" [label=\"subclass_of (9)\"];\n\"SIO\" -> \"IAO\" [label=\"subclass_of (4)\"];\n\"SIO\" -> \"NCIT\" [label=\"subclass_of (1)\"];\n\"SIO\" -> \"SIO\" [label=\"aligned_with (1)\"];\n\"SIO\" -> \"SIO\" [label=\"subclass_of (4)\"];\n\"SMPDB\" -> \"PathWhiz\" [label=\"same_as (110216)\"];\n\"SNOMED\" -> \"MONDO\" [label=\"equivalent_to (9000)\"];\n\"SNOMED\" -> \"OBI\" [label=\"subclass_of (1)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_basic_dose_form (274)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_component (4159)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_definitional_manifestation (13)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_direct_device (4121)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"INVERTED:has_occurrence (5492)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"active_ingredient_of (18593)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"associated_with (3952)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"basis_of_strength_substance_of (1016)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"causative_agent_of (18961)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"cause_of (7207)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"characterized_by (346)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"component_of (4259)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"direct_substance_of (5117)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"during (118)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"entire_anatomy_structure_of (7090)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"focus_of (4294)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_access (1520)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_finding (2554)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_morphology (63873)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_associated_procedure (2467)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_clinical_course (4570)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_denominator_unit (2065)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_numerator_unit (2123)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_concentration_strength_numerator_value (2313)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_count_of_base_of_active_ingredient (13255)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_dependent (6)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_morphology (7589)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_procedure_site (33347)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_direct_site (27)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_disposition (8941)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form (12616)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_administration_method (295)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_intended_site (333)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_release_characteristic (295)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_dose_form_transformation (274)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_context (2531)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_informer (2207)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_method (4099)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_finding_site (91236)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_device (77)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_morphology (544)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_indirect_procedure_site (8311)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_inherent_attribute (156)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_inherent_location (1)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_intent (5207)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_interpretation (12748)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_laterality (12116)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_measurement_method (17)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_method (60209)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_modification (2130)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_pathological_process (16823)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_precondition (14)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_denominator_unit (1294)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_denominator_value (4074)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_numerator_unit (4305)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_presentation_strength_numerator_value (4836)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_priority (211)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_context (2641)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_device (279)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_morphology (177)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_procedure_site (3506)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_process_duration (136)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_process_output (158)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_property (521)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_realization (1450)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_recipient_category (117)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_revision_status (1031)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_route_of_administration (176)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_scale_type (527)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_severity (38)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen (3075)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_identity (126)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_morphology (154)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_source_topography (1401)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_specimen_substance (926)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_state_of_matter (58)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_subject_relationship_context (5084)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_surgical_approach (688)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_technique (155)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_temporal_context (5183)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_time_aspect (23)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_unit_of_presentation (2918)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"has_units (7)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"inherent_location_of (1)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"inheres_in (156)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"is_interpreted_by (37621)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"occurs_before (2413)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"occurs_in (7221)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"part_anatomy_structure_of (323)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"plays_role (4304)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"precise_active_ingredient_of (7240)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"relative_to_part_of (2)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"specimen_procedure_of (944)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"subclass_of (554879)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"temporally_related_to (60)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"uses_access_device (1594)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"uses_device (4753)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"uses_energy (314)\"];\n\"SNOMED\" -> \"SNOMED\" [label=\"uses_substance (3187)\"];\n\"SNOMED\" -> \"UMLS\" [label=\"xref (361557)\"];\n\"SO\" -> \"BFO\" [label=\"subclass_of (4)\"];\n\"SO\" -> \"CHEBI\" [label=\"equivalent_to (3)\"];\n\"SO\" -> \"CHEBI\" [label=\"subclass_of (7)\"];\n\"SO\" -> \"DOID\" [label=\"INVERTED:disease_has_basis_in (251)\"];\n\"SO\" -> \"DOID\" [label=\"INVERTED:has_material_basis_in (3)\"];\n\"SO\" -> \"GENEPIO\" [label=\"subclass_of (4)\"];\n\"SO\" -> \"GO\" [label=\"INVERTED:has_participant (4)\"];\n\"SO\" -> \"GO\" [label=\"INVERTED:has_primary_input_or_output (9)\"];\n\"SO\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (5)\"];\n\"SO\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"SO\" -> \"OBI\" [label=\"is_about (2)\"];\n\"SO\" -> \"OBO\" [label=\"subclass_of (4)\"];\n\"SO\" -> \"PR\" [label=\"INVERTED:has_part (6)\"];\n\"SO\" -> \"PR\" [label=\"subclass_of (3)\"];\n\"SO\" -> \"SO\" [label=\"INVERTED:has_member (1)\"];\n\"SO\" -> \"SO\" [label=\"has_quality (1)\"];\n\"SO\" -> \"SO\" [label=\"subclass_of (2326)\"];\n\"SO\" -> \"UO\" [label=\"INVERTED:is_unit_of (1)\"];\n\"STATO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"STATO\" -> \"GENEPIO\" [label=\"subclass_of (6)\"];\n\"STATO\" -> \"IAO\" [label=\"subclass_of (2)\"];\n\"STATO\" -> \"STATO\" [label=\"subclass_of (30)\"];\n\"SYMP\" -> \"ARO\" [label=\"subclass_of (1)\"];\n\"SYMP\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"SYMP\" -> \"DOID\" [label=\"INVERTED:disease_has_basis_in (2)\"];\n\"SYMP\" -> \"SYMP\" [label=\"has_symptom (1)\"];\n\"SYMP\" -> \"SYMP\" [label=\"subclass_of (847)\"];\n\"TO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"TO\" -> \"TO\" [label=\"subclass_of (1)\"];\n\"TRANS\" -> \"GO\" [label=\"subclass_of (1)\"];\n\"TRANS\" -> \"TRANS\" [label=\"subclass_of (32)\"];\n\"TypOn\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"UBERON\" -> \"AEO\" [label=\"xref (109)\"];\n\"UBERON\" -> \"ARO\" [label=\"subclass_of (3)\"];\n\"UBERON\" -> \"BFO\" [label=\"sub_property_of (3)\"];\n\"UBERON\" -> \"BFO\" [label=\"subclass_of (295)\"];\n\"UBERON\" -> \"BSPO\" [label=\"sub_property_of (6)\"];\n\"UBERON\" -> \"BTO\" [label=\"INVERTED:develops_from (4)\"];\n\"UBERON\" -> \"BTO\" [label=\"xref (7)\"];\n\"UBERON\" -> \"CARO\" [label=\"subclass_of (1408)\"];\n\"UBERON\" -> \"CARO\" [label=\"xref (42)\"];\n\"UBERON\" -> \"CL\" [label=\"adjacent_to (1)\"];\n\"UBERON\" -> \"CL\" [label=\"bounding_layer_of (1)\"];\n\"UBERON\" -> \"CL\" [label=\"channel_for (4)\"];\n\"UBERON\" -> \"CL\" [label=\"extends_fibers_into (1)\"];\n\"UBERON\" -> \"CL\" [label=\"has_potential_to_developmentally_contribute_to (1)\"];\n\"UBERON\" -> \"CL\" [label=\"part_of (6)\"];\n\"UBERON\" -> \"CL\" [label=\"subclass_of (2)\"];\n\"UBERON\" -> \"CL\" [label=\"surrounds (7)\"];\n\"UBERON\" -> \"CL\" [label=\"synapsed_by (1)\"];\n\"UBERON\" -> \"CL\" [label=\"xref (1)\"];\n\"UBERON\" -> \"EFO\" [label=\"part_of (3)\"];\n\"UBERON\" -> \"EFO\" [label=\"subclass_of (311)\"];\n\"UBERON\" -> \"EFO\" [label=\"xref (613)\"];\n\"UBERON\" -> \"EHDAA2\" [label=\"xref (1386)\"];\n\"UBERON\" -> \"ENVO\" [label=\"INVERTED:determined_by_part_of (1)\"];\n\"UBERON\" -> \"ENVO\" [label=\"confers_advantage_in (8)\"];\n\"UBERON\" -> \"ENVO\" [label=\"xref (2)\"];\n\"UBERON\" -> \"FBbt\" [label=\"part_of (1)\"];\n\"UBERON\" -> \"FBbt\" [label=\"xref (4)\"];\n\"UBERON\" -> \"FMA\" [label=\"xref (5851)\"];\n\"UBERON\" -> \"FOODON\" [label=\"INVERTED:has_defining_ingredient (2)\"];\n\"UBERON\" -> \"FOODON\" [label=\"subclass_of (34)\"];\n\"UBERON\" -> \"GENEPIO\" [label=\"subclass_of (5)\"];\n\"UBERON\" -> \"GO\" [label=\"INVERTED:has_participant (2)\"];\n\"UBERON\" -> \"GO\" [label=\"INVERTED:process_has_causal_agent (1)\"];\n\"UBERON\" -> \"GO\" [label=\"adjacent_to (1)\"];\n\"UBERON\" -> \"GO\" [label=\"capable_of (122)\"];\n\"UBERON\" -> \"GO\" [label=\"capable_of_part_of (135)\"];\n\"UBERON\" -> \"GO\" [label=\"composed_primarily_of (3)\"];\n\"UBERON\" -> \"GO\" [label=\"functionally_related_to (4)\"];\n\"UBERON\" -> \"GO\" [label=\"located_in (1)\"];\n\"UBERON\" -> \"GO\" [label=\"part_of (11)\"];\n\"UBERON\" -> \"GO\" [label=\"participates_in (8)\"];\n\"UBERON\" -> \"GO\" [label=\"simultaneous_with (11)\"];\n\"UBERON\" -> \"GO\" [label=\"subclass_of (2)\"];\n\"UBERON\" -> \"GO\" [label=\"surrounds (3)\"];\n\"UBERON\" -> \"GO\" [label=\"xref (4)\"];\n\"UBERON\" -> \"MA\" [label=\"subclass_of (2)\"];\n\"UBERON\" -> \"MA\" [label=\"xref (2)\"];\n\"UBERON\" -> \"MESH\" [label=\"xref (644)\"];\n\"UBERON\" -> \"MONDO\" [label=\"INVERTED:disease_arises_from_structure (55)\"];\n\"UBERON\" -> \"MONDO\" [label=\"INVERTED:disease_has_basis_in_dysfunction_of (22)\"];\n\"UBERON\" -> \"MONDO\" [label=\"INVERTED:realized_in_response_to_stimulus (1)\"];\n\"UBERON\" -> \"NBO\" [label=\"INVERTED:by_means (6)\"];\n\"UBERON\" -> \"NBO\" [label=\"INVERTED:has_participant (2)\"];\n\"UBERON\" -> \"NBO\" [label=\"capable_of (2)\"];\n\"UBERON\" -> \"NBO\" [label=\"capable_of_part_of (9)\"];\n\"UBERON\" -> \"NCBITaxon\" [label=\"only_in_taxon (749)\"];\n\"UBERON\" -> \"NCBITaxon\" [label=\"part_of (4)\"];\n\"UBERON\" -> \"NCIT\" [label=\"xref (2580)\"];\n\"UBERON\" -> \"PATO\" [label=\"has_quality (75)\"];\n\"UBERON\" -> \"PR\" [label=\"produces (5)\"];\n\"UBERON\" -> \"RO\" [label=\"sub_property_of (8)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:composed_primarily_of (136)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:contains (10)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:develops_from (1373)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:ends_with (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_component (8)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_member (15)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_part (277)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:has_skeleton (38)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:inverse_of (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:location_of (9)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:preceded_by (13)\"];\n\"UBERON\" -> \"UBERON\" [label=\"INVERTED:produced_by (46)\"];\n\"UBERON\" -> \"UBERON\" [label=\"aboral_to (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"adjacent_to (329)\"];\n\"UBERON\" -> \"UBERON\" [label=\"anastomoses_with (4)\"];\n\"UBERON\" -> \"UBERON\" [label=\"anterior_to (11)\"];\n\"UBERON\" -> \"UBERON\" [label=\"anteriorly_connected_to (22)\"];\n\"UBERON\" -> \"UBERON\" [label=\"attaches_to (159)\"];\n\"UBERON\" -> \"UBERON\" [label=\"attaches_to_part_of (2)\"];\n\"UBERON\" -> \"UBERON\" [label=\"bounding_layer_of (37)\"];\n\"UBERON\" -> \"UBERON\" [label=\"branching_part_of (47)\"];\n\"UBERON\" -> \"UBERON\" [label=\"channel_for (32)\"];\n\"UBERON\" -> \"UBERON\" [label=\"channels_from (25)\"];\n\"UBERON\" -> \"UBERON\" [label=\"channels_into (18)\"];\n\"UBERON\" -> \"UBERON\" [label=\"conduit_for (57)\"];\n\"UBERON\" -> \"UBERON\" [label=\"connected_to (80)\"];\n\"UBERON\" -> \"UBERON\" [label=\"connects (524)\"];\n\"UBERON\" -> \"UBERON\" [label=\"continuous_with (120)\"];\n\"UBERON\" -> \"UBERON\" [label=\"contributes_to_morphology_of (633)\"];\n\"UBERON\" -> \"UBERON\" [label=\"deep_to (12)\"];\n\"UBERON\" -> \"UBERON\" [label=\"derived_from_ancestral_fusion_of (63)\"];\n\"UBERON\" -> \"UBERON\" [label=\"developmentally_induced_by (20)\"];\n\"UBERON\" -> \"UBERON\" [label=\"developmentally_replaces (8)\"];\n\"UBERON\" -> \"UBERON\" [label=\"develops_from_part_of (5)\"];\n\"UBERON\" -> \"UBERON\" [label=\"develops_in (9)\"];\n\"UBERON\" -> \"UBERON\" [label=\"directly_develops_from (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"distal_to (2)\"];\n\"UBERON\" -> \"UBERON\" [label=\"distally_connected_to (30)\"];\n\"UBERON\" -> \"UBERON\" [label=\"distalmost_part_of (5)\"];\n\"UBERON\" -> \"UBERON\" [label=\"dorsal_to (10)\"];\n\"UBERON\" -> \"UBERON\" [label=\"drains (79)\"];\n\"UBERON\" -> \"UBERON\" [label=\"ends (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"existence_ends_during (32)\"];\n\"UBERON\" -> \"UBERON\" [label=\"existence_ends_during_or_before (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"existence_starts_and_ends_during (15)\"];\n\"UBERON\" -> \"UBERON\" [label=\"existence_starts_during (13)\"];\n\"UBERON\" -> \"UBERON\" [label=\"existence_starts_during_or_after (4)\"];\n\"UBERON\" -> \"UBERON\" [label=\"existence_starts_with (6)\"];\n\"UBERON\" -> \"UBERON\" [label=\"extends_fibers_into (127)\"];\n\"UBERON\" -> \"UBERON\" [label=\"filtered_through (4)\"];\n\"UBERON\" -> \"UBERON\" [label=\"has_boundary (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"has_developmental_contribution_from (103)\"];\n\"UBERON\" -> \"UBERON\" [label=\"has_muscle_antagonist (47)\"];\n\"UBERON\" -> \"UBERON\" [label=\"has_muscle_insertion (217)\"];\n\"UBERON\" -> \"UBERON\" [label=\"has_muscle_origin (210)\"];\n\"UBERON\" -> \"UBERON\" [label=\"has_potential_to_develop_into (132)\"];\n\"UBERON\" -> \"UBERON\" [label=\"has_potential_to_developmentally_contribute_to (12)\"];\n\"UBERON\" -> \"UBERON\" [label=\"immediate_transformation_of (71)\"];\n\"UBERON\" -> \"UBERON\" [label=\"immediately_anterior_to (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"immediately_deep_to (40)\"];\n\"UBERON\" -> \"UBERON\" [label=\"immediately_posterior_to (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"immediately_preceded_by (7)\"];\n\"UBERON\" -> \"UBERON\" [label=\"immediately_superficial_to (13)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_anterior_side_of (13)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_central_side_of (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_deep_part_of (6)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_distal_side_of (2)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_dorsal_side_of (6)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_innermost_side_of (2)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_lateral_side_of (131)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_left_side_of (52)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_outermost_side_of (2)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_posterior_side_of (15)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_proximal_side_of (2)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_right_side_of (49)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_superficial_part_of (7)\"];\n\"UBERON\" -> \"UBERON\" [label=\"in_ventral_side_of (5)\"];\n\"UBERON\" -> \"UBERON\" [label=\"indirectly_supplies (4)\"];\n\"UBERON\" -> \"UBERON\" [label=\"innervated_by (143)\"];\n\"UBERON\" -> \"UBERON\" [label=\"innervates (105)\"];\n\"UBERON\" -> \"UBERON\" [label=\"intersects_midsagittal_plane_of (27)\"];\n\"UBERON\" -> \"UBERON\" [label=\"inverse_of (4)\"];\n\"UBERON\" -> \"UBERON\" [label=\"located_in (152)\"];\n\"UBERON\" -> \"UBERON\" [label=\"lumen_of (2)\"];\n\"UBERON\" -> \"UBERON\" [label=\"luminal_space_of (77)\"];\n\"UBERON\" -> \"UBERON\" [label=\"overlaps (70)\"];\n\"UBERON\" -> \"UBERON\" [label=\"part_of (9688)\"];\n\"UBERON\" -> \"UBERON\" [label=\"postaxialmost_part_of (5)\"];\n\"UBERON\" -> \"UBERON\" [label=\"posterior_to (9)\"];\n\"UBERON\" -> \"UBERON\" [label=\"posteriorly_connected_to (1)\"];\n\"UBERON\" -> \"UBERON\" [label=\"preaxialmost_part_of (11)\"];\n\"UBERON\" -> \"UBERON\" [label=\"precedes (2)\"];\n\"UBERON\" -> \"UBERON\" [label=\"produces (14)\"];\n\"UBERON\" -> \"UBERON\" [label=\"protects (9)\"];\n\"UBERON\" -> \"UBERON\" [label=\"proximal_to (4)\"];\n\"UBERON\" -> \"UBERON\" [label=\"proximally_connected_to (55)\"];\n\"UBERON\" -> \"UBERON\" [label=\"proximalmost_part_of (4)\"];\n\"UBERON\" -> \"UBERON\" [label=\"serially_homologous_to (3)\"];\n\"UBERON\" -> \"UBERON\" [label=\"sexually_homologous_to (12)\"];\n\"UBERON\" -> \"UBERON\" [label=\"skeleton_of (35)\"];\n\"UBERON\" -> \"UBERON\" [label=\"starts (3)\"];\n\"UBERON\" -> \"UBERON\" [label=\"sub_property_of (3)\"];\n\"UBERON\" -> \"UBERON\" [label=\"subclass_of (21304)\"];\n\"UBERON\" -> \"UBERON\" [label=\"subdivision_of (12)\"];\n\"UBERON\" -> \"UBERON\" [label=\"superficial_to (14)\"];\n\"UBERON\" -> \"UBERON\" [label=\"supplies (132)\"];\n\"UBERON\" -> \"UBERON\" [label=\"surrounded_by (35)\"];\n\"UBERON\" -> \"UBERON\" [label=\"surrounds (78)\"];\n\"UBERON\" -> \"UBERON\" [label=\"transformation_of (47)\"];\n\"UBERON\" -> \"UBERON\" [label=\"tributary_of (35)\"];\n\"UBERON\" -> \"UBERON\" [label=\"ventral_to (8)\"];\n\"UBERON\" -> \"UMLS\" [label=\"xref (2836)\"];\n\"UBERON\" -> \"ZFA\" [label=\"xref (33)\"];\n\"UMLS\" -> \"MONDO\" [label=\"equivalent_to (14023)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"INVERTED:location_of (26952)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"affects (12913)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"associated_with (8728)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"coexists_with (92085)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"compared_with (23729)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"converts_to (1690)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"inhibits (89138)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"interacts_with (141256)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"measures (13930)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"part_of (41790)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"process_of (27799)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"produces (41274)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"same_as (692)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"stimulates (104111)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"uses (27329)\"];\n\"UMLS\" -> \"NCBIGene\" [label=\"xref (34858)\"];\n\"UMLS\" -> \"UMLS\" [label=\"INVERTED:has_component (3)\"];\n\"UMLS\" -> \"UMLS\" [label=\"INVERTED:inverse_of_rn (115122)\"];\n\"UMLS\" -> \"UMLS\" [label=\"INVERTED:inverse_of_ro (356197)\"];\n\"UMLS\" -> \"UMLS\" [label=\"INVERTED:location_of (2270476)\"];\n\"UMLS\" -> \"UMLS\" [label=\"administered_to (203874)\"];\n\"UMLS\" -> \"UMLS\" [label=\"affects (1521984)\"];\n\"UMLS\" -> \"UMLS\" [label=\"associated_with (699263)\"];\n\"UMLS\" -> \"UMLS\" [label=\"augments (451409)\"];\n\"UMLS\" -> \"UMLS\" [label=\"causes (813924)\"];\n\"UMLS\" -> \"UMLS\" [label=\"class_code_classified_by (61)\"];\n\"UMLS\" -> \"UMLS\" [label=\"coexists_with (1402013)\"];\n\"UMLS\" -> \"UMLS\" [label=\"compared_with (348640)\"];\n\"UMLS\" -> \"UMLS\" [label=\"complicates (42952)\"];\n\"UMLS\" -> \"UMLS\" [label=\"component_of (13)\"];\n\"UMLS\" -> \"UMLS\" [label=\"converts_to (36699)\"];\n\"UMLS\" -> \"UMLS\" [label=\"diagnoses (259899)\"];\n\"UMLS\" -> \"UMLS\" [label=\"disrupts (433181)\"];\n\"UMLS\" -> \"UMLS\" [label=\"has_context_binding (68)\"];\n\"UMLS\" -> \"UMLS\" [label=\"has_form (1)\"];\n\"UMLS\" -> \"UMLS\" [label=\"has_mapping_qualifier (22)\"];\n\"UMLS\" -> \"UMLS\" [label=\"has_owning_affiliate (4)\"];\n\"UMLS\" -> \"UMLS\" [label=\"has_physiologic_effect (1)\"];\n\"UMLS\" -> \"UMLS\" [label=\"has_structural_class (2)\"];\n\"UMLS\" -> \"UMLS\" [label=\"has_supported_concept_property (239)\"];\n\"UMLS\" -> \"UMLS\" [label=\"has_supported_concept_relationship (342)\"];\n\"UMLS\" -> \"UMLS\" [label=\"inhibits (614020)\"];\n\"UMLS\" -> \"UMLS\" [label=\"interacts_with (1297335)\"];\n\"UMLS\" -> \"UMLS\" [label=\"inverse_of_exhibits (1082)\"];\n\"UMLS\" -> \"UMLS\" [label=\"inverse_of_rq (1560)\"];\n\"UMLS\" -> \"UMLS\" [label=\"inverse_of_sy (450)\"];\n\"UMLS\" -> \"UMLS\" [label=\"isa (313010)\"];\n\"UMLS\" -> \"UMLS\" [label=\"larger_than (1)\"];\n\"UMLS\" -> \"UMLS\" [label=\"manifestation_of (41231)\"];\n\"UMLS\" -> \"UMLS\" [label=\"mapped_to (456)\"];\n\"UMLS\" -> \"UMLS\" [label=\"may_be_qualified_by (20)\"];\n\"UMLS\" -> \"UMLS\" [label=\"measures (183140)\"];\n\"UMLS\" -> \"UMLS\" [label=\"occurs_in (17801)\"];\n\"UMLS\" -> \"UMLS\" [label=\"owning_section_of (9)\"];\n\"UMLS\" -> \"UMLS\" [label=\"owning_subsection_of (42)\"];\n\"UMLS\" -> \"UMLS\" [label=\"part_of (893692)\"];\n\"UMLS\" -> \"UMLS\" [label=\"precedes (149791)\"];\n\"UMLS\" -> \"UMLS\" [label=\"predisposes (256197)\"];\n\"UMLS\" -> \"UMLS\" [label=\"prevents (197498)\"];\n\"UMLS\" -> \"UMLS\" [label=\"process_of (810370)\"];\n\"UMLS\" -> \"UMLS\" [label=\"produces (305322)\"];\n\"UMLS\" -> \"UMLS\" [label=\"related_to (2823)\"];\n\"UMLS\" -> \"UMLS\" [label=\"same_as (15124)\"];\n\"UMLS\" -> \"UMLS\" [label=\"stimulates (663742)\"];\n\"UMLS\" -> \"UMLS\" [label=\"subclass_of (9884)\"];\n\"UMLS\" -> \"UMLS\" [label=\"treats (1218218)\"];\n\"UMLS\" -> \"UMLS\" [label=\"uses (386689)\"];\n\"UO\" -> \"BFO\" [label=\"subclass_of (1)\"];\n\"UO\" -> \"EFO\" [label=\"equivalent_to (1)\"];\n\"UO\" -> \"IAO\" [label=\"subclass_of (2)\"];\n\"UO\" -> \"UO\" [label=\"subclass_of (228)\"];\n\"UPHENO\" -> \"PATO\" [label=\"subclass_of (1)\"];\n\"UniProtKB\" -> \"CHEBI\" [label=\"physically_interacts_with (29920)\"];\n\"UniProtKB\" -> \"CHEMBL.COMPOUND\" [label=\"targets (39678)\"];\n\"UniProtKB\" -> \"CL\" [label=\"expressed_in (15576)\"];\n\"UniProtKB\" -> \"DOID\" [label=\"associated_with_disease (3803)\"];\n\"UniProtKB\" -> \"DOID\" [label=\"gene_associated_with_condition (33361)\"];\n\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of (169)\"];\n\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_negative_effect (5)\"];\n\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within (293)\"];\n\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within_negative_effect (5)\"];\n\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_or_within_positive_effect (13)\"];\n\"UniProtKB\" -> \"GO\" [label=\"acts_upstream_of_positive_effect (14)\"];\n\"UniProtKB\" -> \"GO\" [label=\"capable_of (62677)\"];\n\"UniProtKB\" -> \"GO\" [label=\"colocalizes_with (1327)\"];\n\"UniProtKB\" -> \"GO\" [label=\"contributes_to (975)\"];\n\"UniProtKB\" -> \"GO\" [label=\"enables (67759)\"];\n\"UniProtKB\" -> \"GO\" [label=\"expressed_in (74377)\"];\n\"UniProtKB\" -> \"GO\" [label=\"involved_in (277260)\"];\n\"UniProtKB\" -> \"GO\" [label=\"is_active_in (32)\"];\n\"UniProtKB\" -> \"GO\" [label=\"part_of (80696)\"];\n\"UniProtKB\" -> \"HP\" [label=\"has_phenotype (11603)\"];\n\"UniProtKB\" -> \"KEGG\" [label=\"physically_interacts_with (22304)\"];\n\"UniProtKB\" -> \"MONDO\" [label=\"associated_with_disease (188)\"];\n\"UniProtKB\" -> \"NCBITaxon\" [label=\"in_taxon (24986)\"];\n\"UniProtKB\" -> \"OMIM\" [label=\"associated_with_disease (2132)\"];\n\"UniProtKB\" -> \"OMIM\" [label=\"gene_mutations_contribute_to (5765)\"];\n\"UniProtKB\" -> \"PathWhiz\" [label=\"INVERTED:has_element_collection (59)\"];\n\"UniProtKB\" -> \"PathWhiz\" [label=\"INVERTED:has_protein (304018)\"];\n\"UniProtKB\" -> \"PathWhiz.ProteinComplex\" [label=\"INVERTED:has_protein_in_complex (1903)\"];\n\"UniProtKB\" -> \"REACT\" [label=\"participates_in (779447)\"];\n\"UniProtKB\" -> \"UBERON\" [label=\"expressed_in (323101)\"];\n\"UniProtKB\" -> \"UniProtKB\" [label=\"physically_interacts_with (615498)\"];\n\"UniProtKB\" -> \"UniProtKB\" [label=\"regulates_activity_of (165005)\"];\n\"UniProtKB\" -> \"UniProtKB\" [label=\"regulates_expression_of (237781)\"];\n\"VANDF\" -> \"UMLS\" [label=\"xref (28951)\"];\n\"VANDF\" -> \"VANDF\" [label=\"INVERTED:has_ingredient (14304)\"];\n\"VANDF\" -> \"VANDF\" [label=\"INVERTED:inverse_of_isa (7426)\"];\n\"VANDF\" -> \"VANDF\" [label=\"ingredient_of (18404)\"];\n\"VANDF\" -> \"VANDF\" [label=\"isa (12198)\"];\n\"VCARD\" -> \"GENEPIO\" [label=\"subclass_of (1)\"];\n\"VCARD\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"VT\" -> \"EFO\" [label=\"subclass_of (1)\"];\n\"VT\" -> \"IAO\" [label=\"subclass_of (1)\"];\n\"WD\" -> \"MONDO\" [label=\"equivalent_to (2)\"];\n\"XCO\" -> \"GENEPIO\" [label=\"subclass_of (2)\"];\n\"ZEA\" -> \"EFO\" [label=\"subclass_of (1)\"];\n\"ZFA\" -> \"EFO\" [label=\"subclass_of (33)\"];\n\"ZFA\" -> \"UBERON\" [label=\"part_of (4)\"];\n\"ZFA\" -> \"UBERON\" [label=\"subclass_of (1)\"];\n\"ZFIN\" -> \"NCBITaxon\" [label=\"only_in_taxon (3318)\"];\n\"ZFIN\" -> \"PR\" [label=\"INVERTED:has_gene_template (3318)\"];\n\"ZFIN\" -> \"SO\" [label=\"subclass_of (3318)\"];\n\"biolink\" -> \"biolink\" [label=\"sub_property_of (141)\"];\n\"biolink\" -> \"biolink\" [label=\"subclass_of (248)\"];\n\"dbpedia\" -> \"HANCESTRO\" [label=\"subclass_of (9)\"];\n\"dictybase.gene\" -> \"NCBITaxon\" [label=\"only_in_taxon (4540)\"];\n\"dictybase.gene\" -> \"PR\" [label=\"INVERTED:has_gene_template (4540)\"];\n\"dictybase.gene\" -> \"SO\" [label=\"subclass_of (4540)\"];\n\"ecogene\" -> \"NCBITaxon\" [label=\"only_in_taxon (4018)\"];\n\"ecogene\" -> \"PR\" [label=\"INVERTED:has_gene_template (4019)\"];\n\"ecogene\" -> \"SO\" [label=\"subclass_of (4018)\"];\n\"medgen\" -> \"MONDO\" [label=\"equivalent_to (2582)\"];\n\"sgd\" -> \"NCBITaxon\" [label=\"only_in_taxon (5938)\"];\n\"sgd\" -> \"PR\" [label=\"INVERTED:has_gene_template (5940)\"];\n\"sgd\" -> \"SO\" [label=\"subclass_of (5938)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"activator (13)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"affects (6)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"agonist (105)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"antagonist (121)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"antibody (22)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"antisense (22)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"binder (28)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"blocker (21)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"cofactor (4)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"inhibitor (203)\"];\n\"ttd.target\" -> \"NCBIGene\" [label=\"modulator (9)\"];\n\"wb\" -> \"NCBITaxon\" [label=\"only_in_taxon (4479)\"];\n\"wb\" -> \"PR\" [label=\"INVERTED:has_gene_template (4479)\"];\n\"wb\" -> \"SO\" [label=\"subclass_of (4479)\"];\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/rtx2_2020_09_16/shorest-path-graph-visual-hover.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Vis Shortest Path Map</title>\n    <meta charset=\"UTF-8\">\n    <script\n      type=\"text/javascript\"\n      src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"\n    ></script>\n\n    <style type=\"text/css\">\n      #mynetwork {\n        width: 800px;\n        height: 450px;\n        border: 1px solid lightgray;\n      }\n    </style>\n  </head>\n  <body>\n    <h3>\n      Hover over an arrow to see the predicate(s)\n      connecting the concept CURIE prefixes.\n    </h3>\n\n    <div id=\"mynetwork\"></div>\n\n    <h4 id=\"eventSpanHeading\"></h4>\n    <pre id=\"eventSpanContent\"></pre>\n\n    <!-- create an array with nodes -->\n    <script src=\"shorest-path-graph-vars.js\"> </script>\n\n    <script type=\"text/javascript\">\n\n      // create a network\n      var container = document.getElementById(\"mynetwork\");\n      var data = {\n        nodes: nodes,\n        edges: edges,\n      };\n\n      var options = {\n        interaction: { hover: true }\n      };\n\n      var network = new vis.Network(container, data, options);\n\n      /*\n      network.on(\"click\", function (params) {\n\t     console.log(\"click\");\n\t     console.log(params);\n       var edgesIDs = params.edges[0];\n\t     console.log(edgesIDs);\n       var edge = edges.get(edgesIDs);\n\t     console.log(edge);\n\n       document.getElementById(\"eventSpanHeading\").innerText =\n       \"Predicate(s) connect \" + \"subject \" + edge.from + \" with object \" + edge.to;\n       document.getElementById(\"eventSpanContent\").innerText = edge.predicate;\n      });\n      */\n\n      network.on(\"hoverEdge\", function (params) {\n        console.log(\"hoverEdge\");\n        console.log(params);\n        var edgesID = params.edge;\n\t      console.log(edgesID);\n        var edge = edges.get(edgesID);\n        console.log(edge);\n        document.getElementById(\"eventSpanHeading\").innerText =\n              \"Predicate(s) connect \" + \"subject \" + edge.from + \" with object \" + edge.to;\n        document.getElementById(\"eventSpanContent\").innerText = edge.predicate;\n      });\n\n    </script>\n  </body>\n</html>\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/rtx2_2020_09_16/shortest_path.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require csv-reading\n         racket/hash\n         racket/set\n         racket/mpair)\n\n;=================================================== example =================================================\n\n#|\n1. load the data from rtx2_2020_09_16-subject_predicate_object_count.tsv\n   (define rtx2-data (load-data \"rtx2_2020_09_16-subject_predicate_object_count.tsv\"))\n\n2. load all required hash tables for finding the shortest path: node-hash edge-hash pred/prefix-pr-hash\n   with a level of restriction or number toward the count of predicates conneting between databases\n   (define all-hash (load-all-hash rtx2-data 0))\n\n   2.1 You may want to assign names to each loaded hash-table\n       (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n\n3. find the shortest path(s) with or without showing the connecting predicate(s)\n   - without showing predicate: (shortest-path* all-hash start end pred)\n   - with showing predicate: (shortest-path*-with-pred all-hash start end pred)\n   - arguments end or pred can be #f, indicating an unknown endding node or an unspecified predicate\n\n3.1 shorest path from node-1 to node-2:  \n\n    * find the shortest paths from \"CHEBI\" to \"UMLS\"\n      (shortest-path* all-hash \"CHEBI\" \"UMLS\" #f)\n      => ((\"CHEBI\" \"DOID\" \"UMLS\"))\n    * find the shortest paths from \"CHEBI\" to \"UMLS\" with the predicates connecting each pair of nodes(databases)\n      (shortest-path*-with-pred all-hash \"CHEBI\" \"UMLS\" #f)\n      => (((\"CHEBI\" \"DOID\" \"UMLS\"))\n          ((((\"CHEBI\" . \"DOID\") (\"INVERTED:has_allergic_trigger\"))\n            ((\"DOID\" . \"UMLS\") (\"xref\")))))\n\n3.2 shortest paths containing predicate pred from node-1 to node-2:\n\n    * find all the (\"shortest\") paths containing predicate \"clinically_tested_terminated_phase_2\" from \"CHEBI\" to \"UMLS\"\n      (shortest-path* all-hash \"CHEBI\" \"UMLS\" \"clinically_tested_terminated_phase_2\")\n      => ((\"CHEBI\" \"DRUGBANK\" \"UMLS\"))\n\n    * combine the result from the step above and show the predicates connecting each pair of nodes(databases) for the shortest path(s)\n      (shortest-path*-with-pred all-hash \"CHEBI\" \"UMLS\" \"clinically_tested_terminated_phase_2\")\n      => (((\"CHEBI\" \"DRUGBANK\" \"UMLS\"))\n          ((((\"CHEBI\" . \"DRUGBANK\") (\"same_as\"))\n            ((\"DRUGBANK\" . \"CHEBI\") (\"external_identifier\" \"same_as\"))\n            ((\"DRUGBANK\" . \"UMLS\")\n            (\"clinically_tested_suspended_phase_2\"\n             \"clinically_tested_terminated_phase_1_or_phase_2\"\n             \"clinically_tested_terminated_phase_1\"\n             \"clinically_tested_terminated_phase_2\"\n             \"clinically_tested_suspended_phase_2_or_phase_3\"\n             \"clinically_tested_terminated_phase_0\"\n             \"clinically_tested_withdrawn_phase_3\"\n             \"clinically_tested_suspended_phase_1_or_phase_2\"\n             \"clinically_tested_withdrawn_phase_2_or_phase_3\"\n             \"clinically_tested_terminated_phase_3\"\n             \"clinically_tested_suspended_phase_1\"\n             \"clinically_tested_withdrawn_phase_2\"\n             \"clinically_tested_suspended_phase_3\"\n             \"xref\"\n             \"clinically_tested_withdrawn_phase_1\"\n             \"clinically_tested_approved_unknown_phase\"\n             \"clinically_tested_suspended_phase_0\"\n             \"clinically_tested_terminated_phase_2_or_phase_3\"\n             \"clinically_tested_withdrawn_phase_0\"\n             \"clinically_tested_withdrawn_phase_1_or_phase_2\")))))\n\n3.3 shortest paths containing predicate pred from node-1 to unknown node:\n\n    * find all the (\"shortest\") paths containing predicate \"clinically_tested_terminated_phase_2\" from \"CHEBI\"\n      (shortest-path* all-hash \"CHEBI\" #f \"clinically_tested_terminated_phase_2\")\n      => ((\"CHEBI\" \"DRUGBANK\" \"UMLS\") (\"CHEBI\" \"DOID\" \"UMLS\" \"DRUGBANK\"))\n\n    * find the shortest path(s) and show the predicates connecting each pair of nodes(databases)\n      (shortest-path*-with-pred all-hash \"CHEBI\" #f \"clinically_tested_terminated_phase_2\")\n      => (((\"CHEBI\" \"DRUGBANK\" \"UMLS\") (\"CHEBI\" \"DOID\" \"UMLS\" \"DRUGBANK\"))\n          ((((\"CHEBI\" . \"DRUGBANK\") (\"same_as\"))\n            ((\"DRUGBANK\" . \"CHEBI\") (\"external_identifier\" \"same_as\"))\n            ((\"DRUGBANK\" . \"UMLS\")\n             (\"clinically_tested_suspended_phase_2\"\n              \"clinically_tested_terminated_phase_1_or_phase_2\"\n              \"clinically_tested_terminated_phase_1\"\n              \"clinically_tested_terminated_phase_2\"\n              \"clinically_tested_suspended_phase_2_or_phase_3\"\n              \"clinically_tested_terminated_phase_0\"\n              \"clinically_tested_withdrawn_phase_3\"\n              \"clinically_tested_suspended_phase_1_or_phase_2\"\n              \"clinically_tested_withdrawn_phase_2_or_phase_3\"\n              \"clinically_tested_terminated_phase_3\"\n              \"clinically_tested_suspended_phase_1\"\n              \"clinically_tested_withdrawn_phase_2\"\n              \"clinically_tested_suspended_phase_3\"\n              \"xref\"\n              \"clinically_tested_withdrawn_phase_1\"\n              \"clinically_tested_approved_unknown_phase\"\n              \"clinically_tested_suspended_phase_0\"\n              \"clinically_tested_terminated_phase_2_or_phase_3\"\n              \"clinically_tested_withdrawn_phase_0\"\n              \"clinically_tested_withdrawn_phase_1_or_phase_2\")))))\n\n4. Tool: print out the connecting predicate(s) for a given/desired path [e.g. (node-1 node-2 ...)]\n   - (single-path=>path-with-pred all-hash single-path)\n\n   * (single-path=>path-with-pred all-hash '(\"CHEBI\" \"DOID\" \"UMLS\" \"DRUGBANK\"))\n|#\n\n;===================================================loading data==============================================\n\n; a tsv reader\n(define make-tsv-reader\n  (make-csv-reader-maker\n   '((separator-chars            #\\tab)\n     (strip-leading-whitespace?  . #t)\n     (strip-trailing-whitespace? . #t))))\n\n#|\n(define convert-to-int\n  (lambda (ls)\n    (list\n     (car ls)\n     (cadr ls)\n     (caddr ls)\n     (string->number (cadddr ls)))))\n|#\n; conver the third item on the list from string to integer\n(define last-ele=>int\n  (lambda (ls)\n    (cond\n      [(null? (cdr ls)) (list (string->number (car ls)))]\n      [else (cons (car ls) (last-ele=>int (cdr ls)))])))\n\n;; load the data from a tsv file\n;; each row is represented as one list\n;; data type (string string string int)\n(define load-data\n  (lambda (file-name)\n    (cdr (load-data-with-header file-name))))\n\n;; header (\"subject CURIE prefix\" \"object CURIE prefix\" \"predicate\" \"edge count\")\n(define load-data-with-header\n  (lambda (file-name)\n    (csv-map last-ele=>int (make-tsv-reader (open-input-file file-name)))))\n\n\n;========================================building graph and loading necessary hash tables======================================\n#|\nThe graph is composed with two hash tables: node hash table and edge hash table.\n\nnode hash table: (key) curie prefix => (value) curie prefix list (two curies are connected by predicate(s))\n^ is based on how it traverses from one database to another database (the path): either sub=>obj or obj=>sub\n\nedge hash table: (key) subject-object-pair => (value) predicate list\n^ edges information are from the KG\n(hash-ref edge-hash-table (B . A)) returning '() means there is no predicate from B to A.\nIf A =\"same_as\"=> B, but there is no predicate from B to A, A => B and B => A are two both possible paths.\n|#\n\n; node-hash with undirected edges (subject <-> object)\n; biuld node-hash with edge/predicate count no less than 100(\"low\" level), 1000(\"medium\" level),\n; or 10000(\"high\" level); or desired number(e.g. no more than 500(int))\n; for filtering low edge count data\n(define make-undirected-node-hash\n  (lambda (ls level/num)\n    (let ((input-graph (make-immutable-hash)))\n      (if (string? level/num)\n          (make-undirected-node-hash-helper ls input-graph (level=>min-count level/num))\n          (make-undirected-node-hash-helper ls input-graph level/num)))))\n\n(define make-undirected-node-hash-helper\n  (lambda (ls graph min-count)\n    (cond\n      [(null? ls) graph]\n      [else\n       (let ((sub (caar ls))\n             (obj (cadar ls))\n             (count (car (cdddar ls))))\n         (if (and (not (equal? sub obj)) (> count min-count))\n             (let ((one-direct-graph\n                    (hash-update graph sub (lambda (v) (set-add v obj)) '())))\n               (let ((two-direct-graph\n                      (hash-update one-direct-graph obj (lambda (v) (set-add v sub)) '())))\n                 (make-undirected-node-hash-helper (cdr ls) two-direct-graph min-count)))\n             (make-undirected-node-hash-helper (cdr ls) graph min-count)))])))\n\n(define level=>min-count\n  (lambda (str)\n    (cond\n      [(equal? str \"high\") 9999]\n      [(equal? str \"medium\") 999]\n      [(equal? str \"low\") 99])))\n\n#| old version; not consider edge/predicate count\n(define make-undirected-node-hash-helper\n  (lambda (ls graph)\n    (cond\n      [(null? ls) graph]\n      [else\n       (let ((sub (caar ls))\n             (obj (cadar ls)))\n         (if (not (equal? sub obj))\n             (let ((one-direct-graph\n                    (hash-update graph sub (lambda (v) (set-add v obj)) '())))\n               (let ((two-direct-graph\n                    (hash-update one-direct-graph obj (lambda (v) (set-add v sub)) '())))\n                 (make-undirected-node-hash-helper (cdr ls) two-direct-graph)))\n               (make-undirected-node-hash-helper (cdr ls) graph)))])))\n|#\n\n#| \n; node-hash with directed edges (subject -> object)\n(define make-directed-graph\n  (lambda (ls)\n    (let ((input-graph (make-immutable-hash)))\n          (make-graph-directed-helper ls input-graph))))\n\n(define make-graph-directed-helper\n  (lambda (ls graph)\n    (cond\n      [(null? ls) graph]\n      [else\n       (let ((sub (caar ls))\n             (obj (cadar ls)))\n         (if (not (equal? sub obj))\n             (let ((one-direct-graph\n                    (hash-update graph sub (lambda (v) (set-add v obj)) '())))\n                 (make-graph-directed-helper (cdr ls) one-direct-graph))\n               (make-graph-directed-helper (cdr ls) graph)))])))\n\n|#\n\n\n; Edges/predicates are stored in a hash table enabling quick search\n; input: data from .tsv file (list) with edge/predicate count no less than 100(\"low\" level), 1000(\"medium\" level),\n; or 10000(\"high\" level); or a desired number(e.g. greater than 500(int)) \n; format: (((subject . object) . (predicates)) ... ) => hash table\n\n(define make-edge-hash\n  (lambda (ls level/num)\n    (let ((pred*-hash (make-immutable-hash)))\n      (if (string? level/num)\n          (make-edge-hash-helper ls pred*-hash (level=>min-count level/num))\n          (make-edge-hash-helper ls pred*-hash level/num)))))\n\n(define make-edge-hash-helper\n  (lambda (ls pred*-hash min-count)\n    (cond\n      [(null? ls) pred*-hash]\n      [else\n       (let ((sub-obj-pr (cons (caar ls) (cadar ls)))\n             (pred (caddar ls))\n             (count (car (cdddar ls))))\n         (if (> count min-count)\n             (let ((pred-hash\n                    (hash-update pred*-hash sub-obj-pr (lambda (v) (set-add v pred)) '())))\n               (make-edge-hash-helper (cdr ls) pred-hash min-count))\n             (make-edge-hash-helper (cdr ls) pred*-hash min-count)))])))\n\n; return a hash table having pred as key and a list of prefix-pairs(connected by the key predicate) as value\n; edge/predicate count no less than 100(\"low\" level), 1000(\"medium\" level), or 10000(\"high\" level)\n; or a desired number(e.g. greater than 500(int)) \n(define preds=>database-pair\n  (lambda (ls level/num)\n    (let ((database-pair*-hash (make-immutable-hash)))\n      (if (string? level/num)\n          (preds=>database-pair-helper ls database-pair*-hash (level=>min-count level/num))\n          (preds=>database-pair-helper ls database-pair*-hash level/num)))))\n\n(define preds=>database-pair-helper\n  (lambda (ls database-pair*-hash min-count)\n    (cond\n      [(null? ls) database-pair*-hash]\n      [else\n       (let ((sub-obj-pr (cons (caar ls) (cadar ls)))\n             (pred (caddar ls))\n             (count (car (cdddar ls))))\n         (if (> count min-count)\n             (let ((database-pair-hash\n                    (hash-update database-pair*-hash pred (lambda (v) (set-add v sub-obj-pr)) '())))\n               (preds=>database-pair-helper (cdr ls) database-pair-hash min-count))\n             (preds=>database-pair-helper (cdr ls) database-pair*-hash min-count)))])))\n\n;===================================================shorest path==============================================\n\n; TODO shortest path containing predicate \"pred\" from \"start\" curie prefix\n; TODO string search for pred\n\n; shortest path containing predicate \"pred\" from \"start\" curie prefix to an unknown curie prefix\n; thoughts:\n; 1. find which two nodes (n1 and n2) contain pred\n; 2. find the shorest paths from start to n1. Then n2 is the end node.\n; 2. find the shorest paths from start to n2.  Then n1 is the end node.\n; 3. combine all the \"shortest\" paths\n; 4. sort the result from above, return the shortest path(s)\n\n(define shortest-path*-contain-pred-unknown-end\n  (lambda (all-hash start pred)\n    (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n    (let ((prefix-pr-ls (hash-ref pred/prefix-pr-hash pred '())))\n      (let ((undir-prefix-pr-ls (cdr (pr-ls=>undirected-prs-ls prefix-pr-ls (list (list))))))\n            (cdr (shortest-path*-contain-pred-unknown-end-helper node-hash undir-prefix-pr-ls start (list (list))))))))\n\n(define shortest-path*-contain-pred-unknown-end-helper\n  (lambda (node-hash prefix-ls start path-ls)\n    (cond\n      [(null? prefix-ls) path-ls]\n      [else\n       (let ((n1 (caar prefix-ls))\n             (n2 (cdar prefix-ls)))\n         (cond\n           [(equal? start n1)\n            (let ((new-path (list n1 n2)))\n              (shortest-path*-contain-pred-unknown-end-helper node-hash (cdr prefix-ls) start (append path-ls (list new-path))))]\n           [(equal? start n2)\n            (shortest-path*-contain-pred-unknown-end-helper node-hash (cdr prefix-ls) start path-ls)]\n           [else\n             (let ((start=>n1-path (BFS node-hash start n1)))\n              (if start=>n1-path\n                  (let ((new-path (append start=>n1-path (list n2))))\n                    (shortest-path*-contain-pred-unknown-end-helper node-hash (cdr prefix-ls) start (append path-ls (list new-path))))\n                  (shortest-path*-contain-pred-unknown-end-helper node-hash (cdr prefix-ls) start path-ls)))]))])))\n  \n\n\n\n\n; shortest path containing predicate \"pred\" from \"start\" curie prefix to \"end\" curie prefix\n; thoughts:\n; 1. find which two nodes (n1 and n2) contain pred\n; 2. find the shorest paths from start to n1 and from n2 to end; combine two paths\n; 2. find the shorest paths from start to n2 and from n1 to end; combine two paths\n; 3. combine all the \"shortest\" paths\n; 4. sort the result from above, return the shortest path(s)\n\n; return all the (\"shortest\") paths containing predicate pred\n(define shortest-path*-contain-pred\n  (lambda (all-hash start end pred)\n    (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n    (let ((prefix-pr-ls (hash-ref pred/prefix-pr-hash pred '())))\n      (if (or (set-member? prefix-pr-ls (cons start end)) (set-member? prefix-pr-ls (cons end start)))\n          (list (list start end))\n          (let ((undir-prefix-pr-ls (cdr (pr-ls=>undirected-prs-ls prefix-pr-ls (list (list))))))\n            (cdr (shortest-path*-contain-pred-helper node-hash undir-prefix-pr-ls start end (list (list)))))))))\n\n(define shortest-path*-contain-pred-helper\n  (lambda (node-hash prefix-ls start end path-ls)\n    (cond\n      [(null? prefix-ls) path-ls]\n      [else\n       (let ((n1 (caar prefix-ls))\n             (n2 (cdar prefix-ls)))\n         (cond\n           ;[(or (and (equal? start n1) (equal? end n2)) (and (equal? start n2) (equal? end n1)))\n            ;(shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end (append path-ls (list (list n1 n2))))\n            ;(list (list start end))]\n           [(equal? start n1)\n             (let ((n2=>end-path (BFS node-hash n2 end)))\n               (if n2=>end-path\n                   (let ((new-path (append (list n1) n2=>end-path)))\n                         (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end (append path-ls (list new-path))))\n                   (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end path-ls)))]\n           [(equal? end n2)\n             (let ((start=>n1-path (BFS node-hash start n1)))\n               (if start=>n1-path\n                   (let ((new-path (append start=>n1-path (list n2))))\n                     (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end (append path-ls (list new-path))))\n                   (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end path-ls)))]\n           [(or (equal? start n2) (equal? end n1))\n            (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end path-ls)]\n           [else\n             (let ((start=>n1-path (BFS node-hash start n1))\n                  (n2=>end-path (BFS node-hash n2 end)))\n              (if (and start=>n1-path n2=>end-path)\n                  (let ((new-path (append start=>n1-path n2=>end-path)))\n                    (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end (append path-ls (list new-path))))\n                  (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end path-ls)))]))])))\n\n; sort the result from shortest-path*-contain-pred, and \n; return the shortest path(s) in a list\n(define find-shortest-path-ls\n  (lambda (path-ls)\n    (let ((ordered-path-ls\n           (sort path-ls\n                 #:key length <)))\n      (let ((shortest-path-ls (list (car ordered-path-ls))))\n        (find-shortest-path-ls-helper ordered-path-ls shortest-path-ls)))))\n\n(define find-shortest-path-ls-helper\n  (lambda (ordered-path-ls shortest-path-ls)\n    (cond\n      [(or (null? ordered-path-ls) (null? (cdr ordered-path-ls))) shortest-path-ls]\n      [else\n       (let ((first (car ordered-path-ls))\n             (second (cadr ordered-path-ls)))\n         (if (and (not (null? (cdr ordered-path-ls)))\n                  (equal? (length first)\n                          (length second)))\n             (find-shortest-path-ls-helper (cdr ordered-path-ls)\n                                    (append shortest-path-ls (list second)))\n             shortest-path-ls))])))\n\n\n; return the shorest path(s) from start to end containg predicate pred\n; with the corresponding predicate(s) connect pairs of databases\n(define shortest-path-with-pred\n  (lambda (path-ls edge-hash)\n    (shortest-path-with-pred-helper path-ls edge-hash (mlist (list)))))\n\n(define shortest-path-with-pred-helper\n  (lambda (path-ls edge-hash acc)\n    (for-each\n     (lambda (path)\n       (set-mcdr! acc (append (mcdr acc) (list (path-with-pred-undirected path edge-hash)))))\n     (find-shortest-path-ls path-ls))\n    (mcdr acc)))\n      \n; convert a list of pair to be undirected\n; example: ((d1 . d2) (d5 . d7) (d6 . d6)) => ((d1 . d2) (d2 . d1) (d5 . d7) (d7 . d5) (d6 . d6))\n(define pr-ls=>undirected-prs-ls\n  (lambda (pr-ls undirected-pr-ls)\n    (cond\n      [(null? pr-ls) undirected-pr-ls]\n      [else\n       (let ((sub (caar pr-ls))\n             (obj (cdar pr-ls)))\n         (if (not (equal? sub obj))\n             (let ((one-dir-prls (append undirected-pr-ls (list (car pr-ls)))))\n               (let ((two-dir-prls (append one-dir-prls (list (cons obj sub)))))\n                 (pr-ls=>undirected-prs-ls (cdr pr-ls) two-dir-prls)))\n             (pr-ls=>undirected-prs-ls (cdr pr-ls) (append undirected-pr-ls (list (car pr-ls))))))])))\n\n\n; unweighted shorest path - Breadth First Search\n; input: node-hash, a strart node/vertex, an end node/vertex\n(define BFS\n  (lambda (node-hash start dest)\n    (if (equal? start dest) (list start dest)\n        (let ((Q (mlist start))\n              (visited (mutable-set start))\n              (predecessor (make-hash)))\n          ; whether exist a path from start to dest: (BFS-helper graph Q dest visited pred) (true or false)\n          (if (BFS-helper node-hash Q dest visited predecessor)\n              (let ((cdr-path (get-path start dest predecessor)))\n                (cons start cdr-path))\n              false)))))\n\n; whether exist a path from start to dest\n; return true/false\n(define BFS-helper\n  (lambda (graph Q end visited pred)\n    (cond\n      [(set-member? visited end) true]\n      [(null? Q) false]\n      [else\n       ; v:parent and w:child\n       (let ((v (mcar Q))\n             (Q* (mcdr Q)))\n         (for-each\n          (lambda (w)\n            (when (not (set-member? visited w))\n              (begin\n                (set-add! visited w)\n                (hash-set! pred w v)\n                (set-mcdr! Q (mappend (mcdr Q) (mlist w))))))\n          (hash-ref graph v '()))\n         ;(display visited)\n         ;(display (mcdr Q))\n         (BFS-helper graph (mcdr Q) end visited pred))])))\n\n(define get-path\n  (lambda (start dest pred)\n    (let ((path (list dest)))\n      (get-path-helper start dest pred path))))\n\n(define get-path-helper\n  (lambda (start dest pred path)\n    (let ((pred-of-dest (hash-ref pred dest '())))\n          (cond\n            [(equal? pred-of-dest start) path]\n            [else\n             (let ((path* (cons pred-of-dest path)))\n               (get-path-helper start pred-of-dest pred path*))]))))\n\n\n;; Next: find the corresponding edges/predicates of each database from the result\n\n\n;retun the corresponding edges/predicates of each database(subject object) pair in one path\n;format: (((subject . object) (pred1 pred2 ... )) ... ) => list of lists\n\n#|\n(define path-with-pred-directed\n  (lambda (ls pred*-hash)\n    (let ((sub-obj-pr-ls (cdr (ls=>pr-ls ls (list (list))))))\n      (let ((pred-ls (result-ls=>preds sub-obj-pr-ls pred*-hash)))\n        (cdr (combine-sub-obj-pr-pred sub-obj-pr-ls pred-ls (list (list))))))))\n|#\n\n(define path-with-pred-undirected\n  (lambda (ls pred*-hash)\n    (let ((sub-obj-pr-ls (cdr (ls=>pr-ls-undirected ls (list (list))))))\n      (let ((pred-ls (sub-obj-pr-ls=>preds sub-obj-pr-ls pred*-hash)))\n        (cdr (combine-sub-obj-pr-pred sub-obj-pr-ls pred-ls (list (list))))))))\n\n;map each subject object pair as the key to find the corresponding predicates\n;return list of predicates list\n;format: ((pred1 pred2 ...) (pred1 pred2 ...) ...)\n(define sub-obj-pr-ls=>preds\n  (lambda (sub-obj-pr-ls pred*-hash)\n    (map\n     (lambda (k) (hash-ref pred*-hash k '()))\n     sub-obj-pr-ls)))\n\n;take a list of database name (d1 d2 d3 ...)\n;return a list of database pairs by order ((d1 . d2) (d2 . d3) ...) -> same as saying from d1 to d2, d2 to d3, ...\n;only works for directed edges/graph\n(define ls=>pr-ls-directed\n  (lambda (ls accu-ls-ls)\n    (cond\n      [(null? (cdr ls)) accu-ls-ls]\n      [else\n       (let ((from (car ls))\n             (to (cadr ls)))\n         (ls=>pr-ls-directed (cdr ls) (append accu-ls-ls (list (cons from to)))))])))\n\n;for undirected graph: ((d1 . d2) (d2 . d1) (d2 . d3) (d3 . d2) ...))\n(define ls=>pr-ls-undirected\n  (lambda (ls accu-ls-ls)\n    (cond\n      [(null? (cdr ls)) accu-ls-ls]\n      [else\n       (let ((from (car ls))\n             (to (cadr ls)))\n         (if (equal? from to)\n             (ls=>pr-ls-undirected (cdr ls) (append accu-ls-ls (list (cons from to))))\n             (ls=>pr-ls-undirected (cdr ls) (append accu-ls-ls (list (cons from to) (cons to from))))))])))\n\n;recursively combine each subject object pair to the corresponding list of predicates\n;format: (((subject . object) (pred1 pred2 ... )) ... ) => list of lists\n(define combine-sub-obj-pr-pred\n  (lambda (pr-ls pred-ls accu)\n    (cond\n      [(null? pr-ls) accu]\n      [else\n       (if (not (null? (car pred-ls)))\n           (combine-sub-obj-pr-pred (cdr pr-ls) (cdr pred-ls) (append accu (list (list (car pr-ls) (car pred-ls)))))\n           (combine-sub-obj-pr-pred (cdr pr-ls) (cdr pred-ls) accu))])))\n\n\n;===============================================useful helper functions==================================================\n\n(define build-undirected-graph\n  (lambda (ls level/num)\n    (list (make-undirected-node-hash ls level/num)\n    (make-edge-hash ls level/num))))\n\n;(match-define (list node-hash edge-hash) (build-undirected-graph rtx2-data 2669662))\n\n; load all required hash tables for finding the shortest path\n; input: data from .tsv file; edge/predicate count level or number \n(define load-all-hash\n  (lambda (ls level/num)\n    (list\n     (make-undirected-node-hash ls level/num)\n     (make-edge-hash ls level/num)\n     (preds=>database-pair ls level/num))))\n\n;(match-define (list node-hash edge-hash pred/prefix-pr-hash) (load-all-hash rtx2-data 2669662))\n\n(define shortest-path*\n  (lambda (all-hash start end pred)\n    (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n    (cond\n      [(equal? pred #f)\n       (list (BFS node-hash start end))]\n      [(equal? end #f)\n       (shortest-path*-contain-pred-unknown-end all-hash start pred)]\n      [else\n       (shortest-path*-contain-pred all-hash start end pred)])))\n       \n(define shortest-path*-with-pred\n  (lambda (all-hash start end pred)\n    (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n    (cond\n      [(equal? pred #f)\n       (let ((path (list (BFS node-hash start end))))\n         (list path (shortest-path-with-pred path edge-hash)))]\n      [(equal? end #f)\n       (let ((path (shortest-path*-contain-pred-unknown-end all-hash start pred)))\n         (list path (shortest-path-with-pred path edge-hash)))]\n      [else\n       (let ((path (shortest-path*-contain-pred all-hash start end pred)))\n         (list path (shortest-path-with-pred path edge-hash)))])))\n\n(define single-path=>path-with-pred\n  (lambda (all-hash single-path)\n    (if (list? (car single-path))\n        (error \"The second argument should be one single path. e.g. (node-1 node-2)\")\n        (path-with-pred-undirected single-path (cadr all-hash)))))\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/rtx2_2020_09_16/shortest_path_with_visual.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require csv-reading\n         racket/hash\n         racket/set\n         racket/mpair\n         racket/runtime-path)\n\n;=================================================== example & demo =================================================\n\n#|\n1. load the data from rtx2_2020_09_16-subject_predicate_object_count.tsv\n   (define rtx2-data (load-data \"rtx2_2020_09_16-subject_predicate_object_count.tsv\"))\n\n2. load all required hash tables for finding the shortest path: node-hash edge-hash pred/prefix-pr-hash\n   with a level of restriction or number toward the count of predicates conneting between databases\n   (define all-hash (load-all-hash rtx2-data 0))\n\n   2.1 You may want to assign names to each loaded hash-table\n       (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n\n3. find the shortest path(s) with or without showing the connecting predicate(s)\n   - without showing predicate: (shortest-path* all-hash start end pred)\n   - with showing predicate: (shortest-path*-with-pred all-hash start end pred)\n   - arguments end or pred can be #f, indicating an unknown endding node or an unspecified predicate\n\n3.1 shorest path from node-1 to node-2:  \n\n    * find the shortest paths from \"CHEBI\" to \"UMLS\"\n      (shortest-path* all-hash \"CHEBI\" \"UMLS\" #f)\n      => ((\"CHEBI\" \"DOID\" \"UMLS\"))\n    * find the shortest paths from \"CHEBI\" to \"UMLS\" with the predicates connecting each pair of nodes(databases)\n      (shortest-path*-with-pred all-hash \"CHEBI\" \"UMLS\" #f)\n      => (((\"CHEBI\" \"DOID\" \"UMLS\"))\n          ((((\"CHEBI\" . \"DOID\") (\"INVERTED:has_allergic_trigger\"))\n            ((\"DOID\" . \"UMLS\") (\"xref\")))))\n\n3.2 shortest paths containing predicate pred from node-1 to node-2:\n\n    * find all the (\"shortest\") paths containing predicate \"clinically_tested_terminated_phase_2\" from \"CHEBI\" to \"UMLS\"\n      (shortest-path* all-hash \"CHEBI\" \"UMLS\" \"clinically_tested_terminated_phase_2\")\n      => ((\"CHEBI\" \"DRUGBANK\" \"UMLS\"))\n\n    * combine the result from the step above and show the predicates connecting each pair of nodes(databases) for the shortest path(s)\n      (shortest-path*-with-pred all-hash \"CHEBI\" \"UMLS\" \"clinically_tested_terminated_phase_2\")\n      => (((\"CHEBI\" \"DRUGBANK\" \"UMLS\"))\n          ((((\"CHEBI\" . \"DRUGBANK\") (\"same_as\"))\n            ((\"DRUGBANK\" . \"CHEBI\") (\"external_identifier\" \"same_as\"))\n            ((\"DRUGBANK\" . \"UMLS\")\n            (\"clinically_tested_suspended_phase_2\"\n             \"clinically_tested_terminated_phase_1_or_phase_2\"\n             \"clinically_tested_terminated_phase_1\"\n             \"clinically_tested_terminated_phase_2\"\n             \"clinically_tested_suspended_phase_2_or_phase_3\"\n             \"clinically_tested_terminated_phase_0\"\n             \"clinically_tested_withdrawn_phase_3\"\n             \"clinically_tested_suspended_phase_1_or_phase_2\"\n             \"clinically_tested_withdrawn_phase_2_or_phase_3\"\n             \"clinically_tested_terminated_phase_3\"\n             \"clinically_tested_suspended_phase_1\"\n             \"clinically_tested_withdrawn_phase_2\"\n             \"clinically_tested_suspended_phase_3\"\n             \"xref\"\n             \"clinically_tested_withdrawn_phase_1\"\n             \"clinically_tested_approved_unknown_phase\"\n             \"clinically_tested_suspended_phase_0\"\n             \"clinically_tested_terminated_phase_2_or_phase_3\"\n             \"clinically_tested_withdrawn_phase_0\"\n             \"clinically_tested_withdrawn_phase_1_or_phase_2\")))))\n\n3.3 shortest paths containing predicate pred from node-1 to unknown node:\n\n    * find all the (\"shortest\") paths containing predicate \"clinically_tested_terminated_phase_2\" from \"CHEBI\"\n      (shortest-path* all-hash \"CHEBI\" #f \"clinically_tested_terminated_phase_2\")\n      => ((\"CHEBI\" \"DRUGBANK\" \"UMLS\") (\"CHEBI\" \"DOID\" \"UMLS\" \"DRUGBANK\"))\n\n    * find the shortest path(s) and show the predicates connecting each pair of nodes(databases)\n      (shortest-path*-with-pred all-hash \"CHEBI\" #f \"clinically_tested_terminated_phase_2\")\n      => (((\"CHEBI\" \"DRUGBANK\" \"UMLS\") (\"CHEBI\" \"DOID\" \"UMLS\" \"DRUGBANK\"))\n          ((((\"CHEBI\" . \"DRUGBANK\") (\"same_as\"))\n            ((\"DRUGBANK\" . \"CHEBI\") (\"external_identifier\" \"same_as\"))\n            ((\"DRUGBANK\" . \"UMLS\")\n             (\"clinically_tested_suspended_phase_2\"\n              \"clinically_tested_terminated_phase_1_or_phase_2\"\n              \"clinically_tested_terminated_phase_1\"\n              \"clinically_tested_terminated_phase_2\"\n              \"clinically_tested_suspended_phase_2_or_phase_3\"\n              \"clinically_tested_terminated_phase_0\"\n              \"clinically_tested_withdrawn_phase_3\"\n              \"clinically_tested_suspended_phase_1_or_phase_2\"\n              \"clinically_tested_withdrawn_phase_2_or_phase_3\"\n              \"clinically_tested_terminated_phase_3\"\n              \"clinically_tested_suspended_phase_1\"\n              \"clinically_tested_withdrawn_phase_2\"\n              \"clinically_tested_suspended_phase_3\"\n              \"xref\"\n              \"clinically_tested_withdrawn_phase_1\"\n              \"clinically_tested_approved_unknown_phase\"\n              \"clinically_tested_suspended_phase_0\"\n              \"clinically_tested_terminated_phase_2_or_phase_3\"\n              \"clinically_tested_withdrawn_phase_0\"\n              \"clinically_tested_withdrawn_phase_1_or_phase_2\")))))\n\n4. visualize the shortest path\n   - The input of visualize-with-web must be the result returned from shortest-path*-with-pred (i.e. list contains all path(s)\n     and shortest-path(s) with predicates)\n   (define p (shortest-path*-with-pred all-hash \"CHEBI\" #f \"clinically_tested_terminated_phase_2\"))\n   (visualize-with-web p)\n\n   - Open shorest-path-graph-visual-hover.html under the same folder and the path(s) will be displayed on browser.\n\n5. Tool: print out the connecting predicate(s) for a given/desired path [e.g. (node-1 node-2 ...)]\n   - (single-path=>path-with-pred all-hash single-path)\n\n   * (single-path=>path-with-pred all-hash '(\"CHEBI\" \"DOID\" \"UMLS\" \"DRUGBANK\"))\n\n\n|#\n\n;===================================================loading data==============================================\n\n; a tsv reader\n(define make-tsv-reader\n  (make-csv-reader-maker\n   '((separator-chars            #\\tab)\n     (strip-leading-whitespace?  . #t)\n     (strip-trailing-whitespace? . #t))))\n\n#|\n(define convert-to-int\n  (lambda (ls)\n    (list\n     (car ls)\n     (cadr ls)\n     (caddr ls)\n     (string->number (cadddr ls)))))\n|#\n; conver the third item on the list from string to integer\n(define last-ele=>int\n  (lambda (ls)\n    (cond\n      [(null? (cdr ls)) (list (string->number (car ls)))]\n      [else (cons (car ls) (last-ele=>int (cdr ls)))])))\n\n;; load the data from a tsv file\n;; each row is represented as one list\n;; data type (string string string int)\n(define load-data\n  (lambda (file-name)\n    (cdr (load-data-with-header file-name))))\n\n;; header (\"subject CURIE prefix\" \"object CURIE prefix\" \"predicate\" \"edge count\")\n(define load-data-with-header\n  (lambda (file-name)\n    (csv-map last-ele=>int (make-tsv-reader (open-input-file file-name)))))\n\n\n;========================================building graph and loading necessary hash tables======================================\n#|\nThe graph is composed with two hash tables: node hash table and edge hash table.\n\nnode hash table: (key) curie prefix => (value) curie prefix list (two curies are connected by predicate(s))\n^ is based on how it traverses from one database to another database (the path): either sub=>obj or obj=>sub\n\nedge hash table: (key) subject-object-pair => (value) predicate list\n^ edges information are from the KG\n(hash-ref edge-hash-table (B . A)) returning '() means there is no predicate from B to A.\nIf A =\"same_as\"=> B, but there is no predicate from B to A, A => B and B => A are two both possible paths.\n|#\n\n; node-hash with undirected edges (subject <-> object)\n; biuld node-hash with edge/predicate count no less than 100(\"low\" level), 1000(\"medium\" level),\n; or 10000(\"high\" level); or desired number(e.g. no more than 500(int))\n; for filtering low edge count data\n(define make-undirected-node-hash\n  (lambda (ls level/num)\n    (let ((input-graph (make-immutable-hash)))\n      (if (string? level/num)\n          (make-undirected-node-hash-helper ls input-graph (level=>min-count level/num))\n          (make-undirected-node-hash-helper ls input-graph level/num)))))\n\n(define make-undirected-node-hash-helper\n  (lambda (ls graph min-count)\n    (cond\n      [(null? ls) graph]\n      [else\n       (let ((sub (caar ls))\n             (obj (cadar ls))\n             (count (car (cdddar ls))))\n         (if (and (not (equal? sub obj)) (> count min-count))\n             (let ((one-direct-graph\n                    (hash-update graph sub (lambda (v) (set-add v obj)) '())))\n               (let ((two-direct-graph\n                      (hash-update one-direct-graph obj (lambda (v) (set-add v sub)) '())))\n                 (make-undirected-node-hash-helper (cdr ls) two-direct-graph min-count)))\n             (make-undirected-node-hash-helper (cdr ls) graph min-count)))])))\n\n(define level=>min-count\n  (lambda (str)\n    (cond\n      [(equal? str \"high\") 9999]\n      [(equal? str \"medium\") 999]\n      [(equal? str \"low\") 99])))\n\n\n; Edges/predicates are stored in a hash table enabling quick search\n; input: data from .tsv file (list) with edge/predicate count no less than 100(\"low\" level), 1000(\"medium\" level),\n; or 10000(\"high\" level); or a desired number(e.g. greater than 500(int)) \n; format: (((subject . object) . (predicates)) ... ) => hash table\n\n(define make-edge-hash\n  (lambda (ls level/num)\n    (let ((pred*-hash (make-immutable-hash)))\n      (if (string? level/num)\n          (make-edge-hash-helper ls pred*-hash (level=>min-count level/num))\n          (make-edge-hash-helper ls pred*-hash level/num)))))\n\n(define make-edge-hash-helper\n  (lambda (ls pred*-hash min-count)\n    (cond\n      [(null? ls) pred*-hash]\n      [else\n       (let ((sub-obj-pr (cons (caar ls) (cadar ls)))\n             (pred (caddar ls))\n             (count (car (cdddar ls))))\n         (if (> count min-count)\n             (let ((pred-hash\n                    (hash-update pred*-hash sub-obj-pr (lambda (v) (set-add v pred)) '())))\n               (make-edge-hash-helper (cdr ls) pred-hash min-count))\n             (make-edge-hash-helper (cdr ls) pred*-hash min-count)))])))\n\n; return a hash table having pred as key and a list of prefix-pairs(connected by the key predicate) as value\n; edge/predicate count no less than 100(\"low\" level), 1000(\"medium\" level), or 10000(\"high\" level)\n; or a desired number(e.g. greater than 500(int)) \n(define preds=>database-pair\n  (lambda (ls level/num)\n    (let ((database-pair*-hash (make-immutable-hash)))\n      (if (string? level/num)\n          (preds=>database-pair-helper ls database-pair*-hash (level=>min-count level/num))\n          (preds=>database-pair-helper ls database-pair*-hash level/num)))))\n\n(define preds=>database-pair-helper\n  (lambda (ls database-pair*-hash min-count)\n    (cond\n      [(null? ls) database-pair*-hash]\n      [else\n       (let ((sub-obj-pr (cons (caar ls) (cadar ls)))\n             (pred (caddar ls))\n             (count (car (cdddar ls))))\n         (if (> count min-count)\n             (let ((database-pair-hash\n                    (hash-update database-pair*-hash pred (lambda (v) (set-add v sub-obj-pr)) '())))\n               (preds=>database-pair-helper (cdr ls) database-pair-hash min-count))\n             (preds=>database-pair-helper (cdr ls) database-pair*-hash min-count)))])))\n\n;===================================================shorest path==============================================\n\n; TODO shortest path containing predicate \"pred\" from \"start\" curie prefix\n; TODO string search for pred\n\n; shortest path containing predicate \"pred\" from \"start\" curie prefix to an unknown curie prefix\n; thoughts:\n; 1. find which two nodes (n1 and n2) contain pred\n; 2. find the shorest paths from start to n1. Then n2 is the end node.\n; 2. find the shorest paths from start to n2.  Then n1 is the end node.\n; 3. combine all the \"shortest\" paths\n; 4. sort the result from above, return the shortest path(s)\n\n(define shortest-path*-contain-pred-unknown-end\n  (lambda (all-hash start pred)\n    (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n    (let ((prefix-pr-ls (hash-ref pred/prefix-pr-hash pred '())))\n      (let ((undir-prefix-pr-ls (cdr (pr-ls=>undirected-prs-ls prefix-pr-ls (list (list))))))\n            (cdr (shortest-path*-contain-pred-unknown-end-helper node-hash undir-prefix-pr-ls start (list (list))))))))\n\n(define shortest-path*-contain-pred-unknown-end-helper\n  (lambda (node-hash prefix-ls start path-ls)\n    (cond\n      [(null? prefix-ls) path-ls]\n      [else\n       (let ((n1 (caar prefix-ls))\n             (n2 (cdar prefix-ls)))\n         (cond\n           [(equal? start n1)\n            (let ((new-path (list n1 n2)))\n              (shortest-path*-contain-pred-unknown-end-helper node-hash (cdr prefix-ls) start (append path-ls (list new-path))))]\n           [(equal? start n2)\n            (shortest-path*-contain-pred-unknown-end-helper node-hash (cdr prefix-ls) start path-ls)]\n           [else\n             (let ((start=>n1-path (BFS node-hash start n1)))\n              (if start=>n1-path\n                  (let ((new-path (append start=>n1-path (list n2))))\n                    (shortest-path*-contain-pred-unknown-end-helper node-hash (cdr prefix-ls) start (append path-ls (list new-path))))\n                  (shortest-path*-contain-pred-unknown-end-helper node-hash (cdr prefix-ls) start path-ls)))]))])))\n  \n\n\n\n\n; shortest path containing predicate \"pred\" from \"start\" curie prefix to \"end\" curie prefix\n; thoughts:\n; 1. find which two nodes (n1 and n2) contain pred\n; 2. find the shorest paths from start to n1 and from n2 to end; combine two paths\n; 2. find the shorest paths from start to n2 and from n1 to end; combine two paths\n; 3. combine all the \"shortest\" paths\n; 4. sort the result from above, return the shortest path(s)\n\n; return all the (\"shortest\") paths containing predicate pred\n(define shortest-path*-contain-pred\n  (lambda (all-hash start end pred)\n    (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n    (let ((prefix-pr-ls (hash-ref pred/prefix-pr-hash pred '())))\n      (if (or (set-member? prefix-pr-ls (cons start end)) (set-member? prefix-pr-ls (cons end start)))\n          (list (list start end))\n          (let ((undir-prefix-pr-ls (cdr (pr-ls=>undirected-prs-ls prefix-pr-ls (list (list))))))\n            (cdr (shortest-path*-contain-pred-helper node-hash undir-prefix-pr-ls start end (list (list)))))))))\n\n(define shortest-path*-contain-pred-helper\n  (lambda (node-hash prefix-ls start end path-ls)\n    (cond\n      [(null? prefix-ls) path-ls]\n      [else\n       (let ((n1 (caar prefix-ls))\n             (n2 (cdar prefix-ls)))\n         (cond\n           [(equal? start n1)\n             (let ((n2=>end-path (BFS node-hash n2 end)))\n               (if n2=>end-path\n                   (let ((new-path (append (list n1) n2=>end-path)))\n                         (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end (append path-ls (list new-path))))\n                   (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end path-ls)))]\n           [(equal? end n2)\n             (let ((start=>n1-path (BFS node-hash start n1)))\n               (if start=>n1-path\n                   (let ((new-path (append start=>n1-path (list n2))))\n                     (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end (append path-ls (list new-path))))\n                   (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end path-ls)))]\n           [(or (equal? start n2) (equal? end n1))\n            (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end path-ls)]\n           [else\n             (let ((start=>n1-path (BFS node-hash start n1))\n                  (n2=>end-path (BFS node-hash n2 end)))\n              (if (and start=>n1-path n2=>end-path)\n                  (let ((new-path (append start=>n1-path n2=>end-path)))\n                    (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end (append path-ls (list new-path))))\n                  (shortest-path*-contain-pred-helper node-hash (cdr prefix-ls) start end path-ls)))]))])))\n\n; sort the result from shortest-path*-contain-pred, and \n; return the shortest path(s) in a list\n(define find-shortest-path-ls\n  (lambda (path-ls)\n    (let ((ordered-path-ls\n           (sort path-ls\n                 #:key length <)))\n      (let ((shortest-path-ls (list (car ordered-path-ls))))\n        (find-shortest-path-ls-helper ordered-path-ls shortest-path-ls)))))\n\n(define find-shortest-path-ls-helper\n  (lambda (ordered-path-ls shortest-path-ls)\n    (cond\n      [(or (null? ordered-path-ls) (null? (cdr ordered-path-ls))) shortest-path-ls]\n      [else\n       (let ((first (car ordered-path-ls))\n             (second (cadr ordered-path-ls)))\n         (if (and (not (null? (cdr ordered-path-ls)))\n                  (equal? (length first)\n                          (length second)))\n             (find-shortest-path-ls-helper (cdr ordered-path-ls)\n                                    (append shortest-path-ls (list second)))\n             shortest-path-ls))])))\n\n\n; return the shorest path(s) from start to end containg predicate pred\n; with the corresponding predicate(s) connect pairs of databases\n(define shortest-path-with-pred\n  (lambda (path-ls edge-hash)\n    (shortest-path-with-pred-helper path-ls edge-hash (mlist (list)))))\n\n(define shortest-path-with-pred-helper\n  (lambda (path-ls edge-hash acc)\n    (for-each\n     (lambda (path)\n       (set-mcdr! acc (append (mcdr acc) (list (path-with-pred-undirected path edge-hash)))))\n     (find-shortest-path-ls path-ls))\n    (mcdr acc)))\n      \n; convert a list of pair to be undirected\n; example: ((d1 . d2) (d5 . d7) (d6 . d6)) => ((d1 . d2) (d2 . d1) (d5 . d7) (d7 . d5) (d6 . d6))\n(define pr-ls=>undirected-prs-ls\n  (lambda (pr-ls undirected-pr-ls)\n    (cond\n      [(null? pr-ls) undirected-pr-ls]\n      [else\n       (let ((sub (caar pr-ls))\n             (obj (cdar pr-ls)))\n         (if (not (equal? sub obj))\n             (let ((one-dir-prls (append undirected-pr-ls (list (car pr-ls)))))\n               (let ((two-dir-prls (append one-dir-prls (list (cons obj sub)))))\n                 (pr-ls=>undirected-prs-ls (cdr pr-ls) two-dir-prls)))\n             (pr-ls=>undirected-prs-ls (cdr pr-ls) (append undirected-pr-ls (list (car pr-ls))))))])))\n\n\n; unweighted shorest path - Breadth First Search\n; input: node-hash, a strart node/vertex, an end node/vertex\n(define BFS\n  (lambda (node-hash start dest)\n    (if (equal? start dest) (list start dest)\n        (let ((Q (mlist start))\n              (visited (mutable-set start))\n              (predecessor (make-hash)))\n          ; whether exist a path from start to dest: (BFS-helper graph Q dest visited pred) (true or false)\n          (if (BFS-helper node-hash Q dest visited predecessor)\n              (let ((cdr-path (get-path start dest predecessor)))\n                (cons start cdr-path))\n              false)))))\n\n; whether exist a path from start to dest\n; return true/false\n(define BFS-helper\n  (lambda (graph Q end visited pred)\n    (cond\n      [(set-member? visited end) true]\n      [(null? Q) false]\n      [else\n       ; v:parent and w:child\n       (let ((v (mcar Q))\n             (Q* (mcdr Q)))\n         (for-each\n          (lambda (w)\n            (when (not (set-member? visited w))\n              (begin\n                (set-add! visited w)\n                (hash-set! pred w v)\n                (set-mcdr! Q (mappend (mcdr Q) (mlist w))))))\n          (hash-ref graph v '()))\n         ;(display visited)\n         ;(display (mcdr Q))\n         (BFS-helper graph (mcdr Q) end visited pred))])))\n\n(define get-path\n  (lambda (start dest pred)\n    (let ((path (list dest)))\n      (get-path-helper start dest pred path))))\n\n(define get-path-helper\n  (lambda (start dest pred path)\n    (let ((pred-of-dest (hash-ref pred dest '())))\n          (cond\n            [(equal? pred-of-dest start) path]\n            [else\n             (let ((path* (cons pred-of-dest path)))\n               (get-path-helper start pred-of-dest pred path*))]))))\n\n\n;; Next: find the corresponding edges/predicates of each database from the result\n\n\n;retun the corresponding edges/predicates of each database(subject object) pair in one path\n;format: (((subject . object) (pred1 pred2 ... )) ... ) => list of lists\n\n(define path-with-pred-undirected\n  (lambda (ls pred*-hash)\n    (let ((sub-obj-pr-ls (cdr (ls=>pr-ls-undirected ls (list (list))))))\n      (let ((pred-ls (sub-obj-pr-ls=>preds sub-obj-pr-ls pred*-hash)))\n        (cdr (combine-sub-obj-pr-pred sub-obj-pr-ls pred-ls (list (list))))))))\n\n;map each subject object pair as the key to find the corresponding predicates\n;return list of predicates list\n;format: ((pred1 pred2 ...) (pred1 pred2 ...) ...)\n(define sub-obj-pr-ls=>preds\n  (lambda (sub-obj-pr-ls pred*-hash)\n    (map\n     (lambda (k) (hash-ref pred*-hash k '()))\n     sub-obj-pr-ls)))\n\n;take a list of database name (d1 d2 d3 ...)\n;return a list of database pairs by order ((d1 . d2) (d2 . d3) ...) -> same as saying from d1 to d2, d2 to d3, ...\n;only works for directed edges/graph\n(define ls=>pr-ls-directed\n  (lambda (ls accu-ls-ls)\n    (cond\n      [(null? (cdr ls)) accu-ls-ls]\n      [else\n       (let ((from (car ls))\n             (to (cadr ls)))\n         (ls=>pr-ls-directed (cdr ls) (append accu-ls-ls (list (cons from to)))))])))\n\n;for undirected graph: ((d1 . d2) (d2 . d1) (d2 . d3) (d3 . d2) ...))\n(define ls=>pr-ls-undirected\n  (lambda (ls accu-ls-ls)\n    (cond\n      [(null? (cdr ls)) accu-ls-ls]\n      [else\n       (let ((from (car ls))\n             (to (cadr ls)))\n         (if (equal? from to)\n             (ls=>pr-ls-undirected (cdr ls) (append accu-ls-ls (list (cons from to))))\n             (ls=>pr-ls-undirected (cdr ls) (append accu-ls-ls (list (cons from to) (cons to from))))))])))\n\n;recursively combine each subject object pair to the corresponding list of predicates\n;format: (((subject . object) (pred1 pred2 ... )) ... ) => list of lists\n(define combine-sub-obj-pr-pred\n  (lambda (pr-ls pred-ls accu)\n    (cond\n      [(null? pr-ls) accu]\n      [else\n       (if (not (null? (car pred-ls)))\n           (combine-sub-obj-pr-pred (cdr pr-ls) (cdr pred-ls) (append accu (list (list (car pr-ls) (car pred-ls)))))\n           (combine-sub-obj-pr-pred (cdr pr-ls) (cdr pred-ls) accu))])))\n\n;=============================================== visualization ==========================================================\n\n\n(define path*-with-pred=>set-ls\n  (lambda (path*-with-pred st)\n    (cond\n      [(null? path*-with-pred) st]\n      [else\n       (path*-with-pred=>set-ls (cdr path*-with-pred) (path*-with-pred=>set-ls-helper (car path*-with-pred) st))])))\n\n(define path*-with-pred=>set-ls-helper\n  (lambda (path*-ls st)\n    (cond\n      [(null? path*-ls) st]\n      [else\n         (let ((subject-curie-prefix (caaar path*-ls))\n               (object-curie-prefix (cdaar path*-ls))\n               (predicate-string (string-join (cadar path*-ls) \"\\n\")))\n           (let ((new-st (set-add st (list subject-curie-prefix object-curie-prefix predicate-string))))\n             (path*-with-pred=>set-ls-helper (cdr path*-ls) new-st)))])))\n\n(define path*-ls=>concept-set\n  (lambda (path*-ls concept-set)\n      (let ((shortest-path-ls (find-shortest-path-ls path*-ls)))\n        (shortest-path-ls=>concept-set shortest-path-ls concept-set))))\n\n\n(define shortest-path-ls=>concept-set\n  (lambda (shortest-path-ls concept-set)\n    (cond\n      [(null? shortest-path-ls) concept-set]\n      [else\n       (for-each\n        (lambda(p)\n          (set-add! concept-set p))\n        (car shortest-path-ls))\n       (shortest-path-ls=>concept-set (cdr shortest-path-ls) concept-set)])))\n\n; write a JASON file containing the nodes and edges information for visualization\n(define visualize-with-web\n  (lambda (shortest-path*-with-pred)\n    (with-output-to-file \"shorest-path-graph-vars.js\"\n      (lambda ()\n        (printf \"var nodes = new vis.DataSet([\\n\")\n        (for-each\n         (lambda(c)\n           (printf \"{ id: ~s, label: ~s},\\n\" c c))\n         (set->list (path*-ls=>concept-set (car shortest-path*-with-pred) (mutable-set))))\n        (printf \"]);\\n\")\n        (printf \"var edges = new vis.DataSet([\\n\")\n        (set-map\n         (path*-with-pred=>set-ls (cadr shortest-path*-with-pred) (set))\n         (lambda (ls)\n           (match ls\n             [`(,subject-curie-prefix ,object-curie-prefix ,predicate-string)\n              (printf \"{ from: ~s, to: ~s, arrows: \\\"to\\\", predicate: ~s},\\n\" subject-curie-prefix object-curie-prefix predicate-string)])))\n        (printf \"]);\\n\"))\n      #:mode 'text\n      #:exists 'replace)))\n\n\n;===============================================useful helper functions==================================================\n\n(define build-undirected-graph\n  (lambda (ls level/num)\n    (list (make-undirected-node-hash ls level/num)\n    (make-edge-hash ls level/num))))\n\n;(match-define (list node-hash edge-hash) (build-undirected-graph rtx2-data 2669662))\n\n; load all required hash tables for finding the shortest path\n; input: data from .tsv file; edge/predicate count level or number \n(define load-all-hash\n  (lambda (ls level/num)\n    (list\n     (make-undirected-node-hash ls level/num)\n     (make-edge-hash ls level/num)\n     (preds=>database-pair ls level/num))))\n\n;(match-define (list node-hash edge-hash pred/prefix-pr-hash) (load-all-hash rtx2-data 2669662))\n\n(define shortest-path*\n  (lambda (all-hash start end pred)\n    (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n    (cond\n      [(equal? pred #f)\n       (list (BFS node-hash start end))]\n      [(equal? end #f)\n       (shortest-path*-contain-pred-unknown-end all-hash start pred)]\n      [else\n       (shortest-path*-contain-pred all-hash start end pred)])))\n       \n(define shortest-path*-with-pred\n  (lambda (all-hash start end pred)\n    (match-define (list node-hash edge-hash pred/prefix-pr-hash) all-hash)\n    (cond\n      [(equal? pred #f)\n       (let ((path (list (BFS node-hash start end))))\n         (list path (shortest-path-with-pred path edge-hash)))]\n      [(equal? end #f)\n       (let ((path (shortest-path*-contain-pred-unknown-end all-hash start pred)))\n         (list path (shortest-path-with-pred path edge-hash)))]\n      [else\n       (let ((path (shortest-path*-contain-pred all-hash start end pred)))\n         (list path (shortest-path-with-pred path edge-hash)))])))\n\n(define single-path=>path-with-pred\n  (lambda (all-hash single-path)\n    (if (list? (car single-path))\n        (error \"The second argument should be one single path. e.g. (node-1 node-2)\")\n        (path-with-pred-undirected single-path (cadr all-hash)))))\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/sri-reference-kg-0.2.0/sri-reference-kg-0.2.0-map.html",
    "content": "<html>\n<head>\n  <title>SRI Reference 0.2.0 KG Map</title>\n  <script src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"></script>\n</head>\n\n<div id=\"mynetwork\"></div>\n<script type=\"text/javascript\">\n    var container = document.getElementById('mynetwork');\n    var dot = 'digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"SGD\" -> \"SO\" [label=\"biolink:subclass_of (6439)\"]; \t\"WormBase\" -> \"WormBase\" [label=\"biolink:interacts_with (45129)\"]; \t\"GENO\" -> \"UPHENO\" [label=\"biolink:object (1)\"]; \t\"ClinVarVariant\" -> \"GENO\" [label=\"biolink:related_to (190)\"]; \t\"WormBase\" -> \"http\" [label=\"biolink:related_to (133)\"]; \t\"dbSNP\" -> \"EFO\" [label=\"biolink:related_to (163561)\"]; \t\"RGD\" -> \"Xenbase\" [label=\"biolink:related_to (10129)\"]; \t\"RGD\" -> \"GO\" [label=\"biolink:enables (61929)\"]; \t\"ECO\" -> \"ECO\" [label=\"biolink:has_part (11)\"]; \t\"MONARCH_BNODE\" -> \"HP\" [label=\"biolink:related_to (45)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:subPropertyOf (14)\"]; \t\"AspGD\" -> \"GO\" [label=\"biolink:enables (272945)\"]; \t\"RO\" -> \"GENO\" [label=\"biolink:subPropertyOf (6)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:overlaps (27)\"]; \t\"KEGG-path\" -> \"GO\" [label=\"biolink:subclass_of (537)\"]; \t\"VGNC\" -> \"SGD\" [label=\"biolink:related_to (4)\"]; \t\"FAO\" -> \"FAO\" [label=\"biolink:part_of (4)\"]; \t\"MONARCH_BNODE\" -> \"EFO\" [label=\"biolink:related_to (3375)\"]; \t\"http\" -> \"foaf\" [label=\"biolink:subclass_of (7)\"]; \t\"RO\" -> \"RO\" [label=\"biolink:subPropertyOf (626)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:overlaps (26)\"]; \t\"ZP\" -> \"UBERON\" [label=\"biolink:subclass_of (5407)\"]; \t\"RGD\" -> \"MP\" [label=\"biolink:has_phenotype (1009)\"]; \t\"NCBIGene\" -> \"OBO\" [label=\"biolink:related_to (578172)\"]; \t\"DOID\" -> \"HP\" [label=\"biolink:subclass_of (12)\"]; \t\"https\" -> \"https\" [label=\"biolink:biomarker_for (97442)\"]; \t\"ZFIN\" -> \"GENO\" [label=\"biolink:subclass_of (15)\"]; \t\"VGNC\" -> \"WormBase\" [label=\"biolink:related_to (1)\"]; \t\"FlyBase\" -> \"GO\" [label=\"biolink:enables (22788)\"]; \t\"Xenbase\" -> \"FlyBase\" [label=\"biolink:orthologous_to (9546)\"]; \t\"JAX\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (114)\"]; \t\"OBI\" -> \"CL\" [label=\"biolink:related_to (5)\"]; \t\"Orphanet\" -> \"HP\" [label=\"biolink:subclass_of (7)\"]; \t\"NCBITaxon\" -> \"OBO\" [label=\"biolink:subclass_of (31)\"]; \t\"HP\" -> \"CL\" [label=\"biolink:subclass_of (116)\"]; \t\"OBI\" -> \"RO\" [label=\"biolink:subPropertyOf (6)\"]; \t\"ZFIN\" -> \"GO\" [label=\"biolink:actively_involved_in (65188)\"]; \t\"HGNC\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (10886)\"]; \t\"OBI\" -> \"GO\" [label=\"biolink:related_to (3)\"]; \t\"GENO\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (3)\"]; \t\"OBI\" -> \"OBO\" [label=\"biolink:has_part (3)\"]; \t\"MONARCH_NODE\" -> \"WormBase\" [label=\"biolink:related_to (7)\"]; \t\"HP\" -> \"GO\" [label=\"biolink:subclass_of (211)\"]; \t\"PMID\" -> \"KEGG-path\" [label=\"biolink:related_to (6336)\"]; \t\"HGNC\" -> \"ENSEMBL\" [label=\"biolink:same_as (1507)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:derives_from (1)\"]; \t\"MP\" -> \"owl\" [label=\"biolink:subclass_of (441)\"]; \t\"OBO\" -> \"OBI\" [label=\"biolink:subclass_of (29)\"]; \t\"chickenQTL\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (6461)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:related_to (411)\"]; \t\"MONARCH\" -> \"HGNC\" [label=\"biolink:model_of (1)\"]; \t\"NCBIGene\" -> \"pigQTL\" [label=\"biolink:biomarker_for (107)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:related_to (149)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:related_to (7)\"]; \t\"NCBIGene\" -> \"dictyBase\" [label=\"biolink:orthologous_to (399)\"]; \t\"WormBase\" -> \"WBPhenotype\" [label=\"biolink:has_phenotype (106355)\"]; \t\"FlyBase\" -> \"UBERON\" [label=\"biolink:expressed_in (52120)\"]; \t\"GeneReviews\" -> \"DOID\" [label=\"biolink:subclass_of (737)\"]; \t\"KEGG-ko\" -> \"DATA\" [label=\"biolink:subclass_of (23530)\"]; \t\"NCBIGene\" -> \"SGD\" [label=\"biolink:orthologous_to (142)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"biolink:related_to (64258)\"]; \t\"MP\" -> \"UPHENO\" [label=\"biolink:subclass_of (2)\"]; \t\"wgs\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"OMIA\" -> \"CL\" [label=\"biolink:has_phenotype (3)\"]; \t\"SGD\" -> \"GO\" [label=\"biolink:part_of (23564)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:produces (15)\"]; \t\"CHEBI\" -> \"GO\" [label=\"biolink:has_phenotype (10)\"]; \t\"HGNC\" -> \"HGNC\" [label=\"biolink:has_gene_product (2)\"]; \t\"OBO\" -> \"NCIT\" [label=\"biolink:subclass_of (18537)\"]; \t\"CHEBI\" -> \"SO\" [label=\"biolink:subclass_of (26)\"]; \t\"NCBIGene\" -> \"OMIMPS\" [label=\"biolink:related_to (6)\"]; \t\"HGNC\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (82378)\"]; \t\"CHEBI\" -> \"BFO\" [label=\"biolink:subclass_of (7)\"]; \t\"GENO\" -> \"BFO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_output (1)\"]; \t\"WormBase\" -> \"PomBase\" [label=\"biolink:related_to (2261)\"]; \t\"OMIA\" -> \"GO\" [label=\"biolink:has_phenotype (11)\"]; \t\"MGI\" -> \"VGNC\" [label=\"biolink:related_to (8)\"]; \t\"VGNC\" -> \"FlyBase\" [label=\"biolink:related_to (7)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:subclass_of (192269)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (22754)\"]; \t\"NCBIGene\" -> \"WormBase\" [label=\"biolink:orthologous_to (986)\"]; \t\"BSPO\" -> \"OBO\" [label=\"biolink:related_to (1)\"]; \t\"WormBase\" -> \"GO\" [label=\"biolink:actively_involved_in (34343)\"]; \t\"MGI\" -> \"Xenbase\" [label=\"biolink:related_to (10621)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:has_output (14)\"]; \t\"PR\" -> \"FlyBase\" [label=\"biolink:related_to (7)\"]; \t\"CLO\" -> \"CLO\" [label=\"biolink:subclass_of (38837)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:has_part (2)\"]; \t\"NCBITaxon\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"ENSEMBL\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (573072)\"]; \t\"ENVO\" -> \"UBERON\" [label=\"biolink:related_to (1)\"]; \t\"CL\" -> \"OBO\" [label=\"biolink:has_part (29)\"]; \t\"ECO\" -> \"OBO\" [label=\"biolink:related_to (2)\"]; \t\"BIOGRID\" -> \"HGNC\" [label=\"biolink:same_as (26)\"]; \t\"UMLS\" -> \"Orphanet\" [label=\"biolink:subclass_of (15436)\"]; \t\"FBcv\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:part_of (153)\"]; \t\"Coriell\" -> \"CLO\" [label=\"biolink:derives_from (119)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:has_part (54)\"]; \t\"MP\" -> \"ZP\" [label=\"biolink:subclass_of (553)\"]; \t\"MONARCH_BNODE\" -> \"NCIT\" [label=\"biolink:has_part (164)\"]; \t\"SGD\" -> \"MONARCH_NODE\" [label=\"biolink:has_phenotype (60168)\"]; \t\"SO\" -> \"GENO\" [label=\"biolink:has_part (1)\"]; \t\"MONARCH_BNODE\" -> \"https\" [label=\"biolink:related_to (75558)\"]; \t\"OBI\" -> \"CL\" [label=\"biolink:derives_from (1)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:part_of (9112)\"]; \t\"MESH\" -> \"OMIM\" [label=\"biolink:biomarker_for (11)\"]; \t\"WormBase\" -> \"UBERON\" [label=\"biolink:expressed_in (25331)\"]; \t\"MONARCH\" -> \"dbSNP\" [label=\"biolink:related_to (13167)\"]; \t\"HGNC\" -> \"EcoGene\" [label=\"biolink:related_to (287)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:capable_of (361)\"]; \t\"ENVO\" -> \"BFO\" [label=\"biolink:related_to (1)\"]; \t\"RGD\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (606)\"]; \t\"FBcv\" -> \"UPHENO\" [label=\"biolink:subclass_of (1)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:related_to (17)\"]; \t\"ZFIN\" -> \"ZFIN\" [label=\"biolink:genetically_interacts_with (17)\"]; \t\"FlyBase\" -> \"MGI\" [label=\"biolink:interacts_with (3)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:related_to (1243)\"]; \t\"PR\" -> \"OBO\" [label=\"biolink:has_part (7)\"]; \t\"MONARCH_BNODE\" -> \"OMIM\" [label=\"biolink:contributes_to (51)\"]; \t\"HP\" -> \"http\" [label=\"biolink:related_to (400)\"]; \t\"RGD\" -> \"ZFIN\" [label=\"biolink:orthologous_to (18674)\"]; \t\"PANTHER\" -> \"EcoGene\" [label=\"biolink:related_to (631)\"]; \t\"UBERON\" -> \"OBO\" [label=\"biolink:subclass_of (460)\"]; \t\"OBO\" -> \"OGMS\" [label=\"biolink:related_to (1)\"]; \t\"MONARCH_BNODE\" -> \"PMID\" [label=\"biolink:related_to (302498)\"]; \t\"Xenbase\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (249)\"]; \t\"OBAN\" -> \"IAO\" [label=\"biolink:subclass_of (1)\"]; \t\"ZFIN\" -> \"EcoGene\" [label=\"biolink:orthologous_to (1069)\"]; \t\"Xenbase\" -> \"PomBase\" [label=\"biolink:related_to (2173)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:capable_of (124)\"]; \t\"UMLS\" -> \"OBO\" [label=\"biolink:subclass_of (31149)\"]; \t\"FlyBase\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (2587)\"]; \t\"NCBIGene\" -> \"FlyBase\" [label=\"biolink:orthologous_to (1101)\"]; \t\"Orphanet\" -> \"HP\" [label=\"biolink:related_to (69)\"]; \t\"MONARCH_BNODE\" -> \"dbSNPIndividual\" [label=\"biolink:related_to (2961)\"]; \t\"SEPIO\" -> \"RO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:related_to (66)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:has_part (3795)\"]; \t\"JAX\" -> \"JAX\" [label=\"biolink:related_to (4)\"]; \t\"OBI\" -> \"STATO\" [label=\"biolink:subclass_of (3)\"]; \t\"ENSEMBL\" -> \"EcoGene\" [label=\"biolink:related_to (264)\"]; \t\"PR\" -> \"owl\" [label=\"biolink:subclass_of (59)\"]; \t\"MP\" -> \"HP\" [label=\"biolink:subclass_of (8108)\"]; \t\"OBO\" -> \"ENVO\" [label=\"biolink:subclass_of (4)\"]; \t\"FAO\" -> \"OBO\" [label=\"biolink:subclass_of (4)\"]; \t\"MonarchData\" -> \"https\" [label=\"owl:versionIRI (1)\"]; \t\"WormBase\" -> \"GO\" [label=\"biolink:enables (28231)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:related_to (5698)\"]; \t\"WormBase\" -> \"NCBIGene\" [label=\"biolink:interacts_with (283)\"]; \t\"MGI\" -> \"EcoGene\" [label=\"biolink:orthologous_to (986)\"]; \t\"ENVO\" -> \"NCBITaxon\" [label=\"biolink:related_to (7)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:precedes (1)\"]; \t\"OMIA\" -> \"MONDO\" [label=\"biolink:subclass_of (1758)\"]; \t\"ECO\" -> \"IAO\" [label=\"biolink:subclass_of (1)\"]; \t\"FBcv\" -> \"ZP\" [label=\"biolink:subclass_of (70)\"]; \t\"Orphanet\" -> \"HP\" [label=\"biolink:has_phenotype (95937)\"]; \t\"ECO\" -> \"OBI\" [label=\"biolink:related_to (124)\"]; \t\"DOID\" -> \"UMLS\" [label=\"biolink:subclass_of (13059)\"]; \t\"MGI\" -> \"GO\" [label=\"biolink:enables (82475)\"]; \t\"HGNC\" -> \"OMIM\" [label=\"biolink:contributes_to (843)\"]; \t\"GO\" -> \"FAO\" [label=\"biolink:related_to (17)\"]; \t\"MONARCH_BNODE\" -> \"https\" [label=\"biolink:part_of (29389)\"]; \t\"http\" -> \"DOID\" [label=\"biolink:subclass_of (18439)\"]; \t\"rdf\" -> \"owl\" [label=\"biolink:subclass_of (2)\"]; \t\"MONARCH\" -> \"OMIA\" [label=\"biolink:has_phenotype (897)\"]; \t\"dbSNP\" -> \"MONDO\" [label=\"biolink:related_to (111)\"]; \t\"VGNC\" -> \"SGD\" [label=\"biolink:orthologous_to (2)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:participates_in (18)\"]; \t\"CLO\" -> \"CLO\" [label=\"biolink:derives_from (1)\"]; \t\"http\" -> \"OGMS\" [label=\"biolink:subclass_of (25)\"]; \t\"MONARCH_BNODE\" -> \"NCBITaxon\" [label=\"owl:someValuesFrom (233)\"]; \t\"Orphanet\" -> \"UMLS\" [label=\"biolink:subclass_of (13030)\"]; \t\"MGI\" -> \"UBERON\" [label=\"biolink:expressed_in (356928)\"]; \t\"OBI\" -> \"SO\" [label=\"biolink:subclass_of (2)\"]; \t\"OBI\" -> \"MONDO\" [label=\"biolink:subclass_of (2)\"]; \t\"DOID\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"WormBase\" -> \"GO\" [label=\"biolink:has_phenotype (3795)\"]; \t\"OBI\" -> \"BFO\" [label=\"biolink:subclass_of (50)\"]; \t\"ZFIN\" -> \"DOID\" [label=\"biolink:model_of (1195)\"]; \t\"chickenQTL\" -> \"chickenQTL\" [label=\"biolink:biomarker_for (2131)\"]; \t\"MONARCH_BNODE\" -> \"MONDO\" [label=\"biolink:related_to (23)\"]; \t\"OBI\" -> \"CHEBI\" [label=\"biolink:subclass_of (15)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:capable_of (14)\"]; \t\"FlyBase\" -> \"HGNC\" [label=\"biolink:interacts_with (42)\"]; \t\"foaf\" -> \"dcterms\" [label=\"biolink:subclass_of (4)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"biolink:related_to (683)\"]; \t\"HGNC\" -> \"GO\" [label=\"biolink:actively_involved_in (39884)\"]; \t\"ClinVarVariant\" -> \"Orphanet\" [label=\"biolink:related_to (2193)\"]; \t\"NCIT\" -> \"Orphanet\" [label=\"biolink:subclass_of (4801)\"]; \t\"IAO\" -> \"OIO\" [label=\"biolink:type (1)\"]; \t\"ClinVarVariant\" -> \"UMLS\" [label=\"biolink:gene_associated_with_condition (55137)\"]; \t\"UBERON\" -> \"PR\" [label=\"biolink:produces (5)\"]; \t\"Coriell\" -> \"HGNC\" [label=\"biolink:model_of (741)\"]; \t\"IAO\" -> \"owl\" [label=\"biolink:type (2)\"]; \t\"dbSNP\" -> \"https\" [label=\"biolink:biomarker_for (94336)\"]; \t\"OBI\" -> \"OBO\" [label=\"biolink:related_to (6)\"]; \t\"DOID\" -> \"MONDO\" [label=\"biolink:subclass_of (26067)\"]; \t\"UMLS\" -> \"OBI\" [label=\"biolink:subclass_of (18)\"]; \t\"DOID\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"foaf\" -> \"foaf\" [label=\"biolink:inverseOf (4)\"]; \t\"HP\" -> \"OBO\" [label=\"biolink:subclass_of (185)\"]; \t\"WBPhenotype\" -> \"MP\" [label=\"biolink:subclass_of (192)\"]; \t\"dictyBase\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (332)\"]; \t\"FBcv\" -> \"HP\" [label=\"biolink:subclass_of (25)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"biolink:same_as (1881)\"]; \t\"NCBIGene\" -> \"MGI\" [label=\"biolink:related_to (14473)\"]; \t\"chickenQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (16494)\"]; \t\"MONARCH\" -> \"OMIM\" [label=\"biolink:related_to (1)\"]; \t\"Orphanet\" -> \"MONDO\" [label=\"biolink:subclass_of (28520)\"]; \t\"NCBIGene\" -> \"chickenQTL\" [label=\"biolink:biomarker_for (1)\"]; \t\"FlyBase\" -> \"dictyBase\" [label=\"biolink:orthologous_to (5816)\"]; \t\"Orphanet\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:has_output (1)\"]; \t\"http\" -> \"http\" [label=\"biolink:subclass_of (28707)\"]; \t\"OBO\" -> \"OIO\" [label=\"biolink:subclass_of (11)\"]; \t\"FlyBase\" -> \"SGD\" [label=\"biolink:orthologous_to (2518)\"]; \t\"OBI\" -> \"IAO\" [label=\"biolink:subclass_of (23)\"]; \t\"ZFIN\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (63616)\"]; \t\"OBO\" -> \"owl\" [label=\"biolink:subclass_of (1378)\"]; \t\"CLO\" -> \"GENO\" [label=\"biolink:subclass_of (1)\"]; \t\"https\" -> \"OIO\" [label=\"biolink:subclass_of (7)\"]; \t\"https\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (121393)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:related_to (6521)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:affects_localization_of (6)\"]; \t\"PW\" -> \"PW\" [label=\"biolink:subclass_of (3117)\"]; \t\"PomBase\" -> \"GO\" [label=\"biolink:part_of (16735)\"]; \t\"UMLS\" -> \"NCIT\" [label=\"biolink:subclass_of (14968)\"]; \t\"ZFIN\" -> \"NCBIGene\" [label=\"biolink:interacts_with (575)\"]; \t\"ZFIN\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (18712)\"]; \t\"pigQTL\" -> \"NCBIGene\" [label=\"biolink:related_to (662)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:has_input (69)\"]; \t\"SIO\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"MGI\" -> \"GO\" [label=\"biolink:has_phenotype (23069)\"]; \t\"GENO\" -> \"IAO\" [label=\"biolink:inverseOf (1)\"]; \t\"NCIT\" -> \"OBO\" [label=\"biolink:subclass_of (15152)\"]; \t\"HGNC\" -> \"ENSEMBL\" [label=\"biolink:related_to (160551)\"]; \t\"ClinVarVariant\" -> \"MONDO\" [label=\"biolink:gene_associated_with_condition (19155)\"]; \t\"BIOGRID\" -> \"Orphanet\" [label=\"biolink:biomarker_for (1)\"]; \t\"SGD\" -> \"APO\" [label=\"biolink:has_phenotype (8507)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"Coriell\" -> \"MONARCH_BNODE\" [label=\"biolink:derives_from (30624)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_input (123)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:has_participant (10)\"]; \t\"MGI\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (494740)\"]; \t\"KEGG-path\" -> \"PW\" [label=\"biolink:subclass_of (537)\"]; \t\"RO\" -> \"OBO\" [label=\"biolink:subPropertyOf (1)\"]; \t\"OMIA\" -> \"OBO\" [label=\"biolink:has_phenotype (35)\"]; \t\"RGD\" -> \"dictyBase\" [label=\"biolink:related_to (3223)\"]; \t\"MONDO\" -> \"CL\" [label=\"biolink:related_to (126)\"]; \t\"HGNC\" -> \"http\" [label=\"biolink:orthologous_to (966)\"]; \t\"ENVO\" -> \"RO\" [label=\"biolink:subclass_of (1)\"]; \t\"WormBase\" -> \"EcoGene\" [label=\"biolink:orthologous_to (847)\"]; \t\"RGD\" -> \"SGD\" [label=\"biolink:related_to (2352)\"]; \t\"PANTHER\" -> \"ENSEMBL\" [label=\"biolink:related_to (195305)\"]; \t\"ZFIN\" -> \"MONARCH_BNODE\" [label=\"biolink:has_part (5909)\"]; \t\"WormBase\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (973977)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (26)\"]; \t\"UBERON\" -> \"CHEBI\" [label=\"biolink:related_to (12)\"]; \t\"MONDO\" -> \"GO\" [label=\"biolink:related_to (467)\"]; \t\"SEPIO\" -> \"BFO\" [label=\"biolink:subclass_of (7)\"]; \t\"GO\" -> \"BFO\" [label=\"biolink:subclass_of (3)\"]; \t\"foaf\" -> \"owl\" [label=\"biolink:subclass_of (6)\"]; \t\"SEPIO\" -> \"CHEBI\" [label=\"biolink:subclass_of (3)\"]; \t\"SO\" -> \"owl\" [label=\"biolink:subclass_of (242)\"]; \t\"GO\" -> \"PO\" [label=\"biolink:part_of (9)\"]; \t\"RGD\" -> \"WormBase\" [label=\"biolink:related_to (4685)\"]; \t\"ENSEMBL\" -> \"SO\" [label=\"biolink:subclass_of (5384)\"]; \t\"ZFIN\" -> \"GO\" [label=\"biolink:enables (53364)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:related_to (227)\"]; \t\"SIO\" -> \"IAO\" [label=\"biolink:subclass_of (1)\"]; \t\"http\" -> \"MP\" [label=\"biolink:subclass_of (13)\"]; \t\"ENSEMBL\" -> \"ENSEMBL\" [label=\"biolink:related_to (530874)\"]; \t\"NCBIGene\" -> \"ZFIN\" [label=\"biolink:related_to (8456)\"]; \t\"NCBIGene\" -> \"GO\" [label=\"biolink:actively_involved_in (129041)\"]; \t\"IAO\" -> \"OBO\" [label=\"biolink:related_to (3)\"]; \t\"CoriellCollection\" -> \"CoriellCollection\" [label=\"biolink:related_to (4)\"]; \t\"ENSEMBL\" -> \"http\" [label=\"biolink:orthologous_to (890)\"]; \t\"NCBITaxon\" -> \"owl\" [label=\"biolink:subclass_of (148)\"]; \t\"MONARCH_BNODE\" -> \"AQTLTrait\" [label=\"biolink:has_phenotype (1815)\"]; \t\"BFO\" -> \"OIO\" [label=\"biolink:subclass_of (1)\"]; \t\"BFO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:has_part (3)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"biolink:related_to (7414)\"]; \t\"MGI\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (133358)\"]; \t\"MMRRC\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (50892)\"]; \t\"RO\" -> \"RO\" [label=\"biolink:subclass_of (2)\"]; \t\"sheepQTL\" -> \"sheepQTL\" [label=\"biolink:biomarker_for (3411)\"]; \t\"HP\" -> \"FBcv\" [label=\"biolink:subclass_of (82)\"]; \t\"MONDO\" -> \"Orphanet\" [label=\"biolink:subclass_of (28521)\"]; \t\"ClinVarVariant\" -> \"NCBIGene\" [label=\"biolink:related_to (79)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"biolink:contributes_to (11)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:subclass_of (287)\"]; \t\"http\" -> \"wgs\" [label=\"biolink:subclass_of (2)\"]; \t\"dbSNP\" -> \"ENSEMBL\" [label=\"biolink:related_to (51185)\"]; \t\"UBERON\" -> \"NCBITaxon\" [label=\"biolink:related_to (749)\"]; \t\"CL\" -> \"OBI\" [label=\"biolink:related_to (1)\"]; \t\"ClinVarVariant\" -> \"OMIMPS\" [label=\"biolink:related_to (19963)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:has_participant (28)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:has_part (28)\"]; \t\"SEPIO\" -> \"IAO\" [label=\"biolink:subclass_of (10)\"]; \t\"HP\" -> \"NCIT\" [label=\"biolink:subclass_of (6)\"]; \t\"PO\" -> \"OBO\" [label=\"biolink:subclass_of (2)\"]; \t\"NCBIGene\" -> \"RGD\" [label=\"biolink:related_to (8918)\"]; \t\"NCIT\" -> \"OBI\" [label=\"biolink:subclass_of (6)\"]; \t\"Coriell\" -> \"CL\" [label=\"biolink:derives_from (30505)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_participant (65)\"]; \t\"MP\" -> \"UMLS\" [label=\"biolink:subclass_of (3)\"]; \t\"UBERON\" -> \"OBO\" [label=\"biolink:capable_of (2)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"biolink:subclass_of (2)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:located_in (13)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"biolink:subclass_of (1)\"]; \t\"FlyBase\" -> \"GO\" [label=\"biolink:actively_involved_in (42834)\"]; \t\"WormBase\" -> \"MGI\" [label=\"biolink:interacts_with (2)\"]; \t\"CoriellCollection\" -> \"Coriell\" [label=\"biolink:related_to (30624)\"]; \t\"NCBIGene\" -> \"FlyBase\" [label=\"biolink:genetically_interacts_with (16)\"]; \t\"ZFIN\" -> \"GO\" [label=\"biolink:part_of (46379)\"]; \t\"http\" -> \"prov\" [label=\"biolink:subclass_of (2)\"]; \t\"ZFIN\" -> \"dictyBase\" [label=\"biolink:related_to (3209)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:subclass_of (4930)\"]; \t\"MP\" -> \"UBERON\" [label=\"biolink:subclass_of (2017)\"]; \t\"MONDO\" -> \"OBO\" [label=\"biolink:subclass_of (60187)\"]; \t\"ZFIN\" -> \"SGD\" [label=\"biolink:related_to (2379)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biolink:subclass_of (9372)\"]; \t\"RGD\" -> \"FlyBase\" [label=\"biolink:related_to (5488)\"]; \t\"prov\" -> \"SEPIO\" [label=\"biolink:related_to (1)\"]; \t\"OMIM\" -> \"OBO\" [label=\"biolink:related_to (48)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:subclass_of (44)\"]; \t\"OBO\" -> \"PO\" [label=\"biolink:has_part (1)\"]; \t\"OBO\" -> \"HP\" [label=\"biolink:subclass_of (38)\"]; \t\"MONARCH\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (5)\"]; \t\"HGNC\" -> \"PomBase\" [label=\"biolink:orthologous_to (3419)\"]; \t\"NCBIGene\" -> \"BIOGRID\" [label=\"biolink:related_to (1093)\"]; \t\"IAO\" -> \"OBI\" [label=\"biolink:related_to (7)\"]; \t\"MGI\" -> \"dictyBase\" [label=\"biolink:related_to (3358)\"]; \t\"REACT\" -> \"GO\" [label=\"biolink:subclass_of (15909)\"]; \t\"ZFIN\" -> \"WormBase\" [label=\"biolink:related_to (4682)\"]; \t\"Xenbase\" -> \"ZFIN\" [label=\"biolink:orthologous_to (6756)\"]; \t\"MP\" -> \"MONDO\" [label=\"biolink:subclass_of (3)\"]; \t\"MGI\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (297818)\"]; \t\"MGI\" -> \"JAX\" [label=\"biolink:same_as (12)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:affects (6013)\"]; \t\"MGI\" -> \"SGD\" [label=\"biolink:related_to (2452)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_part (12)\"]; \t\"ENSEMBL\" -> \"CL\" [label=\"biolink:expressed_in (2195)\"]; \t\"horseQTL\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (1562)\"]; \t\"foaf\" -> \"SEPIO\" [label=\"biolink:related_to (2)\"]; \t\"ENVO\" -> \"PO\" [label=\"biolink:derives_from (1)\"]; \t\"PomBase\" -> \"GO\" [label=\"biolink:actively_involved_in (13919)\"]; \t\"faldo\" -> \"GENO\" [label=\"biolink:subclass_of (1)\"]; \t\"PR\" -> \"MGI\" [label=\"biolink:related_to (198)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:overlaps (75)\"]; \t\"ENSEMBL\" -> \"PomBase\" [label=\"biolink:orthologous_to (18699)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:part_of (9960)\"]; \t\"MGI\" -> \"WormBase\" [label=\"biolink:related_to (4875)\"]; \t\"rainbow_troutQTL\" -> \"HGNC\" [label=\"biolink:related_to (2)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:capable_of (511)\"]; \t\"MGI\" -> \"JAX\" [label=\"biolink:related_to (22008)\"]; \t\"STATO\" -> \"STATO\" [label=\"biolink:subclass_of (21)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:inverseOf (9)\"]; \t\"ENVO\" -> \"WD_Entity\" [label=\"biolink:related_to (1)\"]; \t\"dbSNPIndividual\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (3045)\"]; \t\"FlyBase\" -> \"EcoGene\" [label=\"biolink:related_to (251)\"]; \t\"CLO\" -> \"CL\" [label=\"biolink:derives_from (1)\"]; \t\"ZP\" -> \"MP\" [label=\"biolink:subclass_of (6191)\"]; \t\"UBERON\" -> \"owl\" [label=\"biolink:subclass_of (1507)\"]; \t\"WormBase\" -> \"HGNC\" [label=\"biolink:interacts_with (8)\"]; \t\"RGD\" -> \"GO\" [label=\"biolink:has_phenotype (2)\"]; \t\"ZFIN\" -> \"MGI\" [label=\"biolink:interacts_with (1)\"]; \t\"OMIM\" -> \"NCBIGene\" [label=\"biolink:related_to (24)\"]; \t\"UMLS\" -> \"owl\" [label=\"biolink:subclass_of (15)\"]; \t\"NCBIGene\" -> \"CL\" [label=\"biolink:expressed_in (256)\"]; \t\"RGD\" -> \"OBO\" [label=\"biolink:related_to (43897)\"]; \t\"MONDO\" -> \"OBI\" [label=\"biolink:subclass_of (32)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:subclass_of (183)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:coexists_with (33)\"]; \t\"CHEBI\" -> \"PR\" [label=\"biolink:subclass_of (6)\"]; \t\"PW\" -> \"owl\" [label=\"biolink:subclass_of (106)\"]; \t\"UCSC\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (329)\"]; \t\"VGNC\" -> \"ZFIN\" [label=\"biolink:related_to (7)\"]; \t\"FAO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"FBcv\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"ZFIN\" -> \"FlyBase\" [label=\"biolink:related_to (5497)\"]; \t\"AQTLTrait\" -> \"OBO\" [label=\"biolink:subclass_of (228)\"]; \t\"IAO\" -> \"OIO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"OMIA\" -> \"DOID\" [label=\"biolink:subclass_of (8)\"]; \t\"NCBIGene\" -> \"MGI\" [label=\"biolink:orthologous_to (102)\"]; \t\"OBO\" -> \"OMIM\" [label=\"biolink:related_to (48)\"]; \t\"MONARCH\" -> \"GO\" [label=\"biolink:related_to (5)\"]; \t\"ZFIN\" -> \"UBERON\" [label=\"biolink:expressed_in (167509)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:has_input (64)\"]; \t\"OBAN\" -> \"OBAN\" [label=\"biolink:inverseOf (2)\"]; \t\"PR\" -> \"ZFIN\" [label=\"biolink:related_to (15)\"]; \t\"HGNC\" -> \"http\" [label=\"biolink:related_to (156)\"]; \t\"RGD\" -> \"EcoGene\" [label=\"biolink:orthologous_to (965)\"]; \t\"MONDO\" -> \"PO\" [label=\"biolink:related_to (1)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"biolink:subclass_of (25596)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:occurs_in (3)\"]; \t\"FlyBase\" -> \"NCBITaxon\" [label=\"biolink:related_to (7)\"]; \t\"MONARCH_NODE\" -> \"ZFIN\" [label=\"biolink:related_to (9372)\"]; \t\"MGI\" -> \"FlyBase\" [label=\"biolink:related_to (5747)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:has_part (371)\"]; \t\"*non-standard CURIE*\" -> \"OBO\" [label=\"owl:someValuesFrom (2914)\"]; \t\"MONDO\" -> \"OBO\" [label=\"biolink:related_to (351)\"]; \t\"OBI\" -> \"DOID\" [label=\"biolink:subclass_of (1)\"]; \t\"PANTHER\" -> \"http\" [label=\"biolink:related_to (435)\"]; \t\"UBERON\" -> \"NCBITaxon\" [label=\"biolink:part_of (4)\"]; \t\"http\" -> \"CLO\" [label=\"biolink:subclass_of (10)\"]; \t\"OGMS\" -> \"MONDO\" [label=\"biolink:subclass_of (1)\"]; \t\"OBO\" -> \"UBERON\" [label=\"biolink:derives_from (3)\"]; \t\"OGMS\" -> \"BFO\" [label=\"biolink:subclass_of (3)\"]; \t\"*non-standard CURIE*\" -> \"GENO\" [label=\"owl:onProperty (1)\"]; \t\"ZFIN\" -> \"http\" [label=\"biolink:orthologous_to (1192)\"]; \t\"WormBase\" -> \"dictyBase\" [label=\"biolink:related_to (2831)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:related_to (61)\"]; \t\"ZFIN\" -> \"ZFIN\" [label=\"biolink:interacts_with (31398)\"]; \t\"WormBase\" -> \"SGD\" [label=\"biolink:related_to (2181)\"]; \t\"HGNC\" -> \"Xenbase\" [label=\"biolink:orthologous_to (3806)\"]; \t\"*non-standard CURIE*\" -> \"RO\" [label=\"owl:onProperty (2932)\"]; \t\"FlyBase\" -> \"HGNC\" [label=\"biolink:same_as (2)\"]; \t\"ClinVarVariant\" -> \"NCBIGene\" [label=\"biolink:has_part (2)\"]; \t\"RGD\" -> \"NCBIGene\" [label=\"biolink:related_to (399)\"]; \t\"STATO\" -> \"IAO\" [label=\"biolink:subclass_of (2)\"]; \t\"ENSEMBL\" -> \"http\" [label=\"biolink:related_to (149)\"]; \t\"ZFIN\" -> \"HGNC\" [label=\"biolink:interacts_with (2)\"]; \t\"DOID\" -> \"DOID\" [label=\"biolink:subclass_of (10473)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:occurs_in (88)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:part_of (129)\"]; \t\"PR\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"UBERON\" -> \"CHEBI\" [label=\"biolink:has_part (20)\"]; \t\"PMID\" -> \"dbSNP\" [label=\"biolink:related_to (36936)\"]; \t\"ENSEMBL\" -> \"VGNC\" [label=\"biolink:orthologous_to (4)\"]; \t\"HP\" -> \"owl\" [label=\"biolink:subclass_of (275)\"]; \t\"DOID\" -> \"OGMS\" [label=\"biolink:subclass_of (8)\"]; \t\"ClinVarVariant\" -> \"ORPHA\" [label=\"biolink:gene_associated_with_condition (4)\"]; \t\"NCBIGene\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (2466)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:located_in (1)\"]; \t\"WBPhenotype\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (3270)\"]; \t\"WD_Entity\" -> \"WD_Entity\" [label=\"biolink:part_of (1)\"]; \t\"WormBase\" -> \"WormBase\" [label=\"biolink:related_to (67569)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:subclass_of (341)\"]; \t\"MGI\" -> \"http\" [label=\"biolink:orthologous_to (994)\"]; \t\"GO\" -> \"PO\" [label=\"biolink:has_participant (4)\"]; \t\"Orphanet\" -> \"DOID\" [label=\"biolink:subclass_of (6294)\"]; \t\"HGNC\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (74428)\"]; \t\"ENSEMBL\" -> \"Xenbase\" [label=\"biolink:orthologous_to (41611)\"]; \t\"NCBIGene\" -> \"ZFIN\" [label=\"biolink:orthologous_to (417)\"]; \t\"ENSEMBL\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (3618)\"]; \t\"ZFIN\" -> \"OBO\" [label=\"biolink:related_to (13888)\"]; \t\"Orphanet\" -> \"OGMS\" [label=\"biolink:subclass_of (5)\"]; \t\"JAX\" -> \"MGI\" [label=\"biolink:related_to (97)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:related_to (64)\"]; \t\"OMIA\" -> \"MESH\" [label=\"biolink:subclass_of (47)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"biolink:orthologous_to (5)\"]; \t\"PomBase\" -> \"GO\" [label=\"biolink:has_phenotype (3)\"]; \t\"pigQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (31509)\"]; \t\"HP\" -> \"UPHENO\" [label=\"biolink:subclass_of (2)\"]; \t\"OBO\" -> \"BFO\" [label=\"biolink:subPropertyOf (3)\"]; \t\"OBI\" -> \"http\" [label=\"biolink:subclass_of (1)\"]; \t\"SO\" -> \"GENO\" [label=\"biolink:part_of (1)\"]; \t\"MONARCH_BNODE\" -> \"http\" [label=\"biolink:related_to (11747)\"]; \t\"SO\" -> \"GENO\" [label=\"biolink:related_to (4)\"]; \t\"NCIT\" -> \"owl\" [label=\"biolink:subclass_of (23)\"]; \t\"MGI\" -> \"EMMA\" [label=\"biolink:related_to (1186)\"]; \t\"MGI\" -> \"OBO\" [label=\"biolink:related_to (37098)\"]; \t\"MONARCH_BNODE\" -> \"MP\" [label=\"biolink:has_phenotype (5801)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_part (845)\"]; \t\"ENVO\" -> \"OBO\" [label=\"biolink:subclass_of (16)\"]; \t\"OBO\" -> \"UMLS\" [label=\"biolink:subclass_of (28724)\"]; \t\"KEGG-path\" -> \"http\" [label=\"biolink:related_to (537)\"]; \t\"MONARCH_BNODE\" -> \"https\" [label=\"biolink:has_part (26470)\"]; \t\"MGI\" -> \"FlyBase\" [label=\"biolink:interacts_with (5)\"]; \t\"RO\" -> \"OIO\" [label=\"biolink:subPropertyOf (1)\"]; \t\"OBAN\" -> \"IAO\" [label=\"biolink:subPropertyOf (3)\"]; \t\"OBO\" -> \"STATO\" [label=\"biolink:subclass_of (2)\"]; \t\"UCSC\" -> \"SO\" [label=\"biolink:subclass_of (10)\"]; \t\"RO\" -> \"owl\" [label=\"biolink:subPropertyOf (6)\"]; \t\"UMLS\" -> \"HP\" [label=\"biolink:subclass_of (19)\"]; \t\"BIOGRID\" -> \"ENSEMBL\" [label=\"biolink:same_as (21)\"]; \t\"NCBIGene\" -> \"RGD\" [label=\"biolink:orthologous_to (53)\"]; \t\"CL\" -> \"OBO\" [label=\"biolink:has_attribute (70)\"]; \t\"MONARCH_BNODE\" -> \"KEGG-path\" [label=\"biolink:actively_involved_in (81602)\"]; \t\"NCBIGene\" -> \"https\" [label=\"biolink:biomarker_for (15739)\"]; \t\"Xenbase\" -> \"SGD\" [label=\"biolink:related_to (2088)\"]; \t\"DOID\" -> \"http\" [label=\"biolink:subclass_of (12794)\"]; \t\"HGNC\" -> \"PomBase\" [label=\"biolink:related_to (2546)\"]; \t\"CL\" -> \"OBO\" [label=\"biolink:subclass_of (49)\"]; \t\"OMIM\" -> \"OMIMPS\" [label=\"biolink:subclass_of (3809)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:related_to (80286)\"]; \t\"OBO\" -> \"UBERON\" [label=\"biolink:subclass_of (13717)\"]; \t\"ClinVarVariant\" -> \"HGNC\" [label=\"biolink:related_to (23093)\"]; \t\"ECO\" -> \"ECO\" [label=\"biolink:related_to (1104)\"]; \t\"OMIA\" -> \"MP\" [label=\"biolink:subclass_of (32)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:overlaps (1473)\"]; \t\"Orphanet\" -> \"http\" [label=\"biolink:subclass_of (8031)\"]; \t\"RO\" -> \"UPHENO\" [label=\"biolink:subPropertyOf (3)\"]; \t\"OIO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"PANTHER\" -> \"PomBase\" [label=\"biolink:related_to (3209)\"]; \t\"HP\" -> \"ZP\" [label=\"biolink:subclass_of (376)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:related_to (43)\"]; \t\"WormBase\" -> \"FlyBase\" [label=\"biolink:related_to (4666)\"]; \t\"Xenbase\" -> \"WormBase\" [label=\"biolink:related_to (4052)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:part_of (2)\"]; \t\"PMID\" -> \"Xenbase\" [label=\"biolink:related_to (18617)\"]; \t\"ZFIN\" -> \"NCBIGene\" [label=\"biolink:related_to (6)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"biolink:related_to (39)\"]; \t\"OGMS\" -> \"OGMS\" [label=\"biolink:related_to (1)\"]; \t\"ZFIN\" -> \"PomBase\" [label=\"biolink:orthologous_to (3853)\"]; \t\"OBO\" -> \"SO\" [label=\"biolink:subclass_of (2395)\"]; \t\"OBO\" -> \"MONDO\" [label=\"biolink:subclass_of (60760)\"]; \t\"OBO\" -> \"BFO\" [label=\"biolink:subclass_of (50)\"]; \t\"ENSEMBL\" -> \"OBO\" [label=\"biolink:expressed_in (6202)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:inverseOf (4)\"]; \t\"OBO\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (233)\"]; \t\"https\" -> \"SO\" [label=\"biolink:subclass_of (3867)\"]; \t\"BSPO\" -> \"BFO\" [label=\"biolink:subPropertyOf (12)\"]; \t\"MONARCH_BNODE\" -> \"STATO\" [label=\"biolink:has_part (26306)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:derives_from (1)\"]; \t\"OBO\" -> \"CHEBI\" [label=\"biolink:subclass_of (5)\"]; \t\"FlyBase\" -> \"SO\" [label=\"biolink:subclass_of (39259)\"]; \t\"RGD\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (86014)\"]; \t\"ENSEMBL\" -> \"PomBase\" [label=\"biolink:related_to (11443)\"]; \t\"CLO\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"MGI\" -> \"NCBIGene\" [label=\"biolink:related_to (533)\"]; \t\"MONARCH\" -> \"Orphanet\" [label=\"biolink:related_to (5)\"]; \t\"SGD\" -> \"GO\" [label=\"biolink:actively_involved_in (26956)\"]; \t\"MONARCH_BNODE\" -> \"http\" [label=\"biolink:part_of (23551)\"]; \t\"pav\" -> \"dcterms\" [label=\"biolink:subPropertyOf (4)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:type (17)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:affects (8924)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:derives_from (9)\"]; \t\"MGI\" -> \"PomBase\" [label=\"biolink:orthologous_to (3470)\"]; \t\"WormBase\" -> \"http\" [label=\"biolink:orthologous_to (635)\"]; \t\"PO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"DOID\" -> \"MP\" [label=\"biolink:subclass_of (10)\"]; \t\"MONARCH_NODE\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (25825)\"]; \t\"ClinVarVariant\" -> \"ClinVarVariant\" [label=\"biolink:related_to (1060)\"]; \t\"ENVO\" -> \"OBI\" [label=\"biolink:subclass_of (2)\"]; \t\"PMID\" -> \"OMIM\" [label=\"biolink:related_to (4935)\"]; \t\"NCBIGene\" -> \"EcoGene\" [label=\"biolink:related_to (1)\"]; \t\"MGI\" -> \"REACT\" [label=\"biolink:actively_involved_in (12605)\"]; \t\"Orphanet\" -> \"MP\" [label=\"biolink:subclass_of (4)\"]; \t\"rainbow_troutQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (584)\"]; \t\"HP\" -> \"HP\" [label=\"biolink:subclass_of (20506)\"]; \t\"OBO\" -> \"IAO\" [label=\"biolink:subclass_of (8)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:subclass_of (2438)\"]; \t\"WormBase\" -> \"DOID\" [label=\"biolink:model_of (10575)\"]; \t\"foaf\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"KEGG-hsa\" -> \"NCBIGene\" [label=\"biolink:same_as (1)\"]; \t\"NCBIGene\" -> \"OBO\" [label=\"biolink:expressed_in (124)\"]; \t\"ENSEMBL\" -> \"REACT\" [label=\"biolink:actively_involved_in (834505)\"]; \t\"CL\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"SO\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"ECO\" -> \"ECO\" [label=\"biolink:inverseOf (1)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"biolink:subclass_of (3)\"]; \t\"WBPhenotype\" -> \"CL\" [label=\"biolink:subclass_of (33)\"]; \t\"MONDO\" -> \"owl\" [label=\"biolink:subclass_of (1937)\"]; \t\"UBERON\" -> \"PR\" [label=\"biolink:related_to (1)\"]; \t\"GENO\" -> \"SO\" [label=\"biolink:part_of (4)\"]; \t\"WormBase\" -> \"WormBase\" [label=\"biolink:genetically_interacts_with (531)\"]; \t\"SO\" -> \"CHEBI\" [label=\"biolink:subclass_of (43)\"]; \t\"https\" -> \"GO\" [label=\"biolink:has_phenotype (2)\"]; \t\"Xenbase\" -> \"FlyBase\" [label=\"biolink:related_to (4722)\"]; \t\"OBI\" -> \"prov\" [label=\"biolink:subclass_of (1)\"]; \t\"WormBase\" -> \"OBO\" [label=\"biolink:related_to (10459)\"]; \t\"faldo\" -> \"faldo\" [label=\"biolink:inverseOf (2)\"]; \t\"WBPhenotype\" -> \"GO\" [label=\"biolink:subclass_of (274)\"]; \t\"BFO\" -> \"BFO\" [label=\"biolink:subclass_of (34)\"]; \t\"dcterms\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"PMID\" -> \"GeneReviews\" [label=\"biolink:related_to (31280)\"]; \t\"REACT\" -> \"PW\" [label=\"biolink:subclass_of (15909)\"]; \t\"BFO\" -> \"CHEBI\" [label=\"biolink:subclass_of (1)\"]; \t\"MP\" -> \"DOID\" [label=\"biolink:subclass_of (2)\"]; \t\"HGNC\" -> \"UBERON\" [label=\"biolink:expressed_in (448167)\"]; \t\"NCIT\" -> \"HP\" [label=\"biolink:subclass_of (13)\"]; \t\"OBI\" -> \"CHEBI\" [label=\"biolink:has_part (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:affects (8338)\"]; \t\"dbSNP\" -> \"dbSNP\" [label=\"biolink:related_to (1470)\"]; \t\"HGNC\" -> \"VGNC\" [label=\"biolink:related_to (8)\"]; \t\"OBAN\" -> \"SEPIO\" [label=\"biolink:subclass_of (1)\"]; \t\"OBO\" -> \"GO\" [label=\"biolink:part_of (1)\"]; \t\"pigQTL\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (14461)\"]; \t\"OBO\" -> \"GO\" [label=\"biolink:related_to (45)\"]; \t\"http\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (142)\"]; \t\"OMIM\" -> \"HGNC\" [label=\"biolink:related_to (3018)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:part_of (1)\"]; \t\"OMIA\" -> \"HP\" [label=\"biolink:has_phenotype (260)\"]; \t\"KEGG-hsa\" -> \"SO\" [label=\"biolink:subclass_of (1)\"]; \t\"MONDO\" -> \"ENVO\" [label=\"biolink:related_to (14)\"]; \t\"MGI\" -> \"NCBIGene\" [label=\"biolink:interacts_with (9)\"]; \t\"HGNC\" -> \"Xenbase\" [label=\"biolink:related_to (10686)\"]; \t\"MONARCH_BNODE\" -> \"dbSNP\" [label=\"biolink:related_to (7199)\"]; \t\"PANTHER\" -> \"VGNC\" [label=\"biolink:related_to (8)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:increases_degradation_of (8)\"]; \t\"BFO\" -> \"RO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"dictyBase\" -> \"GO\" [label=\"biolink:enables (20904)\"]; \t\"MGI\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (26800)\"]; \t\"prov\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"biolink:subclass_of (14540)\"]; \t\"PANTHER\" -> \"Xenbase\" [label=\"biolink:related_to (11866)\"]; \t\"CLO\" -> \"OBI\" [label=\"biolink:derives_from (1)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:has_participant (1)\"]; \t\"PR\" -> \"https\" [label=\"biolink:related_to (206)\"]; \t\"ZP\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (2937)\"]; \t\"HGNC\" -> \"SO\" [label=\"biolink:subclass_of (60204)\"]; \t\"ENSEMBL\" -> \"VGNC\" [label=\"biolink:related_to (16)\"]; \t\"ENSEMBL\" -> \"ENSEMBL\" [label=\"biolink:interacts_with (305485)\"]; \t\"MONARCH_NODE\" -> \"https\" [label=\"biolink:related_to (24)\"]; \t\"WormBase\" -> \"NCBIGene\" [label=\"biolink:related_to (40)\"]; \t\"MGI\" -> \"SO\" [label=\"biolink:subclass_of (108997)\"]; \t\"ClinVarVariant\" -> \"NCBIGene\" [label=\"biolink:part_of (28122)\"]; \t\"WormBase\" -> \"PomBase\" [label=\"biolink:orthologous_to (2147)\"]; \t\"ZFIN\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (23456)\"]; \t\"GENO\" -> \"OBO\" [label=\"biolink:subclass_of (1)\"]; \t\"Xenbase\" -> \"OBO\" [label=\"biolink:related_to (15731)\"]; \t\"ENSEMBL\" -> \"Xenbase\" [label=\"biolink:related_to (103605)\"]; \t\"MP\" -> \"http\" [label=\"biolink:subclass_of (3)\"]; \t\"prov\" -> \"BFO\" [label=\"biolink:has_participant (1)\"]; \t\"HGNC\" -> \"OMIM\" [label=\"biolink:related_to (3746)\"]; \t\"foaf\" -> \"foaf\" [label=\"biolink:subclass_of (8)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:subclass_of (23397)\"]; \t\"ECO\" -> \"BFO\" [label=\"biolink:related_to (1)\"]; \t\"AQTLTrait\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"MGI\" -> \"Xenbase\" [label=\"biolink:orthologous_to (5098)\"]; \t\"MGI\" -> \"DOID\" [label=\"biolink:model_of (8320)\"]; \t\"RGD\" -> \"ZFIN\" [label=\"biolink:related_to (11501)\"]; \t\"SEPIO\" -> \"prov\" [label=\"biolink:subclass_of (1)\"]; \t\"CL\" -> \"CHEBI\" [label=\"biolink:has_part (1)\"]; \t\"MONARCH_NODE\" -> \"UPHENO\" [label=\"biolink:subclass_of (627)\"]; \t\"MONARCH_NODE\" -> \"UCSC\" [label=\"biolink:related_to (329)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:subclass_of (37688)\"]; \t\"PomBase\" -> \"GO\" [label=\"biolink:enables (11217)\"]; \t\"ClinVarVariant\" -> \"HGNC\" [label=\"biolink:has_part (21)\"]; \t\"OBO\" -> \"AQTLTrait\" [label=\"biolink:subclass_of (221)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:subclass_of (355)\"]; \t\"MONARCH_BNODE\" -> \"OMIM\" [label=\"biolink:has_phenotype (11482)\"]; \t\"owl\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"MPD-strain\" -> \"JAX\" [label=\"biolink:same_as (274)\"]; \t\"MGI\" -> \"MGI\" [label=\"biolink:same_as (8)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_output (14)\"]; \t\"ZP\" -> \"GENO\" [label=\"biolink:subclass_of (5)\"]; \t\"faldo\" -> \"GENO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"FlyBase\" -> \"http\" [label=\"biolink:related_to (139)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:expresses (198)\"]; \t\"NCBIGene\" -> \"ENSEMBL\" [label=\"biolink:related_to (1080)\"]; \t\"chickenQTL\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (7211)\"]; \t\"MONDO\" -> \"HP\" [label=\"biolink:subclass_of (25)\"]; \t\"MESH\" -> \"MESH\" [label=\"biolink:treats (35982)\"]; \t\"UBERON\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:has_part (1)\"]; \t\"OBI\" -> \"SEPIO\" [label=\"biolink:subclass_of (3)\"]; \t\"UMLS\" -> \"MONDO\" [label=\"biolink:subclass_of (46999)\"]; \t\"sheepQTL\" -> \"NCBIGene\" [label=\"biolink:related_to (486)\"]; \t\"UMLS\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"NCBIGene\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (79181)\"]; \t\"OMIM\" -> \"HP\" [label=\"biolink:related_to (10416)\"]; \t\"MP\" -> \"MP\" [label=\"biolink:subclass_of (17670)\"]; \t\"MGI\" -> \"MGI\" [label=\"biolink:related_to (1293126)\"]; \t\"Xenbase\" -> \"NCBIGene\" [label=\"biolink:related_to (176)\"]; \t\"HGNC\" -> \"dictyBase\" [label=\"biolink:orthologous_to (9357)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:related_to (174)\"]; \t\"dbSNP\" -> \"OMIM\" [label=\"biolink:related_to (25133)\"]; \t\"HGNC\" -> \"SGD\" [label=\"biolink:orthologous_to (4012)\"]; \t\"MONARCH_BNODE\" -> \"OMIM\" [label=\"biolink:biomarker_for (8)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:located_in (3)\"]; \t\"GENO\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"WormBase\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (15907)\"]; \t\"ZFIN\" -> \"REACT\" [label=\"biolink:actively_involved_in (12095)\"]; \t\"IAO\" -> \"BFO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"MONARCH_BNODE\" -> \"OMIM\" [label=\"biolink:related_to (481)\"]; \t\"RGD\" -> \"http\" [label=\"biolink:orthologous_to (906)\"]; \t\"NCBIGene\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (33621)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:subPropertyOf (32)\"]; \t\"CLO\" -> \"OIO\" [label=\"biolink:subclass_of (3)\"]; \t\"HGNC\" -> \"WormBase\" [label=\"biolink:orthologous_to (15124)\"]; \t\"HP\" -> \"UMLS\" [label=\"biolink:subclass_of (8)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:has_part (4)\"]; \t\"ENSEMBL\" -> \"dictyBase\" [label=\"biolink:orthologous_to (8870)\"]; \t\"HP\" -> \"OBO\" [label=\"biolink:related_to (10)\"]; \t\"KEGG-path\" -> \"OMIM\" [label=\"biolink:related_to (1322)\"]; \t\"GENO\" -> \"RO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"ENSEMBL\" -> \"SGD\" [label=\"biolink:orthologous_to (21415)\"]; \t\"FAO\" -> \"FAO\" [label=\"biolink:subclass_of (32)\"]; \t\"ZFIN\" -> \"ZFIN\" [label=\"biolink:related_to (95569)\"]; \t\"OMIM\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (49)\"]; \t\"OBO\" -> \"*non-standard CURIE*\" [label=\"biolink:subclass_of (5946)\"]; \t\"FlyBase\" -> \"GO\" [label=\"biolink:part_of (23625)\"]; \t\"HP\" -> \"UBERON\" [label=\"biolink:subclass_of (1385)\"]; \t\"ENVO\" -> \"owl\" [label=\"biolink:subclass_of (3)\"]; \t\"MONARCH_BNODE\" -> \"WBPhenotype\" [label=\"biolink:has_phenotype (88885)\"]; \t\"HGNC\" -> \"HGNC\" [label=\"biolink:genetically_interacts_with (625)\"]; \t\"ZP\" -> \"CL\" [label=\"biolink:subclass_of (2294)\"]; \t\"WormBase\" -> \"SO\" [label=\"biolink:subclass_of (99428)\"]; \t\"ENSEMBL\" -> \"WormBase\" [label=\"biolink:orthologous_to (161822)\"]; \t\"ClinVarVariant\" -> \"UMLS\" [label=\"biolink:related_to (248280)\"]; \t\"PR\" -> \"NCBITaxon\" [label=\"biolink:related_to (533)\"]; \t\"WormBase\" -> \"GO\" [label=\"biolink:part_of (31324)\"]; \t\"dbSNP\" -> \"sheepQTL\" [label=\"biolink:biomarker_for (1759)\"]; \t\"NCIT\" -> \"UMLS\" [label=\"biolink:subclass_of (10791)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:regulates_process_to_process (14)\"]; \t\"MPD-strain\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (1013)\"]; \t\"MGI\" -> \"ZFIN\" [label=\"biolink:related_to (12127)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"FBcv\" -> \"MP\" [label=\"biolink:subclass_of (34)\"]; \t\"ZP\" -> \"GO\" [label=\"biolink:subclass_of (4838)\"]; \t\"WormBase\" -> \"NCBIGene\" [label=\"biolink:genetically_interacts_with (7)\"]; \t\"CL\" -> \"owl\" [label=\"biolink:subclass_of (199)\"]; \t\"NCBIGene\" -> \"EcoGene\" [label=\"biolink:orthologous_to (39)\"]; \t\"Xenbase\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (364)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:affects (943)\"]; \t\"OMIM\" -> \"HP\" [label=\"biolink:has_phenotype (97164)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:related_to (8)\"]; \t\"OBI\" -> \"BFO\" [label=\"biolink:related_to (11)\"]; \t\"HP\" -> \"MONDO\" [label=\"biolink:subclass_of (12)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:part_of (75)\"]; \t\"RGD\" -> \"GO\" [label=\"biolink:part_of (77299)\"]; \t\"MGI\" -> \"HGNC\" [label=\"biolink:related_to (719)\"]; \t\"MGI\" -> \"MGI\" [label=\"biolink:interacts_with (41740)\"]; \t\"WormBase\" -> \"REACT\" [label=\"biolink:actively_involved_in (6038)\"]; \t\"FlyBase\" -> \"PomBase\" [label=\"biolink:related_to (2383)\"]; \t\"OBI\" -> \"CHEBI\" [label=\"biolink:related_to (24)\"]; \t\"MONARCH_BNODE\" -> \"HGNC\" [label=\"biolink:contributes_to (2)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:subclass_of (34)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:produces (6)\"]; \t\"NCIT\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"ClinVarVariant\" -> \"OMIM\" [label=\"biolink:gene_associated_with_condition (107041)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:inverseOf (3)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:part_of (8537)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:related_to (11912)\"]; \t\"UBERON\" -> \"PR\" [label=\"biolink:has_part (6)\"]; \t\"RO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"OBO\" -> \"DOID\" [label=\"biolink:subclass_of (19801)\"]; \t\"OMIA\" -> \"UBERON\" [label=\"biolink:has_phenotype (18)\"]; \t\"UCSC\" -> \"MONARCH_NODE\" [label=\"biolink:has_part (26381)\"]; \t\"http\" -> \"Orphanet\" [label=\"biolink:subclass_of (20720)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:subclass_of (1896)\"]; \t\"OBO\" -> \"OGMS\" [label=\"biolink:subclass_of (21)\"]; \t\"PMID\" -> \"SGD\" [label=\"biolink:related_to (242021)\"]; \t\"HGNC\" -> \"FlyBase\" [label=\"biolink:orthologous_to (16085)\"]; \t\"MGI\" -> \"RGD\" [label=\"biolink:related_to (17190)\"]; \t\"PMID\" -> \"OMIA\" [label=\"biolink:related_to (173)\"]; \t\"ClinVarVariant\" -> \"MONDO\" [label=\"biolink:related_to (33553)\"]; \t\"NCIT\" -> \"MONDO\" [label=\"biolink:subclass_of (20766)\"]; \t\"https\" -> \"NCBIGene\" [label=\"biolink:related_to (10095)\"]; \t\"MONDO\" -> \"HP\" [label=\"biolink:related_to (1354)\"]; \t\"NCIT\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"MONARCH_BNODE\" -> \"SO\" [label=\"biolink:subclass_of (23)\"]; \t\"FlyBase\" -> \"CL\" [label=\"biolink:expressed_in (3279)\"]; \t\"OBI\" -> \"IAO\" [label=\"biolink:related_to (8)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:type (2)\"]; \t\"PMID\" -> \"WormBase\" [label=\"biolink:related_to (26012)\"]; \t\"RO\" -> \"BFO\" [label=\"biolink:subPropertyOf (26)\"]; \t\"OBI\" -> \"GO\" [label=\"biolink:has_participant (1)\"]; \t\"RGD\" -> \"PomBase\" [label=\"biolink:orthologous_to (3235)\"]; \t\"ENSEMBL\" -> \"FlyBase\" [label=\"biolink:orthologous_to (163413)\"]; \t\"OMIA\" -> \"MONARCH_BNODE\" [label=\"biolink:subclass_of (3339)\"]; \t\"ZFIN\" -> \"SO\" [label=\"biolink:subclass_of (56890)\"]; \t\"VGNC\" -> \"ENSEMBL\" [label=\"biolink:related_to (67)\"]; \t\"http\" -> \"OBO\" [label=\"biolink:subclass_of (36397)\"]; \t\"MGI\" -> \"ZFIN\" [label=\"biolink:interacts_with (2)\"]; \t\"chickenQTL\" -> \"NCBIGene\" [label=\"biolink:related_to (453)\"]; \t\"FlyBase\" -> \"DOID\" [label=\"biolink:model_of (1626)\"]; \t\"OBI\" -> \"UBERON\" [label=\"biolink:derives_from (4)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"biolink:related_to (4)\"]; \t\"OBI\" -> \"BFO\" [label=\"biolink:subPropertyOf (2)\"]; \t\"OBO\" -> \"http\" [label=\"biolink:subclass_of (26213)\"]; \t\"IAO\" -> \"BFO\" [label=\"biolink:related_to (3)\"]; \t\"OBO\" -> \"NCBIGene\" [label=\"biolink:related_to (279)\"]; \t\"OBI\" -> \"GENO\" [label=\"biolink:subclass_of (6)\"]; \t\"MGI\" -> \"HGNC\" [label=\"biolink:interacts_with (1731)\"]; \t\"MONARCH_BNODE\" -> \"GENO\" [label=\"biolink:related_to (186309)\"]; \t\"CLO\" -> \"RO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"WBPhenotype\" -> \"FBcv\" [label=\"biolink:subclass_of (256)\"]; \t\"MONARCH_BNODE\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (4741582)\"]; \t\"MONDO\" -> \"UMLS\" [label=\"biolink:subclass_of (44953)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:participates_in (7)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:inverseOf (13)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:inverseOf (2)\"]; \t\"MGI\" -> \"GO\" [label=\"biolink:part_of (94768)\"]; \t\"OBO\" -> \"OBI\" [label=\"biolink:related_to (1)\"]; \t\"FlyBase\" -> \"FlyBase\" [label=\"biolink:genetically_interacts_with (2748)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:has_output (1)\"]; \t\"WormBase\" -> \"CL\" [label=\"biolink:expressed_in (33)\"]; \t\"ZFIN\" -> \"GO\" [label=\"biolink:has_phenotype (5907)\"]; \t\"rdfs\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:derives_from (2)\"]; \t\"OBO\" -> \"PR\" [label=\"biolink:subclass_of (1)\"]; \t\"faldo\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"GO\" -> \"FAO\" [label=\"biolink:part_of (3)\"]; \t\"MONARCH\" -> \"HGNC\" [label=\"biolink:related_to (664)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"PO\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"MONARCH\" -> \"OMIM\" [label=\"biolink:model_of (948)\"]; \t\"ClinVarVariant\" -> \"HGNC\" [label=\"biolink:part_of (151427)\"]; \t\"XCO\" -> \"owl\" [label=\"biolink:subclass_of (19)\"]; \t\"https\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (279846)\"]; \t\"PMID\" -> \"FlyBase\" [label=\"biolink:related_to (345961)\"]; \t\"NCBIGene\" -> \"http\" [label=\"biolink:related_to (2)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:related_to (798)\"]; \t\"ZFIN\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (9372)\"]; \t\"OIO\" -> \"IAO\" [label=\"biolink:subclass_of (5)\"]; \t\"MONARCH_BNODE\" -> \"GO\" [label=\"biolink:has_phenotype (9501)\"]; \t\"UBERON\" -> \"OBI\" [label=\"biolink:derives_from (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:participates_in (9)\"]; \t\"NCBIGene\" -> \"WormBase\" [label=\"biolink:interacts_with (453)\"]; \t\"HGNC\" -> \"dictyBase\" [label=\"biolink:related_to (3338)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:related_to (16)\"]; \t\"ENSEMBL\" -> \"GO\" [label=\"biolink:part_of (63314)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:same_as (1881)\"]; \t\"foaf\" -> \"http\" [label=\"biolink:subclass_of (6)\"]; \t\"horseQTL\" -> \"horseQTL\" [label=\"biolink:biomarker_for (2451)\"]; \t\"HGNC\" -> \"SGD\" [label=\"biolink:related_to (2445)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:related_to (6038)\"]; \t\"SGD\" -> \"GO\" [label=\"biolink:enables (19930)\"]; \t\"HGNC\" -> \"REACT\" [label=\"biolink:actively_involved_in (27687)\"]; \t\"NCBIGene\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (1383)\"]; \t\"OBO\" -> \"MP\" [label=\"biolink:subclass_of (26)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"biolink:subclass_of (41256)\"]; \t\"MONDO\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"MONARCH_NODE\" -> \"HP\" [label=\"biolink:has_phenotype (1082)\"]; \t\"KEGG-path\" -> \"KEGG-ds\" [label=\"biolink:related_to (2498)\"]; \t\"PANTHER\" -> \"dictyBase\" [label=\"biolink:related_to (5429)\"]; \t\"http\" -> \"OBI\" [label=\"biolink:subclass_of (17)\"]; \t\"BIOGRID\" -> \"OMIM\" [label=\"biolink:related_to (488)\"]; \t\"PANTHER\" -> \"SGD\" [label=\"biolink:related_to (3309)\"]; \t\"ZFIN\" -> \"dictyBase\" [label=\"biolink:orthologous_to (11205)\"]; \t\"HGNC\" -> \"WormBase\" [label=\"biolink:related_to (4877)\"]; \t\"ZFIN\" -> \"SGD\" [label=\"biolink:orthologous_to (4666)\"]; \t\"IAO\" -> \"OBI\" [label=\"biolink:subclass_of (6)\"]; \t\"GENO\" -> \"owl\" [label=\"biolink:subclass_of (43)\"]; \t\"OBI\" -> \"CL\" [label=\"biolink:subclass_of (1)\"]; \t\"MONARCH_BNODE\" -> \"OMIA\" [label=\"biolink:has_phenotype (782)\"]; \t\"dbSNP\" -> \"GO\" [label=\"biolink:related_to (5269)\"]; \t\"SO\" -> \"PR\" [label=\"biolink:subclass_of (2)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:has_input (9)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (1736)\"]; \t\"OMIA\" -> \"GENO\" [label=\"biolink:related_to (1033)\"]; \t\"ENSEMBL\" -> \"dictyBase\" [label=\"biolink:related_to (2963)\"]; \t\"MESH\" -> \"OMIM\" [label=\"biolink:treats (8)\"]; \t\"PANTHER\" -> \"WormBase\" [label=\"biolink:related_to (9055)\"]; \t\"ENSEMBL\" -> \"SGD\" [label=\"biolink:related_to (10980)\"]; \t\"MONDO\" -> \"https\" [label=\"biolink:related_to (4436)\"]; \t\"FlyBase\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (15464)\"]; \t\"OBI\" -> \"GO\" [label=\"biolink:subclass_of (4)\"]; \t\"*non-standard CURIE*\" -> \"SO\" [label=\"biolink:subclass_of (9)\"]; \t\"Xenbase\" -> \"ZFIN\" [label=\"biolink:related_to (9523)\"]; \t\"GO\" -> \"GENO\" [label=\"biolink:subclass_of (1)\"]; \t\"horseQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (4902)\"]; \t\"ZFIN\" -> \"WormBase\" [label=\"biolink:orthologous_to (19169)\"]; \t\"http\" -> \"NCIT\" [label=\"biolink:subclass_of (15591)\"]; \t\"MONARCH_BNODE\" -> \"GO\" [label=\"biolink:related_to (189)\"]; \t\"RGD\" -> \"Xenbase\" [label=\"biolink:orthologous_to (3725)\"]; \t\"MGI\" -> \"dictyBase\" [label=\"biolink:orthologous_to (10253)\"]; \t\"GENO\" -> \"UPHENO\" [label=\"biolink:subclass_of (1)\"]; \t\"MGI\" -> \"CL\" [label=\"biolink:expressed_in (29583)\"]; \t\"STATO\" -> \"SEPIO\" [label=\"biolink:subclass_of (1)\"]; \t\"ClinVarVariant\" -> \"BIOGRID\" [label=\"biolink:part_of (43)\"]; \t\"FlyBase\" -> \"EcoGene\" [label=\"biolink:orthologous_to (945)\"]; \t\"MGI\" -> \"SGD\" [label=\"biolink:orthologous_to (3984)\"]; \t\"OMIA\" -> \"OMIA\" [label=\"biolink:subclass_of (3339)\"]; \t\"RO\" -> \"RO\" [label=\"biolink:inverseOf (102)\"]; \t\"ENSEMBL\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (17431)\"]; \t\"ENSEMBL\" -> \"WormBase\" [label=\"biolink:related_to (48370)\"]; \t\"ZP\" -> \"OBO\" [label=\"biolink:subclass_of (104)\"]; \t\"NCBIGene\" -> \"FlyBase\" [label=\"biolink:interacts_with (12)\"]; \t\"CHEBI\" -> \"REACT\" [label=\"biolink:actively_involved_in (89911)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:derives_from (1)\"]; \t\"RGD\" -> \"SO\" [label=\"biolink:subclass_of (44108)\"]; \t\"MGI\" -> \"WormBase\" [label=\"biolink:orthologous_to (17089)\"]; \t\"foaf\" -> \"wgs\" [label=\"biolink:subclass_of (1)\"]; \t\"UMLS\" -> \"DOID\" [label=\"biolink:subclass_of (15911)\"]; \t\"dbSNP\" -> \"horseQTL\" [label=\"biolink:biomarker_for (1797)\"]; \t\"MONARCH\" -> \"HP\" [label=\"biolink:related_to (1)\"]; \t\"OBO\" -> \"IAO\" [label=\"biolink:has_part (1)\"]; \t\"MONARCH_BNODE\" -> \"OMIA\" [label=\"biolink:related_to (48)\"]; \t\"AspGD\" -> \"GO\" [label=\"biolink:part_of (130918)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_phenotype (18)\"]; \t\"UMLS\" -> \"OGMS\" [label=\"biolink:subclass_of (16)\"]; \t\"RGD\" -> \"EcoGene\" [label=\"biolink:related_to (283)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:has_input (8)\"]; \t\"MP\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (388)\"]; \t\"GENO\" -> \"ENVO\" [label=\"biolink:related_to (1)\"]; \t\"HGNC\" -> \"FlyBase\" [label=\"biolink:related_to (5744)\"]; \t\"NCBIGene\" -> \"PomBase\" [label=\"biolink:related_to (41)\"]; \t\"rainbow_troutQTL\" -> \"rainbow_troutQTL\" [label=\"biolink:biomarker_for (584)\"]; \t\"MONARCH\" -> \"EFO\" [label=\"biolink:related_to (1951)\"]; \t\"OBO\" -> \"ENVO\" [label=\"biolink:part_of (1)\"]; \t\"GENO\" -> \"OBI\" [label=\"biolink:in_taxon (2)\"]; \t\"HGNC\" -> \"OMIM\" [label=\"biolink:biomarker_for (89)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_input (1)\"]; \t\"OBO\" -> \"ENVO\" [label=\"biolink:related_to (3)\"]; \t\"HGNC\" -> \"WormBase\" [label=\"biolink:interacts_with (3)\"]; \t\"NCBIGene\" -> \"REACT\" [label=\"biolink:actively_involved_in (547)\"]; \t\"MONARCH_BNODE\" -> \"WormBase\" [label=\"biolink:related_to (106722)\"]; \t\"FlyBase\" -> \"NCBIGene\" [label=\"biolink:genetically_interacts_with (2)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"biolink:related_to (3048)\"]; \t\"MONARCH_BNODE\" -> \"JAX\" [label=\"biolink:related_to (1005)\"]; \t\"UBERON\" -> \"CL\" [label=\"biolink:related_to (112)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"biolink:contributes_to (23)\"]; \t\"PANTHER\" -> \"FlyBase\" [label=\"biolink:related_to (9654)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:has_input (7)\"]; \t\"foaf\" -> \"prov\" [label=\"biolink:subclass_of (2)\"]; \t\"ZFIN\" -> \"FlyBase\" [label=\"biolink:orthologous_to (17802)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (8)\"]; \t\"OBI\" -> \"OBO\" [label=\"biolink:has_participant (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:related_to (224)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:has_input (1297)\"]; \t\"HGNC\" -> \"Orphanet\" [label=\"biolink:related_to (7317)\"]; \t\"dcterms\" -> \"foaf\" [label=\"biolink:subclass_of (1)\"]; \t\"FlyBase\" -> \"OBO\" [label=\"biolink:expressed_in (43532)\"]; \t\"SEPIO\" -> \"IAO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"dictyBase\" -> \"GO\" [label=\"biolink:actively_involved_in (21354)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:subclass_of (73)\"]; \t\"CL\" -> \"PR\" [label=\"biolink:has_part (675)\"]; \t\"PMID\" -> \"NCBIGene\" [label=\"biolink:related_to (399176)\"]; \t\"WormBase\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (7)\"]; \t\"*non-standard CURIE*\" -> \"SO\" [label=\"owl:someValuesFrom (1)\"]; \t\"MONDO\" -> \"SO\" [label=\"biolink:related_to (22)\"]; \t\"ENSEMBL\" -> \"FlyBase\" [label=\"biolink:related_to (56918)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"biolink:related_to (1752)\"]; \t\"UBERON\" -> \"http\" [label=\"biolink:subclass_of (20)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:subclass_of (103475)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:subclass_of (178)\"]; \t\"UMLS\" -> \"http\" [label=\"biolink:subclass_of (21698)\"]; \t\"VGNC\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (10)\"]; \t\"SGD\" -> \"GO\" [label=\"biolink:has_phenotype (9)\"]; \t\"MONDO\" -> \"CHEBI\" [label=\"biolink:related_to (46)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:has_participant (3)\"]; \t\"http\" -> \"dcterms\" [label=\"biolink:subclass_of (2)\"]; \t\"FlyBase\" -> \"REACT\" [label=\"biolink:actively_involved_in (6083)\"]; \t\"OMIM\" -> \"SO\" [label=\"biolink:subclass_of (96)\"]; \t\"MGI\" -> \"FlyBase\" [label=\"biolink:orthologous_to (17380)\"]; \t\"MGI\" -> \"MGI\" [label=\"biolink:genetically_interacts_with (42)\"]; \t\"WormBase\" -> \"dictyBase\" [label=\"biolink:orthologous_to (7384)\"]; \t\"ZP\" -> \"FBcv\" [label=\"biolink:subclass_of (1818)\"]; \t\"FBcv\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (71)\"]; \t\"WBPhenotype\" -> \"owl\" [label=\"biolink:subclass_of (62)\"]; \t\"MONARCH_BNODE\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (3059)\"]; \t\"WormBase\" -> \"SGD\" [label=\"biolink:orthologous_to (2640)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:participates_in (2)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:has_part (2)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:has_participant (2)\"]; \t\"HP\" -> \"DOID\" [label=\"biolink:subclass_of (6)\"]; \t\"Coriell\" -> \"OMIM\" [label=\"biolink:model_of (12242)\"]; \t\"ENVO\" -> \"OBO\" [label=\"biolink:related_to (36)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"biolink:has_input (19)\"]; \t\"MONARCH_NODE\" -> \"http\" [label=\"biolink:related_to (142)\"]; \t\"HGNC\" -> \"OBO\" [label=\"biolink:related_to (45014)\"]; \t\"BSPO\" -> \"OBO\" [label=\"biolink:subclass_of (6)\"]; \t\"HGNC\" -> \"FlyBase\" [label=\"biolink:interacts_with (14)\"]; \t\"MONARCH_BNODE\" -> \"FlyBase\" [label=\"biolink:related_to (3)\"]; \t\"GENO\" -> \"owl\" [label=\"biolink:related_to (1)\"]; \t\"ZFIN\" -> \"EcoGene\" [label=\"biolink:related_to (291)\"]; \t\"Xenbase\" -> \"PomBase\" [label=\"biolink:orthologous_to (2473)\"]; \t\"WBPhenotype\" -> \"UPHENO\" [label=\"biolink:subclass_of (1)\"]; \t\"*non-standard CURIE*\" -> \"NCBITaxon\" [label=\"owl:someValuesFrom (9)\"]; \t\"PW\" -> \"PW\" [label=\"biolink:related_to (136)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"biolink:related_to (664)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:has_participant (5)\"]; \t\"GO\" -> \"PO\" [label=\"biolink:related_to (165)\"]; \t\"dbSNP\" -> \"Orphanet\" [label=\"biolink:related_to (1144)\"]; \t\"WormBase\" -> \"OBO\" [label=\"biolink:expressed_in (8988)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:related_to (3)\"]; \t\"MONARCH_BNODE\" -> \"OBO\" [label=\"biolink:has_phenotype (3042)\"]; \t\"FlyBase\" -> \"GO\" [label=\"biolink:has_phenotype (2)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:subclass_of (237)\"]; \t\"https\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (42481)\"]; \t\"NCIT\" -> \"DOID\" [label=\"biolink:subclass_of (8101)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:has_participant (24)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:has_participant (6)\"]; \t\"UMLS\" -> \"MP\" [label=\"biolink:subclass_of (14)\"]; \t\"MGI\" -> \"EcoGene\" [label=\"biolink:related_to (291)\"]; \t\"NCIT\" -> \"OGMS\" [label=\"biolink:subclass_of (10)\"]; \t\"MONARCH_BNODE\" -> \"Orphanet\" [label=\"biolink:related_to (18)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"biolink:interacts_with (73)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:related_to (118)\"]; \t\"ENVO\" -> \"BFO\" [label=\"biolink:subclass_of (15)\"]; \t\"OBO\" -> \"HGNC\" [label=\"biolink:related_to (44422)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:location_of (10)\"]; \t\"PO\" -> \"NCBITaxon\" [label=\"biolink:related_to (2)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:subclass_of (1)\"]; \t\"HGNC\" -> \"MGI\" [label=\"biolink:orthologous_to (7064)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:type (41)\"]; \t\"NCBIGene\" -> \"Xenbase\" [label=\"biolink:related_to (1893)\"]; \t\"NCBIGene\" -> \"http\" [label=\"biolink:orthologous_to (40)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:negatively_regulates_process_to_process (3160)\"]; \t\"MP\" -> \"CL\" [label=\"biolink:subclass_of (475)\"]; \t\"HP\" -> \"http\" [label=\"biolink:subclass_of (7)\"]; \t\"XCO\" -> \"XCO\" [label=\"biolink:regulates_process_to_process (35)\"]; \t\"ENSEMBL\" -> \"UBERON\" [label=\"biolink:expressed_in (719942)\"]; \t\"DOID\" -> \"Orphanet\" [label=\"biolink:subclass_of (7042)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:related_to (469)\"]; \t\"ZFIN\" -> \"NCBITaxon\" [label=\"biolink:related_to (15)\"]; \t\"RGD\" -> \"ENSEMBL\" [label=\"biolink:related_to (117939)\"]; \t\"http\" -> \"owl\" [label=\"biolink:subclass_of (54)\"]; \t\"dbSNP\" -> \"OBO\" [label=\"biolink:related_to (4)\"]; \t\"WBPhenotype\" -> \"ZP\" [label=\"biolink:subclass_of (463)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"biolink:has_phenotype (17)\"]; \t\"MP\" -> \"GO\" [label=\"biolink:subclass_of (883)\"]; \t\"IAO\" -> \"OIO\" [label=\"biolink:subclass_of (16)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (2)\"]; \t\"MONARCH_BNODE\" -> \"ClinVar\" [label=\"biolink:related_to (737221)\"]; \t\"HGNC\" -> \"OMIMPS\" [label=\"biolink:related_to (2415)\"]; \t\"Orphanet\" -> \"Orphanet\" [label=\"biolink:subclass_of (14250)\"]; \t\"ENSEMBL\" -> \"MGI\" [label=\"biolink:orthologous_to (14489)\"]; \t\"foaf\" -> \"SEPIO\" [label=\"biolink:subclass_of (1)\"]; \t\"OBI\" -> \"OBO\" [label=\"biolink:subclass_of (3)\"]; \t\"BIOGRID\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (2192)\"]; \t\"MONARCH_BNODE\" -> \"OBO\" [label=\"biolink:related_to (742)\"]; \t\"RO\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"PANTHER\" -> \"NCBIGene\" [label=\"biolink:related_to (943)\"]; \t\"VGNC\" -> \"PomBase\" [label=\"biolink:related_to (3)\"]; \t\"OBI\" -> \"PR\" [label=\"biolink:related_to (1)\"]; \t\"WormBase\" -> \"FlyBase\" [label=\"biolink:orthologous_to (12853)\"]; \t\"FBcv\" -> \"CL\" [label=\"biolink:related_to (1)\"]; \t\"ZFIN\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (13)\"]; \t\"PMID\" -> \"MONARCH\" [label=\"biolink:related_to (1919)\"]; \t\"MGI\" -> \"NCBITaxon\" [label=\"biolink:related_to (198)\"]; \t\"NCIT\" -> \"http\" [label=\"biolink:subclass_of (9895)\"]; \t\"ENSEMBL\" -> \"GO\" [label=\"biolink:enables (58420)\"]; \t\"GENO\" -> \"IAO\" [label=\"biolink:type (2)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"biolink:related_to (24)\"]; \t\"ClinVarVariant\" -> \"Orphanet\" [label=\"biolink:gene_associated_with_condition (3315)\"]; \t\"MGI\" -> \"OBO\" [label=\"biolink:expressed_in (2757)\"]; \t\"https\" -> \"HP\" [label=\"biolink:related_to (2)\"]; \t\"AQTLTrait\" -> \"AQTLTrait\" [label=\"biolink:subclass_of (95)\"]; \t\"RO\" -> \"http\" [label=\"biolink:subPropertyOf (2)\"]; \t\"NCBIGene\" -> \"GO\" [label=\"biolink:enables (54230)\"]; \t\"DOID\" -> \"OBO\" [label=\"biolink:subclass_of (19795)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:part_of (880)\"]; \t\"ENSEMBL\" -> \"NCBIGene\" [label=\"biolink:related_to (3225)\"]; \t\"UBERON\" -> \"CL\" [label=\"biolink:part_of (7)\"]; \t\"NCBIGene\" -> \"UBERON\" [label=\"biolink:expressed_in (33356)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (509)\"]; \t\"OBO\" -> \"BIOGRID\" [label=\"biolink:related_to (900)\"]; \t\"CL\" -> \"PR\" [label=\"biolink:related_to (982)\"]; \t\"https\" -> \"EFO\" [label=\"biolink:related_to (174)\"]; \t\"HGNC\" -> \"ZFIN\" [label=\"biolink:orthologous_to (19849)\"]; \t\"BFO\" -> \"owl\" [label=\"biolink:subPropertyOf (1)\"]; \t\"HP\" -> \"MP\" [label=\"biolink:subclass_of (8972)\"]; \t\"https\" -> \"HP\" [label=\"biolink:has_phenotype (294)\"]; \t\"MGI\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (2423)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:part_of (11)\"]; \t\"Orphanet\" -> \"OBO\" [label=\"biolink:subclass_of (13338)\"]; \t\"FAO\" -> \"FAO\" [label=\"biolink:related_to (2)\"]; \t\"UPHENO\" -> \"OBO\" [label=\"biolink:subclass_of (1)\"]; \t\"*non-standard CURIE*\" -> \"*non-standard CURIE*\" [label=\"biolink:subclass_of (9)\"]; \t\"OBO\" -> \"GO\" [label=\"biolink:capable_of (429)\"]; \t\"WBPhenotype\" -> \"HP\" [label=\"biolink:subclass_of (113)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:inverseOf (3)\"]; \t\"dbSNP\" -> \"NCBIGene\" [label=\"biolink:related_to (4744)\"]; \t\"MONDO\" -> \"DOID\" [label=\"biolink:subclass_of (29074)\"]; \t\"FlyBase\" -> \"dictyBase\" [label=\"biolink:related_to (2987)\"]; \t\"FBcv\" -> \"GO\" [label=\"biolink:subclass_of (38)\"]; \t\"sheepQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (6510)\"]; \t\"MONDO\" -> \"OGMS\" [label=\"biolink:subclass_of (37)\"]; \t\"PMID\" -> \"MGI\" [label=\"biolink:related_to (428695)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:interacts_with (414)\"]; \t\"https\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (24)\"]; \t\"FlyBase\" -> \"SGD\" [label=\"biolink:related_to (2292)\"]; \t\"ENSEMBL\" -> \"ZFIN\" [label=\"biolink:orthologous_to (199624)\"]; \t\"MONARCH_BNODE\" -> \"NCBIGene\" [label=\"biolink:related_to (6413)\"]; \t\"OBO\" -> \"RO\" [label=\"biolink:subPropertyOf (14)\"]; \t\"WormBase\" -> \"EcoGene\" [label=\"biolink:related_to (249)\"]; \t\"NCBIGene\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (1085)\"]; \t\"FAO\" -> \"NCBITaxon\" [label=\"biolink:related_to (1)\"]; \t\"NCIT\" -> \"MP\" [label=\"biolink:subclass_of (10)\"]; \t\"HGNC\" -> \"RGD\" [label=\"biolink:orthologous_to (3331)\"]; \t\"NCBIGene\" -> \"PomBase\" [label=\"biolink:orthologous_to (143)\"]; \t\"UBERON\" -> \"OBO\" [label=\"biolink:related_to (103)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:subclass_of (379)\"]; \t\"HGNC\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (13115)\"]; \t\"ZFIN\" -> \"CL\" [label=\"biolink:expressed_in (735)\"]; \t\"SEPIO\" -> \"pav\" [label=\"biolink:subPropertyOf (1)\"]; \t\"GOREL\" -> \"RO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"OMIA\" -> \"MP\" [label=\"biolink:has_phenotype (1866)\"]; \t\"_\" -> \"GO\" [label=\"biolink:has_phenotype (250)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:has_attribute (26)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:precedes (3)\"]; \t\"OBI\" -> \"prov\" [label=\"biolink:related_to (1)\"]; \t\"faldo\" -> \"SO\" [label=\"biolink:subclass_of (1)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:subclass_of (32)\"]; \t\"dbSNP\" -> \"NCIT\" [label=\"biolink:related_to (25)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:located_in (527)\"]; \t\"UBERON\" -> \"CL\" [label=\"biolink:has_part (233)\"]; \t\"MONARCH_BNODE\" -> \"CoriellFamily\" [label=\"biolink:related_to (21318)\"]; \t\"MGI\" -> \"ENSEMBL\" [label=\"biolink:related_to (126877)\"]; \t\"ENSEMBL\" -> \"RGD\" [label=\"biolink:orthologous_to (8785)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:has_phenotype (1)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:regulates_process_to_process (3664)\"]; \t\"RGD\" -> \"dictyBase\" [label=\"biolink:orthologous_to (9381)\"]; \t\"DOID\" -> \"OBI\" [label=\"biolink:subclass_of (17)\"]; \t\"MP\" -> \"OBO\" [label=\"biolink:related_to (6)\"]; \t\"ENVO\" -> \"OBO\" [label=\"biolink:has_part (1)\"]; \t\"HGNC\" -> \"GO\" [label=\"biolink:enables (19568)\"]; \t\"OBI\" -> \"NCIT\" [label=\"biolink:subclass_of (1)\"]; \t\"RGD\" -> \"SGD\" [label=\"biolink:orthologous_to (3768)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:has_part (44)\"]; \t\"ZP\" -> \"owl\" [label=\"biolink:subclass_of (3742)\"]; \t\"OBO\" -> \"GENO\" [label=\"biolink:subclass_of (1629)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:has_attribute (3)\"]; \t\"GENO\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"MONDO\" -> \"http\" [label=\"biolink:subclass_of (48830)\"]; \t\"http\" -> \"HP\" [label=\"biolink:subclass_of (19)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:subclass_of (4)\"]; \t\"https\" -> \"GENO\" [label=\"biolink:subclass_of (209)\"]; \t\"Orphanet\" -> \"OBI\" [label=\"biolink:subclass_of (6)\"]; \t\"OBO\" -> \"RO\" [label=\"biolink:subclass_of (5)\"]; \t\"BSPO\" -> \"RO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"PMID\" -> \"ZFIN\" [label=\"biolink:related_to (101474)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:occurs_in (140)\"]; \t\"RGD\" -> \"WormBase\" [label=\"biolink:orthologous_to (15223)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:occurs_in (14)\"]; \t\"XCO\" -> \"XCO\" [label=\"biolink:subclass_of (769)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:related_to (99)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:overlaps (97)\"]; \t\"HGNC\" -> \"HP\" [label=\"biolink:has_phenotype (26)\"]; \t\"DOID\" -> \"NCIT\" [label=\"biolink:subclass_of (9445)\"]; \t\"SIO\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:part_of (2)\"]; \t\"GENO\" -> \"SO\" [label=\"biolink:subclass_of (31)\"]; \t\"ClinVarVariant\" -> \"OMIMPS\" [label=\"biolink:gene_associated_with_condition (14066)\"]; \t\"NCBIGene\" -> \"MGI\" [label=\"biolink:interacts_with (30)\"]; \t\"dbSNP\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (125680)\"]; \t\"GENO\" -> \"BFO\" [label=\"biolink:subclass_of (11)\"]; \t\"PMID\" -> \"HGNC\" [label=\"biolink:related_to (445544)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:occurs_in (305)\"]; \t\"dbSNP\" -> \"pigQTL\" [label=\"biolink:biomarker_for (87)\"]; \t\"HP\" -> \"https\" [label=\"biolink:related_to (778)\"]; \t\"SEPIO\" -> \"IAO\" [label=\"biolink:has_output (1)\"]; \t\"GENO\" -> \"CHEBI\" [label=\"biolink:subclass_of (1)\"]; \t\"Orphanet\" -> \"NCIT\" [label=\"biolink:subclass_of (5417)\"]; \t\"SEPIO\" -> \"prov\" [label=\"biolink:related_to (1)\"]; \t\"FlyBase\" -> \"FlyBase\" [label=\"biolink:related_to (190338)\"]; \t\"BIOGRID\" -> \"Orphanet\" [label=\"biolink:related_to (24)\"]; \t\"UBERON\" -> \"OBI\" [label=\"biolink:related_to (1)\"]; \t\"GENO\" -> \"OIO\" [label=\"biolink:subPropertyOf (13)\"]; \t\"CHEBI\" -> \"owl\" [label=\"biolink:subclass_of (11)\"]; \t\"FlyBase\" -> \"http\" [label=\"biolink:orthologous_to (664)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:overlaps (9)\"]; \t\"SO\" -> \"GENO\" [label=\"biolink:subclass_of (17)\"]; \t\"GENO\" -> \"owl\" [label=\"biolink:subPropertyOf (2)\"]; \t\"PMID\" -> \"RGD\" [label=\"biolink:related_to (302153)\"]; \t\"HGNC\" -> \"GO\" [label=\"biolink:part_of (23623)\"]; \t\"HGNC\" -> \"MGI\" [label=\"biolink:related_to (16839)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:has_part (16)\"]; \t\"SEPIO\" -> \"OBI\" [label=\"biolink:subclass_of (3)\"]; \t\"GO\" -> \"OBI\" [label=\"biolink:subclass_of (7)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:negatively_regulates_process_to_process (11)\"]; \t\"MONDO\" -> \"MP\" [label=\"biolink:subclass_of (14)\"]; \t\"EFO\" -> \"UPHENO\" [label=\"biolink:subclass_of (2169)\"]; \t\"dbSNP\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (66968)\"]; \t\"MGI\" -> \"APB\" [label=\"biolink:same_as (331)\"]; \t\"BIOGRID\" -> \"OMIM\" [label=\"biolink:has_phenotype (900)\"]; \t\"PANTHER\" -> \"MGI\" [label=\"biolink:related_to (20718)\"]; \t\"ENSEMBL\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (7595)\"]; \t\"ZP\" -> \"ZP\" [label=\"biolink:subclass_of (53288)\"]; \t\"GENO\" -> \"IAO\" [label=\"biolink:subclass_of (2)\"]; \t\"OBAN\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"MP\" -> \"OBO\" [label=\"biolink:subclass_of (336)\"]; \t\"OBO\" -> \"CL\" [label=\"biolink:subclass_of (1959)\"]; \t\"NCBIGene\" -> \"GO\" [label=\"biolink:part_of (65726)\"]; \t\"MONARCH_BNODE\" -> \"MONARCH\" [label=\"biolink:related_to (3051)\"]; \t\"RGD\" -> \"http\" [label=\"biolink:related_to (149)\"]; \t\"NCBIGene\" -> \"Xenbase\" [label=\"biolink:orthologous_to (93)\"]; \t\"BIOGRID\" -> \"OBO\" [label=\"biolink:related_to (3931)\"]; \t\"RGD\" -> \"FlyBase\" [label=\"biolink:orthologous_to (15099)\"]; \t\"OBO\" -> \"GO\" [label=\"biolink:subclass_of (37)\"]; \t\"NCBIGene\" -> \"ZFIN\" [label=\"biolink:interacts_with (826)\"]; \t\"MGI\" -> \"APB\" [label=\"biolink:related_to (37)\"]; \t\"ENSEMBL\" -> \"MGI\" [label=\"biolink:related_to (31253)\"]; \t\"MONARCH\" -> \"ENSEMBL\" [label=\"biolink:related_to (2)\"]; \t\"PMID\" -> \"BIOGRID\" [label=\"biolink:related_to (2207)\"]; \t\"XCO\" -> \"XCO\" [label=\"biolink:part_of (14)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"biolink:interacts_with (496)\"]; \t\"ECO\" -> \"owl\" [label=\"biolink:subclass_of (42)\"]; \t\"FBcv\" -> \"OBO\" [label=\"biolink:related_to (1)\"]; \t\"FlyBase\" -> \"OBO\" [label=\"biolink:related_to (11462)\"]; \t\"HGNC\" -> \"ZFIN\" [label=\"biolink:related_to (12161)\"]; \t\"HGNC\" -> \"Orphanet\" [label=\"biolink:biomarker_for (414)\"]; \t\"UBERON\" -> \"OBO\" [label=\"biolink:part_of (1)\"]; \t\"FlyBase\" -> \"FBcv\" [label=\"biolink:has_phenotype (149834)\"]; \t\"HGNC\" -> \"MGI\" [label=\"biolink:interacts_with (308)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:part_of (1)\"]; \t\"ZP\" -> \"HP\" [label=\"biolink:subclass_of (4014)\"]; \t\"MGI\" -> \"GENO\" [label=\"biolink:subclass_of (198)\"]; \t\"HGNC\" -> \"HGNC\" [label=\"biolink:related_to (3197)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:related_to (628)\"]; \t\"WBPhenotype\" -> \"UBERON\" [label=\"biolink:subclass_of (106)\"]; \t\"MONARCH_BNODE\" -> \"MGI\" [label=\"biolink:related_to (197626)\"]; \t\"https\" -> \"MONDO\" [label=\"biolink:related_to (7)\"]; \t\"PANTHER\" -> \"ZFIN\" [label=\"biolink:related_to (19245)\"]; \t\"horseQTL\" -> \"NCBIGene\" [label=\"biolink:related_to (153)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:has_input (298)\"]; \t\"APO\" -> \"UPHENO\" [label=\"biolink:subclass_of (8)\"]; \t\"KEGG-ko\" -> \"MONARCH_BNODE\" [label=\"biolink:has_gene_product (12747)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:has_gene_product (1)\"]; \t\"FBcv\" -> \"OBO\" [label=\"biolink:subclass_of (22)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:produces (22)\"]; \t\"PANTHER\" -> \"HGNC\" [label=\"biolink:related_to (19206)\"]; \t\"MGI\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (7104)\"]; \t\"NCBITaxon\" -> \"GO\" [label=\"biolink:subclass_of (46)\"]; \t\"FlyBase\" -> \"FlyBase\" [label=\"biolink:interacts_with (60276)\"]; \t\"BFO\" -> \"BFO\" [label=\"biolink:inverseOf (5)\"]; \t\"FlyBase\" -> \"PomBase\" [label=\"biolink:orthologous_to (1980)\"]; \t\"MGI\" -> \"MP\" [label=\"biolink:has_phenotype (598266)\"]; \t\"OBO\" -> \"UBERON\" [label=\"biolink:related_to (8)\"]; \t\"HGNC\" -> \"RGD\" [label=\"biolink:related_to (15668)\"]; \t\"ZFIN\" -> \"HGNC\" [label=\"biolink:orthologous_to (4748)\"]; \t\"Xenbase\" -> \"SO\" [label=\"biolink:subclass_of (15904)\"]; \t\"MONARCH_BNODE\" -> \"HGNC\" [label=\"biolink:has_phenotype (627)\"]; \t\"dbSNP\" -> \"rainbow_troutQTL\" [label=\"biolink:biomarker_for (440)\"]; \t\"MONDO\" -> \"PR\" [label=\"biolink:related_to (20)\"]; \t\"ENSEMBL\" -> \"ZFIN\" [label=\"biolink:related_to (119500)\"]; \t\"NCBIGene\" -> \"dictyBase\" [label=\"biolink:related_to (42)\"]; \t\"OMIM\" -> \"dbSNP\" [label=\"biolink:related_to (108)\"]; \t\"faldo\" -> \"faldo\" [label=\"biolink:subclass_of (13)\"]; \t\"NCBIGene\" -> \"SGD\" [label=\"biolink:related_to (45)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:related_to (9)\"]; \t\"Xenbase\" -> \"ENSEMBL\" [label=\"biolink:related_to (113)\"]; \t\"BIOGRID\" -> \"SO\" [label=\"biolink:subclass_of (2219)\"]; \t\"ClinVarVariant\" -> \"OMIM\" [label=\"biolink:related_to (135398)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (1)\"]; \t\"MP\" -> \"FBcv\" [label=\"biolink:subclass_of (263)\"]; \t\"NCBIGene\" -> \"SO\" [label=\"biolink:subclass_of (542874)\"]; \t\"MONARCH_NODE\" -> \"DOID\" [label=\"biolink:has_phenotype (38)\"]; \t\"SGD\" -> \"OBO\" [label=\"biolink:related_to (6439)\"]; \t\"ZFIN\" -> \"http\" [label=\"biolink:related_to (146)\"]; \t\"GENO\" -> \"SO\" [label=\"biolink:related_to (9)\"]; \t\"ZFIN\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (2755)\"]; \t\"MGI\" -> \"ZFIN\" [label=\"biolink:orthologous_to (26613)\"]; \t\"PANTHER\" -> \"RGD\" [label=\"biolink:related_to (18137)\"]; \t\"CLO\" -> \"owl\" [label=\"biolink:subPropertyOf (1)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"biolink:related_to (8)\"]; \t\"BIOGRID\" -> \"NCBIGene\" [label=\"biolink:same_as (55)\"]; \t\"FlyBase\" -> \"NCBIGene\" [label=\"biolink:related_to (11963)\"]; \t\"MGI\" -> \"GO\" [label=\"biolink:actively_involved_in (148562)\"]; \t\"ZFIN\" -> \"OBO\" [label=\"biolink:expressed_in (512)\"]; \t\"HGNC\" -> \"CL\" [label=\"biolink:expressed_in (9853)\"]; \t\"http\" -> \"UMLS\" [label=\"biolink:subclass_of (27412)\"]; \t\"UBERON\" -> \"GENO\" [label=\"biolink:subclass_of (2)\"]; \t\"ZFIN\" -> \"ZP\" [label=\"biolink:has_phenotype (189573)\"]; \t\"RGD\" -> \"PomBase\" [label=\"biolink:related_to (2450)\"]; \t\"MP\" -> \"NCIT\" [label=\"biolink:subclass_of (3)\"]; \t\"NCBIGene\" -> \"WormBase\" [label=\"biolink:related_to (144)\"]; \t\"https\" -> \"NCBITaxon\" [label=\"biolink:related_to (206)\"]; \t\"OBO\" -> \"CHEBI\" [label=\"biolink:related_to (25)\"]; \t\"GO\" -> \"ENVO\" [label=\"biolink:subclass_of (4)\"]; \t\"OBO\" -> \"PO\" [label=\"biolink:derives_from (4)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:regulates_process_to_process (80)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:has_participant (3)\"]; \t\"ENSEMBL\" -> \"GO\" [label=\"biolink:actively_involved_in (120005)\"]; \t\"MGI\" -> \"http\" [label=\"biolink:related_to (158)\"]; \t\"HGNC\" -> \"ZFIN\" [label=\"biolink:interacts_with (2)\"]; \t\"dbSNP\" -> \"HGNC\" [label=\"biolink:related_to (97824)\"]; \t\"ENSEMBL\" -> \"RGD\" [label=\"biolink:related_to (29189)\"]; \t\"MONARCH_BNODE\" -> \"HGNC\" [label=\"biolink:biomarker_for (1)\"]; \t\"HGNC\" -> \"BIOGRID\" [label=\"biolink:related_to (1)\"]; \t\"MONARCH_BNODE\" -> \"ZFIN\" [label=\"biolink:related_to (51246)\"]; \t\"MESH\" -> \"MESH\" [label=\"biolink:biomarker_for (64340)\"]; \t\"RO\" -> \"RO\" [label=\"biolink:related_to (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:has_part (20)\"]; \t\"OBO\" -> \"BSPO\" [label=\"biolink:subPropertyOf (6)\"]; \t\"DOID\" -> \"owl\" [label=\"biolink:subclass_of (8)\"]; \t\"http\" -> \"UBERON\" [label=\"biolink:subclass_of (14)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:derives_from (18)\"]; \t\"HGNC\" -> \"HGNC\" [label=\"biolink:interacts_with (63079)\"]; \t\"MGI\" -> \"RGD\" [label=\"biolink:orthologous_to (4850)\"]; \t\"MONARCH_BNODE\" -> \"HGNC\" [label=\"biolink:related_to (50)\"]; \t\"GO\" -> \"PO\" [label=\"biolink:occurs_in (10)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:has_participant (3)\"]; \t\"HP\" -> \"biolink\" [label=\"biolink:subclass_of (394)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_participant (3)\"]; \t\"HP\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (121)\"]; \t\"Orphanet\" -> \"owl\" [label=\"biolink:subclass_of (13)\"]; \t\"BIOGRID\" -> \"OMIM\" [label=\"biolink:biomarker_for (56)\"]; \t\"AspGD\" -> \"GO\" [label=\"biolink:actively_involved_in (244871)\"]; \t\"UPHENO\" -> \"owl\" [label=\"biolink:subclass_of (7)\"]; \t\"MONARCH_NODE\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (78988)\"]; \t\"faldo\" -> \"rdf\" [label=\"biolink:subclass_of (2)\"]; \t\"RGD\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (1175)\"]; \t\"GENO\" -> \"NCBITaxon\" [label=\"biolink:related_to (2)\"]; \t\"CLO\" -> \"CLO\" [label=\"biolink:related_to (2)\"]; \t\"dbSNP\" -> \"chickenQTL\" [label=\"biolink:biomarker_for (1992)\"]; \t\"OBO\" -> \"IAO\" [label=\"biolink:related_to (1)\"]; \t\"MGI\" -> \"MMRRC\" [label=\"biolink:same_as (2)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"biolink:part_of (12616)\"]; \t\"http\" -> \"MONDO\" [label=\"biolink:subclass_of (57130)\"]; \t\"STATO\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"http\" -> \"BFO\" [label=\"biolink:subclass_of (5)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"biolink:related_to (7)\"]; \t\"HGNC\" -> \"HP\" [label=\"biolink:related_to (6)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:subPropertyOf (17)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:has_part (109)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:has_output (1)\"]; \t\"MONARCH_BNODE\" -> \"RGD\" [label=\"biolink:related_to (1)\"]; \t\"ECO\" -> \"GO\" [label=\"biolink:related_to (83)\"]; \t\"FBcv\" -> \"FBcv\" [label=\"biolink:subclass_of (198)\"]; \t\"IAO\" -> \"BFO\" [label=\"biolink:subclass_of (5)\"]; \t\"RGD\" -> \"GO\" [label=\"biolink:actively_involved_in (146383)\"]; \t\"BIOGRID\" -> \"OMIM\" [label=\"biolink:contributes_to (341)\"]; \t\"pigQTL\" -> \"pigQTL\" [label=\"biolink:biomarker_for (60)\"]; \t\"IAO\" -> \"CHEBI\" [label=\"biolink:subclass_of (1)\"]; \t\"OBO\" -> \"Orphanet\" [label=\"biolink:subclass_of (19463)\"]; \t\"Xenbase\" -> \"SGD\" [label=\"biolink:orthologous_to (2900)\"]; \t\"WormBase\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (2671)\"]; \t\"WD_Entity\" -> \"ENVO\" [label=\"biolink:type (4)\"]; \t\"MGI\" -> \"MMRRC\" [label=\"biolink:related_to (459)\"]; \t\"NCBIGene\" -> \"FlyBase\" [label=\"biolink:related_to (133)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:has_output (6)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_attribute (10)\"]; \t\"HGNC\" -> \"EcoGene\" [label=\"biolink:orthologous_to (952)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:has_input (1)\"]; \t\"UBERON\" -> \"CL\" [label=\"biolink:subclass_of (5)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:subPropertyOf (8)\"]; \t\"BIOGRID\" -> \"HGNC\" [label=\"biolink:interacts_with (3)\"]; \t\"SEPIO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"dictyBase\" -> \"GO\" [label=\"biolink:part_of (20328)\"]; \t\"sheepQTL\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (2922)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:has_output (100)\"]; \t\"Xenbase\" -> \"WormBase\" [label=\"biolink:orthologous_to (9980)\"]; \t\"GO\" -> \"owl\" [label=\"biolink:subclass_of (6154)\"]; \t\"ClinVarVariant\" -> \"HGNC\" [label=\"biolink:gene_associated_with_condition (329)\"]; \t\"foaf\" -> \"foaf\" [label=\"biolink:subPropertyOf (12)\"]; \t\"HGNC\" -> \"BIOGRID\" [label=\"biolink:interacts_with (13)\"]; \t\"ZFIN\" -> \"PomBase\" [label=\"biolink:related_to (2482)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:has_part (9)\"]; \t\"OBO\" -> \"PO\" [label=\"biolink:subclass_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:coexists_with (59)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:subclass_of (10)\"]; \t\"pigQTL\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (16045)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"biolink:related_to (4268)\"]; \t\"PR\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:subclass_of (167)\"]; \t\"NCBIGene\" -> \"Orphanet\" [label=\"biolink:related_to (2)\"]; \t\"FlyBase\" -> \"NCBIGene\" [label=\"biolink:interacts_with (23)\"]; \t\"ENSEMBL\" -> \"EcoGene\" [label=\"biolink:orthologous_to (926)\"]; \t\"MONARCH_NODE\" -> \"MP\" [label=\"biolink:has_phenotype (34185)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:subclass_of (93638)\"]; \t\"MONARCH_BNODE\" -> \"RO\" [label=\"owl:onProperty (233)\"]; \t\"GENO\" -> \"OBAN\" [label=\"biolink:subclass_of (1)\"]; \t\"dbSNP\" -> \"HP\" [label=\"biolink:related_to (2703)\"]; \t\"ECO\" -> \"ECO\" [label=\"biolink:subclass_of (3014)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:located_in (2)\"]; \t\"RGD\" -> \"VGNC\" [label=\"biolink:related_to (8)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:related_to (89)\"]; \t\"MGI\" -> \"PomBase\" [label=\"biolink:related_to (2554)\"]; \t\"pav\" -> \"SEPIO\" [label=\"biolink:subPropertyOf (3)\"]; }';\n  var data = vis.parseDOTNetwork(dot);\n  var options = {\n    layout: {\n        hierarchical: {\n            direction: \"LR\"\n        }\n    },\n    physics: {\n      hierarchicalRepulsion: {\n        avoidOverlap: 10\n      }\n    },\n    dragNodes: 'true',\n    hideEdgesOnDrag: 'true',\n    hideNodesOnDrag: 'true'\n  };\n  var network = new vis.Network(container, data, options);\n</script>\n</html>\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/sri-reference-kg-0.2.0/sri-reference-kg-0.2.0-subject_predicate_object_count.tsv",
    "content": "subject CURIE prefix\tobject CURIE prefix\tpredicate\tedge count\nSGD\tSO\tbiolink:subclass_of\t6439\nWormBase\tWormBase\tbiolink:interacts_with\t45129\nGENO\tUPHENO\tbiolink:object\t1\nClinVarVariant\tGENO\tbiolink:related_to\t190\nWormBase\thttp\tbiolink:related_to\t133\ndbSNP\tEFO\tbiolink:related_to\t163561\nRGD\tXenbase\tbiolink:related_to\t10129\nRGD\tGO\tbiolink:enables\t61929\nECO\tECO\tbiolink:has_part\t11\nMONARCH_BNODE\tHP\tbiolink:related_to\t45\nSEPIO\tSEPIO\tbiolink:subPropertyOf\t14\nAspGD\tGO\tbiolink:enables\t272945\nRO\tGENO\tbiolink:subPropertyOf\t6\nGO\tCL\tbiolink:overlaps\t27\nKEGG-path\tGO\tbiolink:subclass_of\t537\nVGNC\tSGD\tbiolink:related_to\t4\nFAO\tFAO\tbiolink:part_of\t4\nMONARCH_BNODE\tEFO\tbiolink:related_to\t3375\nhttp\tfoaf\tbiolink:subclass_of\t7\nRO\tRO\tbiolink:subPropertyOf\t626\nGO\tGO\tbiolink:overlaps\t26\nZP\tUBERON\tbiolink:subclass_of\t5407\nRGD\tMP\tbiolink:has_phenotype\t1009\nNCBIGene\tOBO\tbiolink:related_to\t578172\nDOID\tHP\tbiolink:subclass_of\t12\nhttps\thttps\tbiolink:biomarker_for\t97442\nZFIN\tGENO\tbiolink:subclass_of\t15\nVGNC\tWormBase\tbiolink:related_to\t1\nFlyBase\tGO\tbiolink:enables\t22788\nXenbase\tFlyBase\tbiolink:orthologous_to\t9546\nJAX\tMONARCH_BNODE\tbiolink:related_to\t114\nOBI\tCL\tbiolink:related_to\t5\nOrphanet\tHP\tbiolink:subclass_of\t7\nNCBITaxon\tOBO\tbiolink:subclass_of\t31\nHP\tCL\tbiolink:subclass_of\t116\nOBI\tRO\tbiolink:subPropertyOf\t6\nZFIN\tGO\tbiolink:actively_involved_in\t65188\nHGNC\tMONARCH_BNODE\tbiolink:has_sequence_location\t10886\nOBI\tGO\tbiolink:related_to\t3\nGENO\tNCBITaxon\tbiolink:in_taxon\t3\nOBI\tOBO\tbiolink:has_part\t3\nMONARCH_NODE\tWormBase\tbiolink:related_to\t7\nHP\tGO\tbiolink:subclass_of\t211\nPMID\tKEGG-path\tbiolink:related_to\t6336\nHGNC\tENSEMBL\tbiolink:same_as\t1507\nCL\tCL\tbiolink:derives_from\t1\nMP\towl\tbiolink:subclass_of\t441\nOBO\tOBI\tbiolink:subclass_of\t29\nchickenQTL\tNCBIGene\tbiolink:biomarker_for\t6461\nCL\tCL\tbiolink:related_to\t411\nMONARCH\tHGNC\tbiolink:model_of\t1\nNCBIGene\tpigQTL\tbiolink:biomarker_for\t107\nCL\tGO\tbiolink:related_to\t149\nBSPO\tBSPO\tbiolink:related_to\t7\nNCBIGene\tdictyBase\tbiolink:orthologous_to\t399\nWormBase\tWBPhenotype\tbiolink:has_phenotype\t106355\nFlyBase\tUBERON\tbiolink:expressed_in\t52120\nGeneReviews\tDOID\tbiolink:subclass_of\t737\nKEGG-ko\tDATA\tbiolink:subclass_of\t23530\nNCBIGene\tSGD\tbiolink:orthologous_to\t142\nNCBIGene\tNCBIGene\tbiolink:related_to\t64258\nMP\tUPHENO\tbiolink:subclass_of\t2\nwgs\towl\tbiolink:subclass_of\t1\nOMIA\tCL\tbiolink:has_phenotype\t3\nSGD\tGO\tbiolink:part_of\t23564\nCL\tGO\tbiolink:produces\t15\nCHEBI\tGO\tbiolink:has_phenotype\t10\nHGNC\tHGNC\tbiolink:has_gene_product\t2\nOBO\tNCIT\tbiolink:subclass_of\t18537\nCHEBI\tSO\tbiolink:subclass_of\t26\nNCBIGene\tOMIMPS\tbiolink:related_to\t6\nHGNC\tENSEMBL\tbiolink:orthologous_to\t82378\nCHEBI\tBFO\tbiolink:subclass_of\t7\nGENO\tBFO\tbiolink:subPropertyOf\t4\nOBO\tOBO\tbiolink:has_output\t1\nWormBase\tPomBase\tbiolink:related_to\t2261\nOMIA\tGO\tbiolink:has_phenotype\t11\nMGI\tVGNC\tbiolink:related_to\t8\nVGNC\tFlyBase\tbiolink:related_to\t7\nCHEBI\tCHEBI\tbiolink:subclass_of\t192269\nNCBIGene\tNCBIGene\tbiolink:biomarker_for\t22754\nNCBIGene\tWormBase\tbiolink:orthologous_to\t986\nBSPO\tOBO\tbiolink:related_to\t1\nWormBase\tGO\tbiolink:actively_involved_in\t34343\nMGI\tXenbase\tbiolink:related_to\t10621\nENVO\tENVO\tbiolink:has_output\t14\nPR\tFlyBase\tbiolink:related_to\t7\nCLO\tCLO\tbiolink:subclass_of\t38837\nGO\tPR\tbiolink:has_part\t2\nNCBITaxon\tOBI\tbiolink:subclass_of\t1\nENSEMBL\tENSEMBL\tbiolink:orthologous_to\t573072\nENVO\tUBERON\tbiolink:related_to\t1\nCL\tOBO\tbiolink:has_part\t29\nECO\tOBO\tbiolink:related_to\t2\nBIOGRID\tHGNC\tbiolink:same_as\t26\nUMLS\tOrphanet\tbiolink:subclass_of\t15436\nFBcv\towl\tbiolink:subclass_of\t1\nGO\tCL\tbiolink:part_of\t153\nCoriell\tCLO\tbiolink:derives_from\t119\nOBI\tOBI\tbiolink:has_part\t54\nMP\tZP\tbiolink:subclass_of\t553\nMONARCH_BNODE\tNCIT\tbiolink:has_part\t164\nSGD\tMONARCH_NODE\tbiolink:has_phenotype\t60168\nSO\tGENO\tbiolink:has_part\t1\nMONARCH_BNODE\thttps\tbiolink:related_to\t75558\nOBI\tCL\tbiolink:derives_from\t1\nGO\tGO\tbiolink:part_of\t9112\nMESH\tOMIM\tbiolink:biomarker_for\t11\nWormBase\tUBERON\tbiolink:expressed_in\t25331\nMONARCH\tdbSNP\tbiolink:related_to\t13167\nHGNC\tEcoGene\tbiolink:related_to\t287\nCL\tGO\tbiolink:capable_of\t361\nENVO\tBFO\tbiolink:related_to\t1\nRGD\tUniProtKB\tbiolink:has_gene_product\t606\nFBcv\tUPHENO\tbiolink:subclass_of\t1\nENVO\tCHEBI\tbiolink:related_to\t17\nZFIN\tZFIN\tbiolink:genetically_interacts_with\t17\nFlyBase\tMGI\tbiolink:interacts_with\t3\nGO\tUBERON\tbiolink:related_to\t1243\nPR\tOBO\tbiolink:has_part\t7\nMONARCH_BNODE\tOMIM\tbiolink:contributes_to\t51\nHP\thttp\tbiolink:related_to\t400\nRGD\tZFIN\tbiolink:orthologous_to\t18674\nPANTHER\tEcoGene\tbiolink:related_to\t631\nUBERON\tOBO\tbiolink:subclass_of\t460\nOBO\tOGMS\tbiolink:related_to\t1\nMONARCH_BNODE\tPMID\tbiolink:related_to\t302498\nXenbase\tNCBIGene\tbiolink:orthologous_to\t249\nOBAN\tIAO\tbiolink:subclass_of\t1\nZFIN\tEcoGene\tbiolink:orthologous_to\t1069\nXenbase\tPomBase\tbiolink:related_to\t2173\nUBERON\tGO\tbiolink:capable_of\t124\nUMLS\tOBO\tbiolink:subclass_of\t31149\nFlyBase\tUniProtKB\tbiolink:has_gene_product\t2587\nNCBIGene\tFlyBase\tbiolink:orthologous_to\t1101\nOrphanet\tHP\tbiolink:related_to\t69\nMONARCH_BNODE\tdbSNPIndividual\tbiolink:related_to\t2961\nSEPIO\tRO\tbiolink:subPropertyOf\t4\nGO\tSO\tbiolink:related_to\t66\nCHEBI\tCHEBI\tbiolink:has_part\t3795\nJAX\tJAX\tbiolink:related_to\t4\nOBI\tSTATO\tbiolink:subclass_of\t3\nENSEMBL\tEcoGene\tbiolink:related_to\t264\nPR\towl\tbiolink:subclass_of\t59\nMP\tHP\tbiolink:subclass_of\t8108\nOBO\tENVO\tbiolink:subclass_of\t4\nFAO\tOBO\tbiolink:subclass_of\t4\nMonarchData\thttps\towl:versionIRI\t1\nWormBase\tGO\tbiolink:enables\t28231\nGO\tCHEBI\tbiolink:related_to\t5698\nWormBase\tNCBIGene\tbiolink:interacts_with\t283\nMGI\tEcoGene\tbiolink:orthologous_to\t986\nENVO\tNCBITaxon\tbiolink:related_to\t7\nGO\tGO\tbiolink:precedes\t1\nOMIA\tMONDO\tbiolink:subclass_of\t1758\nECO\tIAO\tbiolink:subclass_of\t1\nFBcv\tZP\tbiolink:subclass_of\t70\nOrphanet\tHP\tbiolink:has_phenotype\t95937\nECO\tOBI\tbiolink:related_to\t124\nDOID\tUMLS\tbiolink:subclass_of\t13059\nMGI\tGO\tbiolink:enables\t82475\nHGNC\tOMIM\tbiolink:contributes_to\t843\nGO\tFAO\tbiolink:related_to\t17\nMONARCH_BNODE\thttps\tbiolink:part_of\t29389\nhttp\tDOID\tbiolink:subclass_of\t18439\nrdf\towl\tbiolink:subclass_of\t2\nMONARCH\tOMIA\tbiolink:has_phenotype\t897\ndbSNP\tMONDO\tbiolink:related_to\t111\nVGNC\tSGD\tbiolink:orthologous_to\t2\nCL\tGO\tbiolink:participates_in\t18\nCLO\tCLO\tbiolink:derives_from\t1\nhttp\tOGMS\tbiolink:subclass_of\t25\nMONARCH_BNODE\tNCBITaxon\towl:someValuesFrom\t233\nOrphanet\tUMLS\tbiolink:subclass_of\t13030\nMGI\tUBERON\tbiolink:expressed_in\t356928\nOBI\tSO\tbiolink:subclass_of\t2\nOBI\tMONDO\tbiolink:subclass_of\t2\nDOID\tUBERON\tbiolink:subclass_of\t1\nWormBase\tGO\tbiolink:has_phenotype\t3795\nOBI\tBFO\tbiolink:subclass_of\t50\nZFIN\tDOID\tbiolink:model_of\t1195\nchickenQTL\tchickenQTL\tbiolink:biomarker_for\t2131\nMONARCH_BNODE\tMONDO\tbiolink:related_to\t23\nOBI\tCHEBI\tbiolink:subclass_of\t15\nPR\tGO\tbiolink:capable_of\t14\nFlyBase\tHGNC\tbiolink:interacts_with\t42\nfoaf\tdcterms\tbiolink:subclass_of\t4\nGO\tNCBITaxon\tbiolink:related_to\t683\nHGNC\tGO\tbiolink:actively_involved_in\t39884\nClinVarVariant\tOrphanet\tbiolink:related_to\t2193\nNCIT\tOrphanet\tbiolink:subclass_of\t4801\nIAO\tOIO\tbiolink:type\t1\nClinVarVariant\tUMLS\tbiolink:gene_associated_with_condition\t55137\nUBERON\tPR\tbiolink:produces\t5\nCoriell\tHGNC\tbiolink:model_of\t741\nIAO\towl\tbiolink:type\t2\ndbSNP\thttps\tbiolink:biomarker_for\t94336\nOBI\tOBO\tbiolink:related_to\t6\nDOID\tMONDO\tbiolink:subclass_of\t26067\nUMLS\tOBI\tbiolink:subclass_of\t18\nDOID\tBFO\tbiolink:subclass_of\t1\nfoaf\tfoaf\tbiolink:inverseOf\t4\nHP\tOBO\tbiolink:subclass_of\t185\nWBPhenotype\tMP\tbiolink:subclass_of\t192\ndictyBase\tUniProtKB\tbiolink:has_gene_product\t332\nFBcv\tHP\tbiolink:subclass_of\t25\nNCBIGene\tHGNC\tbiolink:same_as\t1881\nNCBIGene\tMGI\tbiolink:related_to\t14473\nchickenQTL\tMONARCH_BNODE\tbiolink:has_sequence_location\t16494\nMONARCH\tOMIM\tbiolink:related_to\t1\nOrphanet\tMONDO\tbiolink:subclass_of\t28520\nNCBIGene\tchickenQTL\tbiolink:biomarker_for\t1\nFlyBase\tdictyBase\tbiolink:orthologous_to\t5816\nOrphanet\tBFO\tbiolink:subclass_of\t1\nSEPIO\tSEPIO\tbiolink:has_output\t1\nhttp\thttp\tbiolink:subclass_of\t28707\nOBO\tOIO\tbiolink:subclass_of\t11\nFlyBase\tSGD\tbiolink:orthologous_to\t2518\nOBI\tIAO\tbiolink:subclass_of\t23\nZFIN\tMONARCH_BNODE\tbiolink:related_to\t63616\nOBO\towl\tbiolink:subclass_of\t1378\nCLO\tGENO\tbiolink:subclass_of\t1\nhttps\tOIO\tbiolink:subclass_of\t7\nhttps\tAQTLTrait\tbiolink:biomarker_for\t121393\nUBERON\tUBERON\tbiolink:related_to\t6521\nGO\tGO\tbiolink:affects_localization_of\t6\nPW\tPW\tbiolink:subclass_of\t3117\nPomBase\tGO\tbiolink:part_of\t16735\nUMLS\tNCIT\tbiolink:subclass_of\t14968\nZFIN\tNCBIGene\tbiolink:interacts_with\t575\nZFIN\tMONARCH_BNODE\tbiolink:has_sequence_location\t18712\npigQTL\tNCBIGene\tbiolink:related_to\t662\nGO\tCL\tbiolink:has_input\t69\nSIO\tBFO\tbiolink:subclass_of\t1\nMGI\tGO\tbiolink:has_phenotype\t23069\nGENO\tIAO\tbiolink:inverseOf\t1\nNCIT\tOBO\tbiolink:subclass_of\t15152\nHGNC\tENSEMBL\tbiolink:related_to\t160551\nClinVarVariant\tMONDO\tbiolink:gene_associated_with_condition\t19155\nBIOGRID\tOrphanet\tbiolink:biomarker_for\t1\nSGD\tAPO\tbiolink:has_phenotype\t8507\nGO\tUBERON\tbiolink:subclass_of\t1\nCoriell\tMONARCH_BNODE\tbiolink:derives_from\t30624\nGO\tGO\tbiolink:has_input\t123\nENVO\tENVO\tbiolink:has_participant\t10\nMGI\tMONARCH_BNODE\tbiolink:related_to\t494740\nKEGG-path\tPW\tbiolink:subclass_of\t537\nRO\tOBO\tbiolink:subPropertyOf\t1\nOMIA\tOBO\tbiolink:has_phenotype\t35\nRGD\tdictyBase\tbiolink:related_to\t3223\nMONDO\tCL\tbiolink:related_to\t126\nHGNC\thttp\tbiolink:orthologous_to\t966\nENVO\tRO\tbiolink:subclass_of\t1\nWormBase\tEcoGene\tbiolink:orthologous_to\t847\nRGD\tSGD\tbiolink:related_to\t2352\nPANTHER\tENSEMBL\tbiolink:related_to\t195305\nZFIN\tMONARCH_BNODE\tbiolink:has_part\t5909\nWormBase\tMONARCH_BNODE\tbiolink:has_sequence_location\t973977\nNCBIGene\tNCBIGene\tbiolink:orthologous_to\t26\nUBERON\tCHEBI\tbiolink:related_to\t12\nMONDO\tGO\tbiolink:related_to\t467\nSEPIO\tBFO\tbiolink:subclass_of\t7\nGO\tBFO\tbiolink:subclass_of\t3\nfoaf\towl\tbiolink:subclass_of\t6\nSEPIO\tCHEBI\tbiolink:subclass_of\t3\nSO\towl\tbiolink:subclass_of\t242\nGO\tPO\tbiolink:part_of\t9\nRGD\tWormBase\tbiolink:related_to\t4685\nENSEMBL\tSO\tbiolink:subclass_of\t5384\nZFIN\tGO\tbiolink:enables\t53364\nOBI\tOBI\tbiolink:related_to\t227\nSIO\tIAO\tbiolink:subclass_of\t1\nhttp\tMP\tbiolink:subclass_of\t13\nENSEMBL\tENSEMBL\tbiolink:related_to\t530874\nNCBIGene\tZFIN\tbiolink:related_to\t8456\nNCBIGene\tGO\tbiolink:actively_involved_in\t129041\nIAO\tOBO\tbiolink:related_to\t3\nCoriellCollection\tCoriellCollection\tbiolink:related_to\t4\nENSEMBL\thttp\tbiolink:orthologous_to\t890\nNCBITaxon\towl\tbiolink:subclass_of\t148\nMONARCH_BNODE\tAQTLTrait\tbiolink:has_phenotype\t1815\nBFO\tOIO\tbiolink:subclass_of\t1\nBFO\towl\tbiolink:subclass_of\t1\nENVO\tCHEBI\tbiolink:has_part\t3\nNCBIGene\tHGNC\tbiolink:related_to\t7414\nMGI\tENSEMBL\tbiolink:orthologous_to\t133358\nMMRRC\tMONARCH_BNODE\tbiolink:related_to\t50892\nRO\tRO\tbiolink:subclass_of\t2\nsheepQTL\tsheepQTL\tbiolink:biomarker_for\t3411\nHP\tFBcv\tbiolink:subclass_of\t82\nMONDO\tOrphanet\tbiolink:subclass_of\t28521\nClinVarVariant\tNCBIGene\tbiolink:related_to\t79\nNCBIGene\tOMIM\tbiolink:contributes_to\t11\nPO\tPO\tbiolink:subclass_of\t287\nhttp\twgs\tbiolink:subclass_of\t2\ndbSNP\tENSEMBL\tbiolink:related_to\t51185\nUBERON\tNCBITaxon\tbiolink:related_to\t749\nCL\tOBI\tbiolink:related_to\t1\nClinVarVariant\tOMIMPS\tbiolink:related_to\t19963\nGO\tCL\tbiolink:has_participant\t28\nIAO\tIAO\tbiolink:has_part\t28\nSEPIO\tIAO\tbiolink:subclass_of\t10\nHP\tNCIT\tbiolink:subclass_of\t6\nPO\tOBO\tbiolink:subclass_of\t2\nNCBIGene\tRGD\tbiolink:related_to\t8918\nNCIT\tOBI\tbiolink:subclass_of\t6\nCoriell\tCL\tbiolink:derives_from\t30505\nGO\tGO\tbiolink:has_participant\t65\nMP\tUMLS\tbiolink:subclass_of\t3\nUBERON\tOBO\tbiolink:capable_of\t2\nGO\tNCBITaxon\tbiolink:subclass_of\t2\nCL\tUBERON\tbiolink:located_in\t13\nUBERON\tENVO\tbiolink:subclass_of\t1\nFlyBase\tGO\tbiolink:actively_involved_in\t42834\nWormBase\tMGI\tbiolink:interacts_with\t2\nCoriellCollection\tCoriell\tbiolink:related_to\t30624\nNCBIGene\tFlyBase\tbiolink:genetically_interacts_with\t16\nZFIN\tGO\tbiolink:part_of\t46379\nhttp\tprov\tbiolink:subclass_of\t2\nZFIN\tdictyBase\tbiolink:related_to\t3209\nCL\tCL\tbiolink:subclass_of\t4930\nMP\tUBERON\tbiolink:subclass_of\t2017\nMONDO\tOBO\tbiolink:subclass_of\t60187\nZFIN\tSGD\tbiolink:related_to\t2379\nNCIT\tNCIT\tbiolink:subclass_of\t9372\nRGD\tFlyBase\tbiolink:related_to\t5488\nprov\tSEPIO\tbiolink:related_to\t1\nOMIM\tOBO\tbiolink:related_to\t48\nCL\tGO\tbiolink:subclass_of\t44\nOBO\tPO\tbiolink:has_part\t1\nOBO\tHP\tbiolink:subclass_of\t38\nMONARCH\tMONARCH_BNODE\tbiolink:related_to\t5\nHGNC\tPomBase\tbiolink:orthologous_to\t3419\nNCBIGene\tBIOGRID\tbiolink:related_to\t1093\nIAO\tOBI\tbiolink:related_to\t7\nMGI\tdictyBase\tbiolink:related_to\t3358\nREACT\tGO\tbiolink:subclass_of\t15909\nZFIN\tWormBase\tbiolink:related_to\t4682\nXenbase\tZFIN\tbiolink:orthologous_to\t6756\nMP\tMONDO\tbiolink:subclass_of\t3\nMGI\tMONARCH_BNODE\tbiolink:has_sequence_location\t297818\nMGI\tJAX\tbiolink:same_as\t12\nGO\tGO\tbiolink:affects\t6013\nMGI\tSGD\tbiolink:related_to\t2452\nOBO\tOBO\tbiolink:has_part\t12\nENSEMBL\tCL\tbiolink:expressed_in\t2195\nhorseQTL\tAQTLTrait\tbiolink:biomarker_for\t1562\nfoaf\tSEPIO\tbiolink:related_to\t2\nENVO\tPO\tbiolink:derives_from\t1\nPomBase\tGO\tbiolink:actively_involved_in\t13919\nfaldo\tGENO\tbiolink:subclass_of\t1\nPR\tMGI\tbiolink:related_to\t198\nBSPO\tBSPO\tbiolink:overlaps\t75\nENSEMBL\tPomBase\tbiolink:orthologous_to\t18699\nUBERON\tUBERON\tbiolink:part_of\t9960\nMGI\tWormBase\tbiolink:related_to\t4875\nrainbow_troutQTL\tHGNC\tbiolink:related_to\t2\nGO\tGO\tbiolink:capable_of\t511\nMGI\tJAX\tbiolink:related_to\t22008\nSTATO\tSTATO\tbiolink:subclass_of\t21\nBSPO\tBSPO\tbiolink:inverseOf\t9\nENVO\tWD_Entity\tbiolink:related_to\t1\ndbSNPIndividual\tMONARCH_BNODE\tbiolink:related_to\t3045\nFlyBase\tEcoGene\tbiolink:related_to\t251\nCLO\tCL\tbiolink:derives_from\t1\nZP\tMP\tbiolink:subclass_of\t6191\nUBERON\towl\tbiolink:subclass_of\t1507\nWormBase\tHGNC\tbiolink:interacts_with\t8\nRGD\tGO\tbiolink:has_phenotype\t2\nZFIN\tMGI\tbiolink:interacts_with\t1\nOMIM\tNCBIGene\tbiolink:related_to\t24\nUMLS\towl\tbiolink:subclass_of\t15\nNCBIGene\tCL\tbiolink:expressed_in\t256\nRGD\tOBO\tbiolink:related_to\t43897\nMONDO\tOBI\tbiolink:subclass_of\t32\nGENO\tGENO\tbiolink:subclass_of\t183\nBSPO\tBSPO\tbiolink:coexists_with\t33\nCHEBI\tPR\tbiolink:subclass_of\t6\nPW\towl\tbiolink:subclass_of\t106\nUCSC\tMONARCH_NODE\tbiolink:related_to\t329\nVGNC\tZFIN\tbiolink:related_to\t7\nFAO\towl\tbiolink:subclass_of\t1\nFBcv\tBFO\tbiolink:subclass_of\t2\nZFIN\tFlyBase\tbiolink:related_to\t5497\nAQTLTrait\tOBO\tbiolink:subclass_of\t228\nIAO\tOIO\tbiolink:subPropertyOf\t4\nOMIA\tDOID\tbiolink:subclass_of\t8\nNCBIGene\tMGI\tbiolink:orthologous_to\t102\nOBO\tOMIM\tbiolink:related_to\t48\nMONARCH\tGO\tbiolink:related_to\t5\nZFIN\tUBERON\tbiolink:expressed_in\t167509\nGO\tOBO\tbiolink:has_input\t64\nOBAN\tOBAN\tbiolink:inverseOf\t2\nPR\tZFIN\tbiolink:related_to\t15\nHGNC\thttp\tbiolink:related_to\t156\nRGD\tEcoGene\tbiolink:orthologous_to\t965\nMONDO\tPO\tbiolink:related_to\t1\nMONDO\tNCIT\tbiolink:subclass_of\t25596\nENVO\tENVO\tbiolink:occurs_in\t3\nFlyBase\tNCBITaxon\tbiolink:related_to\t7\nMONARCH_NODE\tZFIN\tbiolink:related_to\t9372\nMGI\tFlyBase\tbiolink:related_to\t5747\nUBERON\tUBERON\tbiolink:has_part\t371\n*non-standard CURIE*\tOBO\towl:someValuesFrom\t2914\nMONDO\tOBO\tbiolink:related_to\t351\nOBI\tDOID\tbiolink:subclass_of\t1\nPANTHER\thttp\tbiolink:related_to\t435\nUBERON\tNCBITaxon\tbiolink:part_of\t4\nhttp\tCLO\tbiolink:subclass_of\t10\nOGMS\tMONDO\tbiolink:subclass_of\t1\nOBO\tUBERON\tbiolink:derives_from\t3\nOGMS\tBFO\tbiolink:subclass_of\t3\n*non-standard CURIE*\tGENO\towl:onProperty\t1\nZFIN\thttp\tbiolink:orthologous_to\t1192\nWormBase\tdictyBase\tbiolink:related_to\t2831\nPO\tPO\tbiolink:related_to\t61\nZFIN\tZFIN\tbiolink:interacts_with\t31398\nWormBase\tSGD\tbiolink:related_to\t2181\nHGNC\tXenbase\tbiolink:orthologous_to\t3806\n*non-standard CURIE*\tRO\towl:onProperty\t2932\nFlyBase\tHGNC\tbiolink:same_as\t2\nClinVarVariant\tNCBIGene\tbiolink:has_part\t2\nRGD\tNCBIGene\tbiolink:related_to\t399\nSTATO\tIAO\tbiolink:subclass_of\t2\nENSEMBL\thttp\tbiolink:related_to\t149\nZFIN\tHGNC\tbiolink:interacts_with\t2\nDOID\tDOID\tbiolink:subclass_of\t10473\nGO\tUBERON\tbiolink:occurs_in\t88\nPO\tPO\tbiolink:part_of\t129\nPR\tBFO\tbiolink:subclass_of\t2\nUBERON\tCHEBI\tbiolink:has_part\t20\nPMID\tdbSNP\tbiolink:related_to\t36936\nENSEMBL\tVGNC\tbiolink:orthologous_to\t4\nHP\towl\tbiolink:subclass_of\t275\nDOID\tOGMS\tbiolink:subclass_of\t8\nClinVarVariant\tORPHA\tbiolink:gene_associated_with_condition\t4\nNCBIGene\tENSEMBL\tbiolink:has_gene_product\t2466\nUBERON\tGO\tbiolink:located_in\t1\nWBPhenotype\tWBPhenotype\tbiolink:subclass_of\t3270\nWD_Entity\tWD_Entity\tbiolink:part_of\t1\nWormBase\tWormBase\tbiolink:related_to\t67569\nPR\tCHEBI\tbiolink:subclass_of\t341\nMGI\thttp\tbiolink:orthologous_to\t994\nGO\tPO\tbiolink:has_participant\t4\nOrphanet\tDOID\tbiolink:subclass_of\t6294\nHGNC\tENSEMBL\tbiolink:has_gene_product\t74428\nENSEMBL\tXenbase\tbiolink:orthologous_to\t41611\nNCBIGene\tZFIN\tbiolink:orthologous_to\t417\nENSEMBL\tUniProtKB\tbiolink:has_gene_product\t3618\nZFIN\tOBO\tbiolink:related_to\t13888\nOrphanet\tOGMS\tbiolink:subclass_of\t5\nJAX\tMGI\tbiolink:related_to\t97\nGO\tPR\tbiolink:related_to\t64\nOMIA\tMESH\tbiolink:subclass_of\t47\nNCBIGene\tHGNC\tbiolink:orthologous_to\t5\nPomBase\tGO\tbiolink:has_phenotype\t3\npigQTL\tMONARCH_BNODE\tbiolink:has_sequence_location\t31509\nHP\tUPHENO\tbiolink:subclass_of\t2\nOBO\tBFO\tbiolink:subPropertyOf\t3\nOBI\thttp\tbiolink:subclass_of\t1\nSO\tGENO\tbiolink:part_of\t1\nMONARCH_BNODE\thttp\tbiolink:related_to\t11747\nSO\tGENO\tbiolink:related_to\t4\nNCIT\towl\tbiolink:subclass_of\t23\nMGI\tEMMA\tbiolink:related_to\t1186\nMGI\tOBO\tbiolink:related_to\t37098\nMONARCH_BNODE\tMP\tbiolink:has_phenotype\t5801\nGO\tGO\tbiolink:has_part\t845\nENVO\tOBO\tbiolink:subclass_of\t16\nOBO\tUMLS\tbiolink:subclass_of\t28724\nKEGG-path\thttp\tbiolink:related_to\t537\nMONARCH_BNODE\thttps\tbiolink:has_part\t26470\nMGI\tFlyBase\tbiolink:interacts_with\t5\nRO\tOIO\tbiolink:subPropertyOf\t1\nOBAN\tIAO\tbiolink:subPropertyOf\t3\nOBO\tSTATO\tbiolink:subclass_of\t2\nUCSC\tSO\tbiolink:subclass_of\t10\nRO\towl\tbiolink:subPropertyOf\t6\nUMLS\tHP\tbiolink:subclass_of\t19\nBIOGRID\tENSEMBL\tbiolink:same_as\t21\nNCBIGene\tRGD\tbiolink:orthologous_to\t53\nCL\tOBO\tbiolink:has_attribute\t70\nMONARCH_BNODE\tKEGG-path\tbiolink:actively_involved_in\t81602\nNCBIGene\thttps\tbiolink:biomarker_for\t15739\nXenbase\tSGD\tbiolink:related_to\t2088\nDOID\thttp\tbiolink:subclass_of\t12794\nHGNC\tPomBase\tbiolink:related_to\t2546\nCL\tOBO\tbiolink:subclass_of\t49\nOMIM\tOMIMPS\tbiolink:subclass_of\t3809\nCHEBI\tCHEBI\tbiolink:related_to\t80286\nOBO\tUBERON\tbiolink:subclass_of\t13717\nClinVarVariant\tHGNC\tbiolink:related_to\t23093\nECO\tECO\tbiolink:related_to\t1104\nOMIA\tMP\tbiolink:subclass_of\t32\nOBO\tOBO\tbiolink:overlaps\t1473\nOrphanet\thttp\tbiolink:subclass_of\t8031\nRO\tUPHENO\tbiolink:subPropertyOf\t3\nOIO\towl\tbiolink:subclass_of\t1\nPANTHER\tPomBase\tbiolink:related_to\t3209\nHP\tZP\tbiolink:subclass_of\t376\nGENO\tGENO\tbiolink:related_to\t43\nWormBase\tFlyBase\tbiolink:related_to\t4666\nXenbase\tWormBase\tbiolink:related_to\t4052\nIAO\tIAO\tbiolink:part_of\t2\nPMID\tXenbase\tbiolink:related_to\t18617\nZFIN\tNCBIGene\tbiolink:related_to\t6\nMONDO\tNCIT\tbiolink:related_to\t39\nOGMS\tOGMS\tbiolink:related_to\t1\nZFIN\tPomBase\tbiolink:orthologous_to\t3853\nOBO\tSO\tbiolink:subclass_of\t2395\nOBO\tMONDO\tbiolink:subclass_of\t60760\nOBO\tBFO\tbiolink:subclass_of\t50\nENSEMBL\tOBO\tbiolink:expressed_in\t6202\nOBI\tOBI\tbiolink:inverseOf\t4\nOBO\tMONARCH_BNODE\tbiolink:related_to\t233\nhttps\tSO\tbiolink:subclass_of\t3867\nBSPO\tBFO\tbiolink:subPropertyOf\t12\nMONARCH_BNODE\tSTATO\tbiolink:has_part\t26306\nPR\tCHEBI\tbiolink:derives_from\t1\nOBO\tCHEBI\tbiolink:subclass_of\t5\nFlyBase\tSO\tbiolink:subclass_of\t39259\nRGD\tENSEMBL\tbiolink:orthologous_to\t86014\nENSEMBL\tPomBase\tbiolink:related_to\t11443\nCLO\tOBI\tbiolink:subclass_of\t1\nMGI\tNCBIGene\tbiolink:related_to\t533\nMONARCH\tOrphanet\tbiolink:related_to\t5\nSGD\tGO\tbiolink:actively_involved_in\t26956\nMONARCH_BNODE\thttp\tbiolink:part_of\t23551\npav\tdcterms\tbiolink:subPropertyOf\t4\nIAO\tIAO\tbiolink:type\t17\nOBO\tOBO\tbiolink:affects\t8924\nENVO\tENVO\tbiolink:derives_from\t9\nMGI\tPomBase\tbiolink:orthologous_to\t3470\nWormBase\thttp\tbiolink:orthologous_to\t635\nPO\towl\tbiolink:subclass_of\t1\nDOID\tMP\tbiolink:subclass_of\t10\nMONARCH_NODE\tMONARCH_NODE\tbiolink:related_to\t25825\nClinVarVariant\tClinVarVariant\tbiolink:related_to\t1060\nENVO\tOBI\tbiolink:subclass_of\t2\nPMID\tOMIM\tbiolink:related_to\t4935\nNCBIGene\tEcoGene\tbiolink:related_to\t1\nMGI\tREACT\tbiolink:actively_involved_in\t12605\nOrphanet\tMP\tbiolink:subclass_of\t4\nrainbow_troutQTL\tMONARCH_BNODE\tbiolink:has_sequence_location\t584\nHP\tHP\tbiolink:subclass_of\t20506\nOBO\tIAO\tbiolink:subclass_of\t8\nSO\tSO\tbiolink:subclass_of\t2438\nWormBase\tDOID\tbiolink:model_of\t10575\nfoaf\tBFO\tbiolink:subclass_of\t2\nKEGG-hsa\tNCBIGene\tbiolink:same_as\t1\nNCBIGene\tOBO\tbiolink:expressed_in\t124\nENSEMBL\tREACT\tbiolink:actively_involved_in\t834505\nCL\tOBI\tbiolink:subclass_of\t1\nSO\tBFO\tbiolink:subclass_of\t1\nECO\tECO\tbiolink:inverseOf\t1\nOBO\tNCBITaxon\tbiolink:subclass_of\t3\nWBPhenotype\tCL\tbiolink:subclass_of\t33\nMONDO\towl\tbiolink:subclass_of\t1937\nUBERON\tPR\tbiolink:related_to\t1\nGENO\tSO\tbiolink:part_of\t4\nWormBase\tWormBase\tbiolink:genetically_interacts_with\t531\nSO\tCHEBI\tbiolink:subclass_of\t43\nhttps\tGO\tbiolink:has_phenotype\t2\nXenbase\tFlyBase\tbiolink:related_to\t4722\nOBI\tprov\tbiolink:subclass_of\t1\nWormBase\tOBO\tbiolink:related_to\t10459\nfaldo\tfaldo\tbiolink:inverseOf\t2\nWBPhenotype\tGO\tbiolink:subclass_of\t274\nBFO\tBFO\tbiolink:subclass_of\t34\ndcterms\towl\tbiolink:subclass_of\t1\nPMID\tGeneReviews\tbiolink:related_to\t31280\nREACT\tPW\tbiolink:subclass_of\t15909\nBFO\tCHEBI\tbiolink:subclass_of\t1\nMP\tDOID\tbiolink:subclass_of\t2\nHGNC\tUBERON\tbiolink:expressed_in\t448167\nNCIT\tHP\tbiolink:subclass_of\t13\nOBI\tCHEBI\tbiolink:has_part\t1\nUBERON\tUBERON\tbiolink:affects\t8338\ndbSNP\tdbSNP\tbiolink:related_to\t1470\nHGNC\tVGNC\tbiolink:related_to\t8\nOBAN\tSEPIO\tbiolink:subclass_of\t1\nOBO\tGO\tbiolink:part_of\t1\npigQTL\tAQTLTrait\tbiolink:biomarker_for\t14461\nOBO\tGO\tbiolink:related_to\t45\nhttp\tMONARCH_NODE\tbiolink:related_to\t142\nOMIM\tHGNC\tbiolink:related_to\t3018\nPR\tPR\tbiolink:part_of\t1\nOMIA\tHP\tbiolink:has_phenotype\t260\nKEGG-hsa\tSO\tbiolink:subclass_of\t1\nMONDO\tENVO\tbiolink:related_to\t14\nMGI\tNCBIGene\tbiolink:interacts_with\t9\nHGNC\tXenbase\tbiolink:related_to\t10686\nMONARCH_BNODE\tdbSNP\tbiolink:related_to\t7199\nPANTHER\tVGNC\tbiolink:related_to\t8\nGO\tGO\tbiolink:increases_degradation_of\t8\nBFO\tRO\tbiolink:subPropertyOf\t4\ndictyBase\tGO\tbiolink:enables\t20904\nMGI\tENSEMBL\tbiolink:has_gene_product\t26800\nprov\tBFO\tbiolink:subclass_of\t2\nNCBITaxon\tNCBITaxon\tbiolink:subclass_of\t14540\nPANTHER\tXenbase\tbiolink:related_to\t11866\nCLO\tOBI\tbiolink:derives_from\t1\nENVO\tCHEBI\tbiolink:has_participant\t1\nPR\thttps\tbiolink:related_to\t206\nZP\tWBPhenotype\tbiolink:subclass_of\t2937\nHGNC\tSO\tbiolink:subclass_of\t60204\nENSEMBL\tVGNC\tbiolink:related_to\t16\nENSEMBL\tENSEMBL\tbiolink:interacts_with\t305485\nMONARCH_NODE\thttps\tbiolink:related_to\t24\nWormBase\tNCBIGene\tbiolink:related_to\t40\nMGI\tSO\tbiolink:subclass_of\t108997\nClinVarVariant\tNCBIGene\tbiolink:part_of\t28122\nWormBase\tPomBase\tbiolink:orthologous_to\t2147\nZFIN\tENSEMBL\tbiolink:has_gene_product\t23456\nGENO\tOBO\tbiolink:subclass_of\t1\nXenbase\tOBO\tbiolink:related_to\t15731\nENSEMBL\tXenbase\tbiolink:related_to\t103605\nMP\thttp\tbiolink:subclass_of\t3\nprov\tBFO\tbiolink:has_participant\t1\nHGNC\tOMIM\tbiolink:related_to\t3746\nfoaf\tfoaf\tbiolink:subclass_of\t8\nUMLS\tUMLS\tbiolink:subclass_of\t23397\nECO\tBFO\tbiolink:related_to\t1\nAQTLTrait\towl\tbiolink:subclass_of\t1\nMGI\tXenbase\tbiolink:orthologous_to\t5098\nMGI\tDOID\tbiolink:model_of\t8320\nRGD\tZFIN\tbiolink:related_to\t11501\nSEPIO\tprov\tbiolink:subclass_of\t1\nCL\tCHEBI\tbiolink:has_part\t1\nMONARCH_NODE\tUPHENO\tbiolink:subclass_of\t627\nMONARCH_NODE\tUCSC\tbiolink:related_to\t329\nUBERON\tUBERON\tbiolink:subclass_of\t37688\nPomBase\tGO\tbiolink:enables\t11217\nClinVarVariant\tHGNC\tbiolink:has_part\t21\nOBO\tAQTLTrait\tbiolink:subclass_of\t221\nENVO\tENVO\tbiolink:subclass_of\t355\nMONARCH_BNODE\tOMIM\tbiolink:has_phenotype\t11482\nowl\towl\tbiolink:subclass_of\t1\nMPD-strain\tJAX\tbiolink:same_as\t274\nMGI\tMGI\tbiolink:same_as\t8\nGO\tGO\tbiolink:has_output\t14\nZP\tGENO\tbiolink:subclass_of\t5\nfaldo\tGENO\tbiolink:subPropertyOf\t4\nFlyBase\thttp\tbiolink:related_to\t139\nOBO\tOBO\tbiolink:expresses\t198\nNCBIGene\tENSEMBL\tbiolink:related_to\t1080\nchickenQTL\tAQTLTrait\tbiolink:biomarker_for\t7211\nMONDO\tHP\tbiolink:subclass_of\t25\nMESH\tMESH\tbiolink:treats\t35982\nUBERON\tBFO\tbiolink:subclass_of\t2\nPR\tCHEBI\tbiolink:has_part\t1\nOBI\tSEPIO\tbiolink:subclass_of\t3\nUMLS\tMONDO\tbiolink:subclass_of\t46999\nsheepQTL\tNCBIGene\tbiolink:related_to\t486\nUMLS\tBFO\tbiolink:subclass_of\t1\nNCBIGene\tMONARCH_BNODE\tbiolink:has_sequence_location\t79181\nOMIM\tHP\tbiolink:related_to\t10416\nMP\tMP\tbiolink:subclass_of\t17670\nMGI\tMGI\tbiolink:related_to\t1293126\nXenbase\tNCBIGene\tbiolink:related_to\t176\nHGNC\tdictyBase\tbiolink:orthologous_to\t9357\nPR\tSO\tbiolink:related_to\t174\ndbSNP\tOMIM\tbiolink:related_to\t25133\nHGNC\tSGD\tbiolink:orthologous_to\t4012\nMONARCH_BNODE\tOMIM\tbiolink:biomarker_for\t8\nENVO\tENVO\tbiolink:located_in\t3\nGENO\tOBI\tbiolink:subclass_of\t1\nWormBase\tENSEMBL\tbiolink:has_gene_product\t15907\nZFIN\tREACT\tbiolink:actively_involved_in\t12095\nIAO\tBFO\tbiolink:subPropertyOf\t4\nMONARCH_BNODE\tOMIM\tbiolink:related_to\t481\nRGD\thttp\tbiolink:orthologous_to\t906\nNCBIGene\tAQTLTrait\tbiolink:biomarker_for\t33621\nGENO\tGENO\tbiolink:subPropertyOf\t32\nCLO\tOIO\tbiolink:subclass_of\t3\nHGNC\tWormBase\tbiolink:orthologous_to\t15124\nHP\tUMLS\tbiolink:subclass_of\t8\nGENO\tGENO\tbiolink:has_part\t4\nENSEMBL\tdictyBase\tbiolink:orthologous_to\t8870\nHP\tOBO\tbiolink:related_to\t10\nKEGG-path\tOMIM\tbiolink:related_to\t1322\nGENO\tRO\tbiolink:subPropertyOf\t5\nENSEMBL\tSGD\tbiolink:orthologous_to\t21415\nFAO\tFAO\tbiolink:subclass_of\t32\nZFIN\tZFIN\tbiolink:related_to\t95569\nOMIM\tMONARCH_BNODE\tbiolink:has_sequence_location\t49\nOBO\t*non-standard CURIE*\tbiolink:subclass_of\t5946\nFlyBase\tGO\tbiolink:part_of\t23625\nHP\tUBERON\tbiolink:subclass_of\t1385\nENVO\towl\tbiolink:subclass_of\t3\nMONARCH_BNODE\tWBPhenotype\tbiolink:has_phenotype\t88885\nHGNC\tHGNC\tbiolink:genetically_interacts_with\t625\nZP\tCL\tbiolink:subclass_of\t2294\nWormBase\tSO\tbiolink:subclass_of\t99428\nENSEMBL\tWormBase\tbiolink:orthologous_to\t161822\nClinVarVariant\tUMLS\tbiolink:related_to\t248280\nPR\tNCBITaxon\tbiolink:related_to\t533\nWormBase\tGO\tbiolink:part_of\t31324\ndbSNP\tsheepQTL\tbiolink:biomarker_for\t1759\nNCIT\tUMLS\tbiolink:subclass_of\t10791\nOBO\tOBO\tbiolink:regulates_process_to_process\t14\nMPD-strain\tMONARCH_BNODE\tbiolink:related_to\t1013\nMGI\tZFIN\tbiolink:related_to\t12127\nIAO\tIAO\tbiolink:subPropertyOf\t5\nFBcv\tMP\tbiolink:subclass_of\t34\nZP\tGO\tbiolink:subclass_of\t4838\nWormBase\tNCBIGene\tbiolink:genetically_interacts_with\t7\nCL\towl\tbiolink:subclass_of\t199\nNCBIGene\tEcoGene\tbiolink:orthologous_to\t39\nXenbase\tENSEMBL\tbiolink:orthologous_to\t364\nCL\tCL\tbiolink:affects\t943\nOMIM\tHP\tbiolink:has_phenotype\t97164\nCL\tUBERON\tbiolink:related_to\t8\nOBI\tBFO\tbiolink:related_to\t11\nHP\tMONDO\tbiolink:subclass_of\t12\nENVO\tENVO\tbiolink:part_of\t75\nRGD\tGO\tbiolink:part_of\t77299\nMGI\tHGNC\tbiolink:related_to\t719\nMGI\tMGI\tbiolink:interacts_with\t41740\nWormBase\tREACT\tbiolink:actively_involved_in\t6038\nFlyBase\tPomBase\tbiolink:related_to\t2383\nOBI\tCHEBI\tbiolink:related_to\t24\nMONARCH_BNODE\tHGNC\tbiolink:contributes_to\t2\nSEPIO\tSEPIO\tbiolink:subclass_of\t34\nCL\tUBERON\tbiolink:produces\t6\nNCIT\tUBERON\tbiolink:subclass_of\t1\nClinVarVariant\tOMIM\tbiolink:gene_associated_with_condition\t107041\nIAO\tIAO\tbiolink:inverseOf\t3\nOBO\tOBO\tbiolink:part_of\t8537\nOBO\tOBO\tbiolink:related_to\t11912\nUBERON\tPR\tbiolink:has_part\t6\nRO\towl\tbiolink:subclass_of\t1\nOBO\tDOID\tbiolink:subclass_of\t19801\nOMIA\tUBERON\tbiolink:has_phenotype\t18\nUCSC\tMONARCH_NODE\tbiolink:has_part\t26381\nhttp\tOrphanet\tbiolink:subclass_of\t20720\nPR\tPR\tbiolink:subclass_of\t1896\nOBO\tOGMS\tbiolink:subclass_of\t21\nPMID\tSGD\tbiolink:related_to\t242021\nHGNC\tFlyBase\tbiolink:orthologous_to\t16085\nMGI\tRGD\tbiolink:related_to\t17190\nPMID\tOMIA\tbiolink:related_to\t173\nClinVarVariant\tMONDO\tbiolink:related_to\t33553\nNCIT\tMONDO\tbiolink:subclass_of\t20766\nhttps\tNCBIGene\tbiolink:related_to\t10095\nMONDO\tHP\tbiolink:related_to\t1354\nNCIT\tBFO\tbiolink:subclass_of\t1\nMONARCH_BNODE\tSO\tbiolink:subclass_of\t23\nFlyBase\tCL\tbiolink:expressed_in\t3279\nOBI\tIAO\tbiolink:related_to\t8\nSEPIO\tSEPIO\tbiolink:type\t2\nPMID\tWormBase\tbiolink:related_to\t26012\nRO\tBFO\tbiolink:subPropertyOf\t26\nOBI\tGO\tbiolink:has_participant\t1\nRGD\tPomBase\tbiolink:orthologous_to\t3235\nENSEMBL\tFlyBase\tbiolink:orthologous_to\t163413\nOMIA\tMONARCH_BNODE\tbiolink:subclass_of\t3339\nZFIN\tSO\tbiolink:subclass_of\t56890\nVGNC\tENSEMBL\tbiolink:related_to\t67\nhttp\tOBO\tbiolink:subclass_of\t36397\nMGI\tZFIN\tbiolink:interacts_with\t2\nchickenQTL\tNCBIGene\tbiolink:related_to\t453\nFlyBase\tDOID\tbiolink:model_of\t1626\nOBI\tUBERON\tbiolink:derives_from\t4\nCL\tNCBITaxon\tbiolink:related_to\t4\nOBI\tBFO\tbiolink:subPropertyOf\t2\nOBO\thttp\tbiolink:subclass_of\t26213\nIAO\tBFO\tbiolink:related_to\t3\nOBO\tNCBIGene\tbiolink:related_to\t279\nOBI\tGENO\tbiolink:subclass_of\t6\nMGI\tHGNC\tbiolink:interacts_with\t1731\nMONARCH_BNODE\tGENO\tbiolink:related_to\t186309\nCLO\tRO\tbiolink:subPropertyOf\t5\nWBPhenotype\tFBcv\tbiolink:subclass_of\t256\nMONARCH_BNODE\tMONARCH_BNODE\tbiolink:related_to\t4741582\nMONDO\tUMLS\tbiolink:subclass_of\t44953\nPO\tPO\tbiolink:participates_in\t7\nGENO\tGENO\tbiolink:inverseOf\t13\nOBO\tOBO\tbiolink:inverseOf\t2\nMGI\tGO\tbiolink:part_of\t94768\nOBO\tOBI\tbiolink:related_to\t1\nFlyBase\tFlyBase\tbiolink:genetically_interacts_with\t2748\nGO\tOBO\tbiolink:has_output\t1\nWormBase\tCL\tbiolink:expressed_in\t33\nZFIN\tGO\tbiolink:has_phenotype\t5907\nrdfs\towl\tbiolink:subclass_of\t1\nPR\tPR\tbiolink:derives_from\t2\nOBO\tPR\tbiolink:subclass_of\t1\nfaldo\towl\tbiolink:subclass_of\t1\nGO\tFAO\tbiolink:part_of\t3\nMONARCH\tHGNC\tbiolink:related_to\t664\nMONDO\tUBERON\tbiolink:subclass_of\t1\nPO\tBFO\tbiolink:subclass_of\t2\nMONARCH\tOMIM\tbiolink:model_of\t948\nClinVarVariant\tHGNC\tbiolink:part_of\t151427\nXCO\towl\tbiolink:subclass_of\t19\nhttps\tMONARCH_BNODE\tbiolink:has_sequence_location\t279846\nPMID\tFlyBase\tbiolink:related_to\t345961\nNCBIGene\thttp\tbiolink:related_to\t2\nGO\tCL\tbiolink:related_to\t798\nZFIN\tMONARCH_NODE\tbiolink:related_to\t9372\nOIO\tIAO\tbiolink:subclass_of\t5\nMONARCH_BNODE\tGO\tbiolink:has_phenotype\t9501\nUBERON\tOBI\tbiolink:derives_from\t1\nUBERON\tGO\tbiolink:participates_in\t9\nNCBIGene\tWormBase\tbiolink:interacts_with\t453\nHGNC\tdictyBase\tbiolink:related_to\t3338\nIAO\tIAO\tbiolink:related_to\t16\nENSEMBL\tGO\tbiolink:part_of\t63314\nHGNC\tNCBIGene\tbiolink:same_as\t1881\nfoaf\thttp\tbiolink:subclass_of\t6\nhorseQTL\thorseQTL\tbiolink:biomarker_for\t2451\nHGNC\tSGD\tbiolink:related_to\t2445\nGO\tGO\tbiolink:related_to\t6038\nSGD\tGO\tbiolink:enables\t19930\nHGNC\tREACT\tbiolink:actively_involved_in\t27687\nNCBIGene\tENSEMBL\tbiolink:orthologous_to\t1383\nOBO\tMP\tbiolink:subclass_of\t26\nMONDO\tMONDO\tbiolink:subclass_of\t41256\nMONDO\tBFO\tbiolink:subclass_of\t2\nMONARCH_NODE\tHP\tbiolink:has_phenotype\t1082\nKEGG-path\tKEGG-ds\tbiolink:related_to\t2498\nPANTHER\tdictyBase\tbiolink:related_to\t5429\nhttp\tOBI\tbiolink:subclass_of\t17\nBIOGRID\tOMIM\tbiolink:related_to\t488\nPANTHER\tSGD\tbiolink:related_to\t3309\nZFIN\tdictyBase\tbiolink:orthologous_to\t11205\nHGNC\tWormBase\tbiolink:related_to\t4877\nZFIN\tSGD\tbiolink:orthologous_to\t4666\nIAO\tOBI\tbiolink:subclass_of\t6\nGENO\towl\tbiolink:subclass_of\t43\nOBI\tCL\tbiolink:subclass_of\t1\nMONARCH_BNODE\tOMIA\tbiolink:has_phenotype\t782\ndbSNP\tGO\tbiolink:related_to\t5269\nSO\tPR\tbiolink:subclass_of\t2\nENVO\tENVO\tbiolink:has_input\t9\nHGNC\tNCBIGene\tbiolink:orthologous_to\t1736\nOMIA\tGENO\tbiolink:related_to\t1033\nENSEMBL\tdictyBase\tbiolink:related_to\t2963\nMESH\tOMIM\tbiolink:treats\t8\nPANTHER\tWormBase\tbiolink:related_to\t9055\nENSEMBL\tSGD\tbiolink:related_to\t10980\nMONDO\thttps\tbiolink:related_to\t4436\nFlyBase\tENSEMBL\tbiolink:has_gene_product\t15464\nOBI\tGO\tbiolink:subclass_of\t4\n*non-standard CURIE*\tSO\tbiolink:subclass_of\t9\nXenbase\tZFIN\tbiolink:related_to\t9523\nGO\tGENO\tbiolink:subclass_of\t1\nhorseQTL\tMONARCH_BNODE\tbiolink:has_sequence_location\t4902\nZFIN\tWormBase\tbiolink:orthologous_to\t19169\nhttp\tNCIT\tbiolink:subclass_of\t15591\nMONARCH_BNODE\tGO\tbiolink:related_to\t189\nRGD\tXenbase\tbiolink:orthologous_to\t3725\nMGI\tdictyBase\tbiolink:orthologous_to\t10253\nGENO\tUPHENO\tbiolink:subclass_of\t1\nMGI\tCL\tbiolink:expressed_in\t29583\nSTATO\tSEPIO\tbiolink:subclass_of\t1\nClinVarVariant\tBIOGRID\tbiolink:part_of\t43\nFlyBase\tEcoGene\tbiolink:orthologous_to\t945\nMGI\tSGD\tbiolink:orthologous_to\t3984\nOMIA\tOMIA\tbiolink:subclass_of\t3339\nRO\tRO\tbiolink:inverseOf\t102\nENSEMBL\tNCBIGene\tbiolink:orthologous_to\t17431\nENSEMBL\tWormBase\tbiolink:related_to\t48370\nZP\tOBO\tbiolink:subclass_of\t104\nNCBIGene\tFlyBase\tbiolink:interacts_with\t12\nCHEBI\tREACT\tbiolink:actively_involved_in\t89911\nENVO\tCHEBI\tbiolink:derives_from\t1\nRGD\tSO\tbiolink:subclass_of\t44108\nMGI\tWormBase\tbiolink:orthologous_to\t17089\nfoaf\twgs\tbiolink:subclass_of\t1\nUMLS\tDOID\tbiolink:subclass_of\t15911\ndbSNP\thorseQTL\tbiolink:biomarker_for\t1797\nMONARCH\tHP\tbiolink:related_to\t1\nOBO\tIAO\tbiolink:has_part\t1\nMONARCH_BNODE\tOMIA\tbiolink:related_to\t48\nAspGD\tGO\tbiolink:part_of\t130918\nGO\tGO\tbiolink:has_phenotype\t18\nUMLS\tOGMS\tbiolink:subclass_of\t16\nRGD\tEcoGene\tbiolink:related_to\t283\nGO\tUBERON\tbiolink:has_input\t8\nMP\tWBPhenotype\tbiolink:subclass_of\t388\nGENO\tENVO\tbiolink:related_to\t1\nHGNC\tFlyBase\tbiolink:related_to\t5744\nNCBIGene\tPomBase\tbiolink:related_to\t41\nrainbow_troutQTL\trainbow_troutQTL\tbiolink:biomarker_for\t584\nMONARCH\tEFO\tbiolink:related_to\t1951\nOBO\tENVO\tbiolink:part_of\t1\nGENO\tOBI\tbiolink:in_taxon\t2\nHGNC\tOMIM\tbiolink:biomarker_for\t89\nOBO\tOBO\tbiolink:has_input\t1\nOBO\tENVO\tbiolink:related_to\t3\nHGNC\tWormBase\tbiolink:interacts_with\t3\nNCBIGene\tREACT\tbiolink:actively_involved_in\t547\nMONARCH_BNODE\tWormBase\tbiolink:related_to\t106722\nFlyBase\tNCBIGene\tbiolink:genetically_interacts_with\t2\nMONDO\tUBERON\tbiolink:related_to\t3048\nMONARCH_BNODE\tJAX\tbiolink:related_to\t1005\nUBERON\tCL\tbiolink:related_to\t112\nOMIM\tOMIM\tbiolink:contributes_to\t23\nPANTHER\tFlyBase\tbiolink:related_to\t9654\nGO\tSO\tbiolink:has_input\t7\nfoaf\tprov\tbiolink:subclass_of\t2\nZFIN\tFlyBase\tbiolink:orthologous_to\t17802\nOBO\tNCBITaxon\tbiolink:in_taxon\t8\nOBI\tOBO\tbiolink:has_participant\t1\nUBERON\tGO\tbiolink:related_to\t224\nGO\tCHEBI\tbiolink:has_input\t1297\nHGNC\tOrphanet\tbiolink:related_to\t7317\ndcterms\tfoaf\tbiolink:subclass_of\t1\nFlyBase\tOBO\tbiolink:expressed_in\t43532\nSEPIO\tIAO\tbiolink:subPropertyOf\t5\ndictyBase\tGO\tbiolink:actively_involved_in\t21354\nGO\tCL\tbiolink:subclass_of\t73\nCL\tPR\tbiolink:has_part\t675\nPMID\tNCBIGene\tbiolink:related_to\t399176\nWormBase\tMONARCH_NODE\tbiolink:related_to\t7\n*non-standard CURIE*\tSO\towl:someValuesFrom\t1\nMONDO\tSO\tbiolink:related_to\t22\nENSEMBL\tFlyBase\tbiolink:related_to\t56918\nMONDO\tMONDO\tbiolink:related_to\t1752\nUBERON\thttp\tbiolink:subclass_of\t20\nGO\tGO\tbiolink:subclass_of\t103475\nBSPO\tBSPO\tbiolink:subclass_of\t178\nUMLS\thttp\tbiolink:subclass_of\t21698\nVGNC\tENSEMBL\tbiolink:orthologous_to\t10\nSGD\tGO\tbiolink:has_phenotype\t9\nMONDO\tCHEBI\tbiolink:related_to\t46\nIAO\tIAO\tbiolink:has_participant\t3\nhttp\tdcterms\tbiolink:subclass_of\t2\nFlyBase\tREACT\tbiolink:actively_involved_in\t6083\nOMIM\tSO\tbiolink:subclass_of\t96\nMGI\tFlyBase\tbiolink:orthologous_to\t17380\nMGI\tMGI\tbiolink:genetically_interacts_with\t42\nWormBase\tdictyBase\tbiolink:orthologous_to\t7384\nZP\tFBcv\tbiolink:subclass_of\t1818\nFBcv\tWBPhenotype\tbiolink:subclass_of\t71\nWBPhenotype\towl\tbiolink:subclass_of\t62\nMONARCH_BNODE\tMONARCH_BNODE\tbiolink:has_sequence_location\t3059\nWormBase\tSGD\tbiolink:orthologous_to\t2640\nOBO\tOBO\tbiolink:participates_in\t2\nPR\tPR\tbiolink:has_part\t2\nGO\tUBERON\tbiolink:has_participant\t2\nHP\tDOID\tbiolink:subclass_of\t6\nCoriell\tOMIM\tbiolink:model_of\t12242\nENVO\tOBO\tbiolink:related_to\t36\nGO\tNCBITaxon\tbiolink:has_input\t19\nMONARCH_NODE\thttp\tbiolink:related_to\t142\nHGNC\tOBO\tbiolink:related_to\t45014\nBSPO\tOBO\tbiolink:subclass_of\t6\nHGNC\tFlyBase\tbiolink:interacts_with\t14\nMONARCH_BNODE\tFlyBase\tbiolink:related_to\t3\nGENO\towl\tbiolink:related_to\t1\nZFIN\tEcoGene\tbiolink:related_to\t291\nXenbase\tPomBase\tbiolink:orthologous_to\t2473\nWBPhenotype\tUPHENO\tbiolink:subclass_of\t1\n*non-standard CURIE*\tNCBITaxon\towl:someValuesFrom\t9\nPW\tPW\tbiolink:related_to\t136\nMONDO\tNCBITaxon\tbiolink:related_to\t664\nGO\tSO\tbiolink:has_participant\t5\nGO\tPO\tbiolink:related_to\t165\ndbSNP\tOrphanet\tbiolink:related_to\t1144\nWormBase\tOBO\tbiolink:expressed_in\t8988\nPR\tPR\tbiolink:related_to\t3\nMONARCH_BNODE\tOBO\tbiolink:has_phenotype\t3042\nFlyBase\tGO\tbiolink:has_phenotype\t2\nCL\tUBERON\tbiolink:subclass_of\t237\nhttps\tNCBIGene\tbiolink:biomarker_for\t42481\nNCIT\tDOID\tbiolink:subclass_of\t8101\nGO\tCHEBI\tbiolink:has_participant\t24\nOBI\tOBI\tbiolink:has_participant\t6\nUMLS\tMP\tbiolink:subclass_of\t14\nMGI\tEcoGene\tbiolink:related_to\t291\nNCIT\tOGMS\tbiolink:subclass_of\t10\nMONARCH_BNODE\tOrphanet\tbiolink:related_to\t18\nNCBIGene\tNCBIGene\tbiolink:interacts_with\t73\nGO\tOBO\tbiolink:related_to\t118\nENVO\tBFO\tbiolink:subclass_of\t15\nOBO\tHGNC\tbiolink:related_to\t44422\nUBERON\tUBERON\tbiolink:location_of\t10\nPO\tNCBITaxon\tbiolink:related_to\t2\nENVO\tCHEBI\tbiolink:subclass_of\t1\nHGNC\tMGI\tbiolink:orthologous_to\t7064\nENVO\tENVO\tbiolink:type\t41\nNCBIGene\tXenbase\tbiolink:related_to\t1893\nNCBIGene\thttp\tbiolink:orthologous_to\t40\nGO\tGO\tbiolink:negatively_regulates_process_to_process\t3160\nMP\tCL\tbiolink:subclass_of\t475\nHP\thttp\tbiolink:subclass_of\t7\nXCO\tXCO\tbiolink:regulates_process_to_process\t35\nENSEMBL\tUBERON\tbiolink:expressed_in\t719942\nDOID\tOrphanet\tbiolink:subclass_of\t7042\nHGNC\tNCBIGene\tbiolink:related_to\t469\nZFIN\tNCBITaxon\tbiolink:related_to\t15\nRGD\tENSEMBL\tbiolink:related_to\t117939\nhttp\towl\tbiolink:subclass_of\t54\ndbSNP\tOBO\tbiolink:related_to\t4\nWBPhenotype\tZP\tbiolink:subclass_of\t463\nNCBIGene\tOMIM\tbiolink:has_phenotype\t17\nMP\tGO\tbiolink:subclass_of\t883\nIAO\tOIO\tbiolink:subclass_of\t16\nCL\tNCBITaxon\tbiolink:in_taxon\t2\nMONARCH_BNODE\tClinVar\tbiolink:related_to\t737221\nHGNC\tOMIMPS\tbiolink:related_to\t2415\nOrphanet\tOrphanet\tbiolink:subclass_of\t14250\nENSEMBL\tMGI\tbiolink:orthologous_to\t14489\nfoaf\tSEPIO\tbiolink:subclass_of\t1\nOBI\tOBO\tbiolink:subclass_of\t3\nBIOGRID\tMONARCH_BNODE\tbiolink:has_sequence_location\t2192\nMONARCH_BNODE\tOBO\tbiolink:related_to\t742\nRO\tBFO\tbiolink:subclass_of\t2\nPANTHER\tNCBIGene\tbiolink:related_to\t943\nVGNC\tPomBase\tbiolink:related_to\t3\nOBI\tPR\tbiolink:related_to\t1\nWormBase\tFlyBase\tbiolink:orthologous_to\t12853\nFBcv\tCL\tbiolink:related_to\t1\nZFIN\tNCBIGene\tbiolink:orthologous_to\t13\nPMID\tMONARCH\tbiolink:related_to\t1919\nMGI\tNCBITaxon\tbiolink:related_to\t198\nNCIT\thttp\tbiolink:subclass_of\t9895\nENSEMBL\tGO\tbiolink:enables\t58420\nGENO\tIAO\tbiolink:type\t2\nNCBIGene\tOMIM\tbiolink:related_to\t24\nClinVarVariant\tOrphanet\tbiolink:gene_associated_with_condition\t3315\nMGI\tOBO\tbiolink:expressed_in\t2757\nhttps\tHP\tbiolink:related_to\t2\nAQTLTrait\tAQTLTrait\tbiolink:subclass_of\t95\nRO\thttp\tbiolink:subPropertyOf\t2\nNCBIGene\tGO\tbiolink:enables\t54230\nDOID\tOBO\tbiolink:subclass_of\t19795\nCL\tUBERON\tbiolink:part_of\t880\nENSEMBL\tNCBIGene\tbiolink:related_to\t3225\nUBERON\tCL\tbiolink:part_of\t7\nNCBIGene\tUBERON\tbiolink:expressed_in\t33356\nNCBITaxon\tNCBITaxon\tbiolink:in_taxon\t509\nOBO\tBIOGRID\tbiolink:related_to\t900\nCL\tPR\tbiolink:related_to\t982\nhttps\tEFO\tbiolink:related_to\t174\nHGNC\tZFIN\tbiolink:orthologous_to\t19849\nBFO\towl\tbiolink:subPropertyOf\t1\nHP\tMP\tbiolink:subclass_of\t8972\nhttps\tHP\tbiolink:has_phenotype\t294\nMGI\tNCBIGene\tbiolink:orthologous_to\t2423\nUBERON\tGO\tbiolink:part_of\t11\nOrphanet\tOBO\tbiolink:subclass_of\t13338\nFAO\tFAO\tbiolink:related_to\t2\nUPHENO\tOBO\tbiolink:subclass_of\t1\n*non-standard CURIE*\t*non-standard CURIE*\tbiolink:subclass_of\t9\nOBO\tGO\tbiolink:capable_of\t429\nWBPhenotype\tHP\tbiolink:subclass_of\t113\nSEPIO\tSEPIO\tbiolink:inverseOf\t3\ndbSNP\tNCBIGene\tbiolink:related_to\t4744\nMONDO\tDOID\tbiolink:subclass_of\t29074\nFlyBase\tdictyBase\tbiolink:related_to\t2987\nFBcv\tGO\tbiolink:subclass_of\t38\nsheepQTL\tMONARCH_BNODE\tbiolink:has_sequence_location\t6510\nMONDO\tOGMS\tbiolink:subclass_of\t37\nPMID\tMGI\tbiolink:related_to\t428695\nHGNC\tNCBIGene\tbiolink:interacts_with\t414\nhttps\tMONARCH_NODE\tbiolink:related_to\t24\nFlyBase\tSGD\tbiolink:related_to\t2292\nENSEMBL\tZFIN\tbiolink:orthologous_to\t199624\nMONARCH_BNODE\tNCBIGene\tbiolink:related_to\t6413\nOBO\tRO\tbiolink:subPropertyOf\t14\nWormBase\tEcoGene\tbiolink:related_to\t249\nNCBIGene\tUniProtKB\tbiolink:has_gene_product\t1085\nFAO\tNCBITaxon\tbiolink:related_to\t1\nNCIT\tMP\tbiolink:subclass_of\t10\nHGNC\tRGD\tbiolink:orthologous_to\t3331\nNCBIGene\tPomBase\tbiolink:orthologous_to\t143\nUBERON\tOBO\tbiolink:related_to\t103\nOBI\tOBI\tbiolink:subclass_of\t379\nHGNC\tUniProtKB\tbiolink:has_gene_product\t13115\nZFIN\tCL\tbiolink:expressed_in\t735\nSEPIO\tpav\tbiolink:subPropertyOf\t1\nGOREL\tRO\tbiolink:subPropertyOf\t5\nOMIA\tMP\tbiolink:has_phenotype\t1866\n_\tGO\tbiolink:has_phenotype\t250\nGO\tOBO\tbiolink:has_attribute\t26\nUBERON\tUBERON\tbiolink:precedes\t3\nOBI\tprov\tbiolink:related_to\t1\nfaldo\tSO\tbiolink:subclass_of\t1\nGO\tOBO\tbiolink:subclass_of\t32\ndbSNP\tNCIT\tbiolink:related_to\t25\nUBERON\tUBERON\tbiolink:located_in\t527\nUBERON\tCL\tbiolink:has_part\t233\nMONARCH_BNODE\tCoriellFamily\tbiolink:related_to\t21318\nMGI\tENSEMBL\tbiolink:related_to\t126877\nENSEMBL\tRGD\tbiolink:orthologous_to\t8785\nPR\tGO\tbiolink:has_phenotype\t1\nGO\tGO\tbiolink:regulates_process_to_process\t3664\nRGD\tdictyBase\tbiolink:orthologous_to\t9381\nDOID\tOBI\tbiolink:subclass_of\t17\nMP\tOBO\tbiolink:related_to\t6\nENVO\tOBO\tbiolink:has_part\t1\nHGNC\tGO\tbiolink:enables\t19568\nOBI\tNCIT\tbiolink:subclass_of\t1\nRGD\tSGD\tbiolink:orthologous_to\t3768\nUBERON\tGO\tbiolink:has_part\t44\nZP\towl\tbiolink:subclass_of\t3742\nOBO\tGENO\tbiolink:subclass_of\t1629\nOBI\tOBI\tbiolink:has_attribute\t3\nGENO\tUBERON\tbiolink:subclass_of\t1\nMONDO\thttp\tbiolink:subclass_of\t48830\nhttp\tHP\tbiolink:subclass_of\t19\nPR\tGO\tbiolink:subclass_of\t4\nhttps\tGENO\tbiolink:subclass_of\t209\nOrphanet\tOBI\tbiolink:subclass_of\t6\nOBO\tRO\tbiolink:subclass_of\t5\nBSPO\tRO\tbiolink:subPropertyOf\t4\nPMID\tZFIN\tbiolink:related_to\t101474\nGO\tCL\tbiolink:occurs_in\t140\nRGD\tWormBase\tbiolink:orthologous_to\t15223\nOBO\tOBO\tbiolink:occurs_in\t14\nXCO\tXCO\tbiolink:subclass_of\t769\nENVO\tENVO\tbiolink:related_to\t99\nUBERON\tUBERON\tbiolink:overlaps\t97\nHGNC\tHP\tbiolink:has_phenotype\t26\nDOID\tNCIT\tbiolink:subclass_of\t9445\nSIO\tOBI\tbiolink:subclass_of\t1\nOBI\tOBI\tbiolink:part_of\t2\nGENO\tSO\tbiolink:subclass_of\t31\nClinVarVariant\tOMIMPS\tbiolink:gene_associated_with_condition\t14066\nNCBIGene\tMGI\tbiolink:interacts_with\t30\ndbSNP\tMONARCH_BNODE\tbiolink:has_sequence_location\t125680\nGENO\tBFO\tbiolink:subclass_of\t11\nPMID\tHGNC\tbiolink:related_to\t445544\nGO\tGO\tbiolink:occurs_in\t305\ndbSNP\tpigQTL\tbiolink:biomarker_for\t87\nHP\thttps\tbiolink:related_to\t778\nSEPIO\tIAO\tbiolink:has_output\t1\nGENO\tCHEBI\tbiolink:subclass_of\t1\nOrphanet\tNCIT\tbiolink:subclass_of\t5417\nSEPIO\tprov\tbiolink:related_to\t1\nFlyBase\tFlyBase\tbiolink:related_to\t190338\nBIOGRID\tOrphanet\tbiolink:related_to\t24\nUBERON\tOBI\tbiolink:related_to\t1\nGENO\tOIO\tbiolink:subPropertyOf\t13\nCHEBI\towl\tbiolink:subclass_of\t11\nFlyBase\thttp\tbiolink:orthologous_to\t664\nENVO\tENVO\tbiolink:overlaps\t9\nSO\tGENO\tbiolink:subclass_of\t17\nGENO\towl\tbiolink:subPropertyOf\t2\nPMID\tRGD\tbiolink:related_to\t302153\nHGNC\tGO\tbiolink:part_of\t23623\nHGNC\tMGI\tbiolink:related_to\t16839\nGO\tCHEBI\tbiolink:has_part\t16\nSEPIO\tOBI\tbiolink:subclass_of\t3\nGO\tOBI\tbiolink:subclass_of\t7\nGO\tOBO\tbiolink:negatively_regulates_process_to_process\t11\nMONDO\tMP\tbiolink:subclass_of\t14\nEFO\tUPHENO\tbiolink:subclass_of\t2169\ndbSNP\tNCBIGene\tbiolink:biomarker_for\t66968\nMGI\tAPB\tbiolink:same_as\t331\nBIOGRID\tOMIM\tbiolink:has_phenotype\t900\nPANTHER\tMGI\tbiolink:related_to\t20718\nENSEMBL\tENSEMBL\tbiolink:has_gene_product\t7595\nZP\tZP\tbiolink:subclass_of\t53288\nGENO\tIAO\tbiolink:subclass_of\t2\nOBAN\towl\tbiolink:subclass_of\t1\nMP\tOBO\tbiolink:subclass_of\t336\nOBO\tCL\tbiolink:subclass_of\t1959\nNCBIGene\tGO\tbiolink:part_of\t65726\nMONARCH_BNODE\tMONARCH\tbiolink:related_to\t3051\nRGD\thttp\tbiolink:related_to\t149\nNCBIGene\tXenbase\tbiolink:orthologous_to\t93\nBIOGRID\tOBO\tbiolink:related_to\t3931\nRGD\tFlyBase\tbiolink:orthologous_to\t15099\nOBO\tGO\tbiolink:subclass_of\t37\nNCBIGene\tZFIN\tbiolink:interacts_with\t826\nMGI\tAPB\tbiolink:related_to\t37\nENSEMBL\tMGI\tbiolink:related_to\t31253\nMONARCH\tENSEMBL\tbiolink:related_to\t2\nPMID\tBIOGRID\tbiolink:related_to\t2207\nXCO\tXCO\tbiolink:part_of\t14\nNCBIGene\tHGNC\tbiolink:interacts_with\t496\nECO\towl\tbiolink:subclass_of\t42\nFBcv\tOBO\tbiolink:related_to\t1\nFlyBase\tOBO\tbiolink:related_to\t11462\nHGNC\tZFIN\tbiolink:related_to\t12161\nHGNC\tOrphanet\tbiolink:biomarker_for\t414\nUBERON\tOBO\tbiolink:part_of\t1\nFlyBase\tFBcv\tbiolink:has_phenotype\t149834\nHGNC\tMGI\tbiolink:interacts_with\t308\nSO\tSO\tbiolink:part_of\t1\nZP\tHP\tbiolink:subclass_of\t4014\nMGI\tGENO\tbiolink:subclass_of\t198\nHGNC\tHGNC\tbiolink:related_to\t3197\nSO\tSO\tbiolink:related_to\t628\nWBPhenotype\tUBERON\tbiolink:subclass_of\t106\nMONARCH_BNODE\tMGI\tbiolink:related_to\t197626\nhttps\tMONDO\tbiolink:related_to\t7\nPANTHER\tZFIN\tbiolink:related_to\t19245\nhorseQTL\tNCBIGene\tbiolink:related_to\t153\nGO\tPR\tbiolink:has_input\t298\nAPO\tUPHENO\tbiolink:subclass_of\t8\nKEGG-ko\tMONARCH_BNODE\tbiolink:has_gene_product\t12747\nHGNC\tNCBIGene\tbiolink:has_gene_product\t1\nFBcv\tOBO\tbiolink:subclass_of\t22\nUBERON\tUBERON\tbiolink:produces\t22\nPANTHER\tHGNC\tbiolink:related_to\t19206\nMGI\tUniProtKB\tbiolink:has_gene_product\t7104\nNCBITaxon\tGO\tbiolink:subclass_of\t46\nFlyBase\tFlyBase\tbiolink:interacts_with\t60276\nBFO\tBFO\tbiolink:inverseOf\t5\nFlyBase\tPomBase\tbiolink:orthologous_to\t1980\nMGI\tMP\tbiolink:has_phenotype\t598266\nOBO\tUBERON\tbiolink:related_to\t8\nHGNC\tRGD\tbiolink:related_to\t15668\nZFIN\tHGNC\tbiolink:orthologous_to\t4748\nXenbase\tSO\tbiolink:subclass_of\t15904\nMONARCH_BNODE\tHGNC\tbiolink:has_phenotype\t627\ndbSNP\trainbow_troutQTL\tbiolink:biomarker_for\t440\nMONDO\tPR\tbiolink:related_to\t20\nENSEMBL\tZFIN\tbiolink:related_to\t119500\nNCBIGene\tdictyBase\tbiolink:related_to\t42\nOMIM\tdbSNP\tbiolink:related_to\t108\nfaldo\tfaldo\tbiolink:subclass_of\t13\nNCBIGene\tSGD\tbiolink:related_to\t45\nSEPIO\tSEPIO\tbiolink:related_to\t9\nXenbase\tENSEMBL\tbiolink:related_to\t113\nBIOGRID\tSO\tbiolink:subclass_of\t2219\nClinVarVariant\tOMIM\tbiolink:related_to\t135398\nMONDO\tNCBITaxon\tbiolink:in_taxon\t1\nMP\tFBcv\tbiolink:subclass_of\t263\nNCBIGene\tSO\tbiolink:subclass_of\t542874\nMONARCH_NODE\tDOID\tbiolink:has_phenotype\t38\nSGD\tOBO\tbiolink:related_to\t6439\nZFIN\thttp\tbiolink:related_to\t146\nGENO\tSO\tbiolink:related_to\t9\nZFIN\tUniProtKB\tbiolink:has_gene_product\t2755\nMGI\tZFIN\tbiolink:orthologous_to\t26613\nPANTHER\tRGD\tbiolink:related_to\t18137\nCLO\towl\tbiolink:subPropertyOf\t1\nUBERON\tENVO\tbiolink:related_to\t8\nBIOGRID\tNCBIGene\tbiolink:same_as\t55\nFlyBase\tNCBIGene\tbiolink:related_to\t11963\nMGI\tGO\tbiolink:actively_involved_in\t148562\nZFIN\tOBO\tbiolink:expressed_in\t512\nHGNC\tCL\tbiolink:expressed_in\t9853\nhttp\tUMLS\tbiolink:subclass_of\t27412\nUBERON\tGENO\tbiolink:subclass_of\t2\nZFIN\tZP\tbiolink:has_phenotype\t189573\nRGD\tPomBase\tbiolink:related_to\t2450\nMP\tNCIT\tbiolink:subclass_of\t3\nNCBIGene\tWormBase\tbiolink:related_to\t144\nhttps\tNCBITaxon\tbiolink:related_to\t206\nOBO\tCHEBI\tbiolink:related_to\t25\nGO\tENVO\tbiolink:subclass_of\t4\nOBO\tPO\tbiolink:derives_from\t4\nGO\tOBO\tbiolink:regulates_process_to_process\t80\nPO\tPO\tbiolink:has_participant\t3\nENSEMBL\tGO\tbiolink:actively_involved_in\t120005\nMGI\thttp\tbiolink:related_to\t158\nHGNC\tZFIN\tbiolink:interacts_with\t2\ndbSNP\tHGNC\tbiolink:related_to\t97824\nENSEMBL\tRGD\tbiolink:related_to\t29189\nMONARCH_BNODE\tHGNC\tbiolink:biomarker_for\t1\nHGNC\tBIOGRID\tbiolink:related_to\t1\nMONARCH_BNODE\tZFIN\tbiolink:related_to\t51246\nMESH\tMESH\tbiolink:biomarker_for\t64340\nRO\tRO\tbiolink:related_to\t1\nENVO\tENVO\tbiolink:has_part\t20\nOBO\tBSPO\tbiolink:subPropertyOf\t6\nDOID\towl\tbiolink:subclass_of\t8\nhttp\tUBERON\tbiolink:subclass_of\t14\nOBO\tOBO\tbiolink:derives_from\t18\nHGNC\tHGNC\tbiolink:interacts_with\t63079\nMGI\tRGD\tbiolink:orthologous_to\t4850\nMONARCH_BNODE\tHGNC\tbiolink:related_to\t50\nGO\tPO\tbiolink:occurs_in\t10\nGO\tPR\tbiolink:has_participant\t3\nHP\tbiolink\tbiolink:subclass_of\t394\nOBO\tOBO\tbiolink:has_participant\t3\nHP\tWBPhenotype\tbiolink:subclass_of\t121\nOrphanet\towl\tbiolink:subclass_of\t13\nBIOGRID\tOMIM\tbiolink:biomarker_for\t56\nAspGD\tGO\tbiolink:actively_involved_in\t244871\nUPHENO\towl\tbiolink:subclass_of\t7\nMONARCH_NODE\tMONARCH_BNODE\tbiolink:related_to\t78988\nfaldo\trdf\tbiolink:subclass_of\t2\nRGD\tNCBIGene\tbiolink:orthologous_to\t1175\nGENO\tNCBITaxon\tbiolink:related_to\t2\nCLO\tCLO\tbiolink:related_to\t2\ndbSNP\tchickenQTL\tbiolink:biomarker_for\t1992\nOBO\tIAO\tbiolink:related_to\t1\nMGI\tMMRRC\tbiolink:same_as\t2\nOBO\tNCBITaxon\tbiolink:part_of\t12616\nhttp\tMONDO\tbiolink:subclass_of\t57130\nSTATO\tOBI\tbiolink:subclass_of\t1\nhttp\tBFO\tbiolink:subclass_of\t5\nOBO\tNCBITaxon\tbiolink:related_to\t7\nHGNC\tHP\tbiolink:related_to\t6\nOBO\tOBO\tbiolink:subPropertyOf\t17\nCL\tGO\tbiolink:has_part\t109\nGO\tUBERON\tbiolink:has_output\t1\nMONARCH_BNODE\tRGD\tbiolink:related_to\t1\nECO\tGO\tbiolink:related_to\t83\nFBcv\tFBcv\tbiolink:subclass_of\t198\nIAO\tBFO\tbiolink:subclass_of\t5\nRGD\tGO\tbiolink:actively_involved_in\t146383\nBIOGRID\tOMIM\tbiolink:contributes_to\t341\npigQTL\tpigQTL\tbiolink:biomarker_for\t60\nIAO\tCHEBI\tbiolink:subclass_of\t1\nOBO\tOrphanet\tbiolink:subclass_of\t19463\nXenbase\tSGD\tbiolink:orthologous_to\t2900\nWormBase\tUniProtKB\tbiolink:has_gene_product\t2671\nWD_Entity\tENVO\tbiolink:type\t4\nMGI\tMMRRC\tbiolink:related_to\t459\nNCBIGene\tFlyBase\tbiolink:related_to\t133\nGO\tSO\tbiolink:has_output\t6\nOBO\tOBO\tbiolink:has_attribute\t10\nHGNC\tEcoGene\tbiolink:orthologous_to\t952\nSEPIO\tSEPIO\tbiolink:has_input\t1\nUBERON\tCL\tbiolink:subclass_of\t5\nBSPO\tBSPO\tbiolink:subPropertyOf\t8\nBIOGRID\tHGNC\tbiolink:interacts_with\t3\nSEPIO\towl\tbiolink:subclass_of\t1\ndictyBase\tGO\tbiolink:part_of\t20328\nsheepQTL\tAQTLTrait\tbiolink:biomarker_for\t2922\nGO\tCHEBI\tbiolink:has_output\t100\nXenbase\tWormBase\tbiolink:orthologous_to\t9980\nGO\towl\tbiolink:subclass_of\t6154\nClinVarVariant\tHGNC\tbiolink:gene_associated_with_condition\t329\nfoaf\tfoaf\tbiolink:subPropertyOf\t12\nHGNC\tBIOGRID\tbiolink:interacts_with\t13\nZFIN\tPomBase\tbiolink:related_to\t2482\nPO\tPO\tbiolink:has_part\t9\nOBO\tPO\tbiolink:subclass_of\t1\nUBERON\tUBERON\tbiolink:coexists_with\t59\nUBERON\tGO\tbiolink:subclass_of\t10\npigQTL\tNCBIGene\tbiolink:biomarker_for\t16045\nOMIM\tOMIM\tbiolink:related_to\t4268\nPR\tOBI\tbiolink:subclass_of\t1\nIAO\tIAO\tbiolink:subclass_of\t167\nNCBIGene\tOrphanet\tbiolink:related_to\t2\nFlyBase\tNCBIGene\tbiolink:interacts_with\t23\nENSEMBL\tEcoGene\tbiolink:orthologous_to\t926\nMONARCH_NODE\tMP\tbiolink:has_phenotype\t34185\nOBO\tOBO\tbiolink:subclass_of\t93638\nMONARCH_BNODE\tRO\towl:onProperty\t233\nGENO\tOBAN\tbiolink:subclass_of\t1\ndbSNP\tHP\tbiolink:related_to\t2703\nECO\tECO\tbiolink:subclass_of\t3014\nPO\tPO\tbiolink:located_in\t2\nRGD\tVGNC\tbiolink:related_to\t8\nPR\tGO\tbiolink:related_to\t89\nMGI\tPomBase\tbiolink:related_to\t2554\npav\tSEPIO\tbiolink:subPropertyOf\t3\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/sri-reference-kg-0.2.0/sri-reference-kg-0.2.0.dot",
    "content": "digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"SGD\" -> \"SO\" [label=\"biolink:subclass_of (6439)\"]; \t\"WormBase\" -> \"WormBase\" [label=\"biolink:interacts_with (45129)\"]; \t\"GENO\" -> \"UPHENO\" [label=\"biolink:object (1)\"]; \t\"ClinVarVariant\" -> \"GENO\" [label=\"biolink:related_to (190)\"]; \t\"WormBase\" -> \"http\" [label=\"biolink:related_to (133)\"]; \t\"dbSNP\" -> \"EFO\" [label=\"biolink:related_to (163561)\"]; \t\"RGD\" -> \"Xenbase\" [label=\"biolink:related_to (10129)\"]; \t\"RGD\" -> \"GO\" [label=\"biolink:enables (61929)\"]; \t\"ECO\" -> \"ECO\" [label=\"biolink:has_part (11)\"]; \t\"MONARCH_BNODE\" -> \"HP\" [label=\"biolink:related_to (45)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:subPropertyOf (14)\"]; \t\"AspGD\" -> \"GO\" [label=\"biolink:enables (272945)\"]; \t\"RO\" -> \"GENO\" [label=\"biolink:subPropertyOf (6)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:overlaps (27)\"]; \t\"KEGG-path\" -> \"GO\" [label=\"biolink:subclass_of (537)\"]; \t\"VGNC\" -> \"SGD\" [label=\"biolink:related_to (4)\"]; \t\"FAO\" -> \"FAO\" [label=\"biolink:part_of (4)\"]; \t\"MONARCH_BNODE\" -> \"EFO\" [label=\"biolink:related_to (3375)\"]; \t\"http\" -> \"foaf\" [label=\"biolink:subclass_of (7)\"]; \t\"RO\" -> \"RO\" [label=\"biolink:subPropertyOf (626)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:overlaps (26)\"]; \t\"ZP\" -> \"UBERON\" [label=\"biolink:subclass_of (5407)\"]; \t\"RGD\" -> \"MP\" [label=\"biolink:has_phenotype (1009)\"]; \t\"NCBIGene\" -> \"OBO\" [label=\"biolink:related_to (578172)\"]; \t\"DOID\" -> \"HP\" [label=\"biolink:subclass_of (12)\"]; \t\"https\" -> \"https\" [label=\"biolink:biomarker_for (97442)\"]; \t\"ZFIN\" -> \"GENO\" [label=\"biolink:subclass_of (15)\"]; \t\"VGNC\" -> \"WormBase\" [label=\"biolink:related_to (1)\"]; \t\"FlyBase\" -> \"GO\" [label=\"biolink:enables (22788)\"]; \t\"Xenbase\" -> \"FlyBase\" [label=\"biolink:orthologous_to (9546)\"]; \t\"JAX\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (114)\"]; \t\"OBI\" -> \"CL\" [label=\"biolink:related_to (5)\"]; \t\"Orphanet\" -> \"HP\" [label=\"biolink:subclass_of (7)\"]; \t\"NCBITaxon\" -> \"OBO\" [label=\"biolink:subclass_of (31)\"]; \t\"HP\" -> \"CL\" [label=\"biolink:subclass_of (116)\"]; \t\"OBI\" -> \"RO\" [label=\"biolink:subPropertyOf (6)\"]; \t\"ZFIN\" -> \"GO\" [label=\"biolink:actively_involved_in (65188)\"]; \t\"HGNC\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (10886)\"]; \t\"OBI\" -> \"GO\" [label=\"biolink:related_to (3)\"]; \t\"GENO\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (3)\"]; \t\"OBI\" -> \"OBO\" [label=\"biolink:has_part (3)\"]; \t\"MONARCH_NODE\" -> \"WormBase\" [label=\"biolink:related_to (7)\"]; \t\"HP\" -> \"GO\" [label=\"biolink:subclass_of (211)\"]; \t\"PMID\" -> \"KEGG-path\" [label=\"biolink:related_to (6336)\"]; \t\"HGNC\" -> \"ENSEMBL\" [label=\"biolink:same_as (1507)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:derives_from (1)\"]; \t\"MP\" -> \"owl\" [label=\"biolink:subclass_of (441)\"]; \t\"OBO\" -> \"OBI\" [label=\"biolink:subclass_of (29)\"]; \t\"chickenQTL\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (6461)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:related_to (411)\"]; \t\"MONARCH\" -> \"HGNC\" [label=\"biolink:model_of (1)\"]; \t\"NCBIGene\" -> \"pigQTL\" [label=\"biolink:biomarker_for (107)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:related_to (149)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:related_to (7)\"]; \t\"NCBIGene\" -> \"dictyBase\" [label=\"biolink:orthologous_to (399)\"]; \t\"WormBase\" -> \"WBPhenotype\" [label=\"biolink:has_phenotype (106355)\"]; \t\"FlyBase\" -> \"UBERON\" [label=\"biolink:expressed_in (52120)\"]; \t\"GeneReviews\" -> \"DOID\" [label=\"biolink:subclass_of (737)\"]; \t\"KEGG-ko\" -> \"DATA\" [label=\"biolink:subclass_of (23530)\"]; \t\"NCBIGene\" -> \"SGD\" [label=\"biolink:orthologous_to (142)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"biolink:related_to (64258)\"]; \t\"MP\" -> \"UPHENO\" [label=\"biolink:subclass_of (2)\"]; \t\"wgs\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"OMIA\" -> \"CL\" [label=\"biolink:has_phenotype (3)\"]; \t\"SGD\" -> \"GO\" [label=\"biolink:part_of (23564)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:produces (15)\"]; \t\"CHEBI\" -> \"GO\" [label=\"biolink:has_phenotype (10)\"]; \t\"HGNC\" -> \"HGNC\" [label=\"biolink:has_gene_product (2)\"]; \t\"OBO\" -> \"NCIT\" [label=\"biolink:subclass_of (18537)\"]; \t\"CHEBI\" -> \"SO\" [label=\"biolink:subclass_of (26)\"]; \t\"NCBIGene\" -> \"OMIMPS\" [label=\"biolink:related_to (6)\"]; \t\"HGNC\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (82378)\"]; \t\"CHEBI\" -> \"BFO\" [label=\"biolink:subclass_of (7)\"]; \t\"GENO\" -> \"BFO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_output (1)\"]; \t\"WormBase\" -> \"PomBase\" [label=\"biolink:related_to (2261)\"]; \t\"OMIA\" -> \"GO\" [label=\"biolink:has_phenotype (11)\"]; \t\"MGI\" -> \"VGNC\" [label=\"biolink:related_to (8)\"]; \t\"VGNC\" -> \"FlyBase\" [label=\"biolink:related_to (7)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:subclass_of (192269)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (22754)\"]; \t\"NCBIGene\" -> \"WormBase\" [label=\"biolink:orthologous_to (986)\"]; \t\"BSPO\" -> \"OBO\" [label=\"biolink:related_to (1)\"]; \t\"WormBase\" -> \"GO\" [label=\"biolink:actively_involved_in (34343)\"]; \t\"MGI\" -> \"Xenbase\" [label=\"biolink:related_to (10621)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:has_output (14)\"]; \t\"PR\" -> \"FlyBase\" [label=\"biolink:related_to (7)\"]; \t\"CLO\" -> \"CLO\" [label=\"biolink:subclass_of (38837)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:has_part (2)\"]; \t\"NCBITaxon\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"ENSEMBL\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (573072)\"]; \t\"ENVO\" -> \"UBERON\" [label=\"biolink:related_to (1)\"]; \t\"CL\" -> \"OBO\" [label=\"biolink:has_part (29)\"]; \t\"ECO\" -> \"OBO\" [label=\"biolink:related_to (2)\"]; \t\"BIOGRID\" -> \"HGNC\" [label=\"biolink:same_as (26)\"]; \t\"UMLS\" -> \"Orphanet\" [label=\"biolink:subclass_of (15436)\"]; \t\"FBcv\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:part_of (153)\"]; \t\"Coriell\" -> \"CLO\" [label=\"biolink:derives_from (119)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:has_part (54)\"]; \t\"MP\" -> \"ZP\" [label=\"biolink:subclass_of (553)\"]; \t\"MONARCH_BNODE\" -> \"NCIT\" [label=\"biolink:has_part (164)\"]; \t\"SGD\" -> \"MONARCH_NODE\" [label=\"biolink:has_phenotype (60168)\"]; \t\"SO\" -> \"GENO\" [label=\"biolink:has_part (1)\"]; \t\"MONARCH_BNODE\" -> \"https\" [label=\"biolink:related_to (75558)\"]; \t\"OBI\" -> \"CL\" [label=\"biolink:derives_from (1)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:part_of (9112)\"]; \t\"MESH\" -> \"OMIM\" [label=\"biolink:biomarker_for (11)\"]; \t\"WormBase\" -> \"UBERON\" [label=\"biolink:expressed_in (25331)\"]; \t\"MONARCH\" -> \"dbSNP\" [label=\"biolink:related_to (13167)\"]; \t\"HGNC\" -> \"EcoGene\" [label=\"biolink:related_to (287)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:capable_of (361)\"]; \t\"ENVO\" -> \"BFO\" [label=\"biolink:related_to (1)\"]; \t\"RGD\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (606)\"]; \t\"FBcv\" -> \"UPHENO\" [label=\"biolink:subclass_of (1)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:related_to (17)\"]; \t\"ZFIN\" -> \"ZFIN\" [label=\"biolink:genetically_interacts_with (17)\"]; \t\"FlyBase\" -> \"MGI\" [label=\"biolink:interacts_with (3)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:related_to (1243)\"]; \t\"PR\" -> \"OBO\" [label=\"biolink:has_part (7)\"]; \t\"MONARCH_BNODE\" -> \"OMIM\" [label=\"biolink:contributes_to (51)\"]; \t\"HP\" -> \"http\" [label=\"biolink:related_to (400)\"]; \t\"RGD\" -> \"ZFIN\" [label=\"biolink:orthologous_to (18674)\"]; \t\"PANTHER\" -> \"EcoGene\" [label=\"biolink:related_to (631)\"]; \t\"UBERON\" -> \"OBO\" [label=\"biolink:subclass_of (460)\"]; \t\"OBO\" -> \"OGMS\" [label=\"biolink:related_to (1)\"]; \t\"MONARCH_BNODE\" -> \"PMID\" [label=\"biolink:related_to (302498)\"]; \t\"Xenbase\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (249)\"]; \t\"OBAN\" -> \"IAO\" [label=\"biolink:subclass_of (1)\"]; \t\"ZFIN\" -> \"EcoGene\" [label=\"biolink:orthologous_to (1069)\"]; \t\"Xenbase\" -> \"PomBase\" [label=\"biolink:related_to (2173)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:capable_of (124)\"]; \t\"UMLS\" -> \"OBO\" [label=\"biolink:subclass_of (31149)\"]; \t\"FlyBase\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (2587)\"]; \t\"NCBIGene\" -> \"FlyBase\" [label=\"biolink:orthologous_to (1101)\"]; \t\"Orphanet\" -> \"HP\" [label=\"biolink:related_to (69)\"]; \t\"MONARCH_BNODE\" -> \"dbSNPIndividual\" [label=\"biolink:related_to (2961)\"]; \t\"SEPIO\" -> \"RO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:related_to (66)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:has_part (3795)\"]; \t\"JAX\" -> \"JAX\" [label=\"biolink:related_to (4)\"]; \t\"OBI\" -> \"STATO\" [label=\"biolink:subclass_of (3)\"]; \t\"ENSEMBL\" -> \"EcoGene\" [label=\"biolink:related_to (264)\"]; \t\"PR\" -> \"owl\" [label=\"biolink:subclass_of (59)\"]; \t\"MP\" -> \"HP\" [label=\"biolink:subclass_of (8108)\"]; \t\"OBO\" -> \"ENVO\" [label=\"biolink:subclass_of (4)\"]; \t\"FAO\" -> \"OBO\" [label=\"biolink:subclass_of (4)\"]; \t\"MonarchData\" -> \"https\" [label=\"owl:versionIRI (1)\"]; \t\"WormBase\" -> \"GO\" [label=\"biolink:enables (28231)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:related_to (5698)\"]; \t\"WormBase\" -> \"NCBIGene\" [label=\"biolink:interacts_with (283)\"]; \t\"MGI\" -> \"EcoGene\" [label=\"biolink:orthologous_to (986)\"]; \t\"ENVO\" -> \"NCBITaxon\" [label=\"biolink:related_to (7)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:precedes (1)\"]; \t\"OMIA\" -> \"MONDO\" [label=\"biolink:subclass_of (1758)\"]; \t\"ECO\" -> \"IAO\" [label=\"biolink:subclass_of (1)\"]; \t\"FBcv\" -> \"ZP\" [label=\"biolink:subclass_of (70)\"]; \t\"Orphanet\" -> \"HP\" [label=\"biolink:has_phenotype (95937)\"]; \t\"ECO\" -> \"OBI\" [label=\"biolink:related_to (124)\"]; \t\"DOID\" -> \"UMLS\" [label=\"biolink:subclass_of (13059)\"]; \t\"MGI\" -> \"GO\" [label=\"biolink:enables (82475)\"]; \t\"HGNC\" -> \"OMIM\" [label=\"biolink:contributes_to (843)\"]; \t\"GO\" -> \"FAO\" [label=\"biolink:related_to (17)\"]; \t\"MONARCH_BNODE\" -> \"https\" [label=\"biolink:part_of (29389)\"]; \t\"http\" -> \"DOID\" [label=\"biolink:subclass_of (18439)\"]; \t\"rdf\" -> \"owl\" [label=\"biolink:subclass_of (2)\"]; \t\"MONARCH\" -> \"OMIA\" [label=\"biolink:has_phenotype (897)\"]; \t\"dbSNP\" -> \"MONDO\" [label=\"biolink:related_to (111)\"]; \t\"VGNC\" -> \"SGD\" [label=\"biolink:orthologous_to (2)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:participates_in (18)\"]; \t\"CLO\" -> \"CLO\" [label=\"biolink:derives_from (1)\"]; \t\"http\" -> \"OGMS\" [label=\"biolink:subclass_of (25)\"]; \t\"MONARCH_BNODE\" -> \"NCBITaxon\" [label=\"owl:someValuesFrom (233)\"]; \t\"Orphanet\" -> \"UMLS\" [label=\"biolink:subclass_of (13030)\"]; \t\"MGI\" -> \"UBERON\" [label=\"biolink:expressed_in (356928)\"]; \t\"OBI\" -> \"SO\" [label=\"biolink:subclass_of (2)\"]; \t\"OBI\" -> \"MONDO\" [label=\"biolink:subclass_of (2)\"]; \t\"DOID\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"WormBase\" -> \"GO\" [label=\"biolink:has_phenotype (3795)\"]; \t\"OBI\" -> \"BFO\" [label=\"biolink:subclass_of (50)\"]; \t\"ZFIN\" -> \"DOID\" [label=\"biolink:model_of (1195)\"]; \t\"chickenQTL\" -> \"chickenQTL\" [label=\"biolink:biomarker_for (2131)\"]; \t\"MONARCH_BNODE\" -> \"MONDO\" [label=\"biolink:related_to (23)\"]; \t\"OBI\" -> \"CHEBI\" [label=\"biolink:subclass_of (15)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:capable_of (14)\"]; \t\"FlyBase\" -> \"HGNC\" [label=\"biolink:interacts_with (42)\"]; \t\"foaf\" -> \"dcterms\" [label=\"biolink:subclass_of (4)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"biolink:related_to (683)\"]; \t\"HGNC\" -> \"GO\" [label=\"biolink:actively_involved_in (39884)\"]; \t\"ClinVarVariant\" -> \"Orphanet\" [label=\"biolink:related_to (2193)\"]; \t\"NCIT\" -> \"Orphanet\" [label=\"biolink:subclass_of (4801)\"]; \t\"IAO\" -> \"OIO\" [label=\"biolink:type (1)\"]; \t\"ClinVarVariant\" -> \"UMLS\" [label=\"biolink:gene_associated_with_condition (55137)\"]; \t\"UBERON\" -> \"PR\" [label=\"biolink:produces (5)\"]; \t\"Coriell\" -> \"HGNC\" [label=\"biolink:model_of (741)\"]; \t\"IAO\" -> \"owl\" [label=\"biolink:type (2)\"]; \t\"dbSNP\" -> \"https\" [label=\"biolink:biomarker_for (94336)\"]; \t\"OBI\" -> \"OBO\" [label=\"biolink:related_to (6)\"]; \t\"DOID\" -> \"MONDO\" [label=\"biolink:subclass_of (26067)\"]; \t\"UMLS\" -> \"OBI\" [label=\"biolink:subclass_of (18)\"]; \t\"DOID\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"foaf\" -> \"foaf\" [label=\"biolink:inverseOf (4)\"]; \t\"HP\" -> \"OBO\" [label=\"biolink:subclass_of (185)\"]; \t\"WBPhenotype\" -> \"MP\" [label=\"biolink:subclass_of (192)\"]; \t\"dictyBase\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (332)\"]; \t\"FBcv\" -> \"HP\" [label=\"biolink:subclass_of (25)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"biolink:same_as (1881)\"]; \t\"NCBIGene\" -> \"MGI\" [label=\"biolink:related_to (14473)\"]; \t\"chickenQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (16494)\"]; \t\"MONARCH\" -> \"OMIM\" [label=\"biolink:related_to (1)\"]; \t\"Orphanet\" -> \"MONDO\" [label=\"biolink:subclass_of (28520)\"]; \t\"NCBIGene\" -> \"chickenQTL\" [label=\"biolink:biomarker_for (1)\"]; \t\"FlyBase\" -> \"dictyBase\" [label=\"biolink:orthologous_to (5816)\"]; \t\"Orphanet\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:has_output (1)\"]; \t\"http\" -> \"http\" [label=\"biolink:subclass_of (28707)\"]; \t\"OBO\" -> \"OIO\" [label=\"biolink:subclass_of (11)\"]; \t\"FlyBase\" -> \"SGD\" [label=\"biolink:orthologous_to (2518)\"]; \t\"OBI\" -> \"IAO\" [label=\"biolink:subclass_of (23)\"]; \t\"ZFIN\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (63616)\"]; \t\"OBO\" -> \"owl\" [label=\"biolink:subclass_of (1378)\"]; \t\"CLO\" -> \"GENO\" [label=\"biolink:subclass_of (1)\"]; \t\"https\" -> \"OIO\" [label=\"biolink:subclass_of (7)\"]; \t\"https\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (121393)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:related_to (6521)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:affects_localization_of (6)\"]; \t\"PW\" -> \"PW\" [label=\"biolink:subclass_of (3117)\"]; \t\"PomBase\" -> \"GO\" [label=\"biolink:part_of (16735)\"]; \t\"UMLS\" -> \"NCIT\" [label=\"biolink:subclass_of (14968)\"]; \t\"ZFIN\" -> \"NCBIGene\" [label=\"biolink:interacts_with (575)\"]; \t\"ZFIN\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (18712)\"]; \t\"pigQTL\" -> \"NCBIGene\" [label=\"biolink:related_to (662)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:has_input (69)\"]; \t\"SIO\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"MGI\" -> \"GO\" [label=\"biolink:has_phenotype (23069)\"]; \t\"GENO\" -> \"IAO\" [label=\"biolink:inverseOf (1)\"]; \t\"NCIT\" -> \"OBO\" [label=\"biolink:subclass_of (15152)\"]; \t\"HGNC\" -> \"ENSEMBL\" [label=\"biolink:related_to (160551)\"]; \t\"ClinVarVariant\" -> \"MONDO\" [label=\"biolink:gene_associated_with_condition (19155)\"]; \t\"BIOGRID\" -> \"Orphanet\" [label=\"biolink:biomarker_for (1)\"]; \t\"SGD\" -> \"APO\" [label=\"biolink:has_phenotype (8507)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"Coriell\" -> \"MONARCH_BNODE\" [label=\"biolink:derives_from (30624)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_input (123)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:has_participant (10)\"]; \t\"MGI\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (494740)\"]; \t\"KEGG-path\" -> \"PW\" [label=\"biolink:subclass_of (537)\"]; \t\"RO\" -> \"OBO\" [label=\"biolink:subPropertyOf (1)\"]; \t\"OMIA\" -> \"OBO\" [label=\"biolink:has_phenotype (35)\"]; \t\"RGD\" -> \"dictyBase\" [label=\"biolink:related_to (3223)\"]; \t\"MONDO\" -> \"CL\" [label=\"biolink:related_to (126)\"]; \t\"HGNC\" -> \"http\" [label=\"biolink:orthologous_to (966)\"]; \t\"ENVO\" -> \"RO\" [label=\"biolink:subclass_of (1)\"]; \t\"WormBase\" -> \"EcoGene\" [label=\"biolink:orthologous_to (847)\"]; \t\"RGD\" -> \"SGD\" [label=\"biolink:related_to (2352)\"]; \t\"PANTHER\" -> \"ENSEMBL\" [label=\"biolink:related_to (195305)\"]; \t\"ZFIN\" -> \"MONARCH_BNODE\" [label=\"biolink:has_part (5909)\"]; \t\"WormBase\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (973977)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (26)\"]; \t\"UBERON\" -> \"CHEBI\" [label=\"biolink:related_to (12)\"]; \t\"MONDO\" -> \"GO\" [label=\"biolink:related_to (467)\"]; \t\"SEPIO\" -> \"BFO\" [label=\"biolink:subclass_of (7)\"]; \t\"GO\" -> \"BFO\" [label=\"biolink:subclass_of (3)\"]; \t\"foaf\" -> \"owl\" [label=\"biolink:subclass_of (6)\"]; \t\"SEPIO\" -> \"CHEBI\" [label=\"biolink:subclass_of (3)\"]; \t\"SO\" -> \"owl\" [label=\"biolink:subclass_of (242)\"]; \t\"GO\" -> \"PO\" [label=\"biolink:part_of (9)\"]; \t\"RGD\" -> \"WormBase\" [label=\"biolink:related_to (4685)\"]; \t\"ENSEMBL\" -> \"SO\" [label=\"biolink:subclass_of (5384)\"]; \t\"ZFIN\" -> \"GO\" [label=\"biolink:enables (53364)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:related_to (227)\"]; \t\"SIO\" -> \"IAO\" [label=\"biolink:subclass_of (1)\"]; \t\"http\" -> \"MP\" [label=\"biolink:subclass_of (13)\"]; \t\"ENSEMBL\" -> \"ENSEMBL\" [label=\"biolink:related_to (530874)\"]; \t\"NCBIGene\" -> \"ZFIN\" [label=\"biolink:related_to (8456)\"]; \t\"NCBIGene\" -> \"GO\" [label=\"biolink:actively_involved_in (129041)\"]; \t\"IAO\" -> \"OBO\" [label=\"biolink:related_to (3)\"]; \t\"CoriellCollection\" -> \"CoriellCollection\" [label=\"biolink:related_to (4)\"]; \t\"ENSEMBL\" -> \"http\" [label=\"biolink:orthologous_to (890)\"]; \t\"NCBITaxon\" -> \"owl\" [label=\"biolink:subclass_of (148)\"]; \t\"MONARCH_BNODE\" -> \"AQTLTrait\" [label=\"biolink:has_phenotype (1815)\"]; \t\"BFO\" -> \"OIO\" [label=\"biolink:subclass_of (1)\"]; \t\"BFO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:has_part (3)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"biolink:related_to (7414)\"]; \t\"MGI\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (133358)\"]; \t\"MMRRC\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (50892)\"]; \t\"RO\" -> \"RO\" [label=\"biolink:subclass_of (2)\"]; \t\"sheepQTL\" -> \"sheepQTL\" [label=\"biolink:biomarker_for (3411)\"]; \t\"HP\" -> \"FBcv\" [label=\"biolink:subclass_of (82)\"]; \t\"MONDO\" -> \"Orphanet\" [label=\"biolink:subclass_of (28521)\"]; \t\"ClinVarVariant\" -> \"NCBIGene\" [label=\"biolink:related_to (79)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"biolink:contributes_to (11)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:subclass_of (287)\"]; \t\"http\" -> \"wgs\" [label=\"biolink:subclass_of (2)\"]; \t\"dbSNP\" -> \"ENSEMBL\" [label=\"biolink:related_to (51185)\"]; \t\"UBERON\" -> \"NCBITaxon\" [label=\"biolink:related_to (749)\"]; \t\"CL\" -> \"OBI\" [label=\"biolink:related_to (1)\"]; \t\"ClinVarVariant\" -> \"OMIMPS\" [label=\"biolink:related_to (19963)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:has_participant (28)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:has_part (28)\"]; \t\"SEPIO\" -> \"IAO\" [label=\"biolink:subclass_of (10)\"]; \t\"HP\" -> \"NCIT\" [label=\"biolink:subclass_of (6)\"]; \t\"PO\" -> \"OBO\" [label=\"biolink:subclass_of (2)\"]; \t\"NCBIGene\" -> \"RGD\" [label=\"biolink:related_to (8918)\"]; \t\"NCIT\" -> \"OBI\" [label=\"biolink:subclass_of (6)\"]; \t\"Coriell\" -> \"CL\" [label=\"biolink:derives_from (30505)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_participant (65)\"]; \t\"MP\" -> \"UMLS\" [label=\"biolink:subclass_of (3)\"]; \t\"UBERON\" -> \"OBO\" [label=\"biolink:capable_of (2)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"biolink:subclass_of (2)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:located_in (13)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"biolink:subclass_of (1)\"]; \t\"FlyBase\" -> \"GO\" [label=\"biolink:actively_involved_in (42834)\"]; \t\"WormBase\" -> \"MGI\" [label=\"biolink:interacts_with (2)\"]; \t\"CoriellCollection\" -> \"Coriell\" [label=\"biolink:related_to (30624)\"]; \t\"NCBIGene\" -> \"FlyBase\" [label=\"biolink:genetically_interacts_with (16)\"]; \t\"ZFIN\" -> \"GO\" [label=\"biolink:part_of (46379)\"]; \t\"http\" -> \"prov\" [label=\"biolink:subclass_of (2)\"]; \t\"ZFIN\" -> \"dictyBase\" [label=\"biolink:related_to (3209)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:subclass_of (4930)\"]; \t\"MP\" -> \"UBERON\" [label=\"biolink:subclass_of (2017)\"]; \t\"MONDO\" -> \"OBO\" [label=\"biolink:subclass_of (60187)\"]; \t\"ZFIN\" -> \"SGD\" [label=\"biolink:related_to (2379)\"]; \t\"NCIT\" -> \"NCIT\" [label=\"biolink:subclass_of (9372)\"]; \t\"RGD\" -> \"FlyBase\" [label=\"biolink:related_to (5488)\"]; \t\"prov\" -> \"SEPIO\" [label=\"biolink:related_to (1)\"]; \t\"OMIM\" -> \"OBO\" [label=\"biolink:related_to (48)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:subclass_of (44)\"]; \t\"OBO\" -> \"PO\" [label=\"biolink:has_part (1)\"]; \t\"OBO\" -> \"HP\" [label=\"biolink:subclass_of (38)\"]; \t\"MONARCH\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (5)\"]; \t\"HGNC\" -> \"PomBase\" [label=\"biolink:orthologous_to (3419)\"]; \t\"NCBIGene\" -> \"BIOGRID\" [label=\"biolink:related_to (1093)\"]; \t\"IAO\" -> \"OBI\" [label=\"biolink:related_to (7)\"]; \t\"MGI\" -> \"dictyBase\" [label=\"biolink:related_to (3358)\"]; \t\"REACT\" -> \"GO\" [label=\"biolink:subclass_of (15909)\"]; \t\"ZFIN\" -> \"WormBase\" [label=\"biolink:related_to (4682)\"]; \t\"Xenbase\" -> \"ZFIN\" [label=\"biolink:orthologous_to (6756)\"]; \t\"MP\" -> \"MONDO\" [label=\"biolink:subclass_of (3)\"]; \t\"MGI\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (297818)\"]; \t\"MGI\" -> \"JAX\" [label=\"biolink:same_as (12)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:affects (6013)\"]; \t\"MGI\" -> \"SGD\" [label=\"biolink:related_to (2452)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_part (12)\"]; \t\"ENSEMBL\" -> \"CL\" [label=\"biolink:expressed_in (2195)\"]; \t\"horseQTL\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (1562)\"]; \t\"foaf\" -> \"SEPIO\" [label=\"biolink:related_to (2)\"]; \t\"ENVO\" -> \"PO\" [label=\"biolink:derives_from (1)\"]; \t\"PomBase\" -> \"GO\" [label=\"biolink:actively_involved_in (13919)\"]; \t\"faldo\" -> \"GENO\" [label=\"biolink:subclass_of (1)\"]; \t\"PR\" -> \"MGI\" [label=\"biolink:related_to (198)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:overlaps (75)\"]; \t\"ENSEMBL\" -> \"PomBase\" [label=\"biolink:orthologous_to (18699)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:part_of (9960)\"]; \t\"MGI\" -> \"WormBase\" [label=\"biolink:related_to (4875)\"]; \t\"rainbow_troutQTL\" -> \"HGNC\" [label=\"biolink:related_to (2)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:capable_of (511)\"]; \t\"MGI\" -> \"JAX\" [label=\"biolink:related_to (22008)\"]; \t\"STATO\" -> \"STATO\" [label=\"biolink:subclass_of (21)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:inverseOf (9)\"]; \t\"ENVO\" -> \"WD_Entity\" [label=\"biolink:related_to (1)\"]; \t\"dbSNPIndividual\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (3045)\"]; \t\"FlyBase\" -> \"EcoGene\" [label=\"biolink:related_to (251)\"]; \t\"CLO\" -> \"CL\" [label=\"biolink:derives_from (1)\"]; \t\"ZP\" -> \"MP\" [label=\"biolink:subclass_of (6191)\"]; \t\"UBERON\" -> \"owl\" [label=\"biolink:subclass_of (1507)\"]; \t\"WormBase\" -> \"HGNC\" [label=\"biolink:interacts_with (8)\"]; \t\"RGD\" -> \"GO\" [label=\"biolink:has_phenotype (2)\"]; \t\"ZFIN\" -> \"MGI\" [label=\"biolink:interacts_with (1)\"]; \t\"OMIM\" -> \"NCBIGene\" [label=\"biolink:related_to (24)\"]; \t\"UMLS\" -> \"owl\" [label=\"biolink:subclass_of (15)\"]; \t\"NCBIGene\" -> \"CL\" [label=\"biolink:expressed_in (256)\"]; \t\"RGD\" -> \"OBO\" [label=\"biolink:related_to (43897)\"]; \t\"MONDO\" -> \"OBI\" [label=\"biolink:subclass_of (32)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:subclass_of (183)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:coexists_with (33)\"]; \t\"CHEBI\" -> \"PR\" [label=\"biolink:subclass_of (6)\"]; \t\"PW\" -> \"owl\" [label=\"biolink:subclass_of (106)\"]; \t\"UCSC\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (329)\"]; \t\"VGNC\" -> \"ZFIN\" [label=\"biolink:related_to (7)\"]; \t\"FAO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"FBcv\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"ZFIN\" -> \"FlyBase\" [label=\"biolink:related_to (5497)\"]; \t\"AQTLTrait\" -> \"OBO\" [label=\"biolink:subclass_of (228)\"]; \t\"IAO\" -> \"OIO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"OMIA\" -> \"DOID\" [label=\"biolink:subclass_of (8)\"]; \t\"NCBIGene\" -> \"MGI\" [label=\"biolink:orthologous_to (102)\"]; \t\"OBO\" -> \"OMIM\" [label=\"biolink:related_to (48)\"]; \t\"MONARCH\" -> \"GO\" [label=\"biolink:related_to (5)\"]; \t\"ZFIN\" -> \"UBERON\" [label=\"biolink:expressed_in (167509)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:has_input (64)\"]; \t\"OBAN\" -> \"OBAN\" [label=\"biolink:inverseOf (2)\"]; \t\"PR\" -> \"ZFIN\" [label=\"biolink:related_to (15)\"]; \t\"HGNC\" -> \"http\" [label=\"biolink:related_to (156)\"]; \t\"RGD\" -> \"EcoGene\" [label=\"biolink:orthologous_to (965)\"]; \t\"MONDO\" -> \"PO\" [label=\"biolink:related_to (1)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"biolink:subclass_of (25596)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:occurs_in (3)\"]; \t\"FlyBase\" -> \"NCBITaxon\" [label=\"biolink:related_to (7)\"]; \t\"MONARCH_NODE\" -> \"ZFIN\" [label=\"biolink:related_to (9372)\"]; \t\"MGI\" -> \"FlyBase\" [label=\"biolink:related_to (5747)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:has_part (371)\"]; \t\"*non-standard CURIE*\" -> \"OBO\" [label=\"owl:someValuesFrom (2914)\"]; \t\"MONDO\" -> \"OBO\" [label=\"biolink:related_to (351)\"]; \t\"OBI\" -> \"DOID\" [label=\"biolink:subclass_of (1)\"]; \t\"PANTHER\" -> \"http\" [label=\"biolink:related_to (435)\"]; \t\"UBERON\" -> \"NCBITaxon\" [label=\"biolink:part_of (4)\"]; \t\"http\" -> \"CLO\" [label=\"biolink:subclass_of (10)\"]; \t\"OGMS\" -> \"MONDO\" [label=\"biolink:subclass_of (1)\"]; \t\"OBO\" -> \"UBERON\" [label=\"biolink:derives_from (3)\"]; \t\"OGMS\" -> \"BFO\" [label=\"biolink:subclass_of (3)\"]; \t\"*non-standard CURIE*\" -> \"GENO\" [label=\"owl:onProperty (1)\"]; \t\"ZFIN\" -> \"http\" [label=\"biolink:orthologous_to (1192)\"]; \t\"WormBase\" -> \"dictyBase\" [label=\"biolink:related_to (2831)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:related_to (61)\"]; \t\"ZFIN\" -> \"ZFIN\" [label=\"biolink:interacts_with (31398)\"]; \t\"WormBase\" -> \"SGD\" [label=\"biolink:related_to (2181)\"]; \t\"HGNC\" -> \"Xenbase\" [label=\"biolink:orthologous_to (3806)\"]; \t\"*non-standard CURIE*\" -> \"RO\" [label=\"owl:onProperty (2932)\"]; \t\"FlyBase\" -> \"HGNC\" [label=\"biolink:same_as (2)\"]; \t\"ClinVarVariant\" -> \"NCBIGene\" [label=\"biolink:has_part (2)\"]; \t\"RGD\" -> \"NCBIGene\" [label=\"biolink:related_to (399)\"]; \t\"STATO\" -> \"IAO\" [label=\"biolink:subclass_of (2)\"]; \t\"ENSEMBL\" -> \"http\" [label=\"biolink:related_to (149)\"]; \t\"ZFIN\" -> \"HGNC\" [label=\"biolink:interacts_with (2)\"]; \t\"DOID\" -> \"DOID\" [label=\"biolink:subclass_of (10473)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:occurs_in (88)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:part_of (129)\"]; \t\"PR\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"UBERON\" -> \"CHEBI\" [label=\"biolink:has_part (20)\"]; \t\"PMID\" -> \"dbSNP\" [label=\"biolink:related_to (36936)\"]; \t\"ENSEMBL\" -> \"VGNC\" [label=\"biolink:orthologous_to (4)\"]; \t\"HP\" -> \"owl\" [label=\"biolink:subclass_of (275)\"]; \t\"DOID\" -> \"OGMS\" [label=\"biolink:subclass_of (8)\"]; \t\"ClinVarVariant\" -> \"ORPHA\" [label=\"biolink:gene_associated_with_condition (4)\"]; \t\"NCBIGene\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (2466)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:located_in (1)\"]; \t\"WBPhenotype\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (3270)\"]; \t\"WD_Entity\" -> \"WD_Entity\" [label=\"biolink:part_of (1)\"]; \t\"WormBase\" -> \"WormBase\" [label=\"biolink:related_to (67569)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:subclass_of (341)\"]; \t\"MGI\" -> \"http\" [label=\"biolink:orthologous_to (994)\"]; \t\"GO\" -> \"PO\" [label=\"biolink:has_participant (4)\"]; \t\"Orphanet\" -> \"DOID\" [label=\"biolink:subclass_of (6294)\"]; \t\"HGNC\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (74428)\"]; \t\"ENSEMBL\" -> \"Xenbase\" [label=\"biolink:orthologous_to (41611)\"]; \t\"NCBIGene\" -> \"ZFIN\" [label=\"biolink:orthologous_to (417)\"]; \t\"ENSEMBL\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (3618)\"]; \t\"ZFIN\" -> \"OBO\" [label=\"biolink:related_to (13888)\"]; \t\"Orphanet\" -> \"OGMS\" [label=\"biolink:subclass_of (5)\"]; \t\"JAX\" -> \"MGI\" [label=\"biolink:related_to (97)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:related_to (64)\"]; \t\"OMIA\" -> \"MESH\" [label=\"biolink:subclass_of (47)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"biolink:orthologous_to (5)\"]; \t\"PomBase\" -> \"GO\" [label=\"biolink:has_phenotype (3)\"]; \t\"pigQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (31509)\"]; \t\"HP\" -> \"UPHENO\" [label=\"biolink:subclass_of (2)\"]; \t\"OBO\" -> \"BFO\" [label=\"biolink:subPropertyOf (3)\"]; \t\"OBI\" -> \"http\" [label=\"biolink:subclass_of (1)\"]; \t\"SO\" -> \"GENO\" [label=\"biolink:part_of (1)\"]; \t\"MONARCH_BNODE\" -> \"http\" [label=\"biolink:related_to (11747)\"]; \t\"SO\" -> \"GENO\" [label=\"biolink:related_to (4)\"]; \t\"NCIT\" -> \"owl\" [label=\"biolink:subclass_of (23)\"]; \t\"MGI\" -> \"EMMA\" [label=\"biolink:related_to (1186)\"]; \t\"MGI\" -> \"OBO\" [label=\"biolink:related_to (37098)\"]; \t\"MONARCH_BNODE\" -> \"MP\" [label=\"biolink:has_phenotype (5801)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_part (845)\"]; \t\"ENVO\" -> \"OBO\" [label=\"biolink:subclass_of (16)\"]; \t\"OBO\" -> \"UMLS\" [label=\"biolink:subclass_of (28724)\"]; \t\"KEGG-path\" -> \"http\" [label=\"biolink:related_to (537)\"]; \t\"MONARCH_BNODE\" -> \"https\" [label=\"biolink:has_part (26470)\"]; \t\"MGI\" -> \"FlyBase\" [label=\"biolink:interacts_with (5)\"]; \t\"RO\" -> \"OIO\" [label=\"biolink:subPropertyOf (1)\"]; \t\"OBAN\" -> \"IAO\" [label=\"biolink:subPropertyOf (3)\"]; \t\"OBO\" -> \"STATO\" [label=\"biolink:subclass_of (2)\"]; \t\"UCSC\" -> \"SO\" [label=\"biolink:subclass_of (10)\"]; \t\"RO\" -> \"owl\" [label=\"biolink:subPropertyOf (6)\"]; \t\"UMLS\" -> \"HP\" [label=\"biolink:subclass_of (19)\"]; \t\"BIOGRID\" -> \"ENSEMBL\" [label=\"biolink:same_as (21)\"]; \t\"NCBIGene\" -> \"RGD\" [label=\"biolink:orthologous_to (53)\"]; \t\"CL\" -> \"OBO\" [label=\"biolink:has_attribute (70)\"]; \t\"MONARCH_BNODE\" -> \"KEGG-path\" [label=\"biolink:actively_involved_in (81602)\"]; \t\"NCBIGene\" -> \"https\" [label=\"biolink:biomarker_for (15739)\"]; \t\"Xenbase\" -> \"SGD\" [label=\"biolink:related_to (2088)\"]; \t\"DOID\" -> \"http\" [label=\"biolink:subclass_of (12794)\"]; \t\"HGNC\" -> \"PomBase\" [label=\"biolink:related_to (2546)\"]; \t\"CL\" -> \"OBO\" [label=\"biolink:subclass_of (49)\"]; \t\"OMIM\" -> \"OMIMPS\" [label=\"biolink:subclass_of (3809)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:related_to (80286)\"]; \t\"OBO\" -> \"UBERON\" [label=\"biolink:subclass_of (13717)\"]; \t\"ClinVarVariant\" -> \"HGNC\" [label=\"biolink:related_to (23093)\"]; \t\"ECO\" -> \"ECO\" [label=\"biolink:related_to (1104)\"]; \t\"OMIA\" -> \"MP\" [label=\"biolink:subclass_of (32)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:overlaps (1473)\"]; \t\"Orphanet\" -> \"http\" [label=\"biolink:subclass_of (8031)\"]; \t\"RO\" -> \"UPHENO\" [label=\"biolink:subPropertyOf (3)\"]; \t\"OIO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"PANTHER\" -> \"PomBase\" [label=\"biolink:related_to (3209)\"]; \t\"HP\" -> \"ZP\" [label=\"biolink:subclass_of (376)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:related_to (43)\"]; \t\"WormBase\" -> \"FlyBase\" [label=\"biolink:related_to (4666)\"]; \t\"Xenbase\" -> \"WormBase\" [label=\"biolink:related_to (4052)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:part_of (2)\"]; \t\"PMID\" -> \"Xenbase\" [label=\"biolink:related_to (18617)\"]; \t\"ZFIN\" -> \"NCBIGene\" [label=\"biolink:related_to (6)\"]; \t\"MONDO\" -> \"NCIT\" [label=\"biolink:related_to (39)\"]; \t\"OGMS\" -> \"OGMS\" [label=\"biolink:related_to (1)\"]; \t\"ZFIN\" -> \"PomBase\" [label=\"biolink:orthologous_to (3853)\"]; \t\"OBO\" -> \"SO\" [label=\"biolink:subclass_of (2395)\"]; \t\"OBO\" -> \"MONDO\" [label=\"biolink:subclass_of (60760)\"]; \t\"OBO\" -> \"BFO\" [label=\"biolink:subclass_of (50)\"]; \t\"ENSEMBL\" -> \"OBO\" [label=\"biolink:expressed_in (6202)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:inverseOf (4)\"]; \t\"OBO\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (233)\"]; \t\"https\" -> \"SO\" [label=\"biolink:subclass_of (3867)\"]; \t\"BSPO\" -> \"BFO\" [label=\"biolink:subPropertyOf (12)\"]; \t\"MONARCH_BNODE\" -> \"STATO\" [label=\"biolink:has_part (26306)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:derives_from (1)\"]; \t\"OBO\" -> \"CHEBI\" [label=\"biolink:subclass_of (5)\"]; \t\"FlyBase\" -> \"SO\" [label=\"biolink:subclass_of (39259)\"]; \t\"RGD\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (86014)\"]; \t\"ENSEMBL\" -> \"PomBase\" [label=\"biolink:related_to (11443)\"]; \t\"CLO\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"MGI\" -> \"NCBIGene\" [label=\"biolink:related_to (533)\"]; \t\"MONARCH\" -> \"Orphanet\" [label=\"biolink:related_to (5)\"]; \t\"SGD\" -> \"GO\" [label=\"biolink:actively_involved_in (26956)\"]; \t\"MONARCH_BNODE\" -> \"http\" [label=\"biolink:part_of (23551)\"]; \t\"pav\" -> \"dcterms\" [label=\"biolink:subPropertyOf (4)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:type (17)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:affects (8924)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:derives_from (9)\"]; \t\"MGI\" -> \"PomBase\" [label=\"biolink:orthologous_to (3470)\"]; \t\"WormBase\" -> \"http\" [label=\"biolink:orthologous_to (635)\"]; \t\"PO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"DOID\" -> \"MP\" [label=\"biolink:subclass_of (10)\"]; \t\"MONARCH_NODE\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (25825)\"]; \t\"ClinVarVariant\" -> \"ClinVarVariant\" [label=\"biolink:related_to (1060)\"]; \t\"ENVO\" -> \"OBI\" [label=\"biolink:subclass_of (2)\"]; \t\"PMID\" -> \"OMIM\" [label=\"biolink:related_to (4935)\"]; \t\"NCBIGene\" -> \"EcoGene\" [label=\"biolink:related_to (1)\"]; \t\"MGI\" -> \"REACT\" [label=\"biolink:actively_involved_in (12605)\"]; \t\"Orphanet\" -> \"MP\" [label=\"biolink:subclass_of (4)\"]; \t\"rainbow_troutQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (584)\"]; \t\"HP\" -> \"HP\" [label=\"biolink:subclass_of (20506)\"]; \t\"OBO\" -> \"IAO\" [label=\"biolink:subclass_of (8)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:subclass_of (2438)\"]; \t\"WormBase\" -> \"DOID\" [label=\"biolink:model_of (10575)\"]; \t\"foaf\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"KEGG-hsa\" -> \"NCBIGene\" [label=\"biolink:same_as (1)\"]; \t\"NCBIGene\" -> \"OBO\" [label=\"biolink:expressed_in (124)\"]; \t\"ENSEMBL\" -> \"REACT\" [label=\"biolink:actively_involved_in (834505)\"]; \t\"CL\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"SO\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"ECO\" -> \"ECO\" [label=\"biolink:inverseOf (1)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"biolink:subclass_of (3)\"]; \t\"WBPhenotype\" -> \"CL\" [label=\"biolink:subclass_of (33)\"]; \t\"MONDO\" -> \"owl\" [label=\"biolink:subclass_of (1937)\"]; \t\"UBERON\" -> \"PR\" [label=\"biolink:related_to (1)\"]; \t\"GENO\" -> \"SO\" [label=\"biolink:part_of (4)\"]; \t\"WormBase\" -> \"WormBase\" [label=\"biolink:genetically_interacts_with (531)\"]; \t\"SO\" -> \"CHEBI\" [label=\"biolink:subclass_of (43)\"]; \t\"https\" -> \"GO\" [label=\"biolink:has_phenotype (2)\"]; \t\"Xenbase\" -> \"FlyBase\" [label=\"biolink:related_to (4722)\"]; \t\"OBI\" -> \"prov\" [label=\"biolink:subclass_of (1)\"]; \t\"WormBase\" -> \"OBO\" [label=\"biolink:related_to (10459)\"]; \t\"faldo\" -> \"faldo\" [label=\"biolink:inverseOf (2)\"]; \t\"WBPhenotype\" -> \"GO\" [label=\"biolink:subclass_of (274)\"]; \t\"BFO\" -> \"BFO\" [label=\"biolink:subclass_of (34)\"]; \t\"dcterms\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"PMID\" -> \"GeneReviews\" [label=\"biolink:related_to (31280)\"]; \t\"REACT\" -> \"PW\" [label=\"biolink:subclass_of (15909)\"]; \t\"BFO\" -> \"CHEBI\" [label=\"biolink:subclass_of (1)\"]; \t\"MP\" -> \"DOID\" [label=\"biolink:subclass_of (2)\"]; \t\"HGNC\" -> \"UBERON\" [label=\"biolink:expressed_in (448167)\"]; \t\"NCIT\" -> \"HP\" [label=\"biolink:subclass_of (13)\"]; \t\"OBI\" -> \"CHEBI\" [label=\"biolink:has_part (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:affects (8338)\"]; \t\"dbSNP\" -> \"dbSNP\" [label=\"biolink:related_to (1470)\"]; \t\"HGNC\" -> \"VGNC\" [label=\"biolink:related_to (8)\"]; \t\"OBAN\" -> \"SEPIO\" [label=\"biolink:subclass_of (1)\"]; \t\"OBO\" -> \"GO\" [label=\"biolink:part_of (1)\"]; \t\"pigQTL\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (14461)\"]; \t\"OBO\" -> \"GO\" [label=\"biolink:related_to (45)\"]; \t\"http\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (142)\"]; \t\"OMIM\" -> \"HGNC\" [label=\"biolink:related_to (3018)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:part_of (1)\"]; \t\"OMIA\" -> \"HP\" [label=\"biolink:has_phenotype (260)\"]; \t\"KEGG-hsa\" -> \"SO\" [label=\"biolink:subclass_of (1)\"]; \t\"MONDO\" -> \"ENVO\" [label=\"biolink:related_to (14)\"]; \t\"MGI\" -> \"NCBIGene\" [label=\"biolink:interacts_with (9)\"]; \t\"HGNC\" -> \"Xenbase\" [label=\"biolink:related_to (10686)\"]; \t\"MONARCH_BNODE\" -> \"dbSNP\" [label=\"biolink:related_to (7199)\"]; \t\"PANTHER\" -> \"VGNC\" [label=\"biolink:related_to (8)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:increases_degradation_of (8)\"]; \t\"BFO\" -> \"RO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"dictyBase\" -> \"GO\" [label=\"biolink:enables (20904)\"]; \t\"MGI\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (26800)\"]; \t\"prov\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"biolink:subclass_of (14540)\"]; \t\"PANTHER\" -> \"Xenbase\" [label=\"biolink:related_to (11866)\"]; \t\"CLO\" -> \"OBI\" [label=\"biolink:derives_from (1)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:has_participant (1)\"]; \t\"PR\" -> \"https\" [label=\"biolink:related_to (206)\"]; \t\"ZP\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (2937)\"]; \t\"HGNC\" -> \"SO\" [label=\"biolink:subclass_of (60204)\"]; \t\"ENSEMBL\" -> \"VGNC\" [label=\"biolink:related_to (16)\"]; \t\"ENSEMBL\" -> \"ENSEMBL\" [label=\"biolink:interacts_with (305485)\"]; \t\"MONARCH_NODE\" -> \"https\" [label=\"biolink:related_to (24)\"]; \t\"WormBase\" -> \"NCBIGene\" [label=\"biolink:related_to (40)\"]; \t\"MGI\" -> \"SO\" [label=\"biolink:subclass_of (108997)\"]; \t\"ClinVarVariant\" -> \"NCBIGene\" [label=\"biolink:part_of (28122)\"]; \t\"WormBase\" -> \"PomBase\" [label=\"biolink:orthologous_to (2147)\"]; \t\"ZFIN\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (23456)\"]; \t\"GENO\" -> \"OBO\" [label=\"biolink:subclass_of (1)\"]; \t\"Xenbase\" -> \"OBO\" [label=\"biolink:related_to (15731)\"]; \t\"ENSEMBL\" -> \"Xenbase\" [label=\"biolink:related_to (103605)\"]; \t\"MP\" -> \"http\" [label=\"biolink:subclass_of (3)\"]; \t\"prov\" -> \"BFO\" [label=\"biolink:has_participant (1)\"]; \t\"HGNC\" -> \"OMIM\" [label=\"biolink:related_to (3746)\"]; \t\"foaf\" -> \"foaf\" [label=\"biolink:subclass_of (8)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:subclass_of (23397)\"]; \t\"ECO\" -> \"BFO\" [label=\"biolink:related_to (1)\"]; \t\"AQTLTrait\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"MGI\" -> \"Xenbase\" [label=\"biolink:orthologous_to (5098)\"]; \t\"MGI\" -> \"DOID\" [label=\"biolink:model_of (8320)\"]; \t\"RGD\" -> \"ZFIN\" [label=\"biolink:related_to (11501)\"]; \t\"SEPIO\" -> \"prov\" [label=\"biolink:subclass_of (1)\"]; \t\"CL\" -> \"CHEBI\" [label=\"biolink:has_part (1)\"]; \t\"MONARCH_NODE\" -> \"UPHENO\" [label=\"biolink:subclass_of (627)\"]; \t\"MONARCH_NODE\" -> \"UCSC\" [label=\"biolink:related_to (329)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:subclass_of (37688)\"]; \t\"PomBase\" -> \"GO\" [label=\"biolink:enables (11217)\"]; \t\"ClinVarVariant\" -> \"HGNC\" [label=\"biolink:has_part (21)\"]; \t\"OBO\" -> \"AQTLTrait\" [label=\"biolink:subclass_of (221)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:subclass_of (355)\"]; \t\"MONARCH_BNODE\" -> \"OMIM\" [label=\"biolink:has_phenotype (11482)\"]; \t\"owl\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"MPD-strain\" -> \"JAX\" [label=\"biolink:same_as (274)\"]; \t\"MGI\" -> \"MGI\" [label=\"biolink:same_as (8)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_output (14)\"]; \t\"ZP\" -> \"GENO\" [label=\"biolink:subclass_of (5)\"]; \t\"faldo\" -> \"GENO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"FlyBase\" -> \"http\" [label=\"biolink:related_to (139)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:expresses (198)\"]; \t\"NCBIGene\" -> \"ENSEMBL\" [label=\"biolink:related_to (1080)\"]; \t\"chickenQTL\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (7211)\"]; \t\"MONDO\" -> \"HP\" [label=\"biolink:subclass_of (25)\"]; \t\"MESH\" -> \"MESH\" [label=\"biolink:treats (35982)\"]; \t\"UBERON\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:has_part (1)\"]; \t\"OBI\" -> \"SEPIO\" [label=\"biolink:subclass_of (3)\"]; \t\"UMLS\" -> \"MONDO\" [label=\"biolink:subclass_of (46999)\"]; \t\"sheepQTL\" -> \"NCBIGene\" [label=\"biolink:related_to (486)\"]; \t\"UMLS\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"NCBIGene\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (79181)\"]; \t\"OMIM\" -> \"HP\" [label=\"biolink:related_to (10416)\"]; \t\"MP\" -> \"MP\" [label=\"biolink:subclass_of (17670)\"]; \t\"MGI\" -> \"MGI\" [label=\"biolink:related_to (1293126)\"]; \t\"Xenbase\" -> \"NCBIGene\" [label=\"biolink:related_to (176)\"]; \t\"HGNC\" -> \"dictyBase\" [label=\"biolink:orthologous_to (9357)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:related_to (174)\"]; \t\"dbSNP\" -> \"OMIM\" [label=\"biolink:related_to (25133)\"]; \t\"HGNC\" -> \"SGD\" [label=\"biolink:orthologous_to (4012)\"]; \t\"MONARCH_BNODE\" -> \"OMIM\" [label=\"biolink:biomarker_for (8)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:located_in (3)\"]; \t\"GENO\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"WormBase\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (15907)\"]; \t\"ZFIN\" -> \"REACT\" [label=\"biolink:actively_involved_in (12095)\"]; \t\"IAO\" -> \"BFO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"MONARCH_BNODE\" -> \"OMIM\" [label=\"biolink:related_to (481)\"]; \t\"RGD\" -> \"http\" [label=\"biolink:orthologous_to (906)\"]; \t\"NCBIGene\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (33621)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:subPropertyOf (32)\"]; \t\"CLO\" -> \"OIO\" [label=\"biolink:subclass_of (3)\"]; \t\"HGNC\" -> \"WormBase\" [label=\"biolink:orthologous_to (15124)\"]; \t\"HP\" -> \"UMLS\" [label=\"biolink:subclass_of (8)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:has_part (4)\"]; \t\"ENSEMBL\" -> \"dictyBase\" [label=\"biolink:orthologous_to (8870)\"]; \t\"HP\" -> \"OBO\" [label=\"biolink:related_to (10)\"]; \t\"KEGG-path\" -> \"OMIM\" [label=\"biolink:related_to (1322)\"]; \t\"GENO\" -> \"RO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"ENSEMBL\" -> \"SGD\" [label=\"biolink:orthologous_to (21415)\"]; \t\"FAO\" -> \"FAO\" [label=\"biolink:subclass_of (32)\"]; \t\"ZFIN\" -> \"ZFIN\" [label=\"biolink:related_to (95569)\"]; \t\"OMIM\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (49)\"]; \t\"OBO\" -> \"*non-standard CURIE*\" [label=\"biolink:subclass_of (5946)\"]; \t\"FlyBase\" -> \"GO\" [label=\"biolink:part_of (23625)\"]; \t\"HP\" -> \"UBERON\" [label=\"biolink:subclass_of (1385)\"]; \t\"ENVO\" -> \"owl\" [label=\"biolink:subclass_of (3)\"]; \t\"MONARCH_BNODE\" -> \"WBPhenotype\" [label=\"biolink:has_phenotype (88885)\"]; \t\"HGNC\" -> \"HGNC\" [label=\"biolink:genetically_interacts_with (625)\"]; \t\"ZP\" -> \"CL\" [label=\"biolink:subclass_of (2294)\"]; \t\"WormBase\" -> \"SO\" [label=\"biolink:subclass_of (99428)\"]; \t\"ENSEMBL\" -> \"WormBase\" [label=\"biolink:orthologous_to (161822)\"]; \t\"ClinVarVariant\" -> \"UMLS\" [label=\"biolink:related_to (248280)\"]; \t\"PR\" -> \"NCBITaxon\" [label=\"biolink:related_to (533)\"]; \t\"WormBase\" -> \"GO\" [label=\"biolink:part_of (31324)\"]; \t\"dbSNP\" -> \"sheepQTL\" [label=\"biolink:biomarker_for (1759)\"]; \t\"NCIT\" -> \"UMLS\" [label=\"biolink:subclass_of (10791)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:regulates_process_to_process (14)\"]; \t\"MPD-strain\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (1013)\"]; \t\"MGI\" -> \"ZFIN\" [label=\"biolink:related_to (12127)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"FBcv\" -> \"MP\" [label=\"biolink:subclass_of (34)\"]; \t\"ZP\" -> \"GO\" [label=\"biolink:subclass_of (4838)\"]; \t\"WormBase\" -> \"NCBIGene\" [label=\"biolink:genetically_interacts_with (7)\"]; \t\"CL\" -> \"owl\" [label=\"biolink:subclass_of (199)\"]; \t\"NCBIGene\" -> \"EcoGene\" [label=\"biolink:orthologous_to (39)\"]; \t\"Xenbase\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (364)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:affects (943)\"]; \t\"OMIM\" -> \"HP\" [label=\"biolink:has_phenotype (97164)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:related_to (8)\"]; \t\"OBI\" -> \"BFO\" [label=\"biolink:related_to (11)\"]; \t\"HP\" -> \"MONDO\" [label=\"biolink:subclass_of (12)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:part_of (75)\"]; \t\"RGD\" -> \"GO\" [label=\"biolink:part_of (77299)\"]; \t\"MGI\" -> \"HGNC\" [label=\"biolink:related_to (719)\"]; \t\"MGI\" -> \"MGI\" [label=\"biolink:interacts_with (41740)\"]; \t\"WormBase\" -> \"REACT\" [label=\"biolink:actively_involved_in (6038)\"]; \t\"FlyBase\" -> \"PomBase\" [label=\"biolink:related_to (2383)\"]; \t\"OBI\" -> \"CHEBI\" [label=\"biolink:related_to (24)\"]; \t\"MONARCH_BNODE\" -> \"HGNC\" [label=\"biolink:contributes_to (2)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:subclass_of (34)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:produces (6)\"]; \t\"NCIT\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"ClinVarVariant\" -> \"OMIM\" [label=\"biolink:gene_associated_with_condition (107041)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:inverseOf (3)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:part_of (8537)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:related_to (11912)\"]; \t\"UBERON\" -> \"PR\" [label=\"biolink:has_part (6)\"]; \t\"RO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"OBO\" -> \"DOID\" [label=\"biolink:subclass_of (19801)\"]; \t\"OMIA\" -> \"UBERON\" [label=\"biolink:has_phenotype (18)\"]; \t\"UCSC\" -> \"MONARCH_NODE\" [label=\"biolink:has_part (26381)\"]; \t\"http\" -> \"Orphanet\" [label=\"biolink:subclass_of (20720)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:subclass_of (1896)\"]; \t\"OBO\" -> \"OGMS\" [label=\"biolink:subclass_of (21)\"]; \t\"PMID\" -> \"SGD\" [label=\"biolink:related_to (242021)\"]; \t\"HGNC\" -> \"FlyBase\" [label=\"biolink:orthologous_to (16085)\"]; \t\"MGI\" -> \"RGD\" [label=\"biolink:related_to (17190)\"]; \t\"PMID\" -> \"OMIA\" [label=\"biolink:related_to (173)\"]; \t\"ClinVarVariant\" -> \"MONDO\" [label=\"biolink:related_to (33553)\"]; \t\"NCIT\" -> \"MONDO\" [label=\"biolink:subclass_of (20766)\"]; \t\"https\" -> \"NCBIGene\" [label=\"biolink:related_to (10095)\"]; \t\"MONDO\" -> \"HP\" [label=\"biolink:related_to (1354)\"]; \t\"NCIT\" -> \"BFO\" [label=\"biolink:subclass_of (1)\"]; \t\"MONARCH_BNODE\" -> \"SO\" [label=\"biolink:subclass_of (23)\"]; \t\"FlyBase\" -> \"CL\" [label=\"biolink:expressed_in (3279)\"]; \t\"OBI\" -> \"IAO\" [label=\"biolink:related_to (8)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:type (2)\"]; \t\"PMID\" -> \"WormBase\" [label=\"biolink:related_to (26012)\"]; \t\"RO\" -> \"BFO\" [label=\"biolink:subPropertyOf (26)\"]; \t\"OBI\" -> \"GO\" [label=\"biolink:has_participant (1)\"]; \t\"RGD\" -> \"PomBase\" [label=\"biolink:orthologous_to (3235)\"]; \t\"ENSEMBL\" -> \"FlyBase\" [label=\"biolink:orthologous_to (163413)\"]; \t\"OMIA\" -> \"MONARCH_BNODE\" [label=\"biolink:subclass_of (3339)\"]; \t\"ZFIN\" -> \"SO\" [label=\"biolink:subclass_of (56890)\"]; \t\"VGNC\" -> \"ENSEMBL\" [label=\"biolink:related_to (67)\"]; \t\"http\" -> \"OBO\" [label=\"biolink:subclass_of (36397)\"]; \t\"MGI\" -> \"ZFIN\" [label=\"biolink:interacts_with (2)\"]; \t\"chickenQTL\" -> \"NCBIGene\" [label=\"biolink:related_to (453)\"]; \t\"FlyBase\" -> \"DOID\" [label=\"biolink:model_of (1626)\"]; \t\"OBI\" -> \"UBERON\" [label=\"biolink:derives_from (4)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"biolink:related_to (4)\"]; \t\"OBI\" -> \"BFO\" [label=\"biolink:subPropertyOf (2)\"]; \t\"OBO\" -> \"http\" [label=\"biolink:subclass_of (26213)\"]; \t\"IAO\" -> \"BFO\" [label=\"biolink:related_to (3)\"]; \t\"OBO\" -> \"NCBIGene\" [label=\"biolink:related_to (279)\"]; \t\"OBI\" -> \"GENO\" [label=\"biolink:subclass_of (6)\"]; \t\"MGI\" -> \"HGNC\" [label=\"biolink:interacts_with (1731)\"]; \t\"MONARCH_BNODE\" -> \"GENO\" [label=\"biolink:related_to (186309)\"]; \t\"CLO\" -> \"RO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"WBPhenotype\" -> \"FBcv\" [label=\"biolink:subclass_of (256)\"]; \t\"MONARCH_BNODE\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (4741582)\"]; \t\"MONDO\" -> \"UMLS\" [label=\"biolink:subclass_of (44953)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:participates_in (7)\"]; \t\"GENO\" -> \"GENO\" [label=\"biolink:inverseOf (13)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:inverseOf (2)\"]; \t\"MGI\" -> \"GO\" [label=\"biolink:part_of (94768)\"]; \t\"OBO\" -> \"OBI\" [label=\"biolink:related_to (1)\"]; \t\"FlyBase\" -> \"FlyBase\" [label=\"biolink:genetically_interacts_with (2748)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:has_output (1)\"]; \t\"WormBase\" -> \"CL\" [label=\"biolink:expressed_in (33)\"]; \t\"ZFIN\" -> \"GO\" [label=\"biolink:has_phenotype (5907)\"]; \t\"rdfs\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:derives_from (2)\"]; \t\"OBO\" -> \"PR\" [label=\"biolink:subclass_of (1)\"]; \t\"faldo\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"GO\" -> \"FAO\" [label=\"biolink:part_of (3)\"]; \t\"MONARCH\" -> \"HGNC\" [label=\"biolink:related_to (664)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"PO\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"MONARCH\" -> \"OMIM\" [label=\"biolink:model_of (948)\"]; \t\"ClinVarVariant\" -> \"HGNC\" [label=\"biolink:part_of (151427)\"]; \t\"XCO\" -> \"owl\" [label=\"biolink:subclass_of (19)\"]; \t\"https\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (279846)\"]; \t\"PMID\" -> \"FlyBase\" [label=\"biolink:related_to (345961)\"]; \t\"NCBIGene\" -> \"http\" [label=\"biolink:related_to (2)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:related_to (798)\"]; \t\"ZFIN\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (9372)\"]; \t\"OIO\" -> \"IAO\" [label=\"biolink:subclass_of (5)\"]; \t\"MONARCH_BNODE\" -> \"GO\" [label=\"biolink:has_phenotype (9501)\"]; \t\"UBERON\" -> \"OBI\" [label=\"biolink:derives_from (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:participates_in (9)\"]; \t\"NCBIGene\" -> \"WormBase\" [label=\"biolink:interacts_with (453)\"]; \t\"HGNC\" -> \"dictyBase\" [label=\"biolink:related_to (3338)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:related_to (16)\"]; \t\"ENSEMBL\" -> \"GO\" [label=\"biolink:part_of (63314)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:same_as (1881)\"]; \t\"foaf\" -> \"http\" [label=\"biolink:subclass_of (6)\"]; \t\"horseQTL\" -> \"horseQTL\" [label=\"biolink:biomarker_for (2451)\"]; \t\"HGNC\" -> \"SGD\" [label=\"biolink:related_to (2445)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:related_to (6038)\"]; \t\"SGD\" -> \"GO\" [label=\"biolink:enables (19930)\"]; \t\"HGNC\" -> \"REACT\" [label=\"biolink:actively_involved_in (27687)\"]; \t\"NCBIGene\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (1383)\"]; \t\"OBO\" -> \"MP\" [label=\"biolink:subclass_of (26)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"biolink:subclass_of (41256)\"]; \t\"MONDO\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"MONARCH_NODE\" -> \"HP\" [label=\"biolink:has_phenotype (1082)\"]; \t\"KEGG-path\" -> \"KEGG-ds\" [label=\"biolink:related_to (2498)\"]; \t\"PANTHER\" -> \"dictyBase\" [label=\"biolink:related_to (5429)\"]; \t\"http\" -> \"OBI\" [label=\"biolink:subclass_of (17)\"]; \t\"BIOGRID\" -> \"OMIM\" [label=\"biolink:related_to (488)\"]; \t\"PANTHER\" -> \"SGD\" [label=\"biolink:related_to (3309)\"]; \t\"ZFIN\" -> \"dictyBase\" [label=\"biolink:orthologous_to (11205)\"]; \t\"HGNC\" -> \"WormBase\" [label=\"biolink:related_to (4877)\"]; \t\"ZFIN\" -> \"SGD\" [label=\"biolink:orthologous_to (4666)\"]; \t\"IAO\" -> \"OBI\" [label=\"biolink:subclass_of (6)\"]; \t\"GENO\" -> \"owl\" [label=\"biolink:subclass_of (43)\"]; \t\"OBI\" -> \"CL\" [label=\"biolink:subclass_of (1)\"]; \t\"MONARCH_BNODE\" -> \"OMIA\" [label=\"biolink:has_phenotype (782)\"]; \t\"dbSNP\" -> \"GO\" [label=\"biolink:related_to (5269)\"]; \t\"SO\" -> \"PR\" [label=\"biolink:subclass_of (2)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:has_input (9)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (1736)\"]; \t\"OMIA\" -> \"GENO\" [label=\"biolink:related_to (1033)\"]; \t\"ENSEMBL\" -> \"dictyBase\" [label=\"biolink:related_to (2963)\"]; \t\"MESH\" -> \"OMIM\" [label=\"biolink:treats (8)\"]; \t\"PANTHER\" -> \"WormBase\" [label=\"biolink:related_to (9055)\"]; \t\"ENSEMBL\" -> \"SGD\" [label=\"biolink:related_to (10980)\"]; \t\"MONDO\" -> \"https\" [label=\"biolink:related_to (4436)\"]; \t\"FlyBase\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (15464)\"]; \t\"OBI\" -> \"GO\" [label=\"biolink:subclass_of (4)\"]; \t\"*non-standard CURIE*\" -> \"SO\" [label=\"biolink:subclass_of (9)\"]; \t\"Xenbase\" -> \"ZFIN\" [label=\"biolink:related_to (9523)\"]; \t\"GO\" -> \"GENO\" [label=\"biolink:subclass_of (1)\"]; \t\"horseQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (4902)\"]; \t\"ZFIN\" -> \"WormBase\" [label=\"biolink:orthologous_to (19169)\"]; \t\"http\" -> \"NCIT\" [label=\"biolink:subclass_of (15591)\"]; \t\"MONARCH_BNODE\" -> \"GO\" [label=\"biolink:related_to (189)\"]; \t\"RGD\" -> \"Xenbase\" [label=\"biolink:orthologous_to (3725)\"]; \t\"MGI\" -> \"dictyBase\" [label=\"biolink:orthologous_to (10253)\"]; \t\"GENO\" -> \"UPHENO\" [label=\"biolink:subclass_of (1)\"]; \t\"MGI\" -> \"CL\" [label=\"biolink:expressed_in (29583)\"]; \t\"STATO\" -> \"SEPIO\" [label=\"biolink:subclass_of (1)\"]; \t\"ClinVarVariant\" -> \"BIOGRID\" [label=\"biolink:part_of (43)\"]; \t\"FlyBase\" -> \"EcoGene\" [label=\"biolink:orthologous_to (945)\"]; \t\"MGI\" -> \"SGD\" [label=\"biolink:orthologous_to (3984)\"]; \t\"OMIA\" -> \"OMIA\" [label=\"biolink:subclass_of (3339)\"]; \t\"RO\" -> \"RO\" [label=\"biolink:inverseOf (102)\"]; \t\"ENSEMBL\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (17431)\"]; \t\"ENSEMBL\" -> \"WormBase\" [label=\"biolink:related_to (48370)\"]; \t\"ZP\" -> \"OBO\" [label=\"biolink:subclass_of (104)\"]; \t\"NCBIGene\" -> \"FlyBase\" [label=\"biolink:interacts_with (12)\"]; \t\"CHEBI\" -> \"REACT\" [label=\"biolink:actively_involved_in (89911)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:derives_from (1)\"]; \t\"RGD\" -> \"SO\" [label=\"biolink:subclass_of (44108)\"]; \t\"MGI\" -> \"WormBase\" [label=\"biolink:orthologous_to (17089)\"]; \t\"foaf\" -> \"wgs\" [label=\"biolink:subclass_of (1)\"]; \t\"UMLS\" -> \"DOID\" [label=\"biolink:subclass_of (15911)\"]; \t\"dbSNP\" -> \"horseQTL\" [label=\"biolink:biomarker_for (1797)\"]; \t\"MONARCH\" -> \"HP\" [label=\"biolink:related_to (1)\"]; \t\"OBO\" -> \"IAO\" [label=\"biolink:has_part (1)\"]; \t\"MONARCH_BNODE\" -> \"OMIA\" [label=\"biolink:related_to (48)\"]; \t\"AspGD\" -> \"GO\" [label=\"biolink:part_of (130918)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:has_phenotype (18)\"]; \t\"UMLS\" -> \"OGMS\" [label=\"biolink:subclass_of (16)\"]; \t\"RGD\" -> \"EcoGene\" [label=\"biolink:related_to (283)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:has_input (8)\"]; \t\"MP\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (388)\"]; \t\"GENO\" -> \"ENVO\" [label=\"biolink:related_to (1)\"]; \t\"HGNC\" -> \"FlyBase\" [label=\"biolink:related_to (5744)\"]; \t\"NCBIGene\" -> \"PomBase\" [label=\"biolink:related_to (41)\"]; \t\"rainbow_troutQTL\" -> \"rainbow_troutQTL\" [label=\"biolink:biomarker_for (584)\"]; \t\"MONARCH\" -> \"EFO\" [label=\"biolink:related_to (1951)\"]; \t\"OBO\" -> \"ENVO\" [label=\"biolink:part_of (1)\"]; \t\"GENO\" -> \"OBI\" [label=\"biolink:in_taxon (2)\"]; \t\"HGNC\" -> \"OMIM\" [label=\"biolink:biomarker_for (89)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_input (1)\"]; \t\"OBO\" -> \"ENVO\" [label=\"biolink:related_to (3)\"]; \t\"HGNC\" -> \"WormBase\" [label=\"biolink:interacts_with (3)\"]; \t\"NCBIGene\" -> \"REACT\" [label=\"biolink:actively_involved_in (547)\"]; \t\"MONARCH_BNODE\" -> \"WormBase\" [label=\"biolink:related_to (106722)\"]; \t\"FlyBase\" -> \"NCBIGene\" [label=\"biolink:genetically_interacts_with (2)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"biolink:related_to (3048)\"]; \t\"MONARCH_BNODE\" -> \"JAX\" [label=\"biolink:related_to (1005)\"]; \t\"UBERON\" -> \"CL\" [label=\"biolink:related_to (112)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"biolink:contributes_to (23)\"]; \t\"PANTHER\" -> \"FlyBase\" [label=\"biolink:related_to (9654)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:has_input (7)\"]; \t\"foaf\" -> \"prov\" [label=\"biolink:subclass_of (2)\"]; \t\"ZFIN\" -> \"FlyBase\" [label=\"biolink:orthologous_to (17802)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (8)\"]; \t\"OBI\" -> \"OBO\" [label=\"biolink:has_participant (1)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:related_to (224)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:has_input (1297)\"]; \t\"HGNC\" -> \"Orphanet\" [label=\"biolink:related_to (7317)\"]; \t\"dcterms\" -> \"foaf\" [label=\"biolink:subclass_of (1)\"]; \t\"FlyBase\" -> \"OBO\" [label=\"biolink:expressed_in (43532)\"]; \t\"SEPIO\" -> \"IAO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"dictyBase\" -> \"GO\" [label=\"biolink:actively_involved_in (21354)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:subclass_of (73)\"]; \t\"CL\" -> \"PR\" [label=\"biolink:has_part (675)\"]; \t\"PMID\" -> \"NCBIGene\" [label=\"biolink:related_to (399176)\"]; \t\"WormBase\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (7)\"]; \t\"*non-standard CURIE*\" -> \"SO\" [label=\"owl:someValuesFrom (1)\"]; \t\"MONDO\" -> \"SO\" [label=\"biolink:related_to (22)\"]; \t\"ENSEMBL\" -> \"FlyBase\" [label=\"biolink:related_to (56918)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"biolink:related_to (1752)\"]; \t\"UBERON\" -> \"http\" [label=\"biolink:subclass_of (20)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:subclass_of (103475)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:subclass_of (178)\"]; \t\"UMLS\" -> \"http\" [label=\"biolink:subclass_of (21698)\"]; \t\"VGNC\" -> \"ENSEMBL\" [label=\"biolink:orthologous_to (10)\"]; \t\"SGD\" -> \"GO\" [label=\"biolink:has_phenotype (9)\"]; \t\"MONDO\" -> \"CHEBI\" [label=\"biolink:related_to (46)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:has_participant (3)\"]; \t\"http\" -> \"dcterms\" [label=\"biolink:subclass_of (2)\"]; \t\"FlyBase\" -> \"REACT\" [label=\"biolink:actively_involved_in (6083)\"]; \t\"OMIM\" -> \"SO\" [label=\"biolink:subclass_of (96)\"]; \t\"MGI\" -> \"FlyBase\" [label=\"biolink:orthologous_to (17380)\"]; \t\"MGI\" -> \"MGI\" [label=\"biolink:genetically_interacts_with (42)\"]; \t\"WormBase\" -> \"dictyBase\" [label=\"biolink:orthologous_to (7384)\"]; \t\"ZP\" -> \"FBcv\" [label=\"biolink:subclass_of (1818)\"]; \t\"FBcv\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (71)\"]; \t\"WBPhenotype\" -> \"owl\" [label=\"biolink:subclass_of (62)\"]; \t\"MONARCH_BNODE\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (3059)\"]; \t\"WormBase\" -> \"SGD\" [label=\"biolink:orthologous_to (2640)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:participates_in (2)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:has_part (2)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:has_participant (2)\"]; \t\"HP\" -> \"DOID\" [label=\"biolink:subclass_of (6)\"]; \t\"Coriell\" -> \"OMIM\" [label=\"biolink:model_of (12242)\"]; \t\"ENVO\" -> \"OBO\" [label=\"biolink:related_to (36)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"biolink:has_input (19)\"]; \t\"MONARCH_NODE\" -> \"http\" [label=\"biolink:related_to (142)\"]; \t\"HGNC\" -> \"OBO\" [label=\"biolink:related_to (45014)\"]; \t\"BSPO\" -> \"OBO\" [label=\"biolink:subclass_of (6)\"]; \t\"HGNC\" -> \"FlyBase\" [label=\"biolink:interacts_with (14)\"]; \t\"MONARCH_BNODE\" -> \"FlyBase\" [label=\"biolink:related_to (3)\"]; \t\"GENO\" -> \"owl\" [label=\"biolink:related_to (1)\"]; \t\"ZFIN\" -> \"EcoGene\" [label=\"biolink:related_to (291)\"]; \t\"Xenbase\" -> \"PomBase\" [label=\"biolink:orthologous_to (2473)\"]; \t\"WBPhenotype\" -> \"UPHENO\" [label=\"biolink:subclass_of (1)\"]; \t\"*non-standard CURIE*\" -> \"NCBITaxon\" [label=\"owl:someValuesFrom (9)\"]; \t\"PW\" -> \"PW\" [label=\"biolink:related_to (136)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"biolink:related_to (664)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:has_participant (5)\"]; \t\"GO\" -> \"PO\" [label=\"biolink:related_to (165)\"]; \t\"dbSNP\" -> \"Orphanet\" [label=\"biolink:related_to (1144)\"]; \t\"WormBase\" -> \"OBO\" [label=\"biolink:expressed_in (8988)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:related_to (3)\"]; \t\"MONARCH_BNODE\" -> \"OBO\" [label=\"biolink:has_phenotype (3042)\"]; \t\"FlyBase\" -> \"GO\" [label=\"biolink:has_phenotype (2)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:subclass_of (237)\"]; \t\"https\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (42481)\"]; \t\"NCIT\" -> \"DOID\" [label=\"biolink:subclass_of (8101)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:has_participant (24)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:has_participant (6)\"]; \t\"UMLS\" -> \"MP\" [label=\"biolink:subclass_of (14)\"]; \t\"MGI\" -> \"EcoGene\" [label=\"biolink:related_to (291)\"]; \t\"NCIT\" -> \"OGMS\" [label=\"biolink:subclass_of (10)\"]; \t\"MONARCH_BNODE\" -> \"Orphanet\" [label=\"biolink:related_to (18)\"]; \t\"NCBIGene\" -> \"NCBIGene\" [label=\"biolink:interacts_with (73)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:related_to (118)\"]; \t\"ENVO\" -> \"BFO\" [label=\"biolink:subclass_of (15)\"]; \t\"OBO\" -> \"HGNC\" [label=\"biolink:related_to (44422)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:location_of (10)\"]; \t\"PO\" -> \"NCBITaxon\" [label=\"biolink:related_to (2)\"]; \t\"ENVO\" -> \"CHEBI\" [label=\"biolink:subclass_of (1)\"]; \t\"HGNC\" -> \"MGI\" [label=\"biolink:orthologous_to (7064)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:type (41)\"]; \t\"NCBIGene\" -> \"Xenbase\" [label=\"biolink:related_to (1893)\"]; \t\"NCBIGene\" -> \"http\" [label=\"biolink:orthologous_to (40)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:negatively_regulates_process_to_process (3160)\"]; \t\"MP\" -> \"CL\" [label=\"biolink:subclass_of (475)\"]; \t\"HP\" -> \"http\" [label=\"biolink:subclass_of (7)\"]; \t\"XCO\" -> \"XCO\" [label=\"biolink:regulates_process_to_process (35)\"]; \t\"ENSEMBL\" -> \"UBERON\" [label=\"biolink:expressed_in (719942)\"]; \t\"DOID\" -> \"Orphanet\" [label=\"biolink:subclass_of (7042)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:related_to (469)\"]; \t\"ZFIN\" -> \"NCBITaxon\" [label=\"biolink:related_to (15)\"]; \t\"RGD\" -> \"ENSEMBL\" [label=\"biolink:related_to (117939)\"]; \t\"http\" -> \"owl\" [label=\"biolink:subclass_of (54)\"]; \t\"dbSNP\" -> \"OBO\" [label=\"biolink:related_to (4)\"]; \t\"WBPhenotype\" -> \"ZP\" [label=\"biolink:subclass_of (463)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"biolink:has_phenotype (17)\"]; \t\"MP\" -> \"GO\" [label=\"biolink:subclass_of (883)\"]; \t\"IAO\" -> \"OIO\" [label=\"biolink:subclass_of (16)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (2)\"]; \t\"MONARCH_BNODE\" -> \"ClinVar\" [label=\"biolink:related_to (737221)\"]; \t\"HGNC\" -> \"OMIMPS\" [label=\"biolink:related_to (2415)\"]; \t\"Orphanet\" -> \"Orphanet\" [label=\"biolink:subclass_of (14250)\"]; \t\"ENSEMBL\" -> \"MGI\" [label=\"biolink:orthologous_to (14489)\"]; \t\"foaf\" -> \"SEPIO\" [label=\"biolink:subclass_of (1)\"]; \t\"OBI\" -> \"OBO\" [label=\"biolink:subclass_of (3)\"]; \t\"BIOGRID\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (2192)\"]; \t\"MONARCH_BNODE\" -> \"OBO\" [label=\"biolink:related_to (742)\"]; \t\"RO\" -> \"BFO\" [label=\"biolink:subclass_of (2)\"]; \t\"PANTHER\" -> \"NCBIGene\" [label=\"biolink:related_to (943)\"]; \t\"VGNC\" -> \"PomBase\" [label=\"biolink:related_to (3)\"]; \t\"OBI\" -> \"PR\" [label=\"biolink:related_to (1)\"]; \t\"WormBase\" -> \"FlyBase\" [label=\"biolink:orthologous_to (12853)\"]; \t\"FBcv\" -> \"CL\" [label=\"biolink:related_to (1)\"]; \t\"ZFIN\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (13)\"]; \t\"PMID\" -> \"MONARCH\" [label=\"biolink:related_to (1919)\"]; \t\"MGI\" -> \"NCBITaxon\" [label=\"biolink:related_to (198)\"]; \t\"NCIT\" -> \"http\" [label=\"biolink:subclass_of (9895)\"]; \t\"ENSEMBL\" -> \"GO\" [label=\"biolink:enables (58420)\"]; \t\"GENO\" -> \"IAO\" [label=\"biolink:type (2)\"]; \t\"NCBIGene\" -> \"OMIM\" [label=\"biolink:related_to (24)\"]; \t\"ClinVarVariant\" -> \"Orphanet\" [label=\"biolink:gene_associated_with_condition (3315)\"]; \t\"MGI\" -> \"OBO\" [label=\"biolink:expressed_in (2757)\"]; \t\"https\" -> \"HP\" [label=\"biolink:related_to (2)\"]; \t\"AQTLTrait\" -> \"AQTLTrait\" [label=\"biolink:subclass_of (95)\"]; \t\"RO\" -> \"http\" [label=\"biolink:subPropertyOf (2)\"]; \t\"NCBIGene\" -> \"GO\" [label=\"biolink:enables (54230)\"]; \t\"DOID\" -> \"OBO\" [label=\"biolink:subclass_of (19795)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:part_of (880)\"]; \t\"ENSEMBL\" -> \"NCBIGene\" [label=\"biolink:related_to (3225)\"]; \t\"UBERON\" -> \"CL\" [label=\"biolink:part_of (7)\"]; \t\"NCBIGene\" -> \"UBERON\" [label=\"biolink:expressed_in (33356)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (509)\"]; \t\"OBO\" -> \"BIOGRID\" [label=\"biolink:related_to (900)\"]; \t\"CL\" -> \"PR\" [label=\"biolink:related_to (982)\"]; \t\"https\" -> \"EFO\" [label=\"biolink:related_to (174)\"]; \t\"HGNC\" -> \"ZFIN\" [label=\"biolink:orthologous_to (19849)\"]; \t\"BFO\" -> \"owl\" [label=\"biolink:subPropertyOf (1)\"]; \t\"HP\" -> \"MP\" [label=\"biolink:subclass_of (8972)\"]; \t\"https\" -> \"HP\" [label=\"biolink:has_phenotype (294)\"]; \t\"MGI\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (2423)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:part_of (11)\"]; \t\"Orphanet\" -> \"OBO\" [label=\"biolink:subclass_of (13338)\"]; \t\"FAO\" -> \"FAO\" [label=\"biolink:related_to (2)\"]; \t\"UPHENO\" -> \"OBO\" [label=\"biolink:subclass_of (1)\"]; \t\"*non-standard CURIE*\" -> \"*non-standard CURIE*\" [label=\"biolink:subclass_of (9)\"]; \t\"OBO\" -> \"GO\" [label=\"biolink:capable_of (429)\"]; \t\"WBPhenotype\" -> \"HP\" [label=\"biolink:subclass_of (113)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:inverseOf (3)\"]; \t\"dbSNP\" -> \"NCBIGene\" [label=\"biolink:related_to (4744)\"]; \t\"MONDO\" -> \"DOID\" [label=\"biolink:subclass_of (29074)\"]; \t\"FlyBase\" -> \"dictyBase\" [label=\"biolink:related_to (2987)\"]; \t\"FBcv\" -> \"GO\" [label=\"biolink:subclass_of (38)\"]; \t\"sheepQTL\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (6510)\"]; \t\"MONDO\" -> \"OGMS\" [label=\"biolink:subclass_of (37)\"]; \t\"PMID\" -> \"MGI\" [label=\"biolink:related_to (428695)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:interacts_with (414)\"]; \t\"https\" -> \"MONARCH_NODE\" [label=\"biolink:related_to (24)\"]; \t\"FlyBase\" -> \"SGD\" [label=\"biolink:related_to (2292)\"]; \t\"ENSEMBL\" -> \"ZFIN\" [label=\"biolink:orthologous_to (199624)\"]; \t\"MONARCH_BNODE\" -> \"NCBIGene\" [label=\"biolink:related_to (6413)\"]; \t\"OBO\" -> \"RO\" [label=\"biolink:subPropertyOf (14)\"]; \t\"WormBase\" -> \"EcoGene\" [label=\"biolink:related_to (249)\"]; \t\"NCBIGene\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (1085)\"]; \t\"FAO\" -> \"NCBITaxon\" [label=\"biolink:related_to (1)\"]; \t\"NCIT\" -> \"MP\" [label=\"biolink:subclass_of (10)\"]; \t\"HGNC\" -> \"RGD\" [label=\"biolink:orthologous_to (3331)\"]; \t\"NCBIGene\" -> \"PomBase\" [label=\"biolink:orthologous_to (143)\"]; \t\"UBERON\" -> \"OBO\" [label=\"biolink:related_to (103)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:subclass_of (379)\"]; \t\"HGNC\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (13115)\"]; \t\"ZFIN\" -> \"CL\" [label=\"biolink:expressed_in (735)\"]; \t\"SEPIO\" -> \"pav\" [label=\"biolink:subPropertyOf (1)\"]; \t\"GOREL\" -> \"RO\" [label=\"biolink:subPropertyOf (5)\"]; \t\"OMIA\" -> \"MP\" [label=\"biolink:has_phenotype (1866)\"]; \t\"_\" -> \"GO\" [label=\"biolink:has_phenotype (250)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:has_attribute (26)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:precedes (3)\"]; \t\"OBI\" -> \"prov\" [label=\"biolink:related_to (1)\"]; \t\"faldo\" -> \"SO\" [label=\"biolink:subclass_of (1)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:subclass_of (32)\"]; \t\"dbSNP\" -> \"NCIT\" [label=\"biolink:related_to (25)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:located_in (527)\"]; \t\"UBERON\" -> \"CL\" [label=\"biolink:has_part (233)\"]; \t\"MONARCH_BNODE\" -> \"CoriellFamily\" [label=\"biolink:related_to (21318)\"]; \t\"MGI\" -> \"ENSEMBL\" [label=\"biolink:related_to (126877)\"]; \t\"ENSEMBL\" -> \"RGD\" [label=\"biolink:orthologous_to (8785)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:has_phenotype (1)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:regulates_process_to_process (3664)\"]; \t\"RGD\" -> \"dictyBase\" [label=\"biolink:orthologous_to (9381)\"]; \t\"DOID\" -> \"OBI\" [label=\"biolink:subclass_of (17)\"]; \t\"MP\" -> \"OBO\" [label=\"biolink:related_to (6)\"]; \t\"ENVO\" -> \"OBO\" [label=\"biolink:has_part (1)\"]; \t\"HGNC\" -> \"GO\" [label=\"biolink:enables (19568)\"]; \t\"OBI\" -> \"NCIT\" [label=\"biolink:subclass_of (1)\"]; \t\"RGD\" -> \"SGD\" [label=\"biolink:orthologous_to (3768)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:has_part (44)\"]; \t\"ZP\" -> \"owl\" [label=\"biolink:subclass_of (3742)\"]; \t\"OBO\" -> \"GENO\" [label=\"biolink:subclass_of (1629)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:has_attribute (3)\"]; \t\"GENO\" -> \"UBERON\" [label=\"biolink:subclass_of (1)\"]; \t\"MONDO\" -> \"http\" [label=\"biolink:subclass_of (48830)\"]; \t\"http\" -> \"HP\" [label=\"biolink:subclass_of (19)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:subclass_of (4)\"]; \t\"https\" -> \"GENO\" [label=\"biolink:subclass_of (209)\"]; \t\"Orphanet\" -> \"OBI\" [label=\"biolink:subclass_of (6)\"]; \t\"OBO\" -> \"RO\" [label=\"biolink:subclass_of (5)\"]; \t\"BSPO\" -> \"RO\" [label=\"biolink:subPropertyOf (4)\"]; \t\"PMID\" -> \"ZFIN\" [label=\"biolink:related_to (101474)\"]; \t\"GO\" -> \"CL\" [label=\"biolink:occurs_in (140)\"]; \t\"RGD\" -> \"WormBase\" [label=\"biolink:orthologous_to (15223)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:occurs_in (14)\"]; \t\"XCO\" -> \"XCO\" [label=\"biolink:subclass_of (769)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:related_to (99)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:overlaps (97)\"]; \t\"HGNC\" -> \"HP\" [label=\"biolink:has_phenotype (26)\"]; \t\"DOID\" -> \"NCIT\" [label=\"biolink:subclass_of (9445)\"]; \t\"SIO\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"OBI\" -> \"OBI\" [label=\"biolink:part_of (2)\"]; \t\"GENO\" -> \"SO\" [label=\"biolink:subclass_of (31)\"]; \t\"ClinVarVariant\" -> \"OMIMPS\" [label=\"biolink:gene_associated_with_condition (14066)\"]; \t\"NCBIGene\" -> \"MGI\" [label=\"biolink:interacts_with (30)\"]; \t\"dbSNP\" -> \"MONARCH_BNODE\" [label=\"biolink:has_sequence_location (125680)\"]; \t\"GENO\" -> \"BFO\" [label=\"biolink:subclass_of (11)\"]; \t\"PMID\" -> \"HGNC\" [label=\"biolink:related_to (445544)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:occurs_in (305)\"]; \t\"dbSNP\" -> \"pigQTL\" [label=\"biolink:biomarker_for (87)\"]; \t\"HP\" -> \"https\" [label=\"biolink:related_to (778)\"]; \t\"SEPIO\" -> \"IAO\" [label=\"biolink:has_output (1)\"]; \t\"GENO\" -> \"CHEBI\" [label=\"biolink:subclass_of (1)\"]; \t\"Orphanet\" -> \"NCIT\" [label=\"biolink:subclass_of (5417)\"]; \t\"SEPIO\" -> \"prov\" [label=\"biolink:related_to (1)\"]; \t\"FlyBase\" -> \"FlyBase\" [label=\"biolink:related_to (190338)\"]; \t\"BIOGRID\" -> \"Orphanet\" [label=\"biolink:related_to (24)\"]; \t\"UBERON\" -> \"OBI\" [label=\"biolink:related_to (1)\"]; \t\"GENO\" -> \"OIO\" [label=\"biolink:subPropertyOf (13)\"]; \t\"CHEBI\" -> \"owl\" [label=\"biolink:subclass_of (11)\"]; \t\"FlyBase\" -> \"http\" [label=\"biolink:orthologous_to (664)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:overlaps (9)\"]; \t\"SO\" -> \"GENO\" [label=\"biolink:subclass_of (17)\"]; \t\"GENO\" -> \"owl\" [label=\"biolink:subPropertyOf (2)\"]; \t\"PMID\" -> \"RGD\" [label=\"biolink:related_to (302153)\"]; \t\"HGNC\" -> \"GO\" [label=\"biolink:part_of (23623)\"]; \t\"HGNC\" -> \"MGI\" [label=\"biolink:related_to (16839)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:has_part (16)\"]; \t\"SEPIO\" -> \"OBI\" [label=\"biolink:subclass_of (3)\"]; \t\"GO\" -> \"OBI\" [label=\"biolink:subclass_of (7)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:negatively_regulates_process_to_process (11)\"]; \t\"MONDO\" -> \"MP\" [label=\"biolink:subclass_of (14)\"]; \t\"EFO\" -> \"UPHENO\" [label=\"biolink:subclass_of (2169)\"]; \t\"dbSNP\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (66968)\"]; \t\"MGI\" -> \"APB\" [label=\"biolink:same_as (331)\"]; \t\"BIOGRID\" -> \"OMIM\" [label=\"biolink:has_phenotype (900)\"]; \t\"PANTHER\" -> \"MGI\" [label=\"biolink:related_to (20718)\"]; \t\"ENSEMBL\" -> \"ENSEMBL\" [label=\"biolink:has_gene_product (7595)\"]; \t\"ZP\" -> \"ZP\" [label=\"biolink:subclass_of (53288)\"]; \t\"GENO\" -> \"IAO\" [label=\"biolink:subclass_of (2)\"]; \t\"OBAN\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"MP\" -> \"OBO\" [label=\"biolink:subclass_of (336)\"]; \t\"OBO\" -> \"CL\" [label=\"biolink:subclass_of (1959)\"]; \t\"NCBIGene\" -> \"GO\" [label=\"biolink:part_of (65726)\"]; \t\"MONARCH_BNODE\" -> \"MONARCH\" [label=\"biolink:related_to (3051)\"]; \t\"RGD\" -> \"http\" [label=\"biolink:related_to (149)\"]; \t\"NCBIGene\" -> \"Xenbase\" [label=\"biolink:orthologous_to (93)\"]; \t\"BIOGRID\" -> \"OBO\" [label=\"biolink:related_to (3931)\"]; \t\"RGD\" -> \"FlyBase\" [label=\"biolink:orthologous_to (15099)\"]; \t\"OBO\" -> \"GO\" [label=\"biolink:subclass_of (37)\"]; \t\"NCBIGene\" -> \"ZFIN\" [label=\"biolink:interacts_with (826)\"]; \t\"MGI\" -> \"APB\" [label=\"biolink:related_to (37)\"]; \t\"ENSEMBL\" -> \"MGI\" [label=\"biolink:related_to (31253)\"]; \t\"MONARCH\" -> \"ENSEMBL\" [label=\"biolink:related_to (2)\"]; \t\"PMID\" -> \"BIOGRID\" [label=\"biolink:related_to (2207)\"]; \t\"XCO\" -> \"XCO\" [label=\"biolink:part_of (14)\"]; \t\"NCBIGene\" -> \"HGNC\" [label=\"biolink:interacts_with (496)\"]; \t\"ECO\" -> \"owl\" [label=\"biolink:subclass_of (42)\"]; \t\"FBcv\" -> \"OBO\" [label=\"biolink:related_to (1)\"]; \t\"FlyBase\" -> \"OBO\" [label=\"biolink:related_to (11462)\"]; \t\"HGNC\" -> \"ZFIN\" [label=\"biolink:related_to (12161)\"]; \t\"HGNC\" -> \"Orphanet\" [label=\"biolink:biomarker_for (414)\"]; \t\"UBERON\" -> \"OBO\" [label=\"biolink:part_of (1)\"]; \t\"FlyBase\" -> \"FBcv\" [label=\"biolink:has_phenotype (149834)\"]; \t\"HGNC\" -> \"MGI\" [label=\"biolink:interacts_with (308)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:part_of (1)\"]; \t\"ZP\" -> \"HP\" [label=\"biolink:subclass_of (4014)\"]; \t\"MGI\" -> \"GENO\" [label=\"biolink:subclass_of (198)\"]; \t\"HGNC\" -> \"HGNC\" [label=\"biolink:related_to (3197)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:related_to (628)\"]; \t\"WBPhenotype\" -> \"UBERON\" [label=\"biolink:subclass_of (106)\"]; \t\"MONARCH_BNODE\" -> \"MGI\" [label=\"biolink:related_to (197626)\"]; \t\"https\" -> \"MONDO\" [label=\"biolink:related_to (7)\"]; \t\"PANTHER\" -> \"ZFIN\" [label=\"biolink:related_to (19245)\"]; \t\"horseQTL\" -> \"NCBIGene\" [label=\"biolink:related_to (153)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:has_input (298)\"]; \t\"APO\" -> \"UPHENO\" [label=\"biolink:subclass_of (8)\"]; \t\"KEGG-ko\" -> \"MONARCH_BNODE\" [label=\"biolink:has_gene_product (12747)\"]; \t\"HGNC\" -> \"NCBIGene\" [label=\"biolink:has_gene_product (1)\"]; \t\"FBcv\" -> \"OBO\" [label=\"biolink:subclass_of (22)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:produces (22)\"]; \t\"PANTHER\" -> \"HGNC\" [label=\"biolink:related_to (19206)\"]; \t\"MGI\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (7104)\"]; \t\"NCBITaxon\" -> \"GO\" [label=\"biolink:subclass_of (46)\"]; \t\"FlyBase\" -> \"FlyBase\" [label=\"biolink:interacts_with (60276)\"]; \t\"BFO\" -> \"BFO\" [label=\"biolink:inverseOf (5)\"]; \t\"FlyBase\" -> \"PomBase\" [label=\"biolink:orthologous_to (1980)\"]; \t\"MGI\" -> \"MP\" [label=\"biolink:has_phenotype (598266)\"]; \t\"OBO\" -> \"UBERON\" [label=\"biolink:related_to (8)\"]; \t\"HGNC\" -> \"RGD\" [label=\"biolink:related_to (15668)\"]; \t\"ZFIN\" -> \"HGNC\" [label=\"biolink:orthologous_to (4748)\"]; \t\"Xenbase\" -> \"SO\" [label=\"biolink:subclass_of (15904)\"]; \t\"MONARCH_BNODE\" -> \"HGNC\" [label=\"biolink:has_phenotype (627)\"]; \t\"dbSNP\" -> \"rainbow_troutQTL\" [label=\"biolink:biomarker_for (440)\"]; \t\"MONDO\" -> \"PR\" [label=\"biolink:related_to (20)\"]; \t\"ENSEMBL\" -> \"ZFIN\" [label=\"biolink:related_to (119500)\"]; \t\"NCBIGene\" -> \"dictyBase\" [label=\"biolink:related_to (42)\"]; \t\"OMIM\" -> \"dbSNP\" [label=\"biolink:related_to (108)\"]; \t\"faldo\" -> \"faldo\" [label=\"biolink:subclass_of (13)\"]; \t\"NCBIGene\" -> \"SGD\" [label=\"biolink:related_to (45)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:related_to (9)\"]; \t\"Xenbase\" -> \"ENSEMBL\" [label=\"biolink:related_to (113)\"]; \t\"BIOGRID\" -> \"SO\" [label=\"biolink:subclass_of (2219)\"]; \t\"ClinVarVariant\" -> \"OMIM\" [label=\"biolink:related_to (135398)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (1)\"]; \t\"MP\" -> \"FBcv\" [label=\"biolink:subclass_of (263)\"]; \t\"NCBIGene\" -> \"SO\" [label=\"biolink:subclass_of (542874)\"]; \t\"MONARCH_NODE\" -> \"DOID\" [label=\"biolink:has_phenotype (38)\"]; \t\"SGD\" -> \"OBO\" [label=\"biolink:related_to (6439)\"]; \t\"ZFIN\" -> \"http\" [label=\"biolink:related_to (146)\"]; \t\"GENO\" -> \"SO\" [label=\"biolink:related_to (9)\"]; \t\"ZFIN\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (2755)\"]; \t\"MGI\" -> \"ZFIN\" [label=\"biolink:orthologous_to (26613)\"]; \t\"PANTHER\" -> \"RGD\" [label=\"biolink:related_to (18137)\"]; \t\"CLO\" -> \"owl\" [label=\"biolink:subPropertyOf (1)\"]; \t\"UBERON\" -> \"ENVO\" [label=\"biolink:related_to (8)\"]; \t\"BIOGRID\" -> \"NCBIGene\" [label=\"biolink:same_as (55)\"]; \t\"FlyBase\" -> \"NCBIGene\" [label=\"biolink:related_to (11963)\"]; \t\"MGI\" -> \"GO\" [label=\"biolink:actively_involved_in (148562)\"]; \t\"ZFIN\" -> \"OBO\" [label=\"biolink:expressed_in (512)\"]; \t\"HGNC\" -> \"CL\" [label=\"biolink:expressed_in (9853)\"]; \t\"http\" -> \"UMLS\" [label=\"biolink:subclass_of (27412)\"]; \t\"UBERON\" -> \"GENO\" [label=\"biolink:subclass_of (2)\"]; \t\"ZFIN\" -> \"ZP\" [label=\"biolink:has_phenotype (189573)\"]; \t\"RGD\" -> \"PomBase\" [label=\"biolink:related_to (2450)\"]; \t\"MP\" -> \"NCIT\" [label=\"biolink:subclass_of (3)\"]; \t\"NCBIGene\" -> \"WormBase\" [label=\"biolink:related_to (144)\"]; \t\"https\" -> \"NCBITaxon\" [label=\"biolink:related_to (206)\"]; \t\"OBO\" -> \"CHEBI\" [label=\"biolink:related_to (25)\"]; \t\"GO\" -> \"ENVO\" [label=\"biolink:subclass_of (4)\"]; \t\"OBO\" -> \"PO\" [label=\"biolink:derives_from (4)\"]; \t\"GO\" -> \"OBO\" [label=\"biolink:regulates_process_to_process (80)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:has_participant (3)\"]; \t\"ENSEMBL\" -> \"GO\" [label=\"biolink:actively_involved_in (120005)\"]; \t\"MGI\" -> \"http\" [label=\"biolink:related_to (158)\"]; \t\"HGNC\" -> \"ZFIN\" [label=\"biolink:interacts_with (2)\"]; \t\"dbSNP\" -> \"HGNC\" [label=\"biolink:related_to (97824)\"]; \t\"ENSEMBL\" -> \"RGD\" [label=\"biolink:related_to (29189)\"]; \t\"MONARCH_BNODE\" -> \"HGNC\" [label=\"biolink:biomarker_for (1)\"]; \t\"HGNC\" -> \"BIOGRID\" [label=\"biolink:related_to (1)\"]; \t\"MONARCH_BNODE\" -> \"ZFIN\" [label=\"biolink:related_to (51246)\"]; \t\"MESH\" -> \"MESH\" [label=\"biolink:biomarker_for (64340)\"]; \t\"RO\" -> \"RO\" [label=\"biolink:related_to (1)\"]; \t\"ENVO\" -> \"ENVO\" [label=\"biolink:has_part (20)\"]; \t\"OBO\" -> \"BSPO\" [label=\"biolink:subPropertyOf (6)\"]; \t\"DOID\" -> \"owl\" [label=\"biolink:subclass_of (8)\"]; \t\"http\" -> \"UBERON\" [label=\"biolink:subclass_of (14)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:derives_from (18)\"]; \t\"HGNC\" -> \"HGNC\" [label=\"biolink:interacts_with (63079)\"]; \t\"MGI\" -> \"RGD\" [label=\"biolink:orthologous_to (4850)\"]; \t\"MONARCH_BNODE\" -> \"HGNC\" [label=\"biolink:related_to (50)\"]; \t\"GO\" -> \"PO\" [label=\"biolink:occurs_in (10)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:has_participant (3)\"]; \t\"HP\" -> \"biolink\" [label=\"biolink:subclass_of (394)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_participant (3)\"]; \t\"HP\" -> \"WBPhenotype\" [label=\"biolink:subclass_of (121)\"]; \t\"Orphanet\" -> \"owl\" [label=\"biolink:subclass_of (13)\"]; \t\"BIOGRID\" -> \"OMIM\" [label=\"biolink:biomarker_for (56)\"]; \t\"AspGD\" -> \"GO\" [label=\"biolink:actively_involved_in (244871)\"]; \t\"UPHENO\" -> \"owl\" [label=\"biolink:subclass_of (7)\"]; \t\"MONARCH_NODE\" -> \"MONARCH_BNODE\" [label=\"biolink:related_to (78988)\"]; \t\"faldo\" -> \"rdf\" [label=\"biolink:subclass_of (2)\"]; \t\"RGD\" -> \"NCBIGene\" [label=\"biolink:orthologous_to (1175)\"]; \t\"GENO\" -> \"NCBITaxon\" [label=\"biolink:related_to (2)\"]; \t\"CLO\" -> \"CLO\" [label=\"biolink:related_to (2)\"]; \t\"dbSNP\" -> \"chickenQTL\" [label=\"biolink:biomarker_for (1992)\"]; \t\"OBO\" -> \"IAO\" [label=\"biolink:related_to (1)\"]; \t\"MGI\" -> \"MMRRC\" [label=\"biolink:same_as (2)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"biolink:part_of (12616)\"]; \t\"http\" -> \"MONDO\" [label=\"biolink:subclass_of (57130)\"]; \t\"STATO\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"http\" -> \"BFO\" [label=\"biolink:subclass_of (5)\"]; \t\"OBO\" -> \"NCBITaxon\" [label=\"biolink:related_to (7)\"]; \t\"HGNC\" -> \"HP\" [label=\"biolink:related_to (6)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:subPropertyOf (17)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:has_part (109)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:has_output (1)\"]; \t\"MONARCH_BNODE\" -> \"RGD\" [label=\"biolink:related_to (1)\"]; \t\"ECO\" -> \"GO\" [label=\"biolink:related_to (83)\"]; \t\"FBcv\" -> \"FBcv\" [label=\"biolink:subclass_of (198)\"]; \t\"IAO\" -> \"BFO\" [label=\"biolink:subclass_of (5)\"]; \t\"RGD\" -> \"GO\" [label=\"biolink:actively_involved_in (146383)\"]; \t\"BIOGRID\" -> \"OMIM\" [label=\"biolink:contributes_to (341)\"]; \t\"pigQTL\" -> \"pigQTL\" [label=\"biolink:biomarker_for (60)\"]; \t\"IAO\" -> \"CHEBI\" [label=\"biolink:subclass_of (1)\"]; \t\"OBO\" -> \"Orphanet\" [label=\"biolink:subclass_of (19463)\"]; \t\"Xenbase\" -> \"SGD\" [label=\"biolink:orthologous_to (2900)\"]; \t\"WormBase\" -> \"UniProtKB\" [label=\"biolink:has_gene_product (2671)\"]; \t\"WD_Entity\" -> \"ENVO\" [label=\"biolink:type (4)\"]; \t\"MGI\" -> \"MMRRC\" [label=\"biolink:related_to (459)\"]; \t\"NCBIGene\" -> \"FlyBase\" [label=\"biolink:related_to (133)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:has_output (6)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:has_attribute (10)\"]; \t\"HGNC\" -> \"EcoGene\" [label=\"biolink:orthologous_to (952)\"]; \t\"SEPIO\" -> \"SEPIO\" [label=\"biolink:has_input (1)\"]; \t\"UBERON\" -> \"CL\" [label=\"biolink:subclass_of (5)\"]; \t\"BSPO\" -> \"BSPO\" [label=\"biolink:subPropertyOf (8)\"]; \t\"BIOGRID\" -> \"HGNC\" [label=\"biolink:interacts_with (3)\"]; \t\"SEPIO\" -> \"owl\" [label=\"biolink:subclass_of (1)\"]; \t\"dictyBase\" -> \"GO\" [label=\"biolink:part_of (20328)\"]; \t\"sheepQTL\" -> \"AQTLTrait\" [label=\"biolink:biomarker_for (2922)\"]; \t\"GO\" -> \"CHEBI\" [label=\"biolink:has_output (100)\"]; \t\"Xenbase\" -> \"WormBase\" [label=\"biolink:orthologous_to (9980)\"]; \t\"GO\" -> \"owl\" [label=\"biolink:subclass_of (6154)\"]; \t\"ClinVarVariant\" -> \"HGNC\" [label=\"biolink:gene_associated_with_condition (329)\"]; \t\"foaf\" -> \"foaf\" [label=\"biolink:subPropertyOf (12)\"]; \t\"HGNC\" -> \"BIOGRID\" [label=\"biolink:interacts_with (13)\"]; \t\"ZFIN\" -> \"PomBase\" [label=\"biolink:related_to (2482)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:has_part (9)\"]; \t\"OBO\" -> \"PO\" [label=\"biolink:subclass_of (1)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:coexists_with (59)\"]; \t\"UBERON\" -> \"GO\" [label=\"biolink:subclass_of (10)\"]; \t\"pigQTL\" -> \"NCBIGene\" [label=\"biolink:biomarker_for (16045)\"]; \t\"OMIM\" -> \"OMIM\" [label=\"biolink:related_to (4268)\"]; \t\"PR\" -> \"OBI\" [label=\"biolink:subclass_of (1)\"]; \t\"IAO\" -> \"IAO\" [label=\"biolink:subclass_of (167)\"]; \t\"NCBIGene\" -> \"Orphanet\" [label=\"biolink:related_to (2)\"]; \t\"FlyBase\" -> \"NCBIGene\" [label=\"biolink:interacts_with (23)\"]; \t\"ENSEMBL\" -> \"EcoGene\" [label=\"biolink:orthologous_to (926)\"]; \t\"MONARCH_NODE\" -> \"MP\" [label=\"biolink:has_phenotype (34185)\"]; \t\"OBO\" -> \"OBO\" [label=\"biolink:subclass_of (93638)\"]; \t\"MONARCH_BNODE\" -> \"RO\" [label=\"owl:onProperty (233)\"]; \t\"GENO\" -> \"OBAN\" [label=\"biolink:subclass_of (1)\"]; \t\"dbSNP\" -> \"HP\" [label=\"biolink:related_to (2703)\"]; \t\"ECO\" -> \"ECO\" [label=\"biolink:subclass_of (3014)\"]; \t\"PO\" -> \"PO\" [label=\"biolink:located_in (2)\"]; \t\"RGD\" -> \"VGNC\" [label=\"biolink:related_to (8)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:related_to (89)\"]; \t\"MGI\" -> \"PomBase\" [label=\"biolink:related_to (2554)\"]; \t\"pav\" -> \"SEPIO\" [label=\"biolink:subPropertyOf (3)\"]; }"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/sri_semmeddb/sri_semmeddb-map.html",
    "content": "<html>\n<head>\n  <title>SRI Import of SemmedDB KG Map</title>\n  <script src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"></script>\n</head>\n\n<div id=\"mynetwork\"></div>\n<script type=\"text/javascript\">\n    var container = document.getElementById('mynetwork');\n    var dot = 'digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"UMLS\" -> \"UMLS\" [label=\"biolink:prevents (143669)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:gene_associated_with_condition (343651)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:produces (462408)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:prep (3)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:positively_regulates (1256571)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:interacts_with (2111999)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:negatively_regulates (1072555)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:measures (1047)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:manifestation_of (37727)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:location_of (1958392)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:affects (1886243)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:subclass_of (228568)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:treats (477872)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:precedes (54661)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:coexists_with (1774480)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:causes (757162)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:measurement_of (44)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:related_to (573780)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:part_of (726915)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:derives_into (48615)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:predisposes (264401)\"]; }';\n  var data = vis.parseDOTNetwork(dot);\n  var options = {\n    layout: {\n        hierarchical: {\n            direction: \"LR\"\n        }\n    },\n    physics: {\n      hierarchicalRepulsion: {\n        avoidOverlap: 10\n      }\n    },\n    dragNodes: 'true',\n    hideEdgesOnDrag: 'true',\n    hideNodesOnDrag: 'true'\n  };\n  var network = new vis.Network(container, data, options);\n</script>\n</html>\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/sri_semmeddb/sri_semmeddb-stats.txt",
    "content": "predicates: 21\ncategories: 12\nconcepts: 171,431\nedges: 14,180,763\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/sri_semmeddb/sri_semmeddb-subject_predicate_object_count.tsv",
    "content": "subject CURIE prefix\tobject CURIE prefix\tpredicate\tedge count\nUMLS\tUMLS\tbiolink:prevents\t143669\nUMLS\tUMLS\tbiolink:gene_associated_with_condition\t343651\nUMLS\tUMLS\tbiolink:produces\t462408\nUMLS\tUMLS\tbiolink:prep\t3\nUMLS\tUMLS\tbiolink:positively_regulates\t1256571\nUMLS\tUMLS\tbiolink:interacts_with\t2111999\nUMLS\tUMLS\tbiolink:negatively_regulates\t1072555\nUMLS\tUMLS\tbiolink:measures\t1047\nUMLS\tUMLS\tbiolink:manifestation_of\t37727\nUMLS\tUMLS\tbiolink:location_of\t1958392\nUMLS\tUMLS\tbiolink:affects\t1886243\nUMLS\tUMLS\tbiolink:subclass_of\t228568\nUMLS\tUMLS\tbiolink:treats\t477872\nUMLS\tUMLS\tbiolink:precedes\t54661\nUMLS\tUMLS\tbiolink:coexists_with\t1774480\nUMLS\tUMLS\tbiolink:causes\t757162\nUMLS\tUMLS\tbiolink:measurement_of\t44\nUMLS\tUMLS\tbiolink:related_to\t573780\nUMLS\tUMLS\tbiolink:part_of\t726915\nUMLS\tUMLS\tbiolink:derives_into\t48615\nUMLS\tUMLS\tbiolink:predisposes\t264401\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/sri_semmeddb/sri_semmeddb.dot",
    "content": "digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"UMLS\" -> \"UMLS\" [label=\"biolink:prevents (143669)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:gene_associated_with_condition (343651)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:produces (462408)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:prep (3)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:positively_regulates (1256571)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:interacts_with (2111999)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:negatively_regulates (1072555)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:measures (1047)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:manifestation_of (37727)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:location_of (1958392)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:affects (1886243)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:subclass_of (228568)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:treats (477872)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:precedes (54661)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:coexists_with (1774480)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:causes (757162)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:measurement_of (44)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:related_to (573780)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:part_of (726915)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:derives_into (48615)\"]; \t\"UMLS\" -> \"UMLS\" [label=\"biolink:predisposes (264401)\"]; }"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/co-occur/co-occur-map.html",
    "content": "<html>\n<head>\n  <title>TextMining Provider Co-occurrence KG Map</title>\n  <script src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"></script>\n</head>\n\n<div id=\"mynetwork\"></div>\n<script type=\"text/javascript\">\n    var container = document.getElementById('mynetwork');\n    var dot = 'digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"MONDO\" -> \"SO\" [label=\"biolink:related_to (1138140)\"]; \t\"CHEBI\" -> \"MOP\" [label=\"biolink:related_to (102304)\"]; \t\"MOP\" -> \"UBERON\" [label=\"biolink:related_to (24664)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"biolink:related_to (1313061)\"]; \t\"CHEBI\" -> \"HP\" [label=\"biolink:related_to (1666319)\"]; \t\"HP\" -> \"UBERON\" [label=\"biolink:related_to (1195221)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"biolink:related_to (4358876)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:related_to (465319)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:related_to (2616847)\"]; \t\"CHEBI\" -> \"CL\" [label=\"biolink:related_to (1056654)\"]; \t\"CL\" -> \"NCBITaxon#\" [label=\"biolink:related_to (14)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:related_to (2398348)\"]; \t\"NCBITaxon\" -> \"UBERON\" [label=\"biolink:related_to (706563)\"]; \t\"GO\" -> \"NCBITaxon#\" [label=\"biolink:related_to (1)\"]; \t\"NCBITaxon#\" -> \"NCBITaxon\" [label=\"biolink:related_to (10)\"]; \t\"MOP\" -> \"MOP\" [label=\"biolink:related_to (769)\"]; \t\"HP\" -> \"MOP\" [label=\"biolink:related_to (17148)\"]; \t\"CL\" -> \"MOP\" [label=\"biolink:related_to (10217)\"]; \t\"MONDO\" -> \"PR\" [label=\"biolink:related_to (5623765)\"]; \t\"HP\" -> \"HP\" [label=\"biolink:related_to (594487)\"]; \t\"CHEBI\" -> \"SO\" [label=\"biolink:related_to (1105945)\"]; \t\"GO\" -> \"MOP\" [label=\"biolink:related_to (81244)\"]; \t\"CL\" -> \"HP\" [label=\"biolink:related_to (261760)\"]; \t\"SO\" -> \"UBERON\" [label=\"biolink:related_to (427808)\"]; \t\"CHEBI\" -> \"NCBITaxon\" [label=\"biolink:related_to (2024568)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:related_to (95616)\"]; \t\"CHEBI\" -> \"GO\" [label=\"biolink:related_to (7062269)\"]; \t\"CHEBI\" -> \"MONDO\" [label=\"biolink:related_to (6055640)\"]; \t\"GO\" -> \"HP\" [label=\"biolink:related_to (1401647)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:related_to (1068014)\"]; \t\"PR\" -> \"UBERON\" [label=\"biolink:related_to (2584357)\"]; \t\"NCBITaxon#\" -> \"PR\" [label=\"biolink:related_to (3)\"]; \t\"MOP\" -> \"SO\" [label=\"biolink:related_to (12108)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:related_to (5405491)\"]; \t\"HP\" -> \"SO\" [label=\"biolink:related_to (358148)\"]; \t\"MOP\" -> \"NCBITaxon\" [label=\"biolink:related_to (18847)\"]; \t\"CL\" -> \"SO\" [label=\"biolink:related_to (159279)\"]; \t\"HP\" -> \"NCBITaxon\" [label=\"biolink:related_to (387407)\"]; \t\"CHEBI\" -> \"PR\" [label=\"biolink:related_to (7199237)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"biolink:related_to (237330)\"]; \t\"HP\" -> \"MONDO\" [label=\"biolink:related_to (2922545)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:related_to (1237576)\"]; \t\"CL\" -> \"MONDO\" [label=\"biolink:related_to (942228)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:related_to (1051790)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"biolink:related_to (3459772)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"biolink:related_to (1786461)\"]; \t\"NCBITaxon\" -> \"SO\" [label=\"biolink:related_to (410701)\"]; \t\"GO\" -> \"MONDO\" [label=\"biolink:related_to (5135667)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:related_to (3631022)\"]; \t\"MONDO\" -> \"NCBITaxon#\" [label=\"biolink:related_to (5)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"biolink:related_to (406814)\"]; \t\"MOP\" -> \"PR\" [label=\"biolink:related_to (117278)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:related_to (126269)\"]; \t\"MONDO\" -> \"MOP\" [label=\"biolink:related_to (63154)\"]; \t\"HP\" -> \"PR\" [label=\"biolink:related_to (1384046)\"]; \t\"CL\" -> \"PR\" [label=\"biolink:related_to (1274878)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:related_to (6790146)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:related_to (1853926)\"]; \t\"NCBITaxon\" -> \"PR\" [label=\"biolink:related_to (2034974)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"biolink:related_to (2819717)\"]; }';\n  var data = vis.parseDOTNetwork(dot);\n  var options = {\n    layout: {\n        hierarchical: {\n            direction: \"LR\"\n        }\n    },\n    physics: {\n      hierarchicalRepulsion: {\n        avoidOverlap: 10\n      }\n    },\n    dragNodes: 'true',\n    hideEdgesOnDrag: 'true',\n    hideNodesOnDrag: 'true'\n  };\n  var network = new vis.Network(container, data, options);\n</script>\n</html>\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/co-occur/co-occur-stats.txt",
    "content": "predicates: 1\ncategories: 12\nconcepts: 88,696\nedges: 96,684,414\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/co-occur/co-occur-subject_predicate_object_count.tsv",
    "content": "subject CURIE prefix\tobject CURIE prefix\tpredicate\tedge count\nMONDO\tSO\tbiolink:related_to\t1138140\nCHEBI\tMOP\tbiolink:related_to\t102304\nMOP\tUBERON\tbiolink:related_to\t24664\nMONDO\tNCBITaxon\tbiolink:related_to\t1313061\nCHEBI\tHP\tbiolink:related_to\t1666319\nHP\tUBERON\tbiolink:related_to\t1195221\nMONDO\tMONDO\tbiolink:related_to\t4358876\nCL\tUBERON\tbiolink:related_to\t465319\nPR\tPR\tbiolink:related_to\t2616847\nCHEBI\tCL\tbiolink:related_to\t1056654\nCL\tNCBITaxon#\tbiolink:related_to\t14\nGO\tUBERON\tbiolink:related_to\t2398348\nNCBITaxon\tUBERON\tbiolink:related_to\t706563\nGO\tNCBITaxon#\tbiolink:related_to\t1\nNCBITaxon#\tNCBITaxon\tbiolink:related_to\t10\nMOP\tMOP\tbiolink:related_to\t769\nHP\tMOP\tbiolink:related_to\t17148\nCL\tMOP\tbiolink:related_to\t10217\nMONDO\tPR\tbiolink:related_to\t5623765\nHP\tHP\tbiolink:related_to\t594487\nCHEBI\tSO\tbiolink:related_to\t1105945\nGO\tMOP\tbiolink:related_to\t81244\nCL\tHP\tbiolink:related_to\t261760\nSO\tUBERON\tbiolink:related_to\t427808\nCHEBI\tNCBITaxon\tbiolink:related_to\t2024568\nCL\tCL\tbiolink:related_to\t95616\nCHEBI\tGO\tbiolink:related_to\t7062269\nCHEBI\tMONDO\tbiolink:related_to\t6055640\nGO\tHP\tbiolink:related_to\t1401647\nUBERON\tUBERON\tbiolink:related_to\t1068014\nPR\tUBERON\tbiolink:related_to\t2584357\nNCBITaxon#\tPR\tbiolink:related_to\t3\nMOP\tSO\tbiolink:related_to\t12108\nCHEBI\tCHEBI\tbiolink:related_to\t5405491\nHP\tSO\tbiolink:related_to\t358148\nMOP\tNCBITaxon\tbiolink:related_to\t18847\nCL\tSO\tbiolink:related_to\t159279\nHP\tNCBITaxon\tbiolink:related_to\t387407\nCHEBI\tPR\tbiolink:related_to\t7199237\nCL\tNCBITaxon\tbiolink:related_to\t237330\nHP\tMONDO\tbiolink:related_to\t2922545\nGO\tSO\tbiolink:related_to\t1237576\nCL\tMONDO\tbiolink:related_to\t942228\nCL\tGO\tbiolink:related_to\t1051790\nMONDO\tUBERON\tbiolink:related_to\t3459772\nGO\tNCBITaxon\tbiolink:related_to\t1786461\nNCBITaxon\tSO\tbiolink:related_to\t410701\nGO\tMONDO\tbiolink:related_to\t5135667\nGO\tGO\tbiolink:related_to\t3631022\nMONDO\tNCBITaxon#\tbiolink:related_to\t5\nNCBITaxon\tNCBITaxon\tbiolink:related_to\t406814\nMOP\tPR\tbiolink:related_to\t117278\nSO\tSO\tbiolink:related_to\t126269\nMONDO\tMOP\tbiolink:related_to\t63154\nHP\tPR\tbiolink:related_to\t1384046\nCL\tPR\tbiolink:related_to\t1274878\nGO\tPR\tbiolink:related_to\t6790146\nPR\tSO\tbiolink:related_to\t1853926\nNCBITaxon\tPR\tbiolink:related_to\t2034974\nCHEBI\tUBERON\tbiolink:related_to\t2819717\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/co-occur/co-occur.dot",
    "content": "digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"MONDO\" -> \"SO\" [label=\"biolink:related_to (1138140)\"]; \t\"CHEBI\" -> \"MOP\" [label=\"biolink:related_to (102304)\"]; \t\"MOP\" -> \"UBERON\" [label=\"biolink:related_to (24664)\"]; \t\"MONDO\" -> \"NCBITaxon\" [label=\"biolink:related_to (1313061)\"]; \t\"CHEBI\" -> \"HP\" [label=\"biolink:related_to (1666319)\"]; \t\"HP\" -> \"UBERON\" [label=\"biolink:related_to (1195221)\"]; \t\"MONDO\" -> \"MONDO\" [label=\"biolink:related_to (4358876)\"]; \t\"CL\" -> \"UBERON\" [label=\"biolink:related_to (465319)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:related_to (2616847)\"]; \t\"CHEBI\" -> \"CL\" [label=\"biolink:related_to (1056654)\"]; \t\"CL\" -> \"NCBITaxon#\" [label=\"biolink:related_to (14)\"]; \t\"GO\" -> \"UBERON\" [label=\"biolink:related_to (2398348)\"]; \t\"NCBITaxon\" -> \"UBERON\" [label=\"biolink:related_to (706563)\"]; \t\"GO\" -> \"NCBITaxon#\" [label=\"biolink:related_to (1)\"]; \t\"NCBITaxon#\" -> \"NCBITaxon\" [label=\"biolink:related_to (10)\"]; \t\"MOP\" -> \"MOP\" [label=\"biolink:related_to (769)\"]; \t\"HP\" -> \"MOP\" [label=\"biolink:related_to (17148)\"]; \t\"CL\" -> \"MOP\" [label=\"biolink:related_to (10217)\"]; \t\"MONDO\" -> \"PR\" [label=\"biolink:related_to (5623765)\"]; \t\"HP\" -> \"HP\" [label=\"biolink:related_to (594487)\"]; \t\"CHEBI\" -> \"SO\" [label=\"biolink:related_to (1105945)\"]; \t\"GO\" -> \"MOP\" [label=\"biolink:related_to (81244)\"]; \t\"CL\" -> \"HP\" [label=\"biolink:related_to (261760)\"]; \t\"SO\" -> \"UBERON\" [label=\"biolink:related_to (427808)\"]; \t\"CHEBI\" -> \"NCBITaxon\" [label=\"biolink:related_to (2024568)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:related_to (95616)\"]; \t\"CHEBI\" -> \"GO\" [label=\"biolink:related_to (7062269)\"]; \t\"CHEBI\" -> \"MONDO\" [label=\"biolink:related_to (6055640)\"]; \t\"GO\" -> \"HP\" [label=\"biolink:related_to (1401647)\"]; \t\"UBERON\" -> \"UBERON\" [label=\"biolink:related_to (1068014)\"]; \t\"PR\" -> \"UBERON\" [label=\"biolink:related_to (2584357)\"]; \t\"NCBITaxon#\" -> \"PR\" [label=\"biolink:related_to (3)\"]; \t\"MOP\" -> \"SO\" [label=\"biolink:related_to (12108)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:related_to (5405491)\"]; \t\"HP\" -> \"SO\" [label=\"biolink:related_to (358148)\"]; \t\"MOP\" -> \"NCBITaxon\" [label=\"biolink:related_to (18847)\"]; \t\"CL\" -> \"SO\" [label=\"biolink:related_to (159279)\"]; \t\"HP\" -> \"NCBITaxon\" [label=\"biolink:related_to (387407)\"]; \t\"CHEBI\" -> \"PR\" [label=\"biolink:related_to (7199237)\"]; \t\"CL\" -> \"NCBITaxon\" [label=\"biolink:related_to (237330)\"]; \t\"HP\" -> \"MONDO\" [label=\"biolink:related_to (2922545)\"]; \t\"GO\" -> \"SO\" [label=\"biolink:related_to (1237576)\"]; \t\"CL\" -> \"MONDO\" [label=\"biolink:related_to (942228)\"]; \t\"CL\" -> \"GO\" [label=\"biolink:related_to (1051790)\"]; \t\"MONDO\" -> \"UBERON\" [label=\"biolink:related_to (3459772)\"]; \t\"GO\" -> \"NCBITaxon\" [label=\"biolink:related_to (1786461)\"]; \t\"NCBITaxon\" -> \"SO\" [label=\"biolink:related_to (410701)\"]; \t\"GO\" -> \"MONDO\" [label=\"biolink:related_to (5135667)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:related_to (3631022)\"]; \t\"MONDO\" -> \"NCBITaxon#\" [label=\"biolink:related_to (5)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"biolink:related_to (406814)\"]; \t\"MOP\" -> \"PR\" [label=\"biolink:related_to (117278)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:related_to (126269)\"]; \t\"MONDO\" -> \"MOP\" [label=\"biolink:related_to (63154)\"]; \t\"HP\" -> \"PR\" [label=\"biolink:related_to (1384046)\"]; \t\"CL\" -> \"PR\" [label=\"biolink:related_to (1274878)\"]; \t\"GO\" -> \"PR\" [label=\"biolink:related_to (6790146)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:related_to (1853926)\"]; \t\"NCBITaxon\" -> \"PR\" [label=\"biolink:related_to (2034974)\"]; \t\"CHEBI\" -> \"UBERON\" [label=\"biolink:related_to (2819717)\"]; }"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/pr-owl/pr-owl-map.html",
    "content": "<html>\n<head>\n  <title>TextMining Provider PR-OWL KG Map</title>\n  <script src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"></script>\n</head>\n\n<div id=\"mynetwork\"></div>\n<script type=\"text/javascript\">\n    var container = document.getElementById('mynetwork');\n    var dot = 'digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"PR\" -> \"GO\" [label=\"biolink:located_in (2)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:non_covalently_bound_to* (7)\"]; \t\"PR\" -> \"CGNC\" [label=\"biolink:has_gene_template* (545)\"]; \t\"EcoGene\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (4046)\"]; \t\"PR\" -> \"MOD\" [label=\"biolink:has_part (5385)\"]; \t\"PR\" -> \"MOD\" [label=\"biolink:has_component* (5)\"]; \t\"PR\" -> \"UniProtKB\" [label=\"biolink:same_as (170034)\"]; \t\"PomBase\" -> \"SO\" [label=\"biolink:subClassOf (5124)\"]; \t\"WormBase\" -> \"SO\" [label=\"biolink:subClassOf (4518)\"]; \t\"PR\" -> \"EnsembleBacteria\" [label=\"biolink:has_gene_template* (984)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:lacks_part* (3181)\"]; \t\"CHEBI\" -> \"PR\" [label=\"biolink:subClassOf (21)\"]; \t\"PR\" -> \"MOD\" [label=\"biolink:subClassOf (3)\"]; \t\"PR\" -> \"RGD\" [label=\"biolink:has_gene_template* (8136)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:subClassOf (3)\"]; \t\"PR\" -> \"MGI\" [label=\"biolink:has_gene_template* (16873)\"]; \t\"PR\" -> \"CL\" [label=\"biolink:part_of (9)\"]; \t\"SO\" -> \"BFO\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"FlyBase\" [label=\"biolink:has_gene_template* (3965)\"]; \t\"EnsemblGene\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (278)\"]; \t\"TAIR\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (15986)\"]; \t\"PR\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (178406)\"]; \t\"CGNC\" -> \"SO\" [label=\"biolink:subClassOf (545)\"]; \t\"dictyBase\" -> \"SO\" [label=\"biolink:subClassOf (4545)\"]; \t\"NCBIGene\" -> \"SO\" [label=\"biolink:subClassOf (5379)\"]; \t\"BFO\" -> \"BFO\" [label=\"biolink:subClassOf (2)\"]; \t\"EnsembleBacteria\" -> \"SO\" [label=\"biolink:subClassOf (984)\"]; \t\"Ensembl\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (138)\"]; \t\"PR\" -> \"PomBase\" [label=\"biolink:has_gene_template* (5172)\"]; \t\"PR\" -> \"dictyBase\" [label=\"biolink:has_gene_template* (4545)\"]; \t\"FlyBase\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (3965)\"]; \t\"OBI\" -> \"BFO\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:part_of (9)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:capable_of (25)\"]; \t\"HGNC\" -> \"SO\" [label=\"biolink:subClassOf (19818)\"]; \t\"PR\" -> \"SGD\" [label=\"biolink:has_gene_template* (5940)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:has_part (153)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:has_component* (1491)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:subClassOf (339987)\"]; \t\"MOD\" -> \"MOD\" [label=\"biolink:subClassOf (152)\"]; \t\"PR\" -> \"NCBIGene\" [label=\"biolink:has_gene_template* (5456)\"]; \t\"EcoGene\" -> \"SO\" [label=\"biolink:subClassOf (4046)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:lacks_part* (3248)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:participates_in (3)\"]; \t\"SGD\" -> \"SO\" [label=\"biolink:subClassOf (5938)\"]; \t\"TAIR\" -> \"SO\" [label=\"biolink:subClassOf (15986)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:output_of* (808)\"]; \t\"MGI\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (16873)\"]; \t\"CHEBI\" -> \"BFO\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"WormBase\" [label=\"biolink:has_gene_template* (4518)\"]; \t\"WormBase\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (4518)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:has_gene_template* (44)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:subClassOf (36)\"]; \t\"EnsemblGene\" -> \"SO\" [label=\"biolink:subClassOf (278)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:derives_from (57)\"]; \t\"RGD\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (8136)\"]; \t\"MOD\" -> \"PR\" [label=\"biolink:subClassOf (62)\"]; \t\"PomBase\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (5124)\"]; \t\"dictyBase\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (4545)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:has_part (6)\"]; \t\"FlyBase\" -> \"SO\" [label=\"biolink:subClassOf (3965)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:subClassOf (45)\"]; \t\"HGNC\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (19818)\"]; \t\"SO\" -> \"PR\" [label=\"biolink:subClassOf (3)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:subClassOf (382)\"]; \t\"PR\" -> \"BFO\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"ZFIN\" [label=\"biolink:has_gene_template* (3339)\"]; \t\"CGNC\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (545)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:subClassOf (131)\"]; \t\"GO\" -> \"BFO\" [label=\"biolink:subClassOf (2)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:has_part (2)\"]; \t\"PR\" -> \"Ensembl\" [label=\"biolink:has_gene_template* (138)\"]; \t\"ZFIN\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (3339)\"]; \t\"EnsembleBacteria\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (984)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"biolink:subClassOf (686)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:has_component* (123)\"]; \t\"PR\" -> \"MOD\" [label=\"biolink:lacks_part* (48)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:subClassOf (24)\"]; \t\"ZFIN\" -> \"SO\" [label=\"biolink:subClassOf (3339)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:part_of (1)\"]; \t\"PR\" -> \"HGNC\" [label=\"biolink:has_gene_template* (19818)\"]; \t\"Ensembl\" -> \"SO\" [label=\"biolink:subClassOf (138)\"]; \t\"MGI\" -> \"SO\" [label=\"biolink:subClassOf (16873)\"]; \t\"NCBIGene\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (5379)\"]; \t\"SGD\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (5938)\"]; \t\"RGD\" -> \"SO\" [label=\"biolink:subClassOf (8136)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:has_gene_template* (1)\"]; \t\"PR\" -> \"EcoGene\" [label=\"biolink:has_gene_template* (4047)\"]; \t\"NCBITaxon\" -> \"OBI\" [label=\"biolink:subClassOf (4)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:has_quality* (1)\"]; \t\"PR\" -> \"TAIR\" [label=\"biolink:has_gene_template* (15989)\"]; \t\"PR\" -> \"EnsemblGene\" [label=\"biolink:has_gene_template* (278)\"]; }';\n  var data = vis.parseDOTNetwork(dot);\n  var options = {\n    layout: {\n        hierarchical: {\n            direction: \"LR\"\n        }\n    },\n    physics: {\n      hierarchicalRepulsion: {\n        avoidOverlap: 10\n      }\n    },\n    dragNodes: 'true',\n    hideEdgesOnDrag: 'true',\n    hideNodesOnDrag: 'true'\n  };\n  var network = new vis.Network(container, data, options);\n</script>\n</html>\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/pr-owl/pr-owl-stats.txt",
    "content": "predicates: 15\ncategories: 11\nconcepts: 486,322\nedges: 1,003,564\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/pr-owl/pr-owl-subject_predicate_object_count.tsv",
    "content": "subject CURIE prefix\tobject CURIE prefix\tpredicate\tedge count\nPR\tGO\tbiolink:located_in\t2\nPR\tCHEBI\tbiolink:non_covalently_bound_to*\t7\nPR\tCGNC\tbiolink:has_gene_template*\t545\nEcoGene\tNCBITaxon\tbiolink:in_taxon\t4046\nPR\tMOD\tbiolink:has_part\t5385\nPR\tMOD\tbiolink:has_component*\t5\nPR\tUniProtKB\tbiolink:same_as\t170034\nPomBase\tSO\tbiolink:subClassOf\t5124\nWormBase\tSO\tbiolink:subClassOf\t4518\nPR\tEnsembleBacteria\tbiolink:has_gene_template*\t984\nPR\tPR\tbiolink:lacks_part*\t3181\nCHEBI\tPR\tbiolink:subClassOf\t21\nPR\tMOD\tbiolink:subClassOf\t3\nPR\tRGD\tbiolink:has_gene_template*\t8136\nSO\tSO\tbiolink:subClassOf\t3\nPR\tMGI\tbiolink:has_gene_template*\t16873\nPR\tCL\tbiolink:part_of\t9\nSO\tBFO\tbiolink:subClassOf\t1\nPR\tFlyBase\tbiolink:has_gene_template*\t3965\nEnsemblGene\tNCBITaxon\tbiolink:in_taxon\t278\nTAIR\tNCBITaxon\tbiolink:in_taxon\t15986\nPR\tNCBITaxon\tbiolink:in_taxon\t178406\nCGNC\tSO\tbiolink:subClassOf\t545\ndictyBase\tSO\tbiolink:subClassOf\t4545\nNCBIGene\tSO\tbiolink:subClassOf\t5379\nBFO\tBFO\tbiolink:subClassOf\t2\nEnsembleBacteria\tSO\tbiolink:subClassOf\t984\nEnsembl\tNCBITaxon\tbiolink:in_taxon\t138\nPR\tPomBase\tbiolink:has_gene_template*\t5172\nPR\tdictyBase\tbiolink:has_gene_template*\t4545\nFlyBase\tNCBITaxon\tbiolink:in_taxon\t3965\nOBI\tBFO\tbiolink:subClassOf\t1\nPR\tGO\tbiolink:part_of\t9\nPR\tGO\tbiolink:capable_of\t25\nHGNC\tSO\tbiolink:subClassOf\t19818\nPR\tSGD\tbiolink:has_gene_template*\t5940\nPR\tPR\tbiolink:has_part\t153\nPR\tPR\tbiolink:has_component*\t1491\nCL\tCL\tbiolink:subClassOf\t1\nPR\tPR\tbiolink:subClassOf\t339987\nMOD\tMOD\tbiolink:subClassOf\t152\nPR\tNCBIGene\tbiolink:has_gene_template*\t5456\nEcoGene\tSO\tbiolink:subClassOf\t4046\nPR\tSO\tbiolink:lacks_part*\t3248\nPR\tGO\tbiolink:participates_in\t3\nSGD\tSO\tbiolink:subClassOf\t5938\nTAIR\tSO\tbiolink:subClassOf\t15986\nPR\tGO\tbiolink:output_of*\t808\nMGI\tNCBITaxon\tbiolink:in_taxon\t16873\nCHEBI\tBFO\tbiolink:subClassOf\t1\nPR\tWormBase\tbiolink:has_gene_template*\t4518\nWormBase\tNCBITaxon\tbiolink:in_taxon\t4518\nPR\tPR\tbiolink:has_gene_template*\t44\nCHEBI\tCHEBI\tbiolink:subClassOf\t36\nEnsemblGene\tSO\tbiolink:subClassOf\t278\nPR\tPR\tbiolink:derives_from\t57\nRGD\tNCBITaxon\tbiolink:in_taxon\t8136\nMOD\tPR\tbiolink:subClassOf\t62\nPomBase\tNCBITaxon\tbiolink:in_taxon\t5124\ndictyBase\tNCBITaxon\tbiolink:in_taxon\t4545\nPR\tSO\tbiolink:has_part\t6\nFlyBase\tSO\tbiolink:subClassOf\t3965\nPR\tSO\tbiolink:subClassOf\t45\nHGNC\tNCBITaxon\tbiolink:in_taxon\t19818\nSO\tPR\tbiolink:subClassOf\t3\nPR\tGO\tbiolink:subClassOf\t382\nPR\tBFO\tbiolink:subClassOf\t1\nPR\tZFIN\tbiolink:has_gene_template*\t3339\nCGNC\tNCBITaxon\tbiolink:in_taxon\t545\nGO\tGO\tbiolink:subClassOf\t131\nGO\tBFO\tbiolink:subClassOf\t2\nPR\tCHEBI\tbiolink:has_part\t2\nPR\tEnsembl\tbiolink:has_gene_template*\t138\nZFIN\tNCBITaxon\tbiolink:in_taxon\t3339\nEnsembleBacteria\tNCBITaxon\tbiolink:in_taxon\t984\nNCBITaxon\tNCBITaxon\tbiolink:subClassOf\t686\nPR\tCHEBI\tbiolink:has_component*\t123\nPR\tMOD\tbiolink:lacks_part*\t48\nPR\tCHEBI\tbiolink:subClassOf\t24\nZFIN\tSO\tbiolink:subClassOf\t3339\nPR\tPR\tbiolink:part_of\t1\nPR\tHGNC\tbiolink:has_gene_template*\t19818\nEnsembl\tSO\tbiolink:subClassOf\t138\nMGI\tSO\tbiolink:subClassOf\t16873\nNCBIGene\tNCBITaxon\tbiolink:in_taxon\t5379\nSGD\tNCBITaxon\tbiolink:in_taxon\t5938\nRGD\tSO\tbiolink:subClassOf\t8136\nPR\tSO\tbiolink:has_gene_template*\t1\nPR\tEcoGene\tbiolink:has_gene_template*\t4047\nNCBITaxon\tOBI\tbiolink:subClassOf\t4\nSO\tSO\tbiolink:has_quality*\t1\nPR\tTAIR\tbiolink:has_gene_template*\t15989\nPR\tEnsemblGene\tbiolink:has_gene_template*\t278\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/pr-owl/pr-owl.dot",
    "content": "digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"PR\" -> \"GO\" [label=\"biolink:located_in (2)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:non_covalently_bound_to* (7)\"]; \t\"PR\" -> \"CGNC\" [label=\"biolink:has_gene_template* (545)\"]; \t\"EcoGene\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (4046)\"]; \t\"PR\" -> \"MOD\" [label=\"biolink:has_part (5385)\"]; \t\"PR\" -> \"MOD\" [label=\"biolink:has_component* (5)\"]; \t\"PR\" -> \"UniProtKB\" [label=\"biolink:same_as (170034)\"]; \t\"PomBase\" -> \"SO\" [label=\"biolink:subClassOf (5124)\"]; \t\"WormBase\" -> \"SO\" [label=\"biolink:subClassOf (4518)\"]; \t\"PR\" -> \"EnsembleBacteria\" [label=\"biolink:has_gene_template* (984)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:lacks_part* (3181)\"]; \t\"CHEBI\" -> \"PR\" [label=\"biolink:subClassOf (21)\"]; \t\"PR\" -> \"MOD\" [label=\"biolink:subClassOf (3)\"]; \t\"PR\" -> \"RGD\" [label=\"biolink:has_gene_template* (8136)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:subClassOf (3)\"]; \t\"PR\" -> \"MGI\" [label=\"biolink:has_gene_template* (16873)\"]; \t\"PR\" -> \"CL\" [label=\"biolink:part_of (9)\"]; \t\"SO\" -> \"BFO\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"FlyBase\" [label=\"biolink:has_gene_template* (3965)\"]; \t\"EnsemblGene\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (278)\"]; \t\"TAIR\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (15986)\"]; \t\"PR\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (178406)\"]; \t\"CGNC\" -> \"SO\" [label=\"biolink:subClassOf (545)\"]; \t\"dictyBase\" -> \"SO\" [label=\"biolink:subClassOf (4545)\"]; \t\"NCBIGene\" -> \"SO\" [label=\"biolink:subClassOf (5379)\"]; \t\"BFO\" -> \"BFO\" [label=\"biolink:subClassOf (2)\"]; \t\"EnsembleBacteria\" -> \"SO\" [label=\"biolink:subClassOf (984)\"]; \t\"Ensembl\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (138)\"]; \t\"PR\" -> \"PomBase\" [label=\"biolink:has_gene_template* (5172)\"]; \t\"PR\" -> \"dictyBase\" [label=\"biolink:has_gene_template* (4545)\"]; \t\"FlyBase\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (3965)\"]; \t\"OBI\" -> \"BFO\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:part_of (9)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:capable_of (25)\"]; \t\"HGNC\" -> \"SO\" [label=\"biolink:subClassOf (19818)\"]; \t\"PR\" -> \"SGD\" [label=\"biolink:has_gene_template* (5940)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:has_part (153)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:has_component* (1491)\"]; \t\"CL\" -> \"CL\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:subClassOf (339987)\"]; \t\"MOD\" -> \"MOD\" [label=\"biolink:subClassOf (152)\"]; \t\"PR\" -> \"NCBIGene\" [label=\"biolink:has_gene_template* (5456)\"]; \t\"EcoGene\" -> \"SO\" [label=\"biolink:subClassOf (4046)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:lacks_part* (3248)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:participates_in (3)\"]; \t\"SGD\" -> \"SO\" [label=\"biolink:subClassOf (5938)\"]; \t\"TAIR\" -> \"SO\" [label=\"biolink:subClassOf (15986)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:output_of* (808)\"]; \t\"MGI\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (16873)\"]; \t\"CHEBI\" -> \"BFO\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"WormBase\" [label=\"biolink:has_gene_template* (4518)\"]; \t\"WormBase\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (4518)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:has_gene_template* (44)\"]; \t\"CHEBI\" -> \"CHEBI\" [label=\"biolink:subClassOf (36)\"]; \t\"EnsemblGene\" -> \"SO\" [label=\"biolink:subClassOf (278)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:derives_from (57)\"]; \t\"RGD\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (8136)\"]; \t\"MOD\" -> \"PR\" [label=\"biolink:subClassOf (62)\"]; \t\"PomBase\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (5124)\"]; \t\"dictyBase\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (4545)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:has_part (6)\"]; \t\"FlyBase\" -> \"SO\" [label=\"biolink:subClassOf (3965)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:subClassOf (45)\"]; \t\"HGNC\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (19818)\"]; \t\"SO\" -> \"PR\" [label=\"biolink:subClassOf (3)\"]; \t\"PR\" -> \"GO\" [label=\"biolink:subClassOf (382)\"]; \t\"PR\" -> \"BFO\" [label=\"biolink:subClassOf (1)\"]; \t\"PR\" -> \"ZFIN\" [label=\"biolink:has_gene_template* (3339)\"]; \t\"CGNC\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (545)\"]; \t\"GO\" -> \"GO\" [label=\"biolink:subClassOf (131)\"]; \t\"GO\" -> \"BFO\" [label=\"biolink:subClassOf (2)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:has_part (2)\"]; \t\"PR\" -> \"Ensembl\" [label=\"biolink:has_gene_template* (138)\"]; \t\"ZFIN\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (3339)\"]; \t\"EnsembleBacteria\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (984)\"]; \t\"NCBITaxon\" -> \"NCBITaxon\" [label=\"biolink:subClassOf (686)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:has_component* (123)\"]; \t\"PR\" -> \"MOD\" [label=\"biolink:lacks_part* (48)\"]; \t\"PR\" -> \"CHEBI\" [label=\"biolink:subClassOf (24)\"]; \t\"ZFIN\" -> \"SO\" [label=\"biolink:subClassOf (3339)\"]; \t\"PR\" -> \"PR\" [label=\"biolink:part_of (1)\"]; \t\"PR\" -> \"HGNC\" [label=\"biolink:has_gene_template* (19818)\"]; \t\"Ensembl\" -> \"SO\" [label=\"biolink:subClassOf (138)\"]; \t\"MGI\" -> \"SO\" [label=\"biolink:subClassOf (16873)\"]; \t\"NCBIGene\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (5379)\"]; \t\"SGD\" -> \"NCBITaxon\" [label=\"biolink:in_taxon (5938)\"]; \t\"RGD\" -> \"SO\" [label=\"biolink:subClassOf (8136)\"]; \t\"PR\" -> \"SO\" [label=\"biolink:has_gene_template* (1)\"]; \t\"PR\" -> \"EcoGene\" [label=\"biolink:has_gene_template* (4047)\"]; \t\"NCBITaxon\" -> \"OBI\" [label=\"biolink:subClassOf (4)\"]; \t\"SO\" -> \"SO\" [label=\"biolink:has_quality* (1)\"]; \t\"PR\" -> \"TAIR\" [label=\"biolink:has_gene_template* (15989)\"]; \t\"PR\" -> \"EnsemblGene\" [label=\"biolink:has_gene_template* (278)\"]; }"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/textminingprovider/textminingprovider-map.html",
    "content": "<html>\n<head>\n  <title>TextMining Provider PR-OWL KG Map</title>\n  <script src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"></script>\n</head>\n\n<div id=\"mynetwork\"></div>\n<script type=\"text/javascript\">\n    var container = document.getElementById('mynetwork');\n    var dot = 'digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"CHEBI\" -> \"PR\" [label=\"biolink:positively_regulates_entity_to_entity (41563)\"]; \t\"CHEBI\" -> \"PR\" [label=\"biolink:negatively_regulates_entity_to_entity (46235)\"]; }';\n  var data = vis.parseDOTNetwork(dot);\n  var options = {\n    layout: {\n        hierarchical: {\n            direction: \"LR\"\n        }\n    },\n    physics: {\n      hierarchicalRepulsion: {\n        avoidOverlap: 10\n      }\n    },\n    dragNodes: 'true',\n    hideEdgesOnDrag: 'true',\n    hideNodesOnDrag: 'true'\n  };\n  var network = new vis.Network(container, data, options);\n</script>\n</html>\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/textminingprovider/textminingprovider-stats.txt",
    "content": "predicates: 2\ncategories: 3\nconcepts: 188,342\nedges: 87,798\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/textminingprovider/textminingprovider-subject_predicate_object_count.tsv",
    "content": "subject CURIE prefix\tobject CURIE prefix\tpredicate\tedge count\nCHEBI\tPR\tbiolink:positively_regulates_entity_to_entity\t41563\nCHEBI\tPR\tbiolink:negatively_regulates_entity_to_entity\t46235\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg-maps/textminingprovider/textminingprovider/textminingprovider.dot",
    "content": "digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";\t\"CHEBI\" -> \"PR\" [label=\"biolink:positively_regulates_entity_to_entity (41563)\"]; \t\"CHEBI\" -> \"PR\" [label=\"biolink:negatively_regulates_entity_to_entity (46235)\"]; }"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/kg_statistics_table_generator.R",
    "content": "### LIBRARIES\nlibrary(gt) \nlibrary(gtsummary)\nlibrary(lubridate)\nlibrary(tidyverse)\nlibrary(stringr)\nlibrary(readr)\n\nco_occur_kg <- read_tsv(\n  # tsv file-path-here\n)\n\nco_occur_kg <- co_occur_kg %>%\n  arrange(desc(`edge count`)) %>%\n  mutate(`Subject CURIE Prefix` = `subject CURIE prefix`, \n         `Object CURIE Prefix` = `object CURIE prefix`, \n         `Predicate` = predicate, \n         `Edge Count` = `edge count`) %>% \n  select(`Subject CURIE Prefix`:`Edge Count`)\n  \n\nco_occur_kg %>%\n  gt() %>%\n  tab_header(title = \"Textmining Provider Co-occurrence Knowledge Graph Statistics\") %>%\n  gtsave(\n    # file-path-here, extension .pdf\n  )\n\n\n\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/rtx2-KG-query.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"../../../medikanren/pieces-parts/query.rkt\"         \n         racket/engine)\n\n;; \"MONDO:0004989\" = carcinoma of the breast\n;; hand this off to molepro for drug->disease query\n;; all genes from gene->disease query in rtx2 can be handed off to molepro \n(define test-ls\n  '(\"MONDO:0004989\"))\n\n#|\n    \"MONDO:0004989\"\n    \"MONDO:0021100\"\n    \"NCIT:C4872\"\n\n    \"MESH:D001943\"\n|#\n\n(define test-query/gene->disease\n  (time\n   (map (lambda (curie) \n            (query/graph\n             ((S #f)\n              (O curie))\n             ((S->O (list\n                     \"gene_mapped_to_disease\"\n                     \"gene_involved_in_pathogenesis_of_disease\"\n                     \"gene_associated_with_disease\"\n                     \"associated_with_disease\"\n                     \"INVERTED:disease_has_basis_in_dysfunction_of\"\n                     )) (edge/db? #f))\n             (S S->O O)))       \n       test-ls)))\n\n(define test-query/edges:gene->disease\n  (map (lambda (edge) (edges/query edge 'S->O))\n       test-query/gene->disease))\n\n(define gene->PR\n  (map\n   (lambda (edge-ls)\n     (map (lambda (edge)\n            (let ((gene-curie (concept->curie (edge->subject edge))))\n              (printf \"~a\" gene-curie)\n              (query/graph\n               ((S gene-curie)\n                (O #f))\n               ((S->O (list \"INVERTED:has_gene_template\")) (edge/db? #f))\n               (S S->O O))))\n          edge-ls))\n   test-query/edges:gene->disease))\n\n\n(map (lambda (edge) (edges/query edge 'S->O))\n     gene->PR)\n\n;; working query \n(define test-query/drug->disease\n  (time\n   (map (lambda (curie) \n            (query/graph\n             ((S #f)\n              (O curie))\n             ((S->O (list \"treats\")) (edge/db? #f))\n             (S S->O O)))       \n       test-ls)))\n\n(define test-query/test-query/drug->disease\n  (map (lambda (edge) (edges/query edge 'S->O))\n       test-query/drug->disease))\n\n\n"
  },
  {
    "path": "contrib/medikanren/2020_NCATS_relay/textmining-KG-query.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"../../../medikanren/pieces-parts/query.rkt\"         \n         racket/engine)\n\n#|NOTES FOR SYNONYMIZATION CACHE |#\n#|\nSafe Predicates to synonymize with\n-   rtx2_2020_09_16 (487 . \"equivalent_to\")\n-   rtx2_2020_09_16 (228 . \"gene_encodes_gene_product\")\n-   rtx2_2020_09_16 (737 . \"has_gene_product\")\n-   pr-owl (2 . \"biolink:same_as\")\n-   pr-owl (3 . \"biolink:has_gene_template*\")\n|#\n\n#|test queries|#\n;; \"biolink:positively_regulates_entity_to_entity\"\n;; \"biolink:negatively_regulates_entity_to_entity\"\n\n(define predicate:neg-reg/text-mining\n  (list \"biolink:negatively_regulates_entity_to_entity\"))\n\n(define predicate:pos-reg/text-mining\n  (list \"biolink:positively_regulates_entity_to_entity\"))\n\n(define predicate:co-occur/text-mining\n  (list \"biolink:related_to\"))\n\n(define predicate:PR->HGNC\n  '(\"biolink:has_gene_template*\"))\n\n;; breast cancer HP terms\n;; co-occurence KG requires HP terms for Disease->Gene Associations\n(define test-ls\n  '(\"HP:0006625\"\n    \"HP:0100013\"\n    \"HP:0100783\"))\n\n;; - get co-occurs edges HP --> PR\n;; - transform PR: to HGNC with PR: --biolink_has_gene_template*--> HGNC\n\n(define gene/gene-product '(\"biolink:GeneOrGeneProduct\"))\n\n(define drug '(\"biolink:ChemicalSubstance\"))\n\n;; HP --> PR query\n(define test-query/disease->gene\n  (map (lambda (curie)\n            (query/graph\n             ((S curie)\n              (O gene/gene-product))\n             ((S->O #f) (edge/db? #f))\n             (S S->O O)))       \n       test-ls\n       ))\n\n;; HP --> PR edges\n(define test-query/edges:disease->gene\n  (map (lambda (edge) (edges/query edge 'S->O)) test-query/disease->gene))\n\n;; scrape object out of HP->PR edges, and requery PR codes in the PR-OWL KG for HGNCs\n\n(define x\n  (map\n   (lambda (edge-ls)\n     (map (lambda (edge)\n            (let ((PR-curie (concept->curie (edge->object edge))))\n              (printf \"~a\\n\" PR-curie)\n              #;(filter (lambda (object) (string-)))\n              (curies/query\n                (query/graph\n                 ((S PR-curie)\n                  (O #f))\n                 ((S->O '(\"biolink:in_taxon\")) (edge/db? #f))\n                 (S S->O O))\n                'O)))\n          edge-ls))\n   test-query/edges:disease->gene)) \n\n(edges/query\n (query/graph\n  ((S \"PR:P30042\")\n   (O '(\"biolink:OrganismTaxon\")))\n  ((S->O #f) (edge/db? #f))\n  (S S->O O)) 'S->O) \n\n\n\n\n\n\n\n\n\n\n#|\n;; lots of noise/non-specific drug findings in these edges \n(define test-query/drug->disease\n  (map (lambda (curie)\n            (query/graph\n             ((S drug)\n              (O curie))\n             ((S->O #f) (edge/db? #f))\n             (S S->O O)))\n       test-ls\n       ))\n\n;; CHEBI -> PR edges \n(define test-query/edges:drug->disease\n  (map (lambda (edge) (edges/query edge 'S->O)) test-query/drug->disease))\n|#\n\n\n\n\n\n\n\n\n\n#|\n\n|#\n\n;; X co-occurs--> breast-cancer MONDO\n#;(edges/query\n (query/graph\n  ((X gene/protein-concept?)\n   (TC \"MONDO:0004989\"))\n  ((TC->X (list \"biolink:related_to\")))\n  (TC TC->X X))\n 'TC->X)\n\n#|\nco-occurence breast cancer disease concepts\n\n|#\n\n\n\n#|\nminikanren queries for edge types\n(time\n (run 1 (eid subject object)\n  (fresh (eprops)\n    (edgeo\n     `(rtx2_2020_09_16 ,eid ,subject ,object (228 . \"gene_encodes_gene_product\") ,eprops)))))\n\n|#\n\n"
  },
  {
    "path": "contrib/medikanren/README.md",
    "content": "# Synopsis\n\nContributions for medikanren version 1 go in this directory.\n\n"
  },
  {
    "path": "contrib/medikanren/X-Y-C.rkt",
    "content": ";;; X-Y-C queries\n;;; unknown-unknown-known concepts\n;;;\n;;; example:\n;;;\n;;; X - increases - G1 - increases - G2\n;;;\n;;; where G1 and G2 are genes.\n;;;\n;;; Also want to report what other things that G1 increases (as part\n;;; of tox info)\n\n\n;;; Hmm--need to be smarter here!\n;;;\n;;; Suppose we want to increase expression of gene G2, and that genes\n;;; A, B, and C increase expression of G2, and genes D, E, and F\n;;; decrease expression of G2.  It may be that a drug D increases\n;;; expression of A, but decreases expression of B and C, and\n;;; increases expression of D, E, and F!  Since we don't have\n;;; quantitative data, we have to assume this would be\n;;; counter-productive!\n;;;\n;;; So, really, we need to calculate the effects of D on *all* genes\n;;; known to regulate G2, use this information for ranking, and\n;;; display the info as part of the output.  And, of course, we need\n;;; to consider the strength of the evidence for all of these claims.\n\n;;; Also, the approach I'm taking with\n;;; G1-G2-edges-without-duplicate-dbname/scui seems wrong.  Really\n;;; need to separate evidence of G1 increasing G2 from evidence that D\n;;; increases G1.  After all, the evidence that G1 increases G2 can\n;;; already be complex: should be calculating all the ways in which G1\n;;; positively or negatively affects G2, weighing the evidence, etc.,\n;;; and producing a full mini-report just for the 'G1 increases G2'\n;;; claim.  Then the user can pick a G2, and get a full mini-report\n;;; for each D that interacts with G2.  This is probably easier in a\n;;; GUI or custom text interface than in the REPL.\n\n;;; And still need to create the 'tox report' showing what other genes\n;;; G1 affects, what other genes D affects, etc.  Probably also want\n;;; to list what diseases/symptoms both G1 and D are associated with,\n;;; ranked by evidence.\n\n;;; Also, given how noisy semmed is, prolly want to cross-reference\n;;; the genes against the NLM list of genes/pubmed ids to flag/filter\n;;; those associations that are bogus, picked up through bad NLP.\n;;; May be best to incorporate this list as an actual relation we\n;;; can query over, although we might need to index it as well.\n;;; This would be the most consistent and flexible approach, though,\n;;; as opposed to putting the info in a hash table or whatever.\n\n;;; Example problems:\n;;;\n;;; X that downregulates GMPPB resulting in a decrease of GMPPA expression\n;;; X that increases KLF4 in order to compensate for a decrease in SOX5.\n;;; X that increases the expression of the CDKL5 gene to increase CDKL5 protein expression\n\n#lang racket\n\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"mk-db.rkt\")\n  (all-from-out \"common.rkt\")\n  (all-defined-out))\n\n(require\n  \"mk.rkt\"\n  \"db.rkt\"\n  \"mk-db.rkt\"\n  \"common.rkt\"\n  (except-in racket/match ==)\n  (only-in srfi/1 iota))\n\n(define X-Y-C_VERSION_STRING \"X-Y-C Tool 0.1.0\")\n\n(define argv (current-command-line-arguments))\n(define argv-optional '#(CONFIG_FILE))\n\n(when (not (<= (vector-length argv) (vector-length argv-optional)))\n  (error \"optional arguments ~s; given ~s\" argv-optional argv))\n\n(displayln \"Starting X-Y-C tool...\")\n(displayln X-Y-C_VERSION_STRING)\n;; Loading will occur at first use if not explicitly forced like this.\n(load-config #t (and (<= 1 (vector-length argv)) (vector-ref argv 0)))\n(load-databases #t)\n\n;;; Decreases/increases predicate names\n(define DECREASES_PREDICATE_NAMES (config-ref 'decreases-predicate-names))\n(define INCREASES_PREDICATE_NAMES (config-ref 'increases-predicate-names))\n\n\n\n(define G-G-increases-predicate-names\n  '(\"positively_regulates\"\n    ;; \"causes\"\n    ;; \"produces\"  ;;; maybe??\n    ;; \"causes_condition\"\n    ;; \"causally_related_to\"\n    ;; \"contributes_to\"\n    ;; \"causes_adverse_event\"\n    ;; \"gene_associated_with_condition\"\n    ;; \"gene_mutations_contribute_to\"\n    ;; \"disease_to_gene_association\"\n    \"increases_activity_of\"\n    \"increases_expression_of\"\n    \"increases_molecular_interaction\"\n    \"increases_response_to\"\n    \"increases_secretion_of\"\n    \"increases_stability_of\"\n    \"increases_synthesis_of\"\n    \"increases_transport_of\"\n    \"increases_uptake_of\"\n    \"decreases_degradation_of\"\n    \"posetively_regulates\" ;;; robokop typo??\n    ;; \"positively_regulates__entity_to_entity\"\n    ;; \"increases_molecular_modification_of\"\n    ;; \"increases_localization_of\"\n    ;; \"increases_splicing_of\"\n    ;; \"decreases_mutation_rate_of\"\n    ;; \"predisposes\"\n    ;; \"decreases_metabolic_processing_of\"\n    ))\n\n(define D-G-increases-predicate-names\n  '(\"positively_regulates\"\n    ;; \"causes\"\n    ;; \"produces\"  ;;; maybe??\n    ;; \"causes_condition\"\n    ;; \"causally_related_to\"\n    ;; \"contributes_to\"\n    ;; \"causes_adverse_event\"\n    ;; \"gene_associated_with_condition\"\n    ;; \"gene_mutations_contribute_to\"\n    ;; \"disease_to_gene_association\"\n    \"increases_activity_of\"\n    \"increases_expression_of\"\n    \"increases_molecular_interaction\"\n    \"increases_response_to\"\n    \"increases_secretion_of\"\n    \"increases_stability_of\"\n    \"increases_synthesis_of\"\n    \"increases_transport_of\"\n    \"increases_uptake_of\"\n    \"decreases_degradation_of\"\n    \"posetively_regulates\" ;;; robokop typo??\n    ;; \"positively_regulates__entity_to_entity\"\n    ;; \"increases_molecular_modification_of\"\n    ;; \"increases_localization_of\"\n    ;; \"increases_splicing_of\"\n    ;; \"decreases_mutation_rate_of\"\n    ;; \"predisposes\"\n    ;; \"decreases_metabolic_processing_of\"\n    ))\n\n;;; X - increases - G1 - increases - G2\n\n\n\n#|\n;;; let's try NGLY1 as an example\n(define G2-concepts\n  '((semmed 141262 \"UMLS:C1425023\" \"NGLY1 gene\" (4 . \"gene\") ((\"umls_type_label\" . \"['Gene or Genome']\") (\"xrefs\" . \"['HGNC:HGNC:17646', 'OMIM:610661', 'MTH:NOCODE']\") (\"id\" . \"UMLS:C1425023\") (\"umls_type\" . \"['T028']\") (\"labels\" . \"['gene']\")))\n (robokop 22660 \"HGNC:17646\" \"NGLY1\" (0 . \"(\\\"named_thing\\\" \\\"gene\\\")\") ((\"locus_group\" . \"protein-coding gene\") (\"chromosome\" . \"3\") (\"location\" . \"3p24.2\") (\"taxon\" . \"9606\") (\"id\" . \"HGNC:17646\") (\"equivalent_identifiers\" . \"(\\\"UniProtKB:H0Y2P2\\\" \\\"ENSEMBL:ENSG00000151092\\\" \\\"UniProtKB:Q96IV0\\\" \\\"UniProtKB:C9JU75\\\" \\\"HGNC:17646\\\" \\\"NCBIGENE:55768\\\" \\\"UniProtKB:A0A0C4DFP4\\\")\")))\n (orange 16958 \"NCBIGene:55768\" \"NGLY1\" (6 . \"(\\\"gene\\\")\") ((\"iri\" . \"http://www.ncbi.nlm.nih.gov/gene/55768\") (\"synonym\" . \"(\\\"FLJ11005\\\" \\\"PNG1\\\" \\\"peptide-N(4)-(N-acetyl-beta-glucosaminyl)asparagine amidase\\\" \\\"Peptide-N-Glycanase 1, S. Cerevisiae, Homolog of\\\" \\\"N-GLYCANASE 1; NGLY1\\\" \\\"NGLY1\\\")\") (\"in_taxon\" . \"NCBITaxon:9606\") (\"description\" . \"N-glycanase 1\") (\"same_as\" . \"(\\\"ENSEMBL:ENSG00000151092\\\" \\\"HGNC:17646\\\" \\\"OMIM:610661\\\" \\\"Orphanet:406885\\\")\") (\"provided_by\" . \"(\\\"orphanet.ttl\\\" \\\"omim.ttl\\\")\") (\"id\" . \"NCBIGene:55768\")))))\n|#\n\n\n;;; let's try BRCA1 as an example\n(define G2-concepts\n  '((semmed 74686 \"UMLS:C0376571\" \"BRCA1 gene\" (4 . \"gene\") ((\"umls_type_label\" . \"['Gene or Genome']\") (\"xrefs\" . \"['NCI_NCI-HGNC:HGNC:1100', 'CHV:0000031821', 'PDQ:CDR0000043111', 'MESH:D019398', 'CSP:4005-0006', 'MTH:NOCODE', 'LNC:LP36227-4', 'NCI:C17965', 'LNC:LP19666-4', 'OMIM:113705', 'HGNC:HGNC:1100']\") (\"id\" . \"UMLS:C0376571\") (\"umls_type\" . \"['T028']\") (\"labels\" . \"['gene']\")))\n    (robokop 26 \"HGNC:1100\" \"BRCA1\" (0 . \"(\\\"named_thing\\\" \\\"gene\\\")\") ((\"locus_group\" . \"protein-coding gene\") (\"chromosome\" . \"17\") (\"taxon\" . \"9606\") (\"gene_family\" . \"(\\\"Ring finger proteins\\\" \\\"FA complementation groups\\\" \\\"Protein phosphatase 1 regulatory subunits\\\" \\\"BRCA1 A complex\\\" \\\"BRCA1 B complex\\\" \\\"BRCA1 C complex\\\")\") (\"location\" . \"17q21.31\") (\"id\" . \"HGNC:1100\") (\"gene_family_id\" . \"(58 548 694 1328 1335 1336)\") (\"equivalent_identifiers\" . \"(\\\"UniProtKB:C9IZW4\\\" \\\"UniProtKB:E9PC22\\\" \\\"UniProtKB:A0A2R8Y7V5\\\" \\\"UniProtKB:H0Y8D8\\\" \\\"UniProtKB:E9PH68\\\" \\\"UniProtKB:K7EPC7\\\" \\\"UniProtKB:E7EQW4\\\" \\\"UniProtKB:H0Y881\\\" \\\"UniProtKB:E7EWN5\\\" \\\"UniProtKB:H0Y850\\\" \\\"UniProtKB:C6YB45\\\" \\\"UniProtKB:E7EUM2\\\" \\\"UniProtKB:A0A024R1V0\\\" \\\"HGNC:1100\\\" \\\"UniProtKB:A0A0U1RRA9\\\" \\\"UniProtKB:E7ENB7\\\" \\\"UniProtKB:K7EJW3\\\" \\\"UniProtKB:H0Y8B8\\\" \\\"UniProtKB:A0A2R8Y6Y9\\\" \\\"UniProtKB:Q5YLB2\\\" \\\"UniProtKB:P38398\\\" \\\"UniProtKB:B7ZA85\\\" \\\"UniProtKB:A0A0A0MSN1\\\" \\\"ENSEMBL:ENSG00000012048\\\" \\\"UniProtKB:Q3B891\\\" \\\"UniProtKB:G1UI37\\\" \\\"NCBIGENE:672\\\" \\\"UniProtKB:A0A2R8Y587\\\")\")))\n    (orange 32553 \"NCBIGene:672\" \"BRCA1\" (6 . \"(\\\"gene\\\")\") ((\"iri\" . \"http://www.ncbi.nlm.nih.gov/gene/672\") (\"synonym\" . \"(\\\"BRCA1/BRCA2-containing complex, subunit 1\\\" \\\"Fanconi anemia, complementation group S\\\" \\\"protein phosphatase 1, regulatory subunit 53\\\" \\\"BRCC1\\\" \\\"FANCS\\\" \\\"PPP1R53\\\" \\\"RNF53\\\" \\\"BREAST CANCER 1 GENE; BRCA1\\\" \\\"BRCA1\\\")\") (\"in_taxon\" . \"NCBITaxon:9606\") (\"same_as\" . \"(\\\"ENSEMBL:ENSG00000012048\\\" \\\"HGNC:1100\\\" \\\"OMIM:113705\\\" \\\"Orphanet:119068\\\")\") (\"provided_by\" . \"(\\\"orphanet.ttl\\\" \\\"omim.ttl\\\")\") (\"description\" . \"BRCA1, DNA repair associated\") (\"id\" . \"NCBIGene:672\")))))\n\n\n;;; Want to restrict to gene/protein/whatever\n;;;\n;;; This is pretty restrictive, and doesn't include 'rtx' (which seems\n;;; to use 'protein' instead of gene).\n(define (restrict-concept-to-gene dbname c)\n  (fresh (cid cui name catid cat props)\n    (== `(,cid ,cui ,name (,catid . ,cat) ,props) c)\n    (membero `(,dbname (,catid . ,cat))\n             `((semmed (4 . \"gene\"))\n               (robokop (0 . \"(\\\"named_thing\\\" \\\"gene\\\")\"))    \n               (orange (6 . \"(\\\"gene\\\")\"))))))\n\n;;; pretty restrictive!\n;;; what about orange?\n(define (restrict-concept-to-drug dbname c)\n  (fresh (cid cui name catid cat props)\n    (== `(,cid ,cui ,name (,catid . ,cat) ,props) c)\n    (membero `(,dbname (,catid . ,cat))\n             `((semmed (5 . \"chemical_substance\"))\n               (rtx (0 . \"chemical_substance\"))\n               (robokop (1 . \"(\\\"named_thing\\\" \\\"chemical_substance\\\")\"))))))\n\n;;; don't allow gene classes, such as \"Genes\", \"Tumor Suppressor Genes\", etc.\n(define (filter-out-bogus-genes dbname c)\n  (fresh (cid cui name catid cat props)\n    (== `(,cid ,cui ,name (,catid . ,cat) ,props) c)\n    (conde\n      ((== 'semmed dbname)\n       (=/= \"Genes\" name)\n       (=/= \"Homologous Gene\" name)\n       (=/= \"Tumor Suppressor Genes\" name))\n      ((=/= 'semmed dbname)))))\n\n#|\n;; seems like this might be a better/more general way to determine if\n;; a concept is really a class of concepts; alas, semmed's 'subclass_of'\n;; seems horrible:  A subclass_of B subclass_of A\n;;; So, not sure how to use this!\n(define (concept-has-subclass dbname c)\n  (not (null? (run 1 (o)\n                (fresh (dbname eid pid eprops e)\n                  (== 'semmed dbname) ;; how to handle others?\n                  (== `(,dbname ,eid ,c ,o (4 . \"subclass_of\") ,eprops) e)\n                  (edgeo e))))))\n|#\n\n#|\n;;; uh oh!!  sigh\n(time\n (concept-has-subclass\n  'semmed\n  '(74686\n    \"UMLS:C0376571\"\n    \"BRCA1 gene\"\n    (4 . \"gene\")\n    ((\"umls_type_label\" . \"['Gene or Genome']\")\n     (\"xrefs\" . \"['NCI_NCI-HGNC:HGNC:1100', 'CHV:0000031821', 'PDQ:CDR0000043111', 'MESH:D019398', 'CSP:4005-0006', 'MTH:NOCODE', 'LNC:LP36227-4', 'NCI:C17965', 'LNC:LP19666-4', 'OMIM:113705', 'HGNC:HGNC:1100']\")\n     (\"id\" . \"UMLS:C0376571\")\n     (\"umls_type\" . \"['T028']\")\n     (\"labels\" . \"['gene']\")))))\ncpu time: 1 real time: 3 gc time: 0\n#t\n\n(time\n  (concept-has-subclass\n    'semmed\n    '(17324\n      \"UMLS:C0017337\"\n      \"Genes\"\n      (4 . \"gene\")\n      ((\"umls_type_label\" . \"['Gene or Genome']\")\n       (\"xrefs\"\n        .\n        \"['CSP:1256-5501', 'NCI:C16612', 'LNC:LP32747-5', 'NCI_NCI-GLOSS:CDR0000045693', 'LNC:LP199195-1', 'NCI_CDISC:C16612', 'PDQ:CDR0000042941', 'SNMI:F-E0000', 'MESH:D005796', 'LCH_NW:sh91000344', 'NCI:TCGA', 'AOD:0000002944', 'SNOMEDCT_US:67271001', 'UWDA:74402', 'CHV:0000005419', 'HL7V3.0:GENE', 'FMA:74402', 'PSY:20820']\")\n       (\"id\" . \"UMLS:C0017337\")\n       (\"umls_type\" . \"['T028']\")\n       (\"labels\" . \"['gene']\")))))\n;; cpu time: 3 real time: 3 gc time: 0\n;; #t\n\n(time\n (concept-has-subclass\n  'semmed\n  '(141262\n    \"UMLS:C1425023\"\n    \"NGLY1 gene\"\n    (4 . \"gene\")\n    ((\"umls_type_label\" . \"['Gene or Genome']\")\n     (\"xrefs\" . \"['HGNC:HGNC:17646', 'OMIM:610661', 'MTH:NOCODE']\")\n     (\"id\" . \"UMLS:C1425023\")\n     (\"umls_type\" . \"['T028']\")\n     (\"labels\" . \"['gene']\")))))\n;; cpu time: 1 real time: 2 gc time: 0\n;; #f\n\n(time\n (concept-has-subclass\n  'semmed\n  '(33093\n    \"UMLS:C0079427\"\n    \"Tumor Suppressor Genes\"\n    (4 . \"gene\")\n    ((\"umls_type_label\" . \"['Gene or Genome']\")\n     (\"xrefs\" . \"['SNOMEDCT_US:77864004', 'NCI_NCI-GLOSS:CDR0000046657', 'MESH:D016147', 'CHV:0000015171', 'MTH:NOCODE', 'SNMI:F-E00A0', 'NCI_NCI-GLOSS:CDR0000583866', 'SNOMEDCT_US:405842004', 'LCH_NW:sh90002154', 'OMIM:MTHU005882', 'NCI:C17362', 'CSP:1256-6400']\")\n     (\"id\" . \"UMLS:C0079427\")\n     (\"umls_type\" . \"['T028']\")\n     (\"labels\" . \"['gene']\")))))\n;; cpu time: 1 real time: 1 gc time: 0\n;; #t\n|#\n\n;;; Filter out \"Genes\", \"Tumor Suppressor Genes\", and other losers etc.\n;;; Or provide interface for hoomon to do so.\n;;;\n;;; Also, can end up with duplicate concepts/CUIs, due to different KGs and also different predicates;\n;;; be smart about this!!\n(define G1-G2-edges\n  (remove-duplicates\n   (run* (e)\n     (fresh (dbname eid G1 G2 pid pred eprops)\n       (== `(,dbname ,eid ,G1 ,G2 (,pid . ,pred) ,eprops) e)\n       ;; don't want G1 and G2 to be the same gene!\n       (=/= G1 G2)\n       (membero `(,dbname . ,G2) G2-concepts)\n       (edgeo e)\n       (membero pred G-G-increases-predicate-names)\n       (restrict-concept-to-gene dbname G1)\n       ;; should be configurable which concepts are \"bogus\"\n       (filter-out-bogus-genes dbname G1)))))\n\n#|\n(remove-duplicates\n (map\n  (lambda (e)\n    (match e\n      [`(,dbname ,eid\n                 (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n                 (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n                 (,pid . ,pred) ,eprops)\n       (list scui sname pred ocui oname (pubmed-URLs-from-edge e) dbname)]))\n  G1-G2-edges))\n|#\n\n;;; Can end up with duplicate concepts/CUIs, due to different KGs and also different predicates;\n;;; be smart about this!!\n(define G1-G2-edges-without-duplicate-dbname/scui\n  (let loop ([edges G1-G2-edges])\n    (match edges\n      ['() '()]\n      [`(,e . ,rest)\n       (match e\n         [`(,dbname ,eid\n                    (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n                    (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n                    (,pid . ,pred) ,eprops)\n          (let ((e^ (memf\n                     (lambda (e^)\n                       (match e^\n                         [`(,dbname^ ,eid^\n                                     (,scid^ ,scui^ ,sname^ (,scatid^ . ,scat^) ,sprops^)\n                                     (,ocid^ ,ocui^ ,oname^ (,ocatid^ . ,ocat^) ,oprops^)\n                                     (,pid^ . ,pred^) ,eprops^)\n                          (equal? (list dbname scui) (list dbname^ scui^))]))\n                     rest)))\n            (if e^\n                (loop rest)\n                (cons e (loop rest))))])])))\n\n(define D-G1-G2-paths\n  (remove-duplicates\n   (run 150 (q)\n     (fresh (dbname1 eid1 D G1 pid1 pred1 eprops1 e1\n                     dbname2 eid2 G2^ G2 pid2 pred2 eprops2 e2\n                     cid0 cui0 name0 catid0 cat0 props0\n                     cid1 cui1 name1 catid1 cat1 props1\n                     cid2 cui2 name2 catid2 cat2 props2\n                     cid3 cui3 name3 catid3 cat3 props3)\n       (== `(,dbname1 ,eid1 ,D ,G1 (,pid1 . ,pred1) ,eprops1) e1)\n       (== `(,dbname2 ,eid2 ,G2^ ,G2 (,pid2 . ,pred2) ,eprops2) e2)\n\n       (== `(,e1 ,e2) q)\n\n       (== `(,cid0 ,cui0 ,name0 (,catid0 . ,cat0) ,props0) D)\n       (== `(,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1) G1)\n       (== `(,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2) G2^)\n       (== `(,cid3 ,cui3 ,name3 (,catid3 . ,cat3) ,props3) G2)\n       \n       (== cui1 cui2)\n       (== dbname1 dbname2)\n       \n       (membero e2 G1-G2-edges-without-duplicate-dbname/scui)\n       (edgeo e1)\n       (restrict-concept-to-drug dbname1 D)\n       (membero pred1 D-G-increases-predicate-names)\n       ))))\n\n(map\n (lambda (p)\n   (match p\n     [`(,e1 ,e2)\n      (match `(,e1 ,e2)\n        [`((,dbname1 ,eid1\n                     (,cid0 ,cui0 ,name0 (,catid0 . ,cat0) ,props0)\n                     (,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1)\n                     (,pid1 . ,pred1)\n                     ,eprops1)\n           (,dbname2 ,eid2\n                     (,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2)\n                     (,cid3 ,cui3 ,name3 (,catid3 . ,cat3) ,props3)\n                     (,pid2 . ,pred2)\n                     ,eprops2))\n         `(,name0 ,pred1 ,(pubmed-URLs-from-edge e1) ,name1 ,dbname1\n                  ,pred2 ,(pubmed-URLs-from-edge e2) ,name3 ,dbname2)])]))\n D-G1-G2-paths)\n\n#|\n(time\n (remove-duplicates\n   (run 1 (q)\n     (fresh (dbname1 eid1 s1 o1 pid1 pred1 eprops1 e1\n             dbname2 eid2 s2 o2 pid2 pred2 eprops2 e2\n             cid0 cui0 name0 catid0 cat0 props0\n             cid1 cui1 name1 catid1 cat1 props1\n             cid2 cui2 name2 catid2 cat2 props2\n             cid3 cui3 name3 catid3 cat3 props3)\n       (== `(,dbname1 ,eid1 ,s1 ,o1 (,pid1 . ,pred1) ,eprops1) e1)\n       (== `(,dbname2 ,eid2 ,s2 ,o2 (,pid2 . ,pred2) ,eprops2) e2)\n\n       (== `(,name0 ,pred1 ,name1 ,pred2 ,name3 ,dbname1) q)\n\n       (== `(,cid0 ,cui0 ,name0 (,catid0 . ,cat0) ,props0) s1)\n       (== `(,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1) o1)\n       (== `(,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2) s2)\n       (== `(,cid3 ,cui3 ,name3 (,catid3 . ,cat3) ,props3) o2)\n       \n       (== cui1 cui2)\n       (== dbname1 dbname2)\n       \n       (membero e2 G1-G2-edges-without-duplicate-dbname/scui)\n       (edgeo e1)\n       (restrict-concept-to-drug dbname1 s1)\n       (membero pred1 D-G-increases-predicate-names)\n       ))))\n|#\n\n#|\n(time\n (remove-duplicates\n   (run 1 (q)\n     (fresh (dbname1 eid1 s1 o1 pid1 pred1 eprops1 e1\n             dbname2 eid2 s2 o2 pid2 pred2 eprops2 e2\n             cid0 cui0 name0 catid0 cat0 props0\n             cid1 cui1 name1 catid1 cat1 props1\n             cid2 cui2 name2 catid2 cat2 props2\n             cid3 cui3 name3 catid3 cat3 props3)\n       (== `(,dbname1 ,eid1 ,s1 ,o1 (,pid1 . ,pred1) ,eprops1) e1)\n       (== `(,dbname2 ,eid2 ,s2 ,o2 (,pid2 . ,pred2) ,eprops2) e2)\n\n       (== `(,name0 ,pred1 ,name1 ,pred2 ,name3 ,dbname1) q)\n\n       (== `(,cid0 ,cui0 ,name0 (,catid0 . ,cat0) ,props0) s1)\n       (== `(,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1) o1)\n       (== `(,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2) s2)\n       (== `(,cid3 ,cui3 ,name3 (,catid3 . ,cat3) ,props3) o2)\n       \n       (== cui1 cui2)\n       (== dbname1 dbname2)\n       \n       (membero e2 G1-G2-edges)\n       (edgeo e1)\n       (restrict-concept-to-drug dbname1 s1)\n       (membero pred1 D-G-increases-predicate-names)\n       ))))\n\n(time\n (remove-duplicates\n   (run 1 (q)\n     (fresh (dbname1 eid1 s1 o1 pid1 pred1 eprops1 e1\n             dbname2 eid2 s2 o2 pid2 pred2 eprops2 e2\n             cid0 cui0 name0 catid0 cat0 props0\n             cid1 cui1 name1 catid1 cat1 props1\n             cid2 cui2 name2 catid2 cat2 props2\n             cid3 cui3 name3 catid3 cat3 props3)\n       (== `(,dbname1 ,eid1 ,s1 ,o1 (,pid1 . ,pred1) ,eprops1) e1)\n       (== `(,dbname2 ,eid2 ,s2 ,o2 (,pid2 . ,pred2) ,eprops2) e2)\n\n       (== `(,name0 ,pred1 ,name1 ,pred2 ,name3 ,dbname1) q)\n\n       (== `(,cid0 ,cui0 ,name0 (,catid0 . ,cat0) ,props0) s1)\n       (== `(,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1) o1)\n       (== `(,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2) s2)\n       (== `(,cid3 ,cui3 ,name3 (,catid3 . ,cat3) ,props3) o2)\n       \n       (== cui1 cui2)\n       (== dbname1 dbname2)\n       \n       (membero e2 G1-G2-edges)\n       (edgeo e1)\n       (restrict-concept-to-drug dbname1 s1)\n       (membero pred1 D-G-increases-predicate-names)\n       ))))\n|#\n\n#|\n;;; slow query 1\n;;; cpu time: 24794 real time: 25191 gc time: 3238\n(time\n (length\n  (remove-duplicates\n   (run 1 (path)\n     (fresh (dbname1 eid1 s1 o1 pid1 pred1 eprops1 e1\n                     dbname2 eid2 s2 o2 pid2 pred2 eprops2 e2\n                     cid1 cui1 name1 catid1 cat1 props1\n                     cid2 cui2 name2 catid2 cat2 props2)\n       (== `(,dbname1 ,eid1 ,s1 ,o1 (,pid1 . ,pred1) ,eprops1) e1)\n       (== `(,dbname2 ,eid2 ,s2 ,o2 (,pid2 . ,pred2) ,eprops2) e2)\n       (== `(,e1 ,e2) path)\n\n       (== `(,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1) o1)\n       (== `(,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2) s2)\n       (== cui1 cui2)\n       (membero e2 G1-G2-edges)\n       (edgeo e1)\n       (restrict-concept-to-drug dbname1 s1)\n       (membero pred1 D-G-increases-predicate-names)\n       )))))\n\n;;; swap two goals in the query above to make it suuuupeeer slow\n(time\n  (length\n    (remove-duplicates\n      (run 1 (path)\n        (fresh (dbname1 eid1 s1 o1 pid1 pred1 eprops1 e1\n                        dbname2 eid2 s2 o2 pid2 pred2 eprops2 e2\n                        cid1 cui1 name1 catid1 cat1 props1\n                        cid2 cui2 name2 catid2 cat2 props2)\n          (== `(,dbname1 ,eid1 ,s1 ,o1 (,pid1 . ,pred1) ,eprops1) e1)\n          (== `(,dbname2 ,eid2 ,s2 ,o2 (,pid2 . ,pred2) ,eprops2) e2)\n          (== `(,e1 ,e2) path)\n\n          (== `(,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1) o1)\n          (== `(,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2) s2)\n          (== cui1 cui2)\n          (membero e2 G1-G2-edges)\n          (restrict-concept-to-drug dbname1 s1)\n          (edgeo e1)\n          (membero pred1 D-G-increases-predicate-names)\n          )))))\n|#\n\n\n\n\n\n\n#|\n(time\n  (length\n    (remove-duplicates\n      (run 1 (path)\n        (fresh (dbname1 eid1 s1 o1 pid1 pred1 eprops1 e1\n                        dbname2 eid2 s2 o2 pid2 pred2 eprops2 e2\n                        cid1 cui1 name1 catid1 cat1 props1\n                        cid2 cui2 name2 catid2 cat2 props2)\n          (== `(,dbname1 ,eid1 ,s1 ,o1 (,pid1 . ,pred1) ,eprops1) e1)\n          (== `(,dbname2 ,eid2 ,s2 ,o2 (,pid2 . ,pred2) ,eprops2) e2)\n          (== `(,e1 ,e2) path)\n\n          (== `(,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1) o1)\n          (== `(,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2) s2)\n          (== cui1 cui2)\n          (membero e2 G1-G2-edges)\n          (restrict-concept-to-drug dbname1 s1)\n          (edgeo e1)\n          (membero pred1 D-G-increases-predicate-names)\n          )))))\n|#\n\n#|\n(define D-G1-G2-paths\n  (remove-duplicates\n   (run* (path)\n     (fresh (dbname1 eid1 s1 o1 pid1 pred1 eprops1 e1\n             dbname2 eid2 s2 o2 pid2 pred2 eprops2 e2\n             cid1 cui1 name1 catid1 cat1 props1\n             cid2 cui2 name2 catid2 cat2 props2)\n       (== `(,dbname1 ,eid1 ,s1 ,o1 (,pid1 . ,pred1) ,eprops1) e1)\n       (== `(,dbname2 ,eid2 ,s2 ,o2 (,pid2 . ,pred2) ,eprops2) e2)\n       (== `(,e1 ,e2) path)\n\n       (== `(,cid1 ,cui1 ,name1 (,catid1 . ,cat1) ,props1) o1)\n       (== `(,cid2 ,cui2 ,name2 (,catid2 . ,cat2) ,props2) s2)\n       (== cui1 cui2) ;; tie the KG's together\n       \n       (membero e2 G1-G2-edges)\n       (edgeo e1)\n       (membero pred1 D-G-increases-predicate-names)\n       (restrict-concept-to-drug dbname1 s1)))))\n|#\n\n\n\n#|\nExclude list?\n\n(160755\n \"UMLS:C1334043\"\n \"Homologous Gene\"\n (4 . \"gene\")\n ((\"umls_type_label\" . \"['Gene or Genome']\")\n  (\"xrefs\" . \"['NCI:C28709', 'MTH:NOCODE']\")\n  (\"id\" . \"UMLS:C1334043\")\n  (\"umls_type\" . \"['T028']\")\n  (\"labels\" . \"['gene']\")))\n\n|#\n\n#|\n(~name*-concepto ~name* concept)\n\n(~cui-concepto ~cui concept)\n\n(~categoryo ~category-name category)\n\n(~predicateo ~predicate-name predicate)\n\n(sort-paths paths)\n\n(pmid-edgeo pmid edge)\n\n(pubmed-URLs-from-edge edge)\n\n(define predicates\n  (sort (remove-duplicates\n         (time (run* (predicate)\n                 (fresh (dbname pid c)\n                   (membero c selected-concepts)\n                   (concept-predicateo c `(,dbname ,pid . ,predicate))))))\n        string<?))\n\n(run* (q) (fuzzy-concepto current-name q))\n\n(remove-duplicates\n (run 50 (s-with-dbname) ;; 50 should probably be a parameter ;\n   (fresh (o-with-dbname dbname o s eid pid eprops e)\n     (membero o-with-dbname ans)\n     (== `(,dbname . ,o) o-with-dbname)\n     (== `(,dbname ,eid ,s ,o (,pid . \"subclass_of\") ,eprops) e)\n     (== `(,dbname . ,s) s-with-dbname)\n     (edgeo e))))\n\n(set! paths\n      (remove-duplicates\n       (append paths\n               (run* (q)\n                 (fresh (e dbname eid x o pid pred eprops)\n                   (== (list `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops)) q)\n                   (== `(,dbname . ,x) selected-X)\n                   (== `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops) e)\n                   (membero `(,dbname . ,o) concept-2*)\n                   (membero pred atomic-predicate-2*)\n                   (edgeo e))))))\n\n(set! paths\n      (remove-duplicates\n       (append paths\n               (run* (q)\n                 (fresh (e dbname eid s x pid pred eprops)\n                   (== (list `(,dbname ,eid ,s ,x (,pid . ,pred) ,eprops)) q)\n                   (== `(,dbname . ,x) selected-X)\n                   (== `(,dbname ,eid ,s ,x (,pid . ,pred) ,eprops) e)\n                   (membero `(,dbname . ,s) concept-1*)\n                   (membero pred atomic-predicate-1*)\n                   (edgeo e))))))\n\n(run* (q)\n  (fresh (e dbname eid x o pid pred eprops)\n    (== (list `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops)) q)\n    (== `(,dbname . ,x) selected-X)\n    (== `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops) e)\n    (membero `(,dbname . ,o) concept-2*)\n    (membero pred atomic-predicate-2*)\n    (edgeo e)))\n\n(set! all-X-concepts-with-edges\n      (remove-duplicates\n       (append all-X-concepts-with-edges\n               (run* (q)\n                 (fresh (dbname eid s o pid pred eprops e)\n                        ;; TODO FIXME -- epropos may contain pubmed ids--how to extract it, or other evidence? ;\n                   (== (list dbname s (list eprops) (list e)) q)\n                   (== `(,dbname ,eid ,s ,o (,pid . ,pred) ,eprops) e)\n                   (membero `(,dbname . ,o) concept-2*)\n                   (membero pred atomic-predicate-2*)\n                   (edgeo e))))))\n\n(filter ;; only include concepts with at least one predicate ;\n (lambda (x)\n   (match x\n     [`(,dbname . ,concept)\n      (let ((preds\n             (run 1 (pred)\n               (fresh (o s eid eprops e)\n                 (case edge-type\n                   [(out-edge) (== concept s)]\n                   [(in-edge) (== concept o)])\n                 (== `(,dbname ,eid ,s ,o ,pred ,eprops) e)\n                 (edgeo e)))))\n        (not (null? preds)))]))\n ans)\n\n|#\n\n\n"
  },
  {
    "path": "contrib/medikanren/auto_query_symptom.rkt",
    "content": "#lang racket\n(provide (all-defined-out)\n         (all-from-out \"../../medikanren/common.rkt\" \"../../medikanren/pieces-parts/mk-db.rkt\"))\n(require \"../../medikanren/pieces-parts/common.rkt\" \"../../medikanren/pieces-parts/mk-db.rkt\")\n(require racket/date)\n(require csv-reading)\n(require csv-writing)\n(require \"../../medikanren/pieces-parts/csv.rkt\"\n         \"../../medikanren/pieces-parts/repr.rkt\")\n(require racket/list racket/port racket/set racket/stream racket/string)\n(provide set-field-separator!\n         csv-records)\n\n(define extract-name/curie/category-from-concept-ls\n  (lambda (query-ls els)\n    (cond\n      ((null? query-ls) els)\n      ((or (void? (car query-ls))\n           (boolean? (car query-ls)))\n       (extract-name/curie/category-from-concept-ls\n        (cdr query-ls) els))\n      (else \n       (match (car query-ls)\n         [`(,db ,cui ,id ,name ,category ,properties-list)\n          (extract-name/curie/category-from-concept-ls\n           (cdr query-ls)\n           (cons\n            (list db id name category) els))])))))\n\n\n(define extract-curie-from-concept-ls\n  (lambda (query-ls els)\n    (cond\n      ((null? query-ls) els)\n      ((or (void? (car query-ls))\n           (boolean? (car query-ls)))\n       (extract-curie-from-concept-ls\n        (cdr query-ls) els))\n      (else \n       (match (car query-ls)\n         [`(,db ,cui ,id ,name ,category ,properties-list)\n          (extract-curie-from-concept-ls\n           (cdr query-ls)\n           (cons\n            (list id) els))])))))\n\n\n;; no rtx2 categories\n(define molecular_entity\n  '((semmed 2 . \"gene\")\n    (orange 6 . \"(\\\"gene\\\")\")\n    (orange 19 . \"(\\\"genomic entity\\\" \\\"gene\\\")\")\n    (orange 23 . \"(\\\"gene\\\" \\\"genomic entity\\\")\")\n    (robokop 0 . \"(\\\"named_thing\\\" \\\"gene\\\")\")\t      \n    (robokop 11 . \"(\\\"named_thing\\\" \\\"gene_family\\\")\")\n    (semmed 6 . \"protein\")\n    (rtx 1 . \"protein\")\n    (orange 28 . \"(\\\"genome\\\")\")\n    (orange 22 . \"(\\\"genomic entity\\\")\")\n    (semmed 9 . \"genomic_entity\")\n    (rtx 2 . \"microRNA\")\n    (orange 15 . \"(\\\"transcript\\\")\")\n    (rtx 3 . \"metabolite\")\n    (semmed 0 .\"biological_entity\")\n    (orange 12 . \"(\\\"food material\\\")\")))\n\n(define member?\n  (lambda (a ls)\n    (cond\n      ((null? ls) #f)\n      (else\n       (or (equal? a (car ls))\n           (member? a (cdr ls)))))))\n\n(define filter-concept-by-f\n  (lambda (ls els curie f)\n    (cond\n      ((null? ls) els)\n      ((f curie (car ls))\n       (filter-concept-by-f\n        (cdr ls)\n        (cons (car ls) els) curie f))\n      (else\n       (filter-concept-by-f\n        (cdr ls) els curie f)))))\n\n(define HP-symptoms-from-input/concept-ls\n  (filter-concept-by-f\n   (find-concepts\n    #t\n    (list\n     \"HP:0001531\"\n     \"HP:0003550\"\n     \"HP:0001004\"\n     \"HP:0008513\"\n     \"HP:0002144\"\n     \"HP:0001790\")) '() 'orange member?))\n\n#|\n(define HP-symptoms-from-input/concept-ls\n  (find-concepts\n    #t\n    (list\n     \"HP:0001531\"\n     \"HP:0003550\"\n     \"HP:0001004\"\n     \"HP:0008513\"\n     \"HP:0002144\"\n     \"HP:0001790\")))\n|#\n\n(newline)\n(displayln (format \"CONCEPTS FOUND RETURNED FROM INITIAL INPUT CURIE:\"))\n(newline)\n(pretty-print (extract-name/curie/category-from-concept-ls HP-symptoms-from-input/concept-ls '()))\n\n(define subclass_of (find-exact-predicates (list \"subclass_of\")))\n(define contributes_to (find-exact-predicates (list \"contributes_to\")))\n(define causally_related_to (find-exact-predicates (list \"causually_related_to\")))\n(define has_phenotype (find-exact-predicates (list \"has_phenotype\")))\n\n;;subclass of doesn't give any more concepts\n;;will attempt to get disease assoc next \n\n\n#|\n(match-define\n (list A-->subclass_of-->HP-input=>concepts\n       A-->subclass_of-->HP-input=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (HP-input HP-symptoms-from-input/concept-ls))\n   ((--subclass_of--> subclass_of))\n   (A --subclass_of--> HP-input))))\n|# \n\n;;orange only\n(match-define\n (list A-->subclass_of-->HP-input=>concepts\n       A-->subclass_of-->HP-input=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (HP-input HP-symptoms-from-input/concept-ls))\n   ((--subclass_of--> '((orange 0 . \"subclass_of\"))))\n   (A --subclass_of--> HP-input))))\n\n(define A-->subclass_of-->HP-input/concepts\n  (hash-ref A-->subclass_of-->HP-input=>concepts 'A))\n\n(define HP-concept-ls\n  (set-union A-->subclass_of-->HP-input/concepts\n             HP-symptoms-from-input/concept-ls))\n\n(newline)\n(displayln (format \"~a CONCEPTS FROM:\\nA --subclass_of--> HP-concept-ls\" (length HP-concept-ls)))\n(newline)\n(pretty-print (extract-name/curie/category-from-concept-ls HP-concept-ls '()))\n(newline)\n\n#|\n(match-define\n (list A--has_phenotype-->HP-ls=>concepts\n       A--has_phenotype-->HP-ls=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (HP-ls HP-concept-ls))\n   ((--has_phenotype--> has_phenotype))\n   (A --has_phenotype--> HP-ls))))\n|#\n\n;;orange only\n(match-define\n (list A--has_phenotype-->HP-ls=>concepts\n       A--has_phenotype-->HP-ls=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (HP-ls HP-concept-ls))\n   ((--has_phenotype--> '((orange 2 . \"has_phenotype\"))))\n   (A --has_phenotype--> HP-ls))))\n\n(define A-->has_phenotype-->HP-input/concepts\n  (hash-ref A--has_phenotype-->HP-ls=>concepts 'A))\n\n(define A-->has_phenotype-->HP-input/edges\n  (hash-ref A--has_phenotype-->HP-ls=>edges '--has_phenotype-->))\n\n(newline)\n(displayln (format \"~a CONCEPTS FROM:\\nA --has_phenotype--> HP-concept-ls\" (length A-->has_phenotype-->HP-input/concepts)))\n(newline)\n(pretty-print (extract-name/curie/category-from-concept-ls A-->has_phenotype-->HP-input/concepts '()))\n(newline)\n\n#|\n(match-define\n (list B--contributes_to-->A--has_phenotype-->HP-ls=>concepts\n       B--contributes_to-->A--has_phenotype-->HP-ls=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (B molecular_entity)\n    (HP-ls HP-concept-ls))\n   ((--has_phenotype--> has_phenotype)\n    (--contributes_to--> contributes_to))\n   (B --contributes_to--> A --has_phenotype--> HP-ls))))\n|#\n\n\n(match-define\n (list B--contributes_to-->A--has_phenotype-->HP-ls=>concepts\n       B--contributes_to-->A--has_phenotype-->HP-ls=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (B #f)\n    (HP-ls HP-concept-ls))\n   ((--has_phenotype--> '((orange 2 . \"has_phenotype\")))\n    (--contributes_to--> '((orange 11 . \"contributes_to\"))))\n   (B --contributes_to--> A --has_phenotype--> HP-ls))))\n\n(define B--contributes_to-->A--has_phenotype-->HP-ls/concepts \n  (hash-ref B--contributes_to-->A--has_phenotype-->HP-ls=>concepts 'B))\n \n(define B--contributes_to-->A--has_phenotype-->HP-ls/edges\n  (hash-ref B--contributes_to-->A--has_phenotype-->HP-ls=>edges '--contributes_to-->)) \n\n(newline)\n(displayln (format \"~a CONCEPTS FROM:\\nB--contributes_to-->A--has_phenotype-->HP-ls/concepts\" (length B--contributes_to-->A--has_phenotype-->HP-ls/concepts)))\n(newline)\n(pretty-print (extract-name/curie/category-from-concept-ls B--contributes_to-->A--has_phenotype-->HP-ls/concepts '()))\n(newline)\n\n(define NCBIGenes-from-symptoms/orange\n  (flatten (extract-curie-from-concept-ls B--contributes_to-->A--has_phenotype-->HP-ls/concepts '())))\n\n(define NCBIGenes-from-symptoms/orange/concept-ls\n  (find-concepts #t NCBIGenes-from-symptoms/orange))\n\n;; NCBIGene from orange --> HGNC gene in robokop/rtx2\n\n(match-define\n (list NCBIGene_input--equivalent_to-->HGNC--encodes-->UniProtKB=>concepts\n       NCBIGene_input--equivalent_to-->HGNC--encodes-->UniProtKB=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (B #f)\n    (NCBIGene_input NCBIGenes-from-symptoms/orange/concept-ls)) \n   ((--equivalent_to--> '((rtx2 57 . \"equivalent_to\")))\n    (--encodes--> '((rtx2 775 . \"encodes\"))))\n   (NCBIGene_input --equivalent_to--> A --encodes--> B))))\n\n(define NCBIGene_input--equivalent_to-->HGNC/concepts\n  (hash-ref NCBIGene_input--equivalent_to-->HGNC--encodes-->UniProtKB=>concepts 'A))\n(define NCBIGene_input--equivalent_to-->HGNC--encodes-->UniProtKB/concepts\n  (hash-ref NCBIGene_input--equivalent_to-->HGNC--encodes-->UniProtKB=>concepts 'B))\n \n(define HGNC-from-symptoms\n  (flatten (extract-curie-from-concept-ls NCBIGene_input--equivalent_to-->HGNC/concepts '())))\n\n(define HGNC-from-symptoms/concept-ls\n  (find-concepts #t HGNC-from-symptoms))\n\n(define UniProtKB-from-symptoms\n  (flatten (extract-curie-from-concept-ls NCBIGene_input--equivalent_to-->HGNC--encodes-->UniProtKB/concepts '())))\n\n(define UniProtKB-from-symptoms/concept-ls\n  (find-concepts #t UniProtKB-from-symptoms))\n\n\n;; rtx2 uniprotkb --> GO\n\n;; GO is 3 separate ontologies: Cellular Component, Biological Process, Molecular Function\n;; isa predicate operates within one ontology and will not cross\n;; part_of , regulates cross between the ontologies\n;; isa --> biological_process GO ontology\n;; biological process is broken into 3 nodes = cellular process, development, physiologic process\n;; regulates repdicate not really useful \n#|\n(match-define\n (list UniProtKB_input--involved_in-->GO--regulates-->GOparent=>concepts\n       UniProtKB_input--involved_in-->GO--regulates-->GOparent=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (B #f)\n    (UniProtKB_input UniProtKB-from-symptoms/concept-ls)) \n   ((--involved_in--> '((rtx2 182 . \"involved_in\"))) \n    (--regulates--> '((rtx2 185 . \"regulates\"))))\n   (UniProtKB_input --involved_in--> A --regulates--> B))))\n\n(define UniProtKB_input--involved_in-->GO/concepts\n  (hash-ref UniProtKB_input--involved_in-->GO--regulates-->GOparent=>concepts 'A))\n(define UniProtKB_input--involved_in-->GO--regulates-->GOparent/concepts\n  (hash-ref UniProtKB_input--involved_in-->GO--regulates-->GOparent=>concepts 'B))\n(define UniProtKB_input--involved_in-->GO/edges\n  (hash-ref UniProtKB_input--involved_in-->GO--regulates-->GOparent=>edges '--involved_in-->))\n(define UniProtKB_input--involved_in-->GO--regulates-->GOparent/edges \n  (hash-ref UniProtKB_input--involved_in-->GO--regulates-->GOparent=>edges '--regulates-->))\n\n;;rtx2 involved_in gives regulation/positive/negative terms back\n(pretty-print (extract-name/curie/category-from-concept-ls UniProtKB_input--involved_in-->GO/concepts '()))\n \n;; isa--> \"biological process\"\n(pretty-print (extract-name/curie/category-from-concept-ls UniProtKB_input--involved_in-->GO--regulates-->GOparent/concepts '()))\n|#\n\n;; use to get \n(rtx2 188 . \"positively_regulates\")\n(rtx2 189 . \"negatively_regulates\")\n\n(match-define\n (list UniProtKB_input--involved_in-->GO--part_of-->GOparent=>concepts\n       UniProtKB_input--involved_in-->GO--part_of-->GOparent=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (B #f)\n    (UniProtKB_input UniProtKB-from-symptoms/concept-ls)) \n   ((--involved_in--> '((rtx2 182 . \"involved_in\")))\n    (--part_of--> '((rtx2 14 . \"part_of\")))\n    (--subclass_of--> '((rtx2 15 . \"subclass_of\")))) \n   (UniProtKB_input --involved_in--> A --subclass_of--> B)))) \n\n(define UniProtKB_input--involved_in-->GO/concepts\n  (hash-ref UniProtKB_input--involved_in-->GO--part_of-->GOparent=>concepts 'A))\n(define UniProtKB_input--involved_in-->GO--part_of-->GOparent/concepts\n  (hash-ref UniProtKB_input--involved_in-->GO--part_of-->GOparent=>concepts 'B)) \n(define UniProtKB_input--involved_in-->GO/edges\n  (hash-ref UniProtKB_input--involved_in-->GO--part_of-->GOparent=>edges '--involved_in-->))\n(define UniProtKB_input--involved_in-->GO--part_of-->GOparent/edges \n  (hash-ref UniProtKB_input--involved_in-->GO--part_of-->GOparent=>edges '--part_of-->)) \n\n;;rtx2 involved_in gives 21\n(pretty-print (extract-name/curie/category-from-concept-ls UniProtKB_input--involved_in-->GO/concepts '()))  \n ;; part_of--> gives 25 \n(pretty-print (extract-name/curie/category-from-concept-ls UniProtKB_input--involved_in-->GO--part_of-->GOparent/concepts '()))\n\n\n(define UniProtKB_input--involved_in-->GO/edges/edges-for-print\n  (edge-matcher UniProtKB_input--involved_in-->GO/edges '()))\n\n(define UniProtKB_input--involved_in-->GO--part_of-->GOparent/edges-for-print\n  (edge-matcher UniProtKB_input--involved_in-->GO--part_of-->GOparent/edges '()))\n\n(define UniProtKB_input--involved_in-->GO/edges\n  (hash-ref UniProtKB_input--involved_in-->GO--involved_in-->GOparent=>edges '--involved_in-->))\n\n;;gives most relevant GO pathways\n(define UniProtKB_input--involved_in-->GO--involved_in-->GOparent/edges\n  (hash-ref UniProtKB_input--involved_in-->GO--involved_in-->GOparent=>edges '--involved_in-->))\n\n(define edge-matcher\n  (lambda (ls els)\n    (cond\n      ((null? ls) (set-union els))\n      (else\n       (match (car ls)\n         [`(,db ,edge-cui\n               (,subject-cui ,subject-id ,subject-name (,_ . ,subject-category) ,subject-props-assoc)\n               (,object-cui ,object-id ,object-name (,_ . ,object-category) ,object-props-assoc)\n               (,_ . ,pred)\n               ,pred-props-assoc)\n          (edge-matcher\n           (cdr ls)\n           (set-union\n            (list `((,subject-name . ,subject-id) ,pred (,object-name . ,object-id)) `(,db))\n            els))])))))\n\n(define UniProtKB_input--involved_in-->GO/edges-for-print\n  (edge-matcher UniProtKB_input--involved_in-->GO/edges '()))\n\n(define UniProtKB_input--involved_in-->GO--involved_in-->GOparent/edges-for-print\n  (edge-matcher UniProtKB_input--involved_in-->GO--involved_in-->GOparent/edges '()))\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n#|\n(define encodes (find-exact-predicates (list \"encodes\")))\n(define gene_associated_with_condition (find-exact-predicates (list \"gene_associated_with_condition\"))) \n\n(match-define\n (list hgnc--encodes-->B--gene_associated_with_condition-->D=>concepts\n       B--contributes_to-->A--has_phenotype-->HP-ls=>edges)\n (time\n  (run/graph\n   ((B #f)\n    (D #f)\n    (hgnc gene-concept-ls))\n   ((--encodes--> encodes)\n    (--gene_associated_with_condition--> '((rtx2 717 . \"gene_associated_with_condition\"))))\n   (hgnc --encodes--> B --gene_associated_with_condition--> D))))\n\n(define hgnc--encodes-->B--gene_associated_with_condition-->D/concepts \n  (hash-ref hgnc--encodes-->B--gene_associated_with_condition-->D=>concepts 'D))\n\n(filter-concept-by-f\n   (find-concepts\n    #t\n    (list\n     \"HP:0001531\"\n     \"HP:0003550\"\n     \"HP:0001004\"\n     \"HP:0008513\"\n     \"HP:0002144\"\n     \"HP:0001790\")) '() 'orange member?)\n\n(match-define\n (list B--contributes_to-->A--has_phenotype-->HP-ls=>concepts\n       B--contributes_to-->A--has_phenotype-->HP-ls=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (B molecular_entity)\n    (HP-ls HP-concept-ls))\n   ((--has_phenotype--> has_phenotype)\n    (--contributes_to--> contributes_to))\n   (B --contributes_to--> A --has_phenotype--> HP-ls))))\n|#\n\n#|\n;; need an exact predicate function \n(define (find-exact-predicates names)\n(append* (map (lambda (name) (run* (x) (~predicateo name x))) names)))\n(define (find-categories names)\n(append* (map (lambda (name) (run* (x) (~categoryo name x))) names)))\n(define (find-exact-categories names)\n(run* (cat) (fresh (db catid name)\n(membero name names)\n(== cat `(,db ,catid . ,name))\n(categoryo cat))))\n(define (find-exact-predicates names)\n(run* (cat) (fresh (db catid name)\n(membero name names)\n(== cat `(,db ,catid . ,name))\n(categoryo cat))))\n|#\n          \n;;TODO, load with only orange db to prevent has-phenotype from using other dbs \n#|\n(match-define\n (list A-->HP-ls=>concepts\n       A-->HP-ls=>edges)\n (time\n  (run/graph\n   ((A #f)\n    (HP-ls HP-concept-ls))\n   ((--has_phenotype--> has_phenotype)\n    (--subclass_of--> subclass_of))\n   (A --subclass_of--> HP-ls)\n   (A --has_phenotype--> HP-ls))))\n\n(define A-->has_phenotype-->HP-input/concepts\n  (hash-ref A-->HP-ls=>concepts 'A))\n\n(define A-->subclass_of-->HP-input/concepts\n  (hash-ref A-->HP-ls=>concepts 'A))\n\n(define A-->has_phenotype-->HP-input/edges\n  (hash-ref A-->HP-ls=>edges '--has_phenotype-->))\n\n(define A-->subclass_of-->HP-input/edges\n  (hash-ref A-->HP-ls=>concepts 'subclass_of))\n\n;; missing a DOID --has_phenotype--> HP in my orange KG\n;; DOID concepts appear to have \"disease\" only names in Orange\n;; that are clearly not disease in RTX2 robokop etc DOID:3457 example\n;; perhaps filter by mondo concepts \n|#\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "contrib/medikanren/example-dhx30-rtx.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"../../medikanren/mk.rkt\")\n  (all-from-out \"../../medikanren/mk-db.rkt\")\n\n  membero\n  edgeo\n  ~name-concepto\n\n  rtx)\n\n\n(require\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  (except-in racket/match ==))\n\n\n(define rtx (time (make-db \"data/rtx\")))\n\n(newline)\n(displayln \"X regulates DHX30:\")\n(time (pretty-print\n        (run* (edge)\n          (fresh (eid subject object pred eprops)\n            (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n            (db:~name-concepto rtx \"DHX30\" object)\n            (== `(3 . \"regulates\") pred)\n            (db:edgeo rtx edge)))))\n\n\n#|\n(displayln \"categories:\")\n(pretty-print (run* (c) (db:categoryo rtx c)))\n\n(newline)\n(displayln \"predicates:\")\n(pretty-print (run* (p) (db:predicateo rtx p)))\n\n(newline)\n(displayln \"some concepts:\")\n(pretty-print (run 10 (c) (db:concepto rtx c)))\n\n(newline)\n(displayln \"some edges:\")\n(pretty-print (run 10 (e) (db:edgeo rtx e)))\n\n(newline)\n(displayln \"fuzzy search:\")\n(time (pretty-print (run* (c) (db:~name-concepto rtx \"imatin\" c))))\n\n(newline)\n(displayln \"fuzzy search DHX30:\")\n(time (pretty-print (run* (c) (db:~name-concepto rtx \"DHX30\" c))))\n|#\n\n#|\n(newline)\n(displayln \"X ANY-PRED DHX30:\")\n(time (pretty-print (run* (edge)\n                      (fresh (scid scui sname scatid scat sprops\n                                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                        (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                   (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                   (,pid . ,pred) ,eprops) edge)\n                        (db:~name-concepto rtx \"DHX30\" `(,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops)))\n                        (db:edgeo rtx edge)))))\n\n(newline)\n(displayln \"DHX30 ANY-PRED X\")\n(time (pretty-print (run* (edge)\n                      (fresh (scid scui sname scatid scat sprops\n                                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                        (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                   (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                   (,pid . ,pred) ,eprops) edge)\n                        (db:~name-concepto rtx \"DHX30\" `(,scid . (,scui ,sname (,scatid . ,scat) . ,sprops)))\n                        (db:edgeo rtx edge)))))\n|#\n"
  },
  {
    "path": "contrib/medikanren/example-dhx30-semmed.rkt",
    "content": "#lang racket\n(require\n  \"../../medikanren/mk-db.rkt\"\n  )\n\n(define semmed (make-db \"data/semmed\"))\n\n\n(displayln \"------- DHX30 examples, using semmed ---------\")\n\n(newline)\n(displayln \"fuzzy search for DHX30:\")\n(time (pretty-print (run* (c) (db:~name-concepto semmed \"DHX30\" c))))\n;; =>\n'((107213\n   \"UMLS:C1424502\"\n   \"DHX30 gene\"\n   (4 . \"gene\")\n   ((\"umls_type_label\" . \"['Gene or Genome']\")\n    (\"xrefs\" . \"['OMIM:616423', 'HGNC:HGNC:16716', 'MTH:NOCODE']\")\n    (\"id\" . \"UMLS:C1424502\")\n    (\"umls_type\" . \"['T028']\")\n    (\"labels\" . \"['gene']\"))))\n\n(newline)\n(displayln \"semmedb predicates:\")\n(pretty-print (run* (p) (db:predicateo semmed p)))\n;; =>\n'((0 . \"interacts_with\")\n  (1 . \"treats\")\n  (2 . \"predisposes\")\n  (3 . \"part_of\")\n  (4 . \"subclass_of\")\n  (5 . \"negatively_regulates\")\n  (6 . \"coexists_with\")\n  (7 . \"causes\")\n  (8 . \"related_to\")\n  (9 . \"affects\")\n  (10 . \"produces\")\n  (11 . \"gene_associated_with_condition\")\n  (12 . \"manifestation_of\")\n  (13 . \"positively_regulates\")\n  (14 . \"prevents\")\n  (15 . \"derives_into\")\n  (16 . \"location_of\")\n  (17 . \"precedes\"))\n\n(newline)\n(displayln \"X DECREASES DHX30:\")\n(time (pretty-print (let ((DECREASES (lambda (pred-info)\n                                       (conde\n                                         [(== `(1 . \"treats\") pred-info)]\n                                         [(== `(14 . \"prevents\") pred-info)]))))\n                      (run* (edge)\n                        (fresh (scid scui sname scatid scat sprops\n                                     ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                          (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                     (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                     (,pid . ,pred) ,eprops) edge)\n                          (db:~name-concepto semmed \"DHX30\" `(,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops)))\n                          (DECREASES `(,pid . ,pred))\n                          (db:edgeo semmed edge))))))\n\n(newline)\n(displayln \"X ANY-PRED DHX30:\")\n(time (pretty-print (run* (edge)\n                      (fresh (scid scui sname scatid scat sprops\n                                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                        (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                   (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                   (,pid . ,pred) ,eprops) edge)\n                        (db:~name-concepto semmed \"DHX30\" `(,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops)))\n                        (db:edgeo semmed edge)))))\n\n(newline)\n(displayln \"DHX30 ANY-PRED X\")\n(time (pretty-print (run* (edge)\n                      (fresh (scid scui sname scatid scat sprops\n                                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n                        (== `(,eid (,scid . (,scui ,sname (,scatid . ,scat) . ,sprops))\n                                   (,ocid . (,ocui ,oname (,ocatid . ,ocat) . ,oprops))\n                                   (,pid . ,pred) ,eprops) edge)\n                        (db:~name-concepto semmed \"DHX30\" `(,scid . (,scui ,sname (,scatid . ,scat) . ,sprops)))\n                        (db:edgeo semmed edge)))))\n"
  },
  {
    "path": "contrib/medikanren/example-tacrine-semmed.rkt",
    "content": "#lang racket\n(require\n  \"../../medikanren/pieces-parts/mk-db.rkt\"\n  )\n\n(define semmed (make-db \"data/semmed\"))\n\n\n(displayln \"------- tacrine examples, using semmed ---------\")\n\n(newline)\n(displayln \"fuzzy search for tacrine:\")\n(time (pretty-print (run* (c) (db:~name-concepto semmed \"tacrine\" c))))\n\n(newline)\n(displayln \"first two responses for fuzzy search for tacrine:\")\n(time (pretty-print (run 2 (c) (db:~name-concepto semmed \"tacrine\" c))))\n;; =>\n'((35887\n   \"UMLS:C0386973\"\n   \"6-chlorotacrine\"\n   (5 . \"chemical_substance\")\n   (\"umls_type_label\" . \"['Organic Chemical']\")\n   (\"xrefs\" . \"['MESH:C098212']\")\n   (\"id\" . \"UMLS:C0386973\")\n   (\"umls_type\" . \"['T109']\")\n   (\"labels\" . \"['chemical_substance']\"))\n  (70919\n   \"UMLS:C0295380\"\n   \"2-hydroxytacrine\"\n   (5 . \"chemical_substance\")\n   (\"umls_type_label\" . \"['Pharmacologic Substance', 'Organic Chemical']\")\n   (\"xrefs\" . \"['MESH:C092548']\")\n   (\"id\" . \"UMLS:C0295380\")\n   (\"umls_type\" . \"['T121', 'T109']\")\n   (\"labels\" . \"['chemical_substance']\")))\n\n\n(newline)\n(displayln \"fuzzy search for tacrine, displayed with something similar to the old format:\")\n(time (pretty-print (map\n                      (lambda (e)\n                        (match e\n                          [`(,id ,cui ,name ,ignore2 . ,props)\n                           (let ((type-p (assoc \"umls_type_label\" props)))\n                             (let ((type (if type-p\n                                             (cdr type-p)\n                                             'no-type-found)))\n                               (list id cui name type)))]))\n                      (run* (c) (db:~name-concepto semmed \"tacrine\" c)))))\n;; =>\n'((35887 \"UMLS:C0386973\" \"6-chlorotacrine\" \"['Organic Chemical']\")\n  (70919 \"UMLS:C0295380\" \"2-hydroxytacrine\" \"['Pharmacologic Substance', 'Organic Chemical']\")\n  (75842 \"UMLS:C0039245\" \"Tacrine\" \"['Pharmacologic Substance', 'Organic Chemical']\")\n  (98097 \"UMLS:C1435294\" \"N-butyramide-tacrine\" \"['Pharmacologic Substance', 'Organic Chemical']\")\n  (98688 \"UMLS:C0771182\" \"Tacrine Hydrochloride\" \"['Pharmacologic Substance', 'Organic Chemical']\")\n  (101040 \"UMLS:C0659809\" \"N-methyltacrine\" \"['Organic Chemical']\")\n  (123792 \"UMLS:C0295379\" \"4-hydroxytacrine\" \"['Pharmacologic Substance', 'Organic Chemical']\")\n  (154109 \"UMLS:C0099894\" \"7-methoxytacrine\" \"['Pharmacologic Substance', 'Organic Chemical']\"))\n\n(newline)\n(displayln \"semmedb predicates:\")\n(pretty-print (run* (p) (db:predicateo semmed p)))\n;; =>\n'((0 . \"interacts_with\")\n  (1 . \"treats\")\n  (2 . \"predisposes\")\n  (3 . \"part_of\")\n  (4 . \"subclass_of\")\n  (5 . \"negatively_regulates\")\n  (6 . \"coexists_with\")\n  (7 . \"causes\")\n  (8 . \"related_to\")\n  (9 . \"affects\")\n  (10 . \"produces\")\n  (11 . \"gene_associated_with_condition\")\n  (12 . \"manifestation_of\")\n  (13 . \"positively_regulates\")\n  (14 . \"prevents\")\n  (15 . \"derives_into\")\n  (16 . \"location_of\")\n  (17 . \"precedes\"))\n\n(newline)\n(displayln \"X interacts with tacrine:\")\n(time (pretty-print\n        (run* (edge)\n          (fresh (eid subject tacrine-details pred eprops)\n            (== `(,eid ,subject (75842 . ,tacrine-details) ,pred . ,eprops) edge)\n            (== `(0 . \"interacts_with\") pred)\n            (db:edgeo semmed edge)))))\n\n(newline)\n(displayln \"tacrine treats X:\")\n(time (pretty-print\n        (run* (edge)\n          (fresh (eid tacrine-details object pred eprops)\n            (== `(,eid (75842 . ,tacrine-details) ,object ,pred . ,eprops) edge)\n            (== `(1 . \"treats\") pred)\n            (db:edgeo semmed edge)))))\n\n(define (DECREASES pred)\n  (conde\n    [(== `(1 . \"treats\") pred)]\n    [(== `(14 . \"prevents\") pred)]))\n\n(newline)\n(displayln \"tacrine DECREASES X:\")\n(time (pretty-print\n        (run* (edge)\n          (fresh (eid tacrine-details object pred eprops)\n            (== `(,eid (75842 . ,tacrine-details) ,object ,pred . ,eprops) edge)\n            (DECREASES pred)\n            (db:edgeo semmed edge)))))\n"
  },
  {
    "path": "contrib/medikanren/genes-perturbed.rkt",
    "content": "#lang racket/base\n(provide (all-defined-out) (all-from-out \"../../medikanren/common.rkt\"))\n(require \"../../medikanren/common.rkt\" \"../../medikanren/repr.rkt\"\n         (except-in racket/match ==) racket/set racket/string)\n\n(define increases\n  (find-predicates '(;; common\n                     \"causes\" \"positively_regulates\"\n                     ;; semmed\n                     \"produces\"\n                     ;; robokop\n                     \"decreases_degradation_of\"\n                     \"increases_secretion_of\"\n                     \"increases_transport_of\"\n                     \"increases_activity_of\"\n                     \"increases_synthesis_of\"\n                     \"increases_expression_of\"\n                     \"positively_regulates__entity_to_entity\"\n                     )))\n\n(define decreases\n  (find-predicates '(;; common\n                     \"prevents\" \"negatively_regulates\"\n                     ;; semmed\n                     ;; robokop\n                     \"decreases_secretion_of\"\n                     \"decreases_transport_of\"\n                     \"decreases_activity_of\"\n                     \"decreases_synthesis_of\"\n                     \"decreases_expression_of\"\n                     \"increases_degradation_of\"\n                     \"negatively_regulates__entity_to_entity\"\n                     \"disrupts\"\n                     )))\n\n(define gene (find-exact-categories '(;; semmed\n                                      \"gene\"\n                                      ;; robokop\n                                      \"(\\\"named_thing\\\" \\\"gene\\\")\")))\n(define drug (find-exact-categories '(;; semmed\n                                      \"chemical_substance\"\n                                      ;; robokop\n                                      \"(\\\"named_thing\\\" \\\"chemical_substance\\\")\")))\n\n(define (file->strings filename)\n  (call-with-input-file\n    filename\n    (lambda (in) (let loop ()\n                   (define line (read-line in))\n                   (if (eof-object? line) '()\n                     (cons (string-trim line) (loop)))))))\n\n(define (xref-curies curies)\n  (time (run* (c) (fresh (xref)\n                    (membero xref curies)\n                    (xref-concepto xref c)))))\n\n(define hgnc-ids (file->strings \"hgnc-ids.txt\"))\n(printf \"HGNC gene total: ~s\\n\" (length hgnc-ids))\n\n;; This will only work with robokop.\n;(define human-genes (time (run* (c) (~cui*-concepto hgnc-ids c))))\n\n;(define drugs\n  ;(time (run* (c) (fresh (db dbcat)\n                    ;(membero dbcat drug)\n                    ;(category-concepto dbcat c)))))\n;(printf \"Total drug count: ~s\\n\" (length drugs))\n\n;; This will work for either semmed or robokop, but isn't as complete.\n(define genes\n  (time (run* (c) (fresh (db dbcat)\n                    (membero dbcat gene)\n                    (category-concepto dbcat c)))))\n(printf \"Total gene count: ~s\\n\" (length genes))\n\n;; TODO: This set-based deduping is due to one duplicate semmed entry.\n;; We need to fix this by re-indexing xrefs.\n(define human-genes (set->list (list->set (xref-curies hgnc-ids))))\n(define human-genes-alt\n  (time (filter (lambda (g)\n                  (ormap (lambda (xref) (string-prefix? xref \"HGNC:\"))\n                         (concept->xrefs (list->vector (cddr g)))))\n                genes)))\n(printf \"HGNC genes found: ~s ~s ~s\\n\" (length human-genes) (length human-genes-alt)\n        (set-count (set-intersect (list->set human-genes) (list->set human-genes-alt))))\n\n(define (%hgnc-total count)\n  (/ count (exact->inexact (length hgnc-ids))))\n(define (%hgnc-found count)\n  (/ count (exact->inexact (length human-genes))))\n\n;; This also works (and is faster) for robokop:\n;(define human-genes\n  ;(time (filter (lambda (g) (string-prefix? (caddr g) \"HGNC:\"))\n                ;genes)))\n\n(define (perturb-1-hop direction)\n  (match-define\n    (list name=>concepts _)\n    (time (run/graph ((D drug)\n                      (G human-genes))\n                     ((D->G direction))\n                     (D D->G G))))\n  (list->set (hash-ref name=>concepts 'G)))\n\n(define (perturb-next-hop X direction)\n  (set-intersect\n    (list->set human-genes)\n    (list->set\n      (time (run* (concept)\n              (fresh (x c cid cui name cat props db eid pred eprops)\n                (membero `(,db . ,cat) gene)\n                (== c `(,cid ,cui ,name ,cat ,props))\n                (membero `(,db . ,x) X)\n                (edgeo `(,db ,eid ,x ,c ,pred ,eprops))\n                (membero `(,db . ,pred) direction)\n                (=/= x c)\n                (== concept `(,db . ,c))))))))\n\n;; 1-hop\n\n(define increased-1-hop (perturb-1-hop increases))\n(printf \"increased 1-hop: ~s\\n\" (set-count increased-1-hop))\n(define decreased-1-hop (perturb-1-hop decreases))\n(printf \"decreased 1-hop: ~s\\n\" (set-count decreased-1-hop))\n(define perturbed-1-hop (set-union increased-1-hop decreased-1-hop))\n(printf \"perturbed 1-hop: ~s ~s ~s\\n\"\n        (set-count perturbed-1-hop)\n        (%hgnc-found (set-count perturbed-1-hop))\n        (%hgnc-total (set-count perturbed-1-hop)))\n\n;; 2-hop\n\n;; increase\n(define inc&inc-2-hop (perturb-next-hop (set->list increased-1-hop) increases))\n(printf \"inc&inc 2-hop: ~s\\n\" (set-count inc&inc-2-hop))\n(define dec&dec-2-hop (perturb-next-hop (set->list decreased-1-hop) decreases))\n(printf \"dec&dec 2-hop: ~s\\n\" (set-count dec&dec-2-hop))\n(define increased-2-hop (set-union inc&inc-2-hop dec&dec-2-hop))\n(define increased<=2-hop (set-union increased-1-hop increased-2-hop))\n(printf \"increased 2-hop: ~s ~s\\n\"\n        (set-count increased-2-hop)\n        (set-count increased<=2-hop))\n\n;; decrease\n(define dec&inc-2-hop (perturb-next-hop (set->list decreased-1-hop) increases))\n(printf \"dec&inc 2-hop: ~s\\n\" (set-count dec&inc-2-hop))\n(define inc&dec-2-hop (perturb-next-hop (set->list increased-1-hop) decreases))\n(printf \"inc&dec 2-hop: ~s\\n\" (set-count inc&dec-2-hop))\n(define decreased-2-hop (set-union dec&inc-2-hop inc&dec-2-hop))\n(define decreased<=2-hop (set-union decreased-1-hop decreased-2-hop))\n(printf \"decreased 2-hop: ~s ~s\\n\"\n        (set-count decreased-2-hop)\n        (set-count decreased<=2-hop))\n\n(define perturbed-2-hop (set-union increased-2-hop decreased-2-hop))\n(define perturbed<=2-hop (set-union increased<=2-hop decreased<=2-hop))\n(printf \"perturbed 2-hop: ~s ~s ~s ~s ~s ~s\\n\"\n        (set-count perturbed-2-hop)\n        (%hgnc-found (set-count perturbed-2-hop))\n        (%hgnc-total (set-count perturbed-2-hop))\n        (set-count perturbed<=2-hop)\n        (%hgnc-found (set-count perturbed<=2-hop))\n        (%hgnc-total (set-count perturbed<=2-hop)))\n\n;; 3-hop\n\n;; increase\n(define inc&inc-3-hop (perturb-next-hop (set->list (set-subtract increased-2-hop increased-1-hop)) increases))\n(printf \"inc&inc 3-hop: ~s\\n\" (set-count inc&inc-3-hop))\n(define dec&dec-3-hop (perturb-next-hop (set->list (set-subtract decreased-2-hop decreased-1-hop)) decreases))\n(printf \"dec&dec 3-hop: ~s\\n\" (set-count dec&dec-3-hop))\n(define increased-3-hop (set-union inc&inc-3-hop dec&dec-3-hop))\n(define increased<=3-hop (set-union increased<=2-hop increased-3-hop))\n(printf \"increased 3-hop: ~s ~s\\n\"\n        (set-count increased-3-hop)\n        (set-count increased<=3-hop))\n\n;; decrease\n(define dec&inc-3-hop (perturb-next-hop (set->list (set-subtract decreased-2-hop decreased-1-hop)) increases))\n(printf \"dec&inc 3-hop: ~s\\n\" (set-count dec&inc-3-hop))\n(define inc&dec-3-hop (perturb-next-hop (set->list (set-subtract increased-2-hop increased-1-hop)) decreases))\n(printf \"inc&dec 3-hop: ~s\\n\" (set-count inc&dec-3-hop))\n(define decreased-3-hop (set-union dec&inc-3-hop inc&dec-3-hop))\n(define decreased<=3-hop (set-union decreased<=2-hop decreased-3-hop))\n(printf \"decreased 3-hop: ~s ~s\\n\"\n        (set-count decreased-3-hop)\n        (set-count decreased<=3-hop))\n\n(define perturbed-3-hop (set-union increased-3-hop decreased-3-hop))\n(define perturbed<=3-hop (set-union increased<=3-hop decreased<=3-hop))\n(printf \"perturbed 3-hop: ~s ~s ~s ~s ~s ~s\\n\"\n        (set-count perturbed-3-hop)\n        (%hgnc-found (set-count perturbed-3-hop))\n        (%hgnc-total (set-count perturbed-3-hop))\n        (set-count perturbed<=3-hop)\n        (%hgnc-found (set-count perturbed<=3-hop))\n        (%hgnc-total (set-count perturbed<=3-hop)))\n\n;; Only do this when generating Robokop data.\n;(call-with-output-file\n  ;\"hgnc-robokop.txt\"\n  ;(lambda (out)\n    ;(for-each\n      ;(lambda (c) (fprintf out \"~a\\n\" (caddr c)))\n      ;(set->list perturbed<=3-hop))))\n\n;; Only do this comparison when we have Robokop data.\n;(define hgnc-robokop-ids (file->strings \"hgnc-robokop.txt\"))\n;(define hgnc-robokop-concepts (list->set (xref-curies hgnc-robokop-ids)))\n;(define hgnc-robokop-missing (- (length hgnc-robokop-ids) (set-count hgnc-robokop-concepts)))\n;(define hgnc-common (set-intersect hgnc-robokop-concepts perturbed<=3-hop))\n;(define hgnc-combined (set-union hgnc-robokop-concepts perturbed<=3-hop))\n;(define hgnc-total-perturbed (+ hgnc-robokop-missing (set-count hgnc-combined)))\n;(define extra         (- (set-count perturbed<=3-hop)\n                         ;(set-count hgnc-common)))\n;(define extra-robokop (- (length hgnc-robokop-ids)\n                         ;(set-count hgnc-common)))\n\n;(printf \"overlap with Robokop: this=~s robokop=~s; common=~s ~s\\n\"\n        ;(set-count perturbed<=3-hop)\n        ;(set-count hgnc-robokop-concepts)\n        ;(set-count hgnc-common)\n        ;(%hgnc-total (set-count hgnc-common)))\n\n;(printf \"missing: ~s\\n\" hgnc-robokop-missing)\n\n;(printf \"extra and combined contributions: extra=~s ~s; extra-robokop=~s ~s; combined=~s ~s\\n\"\n        ;extra                (%hgnc-total extra)\n        ;extra-robokop        (%hgnc-total extra-robokop)\n        ;hgnc-total-perturbed (%hgnc-total hgnc-total-perturbed))\n"
  },
  {
    "path": "contrib/medikanren/get-all-hgncs-from-raw-data.rkt",
    "content": "#lang racket\n(provide (all-defined-out)\n         (all-from-out \"../../medikanren/pieces-parts/synonymize.rkt\"))\n(require \"../../medikanren/pieces-parts/synonymize.rkt\")\n\n\n;; rtx2 contains a bunch of weird entries of the form:\n;;\n;; \"HGNC:24039/HGNC:<some number>\"\n;;\n;; \"HGNC:24039/HGNC:877\"\n;; \"HGNC:24039/HGNC:2602\"\n;; \"HGNC:24039/HGNC:470\"\n;;\n;; These are presumably errors.  We filter these out.\n\n(define get-hgncs-for-concept-file-path\n  (lambda (concept-file-path)\n    (let ((ip (open-input-file concept-file-path)))\n      (let loop ([cid 0]\n                 [data (read ip)]\n                 [s (set)])\n        (cond\n          [(eof-object? data)\n           (close-input-port ip)\n           (printf \"read ~s entries\\n\" cid)\n           s]\n          [else\n           (when (= (modulo cid 10000) 0)\n             (printf \"cid: ~s\\n\" cid))\n           (let ((s\n                  (let ((curie (vector-ref data 0)))\n                    (if (regexp-match #px\"^HGNC:[0-9]*$\" curie)\n                        (set-add s curie)\n                        s))))\n             (loop (add1 cid) (read ip) s))])))))\n\n(define (save-hgncs-to-file! s hgnc-file-path)\n  (define op (open-output-file hgnc-file-path #:exists 'replace))\n  (for-each (lambda (str) (write str op) (newline op)) (set->list s))\n  (close-output-port op))\n\n\n(printf \"processing robokop-hgncs\\n\")\n(define robokop-hgncs\n  (get-hgncs-for-concept-file-path \"data/robokop/concepts.scm\"))\n\n(printf \"processing rtx2-hgncs\\n\")\n(define rtx2-hgncs\n  (get-hgncs-for-concept-file-path \"data/rtx2/concepts.scm\"))\n\n(printf \"sorting all hgncs\\n\")\n(define all-hgncs\n  (sort (set->list (set-union robokop-hgncs\n                              rtx2-hgncs))\n        (lambda (str1 str2)\n          (let ((hgnc-curie->n (lambda (str)\n                                 (string->number (cadr (regexp-match #px\"^HGNC:([0-9]*)$\" str))))))\n            (let ((n1 (hgnc-curie->n str1))\n                  (n2 (hgnc-curie->n str2)))\n              (< n1 n2))))))\n\n; (printf \"saving all hgncs\\n\")\n; (save-hgncs-to-file! all-hgncs \"./all-hgnc-curies.scm\")\n\n(printf \"synonymizing hgncs\\n\")\n(define synonymized-hashes\n  (map\n    (lambda (curie)\n      (printf \"*** HGNC curie: ~s\\n\" curie)\n      (HGNC-CURIE->synonymized-concepts curie))\n    all-hgncs))\n\n;; > (begin (HGNC-CURIE->synonymized-concepts '(\"HGNC:8\")) 2)\n;; car: contract violation\n;;   expected: pair?\n;;   given: '()\n;; [,bt for context]\n\n(define ht (make-hash))\n\n(for-each\n  (lambda (h)\n    (let ((all-genes/proteins (set->list (hash-ref h 'all-genes/proteins))))\n      (for-each\n        (lambda (curie)\n          (hash-set! ht curie h))\n        all-genes/proteins)))\n  synonymized-hashes)\n\n;; TODO\n;; save ht to disk!\n"
  },
  {
    "path": "contrib/medikanren/make-kg-edge-covid19.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n\n#|\nname-file.edge.scm\n:ID :START :END\n\nex-row: 1 ENSEMBL:ENSG00000004059 ENSEMBL:ENSP00000000233\n\nname-file.edge-props.scm\n:ID propname value\n\nex-row: 1 edge_label biolink:has_gene_product\n  1 provided_by blah\n  1\n|#\n\n(define directory-path\n  \"data/covid19/\")\n(define edges-file\n  \"merged-kg_edges.tsv\")\n(define export-path directory-path)\n(define edges-export-path\n  (format \"~acovid19.edge.tsv\" export-path))\n(define edge-props-export-path\n  (format \"~acovid19.edgeprop.tsv\" export-path))\n\n(define edges-export-file\n  (open-output-file edges-export-path))\n(fprintf edges-export-file \":ID\\t:START\\t:END\\n\")\n(define edge-props-export-file\n  (open-output-file edge-props-export-path))\n(fprintf edge-props-export-file \":ID\\tpropname\\tvalue\\n\")\n(define input-edges\n  (open-input-file (format \"~a~a\" directory-path edges-file)))\n(let* ((header (read-line input-edges))\n       (header (cdr (string-split header \"\\t\" #:trim? #f))))\n  (let loop ((i 0)\n             (line-str (read-line input-edges)))\n    (cond\n      ((eof-object? line-str)\n       (close-input-port input-edges)\n       (close-output-port edges-export-file)\n       (close-output-port edge-props-export-file))\n      (else\n        (let ((line (cdr (string-split line-str \"\\t\" #:trim? #f))))\n          (fprintf edges-export-file \"~a\\t~a\\t~a\\n\" i (car line) (cadr line))\n          (let loop-inner ((props (cddr line))\n                           (headers (cddr header)))\n            (when (not (null? props))\n              (unless (string=? \"\" (car props))\n                (fprintf edge-props-export-file \"~a\\t~a\\t~s\\n\" i (car headers) (car props)))\n              (loop-inner (cdr props) (cdr headers)))))\n        (loop\n          (+ 1 i)\n          (read-line input-edges))))))\n"
  },
  {
    "path": "contrib/medikanren/make-kg-edge-general.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n\n#|\nname-file.edge.scm\n:ID :START :END\n\nex-row: 1 ENSEMBL:ENSG00000004059 ENSEMBL:ENSP00000000233\n\nname-file.edge-props.scm\n:ID propname value\n|#\n\n(define directory-path\n  ;; \"data/textminingprovider/\"\n  \"data/sri_semmeddb/\"\n  )\n(define edges-file\n  ;; \"sample-craft-edges.v0.1.kgx.tsv\"\n  \"semmeddb_edges.tsv\"\n  )\n(define export-path directory-path)\n(define edges-export-path\n  (format\n   ;; \"~atextminingprovider.edge.tsv\"\n   \"~asri_semmeddb.edge.tsv\"\n   export-path))\n(define edge-props-export-path\n  (format\n   ;; \"~atextminingprovider.edgeprop.tsv\"\n   \"~asri_semmeddb.edgeprop.tsv\"\n   export-path))\n\n(define edges-export-file\n  (open-output-file edges-export-path))\n(fprintf edges-export-file \":ID\\t:START\\t:END\\n\")\n(define edge-props-export-file\n  (open-output-file edge-props-export-path))\n(fprintf edge-props-export-file \":ID\\tpropname\\tvalue\\n\")\n(define input-edges\n  (open-input-file (format \"~a~a\" directory-path edges-file)))\n(let* ((header (read-line input-edges))\n       (header (string-split header \"\\t\" #:trim? #f)))\n  (let loop ((i 0)\n             (line-str (read-line input-edges)))\n    (cond\n      ((eof-object? line-str)\n       (close-input-port input-edges)\n       (close-output-port edges-export-file)\n       (close-output-port edge-props-export-file))\n      (else\n        (let ((line (string-split line-str \"\\t\" #:trim? #f)))\n          (fprintf edges-export-file \"~a\\t~a\\t~a\\n\" i (car line) (caddr line))\n          (let loop-inner ((props (cons (cadr line) (cddr line)))\n                           (headers (cons (cadr header) (cddr header))))\n            (when (not (null? props))\n              (unless (string=? \"\" (car props))\n                (fprintf edge-props-export-file \"~a\\t~a\\t~s\\n\" i (car headers) (car props)))\n              (loop-inner (cdr props) (cdr headers)))))\n        (loop\n          (+ 1 i)\n          (read-line input-edges))))))\n"
  },
  {
    "path": "contrib/medikanren/make-kg-edge-sri-reference-kg.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n\n#|\nname-file.edge.scm\n:ID :START :END\n\nex-row: 1 ENSEMBL:ENSG00000004059 ENSEMBL:ENSP00000000233\n\nname-file.edge-props.scm\n:ID propname value\n\nex-row: 1 edge_label biolink:has_gene_product\n  1 provided_by blah\n  1\n|#\n\n(define directory-path\n    \"data/sri-reference-kg-0.2.0/\")\n(define edges-file\n    \"sri-reference-kg-0.2.0_edges.tsv\")\n(define export-path directory-path)\n(define edges-export-path\n  (format \"~asri-reference-kg-0.2.0.edge.tsv\" export-path))\n(define edge-props-export-path\n  (format \"~asri-reference-kg-0.2.0.edgeprop.tsv\" export-path))\n\n(define edges-export-file\n  (open-output-file edges-export-path))\n(fprintf edges-export-file \":ID\\t:START\\t:END\\n\")\n\n(define edge-props-export-file\n  (open-output-file edge-props-export-path))\n(fprintf edge-props-export-file \":ID\\tpropname\\tvalue\\n\")\n\n(define input-edges\n  (open-input-file (format \"~a~a\" directory-path edges-file)))\n\n(let* ((header (read-line input-edges))\n       (header (string-split header \"\\t\" #:trim? #f)))\n  (let loop ((i 0)\n             (line-str (read-line input-edges)))\n    (cond\n      ((eof-object? line-str)\n       (close-input-port input-edges)\n       (close-output-port edges-export-file)\n       (close-output-port edge-props-export-file))\n      (else\n        (let ((line (string-split (string-trim line-str \"\\n\" #:left? #f) \"\\t\" #:trim? #f)))\n          (match line\n            [`(,id ,subject ,edge_label ,object . ,prop*)\n             (fprintf edges-export-file \"~a\\t~a\\t~a\\n\" i subject object)\n             (let loop-inner ((props (cons edge_label prop*))\n                              (headers (match header\n                                         [`(,id ,subject ,edge_label ,object . ,prop*)\n                                          (cons edge_label prop*)])))\n               (when (not (null? props))\n                 (unless (string=? \"\" (car props))\n                   (fprintf edge-props-export-file \"~a\\t~a\\t~s\\n\" i (car headers) (car props)))\n                 (loop-inner (cdr props) (cdr headers))))]))\n        (loop\n          (+ 1 i)\n          (read-line input-edges))))))\n"
  },
  {
    "path": "contrib/medikanren/make-kg-edge.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n\n#|\nname-file.edge.scm\n:ID :START :END\n\nex-row: 1 ENSEMBL:ENSG00000004059 ENSEMBL:ENSP00000000233\n\nname-file.edge-props.scm\n:ID propname value\n\nex-row: 1 edge_label biolink:has_gene_product\n        1 provided_by blah\n        1 \n\nname-file.node.scm\n:ID\n\nname-file.node-props.scm\n:ID propname value \n\n|#\n\n\n(define directory-path\n  \"/Users/michaelpatton/Desktop/data 2/merged/\")\n\n(define edges-file\n  \"merged-kg_edges.tsv\")\n\n\n(define export-path\n  (format \"~a\" (path->string (find-system-path 'desk-dir))))\n\n(define edges-export-path\n  (format \"~acovid19.edge.tsv\" export-path))\n\n(define edges-export-file\n  (open-output-file edges-export-path))\n\n(define edge-props-export-path\n  (format \"~acovid19.edgeprops.tsv\" export-path))\n\n(define edge-props-export-file\n  (open-output-file edge-props-export-path))\n\n(define input-edges\n  (open-input-file (format \"~a/~a\" directory-path edges-file)))\n\n(define input-nodes\n  (open-input-file (format \"~a/~a\" directory-path nodes-file)))\n\n(let* ((header (read-line input-edges))\n       (header (string-split header \"\\t\")))\n  (let loop ((i 0)\n             (line-str (read-line input-edges)))\n    (cond\n      ((eof-object? line-str)\n       (close-input-port input-edges)\n       (close-output-port edges-export-file)\n       (close-output-port edge-props-export-file))\n      (else\n       (let ((line (string-split line-str \"\\t\")))\n         (fprintf edges-export-file \"~a\\t~a\\t~a\\n\" i (car line) (cadr line))\n         (let loop-inner ((props (cddr line))\n                          (headers (cddr header)))\n           (when (not (null? props))\n             (unless (string=? \"\" (car props))\n               (fprintf edge-props-export-file \"~a\\t~a\\t~a\\n\" i (car headers) (car props)))             \n             (loop-inner (cdr props) (cdr headers)))))\n       (loop\n        (+ 1 i)\n        (read-line input-edges))))))\n\n\n\n\n \n"
  },
  {
    "path": "contrib/medikanren/make-kg-node-general.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n\n#|\nname-file.node.scm\n:ID\n\nname-file.node-props.scm\n:ID propname value\n|#\n\n\n(define directory-path\n  ;; \"data/covid19/\"\n  ;; \"data/textminingprovider/\"\n  \"data/sri_semmeddb/\"\n  )\n(define nodes-file\n  ;; \"merged-kg_nodes.tsv\"\n  ;; \"sample-craft-nodes.v0.1.kgx.tsv\"\n  \"semmeddb_nodes.tsv\"\n  )\n(define export-path directory-path)\n(define node-export-path\n  (format\n   ;; \"~acovid19.node.tsv\"\n   ;; \"~atextminingprovider.node.tsv\"\n   \"~asri_semmeddb.node.tsv\"\n   export-path))\n(define node-props-export-path\n  (format\n   ;; \"~acovid19.nodeprop.tsv\"\n   ;; \"~atextminingprovider.nodeprop.tsv\"\n   \"~asri_semmeddb.nodeprop.tsv\"\n   export-path))\n\n(define nodes-export-file\n  (open-output-file node-export-path))\n(fprintf nodes-export-file \":ID\\n\")\n(define node-props-export-file\n  (open-output-file node-props-export-path))\n(fprintf node-props-export-file \":ID\\tpropname\\tvalue\\n\")\n(define input-nodes\n  (open-input-file (format \"~a~a\" directory-path nodes-file)))\n(let* ((header (read-line input-nodes))\n       (header (string-split header \"\\t\" #:trim? #f)))\n  (let loop ((seen-nodes (set))\n             (line-str (read-line input-nodes)))\n    (cond\n      ((eof-object? line-str)\n       (close-input-port input-nodes)\n       (close-output-port nodes-export-file)\n       (close-output-port node-props-export-file))\n      (else\n        (let* ((line (string-split line-str \"\\t\" #:trim? #f))\n               (node (car line)))\n          (when (set-member? seen-nodes node)\n            (error 'make-kg-node (format \"already seen node: ~a\" node)))\n          (fprintf nodes-export-file \"~a\\n\" node)\n          (let loop-inner ((props (cdr line))\n                           (headers (cdr header)))\n            (when (not (null? props))\n              (unless (string=? \"\" (car props))\n                (fprintf node-props-export-file \"~a\\t~a\\t~s\\n\" node (car headers) (car props)))\n              (loop-inner (cdr props) (cdr headers))))\n          (loop\n            (set-add seen-nodes node)\n            (read-line input-nodes)))))))\n"
  },
  {
    "path": "contrib/medikanren/make-kg-node-sri-reference-kg.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n\n#|\nname-file.node.scm\n:ID\n\nname-file.node-props.scm\n:ID propname value\n|#\n\n\n(define directory-path\n  \"data/sri-reference-kg-0.2.0/\")\n(define nodes-file\n  \"sri-reference-kg-0.2.0_nodes.tsv\")\n(define export-path directory-path)\n(define node-export-path\n  (format \"~asri-reference-kg-0.2.0.node.tsv\" export-path))\n(define node-props-export-path\n  (format \"~asri-reference-kg-0.2.0.nodeprop.tsv\" export-path))\n\n(define nodes-export-file\n  (open-output-file node-export-path))\n(fprintf nodes-export-file \":ID\\n\")\n\n(define node-props-export-file\n  (open-output-file node-props-export-path))\n(fprintf node-props-export-file \":ID\\tpropname\\tvalue\\n\")\n\n(define input-nodes\n  (open-input-file (format \"~a~a\" directory-path nodes-file)))\n\n(let* ((header (read-line input-nodes))\n       (header (string-split header \"\\t\" #:trim? #f)))\n  (let loop ((seen-nodes (set))\n             (line-str (read-line input-nodes)))\n    (cond\n      ((eof-object? line-str)\n       (close-input-port input-nodes)\n       (close-output-port nodes-export-file)\n       (close-output-port node-props-export-file))\n      (else\n        (let* ((line (string-split line-str \"\\t\" #:trim? #f))\n               (node (car line)))\n          (when (set-member? seen-nodes node)\n            (error 'make-kg-node (format \"already seen node: ~a\" node)))\n          (fprintf nodes-export-file \"~a\\n\" node)\n          (let loop-inner ((props (cdr line))\n                           (headers (cdr header)))\n            (when (not (null? props))\n              (unless (string=? \"\" (car props))\n                (fprintf node-props-export-file \"~a\\t~a\\t~s\\n\" node (car headers) (car props)))\n              (loop-inner (cdr props) (cdr headers))))\n          (loop\n            (set-add seen-nodes node)\n            (read-line input-nodes)))))))\n"
  },
  {
    "path": "contrib/medikanren/make-kg-node.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n\n#|\nname-file.edge.scm\n:ID :START :END\n\nex-row: 1 ENSEMBL:ENSG00000004059 ENSEMBL:ENSP00000000233\n\nname-file.edge-props.scm\n:ID propname value\n\nex-row: 1 edge_label biolink:has_gene_product\n        1 provided_by blah\n        1\n\nname-file.node.scm\n:ID\n\nname-file.node-props.scm\n:ID propname value \n\n|#\n\n\n(define directory-path\n  \"/Users/michaelpatton/Desktop/data 2/merged/\")\n\n(define nodes-file\n  \"merged-kg_nodes.tsv\")\n\n(define export-path\n  (format \"~a\" (path->string (find-system-path 'desk-dir))))\n\n(define node-export-path\n  (format \"~acovid19.node.tsv\" export-path))\n\n(define nodes-export-file\n  (open-output-file node-export-path))\n\n(define node-props-export-path\n  (format \"~acovid19.nodeprops.tsv\" export-path))\n\n(define node-props-export-file\n  (open-output-file node-props-export-path))\n\n(define input-nodes\n  (open-input-file (format \"~a/~a\" directory-path nodes-file)))\n\n(let* ((header (read-line input-nodes))\n       (header (string-split header \"\\t\")))\n  (let loop ((seen-nodes (set))\n             (line-str (read-line input-nodes)))\n    (cond\n      ((eof-object? line-str)\n       (close-input-port input-nodes)\n       (close-output-port nodes-export-file)\n       (close-output-port node-props-export-file))\n      (else\n       (let* ((line (string-split line-str \"\\t\"))\n              (node (car line)))\n         (fprintf nodes-export-file \"~a\\n\" node)\n         (let loop-inner ((props (cdr line))\n                          (headers (cdr header)))\n           (when (not (null? props))\n             (unless (string=? \"\" (car props))\n               (fprintf node-props-export-file \"~a\\t~a\\t~a\\n\" node (car headers) (car props)))             \n             (loop-inner (cdr props) (cdr headers))))\n         (loop        \n          (set-add seen-nodes node)\n          (read-line input-nodes)))))))\n\n\n\n\n \n"
  },
  {
    "path": "contrib/medikanren/marissa/migraine-case.rkt",
    "content": "#lang racket\n(require \"../../medikanren/pieces-parts/query.rkt\")\n\n#|\nThis file focuses on migraine conditions as an example case, but these functions can be applied\nto many different conditions.\n\nThe functions in this file can be used to find pathways involved in diseases/conditions that are\nnot yet targeted by drug treatments. This information can be useful for drug discovery or finding\ndrug repurposing candidates.\n\nIt can also be used for patient cases. It can help determine what pathways were targeted by\ntreatments that were or weren't effective for a patient. Then, if a treatment was effective but\ncaused many side effects, the user can look for another drug that targets the same pathway in\nthe same way, and may be as effective whithout as many side effects. Or if no treatments have\nbeen effective, the user can look for pathways that the patient has not yet tried to target\nand can see if there are any available treatments that target those pathways.\n\nKGs loaded*:\nuab-pmi\nsemmed\numlsmeta\norange\nrobokop\nrtx2\ncovid19\ntextminingprovider\npr-owl\nsri_semmeddb\nsri-reference-kg\n\n*Although loading all of these is more comprehensive, rtx2 is necessary and sufficient for\ngetting some useful results.\n|#\n\n#|\nHelpful functions for reporting and viewing results\n|#\n(define (unwrap lst)\n  (cond [(or (null? lst) (not (list? lst))) lst]\n        [(list? (car lst)) (append (car lst) (unwrap (cdr lst)))]\n        [else (cons (car lst) (unwrap (cdr lst)))]))\n\n(define (curie->curie/name curie)\n  (assoc curie (curie-synonyms/names curie)))\n\n(define (concept->curie/name concept)\n  (cons (concept->curie concept) (concept->name concept)))\n\n(define (edges->preds edges)\n  (remove-duplicates (map edge->pred edges)))\n\n(define (summarize-curie curie)\n  (let ([concepts (find-concepts #t (list curie))])\n    (map (lambda (c) (list (concept->dbname c) (concept->curie c) (concept->name c) (concept->category c))) concepts)))\n\n#|\nRedefining category filters. The ones in query.rkt don't include \"biolink\" categories\n|#\n(define gene-or-protein '(;; rtx2\n                          \"biolink:Protein\"\n                          \"biolink:GeneProduct\"\n                          \"biolink:Gene\"\n                          \"biolink:GeneFamily\"\n                          \"biolink:GenomicEntity\"\n                          ;; semmed\n                          \"gene\"\n                          ;; robokop\n                          \"(\\\"named_thing\\\" \\\"gene\\\")\"\n                          ;; orange\n                          \"(\\\"gene\\\")\"\n                          \"(\\\"genomic entity\\\" \\\"gene\\\")\"\n                          \"(\\\"gene\\\" \\\"genomic entity\\\")\"\n                          ;; semmed\n                          \"biological_entity\" ;; with \\\"Amino Acid, Peptide, or Protein\\\" in \"umls_type_label\"\n                          ;; robokop\n                          ;; orange\n                          \"(\\\"gene\\\" \\\"genomic entity\\\")\"))\n\n(define drug '(;; rtx2\n               \"biolink:Drug\"\n               \"biolink:ChemicalSubstance\"\n               ;; semmed\n               \"chemical_substance\"\n               ;; robokop\n               \"(\\\"named_thing\\\" \\\"chemical_substance\\\")\"))\n\n\n;;------------------------------------------Migraine case-------------------------------------------------\n\n#|\nDefining all parent migraine curies found using find-concepts, filtering by categories, and manual\nfiltering and checking of heirarchy\n|#\n;; UMLS\n(define migraine-disorders-umls \"UMLS:C0149931\") ;; has same supers as migraine-disorders-cui\n(define migraine-variant-umls \"UMLS:C0042331\") ;; suclass_of -> CUI-supers\n(define common-migraine-umls \"UMLS:C0338480\")\n(define migraine-with-aura-umls \"UMLS:C0154723\")\n\n;; HP\n(define migraine-hp \"HP:0002076\")\n\n;; DOID\n(define migraine-disorder-doid \"DOID:6364\")\n\n;; MONDO\n(define migraine-disorder-mondo \"MONDO:0005277\")\n\n;; OMIM\n(define migraine-omim \"OMIM:157300\")\n\n#|\nCompiles all curies into one list\n|#\n(define migraine-parent-curies (list migraine-disorders-umls\n                                    migraine-variant-umls\n                                    common-migraine-umls\n                                    migraine-with-aura-umls\n                                    migraine-hp\n                                    migraine-disorder-doid\n                                    migraine-disorder-mondo\n                                    migraine-omim))\n\n#|\nGets the concepts associated with all the parent curies\n|#\n(define migraine-parent-concepts (find-concepts #t migraine-parent-curies))\n\n#|\nGiven a list of disease concepts, this uses run/graph to find the drugs that are indicated for\nor used to treat/prevent the disease concepts. It is meant to be run for one disease at a time,\nbut it allows for the input of a list of disease concepts because you often need multiple concepts\nto comprehensively represent a disease for the query.\n\nReturns a list of the drug to disease edges from the query. The drug concepts can be extracted\nusing calls to (edge->subject), and the curies can be extracted using (edge->subject) and\n(concept->curie).\n|#\n(define (drugs-indicated-for-r/g disease-concepts)\n  (define treats (find-exact-predicates '(\"biolink:treats\"\n                                          \"treats\"\n                                          \"biolink:prevents\"\n                                          \"prevents\"\n                                          )))\n  (match-define\n    (list concepts edges)\n    (run/graph\n     ((Dr #f)\n      (Dis disease-concepts))\n     ((Dr->Dis treats))\n     (Dr Dr->Dis Dis)))\n  \n  (hash-ref edges 'Dr->Dis))\n\n#|\nDoes the same thing as (drugs-indicated-for-r/g) except it takes a list of curies rather than\nconcepts and uses query/graph rather than run/graph.\n\nReturns the same thing as (drugs-indicated-for-r/g), a list of drug to disease edges.\n|#\n(define (drugs-indicated-for-q/g disease-curies)\n  (define drug-lst '())\n  (define treats '(\"biolink:treats\"\n                   \"treats\"))\n  (for-each\n   (lambda (d)\n     (define q (query/graph\n                ((Dr drug)\n                 (Dis d))\n                ((Dr->Dis treats))\n                (Dr Dr->Dis Dis)))\n     (set! drug-lst (set-union drug-lst (edges/query q 'Dr->Dis))))\n   disease-curies)\n  drug-lst\n  )\n\n#|\nTakes in a list of drug concepts and uses run/graph to find the biological pathways those drugs\ntarget.\n\nReturns a list of the drug to pathway edges. Pathway concepts can be extracted using (edge->object),\nand the pathway curies can be extracted using (edge->object) and (concept->curie).\n|#\n(define (find-drug-target-pathways-r/g drug-concepts)\n  (define participates-in (find-predicates '(\"biolink:participates_in\")))\n  (match-define\n    (list concepts edges)\n    (run/graph\n     ((D drug-concepts)\n      (P #f))\n     ((D->P participates-in))\n     (D D->P P)))\n  (hash-ref edges 'D->P))\n\n#|\nDoes the same thing as (find-drug-target-pathways-r/g) except it takes a list of drug curies instead\nof concepts and uses query/graph instead of run/graph.\n\nReturns the same thing as (find-drug-target-pathways-r/g), a list of drug to pathway edges.\n|#\n(define (find-drug-target-pathways-q/g drug-curies)\n  (define pathway-lst '())\n  (for-each\n   (lambda (d)\n     (define q (query/graph\n                ((D d)\n                 (P #f))\n                ((D->P '(\"biolink:participates_in\")))\n                (D D->P P)))\n     (set! pathway-lst (set-union pathway-lst (edges/query q 'D->P))))\n   drug-curies)\n  pathway-lst)\n\n#|\nTakes a list of pathway concepts and uses run/graph to find the proteins that participate in that\npathway.\n\nReturns a list of protein to pathway edges.\n|#\n(define (find-prots-in-pathways pathway-concepts)\n  (define participates-in (find-predicates '(\"biolink:participates_in\")))\n  (match-define\n    (list concepts edges)\n    (run/graph\n     ((U #f)\n      (P pathway-concepts))\n     ((U->P participates-in))\n     (U U->P P)))\n  \n  (filter (lambda (e)\n            (string-prefix? (concept->curie (edge->subject e))\n                            \"UniProtKB\"))\n          (hash-ref edges 'U->P)))\n\n#|\nTakes a list of protein concepts and uses run/graph to find all the pathways the proteins participate in.\n\nReturns a list of protein to pathway edges.\n|#\n(define (find-pathways-invovled-in prot-concepts)\n  (define participates-in (find-predicates '(\"biolink:participates_in\")))\n  (match-define\n    (list concepts edges)\n    (run/graph\n     ((U prot-concepts)\n      (P #f))\n     ((U->P participates-in))\n     (U U->P P)))\n  \n  (filter (lambda (e)\n            (string-prefix? (concept->curie (edge->object e))\n                            \"PathWhiz\"))\n          (hash-ref edges 'U->P)))\n  \n#|\nGiven a list of disease curies, uses query/graph to find the genes or proteins associated with that\ndisease/condition.\n\nReturns a list of gene/protein to disease edges.\n|#\n(define (genes/prots-assoc-with-disease disease-curies)\n  (define associated-with '(;; UniProt -> DOID, MONDO, OMIM\n                            \"biolink:correlated_with\"\n                            ;; UniProt -> DOID\n                            \"biolink:gene_associated_with_condition\"\n                            ;; UniProt -> HP\n                            \"biolink:has_phenotype\"\n                            ;; \" -> OMIM, MONDO\n                            \"biolink:causes\"\n                            \"biolink:participates_in\"\n                            ;;\n                            \"predisposes\"\n                            \"has_phenotype\"\n                            \"contributes_to\"\n                            \"causes\"\n                            \"gene_associated_with_condition\"\n                            \"biomarker_for\"))\n  (define gene/prot-lst '())\n  (for-each\n   (lambda (d)\n     (define q (query/graph\n                ((G/P gene-or-protein)\n                 (Dis d))\n                ((G/P->Dis associated-with))\n                (G/P G/P->Dis Dis)))\n     (set! gene/prot-lst (set-union gene/prot-lst (edges/query q 'G/P->Dis)))\n     )\n   disease-curies)\n  gene/prot-lst\n  )\n\n#|\nTakes a list of biological pathway curies and uses query/graph to find the drugs that target them.\n\nReturns a list of drug to pathway edges.\n|#\n(define (find-drugs-for-pathways pathway-curies)\n  (define pathway-lst '())\n  (for-each\n   (lambda (p)\n     (define q (query/graph\n                ((D drug)\n                 (P p))\n                ((D->P '(\"biolink:participates_in\")))\n                (D D->P P)))\n     (set! pathway-lst (set-union pathway-lst (edges/query q 'D->P))))\n   pathway-curies)\n  pathway-lst)\n\n#|Example\n;;Drugs that treat migraines\n(define drug->migraine (drugs-indicated-for-q/g migraine-parent-curies))\n(define migraine-drug-concepts (map edge->subject drug->migraine))\n(define migraine-drug-curies (map concept->curie (map edge->subject drug->migraine)))\n\n;;Pathways targeted by drugs\n(define drug->target-pathways (find-drug-target-pathways-q/g migraine-drug-curies))\n(define drug-pathway-concepts (map edge->object drug->target-pathways))\n(define drug-pathway-curies (map concept->curie (map edge->object drug->target-pathways)))\n\n;;Proteins involved in pathways targeted by drugs\n(define prots->drug-pathways (find-prots-in-pathways drug-pathway-concepts))\n(define prots-in-drug-pathways-concepts (map edge->subject prots->drug-pathways))\n(define prots-in-drug-pathways-curies (remove-duplicates (map concept->curie (map edge->subject prots->drug-pathways))))\n\n;;Genes/prots associated with migraines\n(define g/p->disease (genes/prots-assoc-with-disease migraine-parent-curies))\n(define g/p-concepts (map edge->subject g/p->disease))\n(define g/p-curies (map concept->curie (map edge->subject g/p->disease)))\n\n;;Pathways involved in migraine conditions\n(define g/p->disease-pathways (find-pathways-invovled-in g/p-concepts))\n(define disease-pathway-concepts (map edge->object g/p->disease-pathways))\n(define disease-pathway-curies (map concept->curie (map edge->object g/p->disease-pathways)))\n\n;;Cross-referencing disease and drug pathways\n(define targeted-pathways (set-intersect drug-pathway-curies disease-pathway-curies))\n(define non-targeted-pathways (set-subtract disease-pathway-curies drug-pathway-curies))\n\n(map curie->curie/name targeted-pathways)\n(map curie->curie/name non-targeted-pathways)\n\n;;Find drugs for pathways not yet targeted by migraine drugs\n(define repurposing-candidates->pathways (find-drugs-for-pathways non-targeted-pathways))\n(define drug-repurposing-candidate-concepts (map edge->subject repurposing-candidates->pathways))\n(define drug-repurposing-candidate-curies (map concept->curie (map edge->subject repurposing-candidates->pathways)))\n|#"
  },
  {
    "path": "contrib/medikanren/marissa/patient-case-workflow.rkt",
    "content": "#lang racket\n(require \"../../medikanren/pieces-parts/query.rkt\")\n\n(define (unwrap lst)\n  (cond [(or (null? lst) (not (list? lst))) lst]\n        [(list? (car lst)) (append (car lst) (unwrap (cdr lst)))]\n        [else (cons (car lst) (unwrap (cdr lst)))]))\n\n(define (PR-prefix? curie)\n  (string-prefix? curie \"PR:\"))\n\n(define (curie->curie/name curie)\n  (assoc curie (curie-synonyms/names curie)))\n\n(define (concept->curie/name concept)\n  (cons (concept->curie concept) (concept->name concept)))\n\n(define (edges->preds edges)\n  (remove-duplicates (map edge->pred edges)))\n  \n\n(define (summarize-curie curie)\n  (let ([concepts (find-concepts #t (list curie))])\n    (map (lambda (c) (list (concept->dbname c) (concept->curie c) (concept->name c) (concept->category c))) concepts)))\n\n(define cell-categories '(;;rtx2\n                          \"biolink:CellularComponent\"\n                          \"biolink:Cell\"\n                          \"biolink:OntologyClass|biolink:CellularComponent\"\n                          \"biolink:OntologyClass|biolink:Cell\"\n                          ;;robokop\n                          \"\\\"cellular_component\\\"\"\n                          \"\\\"cell\\\"\"\n                          ;;semmed\n                          \"cell\"\n                          \"cell_component\"))\n\n(define subclass-of '(\"biolink:subClassOf\"\n                      \"subclass_of\"))\n\n(define subclass-of-r/g (find-predicates subclass-of))\n\n(define pos/neg-regulates-entity-to-entity '(\"biolink:negatively_regulates_entity_to_entity\"\n                                             \"biolink:positively_regulates_entity_to_entity\"))\n\n;;----------------------------------------Traversing PR----------------------------------------------\n#|HGNC -> PR -> general PR code\n  Drug or gene/protein -> general PR code|#\n\n(define hum-P450 \"PR:P10635\")\n(define hum-TP53 \"PR:P04637\")\n\n#|\nGiven a PR curie, uses query/graph to traverse the textminingprovider kg to find the parent curie or\nsuper curie.\n\nReturns a list of the super curie, name pairs.\n|#\n(define (find-supers-q/g curie)\n  (let ([q (query/graph\n            ((Sub curie)\n             (Sup #f))\n            ((Sub->Sup subclass-of))\n            (Sub Sub->Sup Sup))])\n    (map curie->curie/name (curies/query q 'Sup))))\n\n#|\nDoes the same thing as (find-supers-q/g) except using run/graph.\n|#\n(define (find-supers-r/g curie)\n  (define concept (find-concepts #t (list curie)))\n  (match-define\n    (list concepts edges)\n    (run/graph\n     ((Sub concept)\n      (Sup #f))\n     ((Sub->Sup subclass-of-r/g))\n     (Sub Sub->Sup Sup)))\n  \n  (map concept->curie/name (hash-ref concepts 'Sup)))\n\n#|\nTakes a PR curie and uses query/graph to find its subclasses.\n\nReturns a list of subclass curie, name pairs.\n|#\n(define (find-subclasses curie)\n  (let ([q (query/graph\n            ((Sub #f)\n             (Sup curie))\n            ((Sub->Sup subclass-of))\n            (Sub Sub->Sup Sup))])\n    (map curie->curie/name (curies/query q 'Sub))))\n\n#|\nTakes a list of human genes and uses query/graph to find their orthologs.\n\nReturns a list of ortholog curie, name pairs.\n|#\n(define (find-orthologs superclass-curie)\n  (let ([q (query/graph\n            ((O #f)\n             (Sup superclass-curie))\n            ((O->Sup subclass-of))\n            (O O->Sup Sup))])\n    (map curie->curie/name (curies/query q 'O))))\n\n#|\nTakes a PR curie and uses query/graph to find any drugs that positively or negatively regulate\nthat gene or ortholog.\n|#\n(define (find-drugs/chems curie)\n  (let ([q (query/graph\n            ((D/G #f)\n             (P/G curie))\n            ((D/G->P/G pos/neg-regulates-entity-to-entity))\n            (D/G D/G->P/G P/G))])\n    (map curie->curie/name (curies/query q 'D/G))))\n\n#|Examples-----------------------------------------------------------------------------\n(find-supers-q/g hum-TP53)\n;; User selects correct curie from dropdown, something along those lines\n(define super-TP53 \"PR:000003035\")\n(find-orthologs super-TP53)\n;; User selects all orthologs they're interested in\n(map (lambda (x) (find-drugs/chems (car x))) (find-orthologs super-TP53))\n(find-drugs/chems super-TP53)\n\n(find-supers-q/g hum-P450)\n;; User selects correct curie from dropdown, something along those lines\n(define super-P450 \"PR:000006121\")\n(find-orthologs super-P450)\n|#"
  },
  {
    "path": "contrib/medikanren/marvin.rkt",
    "content": "#lang racket\n\n;;; Find drugs that budge a given gene/set of genes up or down\n\n;;; Prototype for more sophisticated automated/semi-automated\n;;; workflows and workflow interfaces\n\n(provide\n  (all-from-out \"mk.rkt\")\n  (all-from-out \"db.rkt\")\n  (all-from-out \"mk-db.rkt\")\n  (all-from-out \"common.rkt\")  \n  (all-from-out racket/date)\n  (all-defined-out))\n\n(require\n  \"../../medikanren/mk.rkt\"\n  \"../../medikanren/db.rkt\"\n  \"../../medikanren/mk-db.rkt\"\n  \"../../medikanren/pieces-parts/common.rkt\"\n  \"../../medikanren/pieces-parts/create-all-hashtables.rkt\"\n  racket/date\n  (except-in racket/match ==))\n\n;;; Dont' print a quote at the beginning of values.\n(print-as-expression #f)\n\n;;; directions\n(define DECREASE 'DECREASE)\n(define INCREASE 'INCREASE)\n(define DECREASE/INCREASE 'DECREASE/INCREASE)\n\n(define D-G-increases-predicate-names\n  '(\"positively_regulates\"\n    ;; \"causes\"\n    ;; \"produces\"  ;;; maybe??\n    ;; \"causes_condition\"\n    ;; \"causally_related_to\"\n    ;; \"contributes_to\"\n    ;; \"causes_adverse_event\"\n    ;; \"gene_associated_with_condition\"\n    ;; \"gene_mutations_contribute_to\"\n    ;; \"disease_to_gene_association\"\n    \"increases_activity_of\"\n    \"increases_expression_of\"\n    \"increases_molecular_interaction\"\n    \"increases_response_to\"\n    \"increases_secretion_of\"\n    \"increases_stability_of\"\n    \"increases_synthesis_of\"\n    \"increases_transport_of\"\n    \"increases_uptake_of\"\n    \"decreases_degradation_of\"\n    \"posetively_regulates\" ;;; robokop typo??\n    ;; \"positively_regulates__entity_to_entity\"\n    ;; \"increases_molecular_modification_of\"\n    ;; \"increases_localization_of\"\n    ;; \"increases_splicing_of\"\n    ;; \"decreases_mutation_rate_of\"\n    ;; \"predisposes\"\n    ;; \"decreases_metabolic_processing_of\"\n    ))\n\n(define D-G-decreases-predicate-names\n  '(\"negatively_regulates\"\n    \"prevents\"\n    \"treats\"\n    \"indicated_for\"\n    \"decreases_activity_of\"\n    \"decreases_expression_of\"\n    \"decreases_molecular_interaction\"\n    \"decreases_secretion_of\"\n    \"decreases_synthesis_of\"\n    \"decreases_transport_of\"\n    \"decreases_uptake_of\"\n    \"disrupts\"\n    \"increases_degradation_of\"\n    ;; \"negatively_regulates__entity_to_entity\"\n    ;; \"increases_metabolic_processing_of\"\n    ;; \"decreases_response_to\"\n    ;; \"decreases_localization_of\"\n    ;; \"decreases_molecular_modification_of\"\n    ))\n\n\n(define ROBOKOP_GENE_CATEGORY '(0 . \"(\\\"named_thing\\\" \\\"gene\\\")\"))\n(define ROBOKOP_EQUIVALENT_IDENTIFIERS_KEY \"equivalent_identifiers\")\n\n\n(define VERSION_STRING \"mediKanren Marvin Prototype 0.1.0 (Simple Drug-for-Gene Workflow Module)\")\n(displayln VERSION_STRING)\n\n\n(printf \"loading or creating hashtables, as necessary...\\n\")\n(load-or-create/save-all-hashtables!)\n\n\n(displayln \"loading semmed knowledge graph\")\n(define semmed (make-db \"data/semmed\"))\n(displayln \"loading rtx knowledge graph\")\n(define rtx (make-db \"data/rtx\"))\n(displayln \"loading robokop knowledge graph\")\n(define robokop (make-db \"data/robokop\"))\n(displayln \"loading orange knowledge graph\")\n(define orange (make-db \"data/orange\"))\n\n\n(printf \"Marvin online.\\n\")\n\n\n(define (simple-drug-for-gene-workflow gene-symbol-string direction)\n  (printf \"Running simple-drug-for-target-gene-workflow for gene ~s in direction ~s\\n\" gene-symbol-string direction)\n  (printf \"Trying to find a drug or biological entity that will budge target gene ~s in direction ~s\\n\" gene-symbol-string direction)\n  (printf \"Starting workflow for ~s/~s at date/time: ~a\\n\" gene-symbol-string direction (date->string (seconds->date (current-seconds)) #t))\n\n  ;;; Do a concept lookup in Robokop for the gene-symbol-string as the CUI (exact match, case sensitive).\n  ;;; Error is none is found, or if more than one is found.\n  ;;; Error if the type of the concept isn't \n  ;;; [Eventually need to be able to recover from error.]\n  (printf \"Looking up a concept in the Robokop Knowledge graph containing the concept name ~s...\\n\" gene-symbol-string)\n\n  (define robokop-concepts-containing-gene-symbol-name\n    (run* (concept)\n      (db:~name*-concepto/options\n       #t ;;case-sensitive?\n       \"\" ;; chars:ignore\n       \"\" ;; chars:split\n       robokop\n       (list gene-symbol-string)\n       concept)))\n\n  (printf \"Found ~s concept(s) in Robokop that contain the concept name ~s:\\n\\n\"\n          (length robokop-concepts-containing-gene-symbol-name)\n          gene-symbol-string)\n\n  (for-each\n    (lambda (c) (pretty-print c) (newline))\n    robokop-concepts-containing-gene-symbol-name)\n  \n  (printf \"Filtering out all found concepts whose name doesn't exactly match the string ~s\\n\" gene-symbol-string)\n\n  (define robokop-concepts-with-exact-gene-name\n    (filter\n     (lambda (c)\n       (match c\n         [`(,cid ,cui ,name (,catid . ,cat) ,props)\n          (string=? gene-symbol-string name)]))\n     robokop-concepts-containing-gene-symbol-name))\n\n  ;; make sure we no longer use the old concept list\n  (set! robokop-concepts-containing-gene-symbol-name #f)\n \n  (printf \"Keeping ~s Robokop concept(s) whose name exactly matches ~s:\\n\\n\"\n          (length robokop-concepts-with-exact-gene-name)\n          gene-symbol-string)\n\n  (for-each\n    (lambda (c) (pretty-print c) (newline))\n    robokop-concepts-with-exact-gene-name)\n\n  ;;; In the case of \"KRAS\", should produce the concept:\n  ;;;\n  ;; (23561\n  ;;  \"HGNC:6407\"\n  ;;  \"KRAS\"\n  ;;  (0 . \"(\\\"named_thing\\\" \\\"gene\\\")\")\n  ;;  ((\"locus_group\" . \"protein-coding gene\")\n  ;;   (\"chromosome\" . \"12\")\n  ;;   (\"taxon\" . \"9606\")\n  ;;   (\"location\" . \"12p12.1\")\n  ;;   (\"gene_family\" . \"(\\\"RAS type GTPase family\\\")\")\n  ;;   (\"id\" . \"HGNC:6407\")\n  ;;   (\"gene_family_id\" . \"(389)\")\n  ;;   (\"equivalent_identifiers\"\n  ;;    .\n  ;;    \"(\\\"ENSEMBL:ENSG00000133703\\\" \\\"UniProtKB:P01116\\\" \\\"NCBIGENE:3845\\\" \\\"UniProtKB:I1SRC5\\\" \\\"UniProtKB:L7RSL8\\\" \\\"HGNC:6407\\\" \\\"UniProtKB:G3V5T7\\\" \\\"UniProtKB:G3V4K2\\\" \\\"UniProtKB:A0A024RAV5\\\")\")))\n\n  \n  (if (= (length robokop-concepts-with-exact-gene-name) 1)\n      (printf \"Exactly 1 Robokop concept has a name that exactly matches ~s, as expected.  Continuing...\\n\\n\" gene-symbol-string)\n      (error (format \"ERROR  Expected exactly 1 Robokop concept whose name exactly matches ~s.  Found ~s instead.\"\n                     gene-symbol-string\n                     (length robokop-concepts-with-exact-gene-name))))\n  \n  (define robokop-target-gene-concept (car robokop-concepts-with-exact-gene-name))\n  ;; make sure we no longer use the old concept list\n  (set! robokop-concepts-with-exact-gene-name #f)\n    \n  (match robokop-target-gene-concept\n    [`(,cid ,cui ,name ,category ,props)\n\n     (if (equal? category ROBOKOP_GENE_CATEGORY)\n         (printf \"The remaining Robokop concept has the expected category, ~s.  Continuing...\\n\\n\" ROBOKOP_GENE_CATEGORY)\n         (error (format \"ERROR  The remaining Robokop concept has the category ~s rather than the expected category ~s\"\n                        category\n                        ROBOKOP_GENE_CATEGORY))) \n     \n     ])\n\n  ;;; Next step: extract the HGNC code from the CUI, and extract the ENSEMBL and UniProtKB names (hmm--should we lookup all the UniProtKB equivalents, if there is more than one?  Is that okay?) (What about the NCBIGENE name?  Is that useful at all?)\n  (define robokop-target-gene-concept-CUI/props\n    (match robokop-target-gene-concept\n      [`(,cid ,cui ,name (,catid . ,cat) ,props)\n       (list cui props)]))\n\n  (printf \"Extracted CUI and properties from Robokop target gene concept:\\n\\n~s\\n\\n\" robokop-target-gene-concept-CUI/props)\n  \n  (define robokop-target-gene-concept-CUI (car robokop-target-gene-concept-CUI/props))\n\n  (printf \"Robokop target gene concept CUI: ~s\\n\" robokop-target-gene-concept-CUI)\n\n  (printf \"Checking that Robokop target gene concept CUI is a valid HGNC identifier of the form \\\"HGNC:<integer>\\\"\\n\")\n  (if (regexp-match #rx\"^HGNC:[0-9]+$\" robokop-target-gene-concept-CUI)\n      (printf \"Robokop target gene concept CUI ~s is a valid HGNC identifier of the form \\\"HGNC:<integer>\\\", as expected.  Continuing...\\n\\n\" robokop-target-gene-concept-CUI)\n      (error (format \"ERROR  Robokop target gene concept CUI ~s is not a valid HGNC identifier of the form \\\"HGNC:<integer>\\\"\"\n                     robokop-target-gene-concept-CUI)))\n\n  (define robokop-target-gene-concept-HGNC-ID robokop-target-gene-concept-CUI)\n\n  (define robokop-target-gene-concept-property-list (cadr robokop-target-gene-concept-CUI/props))\n   \n  (printf \"Looking up ~s list in Robokop target gene property list:\\n\\n~s\\n\\n\" ROBOKOP_EQUIVALENT_IDENTIFIERS_KEY robokop-target-gene-concept-property-list)\n\n  (define robokop-target-gene-concept-equivalent-identifiers\n    (let ((v (assoc ROBOKOP_EQUIVALENT_IDENTIFIERS_KEY robokop-target-gene-concept-property-list)))\n      (and v (cdr v))))\n\n  (if robokop-target-gene-concept-equivalent-identifiers\n      (printf \"Found equivalent identifiers list for Robokop target gene, as expected:\\n~s\\nContinuing...\\n\\n\"\n              robokop-target-gene-concept-equivalent-identifiers)\n      (error (format \"ERROR  Unable to find key ~s in property list ~s\"\n                     ROBOKOP_EQUIVALENT_IDENTIFIERS_KEY\n                     robokop-target-gene-concept-property-list)))\n\n  (printf \"Extracting ENSMBL equivalent identifiers...\\n\") \n  (define robokop-target-gene-concept-ENSEMBL-CUIs\n    (regexp-match* #rx\"ENSEMBL:[A-Z0-9]+\" robokop-target-gene-concept-equivalent-identifiers))\n  (printf \"Extracted ENSMBL equivalent identifiers:\\n~s\\n\\n\" robokop-target-gene-concept-ENSEMBL-CUIs)\n\n  (printf \"Extracting HGNC equivalent identifiers...\\n\") \n  (define robokop-target-gene-concept-HGNC-CUIs\n    (regexp-match* #rx\"HGNC:[0-9]+\" robokop-target-gene-concept-equivalent-identifiers))\n  (printf \"Extracted HGNC equivalent identifiers:\\n~s\\n\\n\" robokop-target-gene-concept-HGNC-CUIs)\n\n  (printf \"Extracting OMIM equivalent identifiers...\\n\") \n  (define robokop-target-gene-concept-OMIM-CUIs\n    (regexp-match* #rx\"OMIM:[A-Z0-9]+\" robokop-target-gene-concept-equivalent-identifiers))\n  (printf \"Extracted OMIM equivalent identifiers:\\n~s\\n\\n\" robokop-target-gene-concept-OMIM-CUIs)\n  \n  (printf \"Extracting UniProtKB equivalent identifiers...\\n\")\n  (define robokop-target-gene-concept-UniProtKB-CUIs\n    (regexp-match* #rx\"UniProtKB:[A-Z0-9]+\" robokop-target-gene-concept-equivalent-identifiers))\n  (printf \"Extracted UniProtKB equivalent identifiers:\\n~s\\n\\n\" robokop-target-gene-concept-UniProtKB-CUIs)\n\n\n  (define (find-CIDs-for-CUI CUI hashtable CUI-ID-regex)\n    (define ID* (regexp-match* CUI-ID-regex CUI #:match-select cadr))\n    (define ID #f)\n    (if (and (list? ID*) (= (length ID*) 1))\n        (set! ID (car ID*))\n        (error (format \"ERROR  find-CIDs-for-CUI expected ID* to be a singleton list, instead got ~s\" ID*)))\n    (printf \"Looking up ID ~s from CUI ~s in hashtable...\\n\"\n            ID\n            CUI)\n    (define concept-DB/IDs-for-CUI (hash-ref hashtable ID '()))\n    (printf \"Found these concept DB/CIDs for ID ~s from CUI ~s in hashtable:\\n\\n~s\\n\\n\"\n            ID\n            CUI\n            concept-DB/IDs-for-CUI)\n    concept-DB/IDs-for-CUI)\n\n  (define (find-CIDs-for-multiple-CUIs CUI* hashtable CUI-ID-regex)\n    (let loop ([CUI* CUI*]\n               [CID* (set)])\n      (cond\n        ((null? CUI*)\n         (let ((CID* (set->list CID*)))\n           (printf \"in aggregate, found these CIDs for all CUIs:\\n~s\\n\\n\" CID*)\n           CID*))\n        (else (let ((CUI (car CUI*))\n                    (rest (cdr CUI*)))\n                (printf \"looking up CIDs for CUI ~s...\\n\" CUI)\n                (let ((res (find-CIDs-for-CUI CUI hashtable CUI-ID-regex)))\n                  (printf \"found these CIDs for CUI ~s:\\n~s\\n\" CUI res)\n                  (loop rest\n                        (set-union (list->set res) CID*))))))))\n\n  (define (find-concepts-for-CIDs CID*)\n    (printf \"finding concepts for concept IDs ~s...\\n\" CID*)\n    (define concepts\n      (apply append\n             (map\n              (lambda (db-key/cid)\n                (let ((db-key (car db-key/cid))\n                      (cid (cdr db-key/cid)))\n                  (let ((db (case db-key\n                              ((semmed) semmed)\n                              ((rtx) rtx)\n                              ((robokop) robokop)\n                              ((orange) orange))))\n                    (map (lambda (c) (cons db-key c))\n                         (run* (concept)\n                           (fresh (rest)\n                             (== `(,cid . ,rest) concept)\n                             (db:concepto db concept)))))))\n              CID*)))\n    (printf \"found these concepts for concept IDs ~s:\\n\" CID*)\n    (for-each (lambda (c) (printf \"~s\\n\" c)) concepts)\n    (newline)\n    concepts)\n  \n  ;; special case: single HGNCI CUI as the Robokop main CUI\n  (printf \"finding concept IDs for canonical Robolop HGNC CUI...\\n\")\n  (define CIDs-for-single-HGNCI-CUI\n    (find-CIDs-for-CUI robokop-target-gene-concept-CUI hgnc-ht #rx\"^HGNC:([0-9]+)$\"))\n\n  (define concepts-for-single-HGNCI-CUI\n    (find-concepts-for-CIDs CIDs-for-single-HGNCI-CUI))\n\n  \n  \n  (printf \"finding concept IDs for ENSEMBL equivalents...\\n\")\n  (define CIDs-for-ENSEMBL-CUIs\n    (find-CIDs-for-multiple-CUIs\n      robokop-target-gene-concept-ENSEMBL-CUIs\n      ensembl-ht\n      #rx\"^ENSEMBL:([A-Z0-9]+)$\"))\n  \n  (define concepts-for-ENSEMBL-CUIs\n    (find-concepts-for-CIDs CIDs-for-ENSEMBL-CUIs))\n\n  \n  (printf \"finding concept IDs for HGNC equivalents...\\n\")\n  (define CIDs-for-HGNC-CUIs\n    (find-CIDs-for-multiple-CUIs\n      robokop-target-gene-concept-HGNC-CUIs\n      hgnc-ht\n      #rx\"^HGNC:([0-9]+)$\"))\n\n  (define concepts-for-HGNC-CUIs\n    (find-concepts-for-CIDs CIDs-for-HGNC-CUIs))\n\n  \n  (printf \"finding concept IDs for UniProtKB equivalents...\\n\")\n  (define CIDs-for-UniProtKB-CUIs\n    (find-CIDs-for-multiple-CUIs\n      robokop-target-gene-concept-UniProtKB-CUIs\n      uniprotkb-ht\n      #rx\"^UniProtKB:([A-Z0-9]+)$\"))\n\n  (define concepts-for-UniProtKB-CUIs\n    (find-concepts-for-CIDs CIDs-for-UniProtKB-CUIs))\n\n\n  (define all-concepts-from-original-robokop-concept\n    (set->list\n      (set-union\n        (set (cons 'robokop robokop-target-gene-concept))\n        (list->set concepts-for-single-HGNCI-CUI)\n        (list->set concepts-for-ENSEMBL-CUIs)\n        (list->set concepts-for-HGNC-CUIs)\n        (list->set concepts-for-UniProtKB-CUIs))))\n  (printf \"all concepts equivalent to original Robokop concept:\\n\")\n  (for-each (lambda (c) (printf \"~s\\n\" c)) all-concepts-from-original-robokop-concept)\n  (newline)\n\n\n  (printf \"looking for equivalent semmed concepts, by concept name...\\n\")\n\n  (define semmed-protein-name (string-append gene-symbol-string \" Protein\"))\n  (printf \"looking for '<gene> Protein' (~s) concept name in semmed...\\n\" semmed-protein-name)\n  (define semmed-protein-concepts\n    (map\n      (lambda (c) (cons 'semmed c))\n      (filter\n        (lambda (c)\n          (match c\n            [`(,cid ,cui ,name (,catid . ,cat) ,props)\n             (string=? (string-downcase name)\n                       (string-downcase semmed-protein-name))]))\n        (run* (concept)\n          (db:~name*-concepto/options\n           #f ;;case-sensitive?\n           \"\" ;; chars:ignore\n           \"\" ;; chars:split\n           semmed\n           (list semmed-protein-name)\n           concept)))))\n  (printf \"'<gene> Protein' (~s) concepts in semmed:\\n\" semmed-protein-name)\n  (for-each (lambda (c) (printf \"~s\\n\" c)) semmed-protein-concepts)\n  (newline)\n\n  (define semmed-wt-allele-name (string-append gene-symbol-string \" wt Allele\"))\n  (printf \"looking for '<gene> wt Allele' (~s) concept name in semmed...\\n\" semmed-wt-allele-name)\n  (define semmed-wt-allele-concepts\n    (map\n      (lambda (c) (cons 'semmed c))\n      (filter\n        (lambda (c)\n          (match c\n            [`(,cid ,cui ,name (,catid . ,cat) ,props)\n             (string=? (string-downcase name)\n                       (string-downcase semmed-wt-allele-name))]))\n        (run* (concept)\n          (db:~name*-concepto/options\n           #f ;;case-sensitive?\n           \"\" ;; chars:ignore\n           \"\" ;; chars:split\n           semmed\n           (list semmed-wt-allele-name)\n           concept)))))\n  (printf \"'<gene> wt Allele' (~s) concepts in semmed:\\n\" semmed-wt-allele-name)\n  (for-each (lambda (c) (printf \"~s\\n\" c)) semmed-wt-allele-concepts)\n  (newline)\n\n  (define semmed-gene-mutation-name (string-append gene-symbol-string \" gene mutation\"))\n  (printf \"looking for '<gene> gene mutation' (~s) concept name in semmed...\\n\" semmed-gene-mutation-name)\n  (define semmed-gene-mutation-concepts\n    (map\n      (lambda (c) (cons 'semmed c))\n      (filter\n        (lambda (c)\n          (match c\n            [`(,cid ,cui ,name (,catid . ,cat) ,props)\n             (string=? (string-downcase name)\n                       (string-downcase semmed-gene-mutation-name))]))\n        (run* (concept)\n          (db:~name*-concepto/options\n           #f ;;case-sensitive?\n           \"\" ;; chars:ignore\n           \"\" ;; chars:split\n           semmed\n           (list semmed-gene-mutation-name)\n           concept)))))\n  (printf \"'<gene> gene mutation' (~s) concepts in semmed:\\n\" semmed-gene-mutation-name)\n  (for-each (lambda (c) (printf \"~s\\n\" c)) semmed-gene-mutation-concepts)\n  (newline)\n  \n  \n  (define all-concepts-under-consideration-from-original-gene-name\n    (set->list\n      (set-union\n        (list->set all-concepts-from-original-robokop-concept)\n        (list->set semmed-protein-concepts)\n        (list->set semmed-wt-allele-concepts)\n        (list->set semmed-gene-mutation-concepts))))\n  (printf \"all concepts under consideration from original gene symbol name (~s):\\n\" gene-symbol-string)\n  (for-each (lambda (c) (printf \"~s\\n\" c)) all-concepts-under-consideration-from-original-gene-name)\n  (newline)\n  \n  \n  (newline)\n  (printf \"Ending Marvin workflow for ~s/~s at date/time: ~a\\n\" gene-symbol-string direction (date->string (seconds->date (current-seconds)) #t))\n  (displayln \"-----------------------------------------------------\")\n  (newline)\n  (newline)\n  )\n\n\n\n\n\n(simple-drug-for-gene-workflow \"KRAS\" DECREASE)\n\n;; RTX has many BRCA1-related concepts, such as\n;; 'BRCA1/BRCA2-containing complex subunit 3'.  How many of these\n;; would be relevant for increase/decrease queries?\n;;\n;; Make a best effort to select the relevant concepts, and show user\n;; the concepts that include 'BRCA1' in their name but *aren't* being\n;; selected (and give user a chance to intervene and change the\n;; selections).\n(simple-drug-for-gene-workflow \"BRCA1\" DECREASE)\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/CHAMP1_RNA_seq_original.rkt",
    "content": "#lang racket\n(require\n  \"../../../medikanren/pieces-parts/query.rkt\"\n  \"Thi-useful-functions.rkt\")\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******************************;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*********GENERAL SEARCH********;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; *** Data Sources:\n;; - Processed CHAMP1 RNAseq data from outside of mediKanren\n;; - RNA was obtained from patients or control\n;;  cultured fibroblasts derived from skin biopsies\n;;\n;; *** Objective:\n;; Repurpose drugs for CHAMP1 genetic disorder using RNAseq data from patients-derived skin fibroblasts\n\n;; First, I'm doing exploratory searches for the disease information related to CHAMP1 genes:\n;; Find disease conditions that are related to CHAMP1 genes\n(curie-synonyms/names \"HGNC:20311\")\n(define CHAMP1 \"HGNC:20311\")\n;; Check the diseases and conditions associted with the CHAMP1 gene\n(define q-disease-CHAMP1 (time (query/graph\n                     ((S disease)\n                      (O CHAMP1))\n                     ((S->O #f))\n                     (S S->O O))))\n\n(define disease-CHAMP1-edges (edges/query q-disease-CHAMP1 'S->O))\n\n;; The results show that CHAMP1 gene (chromosome alignment-maintaining phosphoprotein, is a protein-coding gene,\n;; a member of the zinc fingers C2H2-types protein, located on chromosome 13q34)\n;; is associated with certain disease conditions such as\n;; mental retardation (autosomal dominant), rare (non-syndromic) intellectual disability, monogenic genetic\n;; central nervous system disorder, mental disorder, and psychiatric disorder. \n\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******************************;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******STRATEGY NUMBER 1*******;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; In this strategy, we want to find drugs that target the genes that belong to enriched functional categories\n;; such as cell cycle and cell senescence, retinol metabolism (which are results from gene set enrichemnet analysis (GSEA) performed\n;; outside of medikanren).\n;; GSEA has identified a number of genes that are upregulated in CHAMP1 fibroblasts compared to control fibroblasts.\n\n;; First, find HGNC CURIEs (\"HGNC:\") of each gene from the gene name (either by using\n;; genecards database \"https://www.genecards.org/\" or using mediKanren's find-concepts\n;; ,then check if they are synonymized.\n;; If the CURIE is synonymized, we use it to define the gene/protein in query/graph\n;; eg:\n\n(find-concepts #f (list \"VIM\"))\n(curie-synonyms/names \"HGNC:1583\")\n\n\n;; genes that are altered in the cell cycle pathway:\n(define CCND2 \"HGNC:1583\") ;; cell cycle up-regulated\n(define TUBA1A \"HGNC:20766\") ;; cell cycle down-regulated\n;; cell senescence pathway:\n;(define CCND2 \"HGNC:1583\") ;; up-regulated\n(define RASSF5 \"HGNC:17609\") ;; up-regulated\n;; DNA replication| apoptosis \n(define PSMA5 \"HGNC:9534\");; up-regulated\n;; Oocyte meiosis | progesterone-mediated oocyte maturation| calcium signaling\n(define ADCY4 \"HGNC:235\");; up-regulate\n;; retinol metabolism:\n(define ALDH1A1 \"HGNC:402\");; up-regulated\n;; ABC transporter:\n(define ABCA13 \"HGNC:14638\");; up-regulated\n;; HIV infection| calcium\n(define PTK2B \"HGNC:9612\");; up-regulated\n(define AP1G2 \"HGNC:556\");; up-regulated\n;; amyotropic lateral sclerosis | apoptosis\n(define TNFRSF1B \"HGNC:11917\");; down-regulated\n;; regulation of actin cytoskeleton:\n(define FGF10 \"HGNC:3666\");;  up-regulated\n(define CHRM2 \"HGNC:1951\");; down-regulated\n;; Gonadotropin hormone-releasing\n(define KCNN4 \"HGNC:6293\");; down-regulated\n;; ECM receptor interaction:\n(define CD36 \"HGNC:1663\");;  up-regulated\n;; Neuroactive ligand-receptor interaction | calcium\n(define EDNRB \"HGNC:3180\") ;;  up-regulated\n(define LHB \"HGNC:6584\");; down-regulated\n;; mRNA surveillance:\n(define MSI2 \"HGNC:18585\") ;; down-regulated\n;; calcium\n;(define ADCY4 \"HGNC:235\");; up-regulated\n;(define PTK2B \"HGNC:9612\");; up-regulated\n(define ERBB4 \"HGNC:3432\");; up-regulated\n;(define CHRM2 \"HGNC:1951\");; down-regulated\n;(define EDNRB \"HGNC:3180\") ;;  up-regulated\n;; apoptosis:\n(define VIM \"HGNC:12692\");; down-regulated\n\n\n;; All selected upregulated genes in enriched functional categories are:\n(define functional-cat-up (list CCND2 RASSF5 PSMA5 ADCY4 ALDH1A1 ABCA13 PTK2B\n                                AP1G2 FGF10 CD36 EDNRB EDNRB ERBB4))\n(define functional-cat-down (list TUBA1A TNFRSF1B CHRM2 KCNN4 LHB MSI2 VIM))\n\n\n(define results-CHAMP1-functional-cat-down (find-drugs-for-genes functional-cat-up positively-regulates))\n(define results-CHAMP1-functional-cat-up (find-drugs-for-genes functional-cat-up negatively-regulates))\n;;extract drug=>gene hash-table:\n(define drug=>gene-CHAMP1-functional-cat-down (car results-CHAMP1-functional-cat-down))\n(define drug=>gene-CHAMP1-functional-cat-up (car results-CHAMP1-functional-cat-up))\n;;extract gene=>drug hash-table:\n(define gene=>drug-CHAMP1-functional-cat-down (cadr results-CHAMP1-functional-cat-down))\n(define gene=>drug-CHAMP1-functional-cat-up (car results-CHAMP1-functional-cat-up))\n(define drug=>gene-strategy1 (merge-assoc-lists (list drug=>gene-CHAMP1-functional-cat-down drug=>gene-CHAMP1-functional-cat-up)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******************************;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******STRATEGY NUMBER 2*******;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n\n;; Based on literature research, we identifed 5 different disease conditions that are associated with CHAMP1 genetic disorder:\n\n(define hypotonia-concepts (find-concepts #f (list \"hypotonia\")))\n(define cerebral-palsy-concepts (find-concepts #f (list \"cerebral palsy\")))\n(define autism-concepts (find-concepts #f (list \"autism\")))\n(define dev-delay-concepts (find-concepts #f (list \"developmental delay\")))\n(define epilepsy-concepts (find-concepts #f (list \"epilepsy\")))\n\n\n;; In this 2nd strategy, we first search for all the genes that are associated with the five CHAMP1\n;; disease associated conditions using run/graph\n\n(match-define\n  (list name=>concepts name=>edges)\n  (run/graph\n   ((S #f)\n    (O (set-union hypotonia-concepts\n                  cerebral-palsy-concepts\n                  autism-concepts\n                  dev-delay-concepts\n                  epilepsy-concepts)))\n   ((S->O gene-to-disease-preds))\n   (S S->O O)))\n\n;; filter the subjects to retain only genes or proteins and get their names:\n(map (lambda (y) (cons (concept->curie y) (concept->name y)))\n     (filter (lambda (x)\n               (gene/protein-concept? (concept->curie x))) (hash-ref name=>concepts 'S)))\n\n;; This filter results in 1397 genes/proteins that are related to CHAMP1 patients' phenotypes.\n;; I then cleaned the data, converted it to .csv and mapped different gene/protein identifers to HGNC symbols\n;; then I removed duplicates and NA.\n;; This resulted in 934 genes.\n;; Using these genes, I plot a volcano plot that show differences in expression levels between\n;; CHAMP1 patients fibroblasts vs control fibroblasts.\n;; This visualisation shows genes that are statistically significantly altered between these\n;; two conditions. These genes become our drug targets.\n\n\n;; Now we want to find drugs that reverse the directions of DEG genes (which are genes found to be associated\n;; with CHAMP1 patients' phenotypes- the results from the run/graph above.\n;; Directionality is provided by gene expression values (determined by experiments on CHAMP1 patients' fibroblasts).\n;; For genes that are significantly upregulated, we want to find drugs that decrease their expression, and vice versa.\n\n\n;; Abstract genes that are upregulated:\n(define CACNB4 \"HGNC:1404\")\n(define PRICKLE1 \"HGNC:17019\")\n(define DMD \"HGNC:2928\")\n(define SHANK2 \"HGNC:14295\")\n(define MAP2 \"HGNC:6839\")\n(define H19 \"HGNC:4713\")\n(define BCHE \"HGNC:983\")\n(define EFNA5 \"HGNC:3225\")\n(define CNTNAP2 \"HGNC:13830\")\n(define ANKH \"HGNC:15492\")\n(define SLC12A6 \"HGNC:10914\")\n(define CHAMP1-phenotype-RNA-up\n  (list CACNB4 PRICKLE1 DMD SHANK2 MAP2 H19 BCHE EFNA5 CNTNAP2 ANKH SLC12A6))\n\n;; Alternatively, for genes that are significantly downregulatated, we want to find drugs that increase their expression: \n(define GABRA5 \"HGNC:4079\")\n;(define TNFRSF1B \"HGNC:11917\")\n(define STX1B \"HGNC:18539\")\n(define RBFA \"HGNC:26120\")\n(define CHAMP1-phenotype-RNA-down\n  (list GABRA5 TNFRSF1B STX1B RBFA))\n\n\n\n;; Now we use the function find-drugs-for-genes in Thi's-useful-functions:\n(define results-CHAMP1-phenotype-RNA-up (find-drugs-for-genes CHAMP1-phenotype-RNA-up negatively-regulates))\n(define drug=>gene-CHAMP1-phenotype-RNA-up (car results-CHAMP1-phenotype-RNA-up))\n(define gene=>drug-CHAMP1-phenotype-RNA-up (cadr results-CHAMP1-phenotype-RNA-up))\n\n(define results-CHAMP1-phenotype-RNA-down (find-drugs-for-genes CHAMP1-phenotype-RNA-down positively-regulates))\n(define drug=>gene-CHAMP1-phenotype-RNA-down (car results-CHAMP1-phenotype-RNA-down))\n(define gene=>drug-CHAMP1-phenotype-RNA-down (cadr results-CHAMP1-phenotype-RNA-down))\n\n;; use the get-num-values function in Thi's-useful-functions:\n(define drug=>gene-CHAMP1-phenotype-RNA-up-with-stats (get-num-values drug=>gene-CHAMP1-phenotype-RNA-up))\n(define gene=>drug-CHAMP1-phenotype-RNA-up-with-stats (get-num-values gene=>drug-CHAMP1-phenotype-RNA-up))\n\n(define drug=>gene-CHAMP1-phenotype-RNA-down-with-stats (get-num-values drug=>gene-CHAMP1-phenotype-RNA-down))\n(define gene=>drug-CHAMP1-phenotype-RNA-down-with-stats (get-num-values gene=>drug-CHAMP1-phenotype-RNA-down))\n\n(define merged_strategy2 (merge-2-assoc-list drug=>gene-CHAMP1-phenotype-RNA-up drug=>gene-CHAMP1-phenotype-RNA-down))\n(define merged_trategy2_count (get-num-values (car merged_strategy2)))\n\n(define merged_strategy2_genes (merge-2-assoc-list gene=>drug-CHAMP1-phenotype-RNA-up gene=>drug-CHAMP1-phenotype-RNA-down))\n(define merged_trategy2_genes_count (get-num-values (car merged_strategy2_genes)))\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******************************;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******STRATEGY NUMBER 3*******;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; 2-edge queries to find drugs that treat the CHAMP1 disease conditions and reverse the gene expression directions:\n;; These are all significantly altered genes in differential expression analyses performed outside of mediKanren\n\n(define CHAMP1-DE-RNA-up (list \"ENSEMBL:ENSG00000228630\"\n                               \"ENSEMBL:ENSG00000261340\"\n                               \"ENSEMBL:ENSG00000083937\"\n                               \"ENSEMBL:ENSG00000143106\"\n                               \"ENSEMBL:ENSG00000140199\"\n                               \"ENSEMBL:ENSG00000065357\"\n                               \"ENSEMBL:ENSG00000129480\"\n                               \"ENSEMBL:ENSG00000162688\"\n                               \"ENSEMBL:ENSG00000180818\"\n                               \"ENSEMBL:ENSG00000136478\"\n                               \"ENSEMBL:ENSG00000065413\"\n                               \"ENSEMBL:ENSG00000167394\"\n                               \"ENSEMBL:ENSG00000163249\"\n                               \"ENSEMBL:ENSG00000118762\"\n                               \"ENSEMBL:ENSG00000185070\"\n                               \"ENSEMBL:ENSG00000089060\"\n                               \"ENSEMBL:ENSG00000173221\"\n                               \"ENSEMBL:ENSG00000175040\"\n                               \"ENSEMBL:ENSG00000112964\"\n                               \"ENSEMBL:ENSG00000111670\"\n                               \"ENSEMBL:ENSG00000119986\"\n                               \"ENSEMBL:ENSG00000106415\"\n                               \"ENSEMBL:ENSG00000038427\"\n                               \"ENSEMBL:ENSG00000154122\"\n                               \"ENSEMBL:ENSG00000176531\"\n                               \"ENSEMBL:ENSG00000121413\"\n                               \"ENSEMBL:ENSG00000176809\"\n                               \"ENSEMBL:ENSG00000165804\"\n                               \"ENSEMBL:ENSG00000198948\"\n                               \"ENSEMBL:ENSG00000012171\"\n                               \"ENSEMBL:ENSG00000267454\"\n                               \"ENSEMBL:ENSG00000182379\"\n                               \"ENSEMBL:ENSG00000213983\"\n                               \"ENSEMBL:ENSG00000169313\"\n                               \"ENSEMBL:ENSG00000137573\"\n                               \"ENSEMBL:ENSG00000174469\"\n                               \"ENSEMBL:ENSG00000189129\"\n                               \"ENSEMBL:ENSG00000112378\"\n                               \"ENSEMBL:ENSG00000136048\"\n                               \"ENSEMBL:ENSG00000101134\"\n                               \"ENSEMBL:ENSG00000176928\"\n                               \"ENSEMBL:ENSG00000184916\"\n                               \"ENSEMBL:ENSG00000162643\"\n                               \"ENSEMBL:ENSG00000266094\"\n                               \"ENSEMBL:ENSG00000150540\"\n                               \"ENSEMBL:ENSG00000176771\"\n                               \"ENSEMBL:ENSG00000138772\"\n                               \"ENSEMBL:ENSG00000115271\"\n                               \"ENSEMBL:ENSG00000250133\"\n                               \"ENSEMBL:ENSG00000179104\"\n                               \"ENSEMBL:ENSG00000145390\"\n                               \"ENSEMBL:ENSG00000184349\"\n                               \"ENSEMBL:ENSG00000101605\"\n                               \"ENSEMBL:ENSG00000205002\"\n                               \"ENSEMBL:ENSG00000198133\"\n                               \"ENSEMBL:ENSG00000205835\"\n                               \"ENSEMBL:ENSG00000165113\"\n                               \"ENSEMBL:ENSG00000172403\"\n                               \"ENSEMBL:ENSG00000120899\"\n                               \"ENSEMBL:ENSG00000174600\"\n                               \"ENSEMBL:ENSG00000099260\"\n                               \"ENSEMBL:ENSG00000137727\"\n                               \"ENSEMBL:ENSG00000136160\"\n                               \"ENSEMBL:ENSG00000182901\"\n                               \"ENSEMBL:ENSG00000112981\"\n                               \"ENSEMBL:ENSG00000242600\"\n                               \"ENSEMBL:ENSG00000115604\"\n                               \"ENSEMBL:ENSG00000144229\"\n                               \"ENSEMBL:ENSG00000151623\"\n                               \"ENSEMBL:ENSG00000165023\"\n                               \"ENSEMBL:ENSG00000152804\"\n                               \"ENSEMBL:ENSG00000112379\"\n                               \"ENSEMBL:ENSG00000082497\"\n                               \"ENSEMBL:ENSG00000144645\"\n                               \"ENSEMBL:ENSG00000196208\"\n                               \"ENSEMBL:ENSG00000228495\"\n                               \"ENSEMBL:ENSG00000135919\"\n                               \"ENSEMBL:ENSG00000211448\"\n                               \"ENSEMBL:ENSG00000141449\"\n                               \"ENSEMBL:ENSG00000203727\"\n                               \"ENSEMBL:ENSG00000013588\"\n                               \"ENSEMBL:ENSG00000130600\"\n                               \"ENSEMBL:ENSG00000126861\"\n                               \"ENSEMBL:ENSG00000165084\"\n                               \"ENSEMBL:ENSG00000179869\"\n                               \"ENSEMBL:ENSG00000114200\"\n                               \"ENSEMBL:ENSG00000143028\"\n                               \"ENSEMBL:ENSG00000164106\"\n                               \"ENSEMBL:ENSG00000138449\"\n                               \"ENSEMBL:ENSG00000110723\"\n                               \"ENSEMBL:ENSG00000162687\"\n                               \"ENSEMBL:ENSG00000183775\"\n                               \"ENSEMBL:ENSG00000106538\"\n                               \"ENSEMBL:ENSG00000064225\"\n                               \"ENSEMBL:ENSG00000086289\"\n                               \"ENSEMBL:ENSG00000070193\"\n                               \"ENSEMBL:ENSG00000116183\"\n                               \"ENSEMBL:ENSG00000102109\"\n                               \"ENSEMBL:ENSG00000078018\"\n                               \"ENSEMBL:ENSG00000099864\"\n                               \"ENSEMBL:ENSG00000173391\"\n                               \"ENSEMBL:ENSG00000198947\"\n                               \"ENSEMBL:ENSG00000139174\"\n                               \"ENSEMBL:ENSG00000165092\"\n                               \"ENSEMBL:ENSG00000162105\"\n                               \"ENSEMBL:ENSG00000137672\"\n                               \"ENSEMBL:ENSG00000178568\"\n                               \"ENSEMBL:ENSG00000064042\"\n                               \"ENSEMBL:ENSG00000135218\"\n                               \"ENSEMBL:ENSG00000126785\"\n                               \"ENSEMBL:ENSG00000240694\"\n                               \"ENSEMBL:ENSG00000248874\"\n                               \"ENSEMBL:ENSG00000118971\"\n                               \"ENSEMBL:ENSG00000182389\"\n                               \"ENSEMBL:ENSG00000129467\"\n                               \"ENSEMBL:ENSG00000106483\"\n                               \"ENSEMBL:ENSG00000123572\"))\n\n\n(define CHAMP1-DE-RNA-down (list   \"EMSEMBL:ENSG00000204792\"\n                                   \"EMSEMBL:ENSG00000166796\"\n                                   \"EMSEMBL:ENSG00000186297\"\n                                   \"EMSEMBL:ENSG00000005379\"\n                                   \"EMSEMBL:ENSG00000234465\"\n                                   \"EMSEMBL:ENSG00000165887\"\n                                   \"EMSEMBL:ENSG00000115648\"\n                                   \"EMSEMBL:ENSG00000102575\"\n                                   \"EMSEMBL:ENSG00000175084\"\n                                   \"EMSEMBL:ENSG00000145824\"\n                                   \"EMSEMBL:ENSG00000213030\"\n                                   \"EMSEMBL:ENSG00000132639\"\n                                   \"EMSEMBL:ENSG00000006606\"\n                                   \"EMSEMBL:ENSG00000101017\"\n                                   \"EMSEMBL:ENSG00000154451\"\n                                   \"EMSEMBL:ENSG00000169429\"\n                                   \"EMSEMBL:ENSG00000104826\"\n                                   \"EMSEMBL:ENSG00000163618\"\n                                   \"EMSEMBL:ENSG00000147573\"\n                                   \"EMSEMBL:ENSG00000171517\"\n                                   \"EMSEMBL:ENSG00000130720\"\n                                   \"EMSEMBL:ENSG00000157557\"\n                                   \"EMSEMBL:ENSG00000178882\"\n                                   \"EMSEMBL:ENSG00000156453\"\n                                   \"EMSEMBL:ENSG00000148803\"\n                                   \"EMSEMBL:ENSG00000107611\"\n                                   \"EMSEMBL:ENSG00000175294\"\n                                   \"EMSEMBL:ENSG00000181072\"\n                                   \"EMSEMBL:ENSG00000104783\"\n                                   \"EMSEMBL:ENSG00000128285\"\n                                   \"EMSEMBL:ENSG00000080823\"\n                                   \"EMSEMBL:ENSG00000167889\"\n                                   \"EMSEMBL:ENSG00000124191\"\n                                   \"EMSEMBL:ENSG00000163701\"\n                                   \"EMSEMBL:ENSG00000076706\"\n                                   \"EMSEMBL:ENSG00000144354\"\n                                   \"EMSEMBL:ENSG00000103034\"\n                                   \"EMSEMBL:ENSG00000164929\"\n                                   \"EMSEMBL:ENSG00000204103\"\n                                   \"EMSEMBL:ENSG00000242265\"\n                                   \"EMSEMBL:ENSG00000196460\"\n                                   \"EMSEMBL:ENSG00000138395\"\n                                   \"EMSEMBL:ENSG00000225968\"\n                                   \"EMSEMBL:ENSG00000028137\"\n                                   \"EMSEMBL:ENSG00000091622\"\n                                   \"EMSEMBL:ENSG00000125968\"\n                                   \"EMSEMBL:ENSG00000173848\"\n                                   \"EMSEMBL:ENSG00000239332\"\n                                   \"EMSEMBL:ENSG00000139278\"\n                                   \"EMSEMBL:ENSG00000137563\"\n                                   \"EMSEMBL:ENSG00000163814\"\n                                   \"EMSEMBL:ENSG00000121904\"\n                                   \"EMSEMBL:ENSG00000186847\"\n                                   \"EMSEMBL:ENSG00000099365\"\n                                   \"EMSEMBL:ENSG00000136490\"\n                                   \"EMSEMBL:ENSG00000100181\"\n                                   \"EMSEMBL:ENSG00000079462\"\n                                   \"EMSEMBL:ENSG00000026025\"\n                                   \"EMSEMBL:ENSG00000105255\"\n                                   \"EMSEMBL:ENSG00000188064\"\n                                   \"EMSEMBL:ENSG00000103449\"\n                                   \"EMSEMBL:ENSG00000235162\"\n                                   \"EMSEMBL:ENSG00000074410\"\n                                   \"EMSEMBL:ENSG00000170961\"\n                                   \"EMSEMBL:ENSG00000140280\"\n                                   \"EMSEMBL:ENSG00000187583\"\n                                   \"EMSEMBL:ENSG00000205683\"\n                                   \"EMSEMBL:ENSG00000109062\"\n                                   \"EMSEMBL:ENSG00000159231\"\n                                   \"EMSEMBL:ENSG00000183077\"\n                                   \"EMSEMBL:ENSG00000173588\"\n                                   \"EMSEMBL:ENSG00000167552\"\n                                   \"EMSEMBL:ENSG00000243156\"\n                                   \"EMSEMBL:ENSG00000166886\"\n                                   \"EMSEMBL:ENSG00000153944\"\n                                   \"EMSEMBL:ENSG00000196912\"\n                                   \"EMSEMBL:ENSG00000183506\"\n                                   \"EMSEMBL:ENSG00000156535\"\n                                   \"EMSEMBL:ENSG00000087266\"\n                                   \"EMSEMBL:ENSG00000170921\"\n                                   \"EMSEMBL:ENSG00000185052\"\n                                   \"EMSEMBL:ENSG00000089486\"\n                                   \"EMSEMBL:ENSG00000196155\"\n                                   \"EMSEMBL:ENSG00000101546\"\n                                   \"EMSEMBL:ENSG00000038382\"\n                                   \"EMSEMBL:ENSG00000167460\"\n                                   \"EMSEMBL:ENSG00000186281\"\n                                   \"EMSEMBL:ENSG00000130309\"\n                                   \"EMSEMBL:ENSG00000054523\"\n                                   \"EMSEMBL:ENSG00000100097\"\n                                   \"EMSEMBL:ENSG00000142892\"\n                                   \"EMSEMBL:ENSG00000231419\"\n                                   \"EMSEMBL:ENSG00000163687\"))\n\n;; define CHAMP1 disease related conditions:\n(define dev-delay \"HP:0001263\")\n(define hypotonia \"HP:0001252\")\n(define cerebral-palsy \"HP:0100021\")\n(define autism \"MONDO:0005260\")\n(define epilepsy \"MONDO:0005027\")\n\n;; The function find-drug-for-condition takes a disease condition, a gene list (derived from RNA-seq DEG results)\n;; a list of drug-to-gene predicates that we want the drug to modulate.\n;; This function will run a query/graph that does a 2-edge query which find drugs that modify the disease condition\n;; while also modulate the gene in the gene list\n;; this function will return a list which contains 2 hash-tables which are sorted based on the number\n;; of genes or drugs available:\n\n; Use the find-drug-for-condition from Thi-useful-functions.rkt:\n(define dev-delay-drug-results-RNA-up (find-drug-for-condition dev-delay CHAMP1-DE-RNA-up negatively-regulates))\n(define dev-delay-drug-results-RNA-down (find-drug-for-condition dev-delay CHAMP1-DE-RNA-down positively-regulates))\n\n(define hypotonia-drug-results-RNA-up (find-drug-for-condition hypotonia CHAMP1-DE-RNA-up negatively-regulates))\n(define hypotonia-drug-results-RNA-down (find-drug-for-condition hypotonia CHAMP1-DE-RNA-up negatively-regulates))\n\n(define cerebral-palsy-drug-results-RNA-up (find-drug-for-condition cerebral-palsy CHAMP1-DE-RNA-up negatively-regulates))\n(define cerebral-palsy-drug-results-RNA-down (find-drug-for-condition cerebral-palsy CHAMP1-DE-RNA-down positively-regulates))\n\n(define autism-drug-results-RNA-up (find-drug-for-condition autism CHAMP1-DE-RNA-up negatively-regulates))\n(define autism-drug-results-RNA-down (find-drug-for-condition autism CHAMP1-DE-RNA-down positively-regulates))\n\n(define epilepsy-drug-results-RNA-up (find-drug-for-condition epilepsy CHAMP1-DE-RNA-up negatively-regulates))\n(define epilepsy-drug-results-RNA-down (find-drug-for-condition epilepsy CHAMP1-DE-RNA-down positively-regulates))\n\n;; Extract gene=>drug and drug=>gene tables:\n\n(define drug=>gene-dev-delay-drug-results-RNA-up (car dev-delay-drug-results-RNA-up))\n(define gene=>drug-dev-delay-drug-results-RNA-up (cadr dev-delay-drug-results-RNA-up))\n(define drug=>gene-dev-delay-drug-results-RNA-down (car dev-delay-drug-results-RNA-down))\n(define gene=>drug-dev-delay-drug-results-RNA-down (cadr dev-delay-drug-results-RNA-down))\n\n(define drug=>gene-hypotonia-drug-results-RNA-up (car hypotonia-drug-results-RNA-up))\n(define gene=>drug-hypotonia-drug-results-RNA-up (cadr hypotonia-drug-results-RNA-up))\n(define drug=>gene-hypotonia-drug-results-RNA-down (car hypotonia-drug-results-RNA-down))\n(define gene=>drug-hypotonia-drug-results-RNA-down (cadr hypotonia-drug-results-RNA-down))\n\n(define drug=>gene-cerebral-palsy-drug-results-RNA-up (car cerebral-palsy-drug-results-RNA-up))\n(define gene=>drug-cerebral-palsy-drug-results-RNA-up (cadr cerebral-palsy-drug-results-RNA-up))\n(define drug=>gene-cerebral-palsy-drug-results-RNA-down (car cerebral-palsy-drug-results-RNA-down))\n(define gene=>drug-cerebral-palsy-drug-results-RNA-down (cadr cerebral-palsy-drug-results-RNA-down))\n\n(define drug=>gene-autism-drug-results-RNA-up (car autism-drug-results-RNA-up))\n(define gene=>drug-autism-drug-results-RNA-up (cadr autism-drug-results-RNA-up))\n(define drug=>gene-autism-drug-results-RNA-down (car autism-drug-results-RNA-down))\n(define gene=>drug-autism-drug-results-RNA-down (cadr autism-drug-results-RNA-down))\n\n(define drug=>gene-epilepsy-drug-results-RNA-up (car epilepsy-drug-results-RNA-up))\n(define gene=>drug-epilepsy-drug-results-RNA-up (cadr epilepsy-drug-results-RNA-up))\n(define drug=>gene-epilepsy-drug-results-RNA-down (car epilepsy-drug-results-RNA-down))\n(define gene=>drug-epilepsy-drug-results-RNA-down (cadr epilepsy-drug-results-RNA-down))\n\n; combine 10 association lists:\n(define strategy3_results\n  (merge-assoc-lists\n   (list drug=>gene-dev-delay-drug-results-RNA-up\n         drug=>gene-dev-delay-drug-results-RNA-down\n         drug=>gene-hypotonia-drug-results-RNA-up \n         drug=>gene-hypotonia-drug-results-RNA-down\n         drug=>gene-cerebral-palsy-drug-results-RNA-up\n         drug=>gene-cerebral-palsy-drug-results-RNA-down\n         drug=>gene-autism-drug-results-RNA-up\n         drug=>gene-autism-drug-results-RNA-down\n         drug=>gene-epilepsy-drug-results-RNA-up\n         drug=>gene-epilepsy-drug-results-RNA-down)))\n\n\n(define strategy3_genes_results\n  (merge-assoc-lists\n   (list gene=>drug-dev-delay-drug-results-RNA-up\n         gene=>drug-dev-delay-drug-results-RNA-down\n         gene=>drug-hypotonia-drug-results-RNA-up \n         gene=>drug-hypotonia-drug-results-RNA-down\n         gene=>drug-cerebral-palsy-drug-results-RNA-up\n         gene=>drug-cerebral-palsy-drug-results-RNA-down\n         gene=>drug-autism-drug-results-RNA-up\n         gene=>drug-autism-drug-results-RNA-down\n         gene=>drug-epilepsy-drug-results-RNA-up\n         gene=>drug-epilepsy-drug-results-RNA-down)))\n\n; sort them by the values:\n(define strategy3_results-count (get-num-values (car strategy3_results)))\n(define strategy3_results-genes-count (get-num-values (car strategy3_genes_results)))\n\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/README_VISJS.md",
    "content": "# VIS.JS Instructions\nAfter using make-map.rkt to create the DOT graph for whichever knowledge graph you would like to visualize, it is then possible to visualize this DOT graph using Vis.js. \n\nIn order to do so, create a new html file and add the following to the header: \n\n```\n<head>\n  <title>[Your Title Here]</title>\n\n  <script src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"></script>\n</head>\n```\n\n\nThen, to insert the DOT graph, do the following:\n```\n<div id=\"mynetwork\"></div>\n<script type=\"text/javascript\">\n    var container = document.getElementById('mynetwork');\n    var dot = \"INSERT DOT GRAPH STRING COPIED FROM DOT FILE HERE\";\n    var data = vis.parseDOTNetwork(dot);\n    var options = {};\n    var network = new vis.Network(container, data, options);\n</script>\n```\nThen, close the body of the html file and display its contents to navigate the graph. For the options variable, there is documentation on possible options at this link: https://visjs.github.io/vis-network/docs/network/#options\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/Thi-useful-functions.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"query.rkt\")\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;USEFUL FUNCTIONS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; useful-drug-curie filter:\n(define (useful-drug-curie? curie)\n  (or (string-prefix? curie \"CHEMBL:\")\n      (string-prefix? curie \"CHEBI:\")\n      (string-prefix? curie \"TTD:\")\n      (string-prefix? curie \"GTPI:\")))\n\n;; sort-hash function to sort hash tables by the values and return an association list\n(define (sort-hash h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (length (cdr x)))))\n\n\n;; This is a helper function for the find-drugs-for-genes function below:\n(define gene-to-disease-preds (find-predicates '(\"associated_with_disease\"\n                                                 \"contributes_to\"\n                                                 \"biomarker_for\"\n                                                 \"gene_associated_with_condition\"\n                                                 \"affects\"\n                                                 \"causes\"\n                                                 \"prevents\"\n                                                 \"treats\"\n                                                 \"related_to\"\n                                                 \"predisposes\"\n                                                 \"gene_associated_with_condition\"\n                                                 \"associated_with\"\n                                                 \"complicates\"\n                                                 \"predisposes\"\n                                                 \"prevents\"\n                                                 \"treats\"\n                                                 \"disrupts\"\n                                                 \"augments\")))\n\n\n;; The find-drugs-for-genes function takes a gene-list and a list of drug-gene predicates (direction that we\n;; want the drugs to influence on the genes, one gene at a time) and return a list of two hash-tables: a sorted drug=>gene table and\n;; a sorted gene=>drug table, which is sorted by the number of genes that have drugs available to modify them or\n;; the number of drugs that can are available to target multiple genes:\n\n(define (find-drugs-for-genes gene-list drug-gene-preds)\n  (let ((gene=>drug (make-hash))\n        (drug=>gene (make-hash)))\n    (for-each\n     (lambda (g)\n       (define q (time (query/graph\n                        ((D useful-drug-curie?)\n                         (G g))\n                        ((D->G drug-gene-preds))\n                       (D D->G G))))\n       (hash-set! gene=>drug (assoc g (curie-synonyms/names g))\n                  (map (lambda (d) (assoc d (curie-synonyms/names d))) (curies/query q 'D)))\n       (for-each\n        (lambda (d)\n          (hash-update! drug=>gene (assoc d (curie-synonyms/names d))\n                        (lambda(v) (set-add v (assoc g (curie-synonyms/names g)))) '()))\n        (filter (lambda(x) (not (string-prefix? x \"CUI:\"))) (curies/query q 'D))))\n     gene-list)\n  (list (sort-hash drug=>gene) (sort-hash gene=>drug))))\n\n;;; examples of how to extract these two hash-tables result from find-drugs-for-genes functions:\n\n;(define results-CHAMP1-phenotype-RNA-down (find-drugs-for-genes CHAMP1-phenotype-RNA-down positively-regulates))\n;;extract drug=>gene hash-table:\n;(define drug=>gene-CHAMP1-phenotype-RNA-down (car results-CHAMP1-phenotype-RNA-down))\n;;extract gene=>drug hash-table:\n;(define gene=>drug-CHAMP1-phenotype-RNA-down (cadr results-CHAMP1-phenotype-RNA-down))\n\n;;; get-num-values takes a hash-table and count how many values are for each key:\n(define (get-num-values hash-table)\n  (map (lambda (x) (cons (car x) (length (cdr x)))) hash-table))\n\n\n(define drug-treat-disease-preds\n  '(;; common\n     \"prevents\"\n     \"negatively_regulates\"\n    ;; semmed\n    ;; robokop\n     \"negatively_regulates__entity_to_entity\"\n     \"disrupts\"\n     ;; orange\n     ;; rtx2\n     \"inhibits\"\n     \"inhibitor\"\n     \"channel_blocker\"\n     \"treats\"\n     \"disrupts\"\n     \"may_inhibit_effect_of\"\n     \"may_prevent\"\n     \"may_treat\"))\n\n\n;; find-drug-for-condition takes a disease condition, a gene list (which are derived from RNA-seq DEG results),\n;; a list of drug-to-gene predicates that we want the drug to reverse.\n;; This function will generate a query/graph that does a 2-edge query which find drugs that modify a disease condition\n;; while also modulate the gene in the gene list\n;; this function will return a list which contains 2 hash-tables which are sorted based on the number\n;; of genes or drugs available:\n\n(define (find-drug-for-condition disease-condition gene-list drug-gene-preds)\n  (let ((gene=>drug (make-hash))\n        (drug=>gene (make-hash)))\n    (for-each\n     (lambda (g)\n       (define q (time (query/graph\n                        ((D useful-drug-curie?)\n                         (C disease-condition)\n                         (G g))\n                        ((D->C drug-treat-disease-preds)\n                         (D->G drug-gene-preds))\n                        (D D->C C)\n                        (D D->G G))))\n       (hash-set! gene=>drug (assoc g (curie-synonyms/names g))\n                  (map (lambda (d) (assoc d (curie-synonyms/names d))) (curies/query q 'D)))\n       (for-each\n        (lambda (d)\n          (hash-update! drug=>gene (assoc d (curie-synonyms/names d))\n                        (lambda (v) (set-add v (assoc g (curie-synonyms/names g)))) '()))\n        (filter (lambda (x) (not (string-prefix? x \"CUI:\"))) (curies/query q 'D))))\n     gene-list)\n    (list (sort-hash drug=>gene) (sort-hash gene=>drug))))\n\n\n;; combine-keys returns a list of keys from the input as a list of association list \n\n(define combine-keys\n  (lambda (ls-of-alist)\n    (cond\n      [(null? ls-of-alist) '()]\n      [else\n       (let ((keys (map car (car ls-of-alist))))\n         (set-union keys (combine-keys (cdr ls-of-alist))))])))\n\n\n;; merge-2-assoc-list takes 2 association lists and return\n;; a merged and sorted association list with unique keys and values\n(define (merge-2-assoc-list alist1 alist2)\n  (let ((merged (make-hash))\n        (keys (set-union (map car alist1) (map car alist2))))\n    (for-each\n     (lambda (k)\n       (let ((genes-pr-1 (assoc k alist1))\n             (genes-pr-2 (assoc k alist2)))\n         (let ((genes-1\n                (if genes-pr-1\n                    (cdr genes-pr-1)\n                    '()))\n               (genes-2\n                (if genes-pr-2\n                    (cdr genes-pr-2)\n                    '())))\n           (let ((genes (set-union genes-1 genes-2)))\n             (hash-set! merged k genes)))))\n     keys)\n    (list (sort-hash merged))))\n\n;; expanding form the merge-2-assoc-list function above, the merge-assoc-lists function takes a list of association\n;; lists and return a merged and sorted association list with unique keys and values\n(define (merge-assoc-lists ls-of-alist)\n  (cond\n    [(null? ls-of-alist) '()]\n    [(> (length ls-of-alist) 1)\n     (let ((merged (make-hash))\n           (keys (set-union (map car (car ls-of-alist)) (map car (cadr ls-of-alist)))))\n       (for-each\n        (lambda (k)\n          (let ((genes-pr-1 (assoc k (car ls-of-alist)))\n                (genes-pr-2 (assoc k (cadr ls-of-alist))))\n            (let ((genes-1\n                   (if genes-pr-1\n                       (cdr genes-pr-1)\n                       '()))\n                  (genes-2\n                   (if genes-pr-2\n                       (cdr genes-pr-2)\n                       '())))\n              (let ((genes (set-union genes-1 genes-2)))\n                (hash-set! merged k genes)))))\n        keys)\n       (merge-assoc-lists (cons (sort-hash merged) (cddr ls-of-alist))))]\n    [else\n     (car ls-of-alist)]))\n\n\n;;recursively merge values of a ls-of-alist with the given key \n(define merge-values\n  (lambda (ls-of-alist key)\n    (cond\n      [(null? ls-of-alist) '()]\n      [else\n       (let ((first (car ls-of-alist))\n             (rest (cdr ls-of-alist)))\n         (let ((genes-pr-first (assoc key first)))\n           (let ((genes-first\n                  (if genes-pr-first\n                    (list (cdr genes-pr-first))\n                    '())))\n             (let ((genes (set-union genes-first (merge-values rest key))))\n               genes))))])))\n\n#|\nwrite-list-to-tsv takes a (header-list), a list of list and  a path-to-file name and\nconvert the list to tsv format. This has been defined in query.rkt\n\n*example usage, where 'results' is bound to a list of lists:\n\n(write-list-to-tsv\n  (list \"db\" \"subject\" \"predicate\" \"object\")\n  results\n  \"my-tsv.tsv\")\n|#\n#|\n(define write-list-to-tsv\n  (lambda (header-ls lol path)\n    (with-output-to-file path\n      ;; thunk -- procedure that takes no arguments\n      (lambda ()\n        (for-each\n          (lambda (l)\n            (let loop ([l l])\n              (cond\n                ((null? l)\n                 (error 'output-to-tsv \"where's the data!?\"))\n                ((null? (cdr l)) ;; l contains exactly 1 element\n                 (display (car l))\n                 (display #\\newline))\n                (else\n                 (display (car l))\n                 (display #\\tab)\n                 (loop (cdr l))))))\n          (cons header-ls lol)))\n      #:mode 'text\n      #:exists 'replace)))\n|#\n\n;; unwrap function flattens a list one level\n(define (unwrap lst)\n  (if (null? lst) lst\n      (append (car lst) (unwrap (cdr lst)))))\n\n\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/causal-discovery.rkt",
    "content": "#lang racket\n(require\n  \"../../../medikanren/db.rkt\"\n  \"query.rkt\")\n\n;; Note:  we should check if the 'negated' property on an edge is set to 'true'!\n\n;; since synonymization seems to be broken, here is the hand-crafted\n;; list of synonyms from RTX2\n\n;; SNOMED --equivalent_to--> MONDO\n\n;; need the UMLS and MONDO from an ICD10 or SNOMED,\n;; since UMLS and MONDO have the causal info we need\n(define handcrafted-thrombotic-events\n  '(\"MONDO:0005279\"\n    \"MESH:D011655\"\n    \"OMOP:440417\"\n    \"UMLS:C0034065\"\n    \"NCIT:C50713\"\n    \"SNOMED:59282003\"\n    \"EFO:0003827\"\n    \"DOID:9477\"))\n\n(define causal-predicates\n  '(\"biolink:causes\"\n    \"biolink:predisposes\"\n    \"causes\"\n    \"contributes_to\"\n    ))\n\n#|\nUMLS --biolink:causes--> UMLS:C0034065   sri_semmeddb\n\n(reverse direction:)\nUMLS:C0034065 --biolink:causes--> UMLS   sri_semmeddb\n\nUMLS --biolink:predisposes--> UMLS:C0034065   sri_semmeddb\n\n(reverse direction:)\nUMLS:C0034065 --biolink:predisposes--> UMLS   sri_semmeddb\n\n(same preds as above, but without the biolink: prefix)\nUMLS --causes--> UMLS:C0034065           semmeddb\nUMLS --causes--> UMLS:C0034065           rtx2\n\nCHEBI --contributes_to--> MONDO:0005279   robokop\n\n\npossibly useful:\n\n(and the revsersed version)\nUMLS --biolink:coexists_with--> UMLS:C0034065  sri_semmeddb\n\n(and the revsersed version)\nUMLS --biolink:precedes--> UMLS:C0034065   sri_semmeddb\n\nCHEMBL.COMPUND:CHEMBL --indicated_for--> DOID:9477   rtx2\n|#\n\n;(define thrombotic-events (curie-synonyms-raw \"MONDO:0005279\"))\n\n(printf \"running query\\n\")\n\n(define qa (time\n            (map\n             (lambda (te)\n               (query/graph\n                ((X #f)\n                 (thrombotic-event te))\n                ((X->thrombotic-event causal-predicates))\n                (X X->thrombotic-event thrombotic-event)))\n             handcrafted-thrombotic-events\n             )))\n\n#|\n\n(define qb (time (query/graph\n                  ((X #f)\n                   (thrombotic-event \"MONDO:0005279\"))\n                  ((X->thrombotic-event #f))\n                  (X X->thrombotic-event thrombotic-event))))\n\n(printf \"found results\\n\")\n\n; (pretty-print (time (report/query qb)))\n\n(printf \"ranking paths\\n\")\n\n(define r (ranked-paths qb))\n\n(printf \"getting counts\\n\")\n\n(length (curies/query qb 'X))\n(length (curies/query qb 'thrombotic-event))\n(length (edges/query qb 'X->thrombotic-event))\n\n(map\n (lambda (e)\n   (match e\n     [`(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n               (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n               (,pid . ,pred) ,eprops)\n      `(,sname ,pred ,oname)]))\n (edges/query qb 'X->thrombotic-event))\n\n(remove-duplicates\n (map\n  (lambda (e)\n    (match e\n      [`(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n                 (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n                 (,pid . ,pred) ,eprops)\n       pred]))\n  (edges/query qb 'X->thrombotic-event)))\n\n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/chemical->drug-filter.rkt",
    "content": "#lang racket\n(require \"../../../medikanren/pieces-parts/query.rkt\")\n\n\n;; chemical->drug-filter functions take a chemical list and\n;; return a list of chemicals that have drug-safe predicates (i.e, drugs)\n;; In this function, I use a 2-hop query to get from CHEBI:  to a DRUGBANK:\n;; so that I can assess if a particular chemical has any drug-safe predicates\n\n(define (chemical->drug-filter chemical-list)\n  (filter \n   (lambda (chemical) \n     (define q\n       (query/graph\n        ((C chemical)\n         (D #f)\n         (Disease #f))\n        ((C->D '(\"same_as\"))\n         (D->Disease drug-safe))\n        (C C->D D)\n        (D D->Disease Disease)))\n     (empty? (curies/query q 'D)))\n   chemical-list))\n\n;; examples:\n(define strategy1_chemicals\n  '(\"CHEBI:28119\"\n  \"CHEBI:16469\"\n  \"CHEBI:37537\"\n  \"CHEBI:41879\"\n  \"CHEBI:17026\"\n  \"CHEBI:6541\"\n  \"CHEBI:4903\"\n  \"CHEBI:33216\"\n  \"CHEBI:9168\"\n  \"CHEBI:41774\"\n  \"CHEBI:65329\"\n  \"CHEBI:17347\"\n  \"CHEMBL:CHEMBL460433\"\n  \"CHEBI:17747\"\n  \"CHEBI:49662\"\n  \"CHEBI:22984\"\n  \"CHEBI:4031\"\n  \"CHEBI:27584\"\n  \"CHEBI:16243\"\n  \"CHEBI:9130\"\n  \"CHEBI:78543\"\n  \"CHEBI:15365\"\n  \"CHEMBL:CHEMBL62381\"\n  \"CHEBI:52717\"\n  \"CHEBI:175901\"\n  \"CHEBI:16113\"\n  \"CHEBI:29865\"\n  \"CHEBI:28748\"\n  \"CHEBI:5132\"\n  \"CHEBI:44423\"\n  \"CHEBI:45713\"\n  \"CHEBI:15738\"\n  \"CHEBI:16356\"\n  \"CHEBI:77986\"\n  \"CHEBI:3766\"\n  \"CHEBI:17489\"\n  \"CHEBI:8899\"\n  \"CHEBI:15355\"\n  \"CHEBI:3962\"\n  \"CHEBI:28088\"\n  \"CHEBI:76004\"\n  \"CHEBI:27656\"\n  \"CHEBI:77006\"\n  \"CHEMBL:CHEMBL504\"\n  \"CHEBI:8863\"\n  \"CHEBI:9150\"\n  \"CHEBI:31401\"\n  \"CHEBI:16330\"\n  \"CHEBI:44296\"\n  \"CHEBI:15930\"\n  \"CHEBI:17609\"\n  \"CHEBI:92413\"\n  \"CHEBI:47808\"\n  \"CHEMBL.COMPOUND:CHEMBL3545133\"\n  \"CHEMBL.COMPOUND:CHEMBL2109588\"\n  \"CHEBI:517248\"\n  \"CHEBI:28364\"\n  \"CHEBI:9786\"\n  \"CHEBI:3237\"\n  \"CHEMBL:CHEMBL1372588\"\n  \"CHEBI:135742\"\n  \"CHEBI:9241\"\n  \"CHEBI:6920\"\n  \"CHEMBL:CHEMBL305576\"\n  \"CHEBI:17712\"\n  \"CHEBI:5759\"\n  \"CHEBI:34892\"\n  \"CHEBI:15960\"\n  \"CHEBI:49040\"\n  \"GTPI:5965\"\n  \"CHEBI:8198\"\n  \"CHEBI:34935\"\n  \"CHEBI:52289\"\n  \"CHEBI:49668\"\n  \"CHEBI:34888\"\n  \"CHEBI:135736\"\n  \"CHEBI:138000\"\n  \"CHEBI:28940\"\n  \"CHEBI:29678\"\n  \"CHEBI:2666\"\n  \"CHEBI:35053\"\n  \"CHEMBL.COMPOUND:CHEMBL3707348\"\n  \"CHEBI:3763\"\n  \"CHEBI:50114\"\n  \"CHEMBL.COMPOUND:CHEMBL3545396\"\n  \"CHEBI:16412\"\n  \"CHEBI:88522\"\n  \"CHEBI:50694\"\n  \"CHEMBL:CHEMBL1903674\"\n  \"CHEBI:78373\"\n  \"CHEBI:28694\"\n  \"CHEBI:17578\"\n  \"CHEBI:30768\"\n  \"CHEBI:76612\"\n  \"CHEBI:338412\"\n  \"CHEBI:17823\"\n  \"CHEMBL:CHEMBL1371200\"\n  \"CHEBI:30740\"\n  \"CHEBI:107643\"\n  \"CHEBI:27385\"\n  \"CHEBI:15756\"\n  \"CHEBI:135949\"\n  \"CHEBI:15367\"\n  \"CHEBI:63954\"\n  \"GTPI:8492\"\n  \"CHEBI:137113\"\n  \"CHEBI:47495\"\n  \"CHEBI:28499\"\n  \"CHEBI:135735\"\n  \"CHEBI:566274\"\n  \"CHEBI:28112\"\n  \"CHEBI:76003\"\n  \"CHEBI:3655\"\n  \"CHEMBL:CHEMBL1221984\"\n  \"CHEMBL.COMPOUND:CHEMBL545315\"\n  \"CHEBI:49960\"\n  \"CHEMBL:CHEMBL1644699\"\n  \"CHEBI:28842\"\n  \"CHEBI:65310\"\n  \"CHEBI:8081\"\n  \"CHEMBL:CHEMBL8823\"\n  \"CHEMBL:CHEMBL1565107\"\n  \"CHEBI:30563\"\n  \"CHEBI:91452\"\n  \"CHEBI:4659\"\n  \"CHEBI:8062\"\n  \"CHEBI:16698\"\n  \"CHEBI:18388\"\n  \"CHEBI:28790\"\n  \"CHEMBL.COMPOUND:CHEMBL2105719\"\n  \"CHEBI:92843\"\n  \"CHEBI:18243\"\n  \"CHEBI:51450\"\n  \"CHEBI:90695\"\n  \"CHEBI:7590\"\n  \"CHEMBL.COMPOUND:CHEMBL499968\"\n  \"CHEBI:40303\"\n  \"CHEMBL.COMPOUND:CHEMBL3137331\"\n  \"CHEMBL.COMPOUND:CHEMBL356359\"\n  \"CHEBI:62825\"\n  \"CHEBI:2611\"\n  \"CHEBI:15553\"\n  \"CHEBI:132853\"\n  \"CHEBI:351346\"\n  \"CHEBI:17234\"\n  \"CHEBI:6402\"\n  \"CHEBI:39462\"\n  \"CHEBI:7465\"\n  \"CHEBI:34662\"\n  \"CHEMBL:CHEMBL2146125\"\n  \"CHEBI:31746\"\n  \"CHEBI:8382\"\n  \"CHEBI:18291\"\n  \"CHEBI:18152\"\n  \"CHEBI:95341\"\n  \"CHEBI:35456\"\n  \"CHEBI:18185\"\n  \"CHEBI:3385\"\n  \"CHEBI:6801\"\n  \"CHEBI:34076\"\n  \"CHEBI:6715\"\n  \"CHEBI:7735\"\n  \"CHEBI:45307\"\n  \"CHEBI:46024\"\n  \"CHEMBL:CHEMBL1981220\"\n  \"CHEBI:66917\"\n  \"CHEBI:556075\"\n  \"CHEBI:27363\"\n  \"CHEBI:15368\"\n  \"CHEBI:83732\"\n  \"CHEMBL.COMPOUND:CHEMBL1645462\"\n  \"CHEBI:4305\"\n  \"CHEBI:48045\"\n  \"CHEMBL:CHEMBL190083\"\n  \"CHEBI:65347\"\n  \"CHEBI:15343\"\n  \"CHEBI:86194\"\n  \"CHEBI:15940\"\n  \"CHEBI:38927\"\n  \"CHEBI:31561\"\n  \"CHEBI:6958\"\n  \"CHEBI:90939\"\n  \"CHEBI:32061\"\n  \"CHEBI:6842\"\n  \"CHEBI:6413\"\n  \"CHEMBL:CHEMBL7463\"\n  \"CHEBI:76607\"\n  \"CHEMBL.COMPOUND:CHEMBL2103884\"\n  \"CHEBI:35696\"\n  \"CHEMBL.COMPOUND:CHEMBL1709719\"\n  \"CHEBI:90948\"\n  \"CHEBI:4046\"\n  \"CHEBI:24814\"\n  \"CHEMBL.COMPOUND:CHEMBL587723\"\n  \"CHEBI:3084\"\n  \"CHEBI:34269\"\n  \"CHEBI:75253\"\n  \"CHEBI:61400\"\n  \"CHEBI:86345\"\n  \"CHEBI:34873\"\n  \"CHEBI:132268\"\n  \"GTPI:8145\"\n  \"CHEBI:43616\"\n  \"CHEBI:135590\"\n  \"CHEBI:15891\"\n  \"CHEMBL:CHEMBL1977579\"\n  \"CHEBI:50859\"\n  \"CHEBI:9635\"\n  \"CHEBI:101278\"\n  \"CHEBI:45652\"\n  \"CHEBI:3752\"\n  \"CHEBI:3175\"\n  \"CHEBI:44445\"\n  \"CHEBI:28680\"\n  \"CHEBI:39548\"\n  \"CHEMBL.COMPOUND:CHEMBL3545154\"\n  \"CHEBI:9908\"\n  \"CHEBI:92890\"\n  \"CHEBI:18145\"\n  \"CHEBI:134301\"\n  \"CHEMBL:CHEMBL499968\"\n  \"CHEBI:69581\"\n  \"CHEBI:39867\"\n  \"CHEBI:17997\"\n  \"CHEBI:17833\"\n  \"CHEBI:15843\"\n  \"CHEBI:45863\"\n  \"CHEBI:16118\"\n  \"CHEBI:61399\"\n  \"CHEBI:27638\"\n  \"CHEBI:28527\"\n  \"CHEBI:7565\"\n  \"CHEBI:61390\"\n  \"CHEBI:61057\"\n  \"CHEMBL:CHEMBL1201288\"\n  \"CHEBI:2814\"\n  \"CHEBI:91370\"\n  \"CHEBI:32020\"\n  \"CHEBI:8633\"\n  \"CHEMBL:CHEMBL378104\"\n  \"CHEBI:4460\"\n  \"CHEBI:67272\"\n  \"CHEBI:3440\"\n  \"CHEBI:17241\"\n  \"CHEBI:4042\"\n  \"CHEBI:23359\"))\n                                          \n(chemical->drug-filter strategy1_chemicals)\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/drug-ranker.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"../../../medikanren/pieces-parts/query.rkt\"\n         racket/engine)\n;;not druggable \n#;(define all-hgncs\n  '(\"HGNC:894\"))\n\n;; HGNC:892, HGNC:1270 error in the constraint solver \n\n#;(define all-hgncs\n  (file->list \"/Users/michaelpatton/git/mediKanren/biolink/data/all-hgnc-curies.scm\"))\n\n#;(define ARDS-gene-ls\n  (map (lambda (x) (string-append \"HGNC:\" x))\n       (map number->string\n            '(4818\n              7516\n              8583\n              320\n              1936\n              2766\n              3655\n              5992\n              6000\n              6014\n              6018\n              5962\n              5973\n              5981\n              5986\n              16830\n              17020\n              6709\n              6922\n              7097\n              7797\n              8947\n              10798\n              10799\n              10803\n              11362\n              17192\n              11847\n              11892\n              11908\n              12036\n              3542\n              4443\n              21581\n              9052\n              12726\n              2707\n              333\n              338\n              3374\n              3763\n              5273\n              6363\n              6848\n              6858\n              7590\n              30092\n              12680\n              1232\n              3999\n              5013\n              5014\n              7782\n              2874\n              11181\n              11920\n              186\n              13633\n              348\n              600\n              1550\n              2595\n              2884\n              3553\n              9237\n              9386\n              12554\n              12698\n              4603\n              6027\n              4035\n              4053\n              51\n              290\n              17731\n              4095\n              4595\n              5293))))\n\n\n#|\n(define anti-coag-list\n  '(\"RXNORM:11289\"\n    \"CUI:C0043031\" \n    \"RXNORM:1546356\"\n    \"CUI:C2348066\" \n    \"RXNORM:1114195\"\n    \"CUI:C1739768\" \n    \"RXNORM:1364430\"\n    \"CUI:C1831808\" \n    \"RXNORM:1599538\"\n    \"CUI:C2975435\" \n    \"RXNORM:280611\"\n    \"CUI:C0916062\" \n    \"RXNORM:152610\"\n    \"CUI:C0592532\" \n    \"RXNORM:67109\"\n    \"CUI:C0206461\"\n    \"RXNORM:67108\"\n    \"CUI:C0206460\" \n    \"RXNORM:67031\"\n    \"CUI:C0206232\" \n    \"RXNORM:69528\"\n    \"CUI:C0215717\" \n    \"RXNORM:75960\"\n    \"CUI:C0254215\" \n    \"RXNORM:69646\"\n    \"CUI:C0216278\" \n    \"RXNORM:5224\"\n    \"CUI:C0019134\"))\n|#\n#|\n;; EWSR1 genes\n(define EWSR1-gene-ls\n  (map (lambda (x) (string-append \"HGNC:\" x))\n       (map number->string\n            '(38\n              14899\n              943\n              320\n              19990\n              489\n              490\n              2013\n              638\n              14103\n              15607\n              14872\n              974\n              24176\n              14343\n              1325\n              1389\n              1537\n              26295\n              1705\n              20455\n              2174\n              2191\n              22990\n              2333\n              24292\n              2498\n              2530\n              20348\n              2907\n              2908\n              2926\n              3010\n              3016\n              32188\n              19087\n              3154\n              27234\n              27683\n              30114\n              34236\n              3603\n              13590\n\n              3761\n              3800\n              3801\n              3817\n              25491\n              4092\n              4122\n              4131\n              4882\n              5141\n              17087\n              5466\n              25251\n              23236\n              48664\n              6617\n              6664\n              16895\n              17200\n              14575\n              17082\n              7159\n              7171\n              7514\n              7614\n              29832\n              13395\n              7746\n              7775\n              16191\n              19321\n              27106\n              7909\n              41983\n              7952\n              8126\n              8134\n              19316\n              8604\n              17270\n              16068\n              14180\n              27559\n              8890\n              8906\n              30065\n              19255\n              29037\n              14683\n\n              26303\n              20331\n              688\n              20457\n              13441\n              13655\n              24188\n              32455\n              18386\n              18387\n              10798\n              10799\n              10801\n              10802\n              10803\n              16192\n              11046\n              11049\n              11073\n              16698\n              15592\n              18065\n              15885\n              11568\n              11581\n              11595\n              20329\n              27916\n              11950\n              30887\n              20670\n              29315\n              15466\n              12769\n              19221\n              16804\n              13083))))\n\n|#\n\n\n\n\n#|proviral gene list for 2-hop|#\n;;\"HGNC:11876\" TMPRSS2\n;;\"HGNC:8568\" FURIN\n\n;; ANO1 for haley\n;; 21625 ano1\n;; 2244 = 24 genes\n#|\n(define pro-viral-gene-list\n  '())\n|#\n#|\n\"HGNC:15631\"\n    \"HGNC:15632\"\n    \"HGNC:11876\"\n    \"HGNC:8568\"\n    \"HGNC:13557\"\n    \"HGNC:3009\"\n|#\n\n\n#|\n;; alzheimer's genes                    ; ;\n(define pro-viral-gene-list             ; ;\n  (map symbol->string                   ; ;\n       '(HGNC:1052\n         HGNC:2095\n         HGNC:613\n         HGNC:37                        ; ;\n         HGNC:2334                      ; ;\n         HGNC:15514                     ; ;\n         HGNC:13375                     ; ;\n         HGNC:1659                      ; ;\n         HGNC:14284                     ; ;\n         HGNC:14258                     ; ;\n         HGNC:620                       ; ;\n         HGNC:6893                      ; ;\n         HGNC:9508                      ; ;\n         HGNC:9509                      ; ;\n         HGNC:17761)))                           ; ;\n|#\n\n\n#|\n(define pro-viral-gene-list             ; ;\n'(\"HGNC:11876\"                          ; ;\n\"HGNC:8568\"                             ; ;\n\"HGNC:7850\"                             ; ;\n\"HGNC:11320\"                            ; ;\n\"HGNC:8883\"                             ; ;\n\"HGNC:1776\"                             ; ;\n\"HGNC:2232\"                             ; ;\n\"HGNC:2537\"                             ; ;\n))                                      ; ;\n|#\n;; just TMPRSS2\n#;(define pro-viral-gene-list\n  '(\"HGNC:11876\"))\n#|\n(define pro-viral-gene-list\n  '(\"CHEBI:6887\"))\n|#\n\n#|\n#|\n;pro-viral kinases\nNME2\nABI1\nPFTK1\nCDK5R2\nCOPB2\nCTSL\n|#\n\n(define pro-viral-gene-list\n'(\"HGNC:7850\"\n\"HGNC:11320\"\n\"HGNC:8883\"\n\"HGNC:1776\"\n\"HGNC:2232\"\n\"HGNC:2537\"))\n|#\n\n#|\n;;anti-viral kinases\nCLK1\nMAP2K6\nCSNK1G1\nEPHA3\nCDK6\nAURKB\nGCK\nDGKD\n|#\n#|\n;; short 2hop \"HGNC:8122\"\n(define pro-viral-gene-list\n  '(\"HGNC:24591\"))\n|#\n#;(define pro-viral-gene-list\n  '(\"HGNC:24591\"\n    \"HGNC:19356\"\n    \"HGNC:10941\"\n    \"HGNC:51\"\n    \"HGNC:28756\"\n    \"HGNC:76\"\n    \"HGNC:2707\"\n    \"HGNC:13557\"\n    \"HGNC:7976\"\n    \"HGNC:338\"\n    \"HGNC:790\"\n    \"HGNC:868\"\n    \"HGNC:864\"\n    \"HGNC:13919\"\n    \"HGNC:990\"\n    \"HGNC:991\"\n    \"HGNC:992\"\n    \"HGNC:995\"\n    \"HGNC:1103\"\n    \"HGNC:1125\"\n    \"HGNC:25142\"\n    \"HGNC:1471\"\n    \"HGNC:1527\"\n    \"HGNC:1641\"\n    \"HGNC:1859\"\n    \"HGNC:24537\"\n    \"HGNC:2228\"\n    \"HGNC:2230\"\n    \"HGNC:2231\"\n    \"HGNC:2232\"\n    \"HGNC:2234\"\n    \"HGNC:2237\"\n    \"HGNC:2243\"\n    \"HGNC:9605\"\n    \"HGNC:7421\"\n    \"HGNC:52028\"\n    \"HGNC:2459\"\n    \"HGNC:2460\"\n    \"HGNC:2552\"\n    \"HGNC:2712\"\n    \"HGNC:28777\"\n    \"HGNC:2716\"\n    \"HGNC:2746\"\n    \"HGNC:2976\"\n    \"HGNC:3189\"\n    \"HGNC:3277\"\n    \"HGNC:3275\"\n    \"HGNC:3272\"\n    \"HGNC:3293\"\n    \"HGNC:3723\"\n    \"HGNC:18169\"\n    \"HGNC:3538\"\n    \"HGNC:23397\"\n    \"HGNC:3711\"\n    \"HGNC:33276\"\n    \"HGNC:8568\"\n    \"HGNC:14375\"\n    \"HGNC:4181\"\n    \"HGNC:19687\"\n    \"HGNC:4296\"\n    \"HGNC:4616\"\n    \"HGNC:14453\"\n    \"HGNC:4853\"\n    \"HGNC:4897\"\n    \"HGNC:5031\"\n    \"HGNC:24921\"\n    \"HGNC:5960\"\n    \"HGNC:6053\"\n    \"HGNC:6118\"\n    \"HGNC:6204\"\n    \"HGNC:6395\"\n    \"HGNC:29531\"\n    \"HGNC:25726\"\n    \"HGNC:6664\"\n    \"HGNC:29620\"\n    \"HGNC:3332\"\n    \"HGNC:6897\"\n    \"HGNC:6943\"\n    \"HGNC:18873\"\n    \"HGNC:7113\"\n    \"HGNC:7114\"\n    \"HGNC:3942\"\n    \"HGNC:7460\"\n    \"HGNC:7684\"\n    \"HGNC:18591\"\n    \"HGNC:25242\"\n    \"HGNC:7910\"\n    \"HGNC:16885\"\n    \"HGNC:8068\"\n    \"HGNC:3255\"\n    \"HGNC:8869\"\n    \"HGNC:8912\"\n    \"HGNC:9437\"\n    \"HGNC:9281\"\n    \"HGNC:14650\"\n    \"HGNC:9380\"\n    \"HGNC:9531\"\n    \"HGNC:17822\"\n    \"HGNC:9828\"\n    \"HGNC:3402\"\n    \"HGNC:10019\"\n    \"HGNC:10312\"\n    \"HGNC:10480\"\n    \"HGNC:18276\"\n    \"HGNC:1228\"\n    \"HGNC:10803\"\n    \"HGNC:8157\"\n    \"HGNC:10905\"\n    \"HGNC:13621\"\n    \"HGNC:30669\"\n    \"HGNC:30615\"\n    \"HGNC:11364\"\n    \"HGNC:11728\"\n    \"HGNC:11766\"\n    \"HGNC:11849\"\n    \"HGNC:16627\"\n    \"HGNC:2236\"\n    \"HGNC:6021\"\n    \"HGNC:11850\"\n    \"HGNC:11876\"\n    \"HGNC:12019\"\n    \"HGNC:12458\"\n    \"HGNC:12666\"\n    \"HGNC:23663\"\n    \"HGNC:12825\"\n    \"HGNC:11320\"\n    \"HGNC:171\"\n    \"HGNC:172\"\n    \"HGNC:19041\"\n    \"HGNC:375\"\n    \"HGNC:376\"\n    \"HGNC:52650\"\n    \"HGNC:1078\"\n    \"HGNC:33814\"\n    \"HGNC:1459\"\n    \"HGNC:1674\"\n    \"HGNC:1776\"\n    \"HGNC:15483\"\n    \"HGNC:1994\"\n    \"HGNC:19083\"\n    \"HGNC:2068\"\n    \"HGNC:2700\"\n    \"HGNC:2855\"\n    \"HGNC:3061\"\n    \"HGNC:3255\"\n    \"HGNC:24649\"\n    \"HGNC:3767\"\n    \"HGNC:4922\"\n    \"HGNC:18360\"\n    \"HGNC:6193\"\n    \"HGNC:6514\"\n    \"HGNC:6524\"\n    \"HGNC:6843\"\n    \"HGNC:6846\"\n    \"HGNC:19035\"\n    \"HGNC:7381\"\n    \"HGNC:7529\"\n    \"HGNC:7648\"\n    \"HGNC:9404\"\n    \"HGNC:9612\"\n    \"HGNC:9618\"\n    \"HGNC:9671\"\n    \"HGNC:11403\"\n    \"HGNC:11404\"\n    \"HGNC:11406\"\n    \"HGNC:11904\"\n    \"HGNC:9437\"))\n\n(define anti-viral-gene-list\n  '(\"HGNC:3009\"\n    \"HGNC:4617\"\n    \"HGNC:7114\"\n    \"HGNC:8984\"\n    \"HGNC:14650\"\n    \"HGNC:10819\"\n    \"HGNC:12458\"\n    \"HGNC:257\"\n    \"HGNC:289\"\n    \"HGNC:376\"\n    \"HGNC:14311\"\n    \"HGNC:11390\"\n    \"HGNC:913\"\n    \"HGNC:16902\"\n    \"HGNC:1057\"\n    \"HGNC:19341\"\n    \"HGNC:1492\"\n    \"HGNC:1678\"\n    \"HGNC:1777\"\n    \"HGNC:1782\"\n    \"HGNC:1786\"\n    \"HGNC:1791\"\n    \"HGNC:1991\"\n    \"HGNC:31736\"\n    \"HGNC:1995\"\n    \"HGNC:2071\"\n    \"HGNC:13659\"\n    \"HGNC:2363\"\n    \"HGNC:2454\"\n    \"HGNC:2455\"\n    \"HGNC:2457\"\n    \"HGNC:10637\"\n    \"HGNC:2674\"\n    \"HGNC:2676\"\n    \"HGNC:2704\"\n    \"HGNC:2849\"\n    \"HGNC:2850\"\n    \"HGNC:2851\"\n    \"HGNC:2857\"\n    \"HGNC:3070\"\n    \"HGNC:3071\"\n    \"HGNC:3091\"\n    \"HGNC:3386\"\n    \"HGNC:3387\"\n    \"HGNC:3388\"\n    \"HGNC:3389\"\n    \"HGNC:3431\"\n    \"HGNC:3655\"\n    \"HGNC:4036\"\n    \"HGNC:4119\"\n    \"HGNC:4195\"\n    \"HGNC:4291\"\n    \"HGNC:4545\"\n    \"HGNC:20565\"\n    \"HGNC:15566\"\n    \"HGNC:6171\"\n    \"HGNC:6307\"\n    \"HGNC:15719\"\n    \"HGNC:29798\"\n    \"HGNC:18608\"\n    \"HGNC:6840\"\n    \"HGNC:6847\"\n    \"HGNC:6849\"\n    \"HGNC:6850\"\n    \"HGNC:6871\"\n    \"HGNC:6886\"\n    \"HGNC:17574\"\n    \"HGNC:7110\"\n    \"HGNC:7111\"\n    \"HGNC:16243\"\n    \"HGNC:7601\"\n    \"HGNC:15576\"\n    \"HGNC:11399\"\n    \"HGNC:7850\"\n    \"HGNC:18981\"\n    \"HGNC:8883\"\n    \"HGNC:9529\"\n    \"HGNC:10251\"\n    \"HGNC:10812\"\n    \"HGNC:6773\"\n    \"HGNC:16852\"\n    \"HGNC:11394\"\n    \"HGNC:16835\"\n    \"HGNC:29259\"\n    \"HGNC:26160\"\n    \"HGNC:11847\"\n    \"HGNC:17995\"\n    \"HGNC:16473\"\n    \"HGNC:17797\"\n    \"HGNC:487\"\n    \"HGNC:2852\"))\n\n\n\n#|HELPER FUNCTIONS|#\n(define inner-loop/csv\n  (lambda (ls port)\n    (cond\n      ((null? ls) (void))\n      (else\n       (fprintf port \"~a~c\" (car ls) #\\,)\n       (inner-loop/csv (cdr ls) port)))))\n\n(define outer-loop/csv\n  (lambda (ls port)\n    (cond\n      ((null? ls)\n       (close-output-port port))\n      (else\n       (inner-loop/csv (car ls) port)\n       (fprintf port (format \"~c\" #\\newline))\n       (outer-loop/csv (cdr ls) port)))))\n\n(define export-column-headers/csv\n  (lambda (headers port path)\n    (cond \n      ((= (file-size path) 0)\n       (cond\n         ((null? headers)\n          (fprintf port \"~c\" #\\newline))\n         (else\n          (fprintf port \"~a~c\" (car headers) #\\,)\n          (export-column-headers/csv (cdr headers) port path))))\n      (else\n       (void)))))\n\n\n(define export-column-headers\n  (lambda (headers port path)\n    (cond \n      ((= (file-size path) 0)\n       (cond\n         ((null? headers)\n          (fprintf port \"~c\" #\\newline))\n         (else\n          (fprintf port \"~a~c\" (car headers) #\\tab)\n          (export-column-headers (cdr headers) port path))))\n      (else\n       (void)))))\n\n(define outer-loop\n  (lambda (ls port)\n    (cond\n      ((null? ls)\n       (close-output-port port))\n      (else\n       (inner-loop (car ls) port)\n       (fprintf port (format \"~c\" #\\newline))\n       (outer-loop (cdr ls) port)))))\n\n(define inner-loop\n  (lambda (ls port)\n    (cond\n      ((null? ls) (void))\n      (else\n       (fprintf port \"~a~c\" (car ls) #\\tab)\n       (inner-loop (cdr ls) port)))))\n\n\n\n(define atom?\n  (lambda (x)\n    (and (not (pair? x))\n         (not (list? x)))))\n\n(define member?\n  (lambda (x ls)\n    (cond\n      ((null? ls) #f)\n      (else \n       (or (equal? x (car ls))\n           (member? x (cdr ls)))))))\n\n(define union\n  (lambda (ls1 ls2)\n    (cond\n      ((null? ls1) ls2)\n      ((member? (car ls1) ls2)\n       (union (cdr ls1) ls2))\n      (else\n       (cons (car ls1)\n             (union (cdr ls1) ls2))))))\n\n(define intersect?\n  (lambda (ls1 ls2)\n    (cond\n      ((null? ls1) #f)\n      ((member? (car ls1) ls2) #t)\n      (else\n       (intersect? (cdr ls1) ls2)))))\n\n(define intersect\n  (lambda (ls1 ls2)\n    (cond\n      ((null? ls1) '())\n      ((member? (car ls1) ls2)\n       (cons (car ls1)\n             (intersect (cdr ls1) ls2)))\n      (else\n       (intersect (cdr ls1) ls2)))))\n\n#|ASSOCIATION-LIST KEYS/STRING LISTS FOR KNOWLEDGE GRAPH CONCEPTS|#\n(define robokop-concept-key/eq-id \"equivalent_identifiers\")\n(define robokop-xref-key \"equivalent_identifiers\")\n(define orange-concept-key/synonym \"synonym\")\n(define orange-concept-key/same-as \"same_as\")\n(define semmed-concept-key/xrefs \"xrefs\")\n(define semmed-concept-key/id \"id\")\n(define publication-key \"publications\")\n(define publication-key/pmids \"pmids\")\n(define drug-bank/key \"drugbank.groups\") \n(define drug-bank/withdrawn/key \"withdrawn_flag\")\n(define drug-bank/approved/key \"drugbank.approved\")\n(define drug-bank/therapeutic/key \"therapeutic_flag\")\n(define drug-bank/investigational/key \"drugbank.investigational\")\n(define umls-type-label/key \"umls_type_label\")\n(define umls-type/key \"umls_type\")\n(define PUBMED_URL_PREFIX \"https://www.ncbi.nlm.nih.gov/pubmed/\")\n\n(define decreases-pred-str/ls\n  '(\"negatively_regulates\"\n    \"negatively_regulates__entity_to_entity\"\n    \"decreases_molecular_interaction\"\n    \"decreases_secretion_of\"\n    \"decreases_localization_of\"\n    \"decreases_stability_of\"\n    \"decreases_synthesis_of\"\n    \"decreases_transport_of\"\n    \"decreases_uptake_of\"    \n    \"prevents\"\n    \"treats\"\n    \"disrupts\"\n    \"inhibits\"\n    \"inhibitor\"\n    \"binder\"\n    \"antagonist\"\n    \"blocker\"\n    \"increases_degradation_of\"\n    \"decreases_activity_of\"\n    \"decreases_expression_of\"))\n\n(define increases-pred-str/ls\n  '(\"positively_regulates\"\n     \"produces\"\n     \"agonist\"\n     \"causes\"\n     \"causes_condition\"\n     \"causally_related_to\"\n     \"contributes_to\"\n     \"gene_associated_with_condition\"\n     \"positively_regulates__entity_to_entity\"\n     \"gene_mutations_contribute_to\"\n     \"decreases_degradation_of\"\n     \"increases_activity_of\"\n     \"increases_expression_of\"\n     \"increases_molecular_interaction\"\n     \"increases_response_to\"\n     \"increases_secretion_of\"\n     \"increases_stability_of\"\n     \"increases_synthesis_of\"\n     \"increases_transport_of\"\n     \"increases_uptake_of\"\n     \"increases_localization_of\"\n     \"stimulates\"\n     \"activator\"))\n\n(define predicate-str/ls\n  '(\"physically_interacts_with\"\n    \"regulates\"\n    \"interacts_with\"\n    \"targets\"\n    \"modulator\"\n    \"directly_interacts_with\"\n    \"regulates_expression_of\"\n    \"affects_expression_of\"\n    \"affects\"\n    \"affects_activity_of\"\n    \"uses\"))\n\n(define allowable-predicates\n  '(\"negatively_regulates\"\n    \"negatively_regulates__entity_to_entity\"\n    \"decreases_molecular_interaction\"\n    \"decreases_secretion_of\"\n    \"decreases_localization_of\"\n    \"decreases_stability_of\"\n    \"decreases_synthesis_of\"\n    \"decreases_transport_of\"\n    \"decreases_uptake_of\"    \n    \"prevents\"\n    \"treats\"\n    \"disrupts\"\n    \"inhibits\"\n    \"inhibitor\"\n    \"binder\"\n    \"antagonist\"\n    \"blocker\"\n    \"increases_degradation_of\"\n    \"decreases_activity_of\"\n    \"decreases_expression_of\"\n    \"positively_regulates\"\n    \"produces\"\n    \"agonist\"\n    \"causes\"\n    \"causes_condition\"\n    \"causally_related_to\"\n    \"contributes_to\"\n    \"gene_associated_with_condition\"\n    \"positively_regulates__entity_to_entity\"\n    \"gene_mutations_contribute_to\"\n    \"decreases_degradation_of\"\n    \"increases_activity_of\"\n    \"increases_expression_of\"\n    \"increases_molecular_interaction\"\n    \"increases_response_to\"\n    \"increases_secretion_of\"\n    \"increases_stability_of\"\n    \"increases_synthesis_of\"\n    \"increases_transport_of\"\n    \"increases_uptake_of\"\n    \"increases_localization_of\"\n    \"stimulates\"\n    \"activator\"\n    \"physically_interacts_with\"\n    \"regulates\"\n    \"interacts_with\"\n    \"targets\"\n    \"modulator\"\n    \"directly_interacts_with\"\n    \"regulates_expression_of\"\n    \"affects_expression_of\"\n    \"affects\"\n    \"affects_activity_of\"\n    \"uses\"))\n\n(define substitute\n  (lambda (ls old new)\n    (cond \n      ((null? ls) '())\n      ((void? (car ls))\n       (substitute (cdr ls) old new))\n      ((boolean? (car ls))\n       (cons\n         (format \"~a\" (car ls))\n         (substitute (cdr ls) old new))) \n      ((equal? (car ls) old)\n       (cons new\n             (substitute (cdr ls) old new)))\n      (else\n       (cons (car ls)\n             (substitute (cdr ls) old new))))))\n\n(define str-converter\n  (lambda (ls)\n    (cond\n      ((null? ls)\n       (substitute ls '() \"NA\"))\n      ((or (boolean? (car ls))\n           (void? (car ls)))\n       (str-converter (cdr ls)))\n      (else \n       (if (symbol? (car ls))\n           (string-join (map symbol->string ls) \" \")\n           (string-join ls \" \"))))))\n\n(define append-predicate-symbol\n  (lambda (pred-str inc-pred dec-pred els)\n    (cond\n      ((null? pred-str) (car els))\n      ((or (boolean? (car pred-str))\n           (void? (car pred-str)))\n       (append-predicate-symbol\n        (cdr pred-str) inc-pred dec-pred els))\n      ((member? (car pred-str) inc-pred)\n       (append-predicate-symbol\n        (cdr pred-str)\n        inc-pred\n        dec-pred\n        (cons\n         \"1\" els)))\n      ((member? (car pred-str) dec-pred)\n        (append-predicate-symbol\n         (cdr pred-str)\n         inc-pred\n         dec-pred\n         (cons\n          \"-1\" els)))\n      ((not (member? (car pred-str) dec-pred))\n       (append-predicate-symbol\n        (cdr pred-str)\n         inc-pred\n         dec-pred\n         (cons\n          \"0\" els)))\n      (else\n       (error (format \"PREDICATE NOT A MEMBER OF GLOBAL VARIABLE:\\n ~a\" (car pred-str)))))))\n\n\n;;og\n#;(define filter/curie\n  (lambda (ls els curie)\n    (cond\n      ((null? ls) (set-union els))\n      ((string-prefix? (car ls) curie)\n       (filter/curie\n        (cdr ls)\n        (cons (car ls) els) curie))\n      (else\n       (filter/curie (cdr ls) els curie)))))\n;; test\n;; add clause \n(define filter/curie\n  (lambda (ls els curie)\n    (cond      \n      ((null? ls) els)\n      ((string-prefix? (car ls) curie)\n       (filter/curie\n        (cdr ls)\n        (cons (car ls) els) curie))\n      (else\n       (filter/curie (cdr ls) els curie)))))\n\n#|\n(define get-gene-synonyms-from-edge-subject-id\n  (lambda (subject-id/str)\n    (if (string-contains? subject-id/str \":\")\n        (set->list (curie-synonyms subject-id/str))\n        '())))\n|#\n(define remove-item\n  (lambda (x ls els)\n    (cond\n      ((null? ls) (reverse els))\n      ((or (boolean? (car ls))\n           (void? (car ls)))\n       (remove-item\n        x (cdr ls) els))\n      ((equal? x (car ls))\n       (remove-item x (cdr ls) els))\n      (else\n       (remove-item x (cdr ls)\n                    (cons (car ls) els))))))\n\n#|Gregs code for drug-info |#\n\n(define curie-to-anything\n  (lambda (curie predicate*)\n    ;;(printf \"starting curie-to-anything with curie ~s and preds ~s\\n\" curie predicate*)\n    (let ((val (query/graph\n                ( ;; concepts\n                 (X curie)\n                 (T #f))\n                ;; edges\n                ((X->T predicate*))\n                ;; paths      \n                (X X->T T))))\n      ;;(printf \"finished curie-to-anything with curie ~s and preds ~s\\n\" curie predicate*)\n      val)))\n\n(define curie-to-tradenames\n  (lambda (curie)\n    (curie-to-anything curie '(\"has_tradename\"))))\n\n(define curie-to-clinical-trials\n  (lambda (curie)\n    (curie-to-anything curie '(\"clinically_tested_terminated_phase_2\"\n                               \"clinically_tested_approved_unknown_phase\"\n                               \"clinically_tested_terminated_phase_2\"\n                               \"clinically_tested_terminated_phase_3\"\n                               \"clinically_tested_terminated_phase_2_or_phase_3\"\n                               \"clinically_tested_withdrawn_phase_3\"\n                               \"clinically_tested_withdrawn_phase_2_or_phase_3\"\n                               \"clinically_tested_withdrawn_phase_2\"\n                               \"clinically_tested_suspended_phase_2\"\n                               \"clinically_tested_suspended_phase_3\"\n                               \"clinically_tested_suspended_phase_2_or_phase_3\"))))\n\n(define curie-to-indicated_for\n  (lambda (curie)\n    (curie-to-anything curie '(\"indicated_for\"))))\n\n(define curie-to-contraindicated_for\n  (lambda (curie)\n    (curie-to-anything curie '(\"contraindicated_for\"))))\n\n\n(define drug-info-for-curie\n  (lambda (curie)\n    ; (printf \"*** starting drug-info-for-curie ~s\\n\" curie)\n    (map\n     (lambda (l)\n       (match l\n         [`(,name . ,q)\n          ; (printf \"*** calculating curie-synonyms/names list for curie ~s\\n\" curie)\n          (let ((ls (map curie-synonyms/names (curies/query q 'T))))\n            ; (printf \"*** calculated curie-synonyms/names list for curie ~s\\n\" curie)\n            ; (printf \"*** ls length = ~s\\n\" (apply + (map length ls)))\n            (cons name ls))]))\n     (list \n      (cons 'tradenames (curie-to-tradenames curie))\n      (cons 'clinical-trials (curie-to-clinical-trials curie))\n      (cons 'indicated_for (curie-to-indicated_for curie))\n      (cons 'contraindicated_for (curie-to-contraindicated_for curie))))))\n\n\n\n\n\n;; og works\n#;(define get-canonical-curie-from-synonyms-ls\n  (lambda (ls)\n    (if (null? ls)\n        \"NA\"\n        (take ls 1))))\n\n;;testing\n(define get-canonical-curie-from-synonyms-ls\n  (lambda (x)\n    (cond\n      ((boolean? x)\n       \"NA\")\n      ((null? x) \"NA\")\n      (else\n       (car (take x 1))))))\n\n(define get-hgnc-symbol/take\n  (lambda (x)\n    (cond\n      ((or (equal? x '#f)\n           (boolean? x))\n       (take '(\"NA\") 1))\n      ((null? x)\n       (take '(\"NA\") 1))\n      (else\n       (car (string-split (car x) \" \"))))))\n\n(define get-fda-tag\n  (lambda (x)\n    (if (string-prefix? x \"RXNORM:\")\n        \"YES\"\n        \"NA\")))\n\n;; testing with edge match\n;;\n\n;; if an edge has subject/object that is a drug/gene\n;; we want to get a canonical identifier for that drug/gene\n;; drugs dont have a \"canonical 1-size-fits-all id\"\n;; but DRUGBANK:/RXNORM: is good for FDA approval\n;; and CHEBI is good for general molecules of biological interest\n\n(define gene-concept-in-synonyms-ls?\n  (lambda (synonyms-ls)\n    (cond      \n      ((null? synonyms-ls) #f)\n      (else\n       (or (string-prefix? (car synonyms-ls) \"HGNC:\")\n           (gene-concept-in-synonyms-ls? (cdr synonyms-ls)))))))\n\n(define drug-concept-in-synonyms-ls?\n  (lambda (synonyms-ls)\n    (cond      \n      ((null? synonyms-ls) #f)\n      (else\n       (or (string-prefix? (car synonyms-ls) \"CHEBI:\")\n           (drug-concept-in-synonyms-ls? (cdr synonyms-ls)))))))\n\n\n\n(define get-curie-synonyms-from-edge-subject/object-curie\n  (lambda (x)\n    (cond\n      ((string-contains? x \":\")\n       (let ((synonyms-ls (set->list (curie-synonyms x))))\n         (cond\n           ((gene-concept-in-synonyms-ls? synonyms-ls)\n            (get-canonical-curie-from-synonyms-ls\n             (filter/curie synonyms-ls '() \"HGNC:\")))\n           ((drug-concept-in-synonyms-ls? synonyms-ls) \n            (get-canonical-curie-from-synonyms-ls\n             (filter/curie synonyms-ls '() \"CHEBI:\")))\n           (else\n            \"NA\"))))\n      (else\n       \"NA\"))))\n\n(define extract-symbol-name-from-concept-or-edge\n  (lambda (query-ls els)\n    (cond\n      ((null? query-ls) (set-union els))\n      ((or (boolean? (car query-ls))\n           (void? (car query-ls)))\n       (extract-symbol-name-from-concept-or-edge\n        (cdr query-ls) els))\n      (else \n       (match (car query-ls)\n         [`(,db ,cui ,id ,name ,category ,properties-list)\n          (extract-symbol-name-from-concept-or-edge\n           (cdr query-ls)\n           (set-union\n            (list name) els))]\n         [`(,db ,edge-cui\n                (,subject-cui ,subject-id ,subject-name (,_ . ,subject-category) ,subject-props-assoc)\n                (,concept-cui ,concept-id ,concept-name (,_ . ,concept-category) ,concept-props-assoc)\n                (,_ . ,pred)\n                ,pred-props-assoc)\n          (extract-symbol-name-from-concept-or-edge (cdr query-ls)\n                                                    (set-union\n                                                     (list subject-name) els))])))))\n\n(define query-hgnc-curie-for-hgnc-symbol\n  (lambda (ls els)\n    (cond\n      ((null? ls)\n       (remove-duplicates (flatten els)))\n      ((or (boolean? (car ls))\n           (void? (car ls)))\n       (query-hgnc-curie-for-hgnc-symbol\n        (cdr ls) els))\n      ((string-contains? (car ls) \"HGNC:\")\n       (query-hgnc-curie-for-hgnc-symbol\n        (cdr ls)\n        (cons\n         (extract-symbol-name-from-concept-or-edge\n          (find-concepts #t (list (car ls))) '())\n         els)))\n      (else\n       (query-hgnc-curie-for-hgnc-symbol\n        (cdr ls) els)))))\n\n(define get-xrefs \n  (lambda (key properties-ls)\n    (cond \n      [(assoc key properties-ls)\n       => (lambda (assoc-ls)\n            (define x-refs (cdr assoc-ls))\n            (define in (open-input-string x-refs))\n            (cons (read in) '()))]\n      (else\n       '()))))\n\n(define get-rxnorm\n  (lambda (ls els)\n    (cond\n      ((null? ls) (set-union els))\n      ((or (boolean? (car ls))\n           (void? (car ls)))\n       (get-rxnorm (cdr ls)\n                   (cons \"NA\" els)))\n      ((atom? (car ls))\n       (cond\n         ((regexp-match #rx\"[Rr][Xx][Nn][Oo][Rr][Mm]:\" (car ls))\n          (get-rxnorm (cdr ls)\n                      (set-union\n                       (cons (car ls) els))))\n         (else\n          (get-rxnorm (cdr ls) els))))\n      (else\n       (set-union (get-rxnorm (car ls) els)\n                  (get-rxnorm (cdr ls) els))))))\n\n(define get-assoc-value\n  (lambda (key assoc-ls)\n    (cond\n      ((assoc key assoc-ls)\n       => (lambda (assoc-ls)\n            (let ((assoc-key (car assoc-ls))\n                  (assoc-value (cdr assoc-ls)))\n              (if (equal? assoc-key key)\n                  assoc-value\n                  \"NA\"))))\n      (else\n       '()))))\n\n\n(define match-edge/with-S/O-gene-linker-ids\n  (lambda (edges-ls els)\n    (cond\n      ((null? edges-ls) els)\n      (else \n       (match (car edges-ls)                       \n         [`(,db ,edge-cui\n                (,subject-cui ,subject-id ,subject-name (,_ . ,subject-category) ,subject-props-assoc)\n                (,object-cui ,object-id ,object-name (,_ . ,object-category) ,object-props-assoc)\n                (,_ . ,pred) ,pred-props-assoc)\n          (match-edge/with-S/O-gene-linker-ids           \n           (cdr edges-ls)\n           (cons\n            (substitute\n             (list\n              edge-cui ;; 0 edge-id\n              db                        ;; 1 kg id\n              (get-canonical-curie-from-synonyms-ls\n               (query-hgnc-curie-for-hgnc-symbol\n                (list (get-curie-synonyms-from-edge-subject/object-curie subject-id)) '())) ;; 2 linker_curie_nameS\n              (get-curie-synonyms-from-edge-subject/object-curie subject-id) ;; 3 linker_curie_idS\n              (append-predicate-symbol (list pred) increases-pred-str/ls decreases-pred-str/ls '()) ;; 4 symbol_pred\n              (get-fda-tag\n               (get-canonical-curie-from-synonyms-ls\n               (flatten                 \n                (get-rxnorm\n                 (substitute\n                  (flatten\n                   (list (get-xrefs semmed-concept-key/xrefs subject-props-assoc)\n                         (get-xrefs robokop-concept-key/eq-id subject-props-assoc)\n                         (set->list (curie-synonyms subject-id)))                   \n                   ) \"#f\" \"NA\") '()))))              \n              (get-canonical-curie-from-synonyms-ls\n               (query-hgnc-curie-for-hgnc-symbol\n                (list (get-curie-synonyms-from-edge-subject/object-curie object-id)) '())) ;;5 linker_curie_nameO\n              (get-curie-synonyms-from-edge-subject/object-curie object-id) ;; 6 linker_curie_nameO              \n              subject-name\n              subject-id\n              subject-category\n              pred               \n              object-name\n              object-id\n              object-category\n              (get-canonical-curie-from-synonyms-ls\n               (flatten                 \n                (get-rxnorm\n                 (substitute\n                  (flatten\n                   (list (get-xrefs semmed-concept-key/xrefs subject-props-assoc)\n                         (get-xrefs robokop-concept-key/eq-id subject-props-assoc)\n                         (set->list (curie-synonyms subject-id)))                   \n                   ) \"#f\" \"NA\") '())))\n              (length (pubmed-ids-from-edge-props pred-props-assoc))              \n              (string-join\n               (map (lambda (pubmed)\n                      (string-append PUBMED_URL_PREFIX (~a pubmed)))\n                    (pubmed-ids-from-edge-props pred-props-assoc)) \" \")                           \n              ) '() \"NA\")\n            els))])))))\n\n\n#|\n\n(str-converter\n                 (flatten\n                  (list \n                   (get-xrefs drug-bank/key drug-props-assoc))))\n|#\n#|\n;;og\n(define match-edge/with-S/O-gene-linker-ids\n  (lambda (edges-ls els)\n    (cond\n      ((null? edges-ls) els)\n      (else \n       (match (car edges-ls)                       \n         [`(,db ,edge-cui\n                (,subject-cui ,subject-id ,subject-name (,_ . ,subject-category) ,subject-props-assoc)\n                (,object-cui ,object-id ,object-name (,_ . ,object-category) ,object-props-assoc)\n                (,_ . ,pred) ,pred-props-assoc)\n          (match-edge/with-S/O-gene-linker-ids           \n           (cdr edges-ls)\n           (cons\n            (substitute\n             (list              \n              db\nsubject-name\n              subject-id\n              (get-curie-synonyms-from-edge-subject/object-curie subject-id) ;;3rd\n              subject-category\n              pred\n              (append-predicate-symbol (list pred) increases-pred-str/ls decreases-pred-str/ls '())\n              object-name\n              object-id\n              (get-curie-synonyms-from-edge-subject/object-curie object-id) ;;9th\n              object-category\n              (length (pubmed-ids-from-edge-props pred-props-assoc))\n              (string-join\n               (map (lambda (pubmed)\n                      (string-append PUBMED_URL_PREFIX (~a pubmed)))\n                    (pubmed-ids-from-edge-props pred-props-assoc)) \" \")\n              ) '() \"NA\")\n            els))])))))\n\n|#\n#|\n|#\n\n\n#|\n#;(get-canonical-curie-from-synonyms-ls\n(filter/curie (set->list (curie-synonyms subject-id)) '() \"HGNC:\")) ;; subject 3rd\n;;  (get-canonical-curie-from-synonyms-ls\n(filter/curie (set->list (curie-synonyms object-id)) '() \"HGNC:\")) ;; object 9th\n|#\n\n\n\n(define 1-hop-gene-lookup\n  (lambda (target-gene-ls els)\n    (define 1-hop/query\n      (lambda (target-gene)\n        (printf \"\\nQUERY/GRAPH RUNNING ON:   ~a\\n\" target-gene)\n        (cond\n          ((null? target-gene)\n           (cons \"NO_QUERY_CONCEPT\" els))\n          (else\n           (time (query/graph\n               ((X #f)\n                (TG target-gene))\n               ((X->TG #f))\n               (X X->TG TG)))))))\n    (cond\n      ((null? target-gene-ls) els)\n      (else\n       (1-hop-gene-lookup\n        (cdr target-gene-ls)\n        (cons\n         (edges/query (1-hop/query (car target-gene-ls)) 'X->TG)\n         els))))))\n\n(define 1-hop-gene-lookup/allowable-predicates\n  (lambda (target-gene-ls els predicates)\n    (define 1-hop/query\n      (lambda (target-gene)\n        (printf \"\\nQUERY/GRAPH RUNNING ON:   ~a\\n\" target-gene)\n        (time (query/graph\n               ((X #f)\n                (TG target-gene))\n               ((X->TG predicates))\n               (X X->TG TG)))))\n    (cond\n      ((null? target-gene-ls) els)\n      (else\n       (1-hop-gene-lookup/allowable-predicates\n        (cdr target-gene-ls)\n        (cons\n         (edges/query (1-hop/query (car target-gene-ls)) 'X->TG)\n         els)\n        predicates)))))\n\n(define 1-hop-drug-lookup/allowable-predicates/drug-->X\n  (lambda (target-curie-ls els predicates)\n    (define 1-hop/query\n      (lambda (target-concept)\n        (printf \"\\nQUERY/GRAPH RUNNING ON:   ~a\\n\" target-concept)\n        (time (query/graph\n               ((X #f)\n                (TC target-concept))\n               ((TC-->X predicates))\n               (TC TC-->X X)))))\n    (cond\n      ((null? target-curie-ls) els)\n      (else\n       (1-hop-drug-lookup/allowable-predicates/drug-->X\n        (cdr target-curie-ls)\n        (cons\n         (edges/query (1-hop/query (car target-curie-ls)) 'TC-->X)\n         els\n         )\n        predicates)))))\n\n#|\n;;; here \n(define 1hop-gene-lookup/1-HOP-AFFECTOR-GENE--ALLp-->ALL-GENES\n  (lambda (1hop-gene-ls els)\n    (define 1-hop/query\n      (lambda (1hop-gene)\n        (printf \"\\nQUERY/GRAPH RUNNING ON:   ~a\\n\" target-gene)\n        (time (query/graph\n               ((X #f)\n                (1H-GENE 1hop-gene))\n               ((X->TG #f))\n               (X X->TG TG)))))\n    (cond\n      ((null? target-gene-ls) els)\n      (else\n       (1-hop-gene-lookup\n        (cdr target-gene-ls)\n        (cons\n         (edges/query (1-hop/query (car target-gene-ls)) 'X->TG)\n         els))))))\n|#\n(define 2-hop-gene-lookup\n  (lambda (target-gene-ls els)\n    (define 1-hop/query\n      (lambda (target-gene)\n        (printf \"\\nQUERY/GRAPH RUNNING ON:   ~a\\n\" target-gene)\n        (time (query/graph\n               ((X #f)\n                (TG target-gene))\n               ((X->TG #f))\n               (X X->TG TG)))))\n    (let* ((1-hop-affector-genes/HGNC*\n            (synonyms/query (1-hop/query (car target-gene-ls)) 'X))\n           (1-hop-affector-genes/HGNC*\n            (flatten\n             (remove-item\n              '()\n              (map\n               (lambda (ls) (filter/curie ls '() \"HGNC:\"))\n               (map\n                set->list\n                1-hop-affector-genes/HGNC*))\n              '()))))\n      (printf \"\\n\\n~a 1-HOP AFFECTOR GENE CONCEPTS FOUND!\\n\" (length 1-hop-affector-genes/HGNC*))\n      (printf \"\\n\\n~a 1-HOP AFFECTOR GENES HGNC-IDs FOUND!\\n\\n~a\" (length 1-hop-affector-genes/HGNC*) 1-hop-affector-genes/HGNC*)\n      (cond\n        ((null? target-gene-ls) els)\n        (else\n         (displayln (format \"\\n\\nPREPARING 1-HOP AFFECTOR GENES FOR 2-HOP QUERY!\\n\\n\"))\n         (let ((2-hop-affector-gene/edges (let loop ((1-hop-affector-genes/HGNC* 1-hop-affector-genes/HGNC*))\n                                            (cond\n                                              ((null? 1-hop-affector-genes/HGNC*) '())\n                                              (else\n                                               (cons\n                                                (edges/query (1-hop/query (car 1-hop-affector-genes/HGNC*)) 'X->TG)\n                                                (loop\n                                                  (cdr 1-hop-affector-genes/HGNC*))))))))\n           (append* 2-hop-affector-gene/edges els)))))))\n\n\n(define 2-hop-gene-lookup/allowable-predicates\n  (lambda (target-gene-ls els predicates)\n    (define 1-hop/query\n      (lambda (target-gene)\n        (printf \"\\nQUERY/GRAPH RUNNING ON:   ~a\\n\" target-gene)\n        (time (query/graph\n               ((X #f)\n                (TG target-gene))\n               ((X->TG predicates))\n               (X X->TG TG)))))\n    (let* ((1-hop-affector-genes/HGNC*\n            (synonyms/query (1-hop/query (car target-gene-ls)) 'X))\n           (1-hop-affector-genes/HGNC*\n            (flatten\n             (remove-item\n              '()\n              (map\n               (lambda (ls) (filter/curie ls '() \"HGNC:\"))\n               (map\n                set->list\n                1-hop-affector-genes/HGNC*))\n              '()))))\n      (printf \"\\n\\n~a 1-HOP AFFECTOR GENE CONCEPTS FOUND!\\n\" (length 1-hop-affector-genes/HGNC*))\n      (printf \"\\n\\n~a 1-HOP AFFECTOR GENES HGNC-IDs FOUND!\\n\\n~a\" (length 1-hop-affector-genes/HGNC*) 1-hop-affector-genes/HGNC*)\n      (cond\n        ((null? target-gene-ls) els)\n        (else\n         (displayln (format \"\\n\\nPREPARING 1-HOP AFFECTOR GENES FOR 2-HOP QUERY!\\n\\n\"))\n         (let ((2-hop-affector-gene/edges (let loop ((1-hop-affector-genes/HGNC* 1-hop-affector-genes/HGNC*))\n                                            (cond\n                                              ((null? 1-hop-affector-genes/HGNC*) '())\n                                              (else\n                                               (cons\n                                                (edges/query (1-hop/query (car 1-hop-affector-genes/HGNC*)) 'X->TG)\n                                                (loop\n                                                  (cdr 1-hop-affector-genes/HGNC*))))))))\n           (append* 2-hop-affector-gene/edges els)))))))\n\n\n\n#|\n(define gene-concept?\n  (lambda (x)\n    (or\n     (boolean? (car x))\n     (string-prefix? (car x) \"HGNC:\")\n     (string-prefix? (car x) \"ENSEMBL:\")\n     (string-prefix? (car x) \"UniProtKB:\")\n     (string-prefix? (car x) \"NCBIGene:\")\n     (string-prefix? (car x) \"NCBIGENE:\"))))\n|#\n\n(define gene-concept?\n  (lambda (x)\n    (or\n     (string-prefix? x \"HGNC:\")\n     (string-prefix? x \"ENSEMBL:\")\n     (string-prefix? x \"UniProtKB:\")\n     (string-prefix? x \"NCBIGene:\")\n     (string-prefix? x \"NCBIGENE:\"))))\n\n#|\n(define drug-concept?\n  (lambda (x)\n    (or (boolean? (car x))\n        (string-prefix? (car x) \"CHEBI:\")\n        (string-prefix? (car x) \"CHEMBL:\")\n        (string-prefix? (car x) \"CHEMBL.\")\n        (string-prefix? (car x) \"KEGG:\")\n        (string-prefix? (car x) \"KEGG.\")\n        (string-prefix? (car x) \"DRUGBANK:\")\n        (string-prefix? (car x) \"RXNORM:\"))))\n|#\n\n(define drug-concept?\n  (lambda (x)\n    (or (string-prefix? x \"CHEBI:\")\n        (string-prefix? x \"CHEMBL:\")\n        (string-prefix? x \"CHEMBL.\")\n        (string-prefix? x \"KEGG:\")\n        (string-prefix? x \"KEGG.\")\n        (string-prefix? x \"DRUGBANK:\")\n        (string-prefix? x \"RXNORM:\"))))\n\n(define lat?\n  (lambda (ls)\n    (cond\n      ((null? ls) #t)\n      ((atom? (car ls))\n       (lat? (cdr ls)))\n      (else\n       #f))))\n\n(define get-export-edges\n  (lambda (ls)\n    (cond\n      ((null? ls) '())\n      ((lat? (car ls))\n       (cons (car ls)\n             (get-export-edges (cdr ls))))\n      (else\n       (set-union (get-export-edges (car ls))\n                  (get-export-edges (cdr ls)))))))\n\n\n\n#|\n(define affector-gene-edge?\n  (lambda (ls)\n    (match (car ls)\n      [`(,db ,edge-cui\n             (,subject-cui ,subject-id ,subject-name (,_ . ,subject-category) ,subject-props-assoc)\n             (,object-cui ,object-id ,object-name (,_ . ,object-category) ,object-props-assoc)\n             (,_ . ,pred)\n             ,pred-props-assoc)\n       (cond\n         ((gene-concept? `(,subject-id))\n          (list (car ls)))\n         (else\n          #f))])))\n|#\n\n(define filter-edges-by-affector-type\n  (lambda (ls els-gene els-drug)\n    (cond\n      ((null? ls)\n       (cons els-gene els-drug))\n      (else\n       (match (car ls)\n      [`(,db ,edge-cui\n             (,subject-cui ,subject-id ,subject-name (,_ . ,subject-category) ,subject-props-assoc)\n             (,object-cui ,object-id ,object-name (,_ . ,object-category) ,object-props-assoc)\n             (,_ . ,pred)\n             ,pred-props-assoc)\n       (cond\n         ((ormap drug-concept? (set->list (curie-synonyms subject-id)))\n          (filter-edges-by-affector-type\n           (cdr ls)\n           els-gene\n           (cons (car ls) els-drug)))\n         ((ormap gene-concept? (set->list (curie-synonyms subject-id)))\n          (filter-edges-by-affector-type\n           (cdr ls)\n           (cons (car ls) els-gene)\n           els-drug))\n         (else\n          (filter-edges-by-affector-type\n           (cdr ls)\n           els-gene\n           els-drug)))])))))\n\n(define get-subject-HGNC-from-edge \n  (lambda (edge)\n    (car (filter/curie (set->list (curie-synonyms (list-ref edge 2))) '() \"HGNC:\"))))\n\n#|MAKE 2HOP PATH|#\n(define get-object-synonyms-from-edge\n  (lambda (edge)\n    (set->list (curie-synonyms (list-ref edge 7)))))\n;;testing \n(define find-1-hop/2-hop-link\n  (lambda (1-hop-edge 2-hop-edge-ls)\n    (cond\n      ((null? 2-hop-edge-ls) '())\n      (else\n       (let ((2-hop-edge (car 2-hop-edge-ls))\n             (1-hop-subject-HGNC (list-ref 1-hop-edge 3)))\n         (let ((2-hop-edge-object-synonyms (set->list (curie-synonyms (list-ref 2-hop-edge 7)))))                 \n           (cond\n             ((member? 1-hop-subject-HGNC 2-hop-edge-object-synonyms)\n              (cons\n               (list 2-hop-edge 1-hop-edge)\n               (find-1-hop/2-hop-link\n                1-hop-edge\n                (cdr 2-hop-edge-ls))))\n             (else\n              (find-1-hop/2-hop-link\n               1-hop-edge\n               (cdr 2-hop-edge-ls))))))))))\n\n;; export edges! (NOT BIOLINK EDGES)\n(define make-2hop-path\n  (lambda (1-hop-edge-ls 2-hop-edge-ls)\n    (cond\n      ((null? 1-hop-edge-ls) '())\n      (else\n       (cons\n        (find-1-hop/2-hop-link (car 1-hop-edge-ls) 2-hop-edge-ls)\n        (make-2hop-path (cdr 1-hop-edge-ls) 2-hop-edge-ls))))))\n\n;;function takes list of 2hop paths and makes 2hop edges for export\n;; arg here is a list of all paths for a particular gene synonym @ 1hop gene\n\n;; a 2-hop-path\n(define make-single-2hop-path-export\n  (lambda (path)\n    (cond\n      ((and (pair? path)\n            (lat? (car path))\n            (lat? (cadr path)))\n       (append (car path) (cadr path)))\n      (else\n       (error (format \"EXPORT ERROR WITH EDGE: ~a\\n\" path))))))\n\n(define column-headers/1hop\n  '(\"edge_id\"\n    \"db\"\n    \"subject_linker_name\"              \n    \"subject_linker_curie\"\n    \"predicate_symbol\"\n    \"fda_approved\"\n    \"target_object_linker_name\"\n    \"target_object_linker_curie\"\n    \"subject_name\"\n    \"subject_curie\" \n    \"subject_category\"\n    \"predicate\"              \n    \"target_object_name\"\n    \"target_object_curie\"\n    \"target_object_category\"\n    \"rxnorm_drug_id\"\n    \"pubmed_number\"\n    \"pub_urls\"                            \n    ))\n\n(define get-2hop-paths-for-single-1hop-affector-gene\n  (lambda (all-2hop-paths-for-single-affector-gene)\n    (cond\n      ((null? all-2hop-paths-for-single-affector-gene) '())\n      (else\n       (cons\n        (make-single-2hop-path-export (car all-2hop-paths-for-single-affector-gene))\n        (get-2hop-paths-for-single-1hop-affector-gene (cdr all-2hop-paths-for-single-affector-gene)))))))  \n\n(define make-2hop-path/export\n  (lambda (2hop-paths-ls)\n    (cond\n      ((null? 2hop-paths-ls) '())\n      (else\n       (cons\n        (get-2hop-paths-for-single-1hop-affector-gene (car 2hop-paths-ls))\n        (make-2hop-path/export (cdr 2hop-paths-ls)))))))\n\n\n(define start-function\n  (lambda (gene-ls gene-ls-name)\n    (cond\n      ((null? gene-ls) (void))\n      (else\n       (handle-2hop-query (car gene-ls) gene-ls-name)\n       (start-function (cdr gene-ls) gene-ls-name)))))\n\n(define export-date\n  (format \"~a_~a_~a\" \n          (number->string (date-month (seconds->date (current-seconds))))\n          (number->string (date-day (seconds->date (current-seconds))))\n          (number->string (date-year (seconds->date (current-seconds))))))\n\n(define export-path\n  \"/Users/michaelpatton/git/automated_medikanren_queries/covid19/proviral_genes/\")\n\n(define export-path/antiviral\n  \"/Users/michaelpatton/git/automated_medikanren_queries/covid19/antiviral_gene_2hop/\")\n\n(define directory-path \n  (format \"~a~a/\" export-path export-date))\n        \n(define make-export-directory/proviral\n  (if (directory-exists? directory-path)\n      (error (format \"CHECK FILE, IT MAY EXIST\"))\n      (make-directory directory-path)))\n\n(define handle-2hop-query\n  (time\n   (lambda (curie gene-ls-name)\n     (cond\n       ((null? curie) (void))\n       (else\n        (let* ()\n          \n          (define curie-synonyms/CURIE\n            (curie-synonyms/names curie))\n\n          (define get-gene-curie-symbol-for-export\n            (lambda (curie)\n              (filter string?\n                      (map (lambda (x)\n                             (if (or (string-prefix? (car x) \"HGNC:\")\n                                     (string-prefix? (car x) \"CHEBI:\"))\n                                 (cdr x)\n                                 #f))\n                           (curie-synonyms/names curie)))))\n          \n          (define curie-str/EXPORT\n            (car (get-gene-curie-symbol-for-export curie)))\n                    \n          (printf \"\\nBEGINNING 1-HOP LOOKUP ON CONCEPT: ~a aka ~a\\n\" curie curie-str/EXPORT)\n\n          (printf \"\\n~a aka ~a SYNONYMS GATHERED FROM ALL KNOWLEDGE-GRAPHS:\\n\\n~a\\n\\n\" curie curie-str/EXPORT curie-synonyms/CURIE)\n          \n          \n          #|          \n          (define 1-hop-affector/BIOLINK-edges\n            (1-hop-gene-lookup (list curie) '()))\n          |#\n\n          #|\n          ;;; DRUG-LOOKUP!\n          (define 1-hop-affector-drug/BIOLINK-edges\n            (1-hop-drug-lookup/allowable-predicates/drug-->X (list curie) '() allowable-predicates))\n\n          \n          \n          ;; #### DRUG LOOKUP FILES\n          (define drug--pred-->X/path\n            (format \"~a~a--ALLp-->X.tsv\" directory-path gene-ls-name))\n          (define drug--pred-->X/port\n            (open-output-file drug--pred-->X/path #:exists 'append))\n\n          (export-column-headers\n           column-headers/1hop\n           drug--pred-->X/port\n           drug--pred-->X/path)\n\n          (outer-loop\n           1-hop-affector-drug/EXPORT-edges           \n           drug--pred-->X/port)\n        \n          \n          ;; #### DRUG LOOKUP FILES\n\n          |#\n          \n          \n          ;;GENE-LOOKUP!\n          (printf \"\\n1-hop-affector/BIOLINK-edges\\n\")\n          (define 1-hop-affector/BIOLINK-edges\n            (1-hop-gene-lookup/allowable-predicates (list curie) '() allowable-predicates))\n\n          \n   \n                             \n          ;;trying predicate bumpers\n          (printf \"\\n1-hop-affector-drug+gene/BIOLINK-edges\\n\")\n          (define 1-hop-affector-drug+gene/BIOLINK-edges\n            (remove-item '() (map (lambda (ls) (filter-edges-by-affector-type ls '() '())) 1-hop-affector/BIOLINK-edges) '()))\n          \n          (printf \"\\n1-hop-affector-gene/BIOLINK-edges\\n\")\n          (define 1-hop-affector-gene/BIOLINK-edges\n            (remove-item '() (map car 1-hop-affector-drug+gene/BIOLINK-edges) '()))\n\n          \n          (printf \"\\n1-hop-affector-drug/BIOLINK-edges\\n\")\n          (define 1-hop-affector-drug/BIOLINK-edges\n            (remove-item '() (map cdr 1-hop-affector-drug+gene/BIOLINK-edges) '()))\n          \n          (printf \"\\n1-hop-affector-gene/EXPORT-edges\\n\")\n          (define 1-hop-affector-gene/EXPORT-edges\n            (get-export-edges\n             (remove-item\n              '()\n              (map (lambda (x) (match-edge/with-S/O-gene-linker-ids x '())) 1-hop-affector-gene/BIOLINK-edges)\n              '())))\n          \n          \n          \n          (printf \"\\n1-hop-affector-drug/EXPORT-edges\\n\")\n          (define 1-hop-affector-drug/EXPORT-edges\n            (get-export-edges\n             (remove-item\n              '()\n              (map (lambda (x) (match-edge/with-S/O-gene-linker-ids x '())) 1-hop-affector-drug/BIOLINK-edges)\n              '())\n             ))\n          \n          ;;(pretty-print (car 1-hop-affector-drug/EXPORT-edges))\n\n          (printf \"\\n1-HOP LOOKUP FOR ~a COMPLETE!\\n\" curie-str/EXPORT)\n  \n          (define 1-hop-affector-gene/path\n            (format \"~a1HOP-AFFECTOR-GENES--ALLp-->~a.tsv\" directory-path gene-ls-name))\n          (define 1-hop-affector-drug/path\n            (format \"~a1HOP-AFFECTOR-DRUGS--ALLp-->~a.tsv\" directory-path gene-ls-name))\n        \n          (define 1-hop-affector-gene/port\n            (open-output-file 1-hop-affector-gene/path #:exists 'append))\n          (define 1-hop-affector-drug/port\n            (open-output-file 1-hop-affector-drug/path #:exists 'append))\n                             \n          \n          (export-column-headers\n           column-headers/1hop\n           1-hop-affector-gene/port\n           1-hop-affector-gene/path)\n\n          (outer-loop\n           1-hop-affector-gene/EXPORT-edges\n           1-hop-affector-gene/port)\n        \n          (export-column-headers\n           column-headers/1hop\n           1-hop-affector-drug/port\n           1-hop-affector-drug/path)\n\n          (outer-loop\n           1-hop-affector-drug/EXPORT-edges\n           1-hop-affector-drug/port)\n          \n          (printf \"\\n1-HOP EXPORT COMPLETE:\\nAFFECTOR-GENES-->ALL-PREDICATES-->~a\\n\" curie-str/EXPORT) \n          (printf \"\\n1-HOP EXPORT COMPLETE:\\nAFFECTOR-DRUGS-->ALL-PREDICATES-->~a\\n\" curie-str/EXPORT)\n                   \n          #|START 2-HOP LOOKUP|#\n          (printf \"\\nBEGINNING 2-HOP LOOKUP ON CONCEPT: ~a aka ~a\\n\" curie curie-str/EXPORT)\n          \n          #|\n          (define 2-hop-affector/BIOLINK-edges\n            (time\n             (2-hop-gene-lookup (list curie) '())))\n          |#\n          #|\n          ;; trying predicate bumpers\n          (printf \"\\n2-hop-affector/BIOLINK-edges\\n\")\n          (define 2-hop-affector/BIOLINK-edges\n            (time\n             (2-hop-gene-lookup/allowable-predicates (list curie) '() allowable-predicates)))\n          \n          (printf \"\\n2-hop-affector-drug+gene/BIOLINK-edges\\n\")\n          (define 2-hop-affector-drug+gene/BIOLINK-edges\n            (time\n             (remove-item\n              '()\n              (map (lambda (ls) (filter-edges-by-affector-type ls '() '())) 2-hop-affector/BIOLINK-edges)\n              '())\n             ))      \n\n          (printf \"\\n2-hop-affector-gene/BIOLINK-edges\\n\")\n          (define 2-hop-affector-gene/BIOLINK-edges  \n            (time (map car 2-hop-affector-drug+gene/BIOLINK-edges)))\n          \n          (printf \"\\n2-hop-affector-drug/BIOLINK-edges\\n\")\n          (define 2-hop-affector-drug/BIOLINK-edges            \n            (time\n             (map cdr 2-hop-affector-drug+gene/BIOLINK-edges)))\n\n          (printf \"\\n2-hop-affector-drug/EXPORT-edges\\n\")\n          (define 2-hop-affector-drug/EXPORT-edges\n            (time (get-export-edges\n                   (remove-item\n                    '()\n                    (map (lambda (x) (match-edge/with-S/O-gene-linker-ids x '())) 2-hop-affector-drug/BIOLINK-edges)\n                    '())\n                   )))\n\n                    \n          (define 2-hop-affector-drug/path\n            (format \"~a2HOP-AFFECTOR-DRUGS--ALLp-->1HOP-AFFECTOR-GENES-->ALLp-->~a.tsv\" directory-path gene-ls-name))\n          (define 2-hop-affector-drug/port\n            (open-output-file 2-hop-affector-drug/path #:exists 'append))\n\n          (export-column-headers\n           column-headers/1hop\n           2-hop-affector-drug/port\n           2-hop-affector-drug/path)\n\n          (outer-loop\n           2-hop-affector-drug/EXPORT-edges\n           2-hop-affector-drug/port)\n\n          \n          #|\n          ;; comment this out for now, don't need 2-hop affector genes until 3-hop affector drugs are computed\n          (printf \"\\n2-hop-affector-gene/EXPORT-edges\\n\")\n          (define 2-hop-affector-gene/EXPORT-edges\n            (time (get-export-edges (map (lambda (x) (match-edge/with-S/O-gene-linker-ids x '())) 2-hop-affector-gene/BIOLINK-edges))))\n          |#                    \n          #|\n          (define 2-hop-affector-drug-specific/path\n            (format \"~a2HOP-AFFECTOR-DRUGS--ALLp-->~a.tsv\" directory-path curie-str/EXPORT))\n          (define 2-hop-affector-drug-specific/port\n            (open-output-file 2-hop-affector-drug-specific/path #:exists 'append))\n          \n          (export-column-headers\n           column-headers/1hop\n           2-hop-affector-drug-specific/port\n           2-hop-affector-drug-specific/path)\n          (outer-loop\n           2-hop-affector-drug/EXPORT-edges\n           2-hop-affector-drug-specific/port)\n          \n          (printf \"\\n2-HOP EXPORT COMPLETE:\\nAFFECTOR-DRUGS--ALL-PREDICATES-->1-HOP-AFFECTOR GENE of ~a\\n\" curie-str/EXPORT)\n          |#\n          \n\n           #|        \n          (printf \"\\n\\n2-HOP PATH:\\n2-HOP-AFFECTOR-DRUG--ALL-PREDICATES-->1-HOP-AFFECTOR-GENE--ALL-PREDICATES-->~a\\n\\n\" curie-str/EXPORT)\n          |#\n          #|\n          (printf \"\\n2-hop-path/drug--predicate-->1hop-gene--predicate-->target-gene/EXPORT-edges\\n\")\n          (define 2-hop-path/drug--predicate-->1hop-gene--predicate-->target-gene/EXPORT-edges\n            (time\n             (get-export-edges\n              (make-2hop-path/export\n               (make-2hop-path\n                 1-hop-affector-gene/EXPORT-edges\n                 2-hop-affector-drug/EXPORT-edges)))))\n          \n          (define 2-hop-affector-drug-->1hop-gene-->target-gene-paths/path\n            (format \"~a2HOP-AFFECTOR-DRUGS--ALLp-->1HOP-AFFECTOR-GENES--ALLp-->PROVIRAL-GENES.tsv\" directory-path))\n          (define 2-hop-affector-drug-->1hop-gene-->target-gene-paths/port\n            (open-output-file 2-hop-affector-drug-->1hop-gene-->target-gene-paths/path #:exists 'append))\n\n          (define column-headers/2hop\n            '(\"edge_id\"\n              \"db\"\n              \"subject_linker_name\"              \n              \"subject_linker_curie\"\n              \"predicate_symbol\"\n              \"fda_approved\"\n              \"target_object_linker_name\"\n              \"target_object_linker_curie\"\n              \"subject_name\"\n              \"subject_curie\" \n              \"subject_category\"\n              \"predicate\"              \n              \"target_object_name\"\n              \"target_object_curie\"\n              \"target_object_category\"\n              \"rxnorm_drug_id\"\n              \"pubmed_number\"\n              \"pub_urls\"\n              \"edge_id\"\n              \"db\"\n              \"subject_linker_name\"              \n              \"subject_linker_curie\"\n              \"predicate_symbol\"\n              \"fda_approved\"\n              \"target_object_linker_name\"\n              \"target_object_linker_curie\"\n              \"subject_name\"\n              \"subject_curie\" \n              \"subject_category\"\n              \"predicate\"              \n              \"target_object_name\"\n              \"target_object_curie\"\n              \"target_object_category\"\n              \"rxnorm_drug_id\"\n              \"pubmed_number\"\n              \"pub_urls\"))\n\n          (export-column-headers\n           column-headers/2hop\n           2-hop-affector-drug-->1hop-gene-->target-gene-paths/port\n           2-hop-affector-drug-->1hop-gene-->target-gene-paths/path)\n\n          (outer-loop\n           2-hop-path/drug--predicate-->1hop-gene--predicate-->target-gene/EXPORT-edges\n           2-hop-affector-drug-->1hop-gene-->target-gene-paths/port)\n          \n          (export-column-headers\n           column-headers/2hop\n           2-hop-affector-drug-->1hop-gene-->target-gene-paths-specific/port\n           2-hop-affector-drug-->1hop-gene-->target-gene-paths-specific/path)\n\n          (outer-loop\n           2-hop-path/drug--predicate-->1hop-gene--predicate-->target-gene/EXPORT-edges\n           2-hop-affector-drug-->1hop-gene-->target-gene-paths-specific/port)\n          |#\n\n          |#\n          )\n        \n        (pretty-print \"QUERY FINISHED!\")\n\n        )))))\n\n(start-function all-hgncs \"HUMAN-GENOME\")\n\n\n          #|\n\n          (define 2-hop-affector-drug-->1hop-gene-->target-gene-paths-specific/path\n          (format \"~a2HOP-AFFECTOR-GENES--ALLp-->1HOP-AFFECTOR-GENES--ALLp-->~a.tsv\" directory-path curie-str/EXPORT))\n          (define 2-hop-affector-drug-->1hop-gene-->target-gene-paths-specific/port\n            (open-output-file 2-hop-affector-drug-->1hop-gene-->target-gene-paths-specific/path  #:exists 'append))          \n\n          \n          (printf \"\\nBUILDING 2-HOP GENE PATHS FOR CONCEPT: ~a aka ~a\\n\\n\" curie curie-str/EXPORT)\n          (printf \"\\n\\n2-HOP PATH:\\n2-HOP-AFFECTOR-GENE--ALL-PREDICATES-->1-HOP-AFFECTOR-GENE--ALL-PREDICATES-->~a\\n\\n\" curie-str/EXPORT)\n          ;;test without remove-item\n          (printf \"\\n2-hop-gene-path/EXPORT-edges\\n\")\n          (define 2-hop-gene-path/EXPORT-edges\n            (time\n             (make-2hop-path\n               1-hop-affector-gene/EXPORT-edges\n               2-hop-affector-gene/EXPORT-edges)))\n\n          (printf \"\\n2-hop-gene-paths-connected/EXPORT-edges\\n\")\n          (define 2-hop-gene-paths-connected/EXPORT-edges\n            (time\n             (get-export-edges\n             (make-2hop-path/export\n              2-hop-gene-path/EXPORT-edges))))\n\n          (define 2-hop-affector-gene-paths/path\n            (format \"~a2HOP-AFFECTOR-GENES--ALLp-->1HOP-AFFECTOR-GENES--ALLp-->PROVIRAL-GENES.tsv\" directory-path))\n          (define 2-hop-affector-gene-paths/port\n            (open-output-file 2-hop-affector-gene-paths/path #:exists 'append))\n          \n          (define column-headers/2hop\n            '(\"2hop_db\"\n              \"2hop_subject_name\"\n              \"2hop_subject_curie\"\n              \"2hop_subject_canonical_curie\"\n              \"2hop_subject_category\"\n              \"2hop_predicate\"\n              \"2hop_predicate_symbol\"\n              \"2hop_object_name\"\n              \"2hop_object_curie\"\n              \"2hop_object_canonical_curie\"\n              \"2hop_object_category\"\n              \"2hop_pubmed_number\"\n              \"2hop_pub_URLs\"\n              \"1hop_db\"\n              \"1hop_subject_name\"\n              \"1hop_subject_curie\"\n              \"1hop_subject_canonical_curie\"\n              \"1hop_subject_category\"\n              \"1hop_predicate\"\n              \"1hop_predicate_symbol\"\n              \"target_object_name\"\n              \"target_object_curie\"\n              \"target_object_canonical_curie\"\n              \"1hop_target_object_category\"\n              \"1hop_pubmed_number\"\n              \"1hop_pubmed_URLs\"))\n\n          (export-column-headers\n           column-headers/2hop\n           2-hop-affector-gene-paths/port\n           2-hop-affector-gene-paths/path)\n\n          (outer-loop\n           2-hop-gene-paths-connected/EXPORT-edges\n           2-hop-affector-gene-paths/port)\n          \n          (define 2-hop-affector-gene-paths-specific/path\n          (format \"~a2HOP-AFFECTOR-GENES--ALLp-->1HOP-AFFECTOR-GENES--ALLp-->~a.tsv\" directory-path curie-str/EXPORT))\n          (define 2-hop-affector-gene-paths-specific/port\n            (open-output-file 2-hop-affector-gene-paths-specific/path #:exists 'append))\n          \n          (export-column-headers\n           column-headers/2hop\n           2-hop-affector-gene-paths-specific/port\n           2-hop-affector-gene-paths-specific/path)\n\n          (outer-loop\n           2-hop-gene-paths-connected/EXPORT-edges\n           2-hop-affector-gene-paths-specific/port)\n          |#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/etl_for_new_KGs/xmlparse.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require xml)\n\n#lang racket\n(provide (all-defined-out))\n(require xml)\n(require net/http-client)\n \n;; download xml for national clinical trials found here: https://clinicaltrials.gov/\n(define all_nct_xml_dir\n  \"git/KG_creation/data/raw/AllPublicXML\")\n\n(define nct-https\n  (http-conn-open\n   \"clinicaltrials.gov\"\n   #:ssl? #t))\n\n;;\"https://clinicaltrials.gov/\"\n;; bytes? http 200 = ok request, 400 = bad request, 500 = server error, 404 = page not found\n;; lob? info of transaction \n;; ip? input-port we can read data from \n(define nct-data-files\n  (let-values (((bytes? lob? ip?)\n                (http-sendrecv\n                 \"clinicaltrials.gov\"\n                 \"/ct2/show/NCT03478891?displayxml=true\"\n                 ;;\"AllPublicXML.zip\"\n                 #:ssl? #t\n                 )))\n    (list bytes? lob? ip?)))\n\n#|\nxexpr conversion of xml\n(root\n  (parent-element                         \n     (element (attribute) <\"data\">)))         \n|#\n(define nct-data\n  (xml->xexpr\n   (document-element\n    (read-xml\n     (list-ref nct-data-files 2)))))\n\n\n(define test\n  (xml->xexpr\n    (document-element\n     (read-xml\n      (open-input-file\n       (car nct-xml-file-paths))))))\n\n\n(xml->xexpr\n    (document-element\n     (read-xml\n      (open-input-file\n       (car nct-xml-file-paths)))))\n\n\n(ftp-establish-connection\n \"https://clinicaltrials.gov/AllPublicXML.zip\"\t \t \t \t \n 21\t \t \t \t \n ;user\t \t \t \t \n ;passwd\n )\n\n\n\n(define user-home-path/str\n  (path->string (find-system-path 'home-dir)))\n\n(define nct_dir\n  (string-append user-home-path/str all_nct_xml_dir))\n\n(define nct-xml-file-paths\n  (filter\n   (lambda (x)\n     (and (path-has-extension? x \".xml\")\n          (regexp-match #rx\"^NCT[0-9]+.xml$\" (path->string (file-name-from-path x)))))\n          (sequence->list (in-directory nct_dir))))\n\n;; NCT03478891\n\n\n(define test\n  (xexpr->string\n   (xml->xexpr\n    (document-element\n     (read-xml\n      (open-input-file\n       (car nct-xml-file-paths)))))))\n\n\n#;(define t\n  (filter\n   (lambda (x) (and (not (null? x))\n                   (not (string? x))))\n   (xml->xexpr\n    (document-element\n     (read-xml\n      (open-input-file\n       (car nct-xml-file-paths)))))))\n\n\n#|\n;; list of all file paths \n(define paths-to-unichem-files\n  (filter\n   (lambda (x)\n     (and (path-has-extension? x \".txt\")\n          (regexp-match #rx\"^src[0-9]+src[0-9]+.txt$\" (path->string (file-name-from-path x)))))\n          (sequence->list (in-directory path-unichem))))\n\n\n(define xml_raw_files\n  (parse_xml_files nct_dir))\n\n\n\n(define parse_xml_files\n  (lambda (path)\n    (for/fold\n     ([ls '()])\n     ([f (in-directory path)] #:when (path-has-extension? f \".xml\"))     \n     (define xml-file-paths  (sequence->list f))\n     #;(define parsed-xml-file (read-xml (open-input-file f)))\n     (pretty-print xml-file-paths))))\n|#\n\n\n(define all_nct_xml_dir\n  \"git/KG_creation/data/raw/AllPublicXML\")\n\n(define user-home-path/str\n  (path->string (find-system-path 'home-dir)))\n\n(define nct_dir\n  (string-append user-home-path/str all_nct_xml_dir))\n\n(define nct-xml-file-paths\n  (filter\n   (lambda (x)\n     (and (path-has-extension? x \".xml\")\n          (regexp-match #rx\"^NCT[0-9]+.xml$\" (path->string (file-name-from-path x)))))\n          (sequence->list (in-directory nct_dir))))\n\n(define test\n  (xexpr->string\n   (xml->xexpr\n    (document-element\n     (read-xml\n      (open-input-file\n       (car nct-xml-file-paths)))))))\n\n\n(define t\n  (filter\n   (lambda (x) (and (not (null? x))\n                   (not (string? x))))\n   (xml->xexpr\n    (document-element\n     (read-xml\n      (open-input-file\n       (car nct-xml-file-paths)))))))\n\n\n#|\n;; list of all file paths \n(define paths-to-unichem-files\n  (filter\n   (lambda (x)\n     (and (path-has-extension? x \".txt\")\n          (regexp-match #rx\"^src[0-9]+src[0-9]+.txt$\" (path->string (file-name-from-path x)))))\n          (sequence->list (in-directory path-unichem))))\n\n\n(define xml_raw_files\n  (parse_xml_files nct_dir))\n\n\n\n(define parse_xml_files\n  (lambda (path)\n    (for/fold\n     ([ls '()])\n     ([f (in-directory path)] #:when (path-has-extension? f \".xml\"))     \n     (define xml-file-paths  (sequence->list f))\n     #;(define parsed-xml-file (read-xml (open-input-file f)))\n     (pretty-print xml-file-paths))))\n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/example-2-hop-rhobtb2-drug-safe.rkt",
    "content": "(displayln \"\\nRunning 2-hop rhobtb2 query with drug safety constraint:\")\n(define q3 (time (query/graph\n                  ((X       drug)\n                   (Y       gene-or-protein)\n                   (rhobtb2 \"UMLS:C1425762\")\n                   (T       #f))\n                  ((X->Y       negatively-regulates)\n                   (Y->rhobtb2 positively-regulates)\n                   ;; You can instead limit X to drugs with a tradename:\n                   ;(X->T       '(\"has_tradename\"))\n                   ;; Just comment this line out if you choose to.\n                   (X->T       drug-safe)\n                   )\n                  (X X->Y Y Y->rhobtb2 rhobtb2)\n                  (X X->T T))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q3)))\n\n#|\n=>\n\n((concepts: (X 11) (Y 1) (rhobtb2 1) (T 900))\n (edges: (X->Y 27) (Y->rhobtb2 2) (X->T 1019)))\n|#\n\n(displayln \"\\nRanking paths:\")\n(define ranked3 (time (ranked-paths q3)))\n(pretty-ranked (take ranked3 1))\n\n#|\n=>\n\n(path: 11 (X X->Y Y Y->rhobtb2 rhobtb2))\n((0.925\n  ((\"CUI:C0052416\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Arsenic trioxide\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:29073\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"L-ascorbic acid\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:41423\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"celecoxib\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0069717\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Oxaliplatin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:7553\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Niclosamide\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:66964\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Delta(9)-tetrahydrocannabinol\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:40303\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"lovastatin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:103210\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"hexahydrophthalic anhydride\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:49603\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"lapatinib\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:3181\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"bromocriptine\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:50924\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"sorafenib\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\"))))\n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/example-2-hop-rhobtb2.rkt",
    "content": "(displayln \"\\nRunning 2-hop rhobtb2 query with concept categories:\")\n(define q (time (query/graph\n                  ((X       drug)\n                   (Y       gene-or-protein)\n                   (rhobtb2 \"UMLS:C1425762\"))\n                  ((X->Y       negatively-regulates)\n                   (Y->rhobtb2 positively-regulates))\n                  (X X->Y Y Y->rhobtb2 rhobtb2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q)))\n\n#|\n=>\n\n((concepts: (X 52) (Y 1) (rhobtb2 1)) (edges: (X->Y 125) (Y->rhobtb2 2)))\n|#\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q)))\n(pretty-ranked ranked)\n\n#|\n=>\n\n(path: 52 (X X->Y Y Y->rhobtb2 rhobtb2))\n((0.925\n  ((\"CUI:C0936225\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Inorganic arsenic\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0008546\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Chromatin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0909265\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"pifithrin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0669391\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Keratin-14 [Chemical/Ingredient]\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0052416\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Arsenic trioxide\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0243192\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"agonists\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C1435338\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"nutlin 3\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0005456\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Binding Sites\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0033259\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Prodigiosin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0600508\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Response Elements\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:4917\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"eugenol\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0048451\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"4-Methoxyamphetamine\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:29073\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"L-ascorbic acid\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C1514727\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Ras Inhibitor\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0034424\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Quinolines [Chemical/Ingredient]\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C1443643\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Proteasome inhibitor\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:41423\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"celecoxib\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C1099354\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"RNA, Small Interfering [Chemical/Ingredient]\"\n    .\n    \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:137113\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Jq1\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C1101610\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"MicroRNAs [Chemical/Ingredient]\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0012854\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Deoxyribonucleic acid\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0066084\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"methaneselenol\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0078375\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Alpha tocopherol succinate\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0069717\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Oxaliplatin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:7553\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Niclosamide\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0013227\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Pharmaceutical / biologic product\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:66964\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Delta(9)-tetrahydrocannabinol\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEMBL:CHEMBL62381\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Sodium Butyrate\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:3962\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"curcumin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0003211\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Nonsteroidal Anti-inflammatory Drugs\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:32243\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"tolfenamic acid\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:40303\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"lovastatin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:63959\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"celastrol\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C1516312\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Caspase Inhibitor\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:103210\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"hexahydrophthalic anhydride\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CUI:C0006632\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Cadmium\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.925\n  ((\"CHEBI:49\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"(+)-Tetrandrine\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.85\n  ((\"MESH:C000602704\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"UF010 compound\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.85\n  ((\"MESH:C028031\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"cadmium acetate\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.85\n  ((\"CHEBI:30621\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"diarsenic trioxide\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:49603\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"lapatinib\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:3181\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"bromocriptine\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CUI:C0950721\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"7-hydroxystaurosporine\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:9516\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"thapsigargin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:50924\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"sorafenib\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:223316\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"(+)-artemisinin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CHEBI:338412\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"(-)-anisomycin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CUI:C0084178\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Prohibitin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CUI:C0010572\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Cycloheximide\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CUI:C0035668\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Ribonucleic acid\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CUI:C0961324\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"penetratin\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\")))\n (0.7\n  ((\"CUI:C0173532\" . \"CUI:C0812258\") (\"CUI:C0812258\" . \"CUI:C1425762\"))\n  ((\"Cyclin D3 [Chemical/Ingredient]\" . \"E2f transcription factor 1\")\n   (\"E2f transcription factor 1\"\n    .\n    \"Rho-related btb domain-containing protein 2\"))))\n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/example-2-hop-tmprss2.rkt",
    "content": "(displayln \"\\nRunning 2-hop tmprss2 down-up query with concept categories:\")\n(define q1 (time (query/graph\n                  ((X       drug)\n                   (Y       gene-or-protein)\n                   (tmprss2 \"UMLS:C1336641\"))\n                  ((X->Y       negatively-regulates)\n                   (Y->tmprss2 positively-regulates))\n                  (X X->Y Y Y->tmprss2 tmprss2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q1)))\n\n#|\n=>\n\n((concepts: (X 701) (Y 7) (tmprss2 1)) (edges: (X->Y 1570) (Y->tmprss2 10)))\n|#\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q1)))\n(pretty-ranked ranked)\n\n#|\n=>\n\n(path: 1010 (X X->Y Y Y->tmprss2 tmprss2))\n((0.8340624999999999\n  ((\"CHEBI:3347\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"candesartan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.8340624999999999\n  ((\"CHEBI:5959\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"irbesartan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.818125\n  ((\"CHEBI:7573\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"nilutamide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.818125\n  ((\"CHEBI:27732\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"caffeine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.818125\n  ((\"CHEBI:91372\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"2-(4-morpholinyl)-6-(1-thianthrenyl)-4-pyranone\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.818125\n  ((\"CHEBI:31932\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Olmesartan medoxomil\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0135693\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Pd 123319\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:6541\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"losartan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0006684\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Calcium channel blockers\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:9241\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"spironolactone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0009325\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Collagen\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C1257987\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Thiazolidinedione\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:17609\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"cortisol 21-acetate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:91739\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"2,2-diphenyl-N-[2,2,2-trichloro-1-[[(4-fluoro-3-nitroanilino)-sulfanylidenemethyl]amino]ethyl]acetamide\"\n    .\n    \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C1123005\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"fulvestrant\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:18357\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"(R)-noradrenaline\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0521942\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Angiotensin II Receptor Antagonists\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C1320169\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Nonsteroidal antiandrogen\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:9927\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"valsartan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0014939\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Estrogens\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0002842\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Antiandrogens\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0004504\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Azole\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0591237\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Casodex\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0013227\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Pharmaceutical / biologic product\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0003015\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Ace inhibitors\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0285590\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Bicalutamide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0012789\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Dithiothreitol [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:41879\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"dexamethasone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:17347\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"testosterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:17347\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"testosterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0022625\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ketoconazole\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEMBL:CHEMBL491\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"HYDROXYFLUTAMIDE\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:39548\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"atorvastatin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CUI:C0001645\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Beta-adrenergic Blocking Agents\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.78625\n  ((\"CHEBI:41879\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"dexamethasone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0117234\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Fadrozole [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:8062\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"phenethyl caffeate\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0014930\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Antiestrogens/Modifiers\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0209366\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Cetrorelix\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0006938\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Captopril\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:46195\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"paracetamol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0242402\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Opioid receptor agonist\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28119\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"2,3,7,8-tetrachlorodibenzodioxine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0257685\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Zoledronic acid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0013227\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Pharmaceutical / biologic product\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0029984\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Oxadiazoles [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL1742441\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"EMBUSARTAN\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:15367\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"all-trans-retinoic acid\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0055226\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Cgs-16949a\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0443483\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Free testosterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0032594\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Polysaccharide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:7466\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"nandrolone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:27584\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"aldosterone\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0065374\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Lisinopril\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0015684\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Fatty acid\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:31394\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Chlormadinone acetate\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0000975\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Acetate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:9168\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"rapamycin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0003308\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Antifungals\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16581\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"pregnenolone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0013227\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Pharmaceutical / biologic product\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0815016\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"releasing hormones\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0079925\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Antisense oligonucleotide\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0302837\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Vitamin supplementation\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0031705\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Phosphorus\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0065321\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Ly 53857\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0022245\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Isoproterenol\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0754775\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Kr 31080\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0243077\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"antagonists & inhibitors\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0667047\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"oleoyl-estrone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0044965\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"17 alpha-ethinyl-3-isopropylsulfonyloxyestradiol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0285590\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Bicalutamide\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:521033\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"dutasteride\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1318898\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"5-alpha Reductase Inhibitor [EPC]\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0014594\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Epitestosterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:24536\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"hexachlorocyclohexane\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0028128\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Nitric oxide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0667225\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Krh 594\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:93368\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"2-(1-piperazinyl)quinoline\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:5132\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"flutamide\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0163305\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"pyrrolidine dithiocarbamic acid\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0600334\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Silibinin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0023755\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Linuron\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:41774\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"tamoxifen\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL1355736\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Theophylline [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:6715\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"medroxyprogesterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL550495\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Methylene blue\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:5132\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"flutamide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0036800\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Serum Globulins [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0301818\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Steroid hormone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:5120\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"fluoxymesterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0040135\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Thyroid hormone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0017890\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Glycine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17045\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"dinitrogen oxide\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0291658\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Mk 996\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:3962\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"curcumin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1568245\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Endocrine Disruptors\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0175000\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"catalpol\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0054036\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Brefeldin A [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0728964\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ethinyl Estradiol/Norgestrel\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0593802\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Aromatase inhibitor\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1099354\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"RNA, Small Interfering [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0008838\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Cisplatin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:74125\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"losartan carboxylic acid\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0064113\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Itraconazole\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:4868\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"estramustine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0038785\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Sulfuric Acid Esters [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0284825\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"6-anilino-5,8-quinolinedione\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:65329\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Ly294002\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17609\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"cortisol 21-acetate\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0289313\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Rosiglitazone\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0309049\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"favor\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0647210\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"monooxyethylene trimethylolpropane tristearate\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0010505\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Cyanide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"GTPI:8041\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"KU-60019\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1564047\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Robenidine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0011038\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Dichlorodiphenyl Dichloroethylene [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0000975\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Acetate\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL2140173\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"CHEMBL2140173\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0878449\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Metribolone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0042306\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Vanadium\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1254351\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Pharmacologic Substance\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:521033\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"dutasteride\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0079925\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Antisense oligonucleotide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16113\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"cholesterol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:76004\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"dimethyl fumarate\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0014939\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Estrogens\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:47808\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"(R)-sulforaphane\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16330\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"17beta-hydroxy-5alpha-androstan-3-one\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:24814\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"indole-3-methanol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:3766\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"clozapine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0025175\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Megestrol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0072063\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"procymidone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0033497\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Propranolol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28077\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"rifampicin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0667961\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Th 142177\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0209211\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Lanreotide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0591237\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Casodex\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0162772\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Reactive Oxygen Species [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:22984\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"calcium atom\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0009906\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"oral contraceptive pill\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0022020\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Ionomycin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16069\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"1H-imidazole\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0237795\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"pressors\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0000661\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"8-Bromo Cyclic Adenosine Monophosphate [Chemical/Ingredient]\"\n    .\n    \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0043505\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ziram product\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0055474\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"chlorpyrifos-methyl\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:49662\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"indomethacin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:39421\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"perfluorooctane-1-sulfonic acid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0220853\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Hydroxide Ion\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0299755\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"fonsartan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1328699\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ogx-011\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16422\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"androst-4-ene-3,17-dione\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0026814\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Muscarine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0006684\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Calcium channel blockers\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16356\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"3',5'-cyclic GMP\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0033607\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Peptide hydrolase inhibitor product\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0085885\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Lathyrus poison\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:47499\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"imipramine\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0078245\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"vinclozolin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0025685\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Methoxychlor\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:44185\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"methotrexate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0002555\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Aminoglutethimide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0017725\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Glucose\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17026\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"progesterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:34761\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"fenthion\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0770350\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"ovarian extract\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16973\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"11-deoxycorticosterone\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0003364\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Hypotensive agent\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28088\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"genistein\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0049144\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"5-dihydro-19-nortestosterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0033307\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Synthetic progestogen\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:50095\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"bucladesine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0012798\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Diuretics\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:77006\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"17beta-estradiol 3-benzoate\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1318898\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"5-alpha Reductase Inhibitor [EPC]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:5062\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"finasteride\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0567415\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Atom\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0247955\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"3-((2'-carboxybiphenyl-4-yl)methyl)-2-cyclopropyl-7-methyl-3H-imidazo(4,5-b)pyridine\"\n    .\n    \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:41922\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"diethylstilbestrol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0872893\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Estrogenic substances\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0527379\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Candesartan cilexetil\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0950793\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"osaterone acetate\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17252\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"17alpha-hydroxyprogesterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0243192\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"agonists\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0701303\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"mifepristone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0631746\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"pregnane-20-one\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0033671\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Protein Synthesis Inhibitors\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0007004\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Carbohydrate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0600434\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Peroxisome Proliferators\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:18145\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"(+)-alpha-tocopherol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0756836\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ym 116\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0596922\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"methyl group\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:4911\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"etoposide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0360714\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"HMG-CoA reductase inhibitor product\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:63716\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"tenofovir hydrate\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0030817\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Penicillamine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0026160\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Mineralocorticoids\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1289975\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"androgenic steroid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:37537\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"phorbol 13-acetate 12-myristate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1514555\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Protein Kinase C Inhibitor\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0017725\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Glucose\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0812407\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Glucuronide\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:131184\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"2-aminoethoxydiphenylborane\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0812407\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Glucuronide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:15948\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"lycopene\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0010572\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Cycloheximide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16469\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"17beta-estradiol\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0677666\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Soy protein isolate\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:59809\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"docetaxel trihydrate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:32260\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"trilostane\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:41922\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"diethylstilbestrol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0049205\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"5-hydroxy-2-N,N-dipropylaminotetralin\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:2704\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"anastrozole\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:3181\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"bromocriptine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:4903\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"17alpha-ethynylestradiol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:3757\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"clonidine (imino form)\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0002844\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Androgens\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:52717\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"bortezomib\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0172006\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Ono 3805\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:88200\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"benazeprilat\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0090052\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"11-hydroxytestosterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0043031\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Warfarin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0521966\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Calcium ionophore A23187\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:138000\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"3-(1-methylpyrrolidin-2-yl)pyridine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:119486\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"efavirenz\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28088\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"genistein\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0291375\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"4,7beta-dimethyl-4-azacholestan-3-one\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0027415\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"narcotic\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0070915\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"phosphoramidon\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0019932\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Hormone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0012854\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Deoxyribonucleic acid\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0664210\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"7-hydroxytestosterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0090050\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"11-beta Hydroxyandrostenedione\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0286256\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Cgp 42112a\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:5692\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"hexachlorobenzene\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0038317\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Steroid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16881\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"1H-indole\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16243\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"quercetin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0003765\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Arginine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0109641\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"2,2,5,7,8-pentamethyl-1-hydroxychroman\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0035339\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Retinoids\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0297076\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"4-(3-(3-(bis(4-isobutylphenyl)methylamino)benzoyl)-1H-indol-1-yl)butyric acid\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0052201\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Apolipoprotein E4\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0059497\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Equol [Chemical/Ingredient]\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0001645\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Beta-adrenergic Blocking Agents\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:88522\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Monobutylphthalate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0020393\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Hydroxysteroids [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:41879\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"dexamethasone\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0023755\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Linuron\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:8364\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"prazosin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0005456\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Binding Sites\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16962\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"cortisone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0600334\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Silibinin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0950211\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"oxendolone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1100708\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"3,3-diindolymethane\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1611640\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"therapeutic agent\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0012854\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Deoxyribonucleic acid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0603200\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"1,2-di-(4-sulfamidophenyl)-4-butylpyrazolidine-3,5-dione\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0768712\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"8-prenylnaringenin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0120107\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Goserelin product\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0003308\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Antifungals\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0392419\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Fungicide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:27584\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"aldosterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0032458\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Polycyclic Aromatic Hydrocarbons [Chemical/Ingredient]\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:50742\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"cyproterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0577749\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Phytochemical product\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17026\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"progesterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0728965\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ethinyl Estradiol-Norgestrel Combination\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0028128\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Nitric oxide\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:3757\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"clonidine (imino form)\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0014594\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Epitestosterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28748\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"doxorubicin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0010124\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Corticosterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:8107\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"phenytoin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:50729\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"mitoxantrone\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28940\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"calciol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0036884\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Sex hormone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:7590\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"nitrofen\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0657318\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine\"\n    .\n    \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0024467\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Magnesium\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0017725\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Glucose\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1101610\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"MicroRNAs [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0257337\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"17 beta-benzoyl-4-aza-5 alpha-androst-1-ene-3-one\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0013832\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Electrolytes\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0002845\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Anabolic Steroids\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0136082\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"perchlorate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:3647\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"chlorpromazine\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL187460\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"CRYPTOTANSHINONE\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0289313\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Rosiglitazone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:4532\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"diethylstilbestrol diphosphate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:8434\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"prochloraz\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0700620\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Losartan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:5775\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"hydralazine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17883\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"hydrogen chloride\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16422\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"androst-4-ene-3,17-dione\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:18220\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"isoflavone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0304497\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Cytotoxic\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16503\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"selane\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0243076\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"antagonists & inhibitors\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:27543\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"9H-carbazole\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0004147\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Atenolol\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0486333\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Androstanediol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0032447\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Polychlorinated biphenyl\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28820\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"9-phenanthrol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:31189\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Allylestrenol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:41774\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"tamoxifen\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:45713\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"trans-resveratrol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0053526\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Bethanechol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0252643\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Bosentan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0772394\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Lepirudin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0034085\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Lung surfactant\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL170630\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"ETHANE\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0301818\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Steroid hormone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0075116\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Src peptide\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:6715\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"medroxyprogesterone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0073667\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"11,17-dihydroxy-6-methyl-17-(1-propynyl)androsta-1,4,6-triene-3-one\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0010124\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Corticosterone\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0878412\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Calcimycin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1514972\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Steroidal Estrogen\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28324\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"11-deoxycortisol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:2666\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"amitriptyline\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0057277\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Dehydroepiandrosterone sulfate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:39867\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"valproic acid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:5001\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"fenofibrate\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:58987\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"sildenafil citrate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0083966\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Pd 123177\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0149473\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Zoladex\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0076180\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"testosterone 17 beta-carboxylic acid\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0163951\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"androstan-3-one\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0006456\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Buserelin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:26836\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"sulfuric acid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:15367\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"all-trans-retinoic acid\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0071649\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Polyphenol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0040615\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Antipsychotics\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:8707\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"quetiapine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0043481\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Zinc\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28368\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"novobiocin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:15379\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"oxygen\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0070455\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Permethrin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0351241\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Androgens+anabolic steroids\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0127279\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Plomestane\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0009148\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Cobalt\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0028910\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Oils,essential\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0037343\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Autacoids [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0003765\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Arginine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:3699\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"cimetidine\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0035696\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Messenger RNA\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0034595\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Radioactive Isotopes\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1257954\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Cox-2 inhibitor\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:31186\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"alfacalcidol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:34849\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"mibolerone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0213165\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Fr 139317\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:15367\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"all-trans-retinoic acid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:45951\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"trifluoperazine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0038317\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Steroid\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0119192\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"ginsenoside Rb1\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0243192\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"agonists\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1099354\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"RNA, Small Interfering [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0082608\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Fluvastatin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:27974\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"estriol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0043791\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Diglyceride\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0071642\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"polypeptide C\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0360528\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Dexamethasone in oral dosage form\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1337263\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"hamster protein\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0028005\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Nicardipine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17747\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"bis(2-ethylhexyl) phthalate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL.COMPOUND:CHEMBL834\" . \"CUI:C0002844\")\n   (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"PAMIDRONIC ACID\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:6443\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"levonorgestrel\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17263\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"estrone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:31822\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"mercaptopurine hydrate\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0243042\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Mediator of inflammation\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:9434\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"telmisartan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0026234\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Plicamycin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:22984\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"calcium atom\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0030956\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Peptide product\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:35297\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"acene\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:135735\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"delapril\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0002842\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Antiandrogens\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0673767\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Kr 31080\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0032458\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Polycyclic Aromatic Hydrocarbons [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:18243\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"dopamine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0000979\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Acetates [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0174494\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"candesartan cilexetil\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL1977579\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Streptozocin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0017945\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Glycol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1443643\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Proteasome inhibitor\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0009871\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Contraceptives\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0014025\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Enalapril\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0772453\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Grape seed\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:68642\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"abiraterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"GTPI:9359\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"CP466722\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:8378\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"prednisolone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0007220\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Cardiovascular medications\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0010592\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Cyclosporine\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0619285\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"1,4-dioxin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"GTPI:8003\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"VE-822\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1258800\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Anabolic Agents\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:40303\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"lovastatin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0242893\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Cholinergic Agents\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:584020\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"methysergide\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0114873\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Doxazosin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0242947\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Muscarinic receptor agonist product\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0071554\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Polyestradiol phosphate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0010124\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Corticosterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:4910\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"etomidate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0009905\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"oral contraceptive\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1446539\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Tegafur and uracil product\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0030956\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Peptide product\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0004471\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Aza Compounds [Chemical/Ingredient]\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17252\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"17alpha-hydroxyprogesterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0178528\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"carboxylate\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:15738\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"staurosporine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0169911\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"messenger protein\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0020616\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Hypoglycemic agent\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0376202\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Pregnanolone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0304402\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Stimulant\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0001617\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Adrenal corticosteriods\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0038836\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Superoxides [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:30621\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"diarsenic trioxide\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0360714\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"HMG-CoA reductase inhibitor product\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0879272\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"bortezomib\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0005050\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Benzimidazoles [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1257987\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Thiazolidinedione\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0017774\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Glucuronates [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0815278\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Neurotransmitter Agents\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0025865\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Metribolone [Chemical/Ingredient]\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:45906\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"suramin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:34873\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"N-nitrosodiethylamine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0174112\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"(5alpha)-23-methyl-4-aza-21-norchol-1-ene-3,20-dione\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0245514\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Troglitazone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0044981\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"17-N,N-diethylcarbamoyl-4-methyl-4-azaandrostane-3-one\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0035696\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Messenger RNA\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0356799\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Estramustine phosphate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:15551\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"prostaglandin E2\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0074926\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Soy protein\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:103210\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"hexahydrophthalic anhydride\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:22984\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"calcium atom\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:31521\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"doxifluridine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0074721\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Sodium azide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0014938\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Estrogens,conjugated\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0699161\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"norethindrone acetate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:45081\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"pentamidine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0003402\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"antioxidant\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0017710\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Glucocorticoids\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0162772\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Reactive Oxygen Species [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0012798\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Diuretics\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16469\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"17beta-estradiol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0006055\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Clostridium botulinum toxin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0010572\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Cycloheximide\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0038734\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Sulfhydryls\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16118\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"berberine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:50885\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"fludrocortisone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0662900\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Amd3100\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0124804\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"L 158809\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0064294\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Keratinocyte growth factor\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:52289\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"wortmannin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:164200\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"triclosan\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0243192\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"agonists\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0013162\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Drug Combinations\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0003392\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Antineoplastics\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:16469\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"17beta-estradiol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:103210\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"hexahydrophthalic anhydride\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0878449\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Metribolone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:31394\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Chlormadinone acetate\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28689\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"dehydroepiandrosterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0018282\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Growth Inhibitors\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1312096\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"15-deoxyprostaglandin J2\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0037239\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"2,3,4,5-Tetrahydro-7,8-dihydroxy-1-phenyl-1H-3-benzazepine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:4814\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"eprosartan\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0243192\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"agonists\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0013879\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Chemical element\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL1697830\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Chlormadinone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:39867\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"valproic acid\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:28925\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"mechlorethamine\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:45924\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"trimethoprim\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:8382\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"prednisone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:27617\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"monensin A\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0027289\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Nadh\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0720298\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Estrogenic\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0066718\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"mono-(2-ethylhexyl)phthalate\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:5062\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"finasteride\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:7930\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Pargyline\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0067762\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"n-Acetyl neuraminic acid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:47898\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"4'-epidoxorubicin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1565238\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"2-morpholin-4-yl-6-thianthren-1-yl-pyran-4-one\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:32020\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"pitavastatin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0025219\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Melatonin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:37941\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"clopidogrel\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:7553\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Niclosamide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0017945\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Glycol\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0002605\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Benactyzine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0755562\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"U-0126\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0593802\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Aromatase inhibitor\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:7735\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"olanzapine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:31552\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Epristeride\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17026\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"progesterone\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0253596\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Activating Transcription Factor 3 [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0033306\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Progestins\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEMBL:CHEMBL491\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"HYDROXYFLUTAMIDE\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:6801\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"metformin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:80025\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Salinomycin\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:50742\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"cyproterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C1312096\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"15-deoxyprostaglandin J2\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0243076\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"antagonists & inhibitors\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0037135\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Silymarin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0071097\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Pioglitazone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0024547\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Malathion\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:31536\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"emtricitabine\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:17263\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"estrone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0379142\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"cyclo(Trp-Asp-Pro-Val-Leu)\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0022640\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ketosteroids [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CHEBI:45906\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"suramin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.7224999999999999\n  ((\"CUI:C0162758\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Serotonin Uptake Inhibitors\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0599786\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"pollutant\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:45783\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"imatinib\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0038317\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Steroid\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0062565\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Herbimycin A\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:16113\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"cholesterol\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C1171350\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Kinase Inhibitor [EPC]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0051834\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Androsterone Glucuronide\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:9927\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"valsartan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0010572\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Cycloheximide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0049647\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"6-methyl-1,3,8-trichlorodibenzofuran\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:16898\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"pyrimidine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0521942\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Angiotensin II Receptor Antagonists\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0014417\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Pollutant\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0025219\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Melatonin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:3347\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"candesartan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0005372\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Bicuculline [Chemical/Ingredient]\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0246173\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"trestolone\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:7627\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"norethisterone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0035668\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Ribonucleic acid\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:17939\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"puromycin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0033497\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Propranolol\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:71418\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"triamcinolone acetonide\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0036847\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"Sesquiterpenes [Chemical/Ingredient]\"\n    .\n    \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:8273\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"plumbagin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:16240\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"hydrogen peroxide\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0030493\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Paraquat\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:49668\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"gefitinib\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:5959\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"irbesartan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:46081\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"fluconazole\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C1602789\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Profen\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0135693\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Pd 123319\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C1171350\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Kinase Inhibitor [EPC]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:39548\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"atorvastatin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:15738\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"staurosporine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0002696\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ampyrone [Chemical/Ingredient]\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0012935\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Deoxyribonucleic acid, single stranded\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0768581\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"4-ethoxymethylene-2-phenyl-2-oxazoline-5-one\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:31932\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Olmesartan medoxomil\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0599683\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"C19 steroid\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:5613\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"haloperidol\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0003448\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Antituberculars\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEMBL:CHEMBL1908314\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Mespirenone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0378018\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"astragaloside A\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C1268567\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Protein-tyrosine kinase inhibitor product\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0077274\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Triptolide\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0619285\" . \"CHEBI:16330\") (\"CHEBI:16330\" . \"CUI:C1336641\"))\n  ((\"1,4-dioxin\" . \"17beta-hydroxy-5alpha-androstan-3-one\")\n   (\"17beta-hydroxy-5alpha-androstan-3-one\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0043454\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Zearalenone\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0599740\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"pharmacophore\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C1567637\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Rpr260243\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0040615\" . \"CUI:C0599295\") (\"CUI:C0599295\" . \"CUI:C1336641\"))\n  ((\"Antipsychotics\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")\n   (\"V-ets avian erythroblastosis virus e26 oncogene homolog\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C1377705\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"preservative free\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C1510932\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"antiprogestin\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0012789\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Dithiothreitol [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0917964\" . \"CUI:C0919524\") (\"CUI:C0919524\" . \"CUI:C1336641\"))\n  ((\"Forskolin\" . \"Atm\")\n   (\"Atm\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0068957\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"noramidopyrine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:32169\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Sulpyrine\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CHEBI:18357\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"(R)-noradrenaline\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0002845\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Anabolic Steroids\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.595\n  ((\"CUI:C0035668\" . \"CUI:C0002844\") (\"CUI:C0002844\" . \"CUI:C1336641\"))\n  ((\"Ribonucleic acid\" . \"Androgens\")\n   (\"Androgens\" . \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0870883\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Metabolite\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:63867\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"N-(hexanoyl)sphing-4-enine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0950721\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"7-hydroxystaurosporine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0527855\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"angelmicin B\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0673767\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Kr 31080\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:5292\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"geldanamycin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1137199\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"atractylenolide II\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0717758\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Etanercept\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0205838\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Lanthanoid Series Elements [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0009968\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Copper\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0949647\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Tocotrienol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:45713\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"trans-resveratrol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0526226\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"garcinol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1144513\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"mahanine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:34967\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Sr 141716\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17609\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"cortisol 21-acetate\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:43616\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"K-252a\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:46024\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"trichostatin A\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0001218\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Acrylamides [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0013162\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Drug Combinations\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0005029\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Benzamides [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:22984\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"calcium atom\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0020737\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Ibogaine\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0243192\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"agonists\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:15367\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"all-trans-retinoic acid\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:65329\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Ly294002\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0210353\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"N-(2(R)-2-(hydroxamidocarbonylmethyl)-4-methylpentanoyl)-L-tryptophan methylamide\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0038760\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Sulfonamides\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:32020\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"pitavastatin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0065321\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Ly 53857\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0381241\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Tyrphostin B42\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0017725\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Glucose\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0007090\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Carcinogen\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17026\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"progesterone\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0043775\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"1,2-bis(2-aminophenoxy)ethane-N,N,N',N'-tetraacetic acid\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0034861\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Recombinant protein\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0282555\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Anti-Allergic Agents\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0054836\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Carvedilol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1514560\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Protein Phosphatase Inhibitor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0302837\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Vitamin supplementation\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0001617\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Adrenal corticosteriods\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:6402\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"leflunomide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0013227\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Pharmaceutical / biologic product\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0012854\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Deoxyribonucleic acid\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:28364\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"all-cis-5,8,11,14,17-icosapentaenoic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0536128\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Xanthohumol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0079925\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Antisense oligonucleotide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:44215\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"NAD zwitterion\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1099354\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"RNA, Small Interfering [Chemical/Ingredient]\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:27584\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"aldosterone\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0244104\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Pyruvate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16240\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"hydrogen peroxide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1565237\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"2-morpholin-4-yl-6-thianthren-1-yl-pyran-4-one\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:50924\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"sorafenib\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1328709\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"siplizumab\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0060397\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"fisetin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0667961\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Th 142177\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0603200\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"1,2-di-(4-sulfamidophenyl)-4-butylpyrazolidine-3,5-dione\"\n    .\n    \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0071642\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"polypeptide C\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEMBL:CHEMBL92484\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Aptiganel\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0002520\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Amino acids\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0028005\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Nicardipine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0599740\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"pharmacophore\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1134434\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Ag 1879\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17045\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"dinitrogen oxide\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1176007\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Piceatannol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0030493\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Paraquat\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0971797\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"halenaquinol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0051936\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"ansamycin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0600434\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Peroxisome Proliferators\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1566074\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"salubrinal\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:30740\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"ethylene glycol bis(2-aminoethyl)tetraacetic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0243076\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"antagonists & inhibitors\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:28088\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"genistein\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:4948\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Evodiamine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:45863\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"paclitaxel\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16933\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"ergosterol\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:15367\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"all-trans-retinoic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0002007\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Aldosterone receptor antagonist\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:40303\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"lovastatin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEMBL:CHEMBL1742441\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"EMBUSARTAN\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0010592\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Cyclosporine\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0174494\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"candesartan cilexetil\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0028128\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Nitric oxide\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:5292\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"geldanamycin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17097\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"biphenyl\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0028910\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Oils,essential\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0017890\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Glycine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0054130\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"bromopyruvate\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:89642\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Gestrinone\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:8364\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"prazosin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:88200\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"benazeprilat\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0037907\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Sphingosine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0070913\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Phosphoramide Mustard\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:9908\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"ursolic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0012968\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Docosahexaenoic Acids [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:63616\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"pemetrexed\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0443985\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Flinders medical center-7 marker\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0029904\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Ouabain\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0298346\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"MEK Inhibitor PD-98059\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0718263\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Adenosine-5\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0162772\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Reactive Oxygen Species [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0043791\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Diglyceride\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:114785\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"erlotinib\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:50729\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"mitoxantrone\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0301067\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Cyclohexamide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:103210\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"hexahydrophthalic anhydride\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0000641\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"7,8-Dihydro-7,8-dihydroxybenzo(a)pyrene 9,10-oxide [Chemical/Ingredient]\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0069535\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Oncostatin M [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0033497\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Propranolol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0754775\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Kr 31080\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:8890\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"(S)-ropivacaine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1099354\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"RNA, Small Interfering [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0047611\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"3-methylquercetin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:28088\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"genistein\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:103210\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"hexahydrophthalic anhydride\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:4806\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"epigallocatechin gallate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0034407\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Quinazoline\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0243042\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Mediator of inflammation\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003402\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"antioxidant\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0078433\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Nerve agent VX\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0005372\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Bicuculline [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0148973\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"xestoquinone\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0040615\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Antipsychotics\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:45924\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"trimethoprim\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0911464\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Pd 173955\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0012802\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Thiazides/related diuretics\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:63716\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"tenofovir hydrate\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0914052\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Tyrphostin AG 1295\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0014994\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Ether\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:52717\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"bortezomib\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:3757\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"clonidine (imino form)\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0299755\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"fonsartan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:5123\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"fluphenazine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16973\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"11-deoxycorticosterone\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:5613\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"haloperidol\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1611640\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"therapeutic agent\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1527392\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Immunomodulators\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16881\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"1H-indole\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1259477\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Ym-254890\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:15553\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"prostaglandin F2alpha\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0667225\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Krh 594\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0718711\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Atacand\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0069796\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"oxotremorine M\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:5775\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"hydralazine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:45951\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"trifluoperazine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0041485\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Tyrosine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0032136\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Plasmid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0026234\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Plicamycin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003015\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Ace inhibitors\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1443775\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Epidermal growth factor receptor antagonist product\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0030956\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Peptide product\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0014025\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Enalapril\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0213654\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Tyrphostin A25\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0124804\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"L 158809\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0013162\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Drug Combinations\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1101610\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"MicroRNAs [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0017725\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Glucose\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0010124\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Corticosterone\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:3962\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"curcumin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0027289\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Nadh\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0567415\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Atom\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0386394\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Olmesartan Medoxomil\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0080124\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"antisense-RNA\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:9448\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"terbinafine\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0047701\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"3-phosphoglycerate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0006938\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Captopril\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0017710\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Glucocorticoids\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:28748\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"doxorubicin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:50924\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"sorafenib\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0034325\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Pyrrole\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0038734\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Sulfhydryls\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:8899\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"rottlerin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:175901\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"gemcitabine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0230664\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Membrane receptor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003765\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Arginine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:37537\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"phorbol 13-acetate 12-myristate\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0042523\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Verapamil\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:37941\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"clopidogrel\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1312096\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"15-deoxyprostaglandin J2\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0036257\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Dibenz(b,f)(1,4)oxazepine-10(11H)-carboxylic acid, 8-chloro-, 2-acetylhydrazide\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003392\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Antineoplastics\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:46345\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"5-fluorouracil\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:4814\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"eprosartan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0769339\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Kf-25706\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0008466\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Chondroitin sulfate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0124673\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Kn 93\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:18243\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"dopamine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1328819\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Absolute Genomic Position\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0597298\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Protein Isoforms [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0909826\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Claudin-4 [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0038836\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Superoxides [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0163305\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"pyrrolidine dithiocarbamic acid\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0002508\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Amine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:65408\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"andrographolide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:3962\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"curcumin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:6541\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"losartan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:39112\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"bosutinib\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003308\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Antifungals\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0030935\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Peptide Fragments [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0004504\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Azole\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:43572\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"kojic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0178528\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"carboxylate\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0243192\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"agonists\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0018282\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Growth Inhibitors\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0935987\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Gleevec\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0033607\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Peptide hydrolase inhibitor product\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1097641\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"2-cyclopentyl-5-(5-isoquinolylsulfonyl)-6-nitro-1H-benzo(D)imidazole\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0360714\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"HMG-CoA reductase inhibitor product\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0732611\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Selective Estrogen Receptor Modifying Agents\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0034435\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Quinones [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16240\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"hydrogen peroxide\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0647210\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"monooxyethylene trimethylolpropane tristearate\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003235\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Antifungal Agents\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1137338\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"4-(5-benzo(1,3)dioxol-5-yl-4-pyridin-2-yl-1H-imidazol-2-yl)benzamide\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0596087\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Antiangiogenic Agents\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0012798\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Diuretics\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0768581\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"4-ethoxymethylene-2-phenyl-2-oxazoline-5-one\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:135737\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"lacidipine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:27617\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"monensin A\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0020282\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Hydrogen sulfide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0009325\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Collagen\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0521966\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Calcium ionophore A23187\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0755562\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"U-0126\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0029984\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Oxadiazoles [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17241\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"1H-pyrazole\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEMBL:CHEMBL475584\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"1-(4-(4-amino-5-(3-methoxyphenyl)-7H-pyrrolo[2,3-d]pyrimidin-7-yl)phenethyl)piperidin-4-ol\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0021966\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Iodide salt\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0618845\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"N-formyl-13-dihydrocarminomycin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:135735\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"delapril\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0023779\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Lipid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEMBL:CHEMBL62381\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Sodium Butyrate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1377705\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"preservative free\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0008864\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Citrulline\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0009325\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Collagen\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0022245\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Isoproterenol\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16227\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"pyridine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:6801\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"metformin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1572759\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Monohydrate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17362\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"quinoline\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0297666\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Sb 203580\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0256547\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"anacardic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0025405\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Tiopronin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0657318\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine\"\n    .\n    \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0034136\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Purine nucleoside product\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:15864\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"luteolin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0246694\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Mg-132\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0008240\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Chlorogenic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0247955\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"3-((2'-carboxybiphenyl-4-yl)methyl)-2-cyclopropyl-7-methyl-3H-imidazo(4,5-b)pyridine\"\n    .\n    \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003316\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Epitope\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1443643\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Proteasome inhibitor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0252643\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Bosentan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0567415\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Atom\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16469\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"17beta-estradiol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0079925\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Antisense oligonucleotide\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0031453\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Phenylalanine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:9241\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"spironolactone\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0213165\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Fr 139317\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:9434\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"telmisartan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1567637\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Rpr260243\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0175000\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"catalpol\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0286256\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Cgp 42112a\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0879551\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Visilizumab\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:76004\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"dimethyl fumarate\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0037874\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Spermine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0069035\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"norvaline\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:41879\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"dexamethasone\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0178528\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"carboxylate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1097828\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"denbinobin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0597128\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"ocular hypotensive\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0010738\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Cytochalasin D [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0001047\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Acetylcysteine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0391142\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"N-beta-alanyl-5-S-glutathionyl-3,4-dihydroxyphenylalanine\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0022020\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Ionomycin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1101610\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"MicroRNAs [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:30563\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"silicon dioxide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1328819\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Absolute Genomic Position\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0035696\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Messenger RNA\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0878412\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Calcimycin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1514555\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Protein Kinase C Inhibitor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0813872\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Dizocilpine Maleate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0005456\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Binding Sites\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0082608\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Fluvastatin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0008015\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Macrophage chemotactic factor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0700620\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Losartan\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0080124\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"antisense-RNA\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0058079\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"dihydroguaiaretic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0043791\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Diglyceride\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:119486\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"efavirenz\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:18388\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"apigenin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0027388\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Naphthoquinone\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1565238\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"2-morpholin-4-yl-6-thianthren-1-yl-pyran-4-one\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:556075\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"radicicol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0006521\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Butyrates [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0967397\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"halenaquinone\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEMBL:CHEMBL7463\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"GF-109203\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17303\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"morphine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0004147\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Atenolol\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0280038\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Purine antagonist\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:27584\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"aldosterone\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0013832\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Electrolytes\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0083966\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Pd 123177\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1564139\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Mutant Proteins [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16118\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"berberine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:31932\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Olmesartan medoxomil\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:46081\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"fluconazole\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0027415\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"narcotic\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1608746\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"4-quinazolinamine, N-(2-chloro-5-methoxyphenyl)-6-methoxy-7-((1-methyl-4-piperidinyl) methoxy)\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0040880\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Triazole\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0010737\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Cytochalasin B [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0619285\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"1,4-dioxin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0005456\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Binding Sites\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1257987\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Thiazolidinedione\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0000254\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"2-Amino-5-phosphonovalerate [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1120337\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"tyrphostin AG 1024\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0379142\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"cyclo(Trp-Asp-Pro-Val-Leu)\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0007412\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Catecholamine product\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0075116\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Src peptide\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:49960\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"vandetanib\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0037239\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"2,3,4,5-Tetrahydro-7,8-dihydroxy-1-phenyl-1H-3-benzazepine\"\n    .\n    \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003402\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"antioxidant\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:28364\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"all-cis-5,8,11,14,17-icosapentaenoic acid\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0729218\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"tacrolimus\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17793\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"calycosin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:5001\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"fenofibrate\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0034140\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Purines [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0066801\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"morin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1519952\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Vanilloid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0283149\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"ophiocordin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0169911\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"messenger protein\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0010803\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Cytokeratin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:90695\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"anthra[1,9-cd]pyrazol-6(2H)-one\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:28901\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"busulfan\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1095795\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"EGb761\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0298346\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"MEK Inhibitor PD-98059\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1277078\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Human red blood cells, blood product\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0168957\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"halenaquinol sulfate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0032172\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Platelet activating factor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:22984\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"calcium atom\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0005456\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Binding Sites\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0025646\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Methionine\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:566274\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"malonaldehyde\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0053065\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Beauvericin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0035696\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Messenger RNA\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0165117\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"jasplakinolide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:5601\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"(+)-haematoxylin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0962522\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Su 6656\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0005050\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Benzimidazoles [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0218197\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"cardiotoxin III, Naja naja atra\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0075116\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Src peptide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17939\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"puromycin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:9168\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"rapamycin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:15551\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"prostaglandin E2\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:6456\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"lidocaine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0037343\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Autacoids [Chemical/Ingredient]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0647210\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"monooxyethylene trimethylolpropane tristearate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:39867\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"valproic acid\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:28088\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"genistein\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:15422\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Atp\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0034424\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Quinolines [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0001771\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Agar\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16356\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"3',5'-cyclic GMP\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0597220\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"phospholipase inhibitor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEMBL:CHEMBL1977579\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Streptozocin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:131184\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"2-aminoethoxydiphenylborane\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:9287\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"streptonigrin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0021528\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Inosine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0378018\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"astragaloside A\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1449702\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Protein kinase inhibitor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0030956\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Peptide product\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0008838\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Cisplatin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0008838\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Cisplatin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:49603\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"lapatinib\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:74125\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"losartan carboxylic acid\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0038836\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Superoxides [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0070610\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"phenyl-2-aminoethyl sulfide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0906802\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"imatinib mesylate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1099354\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"RNA, Small Interfering [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0003364\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Hypotensive agent\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0162772\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Reactive Oxygen Species [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0527379\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Candesartan cilexetil\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0765885\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"beta-hydroxyisovalerylshikonin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0010934\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Dactinomycin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0597217\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"phosphatase inhibitor\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:16113\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"cholesterol\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:6570\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"lupeol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0289313\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Rosiglitazone\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0961045\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Ekb-569\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0682957\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"amine derivatives\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0964758\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Ws 1442\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0971473\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"cilengitide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0065374\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Lisinopril\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:38912\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Ro 31-8220\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:27732\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"caffeine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0063340\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Ifenprodil\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0070915\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"phosphoramidon\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:65329\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Ly294002\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0062565\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Herbimycin A\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:9516\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"thapsigargin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:80025\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Salinomycin\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0237795\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"pressors\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0006684\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Calcium channel blockers\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0029366\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Vanadates\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:8062\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"phenethyl caffeate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1566558\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"natural product\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:31536\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"emtricitabine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0013879\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Chemical element\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0042305\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Vanadates [Chemical/Ingredient]\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0045246\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"2,2'-azino-di-(3-ethylbenzothiazoline)-6-sulfonic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:59809\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"docetaxel trihydrate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0175000\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"catalpol\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0038317\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Steroid\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:47495\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"N-[2-(4-bromocinnamylamino)ethyl]isoquinoline-5-sulfonamide\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0001645\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Beta-adrenergic Blocking Agents\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0772394\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Lepirudin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:27732\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"caffeine\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:46024\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"trichostatin A\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0914738\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"benzocycloheptapyridine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0012544\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Bisphosphonate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0033497\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"Propranolol\" . \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:8774\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"ramipril\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C1171350\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Kinase Inhibitor [EPC]\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:63618\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"pravastatin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0699251\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"acetylcysteine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0042010\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Uridine triphosphate\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0020349\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Hydroxyeicosatetraenoic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:52289\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"wortmannin\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:17154\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"nicotinamide\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:92413\" . \"CUI:C1705964\") (\"CUI:C1705964\" . \"CUI:C1336641\"))\n  ((\"5-[(2,5-dihydroxyphenyl)methyl-[(2-hydroxyphenyl)methyl]amino]-2-hydroxybenzoic acid\"\n    .\n    \"ERG wt Allele\")\n   (\"ERG wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0291658\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"Mk 996\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0048451\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"4-Methoxyamphetamine\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0040270\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"1,2-Dihydroxybenzene-3,5-Disulfonic Acid Disodium Salt [Chemical/Ingredient]\"\n    .\n    \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0013227\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Pharmaceutical / biologic product\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0014939\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Estrogens\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:15843\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"arachidonic acid\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CUI:C0042523\" . \"CUI:C1705997\") (\"CUI:C1705997\" . \"CUI:C1336641\"))\n  ((\"Verapamil\" . \"SRC wt Allele\")\n   (\"SRC wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\")))\n (0.48999999999999994\n  ((\"CHEBI:52289\" . \"CUI:C1705846\") (\"CUI:C1705846\" . \"CUI:C1336641\"))\n  ((\"wortmannin\" . \"ATM wt Allele\")\n   (\"ATM wt Allele\"\n    .\n    \"V-ets avian erythroblastosis virus e26 oncogene homolog\"))))\n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/example-ontology.rkt",
    "content": ";; Expected outputs are block-commented after each expression.\n\n;; find ancestors of \"substance with phytoestrogen role\" in OBO:GOCHE ontology:\n(get-all-OBO:GOCHE-ancestors (keep 1 (find-concepts #t (list \"OBO:GOCHE_76989\"))))\n\n#|\n=>\n\n(set\n '(rtx2\n   5606341\n   \"OBO:GOCHE_52210\"\n   \"substance with pharmacological role role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_52210\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_52210\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5088598\n   \"OBO:GOCHE_24432\"\n   \"substance with biological role role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_24432\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_24432\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   885146\n   \"OBO:GOCHE_24621\"\n   \"substance with hormone role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_24621\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_24621\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5610174\n   \"OBO:GOCHE_33280\"\n   \"substance with molecular messenger role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_33280\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_33280\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5611882\n   \"OBO:GOCHE_50112\"\n   \"substance with sex hormone role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_50112\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_50112\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5611724\n   \"OBO:GOCHE_50906\"\n   \"substance with role role\"\n   (2 . \"http://w3id.org/biolink/vocab/NamedThing\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_50906\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"named_thing\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_50906\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5606343\n   \"OBO:GOCHE_48705\"\n   \"substance with agonist role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_48705\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_48705\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   947710\n   \"OBO:GOCHE_50114\"\n   \"substance with estrogen role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_50114\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_50114\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\"))))\n|#\n\n\n;; find descendants of \"substance with estrogen role\" in OBO:GOCHE ontology:\n(get-all-OBO:GOCHE-descendants (keep 1 (find-concepts #t (list \"OBO:GOCHE_50114\"))))\n\n#|\n=>\n\n(set\n '(rtx2\n   5606174\n   \"OBO:GOCHE_76989\"\n   \"substance with phytoestrogen role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_76989\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_76989\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5606175\n   \"OBO:GOCHE_76988\"\n   \"substance with xenoestrogen role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_76988\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_76988\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\"))))\n|#\n\n\n\n;; Examples finding the fixed-point of ancestor concepts in GO\n;; ontology.  (GO has multiple inheritance, which makes finding the\n;; fixed-point important.)\n\n;; Lymphangiogenesis\n(define S1 (keep 1 (find-concepts #t (list \"GO:0001946\"))))\n(define A1 (get-all-GO-ancestors S1))\n(pretty-print (get-curies/names-from-concepts A1))\n\n#|\n=>\n\n'((\"GO:0009653\" \"anatomical structure morphogenesis\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0048646\" \"anatomical structure formation involved in morphogenesis\")\n  (\"GO:0032502\" \"developmental process\"))\n|#\n\n;; negative regulation of cell migration involved in sprouting angiogenesis\n(define S2 (keep 1 (find-concepts #t (list \"GO:0090051\"))))\n(define A2 (get-all-GO-ancestors S2))\n(pretty-print (get-curies/names-from-concepts A2))\n\n#|\n=>\n\n'((\"GO:0010633\" \"negative regulation of epithelial cell migration\")\n  (\"GO:0065007\" \"biological regulation\")\n  (\"GO:0030334\" \"regulation of cell migration\")\n  (\"GO:0045765\" \"regulation of angiogenesis\")\n  (\"GO:0048523\" \"negative regulation of cellular process\")\n  (\"GO:0032879\" \"regulation of localization\")\n  (\"GO:0016525\" \"negative regulation of angiogenesis\")\n  (\"GO:0040013\" \"negative regulation of locomotion\")\n  (\"GO:0050789\" \"regulation of biological process\")\n  (\"GO:0043537\" \"negative regulation of blood vessel endothelial cell migration\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0030336\" \"negative regulation of cell migration\")\n  (\"GO:0010632\" \"regulation of epithelial cell migration\")\n  (\"GO:0051239\" \"regulation of multicellular organismal process\")\n  (\"GO:2000145\" \"regulation of cell motility\")\n  (\"GO:1901342\" \"regulation of vasculature development\")\n  (\"GO:0022603\" \"regulation of anatomical structure morphogenesis\")\n  (\"GO:0050793\" \"regulation of developmental process\")\n  (\"GO:0051271\" \"negative regulation of cellular component movement\")\n  (\"GO:0050794\" \"regulation of cellular process\")\n  (\"GO:0043535\" \"regulation of blood vessel endothelial cell migration\")\n  (\"GO:2000026\" \"regulation of multicellular organismal development\")\n  (\"GO:0010594\" \"regulation of endothelial cell migration\")\n  (\"GO:0051270\" \"regulation of cellular component movement\")\n  (\"GO:0048519\" \"negative regulation of biological process\")\n  (\"GO:0051241\" \"negative regulation of multicellular organismal process\")\n  (\"GO:1901343\" \"negative regulation of vasculature development\")\n  (\"GO:2000181\" \"negative regulation of blood vessel morphogenesis\")\n  (\"GO:1903671\" \"negative regulation of sprouting angiogenesis\")\n  (\"GO:0051093\" \"negative regulation of developmental process\")\n  (\"GO:0010596\" \"negative regulation of endothelial cell migration\")\n  (\"GO:0090049\" \"regulation of cell migration involved in sprouting angiogenesis\")\n  (\"GO:2000146\" \"negative regulation of cell motility\")\n  (\"GO:1903670\" \"regulation of sprouting angiogenesis\")\n  (\"GO:0040012\" \"regulation of locomotion\"))\n|#\n\n;; positive regulation of execution phase of apoptosis\n(define S3 (keep 1 (find-concepts #t (list \"GO:1900119\"))))\n(define A3 (get-all-GO-ancestors S3))\n(pretty-print (get-curies/names-from-concepts A3))\n\n#|\n=>\n\n'((\"GO:0065007\" \"biological regulation\")\n  (\"GO:0042981\" \"regulation of apoptotic process\")\n  (\"GO:1900117\" \"regulation of execution phase of apoptosis\")\n  (\"GO:0050789\" \"regulation of biological process\")\n  (\"GO:0043067\" \"regulation of programmed cell death\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0050794\" \"regulation of cellular process\")\n  (\"GO:0048522\" \"positive regulation of cellular process\")\n  (\"GO:0043065\" \"positive regulation of apoptotic process\")\n  (\"GO:0010942\" \"positive regulation of cell death\")\n  (\"GO:0048518\" \"positive regulation of biological process\")\n  (\"GO:0010941\" \"regulation of cell death\")\n  (\"GO:0043068\" \"positive regulation of programmed cell death\"))\n|#\n\n;; positive regulation of cysteine-type endopeptidase activity involved in execution phase of apoptosis\n(define S4 (keep 1 (find-concepts #t (list \"GO:2001272\"))))\n(define A4 (get-all-GO-ancestors S4))\n(pretty-print (get-curies/names-from-concepts A4))\n\n#|\n=>\n\n'((\"GO:0065007\" \"biological regulation\")\n  (\"GO:0042981\" \"regulation of apoptotic process\")\n  (\"GO:0044093\" \"positive regulation of molecular function\")\n  (\"GO:0009893\" \"positive regulation of metabolic process\")\n  (\"GO:0019222\" \"regulation of metabolic process\")\n  (\"GO:0052547\" \"regulation of peptidase activity\")\n  (\"GO:0045862\" \"positive regulation of proteolysis\")\n  (\"GO:0051336\" \"regulation of hydrolase activity\")\n  (\"GO:0032270\" \"positive regulation of cellular protein metabolic process\")\n  (\"GO:1900117\" \"regulation of execution phase of apoptosis\")\n  (\"GO:2001056\" \"positive regulation of cysteine-type endopeptidase activity\")\n  (\"GO:0051171\" \"regulation of nitrogen compound metabolic process\")\n  (\"GO:0060255\" \"regulation of macromolecule metabolic process\")\n  (\"GO:0010950\" \"positive regulation of endopeptidase activity\")\n  (\"GO:0050789\" \"regulation of biological process\")\n  (\"GO:0043067\" \"regulation of programmed cell death\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0010604\" \"positive regulation of macromolecule metabolic process\")\n  (\"GO:0052548\" \"regulation of endopeptidase activity\")\n  (\"GO:0050794\" \"regulation of cellular process\")\n  (\"GO:0048522\" \"positive regulation of cellular process\")\n  (\"GO:0051247\" \"positive regulation of protein metabolic process\")\n  (\"GO:0043065\" \"positive regulation of apoptotic process\")\n  (\"GO:0010942\" \"positive regulation of cell death\")\n  (\"GO:0010952\" \"positive regulation of peptidase activity\")\n  (\"GO:0031323\" \"regulation of cellular metabolic process\")\n  (\"GO:2000116\" \"regulation of cysteine-type endopeptidase activity\")\n  (\"GO:0051173\" \"positive regulation of nitrogen compound metabolic process\")\n  (\"GO:0048518\" \"positive regulation of biological process\")\n  (\"GO:0043085\" \"positive regulation of catalytic activity\")\n  (\"GO:0050790\" \"regulation of catalytic activity\")\n  (\"GO:0051246\" \"regulation of protein metabolic process\")\n  (\"GO:0051345\" \"positive regulation of hydrolase activity\")\n  (\"GO:0032268\" \"regulation of cellular protein metabolic process\")\n  (\"GO:0043280\" \"positive regulation of cysteine-type endopeptidase activity involved in apoptotic process\")\n  (\"GO:0010941\" \"regulation of cell death\")\n  (\"GO:2001270\" \"regulation of cysteine-type endopeptidase activity involved in execution phase of apoptosis\")\n  (\"GO:0043281\" \"regulation of cysteine-type endopeptidase activity involved in apoptotic process\")\n  (\"GO:0065009\" \"regulation of molecular function\")\n  (\"GO:0031325\" \"positive regulation of cellular metabolic process\")\n  (\"GO:1900119\" \"positive regulation of execution phase of apoptosis\")\n  (\"GO:0080090\" \"regulation of primary metabolic process\")\n  (\"GO:0030162\" \"regulation of proteolysis\")\n  (\"GO:0043068\" \"positive regulation of programmed cell death\"))\n|#\n\n;; cysteine-type endopeptidase activity involved in execution phase of apoptosis\n(define S5 (keep 1 (find-concepts #t (list \"GO:0097200\"))))\n(define A5 (get-all-GO-ancestors S5))\n(pretty-print (get-curies/names-from-concepts A5))\n\n#|\n=>\n\n'((\"GO:0097153\"\n   \"cysteine-type endopeptidase activity involved in apoptotic process\"))\n|#\n\n;; activation of JUN kinase activity\n(define S6 (keep 1 (find-concepts #t (list \"GO:0007257\"))))\n(define A6 (get-all-GO-ancestors S6))\n(pretty-print (get-curies/names-from-concepts A6))\n\n#|\n=>\n\n'((\"GO:0065007\" \"biological regulation\")\n  (\"GO:0043405\" \"regulation of MAP kinase activity\")\n  (\"GO:0044093\" \"positive regulation of molecular function\")\n  (\"GO:0023056\" \"positive regulation of signaling\")\n  (\"GO:0009893\" \"positive regulation of metabolic process\")\n  (\"GO:0019222\" \"regulation of metabolic process\")\n  (\"GO:0071900\" \"regulation of protein serine/threonine kinase activity\")\n  (\"GO:0032872\" \"regulation of stress-activated MAPK cascade\")\n  (\"GO:0080134\" \"regulation of response to stress\")\n  (\"GO:0032270\" \"positive regulation of cellular protein metabolic process\")\n  (\"GO:0045937\" \"positive regulation of phosphate metabolic process\")\n  (\"GO:0070304\" \"positive regulation of stress-activated protein kinase signaling cascade\")\n  (\"GO:0080135\" \"regulation of cellular response to stress\")\n  (\"GO:0001934\" \"positive regulation of protein phosphorylation\")\n  (\"GO:0051171\" \"regulation of nitrogen compound metabolic process\")\n  (\"GO:0060255\" \"regulation of macromolecule metabolic process\")\n  (\"GO:0050789\" \"regulation of biological process\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0046328\" \"regulation of JNK cascade\")\n  (\"GO:0071902\" \"positive regulation of protein serine/threonine kinase activity\")\n  (\"GO:0031399\" \"regulation of protein modification process\")\n  (\"GO:0048583\" \"regulation of response to stimulus\")\n  (\"GO:0070302\" \"regulation of stress-activated protein kinase signaling cascade\")\n  (\"GO:0010604\" \"positive regulation of macromolecule metabolic process\")\n  (\"GO:0051338\" \"regulation of transferase activity\")\n  (\"GO:0001932\" \"regulation of protein phosphorylation\")\n  (\"GO:0010562\" \"positive regulation of phosphorus metabolic process\")\n  (\"GO:0051174\" \"regulation of phosphorus metabolic process\")\n  (\"GO:0050794\" \"regulation of cellular process\")\n  (\"GO:0048522\" \"positive regulation of cellular process\")\n  (\"GO:0009966\" \"regulation of signal transduction\")\n  (\"GO:0023051\" \"regulation of signaling\")\n  (\"GO:0051347\" \"positive regulation of transferase activity\")\n  (\"GO:0043549\" \"regulation of kinase activity\")\n  (\"GO:0043410\" \"positive regulation of MAPK cascade\")\n  (\"GO:0043506\" \"regulation of JUN kinase activity\")\n  (\"GO:0000187\" \"activation of MAPK activity\")\n  (\"GO:0051247\" \"positive regulation of protein metabolic process\")\n  (\"GO:0045859\" \"regulation of protein kinase activity\")\n  (\"GO:0042325\" \"regulation of phosphorylation\")\n  (\"GO:1902531\" \"regulation of intracellular signal transduction\")\n  (\"GO:0033674\" \"positive regulation of kinase activity\")\n  (\"GO:0032147\" \"activation of protein kinase activity\")\n  (\"GO:0031323\" \"regulation of cellular metabolic process\")\n  (\"GO:0043507\" \"positive regulation of JUN kinase activity\")\n  (\"GO:0051173\" \"positive regulation of nitrogen compound metabolic process\")\n  (\"GO:1902533\" \"positive regulation of intracellular signal transduction\")\n  (\"GO:0048518\" \"positive regulation of biological process\")\n  (\"GO:0043085\" \"positive regulation of catalytic activity\")\n  (\"GO:0048584\" \"positive regulation of response to stimulus\")\n  (\"GO:0050790\" \"regulation of catalytic activity\")\n  (\"GO:0051246\" \"regulation of protein metabolic process\")\n  (\"GO:0046330\" \"positive regulation of JNK cascade\")\n  (\"GO:0032268\" \"regulation of cellular protein metabolic process\")\n  (\"GO:0043408\" \"regulation of MAPK cascade\")\n  (\"GO:0010647\" \"positive regulation of cell communication\")\n  (\"GO:0031401\" \"positive regulation of protein modification process\")\n  (\"GO:0043406\" \"positive regulation of MAP kinase activity\")\n  (\"GO:0032874\" \"positive regulation of stress-activated MAPK cascade\")\n  (\"GO:0065009\" \"regulation of molecular function\")\n  (\"GO:0031325\" \"positive regulation of cellular metabolic process\")\n  (\"GO:0042327\" \"positive regulation of phosphorylation\")\n  (\"GO:0009967\" \"positive regulation of signal transduction\")\n  (\"GO:0010646\" \"regulation of cell communication\")\n  (\"GO:0080090\" \"regulation of primary metabolic process\")\n  (\"GO:0045860\" \"positive regulation of protein kinase activity\")\n  (\"GO:0019220\" \"regulation of phosphate metabolic process\"))\n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/example-synonymize.rkt",
    "content": ";; Find CURIE synonyms (and their descriptive names, for convenience) for the\n;; given CURIE.\n\n\n;; celecoxib\n(curie-synonyms/names \"CHEBI:41423\")\n;; This expression will give the same result because it's a synonym.\n;; The same should hold for all CURIE synonyms.\n;(curie-synonyms/names \"UMLS:C0538927\")\n\n#|\n=>\n\n((\"MTHSPL:JCX84Q7J1L\" . \"Celecoxib\")\n (\"CHEMBL.COMPOUND:CHEMBL118\" . \"CELECOXIB\")\n (\"DrugBank:DB00482\" . \"Celecoxib\")\n (\"CUI:C0538927\" . \"Celecoxib\")\n (\"MeSH:C105934\" . \"Celecoxib\")\n (\"CHEMBL:CHEMBL118\" . \"Celecoxib\")\n (\"NDFRT:N0000007233\" . \"Celecoxib [Chemical/Ingredient]\")\n (\"HMDB:HMDB0005014\" . \"Celecoxib\")\n (\"DRUGBANK:DB00482\" . \"Celecoxib\")\n (\"CHEBI:41423\" . \"celecoxib\")\n (\"RXNORM:140587\" . \"celecoxib\")\n (\"PUBCHEM:2662\" . \"Celecoxib\")\n (\"NDFRT:N0000148596\" . \"Celecoxib\")\n (\"UMLS:C0538927\" . \"celecoxib\"))\n|#\n\n\n;; e2f1\n(curie-synonyms/names \"UMLS:C0812258\")\n\n#|\n=>\n\n((\"UMLS:C0812258\" . \"E2F1 gene\")\n (\"OMIM:189971\" . \"E2f transcription factor 1\")\n (\"NCI:C18379\" . \"E2F1 gene\")\n (\"UniProtKB:Q9BSD8\" . \"E2F1 gene\")\n (\"HGNC:3113\" . \"E2F1 (human)\")\n (\"NCIT:C18379\" . \"E2F1 Gene\")\n (\"NCBIGene:1869\" . \"E2F transcription factor 1\")\n (\"UniProtKB:Q01094\" . \"E2F-1;\")\n (\"ENSEMBL:ENSG00000101412\"\n  .\n  \"E2F transcription factor 1 [Source:HGNC Symbol;Acc:HGNC:3113]\")\n (\"CUI:C0812258\" . \"E2f transcription factor 1\")\n (\"NCBIGENE:1869\" . \"E2F1 gene\"))\n\"query.rkt\">\n|#\n\n\n;; rhobtb2\n(curie-synonyms/names \"UMLS:C1425762\")\n\n#|\n=>\n\n((\"UniProtKB:Q9BYZ6\" . \"RHOBTB2\")\n (\"UniProtKB:E5RI44\" . \"RHOBTB2\")\n (\"UMLS:C1425762\" . \"RHOBTB2 gene\")\n (\"NCBIGene:23221\" . \"Rho related BTB domain containing 2\")\n (\"HGNC:18756\" . \"RHOBTB2 (human)\")\n (\"NCBIGENE:23221\" . \"RHOBTB2\")\n (\"OMIM:607352\" . \"Rho-related btb domain-containing protein 2\")\n (\"ENSEMBL:ENSG00000008853\"\n  .\n  \"Rho related BTB domain containing 2 [Source:HGNC Symbol;Acc:HGNC:18756]\")\n (\"CUI:C1425762\" . \"Rho-related btb domain-containing protein 2\"))\n\"query.rkt\">\n|#\n\n\n;; failure to thrive\n(curie-synonyms/names \"HP:0001508\")\n\n#|\n=>\n\n((\"MEDDRA:10047897\" . \"Weight gain poor\")\n (\"CUI:C0231246\" . \"Failure to gain weight\")\n (\"UMLS:C0231246\" . \"Failure to gain weight\")\n (\"CUI:C2315100\" . \"Pediatric failure to thrive\")\n (\"MEDDRA:10036164\" . \"Poor weight gain\")\n (\"UMLS:C2315100\" . \"Weight gain poor\")\n (\"HP:0001508\" . \"failure to thrive\"))\n|#\n\n\n;; bcr\n(curie-synonyms/names \"UMLS:C0812385\")\n\n#|\n=>\n\n((\"UniProtKB:H0Y554\" . \"BCR gene\")\n (\"UMLS:C0812385\" . \"BCR gene\")\n (\"NCBIGene:613\" . \"BCR activator of RhoGEF and GTPase\")\n (\"NCI:C18455\" . \"BCR gene\")\n (\"ENSEMBL:ENSG00000186716\"\n  .\n  \"BCR activator of RhoGEF and GTPase [Source:HGNC Symbol;Acc:HGNC:1014]\")\n (\"Orphanet:119016\" . \"BCR activator of RhoGEF and GTPase\")\n (\"NCBIGENE:613\" . \"BCR gene\")\n (\"NCIT:C18455\" . \"BCR Gene\")\n (\"UniProtKB:P11274\" . \"BCR\")\n (\"HGNC:1014\" . \"Bcr\")\n (\"OMIM:151410\" . \"Breakpoint cluster region\")\n (\"CUI:C0812385\" . \"Breakpoint cluster region\"))\n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/gene-budging.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"../../../medikanren/pieces-parts/query.rkt\"\n          racket/engine)\n\n(define make-directly-regulate-gene\n  (lambda (regulation-predicates)\n    (lambda (gene-curie)\n      (displayln \"\\nRunning 1-hop up query with concept categories\")\n      (define q (query/graph\n                 (\n                  ;; concepts\n                  (X       drug)\n                  (my-gene gene-curie)\n\t\t  )\n                 ;; edges\n                 ((X->my-gene regulation-predicates))\n                 ;; paths\n                 (X X->my-gene my-gene)))\n      q)))\n\n(define directly-upregulate-gene (make-directly-regulate-gene positively-regulates))\n(define directly-downregulate-gene (make-directly-regulate-gene negatively-regulates))\n\n\n\n(define curie-to-anything\n  (lambda (curie predicate*)\n    ;;(printf \"starting curie-to-anything with curie ~s and preds ~s\\n\" curie predicate*)\n    (let ((val (query/graph\n                ( ;; concepts\n                 (X curie)\n                 (T #f))\n                ;; edges\n                ((X->T predicate*))\n                ;; paths      \n                (X X->T T))))\n      ;;(printf \"finished curie-to-anything with curie ~s and preds ~s\\n\" curie predicate*)\n      val)))\n\n(define curie-to-tradenames\n  (lambda (curie)\n    (curie-to-anything curie '(\"has_tradename\"))))\n\n(define curie-to-clinical-trials\n  (lambda (curie)\n    (curie-to-anything curie '(\"clinically_tested_approved_unknown_phase\"\n                               \"clinically_tested_terminated_phase_2\"\n                               \"clinically_tested_terminated_phase_3\"\n                               \"clinically_tested_terminated_phase_2_or_phase_3\"\n                               \"clinically_tested_withdrawn_phase_3\"\n                               \"clinically_tested_withdrawn_phase_2_or_phase_3\"\n                               \"clinically_tested_withdrawn_phase_2\"\n                               \"clinically_tested_suspended_phase_2\"\n                               \"clinically_tested_suspended_phase_3\"\n                               \"clinically_tested_suspended_phase_2_or_phase_3\"))))\n\n(define curie-to-indicated_for\n  (lambda (curie)\n    (curie-to-anything curie '(\"indicated_for\"))))\n\n(define curie-to-contraindicated_for\n  (lambda (curie)\n    (curie-to-anything curie '(\"contraindicated_for\"))))\n\n\n(define pubmed-URLs-from-composite-edge\n  (lambda (composite-edge)\n    ;;(printf \"starting pubmed-URLs-from-composite-edge\\n\")\n    (define concrete-edges (list-ref composite-edge 2))\n    ;;(printf \"concrete-edges length = ~s\\n\" (length concrete-edges))\n    (let ((url-ls (map pubmed-URLs-from-edge concrete-edges)))\n      ;;(printf \"url-ls = ~s\\n\" url-ls)\n      (remove-duplicates (append* url-ls)))))\n\n\n(define drug-info-for-curie\n  (lambda (curie)\n    ; (printf \"*** starting drug-info-for-curie ~s\\n\" curie)\n    (map\n     (lambda (l)\n       (match l\n         [`(,name . ,q)\n          ; (printf \"*** calculating curie-synonyms/names list for curie ~s\\n\" curie)\n          (let ((ls (map curie-synonyms/names (curies/query q 'T))))\n            ; (printf \"*** calculated curie-synonyms/names list for curie ~s\\n\" curie)\n            ; (printf \"*** ls length = ~s\\n\" (apply + (map length ls)))\n            (cons name ls))]))\n     (list \n      (cons 'tradenames (curie-to-tradenames curie))\n      (cons 'clinical-trials (curie-to-clinical-trials curie))\n      (cons 'indicated_for (curie-to-indicated_for curie))\n      (cons 'contraindicated_for (curie-to-contraindicated_for curie))))))\n\n\n(define drug-info-from-composite-edge\n  (lambda (composite-edge)    \n    (define curie (caar composite-edge))\n    ; (printf \"*** drug-info-from-composite-edge for curie = ~s\\n\" curie)\n    (define pubmed-URLs (pubmed-URLs-from-composite-edge composite-edge))\n    ; (printf \"*** calculating curie-synonyms/names\\n\")\n    (define synonyms/names (curie-synonyms/names curie))\n    ; (printf \"*** calculated curie-synonyms/names of length ~s\\n\" (length synonyms/names))\n    (append\n     (list (cons 'curie curie))\n     (list (cons 'curie-synonyms/names synonyms/names))\n     (drug-info-for-curie curie)\n     (list (cons 'pubmeds pubmed-URLs)))))\n\n(define drug-info-for-tsv-from-composite-edge\n  (lambda (composite-edge)\n    (match composite-edge\n      (`((,composite-subject . ,composite-object) ,score ,edges)\n        (define subject-info (map cdr (drug-info-for-curie composite-subject)))\n        (append*\n          (map (lambda (edge)\n                 (define pub-info (publications-info-alist-from-edge edge))\n                 (define pub-urls (pubmed-URLs-from-edge edge))\n                 (match edge\n                   [`(,db\n                       ,edge-id\n                       (,_ ,subject-curie ,subject-name (,_ . ,subject-cat) . ,_)\n                       (,_ ,object-curie ,object-name (,_ . ,object-cat) . ,_)\n                       (,_ . ,predicate) . ,_)\n                     (define (entry pubmed-url pub-date sentence)\n                       (append\n                         (list db\n                               subject-curie subject-cat subject-name\n                               predicate\n                               object-name object-cat object-curie\n                               pubmed-url pub-date sentence)\n                         subject-info))\n                     (cond ((pair? pub-info)\n                            (map (lambda (info)\n                                   (match info\n                                     [`(,pubmed-url ,pub-date ,subject-score ,object-score ,sentence)\n                                       (entry pubmed-url pub-date sentence)]))\n                                 pub-info))\n                           ((pair? pub-urls)\n                            (map (lambda (url) (entry url \"\" \"\")) pub-urls))\n                           (else (list (entry \"\" \"\" \"\"))))]))\n               edges))))))\n\n\n(define (make-dr-query1-up/down direction directly-up/down-regulate-gene)\n  (lambda (the-gene-curie the-gene-symbol)\n\n    ; (printf \"*** getting directly ~s for gene CURIE ~s\\n\" direction the-gene-curie)\n    \n    (define directly-up/down (directly-up/down-regulate-gene the-gene-curie))\n    ;; returns the set of all query results (for X, for gene, for edges X->my-gene, etc.)\n\n    ;; unused\n    ;; (define directly-up/down-Xs (curies/query directly-up/down 'X))\n\n    ; (printf \"*** getting edges/X->directly-~s for gene CURIE ~s\\n\" direction the-gene-curie)\n  \n    ;; each edge corresponds to an X in Xs\n    (define edges/X->directly-up/down (edges/ranked (ranked-paths directly-up/down) 0 0))\n\n    (printf \"*** getting directly-~s-drug-info for gene CURIE ~s\\n\" direction the-gene-curie)\n  \n    (define directly-up/down-drug-info (map drug-info-from-composite-edge edges/X->directly-up/down))\n\n    (printf \"*** getting directly-~s-drug-info-for-tsv for gene CURIE ~s\\n\" direction the-gene-curie)\n  \n    (define directly-up/down-drug-info-for-tsv (map drug-info-for-tsv-from-composite-edge edges/X->directly-up/down))\n\n    (printf \"*** finished getting directly-~s-drug-info-for-tsv for gene CURIE ~s\\n\" direction the-gene-curie)\n\n    directly-up/down-drug-info-for-tsv\n        \n    ))\n\n(define dr-query1-up (make-dr-query1-up/down 'up directly-upregulate-gene))\n\n(define dr-query1-down (make-dr-query1-up/down 'down directly-downregulate-gene))\n\n\n(define (dr-query1 the-gene-curie)\n\n  (printf \"*** dr-query1 called for gene CURIE ~s\\n\" the-gene-curie)\n\n  (printf \"*** getting gene symbol for gene CURIE ~s\\n\" the-gene-curie)\n  \n  (define the-gene-symbol (concept->name (car (find-concepts #t (list the-gene-curie)))))\n  \n  (printf \"*** found gene symbol ~s for gene CURIE ~s\\n\" the-gene-symbol the-gene-curie)\n\n  (printf \"*** finding up-regulators for gene CURIE ~s\\n\" the-gene-curie)\n\n  (define up-query-results (dr-query1-up the-gene-curie the-gene-symbol))\n    \n  ; (printf \"*** finding down-regulators for gene CURIE ~s\\n\" the-gene-curie)\n\n  (define down-query-results (dr-query1-down the-gene-curie the-gene-symbol))\n  \n  (define my-query-result (append up-query-results down-query-results))\n  \n  (define output-file-name (format \"~a-budging.tsv\" (string-replace the-gene-symbol \"/\" \"-\")))\n  \n  ; (printf \"*** writing results for gene CURIE ~s to file ~s\\n\" the-gene-curie output-file-name)\n  \n  (with-output-to-file output-file-name\n    (tsv-for the-gene-curie the-gene-symbol my-query-result)\n    #:exists 'replace)\n\n  ; (printf \"*** finished processing gene CURIE ~s\\n\" the-gene-curie)\n\n  'finished\n  )\n\n(define (dr-query gene-curies)\n  (for-each\n    (lambda (curie)\n      ;; 10 minute timeout per curie\n      (define timeout-ms (* 10 60 1000))\n      ; (printf \"@@@ dr-query creating engine for curie ~s\\n\" curie)\n      (define eng (engine (lambda (p)\n                            (dr-query1 curie))))\n      ; (printf \"@@@ dr-query running engine for ~s ms for curie ~s\\n\" timeout-ms curie)\n      (engine-run timeout-ms eng)\n      ; (printf \"@@@ dr-query engine for curie ~s finished\\n\" curie)\n      ; (if (engine-result eng)\n      ;   (printf \"@@@ dr-query engine for curie ~s ran to completion\\n\" curie)\n      ;   (printf \"@@@ dr-query engine for curie ~s timed out!!\\n\" curie))\n      ;(printf \"@@@ dr-query killing engine for curie ~s\\n\" curie)\n      (engine-kill eng)\n      ;(printf \"@@@ dr-query killed engine for curie ~s\\n\" curie)\n      )\n    gene-curies))\n\n(define (tsv-for gene-curie gene-symbol infos)\n  (lambda ()\n    (printf \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\n\"\n            \"gene CURIE\"\n            \"gene symbol\"\n            \"db\"\n            \"subject CURIE\" \"subject category\" \"subject\"\n            \"predicate\"\n            \"object\" \"object category\" \"object CURIE\"\n            \"pub URL\" \"pub date\" \"pub sentence\"\n            \"tradenames\" \"clinical trials\" \"indicated for\" \"contraindicated for\")\n    (for-each (lambda (xs)\n                (for-each (lambda (x)\n                            (apply printf \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\n\"\n                                   gene-curie gene-symbol x))\n                          xs))\n              infos)))\n\n\n\n\n; (define the-gene-curies (list \"HGNC:11390\" \"HGNC:13557\" \"HGNC:2537\"))\n; (define the-gene-curies (list \"HGNC:29079\" \"HGNC:11390\" \"HGNC:13557\" \"HGNC:2537\"))\n\n; kdm1a\n; (define the-gene-curies (list \"HGNC:29079\"))\n\n; ACE2\n;(define the-gene-curies (list \"HGNC:13557\"))\n\n; CTSL\n;(define the-gene-curies (list \"HGNC:2537\"))\n\n;; TMPRSS2\n#|\n(define the-gene-curies  (list \"HGNC:11876\"))\n(map curie-synonyms-raw the-gene-curies)\n(map curie-synonyms/names the-gene-curies)\n(define alt-gene-curies  (list \"UMLS:C1336641\"))\n(dr-query the-gene-curies)\n|#\n\n#|\n;; aurkb\n(define aurkb-directly-up (directly-upregulate-gene \"HGNC:11390\"))\n;; returns the set of all query results (for X, for gene, for edges X->my-gene, etc.)\n\n(define aurkb-directly-up-Xs (curies/query aurkb-directly-up 'X))\n\n;; each edge corresponds to an X in aurkb-Xs\n(define edges/X->aurkb-directly-up (edges/ranked (ranked-paths aurkb-directly-up) 0 0))\n\n(define aurkb-directly-up-drug-info (map drug-info-from-composite-edge edges/X->aurkb-directly-up))\n|#\n\n#|\n(printf \"starting downregulation...\\n\")\n\n(define kdm1a-directly-down (directly-downregulate-gene \"HGNC:29079\"))\n;; returns the set of all query results (for X, for gene, for edges X->my-gene, etc.)\n\n(define kdm1a-directly-down-Xs (curies/query kdm1a-directly-down 'X))\n\n;; each edge corresponds to an X in kdm1a-Xs\n(define edges/X->kdm1a-directly-down (edges/ranked (ranked-paths kdm1a-directly-down) 0 0))\n\n;; \n(define kdm1a-directly-down-drug-info (map drug-info-from-composite-edge edges/X->kdm1a-directly-down))\n|#\n\n\n\n;;; 2-hop\n\n;; ACE2   HGNC:13557\n\n;; CTSL   HGNC:2537\n\n;; include semmed sentences, when possible  (date would be nice)\n\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/lib.rkt",
    "content": "(define (filter-edges a-drug predicates)\n  (define q\n    (time\n     (query/graph\n      ((X a-drug)\n       (O #f))\n      ((X->O predicates))\n      (X X->O O))))\n  (map curie-synonyms/names (curies/query q 'O)))\n\n(define (side-effects a-drug)\n  (filter-edges a-drug (list \"causes\" \"contributes_to\")))\n\n(define (counterindications a-drug)\n  (filter-edges a-drug (list \"contraindicated_with_disease\")))\n\n;;(side-effects imatinib)\n;;(counterindications imatinib)\n\n(define (all-predicates start)\n(define q\n  (time\n   (query/graph\n    ((X start)\n     (O #f))\n    ((X->O #f))\n    (X X->O O))))\n(sort (remove-duplicates (map (lambda (e) (cdr (list-ref e 4))) (edges/query q 'X->O))) string<=?)\n)\n;;(all-predicates imatinib)\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/make-map-fast.rkt",
    "content": "#lang racket\n\n(require\n racket/date\n racket/runtime-path)\n\n#|\n\nGenerate tab-separed value (TSV) files describing the mappings between\nconcepts for a specified Knowledge Graph (KG).\n\n\nHere are the tab-sepated columns for each of the generated TSV files.\n\nCURIE-prefix to CURIE-prefix mapping:\n\nsubject concept CURIE-prefix\nobject concept CURIE-prefix\npredicate string\nedge counts\n\n\n\nconcept-category to concept-category mapping:\n\nsubject concept category\nobject concept category\npredicate string\nedge counts\n\n\n\n**CAUTION**\n\nThis implementation reads from the KG's raw data files to reduce the\nrunning time and (especially) to reduce the (RAM) memory footprint.\nAs a result, this code makes assumptions about the formats of the raw\n'biolink' KG files, which is fragile.  This code would need to be\nmodified to work with the 'biolink2' KG file format, for\nexample (although rewriting the code to take advantage of the\n'biolink2' improvements may make more sense).\n\n|#\n\n\n\n;; *** Change this string to match the name of the KG you want to map! ***\n;(define kg-name \"chemstructure\")\n;(define kg-name \"co-occur\")\n;(define kg-name \"covid19\")\n;(define kg-name \"orange\")\n;(define kg-name \"pr-owl\")\n;(define kg-name \"robokop\")\n(define kg-name \"rtx2_2020_09_16\")\n;(define kg-name \"semmed\")\n;(define kg-name \"sri-reference-kg-0.2.0\")\n;(define kg-name \"sri_semmeddb\")\n;(define kg-name \"textminingprovider\")\n;(define kg-name \"umlsmeta\")\n;(define kg-name \"unichem\")\n\n\n#|\nDefine paths to the critical data files for the given KG.\n|#\n(define-runtime-path path:root \"..\")\n(define (path/root relative-path)   (build-path path:root relative-path))\n(define path:data                   (path/root \"data\"))\n(define (path/data relative-path)   (build-path path:data kg-name relative-path))\n(define path:kg-maps                (build-path path:root \"kg-maps\"))\n(define path:kg-maps/kg-name        (build-path path:kg-maps kg-name))\n(define (path/kg-map/kg-name relative-path) (build-path path:kg-maps/kg-name relative-path))\n\n(define predicates-file-path (path/data \"predicates.scm\"))\n(define categories-file-path (path/data \"categories.scm\"))\n(define concepts-file-path   (path/data \"concepts.scm\"))\n(define edges-file-path      (path/data \"edges.scm\"))\n\n\n;; Create the directories to hold the KG maps, if they do not exist already\n(unless (directory-exists? path:kg-maps)\n  (printf \"directory ~s not found\\ncreating directory ~s\\n\" path:kg-maps path:kg-maps)\n  (make-directory path:kg-maps))\n\n(unless (directory-exists? path:kg-maps/kg-name)\n  (printf \"directory ~s not found\\ncreating directory ~s\\n\" path:kg-maps/kg-name path:kg-maps/kg-name)\n  (make-directory path:kg-maps/kg-name))\n\n\n#|\nDefine file names and paths for the output TSV files.\n|#\n(define TSV-file-name-suffix \".tsv\")\n\n(define CURIE-prefix_to_CURIE-prefix-file-name-prefix \"subject-prefix_object-prefix_predicate_count\")\n(define CURIE-prefix_to_CURIE-prefix-file-name\n  (string-append CURIE-prefix_to_CURIE-prefix-file-name-prefix TSV-file-name-suffix))\n(define CURIE-prefix_to_CURIE-prefix-file-path\n  (path/kg-map/kg-name CURIE-prefix_to_CURIE-prefix-file-name))\n\n(define category_to_category-file-name-prefix \"subject-category_object-category_predicate_count\")\n(define category_to_category-file-name\n  (string-append category_to_category-file-name-prefix TSV-file-name-suffix))\n(define category_to_category-file-path\n  (path/kg-map/kg-name category_to_category-file-name))\n\n;; Represents a CURIE that does not conform to the standard <prefix>:<suffix> CURIE format.\n(define NON-STANDARD-CURIE-STRING \"*non-standard CURIE*\")\n\n\n\n#|\nTakes a Racket date object and returns a string containing the\nhour:minute:second + date in a pretty format.\n|#\n(define date->pretty-time/date\n  (lambda (d)\n    (let ((h (date-hour d))\n          (m (date-minute d))\n          (s (date-second d)))\n      (let ((num->pretty-string\n             (lambda (n)\n               (if (< n 10)\n                   (string-append \"0\" (number->string n))\n                   (number->string n)))))\n        (format \"~a:~a:~a ~a\"\n                (num->pretty-string h)\n                (num->pretty-string m)\n                (num->pretty-string s)\n                (date->string d))))))\n\n\n(printf \"\\n\\nProcessing KG ~s\\n\" kg-name)\n(printf \"started processing at ~s\\n\" (date->pretty-time/date (current-date)))\n(define start-seconds (current-seconds))\n\n#|\nOpen a text file with the given file path, reading in each row, and\nreturning a vector of those values. Closes the file automatically.\n|#\n(define file->vector\n  (lambda (file-path)\n    (with-input-from-file file-path\n      (lambda ()\n        (let loop ((ls '())\n                   (x (read)))\n          (cond\n            ((eof-object? x) (list->vector (reverse ls)))\n            (else (loop (cons x ls) (read))))))\n      #:mode 'text)))\n\n#|\nVector containing all the predicate strings for the given KG,\nin the same order as in the KG's 'predicates.scm' file.\n|#\n(define predicates-vector (file->vector predicates-file-path))\n(printf \"created predicates vector with ~s entries\\n\" (vector-length predicates-vector))\n\n#|\nVector containing all the category strings for the given KG,\nin the same order as in the KG's 'categories.scm' file.\n|#\n(define categories-vector (file->vector categories-file-path))\n(printf \"created categories vector with ~s entries\\n\" (vector-length categories-vector))\n\n\n#|\nReturns the number of rows in a file.\n|#\n(define count-number-of-rows\n  (lambda (file-path)\n    (printf \"counting the number of rows in file ~s\\n\" file-path)\n    (time\n     (with-input-from-file file-path\n       (lambda () (let loop ((i 0) (x (read-char)))\n                    (cond\n                      [(eof-object? x) i]\n                      [(char=? x #\\newline) (loop (add1 i) (read-char))]\n                      [else (loop i (read-char))])))\n       #:mode 'text))))\n\n\n#|\nTakes a string representing a CURIE.\n\nIf the string is a \"standard\" CURIE of the form\n\n<prefix>:<suffix>\n\nthen 'get-curie-prefix' returns the string <prefix>.\n\nOtherwise, the string is not a CURIE in the standard format,\nin which case 'get-curie-prefix' returns #f.\n|#\n(define get-curie-prefix\n  (lambda (curie)\n    (cond\n      [(string-contains? curie \":\")\n       (let ((curie-prefix (car (string-split curie \":\" #:trim? #f))))\n         curie-prefix)]\n      [else #t])))\n\n#|\nNumber of distinct concepts in the KG.\n|#\n(define num-concepts (count-number-of-rows concepts-file-path))\n(printf \"KG ~s contains ~s distinct concepts\\n\" kg-name num-concepts)\n\n\n#|\nVector that maps concept indices (natural numbers) to CURIE prefixes.\n\nTo find the CURIE prefix for the concept with index N, reference the\nNth entry in 'concept->curie-prefix-vector'.  For example, this\nexpression will return the CURIE prefix for concept 7:\n\n(vector-ref concept->curie-prefix-vector 7)\n\nIf the CURIE string for a concept does not match the standard\n<prefix>:<suffix> format, the vector will instead contain the special\nstring bound to the NON-STANDARD-CURIE-STRING constant.\n|#\n(define concept->curie-prefix-vector (make-vector num-concepts))\n\n#|\nVector that maps concept indices (natural numbers) to category indices (natural numbers).\n\nTo find the category index for the concept with index N, reference the\nNth entry in 'concept->category-vector'.  For example, this expression\nwill return the category index for concept 7:\n\n(vector-ref concept->category-vector 7)\n\nTo map the category index to the category name, reference the category\nindex in 'categories-vector':\n\n(vector-ref categories-vector (vector-ref concept->category-vector 7))\n|#\n(define concept->category-vector (make-vector num-concepts))\n\n(time\n (with-input-from-file concepts-file-path\n   (lambda ()\n     (let loop ((i 0) ;; number of concepts read in\n                (good-curie-count 0) ;; number of CURIEs in the standard <prefix>:<suffix> format\n                (non-standard-curie-count 0) ;; number of CURIEs that don't match the standard format\n                (x (read)))\n       (when (zero? (modulo i (expt 10 5)))\n         (printf \"read ~s concepts, with ~s good CURIES and ~s non-standard CURIES so far...\\n\"\n                 i good-curie-count non-standard-curie-count))\n       (cond\n         ((eof-object? x)\n          (printf \"finished reading all ~s concepts, with \\n~s good CURIES and ~s non-standard CURIES\\n\"\n                  i good-curie-count non-standard-curie-count)\n          (void))\n         (else\n          (let ((concept-vec x))\n            (let ((curie (vector-ref concept-vec 0))\n                  (category (vector-ref concept-vec 1)))\n              (begin\n                ;; set the category for the current concept in the\n                ;; 'concept->category-vector' vector\n                (vector-set! concept->category-vector i category)\n                (let ((curie-prefix (get-curie-prefix curie)))\n                  (cond\n                    [curie-prefix ;; We were able to get the prefix of the CURIE string\n                     (begin\n                       (vector-set! concept->curie-prefix-vector i curie-prefix)\n                       (loop (add1 i)\n                             (add1 good-curie-count)\n                             non-standard-curie-count\n                             (read)))]\n                    [else ;; the CURIE string does not match the standard <prefix>:<suffix> format\n                     (begin\n                       (vector-set! concept->curie-prefix-vector i NON-STANDARD-CURIE-STRING)\n                       (loop (add1 i)\n                             good-curie-count\n                             (add1 non-standard-curie-count)\n                             (read)))])))))))))\n   #:mode 'text))\n\n(printf \"populated concept->curie-prefix-vector with ~s entries\\n\" (vector-length concept->curie-prefix-vector))\n(printf \"populated concept->category-vector with ~s entries\\n\" (vector-length concept->category-vector))\n\n\n;; functions that map ids (natural numbers) to strings\n(define identity (lambda (x) x))\n(define concept-id->curie-prefix (lambda (x) (vector-ref concept->curie-prefix-vector x)))\n(define category-id->category-name (lambda (x) (vector-ref categories-vector x)))\n(define predicate-id->predicate-name (lambda (x) (vector-ref predicates-vector x)))\n\n\n#|\nHash table containing a mapping between the key:\n\n(list subject-id object-id predicate-id)\n\nand:\n\nedge-count\n\nwhere 'edge-count' is the number of entries in the hash-table\nthat match the key.\n|#\n(define subject-prefix/object-prefix/predicate-id-hash (make-hash))\n\n#|\nHash table containing a mapping between the key:\n\n(list subject-category-id object-category-id predicate-id)\n\nand:\n\nedge-count\n\nwhere 'edge-count' is the number of entries in the hash-table\nthat match the key.\n|#\n(define subject-category-id/object-category-id/predicate-id-hash (make-hash))\n\n(time\n (with-input-from-file edges-file-path\n   (lambda ()\n     (let loop ((i 0)\n                (x (read)))\n       (when (zero? (modulo i (expt 10 5)))\n         (printf \"read \\n~s edges so far...\\n\" i))\n       (cond\n         ((eof-object? x) (void))\n         (else\n          (let ((edge-vec x))\n            (let ((subject-id (vector-ref edge-vec 0))\n                  (predicate-id (vector-ref edge-vec 1))\n                  (object-id (vector-ref edge-vec 2)))\n              (let ((subject-prefix (concept-id->curie-prefix subject-id))\n                    (object-prefix (concept-id->curie-prefix object-id))\n                    (subject-category-id (vector-ref concept->category-vector subject-id))\n                    (object-category-id (vector-ref concept->category-vector object-id)))\n                (let ((subject-prefix/object-prefix/predicate-id-key\n                       (list subject-prefix object-prefix predicate-id))\n                      (subject-category-id/object-category-id/predicate-id-key\n                       (list subject-category-id object-category-id predicate-id)))\n                  (let ((subject-prefix/object-prefix/predicate-id-edge-count\n                         (let ((c (hash-ref subject-prefix/object-prefix/predicate-id-hash\n                                            subject-prefix/object-prefix/predicate-id-key\n                                            #f)))\n                           (if c (add1 c) 1)))\n                        (subject-category-id/object-category-id/predicate-id-edge-count\n                         (let ((c (hash-ref subject-category-id/object-category-id/predicate-id-hash\n                                            subject-category-id/object-category-id/predicate-id-key\n                                            #f)))\n                           (if c (add1 c) 1))))\n                    (begin\n                      ;;\n                      (hash-set! subject-prefix/object-prefix/predicate-id-hash\n                                 subject-prefix/object-prefix/predicate-id-key\n                                 subject-prefix/object-prefix/predicate-id-edge-count)\n                      ;;\n                      (hash-set! subject-category-id/object-category-id/predicate-id-hash\n                                 subject-category-id/object-category-id/predicate-id-key\n                                 subject-category-id/object-category-id/predicate-id-edge-count)\n                      ;;\n                      (loop (add1 i) (read))))))))))))\n   #:mode 'text))\n\n\n(printf \"populated subject-prefix/object-prefix/predicate-id-hash hash table with ~s entries\\n\"\n        (hash-count subject-prefix/object-prefix/predicate-id-hash))\n(printf \"subject-prefix/object-prefix/predicate-id-hash hash table: ~s\\n\"\n        subject-prefix/object-prefix/predicate-id-hash)\n\n(printf \"populated subject-category-id/object-category-id/predicate-id-hash hash table with ~s entries\\n\"\n        (hash-count subject-category-id/object-category-id/predicate-id-hash))\n(printf \"subject-category-id/object-category-id/predicate-id-hash hash table: ~s\\n\"\n        subject-category-id/object-category-id/predicate-id-hash)\n\n\n\n#|\n'print-tab-separated-line' takes a list of values, and prints each\nvalue in the list, separated by tab characters. A newline-character,\ninstead of a tab character, is printed after the last value in the\nlist.\n|#\n(define print-tab-separated-line\n  (lambda (args)\n    (cond\n      ((null? args) (newline))\n      ((null? (cdr args))\n       (begin\n         (display (car args))\n         (print-tab-separated-line (cdr args))))\n      (else\n       (begin\n         (display (car args))\n         (display #\\tab)\n         (print-tab-separated-line (cdr args)))))))\n\n#|\nSorts and writes the hash-table information to a TSV file,\nwith the \"prettified\" values in the 'key' list written first,\nfollowed by the edge counts.\n\n'tsv-file-path' is the path to the TSV file to be written\n\n'map-hash-table' is the hash table whose prettified information is to\nbe written to the TSV\n\n'column-names-string' must be a format string\n\n'prettify-functions' must be a list of functions, the same length as 'key'\n|#\n(define sort-and-write-map-hash-table-to-tsv-file\n  (lambda (tsv-file-path map-hash-table column-names-string prettify-functions)\n    (printf \"writing output to ~s...\\n\" tsv-file-path)\n    (let ((list-of-list-of-strings\n           (map\n            (lambda (key)\n              (let ((pretty-values (map (lambda (f a) (f a)) prettify-functions key))\n                    (edge-count-string (format \"~s\" (hash-ref map-hash-table key))))\n                (let ((string-ls (append pretty-values (list edge-count-string))))\n                  string-ls)))\n            (hash-keys map-hash-table))))\n      (let ((sorted-list-of-list-of-strings\n             (sort\n              list-of-list-of-strings\n              (lambda (los1 los2)\n                (cond\n                  [(and\n                    (string? (car los1))\n                    (string? (car los2))\n                    (string-ci<? (car los1) (car los2)))\n                   #t]\n                  [(and\n                    (string? (car los1))\n                    (string? (car los2))\n                    (string? (cadr los1))\n                    (string? (cadr los2))\n                    (string-ci=? (car los1) (car los2))\n                    (string-ci<? (cadr los1) (cadr los2)))\n                   #t]\n                  [(and\n                    (string? (car los1))\n                    (string? (car los2))\n                    (string? (cadr los1))\n                    (string? (cadr los2))\n                    (string? (caddr los1))\n                    (string? (caddr los2))\n                    (string-ci=? (car los1) (car los2))\n                    (string-ci=? (cadr los1) (cadr los2))\n                    (string-ci<? (caddr los1) (caddr los2)))\n                   #t]\n                  [else #f])))))\n        (with-output-to-file tsv-file-path\n          (lambda ()\n            (printf column-names-string)\n            (for-each print-tab-separated-line sorted-list-of-list-of-strings))\n          #:mode 'text\n          #:exists 'replace)))))\n\n#|\nGenerate TSV file with the subject CURIE prefix, predicate, object\nCURIE prefix, and edge counts\n|#\n(sort-and-write-map-hash-table-to-tsv-file\n CURIE-prefix_to_CURIE-prefix-file-path\n subject-prefix/object-prefix/predicate-id-hash\n \"subject CURIE prefix\\tobject CURIE prefix\\tpredicate\\tedge count\\n\"\n (list\n  identity\n  identity\n  predicate-id->predicate-name))\n\n#|\nGenerate TSV file with the subject concept category, object concept\ncategory, predicate, and edge counts\n|#\n(sort-and-write-map-hash-table-to-tsv-file\n category_to_category-file-path\n subject-category-id/object-category-id/predicate-id-hash\n \"subject category\\tobject category\\tpredicate\\tedge count\\n\"\n (list\n  category-id->category-name\n  category-id->category-name\n  predicate-id->predicate-name))\n\n(define end-seconds (current-seconds))\n\n(printf \"Finished processing KG ~s\\n\" kg-name)\n(printf \"finished processing at ~s\\n\" (date->pretty-time/date (current-date)))\n(printf \"~s seconds elapsed wall-time\\n\\n\" (- end-seconds start-seconds))\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/make-map.rkt",
    "content": "#lang racket\n(require\n  \"../../../medikanren/repr.rkt\"\n  \"../../../medikanren/pieces-parts/common.rkt\"\n  )\n\n(define db (cdr (car (databases))))\n\n;; gets all edges\n(define result (time (run* (e) (edgeo e))))\n\n\n;; gets the prefix for a certain concept (i.e. \"MONDO\")\n(define (concept->prefix concept)\n  (car (string-split (concept->curie concept) \":\" #:trim? #f))\n  )\n\n;; creates a set of all unique edges ordered by subject, object, and predicate\n(define graph\n  (foldl\n   (lambda (e s)\n     (let ((subject-prefix (concept->prefix (edge->subject e)))\n           (predicate (cdr (edge->pred e)))\n           (object-prefix (concept->prefix (edge->object e))))\n       (set-add s (list subject-prefix object-prefix predicate))))\n   (set) result))\n\n#|\nOutputs the edges into dot format in a file\n\nThe entire dot graph can then be copied and pasted into a vis.js file and parsed as a DOT network. \n|#\n(define out (open-output-file \"orange_graph.dot\" #:exists 'replace))\n(fprintf out \"digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\\\"FALSE\\\"; rankdir=\\\"LR\\\";\")\n(set-for-each\n graph\n (lambda (t)\n   (apply fprintf out \"\\t~s -> ~s [label=~s]; \" t)))\n(fprintf out \"}\")\n(close-output-port out)\n\n\n\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/make-provenance-map-fast.rkt",
    "content": "#lang racket\n\n(require\n  racket/runtime-path)\n\n;; Creates a map of the provenance of the edges of a KG, using the \"provided_by\" edge attribute.\n;; Fast, since we read directly from the raw data files.\n\n;; *** Change this string to match the name of the KG you want to map! ***\n;(define kg-name \"rtx2_2020_09_16\")\n;(define kg-name \"textminingprovider\")\n;(define kg-name \"pr-owl\")\n;(define kg-name \"co-occur\")\n;(define kg-name \"orange\")\n\n(define-runtime-path path:root \"..\")\n(define (path/root relative-path) (build-path path:root relative-path))\n(define path:data                 (path/root \"data\"))\n(define (path/data relative-path) (build-path path:data kg-name relative-path))\n\n(define edges-file-path (path/data \"edges.scm\"))\n\n\n(define edge-provenance-hash\n  (time\n   (with-input-from-file\n       edges-file-path\n     (lambda ()\n       (let ((ht (make-hash)))\n         (let loop ((i 0)\n                    (x (read)))\n           (when (= (modulo i 100000) 0)\n             (printf \"read \\n~s edges so far...\\n\" i)\n             ;(printf \"ht: ~s\\n\" ht)\n             )\n           (cond\n             ((eof-object? x) ht)\n             (else\n              (let ((edge-properties-alist (vector-ref x 3)))\n                (let ((provided_by-entry (assoc \"provided_by\" edge-properties-alist)))\n                  (let ((key (if provided_by-entry\n                                 (cdr provided_by-entry)\n                                 '__no-provided-by-info__)))\n                    (let ((count (hash-ref ht key #f)))\n                      (begin\n                        (if count\n                            (hash-set! ht key (add1 count))\n                            (hash-set! ht key 1))\n                        (loop (add1 i) (read))))))))))))\n     #:mode 'text)))\n\n(printf \"created edge-provenance hash table with ~s entries\\n\" (hash-count edge-provenance-hash))\n(printf \"edge-provenance hash table: ~s\\n\" edge-provenance-hash)\n\n\n(define sorted-provenance-counts\n  (sort\n   (map (lambda (key) (cons key (hash-ref edge-provenance-hash key)))\n        (hash-keys edge-provenance-hash))\n   (lambda (e1 e2) (> (cdr e1) (cdr e2)))))\n\n#|\nGenerate TSV file with the provenance, and counts\n|#\n(with-output-to-file (string-append kg-name \"-provenance_count\" \".tsv\")\n  (lambda ()\n    (printf \"provenance\\tedge count\\n\")\n    (for-each\n      (lambda (key/count)\n        (let ((key (car key/count))\n              (count (cdr key/count)))\n          (printf \"~a\\t~a\\n\" key count)))\n      sorted-provenance-counts))\n  #:mode 'text\n  #:exists 'replace)\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/new-query-lang/select.rkt",
    "content": "#lang racket\n\n(require\n  (only-in \"query.rkt\"\n           query/graph edges/ranked)\n  )\n\n(define-syntax query\n  (syntax-parser\n    [(_ (select s:selector-exp ...+)\n        (concepts c:concept-decl ...+)\n        (edges e:edge-decl ...))\n     #'(let ([res\n              (query/graph\n                ([c.id c.category-expr] ...)\n                ([e.id e.predicate-list-expr])\n                [e.subject e.id e.object]\n                ...)])\n         (query-runtime\n           res\n           (lambda (c.id ... e.id ...)\n             (row-runtime\n               (lambda () s)\n               ...))))]))\n\n; ranked-paths output format:\n; (listof\n;   (list score\n;         (listof (cons subject object))))\n(define (query-runtime query-result selection-f)\n\n  )\n\n(define (row-runtime . selector-thunks)\n  (apply\n    append\n    (for/list ([t selector-thunks])\n      (call-with-values t list))))\n\n\n;(define (db concept-or-edge)\n  ;)\n\n;(define (property concept-or-edge symbol)\n  ;)\n\n;(define (curie concept)\n  ;)\n\n;(define (name concept)\n  ;)\n\n;(define (category concept)\n  ;)\n\n;(define (predicate edge)\n  ;)\n\n;(define (pubmed edge parts)\n  ;)\n\n(module+ main\n  ; example query\n  (query\n    (select\n      (db E) (curie D) (name D) (category D) (curie G) (name G)\n      (predicate E) (pubmed E '(url keyword symbol)))\n    (concepts\n      [D drug]\n      [G gene])\n    (edges\n      [E : D regulates G]))\n  )\n\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/non_drug_filter.rkt",
    "content": "#lang racket\n(require\n  \"../../../medikanren/pieces-parts/query.rkt\")\n\n;; define a number of helper functions for the function drug-info-for-curie\n(define curie-to-anything\n  (lambda (curie predicate*)\n    ;;(printf \"starting curie-to-anything with curie ~s and preds ~s\\n\" curie predicate*)\n    (let ((val (query/graph\n                ( ;; concepts\n                 (X curie)\n                 (T #f))\n                ;; edges\n                ((X->T predicate*))\n                ;; paths      \n                (X X->T T))))\n      ;;(printf \"finished curie-to-anything with curie ~s and preds ~s\\n\" curie predicate*)\n      val)))\n\n(define curie-to-tradenames\n  (lambda (curie)\n    (curie-to-anything curie '(\"has_tradename\")))) \n\n(define curie-to-clinical-trials\n  (lambda (curie)\n    (curie-to-anything curie '(\"clinically_tested_terminated_phase_2\"\n                               \"clinically_tested_approved_unknown_phase\"\n                               \"clinically_tested_terminated_phase_2\"\n                               \"clinically_tested_terminated_phase_3\"\n                               \"clinically_tested_terminated_phase_2_or_phase_3\"\n                               \"clinically_tested_withdrawn_phase_3\"\n                               \"clinically_tested_withdrawn_phase_2_or_phase_3\"\n                               \"clinically_tested_withdrawn_phase_2\"\n                               \"clinically_tested_suspended_phase_2\"\n                               \"clinically_tested_suspended_phase_3\"\n                               \"clinically_tested_suspended_phase_2_or_phase_3\"))))\n\n(define curie-to-indicated_for\n  (lambda (curie)\n    (curie-to-anything curie '(\"indicated_for\"))))\n\n(define curie-to-contraindicated_for\n  (lambda (curie)\n    (curie-to-anything curie '(\"contraindicated_for\"))))\n\n(define drug-info-for-curie\n  (lambda (curie)\n    ; (printf \"*** starting drug-info-for-curie ~s\\n\" curie)\n    (map\n     (lambda (l)\n       (match l\n         [`(,name . ,q)\n          ; (printf \"*** calculating curie-synonyms/names list for curie ~s\\n\" curie)\n          (let ((ls (map curie-synonyms/names (curies/query q 'T))))\n            ; (printf \"*** calculated curie-synonyms/names list for curie ~s\\n\" curie)\n            ; (printf \"*** ls length = ~s\\n\" (apply + (map length ls)))\n            (cons name ls))]))\n     (list \n      (cons 'tradenames (curie-to-tradenames curie))\n      (cons 'clinical-trials (curie-to-clinical-trials curie))\n      (cons 'indicated_for (curie-to-indicated_for curie))\n      (cons 'contraindicated_for (curie-to-contraindicated_for curie))))))\n\n\n\n\n;; List of chemicals:\n;; These chemicals are the results of queries to up or down-regulate a number of genes of interest\n;; based on the CHAMP1 RNA sequencing data.\n\n\n(define strategy1_chemicals\n  '(\"CHEBI:28119\"\n  \"CHEBI:16469\"\n  \"CHEBI:37537\"\n  \"CHEBI:41879\"\n  \"CHEBI:17026\"\n  \"CHEBI:6541\"\n  \"CHEBI:4903\"\n  \"CHEBI:33216\"\n  \"CHEBI:9168\"\n  \"CHEBI:41774\"\n  \"CHEBI:65329\"\n  \"CHEBI:17347\"\n  \"CHEMBL:CHEMBL460433\"\n  \"CHEBI:17747\"\n  \"CHEBI:49662\"\n  \"CHEBI:22984\"\n  \"CHEBI:4031\"\n  \"CHEBI:27584\"\n  \"CHEBI:16243\"\n  \"CHEBI:9130\"\n  \"CHEBI:78543\"\n  \"CHEBI:15365\"\n  \"CHEMBL:CHEMBL62381\"\n  \"CHEBI:52717\"\n  \"CHEBI:175901\"\n  \"CHEBI:16113\"\n  \"CHEBI:29865\"\n  \"CHEBI:28748\"\n  \"CHEBI:5132\"\n  \"CHEBI:44423\"\n  \"CHEBI:45713\"\n  \"CHEBI:15738\"\n  \"CHEBI:16356\"\n  \"CHEBI:77986\"\n  \"CHEBI:3766\"\n  \"CHEBI:17489\"\n  \"CHEBI:8899\"\n  \"CHEBI:15355\"\n  \"CHEBI:3962\"\n  \"CHEBI:28088\"\n  \"CHEBI:76004\"\n  \"CHEBI:27656\"\n  \"CHEBI:77006\"\n  \"CHEMBL:CHEMBL504\"\n  \"CHEBI:8863\"\n  \"CHEBI:9150\"\n  \"CHEBI:31401\"\n  \"CHEBI:16330\"\n  \"CHEBI:44296\"\n  \"CHEBI:15930\"\n  \"CHEBI:17609\"\n  \"CHEBI:92413\"\n  \"CHEBI:47808\"\n  \"CHEMBL.COMPOUND:CHEMBL3545133\"\n  \"CHEMBL.COMPOUND:CHEMBL2109588\"\n  \"CHEBI:517248\"\n  \"CHEBI:28364\"\n  \"CHEBI:9786\"\n  \"CHEBI:3237\"\n  \"CHEMBL:CHEMBL1372588\"\n  \"CHEBI:135742\"\n  \"CHEBI:9241\"\n  \"CHEBI:6920\"\n  \"CHEMBL:CHEMBL305576\"\n  \"CHEBI:17712\"\n  \"CHEBI:5759\"\n  \"CHEBI:34892\"\n  \"CHEBI:15960\"\n  \"CHEBI:49040\"\n  \"GTPI:5965\"\n  \"CHEBI:8198\"\n  \"CHEBI:34935\"\n  \"CHEBI:52289\"\n  \"CHEBI:49668\"\n  \"CHEBI:34888\"\n  \"CHEBI:135736\"\n  \"CHEBI:138000\"\n  \"CHEBI:28940\"\n  \"CHEBI:29678\"\n  \"CHEBI:2666\"\n  \"CHEBI:35053\"\n  \"CHEMBL.COMPOUND:CHEMBL3707348\"\n  \"CHEBI:3763\"\n  \"CHEBI:50114\"\n  \"CHEMBL.COMPOUND:CHEMBL3545396\"\n  \"CHEBI:16412\"\n  \"CHEBI:88522\"\n  \"CHEBI:50694\"\n  \"CHEMBL:CHEMBL1903674\"\n  \"CHEBI:78373\"\n  \"CHEBI:28694\"\n  \"CHEBI:17578\"\n  \"CHEBI:30768\"\n  \"CHEBI:76612\"\n  \"CHEBI:338412\"\n  \"CHEBI:17823\"\n  \"CHEMBL:CHEMBL1371200\"\n  \"CHEBI:30740\"\n  \"CHEBI:107643\"\n  \"CHEBI:27385\"\n  \"CHEBI:15756\"\n  \"CHEBI:135949\"\n  \"CHEBI:15367\"\n  \"CHEBI:63954\"\n  \"GTPI:8492\"\n  \"CHEBI:137113\"\n  \"CHEBI:47495\"\n  \"CHEBI:28499\"\n  \"CHEBI:135735\"\n  \"CHEBI:566274\"\n  \"CHEBI:28112\"\n  \"CHEBI:76003\"\n  \"CHEBI:3655\"\n  \"CHEMBL:CHEMBL1221984\"\n  \"CHEMBL.COMPOUND:CHEMBL545315\"\n  \"CHEBI:49960\"\n  \"CHEMBL:CHEMBL1644699\"\n  \"CHEBI:28842\"\n  \"CHEBI:65310\"\n  \"CHEBI:8081\"\n  \"CHEMBL:CHEMBL8823\"\n  \"CHEMBL:CHEMBL1565107\"\n  \"CHEBI:30563\"\n  \"CHEBI:91452\"\n  \"CHEBI:4659\"\n  \"CHEBI:8062\"\n  \"CHEBI:16698\"\n  \"CHEBI:18388\"\n  \"CHEBI:28790\"\n  \"CHEMBL.COMPOUND:CHEMBL2105719\"\n  \"CHEBI:92843\"\n  \"CHEBI:18243\"\n  \"CHEBI:51450\"\n  \"CHEBI:90695\"\n  \"CHEBI:7590\"\n  \"CHEMBL.COMPOUND:CHEMBL499968\"\n  \"CHEBI:40303\"\n  \"CHEMBL.COMPOUND:CHEMBL3137331\"\n  \"CHEMBL.COMPOUND:CHEMBL356359\"\n  \"CHEBI:62825\"\n  \"CHEBI:2611\"\n  \"CHEBI:15553\"\n  \"CHEBI:132853\"\n  \"CHEBI:351346\"\n  \"CHEBI:17234\"\n  \"CHEBI:6402\"\n  \"CHEBI:39462\"\n  \"CHEBI:7465\"\n  \"CHEBI:34662\"\n  \"CHEMBL:CHEMBL2146125\"\n  \"CHEBI:31746\"\n  \"CHEBI:8382\"\n  \"CHEBI:18291\"\n  \"CHEBI:18152\"\n  \"CHEBI:95341\"\n  \"CHEBI:35456\"\n  \"CHEBI:18185\"\n  \"CHEBI:3385\"\n  \"CHEBI:6801\"\n  \"CHEBI:34076\"\n  \"CHEBI:6715\"\n  \"CHEBI:7735\"\n  \"CHEBI:45307\"\n  \"CHEBI:46024\"\n  \"CHEMBL:CHEMBL1981220\"\n  \"CHEBI:66917\"\n  \"CHEBI:556075\"\n  \"CHEBI:27363\"\n  \"CHEBI:15368\"\n  \"CHEBI:83732\"\n  \"CHEMBL.COMPOUND:CHEMBL1645462\"\n  \"CHEBI:4305\"\n  \"CHEBI:48045\"\n  \"CHEMBL:CHEMBL190083\"\n  \"CHEBI:65347\"\n  \"CHEBI:15343\"\n  \"CHEBI:86194\"\n  \"CHEBI:15940\"\n  \"CHEBI:38927\"\n  \"CHEBI:31561\"\n  \"CHEBI:6958\"\n  \"CHEBI:90939\"\n  \"CHEBI:32061\"\n  \"CHEBI:6842\"\n  \"CHEBI:6413\"\n  \"CHEMBL:CHEMBL7463\"\n  \"CHEBI:76607\"\n  \"CHEMBL.COMPOUND:CHEMBL2103884\"\n  \"CHEBI:35696\"\n  \"CHEMBL.COMPOUND:CHEMBL1709719\"\n  \"CHEBI:90948\"\n  \"CHEBI:4046\"\n  \"CHEBI:24814\"\n  \"CHEMBL.COMPOUND:CHEMBL587723\"\n  \"CHEBI:3084\"\n  \"CHEBI:34269\"\n  \"CHEBI:75253\"\n  \"CHEBI:61400\"\n  \"CHEBI:86345\"\n  \"CHEBI:34873\"\n  \"CHEBI:132268\"\n  \"GTPI:8145\"\n  \"CHEBI:43616\"\n  \"CHEBI:135590\"\n  \"CHEBI:15891\"\n  \"CHEMBL:CHEMBL1977579\"\n  \"CHEBI:50859\"\n  \"CHEBI:9635\"\n  \"CHEBI:101278\"\n  \"CHEBI:45652\"\n  \"CHEBI:3752\"\n  \"CHEBI:3175\"\n  \"CHEBI:44445\"\n  \"CHEBI:28680\"\n  \"CHEBI:39548\"\n  \"CHEMBL.COMPOUND:CHEMBL3545154\"\n  \"CHEBI:9908\"\n  \"CHEBI:92890\"\n  \"CHEBI:18145\"\n  \"CHEBI:134301\"\n  \"CHEMBL:CHEMBL499968\"\n  \"CHEBI:69581\"\n  \"CHEBI:39867\"\n  \"CHEBI:17997\"\n  \"CHEBI:17833\"\n  \"CHEBI:15843\"\n  \"CHEBI:45863\"\n  \"CHEBI:16118\"\n  \"CHEBI:61399\"\n  \"CHEBI:27638\"\n  \"CHEBI:28527\"\n  \"CHEBI:7565\"\n  \"CHEBI:61390\"\n  \"CHEBI:61057\"\n  \"CHEMBL:CHEMBL1201288\"\n  \"CHEBI:2814\"\n  \"CHEBI:91370\"\n  \"CHEBI:32020\"\n  \"CHEBI:8633\"\n  \"CHEMBL:CHEMBL378104\"\n  \"CHEBI:4460\"\n  \"CHEBI:67272\"\n  \"CHEBI:3440\"\n  \"CHEBI:17241\"\n  \"CHEBI:4042\"\n  \"CHEBI:23359\"))\n                                          \n  \n(define strategy2_chemicals\n  '(\"CHEBI:39867\"\n    \"CHEBI:46024\"\n    \"CHEBI:2666\"\n    \"CHEBI:4031\"\n    \"CHEBI:9150\"\n    \"CHEBI:31252\"\n    \"CHEBI:37537\"\n    \"CHEBI:41879\"\n    \"CHEBI:33216\"\n    \"CHEBI:16469\"\n    \"CHEBI:44915\"\n    \"CHEBI:2504\"\n    \"CHEBI:42944\"\n    \"CHEBI:34714\"\n    \"CHEBI:32315\"\n    \"CHEBI:16069\"\n    \"CHEBI:76591\"\n    \"CHEBI:16330\"\n    \"CHEBI:16243\"\n    \"CHEBI:6908\"\n    \"CHEBI:17609\"\n    \"CHEBI:17941\"\n    \"CHEBI:9130\"\n    \"CHEBI:28741\"\n    \"CHEMBL:CHEMBL455560\"\n    \"CHEBI:6762\"\n    \"CHEBI:24852\"\n    \"CHEBI:7575\"\n    \"CHEBI:27827\"\n    \"CHEBI:82160\"\n    \"CHEBI:8461\"\n    \"CHEBI:135742\"\n    \"CHEBI:63681\"\n    \"CHEBI:15864\"\n    \"CHEBI:6920\"\n    \"CHEBI:53188\"\n    \"CHEBI:32061\"\n    \"CHEBI:92811\"\n    \"CHEBI:81297\"\n    \"CHEBI:38845\"\n    \"CHEBI:251412\"\n    \"CHEBI:15960\"\n    \"CHEBI:609247\"\n    \"CHEBI:47499\"\n    \"CHEBI:31404\"\n    \"CHEBI:47426\"\n    \"CHEMBL:CHEMBL2002549\"\n    \"CHEMBL:CHEMBL2140710\"\n    \"GTPI:4589\"\n    \"CHEBI:27919\"\n    \"CHEBI:24814\"\n    \"CHEBI:18145\"\n    \"CHEBI:8062\"\n    \"CHEMBL:CHEMBL1929421\"\n    \"CHEBI:30114\"\n    \"CHEBI:29150\"\n    \"CHEMBL.COMPOUND:CHEMBL215645\"\n    \"CHEBI:35622\"\n    \"CHEBI:135935\"\n    \"CHEBI:134884\"\n    \"CHEBI:7459\"\n    \"CHEBI:140422\"\n    \"CHEBI:7071\"\n    \"CHEBI:16412\"\n    \"CHEBI:8107\"\n    \"CHEBI:28216\"\n    \"CHEMBL:CHEMBL33051\"\n    \"CHEBI:135464\"\n    \"CHEBI:8428\"\n    \"CHEBI:41774\"\n    \"CHEBI:28694\"\n    \"CHEBI:36560\"\n    \"CHEBI:59719\"\n    \"CHEBI:338412\"\n    \"CHEBI:45863\"\n    \"CHEBI:15422\"\n    \"CHEBI:45980\"\n    \"CHEBI:49662\"\n    \"CHEBI:32168\"\n    \"CHEBI:135804\"\n    \"CHEBI:2555\"\n    \"CHEBI:68478\"\n    \"CHEBI:2700\"\n    \"CHEBI:16526\"\n    \"CHEBI:17750\"\n    \"CHEBI:28499\"\n    \"CHEBI:36946\"\n    \"CHEBI:141474\"\n    \"CHEBI:4868\"\n    \"CHEBI:28593\"\n    \"CHEBI:34631\"\n    \"CHEBI:143794\"\n    \"CHEBI:7907\"\n    \"CHEBI:8459\"\n    \"CHEBI:27375\"\n    \"CHEBI:15379\"\n    \"CHEBI:8354\"\n    \"CHEBI:72449\"\n    \"CHEBI:2673\"\n    \"CHEBI:34905\"\n    \"CHEBI:33070\"\n    \"CHEBI:28119\"\n    \"CHEBI:18388\"\n    \"CHEBI:17097\"\n    \"CHEBI:45652\"\n    \"CHEBI:52010\"\n    \"CHEMBL:CHEMBL533841\"\n    \"CHEBI:31425\"\n    \"CHEBI:30563\"\n    \"CHEMBL:CHEMBL2163791\"\n    \"CHEBI:38093\"\n    \"CHEBI:15354\"\n    \"CHEBI:8874\"\n    \"CHEMBL:CHEMBL1233973\"\n    \"CHEBI:9741\"\n    \"CHEBI:4948\"\n    \"CHEBI:32988\"\n    \"CHEBI:8024\"\n    \"CHEBI:25944\"\n    \"CHEBI:18049\"\n    \"CHEBI:40303\"\n    \"CHEMBL:CHEMBL26505\"\n    \"CHEBI:87649\"\n    \"CHEBI:3213\"\n    \"CHEBI:8666\"\n    \"CHEBI:82142\"\n    \"CHEBI:31618\"\n    \"CHEBI:34036\"\n    \"CHEBI:39462\"\n    \"CHEMBL:CHEMBL2272837\"\n    \"CHEBI:53289\"\n    \"CHEBI:9195\"\n    \"CHEBI:38746\"\n    \"CHEBI:6060\"\n    \"CHEMBL:CHEMBL494887\"\n    \"CHEBI:251408\"\n    \"CHEBI:8382\"\n    \"CHEBI:18152\"\n    \"CHEBI:4791\"\n    \"CHEBI:18009\"\n    \"CHEBI:6931\"\n    \"CHEBI:29865\"\n    \"CHEBI:17051\"\n    \"CHEBI:48883\"\n    \"CHEBI:4806\"\n    \"CHEBI:41934\"\n    \"CHEBI:52741\"\n    \"CHEBI:94848\"\n    \"CHEBI:59514\"\n    \"CHEBI:16716\"\n    \"CHEMBL:CHEMBL444970\"\n    \"CHEBI:553827\"\n    \"CHEBI:17790\"\n    \"CHEBI:37931\"\n    \"CHEMBL:CHEMBL157912\"\n    \"CHEBI:16737\"\n    \"CHEBI:125392\"\n    \"CHEBI:38624\"\n    \"CHEBI:8102\"\n    \"CHEBI:28794\"\n    \"CHEBI:31622\"\n    \"CHEBI:9711\"\n    \"CHEBI:34761\"\n    \"CHEBI:83533\"\n    \"CHEBI:34611\"\n    \"CHEBI:6801\"\n    \"CHEBI:31561\"\n    \"CHEBI:102166\"\n    \"CHEBI:3390\"\n    \"CHEBI:3374\"\n    \"CHEBI:24536\"\n    \"CHEMBL:CHEMBL284328\"\n    \"CHEBI:30336\"\n    \"CHEBI:4753\"\n    \"CHEBI:27928\"\n    \"CHEBI:31687\"\n    \"CHEBI:5128\"\n    \"CHEMBL:CHEMBL190083\"\n    \"CHEBI:3766\"\n    \"CHEBI:35038\"\n    \"CHEBI:27953\"\n    \"CHEBI:3387\"\n    \"CHEBI:8230\"\n    \"CHEBI:9449\"\n    \"CHEBI:75701\"\n    \"CHEBI:75372\"\n    \"CHEBI:63716\"\n    \"CHEMBL.COMPOUND:CHEMBL997\"\n    \"CHEBI:28821\"\n    \"CHEBI:247956\"\n    \"CHEMBL:CHEMBL460433\"\n    \"CHEBI:32223\"\n    \"CHEBI:6758\"\n    \"CHEBI:39447\"\n    \"CHEBI:4527\"\n    \"CHEBI:28374\"\n    \"CHEBI:31302\"\n    \"CHEBI:43616\"\n    \"CHEBI:5706\"\n    \"CHEBI:2791\"\n    \"CHEBI:8665\"\n    \"CHEBI:50859\"\n    \"CHEBI:16881\"\n    \"CHEBI:9635\"\n    \"CHEMBL:CHEMBL26115\"\n    \"CHEMBL:CHEMBL3181798\"\n    \"CHEBI:8712\"\n    \"CHEBI:3175\"\n    \"CHEBI:313639\"\n    \"CHEBI:7601\"\n    \"CHEBI:27958\"\n    \"CHEBI:32250\"\n    \"CHEBI:135387\"\n    \"CHEBI:7581\"\n    \"CHEBI:31823\"\n    \"CHEBI:6015\"\n    \"CHEBI:49575\"\n    \"CHEBI:7514\"\n    \"CHEBI:63616\"\n    \"CHEBI:22984\"\n    \"CHEBI:135720\"\n    \"CHEBI:41423\"\n    \"CHEBI:125612\"\n    \"CHEBI:28885\"\n    \"CHEBI:28527\"\n    \"CHEBI:17230\"\n    \"CHEBI:4636\"\n    \"CHEBI:15355\"\n    \"CHEBI:3962\"\n    \"CHEBI:34682\"\n    \"CHEMBL:CHEMBL310934\"\n    \"CHEBI:8774\"\n    \"CHEBI:38721\"\n    \"CHEBI:59849\"\n    \"CHEBI:8025\"\n    \"CHEBI:34690\"\n    \"CHEBI:28088\"\n    \"CHEBI:6601\"\n    \"CHEMBL:CHEMBL430266\"\n    \"CHEBI:48981\"\n    \"CHEBI:15854\"\n    \"CHEMBL.COMPOUND:CHEMBL1677\"\n    \"CHEBI:23359\"))\n\n\n(define strategy3_chemicals '(\"CHEBI:39867\"\n  \"CHEBI:16469\"\n  \"CHEBI:17026\"\n  \"CHEBI:65329\"\n  \"CHEBI:41879\"\n  \"CHEBI:45713\"\n  \"CHEBI:6801\"\n  \"CHEBI:49662\"\n  \"CHEBI:16330\"\n  \"CHEBI:16118\"\n  \"CHEBI:16243\"\n  \"CHEBI:6541\"\n  \"CHEBI:15365\"\n  \"CHEBI:137113\"\n  \"CHEBI:15379\"\n  \"CHEBI:9168\"\n  \"CHEBI:3962\"\n  \"CHEBI:16113\"\n  \"CHEBI:9150\"\n  \"CHEMBL:CHEMBL504\"\n  \"CHEBI:8382\"\n  \"CHEBI:17609\"\n  \"CHEBI:44915\"\n  \"CHEBI:18145\"\n  \"CHEBI:78543\"\n  \"CHEBI:4903\"\n  \"CHEBI:52717\"\n  \"CHEBI:47426\"\n  \"CHEBI:41774\"\n  \"CHEBI:30740\"\n  \"CHEBI:2666\"\n  \"CHEBI:8107\"\n  \"CHEBI:17347\"\n  \"CHEBI:50694\"\n  \"CHEBI:28748\"\n  \"CHEBI:15367\"\n  \"CHEBI:18152\"\n  \"CHEBI:39548\"\n  \"CHEBI:18388\"\n  \"CHEBI:28918\"\n  \"CHEBI:28527\"\n  \"CHEBI:7565\"\n  \"CHEBI:16335\"\n  \"CHEBI:175901\"\n  \"CHEBI:28790\"\n  \"CHEBI:8024\"\n  \"CHEBI:40303\"\n  \"CHEBI:3213\"\n  \"CHEBI:15553\"\n  \"CHEBI:42944\"\n  \"CHEBI:6402\"\n  \"CHEBI:44445\"\n  \"CHEBI:39462\"\n  \"CHEBI:15544\"\n  \"CHEBI:61057\"\n  \"CHEBI:2639\"\n  \"CHEBI:68558\"\n  \"CHEMBL:CHEMBL2146125\"\n  \"CHEBI:6060\"\n  \"CHEBI:15552\"\n  \"CHEBI:17263\"\n  \"CHEBI:18291\"\n  \"CHEMBL:CHEMBL692\"\n  \"CHEBI:9334\"\n  \"CHEBI:17997\"\n  \"CHEMBL:CHEMBL33051\"\n  \"CHEBI:45951\"\n  \"CHEBI:17941\"\n  \"CHEBI:4917\"\n  \"CHEBI:31252\"\n  \"CHEBI:37931\"\n  \"CHEBI:7735\"\n  \"CHEBI:4806\"\n  \"CHEBI:15864\"\n  \"CHEBI:42191\"\n  \"CHEBI:5132\"\n  \"CHEBI:17230\"\n  \"CHEBI:94848\"\n  \"CHEBI:135742\"\n  \"CHEBI:9241\"\n  \"CHEBI:18332\"\n  \"CHEBI:44423\"\n  \"CHEBI:17790\"\n  \"CHEBI:31547\"\n  \"CHEMBL:CHEMBL117649\"\n  \"CHEBI:34892\"\n  \"CHEBI:49040\"\n  \"CHEBI:47499\"\n  \"CHEBI:27584\"\n  \"CHEBI:125392\"\n  \"CHEBI:9667\"\n  \"CHEBI:28794\"\n  \"CHEBI:3423\"\n  \"CHEBI:15940\"\n  \"CHEBI:41423\"\n  \"CHEBI:8062\"\n  \"CHEBI:15854\"\n  \"CHEBI:16898\"\n  \"CHEBI:3390\"\n  \"CHEBI:3374\"\n  \"CHEBI:24536\"\n  \"CHEBI:76004\"\n  \"CHEBI:7459\"\n  \"CHEBI:16881\"\n  \"CHEBI:8459\"\n  \"CHEBI:7071\"\n  \"CHEBI:16412\"\n  \"CHEBI:2038\"\n  \"CHEMBL:CHEMBL41631\"\n  \"CHEBI:3766\"\n  \"CHEBI:28593\"\n  \"CHEBI:27953\"\n  \"CHEBI:3387\"\n  \"CHEBI:46195\"\n  \"CHEMBL:CHEMBL264373\"\n  \"CHEBI:30768\"\n  \"CHEBI:45980\"\n  \"CHEBI:28821\"\n  \"CHEBI:61033\"\n  \"CHEBI:37941\"\n  \"CHEBI:17823\"\n  \"CHEBI:63716\"\n  \"CHEBI:3440\"\n  \"CHEBI:32020\"\n  \"CHEBI:135949\"\n  \"CHEBI:15422\"\n  \"CHEBI:9588\"\n  \"CHEBI:16526\"\n  \"CHEBI:17750\"\n  \"CHEBI:78741\"\n  \"CHEBI:3286\"\n  \"CHEBI:8665\"\n  \"CHEBI:18295\"\n  \"CHEBI:101278\"\n  \"CHEBI:566274\"\n  \"CHEBI:68478\"\n  \"CHEBI:8354\"\n  \"CHEBI:7907\"\n  \"CHEBI:16240\"\n  \"CHEBI:9908\"\n  \"CHEBI:9139\"\n  \"CHEBI:69581\"\n  \"CHEBI:6762\"\n  \"CHEBI:8899\"\n  \"CHEBI:7514\"\n  \"CHEBI:63616\"\n  \"CHEBI:45652\"\n  \"CHEBI:27958\"\n  \"CHEBI:86345\"\n  \"CHEBI:49575\"\n  \"CHEBI:4659\"\n  \"CHEBI:15355\"\n  \"CHEMBL:CHEMBL1201288\"\n  \"CHEBI:15354\"\n  \"CHEBI:76607\"\n  \"CHEBI:18243\"\n  \"CHEBI:8774\"\n  \"CHEBI:2700\"\n  \"CHEBI:50730\"\n  \"CHEBI:29150\"\n  \"CHEMBL:CHEMBL62381\"\n  \"CHEBI:135804\"\n  \"CHEBI:313639\"\n  \"CHEBI:17303\"\n  \"CHEBI:4636\"\n  \"CHEBI:28364\"\n  \"CHEBI:8378\"\n  \"CHEBI:119915\"\n  \"CHEBI:9130\"))\n\n\n\n;; From the list of chemicals, extract the non-drugs members with drugs are defined\n;; as having either tradenames, clinical trials, indicated for and contraindicated for predicates\n;; Chemicals that don't have any of these predicates are defined as non-drugs.\n;; They could be supplements, which are likely to be safe, chemicals that are synthesized in chemical labs\n;; to be used in several laboratory assays (these are unsafe until proven otherwise)\n;; They could be investigational compounds that are also unsafe until proven otherwise.\n;; They could be endogenous substances that are naturally produced in the human body by cells, DNA, RNA\n;; but for some reason they are not being tested by FDA to be approved as therapies.\n;; For non-drugs categories, unfortunately, I haven't found a mediKanren's way to group them into these different\n;; groups so I'll do this categorization manually.\n\n(define strategy1-non-drugs (filter\n                             (lambda (x)\n                               (equal? (drug-info-for-curie x)\n                                       (list '(tradenames) '(clinical-trials) '(indicated_for) '(contraindicated_for))))\n                             strategy1_chemicals))\n(define strategy2-non-drugs (filter\n                             (lambda (x)\n                               (equal? (drug-info-for-curie x)\n                                       (list '(tradenames) '(clinical-trials) '(indicated_for) '(contraindicated_for))))\n                             strategy2_chemicals))\n\n(define strategy3-non-drugs (filter\n                             (lambda (x)\n                               (equal? (drug-info-for-curie x)\n                                       (list '(tradenames) '(clinical-trials) '(indicated_for) '(contraindicated_for))))\n                             strategy3_chemicals))\n\n(define strategy1-non-drugs-names (map car (map curie-synonyms/names strategy1-non-drugs)))\n(define strategy2-non-drugs-names (map car (map curie-synonyms/names strategy2-non-drugs)))\n(define strategy3-non-drugs-names (map car (map curie-synonyms/names strategy3-non-drugs)))\n\n;; For the drugs, we need to assess if they have a lot of side effects\n;; First, extract drug members:\n(define strategy1-drugs (filter\n (lambda (x)\n   (not (equal? (drug-info-for-curie x)\n                (list '(tradenames) '(clinical-trials) '(indicated_for) '(contraindicated_for)))))\n strategy1_chemicals))\n\n(define strategy2-drugs (filter\n (lambda (x)\n   (not (equal? (drug-info-for-curie x)\n                (list '(tradenames) '(clinical-trials) '(indicated_for) '(contraindicated_for)))))\n strategy2_chemicals))\n\n(define strategy3-drugs (filter\n (lambda (x)\n   (not (equal? (drug-info-for-curie x)\n                (list '(tradenames) '(clinical-trials) '(indicated_for) '(contraindicated_for)))))\n strategy3_chemicals))\n\n;; Take a look at their names:\n(define strategy1-drugs-names (map car (map curie-synonyms/names strategy1-drugs)))\n(define strategy2-drugs-names (map car (map curie-synonyms/names strategy2-drugs)))\n(define strategy3-drugs-names (map car (map curie-synonyms/names strategy3-drugs)))\n\n;; Helper functions:\n(define side-effect-preds (list \"causes\"\n                                \"contributes_to\"\n                                \"contraindicated_for\"))\n\n\n(define (sort-assoc lst)\n  (sort lst\n   >\n   #:key (lambda (x) (length (cdr x)))))\n\n(define ((edge/db? db) e) (eq? db (car e)))\n\n\n;; sort-side-effects takes a list of drug-curies and sort them in descending order the number of side effects\n;; This results aren't that useful for drug prioritizations, however. This is due to the biased in our knowledge graphs\n;; because not all drugs have the same information density about their properties. Therefore, sorting drugs\n;; by their side-effects accidentally sorting drugs by how much information/knowledge and data we have about the\n;; particular drugs. This is not that useful in practice.\n(define (sort-side-effects drug-curies)\n  (sort-assoc\n   (map\n    (lambda (d)\n      (define qdrug (time (query/graph\n                           ((X d)\n                            (O #f))\n                           ((X->O side-effect-preds (edge/db? 'rtx2)))\n                           (X X->O O))))\n      (cons (assoc d (curie-synonyms/names d))\n            (map (lambda (s) (assoc s (curie-synonyms/names s))) (curies/query qdrug 'O))))\n     drug-curies)))\n\n(define sort-strategy1-drugs-by-side-effects (sort-side-effects strategy1-drugs))"
  },
  {
    "path": "contrib/medikanren/pieces-parts/postquery.rkt",
    "content": "#lang racket/base\n\n(provide (all-defined-out))\n(require \"../../../medikanren/pieces-parts/query.rkt\")\n(require  racket/list)\n(require (for-syntax racket/base syntax/parse racket/syntax syntax/transformer))\n\n;; different notions of consistency\n;; arc: across 1-hop\n;; path: across entire path\n;; global: between multiple paths that might share nodes\n\n;; global consistency\n;; X -> Y\n;; X -> Z\n;; Y -> Z\n;; need to find X -> Y -> Z\n;; but imagine that X, Y, Z are sets\n;; need the individual elements to be related\n\n;; query/graph\n;; returns an association list from the concept and edge names defined to their result\n\n(define (all-consistent query-result)\n  (define paths       (car query-result))\n  (define named-cells (cdr query-result))\n  (define kvs (map (lambda (nc) (cons (car nc) ((cdr nc) 'ref)))\n                   named-cells))\n  (define csets (filter (lambda (kv) (eq? (cadr kv) 'concept)) kvs))\n  (define esets (filter (lambda (kv) (eq? (cadr kv) 'edge))    kvs))\n\n  ;; symbolic: capital\n  ;; concrete: lower case\n\n  (define E=>sgs\n    (foldl (lambda (path e=>s)\n             (foldl (lambda (edge e=>s)\n                      (define ename (cadr  edge))\n                      (define sname (car   edge))\n                      (hash-set e=>s ename (cddr (assoc sname csets))))\n                    e=>s (path->edges path)))\n           (hash) paths))\n  (define E=>ogs\n    (foldl (lambda (path e=>o)\n             (foldl (lambda (edge e=>o)\n                      (define ename (cadr  edge))\n                      (define oname (caddr edge))\n                      (hash-set e=>o ename (cddr (assoc oname csets))))\n                    e=>o (path->edges path)))\n           (hash) paths))\n\n\n  (define (augment sgs ogs es)\n    (map (lambda (kv)\n           (define key (car kv))\n           (define es  (cdr kv))\n           (list key es))\n         (hash->list\n           (foldl (lambda (e acc)\n                    (define snorm (curie-norm sgs (cadr (caddr  e))))\n                    (define onorm (curie-norm ogs (cadr (cadddr e))))\n                    (define key (cons snorm onorm))\n                    (define existing (hash-ref acc key #f))\n                    (hash-set acc key (if existing (cons e existing) (list e))))\n                  (hash) es))))\n  (define E=>aes\n    (make-immutable-hash\n      (map (lambda (kv)\n             (define sgs (hash-ref E=>sgs (car kv)))\n             (define ogs (hash-ref E=>ogs (car kv)))\n             (define aes (augment sgs ogs (cddr kv)))\n             (cons (car kv) aes))\n           esets)))\n\n  (define (C=>Es f)\n    (foldl (lambda (path c=>e)\n             (foldl (lambda (edge c=>e)\n                      (define ename (cadr  edge))\n                      (define cname (f   edge))\n                      (hash-update c=>e cname\n                                   (lambda (old) (cons ename old))\n                                   '()))\n                    c=>e (path->edges path)))\n           (hash) paths))\n\n  (define S=>Es (C=>Es car))\n\n  (define O=>Es (C=>Es caddr))\n\n  (define (revert-C=>Es C=>Es)\n    (make-immutable-hash\n      (append*\n        (hash-map\n          C=>Es\n          (lambda (C Es)\n            (map (lambda (E)\n                   (cons E C))\n                 Es))))))\n\n  (define E=>S (revert-C=>Es S=>Es))\n  (define E=>O (revert-C=>Es O=>Es))\n\n  (define all-concepts (map car csets))\n  (define all-edges (map car esets))\n\n  (define (global-instances edges substitution)\n    (if (null? edges)\n      (list substitution)\n      (let* ((E (car edges))\n             (aes (hash-ref E=>aes E))\n             (S (hash-ref E=>S E))\n             (O (hash-ref E=>O E))\n             (s (hash-ref substitution S #f))\n             (o (hash-ref substitution O #f)))\n        (append*\n          (for/list ((ae aes))\n            (let* ((snorm (caar ae))\n                   (onorm (cdar ae))\n                   (edge-consistent?\n                     (and (or (not s) (equal? snorm s))\n                          (or (not o) (equal? onorm o)))))\n              (if edge-consistent?\n                (let ((substitution^ (hash-set (hash-set (hash-set substitution E ae)  S snorm) O onorm)))\n                  (global-instances (cdr edges)\n                                    substitution^))\n                '())))))))\n\n  (global-instances all-edges (hash))\n  )\n\n(define-syntax-rule (query/graph/consistent\n                      ((concept-name initial) ...)\n                      ((edge-name edge-constraints ...) ...)\n                      path ...)\n  (let ((q (query/graph\n             ((concept-name initial) ...)\n             ((edge-name edge-constraints ...) ...)\n             path ...)))\n    (all-consistent q)))\n\n(begin-for-syntax\n (struct selector-rep (runtime arg-count)\n         #:property prop:procedure\n         (lambda (self stx)\n           ((make-variable-like-transformer\n             (selector-rep-runtime self))\n            stx)))\n (define-syntax-class edge-decl\n   #:description \"edge declaration\"\n   (pattern (subject:id\n             predicate:expr\n             object:id\n             (~optional (~seq #:as name:id)\n                        #:defaults ([name (generate-temporary\n                                            (format-id #f \"~a->~a\" #'subject #'object))])))))\n\n (define-syntax-class concept-decl\n   #:description \"concept declaration\"\n   (pattern (name:id predicate:expr)))\n (define-syntax-class selector-id\n   #:description \"selector name\"\n   #:opaque\n   (pattern _:id))\n (define-syntax-class selector-exp\n   #:description \"selector expression\"\n   #:datum-literals (rkt)\n   (pattern e:id)\n   (pattern (s:selector-id arg:id ...+)\n            #:do [(define env-v (syntax-local-value #'s))]\n            #:fail-unless (selector-rep? env-v)\n            \"expected a selector\"\n            #:fail-unless (= (selector-rep-arg-count env-v)\n                             (length (syntax->list #'(arg ...))))\n            \"wrong number of arguments\"\n            #:attr e #`(#,(selector-rep-runtime env-v)\n                        arg ...))\n   (pattern (rkt e:expr)))\n)\n\n(define (query-runtime keys results f)\n  (for/list ([result results])\n            (apply f (for/list ([key keys]) (hash-ref result key)))))\n\n(define-syntax define-selector\n  (syntax-parser\n   [(_ (name:id arg:id ...+) body ...+)\n    (define arg-count\n      (length (syntax->list #'(arg ...))))\n    #`(begin\n        (define (runtime arg ...) body ...)\n        (define-syntax name\n          (selector-rep #'runtime #,arg-count)))]))\n\n(define-syntax query\n  (syntax-parser\n   #:datum-literals (select concepts edges)\n   [(_ (select s:selector-exp ...+)\n       (concepts c:concept-decl ...+)\n       (edges e:edge-decl ...))\n    #'(let ([res\n             (query/graph/consistent\n              ([c.name c.predicate] ...)\n              ([e.name e.predicate] ...)\n              [e.subject e.name e.object]\n              ...)])\n        (query-runtime\n         '(c.name ... e.name ...)\n         res\n         (lambda (c.name ... e.name ...)\n           (list\n            s.e\n            ...))))]))\n\n(define-selector (curie x) x)\n\n(module+\n test\n (require rackunit)\n (define q (time (query/graph/consistent\n                  ((X       drug-concept?)\n                   (Y       gene-or-protein)\n                   (rhobtb2 \"UMLS:C1425762\"))\n                  ((X->Y       negatively-regulates)\n                   (Y->rhobtb2 positively-regulates))\n                  (X X->Y Y Y->rhobtb2 rhobtb2))))\n\n (check-true (< 0 (length q)))\n (define q2\n   (query\n    (select (curie X) (curie Y) (rkt ((lambda (x) x) X)) (rkt (((lambda (x) x) curie) X)))\n    (concepts\n     (X       drug-concept?)\n     (Y       gene-or-protein)\n     (rhobtb2 \"UMLS:C1425762\"))\n    (edges\n     (X negatively-regulates Y #:as X->Y)\n     (Y positively-regulates rhobtb2))))\n (check-true (< 0 (length q2)))\n )\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/pub-clustering.rkt",
    "content": "#lang racket\n(require \"../../../medikanren/pieces-parts/query.rkt\")\n                 \n(define spike-covid19 \"UniProtKB:P0DTC2\")\n\n(define spike-sars \"UniProtKB:P59594\")\n\n(define ace2 \"UMLS:C1422064\")\n\n(define covid19 \"MONDO:0100096\")\n\n(define sars \"CUI:C1175743\")\n\n(define mers \"CUI:C3698360\")\n\n(define (sort-pubs pubs)\n  (sort\n   (hash-map pubs (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (set-count (cdr x)))))\n\n(define (sort-count c)\n  (sort\n   (hash-map c (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (cdr x))))\n\n#|\ntakes: a curie of interest (c), a list of type labels (eg. from query.rkt: drug, gene, etc.) (result-filter) - enter #f if no filter\nq1 does query C-\"biolink:related_to\"->P where C is the curie of interest (c), and P is a publication concept.\nq2 does a separate query C-\"biolink:related_to\"->P where C is either open (#f) or filtered by result-filter, and\nP is the list of publication curies resulting from the P in q1.\npurpose: shows the frequency of co-occurrence between different concepts in publications, this gives a sense of\n         what concept curies are often mentioned together in biomedical literature\nreturns: an association list where the keys are concept curies (x) (filtered by result-filter), and the values are sets of all\n         publications that mention both the concept curie (x) and the curie of interest (c). The assoc list is sorted (high->low)\n         by the number of publications in which the concept curie (x) and the curie of interest (c) co-occur\n|#\n(define (cluster-concepts-by-pubs c result-filter)\n  (define q1 (query/graph\n              ((C c)\n               (P #f))\n              ((C->P  '(\"biolink:related_to\")))\n              (C C->P P)))\n  (define related-pubs (curies/query q1 'P))\n  (define publications (make-hash))\n  (define (step2 p)\n    (define q2 (time (query/graph\n                      ((C result-filter)\n                       (P p))\n                      ((C->P  '(\"biolink:related_to\")))\n                      (C C->P P))))\n    (define related-concepts (curies/query q2 'C))\n    (for-each\n     (lambda (x)\n       (unless (equal? x c) \n         (hash-update! publications x (lambda (s) (set-add s p)) (set))\n         )\n       )\n     related-concepts)\n    )\n  (for-each step2 related-pubs)\n  (sort-pubs publications)\n  )\n#|Examples\n;;quick examples: these curies have fewer \"biolink:related_to\" edges, so they take a lot less time to finish running\n(cluster-concepts-by-pubs \"NCBIGene:3852\" #f))\n(cluster-concepts-by-pubs \"CUI:C1418795\" #f))\n\n;;longer, covid related examples:\n\n;;finds all curies (no filter) that are mentioned in the same publication as the sars spike protein and all\n  the publications in which this occurs\n(define sars-spike-gene-cluster (cluster-concepts-by-pubs \"UniProtKB:P59594\" #f))\n\n(define spike-covid19 \"UniProtKB:P0DTC2\")\n(define covid-spike-gene-cluster (cluster-concepts-by-pubs spike-covid19 gene))\n\n(define ace2-drug-cluster (cluster-concepts-by-pubs \"CUI:C1422064\" drug))\n|#\n\n#|\ntakes: the association list returned by cluster-concepts-by-pred\nreturns: a sorted assoc list where the value is just the count of the number of publications rather than a set\n         of the actual publication curies\n|#\n(define (pubs->count cluster)\n  (map\n   (lambda (x)\n     (cons (car x) (set-count (cdr x)))\n     )\n   cluster\n   )\n  )\n#|Examples\n(pubs->count sars-spike-gene-cluster)\n(pubs->count covid-spike-gene-cluster)\n(pubs->count ace2-drug-cluster)\n|#"
  },
  {
    "path": "contrib/medikanren/pieces-parts/rank-regulators-exe.rkt",
    "content": "#lang racket\n(require \"rank-regulators.rkt\"\n         \"rank-regulators-gene-lists.rkt\")\n#|\nPurpose: The purpose of this program is to find genes that have the most influence over a user inputted\n         list of genes of interest.\n\nMethods: It does this by using two separate methods of querying the knowledge graphs: (1) querying the GO\n         ontology and (2) using a 1-hop query. The relationships found through the GO query are looser \n         because the indirect, multi-hop query requires that we make bigger inferences. However, we have\n         more confidence in the information in GO. The 1-hop query looks for more direct relationships\n         and interactions between genes and proteins, but the information that that query returns could\n         be inaccurate due to inaccuracies in NLP generated knowledge graphs. After using both querying\n         methods, we compare the two results to find intersections between them. The results that are \n         common between both methods are held in higher confidence, but that is not to say that results\n         that don't lie in the overlap are inaccurate.\n\nInput/Output: Takes a list of the curies of genes of interest and outputs a sorted association list of\n              gene to regulated gene relationships. The association list is sorted from most to least\n              by the number of other genes/gene products that a gene regulates.\n\nInformation in Output: Contained within the sorted association list that is returned is a pair made from\n                       cons-ing the regulator gene's (G) curie and name. These (G curie. G name) pairs are\n                       the keys of the assoc list. The value is a list of lists that contains the regulated\n                       genes (rG) that the regulator gene (G) regulates along with additional information.\n                       Each element in the value is a list that contains the rG's curie, name, the presumed\n                       direction of regulation (told by predicates), and provenance for the edges in the form\n                       of pubmed ids. The functions 1-hop-query/report and find-intersections also include\n                       a boolean that indicates whether or not the G and rG directly interact with each other\n                       in the body (#t if yes) and provenance for that information also in the form of pubmed\n                       ids.\n\nNote: The functions called in this file are more extensively documented in rank-regulators.rkt\n|#\n\n#|\nThe following calls are an example based off an ARDS gene list, defined as ards-genes. There are 517 ENSEMBL\ngene curies on that list, and they yield 468 uniprot curies.\n\nNote: runtimes given in comments below are based off a 2020 MacBook Pro (2 GHz Quad-Core Intel Core i5,\n      16G RAM). They are meant to give an idea of which calls take a lot longer to finish.\n|#\n\n#|\nTurns the inputted gene list of interest into a list of uniprot curies in order to be passed\ninto the GO query.\nruntime: < 30s\n|#\n;;function call: genes->uniprots | takes: list of gene curies | returns: list of uniprot curies\n(define uniprots (time (genes->uniprots ards-genes)))\n\n#|\nThe next two statements 1) run the GO query and 2) reports the results of the query in an association list.\nruntime:\n    GO-query-edges: ~5 min\n    go-query-results: just under 2 hrs\n|#\n;;function call: query-GO | takes: list of uniprot curies | returns: list of three edge hashes\n(define GO-query-edges (time (query-GO uniprots)))\n\n;;function call: report-GO-queries | takes: list of three edge hashes | returns: sorted assoc list\n(define go-query-results (time (report-GO-queries GO-query-edges)))\n\n#|\nRuns and reports the 1-hop query.\nruntime: ~ 20 min\n|#\n;;function call: 1-hop-query/report | takes: list of uniprot curies | returns: sorted assoc list\n(define 1-hop-results (time (1-hop-query/report uniprots)))\n\n#|\nFinds the intersections between the GO query findings and 1-hop query findings.\n|#\n;;function call: find-intersections | takes: sorted assoc list returned by report-GO-queries, sorted\n;;assoc list returned by 1-hop-query/report | returns: sorted assoc list\n;; NOTE: CURRENTLY THROWS ERROR\n;;(define intersections (time (find-intersections go-query-results 1-hop-results)))\n\n;;function call: find-expression-locations | takes: list of gene/protein curies | returns: hash that maps cell/tissue type to list of gene/proteins\n;;runtime: ~25 min\n(define cell/tissue-types (time (find-expression-locations (set-union (map caar go-query-results) (map caar 1-hop-results) uniprots))))\n\n;;function call: sort-cell/tissue-types-by-G-and-rG | takes: hash returned by find-expression-locations | returns: sorted assoc list\n(define cell/tissue-types-sorted-by-G-or-rG (time (sort-cell/tissue-types-by-G-and-rG cell/tissue-types)))\n\n;;function call: sort-cell/tissue-types-by-rG | takes: hash returned by find-expression-locations | returns: sorted assoc list\n(define cell/tissue-types-sorted-by-rG (time (sort-cell/tissue-types-by-rG cell/tissue-types (map curie->curie/name uniprots))))\n\n#|\nGives a ranked list of G's with the count of the number of relationships they have with an rG. The same rG\ncan be counted twice if the nature of the relationship between the G and rG (ie. the direction or direct\ninteraction) is different.\nFirst is for go query results, second is for 1-hop-results\n|#\n(define go-ranked-Gs-indistinct (map (lambda (x) (cons (car x) (length (cdr x)))) go-query-results))\n(define 1-hop-ranked-Gs-indistinct (map (lambda (x) (cons (car x) (length (cdr x)))) 1-hop-results))\n\n#|\nGives a ranked list of G's with the count of the number of distinct rG's they regulate. The same rG cannot be\ncounted twice.\nFirst is for go query results, second is for 1-hop-results\n|#\n(define go-ranked-Gs-distinct (sort\n                               (map\n                                (lambda (g=>rg)\n                                  (cons (car g=>rg)\n                                        (length (group-by (lambda (rg/info) (caar rg/info)) (cdr g=>rg))))\n                                  )\n                                go-query-results\n                                )\n                               >\n                               #:key (lambda (x) (cdr x))))\n(define 1-hop-ranked-Gs-distinct (sort\n                                  (map\n                                   (lambda (g=>rg)\n                                     (cons (car g=>rg)\n                                           (length (group-by (lambda (rg/info) (caar rg/info)) (cdr g=>rg))))\n                                     )\n                                   1-hop-results\n                                   )\n                                  >\n                                  #:key (lambda (x) (cdr x))))\n\n#|\nGives the top 10 ranked G's that are also on ARDS gene list\n|#\n(define go-top-10-Gs-on-ards-list (map curie->curie/name (take (set-intersect (map caar go-ranked-Gs-distinct) uniprots) 10)))"
  },
  {
    "path": "contrib/medikanren/pieces-parts/rank-regulators-gene-lists.rkt",
    "content": "#lang racket\n(provide ards-genes\n         NGLY1-underexpressed\n         NGLY1-overexpressed)\n\n(define ards-genes '(\"ENSEMBL:ENSG00000167972\"\n                     \"ENSEMBL:ENSG00000198691\"\n                     \"ENSEMBL:ENSG00000175164\"\n                     \"ENSEMBL:ENSG00000278540\"\n                     \"ENSEMBL:ENSG00000100412\"\n                     \"ENSEMBL:ENSG00000162104\"\n                     \"ENSEMBL:ENSG00000204305\"\n                     \"ENSEMBL:ENSG00000135744\"\n                     \"ENSEMBL:ENSG00000144891\"\n                     \"ENSEMBL:ENSG00000180772\"\n                     \"ENSEMBL:ENSG00000142208\"\n                     \"ENSEMBL:ENSG00000148218\"\n                     \"ENSEMBL:ENSG00000163631\"\n                     \"ENSEMBL:ENSG00000085662\"\n                     \"ENSEMBL:ENSG00000154188\"\n                     \"ENSEMBL:ENSG00000091879\"\n                     \"ENSEMBL:ENSG00000182718\"\n                     \"ENSEMBL:ENSG00000134982\"\n                     \"ENSEMBL:ENSG00000132703\"\n                     \"ENSEMBL:ENSG00000023445\"\n                     \"ENSEMBL:ENSG00000142515\"\n                     \"ENSEMBL:ENSG00000026103\"\n                     \"ENSEMBL:ENSG00000117560\"\n                     \"ENSEMBL:ENSG00000240583\"\n                     \"ENSEMBL:ENSG00000161798\"\n                     \"ENSEMBL:ENSG00000006756\"\n                     \"ENSEMBL:ENSG00000117601\"\n                     \"ENSEMBL:ENSG00000149311\"\n                     \"ENSEMBL:ENSG00000164904\"\n                     \"ENSEMBL:ENSG00000171791\"\n                     \"ENSEMBL:ENSG00000101144\"\n                     \"ENSEMBL:ENSG00000010671\"\n                     \"ENSEMBL:ENSG00000100300\"\n                     \"ENSEMBL:ENSG00000149131\"\n                     \"ENSEMBL:ENSG00000171860\"\n                     \"ENSEMBL:ENSG00000106804\"\n                     \"ENSEMBL:ENSG00000197405\"\n                     \"ENSEMBL:ENSG00000149823\"\n                     \"ENSEMBL:ENSG00000063180\"\n                     \"ENSEMBL:ENSG00000164305\"\n                     \"ENSEMBL:ENSG00000121691\"\n                     \"ENSEMBL:ENSG00000105974\"\n                     \"ENSEMBL:ENSG00000124813\"\n                     \"ENSEMBL:ENSG00000149257\"\n                     \"ENSEMBL:ENSG00000134057\"\n                     \"ENSEMBL:ENSG00000170458\"\n                     \"ENSEMBL:ENSG00000121594\"\n                     \"ENSEMBL:ENSG00000101017\"\n                     \"ENSEMBL:ENSG00000102245\"\n                     \"ENSEMBL:ENSG00000026508\"\n                     \"ENSEMBL:ENSG00000085063\"\n                     \"ENSEMBL:ENSG00000129226\"\n                     \"ENSEMBL:ENSG00000179776\"\n                     \"ENSEMBL:ENSG00000100526\"\n                     \"ENSEMBL:ENSG00000170835\"\n                     \"ENSEMBL:ENSG00000001626\"\n                     \"ENSEMBL:ENSG00000133019\"\n                     \"ENSEMBL:ENSG00000196811\"\n                     \"ENSEMBL:ENSG00000099622\"\n                     \"ENSEMBL:ENSG00000122705\"\n                     \"ENSEMBL:ENSG00000183813\"\n                     \"ENSEMBL:ENSG00000188153\"\n                     \"ENSEMBL:ENSG00000115966\"\n                     \"ENSEMBL:ENSG00000167193\"\n                     \"ENSEMBL:ENSG00000132693\"\n                     \"ENSEMBL:ENSG00000118231\"\n                     \"ENSEMBL:ENSG00000112062\"\n                     \"ENSEMBL:ENSG00000101439\"\n                     \"ENSEMBL:ENSG00000118523\"\n                     \"ENSEMBL:ENSG00000168036\"\n                     \"ENSEMBL:ENSG00000100448\"\n                     \"ENSEMBL:ENSG00000166347\"\n                     \"ENSEMBL:ENSG00000140465\"\n                     \"ENSEMBL:ENSG00000140505\"\n                     \"ENSEMBL:ENSG00000138061\"\n                     \"ENSEMBL:ENSG00000160870\"\n                     \"ENSEMBL:ENSG00000106258\"\n                     \"ENSEMBL:ENSG00000196730\"\n                     \"ENSEMBL:ENSG00000011465\"\n                     \"ENSEMBL:ENSG00000159640\"\n                     \"ENSEMBL:ENSG00000164825\"\n                     \"ENSEMBL:ENSG00000197766\"\n                     \"ENSEMBL:ENSG00000181019\"\n                     \"ENSEMBL:ENSG00000213918\"\n                     \"ENSEMBL:ENSG00000197635\"\n                     \"ENSEMBL:ENSG00000164330\"\n                     \"ENSEMBL:ENSG00000213694\"\n                     \"ENSEMBL:ENSG00000078401\"\n                     \"ENSEMBL:ENSG00000138798\"\n                     \"ENSEMBL:ENSG00000197561\"\n                     \"ENSEMBL:ENSG00000021355\"\n                     \"ENSEMBL:ENSG00000066044\"\n                     \"ENSEMBL:ENSG00000116016\"\n                     \"ENSEMBL:ENSG00000133216\"\n                     \"ENSEMBL:ENSG00000120915\"\n                     \"ENSEMBL:ENSG00000130427\"\n                     \"ENSEMBL:ENSG00000157554\"\n                     \"ENSEMBL:ENSG00000157557\"\n                     \"ENSEMBL:ENSG00000180210\"\n                     \"ENSEMBL:ENSG00000117525\"\n                     \"ENSEMBL:ENSG00000198734\"\n                     \"ENSEMBL:ENSG00000117480\"\n                     \"ENSEMBL:ENSG00000166147\"\n                     \"ENSEMBL:ENSG00000151422\"\n                     \"ENSEMBL:ENSG00000140285\"\n                     \"ENSEMBL:ENSG00000160867\"\n                     \"ENSEMBL:ENSG00000111206\"\n                     \"ENSEMBL:ENSG00000115414\"\n                     \"ENSEMBL:ENSG00000170345\"\n                     \"ENSEMBL:ENSG00000154727\"\n                     \"ENSEMBL:ENSG00000163288\"\n                     \"ENSEMBL:ENSG00000128683\"\n                     \"ENSEMBL:ENSG00000141448\"\n                     \"ENSEMBL:ENSG00000168621\"\n                     \"ENSEMBL:ENSG00000134812\"\n                     \"ENSEMBL:ENSG00000265107\"\n                     \"ENSEMBL:ENSG00000173221\"\n                     \"ENSEMBL:ENSG00000147437\"\n                     \"ENSEMBL:ENSG00000186810\"\n                     \"ENSEMBL:ENSG00000167701\"\n                     \"ENSEMBL:ENSG00000113580\"\n                     \"ENSEMBL:ENSG00000082701\"\n                     \"ENSEMBL:ENSG00000132518\"\n                     \"ENSEMBL:ENSG00000145649\"\n                     \"ENSEMBL:ENSG00000100453\"\n                     \"ENSEMBL:ENSG00000148702\"\n                     \"ENSEMBL:ENSG00000084754\"\n                     \"ENSEMBL:ENSG00000019991\"\n                     \"ENSEMBL:ENSG00000100644\"\n                     \"ENSEMBL:ENSG00000189403\"\n                     \"ENSEMBL:ENSG00000100292\"\n                     \"ENSEMBL:ENSG00000125798\"\n                     \"ENSEMBL:ENSG00000135486\"\n                     \"ENSEMBL:ENSG00000257017\"\n                     \"ENSEMBL:ENSG00000113905\"\n                     \"ENSEMBL:ENSG00000176387\"\n                     \"ENSEMBL:ENSG00000204389\"\n                     \"ENSEMBL:ENSG00000204388\"\n                     \"ENSEMBL:ENSG00000170606\"\n                     \"ENSEMBL:ENSG00000070614\"\n                     \"ENSEMBL:ENSG00000041982\"\n                     \"ENSEMBL:ENSG00000090339\"\n                     \"ENSEMBL:ENSG00000185745\"\n                     \"ENSEMBL:ENSG00000171855\"\n                     \"ENSEMBL:ENSG00000111537\"\n                     \"ENSEMBL:ENSG00000006652\"\n                     \"ENSEMBL:ENSG00000017427\"\n                     \"ENSEMBL:ENSG00000146674\"\n                     \"ENSEMBL:ENSG00000167779\"\n                     \"ENSEMBL:ENSG00000104365\"\n                     \"ENSEMBL:ENSG00000115008\"\n                     \"ENSEMBL:ENSG00000125538\"\n                     \"ENSEMBL:ENSG00000115594\"\n                     \"ENSEMBL:ENSG00000136689\"\n                     \"ENSEMBL:ENSG00000109471\"\n                     \"ENSEMBL:ENSG00000134460\"\n                     \"ENSEMBL:ENSG00000113520\"\n                     \"ENSEMBL:ENSG00000136244\"\n                     \"ENSEMBL:ENSG00000168685\"\n                     \"ENSEMBL:ENSG00000169429\"\n                     \"ENSEMBL:ENSG00000136634\"\n                     \"ENSEMBL:ENSG00000169194\"\n                     \"ENSEMBL:ENSG00000112115\"\n                     \"ENSEMBL:ENSG00000150782\"\n                     \"ENSEMBL:ENSG00000169245\"\n                     \"ENSEMBL:ENSG00000125347\"\n                     \"ENSEMBL:ENSG00000005884\"\n                     \"ENSEMBL:ENSG00000169896\"\n                     \"ENSEMBL:ENSG00000160255\"\n                     \"ENSEMBL:ENSG00000115474\"\n                     \"ENSEMBL:ENSG00000128052\"\n                     \"ENSEMBL:ENSG00000171345\"\n                     \"ENSEMBL:ENSG00000172037\"\n                     \"ENSEMBL:ENSG00000148346\"\n                     \"ENSEMBL:ENSG00000115850\"\n                     \"ENSEMBL:ENSG00000131981\"\n                     \"ENSEMBL:ENSG00000138039\"\n                     \"ENSEMBL:ENSG00000105370\"\n                     \"ENSEMBL:ENSG00000226979\"\n                     \"ENSEMBL:ENSG00000160932\"\n                     \"ENSEMBL:ENSG00000183918\"\n                     \"ENSEMBL:ENSG00000277443\"\n                     \"ENSEMBL:ENSG00000166949\"\n                     \"ENSEMBL:ENSG00000165471\"\n                     \"ENSEMBL:ENSG00000143384\"\n                     \"ENSEMBL:ENSG00000014641\"\n                     \"ENSEMBL:ENSG00000110492\"\n                     \"ENSEMBL:ENSG00000095015\"\n                     \"ENSEMBL:ENSG00000240972\"\n                     \"ENSEMBL:ENSG00000138755\"\n                     \"ENSEMBL:ENSG00000087245\"\n                     \"ENSEMBL:ENSG00000149968\"\n                     \"ENSEMBL:ENSG00000100985\"\n                     \"ENSEMBL:ENSG00000005381\"\n                     \"ENSEMBL:ENSG00000130830\"\n                     \"ENSEMBL:ENSG00000125148\"\n                     \"ENSEMBL:ENSG00000087250\"\n                     \"ENSEMBL:ENSG00000171100\"\n                     \"ENSEMBL:ENSG00000210195\"\n                     \"ENSEMBL:ENSG00000185499\"\n                     \"ENSEMBL:ENSG00000215182\"\n                     \"ENSEMBL:ENSG00000136997\"\n                     \"ENSEMBL:ENSG00000172936\"\n                     \"ENSEMBL:ENSG00000109063\"\n                     \"ENSEMBL:ENSG00000065534\"\n                     \"ENSEMBL:ENSG00000116044\"\n                     \"ENSEMBL:ENSG00000109320\"\n                     \"ENSEMBL:ENSG00000100906\"\n                     \"ENSEMBL:ENSG00000001167\"\n                     \"ENSEMBL:ENSG00000089250\"\n                     \"ENSEMBL:ENSG00000164867\"\n                     \"ENSEMBL:ENSG00000161270\"\n                     \"ENSEMBL:ENSG00000135318\"\n                     \"ENSEMBL:ENSG00000111331\"\n                     \"ENSEMBL:ENSG00000112038\"\n                     \"ENSEMBL:ENSG00000089041\"\n                     \"ENSEMBL:ENSG00000185624\"\n                     \"ENSEMBL:ENSG00000007168\"\n                     \"ENSEMBL:ENSG00000117450\"\n                     \"ENSEMBL:ENSG00000106366\"\n                     \"ENSEMBL:ENSG00000126759\"\n                     \"ENSEMBL:ENSG00000197249\"\n                     \"ENSEMBL:ENSG00000124102\"\n                     \"ENSEMBL:ENSG00000121879\"\n                     \"ENSEMBL:ENSG00000051382\"\n                     \"ENSEMBL:ENSG00000171608\"\n                     \"ENSEMBL:ENSG00000105851\"\n                     \"ENSEMBL:ENSG00000170890\"\n                     \"ENSEMBL:ENSG00000188257\"\n                     \"ENSEMBL:ENSG00000116711\"\n                     \"ENSEMBL:ENSG00000118495\"\n                     \"ENSEMBL:ENSG00000011422\"\n                     \"ENSEMBL:ENSG00000115896\"\n                     \"ENSEMBL:ENSG00000075651\"\n                     \"ENSEMBL:ENSG00000178209\"\n                     \"ENSEMBL:ENSG00000266964\"\n                     \"ENSEMBL:ENSG00000115138\"\n                     \"ENSEMBL:ENSG00000186951\"\n                     \"ENSEMBL:ENSG00000122862\"\n                     \"ENSEMBL:ENSG00000100030\"\n                     \"ENSEMBL:ENSG00000107643\"\n                     \"ENSEMBL:ENSG00000169032\"\n                     \"ENSEMBL:ENSG00000115718\"\n                     \"ENSEMBL:ENSG00000184500\"\n                     \"ENSEMBL:ENSG00000189002\"\n                     \"ENSEMBL:ENSG00000135406\"\n                     \"ENSEMBL:ENSG00000041357\"\n                     \"ENSEMBL:ENSG00000197170\"\n                     \"ENSEMBL:ENSG00000011304\"\n                     \"ENSEMBL:ENSG00000073756\"\n                     \"ENSEMBL:ENSG00000169398\"\n                     \"ENSEMBL:ENSG00000105894\"\n                     \"ENSEMBL:ENSG00000081237\"\n                     \"ENSEMBL:ENSG00000113456\"\n                     \"ENSEMBL:ENSG00000069974\"\n                     \"ENSEMBL:ENSG00000080823\"\n                     \"ENSEMBL:ENSG00000112619\"\n                     \"ENSEMBL:ENSG00000173039\"\n                     \"ENSEMBL:ENSG00000143839\"\n                     \"ENSEMBL:ENSG00000102032\"\n                     \"ENSEMBL:ENSG00000163914\"\n                     \"ENSEMBL:ENSG00000067900\"\n                     \"ENSEMBL:ENSG00000149489\"\n                     \"ENSEMBL:ENSG00000196218\"\n                     \"ENSEMBL:ENSG00000196154\"\n                     \"ENSEMBL:ENSG00000163220\"\n                     \"ENSEMBL:ENSG00000031698\"\n                     \"ENSEMBL:ENSG00000111319\"\n                     \"ENSEMBL:ENSG00000108691\"\n                     \"ENSEMBL:ENSG00000108688\"\n                     \"ENSEMBL:ENSG00000163735\"\n                     \"ENSEMBL:ENSG00000110876\"\n                     \"ENSEMBL:ENSG00000168878\"\n                     \"ENSEMBL:ENSG00000168484\"\n                     \"ENSEMBL:ENSG00000133661\"\n                     \"ENSEMBL:ENSG00000064651\"\n                     \"ENSEMBL:ENSG00000197208\"\n                     \"ENSEMBL:ENSG00000166311\"\n                     \"ENSEMBL:ENSG00000075618\"\n                     \"ENSEMBL:ENSG00000125835\"\n                     \"ENSEMBL:ENSG00000142168\"\n                     \"ENSEMBL:ENSG00000112096\"\n                     \"ENSEMBL:ENSG00000109610\"\n                     \"ENSEMBL:ENSG00000125398\"\n                     \"ENSEMBL:ENSG00000100883\"\n                     \"ENSEMBL:ENSG00000168610\"\n                     \"ENSEMBL:ENSG00000126561\"\n                     \"ENSEMBL:ENSG00000173757\"\n                     \"ENSEMBL:ENSG00000087586\"\n                     \"ENSEMBL:ENSG00000067715\"\n                     \"ENSEMBL:ENSG00000231925\"\n                     \"ENSEMBL:ENSG00000006638\"\n                     \"ENSEMBL:ENSG00000118526\"\n                     \"ENSEMBL:ENSG00000120156\"\n                     \"ENSEMBL:ENSG00000164362\"\n                     \"ENSEMBL:ENSG00000003436\"\n                     \"ENSEMBL:ENSG00000105329\"\n                     \"ENSEMBL:ENSG00000198959\"\n                     \"ENSEMBL:ENSG00000178726\"\n                     \"ENSEMBL:ENSG00000116001\"\n                     \"ENSEMBL:ENSG00000102265\"\n                     \"ENSEMBL:ENSG00000136352\"\n                     \"ENSEMBL:ENSG00000137462\"\n                     \"ENSEMBL:ENSG00000164342\"\n                     \"ENSEMBL:ENSG00000136869\"\n                     \"ENSEMBL:ENSG00000127324\"\n                     \"ENSEMBL:ENSG00000149809\"\n                     \"ENSEMBL:ENSG00000232810\"\n                     \"ENSEMBL:ENSG00000118503\"\n                     \"ENSEMBL:ENSG00000067182\"\n                     \"ENSEMBL:ENSG00000118194\"\n                     \"ENSEMBL:ENSG00000131747\"\n                     \"ENSEMBL:ENSG00000111669\"\n                     \"ENSEMBL:ENSG00000128311\"\n                     \"ENSEMBL:ENSG00000125482\"\n                     \"ENSEMBL:ENSG00000155657\"\n                     \"ENSEMBL:ENSG00000136810\"\n                     \"ENSEMBL:ENSG00000198431\"\n                     \"ENSEMBL:ENSG00000149021\"\n                     \"ENSEMBL:ENSG00000174607\"\n                     \"ENSEMBL:ENSG00000111424\"\n                     \"ENSEMBL:ENSG00000112715\"\n                     \"ENSEMBL:ENSG00000146469\"\n                     \"ENSEMBL:ENSG00000110799\"\n                     \"ENSEMBL:ENSG00000158125\"\n                     \"ENSEMBL:ENSG00000164924\"\n                     \"ENSEMBL:ENSG00000121966\"\n                     \"ENSEMBL:ENSG00000146070\"\n                     \"ENSEMBL:ENSG00000106305\"\n                     \"ENSEMBL:ENSG00000050327\"\n                     \"ENSEMBL:ENSG00000083168\"\n                     \"ENSEMBL:ENSG00000118972\"\n                     \"ENSEMBL:ENSG00000206561\"\n                     \"ENSEMBL:ENSG00000184381\"\n                     \"ENSEMBL:ENSG00000069764\"\n                     \"ENSEMBL:ENSG00000108528\"\n                     \"ENSEMBL:ENSG00000117461\"\n                     \"ENSEMBL:ENSG00000134107\"\n                     \"ENSEMBL:ENSG00000136908\"\n                     \"ENSEMBL:ENSG00000171720\"\n                     \"ENSEMBL:ENSG00000176170\"\n                     \"ENSEMBL:ENSG00000111602\"\n                     \"ENSEMBL:ENSG00000173805\"\n                     \"ENSEMBL:ENSG00000131023\"\n                     \"ENSEMBL:ENSG00000157456\"\n                     \"ENSEMBL:ENSG00000162889\"\n                     \"ENSEMBL:ENSG00000103671\"\n                     \"ENSEMBL:ENSG00000133116\"\n                     \"ENSEMBL:ENSG00000181092\"\n                     \"ENSEMBL:ENSG00000100351\"\n                     \"ENSEMBL:ENSG00000136156\"\n                     \"ENSEMBL:ENSG00000102230\"\n                     \"ENSEMBL:ENSG00000057663\"\n                     \"ENSEMBL:ENSG00000134318\"\n                     \"ENSEMBL:ENSG00000117592\"\n                     \"ENSEMBL:ENSG00000187608\"\n                     \"ENSEMBL:ENSG00000103335\"\n                     \"ENSEMBL:ENSG00000165733\"\n                     \"ENSEMBL:ENSG00000079999\"\n                     \"ENSEMBL:ENSG00000044090\"\n                     \"ENSEMBL:ENSG00000117020\"\n                     \"ENSEMBL:ENSG00000105835\"\n                     \"ENSEMBL:ENSG00000105246\"\n                     \"ENSEMBL:ENSG00000131477\"\n                     \"ENSEMBL:ENSG00000127528\"\n                     \"ENSEMBL:ENSG00000167315\"\n                     \"ENSEMBL:ENSG00000140092\"\n                     \"ENSEMBL:ENSG00000101000\"\n                     \"ENSEMBL:ENSG00000100591\"\n                     \"ENSEMBL:ENSG00000160999\"\n                     \"ENSEMBL:ENSG00000162493\"\n                     \"ENSEMBL:ENSG00000048740\"\n                     \"ENSEMBL:ENSG00000173083\"\n                     \"ENSEMBL:ENSG00000196843\"\n                     \"ENSEMBL:ENSG00000126264\"\n                     \"ENSEMBL:ENSG00000137959\"\n                     \"ENSEMBL:ENSG00000269821\"\n                     \"ENSEMBL:ENSG00000083807\"\n                     \"ENSEMBL:ENSG00000167114\"\n                     \"ENSEMBL:ENSG00000129465\"\n                     \"ENSEMBL:ENSG00000136110\"\n                     \"ENSEMBL:ENSG00000256525\"\n                     \"ENSEMBL:ENSG00000142082\"\n                     \"ENSEMBL:ENSG00000096717\"\n                     \"ENSEMBL:ENSG00000136859\"\n                     \"ENSEMBL:ENSG00000172828\"\n                     \"ENSEMBL:ENSG00000123415\"\n                     \"ENSEMBL:ENSG00000025800\"\n                     \"ENSEMBL:ENSG00000154589\"\n                     \"ENSEMBL:ENSG00000177663\"\n                     \"ENSEMBL:ENSG00000034677\"\n                     \"ENSEMBL:ENSG00000196141\"\n                     \"ENSEMBL:ENSG00000004142\"\n                     \"ENSEMBL:ENSG00000113249\"\n                     \"ENSEMBL:ENSG00000007952\"\n                     \"ENSEMBL:ENSG00000086232\"\n                     \"ENSEMBL:ENSG00000138744\"\n                     \"ENSEMBL:ENSG00000163106\"\n                     \"ENSEMBL:ENSG00000138375\"\n                     \"ENSEMBL:ENSG00000086991\"\n                     \"ENSEMBL:ENSG00000219430\"\n                     \"ENSEMBL:ENSG00000138303\"\n                     \"ENSEMBL:ENSG00000126524\"\n                     \"ENSEMBL:ENSG00000167772\"\n                     \"ENSEMBL:ENSG00000165682\"\n                     \"ENSEMBL:ENSG00000101916\"\n                     \"ENSEMBL:ENSG00000172458\"\n                     \"ENSEMBL:ENSG00000124731\"\n                     \"ENSEMBL:ENSG00000011426\"\n                     \"ENSEMBL:ENSG00000135766\"\n                     \"ENSEMBL:ENSG00000241635\"\n                     \"ENSEMBL:ENSG00000104835\"\n                     \"ENSEMBL:ENSG00000185480\"\n                     \"ENSEMBL:ENSG00000110075\"\n                     \"ENSEMBL:ENSG00000079691\"\n                     \"ENSEMBL:ENSG00000171109\"\n                     \"ENSEMBL:ENSG00000151849\"\n                     \"ENSEMBL:ENSG00000126970\"\n                     \"ENSEMBL:ENSG00000169241\"\n                     \"ENSEMBL:ENSG00000074842\"\n                     \"ENSEMBL:ENSG00000185115\"\n                     \"ENSEMBL:ENSG00000136688\"\n                     \"ENSEMBL:ENSG00000115350\"\n                     \"ENSEMBL:ENSG00000111666\"\n                     \"ENSEMBL:ENSG00000198074\"\n                     \"ENSEMBL:ENSG00000283122\"\n                     \"ENSEMBL:ENSG00000139946\"\n                     \"ENSEMBL:ENSG00000175482\"\n                     \"ENSEMBL:ENSG00000117569\"\n                     \"ENSEMBL:ENSG00000130234\"\n                     \"ENSEMBL:ENSG00000198026\"\n                     \"ENSEMBL:ENSG00000132429\"\n                     \"ENSEMBL:ENSG00000114745\"\n                     \"ENSEMBL:ENSG00000060237\"\n                     \"ENSEMBL:ENSG00000262246\"\n                     \"ENSEMBL:ENSG00000104518\"\n                     \"ENSEMBL:ENSG00000153395\"\n                     \"ENSEMBL:ENSG00000146094\"\n                     \"ENSEMBL:ENSG00000125779\"\n                     \"ENSEMBL:ENSG00000197496\"\n                     \"ENSEMBL:ENSG00000169612\"\n                     \"ENSEMBL:ENSG00000138496\"\n                     \"ENSEMBL:ENSG00000169962\"\n                     \"ENSEMBL:ENSG00000130363\"\n                     \"ENSEMBL:ENSG00000103510\"\n                     \"ENSEMBL:ENSG00000106125\"\n                     \"ENSEMBL:ENSG00000131653\"\n                     \"ENSEMBL:ENSG00000145794\"\n                     \"ENSEMBL:ENSG00000163702\"\n                     \"ENSEMBL:ENSG00000100410\"\n                     \"ENSEMBL:ENSG00000137691\"\n                     \"ENSEMBL:ENSG00000160188\"\n                     \"ENSEMBL:ENSG00000151148\"\n                     \"ENSEMBL:ENSG00000137033\"\n                     \"ENSEMBL:ENSG00000178473\"\n                     \"ENSEMBL:ENSG00000162711\"\n                     \"ENSEMBL:ENSG00000161544\"\n                     \"ENSEMBL:ENSG00000153391\"\n                     \"ENSEMBL:ENSG00000205359\"\n                     \"ENSEMBL:ENSG00000168724\"\n                     \"ENSEMBL:ENSG00000229140\"\n                     \"ENSEMBL:ENSG00000165953\"\n                     \"ENSEMBL:ENSG00000172967\"\n                     \"ENSEMBL:ENSG00000163803\"\n                     \"ENSEMBL:ENSG00000197272\"\n                     \"ENSEMBL:ENSG00000175311\"\n                     \"ENSEMBL:ENSG00000170782\"\n                     \"ENSEMBL:ENSG00000189195\"\n                     \"ENSEMBL:ENSG00000161911\"\n                     \"ENSEMBL:ENSG00000197448\"\n                     \"ENSEMBL:ENSG00000251562\"\n                     \"ENSEMBL:ENSG00000187258\"\n                     \"ENSEMBL:ENSG00000248131\"\n                     \"ENSEMBL:ENSG00000284520\"\n                     \"ENSEMBL:ENSG00000199133\"\n                     \"ENSEMBL:ENSG00000284440\"\n                     \"ENSEMBL:ENSG00000199161\"\n                     \"ENSEMBL:ENSG00000207608\"\n                     \"ENSEMBL:ENSG00000207625\"\n                     \"ENSEMBL:ENSG00000207782\"\n                     \"ENSEMBL:ENSG00000283904\"\n                     \"ENSEMBL:ENSG00000283815\"\n                     \"ENSEMBL:ENSG00000284204\"\n                     \"ENSEMBL:ENSG00000207607\"\n                     \"ENSEMBL:ENSG00000199038\"\n                     \"ENSEMBL:ENSG00000207702\"\n                     \"ENSEMBL:ENSG00000207590\"\n                     \"ENSEMBL:ENSG00000207798\"\n                     \"ENSEMBL:ENSG00000207870\"\n                     \"ENSEMBL:ENSG00000284567\"\n                     \"ENSEMBL:ENSG00000199075\"\n                     \"ENSEMBL:ENSG00000199121\"\n                     \"ENSEMBL:ENSG00000207808\"\n                     \"ENSEMBL:ENSG00000207864\"\n                     \"ENSEMBL:ENSG00000207827\"\n                     \"ENSEMBL:ENSG00000207582\"\n                     \"ENSEMBL:ENSG00000284357\"\n                     \"ENSEMBL:ENSG00000207638\"\n                     \"ENSEMBL:ENSG00000199059\"\n                     \"ENSEMBL:ENSG00000199151\"\n                     \"ENSEMBL:ENSG00000199104\"\n                     \"ENSEMBL:ENSG00000198982\"\n                     \"ENSEMBL:ENSG00000199020\"\n                     \"ENSEMBL:ENSG00000208001\"\n                     \"ENSEMBL:ENSG00000202569\"\n                     \"ENSEMBL:ENSG00000194717\"\n                     \"ENSEMBL:ENSG00000207731\"\n                     \"ENSEMBL:ENSG00000122852\"\n                     \"ENSEMBL:ENSG00000207571\"\n                     \"ENSEMBL:ENSG00000185303\"\n                     \"ENSEMBL:ENSG00000211590\"\n                     \"ENSEMBL:ENSG00000285427\"\n                     \"ENSEMBL:ENSG00000228750\"\n                     \"ENSEMBL:ENSG00000280634\"\n                     \"ENSEMBL:ENSG00000243438\"\n                     \"ENSEMBL:ENSG00000201796\"\n                     \"ENSEMBL:ENSG00000240160\"))\n\n(define NGLY1-overexpressed '(\"ENSEMBL:ENSG00000183044\"\n                              \"ENSEMBL:ENSG00000179869\"\n                              \"ENSEMBL:ENSG00000167972\"\n                              \"ENSEMBL:ENSG00000198691\"\n                              \"ENSEMBL:ENSG00000085563\"\n                              \"ENSEMBL:ENSG00000005471\"\n                              \"ENSEMBL:ENSG00000166016\"\n                              \"ENSEMBL:ENSG00000120437\"\n                              \"ENSEMBL:ENSG00000176244\"\n                              \"ENSEMBL:ENSG00000114739\"\n                              \"ENSEMBL:ENSG00000145808\"\n                              \"ENSEMBL:ENSG00000155897\"\n                              \"ENSEMBL:ENSG00000078549\"\n                              \"ENSEMBL:ENSG00000075340\"\n                              \"ENSEMBL:ENSG00000135298\"\n                              \"ENSEMBL:ENSG00000173698\"\n                              \"ENSEMBL:ENSG00000162618\"\n                              \"ENSEMBL:ENSG00000164199\"\n                              \"ENSEMBL:ENSG00000198221\"\n                              \"ENSEMBL:ENSG00000135439\"\n                              \"ENSEMBL:ENSG00000126878\"\n                              \"ENSEMBL:ENSG00000230042\"\n                              \"ENSEMBL:ENSG00000140057\"\n                              \"ENSEMBL:ENSG00000171094\"\n                              \"ENSEMBL:ENSG00000189292\"\n                              \"ENSEMBL:ENSG00000165566\"\n                              \"ENSEMBL:ENSG00000181754\"\n                              \"ENSEMBL:ENSG00000185046\"\n                              \"ENSEMBL:ENSG00000103723\"\n                              \"ENSEMBL:ENSG00000154856\"\n                              \"ENSEMBL:ENSG00000171388\"\n                              \"ENSEMBL:ENSG00000134817\"\n                              \"ENSEMBL:ENSG00000100336\"\n                              \"ENSEMBL:ENSG00000178878\"\n                              \"ENSEMBL:ENSG00000137727\"\n                              \"ENSEMBL:ENSG00000179361\"\n                              \"ENSEMBL:ENSG00000122644\"\n                              \"ENSEMBL:ENSG00000169126\"\n                              \"ENSEMBL:ENSG00000172379\"\n                              \"ENSEMBL:ENSG00000099889\"\n                              \"ENSEMBL:ENSG00000102048\"\n                              \"ENSEMBL:ENSG00000139352\"\n                              \"ENSEMBL:ENSG00000162174\"\n                              \"ENSEMBL:ENSG00000141431\"\n                              \"ENSEMBL:ENSG00000168874\"\n                              \"ENSEMBL:ENSG00000158321\"\n                              \"ENSEMBL:ENSG00000168646\"\n                              \"ENSEMBL:ENSG00000109956\"\n                              \"ENSEMBL:ENSG00000135454\"\n                              \"ENSEMBL:ENSG00000164929\"\n                              \"ENSEMBL:ENSG00000007516\"\n                              \"ENSEMBL:ENSG00000171791\"\n                              \"ENSEMBL:ENSG00000133169\"\n                              \"ENSEMBL:ENSG00000133134\"\n                              \"ENSEMBL:ENSG00000281406\"\n                              \"ENSEMBL:ENSG00000101144\"\n                              \"ENSEMBL:ENSG00000251079\"\n                              \"ENSEMBL:ENSG00000169594\"\n                              \"ENSEMBL:ENSG00000174672\"\n                              \"ENSEMBL:ENSG00000151136\"\n                              \"ENSEMBL:ENSG00000204347\"\n                              \"ENSEMBL:ENSG00000162817\"\n                              \"ENSEMBL:ENSG00000179902\"\n                              \"ENSEMBL:ENSG00000239887\"\n                              \"ENSEMBL:ENSG00000112539\"\n                              \"ENSEMBL:ENSG00000137434\"\n                              \"ENSEMBL:ENSG00000285312\"\n                              \"ENSEMBL:ENSG00000112936\"\n                              \"ENSEMBL:ENSG00000204711\"\n                              \"ENSEMBL:ENSG00000225626\"\n                              \"ENSEMBL:ENSG00000165118\"\n                              \"ENSEMBL:ENSG00000118298\"\n                              \"ENSEMBL:ENSG00000104267\"\n                              \"ENSEMBL:ENSG00000178538\"\n                              \"ENSEMBL:ENSG00000157782\"\n                              \"ENSEMBL:ENSG00000006283\"\n                              \"ENSEMBL:ENSG00000075461\"\n                              \"ENSEMBL:ENSG00000105605\"\n                              \"ENSEMBL:ENSG00000142408\"\n                              \"ENSEMBL:ENSG00000104327\"\n                              \"ENSEMBL:ENSG00000070808\"\n                              \"ENSEMBL:ENSG00000164076\"\n                              \"ENSEMBL:ENSG00000076826\"\n                              \"ENSEMBL:ENSG00000237436\"\n                              \"ENSEMBL:ENSG00000087589\"\n                              \"ENSEMBL:ENSG00000130940\"\n                              \"ENSEMBL:ENSG00000102924\"\n                              \"ENSEMBL:ENSG00000183287\"\n                              \"ENSEMBL:ENSG00000163081\"\n                              \"ENSEMBL:ENSG00000198003\"\n                              \"ENSEMBL:ENSG00000198865\"\n                              \"ENSEMBL:ENSG00000203952\"\n                              \"ENSEMBL:ENSG00000267909\"\n                              \"ENSEMBL:ENSG00000117477\"\n                              \"ENSEMBL:ENSG00000177875\"\n                              \"ENSEMBL:ENSG00000015133\"\n                              \"ENSEMBL:ENSG00000091972\"\n                              \"ENSEMBL:ENSG00000272398\"\n                              \"ENSEMBL:ENSG00000185275\"\n                              \"ENSEMBL:ENSG00000174059\"\n                              \"ENSEMBL:ENSG00000019582\"\n                              \"ENSEMBL:ENSG00000112149\"\n                              \"ENSEMBL:ENSG00000101542\"\n                              \"ENSEMBL:ENSG00000179776\"\n                              \"ENSEMBL:ENSG00000129596\"\n                              \"ENSEMBL:ENSG00000064309\"\n                              \"ENSEMBL:ENSG00000007129\"\n                              \"ENSEMBL:ENSG00000278565\"\n                              \"ENSEMBL:ENSG00000159409\"\n                              \"ENSEMBL:ENSG00000143126\"\n                              \"ENSEMBL:ENSG00000166582\"\n                              \"ENSEMBL:ENSG00000147869\"\n                              \"ENSEMBL:ENSG00000163075\"\n                              \"ENSEMBL:ENSG00000188596\"\n                              \"ENSEMBL:ENSG00000143375\"\n                              \"ENSEMBL:ENSG00000070748\"\n                              \"ENSEMBL:ENSG00000106153\"\n                              \"ENSEMBL:ENSG00000016391\"\n                              \"ENSEMBL:ENSG00000100604\"\n                              \"ENSEMBL:ENSG00000276781\"\n                              \"ENSEMBL:ENSG00000101938\"\n                              \"ENSEMBL:ENSG00000175344\"\n                              \"ENSEMBL:ENSG00000160716\"\n                              \"ENSEMBL:ENSG00000125931\"\n                              \"ENSEMBL:ENSG00000166165\"\n                              \"ENSEMBL:ENSG00000150048\"\n                              \"ENSEMBL:ENSG00000166509\"\n                              \"ENSEMBL:ENSG00000153132\"\n                              \"ENSEMBL:ENSG00000146352\"\n                              \"ENSEMBL:ENSG00000118432\"\n                              \"ENSEMBL:ENSG00000122756\"\n                              \"ENSEMBL:ENSG00000184144\"\n                              \"ENSEMBL:ENSG00000187955\"\n                              \"ENSEMBL:ENSG00000139219\"\n                              \"ENSEMBL:ENSG00000197565\"\n                              \"ENSEMBL:ENSG00000112280\"\n                              \"ENSEMBL:ENSG00000158270\"\n                              \"ENSEMBL:ENSG00000047457\"\n                              \"ENSEMBL:ENSG00000135678\"\n                              \"ENSEMBL:ENSG00000196353\"\n                              \"ENSEMBL:ENSG00000148204\"\n                              \"ENSEMBL:ENSG00000178662\"\n                              \"ENSEMBL:ENSG00000169862\"\n                              \"ENSEMBL:ENSG00000163131\"\n                              \"ENSEMBL:ENSG00000180891\"\n                              \"ENSEMBL:ENSG00000111249\"\n                              \"ENSEMBL:ENSG00000154639\"\n                              \"ENSEMBL:ENSG00000145824\"\n                              \"ENSEMBL:ENSG00000121966\"\n                              \"ENSEMBL:ENSG00000019186\"\n                              \"ENSEMBL:ENSG00000146233\"\n                              \"ENSEMBL:ENSG00000276644\"\n                              \"ENSEMBL:ENSG00000126733\"\n                              \"ENSEMBL:ENSG00000187323\"\n                              \"ENSEMBL:ENSG00000011465\"\n                              \"ENSEMBL:ENSG00000232093\"\n                              \"ENSEMBL:ENSG00000204580\"\n                              \"ENSEMBL:ENSG00000229767\"\n                              \"ENSEMBL:ENSG00000137332\"\n                              \"ENSEMBL:ENSG00000230456\"\n                              \"ENSEMBL:ENSG00000234078\"\n                              \"ENSEMBL:ENSG00000223680\"\n                              \"ENSEMBL:ENSG00000215522\"\n                              \"ENSEMBL:ENSG00000109832\"\n                              \"ENSEMBL:ENSG00000204624\"\n                              \"ENSEMBL:ENSG00000262001\"\n                              \"ENSEMBL:ENSG00000198719\"\n                              \"ENSEMBL:ENSG00000275555\"\n                              \"ENSEMBL:ENSG00000173253\"\n                              \"ENSEMBL:ENSG00000158856\"\n                              \"ENSEMBL:ENSG00000122735\"\n                              \"ENSEMBL:ENSG00000225808\"\n                              \"ENSEMBL:ENSG00000088538\"\n                              \"ENSEMBL:ENSG00000101134\"\n                              \"ENSEMBL:ENSG00000175497\"\n                              \"ENSEMBL:ENSG00000121570\"\n                              \"ENSEMBL:ENSG00000157851\"\n                              \"ENSEMBL:ENSG00000162490\"\n                              \"ENSEMBL:ENSG00000110042\"\n                              \"ENSEMBL:ENSG00000133878\"\n                              \"ENSEMBL:ENSG00000120875\"\n                              \"ENSEMBL:ENSG00000264364\"\n                              \"ENSEMBL:ENSG00000007968\"\n                              \"ENSEMBL:ENSG00000282899\"\n                              \"ENSEMBL:ENSG00000129173\"\n                              \"ENSEMBL:ENSG00000136160\"\n                              \"ENSEMBL:ENSG00000114654\"\n                              \"ENSEMBL:ENSG00000108947\"\n                              \"ENSEMBL:ENSG00000138798\"\n                              \"ENSEMBL:ENSG00000206120\"\n                              \"ENSEMBL:ENSG00000198759\"\n                              \"ENSEMBL:ENSG00000164318\"\n                              \"ENSEMBL:ENSG00000196361\"\n                              \"ENSEMBL:ENSG00000186998\"\n                              \"ENSEMBL:ENSG00000183798\"\n                              \"ENSEMBL:ENSG00000163064\"\n                              \"ENSEMBL:ENSG00000164778\"\n                              \"ENSEMBL:ENSG00000168913\"\n                              \"ENSEMBL:ENSG00000151023\"\n                              \"ENSEMBL:ENSG00000136960\"\n                              \"ENSEMBL:ENSG00000159023\"\n                              \"ENSEMBL:ENSG00000129595\"\n                              \"ENSEMBL:ENSG00000234690\"\n                              \"ENSEMBL:ENSG00000229153\"\n                              \"ENSEMBL:ENSG00000285468\"\n                              \"ENSEMBL:ENSG00000154928\"\n                              \"ENSEMBL:ENSG00000178568\"\n                              \"ENSEMBL:ENSG00000149564\"\n                              \"ENSEMBL:ENSG00000092820\"\n                              \"ENSEMBL:ENSG00000158769\"\n                              \"ENSEMBL:ENSG00000164434\"\n                              \"ENSEMBL:ENSG00000184731\"\n                              \"ENSEMBL:ENSG00000121104\"\n                              \"ENSEMBL:ENSG00000150510\"\n                              \"ENSEMBL:ENSG00000130054\"\n                              \"ENSEMBL:ENSG00000154319\"\n                              \"ENSEMBL:ENSG00000185442\"\n                              \"ENSEMBL:ENSG00000140067\"\n                              \"ENSEMBL:ENSG00000273533\"\n                              \"ENSEMBL:ENSG00000258584\"\n                              \"ENSEMBL:ENSG00000281032\"\n                              \"ENSEMBL:ENSG00000111879\"\n                              \"ENSEMBL:ENSG00000104059\"\n                              \"ENSEMBL:ENSG00000273564\"\n                              \"ENSEMBL:ENSG00000188732\"\n                              \"ENSEMBL:ENSG00000084444\"\n                              \"ENSEMBL:ENSG00000283329\"\n                              \"ENSEMBL:ENSG00000166492\"\n                              \"ENSEMBL:ENSG00000144152\"\n                              \"ENSEMBL:ENSG00000130475\"\n                              \"ENSEMBL:ENSG00000214814\"\n                              \"ENSEMBL:ENSG00000149557\"\n                              \"ENSEMBL:ENSG00000114279\"\n                              \"ENSEMBL:ENSG00000102466\"\n                              \"ENSEMBL:ENSG00000174721\"\n                              \"ENSEMBL:ENSG00000261308\"\n                              \"ENSEMBL:ENSG00000155816\"\n                              \"ENSEMBL:ENSG00000122176\"\n                              \"ENSEMBL:ENSG00000171956\"\n                              \"ENSEMBL:ENSG00000129654\"\n                              \"ENSEMBL:ENSG00000206262\"\n                              \"ENSEMBL:ENSG00000164946\"\n                              \"ENSEMBL:ENSG00000150893\"\n                              \"ENSEMBL:ENSG00000172159\"\n                              \"ENSEMBL:ENSG00000114541\"\n                              \"ENSEMBL:ENSG00000147234\"\n                              \"ENSEMBL:ENSG00000188738\"\n                              \"ENSEMBL:ENSG00000134363\"\n                              \"ENSEMBL:ENSG00000172461\"\n                              \"ENSEMBL:ENSG00000104290\"\n                              \"ENSEMBL:ENSG00000166206\"\n                              \"ENSEMBL:ENSG00000268089\"\n                              \"ENSEMBL:ENSG00000175229\"\n                              \"ENSEMBL:ENSG00000119514\"\n                              \"ENSEMBL:ENSG00000171766\"\n                              \"ENSEMBL:ENSG00000168505\"\n                              \"ENSEMBL:ENSG00000111846\"\n                              \"ENSEMBL:ENSG00000285222\"\n                              \"ENSEMBL:ENSG00000184344\"\n                              \"ENSEMBL:ENSG00000130055\"\n                              \"ENSEMBL:ENSG00000228175\"\n                              \"ENSEMBL:ENSG00000165113\"\n                              \"ENSEMBL:ENSG00000178445\"\n                              \"ENSEMBL:ENSG00000242797\"\n                              \"ENSEMBL:ENSG00000087258\"\n                              \"ENSEMBL:ENSG00000128266\"\n                              \"ENSEMBL:ENSG00000168243\"\n                              \"ENSEMBL:ENSG00000282972\"\n                              \"ENSEMBL:ENSG00000238105\"\n                              \"ENSEMBL:ENSG00000150625\"\n                              \"ENSEMBL:ENSG00000046653\"\n                              \"ENSEMBL:ENSG00000183150\"\n                              \"ENSEMBL:ENSG00000164604\"\n                              \"ENSEMBL:ENSG00000211445\"\n                              \"ENSEMBL:ENSG00000141449\"\n                              \"ENSEMBL:ENSG00000158055\"\n                              \"ENSEMBL:ENSG00000155511\"\n                              \"ENSEMBL:ENSG00000152208\"\n                              \"ENSEMBL:ENSG00000273079\"\n                              \"ENSEMBL:ENSG00000198822\"\n                              \"ENSEMBL:ENSG00000144366\"\n                              \"ENSEMBL:ENSG00000145649\"\n                              \"ENSEMBL:ENSG00000173805\"\n                              \"ENSEMBL:ENSG00000170961\"\n                              \"ENSEMBL:ENSG00000143630\"\n                              \"ENSEMBL:ENSG00000263324\"\n                              \"ENSEMBL:ENSG00000138622\"\n                              \"ENSEMBL:ENSG00000138646\"\n                              \"ENSEMBL:ENSG00000144485\"\n                              \"ENSEMBL:ENSG00000112972\"\n                              \"ENSEMBL:ENSG00000134709\"\n                              \"ENSEMBL:ENSG00000120094\"\n                              \"ENSEMBL:ENSG00000120068\"\n                              \"ENSEMBL:ENSG00000170689\"\n                              \"ENSEMBL:ENSG00000180806\"\n                              \"ENSEMBL:ENSG00000116983\"\n                              \"ENSEMBL:ENSG00000002587\"\n                              \"ENSEMBL:ENSG00000182601\"\n                              \"ENSEMBL:ENSG00000185352\"\n                              \"ENSEMBL:ENSG00000176387\"\n                              \"ENSEMBL:ENSG00000164070\"\n                              \"ENSEMBL:ENSG00000168830\"\n                              \"ENSEMBL:ENSG00000157423\"\n                              \"ENSEMBL:ENSG00000283022\"\n                              \"ENSEMBL:ENSG00000090339\"\n                              \"ENSEMBL:ENSG00000174498\"\n                              \"ENSEMBL:ENSG00000137142\"\n                              \"ENSEMBL:ENSG00000085552\"\n                              \"ENSEMBL:ENSG00000185811\"\n                              \"ENSEMBL:ENSG00000123496\"\n                              \"ENSEMBL:ENSG00000144730\"\n                              \"ENSEMBL:ENSG00000160712\"\n                              \"ENSEMBL:ENSG00000143195\"\n                              \"ENSEMBL:ENSG00000148798\"\n                              \"ENSEMBL:ENSG00000163362\"\n                              \"ENSEMBL:ENSG00000161896\"\n                              \"ENSEMBL:ENSG00000269837\"\n                              \"ENSEMBL:ENSG00000177508\"\n                              \"ENSEMBL:ENSG00000176842\"\n                              \"ENSEMBL:ENSG00000101230\"\n                              \"ENSEMBL:ENSG00000164171\"\n                              \"ENSEMBL:ENSG00000135424\"\n                              \"ENSEMBL:ENSG00000144668\"\n                              \"ENSEMBL:ENSG00000105855\"\n                              \"ENSEMBL:ENSG00000078596\"\n                              \"ENSEMBL:ENSG00000180347\"\n                              \"ENSEMBL:ENSG00000280780\"\n                              \"ENSEMBL:ENSG00000154721\"\n                              \"ENSEMBL:ENSG00000111262\"\n                              \"ENSEMBL:ENSG00000129159\"\n                              \"ENSEMBL:ENSG00000234233\"\n                              \"ENSEMBL:ENSG00000082482\"\n                              \"ENSEMBL:ENSG00000075043\"\n                              \"ENSEMBL:ENSG00000281151\"\n                              \"ENSEMBL:ENSG00000128052\"\n                              \"ENSEMBL:ENSG00000165185\"\n                              \"ENSEMBL:ENSG00000130294\"\n                              \"ENSEMBL:ENSG00000139116\"\n                              \"ENSEMBL:ENSG00000168280\"\n                              \"ENSEMBL:ENSG00000276734\"\n                              \"ENSEMBL:ENSG00000126259\"\n                              \"ENSEMBL:ENSG00000163884\"\n                              \"ENSEMBL:ENSG00000231160\"\n                              \"ENSEMBL:ENSG00000162755\"\n                              \"ENSEMBL:ENSG00000213160\"\n                              \"ENSEMBL:ENSG00000122550\"\n                              \"ENSEMBL:ENSG00000230658\"\n                              \"ENSEMBL:ENSG00000154655\"\n                              \"ENSEMBL:ENSG00000101680\"\n                              \"ENSEMBL:ENSG00000078081\"\n                              \"ENSEMBL:ENSG00000119862\"\n                              \"ENSEMBL:ENSG00000153012\"\n                              \"ENSEMBL:ENSG00000064042\"\n                              \"ENSEMBL:ENSG00000131914\"\n                              \"ENSEMBL:ENSG00000245526\"\n                              \"ENSEMBL:ENSG00000233237\"\n                              \"ENSEMBL:ENSG00000214381\"\n                              \"ENSEMBL:ENSG00000277147\"\n                              \"ENSEMBL:ENSG00000259134\"\n                              \"ENSEMBL:ENSG00000261455\"\n                              \"ENSEMBL:ENSG00000244041\"\n                              \"ENSEMBL:ENSG00000260343\"\n                              \"ENSEMBL:ENSG00000282706\"\n                              \"ENSEMBL:ENSG00000229743\"\n                              \"ENSEMBL:ENSG00000280744\"\n                              \"ENSEMBL:ENSG00000248441\"\n                              \"ENSEMBL:ENSG00000269416\"\n                              \"ENSEMBL:ENSG00000229891\"\n                              \"ENSEMBL:ENSG00000270164\"\n                              \"ENSEMBL:ENSG00000280540\"\n                              \"ENSEMBL:ENSG00000228459\"\n                              \"ENSEMBL:ENSG00000180869\"\n                              \"ENSEMBL:ENSG00000233684\"\n                              \"ENSEMBL:ENSG00000264345\"\n                              \"ENSEMBL:ENSG00000228271\"\n                              \"ENSEMBL:ENSG00000257986\"\n                              \"ENSEMBL:ENSG00000203688\"\n                              \"ENSEMBL:ENSG00000248869\"\n                              \"ENSEMBL:ENSG00000230269\"\n                              \"ENSEMBL:ENSG00000272549\"\n                              \"ENSEMBL:ENSG00000101670\"\n                              \"ENSEMBL:ENSG00000175445\"\n                              \"ENSEMBL:ENSG00000121207\"\n                              \"ENSEMBL:ENSG00000081479\"\n                              \"ENSEMBL:ENSG00000204950\"\n                              \"ENSEMBL:ENSG00000179796\"\n                              \"ENSEMBL:ENSG00000128594\"\n                              \"ENSEMBL:ENSG00000183908\"\n                              \"ENSEMBL:ENSG00000181350\"\n                              \"ENSEMBL:ENSG00000131951\"\n                              \"ENSEMBL:ENSG00000146006\"\n                              \"ENSEMBL:ENSG00000198739\"\n                              \"ENSEMBL:ENSG00000176204\"\n                              \"ENSEMBL:ENSG00000105699\"\n                              \"ENSEMBL:ENSG00000176956\"\n                              \"ENSEMBL:ENSG00000274488\"\n                              \"ENSEMBL:ENSG00000147676\"\n                              \"ENSEMBL:ENSG00000197769\"\n                              \"ENSEMBL:ENSG00000171533\"\n                              \"ENSEMBL:ENSG00000109339\"\n                              \"ENSEMBL:ENSG00000116141\"\n                              \"ENSEMBL:ENSG00000132031\"\n                              \"ENSEMBL:ENSG00000053524\"\n                              \"ENSEMBL:ENSG00000198948\"\n                              \"ENSEMBL:ENSG00000138111\"\n                              \"ENSEMBL:ENSG00000071073\"\n                              \"ENSEMBL:ENSG00000167889\"\n                              \"ENSEMBL:ENSG00000225783\"\n                              \"ENSEMBL:ENSG00000254377\"\n                              \"ENSEMBL:ENSG00000199036\"\n                              \"ENSEMBL:ENSG00000215386\"\n                              \"ENSEMBL:ENSG00000141854\"\n                              \"ENSEMBL:ENSG00000288191\"\n                              \"ENSEMBL:ENSG00000100427\"\n                              \"ENSEMBL:ENSG00000108960\"\n                              \"ENSEMBL:ENSG00000100985\"\n                              \"ENSEMBL:ENSG00000138722\"\n                              \"ENSEMBL:ENSG00000120162\"\n                              \"ENSEMBL:ENSG00000135097\"\n                              \"ENSEMBL:ENSG00000170873\"\n                              \"ENSEMBL:ENSG00000138823\"\n                              \"ENSEMBL:ENSG00000129422\"\n                              \"ENSEMBL:ENSG00000205277\"\n                              \"ENSEMBL:ENSG00000116990\"\n                              \"ENSEMBL:ENSG00000134323\"\n                              \"ENSEMBL:ENSG00000233718\"\n                              \"ENSEMBL:ENSG00000041515\"\n                              \"ENSEMBL:ENSG00000095777\"\n                              \"ENSEMBL:ENSG00000128833\"\n                              \"ENSEMBL:ENSG00000145911\"\n                              \"ENSEMBL:ENSG00000186462\"\n                              \"ENSEMBL:ENSG00000185818\"\n                              \"ENSEMBL:ENSG00000104490\"\n                              \"ENSEMBL:ENSG00000130287\"\n                              \"ENSEMBL:ENSG00000124479\"\n                              \"ENSEMBL:ENSG00000078114\"\n                              \"ENSEMBL:ENSG00000103154\"\n                              \"ENSEMBL:ENSG00000277586\"\n                              \"ENSEMBL:ENSG00000104722\"\n                              \"ENSEMBL:ENSG00000184613\"\n                              \"ENSEMBL:ENSG00000166342\"\n                              \"ENSEMBL:ENSG00000107954\"\n                              \"ENSEMBL:ENSG00000163531\"\n                              \"ENSEMBL:ENSG00000066248\"\n                              \"ENSEMBL:ENSG00000145506\"\n                              \"ENSEMBL:ENSG00000276920\"\n                              \"ENSEMBL:ENSG00000196338\"\n                              \"ENSEMBL:ENSG00000157064\"\n                              \"ENSEMBL:ENSG00000109255\"\n                              \"ENSEMBL:ENSG00000101746\"\n                              \"ENSEMBL:ENSG00000198929\"\n                              \"ENSEMBL:ENSG00000007171\"\n                              \"ENSEMBL:ENSG00000204301\"\n                              \"ENSEMBL:ENSG00000238196\"\n                              \"ENSEMBL:ENSG00000235396\"\n                              \"ENSEMBL:ENSG00000232339\"\n                              \"ENSEMBL:ENSG00000223355\"\n                              \"ENSEMBL:ENSG00000206312\"\n                              \"ENSEMBL:ENSG00000234876\"\n                              \"ENSEMBL:ENSG00000139910\"\n                              \"ENSEMBL:ENSG00000104967\"\n                              \"ENSEMBL:ENSG00000151322\"\n                              \"ENSEMBL:ENSG00000169418\"\n                              \"ENSEMBL:ENSG00000106236\"\n                              \"ENSEMBL:ENSG00000119508\"\n                              \"ENSEMBL:ENSG00000091129\"\n                              \"ENSEMBL:ENSG00000154146\"\n                              \"ENSEMBL:ENSG00000021645\"\n                              \"ENSEMBL:ENSG00000198400\"\n                              \"ENSEMBL:ENSG00000148053\"\n                              \"ENSEMBL:ENSG00000140876\"\n                              \"ENSEMBL:ENSG00000132182\"\n                              \"ENSEMBL:ENSG00000198088\"\n                              \"ENSEMBL:ENSG00000174145\"\n                              \"ENSEMBL:ENSG00000197822\"\n                              \"ENSEMBL:ENSG00000273814\"\n                              \"ENSEMBL:ENSG00000149635\"\n                              \"ENSEMBL:ENSG00000115758\"\n                              \"ENSEMBL:ENSG00000197444\"\n                              \"ENSEMBL:ENSG00000177468\"\n                              \"ENSEMBL:ENSG00000082556\"\n                              \"ENSEMBL:ENSG00000085840\"\n                              \"ENSEMBL:ENSG00000257950\"\n                              \"ENSEMBL:ENSG00000233639\"\n                              \"ENSEMBL:ENSG00000124171\"\n                              \"ENSEMBL:ENSG00000135903\"\n                              \"ENSEMBL:ENSG00000007372\"\n                              \"ENSEMBL:ENSG00000125618\"\n                              \"ENSEMBL:ENSG00000189223\"\n                              \"ENSEMBL:ENSG00000238197\"\n                              \"ENSEMBL:ENSG00000280623\"\n                              \"ENSEMBL:ENSG00000251321\"\n                              \"ENSEMBL:ENSG00000102290\"\n                              \"ENSEMBL:ENSG00000099715\"\n                              \"ENSEMBL:ENSG00000150275\"\n                              \"ENSEMBL:ENSG00000136099\"\n                              \"ENSEMBL:ENSG00000250120\"\n                              \"ENSEMBL:ENSG00000255408\"\n                              \"ENSEMBL:ENSG00000113248\"\n                              \"ENSEMBL:ENSG00000113209\"\n                              \"ENSEMBL:ENSG00000253873\"\n                              \"ENSEMBL:ENSG00000253731\"\n                              \"ENSEMBL:ENSG00000253953\"\n                              \"ENSEMBL:ENSG00000169174\"\n                              \"ENSEMBL:ENSG00000115252\"\n                              \"ENSEMBL:ENSG00000123360\"\n                              \"ENSEMBL:ENSG00000152270\"\n                              \"ENSEMBL:ENSG00000184588\"\n                              \"ENSEMBL:ENSG00000162493\"\n                              \"ENSEMBL:ENSG00000242265\"\n                              \"ENSEMBL:ENSG00000139946\"\n                              \"ENSEMBL:ENSG00000181195\"\n                              \"ENSEMBL:ENSG00000177614\"\n                              \"ENSEMBL:ENSG00000130517\"\n                              \"ENSEMBL:ENSG00000056487\"\n                              \"ENSEMBL:ENSG00000168490\"\n                              \"ENSEMBL:ENSG00000107242\"\n                              \"ENSEMBL:ENSG00000179761\"\n                              \"ENSEMBL:ENSG00000087842\"\n                              \"ENSEMBL:ENSG00000166473\"\n                              \"ENSEMBL:ENSG00000057294\"\n                              \"ENSEMBL:ENSG00000100078\"\n                              \"ENSEMBL:ENSG00000122861\"\n                              \"ENSEMBL:ENSG00000114805\"\n                              \"ENSEMBL:ENSG00000154822\"\n                              \"ENSEMBL:ENSG00000284017\"\n                              \"ENSEMBL:ENSG00000180287\"\n                              \"ENSEMBL:ENSG00000166689\"\n                              \"ENSEMBL:ENSG00000120278\"\n                              \"ENSEMBL:ENSG00000008323\"\n                              \"ENSEMBL:ENSG00000117598\"\n                              \"ENSEMBL:ENSG00000136040\"\n                              \"ENSEMBL:ENSG00000240694\"\n                              \"ENSEMBL:ENSG00000277531\"\n                              \"ENSEMBL:ENSG00000128567\"\n                              \"ENSEMBL:ENSG00000184486\"\n                              \"ENSEMBL:ENSG00000198914\"\n                              \"ENSEMBL:ENSG00000196767\"\n                              \"ENSEMBL:ENSG00000106536\"\n                              \"ENSEMBL:ENSG00000175175\"\n                              \"ENSEMBL:ENSG00000163590\"\n                              \"ENSEMBL:ENSG00000198729\"\n                              \"ENSEMBL:ENSG00000101445\"\n                              \"ENSEMBL:ENSG00000135447\"\n                              \"ENSEMBL:ENSG00000158528\"\n                              \"ENSEMBL:ENSG00000156475\"\n                              \"ENSEMBL:ENSG00000119698\"\n                              \"ENSEMBL:ENSG00000278326\"\n                              \"ENSEMBL:ENSG00000057657\"\n                              \"ENSEMBL:ENSG00000112238\"\n                              \"ENSEMBL:ENSG00000152784\"\n                              \"ENSEMBL:ENSG00000188783\"\n                              \"ENSEMBL:ENSG00000124126\"\n                              \"ENSEMBL:ENSG00000046889\"\n                              \"ENSEMBL:ENSG00000116690\"\n                              \"ENSEMBL:ENSG00000162409\"\n                              \"ENSEMBL:ENSG00000126583\"\n                              \"ENSEMBL:ENSG00000007062\"\n                              \"ENSEMBL:ENSG00000117707\"\n                              \"ENSEMBL:ENSG00000183248\"\n                              \"ENSEMBL:ENSG00000130032\"\n                              \"ENSEMBL:ENSG00000112812\"\n                              \"ENSEMBL:ENSG00000166450\"\n                              \"ENSEMBL:ENSG00000225706\"\n                              \"ENSEMBL:ENSG00000106278\"\n                              \"ENSEMBL:ENSG00000250337\"\n                              \"ENSEMBL:ENSG00000179331\"\n                              \"ENSEMBL:ENSG00000152932\"\n                              \"ENSEMBL:ENSG00000127328\"\n                              \"ENSEMBL:ENSG00000218358\"\n                              \"ENSEMBL:ENSG00000131831\"\n                              \"ENSEMBL:ENSG00000091428\"\n                              \"ENSEMBL:ENSG00000136237\"\n                              \"ENSEMBL:ENSG00000106538\"\n                              \"ENSEMBL:ENSG00000172575\"\n                              \"ENSEMBL:ENSG00000101265\"\n                              \"ENSEMBL:ENSG00000203867\"\n                              \"ENSEMBL:ENSG00000167771\"\n                              \"ENSEMBL:ENSG00000198771\"\n                              \"ENSEMBL:ENSG00000121039\"\n                              \"ENSEMBL:ENSG00000165731\"\n                              \"ENSEMBL:ENSG00000178882\"\n                              \"ENSEMBL:ENSG00000080298\"\n                              \"ENSEMBL:ENSG00000111783\"\n                              \"ENSEMBL:ENSG00000102760\"\n                              \"ENSEMBL:ENSG00000147509\"\n                              \"ENSEMBL:ENSG00000182732\"\n                              \"ENSEMBL:ENSG00000141314\"\n                              \"ENSEMBL:ENSG00000131941\"\n                              \"ENSEMBL:ENSG00000166405\"\n                              \"ENSEMBL:ENSG00000101098\"\n                              \"ENSEMBL:ENSG00000255794\"\n                              \"ENSEMBL:ENSG00000172602\"\n                              \"ENSEMBL:ENSG00000108830\"\n                              \"ENSEMBL:ENSG00000267128\"\n                              \"ENSEMBL:ENSG00000141622\"\n                              \"ENSEMBL:ENSG00000180537\"\n                              \"ENSEMBL:ENSG00000108375\"\n                              \"ENSEMBL:ENSG00000243742\"\n                              \"ENSEMBL:ENSG00000241370\"\n                              \"ENSEMBL:ENSG00000241779\"\n                              \"ENSEMBL:ENSG00000241863\"\n                              \"ENSEMBL:ENSG00000243009\"\n                              \"ENSEMBL:ENSG00000239865\"\n                              \"ENSEMBL:ENSG00000242726\"\n                              \"ENSEMBL:ENSG00000239927\"\n                              \"ENSEMBL:ENSG00000177519\"\n                              \"ENSEMBL:ENSG00000072133\"\n                              \"ENSEMBL:ENSG00000198208\"\n                              \"ENSEMBL:ENSG00000025039\"\n                              \"ENSEMBL:ENSG00000111834\"\n                              \"ENSEMBL:ENSG00000182010\"\n                              \"ENSEMBL:ENSG00000139970\"\n                              \"ENSEMBL:ENSG00000103449\"\n                              \"ENSEMBL:ENSG00000165821\"\n                              \"ENSEMBL:ENSG00000177570\"\n                              \"ENSEMBL:ENSG00000145284\"\n                              \"ENSEMBL:ENSG00000226549\"\n                              \"ENSEMBL:ENSG00000153253\"\n                              \"ENSEMBL:ENSG00000166257\"\n                              \"ENSEMBL:ENSG00000175356\"\n                              \"ENSEMBL:ENSG00000007908\"\n                              \"ENSEMBL:ENSG00000250722\"\n                              \"ENSEMBL:ENSG00000153993\"\n                              \"ENSEMBL:ENSG00000082684\"\n                              \"ENSEMBL:ENSG00000188488\"\n                              \"ENSEMBL:ENSG00000063015\"\n                              \"ENSEMBL:ENSG00000163935\"\n                              \"ENSEMBL:ENSG00000145423\"\n                              \"ENSEMBL:ENSG00000189410\"\n                              \"ENSEMBL:ENSG00000140600\"\n                              \"ENSEMBL:ENSG00000162105\"\n                              \"ENSEMBL:ENSG00000148082\"\n                              \"ENSEMBL:ENSG00000187902\"\n                              \"ENSEMBL:ENSG00000237515\"\n                              \"ENSEMBL:ENSG00000138944\"\n                              \"ENSEMBL:ENSG00000180592\"\n                              \"ENSEMBL:ENSG00000139737\"\n                              \"ENSEMBL:ENSG00000158296\"\n                              \"ENSEMBL:ENSG00000163053\"\n                              \"ENSEMBL:ENSG00000108932\"\n                              \"ENSEMBL:ENSG00000036565\"\n                              \"ENSEMBL:ENSG00000187714\"\n                              \"ENSEMBL:ENSG00000110436\"\n                              \"ENSEMBL:ENSG00000105143\"\n                              \"ENSEMBL:ENSG00000137266\"\n                              \"ENSEMBL:ENSG00000235064\"\n                              \"ENSEMBL:ENSG00000173262\"\n                              \"ENSEMBL:ENSG00000181856\"\n                              \"ENSEMBL:ENSG00000288174\"\n                              \"ENSEMBL:ENSG00000196376\"\n                              \"ENSEMBL:ENSG00000050438\"\n                              \"ENSEMBL:ENSG00000157103\"\n                              \"ENSEMBL:ENSG00000165349\"\n                              \"ENSEMBL:ENSG00000092068\"\n                              \"ENSEMBL:ENSG00000100678\"\n                              \"ENSEMBL:ENSG00000137491\"\n                              \"ENSEMBL:ENSG00000154760\"\n                              \"ENSEMBL:ENSG00000187122\"\n                              \"ENSEMBL:ENSG00000086300\"\n                              \"ENSEMBL:ENSG00000171243\"\n                              \"ENSEMBL:ENSG00000182968\"\n                              \"ENSEMBL:ENSG00000143842\"\n                              \"ENSEMBL:ENSG00000181449\"\n                              \"ENSEMBL:ENSG00000242808\"\n                              \"ENSEMBL:ENSG00000125285\"\n                              \"ENSEMBL:ENSG00000227640\"\n                              \"ENSEMBL:ENSG00000134595\"\n                              \"ENSEMBL:ENSG00000217236\"\n                              \"ENSEMBL:ENSG00000104450\"\n                              \"ENSEMBL:ENSG00000182957\"\n                              \"ENSEMBL:ENSG00000171722\"\n                              \"ENSEMBL:ENSG00000107742\"\n                              \"ENSEMBL:ENSG00000262655\"\n                              \"ENSEMBL:ENSG00000196220\"\n                              \"ENSEMBL:ENSG00000125046\"\n                              \"ENSEMBL:ENSG00000184005\"\n                              \"ENSEMBL:ENSG00000140557\"\n                              \"ENSEMBL:ENSG00000113532\"\n                              \"ENSEMBL:ENSG00000130413\"\n                              \"ENSEMBL:ENSG00000015592\"\n                              \"ENSEMBL:ENSG00000068781\"\n                              \"ENSEMBL:ENSG00000140022\"\n                              \"ENSEMBL:ENSG00000165730\"\n                              \"ENSEMBL:ENSG00000173320\"\n                              \"ENSEMBL:ENSG00000145087\"\n                              \"ENSEMBL:ENSG00000122012\"\n                              \"ENSEMBL:ENSG00000110975\"\n                              \"ENSEMBL:ENSG00000143858\"\n                              \"ENSEMBL:ENSG00000134207\"\n                              \"ENSEMBL:ENSG00000011347\"\n                              \"ENSEMBL:ENSG00000144834\"\n                              \"ENSEMBL:ENSG00000176907\"\n                              \"ENSEMBL:ENSG00000092850\"\n                              \"ENSEMBL:ENSG00000158246\"\n                              \"ENSEMBL:ENSG00000087510\"\n                              \"ENSEMBL:ENSG00000105825\"\n                              \"ENSEMBL:ENSG00000129028\"\n                              \"ENSEMBL:ENSG00000151090\"\n                              \"ENSEMBL:ENSG00000144229\"\n                              \"ENSEMBL:ENSG00000173825\"\n                              \"ENSEMBL:ENSG00000169989\"\n                              \"ENSEMBL:ENSG00000100234\"\n                              \"ENSEMBL:ENSG00000007350\"\n                              \"ENSEMBL:ENSG00000163762\"\n                              \"ENSEMBL:ENSG00000149809\"\n                              \"ENSEMBL:ENSG00000167619\"\n                              \"ENSEMBL:ENSG00000249242\"\n                              \"ENSEMBL:ENSG00000178233\"\n                              \"ENSEMBL:ENSG00000205269\"\n                              \"ENSEMBL:ENSG00000206432\"\n                              \"ENSEMBL:ENSG00000125355\"\n                              \"ENSEMBL:ENSG00000147027\"\n                              \"ENSEMBL:ENSG00000125895\"\n                              \"ENSEMBL:ENSG00000167874\"\n                              \"ENSEMBL:ENSG00000176040\"\n                              \"ENSEMBL:ENSG00000158164\"\n                              \"ENSEMBL:ENSG00000123610\"\n                              \"ENSEMBL:ENSG00000164761\"\n                              \"ENSEMBL:ENSG00000049249\"\n                              \"ENSEMBL:ENSG00000103460\"\n                              \"ENSEMBL:ENSG00000146242\"\n                              \"ENSEMBL:ENSG00000283085\"\n                              \"ENSEMBL:ENSG00000134253\"\n                              \"ENSEMBL:ENSG00000206557\"\n                              \"ENSEMBL:ENSG00000083067\"\n                              \"ENSEMBL:ENSG00000167723\"\n                              \"ENSEMBL:ENSG00000106025\"\n                              \"ENSEMBL:ENSG00000158457\"\n                              \"ENSEMBL:ENSG00000223756\"\n                              \"ENSEMBL:ENSG00000205838\"\n                              \"ENSEMBL:ENSG00000170703\"\n                              \"ENSEMBL:ENSG00000167614\"\n                              \"ENSEMBL:ENSG00000276537\"\n                              \"ENSEMBL:ENSG00000276887\"\n                              \"ENSEMBL:ENSG00000275650\"\n                              \"ENSEMBL:ENSG00000137285\"\n                              \"ENSEMBL:ENSG00000250366\"\n                              \"ENSEMBL:ENSG00000176912\"\n                              \"ENSEMBL:ENSG00000168671\"\n                              \"ENSEMBL:ENSG00000136014\"\n                              \"ENSEMBL:ENSG00000162738\"\n                              \"ENSEMBL:ENSG00000171724\"\n                              \"ENSEMBL:ENSG00000134215\"\n                              \"ENSEMBL:ENSG00000136451\"\n                              \"ENSEMBL:ENSG00000128564\"\n                              \"ENSEMBL:ENSG00000169085\"\n                              \"ENSEMBL:ENSG00000166483\"\n                              \"ENSEMBL:ENSG00000127578\"\n                              \"ENSEMBL:ENSG00000165238\"\n                              \"ENSEMBL:ENSG00000169884\"\n                              \"ENSEMBL:ENSG00000002745\"\n                              \"ENSEMBL:ENSG00000108379\"\n                              \"ENSEMBL:ENSG00000277626\"\n                              \"ENSEMBL:ENSG00000277641\"\n                              \"ENSEMBL:ENSG00000154342\"\n                              \"ENSEMBL:ENSG00000162552\"\n                              \"ENSEMBL:ENSG00000179314\"\n                              \"ENSEMBL:ENSG00000113645\"\n                              \"ENSEMBL:ENSG00000206579\"\n                              \"ENSEMBL:ENSG00000122121\"\n                              \"ENSEMBL:ENSG00000166793\"\n                              \"ENSEMBL:ENSG00000109906\"\n                              \"ENSEMBL:ENSG00000119703\"\n                              \"ENSEMBL:ENSG00000177108\"\n                              \"ENSEMBL:ENSG00000136367\"\n                              \"ENSEMBL:ENSG00000152977\"\n                              \"ENSEMBL:ENSG00000043355\"\n                              \"ENSEMBL:ENSG00000156925\"\n                              \"ENSEMBL:ENSG00000174963\"\n                              \"ENSEMBL:ENSG00000139800\"\n                              \"ENSEMBL:ENSG00000171649\"\n                              \"ENSEMBL:ENSG00000165061\"\n                              \"ENSEMBL:ENSG00000131849\"\n                              \"ENSEMBL:ENSG00000197279\"\n                              \"ENSEMBL:ENSG00000187595\"\n                              \"ENSEMBL:ENSG00000186496\"\n                              \"ENSEMBL:ENSG00000180855\"\n                              \"ENSEMBL:ENSG00000196653\"\n                              \"ENSEMBL:ENSG00000281448\"\n                              \"ENSEMBL:ENSG00000237149\"\n                              \"ENSEMBL:ENSG00000198795\"\n                              \"ENSEMBL:ENSG00000167555\"\n                              \"ENSEMBL:ENSG00000269834\"\n                              \"ENSEMBL:ENSG00000198597\"\n                              \"ENSEMBL:ENSG00000198028\"\n                              \"ENSEMBL:ENSG00000180626\"\n                              \"ENSEMBL:ENSG00000177842\"\n                              \"ENSEMBL:ENSG00000197472\"\n                              \"ENSEMBL:ENSG00000196081\"\n                              \"ENSEMBL:ENSG00000213967\"\n                              \"ENSEMBL:ENSG00000197128\"\n                              \"ENSEMBL:ENSG00000196466\"\n                              \"ENSEMBL:ENSG00000180233\"\n                              \"ENSEMBL:ENSG00000183579\"\n                              \"ENSEMBL:ENSG00000162415\"))\n\n(define NGLY1-underexpressed '(\"ENSEMBL:ENSG00000128274\"\n                               \"ENSEMBL:ENSG00000173210\"\n                               \"ENSEMBL:ENSG00000157766\"\n                               \"ENSEMBL:ENSG00000144476\"\n                               \"ENSEMBL:ENSG00000102575\"\n                               \"ENSEMBL:ENSG00000005187\"\n                               \"ENSEMBL:ENSG00000107796\"\n                               \"ENSEMBL:ENSG00000180139\"\n                               \"ENSEMBL:ENSG00000169067\"\n                               \"ENSEMBL:ENSG00000159251\"\n                               \"ENSEMBL:ENSG00000145536\"\n                               \"ENSEMBL:ENSG00000140873\"\n                               \"ENSEMBL:ENSG00000154736\"\n                               \"ENSEMBL:ENSG00000049192\"\n                               \"ENSEMBL:ENSG00000121281\"\n                               \"ENSEMBL:ENSG00000020181\"\n                               \"ENSEMBL:ENSG00000272734\"\n                               \"ENSEMBL:ENSG00000120907\"\n                               \"ENSEMBL:ENSG00000171873\"\n                               \"ENSEMBL:ENSG00000150594\"\n                               \"ENSEMBL:ENSG00000135744\"\n                               \"ENSEMBL:ENSG00000185567\"\n                               \"ENSEMBL:ENSG00000106546\"\n                               \"ENSEMBL:ENSG00000063438\"\n                               \"ENSEMBL:ENSG00000006534\"\n                               \"ENSEMBL:ENSG00000180318\"\n                               \"ENSEMBL:ENSG00000139211\"\n                               \"ENSEMBL:ENSG00000167772\"\n                               \"ENSEMBL:ENSG00000154122\"\n                               \"ENSEMBL:ENSG00000148677\"\n                               \"ENSEMBL:ENSG00000011201\"\n                               \"ENSEMBL:ENSG00000122359\"\n                               \"ENSEMBL:ENSG00000163697\"\n                               \"ENSEMBL:ENSG00000240583\"\n                               \"ENSEMBL:ENSG00000128805\"\n                               \"ENSEMBL:ENSG00000138639\"\n                               \"ENSEMBL:ENSG00000150347\"\n                               \"ENSEMBL:ENSG00000105643\"\n                               \"ENSEMBL:ENSG00000140450\"\n                               \"ENSEMBL:ENSG00000180801\"\n                               \"ENSEMBL:ENSG00000108684\"\n                               \"ENSEMBL:ENSG00000174939\"\n                               \"ENSEMBL:ENSG00000206190\"\n                               \"ENSEMBL:ENSG00000074370\"\n                               \"ENSEMBL:ENSG00000277297\"\n                               \"ENSEMBL:ENSG00000081923\"\n                               \"ENSEMBL:ENSG00000104043\"\n                               \"ENSEMBL:ENSG00000156273\"\n                               \"ENSEMBL:ENSG00000168398\"\n                               \"ENSEMBL:ENSG00000176697\"\n                               \"ENSEMBL:ENSG00000183092\"\n                               \"ENSEMBL:ENSG00000123095\"\n                               \"ENSEMBL:ENSG00000168487\"\n                               \"ENSEMBL:ENSG00000164619\"\n                               \"ENSEMBL:ENSG00000101425\"\n                               \"ENSEMBL:ENSG00000130303\"\n                               \"ENSEMBL:ENSG00000222009\"\n                               \"ENSEMBL:ENSG00000119280\"\n                               \"ENSEMBL:ENSG00000173918\"\n                               \"ENSEMBL:ENSG00000197927\"\n                               \"ENSEMBL:ENSG00000171860\"\n                               \"ENSEMBL:ENSG00000234511\"\n                               \"ENSEMBL:ENSG00000197261\"\n                               \"ENSEMBL:ENSG00000074410\"\n                               \"ENSEMBL:ENSG00000100314\"\n                               \"ENSEMBL:ENSG00000165995\"\n                               \"ENSEMBL:ENSG00000138172\"\n                               \"ENSEMBL:ENSG00000042493\"\n                               \"ENSEMBL:ENSG00000159753\"\n                               \"ENSEMBL:ENSG00000249669\"\n                               \"ENSEMBL:ENSG00000105974\"\n                               \"ENSEMBL:ENSG00000105971\"\n                               \"ENSEMBL:ENSG00000177469\"\n                               \"ENSEMBL:ENSG00000170955\"\n                               \"ENSEMBL:ENSG00000141668\"\n                               \"ENSEMBL:ENSG00000166510\"\n                               \"ENSEMBL:ENSG00000149201\"\n                               \"ENSEMBL:ENSG00000188549\"\n                               \"ENSEMBL:ENSG00000185972\"\n                               \"ENSEMBL:ENSG00000271503\"\n                               \"ENSEMBL:ENSG00000274233\"\n                               \"ENSEMBL:ENSG00000150637\"\n                               \"ENSEMBL:ENSG00000026508\"\n                               \"ENSEMBL:ENSG00000196352\"\n                               \"ENSEMBL:ENSG00000013725\"\n                               \"ENSEMBL:ENSG00000163814\"\n                               \"ENSEMBL:ENSG00000071991\"\n                               \"ENSEMBL:ENSG00000062038\"\n                               \"ENSEMBL:ENSG00000138395\"\n                               \"ENSEMBL:ENSG00000117266\"\n                               \"ENSEMBL:ENSG00000147883\"\n                               \"ENSEMBL:ENSG00000000971\"\n                               \"ENSEMBL:ENSG00000205403\"\n                               \"ENSEMBL:ENSG00000138135\"\n                               \"ENSEMBL:ENSG00000123989\"\n                               \"ENSEMBL:ENSG00000181072\"\n                               \"ENSEMBL:ENSG00000174343\"\n                               \"ENSEMBL:ENSG00000160161\"\n                               \"ENSEMBL:ENSG00000163347\"\n                               \"ENSEMBL:ENSG00000249035\"\n                               \"ENSEMBL:ENSG00000158258\"\n                               \"ENSEMBL:ENSG00000143786\"\n                               \"ENSEMBL:ENSG00000130176\"\n                               \"ENSEMBL:ENSG00000018236\"\n                               \"ENSEMBL:ENSG00000154529\"\n                               \"ENSEMBL:ENSG00000283378\"\n                               \"ENSEMBL:ENSG00000182871\"\n                               \"ENSEMBL:ENSG00000124749\"\n                               \"ENSEMBL:ENSG00000172752\"\n                               \"ENSEMBL:ENSG00000206384\"\n                               \"ENSEMBL:ENSG00000144810\"\n                               \"ENSEMBL:ENSG00000092758\"\n                               \"ENSEMBL:ENSG00000198756\"\n                               \"ENSEMBL:ENSG00000160471\"\n                               \"ENSEMBL:ENSG00000128510\"\n                               \"ENSEMBL:ENSG00000178773\"\n                               \"ENSEMBL:ENSG00000139117\"\n                               \"ENSEMBL:ENSG00000109846\"\n                               \"ENSEMBL:ENSG00000112297\"\n                               \"ENSEMBL:ENSG00000242193\"\n                               \"ENSEMBL:ENSG00000147408\"\n                               \"ENSEMBL:ENSG00000173546\"\n                               \"ENSEMBL:ENSG00000260139\"\n                               \"ENSEMBL:ENSG00000170373\"\n                               \"ENSEMBL:ENSG00000101160\"\n                               \"ENSEMBL:ENSG00000107562\"\n                               \"ENSEMBL:ENSG00000169429\"\n                               \"ENSEMBL:ENSG00000166394\"\n                               \"ENSEMBL:ENSG00000051523\"\n                               \"ENSEMBL:ENSG00000186684\"\n                               \"ENSEMBL:ENSG00000134716\"\n                               \"ENSEMBL:ENSG00000108669\"\n                               \"ENSEMBL:ENSG00000146122\"\n                               \"ENSEMBL:ENSG00000057019\"\n                               \"ENSEMBL:ENSG00000197410\"\n                               \"ENSEMBL:ENSG00000284227\"\n                               \"ENSEMBL:ENSG00000165507\"\n                               \"ENSEMBL:ENSG00000058866\"\n                               \"ENSEMBL:ENSG00000211448\"\n                               \"ENSEMBL:ENSG00000231672\"\n                               \"ENSEMBL:ENSG00000107984\"\n                               \"ENSEMBL:ENSG00000164741\"\n                               \"ENSEMBL:ENSG00000185559\"\n                               \"ENSEMBL:ENSG00000144355\"\n                               \"ENSEMBL:ENSG00000115844\"\n                               \"ENSEMBL:ENSG00000105880\"\n                               \"ENSEMBL:ENSG00000197959\"\n                               \"ENSEMBL:ENSG00000272636\"\n                               \"ENSEMBL:ENSG00000272670\"\n                               \"ENSEMBL:ENSG00000206052\"\n                               \"ENSEMBL:ENSG00000176978\"\n                               \"ENSEMBL:ENSG00000189212\"\n                               \"ENSEMBL:ENSG00000184845\"\n                               \"ENSEMBL:ENSG00000134762\"\n                               \"ENSEMBL:ENSG00000171451\"\n                               \"ENSEMBL:ENSG00000262102\"\n                               \"ENSEMBL:ENSG00000143507\"\n                               \"ENSEMBL:ENSG00000158560\"\n                               \"ENSEMBL:ENSG00000135636\"\n                               \"ENSEMBL:ENSG00000164176\"\n                               \"ENSEMBL:ENSG00000078401\"\n                               \"ENSEMBL:ENSG00000151617\"\n                               \"ENSEMBL:ENSG00000115380\"\n                               \"ENSEMBL:ENSG00000172638\"\n                               \"ENSEMBL:ENSG00000166897\"\n                               \"ENSEMBL:ENSG00000118985\"\n                               \"ENSEMBL:ENSG00000049540\"\n                               \"ENSEMBL:ENSG00000164035\"\n                               \"ENSEMBL:ENSG00000138185\"\n                               \"ENSEMBL:ENSG00000168032\"\n                               \"ENSEMBL:ENSG00000261150\"\n                               \"ENSEMBL:ENSG00000177106\"\n                               \"ENSEMBL:ENSG00000065361\"\n                               \"ENSEMBL:ENSG00000115363\"\n                               \"ENSEMBL:ENSG00000283632\"\n                               \"ENSEMBL:ENSG00000126218\"\n                               \"ENSEMBL:ENSG00000181104\"\n                               \"ENSEMBL:ENSG00000164251\"\n                               \"ENSEMBL:ENSG00000148541\"\n                               \"ENSEMBL:ENSG00000204442\"\n                               \"ENSEMBL:ENSG00000248429\"\n                               \"ENSEMBL:ENSG00000166147\"\n                               \"ENSEMBL:ENSG00000116661\"\n                               \"ENSEMBL:ENSG00000161243\"\n                               \"ENSEMBL:ENSG00000156804\"\n                               \"ENSEMBL:ENSG00000088340\"\n                               \"ENSEMBL:ENSG00000138675\"\n                               \"ENSEMBL:ENSG00000140285\"\n                               \"ENSEMBL:ENSG00000176971\"\n                               \"ENSEMBL:ENSG00000168386\"\n                               \"ENSEMBL:ENSG00000176692\"\n                               \"ENSEMBL:ENSG00000251493\"\n                               \"ENSEMBL:ENSG00000176678\"\n                               \"ENSEMBL:ENSG00000179772\"\n                               \"ENSEMBL:ENSG00000070404\"\n                               \"ENSEMBL:ENSG00000177283\"\n                               \"ENSEMBL:ENSG00000163288\"\n                               \"ENSEMBL:ENSG00000131386\"\n                               \"ENSEMBL:ENSG00000136542\"\n                               \"ENSEMBL:ENSG00000139629\"\n                               \"ENSEMBL:ENSG00000180447\"\n                               \"ENSEMBL:ENSG00000233695\"\n                               \"ENSEMBL:ENSG00000141448\"\n                               \"ENSEMBL:ENSG00000187210\"\n                               \"ENSEMBL:ENSG00000156466\"\n                               \"ENSEMBL:ENSG00000143869\"\n                               \"ENSEMBL:ENSG00000164949\"\n                               \"ENSEMBL:ENSG00000146013\"\n                               \"ENSEMBL:ENSG00000099998\"\n                               \"ENSEMBL:ENSG00000179855\"\n                               \"ENSEMBL:ENSG00000109738\"\n                               \"ENSEMBL:ENSG00000156049\"\n                               \"ENSEMBL:ENSG00000138678\"\n                               \"ENSEMBL:ENSG00000164850\"\n                               \"ENSEMBL:ENSG00000166073\"\n                               \"ENSEMBL:ENSG00000169508\"\n                               \"ENSEMBL:ENSG00000170775\"\n                               \"ENSEMBL:ENSG00000119714\"\n                               \"ENSEMBL:ENSG00000125675\"\n                               \"ENSEMBL:ENSG00000182771\"\n                               \"ENSEMBL:ENSG00000164418\"\n                               \"ENSEMBL:ENSG00000183454\"\n                               \"ENSEMBL:ENSG00000198785\"\n                               \"ENSEMBL:ENSG00000152822\"\n                               \"ENSEMBL:ENSG00000179603\"\n                               \"ENSEMBL:ENSG00000113070\"\n                               \"ENSEMBL:ENSG00000099822\"\n                               \"ENSEMBL:ENSG00000164683\"\n                               \"ENSEMBL:ENSG00000019991\"\n                               \"ENSEMBL:ENSG00000127124\"\n                               \"ENSEMBL:ENSG00000136630\"\n                               \"ENSEMBL:ENSG00000146151\"\n                               \"ENSEMBL:ENSG00000275410\"\n                               \"ENSEMBL:ENSG00000276194\"\n                               \"ENSEMBL:ENSG00000171476\"\n                               \"ENSEMBL:ENSG00000253293\"\n                               \"ENSEMBL:ENSG00000106006\"\n                               \"ENSEMBL:ENSG00000078399\"\n                               \"ENSEMBL:ENSG00000173083\"\n                               \"ENSEMBL:ENSG00000196639\"\n                               \"ENSEMBL:ENSG00000106211\"\n                               \"ENSEMBL:ENSG00000173641\"\n                               \"ENSEMBL:ENSG00000135312\"\n                               \"ENSEMBL:ENSG00000102468\"\n                               \"ENSEMBL:ENSG00000148680\"\n                               \"ENSEMBL:ENSG00000166033\"\n                               \"ENSEMBL:ENSG00000170801\"\n                               \"ENSEMBL:ENSG00000146674\"\n                               \"ENSEMBL:ENSG00000163395\"\n                               \"ENSEMBL:ENSG00000147255\"\n                               \"ENSEMBL:ENSG00000152580\"\n                               \"ENSEMBL:ENSG00000095752\"\n                               \"ENSEMBL:ENSG00000163701\"\n                               \"ENSEMBL:ENSG00000168685\"\n                               \"ENSEMBL:ENSG00000122641\"\n                               \"ENSEMBL:ENSG00000188487\"\n                               \"ENSEMBL:ENSG00000120645\"\n                               \"ENSEMBL:ENSG00000262607\"\n                               \"ENSEMBL:ENSG00000005884\"\n                               \"ENSEMBL:ENSG00000115221\"\n                               \"ENSEMBL:ENSG00000149596\"\n                               \"ENSEMBL:ENSG00000132854\"\n                               \"ENSEMBL:ENSG00000182255\"\n                               \"ENSEMBL:ENSG00000131398\"\n                               \"ENSEMBL:ENSG00000152049\"\n                               \"ENSEMBL:ENSG00000055118\"\n                               \"ENSEMBL:ENSG00000184185\"\n                               \"ENSEMBL:ENSG00000157551\"\n                               \"ENSEMBL:ENSG00000104783\"\n                               \"ENSEMBL:ENSG00000269821\"\n                               \"ENSEMBL:ENSG00000250423\"\n                               \"ENSEMBL:ENSG00000066735\"\n                               \"ENSEMBL:ENSG00000162849\"\n                               \"ENSEMBL:ENSG00000281216\"\n                               \"ENSEMBL:ENSG00000127528\"\n                               \"ENSEMBL:ENSG00000149243\"\n                               \"ENSEMBL:ENSG00000128422\"\n                               \"ENSEMBL:ENSG00000171345\"\n                               \"ENSEMBL:ENSG00000135480\"\n                               \"ENSEMBL:ENSG00000167767\"\n                               \"ENSEMBL:ENSG00000240871\"\n                               \"ENSEMBL:ENSG00000171435\"\n                               \"ENSEMBL:ENSG00000115919\"\n                               \"ENSEMBL:ENSG00000130702\"\n                               \"ENSEMBL:ENSG00000196878\"\n                               \"ENSEMBL:ENSG00000213626\"\n                               \"ENSEMBL:ENSG00000122367\"\n                               \"ENSEMBL:ENSG00000143768\"\n                               \"ENSEMBL:ENSG00000108679\"\n                               \"ENSEMBL:ENSG00000214269\"\n                               \"ENSEMBL:ENSG00000143355\"\n                               \"ENSEMBL:ENSG00000128342\"\n                               \"ENSEMBL:ENSG00000072163\"\n                               \"ENSEMBL:ENSG00000232931\"\n                               \"ENSEMBL:ENSG00000186369\"\n                               \"ENSEMBL:ENSG00000233117\"\n                               \"ENSEMBL:ENSG00000185904\"\n                               \"ENSEMBL:ENSG00000231711\"\n                               \"ENSEMBL:ENSG00000246100\"\n                               \"ENSEMBL:ENSG00000240476\"\n                               \"ENSEMBL:ENSG00000228495\"\n                               \"ENSEMBL:ENSG00000233621\"\n                               \"ENSEMBL:ENSG00000234840\"\n                               \"ENSEMBL:ENSG00000258754\"\n                               \"ENSEMBL:ENSG00000259518\"\n                               \"ENSEMBL:ENSG00000253161\"\n                               \"ENSEMBL:ENSG00000268941\"\n                               \"ENSEMBL:ENSG00000226476\"\n                               \"ENSEMBL:ENSG00000204460\"\n                               \"ENSEMBL:ENSG00000244649\"\n                               \"ENSEMBL:ENSG00000259847\"\n                               \"ENSEMBL:ENSG00000261175\"\n                               \"ENSEMBL:ENSG00000258616\"\n                               \"ENSEMBL:ENSG00000256268\"\n                               \"ENSEMBL:ENSG00000234155\"\n                               \"ENSEMBL:ENSG00000223764\"\n                               \"ENSEMBL:ENSG00000241288\"\n                               \"ENSEMBL:ENSG00000174482\"\n                               \"ENSEMBL:ENSG00000136153\"\n                               \"ENSEMBL:ENSG00000163431\"\n                               \"ENSEMBL:ENSG00000129038\"\n                               \"ENSEMBL:ENSG00000261801\"\n                               \"ENSEMBL:ENSG00000184574\"\n                               \"ENSEMBL:ENSG00000172061\"\n                               \"ENSEMBL:ENSG00000128606\"\n                               \"ENSEMBL:ENSG00000033122\"\n                               \"ENSEMBL:ENSG00000049323\"\n                               \"ENSEMBL:ENSG00000168056\"\n                               \"ENSEMBL:ENSG00000153714\"\n                               \"ENSEMBL:ENSG00000187398\"\n                               \"ENSEMBL:ENSG00000150556\"\n                               \"ENSEMBL:ENSG00000133800\"\n                               \"ENSEMBL:ENSG00000181541\"\n                               \"ENSEMBL:ENSG00000204103\"\n                               \"ENSEMBL:ENSG00000189221\"\n                               \"ENSEMBL:ENSG00000069535\"\n                               \"ENSEMBL:ENSG00000101460\"\n                               \"ENSEMBL:ENSG00000197442\"\n                               \"ENSEMBL:ENSG00000156265\"\n                               \"ENSEMBL:ENSG00000152601\"\n                               \"ENSEMBL:ENSG00000076706\"\n                               \"ENSEMBL:ENSG00000140563\"\n                               \"ENSEMBL:ENSG00000151376\"\n                               \"ENSEMBL:ENSG00000102802\"\n                               \"ENSEMBL:ENSG00000134138\"\n                               \"ENSEMBL:ENSG00000163975\"\n                               \"ENSEMBL:ENSG00000105976\"\n                               \"ENSEMBL:ENSG00000182050\"\n                               \"ENSEMBL:ENSG00000283530\"\n                               \"ENSEMBL:ENSG00000285137\"\n                               \"ENSEMBL:ENSG00000111341\"\n                               \"ENSEMBL:ENSG00000276365\"\n                               \"ENSEMBL:ENSG00000247095\"\n                               \"ENSEMBL:ENSG00000282810\"\n                               \"ENSEMBL:ENSG00000196611\"\n                               \"ENSEMBL:ENSG00000166670\"\n                               \"ENSEMBL:ENSG00000099953\"\n                               \"ENSEMBL:ENSG00000275365\"\n                               \"ENSEMBL:ENSG00000137745\"\n                               \"ENSEMBL:ENSG00000198598\"\n                               \"ENSEMBL:ENSG00000125966\"\n                               \"ENSEMBL:ENSG00000149968\"\n                               \"ENSEMBL:ENSG00000079931\"\n                               \"ENSEMBL:ENSG00000135324\"\n                               \"ENSEMBL:ENSG00000179832\"\n                               \"ENSEMBL:ENSG00000178860\"\n                               \"ENSEMBL:ENSG00000235531\"\n                               \"ENSEMBL:ENSG00000013364\"\n                               \"ENSEMBL:ENSG00000162576\"\n                               \"ENSEMBL:ENSG00000198336\"\n                               \"ENSEMBL:ENSG00000065534\"\n                               \"ENSEMBL:ENSG00000101605\"\n                               \"ENSEMBL:ENSG00000229647\"\n                               \"ENSEMBL:ENSG00000177791\"\n                               \"ENSEMBL:ENSG00000138347\"\n                               \"ENSEMBL:ENSG00000134369\"\n                               \"ENSEMBL:ENSG00000166833\"\n                               \"ENSEMBL:ENSG00000158747\"\n                               \"ENSEMBL:ENSG00000164100\"\n                               \"ENSEMBL:ENSG00000242242\"\n                               \"ENSEMBL:ENSG00000163491\"\n                               \"ENSEMBL:ENSG00000050030\"\n                               \"ENSEMBL:ENSG00000162614\"\n                               \"ENSEMBL:ENSG00000101096\"\n                               \"ENSEMBL:ENSG00000162599\"\n                               \"ENSEMBL:ENSG00000237928\"\n                               \"ENSEMBL:ENSG00000163293\"\n                               \"ENSEMBL:ENSG00000172548\"\n                               \"ENSEMBL:ENSG00000188580\"\n                               \"ENSEMBL:ENSG00000103024\"\n                               \"ENSEMBL:ENSG00000166741\"\n                               \"ENSEMBL:ENSG00000089250\"\n                               \"ENSEMBL:ENSG00000086991\"\n                               \"ENSEMBL:ENSG00000168743\"\n                               \"ENSEMBL:ENSG00000113389\"\n                               \"ENSEMBL:ENSG00000221890\"\n                               \"ENSEMBL:ENSG00000164128\"\n                               \"ENSEMBL:ENSG00000151623\"\n                               \"ENSEMBL:ENSG00000123572\"\n                               \"ENSEMBL:ENSG00000170091\"\n                               \"ENSEMBL:ENSG00000185652\"\n                               \"ENSEMBL:ENSG00000140538\"\n                               \"ENSEMBL:ENSG00000133636\"\n                               \"ENSEMBL:ENSG00000275074\"\n                               \"ENSEMBL:ENSG00000104044\"\n                               \"ENSEMBL:ENSG00000277361\"\n                               \"ENSEMBL:ENSG00000145247\"\n                               \"ENSEMBL:ENSG00000118733\"\n                               \"ENSEMBL:ENSG00000162745\"\n                               \"ENSEMBL:ENSG00000183715\"\n                               \"ENSEMBL:ENSG00000116329\"\n                               \"ENSEMBL:ENSG00000144645\"\n                               \"ENSEMBL:ENSG00000180914\"\n                               \"ENSEMBL:ENSG00000174944\"\n                               \"ENSEMBL:ENSG00000099260\"\n                               \"ENSEMBL:ENSG00000137819\"\n                               \"ENSEMBL:ENSG00000152931\"\n                               \"ENSEMBL:ENSG00000138650\"\n                               \"ENSEMBL:ENSG00000184226\"\n                               \"ENSEMBL:ENSG00000154678\"\n                               \"ENSEMBL:ENSG00000172572\"\n                               \"ENSEMBL:ENSG00000113448\"\n                               \"ENSEMBL:ENSG00000197461\"\n                               \"ENSEMBL:ENSG00000145431\"\n                               \"ENSEMBL:ENSG00000154553\"\n                               \"ENSEMBL:ENSG00000165966\"\n                               \"ENSEMBL:ENSG00000112378\"\n                               \"ENSEMBL:ENSG00000067057\"\n                               \"ENSEMBL:ENSG00000119630\"\n                               \"ENSEMBL:ENSG00000102174\"\n                               \"ENSEMBL:ENSG00000181649\"\n                               \"ENSEMBL:ENSG00000274538\"\n                               \"ENSEMBL:ENSG00000109132\"\n                               \"ENSEMBL:ENSG00000175287\"\n                               \"ENSEMBL:ENSG00000153823\"\n                               \"ENSEMBL:ENSG00000100100\"\n                               \"ENSEMBL:ENSG00000158683\"\n                               \"ENSEMBL:ENSG00000135549\"\n                               \"ENSEMBL:ENSG00000189129\"\n                               \"ENSEMBL:ENSG00000138193\"\n                               \"ENSEMBL:ENSG00000149527\"\n                               \"ENSEMBL:ENSG00000276429\"\n                               \"ENSEMBL:ENSG00000115896\"\n                               \"ENSEMBL:ENSG00000100558\"\n                               \"ENSEMBL:ENSG00000169499\"\n                               \"ENSEMBL:ENSG00000196155\"\n                               \"ENSEMBL:ENSG00000102007\"\n                               \"ENSEMBL:ENSG00000203805\"\n                               \"ENSEMBL:ENSG00000130300\"\n                               \"ENSEMBL:ENSG00000161381\"\n                               \"ENSEMBL:ENSG00000120594\"\n                               \"ENSEMBL:ENSG00000221866\"\n                               \"ENSEMBL:ENSG00000132000\"\n                               \"ENSEMBL:ENSG00000288195\"\n                               \"ENSEMBL:ENSG00000132429\"\n                               \"ENSEMBL:ENSG00000133110\"\n                               \"ENSEMBL:ENSG00000224897\"\n                               \"ENSEMBL:ENSG00000132170\"\n                               \"ENSEMBL:ENSG00000086717\"\n                               \"ENSEMBL:ENSG00000119938\"\n                               \"ENSEMBL:ENSG00000061455\"\n                               \"ENSEMBL:ENSG00000166501\"\n                               \"ENSEMBL:ENSG00000027075\"\n                               \"ENSEMBL:ENSG00000138669\"\n                               \"ENSEMBL:ENSG00000171864\"\n                               \"ENSEMBL:ENSG00000184838\"\n                               \"ENSEMBL:ENSG00000150687\"\n                               \"ENSEMBL:ENSG00000146250\"\n                               \"ENSEMBL:ENSG00000165186\"\n                               \"ENSEMBL:ENSG00000125384\"\n                               \"ENSEMBL:ENSG00000073756\"\n                               \"ENSEMBL:ENSG00000134242\"\n                               \"ENSEMBL:ENSG00000054356\"\n                               \"ENSEMBL:ENSG00000151490\"\n                               \"ENSEMBL:ENSG00000115828\"\n                               \"ENSEMBL:ENSG00000228492\"\n                               \"ENSEMBL:ENSG00000041353\"\n                               \"ENSEMBL:ENSG00000276600\"\n                               \"ENSEMBL:ENSG00000128340\"\n                               \"ENSEMBL:ENSG00000132359\"\n                               \"ENSEMBL:ENSG00000100302\"\n                               \"ENSEMBL:ENSG00000152689\"\n                               \"ENSEMBL:ENSG00000198774\"\n                               \"ENSEMBL:ENSG00000163694\"\n                               \"ENSEMBL:ENSG00000159200\"\n                               \"ENSEMBL:ENSG00000134533\"\n                               \"ENSEMBL:ENSG00000256650\"\n                               \"ENSEMBL:ENSG00000117152\"\n                               \"ENSEMBL:ENSG00000186479\"\n                               \"ENSEMBL:ENSG00000206712\"\n                               \"ENSEMBL:ENSG00000198963\"\n                               \"ENSEMBL:ENSG00000047936\"\n                               \"ENSEMBL:ENSG00000181031\"\n                               \"ENSEMBL:ENSG00000262334\"\n                               \"ENSEMBL:ENSG00000282013\"\n                               \"ENSEMBL:ENSG00000147655\"\n                               \"ENSEMBL:ENSG00000188643\"\n                               \"ENSEMBL:ENSG00000188015\"\n                               \"ENSEMBL:ENSG00000197956\"\n                               \"ENSEMBL:ENSG00000180739\"\n                               \"ENSEMBL:ENSG00000187634\"\n                               \"ENSEMBL:ENSG00000164483\"\n                               \"ENSEMBL:ENSG00000205413\"\n                               \"ENSEMBL:ENSG00000171951\"\n                               \"ENSEMBL:ENSG00000149575\"\n                               \"ENSEMBL:ENSG00000166396\"\n                               \"ENSEMBL:ENSG00000135919\"\n                               \"ENSEMBL:ENSG00000107819\"\n                               \"ENSEMBL:ENSG00000108823\"\n                               \"ENSEMBL:ENSG00000102683\"\n                               \"ENSEMBL:ENSG00000118473\"\n                               \"ENSEMBL:ENSG00000118515\"\n                               \"ENSEMBL:ENSG00000104205\"\n                               \"ENSEMBL:ENSG00000164023\"\n                               \"ENSEMBL:ENSG00000104611\"\n                               \"ENSEMBL:ENSG00000172985\"\n                               \"ENSEMBL:ENSG00000259863\"\n                               \"ENSEMBL:ENSG00000125089\"\n                               \"ENSEMBL:ENSG00000129946\"\n                               \"ENSEMBL:ENSG00000185634\"\n                               \"ENSEMBL:ENSG00000178343\"\n                               \"ENSEMBL:ENSG00000185187\"\n                               \"ENSEMBL:ENSG00000170577\"\n                               \"ENSEMBL:ENSG00000221955\"\n                               \"ENSEMBL:ENSG00000141526\"\n                               \"ENSEMBL:ENSG00000146477\"\n                               \"ENSEMBL:ENSG00000185052\"\n                               \"ENSEMBL:ENSG00000162241\"\n                               \"ENSEMBL:ENSG00000139209\"\n                               \"ENSEMBL:ENSG00000138449\"\n                               \"ENSEMBL:ENSG00000148942\"\n                               \"ENSEMBL:ENSG00000115665\"\n                               \"ENSEMBL:ENSG00000131389\"\n                               \"ENSEMBL:ENSG00000183023\"\n                               \"ENSEMBL:ENSG00000065923\"\n                               \"ENSEMBL:ENSG00000174640\"\n                               \"ENSEMBL:ENSG00000184347\"\n                               \"ENSEMBL:ENSG00000184564\"\n                               \"ENSEMBL:ENSG00000120693\"\n                               \"ENSEMBL:ENSG00000179256\"\n                               \"ENSEMBL:ENSG00000271824\"\n                               \"ENSEMBL:ENSG00000198732\"\n                               \"ENSEMBL:ENSG00000112562\"\n                               \"ENSEMBL:ENSG00000120833\"\n                               \"ENSEMBL:ENSG00000246985\"\n                               \"ENSEMBL:ENSG00000109610\"\n                               \"ENSEMBL:ENSG00000061656\"\n                               \"ENSEMBL:ENSG00000166145\"\n                               \"ENSEMBL:ENSG00000167642\"\n                               \"ENSEMBL:ENSG00000134668\"\n                               \"ENSEMBL:ENSG00000196104\"\n                               \"ENSEMBL:ENSG00000118785\"\n                               \"ENSEMBL:ENSG00000116096\"\n                               \"ENSEMBL:ENSG00000171621\"\n                               \"ENSEMBL:ENSG00000070182\"\n                               \"ENSEMBL:ENSG00000179954\"\n                               \"ENSEMBL:ENSG00000172830\"\n                               \"ENSEMBL:ENSG00000115525\"\n                               \"ENSEMBL:ENSG00000148488\"\n                               \"ENSEMBL:ENSG00000144681\"\n                               \"ENSEMBL:ENSG00000115107\"\n                               \"ENSEMBL:ENSG00000104435\"\n                               \"ENSEMBL:ENSG00000148175\"\n                               \"ENSEMBL:ENSG00000198829\"\n                               \"ENSEMBL:ENSG00000137573\"\n                               \"ENSEMBL:ENSG00000198203\"\n                               \"ENSEMBL:ENSG00000109193\"\n                               \"ENSEMBL:ENSG00000099994\"\n                               \"ENSEMBL:ENSG00000173705\"\n                               \"ENSEMBL:ENSG00000197321\"\n                               \"ENSEMBL:ENSG00000234814\"\n                               \"ENSEMBL:ENSG00000162520\"\n                               \"ENSEMBL:ENSG00000078269\"\n                               \"ENSEMBL:ENSG00000204176\"\n                               \"ENSEMBL:ENSG00000139973\"\n                               \"ENSEMBL:ENSG00000142765\"\n                               \"ENSEMBL:ENSG00000147041\"\n                               \"ENSEMBL:ENSG00000115353\"\n                               \"ENSEMBL:ENSG00000158710\"\n                               \"ENSEMBL:ENSG00000253676\"\n                               \"ENSEMBL:ENSG00000135111\"\n                               \"ENSEMBL:ENSG00000204219\"\n                               \"ENSEMBL:ENSG00000282941\"\n                               \"ENSEMBL:ENSG00000118526\"\n                               \"ENSEMBL:ENSG00000110719\"\n                               \"ENSEMBL:ENSG00000183508\"\n                               \"ENSEMBL:ENSG00000226674\"\n                               \"ENSEMBL:ENSG00000137203\"\n                               \"ENSEMBL:ENSG00000105329\"\n                               \"ENSEMBL:ENSG00000119699\"\n                               \"ENSEMBL:ENSG00000120708\"\n                               \"ENSEMBL:ENSG00000178726\"\n                               \"ENSEMBL:ENSG00000136114\"\n                               \"ENSEMBL:ENSG00000127666\"\n                               \"ENSEMBL:ENSG00000142910\"\n                               \"ENSEMBL:ENSG00000223573\"\n                               \"ENSEMBL:ENSG00000038295\"\n                               \"ENSEMBL:ENSG00000137462\"\n                               \"ENSEMBL:ENSG00000183160\"\n                               \"ENSEMBL:ENSG00000164484\"\n                               \"ENSEMBL:ENSG00000196932\"\n                               \"ENSEMBL:ENSG00000121900\"\n                               \"ENSEMBL:ENSG00000105696\"\n                               \"ENSEMBL:ENSG00000165548\"\n                               \"ENSEMBL:ENSG00000187783\"\n                               \"ENSEMBL:ENSG00000136842\"\n                               \"ENSEMBL:ENSG00000120659\"\n                               \"ENSEMBL:ENSG00000120337\"\n                               \"ENSEMBL:ENSG00000116147\"\n                               \"ENSEMBL:ENSG00000111907\"\n                               \"ENSEMBL:ENSG00000259498\"\n                               \"ENSEMBL:ENSG00000159713\"\n                               \"ENSEMBL:ENSG00000102871\"\n                               \"ENSEMBL:ENSG00000056558\"\n                               \"ENSEMBL:ENSG00000211818\"\n                               \"ENSEMBL:ENSG00000132481\"\n                               \"ENSEMBL:ENSG00000121236\"\n                               \"ENSEMBL:ENSG00000069018\"\n                               \"ENSEMBL:ENSG00000144481\"\n                               \"ENSEMBL:ENSG00000187688\"\n                               \"ENSEMBL:ENSG00000134198\"\n                               \"ENSEMBL:ENSG00000100300\"\n                               \"ENSEMBL:ENSG00000180543\"\n                               \"ENSEMBL:ENSG00000265972\"\n                               \"ENSEMBL:ENSG00000215218\"\n                               \"ENSEMBL:ENSG00000156687\"\n                               \"ENSEMBL:ENSG00000145390\"\n                               \"ENSEMBL:ENSG00000150630\"\n                               \"ENSEMBL:ENSG00000206538\"\n                               \"ENSEMBL:ENSG00000261373\"\n                               \"ENSEMBL:ENSG00000146530\"\n                               \"ENSEMBL:ENSG00000103175\"\n                               \"ENSEMBL:ENSG00000156076\"\n                               \"ENSEMBL:ENSG00000188064\"\n                               \"ENSEMBL:ENSG00000255282\"\n                               \"ENSEMBL:ENSG00000189420\"\n                               \"ENSEMBL:ENSG00000251003\"\n                               \"ENSEMBL:ENSG00000144331\"\n                               \"ENSEMBL:ENSG00000225614\"\n                               \"ENSEMBL:ENSG00000183779\"\n                               \"ENSEMBL:ENSG00000170396\"))\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/rank-regulators.rkt",
    "content": "#lang racket\n(require \"../../../medikanren/pieces-parts/query.rkt\"\n         \"rank-regulators-gene-lists.rkt\"\n         racket/hash)\n(provide (all-defined-out)\n         (all-from-out \"../../../medikanren/pieces-parts/query.rkt\"\n                       \"rank-regulators-gene-lists.rkt\"\n                       racket/hash))\n\n#|\nMeaning of symbols/variable names\n\nG: a regulator gene or group of regulator genes. It can be any gene in the human genome that's contained in the\n   knowledge graphs. It doesn't have to be on gene list of interest, but it can be.\nrG: a regulated gene or group of regulated genes. These are constrained to the gene list of interest, so they must\n    be on the list of interest, but may be given in a different curie.\nM: a middleman. It is a GO: Biological Process concept. A redundancy in GO requires we go through this node in the\n   query to get to X.\nX: a GO: Biological Process that rGs are linked to via the \"involved_in\" predicate.\nC: a cell or tissue type. Usually given by a GO: or UBERON: curie.\n|#\n\n(define direct-interaction-preds '(\"regulates\"\n                                   \"directly_regulates\"\n                                   \"physically_interacts_with\"\n                                   \"directly_interacts_with\"\n                                   \"directly_positively_regulates\"\n                                   \"directly_negatively_regulates\"\n                                   \"biolink:directly_negatively_regulates\"\n                                   \"biolink:directly_positively_regulates\"\n                                   \"biolink:positively_regulates\"\n                                   \"biolink:directly_regulates\"\n                                   \"actively_involved_in\"))\n\n(define involved_in (keep 1 (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates '(\"involved_in\")))))\n(define subclass_of (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates '(\"subclass_of\"))))\n(define positively_regulates (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates '(\"positively_regulates\"))))\n(define negatively_regulates (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates '(\"negatively_regulates\"))))\n\n(define (uniprot-curie? curie)\n  (string-prefix? curie \"UniProtKB:\"))\n\n(define (gene-curie? curie)\n  (string-prefix? curie \"HGNC:\")\n  (string-prefix? curie \"ENSEMBL:\")\n  (string-prefix? curie \"NCBIGene:\"))\n\n(define (rtx2-concept? concept)\n  (equal? 'rtx2 (concept->dbname concept)))\n\n#|\nTakes two curies and determines if they are synonymous using curie-synonyms/names.\nCorrectness depends on the synonymization available in mediKanren.\n|#\n(define (synonymous-curies? curie1 curie2)\n  (assoc curie1 (curie-synonyms/names curie2)))\n\n#|\nChecks if a curie is an HGNC or NGBIGene curie. These two gene curies are currently the only two synonymized\nwith UniProtKB curies (as of 12/4/2020).\n|#\n(define (synonymized-gene-curie? curie)\n  (string-prefix? curie \"HGNC:\")\n  (string-prefix? curie \"NCBIGene:\"))\n\n#|\nTakes a concept and returns a pair with the concept's curie and its name.\nReturns: (curie . name)\n|#\n(define (concept->curie/name concept)\n  (cons (concept->curie concept) (concept->name concept)))\n\n#|\nTakes a curie and returns itself cons its name.\nReturns: (curie . name)\n|#\n(define (curie->curie/name curie)\n  (assoc curie (curie-synonyms/names curie)))\n\n#|\nTakes a list and \"unwraps\" the outer layer of parenthesis of each element in the list. If an element is an atom, it does\nnothing to it and retains its relative position in the list. If the input is not a list, unwrap just returns the input.\n|#\n(define (unwrap lst)\n  (cond [(or (null? lst) (not (list? lst))) lst]\n        [(list? (car lst)) (append (car lst) (unwrap (cdr lst)))]\n        [else (cons (car lst) (unwrap (cdr lst)))]))\n\n\n(define (hash-edges/curies edges)\n  (let ((edge-hash (make-hash)))\n    (for-each\n     (lambda (e)\n       (let ((subj-curie (concept->curie (edge->subject e)))\n             (obj-curie (concept->curie (edge->object e))))\n         (hash-update! edge-hash subj-curie (lambda (v) (set-add v obj-curie)) '())\n         )\n       )\n     edges\n     )\n    edge-hash\n    )\n  )\n\n(define (hash-edges/curies-reverse edges)\n  (let ((edge-hash (make-hash)))\n    (for-each\n     (lambda (e)\n       (let ((subj-curie (concept->curie (edge->subject e)))\n             (obj-curie (concept->curie (edge->object e))))\n         (hash-update! edge-hash obj-curie (lambda (v) (set-add v subj-curie)) '())\n         )\n       )\n     edges\n     )\n    edge-hash\n    )\n  )\n\n(define (link-edges/curies edges1 edges2)\n  (let ((linked-edges (make-hash))\n        (edges1-hash (hash-edges/curies edges1))\n        (edges2-hash (hash-edges/curies edges2)))\n    (hash-for-each edges1-hash\n                   (lambda (k1 v1)\n                     (hash-update! linked-edges k1 (lambda (v) (set-union v (hash-ref edges2-hash v1 '()))) '())\n                     )\n                   )\n    linked-edges\n    )\n  )\n\n(define (link-edges/curies-reverse edges1 edges2)\n  (let ((linked-edges (make-hash))\n        (edges1-hash (hash-edges/curies-reverse edges1))\n        (edges2-hash (hash-edges/curies-reverse edges2)))\n    (hash-for-each edges2-hash\n                   (lambda (k2 v2)\n                     (hash-update! linked-edges k2 (lambda (v) (set-union v (hash-ref edges1-hash v2 '()))) '())\n                     )\n                   )\n    linked-edges\n    )\n  )\n\n(define (gene-key->uniprot-key gene-key)\n  (define direction (cadr gene-key))\n  (map (lambda (y) (cons y direction)) (remove-duplicates (filter (lambda (x) (string-prefix? (car x) \"UniProtKB\"))\n                                                                  (curie-synonyms/names (caaar gene-key))))))\n\n#|\nTakes a list of gene curies and converts them to their uniprot curies.\nReturns: list of uniprot curies\n|#\n(define (genes->uniprots gene-list)\n  (define non-synonymized-gene-curies (filter (lambda (x) (not (synonymized-gene-curie? x))) gene-list))\n  (define synonymized-gene-curies (set-subtract gene-list non-synonymized-gene-curies))\n  (define non-synonymized-gene-concepts (filter rtx2-concept? (find-concepts #t non-synonymized-gene-curies)))\n  (define same-as (find-exact-predicates '(\"same_as\")))\n  (define has-gene-product (find-exact-predicates '(\"has_gene_product\")))\n\n  ;;This run/graph converts ENSEMBL:, UMLS:, etc. (curies that don't have edges going to UniProtKB: curies) into\n  ;;HGNC and NCBIGene curies.\n  (match-define\n    (list name=>concepts name=>edges)\n    (run/graph\n     ((N non-synonymized-gene-concepts)\n      (S #f))\n     ((N->S same-as))\n     (N N->S S)))\n\n  ;;synonymized-gene-concepts is a list of HGNC and NCBIGene concepts, which are the only gene concepts that have \"hash_gene_product\"\n  ;;predicate to UniProtKB concepts (as of 12/8/2020)\n  (define synonymized-gene-concepts (set-union (filter rtx2-concept? (find-concepts #t synonymized-gene-curies))\n                                               (hash-ref name=>concepts 'S)))\n\n  ;;This run/graph takes HGNC and NCBIGene concepts and finds their UniprotKB products\n  (match-define\n    (list name=>concepts2 name=>edges2)\n    (run/graph\n     ((G synonymized-gene-concepts)\n      (U #f))\n     ((G->U has-gene-product))\n     (G G->U U)))\n  \n  (map concept->curie (hash-ref name=>concepts2 'U))\n  )\n\n;;Currrently throws error\n(define (hash-uniprots=>genes gene-list)\n  (define uniprots=>genes (make-hash))\n  \n  (define non-synonymized-gene-curies (filter (lambda (x) (not (synonymized-gene-curie? x))) gene-list))\n  (define non-synonymized-gene-concepts (filter rtx2-concept? (find-concepts #t non-synonymized-gene-curies)))\n  \n  (define synonymized-gene-curies (set-subtract gene-list non-synonymized-gene-curies))\n  (define synonymized-gene-concepts (filter rtx2-concept? (find-concepts #t synonymized-gene-curies)))\n  \n  (define same_as (find-exact-predicates '(\"same_as\")))\n  (define has_gene_product (find-exact-predicates '(\"has_gene_product\")))\n\n  ;;run/graphs may be able to be combined\n  (match-define\n    (list name=>concepts name=>edges)\n    (run/graph\n     ((G non-synonymized-gene-concepts)\n      (M #f)\n      (U #f))\n     ((G->M same_as)\n      (M->U has_gene_product))\n     (G G->M M)\n     (M M->U U)))\n    \n  (match-define\n    (list name=>concepts2 name=>edges2)\n    (run/graph\n     ((G synonymized-gene-concepts)\n      (U #f))\n     ((G->U has_gene_product))\n     (G G->U U)))\n\n  (hash-union (link-edges/curies-reverse (hash-ref name=>edges 'G->M) (hash-ref name=>edges 'M->U))\n              (hash-edges/curies-reverse (hash-ref name=>edges2 'G->U)))\n  )\n\n#|\nTakes a list of uniprot curies.\nThese uniprots (once translated into concepts) become the input (rG) to a 3-hop query through GO.\nThe query has 2 parts, G->M->X and rG->X, but each hop is run as a separate run/graph for efficiency.\n\nReturns a list of 3 hashes that contain all of the edges from each run/graph\n|#\n(define (query-GO uniprot-list)\n  (define U (filter (lambda (x) (equal? (car x) 'rtx2)) (find-concepts #t uniprot-list)))\n\n  ;; rG->X hop\n  (match-define\n    (list rG/X=>concepts rG/X=>edges)\n    (time (run/graph\n           ((rG U)\n            (X #f))\n           ((rG->X involved_in))\n           (rG rG->X X))))\n\n  ;; M->X hop\n  (match-define\n    (list M/X=>concepts M/X=>edges)\n    (time (run/graph\n           ((M #f)\n            (X (hash-ref rG/X=>concepts 'X)))\n           ((M->X (set-union positively_regulates negatively_regulates subclass_of)))\n           (M M->X X))))\n\n  ;; G->M hop\n  (define Ms-in-GO (filter (lambda (m) (string-prefix? (concept->curie m) \"GO:\")) (hash-ref M/X=>concepts 'M)))\n  (match-define\n    (list G/M=>concepts G/M=>edges)\n    (time (run/graph\n           ((G #f)\n            (M Ms-in-GO))\n           ((G->M involved_in))\n           (G G->M M))))\n\n  ;; returns a list of the three edge hashes, one from each run/graph\n  (list rG/X=>edges M/X=>edges G/M=>edges)\n  )\n\n#|\nTakes the hash tables that contain the edges returned by the 3 run/graphs in the query-GO function.\nreport-GO-queries takes these edge hashes and returns a sorted association list with the following format:\n\nReturns assoc list (key value): '('(G-curie . G-name) '('('(rG-curie . rG-name) direction) M->X-pubmeds))\n\nIn the value, direction is either +1, -1, or 0, and it represents the direction in which G regulates rG, as\nindicated by what predicate the edge between them has.\nIn the value, M->X-pubmeds is a list of the pubmed IDs of the M->X edge (from the second query in the query-GO\nfunction) because that edge is the one that has the directional predicates.\n|#\n(define (report-GO-queries edge-hashes)\n  (match-define (list rG/X=>edges M/X=>edges G/M=>edges) edge-hashes)\n  (match-define (list X=>rG M=>X/info G=>rG) (list (make-hash) (make-hash) (make-hash)))\n\n  (time (for-each\n         (lambda (e)\n           (hash-update! X=>rG (concept->curie (edge->object e))\n                         (lambda (v) (set-add v (concept->curie (edge->subject e)))) '())\n           )\n         (hash-ref rG/X=>edges 'rG->X)\n         ))\n  \n  (time (for-each\n         (lambda (e)\n           (unless (not (string-prefix? (concept->curie (edge->subject e)) \"GO:\"))\n             (define direction 0)\n             (cond\n               [(set-member? (map cddr positively_regulates) (cdr (edge->pred e))) (set! direction 1)]\n               [(set-member? (map cddr negatively_regulates) (cdr (edge->pred e))) (set! direction -1)])\n             (hash-update! M=>X/info (concept->curie (edge->subject e))\n                           (lambda (v) (set-add v (list (concept->curie (edge->object e))\n                                                        direction\n                                                        (pubmed-ids-from-edge e))))\n                           '())\n             )\n           )\n         (hash-ref M/X=>edges 'M->X)\n         ))\n\n  (time (for-each\n         (lambda (g->m)\n           (for-each\n            (lambda (x/info)\n              (match-define (list x direction pubmeds) x/info)\n              (for-each\n               (lambda (rg)\n                 (define g (edge->subject g->m))\n                 (define new-val (list (cons (curie->curie/name rg) direction) pubmeds))\n                 (hash-update! G=>rG\n                               (concept->curie/name g)\n                               (lambda (v)\n                                 (cond\n                                   [(assoc (car new-val) v) => (lambda (a)\n                                                                 (set-add (set-remove v a)\n                                                                          (list (car a)\n                                                                                (set-union (cadr a) pubmeds))))]\n                                   [else (set-add v new-val)])) '())\n                 )\n               (hash-ref X=>rG x)\n               )\n              )\n            (hash-ref M=>X/info (concept->curie (edge->object g->m)))\n            )\n           )\n         (hash-ref G/M=>edges 'G->M)\n         ))\n  \n  ;;sort list by the number of regulated genes, rG, a gene, G, influences (most to least)\n  (sort\n   (hash-map G=>rG cons)\n   >\n   #:key (lambda (x) (length (cdr x))))\n  )\n\n#|\nThis function takes a list of uniprot curies and runs and reports a 1 hop query where the argument is the input to the query.\nThe 1-hop query is from G->rG, where the value passed into uniprot-list is rG. The G->rG edge is partitioned by 3 groups of\npredicates that indicate positive regulation, negative regulation, or direct interaction between the G and rG.\n\nThe function returns a sorted association list similar to that returned by report-GO-queries, but with more elements of information.\n\nReturns assoc list (key value): '('(G-curie . G-name) '('('(rG-curie . rG-name) direction) G->rG-pubmeds (direct-interaction? interaction-pubmeds)))\n\nIn the value, direction is either +1, -1, or 0, and it represents the direction in which G regulates rG, as\nindicated by what predicate the edge between them has.\nIn the value, G->rG-pubmeds is a list of the pubmed IDs for the edge between particular G and rG concepts.\nIn the value, direct-interaction? is a boolean that is only #t if there is an edge between the G and rG whose\npredicate indicates direct-interaction between the G and rG.\nIn the value, interaction-pubmeds is a list of the pubmed IDs for the edge that indicates direct interaction\nbetween a G and rG. If direct-interaction? is #f, then interaction-pubmeds is and empty list '().\n|#\n(define (1-hop-query/report uniprot-list)\n  (define 1-hop-hash (make-hash))\n  (for-each\n   (lambda (rg)\n     (define q (time (query/graph\n                      ((G+ gene-or-protein)\n                       (G- gene-or-protein)\n                       (G gene-or-protein)\n                       (rG-on-list rg))\n                      ((G+-pos->rG-on-list positively-regulates)\n                       (G--neg->rG-on-list negatively-regulates)\n                       (G->rG-on-list direct-interaction-preds))\n                      (G+ G+-pos->rG-on-list rG-on-list)\n                      (G- G--neg->rG-on-list rG-on-list)\n                      (G G->rG-on-list rG-on-list))))\n     \n     ;;This function takes a list of edges from the 1-hop-query above and populates the hash table\n     (define (1-hop-edges->hash edges direction)\n       (for-each\n        (lambda (e)\n          (define g (concept->curie (edge->subject e)))\n          ;;record whether the predicate indicates direct interaction between the two entities (#t if yes)\n          (define direct-interaction? (set-member? direct-interaction-preds (edge->pred  e)))\n          ;;record provenance\n          (define direction-pubmeds (pubmed-ids-from-edge e))\n          (define direct-interaction-pubmeds (pubmed-ids-from-edge e))\n          ;;add information to the hash\n          (hash-update! 1-hop-hash\n                        (curie->curie/name g)\n                        (lambda (v)\n                          (cond\n                            [(and (assoc (cons (curie->curie/name rg) direction) v)\n                                  (not (empty? direction-pubmeds)))\n                             (define rg/info (assoc (cons (curie->curie/name rg) direction) v))\n                             (set-add (set-remove v rg/info)\n                                      (list (car rg/info)\n                                            (set-union (cadr rg/info) direction-pubmeds)\n                                            (cons direct-interaction? direct-interaction-pubmeds)))]\n                            [else (set-add v (list (cons (curie->curie/name rg) direction)\n                                                   direction-pubmeds\n                                                   (cons direct-interaction? direct-interaction-pubmeds)))])\n                          ) '())\n          )\n        edges\n        )\n       )\n     \n     (1-hop-edges->hash (edges/query q 'G+-pos->rG-on-list) 1)\n     (1-hop-edges->hash (edges/query q 'G--neg->rG-on-list) -1)\n     (1-hop-edges->hash (edges/query q 'G->rG-on-list) 0)\n     )\n   uniprot-list\n   )\n  \n  ;;sort list by the number of regulated genes, rG, a gene, G, influences (most to least)\n  (sort\n   (hash-map 1-hop-hash cons)\n   >\n   #:key (lambda (x) (length (cdr x))))\n  )\n\n#|\nTakes the results returned by the report-GO-queries and 1-hop-query/report and finds intersection points\nbetween them to coroborate and increase confidence in the information at those intersection points.\n\nAn intersection point is qualified as an element from the GO query results and one from the 1-hop query results\nthat have synonymous Gs and rGs and have the same direction.\n\nReturns an association list of the intersecting G and rG relationships with all of the direction, direct interaction,\nand provenance information combined from the GO query results and the 1-hop auery results.\n\nReturns assoc list (key value): '('(G-curie . G-name) '('('(rG-curie . rG-name) direction) direction-pubmeds (direct-interaction? interaction-pubmeds)))\n|#\n(define (find-intersections go-query-results 1-hop-query-results)\n  (define intersections (make-hash))\n  (define 1-hop-keys (map car 1-hop-query-results))\n  (define 1-hop-uniprot-keys (filter (lambda (x) (uniprot-curie? (car x))) 1-hop-keys))\n  (define 1-hop-U=>G-hash (hash-uniprots=>genes (map car (set-subtract 1-hop-keys 1-hop-uniprot-keys))))\n  (define intersecting-Gs-uniprot-curies/names (set-intersect (map car go-query-results)\n                                                              1-hop-uniprot-keys\n                                                              (map curie->curie/name (hash-keys 1-hop-U=>G-hash))))\n  (print \"~v\\n\" (length intersecting-Gs-uniprot-curies/names))\n  (for-each\n   (lambda (u)\n     (let ((1-hop-value (cond [(hash-ref 1-hop-U=>G-hash (car u)) => (lambda (gene-curie)\n                                                                       (cadr (assoc (curie->curie/name (car gene-curie))\n                                                                                    1-hop-query-results)))]\n                              [else (cadr (assoc u 1-hop-query-results))]))\n           (go-query-value (cadr (assoc u go-query-results))))\n       (cond [(equal? (car 1-hop-value) (car go-query-value))\n              (let ((value (list (car go-query-value)\n                                 (set-union (cadr go-query-value) (cadr 1-hop-value))\n                                 (cadr 1-hop-value))))\n                    (hash-set! intersections u value '()))\n              ])\n       )\n     (print \".\\n\")\n     )\n   intersecting-Gs-uniprot-curies/names\n   )\n  \n  ;;sort list by the number of regulated genes, rG, a gene, G, influences (most to least)\n  (sort\n   (hash-map intersections cons)\n   >\n   #:key (lambda (x) (length (cdr x))))\n  )\n\n#|\nTakes a list of the curies of all of the genes/proteins found by the previous GO queries and 1-hop queries.\nRuns a query to find where all of the genes/protiens are expressed.\nReturns: a hash table that hashes the (curie .  name) of a cell/tissue type to a list of all of the genes/proteins,\nalso reported as (curie . name), expressed in that cell/tissue type.\n|#\n(define (find-expression-locations genes-and-proteins)\n  (define expression-location (make-hash))\n  (for-each\n   (lambda (g)\n     (define q (query/graph\n                ((G-or-rG g)\n                 (C #f))\n                ((G-or-rG->C '(\"expressed_in\")))\n                (G-or-rG G-or-rG->C C)))\n     (for-each\n      (lambda (e)\n        (define g-or-rg (concept->curie (edge->subject e)))\n        (define t (concept->curie (edge->object e)))\n        (hash-update! expression-location (curie->curie/name t) (lambda (v) (set-add v (curie->curie/name g-or-rg))) '())\n        )\n      (edges/query q 'G-or-rG->C)\n      )\n     )\n   genes-and-proteins\n   )\n  expression-location\n  )\n\n#|\nTakes the hash returned by find-expression-locations and returns an assoc list sorted most to least by the number\nof gene/proteins expressed in a cell/tissue type (a.k.a. the length of the value).\n|#\n(define (sort-cell/tissue-types-by-G-and-rG cell/tissue-type-hash)\n  (sort\n   (hash-map cell/tissue-type-hash cons)\n   >\n   #:key (lambda (x) (length (cdr x))))\n  )\n\n#|\nTakes the hash returned by find-expression-locations and returns an assoc list sorted most to least by the number\nof genes from the original list of interest expressed in a cell/tissue type (a.k.a. the length of the value intersected\nwith the gene list of interest).\n|#\n(define (sort-cell/tissue-types-by-rG cell/tissue-type-hash uniprots/names)\n  (sort\n   (hash-map cell/tissue-type-hash (lambda (k v) (cons k (set-intersect v uniprots/names))))\n   >\n   #:key (lambda (x) (length (cdr x))))\n  )\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/rank-side-effects.rkt",
    "content": "#lang racket\n(require\n  \"../../../medikanren/pieces-parts/query.rkt\")\n\n#|\ntakes: a drug curie as a string (a-drug), a list of predicates of interest (predicates)\nDoes query X->O where X is a-drug and the edges are filtered by predicates\nreturns: a list of the curies O from the X->O query\n|#\n(define (filter-edges a-drug predicates)\n  (define q\n    (time\n     (query/graph\n      ((X a-drug)\n       (O #f))\n      ((X->O predicates))\n      (X X->O O))))\n  (curies/query q 'O))\n\n;;predicates that indicate a side effect\n(define side-effect-preds (list \"causes\"\n                                \"contributes_to\"\n                                \"contraindicated_for\"))\n\n#|\ntakes: a disease curie as a string (disease-curie), a set of patient symptoms/phenotypes (empty set if none) (patient-phenos)\nRanks the drugs related to the disease-curie by the nature and number of side effects they cause\nreturns: A list of 3 lists. These lists contain all of the drug curies resulting from a drug->disease-curie query sorted as follows:\n         The last list contains the drugs that aggravate any pre-existing patient symptom.\n         The middle list contains the drugs that would further aggravate any symptoms caused by the disease (disease-curie)\n         The first list contains the rest of the drugs not in the 2nd or 3rd list that have a drug->disease (disease-curie) relationship.\n         The drugs within all three lists are sorted (least to most) by the number of side effects they have.\n|#\n(define (rank-drugs-related-to disease-curie patient-phenos)\n  ;;D->O, a query where D is any drug that has an edge to the disease-curie, O.\n  (define qtreats (query/graph\n                   ((D drug)\n                    (O disease-curie))\n                   ((D->O #f))\n                   (D D->O O)))\n  (define drugs (curies/query qtreats 'D))\n  ;;a query to get all of the symptoms/phenotypes of the given disease-curie, + the disease-curie itself\n  (define qphenos (query/graph\n                   ((S disease-curie)\n                    (P phenotype))\n                   ((S->P #f))\n                   (S S->P P)))\n  (define disease-phenos (set-add (list->set (map curie-synonyms/names (curies/query qphenos 'P))) disease-curie))\n  \n  ;;a hash of all the drugs to a set of their side effects\n  (define drug->side-effects (make-hash))\n  (for-each\n   (lambda (d)\n     (hash-set! drug->side-effects d (list->set (filter-edges d side-effect-preds)))\n     )\n   drugs)\n  ;;determines whether a given drug (drg) exacerbates any phenotype in a set of phenotypes (ph), returns a bool\n  (define (exacerbates? drg ph)\n    (not (set-empty? (set-intersect (hash-ref drug->side-effects drg) ph))))\n  \n  (define exacerbates-patient (mutable-set))\n  (define exacerbates-disease (mutable-set))\n  (define top-rank (mutable-set))\n  (for-each\n   (lambda (d)\n     (cond\n       [(exacerbates? d patient-phenos) (set-add! exacerbates-patient d)]\n       [(exacerbates? d disease-phenos) (set-add! exacerbates-disease d)]\n       [else (set-add! top-rank d)]\n       )\n     )\n   drugs)\n  ;;function to sort by number of side effects\n  (define (rank-num-side-effects drgs)\n    (sort (set->list drgs)\n          >\n          #:key (lambda (d) (set-count (hash-ref drug->side-effects d))))\n    )\n  (list (rank-num-side-effects top-rank) (rank-num-side-effects exacerbates-disease) (rank-num-side-effects exacerbates-patient))\n  )\n#|Examples\nHemophilia A, no pre-existing patient symptoms\n(rank-drugs-related-to \"MONDO:0010602\" (set))\nHemophilia A, patient also has liver disease and anemia\n(rank-drugs-related-to \"MONDO:0010602\" (set \"MONDO:0005154\" \"HP:0001903\"))\n|#"
  },
  {
    "path": "contrib/medikanren/pieces-parts/synonymization_algorithm.rkt",
    "content": "#lang racket\n(provide HGNC-CURIE->synonymized-concepts\n         curie-aliases curie-synonyms curie-synonyms-raw curie-synonyms/names\n         curie->name curie->concepts\n         (all-from-out \"../common.rkt\" \"../mk-db.rkt\"))\n(require \"../common.rkt\" \"../mk-db.rkt\" \"../db.rkt\" racket/runtime-path)\n\n\n\n#|\n\n\n\n\n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/test-propagator.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"../../../medikanren/pieces-parts/common.rkt\")\n  (all-from-out \"../../../medikanren/pieces-parts/mk-db.rkt\")\n  (all-from-out \"../../../medikanren/pieces-parts/propagator.rkt\")\n  (all-defined-out))\n(require \"../../../medikanren/common.rkt\" \"../../../medikanren/mk-db.rkt\" \"../../../medikanren/pieces-parts/propagator.rkt\")\n(load-databases #t)\n\n(define positively-regulates '(\"causes\"))\n(define negatively-regulates '(\"negatively_regulates\"))\n\n(define imatinib \"UMLS:C0935989\")\n(define asthma   \"UMLS:C0004096\")\n\n(define S (concept/curie imatinib))\n(define X (concept/any))\n(define O (concept/curie asthma))\n\n(define S->X (edge/predicate negatively-regulates S X))\n(define X->O (edge/predicate positively-regulates X O))\n\n(displayln 'running:)\n(time (run!))\n\n(displayln 'S)\n(length (cdr (S 'ref)))\n\n(displayln 'O)\n(length (cdr (O 'ref)))\n\n(displayln 'X)\n(length (cdr (X 'ref)))\n\n(displayln 'S->X)\n(length (cdr (S->X 'ref)))\n\n(displayln 'X->O)\n(length (cdr (X->O 'ref)))\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/trace-pathways-by-tissue-type.rkt",
    "content": "#lang racket\n(require \"../../../medikanren/pieces-parts/query.rkt\")\n\n(define gene-list (list->set '(\"ENSEMBL:ENSG00000167972\"\n                               \"ENSEMBL:ENSG00000198691\"\n                               \"ENSEMBL:ENSG00000175164\"\n                               \"ENSEMBL:ENSG00000278540\"\n                               \"ENSEMBL:ENSG00000100412\"\n                               \"ENSEMBL:ENSG00000162104\"\n                               \"ENSEMBL:ENSG00000204305\"\n                               \"ENSEMBL:ENSG00000135744\"\n                               \"ENSEMBL:ENSG00000144891\"\n                               \"ENSEMBL:ENSG00000180772\"\n                               \"ENSEMBL:ENSG00000142208\"\n                               \"ENSEMBL:ENSG00000148218\"\n                               \"ENSEMBL:ENSG00000163631\"\n                               \"ENSEMBL:ENSG00000085662\"\n                               \"ENSEMBL:ENSG00000154188\"\n                               \"ENSEMBL:ENSG00000091879\"\n                               \"ENSEMBL:ENSG00000182718\"\n                               \"ENSEMBL:ENSG00000134982\"\n                               \"ENSEMBL:ENSG00000132703\"\n                               \"ENSEMBL:ENSG00000023445\"\n                               \"ENSEMBL:ENSG00000142515\"\n                               \"ENSEMBL:ENSG00000026103\"\n                               \"ENSEMBL:ENSG00000117560\"\n                               \"ENSEMBL:ENSG00000240583\"\n                               \"ENSEMBL:ENSG00000161798\"\n                               \"ENSEMBL:ENSG00000006756\"\n                               \"ENSEMBL:ENSG00000117601\"\n                               \"ENSEMBL:ENSG00000149311\"\n                               \"ENSEMBL:ENSG00000164904\"\n                               \"ENSEMBL:ENSG00000171791\"\n                               \"ENSEMBL:ENSG00000101144\"\n                               \"ENSEMBL:ENSG00000010671\"\n                               \"ENSEMBL:ENSG00000100300\"\n                               \"ENSEMBL:ENSG00000149131\"\n                               \"ENSEMBL:ENSG00000171860\"\n                               \"ENSEMBL:ENSG00000106804\"\n                               \"ENSEMBL:ENSG00000197405\"\n                               \"ENSEMBL:ENSG00000149823\"\n                               \"ENSEMBL:ENSG00000063180\"\n                               \"ENSEMBL:ENSG00000164305\"\n                               \"ENSEMBL:ENSG00000121691\"\n                               \"ENSEMBL:ENSG00000105974\"\n                               \"ENSEMBL:ENSG00000124813\"\n                               \"ENSEMBL:ENSG00000149257\"\n                               \"ENSEMBL:ENSG00000134057\"\n                               \"ENSEMBL:ENSG00000170458\"\n                               \"ENSEMBL:ENSG00000121594\"\n                               \"ENSEMBL:ENSG00000101017\"\n                               \"ENSEMBL:ENSG00000102245\"\n                               \"ENSEMBL:ENSG00000026508\"\n                               \"ENSEMBL:ENSG00000085063\"\n                               \"ENSEMBL:ENSG00000129226\"\n                               \"ENSEMBL:ENSG00000179776\"\n                               \"ENSEMBL:ENSG00000100526\"\n                               \"ENSEMBL:ENSG00000170835\"\n                               \"ENSEMBL:ENSG00000001626\"\n                               \"ENSEMBL:ENSG00000133019\"\n                               \"ENSEMBL:ENSG00000196811\"\n                               \"ENSEMBL:ENSG00000099622\"\n                               \"ENSEMBL:ENSG00000122705\"\n                               \"ENSEMBL:ENSG00000183813\"\n                               \"ENSEMBL:ENSG00000188153\"\n                               \"ENSEMBL:ENSG00000115966\"\n                               \"ENSEMBL:ENSG00000167193\"\n                               \"ENSEMBL:ENSG00000132693\"\n                               \"ENSEMBL:ENSG00000118231\"\n                               \"ENSEMBL:ENSG00000112062\"\n                               \"ENSEMBL:ENSG00000101439\"\n                               \"ENSEMBL:ENSG00000118523\"\n                               \"ENSEMBL:ENSG00000168036\"\n                               \"ENSEMBL:ENSG00000100448\"\n                               \"ENSEMBL:ENSG00000166347\"\n                               \"ENSEMBL:ENSG00000140465\"\n                               \"ENSEMBL:ENSG00000140505\"\n                               \"ENSEMBL:ENSG00000138061\"\n                               \"ENSEMBL:ENSG00000160870\"\n                               \"ENSEMBL:ENSG00000106258\"\n                               \"ENSEMBL:ENSG00000196730\"\n                               \"ENSEMBL:ENSG00000011465\"\n                               \"ENSEMBL:ENSG00000159640\"\n                               \"ENSEMBL:ENSG00000164825\"\n                               \"ENSEMBL:ENSG00000197766\"\n                               \"ENSEMBL:ENSG00000181019\"\n                               \"ENSEMBL:ENSG00000213918\"\n                               \"ENSEMBL:ENSG00000197635\"\n                               \"ENSEMBL:ENSG00000164330\"\n                               \"ENSEMBL:ENSG00000213694\"\n                               \"ENSEMBL:ENSG00000078401\"\n                               \"ENSEMBL:ENSG00000138798\"\n                               \"ENSEMBL:ENSG00000197561\"\n                               \"ENSEMBL:ENSG00000021355\"\n                               \"ENSEMBL:ENSG00000066044\"\n                               \"ENSEMBL:ENSG00000116016\"\n                               \"ENSEMBL:ENSG00000133216\"\n                               \"ENSEMBL:ENSG00000120915\"\n                               \"ENSEMBL:ENSG00000130427\"\n                               \"ENSEMBL:ENSG00000157554\"\n                               \"ENSEMBL:ENSG00000157557\"\n                               \"ENSEMBL:ENSG00000180210\"\n                               \"ENSEMBL:ENSG00000117525\"\n                               \"ENSEMBL:ENSG00000198734\"\n                               \"ENSEMBL:ENSG00000117480\"\n                               \"ENSEMBL:ENSG00000166147\"\n                               \"ENSEMBL:ENSG00000151422\"\n                               \"ENSEMBL:ENSG00000140285\"\n                               \"ENSEMBL:ENSG00000160867\"\n                               \"ENSEMBL:ENSG00000111206\"\n                               \"ENSEMBL:ENSG00000115414\"\n                               \"ENSEMBL:ENSG00000170345\"\n                               \"ENSEMBL:ENSG00000154727\"\n                               \"ENSEMBL:ENSG00000163288\"\n                               \"ENSEMBL:ENSG00000128683\"\n                               \"ENSEMBL:ENSG00000141448\"\n                               \"ENSEMBL:ENSG00000168621\"\n                               \"ENSEMBL:ENSG00000134812\"\n                               \"ENSEMBL:ENSG00000265107\"\n                               \"ENSEMBL:ENSG00000173221\"\n                               \"ENSEMBL:ENSG00000147437\"\n                               \"ENSEMBL:ENSG00000186810\"\n                               \"ENSEMBL:ENSG00000167701\"\n                               \"ENSEMBL:ENSG00000113580\"\n                               \"ENSEMBL:ENSG00000082701\"\n                               \"ENSEMBL:ENSG00000132518\"\n                               \"ENSEMBL:ENSG00000145649\"\n                               \"ENSEMBL:ENSG00000100453\"\n                               \"ENSEMBL:ENSG00000148702\"\n                               \"ENSEMBL:ENSG00000084754\"\n                               \"ENSEMBL:ENSG00000019991\"\n                               \"ENSEMBL:ENSG00000100644\"\n                               \"ENSEMBL:ENSG00000189403\"\n                               \"ENSEMBL:ENSG00000100292\"\n                               \"ENSEMBL:ENSG00000125798\"\n                               \"ENSEMBL:ENSG00000135486\"\n                               \"ENSEMBL:ENSG00000257017\"\n                               \"ENSEMBL:ENSG00000113905\"\n                               \"ENSEMBL:ENSG00000176387\"\n                               \"ENSEMBL:ENSG00000204389\"\n                               \"ENSEMBL:ENSG00000204388\"\n                               \"ENSEMBL:ENSG00000170606\"\n                               \"ENSEMBL:ENSG00000070614\"\n                               \"ENSEMBL:ENSG00000041982\"\n                               \"ENSEMBL:ENSG00000090339\"\n                               \"ENSEMBL:ENSG00000185745\"\n                               \"ENSEMBL:ENSG00000171855\"\n                               \"ENSEMBL:ENSG00000111537\"\n                               \"ENSEMBL:ENSG00000006652\"\n                               \"ENSEMBL:ENSG00000017427\"\n                               \"ENSEMBL:ENSG00000146674\"\n                               \"ENSEMBL:ENSG00000167779\"\n                               \"ENSEMBL:ENSG00000104365\"\n                               \"ENSEMBL:ENSG00000115008\"\n                               \"ENSEMBL:ENSG00000125538\"\n                               \"ENSEMBL:ENSG00000115594\"\n                               \"ENSEMBL:ENSG00000136689\"\n                               \"ENSEMBL:ENSG00000109471\"\n                               \"ENSEMBL:ENSG00000134460\"\n                               \"ENSEMBL:ENSG00000113520\"\n                               \"ENSEMBL:ENSG00000136244\"\n                               \"ENSEMBL:ENSG00000168685\"\n                               \"ENSEMBL:ENSG00000169429\"\n                               \"ENSEMBL:ENSG00000136634\"\n                               \"ENSEMBL:ENSG00000169194\"\n                               \"ENSEMBL:ENSG00000112115\"\n                               \"ENSEMBL:ENSG00000150782\"\n                               \"ENSEMBL:ENSG00000169245\"\n                               \"ENSEMBL:ENSG00000125347\"\n                               \"ENSEMBL:ENSG00000005884\"\n                               \"ENSEMBL:ENSG00000169896\"\n                               \"ENSEMBL:ENSG00000160255\"\n                               \"ENSEMBL:ENSG00000115474\"\n                               \"ENSEMBL:ENSG00000128052\"\n                               \"ENSEMBL:ENSG00000171345\"\n                               \"ENSEMBL:ENSG00000172037\"\n                               \"ENSEMBL:ENSG00000148346\"\n                               \"ENSEMBL:ENSG00000115850\"\n                               \"ENSEMBL:ENSG00000131981\"\n                               \"ENSEMBL:ENSG00000138039\"\n                               \"ENSEMBL:ENSG00000105370\"\n                               \"ENSEMBL:ENSG00000226979\"\n                               \"ENSEMBL:ENSG00000160932\"\n                               \"ENSEMBL:ENSG00000183918\"\n                               \"ENSEMBL:ENSG00000277443\"\n                               \"ENSEMBL:ENSG00000166949\"\n                               \"ENSEMBL:ENSG00000165471\"\n                               \"ENSEMBL:ENSG00000143384\"\n                               \"ENSEMBL:ENSG00000014641\"\n                               \"ENSEMBL:ENSG00000110492\"\n                               \"ENSEMBL:ENSG00000095015\"\n                               \"ENSEMBL:ENSG00000240972\"\n                               \"ENSEMBL:ENSG00000138755\"\n                               \"ENSEMBL:ENSG00000087245\"\n                               \"ENSEMBL:ENSG00000149968\"\n                               \"ENSEMBL:ENSG00000100985\"\n                               \"ENSEMBL:ENSG00000005381\"\n                               \"ENSEMBL:ENSG00000130830\"\n                               \"ENSEMBL:ENSG00000125148\"\n                               \"ENSEMBL:ENSG00000087250\"\n                               \"ENSEMBL:ENSG00000171100\"\n                               \"ENSEMBL:ENSG00000210195\"\n                               \"ENSEMBL:ENSG00000185499\"\n                               \"ENSEMBL:ENSG00000215182\"\n                               \"ENSEMBL:ENSG00000136997\"\n                               \"ENSEMBL:ENSG00000172936\"\n                               \"ENSEMBL:ENSG00000109063\"\n                               \"ENSEMBL:ENSG00000065534\"\n                               \"ENSEMBL:ENSG00000116044\"\n                               \"ENSEMBL:ENSG00000109320\"\n                               \"ENSEMBL:ENSG00000100906\"\n                               \"ENSEMBL:ENSG00000001167\"\n                               \"ENSEMBL:ENSG00000089250\"\n                               \"ENSEMBL:ENSG00000164867\"\n                               \"ENSEMBL:ENSG00000161270\"\n                               \"ENSEMBL:ENSG00000135318\"\n                               \"ENSEMBL:ENSG00000111331\"\n                               \"ENSEMBL:ENSG00000112038\"\n                               \"ENSEMBL:ENSG00000089041\"\n                               \"ENSEMBL:ENSG00000185624\"\n                               \"ENSEMBL:ENSG00000007168\"\n                               \"ENSEMBL:ENSG00000117450\"\n                               \"ENSEMBL:ENSG00000106366\"\n                               \"ENSEMBL:ENSG00000126759\"\n                               \"ENSEMBL:ENSG00000197249\"\n                               \"ENSEMBL:ENSG00000124102\"\n                               \"ENSEMBL:ENSG00000121879\"\n                               \"ENSEMBL:ENSG00000051382\"\n                               \"ENSEMBL:ENSG00000171608\"\n                               \"ENSEMBL:ENSG00000105851\"\n                               \"ENSEMBL:ENSG00000170890\"\n                               \"ENSEMBL:ENSG00000188257\"\n                               \"ENSEMBL:ENSG00000116711\"\n                               \"ENSEMBL:ENSG00000118495\"\n                               \"ENSEMBL:ENSG00000011422\"\n                               \"ENSEMBL:ENSG00000115896\"\n                               \"ENSEMBL:ENSG00000075651\"\n                               \"ENSEMBL:ENSG00000178209\"\n                               \"ENSEMBL:ENSG00000266964\"\n                               \"ENSEMBL:ENSG00000115138\"\n                               \"ENSEMBL:ENSG00000186951\"\n                               \"ENSEMBL:ENSG00000122862\"\n                               \"ENSEMBL:ENSG00000100030\"\n                               \"ENSEMBL:ENSG00000107643\"\n                               \"ENSEMBL:ENSG00000169032\"\n                               \"ENSEMBL:ENSG00000115718\"\n                               \"ENSEMBL:ENSG00000184500\"\n                               \"ENSEMBL:ENSG00000189002\"\n                               \"ENSEMBL:ENSG00000135406\"\n                               \"ENSEMBL:ENSG00000041357\"\n                               \"ENSEMBL:ENSG00000197170\"\n                               \"ENSEMBL:ENSG00000011304\"\n                               \"ENSEMBL:ENSG00000073756\"\n                               \"ENSEMBL:ENSG00000169398\"\n                               \"ENSEMBL:ENSG00000105894\"\n                               \"ENSEMBL:ENSG00000081237\"\n                               \"ENSEMBL:ENSG00000113456\"\n                               \"ENSEMBL:ENSG00000069974\"\n                               \"ENSEMBL:ENSG00000080823\"\n                               \"ENSEMBL:ENSG00000112619\"\n                               \"ENSEMBL:ENSG00000173039\"\n                               \"ENSEMBL:ENSG00000143839\"\n                               \"ENSEMBL:ENSG00000102032\"\n                               \"ENSEMBL:ENSG00000163914\"\n                               \"ENSEMBL:ENSG00000067900\"\n                               \"ENSEMBL:ENSG00000149489\"\n                               \"ENSEMBL:ENSG00000196218\"\n                               \"ENSEMBL:ENSG00000196154\"\n                               \"ENSEMBL:ENSG00000163220\"\n                               \"ENSEMBL:ENSG00000031698\"\n                               \"ENSEMBL:ENSG00000111319\"\n                               \"ENSEMBL:ENSG00000108691\"\n                               \"ENSEMBL:ENSG00000108688\"\n                               \"ENSEMBL:ENSG00000163735\"\n                               \"ENSEMBL:ENSG00000110876\"\n                               \"ENSEMBL:ENSG00000168878\"\n                               \"ENSEMBL:ENSG00000168484\"\n                               \"ENSEMBL:ENSG00000133661\"\n                               \"ENSEMBL:ENSG00000064651\"\n                               \"ENSEMBL:ENSG00000197208\"\n                               \"ENSEMBL:ENSG00000166311\"\n                               \"ENSEMBL:ENSG00000075618\"\n                               \"ENSEMBL:ENSG00000125835\"\n                               \"ENSEMBL:ENSG00000142168\"\n                               \"ENSEMBL:ENSG00000112096\"\n                               \"ENSEMBL:ENSG00000109610\"\n                               \"ENSEMBL:ENSG00000125398\"\n                               \"ENSEMBL:ENSG00000100883\"\n                               \"ENSEMBL:ENSG00000168610\"\n                               \"ENSEMBL:ENSG00000126561\"\n                               \"ENSEMBL:ENSG00000173757\"\n                               \"ENSEMBL:ENSG00000087586\"\n                               \"ENSEMBL:ENSG00000067715\"\n                               \"ENSEMBL:ENSG00000231925\"\n                               \"ENSEMBL:ENSG00000006638\"\n                               \"ENSEMBL:ENSG00000118526\"\n                               \"ENSEMBL:ENSG00000120156\"\n                               \"ENSEMBL:ENSG00000164362\"\n                               \"ENSEMBL:ENSG00000003436\"\n                               \"ENSEMBL:ENSG00000105329\"\n                               \"ENSEMBL:ENSG00000198959\"\n                               \"ENSEMBL:ENSG00000178726\"\n                               \"ENSEMBL:ENSG00000116001\"\n                               \"ENSEMBL:ENSG00000102265\"\n                               \"ENSEMBL:ENSG00000136352\"\n                               \"ENSEMBL:ENSG00000137462\"\n                               \"ENSEMBL:ENSG00000164342\"\n                               \"ENSEMBL:ENSG00000136869\"\n                               \"ENSEMBL:ENSG00000127324\"\n                               \"ENSEMBL:ENSG00000149809\"\n                               \"ENSEMBL:ENSG00000232810\"\n                               \"ENSEMBL:ENSG00000118503\"\n                               \"ENSEMBL:ENSG00000067182\"\n                               \"ENSEMBL:ENSG00000118194\"\n                               \"ENSEMBL:ENSG00000131747\"\n                               \"ENSEMBL:ENSG00000111669\"\n                               \"ENSEMBL:ENSG00000128311\"\n                               \"ENSEMBL:ENSG00000125482\"\n                               \"ENSEMBL:ENSG00000155657\"\n                               \"ENSEMBL:ENSG00000136810\"\n                               \"ENSEMBL:ENSG00000198431\"\n                               \"ENSEMBL:ENSG00000149021\"\n                               \"ENSEMBL:ENSG00000174607\"\n                               \"ENSEMBL:ENSG00000111424\"\n                               \"ENSEMBL:ENSG00000112715\"\n                               \"ENSEMBL:ENSG00000146469\"\n                               \"ENSEMBL:ENSG00000110799\"\n                               \"ENSEMBL:ENSG00000158125\"\n                               \"ENSEMBL:ENSG00000164924\"\n                               \"ENSEMBL:ENSG00000121966\"\n                               \"ENSEMBL:ENSG00000146070\"\n                               \"ENSEMBL:ENSG00000106305\"\n                               \"ENSEMBL:ENSG00000050327\"\n                               \"ENSEMBL:ENSG00000083168\"\n                               \"ENSEMBL:ENSG00000118972\"\n                               \"ENSEMBL:ENSG00000206561\"\n                               \"ENSEMBL:ENSG00000184381\"\n                               \"ENSEMBL:ENSG00000069764\"\n                               \"ENSEMBL:ENSG00000108528\"\n                               \"ENSEMBL:ENSG00000117461\"\n                               \"ENSEMBL:ENSG00000134107\"\n                               \"ENSEMBL:ENSG00000136908\"\n                               \"ENSEMBL:ENSG00000171720\"\n                               \"ENSEMBL:ENSG00000176170\"\n                               \"ENSEMBL:ENSG00000111602\"\n                               \"ENSEMBL:ENSG00000173805\"\n                               \"ENSEMBL:ENSG00000131023\"\n                               \"ENSEMBL:ENSG00000157456\"\n                               \"ENSEMBL:ENSG00000162889\"\n                               \"ENSEMBL:ENSG00000103671\"\n                               \"ENSEMBL:ENSG00000133116\"\n                               \"ENSEMBL:ENSG00000181092\"\n                               \"ENSEMBL:ENSG00000100351\"\n                               \"ENSEMBL:ENSG00000136156\"\n                               \"ENSEMBL:ENSG00000102230\"\n                               \"ENSEMBL:ENSG00000057663\"\n                               \"ENSEMBL:ENSG00000134318\"\n                               \"ENSEMBL:ENSG00000117592\"\n                               \"ENSEMBL:ENSG00000187608\"\n                               \"ENSEMBL:ENSG00000103335\"\n                               \"ENSEMBL:ENSG00000165733\"\n                               \"ENSEMBL:ENSG00000079999\"\n                               \"ENSEMBL:ENSG00000044090\"\n                               \"ENSEMBL:ENSG00000117020\"\n                               \"ENSEMBL:ENSG00000105835\"\n                               \"ENSEMBL:ENSG00000105246\"\n                               \"ENSEMBL:ENSG00000131477\"\n                               \"ENSEMBL:ENSG00000127528\"\n                               \"ENSEMBL:ENSG00000167315\"\n                               \"ENSEMBL:ENSG00000140092\"\n                               \"ENSEMBL:ENSG00000101000\"\n                               \"ENSEMBL:ENSG00000100591\"\n                               \"ENSEMBL:ENSG00000160999\"\n                               \"ENSEMBL:ENSG00000162493\"\n                               \"ENSEMBL:ENSG00000048740\"\n                               \"ENSEMBL:ENSG00000173083\"\n                               \"ENSEMBL:ENSG00000196843\"\n                               \"ENSEMBL:ENSG00000126264\"\n                               \"ENSEMBL:ENSG00000137959\"\n                               \"ENSEMBL:ENSG00000269821\"\n                               \"ENSEMBL:ENSG00000083807\"\n                               \"ENSEMBL:ENSG00000167114\"\n                               \"ENSEMBL:ENSG00000129465\"\n                               \"ENSEMBL:ENSG00000136110\"\n                               \"ENSEMBL:ENSG00000256525\"\n                               \"ENSEMBL:ENSG00000142082\"\n                               \"ENSEMBL:ENSG00000096717\"\n                               \"ENSEMBL:ENSG00000136859\"\n                               \"ENSEMBL:ENSG00000172828\"\n                               \"ENSEMBL:ENSG00000123415\"\n                               \"ENSEMBL:ENSG00000025800\"\n                               \"ENSEMBL:ENSG00000154589\"\n                               \"ENSEMBL:ENSG00000177663\"\n                               \"ENSEMBL:ENSG00000034677\"\n                               \"ENSEMBL:ENSG00000196141\"\n                               \"ENSEMBL:ENSG00000004142\"\n                               \"ENSEMBL:ENSG00000113249\"\n                               \"ENSEMBL:ENSG00000007952\"\n                               \"ENSEMBL:ENSG00000086232\"\n                               \"ENSEMBL:ENSG00000138744\"\n                               \"ENSEMBL:ENSG00000163106\"\n                               \"ENSEMBL:ENSG00000138375\"\n                               \"ENSEMBL:ENSG00000086991\"\n                               \"ENSEMBL:ENSG00000219430\"\n                               \"ENSEMBL:ENSG00000138303\"\n                               \"ENSEMBL:ENSG00000126524\"\n                               \"ENSEMBL:ENSG00000167772\"\n                               \"ENSEMBL:ENSG00000165682\"\n                               \"ENSEMBL:ENSG00000101916\"\n                               \"ENSEMBL:ENSG00000172458\"\n                               \"ENSEMBL:ENSG00000124731\"\n                               \"ENSEMBL:ENSG00000011426\"\n                               \"ENSEMBL:ENSG00000135766\"\n                               \"ENSEMBL:ENSG00000241635\"\n                               \"ENSEMBL:ENSG00000104835\"\n                               \"ENSEMBL:ENSG00000185480\"\n                               \"ENSEMBL:ENSG00000110075\"\n                               \"ENSEMBL:ENSG00000079691\"\n                               \"ENSEMBL:ENSG00000171109\"\n                               \"ENSEMBL:ENSG00000151849\"\n                               \"ENSEMBL:ENSG00000126970\"\n                               \"ENSEMBL:ENSG00000169241\"\n                               \"ENSEMBL:ENSG00000074842\"\n                               \"ENSEMBL:ENSG00000185115\"\n                               \"ENSEMBL:ENSG00000136688\"\n                               \"ENSEMBL:ENSG00000115350\"\n                               \"ENSEMBL:ENSG00000111666\"\n                               \"ENSEMBL:ENSG00000198074\"\n                               \"ENSEMBL:ENSG00000283122\"\n                               \"ENSEMBL:ENSG00000139946\"\n                               \"ENSEMBL:ENSG00000175482\"\n                               \"ENSEMBL:ENSG00000117569\"\n                               \"ENSEMBL:ENSG00000130234\"\n                               \"ENSEMBL:ENSG00000198026\"\n                               \"ENSEMBL:ENSG00000132429\"\n                               \"ENSEMBL:ENSG00000114745\"\n                               \"ENSEMBL:ENSG00000060237\"\n                               \"ENSEMBL:ENSG00000262246\"\n                               \"ENSEMBL:ENSG00000104518\"\n                               \"ENSEMBL:ENSG00000153395\"\n                               \"ENSEMBL:ENSG00000146094\"\n                               \"ENSEMBL:ENSG00000125779\"\n                               \"ENSEMBL:ENSG00000197496\"\n                               \"ENSEMBL:ENSG00000169612\"\n                               \"ENSEMBL:ENSG00000138496\"\n                               \"ENSEMBL:ENSG00000169962\"\n                               \"ENSEMBL:ENSG00000130363\"\n                               \"ENSEMBL:ENSG00000103510\"\n                               \"ENSEMBL:ENSG00000106125\"\n                               \"ENSEMBL:ENSG00000131653\"\n                               \"ENSEMBL:ENSG00000145794\"\n                               \"ENSEMBL:ENSG00000163702\"\n                               \"ENSEMBL:ENSG00000100410\"\n                               \"ENSEMBL:ENSG00000137691\"\n                               \"ENSEMBL:ENSG00000160188\"\n                               \"ENSEMBL:ENSG00000151148\"\n                               \"ENSEMBL:ENSG00000137033\"\n                               \"ENSEMBL:ENSG00000178473\"\n                               \"ENSEMBL:ENSG00000162711\"\n                               \"ENSEMBL:ENSG00000161544\"\n                               \"ENSEMBL:ENSG00000153391\"\n                               \"ENSEMBL:ENSG00000205359\"\n                               \"ENSEMBL:ENSG00000168724\"\n                               \"ENSEMBL:ENSG00000229140\"\n                               \"ENSEMBL:ENSG00000165953\"\n                               \"ENSEMBL:ENSG00000172967\"\n                               \"ENSEMBL:ENSG00000163803\"\n                               \"ENSEMBL:ENSG00000197272\"\n                               \"ENSEMBL:ENSG00000175311\"\n                               \"ENSEMBL:ENSG00000170782\"\n                               \"ENSEMBL:ENSG00000189195\"\n                               \"ENSEMBL:ENSG00000161911\"\n                               \"ENSEMBL:ENSG00000197448\"\n                               \"ENSEMBL:ENSG00000251562\"\n                               \"ENSEMBL:ENSG00000187258\"\n                               \"ENSEMBL:ENSG00000248131\"\n                               \"ENSEMBL:ENSG00000284520\"\n                               \"ENSEMBL:ENSG00000199133\"\n                               \"ENSEMBL:ENSG00000284440\"\n                               \"ENSEMBL:ENSG00000199161\"\n                               \"ENSEMBL:ENSG00000207608\"\n                               \"ENSEMBL:ENSG00000207625\"\n                               \"ENSEMBL:ENSG00000207782\"\n                               \"ENSEMBL:ENSG00000283904\"\n                               \"ENSEMBL:ENSG00000283815\"\n                               \"ENSEMBL:ENSG00000284204\"\n                               \"ENSEMBL:ENSG00000207607\"\n                               \"ENSEMBL:ENSG00000199038\"\n                               \"ENSEMBL:ENSG00000207702\"\n                               \"ENSEMBL:ENSG00000207590\"\n                               \"ENSEMBL:ENSG00000207798\"\n                               \"ENSEMBL:ENSG00000207870\"\n                               \"ENSEMBL:ENSG00000284567\"\n                               \"ENSEMBL:ENSG00000199075\"\n                               \"ENSEMBL:ENSG00000199121\"\n                               \"ENSEMBL:ENSG00000207808\"\n                               \"ENSEMBL:ENSG00000207864\"\n                               \"ENSEMBL:ENSG00000207827\"\n                               \"ENSEMBL:ENSG00000207582\"\n                               \"ENSEMBL:ENSG00000284357\"\n                               \"ENSEMBL:ENSG00000207638\"\n                               \"ENSEMBL:ENSG00000199059\"\n                               \"ENSEMBL:ENSG00000199151\"\n                               \"ENSEMBL:ENSG00000199104\"\n                               \"ENSEMBL:ENSG00000198982\"\n                               \"ENSEMBL:ENSG00000199020\"\n                               \"ENSEMBL:ENSG00000208001\"\n                               \"ENSEMBL:ENSG00000202569\"\n                               \"ENSEMBL:ENSG00000194717\"\n                               \"ENSEMBL:ENSG00000207731\"\n                               \"ENSEMBL:ENSG00000122852\"\n                               \"ENSEMBL:ENSG00000207571\"\n                               \"ENSEMBL:ENSG00000185303\"\n                               \"ENSEMBL:ENSG00000211590\"\n                               \"ENSEMBL:ENSG00000285427\"\n                               \"ENSEMBL:ENSG00000228750\"\n                               \"ENSEMBL:ENSG00000280634\"\n                               \"ENSEMBL:ENSG00000243438\"\n                               \"ENSEMBL:ENSG00000201796\"\n                               \"ENSEMBL:ENSG00000240160\")))\n\n(define (unwrap lst)\n  (if (null? lst) lst\n      (append (car lst) (unwrap (cdr lst)))))\n\n(define (predicate e)\n  (cdr (list-ref e 4)))\n\n(define (summary-obj edge-sum)\n  (car (list-ref edge-sum 4)))\n\n(define (summary-subj edge-sum)\n  (car (list-ref edge-sum 3)))\n\n(define ((edge/db? db) e) (eq? db (car e)))\n\n(define (sort-inner-hash h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (set-count (cdr x)))))\n\n(define (sort-outer-hash h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (length (cdr x)))))\n\n(define (sort-counter h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (cdr x))))\n\n#|getting uniprots using run/graph\n(define encodes (find-predicates '(\"encodes\")))\n(define gene-curie?\n  (lambda (x)\n    (or\n     (string-prefix? x \"HGNC:\")\n     (string-prefix? x \"ENSEMBL:\")\n     (string-prefix? x \"NCBIGene:\"))))\n\n(define encodes-us (remove-duplicates (unwrap (filter (lambda (x) (not (null? x))) (set-map gene-list\n                                                                         (lambda (g) (time\n                                                                                      (define S (filter (lambda (x) (eq? (car x) 'rtx2)) (find-concepts #t (filter gene-curie? (map car (curie-synonyms/names g))))))\n                                                                                      (match-define\n                                                                                        (list name=>concepts name=>edges)\n                                                                                        (run/graph\n                                                                                         ((G S)\n                                                                                          (U #f))\n                                                                                         ((G->U encodes))\n                                                                                         (G G->U U)))\n                                                                                      (map concept->curie (hash-ref name=>concepts 'U))\n                                                                                      ))\n                                                                         )))))\n|#\n\n(define uniprot-curie?\n  (lambda (x)\n    (string-prefix? x \"UniProtKB:\")))\n\n;;Converting ENSEMBL curies to UniProtKB curies using synonymization in order to pass into count-downstream\n(define uniprots (remove-duplicates (filter uniprot-curie? (map car (unwrap (set-map gene-list curie-synonyms/names))))))\n\n#|\ntakes: list of UniProt curies (prot-list), list of GO predicates** (preds)\n** note: preds should only contain \"positively_regulates\", \"negatively_regulates\", \"subclass_of\", or any combination\n**       of those three predicates depending on what type of relationshion you want to count\n\nreturns: a list of the hash tables in this order: go-processes, go-process-members, cell-expression-hash, regulated-cell-expression-hash\n         The contents of these hashes are documented inside the function\n|#\n(define (count-downstream prot-list preds)\n  ;;maps each Uniprot curie (key) in prot-list -> a set of all GO pathways (value) that the UniProt (key) regulates\n  (define go-processes (make-hash))\n  ;;maps GO pathway curies (key) -> a set of all UniProts (value) that are members of the GO pathway (key) (not intersected with prot-list)\n  (define go-process-members (make-hash))\n  ;;maps each Uniprot in prot-list (key) -> a set of cell/tissue types (value) they're expressed in\n  (define cell-expression-hash (make-hash))\n  ;;maps each regulated gene (key) found from the 2-hop query -> a set of cell/tissue types (value) they're expressed in\n  (define regulated-genes-cell-expression-hash (make-hash))\n  (define involved_in (keep 1 (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates '(\"involved_in\")))))\n  (define regulators (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates preds)))\n  (define expressed_in (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates '(\"expressed_in\"))))\n  (for-each\n   (lambda (u)\n     (define S (filter (lambda (x) (equal? (car x) 'rtx2)) (find-concepts #t (list u))))\n     ;;G->M->X 1.1 + 1.3\n     ;;G->C - 1.2\n     ;;rG->X - 1.4\n     ;;rG->rC - 1.5\n     (unless (empty? S)\n       (match-define\n         (list name=>concepts name=>edges)\n         (time (run/graph\n                ((G S)\n                 (M #f)\n                 (X #f)\n                 (C #f)\n                 (rG #f)\n                 (rC #f))\n                ((G->M involved_in)\n                 (G->C expressed_in)\n                 (M->X regulators)\n                 (rG->X involved_in)\n                 (rG->rC expressed_in))\n                (G G->M M)\n                (G G->C C)\n                (M M->X X)\n                (rG rG->X X)\n                (rG rG->rC rC))))\n       ;;go-processes (k=>v): G=>X\n       (hash-set! go-processes u (list->set (map concept->curie (hash-ref name=>concepts 'X))))\n       ;;cell-expression-hash (k=>v): G=>C\n       (hash-set! cell-expression-hash u (list->set (filter (lambda (x) (string-prefix? x \"UBERON:\")) (map concept->curie (hash-ref name=>concepts 'C)))))\n       ;;regulated-genes-cell-expression-hash (k=>v): rG=>rC\n       (for-each\n        (lambda (e)\n          (unless (not (string-prefix? (concept->curie (edge->object e)) \"UBERON:\"))\n            (hash-update! regulated-genes-cell-expression-hash (concept->curie (edge->subject e)) (lambda (v) (set-add v (concept->curie (edge->object e)))) (set))\n            )\n          )\n        (hash-ref name=>edges 'rG->rC)\n        )\n       ;;go-process-members (k=>v): X=>rG\n       (for-each\n        (lambda (e)\n          (unless (set-member? S (concept->curie (edge->subject e)))\n            (hash-update! go-process-members (concept->curie (edge->object e)) (lambda (v) (set-add v (concept->curie (edge->subject e)))) (set))\n            )\n          )\n        (hash-ref name=>edges 'rG->X)\n        )\n       )\n     )\n   prot-list\n   )\n  (list go-processes go-process-members cell-expression-hash regulated-genes-cell-expression-hash)\n  )\n#|Examples\n(define ards-pos-reg (count-downstream uniprots '(\"positively_regulates\")))\n(define ards-neg-reg (count-downstream uniprots '(\"negatively_regulates\")))\n(define ards-subclass_of (count-downstream uniprots '(\"subclass_of\")))\n(define ards-all-regulation (count-downstream uniprots '(\"positively_regulates\" \"negatively_regulates\" \"subclass_of\")))\n|#\n\n\n#|\ntakes: a list of 4 hash tables returned by the count-downstream function above\n\nManipulates the given hash tables to provide a ranked list of the genes of interest (given as argument prot-list in count-downstream function) by the number of\nother genes they regulate within each cell/tissue type thet they're expressed in. Also gives a ranked list of the cell/tissue types by the number of the genes\nof interest that are expressed in them. This is to make finding possible cells/tissues of interest easier.\n\nreturns: A list of 2 assoc lists - overview of the structure: (list\n                                                                (list (C' . int)\n                                                                      (C\" . int)\n                                                                        ...\n                                                                  )\n                                                                (list (C' (G . (set rG's))\n                                                                          (G . (set rG's))\n                                                                           ...\n                                                                        )\n                                                                      (C\" (G . (set rG's))\n                                                                          (G . (set rG's))\n                                                                           ...\n                                                                        )\n                                                                       ...\n                                                                  )\n                                                                )\nThe first assoc list (key . value): the key is the cell/tissue type (C), the value is (int) the number of genes of interest that are expressed in that\n                                    cell/tissue type. The first assoc is sorted from highest to lowest int\nThe second assoc list (key . (key . value)): the first key is the cell/tissue type (C), the value is another assoc list where the keys are the genes of interest (G)\n  (a nested assoc list)                      expressed in the cell/tissue type (C) and the values are sets of other genes (rG) that are expressed in the cell/tissue type (C)\n                                             AND regulated by the gene of interest (G)\n                                             The inner assoc list is sorted (high->low) by the number of regulated genes (rG). The outer assoc list is given in the same order as\n                                             the first assoc list above.\n|#\n(define (count-by-cell-expressed-in count-downstream-results)\n  (define G=>X (list-ref count-downstream-results 0))\n  (define X=>rG (list-ref count-downstream-results 1))\n  (define G=>C (list-ref count-downstream-results 2))\n  (define rG=>rC (list-ref count-downstream-results 3))\n  (define cell-expression-ranks (make-hash))\n  (define counter (make-hash))\n  ;;populate cell-expression-ranks\n  (hash-for-each\n   G=>X\n   (lambda (G X)\n     (set-for-each\n      X\n      (lambda (x)\n        (set-for-each\n         (set-intersect (hash-ref X=>rG x (set)) (list->set uniprots));;filters for just ARDS genes, remove set-intersect for no filter\n         (lambda (rg)\n           (set-for-each\n            (set-intersect (hash-ref G=>C G (set)) (hash-ref rG=>rC rg (set)))\n            (lambda (c)\n              (hash-update! cell-expression-ranks c\n                            (lambda (h)\n                              (hash-update! h G (lambda (v) (set-add v rg)) (set))\n                              h\n                              )\n                            (make-hash)\n                            )\n              )\n            )\n           )\n         )\n        )\n      )\n     )\n   )\n  (hash-for-each cell-expression-ranks\n                 (lambda (k v)\n                   (hash-set! cell-expression-ranks k (sort-inner-hash v))\n                   (hash-set! counter k (hash-count v))\n                   )\n                 )\n  (list (sort-counter counter) (sort-outer-hash cell-expression-ranks))\n  )\n#|Examples\n(define ards-cell-type-count (count-by-cell-expressed-in ards-pos-reg))\n\n(car ards-cell-type-count) ;;gives the ranked count of the number of genes expressed in each cell type\n(cadr ards-cell-type-count) ;;gives the second (more meaningful) assoc list\n\n;;To get the ranked assoc list of regulating genes for the liver (\"UBERON:0002107\")\n(define liver-genes (cdr (assoc \"UBERON:0002107\" (cadr ards-cell-type-count))))\n;;for the lung (\"UBERON:0002048\")\n(define lung-genes (cdr (assoc \"UBERON:0002048\" (cadr ards-cell-type-count))))\n|#\n\n#|\n(make-hash 'ARDS-Genelist\n           (make-hash 'Gene1-ARDS\n                      (make-hash 'Gene1-UBERON-cell-location\n                                 (make-hash 'pos-reg-GO1\n                                            (make-hash 'GO1\n                                                       (make-hash 'GO1-members\n                                                                  (make-hash 'GO1-member-UBERON-Cell-locations\n                                                                             (make-hash 'GO1-ARDS-members)\n                                                                             )))))))\n|#"
  },
  {
    "path": "contrib/medikanren/pieces-parts/trace-pathways-mjp.rkt",
    "content": "#lang racket\n(require \"../../../medikanren/pieces-parts/query.rkt\")\n\n(define gene-list (list->set '(\"ENSEMBL:ENSG00000167972\"\n                               \"ENSEMBL:ENSG00000198691\"\n                               \"ENSEMBL:ENSG00000175164\"\n                               \"ENSEMBL:ENSG00000278540\"\n                               \"ENSEMBL:ENSG00000100412\"\n                               \"ENSEMBL:ENSG00000162104\"\n                               \"ENSEMBL:ENSG00000204305\"\n                               \"ENSEMBL:ENSG00000135744\"\n                               \"ENSEMBL:ENSG00000144891\"\n                               \"ENSEMBL:ENSG00000180772\"\n                               \"ENSEMBL:ENSG00000142208\"\n                               \"ENSEMBL:ENSG00000148218\"\n                               \"ENSEMBL:ENSG00000163631\"\n                               \"ENSEMBL:ENSG00000085662\"\n                               \"ENSEMBL:ENSG00000154188\"\n                               \"ENSEMBL:ENSG00000091879\"\n                               \"ENSEMBL:ENSG00000182718\"\n                               \"ENSEMBL:ENSG00000134982\"\n                               \"ENSEMBL:ENSG00000132703\"\n                               \"ENSEMBL:ENSG00000023445\"\n                               \"ENSEMBL:ENSG00000142515\"\n                               \"ENSEMBL:ENSG00000026103\"\n                               \"ENSEMBL:ENSG00000117560\"\n                               \"ENSEMBL:ENSG00000240583\"\n                               \"ENSEMBL:ENSG00000161798\"\n                               \"ENSEMBL:ENSG00000006756\"\n                               \"ENSEMBL:ENSG00000117601\"\n                               \"ENSEMBL:ENSG00000149311\"\n                               \"ENSEMBL:ENSG00000164904\"\n                               \"ENSEMBL:ENSG00000171791\"\n                               \"ENSEMBL:ENSG00000101144\"\n                               \"ENSEMBL:ENSG00000010671\"\n                               \"ENSEMBL:ENSG00000100300\"\n                               \"ENSEMBL:ENSG00000149131\"\n                               \"ENSEMBL:ENSG00000171860\"\n                               \"ENSEMBL:ENSG00000106804\"\n                               \"ENSEMBL:ENSG00000197405\"\n                               \"ENSEMBL:ENSG00000149823\"\n                               \"ENSEMBL:ENSG00000063180\"\n                               \"ENSEMBL:ENSG00000164305\"\n                               \"ENSEMBL:ENSG00000121691\"\n                               \"ENSEMBL:ENSG00000105974\"\n                               \"ENSEMBL:ENSG00000124813\"\n                               \"ENSEMBL:ENSG00000149257\"\n                               \"ENSEMBL:ENSG00000134057\"\n                               \"ENSEMBL:ENSG00000170458\"\n                               \"ENSEMBL:ENSG00000121594\"\n                               \"ENSEMBL:ENSG00000101017\"\n                               \"ENSEMBL:ENSG00000102245\"\n                               \"ENSEMBL:ENSG00000026508\"\n                               \"ENSEMBL:ENSG00000085063\"\n                               \"ENSEMBL:ENSG00000129226\"\n                               \"ENSEMBL:ENSG00000179776\"\n                               \"ENSEMBL:ENSG00000100526\"\n                               \"ENSEMBL:ENSG00000170835\"\n                               \"ENSEMBL:ENSG00000001626\"\n                               \"ENSEMBL:ENSG00000133019\"\n                               \"ENSEMBL:ENSG00000196811\"\n                               \"ENSEMBL:ENSG00000099622\"\n                               \"ENSEMBL:ENSG00000122705\"\n                               \"ENSEMBL:ENSG00000183813\"\n                               \"ENSEMBL:ENSG00000188153\"\n                               \"ENSEMBL:ENSG00000115966\"\n                               \"ENSEMBL:ENSG00000167193\"\n                               \"ENSEMBL:ENSG00000132693\"\n                               \"ENSEMBL:ENSG00000118231\"\n                               \"ENSEMBL:ENSG00000112062\"\n                               \"ENSEMBL:ENSG00000101439\"\n                               \"ENSEMBL:ENSG00000118523\"\n                               \"ENSEMBL:ENSG00000168036\"\n                               \"ENSEMBL:ENSG00000100448\"\n                               \"ENSEMBL:ENSG00000166347\"\n                               \"ENSEMBL:ENSG00000140465\"\n                               \"ENSEMBL:ENSG00000140505\"\n                               \"ENSEMBL:ENSG00000138061\"\n                               \"ENSEMBL:ENSG00000160870\"\n                               \"ENSEMBL:ENSG00000106258\"\n                               \"ENSEMBL:ENSG00000196730\"\n                               \"ENSEMBL:ENSG00000011465\"\n                               \"ENSEMBL:ENSG00000159640\"\n                               \"ENSEMBL:ENSG00000164825\"\n                               \"ENSEMBL:ENSG00000197766\"\n                               \"ENSEMBL:ENSG00000181019\"\n                               \"ENSEMBL:ENSG00000213918\"\n                               \"ENSEMBL:ENSG00000197635\"\n                               \"ENSEMBL:ENSG00000164330\"\n                               \"ENSEMBL:ENSG00000213694\"\n                               \"ENSEMBL:ENSG00000078401\"\n                               \"ENSEMBL:ENSG00000138798\"\n                               \"ENSEMBL:ENSG00000197561\"\n                               \"ENSEMBL:ENSG00000021355\"\n                               \"ENSEMBL:ENSG00000066044\"\n                               \"ENSEMBL:ENSG00000116016\"\n                               \"ENSEMBL:ENSG00000133216\"\n                               \"ENSEMBL:ENSG00000120915\"\n                               \"ENSEMBL:ENSG00000130427\"\n                               \"ENSEMBL:ENSG00000157554\"\n                               \"ENSEMBL:ENSG00000157557\"\n                               \"ENSEMBL:ENSG00000180210\"\n                               \"ENSEMBL:ENSG00000117525\"\n                               \"ENSEMBL:ENSG00000198734\"\n                               \"ENSEMBL:ENSG00000117480\"\n                               \"ENSEMBL:ENSG00000166147\"\n                               \"ENSEMBL:ENSG00000151422\"\n                               \"ENSEMBL:ENSG00000140285\"\n                               \"ENSEMBL:ENSG00000160867\"\n                               \"ENSEMBL:ENSG00000111206\"\n                               \"ENSEMBL:ENSG00000115414\"\n                               \"ENSEMBL:ENSG00000170345\"\n                               \"ENSEMBL:ENSG00000154727\"\n                               \"ENSEMBL:ENSG00000163288\"\n                               \"ENSEMBL:ENSG00000128683\"\n                               \"ENSEMBL:ENSG00000141448\"\n                               \"ENSEMBL:ENSG00000168621\"\n                               \"ENSEMBL:ENSG00000134812\"\n                               \"ENSEMBL:ENSG00000265107\"\n                               \"ENSEMBL:ENSG00000173221\"\n                               \"ENSEMBL:ENSG00000147437\"\n                               \"ENSEMBL:ENSG00000186810\"\n                               \"ENSEMBL:ENSG00000167701\"\n                               \"ENSEMBL:ENSG00000113580\"\n                               \"ENSEMBL:ENSG00000082701\"\n                               \"ENSEMBL:ENSG00000132518\"\n                               \"ENSEMBL:ENSG00000145649\"\n                               \"ENSEMBL:ENSG00000100453\"\n                               \"ENSEMBL:ENSG00000148702\"\n                               \"ENSEMBL:ENSG00000084754\"\n                               \"ENSEMBL:ENSG00000019991\"\n                               \"ENSEMBL:ENSG00000100644\"\n                               \"ENSEMBL:ENSG00000189403\"\n                               \"ENSEMBL:ENSG00000100292\"\n                               \"ENSEMBL:ENSG00000125798\"\n                               \"ENSEMBL:ENSG00000135486\"\n                               \"ENSEMBL:ENSG00000257017\"\n                               \"ENSEMBL:ENSG00000113905\"\n                               \"ENSEMBL:ENSG00000176387\"\n                               \"ENSEMBL:ENSG00000204389\"\n                               \"ENSEMBL:ENSG00000204388\"\n                               \"ENSEMBL:ENSG00000170606\"\n                               \"ENSEMBL:ENSG00000070614\"\n                               \"ENSEMBL:ENSG00000041982\"\n                               \"ENSEMBL:ENSG00000090339\"\n                               \"ENSEMBL:ENSG00000185745\"\n                               \"ENSEMBL:ENSG00000171855\"\n                               \"ENSEMBL:ENSG00000111537\"\n                               \"ENSEMBL:ENSG00000006652\"\n                               \"ENSEMBL:ENSG00000017427\"\n                               \"ENSEMBL:ENSG00000146674\"\n                               \"ENSEMBL:ENSG00000167779\"\n                               \"ENSEMBL:ENSG00000104365\"\n                               \"ENSEMBL:ENSG00000115008\"\n                               \"ENSEMBL:ENSG00000125538\"\n                               \"ENSEMBL:ENSG00000115594\"\n                               \"ENSEMBL:ENSG00000136689\"\n                               \"ENSEMBL:ENSG00000109471\"\n                               \"ENSEMBL:ENSG00000134460\"\n                               \"ENSEMBL:ENSG00000113520\"\n                               \"ENSEMBL:ENSG00000136244\"\n                               \"ENSEMBL:ENSG00000168685\"\n                               \"ENSEMBL:ENSG00000169429\"\n                               \"ENSEMBL:ENSG00000136634\"\n                               \"ENSEMBL:ENSG00000169194\"\n                               \"ENSEMBL:ENSG00000112115\"\n                               \"ENSEMBL:ENSG00000150782\"\n                               \"ENSEMBL:ENSG00000169245\"\n                               \"ENSEMBL:ENSG00000125347\"\n                               \"ENSEMBL:ENSG00000005884\"\n                               \"ENSEMBL:ENSG00000169896\"\n                               \"ENSEMBL:ENSG00000160255\"\n                               \"ENSEMBL:ENSG00000115474\"\n                               \"ENSEMBL:ENSG00000128052\"\n                               \"ENSEMBL:ENSG00000171345\"\n                               \"ENSEMBL:ENSG00000172037\"\n                               \"ENSEMBL:ENSG00000148346\"\n                               \"ENSEMBL:ENSG00000115850\"\n                               \"ENSEMBL:ENSG00000131981\"\n                               \"ENSEMBL:ENSG00000138039\"\n                               \"ENSEMBL:ENSG00000105370\"\n                               \"ENSEMBL:ENSG00000226979\"\n                               \"ENSEMBL:ENSG00000160932\"\n                               \"ENSEMBL:ENSG00000183918\"\n                               \"ENSEMBL:ENSG00000277443\"\n                               \"ENSEMBL:ENSG00000166949\"\n                               \"ENSEMBL:ENSG00000165471\"\n                               \"ENSEMBL:ENSG00000143384\"\n                               \"ENSEMBL:ENSG00000014641\"\n                               \"ENSEMBL:ENSG00000110492\"\n                               \"ENSEMBL:ENSG00000095015\"\n                               \"ENSEMBL:ENSG00000240972\"\n                               \"ENSEMBL:ENSG00000138755\"\n                               \"ENSEMBL:ENSG00000087245\"\n                               \"ENSEMBL:ENSG00000149968\"\n                               \"ENSEMBL:ENSG00000100985\"\n                               \"ENSEMBL:ENSG00000005381\"\n                               \"ENSEMBL:ENSG00000130830\"\n                               \"ENSEMBL:ENSG00000125148\"\n                               \"ENSEMBL:ENSG00000087250\"\n                               \"ENSEMBL:ENSG00000171100\"\n                               \"ENSEMBL:ENSG00000210195\"\n                               \"ENSEMBL:ENSG00000185499\"\n                               \"ENSEMBL:ENSG00000215182\"\n                               \"ENSEMBL:ENSG00000136997\"\n                               \"ENSEMBL:ENSG00000172936\"\n                               \"ENSEMBL:ENSG00000109063\"\n                               \"ENSEMBL:ENSG00000065534\"\n                               \"ENSEMBL:ENSG00000116044\"\n                               \"ENSEMBL:ENSG00000109320\"\n                               \"ENSEMBL:ENSG00000100906\"\n                               \"ENSEMBL:ENSG00000001167\"\n                               \"ENSEMBL:ENSG00000089250\"\n                               \"ENSEMBL:ENSG00000164867\"\n                               \"ENSEMBL:ENSG00000161270\"\n                               \"ENSEMBL:ENSG00000135318\"\n                               \"ENSEMBL:ENSG00000111331\"\n                               \"ENSEMBL:ENSG00000112038\"\n                               \"ENSEMBL:ENSG00000089041\"\n                               \"ENSEMBL:ENSG00000185624\"\n                               \"ENSEMBL:ENSG00000007168\"\n                               \"ENSEMBL:ENSG00000117450\"\n                               \"ENSEMBL:ENSG00000106366\"\n                               \"ENSEMBL:ENSG00000126759\"\n                               \"ENSEMBL:ENSG00000197249\"\n                               \"ENSEMBL:ENSG00000124102\"\n                               \"ENSEMBL:ENSG00000121879\"\n                               \"ENSEMBL:ENSG00000051382\"\n                               \"ENSEMBL:ENSG00000171608\"\n                               \"ENSEMBL:ENSG00000105851\"\n                               \"ENSEMBL:ENSG00000170890\"\n                               \"ENSEMBL:ENSG00000188257\"\n                               \"ENSEMBL:ENSG00000116711\"\n                               \"ENSEMBL:ENSG00000118495\"\n                               \"ENSEMBL:ENSG00000011422\"\n                               \"ENSEMBL:ENSG00000115896\"\n                               \"ENSEMBL:ENSG00000075651\"\n                               \"ENSEMBL:ENSG00000178209\"\n                               \"ENSEMBL:ENSG00000266964\"\n                               \"ENSEMBL:ENSG00000115138\"\n                               \"ENSEMBL:ENSG00000186951\"\n                               \"ENSEMBL:ENSG00000122862\"\n                               \"ENSEMBL:ENSG00000100030\"\n                               \"ENSEMBL:ENSG00000107643\"\n                               \"ENSEMBL:ENSG00000169032\"\n                               \"ENSEMBL:ENSG00000115718\"\n                               \"ENSEMBL:ENSG00000184500\"\n                               \"ENSEMBL:ENSG00000189002\"\n                               \"ENSEMBL:ENSG00000135406\"\n                               \"ENSEMBL:ENSG00000041357\"\n                               \"ENSEMBL:ENSG00000197170\"\n                               \"ENSEMBL:ENSG00000011304\"\n                               \"ENSEMBL:ENSG00000073756\"\n                               \"ENSEMBL:ENSG00000169398\"\n                               \"ENSEMBL:ENSG00000105894\"\n                               \"ENSEMBL:ENSG00000081237\"\n                               \"ENSEMBL:ENSG00000113456\"\n                               \"ENSEMBL:ENSG00000069974\"\n                               \"ENSEMBL:ENSG00000080823\"\n                               \"ENSEMBL:ENSG00000112619\"\n                               \"ENSEMBL:ENSG00000173039\"\n                               \"ENSEMBL:ENSG00000143839\"\n                               \"ENSEMBL:ENSG00000102032\"\n                               \"ENSEMBL:ENSG00000163914\"\n                               \"ENSEMBL:ENSG00000067900\"\n                               \"ENSEMBL:ENSG00000149489\"\n                               \"ENSEMBL:ENSG00000196218\"\n                               \"ENSEMBL:ENSG00000196154\"\n                               \"ENSEMBL:ENSG00000163220\"\n                               \"ENSEMBL:ENSG00000031698\"\n                               \"ENSEMBL:ENSG00000111319\"\n                               \"ENSEMBL:ENSG00000108691\"\n                               \"ENSEMBL:ENSG00000108688\"\n                               \"ENSEMBL:ENSG00000163735\"\n                               \"ENSEMBL:ENSG00000110876\"\n                               \"ENSEMBL:ENSG00000168878\"\n                               \"ENSEMBL:ENSG00000168484\"\n                               \"ENSEMBL:ENSG00000133661\"\n                               \"ENSEMBL:ENSG00000064651\"\n                               \"ENSEMBL:ENSG00000197208\"\n                               \"ENSEMBL:ENSG00000166311\"\n                               \"ENSEMBL:ENSG00000075618\"\n                               \"ENSEMBL:ENSG00000125835\"\n                               \"ENSEMBL:ENSG00000142168\"\n                               \"ENSEMBL:ENSG00000112096\"\n                               \"ENSEMBL:ENSG00000109610\"\n                               \"ENSEMBL:ENSG00000125398\"\n                               \"ENSEMBL:ENSG00000100883\"\n                               \"ENSEMBL:ENSG00000168610\"\n                               \"ENSEMBL:ENSG00000126561\"\n                               \"ENSEMBL:ENSG00000173757\"\n                               \"ENSEMBL:ENSG00000087586\"\n                               \"ENSEMBL:ENSG00000067715\"\n                               \"ENSEMBL:ENSG00000231925\"\n                               \"ENSEMBL:ENSG00000006638\"\n                               \"ENSEMBL:ENSG00000118526\"\n                               \"ENSEMBL:ENSG00000120156\"\n                               \"ENSEMBL:ENSG00000164362\"\n                               \"ENSEMBL:ENSG00000003436\"\n                               \"ENSEMBL:ENSG00000105329\"\n                               \"ENSEMBL:ENSG00000198959\"\n                               \"ENSEMBL:ENSG00000178726\"\n                               \"ENSEMBL:ENSG00000116001\"\n                               \"ENSEMBL:ENSG00000102265\"\n                               \"ENSEMBL:ENSG00000136352\"\n                               \"ENSEMBL:ENSG00000137462\"\n                               \"ENSEMBL:ENSG00000164342\"\n                               \"ENSEMBL:ENSG00000136869\"\n                               \"ENSEMBL:ENSG00000127324\"\n                               \"ENSEMBL:ENSG00000149809\"\n                               \"ENSEMBL:ENSG00000232810\"\n                               \"ENSEMBL:ENSG00000118503\"\n                               \"ENSEMBL:ENSG00000067182\"\n                               \"ENSEMBL:ENSG00000118194\"\n                               \"ENSEMBL:ENSG00000131747\"\n                               \"ENSEMBL:ENSG00000111669\"\n                               \"ENSEMBL:ENSG00000128311\"\n                               \"ENSEMBL:ENSG00000125482\"\n                               \"ENSEMBL:ENSG00000155657\"\n                               \"ENSEMBL:ENSG00000136810\"\n                               \"ENSEMBL:ENSG00000198431\"\n                               \"ENSEMBL:ENSG00000149021\"\n                               \"ENSEMBL:ENSG00000174607\"\n                               \"ENSEMBL:ENSG00000111424\"\n                               \"ENSEMBL:ENSG00000112715\"\n                               \"ENSEMBL:ENSG00000146469\"\n                               \"ENSEMBL:ENSG00000110799\"\n                               \"ENSEMBL:ENSG00000158125\"\n                               \"ENSEMBL:ENSG00000164924\"\n                               \"ENSEMBL:ENSG00000121966\"\n                               \"ENSEMBL:ENSG00000146070\"\n                               \"ENSEMBL:ENSG00000106305\"\n                               \"ENSEMBL:ENSG00000050327\"\n                               \"ENSEMBL:ENSG00000083168\"\n                               \"ENSEMBL:ENSG00000118972\"\n                               \"ENSEMBL:ENSG00000206561\"\n                               \"ENSEMBL:ENSG00000184381\"\n                               \"ENSEMBL:ENSG00000069764\"\n                               \"ENSEMBL:ENSG00000108528\"\n                               \"ENSEMBL:ENSG00000117461\"\n                               \"ENSEMBL:ENSG00000134107\"\n                               \"ENSEMBL:ENSG00000136908\"\n                               \"ENSEMBL:ENSG00000171720\"\n                               \"ENSEMBL:ENSG00000176170\"\n                               \"ENSEMBL:ENSG00000111602\"\n                               \"ENSEMBL:ENSG00000173805\"\n                               \"ENSEMBL:ENSG00000131023\"\n                               \"ENSEMBL:ENSG00000157456\"\n                               \"ENSEMBL:ENSG00000162889\"\n                               \"ENSEMBL:ENSG00000103671\"\n                               \"ENSEMBL:ENSG00000133116\"\n                               \"ENSEMBL:ENSG00000181092\"\n                               \"ENSEMBL:ENSG00000100351\"\n                               \"ENSEMBL:ENSG00000136156\"\n                               \"ENSEMBL:ENSG00000102230\"\n                               \"ENSEMBL:ENSG00000057663\"\n                               \"ENSEMBL:ENSG00000134318\"\n                               \"ENSEMBL:ENSG00000117592\"\n                               \"ENSEMBL:ENSG00000187608\"\n                               \"ENSEMBL:ENSG00000103335\"\n                               \"ENSEMBL:ENSG00000165733\"\n                               \"ENSEMBL:ENSG00000079999\"\n                               \"ENSEMBL:ENSG00000044090\"\n                               \"ENSEMBL:ENSG00000117020\"\n                               \"ENSEMBL:ENSG00000105835\"\n                               \"ENSEMBL:ENSG00000105246\"\n                               \"ENSEMBL:ENSG00000131477\"\n                               \"ENSEMBL:ENSG00000127528\"\n                               \"ENSEMBL:ENSG00000167315\"\n                               \"ENSEMBL:ENSG00000140092\"\n                               \"ENSEMBL:ENSG00000101000\"\n                               \"ENSEMBL:ENSG00000100591\"\n                               \"ENSEMBL:ENSG00000160999\"\n                               \"ENSEMBL:ENSG00000162493\"\n                               \"ENSEMBL:ENSG00000048740\"\n                               \"ENSEMBL:ENSG00000173083\"\n                               \"ENSEMBL:ENSG00000196843\"\n                               \"ENSEMBL:ENSG00000126264\"\n                               \"ENSEMBL:ENSG00000137959\"\n                               \"ENSEMBL:ENSG00000269821\"\n                               \"ENSEMBL:ENSG00000083807\"\n                               \"ENSEMBL:ENSG00000167114\"\n                               \"ENSEMBL:ENSG00000129465\"\n                               \"ENSEMBL:ENSG00000136110\"\n                               \"ENSEMBL:ENSG00000256525\"\n                               \"ENSEMBL:ENSG00000142082\"\n                               \"ENSEMBL:ENSG00000096717\"\n                               \"ENSEMBL:ENSG00000136859\"\n                               \"ENSEMBL:ENSG00000172828\"\n                               \"ENSEMBL:ENSG00000123415\"\n                               \"ENSEMBL:ENSG00000025800\"\n                               \"ENSEMBL:ENSG00000154589\"\n                               \"ENSEMBL:ENSG00000177663\"\n                               \"ENSEMBL:ENSG00000034677\"\n                               \"ENSEMBL:ENSG00000196141\"\n                               \"ENSEMBL:ENSG00000004142\"\n                               \"ENSEMBL:ENSG00000113249\"\n                               \"ENSEMBL:ENSG00000007952\"\n                               \"ENSEMBL:ENSG00000086232\"\n                               \"ENSEMBL:ENSG00000138744\"\n                               \"ENSEMBL:ENSG00000163106\"\n                               \"ENSEMBL:ENSG00000138375\"\n                               \"ENSEMBL:ENSG00000086991\"\n                               \"ENSEMBL:ENSG00000219430\"\n                               \"ENSEMBL:ENSG00000138303\"\n                               \"ENSEMBL:ENSG00000126524\"\n                               \"ENSEMBL:ENSG00000167772\"\n                               \"ENSEMBL:ENSG00000165682\"\n                               \"ENSEMBL:ENSG00000101916\"\n                               \"ENSEMBL:ENSG00000172458\"\n                               \"ENSEMBL:ENSG00000124731\"\n                               \"ENSEMBL:ENSG00000011426\"\n                               \"ENSEMBL:ENSG00000135766\"\n                               \"ENSEMBL:ENSG00000241635\"\n                               \"ENSEMBL:ENSG00000104835\"\n                               \"ENSEMBL:ENSG00000185480\"\n                               \"ENSEMBL:ENSG00000110075\"\n                               \"ENSEMBL:ENSG00000079691\"\n                               \"ENSEMBL:ENSG00000171109\"\n                               \"ENSEMBL:ENSG00000151849\"\n                               \"ENSEMBL:ENSG00000126970\"\n                               \"ENSEMBL:ENSG00000169241\"\n                               \"ENSEMBL:ENSG00000074842\"\n                               \"ENSEMBL:ENSG00000185115\"\n                               \"ENSEMBL:ENSG00000136688\"\n                               \"ENSEMBL:ENSG00000115350\"\n                               \"ENSEMBL:ENSG00000111666\"\n                               \"ENSEMBL:ENSG00000198074\"\n                               \"ENSEMBL:ENSG00000283122\"\n                               \"ENSEMBL:ENSG00000139946\"\n                               \"ENSEMBL:ENSG00000175482\"\n                               \"ENSEMBL:ENSG00000117569\"\n                               \"ENSEMBL:ENSG00000130234\"\n                               \"ENSEMBL:ENSG00000198026\"\n                               \"ENSEMBL:ENSG00000132429\"\n                               \"ENSEMBL:ENSG00000114745\"\n                               \"ENSEMBL:ENSG00000060237\"\n                               \"ENSEMBL:ENSG00000262246\"\n                               \"ENSEMBL:ENSG00000104518\"\n                               \"ENSEMBL:ENSG00000153395\"\n                               \"ENSEMBL:ENSG00000146094\"\n                               \"ENSEMBL:ENSG00000125779\"\n                               \"ENSEMBL:ENSG00000197496\"\n                               \"ENSEMBL:ENSG00000169612\"\n                               \"ENSEMBL:ENSG00000138496\"\n                               \"ENSEMBL:ENSG00000169962\"\n                               \"ENSEMBL:ENSG00000130363\"\n                               \"ENSEMBL:ENSG00000103510\"\n                               \"ENSEMBL:ENSG00000106125\"\n                               \"ENSEMBL:ENSG00000131653\"\n                               \"ENSEMBL:ENSG00000145794\"\n                               \"ENSEMBL:ENSG00000163702\"\n                               \"ENSEMBL:ENSG00000100410\"\n                               \"ENSEMBL:ENSG00000137691\"\n                               \"ENSEMBL:ENSG00000160188\"\n                               \"ENSEMBL:ENSG00000151148\"\n                               \"ENSEMBL:ENSG00000137033\"\n                               \"ENSEMBL:ENSG00000178473\"\n                               \"ENSEMBL:ENSG00000162711\"\n                               \"ENSEMBL:ENSG00000161544\"\n                               \"ENSEMBL:ENSG00000153391\"\n                               \"ENSEMBL:ENSG00000205359\"\n                               \"ENSEMBL:ENSG00000168724\"\n                               \"ENSEMBL:ENSG00000229140\"\n                               \"ENSEMBL:ENSG00000165953\"\n                               \"ENSEMBL:ENSG00000172967\"\n                               \"ENSEMBL:ENSG00000163803\"\n                               \"ENSEMBL:ENSG00000197272\"\n                               \"ENSEMBL:ENSG00000175311\"\n                               \"ENSEMBL:ENSG00000170782\"\n                               \"ENSEMBL:ENSG00000189195\"\n                               \"ENSEMBL:ENSG00000161911\"\n                               \"ENSEMBL:ENSG00000197448\"\n                               \"ENSEMBL:ENSG00000251562\"\n                               \"ENSEMBL:ENSG00000187258\"\n                               \"ENSEMBL:ENSG00000248131\"\n                               \"ENSEMBL:ENSG00000284520\"\n                               \"ENSEMBL:ENSG00000199133\"\n                               \"ENSEMBL:ENSG00000284440\"\n                               \"ENSEMBL:ENSG00000199161\"\n                               \"ENSEMBL:ENSG00000207608\"\n                               \"ENSEMBL:ENSG00000207625\"\n                               \"ENSEMBL:ENSG00000207782\"\n                               \"ENSEMBL:ENSG00000283904\"\n                               \"ENSEMBL:ENSG00000283815\"\n                               \"ENSEMBL:ENSG00000284204\"\n                               \"ENSEMBL:ENSG00000207607\"\n                               \"ENSEMBL:ENSG00000199038\"\n                               \"ENSEMBL:ENSG00000207702\"\n                               \"ENSEMBL:ENSG00000207590\"\n                               \"ENSEMBL:ENSG00000207798\"\n                               \"ENSEMBL:ENSG00000207870\"\n                               \"ENSEMBL:ENSG00000284567\"\n                               \"ENSEMBL:ENSG00000199075\"\n                               \"ENSEMBL:ENSG00000199121\"\n                               \"ENSEMBL:ENSG00000207808\"\n                               \"ENSEMBL:ENSG00000207864\"\n                               \"ENSEMBL:ENSG00000207827\"\n                               \"ENSEMBL:ENSG00000207582\"\n                               \"ENSEMBL:ENSG00000284357\"\n                               \"ENSEMBL:ENSG00000207638\"\n                               \"ENSEMBL:ENSG00000199059\"\n                               \"ENSEMBL:ENSG00000199151\"\n                               \"ENSEMBL:ENSG00000199104\"\n                               \"ENSEMBL:ENSG00000198982\"\n                               \"ENSEMBL:ENSG00000199020\"\n                               \"ENSEMBL:ENSG00000208001\"\n                               \"ENSEMBL:ENSG00000202569\"\n                               \"ENSEMBL:ENSG00000194717\"\n                               \"ENSEMBL:ENSG00000207731\"\n                               \"ENSEMBL:ENSG00000122852\"\n                               \"ENSEMBL:ENSG00000207571\"\n                               \"ENSEMBL:ENSG00000185303\"\n                               \"ENSEMBL:ENSG00000211590\"\n                               \"ENSEMBL:ENSG00000285427\"\n                               \"ENSEMBL:ENSG00000228750\"\n                               \"ENSEMBL:ENSG00000280634\"\n                               \"ENSEMBL:ENSG00000243438\"\n                               \"ENSEMBL:ENSG00000201796\"\n                               \"ENSEMBL:ENSG00000240160\")))\n\n(define (unwrap lst)\n  (if (null? lst) lst\n      (append (car lst) (unwrap (cdr lst)))))\n\n(define (predicate e)\n  (cdr (list-ref e 4)))\n\n(define (summary-obj edge-sum)\n  (car (list-ref edge-sum 4)))\n\n(define (summary-subj edge-sum)\n  (car (list-ref edge-sum 3)))\n\n(define ((edge/db? db) e) (eq? db (car e)))\n\n(define (sort-count c)\n  (sort\n   (hash-map c (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (cdr x))))\n\n(define (sort-by-length h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (length (cdr x)))))\n\n#|getting uniprots using run/graph\n(define encodes (find-predicates '(\"encodes\")))\n(define gene-curie?\n  (lambda (x)\n    (or\n     (string-prefix? x \"HGNC:\")\n     (string-prefix? x \"ENSEMBL:\")\n     (string-prefix? x \"NCBIGene:\"))))\n\n(define encodes-us (remove-duplicates (unwrap (filter (lambda (x) (not (null? x))) (set-map gene-list\n                                                                         (lambda (g) (time\n                                                                                      (define S (filter (lambda (x) (eq? (car x) 'rtx2)) (find-concepts #t (filter gene-curie? (map car (curie-synonyms/names g))))))\n                                                                                      (match-define\n                                                                                        (list name=>concepts name=>edges)\n                                                                                        (run/graph\n                                                                                         ((G S)\n                                                                                          (U #f))\n                                                                                         ((G->U encodes))\n                                                                                         (G G->U U)))\n                                                                                      (map concept->curie (hash-ref name=>concepts 'U))\n                                                                                      ))\n                                                                         )))))\n|#\n\n(define uniprot-curie?\n  (lambda (x)\n    (string-prefix? x \"UniProtKB:\")))\n\n;;Converting ENSEMBL curies to UniProtKB curies using synonymization in order to pass into count-downstream\n(define uniprots (remove-duplicates (filter uniprot-curie? (map car (unwrap (set-map gene-list curie-synonyms/names))))))\n\n#|\ntakes: list of UniProt curies (prot-list), list of GO predicates** (preds)\n** note: preds should only contain \"positively_regulates\", \"negatively_regulates\", \"subclass_of\", or any combination\n**       of those three predicates depending on what type of relationshion you want to count\nreturns: sorted (high->low) assoc list of a count of the number of other proteins in prot-list that each prot in prot-list regulates\n|#\n(define cell-expression-hash\n  (make-hash))\n\n(define regulated-genes-cell-expression-hash\n  (make-hash))\n\n(define (count-downstream prot-list preds)\n  ;;hash that maps each Uniprot curie (key) in prot-list -> set of all GO pathways (value) that the UniProt (key) regulates\n  (define go-processes (make-hash))\n  ;;hash that maps GO pathway curie (key) -> set of all UniProts (value) that are members of the GO pathway (key) AND in the prot-list\n  (define go-process-members (make-hash))\n  (define counter (make-hash))\n  (define involved_in (keep 1 (filter (lambda (x) (equal? (car x) 'rtx_2020)) (find-exact-predicates '(\"involved_in\")))))\n  (define regulators (filter (lambda (x) (equal? (car x) 'rtx_2020)) (find-exact-predicates preds)))\n  (define expressed_in (filter (lambda (x) (equal? (car x) 'rtx_2020)) (find-exact-predicates '(\"expressed_in\"))))\n  (for-each\n   (lambda (u)\n     (define S (filter (lambda (x) (equal? (car x) 'rtx_2020)) (find-concepts #t (list u))))\n     ;;this run/graph contains 2-hop query (G->M->X) and 1-hop query (P->X)\n     ;;2-hop (G->M->X): Finds the GO pathways (X) that UniProt (G) regulates\n     ;;1-hop (P->X): Finds the UniProts (P) that are members of the GO pathway (X)\n     (match-define\n       (list name=>concepts name=>edges)\n       (time (run/graph\n              ((G S)\n               (M #f)\n               (X #f)\n               (P #f)\n               (C #f)\n               (rG #f)\n               (rC #f))\n              ((G->M involved_in)\n               (G->C expressed_in)\n               (M->X regulators)\n               (P->X involved_in)\n               (rG->C expressed_in))\n              (G G->M M)\n              (G G->C C)\n              (M M->X X)\n              (P P->X X)\n              (rG rG->C rC))))\n     ;;populates go-processes values with the GO pathways, X, gotten from the 2-hop query G->M->X\n     (hash-set! go-processes u (list->set (map concept->curie (hash-ref name=>concepts 'X))))\n     (hash-set! cell-expression-hash u (list->set (map concept->curie (hash-ref name=>concepts 'C))))\n     (hash-set! regulated-genes-cell-expression-hash u (list->set (map concept->curie (hash-ref name=>concepts 'C))))\n     (for-each\n      (lambda (e)\n        ;;populates go-process-members values with the member UniProts, P, gotten from the 1-hop query P->X\n        (hash-update! go-process-members (concept->curie (edge->object e)) (lambda (v) (set-add v (concept->curie (edge->subject e)))) (set))\n        )\n      (hash-ref name=>edges 'P->X)\n      )\n     )\n   prot-list\n   )\n  ;;counting\n  (hash-for-each go-processes\n                 (lambda (k v)\n                   (define members (mutable-set))\n                   (set-for-each v\n                                 (lambda (g)\n                                   (set-union! members (set-intersect (list->set prot-list) (hash-ref go-process-members g (set))))\n                                   ))\n                   (hash-set! counter k (set-count members))\n                   )\n                 )\n  (sort-count counter)\n  )\n(count-downstream uniprots '(\"positively_regulates\"))\n\n\n(make-hash 'ARDS-Genelist\n           (make-hash 'Gene1-ARDS\n                      (make-hash 'Gene1-UBERON-cell-location\n                                 (make-hash 'pos-reg-GO1\n                                            (make-hash 'GO1\n                                                       (make-hash 'GO1-members\n                                                                  (make-hash 'GO1-member-UBERON-Cell-locations\n                                                                             (make 'GO1-ARDS-members)\n                                                                             )))))))\n\n\n;; which gene regulates the most amount of other genes on the list in a given tissue type\n;; backtrace\n\n\n(define q2hop (query/graph\n               ((G \"UniProtKB:P15692\")\n                (M #f)\n                (X (lambda (c) (string-prefix? c \"GO:\")))\n                (rG #f))\n               ((G->M '(\"involved_in\"))\n                (M->X '(\"positively_regulates\"))\n                (rG->X '(\"expressed_in\")))\n               (G G->M M)\n               (M M->X X)\n               (rG rG->X X)))\n\n(define q2hop (query/graph\n               ((G \"UniProtKB:P15692\")\n                (M #f))\n               ((G->M '(\"expressed_in\")))\n               (G G->M M)))\n\n\n#|2-hop query using query/graph\n(for-each\n (lambda (x) (time\n              (define q2hop (query/graph\n                             ((G x)\n                              (M #f)\n                              (X (lambda (c) (string-prefix? c \"GO:\"))))\n                             ((G->M '(\"involved_in\"))\n                              (M->X go-regulators))\n                             (G G->M M)\n                             (M M->X X)))\n              (hash-set! go-processes x (curies/query q2hop 'X))\n              ))\n uniprots\n )\n|#\n\n#|\n(define (uniprot->ensembl uni)\n  (set-intersect (set->list gene-list) (map car (curie-synonyms/names uni)))\n  )\n\n(define top10 (remove-duplicates (flatten (map uniprot->ensembl (map car (take (sort-count counter) 10))))))\n\n(define member-of (make-hash))\n(hash-for-each go-process-members\n               (lambda (k v)\n                 (set-for-each v\n                               (lambda (u)\n                                 (hash-update! member-of u (lambda (x) (cons k x)) '())\n                                 )\n                               )\n                 )\n               )\n(sort-by-length member-of)\n\n(define regulates-go (make-hash))\n(hash-for-each go-processes\n               (lambda (k v)\n                 (set-for-each v\n                               (lambda (p)\n                                 (hash-update! regulates-go p (lambda (x) (cons k x)) '())\n                                 )\n                               )\n                 )\n               )\n(sort-by-length regulates-go)\n|#\n\n(define preds-of-interest '(\"negatively_regulates\"\n                            \"physically_interacts_with\"\n                            \"positively_regulates\"\n                            \"regulates\"\n                            \"regulates_activity_of\"\n                            \"regulates_expression_of\"\n                            \"stimulates\"\n                            \"inhibits\"))\n\n(define seen (mutable-set))\n(define g-of-interest (mutable-set \"ENSEMBL:ENSG00000136689\"))\n\n(define (backtrace cur-genes g-list)\n  (define all-upstreams (mutable-set))\n  (set-for-each cur-genes\n                (lambda (g)\n                  (define q (query/graph\n                             ((S #f)\n                              (G g))\n                             ((S->G preds-of-interest))\n                             (S S->G G)))\n                  (define all-synons (list->set (map car (unwrap (map curie-synonyms/names (curies/query q 'S))))))\n                  (define upstream (set-remove (set-intersect g-list all-synons) g))\n                  ;;(printf \"~v\\n\" upstream)\n                  (printf \"~v . ~v\\n\" g (set-count upstream)) \n                  (set-union! all-upstreams upstream)\n                  )\n                )\n  ;;update seen list\n  (set-union! seen cur-genes)\n  (set-subtract! all-upstreams seen)\n  (printf \"~v\\n\\n\" (set-count all-upstreams))\n  (if (eq? (set-count all-upstreams) 0) cur-genes\n      (backtrace all-upstreams g-list))\n  )\n  \n#;(backtrace g-of-interest gene-list)\n\n#|\n(define endpoints (mutable-set))\n(define prots-seen (mutable-set))\n\n(define (backtrace-by-go cur-prot)\n  (set-add! prots-seen cur-prot)\n  (define all-gos (hash-ref member-of cur-prot '()))\n  (define all-upstreams (mutable-set))\n  (for-each\n   (lambda (gp)\n     (set-union! all-upstreams (list->mutable-set (hash-ref regulates-go gp '())))\n     )\n   all-gos\n   )\n  (if (set-empty? all-upstreams) (set-add! endpoints cur-prot)\n      ((printf \"~v : ~v\\n\" cur-prot (set-count all-upstreams))\n       (set-subtract! all-upstreams prots-seen)\n       (set-for-each all-upstreams\n                     (lambda (u)\n                       (backtrace-by-go u)\n                       )\n                     )    )    \n      )\n  )\n\n(set-clear! endpoints)\n(backtrace-by-go \"UniProtKB:P01137\")\n|#\n#|\nTop10 from count-downstream of ARDS gene-list\n\n\"ENSEMBL:ENSG00000105329\"\n  \"ENSEMBL:ENSG00000112715\"\n  \"ENSEMBL:ENSG00000078401\"\n  \"ENSEMBL:ENSG00000100644\"\n  \"ENSEMBL:ENSG00000168610\"\n  \"ENSEMBL:ENSG00000125538\"\n  \"ENSEMBL:ENSG00000136689\"\n  \"ENSEMBL:ENSG00000100292\"\n  \"ENSEMBL:ENSG00000087250\"\n  \"ENSEMBL:ENSG00000105974\"\n  \"ENSEMBL:ENSG00000166949\"\n|#\n\n#|\nBacktrace results\nInput:\"ENSEMBL:ENSG00000105329\"\nOutput: \n\"ENSEMBL:ENSG00000208001\" . 0\n\"ENSEMBL:ENSG00000171109\" . 3\n\"ENSEMBL:ENSG00000063180\" . 2\n\"ENSEMBL:ENSG00000199038\" . 0\n\"ENSEMBL:ENSG00000199133\" . 0\n\"ENSEMBL:ENSG00000277443\" . 9\n\"ENSEMBL:ENSG00000211590\" . 0\n\"ENSEMBL:ENSG00000100410\" . 2\n\"ENSEMBL:ENSG00000109063\" . 7\n\"ENSEMBL:ENSG00000166347\" . 4\n\"ENSEMBL:ENSG00000162104\" . 2\n\"ENSEMBL:ENSG00000198982\" . 0\n\"ENSEMBL:ENSG00000125779\" . 1\n\"ENSEMBL:ENSG00000153391\" . 1\n\"ENSEMBL:ENSG00000103510\" . 2\n\"ENSEMBL:ENSG00000207590\" . 0\n\"ENSEMBL:ENSG00000207731\" . 0\n\"ENSEMBL:ENSG00000198026\" . 3\n\"ENSEMBL:ENSG00000083807\" . 4\n\"ENSEMBL:ENSG00000115718\" . 3\n\"ENSEMBL:ENSG00000199020\" . 0\n\"ENSEMBL:ENSG00000284520\" . 0\n\"ENSEMBL:ENSG00000163702\" . 5\n\"ENSEMBL:ENSG00000145649\" . 1\n\"ENSEMBL:ENSG00000153395\" . 1\n\"ENSEMBL:ENSG00000167315\" . 4\n\"ENSEMBL:ENSG00000160932\" . 0\n\"ENSEMBL:ENSG00000266964\" . 2\n\"ENSEMBL:ENSG00000165682\" . 3\n\"ENSEMBL:ENSG00000173805\" . 9\n\"ENSEMBL:ENSG00000125482\" . 4\n\"ENSEMBL:ENSG00000145794\" . 8\n\"ENSEMBL:ENSG00000163803\" . 1\n\"ENSEMBL:ENSG00000105370\" . 6\n\nInput:\"ENSEMBL:ENSG00000168610\"\nOutput: 29\n\"ENSEMBL:ENSG00000208001\" . 0\n\"ENSEMBL:ENSG00000063180\" . 2\n\"ENSEMBL:ENSG00000199038\" . 0\n\"ENSEMBL:ENSG00000199133\" . 0\n\"ENSEMBL:ENSG00000211590\" . 0\n\"ENSEMBL:ENSG00000100410\" . 2\n\"ENSEMBL:ENSG00000162104\" . 2\n\"ENSEMBL:ENSG00000198982\" . 0\n\"ENSEMBL:ENSG00000138744\" . 4\n\"ENSEMBL:ENSG00000125779\" . 1\n\"ENSEMBL:ENSG00000187258\" . 4\n\"ENSEMBL:ENSG00000153391\" . 1\n\"ENSEMBL:ENSG00000103510\" . 2\n\"ENSEMBL:ENSG00000207590\" . 0\n\"ENSEMBL:ENSG00000048740\" . 4\n\"ENSEMBL:ENSG00000198026\" . 3\n\"ENSEMBL:ENSG00000083807\" . 4\n\"ENSEMBL:ENSG00000137959\" . 3\n\"ENSEMBL:ENSG00000115850\" . 4\n\"ENSEMBL:ENSG00000115718\" . 3\n\"ENSEMBL:ENSG00000199020\" . 0\n\"ENSEMBL:ENSG00000174607\" . 1\n\"ENSEMBL:ENSG00000145649\" . 1\n\"ENSEMBL:ENSG00000167315\" . 4\n\"ENSEMBL:ENSG00000173805\" . 9\n\"ENSEMBL:ENSG00000196843\" . 1\n\"ENSEMBL:ENSG00000125482\" . 4\n\"ENSEMBL:ENSG00000145794\" . 8\n\"ENSEMBL:ENSG00000105370\" . 6\n\nInput:\"ENSEMBL:ENSG00000112715\"\nOutput: 1\n\"ENSEMBL:ENSG00000153391\" . 1\n\nInput: \"ENSEMBL:ENSG00000136689\"\nOutput: 41\n\"ENSEMBL:ENSG00000208001\" . 0\n\"ENSEMBL:ENSG00000171109\" . 3\n\"ENSEMBL:ENSG00000063180\" . 2\n\"ENSEMBL:ENSG00000133019\" . 5\n\"ENSEMBL:ENSG00000199038\" . 0\n\"ENSEMBL:ENSG00000199133\" . 0\n\"ENSEMBL:ENSG00000179776\" . 15\n\"ENSEMBL:ENSG00000021355\" . 5\n\"ENSEMBL:ENSG00000133661\" . 1\n\"ENSEMBL:ENSG00000207827\" . 1\n\"ENSEMBL:ENSG00000211590\" . 0\n\"ENSEMBL:ENSG00000100410\" . 2\n\"ENSEMBL:ENSG00000118194\" . 2\n\"ENSEMBL:ENSG00000109063\" . 7\n\"ENSEMBL:ENSG00000117569\" . 2\n\"ENSEMBL:ENSG00000162104\" . 2\n\"ENSEMBL:ENSG00000198982\" . 0\n\"ENSEMBL:ENSG00000138744\" . 4\n\"ENSEMBL:ENSG00000125779\" . 1\n\"ENSEMBL:ENSG00000085063\" . 14\n\"ENSEMBL:ENSG00000103510\" . 2\n\"ENSEMBL:ENSG00000207590\" . 0\n\"ENSEMBL:ENSG00000207731\" . 0\n\"ENSEMBL:ENSG00000284204\" . 0\n\"ENSEMBL:ENSG00000164330\" . 9\n\"ENSEMBL:ENSG00000101000\" . 6\n\"ENSEMBL:ENSG00000137959\" . 3\n\"ENSEMBL:ENSG00000115718\" . 3\n\"ENSEMBL:ENSG00000199020\" . 0\n\"ENSEMBL:ENSG00000284520\" . 0\n\"ENSEMBL:ENSG00000163702\" . 5\n\"ENSEMBL:ENSG00000167315\" . 4\n\"ENSEMBL:ENSG00000160932\" . 0\n\"ENSEMBL:ENSG00000070614\" . 3\n\"ENSEMBL:ENSG00000266964\" . 2\n\"ENSEMBL:ENSG00000165682\" . 3\n\"ENSEMBL:ENSG00000196843\" . 1\n\"ENSEMBL:ENSG00000125482\" . 4\n\"ENSEMBL:ENSG00000145794\" . 8\n\"ENSEMBL:ENSG00000163803\" . 1\n\"ENSEMBL:ENSG00000105370\" . 6 \n|#\n"
  },
  {
    "path": "contrib/medikanren/pieces-parts/trace-pathways.rkt",
    "content": "#lang racket\n(require \"../../../medikanren/pieces-parts/query.rkt\")\n\n(define gene-list (list->set '(\"ENSEMBL:ENSG00000167972\"\n                               \"ENSEMBL:ENSG00000198691\"\n                               \"ENSEMBL:ENSG00000175164\"\n                               \"ENSEMBL:ENSG00000278540\"\n                               \"ENSEMBL:ENSG00000100412\"\n                               \"ENSEMBL:ENSG00000162104\"\n                               \"ENSEMBL:ENSG00000204305\"\n                               \"ENSEMBL:ENSG00000135744\"\n                               \"ENSEMBL:ENSG00000144891\"\n                               \"ENSEMBL:ENSG00000180772\"\n                               \"ENSEMBL:ENSG00000142208\"\n                               \"ENSEMBL:ENSG00000148218\"\n                               \"ENSEMBL:ENSG00000163631\"\n                               \"ENSEMBL:ENSG00000085662\"\n                               \"ENSEMBL:ENSG00000154188\"\n                               \"ENSEMBL:ENSG00000091879\"\n                               \"ENSEMBL:ENSG00000182718\"\n                               \"ENSEMBL:ENSG00000134982\"\n                               \"ENSEMBL:ENSG00000132703\"\n                               \"ENSEMBL:ENSG00000023445\"\n                               \"ENSEMBL:ENSG00000142515\"\n                               \"ENSEMBL:ENSG00000026103\"\n                               \"ENSEMBL:ENSG00000117560\"\n                               \"ENSEMBL:ENSG00000240583\"\n                               \"ENSEMBL:ENSG00000161798\"\n                               \"ENSEMBL:ENSG00000006756\"\n                               \"ENSEMBL:ENSG00000117601\"\n                               \"ENSEMBL:ENSG00000149311\"\n                               \"ENSEMBL:ENSG00000164904\"\n                               \"ENSEMBL:ENSG00000171791\"\n                               \"ENSEMBL:ENSG00000101144\"\n                               \"ENSEMBL:ENSG00000010671\"\n                               \"ENSEMBL:ENSG00000100300\"\n                               \"ENSEMBL:ENSG00000149131\"\n                               \"ENSEMBL:ENSG00000171860\"\n                               \"ENSEMBL:ENSG00000106804\"\n                               \"ENSEMBL:ENSG00000197405\"\n                               \"ENSEMBL:ENSG00000149823\"\n                               \"ENSEMBL:ENSG00000063180\"\n                               \"ENSEMBL:ENSG00000164305\"\n                               \"ENSEMBL:ENSG00000121691\"\n                               \"ENSEMBL:ENSG00000105974\"\n                               \"ENSEMBL:ENSG00000124813\"\n                               \"ENSEMBL:ENSG00000149257\"\n                               \"ENSEMBL:ENSG00000134057\"\n                               \"ENSEMBL:ENSG00000170458\"\n                               \"ENSEMBL:ENSG00000121594\"\n                               \"ENSEMBL:ENSG00000101017\"\n                               \"ENSEMBL:ENSG00000102245\"\n                               \"ENSEMBL:ENSG00000026508\"\n                               \"ENSEMBL:ENSG00000085063\"\n                               \"ENSEMBL:ENSG00000129226\"\n                               \"ENSEMBL:ENSG00000179776\"\n                               \"ENSEMBL:ENSG00000100526\"\n                               \"ENSEMBL:ENSG00000170835\"\n                               \"ENSEMBL:ENSG00000001626\"\n                               \"ENSEMBL:ENSG00000133019\"\n                               \"ENSEMBL:ENSG00000196811\"\n                               \"ENSEMBL:ENSG00000099622\"\n                               \"ENSEMBL:ENSG00000122705\"\n                               \"ENSEMBL:ENSG00000183813\"\n                               \"ENSEMBL:ENSG00000188153\"\n                               \"ENSEMBL:ENSG00000115966\"\n                               \"ENSEMBL:ENSG00000167193\"\n                               \"ENSEMBL:ENSG00000132693\"\n                               \"ENSEMBL:ENSG00000118231\"\n                               \"ENSEMBL:ENSG00000112062\"\n                               \"ENSEMBL:ENSG00000101439\"\n                               \"ENSEMBL:ENSG00000118523\"\n                               \"ENSEMBL:ENSG00000168036\"\n                               \"ENSEMBL:ENSG00000100448\"\n                               \"ENSEMBL:ENSG00000166347\"\n                               \"ENSEMBL:ENSG00000140465\"\n                               \"ENSEMBL:ENSG00000140505\"\n                               \"ENSEMBL:ENSG00000138061\"\n                               \"ENSEMBL:ENSG00000160870\"\n                               \"ENSEMBL:ENSG00000106258\"\n                               \"ENSEMBL:ENSG00000196730\"\n                               \"ENSEMBL:ENSG00000011465\"\n                               \"ENSEMBL:ENSG00000159640\"\n                               \"ENSEMBL:ENSG00000164825\"\n                               \"ENSEMBL:ENSG00000197766\"\n                               \"ENSEMBL:ENSG00000181019\"\n                               \"ENSEMBL:ENSG00000213918\"\n                               \"ENSEMBL:ENSG00000197635\"\n                               \"ENSEMBL:ENSG00000164330\"\n                               \"ENSEMBL:ENSG00000213694\"\n                               \"ENSEMBL:ENSG00000078401\"\n                               \"ENSEMBL:ENSG00000138798\"\n                               \"ENSEMBL:ENSG00000197561\"\n                               \"ENSEMBL:ENSG00000021355\"\n                               \"ENSEMBL:ENSG00000066044\"\n                               \"ENSEMBL:ENSG00000116016\"\n                               \"ENSEMBL:ENSG00000133216\"\n                               \"ENSEMBL:ENSG00000120915\"\n                               \"ENSEMBL:ENSG00000130427\"\n                               \"ENSEMBL:ENSG00000157554\"\n                               \"ENSEMBL:ENSG00000157557\"\n                               \"ENSEMBL:ENSG00000180210\"\n                               \"ENSEMBL:ENSG00000117525\"\n                               \"ENSEMBL:ENSG00000198734\"\n                               \"ENSEMBL:ENSG00000117480\"\n                               \"ENSEMBL:ENSG00000166147\"\n                               \"ENSEMBL:ENSG00000151422\"\n                               \"ENSEMBL:ENSG00000140285\"\n                               \"ENSEMBL:ENSG00000160867\"\n                               \"ENSEMBL:ENSG00000111206\"\n                               \"ENSEMBL:ENSG00000115414\"\n                               \"ENSEMBL:ENSG00000170345\"\n                               \"ENSEMBL:ENSG00000154727\"\n                               \"ENSEMBL:ENSG00000163288\"\n                               \"ENSEMBL:ENSG00000128683\"\n                               \"ENSEMBL:ENSG00000141448\"\n                               \"ENSEMBL:ENSG00000168621\"\n                               \"ENSEMBL:ENSG00000134812\"\n                               \"ENSEMBL:ENSG00000265107\"\n                               \"ENSEMBL:ENSG00000173221\"\n                               \"ENSEMBL:ENSG00000147437\"\n                               \"ENSEMBL:ENSG00000186810\"\n                               \"ENSEMBL:ENSG00000167701\"\n                               \"ENSEMBL:ENSG00000113580\"\n                               \"ENSEMBL:ENSG00000082701\"\n                               \"ENSEMBL:ENSG00000132518\"\n                               \"ENSEMBL:ENSG00000145649\"\n                               \"ENSEMBL:ENSG00000100453\"\n                               \"ENSEMBL:ENSG00000148702\"\n                               \"ENSEMBL:ENSG00000084754\"\n                               \"ENSEMBL:ENSG00000019991\"\n                               \"ENSEMBL:ENSG00000100644\"\n                               \"ENSEMBL:ENSG00000189403\"\n                               \"ENSEMBL:ENSG00000100292\"\n                               \"ENSEMBL:ENSG00000125798\"\n                               \"ENSEMBL:ENSG00000135486\"\n                               \"ENSEMBL:ENSG00000257017\"\n                               \"ENSEMBL:ENSG00000113905\"\n                               \"ENSEMBL:ENSG00000176387\"\n                               \"ENSEMBL:ENSG00000204389\"\n                               \"ENSEMBL:ENSG00000204388\"\n                               \"ENSEMBL:ENSG00000170606\"\n                               \"ENSEMBL:ENSG00000070614\"\n                               \"ENSEMBL:ENSG00000041982\"\n                               \"ENSEMBL:ENSG00000090339\"\n                               \"ENSEMBL:ENSG00000185745\"\n                               \"ENSEMBL:ENSG00000171855\"\n                               \"ENSEMBL:ENSG00000111537\"\n                               \"ENSEMBL:ENSG00000006652\"\n                               \"ENSEMBL:ENSG00000017427\"\n                               \"ENSEMBL:ENSG00000146674\"\n                               \"ENSEMBL:ENSG00000167779\"\n                               \"ENSEMBL:ENSG00000104365\"\n                               \"ENSEMBL:ENSG00000115008\"\n                               \"ENSEMBL:ENSG00000125538\"\n                               \"ENSEMBL:ENSG00000115594\"\n                               \"ENSEMBL:ENSG00000136689\"\n                               \"ENSEMBL:ENSG00000109471\"\n                               \"ENSEMBL:ENSG00000134460\"\n                               \"ENSEMBL:ENSG00000113520\"\n                               \"ENSEMBL:ENSG00000136244\"\n                               \"ENSEMBL:ENSG00000168685\"\n                               \"ENSEMBL:ENSG00000169429\"\n                               \"ENSEMBL:ENSG00000136634\"\n                               \"ENSEMBL:ENSG00000169194\"\n                               \"ENSEMBL:ENSG00000112115\"\n                               \"ENSEMBL:ENSG00000150782\"\n                               \"ENSEMBL:ENSG00000169245\"\n                               \"ENSEMBL:ENSG00000125347\"\n                               \"ENSEMBL:ENSG00000005884\"\n                               \"ENSEMBL:ENSG00000169896\"\n                               \"ENSEMBL:ENSG00000160255\"\n                               \"ENSEMBL:ENSG00000115474\"\n                               \"ENSEMBL:ENSG00000128052\"\n                               \"ENSEMBL:ENSG00000171345\"\n                               \"ENSEMBL:ENSG00000172037\"\n                               \"ENSEMBL:ENSG00000148346\"\n                               \"ENSEMBL:ENSG00000115850\"\n                               \"ENSEMBL:ENSG00000131981\"\n                               \"ENSEMBL:ENSG00000138039\"\n                               \"ENSEMBL:ENSG00000105370\"\n                               \"ENSEMBL:ENSG00000226979\"\n                               \"ENSEMBL:ENSG00000160932\"\n                               \"ENSEMBL:ENSG00000183918\"\n                               \"ENSEMBL:ENSG00000277443\"\n                               \"ENSEMBL:ENSG00000166949\"\n                               \"ENSEMBL:ENSG00000165471\"\n                               \"ENSEMBL:ENSG00000143384\"\n                               \"ENSEMBL:ENSG00000014641\"\n                               \"ENSEMBL:ENSG00000110492\"\n                               \"ENSEMBL:ENSG00000095015\"\n                               \"ENSEMBL:ENSG00000240972\"\n                               \"ENSEMBL:ENSG00000138755\"\n                               \"ENSEMBL:ENSG00000087245\"\n                               \"ENSEMBL:ENSG00000149968\"\n                               \"ENSEMBL:ENSG00000100985\"\n                               \"ENSEMBL:ENSG00000005381\"\n                               \"ENSEMBL:ENSG00000130830\"\n                               \"ENSEMBL:ENSG00000125148\"\n                               \"ENSEMBL:ENSG00000087250\"\n                               \"ENSEMBL:ENSG00000171100\"\n                               \"ENSEMBL:ENSG00000210195\"\n                               \"ENSEMBL:ENSG00000185499\"\n                               \"ENSEMBL:ENSG00000215182\"\n                               \"ENSEMBL:ENSG00000136997\"\n                               \"ENSEMBL:ENSG00000172936\"\n                               \"ENSEMBL:ENSG00000109063\"\n                               \"ENSEMBL:ENSG00000065534\"\n                               \"ENSEMBL:ENSG00000116044\"\n                               \"ENSEMBL:ENSG00000109320\"\n                               \"ENSEMBL:ENSG00000100906\"\n                               \"ENSEMBL:ENSG00000001167\"\n                               \"ENSEMBL:ENSG00000089250\"\n                               \"ENSEMBL:ENSG00000164867\"\n                               \"ENSEMBL:ENSG00000161270\"\n                               \"ENSEMBL:ENSG00000135318\"\n                               \"ENSEMBL:ENSG00000111331\"\n                               \"ENSEMBL:ENSG00000112038\"\n                               \"ENSEMBL:ENSG00000089041\"\n                               \"ENSEMBL:ENSG00000185624\"\n                               \"ENSEMBL:ENSG00000007168\"\n                               \"ENSEMBL:ENSG00000117450\"\n                               \"ENSEMBL:ENSG00000106366\"\n                               \"ENSEMBL:ENSG00000126759\"\n                               \"ENSEMBL:ENSG00000197249\"\n                               \"ENSEMBL:ENSG00000124102\"\n                               \"ENSEMBL:ENSG00000121879\"\n                               \"ENSEMBL:ENSG00000051382\"\n                               \"ENSEMBL:ENSG00000171608\"\n                               \"ENSEMBL:ENSG00000105851\"\n                               \"ENSEMBL:ENSG00000170890\"\n                               \"ENSEMBL:ENSG00000188257\"\n                               \"ENSEMBL:ENSG00000116711\"\n                               \"ENSEMBL:ENSG00000118495\"\n                               \"ENSEMBL:ENSG00000011422\"\n                               \"ENSEMBL:ENSG00000115896\"\n                               \"ENSEMBL:ENSG00000075651\"\n                               \"ENSEMBL:ENSG00000178209\"\n                               \"ENSEMBL:ENSG00000266964\"\n                               \"ENSEMBL:ENSG00000115138\"\n                               \"ENSEMBL:ENSG00000186951\"\n                               \"ENSEMBL:ENSG00000122862\"\n                               \"ENSEMBL:ENSG00000100030\"\n                               \"ENSEMBL:ENSG00000107643\"\n                               \"ENSEMBL:ENSG00000169032\"\n                               \"ENSEMBL:ENSG00000115718\"\n                               \"ENSEMBL:ENSG00000184500\"\n                               \"ENSEMBL:ENSG00000189002\"\n                               \"ENSEMBL:ENSG00000135406\"\n                               \"ENSEMBL:ENSG00000041357\"\n                               \"ENSEMBL:ENSG00000197170\"\n                               \"ENSEMBL:ENSG00000011304\"\n                               \"ENSEMBL:ENSG00000073756\"\n                               \"ENSEMBL:ENSG00000169398\"\n                               \"ENSEMBL:ENSG00000105894\"\n                               \"ENSEMBL:ENSG00000081237\"\n                               \"ENSEMBL:ENSG00000113456\"\n                               \"ENSEMBL:ENSG00000069974\"\n                               \"ENSEMBL:ENSG00000080823\"\n                               \"ENSEMBL:ENSG00000112619\"\n                               \"ENSEMBL:ENSG00000173039\"\n                               \"ENSEMBL:ENSG00000143839\"\n                               \"ENSEMBL:ENSG00000102032\"\n                               \"ENSEMBL:ENSG00000163914\"\n                               \"ENSEMBL:ENSG00000067900\"\n                               \"ENSEMBL:ENSG00000149489\"\n                               \"ENSEMBL:ENSG00000196218\"\n                               \"ENSEMBL:ENSG00000196154\"\n                               \"ENSEMBL:ENSG00000163220\"\n                               \"ENSEMBL:ENSG00000031698\"\n                               \"ENSEMBL:ENSG00000111319\"\n                               \"ENSEMBL:ENSG00000108691\"\n                               \"ENSEMBL:ENSG00000108688\"\n                               \"ENSEMBL:ENSG00000163735\"\n                               \"ENSEMBL:ENSG00000110876\"\n                               \"ENSEMBL:ENSG00000168878\"\n                               \"ENSEMBL:ENSG00000168484\"\n                               \"ENSEMBL:ENSG00000133661\"\n                               \"ENSEMBL:ENSG00000064651\"\n                               \"ENSEMBL:ENSG00000197208\"\n                               \"ENSEMBL:ENSG00000166311\"\n                               \"ENSEMBL:ENSG00000075618\"\n                               \"ENSEMBL:ENSG00000125835\"\n                               \"ENSEMBL:ENSG00000142168\"\n                               \"ENSEMBL:ENSG00000112096\"\n                               \"ENSEMBL:ENSG00000109610\"\n                               \"ENSEMBL:ENSG00000125398\"\n                               \"ENSEMBL:ENSG00000100883\"\n                               \"ENSEMBL:ENSG00000168610\"\n                               \"ENSEMBL:ENSG00000126561\"\n                               \"ENSEMBL:ENSG00000173757\"\n                               \"ENSEMBL:ENSG00000087586\"\n                               \"ENSEMBL:ENSG00000067715\"\n                               \"ENSEMBL:ENSG00000231925\"\n                               \"ENSEMBL:ENSG00000006638\"\n                               \"ENSEMBL:ENSG00000118526\"\n                               \"ENSEMBL:ENSG00000120156\"\n                               \"ENSEMBL:ENSG00000164362\"\n                               \"ENSEMBL:ENSG00000003436\"\n                               \"ENSEMBL:ENSG00000105329\"\n                               \"ENSEMBL:ENSG00000198959\"\n                               \"ENSEMBL:ENSG00000178726\"\n                               \"ENSEMBL:ENSG00000116001\"\n                               \"ENSEMBL:ENSG00000102265\"\n                               \"ENSEMBL:ENSG00000136352\"\n                               \"ENSEMBL:ENSG00000137462\"\n                               \"ENSEMBL:ENSG00000164342\"\n                               \"ENSEMBL:ENSG00000136869\"\n                               \"ENSEMBL:ENSG00000127324\"\n                               \"ENSEMBL:ENSG00000149809\"\n                               \"ENSEMBL:ENSG00000232810\"\n                               \"ENSEMBL:ENSG00000118503\"\n                               \"ENSEMBL:ENSG00000067182\"\n                               \"ENSEMBL:ENSG00000118194\"\n                               \"ENSEMBL:ENSG00000131747\"\n                               \"ENSEMBL:ENSG00000111669\"\n                               \"ENSEMBL:ENSG00000128311\"\n                               \"ENSEMBL:ENSG00000125482\"\n                               \"ENSEMBL:ENSG00000155657\"\n                               \"ENSEMBL:ENSG00000136810\"\n                               \"ENSEMBL:ENSG00000198431\"\n                               \"ENSEMBL:ENSG00000149021\"\n                               \"ENSEMBL:ENSG00000174607\"\n                               \"ENSEMBL:ENSG00000111424\"\n                               \"ENSEMBL:ENSG00000112715\"\n                               \"ENSEMBL:ENSG00000146469\"\n                               \"ENSEMBL:ENSG00000110799\"\n                               \"ENSEMBL:ENSG00000158125\"\n                               \"ENSEMBL:ENSG00000164924\"\n                               \"ENSEMBL:ENSG00000121966\"\n                               \"ENSEMBL:ENSG00000146070\"\n                               \"ENSEMBL:ENSG00000106305\"\n                               \"ENSEMBL:ENSG00000050327\"\n                               \"ENSEMBL:ENSG00000083168\"\n                               \"ENSEMBL:ENSG00000118972\"\n                               \"ENSEMBL:ENSG00000206561\"\n                               \"ENSEMBL:ENSG00000184381\"\n                               \"ENSEMBL:ENSG00000069764\"\n                               \"ENSEMBL:ENSG00000108528\"\n                               \"ENSEMBL:ENSG00000117461\"\n                               \"ENSEMBL:ENSG00000134107\"\n                               \"ENSEMBL:ENSG00000136908\"\n                               \"ENSEMBL:ENSG00000171720\"\n                               \"ENSEMBL:ENSG00000176170\"\n                               \"ENSEMBL:ENSG00000111602\"\n                               \"ENSEMBL:ENSG00000173805\"\n                               \"ENSEMBL:ENSG00000131023\"\n                               \"ENSEMBL:ENSG00000157456\"\n                               \"ENSEMBL:ENSG00000162889\"\n                               \"ENSEMBL:ENSG00000103671\"\n                               \"ENSEMBL:ENSG00000133116\"\n                               \"ENSEMBL:ENSG00000181092\"\n                               \"ENSEMBL:ENSG00000100351\"\n                               \"ENSEMBL:ENSG00000136156\"\n                               \"ENSEMBL:ENSG00000102230\"\n                               \"ENSEMBL:ENSG00000057663\"\n                               \"ENSEMBL:ENSG00000134318\"\n                               \"ENSEMBL:ENSG00000117592\"\n                               \"ENSEMBL:ENSG00000187608\"\n                               \"ENSEMBL:ENSG00000103335\"\n                               \"ENSEMBL:ENSG00000165733\"\n                               \"ENSEMBL:ENSG00000079999\"\n                               \"ENSEMBL:ENSG00000044090\"\n                               \"ENSEMBL:ENSG00000117020\"\n                               \"ENSEMBL:ENSG00000105835\"\n                               \"ENSEMBL:ENSG00000105246\"\n                               \"ENSEMBL:ENSG00000131477\"\n                               \"ENSEMBL:ENSG00000127528\"\n                               \"ENSEMBL:ENSG00000167315\"\n                               \"ENSEMBL:ENSG00000140092\"\n                               \"ENSEMBL:ENSG00000101000\"\n                               \"ENSEMBL:ENSG00000100591\"\n                               \"ENSEMBL:ENSG00000160999\"\n                               \"ENSEMBL:ENSG00000162493\"\n                               \"ENSEMBL:ENSG00000048740\"\n                               \"ENSEMBL:ENSG00000173083\"\n                               \"ENSEMBL:ENSG00000196843\"\n                               \"ENSEMBL:ENSG00000126264\"\n                               \"ENSEMBL:ENSG00000137959\"\n                               \"ENSEMBL:ENSG00000269821\"\n                               \"ENSEMBL:ENSG00000083807\"\n                               \"ENSEMBL:ENSG00000167114\"\n                               \"ENSEMBL:ENSG00000129465\"\n                               \"ENSEMBL:ENSG00000136110\"\n                               \"ENSEMBL:ENSG00000256525\"\n                               \"ENSEMBL:ENSG00000142082\"\n                               \"ENSEMBL:ENSG00000096717\"\n                               \"ENSEMBL:ENSG00000136859\"\n                               \"ENSEMBL:ENSG00000172828\"\n                               \"ENSEMBL:ENSG00000123415\"\n                               \"ENSEMBL:ENSG00000025800\"\n                               \"ENSEMBL:ENSG00000154589\"\n                               \"ENSEMBL:ENSG00000177663\"\n                               \"ENSEMBL:ENSG00000034677\"\n                               \"ENSEMBL:ENSG00000196141\"\n                               \"ENSEMBL:ENSG00000004142\"\n                               \"ENSEMBL:ENSG00000113249\"\n                               \"ENSEMBL:ENSG00000007952\"\n                               \"ENSEMBL:ENSG00000086232\"\n                               \"ENSEMBL:ENSG00000138744\"\n                               \"ENSEMBL:ENSG00000163106\"\n                               \"ENSEMBL:ENSG00000138375\"\n                               \"ENSEMBL:ENSG00000086991\"\n                               \"ENSEMBL:ENSG00000219430\"\n                               \"ENSEMBL:ENSG00000138303\"\n                               \"ENSEMBL:ENSG00000126524\"\n                               \"ENSEMBL:ENSG00000167772\"\n                               \"ENSEMBL:ENSG00000165682\"\n                               \"ENSEMBL:ENSG00000101916\"\n                               \"ENSEMBL:ENSG00000172458\"\n                               \"ENSEMBL:ENSG00000124731\"\n                               \"ENSEMBL:ENSG00000011426\"\n                               \"ENSEMBL:ENSG00000135766\"\n                               \"ENSEMBL:ENSG00000241635\"\n                               \"ENSEMBL:ENSG00000104835\"\n                               \"ENSEMBL:ENSG00000185480\"\n                               \"ENSEMBL:ENSG00000110075\"\n                               \"ENSEMBL:ENSG00000079691\"\n                               \"ENSEMBL:ENSG00000171109\"\n                               \"ENSEMBL:ENSG00000151849\"\n                               \"ENSEMBL:ENSG00000126970\"\n                               \"ENSEMBL:ENSG00000169241\"\n                               \"ENSEMBL:ENSG00000074842\"\n                               \"ENSEMBL:ENSG00000185115\"\n                               \"ENSEMBL:ENSG00000136688\"\n                               \"ENSEMBL:ENSG00000115350\"\n                               \"ENSEMBL:ENSG00000111666\"\n                               \"ENSEMBL:ENSG00000198074\"\n                               \"ENSEMBL:ENSG00000283122\"\n                               \"ENSEMBL:ENSG00000139946\"\n                               \"ENSEMBL:ENSG00000175482\"\n                               \"ENSEMBL:ENSG00000117569\"\n                               \"ENSEMBL:ENSG00000130234\"\n                               \"ENSEMBL:ENSG00000198026\"\n                               \"ENSEMBL:ENSG00000132429\"\n                               \"ENSEMBL:ENSG00000114745\"\n                               \"ENSEMBL:ENSG00000060237\"\n                               \"ENSEMBL:ENSG00000262246\"\n                               \"ENSEMBL:ENSG00000104518\"\n                               \"ENSEMBL:ENSG00000153395\"\n                               \"ENSEMBL:ENSG00000146094\"\n                               \"ENSEMBL:ENSG00000125779\"\n                               \"ENSEMBL:ENSG00000197496\"\n                               \"ENSEMBL:ENSG00000169612\"\n                               \"ENSEMBL:ENSG00000138496\"\n                               \"ENSEMBL:ENSG00000169962\"\n                               \"ENSEMBL:ENSG00000130363\"\n                               \"ENSEMBL:ENSG00000103510\"\n                               \"ENSEMBL:ENSG00000106125\"\n                               \"ENSEMBL:ENSG00000131653\"\n                               \"ENSEMBL:ENSG00000145794\"\n                               \"ENSEMBL:ENSG00000163702\"\n                               \"ENSEMBL:ENSG00000100410\"\n                               \"ENSEMBL:ENSG00000137691\"\n                               \"ENSEMBL:ENSG00000160188\"\n                               \"ENSEMBL:ENSG00000151148\"\n                               \"ENSEMBL:ENSG00000137033\"\n                               \"ENSEMBL:ENSG00000178473\"\n                               \"ENSEMBL:ENSG00000162711\"\n                               \"ENSEMBL:ENSG00000161544\"\n                               \"ENSEMBL:ENSG00000153391\"\n                               \"ENSEMBL:ENSG00000205359\"\n                               \"ENSEMBL:ENSG00000168724\"\n                               \"ENSEMBL:ENSG00000229140\"\n                               \"ENSEMBL:ENSG00000165953\"\n                               \"ENSEMBL:ENSG00000172967\"\n                               \"ENSEMBL:ENSG00000163803\"\n                               \"ENSEMBL:ENSG00000197272\"\n                               \"ENSEMBL:ENSG00000175311\"\n                               \"ENSEMBL:ENSG00000170782\"\n                               \"ENSEMBL:ENSG00000189195\"\n                               \"ENSEMBL:ENSG00000161911\"\n                               \"ENSEMBL:ENSG00000197448\"\n                               \"ENSEMBL:ENSG00000251562\"\n                               \"ENSEMBL:ENSG00000187258\"\n                               \"ENSEMBL:ENSG00000248131\"\n                               \"ENSEMBL:ENSG00000284520\"\n                               \"ENSEMBL:ENSG00000199133\"\n                               \"ENSEMBL:ENSG00000284440\"\n                               \"ENSEMBL:ENSG00000199161\"\n                               \"ENSEMBL:ENSG00000207608\"\n                               \"ENSEMBL:ENSG00000207625\"\n                               \"ENSEMBL:ENSG00000207782\"\n                               \"ENSEMBL:ENSG00000283904\"\n                               \"ENSEMBL:ENSG00000283815\"\n                               \"ENSEMBL:ENSG00000284204\"\n                               \"ENSEMBL:ENSG00000207607\"\n                               \"ENSEMBL:ENSG00000199038\"\n                               \"ENSEMBL:ENSG00000207702\"\n                               \"ENSEMBL:ENSG00000207590\"\n                               \"ENSEMBL:ENSG00000207798\"\n                               \"ENSEMBL:ENSG00000207870\"\n                               \"ENSEMBL:ENSG00000284567\"\n                               \"ENSEMBL:ENSG00000199075\"\n                               \"ENSEMBL:ENSG00000199121\"\n                               \"ENSEMBL:ENSG00000207808\"\n                               \"ENSEMBL:ENSG00000207864\"\n                               \"ENSEMBL:ENSG00000207827\"\n                               \"ENSEMBL:ENSG00000207582\"\n                               \"ENSEMBL:ENSG00000284357\"\n                               \"ENSEMBL:ENSG00000207638\"\n                               \"ENSEMBL:ENSG00000199059\"\n                               \"ENSEMBL:ENSG00000199151\"\n                               \"ENSEMBL:ENSG00000199104\"\n                               \"ENSEMBL:ENSG00000198982\"\n                               \"ENSEMBL:ENSG00000199020\"\n                               \"ENSEMBL:ENSG00000208001\"\n                               \"ENSEMBL:ENSG00000202569\"\n                               \"ENSEMBL:ENSG00000194717\"\n                               \"ENSEMBL:ENSG00000207731\"\n                               \"ENSEMBL:ENSG00000122852\"\n                               \"ENSEMBL:ENSG00000207571\"\n                               \"ENSEMBL:ENSG00000185303\"\n                               \"ENSEMBL:ENSG00000211590\"\n                               \"ENSEMBL:ENSG00000285427\"\n                               \"ENSEMBL:ENSG00000228750\"\n                               \"ENSEMBL:ENSG00000280634\"\n                               \"ENSEMBL:ENSG00000243438\"\n                               \"ENSEMBL:ENSG00000201796\"\n                               \"ENSEMBL:ENSG00000240160\")))\n\n(define (unwrap lst)\n  (if (null? lst) lst\n      (append (car lst) (unwrap (cdr lst)))))\n\n(define (predicate e)\n  (cdr (list-ref e 4)))\n\n(define (summary-obj edge-sum)\n  (car (list-ref edge-sum 4)))\n\n(define (summary-subj edge-sum)\n  (car (list-ref edge-sum 3)))\n\n(define ((edge/db? db) e) (eq? db (car e)))\n\n(define (sort-count c)\n  (sort\n   (hash-map c (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (cdr x))))\n\n(define (sort-by-length h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (length (cdr x)))))\n\n#|getting uniprots using run/graph\n(define encodes (find-predicates '(\"encodes\")))\n(define gene-curie?\n  (lambda (x)\n    (or\n     (string-prefix? x \"HGNC:\")\n     (string-prefix? x \"ENSEMBL:\")\n     (string-prefix? x \"NCBIGene:\"))))\n\n(define encodes-us (remove-duplicates (unwrap (filter (lambda (x) (not (null? x))) (set-map gene-list\n                                                                         (lambda (g) (time\n                                                                                      (define S (filter (lambda (x) (eq? (car x) 'rtx2)) (find-concepts #t (filter gene-curie? (map car (curie-synonyms/names g))))))\n                                                                                      (match-define\n                                                                                        (list name=>concepts name=>edges)\n                                                                                        (run/graph\n                                                                                         ((G S)\n                                                                                          (U #f))\n                                                                                         ((G->U encodes))\n                                                                                         (G G->U U)))\n                                                                                      (map concept->curie (hash-ref name=>concepts 'U))\n                                                                                      ))\n                                                                         )))))\n|#\n\n(define uniprot-curie?\n  (lambda (x)\n    (string-prefix? x \"UniProtKB:\")))\n\n;;Converting ENSEMBL curies to UniProtKB curies using synonymization in order to pass into count-downstream\n(define uniprots (remove-duplicates (filter uniprot-curie? (map car (unwrap (set-map gene-list curie-synonyms/names))))))\n\n#|\ntakes: list of UniProt curies (prot-list), list of GO predicates** (preds)\n** note: preds should only contain \"positively_regulates\", \"negatively_regulates\", \"subclass_of\", or any combination\n**       of those three predicates depending on what type of relationshion you want to count\nreturns: sorted (high->low) assoc list of a count of the number of other proteins in prot-list that each prot in prot-list regulates\n|#\n(define (count-downstream prot-list preds)\n  ;;hash that maps each Uniprot curie (key) in prot-list -> set of all GO pathways (value) that the UniProt (key) regulates\n  (define go-processes (make-hash))\n  ;;hash that maps GO pathway curie (key) -> set of all UniProts (value) that are members of the GO pathway (key) AND in the prot-list\n  (define go-process-members (make-hash))\n  (define counter (make-hash))\n  (define involved_in (keep 1 (filter (lambda (x) (eq? (car x) 'rtx2)) (find-predicates '(\"involved_in\")))))\n  (define regulators (filter (lambda (x) (eq? (car x) 'rtx2)) (find-predicates preds)))\n  (for-each\n   (lambda (u)\n     (define S (filter (lambda (x) (eq? (car x) 'rtx2)) (find-concepts #t (list u))))\n     ;;this run/graph contains 2-hop query (G->M->X) and 1-hop query (P->X)\n     ;;2-hop (G->M->X): Finds the GO pathways (X) that UniProt (G) regulates\n     ;;1-hop (P->X): Finds the UniProts (P) that are members of the GO pathway (X)\n     (match-define\n       (list name=>concepts name=>edges)\n       (time (run/graph\n              ((G S)\n               (M #f)\n               (X #f)\n               (P #f))\n              ((G->M involved_in)\n               (M->X regulators)\n               (P->X involved_in))\n              (G G->M M)\n              (M M->X X)\n              (P P->X X))))\n     ;;populates go-processes values with the GO pathways, X, gotten from the 2-hop query G->M->X\n     (hash-set! go-processes u (list->set (map concept->curie (hash-ref name=>concepts 'X))))\n     (for-each\n      (lambda (e)\n        ;;populates go-process-members values with the member UniProts, P, gotten from the 1-hop query P->X\n        (hash-update! go-process-members (concept->curie (edge->object e)) (lambda (v) (set-add v (concept->curie (edge->subject e)))) (set))\n        )\n      (hash-ref name=>edges 'P->X)\n      )\n     )\n   prot-list\n   )\n  ;;counting\n  (hash-for-each go-processes\n                 (lambda (k v)\n                   (define members (mutable-set))\n                   (set-for-each v\n                                 (lambda (g)\n                                   (set-union! members (set-intersect (list->set prot-list) (hash-ref go-process-members g (set))))\n                                   ))\n                   (hash-set! counter k (set-count members))\n                   )\n                 )\n  (sort-count counter)\n  )\n\n#|2-hop query using query/graph\n(for-each\n (lambda (x) (time\n              (define q2hop (query/graph\n                             ((G x)\n                              (M #f)\n                              (X (lambda (c) (string-prefix? c \"GO:\"))))\n                             ((G->M '(\"involved_in\"))\n                              (M->X go-regulators))\n                             (G G->M M)\n                             (M M->X X)))\n              (hash-set! go-processes x (curies/query q2hop 'X))\n              ))\n uniprots\n )\n|#\n\n#|\n(define (uniprot->ensembl uni)\n  (set-intersect (set->list gene-list) (map car (curie-synonyms/names uni)))\n  )\n\n(define top10 (remove-duplicates (flatten (map uniprot->ensembl (map car (take (sort-count counter) 10))))))\n\n(define member-of (make-hash))\n(hash-for-each go-process-members\n               (lambda (k v)\n                 (set-for-each v\n                               (lambda (u)\n                                 (hash-update! member-of u (lambda (x) (cons k x)) '())\n                                 )\n                               )\n                 )\n               )\n(sort-by-length member-of)\n\n(define regulates-go (make-hash))\n(hash-for-each go-processes\n               (lambda (k v)\n                 (set-for-each v\n                               (lambda (p)\n                                 (hash-update! regulates-go p (lambda (x) (cons k x)) '())\n                                 )\n                               )\n                 )\n               )\n(sort-by-length regulates-go)\n|#\n\n(define preds-of-interest '(\"negatively_regulates\"\n                            \"physically_interacts_with\"\n                            \"positively_regulates\"\n                            \"regulates\"\n                            \"regulates_activity_of\"\n                            \"regulates_expression_of\"\n                            \"stimulates\"\n                            \"inhibits\"))\n\n(define seen (mutable-set))\n(define g-of-interest (mutable-set \"ENSEMBL:ENSG00000136689\"))\n\n(define (backtrace cur-genes g-list)\n  (define all-upstreams (mutable-set))\n  (set-for-each cur-genes\n                (lambda (g)\n                  (define q (query/graph\n                             ((S #f)\n                              (G g))\n                             ((S->G preds-of-interest))\n                             (S S->G G)))\n                  (define all-synons (list->set (map car (unwrap (map curie-synonyms/names (curies/query q 'S))))))\n                  (define upstream (set-remove (set-intersect g-list all-synons) g))\n                  ;;(printf \"~v\\n\" upstream)\n                  (printf \"~v . ~v\\n\" g (set-count upstream)) \n                  (set-union! all-upstreams upstream)\n                  )\n                )\n  ;;update seen list\n  (set-union! seen cur-genes)\n  (set-subtract! all-upstreams seen)\n  (printf \"~v\\n\\n\" (set-count all-upstreams))\n  (if (eq? (set-count all-upstreams) 0) cur-genes\n      (backtrace all-upstreams g-list))\n  )\n  \n;;(backtrace g-of-interest gene-list)\n\n#|\n(define endpoints (mutable-set))\n(define prots-seen (mutable-set))\n\n(define (backtrace-by-go cur-prot)\n  (set-add! prots-seen cur-prot)\n  (define all-gos (hash-ref member-of cur-prot '()))\n  (define all-upstreams (mutable-set))\n  (for-each\n   (lambda (gp)\n     (set-union! all-upstreams (list->mutable-set (hash-ref regulates-go gp '())))\n     )\n   all-gos\n   )\n  (if (set-empty? all-upstreams) (set-add! endpoints cur-prot)\n      ((printf \"~v : ~v\\n\" cur-prot (set-count all-upstreams))\n       (set-subtract! all-upstreams prots-seen)\n       (set-for-each all-upstreams\n                     (lambda (u)\n                       (backtrace-by-go u)\n                       )\n                     )    )    \n      )\n  )\n\n(set-clear! endpoints)\n(backtrace-by-go \"UniProtKB:P01137\")\n|#\n#|\nTop10 from count-downstream of ARDS gene-list\n\n\"ENSEMBL:ENSG00000105329\"\n  \"ENSEMBL:ENSG00000112715\"\n  \"ENSEMBL:ENSG00000078401\"\n  \"ENSEMBL:ENSG00000100644\"\n  \"ENSEMBL:ENSG00000168610\"\n  \"ENSEMBL:ENSG00000125538\"\n  \"ENSEMBL:ENSG00000136689\"\n  \"ENSEMBL:ENSG00000100292\"\n  \"ENSEMBL:ENSG00000087250\"\n  \"ENSEMBL:ENSG00000105974\"\n  \"ENSEMBL:ENSG00000166949\"\n|#\n\n#|\nBacktrace results\nInput:\"ENSEMBL:ENSG00000105329\"\nOutput: \n\"ENSEMBL:ENSG00000208001\" . 0\n\"ENSEMBL:ENSG00000171109\" . 3\n\"ENSEMBL:ENSG00000063180\" . 2\n\"ENSEMBL:ENSG00000199038\" . 0\n\"ENSEMBL:ENSG00000199133\" . 0\n\"ENSEMBL:ENSG00000277443\" . 9\n\"ENSEMBL:ENSG00000211590\" . 0\n\"ENSEMBL:ENSG00000100410\" . 2\n\"ENSEMBL:ENSG00000109063\" . 7\n\"ENSEMBL:ENSG00000166347\" . 4\n\"ENSEMBL:ENSG00000162104\" . 2\n\"ENSEMBL:ENSG00000198982\" . 0\n\"ENSEMBL:ENSG00000125779\" . 1\n\"ENSEMBL:ENSG00000153391\" . 1\n\"ENSEMBL:ENSG00000103510\" . 2\n\"ENSEMBL:ENSG00000207590\" . 0\n\"ENSEMBL:ENSG00000207731\" . 0\n\"ENSEMBL:ENSG00000198026\" . 3\n\"ENSEMBL:ENSG00000083807\" . 4\n\"ENSEMBL:ENSG00000115718\" . 3\n\"ENSEMBL:ENSG00000199020\" . 0\n\"ENSEMBL:ENSG00000284520\" . 0\n\"ENSEMBL:ENSG00000163702\" . 5\n\"ENSEMBL:ENSG00000145649\" . 1\n\"ENSEMBL:ENSG00000153395\" . 1\n\"ENSEMBL:ENSG00000167315\" . 4\n\"ENSEMBL:ENSG00000160932\" . 0\n\"ENSEMBL:ENSG00000266964\" . 2\n\"ENSEMBL:ENSG00000165682\" . 3\n\"ENSEMBL:ENSG00000173805\" . 9\n\"ENSEMBL:ENSG00000125482\" . 4\n\"ENSEMBL:ENSG00000145794\" . 8\n\"ENSEMBL:ENSG00000163803\" . 1\n\"ENSEMBL:ENSG00000105370\" . 6\n\nInput:\"ENSEMBL:ENSG00000168610\"\nOutput: 29\n\"ENSEMBL:ENSG00000208001\" . 0\n\"ENSEMBL:ENSG00000063180\" . 2\n\"ENSEMBL:ENSG00000199038\" . 0\n\"ENSEMBL:ENSG00000199133\" . 0\n\"ENSEMBL:ENSG00000211590\" . 0\n\"ENSEMBL:ENSG00000100410\" . 2\n\"ENSEMBL:ENSG00000162104\" . 2\n\"ENSEMBL:ENSG00000198982\" . 0\n\"ENSEMBL:ENSG00000138744\" . 4\n\"ENSEMBL:ENSG00000125779\" . 1\n\"ENSEMBL:ENSG00000187258\" . 4\n\"ENSEMBL:ENSG00000153391\" . 1\n\"ENSEMBL:ENSG00000103510\" . 2\n\"ENSEMBL:ENSG00000207590\" . 0\n\"ENSEMBL:ENSG00000048740\" . 4\n\"ENSEMBL:ENSG00000198026\" . 3\n\"ENSEMBL:ENSG00000083807\" . 4\n\"ENSEMBL:ENSG00000137959\" . 3\n\"ENSEMBL:ENSG00000115850\" . 4\n\"ENSEMBL:ENSG00000115718\" . 3\n\"ENSEMBL:ENSG00000199020\" . 0\n\"ENSEMBL:ENSG00000174607\" . 1\n\"ENSEMBL:ENSG00000145649\" . 1\n\"ENSEMBL:ENSG00000167315\" . 4\n\"ENSEMBL:ENSG00000173805\" . 9\n\"ENSEMBL:ENSG00000196843\" . 1\n\"ENSEMBL:ENSG00000125482\" . 4\n\"ENSEMBL:ENSG00000145794\" . 8\n\"ENSEMBL:ENSG00000105370\" . 6\n\nInput:\"ENSEMBL:ENSG00000112715\"\nOutput: 1\n\"ENSEMBL:ENSG00000153391\" . 1\n\nInput: \"ENSEMBL:ENSG00000136689\"\nOutput: 41\n\"ENSEMBL:ENSG00000208001\" . 0\n\"ENSEMBL:ENSG00000171109\" . 3\n\"ENSEMBL:ENSG00000063180\" . 2\n\"ENSEMBL:ENSG00000133019\" . 5\n\"ENSEMBL:ENSG00000199038\" . 0\n\"ENSEMBL:ENSG00000199133\" . 0\n\"ENSEMBL:ENSG00000179776\" . 15\n\"ENSEMBL:ENSG00000021355\" . 5\n\"ENSEMBL:ENSG00000133661\" . 1\n\"ENSEMBL:ENSG00000207827\" . 1\n\"ENSEMBL:ENSG00000211590\" . 0\n\"ENSEMBL:ENSG00000100410\" . 2\n\"ENSEMBL:ENSG00000118194\" . 2\n\"ENSEMBL:ENSG00000109063\" . 7\n\"ENSEMBL:ENSG00000117569\" . 2\n\"ENSEMBL:ENSG00000162104\" . 2\n\"ENSEMBL:ENSG00000198982\" . 0\n\"ENSEMBL:ENSG00000138744\" . 4\n\"ENSEMBL:ENSG00000125779\" . 1\n\"ENSEMBL:ENSG00000085063\" . 14\n\"ENSEMBL:ENSG00000103510\" . 2\n\"ENSEMBL:ENSG00000207590\" . 0\n\"ENSEMBL:ENSG00000207731\" . 0\n\"ENSEMBL:ENSG00000284204\" . 0\n\"ENSEMBL:ENSG00000164330\" . 9\n\"ENSEMBL:ENSG00000101000\" . 6\n\"ENSEMBL:ENSG00000137959\" . 3\n\"ENSEMBL:ENSG00000115718\" . 3\n\"ENSEMBL:ENSG00000199020\" . 0\n\"ENSEMBL:ENSG00000284520\" . 0\n\"ENSEMBL:ENSG00000163702\" . 5\n\"ENSEMBL:ENSG00000167315\" . 4\n\"ENSEMBL:ENSG00000160932\" . 0\n\"ENSEMBL:ENSG00000070614\" . 3\n\"ENSEMBL:ENSG00000266964\" . 2\n\"ENSEMBL:ENSG00000165682\" . 3\n\"ENSEMBL:ENSG00000196843\" . 1\n\"ENSEMBL:ENSG00000125482\" . 4\n\"ENSEMBL:ENSG00000145794\" . 8\n\"ENSEMBL:ENSG00000163803\" . 1\n\"ENSEMBL:ENSG00000105370\" . 6 \n|#"
  },
  {
    "path": "contrib/medikanren/pieces-parts/tutorial.rkt",
    "content": "#lang racket\n(require\n  \"../../../medikanren/db.rkt\"\n  \"../../../medikanren/pieces-parts/query.rkt\")\n\n#|\nThis line binds the identifier S to the result of the following expression,\nwhich takes the first concept containing the curie string \"UniProtKB:P51587.\"\n\nFunctions Used:\nkeep: returns the first n elements of a list, documented in common.rkt\nfind-concepts: finds all concepts connected to a list of curie strings, documented in common.rkt\n|#\n(define S (keep 1 (find-concepts #t (list \"UniProtKB:P51587\"))))\n\n#|\nThese lines run the knowledge graph to find edges that use S as a subject and returns the associated concepts and edges as\nname=>concepts and name=>edges.\n\nFunctions Used:\nmatch-define: takes a list of names and an expression and binds each name to its corresponding value in the expressions, documented in Racket Documentation\nrun/graph: \n|#\n(match-define\n  (list name=>concepts name=>edges)\n  (run/graph\n   ((S S)\n    (O #f))\n   ((S->O #f))\n   (S S->O O)))\n\n#|\n Defines Es as the list of edges retrieved from name=>edges (associated with S, which is the concept associated with the curie \"UniProtKB:P51587.\")\nname=>edges was defined using match-define, and it contains the edges that correspond to the subject concept defined above.\n\nFunctions used:\nhash-ref: from racket,returns value for the key ('S->O) in hash (name=>edges)\n|#\n\n(define Es (hash-ref name=>edges 'S->O))\n\n#|\nNext, we sought to find concepts that specifically came from the GO ontology. In order to do this, we had to\nextract the provider from a list of edges.\n\nFunctions Used:\ndefine: in this case, define is being used to create a procedure (named \"provider\"), documented in Racket Documentation\nassoc: assoc takes in a variable and a list and returns the first element of the list whose value is equal to the varaible,\ndocumented in Racket Documentation\n\n|#\n(define (provider e)\n  (let ((a (assoc \"provided_by\" (list-ref e 5))))\n    (if a\n        (cdr a)\n        a)))\n\n;; This line uses sort and remove-duplicates, as well as the provider function above, to get all the provider names from the edges in Es\n(sort (remove-duplicates (map provider Es)) string<=?)\n\n;; This line filters out the edges in Es that have the GO ontology (gene_ontology) as a provider\n;; (define goEs (filter (lambda (e) (string=? \"gene_ontology\" (provider e))) Es))\n\n(define go-provider-string \"(\\\"http://purl.obolibrary.org/obo/go-plus.owl\\\")\")\n\n(define goEs (filter (lambda (e) (string=? go-provider-string (provider e))) Es))\n\n;; This line checks the number of such edges using length\n(length (filter (lambda (e) (string=? go-provider-string (provider e))) Es))\n\n;; This line binds the identifier E to the first edge in Es that has the GO ontology as a provider\n(define E (car (filter (lambda (e) (string=? go-provider-string (provider e))) Es)))\n\n\n#|\n This function takes an edge and gets the subject concept and object concept that the edge relates along\nwith the predicate associated with the edge and returns them in a list that is formatted to show the relationship.\n returns: (subject-concept-name edge-predicate object-concept-name)\n\n Functions Used:\nconcept->name, edge->subject, edge->pred, edge->object, documented in common.rkt\n|# \n(define (story E)\n  (list\n   (concept->name (edge->subject E))\n   (cdr (edge->pred E))\n   (concept->name (edge->object E))))\n\n(story E)\n;; maps the story function onto all of the individual edges in the list Es\n(map story Es)\n;; maps the story function onto all individual edges in the list goES\n(map story goEs)\n;; creates an anonymous function that takes the cdr of the predicate of an edge\n;; which finds all of the possible predicate names (i.e. physically_interacts_with, participates_in)\n;; then, this line maps that function onto all the edges in Es\n(remove-duplicates (map (lambda (E) (cdr (edge->pred E))) Es))\n\n#|\n This creates a mutable hash table and sets it to *counters*\n\nFunctions Used:\nmake-hash: creates a hashtable, documented in Racket Documentation\n|#\n(define *counters* (make-hash))\n(define (inc-count! key)\n  (hash-update! *counters*\n\t\tkey\n\t\t(lambda (x) (+ x 1))\n\t\t(lambda () 1)))\n\n;; This line defines f and sets it equal to the file opened by the open-input-file function\n(define f (open-input-file \"../data/rtx2/edges.scm\"))\n(define e (read f))\n\n#|\nThis reads through the file defined as f and counts the number of \"provided_by\" predicates that appear in the file\n\nFunctions used:\nflush-output, read, eof-object?, begin, close-input-port: This reads through the file defined as f and counts\nthe number of \"provided_by\" predicates that appear in the file, documented in Racket Documentation\n\n(let loop ((n 0))\n  (when (= 0 (modulo n 10000))\n    (display \".\")\n    (flush-output))\n  (let ((r (read f)))\n    (if (eof-object? r)\n\t(begin\n\t  (close-input-port f)\n\t  *counters*)\n\t(begin\n\t  (inc-count! (cdr (assoc \"provided_by\" (vector-ref r 3))))\n\t  (loop (+ 1 n))))))\n|#\n\n;; We can also use a miniKanren query instead:\n(define edges (run 1000 (e) (edgeo e)))\n(remove-duplicates (map provider edges))\n(define (edge-relation e)\n  (let ((a (assoc \"relation\" (list-ref e 5))))\n    (if a\n        (cdr a)\n        a)))\n(define (predicate e)\n  (cdr (list-ref e 4)))\n(remove-duplicates (map edge-relation edges))\n(remove-duplicates (map predicate edges))\n\n#|\nThis defines qb as the query/graph subsequently defined\nThe query/graph is defined with an arbitrary subject concept (X), an object concept (rhobtb2) that corresponds with\nthe CURIE \"UMLS:C1425762\", any edges (X->rhobtb2) that relate any subject concept to the rhobtb2 object concept, and the pathway\nthat encompasses the (subject edge object) relationship\n\nFunctions Used:\nquery/graph: runs the query graph given subject and object concepts, documented in query.rkt\n|#\n(define qb (time (query/graph\n                  ((X       #f)\n                   (rhobtb2 \"UMLS:C1425762\"))\n                  ((X->rhobtb2 #f))\n                  (X X->rhobtb2 rhobtb2))))\n\n\n#|\nThis defines qo as the run of the query/graph\nThe query/graph is defined with a subject concept (S) that corresponds with the CURIE \"UniProtKB:P51587\", an arbitrary\nobject concept (O), any edges (S->O) that relate the S subject concept to any object concept, and the pathway\nthat encompasses the (subject edge object) relationship.\n\nThe query answers: What are all the concepts reachable from this one gene in 1-hop?\n\nFunctions Used:\nquery/graph: runs the query graph given subject and object concepts, documented in query.rkt\n|#\n(define qo (time (query/graph\n\t\t (\n\t\t  (S \"UniProtKB:P51587\")\n\t\t  (O #f)\n\t\t  )\n\t\t ((S->O #f))\n\t\t (S S->O O))))\n(pretty-print (time (report/query qo)))\n;;(pretty-print (time (ranked-paths qo)))\n\n\n;; defines a list of the providers that indicate the GO ontology\n(define go-providers\n  (list\n   \"(\\\"http://purl.obolibrary.org/obo/go-plus.owl\\\")\"\n   \"(\\\"http://purl.bioontology.org/ontology/OMIM\\\")\"))\n\n\n;; function that takes in a provider and checks if it is a GO provider using the list defined above (go-providers)\n(define (edge/go-provider? e)\n  (member (provider e) go-providers))\n\n;; function that takes in a provider and checks if it is not a GO provider\n(define (edge/not-go-provider? e)\n  (not (edge/go-provider? e)))\n\n#|\nThis defines qa as the run of the query/graph subsequently defined, which found two different paths from subject to object,\nseparating them them based on whether the edges in between were provided by the GO ontology or not.\n\nThe query/graph is defined with a subject concept (S) that corresponds with the CURIE \"UniProtKB:P51587\", an arbitrary\nobject concept (O), any edges (S-1>O) that relate the S subject concept to any object concept provided that the edges\nare of the GO ontology, and any edges (S-2>O) that relate the S subject concept to any object concept provided that the\nedges are not of the GO ontology.\n\nThis query answers: What are all the concepts related to the initial gene that go through the GO provider and also not through the GO provider? There has to be two 1-hop ways to get through the concept.\n\nFunctions Used:\nquery/graph: runs the query graph given subject and object concepts, documented in query.rkt\n|#\n(define qa (time (query/graph\n\t\t (\n\t\t  (S \"UniProtKB:P51587\")\n\t\t  (O #f)\n\t\t  )\n\t\t ((S-1>O #f edge/not-go-provider?)\n\t\t  (S-2>O #f edge/go-provider?))\n\t\t (S S-1>O O)\n\t\t (S S-2>O O))))\n\n;; prints a report of the queries from the run of the query graph stored in qa\n(pretty-print (time (report/query qa)))\n;; prints the ranked paths in qa\n;;(pretty-print (time (ranked-paths qa)))\n\n#|\nThis defines q as the run of the query/graph subsequently defined, which found two different paths from subject to object,\nseparating them them based on whether the edges in between were provided by the GO ontology or not.\n\nThe query/graph is defined with a subject concept (S) that corresponds with the CURIE \"UniProtKB:P51587\", arbitrary\nobject concepts (O1/O2), any edges (S->O1) that relate the S subject concept to any object concept provided that the edges\nare of the GO ontology, and any edges (S->O2) that relate the S subject concept to any object concept provided that the\nedges are not of the GO ontology.\n\nThis query relaxes the previous query so that the final concepts can be different.\n\nFunctions Used:\nquery/graph: runs the query graph given subject and object concepts, documented in query.rkt\n|#\n(define q (time (query/graph\n\t\t (\n\t\t  (S \"UniProtKB:P51587\")\n\t\t  (O1 #f)\n\t\t  (O2 #f)\n\t\t  )\n\t\t ((S->O1 #f edge/not-go-provider?)\n\t\t  (S->O2 #f edge/go-provider?))\n\t\t (S S->O1 O1)\n\t\t (S S->O2 O2))))\n(pretty-print (time (report/query q)))\n\n#|\nThis function checks whether the relation in a pathway is \"involved-in,\" which\nwould indicate that the relationship is part of the GO ontology\n|#\n(define go-pathway '(\"involved_in\"))\n\n(define (unique-gene? g)\n  (not (string=? \"UniProtKB:P51587\" g)))\n\n#|\nThis defines qc as the run of the query/graph subsequently defined, which found two different paths from subject to object,\nseparating them them based on whether the edges in between were provided by the GO ontology or not.\n\nThe query/graph is defined with a subject concept (S1) that corresponds with the CURIE \"UniProtKB:P51587\", arbitrary\nobject concept O, gene subject concept S2, any edges (S1->O) that relate the S subject concept to any object concept,\nand any edges (S2->O) that relate the S2 gene concept to any object concept provided that these paths are go pathways.\n\nThis query answers: What are other genes in the same pathway?\n\nFunctions Used:\nquery/graph: runs the query graph given subject and object concepts, documented in query.rkt\n|#\n;; TODO: create a variant where the sources are different. --> this is left as is because it is difficult to do\n(define qc (time (query/graph\n\t\t (\n\t\t  (S1 \"UniProtKB:P51587\")\n\t\t  (O #f)\n\t\t  (S2 gene)\n\t\t  )\n\t\t ((S1->O go-pathway)\n\t\t  (S2->O go-pathway))\n\t\t (S1 S1->O O)\n\t\t (S2 S2->O O))))\n\n;; prints a report of the queries from the run of the query graph stored in qc\n(pretty-print (time (report/query qc)))\n\n(define qd (time (query/graph\n\t\t (\n\t\t  (S1 \"UniProtKB:P51587\")\n\t\t  (O #f)\n\t\t  (S2 gene)\n\t\t  )\n\t\t ((S1->O go-pathway)\n\t\t  (S2->O go-pathway))\n\t\t (S1 S1->O O)\n\t\t (S2 S2->O O))))\n(pretty-print (time (report/query qd)))\n\n#|\n Each edge is given a score based on a set of parameters, and every edge with the same score is put in a composite edge that can be identified by that score.\nThe function then returns a list of these composite edges organized by score, with the highest scoring composite edge is first.\nThis line defines r as the list returned by (ranked-paths qc)\n\n Functions Used: \nranked-paths: ranked-paths takes a query/graph and uses a ranking system to return a list of composite edges from query/graph ranked by confidence, documented in query.rkt\n|#\n(define r (ranked-paths qc))\n;;(cadr r)\n;; prints the ranked-paths\n;;(pretty-print (time (ranked-paths qc)))\n\n;; finds the edges from qc that are S2->O\n;;(edges/query qc 'S2->O)\n;; finds the the number of genes that are in the same pathway\n(length (curies/query qc 'S2))\n(length (edges/query qc 'S2->O))\n\n\n#|\nThis defines qcomp as a query/graph .\nThe query/graph is defined with a subject concept (S) that corresponds with the CURIE \"UniProtKB:P51587\", an\nobject concept (O) that must be a gene, any edges (S->O) that relate the S subject concept to any gene object concept, and\n the pathway that encompasses the (subject edge object) relationship\n\nFunctions Used:\nquery/graph: runs the query graph given subject and object concepts, documented in query.rkt\n|#\n(define qcomp (time (query/graph\n\t\t (\n\t\t  (S \"UniProtKB:P51587\")\n\t\t  (O gene)\n\t\t  )\n\t\t ((S->O #f))\n\t\t (S S->O O))))\n\n;; prints the queries and the ranked paths\n(pretty-print (time (report/query qcomp)))\n(define rcomp (ranked-paths qcomp))\n;;rcomp\n\npositively-regulates\n;; low-level 1-hop query\n(define rhobtb2-curie \"UMLS:C1425762\")\n(run* (q)\n  (fresh (db edge eid subject object pred eprops\n             scid scui sname sdetails\n             pred-id pred-name\n             ocid ocui oname odetails)\n     (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n     (== pred `(,pred-id . ,pred-name))\n     (conde\n      ((== pred-name \"positively_regulates\"))\n      ((== pred-name \"negatively_regulates\")))\n     (~cui-concepto rhobtb2-curie `(,db . ,object))\n     (edgeo `(,db . ,edge))\n     (== `(,scid ,scui ,sname . ,sdetails) subject)\n     (== `(,ocid ,ocui ,oname . ,odetails) object)\n     (== q `(,db ,sname ,pred-name ,oname))))\n\n;; let's find that TMPRSS is negatively regulated by estrogens\n;; in 2 hops: estrogens -decreases-> androgens -increases-> TMPRSS2\n\n(define tmprss2-curie \"UMLS:C1336641\")\n(define androgens-curie \"UMLS:C0002844\")\n\n;; the second hop in a low level queryb\n(run* (q)\n      (fresh (db edge eid subject object pred eprops\n                 scid scui sname sdetails\n                 pred-id pred-name\n                 ocid ocui oname odetails)\n            (== `(,eid ,subject ,object ,pred . ,eprops) edge)\n            (== pred `(,pred-id . ,pred-name))\n            (conde\n             ((== pred-name \"positively_regulates\"))\n             ((== pred-name \"negatively_regulates\")))\n            (~cui-concepto tmprss2-curie `(,db . ,object))\n            (edgeo `(,db . ,edge))\n            (== `(,scid ,scui ,sname . ,sdetails) subject)\n            (== `(,ocid ,ocui ,oname . ,odetails) object)\n            (== q `(,db ,sname ,pred-name ,oname))))\n\n(define (pretty-edges q edge-label)\n  (map (lambda (e)\n       (list\n        ;;(edge->eid e)\n        (edge->dbname e)\n        ;;(concept->curie (edge->subject e))\n        (concept->name (edge->subject e))\n        (cdr (edge->pred e))\n        ;;(concept->curie (edge->object e))\n        (concept->name (edge->object e))))\n     (edges/query q edge-label)))\n;; second hop in a high-level query\n\n(define q_hop2r\n  (query/graph\n   (;; concepts\n    (O rhobtb2-curie)\n    (S #f))\n   (;; edges\n    (S->O (list \"positively_regulates\" \"negatively_regulates\")))\n   ;; paths\n   (S S->O O)))\n(report/query q_hop2r)\n(pretty-edges q_hop2r 'S->O)\n\n(define q_hop2\n  (query/graph\n   (;; concepts\n    (O tmprss2-curie)\n    (S #f))\n   (;; edges\n    (S->O (list \"positively_regulates\" \"negatively_regulates\")))\n   ;; paths\n   (S S->O O)))\n(report/query q_hop2)\n;; we can find androgens\n(pretty-edges q_hop2 'S->O)\n\n(define q_hop1\n  (query/graph\n   (;; concepts\n    (O androgens-curie)\n    (S #f))\n   (;; edges\n    (S->O (list \"negatively_regulates\")))\n   ;; paths\n   (S S->O O)))\n(report/query q_hop1)\n;; we can find estrogen\n(pretty-edges q_hop1 'S->O)\n\n(define q_2hops\n  (query/graph\n   (;; concepts\n    (O tmprss2-curie)\n    (S #f)\n    (R #f))\n   (;; edges\n    (R->S (list \"negatively_regulates\"))\n    (S->O (list \"positively_regulates\")))\n   ;; paths\n   (R R->S S)\n   (S S->O O)))\n;; explosion of results\n(report/query q_2hops)\n"
  },
  {
    "path": "contrib/medikanren/query-graph.rkt",
    "content": "#lang racket/base\n(provide\n  ? help\n  graph path\n  C P T\n  show hide count unmodify\n  graph? path? C? P? T? show? hide? count? except?\n  except\n  inote iref aref untag)\n(require \"common.rkt\" \"mk.rkt\")\n\n(define help \"Use (?) or (? <object>) for more information.\")\n(define (? . _) \"TODO: define ?.\")\n\n(define (aref alist key)\n  (define kv (assoc key alist))\n  (unless kv (error \"missing association list key:\" key alist))\n  (cdr kv))\n(define (tagged? tag x)\n  (and (vector? x) (= 2 (vector-length x)) (eqv? tag (vector-ref x 0))))\n(define (tag t x)  (vector t x))\n(define (tagref x) (vector-ref x 0))\n(define (untag x)  (vector-ref x 1))\n\n;; Selectors\n(define (except x)  (tag 'except x))\n(define (except? x) (tagged? 'except x))\n;; Modifiers\n(define (show x)    (tag 'show  (unmodify x)))\n(define (hide x)    (tag 'hide  (unmodify x)))\n(define (count x)   (tag 'count (unmodify x)))\n(define (show? x)   (tagged? 'show x))\n(define (hide? x)   (tagged? 'hide x))\n(define (count? x)  (tagged? 'count x))\n(define (unmodify x)\n  (if (or (show? x) (hide? x) (count? x)) (untag x) x))\n;; Graph sets\n(define (graph? x)  (tagged? 'graph (unmodify x)))\n(define (path? x)   (tagged? 'path  (unmodify x)))\n;; Element sets: ((dbname id . data) ...)\n(define (C? x)      (tagged? 'concept     (unmodify x))) ;; data = (cui name)\n(define (P? x)      (tagged? 'predicate   (unmodify x))) ;; data = name\n(define (T? x)      (tagged? 'concep-type (unmodify x))) ;; data = name\n\n(define (inote x)\n  (define xs (untag (unmodify x)))\n  (map cons (range (length xs)) xs))\n(define (iref x . args)\n  (define u (unmodify x))\n  (define t (tagref u))\n  (define xs (untag u))\n  (define (iref? x) (and (integer? x) (<= 0 x)))\n  (define ixs\n    (foldl (lambda (arg ixs)\n             (cond ((iref? arg) (cons arg ixs))\n                   ((and (list? arg) (andmap iref? arg)) (append arg ixs))\n                   (else (error \"invalid iref argument:\" arg args))))\n           '() args))\n  (define new\n    (reverse (caddr (foldl (lambda (i acc)\n                             (define offset    (car acc))\n                             (define xs        (cadr acc))\n                             (define kept      (caddr acc))\n                             (define remaining (drop (- i offset) xs))\n                             (list i remaining (cons (car remaining) kept)))\n                           (list 0 xs '()) (sort ixs <)))))\n  (tag t new))\n\n;; These assumes unique pairing of dbname and id.\n(define (element<? a b)\n  (or (symbol<? (car a) (car b))\n      (and (symbol=? (car a) (car b)) (< (cadr a) (cadr b)))))\n(define (element=? a b) (and (symbol=? (car a) (car b)) (= (cadr a) (cadr b))))\n(define (element-min e . es)\n  (cond ((null? es)             e)\n        ((element<? e (car es)) (apply element-min e (cdr es)))\n        (else                   (apply element-min es))))\n(define (element-max e . es)\n  (cond ((null? es)             e)\n        ((element<? (car es) e) (apply element-max e (cdr es)))\n        (else                   (apply element-max es))))\n(define (sort-elements es) (sort es element<?))\n\n(define (union* es*)\n  (define xs* (filter-not null? es*))\n  (cond ((null? xs*) '())\n        (else (define xs0 (map car xs*))\n              (define next (apply element-min xs0))\n              (cons next (union* (map (lambda (xs)\n                                        (if (element=? next (car xs)) (cdr xs)\n                                          xs))\n                                      xs*))))))\n(define (intersection* xs*)\n  (cond ((ormap null? xs*) '())\n        (else (define xs0 (map car xs*))\n              (define next (apply element-max xs0))\n              (if (andmap (lambda (x) (element=? x next)) xs0)\n                (cons next (intersection* (map cdr xs*)))\n                (intersection*\n                  (map (lambda (xs) (dropf xs (lambda (x) (element<? x next))))\n                       xs*))))))\n(define (difference as bs)\n  (cond ((or (null? as) (null? bs))    as)\n        ((element<? (car bs) (car as)) (difference as       (cdr bs)))\n        ((element=? (car as) (car bs)) (difference (cdr as) (cdr bs)))\n        (else           (cons (car as) (difference (cdr as) bs)))))\n(define (difference* a bs) (difference* a (union* bs)))\n(define (union        a b) (union*        (list a b)))\n(define (intersection a b) (intersection* (list a b)))\n\n(define (parse ~name* superset?* args)\n  (define (element-dbname n) (car n))\n  (define acc:empty '#(() () ()))\n  (define (acc-supersets acc) (vector-ref acc 0))\n  (define (acc-dbnames   acc) (vector-ref acc 1))\n  (define (acc-~names    acc) (vector-ref acc 2))\n  (define (add* acc i x*) (vector-set! acc i (append x* (vector-ref acc i))))\n  (define (add  acc i x)       (add*       acc i (list x)))\n  (define (add-superset acc x) (add        acc 0 x))\n  (define (add-dbname   acc x) (add        acc 1 x))\n  (define (add-~name    acc x) (add        acc 2 x))\n  (define (handle* arg* pos neg)\n    (for-each (lambda (arg) (handle (unmodify arg) pos neg)) arg*))\n  (define (handle arg pos neg)\n    (cond ((symbol? arg) (add-dbname pos arg))\n          ((string? arg) (add-~name  pos arg))\n          ((~? arg)      (handle* (untag arg) neg pos))\n          ((ormap (lambda (superset?) (superset? arg)) superset?*)\n           (add-superset pos arg))\n          (else (error \"invalid argument:\" arg args))))\n  (define pos acc:empty)\n  (define neg acc:empty)\n  (handle* args pos neg)\n  (define dbn:pos (acc-dbnames pos))\n  (define dbn:neg (acc-dbnames neg))\n  (define (dbfilter es)\n    (filter (lambda (e)\n              (define dbn (element-dbname e))\n              (and (not (member dbn dbn:neg))\n                   (or (null? dbn:pos) (member dbn dbn:pos))))\n            es))\n  (let* ((es (difference* (intersection* (map dbfilter (acc-supersets pos)))\n                          (map dbfilter (acc-supersets neg))))\n         (es (if (null? (acc-~names pos)) es\n               (intersection es (dbfilter (~name* (acc-~names pos))))))\n         (es (if (null? (acc-~names neg)) es\n               (difference es (dbfilter (~name* (acc-~names neg)))))))\n    es))\n\n(define (C . args)\n  (define (~name strs) (sort-elements (run* (c) (~name*-concepto strs c))))\n  (parse ~name (list C? T?) args))\n(define (P . args)\n  (define (~name strs)\n    (intersection*\n      (map (lambda (s) (sort-elements (run* (p) (~predicateo s p)))) strs)))\n  (parse ~name (list P?) args))\n(define (T . args)\n  (define (~name strs)\n    (intersection*\n      (map (lambda (s) (sort-elements (run* (c) (~categoryo s c)))) strs)))\n  (parse ~name (list T?) args))\n\n;; TODO: Fix this.  This isn't quite right because it doesn't reflect sharing.\n;; Maybe define paths in terms of graphs of edges with named/shared elements?\n;; But path presentation/UI is nice.\n(define (edge s p o)\n  (unless (C? s) (error \"invalid edge subject:\"   s))\n  (unless (P? p) (error \"invalid edge predicate:\" p))\n  (unless (C? o) (error \"invalid edge object:\"    o))\n  (list s p o))\n(define (path . args)\n  (define (l>=3? xs) (and (pair? xs) (pair? (cdr xs)) (pair? (cddr xs))))\n  (tag 'path\n       (let loop ((args args) (edges '()))\n         (cond ((null? args) edges)\n               ((l>=3? args)\n                (define e (edge (car args) (cadr args) (caddr args)))\n                (loop (cddr args) (cons e edges)))))))\n\n;; TODO: define this as syntax.\n(define (graph element-bindings components)\n  )\n\n"
  },
  {
    "path": "contrib/medikanren/simple-query.rkt",
    "content": "#lang racket\n\n(provide\n  (all-from-out \"../../medikanren/mk.rkt\")\n  (all-from-out \"../../medikanren/db.rkt\")\n  (all-from-out \"../../medikanren/mk-db.rkt\")\n  (all-from-out \"../../medikanren/common.rkt\")\n  (all-from-out racket/date)\n  (all-defined-out))\n\n(require\n  \"../../medikanren/mk.rkt\"\n  \"../../medikanren/db.rkt\"\n  \"../../medikanren/mk-db.rkt\"\n  \"../../medikanren/common.rkt\"\n  \"../../attic/medikanren/create-all-hashtables.rkt\"\n  racket/date\n  (except-in racket/match ==))\n\n#|\nconcept format (subject or object), without dbname at front:\n\n`(,cid ,cui ,name (,catid . ,cat) . ,props)\n\nconcept format (subject or object), with dbname at front (as used in fuzzy-concepto):\n\n`(,dbname ,cid ,cui ,name (,catid . ,cat) . ,props)\n\n\nedge format, without dbname at front:\n\n`(,eid (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n       (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n       (,pid . ,pred) . ,eprops)\n\nedge format, with dbname at front (as used in edgeo):\n\n`(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n               (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n               (,pid . ,pred) . ,eprops)\n|#\n\n\n(displayln \"loading semmed knowledge graph\")\n(define semmed (make-db \"../../medikanren/data/semmed\"))\n\n(printf \"\\n\\nfull semmed edge:\\n\")\n(run 1 (edge) (db:edgeo semmed edge))\n\n(printf \"\\n\\nTyped query 1:\\n\")\n(run 1 (q)\n  (fresh (edge1\n          eid1 scid1 scui1 sname1 scatid1 scat1 sprops1\n          ocid1 ocui1 oname1 ocatid1 ocat1 oprops1\n          pid1 pred1 eprops1)\n    (== `(,eid1 (,scid1 ,scui1 ,sname1 (,scatid1 . ,scat1) . ,sprops1)\n                (,ocid1 ,ocui1 ,oname1 (,ocatid1 . ,ocat1) . ,oprops1)\n                (,pid1 . ,pred1) . ,eprops1)\n        edge1)\n    (== `(,sname1 ,pred1 ,oname1) q)\n    (db:edgeo semmed edge1)))\n\n(printf \"\\n\\nTyped query 2:\\n\")\n(run 1 (q)\n  (fresh (edge1\n          eid1 scid1 scui1 sname1 scatid1 scat1 sprops1\n          ocid1 ocui1 oname1 ocatid1 ocat1 oprops1\n          pid1 pred1 eprops1)\n    (== `(,eid1 (,scid1 ,scui1 ,sname1 (,scatid1 . ,scat1) . ,sprops1)\n                (,ocid1 ,ocui1 ,oname1 (,ocatid1 . ,ocat1) . ,oprops1)\n                (,pid1 . ,pred1) . ,eprops1)\n        edge1)\n    (== '(5 . \"chemical_substance\") `(,scatid1 . ,scat1))\n    (== `(,sname1 ,pred1 ,oname1) q)\n    (db:edgeo semmed edge1)))\n\n(printf \"\\n\\nTyped query 3:\\n\")\n(run 1 (q)\n  (fresh (edge1\n          eid1 scid1 scui1 sname1 scatid1 scat1 sprops1\n          ocid1 ocui1 oname1 ocatid1 ocat1 oprops1\n          pid1 pred1 eprops1)\n    (== `(,eid1 (,scid1 ,scui1 ,sname1 (,scatid1 . ,scat1) . ,sprops1)\n                (,ocid1 ,ocui1 ,oname1 (,ocatid1 . ,ocat1) . ,oprops1)\n                (,pid1 . ,pred1) . ,eprops1)\n        edge1)\n    (== '(5 . \"chemical_substance\") `(,scatid1 . ,scat1))\n    (== '(1 . \"treats\") `(,pid1 . ,pred1))\n    (== `(,sname1 ,pred1 ,oname1) q)\n    (db:edgeo semmed edge1)))\n"
  },
  {
    "path": "contrib/medikanren/test-web-server.rkt",
    "content": "#lang racket\n(require net/http-client)\n\n(define (read/string s) (with-input-from-string s (lambda () (read))))\n(define (write/string datum) (with-output-to-string (lambda () (write datum))))\n(define (pretty/string datum)\n  (with-output-to-string (lambda () (pretty-print datum))))\n\n(define (query sdatum)\n  (define-values (bstatus headers in)\n    (http-sendrecv \"localhost\" \"/query\"\n                   #:port 8000\n                   #:ssl? #f\n                   #:version \"1.1\"\n                   #:method \"POST\"\n                   #:data (write/string sdatum)))\n  (define status (bytes->string/utf-8 bstatus))\n  (define response (port->string in))\n  (close-input-port in)\n  (cond ((string-suffix? status \"200 OK\") (read/string response))\n        (else (printf \"~a\\n\" response)\n              (error \"Query failed:\" status (map bytes->string/utf-8 headers)\n                     response))))\n\n(define (decreases? p)\n  (member (cddr p) '(\"negatively_regulates\"\n                     \"prevents\"\n                     \"treats\"\n                     \"disrupts\"\n                     \"increases_degradation_of\"\n                     \"decreases_activity_of\"\n                     \"decreases_expression_of\")))\n(define (increases? p)\n  (member (cddr p) '(\"positively_regulates\"\n                     \"produces\"\n                     \"causes\"\n                     \"causes_condition\"\n                     \"causally_related_to\"\n                     \"contributes_to\"\n                     \"gene_associated_with_condition\"\n                     \"gene_mutations_contribute_to\"\n                     \"decreases_degradation_of\"\n                     \"increases_activity_of\"\n                     \"increases_expression_of\")))\n\n(define SP (map (lambda (cp)\n                  (define c (car cp))\n                  (define pS (cadr cp))\n                  (list c (filter decreases? pS) #f))\n                (take (query '(concept #t #f 0 #f (\"imatin\"))) 1)))\n\n(define OP (map (lambda (cp)\n                  (define c (car cp))\n                  (define pO (caddr cp))\n                  (list c #f (filter increases? pO)))\n                (take (query '(concept #f #t 0 #f (\"asthma\"))) 1)))\n\n(displayln \"Imatinib:\")\n(pretty-print SP)\n(newline)\n(displayln \"Asthma:\")\n(pretty-print OP)\n\n(define X (query `(X ,SP ,OP)))\n(define x-bcr\n  (car (filter (lambda (x) (equal? (cadddr (car x)) \"BCR gene\")) X)))\n\n(newline)\n(displayln 'X:)\n(pretty-print (car x-bcr))\n(newline)\n(displayln 'S-edges:)\n(pretty-print (cadr x-bcr))\n(newline)\n(displayln 'O-edges:)\n(pretty-print (caddr x-bcr))\n"
  },
  {
    "path": "contrib/medikanren/use-cases/CHAMP1_RNA_seq.rkt",
    "content": "#lang racket\n(require\n  \"../../../medikanren/pieces-parts/query.rkt\"\n  \"../pieces-parts/Thi-useful-functions.rkt\")\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******************************;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*********GENERAL SEARCH********;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; *** Data Sources:\n;; - Processed CHAMP1 RNAseq data from outside of mediKanren\n;; - RNA was obtained from patients or control\n;;  cultured fibroblasts derived from skin biopsies\n;;\n;; *** Objective:\n;; Repurpose drugs for CHAMP1 genetic disorder using RNAseq data from patients-derived skin fibroblasts\n;;\n;; *** Please find the case presentation at\n;; First, I'm doing exploratory searches for the disease information related to CHAMP1 genes:\n;; Find disease conditions that are related to CHAMP1 genes\n(curie-synonyms/names \"HGNC:20311\")\n(define CHAMP1 \"HGNC:20311\")\n;; Check the diseases and conditions associted with the CHAMP1 gene\n(define q-disease-CHAMP1 (time (query/graph\n                     ((S disease)\n                      (O CHAMP1))\n                     ((S->O #f))\n                     (S S->O O))))\n\n(define disease-CHAMP1-edges (edges/query q-disease-CHAMP1 'S->O))\n\n;; The results show that CHAMP1 gene (chromosome alignment-maintaining phosphoprotein, is a protein-coding gene,\n;; a member of the zinc fingers C2H2-types protein, located on chromosome 13q34)\n;; is associated with certain disease conditions such as\n;; mental retardation (autosomal dominant), rare (non-syndromic) intellectual disability, monogenic genetic\n;; central nervous system disorder, mental disorder, and psychiatric disorder. \n\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******************************;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******STRATEGY NUMBER 1*******;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; In this strategy, we want to find drugs that target the genes that belong to enriched functional categories\n;; such as cell cycle and cell senescence, retinol metabolism (which are results from gene set enrichemnet analysis (GSEA) performed\n;; outside of medikanren).\n;; GSEA has identified a number of genes that are upregulated in CHAMP1 fibroblasts compared to control fibroblasts.\n\n;; First, find HGNC CURIEs (\"HGNC:\") of each gene from the gene name (either by using\n;; genecards database \"https://www.genecards.org/\" or using mediKanren's find-concepts\n;; ,then check if they are synonymized.\n;; If the CURIE is synonymized, we use it to define the gene/protein in query/graph\n;; eg:\n\n(find-concepts #f (list \"VIM\"))\n(curie-synonyms/names \"HGNC:1583\")\n\n\n;; genes that are altered in the cell cycle pathway:\n(define CCND2 \"HGNC:1583\") ;; cell cycle up-regulated\n(define TUBA1A \"HGNC:20766\") ;; cell cycle down-regulated\n;; cell senescence pathway:\n;(define CCND2 \"HGNC:1583\") ;; up-regulated\n(define RASSF5 \"HGNC:17609\") ;; up-regulated\n;; DNA replication| apoptosis \n(define PSMA5 \"HGNC:9534\");; up-regulated\n;; Oocyte meiosis | progesterone-mediated oocyte maturation| calcium signaling\n(define ADCY4 \"HGNC:235\");; up-regulate\n;; retinol metabolism:\n(define ALDH1A1 \"HGNC:402\");; up-regulated\n;; ABC transporter:\n(define ABCA13 \"HGNC:14638\");; up-regulated\n;; HIV infection| calcium\n(define PTK2B \"HGNC:9612\");; up-regulated\n(define AP1G2 \"HGNC:556\");; up-regulated\n;; amyotropic lateral sclerosis | apoptosis\n(define TNFRSF1B \"HGNC:11917\");; down-regulated\n;; regulation of actin cytoskeleton:\n(define FGF10 \"HGNC:3666\");;  up-regulated\n(define CHRM2 \"HGNC:1951\");; down-regulated\n;; Gonadotropin hormone-releasing\n(define KCNN4 \"HGNC:6293\");; down-regulated\n;; ECM receptor interaction:\n(define CD36 \"HGNC:1663\");;  up-regulated\n;; Neuroactive ligand-receptor interaction | calcium\n(define EDNRB \"HGNC:3180\") ;;  up-regulated\n(define LHB \"HGNC:6584\");; down-regulated\n;; mRNA surveillance:\n(define MSI2 \"HGNC:18585\") ;; down-regulated\n;; calcium\n;(define ADCY4 \"HGNC:235\");; up-regulated\n;(define PTK2B \"HGNC:9612\");; up-regulated\n(define ERBB4 \"HGNC:3432\");; up-regulated\n;(define CHRM2 \"HGNC:1951\");; down-regulated\n;(define EDNRB \"HGNC:3180\") ;;  up-regulated\n;; apoptosis:\n(define VIM \"HGNC:12692\");; down-regulated\n\n\n;; All selected upregulated genes in enriched functional categories are:\n(define functional-cat-up (list CCND2 RASSF5 PSMA5 ADCY4 ALDH1A1 ABCA13 PTK2B\n                                AP1G2 FGF10 CD36 EDNRB EDNRB ERBB4))\n(define functional-cat-down (list TUBA1A TNFRSF1B CHRM2 KCNN4 LHB MSI2 VIM))\n\n\n(define results-CHAMP1-functional-cat-down (find-drugs-for-genes functional-cat-up positively-regulates))\n(define results-CHAMP1-functional-cat-up (find-drugs-for-genes functional-cat-up negatively-regulates))\n;;extract drug=>gene hash-table:\n(define drug=>gene-CHAMP1-functional-cat-down (car results-CHAMP1-functional-cat-down))\n(define drug=>gene-CHAMP1-functional-cat-up (car results-CHAMP1-functional-cat-up))\n;;extract gene=>drug hash-table:\n(define gene=>drug-CHAMP1-functional-cat-down (cadr results-CHAMP1-functional-cat-down))\n(define gene=>drug-CHAMP1-functional-cat-up (car results-CHAMP1-functional-cat-up))\n(define drug=>gene-strategy1 (merge-assoc-lists (list drug=>gene-CHAMP1-functional-cat-down drug=>gene-CHAMP1-functional-cat-up)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******************************;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******STRATEGY NUMBER 2*******;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n\n;; Based on literature research, we identifed 5 different disease conditions that are associated with CHAMP1 genetic disorder:\n\n(define hypotonia-concepts (find-concepts #f (list \"hypotonia\")))\n(define cerebral-palsy-concepts (find-concepts #f (list \"cerebral palsy\")))\n(define autism-concepts (find-concepts #f (list \"autism\")))\n(define dev-delay-concepts (find-concepts #f (list \"developmental delay\")))\n(define epilepsy-concepts (find-concepts #f (list \"epilepsy\")))\n\n\n;; In this 2nd strategy, we first search for all the genes that are associated with the five CHAMP1\n;; disease associated conditions using run/graph\n\n(match-define\n  (list name=>concepts name=>edges)\n  (run/graph\n   ((S #f)\n    (O (set-union hypotonia-concepts\n                  cerebral-palsy-concepts\n                  autism-concepts\n                  dev-delay-concepts\n                  epilepsy-concepts)))\n   ((S->O gene-to-disease-preds))\n   (S S->O O)))\n\n;; filter the subjects to retain only genes or proteins and get their names:\n(map (lambda (y) (cons (concept->curie y) (concept->name y)))\n     (filter (lambda (x)\n               (gene/protein-concept? (concept->curie x))) (hash-ref name=>concepts 'S)))\n\n;; This filter results in 1397 genes/proteins that are related to CHAMP1 patients' phenotypes.\n;; I then cleaned the data, converted it to .csv and mapped different gene/protein identifers to HGNC symbols\n;; then I removed duplicates and NA.\n;; This resulted in 934 genes.\n;; Using these genes, I plot a volcano plot that show differences in expression levels between\n;; CHAMP1 patients fibroblasts vs control fibroblasts.\n;; This visualisation shows genes that are statistically significantly altered between these\n;; two conditions. These genes become our drug targets.\n\n\n;; Now we want to find drugs that reverse the directions of DEG genes (which are genes found to be associated\n;; with CHAMP1 patients' phenotypes- the results from the run/graph above.\n;; Directionality is provided by gene expression values (determined by experiments on CHAMP1 patients' fibroblasts).\n;; For genes that are significantly upregulated, we want to find drugs that decrease their expression, and vice versa.\n\n\n;; Abstract genes that are upregulated:\n(define CACNB4 \"HGNC:1404\")\n(define PRICKLE1 \"HGNC:17019\")\n(define DMD \"HGNC:2928\")\n(define SHANK2 \"HGNC:14295\")\n(define MAP2 \"HGNC:6839\")\n(define H19 \"HGNC:4713\")\n(define BCHE \"HGNC:983\")\n(define EFNA5 \"HGNC:3225\")\n(define CNTNAP2 \"HGNC:13830\")\n(define ANKH \"HGNC:15492\")\n(define SLC12A6 \"HGNC:10914\")\n(define CHAMP1-phenotype-RNA-up\n  (list CACNB4 PRICKLE1 DMD SHANK2 MAP2 H19 BCHE EFNA5 CNTNAP2 ANKH SLC12A6))\n\n;; Alternatively, for genes that are significantly downregulatated, we want to find drugs that increase their expression: \n(define GABRA5 \"HGNC:4079\")\n;(define TNFRSF1B \"HGNC:11917\")\n(define STX1B \"HGNC:18539\")\n(define RBFA \"HGNC:26120\")\n(define CHAMP1-phenotype-RNA-down\n  (list GABRA5 TNFRSF1B STX1B RBFA))\n\n\n\n;; Now we use the function find-drugs-for-genes in Thi's-useful-functions:\n(define results-CHAMP1-phenotype-RNA-up (find-drugs-for-genes CHAMP1-phenotype-RNA-up negatively-regulates))\n(define drug=>gene-CHAMP1-phenotype-RNA-up (car results-CHAMP1-phenotype-RNA-up))\n(define gene=>drug-CHAMP1-phenotype-RNA-up (cadr results-CHAMP1-phenotype-RNA-up))\n\n(define results-CHAMP1-phenotype-RNA-down (find-drugs-for-genes CHAMP1-phenotype-RNA-down positively-regulates))\n(define drug=>gene-CHAMP1-phenotype-RNA-down (car results-CHAMP1-phenotype-RNA-down))\n(define gene=>drug-CHAMP1-phenotype-RNA-down (cadr results-CHAMP1-phenotype-RNA-down))\n\n;; use the get-num-values function in Thi's-useful-functions:\n(define drug=>gene-CHAMP1-phenotype-RNA-up-with-stats (get-num-values drug=>gene-CHAMP1-phenotype-RNA-up))\n(define gene=>drug-CHAMP1-phenotype-RNA-up-with-stats (get-num-values gene=>drug-CHAMP1-phenotype-RNA-up))\n\n(define drug=>gene-CHAMP1-phenotype-RNA-down-with-stats (get-num-values drug=>gene-CHAMP1-phenotype-RNA-down))\n(define gene=>drug-CHAMP1-phenotype-RNA-down-with-stats (get-num-values gene=>drug-CHAMP1-phenotype-RNA-down))\n\n(define merged_strategy2 (merge-2-assoc-list drug=>gene-CHAMP1-phenotype-RNA-up drug=>gene-CHAMP1-phenotype-RNA-down))\n(define merged_trategy2_count (get-num-values (car merged_strategy2)))\n\n(define merged_strategy2_genes (merge-2-assoc-list gene=>drug-CHAMP1-phenotype-RNA-up gene=>drug-CHAMP1-phenotype-RNA-down))\n(define merged_trategy2_genes_count (get-num-values (car merged_strategy2_genes)))\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******************************;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*******STRATEGY NUMBER 3*******;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; 2-edge queries to find drugs that treat the CHAMP1 disease conditions and reverse the gene expression directions:\n;; These are all significantly altered genes in differential expression analyses performed outside of mediKanren\n\n(define CHAMP1-DE-RNA-up (list \"ENSEMBL:ENSG00000228630\"\n                               \"ENSEMBL:ENSG00000261340\"\n                               \"ENSEMBL:ENSG00000083937\"\n                               \"ENSEMBL:ENSG00000143106\"\n                               \"ENSEMBL:ENSG00000140199\"\n                               \"ENSEMBL:ENSG00000065357\"\n                               \"ENSEMBL:ENSG00000129480\"\n                               \"ENSEMBL:ENSG00000162688\"\n                               \"ENSEMBL:ENSG00000180818\"\n                               \"ENSEMBL:ENSG00000136478\"\n                               \"ENSEMBL:ENSG00000065413\"\n                               \"ENSEMBL:ENSG00000167394\"\n                               \"ENSEMBL:ENSG00000163249\"\n                               \"ENSEMBL:ENSG00000118762\"\n                               \"ENSEMBL:ENSG00000185070\"\n                               \"ENSEMBL:ENSG00000089060\"\n                               \"ENSEMBL:ENSG00000173221\"\n                               \"ENSEMBL:ENSG00000175040\"\n                               \"ENSEMBL:ENSG00000112964\"\n                               \"ENSEMBL:ENSG00000111670\"\n                               \"ENSEMBL:ENSG00000119986\"\n                               \"ENSEMBL:ENSG00000106415\"\n                               \"ENSEMBL:ENSG00000038427\"\n                               \"ENSEMBL:ENSG00000154122\"\n                               \"ENSEMBL:ENSG00000176531\"\n                               \"ENSEMBL:ENSG00000121413\"\n                               \"ENSEMBL:ENSG00000176809\"\n                               \"ENSEMBL:ENSG00000165804\"\n                               \"ENSEMBL:ENSG00000198948\"\n                               \"ENSEMBL:ENSG00000012171\"\n                               \"ENSEMBL:ENSG00000267454\"\n                               \"ENSEMBL:ENSG00000182379\"\n                               \"ENSEMBL:ENSG00000213983\"\n                               \"ENSEMBL:ENSG00000169313\"\n                               \"ENSEMBL:ENSG00000137573\"\n                               \"ENSEMBL:ENSG00000174469\"\n                               \"ENSEMBL:ENSG00000189129\"\n                               \"ENSEMBL:ENSG00000112378\"\n                               \"ENSEMBL:ENSG00000136048\"\n                               \"ENSEMBL:ENSG00000101134\"\n                               \"ENSEMBL:ENSG00000176928\"\n                               \"ENSEMBL:ENSG00000184916\"\n                               \"ENSEMBL:ENSG00000162643\"\n                               \"ENSEMBL:ENSG00000266094\"\n                               \"ENSEMBL:ENSG00000150540\"\n                               \"ENSEMBL:ENSG00000176771\"\n                               \"ENSEMBL:ENSG00000138772\"\n                               \"ENSEMBL:ENSG00000115271\"\n                               \"ENSEMBL:ENSG00000250133\"\n                               \"ENSEMBL:ENSG00000179104\"\n                               \"ENSEMBL:ENSG00000145390\"\n                               \"ENSEMBL:ENSG00000184349\"\n                               \"ENSEMBL:ENSG00000101605\"\n                               \"ENSEMBL:ENSG00000205002\"\n                               \"ENSEMBL:ENSG00000198133\"\n                               \"ENSEMBL:ENSG00000205835\"\n                               \"ENSEMBL:ENSG00000165113\"\n                               \"ENSEMBL:ENSG00000172403\"\n                               \"ENSEMBL:ENSG00000120899\"\n                               \"ENSEMBL:ENSG00000174600\"\n                               \"ENSEMBL:ENSG00000099260\"\n                               \"ENSEMBL:ENSG00000137727\"\n                               \"ENSEMBL:ENSG00000136160\"\n                               \"ENSEMBL:ENSG00000182901\"\n                               \"ENSEMBL:ENSG00000112981\"\n                               \"ENSEMBL:ENSG00000242600\"\n                               \"ENSEMBL:ENSG00000115604\"\n                               \"ENSEMBL:ENSG00000144229\"\n                               \"ENSEMBL:ENSG00000151623\"\n                               \"ENSEMBL:ENSG00000165023\"\n                               \"ENSEMBL:ENSG00000152804\"\n                               \"ENSEMBL:ENSG00000112379\"\n                               \"ENSEMBL:ENSG00000082497\"\n                               \"ENSEMBL:ENSG00000144645\"\n                               \"ENSEMBL:ENSG00000196208\"\n                               \"ENSEMBL:ENSG00000228495\"\n                               \"ENSEMBL:ENSG00000135919\"\n                               \"ENSEMBL:ENSG00000211448\"\n                               \"ENSEMBL:ENSG00000141449\"\n                               \"ENSEMBL:ENSG00000203727\"\n                               \"ENSEMBL:ENSG00000013588\"\n                               \"ENSEMBL:ENSG00000130600\"\n                               \"ENSEMBL:ENSG00000126861\"\n                               \"ENSEMBL:ENSG00000165084\"\n                               \"ENSEMBL:ENSG00000179869\"\n                               \"ENSEMBL:ENSG00000114200\"\n                               \"ENSEMBL:ENSG00000143028\"\n                               \"ENSEMBL:ENSG00000164106\"\n                               \"ENSEMBL:ENSG00000138449\"\n                               \"ENSEMBL:ENSG00000110723\"\n                               \"ENSEMBL:ENSG00000162687\"\n                               \"ENSEMBL:ENSG00000183775\"\n                               \"ENSEMBL:ENSG00000106538\"\n                               \"ENSEMBL:ENSG00000064225\"\n                               \"ENSEMBL:ENSG00000086289\"\n                               \"ENSEMBL:ENSG00000070193\"\n                               \"ENSEMBL:ENSG00000116183\"\n                               \"ENSEMBL:ENSG00000102109\"\n                               \"ENSEMBL:ENSG00000078018\"\n                               \"ENSEMBL:ENSG00000099864\"\n                               \"ENSEMBL:ENSG00000173391\"\n                               \"ENSEMBL:ENSG00000198947\"\n                               \"ENSEMBL:ENSG00000139174\"\n                               \"ENSEMBL:ENSG00000165092\"\n                               \"ENSEMBL:ENSG00000162105\"\n                               \"ENSEMBL:ENSG00000137672\"\n                               \"ENSEMBL:ENSG00000178568\"\n                               \"ENSEMBL:ENSG00000064042\"\n                               \"ENSEMBL:ENSG00000135218\"\n                               \"ENSEMBL:ENSG00000126785\"\n                               \"ENSEMBL:ENSG00000240694\"\n                               \"ENSEMBL:ENSG00000248874\"\n                               \"ENSEMBL:ENSG00000118971\"\n                               \"ENSEMBL:ENSG00000182389\"\n                               \"ENSEMBL:ENSG00000129467\"\n                               \"ENSEMBL:ENSG00000106483\"\n                               \"ENSEMBL:ENSG00000123572\"))\n\n\n(define CHAMP1-DE-RNA-down (list   \"EMSEMBL:ENSG00000204792\"\n                                   \"EMSEMBL:ENSG00000166796\"\n                                   \"EMSEMBL:ENSG00000186297\"\n                                   \"EMSEMBL:ENSG00000005379\"\n                                   \"EMSEMBL:ENSG00000234465\"\n                                   \"EMSEMBL:ENSG00000165887\"\n                                   \"EMSEMBL:ENSG00000115648\"\n                                   \"EMSEMBL:ENSG00000102575\"\n                                   \"EMSEMBL:ENSG00000175084\"\n                                   \"EMSEMBL:ENSG00000145824\"\n                                   \"EMSEMBL:ENSG00000213030\"\n                                   \"EMSEMBL:ENSG00000132639\"\n                                   \"EMSEMBL:ENSG00000006606\"\n                                   \"EMSEMBL:ENSG00000101017\"\n                                   \"EMSEMBL:ENSG00000154451\"\n                                   \"EMSEMBL:ENSG00000169429\"\n                                   \"EMSEMBL:ENSG00000104826\"\n                                   \"EMSEMBL:ENSG00000163618\"\n                                   \"EMSEMBL:ENSG00000147573\"\n                                   \"EMSEMBL:ENSG00000171517\"\n                                   \"EMSEMBL:ENSG00000130720\"\n                                   \"EMSEMBL:ENSG00000157557\"\n                                   \"EMSEMBL:ENSG00000178882\"\n                                   \"EMSEMBL:ENSG00000156453\"\n                                   \"EMSEMBL:ENSG00000148803\"\n                                   \"EMSEMBL:ENSG00000107611\"\n                                   \"EMSEMBL:ENSG00000175294\"\n                                   \"EMSEMBL:ENSG00000181072\"\n                                   \"EMSEMBL:ENSG00000104783\"\n                                   \"EMSEMBL:ENSG00000128285\"\n                                   \"EMSEMBL:ENSG00000080823\"\n                                   \"EMSEMBL:ENSG00000167889\"\n                                   \"EMSEMBL:ENSG00000124191\"\n                                   \"EMSEMBL:ENSG00000163701\"\n                                   \"EMSEMBL:ENSG00000076706\"\n                                   \"EMSEMBL:ENSG00000144354\"\n                                   \"EMSEMBL:ENSG00000103034\"\n                                   \"EMSEMBL:ENSG00000164929\"\n                                   \"EMSEMBL:ENSG00000204103\"\n                                   \"EMSEMBL:ENSG00000242265\"\n                                   \"EMSEMBL:ENSG00000196460\"\n                                   \"EMSEMBL:ENSG00000138395\"\n                                   \"EMSEMBL:ENSG00000225968\"\n                                   \"EMSEMBL:ENSG00000028137\"\n                                   \"EMSEMBL:ENSG00000091622\"\n                                   \"EMSEMBL:ENSG00000125968\"\n                                   \"EMSEMBL:ENSG00000173848\"\n                                   \"EMSEMBL:ENSG00000239332\"\n                                   \"EMSEMBL:ENSG00000139278\"\n                                   \"EMSEMBL:ENSG00000137563\"\n                                   \"EMSEMBL:ENSG00000163814\"\n                                   \"EMSEMBL:ENSG00000121904\"\n                                   \"EMSEMBL:ENSG00000186847\"\n                                   \"EMSEMBL:ENSG00000099365\"\n                                   \"EMSEMBL:ENSG00000136490\"\n                                   \"EMSEMBL:ENSG00000100181\"\n                                   \"EMSEMBL:ENSG00000079462\"\n                                   \"EMSEMBL:ENSG00000026025\"\n                                   \"EMSEMBL:ENSG00000105255\"\n                                   \"EMSEMBL:ENSG00000188064\"\n                                   \"EMSEMBL:ENSG00000103449\"\n                                   \"EMSEMBL:ENSG00000235162\"\n                                   \"EMSEMBL:ENSG00000074410\"\n                                   \"EMSEMBL:ENSG00000170961\"\n                                   \"EMSEMBL:ENSG00000140280\"\n                                   \"EMSEMBL:ENSG00000187583\"\n                                   \"EMSEMBL:ENSG00000205683\"\n                                   \"EMSEMBL:ENSG00000109062\"\n                                   \"EMSEMBL:ENSG00000159231\"\n                                   \"EMSEMBL:ENSG00000183077\"\n                                   \"EMSEMBL:ENSG00000173588\"\n                                   \"EMSEMBL:ENSG00000167552\"\n                                   \"EMSEMBL:ENSG00000243156\"\n                                   \"EMSEMBL:ENSG00000166886\"\n                                   \"EMSEMBL:ENSG00000153944\"\n                                   \"EMSEMBL:ENSG00000196912\"\n                                   \"EMSEMBL:ENSG00000183506\"\n                                   \"EMSEMBL:ENSG00000156535\"\n                                   \"EMSEMBL:ENSG00000087266\"\n                                   \"EMSEMBL:ENSG00000170921\"\n                                   \"EMSEMBL:ENSG00000185052\"\n                                   \"EMSEMBL:ENSG00000089486\"\n                                   \"EMSEMBL:ENSG00000196155\"\n                                   \"EMSEMBL:ENSG00000101546\"\n                                   \"EMSEMBL:ENSG00000038382\"\n                                   \"EMSEMBL:ENSG00000167460\"\n                                   \"EMSEMBL:ENSG00000186281\"\n                                   \"EMSEMBL:ENSG00000130309\"\n                                   \"EMSEMBL:ENSG00000054523\"\n                                   \"EMSEMBL:ENSG00000100097\"\n                                   \"EMSEMBL:ENSG00000142892\"\n                                   \"EMSEMBL:ENSG00000231419\"\n                                   \"EMSEMBL:ENSG00000163687\"))\n\n;; define CHAMP1 disease related conditions:\n(define dev-delay \"HP:0001263\")\n(define hypotonia \"HP:0001252\")\n(define cerebral-palsy \"HP:0100021\")\n(define autism \"MONDO:0005260\")\n(define epilepsy \"MONDO:0005027\")\n\n;; The function find-drug-for-condition takes a disease condition, a gene list (derived from RNA-seq DEG results)\n;; a list of drug-to-gene predicates that we want the drug to modulate.\n;; This function will run a query/graph that does a 2-edge query which find drugs that modify the disease condition\n;; while also modulate the gene in the gene list\n;; this function will return a list which contains 2 hash-tables which are sorted based on the number\n;; of genes or drugs available:\n\n; Use the find-drug-for-condition from Thi-useful-functions.rkt:\n(define dev-delay-drug-results-RNA-up (find-drug-for-condition dev-delay CHAMP1-DE-RNA-up negatively-regulates))\n(define dev-delay-drug-results-RNA-down (find-drug-for-condition dev-delay CHAMP1-DE-RNA-down positively-regulates))\n\n(define hypotonia-drug-results-RNA-up (find-drug-for-condition hypotonia CHAMP1-DE-RNA-up negatively-regulates))\n(define hypotonia-drug-results-RNA-down (find-drug-for-condition hypotonia CHAMP1-DE-RNA-up negatively-regulates))\n\n(define cerebral-palsy-drug-results-RNA-up (find-drug-for-condition cerebral-palsy CHAMP1-DE-RNA-up negatively-regulates))\n(define cerebral-palsy-drug-results-RNA-down (find-drug-for-condition cerebral-palsy CHAMP1-DE-RNA-down positively-regulates))\n\n(define autism-drug-results-RNA-up (find-drug-for-condition autism CHAMP1-DE-RNA-up negatively-regulates))\n(define autism-drug-results-RNA-down (find-drug-for-condition autism CHAMP1-DE-RNA-down positively-regulates))\n\n(define epilepsy-drug-results-RNA-up (find-drug-for-condition epilepsy CHAMP1-DE-RNA-up negatively-regulates))\n(define epilepsy-drug-results-RNA-down (find-drug-for-condition epilepsy CHAMP1-DE-RNA-down positively-regulates))\n\n;; Extract gene=>drug and drug=>gene tables:\n\n(define drug=>gene-dev-delay-drug-results-RNA-up (car dev-delay-drug-results-RNA-up))\n(define gene=>drug-dev-delay-drug-results-RNA-up (cadr dev-delay-drug-results-RNA-up))\n(define drug=>gene-dev-delay-drug-results-RNA-down (car dev-delay-drug-results-RNA-down))\n(define gene=>drug-dev-delay-drug-results-RNA-down (cadr dev-delay-drug-results-RNA-down))\n\n(define drug=>gene-hypotonia-drug-results-RNA-up (car hypotonia-drug-results-RNA-up))\n(define gene=>drug-hypotonia-drug-results-RNA-up (cadr hypotonia-drug-results-RNA-up))\n(define drug=>gene-hypotonia-drug-results-RNA-down (car hypotonia-drug-results-RNA-down))\n(define gene=>drug-hypotonia-drug-results-RNA-down (cadr hypotonia-drug-results-RNA-down))\n\n(define drug=>gene-cerebral-palsy-drug-results-RNA-up (car cerebral-palsy-drug-results-RNA-up))\n(define gene=>drug-cerebral-palsy-drug-results-RNA-up (cadr cerebral-palsy-drug-results-RNA-up))\n(define drug=>gene-cerebral-palsy-drug-results-RNA-down (car cerebral-palsy-drug-results-RNA-down))\n(define gene=>drug-cerebral-palsy-drug-results-RNA-down (cadr cerebral-palsy-drug-results-RNA-down))\n\n(define drug=>gene-autism-drug-results-RNA-up (car autism-drug-results-RNA-up))\n(define gene=>drug-autism-drug-results-RNA-up (cadr autism-drug-results-RNA-up))\n(define drug=>gene-autism-drug-results-RNA-down (car autism-drug-results-RNA-down))\n(define gene=>drug-autism-drug-results-RNA-down (cadr autism-drug-results-RNA-down))\n\n(define drug=>gene-epilepsy-drug-results-RNA-up (car epilepsy-drug-results-RNA-up))\n(define gene=>drug-epilepsy-drug-results-RNA-up (cadr epilepsy-drug-results-RNA-up))\n(define drug=>gene-epilepsy-drug-results-RNA-down (car epilepsy-drug-results-RNA-down))\n(define gene=>drug-epilepsy-drug-results-RNA-down (cadr epilepsy-drug-results-RNA-down))\n\n; combine 10 association lists:\n(define strategy3_results\n  (merge-assoc-lists\n   (list drug=>gene-dev-delay-drug-results-RNA-up\n         drug=>gene-dev-delay-drug-results-RNA-down\n         drug=>gene-hypotonia-drug-results-RNA-up \n         drug=>gene-hypotonia-drug-results-RNA-down\n         drug=>gene-cerebral-palsy-drug-results-RNA-up\n         drug=>gene-cerebral-palsy-drug-results-RNA-down\n         drug=>gene-autism-drug-results-RNA-up\n         drug=>gene-autism-drug-results-RNA-down\n         drug=>gene-epilepsy-drug-results-RNA-up\n         drug=>gene-epilepsy-drug-results-RNA-down)))\n\n\n(define strategy3_genes_results\n  (merge-assoc-lists\n   (list gene=>drug-dev-delay-drug-results-RNA-up\n         gene=>drug-dev-delay-drug-results-RNA-down\n         gene=>drug-hypotonia-drug-results-RNA-up \n         gene=>drug-hypotonia-drug-results-RNA-down\n         gene=>drug-cerebral-palsy-drug-results-RNA-up\n         gene=>drug-cerebral-palsy-drug-results-RNA-down\n         gene=>drug-autism-drug-results-RNA-up\n         gene=>drug-autism-drug-results-RNA-down\n         gene=>drug-epilepsy-drug-results-RNA-up\n         gene=>drug-epilepsy-drug-results-RNA-down)))\n\n; sort them by the values:\n(define strategy3_results-count (get-num-values (car strategy3_results)))\n(define strategy3_results-genes-count (get-num-values (car strategy3_genes_results)))\n\n"
  },
  {
    "path": "contrib/medikanren/use-cases/PMI-20-10-Il1R1-case-reviews.rkt",
    "content": "#lang racket\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*****Application of mediKanren in case review*****;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n\n;; Here I'm demonstrating how I used mediKanren for the PMI-20-10 case.\n;; Date: 08/19/2020\n;; For the case presentation, please check the file PMI-20-10.pdf\n\n;; Participant is a 18 yo male who was diagnosed with Ulcerative Colitis at 3 yo. For the next 10 years, he was in\n;; remission but his colitis flared again when he was 13.\n;; For this case, there are many molecular data available such as Whole Exome Sequencing data (trio), microarray\n;; gene expression data and in-vitro macrophage stimulation assay. Subject Matter Experts (SME) in molecular biology\n;; , immunology and computational biology have looked at this case in details and hypothesized the mechanism\n;; of disease: participant's IL1R1 variant may lead to aberrant IL1R signaling in T cells and result in his colitis\n;; phenotype. Therefore, in this case, we used mediKanren to find drugs that target IL1R and IL1R signaling pathway.\n\n\n;; First, load all data sources into RAM\n(require \"../../../medikanren/pieces-parts/query.rkt\" \"../pieces-parts/Thi-useful-functions.rkt\")\n                       \n;; Find IL1R1 gene CURIE by looking up the identifiers in the GeneCards database\n(define IL-1R1 \"HGNC:5993\")\n\n;; Check if this CURIE has been synonymized in our Knowledge Graphs (KGs)\n(curie-synonyms \"HGNC:5993\")\n\n;; define the deccreases predicates to be used in run/graph drug->gene queries\n(define decreases '(\"prevents\"\n                    \"negatively_regulates\"\n                    \"negatively_regulates__entity_to_entity\"\n                    \"directly_negatively_regulates\"\n                    \"biolink:negatively_regulates\"\n                    \"biolink:negatively_regulates_entity_to_entity\"\n                    \"biolink:directly_negatively_regulates\"\n                    \"decreases_secretion_of\"\n                    \"decreases_transport_of\"\n                    \"decreases_activity_of\"\n                    \"decreases_synthesis_of\"\n                    \"decreases_expression_of\"\n                    \"increases_degradation_of\"\n                    \"disrupts\"\n                    \"biolink:disease_disrupts\"\n                    \"inhibits\"\n                    \"inhibitor\"\n                    \"antisense_inhibitor\"\n                    \"gating_inhibitor\"\n                    \"channel_blocker\"\n                    \"treats\"))\n;; define drug\n(define drug '(;; semmed\n              \"chemical_substance\"\n              ;; robokop\n              \"(\\\"named_thing\\\" \\\"chemical_substance\\\")\"\n              ;; orange?\n              ;; rtx2\n              \"http://w3id.org/biolink/vocab/Drug\"\n              \"http://w3id.org/biolink/vocab/ChemicalSubstance\"\n              \"http://w3id.org/biolink/vocab/Chemical_Substance\"\n              ))\n\n;; construct a query/graph to find drugs that targets/inhibits IL-1R1\n\n(define q-IL-1R1 (query/graph ;; query/graph is an interface that alows us to query our data\n                  ((S drug);; define the subject (S) to be drugs\n                   (C IL-1R1));; define the object (C) to be IL1R1\n                  ((S->C decreases));; define the verb/relationship between the subject and object\n                  (S S->C C)));; define the pathway (i.e. direction of the story).\n                              ;; This is where the subject is distinguished from the objects.\n\n\n#|\n***Please note that query/graph performs concept-synonymization/normalization under the hood.\n\nConcept normalization allows traversal of different knowledge graphs and databases without\nknowing all the equivalent CURIEs from different knowledge sources. This allows expansion\nof one single CURIE which belongs to a single database to multiple equivalent CURIEs from\nother databases, from where there may be productive search results for finding drugs.\n|#\n\n;; check the results of the query/graph output:\n(report/query q-IL-1R1)\n\n#| Output:\n\n'((concepts: (S 10) (C 1)) (edges: (S->C 16)))\n\n At a glance, there are 10 drugs that inhibit IL1R1 and there are 16 different stories.\n Edges not only contain subject and object information, they also contain the details about the story, especially\n information such as provenance via Pubmed IDs.\n\n|#\n\n;; extract the drugs:\n(define q-IL-1R1-drugs (curies/query q-IL-1R1 'S))\n\n#|\nOutput:\n\n'(\"CHEBI:15367\"\n  \"CHEBI:28918\"\n  \"CUI:C0002658\"\n  \"CUI:C0012854\"\n  \"CUI:C0022614\"\n  \"CUI:C0035339\"\n  \"CUI:C0041385\"\n  \"CUI:C0084183\"\n  \"CUI:C0376202\"\n  \"CUI:C0684163\")\n|#\n\n;; get the drug names from the drug curies\n(map curie-synonyms/names q-IL-1R1-drugs)\n\n#|\nIf we just want to map a CURIE to a name, we need to work with the list output:\n\n(map car (map curie-synonyms/names q-IL-1R1-drugs))\n\nOutput:\n\n'((\"UMLS:C0022265\" . \"Isotretinoin\")\n  (\"PUBCHEM:5816\" . \"Epinephrine\")\n  (\"RXNORM:725\" . \"Amphetamine\")\n  (\"UMLS:C0012854\" . \"DNA\")\n  (\"MTHSPL:690G0D6V8H\" . \"Ketamine\")\n  (\"NDFRT:N0000007700\" . \"Retinoids\")\n  (\"CUI:C0041385\" . \"Tunicamycin\")\n  (\"CUI:C0084183\" . \"prolinedithiocarbamate\")\n  (\"CUI:C0376202\" . \"Sepranolone\")\n  (\"UMLS:C0684163\" . \"membrane-bound receptors\"))\n|#\n\n;; We can also take a look at the edges, which contains a lot more information about the relationship between the subject and the object\n(define q-IL-1R1-edges (edges/query q-IL-1R1 'S->C))\n\n;; get pubmed-ids from the eges:\n(map pubmed-ids-from-edge q-IL-1R1-edges)\n\n#|\nOutput:\n\n'((\"23351058\")\n  (\"19746721\")\n  (\"9515014\")\n  (\"7780141\")\n  (\"16586090\")\n  (\"16586090\")\n  (\"23351058\")\n  (\"2341487\")\n  (\"7780141\")\n  (\"9515014\")\n  (\"15176475\")\n  (\"19746721\")\n  (\"7780141\")\n  (\"2341487\")\n  (\"23351058\")\n  (\"31191315\"))\n|#\n\n\n#|\n  The next strategy to solve this case is to target the IL-1R signaling pathway.\n\nILR-1 signaling pathway is a concept available in the GO database: (define IL-1R1-signaling \"GO:0070498\")\n\nIt would have been nice to be able to write a simple query to find drugs that target IL-1R signaling pathway.\n\n***However, currently our KGs don't have a direct connection from GO to a drug database, so a mediKanren\nquery for drug that target a pathway would yield no results.\n\nHere I'm manually define a pathway as a list of proteins belonging to that pathway.\n|#\n\n(define myD88 \"HGNC:7562\")\n(define TAK1 \"HGNC:6859\")\n(define NEMO \"HGNC:5961\")\n(define IRAK1 \"HGNC:6112\")\n(define IRAK2 \"HGNC:6113\")\n(define TRAF6 \"HGNC:12036\")\n(define MEK1 \"HGNC:6848\")\n(define MEK3 \"HGNC:6843\")\n(define MEK6 \"HGNC:6846\")\n(define NFkB \"HGNC:7794\")\n(define JNK \"HGNC:6861\")\n(define p38 \"HGNC:6876\")\n(define c-JNK \"HGNC:6881\")\n\n(define IL1R-pathway (list myD88 TAK1 NEMO IRAK1 IRAK2 TRAF6 MEK1 MEK3 MEK6 NFkB JNK p38 c-JNK))\n\n#|\nNext I'm using a pre-defined find-drugs-for-genes function from Thi-useful-functions. This function, built upon a simple query/graph\nsuch as the one above, will iterates through the list of subjects (i.e. genes to target in the IL1R-pathway).\n\n;; Function description:\n\nfind-drugs-for-genes takes a gene-list and a list of drug-gene predicates (direction that we\nwant the drugs to influence on the genes, one gene at a time) and returns a list of two hash-tables: a sorted drug=>gene table and\na sorted gene=>drug table, which is sorted by the number of genes that have drugs available to modify them or\nthe number of drugs that can are available to target multiple genes.\n\n|#\n(define target-IL1R-pathway-results (find-drugs-for-genes IL1R-pathway negatively-regulates))\n\n;; extract drug=>gene hash-table:\n(define drug=>gene-IL1R-pathway (car target-IL1R-pathway-results))\n\n#|\nThe output is a hash table with drug as key and genes as values.\n\nThis hashtable is sorted by how many genes the particular drug/chemical target.\n\n'(((\"CHEBI:3962\" . \"curcumin\")\n   (\"HGNC:6881\" . \"mitogen-activated protein kinase 8\")\n   (\"HGNC:6876\" . \"mitogen-activated protein kinase 14\")\n   (\"HGNC:7794\" . \"nuclear factor kappa B subunit 1\")\n   (\"HGNC:6846\" . \"mitogen-activated protein kinase kinase 6\")\n   (\"HGNC:6848\" . \"mitogen-activated protein kinase kinase kinase 1\")\n   (\"HGNC:6859\" . \"mitogen-activated protein kinase kinase kinase 7\")\n   (\"HGNC:7562\" . \"MYD88 innate immune signal transduction adaptor\"))\n  ((\"CHEBI:16243\" . \"quercetin\")\n   (\"HGNC:6881\" . \"mitogen-activated protein kinase 8\")\n   (\"HGNC:6876\" . \"mitogen-activated protein kinase 14\")\n   (\"HGNC:7794\" . \"nuclear factor kappa B subunit 1\")\n   (\"HGNC:12036\" . \"TNF receptor associated factor 6\")\n   (\"HGNC:6859\" . \"mitogen-activated protein kinase kinase kinase 7\")\n   (\"HGNC:7562\" . \"MYD88 innate immune signal transduction adaptor\"))\n  ((\"CHEBI:39867\" . \"valproic acid\")\n   (\"HGNC:6881\" . \"mitogen-activated protein kinase 8\")\n   (\"HGNC:7794\" . \"nuclear factor kappa B subunit 1\")\n   (\"HGNC:6846\" . \"mitogen-activated protein kinase kinase 6\")\n   (\"HGNC:6112\" . \"interleukin 1 receptor associated kinase 1\")\n   (\"HGNC:7562\" . \"MYD88 innate immune signal transduction adaptor\"))\n[...]\n|#\n\n;; To summarize the results, we count the length of the table and the values for each drug-key\n\n(length (map car drug=>gene-IL1R-pathway))\n\n;; The results show that there are 444 drugs that target more than one members of the IL1R signaling pathway,\n;; with the top 15 drugs target more than 5 members in this pathway. For example, curcumin targets 7 members (JNK,\n;; p38, NFkB, MEK6, MEK1, TRAF6, myD88), quercetin targets 6 (JNK, p38, NFkB, TRAF6, MEK3, myD88)\n;; members of the pathway.\n\n\n;; extract gene=>drug hash-table:\n(define gene=>drug-IL1R-pathway (cadr target-IL1R-pathway-results))\n;; Similarly, the output of this gene=>drug table is a also hash table with gene as the key and drug as the value.\n;; This table is also sorted by how many drugs available to target that gene.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "contrib/medikanren2/README.md",
    "content": "# Synopsis\n\nContributions for medikanren version 2 go in this directory.\n\n"
  },
  {
    "path": "contrib/medikanren2/Thi/CHAMP1-drug-repurpose-June-15-2021.rkt",
    "content": "#lang racket\n\n(require \"../../../medikanren2/common.rkt\")\n(require \"../../../medikanren2/db/rtx2-20210204.rkt\")\n(require \"../../../medikanren2/lw-reasoning.rkt\")\n(require \"../../../medikanren2/synonyms.rkt\")\n(require \"Hakon-DEG-list.rkt\")\n(require \"Hakon-DEG-syns.rkt\")\n\n\n; Date: June 15, 2021\n; Query: Find drugs that up or down-regulate a list of genes while treat the phenotypes\n\n; The list of genes were stored in Hakon-DEG-list.rkt\n; The list of synonymized genes were stored in Hakon-DEG-syns.rkt\n\n; First, look for synonyms of these genes using the synonym relation\n\n(time (map\n       (lambda (x)\n         (run*/set/steps 500 a\n                         (synonym a x)))\n       Hakon-CHAMP1-RNA-up))\n\n; the Hakon-CHAMP1-RNA-up contains 132 genes\n; time: 154062 real time: 177755 gc time: 1053\n; ~ 3 min\n; save the results in a .rkt file\n\n(length  Hakon-CHAMP1-RNA-up-syns)\n; 760 synonyms for RNA-up\n\n\n(time (map\n       (lambda (x)\n         (run*/set/steps 500 a\n                         (synonym a x)))\n       Hakon-CHAMP1-RNA-down))\n\n(length  Hakon-CHAMP1-RNA-down-syns)\n\n; the Hakon-CHAMP1-RNA-down contains  genes\n; cpu time: 388297 real time: 427985 gc time: 2749\n; 8 mins\n; 2036 synonyms for RNA-down\n\n\n\n\n\n;; These are PMI-18-04 phenotypes that we want to look for drugs to treat these conditions\n\n(define hypotonia \"HP:0001252\")\n(define impaired-convergence \"HP:0000619\")\n(define short-attention-span \"HP:0007018\")\n(define speech-apraxia \"HP:0011098\")\n(define autism \"MONDO:0005260\")\n(define cerebral-palsy \"HP:0100021\")\n(define constipation \"HP:0002019\")\n(define fatigue \"HP:0012378\")\n(define gas-reflux \"HP:0002020\")\n(define ID \"HP:0001249\")\n(define speech-delay \"HP:0000750\")\n\n\n; get the phenotype synonyms using the cached and indexed kgx-syn KG\n\n(define hypotonia-syn (set->list (run*/set x (kgx-synonym x hypotonia))))\n\n(get-names-ls hypotonia-syn)\n'((\"UMLS:C4049521\" \"Generalised atony\")\n  (\"UMLS:C0541791\" \"Atonia\")\n  (\"UMLS:C0541791\" \"Atonia\")\n  (\"UMLS:C0026827\" \"Poor muscle tone\")\n  (\"UMLS:C0026827\" \"Muscle hypotonia\")\n  (\"MEDDRA:10058909\" \"Muscle relaxant therapy\")\n  (\"UMLS:C0857516\" \"Floppy\")\n  (\"UMLS:C0857516\" \"Floppy\")\n  (\"UMLS:C1142135\" \"Muscle relaxant therapy\")\n  (\"HP:0001252\" \"Muscular hypotonia\")\n  (\"UMLS:C0541792\" \"Skeletal muscle atony\")\n  (\"UMLS:C0541792\" \"Skeletal muscle atony\")\n  (\"UMLS:C0859331\" \"Abdominal flaccidity\")\n  (\"UMLS:C0857388\" \"Non-depolarising relaxant\")\n  (\"MEDDRA:10021118\" \"Hypotonia\")\n  (\"UMLS:C0857388\" \"Non-depolarising relaxant\")\n  (\"NCIT:C87070\" \"Hypotonia\"))\n; 17 names with synonyms but only 14 unique curies\n\n; note that there are duplicates when we look for names\n; 14 synonyms for hypotonia\n\n\n\n\n\n#|\n; could try to do query expansion in the future\n(time (run* hypotonia-subclasses\n        (fresh (x)\n          (subclass-of* hypotonia-subclasses x)\n          (membero x hypotonia-syn))))\n|#\n\n\n\n\n\n; build main query to find drugs that inhibit genes and treat one phenotype, eg., hypotonia\n\n(define Hakon-drugs-hypotonia-RNA-up\n  (time\n   (run* (d dname drug->gene-pred g gname disease disease-name drug->disease-pred)\n     (fresh (id1 id2 drug)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (cprop d \"category\" drug)\n       (cprop d \"name\" dname)\n       (cprop g \"name\" gname)\n       (cprop disease \"name\" disease-name)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (membero drug drug-categories)\n       (membero g Hakon-CHAMP1-RNA-up-syns)\n       (membero drug->gene-pred inhibit-preds)\n       (membero disease hypotonia-syn)\n       (membero drug->disease-pred inhibit-preds)))))\n\n(define Hakon-drugs-hypotonia-RNA-up\n  (time\n   (run 1 (d dname drug->gene-pred g gname disease disease-name drug->disease-pred)\n     (fresh (id1 id2 drug)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (cprop d \"category\" drug)\n       (cprop d \"name\" dname)\n       (cprop g \"name\" gname)\n       (cprop disease \"name\" disease-name)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (membero drug drug-categories)\n       (membero g Hakon-CHAMP1-RNA-up-syns)\n       (membero drug->gene-pred inhibit-preds)\n       (membero disease hypotonia-syn)\n       (membero drug->disease-pred inhibit-preds)))))\n\n; this query terminates\n\n; cpu time: 17156 real time: 24444 gc time: 226\n\n\n; I tried this query without asking for drug/gene/disease names and it terminated.\n; First, try with run 1\n; According to Greg, if run 1 terminates, the query will eventually terminate so it\n; is good to check run 1 first.\n(define Hakon-drugs-hypotonia-RNA-up\n  (time\n   (run 1 (d g disease)\n     (fresh (id1 id2 drug drug->gene-pred drug->disease-pred)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (cprop d \"category\" drug)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (membero drug drug-categories)\n       (membero g Hakon-CHAMP1-RNA-up-syns)\n       (membero drug->gene-pred inhibit-preds)\n       (membero disease hypotonia-syn)\n       (membero drug->disease-pred inhibit-preds)))))\n\n; cpu time: 9583 real time: 12312 gc time: 36\n; '((\"UMLS:C0013227\" \"UMLS:C0812307\" \"UMLS:C0026827\"))\n\n\n\n; If we don't look for names, this query looped though 14 disease curies and ~ 200 genes\n; to find drugs that inhibit both. This terminated in ~ 8 mins.\n\n(define Hakon-drugs-hypotonia-RNA-up\n  (time\n   (run* (d g disease)\n     (fresh (id1 id2 drug drug->gene-pred drug->disease-pred)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (cprop d \"category\" drug)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (membero drug drug-categories)\n       (membero g Hakon-CHAMP1-RNA-up-syns)\n       (membero drug->gene-pred inhibit-preds)\n       (membero disease hypotonia-syn)\n       (membero drug->disease-pred inhibit-preds)))))\n\n\n\n\n; cpu time: 404819 real time: 445583 gc time: 2925\n; Hakon-drugs-hypotonia-RNA-up\n'((\"UMLS:C0013227\" \"UMLS:C0812307\" \"UMLS:C0026827\")\n  (\"UMLS:C0040616\" \"UMLS:C0812307\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"UMLS:C0812307\" \"UMLS:C0026827\")\n  (\"UMLS:C0040616\" \"UMLS:C0812307\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"UMLS:C0812307\" \"UMLS:C0541791\")\n  (\"UMLS:C0022614\" \"NCBIGene:4773\" \"UMLS:C0026827\")\n  (\"UMLS:C0028128\" \"NCBIGene:7351\" \"UMLS:C0026827\")\n  (\"UMLS:C0724441\" \"NCBIGene:7351\" \"UMLS:C0026827\")\n  (\"UMLS:C0008286\" \"NCBIGene:2149\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"UMLS:C1366449\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"UMLS:C1366449\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"UMLS:C1366449\" \"UMLS:C0541791\")\n  (\"UMLS:C0013227\" \"NCBIGene:26033\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"NCBIGene:26033\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"NCBIGene:26033\" \"UMLS:C0541791\")\n  (\"UMLS:C0013227\" \"NCBIGene:1021\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"NCBIGene:1021\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"NCBIGene:1021\" \"UMLS:C0541791\")\n  (\"UMLS:C0006644\" \"NCBIGene:5984\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"NCBIGene:29126\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"NCBIGene:29126\" \"UMLS:C0026827\")\n  (\"UMLS:C0030054\" \"NCBIGene:29126\" \"UMLS:C0026827\")\n  (\"UMLS:C0013227\" \"NCBIGene:29126\" \"UMLS:C0541791\")\n  (\"UMLS:C0012010\" \"NCBIGene:3977\" \"UMLS:C0026827\")\n  (\"UMLS:C0012010\" \"NCBIGene:3977\" \"UMLS:C0026827\")\n  (\"UMLS:C0026549\" \"NCBIGene:3977\" \"UMLS:C0026827\")\n  (\"UMLS:C0724441\" \"NCBIGene:3977\" \"UMLS:C0026827\")\n  (\"UMLS:C0033554\" \"NCBIGene:5733\" \"UMLS:C0541791\"))\n\n\n\n; Jeff suggested trying to the relation/table in place of membero to see if it speeds up the code\n(define (Hakon-drugs-hypotonia-RNA-up)\n  (time\n   (define-relation/table (rel-drug arg1)\n     'source-stream (map list drug-categories))\n   (define-relation/table (rel-Hakon arg1)\n     'source-stream (map list Hakon-CHAMP1-RNA-up-syns))\n   (define-relation/table (rel-drug-gene-inhibit arg1)\n     'source-stream (map list  inhibit-preds))\n   (define-relation/table (rel-hypotonia-syn arg1)\n     'source-stream (map list hypotonia-syn))\n   (define-relation/table (rel-drug-disease-inhibit arg1)\n     'source-stream (map list inhibit-preds))\n   (run* (d g disease)\n     (fresh (id1 id2 drug drug->gene-pred drug->disease-pred)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (cprop d \"category\" drug)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (rel-drug drug)           ;(membero drug drug-categories)\n       (rel-Hakon g)             ;(membero g Hakon-CHAMP1-RNA-up-syns)\n       (rel-drug-gene-inhibit drug->gene-pred) ;(membero drug->gene-pred inhibit-preds)\n       (rel-hypotonia-syn disease)    ;(membero disease hypotonia-syn)\n       (rel-drug-disease-inhibit  drug->disease-pred) ; (membero drug->disease-pred inhibit-preds)\n       ))))\n\n\n(define (Hakon-drugs-hypotonia-RNA-up)\n  (time\n   (define-relation/table (rel-drug arg1)\n     'source-stream (map list drug-categories))\n   (define-relation/table (rel-Hakon arg1)\n     'source-stream (map list Hakon-CHAMP1-RNA-up-syns))\n   (define-relation/table (rel-drug-gene-inhibit arg1)\n     'source-stream (map list  inhibit-preds))\n   (define-relation/table (rel-hypotonia-syn arg1)\n     'source-stream (map list hypotonia-syn))\n   (define-relation/table (rel-drug-disease-inhibit arg1)\n     'source-stream (map list inhibit-preds))\n   (run 1 (d g disease)\n     (fresh (id1 id2 drug drug->gene-pred drug->disease-pred)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (cprop d \"category\" drug)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (rel-drug drug)           ;(membero drug drug-categories)\n       (rel-Hakon g)             ;(membero g Hakon-CHAMP1-RNA-up-syns)\n       (rel-drug-gene-inhibit drug->gene-pred) ;(membero drug->gene-pred inhibit-preds)\n       (rel-hypotonia-syn disease)    ;(membero disease hypotonia-syn)\n       (rel-drug-disease-inhibit  drug->disease-pred) ; (membero drug->disease-pred inhibit-preds)\n       ))))\n\n; This approach doesn't speed up the code for some reason and it may creates infinite loop\n; => bugs in mediKanren2 or?\n\n; Greg mentioned it is a query planning issue\n\n; Jeff will take a look at this, June 15th, 2021.\n\n\n\n\n\n\n; Next time, try the map in place of membero to see if it helps\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n; Here are a few work-around approaches that Greg wrote back in May 2021\n\n(define-relation/table (inhibit-pred predicate)\n  'source-stream (map list inhibit-preds))\n\n(define Hakon-drugs-hypotonia-RNA-up\n  (time\n   (run 1 (d dname drug->gene-pred g gname disease drug->disease-pred disease-name)\n     (fresh (id1 id2 drug)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (cprop d \"category\" drug)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (inhibit-pred drug->gene-pred)\n       (inhibit-pred drug->disease-pred)\n       (membero g Hakon-CHAMP1-RNA-up-syn)\n       (membero drug drug-categories)\n       (membero disease hypotonia-syn)\n       (:== dname (d) (car (run 1 name (cprop d \"name\" name))))\n       (:== gname (g) (car (run 1 name (cprop g \"name\" name))))\n       (:== disease-name (disease) (car (run 1 name (cprop disease \"name\" name))))))))\n\n; cpu time: 34497 real time: 42562 gc time: 197\n\n(define Hakon-drugs-hypotonia-RNA-up\n  (time\n   (run 1 (d dname drug->gene-pred g gname disease drug->disease-pred disease-name)\n     (fresh (id1 id2 drug)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (cprop d \"category\" drug)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (inhibit-pred drug->gene-pred)\n       (inhibit-pred drug->disease-pred)\n       (membero g Hakon-CHAMP1-RNA-up-syn)\n       (membero drug drug-categories)\n       (membero disease hypotonia-syn)\n       (:== dname (d g disease) (car (run 1 name (cprop d \"name\" name))))\n       (:== gname (d g disease) (car (run 1 name (cprop g \"name\" name))))\n       (:== disease-name (d g disease) (car (run 1 name (cprop disease \"name\" name))))))))\n\n;cpu time: 27237 real time: 27446 gc time: 179\n\n(define-relation/table (drug-category category)\n  'source-stream (map list drug-categories))\n\n\n(define Hakon-drugs-hypotonia-RNA-up\n  (time\n   (run 1 (d dname drug->gene-pred g gname disease drug->disease-pred disease-name)\n     (fresh (id1 id2 drug)\n       (cprop d \"category\" drug)\n       (drug-category drug)\n       (edge id1 d g)\n       (edge id2 d disease)\n       (eprop id1 \"predicate\" drug->gene-pred)\n       (eprop id2 \"predicate\" drug->disease-pred)\n       (inhibit-pred drug->gene-pred)\n       (inhibit-pred drug->disease-pred)\n       (membero g Hakon-CHAMP1-RNA-up-syn)\n       (membero disease hypotonia-syn)\n       (:== dname (d g disease) (car (run 1 name (cprop d \"name\" name))))\n       (:== gname (d g disease) (car (run 1 name (cprop g \"name\" name))))\n       (:== disease-name (d g disease) (car (run 1 name (cprop disease \"name\" name))))\n))))\n\n\n; cpu time: 34839 real time: 35367 gc time: 196\n\n\n\n\n(define Hakon-drugs-RNA-up\n  (time\n   (run* (d drug->gene-pred g)\n     (fresh (id drug-cat)\n       (cprop d \"category\" drug-cat)\n       (drug-category drug-cat)\n       (edge id d g)\n       (eprop id \"predicate\" drug->gene-pred)\n       (inhibit-pred drug->gene-pred)\n       (membero g Hakon-CHAMP1-RNA-up-syn)))))\n\n;cpu time: 404819 real time: 445583 gc time: 2925\n\n\n\n\n\n;cpu time: 88185 real time: 100392 gc time: 579\n\n(write-list-to-tsv\n (list \"drug\" \"pred\" \"gene\")\n Hakon-drugs-RNA-up\n \"Hakon-drugs-RNA-up.tsv\")\n\n(define Hakon-drugs-disease\n  (time\n   (run* (d drug->disease-pred disease)\n     (fresh (id drug-cat)\n       (cprop d \"category\" drug-cat)\n       (drug-category drug-cat)\n       (edge id d disease)\n       (eprop id \"predicate\" drug->disease-pred)\n       (inhibit-pred drug->disease-pred)\n       (membero disease hypotonia-syn)))))\n\n\n(write-list-to-tsv\n (list \"drug\" \"pred\" \"disease\")\n Hakon-drugs-disease\n \"Hakon-drugs-hypononia.tsv\")\n\n\n(define-relation/table (Hakon-drug curie)\n  'source-stream\n    (run^ (d)\n      (fresh (id drug-cat drug->disease-pred disease)\n       (cprop d \"category\" drug-cat)\n       (drug-category drug-cat)\n       (edge id d disease)\n       (eprop id \"predicate\" drug->disease-pred)\n       (inhibit-pred drug->disease-pred)\n       (membero disease hypotonia-syn))))\n\n\n"
  },
  {
    "path": "contrib/medikanren2/Thi/Hakon-DEG-list.rkt",
    "content": "#lang racket\n\n(provide (all-defined-out))\n\n(provide Hakon-CHAMP1-RNA-up\n         Hakon-CHAMP1-RNA-down)\n\n\n;; Here are the lists of DEG genes from Dr. Hakonarson's CHAMP1 vs control samples\n\n(define Hakon-CHAMP1-RNA-up (list \"ENSEMBL:ENSG00000096746\"\n                                  \"ENSEMBL:ENSG00000144635\"\n                                  \"ENSEMBL:ENSG00000131873\"\n                                  \"ENSEMBL:ENSG00000116127\"\n                                  \"ENSEMBL:ENSG00000134318\"\n                                  \"ENSEMBL:ENSG00000145604\"\n                                  \"ENSEMBL:ENSG00000152684\"\n                                  \"ENSEMBL:ENSG00000115159\"\n                                  \"ENSEMBL:ENSG00000122779\"\n                                  \"ENSEMBL:ENSG00000206053\"\n                                  \"ENSEMBL:ENSG00000125249\"\n                                  \"ENSEMBL:ENSG00000178177\"\n                                  \"ENSEMBL:ENSG00000120137\"\n                                  \"ENSEMBL:ENSG00000128641\"\n                                  \"ENSEMBL:ENSG00000112972\"\n                                  \"ENSEMBL:ENSG00000152952\"\n                                  \"ENSEMBL:ENSG00000105810\"\n                                  \"ENSEMBL:ENSG00000052802\"\n                                  \"ENSEMBL:ENSG00000129675\"\n                                  \"ENSEMBL:ENSG00000134668\"\n                                  \"ENSEMBL:ENSG00000206560\"\n                                  \"ENSEMBL:ENSG00000182963\"\n                                  \"ENSEMBL:ENSG00000065882\"\n                                  \"ENSEMBL:ENSG00000084070\"\n                                  \"ENSEMBL:ENSG00000112183\"\n                                  \"ENSEMBL:ENSG00000113594\"\n                                  \"ENSEMBL:ENSG00000163918\"\n                                  \"ENSEMBL:ENSG00000172167\"\n                                  \"ENSEMBL:ENSG00000129680\"\n                                  \"ENSEMBL:ENSG00000143815\"\n                                  \"ENSEMBL:ENSG00000144218\"\n                                  \"ENSEMBL:ENSG00000049130\"\n                                  \"ENSEMBL:ENSG00000126803\"\n                                  \"ENSEMBL:ENSG00000178425\"\n                                  \"ENSEMBL:ENSG00000243927\"\n                                  \"ENSEMBL:ENSG00000112312\"\n                                  \"ENSEMBL:ENSG00000137941\"\n                                  \"ENSEMBL:ENSG00000156011\"\n                                  \"ENSEMBL:ENSG00000144824\"\n                                  \"ENSEMBL:ENSG00000118473\"\n                                  \"ENSEMBL:ENSG00000150540\"\n                                  \"ENSEMBL:ENSG00000164211\"\n                                  \"ENSEMBL:ENSG00000114739\"\n                                  \"ENSEMBL:ENSG00000095015\"\n                                  \"ENSEMBL:ENSG00000159433\"\n                                  \"ENSEMBL:ENSG00000120217\"\n                                  \"ENSEMBL:ENSG00000021826\"\n                                  \"ENSEMBL:ENSG00000176641\"\n                                  \"ENSEMBL:ENSG00000107796\"\n                                  \"ENSEMBL:ENSG00000029993\"\n                                  \"ENSEMBL:ENSG00000130164\"\n                                  \"ENSEMBL:ENSG00000157557\"\n                                  \"ENSEMBL:ENSG00000109861\"\n                                  \"ENSEMBL:ENSG00000180801\"\n                                  \"ENSEMBL:ENSG00000141198\"\n                                  \"ENSEMBL:ENSG00000169439\"\n                                  \"ENSEMBL:ENSG00000162892\"\n                                  \"ENSEMBL:ENSG00000151474\"\n                                  \"ENSEMBL:ENSG00000171208\"\n                                  \"ENSEMBL:ENSG00000155966\"\n                                  \"ENSEMBL:ENSG00000172164\"\n                                  \"ENSEMBL:ENSG00000277149\"\n                                  \"ENSEMBL:ENSG00000173546\"\n                                  \"ENSEMBL:ENSG00000166974\"\n                                  \"ENSEMBL:ENSG00000204131\"\n                                  \"ENSEMBL:ENSG00000163909\"\n                                  \"ENSEMBL:ENSG00000160111\"\n                                  \"ENSEMBL:ENSG00000150048\"\n                                  \"ENSEMBL:ENSG00000103196\"\n                                  \"ENSEMBL:ENSG00000076706\"\n                                  \"ENSEMBL:ENSG00000149970\"\n                                  \"ENSEMBL:ENSG00000131471\"\n                                  \"ENSEMBL:ENSG00000172322\"\n                                  \"ENSEMBL:ENSG00000198743\"\n                                  \"ENSEMBL:ENSG00000104435\"\n                                  \"ENSEMBL:ENSG00000054654\"\n                                  \"ENSEMBL:ENSG00000151320\"\n                                  \"ENSEMBL:ENSG00000175567\"\n                                  \"ENSEMBL:ENSG00000151617\"\n                                  \"ENSEMBL:ENSG00000116678\"\n                                  \"ENSEMBL:ENSG00000186854\"\n                                  \"ENSEMBL:ENSG00000106003\"\n                                  \"ENSEMBL:ENSG00000197442\"\n                                  \"ENSEMBL:ENSG00000104290\"\n                                  \"ENSEMBL:ENSG00000204397\"\n                                  \"ENSEMBL:ENSG00000187323\"\n                                  \"ENSEMBL:ENSG00000162654\"\n                                  \"ENSEMBL:ENSG00000171522\"\n                                  \"ENSEMBL:ENSG00000254087\"\n                                  \"ENSEMBL:ENSG00000106031\"\n                                  \"ENSEMBL:ENSG00000133392\"\n                                  \"ENSEMBL:ENSG00000196569\"\n                                  \"ENSEMBL:ENSG00000170891\"\n                                  \"ENSEMBL:ENSG00000181104\"\n                                  \"ENSEMBL:ENSG00000092969\"\n                                  \"ENSEMBL:ENSG00000165105\"\n                                  \"ENSEMBL:ENSG00000110852\"\n                                  \"ENSEMBL:ENSG00000137872\"\n                                  \"ENSEMBL:ENSG00000211445\"\n                                  \"ENSEMBL:ENSG00000165895\"\n                                  \"ENSEMBL:ENSG00000050628\"\n                                  \"ENSEMBL:ENSG00000150636\"\n                                  \"ENSEMBL:ENSG00000007944\"\n                                  \"ENSEMBL:ENSG00000069122\"\n                                  \"ENSEMBL:ENSG00000172159\"\n                                  \"ENSEMBL:ENSG00000151150\"\n                                  \"ENSEMBL:ENSG00000091879\"\n                                  \"ENSEMBL:ENSG00000101096\"\n                                  \"ENSEMBL:ENSG00000145287\"\n                                  \"ENSEMBL:ENSG00000118777\"\n                                  \"ENSEMBL:ENSG00000137501\"\n                                  \"ENSEMBL:ENSG00000142910\"\n                                  \"ENSEMBL:ENSG00000221818\"\n                                  \"ENSEMBL:ENSG00000150471\"\n                                  \"ENSEMBL:ENSG00000138795\"\n                                  \"ENSEMBL:ENSG00000076641\"\n                                  \"ENSEMBL:ENSG00000140030\"\n                                  \"ENSEMBL:ENSG00000006747\"\n                                  \"ENSEMBL:ENSG00000124749\"\n                                  \"ENSEMBL:ENSG00000196611\"\n                                  \"ENSEMBL:ENSG00000169129\"\n                                  \"ENSEMBL:ENSG00000115468\"\n                                  \"ENSEMBL:ENSG00000154451\"\n                                  \"ENSEMBL:ENSG00000107518\"\n                                  \"ENSEMBL:ENSG00000132688\"\n                                  \"ENSEMBL:ENSG00000046889\"\n                                  \"ENSEMBL:ENSG00000153404\"\n                                  \"ENSEMBL:ENSG00000149292\"\n                                  \"ENSEMBL:ENSG00000135218\"\n                                  \"ENSEMBL:ENSG00000069188\"\n                                  \"ENSEMBL:ENSG00000188393\"\n                                  \"ENSEMBL:ENSG00000106511\"))\n\n\n(define Hakon-CHAMP1-RNA-down (list \"ENSEMBL:ENSG00000109061\"\n                                    \"ENSEMBL:ENSG00000040731\"\n                                    \"ENSEMBL:ENSG00000104332\"\n                                    \"ENSEMBL:ENSG00000120885\"\n                                    \"ENSEMBL:ENSG00000198959\"\n                                    \"ENSEMBL:ENSG00000121361\"\n                                    \"ENSEMBL:ENSG00000069431\"\n                                    \"ENSEMBL:ENSG00000145526\"\n                                    \"ENSEMBL:ENSG00000169218\"\n                                    \"ENSEMBL:ENSG00000197614\"\n                                    \"ENSEMBL:ENSG00000138650\"\n                                    \"ENSEMBL:ENSG00000166669\"\n                                    \"ENSEMBL:ENSG00000176532\"\n                                    \"ENSEMBL:ENSG00000184408\"\n                                    \"ENSEMBL:ENSG00000103034\"\n                                    \"ENSEMBL:ENSG00000169946\"\n                                    \"ENSEMBL:ENSG00000111452\"\n                                    \"ENSEMBL:ENSG00000153132\"\n                                    \"ENSEMBL:ENSG00000143196\"\n                                    \"ENSEMBL:ENSG00000145423\"\n                                    \"ENSEMBL:ENSG00000164483\"\n                                    \"ENSEMBL:ENSG00000184922\"\n                                    \"ENSEMBL:ENSG00000156466\"\n                                    \"ENSEMBL:ENSG00000062282\"\n                                    \"ENSEMBL:ENSG00000162105\"\n                                    \"ENSEMBL:ENSG00000178568\"\n                                    \"ENSEMBL:ENSG00000017427\"\n                                    \"ENSEMBL:ENSG00000079841\"\n                                    \"ENSEMBL:ENSG00000139174\"\n                                    \"ENSEMBL:ENSG00000140563\"\n                                    \"ENSEMBL:ENSG00000135919\"\n                                    \"ENSEMBL:ENSG00000169184\"\n                                    \"ENSEMBL:ENSG00000095637\"\n                                    \"ENSEMBL:ENSG00000134317\"\n                                    \"ENSEMBL:ENSG00000067715\"\n                                    \"ENSEMBL:ENSG00000175745\"\n                                    \"ENSEMBL:ENSG00000165092\"\n                                    \"ENSEMBL:ENSG00000163618\"\n                                    \"ENSEMBL:ENSG00000007237\"\n                                    \"ENSEMBL:ENSG00000153162\"\n                                    \"ENSEMBL:ENSG00000205002\"\n                                    \"ENSEMBL:ENSG00000128710\"\n                                    \"ENSEMBL:ENSG00000147642\"\n                                    \"ENSEMBL:ENSG00000121989\"\n                                    \"ENSEMBL:ENSG00000077420\"\n                                    \"ENSEMBL:ENSG00000121743\"\n                                    \"ENSEMBL:ENSG00000131459\"\n                                    \"ENSEMBL:ENSG00000135472\"\n                                    \"ENSEMBL:ENSG00000125730\"\n                                    \"ENSEMBL:ENSG00000144339\"\n                                    \"ENSEMBL:ENSG00000241945\"\n                                    \"ENSEMBL:ENSG00000183578\"\n                                    \"ENSEMBL:ENSG00000121552\"\n                                    \"ENSEMBL:ENSG00000165124\"\n                                    \"ENSEMBL:ENSG00000127329\"\n                                    \"ENSEMBL:ENSG00000165995\"\n                                    \"ENSEMBL:ENSG00000148082\"\n                                    \"ENSEMBL:ENSG00000129465\"\n                                    \"ENSEMBL:ENSG00000261221\"\n                                    \"ENSEMBL:ENSG00000198816\"\n                                    \"ENSEMBL:ENSG00000119714\"\n                                    \"ENSEMBL:ENSG00000156427\"\n                                    \"ENSEMBL:ENSG00000136002\"\n                                    \"ENSEMBL:ENSG00000128573\"\n                                    \"ENSEMBL:ENSG00000101986\"\n                                    \"ENSEMBL:ENSG00000111199\"\n                                    \"ENSEMBL:ENSG00000138193\"\n                                    \"ENSEMBL:ENSG00000179104\"\n                                    \"ENSEMBL:ENSG00000132357\"\n                                    \"ENSEMBL:ENSG00000137033\"\n                                    \"ENSEMBL:ENSG00000134470\"\n                                    \"ENSEMBL:ENSG00000102174\"\n                                    \"ENSEMBL:ENSG00000177106\"\n                                    \"ENSEMBL:ENSG00000102265\"\n                                    \"ENSEMBL:ENSG00000065320\"\n                                    \"ENSEMBL:ENSG00000138821\"\n                                    \"ENSEMBL:ENSG00000008394\"\n                                    \"ENSEMBL:ENSG00000091656\"\n                                    \"ENSEMBL:ENSG00000125414\"\n                                    \"ENSEMBL:ENSG00000184349\"\n                                    \"ENSEMBL:ENSG00000149633\"\n                                    \"ENSEMBL:ENSG00000198113\"\n                                    \"ENSEMBL:ENSG00000138131\"\n                                    \"ENSEMBL:ENSG00000158555\"\n                                    \"ENSEMBL:ENSG00000071242\"\n                                    \"ENSEMBL:ENSG00000189129\"\n                                    \"ENSEMBL:ENSG00000158292\"\n                                    \"ENSEMBL:ENSG00000065717\"\n                                    \"ENSEMBL:ENSG00000137463\"\n                                    \"ENSEMBL:ENSG00000152217\"\n                                    \"ENSEMBL:ENSG00000142684\"\n                                    \"ENSEMBL:ENSG00000042493\"\n                                    \"ENSEMBL:ENSG00000142798\"\n                                    \"ENSEMBL:ENSG00000177697\"\n                                    \"ENSEMBL:ENSG00000137857\"\n                                    \"ENSEMBL:ENSG00000117122\"\n                                    \"ENSEMBL:ENSG00000214595\"\n                                    \"ENSEMBL:ENSG00000077942\"\n                                    \"ENSEMBL:ENSG00000197635\"\n                                    \"ENSEMBL:ENSG00000168056\"\n                                    \"ENSEMBL:ENSG00000167123\"\n                                    \"ENSEMBL:ENSG00000173801\"\n                                    \"ENSEMBL:ENSG00000013297\"\n                                    \"ENSEMBL:ENSG00000065268\"\n                                    \"ENSEMBL:ENSG00000100336\"\n                                    \"ENSEMBL:ENSG00000091831\"\n                                    \"ENSEMBL:ENSG00000116183\"\n                                    \"ENSEMBL:ENSG00000104213\"\n                                    \"ENSEMBL:ENSG00000113389\"\n                                    \"ENSEMBL:ENSG00000233927\"\n                                    \"ENSEMBL:ENSG00000177674\"\n                                    \"ENSEMBL:ENSG00000178031\"\n                                    \"ENSEMBL:ENSG00000159069\"\n                                    \"ENSEMBL:ENSG00000107281\"\n                                    \"ENSEMBL:ENSG00000170381\"\n                                    \"ENSEMBL:ENSG00000186654\"\n                                    \"ENSEMBL:ENSG00000132837\"\n                                    \"ENSEMBL:ENSG00000121039\"\n                                    \"ENSEMBL:ENSG00000134247\"\n                                    \"ENSEMBL:ENSG00000130479\"\n                                    \"ENSEMBL:ENSG00000186088\"\n                                    \"ENSEMBL:ENSG00000131669\"\n                                    \"ENSEMBL:ENSG00000049540\"\n                                    \"ENSEMBL:ENSG00000138061\"\n                                    \"ENSEMBL:ENSG00000159714\"\n                                    \"ENSEMBL:ENSG00000154096\"\n                                    \"ENSEMBL:ENSG00000104976\"\n                                    \"ENSEMBL:ENSG00000110697\"\n                                    \"ENSEMBL:ENSG00000177542\"\n                                    \"ENSEMBL:ENSG00000214063\"\n                                    \"ENSEMBL:ENSG00000064042\"\n                                    \"ENSEMBL:ENSG00000275074\"\n                                    \"ENSEMBL:ENSG00000103152\"\n                                    \"ENSEMBL:ENSG00000136732\"\n                                    \"ENSEMBL:ENSG00000023191\"\n                                    \"ENSEMBL:ENSG00000176978\"\n                                    \"ENSEMBL:ENSG00000126458\"\n                                    \"ENSEMBL:ENSG00000162241\"\n                                    \"ENSEMBL:ENSG00000107821\"\n                                    \"ENSEMBL:ENSG00000160323\"\n                                    \"ENSEMBL:ENSG00000177030\"\n                                    \"ENSEMBL:ENSG00000119559\"\n                                    \"ENSEMBL:ENSG00000105701\"\n                                    \"ENSEMBL:ENSG00000163874\"\n                                    \"ENSEMBL:ENSG00000107404\"\n                                    \"ENSEMBL:ENSG00000116663\"\n                                    \"ENSEMBL:ENSG00000100300\"\n                                    \"ENSEMBL:ENSG00000185803\"\n                                    \"ENSEMBL:ENSG00000164176\"\n                                    \"ENSEMBL:ENSG00000064932\"\n                                    \"ENSEMBL:ENSG00000101439\"\n                                    \"ENSEMBL:ENSG00000103888\"\n                                    \"ENSEMBL:ENSG00000006282\"\n                                    \"ENSEMBL:ENSG00000169760\"\n                                    \"ENSEMBL:ENSG00000198774\"\n                                    \"ENSEMBL:ENSG00000160932\"\n                                    \"ENSEMBL:ENSG00000091986\"\n                                    \"ENSEMBL:ENSG00000198542\"\n                                    \"ENSEMBL:ENSG00000011347\"\n                                    \"ENSEMBL:ENSG00000164484\"\n                                    \"ENSEMBL:ENSG00000188112\"\n                                    \"ENSEMBL:ENSG00000166166\"\n                                    \"ENSEMBL:ENSG00000130529\"\n                                    \"ENSEMBL:ENSG00000183098\"\n                                    \"ENSEMBL:ENSG00000137809\"\n                                    \"ENSEMBL:ENSG00000168528\"\n                                    \"ENSEMBL:ENSG00000177700\"\n                                    \"ENSEMBL:ENSG00000172270\"\n                                    \"ENSEMBL:ENSG00000104881\"\n                                    \"ENSEMBL:ENSG00000146072\"\n                                    \"ENSEMBL:ENSG00000105223\"\n                                    \"ENSEMBL:ENSG00000172725\"\n                                    \"ENSEMBL:ENSG00000122707\"\n                                    \"ENSEMBL:ENSG00000143369\"\n                                    \"ENSEMBL:ENSG00000099817\"\n                                    \"ENSEMBL:ENSG00000100284\"\n                                    \"ENSEMBL:ENSG00000177666\"\n                                    \"ENSEMBL:ENSG00000116525\"\n                                    \"ENSEMBL:ENSG00000107140\"\n                                    \"ENSEMBL:ENSG00000170801\"\n                                    \"ENSEMBL:ENSG00000165915\"\n                                    \"ENSEMBL:ENSG00000169692\"\n                                    \"ENSEMBL:ENSG00000167930\"\n                                    \"ENSEMBL:ENSG00000002330\"\n                                    \"ENSEMBL:ENSG00000115641\"\n                                    \"ENSEMBL:ENSG00000176101\"\n                                    \"ENSEMBL:ENSG00000172638\"\n                                    \"ENSEMBL:ENSG00000100241\"\n                                    \"ENSEMBL:ENSG00000162576\"\n                                    \"ENSEMBL:ENSG00000128713\"\n                                    \"ENSEMBL:ENSG00000011009\"\n                                    \"ENSEMBL:ENSG00000168936\"\n                                    \"ENSEMBL:ENSG00000106683\"\n                                    \"ENSEMBL:ENSG00000136877\"\n                                    \"ENSEMBL:ENSG00000100299\"\n                                    \"ENSEMBL:ENSG00000110717\"\n                                    \"ENSEMBL:ENSG00000093072\"\n                                    \"ENSEMBL:ENSG00000013364\"\n                                    \"ENSEMBL:ENSG00000139178\"\n                                    \"ENSEMBL:ENSG00000067221\"\n                                    \"ENSEMBL:ENSG00000131435\"\n                                    \"ENSEMBL:ENSG00000183077\"\n                                    \"ENSEMBL:ENSG00000197858\"\n                                    \"ENSEMBL:ENSG00000173264\"\n                                    \"ENSEMBL:ENSG00000174886\"\n                                    \"ENSEMBL:ENSG00000155011\"\n                                    \"ENSEMBL:ENSG00000171533\"\n                                    \"ENSEMBL:ENSG00000198892\"\n                                    \"ENSEMBL:ENSG00000133243\"\n                                    \"ENSEMBL:ENSG00000164040\"\n                                    \"ENSEMBL:ENSG00000099337\"\n                                    \"ENSEMBL:ENSG00000160360\"\n                                    \"ENSEMBL:ENSG00000127191\"\n                                    \"ENSEMBL:ENSG00000186501\"\n                                    \"ENSEMBL:ENSG00000093010\"\n                                    \"ENSEMBL:ENSG00000078808\"\n                                    \"ENSEMBL:ENSG00000140285\"\n                                    \"ENSEMBL:ENSG00000141985\"\n                                    \"ENSEMBL:ENSG00000131408\"\n                                    \"ENSEMBL:ENSG00000165655\"\n                                    \"ENSEMBL:ENSG00000068001\"\n                                    \"ENSEMBL:ENSG00000136878\"\n                                    \"ENSEMBL:ENSG00000197122\"\n                                    \"ENSEMBL:ENSG00000131899\"\n                                    \"ENSEMBL:ENSG00000143774\"\n                                    \"ENSEMBL:ENSG00000104805\"\n                                    \"ENSEMBL:ENSG00000131165\"\n                                    \"ENSEMBL:ENSG00000163703\"\n                                    \"ENSEMBL:ENSG00000123143\"\n                                    \"ENSEMBL:ENSG00000128591\"\n                                    \"ENSEMBL:ENSG00000107738\"\n                                    \"ENSEMBL:ENSG00000148343\"\n                                    \"ENSEMBL:ENSG00000114853\"\n                                    \"ENSEMBL:ENSG00000167967\"\n                                    \"ENSEMBL:ENSG00000197136\"\n                                    \"ENSEMBL:ENSG00000198853\"\n                                    \"ENSEMBL:ENSG00000148341\"\n                                    \"ENSEMBL:ENSG00000135441\"\n                                    \"ENSEMBL:ENSG00000267534\"\n                                    \"ENSEMBL:ENSG00000139567\"\n                                    \"ENSEMBL:ENSG00000186635\"\n                                    \"ENSEMBL:ENSG00000122515\"\n                                    \"ENSEMBL:ENSG00000181690\"\n                                    \"ENSEMBL:ENSG00000049239\"\n                                    \"ENSEMBL:ENSG00000206395\"\n                                    \"ENSEMBL:ENSG00000141959\"\n                                    \"ENSEMBL:ENSG00000176845\"\n                                    \"ENSEMBL:ENSG00000175756\"\n                                    \"ENSEMBL:ENSG00000185201\"\n                                    \"ENSEMBL:ENSG00000185215\"\n                                    \"ENSEMBL:ENSG00000137332\"\n                                    \"ENSEMBL:ENSG00000116260\"\n                                    \"ENSEMBL:ENSG00000102678\"\n                                    \"ENSEMBL:ENSG00000100379\"\n                                    \"ENSEMBL:ENSG00000185561\"\n                                    \"ENSEMBL:ENSG00000186111\"\n                                    \"ENSEMBL:ENSG00000088280\"\n                                    \"ENSEMBL:ENSG00000186716\"\n                                    \"ENSEMBL:ENSG00000107223\"\n                                    \"ENSEMBL:ENSG00000114841\"\n                                    \"ENSEMBL:ENSG00000082781\"\n                                    \"ENSEMBL:ENSG00000102030\"\n                                    \"ENSEMBL:ENSG00000164619\"\n                                    \"ENSEMBL:ENSG00000167815\"\n                                    \"ENSEMBL:ENSG00000125734\"\n                                    \"ENSEMBL:ENSG00000067829\"\n                                    \"ENSEMBL:ENSG00000197381\"\n                                    \"ENSEMBL:ENSG00000142186\"\n                                    \"ENSEMBL:ENSG00000110046\"\n                                    \"ENSEMBL:ENSG00000213398\"\n                                    \"ENSEMBL:ENSG00000035664\"\n                                    \"ENSEMBL:ENSG00000125733\"\n                                    \"ENSEMBL:ENSG00000180879\"\n                                    \"ENSEMBL:ENSG00000140092\"\n                                    \"ENSEMBL:ENSG00000116786\"\n                                    \"ENSEMBL:ENSG00000168899\"\n                                    \"ENSEMBL:ENSG00000115325\"\n                                    \"ENSEMBL:ENSG00000061938\"\n                                    \"ENSEMBL:ENSG00000241878\"\n                                    \"ENSEMBL:ENSG00000153406\"\n                                    \"ENSEMBL:ENSG00000167671\"\n                                    \"ENSEMBL:ENSG00000130706\"\n                                    \"ENSEMBL:ENSG00000123395\"\n                                    \"ENSEMBL:ENSG00000175573\"\n                                    \"ENSEMBL:ENSG00000177239\"\n                                    \"ENSEMBL:ENSG00000142733\"\n                                    \"ENSEMBL:ENSG00000005486\"\n                                    \"ENSEMBL:ENSG00000164081\"\n                                    \"ENSEMBL:ENSG00000005882\"\n                                    \"ENSEMBL:ENSG00000175220\"\n                                    \"ENSEMBL:ENSG00000238227\"\n                                    \"ENSEMBL:ENSG00000008441\"\n                                    \"ENSEMBL:ENSG00000166313\"\n                                    \"ENSEMBL:ENSG00000105221\"\n                                    \"ENSEMBL:ENSG00000005007\"\n                                    \"ENSEMBL:ENSG00000164543\"\n                                    \"ENSEMBL:ENSG00000110651\"\n                                    \"ENSEMBL:ENSG00000068724\"\n                                    \"ENSEMBL:ENSG00000091592\"\n                                    \"ENSEMBL:ENSG00000142459\"\n                                    \"ENSEMBL:ENSG00000176248\"\n                                    \"ENSEMBL:ENSG00000030419\"\n                                    \"ENSEMBL:ENSG00000084207\"\n                                    \"ENSEMBL:ENSG00000111371\"\n                                    \"ENSEMBL:ENSG00000197226\"\n                                    \"ENSEMBL:ENSG00000161091\"\n                                    \"ENSEMBL:ENSG00000126561\"\n                                    \"ENSEMBL:ENSG00000159842\"\n                                    \"ENSEMBL:ENSG00000100243\"\n                                    \"ENSEMBL:ENSG00000177156\"\n                                    \"ENSEMBL:ENSG00000079999\"\n                                    \"ENSEMBL:ENSG00000160209\"\n                                    \"ENSEMBL:ENSG00000095321\"\n                                    \"ENSEMBL:ENSG00000167674\"\n                                    \"ENSEMBL:ENSG00000063660\"\n                                    \"ENSEMBL:ENSG00000090565\"\n                                    \"ENSEMBL:ENSG00000134030\"\n                                    \"ENSEMBL:ENSG00000174903\"\n                                    \"ENSEMBL:ENSG00000106665\"\n                                    \"ENSEMBL:ENSG00000172890\"\n                                    \"ENSEMBL:ENSG00000099917\"\n                                    \"ENSEMBL:ENSG00000160211\"\n                                    \"ENSEMBL:ENSG00000140264\"\n                                    \"ENSEMBL:ENSG00000109065\"\n                                    \"ENSEMBL:ENSG00000041880\"\n                                    \"ENSEMBL:ENSG00000141503\"\n                                    \"ENSEMBL:ENSG00000171067\"\n                                    \"ENSEMBL:ENSG00000140553\"\n                                    \"ENSEMBL:ENSG00000072422\"\n                                    \"ENSEMBL:ENSG00000172057\"\n                                    \"ENSEMBL:ENSG00000088256\"\n                                    \"ENSEMBL:ENSG00000101152\"\n                                    \"ENSEMBL:ENSG00000100413\"\n                                    \"ENSEMBL:ENSG00000148331\"\n                                    \"ENSEMBL:ENSG00000141736\"\n                                    \"ENSEMBL:ENSG00000124067\"\n                                    \"ENSEMBL:ENSG00000137207\"\n                                    \"ENSEMBL:ENSG00000126391\"\n                                    \"ENSEMBL:ENSG00000131446\"\n                                    \"ENSEMBL:ENSG00000185359\"\n                                    \"ENSEMBL:ENSG00000134590\"\n                                    \"ENSEMBL:ENSG00000162512\"\n                                    \"ENSEMBL:ENSG00000167118\"\n                                    \"ENSEMBL:ENSG00000169851\"\n                                    \"ENSEMBL:ENSG00000196961\"\n                                    \"ENSEMBL:ENSG00000135924\"\n                                    \"ENSEMBL:ENSG00000135631\"\n                                    \"ENSEMBL:ENSG00000129250\"\n                                    \"ENSEMBL:ENSG00000129103\"\n                                    \"ENSEMBL:ENSG00000197694\"))\n\n\n\n"
  },
  {
    "path": "contrib/medikanren2/Thi/Hakon-DEG-syns.rkt",
    "content": "#lang racket\n\n(provide (all-defined-out))\n\n(provide Hakon-CHAMP1-RNA-up-syns\n         Hakon-CHAMP1-RNA-down-syns)\n\n(define Hakon-CHAMP1-RNA-up-syns\n  (list\n   \"ENSEMBL:ENSG00000115468\"\n   \"ENSEMBL:ENSG00000171208\"\n   \"UMLS:C1538790\"\n   \"HGNC:17198\"\n   \"UniProtKB:Q8NFY4\"\n   \"ENSEMBL:LRG_50\"\n   \"PR:Q9NPG1\"\n   \"ENSEMBL:ENSG00000132688\"\n   \"ENSEMBL:ENSG00000163918\"\n   \"HGNC:2053\"\n   \"UniProtKB:Q5EG05\"\n   \"UMLS:C2240136\"\n   \"HGNC:11168\"\n   \"NCBIGene:80243\"\n   \"HGNC:4280\"\n   \"HGNC:6343\"\n   \"ENSEMBL:ENSG00000254087\"\n   \"HGNC:485\"\n   \"ENSEMBL:ENSG00000166974\"\n   \"UniProtKB:Q99683\"\n   \"UniProtKB:P50135\"\n   \"UMLS:C1333585\"\n   \"NCBIGene:23362\"\n   \"UniProtKB:P31271\"\n   \"UMLS:C2239668\"\n   \"HGNC:12518\"\n   \"NCBIGene:7042\"\n   \"UMLS:C0812307\"\n   \"PR:Q9NZQ7\"\n   \"NCBIGene:134429\"\n   \"ENSEMBL:ENSG00000091879\"\n   \"ENSEMBL:ENSG00000144635\"\n   \"NCBIGene:26508\"\n   \"HGNC:10252\"\n   \"HGNC:6597\"\n   \"HGNC:25491\"\n   \"PR:Q9Y6U3\"\n   \"HGNC:2528\"\n   \"UMLS:C1424695\"\n   \"ENSEMBL:ENSG00000206053\"\n   \"NCBIGene:153478\"\n   \"NCBIGene:3209\"\n   \"ENSEMBL:ENSG00000126803\"\n   \"NCBIGene:4773\"\n   \"PR:P43304\"\n   \"UniProtKB:Q8NC67\"\n   \"ENSEMBL:ENSG00000150471\"\n   \"UniProtKB:Q8WY64\"\n   \"UniProtKB:Q9Y6G9\"\n   \"PR:Q6UVK1\"\n   \"HGNC:9082\"\n   \"HGNC:6848\"\n   \"ENSEMBL:ENSG00000109861\"\n   \"UniProtKB:Q5TFE4\"\n   \"ENSEMBL:ENSG00000137501\"\n   \"NCBIGene:7351\"\n   \"PR:A2A2Y4\"\n   \"NCBIGene:1075\"\n   \"UMLS:C1415074\"\n   \"PR:Q8WXH0\"\n   \"ENSEMBL:ENSG00000169129\"\n   \"ENSEMBL:ENSG00000112183\"\n   \"UniProtKB:Q9H892\"\n   \"UMLS:C1540292\"\n   \"ENSEMBL:ENSG00000054654\"\n   \"PR:P50135\"\n   \"NCBIGene:6502\"\n   \"NCBIGene:29116\"\n   \"NCBIGene:1464\"\n   \"HGNC:17493\"\n   \"NCBIGene:51267\"\n   \"HGNC:6547\"\n   \"ENSEMBL:ENSG00000131471\"\n   \"PR:Q68D86\"\n   \"NCBIGene:4162\"\n   \"HGNC:6554\"\n   \"UMLS:C1420593\"\n   \"UniProtKB:P01130\"\n   \"PR:Q13469\"\n   \"UniProtKB:Q8N4X5\"\n   \"PR:Q86SQ0\"\n   \"PR:P61812\"\n   \"NCBIGene:22866\"\n   \"UMLS:C1419269\"\n   \"NCBIGene:2149\"\n   \"ENSEMBL:ENSG00000198743\"\n   \"ENSEMBL:ENSG00000128641\"\n   \"PR:P48357\"\n   \"HGNC:22950\"\n   \"NCBIGene:90853\"\n   \"HGNC:2323\"\n   \"ENSEMBL:ENSG00000065882\"\n   \"HGNC:11578\"\n   \"PR:Q14739\"\n   \"HGNC:4456\"\n   \"HGNC:7776\"\n   \"HGNC:376\"\n   \"PR:Q6UVW9\"\n   \"NCBIGene:4430\"\n   \"ENSEMBL:ENSG00000104435\"\n   \"PR:Q86V40\"\n   \"NCBIGene:4254\"\n   \"NCBIGene:7976\"\n   \"PR:O15084\"\n   \"HGNC:6560\"\n   \"UMLS:C3543895\"\n   \"PR:Q9H0B8\"\n   \"PR:Q9UNQ0\"\n   \"ENSEMBL:ENSG00000134318\"\n   \"NCBIGene:129293\"\n   \"NCBIGene:64744\"\n   \"ENSEMBL:ENSG00000157557\"\n   \"HGNC:3776\"\n   \"UMLS:C1539762\"\n   \"ENSEMBL:ENSG00000129680\"\n   \"PR:P03956\"\n   \"UMLS:C1428873\"\n   \"UMLS:C2239938\"\n   \"UMLS:C1422375\"\n   \"UniProtKB:P55851\"\n   \"PR:Q9NQ87\"\n   \"UMLS:C1366449\"\n   \"ENSEMBL:ENSG00000143815\"\n   \"NCBIGene:23224\"\n   \"UniProtKB:Q13884\"\n   \"PR:Q9GZM7\"\n   \"NCBIGene:6641\"\n   \"ENSEMBL:ENSG00000006747\"\n   \"NCBIGene:3189\"\n   \"UMLS:C1417695\"\n   \"PR:Q96PP9\"\n   \"ENSEMBL:ENSG00000120217\"\n   \"HGNC:7014\"\n   \"UMLS:C1419063\"\n   \"NCBIGene:81578\"\n   \"HGNC:6551\"\n   \"NCBIGene:54843\"\n   \"UMLS:C1417014\"\n   \"UniProtKB:Q96DR4\"\n   \"HGNC:10545\"\n   \"NCBIGene:441250\"\n   \"UniProtKB:Q9P2Q2\"\n   \"ENSEMBL:ENSG00000007944\"\n   \"PR:Q96PP8\"\n   \"HGNC:11038\"\n   \"NCBIGene:160364\"\n   \"PR:Q9H910\"\n   \"UMLS:C1825519\"\n   \"PR:Q8N8N0\"\n   \"NCBIGene:221294\"\n   \"NCBIGene:3949\"\n   \"ENSEMBL:ENSG00000165895\"\n   \"ENSEMBL:ENSG00000112312\"\n   \"ENSEMBL:ENSG00000151617\"\n   \"ENSEMBL:ENSG00000134668\"\n   \"PR:Q6ZMY3\"\n   \"PR:P51816\"\n   \"UniProtKB:Q86SQ0\"\n   \"PR:P24043\"\n   \"PR:P62736\"\n   \"ENSEMBL:ENSG00000145604\"\n   \"PR:Q13233\"\n   \"ENSEMBL:ENSG00000118777\"\n   \"ENSEMBL:ENSG00000277149\"\n   \"UMLS:C1539087\"\n   \"NCBIGene:6383\"\n   \"NCBIGene:3955\"\n   \"UniProtKB:P50222\"\n   \"NCBIGene:2820\"\n   \"PR:Q9P2P6\"\n   \"ENSEMBL:ENSG00000116127\"\n   \"PR:Q9BUP0\"\n   \"UniProtKB:P16671\"\n   \"HGNC:4882\"\n   \"ENSEMBL:ENSG00000172322\"\n   \"UMLS:C1826479\"\n   \"HGNC:5004\"\n   \"ENSEMBL:ENSG00000141198\"\n   \"HGNC:4517\"\n   \"PR:P36383\"\n   \"PR:Q9P2Q2\"\n   \"UniProtKB:P35408\"\n   \"HGNC:26242\"\n   \"HGNC:550\"\n   \"HGNC:25901\"\n   \"UniProtKB:P53634\"\n   \"ENSEMBL:ENSG00000130164\"\n   \"ENSEMBL:ENSG00000187323\"\n   \"UMLS:C1332797\"\n   \"UMLS:C1419892\"\n   \"ENSEMBL:ENSG00000151474\"\n   \"UniProtKB:Q96PX9\"\n   \"ENSEMBL:ENSG00000170891\"\n   \"HGNC:14137\"\n   \"UniProtKB:P62736\"\n   \"UMLS:C1539745\"\n   \"UniProtKB:Q9H999\"\n   \"ENSEMBL:ENSG00000163909\"\n   \"UMLS:C1419064\"\n   \"HGNC:19030\"\n   \"NCBIGene:79646\"\n   \"NCBIGene:3953\"\n   \"UMLS:C1425966\"\n   \"UniProtKB:Q96PP9\"\n   \"PR:Q86X52\"\n   \"UniProtKB:Q8NC01\"\n   \"PR:P25101\"\n   \"PR:Q5HYW2\"\n   \"UMLS:C1427370\"\n   \"NCBIGene:55691\"\n   \"NCBIGene:83716\"\n   \"ENSEMBL:ENSG00000050628\"\n   \"HGNC:19168\"\n   \"HGNC:23228\"\n   \"HGNC:24435\"\n   \"PR:P21583\"\n   \"HGNC:10901\"\n   \"UniProtKB:Q5QGZ9\"\n   \"HGNC:33701\"\n   \"UniProtKB:Q8WU79\"\n   \"NCBIGene:51053\"\n   \"HGNC:33737\"\n   \"UniProtKB:Q9UJU2\"\n   \"HGNC:25742\"\n   \"HGNC:17635\"\n   \"UniProtKB:Q9NWQ8\"\n   \"UMLS:C1824630\"\n   \"HGNC:24125\"\n   \"UMLS:C1426119\"\n   \"PR:Q5EG05\"\n   \"ENSEMBL:ENSG00000118473\"\n   \"PR:P35249\"\n   \"PR:P15036\"\n   \"ENSEMBL:ENSG00000138795\"\n   \"NCBIGene:3149\"\n   \"ENSEMBL:LRG_991\"\n   \"NCBIGene:26033\"\n   \"ENSEMBL:LRG_781\"\n   \"UMLS:C1415644\"\n   \"ENSEMBL:ENSG00000178425\"\n   \"UMLS:C1418455\"\n   \"ENSEMBL:ENSG00000096746\"\n   \"PR:Q15052\"\n   \"HGNC:10577\"\n   \"UniProtKB:Q9HCH5\"\n   \"ENSEMBL:ENSG00000188393\"\n   \"PR:Q8TCU4\"\n   \"ENSEMBL:ENSG00000144218\"\n   \"HGNC:5043\"\n   \"PR:Q93045\"\n   \"ENSEMBL:ENSG00000181104\"\n   \"UniProtKB:P10114\"\n   \"ENSEMBL:ENSG00000107518\"\n   \"PR:Q9NRR1\"\n   \"UniProtKB:Q8NES3\"\n   \"NCBIGene:5352\"\n   \"HGNC:18745\"\n   \"UniProtKB:P48357\"\n   \"UMLS:C1538784\"\n   \"HGNC:26286\"\n   \"NCBIGene:90102\"\n   \"UniProtKB:P43146\"\n   \"PR:Q8WY64\"\n   \"ENSEMBL:LRG_283\"\n   \"NCBIGene:53918\"\n   \"UMLS:C1823488\"\n   \"UniProtKB:Q9HAR2\"\n   \"NCBIGene:9976\"\n   \"UMLS:C1428204\"\n   \"ENSEMBL:ENSG00000204397\"\n   \"HGNC:174\"\n   \"PR:P25116\"\n   \"PR:Q96DY7\"\n   \"HGNC:30776\"\n   \"ENSEMBL:ENSG00000221818\"\n   \"HGNC:3179\"\n   \"UniProtKB:Q9H0B8\"\n   \"NCBIGene:10982\"\n   \"UniProtKB:Q13023\"\n   \"PR:P31327\"\n   \"UMLS:C1428625\"\n   \"PR:Q8IZ41\"\n   \"ENSEMBL:LRG_336\"\n   \"UniProtKB:Q9NZF1\"\n   \"ENSEMBL:ENSG00000151320\"\n   \"NCBIGene:11009\"\n   \"UniProtKB:Q5HYW2\"\n   \"HGNC:6518\"\n   \"HGNC:9595\"\n   \"UniProtKB:P53794\"\n   \"NCBIGene:257019\"\n   \"ENSEMBL:ENSG00000145287\"\n   \"PR:P34741\"\n   \"UniProtKB:Q9NQ87\"\n   \"ENSEMBL:ENSG00000029993\"\n   \"ENSEMBL:ENSG00000076706\"\n   \"PR:Q8N4X5\"\n   \"ENSEMBL:ENSG00000069188\"\n   \"UMLS:C1417112\"\n   \"HGNC:10659\"\n   \"UniProtKB:Q13309\"\n   \"PR:Q70Z35\"\n   \"NCBIGene:4629\"\n   \"NCBIGene:4312\"\n   \"HGNC:25412\"\n   \"ENSEMBL:ENSG00000162892\"\n   \"NCBIGene:392490\"\n   \"UniProtKB:Q9NZQ7\"\n   \"NCBIGene:5911\"\n   \"NCBIGene:79739\"\n   \"ENSEMBL:ENSG00000152952\"\n   \"UniProtKB:Q6ZMY3\"\n   \"UniProtKB:P21583\"\n   \"PR:P82932\"\n   \"UniProtKB:Q01581\"\n   \"HGNC:23700\"\n   \"UniProtKB:Q8WXH0\"\n   \"UMLS:C1417411\"\n   \"ENSEMBL:ENSG00000276480\"\n   \"UniProtKB:Q9NPG1\"\n   \"HGNC:130\"\n   \"PR:A6NI28\"\n   \"PR:O15347\"\n   \"NCBIGene:80031\"\n   \"HGNC:6482\"\n   \"ENSEMBL:ENSG00000243927\"\n   \"ENSEMBL:ENSG00000176641\"\n   \"UniProtKB:Q6UVW9\"\n   \"HGNC:9596\"\n   \"HGNC:20974\"\n   \"UMLS:C1825085\"\n   \"UMLS:C1427805\"\n   \"HGNC:30043\"\n   \"HGNC:9972\"\n   \"UniProtKB:Q9UNQ0\"\n   \"PR:Q6ZT98\"\n   \"ENSEMBL:ENSG00000095015\"\n   \"PR:Q8NC01\"\n   \"ENSEMBL:ENSG00000112972\"\n   \"NCBIGene:3930\"\n   \"UMLS:C1415616\"\n   \"UMLS:C1426053\"\n   \"HGNC:1777\"\n   \"UMLS:C1417679\"\n   \"PR:Q5QGZ9\"\n   \"UniProtKB:Q8IZ41\"\n   \"UniProtKB:Q9H910\"\n   \"PR:Q92478\"\n   \"PR:Q9Y6G9\"\n   \"NCBIGene:79642\"\n   \"NCBIGene:85477\"\n   \"HGNC:8829\"\n   \"UniProtKB:Q9BX46\"\n   \"ENSEMBL:ENSG00000159433\"\n   \"HGNC:18058\"\n   \"UMLS:C1412318\"\n   \"UMLS:C1823542\"\n   \"ENSEMBL:ENSG00000152684\"\n   \"UMLS:C0812202\"\n   \"NCBIGene:80303\"\n   \"PR:Q58EX2\"\n   \"UniProtKB:O15164\"\n   \"NCBIGene:6307\"\n   \"ENSEMBL:ENSG00000129675\"\n   \"UniProtKB:Q9P2P6\"\n   \"PR:Q6NUM6\"\n   \"ENSEMBL:ENSG00000150048\"\n   \"PR:P35408\"\n   \"NCBIGene:9475\"\n   \"UMLS:C1425271\"\n   \"PR:Q9BX46\"\n   \"PR:Q5TFE4\"\n   \"HGNC:29399\"\n   \"HGNC:27013\"\n   \"HGNC:29573\"\n   \"UniProtKB:P82932\"\n   \"ENSEMBL:ENSG00000113594\"\n   \"UniProtKB:Q00534\"\n   \"UniProtKB:Q9BQI5\"\n   \"HGNC:2701\"\n   \"ENSEMBL:ENSG00000172167\"\n   \"PR:Q8IYL9\"\n   \"HGNC:11983\"\n   \"HGNC:19701\"\n   \"UniProtKB:Q13705\"\n   \"PR:Q13309\"\n   \"UniProtKB:O00469\"\n   \"PR:Q9H999\"\n   \"PR:P53794\"\n   \"PR:Q9NYI0\"\n   \"UniProtKB:Q8N8N0\"\n   \"UniProtKB:P42702\"\n   \"PR:Q13884\"\n   \"UMLS:C2239823\"\n   \"UniProtKB:P07948\"\n   \"NCBIGene:23243\"\n   \"ENSEMBL:ENSG00000069122\"\n   \"NCBIGene:27085\"\n   \"UMLS:C1708616\"\n   \"NCBIGene:1909\"\n   \"PR:Q86TI0\"\n   \"NCBIGene:2878\"\n   \"UMLS:C1420855\"\n   \"HGNC:428\"\n   \"UniProtKB:Q8IYL9\"\n   \"PR:Q8IZF2\"\n   \"NCBIGene:105374836\"\n   \"UniProtKB:Q15052\"\n   \"ENSEMBL:ENSG00000076641\"\n   \"PR:Q9HAR2\"\n   \"PR:O15123\"\n   \"UniProtKB:A6NI28\"\n   \"ENSEMBL:ENSG00000124749\"\n   \"PR:P01130\"\n   \"HGNC:5007\"\n   \"HGNC:19308\"\n   \"PR:O75496\"\n   \"NCBIGene:22856\"\n   \"UniProtKB:P51816\"\n   \"UMLS:C1539139\"\n   \"NCBIGene:2334\"\n   \"ENSEMBL:ENSG00000120137\"\n   \"UniProtKB:P31327\"\n   \"UniProtKB:Q92478\"\n   \"UMLS:C1427702\"\n   \"UMLS:C1538565\"\n   \"UMLS:C1366521\"\n   \"UniProtKB:Q58EX2\"\n   \"UMLS:C1366529\"\n   \"UniProtKB:Q15555\"\n   \"PR:Q9H892\"\n   \"PR:P48681\"\n   \"HGNC:3489\"\n   \"ENSEMBL:LRG_274\"\n   \"ENSEMBL:LRG_741\"\n   \"NCBIGene:114769\"\n   \"UniProtKB:A2A2Y4\"\n   \"HGNC:6473\"\n   \"ENSEMBL:ENSG00000144824\"\n   \"PR:O75674\"\n   \"UniProtKB:Q9NRR1\"\n   \"PR:Q5VV63\"\n   \"NCBIGene:3899\"\n   \"NCBIGene:3306\"\n   \"HGNC:24355\"\n   \"ENSEMBL:ENSG00000122779\"\n   \"UniProtKB:P34741\"\n   \"ENSEMBL:ENSG00000162654\"\n   \"NCBIGene:51316\"\n   \"HGNC:25248\"\n   \"HGNC:19365\"\n   \"UniProtKB:Q8WXI2\"\n   \"UniProtKB:Q6UVK1\"\n   \"ENSEMBL:ENSG00000172164\"\n   \"ENSEMBL:ENSG00000164211\"\n   \"NCBIGene:4223\"\n   \"ENSEMBL:ENSG00000106003\"\n   \"ENSEMBL:ENSG00000104290\"\n   \"HGNC:16770\"\n   \"NCBIGene:254251\"\n   \"ENSEMBL:ENSG00000149970\"\n   \"NCBIGene:10763\"\n   \"UniProtKB:Q96PP8\"\n   \"UniProtKB:O75674\"\n   \"PR:Q8WU79\"\n   \"NCBIGene:59\"\n   \"PR:O00469\"\n   \"ENSEMBL:ENSG00000103196\"\n   \"NCBIGene:6526\"\n   \"UniProtKB:P35749\"\n   \"UniProtKB:Q8TCU4\"\n   \"ENSEMBL:ENSG00000114739\"\n   \"NCBIGene:3176\"\n   \"NCBIGene:143872\"\n   \"UMLS:C1335831\"\n   \"PR:O75116\"\n   \"UniProtKB:P54652\"\n   \"NCBIGene:81831\"\n   \"UniProtKB:Q9HAK2\"\n   \"HGNC:21695\"\n   \"ENSEMBL:ENSG00000153404\"\n   \"NCBIGene:1021\"\n   \"NCBIGene:10052\"\n   \"UniProtKB:Q9Y6U3\"\n   \"PR:Q8IWC1\"\n   \"UMLS:C2239783\"\n   \"NCBIGene:10040\"\n   \"UniProtKB:Q12955\"\n   \"HGNC:19090\"\n   \"UniProtKB:Q14739\"\n   \"NCBIGene:3157\"\n   \"ENSEMBL:ENSG00000172159\"\n   \"NCBIGene:3908\"\n   \"ENSEMBL:ENSG00000204131\"\n   \"HGNC:19093\"\n   \"UMLS:C1825802\"\n   \"HGNC:15585\"\n   \"PR:P54652\"\n   \"ENSEMBL:ENSG00000173546\"\n   \"HGNC:14051\"\n   \"NCBIGene:8477\"\n   \"NCBIGene:1373\"\n   \"UniProtKB:Q13007\"\n   \"UniProtKB:P48681\"\n   \"NCBIGene:220441\"\n   \"NCBIGene:55824\"\n   \"HGNC:19254\"\n   \"ENSEMBL:ENSG00000142910\"\n   \"NCBIGene:5984\"\n   \"UMLS:C1412431\"\n   \"ENSEMBL:ENSG00000106511\"\n   \"PR:Q8NFY4\"\n   \"HGNC:3537\"\n   \"UniProtKB:Q93045\"\n   \"NCBIGene:93\"\n   \"UMLS:C1415251\"\n   \"UniProtKB:Q5VV63\"\n   \"ENSEMBL:ENSG00000116678\"\n   \"UniProtKB:O15084\"\n   \"UniProtKB:O75496\"\n   \"NCBIGene:5734\"\n   \"HGNC:29063\"\n   \"PR:P43146\"\n   \"UniProtKB:Q8IWC1\"\n   \"PR:Q16853\"\n   \"PR:P51826\"\n   \"PR:Q15555\"\n   \"HGNC:19895\"\n   \"NCBIGene:64129\"\n   \"PR:P10114\"\n   \"UMLS:C1825008\"\n   \"ENSEMBL:ENSG00000165105\"\n   \"PR:Q9HCH5\"\n   \"NCBIGene:54360\"\n   \"UniProtKB:O75116\"\n   \"PR:Q01581\"\n   \"HGNC:31713\"\n   \"ENSEMBL:ENSG00000131873\"\n   \"HGNC:17025\"\n   \"UniProtKB:Q86X52\"\n   \"PR:P42702\"\n   \"NCBIGene:27151\"\n   \"ENSEMBL:ENSG00000052802\"\n   \"PR:P07948\"\n   \"HGNC:6857\"\n   \"ENSEMBL:ENSG00000156011\"\n   \"PR:P43115\"\n   \"PR:Q8N3X6\"\n   \"HGNC:26811\"\n   \"NCBIGene:288\"\n   \"UniProtKB:Q15800\"\n   \"HGNC:20480\"\n   \"NCBIGene:8639\"\n   \"HGNC:26464\"\n   \"UniProtKB:P24043\"\n   \"HGNC:21539\"\n   \"HGNC:685\"\n   \"PR:Q13705\"\n   \"ENSEMBL:ENSG00000150636\"\n   \"HGNC:11768\"\n   \"NCBIGene:221662\"\n   \"ENSEMBL:ENSG00000206560\"\n   \"ENSEMBL:ENSG00000196569\"\n   \"ENSEMBL:ENSG00000105810\"\n   \"UMLS:C1539216\"\n   \"UMLS:C2681322\"\n   \"NCBIGene:29126\"\n   \"PR:O15164\"\n   \"UMLS:C1427216\"\n   \"UMLS:C1426964\"\n   \"NCBIGene:84251\"\n   \"HGNC:7756\"\n   \"PR:Q96P44\"\n   \"PR:Q8WXI2\"\n   \"PR:P53634\"\n   \"ENSEMBL:ENSG00000135218\"\n   \"UMLS:C1420202\"\n   \"UMLS:C1426193\"\n   \"UniProtKB:O43795\"\n   \"UniProtKB:Q9GZM7\"\n   \"HGNC:26545\"\n   \"NCBIGene:3977\"\n   \"PR:P31271\"\n   \"PR:Q8IZJ3\"\n   \"UniProtKB:Q16853\"\n   \"UniProtKB:P15036\"\n   \"ENSEMBL:ENSG00000115159\"\n   \"UniProtKB:P25101\"\n   \"UniProtKB:Q9BRX2\"\n   \"UMLS:C1428345\"\n   \"NCBIGene:4217\"\n   \"NCBIGene:340527\"\n   \"UMLS:C1539846\"\n   \"UniProtKB:P25116\"\n   \"ENSEMBL:ENSG00000180801\"\n   \"NCBIGene:79649\"\n   \"ENSEMBL:ENSG00000160111\"\n   \"UMLS:C1426155\"\n   \"PR:Q9NWQ8\"\n   \"HGNC:5028\"\n   \"HGNC:21556\"\n   \"HGNC:21155\"\n   \"ENSEMBL:ENSG00000186854\"\n   \"PR:Q96DR4\"\n   \"PR:Q00534\"\n   \"PR:Q9UJU2\"\n   \"UniProtKB:Q13233\"\n   \"ENSEMBL:ENSG00000137941\"\n   \"NCBIGene:158158\"\n   \"UniProtKB:O15123\"\n   \"UMLS:C1422809\"\n   \"UniProtKB:Q70Z35\"\n   \"ENSEMBL:ENSG00000149292\"\n   \"HGNC:14644\"\n   \"UniProtKB:Q86V40\"\n   \"NCBIGene:90861\"\n   \"UMLS:C1428878\"\n   \"PR:Q99683\"\n   \"PR:Q9NZF1\"\n   \"HGNC:6735\"\n   \"UniProtKB:Q6ZT98\"\n   \"ENSEMBL:ENSG00000151150\"\n   \"HGNC:24191\"\n   \"HGNC:4041\"\n   \"UniProtKB:P22352\"\n   \"UniProtKB:Q8IZF2\"\n   \"UMLS:C2828634\"\n   \"UMLS:C1417559\"\n   \"UniProtKB:P51826\"\n   \"UMLS:C1426006\"\n   \"PR:P22352\"\n   \"ENSEMBL:ENSG00000169439\"\n   \"HGNC:26295\"\n   \"ENSEMBL:ENSG00000107796\"\n   \"PR:Q15800\"\n   \"PR:P31942\"\n   \"UMLS:C1539106\"\n   \"NCBIGene:948\"\n   \"UniProtKB:P43304\"\n   \"ENSEMBL:ENSG00000049130\"\n   \"UMLS:C1428783\"\n   \"PR:P55851\"\n   \"PR:Q13023\"\n   \"NCBIGene:57519\"\n   \"NCBIGene:4214\"\n   \"PR:Q96PX9\"\n   \"PR:P16671\"\n   \"HGNC:5235\"\n   \"UMLS:C1419850\"\n   \"PR:O43795\"\n   \"NCBIGene:387836\"\n   \"UMLS:C1823280\"\n   \"HGNC:33908\"\n   \"UniProtKB:Q5FYB0\"\n   \"UniProtKB:Q96P44\"\n   \"NCBIGene:8805\"\n   \"ENSEMBL:LRG_409\"\n   \"UniProtKB:P61812\"\n   \"UniProtKB:P43115\"\n   \"ENSEMBL:ENSG00000110852\"\n   \"UMLS:C1415526\"\n   \"NCBIGene:7840\"\n   \"ENSEMBL:ENSG00000155966\"\n   \"UniProtKB:Q96DY7\"\n   \"NCBIGene:115361\"\n   \"UMLS:C1426511\"\n   \"HGNC:6891\"\n   \"UniProtKB:O15347\"\n   \"UniProtKB:Q9NYI0\"\n   \"NCBIGene:221395\"\n   \"ENSEMBL:ENSG00000211445\"\n   \"HGNC:494\"\n   \"UMLS:C1332089\"\n   \"UMLS:C1428531\"\n   \"UniProtKB:Q8IZJ3\"\n   \"UMLS:C1415277\"\n   \"ENSEMBL:ENSG00000154451\"\n   \"NCBIGene:9429\"\n   \"NCBIGene:9459\"\n   \"PR:Q9BRX2\"\n   \"UniProtKB:P31942\"\n   \"UMLS:C1419351\"\n   \"UniProtKB:Q13469\"\n   \"HGNC:29556\"\n   \"NCBIGene:64641\"\n   \"UMLS:C1428778\"\n   \"HGNC:74\"\n   \"UniProtKB:P35249\"\n   \"UniProtKB:Q6NUM6\"\n   \"ENSEMBL:ENSG00000084070\"\n   \"HGNC:7417\"\n   \"ENSEMBL:ENSG00000137872\"\n   \"ENSEMBL:ENSG00000046889\"\n   \"UMLS:C1420297\"\n   \"UMLS:C1423595\"\n   \"ENSEMBL:ENSG00000150540\"\n   \"UMLS:C1538736\"\n   \"NCBIGene:11075\"\n   \"PR:P50222\"\n   \"ENSEMBL:ENSG00000106031\"\n   \"PR:Q13007\"\n   \"HGNC:7596\"\n   \"HGNC:1663\"\n   \"HGNC:4555\"\n   \"NCBIGene:23284\"\n   \"NCBIGene:9472\"\n   \"ENSEMBL:ENSG00000196611\"\n   \"NCBIGene:84632\"\n   \"NCBIGene:64968\"\n   \"ENSEMBL:ENSG00000178177\"\n   \"NCBIGene:51176\"\n   \"NCBIGene:1630\"\n   \"PR:P35749\"\n   \"NCBIGene:115362\"\n   \"ENSEMBL:ENSG00000197442\"\n   \"NCBIGene:23216\"\n   \"ENSEMBL:ENSG00000140030\"\n   \"HGNC:25082\"\n   \"NCBIGene:4067\"\n   \"NCBIGene:2114\"\n   \"PR:Q5FYB0\"\n   \"HGNC:7569\"\n   \"HGNC:29024\"\n   \"HGNC:2466\"\n   \"ENSEMBL:ENSG00000125249\"\n   \"NCBIGene:51143\"\n   \"PR:Q12955\"\n   \"ENSEMBL:ENSG00000101096\"\n   \"ENSEMBL:ENSG00000133392\"\n   \"UniProtKB:Q9BUP0\"\n   \"ENSEMBL:ENSG00000092969\"\n   \"NCBIGene:54970\"\n   \"HGNC:5102\"\n   \"UniProtKB:Q8N3X6\"\n   \"UniProtKB:P03956\"\n   \"NCBIGene:5733\"\n   \"HGNC:7155\"\n   \"UMLS:C1415758\"\n   \"ENSEMBL:ENSG00000171522\"\n   \"PR:Q8NES3\"\n   \"HGNC:26338\"\n   \"PR:Q9HAK2\"\n   \"HGNC:17084\"\n   \"NCBIGene:54549\"\n   \"UniProtKB:Q68D86\"\n   \"NCBIGene:285\"\n   \"HGNC:19162\"\n   \"UMLS:C1419598\"\n   \"ENSEMBL:ENSG00000175567\"\n   \"PR:Q8NC67\"\n   \"NCBIGene:79839\"\n   \"UniProtKB:Q86TI0\"\n   \"HGNC:9861\"\n   \"ENSEMBL:ENSG00000182963\"\n   \"PR:Q9BQI5\"\n   \"HGNC:11812\"\n   \"HGNC:11346\"\n   \"ENSEMBL:ENSG00000021826\"\n   \"UniProtKB:P36383\"\n   \"UMLS:C1539088\"))\n\n\n(define Hakon-CHAMP1-RNA-down-syns\n  (list\n   \"HGNC:14163\"\n   \"NCBIGene:22871\"\n   \"ENSEMBL:ENSG00000160932\"\n   \"UniProtKB:Q92900\"\n   \"PR:Q8N2Y8\"\n   \"UniProtKB:Q04725\"\n   \"NCBIGene:55643\"\n   \"PR:Q8N6G6\"\n   \"PR:Q16774\"\n   \"UMLS:C1419973\"\n   \"ENSEMBL:ENSG00000063660\"\n   \"ENSEMBL:ENSG00000229767\"\n   \"HGNC:14565\"\n   \"UMLS:C1366777\"\n   \"UMLS:C1414259\"\n   \"ENSEMBL:ENSG00000281244\"\n   \"HGNC:2481\"\n   \"HGNC:13875\"\n   \"NCBIGene:7089\"\n   \"UniProtKB:P12882\"\n   \"UMLS:C1420714\"\n   \"NCBIGene:6423\"\n   \"UMLS:C1419756\"\n   \"UMLS:C1428332\"\n   \"UMLS:C1539903\"\n   \"HGNC:21288\"\n   \"ENSEMBL:ENSG00000228128\"\n   \"ENSEMBL:ENSG00000160209\"\n   \"UMLS:C1538701\"\n   \"ENSEMBL:ENSG00000213398\"\n   \"UMLS:C1538571\"\n   \"PR:Q9UIK5\"\n   \"NCBIGene:26056\"\n   \"ENSEMBL:ENSG00000198959\"\n   \"PR:P27037\"\n   \"PR:P03372\"\n   \"PR:P41227\"\n   \"ENSEMBL:ENSG00000176101\"\n   \"NCBIGene:7076\"\n   \"NCBIGene:3728\"\n   \"PR:P19388\"\n   \"ENSEMBL:ENSG00000101986\"\n   \"NCBIGene:23761\"\n   \"HGNC:9601\"\n   \"HGNC:29832\"\n   \"PR:O43854\"\n   \"ENSEMBL:ENSG00000172270\"\n   \"NCBIGene:92949\"\n   \"UniProtKB:Q13361\"\n   \"NCBIGene:2254\"\n   \"UMLS:C1417015\"\n   \"PR:Q6KF10\"\n   \"UMLS:C1417519\"\n   \"ENSEMBL:LRG_142\"\n   \"PR:P17858\"\n   \"HGNC:15985\"\n   \"HGNC:8951\"\n   \"ENSEMBL:ENSG00000162576\"\n   \"PR:P48509\"\n   \"ENSEMBL:ENSG00000101439\"\n   \"HGNC:6868\"\n   \"NCBIGene:6714\"\n   \"NCBIGene:9294\"\n   \"NCBIGene:51279\"\n   \"NCBIGene:822\"\n   \"NCBIGene:79734\"\n   \"NCBIGene:7186\"\n   \"UMLS:C1427969\"\n   \"ENSEMBL:ENSG00000005007\"\n   \"PR:P04216\"\n   \"PR:P01040\"\n   \"HGNC:5978\"\n   \"UniProtKB:Q9H7M9\"\n   \"UniProtKB:Q9HBA0\"\n   \"UniProtKB:P35613\"\n   \"NCBIGene:1312\"\n   \"ENSEMBL:ENSG00000178568\"\n   \"NCBIGene:1893\"\n   \"HGNC:17158\"\n   \"UMLS:C1420441\"\n   \"NCBIGene:7052\"\n   \"NCBIGene:80149\"\n   \"UniProtKB:P84101\"\n   \"UniProtKB:Q9H3H3\"\n   \"UniProtKB:Q9NS15\"\n   \"UniProtKB:Q9P212\"\n   \"HGNC:20910\"\n   \"PR:P10301\"\n   \"UMLS:C1539047\"\n   \"ENSEMBL:ENSG00000134317\"\n   \"NCBIGene:151887\"\n   \"ENSEMBL:ENSG00000175573\"\n   \"ENSEMBL:ENSG00000131669\"\n   \"HGNC:8029\"\n   \"UniProtKB:O15041\"\n   \"UMLS:C1428140\"\n   \"UniProtKB:Q08289\"\n   \"PR:P78562\"\n   \"ENSEMBL:ENSG00000067221\"\n   \"ENSEMBL:LRG_246\"\n   \"NCBIGene:8636\"\n   \"HGNC:4638\"\n   \"UMLS:C1418552\"\n   \"NCBIGene:54863\"\n   \"NCBIGene:51816\"\n   \"NCBIGene:284207\"\n   \"PR:Q13261\"\n   \"PR:Q9HBA0\"\n   \"ENSEMBL:ENSG00000126458\"\n   \"NCBIGene:347735\"\n   \"UniProtKB:P13489\"\n   \"PR:Q8NBJ7\"\n   \"ENSEMBL:ENSG00000121989\"\n   \"NCBIGene:2647\"\n   \"UniProtKB:Q9UPQ0\"\n   \"PR:P01024\"\n   \"UniProtKB:Q14938\"\n   \"UniProtKB:Q9Y6H8\"\n   \"UniProtKB:O60869\"\n   \"PR:O43292\"\n   \"ENSEMBL:ENSG00000165655\"\n   \"HGNC:3084\"\n   \"UniProtKB:P18084\"\n   \"UniProtKB:O95183\"\n   \"UniProtKB:Q15269\"\n   \"ENSEMBL:ENSG00000181690\"\n   \"NCBIGene:9817\"\n   \"ENSEMBL:ENSG00000069431\"\n   \"PR:Q6ZMW3\"\n   \"HGNC:30594\"\n   \"UniProtKB:Q8N6K7\"\n   \"UniProtKB:O15409\"\n   \"NCBIGene:4061\"\n   \"UMLS:C1427470\"\n   \"ENSEMBL:ENSG00000173801\"\n   \"NCBIGene:84674\"\n   \"ENSEMBL:ENSG00000115325\"\n   \"ENSEMBL:ENSG00000164484\"\n   \"PR:P07093\"\n   \"PR:Q5U623\"\n   \"UniProtKB:O95248\"\n   \"NCBIGene:9263\"\n   \"UniProtKB:O95865\"\n   \"UniProtKB:Q9Y572\"\n   \"NCBIGene:8566\"\n   \"NCBIGene:2950\"\n   \"PR:Q96F45\"\n   \"NCBIGene:51196\"\n   \"NCBIGene:5157\"\n   \"UniProtKB:Q8WW38\"\n   \"HGNC:3169\"\n   \"PR:P10589\"\n   \"HGNC:35412\"\n   \"PR:Q9Y535\"\n   \"NCBIGene:51586\"\n   \"ENSEMBL:ENSG00000078808\"\n   \"HGNC:11731\"\n   \"UniProtKB:Q9UKX2\"\n   \"ENSEMBL:ENSG00000214595\"\n   \"UMLS:C1825270\"\n   \"NCBIGene:57575\"\n   \"HGNC:14867\"\n   \"ENSEMBL:ENSG00000177239\"\n   \"ENSEMBL:ENSG00000177666\"\n   \"HGNC:226\"\n   \"UMLS:C1823388\"\n   \"PR:Q01629\"\n   \"HGNC:30649\"\n   \"HGNC:7715\"\n   \"NCBIGene:727910\"\n   \"UniProtKB:Q9BR76\"\n   \"UniProtKB:Q96SA4\"\n   \"HGNC:3219\"\n   \"ENSEMBL:ENSG00000185215\"\n   \"HGNC:8659\"\n   \"UniProtKB:Q10571\"\n   \"UniProtKB:Q9NZI5\"\n   \"UniProtKB:Q13634\"\n   \"ENSEMBL:ENSG00000152217\"\n   \"ENSEMBL:ENSG00000141503\"\n   \"ENSEMBL:ENSG00000107821\"\n   \"HGNC:38705\"\n   \"UMLS:C2681258\"\n   \"UniProtKB:Q9BXP8\"\n   \"ENSEMBL:ENSG00000116183\"\n   \"ENSEMBL:ENSG00000175220\"\n   \"UMLS:C1826719\"\n   \"UMLS:C1826712\"\n   \"HGNC:23790\"\n   \"HGNC:12619\"\n   \"NCBIGene:80832\"\n   \"ENSEMBL:ENSG00000017427\"\n   \"PR:Q96JB6\"\n   \"UniProtKB:Q96CN4\"\n   \"HGNC:1749\"\n   \"HGNC:25679\"\n   \"PR:Q8WTR4\"\n   \"PR:O75154\"\n   \"UMLS:C1419185\"\n   \"NCBIGene:4620\"\n   \"HGNC:14295\"\n   \"NCBIGene:29800\"\n   \"UniProtKB:Q9Y625\"\n   \"PR:Q02818\"\n   \"HGNC:6823\"\n   \"UniProtKB:Q9ULT0\"\n   \"NCBIGene:90120\"\n   \"UniProtKB:O00764\"\n   \"ENSEMBL:LRG_724\"\n   \"UMLS:C1823452\"\n   \"HGNC:9199\"\n   \"UniProtKB:Q8WUF5\"\n   \"HGNC:1402\"\n   \"ENSEMBL:ENSG00000103152\"\n   \"ENSEMBL:LRG_543\"\n   \"UMLS:C1824747\"\n   \"NCBIGene:23130\"\n   \"NCBIGene:3601\"\n   \"HGNC:21265\"\n   \"ENSEMBL:ENSG00000090565\"\n   \"UniProtKB:Q9UJX6\"\n   \"ENSEMBL:ENSG00000137809\"\n   \"HGNC:6136\"\n   \"UMLS:C1426120\"\n   \"UMLS:C1414689\"\n   \"ENSEMBL:ENSG00000160211\"\n   \"HGNC:13177\"\n   \"UniProtKB:Q14315\"\n   \"HGNC:24987\"\n   \"UniProtKB:Q6ZVK8\"\n   \"HGNC:6738\"\n   \"UniProtKB:Q86Y39\"\n   \"UniProtKB:P50479\"\n   \"HGNC:4379\"\n   \"HGNC:26259\"\n   \"UMLS:C1419145\"\n   \"NCBIGene:78987\"\n   \"UniProtKB:Q2MKA7\"\n   \"ENSEMBL:ENSG00000103888\"\n   \"PR:P21964\"\n   \"NCBIGene:10581\"\n   \"PR:O94808\"\n   \"PR:Q76M96\"\n   \"UniProtKB:Q9NWX5\"\n   \"ENSEMBL:ENSG00000285112\"\n   \"UMLS:C1538171\"\n   \"PR:Q8NF64\"\n   \"UniProtKB:Q7Z4V5\"\n   \"HGNC:13469\"\n   \"UniProtKB:P32119\"\n   \"UMLS:C1333246\"\n   \"UMLS:C1537434\"\n   \"ENSEMBL:ENSG00000128573\"\n   \"UniProtKB:Q9NR46\"\n   \"UMLS:C1424947\"\n   \"ENSEMBL:ENSG00000095637\"\n   \"UMLS:C1425765\"\n   \"HGNC:11283\"\n   \"UniProtKB:Q5U623\"\n   \"ENSEMBL:ENSG00000183077\"\n   \"ENSEMBL:ENSG00000198542\"\n   \"NCBIGene:387509\"\n   \"ENSEMBL:LRG_1287\"\n   \"NCBIGene:50488\"\n   \"UniProtKB:P31751\"\n   \"NCBIGene:5251\"\n   \"NCBIGene:115708\"\n   \"UMLS:C1420273\"\n   \"PR:Q9UP95\"\n   \"UniProtKB:P51571\"\n   \"ENSEMBL:ENSG00000176845\"\n   \"UniProtKB:P27487\"\n   \"PR:Q9BXF6\"\n   \"PR:Q9P2D7\"\n   \"PR:Q9H936\"\n   \"NCBIGene:6857\"\n   \"NCBIGene:975\"\n   \"HGNC:9405\"\n   \"NCBIGene:79751\"\n   \"PR:P23467\"\n   \"UMLS:C1413275\"\n   \"UMLS:C2239563\"\n   \"UniProtKB:O15120\"\n   \"PR:Q9UEE5\"\n   \"NCBIGene:7127\"\n   \"UniProtKB:P01040\"\n   \"PR:P62875\"\n   \"UMLS:C1421398\"\n   \"NCBIGene:4135\"\n   \"ENSEMBL:ENSG00000139174\"\n   \"ENSEMBL:ENSG00000131459\"\n   \"ENSEMBL:ENSG00000117122\"\n   \"NCBIGene:81876\"\n   \"UniProtKB:Q12979\"\n   \"NCBIGene:399909\"\n   \"UMLS:C1537686\"\n   \"UMLS:C1422757\"\n   \"NCBIGene:2006\"\n   \"HGNC:2675\"\n   \"ENSEMBL:ENSG00000134590\"\n   \"PR:P15289\"\n   \"PR:Q6ZVK8\"\n   \"NCBIGene:5099\"\n   \"UMLS:C1419743\"\n   \"PR:Q8IV08\"\n   \"NCBIGene:51368\"\n   \"ENSEMBL:ENSG00000064932\"\n   \"ENSEMBL:ENSG00000186501\"\n   \"ENSEMBL:ENSG00000142733\"\n   \"UMLS:C1420775\"\n   \"ENSEMBL:ENSG00000071242\"\n   \"HGNC:24845\"\n   \"PR:Q16553\"\n   \"UMLS:C1424585\"\n   \"ENSEMBL:ENSG00000167123\"\n   \"PR:Q9NWX5\"\n   \"ENSEMBL:ENSG00000141959\"\n   \"NCBIGene:216\"\n   \"HGNC:33842\"\n   \"ENSEMBL:LRG_27\"\n   \"NCBIGene:2356\"\n   \"UMLS:C1417239\"\n   \"PR:Q9HAB3\"\n   \"ENSEMBL:ENSG00000011347\"\n   \"HGNC:2569\"\n   \"UMLS:C1823243\"\n   \"NCBIGene:148223\"\n   \"HGNC:11395\"\n   \"HGNC:21296\"\n   \"ENSEMBL:ENSG00000275074\"\n   \"PR:O15409\"\n   \"HGNC:9756\"\n   \"UniProtKB:Q9H936\"\n   \"UMLS:C1425110\"\n   \"UMLS:C1423031\"\n   \"PR:Q9NRD1\"\n   \"UniProtKB:P60033\"\n   \"ENSEMBL:ENSG00000142459\"\n   \"UniProtKB:P04180\"\n   \"UniProtKB:Q9H6A9\"\n   \"ENSEMBL:ENSG00000093010\"\n   \"ENSEMBL:ENSG00000165995\"\n   \"UniProtKB:O75398\"\n   \"HGNC:7945\"\n   \"ENSEMBL:ENSG00000107140\"\n   \"UniProtKB:Q16678\"\n   \"ENSEMBL:ENSG00000135919\"\n   \"PR:Q9BTM9\"\n   \"HGNC:16038\"\n   \"HGNC:12646\"\n   \"ENSEMBL:ENSG00000176532\"\n   \"ENSEMBL:ENSG00000135924\"\n   \"NCBIGene:22904\"\n   \"PR:Q14145\"\n   \"HGNC:6164\"\n   \"ENSEMBL:ENSG00000168936\"\n   \"HGNC:9045\"\n   \"UMLS:C1836668\"\n   \"HGNC:10074\"\n   \"UniProtKB:Q8NF64\"\n   \"PR:Q96JE9\"\n   \"ENSEMBL:ENSG00000100241\"\n   \"ENSEMBL:ENSG00000204580\"\n   \"NCBIGene:26086\"\n   \"PR:Q9UBU2\"\n   \"UniProtKB:Q07507\"\n   \"HGNC:1174\"\n   \"ENSEMBL:ENSG00000274684\"\n   \"UMLS:C1427621\"\n   \"PR:Q5T4B2\"\n   \"UniProtKB:Q96HD1\"\n   \"NCBIGene:79987\"\n   \"NCBIGene:441376\"\n   \"PR:Q9Y2K6\"\n   \"PR:Q9H6A9\"\n   \"HGNC:402\"\n   \"UniProtKB:Q76LX8\"\n   \"UniProtKB:Q8TB22\"\n   \"PR:Q969U6\"\n   \"ENSEMBL:ENSG00000168899\"\n   \"NCBIGene:30008\"\n   \"UniProtKB:Q9Y2K6\"\n   \"HGNC:25460\"\n   \"NCBIGene:6196\"\n   \"UniProtKB:P11413\"\n   \"ENSEMBL:ENSG00000162241\"\n   \"NCBIGene:1191\"\n   \"ENSEMBL:ENSG00000173264\"\n   \"NCBIGene:59341\"\n   \"UMLS:C1428620\"\n   \"UniProtKB:P51553\"\n   \"UMLS:C1421975\"\n   \"UMLS:C1412520\"\n   \"NCBIGene:11047\"\n   \"UniProtKB:B1AH88\"\n   \"ENSEMBL:ENSG00000163874\"\n   \"PR:Q6NTF9\"\n   \"PR:Q9UFB7\"\n   \"NCBIGene:11093\"\n   \"HGNC:4897\"\n   \"HGNC:23177\"\n   \"HGNC:25981\"\n   \"UMLS:C1823924\"\n   \"NCBIGene:2192\"\n   \"UniProtKB:Q4LEZ3\"\n   \"NCBIGene:5822\"\n   \"PR:Q9Y6I9\"\n   \"HGNC:1366\"\n   \"HGNC:1014\"\n   \"UniProtKB:Q92934\"\n   \"UniProtKB:Q07960\"\n   \"NCBIGene:54461\"\n   \"UniProtKB:O95382\"\n   \"UniProtKB:O43896\"\n   \"UniProtKB:Q4LDE5\"\n   \"HGNC:3011\"\n   \"NCBIGene:5211\"\n   \"NCBIGene:4054\"\n   \"UniProtKB:Q8N394\"\n   \"PR:Q9UKS7\"\n   \"UniProtKB:Q9UKS7\"\n   \"ENSEMBL:ENSG00000109065\"\n   \"ENSEMBL:ENSG00000072422\"\n   \"UMLS:C1426912\"\n   \"ENSEMBL:LRG_148\"\n   \"NCBIGene:160\"\n   \"HGNC:10447\"\n   \"PR:P00352\"\n   \"NCBIGene:2995\"\n   \"ENSEMBL:ENSG00000164619\"\n   \"PR:O15041\"\n   \"HGNC:18370\"\n   \"NCBIGene:29841\"\n   \"PR:Q9BXP8\"\n   \"UMLS:C1416483\"\n   \"NCBIGene:6888\"\n   \"UMLS:C1418629\"\n   \"PR:O76093\"\n   \"HGNC:1474\"\n   \"UniProtKB:Q9NRD9\"\n   \"PR:Q5JYT7\"\n   \"HGNC:5134\"\n   \"HGNC:6160\"\n   \"UMLS:C2239652\"\n   \"PR:Q9H2H9\"\n   \"NCBIGene:53838\"\n   \"HGNC:3164\"\n   \"HGNC:2940\"\n   \"UMLS:C1421422\"\n   \"NCBIGene:23671\"\n   \"NCBIGene:23770\"\n   \"NCBIGene:783\"\n   \"ENSEMBL:ENSG00000121039\"\n   \"HGNC:7180\"\n   \"NCBIGene:54587\"\n   \"NCBIGene:284654\"\n   \"ENSEMBL:ENSG00000169946\"\n   \"PR:Q15743\"\n   \"UMLS:C1823888\"\n   \"NCBIGene:7106\"\n   \"ENSEMBL:ENSG00000107404\"\n   \"NCBIGene:9945\"\n   \"HGNC:2342\"\n   \"NCBIGene:126328\"\n   \"NCBIGene:9064\"\n   \"ENSEMBL:ENSG00000164543\"\n   \"HGNC:29028\"\n   \"PR:Q9HBL8\"\n   \"UMLS:C1420753\"\n   \"NCBIGene:4728\"\n   \"HGNC:8043\"\n   \"ENSEMBL:ENSG00000023191\"\n   \"ENSEMBL:ENSG00000136878\"\n   \"ENSEMBL:ENSG00000124067\"\n   \"ENSEMBL:ENSG00000154096\"\n   \"UniProtKB:Q13261\"\n   \"ENSEMBL:ENSG00000079999\"\n   \"PR:Q9NPR9\"\n   \"UniProtKB:O95479\"\n   \"PR:O75509\"\n   \"UMLS:C1429017\"\n   \"HGNC:14630\"\n   \"PR:P21579\"\n   \"ENSEMBL:ENSG00000142684\"\n   \"NCBIGene:9600\"\n   \"UniProtKB:P29992\"\n   \"PR:Q9NWT8\"\n   \"UniProtKB:P21964\"\n   \"HGNC:684\"\n   \"UMLS:C2239907\"\n   \"ENSEMBL:ENSG00000186111\"\n   \"UniProtKB:P31277\"\n   \"PR:Q9BVG3\"\n   \"PR:Q9NR46\"\n   \"UniProtKB:Q9NXH8\"\n   \"UMLS:C1418594\"\n   \"UniProtKB:P11274\"\n   \"NCBIGene:4883\"\n   \"PR:Q9NZI5\"\n   \"PR:P26572\"\n   \"HGNC:4519\"\n   \"PR:Q9NZK5\"\n   \"HGNC:11859\"\n   \"ENSEMBL:ENSG00000197136\"\n   \"ENSEMBL:ENSG00000153406\"\n   \"HGNC:60\"\n   \"UniProtKB:O00562\"\n   \"NCBIGene:3931\"\n   \"HGNC:30943\"\n   \"PR:Q9NXH8\"\n   \"PR:P35052\"\n   \"UMLS:C2681454\"\n   \"ENSEMBL:ENSG00000189129\"\n   \"HGNC:5321\"\n   \"NCBIGene:57418\"\n   \"ENSEMBL:ENSG00000132837\"\n   \"UMLS:C1422509\"\n   \"PR:Q9Y6N8\"\n   \"UMLS:C3147060\"\n   \"HGNC:10418\"\n   \"HGNC:11345\"\n   \"PR:Q15642\"\n   \"ENSEMBL:ENSG00000110046\"\n   \"PR:O00217\"\n   \"ENSEMBL:ENSG00000093072\"\n   \"UMLS:C2678557\"\n   \"UMLS:C1417778\"\n   \"ENSEMBL:ENSG00000125734\"\n   \"HGNC:10431\"\n   \"UniProtKB:Q5T4B2\"\n   \"UMLS:C1540066\"\n   \"HGNC:26711\"\n   \"ENSEMBL:ENSG00000148341\"\n   \"UMLS:C1414602\"\n   \"UniProtKB:Q7L4E1\"\n   \"PR:Q15119\"\n   \"PR:Q96I82\"\n   \"UniProtKB:Q6RW13\"\n   \"ENSEMBL:ENSG00000148331\"\n   \"UniProtKB:P01034\"\n   \"ENSEMBL:ENSG00000131165\"\n   \"HGNC:1839\"\n   \"NCBIGene:56654\"\n   \"NCBIGene:23017\"\n   \"NCBIGene:9672\"\n   \"ENSEMBL:ENSG00000196961\"\n   \"ENSEMBL:ENSG00000165124\"\n   \"UniProtKB:O14964\"\n   \"NCBIGene:6050\"\n   \"ENSEMBL:ENSG00000136877\"\n   \"PR:Q15842\"\n   \"HGNC:21075\"\n   \"UMLS:C1824365\"\n   \"UniProtKB:Q9BRK3\"\n   \"PR:O95382\"\n   \"HGNC:5133\"\n   \"PR:O60331\"\n   \"PR:Q9Y625\"\n   \"ENSEMBL:ENSG00000137033\"\n   \"NCBIGene:22801\"\n   \"UniProtKB:P04626\"\n   \"NCBIGene:3479\"\n   \"HGNC:4795\"\n   \"NCBIGene:26270\"\n   \"UniProtKB:P14923\"\n   \"UniProtKB:Q969U6\"\n   \"NCBIGene:84858\"\n   \"UMLS:C1425135\"\n   \"UMLS:C1418441\"\n   \"HGNC:18704\"\n   \"NCBIGene:2700\"\n   \"ENSEMBL:ENSG00000198892\"\n   \"NCBIGene:116985\"\n   \"ENSEMBL:ENSG00000197858\"\n   \"PR:Q7Z5R6\"\n   \"ENSEMBL:ENSG00000166313\"\n   \"UMLS:C1422080\"\n   \"ENSEMBL:ENSG00000067715\"\n   \"NCBIGene:11253\"\n   \"NCBIGene:10085\"\n   \"ENSEMBL:ENSG00000179104\"\n   \"NCBIGene:647024\"\n   \"NCBIGene:140459\"\n   \"HGNC:10777\"\n   \"UMLS:C1423930\"\n   \"HGNC:15573\"\n   \"UniProtKB:Q08345\"\n   \"ENSEMBL:ENSG00000156466\"\n   \"PR:Q9H6S3\"\n   \"ENSEMBL:ENSG00000134470\"\n   \"PR:Q9BWQ8\"\n   \"ENSEMBL:ENSG00000102678\"\n   \"HGNC:19989\"\n   \"NCBIGene:115704\"\n   \"PR:Q9Y6X0\"\n   \"HGNC:14615\"\n   \"NCBIGene:83786\"\n   \"HGNC:6207\"\n   \"NCBIGene:149345\"\n   \"UniProtKB:P00387\"\n   \"HGNC:16089\"\n   \"HGNC:3153\"\n   \"PR:Q7L4E1\"\n   \"UMLS:C1412101\"\n   \"NCBIGene:55616\"\n   \"HGNC:33522\"\n   \"HGNC:1073\"\n   \"HGNC:21574\"\n   \"HGNC:3225\"\n   \"ENSEMBL:ENSG00000126561\"\n   \"HGNC:10727\"\n   \"ENSEMBL:ENSG00000156427\"\n   \"PR:Q15569\"\n   \"PR:Q9H0X4\"\n   \"ENSEMBL:ENSG00000049239\"\n   \"PR:Q9NX95\"\n   \"HGNC:19975\"\n   \"ENSEMBL:ENSG00000041880\"\n   \"NCBIGene:215\"\n   \"NCBIGene:79581\"\n   \"PR:O95865\"\n   \"NCBIGene:1047\"\n   \"ENSEMBL:ENSG00000100300\"\n   \"PR:Q14318\"\n   \"ENSEMBL:ENSG00000102265\"\n   \"NCBIGene:8434\"\n   \"UniProtKB:O14640\"\n   \"PR:O95479\"\n   \"PR:P51553\"\n   \"NCBIGene:10060\"\n   \"ENSEMBL:ENSG00000233076\"\n   \"UniProtKB:Q15569\"\n   \"PR:O95965\"\n   \"ENSEMBL:ENSG00000169692\"\n   \"UniProtKB:Q9UI17\"\n   \"UniProtKB:Q8N413\"\n   \"PR:Q5D1E8\"\n   \"ENSEMBL:ENSG00000275246\"\n   \"UniProtKB:Q66K74\"\n   \"HGNC:11321\"\n   \"HGNC:17181\"\n   \"UniProtKB:Q9BV38\"\n   \"ENSEMBL:ENSG00000104976\"\n   \"HGNC:30247\"\n   \"PR:Q9ULP0\"\n   \"UniProtKB:O75056\"\n   \"ENSEMBL:ENSG00000129103\"\n   \"PR:P52803\"\n   \"UniProtKB:Q16774\"\n   \"NCBIGene:718\"\n   \"ENSEMBL:ENSG00000127191\"\n   \"HGNC:13447\"\n   \"ENSEMBL:ENSG00000148343\"\n   \"PR:O95372\"\n   \"PR:Q9BX70\"\n   \"HGNC:23618\"\n   \"NCBIGene:392255\"\n   \"UMLS:C1415897\"\n   \"NCBIGene:392\"\n   \"UniProtKB:Q15743\"\n   \"HGNC:18838\"\n   \"NCBIGene:84895\"\n   \"PR:Q92900\"\n   \"NCBIGene:64847\"\n   \"HGNC:24114\"\n   \"UniProtKB:P23142\"\n   \"ENSEMBL:ENSG00000185803\"\n   \"PR:P78537\"\n   \"NCBIGene:9961\"\n   \"HGNC:9192\"\n   \"PR:P10620\"\n   \"UniProtKB:Q9BWQ8\"\n   \"UniProtKB:Q9P2D7\"\n   \"ENSEMBL:ENSG00000164081\"\n   \"HGNC:4446\"\n   \"UniProtKB:Q9UBX5\"\n   \"NCBIGene:81621\"\n   \"NCBIGene:9723\"\n   \"HGNC:3756\"\n   \"UniProtKB:Q8WTR4\"\n   \"UMLS:C1420468\"\n   \"UMLS:C1416944\"\n   \"UMLS:C1418194\"\n   \"PR:Q96MT3\"\n   \"ENSEMBL:ENSG00000276230\"\n   \"NCBIGene:51148\"\n   \"HGNC:3685\"\n   \"NCBIGene:60676\"\n   \"NCBIGene:23564\"\n   \"NCBIGene:55223\"\n   \"HGNC:4449\"\n   \"UMLS:C1825943\"\n   \"UniProtKB:O14967\"\n   \"NCBIGene:51042\"\n   \"ENSEMBL:ENSG00000241945\"\n   \"UniProtKB:Q5T0Z8\"\n   \"UniProtKB:O95466\"\n   \"UniProtKB:Q99704\"\n   \"UniProtKB:P98160\"\n   \"ENSEMBL:ENSG00000035664\"\n   \"ENSEMBL:ENSG00000178031\"\n   \"PR:P28358\"\n   \"NCBIGene:10188\"\n   \"UMLS:C1823600\"\n   \"NCBIGene:6305\"\n   \"UMLS:C1413623\"\n   \"UMLS:C1422106\"\n   \"PR:P11274\"\n   \"ENSEMBL:ENSG00000119714\"\n   \"PR:Q9NR80\"\n   \"HGNC:28299\"\n   \"UniProtKB:Q6ZMW3\"\n   \"UniProtKB:O00391\"\n   \"UMLS:C1425202\"\n   \"UniProtKB:P09211\"\n   \"ENSEMBL:ENSG00000282825\"\n   \"ENSEMBL:ENSG00000101152\"\n   \"NCBIGene:126321\"\n   \"ENSEMBL:ENSG00000261221\"\n   \"PR:Q96F05\"\n   \"HGNC:8740\"\n   \"HGNC:21023\"\n   \"HGNC:23133\"\n   \"PR:Q6NV75\"\n   \"UniProtKB:Q8TDB4\"\n   \"UMLS:C1414058\"\n   \"PR:Q9UBI4\"\n   \"HGNC:15715\"\n   \"NCBIGene:84171\"\n   \"PR:P27487\"\n   \"UniProtKB:O00488\"\n   \"HGNC:11509\"\n   \"UniProtKB:Q96FX7\"\n   \"HGNC:17171\"\n   \"NCBIGene:3237\"\n   \"HGNC:9353\"\n   \"ENSEMBL:ENSG00000275338\"\n   \"PR:P32119\"\n   \"PR:Q8N6K7\"\n   \"UniProtKB:P37837\"\n   \"HGNC:2716\"\n   \"HGNC:17019\"\n   \"UMLS:C1335625\"\n   \"PR:Q07507\"\n   \"HGNC:7567\"\n   \"NCBIGene:3421\"\n   \"UniProtKB:Q9H2H9\"\n   \"UMLS:C1538712\"\n   \"NCBIGene:23207\"\n   \"HGNC:14987\"\n   \"UniProtKB:Q8IV08\"\n   \"HGNC:29191\"\n   \"PR:O15120\"\n   \"ENSEMBL:ENSG00000143369\"\n   \"ENSEMBL:ENSG00000100284\"\n   \"UniProtKB:O60706\"\n   \"ENSEMBL:ENSG00000197226\"\n   \"ENSEMBL:ENSG00000160323\"\n   \"UMLS:C1423010\"\n   \"UMLS:C1538324\"\n   \"HGNC:20371\"\n   \"PR:P17342\"\n   \"ENSEMBL:ENSG00000079841\"\n   \"UniProtKB:Q96MT3\"\n   \"PR:A6NGC4\"\n   \"ENSEMBL:ENSG00000168528\"\n   \"UMLS:C1424802\"\n   \"NCBIGene:53905\"\n   \"NCBIGene:57407\"\n   \"PR:Q04725\"\n   \"ENSEMBL:ENSG00000064042\"\n   \"NCBIGene:2767\"\n   \"ENSEMBL:ENSG00000107223\"\n   \"ENSEMBL:ENSG00000164483\"\n   \"NCBIGene:114801\"\n   \"HGNC:175\"\n   \"UMLS:C1428224\"\n   \"UniProtKB:Q9BZV1\"\n   \"ENSEMBL:LRG_870\"\n   \"HGNC:10776\"\n   \"ENSEMBL:ENSG00000007237\"\n   \"PR:Q14938\"\n   \"UMLS:C1413268\"\n   \"UniProtKB:Q9BXF6\"\n   \"NCBIGene:682\"\n   \"PR:O94844\"\n   \"UniProtKB:A4D1B5\"\n   \"ENSEMBL:ENSG00000123143\"\n   \"ENSEMBL:ENSG00000197614\"\n   \"NCBIGene:56904\"\n   \"NCBIGene:5976\"\n   \"ENSEMBL:ENSG00000133243\"\n   \"NCBIGene:50649\"\n   \"NCBIGene:3984\"\n   \"PR:O95782\"\n   \"NCBIGene:6618\"\n   \"ENSEMBL:ENSG00000107738\"\n   \"PR:Q9NZV8\"\n   \"UniProtKB:O75154\"\n   \"NCBIGene:94\"\n   \"UMLS:C1333348\"\n   \"NCBIGene:8692\"\n   \"UniProtKB:O43581\"\n   \"HGNC:18083\"\n   \"PR:Q9BRK3\"\n   \"ENSEMBL:ENSG00000172890\"\n   \"NCBIGene:400954\"\n   \"PR:P23142\"\n   \"NCBIGene:2987\"\n   \"HGNC:2475\"\n   \"UniProtKB:P41227\"\n   \"HGNC:3121\"\n   \"NCBIGene:1384\"\n   \"PR:Q4LDE5\"\n   \"UniProtKB:Q8N4C8\"\n   \"NCBIGene:64787\"\n   \"ENSEMBL:ENSG00000176248\"\n   \"ENSEMBL:ENSG00000042493\"\n   \"HGNC:20620\"\n   \"HGNC:15504\"\n   \"NCBIGene:10791\"\n   \"UMLS:C1416599\"\n   \"UniProtKB:P83110\"\n   \"HGNC:17858\"\n   \"UMLS:C1335875\"\n   \"HGNC:25462\"\n   \"PR:Q9H0R3\"\n   \"NCBIGene:10580\"\n   \"NCBIGene:80700\"\n   \"PR:Q13487\"\n   \"NCBIGene:56834\"\n   \"ENSEMBL:ENSG00000278788\"\n   \"HGNC:4057\"\n   \"NCBIGene:5324\"\n   \"HGNC:6522\"\n   \"UniProtKB:Q13487\"\n   \"UniProtKB:Q76M96\"\n   \"HGNC:29372\"\n   \"ENSEMBL:ENSG00000139178\"\n   \"HGNC:11514\"\n   \"ENSEMBL:ENSG00000110717\"\n   \"PR:Q96KG9\"\n   \"UMLS:C1853361\"\n   \"PR:P01034\"\n   \"HGNC:17175\"\n   \"PR:O95136\"\n   \"HGNC:9711\"\n   \"UniProtKB:Q5JTB6\"\n   \"UniProtKB:Q9H0R3\"\n   \"HGNC:2586\"\n   \"ENSEMBL:ENSG00000165092\"\n   \"PR:Q8TD43\"\n   \"PR:Q9UPX8\"\n   \"NCBIGene:84709\"\n   \"PR:Q9H3H3\"\n   \"ENSEMBL:ENSG00000183098\"\n   \"HGNC:29213\"\n   \"ENSEMBL:ENSG00000137463\"\n   \"UMLS:C1418591\"\n   \"NCBIGene:8817\"\n   \"NCBIGene:92\"\n   \"UniProtKB:P04216\"\n   \"NCBIGene:9424\"\n   \"PR:Q9BSB4\"\n   \"UniProtKB:Q6DJT9\"\n   \"HGNC:5386\"\n   \"NCBIGene:57104\"\n   \"HGNC:11135\"\n   \"NCBIGene:10555\"\n   \"UniProtKB:Q13813\"\n   \"HGNC:11820\"\n   \"NCBIGene:10043\"\n   \"PR:O75508\"\n   \"PR:Q9P2E7\"\n   \"UniProtKB:P0CJ78\"\n   \"HGNC:21679\"\n   \"UniProtKB:Q6QNK2\"\n   \"NCBIGene:2817\"\n   \"ENSEMBL:ENSG00000177700\"\n   \"PR:O14967\"\n   \"NCBIGene:93986\"\n   \"UMLS:C1825628\"\n   \"NCBIGene:9811\"\n   \"PR:P85299\"\n   \"UMLS:C1413108\"\n   \"NCBIGene:5585\"\n   \"UniProtKB:Q03169\"\n   \"PR:P21781\"\n   \"UniProtKB:Q9H3U1\"\n   \"PR:A4D1B5\"\n   \"UniProtKB:Q8N5Z5\"\n   \"NCBIGene:29\"\n   \"UniProtKB:Q8N6G6\"\n   \"UniProtKB:Q9Y257\"\n   \"PR:Q63HM1\"\n   \"PR:Q86Y39\"\n   \"PR:Q9HD42\"\n   \"HGNC:17916\"\n   \"PR:O95183\"\n   \"ENSEMBL:ENSG00000146072\"\n   \"HGNC:8918\"\n   \"ENSEMBL:ENSG00000284137\"\n   \"PR:Q96H72\"\n   \"ENSEMBL:ENSG00000121361\"\n   \"PR:O00213\"\n   \"ENSEMBL:ENSG00000099337\"\n   \"PR:Q14764\"\n   \"HGNC:17379\"\n   \"UniProtKB:Q6NTF9\"\n   \"PR:Q8TDY4\"\n   \"HGNC:11895\"\n   \"UMLS:C0242957\"\n   \"UMLS:C1539894\"\n   \"UniProtKB:Q12933\"\n   \"ENSEMBL:LRG_1010\"\n   \"ENSEMBL:ENSG00000138650\"\n   \"NCBIGene:322\"\n   \"UniProtKB:P78562\"\n   \"NCBIGene:57175\"\n   \"NCBIGene:55615\"\n   \"NCBIGene:104\"\n   \"NCBIGene:8721\"\n   \"UMLS:C1416501\"\n   \"NCBIGene:1008\"\n   \"HGNC:17956\"\n   \"ENSEMBL:ENSG00000122707\"\n   \"HGNC:14680\"\n   \"NCBIGene:54998\"\n   \"HGNC:673\"\n   \"UMLS:C1420854\"\n   \"NCBIGene:25981\"\n   \"HGNC:14632\"\n   \"PR:Q9UI17\"\n   \"NCBIGene:54518\"\n   \"NCBIGene:6234\"\n   \"UniProtKB:Q9NPR9\"\n   \"HGNC:18181\"\n   \"PR:P10909\"\n   \"PR:P04921\"\n   \"ENSEMBL:ENSG00000145423\"\n   \"UniProtKB:Q15349\"\n   \"HGNC:16940\"\n   \"UniProtKB:Q66K14\"\n   \"NCBIGene:92999\"\n   \"UMLS:C1415880\"\n   \"UniProtKB:P10909\"\n   \"NCBIGene:55784\"\n   \"UniProtKB:Q9H0X4\"\n   \"NCBIGene:9853\"\n   \"PR:P78563\"\n   \"HGNC:11982\"\n   \"ENSEMBL:ENSG00000197381\"\n   \"HGNC:20415\"\n   \"HGNC:14560\"\n   \"PR:Q15198\"\n   \"UMLS:C1413483\"\n   \"ENSEMBL:ENSG00000158555\"\n   \"UMLS:C1414141\"\n   \"HGNC:8514\"\n   \"ENSEMBL:ENSG00000068724\"\n   \"ENSEMBL:ENSG00000233927\"\n   \"NCBIGene:3751\"\n   \"ENSEMBL:ENSG00000282712\"\n   \"UniProtKB:Q63HM1\"\n   \"UMLS:C1415193\"\n   \"UniProtKB:Q99961\"\n   \"HGNC:6858\"\n   \"UniProtKB:P52803\"\n   \"HGNC:16925\"\n   \"NCBIGene:410\"\n   \"PR:Q9P2B2\"\n   \"ENSEMBL:ENSG00000225635\"\n   \"NCBIGene:94103\"\n   \"PR:Q66K74\"\n   \"NCBIGene:84717\"\n   \"HGNC:25363\"\n   \"NCBIGene:3236\"\n   \"ENSEMBL:ENSG00000165915\"\n   \"UMLS:C1418750\"\n   \"UniProtKB:Q86UP3\"\n   \"NCBIGene:2274\"\n   \"PR:Q86VY9\"\n   \"ENSEMBL:ENSG00000040731\"\n   \"PR:Q9BTE0\"\n   \"UniProtKB:Q9C0K1\"\n   \"NCBIGene:8933\"\n   \"NCBIGene:22861\"\n   \"NCBIGene:3300\"\n   \"PR:Q8WUJ3\"\n   \"UMLS:C1334353\"\n   \"NCBIGene:2066\"\n   \"NCBIGene:9322\"\n   \"ENSEMBL:ENSG00000186088\"\n   \"NCBIGene:8260\"\n   \"UniProtKB:Q15842\"\n   \"PR:Q2MKA7\"\n   \"ENSEMBL:ENSG00000160360\"\n   \"ENSEMBL:ENSG00000104881\"\n   \"ENSEMBL:ENSG00000062282\"\n   \"NCBIGene:22807\"\n   \"UniProtKB:O60245\"\n   \"NCBIGene:54103\"\n   \"NCBIGene:5441\"\n   \"HGNC:14466\"\n   \"ENSEMBL:ENSG00000130706\"\n   \"PR:O14640\"\n   \"HGNC:2597\"\n   \"HGNC:1116\"\n   \"ENSEMBL:LRG_992\"\n   \"UniProtKB:Q92529\"\n   \"ENSEMBL:ENSG00000008441\"\n   \"ENSEMBL:ENSG00000102174\"\n   \"UniProtKB:P78563\"\n   \"ENSEMBL:ENSG00000136002\"\n   \"NCBIGene:10169\"\n   \"PR:A0AVI4\"\n   \"UniProtKB:Q9NWT8\"\n   \"UMLS:C2680379\"\n   \"PR:Q8IWE5\"\n   \"PR:Q9NS15\"\n   \"NCBIGene:8076\"\n   \"HGNC:17565\"\n   \"NCBIGene:6237\"\n   \"ENSEMBL:ENSG00000177697\"\n   \"NCBIGene:84649\"\n   \"PR:Q99704\"\n   \"UniProtKB:O95631\"\n   \"UniProtKB:P78537\"\n   \"UniProtKB:P21980\"\n   \"ENSEMBL:LRG_1217\"\n   \"PR:Q12933\"\n   \"HGNC:28801\"\n   \"UMLS:C1416505\"\n   \"PR:Q9UFG5\"\n   \"NCBIGene:27123\"\n   \"HGNC:4277\"\n   \"ENSEMBL:ENSG00000177106\"\n   \"NCBIGene:1946\"\n   \"NCBIGene:208\"\n   \"PR:Q96HD1\"\n   \"PR:P53667\"\n   \"UniProtKB:P53667\"\n   \"ENSEMBL:ENSG00000159842\"\n   \"PR:P37023\"\n   \"HGNC:29097\"\n   \"NCBIGene:55191\"\n   \"PR:Q96P48\"\n   \"PR:Q96N19\"\n   \"UMLS:C1823776\"\n   \"PR:O60869\"\n   \"ENSEMBL:ENSG00000184408\"\n   \"HGNC:8819\"\n   \"ENSEMBL:ENSG00000278741\"\n   \"ENSEMBL:ENSG00000169218\"\n   \"HGNC:7033\"\n   \"UMLS:C1413907\"\n   \"ENSEMBL:ENSG00000167671\"\n   \"HGNC:17829\"\n   \"PR:Q9UBX5\"\n   \"HGNC:23621\"\n   \"PR:Q9H0U4\"\n   \"UMLS:C1423535\"\n   \"UMLS:C1135159\"\n   \"UniProtKB:P01033\"\n   \"PR:P15502\"\n   \"NCBIGene:6748\"\n   \"UniProtKB:Q8NBJ7\"\n   \"PR:O75901\"\n   \"PR:Q86UP3\"\n   \"UniProtKB:Q96KG9\"\n   \"NCBIGene:10039\"\n   \"NCBIGene:8618\"\n   \"ENSEMBL:ENSG00000139567\"\n   \"ENSEMBL:ENSG00000082781\"\n   \"HGNC:14928\"\n   \"UMLS:C2240105\"\n   \"ENSEMBL:ENSG00000013297\"\n   \"NCBIGene:1855\"\n   \"ENSEMBL:LRG_401\"\n   \"HGNC:11867\"\n   \"UniProtKB:O00217\"\n   \"UMLS:C1412873\"\n   \"ENSEMBL:ENSG00000278032\"\n   \"HGNC:22229\"\n   \"UniProtKB:Q9NW07\"\n   \"UMLS:C1823521\"\n   \"UniProtKB:Q9P2E7\"\n   \"UMLS:C1413940\"\n   \"PR:Q9UKX2\"\n   \"UMLS:C1412530\"\n   \"UniProtKB:P21579\"\n   \"PR:Q96HF1\"\n   \"NCBIGene:7376\"\n   \"NCBIGene:23061\"\n   \"UMLS:C1417133\"\n   \"ENSEMBL:ENSG00000128591\"\n   \"ENSEMBL:ENSG00000121743\"\n   \"ENSEMBL:ENSG00000186654\"\n   \"HGNC:10913\"\n   \"UniProtKB:Q9UKX5\"\n   \"NCBIGene:81544\"\n   \"HGNC:7044\"\n   \"ENSEMBL:ENSG00000142186\"\n   \"UniProtKB:Q9NX95\"\n   \"UMLS:C1414252\"\n   \"UniProtKB:P10301\"\n   \"ENSEMBL:ENSG00000008394\"\n   \"UniProtKB:Q96JB6\"\n   \"PR:P13489\"\n   \"PR:P31751\"\n   \"PR:Q8N474\"\n   \"HGNC:7211\"\n   \"NCBIGene:27242\"\n   \"NCBIGene:55898\"\n   \"PR:O43581\"\n   \"ENSEMBL:ENSG00000113389\"\n   \"NCBIGene:125061\"\n   \"UniProtKB:Q9Y6N8\"\n   \"HGNC:2873\"\n   \"UMLS:C1416387\"\n   \"NCBIGene:29958\"\n   \"NCBIGene:8522\"\n   \"NCBIGene:7461\"\n   \"UniProtKB:P25686\"\n   \"UMLS:C1412441\"\n   \"ENSEMBL:ENSG00000164176\"\n   \"UMLS:C1826353\"\n   \"NCBIGene:3339\"\n   \"HGNC:6628\"\n   \"UniProtKB:Q96JE9\"\n   \"UMLS:C1418880\"\n   \"PR:Q12891\"\n   \"UMLS:C1332427\"\n   \"HGNC:2892\"\n   \"UMLS:C1826343\"\n   \"NCBIGene:10868\"\n   \"PR:Q8IZV5\"\n   \"NCBIGene:26151\"\n   \"HGNC:6716\"\n   \"ENSEMBL:ENSG00000030419\"\n   \"NCBIGene:105372824\"\n   \"PR:Q9UHL4\"\n   \"UMLS:C1537465\"\n   \"ENSEMBL:ENSG00000186716\"\n   \"UMLS:C1421999\"\n   \"HGNC:4242\"\n   \"PR:Q16678\"\n   \"HGNC:13613\"\n   \"ENSEMBL:ENSG00000099817\"\n   \"NCBIGene:64115\"\n   \"ENSEMBL:ENSG00000141985\"\n   \"UniProtKB:Q9UG56\"\n   \"HGNC:7572\"\n   \"PR:Q96DD7\"\n   \"UMLS:C1413514\"\n   \"PR:H0YL14\"\n   \"PR:O60706\"\n   \"UniProtKB:Q14192\"\n   \"NCBIGene:5738\"\n   \"UniProtKB:Q9BX66\"\n   \"ENSEMBL:ENSG00000167118\"\n   \"ENSEMBL:ENSG00000153132\"\n   \"UMLS:C1415826\"\n   \"HGNC:9962\"\n   \"UniProtKB:P03372\"\n   \"UMLS:C1417811\"\n   \"ENSEMBL:ENSG00000100336\"\n   \"UMLS:C1414630\"\n   \"PR:Q8N138\"\n   \"NCBIGene:3764\"\n   \"HGNC:26194\"\n   \"HGNC:3173\"\n   \"UMLS:C1539950\"\n   \"HGNC:5273\"\n   \"PR:Q9BZV1\"\n   \"PR:Q5T0Z8\"\n   \"UMLS:C1824334\"\n   \"UniProtKB:Q96RN5\"\n   \"UniProtKB:Q9NZP8\"\n   \"NCBIGene:94031\"\n   \"PR:O14817\"\n   \"UniProtKB:Q16186\"\n   \"UniProtKB:O60784\"\n   \"UMLS:C1706636\"\n   \"ENSEMBL:ENSG00000175756\"\n   \"PR:Q96FX7\"\n   \"PR:Q13813\"\n   \"UniProtKB:Q9UEE5\"\n   \"ENSEMBL:ENSG00000170381\"\n   \"ENSEMBL:ENSG00000129465\"\n   \"UniProtKB:O60331\"\n   \"ENSEMBL:ENSG00000091592\"\n   \"HGNC:2253\"\n   \"HGNC:3724\"\n   \"UniProtKB:O95372\"\n   \"UniProtKB:Q9ULU8\"\n   \"ENSEMBL:ENSG00000197694\"\n   \"ENSEMBL:ENSG00000120885\"\n   \"NCBIGene:26040\"\n   \"ENSEMBL:ENSG00000106665\"\n   \"PR:Q4LEZ3\"\n   \"UniProtKB:Q15303\"\n   \"HGNC:30224\"\n   \"PR:Q9UG56\"\n   \"ENSEMBL:ENSG00000137857\"\n   \"UniProtKB:A6ZKI3\"\n   \"HGNC:29969\"\n   \"UniProtKB:Q96I82\"\n   \"UMLS:C1415367\"\n   \"UniProtKB:Q9GZM5\"\n   \"ENSEMBL:ENSG00000100243\"\n   \"UniProtKB:P48509\"\n   \"UMLS:C1416871\"\n   \"ENSEMBL:ENSG00000155011\"\n   \"PR:P22004\"\n   \"ENSEMBL:ENSG00000132357\"\n   \"NCBIGene:85449\"\n   \"PR:P98160\"\n   \"UMLS:C1539370\"\n   \"HGNC:936\"\n   \"PR:Q08345\"\n   \"ENSEMBL:ENSG00000128713\"\n   \"UniProtKB:Q8IV56\"\n   \"PR:O43805\"\n   \"HGNC:10830\"\n   \"PR:Q6DN12\"\n   \"ENSEMBL:ENSG00000184922\"\n   \"ENSEMBL:ENSG00000131899\"\n   \"NCBIGene:977\"\n   \"UMLS:C2239463\"\n   \"HGNC:1757\"\n   \"HGNC:2060\"\n   \"NCBIGene:5119\"\n   \"NCBIGene:8572\"\n   \"NCBIGene:7070\"\n   \"ENSEMBL:ENSG00000131408\"\n   \"ENSEMBL:ENSG00000102030\"\n   \"PR:Q9GZM5\"\n   \"ENSEMBL:ENSG00000163703\"\n   \"PR:P43155\"\n   \"NCBIGene:57085\"\n   \"PR:Q8N394\"\n   \"UniProtKB:Q5JYT7\"\n   \"HGNC:5228\"\n   \"NCBIGene:3693\"\n   \"UMLS:C1823603\"\n   \"UniProtKB:Q9C000\"\n   \"HGNC:11273\"\n   \"UMLS:C3470119\"\n   \"PR:P60033\"\n   \"HGNC:30349\"\n   \"ENSEMBL:ENSG00000049540\"\n   \"ENSEMBL:ENSG00000143774\"\n   \"HGNC:17923\"\n   \"UMLS:C1418491\"\n   \"HGNC:61\"\n   \"PR:O95248\"\n   \"PR:Q86YR5\"\n   \"ENSEMBL:ENSG00000161091\"\n   \"ENSEMBL:ENSG00000138193\"\n   \"UMLS:C1422760\"\n   \"UniProtKB:Q6IA69\"\n   \"NCBIGene:1796\"\n   \"NCBIGene:4237\"\n   \"UniProtKB:Q9NZK5\"\n   \"PR:P00387\"\n   \"PR:Q9NRD9\"\n   \"NCBIGene:1877\"\n   \"UniProtKB:Q8WTX9\"\n   \"UMLS:C0919507\"\n   \"ENSEMBL:ENSG00000177674\"\n   \"NCBIGene:9727\"\n   \"PR:Q16186\"\n   \"ENSEMBL:ENSG00000170801\"\n   \"UniProtKB:Q02818\"\n   \"PR:P33897\"\n   \"ENSEMBL:ENSG00000126391\"\n   \"UniProtKB:Q9BZ67\"\n   \"NCBIGene:25870\"\n   \"ENSEMBL:ENSG00000213722\"\n   \"UniProtKB:O95980\"\n   \"NCBIGene:4245\"\n   \"ENSEMBL:ENSG00000223680\"\n   \"NCBIGene:7016\"\n   \"PR:Q9Y6F1\"\n   \"PR:O95967\"\n   \"HGNC:6613\"\n   \"PR:Q16610\"\n   \"ENSEMBL:ENSG00000119559\"\n   \"ENSEMBL:ENSG00000088280\"\n   \"UMLS:C1420688\"\n   \"NCBIGene:6422\"\n   \"UMLS:C1424245\"\n   \"ENSEMBL:ENSG00000163618\"\n   \"PR:Q8N2Q7\"\n   \"UMLS:C1417145\"\n   \"UniProtKB:Q16610\"\n   \"ENSEMBL:ENSG00000226634\"\n   \"UniProtKB:Q9Y6I9\"\n   \"ENSEMBL:ENSG00000284400\"\n   \"PR:O00391\"\n   \"UniProtKB:P10589\"\n   \"NCBIGene:283130\"\n   \"UniProtKB:Q96P48\"\n   \"PR:Q15334\"\n   \"ENSEMBL:ENSG00000135441\"\n   \"ENSEMBL:ENSG00000109061\"\n   \"HGNC:1158\"\n   \"ENSEMBL:ENSG00000065320\"\n   \"UniProtKB:Q16512\"\n   \"HGNC:6281\"\n   \"UMLS:C1825595\"\n   \"UniProtKB:P30536\"\n   \"PR:O00764\"\n   \"ENSEMBL:LRG_1150\"\n   \"HGNC:3062\"\n   \"NCBIGene:5434\"\n   \"UniProtKB:Q9BRK5\"\n   \"UniProtKB:Q6NUT3\"\n   \"UniProtKB:Q9H0U4\"\n   \"PR:Q03169\"\n   \"ENSEMBL:ENSG00000159069\"\n   \"ENSEMBL:ENSG00000138131\"\n   \"ENSEMBL:ENSG00000077420\"\n   \"HGNC:6269\"\n   \"NCBIGene:10522\"\n   \"PR:Q9P212\"\n   \"HGNC:14374\"\n   \"UniProtKB:P22004\"\n   \"NCBIGene:4924\"\n   \"UMLS:C1537393\"\n   \"ENSEMBL:LRG_1323\"\n   \"NCBIGene:654\"\n   \"NCBIGene:2252\"\n   \"HGNC:5413\"\n   \"HGNC:26125\"\n   \"NCBIGene:222171\"\n   \"UMLS:C1538766\"\n   \"PR:Q15303\"\n   \"UniProtKB:O43292\"\n   \"HGNC:3674\"\n   \"UniProtKB:Q9ULP0\"\n   \"HGNC:9003\"\n   \"HGNC:8999\"\n   \"NCBIGene:23646\"\n   \"HGNC:17224\"\n   \"UniProtKB:Q9Y6F1\"\n   \"UniProtKB:Q9NQX5\"\n   \"ENSEMBL:ENSG00000159714\"\n   \"HGNC:18738\"\n   \"PR:Q9NZP8\"\n   \"HGNC:13585\"\n   \"UniProtKB:P01024\"\n   \"HGNC:4693\"\n   \"UniProtKB:Q8TD43\"\n   \"HGNC:25137\"\n   \"PR:P12931\"\n   \"HGNC:4704\"\n   \"NCBIGene:56927\"\n   \"PR:P42229\"\n   \"ENSEMBL:ENSG00000130529\"\n   \"UniProtKB:Q9UP95\"\n   \"UMLS:C1417022\"\n   \"UMLS:C1428164\"\n   \"ENSEMBL:ENSG00000168056\"\n   \"PR:P09211\"\n   \"ENSEMBL:ENSG00000167967\"\n   \"ENSEMBL:ENSG00000197635\"\n   \"PR:Q8TB22\"\n   \"ENSEMBL:ENSG00000148082\"\n   \"ENSEMBL:ENSG00000198113\"\n   \"PR:Q641Q3\"\n   \"NCBIGene:6709\"\n   \"PR:O95760\"\n   \"UniProtKB:P27037\"\n   \"HGNC:30802\"\n   \"HGNC:7899\"\n   \"NCBIGene:9886\"\n   \"UniProtKB:Q8N138\"\n   \"UniProtKB:Q9BX70\"\n   \"ENSEMBL:ENSG00000110651\"\n   \"HGNC:4200\"\n   \"NCBIGene:1475\"\n   \"UMLS:C1823913\"\n   \"UMLS:C1423694\"\n   \"NCBIGene:22941\"\n   \"UniProtKB:Q96PD7\"\n   \"NCBIGene:388121\"\n   \"ENSEMBL:ENSG00000234078\"\n   \"ENSEMBL:ENSG00000198853\"\n   \"ENSEMBL:ENSG00000177030\"\n   \"PR:O95466\"\n   \"UMLS:C1417217\"\n   \"HGNC:3600\"\n   \"PR:Q08289\"\n   \"UMLS:C1969051\"\n   \"UniProtKB:Q9NRD1\"\n   \"ENSEMBL:ENSG00000011009\"\n   \"UniProtKB:Q9H3Z4\"\n   \"NCBIGene:1805\"\n   \"ENSEMBL:ENSG00000128710\"\n   \"ENSEMBL:ENSG00000005882\"\n   \"HGNC:3703\"\n   \"ENSEMBL:ENSG00000145526\"\n   \"ENSEMBL:ENSG00000171533\"\n   \"ENSEMBL:ENSG00000177156\"\n   \"UMLS:C1419112\"\n   \"UMLS:C1823091\"\n   \"HGNC:27442\"\n   \"ENSEMBL:ENSG00000105221\"\n   \"PR:Q8TDB4\"\n   \"HGNC:7542\"\n   \"UniProtKB:Q96H72\"\n   \"PR:O60245\"\n   \"NCBIGene:29952\"\n   \"UMLS:C1420029\"\n   \"PR:P50479\"\n   \"UniProtKB:P62875\"\n   \"PR:P83110\"\n   \"PR:Q9H3Z4\"\n   \"ENSEMBL:ENSG00000174886\"\n   \"PR:Q6NUT3\"\n   \"NCBIGene:1545\"\n   \"UniProtKB:O43310\"\n   \"HGNC:20859\"\n   \"NCBIGene:100507290\"\n   \"ENSEMBL:ENSG00000153162\"\n   \"UniProtKB:Q641Q3\"\n   \"HGNC:2095\"\n   \"PR:P12882\"\n   \"ENSEMBL:ENSG00000267534\"\n   \"ENSEMBL:ENSG00000110697\"\n   \"UniProtKB:P62857\"\n   \"PR:Q15349\"\n   \"ENSEMBL:ENSG00000275031\"\n   \"UniProtKB:Q96AD5\"\n   \"UMLS:C1420093\"\n   \"PR:Q9Y6H8\"\n   \"NCBIGene:613\"\n   \"ENSEMBL:ENSG00000167674\"\n   \"UniProtKB:P00352\"\n   \"ENSEMBL:ENSG00000276016\"\n   \"PR:Q12979\"\n   \"ENSEMBL:ENSG00000127329\"\n   \"PR:Q96RN5\"\n   \"ENSEMBL:ENSG00000140092\"\n   \"ENSEMBL:ENSG00000116663\"\n   \"NCBIGene:10424\"\n   \"UniProtKB:A0AVI4\"\n   \"NCBIGene:11035\"\n   \"ENSEMBL:ENSG00000013364\"\n   \"UniProtKB:Q9UBI4\"\n   \"PR:P11413\"\n   \"ENSEMBL:LRG_544\"\n   \"ENSEMBL:ENSG00000114853\"\n   \"ENSEMBL:ENSG00000091831\"\n   \"PR:P21980\"\n   \"NCBIGene:9182\"\n   \"NCBIGene:9066\"\n   \"UMLS:C1422006\"\n   \"NCBIGene:4619\"\n   \"UniProtKB:O75901\"\n   \"ENSEMBL:ENSG00000084207\"\n   \"HGNC:16235\"\n   \"UniProtKB:P33897\"\n   \"UniProtKB:Q2TAZ0\"\n   \"HGNC:16501\"\n   \"NCBIGene:10082\"\n   \"HGNC:273\"\n   \"HGNC:28378\"\n   \"HGNC:13404\"\n   \"UMLS:C1822680\"\n   \"HGNC:25440\"\n   \"ENSEMBL:ENSG00000095321\"\n   \"HGNC:325\"\n   \"NCBIGene:23604\"\n   \"ENSEMBL:ENSG00000144339\"\n   \"NCBIGene:1727\"\n   \"HGNC:23625\"\n   \"ENSEMBL:ENSG00000136732\"\n   \"PR:Q9BRK5\"\n   \"UniProtKB:O94844\"\n   \"ENSEMBL:ENSG00000091986\"\n   \"HGNC:7975\"\n   \"NCBIGene:54795\"\n   \"UniProtKB:Q9NZV8\"\n   \"HGNC:6238\"\n   \"ENSEMBL:ENSG00000171067\"\n   \"UniProtKB:Q6NV75\"\n   \"NCBIGene:171568\"\n   \"UMLS:C1414143\"\n   \"HGNC:25705\"\n   \"ENSEMBL:ENSG00000111371\"\n   \"UniProtKB:P31371\"\n   \"HGNC:20397\"\n   \"PR:Q8WUF5\"\n   \"UMLS:C1823459\"\n   \"UniProtKB:Q86YR5\"\n   \"UniProtKB:P12931\"\n   \"PR:Q8N5Z5\"\n   \"UniProtKB:Q8N474\"\n   \"UniProtKB:O76093\"\n   \"PR:Q9BX69\"\n   \"UMLS:C1412459\"\n   \"UniProtKB:Q15198\"\n   \"PR:Q96SA4\"\n   \"NCBIGene:84065\"\n   \"HGNC:22310\"\n   \"ENSEMBL:ENSG00000106683\"\n   \"HGNC:24188\"\n   \"PR:P0CJ78\"\n   \"UniProtKB:Q9BPW4\"\n   \"UMLS:C1822616\"\n   \"UniProtKB:P23467\"\n   \"PR:P01033\"\n   \"UMLS:C1422803\"\n   \"UniProtKB:Q96F45\"\n   \"ENSEMBL:LRG_1018\"\n   \"PR:P18084\"\n   \"ENSEMBL:ENSG00000140285\"\n   \"HGNC:581\"\n   \"UniProtKB:P37023\"\n   \"HGNC:11366\"\n   \"PR:Q86UR5\"\n   \"PR:Q9H7M9\"\n   \"HGNC:12304\"\n   \"ENSEMBL:ENSG00000197122\"\n   \"ENSEMBL:ENSG00000114841\"\n   \"NCBIGene:10516\"\n   \"ENSEMBL:ENSG00000138821\"\n   \"ENSEMBL:ENSG00000006282\"\n   \"UniProtKB:P05019\"\n   \"PR:Q6RW13\"\n   \"UniProtKB:P26572\"\n   \"NCBIGene:57414\"\n   \"PR:Q9BR76\"\n   \"NCBIGene:9399\"\n   \"UniProtKB:Q9Y6X0\"\n   \"NCBIGene:1471\"\n   \"UMLS:C1419987\"\n   \"PR:O95980\"\n   \"PR:O00562\"\n   \"UniProtKB:Q9HAB3\"\n   \"PR:Q13361\"\n   \"HGNC:30939\"\n   \"ENSEMBL:ENSG00000115641\"\n   \"ENSEMBL:ENSG00000131446\"\n   \"HGNC:27139\"\n   \"UniProtKB:Q9UHL4\"\n   \"PR:Q66K89\"\n   \"NCBIGene:6560\"\n   \"HGNC:2730\"\n   \"UniProtKB:Q9UDT6\"\n   \"UMLS:C1414179\"\n   \"UniProtKB:H0YL14\"\n   \"HGNC:392\"\n   \"NCBIGene:4330\"\n   \"HGNC:11326\"\n   \"ENSEMBL:LRG_723\"\n   \"UniProtKB:O95965\"\n   \"PR:Q8N4C8\"\n   \"UniProtKB:O43805\"\n   \"ENSEMBL:ENSG00000164040\"\n   \"PR:Q92982\"\n   \"UMLS:C1417874\"\n   \"HGNC:31682\"\n   \"UniProtKB:O95967\"\n   \"PR:Q8N8U9\"\n   \"ENSEMBL:ENSG00000176978\"\n   \"UniProtKB:Q14318\"\n   \"HGNC:30085\"\n   \"UniProtKB:O15255\"\n   \"HGNC:1630\"\n   \"UMLS:C2680471\"\n   \"ENSEMBL:ENSG00000172638\"\n   \"ENSEMBL:ENSG00000067829\"\n   \"ENSEMBL:ENSG00000185561\"\n   \"UMLS:C0812385\"\n   \"ENSEMBL:ENSG00000061938\"\n   \"PR:O95631\"\n   \"UMLS:C2681227\"\n   \"PR:O75398\"\n   \"UMLS:C1412216\"\n   \"HGNC:1701\"\n   \"NCBIGene:90865\"\n   \"PR:Q76LX8\"\n   \"ENSEMBL:ENSG00000185359\"\n   \"UniProtKB:P10620\"\n   \"ENSEMBL:ENSG00000116260\"\n   \"ENSEMBL:ENSG00000140553\"\n   \"ENSEMBL:ENSG00000134247\"\n   \"PR:Q5JTB6\"\n   \"HGNC:19954\"\n   \"PR:Q9UJX6\"\n   \"NCBIGene:4257\"\n   \"ENSEMBL:ENSG00000162105\"\n   \"UMLS:C1823598\"\n   \"HGNC:19297\"\n   \"HGNC:27584\"\n   \"PR:Q9ULT0\"\n   \"HGNC:3602\"\n   \"UMLS:C1425479\"\n   \"HGNC:7531\"\n   \"UMLS:C1825141\"\n   \"NCBIGene:752\"\n   \"UMLS:C1425748\"\n   \"UMLS:C1423113\"\n   \"HGNC:25574\"\n   \"NCBIGene:57410\"\n   \"NCBIGene:22998\"\n   \"PR:P25686\"\n   \"PR:O00488\"\n   \"UniProtKB:O00213\"\n   \"HGNC:19893\"\n   \"ENSEMBL:ENSG00000169851\"\n   \"HGNC:17993\"\n   \"NCBIGene:4784\"\n   \"NCBIGene:2099\"\n   \"UMLS:C1415685\"\n   \"HGNC:11801\"\n   \"NCBIGene:83986\"\n   \"NCBIGene:4814\"\n   \"PR:000036451\"\n   \"NCBIGene:22999\"\n   \"HGNC:19750\"\n   \"PR:P84101\"\n   \"ENSEMBL:ENSG00000134030\"\n   \"ENSEMBL:ENSG00000123395\"\n   \"PR:P14923\"\n   \"HGNC:23723\"\n   \"UMLS:C1823957\"\n   \"PR:Q9Y257\"\n   \"ENSEMBL:ENSG00000227317\"\n   \"NCBIGene:79873\"\n   \"PR:Q92934\"\n   \"HGNC:10021\"\n   \"HGNC:11838\"\n   \"ENSEMBL:ENSG00000183578\"\n   \"UMLS:C1420798\"\n   \"UniProtKB:Q5GJ75\"\n   \"UniProtKB:Q8WUJ3\"\n   \"PR:Q9UKX5\"\n   \"UMLS:C1426586\"\n   \"UMLS:C1367459\"\n   \"NCBIGene:83638\"\n   \"UniProtKB:A6NGC4\"\n   \"ENSEMBL:ENSG00000198774\"\n   \"PR:Q99961\"\n   \"PR:Q96PD7\"\n   \"NCBIGene:5164\"\n   \"UniProtKB:O95760\"\n   \"NCBIGene:9423\"\n   \"PR:Q16512\"\n   \"PR:Q9H3U1\"\n   \"ENSEMBL:ENSG00000184349\"\n   \"ENSEMBL:ENSG00000068001\"\n   \"HGNC:23925\"\n   \"ENSEMBL:ENSG00000088256\"\n   \"ENSEMBL:ENSG00000138061\"\n   \"HGNC:3432\"\n   \"UniProtKB:P40121\"\n   \"PR:Q9BZ67\"\n   \"ENSEMBL:ENSG00000172725\"\n   \"UMLS:C1538581\"\n   \"NCBIGene:160335\"\n   \"NCBIGene:283383\"\n   \"ENSEMBL:ENSG00000131435\"\n   \"UniProtKB:P19388\"\n   \"UniProtKB:P07093\"\n   \"HGNC:9665\"\n   \"UniProtKB:Q9UIK5\"\n   \"HGNC:7824\"\n   \"HGNC:81\"\n   \"PR:Q9UPQ0\"\n   \"ENSEMBL:ENSG00000100299\"\n   \"PR:Q9Y2G9\"\n   \"PR:Q05932\"\n   \"ENSEMBL:ENSG00000105701\"\n   \"NCBIGene:83637\"\n   \"HGNC:6317\"\n   \"NCBIGene:706\"\n   \"NCBIGene:57217\"\n   \"UniProtKB:Q9P2B2\"\n   \"ENSEMBL:ENSG00000158292\"\n   \"HGNC:14892\"\n   \"UniProtKB:Q05932\"\n   \"NCBIGene:219348\"\n   \"PR:Q9UIK4\"\n   \"UMLS:C1826443\"\n   \"HGNC:8810\"\n   \"UMLS:C1419069\"\n   \"NCBIGene:23414\"\n   \"HGNC:7788\"\n   \"HGNC:8996\"\n   \"HGNC:23082\"\n   \"UMLS:C1822754\"\n   \"HGNC:20862\"\n   \"UMLS:C1424721\"\n   \"ENSEMBL:ENSG00000198816\"\n   \"PR:Q9C0K1\"\n   \"UniProtKB:O43854\"\n   \"HGNC:10660\"\n   \"UMLS:C1424794\"\n   \"ENSEMBL:ENSG00000180879\"\n   \"ENSEMBL:ENSG00000175745\"\n   \"UniProtKB:Q15642\"\n   \"ENSEMBL:ENSG00000116786\"\n   \"UMLS:C1826491\"\n   \"PR:Q8IV56\"\n   \"HGNC:29131\"\n   \"PR:Q13634\"\n   \"PR:Q8N413\"\n   \"UniProtKB:Q15334\"\n   \"NCBIGene:60673\"\n   \"PR:O60784\"\n   \"HGNC:5464\"\n   \"UniProtKB:Q16553\"\n   \"UMLS:C1415047\"\n   \"UMLS:C1423708\"\n   \"PR:Q9UDT6\"\n   \"UMLS:C1824605\"\n   \"NCBIGene:57214\"\n   \"NCBIGene:1016\"\n   \"ENSEMBL:ENSG00000125414\"\n   \"ENSEMBL:ENSG00000241878\"\n   \"UniProtKB:Q9UPX8\"\n   \"ENSEMBL:ENSG00000125733\"\n   \"HGNC:713\"\n   \"HGNC:8805\"\n   \"ENSEMBL:ENSG00000238227\"\n   \"ENSEMBL:ENSG00000104805\"\n   \"UniProtKB:O75508\"\n   \"ENSEMBL:ENSG00000143196\"\n   \"UniProtKB:Q92982\"\n   \"UniProtKB:P17342\"\n   \"UMLS:C1366450\"\n   \"PR:O43310\"\n   \"UniProtKB:O75509\"\n   \"HGNC:1426\"\n   \"ENSEMBL:ENSG00000122515\"\n   \"UMLS:C1412906\"\n   \"NCBIGene:7001\"\n   \"UMLS:C1418293\"\n   \"UniProtKB:Q86UR5\"\n   \"ENSEMBL:ENSG00000166669\"\n   \"UMLS:C1825403\"\n   \"UniProtKB:Q9Y535\"\n   \"UniProtKB:Q96DD7\"\n   \"UMLS:C1418743\"\n   \"NCBIGene:6455\"\n   \"NCBIGene:6776\"\n   \"UMLS:C1538768\"\n   \"NCBIGene:9146\"\n   \"HGNC:14677\"\n   \"HGNC:15759\"\n   \"PR:O43896\"\n   \"NCBIGene:3996\"\n   \"HGNC:14372\"\n   \"UMLS:C1413079\"\n   \"PR:Q2TAZ0\"\n   \"PR:P29372\"\n   \"NCBIGene:5270\"\n   \"UniProtKB:Q9UKM7\"\n   \"ENSEMBL:ENSG00000130479\"\n   \"NCBIGene:92305\"\n   \"PR:Q92529\"\n   \"ENSEMBL:ENSG00000107281\"\n   \"HGNC:3430\"\n   \"NCBIGene:80063\"\n   \"PR:P04180\"\n   \"NCBIGene:5768\"\n   \"UniProtKB:Q14764\"\n   \"ENSEMBL:ENSG00000135631\"\n   \"NCBIGene:780\"\n   \"NCBIGene:8111\"\n   \"UniProtKB:Q96HF1\"\n   \"UniProtKB:Q66K89\"\n   \"UniProtKB:P15502\"\n   \"ENSEMBL:ENSG00000129250\"\n   \"HGNC:3687\"\n   \"UMLS:C1825589\"\n   \"UniProtKB:P85299\"\n   \"ENSEMBL:ENSG00000205002\"\n   \"UniProtKB:P29372\"\n   \"NCBIGene:7025\"\n   \"NCBIGene:79776\"\n   \"HGNC:16028\"\n   \"HGNC:31009\"\n   \"UniProtKB:Q15119\"\n   \"UniProtKB:Q9UFB7\"\n   \"UniProtKB:Q9BTM9\"\n   \"HGNC:3824\"\n   \"PR:P31371\"\n   \"UMLS:C1333206\"\n   \"NCBIGene:9563\"\n   \"PR:Q66K14\"\n   \"ENSEMBL:ENSG00000099917\"\n   \"PR:Q96AD5\"\n   \"UMLS:C1414304\"\n   \"ENSEMBL:ENSG00000100379\"\n   \"PR:Q07960\"\n   \"ENSEMBL:ENSG00000005486\"\n   \"NCBIGene:168667\"\n   \"ENSEMBL:ENSG00000166166\"\n   \"UniProtKB:Q01629\"\n   \"NCBIGene:157506\"\n   \"ENSEMBL:ENSG00000147642\"\n   \"ENSEMBL:ENSG00000206395\"\n   \"HGNC:16838\"\n   \"HGNC:25636\"\n   \"UniProtKB:Q9HBL8\"\n   \"UniProtKB:P04921\"\n   \"NCBIGene:9358\"\n   \"HGNC:11559\"\n   \"HGNC:2228\"\n   \"UMLS:C1540084\"\n   \"ENSEMBL:ENSG00000214063\"\n   \"PR:000047670\"\n   \"HGNC:24300\"\n   \"ENSEMBL:ENSG00000174903\"\n   \"ENSEMBL:ENSG00000104332\"\n   \"UniProtKB:Q07912\"\n   \"PR:P37837\"\n   \"UniProtKB:Q9UBU2\"\n   \"ENSEMBL:ENSG00000167930\"\n   \"HGNC:17067\"\n   \"UniProtKB:Q8N2Y8\"\n   \"NCBIGene:1803\"\n   \"NCBIGene:29882\"\n   \"UMLS:C1417534\"\n   \"PR:Q9ULU8\"\n   \"NCBIGene:53358\"\n   \"UniProtKB:P43155\"\n   \"UniProtKB:P17858\"\n   \"NCBIGene:55201\"\n   \"HGNC:14248\"\n   \"PR:Q15269\"\n   \"UMLS:C1426509\"\n   \"ENSEMBL:ENSG00000103034\"\n   \"HGNC:18760\"\n   \"PR:Q14315\"\n   \"HGNC:16700\"\n   \"PR:Q6IA69\"\n   \"UMLS:C1423970\"\n   \"PR:Q9BV38\"\n   \"HGNC:3327\"\n   \"UniProtKB:Q9UIK4\"\n   \"UMLS:C1420728\"\n   \"ENSEMBL:ENSG00000104213\"\n   \"UMLS:C1418308\"\n   \"UniProtKB:P35052\"\n   \"ENSEMBL:ENSG00000116525\"\n   \"UniProtKB:Q8IWE5\"\n   \"UniProtKB:Q9BSB4\"\n   \"HGNC:7061\"\n   \"HGNC:173\"\n   \"ENSEMBL:ENSG00000177542\"\n   \"UMLS:C1417127\"\n   \"HGNC:29673\"\n   \"UniProtKB:O95782\"\n   \"ENSEMBL:ENSG00000162512\"\n   \"UMLS:C1422548\"\n   \"UMLS:C1420427\"\n   \"NCBIGene:10749\"\n   \"HGNC:12032\"\n   \"ENSEMBL:ENSG00000142798\"\n   \"HGNC:6727\"\n   \"NCBIGene:23396\"\n   \"HGNC:23589\"\n   \"NCBIGene:5787\"\n   \"HGNC:14291\"\n   \"HGNC:10757\"\n   \"HGNC:28804\"\n   \"UniProtKB:Q9BX69\"\n   \"HGNC:10542\"\n   \"UMLS:C1538336\"\n   \"UMLS:C1335822\"\n   \"ENSEMBL:ENSG00000077942\"\n   \"UniProtKB:Q6KF10\"\n   \"NCBIGene:51150\"\n   \"UniProtKB:Q6DN12\"\n   \"ENSEMBL:ENSG00000111199\"\n   \"UMLS:C1417509\"\n   \"HGNC:16394\"\n   \"UniProtKB:Q5D1E8\"\n   \"PR:Q9C000\"\n   \"UniProtKB:O14817\"\n   \"UniProtKB:O95136\"\n   \"UniProtKB:Q7Z5R6\"\n   \"UniProtKB:Q8N2Q7\"\n   \"UMLS:C1417728\"\n   \"PR:O75056\"\n   \"PR:P40121\"\n   \"NCBIGene:91252\"\n   \"ENSEMBL:ENSG00000065717\"\n   \"UMLS:C1419986\"\n   \"PR:P62857\"\n   \"PR:P31277\"\n   \"UMLS:C1538659\"\n   \"UniProtKB:P42229\"\n   \"UMLS:C1424640\"\n   \"UniProtKB:Q12891\"\n   \"UMLS:C1336675\"\n   \"PR:Q14192\"\n   \"ENSEMBL:ENSG00000141736\"\n   \"PR:P04626\"\n   \"UMLS:C1537698\"\n   \"UniProtKB:Q9H6S3\"\n   \"HGNC:26011\"\n   \"HGNC:13539\"\n   \"NCBIGene:154075\"\n   \"PR:Q5GJ75\"\n   \"UMLS:C1822659\"\n   \"PR:P51571\"\n   \"PR:Q9BX66\"\n   \"NCBIGene:11313\"\n   \"UniProtKB:Q9NR80\"\n   \"ENSEMBL:ENSG00000188112\"\n   \"HGNC:19255\"\n   \"ENSEMBL:ENSG00000135472\"\n   \"ENSEMBL:ENSG00000125730\"\n   \"NCBIGene:4350\"\n   \"HGNC:561\"\n   \"NCBIGene:144165\"\n   \"UMLS:C1412333\"\n   \"HGNC:11778\"\n   \"ENSEMBL:ENSG00000002330\"\n   \"UniProtKB:Q8N8U9\"\n   \"PR:P35613\"\n   \"PR:Q9BPW4\"\n   \"UniProtKB:O94808\"\n   \"ENSEMBL:ENSG00000230456\"\n   \"NCBIGene:2318\"\n   \"ENSEMBL:ENSG00000186635\"\n   \"ENSEMBL:ENSG00000282854\"\n   \"PR:Q07912\"\n   \"UniProtKB:P55001\"\n   \"HGNC:17282\"\n   \"ENSEMBL:ENSG00000285379\"\n   \"PR:Q10571\"\n   \"PR:Q96CN4\"\n   \"HGNC:3467\"\n   \"PR:O14964\"\n   \"UMLS:C1824302\"\n   \"ENSEMBL:ENSG00000137332\"\n   \"ENSEMBL:ENSG00000091656\"\n   \"NCBIGene:81605\"\n   \"NCBIGene:140467\"\n   \"UniProtKB:Q86VY9\"\n   \"UniProtKB:Q9UFG5\"\n   \"ENSEMBL:ENSG00000167815\"\n   \"UMLS:C1423061\"\n   \"PR:Q6DJT9\"\n   \"UniProtKB:P28358\"\n   \"UniProtKB:P15289\"\n   \"HGNC:2990\"\n   \"PR:Q8WTX9\"\n   \"ENSEMBL:ENSG00000140264\"\n   \"HGNC:28042\"\n   \"HGNC:24475\"\n   \"PR:O15173\"\n   \"ENSEMBL:ENSG00000149633\"\n   \"PR:Q9Y572\"\n   \"UniProtKB:Q9HD42\"\n   \"UniProtKB:P21781\"\n   \"NCBIGene:5010\"\n   \"UMLS:C1426576\"\n   \"PR:Q6QNK2\"\n   \"UMLS:C1333547\"\n   \"ENSEMBL:ENSG00000105223\"\n   \"HGNC:29158\"\n   \"UniProtKB:Q14145\"\n   \"ENSEMBL:ENSG00000111452\"\n   \"HGNC:3009\"\n   \"PR:P29992\"\n   \"UMLS:C1420025\"\n   \"HGNC:30464\"\n   \"ENSEMBL:ENSG00000185201\"\n   \"PR:Q8WW38\"\n   \"NCBIGene:65009\"\n   \"ENSEMBL:ENSG00000169760\"\n   \"UMLS:C1422049\"\n   \"ENSEMBL:ENSG00000140563\"\n   \"HGNC:24154\"\n   \"NCBIGene:25844\"\n   \"NCBIGene:81539\"\n   \"ENSEMBL:LRG_377\"\n   \"UMLS:C4320396\"\n   \"UMLS:C1366514\"\n   \"HGNC:4221\"\n   \"ENSEMBL:LRG_364\"\n   \"UMLS:C1539559\"\n   \"NCBIGene:2539\"\n   \"ENSEMBL:ENSG00000137207\"\n   \"PR:P05019\"\n   \"UniProtKB:Q9BVG3\"\n   \"UniProtKB:Q8IZV5\"\n   \"HGNC:10834\"\n   \"NCBIGene:10848\"\n   \"UniProtKB:Q9Y2G9\"\n   \"UniProtKB:Q8TDY4\"\n   \"UniProtKB:Q96F05\"\n   \"HGNC:1318\"\n   \"ENSEMBL:ENSG00000169184\"\n   \"NCBIGene:55638\"\n   \"HGNC:26955\"\n   \"ENSEMBL:ENSG00000065268\"\n   \"PR:Q9NQX5\"\n   \"NCBIGene:64116\"\n   \"ENSEMBL:ENSG00000172057\"\n   \"UMLS:C1414230\"\n   \"PR:P55001\"\n   \"UniProtKB:Q9BTE0\"\n   \"HGNC:1212\"\n   \"HGNC:4454\"\n   \"UniProtKB:Q96N19\"\n   \"PR:Q9NW07\"\n   \"UMLS:C1825955\"\n   \"NCBIGene:572\"\n   \"ENSEMBL:ENSG00000100413\"\n   \"HGNC:8876\"\n   \"UMLS:C1826843\"\n   \"NCBIGene:80331\"\n   \"UMLS:C1427198\"\n   \"HGNC:30406\"\n   \"UniProtKB:O15173\"\n   \"ENSEMBL:ENSG00000215522\"\n   \"UMLS:C1334342\"\n   \"HGNC:23231\"\n   \"UMLS:C1425173\"\n   \"HGNC:15739\"\n   \"NCBIGene:2064\"\n   \"NCBIGene:8733\"\n   \"ENSEMBL:ENSG00000121552\"\n   \"UMLS:C1427465\"\n   \"PR:Q9UKM7\"))\n"
  },
  {
    "path": "contrib/medikanren2/Thi/IL1R1-med2-translate-rtx2-only-June-15-2021.rkt",
    "content": "#lang racket\n\n(require \"../../../medikanren2/common.rkt\")\n(require \"../../../medikanren2/db/rtx2-20210204.rkt\")\n(require \"../../../medikanren2/lw-reasoning.rkt\")\n(require \"../../../medikanren2/synonyms.rkt\")\n\n\n; Date: June 15, 2021\n; Goal: translate some  medikanren1 common queries into medikanren2\n\n\n\n; Query 1 : find drugs that inhibits IL1R1\n\n\n; first, sanity check the curie\n\n(run* (k v)\n  (cprop  \"HGNC:5993\" k v))\n\n(define IL1R1 \"HGNC:5993\")\n\n; find synonyms of this HGNC curie using the synonym relation defined in synonyms.rkt\n; this approach uses the information in rtx2 to get synonyms. I prefer this for gene/protein.\n\n\n;(run*/set/steps 1000 x (synonym x IL1R1))\n\n; July 12th, working on the branch origin/prune-cyclic-calls\n(time (run*/set x (synonym x IL1R1)))\n; doens't terminate\n\n\n\n;(run*/set x (kgx-synonym x IL1R1))\n; results:\n(set\n \"NCBIGene:3554\"\n \"PR:P14778\"\n \"UniProtKB:P14778\"\n \"UMLS:C1416395\"\n \"HGNC:5993\"\n \"ENSEMBL:ENSG00000115594\")\n\n(define IL1R1-syns (list\n                    \"NCBIGene:3554\"\n                    \"PR:P14778\"\n                    \"UniProtKB:P14778\"\n                    \"UMLS:C1416395\"\n                    \"HGNC:5993\"\n                    \"ENSEMBL:ENSG00000115594\"))\n\n\n#;(define inhibit-preds '(\"biolink:decreases_activity_of\"\n                        \"biolink:decreases_expression_of\"\n                        \"biolink:disrupts\"\n                        \"biolink:negatively_regulates\"\n                        \"biolink:negatively_regulates,_entity_to_entity\"\n                        \"biolink:negatively_regulates,_process_to_process\"\n                        \"biolink:treats\"\n                        \"negatively_regulates\" ; semmed\n                        \"treats\" ; semmed\n                        ))\n\n; main query to find drugs that inhibit ILR1- synonyms\n\n(define IL1R1-drugs (time (run* (s sname p o)\n                            (fresh (id drug)\n                              (edge id s o)\n                              (cprop s \"category\" drug)\n                              (cprop s \"name\" sname)\n                              (eprop id \"predicate\" p)\n                              (membero o IL1R1-syns)\n                              (membero p inhibit-preds)\n                              (membero drug drug-categories)))))\n\n\n;cpu time: 10731 real time: 10909 gc time: 107\n\n; export the results\n(write-list-to-tsv\n (list \"id\" \"drug-name\" \"pred\" \"gene\")\n IL1R1-drugs\n \"IL1R1-drugs.tsv\")\n\n\n;; Query 2: find drugs that inhibit IL1R1 signaling pathway\n\n\n(define myD88 \"HGNC:7562\")\n(define TAK1 \"HGNC:6859\")\n(define NEMO \"HGNC:5961\")\n(define IRAK1 \"HGNC:6112\")\n(define IRAK2 \"HGNC:6113\")\n(define TRAF6 \"HGNC:12036\")\n(define MEK1 \"HGNC:6848\")\n(define MEK3 \"HGNC:6843\")\n(define MEK6 \"HGNC:6846\")\n(define NFkB \"HGNC:7794\")\n(define JNK \"HGNC:6861\")\n(define p38 \"HGNC:6876\")\n(define c-JNK \"HGNC:6881\")\n\n(define IL1R-pathway (list myD88 TAK1 NEMO IRAK1 IRAK2 TRAF6 MEK1 MEK3 MEK6 NFkB JNK p38 c-JNK))\n\n; find the synonyms for each of the IL1R-pathway genes\n(time (map\n       (lambda (x)\n         (run*/set/steps 500 a\n                         (synonym a x)))\n       IL1R-pathway))\n\n; point-free style way of writing the above code, i.e. no variables here, just apply functions on function's output\n\n(time (set->list (apply set-union (map\n                                   (lambda (x)\n                                     (run*/set/steps 500 a\n                                                     (synonym a x)))\n                                   IL1R-pathway))))\n\n\n; alternatively I can make the code easier to ready by using let to give names to function's output\n\n(time (let* ((set-of-syn* (map\n                           (lambda (x)\n                             (run*/set/steps 500 a\n                                             (synonym a x)))\n                           IL1R-pathway))\n             (set-of-syn (apply set-union set-of-syn*))\n             (syn* (set->list set-of-syn)))\n        syn*))\n\n; from this, I can make a reusable function to take a list of HGNC curies genes and return the list of combined synonyms\n\n\n\n\n(define IL1R1-pathway-syns (set->list (set-union\n                                       (set\n                                        \"ENSEMBL:ENSG00000172936\"\n                                        \"ENSEMBL:LRG_157\"\n                                        \"NCBIGene:4615\"\n                                        \"HGNC:7562\"\n                                        \"UniProtKB:Q99836\"\n                                        \"PR:Q99836\")\n                                       (set\n                                        \"ENSEMBL:ENSG00000135341\"\n                                        \"HGNC:6859\"\n                                        \"NCBIGene:6885\"\n                                        \"PR:O43318\"\n                                        \"UniProtKB:O43318\")\n                                       (set\n                                        \"UniProtKB:Q9Y6K9\"\n                                        \"ENSEMBL:ENSG00000269335\"\n                                        \"NCBIGene:8517\"\n                                        \"ENSEMBL:LRG_70\"\n                                        \"HGNC:5961\"\n                                        \"PR:Q9Y6K9\")\n                                       (set\n                                        \"HGNC:6112\"\n                                        \"NCBIGene:3654\"\n                                        \"UMLS:C1334134\"\n                                        \"PR:P51617\"\n                                        \"UniProtKB:P51617\"\n                                        \"ENSEMBL:ENSG00000184216\")\n                                       (set\n                                        \"UniProtKB:O43187\"\n                                        \"UMLS:C1334135\"\n                                        \"HGNC:6113\"\n                                        \"PR:O43187\"\n                                        \"NCBIGene:3656\"\n                                        \"ENSEMBL:ENSG00000134070\")\n                                       (set\n                                        \"HGNC:12036\"\n                                        \"ENSEMBL:ENSG00000175104\"\n                                        \"NCBIGene:7189\"\n                                        \"UMLS:C1336666\"\n                                        \"UniProtKB:Q9Y4K3\"\n                                        \"PR:Q9Y4K3\")\n                                       (set\n                                        \"HGNC:6848\"\n                                        \"PR:Q13233\"\n                                        \"ENSEMBL:ENSG00000095015\"\n                                        \"UniProtKB:Q13233\"\n                                        \"NCBIGene:4214\")\n                                       (set\n                                        \"PR:P46734\"\n                                        \"HGNC:6843\"\n                                        \"NCBIGene:5606\"\n                                        \"UniProtKB:P46734\"\n                                        \"ENSEMBL:ENSG00000034152\"\n                                        \"UMLS:C1456386\")\n                                       (set\n                                        \"ENSEMBL:ENSG00000108984\"\n                                        \"UMLS:C1334475\"\n                                        \"UniProtKB:P52564\"\n                                        \"NCBIGene:5608\"\n                                        \"HGNC:6846\"\n                                        \"PR:P52564\")\n                                       (set\n                                        \"UniProtKB:P19838\"\n                                        \"ENSEMBL:ENSG00000109320\"\n                                        \"NCBIGene:4790\"\n                                        \"HGNC:7794\"\n                                        \"PR:P19838\"\n                                        \"ENSEMBL:LRG_1316\")\n                                       (set\n                                        \"HGNC:6861\"\n                                        \"NCBIGene:4293\"\n                                        \"PR:P80192\"\n                                        \"UMLS:C1417016\"\n                                        \"UniProtKB:P80192\"\n                                        \"ENSEMBL:ENSG00000006432\")\n                                       (set\n                                        \"NCBIGene:1432\"\n                                        \"HGNC:6876\"\n                                        \"ENSEMBL:ENSG00000112062\"\n                                        \"UniProtKB:Q16539\"\n                                        \"UMLS:C1366876\"\n                                        \"PR:Q16539\")\n                                       (set\n                                        \"ENSEMBL:ENSG00000107643\"\n                                        \"UMLS:C1367731\"\n                                        \"PR:P45983\"\n                                        \"HGNC:6881\"\n                                        \"UniProtKB:P45983\"\n                                        \"NCBIGene:5599\"))))\n\n; 76 synonyms\n\n\n\n\n\n(define IL1R1-pathway-drugs (time (run* (s sname p o oname)\n                                    (fresh (id drug)\n                                      (edge id s o)\n                                      (cprop s \"category\" drug)\n                                      (cprop s \"name\" sname)\n                                      (cprop o \"name\" oname)\n                                      (eprop id \"predicate\" p)\n                                      (membero o IL1R1-pathway-syns)\n                                      (membero p inhibit-preds)\n                                      (membero drug drug-categories)))))\n\n; run time to run through 76 synonymized IL1R pathway members\n\n\n(write-list-to-tsv\n (list \"drug-id\" \"drug-name\" \"pred\" \"gene-id\" \"gene-name\")\n  IL1R1-pathway-drugs\n \"IL1R1-pathway-drugs_June15_2021.tsv\")\n\n; cpu time: 680250 real time: 825991 gc time: 5140\n; ~15 mins\n; once I have this table exported, I can use R to count duplicate drugs for different gene-id\n; that way I can rank drugs that inhibit the most genes\n\n\n; Next steps: we can test these queries in ARS \n"
  },
  {
    "path": "contrib/medikanren2/Thi/IL1R1-med2-translate.rkt",
    "content": "#lang racket\n\n(require \"../../../medikanren2/common.rkt\")\n(require \"../../../medikanren2/db/rtx2-20210204.rkt\")\n\n\n; Goal: translate some  medikanren1 common queries into medikanren2\n; note: just try rtx2 first\n\n; Query: find drugs that inhibits IL1R1\n\n#|\n; first, sanity check the curie\n(run* (k v)\n    (cprop \"HGNC:5993\" k v))\n|#\n\n(define IL1R1 \"HGNC:5993\")\n\n(define IL1R1-drugs (time (run 10 (s sname p o)\n                            (fresh (id drug)\n                              (edge id s o)\n                              (cprop s \"category\" drug)\n                              (cprop s \"name\" sname)\n                              (eprop id \"predicate\" p)\n                              (membero o IL1R1-synonyms)\n                              (membero p inhibit-preds)\n                              (membero drug drug-categories)))))\n\n(write-list-to-tsv\n (list \"id\" \"drug-name\" \"pred\" \"gene\")\n IL1R1-drugs\n \"IL1R1-drugs.tsv\")\n\n\n(define drug-categories '(\"biolink:ChemicalSubstance\"\n                          \"biolink:ClinicalIntervention\"\n                          \"biolink:ClinicalModifier\"\n                          \"biolink:Drug\"\n                          \"biolink:Treatment\"))\n\n\n\n;; look for all strings that key for eprop tables\n\n(run* eprop_key\n  (fresh (id value)\n    (eprop id eprop_key value)))\n\n#|\n;; all keys in the eprop table\n '(\"negated\"\n  \"object\"\n  \"predicate\"\n  \"predicate_label\"\n  \"provided_by\"\n  \"publications\"\n  \"publications_info\"\n  \"relation\"\n  \"relation_label\"\n  \"subject\"\n  \"update_date\")\n|#\n\n\n; define a lists of inhibit predicates (chem->decrease->genes)\n\n; check all predicates in our data:\n(run* pred_name\n  (fresh (id)\n    (eprop id \"predicate\" pred_name)))\n\n\n; look for all cprop keys\n\n(run* key\n  (fresh (id value)\n    (cprop id key value)))\n\n#|\n; all cprop keys\n\n '(\"category\"\n  \"category_label\"\n  \"creation_date\"\n  \"deprecated\"\n  \"description\"\n  \"full_name\"\n  \"id\"\n  \"iri\"\n  \"name\"\n  \"provided_by\"\n  \"publications\"\n  \"replaced_by\"\n  \"synonym\"\n  \"update_date\")\n|#\n\n; look for all cprop values\n\n(run* value\n  (fresh (id)\n   (cprop id \"category\" value)))\n\n#|\n; all cprop values\n '(\"biolink:Activity\"\n  \"biolink:Agent\"\n  \"biolink:AnatomicalEntity\"\n  \"biolink:Attribute\"\n  \"biolink:BiologicalEntity\"\n  \"biolink:BiologicalProcess\"\n  \"biolink:BiologicalProcessOrActivity\"\n  \"biolink:Carbohydrate\"\n  \"biolink:Cell\"\n  \"biolink:CellularComponent\"\n  \"biolink:ChemicalSubstance\"\n  \"biolink:ClinicalIntervention\"\n  \"biolink:ClinicalModifier\"\n  \"biolink:DataFile\"\n  \"biolink:Device\"\n  \"biolink:Disease\"\n  \"biolink:DiseaseOrPhenotypicFeature\"\n  \"biolink:Drug\"\n  \"biolink:EnvironmentalFeature\"\n  \"biolink:EnvironmentalProcess\"\n  \"biolink:Exon\"\n  \"biolink:ExposureEvent\"\n  \"biolink:FrequencyValue\"\n  \"biolink:Gene\"\n  \"biolink:GeneFamily\"\n  \"biolink:GeneProduct\"\n  \"biolink:GenomicEntity\"\n  \"biolink:GeographicLocation\"\n  \"biolink:GrossAnatomicalStructure\"\n  \"biolink:IndividualOrganism\"\n  \"biolink:InformationContentEntity\"\n  \"biolink:LifeStage\"\n  \"biolink:MacromolecularComplex\"\n  \"biolink:MaterialSample\"\n  \"biolink:Metabolite\"\n  \"biolink:MolecularActivity\"\n  \"biolink:MolecularEntity\"\n  \"biolink:NamedThing\"\n  \"biolink:OntologyClass\"\n  \"biolink:OrganismTaxon\"\n  \"biolink:OrganismalEntity\"\n  \"biolink:Pathway\"\n  \"biolink:Phenomenon\"\n  \"biolink:PhenotypicFeature\"\n  \"biolink:PhysicalEntity\"\n  \"biolink:PhysiologicalProcess\"\n  \"biolink:PopulationOfIndividualOrganisms\"\n  \"biolink:Procedure\"\n  \"biolink:Protein\"\n  \"biolink:Publication\"\n  \"biolink:QuantityValue\"\n  \"biolink:RelationshipType\"\n  \"biolink:Treatment\")\n|#\n\n\n#|\n; all preds in rtx2  \n\n'(\"biolink:actively_involved_in\"\n  \"biolink:affects\"\n  \"biolink:affects_activity_of\"\n  \"biolink:affects_degradation_of\"\n  \"biolink:affects_localization_of\"\n  \"biolink:affects_transport_of\"\n  \"biolink:biomarker_for\"\n  \"biolink:capable_of\"\n  \"biolink:causes\"\n  \"biolink:chemically_similar_to\"\n  \"biolink:close_match\"\n  \"biolink:coexists_with\"\n  \"biolink:colocalizes_with\"\n  \"biolink:contraindicated_for\"\n  \"biolink:contributes_to\"\n  \"biolink:correlated_with\"\n  \"biolink:decreases_activity_of\"\n  \"biolink:decreases_expression_of\"\n  \"biolink:derives_from\"\n  \"biolink:derives_into\"\n  \"biolink:develops_from\"\n  \"biolink:directly_interacts_with\"\n  \"biolink:disease_has_basis_in\"\n  \"biolink:disrupts\"\n  \"biolink:enables\"\n  \"biolink:expressed_in\"\n  \"biolink:expresses\"\n  \"biolink:gene_associated_with_condition\"\n  \"biolink:has_attribute\"\n  \"biolink:has_attribute_type\"\n  \"biolink:has_completed\"\n  \"biolink:has_count\"\n  \"biolink:has_decreased_amount\"\n  \"biolink:has_gene_product\"\n  \"biolink:has_increased_amount\"\n  \"biolink:has_input\"\n  \"biolink:has_molecular_consequence\"\n  \"biolink:has_not_completed\"\n  \"biolink:has_output\"\n  \"biolink:has_part\"\n  \"biolink:has_participant\"\n  \"biolink:has_phenotype\"\n  \"biolink:has_quantitative_value\"\n  \"biolink:has_route\"\n  \"biolink:has_unit\"\n  \"biolink:homologous_to\"\n  \"biolink:in_taxon\"\n  \"biolink:increases_activity_of\"\n  \"biolink:increases_degradation_of\"\n  \"biolink:increases_expression_of\"\n  \"biolink:increases_metabolic_processing_of\"\n  \"biolink:increases_stability_of\"\n  \"biolink:interacts_with\"\n  \"biolink:is_sequence_variant_of\"\n  \"biolink:lacks_part\"\n  \"biolink:located_in\"\n  \"biolink:location_of\"\n  \"biolink:manifestation_of\"\n  \"biolink:model_of\"\n  \"biolink:molecularly_interacts_with\"\n  \"biolink:negatively_regulates\"\n  \"biolink:negatively_regulates,_entity_to_entity\"\n  \"biolink:negatively_regulates,_process_to_process\"\n  \"biolink:occurs_in\"\n  \"biolink:overlaps\"\n  \"biolink:part_of\"\n  \"biolink:participates_in\"\n  \"biolink:physically_interacts_with\"\n  \"biolink:positively_regulates\"\n  \"biolink:positively_regulates,_entity_to_entity\"\n  \"biolink:positively_regulates,_process_to_process\"\n  \"biolink:preceded_by\"\n  \"biolink:precedes\"\n  \"biolink:predisposes\"\n  \"biolink:prevents\"\n  \"biolink:produces\"\n  \"biolink:quantifier_qualifier\"\n  \"biolink:regulates\"\n  \"biolink:regulates,_process_to_process\"\n  \"biolink:related_to\"\n  \"biolink:same_as\"\n  \"biolink:subclass_of\"\n  \"biolink:synonym\"\n  \"biolink:temporally_related_to\"\n  \"biolink:treats\")\n|#\n\n(define inhibit-preds '(\"biolink:decreases_activity_of\"\n                        \"biolink:decreases_expression_of\"\n                        \"biolink:disrupts\"\n                        \"biolink:negatively_regulates\"\n                        \"biolink:negatively_regulates,_entity_to_entity\"\n                        \"biolink:negatively_regulates,_process_to_process\"\n                        \"biolink:treats\"))\n\n(define synonyms-preds '(\"biolink:same_as\"\n                         \"biolink:close_match\"\n                         \"biolink:has_gene_product\"))\n\n(define-relation (direct-synonym a b)\n  (fresh (id sp)\n    (edge id a b)\n    (eprop id \"predicate\" sp)\n    (membero sp synonyms-preds)))\n\n(define-relation (direct-synonym+ a b)\n  (conde ((direct-synonym a b))\n         ((fresh (mid)\n            (direct-synonym a mid)\n            (direct-synonym+ mid b)))))\n\n(define-relation (synonym a b)\n  (conde ((direct-synonym a b))\n         ((direct-synonym b a))\n         ((fresh (mid)\n            (direct-synonym a mid)\n            (synonym mid b)))\n         ((fresh (mid)\n            (direct-synonym b mid)\n            (synonym mid a)))))\n\n(remove-duplicates (run*/steps 500 s (synonym \"HGNC:5993\" s)))\n\n(define IL1R1-synonyms '(\"UMLS:C1416395\"\n                         \"ENSEMBL:ENSG00000115594\"\n                         \"NCBIGene:3554\"\n                         \"PR:P14778\"\n                         \"UniProtKB:P14778\"\n                         \"NCBIGene:3554\"))\n\n(define-relation/table (IL1R1-synonym curie)\n  'source-stream (run*/steps 500 (s) (synonym \"HGNC:5993\" s)))\n\n(define-relation/table (inhibit-pred predicate)\n  'source-stream (map list inhibit-preds))\n\n(define-relation/table (drug-category category)\n  'source-stream (map list drug-categories))\n\n;; instead of using membero, we can use relation/table to decrease run times (with source-stream), but still need some more tweaks\n\n(define IL1R1-drugs2 (time (run 10 (s sname p o)\n                             (fresh (id drug)\n                               (edge id s o)\n                               (cprop s \"category\" drug)\n                               (cprop s \"name\" sname)\n                               (eprop id \"predicate\" p)\n                               ;(IL1R1-synonym o)\n                               (inhibit-pred p)\n                               (drug-category drug)\n                               (membero o IL1R1-synonyms)\n                               ;(membero p inhibit-preds)\n                               ;(membero drug drug-categories)\n                              ))))\n"
  },
  {
    "path": "contrib/medikanren2/Thi/PMI-21-34-NEXMIF-2hop.rkt",
    "content": "#lang racket\n\n(require \"../../../medikanren2/common.rkt\")\n(require \"../../../medikanren2/db/rtx2-20210204.rkt\")\n(require \"../../../medikanren2/lw-reasoning.rkt\")\n(require \"../../../medikanren2/synonyms.rkt\")\n\n; Real use case PMI-21-34 for 2-hop query\n\n; Find drugs/chemicals that inhibit certain gene/proteins that inhibit NEXMIF\n\n; First, sanity check the curie for NEXMIF\n\n(run* (k v)\n  (cprop \"HGNC:29433\" k v))\n\n\n\n\n; use the function get-synonyms-ls to get the list of synonyms for the curie\n(get-synonyms-ls '(\"HGNC:29433\"))\n\n(define NEXMIF-syns '(\"HGNC:29433\"\n                      \"UniProtKB:Q5QGS0\"\n                      \"PR:Q5QGS0\"\n                      \"NCBIGene:340533\"\n                      \"ENSEMBL:ENSG00000050030\"))\n\n\n(define inhibit-preds '(\"biolink:decreases_activity_of\"\n                        \"biolink:decreases_expression_of\"\n                        \"biolink:disrupts\"\n                        \"biolink:negatively_regulates\"\n                        \"biolink:negatively_regulates,_entity_to_entity\"\n                        \"biolink:negatively_regulates,_process_to_process\"\n                        \"biolink:treats\"\n                        \"negatively_regulates\" ; semmed\n                        \"treats\" ; semmed\n                        ))\n\n(define drug-categories '(\"biolink:ChemicalSubstance\"\n                          \"biolink:ClinicalIntervention\"\n                          \"biolink:ClinicalModifier\"\n                          \"biolink:Drug\"\n                          \"biolink:Treatment\"))\n\n(define gene-protein-cats '(\"biolink:Gene\"\n                            \"biolink:GeneFamily\"\n                            \"biolink:GeneProduct\"\n                            \"biolink:GenomicEntity\"\n                            \"biolink:MolecularEntity\"\n                            \"biolink:Protein\"))\n\n\n(define NEXMIF-drugs-2hop (time (run* (d p1 g1 p2 g2)\n                                  (fresh (id1 id2 drug gene)\n                                    (edge id1 d g1)\n                                    (edge id2 g1 g2)\n                                    (cprop d \"category\" drug)\n                                    (cprop g1 \"category\" gene)\n                                    (cprop g2 \"category\" gene)\n                                    (eprop id1 \"predicate\" p1)\n                                    (eprop id2 \"predicate\" p2)\n                                    (membero drug drug-categories)\n                                    (membero gene gene-protein-cats)\n                                    (membero g2 NEXMIF-syns)\n                                    (membero p1 inhibit-preds)\n                                    (membero p2 inhibit-preds)))))\n\n(define NEXMIF-drugs-2hop (time (run 1 (d p1 g1 p2 g2)\n                                  (fresh (id1 id2 drug gene)\n                                    (edge id1 d g1)\n                                    (edge id2 g1 g2)\n                                    (cprop d \"category\" drug)\n                                    (cprop g1 \"category\" gene)\n                                    (cprop g2 \"category\" gene)\n                                    (eprop id1 \"predicate\" p1)\n                                    (eprop id2 \"predicate\" p2)\n                                    (membero drug drug-categories)\n                                    (membero gene gene-protein-cats)\n                                    (membero g2 NEXMIF-syns)\n                                    (membero p1 inhibit-preds)\n                                    (membero p2 inhibit-preds)))))\n"
  },
  {
    "path": "contrib/medikanren2/Thi/SLC16A11-explore.rkt",
    "content": "#lang racket\n\n(require \"../../../medikanren2/common.rkt\")\n; only load rtx2 data in config.scm\n\n(define hispanic \"UMLS:C0086409\")\n\n; a use case: Find all genes/proteins that are one-hop away from this hispanic curie\n; Subject = gene-or-protein (can be defined with concepts' categories)\n; Object = a particular curie\n; predicate = #f\n\n; use the \"run\"  (minikanren's interface) to find anything related to this curie (limit to 10 entries)\n(run 10 (id s)\n  (edge id s hispanic))\n\n;; define the gene-or-protein categories with biolink categories\n\n(define gene-or-protein '(\"biolink:Gene\"\n                          \"biolink:GeneFamily\"\n                          \"biolink:GeneProduct\"\n                          \"biolink:GenomicEntity\"\n                          \"biolink:MacromolecularComplex\"\n                          \"biolink:MolecularEntity\"\n                          \"biolink:Protein\"))\n\n;; helper functions:\n\n(define (properties->hash kvs)\n  (make-immutable-hash\n   (map (lambda (kv) (cons (car kv) (cadr kv)))\n        kvs)))\n\n\n(define-relation (concept/category curie categories)\n  (fresh (category)\n    (cprop curie \"category\" category)\n    (membero category categories)))\n\n(define-relation (edge/properties s s->o o)\n  (fresh (s->o:id)\n    (edge s->o:id s o)\n    (:== s->o (s->o:id)\n         (run* (key value)\n           (eprop s->o:id key value)))))\n\n#;(define (makeshift-query/graph s o)\n  (map properties->hash\n       (run 10 s->o:properties\n         (fresh (s o)\n           (== o hispanic)\n           (constrain/categories s gene-or-protein)\n           (edge/properties s->o:properties s o)\n           ))))\n\n\n;;(define list-of-curies (list \"HGNC:10928\" \"HGNC:23093\" \"HGNC:10922\"))\n\n;; WISH-list: a higher level function that takes inputs: could be S, O (either curies, or list of curies\n;; or a list of categories, or #f) or S->O (single predicate, list of predicates, or #f)\n;; Output: 1/summary of results (it could be count of entries, count of S, O and Edges, such as report/query in medikanren1.\n;; or it could be a tsv export for medium-level summary) 2/verbose results so that we can look at the details if needed\n\n\n;; this function could be generalized\n\n(define gene-hispanic\n  (time (map (lambda (row)\n               (match-define (list s->o s:name o:name) row)\n               (hash-set (hash-set (properties->hash s->o)\n                                   'subject-name s:name)\n                         'object-name o:name))\n             (run* (s->o s:name o:name)\n               (fresh (s o)\n                                        ;(== o hispanic)\n                 (membero o list-of-curies)\n                 (concept/category s gene-or-protein)\n                 (cprop o \"name\" o:name)\n                 (cprop s \"name\" s:name)\n                 (edge/properties s s->o o))))))\n\n\n\n(length gene-hispanic)\n\n(length (remove-duplicates (map (lambda (ans) (hash-ref ans \"subject\")) gene-hispanic)))\n\n(map (lambda (ans) (hash-ref ans \"predicate\")) gene-hispanic)\n(map (lambda (ans) (hash-ref ans 'subject-name)) gene-hispanic)\n\n(run* (key value) (cprop \"HGNC:23093\" key value))\n\n\n\n"
  },
  {
    "path": "contrib/medikanren2/Thi/build-kgx-synonym.rkt",
    "content": "#lang racket/base\n(require \"../../../medikanren2/dbk/dbk/io.rkt\"\n         \"../../../medikanren2/dbk/dbk/data.rkt\"\n         \"../../../medikanren2/dbk/dbk/stream.rkt\"\n         racket/runtime-path)\n\n(define-runtime-path path.here \".\")\n\n(define db (database (build-path path.here \"kgx-synonym.db\")))\n\n(unless (database-relation-has? db '(kgx-synonym edge))\n  (database-relation-add!\n    db '(kgx-synonym edge)\n    'attributes '(subject object source)\n    'type       '(string  string string)\n    'source     (s-map (lambda (row)\n                         (map (lambda (key) (hash-ref row key))\n                              '(subject object source_database)))\n                       (in:file \"KGX-NN-data/KGX_NN_data_2021-03-11_edges.jsonl\"))))\n\n(database-compact! db)\n\n(define r.edge (database-relation db '(kgx-synonym edge)))\n\n(relation-index-add! r.edge\n                     '(subject object)\n                     '(object  subject)\n                     '(source))\n"
  },
  {
    "path": "contrib/medikanren2/Thi/build-rtx-kg2.rkt",
    "content": "#lang racket/base\n(require\n  \"../../../medikanren2/dbk/dbk/io.rkt\"\n  \"../../../medikanren2/dbk/dbk/data.rkt\"\n  \"../../../medikanren2/dbk/dbk/stream.rkt\"\n  racket/runtime-path)\n\n(define-runtime-path path.here \".\")\n\n(define db (database (build-path path.here \"rtx-kg2_20210204.db\")))\n\n(unless (database-relation-has? db '(rtx-kg2 cprop))\n  (database-relation-add!\n    db '(rtx-kg2 cprop)\n    'attributes '(curie  key    value)\n    'type       '(string string string)\n    'source     (in:file \"rtx_kg2.nodeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\"))))\n\n(unless (database-relation-has? db '(rtx-kg2 edge))\n  (database-relation-add!\n    db '(rtx-kg2 edge)\n    'attributes '(eid subject object)\n    'type       '(nat string  string)\n    'source     (s-map (lambda (row) (cons (string->number (car row)) (cdr row)))\n                       (in:file \"rtx_kg2.edge.tsv\"     'header '(\":ID\" \":START\" \":END\")))))\n\n(unless (database-relation-has? db '(rtx-kg2 eprop))\n  (database-relation-add!\n    db '(rtx-kg2 eprop)\n    'attributes '(eid key    value)\n    'type       '(nat string string)\n    'source     (s-map (lambda (row) (cons (string->number (car row)) (cdr row)))\n                       (in:file \"rtx_kg2.edgeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\")))))\n\n(define cprop (database-relation db '(rtx-kg2 cprop)))\n(define edge  (database-relation db '(rtx-kg2 edge)))\n(define eprop (database-relation db '(rtx-kg2 eprop)))\n\n(database-compact! db)\n\n(relation-index-add! cprop\n                     '(curie key)\n                     '(key value))\n(relation-index-add! edge\n                     '(eid)\n                     '(subject object)\n                     '(subject eid)\n                     '(object  eid))\n(relation-index-add! eprop\n                     '(eid key)\n                     '(key value))\n"
  },
  {
    "path": "contrib/medikanren2/Thi/example-one-hop-IL1R1-drugs.rkt",
    "content": "#lang racket/base\n(require\n  \"query-low-level.rkt\"\n  racket/pretty)\n\n(define drug-categories '(\"biolink:ChemicalSubstance\"\n                          \"biolink:ClinicalIntervention\"\n                          \"biolink:ClinicalModifier\"\n                          \"biolink:Drug\"\n                          \"biolink:Treatment\"))\n\n(define inhibit-preds '(\"biolink:decreases_activity_of\"\n                        \"biolink:decreases_expression_of\"\n                        \"biolink:disrupts\"\n                        \"biolink:negatively_regulates\"\n                        \"biolink:negatively_regulates,_entity_to_entity\"\n                        \"biolink:negatively_regulates,_process_to_process\"\n                        \"biolink:treats\"))\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; find drugs that inhibit IL1R1 ;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define IL1R1-synonyms '(\"NCBIGene:3554\"\n                         \"PR:P14778\"\n                         \"UniProtKB:P14778\"\n                         \"UMLS:C1416395\"\n                         \"HGNC:5993\"\n                         \"ENSEMBL:ENSG00000115594\"))\n\n;; This use of query:X->Known is analogous to this miniKanren query:\n;(run* (s sname p o oname)\n;  (fresh (id drug)\n;    (edge id s o)\n;    (cprop s \"category\" drug)\n;    (cprop s \"name\"  sname)\n;    (cprop o \"oname\" oname)\n;    (eprop id \"predicate\" p)\n;    (membero o IL1R1-synonyms)\n;    (membero p inhibit-preds)\n;    (membero drug drug-categories)))))\n\n(newline)\n(define IL1R1-drugs (query:X->Known drug-categories inhibit-preds IL1R1-synonyms))\n\n(pretty-write `(IL1R1-drugs count: ,(length IL1R1-drugs)))\n(pretty-write IL1R1-drugs)\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Find drugs that inhibit IL1R1 signalling pathway ;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define IL1R1-pathway-synonyms '(\"ENSEMBL:ENSG00000172936\"\n                                 \"ENSEMBL:LRG_157\"\n                                 \"NCBIGene:4615\"\n                                 \"HGNC:7562\"\n                                 \"UniProtKB:Q99836\"\n                                 \"PR:Q99836\"\n                                 \"ENSEMBL:ENSG00000135341\"\n                                 \"HGNC:6859\"\n                                 \"NCBIGene:6885\"\n                                 \"PR:O43318\"\n                                 \"UniProtKB:O43318\"\n                                 \"UniProtKB:Q9Y6K9\"\n                                 \"ENSEMBL:ENSG00000269335\"\n                                 \"NCBIGene:8517\"\n                                 \"ENSEMBL:LRG_70\"\n                                 \"HGNC:5961\"\n                                 \"PR:Q9Y6K9\"\n                                 \"HGNC:6112\"\n                                 \"NCBIGene:3654\"\n                                 \"UMLS:C1334134\"\n                                 \"PR:P51617\"\n                                 \"UniProtKB:P51617\"\n                                 \"ENSEMBL:ENSG00000184216\"\n                                 \"UniProtKB:O43187\"\n                                 \"UMLS:C1334135\"\n                                 \"HGNC:6113\"\n                                 \"PR:O43187\"\n                                 \"NCBIGene:3656\"\n                                 \"ENSEMBL:ENSG00000134070\"\n                                 \"HGNC:12036\"\n                                 \"ENSEMBL:ENSG00000175104\"\n                                 \"NCBIGene:7189\"\n                                 \"UMLS:C1336666\"\n                                 \"UniProtKB:Q9Y4K3\"\n                                 \"PR:Q9Y4K3\"\n                                 \"HGNC:6848\"\n                                 \"PR:Q13233\"\n                                 \"ENSEMBL:ENSG00000095015\"\n                                 \"UniProtKB:Q13233\"\n                                 \"NCBIGene:4214\"\n                                 \"PR:P46734\"\n                                 \"HGNC:6843\"\n                                 \"NCBIGene:5606\"\n                                 \"UniProtKB:P46734\"\n                                 \"ENSEMBL:ENSG00000034152\"\n                                 \"UMLS:C1456386\"\n                                 \"ENSEMBL:ENSG00000108984\"\n                                 \"UMLS:C1334475\"\n                                 \"UniProtKB:P52564\"\n                                 \"NCBIGene:5608\"\n                                 \"HGNC:6846\"\n                                 \"PR:P52564\"\n                                 \"UniProtKB:P19838\"\n                                 \"ENSEMBL:ENSG00000109320\"\n                                 \"NCBIGene:4790\"\n                                 \"HGNC:7794\"\n                                 \"PR:P19838\"\n                                 \"ENSEMBL:LRG_1316\"\n                                 \"HGNC:6861\"\n                                 \"NCBIGene:4293\"\n                                 \"PR:P80192\"\n                                 \"UMLS:C1417016\"\n                                 \"UniProtKB:P80192\"\n                                 \"ENSEMBL:ENSG00000006432\"\n                                 \"NCBIGene:1432\"\n                                 \"HGNC:6876\"\n                                 \"ENSEMBL:ENSG00000112062\"\n                                 \"UniProtKB:Q16539\"\n                                 \"UMLS:C1366876\"\n                                 \"PR:Q16539\"\n                                 \"ENSEMBL:ENSG00000107643\"\n                                 \"UMLS:C1367731\"\n                                 \"PR:P45983\"\n                                 \"HGNC:6881\"\n                                 \"UniProtKB:P45983\"\n                                 \"NCBIGene:5599\"))\n\n;; This use of query:X->Known is analogous to this miniKanren query:\n;(run* (s sname p o oname)\n;  (fresh (id drug)\n;    (edge id s o)\n;    (cprop s \"category\" drug)\n;    (cprop s \"name\" sname)\n;    (cprop o \"name\" oname)\n;    (eprop id \"predicate\" p)\n;    (membero o IL1R-pathway-synonyms)\n;    (membero p inhibit-preds)\n;    (membero drug drug-categories)))))\n\n(newline)\n(define IL1R1-pathway-drugs (query:X->Known drug-categories inhibit-preds IL1R1-pathway-synonyms))\n\n(pretty-write `(IL1R1-pathway-drugs count: ,(length IL1R1-pathway-drugs)))\n(pretty-write IL1R1-pathway-drugs)\n"
  },
  {
    "path": "contrib/medikanren2/Thi/example-one-hop-ORPHANET-ICD-9-10.rkt",
    "content": "#lang racket/base\n(require\n  \"query-low-level.rkt\"\n  racket/pretty)\n\n(define close-match-preds '(\"biolink:close_match\"))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Find ORPHANET curies that are close matches to ICD9 or ICD10 curies ;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define prefix.ORPHANET \"ORPHANET:\")\n(define prefix.ICD9     \"ICD9:\")\n(define prefix.ICD10    \"ICD10:\")\n\n(newline)\n(define ORPHANET-ICD9-matches (query:Prefix->Prefix prefix.ORPHANET close-match-preds prefix.ICD9))\n(pretty-write `(ORPHANET-ICD9-matches count: ,(length ORPHANET-ICD9-matches)))\n(pretty-write ORPHANET-ICD9-matches)\n\n(newline)\n(define ORPHANET-ICD10-matches (query:Prefix->Prefix prefix.ORPHANET close-match-preds prefix.ICD10))\n(pretty-write `(ORPHANET-ICD10-matches count: ,(length ORPHANET-ICD10-matches)))\n(pretty-write ORPHANET-ICD10-matches)\n"
  },
  {
    "path": "contrib/medikanren2/Thi/example-one-hop-UniProt-cause-OMIM.rkt",
    "content": "#lang racket/base\n(require\n  \"query-low-level.rkt\"\n  racket/pretty)\n\n(define disease-categories '(\"biolink:Disease\"\n                             \"biolink:PhenotypicFeature\"\n                             \"biolink:DiseaseOrPhenotypicFeature\"))\n\n(define cause-preds '(\"biolink:causes\"))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; find proteins implicated in a disease ;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define UniProt-to-Orphanet-curies '(\"UniProtKB:Q3MJ13\"\n                                     \"UniProtKB:Q9BZH6\"\n                                     \"UniProtKB:Q68DK2\"\n                                     \"UniProtKB:Q9ULM3\"\n                                     \"UniProtKB:O60315\"\n                                     \"UniProtKB:Q96JG9\"\n                                     \"UniProtKB:O14980\"\n                                     \"UniProtKB:Q8N8E2\"\n                                     \"UniProtKB:Q92610\"\n                                     \"UniProtKB:Q9UM01\"\n                                     \"UniProtKB:Q6PML9\"\n                                     \"UniProtKB:Q2M1K9\"\n                                     \"UniProtKB:Q8TBZ6\"\n                                     \"UniProtKB:Q6UX40\"\n                                     \"UniProtKB:P67936\"\n                                     \"UniProtKB:Q7L0Y3\"\n                                     \"UniProtKB:Q7Z4N2\"\n                                     \"UniProtKB:Q8TD43\"\n                                     \"UniProtKB:Q6DKK2\"\n                                     \"UniProtKB:Q70EL2\"\n                                     \"UniProtKB:Q9H869\"\n                                     \"UniProtKB:P35916\"\n                                     \"UniProtKB:P22309\"\n                                     \"UniProtKB:Q9Y484\"\n                                     \"UniProtKB:P56705\"\n                                     \"UniProtKB:Q8NEZ2\"\n                                     \"UniProtKB:Q9H9D4\"\n                                     \"UniProtKB:Q8NI36\"\n                                     \"UniProtKB:Q8NEZ3\"\n                                     \"UniProtKB:Q9NQH7\"\n                                     \"UniProtKB:P98170\"\n                                     \"UniProtKB:O95150\"\n                                     \"UniProtKB:P48023\"\n                                     \"UniProtKB:P09493\"\n                                     \"UniProtKB:O00300\"\n                                     \"UniProtKB:Q9NXH9\"\n                                     \"UniProtKB:P20333\"\n                                     \"UniProtKB:Q9H892\"\n                                     \"UniProtKB:Q9NUW8\"\n                                     \"UniProtKB:P23763\"\n                                     \"UniProtKB:Q9Y462\"\n                                     \"UniProtKB:Q9BZG2\"\n                                     \"UniProtKB:P31939\"\n                                     \"UniProtKB:Q9BZE2\"\n                                     \"UniProtKB:P51159\"\n                                     \"UniProtKB:Q9H082\"\n                                     \"UniProtKB:Q96NR8\"\n                                     \"UniProtKB:Q9H902\"\n                                     \"UniProtKB:Q5TAB7\"\n                                     \"UniProtKB:Q969S9\"\n                                     \"UniProtKB:P51531\"\n                                     \"UniProtKB:Q9P2R7\"\n                                     \"UniProtKB:Q9BX79\"\n                                     \"UniProtKB:P51692\"\n                                     \"UniProtKB:P08842\"\n                                     \"UniProtKB:Q14765\"\n                                     \"UniProtKB:P11277\"\n                                     \"UniProtKB:Q9NZD8\"\n                                     \"UniProtKB:Q9P2J5\"\n                                     \"UniProtKB:Q6IEE7\"\n                                     \"UniProtKB:P47897\"\n                                     \"UniProtKB:Q9UGM6\"\n                                     \"UniProtKB:P24821\"\n                                     \"UniProtKB:Q9NY65\"\n                                     \"UniProtKB:Q96BZ9\"\n                                     \"UniProtKB:P10586\"\n                                     \"UniProtKB:P63162\"\n                                     \"UniProtKB:Q13621\"\n                                     \"UniProtKB:O75845\"\n                                     \"UniProtKB:P31213\"\n                                     \"UniProtKB:P30531\"\n                                     \"UniProtKB:Q9BY12\"\n                                     \"UniProtKB:Q9Y3A5\"\n                                     \"UniProtKB:Q8IWT1\"\n                                     \"UniProtKB:P31639\"\n                                     \"UniProtKB:Q13424\"\n                                     \"UniProtKB:Q9NPD5\"\n                                     \"UniProtKB:P50452\"\n                                     \"UniProtKB:Q8TAQ2\"\n                                     \"UniProtKB:Q8TDD2\"\n                                     \"UniProtKB:Q96GM5\"\n                                     \"UniProtKB:Q658P3\"\n                                     \"UniProtKB:Q6Q759\"\n                                     \"UniProtKB:O43295\"\n                                     \"UniProtKB:Q9C004\"\n                                     \"UniProtKB:Q9NSD9\"\n                                     \"UniProtKB:P14868\"\n                                     \"UniProtKB:Q8N511\"\n                                     \"UniProtKB:P04350\"\n                                     \"UniProtKB:P12270\"\n                                     \"UniProtKB:Q8NET8\"\n                                     \"UniProtKB:O95292\"\n                                     \"UniProtKB:O15259\"\n                                     \"UniProtKB:O60313\"\n                                     \"UniProtKB:Q99572\"\n                                     \"UniProtKB:Q96FM1\"\n                                     \"UniProtKB:Q15042\"\n                                     \"UniProtKB:P35913\"\n                                     \"UniProtKB:P51160\"\n                                     \"UniProtKB:Q8IUD2\"\n                                     \"UniProtKB:P52945\"\n                                     \"UniProtKB:O43502\"\n                                     \"UniProtKB:O75771\"\n                                     \"UniProtKB:Q15120\"\n                                     \"UniProtKB:Q9UM63\"\n                                     \"UniProtKB:P00747\"\n                                     \"UniProtKB:P54277\"\n                                     \"UniProtKB:Q8NFJ6\"\n                                     \"UniProtKB:O60733\"\n                                     \"UniProtKB:Q8NBT0\"\n                                     \"UniProtKB:P57054\"\n                                     \"UniProtKB:Q9UBK2\"\n                                     \"UniProtKB:Q7L7X3\"\n                                     \"UniProtKB:P07101\"\n                                     \"UniProtKB:P40818\"\n                                     \"UniProtKB:P49810\"\n                                     \"UniProtKB:Q7Z5J4\"\n                                     \"UniProtKB:Q9UL12\"\n                                     \"UniProtKB:Q96E14\"\n                                     \"UniProtKB:O60930\"\n                                     \"UniProtKB:Q63HN8\"\n                                     \"UniProtKB:O95343\"\n                                     \"UniProtKB:P51532\"\n                                     \"UniProtKB:Q15427\"\n                                     \"UniProtKB:Q8IVB4\"\n                                     \"UniProtKB:O14656\"\n                                     \"UniProtKB:Q9BYW2\"\n                                     \"UniProtKB:Q9Y2M2\"\n                                     \"UniProtKB:Q16623\"\n                                     \"UniProtKB:Q15468\"\n                                     \"UniProtKB:P61764\"\n                                     \"UniProtKB:O95630\"\n                                     \"UniProtKB:P53597\"\n                                     \"UniProtKB:Q9NRP7\"\n                                     \"UniProtKB:Q15022\"\n                                     \"UniProtKB:O15020\"\n                                     \"UniProtKB:Q9BVA1\"\n                                     \"UniProtKB:Q9UBH6\"\n                                     \"UniProtKB:P50219\"\n                                     \"UniProtKB:P42898\"\n                                     \"UniProtKB:O75081\"\n                                     \"UniProtKB:Q86Y26\"\n                                     \"UniProtKB:Q92626\"\n                                     \"UniProtKB:P63000\"\n                                     \"UniProtKB:O43567\"\n                                     \"UniProtKB:P18577\"\n                                     \"UniProtKB:O94761\"\n                                     \"UniProtKB:O00584\"\n                                     \"UniProtKB:Q16518\"\n                                     \"UniProtKB:Q9NPC8\"\n                                     \"UniProtKB:A7XYQ1\"\n                                     \"UniProtKB:Q16650\"\n                                     \"UniProtKB:Q9Y5X0\"\n                                     \"UniProtKB:Q969G3\"\n                                     \"UniProtKB:Q12824\"\n                                     \"UniProtKB:Q92629\"\n                                     \"UniProtKB:O95363\"\n                                     \"UniProtKB:Q8IWV7\"\n                                     \"UniProtKB:Q9P0N9\"\n                                     \"UniProtKB:Q9UKE5\"\n                                     \"UniProtKB:Q9P0N5\"\n                                     \"UniProtKB:Q9HAV5\"\n                                     \"UniProtKB:Q96RJ3\"\n                                     \"UniProtKB:P53007\"\n                                     \"UniProtKB:Q8N427\"\n                                     \"UniProtKB:P07911\"\n                                     \"UniProtKB:P48651\"\n                                     \"UniProtKB:Q96IS3\"\n                                     \"UniProtKB:Q9Y4F9\"\n                                     \"UniProtKB:Q96AA3\"\n                                     \"UniProtKB:P27635\"\n                                     \"UniProtKB:Q5K651\"\n                                     \"UniProtKB:Q14108\"\n                                     \"UniProtKB:Q6P5W5\"\n                                     \"UniProtKB:O60880\"\n                                     \"UniProtKB:A6NNY8\"\n                                     \"UniProtKB:P25490\"\n                                     \"UniProtKB:P49459\"\n                                     \"UniProtKB:Q13432\"\n                                     \"UniProtKB:P04435\"\n                                     \"UniProtKB:Q9NPD8\"\n                                     \"UniProtKB:Q05086\"\n                                     \"UniProtKB:Q7Z3V4\"\n                                     \"UniProtKB:P17480\"\n                                     \"UniProtKB:Q08AM6\"\n                                     \"UniProtKB:P57082\"\n                                     \"UniProtKB:Q9UKZ4\"\n                                     \"UniProtKB:P07437\"\n                                     \"UniProtKB:Q9UJV3\"\n                                     \"UniProtKB:O75762\"\n                                     \"UniProtKB:Q9UHX1\"\n                                     \"UniProtKB:Q9NWF9\"\n                                     \"UniProtKB:P10301\"\n                                     \"UniProtKB:Q99720\"\n                                     \"UniProtKB:P54577\"\n                                     \"UniProtKB:Q0IIM8\"\n                                     \"UniProtKB:Q9ULP9\"\n                                     \"UniProtKB:P07478\"\n                                     \"UniProtKB:Q92889\"\n                                     \"UniProtKB:P42768\"\n                                     \"UniProtKB:Q6ISB3\"\n                                     \"UniProtKB:P10916\"\n                                     \"UniProtKB:Q99836\"\n                                     \"UniProtKB:Q7Z406\"\n                                     \"UniProtKB:P00387\"\n                                     \"UniProtKB:Q9UKX2\"\n                                     \"UniProtKB:O60890\"\n                                     \"UniProtKB:O00330\"\n                                     \"UniProtKB:P03999\"\n                                     \"UniProtKB:P04001\"\n                                     \"UniProtKB:Q86UR5\"\n                                     \"UniProtKB:P45378\"\n                                     \"UniProtKB:Q13114\"\n                                     \"UniProtKB:O14773\"\n                                     \"UniProtKB:P61960\"\n                                     \"UniProtKB:Q9UHD9\"\n                                     \"UniProtKB:Q3ZAQ7\"\n                                     \"UniProtKB:Q96HR9\"\n                                     \"UniProtKB:Q8IWN7\"\n                                     \"UniProtKB:P49247\"\n                                     \"UniProtKB:P56715\"\n                                     \"UniProtKB:Q9BQ52\"\n                                     \"UniProtKB:Q9NVW2\"\n                                     \"UniProtKB:Q15669\"\n                                     \"UniProtKB:P07949\"\n                                     \"UniProtKB:P40879\"\n                                     \"UniProtKB:P58743\"\n                                     \"UniProtKB:P41225\"\n                                     \"UniProtKB:Q16586\"\n                                     \"UniProtKB:Q14159\"\n                                     \"UniProtKB:P35270\"\n                                     \"UniProtKB:P28347\"\n                                     \"UniProtKB:P61812\"\n                                     \"UniProtKB:Q96Q05\"\n                                     \"UniProtKB:P51809\"\n                                     \"UniProtKB:Q8TAA9\"\n                                     \"UniProtKB:Q16572\"\n                                     \"UniProtKB:Q9H267\"\n                                     \"UniProtKB:Q96RL7\"\n                                     \"UniProtKB:Q9H091\"\n                                     \"UniProtKB:P01111\"\n                                     \"UniProtKB:O60673\"\n                                     \"UniProtKB:Q8N264\"\n                                     \"UniProtKB:Q52LW3\"\n                                     \"UniProtKB:O14593\"\n                                     \"UniProtKB:Q6ZVN8\"\n                                     \"UniProtKB:P57078\"\n                                     \"UniProtKB:P46777\"\n                                     \"UniProtKB:P23526\"\n                                     \"UniProtKB:Q92911\"\n                                     \"UniProtKB:Q9Y617\"\n                                     \"UniProtKB:Q13326\"\n                                     \"UniProtKB:Q3ZCQ8\"\n                                     \"UniProtKB:Q6ZVD7\"\n                                     \"UniProtKB:Q04837\"\n                                     \"UniProtKB:Q9UJ98\"\n                                     \"UniProtKB:P14410\"\n                                     \"UniProtKB:P46977\"\n                                     \"UniProtKB:Q5JPH6\"\n                                     \"UniProtKB:P49588\"\n                                     \"UniProtKB:Q15046\"\n                                     \"UniProtKB:Q99593\"\n                                     \"UniProtKB:Q92734\"\n                                     \"UniProtKB:Q9BQ65\"\n                                     \"UniProtKB:Q8NDX2\"\n                                     \"UniProtKB:Q9GZV5\"\n                                     \"UniProtKB:P08670\"\n                                     \"UniProtKB:Q9H6K4\"\n                                     \"UniProtKB:Q06710\"\n                                     \"UniProtKB:Q96QU1\"\n                                     \"UniProtKB:Q08499\"\n                                     \"UniProtKB:P16499\"\n                                     \"UniProtKB:Q75T13\"\n                                     \"UniProtKB:Q15198\"\n                                     \"UniProtKB:P00491\"\n                                     \"UniProtKB:P13797\"\n                                     \"UniProtKB:Q8NE79\"\n                                     \"UniProtKB:P16471\"\n                                     \"UniProtKB:Q3SYG4\"\n                                     \"UniProtKB:Q9BRK0\"\n                                     \"UniProtKB:Q96EP0\"\n                                     \"UniProtKB:P47804\"\n                                     \"UniProtKB:Q96KN7\"\n                                     \"UniProtKB:Q9BYT1\"\n                                     \"UniProtKB:P41440\"\n                                     \"UniProtKB:O60779\"\n                                     \"UniProtKB:Q9BZV2\"\n                                     \"UniProtKB:Q9Y3D3\"\n                                     \"UniProtKB:O95136\"\n                                     \"UniProtKB:Q01196\"\n                                     \"UniProtKB:Q13950\"\n                                     \"UniProtKB:P82650\"\n                                     \"UniProtKB:Q8WYR4\"\n                                     \"UniProtKB:Q08357\"\n                                     \"UniProtKB:Q9H1X1\"\n                                     \"UniProtKB:O76082\"\n                                     \"UniProtKB:Q9Y2B1\"\n                                     \"UniProtKB:Q96S37\"\n                                     \"UniProtKB:Q9Y2V3\"\n                                     \"UniProtKB:Q9NWS8\"\n                                     \"UniProtKB:Q9Y2P5\"\n                                     \"UniProtKB:O75792\"\n                                     \"UniProtKB:Q8IYW5\"\n                                     \"UniProtKB:Q9UQD0\"\n                                     \"UniProtKB:P78381\"\n                                     \"UniProtKB:Q9Y2D2\"\n                                     \"UniProtKB:P51168\"\n                                     \"UniProtKB:P21912\"\n                                     \"UniProtKB:O75880\"\n                                     \"UniProtKB:O43819\"\n                                     \"UniProtKB:Q9NTN3\"\n                                     \"UniProtKB:O43175\"\n                                     \"UniProtKB:P23246\"\n                                     \"UniProtKB:Q6FHJ7\"\n                                     \"UniProtKB:O43541\"\n                                     \"UniProtKB:P0C7P3\"\n                                     \"UniProtKB:Q07889\"\n                                     \"UniProtKB:Q07890\"\n                                     \"UniProtKB:O15198\"\n                                     \"UniProtKB:Q9NR45\"\n                                     \"UniProtKB:Q96AH0\"\n                                     \"UniProtKB:O15266\"\n                                     \"UniProtKB:P57059\"\n                                     \"UniProtKB:Q9UHJ6\"\n                                     \"UniProtKB:Q11203\"\n                                     \"UniProtKB:Q9BQB4\"\n                                     \"UniProtKB:Q9UNP4\"\n                                     \"UniProtKB:Q9NZJ4\"\n                                     \"UniProtKB:Q9H9J2\"\n                                     \"UniProtKB:Q9GZN7\"\n                                     \"UniProtKB:Q15477\"\n                                     \"UniProtKB:Q5FBB7\"\n                                     \"UniProtKB:P12755\"\n                                     \"UniProtKB:O95470\"\n                                     \"UniProtKB:Q92673\"\n                                     \"UniProtKB:Q92766\"\n                                     \"UniProtKB:Q15465\"\n                                     \"UniProtKB:P08708\"\n                                     \"UniProtKB:O15357\"\n                                     \"UniProtKB:P19634\"\n                                     \"UniProtKB:P62263\"\n                                     \"UniProtKB:Q9NZ71\"\n                                     \"UniProtKB:Q86YT5\"\n                                     \"UniProtKB:Q6UVJ0\"\n                                     \"UniProtKB:Q13228\"\n                                     \"UniProtKB:O94885\"\n                                     \"UniProtKB:O43548\"\n                                     \"UniProtKB:P24752\"\n                                     \"UniProtKB:O14746\"\n                                     \"UniProtKB:Q14563\"\n                                     \"UniProtKB:Q99250\"\n                                     \"UniProtKB:Q9Y467\"\n                                     \"UniProtKB:Q9H3S1\"\n                                     \"UniProtKB:Q13591\"\n                                     \"UniProtKB:Q8N8I0\"\n                                     \"UniProtKB:O43623\"\n                                     \"UniProtKB:Q9Y5W7\"\n                                     \"UniProtKB:Q07617\"\n                                     \"UniProtKB:Q15833\"\n                                     \"UniProtKB:Q86WV6\"\n                                     \"UniProtKB:P63165\"\n                                     \"UniProtKB:P42224\"\n                                     \"UniProtKB:Q92750\"\n                                     \"UniProtKB:Q03518\"\n                                     \"UniProtKB:P22735\"\n                                     \"UniProtKB:Q9P202\"\n                                     \"UniProtKB:O00755\"\n                                     \"UniProtKB:O43516\"\n                                     \"UniProtKB:Q9NZR4\"\n                                     \"UniProtKB:O43435\"\n                                     \"UniProtKB:Q13263\"\n                                     \"UniProtKB:O95947\"\n                                     \"UniProtKB:Q16625\"\n                                     \"UniProtKB:Q06495\"\n                                     \"UniProtKB:P12004\"\n                                     \"UniProtKB:Q9NPG4\"\n                                     \"UniProtKB:O95453\"\n                                     \"UniProtKB:O15350\"\n                                     \"UniProtKB:P27986\"\n                                     \"UniProtKB:P98175\"\n                                     \"UniProtKB:Q16816\"\n                                     \"UniProtKB:Q92698\"\n                                     \"UniProtKB:P49792\"\n                                     \"UniProtKB:Q8TCS8\"\n                                     \"UniProtKB:Q9P212\"\n                                     \"UniProtKB:P11086\"\n                                     \"UniProtKB:Q02809\"\n                                     \"UniProtKB:Q96AD5\"\n                                     \"UniProtKB:Q9NST1\"\n                                     \"UniProtKB:Q9BXM0\"\n                                     \"UniProtKB:P04156\"\n                                     \"UniProtKB:P06737\"\n                                     \"UniProtKB:Q9H1K0\"\n                                     \"UniProtKB:Q15283\"\n                                     \"UniProtKB:Q9NW13\"\n                                     \"UniProtKB:P62491\"\n                                     \"UniProtKB:Q7Z3Z2\"\n                                     \"UniProtKB:Q7LG56\"\n                                     \"UniProtKB:Q05823\"\n                                     \"UniProtKB:Q8WU17\"\n                                     \"UniProtKB:Q03395\"\n                                     \"UniProtKB:P60880\"\n                                     \"UniProtKB:Q13485\"\n                                     \"UniProtKB:Q9C0A6\"\n                                     \"UniProtKB:Q9H173\"\n                                     \"UniProtKB:Q7Z333\"\n                                     \"UniProtKB:P81133\"\n                                     \"UniProtKB:Q01105\"\n                                     \"UniProtKB:Q07837\"\n                                     \"UniProtKB:P55000\"\n                                     \"UniProtKB:Q8IWL2\"\n                                     \"UniProtKB:Q96ST3\"\n                                     \"UniProtKB:P01241\"\n                                     \"UniProtKB:Q96PX8\"\n                                     \"UniProtKB:Q96GP6\"\n                                     \"UniProtKB:Q8IZU3\"\n                                     \"UniProtKB:P19971\"\n                                     \"UniProtKB:Q9Y5Z9\"\n                                     \"UniProtKB:Q8IWB6\"\n                                     \"UniProtKB:P98155\"\n                                     \"UniProtKB:Q8IUC6\"\n                                     \"UniProtKB:Q71U36\"\n                                     \"UniProtKB:Q9BTW9\"\n                                     \"UniProtKB:Q15025\"\n                                     \"UniProtKB:P43489\"\n                                     \"UniProtKB:P07204\"\n                                     \"UniProtKB:Q6ICL3\"\n                                     \"UniProtKB:P25445\"\n                                     \"UniProtKB:P19429\"\n                                     \"UniProtKB:Q9BX84\"\n                                     \"UniProtKB:Q8IWX7\"\n                                     \"UniProtKB:Q495T6\"\n                                     \"UniProtKB:Q15742\"\n                                     \"UniProtKB:P12883\"\n                                     \"UniProtKB:Q9H1R3\"\n                                     \"UniProtKB:P0DJ07\"\n                                     \"UniProtKB:P01112\"\n                                     \"UniProtKB:P06400\"\n                                     \"UniProtKB:P61254\"\n                                     \"UniProtKB:Q96MS0\"\n                                     \"UniProtKB:Q01973\"\n                                     \"UniProtKB:Q15573\"\n                                     \"UniProtKB:P08247\"\n                                     \"UniProtKB:P17600\"\n                                     \"UniProtKB:Q969X6\"\n                                     \"UniProtKB:Q6N021\"\n                                     \"UniProtKB:Q9NZ01\"\n                                     \"UniProtKB:Q16635\"\n                                     \"UniProtKB:O75962\"\n                                     \"UniProtKB:Q969Z4\"\n                                     \"UniProtKB:Q9HBA0\"\n                                     \"UniProtKB:P04628\"\n                                     \"UniProtKB:P04275\"\n                                     \"UniProtKB:P41221\"\n                                     \"UniProtKB:P25942\"\n                                     \"UniProtKB:P50607\"\n                                     \"UniProtKB:P06753\"\n                                     \"UniProtKB:O75204\"\n                                     \"UniProtKB:Q9BZR9\"\n                                     \"UniProtKB:Q8NA56\"\n                                     \"UniProtKB:Q9Y6N9\"\n                                     \"UniProtKB:Q9P2L0\"\n                                     \"UniProtKB:P39656\"\n                                     \"UniProtKB:O43316\"\n                                     \"UniProtKB:Q9UBL9\"\n                                     \"UniProtKB:O00444\"\n                                     \"UniProtKB:Q92622\"\n                                     \"UniProtKB:Q9HA77\"\n                                     \"UniProtKB:Q8NDW8\"\n                                     \"UniProtKB:Q9UPW8\"\n                                     \"UniProtKB:Q9H1C4\"\n                                     \"UniProtKB:Q8NBM4\"\n                                     \"UniProtKB:P14679\"\n                                     \"UniProtKB:P15918\"\n                                     \"UniProtKB:Q06609\"\n                                     \"UniProtKB:P18583\"\n                                     \"UniProtKB:P46783\"\n                                     \"UniProtKB:Q15532\"\n                                     \"UniProtKB:Q9Y4P3\"\n                                     \"UniProtKB:P31314\"\n                                     \"UniProtKB:Q6IQ55\"\n                                     \"UniProtKB:Q2YD98\"\n                                     \"UniProtKB:C9JLR9\"\n                                     \"UniProtKB:P11217\"\n                                     \"UniProtKB:Q9ULC3\"\n                                     \"UniProtKB:Q02161\"\n                                     \"UniProtKB:Q68DV7\"\n                                     \"UniProtKB:O95602\"\n                                     \"UniProtKB:Q9Y252\"\n                                     \"UniProtKB:Q9Y535\"\n                                     \"UniProtKB:P02753\"\n                                     \"UniProtKB:Q8HWS3\"\n                                     \"UniProtKB:Q8IUX1\"\n                                     \"UniProtKB:Q9Y4K3\"\n                                     \"UniProtKB:P01375\"\n                                     \"UniProtKB:Q9UHF7\"\n                                     \"UniProtKB:O15160\"\n                                     \"UniProtKB:P51571\"\n                                     \"UniProtKB:Q6NXT6\"\n                                     \"UniProtKB:Q9NUM4\"\n                                     \"UniProtKB:P21731\"\n                                     \"UniProtKB:Q9NVV9\"\n                                     \"UniProtKB:Q5HYJ1\"\n                                     \"UniProtKB:Q9HC07\"\n                                     \"UniProtKB:Q9Y296\"\n                                     \"UniProtKB:Q15813\"\n                                     \"UniProtKB:P16473\"\n                                     \"UniProtKB:O75631\"\n                                     \"UniProtKB:P35125\"\n                                     \"UniProtKB:O43543\"\n                                     \"UniProtKB:P37275\"\n                                     \"UniProtKB:O43895\"\n                                     \"UniProtKB:Q01974\"\n                                     \"UniProtKB:P39019\"\n                                     \"UniProtKB:P62857\"\n                                     \"UniProtKB:P48436\"\n                                     \"UniProtKB:Q9UPX8\"\n                                     \"UniProtKB:Q92925\"\n                                     \"UniProtKB:Q14683\"\n                                     \"UniProtKB:O76094\"\n                                     \"UniProtKB:Q6ZRS2\"\n                                     \"UniProtKB:Q15772\"\n                                     \"UniProtKB:Q15543\"\n                                     \"UniProtKB:Q9NS62\"\n                                     \"UniProtKB:O60806\"\n                                     \"UniProtKB:P10600\"\n                                     \"UniProtKB:Q9NYB0\"\n                                     \"UniProtKB:Q9UHD2\"\n                                     \"UniProtKB:Q8TEA7\"\n                                     \"UniProtKB:P20226\"\n                                     \"UniProtKB:P40238\"\n                                     \"UniProtKB:O94972\"\n                                     \"UniProtKB:Q9C040\"\n                                     \"UniProtKB:P29144\"\n                                     \"UniProtKB:Q9H3S4\"\n                                     \"UniProtKB:P11473\"\n                                     \"UniProtKB:Q709C8\"\n                                     \"UniProtKB:P15941\"\n                                     \"UniProtKB:O43908\"\n                                     \"UniProtKB:Q8TB73\"\n                                     \"UniProtKB:Q99748\"\n                                     \"UniProtKB:Q12980\"\n                                     \"UniProtKB:Q9GZU5\"\n                                     \"UniProtKB:P08559\"\n                                     \"UniProtKB:Q02218\"\n                                     \"UniProtKB:Q6DKJ4\"\n                                     \"UniProtKB:P37231\"\n                                     \"UniProtKB:P19438\"\n                                     \"UniProtKB:P05543\"\n                                     \"UniProtKB:Q9Y6Q6\"\n                                     \"UniProtKB:P00750\"\n                                     \"UniProtKB:P00749\"\n                                     \"UniProtKB:P56703\"\n                                     \"UniProtKB:P0C1S8\"\n                                     \"UniProtKB:Q2TAL8\"\n                                     \"UniProtKB:P10276\"\n                                     \"UniProtKB:Q96T37\"\n                                     \"UniProtKB:Q8TC12\"\n                                     \"UniProtKB:P62899\"\n                                     \"UniProtKB:Q7L3T8\"\n                                     \"UniProtKB:P22105\"\n                                     \"UniProtKB:O15455\"\n                                     \"UniProtKB:Q9Y3C4\"\n                                     \"UniProtKB:Q5JTV8\"\n                                     \"UniProtKB:Q9NS56\"\n                                     \"UniProtKB:Q96HA7\"\n                                     \"UniProtKB:P02787\"\n                                     \"UniProtKB:Q8NEW7\"\n                                     \"UniProtKB:Q9BTV4\"\n                                     \"UniProtKB:P01222\"\n                                     \"UniProtKB:Q9UMW8\"\n                                     \"UniProtKB:Q8NFH4\"\n                                     \"UniProtKB:Q9Y5N6\"\n                                     \"UniProtKB:Q8N1F7\"\n                                     \"UniProtKB:P10619\"\n                                     \"UniProtKB:Q96NR3\"\n                                     \"UniProtKB:Q13049\"\n                                     \"UniProtKB:O14763\"\n                                     \"UniProtKB:Q5SV17\"\n                                     \"UniProtKB:Q96DA6\"\n                                     \"UniProtKB:Q7Z4L5\"\n                                     \"UniProtKB:Q70J99\"\n                                     \"UniProtKB:Q8N2C7\"\n                                     \"UniProtKB:P29597\"\n                                     \"UniProtKB:O43914\"\n                                     \"UniProtKB:P0CG47\"\n                                     \"UniProtKB:P62244\"\n                                     \"UniProtKB:O60687\"\n                                     \"UniProtKB:Q9UQ90\"\n                                     \"UniProtKB:Q7Z699\"\n                                     \"UniProtKB:Q13509\"\n                                     \"UniProtKB:P10636\"\n                                     \"UniProtKB:P40225\"\n                                     \"UniProtKB:Q92994\"\n                                     \"UniProtKB:Q8TDI8\"\n                                     \"UniProtKB:Q9BUB7\"\n                                     \"UniProtKB:Q8WZ42\"\n                                     \"UniProtKB:Q9Y606\"\n                                     \"UniProtKB:Q92574\"\n                                     \"UniProtKB:Q9ULT0\"\n                                     \"UniProtKB:Q13454\"\n                                     \"UniProtKB:P21281\"\n                                     \"UniProtKB:P47989\"\n                                     \"UniProtKB:P51811\"\n                                     \"UniProtKB:Q6PJT7\"\n                                     \"UniProtKB:P23025\"\n                                     \"UniProtKB:O60481\"\n                                     \"UniProtKB:Q9H4Z2\"\n                                     \"UniProtKB:Q8N9L1\"\n                                     \"UniProtKB:O95409\"\n                                     \"UniProtKB:Q6UXX9\"\n                                     \"UniProtKB:Q96IZ7\"\n                                     \"UniProtKB:P21817\"\n                                     \"UniProtKB:Q92736\"\n                                     \"UniProtKB:O95932\"\n                                     \"UniProtKB:Q86W42\"\n                                     \"UniProtKB:Q96KG9\"\n                                     \"UniProtKB:Q9NSC2\"\n                                     \"UniProtKB:P35499\"\n                                     \"UniProtKB:Q9NY46\"\n                                     \"UniProtKB:P48643\"\n                                     \"UniProtKB:Q70HW3\"\n                                     \"UniProtKB:P50443\"\n                                     \"UniProtKB:Q5T011\"\n                                     \"UniProtKB:Q9BZK7\"\n                                     \"UniProtKB:Q8WU66\"\n                                     \"UniProtKB:P47985\"\n                                     \"UniProtKB:P38435\"\n                                     \"UniProtKB:Q96AX1\"\n                                     \"UniProtKB:Q96KR1\"\n                                     \"UniProtKB:Q9ULJ6\"\n                                     \"UniProtKB:Q96JM2\"\n                                     \"UniProtKB:P38935\"\n                                     \"UniProtKB:Q9H4L7\"\n                                     \"UniProtKB:Q9HD40\"\n                                     \"UniProtKB:Q8N0X7\"\n                                     \"UniProtKB:O60264\"\n                                     \"UniProtKB:Q5TCZ1\"\n                                     \"UniProtKB:Q9UM00\"\n                                     \"UniProtKB:Q16384\"\n                                     \"UniProtKB:O14662\"\n                                     \"UniProtKB:O00204\"\n                                     \"UniProtKB:Q15831\"\n                                     \"UniProtKB:P49590\"\n                                     \"UniProtKB:Q96GX1\"\n                                     \"UniProtKB:O43711\"\n                                     \"UniProtKB:Q13061\"\n                                     \"UniProtKB:Q8TAM2\"\n                                     \"UniProtKB:Q92890\"\n                                     \"UniProtKB:P13051\"\n                                     \"UniProtKB:Q495M9\"\n                                     \"UniProtKB:Q9HCJ5\"\n                                     \"UniProtKB:Q8N1G0\"\n                                     \"UniProtKB:Q05996\"\n                                     \"UniProtKB:P63316\"\n                                     \"UniProtKB:Q13507\"\n                                     \"UniProtKB:O95859\"\n                                     \"UniProtKB:P35968\"\n                                     \"UniProtKB:Q15928\"\n                                     \"UniProtKB:Q05516\"\n                                     \"UniProtKB:O14836\"\n                                     \"UniProtKB:P13805\"\n                                     \"UniProtKB:O14788\"\n                                     \"UniProtKB:Q12768\"\n                                     \"UniProtKB:Q9HCF6\"\n                                     \"UniProtKB:O75445\"\n                                     \"UniProtKB:Q68DE3\"\n                                     \"UniProtKB:P49767\"\n                                     \"UniProtKB:O75695\"\n                                     \"UniProtKB:Q05940\"\n                                     \"UniProtKB:Q6P4I2\"\n                                     \"UniProtKB:Q86UP3\"\n                                     \"UniProtKB:Q99592\"\n                                     \"UniProtKB:Q9UDY2\"\n                                     \"UniProtKB:P51814\"\n                                     \"UniProtKB:Q9NQZ6\"\n                                     \"UniProtKB:Q99986\"\n                                     \"UniProtKB:Q9NU63\"\n                                     \"UniProtKB:O43379\"\n                                     \"UniProtKB:P15313\"\n                                     \"UniProtKB:Q96QK1\"\n                                     \"UniProtKB:Q562E7\"\n                                     \"UniProtKB:Q70YC5\"\n                                     \"UniProtKB:Q15326\"\n                                     \"UniProtKB:Q8WW01\"\n                                     \"UniProtKB:O43511\"\n                                     \"UniProtKB:Q96RN1\"\n                                     \"UniProtKB:P35237\"\n                                     \"UniProtKB:Q9H3U7\"\n                                     \"UniProtKB:Q9UQ13\"\n                                     \"UniProtKB:O75558\"\n                                     \"UniProtKB:Q9H668\"\n                                     \"UniProtKB:Q9BXB7\"\n                                     \"UniProtKB:P51688\"\n                                     \"UniProtKB:Q9C093\"\n                                     \"UniProtKB:Q9UPN9\"\n                                     \"UniProtKB:P35625\"\n                                     \"UniProtKB:Q6NXR4\"\n                                     \"UniProtKB:Q969T9\"\n                                     \"UniProtKB:Q8IYF3\"\n                                     \"UniProtKB:Q9UMR3\"\n                                     \"UniProtKB:O15178\"\n                                     \"UniProtKB:P01266\"\n                                     \"UniProtKB:P21580\"\n                                     \"UniProtKB:O00206\"\n                                     \"UniProtKB:Q9BSI4\"\n                                     \"UniProtKB:P04818\"\n                                     \"UniProtKB:O00507\"\n                                     \"UniProtKB:Q9Y5L0\"\n                                     \"UniProtKB:Q96GM8\"\n                                     \"UniProtKB:Q8IU68\"\n                                     \"UniProtKB:O15533\"\n                                     \"UniProtKB:Q96DX7\"\n                                     \"UniProtKB:Q8WVR3\"\n                                     \"UniProtKB:Q9H6L2\"\n                                     \"UniProtKB:Q13426\"\n                                     \"UniProtKB:Q9NZC7\"\n                                     \"UniProtKB:P57081\"\n                                     \"UniProtKB:O43167\"\n                                     \"UniProtKB:P41732\"\n                                     \"UniProtKB:P83876\"\n                                     \"UniProtKB:P22314\"\n                                     \"UniProtKB:P30518\"\n                                     \"UniProtKB:Q93008\"\n                                     \"UniProtKB:Q9BRT2\"\n                                     \"UniProtKB:Q13488\"\n                                     \"UniProtKB:Q9Y487\"\n                                     \"UniProtKB:Q9H4A3\"\n                                     \"UniProtKB:Q9NRW7\"\n                                     \"UniProtKB:Q9H1B5\"\n                                     \"UniProtKB:Q86Y38\"\n                                     \"UniProtKB:O60568\"\n                                     \"UniProtKB:Q9Y244\"\n                                     \"UniProtKB:Q9BX97\"\n                                     \"UniProtKB:P09486\"\n                                     \"UniProtKB:Q6ZSZ6\"\n                                     \"UniProtKB:Q9NNW7\"\n                                     \"UniProtKB:P55851\"\n                                     \"UniProtKB:P68036\"\n                                     \"UniProtKB:P36543\"\n                                     \"UniProtKB:P56704\"\n                                     \"UniProtKB:P43403\"\n                                     \"UniProtKB:Q8N196\"\n                                     \"UniProtKB:Q9P0W8\"\n                                     \"UniProtKB:P09936\"\n                                     \"UniProtKB:Q6P1X5\"\n                                     \"UniProtKB:Q96Q11\"\n                                     \"UniProtKB:O00294\"\n                                     \"UniProtKB:Q9NUQ7\"\n                                     \"UniProtKB:Q9HC78\"\n                                     \"UniProtKB:P48788\"\n                                     \"UniProtKB:P23510\"\n                                     \"UniProtKB:P02766\"\n                                     \"UniProtKB:Q6EMB2\"\n                                     \"UniProtKB:Q9Y210\"\n                                     \"UniProtKB:Q969E8\"\n                                     \"UniProtKB:P49815\"\n                                     \"UniProtKB:O95551\"\n                                     \"UniProtKB:Q8WVJ9\"\n                                     \"UniProtKB:Q6UW78\"\n                                     \"UniProtKB:Q2M389\"\n                                     \"UniProtKB:P51508\"\n                                     \"UniProtKB:Q6XR72\"\n                                     \"UniProtKB:P21754\"\n                                     \"UniProtKB:Q9UK55\"\n                                     \"UniProtKB:O75800\"\n                                     \"UniProtKB:Q14191\"\n                                     \"UniProtKB:Q9H7D7\"\n                                     \"UniProtKB:Q15915\"\n                                     \"UniProtKB:P17948\"\n                                     \"UniProtKB:Q9GZT5\"\n                                     \"UniProtKB:O00744\"\n                                     \"UniProtKB:Q5VIR6\"\n                                     \"UniProtKB:Q8TAF3\"\n                                     \"UniProtKB:O75351\"\n                                     \"UniProtKB:P31629\"\n                                     \"UniProtKB:Q02127\"\n                                     \"UniProtKB:Q5T160\"\n                                     \"UniProtKB:P21675\"\n                                     \"UniProtKB:Q02763\"\n                                     \"UniProtKB:Q96J92\"\n                                     \"UniProtKB:Q9BXT5\"\n                                     \"UniProtKB:O43508\"\n                                     \"UniProtKB:O43897\"\n                                     \"UniProtKB:Q6PGP7\"\n                                     \"UniProtKB:Q93009\"\n                                     \"UniProtKB:Q9ULK5\"\n                                     \"UniProtKB:O76024\"\n                                     \"UniProtKB:Q9HBG4\"\n                                     \"UniProtKB:P19544\"\n                                     \"UniProtKB:O15537\"\n                                     \"UniProtKB:Q7Z7G8\"\n                                     \"UniProtKB:P07951\"\n                                     \"UniProtKB:Q9BWF2\"\n                                     \"UniProtKB:P07477\"\n                                     \"UniProtKB:Q8IZQ1\"\n                                     \"UniProtKB:O43314\"\n                                     \"UniProtKB:Q9BQB6\"\n                                     \"UniProtKB:P20396\"\n                                     \"UniProtKB:Q4KMQ1\"\n                                     \"UniProtKB:Q15029\"\n                                     \"UniProtKB:Q9H0U9\"\n                                     \"UniProtKB:Q9H270\"\n                                     \"UniProtKB:Q9BTA9\"\n                                     \"UniProtKB:P60852\"\n                                     \"UniProtKB:Q15649\"\n                                     \"UniProtKB:Q86UX7\"\n                                     \"UniProtKB:P46937\"\n                                     \"UniProtKB:Q9Y397\"\n                                     \"UniProtKB:Q32MQ0\"\n                                     \"UniProtKB:Q99758\"\n                                     \"UniProtKB:Q8N6G6\"\n                                     \"UniProtKB:Q6UY14\"\n                                     \"UniProtKB:Q8IZY2\"\n                                     \"UniProtKB:P01009\"\n                                     \"UniProtKB:P82251\"\n                                     \"UniProtKB:O14678\"\n                                     \"UniProtKB:A8K2U0\"\n                                     \"UniProtKB:P43251\"\n                                     \"UniProtKB:P30153\"\n                                     \"UniProtKB:P46952\"\n                                     \"UniProtKB:Q00973\"\n                                     \"UniProtKB:Q9H221\"\n                                     \"UniProtKB:Q13515\"\n                                     \"UniProtKB:P30556\"\n                                     \"UniProtKB:P49419\"\n                                     \"UniProtKB:P26439\"\n                                     \"UniProtKB:P62258\"\n                                     \"UniProtKB:Q9H2F3\"\n                                     \"UniProtKB:Q6PD74\"\n                                     \"UniProtKB:Q9NUN7\"\n                                     \"UniProtKB:O95972\"\n                                     \"UniProtKB:P01011\"\n                                     \"UniProtKB:P49902\"\n                                     \"UniProtKB:P35858\"\n                                     \"UniProtKB:Q99217\"\n                                     \"UniProtKB:Q9UEY8\"\n                                     \"UniProtKB:P63261\"\n                                     \"UniProtKB:Q8NB90\"\n                                     \"UniProtKB:Q01718\"\n                                     \"UniProtKB:Q9Y4W6\"\n                                     \"UniProtKB:Q9BV10\"\n                                     \"UniProtKB:O95622\"\n                                     \"UniProtKB:P50747\"\n                                     \"UniProtKB:Q96F25\"\n                                     \"UniProtKB:Q9Y672\"\n                                     \"UniProtKB:P15085\"\n                                     \"UniProtKB:Q9NQW6\"\n                                     \"UniProtKB:P36405\"\n                                     \"UniProtKB:P02649\"\n                                     \"UniProtKB:Q9UNH5\"\n                                     \"UniProtKB:Q9Y259\"\n                                     \"UniProtKB:P15391\"\n                                     \"UniProtKB:O14617\"\n                                     \"UniProtKB:P56377\"\n                                     \"UniProtKB:O14791\"\n                                     \"UniProtKB:P11245\"\n                                     \"UniProtKB:O60312\"\n                                     \"UniProtKB:Q86WG3\"\n                                     \"UniProtKB:Q8N6F1\"\n                                     \"UniProtKB:P51793\"\n                                     \"UniProtKB:Q5TC12\"\n                                     \"UniProtKB:O15072\"\n                                     \"UniProtKB:P02458\"\n                                     \"UniProtKB:P29400\"\n                                     \"UniProtKB:Q14031\"\n                                     \"UniProtKB:Q9P2N4\"\n                                     \"UniProtKB:P20908\"\n                                     \"UniProtKB:Q96RK0\"\n                                     \"UniProtKB:P12111\"\n                                     \"UniProtKB:Q86WW8\"\n                                     \"UniProtKB:Q9Y6Z7\"\n                                     \"UniProtKB:P11712\"\n                                     \"UniProtKB:Q9BWP8\"\n                                     \"UniProtKB:Q7KZN9\"\n                                     \"UniProtKB:P01189\"\n                                     \"UniProtKB:Q7Z449\"\n                                     \"UniProtKB:O43405\"\n                                     \"UniProtKB:Q96BA8\"\n                                     \"UniProtKB:P53673\"\n                                     \"UniProtKB:Q9Y215\"\n                                     \"UniProtKB:Q5TAT6\"\n                                     \"UniProtKB:P53674\"\n                                     \"UniProtKB:Q70SY1\"\n                                     \"UniProtKB:P43320\"\n                                     \"UniProtKB:P00395\"\n                                     \"UniProtKB:P07333\"\n                                     \"UniProtKB:Q13705\"\n                                     \"UniProtKB:Q96KJ9\"\n                                     \"UniProtKB:P61769\"\n                                     \"UniProtKB:P31146\"\n                                     \"UniProtKB:P10176\"\n                                     \"UniProtKB:Q99708\"\n                                     \"UniProtKB:Q9UIG0\"\n                                     \"UniProtKB:Q13075\"\n                                     \"UniProtKB:Q9BPU9\"\n                                     \"UniProtKB:Q01954\"\n                                     \"UniProtKB:Q96G97\"\n                                     \"UniProtKB:Q8TD16\"\n                                     \"UniProtKB:P00167\"\n                                     \"UniProtKB:Q53S33\"\n                                     \"UniProtKB:Q8NFJ9\"\n                                     \"UniProtKB:Q9UJW0\"\n                                     \"UniProtKB:Q03135\"\n                                     \"UniProtKB:Q14790\"\n                                     \"UniProtKB:Q9UER7\"\n                                     \"UniProtKB:Q9NQZ3\"\n                                     \"UniProtKB:Q13117\"\n                                     \"UniProtKB:Q9NR90\"\n                                     \"UniProtKB:Q86SG3\"\n                                     \"UniProtKB:P35659\"\n                                     \"UniProtKB:Q5D0E6\"\n                                     \"UniProtKB:Q16832\"\n                                     \"UniProtKB:Q99259\"\n                                     \"UniProtKB:O15484\"\n                                     \"UniProtKB:P04040\"\n                                     \"UniProtKB:Q9UPW5\"\n                                     \"UniProtKB:O00571\"\n                                     \"UniProtKB:O15523\"\n                                     \"UniProtKB:O95822\"\n                                     \"UniProtKB:Q9UJV9\"\n                                     \"UniProtKB:Q5TAQ9\"\n                                     \"UniProtKB:Q92793\"\n                                     \"UniProtKB:O60826\"\n                                     \"UniProtKB:Q8N4T0\"\n                                     \"UniProtKB:P15882\"\n                                     \"UniProtKB:Q96NL8\"\n                                     \"UniProtKB:Q96M91\"\n                                     \"UniProtKB:Q9P2D1\"\n                                     \"UniProtKB:P08603\"\n                                     \"UniProtKB:Q5T0N1\"\n                                     \"UniProtKB:Q02224\"\n                                     \"UniProtKB:P30279\"\n                                     \"UniProtKB:O43186\"\n                                     \"UniProtKB:O14810\"\n                                     \"UniProtKB:P20674\"\n                                     \"UniProtKB:P06850\"\n                                     \"UniProtKB:P53621\"\n                                     \"UniProtKB:P00414\"\n                                     \"UniProtKB:P00533\"\n                                     \"UniProtKB:Q9Y5B0\"\n                                     \"UniProtKB:P19235\"\n                                     \"UniProtKB:P13498\"\n                                     \"UniProtKB:Q12929\"\n                                     \"UniProtKB:Q9UQB3\"\n                                     \"UniProtKB:P25025\"\n                                     \"UniProtKB:Q13873\"\n                                     \"UniProtKB:P08236\"\n                                     \"UniProtKB:P21589\"\n                                     \"UniProtKB:Q9UHK6\"\n                                     \"UniProtKB:P05062\"\n                                     \"UniProtKB:Q96PN6\"\n                                     \"UniProtKB:P12235\"\n                                     \"UniProtKB:Q4G176\"\n                                     \"UniProtKB:O43306\"\n                                     \"UniProtKB:P68133\"\n                                     \"UniProtKB:Q9H553\"\n                                     \"UniProtKB:P62736\"\n                                     \"UniProtKB:Q9NPB3\"\n                                     \"UniProtKB:Q969Q4\"\n                                     \"UniProtKB:Q01668\"\n                                     \"UniProtKB:P41181\"\n                                     \"UniProtKB:P53680\"\n                                     \"UniProtKB:Q8IU89\"\n                                     \"UniProtKB:P30533\"\n                                     \"UniProtKB:Q15744\"\n                                     \"UniProtKB:Q9Y587\"\n                                     \"UniProtKB:P00751\"\n                                     \"UniProtKB:P05023\"\n                                     \"UniProtKB:P01160\"\n                                     \"UniProtKB:P51690\"\n                                     \"UniProtKB:Q01814\"\n                                     \"UniProtKB:Q8N9N2\"\n                                     \"UniProtKB:P78357\"\n                                     \"UniProtKB:Q13825\"\n                                     \"UniProtKB:Q9UQB9\"\n                                     \"UniProtKB:O15169\"\n                                     \"UniProtKB:Q9Y2T1\"\n                                     \"UniProtKB:Q9NR63\"\n                                     \"UniProtKB:P54710\"\n                                     \"UniProtKB:P07315\"\n                                     \"UniProtKB:Q9BU40\"\n                                     \"UniProtKB:Q6PJG6\"\n                                     \"UniProtKB:Q8NCR0\"\n                                     \"UniProtKB:P51451\"\n                                     \"UniProtKB:Q13489\"\n                                     \"UniProtKB:Q8N3I7\"\n                                     \"UniProtKB:P29323\"\n                                     \"UniProtKB:P54764\"\n                                     \"UniProtKB:P00488\"\n                                     \"UniProtKB:Q96BN6\"\n                                     \"UniProtKB:Q13158\"\n                                     \"UniProtKB:P11171\"\n                                     \"UniProtKB:O95528\"\n                                     \"UniProtKB:O15360\"\n                                     \"UniProtKB:O43826\"\n                                     \"UniProtKB:P07902\"\n                                     \"UniProtKB:Q96D09\"\n                                     \"UniProtKB:Q14CM0\"\n                                     \"UniProtKB:P14653\"\n                                     \"UniProtKB:P48506\"\n                                     \"UniProtKB:Q6DN90\"\n                                     \"UniProtKB:Q9BT40\"\n                                     \"UniProtKB:Q17R60\"\n                                     \"UniProtKB:Q04695\"\n                                     \"UniProtKB:Q99456\"\n                                     \"UniProtKB:P13645\"\n                                     \"UniProtKB:Q7RTS7\"\n                                     \"UniProtKB:Q96MP8\"\n                                     \"UniProtKB:Q8NG31\"\n                                     \"UniProtKB:Q2TBA0\"\n                                     \"UniProtKB:Q9P2J3\"\n                                     \"UniProtKB:Q09470\"\n                                     \"UniProtKB:Q8N5Z5\"\n                                     \"UniProtKB:O43525\"\n                                     \"UniProtKB:P23352\"\n                                     \"UniProtKB:P24043\"\n                                     \"UniProtKB:P04180\"\n                                     \"UniProtKB:Q9BVA0\"\n                                     \"UniProtKB:P20585\"\n                                     \"UniProtKB:P55157\"\n                                     \"UniProtKB:P36776\"\n                                     \"UniProtKB:Q8WVP7\"\n                                     \"UniProtKB:Q99542\"\n                                     \"UniProtKB:P37198\"\n                                     \"UniProtKB:Q5T2S8\"\n                                     \"UniProtKB:P23760\"\n                                     \"UniProtKB:P32243\"\n                                     \"UniProtKB:Q9H244\"\n                                     \"UniProtKB:P17706\"\n                                     \"UniProtKB:P60484\"\n                                     \"UniProtKB:Q7RTS3\"\n                                     \"UniProtKB:P30566\"\n                                     \"UniProtKB:Q8IVL5\"\n                                     \"UniProtKB:O00459\"\n                                     \"UniProtKB:Q14432\"\n                                     \"UniProtKB:P78562\"\n                                     \"UniProtKB:O75061\"\n                                     \"UniProtKB:Q8WWZ7\"\n                                     \"UniProtKB:P29274\"\n                                     \"UniProtKB:Q96AP0\"\n                                     \"UniProtKB:Q9H161\"\n                                     \"UniProtKB:P17516\"\n                                     \"UniProtKB:O60566\"\n                                     \"UniProtKB:P13637\"\n                                     \"UniProtKB:Q12797\"\n                                     \"UniProtKB:Q8IZT6\"\n                                     \"UniProtKB:O75746\"\n                                     \"UniProtKB:Q9UPZ9\"\n                                     \"UniProtKB:P35523\"\n                                     \"UniProtKB:Q76LX8\"\n                                     \"UniProtKB:P0C0L4\"\n                                     \"UniProtKB:Q8N100\"\n                                     \"UniProtKB:Q8WXX7\"\n                                     \"UniProtKB:Q5JTJ3\"\n                                     \"UniProtKB:P17735\"\n                                     \"UniProtKB:Q99700\"\n                                     \"UniProtKB:P00846\"\n                                     \"UniProtKB:Q6V0L0\"\n                                     \"UniProtKB:Q8WZ55\"\n                                     \"UniProtKB:Q9BXS0\"\n                                     \"UniProtKB:O75208\"\n                                     \"UniProtKB:P07316\"\n                                     \"UniProtKB:Q2NKJ3\"\n                                     \"UniProtKB:P51587\"\n                                     \"UniProtKB:O60885\"\n                                     \"UniProtKB:P27797\"\n                                     \"UniProtKB:P35218\"\n                                     \"UniProtKB:Q9BXJ0\"\n                                     \"UniProtKB:P55287\"\n                                     \"UniProtKB:P00736\"\n                                     \"UniProtKB:P55291\"\n                                     \"UniProtKB:Q99622\"\n                                     \"UniProtKB:Q6YHK3\"\n                                     \"UniProtKB:P51659\"\n                                     \"UniProtKB:P04234\"\n                                     \"UniProtKB:P09693\"\n                                     \"UniProtKB:P00450\"\n                                     \"UniProtKB:P0CG37\"\n                                     \"UniProtKB:P50416\"\n                                     \"UniProtKB:Q16850\"\n                                     \"UniProtKB:P83436\"\n                                     \"UniProtKB:Q07973\"\n                                     \"UniProtKB:Q14232\"\n                                     \"UniProtKB:P82279\"\n                                     \"UniProtKB:P67870\"\n                                     \"UniProtKB:Q8NI60\"\n                                     \"UniProtKB:Q96D31\"\n                                     \"UniProtKB:Q13363\"\n                                     \"UniProtKB:O95786\"\n                                     \"UniProtKB:Q8N9W5\"\n                                     \"UniProtKB:Q9Y3I1\"\n                                     \"UniProtKB:O75553\"\n                                     \"UniProtKB:P49789\"\n                                     \"UniProtKB:P37058\"\n                                     \"UniProtKB:Q9H3Z4\"\n                                     \"UniProtKB:Q86SQ9\"\n                                     \"UniProtKB:Q9NRI5\"\n                                     \"UniProtKB:P00367\"\n                                     \"UniProtKB:O60762\"\n                                     \"UniProtKB:P00374\"\n                                     \"UniProtKB:Q03001\"\n                                     \"UniProtKB:P15502\"\n                                     \"UniProtKB:Q9NR50\"\n                                     \"UniProtKB:P13639\"\n                                     \"UniProtKB:Q15303\"\n                                     \"UniProtKB:P03951\"\n                                     \"UniProtKB:Q92908\"\n                                     \"UniProtKB:Q8NB91\"\n                                     \"UniProtKB:Q9C0B1\"\n                                     \"UniProtKB:P08151\"\n                                     \"UniProtKB:P01859\"\n                                     \"UniProtKB:Q9Y6W8\"\n                                     \"UniProtKB:Q8TB36\"\n                                     \"UniProtKB:Q9HCG7\"\n                                     \"UniProtKB:P14136\"\n                                     \"UniProtKB:Q08334\"\n                                     \"UniProtKB:Q6KF10\"\n                                     \"UniProtKB:Q9UK05\"\n                                     \"UniProtKB:P08069\"\n                                     \"UniProtKB:Q9HBG6\"\n                                     \"UniProtKB:A0A0B4J1V1\"\n                                     \"UniProtKB:O15111\"\n                                     \"UniProtKB:Q96RY7\"\n                                     \"UniProtKB:O14920\"\n                                     \"UniProtKB:P06331\"\n                                     \"UniProtKB:Q9UG01\"\n                                     \"UniProtKB:O14764\"\n                                     \"UniProtKB:Q96N76\"\n                                     \"UniProtKB:Q9Y5U9\"\n                                     \"UniProtKB:P05111\"\n                                     \"UniProtKB:P05161\"\n                                     \"UniProtKB:P07359\"\n                                     \"UniProtKB:Q9Y243\"\n                                     \"UniProtKB:Q8WXG9\"\n                                     \"UniProtKB:P52895\"\n                                     \"UniProtKB:Q04771\"\n                                     \"UniProtKB:Q08828\"\n                                     \"UniProtKB:O43707\"\n                                     \"UniProtKB:Q2TAA5\"\n                                     \"UniProtKB:P06280\"\n                                     \"UniProtKB:Q9BVK2\"\n                                     \"UniProtKB:P42568\"\n                                     \"UniProtKB:Q9H2P0\"\n                                     \"UniProtKB:P78536\"\n                                     \"UniProtKB:Q53H12\"\n                                     \"UniProtKB:Q15327\"\n                                     \"UniProtKB:P04424\"\n                                     \"UniProtKB:Q15052\"\n                                     \"UniProtKB:Q96MI9\"\n                                     \"UniProtKB:O75052\"\n                                     \"UniProtKB:Q5T440\"\n                                     \"UniProtKB:Q8J025\"\n                                     \"UniProtKB:P57796\"\n                                     \"UniProtKB:P55064\"\n                                     \"UniProtKB:P84077\"\n                                     \"UniProtKB:Q7Z2E3\"\n                                     \"UniProtKB:Q9NVM4\"\n                                     \"UniProtKB:Q9Y2Y0\"\n                                     \"UniProtKB:O43299\"\n                                     \"UniProtKB:P61966\"\n                                     \"UniProtKB:Q9Y6B7\"\n                                     \"UniProtKB:P58335\"\n                                     \"UniProtKB:P08243\"\n                                     \"UniProtKB:Q9BZE9\"\n                                     \"UniProtKB:P17405\"\n                                     \"UniProtKB:P15848\"\n                                     \"UniProtKB:Q96EG1\"\n                                     \"UniProtKB:P62633\"\n                                     \"UniProtKB:Q5FYB1\"\n                                     \"UniProtKB:Q16281\"\n                                     \"UniProtKB:Q9NQW8\"\n                                     \"UniProtKB:Q9BXN2\"\n                                     \"UniProtKB:Q03692\"\n                                     \"UniProtKB:Q16740\"\n                                     \"UniProtKB:A5YKK6\"\n                                     \"UniProtKB:P46100\"\n                                     \"UniProtKB:O95832\"\n                                     \"UniProtKB:Q13535\"\n                                     \"UniProtKB:P51788\"\n                                     \"UniProtKB:Q9H324\"\n                                     \"UniProtKB:Q8TE56\"\n                                     \"UniProtKB:Q8TE60\"\n                                     \"UniProtKB:P08123\"\n                                     \"UniProtKB:O95450\"\n                                     \"UniProtKB:Q8N5M1\"\n                                     \"UniProtKB:P54132\"\n                                     \"UniProtKB:P22004\"\n                                     \"UniProtKB:P36894\"\n                                     \"UniProtKB:P11274\"\n                                     \"UniProtKB:P05108\"\n                                     \"UniProtKB:P78329\"\n                                     \"UniProtKB:Q66GS9\"\n                                     \"UniProtKB:P21964\"\n                                     \"UniProtKB:P98172\"\n                                     \"UniProtKB:Q9Y2Z9\"\n                                     \"UniProtKB:P16220\"\n                                     \"UniProtKB:Q96HD1\"\n                                     \"UniProtKB:P35222\"\n                                     \"UniProtKB:Q02221\"\n                                     \"UniProtKB:P08034\"\n                                     \"UniProtKB:Q86X45\"\n                                     \"UniProtKB:P56178\"\n                                     \"UniProtKB:P56179\"\n                                     \"UniProtKB:Q09013\"\n                                     \"UniProtKB:P80365\"\n                                     \"UniProtKB:Q9UKB3\"\n                                     \"UniProtKB:O75165\"\n                                     \"UniProtKB:Q5F1R6\"\n                                     \"UniProtKB:O00548\"\n                                     \"UniProtKB:Q9NYJ7\"\n                                     \"UniProtKB:P17661\"\n                                     \"UniProtKB:Q9UI46\"\n                                     \"UniProtKB:Q8IYB7\"\n                                     \"UniProtKB:P09417\"\n                                     \"UniProtKB:Q9NSV4\"\n                                     \"UniProtKB:Q92796\"\n                                     \"UniProtKB:Q9UPY3\"\n                                     \"UniProtKB:Q96C23\"\n                                     \"UniProtKB:P52429\"\n                                     \"UniProtKB:O14521\"\n                                     \"UniProtKB:Q8NEA6\"\n                                     \"UniProtKB:P40939\"\n                                     \"UniProtKB:Q04446\"\n                                     \"UniProtKB:P30084\"\n                                     \"UniProtKB:P23434\"\n                                     \"UniProtKB:Q02643\"\n                                     \"UniProtKB:P19440\"\n                                     \"UniProtKB:P10912\"\n                                     \"UniProtKB:P06396\"\n                                     \"UniProtKB:Q92847\"\n                                     \"UniProtKB:Q13315\"\n                                     \"UniProtKB:Q8N2K0\"\n                                     \"UniProtKB:Q6DD88\"\n                                     \"UniProtKB:Q8WTS1\"\n                                     \"UniProtKB:Q9UL45\"\n                                     \"UniProtKB:Q92560\"\n                                     \"UniProtKB:Q86UK0\"\n                                     \"UniProtKB:P17787\"\n                                     \"UniProtKB:P11230\"\n                                     \"UniProtKB:Q15067\"\n                                     \"UniProtKB:Q6ZN30\"\n                                     \"UniProtKB:Q13867\"\n                                     \"UniProtKB:Q14032\"\n                                     \"UniProtKB:Q9H694\"\n                                     \"UniProtKB:P78314\"\n                                     \"UniProtKB:P53004\"\n                                     \"UniProtKB:P45954\"\n                                     \"UniProtKB:O43683\"\n                                     \"UniProtKB:O95999\"\n                                     \"UniProtKB:Q9NP70\"\n                                     \"UniProtKB:Q9Y653\"\n                                     \"UniProtKB:O60488\"\n                                     \"UniProtKB:P55197\"\n                                     \"UniProtKB:P22570\"\n                                     \"UniProtKB:P41180\"\n                                     \"UniProtKB:Q6ZSZ5\"\n                                     \"UniProtKB:Q5SW96\"\n                                     \"UniProtKB:Q4KMQ2\"\n                                     \"UniProtKB:Q75V66\"\n                                     \"UniProtKB:Q9H1A4\"\n                                     \"UniProtKB:P20594\"\n                                     \"UniProtKB:Q6UB99\"\n                                     \"UniProtKB:O95996\"\n                                     \"UniProtKB:Q6ZW76\"\n                                     \"UniProtKB:P0DMR3\"\n                                     \"UniProtKB:P10523\"\n                                     \"UniProtKB:Q8NEN0\"\n                                     \"UniProtKB:P02452\"\n                                     \"UniProtKB:Q04656\"\n                                     \"UniProtKB:P35670\"\n                                     \"UniProtKB:Q96I36\"\n                                     \"UniProtKB:Q6VVX0\"\n                                     \"UniProtKB:P26998\"\n                                     \"UniProtKB:P08684\"\n                                     \"UniProtKB:P20815\"\n                                     \"UniProtKB:P25705\"\n                                     \"UniProtKB:Q05707\"\n                                     \"UniProtKB:Q9H799\"\n                                     \"UniProtKB:Q96IX5\"\n                                     \"UniProtKB:Q9Y3A0\"\n                                     \"UniProtKB:Q96L58\"\n                                     \"UniProtKB:Q9UBR1\"\n                                     \"UniProtKB:Q5H9F3\"\n                                     \"UniProtKB:Q8WVQ1\"\n                                     \"UniProtKB:P40123\"\n                                     \"UniProtKB:O95180\"\n                                     \"UniProtKB:Q9Y5K6\"\n                                     \"UniProtKB:P11532\"\n                                     \"UniProtKB:P38936\"\n                                     \"UniProtKB:Q9P2H0\"\n                                     \"UniProtKB:P00746\"\n                                     \"UniProtKB:Q8IWY9\"\n                                     \"UniProtKB:P06681\"\n                                     \"UniProtKB:Q8N5K1\"\n                                     \"UniProtKB:P02462\"\n                                     \"UniProtKB:Q00610\"\n                                     \"UniProtKB:P13671\"\n                                     \"UniProtKB:Q02388\"\n                                     \"UniProtKB:Q14050\"\n                                     \"UniProtKB:P07358\"\n                                     \"UniProtKB:P28340\"\n                                     \"UniProtKB:Q99715\"\n                                     \"UniProtKB:Q99062\"\n                                     \"UniProtKB:Q7Z4W1\"\n                                     \"UniProtKB:Q9Y297\"\n                                     \"UniProtKB:P13716\"\n                                     \"UniProtKB:P06744\"\n                                     \"UniProtKB:P81172\"\n                                     \"UniProtKB:P35637\"\n                                     \"UniProtKB:Q14697\"\n                                     \"UniProtKB:Q14331\"\n                                     \"UniProtKB:P02792\"\n                                     \"UniProtKB:Q12778\"\n                                     \"UniProtKB:Q9BZS1\"\n                                     \"UniProtKB:Q06210\"\n                                     \"UniProtKB:O75054\"\n                                     \"UniProtKB:Q86TH1\"\n                                     \"UniProtKB:Q8WXF7\"\n                                     \"UniProtKB:P78363\"\n                                     \"UniProtKB:Q9NP58\"\n                                     \"UniProtKB:Q9H845\"\n                                     \"UniProtKB:O94766\"\n                                     \"UniProtKB:P31751\"\n                                     \"UniProtKB:Q96Q42\"\n                                     \"UniProtKB:Q09428\"\n                                     \"UniProtKB:P33897\"\n                                     \"UniProtKB:P00519\"\n                                     \"UniProtKB:Q99798\"\n                                     \"UniProtKB:Q9H222\"\n                                     \"UniProtKB:Q12934\"\n                                     \"UniProtKB:Q04844\"\n                                     \"UniProtKB:P12821\"\n                                     \"UniProtKB:P13497\"\n                                     \"UniProtKB:P36544\"\n                                     \"UniProtKB:O00238\"\n                                     \"UniProtKB:A8MTZ0\"\n                                     \"UniProtKB:P35869\"\n                                     \"UniProtKB:P31749\"\n                                     \"UniProtKB:O95831\"\n                                     \"UniProtKB:P51825\"\n                                     \"UniProtKB:P50993\"\n                                     \"UniProtKB:Q8IZJ3\"\n                                     \"UniProtKB:Q9H9E3\"\n                                     \"UniProtKB:Q8TCG5\"\n                                     \"UniProtKB:P05093\"\n                                     \"UniProtKB:P23786\"\n                                     \"UniProtKB:Q9UMD9\"\n                                     \"UniProtKB:P02489\"\n                                     \"UniProtKB:P35606\"\n                                     \"UniProtKB:P11511\"\n                                     \"UniProtKB:P00403\"\n                                     \"UniProtKB:P02511\"\n                                     \"UniProtKB:Q8IZC6\"\n                                     \"UniProtKB:P22914\"\n                                     \"UniProtKB:Q9Y5Q5\"\n                                     \"UniProtKB:Q16678\"\n                                     \"UniProtKB:Q14894\"\n                                     \"UniProtKB:O75718\"\n                                     \"UniProtKB:P54259\"\n                                     \"UniProtKB:P11509\"\n                                     \"UniProtKB:P49747\"\n                                     \"UniProtKB:Q5IJ48\"\n                                     \"UniProtKB:Q8NDB2\"\n                                     \"UniProtKB:P07320\"\n                                     \"UniProtKB:P15056\"\n                                     \"UniProtKB:P51572\"\n                                     \"UniProtKB:P02730\"\n                                     \"UniProtKB:Q99728\"\n                                     \"UniProtKB:Q6Y288\"\n                                     \"UniProtKB:Q06187\"\n                                     \"UniProtKB:Q9UBV7\"\n                                     \"UniProtKB:O95817\"\n                                     \"UniProtKB:O00499\"\n                                     \"UniProtKB:Q9UIR0\"\n                                     \"UniProtKB:Q6W2J9\"\n                                     \"UniProtKB:Q9HAY6\"\n                                     \"UniProtKB:Q9BXL6\"\n                                     \"UniProtKB:Q9NR28\"\n                                     \"UniProtKB:Q7Z3S7\"\n                                     \"UniProtKB:Q69YN2\"\n                                     \"UniProtKB:Q6NUT2\"\n                                     \"UniProtKB:A2IDD5\"\n                                     \"UniProtKB:Q08289\"\n                                     \"UniProtKB:P09871\"\n                                     \"UniProtKB:P11586\"\n                                     \"UniProtKB:Q9Y592\"\n                                     \"UniProtKB:P11836\"\n                                     \"UniProtKB:P42771\"\n                                     \"UniProtKB:P29965\"\n                                     \"UniProtKB:Q9UPV0\"\n                                     \"UniProtKB:Q9H444\"\n                                     \"UniProtKB:Q6ZU64\"\n                                     \"UniProtKB:P11912\"\n                                     \"UniProtKB:Q9HC77\"\n                                     \"UniProtKB:P01732\"\n                                     \"UniProtKB:Q99967\"\n                                     \"UniProtKB:P30622\"\n                                     \"UniProtKB:Q9Y375\"\n                                     \"UniProtKB:P01024\"\n                                     \"UniProtKB:Q8IYA6\"\n                                     \"UniProtKB:P24468\"\n                                     \"UniProtKB:Q9NSK7\"\n                                     \"UniProtKB:P08709\"\n                                     \"UniProtKB:O60494\"\n                                     \"UniProtKB:Q6SJ93\"\n                                     \"UniProtKB:P43268\"\n                                     \"UniProtKB:O75369\"\n                                     \"UniProtKB:Q5T1V6\"\n                                     \"UniProtKB:Q13217\"\n                                     \"UniProtKB:Q9UBM7\"\n                                     \"UniProtKB:P20309\"\n                                     \"UniProtKB:P11310\"\n                                     \"UniProtKB:O60706\"\n                                     \"UniProtKB:P46736\"\n                                     \"UniProtKB:P49748\"\n                                     \"UniProtKB:P08697\"\n                                     \"UniProtKB:P43681\"\n                                     \"UniProtKB:Q14738\"\n                                     \"UniProtKB:O00400\"\n                                     \"UniProtKB:O43505\"\n                                     \"UniProtKB:P15291\"\n                                     \"UniProtKB:P02708\"\n                                     \"UniProtKB:P07510\"\n                                     \"UniProtKB:O75531\"\n                                     \"UniProtKB:P12644\"\n                                     \"UniProtKB:Q8IZP9\"\n                                     \"UniProtKB:P43235\"\n                                     \"UniProtKB:Q96NT0\"\n                                     \"UniProtKB:Q99643\"\n                                     \"UniProtKB:Q9H251\"\n                                     \"UniProtKB:P15538\"\n                                     \"UniProtKB:Q14118\"\n                                     \"UniProtKB:Q15517\"\n                                     \"UniProtKB:P49918\"\n                                     \"UniProtKB:P57076\"\n                                     \"UniProtKB:Q96JP9\"\n                                     \"UniProtKB:Q2WEN9\"\n                                     \"UniProtKB:Q92997\"\n                                     \"UniProtKB:Q96AQ7\"\n                                     \"UniProtKB:P12107\"\n                                     \"UniProtKB:Q8WXI2\"\n                                     \"UniProtKB:Q9GZX3\"\n                                     \"UniProtKB:Q9NQ89\"\n                                     \"UniProtKB:Q8NCH0\"\n                                     \"UniProtKB:P53675\"\n                                     \"UniProtKB:Q01955\"\n                                     \"UniProtKB:P22680\"\n                                     \"UniProtKB:O75881\"\n                                     \"UniProtKB:Q1HG44\"\n                                     \"UniProtKB:Q07864\"\n                                     \"UniProtKB:Q9UKG1\"\n                                     \"UniProtKB:Q9Y6C2\"\n                                     \"UniProtKB:P20023\"\n                                     \"UniProtKB:P05813\"\n                                     \"UniProtKB:P15509\"\n                                     \"UniProtKB:P00740\"\n                                     \"UniProtKB:P48165\"\n                                     \"UniProtKB:O95452\"\n                                     \"UniProtKB:Q1MSJ5\"\n                                     \"UniProtKB:Q6UN15\"\n                                     \"UniProtKB:Q96HY6\"\n                                     \"UniProtKB:Q14315\"\n                                     \"UniProtKB:Q5H9S7\"\n                                     \"UniProtKB:P43146\"\n                                     \"UniProtKB:P01040\"\n                                     \"UniProtKB:O94905\"\n                                     \"UniProtKB:Q96B26\"\n                                     \"UniProtKB:Q96M96\"\n                                     \"UniProtKB:O15520\"\n                                     \"UniProtKB:O60258\"\n                                     \"UniProtKB:Q9NZU0\"\n                                     \"UniProtKB:Q9H9S5\"\n                                     \"UniProtKB:P20930\"\n                                     \"UniProtKB:Q6V0I7\"\n                                     \"UniProtKB:Q9BX63\"\n                                     \"UniProtKB:Q9NW38\"\n                                     \"UniProtKB:O95967\"\n                                     \"UniProtKB:Q8IYD8\"\n                                     \"UniProtKB:O60741\"\n                                     \"UniProtKB:Q9Y3Q4\"\n                                     \"UniProtKB:Q9NSB8\"\n                                     \"UniProtKB:Q02108\"\n                                     \"UniProtKB:P28799\"\n                                     \"UniProtKB:A6NFK2\"\n                                     \"UniProtKB:O60565\"\n                                     \"UniProtKB:P10746\"\n                                     \"UniProtKB:Q92902\"\n                                     \"UniProtKB:P04196\"\n                                     \"UniProtKB:Q8IVV2\"\n                                     \"UniProtKB:P58215\"\n                                     \"UniProtKB:Q8NG48\"\n                                     \"UniProtKB:P48449\"\n                                     \"UniProtKB:O95237\"\n                                     \"UniProtKB:A6NK58\"\n                                     \"UniProtKB:Q3SXY7\"\n                                     \"UniProtKB:P01889\"\n                                     \"UniProtKB:O96019\"\n                                     \"UniProtKB:O95076\"\n                                     \"UniProtKB:Q5JTC6\"\n                                     \"UniProtKB:O00170\"\n                                     \"UniProtKB:P37023\"\n                                     \"UniProtKB:Q5TGY3\"\n                                     \"UniProtKB:O00116\"\n                                     \"UniProtKB:P02746\"\n                                     \"UniProtKB:P02747\"\n                                     \"UniProtKB:O00305\"\n                                     \"UniProtKB:Q9BYV8\"\n                                     \"UniProtKB:Q3SXY8\"\n                                     \"UniProtKB:P07741\"\n                                     \"UniProtKB:Q13367\"\n                                     \"UniProtKB:Q8WYQ3\"\n                                     \"UniProtKB:Q9UPS8\"\n                                     \"UniProtKB:Q9H6X2\"\n                                     \"UniProtKB:Q3KP44\"\n                                     \"UniProtKB:P01008\"\n                                     \"UniProtKB:P01019\"\n                                     \"UniProtKB:P24385\"\n                                     \"UniProtKB:Q16720\"\n                                     \"UniProtKB:O43520\"\n                                     \"UniProtKB:Q9C0F0\"\n                                     \"UniProtKB:P00966\"\n                                     \"UniProtKB:Q9NS75\"\n                                     \"UniProtKB:Q96C12\"\n                                     \"UniProtKB:P15289\"\n                                     \"UniProtKB:P13942\"\n                                     \"UniProtKB:P20648\"\n                                     \"UniProtKB:P56381\"\n                                     \"UniProtKB:A6H8Y1\"\n                                     \"UniProtKB:P10415\"\n                                     \"UniProtKB:Q9Y276\"\n                                     \"UniProtKB:P09668\"\n                                     \"UniProtKB:Q96LK0\"\n                                     \"UniProtKB:P25063\"\n                                     \"UniProtKB:A5D8W1\"\n                                     \"UniProtKB:Q96HY7\"\n                                     \"UniProtKB:Q12860\"\n                                     \"UniProtKB:Q02246\"\n                                     \"UniProtKB:Q9UJS0\"\n                                     \"UniProtKB:Q9H4G0\"\n                                     \"UniProtKB:Q13956\"\n                                     \"UniProtKB:P29973\"\n                                     \"UniProtKB:Q08426\"\n                                     \"UniProtKB:Q02487\"\n                                     \"UniProtKB:Q14574\"\n                                     \"UniProtKB:O94777\"\n                                     \"UniProtKB:Q13286\"\n                                     \"UniProtKB:Q86SJ6\"\n                                     \"UniProtKB:O75503\"\n                                     \"UniProtKB:P51798\"\n                                     \"UniProtKB:P51801\"\n                                     \"UniProtKB:P78369\"\n                                     \"UniProtKB:P51800\"\n                                     \"UniProtKB:P51795\"\n                                     \"UniProtKB:Q14204\"\n                                     \"UniProtKB:Q96MC2\"\n                                     \"UniProtKB:Q9Y4J8\"\n                                     \"UniProtKB:Q9H2A9\"\n                                     \"UniProtKB:Q96SW2\"\n                                     \"UniProtKB:P78560\"\n                                     \"UniProtKB:P54851\"\n                                     \"UniProtKB:Q6NT55\"\n                                     \"UniProtKB:Q8WTW3\"\n                                     \"UniProtKB:P43897\"\n                                     \"UniProtKB:Q96FG2\"\n                                     \"UniProtKB:Q96JJ3\"\n                                     \"UniProtKB:P13929\"\n                                     \"UniProtKB:Q9NYP7\"\n                                     \"UniProtKB:Q9HD26\"\n                                     \"UniProtKB:Q9H9B1\"\n                                     \"UniProtKB:Q8N766\"\n                                     \"UniProtKB:P19087\"\n                                     \"UniProtKB:P14770\"\n                                     \"UniProtKB:Q92917\"\n                                     \"UniProtKB:Q14956\"\n                                     \"UniProtKB:Q96RP9\"\n                                     \"UniProtKB:Q05639\"\n                                     \"UniProtKB:Q5NDL2\"\n                                     \"UniProtKB:Q9BQL6\"\n                                     \"UniProtKB:Q6QHK4\"\n                                     \"UniProtKB:P02771\"\n                                     \"UniProtKB:Q92496\"\n                                     \"UniProtKB:P35556\"\n                                     \"UniProtKB:P23771\"\n                                     \"UniProtKB:P23769\"\n                                     \"UniProtKB:O75899\"\n                                     \"UniProtKB:P54289\"\n                                     \"UniProtKB:Q9BSQ5\"\n                                     \"UniProtKB:P61073\"\n                                     \"UniProtKB:Q8WXU2\"\n                                     \"UniProtKB:Q13045\"\n                                     \"UniProtKB:O43602\"\n                                     \"UniProtKB:Q9NYF0\"\n                                     \"UniProtKB:P04080\"\n                                     \"UniProtKB:P49917\"\n                                     \"UniProtKB:Q9BUM1\"\n                                     \"UniProtKB:O95954\"\n                                     \"UniProtKB:O43323\"\n                                     \"UniProtKB:P24855\"\n                                     \"UniProtKB:P59910\"\n                                     \"UniProtKB:Q9H2C0\"\n                                     \"UniProtKB:P54803\"\n                                     \"UniProtKB:Q9NR61\"\n                                     \"UniProtKB:O94907\"\n                                     \"UniProtKB:Q9BQS8\"\n                                     \"UniProtKB:Q9GZS0\"\n                                     \"UniProtKB:Q96PD7\"\n                                     \"UniProtKB:Q14376\"\n                                     \"UniProtKB:Q9Y238\"\n                                     \"UniProtKB:O60879\"\n                                     \"UniProtKB:Q9Y2I7\"\n                                     \"UniProtKB:Q9NZJ5\"\n                                     \"UniProtKB:Q6Y7W6\"\n                                     \"UniProtKB:Q9NQX3\"\n                                     \"UniProtKB:P10071\"\n                                     \"UniProtKB:Q9BZG8\"\n                                     \"UniProtKB:Q9NZW4\"\n                                     \"UniProtKB:P55265\"\n                                     \"UniProtKB:P52565\"\n                                     \"UniProtKB:P01909\"\n                                     \"UniProtKB:Q6UX65\"\n                                     \"UniProtKB:P04150\"\n                                     \"UniProtKB:P01903\"\n                                     \"UniProtKB:P14867\"\n                                     \"UniProtKB:Q9P2D7\"\n                                     \"UniProtKB:P34903\"\n                                     \"UniProtKB:Q8NCM8\"\n                                     \"UniProtKB:Q9NRM1\"\n                                     \"UniProtKB:Q9HC35\"\n                                     \"UniProtKB:Q5T6L9\"\n                                     \"UniProtKB:Q96F86\"\n                                     \"UniProtKB:Q92838\"\n                                     \"UniProtKB:P00742\"\n                                     \"UniProtKB:Q8TE67\"\n                                     \"UniProtKB:P11487\"\n                                     \"UniProtKB:Q9NWM8\"\n                                     \"UniProtKB:Q96AY3\"\n                                     \"UniProtKB:P36888\"\n                                     \"UniProtKB:Q6PIJ6\"\n                                     \"UniProtKB:O43427\"\n                                     \"UniProtKB:Q9UKA2\"\n                                     \"UniProtKB:Q5D862\"\n                                     \"UniProtKB:O75015\"\n                                     \"UniProtKB:P80404\"\n                                     \"UniProtKB:Q9UJU5\"\n                                     \"UniProtKB:Q12951\"\n                                     \"UniProtKB:Q9HAV0\"\n                                     \"UniProtKB:P27352\"\n                                     \"UniProtKB:P35475\"\n                                     \"UniProtKB:P47870\"\n                                     \"UniProtKB:P48728\"\n                                     \"UniProtKB:Q92990\"\n                                     \"UniProtKB:P25092\"\n                                     \"UniProtKB:Q7Z3Z0\"\n                                     \"UniProtKB:O43736\"\n                                     \"UniProtKB:O00142\"\n                                     \"UniProtKB:P46020\"\n                                     \"UniProtKB:Q9UGI6\"\n                                     \"UniProtKB:P69905\"\n                                     \"UniProtKB:O15303\"\n                                     \"UniProtKB:P38646\"\n                                     \"UniProtKB:Q8TE85\"\n                                     \"UniProtKB:Q9UBX0\"\n                                     \"UniProtKB:P04075\"\n                                     \"UniProtKB:O00468\"\n                                     \"UniProtKB:P30038\"\n                                     \"UniProtKB:P50052\"\n                                     \"UniProtKB:Q9UM73\"\n                                     \"UniProtKB:P00813\"\n                                     \"UniProtKB:P55263\"\n                                     \"UniProtKB:Q9H6U8\"\n                                     \"UniProtKB:O95394\"\n                                     \"UniProtKB:P07384\"\n                                     \"UniProtKB:O43307\"\n                                     \"UniProtKB:P05089\"\n                                     \"UniProtKB:O14497\"\n                                     \"UniProtKB:Q8N6S5\"\n                                     \"UniProtKB:Q8NDL9\"\n                                     \"UniProtKB:Q9HCJ1\"\n                                     \"UniProtKB:Q86XL3\"\n                                     \"UniProtKB:P35219\"\n                                     \"UniProtKB:P02745\"\n                                     \"UniProtKB:Q6ZP82\"\n                                     \"UniProtKB:Q86XR8\"\n                                     \"UniProtKB:P21397\"\n                                     \"UniProtKB:P26842\"\n                                     \"UniProtKB:P27544\"\n                                     \"UniProtKB:P46527\"\n                                     \"UniProtKB:Q01433\"\n                                     \"UniProtKB:Q10567\"\n                                     \"UniProtKB:P04114\"\n                                     \"UniProtKB:Q9P2R3\"\n                                     \"UniProtKB:O00192\"\n                                     \"UniProtKB:Q9H2C2\"\n                                     \"UniProtKB:P98194\"\n                                     \"UniProtKB:Q8IXJ9\"\n                                     \"UniProtKB:Q16280\"\n                                     \"UniProtKB:P03928\"\n                                     \"UniProtKB:Q9H6B4\"\n                                     \"UniProtKB:Q8WXE1\"\n                                     \"UniProtKB:Q9H8M5\"\n                                     \"UniProtKB:Q96LT7\"\n                                     \"UniProtKB:P0C0L5\"\n                                     \"UniProtKB:O15247\"\n                                     \"UniProtKB:Q9UBB4\"\n                                     \"UniProtKB:P39060\"\n                                     \"UniProtKB:P54253\"\n                                     \"UniProtKB:P10632\"\n                                     \"UniProtKB:P33261\"\n                                     \"UniProtKB:P54252\"\n                                     \"UniProtKB:Q5RI15\"\n                                     \"UniProtKB:O15265\"\n                                     \"UniProtKB:Q96MW5\"\n                                     \"UniProtKB:P10589\"\n                                     \"UniProtKB:Q9UPM9\"\n                                     \"UniProtKB:Q6RI45\"\n                                     \"UniProtKB:Q9Y6D5\"\n                                     \"UniProtKB:P12643\"\n                                     \"UniProtKB:Q9BXC9\"\n                                     \"UniProtKB:P08185\"\n                                     \"UniProtKB:P56539\"\n                                     \"UniProtKB:Q92851\"\n                                     \"UniProtKB:Q96C86\"\n                                     \"UniProtKB:Q8IW40\"\n                                     \"UniProtKB:Q9UFE4\"\n                                     \"UniProtKB:O60840\"\n                                     \"UniProtKB:Q9UHG0\"\n                                     \"UniProtKB:Q92466\"\n                                     \"UniProtKB:Q8N465\"\n                                     \"UniProtKB:P20963\"\n                                     \"UniProtKB:P11597\"\n                                     \"UniProtKB:O75140\"\n                                     \"UniProtKB:Q96F07\"\n                                     \"UniProtKB:P11926\"\n                                     \"UniProtKB:A0PJY2\"\n                                     \"UniProtKB:Q8NEL9\"\n                                     \"UniProtKB:O94830\"\n                                     \"UniProtKB:Q69YQ0\"\n                                     \"UniProtKB:P01034\"\n                                     \"UniProtKB:Q18PE1\"\n                                     \"UniProtKB:Q13627\"\n                                     \"UniProtKB:Q5T2R2\"\n                                     \"UniProtKB:Q9Y6K1\"\n                                     \"UniProtKB:Q9UBC3\"\n                                     \"UniProtKB:P08246\"\n                                     \"UniProtKB:Q13144\"\n                                     \"UniProtKB:P14138\"\n                                     \"UniProtKB:P25101\"\n                                     \"UniProtKB:P24530\"\n                                     \"UniProtKB:Q07001\"\n                                     \"UniProtKB:Q6QNY0\"\n                                     \"UniProtKB:O75027\"\n                                     \"UniProtKB:Q9UKU7\"\n                                     \"UniProtKB:O95342\"\n                                     \"UniProtKB:P38398\"\n                                     \"UniProtKB:P16219\"\n                                     \"UniProtKB:Q00005\"\n                                     \"UniProtKB:Q07912\"\n                                     \"UniProtKB:Q3B7T3\"\n                                     \"UniProtKB:Q15822\"\n                                     \"UniProtKB:Q16671\"\n                                     \"UniProtKB:Q9NZN9\"\n                                     \"UniProtKB:Q8N157\"\n                                     \"UniProtKB:Q9NZK5\"\n                                     \"UniProtKB:Q8TAM1\"\n                                     \"UniProtKB:P35609\"\n                                     \"UniProtKB:P02656\"\n                                     \"UniProtKB:Q6UX39\"\n                                     \"UniProtKB:Q01484\"\n                                     \"UniProtKB:P50553\"\n                                     \"UniProtKB:P20933\"\n                                     \"UniProtKB:Q6PII3\"\n                                     \"UniProtKB:P31415\"\n                                     \"UniProtKB:P22223\"\n                                     \"UniProtKB:P33076\"\n                                     \"UniProtKB:O00555\"\n                                     \"UniProtKB:Q00975\"\n                                     \"UniProtKB:P19099\"\n                                     \"UniProtKB:Q4AC94\"\n                                     \"UniProtKB:P07766\"\n                                     \"UniProtKB:Q8N960\"\n                                     \"UniProtKB:Q96JM3\"\n                                     \"UniProtKB:P49715\"\n                                     \"UniProtKB:P13569\"\n                                     \"UniProtKB:P32246\"\n                                     \"UniProtKB:Q9ULV3\"\n                                     \"UniProtKB:Q9Y281\"\n                                     \"UniProtKB:Q9Y2V7\"\n                                     \"UniProtKB:O95163\"\n                                     \"UniProtKB:Q02318\"\n                                     \"UniProtKB:P08686\"\n                                     \"UniProtKB:P49711\"\n                                     \"UniProtKB:Q9GZT9\"\n                                     \"UniProtKB:P35221\"\n                                     \"UniProtKB:P14854\"\n                                     \"UniProtKB:O60931\"\n                                     \"UniProtKB:O75712\"\n                                     \"UniProtKB:Q8NEC5\"\n                                     \"UniProtKB:P06132\"\n                                     \"UniProtKB:Q9NQM4\"\n                                     \"UniProtKB:P20711\"\n                                     \"UniProtKB:Q8NEP3\"\n                                     \"UniProtKB:Q96EX3\"\n                                     \"UniProtKB:Q13316\"\n                                     \"UniProtKB:Q9UHN1\"\n                                     \"UniProtKB:Q96EV8\"\n                                     \"UniProtKB:Q9UGJ1\"\n                                     \"UniProtKB:Q8IYY4\"\n                                     \"UniProtKB:Q96RT7\"\n                                     \"UniProtKB:Q96DT5\"\n                                     \"UniProtKB:Q9UFH2\"\n                                     \"UniProtKB:P01911\"\n                                     \"UniProtKB:Q9NYC9\"\n                                     \"UniProtKB:Q8WUU5\"\n                                     \"UniProtKB:Q8IZD9\"\n                                     \"UniProtKB:P28715\"\n                                     \"UniProtKB:Q15910\"\n                                     \"UniProtKB:P14921\"\n                                     \"UniProtKB:Q8WVX9\"\n                                     \"UniProtKB:P11308\"\n                                     \"UniProtKB:Q99814\"\n                                     \"UniProtKB:P02751\"\n                                     \"UniProtKB:P78347\"\n                                     \"UniProtKB:Q9Y3R0\"\n                                     \"UniProtKB:Q15835\"\n                                     \"UniProtKB:Q13255\"\n                                     \"UniProtKB:Q676U5\"\n                                     \"UniProtKB:O95477\"\n                                     \"UniProtKB:P61981\"\n                                     \"UniProtKB:Q9NRA8\"\n                                     \"UniProtKB:P05067\"\n                                     \"UniProtKB:P08908\"\n                                     \"UniProtKB:Q9H0P0\"\n                                     \"UniProtKB:P55789\"\n                                     \"UniProtKB:P51648\"\n                                     \"UniProtKB:O43918\"\n                                     \"UniProtKB:Q03154\"\n                                     \"UniProtKB:Q6ZW61\"\n                                     \"UniProtKB:Q8IWZ6\"\n                                     \"UniProtKB:P68032\"\n                                     \"UniProtKB:Q9NP73\"\n                                     \"UniProtKB:Q9UHX3\"\n                                     \"UniProtKB:Q8N302\"\n                                     \"UniProtKB:O15013\"\n                                     \"UniProtKB:Q8NFD5\"\n                                     \"UniProtKB:Q9P2K1\"\n                                     \"UniProtKB:Q68CP9\"\n                                     \"UniProtKB:Q13936\"\n                                     \"UniProtKB:Q68DC2\"\n                                     \"UniProtKB:Q4G0X9\"\n                                     \"UniProtKB:Q9H0F7\"\n                                     \"UniProtKB:Q6P1N0\"\n                                     \"UniProtKB:P05549\"\n                                     \"UniProtKB:Q96CW1\"\n                                     \"UniProtKB:O00203\"\n                                     \"UniProtKB:P23109\"\n                                     \"UniProtKB:Q9UPM8\"\n                                     \"UniProtKB:Q9UQN3\"\n                                     \"UniProtKB:Q96PC3\"\n                                     \"UniProtKB:P54802\"\n                                     \"UniProtKB:P10275\"\n                                     \"UniProtKB:P02647\"\n                                     \"UniProtKB:P03950\"\n                                     \"UniProtKB:Q12955\"\n                                     \"UniProtKB:Q9NVI7\"\n                                     \"UniProtKB:P16615\"\n                                     \"UniProtKB:P18850\"\n                                     \"UniProtKB:Q96SN8\"\n                                     \"UniProtKB:Q9HBZ2\"\n                                     \"UniProtKB:Q7Z3E5\"\n                                     \"UniProtKB:Q7Z624\"\n                                     \"UniProtKB:P0C7Q2\"\n                                     \"UniProtKB:Q156A1\"\n                                     \"UniProtKB:Q8WV28\"\n                                     \"UniProtKB:Q8N8U9\"\n                                     \"UniProtKB:Q14692\"\n                                     \"UniProtKB:P16278\"\n                                     \"UniProtKB:Q15582\"\n                                     \"UniProtKB:Q7RTU4\"\n                                     \"UniProtKB:P07858\"\n                                     \"UniProtKB:P0DP25\"\n                                     \"UniProtKB:Q8IVM0\"\n                                     \"UniProtKB:O94986\"\n                                     \"UniProtKB:Q8TBY9\"\n                                     \"UniProtKB:Q8N1V2\"\n                                     \"UniProtKB:Q9HCK8\"\n                                     \"UniProtKB:O75462\"\n                                     \"UniProtKB:Q6ZWL3\"\n                                     \"UniProtKB:P13073\"\n                                     \"UniProtKB:Q96D53\"\n                                     \"UniProtKB:P22413\"\n                                     \"UniProtKB:O14936\"\n                                     \"UniProtKB:P99999\"\n                                     \"UniProtKB:Q9UI47\"\n                                     \"UniProtKB:Q13618\"\n                                     \"UniProtKB:P50402\"\n                                     \"UniProtKB:Q13609\"\n                                     \"UniProtKB:Q16394\"\n                                     \"UniProtKB:Q5T890\"\n                                     \"UniProtKB:Q56NI9\"\n                                     \"UniProtKB:Q9P0K9\"\n                                     \"UniProtKB:O95876\"\n                                     \"UniProtKB:Q86XX4\"\n                                     \"UniProtKB:P43026\"\n                                     \"UniProtKB:Q99684\"\n                                     \"UniProtKB:O60383\"\n                                     \"UniProtKB:P01148\"\n                                     \"UniProtKB:P23229\"\n                                     \"UniProtKB:P26440\"\n                                     \"UniProtKB:P54840\"\n                                     \"UniProtKB:P69892\"\n                                     \"UniProtKB:Q9H116\"\n                                     \"UniProtKB:P56915\"\n                                     \"UniProtKB:Q9UGJ0\"\n                                     \"UniProtKB:Q9NRG9\"\n                                     \"UniProtKB:Q15699\"\n                                     \"UniProtKB:Q9Y4X0\"\n                                     \"UniProtKB:Q8TD30\"\n                                     \"UniProtKB:P02768\"\n                                     \"UniProtKB:P51816\"\n                                     \"UniProtKB:Q9H165\"\n                                     \"UniProtKB:Q8IUX7\"\n                                     \"UniProtKB:P50995\"\n                                     \"UniProtKB:Q9Y5C1\"\n                                     \"UniProtKB:O14983\"\n                                     \"UniProtKB:Q9BT09\"\n                                     \"UniProtKB:Q8NBU5\"\n                                     \"UniProtKB:Q00534\"\n                                     \"UniProtKB:P11802\"\n                                     \"UniProtKB:P29279\"\n                                     \"UniProtKB:O95389\"\n                                     \"UniProtKB:Q9BWU1\"\n                                     \"UniProtKB:Q8NF50\"\n                                     \"UniProtKB:Q9GZR5\"\n                                     \"UniProtKB:Q5T7V8\"\n                                     \"UniProtKB:Q96IJ6\"\n                                     \"UniProtKB:P04921\"\n                                     \"UniProtKB:Q9Y5P6\"\n                                     \"UniProtKB:P23415\"\n                                     \"UniProtKB:O14653\"\n                                     \"UniProtKB:P48167\"\n                                     \"UniProtKB:Q96P66\"\n                                     \"UniProtKB:O94925\"\n                                     \"UniProtKB:P51810\"\n                                     \"UniProtKB:O00423\"\n                                     \"UniProtKB:P29317\"\n                                     \"UniProtKB:P21860\"\n                                     \"UniProtKB:Q7L5A8\"\n                                     \"UniProtKB:P13804\"\n                                     \"UniProtKB:Q9C0D9\"\n                                     \"UniProtKB:Q06265\"\n                                     \"UniProtKB:P49961\"\n                                     \"UniProtKB:P98174\"\n                                     \"UniProtKB:P61328\"\n                                     \"UniProtKB:Q9NP95\"\n                                     \"UniProtKB:P12034\"\n                                     \"UniProtKB:Q92562\"\n                                     \"UniProtKB:Q9BYE0\"\n                                     \"UniProtKB:Q68CZ1\"\n                                     \"UniProtKB:Q969Y2\"\n                                     \"UniProtKB:Q8IYG6\"\n                                     \"UniProtKB:P04439\"\n                                     \"UniProtKB:Q07954\"\n                                     \"UniProtKB:Q96FT9\"\n                                     \"UniProtKB:Q13099\"\n                                     \"UniProtKB:Q9UNF1\"\n                                     \"UniProtKB:P61626\"\n                                     \"UniProtKB:P22301\"\n                                     \"UniProtKB:P31271\"\n                                     \"UniProtKB:Q8NFM7\"\n                                     \"UniProtKB:P01589\"\n                                     \"UniProtKB:P35453\"\n                                     \"UniProtKB:Q7Z5L9\"\n                                     \"UniProtKB:P50053\"\n                                     \"UniProtKB:Q12809\"\n                                     \"UniProtKB:Q13554\"\n                                     \"UniProtKB:Q15058\"\n                                     \"UniProtKB:P10644\"\n                                     \"UniProtKB:Q96M32\"\n                                     \"UniProtKB:Q5TCS8\"\n                                     \"UniProtKB:Q9UH92\"\n                                     \"UniProtKB:Q8NC56\"\n                                     \"UniProtKB:O75112\"\n                                     \"UniProtKB:P13473\"\n                                     \"UniProtKB:P06239\"\n                                     \"UniProtKB:Q13126\"\n                                     \"UniProtKB:Q16719\"\n                                     \"UniProtKB:Q14533\"\n                                     \"UniProtKB:Q8IV20\"\n                                     \"UniProtKB:Q8NBH2\"\n                                     \"UniProtKB:Q6ZN17\"\n                                     \"UniProtKB:Q8WWY8\"\n                                     \"UniProtKB:P40926\"\n                                     \"UniProtKB:Q9GZU1\"\n                                     \"UniProtKB:P33991\"\n                                     \"UniProtKB:Q13253\"\n                                     \"UniProtKB:P20794\"\n                                     \"UniProtKB:Q8TD19\"\n                                     \"UniProtKB:Q8N653\"\n                                     \"UniProtKB:O95140\"\n                                     \"UniProtKB:P01185\"\n                                     \"UniProtKB:P34130\"\n                                     \"UniProtKB:P78549\"\n                                     \"UniProtKB:P51843\"\n                                     \"UniProtKB:Q8IVF1\"\n                                     \"UniProtKB:Q9NXB0\"\n                                     \"UniProtKB:Q13064\"\n                                     \"UniProtKB:O75030\"\n                                     \"UniProtKB:Q5TIA1\"\n                                     \"UniProtKB:P53634\"\n                                     \"UniProtKB:Q9BWT1\"\n                                     \"UniProtKB:P13987\"\n                                     \"UniProtKB:P60033\"\n                                     \"UniProtKB:Q12882\"\n                                     \"UniProtKB:P54098\"\n                                     \"UniProtKB:Q92989\"\n                                     \"UniProtKB:Q9Y5I7\"\n                                     \"UniProtKB:Q9UBD9\"\n                                     \"UniProtKB:Q8TE73\"\n                                     \"UniProtKB:Q8IXS2\"\n                                     \"UniProtKB:Q86X52\"\n                                     \"UniProtKB:P02461\"\n                                     \"UniProtKB:Q7LGC8\"\n                                     \"UniProtKB:Q99828\"\n                                     \"UniProtKB:O75838\"\n                                     \"UniProtKB:P05997\"\n                                     \"UniProtKB:P12109\"\n                                     \"UniProtKB:Q9NYP3\"\n                                     \"UniProtKB:P12110\"\n                                     \"UniProtKB:P20849\"\n                                     \"UniProtKB:P10643\"\n                                     \"UniProtKB:Q9Y2R0\"\n                                     \"UniProtKB:P25067\"\n                                     \"UniProtKB:P53672\"\n                                     \"UniProtKB:Q9Y6H8\"\n                                     \"UniProtKB:Q14999\"\n                                     \"UniProtKB:P26196\"\n                                     \"UniProtKB:O75190\"\n                                     \"UniProtKB:Q96SL1\"\n                                     \"UniProtKB:O96015\"\n                                     \"UniProtKB:P28845\"\n                                     \"UniProtKB:P51530\"\n                                     \"UniProtKB:O14640\"\n                                     \"UniProtKB:P43003\"\n                                     \"UniProtKB:Q9NRD8\"\n                                     \"UniProtKB:O95677\"\n                                     \"UniProtKB:P16930\"\n                                     \"UniProtKB:P16422\"\n                                     \"UniProtKB:Q9NZ56\"\n                                     \"UniProtKB:O75072\"\n                                     \"UniProtKB:Q9GZV9\"\n                                     \"UniProtKB:Q9UPI3\"\n                                     \"UniProtKB:P02679\"\n                                     \"UniProtKB:Q9UBX5\"\n                                     \"UniProtKB:Q5CZC0\"\n                                     \"UniProtKB:Q14435\"\n                                     \"UniProtKB:Q14353\"\n                                     \"UniProtKB:P04066\"\n                                     \"UniProtKB:P55316\"\n                                     \"UniProtKB:Q5H8C1\"\n                                     \"UniProtKB:P23378\"\n                                     \"UniProtKB:Q8N0V5\"\n                                     \"UniProtKB:P08476\"\n                                     \"UniProtKB:P51617\"\n                                     \"UniProtKB:Q9H3H5\"\n                                     \"UniProtKB:Q8N5M9\"\n                                     \"UniProtKB:O60674\"\n                                     \"UniProtKB:P52333\"\n                                     \"UniProtKB:P13807\"\n                                     \"UniProtKB:Q99081\"\n                                     \"UniProtKB:Q9NUN5\"\n                                     \"UniProtKB:Q9NP08\"\n                                     \"UniProtKB:P28358\"\n                                     \"UniProtKB:Q6IPM2\"\n                                     \"UniProtKB:P06213\"\n                                     \"UniProtKB:Q8WXH2\"\n                                     \"UniProtKB:P48740\"\n                                     \"UniProtKB:O00187\"\n                                     \"UniProtKB:Q9UDY8\"\n                                     \"UniProtKB:Q13495\"\n                                     \"UniProtKB:P28300\"\n                                     \"UniProtKB:Q10469\"\n                                     \"UniProtKB:Q9NRN9\"\n                                     \"UniProtKB:Q86YT6\"\n                                     \"UniProtKB:Q96AX9\"\n                                     \"UniProtKB:Q9BY79\"\n                                     \"UniProtKB:Q99707\"\n                                     \"UniProtKB:P08493\"\n                                     \"UniProtKB:Q9BV36\"\n                                     \"UniProtKB:P61371\"\n                                     \"UniProtKB:O14896\"\n                                     \"UniProtKB:Q14571\"\n                                     \"UniProtKB:Q86VZ6\"\n                                     \"UniProtKB:A1A4Y4\"\n                                     \"UniProtKB:Q9GZY8\"\n                                     \"UniProtKB:Q13683\"\n                                     \"UniProtKB:Q9NZN1\"\n                                     \"UniProtKB:Q27J81\"\n                                     \"UniProtKB:P48668\"\n                                     \"UniProtKB:Q02078\"\n                                     \"UniProtKB:Q8NEZ4\"\n                                     \"UniProtKB:Q53EZ4\"\n                                     \"UniProtKB:Q9NPF0\"\n                                     \"UniProtKB:P42773\"\n                                     \"UniProtKB:P42772\"\n                                     \"UniProtKB:O75419\"\n                                     \"UniProtKB:Q99741\"\n                                     \"UniProtKB:P60953\"\n                                     \"UniProtKB:P41002\"\n                                     \"UniProtKB:Q96P56\"\n                                     \"UniProtKB:P19113\"\n                                     \"UniProtKB:Q96DP5\"\n                                     \"UniProtKB:Q96FC9\"\n                                     \"UniProtKB:P25686\"\n                                     \"UniProtKB:Q96F81\"\n                                     \"UniProtKB:Q15125\"\n                                     \"UniProtKB:P43005\"\n                                     \"UniProtKB:Q05193\"\n                                     \"UniProtKB:P15311\"\n                                     \"UniProtKB:P00451\"\n                                     \"UniProtKB:Q9UBC2\"\n                                     \"UniProtKB:Q9Y2D4\"\n                                     \"UniProtKB:Q9NVI1\"\n                                     \"UniProtKB:O95177\"\n                                     \"UniProtKB:O60353\"\n                                     \"UniProtKB:Q16595\"\n                                     \"UniProtKB:P58012\"\n                                     \"UniProtKB:Q12794\"\n                                     \"UniProtKB:Q86SU0\"\n                                     \"UniProtKB:P01579\"\n                                     \"UniProtKB:P38919\"\n                                     \"UniProtKB:Q8IZI9\"\n                                     \"UniProtKB:Q9BYI3\"\n                                     \"UniProtKB:K9M1U5\"\n                                     \"UniProtKB:O00458\"\n                                     \"UniProtKB:Q4G0P3\"\n                                     \"UniProtKB:P07099\"\n                                     \"UniProtKB:P05155\"\n                                     \"UniProtKB:Q9BW83\"\n                                     \"UniProtKB:P06730\"\n                                     \"UniProtKB:Q9Y366\"\n                                     \"UniProtKB:P31644\"\n                                     \"UniProtKB:Q96M11\"\n                                     \"UniProtKB:Q53GS7\"\n                                     \"UniProtKB:P78508\"\n                                     \"UniProtKB:P48547\"\n                                     \"UniProtKB:Q8NAX2\"\n                                     \"UniProtKB:P48730\"\n                                     \"UniProtKB:P22612\"\n                                     \"UniProtKB:Q12840\"\n                                     \"UniProtKB:Q14003\"\n                                     \"UniProtKB:O60243\"\n                                     \"UniProtKB:Q03426\"\n                                     \"UniProtKB:A2PYH4\"\n                                     \"UniProtKB:P08397\"\n                                     \"UniProtKB:Q53FT3\"\n                                     \"UniProtKB:Q16534\"\n                                     \"UniProtKB:Q8IVG9\"\n                                     \"UniProtKB:P84074\"\n                                     \"UniProtKB:Q12988\"\n                                     \"UniProtKB:Q92826\"\n                                     \"UniProtKB:Q9UBH0\"\n                                     \"UniProtKB:Q15051\"\n                                     \"UniProtKB:A9QM74\"\n                                     \"UniProtKB:Q13361\"\n                                     \"UniProtKB:Q9NRR6\"\n                                     \"UniProtKB:P17301\"\n                                     \"UniProtKB:P26006\"\n                                     \"UniProtKB:Q02556\"\n                                     \"UniProtKB:Q8IV33\"\n                                     \"UniProtKB:Q3SY84\"\n                                     \"UniProtKB:P05107\"\n                                     \"UniProtKB:Q9H0B6\"\n                                     \"UniProtKB:Q6JEL2\"\n                                     \"UniProtKB:Q8WYB5\"\n                                     \"UniProtKB:Q9Y5K2\"\n                                     \"UniProtKB:P03952\"\n                                     \"UniProtKB:Q96S06\"\n                                     \"UniProtKB:O00159\"\n                                     \"UniProtKB:Q9UBF9\"\n                                     \"UniProtKB:Q9Y234\"\n                                     \"UniProtKB:Q9C056\"\n                                     \"UniProtKB:Q6ZNB6\"\n                                     \"UniProtKB:O00754\"\n                                     \"UniProtKB:Q9H0U3\"\n                                     \"UniProtKB:Q9HCC0\"\n                                     \"UniProtKB:Q15233\"\n                                     \"UniProtKB:P52848\"\n                                     \"UniProtKB:Q96PY6\"\n                                     \"UniProtKB:Q8N4C6\"\n                                     \"UniProtKB:P51955\"\n                                     \"UniProtKB:P21439\"\n                                     \"UniProtKB:Q86SG6\"\n                                     \"UniProtKB:Q9UJA3\"\n                                     \"UniProtKB:Q9NXL9\"\n                                     \"UniProtKB:Q9NYL2\"\n                                     \"UniProtKB:O95382\"\n                                     \"UniProtKB:O43318\"\n                                     \"UniProtKB:Q9HAN9\"\n                                     \"UniProtKB:P46531\"\n                                     \"UniProtKB:P10253\"\n                                     \"UniProtKB:O00255\"\n                                     \"UniProtKB:Q9BV79\"\n                                     \"UniProtKB:P49959\"\n                                     \"UniProtKB:O75352\"\n                                     \"UniProtKB:Q9Y5U8\"\n                                     \"UniProtKB:P43694\"\n                                     \"UniProtKB:Q9ULV1\"\n                                     \"UniProtKB:Q12946\"\n                                     \"UniProtKB:P14324\"\n                                     \"UniProtKB:P39905\"\n                                     \"UniProtKB:Q68CQ7\"\n                                     \"UniProtKB:P16520\"\n                                     \"UniProtKB:P27539\"\n                                     \"UniProtKB:P31150\"\n                                     \"UniProtKB:Q8TBA6\"\n                                     \"UniProtKB:P69891\"\n                                     \"UniProtKB:Q8IYU2\"\n                                     \"UniProtKB:P42263\"\n                                     \"UniProtKB:P22557\"\n                                     \"UniProtKB:P22830\"\n                                     \"UniProtKB:P14210\"\n                                     \"UniProtKB:O43464\"\n                                     \"UniProtKB:P20823\"\n                                     \"UniProtKB:Q9UJY1\"\n                                     \"UniProtKB:Q00839\"\n                                     \"UniProtKB:P01344\"\n                                     \"UniProtKB:P98164\"\n                                     \"UniProtKB:Q99732\"\n                                     \"UniProtKB:O75096\"\n                                     \"UniProtKB:O75197\"\n                                     \"UniProtKB:O75581\"\n                                     \"UniProtKB:Q38SD2\"\n                                     \"UniProtKB:Q5S007\"\n                                     \"UniProtKB:Q6UWE0\"\n                                     \"UniProtKB:P48735\"\n                                     \"UniProtKB:Q00987\"\n                                     \"UniProtKB:D6RGH6\"\n                                     \"UniProtKB:P41091\"\n                                     \"UniProtKB:Q16270\"\n                                     \"UniProtKB:P31270\"\n                                     \"UniProtKB:P29460\"\n                                     \"UniProtKB:P02533\"\n                                     \"UniProtKB:P15884\"\n                                     \"UniProtKB:Q9HCM3\"\n                                     \"UniProtKB:Q99797\"\n                                     \"UniProtKB:Q86XA0\"\n                                     \"UniProtKB:Q9ULK4\"\n                                     \"UniProtKB:Q93074\"\n                                     \"UniProtKB:Q8TDR0\"\n                                     \"UniProtKB:Q08881\"\n                                     \"UniProtKB:Q9UHV7\"\n                                     \"UniProtKB:P50221\"\n                                     \"UniProtKB:P30301\"\n                                     \"UniProtKB:Q71SY5\"\n                                     \"UniProtKB:Q9NVC6\"\n                                     \"UniProtKB:Q719H9\"\n                                     \"UniProtKB:Q92794\"\n                                     \"UniProtKB:Q7Z4S6\"\n                                     \"UniProtKB:O95235\"\n                                     \"UniProtKB:O60928\"\n                                     \"UniProtKB:Q15049\"\n                                     \"UniProtKB:O95255\"\n                                     \"UniProtKB:Q10571\"\n                                     \"UniProtKB:Q8IVH4\"\n                                     \"UniProtKB:Q96EY8\"\n                                     \"UniProtKB:Q9UHC1\"\n                                     \"UniProtKB:Q9Y4U1\"\n                                     \"UniProtKB:P07942\"\n                                     \"UniProtKB:Q13751\"\n                                     \"UniProtKB:P28360\"\n                                     \"UniProtKB:P35548\"\n                                     \"UniProtKB:Q13496\"\n                                     \"UniProtKB:Q13614\"\n                                     \"UniProtKB:Q9UBK8\"\n                                     \"UniProtKB:O75648\"\n                                     \"UniProtKB:Q14657\"\n                                     \"UniProtKB:P23560\"\n                                     \"UniProtKB:Q9UBX1\"\n                                     \"UniProtKB:P49454\"\n                                     \"UniProtKB:P32970\"\n                                     \"UniProtKB:Q9H078\"\n                                     \"UniProtKB:Q9Y6Y1\"\n                                     \"UniProtKB:Q9UDT6\"\n                                     \"UniProtKB:O43734\"\n                                     \"UniProtKB:Q9UL01\"\n                                     \"UniProtKB:Q14028\"\n                                     \"UniProtKB:Q9P2X0\"\n                                     \"UniProtKB:Q02413\"\n                                     \"UniProtKB:Q14126\"\n                                     \"UniProtKB:Q96IL0\"\n                                     \"UniProtKB:Q9NWW5\"\n                                     \"UniProtKB:Q9UBY8\"\n                                     \"UniProtKB:Q6P4Q7\"\n                                     \"UniProtKB:O95500\"\n                                     \"UniProtKB:O75175\"\n                                     \"UniProtKB:Q14746\"\n                                     \"UniProtKB:Q96H96\"\n                                     \"UniProtKB:Q7Z2Z2\"\n                                     \"UniProtKB:O15528\"\n                                     \"UniProtKB:P39880\"\n                                     \"UniProtKB:P16410\"\n                                     \"UniProtKB:P49238\"\n                                     \"UniProtKB:Q9BQA9\"\n                                     \"UniProtKB:Q96PZ2\"\n                                     \"UniProtKB:P36382\"\n                                     \"UniProtKB:Q9NTQ9\"\n                                     \"UniProtKB:P29033\"\n                                     \"UniProtKB:P50461\"\n                                     \"UniProtKB:Q5T442\"\n                                     \"UniProtKB:Q9P219\"\n                                     \"UniProtKB:Q14203\"\n                                     \"UniProtKB:Q8NFG4\"\n                                     \"UniProtKB:Q86Y56\"\n                                     \"UniProtKB:P35638\"\n                                     \"UniProtKB:O60479\"\n                                     \"UniProtKB:Q14565\"\n                                     \"UniProtKB:Q9Y5R6\"\n                                     \"UniProtKB:Q16610\"\n                                     \"UniProtKB:Q14117\"\n                                     \"UniProtKB:P01920\"\n                                     \"UniProtKB:Q16828\"\n                                     \"UniProtKB:Q8NEX9\"\n                                     \"UniProtKB:O95995\"\n                                     \"UniProtKB:P14416\"\n                                     \"UniProtKB:P42658\"\n                                     \"UniProtKB:Q9UPQ8\"\n                                     \"UniProtKB:O00429\"\n                                     \"UniProtKB:P04440\"\n                                     \"UniProtKB:P09172\"\n                                     \"UniProtKB:Q9Y463\"\n                                     \"UniProtKB:Q8IVS8\"\n                                     \"UniProtKB:Q96N67\"\n                                     \"UniProtKB:P49770\"\n                                     \"UniProtKB:P05305\"\n                                     \"UniProtKB:Q99502\"\n                                     \"UniProtKB:O95571\"\n                                     \"UniProtKB:Q9NQT5\"\n                                     \"UniProtKB:Q13868\"\n                                     \"UniProtKB:Q9UKB1\"\n                                     \"UniProtKB:Q9Y5Y0\"\n                                     \"UniProtKB:P11362\"\n                                     \"UniProtKB:Q5XUX0\"\n                                     \"UniProtKB:Q01543\"\n                                     \"UniProtKB:Q14CZ8\"\n                                     \"UniProtKB:P36980\"\n                                     \"UniProtKB:O60882\"\n                                     \"UniProtKB:P08590\"\n                                     \"UniProtKB:Q8WY64\"\n                                     \"UniProtKB:B2RTY4\"\n                                     \"UniProtKB:Q86TC9\"\n                                     \"UniProtKB:P59046\"\n                                     \"UniProtKB:Q8IZF0\"\n                                     \"UniProtKB:O60721\"\n                                     \"UniProtKB:Q8WX94\"\n                                     \"UniProtKB:O60683\"\n                                     \"UniProtKB:O00623\"\n                                     \"UniProtKB:Q92968\"\n                                     \"UniProtKB:O75381\"\n                                     \"UniProtKB:P14222\"\n                                     \"UniProtKB:Q8NBL1\"\n                                     \"UniProtKB:P41219\"\n                                     \"UniProtKB:Q9Y5Y5\"\n                                     \"UniProtKB:P36871\"\n                                     \"UniProtKB:P40855\"\n                                     \"UniProtKB:P05164\"\n                                     \"UniProtKB:O43933\"\n                                     \"UniProtKB:Q96FX8\"\n                                     \"UniProtKB:Q7Z412\"\n                                     \"UniProtKB:P28328\"\n                                     \"UniProtKB:P56589\"\n                                     \"UniProtKB:P50542\"\n                                     \"UniProtKB:Q9Y6M9\"\n                                     \"UniProtKB:P01213\"\n                                     \"UniProtKB:O96000\"\n                                     \"UniProtKB:O76041\"\n                                     \"UniProtKB:Q00653\"\n                                     \"UniProtKB:Q9NX24\"\n                                     \"UniProtKB:O43181\"\n                                     \"UniProtKB:O94903\"\n                                     \"UniProtKB:Q92542\"\n                                     \"UniProtKB:O60716\"\n                                     \"UniProtKB:O43684\"\n                                     \"UniProtKB:O14874\"\n                                     \"UniProtKB:Q96L12\"\n                                     \"UniProtKB:Q6F5E8\"\n                                     \"UniProtKB:Q9HD42\"\n                                     \"UniProtKB:P05156\"\n                                     \"UniProtKB:P40259\"\n                                     \"UniProtKB:P19835\"\n                                     \"UniProtKB:P22674\"\n                                     \"UniProtKB:Q8N1B3\"\n                                     \"UniProtKB:P58418\"\n                                     \"UniProtKB:P18545\"\n                                     \"UniProtKB:Q13057\"\n                                     \"UniProtKB:Q6XUX3\"\n                                     \"UniProtKB:P42892\"\n                                     \"UniProtKB:O95672\"\n                                     \"UniProtKB:Q9UHC6\"\n                                     \"UniProtKB:P55084\"\n                                     \"UniProtKB:Q14CN2\"\n                                     \"UniProtKB:Q9NZN8\"\n                                     \"UniProtKB:P53420\"\n                                     \"UniProtKB:P08572\"\n                                     \"UniProtKB:P50570\"\n                                     \"UniProtKB:Q9NZA1\"\n                                     \"UniProtKB:P01031\"\n                                     \"UniProtKB:P07360\"\n                                     \"UniProtKB:Q14055\"\n                                     \"UniProtKB:P02748\"\n                                     \"UniProtKB:P07357\"\n                                     \"UniProtKB:P28329\"\n                                     \"UniProtKB:Q6XZF7\"\n                                     \"UniProtKB:P20813\"\n                                     \"UniProtKB:Q12887\"\n                                     \"UniProtKB:P26358\"\n                                     \"UniProtKB:P10635\"\n                                     \"UniProtKB:P01133\"\n                                     \"UniProtKB:Q53GD3\"\n                                     \"UniProtKB:P08574\"\n                                     \"UniProtKB:P04839\"\n                                     \"UniProtKB:P02765\"\n                                     \"UniProtKB:P21333\"\n                                     \"UniProtKB:Q96HP0\"\n                                     \"UniProtKB:O95278\"\n                                     \"UniProtKB:Q9H6S3\"\n                                     \"UniProtKB:P35575\"\n                                     \"UniProtKB:P42357\"\n                                     \"UniProtKB:Q6ZUT3\"\n                                     \"UniProtKB:Q92947\"\n                                     \"UniProtKB:Q3V6T2\"\n                                     \"UniProtKB:Q8IV16\"\n                                     \"UniProtKB:Q99714\"\n                                     \"UniProtKB:P51610\"\n                                     \"UniProtKB:Q16836\"\n                                     \"UniProtKB:Q9P2W1\"\n                                     \"UniProtKB:Q92743\"\n                                     \"UniProtKB:Q86YV9\"\n                                     \"UniProtKB:P18510\"\n                                     \"UniProtKB:Q96FE5\"\n                                     \"UniProtKB:P26038\"\n                                     \"UniProtKB:Q9HD47\"\n                                     \"UniProtKB:Q8IXL7\"\n                                     \"UniProtKB:Q9HC84\"\n                                     \"UniProtKB:Q01726\"\n                                     \"UniProtKB:Q86WG5\"\n                                     \"UniProtKB:Q8IUG5\"\n                                     \"UniProtKB:O60934\"\n                                     \"UniProtKB:P02689\"\n                                     \"UniProtKB:P53602\"\n                                     \"UniProtKB:Q13951\"\n                                     \"UniProtKB:O15055\"\n                                     \"UniProtKB:Q14896\"\n                                     \"UniProtKB:P60201\"\n                                     \"UniProtKB:Q8NEV4\"\n                                     \"UniProtKB:P14598\"\n                                     \"UniProtKB:P56645\"\n                                     \"UniProtKB:Q8NFF2\"\n                                     \"UniProtKB:Q13772\"\n                                     \"UniProtKB:Q9P032\"\n                                     \"UniProtKB:Q5TEU4\"\n                                     \"UniProtKB:Q9NZ94\"\n                                     \"UniProtKB:Q9UDR5\"\n                                     \"UniProtKB:O94805\"\n                                     \"UniProtKB:Q9GZX7\"\n                                     \"UniProtKB:Q8TCU4\"\n                                     \"UniProtKB:Q12904\"\n                                     \"UniProtKB:P60709\"\n                                     \"UniProtKB:Q99996\"\n                                     \"UniProtKB:Q13443\"\n                                     \"UniProtKB:P63267\"\n                                     \"UniProtKB:Q6Q788\"\n                                     \"UniProtKB:P02652\"\n                                     \"UniProtKB:P18846\"\n                                     \"UniProtKB:Q9NTI2\"\n                                     \"UniProtKB:Q8WXI3\"\n                                     \"UniProtKB:P98196\"\n                                     \"UniProtKB:Q9NR48\"\n                                     \"UniProtKB:Q12830\"\n                                     \"UniProtKB:O76090\"\n                                     \"UniProtKB:P17302\"\n                                     \"UniProtKB:P41182\"\n                                     \"UniProtKB:O43570\"\n                                     \"UniProtKB:Q6NZI2\"\n                                     \"UniProtKB:P12830\"\n                                     \"UniProtKB:Q9BXL7\"\n                                     \"UniProtKB:Q9Y698\"\n                                     \"UniProtKB:P53701\"\n                                     \"UniProtKB:Q6UXH8\"\n                                     \"UniProtKB:O43497\"\n                                     \"UniProtKB:P48509\"\n                                     \"UniProtKB:Q5JTW2\"\n                                     \"UniProtKB:Q96MT8\"\n                                     \"UniProtKB:O60308\"\n                                     \"UniProtKB:P32929\"\n                                     \"UniProtKB:Q96MT7\"\n                                     \"UniProtKB:Q8NDM7\"\n                                     \"UniProtKB:P51681\"\n                                     \"UniProtKB:O14578\"\n                                     \"UniProtKB:Q99895\"\n                                     \"UniProtKB:Q9NQL9\"\n                                     \"UniProtKB:Q8TDJ6\"\n                                     \"UniProtKB:O95479\"\n                                     \"UniProtKB:Q9UBS4\"\n                                     \"UniProtKB:Q96CU9\"\n                                     \"UniProtKB:P80370\"\n                                     \"UniProtKB:Q8IY37\"\n                                     \"UniProtKB:O60832\"\n                                     \"UniProtKB:Q86YH6\"\n                                     \"UniProtKB:O15117\"\n                                     \"UniProtKB:O75907\"\n                                     \"UniProtKB:P15924\"\n                                     \"UniProtKB:Q16854\"\n                                     \"UniProtKB:P09622\"\n                                     \"UniProtKB:Q14C86\"\n                                     \"UniProtKB:O60610\"\n                                     \"UniProtKB:Q12959\"\n                                     \"UniProtKB:P51570\"\n                                     \"UniProtKB:Q9P2K8\"\n                                     \"UniProtKB:P43004\"\n                                     \"UniProtKB:P35462\"\n                                     \"UniProtKB:P49411\"\n                                     \"UniProtKB:Q8IXL6\"\n                                     \"UniProtKB:O43909\"\n                                     \"UniProtKB:P38117\"\n                                     \"UniProtKB:Q16134\"\n                                     \"UniProtKB:Q9NZ08\"\n                                     \"UniProtKB:O75616\"\n                                     \"UniProtKB:Q9BXW9\"\n                                     \"UniProtKB:O75844\"\n                                     \"UniProtKB:P31513\"\n                                     \"UniProtKB:Q02985\"\n                                     \"UniProtKB:Q9Y2M0\"\n                                     \"UniProtKB:P35555\"\n                                     \"UniProtKB:P23142\"\n                                     \"UniProtKB:Q14332\"\n                                     \"UniProtKB:O60443\"\n                                     \"UniProtKB:Q16363\"\n                                     \"UniProtKB:Q13753\"\n                                     \"UniProtKB:Q9Y6N6\"\n                                     \"UniProtKB:Q9H3J6\"\n                                     \"UniProtKB:O75444\"\n                                     \"UniProtKB:Q9UI17\"\n                                     \"UniProtKB:Q02978\"\n                                     \"UniProtKB:Q9NPI8\"\n                                     \"UniProtKB:Q9NYY8\"\n                                     \"UniProtKB:P23945\"\n                                     \"UniProtKB:P41250\"\n                                     \"UniProtKB:O75593\"\n                                     \"UniProtKB:O00358\"\n                                     \"UniProtKB:P02794\"\n                                     \"UniProtKB:Q9P2Q2\"\n                                     \"UniProtKB:P10070\"\n                                     \"UniProtKB:Q92820\"\n                                     \"UniProtKB:Q9BYX4\"\n                                     \"UniProtKB:Q13651\"\n                                     \"UniProtKB:Q14626\"\n                                     \"UniProtKB:Q8N6C5\"\n                                     \"UniProtKB:O14793\"\n                                     \"UniProtKB:Q5VTD9\"\n                                     \"UniProtKB:P42701\"\n                                     \"UniProtKB:O75603\"\n                                     \"UniProtKB:Q96F46\"\n                                     \"UniProtKB:O75367\"\n                                     \"UniProtKB:P21695\"\n                                     \"UniProtKB:Q14520\"\n                                     \"UniProtKB:Q8N442\"\n                                     \"UniProtKB:Q6NVY1\"\n                                     \"UniProtKB:P14784\"\n                                     \"UniProtKB:Q8NI17\"\n                                     \"UniProtKB:P19013\"\n                                     \"UniProtKB:Q8IXQ5\"\n                                     \"UniProtKB:Q9NR82\"\n                                     \"UniProtKB:Q14678\"\n                                     \"UniProtKB:Q4G0J3\"\n                                     \"UniProtKB:P22888\"\n                                     \"UniProtKB:P02545\"\n                                     \"UniProtKB:Q8IWT6\"\n                                     \"UniProtKB:Q14693\"\n                                     \"UniProtKB:P11150\"\n                                     \"UniProtKB:Q9NPC6\"\n                                     \"UniProtKB:P25189\"\n                                     \"UniProtKB:Q5VXI9\"\n                                     \"UniProtKB:Q969G2\"\n                                     \"UniProtKB:Q6DN12\"\n                                     \"UniProtKB:Q13233\"\n                                     \"UniProtKB:Q9Y2U8\"\n                                     \"UniProtKB:Q99519\"\n                                     \"UniProtKB:Q99574\"\n                                     \"UniProtKB:P01138\"\n                                     \"UniProtKB:Q5QGS0\"\n                                     \"UniProtKB:Q92979\"\n                                     \"UniProtKB:Q0ZGT2\"\n                                     \"UniProtKB:Q96IV0\"\n                                     \"UniProtKB:Q9Y4Z2\"\n                                     \"UniProtKB:P21359\"\n                                     \"UniProtKB:Q12879\"\n                                     \"UniProtKB:Q13224\"\n                                     \"UniProtKB:Q9NPP4\"\n                                     \"UniProtKB:Q96S42\"\n                                     \"UniProtKB:O15399\"\n                                     \"UniProtKB:O94916\"\n                                     \"UniProtKB:P12036\"\n                                     \"UniProtKB:P61916\"\n                                     \"UniProtKB:Q12857\"\n                                     \"UniProtKB:Q8NA29\"\n                                     \"UniProtKB:Q9UHC9\"\n                                     \"UniProtKB:Q14938\"\n                                     \"UniProtKB:Q9Y2Q5\"\n                                     \"UniProtKB:Q9UM47\"\n                                     \"UniProtKB:Q13562\"\n                                     \"UniProtKB:Q15784\"\n                                     \"UniProtKB:P16435\"\n                                     \"UniProtKB:Q8IW45\"\n                                     \"UniProtKB:O95631\"\n                                     \"UniProtKB:P56730\"\n                                     \"UniProtKB:Q9BQP7\"\n                                     \"UniProtKB:Q5XKP0\"\n                                     \"UniProtKB:P35658\"\n                                     \"UniProtKB:P08581\"\n                                     \"UniProtKB:P35240\"\n                                     \"UniProtKB:Q9UNW1\"\n                                     \"UniProtKB:Q12866\"\n                                     \"UniProtKB:Q2KHM9\"\n                                     \"UniProtKB:P21757\"\n                                     \"UniProtKB:Q9BUK6\"\n                                     \"UniProtKB:P01106\"\n                                     \"UniProtKB:Q8N159\"\n                                     \"UniProtKB:Q6ZNJ1\"\n                                     \"UniProtKB:P13535\"\n                                     \"UniProtKB:P07339\"\n                                     \"UniProtKB:Q9NQC7\"\n                                     \"UniProtKB:Q92988\"\n                                     \"UniProtKB:Q4LDG9\"\n                                     \"UniProtKB:Q9H0R6\"\n                                     \"UniProtKB:P11413\"\n                                     \"UniProtKB:P34059\"\n                                     \"UniProtKB:P54826\"\n                                     \"UniProtKB:Q13467\"\n                                     \"UniProtKB:O14926\"\n                                     \"UniProtKB:P01100\"\n                                     \"UniProtKB:Q96A29\"\n                                     \"UniProtKB:Q12948\"\n                                     \"UniProtKB:Q99958\"\n                                     \"UniProtKB:P21462\"\n                                     \"UniProtKB:Q13461\"\n                                     \"UniProtKB:Q92949\"\n                                     \"UniProtKB:P07954\"\n                                     \"UniProtKB:O15353\"\n                                     \"UniProtKB:Q9H334\"\n                                     \"UniProtKB:P15328\"\n                                     \"UniProtKB:O15409\"\n                                     \"UniProtKB:Q8WWZ3\"\n                                     \"UniProtKB:Q9UBX2\"\n                                     \"UniProtKB:Q8TF64\"\n                                     \"UniProtKB:P09884\"\n                                     \"UniProtKB:O75923\"\n                                     \"UniProtKB:Q7RTS9\"\n                                     \"UniProtKB:P04062\"\n                                     \"UniProtKB:Q9Y223\"\n                                     \"UniProtKB:P50440\"\n                                     \"UniProtKB:Q04743\"\n                                     \"UniProtKB:Q5JVL4\"\n                                     \"UniProtKB:Q9UI10\"\n                                     \"UniProtKB:Q9UNE0\"\n                                     \"UniProtKB:O75530\"\n                                     \"UniProtKB:O94988\"\n                                     \"UniProtKB:P07992\"\n                                     \"UniProtKB:A1XBS5\"\n                                     \"UniProtKB:Q93063\"\n                                     \"UniProtKB:P01588\"\n                                     \"UniProtKB:P50549\"\n                                     \"UniProtKB:Q8NFF5\"\n                                     \"UniProtKB:Q92731\"\n                                     \"UniProtKB:O75477\"\n                                     \"UniProtKB:Q09472\"\n                                     \"UniProtKB:Q8IVS2\"\n                                     \"UniProtKB:Q92915\"\n                                     \"UniProtKB:O75636\"\n                                     \"UniProtKB:O43320\"\n                                     \"UniProtKB:Q06787\"\n                                     \"UniProtKB:Q9NZU1\"\n                                     \"UniProtKB:P31371\"\n                                     \"UniProtKB:P02675\"\n                                     \"UniProtKB:P55075\"\n                                     \"UniProtKB:P21802\"\n                                     \"UniProtKB:Q9BXR6\"\n                                     \"UniProtKB:Q14192\"\n                                     \"UniProtKB:P15976\"\n                                     \"UniProtKB:Q9BT04\"\n                                     \"UniProtKB:P63092\"\n                                     \"UniProtKB:Q8N6U8\"\n                                     \"UniProtKB:P35052\"\n                                     \"UniProtKB:Q9BY32\"\n                                     \"UniProtKB:P43080\"\n                                     \"UniProtKB:Q02846\"\n                                     \"UniProtKB:O43593\"\n                                     \"UniProtKB:Q9Y283\"\n                                     \"UniProtKB:Q9Y287\"\n                                     \"UniProtKB:Q6PHW0\"\n                                     \"UniProtKB:Q96EW2\"\n                                     \"UniProtKB:P30613\"\n                                     \"UniProtKB:P46019\"\n                                     \"UniProtKB:Q03164\"\n                                     \"UniProtKB:P10721\"\n                                     \"UniProtKB:Q93100\"\n                                     \"UniProtKB:Q15139\"\n                                     \"UniProtKB:Q8IZU9\"\n                                     \"UniProtKB:P47895\"\n                                     \"UniProtKB:Q9BXJ7\"\n                                     \"UniProtKB:P18089\"\n                                     \"UniProtKB:P51857\"\n                                     \"UniProtKB:P45381\"\n                                     \"UniProtKB:Q9UHB7\"\n                                     \"UniProtKB:Q96EY9\"\n                                     \"UniProtKB:P12814\"\n                                     \"UniProtKB:Q9BT22\"\n                                     \"UniProtKB:Q92685\"\n                                     \"UniProtKB:O14672\"\n                                     \"UniProtKB:O14958\"\n                                     \"UniProtKB:P20807\"\n                                     \"UniProtKB:Q16204\"\n                                     \"UniProtKB:Q9H0W5\"\n                                     \"UniProtKB:Q9NW15\"\n                                     \"UniProtKB:Q9BYT9\"\n                                     \"UniProtKB:P25054\"\n                                     \"UniProtKB:Q14781\"\n                                     \"UniProtKB:Q13698\"\n                                     \"UniProtKB:Q92481\"\n                                     \"UniProtKB:Q15041\"\n                                     \"UniProtKB:O00189\"\n                                     \"UniProtKB:P02655\"\n                                     \"UniProtKB:Q01432\"\n                                     \"UniProtKB:Q8NI99\"\n                                     \"UniProtKB:Q15389\"\n                                     \"UniProtKB:P16157\"\n                                     \"UniProtKB:Q96QS3\"\n                                     \"UniProtKB:Q13510\"\n                                     \"UniProtKB:Q9NQ11\"\n                                     \"UniProtKB:P0DP24\"\n                                     \"UniProtKB:O96017\"\n                                     \"UniProtKB:Q9UNE7\"\n                                     \"UniProtKB:P10809\"\n                                     \"UniProtKB:P06276\"\n                                     \"UniProtKB:Q49MI3\"\n                                     \"UniProtKB:Q9H211\"\n                                     \"UniProtKB:Q4KMG0\"\n                                     \"UniProtKB:Q15392\"\n                                     \"UniProtKB:Q9Y2V0\"\n                                     \"UniProtKB:O43822\"\n                                     \"UniProtKB:Q9BRQ4\"\n                                     \"UniProtKB:Q92608\"\n                                     \"UniProtKB:O14775\"\n                                     \"UniProtKB:P15104\"\n                                     \"UniProtKB:O95837\"\n                                     \"UniProtKB:Q86SX6\"\n                                     \"UniProtKB:P08754\"\n                                     \"UniProtKB:Q14749\"\n                                     \"UniProtKB:P47871\"\n                                     \"UniProtKB:O15228\"\n                                     \"UniProtKB:P38405\"\n                                     \"UniProtKB:P09471\"\n                                     \"UniProtKB:O43292\"\n                                     \"UniProtKB:Q3T906\"\n                                     \"UniProtKB:P50148\"\n                                     \"UniProtKB:Q9UJJ9\"\n                                     \"UniProtKB:P14314\"\n                                     \"UniProtKB:P30968\"\n                                     \"UniProtKB:P15586\"\n                                     \"UniProtKB:Q6PRD1\"\n                                     \"UniProtKB:P11488\"\n                                     \"UniProtKB:Q13216\"\n                                     \"UniProtKB:Q5T1H1\"\n                                     \"UniProtKB:P12259\"\n                                     \"UniProtKB:P05160\"\n                                     \"UniProtKB:Q969X5\"\n                                     \"UniProtKB:P22607\"\n                                     \"UniProtKB:Q03591\"\n                                     \"UniProtKB:P35527\"\n                                     \"UniProtKB:Q96GX5\"\n                                     \"UniProtKB:P61296\"\n                                     \"UniProtKB:P11166\"\n                                     \"UniProtKB:Q93099\"\n                                     \"UniProtKB:Q14774\"\n                                     \"UniProtKB:P41235\"\n                                     \"UniProtKB:Q9NQG7\"\n                                     \"UniProtKB:Q9HBE5\"\n                                     \"UniProtKB:Q9HBE4\"\n                                     \"UniProtKB:P32927\"\n                                     \"UniProtKB:O00462\"\n                                     \"UniProtKB:Q8NEM0\"\n                                     \"UniProtKB:Q9BR39\"\n                                     \"UniProtKB:Q9BX67\"\n                                     \"UniProtKB:P57087\"\n                                     \"UniProtKB:Q9NX62\"\n                                     \"UniProtKB:Q9BZI1\"\n                                     \"UniProtKB:P12035\"\n                                     \"UniProtKB:P08779\"\n                                     \"UniProtKB:Q06413\"\n                                     \"UniProtKB:Q06136\"\n                                     \"UniProtKB:Q13976\"\n                                     \"UniProtKB:Q9Y6J6\"\n                                     \"UniProtKB:Q9UH77\"\n                                     \"UniProtKB:Q13303\"\n                                     \"UniProtKB:Q9HCE0\"\n                                     \"UniProtKB:Q01844\"\n                                     \"UniProtKB:Q3B820\"\n                                     \"UniProtKB:P41212\"\n                                     \"UniProtKB:P09467\"\n                                     \"UniProtKB:P50548\"\n                                     \"UniProtKB:B1AK53\"\n                                     \"UniProtKB:P03372\"\n                                     \"UniProtKB:O95936\"\n                                     \"UniProtKB:P16452\"\n                                     \"UniProtKB:P98073\"\n                                     \"UniProtKB:Q00597\"\n                                     \"UniProtKB:Q12805\"\n                                     \"UniProtKB:O75487\"\n                                     \"UniProtKB:Q9Y625\"\n                                     \"UniProtKB:Q9NQ38\"\n                                     \"UniProtKB:P78504\"\n                                     \"UniProtKB:P46976\"\n                                     \"UniProtKB:P53708\"\n                                     \"UniProtKB:B0YJ81\"\n                                     \"UniProtKB:P00390\"\n                                     \"UniProtKB:Q8TDQ0\"\n                                     \"UniProtKB:O00165\"\n                                     \"UniProtKB:Q9UKT9\"\n                                     \"UniProtKB:Q5VWK5\"\n                                     \"UniProtKB:P25963\"\n                                     \"UniProtKB:P19367\"\n                                     \"UniProtKB:O95259\"\n                                     \"UniProtKB:O60662\"\n                                     \"UniProtKB:P48544\"\n                                     \"UniProtKB:O14649\"\n                                     \"UniProtKB:Q8TDN2\"\n                                     \"UniProtKB:P08253\"\n                                     \"UniProtKB:Q8TCY5\"\n                                     \"UniProtKB:P41229\"\n                                     \"UniProtKB:O15550\"\n                                     \"UniProtKB:P54819\"\n                                     \"UniProtKB:P33527\"\n                                     \"UniProtKB:Q9Y4W2\"\n                                     \"UniProtKB:P40692\"\n                                     \"UniProtKB:P55268\"\n                                     \"UniProtKB:P01130\"\n                                     \"UniProtKB:P00338\"\n                                     \"UniProtKB:P78386\"\n                                     \"UniProtKB:P20700\"\n                                     \"UniProtKB:P23490\"\n                                     \"UniProtKB:P11226\"\n                                     \"UniProtKB:P32245\"\n                                     \"UniProtKB:Q9Y6K9\"\n                                     \"UniProtKB:P16455\"\n                                     \"UniProtKB:Q00266\"\n                                     \"UniProtKB:P31153\"\n                                     \"UniProtKB:Q9BPX6\"\n                                     \"UniProtKB:P14174\"\n                                     \"UniProtKB:Q96RI1\"\n                                     \"UniProtKB:Q9NV35\"\n                                     \"UniProtKB:Q9NPJ1\"\n                                     \"UniProtKB:Q9Y6X9\"\n                                     \"UniProtKB:Q96KG7\"\n                                     \"UniProtKB:Q13724\"\n                                     \"UniProtKB:Q16653\"\n                                     \"UniProtKB:Q10713\"\n                                     \"UniProtKB:Q06455\"\n                                     \"UniProtKB:P43246\"\n                                     \"UniProtKB:P03923\"\n                                     \"UniProtKB:Q9ULB1\"\n                                     \"UniProtKB:P06748\"\n                                     \"UniProtKB:Q96CV9\"\n                                     \"UniProtKB:O14841\"\n                                     \"UniProtKB:Q86U42\"\n                                     \"UniProtKB:Q96RK4\"\n                                     \"UniProtKB:Q9UP83\"\n                                     \"UniProtKB:P31327\"\n                                     \"UniProtKB:P17813\"\n                                     \"UniProtKB:P11161\"\n                                     \"UniProtKB:P05177\"\n                                     \"UniProtKB:P24311\"\n                                     \"UniProtKB:Q9NZV1\"\n                                     \"UniProtKB:P46109\"\n                                     \"UniProtKB:O14529\"\n                                     \"UniProtKB:P00156\"\n                                     \"UniProtKB:Q96CG8\"\n                                     \"UniProtKB:Q8NEV8\"\n                                     \"UniProtKB:P18074\"\n                                     \"UniProtKB:P12074\"\n                                     \"UniProtKB:Q13620\"\n                                     \"UniProtKB:P13611\"\n                                     \"UniProtKB:O75398\"\n                                     \"UniProtKB:Q8TCX1\"\n                                     \"UniProtKB:P31994\"\n                                     \"UniProtKB:P31995\"\n                                     \"UniProtKB:Q8WVS4\"\n                                     \"UniProtKB:P08637\"\n                                     \"UniProtKB:P02671\"\n                                     \"UniProtKB:P25685\"\n                                     \"UniProtKB:Q86TI2\"\n                                     \"UniProtKB:Q99607\"\n                                     \"UniProtKB:Q9HCN6\"\n                                     \"UniProtKB:P19447\"\n                                     \"UniProtKB:P00748\"\n                                     \"UniProtKB:Q6ZRV2\"\n                                     \"UniProtKB:Q96MK3\"\n                                     \"UniProtKB:P57679\"\n                                     \"UniProtKB:Q9UNN8\"\n                                     \"UniProtKB:O95718\"\n                                     \"UniProtKB:O15287\"\n                                     \"UniProtKB:Q13642\"\n                                     \"UniProtKB:P32189\"\n                                     \"UniProtKB:P29992\"\n                                     \"UniProtKB:P81274\"\n                                     \"UniProtKB:P13224\"\n                                     \"UniProtKB:Q8N335\"\n                                     \"UniProtKB:Q96T52\"\n                                     \"UniProtKB:Q13568\"\n                                     \"UniProtKB:P08514\"\n                                     \"UniProtKB:O75564\"\n                                     \"UniProtKB:P11215\"\n                                     \"UniProtKB:P04264\"\n                                     \"UniProtKB:O95267\"\n                                     \"UniProtKB:P02042\"\n                                     \"UniProtKB:P51787\"\n                                     \"UniProtKB:P16389\"\n                                     \"UniProtKB:O43896\"\n                                     \"UniProtKB:P31321\"\n                                     \"UniProtKB:Q02241\"\n                                     \"UniProtKB:P22460\"\n                                     \"UniProtKB:O60341\"\n                                     \"UniProtKB:C9JR72\"\n                                     \"UniProtKB:Q14721\"\n                                     \"UniProtKB:Q13588\"\n                                     \"UniProtKB:P17612\"\n                                     \"UniProtKB:B2CW77\"\n                                     \"UniProtKB:Q9NRZ9\"\n                                     \"UniProtKB:O95714\"\n                                     \"UniProtKB:Q5VTY9\"\n                                     \"UniProtKB:P06865\"\n                                     \"UniProtKB:P25391\"\n                                     \"UniProtKB:P07686\"\n                                     \"UniProtKB:P35914\"\n                                     \"UniProtKB:P48742\"\n                                     \"UniProtKB:Q9H3L0\"\n                                     \"UniProtKB:P04181\"\n                                     \"UniProtKB:P51178\"\n                                     \"UniProtKB:O60240\"\n                                     \"UniProtKB:Q8TBY8\"\n                                     \"UniProtKB:Q9NRM0\"\n                                     \"UniProtKB:P32754\"\n                                     \"UniProtKB:P01871\"\n                                     \"UniProtKB:O43837\"\n                                     \"UniProtKB:Q12891\"\n                                     \"UniProtKB:O15232\"\n                                     \"UniProtKB:P49736\"\n                                     \"UniProtKB:P43243\"\n                                     \"UniProtKB:Q9HD34\"\n                                     \"UniProtKB:Q5U5X0\"\n                                     \"UniProtKB:P61244\"\n                                     \"UniProtKB:P22304\"\n                                     \"UniProtKB:P05019\"\n                                     \"UniProtKB:P47813\"\n                                     \"UniProtKB:Q15652\"\n                                     \"UniProtKB:P16871\"\n                                     \"UniProtKB:Q9Y5Q3\"\n                                     \"UniProtKB:Q13423\"\n                                     \"UniProtKB:P08183\"\n                                     \"UniProtKB:Q9P267\"\n                                     \"UniProtKB:Q8N4S9\"\n                                     \"UniProtKB:Q16644\"\n                                     \"UniProtKB:Q9Y2I2\"\n                                     \"UniProtKB:Q9Y5X4\"\n                                     \"UniProtKB:Q96L73\"\n                                     \"UniProtKB:Q15738\"\n                                     \"UniProtKB:Q8N635\"\n                                     \"UniProtKB:O95248\"\n                                     \"UniProtKB:Q9Y2Z2\"\n                                     \"UniProtKB:P52701\"\n                                     \"UniProtKB:P17050\"\n                                     \"UniProtKB:P05976\"\n                                     \"UniProtKB:P15735\"\n                                     \"UniProtKB:Q12965\"\n                                     \"UniProtKB:Q8N1T3\"\n                                     \"UniProtKB:Q9UIF7\"\n                                     \"UniProtKB:Q5VVJ2\"\n                                     \"UniProtKB:Q8WY41\"\n                                     \"UniProtKB:Q15080\"\n                                     \"UniProtKB:P19404\"\n                                     \"UniProtKB:Q8NC96\"\n                                     \"UniProtKB:Q9UMS0\"\n                                     \"UniProtKB:Q0D2K0\"\n                                     \"UniProtKB:Q6KC79\"\n                                     \"UniProtKB:P14543\"\n                                     \"UniProtKB:O15239\"\n                                     \"UniProtKB:Q05586\"\n                                     \"UniProtKB:Q6DJT9\"\n                                     \"UniProtKB:P14923\"\n                                     \"UniProtKB:P08473\"\n                                     \"UniProtKB:Q7Z3K3\"\n                                     \"UniProtKB:Q8WYR1\"\n                                     \"UniProtKB:P48426\"\n                                     \"UniProtKB:P49335\"\n                                     \"UniProtKB:P42356\"\n                                     \"UniProtKB:Q15319\"\n                                     \"UniProtKB:P78424\"\n                                     \"UniProtKB:P28069\"\n                                     \"UniProtKB:P62140\"\n                                     \"UniProtKB:O60331\"\n                                     \"UniProtKB:Q9BZ71\"\n                                     \"UniProtKB:P37287\"\n                                     \"UniProtKB:P78337\"\n                                     \"UniProtKB:Q92535\"\n                                     \"UniProtKB:Q99697\"\n                                     \"UniProtKB:O75364\"\n                                     \"UniProtKB:Q5H8A4\"\n                                     \"UniProtKB:Q9Y2B2\"\n                                     \"UniProtKB:Q9H3S5\"\n                                     \"UniProtKB:O95427\"\n                                     \"UniProtKB:Q8TEQ8\"\n                                     \"UniProtKB:O14813\"\n                                     \"UniProtKB:Q99453\"\n                                     \"UniProtKB:Q969N2\"\n                                     \"UniProtKB:Q12908\"\n                                     \"UniProtKB:P49281\"\n                                     \"UniProtKB:P54845\"\n                                     \"UniProtKB:Q16288\"\n                                     \"UniProtKB:O75688\"\n                                     \"UniProtKB:P10515\"\n                                     \"UniProtKB:A8MXD5\"\n                                     \"UniProtKB:Q13002\"\n                                     \"UniProtKB:P36969\"\n                                     \"UniProtKB:Q9UBQ7\"\n                                     \"UniProtKB:P00568\"\n                                     \"UniProtKB:P54198\"\n                                     \"UniProtKB:Q30201\"\n                                     \"UniProtKB:P42858\"\n                                     \"UniProtKB:Q68CP4\"\n                                     \"UniProtKB:P07195\"\n                                     \"UniProtKB:P35680\"\n                                     \"UniProtKB:Q9UPZ3\"\n                                     \"UniProtKB:Q9NWZ3\"\n                                     \"UniProtKB:Q9BZV3\"\n                                     \"UniProtKB:P04259\"\n                                     \"UniProtKB:P13647\"\n                                     \"UniProtKB:Q9UQM7\"\n                                     \"UniProtKB:O60333\"\n                                     \"UniProtKB:Q86VQ0\"\n                                     \"UniProtKB:P32004\"\n                                     \"UniProtKB:Q9NVR5\"\n                                     \"UniProtKB:P51812\"\n                                     \"UniProtKB:P01229\"\n                                     \"UniProtKB:P50851\"\n                                     \"UniProtKB:Q6NSJ0\"\n                                     \"UniProtKB:P09848\"\n                                     \"UniProtKB:P06858\"\n                                     \"UniProtKB:Q7Z7M0\"\n                                     \"UniProtKB:Q6ZSM3\"\n                                     \"UniProtKB:P50281\"\n                                     \"UniProtKB:Q9UL68\"\n                                     \"UniProtKB:P29120\"\n                                     \"UniProtKB:O43678\"\n                                     \"UniProtKB:P04629\"\n                                     \"UniProtKB:Q8WUM0\"\n                                     \"UniProtKB:O60500\"\n                                     \"UniProtKB:P11177\"\n                                     \"UniProtKB:P05165\"\n                                     \"UniProtKB:P05166\"\n                                     \"UniProtKB:Q96BN8\"\n                                     \"UniProtKB:Q15678\"\n                                     \"UniProtKB:Q13635\"\n                                     \"UniProtKB:Q9Y6C5\"\n                                     \"UniProtKB:Q9Y2R2\"\n                                     \"UniProtKB:P26045\"\n                                     \"UniProtKB:Q9BRP0\"\n                                     \"UniProtKB:Q6VY07\"\n                                     \"UniProtKB:Q99497\"\n                                     \"UniProtKB:Q16822\"\n                                     \"UniProtKB:Q96NT5\"\n                                     \"UniProtKB:P10451\"\n                                     \"UniProtKB:Q86WC4\"\n                                     \"UniProtKB:P05121\"\n                                     \"UniProtKB:Q8NBP7\"\n                                     \"UniProtKB:Q86YC2\"\n                                     \"UniProtKB:Q8WX93\"\n                                     \"UniProtKB:P32322\"\n                                     \"UniProtKB:Q96C36\"\n                                     \"UniProtKB:P54886\"\n                                     \"UniProtKB:P21810\"\n                                     \"UniProtKB:P07738\"\n                                     \"UniProtKB:Q8WZA1\"\n                                     \"UniProtKB:Q9H237\"\n                                     \"UniProtKB:Q9BWX5\"\n                                     \"UniProtKB:P11168\"\n                                     \"UniProtKB:P49773\"\n                                     \"UniProtKB:Q9ULV5\"\n                                     \"UniProtKB:P13232\"\n                                     \"UniProtKB:P35908\"\n                                     \"UniProtKB:Q03112\"\n                                     \"UniProtKB:Q0VG99\"\n                                     \"UniProtKB:P51608\"\n                                     \"UniProtKB:P28482\"\n                                     \"UniProtKB:Q8IZD2\"\n                                     \"UniProtKB:P05129\"\n                                     \"UniProtKB:Q8IXV7\"\n                                     \"UniProtKB:Q9UJ90\"\n                                     \"UniProtKB:P56696\"\n                                     \"UniProtKB:Q16787\"\n                                     \"UniProtKB:O43790\"\n                                     \"UniProtKB:P78385\"\n                                     \"UniProtKB:Q9H9P8\"\n                                     \"UniProtKB:P42704\"\n                                     \"UniProtKB:Q9UBC5\"\n                                     \"UniProtKB:Q08397\"\n                                     \"UniProtKB:Q6XZB0\"\n                                     \"UniProtKB:Q9NS15\"\n                                     \"UniProtKB:O43462\"\n                                     \"UniProtKB:O75251\"\n                                     \"UniProtKB:O00217\"\n                                     \"UniProtKB:Q8N0W4\"\n                                     \"UniProtKB:Q6T4R5\"\n                                     \"UniProtKB:Q00604\"\n                                     \"UniProtKB:Q9Y5B8\"\n                                     \"UniProtKB:O43772\"\n                                     \"UniProtKB:Q86UL8\"\n                                     \"UniProtKB:Q92597\"\n                                     \"UniProtKB:Q9UJ55\"\n                                     \"UniProtKB:P46821\"\n                                     \"UniProtKB:Q9Y586\"\n                                     \"UniProtKB:Q6ZWH5\"\n                                     \"UniProtKB:O60336\"\n                                     \"UniProtKB:O00483\"\n                                     \"UniProtKB:Q71F56\"\n                                     \"UniProtKB:Q16795\"\n                                     \"UniProtKB:O95299\"\n                                     \"UniProtKB:O60393\"\n                                     \"UniProtKB:Q86Y39\"\n                                     \"UniProtKB:Q15555\"\n                                     \"UniProtKB:Q5HYA8\"\n                                     \"UniProtKB:P03971\"\n                                     \"UniProtKB:P36021\"\n                                     \"UniProtKB:Q9Y4I1\"\n                                     \"UniProtKB:P10242\"\n                                     \"UniProtKB:P21953\"\n                                     \"UniProtKB:Q14691\"\n                                     \"UniProtKB:Q7LDG7\"\n                                     \"UniProtKB:Q14643\"\n                                     \"UniProtKB:Q8NFU5\"\n                                     \"UniProtKB:P05106\"\n                                     \"UniProtKB:Q9BUE6\"\n                                     \"UniProtKB:Q9NPC2\"\n                                     \"UniProtKB:Q96EK5\"\n                                     \"UniProtKB:Q969F8\"\n                                     \"UniProtKB:Q9NS87\"\n                                     \"UniProtKB:Q12756\"\n                                     \"UniProtKB:Q14807\"\n                                     \"UniProtKB:Q2M1P5\"\n                                     \"UniProtKB:P14780\"\n                                     \"UniProtKB:O60303\"\n                                     \"UniProtKB:P42167\"\n                                     \"UniProtKB:Q8NES3\"\n                                     \"UniProtKB:Q92887\"\n                                     \"UniProtKB:O95461\"\n                                     \"UniProtKB:Q02252\"\n                                     \"UniProtKB:Q86UK5\"\n                                     \"UniProtKB:Q14739\"\n                                     \"UniProtKB:O15230\"\n                                     \"UniProtKB:O00522\"\n                                     \"UniProtKB:P08118\"\n                                     \"UniProtKB:O43196\"\n                                     \"UniProtKB:P42702\"\n                                     \"UniProtKB:Q92539\"\n                                     \"UniProtKB:Q9H2I8\"\n                                     \"UniProtKB:Q9UBR4\"\n                                     \"UniProtKB:Q9H488\"\n                                     \"UniProtKB:O75970\"\n                                     \"UniProtKB:P53985\"\n                                     \"UniProtKB:P03956\"\n                                     \"UniProtKB:Q6IA69\"\n                                     \"UniProtKB:P28331\"\n                                     \"UniProtKB:P07196\"\n                                     \"UniProtKB:P43699\"\n                                     \"UniProtKB:O75489\"\n                                     \"UniProtKB:O43172\"\n                                     \"UniProtKB:Q92733\"\n                                     \"UniProtKB:Q9H4Q4\"\n                                     \"UniProtKB:P60891\"\n                                     \"UniProtKB:Q14980\"\n                                     \"UniProtKB:Q96MT3\"\n                                     \"UniProtKB:Q9HC23\"\n                                     \"UniProtKB:P49279\"\n                                     \"UniProtKB:P27918\"\n                                     \"UniProtKB:P0DPK4\"\n                                     \"UniProtKB:Q6X4W1\"\n                                     \"UniProtKB:P07225\"\n                                     \"UniProtKB:Q5SWA1\"\n                                     \"UniProtKB:P50897\"\n                                     \"UniProtKB:P22891\"\n                                     \"UniProtKB:Q9HAB8\"\n                                     \"UniProtKB:O15527\"\n                                     \"UniProtKB:Q01968\"\n                                     \"UniProtKB:Q9UMZ3\"\n                                     \"UniProtKB:O43612\"\n                                     \"UniProtKB:Q99567\"\n                                     \"UniProtKB:Q04671\"\n                                     \"UniProtKB:Q7Z7A4\"\n                                     \"UniProtKB:O96011\"\n                                     \"UniProtKB:Q04900\"\n                                     \"UniProtKB:Q9Y6V0\"\n                                     \"UniProtKB:Q15154\"\n                                     \"UniProtKB:C9JE40\"\n                                     \"UniProtKB:Q9NVV4\"\n                                     \"UniProtKB:O75306\"\n                                     \"UniProtKB:Q9P0J1\"\n                                     \"UniProtKB:O95263\"\n                                     \"UniProtKB:P01127\"\n                                     \"UniProtKB:P07237\"\n                                     \"UniProtKB:Q7RTP0\"\n                                     \"UniProtKB:Q9UI09\"\n                                     \"UniProtKB:Q8WXW3\"\n                                     \"UniProtKB:Q13492\"\n                                     \"UniProtKB:Q92508\"\n                                     \"UniProtKB:Q9H5I5\"\n                                     \"UniProtKB:P61457\"\n                                     \"UniProtKB:Q92621\"\n                                     \"UniProtKB:Q8WWY3\"\n                                     \"UniProtKB:Q92954\"\n                                     \"UniProtKB:A6NNL0\"\n                                     \"UniProtKB:B1AL46\"\n                                     \"UniProtKB:P03891\"\n                                     \"UniProtKB:Q96MF7\"\n                                     \"UniProtKB:P26678\"\n                                     \"UniProtKB:Q16620\"\n                                     \"UniProtKB:O75694\"\n                                     \"UniProtKB:O95436\"\n                                     \"UniProtKB:O43586\"\n                                     \"UniProtKB:P05186\"\n                                     \"UniProtKB:P20936\"\n                                     \"UniProtKB:Q9H2M9\"\n                                     \"UniProtKB:P11169\"\n                                     \"UniProtKB:Q9BY41\"\n                                     \"UniProtKB:Q05469\"\n                                     \"UniProtKB:O94898\"\n                                     \"UniProtKB:Q8TAF8\"\n                                     \"UniProtKB:Q587J8\"\n                                     \"UniProtKB:Q9UK17\"\n                                     \"UniProtKB:P48048\"\n                                     \"UniProtKB:Q9NZB8\"\n                                     \"UniProtKB:Q9UEF7\"\n                                     \"UniProtKB:P48051\"\n                                     \"UniProtKB:B7U540\"\n                                     \"UniProtKB:Q7Z3B3\"\n                                     \"UniProtKB:Q63ZY3\"\n                                     \"UniProtKB:Q9ULH0\"\n                                     \"UniProtKB:O00292\"\n                                     \"UniProtKB:P34949\"\n                                     \"UniProtKB:P11055\"\n                                     \"UniProtKB:Q15743\"\n                                     \"UniProtKB:A5D8V7\"\n                                     \"UniProtKB:Q99650\"\n                                     \"UniProtKB:Q13415\"\n                                     \"UniProtKB:Q9HC10\"\n                                     \"UniProtKB:Q02548\"\n                                     \"UniProtKB:Q02962\"\n                                     \"UniProtKB:P35558\"\n                                     \"UniProtKB:Q4G0U5\"\n                                     \"UniProtKB:Q32P28\"\n                                     \"UniProtKB:Q15116\"\n                                     \"UniProtKB:Q8WXI9\"\n                                     \"UniProtKB:Q9Y233\"\n                                     \"UniProtKB:Q9HCR9\"\n                                     \"UniProtKB:Q86U86\"\n                                     \"UniProtKB:P07202\"\n                                     \"UniProtKB:O00264\"\n                                     \"UniProtKB:P00439\"\n                                     \"UniProtKB:P35241\"\n                                     \"UniProtKB:O15541\"\n                                     \"UniProtKB:P09619\"\n                                     \"UniProtKB:P78364\"\n                                     \"UniProtKB:P25800\"\n                                     \"UniProtKB:O60828\"\n                                     \"UniProtKB:P13686\"\n                                     \"UniProtKB:P49768\"\n                                     \"UniProtKB:O14949\"\n                                     \"UniProtKB:Q9Y5S9\"\n                                     \"UniProtKB:Q02094\"\n                                     \"UniProtKB:Q96SD1\"\n                                     \"UniProtKB:Q9H257\"\n                                     \"UniProtKB:P22681\"\n                                     \"UniProtKB:P35520\"\n                                     \"UniProtKB:P22748\"\n                                     \"UniProtKB:P00918\"\n                                     \"UniProtKB:P10747\"\n                                     \"UniProtKB:O15078\"\n                                     \"UniProtKB:O14647\"\n                                     \"UniProtKB:P51684\"\n                                     \"UniProtKB:Q6P1J9\"\n                                     \"UniProtKB:Q03468\"\n                                     \"UniProtKB:Q9HB96\"\n                                     \"UniProtKB:P12081\"\n                                     \"UniProtKB:P36551\"\n                                     \"UniProtKB:O14979\"\n                                     \"UniProtKB:P50135\"\n                                     \"UniProtKB:Q86XE5\"\n                                     \"UniProtKB:P35557\"\n                                     \"UniProtKB:Q86U28\"\n                                     \"UniProtKB:Q9UK53\"\n                                     \"UniProtKB:Q2M2Z5\"\n                                     \"UniProtKB:O60938\"\n                                     \"UniProtKB:O43526\"\n                                     \"UniProtKB:Q14654\"\n                                     \"UniProtKB:O95202\"\n                                     \"UniProtKB:P41159\"\n                                     \"UniProtKB:Q6VAB6\"\n                                     \"UniProtKB:Q9H0V9\"\n                                     \"UniProtKB:P49257\"\n                                     \"UniProtKB:P53667\"\n                                     \"UniProtKB:P29536\"\n                                     \"UniProtKB:Q14123\"\n                                     \"UniProtKB:P41227\"\n                                     \"UniProtKB:P35749\"\n                                     \"UniProtKB:A7E2Y1\"\n                                     \"UniProtKB:Q9UM54\"\n                                     \"UniProtKB:P12829\"\n                                     \"UniProtKB:P29371\"\n                                     \"UniProtKB:O14745\"\n                                     \"UniProtKB:Q96PU5\"\n                                     \"UniProtKB:P29475\"\n                                     \"UniProtKB:Q96P20\"\n                                     \"UniProtKB:Q9NXR1\"\n                                     \"UniProtKB:Q04721\"\n                                     \"UniProtKB:Q0ZLH3\"\n                                     \"UniProtKB:Q7Z7B1\"\n                                     \"UniProtKB:Q3MUY2\"\n                                     \"UniProtKB:Q9Y253\"\n                                     \"UniProtKB:P03901\"\n                                     \"UniProtKB:O43272\"\n                                     \"UniProtKB:O96028\"\n                                     \"UniProtKB:P23942\"\n                                     \"UniProtKB:P57740\"\n                                     \"UniProtKB:Q16827\"\n                                     \"UniProtKB:Q96M63\"\n                                     \"UniProtKB:Q9NPF4\"\n                                     \"UniProtKB:P08100\"\n                                     \"UniProtKB:O43929\"\n                                     \"UniProtKB:O43424\"\n                                     \"UniProtKB:Q9UGL1\"\n                                     \"UniProtKB:Q8N135\"\n                                     \"UniProtKB:Q15751\"\n                                     \"UniProtKB:O43561\"\n                                     \"UniProtKB:P48357\"\n                                     \"UniProtKB:P31943\"\n                                     \"UniProtKB:P61978\"\n                                     \"UniProtKB:Q8WWQ2\"\n                                     \"UniProtKB:Q96RW7\"\n                                     \"UniProtKB:P52926\"\n                                     \"UniProtKB:P10321\"\n                                     \"UniProtKB:P43034\"\n                                     \"UniProtKB:P38571\"\n                                     \"UniProtKB:P01834\"\n                                     \"UniProtKB:Q9UKM7\"\n                                     \"UniProtKB:P20916\"\n                                     \"UniProtKB:Q96RQ3\"\n                                     \"UniProtKB:P08235\"\n                                     \"UniProtKB:Q13422\"\n                                     \"UniProtKB:P49639\"\n                                     \"UniProtKB:Q8NAC3\"\n                                     \"UniProtKB:Q5JU85\"\n                                     \"UniProtKB:P13646\"\n                                     \"UniProtKB:P16144\"\n                                     \"UniProtKB:Q96J02\"\n                                     \"UniProtKB:P78411\"\n                                     \"UniProtKB:O14686\"\n                                     \"UniProtKB:Q05655\"\n                                     \"UniProtKB:O14901\"\n                                     \"UniProtKB:Q9Y6H6\"\n                                     \"UniProtKB:Q9Y664\"\n                                     \"UniProtKB:P63252\"\n                                     \"UniProtKB:Q13402\"\n                                     \"UniProtKB:P13533\"\n                                     \"UniProtKB:A2RRP1\"\n                                     \"UniProtKB:Q9UKN7\"\n                                     \"UniProtKB:P49821\"\n                                     \"UniProtKB:O95169\"\n                                     \"UniProtKB:P03915\"\n                                     \"UniProtKB:Q86TP1\"\n                                     \"UniProtKB:Q8N130\"\n                                     \"UniProtKB:P04000\"\n                                     \"UniProtKB:P00973\"\n                                     \"UniProtKB:Q9BW27\"\n                                     \"UniProtKB:Q96JQ0\"\n                                     \"UniProtKB:P28062\"\n                                     \"UniProtKB:O00232\"\n                                     \"UniProtKB:Q00577\"\n                                     \"UniProtKB:P29459\"\n                                     \"UniProtKB:P48551\"\n                                     \"UniProtKB:Q9UMX6\"\n                                     \"UniProtKB:P48637\"\n                                     \"UniProtKB:P68871\"\n                                     \"UniProtKB:Q0VAK6\"\n                                     \"UniProtKB:O60663\"\n                                     \"UniProtKB:P41968\"\n                                     \"UniProtKB:Q86YW9\"\n                                     \"UniProtKB:Q9NQ48\"\n                                     \"UniProtKB:Q99558\"\n                                     \"UniProtKB:Q9P0J0\"\n                                     \"UniProtKB:P03886\"\n                                     \"UniProtKB:Q8TB37\"\n                                     \"UniProtKB:Q8NHS3\"\n                                     \"UniProtKB:Q9H2D1\"\n                                     \"UniProtKB:P03905\"\n                                     \"UniProtKB:P53779\"\n                                     \"UniProtKB:Q15645\"\n                                     \"UniProtKB:P00480\"\n                                     \"UniProtKB:O95340\"\n                                     \"UniProtKB:Q9BUL8\"\n                                     \"UniProtKB:P39877\"\n                                     \"UniProtKB:P42345\"\n                                     \"UniProtKB:P04198\"\n                                     \"UniProtKB:P15863\"\n                                     \"UniProtKB:O14832\"\n                                     \"UniProtKB:P07585\"\n                                     \"UniProtKB:Q9UHJ9\"\n                                     \"UniProtKB:Q9H8P0\"\n                                     \"UniProtKB:O00469\"\n                                     \"UniProtKB:O00329\"\n                                     \"UniProtKB:P0CW18\"\n                                     \"UniProtKB:O60260\"\n                                     \"UniProtKB:Q8IUD6\"\n                                     \"UniProtKB:Q9Y6N7\"\n                                     \"UniProtKB:Q9HCK4\"\n                                     \"UniProtKB:Q9H9C1\"\n                                     \"UniProtKB:P84022\"\n                                     \"UniProtKB:Q6P4A7\"\n                                     \"UniProtKB:P53992\"\n                                     \"UniProtKB:Q15436\"\n                                     \"UniProtKB:Q06945\"\n                                     \"UniProtKB:O75635\"\n                                     \"UniProtKB:P35711\"\n                                     \"UniProtKB:Q9UQE7\"\n                                     \"UniProtKB:Q7Z403\"\n                                     \"UniProtKB:Q7Z392\"\n                                     \"UniProtKB:Q8WVT3\"\n                                     \"UniProtKB:P0DI81\"\n                                     \"UniProtKB:P11388\"\n                                     \"UniProtKB:P01848\"\n                                     \"UniProtKB:Q12767\"\n                                     \"UniProtKB:Q9Y2Y6\"\n                                     \"UniProtKB:Q02880\"\n                                     \"UniProtKB:Q9HC21\"\n                                     \"UniProtKB:Q13472\"\n                                     \"UniProtKB:Q6ZXV5\"\n                                     \"UniProtKB:Q96T83\"\n                                     \"UniProtKB:P50454\"\n                                     \"UniProtKB:Q9Y6X0\"\n                                     \"UniProtKB:Q9H5V9\"\n                                     \"UniProtKB:Q16385\"\n                                     \"UniProtKB:Q9NSU2\"\n                                     \"UniProtKB:Q9Y5Y6\"\n                                     \"UniProtKB:Q05066\"\n                                     \"UniProtKB:Q8NBK3\"\n                                     \"UniProtKB:Q06330\"\n                                     \"UniProtKB:Q8TCJ2\"\n                                     \"UniProtKB:Q13813\"\n                                     \"UniProtKB:P54136\"\n                                     \"UniProtKB:Q9NPL8\"\n                                     \"UniProtKB:O15164\"\n                                     \"UniProtKB:Q9BUR4\"\n                                     \"UniProtKB:Q01831\"\n                                     \"UniProtKB:Q3ZCM7\"\n                                     \"UniProtKB:Q2MV58\"\n                                     \"UniProtKB:P18206\"\n                                     \"UniProtKB:Q15726\"\n                                     \"UniProtKB:Q14526\"\n                                     \"UniProtKB:P56524\"\n                                     \"UniProtKB:Q9UBN7\"\n                                     \"UniProtKB:P26927\"\n                                     \"UniProtKB:P00492\"\n                                     \"UniProtKB:Q969F9\"\n                                     \"UniProtKB:O43766\"\n                                     \"UniProtKB:P01857\"\n                                     \"UniProtKB:P50213\"\n                                     \"UniProtKB:Q9UPN3\"\n                                     \"UniProtKB:Q8NI22\"\n                                     \"UniProtKB:A6NNB3\"\n                                     \"UniProtKB:A4D126\"\n                                     \"UniProtKB:O60337\"\n                                     \"UniProtKB:P01308\"\n                                     \"UniProtKB:Q9H1K1\"\n                                     \"UniProtKB:P20839\"\n                                     \"UniProtKB:O75342\"\n                                     \"UniProtKB:P15529\"\n                                     \"UniProtKB:P15260\"\n                                     \"UniProtKB:Q92985\"\n                                     \"UniProtKB:Q8IZA0\"\n                                     \"UniProtKB:Q13351\"\n                                     \"UniProtKB:Q15842\"\n                                     \"UniProtKB:P39210\"\n                                     \"UniProtKB:O15554\"\n                                     \"UniProtKB:P52732\"\n                                     \"UniProtKB:Q5JUK3\"\n                                     \"UniProtKB:Q03252\"\n                                     \"UniProtKB:Q02750\"\n                                     \"UniProtKB:O75439\"\n                                     \"UniProtKB:Q9ULV0\"\n                                     \"UniProtKB:O75147\"\n                                     \"UniProtKB:Q17RF5\"\n                                     \"UniProtKB:P11182\"\n                                     \"UniProtKB:P12694\"\n                                     \"UniProtKB:P55771\"\n                                     \"UniProtKB:Q3ZCN5\"\n                                     \"UniProtKB:Q15147\"\n                                     \"UniProtKB:Q15166\"\n                                     \"UniProtKB:Q01453\"\n                                     \"UniProtKB:Q9H6L5\"\n                                     \"UniProtKB:P35251\"\n                                     \"UniProtKB:Q00LT1\"\n                                     \"UniProtKB:Q16647\"\n                                     \"UniProtKB:P08575\"\n                                     \"UniProtKB:P22695\"\n                                     \"UniProtKB:P27708\"\n                                     \"UniProtKB:O60216\"\n                                     \"UniProtKB:P0DJD3\"\n                                     \"UniProtKB:Q9P2R6\"\n                                     \"UniProtKB:Q2M1Z3\"\n                                     \"UniProtKB:O75916\"\n                                     \"UniProtKB:P10745\"\n                                     \"UniProtKB:P48382\"\n                                     \"UniProtKB:P78509\"\n                                     \"UniProtKB:Q9BZI7\"\n                                     \"UniProtKB:O75787\"\n                                     \"UniProtKB:P61353\"\n                                     \"UniProtKB:P12271\"\n                                     \"UniProtKB:Q9NRA2\"\n                                     \"UniProtKB:Q9NWF4\"\n                                     \"UniProtKB:Q9HAB3\"\n                                     \"UniProtKB:Q8NBS3\"\n                                     \"UniProtKB:Q9BSV6\"\n                                     \"UniProtKB:Q9Y6R1\"\n                                     \"UniProtKB:Q7Z6J9\"\n                                     \"UniProtKB:Q9NQ40\"\n                                     \"UniProtKB:P0DJI8\"\n                                     \"UniProtKB:P60896\"\n                                     \"UniProtKB:P21673\"\n                                     \"UniProtKB:Q9Y458\"\n                                     \"UniProtKB:O15119\"\n                                     \"UniProtKB:Q9UET6\"\n                                     \"UniProtKB:Q01534\"\n                                     \"UniProtKB:Q9GZZ9\"\n                                     \"UniProtKB:P07988\"\n                                     \"UniProtKB:Q6UWS5\"\n                                     \"UniProtKB:Q8WYP3\"\n                                     \"UniProtKB:P46778\"\n                                     \"UniProtKB:P62847\"\n                                     \"UniProtKB:P56192\"\n                                     \"UniProtKB:Q5JTZ9\"\n                                     \"UniProtKB:Q96DX4\"\n                                     \"UniProtKB:P62304\"\n                                     \"UniProtKB:P14678\"\n                                     \"UniProtKB:Q86VV8\"\n                                     \"UniProtKB:P55017\"\n                                     \"UniProtKB:Q99985\"\n                                     \"UniProtKB:Q86SQ7\"\n                                     \"UniProtKB:Q9NY72\"\n                                     \"UniProtKB:Q9UJQ4\"\n                                     \"UniProtKB:Q8NCE0\"\n                                     \"UniProtKB:P56693\"\n                                     \"UniProtKB:Q16637\"\n                                     \"UniProtKB:P49589\"\n                                     \"UniProtKB:Q96G91\"\n                                     \"UniProtKB:Q9ULW8\"\n                                     \"UniProtKB:P14920\"\n                                     \"UniProtKB:P04637\"\n                                     \"UniProtKB:Q9NZ42\"\n                                     \"UniProtKB:P12955\"\n                                     \"UniProtKB:P15428\"\n                                     \"UniProtKB:Q9C0D0\"\n                                     \"UniProtKB:Q96DA2\"\n                                     \"UniProtKB:Q15149\"\n                                     \"UniProtKB:Q9NQ66\"\n                                     \"UniProtKB:Q9NUX5\"\n                                     \"UniProtKB:Q14651\"\n                                     \"UniProtKB:Q8IY17\"\n                                     \"UniProtKB:P24158\"\n                                     \"UniProtKB:P23284\"\n                                     \"UniProtKB:P17812\"\n                                     \"UniProtKB:Q92804\"\n                                     \"UniProtKB:P10826\"\n                                     \"UniProtKB:O14802\"\n                                     \"UniProtKB:P09001\"\n                                     \"UniProtKB:Q9NW08\"\n                                     \"UniProtKB:P12931\"\n                                     \"UniProtKB:P21549\"\n                                     \"UniProtKB:Q01892\"\n                                     \"UniProtKB:Q8N0S2\"\n                                     \"UniProtKB:Q6PI48\"\n                                     \"UniProtKB:Q96GW9\"\n                                     \"UniProtKB:P48775\"\n                                     \"UniProtKB:Q96T60\"\n                                     \"UniProtKB:P01116\"\n                                     \"UniProtKB:Q8NDN9\"\n                                     \"UniProtKB:O00287\"\n                                     \"UniProtKB:P00797\"\n                                     \"UniProtKB:Q92963\"\n                                     \"UniProtKB:P09651\"\n                                     \"UniProtKB:P22626\"\n                                     \"UniProtKB:P78330\"\n                                     \"UniProtKB:P22307\"\n                                     \"UniProtKB:P55809\"\n                                     \"UniProtKB:O95721\"\n                                     \"UniProtKB:Q15475\"\n                                     \"UniProtKB:P51649\"\n                                     \"UniProtKB:P52630\"\n                                     \"UniProtKB:Q9H040\"\n                                     \"UniProtKB:Q15031\"\n                                     \"UniProtKB:Q13148\"\n                                     \"UniProtKB:Q16143\"\n                                     \"UniProtKB:P58304\"\n                                     \"UniProtKB:Q96IP4\"\n                                     \"UniProtKB:P60174\"\n                                     \"UniProtKB:P11172\"\n                                     \"UniProtKB:P01270\"\n                                     \"UniProtKB:Q8N142\"\n                                     \"UniProtKB:Q92785\"\n                                     \"UniProtKB:Q13127\"\n                                     \"UniProtKB:P35250\"\n                                     \"UniProtKB:Q8IY92\"\n                                     \"UniProtKB:O60292\"\n                                     \"UniProtKB:O75533\"\n                                     \"UniProtKB:Q5JUK2\"\n                                     \"UniProtKB:P62841\"\n                                     \"UniProtKB:Q9NZV5\"\n                                     \"UniProtKB:Q9GZV3\"\n                                     \"UniProtKB:Q9C0K1\"\n                                     \"UniProtKB:P35716\"\n                                     \"UniProtKB:Q92959\"\n                                     \"UniProtKB:P35713\"\n                                     \"UniProtKB:Q99835\"\n                                     \"UniProtKB:Q96JX3\"\n                                     \"UniProtKB:Q96PV0\"\n                                     \"UniProtKB:Q9HCD6\"\n                                     \"UniProtKB:Q9H2D6\"\n                                     \"UniProtKB:Q9H061\"\n                                     \"UniProtKB:Q9BW92\"\n                                     \"UniProtKB:Q5ST30\"\n                                     \"UniProtKB:Q99757\"\n                                     \"UniProtKB:Q03167\"\n                                     \"UniProtKB:Q32P41\"\n                                     \"UniProtKB:Q9UPV9\"\n                                     \"UniProtKB:Q8N6T0\"\n                                     \"UniProtKB:Q15643\"\n                                     \"UniProtKB:P45379\"\n                                     \"UniProtKB:Q15650\"\n                                     \"UniProtKB:P54278\"\n                                     \"UniProtKB:Q9UKY4\"\n                                     \"UniProtKB:Q13835\"\n                                     \"UniProtKB:O94855\"\n                                     \"UniProtKB:P13866\"\n                                     \"UniProtKB:O15040\"\n                                     \"UniProtKB:P02786\"\n                                     \"UniProtKB:Q6ZYL4\"\n                                     \"UniProtKB:P24557\"\n                                     \"UniProtKB:Q6NUS6\"\n                                     \"UniProtKB:Q9UP52\"\n                                     \"UniProtKB:Q15858\"\n                                     \"UniProtKB:Q9Y4R8\"\n                                     \"UniProtKB:P78382\"\n                                     \"UniProtKB:P37088\"\n                                     \"UniProtKB:O15273\"\n                                     \"UniProtKB:P01135\"\n                                     \"UniProtKB:P15923\"\n                                     \"UniProtKB:P01137\"\n                                     \"UniProtKB:P19532\"\n                                     \"UniProtKB:Q9P273\"\n                                     \"UniProtKB:Q9UHD8\"\n                                     \"UniProtKB:P19484\"\n                                     \"UniProtKB:P51170\"\n                                     \"UniProtKB:Q6N022\"\n                                     \"UniProtKB:A6NFY7\"\n                                     \"UniProtKB:Q9BYB0\"\n                                     \"UniProtKB:O43556\"\n                                     \"UniProtKB:Q13285\"\n                                     \"UniProtKB:P61266\"\n                                     \"UniProtKB:Q13277\"\n                                     \"UniProtKB:Q7RTN6\"\n                                     \"UniProtKB:P02549\"\n                                     \"UniProtKB:Q96JI7\"\n                                     \"UniProtKB:Q9HAC7\"\n                                     \"UniProtKB:Q15672\"\n                                     \"UniProtKB:P40337\"\n                                     \"UniProtKB:Q96SF7\"\n                                     \"UniProtKB:P14373\"\n                                     \"UniProtKB:Q9NPI0\"\n                                     \"UniProtKB:P51580\"\n                                     \"UniProtKB:Q59H18\"\n                                     \"UniProtKB:P49638\"\n                                     \"UniProtKB:Q96QT4\"\n                                     \"UniProtKB:P37837\"\n                                     \"UniProtKB:Q9Y2Z4\"\n                                     \"UniProtKB:Q96BI1\"\n                                     \"UniProtKB:P26639\"\n                                     \"UniProtKB:Q9UHW9\"\n                                     \"UniProtKB:P17900\"\n                                     \"UniProtKB:Q9NYJ8\"\n                                     \"UniProtKB:Q6ZU15\"\n                                     \"UniProtKB:Q6NUK1\"\n                                     \"UniProtKB:Q01959\"\n                                     \"UniProtKB:P29084\"\n                                     \"UniProtKB:P07602\"\n                                     \"UniProtKB:P48067\"\n                                     \"UniProtKB:Q96N87\"\n                                     \"UniProtKB:P21583\"\n                                     \"UniProtKB:Q695T7\"\n                                     \"UniProtKB:Q9NP91\"\n                                     \"UniProtKB:Q8TBB6\"\n                                     \"UniProtKB:Q08188\"\n                                     \"UniProtKB:P35498\"\n                                     \"UniProtKB:O95025\"\n                                     \"UniProtKB:O15041\"\n                                     \"UniProtKB:Q9UPW6\"\n                                     \"UniProtKB:A6NHR9\"\n                                     \"UniProtKB:Q8N6T7\"\n                                     \"UniProtKB:O95475\"\n                                     \"UniProtKB:P51687\"\n                                     \"UniProtKB:O43291\"\n                                     \"UniProtKB:P40763\"\n                                     \"UniProtKB:P49675\"\n                                     \"UniProtKB:O15270\"\n                                     \"UniProtKB:P17643\"\n                                     \"UniProtKB:O75643\"\n                                     \"UniProtKB:P17542\"\n                                     \"UniProtKB:P01225\"\n                                     \"UniProtKB:Q8NHY3\"\n                                     \"UniProtKB:Q9Y261\"\n                                     \"UniProtKB:Q5SZK8\"\n                                     \"UniProtKB:Q8WW38\"\n                                     \"UniProtKB:P54868\"\n                                     \"UniProtKB:P09601\"\n                                     \"UniProtKB:P19622\"\n                                     \"UniProtKB:Q9H936\"\n                                     \"UniProtKB:Q9BZE0\"\n                                     \"UniProtKB:P15814\"\n                                     \"UniProtKB:O75874\"\n                                     \"UniProtKB:O75496\"\n                                     \"UniProtKB:P62873\"\n                                     \"UniProtKB:P35573\"\n                                     \"UniProtKB:Q9NR23\"\n                                     \"UniProtKB:P47869\"\n                                     \"UniProtKB:P20810\"\n                                     \"UniProtKB:Q9NWB7\"\n                                     \"UniProtKB:Q04637\"\n                                     \"UniProtKB:Q9P2H3\"\n                                     \"UniProtKB:P28472\"\n                                     \"UniProtKB:P78318\"\n                                     \"UniProtKB:P30793\"\n                                     \"UniProtKB:P18507\"\n                                     \"UniProtKB:P38484\"\n                                     \"UniProtKB:P00995\"\n                                     \"UniProtKB:P51654\"\n                                     \"UniProtKB:Q9HC97\"\n                                     \"UniProtKB:Q9C091\"\n                                     \"UniProtKB:O75665\"\n                                     \"UniProtKB:P23759\"\n                                     \"UniProtKB:Q15165\"\n                                     \"UniProtKB:Q92620\"\n                                     \"UniProtKB:Q92878\"\n                                     \"UniProtKB:Q5T481\"\n                                     \"UniProtKB:P62273\"\n                                     \"UniProtKB:P04792\"\n                                     \"UniProtKB:Q9BYM8\"\n                                     \"UniProtKB:P31276\"\n                                     \"UniProtKB:O43364\"\n                                     \"UniProtKB:Q96PD4\"\n                                     \"UniProtKB:P31785\"\n                                     \"UniProtKB:Q14623\"\n                                     \"UniProtKB:P05231\"\n                                     \"UniProtKB:P18564\"\n                                     \"UniProtKB:P02538\"\n                                     \"UniProtKB:Q14145\"\n                                     \"UniProtKB:Q6TFL4\"\n                                     \"UniProtKB:P01042\"\n                                     \"UniProtKB:P15382\"\n                                     \"UniProtKB:Q96EN8\"\n                                     \"UniProtKB:Q8N119\"\n                                     \"UniProtKB:Q12791\"\n                                     \"UniProtKB:O95970\"\n                                     \"UniProtKB:P55344\"\n                                     \"UniProtKB:Q7Z4I7\"\n                                     \"UniProtKB:A0A0C5B5G6\"\n                                     \"UniProtKB:P45452\"\n                                     \"UniProtKB:Q8NCE2\"\n                                     \"UniProtKB:P35579\"\n                                     \"UniProtKB:Q99972\"\n                                     \"UniProtKB:P15172\"\n                                     \"UniProtKB:A6NI61\"\n                                     \"UniProtKB:Q4G0N4\"\n                                     \"UniProtKB:Q71RS6\"\n                                     \"UniProtKB:A1L188\"\n                                     \"UniProtKB:P78367\"\n                                     \"UniProtKB:Q8N8W4\"\n                                     \"UniProtKB:Q9H3P2\"\n                                     \"UniProtKB:Q12769\"\n                                     \"UniProtKB:Q7RTW8\"\n                                     \"UniProtKB:P15259\"\n                                     \"UniProtKB:P16112\"\n                                     \"UniProtKB:P98160\"\n                                     \"UniProtKB:P04049\"\n                                     \"UniProtKB:O00628\"\n                                     \"UniProtKB:Q9H5P4\"\n                                     \"UniProtKB:Q9NVS9\"\n                                     \"UniProtKB:O15305\"\n                                     \"UniProtKB:Q9HAZ2\"\n                                     \"UniProtKB:P04070\"\n                                     \"UniProtKB:O43395\"\n                                     \"UniProtKB:O15297\"\n                                     \"UniProtKB:Q9UHL9\"\n                                     \"UniProtKB:Q15223\"\n                                     \"UniProtKB:Q99698\"\n                                     \"UniProtKB:Q96N66\"\n                                     \"UniProtKB:O75380\"\n                                     \"UniProtKB:Q96PE7\"\n                                     \"UniProtKB:Q14566\"\n                                     \"UniProtKB:Q9UI95\"\n                                     \"UniProtKB:P36507\"\n                                     \"UniProtKB:O15553\"\n                                     \"UniProtKB:Q8WTW4\"\n                                     \"UniProtKB:Q03393\"\n                                     \"UniProtKB:P14927\"\n                                     \"UniProtKB:P51149\"\n                                     \"UniProtKB:Q6ZS82\"\n                                     \"UniProtKB:Q9NP72\"\n                                     \"UniProtKB:Q6PJF5\"\n                                     \"UniProtKB:Q8TA86\"\n                                     \"UniProtKB:Q07020\"\n                                     \"UniProtKB:Q8WWV3\"\n                                     \"UniProtKB:Q8N300\"\n                                     \"UniProtKB:P41252\"\n                                     \"UniProtKB:Q9NSE4\"\n                                     \"UniProtKB:P49591\"\n                                     \"UniProtKB:Q9NP81\"\n                                     \"UniProtKB:Q8NFB2\"\n                                     \"UniProtKB:Q9BVV6\"\n                                     \"UniProtKB:Q96LT9\"\n                                     \"UniProtKB:Q92834\"\n                                     \"UniProtKB:P04843\"\n                                     \"UniProtKB:P51449\"\n                                     \"UniProtKB:Q9UGP8\"\n                                     \"UniProtKB:Q9NP59\"\n                                     \"UniProtKB:Q9Y5Y9\"\n                                     \"UniProtKB:Q9BZD2\"\n                                     \"UniProtKB:Q9UI33\"\n                                     \"UniProtKB:Q9Y2W3\"\n                                     \"UniProtKB:Q9UMX9\"\n                                     \"UniProtKB:P31040\"\n                                     \"UniProtKB:P00441\"\n                                     \"UniProtKB:Q9ULL8\"\n                                     \"UniProtKB:P60866\"\n                                     \"UniProtKB:Q96T21\"\n                                     \"UniProtKB:Q96DW6\"\n                                     \"UniProtKB:A6NNN8\"\n                                     \"UniProtKB:Q14524\"\n                                     \"UniProtKB:Q6P1M0\"\n                                     \"UniProtKB:Q96H72\"\n                                     \"UniProtKB:O75443\"\n                                     \"UniProtKB:Q04206\"\n                                     \"UniProtKB:P10827\"\n                                     \"UniProtKB:P10828\"\n                                     \"UniProtKB:Q9UGU0\"\n                                     \"UniProtKB:Q8WVM0\"\n                                     \"UniProtKB:Q8TF17\"\n                                     \"UniProtKB:Q8NDG6\"\n                                     \"UniProtKB:P13385\"\n                                     \"UniProtKB:O95455\"\n                                     \"UniProtKB:Q9NX18\"\n                                     \"UniProtKB:Q9NRF2\"\n                                     \"UniProtKB:Q9UQQ2\"\n                                     \"UniProtKB:Q9UHP9\"\n                                     \"UniProtKB:Q9UBP0\"\n                                     \"UniProtKB:Q9H5K3\"\n                                     \"UniProtKB:Q14BN4\"\n                                     \"UniProtKB:Q8IWL1\"\n                                     \"UniProtKB:P57727\"\n                                     \"UniProtKB:Q9NRS4\"\n                                     \"UniProtKB:O96008\"\n                                     \"UniProtKB:Q96Q45\"\n                                     \"UniProtKB:O43280\"\n                                     \"UniProtKB:Q8IU80\"\n                                     \"UniProtKB:Q3LXA3\"\n                                     \"UniProtKB:Q9UHF0\"\n                                     \"UniProtKB:Q8WZ04\"\n                                     \"UniProtKB:Q9NVV0\"\n                                     \"UniProtKB:O60220\"\n                                     \"UniProtKB:Q9NZC2\"\n                                     \"UniProtKB:P29401\"\n                                     \"UniProtKB:P48764\"\n                                     \"UniProtKB:Q92581\"\n                                     \"UniProtKB:Q9Y3D7\"\n                                     \"UniProtKB:Q13043\"\n                                     \"UniProtKB:Q7RTU9\"\n                                     \"UniProtKB:Q6ZRI0\"\n                                     \"UniProtKB:O75914\"\n                                     \"UniProtKB:P16234\"\n                                     \"UniProtKB:Q8IWS0\"\n                                     \"UniProtKB:Q13608\"\n                                     \"UniProtKB:Q96BD5\"\n                                     \"UniProtKB:O43924\"\n                                     \"UniProtKB:P16885\"\n                                     \"UniProtKB:Q8NAT1\"\n                                     \"UniProtKB:P29590\"\n                                     \"UniProtKB:P50336\"\n                                     \"UniProtKB:Q6P2Q9\"\n                                     \"UniProtKB:O94906\"\n                                     \"UniProtKB:O43490\"\n                                     \"UniProtKB:Q7Z3G6\"\n                                     \"UniProtKB:P62913\"\n                                     \"UniProtKB:Q7Z6L0\"\n                                     \"UniProtKB:P78527\"\n                                     \"UniProtKB:P12272\"\n                                     \"UniProtKB:Q96PU8\"\n                                     \"UniProtKB:P55895\"\n                                     \"UniProtKB:P15153\"\n                                     \"UniProtKB:P61313\"\n                                     \"UniProtKB:Q15043\"\n                                     \"UniProtKB:Q8TDP1\"\n                                     \"UniProtKB:Q5TBB1\"\n                                     \"UniProtKB:Q9H4F8\"\n                                     \"UniProtKB:Q9HB58\"\n                                     \"UniProtKB:Q16585\"\n                                     \"UniProtKB:Q9H5Y7\"\n                                     \"UniProtKB:Q9Y448\"\n                                     \"UniProtKB:P52788\"\n                                     \"UniProtKB:Q01130\"\n                                     \"UniProtKB:Q13586\"\n                                     \"UniProtKB:Q9UMX1\"\n                                     \"UniProtKB:Q8TC36\"\n                                     \"UniProtKB:Q8N3U4\"\n                                     \"UniProtKB:Q9ULZ2\"\n                                     \"UniProtKB:Q15526\"\n                                     \"UniProtKB:P34981\"\n                                     \"UniProtKB:O15269\"\n                                     \"UniProtKB:Q969V6\"\n                                     \"UniProtKB:P23409\"\n                                     \"UniProtKB:Q16633\"\n                                     \"UniProtKB:Q13702\"\n                                     \"UniProtKB:P42677\"\n                                     \"UniProtKB:P62854\"\n                                     \"UniProtKB:Q03519\"\n                                     \"UniProtKB:P08865\"\n                                     \"UniProtKB:Q5TD94\"\n                                     \"UniProtKB:O75298\"\n                                     \"UniProtKB:Q8IYM1\"\n                                     \"UniProtKB:P23975\"\n                                     \"UniProtKB:Q9Y345\"\n                                     \"UniProtKB:P48029\"\n                                     \"UniProtKB:Q9H1V8\"\n                                     \"UniProtKB:Q9Y6B6\"\n                                     \"UniProtKB:O75410\"\n                                     \"UniProtKB:Q9Y6A5\"\n                                     \"UniProtKB:P09758\"\n                                     \"UniProtKB:P37840\"\n                                     \"UniProtKB:Q9BSH4\"\n                                     \"UniProtKB:P40200\"\n                                     \"UniProtKB:P36897\"\n                                     \"UniProtKB:P56279\"\n                                     \"UniProtKB:P37173\"\n                                     \"UniProtKB:P55072\"\n                                     \"UniProtKB:Q15583\"\n                                     \"UniProtKB:P20062\"\n                                     \"UniProtKB:Q8NI27\"\n                                     \"UniProtKB:Q13428\"\n                                     \"UniProtKB:Q07699\"\n                                     \"UniProtKB:O60939\"\n                                     \"UniProtKB:Q8IVG5\"\n                                     \"UniProtKB:Q9Y3Z3\"\n                                     \"UniProtKB:Q495M3\"\n                                     \"UniProtKB:Q9H6I2\"\n                                     \"UniProtKB:P48431\"\n                                     \"UniProtKB:Q8TAP9\"\n                                     \"UniProtKB:Q8TAB3\"\n                                     \"UniProtKB:Q3MIW9\"\n                                     \"UniProtKB:Q15800\"\n                                     \"UniProtKB:Q96RE7\"\n                                     \"UniProtKB:Q15746\"\n                                     \"UniProtKB:Q9UPP1\"\n                                     \"UniProtKB:Q00872\"\n                                     \"UniProtKB:P00558\"\n                                     \"UniProtKB:P19878\"\n                                     \"UniProtKB:O15146\"\n                                     \"UniProtKB:O43676\"\n                                     \"UniProtKB:P36955\"\n                                     \"UniProtKB:O00567\"\n                                     \"UniProtKB:P19838\"\n                                     \"UniProtKB:Q330K2\"\n                                     \"UniProtKB:Q6VVB1\"\n                                     \"UniProtKB:P52952\"\n                                     \"UniProtKB:Q13563\"\n                                     \"UniProtKB:Q9NRD5\"\n                                     \"UniProtKB:Q08J23\"\n                                     \"UniProtKB:O95613\"\n                                     \"UniProtKB:Q9BZ23\"\n                                     \"UniProtKB:Q9NVE7\"\n                                     \"UniProtKB:P47712\"\n                                     \"UniProtKB:P40424\"\n                                     \"UniProtKB:P49585\"\n                                     \"UniProtKB:Q9BXM7\"\n                                     \"UniProtKB:Q8N490\"\n                                     \"UniProtKB:Q99959\"\n                                     \"UniProtKB:Q4J6C6\"\n                                     \"UniProtKB:Q9Y3E5\"\n                                     \"UniProtKB:P11686\"\n                                     \"UniProtKB:P42766\"\n                                     \"UniProtKB:P22033\"\n                                     \"UniProtKB:Q9NX14\"\n                                     \"UniProtKB:P20929\"\n                                     \"UniProtKB:Q9BU61\"\n                                     \"UniProtKB:Q9H9Q4\"\n                                     \"UniProtKB:Q8N183\"\n                                     \"UniProtKB:A6NCS4\"\n                                     \"UniProtKB:Q9Y697\"\n                                     \"UniProtKB:Q99608\"\n                                     \"UniProtKB:Q96NY8\"\n                                     \"UniProtKB:Q96E22\"\n                                     \"UniProtKB:Q9NPE3\"\n                                     \"UniProtKB:P56556\"\n                                     \"UniProtKB:Q15126\"\n                                     \"UniProtKB:Q9HC29\"\n                                     \"UniProtKB:Q9C000\"\n                                     \"UniProtKB:O15118\"\n                                     \"UniProtKB:O60936\"\n                                     \"UniProtKB:Q58EX7\"\n                                     \"UniProtKB:O94827\"\n                                     \"UniProtKB:Q8TC44\"\n                                     \"UniProtKB:Q08209\"\n                                     \"UniProtKB:Q9Y4G2\"\n                                     \"UniProtKB:Q9NP85\"\n                                     \"UniProtKB:Q8IWE5\"\n                                     \"UniProtKB:O00592\"\n                                     \"UniProtKB:Q8WVV4\"\n                                     \"UniProtKB:Q6NW34\"\n                                     \"UniProtKB:P03897\"\n                                     \"UniProtKB:Q9NUD9\"\n                                     \"UniProtKB:Q8TDX9\"\n                                     \"UniProtKB:Q92570\"\n                                     \"UniProtKB:Q96S44\"\n                                     \"UniProtKB:Q7Z494\"\n                                     \"UniProtKB:O75161\"\n                                     \"UniProtKB:Q96NG3\"\n                                     \"UniProtKB:P26367\"\n                                     \"UniProtKB:A6NGG8\"\n                                     \"UniProtKB:P11498\"\n                                     \"UniProtKB:Q9H3D4\"\n                                     \"UniProtKB:O15120\"\n                                     \"UniProtKB:P98161\"\n                                     \"UniProtKB:Q06124\"\n                                     \"UniProtKB:Q92781\"\n                                     \"UniProtKB:P51157\"\n                                     \"UniProtKB:Q9Y2R9\"\n                                     \"UniProtKB:Q9H2X9\"\n                                     \"UniProtKB:Q96RR1\"\n                                     \"UniProtKB:Q9Y6A1\"\n                                     \"UniProtKB:Q99575\"\n                                     \"UniProtKB:P42336\"\n                                     \"UniProtKB:Q9Y4D7\"\n                                     \"UniProtKB:P08F94\"\n                                     \"UniProtKB:Q6PCD5\"\n                                     \"UniProtKB:Q9BRB3\"\n                                     \"UniProtKB:Q9NQX1\"\n                                     \"UniProtKB:Q9NQX0\"\n                                     \"UniProtKB:O75360\"\n                                     \"UniProtKB:P54821\"\n                                     \"UniProtKB:Q8N3J5\"\n                                     \"UniProtKB:P62081\"\n                                     \"UniProtKB:Q2MKA7\"\n                                     \"UniProtKB:Q2I0M5\"\n                                     \"UniProtKB:A6NKG5\"\n                                     \"UniProtKB:Q86UC2\"\n                                     \"UniProtKB:Q8NB59\"\n                                     \"UniProtKB:P21579\"\n                                     \"UniProtKB:Q8NF91\"\n                                     \"UniProtKB:Q8WXH0\"\n                                     \"UniProtKB:Q8N9I0\"\n                                     \"UniProtKB:Q8N205\"\n                                     \"UniProtKB:O43426\"\n                                     \"UniProtKB:Q96I59\"\n                                     \"UniProtKB:P00734\"\n                                     \"UniProtKB:P31483\"\n                                     \"UniProtKB:P43007\"\n                                     \"UniProtKB:Q15437\"\n                                     \"UniProtKB:Q96AG3\"\n                                     \"UniProtKB:Q9Y6L6\"\n                                     \"UniProtKB:Q9BYJ1\"\n                                     \"UniProtKB:Q99677\"\n                                     \"UniProtKB:P43657\"\n                                     \"UniProtKB:Q14767\"\n                                     \"UniProtKB:Q8N2S1\"\n                                     \"UniProtKB:O14770\"\n                                     \"UniProtKB:O96007\"\n                                     \"UniProtKB:O60487\"\n                                     \"UniProtKB:Q00325\"\n                                     \"UniProtKB:Q9Y619\"\n                                     \"UniProtKB:Q9H1P3\"\n                                     \"UniProtKB:Q8N6M0\"\n                                     \"UniProtKB:P24386\"\n                                     \"UniProtKB:P08237\"\n                                     \"UniProtKB:P27169\"\n                                     \"UniProtKB:Q9NQV8\"\n                                     \"UniProtKB:P07737\"\n                                     \"UniProtKB:O75569\"\n                                     \"UniProtKB:Q03431\"\n                                     \"UniProtKB:P18077\"\n                                     \"UniProtKB:Q9H4B7\"\n                                     \"UniProtKB:Q9NZC9\"\n                                     \"UniProtKB:A1X283\"\n                                     \"UniProtKB:Q96MF2\"\n                                     \"UniProtKB:Q8WVM7\"\n                                     \"UniProtKB:P42226\"\n                                     \"UniProtKB:P61011\"\n                                     \"UniProtKB:Q13501\"))\n\n(newline)\n(define implicated-UniProts (query:Known->X UniProt-to-Orphanet-curies cause-preds disease-categories))\n\n(pretty-write `(implicated-UniProts count: ,(length implicated-UniProts)))\n(pretty-write implicated-UniProts)\n"
  },
  {
    "path": "contrib/medikanren2/Thi/example-two-hop-CHAMP1-drugs.rkt",
    "content": "#lang racket/base\n(require\n  \"query-low-level.rkt\"\n  racket/pretty)\n\n(define drug-categories '(\"biolink:ChemicalSubstance\"\n                          \"biolink:ClinicalIntervention\"\n                          \"biolink:ClinicalModifier\"\n                          \"biolink:Drug\"\n                          \"biolink:Treatment\"))\n\n(define inhibit-preds '(\"biolink:decreases_activity_of\"\n                        \"biolink:decreases_expression_of\"\n                        \"biolink:disrupts\"\n                        \"biolink:negatively_regulates\"\n                        \"biolink:negatively_regulates,_entity_to_entity\"\n                        \"biolink:negatively_regulates,_process_to_process\"\n                        \"biolink:treats\"))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Find drugs that up or down-regulate a list of genes while treating the phenotypes ;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define Hakon-CHAMP1-RNA-up-syns '(\"ENSEMBL:ENSG00000115468\"\n                                   \"ENSEMBL:ENSG00000171208\"\n                                   \"UMLS:C1538790\"\n                                   \"HGNC:17198\"\n                                   \"UniProtKB:Q8NFY4\"\n                                   \"ENSEMBL:LRG_50\"\n                                   \"PR:Q9NPG1\"\n                                   \"ENSEMBL:ENSG00000132688\"\n                                   \"ENSEMBL:ENSG00000163918\"\n                                   \"HGNC:2053\"\n                                   \"UniProtKB:Q5EG05\"\n                                   \"UMLS:C2240136\"\n                                   \"HGNC:11168\"\n                                   \"NCBIGene:80243\"\n                                   \"HGNC:4280\"\n                                   \"HGNC:6343\"\n                                   \"ENSEMBL:ENSG00000254087\"\n                                   \"HGNC:485\"\n                                   \"ENSEMBL:ENSG00000166974\"\n                                   \"UniProtKB:Q99683\"\n                                   \"UniProtKB:P50135\"\n                                   \"UMLS:C1333585\"\n                                   \"NCBIGene:23362\"\n                                   \"UniProtKB:P31271\"\n                                   \"UMLS:C2239668\"\n                                   \"HGNC:12518\"\n                                   \"NCBIGene:7042\"\n                                   \"UMLS:C0812307\"\n                                   \"PR:Q9NZQ7\"\n                                   \"NCBIGene:134429\"\n                                   \"ENSEMBL:ENSG00000091879\"\n                                   \"ENSEMBL:ENSG00000144635\"\n                                   \"NCBIGene:26508\"\n                                   \"HGNC:10252\"\n                                   \"HGNC:6597\"\n                                   \"HGNC:25491\"\n                                   \"PR:Q9Y6U3\"\n                                   \"HGNC:2528\"\n                                   \"UMLS:C1424695\"\n                                   \"ENSEMBL:ENSG00000206053\"\n                                   \"NCBIGene:153478\"\n                                   \"NCBIGene:3209\"\n                                   \"ENSEMBL:ENSG00000126803\"\n                                   \"NCBIGene:4773\"\n                                   \"PR:P43304\"\n                                   \"UniProtKB:Q8NC67\"\n                                   \"ENSEMBL:ENSG00000150471\"\n                                   \"UniProtKB:Q8WY64\"\n                                   \"UniProtKB:Q9Y6G9\"\n                                   \"PR:Q6UVK1\"\n                                   \"HGNC:9082\"\n                                   \"HGNC:6848\"\n                                   \"ENSEMBL:ENSG00000109861\"\n                                   \"UniProtKB:Q5TFE4\"\n                                   \"ENSEMBL:ENSG00000137501\"\n                                   \"NCBIGene:7351\"\n                                   \"PR:A2A2Y4\"\n                                   \"NCBIGene:1075\"\n                                   \"UMLS:C1415074\"\n                                   \"PR:Q8WXH0\"\n                                   \"ENSEMBL:ENSG00000169129\"\n                                   \"ENSEMBL:ENSG00000112183\"\n                                   \"UniProtKB:Q9H892\"\n                                   \"UMLS:C1540292\"\n                                   \"ENSEMBL:ENSG00000054654\"\n                                   \"PR:P50135\"\n                                   \"NCBIGene:6502\"\n                                   \"NCBIGene:29116\"\n                                   \"NCBIGene:1464\"\n                                   \"HGNC:17493\"\n                                   \"NCBIGene:51267\"\n                                   \"HGNC:6547\"\n                                   \"ENSEMBL:ENSG00000131471\"\n                                   \"PR:Q68D86\"\n                                   \"NCBIGene:4162\"\n                                   \"HGNC:6554\"\n                                   \"UMLS:C1420593\"\n                                   \"UniProtKB:P01130\"\n                                   \"PR:Q13469\"\n                                   \"UniProtKB:Q8N4X5\"\n                                   \"PR:Q86SQ0\"\n                                   \"PR:P61812\"\n                                   \"NCBIGene:22866\"\n                                   \"UMLS:C1419269\"\n                                   \"NCBIGene:2149\"\n                                   \"ENSEMBL:ENSG00000198743\"\n                                   \"ENSEMBL:ENSG00000128641\"\n                                   \"PR:P48357\"\n                                   \"HGNC:22950\"\n                                   \"NCBIGene:90853\"\n                                   \"HGNC:2323\"\n                                   \"ENSEMBL:ENSG00000065882\"\n                                   \"HGNC:11578\"\n                                   \"PR:Q14739\"\n                                   \"HGNC:4456\"\n                                   \"HGNC:7776\"\n                                   \"HGNC:376\"\n                                   \"PR:Q6UVW9\"\n                                   \"NCBIGene:4430\"\n                                   \"ENSEMBL:ENSG00000104435\"\n                                   \"PR:Q86V40\"\n                                   \"NCBIGene:4254\"\n                                   \"NCBIGene:7976\"\n                                   \"PR:O15084\"\n                                   \"HGNC:6560\"\n                                   \"UMLS:C3543895\"\n                                   \"PR:Q9H0B8\"\n                                   \"PR:Q9UNQ0\"\n                                   \"ENSEMBL:ENSG00000134318\"\n                                   \"NCBIGene:129293\"\n                                   \"NCBIGene:64744\"\n                                   \"ENSEMBL:ENSG00000157557\"\n                                   \"HGNC:3776\"\n                                   \"UMLS:C1539762\"\n                                   \"ENSEMBL:ENSG00000129680\"\n                                   \"PR:P03956\"\n                                   \"UMLS:C1428873\"\n                                   \"UMLS:C2239938\"\n                                   \"UMLS:C1422375\"\n                                   \"UniProtKB:P55851\"\n                                   \"PR:Q9NQ87\"\n                                   \"UMLS:C1366449\"\n                                   \"ENSEMBL:ENSG00000143815\"\n                                   \"NCBIGene:23224\"\n                                   \"UniProtKB:Q13884\"\n                                   \"PR:Q9GZM7\"\n                                   \"NCBIGene:6641\"\n                                   \"ENSEMBL:ENSG00000006747\"\n                                   \"NCBIGene:3189\"\n                                   \"UMLS:C1417695\"\n                                   \"PR:Q96PP9\"\n                                   \"ENSEMBL:ENSG00000120217\"\n                                   \"HGNC:7014\"\n                                   \"UMLS:C1419063\"\n                                   \"NCBIGene:81578\"\n                                   \"HGNC:6551\"\n                                   \"NCBIGene:54843\"\n                                   \"UMLS:C1417014\"\n                                   \"UniProtKB:Q96DR4\"\n                                   \"HGNC:10545\"\n                                   \"NCBIGene:441250\"\n                                   \"UniProtKB:Q9P2Q2\"\n                                   \"ENSEMBL:ENSG00000007944\"\n                                   \"PR:Q96PP8\"\n                                   \"HGNC:11038\"\n                                   \"NCBIGene:160364\"\n                                   \"PR:Q9H910\"\n                                   \"UMLS:C1825519\"\n                                   \"PR:Q8N8N0\"\n                                   \"NCBIGene:221294\"\n                                   \"NCBIGene:3949\"\n                                   \"ENSEMBL:ENSG00000165895\"\n                                   \"ENSEMBL:ENSG00000112312\"\n                                   \"ENSEMBL:ENSG00000151617\"\n                                   \"ENSEMBL:ENSG00000134668\"\n                                   \"PR:Q6ZMY3\"\n                                   \"PR:P51816\"\n                                   \"UniProtKB:Q86SQ0\"\n                                   \"PR:P24043\"\n                                   \"PR:P62736\"\n                                   \"ENSEMBL:ENSG00000145604\"\n                                   \"PR:Q13233\"\n                                   \"ENSEMBL:ENSG00000118777\"\n                                   \"ENSEMBL:ENSG00000277149\"\n                                   \"UMLS:C1539087\"\n                                   \"NCBIGene:6383\"\n                                   \"NCBIGene:3955\"\n                                   \"UniProtKB:P50222\"\n                                   \"NCBIGene:2820\"\n                                   \"PR:Q9P2P6\"\n                                   \"ENSEMBL:ENSG00000116127\"\n                                   \"PR:Q9BUP0\"\n                                   \"UniProtKB:P16671\"\n                                   \"HGNC:4882\"\n                                   \"ENSEMBL:ENSG00000172322\"\n                                   \"UMLS:C1826479\"\n                                   \"HGNC:5004\"\n                                   \"ENSEMBL:ENSG00000141198\"\n                                   \"HGNC:4517\"\n                                   \"PR:P36383\"\n                                   \"PR:Q9P2Q2\"\n                                   \"UniProtKB:P35408\"\n                                   \"HGNC:26242\"\n                                   \"HGNC:550\"\n                                   \"HGNC:25901\"\n                                   \"UniProtKB:P53634\"\n                                   \"ENSEMBL:ENSG00000130164\"\n                                   \"ENSEMBL:ENSG00000187323\"\n                                   \"UMLS:C1332797\"\n                                   \"UMLS:C1419892\"\n                                   \"ENSEMBL:ENSG00000151474\"\n                                   \"UniProtKB:Q96PX9\"\n                                   \"ENSEMBL:ENSG00000170891\"\n                                   \"HGNC:14137\"\n                                   \"UniProtKB:P62736\"\n                                   \"UMLS:C1539745\"\n                                   \"UniProtKB:Q9H999\"\n                                   \"ENSEMBL:ENSG00000163909\"\n                                   \"UMLS:C1419064\"\n                                   \"HGNC:19030\"\n                                   \"NCBIGene:79646\"\n                                   \"NCBIGene:3953\"\n                                   \"UMLS:C1425966\"\n                                   \"UniProtKB:Q96PP9\"\n                                   \"PR:Q86X52\"\n                                   \"UniProtKB:Q8NC01\"\n                                   \"PR:P25101\"\n                                   \"PR:Q5HYW2\"\n                                   \"UMLS:C1427370\"\n                                   \"NCBIGene:55691\"\n                                   \"NCBIGene:83716\"\n                                   \"ENSEMBL:ENSG00000050628\"\n                                   \"HGNC:19168\"\n                                   \"HGNC:23228\"\n                                   \"HGNC:24435\"\n                                   \"PR:P21583\"\n                                   \"HGNC:10901\"\n                                   \"UniProtKB:Q5QGZ9\"\n                                   \"HGNC:33701\"\n                                   \"UniProtKB:Q8WU79\"\n                                   \"NCBIGene:51053\"\n                                   \"HGNC:33737\"\n                                   \"UniProtKB:Q9UJU2\"\n                                   \"HGNC:25742\"\n                                   \"HGNC:17635\"\n                                   \"UniProtKB:Q9NWQ8\"\n                                   \"UMLS:C1824630\"\n                                   \"HGNC:24125\"\n                                   \"UMLS:C1426119\"\n                                   \"PR:Q5EG05\"\n                                   \"ENSEMBL:ENSG00000118473\"\n                                   \"PR:P35249\"\n                                   \"PR:P15036\"\n                                   \"ENSEMBL:ENSG00000138795\"\n                                   \"NCBIGene:3149\"\n                                   \"ENSEMBL:LRG_991\"\n                                   \"NCBIGene:26033\"\n                                   \"ENSEMBL:LRG_781\"\n                                   \"UMLS:C1415644\"\n                                   \"ENSEMBL:ENSG00000178425\"\n                                   \"UMLS:C1418455\"\n                                   \"ENSEMBL:ENSG00000096746\"\n                                   \"PR:Q15052\"\n                                   \"HGNC:10577\"\n                                   \"UniProtKB:Q9HCH5\"\n                                   \"ENSEMBL:ENSG00000188393\"\n                                   \"PR:Q8TCU4\"\n                                   \"ENSEMBL:ENSG00000144218\"\n                                   \"HGNC:5043\"\n                                   \"PR:Q93045\"\n                                   \"ENSEMBL:ENSG00000181104\"\n                                   \"UniProtKB:P10114\"\n                                   \"ENSEMBL:ENSG00000107518\"\n                                   \"PR:Q9NRR1\"\n                                   \"UniProtKB:Q8NES3\"\n                                   \"NCBIGene:5352\"\n                                   \"HGNC:18745\"\n                                   \"UniProtKB:P48357\"\n                                   \"UMLS:C1538784\"\n                                   \"HGNC:26286\"\n                                   \"NCBIGene:90102\"\n                                   \"UniProtKB:P43146\"\n                                   \"PR:Q8WY64\"\n                                   \"ENSEMBL:LRG_283\"\n                                   \"NCBIGene:53918\"\n                                   \"UMLS:C1823488\"\n                                   \"UniProtKB:Q9HAR2\"\n                                   \"NCBIGene:9976\"\n                                   \"UMLS:C1428204\"\n                                   \"ENSEMBL:ENSG00000204397\"\n                                   \"HGNC:174\"\n                                   \"PR:P25116\"\n                                   \"PR:Q96DY7\"\n                                   \"HGNC:30776\"\n                                   \"ENSEMBL:ENSG00000221818\"\n                                   \"HGNC:3179\"\n                                   \"UniProtKB:Q9H0B8\"\n                                   \"NCBIGene:10982\"\n                                   \"UniProtKB:Q13023\"\n                                   \"PR:P31327\"\n                                   \"UMLS:C1428625\"\n                                   \"PR:Q8IZ41\"\n                                   \"ENSEMBL:LRG_336\"\n                                   \"UniProtKB:Q9NZF1\"\n                                   \"ENSEMBL:ENSG00000151320\"\n                                   \"NCBIGene:11009\"\n                                   \"UniProtKB:Q5HYW2\"\n                                   \"HGNC:6518\"\n                                   \"HGNC:9595\"\n                                   \"UniProtKB:P53794\"\n                                   \"NCBIGene:257019\"\n                                   \"ENSEMBL:ENSG00000145287\"\n                                   \"PR:P34741\"\n                                   \"UniProtKB:Q9NQ87\"\n                                   \"ENSEMBL:ENSG00000029993\"\n                                   \"ENSEMBL:ENSG00000076706\"\n                                   \"PR:Q8N4X5\"\n                                   \"ENSEMBL:ENSG00000069188\"\n                                   \"UMLS:C1417112\"\n                                   \"HGNC:10659\"\n                                   \"UniProtKB:Q13309\"\n                                   \"PR:Q70Z35\"\n                                   \"NCBIGene:4629\"\n                                   \"NCBIGene:4312\"\n                                   \"HGNC:25412\"\n                                   \"ENSEMBL:ENSG00000162892\"\n                                   \"NCBIGene:392490\"\n                                   \"UniProtKB:Q9NZQ7\"\n                                   \"NCBIGene:5911\"\n                                   \"NCBIGene:79739\"\n                                   \"ENSEMBL:ENSG00000152952\"\n                                   \"UniProtKB:Q6ZMY3\"\n                                   \"UniProtKB:P21583\"\n                                   \"PR:P82932\"\n                                   \"UniProtKB:Q01581\"\n                                   \"HGNC:23700\"\n                                   \"UniProtKB:Q8WXH0\"\n                                   \"UMLS:C1417411\"\n                                   \"ENSEMBL:ENSG00000276480\"\n                                   \"UniProtKB:Q9NPG1\"\n                                   \"HGNC:130\"\n                                   \"PR:A6NI28\"\n                                   \"PR:O15347\"\n                                   \"NCBIGene:80031\"\n                                   \"HGNC:6482\"\n                                   \"ENSEMBL:ENSG00000243927\"\n                                   \"ENSEMBL:ENSG00000176641\"\n                                   \"UniProtKB:Q6UVW9\"\n                                   \"HGNC:9596\"\n                                   \"HGNC:20974\"\n                                   \"UMLS:C1825085\"\n                                   \"UMLS:C1427805\"\n                                   \"HGNC:30043\"\n                                   \"HGNC:9972\"\n                                   \"UniProtKB:Q9UNQ0\"\n                                   \"PR:Q6ZT98\"\n                                   \"ENSEMBL:ENSG00000095015\"\n                                   \"PR:Q8NC01\"\n                                   \"ENSEMBL:ENSG00000112972\"\n                                   \"NCBIGene:3930\"\n                                   \"UMLS:C1415616\"\n                                   \"UMLS:C1426053\"\n                                   \"HGNC:1777\"\n                                   \"UMLS:C1417679\"\n                                   \"PR:Q5QGZ9\"\n                                   \"UniProtKB:Q8IZ41\"\n                                   \"UniProtKB:Q9H910\"\n                                   \"PR:Q92478\"\n                                   \"PR:Q9Y6G9\"\n                                   \"NCBIGene:79642\"\n                                   \"NCBIGene:85477\"\n                                   \"HGNC:8829\"\n                                   \"UniProtKB:Q9BX46\"\n                                   \"ENSEMBL:ENSG00000159433\"\n                                   \"HGNC:18058\"\n                                   \"UMLS:C1412318\"\n                                   \"UMLS:C1823542\"\n                                   \"ENSEMBL:ENSG00000152684\"\n                                   \"UMLS:C0812202\"\n                                   \"NCBIGene:80303\"\n                                   \"PR:Q58EX2\"\n                                   \"UniProtKB:O15164\"\n                                   \"NCBIGene:6307\"\n                                   \"ENSEMBL:ENSG00000129675\"\n                                   \"UniProtKB:Q9P2P6\"\n                                   \"PR:Q6NUM6\"\n                                   \"ENSEMBL:ENSG00000150048\"\n                                   \"PR:P35408\"\n                                   \"NCBIGene:9475\"\n                                   \"UMLS:C1425271\"\n                                   \"PR:Q9BX46\"\n                                   \"PR:Q5TFE4\"\n                                   \"HGNC:29399\"\n                                   \"HGNC:27013\"\n                                   \"HGNC:29573\"\n                                   \"UniProtKB:P82932\"\n                                   \"ENSEMBL:ENSG00000113594\"\n                                   \"UniProtKB:Q00534\"\n                                   \"UniProtKB:Q9BQI5\"\n                                   \"HGNC:2701\"\n                                   \"ENSEMBL:ENSG00000172167\"\n                                   \"PR:Q8IYL9\"\n                                   \"HGNC:11983\"\n                                   \"HGNC:19701\"\n                                   \"UniProtKB:Q13705\"\n                                   \"PR:Q13309\"\n                                   \"UniProtKB:O00469\"\n                                   \"PR:Q9H999\"\n                                   \"PR:P53794\"\n                                   \"PR:Q9NYI0\"\n                                   \"UniProtKB:Q8N8N0\"\n                                   \"UniProtKB:P42702\"\n                                   \"PR:Q13884\"\n                                   \"UMLS:C2239823\"\n                                   \"UniProtKB:P07948\"\n                                   \"NCBIGene:23243\"\n                                   \"ENSEMBL:ENSG00000069122\"\n                                   \"NCBIGene:27085\"\n                                   \"UMLS:C1708616\"\n                                   \"NCBIGene:1909\"\n                                   \"PR:Q86TI0\"\n                                   \"NCBIGene:2878\"\n                                   \"UMLS:C1420855\"\n                                   \"HGNC:428\"\n                                   \"UniProtKB:Q8IYL9\"\n                                   \"PR:Q8IZF2\"\n                                   \"NCBIGene:105374836\"\n                                   \"UniProtKB:Q15052\"\n                                   \"ENSEMBL:ENSG00000076641\"\n                                   \"PR:Q9HAR2\"\n                                   \"PR:O15123\"\n                                   \"UniProtKB:A6NI28\"\n                                   \"ENSEMBL:ENSG00000124749\"\n                                   \"PR:P01130\"\n                                   \"HGNC:5007\"\n                                   \"HGNC:19308\"\n                                   \"PR:O75496\"\n                                   \"NCBIGene:22856\"\n                                   \"UniProtKB:P51816\"\n                                   \"UMLS:C1539139\"\n                                   \"NCBIGene:2334\"\n                                   \"ENSEMBL:ENSG00000120137\"\n                                   \"UniProtKB:P31327\"\n                                   \"UniProtKB:Q92478\"\n                                   \"UMLS:C1427702\"\n                                   \"UMLS:C1538565\"\n                                   \"UMLS:C1366521\"\n                                   \"UniProtKB:Q58EX2\"\n                                   \"UMLS:C1366529\"\n                                   \"UniProtKB:Q15555\"\n                                   \"PR:Q9H892\"\n                                   \"PR:P48681\"\n                                   \"HGNC:3489\"\n                                   \"ENSEMBL:LRG_274\"\n                                   \"ENSEMBL:LRG_741\"\n                                   \"NCBIGene:114769\"\n                                   \"UniProtKB:A2A2Y4\"\n                                   \"HGNC:6473\"\n                                   \"ENSEMBL:ENSG00000144824\"\n                                   \"PR:O75674\"\n                                   \"UniProtKB:Q9NRR1\"\n                                   \"PR:Q5VV63\"\n                                   \"NCBIGene:3899\"\n                                   \"NCBIGene:3306\"\n                                   \"HGNC:24355\"\n                                   \"ENSEMBL:ENSG00000122779\"\n                                   \"UniProtKB:P34741\"\n                                   \"ENSEMBL:ENSG00000162654\"\n                                   \"NCBIGene:51316\"\n                                   \"HGNC:25248\"\n                                   \"HGNC:19365\"\n                                   \"UniProtKB:Q8WXI2\"\n                                   \"UniProtKB:Q6UVK1\"\n                                   \"ENSEMBL:ENSG00000172164\"\n                                   \"ENSEMBL:ENSG00000164211\"\n                                   \"NCBIGene:4223\"\n                                   \"ENSEMBL:ENSG00000106003\"\n                                   \"ENSEMBL:ENSG00000104290\"\n                                   \"HGNC:16770\"\n                                   \"NCBIGene:254251\"\n                                   \"ENSEMBL:ENSG00000149970\"\n                                   \"NCBIGene:10763\"\n                                   \"UniProtKB:Q96PP8\"\n                                   \"UniProtKB:O75674\"\n                                   \"PR:Q8WU79\"\n                                   \"NCBIGene:59\"\n                                   \"PR:O00469\"\n                                   \"ENSEMBL:ENSG00000103196\"\n                                   \"NCBIGene:6526\"\n                                   \"UniProtKB:P35749\"\n                                   \"UniProtKB:Q8TCU4\"\n                                   \"ENSEMBL:ENSG00000114739\"\n                                   \"NCBIGene:3176\"\n                                   \"NCBIGene:143872\"\n                                   \"UMLS:C1335831\"\n                                   \"PR:O75116\"\n                                   \"UniProtKB:P54652\"\n                                   \"NCBIGene:81831\"\n                                   \"UniProtKB:Q9HAK2\"\n                                   \"HGNC:21695\"\n                                   \"ENSEMBL:ENSG00000153404\"\n                                   \"NCBIGene:1021\"\n                                   \"NCBIGene:10052\"\n                                   \"UniProtKB:Q9Y6U3\"\n                                   \"PR:Q8IWC1\"\n                                   \"UMLS:C2239783\"\n                                   \"NCBIGene:10040\"\n                                   \"UniProtKB:Q12955\"\n                                   \"HGNC:19090\"\n                                   \"UniProtKB:Q14739\"\n                                   \"NCBIGene:3157\"\n                                   \"ENSEMBL:ENSG00000172159\"\n                                   \"NCBIGene:3908\"\n                                   \"ENSEMBL:ENSG00000204131\"\n                                   \"HGNC:19093\"\n                                   \"UMLS:C1825802\"\n                                   \"HGNC:15585\"\n                                   \"PR:P54652\"\n                                   \"ENSEMBL:ENSG00000173546\"\n                                   \"HGNC:14051\"\n                                   \"NCBIGene:8477\"\n                                   \"NCBIGene:1373\"\n                                   \"UniProtKB:Q13007\"\n                                   \"UniProtKB:P48681\"\n                                   \"NCBIGene:220441\"\n                                   \"NCBIGene:55824\"\n                                   \"HGNC:19254\"\n                                   \"ENSEMBL:ENSG00000142910\"\n                                   \"NCBIGene:5984\"\n                                   \"UMLS:C1412431\"\n                                   \"ENSEMBL:ENSG00000106511\"\n                                   \"PR:Q8NFY4\"\n                                   \"HGNC:3537\"\n                                   \"UniProtKB:Q93045\"\n                                   \"NCBIGene:93\"\n                                   \"UMLS:C1415251\"\n                                   \"UniProtKB:Q5VV63\"\n                                   \"ENSEMBL:ENSG00000116678\"\n                                   \"UniProtKB:O15084\"\n                                   \"UniProtKB:O75496\"\n                                   \"NCBIGene:5734\"\n                                   \"HGNC:29063\"\n                                   \"PR:P43146\"\n                                   \"UniProtKB:Q8IWC1\"\n                                   \"PR:Q16853\"\n                                   \"PR:P51826\"\n                                   \"PR:Q15555\"\n                                   \"HGNC:19895\"\n                                   \"NCBIGene:64129\"\n                                   \"PR:P10114\"\n                                   \"UMLS:C1825008\"\n                                   \"ENSEMBL:ENSG00000165105\"\n                                   \"PR:Q9HCH5\"\n                                   \"NCBIGene:54360\"\n                                   \"UniProtKB:O75116\"\n                                   \"PR:Q01581\"\n                                   \"HGNC:31713\"\n                                   \"ENSEMBL:ENSG00000131873\"\n                                   \"HGNC:17025\"\n                                   \"UniProtKB:Q86X52\"\n                                   \"PR:P42702\"\n                                   \"NCBIGene:27151\"\n                                   \"ENSEMBL:ENSG00000052802\"\n                                   \"PR:P07948\"\n                                   \"HGNC:6857\"\n                                   \"ENSEMBL:ENSG00000156011\"\n                                   \"PR:P43115\"\n                                   \"PR:Q8N3X6\"\n                                   \"HGNC:26811\"\n                                   \"NCBIGene:288\"\n                                   \"UniProtKB:Q15800\"\n                                   \"HGNC:20480\"\n                                   \"NCBIGene:8639\"\n                                   \"HGNC:26464\"\n                                   \"UniProtKB:P24043\"\n                                   \"HGNC:21539\"\n                                   \"HGNC:685\"\n                                   \"PR:Q13705\"\n                                   \"ENSEMBL:ENSG00000150636\"\n                                   \"HGNC:11768\"\n                                   \"NCBIGene:221662\"\n                                   \"ENSEMBL:ENSG00000206560\"\n                                   \"ENSEMBL:ENSG00000196569\"\n                                   \"ENSEMBL:ENSG00000105810\"\n                                   \"UMLS:C1539216\"\n                                   \"UMLS:C2681322\"\n                                   \"NCBIGene:29126\"\n                                   \"PR:O15164\"\n                                   \"UMLS:C1427216\"\n                                   \"UMLS:C1426964\"\n                                   \"NCBIGene:84251\"\n                                   \"HGNC:7756\"\n                                   \"PR:Q96P44\"\n                                   \"PR:Q8WXI2\"\n                                   \"PR:P53634\"\n                                   \"ENSEMBL:ENSG00000135218\"\n                                   \"UMLS:C1420202\"\n                                   \"UMLS:C1426193\"\n                                   \"UniProtKB:O43795\"\n                                   \"UniProtKB:Q9GZM7\"\n                                   \"HGNC:26545\"\n                                   \"NCBIGene:3977\"\n                                   \"PR:P31271\"\n                                   \"PR:Q8IZJ3\"\n                                   \"UniProtKB:Q16853\"\n                                   \"UniProtKB:P15036\"\n                                   \"ENSEMBL:ENSG00000115159\"\n                                   \"UniProtKB:P25101\"\n                                   \"UniProtKB:Q9BRX2\"\n                                   \"UMLS:C1428345\"\n                                   \"NCBIGene:4217\"\n                                   \"NCBIGene:340527\"\n                                   \"UMLS:C1539846\"\n                                   \"UniProtKB:P25116\"\n                                   \"ENSEMBL:ENSG00000180801\"\n                                   \"NCBIGene:79649\"\n                                   \"ENSEMBL:ENSG00000160111\"\n                                   \"UMLS:C1426155\"\n                                   \"PR:Q9NWQ8\"\n                                   \"HGNC:5028\"\n                                   \"HGNC:21556\"\n                                   \"HGNC:21155\"\n                                   \"ENSEMBL:ENSG00000186854\"\n                                   \"PR:Q96DR4\"\n                                   \"PR:Q00534\"\n                                   \"PR:Q9UJU2\"\n                                   \"UniProtKB:Q13233\"\n                                   \"ENSEMBL:ENSG00000137941\"\n                                   \"NCBIGene:158158\"\n                                   \"UniProtKB:O15123\"\n                                   \"UMLS:C1422809\"\n                                   \"UniProtKB:Q70Z35\"\n                                   \"ENSEMBL:ENSG00000149292\"\n                                   \"HGNC:14644\"\n                                   \"UniProtKB:Q86V40\"\n                                   \"NCBIGene:90861\"\n                                   \"UMLS:C1428878\"\n                                   \"PR:Q99683\"\n                                   \"PR:Q9NZF1\"\n                                   \"HGNC:6735\"\n                                   \"UniProtKB:Q6ZT98\"\n                                   \"ENSEMBL:ENSG00000151150\"\n                                   \"HGNC:24191\"\n                                   \"HGNC:4041\"\n                                   \"UniProtKB:P22352\"\n                                   \"UniProtKB:Q8IZF2\"\n                                   \"UMLS:C2828634\"\n                                   \"UMLS:C1417559\"\n                                   \"UniProtKB:P51826\"\n                                   \"UMLS:C1426006\"\n                                   \"PR:P22352\"\n                                   \"ENSEMBL:ENSG00000169439\"\n                                   \"HGNC:26295\"\n                                   \"ENSEMBL:ENSG00000107796\"\n                                   \"PR:Q15800\"\n                                   \"PR:P31942\"\n                                   \"UMLS:C1539106\"\n                                   \"NCBIGene:948\"\n                                   \"UniProtKB:P43304\"\n                                   \"ENSEMBL:ENSG00000049130\"\n                                   \"UMLS:C1428783\"\n                                   \"PR:P55851\"\n                                   \"PR:Q13023\"\n                                   \"NCBIGene:57519\"\n                                   \"NCBIGene:4214\"\n                                   \"PR:Q96PX9\"\n                                   \"PR:P16671\"\n                                   \"HGNC:5235\"\n                                   \"UMLS:C1419850\"\n                                   \"PR:O43795\"\n                                   \"NCBIGene:387836\"\n                                   \"UMLS:C1823280\"\n                                   \"HGNC:33908\"\n                                   \"UniProtKB:Q5FYB0\"\n                                   \"UniProtKB:Q96P44\"\n                                   \"NCBIGene:8805\"\n                                   \"ENSEMBL:LRG_409\"\n                                   \"UniProtKB:P61812\"\n                                   \"UniProtKB:P43115\"\n                                   \"ENSEMBL:ENSG00000110852\"\n                                   \"UMLS:C1415526\"\n                                   \"NCBIGene:7840\"\n                                   \"ENSEMBL:ENSG00000155966\"\n                                   \"UniProtKB:Q96DY7\"\n                                   \"NCBIGene:115361\"\n                                   \"UMLS:C1426511\"\n                                   \"HGNC:6891\"\n                                   \"UniProtKB:O15347\"\n                                   \"UniProtKB:Q9NYI0\"\n                                   \"NCBIGene:221395\"\n                                   \"ENSEMBL:ENSG00000211445\"\n                                   \"HGNC:494\"\n                                   \"UMLS:C1332089\"\n                                   \"UMLS:C1428531\"\n                                   \"UniProtKB:Q8IZJ3\"\n                                   \"UMLS:C1415277\"\n                                   \"ENSEMBL:ENSG00000154451\"\n                                   \"NCBIGene:9429\"\n                                   \"NCBIGene:9459\"\n                                   \"PR:Q9BRX2\"\n                                   \"UniProtKB:P31942\"\n                                   \"UMLS:C1419351\"\n                                   \"UniProtKB:Q13469\"\n                                   \"HGNC:29556\"\n                                   \"NCBIGene:64641\"\n                                   \"UMLS:C1428778\"\n                                   \"HGNC:74\"\n                                   \"UniProtKB:P35249\"\n                                   \"UniProtKB:Q6NUM6\"\n                                   \"ENSEMBL:ENSG00000084070\"\n                                   \"HGNC:7417\"\n                                   \"ENSEMBL:ENSG00000137872\"\n                                   \"ENSEMBL:ENSG00000046889\"\n                                   \"UMLS:C1420297\"\n                                   \"UMLS:C1423595\"\n                                   \"ENSEMBL:ENSG00000150540\"\n                                   \"UMLS:C1538736\"\n                                   \"NCBIGene:11075\"\n                                   \"PR:P50222\"\n                                   \"ENSEMBL:ENSG00000106031\"\n                                   \"PR:Q13007\"\n                                   \"HGNC:7596\"\n                                   \"HGNC:1663\"\n                                   \"HGNC:4555\"\n                                   \"NCBIGene:23284\"\n                                   \"NCBIGene:9472\"\n                                   \"ENSEMBL:ENSG00000196611\"\n                                   \"NCBIGene:84632\"\n                                   \"NCBIGene:64968\"\n                                   \"ENSEMBL:ENSG00000178177\"\n                                   \"NCBIGene:51176\"\n                                   \"NCBIGene:1630\"\n                                   \"PR:P35749\"\n                                   \"NCBIGene:115362\"\n                                   \"ENSEMBL:ENSG00000197442\"\n                                   \"NCBIGene:23216\"\n                                   \"ENSEMBL:ENSG00000140030\"\n                                   \"HGNC:25082\"\n                                   \"NCBIGene:4067\"\n                                   \"NCBIGene:2114\"\n                                   \"PR:Q5FYB0\"\n                                   \"HGNC:7569\"\n                                   \"HGNC:29024\"\n                                   \"HGNC:2466\"\n                                   \"ENSEMBL:ENSG00000125249\"\n                                   \"NCBIGene:51143\"\n                                   \"PR:Q12955\"\n                                   \"ENSEMBL:ENSG00000101096\"\n                                   \"ENSEMBL:ENSG00000133392\"\n                                   \"UniProtKB:Q9BUP0\"\n                                   \"ENSEMBL:ENSG00000092969\"\n                                   \"NCBIGene:54970\"\n                                   \"HGNC:5102\"\n                                   \"UniProtKB:Q8N3X6\"\n                                   \"UniProtKB:P03956\"\n                                   \"NCBIGene:5733\"\n                                   \"HGNC:7155\"\n                                   \"UMLS:C1415758\"\n                                   \"ENSEMBL:ENSG00000171522\"\n                                   \"PR:Q8NES3\"\n                                   \"HGNC:26338\"\n                                   \"PR:Q9HAK2\"\n                                   \"HGNC:17084\"\n                                   \"NCBIGene:54549\"\n                                   \"UniProtKB:Q68D86\"\n                                   \"NCBIGene:285\"\n                                   \"HGNC:19162\"\n                                   \"UMLS:C1419598\"\n                                   \"ENSEMBL:ENSG00000175567\"\n                                   \"PR:Q8NC67\"\n                                   \"NCBIGene:79839\"\n                                   \"UniProtKB:Q86TI0\"\n                                   \"HGNC:9861\"\n                                   \"ENSEMBL:ENSG00000182963\"\n                                   \"PR:Q9BQI5\"\n                                   \"HGNC:11812\"\n                                   \"HGNC:11346\"\n                                   \"ENSEMBL:ENSG00000021826\"\n                                   \"UniProtKB:P36383\"\n                                   \"UMLS:C1539088\"))\n\n(define hypotonia-syn (map car '((\"UMLS:C4049521\" \"Generalised atony\")\n                                 (\"UMLS:C0541791\" \"Atonia\")\n                                 (\"UMLS:C0541791\" \"Atonia\")\n                                 (\"UMLS:C0026827\" \"Poor muscle tone\")\n                                 (\"UMLS:C0026827\" \"Muscle hypotonia\")\n                                 (\"MEDDRA:10058909\" \"Muscle relaxant therapy\")\n                                 (\"UMLS:C0857516\" \"Floppy\")\n                                 (\"UMLS:C0857516\" \"Floppy\")\n                                 (\"UMLS:C1142135\" \"Muscle relaxant therapy\")\n                                 (\"HP:0001252\" \"Muscular hypotonia\")\n                                 (\"UMLS:C0541792\" \"Skeletal muscle atony\")\n                                 (\"UMLS:C0541792\" \"Skeletal muscle atony\")\n                                 (\"UMLS:C0859331\" \"Abdominal flaccidity\")\n                                 (\"UMLS:C0857388\" \"Non-depolarising relaxant\")\n                                 (\"MEDDRA:10021118\" \"Hypotonia\")\n                                 (\"UMLS:C0857388\" \"Non-depolarising relaxant\")\n                                 (\"NCIT:C87070\" \"Hypotonia\"))))\n\n;; This use of query:Known<-X->Known is analogous to this miniKanren query:\n;(run* (g gname drug->gene-pred d dname drug->disease-pred disease disease-name)\n;  (fresh (id1 id2 drug)\n;    (edge id1 d g)\n;    (edge id2 d disease)\n;    (cprop d \"category\" drug)\n;    (cprop d \"name\" dname)\n;    (cprop g \"name\" gname)\n;    (cprop disease \"name\" disease-name)\n;    (eprop id1 \"predicate\" drug->gene-pred)\n;    (eprop id2 \"predicate\" drug->disease-pred)\n;    (membero drug drug-categories)\n;    (membero g Hakon-CHAMP1-RNA-up-syns)\n;    (membero drug->gene-pred inhibit-preds)\n;    (membero disease hypotonia-syn)\n;    (membero drug->disease-pred inhibit-preds)))\n\n(newline)\n(define Hakon-drugs-hypotonia-RNA-up (query:Known<-X->Known Hakon-CHAMP1-RNA-up-syns inhibit-preds drug-categories inhibit-preds hypotonia-syn))\n\n(pretty-write `(Hakon-drugs-hypotonia-RNA-up ,(length Hakon-drugs-hypotonia-RNA-up)))\n(pretty-write Hakon-drugs-hypotonia-RNA-up)\n"
  },
  {
    "path": "contrib/medikanren2/Thi/example-two-hop-PMI-21-34-NEXMIF.rkt",
    "content": "#lang racket/base\n(require\n  \"query-low-level.rkt\"\n  racket/pretty)\n\n(define drug-categories '(\"biolink:ChemicalSubstance\"\n                          \"biolink:ClinicalIntervention\"\n                          \"biolink:ClinicalModifier\"\n                          \"biolink:Drug\"\n                          \"biolink:Treatment\"))\n\n(define gene-protein-cats '(\"biolink:Gene\"\n                            \"biolink:GeneFamily\"\n                            \"biolink:GeneProduct\"\n                            \"biolink:GenomicEntity\"\n                            \"biolink:MolecularEntity\"\n                            \"biolink:Protein\"))\n\n(define inhibit-preds '(\"biolink:decreases_activity_of\"\n                        \"biolink:decreases_expression_of\"\n                        \"biolink:disrupts\"\n                        \"biolink:negatively_regulates\"\n                        \"biolink:negatively_regulates,_entity_to_entity\"\n                        \"biolink:negatively_regulates,_process_to_process\"\n                        \"biolink:treats\"))\n\n(define NEXMIF-syns '(\"HGNC:29433\"\n                      \"UniProtKB:Q5QGS0\"\n                      \"PR:Q5QGS0\"\n                      \"NCBIGene:340533\"\n                      \"ENSEMBL:ENSG00000050030\"))\n\n;; Reference query:\n;(define NEXMIF-drugs-2hop\n;  (time (run* (d p1 g1 p2 g2)\n;          (fresh (id1 id2 drug gene)\n;            (edge id1 d g1)\n;            (edge id2 g1 g2)\n;            (cprop d \"category\" drug)\n;            (cprop g1 \"category\" gene)\n;            (cprop g2 \"category\" gene)\n;            (eprop id1 \"predicate\" p1)\n;            (eprop id2 \"predicate\" p2)\n;            (membero drug drug-categories)\n;            (membero gene gene-protein-cats)\n;            (membero g2 NEXMIF-syns)\n;            (membero p1 inhibit-preds)\n;            (membero p2 inhibit-preds)))))\n\n(newline)\n(define NEXMIF-drugs-2hop (query:X->Y->Known\n                            drug-categories\n                            inhibit-preds\n                            gene-protein-cats\n                            inhibit-preds\n                            NEXMIF-syns))\n\n(pretty-write `(NEXMIF-drugs-2hop count: ,(length NEXMIF-drugs-2hop)))\n(pretty-write NEXMIF-drugs-2hop)\n"
  },
  {
    "path": "contrib/medikanren2/Thi/query-low-level.rkt",
    "content": "#lang racket/base\n(provide\n  query:Known->Known\n  query:Known->X\n  query:X->Known\n  query:Known<-X->Known\n  query:X->Y->Known\n  query:Prefix->Prefix\n  query:Concept\n  edge-properties\n  edge-property-values\n  concept-properties\n  concept-property-values\n  )\n(require\n  \"../../../medikanren2/dbk/dbk/data.rkt\"\n  \"../../../medikanren2/dbk/dbk/enumerator.rkt\"\n  \"../../../medikanren2/dbk/dbk/stream.rkt\"\n  racket/match\n  racket/runtime-path\n  racket/set\n  racket/string\n  )\n\n;; query:Known->X is analogous to a miniKanren-style query with this shape:\n; (run* (s sname p o oname)\n;   (fresh (id category)\n;     (edge id s o)\n;     (cprop o \"category\" category)\n;     (cprop s \"name\" sname)\n;     (cprop o \"name\" oname)\n;     (eprop id \"predicate\" p)\n;     (membero s subject-curies)\n;     (membero p predicates)\n;     (membero category object-categories)))\n\n(define (query:Known->X curies.K predicates.K->X categories.X)\n  (define (query yield)\n    (define ekey.predicate.id         (dict-select dict.string=>id \"predicate\"))\n    (define ckey.category.id          (dict-select dict.string=>id \"category\"))\n    (define ckey.name.id              (dict-select dict.string=>id \"name\"))\n    (define dict.curies.K             (strings->dict curies.K))\n    (define dict.predicates.K->X      (strings->dict predicates.K->X))\n    (define dict.categories.X         (strings->dict categories.X))\n    (define dict.eprop.eid.predicate  (dict-select dict.eprop.eid.value.key   ekey.predicate.id))\n    (define dict.cprop.curie.category (dict-select dict.cprop.curie.value.key ckey.category.id))\n    ((merge-join dict.curies.K dict.edge.object.eid.subject)\n     (lambda (id.K __ dict.edge.X.eid)\n       (define id.name.K ((dict-select (dict-select dict.cprop.value.key.curie id.K) ckey.name.id) 'min))\n       (define name.K    (dict-select dict.id=>string id.name.K))\n       (define K         (dict-select dict.id=>string id.K))\n       ((merge-join dict.predicates.K->X dict.eprop.eid.predicate)\n        (lambda (id.predicate.K->X __ dict.eprop.K->X)\n          (define predicate.K->X (dict-select dict.id=>string id.predicate.K->X))\n          ((merge-join dict.eprop.K->X dict.edge.X.eid)\n           (lambda (eid __ dict.edge.X)\n             (define props (edge-id->properties eid))\n             ((merge-join dict.categories.X dict.cprop.curie.category)\n              (lambda (__ ___ dict.cprop.X)\n                ((dict-join-ordered\n                   (lambda (yield)\n                     ((merge-join dict.cprop.X dict.edge.X)\n                      (lambda (id.X __ ___)\n                        (yield id.X '()))))\n                   dict.cprop.value.key.curie)\n                 (lambda (id.X __ dict.cprop.value.key)\n                   (define id.name.X ((dict-select dict.cprop.value.key ckey.name.id) 'min))\n                   (define name.X    (dict-select dict.id=>string id.name.X))\n                   (define X         (dict-select dict.id=>string id.X))\n                   (yield (list* K name.K predicate.K->X X name.X props)))))))))))))\n  (time (enumerator->rlist query)))\n\n;; query:X->Known is analogous to a miniKanren-style query with this shape:\n; (run* (s sname p o oname)\n;   (fresh (id category)\n;     (edge id s o)\n;     (cprop s \"category\" category)\n;     (cprop s \"name\" sname)\n;     (cprop o \"name\" oname)\n;     (eprop id \"predicate\" p)\n;     (membero o object-curies)\n;     (membero p predicates)\n;     (membero category subject-categories)))\n\n(define (query:X->Known categories.X predicates.X->K curies.K)\n  (define (query yield)\n    (define ekey.predicate.id         (dict-select dict.string=>id \"predicate\"))\n    (define ckey.category.id          (dict-select dict.string=>id \"category\"))\n    (define ckey.name.id              (dict-select dict.string=>id \"name\"))\n    (define dict.categories.X         (strings->dict categories.X))\n    (define dict.predicates.X->K      (strings->dict predicates.X->K))\n    (define dict.curies.K             (strings->dict curies.K))\n    (define dict.eprop.eid.predicate  (dict-select dict.eprop.eid.value.key   ekey.predicate.id))\n    (define dict.cprop.curie.category (dict-select dict.cprop.curie.value.key ckey.category.id))\n    ((merge-join dict.curies.K dict.edge.subject.eid.object)\n     (lambda (id.K __ dict.edge.X.eid)\n       (define id.name.K ((dict-select (dict-select dict.cprop.value.key.curie id.K) ckey.name.id) 'min))\n       (define name.K    (dict-select dict.id=>string id.name.K))\n       (define K         (dict-select dict.id=>string id.K))\n       ((merge-join dict.predicates.X->K dict.eprop.eid.predicate)\n        (lambda (id.predicate.X->K __ dict.eprop.X->K)\n          (define predicate.X->K (dict-select dict.id=>string id.predicate.X->K))\n          ((merge-join dict.eprop.X->K dict.edge.X.eid)\n           (lambda (eid __ dict.edge.X)\n             (define props (edge-id->properties eid))\n             ((merge-join dict.categories.X dict.cprop.curie.category)\n              (lambda (__ ___ dict.cprop.X)\n                ((dict-join-ordered\n                   (lambda (yield)\n                     ((merge-join dict.cprop.X dict.edge.X)\n                      (lambda (id.X __ ___)\n                        (yield id.X '()))))\n                   dict.cprop.value.key.curie)\n                 (lambda (id.X __ dict.cprop.value.key)\n                   (define id.name.X ((dict-select dict.cprop.value.key ckey.name.id) 'min))\n                   (define name.X    (dict-select dict.id=>string id.name.X))\n                   (define X         (dict-select dict.id=>string id.X))\n                   (yield (list* X name.X predicate.X->K K name.K props)))))))))))))\n  (time (enumerator->rlist query)))\n\n;; query:Known<-X->Known is analogous to a miniKanren-style query with this shape:\n;(run* (K1 name.K1 predicates.K1<-X X name.X predicates.X->K1 K2 name.K2)\n;  (fresh (id1 id2 category.X)\n;    (edge id1 X K1)\n;    (edge id2 X K2)\n;    (cprop X   \"category\" category.X)\n;    (cprop X   \"name\" name.X)\n;    (cprop K1  \"name\" name.K1)\n;    (cprop K2  \"name\" name.K2)\n;    (eprop id1 \"predicate\" K1<-X)\n;    (eprop id2 \"predicate\" X->K2)\n;    (membero category.X categories.X)\n;    (membero K1         curies.K1)\n;    (membero K1<-X      predicates.K1<-X)\n;    (membero K2         curies.K2)\n;    (membero X->K2      predicates.X->K2)))\n\n(define (query:Known<-X->Known curies.K1 predicates.K1<-X categories.X predicates.X->K2 curies.K2)\n  (define (candidates->dict candidates)\n    (define ordered (sort candidates (lambda (a b) (string<? (car a) (car b)))))\n    (define groups  (s-group ordered equal? car))\n    (dict:ordered:vector (list->vector groups) caar))\n  (define candidates.X->K1 (query:X->Known categories.X predicates.K1<-X curies.K1))\n  (define candidates.X->K2 (query:X->Known categories.X predicates.X->K2 curies.K2))\n  (define dict.X->K1.X     (candidates->dict candidates.X->K1))\n  (define dict.X->K2.X     (candidates->dict candidates.X->K2))\n  (time (enumerator->list\n          (lambda (yield)\n            ((merge-join dict.X->K1.X dict.X->K2.X)\n             (lambda (X XK1s XK2s)\n               (for-each (lambda (XK1)\n                           (match-define (list* _ name.X X->K1 K1 name.K1 props1) XK1)\n                           (for-each (lambda (XK2)\n                                       (match-define (list* _ _ X->K2 K2 name.K2 props2) XK2)\n                                       (yield (append (list K1 name.K1 X->K1 X name.X X->K2 K2 name.K2)\n                                                      (append props1 props2))))\n                                     XK2s))\n                         XK1s)))))))\n\n(define (query:X->Y->Known categories.X predicates.X->Y categories.Y predicates.Y->K curies.K)\n  (define (results->dict key results)\n    (define ordered (sort results (lambda (a b) (string<? (key a) (key b)))))\n    (define groups  (s-group ordered equal? key))\n    (dict:ordered:vector (list->vector groups) (lambda (x) (key (car x)))))\n  (define results.Y->K (query:X->Known categories.Y predicates.Y->K curies.K))\n  (define dict.Y->K.Y  (results->dict car results.Y->K))\n  (define curies.Y     (enumerator->list (dict.Y->K.Y 'enumerator)))\n  (define results.X->Y (query:X->Known categories.X predicates.X->Y curies.Y))\n  (define dict.X->Y.Y  (results->dict cadddr results.X->Y))\n  (time (enumerator->list\n          (lambda (yield)\n            ((merge-join dict.X->Y.Y dict.Y->K.Y)\n             (lambda (Y XYs YKs)\n               (for-each (lambda (XY)\n                           (match-define (list* X name.X X->Y _ name.Y props.X->Y) XY)\n                           (for-each (lambda (YK)\n                                       (match-define (list* _ _ Y->K K name.K props.Y->K) YK)\n                                       (yield (append (list X name.X X->Y Y name.Y Y->K K name.K)\n                                                      (append props.X->Y props.Y->K))))\n                                     YKs))\n                         XYs)))))))\n\n(define (query:Known->Known curies.S predicates.S->O curies.O)\n  (define dict.curies.S (strings->dict curies.S))\n  (define dict.curies.O (strings->dict curies.O))\n  (query:dict.Known->dict.Known dict.curies.S predicates.S->O dict.curies.O))\n\n(define (query:Prefix->Prefix prefix.S predicates.S->O prefix.O)\n  (define dict.curies.S (dict-string-prefix prefix.S))\n  (define dict.curies.O (dict-string-prefix prefix.O))\n  (query:dict.Known->dict.Known dict.curies.S predicates.S->O dict.curies.O))\n\n(define (query:dict.Known->dict.Known dict.curies.S predicates.S->O dict.curies.O)\n  (define (query yield)\n    (define ekey.predicate.id         (dict-select dict.string=>id \"predicate\"))\n    (define ckey.category.id          (dict-select dict.string=>id \"category\"))\n    (define ckey.name.id              (dict-select dict.string=>id \"name\"))\n    (define dict.predicates.S->O      (strings->dict predicates.S->O))\n    (define dict.eprop.eid.predicate  (dict-select dict.eprop.eid.value.key   ekey.predicate.id))\n    (define dict.cprop.curie.category (dict-select dict.cprop.curie.value.key ckey.category.id))\n    ((merge-join dict.curies.S dict.edge.object.eid.subject)\n     (lambda (id.S __ dict.edge.O.eid)\n       (define id.name.S ((dict-select (dict-select dict.cprop.value.key.curie id.S) ckey.name.id) 'min))\n       (define name.S    (dict-select dict.id=>string id.name.S))\n       (define S         (dict-select dict.id=>string id.S))\n       ((merge-join dict.predicates.S->O dict.eprop.eid.predicate)\n        (lambda (id.predicate.S->O __ dict.eprop.S->O)\n          (define predicate.S->O (dict-select dict.id=>string id.predicate.S->O))\n          ((merge-join dict.eprop.S->O dict.edge.O.eid)\n           (lambda (eid __ dict.edge.O)\n             (define props (edge-id->properties eid))\n             ((merge-join dict.curies.O dict.edge.O)\n              (lambda (id.O __ ___)\n                (define id.name.O ((dict-select (dict-select dict.cprop.value.key.curie id.O) ckey.name.id) 'min))\n                (define name.O    (dict-select dict.id=>string id.name.O))\n                (define O         (dict-select dict.id=>string id.O))\n                (yield (list* S name.S predicate.S->O O name.O props)))))))))))\n  (time (enumerator->rlist query)))\n\n(define (query:Concept curies)\n  (define (query yield)\n    (define dict.curie (strings->dict curies))\n    ((merge-join dict.curie dict.cprop.value.key.curie)\n     (lambda (id.curie _ dict.cprop.value.key)\n       (define curie (dict-select dict.id=>string id.curie))\n       ((dict.cprop.value.key 'enumerator/2)\n        (lambda (id.key dict.cprop.value)\n          (define key   (dict-select dict.id=>string id.key))\n          (define value (dict-select dict.id=>string (dict.cprop.value 'min)))\n          (yield (list curie key value)))))))\n  (time (enumerator->list query)))\n\n(define (concept-properties)          (enumerator->list\n                                        (lambda (yield)\n                                          ((merge-join dict.cprop.curie.value.key dict.id=>string)\n                                           (lambda (_ __ key)\n                                             (yield key))))))\n(define (edge-properties)             (enumerator->list\n                                        (lambda (yield)\n                                          ((merge-join dict.eprop.eid.value.key dict.id=>string)\n                                           (lambda (_ __ key)\n                                             (yield key))))))\n(define (concept-property-values key) (enumerator->list\n                                        (lambda (yield)\n                                          ((merge-join (dict-select dict.cprop.curie.value.key (dict-select dict.string=>id key))\n                                                       dict.id=>string)\n                                           (lambda (_ __ value) (yield value))))))\n(define (edge-property-values    key) (enumerator->list\n                                        (lambda (yield)\n                                          ((merge-join (dict-select dict.eprop.eid.value.key   (dict-select dict.string=>id key))\n                                                       dict.id=>string)\n                                           (lambda (_ __ value) (yield value))))))\n\n;;;;;;;;;;;;;;;\n;; Utilities ;;\n;;;;;;;;;;;;;;;\n(define (dict-select d key) (d 'ref key (lambda (v) v) (lambda () (error \"dict ref failed\" key))))\n\n;; TODO: build small in-memory relations more easily\n(define (strings->dict strs)\n  (define vec.strs  (list->vector (sort (set->list (list->set strs)) string<?)))\n  (define dict.strs (dict:ordered (column:vector vec.strs) (column:const '()) 0 (vector-length vec.strs)))\n  (define vec.ids   (enumerator->vector\n                      (lambda (yield)\n                        ((merge-join dict.strs dict.string=>id)\n                         (lambda (__ ___ id) (yield id))))))\n  (dict:ordered (column:vector vec.ids) (column:const '()) 0 (vector-length vec.ids)))\n\n(define (dict-string-prefix prefix)\n  (define d.string=>id\n    ((dict.string=>id 'after (lambda (str) (string<? str prefix)))\n     'before (lambda (str) (and (string<? prefix str)\n                                (not (string-prefix? str prefix))))))\n  (define start (d.string=>id 'top))\n  (define end   (+ start (d.string=>id 'count)))\n  ((dict.id=>string '>= start) '< end))\n\n(define (edge-id->properties eid)\n  (define (get id default)\n    (eprops 'ref id\n            (lambda (dict.value) (dict-select dict.id=>string (dict.value 'min)))\n            (lambda ()           default)))\n  (define eprops       (dict-select dict.eprop.value.key.eid eid))\n  (define negated      (get id.negated \"\"))\n  (define provided-by  (get id.provided-by \"\"))\n  (define publications (get id.publications \"\"))\n  (list negated provided-by publications))\n\n(define-runtime-path path.here \".\")\n(define db      (database (path->string (build-path path.here \"rtx-kg2_20210204.db\"))))\n(define r.cprop (database-relation db '(rtx-kg2 cprop)))\n(define r.edge  (database-relation db '(rtx-kg2 edge)))\n(define r.eprop (database-relation db '(rtx-kg2 eprop)))\n\n(define domain-dicts                 (relation-domain-dicts r.cprop))\n(define dict.string=>id              (car (hash-ref (car domain-dicts) 'text)))\n(define dict.id=>string              (car (hash-ref (cdr domain-dicts) 'text)))\n\n(define dict.edge.object.eid.subject (relation-index-dict r.edge  '(subject eid object)))\n(define dict.edge.subject.eid.object (relation-index-dict r.edge  '(object eid subject)))\n(define dict.eprop.eid.value.key     (relation-index-dict r.eprop '(key value eid)))\n(define dict.eprop.value.key.eid     (relation-index-dict r.eprop '(eid key value)))\n(define dict.cprop.curie.value.key   (relation-index-dict r.cprop '(key value curie)))\n(define dict.cprop.value.key.curie   (relation-index-dict r.cprop '(curie key value)))\n\n(define id.negated      (dict-select dict.string=>id \"negated\"))\n(define id.provided-by  (dict-select dict.string=>id \"provided_by\"))\n(define id.publications (dict-select dict.string=>id \"publications\"))\n"
  },
  {
    "path": "contrib/medikanren2/Thi/synonym-low-level.rkt",
    "content": "#lang racket/base\n(provide curie->synonyms curies->synonyms)\n(require\n  \"../../../medikanren2/dbk/dbk/data.rkt\"\n  \"../../../medikanren2/dbk/dbk/enumerator.rkt\"\n  racket/runtime-path\n  racket/set)\n\n(define (curie->synonyms curie) (curies->synonyms (list curie)))\n\n(define (curies->synonyms curies)\n  (define (ids->dict ids)\n    (define vec.ids (list->vector (sort (set->list ids) <)))\n    (dict:ordered (column:vector vec.ids) (column:const '()) 0 (vector-length vec.ids)))\n  (define (step new)\n    (define (step/dict dict.edge.Y.X) (enumerator->rlist\n                                        (lambda (yield)\n                                          ((merge-join dict.new dict.edge.Y.X)\n                                           (lambda (id.curie _ dict.edge.Y)\n                                             ((dict.edge.Y 'enumerator) yield))))))\n    (define dict.new (ids->dict new))\n    (list->set (append (step/dict dict.edge.object.subject)\n                       (step/dict dict.edge.subject.object))))\n  (define ids.final (set-fixed-point (list->set (strings->ids curies)) step))\n  (enumerator->list\n    (lambda (yield)\n      ((merge-join (ids->dict ids.final) dict.id=>string)\n       (lambda (_ __ curie) (yield curie))))))\n\n;;;;;;;;;;;;;;;\n;; Utilities ;;\n;;;;;;;;;;;;;;;\n(define (set-fixed-point xs.initial step)\n  (let loop ((current (set))\n             (next    xs.initial))\n    (let ((new (set-subtract next current)))\n      (if (set-empty? new)\n        current\n        (loop (set-union current new)\n              (step      new))))))\n\n(define (dict-select d key) (d 'ref key (lambda (v) v) (lambda () (error \"dict ref failed\" key))))\n\n;; TODO: build small in-memory relations more easily\n(define (strings->dict strs)\n  (define vec.strs  (list->vector (sort (set->list (list->set strs)) string<?)))\n  (define dict.strs (dict:ordered (column:vector vec.strs) (column:const '()) 0 (vector-length vec.strs)))\n  (define vec.ids   (enumerator->vector\n                      (lambda (yield)\n                        ((merge-join dict.strs dict.string=>id)\n                         (lambda (__ ___ id) (yield id))))))\n  (dict:ordered (column:vector vec.ids) (column:const '()) 0 (vector-length vec.ids)))\n\n(define (strings->ids strs) (enumerator->rlist ((strings->dict strs) 'enumerator)))\n\n(define-runtime-path path.here \".\")\n(define db     (database (path->string (build-path path.here \"kgx-synonym.db\"))))\n(define r.edge (database-relation db '(kgx-synonym edge)))\n\n(define domain-dicts                 (relation-domain-dicts r.edge))\n(define dict.string=>id              (car (hash-ref (car domain-dicts) 'text)))\n(define dict.id=>string              (car (hash-ref (cdr domain-dicts) 'text)))\n\n(define dict.edge.object.subject (relation-index-dict r.edge '(subject object)))\n(define dict.edge.subject.object (relation-index-dict r.edge '(object subject)))\n"
  },
  {
    "path": "contrib/medikanren2/draw.rkt",
    "content": "#lang racket/base\n;; may require manually installing graphviz, cairo, libjpeg\n\n(require \"../../medikanren2/common.rkt\" \n         racket/string racket/draw racket/format racket/list\n         graph\n         (prefix-in pict: pict)\n         (prefix-in graphviz: graphviz)\n         (prefix-in racket: racket)\n         )\n\n(define-relation (subclass-of a b)\n  (triple a \"biolink:subclass_of\" b))\n\n(define (draw-edges edges path)\n  (racket:send\n   (pict:pict->bitmap\n    (graphviz:dot->pict\n     (graphviz (directed-graph edges))))\n   save-file path 'png))\n\n(define (remove-prefix prefix str)\n  (string-replace str prefix \"\"))\n\n(define (remove-biolink-prefixes edges)\n  (let ((rem (lambda (e) (remove-prefix \"biolink:\" e))))\n    (map (lambda (pair)\n           (map rem pair))\n         edges)))\n\n(define (subtrees all-classes top-level-classes)\n  (filter (compose not null?)\n          (map (lambda (class)\n                 (cons class\n                       (let loop ((class class))\n                         (let* ((new-edges (filter (lambda (edge) (equal? (cadr edge) class))\n                                                   all-classes))\n                                (new-nodes (map car new-edges)))\n                           (append new-edges (apply append (map loop new-nodes)))))))\n               (map car top-level-classes))))\n\n(define (draw-subtrees subtrees)\n  (map (lambda (subtree)\n         (let ((label (car subtree))\n               (graph (cdr subtree)))\n           (when (not (null? subtree))\n             (draw-edges graph (~a \"drawings/\" label \".png\")))))\n       subtrees))\n\n(define all-ontology-classes\n  (remove-biolink-prefixes\n   (run* (s o)\n     (triple s \"biolink:subclass_of\" o) \n     (is-a s \"biolink:OntologyClass\")\n     (is-a o \"biolink:OntologyClass\")\n     (:== #t (s) (char-upper-case? (car (string->list (remove-prefix \"biolink:\" s)))))\n     (:== #t (o) (char-upper-case? (car (string->list (remove-prefix \"biolink:\" o)))))\n)))\n\n(define top-level-ontology-classes\n  (cons '(\"Annotation\")\n        (remove-biolink-prefixes\n         (run* (s) (subclass-of s \"biolink:Entity\")))))\n\n;; very strange -- let's hope this changes!\n(define all-predicates\n  (remove-biolink-prefixes\n   (run* (s o)\n     (triple s \"biolink:subclass_of\" o) \n     (is-a s \"biolink:OntologyClass\")\n     (is-a o \"biolink:OntologyClass\")\n     (:== #t (s) (char-lower-case? (car (string->list (remove-prefix \"biolink:\" s)))))\n     (:== #t (o) (char-lower-case? (car (string->list (remove-prefix \"biolink:\" o)))))\n)))\n\n(define top-level-predicates\n  (remove-biolink-prefixes\n   (run* (s) (subclass-of s \"biolink:related_to\"))))\n\n(draw-subtrees (subtrees all-ontology-classes top-level-ontology-classes))\n(draw-subtrees (subtrees all-predicates '((\"related_to\"))))\n(draw-subtrees (subtrees all-predicates top-level-predicates))\n"
  },
  {
    "path": "contrib/medikanren2/gregr/benchmark-nausea.rkt",
    "content": "#lang racket/base\n(require\n  \"../../../medikanren2/dbk/dbk.rkt\"\n  \"../../../medikanren2/dbk/dbk/data.rkt\"\n  \"../../../medikanren2/dbk/dbk/enumerator.rkt\"\n  racket/pretty\n  racket/runtime-path\n  racket/set)\n\n(define-relation/table (cprop curie key value)   'path \"../../../medikanren2/data/rtx2/20210204/cprop\")\n(define-relation/table (edge  id subject object) 'path \"../../../medikanren2/data/rtx2/20210204/edge\")\n(define-relation/table (eprop id key value)      'path \"../../../medikanren2/data/rtx2/20210204/eprop\")\n\n(define (dict-select d key) (d 'ref key (lambda (v) v) (lambda () (error \"dict ref failed\" key))))\n\n(define-runtime-path path.here \".\")\n\n(define db      (database (path->string (build-path path.here \"rtx-kg2_20210204.db\"))))\n(define r.cprop (database-relation db '(rtx-kg2 cprop)))\n(define r.edge  (database-relation db '(rtx-kg2 edge)))\n(define r.eprop (database-relation db '(rtx-kg2 eprop)))\n\n(define dict.eprop.eid.value.key     (relation-index-dict r.eprop '(key value eid)))\n(define dict.edge.subject.eid.object (relation-index-dict r.edge  '(object eid subject)))\n(define dict.cprop.value.key.curie   (relation-index-dict r.cprop '(curie key value)))\n(define domain-dicts                 (relation-domain-dicts r.cprop))\n(define dict.string=>id              (car (hash-ref (car domain-dicts) 'text)))\n(define dict.id=>string              (car (hash-ref (cdr domain-dicts) 'text)))\n\n(define (string->id str) (dict-select dict.string=>id str))\n(define (id->string id)  (dict-select dict.id=>string id))\n\n(define (benchmark-find-treatments curie.target)\n  (define (run-query yield)\n    (define curie.nausea.id       (string->id curie.target))\n    (define ekey.predicate.id     (string->id \"predicate\"))\n    (define evalue.treats.id      (string->id \"biolink:treats\"))\n    (define ckey.category.id      (string->id \"category\"))\n    (define ckey.name.id          (string->id \"name\"))\n    (define dict.eprop.eid.value  (dict-select dict.eprop.eid.value.key     ekey.predicate.id))\n    (define dict.eprop.eid        (dict-select dict.eprop.eid.value         evalue.treats.id))\n    (define dict.edge.subject.eid (dict-select dict.edge.subject.eid.object curie.nausea.id))\n    ((merge-join dict.eprop.eid dict.edge.subject.eid)\n     (lambda (eid __ dict.edge.subject)\n       ((merge-join dict.edge.subject dict.cprop.value.key.curie)\n        (lambda (subject.id __ dict.cprop.value.key)\n          (define subject             (id->string subject.id))\n          (define dict.cprop.category (dict-select dict.cprop.value.key ckey.category.id))\n          (define dict.cprop.name     (dict-select dict.cprop.value.key ckey.name.id))\n          ((merge-join dict.cprop.category dict.id=>string)\n           (lambda (category.id __ category)\n             ((merge-join dict.cprop.name dict.id=>string)\n              (lambda (name.id __ name)\n                (yield (list subject category name)))))))))))\n  ;; Some nausea timings\n  ;; cpu time: 1485 real time: 1610 gc time: 19\n  ;; cpu time: 1539 real time: 1557 gc time: 15\n  ;; cpu time: 1538 real time: 1556 gc time: 24\n  (define results.old (time (run* (s cat name)\n                              (fresh (eid)\n                                (edge eid s curie.target)\n                                (cprop s \"category\" cat)\n                                (cprop s \"name\" name)\n                                (eprop eid \"predicate\" \"biolink:treats\")))))\n  ;; Some nausea timings\n  ;; cpu time: 27 real time: 27 gc time: 0\n  ;; cpu time: 31 real time: 31 gc time: 0\n  ;; cpu time: 30 real time: 31 gc time: 0\n  (define results.new (time (enumerator->rlist run-query)))\n  ;; 149 results\n  (pretty-write `(old:    ,(length results.old) ,results.old))\n  (pretty-write `(new:    ,(length results.new) ,results.new))\n  (pretty-write `(equal?: ,(equal? (list->set results.old) (list->set results.new)))))\n\n(define curie.nausea \"UMLS:C0520909\")\n(benchmark-find-treatments curie.nausea)\n"
  },
  {
    "path": "contrib/medikanren2/gregr/hao-demo.rkt",
    "content": "#lang racket/base\n(require \"dbk.rkt\")\n\n;;(define-relation (P x)\n;  ;(membero x '(1 2 3 4 5 6 7 8 9 10)))\n;;(define-relation (Q x)\n;  ;(membero x '(1 3 5 6 8 10)))\n;\n;(define-relation (P x)\n;  (conde ((== x 1))\n;         ((== x 2))\n;         ((== x 3))\n;         ((== x 4))\n;         ((== x 5))\n;         ((== x 6))\n;         ((== x 7))\n;         ((== x 8))\n;         ((== x 9))\n;         ((== x 10))))\n;\n;(define-relation (Q x)\n;  (conde ((== x 1))\n;         ((== x 3))\n;         ((== x 5))\n;         ((== x 6))\n;         ((== x 8))\n;         ((== x 10))))\n;\n;(define (frequency P Q)\n;  (caar (run* (p)\n;          (:== p ()\n;               (/ (length (run* (x) (P x) (Q x)))\n;                  (length (run* (x) (P x))))))))\n;\n;;(define (exists P Q) (fresh (x) (P x) (Q x))\n;\n;;(define (occurs p P Q)\n;  ;(:== #t () (<= p (frequency P Q))))\n;\n;(frequency P Q)\n;\n;(run* (_) (occurs .4 P Q))\n;\n;(run* (_) (occurs .8 P Q))\n;\n;\n;(define (forall P Q)\n;  (:== #t () (= (length (run* (x) (P x) (Q x)))\n;                (length (run* (x) (P x))))))\n;\n;(run* (_) (forall P Q))\n;\n;(run* (_) (forall Q P))\n;\n;\n;;; exists\n;(run* (x) (P x) (Q x))\n;\n;(run* (p y z)\n;  (fresh (y) (== z y))\n;  ;(== y z)\n;  (:== p ()\n;       (/ (length (run* (x) (P x) (Q x)))\n;          (length (run* (x) (P x))))))\n;\n;(define-relation (R x y)\n;  (conde ((== x 1)  (== y 111))\n;         ((== x 2)  (== y 111))\n;         ((== x 3)  (== y 111))\n;         ((== x 4)  (== y 111))\n;         ((== x 5)  (== y 111))\n;         ((== x 6)  (== y 111))\n;         ((== x 7)  (== y 111))\n;         ((== x 8)  (== y 111))\n;         ((== x 9)  (== y 111))\n;         ((== x 10) (== y 111))))\n;\n;;; forall x . (P x) -> (exists y . (R x y))\n;(run* (_)\n;  (:== #t () (= (length (run* (x) (P x)\n;                          (fresh (y) (R x y))))\n;                (length (run* (x) (P x))))))\n;\n;;; exists y . (forall x . (P x) -> (R x y))\n;(run* (y)\n;  (fresh (x) (R x y))\n;  (:== #t (y) (= (length (run* (x) (P x) (R x y)))\n;                 (length (run* (x) (P x))))))\n\n(define-relation (membero x xs)\n  (fresh (y ys)\n    (== `(,y . ,ys) xs)\n    (conde ((==  x y))\n           ((membero x ys)))))\n\n(define-syntax exists\n  (syntax-rules ()\n    ((_ y domain body ...) (fresh (y) domain body ...))))\n\n(define-syntax occurs\n  (syntax-rules ()\n    ((_ p y domain body ...)\n     (let ((P (lambda (y) domain))\n           (Q (lambda (y) body ...)))\n       (:== #t () (<= p (frequency P Q)))))))\n\n(define-syntax where\n  (syntax-rules ()\n    ((_ (deps ...) body ...)\n     (:== #t (deps ...) (pair? (run 1 (_) body ...))))))\n\n(define-syntax select\n  (syntax-rules ()\n    ((_ ((v domain) ...) body ...)\n     (run* (v ...) (domain v) ... body ...))))\n\n(define-syntax <-\n  (syntax-rules ()\n    ((_ x subquery body ...)\n     (fresh (x xs)\n       (:== xs () subquery)\n       (membero x xs)\n       body ...))))\n\n;; TODO: define all these relations\n; timepoint year< exposure-event stressor receptor individual-organism chemical-substance in has-phenotype\n\n(define-relation (exposed-to t y x)\n  (fresh (i)\n    (exposure-event t i)\n    (receptor i y)\n    (stressor i x)))\n\n(define-relation (asthma-cohort-organism y)\n  (individual-organism y)\n  (in y 'asthma-cohort))\n\n(define-relation (timepoint t)\n  (conde ((== t 2010))\n         ;; TODO: ...\n         ((== t 2019))))\n\n(run* (z)\n  (<- x (select ((x chemical-substance))\n                (where (x) ;(x exposed-to has-phenotype asthma-cohort-organism timepoint)\n                  (occurs\n                    p y asthma-cohort-organism\n                    (exists\n                      t1 timepoint\n                      (exposed-to t1 y x)\n                      (exists\n                        t2 timepoint\n                        (year< t1 t2)\n                        (has-phenotype t2 y 'asthma-exacerbation))))))\n      (target x z)))\n"
  },
  {
    "path": "contrib/medikanren2/gregr/notes-on-reasoning.md",
    "content": "# Notes on reasoning for Translator\n\nI'm interested in improving Translator's design to make sure it can support\nreal world use.  Specifically, I'm going to consider aspects of the design\nthat are related to reasoning.\n\n## Retrieval parameters\n\nSome retrieval parameters involving tradeoffs between precision and recall:\n- Facts only vs. facts and inferences\n  - Should we only consider ground-truth assertions coming directly from\n    knowledge sources, or should we also consider assertions derived from\n    reasoning about existing assertions?\n- Exact ontology matching vs. plausible ontology matching\n  - Should we only consider facts that are subtypes of what we are looking for?\n    Or can we also admit supertypes, which may not be what we're looking for,\n    but which we can't prove aren't what we're looking for?\n\nFull recall seems like the right default, as long as results include some\nmeasure of confidence.  Users and downstream systems can then make their own\nchoice of precision by filtering on confidence and other result structure.\n\nCurrently, Translator isn't designed for full recall:\n- It presupposes \"facts only\" mode (ironically).\n  - There is no formal way to express inference derivations in the Translator\n    Reasoner API!\n- It commits to exact ontology matching.\n  - https://github.com/NCATSTranslator/TranslatorArchitecture/blob/master/README.md\n    point 9 requires KPs to return identifiers and predicates that are a subtype of\n    what was asked for.\n\n## Ontology matching\n\nWe'll start with ontology matching since it's an easier issue to address.  For\ntractable support of both full recall and the option for more precision, KPs\nshould return both subtypes and supertypes of what was asked for.\n\nConsider the `regulates` predicate and its subtypes `negatively_regulates` and\n`positively_regulates`:\n\n- `A regulates B`\n  - `A negatively_regulates B`\n  - `A positively_regulates B`\n\nIf a user is interested in `A negatively_regulates B`, a KP is only allowed to\nreturn edges with predicate `negatively_regulates`.  Yet it is possible that a\nKP also contains less a specific edge claiming that `A regulates B`, possibly\nbecause it was sourced from natural language processing (NLP).  While it wasn't\npossible to determine the specific form of regulation involved in this claim,\nthe possibility that it is negative regulation can't be ruled out.  So this\nclaim could be one that the user is interested in!\n\nIf the user is interested in full recall, one workaround to consider is to have\nthe user ask for `A regulates B` instead of `A negatively_regulates B`.  In this\ncase a KP will return edges whose predicate is either `negatively_regulates` or\n`regulates`.  The problem with this is the KP will also return edges whose\npredicate is `positively_regulates`.  These edges are definitely not what the\nuser wants.\n\nSure, a user could filter these edges out, but consider what\nhappens with a taller ontology: given a complete binary-tree-shaped predicate\nontology of height `N`, asking for the most general predicate will return\nresults for `2^N` predicates.  If the user is only interested in one leaf\npredicate and its plausible substitutes (supertypes), this can involve an\nintractable amount of filtering.\n\nInstead, if KPs are allowed to return supertypes as well as subtypes, the user\ninterested in full recall can ask for the specific predicate they are interested\nin, and not have to do any filtering.  Alternatively, if the user is interested\nin precision, results will only be returned for `N` predicates, which is a\ntractable amount to filter.\n\n## Inferred claims\n\nThe specification for the Translator Reasoner API,\nhttps://github.com/NCATSTranslator/ReasonerAPI/blob/master/TranslatorReasonerAPI.yaml,\nprovides no formal mechanism for an ARA to describe a derived assertion that it\ncan infer from ground-truth assertions coming from KPs.  This description,\nwhere a reasoning system would \"show its work\", is needed so that users and\ndownstream systems can validate the assumptions behind the inference.  Although\nthe API provides a way to describe support for ground-truth assertions, this\nmechanism is not sufficient for describing inferences.  To properly describe an\ninference, it is necessary to refer to supporting assertions. Since assertions\nare graph edges, this means that the justification for an inferred edge needs to\nrefer to other edges.  Since inferences may be supported by other inferences,\nthis form of reference is recursive.\n\nInstead of allowing inferred claims, we could insist that the user ask for the\nexact graph structures they are interested in seeing results for.  This is what\nthe current design already insists.  But part of the value of Translator comes\nfrom providing ARAs that are capable of synthesizing new information from\nexisting knowledge.  In order for an interested user to fully utilize this\nsynthesized information, they would have to know what forms of reasoning were\navailable and understand how to structure their queries to access results coming\nfrom each form of reasoning.  This is a large burden to place on the user,\nespecially if they are non-technical.  It would be better to allow the user to\nask either naive or sophisticated questions, and automatically benefit from ARA\nreasoning in both cases.\n\nTo remedy this situation, the Reasoner API needs general structure for\nreasoning-based justification for inferred assertions, in addition to evidence\nand provenance for KP assertions.  We could adopt a structure analogous to\nproof-formation rules, where each step of inference would include an identifier\nfor the rule being invoked, and a list of sub-assertions that this rule depends\non.  These sub-assertions may be ground assertions, or may also be inferred,\ngiving justifications a tree-like structure.\n\n### Example justification rule\n\nFor example, you can imagine using two 1-hop claims with particular predicates\n`p0` and `p1` to justify belief in another 1-hop claim with predicate `p2`:\n\n```\nA-p0->B, B-p1->C\n---------------- some-rule-name:p0+p1=p2\nA-p2->C\n```\n\nHere are some instances of this 2 hops to 1 hop rule:\n```\np0                   | p1                   | p2\n------------------------------------------------------------------\npositively_regulates | positively_regulates | positively_regulates\nnegatively_regulates | positively_regulates | negatively_regulates\npositively_regulates | negatively_regulates | negatively_regulates\nnegatively_regulates | negatively_regulates | positively_regulates\n```\n\n### Normalization and conflation\n\nWith support for structured justification, inferences could even subsume\nnormalization.  If we treat normalization information as just another knowledge\ngraph containing equivalence edges, we can explicitly justify why we believe\nthat one concept identifier or predicate can stand in for another, and this\njustification can be validated externally.  Nobody would need to implicitly\ntrust the normalization data coming from a centralized service.  This also\nopens up the option for ARAs to perform selective conflation of concepts and\npredicates while communicating what it's doing and why.\n"
  },
  {
    "path": "contrib/medikanren2/gregr/old/graph-builder-explorer.rkt",
    "content": "#lang racket/base\n(provide\n\n  )\n\n(require\n  \"common.rkt\"\n  )\n\n(define-syntax define-record\n  (syntax-rules ()\n    ((_ name field ...) (struct name (field ...) #:prefab))))\n(define-syntax define-record*\n  (syntax-rules ()\n    ((_ (record-body ...) ...)\n     (begin (define-record record-body ...) ...))))\n\n(define-record*\n  (setdesc kind sources construction class text selections)\n  ;; kind: whether this is a concept or predicate set\n  ;; sources: choice of databases\n  ;; class: concept categories or relation parent classes\n  ;; construction: in terms of operations on other sets\n  ;; text: text search strings\n  ;; selections: explicitly chosen elements (referenced by CURIE/db-uid)\n\n  (metadata  uid attrs)\n  (workspace meta graph uid=>obj triples)\n  (graph     meta nodes edges subgraphs)\n  (node      meta concepts edges)\n  (edge      meta subject object predicates))\n\n;; maybe just represent these as s-expressions\n;(struct set-operation (op s1 s2))\n;(struct constraint    (cx s arg))\n;; category/class constraint\n;; text search constraint\n;; graph constraint\n;; user selection constraint\n\n;; TODO:\n;; workspace manipulators\n;;   track deltas to minimize recomputation of unknowns?\n;; computate unknowns/triples for workspace graphs\n\n;; union, intersection, difference\n\n(define fresh-uid (let ((uid -1)) (lambda () (set! uid (+ uid 1)) uid)))\n\n;(define (compute w)\n  ;(define uid=>obj (workspace-uid=>obj w))\n  ;(define seen     (set))\n  ;;(define pending  (set))\n  ;(define finished (hash))\n  ;(define failed   (set))\n\n  ;;(define unknowns '(()))\n\n  ;(define (uid->obj uid) (hash-ref uid=>obj uid))\n\n  ;(define (fail! obj->metadata obj)\n    ;(set! failed (set-add failed (obj->metadata obj)))\n    ;#f)\n\n  ;(define (seen?/add obj->metadata obj)\n    ;(define uid (metadata-uid (obj->metadata obj)))\n    ;(or (set-member? seen uid)\n        ;(begin (set! seen (set-add seen uid)) #f)))\n\n  ;(define (finished? uid) (hash-ref? finished uid #f))\n\n  ;(define (compute/graph g)\n    ;(or (seen?/add graph-meta g)\n        ;(unless\n          ;(and (for-each compute/node  (map uid->obj (graph-nodes g)))\n               ;(for-each compute/edge  (map uid->obj (graph-edges g)))\n               ;(for-each compute/graph (map uid->obj (graph-subgraphs g)))\n               ;(andmap (finished? node-meta)  (graph-nodes g))\n               ;(andmap (finished? edge-meta)  (graph-edges g))\n               ;(andmap (finished? graph-meta) (graph-subgraphs g)))\n          ;(fail! graph-meta g))))\n\n  ;(define (compute/edge e (query #f))\n    ;(unless (and (compute/predicates\n\n                   ;)\n\n              ;(compute/node (uid->obj subject))\n                 ;(compute/node (uid->obj object))\n                 ;((finished? node-meta) subject)\n                 ;((finished? node-meta) object))\n      ;(fail! edge-meta e)))\n\n  ;(define (compute/node n (query #f))\n    ;(define sd (node-concepts n))\n    ;(or (seen?/add node-meta n)\n        ;;; TODO: unknown or constructed?\n        ;(if (setdesc-construction sd)\n          ;;; TODO: construct concept set.\n\n          ;)\n\n        ;))\n\n\n\n  ;(define (compute/query\n\n            ;)\n\n    ;)\n\n  ;(compute/graph (workspace-graph w))\n\n\n  ;)\n"
  },
  {
    "path": "contrib/medikanren2/gregr/old/query-simple.rkt",
    "content": "#lang racket/base\n(provide\n\n  )\n(require\n\n  )\n\n; report\n; rrun\n; P T\n; C PO PS\n; patho ;; does this make PO PS unnecessary?\n\n;; include isa-related concepts\n;; concept: db cid cui category name\n;; predicate: -\n;; X: db cid cui category name max-pubmed-# min-pubmed-# path-length path-confidence\n;; Paths: db eid subject predicate object subj-cat obj-cat pubmed-#\n;;   grouped via --\n;; Properties: property value\n;; Pubmed: URL\n"
  },
  {
    "path": "contrib/medikanren2/gregr/old/query-tree.rkt",
    "content": "#lang racket/base\n(provide\n  ? help\n  graph path\n  C P T\n  show hide count unmodify\n  graph? path? C? P? T? show? hide? count? except?\n  except\n  inote iref aref untag\n  )\n(require \"common.rkt\" \"mk.rkt\")\n\n\n\n(define c1 (C (C (C \"imatinib\") '(db semmed)) '(cui \"...\")))\n;; ((db id cui name ()) ...)\n\n(define c2 (C (C (C \"asthma\") '(db semmed)) '(cui \"...\")))\n;; ((db id cui name ()) ...)\n\n(define p1 (P (subject 'Concept1 c1) \"decreases\"))\n;; #(subject Concept1\n;;   ((db id name) ...)\n;;   ((db id cui name ()) ...))\n\n(define p2 (P (object 'Concept2 c2) \"increases\"))\n;; #(object Concept2\n;;   ((db id name) ...)\n;;   ((db id cui name ()) ...))\n\n(define X (C p1 p2))\n;; ((db id cui name ((subject ((predicate . ((concept . edge-props) ...)) ...))\n;;                   (object  ((predicate . ((concept . edge-props) ...)) ...))) ...)\n\n(report (C X \"gene\"))  ;; edges? paths? pubs? sorting by pubcount or path confidence?\n"
  },
  {
    "path": "contrib/medikanren2/gregr/owlrl.rkt",
    "content": "#lang racket/base\n(provide (all-defined-out))\n;; TODO: This implementation won't work until we define =/=\n;(require \"basic-naive.rkt\")\n\n;; Based on a description logic reasoner sketch by Jim Balhoff\n\n(define RDF_TYPE \"<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>\")\n(define RDF_FIRST \"<http://www.w3.org/1999/02/22-rdf-syntax-ns#first>\")\n(define RDF_REST \"<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>\")\n(define RDF_NIL \"<http://www.w3.org/1999/02/22-rdf-syntax-ns#nil>\")\n(define RDFS_SUBCLASS_OF \"<http://www.w3.org/2000/01/rdf-schema#subClassOf>\")\n(define RDFS_SUBPROPERTY_OF \"<http://www.w3.org/2000/01/rdf-schema#subPropertyOf>\")\n(define RDFS_DOMAIN \"<http://www.w3.org/2000/01/rdf-schema#domain>\")\n(define RDFS_RANGE \"<http://www.w3.org/2000/01/rdf-schema#range>\")\n(define OWL_ANNOTATION_PROPERTY \"<http://www.w3.org/2002/07/owl#AnnotationProperty>\")\n(define OWL_CLASS \"<http://www.w3.org/2002/07/owl#Class>\")\n(define OWL_OBJECT_PROPERTY \"<http://www.w3.org/2002/07/owl#ObjectProperty>\")\n(define OWL_TRANSITIVE_PROPERTY \"<http://www.w3.org/2002/07/owl#TransitiveProperty>\")\n(define OWL_FUNCTIONAL_PROPERTY \"<http://www.w3.org/2002/07/owl#FunctionalProperty>\")\n(define OWL_INVERSE_FUNCTIONAL_PROPERTY \"<http://www.w3.org/2002/07/owl#InverseFunctionalProperty>\")\n(define OWL_IRREFLEXIVE_PROPERTY \"<http://www.w3.org/2002/07/owl#IrreflexiveProperty>\")\n(define OWL_SYMMETRIC_PROPERTY \"<http://www.w3.org/2002/07/owl#SymmetricProperty>\")\n(define OWL_ASYMMETRIC_PROPERTY \"<http://www.w3.org/2002/07/owl#AsymmetricProperty>\")\n(define OWL_INVERSE_OF \"<http://www.w3.org/2002/07/owl#inverseOf>\")\n(define OWL_EQUIVALENT_PROPERTY \"<http://www.w3.org/2002/07/owl#equivalentProperty>\")\n(define OWL_PROPERTY_DISJOINT_WITH \"<http://www.w3.org/2002/07/owl#propertyDisjointWith>\")\n(define OWL_ALL_DISJOINT_PROPERTIES \"<http://www.w3.org/2002/07/owl#AllDisjointProperties>\")\n(define OWL_NAMED_INDIVIDUAL \"<http://www.w3.org/2002/07/owl#NamedIndividual>\")\n(define OWL_PROPERTY_CHAIN_AXIOM \"<http://www.w3.org/2002/07/owl#propertyChainAxiom>\")\n(define OWL_ON_PROPERTY \"<http://www.w3.org/2002/07/owl#onProperty>\")\n(define OWL_SOME_VALUES_FROM \"<http://www.w3.org/2002/07/owl#someValuesFrom>\")\n(define OWL_ALL_VALUES_FROM \"<http://www.w3.org/2002/07/owl#allValuesFrom>\")\n(define OWL_EQUIVALENT_CLASS \"<http://www.w3.org/2002/07/owl#equivalentClass>\")\n(define OWL_SAME_AS \"<http://www.w3.org/2002/07/owl#sameAs>\")\n(define OWL_INTERSECTION_OF \"<http://www.w3.org/2002/07/owl#intersectionOf>\")\n(define OWL_UNION_OF \"<http://www.w3.org/2002/07/owl#unionOf>\")\n(define OWL_COMPLEMENT_OF \"<http://www.w3.org/2002/07/owl#complementOf>\")\n(define OWL_RESTRICTION \"<http://www.w3.org/2002/07/owl#Restriction>\")\n(define OWL_MEMBERS \"<http://www.w3.org/2002/07/owl#members>\")\n(define OWL_DISJOINT_WITH \"<http://www.w3.org/2002/07/owl#disjointWith>\")\n(define OWL_ALL_DISJOINT_CLASSES \"<http://www.w3.org/2002/07/owl#AllDisjointClasses>\")\n(define OWL_HAS_SELF \"<http://www.w3.org/2002/07/owl#hasSelf>\")\n(define OWL_THING \"<http://www.w3.org/2002/07/owl#Thing>\")\n(define OWL_NOTHING \"<http://www.w3.org/2002/07/owl#Nothing>\")\n(define OWL_SOURCE_INDIVIDUAL \"<http://www.w3.org/2002/07/owl#sourceIndividual>\")\n(define OWL_ASSERTION_PROPERTY \"<http://www.w3.org/2002/07/owl#assertionProperty>\")\n(define OWL_TARGET_INDIVIDUAL \"<http://www.w3.org/2002/07/owl#targetIndividual>\")\n(define OWL_TARGET_VALUE \"<http://www.w3.org/2002/07/owl#targetValue>\")\n(define OWL_HAS_VALUE \"<http://www.w3.org/2002/07/owl#hasValue>\")\n(define OWL_MAX_CARDINALITY \"<http://www.w3.org/2002/07/owl#maxCardinality>\")\n(define OWL_ONE_OF \"<http://www.w3.org/2002/07/owl#oneOf>\")\n(define XSD_TRUE \"\\\"true\\\"^^<http://www.w3.org/2001/XMLSchema#boolean>\")\n(define XSD_ZERO \"\\\"0\\\"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger>\")\n(define XSD_ONE \"\\\"1\\\"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger>\")\n(define SESAME_DIRECT_TYPE \"<http://www.openrdf.org/schema/sesame#directType>\")\n\n(define-relation (list-contains node.list item)\n  (conde ((rdf node.list RDF_FIRST item))\n         ((fresh (other)\n            (rdf node.list RDF_REST other)\n            (list-contains other item)))))\n\n(define-relation (chain s p o node.list)\n  (conde ((fresh (X P1 Y)\n            (rdf p OWL_PROPERTY_CHAIN_AXIOM X)\n            (rdf X RDF_FIRST P1)\n            (rdf s P1 o)\n            (rdf X RDF_REST node.list)\n            (=/= node.list RDF_NIL)))\n         ((fresh (X P1 O1)\n            (chain s p O1 X)\n            (rdf X RDF_FIRST P1)\n            (rdf O1 P1 o)\n            (rdf X RDF_REST node.list)\n            (=/= node.list RDF_NIL)))))\n\n(define-relation (ichain individual class node.list)\n  (conde ((fresh (X C1)\n            (rdf class OWL_INTERSECTION_OF X)\n            (rdf X RDF_FIRST C1)\n            (rdf individual RDF_TYPE C1)\n            (rdf X RDF_REST node.list)\n            (=/= node.list RDF_NIL)))\n         ((fresh (X C1)\n            (ichain individual class X)\n            (rdf X RDF_FIRST C1)\n            (rdf individual RDF_TYPE C1)\n            (rdf X RDF_REST node.list)\n            (=/= node.list RDF_NIL)))))\n\n(define-relation (rdf s p o)\n  (conde ((fresh (p.other ?)\n            (== p RDF_TYPE)\n            (rdf p.other RDFS_DOMAIN o)\n            (rdf s p.other ?)))\n         ((fresh (p.other ?)\n            (== p RDF_TYPE)\n            (rdf p.other RDFS_RANGE o)\n            (rdf ? p.other s)))\n         ((fresh (p.other x)\n            (== p OWL_SAME_AS)\n            (rdf p.other RDF_TYPE OWL_FUNCTIONAL_PROPERTY)\n            (rdf x p.other s)\n            (rdf x p.other o)))\n         ((fresh (p.other y)\n            (== p OWL_SAME_AS)\n            (rdf p.other RDF_TYPE OWL_INVERSE_FUNCTIONAL_PROPERTY)\n            (rdf s p.other y)\n            (rdf o p.other y)))\n         ((fresh (p.other)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf p.other RDF_TYPE OWL_IRREFLEXIVE_PROPERTY)\n            (rdf s p.other s)))\n         ((rdf p RDF_TYPE OWL_SYMMETRIC_PROPERTY)\n          (rdf o p s))\n         ((fresh (p.other y)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf p.other RDF_TYPE OWL_ASYMMETRIC_PROPERTY)\n            (rdf s p.other y)\n            (rdf y p.other s)))\n         ((fresh (y)\n            (rdf p RDF_TYPE OWL_TRANSITIVE_PROPERTY)\n            (rdf s p y)\n            (rdf y p o)))\n         ((fresh (p.other)\n            (rdf p.other RDFS_SUBPROPERTY_OF p)\n            (rdf s p.other o)))\n         ((fresh (X P1 O1)\n            (chain s p O1 X)\n            (rdf X RDF_FIRST P1)\n            (rdf O1 P1 o)\n            (rdf X RDF_REST RDF_NIL)))\n         ((fresh (P1)\n            (rdf P1 OWL_EQUIVALENT_PROPERTY p)\n            (rdf s P1 o)))\n         ((fresh (P1)\n            (rdf p OWL_EQUIVALENT_PROPERTY P1)\n            (rdf s P1 o)))\n         ((fresh (P1 P2 Y)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf P1 OWL_PROPERTY_DISJOINT_WITH P2)\n            (rdf s P1 Y)\n            (rdf s P2 Y)))\n         ((fresh (P1 P2 X)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf P1 OWL_PROPERTY_DISJOINT_WITH P2)\n            (rdf X P1 s)\n            (rdf X P2 s)))\n         ((fresh (V X Y P.i P.j)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf X RDF_TYPE OWL_ALL_DISJOINT_PROPERTIES)\n            (rdf X OWL_MEMBERS Y)\n            (list-contains Y P.i)\n            (list-contains Y P.j)\n            (=/= P.i P.j)\n            (rdf s P.i V)\n            (rdf s P.j V)))\n         ((fresh (U X Y P.i P.j)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf X RDF_TYPE OWL_ALL_DISJOINT_PROPERTIES)\n            (rdf X OWL_MEMBERS Y)\n            (list-contains Y P.i)\n            (list-contains Y P.j)\n            (=/= P.i P.j)\n            (rdf U P.i s)\n            (rdf U P.j s)))\n         ((fresh (P1)\n            (rdf P1 OWL_INVERSE_OF p)\n            (rdf o P1 s)))\n         ((fresh (P1)\n            (rdf p OWL_INVERSE_OF P1)\n            (rdf o P1 s)))\n         ((fresh (X P1 I2)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf X OWL_SOURCE_INDIVIDUAL s)\n            (rdf X OWL_ASSERTION_PROPERTY P1)\n            (rdf X OWL_TARGET_INDIVIDUAL I2)\n            (rdf s P1 I2)))\n         ((fresh (X P1 I1)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf X OWL_SOURCE_INDIVIDUAL I1)\n            (rdf X OWL_ASSERTION_PROPERTY P1)\n            (rdf X OWL_TARGET_INDIVIDUAL s)\n            (rdf I1 P1 s)))\n         ((fresh (X C1)\n            (== p RDF_TYPE)\n            (ichain s o X)\n            (rdf X RDF_FIRST C1)\n            (rdf s RDF_TYPE C1)\n            (rdf X RDF_REST RDF_NIL)))\n         ((fresh (C X)\n            (== p RDF_TYPE)\n            (rdf C OWL_INTERSECTION_OF X)\n            (list-contains X o)\n            (rdf s RDF_TYPE C)))\n         ((fresh (X C1)\n            (== p RDF_TYPE)\n            (rdf o OWL_UNION_OF X)\n            (list-contains X C1)\n            (rdf s RDF_TYPE C1)))\n         ((fresh (C1 C2)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf C1 OWL_COMPLEMENT_OF C2)\n            (rdf s RDF_TYPE C1)\n            (rdf s RDF_TYPE C2)))\n         ((fresh (Y P V)\n            (== p RDF_TYPE)\n            (rdf o OWL_SOME_VALUES_FROM Y)\n            (rdf o OWL_ON_PROPERTY P)\n            (rdf s P V)\n            (rdf V RDF_TYPE Y)))\n         ((fresh (P ?)\n            (== p RDF_TYPE)\n            (rdf o OWL_SOME_VALUES_FROM OWL_THING)\n            (rdf o OWL_ON_PROPERTY P)\n            (rdf s P ?)))\n         ((fresh (X P U)\n            (== p RDF_TYPE)\n            (rdf X OWL_THING o)\n            (rdf X OWL_ON_PROPERTY P)\n            (rdf U RDF_TYPE X)\n            (rdf U P s)))\n         ((fresh (X)\n            (rdf X OWL_HAS_VALUE o)\n            (rdf X OWL_ON_PROPERTY p)\n            (rdf s RDF_TYPE X)))\n         ((fresh (P Y)\n            (== P RDF_TYPE)\n            (rdf o OWL_HAS_VALUE Y)\n            (rdf o OWL_ON_PROPERTY P)\n            (rdf s P Y)))\n         ((fresh (X P ?)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf X OWL_MAX_CARDINALITY XSD_ZERO)\n            (rdf X OWL_ON_PROPERTY P)\n            (rdf s RDF_TYPE X)\n            (rdf s P ?)))\n         ((fresh (X P U)\n            (== p OWL_SAME_AS)\n            (rdf X OWL_MAX_CARDINALITY XSD_ONE)\n            (rdf X OWL_ON_PROPERTY P)\n            (rdf U RDF_TYPE X)\n            (rdf U P s)\n            (rdf U P o)))\n         ((fresh (X)\n            (== p RDF_TYPE)\n            (rdf o OWL_ONE_OF X)\n            (list-contains X s)))\n         ((fresh (C1)\n            (== p RDF_TYPE)\n            (rdf C1 RDFS_SUBCLASS_OF o)\n            (rdf s RDF_TYPE C1)))\n         ((fresh (C1)\n            (== p RDF_TYPE)\n            (rdf C1 OWL_EQUIVALENT_CLASS o)\n            (rdf s RDF_TYPE C1)))\n         ((fresh (C2)\n            (== p RDF_TYPE)\n            (rdf o OWL_EQUIVALENT_CLASS C2)\n            (rdf s RDF_TYPE C2)))\n         ((fresh (C1 C2)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf C1 OWL_DISJOINT_WITH C2)\n            (rdf s RDF_TYPE C1)\n            (rdf s RDF_TYPE C2)))\n         ((fresh (X Y C.i C.j)\n            (== p RDF_TYPE)\n            (== o OWL_NOTHING)\n            (rdf X RDF_TYPE OWL_ALL_DISJOINT_CLASSES)\n            (rdf X OWL_MEMBERS Y)\n            (list-contains Y C.i)\n            (list-contains Y C.j)\n            (=/= C.i C.j)\n            (rdf s RDF_TYPE C.i)\n            (rdf s RDF_TYPE C.j)))))\n"
  },
  {
    "path": "contrib/medikanren2/gregr/query-low-level.rkt",
    "content": "#lang racket/base\n(provide\n  query:Known->Known\n  query:Known->X\n  query:X->Known\n  query:Known<-X->Known\n  query:X->Y->Known\n  query:Prefix->Prefix\n  query:Concept\n  edge-properties\n  edge-property-values\n  concept-properties\n  concept-property-values\n  )\n(require\n  \"../../../medikanren2/dbk/dbk/data.rkt\"\n  \"../../../medikanren2/dbk/dbk/enumerator.rkt\"\n  \"../../../medikanren2/dbk/dbk/stream.rkt\"\n  racket/match\n  racket/runtime-path\n  racket/set\n  racket/string\n  )\n\n;;;;;;;;;;;;;;;\n;; Utilities ;;\n;;;;;;;;;;;;;;;\n(define (dict-select d key) (d 'ref key (lambda (v) v) (lambda () (error \"dict ref failed\" key))))\n\n;; TODO: build small in-memory relations more easily\n(define (strings->dict strs)\n  (define vec.strs  (list->vector (sort (set->list (list->set strs)) string<?)))\n  (define dict.strs (dict:ordered (column:vector vec.strs) (column:const '()) 0 (vector-length vec.strs)))\n  (define vec.ids   (enumerator->vector\n                      (lambda (yield)\n                        ((merge-join dict.strs dict.string=>id)\n                         (lambda (__ ___ id) (yield id))))))\n  (dict:ordered (column:vector vec.ids) (column:const '()) 0 (vector-length vec.ids)))\n\n;; TODO: we don't need before and after, we can find a finite delimiter in the lexicographical ordering\n;; (integer->char (+ 1 (char->integer #\\:))) ==> #\\;\n(define (dict-string-prefix prefix)\n  (define d.string=>id\n    ((dict.string=>id 'after (lambda (str) (string<? str prefix)))\n     'before (lambda (str) (and (string<? prefix str)\n                                (not (string-prefix? str prefix))))))\n  (define start (d.string=>id 'top))\n  (define end   (+ start (d.string=>id 'count)))\n  ((dict.id=>string '>= start) '< end))\n\n;(define (edge-id->properties eid)\n  ;(define (get id default)\n    ;(eprops 'ref id\n            ;(lambda (dict.value) (dict-select dict.id=>string (dict.value 'min)))\n            ;(lambda ()           default)))\n  ;(define eprops       (dict-select dict.eprop:value.key.eid eid))\n  ;(define negated      (get id.negated \"\"))\n  ;(define provided-by  (get id.provided-by \"\"))\n  ;(define publications (get id.publications \"\"))\n  ;(list negated provided-by publications))\n\n(define-runtime-path path.here \".\")\n(define db      (database (path->string (build-path path.here \"rtx-kg2_20210204.db\"))))\n(define r.cprop (database-relation db '(rtx-kg2 cprop)))\n(define r.edge  (database-relation db '(rtx-kg2 edge)))\n(define r.eprop (database-relation db '(rtx-kg2 eprop)))\n\n(define domain-dicts                 (relation-domain-dicts r.cprop))\n(define dict.string=>id              (car (hash-ref (car domain-dicts) 'text)))\n(define dict.id=>string              (car (hash-ref (cdr domain-dicts) 'text)))\n\n(define dict.edge:object.eid.subject (relation-index-dict r.edge  '(subject eid object)))\n(define dict.edge:subject.eid.object (relation-index-dict r.edge  '(object eid subject)))\n(define dict.eprop:eid.value.key     (relation-index-dict r.eprop '(key value eid)))\n(define dict.eprop:value.key.eid     (relation-index-dict r.eprop '(eid key value)))\n(define dict.cprop:curie.value.key   (relation-index-dict r.cprop '(key value curie)))\n(define dict.cprop:value.key.curie   (relation-index-dict r.cprop '(curie key value)))\n\n(define id.negated      (dict-select dict.string=>id \"negated\"))\n(define id.provided-by  (dict-select dict.string=>id \"provided_by\"))\n(define id.publications (dict-select dict.string=>id \"publications\"))\n\n\n;; Testing\n\n(require racket/pretty)\n\n(define (f2 str.relation)\n  (define (query yield)\n    (define id.ekey              (dict-select dict.string=>id \"relation\"))\n    (define id.relation          (dict-select dict.string=>id str.relation))\n    (define dict.eprop:eid.value (dict-select dict.eprop:eid.value.key id.ekey))\n    (define dict.eprop:eid       (dict-select dict.eprop:eid.value     id.relation))\n    ((merge-join dict.eprop:eid dict.eprop:value.key.eid)\n     (lambda (eid __ dict.eprop:value.key)\n       (yield (list eid (enumerator->list\n                          (lambda (yield)\n                            ((dict.eprop:value.key 'enumerator/2)\n                             (lambda (id.key dict.eprop:value)\n                               (define str.key (dict-select dict.id=>string id.key))\n                               ((dict.eprop:value 'enumerator)\n                                (lambda (id.value)\n                                  (define str.value (dict-select dict.id=>string id.value))\n                                  (yield (cons str.key str.value)))))))))))))\n  (time (enumerator->rlist query)))\n\n(define results.f2 (f2 \"DGIdb:binder\"))\n\n(pretty-write (length results.f2))\n\n(read-line)\n(pretty-write results.f2)\n\n;; query:Known->X is analogous to a miniKanren-style query with this shape:\n; (run* (s sname p o oname)\n;   (fresh (id category)\n;     (edge id s o)\n;     (cprop o \"category\" category)\n;     (cprop s \"name\" sname)\n;     (cprop o \"name\" oname)\n;     (eprop id \"predicate\" p)\n;     (membero s subject-curies)\n;     (membero p predicates)\n;     (membero category object-categories)))\n\n(define (query:Known->X curies.K predicates.K->X categories.X)\n  (define (query yield)\n    (define ekey.predicate.id         (dict-select dict.string=>id \"predicate\"))\n    (define ckey.category.id          (dict-select dict.string=>id \"category\"))\n    (define ckey.name.id              (dict-select dict.string=>id \"name\"))\n    (define dict.curies.K             (strings->dict curies.K))\n    (define dict.predicates.K->X      (strings->dict predicates.K->X))\n    (define dict.categories.X         (strings->dict categories.X))\n    (define dict.eprop.eid.predicate  (dict-select dict.eprop.eid.value.key   ekey.predicate.id))\n    (define dict.cprop.curie.category (dict-select dict.cprop.curie.value.key ckey.category.id))\n    ((merge-join dict.curies.K dict.edge.object.eid.subject)\n     (lambda (id.K __ dict.edge.X.eid)\n       (define id.name.K ((dict-select (dict-select dict.cprop.value.key.curie id.K) ckey.name.id) 'min))\n       (define name.K    (dict-select dict.id=>string id.name.K))\n       (define K         (dict-select dict.id=>string id.K))\n       ((merge-join dict.predicates.K->X dict.eprop.eid.predicate)\n        (lambda (id.predicate.K->X __ dict.eprop.K->X)\n          (define predicate.K->X (dict-select dict.id=>string id.predicate.K->X))\n          ((merge-join dict.eprop.K->X dict.edge.X.eid)\n           (lambda (eid __ dict.edge.X)\n             (define props (edge-id->properties eid))\n             ((merge-join dict.categories.X dict.cprop.curie.category)\n              (lambda (__ ___ dict.cprop.X)\n                ((dict-join-ordered\n                   (lambda (yield)\n                     ((merge-join dict.cprop.X dict.edge.X)\n                      (lambda (id.X __ ___)\n                        (yield id.X '()))))\n                   dict.cprop.value.key.curie)\n                 (lambda (id.X __ dict.cprop.value.key)\n                   (define id.name.X ((dict-select dict.cprop.value.key ckey.name.id) 'min))\n                   (define name.X    (dict-select dict.id=>string id.name.X))\n                   (define X         (dict-select dict.id=>string id.X))\n                   (yield (list* K name.K predicate.K->X X name.X props)))))))))))))\n  (time (enumerator->rlist query)))\n\n;;; query:X->Known is analogous to a miniKanren-style query with this shape:\n;; (run* (s sname p o oname)\n;;   (fresh (id category)\n;;     (edge id s o)\n;;     (cprop s \"category\" category)\n;;     (cprop s \"name\" sname)\n;;     (cprop o \"name\" oname)\n;;     (eprop id \"predicate\" p)\n;;     (membero o object-curies)\n;;     (membero p predicates)\n;;     (membero category subject-categories)))\n\n;(define (query:X->Known categories.X predicates.X->K curies.K)\n  ;(define (query yield)\n    ;(define ekey.predicate.id         (dict-select dict.string=>id \"predicate\"))\n    ;(define ckey.category.id          (dict-select dict.string=>id \"category\"))\n    ;(define ckey.name.id              (dict-select dict.string=>id \"name\"))\n    ;(define dict.categories.X         (strings->dict categories.X))\n    ;(define dict.predicates.X->K      (strings->dict predicates.X->K))\n    ;(define dict.curies.K             (strings->dict curies.K))\n    ;(define dict.eprop.eid.predicate  (dict-select dict.eprop.eid.value.key   ekey.predicate.id))\n    ;(define dict.cprop.curie.category (dict-select dict.cprop.curie.value.key ckey.category.id))\n    ;((merge-join dict.curies.K dict.edge.subject.eid.object)\n     ;(lambda (id.K __ dict.edge.X.eid)\n       ;(define id.name.K ((dict-select (dict-select dict.cprop.value.key.curie id.K) ckey.name.id) 'min))\n       ;(define name.K    (dict-select dict.id=>string id.name.K))\n       ;(define K         (dict-select dict.id=>string id.K))\n       ;((merge-join dict.predicates.X->K dict.eprop.eid.predicate)\n        ;(lambda (id.predicate.X->K __ dict.eprop.X->K)\n          ;(define predicate.X->K (dict-select dict.id=>string id.predicate.X->K))\n          ;((merge-join dict.eprop.X->K dict.edge.X.eid)\n           ;(lambda (eid __ dict.edge.X)\n             ;(define props (edge-id->properties eid))\n             ;((merge-join dict.categories.X dict.cprop.curie.category)\n              ;(lambda (__ ___ dict.cprop.X)\n                ;((dict-join-ordered\n                   ;(lambda (yield)\n                     ;((merge-join dict.cprop.X dict.edge.X)\n                      ;(lambda (id.X __ ___)\n                        ;(yield id.X '()))))\n                   ;dict.cprop.value.key.curie)\n                 ;(lambda (id.X __ dict.cprop.value.key)\n                   ;(define id.name.X ((dict-select dict.cprop.value.key ckey.name.id) 'min))\n                   ;(define name.X    (dict-select dict.id=>string id.name.X))\n                   ;(define X         (dict-select dict.id=>string id.X))\n                   ;(yield (list* X name.X predicate.X->K K name.K props)))))))))))))\n  ;(time (enumerator->rlist query)))\n\n;;; query:Known<-X->Known is analogous to a miniKanren-style query with this shape:\n;;(run* (K1 name.K1 predicates.K1<-X X name.X predicates.X->K1 K2 name.K2)\n;;  (fresh (id1 id2 category.X)\n;;    (edge id1 X K1)\n;;    (edge id2 X K2)\n;;    (cprop X   \"category\" category.X)\n;;    (cprop X   \"name\" name.X)\n;;    (cprop K1  \"name\" name.K1)\n;;    (cprop K2  \"name\" name.K2)\n;;    (eprop id1 \"predicate\" K1<-X)\n;;    (eprop id2 \"predicate\" X->K2)\n;;    (membero category.X categories.X)\n;;    (membero K1         curies.K1)\n;;    (membero K1<-X      predicates.K1<-X)\n;;    (membero K2         curies.K2)\n;;    (membero X->K2      predicates.X->K2)))\n\n;(define (query:Known<-X->Known curies.K1 predicates.K1<-X categories.X predicates.X->K2 curies.K2)\n  ;(define (candidates->dict candidates)\n    ;(define ordered (sort candidates (lambda (a b) (string<? (car a) (car b)))))\n    ;(define groups  (s-group ordered equal? car))\n    ;(dict:ordered:vector (list->vector groups) caar))\n  ;(define candidates.X->K1 (query:X->Known categories.X predicates.K1<-X curies.K1))\n  ;(define candidates.X->K2 (query:X->Known categories.X predicates.X->K2 curies.K2))\n  ;(define dict.X->K1.X     (candidates->dict candidates.X->K1))\n  ;(define dict.X->K2.X     (candidates->dict candidates.X->K2))\n  ;(time (enumerator->list\n          ;(lambda (yield)\n            ;((merge-join dict.X->K1.X dict.X->K2.X)\n             ;(lambda (X XK1s XK2s)\n               ;(for-each (lambda (XK1)\n                           ;(match-define (list* _ name.X X->K1 K1 name.K1 props1) XK1)\n                           ;(for-each (lambda (XK2)\n                                       ;(match-define (list* _ _ X->K2 K2 name.K2 props2) XK2)\n                                       ;(yield (append (list K1 name.K1 X->K1 X name.X X->K2 K2 name.K2)\n                                                      ;(append props1 props2))))\n                                     ;XK2s))\n                         ;XK1s)))))))\n\n;(define (query:X->Y->Known categories.X predicates.X->Y categories.Y predicates.Y->K curies.K)\n  ;(define (results->dict key results)\n    ;(define ordered (sort results (lambda (a b) (string<? (key a) (key b)))))\n    ;(define groups  (s-group ordered equal? key))\n    ;(dict:ordered:vector (list->vector groups) (lambda (x) (key (car x)))))\n  ;(define results.Y->K (query:X->Known categories.Y predicates.Y->K curies.K))\n  ;(define dict.Y->K.Y  (results->dict car results.Y->K))\n  ;(define curies.Y     (enumerator->list (dict.Y->K.Y 'enumerator)))\n  ;(define results.X->Y (query:X->Known categories.X predicates.X->Y curies.Y))\n  ;(define dict.X->Y.Y  (results->dict cadddr results.X->Y))\n  ;(time (enumerator->list\n          ;(lambda (yield)\n            ;((merge-join dict.X->Y.Y dict.Y->K.Y)\n             ;(lambda (Y XYs YKs)\n               ;(for-each (lambda (XY)\n                           ;(match-define (list* X name.X X->Y _ name.Y props.X->Y) XY)\n                           ;(for-each (lambda (YK)\n                                       ;(match-define (list* _ _ Y->K K name.K props.Y->K) YK)\n                                       ;(yield (append (list X name.X X->Y Y name.Y Y->K K name.K)\n                                                      ;(append props.X->Y props.Y->K))))\n                                     ;YKs))\n                         ;XYs)))))))\n\n;(define (query:Known->Known curies.S predicates.S->O curies.O)\n  ;(define dict.curies.S (strings->dict curies.S))\n  ;(define dict.curies.O (strings->dict curies.O))\n  ;(query:dict.Known->dict.Known dict.curies.S predicates.S->O dict.curies.O))\n\n;(define (query:Prefix->Prefix prefix.S predicates.S->O prefix.O)\n  ;(define dict.curies.S (dict-string-prefix prefix.S))\n  ;(define dict.curies.O (dict-string-prefix prefix.O))\n  ;(query:dict.Known->dict.Known dict.curies.S predicates.S->O dict.curies.O))\n\n;(define (query:dict.Known->dict.Known dict.curies.S predicates.S->O dict.curies.O)\n  ;(define (query yield)\n    ;(define ekey.predicate.id         (dict-select dict.string=>id \"predicate\"))\n    ;(define ckey.category.id          (dict-select dict.string=>id \"category\"))\n    ;(define ckey.name.id              (dict-select dict.string=>id \"name\"))\n    ;(define dict.predicates.S->O      (strings->dict predicates.S->O))\n    ;(define dict.eprop.eid.predicate  (dict-select dict.eprop.eid.value.key   ekey.predicate.id))\n    ;(define dict.cprop.curie.category (dict-select dict.cprop.curie.value.key ckey.category.id))\n    ;((merge-join dict.curies.S dict.edge.object.eid.subject)\n     ;(lambda (id.S __ dict.edge.O.eid)\n       ;(define id.name.S ((dict-select (dict-select dict.cprop.value.key.curie id.S) ckey.name.id) 'min))\n       ;(define name.S    (dict-select dict.id=>string id.name.S))\n       ;(define S         (dict-select dict.id=>string id.S))\n       ;((merge-join dict.predicates.S->O dict.eprop.eid.predicate)\n        ;(lambda (id.predicate.S->O __ dict.eprop.S->O)\n          ;(define predicate.S->O (dict-select dict.id=>string id.predicate.S->O))\n          ;((merge-join dict.eprop.S->O dict.edge.O.eid)\n           ;(lambda (eid __ dict.edge.O)\n             ;(define props (edge-id->properties eid))\n             ;((merge-join dict.curies.O dict.edge.O)\n              ;(lambda (id.O __ ___)\n                ;(define id.name.O ((dict-select (dict-select dict.cprop.value.key.curie id.O) ckey.name.id) 'min))\n                ;(define name.O    (dict-select dict.id=>string id.name.O))\n                ;(define O         (dict-select dict.id=>string id.O))\n                ;(yield (list* S name.S predicate.S->O O name.O props)))))))))))\n  ;(time (enumerator->rlist query)))\n\n;(define (query:Concept curies)\n  ;(define (query yield)\n    ;(define dict.curie (strings->dict curies))\n    ;((merge-join dict.curie dict.cprop.value.key.curie)\n     ;(lambda (id.curie _ dict.cprop.value.key)\n       ;(define curie (dict-select dict.id=>string id.curie))\n       ;((dict.cprop.value.key 'enumerator/2)\n        ;(lambda (id.key dict.cprop.value)\n          ;(define key   (dict-select dict.id=>string id.key))\n          ;(define value (dict-select dict.id=>string (dict.cprop.value 'min)))\n          ;(yield (list curie key value)))))))\n  ;(time (enumerator->list query)))\n\n;(define (concept-properties)          (enumerator->list\n                                        ;(lambda (yield)\n                                          ;((merge-join dict.cprop.curie.value.key dict.id=>string)\n                                           ;(lambda (_ __ key)\n                                             ;(yield key))))))\n;(define (edge-properties)             (enumerator->list\n                                        ;(lambda (yield)\n                                          ;((merge-join dict.eprop.eid.value.key dict.id=>string)\n                                           ;(lambda (_ __ key)\n                                             ;(yield key))))))\n;(define (concept-property-values key) (enumerator->list\n                                        ;(lambda (yield)\n                                          ;((merge-join (dict-select dict.cprop.curie.value.key (dict-select dict.string=>id key))\n                                                       ;dict.id=>string)\n                                           ;(lambda (_ __ value) (yield value))))))\n;(define (edge-property-values    key) (enumerator->list\n                                        ;(lambda (yield)\n                                          ;((merge-join (dict-select dict.eprop.eid.value.key   (dict-select dict.string=>id key))\n                                                       ;dict.id=>string)\n                                           ;(lambda (_ __ value) (yield value))))))\n\n\n\n"
  },
  {
    "path": "contrib/medikanren2/gregr/test-dataflow-nausea.rkt",
    "content": "#lang racket/base\n(require\n  \"../dbk.rkt\"\n  \"../dbk/data.rkt\"\n  \"../dbk/enumerator.rkt\"\n  racket/pretty\n  racket/runtime-path\n  racket/set)\n\n(define-relation/table (cprop curie key value)   'path \"rtx2/20210204/cprop\")\n(define-relation/table (edge  id subject object) 'path \"rtx2/20210204/edge\")\n(define-relation/table (eprop id key value)      'path \"rtx2/20210204/eprop\")\n\n(define (dict-select d key) (d 'ref key (lambda (v) v) (lambda () (error \"dict ref failed\" key))))\n\n(define-runtime-path path.here \".\")\n\n(define db      (database (path->string (build-path path.here \"rtx-kg2_20210204.db\"))))\n(define r.cprop (database-relation db '(rtx-kg2 cprop)))\n(define r.edge  (database-relation db '(rtx-kg2 edge)))\n(define r.eprop (database-relation db '(rtx-kg2 eprop)))\n\n(define dict.eprop.eid.value.key     (relation-index-dict r.eprop '(key value eid)))\n(define dict.edge.subject.eid.object (relation-index-dict r.edge  '(object eid subject)))\n(define dict.cprop.value.key.curie   (relation-index-dict r.cprop '(curie key value)))\n(define domain-dicts                 (relation-domain-dicts r.cprop))\n(define dict.string=>id              (car (hash-ref (car domain-dicts) 'text)))\n(define dict.id=>string              (car (hash-ref (cdr domain-dicts) 'text)))\n\n(define (string->id str) (dict-select dict.string=>id str))\n(define (id->string id)  (dict-select dict.id=>string id))\n\n(define (benchmark-find-treatments curie.target)\n  (define (run-query yield)\n    (define curie.nausea.id       (string->id curie.target))\n    (define ekey.predicate.id     (string->id \"predicate\"))\n    (define evalue.treats.id      (string->id \"biolink:treats\"))\n    (define ckey.category.id      (string->id \"category\"))\n    (define ckey.name.id          (string->id \"name\"))\n    (define dict.eprop.eid.value  (dict-select dict.eprop.eid.value.key     ekey.predicate.id))\n    (define dict.eprop.eid        (dict-select dict.eprop.eid.value         evalue.treats.id))\n    (define dict.edge.subject.eid (dict-select dict.edge.subject.eid.object curie.nausea.id))\n    ((merge-join dict.eprop.eid dict.edge.subject.eid)\n     (lambda (eid __ dict.edge.subject)\n       ((merge-join dict.edge.subject dict.cprop.value.key.curie)\n        (lambda (subject.id __ dict.cprop.value.key)\n          (define subject             (id->string subject.id))\n          (define dict.cprop.category (dict-select dict.cprop.value.key ckey.category.id))\n          (define dict.cprop.name     (dict-select dict.cprop.value.key ckey.name.id))\n          ((merge-join dict.cprop.category dict.id=>string)\n           (lambda (category.id __ category)\n             ((merge-join dict.cprop.name dict.id=>string)\n              (lambda (name.id __ name)\n                (yield (list subject category name)))))))))))\n  ;; Some nausea timings\n  ;; cpu time: 1485 real time: 1610 gc time: 19\n  ;; cpu time: 1539 real time: 1557 gc time: 15\n  ;; cpu time: 1538 real time: 1556 gc time: 24\n  (define results.old (time (run* (s cat name)\n                              (fresh (eid)\n                                (edge eid s curie.target)\n                                (cprop s \"category\" cat)\n                                (cprop s \"name\" name)\n                                (eprop eid \"predicate\" \"biolink:treats\")))))\n  ;; Some nausea timings\n  ;; cpu time: 27 real time: 27 gc time: 0\n  ;; cpu time: 31 real time: 31 gc time: 0\n  ;; cpu time: 30 real time: 31 gc time: 0\n  (define results.new (time (enumerator->rlist run-query)))\n  ;; 149 results\n  (pretty-write `(old:    ,(length results.old) ,results.old))\n  (pretty-write `(new:    ,(length results.new) ,results.new))\n  (pretty-write `(equal?: ,(equal? (list->set results.old) (list->set results.new)))))\n\n(define curie.nausea \"UMLS:C0520909\")\n(benchmark-find-treatments curie.nausea)\n"
  },
  {
    "path": "contrib/medikanren2/lw-reasoning-examples.rkt",
    "content": "#lang racket/base\n(provide trapi-response)\n(require\n \"../../medikanren2/common.rkt\"\n  \"../../medikanren2/lw-reasoning.rkt\"\n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/port\n  racket/pretty\n  racket/runtime-path\n  racket/string\n  json\n  )\n\n(define diabetes \"DOID:9351\")\n(define diabetes2 \"DOID:9352\")\n\n;; Reminder on 'semantic web'-style relations, defined in `medikanren2/common.rkt`\n\n;; `is-a` is a short-hand for the \"category\" property\n(run* c (is-a diabetes c))\n(run* c (cprop diabetes \"category\" c))\n\n;; and `triple` abstracts away the edge-id on triple relations\n(run 1 (s p o) (triple s p o))\n(run 1 (s p o) \n  (fresh (eid)\n    (edge eid s o)\n    (eprop eid \"predicate\" p)))\n\n;; Query subclasses in the Biolink Ontology directly using `subclass-of`, `subclass-of*`, `subclass-of+`\n(run* c (subclass-of+ c \"biolink:regulates\"))\n\n;; Subclass relations on concept category\n(run* c (is-a diabetes c))\n(run* (c c^) (is-a/subclass* diabetes c c^))\n\n;; Look for drugs that ameliorate (or a subclass thereof) diabetes\n(run* (drug p) (triple/subclass drug \"biolink:ameliorates\" p diabetes))\n\n;; ... or only subclasses thereof (mostly for testing)\n(run* (drug p) (triple/subclass+ drug \"biolink:ameliorates\" p diabetes))\n\n;; ... and drugs that ameliorate (or a subclass thereof) diabetes (or a subclass thereof)\n(run* (drug p^ diabetes^) \n  (triple/subclass drug \"biolink:ameliorates\" p^ diabetes^)\n  (subclass-of* diabetes^ diabetes))\n\n;; ... there is a single relation that does reasoning on all three elements\n;; but it can take a long time with run*\n(run 1 (drug drug^ p diabetes^) \n  (triple/reasoning drug drug^ \"biolink:ameliorates\" p diabetes diabetes^))\n\n(define gene \"NCBIGene:7422\")\n\n(run* o (triple gene \"biolink:regulates\" o))\n\n(run 10 (o p) (triple/subclass+ gene \"biolink:regulates\" p o))\n\n;; ;; From working with Thi\n;; (run* (graph drug d name) (quad graph drug \"biolink:treats\" d) (subclass-of+ d diabetes) (cprop drug \"name\" name))\n;; (run 1 (d name dc dcname) (is-a d \"biolink:Drug\") (subclass-of d dc) (cprop d \"name\" name) (cprop dc \"name\" dcname))\n;; (run 10 (d name dc dcname) (is-a d \"biolink:Drug\") (subclass-of d dc) (cprop d \"name\" name) (cprop dc \"name\" dcname))\n;; (run 10 (d name dc dcc dcname) (is-a d \"biolink:Drug\") (subclass-of d dc) (cprop d \"name\" name) (cprop dc \"name\" dcname) (is-a dc dcc))\n;; (run 10 (drug name dc dcc dcname) (is-a drug \"biolink:Drug\") (subclass-of drug dc) (cprop drug \"name\" name) (cprop dc \"name\" dcname) (is-a dc dcc))\n;; (run 10 (drug name dc dcc dcname) (is-a drug \"biolink:Drug\") (subclass-of drug dc) (cprop drug \"name\" name) (cprop dc \"name\" dcname) (is-a dc dcc))\n;; (run* (k v) (cprop    \"CHEBI:65259\" k v))\n;; (run* (drug name) (subclass-of+     \"CHEBI:65259\" drug) (cprop drug \"name\" name))\n;; \"../../medikanren2/lw-reasoning.rkt\"> (run* (drug name) (subclass-of+ drug    \"CHEBI:51374\") (cprop drug \"name\" name))\n;; (run* (drug name) (triple drug \"biolink:has_attribute\" \"CHEBI:65259\") (cprop drug \"name\" name))\n;; (run* (drug name) (triple drug \"biolink:subclass_of\" \"CHEBI:65259\") (cprop drug \"name\" name))\n\n\n\n(define gene-to-disease-preds '(\"biolink:affects\" ;rtx2_2021_02_04\n                                \"biolink:biomarker_for\" ;rtx2_2021_02_04\n                                \"biolink:causes\" ;rtx2_2021_02_04\n                                \"biolink:contributes_to\" ;rtx2_2021_02_04\n                                \"biolink:correlated_with\" ;rtx2_2021_02_04\n                                \"biolink:disrupts\" ;rtx2_2021_02_04\n                                \"biolink:gene_associated_with_condition\" ;rtx2_2021_02_04\n                                \"biolink:has_phenotype\" ;rtx2_2021_02_04\n                                \"biolink:manifestation_of\" ;rtx2_2021_02_04\n                                \"biolink:participates_in\" ;rtx2_2021_02_04\n                                \"biolink:predisposes\" ;rtx2_2021_02_04\n                                \"biolink:prevents\" ;rtx2_2021_02_04\n                                \"biolink:treats\" ;rtx2_2021_02_04\n                                \"biolink:contributes_to_morphology_of\" ;rtx2_2021_02_0\n                                ))\n\n(define gene-or-protein '(\"biolink:Gene\"\n                          \"biolink:GeneFamily\"\n                          \"biolink:GeneProduct\"\n                          \"biolink:GenomicEntity\"\n                          \"biolink:MacromolecularComplex\"\n                          \"biolink:MolecularEntity\"\n                          \"biolink:Protein\")) \n\n\n\n;; synonyms\n\n(define anxiety \"HP:0000739\")\n(define apnea \"HP:0002104\")\n(define epilepsy \"MONDO:0005027\")\n(define vomiting \"HP:0002013\")\n(define spasticity \"HP:0001257\")\n(define ID \"HP:0001249\")\n(define gas-reflux \"HP:0002020\")\n(define autism \"MONDO:0005260\")\n\n; some of the phenotypes are not actionable (no drugs)\n;(define feeding-diff \"HP:0011968\") ;; no drugs for this phenotype\n;(define flat-nose \"HP:0000457\")\n;(define loss-speech \"HP:0002371\")\n;(define low-set-ears \"HP:0000369\")\n;(define microcephaly \"HP:0000252\")\n;(define small-stature \"HP:0004322\")\n;(define small-teeth \"HP:0000691\")\n;(define speech-delay \"HP:0000750\")\n;(define global-dev-delay \"HP:0001263\")\n;(define episodic-vomit \"HP:0002572\")\n;(define nystagmus \"HP:0000639\")\n;(define strabismus \"HP:0000486\")\n\n(define anxiety \"HP:0000739\")\n(define anxieties (cons anxiety (run* a (direct-synonym anxiety a))))\n;; human-readable\n;; (run* (a name) \n;;   (fresh (syn)\n;;     (membero syn anxieties)\n;;     (subclass-of+ a syn)\n;;     (cprop a \"name\" name))))\n(define sub-anxieties\n  (remove-duplicates\n   (run* a \n     (fresh (syn) \n       (membero syn anxieties)\n       (subclass-of* a syn)))))\n(define sub-anxieties-synonyms\n  (remove-duplicates\n   (run* a\n     (fresh (anx)\n       (membero anx sub-anxieties)\n       (conde ((direct-synonym anx a))\n              ((direct-synonym a anx)))))))\n(define phens sub-anxieties-synonyms)\n;; why so long? (take out constraints, runs faster)\n(time (run 10 (gene name p phenotype pname) \n     (fresh (cat) \n       (triple gene p phenotype)\n       (membero cat gene-or-protein)\n       (membero phenotype phens)\n       (membero p gene-to-disease-preds)\n       (is-a gene cat)\n       (cprop gene \"name\" name)\n       (cprop phenotype \"name\" pname)\n       )))\n\n\n;; performance puzzle\n\n(time (length (run 100 (gene p phenotype ) \n         (triple gene p phenotype)\n       (membero phenotype phens)\n)))\n\n(time (length (run 100 (gene p phenotype ) \n         (triple gene p phenotype)\n       (membero phenotype phens)\n       (membero p gene-to-disease-preds))))\n\n(time (length (run 100 (gene p phenotype ) \n     (fresh (cat) \n       (triple gene p phenotype)\n       (membero cat gene-or-protein)\n       (membero phenotype phens)\n       (membero p gene-to-disease-preds)\n       ))))\n"
  },
  {
    "path": "contrib/medikanren2/neo/Andy/simple-query.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n(define (concept->name curie)\n  (let ((id-name-val\n         (remove-duplicates (filter (lambda (cl)\n                                      (and (equal? (car cl) curie)\n                                           (equal? (cadr cl) \"name\")))\n                                    (query:Concept (list curie))))))\n        (if (null? id-name-val)\n            curie\n            (caddar id-name-val))))\n\n(define (concept->category curie)\n  (let ((category (assoc \"category\" (curie->properties curie))))\n    (if category (cdr category) '())))\n\n(define (one-hop-results->jsexpr results)\n  (let loop ((results results)\n             (edges (set))\n             (nodes (set)))\n    (cond\n      ((null? results) (hasheq 'nodes (set->list nodes) 'edges (set->list edges)))\n      (else (let ((res (car results)))\n              (match res\n                (`(,subj ,pred ,obj . ,props)\n                 (loop (cdr results)\n                       (set-add edges (hasheq 'source subj 'target obj))\n                       (set-add (set-add nodes (hasheq 'id subj\n                                                       'label (concept->name subj)\n                                                       'category_label (concept->category subj)))\n                                (hasheq 'id obj\n                                        'label (concept->name obj)\n                                        'category_label (concept->category obj)))))))))))\n\n(define (two-hop-results->jsexpr results)\n  (let loop ((results results)\n             (edges (set))\n             (nodes (set)))\n    (cond\n      ((null? results) (hasheq 'nodes (set->list nodes) 'edges (set->list edges)))\n      (else (let ((res (car results)))\n              (match res\n                (`(,subj1 ,pred1 ,X ,pred2 ,obj2 . ,props)\n                 (loop (cdr results)\n                       (set-add (set-add edges (hasheq 'source subj1 'target X))\n                                (hasheq 'source X 'target obj2))\n                       (set-add (set-add (set-add nodes (hasheq 'id subj1\n                                                                'label (concept->name subj1)\n                                                                'category_label (concept->category subj1)))\n                                         (hasheq 'id obj2\n                                                 'label (concept->name obj2)\n                                                 'category_label (concept->category obj2)))\n                                (hasheq 'id X\n                                        'label (concept->name X)\n                                        'category_label (concept->category X)))))))))))\n\n\n\n\n(define regulates-EGFR\n  (time (query:X->Known\n         #f\n         (set->list\n          (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n           '(\"biolink:regulates\")))\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list \"HGNC:3236\")))))))\n\n#|\nThis is all that is required:\n{\n  \"nodes\": [\n    { \"id\": \"node1\", \"label\": \"Node 1\" },\n    { \"id\": \"node2\", \"label\": \"Node 2\" },\n    { \"id\": \"node3\", \"label\": \"Node 3\" }\n  ],\n  \"edges\": [\n    { \"source\": \"node1\", \"target\": \"node2\" },\n    { \"source\": \"node2\", \"target\": \"node3\" }\n  ]\n}\nI use the curie as the ID and the name as the label for nodes and get the categories as well.\nThen also get the predicate and qualifiers,  from the edge, but have not used that much. So, if It hard to break out then I can go without for now.\n|#\n\n\n(let ((op (open-output-file \"X-regulates-EGFR.json\" #:mode 'text #:exists 'replace)))\n  (write-json (one-hop-results->jsexpr regulates-EGFR) op)\n  (close-output-port op))\n\n\n\n#|\nGene1 - any node - Disease 1\n\nprobably should exclude `biolink:same_as` as a predicate\n|#\n\n(define (gene->any->disease gene disease)\n  (time (query:Known->X->Known\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list gene))))\n         (set->list\n          (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db\n           '(\"biolink:affects\"  \"biolink:interacts_with\")))\n         #f\n         (set->list\n          (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db\n           '(\"biolink:affects\"  \"biolink:interacts_with\")))\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list disease)))))))\n\n;; BRCA2 and breast cancer\n(define BRCA2->any->breast-cancer\n  (gene->any->disease \"HGNC:1101\" \"MONDO:0007254\"))\n\n(let ((op (open-output-file \"BRCA2->any->breast-cancer.json\" #:mode 'text #:exists 'replace)))\n  (write-json (two-hop-results->jsexpr BRCA2->any->breast-cancer) op)\n  (close-output-port op))\n"
  },
  {
    "path": "contrib/medikanren2/neo/Kaiwen/auto-grow-example.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n racket/set)\n\n;; Numbers of the top bucket of the RoboKop KG, Text Mining KG, and RTX-KG2 KG.\n(define TOP_BUCKET_NUMBERS (list (list (get-highest-bucket-number-robokop))\n                                 (list (get-highest-bucket-number-text-mining))\n                                 (list (get-highest-bucket-number-rtx-kg2))))\n\n;; a comparison between one-hop query with or without using the bucket setting\n(define regulates-EGFR\n  (time (query:X->Known\n         #f\n         '(\"biolink:regulates\")\n         (curies->synonyms-in-db (list \"HGNC:3236\")))))\n(length regulates-EGFR)\n; 44\n\n(define regulates-EGFR-faster\n  (time (query:X->Known-scored\n         #f\n         '(\"biolink:regulates\")\n         (curies->synonyms-in-db (list \"HGNC:3236\"))\n         TOP_BUCKET_NUMBERS)))\n(length regulates-EGFR-faster)\n; 0\n\n;; There is a problem when we use the bucketing approach is that we might \n;; receive zero answer from the buckets that has a higer score (amount of supports).\n;; Hence, you can either manually decrease the bucket number and redo the\n;; query, or you may write a procedure to realize auto growing until reach\n;; the amount of answers you want, like the procedure auto-grow shown below.\n\n\n;; The procedure 1-hop-proc takes a list of bucket numbers.\n(define (1-hop-proc bucket*)\n  (query:X->Known-scored\n         #f\n         '(\"biolink:regulates\")\n         (curies->synonyms-in-db (list \"HGNC:3236\"))\n         bucket*))\n\n;; The procedure auto-grow takes a query procedure (how do you want to\n;; query against the mediKanren neo server?), a list of buket numbers to\n;; start with, and a number representing the least amount of anwers\n;; you expected to receive. It is possible you do not get 'enough'\n;; answers, it is because those are all the answers it can return\n;; from the KGs. You may try to modify the 1-hop-proc to get more:\n;; more input curies, taking the subclasses of it/them, etc. \n(define example (time (auto-grow 1-hop-proc TOP_BUCKET_NUMBERS 100)))\n(length example)\n; 44\n\n\n;; The implementation of auto-grow is constomized with the need of the\n;; mediKanren neo-server. So it starts querying with the given\n;; list of bucket numbers and decreases the level of confidency (score of\n;; the edge) each round. It does not have to behavior this way. You may\n;; write your own procedure to achieve a different goal.\n\n;; A trick to not query against a specific KG can be achived by manually\n;; set the bucket number to be #f, like (#f '(10) '(10)) which means\n;; 'I would not like answers from the robokop KG, and please querying\n;; text-mining KG and rtx-kg2 KG with the bucket 10 for each.'. As you\n;; may have noticed from the definition of TOP_BUCKET_NUMBERS, the bucket list\n;; represents the KGs in the order of robokop, text-mining, and rtx-kg2.\n(define regulates-EGFR-ramdom\n  (time (query:X->Known-scored\n         #f\n         '(\"biolink:regulates\")\n         (curies->synonyms-in-db (list \"HGNC:3236\"))\n         (list #f '(10) '(10)))))\n(length regulates-EGFR-ramdom)\n; 0\n"
  },
  {
    "path": "contrib/medikanren2/neo/Kaiwen/mayo-gene-list.rkt",
    "content": "#lang racket\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-command-line-interface/utils.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n )\n\n(define file-name \"gene_list_medikanren_merged.csv\")\n(define in (open-input-file file-name))\n\n(define genes\n  (let* ((header (read-line in 'any))\n         (header (string-split header \",\" #:trim? #f)))\n    (let loop ((line-str (read-line in 'any))\n               (genes '()))\n      (cond\n        ((eof-object? line-str)\n         (close-input-port in)\n         (printf \"finished processing gene curies\")\n         genes)\n        (else\n         (let* ((line (string-split line-str \",\" #:trim? #f))\n                (curie (cadr line))\n                (curie (string-append \"ENSEMBL:\" curie)))\n           (loop (read-line in 'any) (cons curie genes))))))))\n\n(define genes+ (curie->gene/protein-conflation (curies->synonyms genes)))\n\n(define (write-answers edge* path)\n  (write-list-to-tsv\n   '(\"subject_curie\"\n     \"subject_name\"\n     \"subject_categories\"\n     \"gene_curie\"\n     \"gene_name\"\n     \"predicate\"\n     \"qualified_predicate\"\n     \"object_aspect_qualifier\"\n     \"object_direction_qualifier\"\n     \"publications\"\n     \"publication_count\"\n     \"edge_source\"\n     )\n   (map (lambda (e)\n          (match e\n            [`(,sub ,pred ,obj . ,prop)\n             (let* ((qualified-pred (get-assoc \"qualified_predicate\" prop))\n                    (object-aspect-qualifier (get-assoc \"object_aspect_qualifier\" prop))\n                    (object-direction-qualifier (get-assoc \"object_direction_qualifier\" prop))\n                    (source (get-assoc \"primary_knowledge_source\" prop))\n                    (publications (get-publications prop))\n                    (publication-count (length publications))\n                    )\n               (list\n                sub\n                (curie->name-remember sub)\n                (curie->categories-remember sub)\n                obj\n                (curie->name-remember obj)\n                pred\n                (if qualified-pred qualified-pred \"not apply\")\n                (if object-aspect-qualifier object-aspect-qualifier \"not apply\")\n                (if object-direction-qualifier object-direction-qualifier \"not apply\")\n                publications\n                publication-count\n                source\n                ))]\n            [else '()]))\n        (remove-duplicates edge*))\n   path))\n\n(define (mediKanren-activates curie* path)\n  (write-answers\n   (filter\n    activate-edge-filter\n   (query:X->Known\n    (set->list (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db '(\"biolink:ChemicalOrDrugOrTreatment\")))\n    '(\"biolink:has_increased_amount\"\n      \"biolink:affects\"\n      \"biolink:produces\"\n      \"biolink:regulates\"\n      \"biolink:enables\"\n      ;\"biolink:treats\"\n      \"biolink:positively_correlated_with\"\n      ;\"biolink:ameliorates\"\n      )\n    curie*))\n   path))\n\n(define (mediKanren-inhibits curie* path)\n  (write-answers\n   (filter\n    inhibite-edge-filter\n    (query:X->Known\n     (set->list (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db '(\"biolink:ChemicalOrDrugOrTreatment\")))\n     '(\"biolink:prevents\"\n       \"biolink:affects\"\n       \"biolink:regulates\"\n       \"biolink:has_decreased_amount\"\n       \"biolink:disrupts\"\n       \"biolink:negatively_correlated_with\")\n     curie*))\n   path))\n\n;(time (mediKanren-activates genes+ \"drugmix_activate_genes.tsv\"))\n;(time (mediKanren-inhibits genes+ \"drugmix_inhibit_genes.tsv\"))"
  },
  {
    "path": "contrib/medikanren2/neo/Mayu/achromatopsia-query.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers.rkt\"\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n#|\nWhat treats achromatopsia (color blindness)?\n\nAn associated gene:\nCNGB3\n\nACHM3\n|#\n\n;; achromatopsia (DOID:13911)\n(define all-achromatopsia-curies\n  (get-descendent-curies*-in-db\n   (curies->synonyms-in-db\n    (list \"DOID:13911\"))))\n;; http://www.informatics.jax.org/disease/DOID:13911\n;; ICD10CM:H53.51, ICD9CM:368.54, MESH:D003117, NCI:C84528, ORDO:49382, UMLS_CUI:C0152200 \n'(\"DOID:0050679\"\n  \"UMLS:C0339537\"\n  \"MONDO:0014677\"\n  \"MESH:C536021\"\n  \"ORPHANET:16\"\n  \"DOID:13911\"\n  \"MONDO:0010563\"\n  \"ORPHANET:49382\"\n  \"NCIT:C84528\"\n  \"MONDO:0009003\"\n  \"HP:0011516\"\n  \"UMLS:C0152200\"\n  \"MONDO:0012398\"\n  \"DOID:0110009\"\n  \"DOID:0110007\"\n  \"DOID:0110008\"\n  \"DOID:0110010\"\n  \"MONDO:0013465\"\n  \"MONDO:0009875\"\n  \"UMLS:C0302129\"\n  \"MONDO:0018852\")\n\n;; achromatopsia 3 (DOID:0110008)\n(define all-achromatopsia3-curies\n  (get-descendent-curies*-in-db\n   (curies->synonyms-in-db\n    (list \"DOID:0110008\"))))\n;; http://www.informatics.jax.org/disease/DOID:0110008\n;; ACHM1; ACHM3; Pingelapese blindness; RMCH1; rod monochromacy 1; rod monochromatism 1 \n'(\"OMIM:262300\"\n \"OMIM:MTHU004637\"\n \"DOID:0110008\"\n \"MONDO:0009875\"\n \"OMIM:MTHU005722\"\n \"OMIM:MTHU028493\"\n \"OMIM:MTHU002321\"\n \"OMIM:MTHU023011\"\n \"OMIM:MTHU023012\"\n \"OMIM:MTHU023013\"\n \"OMIM:MTHU023014\"\n \"OMIM:MTHU036378\"\n \"UMLS:C1849792\"\n \"MESH:C536129\")\n\n\n;; What treats achromatopsia?\n(define achromatopsia-treatments\n  (query:X->Known\n   ;; Looking for any type of treatment\n   #f\n   ;; list of predicates\n   (set->list (get-predicate-descendents-in-db \"biolink:treats\"))\n   ;; list of known CURIES (for achromatopsia)\n   (set->list all-achromatopsia-curies)))\n;; =>\n'((\"UMLS:C0009836\"\n   \"Contact Lenses\"\n   \"biolink:treats\"\n   \"UMLS:C0302129\"\n   \"Achromatopsia 1\"\n   (\"id\" \"UMLS:C0009836---SEMMEDDB:treats---UMLS:C0302129---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0302129\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:315420\")\n   (\"publications_info\"\n    \"{\\\"PMID:315420\\\": {\\\"publication date\\\": \\\"1979 Jul\\\", \\\"sentence\\\": \\\"A young female rod monochromat is treated optometrically with binocular contact lenses to relieve light dazzlement and a monocular lens to improve hue discrimination.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 836}}\")\n   (\"subject\" \"UMLS:C0009836\"))\n  \n  (\"UMLS:C0012315\"\n   \"Dihydropyridines\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C0012315---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:33827965\")\n   (\"publications_info\"\n    \"{\\\"PMID:33827965\\\": {\\\"publication date\\\": \\\"2021 Apr 07\\\", \\\"sentence\\\": \\\"Active compounds and our structure-activity correlated data for the dihydropyridine compound class may provide valuable information for developing a treatment of the trafficking defect in achromatopsia.\\\", \\\"subject score\\\": 851, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"UMLS:C0012315\"))\n  \n  (\"UMLS:C0220825\"\n   \"Evaluation\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C0220825---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:32881472\")\n   (\"publications_info\"\n    \"{\\\"PMID:32881472\\\": {\\\"publication date\\\": \\\"2020 Aug 03\\\", \\\"sentence\\\": \\\"Methods: Affected members from three pedigrees with classical enhanced S-cone syndrome (ESCS; Pedigree 1), congenital stationary night blindness (CSNB; Pedigree 2), and achromatopsia (ACHM; Pedigree 3), respectively, underwent detailed ophthalmologic evaluation, optical coherence tomography, and electroretinography.\\\", \\\"subject score\\\": 851, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"UMLS:C0220825\"))\n  \n  (\"UMLS:C0699680\"\n   \"Metric (substance)\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C0699680---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:25277229\")\n   (\"publications_info\"\n    \"{\\\"PMID:25277229\\\": {\\\"publication date\\\": \\\"2014 Oct 02\\\", \\\"sentence\\\": \\\"CONCLUSIONS: We present cone reflectivity as a metric that can be used to characterize cone structure in ACHM.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"UMLS:C0699680\"))\n  \n  (\"UMLS:C1261322\"\n   \"Evaluation procedure\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C1261322---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:25103266|PMID:28145975|PMID:30513534\")\n   (\"publications_info\"\n    \"{\\\"PMID:25103266\\\": {\\\"publication date\\\": \\\"2014 Aug 07\\\", \\\"sentence\\\": \\\"METHODS: Thirty-eight molecularly confirmed ACHM subjects underwent serial assessments, including spectral domain optical coherence tomography (SD-OCT), microperimetry, and fundus autofluorescence (FAF).\\\", \\\"subject score\\\": 872, \\\"object score\\\": 740}, \\\"PMID:28145975\\\": {\\\"publication date\\\": \\\"2017 Oct\\\", \\\"sentence\\\": \\\"REPEATABILITY AND LONGITUDINAL ASSESSMENT OF FOVEAL CONE STRUCTURE IN CNGB3-ASSOCIATED ACHROMATOPSIA.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 827}, \\\"PMID:30513534\\\": {\\\"publication date\\\": \\\"2018 Dec 03\\\", \\\"sentence\\\": \\\"Longitudinal Assessment of Retinal Structure in Achromatopsia Patients With Long-Term Follow-up.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 888}}\")\n   (\"subject\" \"UMLS:C1261322\"))\n  \n  (\"UMLS:C0021102\"\n   \"Implants\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C0021102---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:26567794\")\n   (\"publications_info\"\n    \"{\\\"PMID:26567794\\\": {\\\"publication date\\\": \\\"2015 Oct\\\", \\\"sentence\\\": \\\"However, testing CNTF-releasing implant in human CNGB3 achromats failed to show benefit.\\\", \\\"subject score\\\": 868, \\\"object score\\\": 749}}\")\n   (\"subject\" \"UMLS:C0021102\"))\n  \n  (\"UMLS:C0009836\"\n   \"Contact Lenses\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C0009836---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:17208670|PMID:17601566\")\n   (\"publications_info\"\n    \"{\\\"PMID:17601566\\\": {\\\"publication date\\\": \\\"2007 Jul\\\", \\\"sentence\\\": \\\"The use of tinted contact lenses in the management of achromatopsia.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 1000}, \\\"PMID:17208670\\\": {\\\"publication date\\\": \\\"2007 Jan\\\", \\\"sentence\\\": \\\"The use of tinted contact lenses in the management of achromatopsia.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"UMLS:C0009836\"))\n  \n  (\"UMLS:C0087111\"\n   \"Therapeutic procedure\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C0087111---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:29926749|PMID:30289319\")\n   (\"publications_info\"\n    \"{\\\"PMID:29926749\\\": {\\\"publication date\\\": \\\"2018 Jul 30\\\", \\\"sentence\\\": \\\"The purpose of this study was to evaluate long-term efficacy and safety results of treatment, findings that hold great relevance for clinical trials that started recently in CNGA3 achromatopsia patients.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 790}, \\\"PMID:30289319\\\": {\\\"publication date\\\": \\\"2018 Dec\\\", \\\"sentence\\\": \\\"CONCLUSIONS: These novel variants expand the genotypes associated with ACHM and may help in future therapy development for ACHM.\\\", \\\"subject score\\\": 851, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"UMLS:C0087111\"))\n  \n  (\"UMLS:C0011900\"\n   \"Diagnosis\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C0011900---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:29257187\")\n   (\"publications_info\"\n    \"{\\\"PMID:29257187\\\": {\\\"publication date\\\": \\\"2018 Mar 01\\\", \\\"sentence\\\": \\\"The purpose of this review was to survey the current knowledge on diagnosis and treatment options in achromatopsia.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"UMLS:C0011900\"))\n  \n  (\"UMLS:C1304648\"\n   \"Gene replacement therapy\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C1304648---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:26407004\")\n   (\"publications_info\"\n    \"{\\\"PMID:26407004\\\": {\\\"publication date\\\": \\\"2015\\\", \\\"sentence\\\": \\\"These newly characterized large animal models not only provide a valuable system for studying cone-specific CNG channel function in health and disease, but also represent prime candidates for proof-of-concept studies of CNGA3 gene replacement therapy for ACHM patients.\\\", \\\"subject score\\\": 923, \\\"object score\\\": 888}}\")\n   (\"subject\" \"UMLS:C1304648\"))\n  \n  (\"UMLS:C1533685\"\n   \"Injection procedure\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C1533685---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:28478700\")\n   (\"publications_info\"\n    \"{\\\"PMID:28478700\\\": {\\\"publication date\\\": \\\"2017 06\\\", \\\"sentence\\\": \\\"Safety and Efficacy Evaluation of rAAV2tYF-PR1.7-hCNGA3 Vector Delivered by Subretinal Injection in CNGA3 Mutant Achromatopsia Sheep.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 775}}\")\n   (\"subject\" \"UMLS:C1533685\"))\n  \n  (\"UMLS:C1520007\"\n   \"Viral Vector\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C1520007---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:26603570\")\n   (\"publications_info\"\n    \"{\\\"PMID:26603570\\\": {\\\"publication date\\\": \\\"2016 Jan\\\", \\\"sentence\\\": \\\"These results have informed the design of an AAV vector for treatment of patients with achromatopsia.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"UMLS:C1520007\"))\n  \n  (\"UMLS:C1511790\"\n   \"Detection\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C1511790---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\" \"PMID:32531858|PMID:3486271\")\n   (\"publications_info\"\n    \"{\\\"PMID:3486271\\\": {\\\"publication date\\\": \\\"1986 Feb\\\", \\\"sentence\\\": \\\"Threshold detection for sine-wave grating stimuli of varying spatial and temporal frequency was used to investigate the nature of spatial and temporal post-receptoral sensitivity in the typical, complete achromat.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 740}, \\\"PMID:32531858\\\": {\\\"publication date\\\": \\\"2020 Jun 12\\\", \\\"sentence\\\": \\\"We achieved a molecular diagnostic rate of 35%-95%, depending on the clinical entities, with a high detection rate for achromatopsia, retinoschisis and choroideremia, and a low detection rate for central areolar choroidal dystrophy and macular dystrophy.\\\", \\\"subject score\\\": 851, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"UMLS:C1511790\"))\n  \n  (\"UMLS:C0017296\"\n   \"gene therapy\"\n   \"biolink:treats\"\n   \"UMLS:C0152200\"\n   \"Achromatopsia\"\n   (\"id\" \"UMLS:C0017296---SEMMEDDB:treats---UMLS:C0152200---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C0152200\")\n   (\"predicate\" \"biolink:treats\")\n   (\"publications\"\n    \"PMID:20378608|PMID:22882429|PMID:23141518|PMID:24658860|PMID:25616768|PMID:25855802|PMID:26087757|PMID:26196097|PMID:28095637|PMID:29259520|PMID:30324456|PMID:32352493|PMID:33528822|PMID:34006508\")\n   (\"publications_info\"\n    \"{\\\"PMID:24658860\\\": {\\\"publication date\\\": \\\"2014 Mar\\\", \\\"sentence\\\": \\\"The outstanding results derived from the animal model are the starting point for the first human translation of a gene therapy for achromatopsia in Germany.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:23141518\\\": {\\\"publication date\\\": \\\"2012 Aug\\\", \\\"sentence\\\": \\\"With the development of molecular genetics and the therapeutic gene replacement technology, the adeno-associated viral (AAV) vector-mediated gene therapy for achromatopsia in the preclinical animal experiments achieved encouraging progress in the past years.\\\", \\\"subject score\\\": 763, \\\"object score\\\": 1000}, \\\"PMID:22882429\\\": {\\\"publication date\\\": \\\"2012 Sep\\\", \\\"sentence\\\": \\\"Recent successes in using gene therapy to treat canine achromatopsia, X-linked progressive retinal atrophy (PRA) and the more severe rapid degenerations such as rod-cone dysplasia type 3 may lead also to the translation to human clinical trials.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 888}, \\\"PMID:20378608\\\": {\\\"publication date\\\": \\\"2010 Jul 01\\\", \\\"sentence\\\": \\\"Our results hold promise for future clinical trials of cone-directed gene therapy in achromatopsia and other cone-specific disorders.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 1000}, \\\"PMID:29259520\\\": {\\\"publication date\\\": \\\"2017 12\\\", \\\"sentence\\\": \\\"The evidence to date suggests that gene therapy for achromatopsia will need to be applied early in childhood to be effective.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:25855802\\\": {\\\"publication date\\\": \\\"2015 Jul 01\\\", \\\"sentence\\\": \\\"Demonstration of gene therapy in a cone-dominant mouse model by IVit delivery provides a potential alternative vector delivery mode for safely transducing foveal cones in achromatopsia patients and in other human retinal diseases affecting foveal function.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 888}, \\\"PMID:26087757\\\": {\\\"publication date\\\": \\\"2015 Sep\\\", \\\"sentence\\\": \\\"The results support future application of subretinal AAV5-mediated gene-augmentation therapy in CNGA3 achromatopsia patients.\\\", \\\"subject score\\\": 803, \\\"object score\\\": 790}, \\\"PMID:28095637\\\": {\\\"publication date\\\": \\\"2017 Mar\\\", \\\"sentence\\\": \\\"Gene therapy for achromatopsia.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:30324456\\\": {\\\"publication date\\\": \\\"2019\\\", \\\"sentence\\\": \\\"One example is gene therapy for achromatopsia which affects daylight vision.\\\", \\\"subject score\\\": 812, \\\"object score\\\": 1000}, \\\"PMID:25616768\\\": {\\\"publication date\\\": \\\"2015 May\\\", \\\"sentence\\\": \\\"The present study took steps toward performing a trial of gene therapy in ACHM by characterizing the genetics of ACHM in Israel and the Palestinian Territories and analyzing retinal function and structure in CNGA3 ACHM patients from the Israeli-Palestinian population and US patients with other origins.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:26196097\\\": {\\\"publication date\\\": \\\"2015 Jul\\\", \\\"sentence\\\": \\\"The potential for the treatment of achromatopsia in humans with gene therapy shows great promise.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:32352493\\\": {\\\"publication date\\\": \\\"2020 Apr 30\\\", \\\"sentence\\\": \\\"Objective: To assess safety and vision outcomes of supplemental gene therapy with adeno-associated virus (AAV) encoding CNGA3 (AAV8.CNGA3) in patients with CNGA3-linked achromatopsia.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 840}, \\\"PMID:33528822\\\": {\\\"publication date\\\": \\\"2021 Feb 02\\\", \\\"sentence\\\": \\\"RESULTS: Various adenovirus vectors have been deployed to test the efficacy of gene therapy for achromatopsia in animals and humans.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:34006508\\\": {\\\"publication date\\\": \\\"2021 May 18\\\", \\\"sentence\\\": \\\"AIMS: To determine long-term safety and efficacy outcomes of a subretinal gene therapy for CNGA3-associated achromatopsia.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 802}}\")\n   (\"subject\" \"UMLS:C0017296\"))\n  )\n"
  },
  {
    "path": "contrib/medikanren2/neo/Mayu/alz-query-revisited-multi-db-query.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n;; Can we now answer the old Alz query?\n\n;; Which proteins with SH3 domains interact with tau protein in humans?\n\n;; tau protein has CURI UniProtKB:P10636\n\n;; find tau protein synonyms:\n(define tau-protein-synonyms\n  (curies->synonyms-in-db\n   (list \"UniProtKB:P10636\")))\n\ntau-protein-synonyms\n;;=>\n'(\"UMLS:C1446659\"\n  \"REACT:R-HSA-201574\"\n  \"REACT:R-HSA-9619519\"\n  \"ENSEMBL:ENSG00000186868\"\n  \"NCBIGene:4137\"\n  \"REACT:R-HSA-350628\"\n  \"HGNC:6893\"\n  \"PR:P10636\"\n  \"OMIM:157140\"\n  \"REACT:R-HSA-9619521\"\n  \"UniProtKB:P10636\"\n  \"REACT:R-HSA-350642\")\n\n(length tau-protein-synonyms)\n;; =>\n12\n\n\n;; We can get more CURIs by considering descendents of the synonyms:\n(define tau-protein-synonyms-and-descendents\n  (set->list\n   (get-descendent-curies*-in-db\n    (curies->synonyms-in-db\n     (list \"UniProtKB:P10636\")))))\n\n(length tau-protein-synonyms-and-descendents)\n;;=>\n141\n\n;; These synonyms include lots of Protein Ontology (PR) entries (not sure if all are human).\n;; Not sure if we want these descendent CURIs.\n\n;; We will want to see which proteins interact with tau proteins.\n;; The correct Biolink predicate seems to be:\n;; \"biolink:interacts_with\"\n\n;; We need to find proteins with SH3 domains.\n\n;; Let's find the concept(s) of 'SH3 domain', without including\n;; proteins with 'SH3' in the protein name.  We want proteins that\n;; include SH3 domains, rather than proteins with SH3 in their name\n;; (of course, there may be overlap!).\n\n;; Protein category:\n;; \"biolink:Protein\"\n\n;; Might also want to include gene.\n\n;; The mixin biolink:GeneOrGeneProduct seems most appropriate.\n;; Make sure that we handle biolink:GeneOrGeneProduct correctly.\n\n(get-non-deprecated-mixed-ins-and-descendent-classes*-in-db '(\"biolink:GeneOrGeneProduct\"))\n;; =>\n(set\n \"biolink:ProteinIsoform\"\n \"biolink:GeneProductIsoformMixin\"\n \"biolink:GeneOrGeneProduct\"\n \"biolink:Protein\"\n \"biolink:GeneProductMixin\"\n \"biolink:Gene\")\n\n#|\nprotein with SH3 domains\nInterPro IPR001452 (SH3 domain)\nhttp://www.ebi.ac.uk/interpro/entry/InterPro/IPR001452/?species=9606\nPfam PF00018 (SH3 domain)\nDo we have InterPro or Pfam info?  Neither \"Pfam:PF00018\" nor \"InterPro:IPR001452\" have any synonyms in the current KGs.  Do I have the right CURIs?\n|#\n\n;; Try the name resolver SRI service\n;; https://name-resolution-sri.renci.org/docs#/lookup/lookup_curies_lookup_post\n;; Lookup: \"SH3 domain\"\n\n;; Get back:\n#|\n\"NCIT:C13340\" (\"SH3 Domain\",\"SRC Homology Region 3 Domain\")\n\"UMLS:C0282535\" (\"SH3 Domain\",\"SH3 Domains\",\"SH Z 003 DOMAIN\",\"SRC Homology Region 3 Domain\")\n\"NCIT:C14109\" (\"SH3-Binding Domain\",\"SH3-Binding Motif\")\n\"GO:0017124\" (\"SH3 domain binding\")\n\"UMLS:C1519141\" (\"SH3-Binding Domain\",\"SH3-Binding Motif\")\n\"UMLS:C1149349\" (\"SH3 domain binding\"),\n\"PANTHER.FAMILY:PTHR15706\" (\"SH3 MULTIPLE DOMAIN\")\n|#\n\n(set->list\n (get-descendent-curies*-in-db\n  (curies->synonyms-in-db\n   (list \"NCIT:C13340\"\n         \"UMLS:C0282535\"\n         \"NCIT:C14109\"\n         \"GO:0017124\"\n         \"UMLS:C1519141\"\n         \"UMLS:C1149349\"\n         \"PANTHER.FAMILY:PTHR15706\"))))\n;;=>\n'(\"UMLS:C1519141\"\n  \"NCIT:C14109\"\n  \"NCIT:C14110\"\n  \"UMLS:C1149349\"\n  \"UMLS:C0282535\"\n  \"GO:0017124\"\n  \"NCIT:C13340\"\n  \"PANTHER.FAMILY:PTHR15706\")\n\n;; Need to find proteins with the SH3 domain that occur in humans, that are known to interact with tau protein\n\n;; \"biolink:related_to\" and subpredicates\n\n\n(define related-to-SH3-domain-1\n  (query:X->Known\n   #f\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:related_to\")))\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"NCIT:C13340\"\n            \"UMLS:C0282535\"\n            \"NCIT:C14109\"\n            \"GO:0017124\"\n            \"UMLS:C1519141\"\n            \"UMLS:C1149349\"\n            \"PANTHER.FAMILY:PTHR15706\"))))))\n\n(define related-to-SH3-domain-2\n  (query:Known->X\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"NCIT:C13340\"\n            \"UMLS:C0282535\"\n            \"NCIT:C14109\"\n            \"GO:0017124\"\n            \"UMLS:C1519141\"\n            \"UMLS:C1149349\"\n            \"PANTHER.FAMILY:PTHR15706\"))))\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:related_to\")))\n   #f))\n\n(list->set (map (lambda (e) (match e\n                              [`(,a ,b ,c ,d ,e . ,rest)\n                               c]))\n                related-to-SH3-domain-1))\n;;=>\n(set\n \"biolink:disrupts\"\n \"biolink:related_to\"\n \"biolink:subclass_of\"\n \"biolink:coexists_with\"\n \"biolink:has_part\"\n \"biolink:regulates\"\n \"biolink:close_match\"\n \"biolink:affects\"\n \"biolink:enables\")\n\n;; Looks like \"biolink:has_part\" is the one we want.\n\n(list->set (map (lambda (e) (match e\n                              [`(,a ,b ,c ,d ,e . ,rest)\n                               c]))\n                related-to-SH3-domain-2))\n;;=>\n(set\n \"biolink:has_part\"\n \"biolink:occurs_in\"\n \"biolink:subclass_of\"\n \"biolink:actively_involved_in\"\n \"biolink:interacts_with\"\n \"biolink:located_in\"\n \"biolink:regulates\"\n \"biolink:close_match\"\n \"biolink:affects\"\n \"biolink:enables\")\n\n\n(filter (lambda (e) e)\n        (map (lambda (e) (match e\n                   [`(,a ,b ,c ,d ,e . ,rest)\n                    (if (equal? c \"biolink:has_part\")\n                        (list a b c e)\n                        #f)]))\n     related-to-SH3-domain-1))\n;;=>\n#|\n((\"NCIT:C20973\" \"Amphiphysin\" \"biolink:has_part\" \"SH3 Domain\")\n (\"NCIT:C28720\"\n  \"MYC Box-Dependent-Interacting Protein 1\"\n  \"biolink:has_part\"\n  \"SH3 Domain\")\n (\"NCIT:C30130\" \"Cdc42-Interacting Protein 4\" \"biolink:has_part\" \"SH3 Domain\")\n ...)\n|#\n\n(curies->synonyms-in-db\n (list \"NCIT:C28720\"))\n;;=>\n'(\"NCIT:C28720\")\n\n;; Hmm.  Are these NCI Thesaurus CURIs the same as UMLS?  No!!\n\n;; NCIT browser\n;; https://ncit.nci.nih.gov/ncitbrowser/pages/home.jsf?version=23.01e\n;; https://ncit.nci.nih.gov/ncitbrowser/pages/multiple_search.jsf?nav_type=terminologies\n\n;; According to the NCIT browser,\n\"NCIT:C28720\"\n;; which is 'MYC Box-Dependent-Interacting Protein 1',\n;; has synonyms:\n\"OMIM:601248\"\n\"UniProtKB:O00499\"\n\"UMLS:C0529765\"\n\n(curies->synonyms-in-db\n (list \"OMIM:601248\"))\n;; =>\n'(\"OMIM:601248\"\n  \"ENSEMBL:ENSG00000136717\"\n  \"ENSEMBL:LRG_873\"\n  \"UMLS:C4316932\"\n  \"HGNC:1052\"\n  \"PR:O00499\"\n  \"UniProtKB:O00499\"\n  \"UMLS:C1332412\"\n  \"NCBIGene:274\")\n\n(curies->synonyms-in-db\n (list \"UniProtKB:O00499\"))\n;; =>\n'(\"OMIM:601248\"\n  \"ENSEMBL:ENSG00000136717\"\n  \"UMLS:C4316932\"\n  \"REACT:R-HSA-8868265\"\n  \"HGNC:1052\"\n  \"PR:O00499\"\n  \"UniProtKB:O00499\"\n  \"UMLS:C1332412\"\n  \"NCBIGene:274\")\n\n(curies->synonyms-in-db\n (list \"UMLS:C0529765\"))\n;; =>\n'(\"UMLS:C0529765\")\n\n;; Sigh\n\n;; We don't get back the NCIT mapping, alas\n(curies->synonyms-in-db\n (list \"OMIM:601248\"\n       \"UniProtKB:O00499\"\n       \"UMLS:C0529765\"))\n;; =>\n'(\"UMLS:C0529765\"\n  \"UniProtKB:O00499\"\n  \"OMIM:601248\"\n  \"ENSEMBL:ENSG00000136717\"\n  \"ENSEMBL:LRG_873\"\n  \"UMLS:C4316932\"\n  \"REACT:R-HSA-8868265\"\n  \"HGNC:1052\"\n  \"PR:O00499\"\n  \"UMLS:C1332412\"\n  \"NCBIGene:274\")\n\n;; If we leave out \"UMLS:C0529765\"\n;; at least we get a couple of UMLSs, but not\n;; \"UMLS:C0529765\" as specified by NCIT.\n(set->list\n (get-descendent-curies*-in-db\n  (curies->synonyms-in-db\n   (list \"OMIM:601248\"\n         \"UniProtKB:O00499\"))))\n;; =>\n'(\"PR:000046483\"\n  \"UniProtKB:O00499\"\n  \"UniProtKB:O00499-6\"\n  \"UniProtKB:O00499-9\"\n  \"UMLS:C1706887\"\n  \"PR:O00499-5\"\n  \"PR:O00499-4\"\n  \"PR:O00499-7\"\n  \"PR:O00499-6\"\n  \"PR:O00499-1\"\n  \"PR:O00499-3\"\n  \"PR:O00499-2\"\n  \"PR:O00499-9\"\n  \"PR:O00499-8\"\n  \"UniProtKB:O00499-7\"\n  \"UniProtKB:O00499-8\"\n  \"ENSEMBL:ENSG00000136717\"\n  \"ENSEMBL:LRG_873\"\n  \"UniProtKB:O00499-3\"\n  \"UMLS:C4316932\"\n  \"UniProtKB:O00499-11\"\n  \"NCBIGene:274\"\n  \"UniProtKB:O00499-10\"\n  \"UniProtKB:O00499-4\"\n  \"UniProtKB:O00499-5\"\n  \"PR:O00499-11\"\n  \"UniProtKB:O00499-1\"\n  \"PR:O00499-10\"\n  \"OMIM:601248\"\n  \"UMLS:C1332412\"\n  \"REACT:R-HSA-8868265\"\n  \"HGNC:1052\"\n  \"UniProtKB:O00499-2\"\n  \"PR:O00499\")\n\n(set->list\n (get-descendent-curies*-in-db\n  (curies->synonyms-in-db\n   (list \"OMIM:601248\"\n         \"UniProtKB:O00499\"\n         \"UMLS:C0529765\"))))\n;; =>\n'(\"PR:000046483\"\n  \"UniProtKB:O00499\"\n  \"UniProtKB:O00499-6\"\n  \"UMLS:C0529765\"\n  \"UniProtKB:O00499-9\"\n  \"UMLS:C1706887\"\n  \"PR:O00499-5\"\n  \"PR:O00499-4\"\n  \"PR:O00499-7\"\n  \"PR:O00499-6\"\n  \"PR:O00499-1\"\n  \"PR:O00499-3\"\n  \"PR:O00499-2\"\n  \"PR:O00499-9\"\n  \"PR:O00499-8\"\n  \"UniProtKB:O00499-7\"\n  \"UniProtKB:O00499-8\"\n  \"ENSEMBL:ENSG00000136717\"\n  \"ENSEMBL:LRG_873\"\n  \"UniProtKB:O00499-3\"\n  \"UMLS:C4316932\"\n  \"UniProtKB:O00499-11\"\n  \"NCBIGene:274\"\n  \"UniProtKB:O00499-10\"\n  \"UniProtKB:O00499-4\"\n  \"UniProtKB:O00499-5\"\n  \"PR:O00499-11\"\n  \"UniProtKB:O00499-1\"\n  \"PR:O00499-10\"\n  \"OMIM:601248\"\n  \"UMLS:C1332412\"\n  \"REACT:R-HSA-8868265\"\n  \"HGNC:1052\"\n  \"UniProtKB:O00499-2\"\n  \"PR:O00499\")\n\n\n(curies->synonyms-in-db\n (map car\n      (filter (lambda (e) e)\n              (map (lambda (e) (match e\n                                 [`(,a ,b ,c ,d ,e . ,rest)\n                                  (if (equal? c \"biolink:has_part\")\n                                      (list a b c e)\n                                      #f)]))\n                   related-to-SH3-domain-1))))\n\n(curies->synonyms-in-db\n (map (lambda (NCIT-CURI)\n        (string-replace NCIT-CURI \"NCIT:\" \"UMLS:\"))\n      (map car\n           (filter (lambda (e) e)\n                   (map (lambda (e) (match e\n                                      [`(,a ,b ,c ,d ,e . ,rest)\n                                       (if (equal? c \"biolink:has_part\")\n                                           (list a b c e)\n                                           #f)]))\n                        related-to-SH3-domain-1)))))\n;;=>\n'()\n\n;; Sigh\n\n;; TODO\n;; Try NCIT CURIs in th online node normalizer\n;;\n;; https://nodenormalization-sri.renci.org/docs#/default/get_normalized_node_handler_get_normalized_nodes_get\n;;\n;; Seems like the node normalizer has NCIT equivalents for diseases (such as NCIT:C34373), but not for genes/proteins (such as NCIT:C20973, NCIT:C28720, NCIT:C30130).\n;;\n;; Ask Chris B. about this\n;;\n;; Also ask the SRI KG people if they have NCIT and UMLS mappings.\n;; See, for example,\n;; https://obofoundry.org/ontology/ncit\n;;\n;; In the worst case, can create our own KG with the NCIT mappings.  Annoying...\n\n;; TODO\n;; Ask for an up-to-date version of the SRI KG\n\n;; TODO\n;;\n;; find all human proteins that are known to interact with tau protein,\n;; then take set intersection of those proteins and the proteins with\n;; SH3 domains\n;;\n;; Is there a more direct way to express this query?\n;;\n;; The fact that we can't connect the NCIT CURIs to other CURIs in the\n;; KGs is a bummer...\n"
  },
  {
    "path": "contrib/medikanren2/neo/Mayu/genes-query.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n;; Problem encountered on 5 Dec 2022:\n;;\n;; * HGNC CURIES are not normalized to UMLS or NCBI or OMIM CURIES\n\n;; Hand-curated mappings of HGNC to UMLS mappings, since there doesn't\n;; seem to currently be a way to map HGNC CURIES to UMLS CURIES\n;; through RTX-KG2 or through the node normalization knowledge graph.\n(define symbol/HGNC/UMLS*-list\n  '((MAPK8IP3  HGNC:6884   C1417026 C1436798)\n    (VMA21     HGNC:22082  C2681112 C2715590)\n    (NTRK2     HGNC:8032   C1334909 C1704842 C3853697)\n    (SGO1      HGNC:25088  C1428445 C1565925 C3890006)\n    (TPI1      HGNC:12009  C1420871 C3887669 C3541335 C0041078)\n    (FKRP      HGNC:17997  C1425226 C1448221)\n    (PHETA1    HGNC:26509  C1825239 C2932936)\n    (SPOP      HGNC:11254  C1420368 C3540803 C0669183)\n    (YWHAZ     HGNC:12855  C1421564 C3492243 C2981740)\n    (JAK2      HGNC:6192   C1334291 C1527617 C0169661)\n    (GDAP1     HGNC:15968  C1423872 C1453327)\n    (ESCO2     HGNC:27230  C1539367 C1569535)\n    (ZMIZ1     HGNC:16493  C1823956 C1433857 C3889263)\n    (SBF1      HGNC:10542  C1419823 C1259214)\n    (PEX10     HGNC:8851   C1418470 C1449205)\n    (KIF5A     HGNC:6323   C1416638 C1569075)\n    (LAMA2     HGNC:6482   C1416776 C1569076)\n    (FOXG1     HGNC:3811   C0812297 C1705148)\n    (BANP      HGNC:13450  C1538317 C0961071)\n    (NEXMIF    HGNC:29433  C1845260 C4041927)\n    (TBCD      HGNC:11581  C1420596 C1447856)\n    (DHTKD1    HGNC:23537  C1428130 C3657993)\n    (PNPT1     HGNC:23166  C1427960 C1310854 C2984134)\n    (ALG2      HGNC:23159  C1427955)\n    (SETBP1    HGNC:15573  C1423585 C1309881 C3815268)))\n\n(define get-generic-synonym/descendent-curies\n  (lambda (curie)\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db (list curie)))))\n\n(define get-gene-synonym/descendent-curies\n  (lambda (curie)\n    (let ((related-curies (get-generic-synonym/descendent-curies curie))\n          (gene-synonym-predicates\n           (set->list\n            (apply set-union\n                   (map get-predicate-descendents-in-db\n                        '(\"biolink:same_as\"\n                          \"biolink:expresses\"\n                          \"biolink:has_gene_product\"\n                          \"biolink:has_gene_or_gene_product\"\n                          \"biolink:has_output\"\n                          \"biolink:exact_match\"\n                          \"biolink:mesh_terms\"\n                          ;; Beware of using 'xref', since it is a very loose predicate\n                          ;; \"biolink:xref\"\n                          ))))))\n      (set-union\n       related-curies\n       (list->set\n        (map (lambda (e) (list-ref e 3))\n             (query:Known->X\n              (set->list related-curies)\n              gene-synonym-predicates\n              #f)))\n       (list->set\n        (map car\n             (query:X->Known\n              #f\n              gene-synonym-predicates\n              (set->list related-curies))))))))\n\n(define process-gene\n  (lambda (curie)\n    (let ((gene-curies (get-gene-synonym/descendent-curies curie)))\n      (query:X->Known\n       ;; Looking for any type of chemical substance\n       #f\n       ;; list of predicates\n       (set->list\n        (apply set-union\n               (map get-predicate-descendents-in-db\n                    '(\"biolink:positively_regulates\"\n                      \"biolink:negatively_regulates\"\n                      ;;\n                      \"biolink:entity_positively_regulates_entity\"\n                      \"biolink:entity_negatively_regulates_entity\"\n                      ;;\n                      \"biolink:increased_amount_of\"\n                      \"biolink:increases_activity_of\"\n                      \"biolink:increases_amount_or_activity_of\"\n                      \"biolink:increases_abundance_of\"\n                      \"biolink:increases_expression_of\"\n                      \"biolink:increases_synthesis_of\"\n                      ;;\n                      \"biolink:decreased_amount_in\"\n                      \"biolink:decreases_abundance_of\"\n                      \"biolink:decreases_synthesis_of\"\n                      \"biolink:decreases_activity_of\"\n                      \"biolink:decreases_amount_or_activity_of\"\n                      \"biolink:decreases_expression_of\"))))\n       ;; list of known CURIES (for genes)\n       (set->list gene-curies)))))\n\n(define process-symbol/HGNC/UMLS*-list\n  (lambda (symbol/HGNC/UMLS*-list)\n    (let loop ((ls symbol/HGNC/UMLS*-list))\n      (match ls\n        ['() '()]\n        [`((,symbol ,hgnc-curie-symbol . ,cid-curie-symbols) . ,rest)\n         (let ((hgnc-curie (symbol->string hgnc-curie-symbol))\n               (cid-curies (map symbol->string cid-curie-symbols)))\n           (let ((umls-curies (map (lambda (c) (string-append \"UMLS:\" c)) cid-curies)))\n             (let ((answers (apply append (map process-gene (cons hgnc-curie umls-curies)))))\n               (cons `(,symbol (,hgnc-curie-symbol . ,umls-curies) ,answers)\n                     (loop rest)))))]))))\n\n(define answers (process-symbol/HGNC/UMLS*-list symbol/HGNC/UMLS*-list))\n\n\n\n\n\n#| Extract publication information from answers |#\n\n(define (python->json py)\n  (define len (string-length py))\n  (let loop ((i 0) (start 0))\n    (cond ((= i len) (if (= start 0) py (substring py start)))\n          ((eqv? (string-ref py i) #\\')\n           (string-append\n             (substring py start i) \"\\\"\"\n             (let requote ((i (+ i 1)) (start (+ i 1)))\n               (cond ((eqv? (string-ref py i) #\\')\n                      (string-append (substring py start i) \"\\\"\"\n                                     (loop (+ i 1) (+ i 1))))\n                     ((eqv? (string-ref py i) #\\\\)\n                      (if (eqv? (string-ref py (+ i 1)) #\\\")\n                        (requote (+ i 2) start)\n                        (string-append (substring py start i)\n                                       (requote (+ i 2) (+ i 1)))))\n                     ((eqv? (string-ref py i) #\\\")\n                      (string-append (substring py start i) \"\\\\\\\"\"\n                                     (requote (+ i 1) (+ i 1))))\n                     (else (requote (+ i 1) start))))))\n          ((eqv? (string-ref py i) #\\\")\n           (let skip ((i (+ i 1)) (start start))\n             (cond ((eqv? (string-ref py i) #\\\") (loop (+ i 1) start))\n                   ((eqv? (string-ref py i) #\\\\)\n                    (if (eqv? (string-ref py (+ i 1)) #\\\")\n                      (skip (+ i 2) start)\n                      (string-append (substring py start i)\n                                     (skip (+ i 2) (+ i 1)))))\n                   (else                         (skip (+ i 1) start)))))\n          (else (loop (+ i 1) start)))))\n\n(define (pubmed-ids-from-edge-props eprops)\n  (cond\n    [(assoc \"publications\" eprops)\n     => (lambda (pr)\n          (define pubs (cadr pr))\n          (if (not (string? pubs))\n            '()\n            (regexp-match* #rx\"PMID:([0-9]+)\" pubs #:match-select cadr)))]\n    [else '()]))\n(define (pubmed-ids-from-edge edge)\n  (remove-duplicates\n    (match edge\n      [`(,s-curie ,s-name ,pred ,o-curie ,o-name . ,eprops)\n        (pubmed-ids-from-edge-props eprops)])))\n(define PUBMED_URL_PREFIX \"https://www.ncbi.nlm.nih.gov/pubmed/\")\n(define (pubmed-URLs-from-edge edge)\n  (map (lambda (pubmed-id) (string-append PUBMED_URL_PREFIX (~a pubmed-id)))\n       (pubmed-ids-from-edge edge)))\n\n(define (publications-info-alist-from-edge-props eprops)\n  (cond\n    [(assoc \"publications_info\" eprops) ;; RTX2\n     => (lambda (pr)\n          (with-handlers ([exn:fail?\n                           (lambda (v)\n                             ((error-display-handler) (exn-message v) v)\n                             '())])\n            (define pubs (cadr pr))\n            ;;(printf \"pubs:\\n~s\\n\" pubs)\n            (define jason-ht (string->jsexpr (python->json pubs)))\n            ;;(printf \"jason-ht:\\n~s\\n\" jason-ht)\n            (let ((pub-info-ls\n                   (hash-map jason-ht (lambda (k v)\n                                        (let ((pubmed-num* (regexp-match* #rx\"([0-9]+)\"\n                                                                          (symbol->string k)\n                                                                          #:match-select cadr)))\n                                          (if (pair? pubmed-num*)\n                                              (let ((pubmed-url\n                                                     (string-append PUBMED_URL_PREFIX (car pubmed-num*))))\n                                                (cons pubmed-url\n                                                      (list (hash-ref v '|publication date| #f)\n                                                            (hash-ref v '|subject score| #f)\n                                                            (hash-ref v '|object score| #f)\n                                                            (regexp-replace*\n                                                             #rx\"([ ]+)\"\n                                                             (hash-ref v 'sentence #f)\n                                                             \" \"))))\n                                              ;; else, the JSON is malformed\n                                              #f))))))\n              ;; filter out any #f results from malformed JSON\n              (filter (lambda (v) v) pub-info-ls))))]\n    [else '()]))\n(define (publications-info-alist-from-edge edge)\n  ;; ((pubmed-URL . (publication-date subject-score object-score sentence)) ...)\n  (remove-duplicates\n    (match edge\n      [`(,s-curie ,s-name ,pred ,o-curie ,o-name . ,eprops)\n        (publications-info-alist-from-edge-props eprops)])))\n\n\n\n(define write-answer-to-TSV-file\n  (lambda (answer)\n    (match answer\n      [`(,gene-symbol (,hgnc-curie-symbol . ,umls-curies) ,answers)\n       (let ((op (open-output-file\n                  (string-append\n                    \"X regulates \"\n                    (symbol->string gene-symbol)\n                    \" \"\n                    (~a `(,hgnc-curie-symbol . ,umls-curies))\n                    \".tsv\")\n                  #:mode 'text\n                  #:exists 'error)))\n         (fprintf op\n                  \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t\\n\"\n                  \"Subject CURIE\"\n                  \"Subject Name\"\n                  \"Predicate\"\n                  \"Object CURIE\"\n                  \"Object Name\"\n                  \"Pubmed URL\"\n                  \"Publication Date\"\n                  \"Sentence\")\n         (let loop ((answers answers))\n           (match answers\n             [`() (close-output-port op)]\n             [`(,answer . ,rest)\n              (match answer\n                [`(,s-curie ,s-name ,pred ,o-curie ,o-name . ,eprops)\n                 ;;(printf \"calling publications-info-alist-from-edge on:\\n\")\n                 ;;(printf \"~s\\n\" `(,s-curie ,s-name ,pred ,o-curie ,o-name . ,eprops))\n                 (let ((pubs-alist (publications-info-alist-from-edge answer)))\n                   ;; ((pubmed-URL . (publication-date subject-score object-score sentence)) ...)\n                   ;;(printf \"pubs-alist:\\n~s\\n\" pubs-alist)\n                   (cond\n                     [(null? pubs-alist)\n                      (let ((pubmed-URLs (pubmed-URLs-from-edge answer)))\n                        (cond\n                          [(null? pubmed-URLs)\n                           (fprintf op\n                                    \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t\\n\"\n                                    s-curie\n                                    s-name\n                                    pred\n                                    o-curie\n                                    o-name\n                                    \"\"\n                                    \"\"\n                                    \"\")                           \n                           (loop rest)]\n                          [else\n                           (for-each\n                             (lambda (pubmed-URL)\n                               (fprintf op\n                                        \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t\\n\"\n                                        s-curie\n                                        s-name\n                                        pred\n                                        o-curie\n                                        o-name\n                                        pubmed-URL\n                                        \"\"\n                                        \"\"))\n                             pubmed-URLs)\n                           (loop rest)]))]\n                     [else\n                      (for-each\n                        (lambda (pub-info)\n                          (match pub-info\n                            [`(,pubmed-URL . (,publication-date ,subject-score ,object-score ,sentence))\n                             (fprintf op\n                                      \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t\\n\"\n                                      s-curie\n                                      s-name\n                                      pred\n                                      o-curie\n                                      o-name\n                                      pubmed-URL\n                                      publication-date\n                                      sentence)]))\n                        pubs-alist)\n                      (loop rest)]))])])))])))\n\n(for-each write-answer-to-TSV-file answers)\n"
  },
  {
    "path": "contrib/medikanren2/neo/Mayu/nfix-multi-db-query.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n;; gene ->regulates-> NFIX\n(define (gene->regulates->NFIX)\n  (query:X->Known\n  \n   ;; category*.X\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-classes*-in-db\n     (list \"biolink:Gene\")))\n   ;; predicate*.X->K\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:regulates\")))\n \n   ;; curie*.K\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"HGNC:7788\"))))\n   ))\n\n(gene->regulates->NFIX)\n;; =>\n'((\"NCBIGene:322\"\n   \"APBB1\"\n   \"biolink:regulates\"\n   \"NCBIGene:4784\"\n   \"NFIX\"\n   (\"id\"\n    \"NCBIGene:322---SEMMEDDB:stimulates---None---None---increased---NCBIGene:4784---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"NCBIGene:4784\")\n   (\"predicate\" \"biolink:regulates\")\n   (\"publications\" \"PMID:17170108\")\n   (\"publications_info\"\n    \"{\\\"PMID:17170108\\\": {\\\"publication date\\\": \\\"2007 Feb 16\\\", \\\"sentence\\\": \\\"RNAi silencing of Fe65 increased APP-CTF levels, although also decreasing Abeta levels in H4-FL-APP cells.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 850}}\")\n   (\"subject\" \"NCBIGene:322\"))\n  (\"NCBIGene:4782\"\n   \"NFIC\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   (\"id\"\n    \"NCBIGene:4782---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C1417707\")\n   (\"predicate\" \"biolink:regulates\")\n   (\"publications\" \"PMID:29106906\")\n   (\"publications_info\"\n    \"{\\\"PMID:29106906\\\": {\\\"publication date\\\": \\\"2017 12 15\\\", \\\"sentence\\\": \\\"Finally, we report that, in the absence of Nfia or Nfib, there is a marked reduction in the spinal cord expression of NFIX, and that NFIB can transcriptionally activate Nfix expression in vitro.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 888}}\")\n   (\"subject\" \"NCBIGene:4782\"))\n  (\"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   (\"id\"\n    \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C1417707\")\n   (\"predicate\" \"biolink:regulates\")\n   (\"publications\" \"PMID:30266829\")\n   (\"publications_info\"\n    \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"NCBIGene:2048\"))\n  (\"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   (\"id\"\n    \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n   (\"knowledge_source\" \"infores:semmeddb\")\n   (\"object\" \"UMLS:C1417707\")\n   (\"predicate\" \"biolink:regulates\")\n   (\"publications\" \"PMID:30266829\")\n   (\"publications_info\"\n    \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n   (\"subject\" \"NCBIGene:5594\")))\n\n\n(define (drug->regulates->NFIX)\n  (query:X->Known\n  \n   ;; category*.X\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-classes*-in-db\n     (list \"biolink:Drug\")))\n   ;; predicate*.X->K\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:regulates\")))\n \n   ;; curie*.K\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"NCBIGene:4782\"))))\n   ))\n\n(drug->regulates->NFIX)\n;; =>\n'()\n\n\n;; drug ->regulates-> gene ->regulates-> NFIX\n(define (drug->regulates->gene->regulates->NFIX)\n  (query:X->Y->Known\n   ;; category*.X \n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-classes*-in-db\n     (list \"biolink:Drug\")))\n   ;; predicate*.X->Y\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:regulates\")))\n  \n   ;; category*.Y\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-classes*-in-db\n     (list \"biolink:Gene\")))\n   ;; predicate*.Y->K\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:regulates\")))\n \n   ;; curie*.K\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"HGNC:7788\"))))\n   ))\n\n(drug->regulates->gene->regulates->NFIX)\n;; =>\n'((\"UMLS:C0017302\"\n   \"General anesthetic drugs\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0017302---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:26400403\")\n    (\"publications_info\"\n     \"{\\\"PMID:26400403\\\": {\\\"publication date\\\": \\\"2015 Dec\\\", \\\"sentence\\\": \\\"While all three general anesthetics effectively blocked nociceptive responses and activation of ERK in the rat ACC following formalin injection during anesthesia, only sevoflurane inhibited ERK activation in the spinal cord and ACC at 24 h post-injection.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0017302\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0304497\"\n   \"Cytotoxic agent (product)\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0304497---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:29507530\")\n    (\"publications_info\"\n     \"{\\\"PMID:29507530\\\": {\\\"publication date\\\": \\\"2018\\\", \\\"sentence\\\": \\\"Conclusion: Taken together, our data identified nilotinib as a cytotoxic drug that combined with ERK inhibitors deserves to be tested as a novel therapy for adrenocortical carcinoma.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0304497\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0597220\"\n   \"phospholipase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0597220---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:19048108\")\n    (\"publications_info\"\n     \"{\\\"PMID:19048108\\\": {\\\"publication date\\\": \\\"2008\\\", \\\"sentence\\\": \\\"A phospholipase Cgamma (PLCgamma) inhibitor and shRNA, as well as an Erk inhibitor, reduced ST6Gal1 and FUT9 mRNA levels and inhibited effects of L1 on neurite outgrowth and cell survival.\\\", \\\"subject score\\\": 913, \\\"object score\\\": 827}}\")\n    (\"subject\" \"UMLS:C0597220\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0040616\"\n   \"Anti-Anxiety Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0040616---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30102992\")\n    (\"publications_info\"\n     \"{\\\"PMID:30102992\\\": {\\\"publication date\\\": \\\"2018 Nov 15\\\", \\\"sentence\\\": \\\"CONCLUSION: This study demonstrated that aqueous extracts from S. japonicus viscera are effective whitening and anti-aging agents that stimulate ERK signaling to inhibit melanin synthesis and promote collagen synthesis.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0040616\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0003211\"\n   \"Anti-Inflammatory Agents, Non-Steroidal\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003211---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16230075\")\n    (\"publications_info\"\n     \"{\\\"PMID:16230075\\\": {\\\"publication date\\\": \\\"2005 Oct\\\", \\\"sentence\\\": \\\"Exposure to NSAIDs inhibits Sp1 and ERK phosphorylation.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0003211\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1514713\"\n   \"Raf Kinase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514713---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:18163502\")\n    (\"publications_info\"\n     \"{\\\"PMID:18163502\\\": {\\\"publication date\\\": \\\"2008 Jan\\\", \\\"sentence\\\": \\\"Components of the ERK pathway were inhibited by Raf-1 kinase inhibitor and the MEK inhibitor, PD98059.\\\", \\\"subject score\\\": 923, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C1514713\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0003385\"\n   \"Muscarinic Antagonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003385---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:19533734\")\n    (\"publications_info\"\n     \"{\\\"PMID:19533734\\\": {\\\"publication date\\\": \\\"2009 Dec\\\", \\\"sentence\\\": \\\"These effects of fustin were reversed by treatment with dicyclomine, a muscarinic M1 receptor antagonist, and SL327, a selective ERK inhibitor, but not by chelerythrine, a pan-protein kinase C (PKC) inhibitor.\\\", \\\"subject score\\\": 880, \\\"object score\\\": 793}}\")\n    (\"subject\" \"UMLS:C0003385\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0729502\"\n   \"Chemotherapeutic agent\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0729502---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30288546\")\n    (\"publications_info\"\n     \"{\\\"PMID:30288546\\\": {\\\"publication date\\\": \\\"2018 Dec\\\", \\\"sentence\\\": \\\"Combining chemotherapeutic agents with HDAC inhibitor (TSA) or with targeting Raf/MEK/ERK pathway is promising to circumvent chemoresistance in UCs.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 754}}\")\n    (\"subject\" \"UMLS:C0729502\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0598695\"\n   \"NMDA receptor antagonist\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0598695---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:19361551\")\n    (\"publications_info\"\n     \"{\\\"PMID:19361551\\\": {\\\"publication date\\\": \\\"2009 Aug\\\", \\\"sentence\\\": \\\"ERK activation could indicate a stress-mediated increase in glutamatergic signaling, therefore mice were treated prior to SNI and stress with memantine, an N-methyl-D-aspartate receptor (NMDAR) antagonist.\\\", \\\"subject score\\\": 954, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0598695\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1136254\"\n   \"Microbicides\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1136254---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:26129676\")\n    (\"publications_info\"\n     \"{\\\"PMID:26129676\\\": {\\\"publication date\\\": \\\"2015 Aug\\\", \\\"sentence\\\": \\\"In this study, we report that one of the antimicrobial peptides scolopendrasin VII, derived from Scolopendra subspinipes mutilans, stimulates actin polymerization and the subsequent chemotactic migration of macrophages through the activation of ERK and protein kinase B (Akt) activity.\\\", \\\"subject score\\\": 764, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1136254\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0051821\"\n   \"andrographolide\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0051821---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:27475717\")\n    (\"publications_info\"\n     \"{\\\"PMID:27475717\\\": {\\\"publication date\\\": \\\"2016 09 15\\\", \\\"sentence\\\": \\\"In addition, ERK and GSK3beta-dependent C/EBPbeta phosphorylation was attenuated by andrographolide.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0051821\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0178601\"\n   \"Dopamine Agonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0178601---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:26153447\")\n    (\"publications_info\"\n     \"{\\\"PMID:26153447\\\": {\\\"publication date\\\": \\\"2015 Oct\\\", \\\"sentence\\\": \\\"Pretreatment with a positive allosteric modulator (PAM) of muscarinic acetylcholine M4 receptors (M4Rs), VU0152100, attenuated the D1R agonist-stimulated ERK phosphorylation in the two regions, whereas the PAM itself did not alter basal ERK phosphorylation.\\\", \\\"subject score\\\": 819, \\\"object score\\\": 819}}\")\n    (\"subject\" \"UMLS:C0178601\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0002932\"\n   \"Anesthetics\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0002932---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:29186909\")\n    (\"publications_info\"\n     \"{\\\"PMID:29186909\\\": {\\\"publication date\\\": \\\"2017 Nov 27\\\", \\\"sentence\\\": \\\"Ketamine, a Clinically Used Anesthetic, Inhibits Vascular Smooth Muscle Cell Proliferation via PP2A-Activated PI3K/Akt/ERK Inhibition.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 741}}\")\n    (\"subject\" \"UMLS:C0002932\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0962192\"\n   \"Bay 11-7085\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0962192---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:26993765\")\n    (\"publications_info\"\n     \"{\\\"PMID:26993765\\\": {\\\"publication date\\\": \\\"2016 Apr 26\\\", \\\"sentence\\\": \\\"Inhibition of autophagy markedly decreased endogenous and BAY 11-7085-induced ERK phosphorylation, suggesting a positive feed back loop between ERK activation and autophagy in synovial fibroblasts.\\\", \\\"subject score\\\": 816, \\\"object score\\\": 816}}\")\n    (\"subject\" \"UMLS:C0962192\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0243192\"\n   \"agonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0243192---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:20553736|PMID:26993765|PMID:27551480\")\n    (\"publications_info\"\n     \"{\\\"PMID:27551480\\\": {\\\"publication date\\\": \\\"2015\\\", \\\"sentence\\\": \\\"Furthermore, levels of phosphor-TSC2 (Ser664) were increased after treatment with FVII and PAR2 agonist whereas these were significantly abolished in the presence of a potent and specific MEK/ERK inhibitor U0126.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 729}, \\\"PMID:26993765\\\": {\\\"publication date\\\": \\\"2016 Apr 26\\\", \\\"sentence\\\": \\\"Both BAY 11-7085-induced autophagy and GR activation were down regulated with PPAR-gamma agonist, 15d-PGJ2 and MEK/ERK inhibitor UO126.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 764}, \\\"PMID:20553736\\\": {\\\"publication date\\\": \\\"2010 Jul 03\\\", \\\"sentence\\\": \\\"The effect was synergistically augmented by PPARgamma agonist, but attenuated by inhibitors of PPARgamma, ERK or p38 MAPK.\\\", \\\"subject score\\\": 938, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0243192\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0040616\"\n   \"Anti-Anxiety Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0040616---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:27876502|PMID:29137241\")\n    (\"publications_info\"\n     \"{\\\"PMID:29137241\\\": {\\\"publication date\\\": \\\"2017 Oct 10\\\", \\\"sentence\\\": \\\"CZ415 could be further tested as a promising anti-osteosarcoma agent, alone or in combination of ERK inhibition.\\\", \\\"subject score\\\": 844, \\\"object score\\\": 861}, \\\"PMID:27876502\\\": {\\\"publication date\\\": \\\"2017 Jan 04\\\", \\\"sentence\\\": \\\"CONCLUSION: The results indicate that OD as an anti-metastatic agent suppresses the metastatic response by targeting p-ERK, p-38 and NF-kappaB, thus reducing the invasion capacity of MCF-7 breast cancer cells through inhibition of MMP-9 and ICAM-1 expression and plays an important role in the regulation of breast cancer cell apoptosis.\\\", \\\"subject score\\\": 896, \\\"object score\\\": 790}}\")\n    (\"subject\" \"UMLS:C0040616\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1373060\"\n   \"Nitric Oxide Synthase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1373060---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:22160804\")\n    (\"publications_info\"\n     \"{\\\"PMID:22160804\\\": {\\\"publication date\\\": \\\"2012 Apr\\\", \\\"sentence\\\": \\\"The effects of iNOS inhibitors were associated with diminished ouabain tyrosine nitration as well as abrogation of ouabain-induced p38 and ERK phosphorylation.\\\", \\\"subject score\\\": 937, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C1373060\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0003209\"\n   \"Anti-Inflammatory Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003209---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:21347512\")\n    (\"publications_info\"\n     \"{\\\"PMID:21347512\\\": {\\\"publication date\\\": \\\"2011 May\\\", \\\"sentence\\\": \\\"Aspirin, an anti-inflammatory drug, is a known ERK inhibitor and prevents neurodegenerative disorders including prion diseases.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 785}}\")\n    (\"subject\" \"UMLS:C0003209\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1171350\"\n   \"kinase inhibitor [EPC]\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1171350---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:19127349|PMID:19890601\")\n    (\"publications_info\"\n     \"{\\\"PMID:19127349\\\": {\\\"publication date\\\": \\\"2009 Feb\\\", \\\"sentence\\\": \\\"The loss in countering capacity of leptin on the ethanol-induced cytotoxicity was attained with Src kinase inhibitor, PP2, and EGFR kinase inhibitor, AG1478, as well as ERK inhibitor, PD98059.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 827}, \\\"PMID:19890601\\\": {\\\"publication date\\\": \\\"2010 Jul\\\", \\\"sentence\\\": \\\"The sole systemic therapy that has shown efficacy in improving the survival of HCC patients is sorafenib, an oral kinase inhibitor that blocks the Raf/MEK/ERK pathway and the receptor for VEGFR 2 and PDGFR-beta.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 763}}\")\n    (\"subject\" \"UMLS:C1171350\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0002932\"\n   \"Anesthetics\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0002932---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:17492663\")\n    (\"publications_info\"\n     \"{\\\"PMID:17492663\\\": {\\\"publication date\\\": \\\"2007 Oct 01\\\", \\\"sentence\\\": \\\"Volatile anesthetics affect the morphology of rat glioma C6 cells via RhoA, ERK, and Akt activation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0002932\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C3543842\"\n   \"Tonics\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C3543842---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:15327816\")\n    (\"publications_info\"\n     \"{\\\"PMID:15327816\\\": {\\\"publication date\\\": \\\"2004 Sep\\\", \\\"sentence\\\": \\\"The results from this study indicate that persistent ERK activation is required for the enhanced behavioral responses to spinal group I mGluR activation following inflammation and suggest that tonic modulation of ERK activity may underlie a component of central sensitization in dorsal horn neurons.\\\", \\\"subject score\\\": 661, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C3543842\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1517132\"\n   \"Farnesyl Transferase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1517132---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16712893\")\n    (\"publications_info\"\n     \"{\\\"PMID:16712893\\\": {\\\"publication date\\\": \\\"2006 Sep 15\\\", \\\"sentence\\\": \\\"Both FTIs successfully inhibited the ERK and activated JNK in RIE/K-ras cells.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1517132\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1579373\"\n   \"Drugs used for the treatment of acute migraine\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1579373---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16020508\")\n    (\"publications_info\"\n     \"{\\\"PMID:16020508\\\": {\\\"publication date\\\": \\\"2005 Nov 01\\\", \\\"sentence\\\": \\\"Thus, Tregs share biochemical characteristics of anergy, including abortive activation of Ras-MEK-Erk, increased activation of Rap1, and increased expression of p27kip1.\\\", \\\"subject score\\\": 694, \\\"object score\\\": 660}}\")\n    (\"subject\" \"UMLS:C1579373\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0243042\"\n   \"Inflammation Mediators\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0243042---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:15379598|PMID:22253793|PMID:30455267\")\n    (\"publications_info\"\n     \"{\\\"PMID:15379598\\\": {\\\"publication date\\\": \\\"2004 Sep\\\", \\\"sentence\\\": \\\"In particular, mitogen-activated protein kinase (MAPK), such as ERK and p38, is activated by inflammatory mediators in primary sensory and secondary order dorsal horn neurons and participates in the generation and maintenance of inflammatory pain.\\\", \\\"subject score\\\": 964, \\\"object score\\\": 1000}, \\\"PMID:22253793\\\": {\\\"publication date\\\": \\\"2012\\\", \\\"sentence\\\": \\\"Furthermore, TLR agonists or live pathogen (S. aureus, P. aeruginosa, & C. albicans)-challenged Muller glia produced significantly higher levels of inflammatory mediators (TNF-alpha, IL-1beta, IL-6 and IL-8), concomitantly with the activation of NF-kappaB, p38 and Erk signaling.\\\", \\\"subject score\\\": 964, \\\"object score\\\": 861}, \\\"PMID:30455267\\\": {\\\"publication date\\\": \\\"2018 Dec 03\\\", \\\"sentence\\\": \\\"Mechanistically, TLR8, localizing in the endosomes and lysosomes, mediated ERK activation, inflammatory mediators' production, and neuronal hyperexcitability after SNL.\\\", \\\"subject score\\\": 877, \\\"object score\\\": 627}}\")\n    (\"subject\" \"UMLS:C0243042\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0304403\"\n   \"Psychostimulant (substance)\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0304403---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16954211\")\n    (\"publications_info\"\n     \"{\\\"PMID:16954211\\\": {\\\"publication date\\\": \\\"2006 Oct 27\\\", \\\"sentence\\\": \\\"In contrast, psychostimulants activate ERK and induce hyperactivity in normal animals.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0304403\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1519313\"\n   \"Signal Transduction Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1519313---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:15655409\")\n    (\"publications_info\"\n     \"{\\\"PMID:15655409\\\": {\\\"publication date\\\": \\\"2005 Feb\\\", \\\"sentence\\\": \\\"BAY 43-9006 (BAY) is a novel signal transduction inhibitor that prevents tumor cell proliferation and angiogenesis through blockade of the Raf/MEK/ERK pathway at the level of Raf kinase and the receptor tyrosine kinases vascular endothelial growth factor receptor-2 and platelet-derived growth factor receptor-beta.\\\", \\\"subject score\\\": 916, \\\"object score\\\": 763}}\")\n    (\"subject\" \"UMLS:C1519313\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1514727\"\n   \"Ras Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514727---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12812842\")\n    (\"publications_info\"\n     \"{\\\"PMID:12812842\\\": {\\\"publication date\\\": \\\"2003 Jul 03\\\", \\\"sentence\\\": \\\"Ras inhibitor, Erk blocker or phosphatidylinositol 3-kinase inhibitor decreased depolarization- or NO donor-promoted survival.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1514727\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1268567\"\n   \"Protein-tyrosine kinase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1268567---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:11978788|PMID:22773546|PMID:30258794\")\n    (\"publications_info\"\n     \"{\\\"PMID:11978788\\\": {\\\"publication date\\\": \\\"2002 Jun 28\\\", \\\"sentence\\\": \\\"In rat extensor digitorum longus (EDL) muscles, (a) AMPK activator, 5-aminoimidazole-4-carboxamide-1-beta-d-riboside (AICAR), activated PYK2, ERK and aPKCs; (b) effects of AICAR on ERK and aPKCs were blocked by tyrosine kinase inhibitor, genistein, and MEK1 inhibitor, PD98059; and (c) effects of AICAR on aPKCs and 2-deoxyglucose (2-DOG) uptake were inhibited by genistein, PD98059, and PLD-inhibitor, 1-butanol.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:30258794\\\": {\\\"publication date\\\": \\\"2018 Sep-Oct\\\", \\\"sentence\\\": \\\"The following groups of systemic drugs have been considered: taxanes, epidermal growth factor-receptor (EGFR) inhibitors, EGFR tyrosine kinase inhibitors, tyrosine kinase inhibitors, inhibitors of MEK/ERK, BRAF inhibitors, CD20 antagonists, vascular endothelial growth factor inhibitors, and retinoids.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 694}, \\\"PMID:22773546\\\": {\\\"publication date\\\": \\\"2013 Oct\\\", \\\"sentence\\\": \\\"In cells lines with complex activation profiles (HSC39 and OE33), a combination of TKIs or Mek inhibition (in nM concentrations) was necessary for cytotoxicity and inhibition of Erk and Akt phosphorylation.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1268567\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1258619\"\n   \"decursinol\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1258619---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12677526\")\n    (\"publications_info\"\n     \"{\\\"PMID:12677526\\\": {\\\"publication date\\\": \\\"2003 Mar\\\", \\\"sentence\\\": \\\"G-Rd and DC attenuated, in part, the increased phospho-ERK and the decreased phospho-CREB protein levels.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 660}}\")\n    (\"subject\" \"UMLS:C1258619\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1514555\"\n   \"Protein Kinase C Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514555---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12676927|PMID:12745093|PMID:20477948|PMID:20600853\")\n    (\"publications_info\"\n     \"{\\\"PMID:12676927\\\": {\\\"publication date\\\": \\\"2003 Jun 27\\\", \\\"sentence\\\": \\\"Inhibition of the ERK and protein kinase C signaling pathways with the MEK-1 inhibitor, U0126, and protein kinase C inhibitor, GF 1092030x, respectively, and chelating intracellular free calcium with 1,2-bis(2-aminophenoyl)ethane-N,N,N',N'-tetraacetic acid-AM, which also reduced ERK1/2 activation, significantly reduced H2O2-induced AA release in MC+/+ expressing either group IIa or V PLA2s.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:12745093\\\": {\\\"publication date\\\": \\\"2003 May 30\\\", \\\"sentence\\\": \\\"The PMA-induced MMP-9 secretion was abolished by treatment of a pan-protein kinase C (PKC) inhibitor, GF109203X, and an inhibitor of NF-kappaB activation, sulfasalazine, and partly inhibited by treatment of inhibitors of ERK pathway, PD98059 and U0126.\\\", \\\"subject score\\\": 937, \\\"object score\\\": 861}, \\\"PMID:20477948\\\": {\\\"publication date\\\": \\\"2010 Aug\\\", \\\"sentence\\\": \\\"In addition, protein kinase C inhibitors suppressed ATP-induced ERK and JNK activation, and also inhibited ATP-induced CXCL2 expression in microglia.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 623}, \\\"PMID:20600853\\\": {\\\"publication date\\\": \\\"2010 Oct\\\", \\\"sentence\\\": \\\"The protein kinase C inhibitors, RO 320432 and GO 6983, and the ERK inhibitors UO 126 and PD 98059 all activated PDE4A4 aggregate formation, whilst roscovitine, thalidomide and the tyrosine kinase inhibitors, genistein and AG17, all inhibited this process.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 824}}\")\n    (\"subject\" \"UMLS:C1514555\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0003402\"\n   \"Antioxidants\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003402---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:14647418\")\n    (\"publications_info\"\n     \"{\\\"PMID:14647418\\\": {\\\"publication date\\\": \\\"2004 Feb 19\\\", \\\"sentence\\\": \\\"Lastly, antioxidants (e.g., L-N-acetylcysteine; L-NAC) opposed adaphostin-mediated mitochondrial dysfunction, Raf-1/MEK/ERK downregulation, JNK activation, and apoptosis.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 794}}\")\n    (\"subject\" \"UMLS:C0003402\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0597220\"\n   \"phospholipase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0597220---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12759139\")\n    (\"publications_info\"\n     \"{\\\"PMID:12759139\\\": {\\\"publication date\\\": \\\"2003 Jun 13\\\", \\\"sentence\\\": \\\"Pertussis toxin, an inhibitor of G(i)/G(o) protein, and phospholipase C (PLC) inhibitor blocked Lkn-1-induced activation of ERK.\\\", \\\"subject score\\\": 890, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0597220\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1513344\"\n   \"Mitogen-Activated Protein Kinase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1513344---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12403788|PMID:19878271|PMID:29777202|PMID:31807022\")\n    (\"publications_info\"\n     \"{\\\"PMID:12403788\\\": {\\\"publication date\\\": \\\"2003 Jan 10\\\", \\\"sentence\\\": \\\"SB203580, a p38 MAPK inhibitor, and PD98059, an ERK inhibitor, but not wortmannin a phosphatidylinositol 3-kinase (PI3K) inhibitor, prevented AA toxicity in pyrazole hepatocytes and E47 cells.\\\", \\\"subject score\\\": 938, \\\"object score\\\": 827}, \\\"PMID:19878271\\\": {\\\"publication date\\\": \\\"2010 Feb 01\\\", \\\"sentence\\\": \\\"Compared with PD98059, an MAPK inhibitor, baicalein exhibited a stronger inhibitory effect on Erk(1/2) phosphorylation.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 1000}, \\\"PMID:29777202\\\": {\\\"publication date\\\": \\\"2018 May 18\\\", \\\"sentence\\\": \\\"In these resistant cells, phosphorylation of ribosomal protein S6 (rpS6) but not phosphorylation of ERK or p90 ribosomal S6 kinase (RSK) were unable to be inhibited by MAPK pathway inhibitors.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 1000}, \\\"PMID:31807022\\\": {\\\"publication date\\\": \\\"2019\\\", \\\"sentence\\\": \\\"Finally, ERK was inhibited using a mitogen-activated protein kinase/ERK kinase inhibitor (U0126) to further explore the molecular mechanism of GOF-mutant SHP2 affecting GBM cells.\\\", \\\"subject score\\\": 927, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1513344\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1443775\"\n   \"Epidermal growth factor receptor inhibitor (product)\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1443775---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:11948693|PMID:12402303|PMID:21904878|PMID:28791489\")\n    (\"publications_info\"\n     \"{\\\"PMID:11948693\\\": {\\\"publication date\\\": \\\"2002\\\", \\\"sentence\\\": \\\"Proliferation, activation of ERK, and biosynthesis of Egr-1 was completely inhibited in EGF or thrombin-treated HaCaT cells by the MAP kinase kinase inhibitor PD98059 and by AG1487, an EGF receptor-specific tyrosine kinase inhibitor.\\\", \\\"subject score\\\": 932, \\\"object score\\\": 1000}, \\\"PMID:12402303\\\": {\\\"publication date\\\": \\\"2002 Dec 01\\\", \\\"sentence\\\": \\\"Tyrphostin AG1478, an EGFR tyrosine kinase inhibitor, blocks ALP-induced MAPK/ERK activation but not EGFR internalization.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 562}, \\\"PMID:21904878\\\": {\\\"publication date\\\": \\\"2011 Oct\\\", \\\"sentence\\\": \\\"Pretreatment of beta-cells with HNMPA, an insulin receptor inhibitor, and AG1478, an epidermal growth factor receptor inhibitor, further increased the cAMP level and Erk phosphorylation in the presence of exendin-4 (exe-4), a GLP-1 agonist.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:28791489\\\": {\\\"publication date\\\": \\\"2017 Nov\\\", \\\"sentence\\\": \\\"Sustained activation of ERK by overexpression of constitutively active MEK1 was sufficient to expand CD44+/CD24- populations in cells in which EGFR activity was blocked by either erlotinib, an EGFR kinase inhibitor, or BB-94, a metalloprotease inhibitor that prevents generation of soluble EGFR ligands.\\\", \\\"subject score\\\": 938, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1443775\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0597217\"\n   \"phosphatase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0597217---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16464862\")\n    (\"publications_info\"\n     \"{\\\"PMID:16464862\\\": {\\\"publication date\\\": \\\"2006 Apr 21\\\", \\\"sentence\\\": \\\"In contrast, p38 MAPK inhibitors had no detectable effect on the ERK activation induced by fibroblast growth factor 2 or pervanadate, a phosphatase inhibitor, and MEK inhibitors did not influence p38 MAPK phosphorylation, confirming both the specificity and unidirectionality of p38 MAPK-ERK cross-talk.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0597217\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1513344\"\n   \"Mitogen-Activated Protein Kinase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1513344---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:11466422|PMID:11684667|PMID:14701813|PMID:31776277\")\n    (\"publications_info\"\n     \"{\\\"PMID:11466422\\\": {\\\"publication date\\\": \\\"2001 Aug 01\\\", \\\"sentence\\\": \\\"PD98059, a selective MAPK kinase inhibitor, had a smaller and only marginally significant effect on CR acquisition, although it did block the learning-related increases in ERK activity in both the hippocampus and anterior vermis.\\\", \\\"subject score\\\": 911, \\\"object score\\\": 861}, \\\"PMID:14701813\\\": {\\\"publication date\\\": \\\"2004 Mar 12\\\", \\\"sentence\\\": \\\"JNK, p38, and ERK activation seem not to be required for this type of cell death because mitogen-activated protein kinase inhibitors did not significantly affect TNF-induced necrotic cell death.\\\", \\\"subject score\\\": 988, \\\"object score\\\": 1000}, \\\"PMID:11684667\\\": {\\\"publication date\\\": \\\"2001 Nov\\\", \\\"sentence\\\": \\\"We find that Erk MAP kinase is normally active in ureteric bud, and that inhibiting Erk activation with the MAP kinase kinase inhibitor, PD98059, reversibly inhibits branching in a dose-dependent manner, while allowing tubule elongation to continue.\\\", \\\"subject score\\\": 941, \\\"object score\\\": 627}, \\\"PMID:31776277\\\": {\\\"publication date\\\": \\\"2019 Nov 27\\\", \\\"sentence\\\": \\\"Using MAPK inhibitors, we found that LMP1 activates ERK or p38 to repress the expression of DUSP6 and DUSP8, with corresponding substrate specificity.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1513344\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0085387\"\n   \"Cyclooxygenase Inhibitors\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0085387---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16458997\")\n    (\"publications_info\"\n     \"{\\\"PMID:16458997\\\": {\\\"publication date\\\": \\\"2006 Jul\\\", \\\"sentence\\\": \\\"Both the cyclooxygenase inhibitor, indomethacin and the ERK inhibitors, UO126 and PD980589 reverse the hypoxia-induced increase in intracellular cAMP levels back to those seen in normoxic hPASM cells.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0085387\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0600437\"\n   \"Nitric Oxide Donors\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0600437---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:10744637\")\n    (\"publications_info\"\n     \"{\\\"PMID:10744637\\\": {\\\"publication date\\\": \\\"2000 Apr\\\", \\\"sentence\\\": \\\"The STE-induced increase in phospho-ERK was suppressed by NO donors and the cGMP mimetic, and reversed by cGMP-PKG inhibitor, as was expression of AML1B and DNA binding in nuclear extracts.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0600437\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1443643\"\n   \"Proteasome inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1443643---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:10617109\")\n    (\"publications_info\"\n     \"{\\\"PMID:10617109\\\": {\\\"publication date\\\": \\\"2000 Jan\\\", \\\"sentence\\\": \\\"Uniquely, the kinetics of MAP kinase activation induced by proteasome inhibitors are very slow compared with those resulting from activation by nerve growth factor; ERK activation is detectable only after a 5-h treatment with the inhibitors, and its activity remained unchanged for at least until 27 h.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1443643\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1514555\"\n   \"Protein Kinase C Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514555---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:10523856|PMID:15863357|PMID:22561846\")\n    (\"publications_info\"\n     \"{\\\"PMID:10523856\\\": {\\\"publication date\\\": \\\"1999 Oct 14\\\", \\\"sentence\\\": \\\"The MEK inhibitor PD 098059, as well as the PKC inhibitors, completely blocked TPA-mediated ERK activation.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 547}, \\\"PMID:15863357\\\": {\\\"publication date\\\": \\\"2005 Apr 15\\\", \\\"sentence\\\": \\\"DMS had no effect on the dbcAMP-induced membrane translocation of protein kinase C (PKC) isozymes, and PKC inhibitors had no significant effect on ERK activation.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 1000}, \\\"PMID:22561846\\\": {\\\"publication date\\\": \\\"2012 Aug\\\", \\\"sentence\\\": \\\"The protein kinase C inhibitor, Ro-31-7459, is a potent activator of ERK and JNK MAP kinases in HUVECs and yet inhibits cyclic AMP-stimulated SOCS-3 gene induction through inactivation of the transcription factor c-Jun.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1514555\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1268567\"\n   \"Protein-tyrosine kinase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1268567---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:9933031\")\n    (\"publications_info\"\n     \"{\\\"PMID:9933031\\\": {\\\"publication date\\\": \\\"1999 Feb 15\\\", \\\"sentence\\\": \\\"On the other hand, an obligatory tyrosine phosphorylation step for activation of ERK was indicated by the use of protein tyrosine kinase inhibitors, which profoundly inhibited the activation of ERK by EGF, Ang II, and PMA.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1268567\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0162754\"\n   \"Serotonin 5-HT1 Receptor Agonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0162754---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:9658404\")\n    (\"publications_info\"\n     \"{\\\"PMID:9658404\\\": {\\\"publication date\\\": \\\"1998 Jul\\\", \\\"sentence\\\": \\\"We further demonstrate that 5-HT1 agonists inactivate ERK by dephosphorylation, even in the presence of constitutively activated MEK1.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0162754\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1514727\"\n   \"Ras Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514727---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16052566|PMID:8969227\")\n    (\"publications_info\"\n     \"{\\\"PMID:8969227\\\": {\\\"publication date\\\": \\\"1996 Dec 27\\\", \\\"sentence\\\": \\\"Although pretreatment with manumycin, a Ras farnesyltransferase inhibitor, or overexpression of a dominant-negative mutant of Ras inhibited insulin-induced ERK activation, neither affected AngII-induced activation of ERKs.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 583}, \\\"PMID:16052566\\\": {\\\"publication date\\\": \\\"2005 Sep 15\\\", \\\"sentence\\\": \\\"Our data also indicated that ERK activation and the potentiation of ATP calcium responses were sensitive to the src-like kinase inhibitor herbimycin A, p21(ras) farnesyltransferase inhibitor peptide, and some PKC inhibitors.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1514727\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1171350\"\n   \"kinase inhibitor [EPC]\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1171350---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:20149136|PMID:28197555\")\n    (\"publications_info\"\n     \"{\\\"PMID:28197555\\\": {\\\"publication date\\\": \\\"2017 Jan-Feb\\\", \\\"sentence\\\": \\\"This activation was blocked by a MAPK kinase inhibitor, suggesting that similar pathways are involved in activation of ERK and p38 MAPK.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 1000}, \\\"PMID:20149136\\\": {\\\"publication date\\\": \\\"2010 Apr\\\", \\\"sentence\\\": \\\"PLX4032, a selective BRAF(V600E) kinase inhibitor, activates the ERK pathway and enhances cell migration and proliferation of BRAF melanoma cells.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C1171350\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0040615\"\n   \"Antipsychotic Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0040615---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:24203573\")\n    (\"publications_info\"\n     \"{\\\"PMID:24203573\\\": {\\\"publication date\\\": \\\"2014 Mar\\\", \\\"sentence\\\": \\\"Taken together, our data suggest that (+/-)-alpha-lipoic acid exerts synergistic effects with haloperidol on the Akt/GSK-3beta pathway, potentially involved in the therapeutic effects of APs, and antagonism of ERK activation and D2R upregulation, potentially involved in tardive dyskinesia and treatment resistance.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0040615\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0003289\"\n   \"Antidepressants\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003289---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:25476565|PMID:30692946\")\n    (\"publications_info\"\n     \"{\\\"PMID:25476565\\\": {\\\"publication date\\\": \\\"2015 Mar 01\\\", \\\"sentence\\\": \\\"Results demonstrate that alarin may exert antidepressant-like effects by targeting TrkB receptor-mediated ERK and AKT signal systems, which could help to identify the alarin receptor.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 623}, \\\"PMID:30692946\\\": {\\\"publication date\\\": \\\"2018\\\", \\\"sentence\\\": \\\"Blockade of the ERK-CREB axis with the ERK-specific inhibitor U0126 repressed the neuroprotective and antidepressant-like effects of paeoniflorin on rats in the setting of chronic-mild-stress and abolished the recoveries of p-ERK mediated by paeoniflorin treatment.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0003289\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0003289\"\n   \"Antidepressants\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003289---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:25476565|PMID:27634096|PMID:31768875\")\n    (\"publications_info\"\n     \"{\\\"PMID:25476565\\\": {\\\"publication date\\\": \\\"2015 Mar 01\\\", \\\"sentence\\\": \\\"This resulted in an absence of antidepressant-like effects, as well as no activation of ERK and AKT signaling pathways.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:27634096\\\": {\\\"publication date\\\": \\\"2016 12\\\", \\\"sentence\\\": \\\"Together, the results demonstrate that these three different rapid acting antidepressant agents increase ERK signaling and BDNF release in an activity dependent manner that leads to increased neuronal complexity.\\\", \\\"subject score\\\": 748, \\\"object score\\\": 861}, \\\"PMID:31768875\\\": {\\\"publication date\\\": \\\"2019 Nov 25\\\", \\\"sentence\\\": \\\"The antidepressant-like effect of guanosine is dependent on GSK-3beta inhibition and activation of MAPK/ERK and Nrf2/heme oxygenase-1 signaling pathways.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 694}}\")\n    (\"subject\" \"UMLS:C0003289\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0013036\"\n   \"Dopaminergic Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0013036---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:24380761\")\n    (\"publications_info\"\n     \"{\\\"PMID:24380761\\\": {\\\"publication date\\\": \\\"2014 Mar\\\", \\\"sentence\\\": \\\"The selective increase in ERK activity in the PFC associated with behavioral sensitization, points to a possible pivotal role of the dopamine projection to the medial frontal cortex in the mediation of neural plasticity, considered to underlie the sensitization processes induced by dopaminergic drugs.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0013036\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0013227\"\n   \"Pharmaceutical Preparations\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0013227---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:11170175|PMID:12151388|PMID:12163544|PMID:14697665|PMID:19683494|PMID:20668238|PMID:21645515|PMID:24348046|PMID:27614430|PMID:29291014|PMID:31649535\")\n    (\"publications_info\"\n     \"{\\\"PMID:24348046\\\": {\\\"publication date\\\": \\\"2013\\\", \\\"sentence\\\": \\\"Additionally, such a combination is expected to reduce MEKi-induced skin toxicities, as these drugs are thought to have antagonistic effects on ERK activation in keratinocytes.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:11170175\\\": {\\\"publication date\\\": \\\"2001 Feb 01\\\", \\\"sentence\\\": \\\"Doxorubicin (0.2 microM), an anticancer drug whose mechanism of action is independent of microtubules, also induced ERK activation, tau phosphorylation and apoptosis.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 645}, \\\"PMID:12151388\\\": {\\\"publication date\\\": \\\"2002 Oct 04\\\", \\\"sentence\\\": \\\"Hence, anti-calmodulin drugs (such as W13, trifluoroperazine, or W7) are able to induce Ras/ERK pathway activation under low levels of growth factors.\\\", \\\"subject score\\\": 790, \\\"object score\\\": 645}, \\\"PMID:12163544\\\": {\\\"publication date\\\": \\\"2002 Aug\\\", \\\"sentence\\\": \\\"These drugs also inhibit TGFbeta1 effects on Akt/PKB phosphorylation but have no effect on TGFbeta1-evoked Erk activation.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 583}, \\\"PMID:14697665\\\": {\\\"publication date\\\": \\\"2003 Dec\\\", \\\"sentence\\\": \\\"Furthermore, glial cell elimination or inactivation in the culture, by gliotoxic drugs, abrogates NO-induced ERK activation.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 619}, \\\"PMID:19683494\\\": {\\\"publication date\\\": \\\"2009 Aug 14\\\", \\\"sentence\\\": \\\"Upregulation of Mig6 by lipid agonists such as LPA and S1P or actin drugs involved MAL and correlated with decreased activation of EGFR, MAPK/Erk, and c-fos.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 694}, \\\"PMID:21645515\\\": {\\\"publication date\\\": \\\"2011 Aug 15\\\", \\\"sentence\\\": \\\"Nevertheless, RalA was not only cytoprotective against multiple chemotherapeutic drugs, but also promigratory inducing stress fiber formation, which was accompanied by the activation of Akt and Erk pathways.\\\", \\\"subject score\\\": 828, \\\"object score\\\": 1000}, \\\"PMID:29291014\\\": {\\\"publication date\\\": \\\"2017 Dec 05\\\", \\\"sentence\\\": \\\"The pattern of upregulated proteins was similar with both drugs and indicates an activated RAF/MEK/ERK pathway, but more proteins were downregulated with sorafenib versus regorafenib.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 742}, \\\"PMID:27614430\\\": {\\\"publication date\\\": \\\"2016 Dec\\\", \\\"sentence\\\": \\\"Therefore, vanadium compounds can be regarded as a novel type of anticancer drugs through the prolonged activation of MAPK/ERK pathway but retained AKT activity.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 802}, \\\"PMID:20668238\\\": {\\\"publication date\\\": \\\"2010 Aug 17\\\", \\\"sentence\\\": \\\"In contrast, the drug activates MEK and ERK phosphorylation in cells with wild-type BRAF.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:31649535\\\": {\\\"publication date\\\": \\\"2019\\\", \\\"sentence\\\": \\\"Activations of Akt or ERK pathway induced by clinical drugs promote therapeutic failure due to decrease of drug response, and no available strategies have been developed to solve these problems.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0013227\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0243192\"\n   \"agonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0243192---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:10187821|PMID:10537288|PMID:10760082|PMID:15149321|PMID:15153488|PMID:15632168|PMID:15944153|PMID:16278303|PMID:16709153|PMID:17312106|PMID:18261471|PMID:19347570|PMID:19501623|PMID:19662020|PMID:21541969|PMID:22306083|PMID:22796106|PMID:23750009|PMID:23991110|PMID:24140231|PMID:24151242|PMID:26107116|PMID:27349565|PMID:27456816|PMID:31266805|PMID:9687510|PMID:9870938|PMID:9933031|PMID:9990315\")\n    (\"publications_info\"\n     \"{\\\"PMID:24151242\\\": {\\\"publication date\\\": \\\"2013 Dec 01\\\", \\\"sentence\\\": \\\"However, this phenotype is most obvious on a G(389)-beta1AR background; the more robust agonist-dependent cAMP/PKA and ERK responses in R(389)-beta1AR cells effectively obscure the effect of the S49G polymorphism.\\\", \\\"subject score\\\": 740, \\\"object score\\\": 861}, \\\"PMID:23991110\\\": {\\\"publication date\\\": \\\"2013\\\", \\\"sentence\\\": \\\"Agonist-induced Erk phosphorylation was preceded by rapid FGFR and EGFR transactivation; however, only EGFR inhibition blocked Erk activation and proliferation.\\\", \\\"subject score\\\": 775, \\\"object score\\\": 775}, \\\"PMID:23750009\\\": {\\\"publication date\\\": \\\"2013 Aug 15\\\", \\\"sentence\\\": \\\"The effects of ARRBs were isoform specific; ARRB2 inhibited MC1R agonist-dependent cAMP production but not ERK activation, stimulated internalization and showed prolonged co-localization with the receptor in endocytic vesicles.\\\", \\\"subject score\\\": 799, \\\"object score\\\": 660}, \\\"PMID:24140231\\\": {\\\"publication date\\\": \\\"2013 Nov 15\\\", \\\"sentence\\\": \\\"Agonist-induced thromboxane A2 (TxA2) generation and ERK phosphorylation were significantly inhibited by TBCA.\\\", \\\"subject score\\\": 833, \\\"object score\\\": 861}, \\\"PMID:9687510\\\": {\\\"publication date\\\": \\\"1998 Aug 03\\\", \\\"sentence\\\": \\\"In HeLa, PC12 and SK-N-MC cells, PD 98059 and SB 203580 are both required to suppress the activation of MSK1 by TNF, NGF and FGF, respectively, because these agonists activate both the MAPK/ERK and SAPK2/p38 cascades.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 694}, \\\"PMID:9990315\\\": {\\\"publication date\\\": \\\"1998 Dec 15\\\", \\\"sentence\\\": \\\"TPO by itself did not activate ERK1, ERK2 and protein kinase C (PKC), whereas TPO directly enhanced the PKC-dependent activation of ERKs induced by other agonists including thrombin and phorbol esters, without affecting the PKC activation by those agonists.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:9933031\\\": {\\\"publication date\\\": \\\"1999 Feb 15\\\", \\\"sentence\\\": \\\"Our results show that although activation of PKC was critical for mitogenesis induced by Ang II or EGF, the initial activation of ERK by both agonists in these cells was essentially independent of PKC activation and was insensitive to Ca2+ mobilization.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:9870938\\\": {\\\"publication date\\\": \\\"1999 Jan 01\\\", \\\"sentence\\\": \\\"Parallel immunofluorescence confocal microscopy, using an anti-ERK antibody, showed that agonist-induced time-dependent ERK IR trafficking into perinuclear and nuclear loci was impaired in the internalization-defective cells.\\\", \\\"subject score\\\": 763, \\\"object score\\\": 763}, \\\"PMID:10187821\\\": {\\\"publication date\\\": \\\"1999 Apr 09\\\", \\\"sentence\\\": \\\"Point mutations within highly conserved regions of TM6 and intracellular loop 3 were without effect on agonist-stimulated ERK activation.\\\", \\\"subject score\\\": 645, \\\"object score\\\": 645}, \\\"PMID:10537288\\\": {\\\"publication date\\\": \\\"1999 Oct 15\\\", \\\"sentence\\\": \\\"Elimination of extracellular Ca2+ by EGTA also did not abolish the activation of ERK by GnRHa.\\\", \\\"subject score\\\": 916, \\\"object score\\\": 1000}, \\\"PMID:15944153\\\": {\\\"publication date\\\": \\\"2005 Jul 29\\\", \\\"sentence\\\": \\\"The mu agonist, [D-ala2,mephe4,glyol5]enkephalin (DAMGO), induces a transient stimulation of ERK phosphorylation, whereas kappa agonist, U69,593, engenders sustained ERK activation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 660}, \\\"PMID:18261471\\\": {\\\"publication date\\\": \\\"2008 Mar\\\", \\\"sentence\\\": \\\"This calcilytic also attenuated CaR agonist-induced ERK activation in these cells.\\\", \\\"subject score\\\": 520, \\\"object score\\\": 520}, \\\"PMID:17312106\\\": {\\\"publication date\\\": \\\"2007 Mar 01\\\", \\\"sentence\\\": \\\"BBPs did not inhibit activation of ERK induced by P2C, a TLR2/6 agonist.\\\", \\\"subject score\\\": 802, \\\"object score\\\": 1000}, \\\"PMID:15153488\\\": {\\\"publication date\\\": \\\"2004 Jun 01\\\", \\\"sentence\\\": \\\"ERK is also activated by CCR2 agonists, e.g., monocyte chemoattractant protein-1 (CCL2).\\\", \\\"subject score\\\": 861, \\\"object score\\\": 1000}, \\\"PMID:15632168\\\": {\\\"publication date\\\": \\\"2005 Mar 04\\\", \\\"sentence\\\": \\\"These results show that specific kinetics of ERK activation by agonists and dual efficacy ligands are determined, at least in part, by the differential ability of the two types of drugs to trigger mechanisms regulating deltaOR responsiveness.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:16709153\\\": {\\\"publication date\\\": \\\"2006 Sep 01\\\", \\\"sentence\\\": \\\"More fundamentally, these observations shed new light on enigmatic issues such as the inefficacy of S17N-Ras in blocking PE action or the role of the EGFR in heterologous agonist activation of the Ras/ERK pathway.\\\", \\\"subject score\\\": 623, \\\"object score\\\": 827}, \\\"PMID:22306083\\\": {\\\"publication date\\\": \\\"2012 May 15\\\", \\\"sentence\\\": \\\"We further investigated the apoptotic mechanism demonstrating that E2, as well as ESR1 and GPER specific agonists, induced sustained ERK, c-Jun and p38 phosphorylation, Cytochrome c release, caspase 3 and endogenous substrate Poly (ADP-ribose) polymerase (PARP) activation and increased expression of cell cycle inhibitor p21.\\\", \\\"subject score\\\": 827, \\\"object score\\\": 694}, \\\"PMID:22796106\\\": {\\\"publication date\\\": \\\"2012 Nov\\\", \\\"sentence\\\": \\\"Blockade of glutamate release achieved by the mGluR2/3 agonist, LY354740 or the selective adenosine A1R agonist, CCPA as well as neurotoxic lesions of lateral entorhinal cortex reduced the ability of SKF81297 to induce ERK activation in the dentate gyrus.\\\", \\\"subject score\\\": 802, \\\"object score\\\": 1000}, \\\"PMID:19662020\\\": {\\\"publication date\\\": \\\"2009 Oct\\\", \\\"sentence\\\": \\\"Furthermore, the inverse agonist activity olmesartan exerts against stretch-induced ERK activation requires an additional drug-receptor interaction involving the tetrazole group of olmesartan and Gln(257) of the AT(1) receptor.\\\", \\\"subject score\\\": 833, \\\"object score\\\": 566}, \\\"PMID:19501623\\\": {\\\"publication date\\\": \\\"2009 Dec\\\", \\\"sentence\\\": \\\"Thus, in intact brain HB-EGF, known to be expressed in brain, may be the major EGF agonist released in response to stimulation of alpha(2)-adrenoceptors, the released agonist(s) activate(s) EGF receptors, and ERK(1/2) is phosphorylated as a conventional response to EGF receptor activation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:27456816\\\": {\\\"publication date\\\": \\\"2016 07 26\\\", \\\"sentence\\\": \\\"We also demonstrate the ability of these new agonists to induce receptor internalization, ERK activation, and chemotaxis, all hallmarks of CXCR4 activation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:26107116\\\": {\\\"publication date\\\": \\\"2015 Oct\\\", \\\"sentence\\\": \\\"The TRHR1 agonist, taltirelin, injection in the BLA increased the level of p-ERK, which mimicked the increased p-ERK level in the BLA that was induced by treatment with repeated stress.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 861}, \\\"PMID:27349565\\\": {\\\"publication date\\\": \\\"2016 Oct 10\\\", \\\"sentence\\\": \\\"To our knowledge this is the first report of ERK and JNK activation in MCF10A and MCF12A cells with P4, P4 metabolites, MPA, and MPR-Ag.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 1000}, \\\"PMID:19347570\\\": {\\\"publication date\\\": \\\"2009 May\\\", \\\"sentence\\\": \\\"PPAR gamma partial agonist, KR-62776, inhibits adipocyte differentiation via activation of ERK.\\\", \\\"subject score\\\": 851, \\\"object score\\\": 1000}, \\\"PMID:16278303\\\": {\\\"publication date\\\": \\\"2006 Mar 01\\\", \\\"sentence\\\": \\\"ANXA1 and Ac2-26 acted as genuine agonists; Ac2-26 binding led to ERK activation in both FPR- and FPRL-1/ALX-transfected cells, while ANXA1 caused ERK activation only in cells transfected with FPRL-1/ALX.\\\", \\\"subject score\\\": 853, \\\"object score\\\": 1000}, \\\"PMID:15149321\\\": {\\\"publication date\\\": \\\"2004 Jun\\\", \\\"sentence\\\": \\\"The role of ERK and phosphorylation in PPAR gamma activation were studied, as were the effects of PPAR agonists on ERK activation and cell proliferation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:21541969\\\": {\\\"publication date\\\": \\\"2011 Jun 15\\\", \\\"sentence\\\": \\\"GnRH receptor levels correlated with induction of inositol phosphates, elevation of intracellular Ca(2+) , cytoskeletal actin reorganization, modulation of ERK activation and cell growth-inhibition with GnRH agonists.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:10760082\\\": {\\\"publication date\\\": \\\"2000 Apr\\\", \\\"sentence\\\": \\\"In contrast to ADPKD, proliferation and ERK activity of cells derived from normal HKC were not stimulated by cAMP agonists, although electrogenic Cl- secretion was increased by these agonists in both ADPKD and HKC cell monolayers.\\\", \\\"subject score\\\": 802, \\\"object score\\\": 861}, \\\"PMID:31266805\\\": {\\\"publication date\\\": \\\"2019 Aug 16\\\", \\\"sentence\\\": \\\"We conclude that PTPN7 regulates platelet functional responses downstream of GPCR agonists, but not GPVI agonists, through inhibition of ERK activation and thromboxane generation.\\\", \\\"subject score\\\": 928, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0243192\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C1443775\"\n   \"Epidermal growth factor receptor inhibitor (product)\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1443775---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:16211241|PMID:18636178|PMID:19127349|PMID:19154417|PMID:19854188|PMID:22033246|PMID:24021351\")\n    (\"publications_info\"\n     \"{\\\"PMID:24021351\\\": {\\\"publication date\\\": \\\"2013 Nov 15\\\", \\\"sentence\\\": \\\"The EGFR inhibitor also inhibited the B[a]PDE-induced MEK/ERK and Akt signaling pathways and subsequently, suppressed COX-2 expression and promoter activity, in addition to suppressing the transactivation of AP-1 and NF-kappaB.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 549}, \\\"PMID:16211241\\\": {\\\"publication date\\\": \\\"2005 Nov\\\", \\\"sentence\\\": \\\"Paclitaxel-induced ERK and AKT activity was inhibited by the EGFR inhibitor, PD153035; ERK inhibitor, U0126; and PI3 kinase inhibitor, LY294002, respectively.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 827}, \\\"PMID:18636178\\\": {\\\"publication date\\\": \\\"2008 Aug\\\", \\\"sentence\\\": \\\"PD153035, an EGFR inhibitor, and U0126, an ERK inhibitor, inhibit atRA-induced upregulation of AQP3.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 827}, \\\"PMID:19154417\\\": {\\\"publication date\\\": \\\"2009 Mar\\\", \\\"sentence\\\": \\\"In these three high-sensitivity cells, the ERK pathway was activated without ligand stimulation, which was inhibited by EGFR TKI.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:19127349\\\": {\\\"publication date\\\": \\\"2009 Feb\\\", \\\"sentence\\\": \\\"The loss in countering capacity of leptin on the ethanol-induced cytotoxicity was attained with Src kinase inhibitor, PP2, and EGFR kinase inhibitor, AG1478, as well as ERK inhibitor, PD98059.\\\", \\\"subject score\\\": 938, \\\"object score\\\": 827}, \\\"PMID:22033246\\\": {\\\"publication date\\\": \\\"2012 Jan 28\\\", \\\"sentence\\\": \\\"EGF induced the phosphorylation of EGFR, smad3, ERK, and JNK, and MMP-9 expression was decreased by the EGFR inhibitor, AG1478.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:19854188\\\": {\\\"publication date\\\": \\\"2009 Nov 19\\\", \\\"sentence\\\": \\\"Signal analyses showed that evodiamine stimulated the phosphorylation of EGFR, PKCalpha, and ERK, all of which were reduced by an EGFR inhibitor.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1443775\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0243042\"\n   \"Inflammation Mediators\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0243042---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:25501336\")\n    (\"publications_info\"\n     \"{\\\"PMID:25501336\\\": {\\\"publication date\\\": \\\"2014 Dec 09\\\", \\\"sentence\\\": \\\"These results suggest that pheophytin a functions by down-regulating the transcriptional levels of inflammatory mediators and blocking the ERK and STAT-1 pathways.\\\", \\\"subject score\\\": 964, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0243042\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0003211\"\n   \"Anti-Inflammatory Agents, Non-Steroidal\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003211---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:25406016\")\n    (\"publications_info\"\n     \"{\\\"PMID:25406016\\\": {\\\"publication date\\\": \\\"2015 Feb\\\", \\\"sentence\\\": \\\"In growth plate chondrocytes, inhibition of proliferation and ERK activation by NSAIDs is reversed by forskolin, 8-bromoadenosine, 3',5'-cAMP and a prostacyclin analog, iloprost.\\\", \\\"subject score\\\": 988, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0003211\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0003402\"\n   \"Antioxidants\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003402---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:12682429|PMID:15698432|PMID:21344382|PMID:24534200|PMID:25485998|PMID:27916558\")\n    (\"publications_info\"\n     \"{\\\"PMID:24534200\\\": {\\\"publication date\\\": \\\"2014 Sep 01\\\", \\\"sentence\\\": \\\"Moreover, ERK activation induced by PFHxS was blocked by MK801 but not antioxidants.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:25485998\\\": {\\\"publication date\\\": \\\"2015 Apr\\\", \\\"sentence\\\": \\\"Several studies have suggested that ERK activation in lung cells has a protective effect in response to hyperoxia, through stimulation of DNA repair and antioxidant mechanisms, and prolonged cell survival.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:27916558\\\": {\\\"publication date\\\": \\\"2017 Feb 05\\\", \\\"sentence\\\": \\\"Therefore, the cardioprotective effects of CAR may be attributed to its antioxidant and antiapoptotic activities through activations of the MAPK/ERK and Akt/eNOS signaling pathways.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 694}, \\\"PMID:12682429\\\": {\\\"publication date\\\": \\\"2003 Feb\\\", \\\"sentence\\\": \\\"To determine whether reactive oxygen species (ROS) play a role in mediating ERK activation and 6-OHDA toxicity, we examined the effects of catalase, superoxide dismutase (SOD1), and metalloporphyrin antioxidants ('SOD mimetics') on 6-OHDA-treated cells.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:21344382\\\": {\\\"publication date\\\": \\\"2011 Dec\\\", \\\"sentence\\\": \\\"Our experimental results clearly demonstrated that induction of p-ERK and cell proliferation by arsenite is mediated via oxidative stress, since antioxidants can inhibit arsenite-induced cell transformation.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:15698432\\\": {\\\"publication date\\\": \\\"2005 Mar\\\", \\\"sentence\\\": \\\"Activation of ERK in renal fibrosis after unilateral ureteral obstruction: modulation by antioxidants.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0003402\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0013162\"\n   \"Drug Combinations\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0013162---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:23501104|PMID:25704960|PMID:28649441\")\n    (\"publications_info\"\n     \"{\\\"PMID:23501104\\\": {\\\"publication date\\\": \\\"2013 Apr 19\\\", \\\"sentence\\\": \\\"The enhanced therapeutic efficacy of the drug combination was achieved by a relatively transient blockade of the ERK pathway.\\\", \\\"subject score\\\": 966, \\\"object score\\\": 861}, \\\"PMID:28649441\\\": {\\\"publication date\\\": \\\"2017\\\", \\\"sentence\\\": \\\"Prospective simulations were then used to evaluate potential drug combinations and predictive biomarkers for increasing responsiveness to MEK/ERK inhibitors in these patients.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 802}, \\\"PMID:25704960\\\": {\\\"publication date\\\": \\\"2015 Sep\\\", \\\"sentence\\\": \\\"The drug combination inactivated ERK, AKT, p70 S6K, and mTOR and activated JNK.\\\", \\\"subject score\\\": 966, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0013162\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0026249\"\n   \"Mitogens\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0026249---SEMMEDDB:stimulates---None---None---increased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:18334532|PMID:20030620|PMID:24212659\")\n    (\"publications_info\"\n     \"{\\\"PMID:24212659\\\": {\\\"publication date\\\": \\\"2011 Mar 08\\\", \\\"sentence\\\": \\\"They also completely block the activity of mitogens such as epidermal growth factor's ability to stimulate ERK and Ras.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:18334532\\\": {\\\"publication date\\\": \\\"2008 May\\\", \\\"sentence\\\": \\\"In vivo, recruitment of ERK and MSK is stimulated by mitogens, correlates with histone H3 phosphorylation and is impaired by Elk-1 knockdown.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:20030620\\\": {\\\"publication date\\\": \\\"2010\\\", \\\"sentence\\\": \\\"They also completely block the activity of mitogens such as epidermal growth factor's ability to stimulate ERK.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0026249\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0013227\"\n   \"Pharmaceutical Preparations\"\n   \"biolink:regulates\"\n   \"NCBIGene:2048\"\n   \"EPHB2\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0013227---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:2048---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:2048\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:11408604|PMID:12543078|PMID:15843040|PMID:18223169|PMID:21251612|PMID:21879255|PMID:24559688|PMID:30482227\")\n    (\"publications_info\"\n     \"{\\\"PMID:24559688\\\": {\\\"publication date\\\": \\\"2014 May\\\", \\\"sentence\\\": \\\"The sensitivity to the drug was accompanied by a potent inhibition of both phospho-ERK and phospho-AKT, and a significant induction of apoptosis while absent in lines with intrinsic or acquired resistance.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:11408604\\\": {\\\"publication date\\\": \\\"2001 Jul\\\", \\\"sentence\\\": \\\"The Src-family tyrosine kinase inhibitor PP2 blocked MAPK activation by dopamine; however, this drug was also found to inhibit PDGF-BB-stimulated ERK activity and autophosphorylation of the PDGF receptor-beta.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 872}, \\\"PMID:12543078\\\": {\\\"publication date\\\": \\\"2002 Nov 24\\\", \\\"sentence\\\": \\\"Interestingly, all of the effective drugs inhibited the ERK activity, while the drugs had no effects on p38 MAPK activity and IkappaB degradation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 861}, \\\"PMID:18223169\\\": {\\\"publication date\\\": \\\"2008 Apr 01\\\", \\\"sentence\\\": \\\"Finally, CD38 stimulation of T2 B lymphocytes obtained from Btk-, Lyn-, or Fyn-deficient mice showed a defective differentiation; similarly, drugs interfering with PI3K or ERK decreased the proliferation or differentiation of this subset.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:15843040\\\": {\\\"publication date\\\": \\\"2005 Apr 15\\\", \\\"sentence\\\": \\\"While ERK1/2 activation was a general phenomenon, irrespective of the used cell type or antitumour drug, the MEK/ERK inhibitors only reduced cisplatin toxicity in human myeloid cells (THP-1, HL-60 and NB-4), but not in RAW 264.7 mouse macrophages and NRK-52E rat renal tubular cells; and failed to reduce the toxicity etoposide, camptothecin, melphalan and arsenic trioxide, in U-937 cells.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 753}, \\\"PMID:21879255\\\": {\\\"publication date\\\": \\\"2012 Jan\\\", \\\"sentence\\\": \\\"Neither (ZEGFR:1907)2 nor any of the other             drugs were able to completely inactivate Akt or Erk.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:21251612\\\": {\\\"publication date\\\": \\\"2011 Jan 18\\\", \\\"sentence\\\": \\\"These drugs thus selectively inhibit ERK signaling in tumors with BRAF mutation.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 861}, \\\"PMID:30482227\\\": {\\\"publication date\\\": \\\"2018 Nov 27\\\", \\\"sentence\\\": \\\"BACKGROUND: Drugs that inhibit the MEK/ERK pathway have therapeutic benefit in bladder cancer treatment but responses vary with patients, for reasons that are still not very clear.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 802}}\")\n    (\"subject\" \"UMLS:C0013227\"))\n   ((\"id\"\n     \"NCBIGene:2048---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:2048\")))\n  (\"UMLS:C0017302\"\n   \"General anesthetic drugs\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0017302---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:26400403\")\n    (\"publications_info\"\n     \"{\\\"PMID:26400403\\\": {\\\"publication date\\\": \\\"2015 Dec\\\", \\\"sentence\\\": \\\"While all three general anesthetics effectively blocked nociceptive responses and activation of ERK in the rat ACC following formalin injection during anesthesia, only sevoflurane inhibited ERK activation in the spinal cord and ACC at 24 h post-injection.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0017302\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0304497\"\n   \"Cytotoxic agent (product)\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0304497---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:29507530\")\n    (\"publications_info\"\n     \"{\\\"PMID:29507530\\\": {\\\"publication date\\\": \\\"2018\\\", \\\"sentence\\\": \\\"Conclusion: Taken together, our data identified nilotinib as a cytotoxic drug that combined with ERK inhibitors deserves to be tested as a novel therapy for adrenocortical carcinoma.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0304497\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0597220\"\n   \"phospholipase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0597220---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:19048108\")\n    (\"publications_info\"\n     \"{\\\"PMID:19048108\\\": {\\\"publication date\\\": \\\"2008\\\", \\\"sentence\\\": \\\"A phospholipase Cgamma (PLCgamma) inhibitor and shRNA, as well as an Erk inhibitor, reduced ST6Gal1 and FUT9 mRNA levels and inhibited effects of L1 on neurite outgrowth and cell survival.\\\", \\\"subject score\\\": 913, \\\"object score\\\": 827}}\")\n    (\"subject\" \"UMLS:C0597220\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0040616\"\n   \"Anti-Anxiety Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0040616---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30102992\")\n    (\"publications_info\"\n     \"{\\\"PMID:30102992\\\": {\\\"publication date\\\": \\\"2018 Nov 15\\\", \\\"sentence\\\": \\\"CONCLUSION: This study demonstrated that aqueous extracts from S. japonicus viscera are effective whitening and anti-aging agents that stimulate ERK signaling to inhibit melanin synthesis and promote collagen synthesis.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0040616\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0003211\"\n   \"Anti-Inflammatory Agents, Non-Steroidal\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003211---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16230075\")\n    (\"publications_info\"\n     \"{\\\"PMID:16230075\\\": {\\\"publication date\\\": \\\"2005 Oct\\\", \\\"sentence\\\": \\\"Exposure to NSAIDs inhibits Sp1 and ERK phosphorylation.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0003211\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1514713\"\n   \"Raf Kinase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514713---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:18163502\")\n    (\"publications_info\"\n     \"{\\\"PMID:18163502\\\": {\\\"publication date\\\": \\\"2008 Jan\\\", \\\"sentence\\\": \\\"Components of the ERK pathway were inhibited by Raf-1 kinase inhibitor and the MEK inhibitor, PD98059.\\\", \\\"subject score\\\": 923, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C1514713\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0003385\"\n   \"Muscarinic Antagonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003385---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:19533734\")\n    (\"publications_info\"\n     \"{\\\"PMID:19533734\\\": {\\\"publication date\\\": \\\"2009 Dec\\\", \\\"sentence\\\": \\\"These effects of fustin were reversed by treatment with dicyclomine, a muscarinic M1 receptor antagonist, and SL327, a selective ERK inhibitor, but not by chelerythrine, a pan-protein kinase C (PKC) inhibitor.\\\", \\\"subject score\\\": 880, \\\"object score\\\": 793}}\")\n    (\"subject\" \"UMLS:C0003385\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0729502\"\n   \"Chemotherapeutic agent\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0729502---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30288546\")\n    (\"publications_info\"\n     \"{\\\"PMID:30288546\\\": {\\\"publication date\\\": \\\"2018 Dec\\\", \\\"sentence\\\": \\\"Combining chemotherapeutic agents with HDAC inhibitor (TSA) or with targeting Raf/MEK/ERK pathway is promising to circumvent chemoresistance in UCs.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 754}}\")\n    (\"subject\" \"UMLS:C0729502\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0598695\"\n   \"NMDA receptor antagonist\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0598695---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:19361551\")\n    (\"publications_info\"\n     \"{\\\"PMID:19361551\\\": {\\\"publication date\\\": \\\"2009 Aug\\\", \\\"sentence\\\": \\\"ERK activation could indicate a stress-mediated increase in glutamatergic signaling, therefore mice were treated prior to SNI and stress with memantine, an N-methyl-D-aspartate receptor (NMDAR) antagonist.\\\", \\\"subject score\\\": 954, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0598695\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1136254\"\n   \"Microbicides\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1136254---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:26129676\")\n    (\"publications_info\"\n     \"{\\\"PMID:26129676\\\": {\\\"publication date\\\": \\\"2015 Aug\\\", \\\"sentence\\\": \\\"In this study, we report that one of the antimicrobial peptides scolopendrasin VII, derived from Scolopendra subspinipes mutilans, stimulates actin polymerization and the subsequent chemotactic migration of macrophages through the activation of ERK and protein kinase B (Akt) activity.\\\", \\\"subject score\\\": 764, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1136254\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0051821\"\n   \"andrographolide\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0051821---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:27475717\")\n    (\"publications_info\"\n     \"{\\\"PMID:27475717\\\": {\\\"publication date\\\": \\\"2016 09 15\\\", \\\"sentence\\\": \\\"In addition, ERK and GSK3beta-dependent C/EBPbeta phosphorylation was attenuated by andrographolide.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0051821\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0178601\"\n   \"Dopamine Agonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0178601---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:26153447\")\n    (\"publications_info\"\n     \"{\\\"PMID:26153447\\\": {\\\"publication date\\\": \\\"2015 Oct\\\", \\\"sentence\\\": \\\"Pretreatment with a positive allosteric modulator (PAM) of muscarinic acetylcholine M4 receptors (M4Rs), VU0152100, attenuated the D1R agonist-stimulated ERK phosphorylation in the two regions, whereas the PAM itself did not alter basal ERK phosphorylation.\\\", \\\"subject score\\\": 819, \\\"object score\\\": 819}}\")\n    (\"subject\" \"UMLS:C0178601\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0002932\"\n   \"Anesthetics\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0002932---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:29186909\")\n    (\"publications_info\"\n     \"{\\\"PMID:29186909\\\": {\\\"publication date\\\": \\\"2017 Nov 27\\\", \\\"sentence\\\": \\\"Ketamine, a Clinically Used Anesthetic, Inhibits Vascular Smooth Muscle Cell Proliferation via PP2A-Activated PI3K/Akt/ERK Inhibition.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 741}}\")\n    (\"subject\" \"UMLS:C0002932\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1449680\"\n   \"Angiotensin II Type 1 Receptor Blockers\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1449680---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:28871467\")\n    (\"publications_info\"\n     \"{\\\"PMID:28871467\\\": {\\\"publication date\\\": \\\"2018 Feb\\\", \\\"sentence\\\": \\\"In addition, HASMC proliferation was suppressed by the addition of an AT-1R blocker (olmesartan), an ERK1/2 inhibitor (PD98059), and a p38MAPK inhibitor (SB202190).\\\", \\\"subject score\\\": 993, \\\"object score\\\": 827}}\")\n    (\"subject\" \"UMLS:C1449680\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0962192\"\n   \"Bay 11-7085\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0962192---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:26993765\")\n    (\"publications_info\"\n     \"{\\\"PMID:26993765\\\": {\\\"publication date\\\": \\\"2016 Apr 26\\\", \\\"sentence\\\": \\\"Inhibition of autophagy markedly decreased endogenous and BAY 11-7085-induced ERK phosphorylation, suggesting a positive feed back loop between ERK activation and autophagy in synovial fibroblasts.\\\", \\\"subject score\\\": 816, \\\"object score\\\": 816}}\")\n    (\"subject\" \"UMLS:C0962192\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0243192\"\n   \"agonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0243192---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:20553736|PMID:26993765|PMID:27551480\")\n    (\"publications_info\"\n     \"{\\\"PMID:27551480\\\": {\\\"publication date\\\": \\\"2015\\\", \\\"sentence\\\": \\\"Furthermore, levels of phosphor-TSC2 (Ser664) were increased after treatment with FVII and PAR2 agonist whereas these were significantly abolished in the presence of a potent and specific MEK/ERK inhibitor U0126.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 729}, \\\"PMID:26993765\\\": {\\\"publication date\\\": \\\"2016 Apr 26\\\", \\\"sentence\\\": \\\"Both BAY 11-7085-induced autophagy and GR activation were down regulated with PPAR-gamma agonist, 15d-PGJ2 and MEK/ERK inhibitor UO126.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 764}, \\\"PMID:20553736\\\": {\\\"publication date\\\": \\\"2010 Jul 03\\\", \\\"sentence\\\": \\\"The effect was synergistically augmented by PPARgamma agonist, but attenuated by inhibitors of PPARgamma, ERK or p38 MAPK.\\\", \\\"subject score\\\": 938, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0243192\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0040616\"\n   \"Anti-Anxiety Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0040616---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:27876502|PMID:29137241\")\n    (\"publications_info\"\n     \"{\\\"PMID:29137241\\\": {\\\"publication date\\\": \\\"2017 Oct 10\\\", \\\"sentence\\\": \\\"CZ415 could be further tested as a promising anti-osteosarcoma agent, alone or in combination of ERK inhibition.\\\", \\\"subject score\\\": 844, \\\"object score\\\": 861}, \\\"PMID:27876502\\\": {\\\"publication date\\\": \\\"2017 Jan 04\\\", \\\"sentence\\\": \\\"CONCLUSION: The results indicate that OD as an anti-metastatic agent suppresses the metastatic response by targeting p-ERK, p-38 and NF-kappaB, thus reducing the invasion capacity of MCF-7 breast cancer cells through inhibition of MMP-9 and ICAM-1 expression and plays an important role in the regulation of breast cancer cell apoptosis.\\\", \\\"subject score\\\": 896, \\\"object score\\\": 790}}\")\n    (\"subject\" \"UMLS:C0040616\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1373060\"\n   \"Nitric Oxide Synthase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1373060---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:22160804\")\n    (\"publications_info\"\n     \"{\\\"PMID:22160804\\\": {\\\"publication date\\\": \\\"2012 Apr\\\", \\\"sentence\\\": \\\"The effects of iNOS inhibitors were associated with diminished ouabain tyrosine nitration as well as abrogation of ouabain-induced p38 and ERK phosphorylation.\\\", \\\"subject score\\\": 937, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C1373060\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0003209\"\n   \"Anti-Inflammatory Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003209---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:21347512\")\n    (\"publications_info\"\n     \"{\\\"PMID:21347512\\\": {\\\"publication date\\\": \\\"2011 May\\\", \\\"sentence\\\": \\\"Aspirin, an anti-inflammatory drug, is a known ERK inhibitor and prevents neurodegenerative disorders including prion diseases.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 785}}\")\n    (\"subject\" \"UMLS:C0003209\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1171350\"\n   \"kinase inhibitor [EPC]\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1171350---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:19127349|PMID:19890601\")\n    (\"publications_info\"\n     \"{\\\"PMID:19127349\\\": {\\\"publication date\\\": \\\"2009 Feb\\\", \\\"sentence\\\": \\\"The loss in countering capacity of leptin on the ethanol-induced cytotoxicity was attained with Src kinase inhibitor, PP2, and EGFR kinase inhibitor, AG1478, as well as ERK inhibitor, PD98059.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 827}, \\\"PMID:19890601\\\": {\\\"publication date\\\": \\\"2010 Jul\\\", \\\"sentence\\\": \\\"The sole systemic therapy that has shown efficacy in improving the survival of HCC patients is sorafenib, an oral kinase inhibitor that blocks the Raf/MEK/ERK pathway and the receptor for VEGFR 2 and PDGFR-beta.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 763}}\")\n    (\"subject\" \"UMLS:C1171350\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0002932\"\n   \"Anesthetics\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0002932---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:17492663\")\n    (\"publications_info\"\n     \"{\\\"PMID:17492663\\\": {\\\"publication date\\\": \\\"2007 Oct 01\\\", \\\"sentence\\\": \\\"Volatile anesthetics affect the morphology of rat glioma C6 cells via RhoA, ERK, and Akt activation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0002932\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C3543842\"\n   \"Tonics\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C3543842---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:15327816\")\n    (\"publications_info\"\n     \"{\\\"PMID:15327816\\\": {\\\"publication date\\\": \\\"2004 Sep\\\", \\\"sentence\\\": \\\"The results from this study indicate that persistent ERK activation is required for the enhanced behavioral responses to spinal group I mGluR activation following inflammation and suggest that tonic modulation of ERK activity may underlie a component of central sensitization in dorsal horn neurons.\\\", \\\"subject score\\\": 661, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C3543842\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1517132\"\n   \"Farnesyl Transferase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1517132---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16712893\")\n    (\"publications_info\"\n     \"{\\\"PMID:16712893\\\": {\\\"publication date\\\": \\\"2006 Sep 15\\\", \\\"sentence\\\": \\\"Both FTIs successfully inhibited the ERK and activated JNK in RIE/K-ras cells.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1517132\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1579373\"\n   \"Drugs used for the treatment of acute migraine\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1579373---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16020508\")\n    (\"publications_info\"\n     \"{\\\"PMID:16020508\\\": {\\\"publication date\\\": \\\"2005 Nov 01\\\", \\\"sentence\\\": \\\"Thus, Tregs share biochemical characteristics of anergy, including abortive activation of Ras-MEK-Erk, increased activation of Rap1, and increased expression of p27kip1.\\\", \\\"subject score\\\": 694, \\\"object score\\\": 660}}\")\n    (\"subject\" \"UMLS:C1579373\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0243042\"\n   \"Inflammation Mediators\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0243042---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:15379598|PMID:22253793|PMID:30455267\")\n    (\"publications_info\"\n     \"{\\\"PMID:15379598\\\": {\\\"publication date\\\": \\\"2004 Sep\\\", \\\"sentence\\\": \\\"In particular, mitogen-activated protein kinase (MAPK), such as ERK and p38, is activated by inflammatory mediators in primary sensory and secondary order dorsal horn neurons and participates in the generation and maintenance of inflammatory pain.\\\", \\\"subject score\\\": 964, \\\"object score\\\": 1000}, \\\"PMID:22253793\\\": {\\\"publication date\\\": \\\"2012\\\", \\\"sentence\\\": \\\"Furthermore, TLR agonists or live pathogen (S. aureus, P. aeruginosa, & C. albicans)-challenged Muller glia produced significantly higher levels of inflammatory mediators (TNF-alpha, IL-1beta, IL-6 and IL-8), concomitantly with the activation of NF-kappaB, p38 and Erk signaling.\\\", \\\"subject score\\\": 964, \\\"object score\\\": 861}, \\\"PMID:30455267\\\": {\\\"publication date\\\": \\\"2018 Dec 03\\\", \\\"sentence\\\": \\\"Mechanistically, TLR8, localizing in the endosomes and lysosomes, mediated ERK activation, inflammatory mediators' production, and neuronal hyperexcitability after SNL.\\\", \\\"subject score\\\": 877, \\\"object score\\\": 627}}\")\n    (\"subject\" \"UMLS:C0243042\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0304403\"\n   \"Psychostimulant (substance)\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0304403---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16954211\")\n    (\"publications_info\"\n     \"{\\\"PMID:16954211\\\": {\\\"publication date\\\": \\\"2006 Oct 27\\\", \\\"sentence\\\": \\\"In contrast, psychostimulants activate ERK and induce hyperactivity in normal animals.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0304403\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1519313\"\n   \"Signal Transduction Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1519313---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:15655409\")\n    (\"publications_info\"\n     \"{\\\"PMID:15655409\\\": {\\\"publication date\\\": \\\"2005 Feb\\\", \\\"sentence\\\": \\\"BAY 43-9006 (BAY) is a novel signal transduction inhibitor that prevents tumor cell proliferation and angiogenesis through blockade of the Raf/MEK/ERK pathway at the level of Raf kinase and the receptor tyrosine kinases vascular endothelial growth factor receptor-2 and platelet-derived growth factor receptor-beta.\\\", \\\"subject score\\\": 916, \\\"object score\\\": 763}}\")\n    (\"subject\" \"UMLS:C1519313\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1514727\"\n   \"Ras Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514727---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12812842\")\n    (\"publications_info\"\n     \"{\\\"PMID:12812842\\\": {\\\"publication date\\\": \\\"2003 Jul 03\\\", \\\"sentence\\\": \\\"Ras inhibitor, Erk blocker or phosphatidylinositol 3-kinase inhibitor decreased depolarization- or NO donor-promoted survival.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1514727\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1268567\"\n   \"Protein-tyrosine kinase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1268567---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:11978788|PMID:22773546|PMID:30258794\")\n    (\"publications_info\"\n     \"{\\\"PMID:11978788\\\": {\\\"publication date\\\": \\\"2002 Jun 28\\\", \\\"sentence\\\": \\\"In rat extensor digitorum longus (EDL) muscles, (a) AMPK activator, 5-aminoimidazole-4-carboxamide-1-beta-d-riboside (AICAR), activated PYK2, ERK and aPKCs; (b) effects of AICAR on ERK and aPKCs were blocked by tyrosine kinase inhibitor, genistein, and MEK1 inhibitor, PD98059; and (c) effects of AICAR on aPKCs and 2-deoxyglucose (2-DOG) uptake were inhibited by genistein, PD98059, and PLD-inhibitor, 1-butanol.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:30258794\\\": {\\\"publication date\\\": \\\"2018 Sep-Oct\\\", \\\"sentence\\\": \\\"The following groups of systemic drugs have been considered: taxanes, epidermal growth factor-receptor (EGFR) inhibitors, EGFR tyrosine kinase inhibitors, tyrosine kinase inhibitors, inhibitors of MEK/ERK, BRAF inhibitors, CD20 antagonists, vascular endothelial growth factor inhibitors, and retinoids.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 694}, \\\"PMID:22773546\\\": {\\\"publication date\\\": \\\"2013 Oct\\\", \\\"sentence\\\": \\\"In cells lines with complex activation profiles (HSC39 and OE33), a combination of TKIs or Mek inhibition (in nM concentrations) was necessary for cytotoxicity and inhibition of Erk and Akt phosphorylation.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1268567\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1258619\"\n   \"decursinol\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1258619---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12677526\")\n    (\"publications_info\"\n     \"{\\\"PMID:12677526\\\": {\\\"publication date\\\": \\\"2003 Mar\\\", \\\"sentence\\\": \\\"G-Rd and DC attenuated, in part, the increased phospho-ERK and the decreased phospho-CREB protein levels.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 660}}\")\n    (\"subject\" \"UMLS:C1258619\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1514555\"\n   \"Protein Kinase C Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514555---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12676927|PMID:12745093|PMID:20477948|PMID:20600853\")\n    (\"publications_info\"\n     \"{\\\"PMID:12676927\\\": {\\\"publication date\\\": \\\"2003 Jun 27\\\", \\\"sentence\\\": \\\"Inhibition of the ERK and protein kinase C signaling pathways with the MEK-1 inhibitor, U0126, and protein kinase C inhibitor, GF 1092030x, respectively, and chelating intracellular free calcium with 1,2-bis(2-aminophenoyl)ethane-N,N,N',N'-tetraacetic acid-AM, which also reduced ERK1/2 activation, significantly reduced H2O2-induced AA release in MC+/+ expressing either group IIa or V PLA2s.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:12745093\\\": {\\\"publication date\\\": \\\"2003 May 30\\\", \\\"sentence\\\": \\\"The PMA-induced MMP-9 secretion was abolished by treatment of a pan-protein kinase C (PKC) inhibitor, GF109203X, and an inhibitor of NF-kappaB activation, sulfasalazine, and partly inhibited by treatment of inhibitors of ERK pathway, PD98059 and U0126.\\\", \\\"subject score\\\": 937, \\\"object score\\\": 861}, \\\"PMID:20477948\\\": {\\\"publication date\\\": \\\"2010 Aug\\\", \\\"sentence\\\": \\\"In addition, protein kinase C inhibitors suppressed ATP-induced ERK and JNK activation, and also inhibited ATP-induced CXCL2 expression in microglia.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 623}, \\\"PMID:20600853\\\": {\\\"publication date\\\": \\\"2010 Oct\\\", \\\"sentence\\\": \\\"The protein kinase C inhibitors, RO 320432 and GO 6983, and the ERK inhibitors UO 126 and PD 98059 all activated PDE4A4 aggregate formation, whilst roscovitine, thalidomide and the tyrosine kinase inhibitors, genistein and AG17, all inhibited this process.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 824}}\")\n    (\"subject\" \"UMLS:C1514555\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0003402\"\n   \"Antioxidants\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003402---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:14647418\")\n    (\"publications_info\"\n     \"{\\\"PMID:14647418\\\": {\\\"publication date\\\": \\\"2004 Feb 19\\\", \\\"sentence\\\": \\\"Lastly, antioxidants (e.g., L-N-acetylcysteine; L-NAC) opposed adaphostin-mediated mitochondrial dysfunction, Raf-1/MEK/ERK downregulation, JNK activation, and apoptosis.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 794}}\")\n    (\"subject\" \"UMLS:C0003402\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0597220\"\n   \"phospholipase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0597220---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:12759139\")\n    (\"publications_info\"\n     \"{\\\"PMID:12759139\\\": {\\\"publication date\\\": \\\"2003 Jun 13\\\", \\\"sentence\\\": \\\"Pertussis toxin, an inhibitor of G(i)/G(o) protein, and phospholipase C (PLC) inhibitor blocked Lkn-1-induced activation of ERK.\\\", \\\"subject score\\\": 890, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0597220\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1513344\"\n   \"Mitogen-Activated Protein Kinase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1513344---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:12403788|PMID:14592853|PMID:19878271|PMID:29777202|PMID:31807022\")\n    (\"publications_info\"\n     \"{\\\"PMID:12403788\\\": {\\\"publication date\\\": \\\"2003 Jan 10\\\", \\\"sentence\\\": \\\"SB203580, a p38 MAPK inhibitor, and PD98059, an ERK inhibitor, but not wortmannin a phosphatidylinositol 3-kinase (PI3K) inhibitor, prevented AA toxicity in pyrazole hepatocytes and E47 cells.\\\", \\\"subject score\\\": 938, \\\"object score\\\": 827}, \\\"PMID:19878271\\\": {\\\"publication date\\\": \\\"2010 Feb 01\\\", \\\"sentence\\\": \\\"Compared with PD98059, an MAPK inhibitor, baicalein exhibited a stronger inhibitory effect on Erk(1/2) phosphorylation.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 1000}, \\\"PMID:29777202\\\": {\\\"publication date\\\": \\\"2018 May 18\\\", \\\"sentence\\\": \\\"In these resistant cells, phosphorylation of ribosomal protein S6 (rpS6) but not phosphorylation of ERK or p90 ribosomal S6 kinase (RSK) were unable to be inhibited by MAPK pathway inhibitors.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 1000}, \\\"PMID:14592853\\\": {\\\"publication date\\\": \\\"2004 Jan\\\", \\\"sentence\\\": \\\"PD98059, a mitogen-activated protein kinase/ERK kinase inhibitor, or SB23058, a p38MAPK inhibitor, significantly attenuated the vasotrophic effect of nicotine and Ang II.\\\", \\\"subject score\\\": 823, \\\"object score\\\": 827}, \\\"PMID:31807022\\\": {\\\"publication date\\\": \\\"2019\\\", \\\"sentence\\\": \\\"Finally, ERK was inhibited using a mitogen-activated protein kinase/ERK kinase inhibitor (U0126) to further explore the molecular mechanism of GOF-mutant SHP2 affecting GBM cells.\\\", \\\"subject score\\\": 927, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1513344\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1443775\"\n   \"Epidermal growth factor receptor inhibitor (product)\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1443775---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:11948693|PMID:12402303|PMID:19277491|PMID:21904878|PMID:28791489\")\n    (\"publications_info\"\n     \"{\\\"PMID:11948693\\\": {\\\"publication date\\\": \\\"2002\\\", \\\"sentence\\\": \\\"Proliferation, activation of ERK, and biosynthesis of Egr-1 was completely inhibited in EGF or thrombin-treated HaCaT cells by the MAP kinase kinase inhibitor PD98059 and by AG1487, an EGF receptor-specific tyrosine kinase inhibitor.\\\", \\\"subject score\\\": 932, \\\"object score\\\": 1000}, \\\"PMID:12402303\\\": {\\\"publication date\\\": \\\"2002 Dec 01\\\", \\\"sentence\\\": \\\"Tyrphostin AG1478, an EGFR tyrosine kinase inhibitor, blocks ALP-induced MAPK/ERK activation but not EGFR internalization.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 562}, \\\"PMID:19277491\\\": {\\\"publication date\\\": \\\"2009 Sep\\\", \\\"sentence\\\": \\\"Rather, epidermal growth factor (EGF) receptor signaling mediated clozapine-induced ERK activation, given dose-dependent reduction of pERK1 and pERK2 stimulation with the EGF receptor inhibitor, AG1478.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:21904878\\\": {\\\"publication date\\\": \\\"2011 Oct\\\", \\\"sentence\\\": \\\"Pretreatment of beta-cells with HNMPA, an insulin receptor inhibitor, and AG1478, an epidermal growth factor receptor inhibitor, further increased the cAMP level and Erk phosphorylation in the presence of exendin-4 (exe-4), a GLP-1 agonist.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:28791489\\\": {\\\"publication date\\\": \\\"2017 Nov\\\", \\\"sentence\\\": \\\"Sustained activation of ERK by overexpression of constitutively active MEK1 was sufficient to expand CD44+/CD24- populations in cells in which EGFR activity was blocked by either erlotinib, an EGFR kinase inhibitor, or BB-94, a metalloprotease inhibitor that prevents generation of soluble EGFR ligands.\\\", \\\"subject score\\\": 938, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1443775\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0597217\"\n   \"phosphatase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0597217---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16464862\")\n    (\"publications_info\"\n     \"{\\\"PMID:16464862\\\": {\\\"publication date\\\": \\\"2006 Apr 21\\\", \\\"sentence\\\": \\\"In contrast, p38 MAPK inhibitors had no detectable effect on the ERK activation induced by fibroblast growth factor 2 or pervanadate, a phosphatase inhibitor, and MEK inhibitors did not influence p38 MAPK phosphorylation, confirming both the specificity and unidirectionality of p38 MAPK-ERK cross-talk.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0597217\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1513344\"\n   \"Mitogen-Activated Protein Kinase Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1513344---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:11466422|PMID:11684667|PMID:14701813|PMID:31776277\")\n    (\"publications_info\"\n     \"{\\\"PMID:11466422\\\": {\\\"publication date\\\": \\\"2001 Aug 01\\\", \\\"sentence\\\": \\\"PD98059, a selective MAPK kinase inhibitor, had a smaller and only marginally significant effect on CR acquisition, although it did block the learning-related increases in ERK activity in both the hippocampus and anterior vermis.\\\", \\\"subject score\\\": 911, \\\"object score\\\": 861}, \\\"PMID:14701813\\\": {\\\"publication date\\\": \\\"2004 Mar 12\\\", \\\"sentence\\\": \\\"JNK, p38, and ERK activation seem not to be required for this type of cell death because mitogen-activated protein kinase inhibitors did not significantly affect TNF-induced necrotic cell death.\\\", \\\"subject score\\\": 988, \\\"object score\\\": 1000}, \\\"PMID:11684667\\\": {\\\"publication date\\\": \\\"2001 Nov\\\", \\\"sentence\\\": \\\"We find that Erk MAP kinase is normally active in ureteric bud, and that inhibiting Erk activation with the MAP kinase kinase inhibitor, PD98059, reversibly inhibits branching in a dose-dependent manner, while allowing tubule elongation to continue.\\\", \\\"subject score\\\": 941, \\\"object score\\\": 627}, \\\"PMID:31776277\\\": {\\\"publication date\\\": \\\"2019 Nov 27\\\", \\\"sentence\\\": \\\"Using MAPK inhibitors, we found that LMP1 activates ERK or p38 to repress the expression of DUSP6 and DUSP8, with corresponding substrate specificity.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1513344\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0085387\"\n   \"Cyclooxygenase Inhibitors\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0085387---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16458997\")\n    (\"publications_info\"\n     \"{\\\"PMID:16458997\\\": {\\\"publication date\\\": \\\"2006 Jul\\\", \\\"sentence\\\": \\\"Both the cyclooxygenase inhibitor, indomethacin and the ERK inhibitors, UO126 and PD980589 reverse the hypoxia-induced increase in intracellular cAMP levels back to those seen in normoxic hPASM cells.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0085387\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0600437\"\n   \"Nitric Oxide Donors\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0600437---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:10744637\")\n    (\"publications_info\"\n     \"{\\\"PMID:10744637\\\": {\\\"publication date\\\": \\\"2000 Apr\\\", \\\"sentence\\\": \\\"The STE-induced increase in phospho-ERK was suppressed by NO donors and the cGMP mimetic, and reversed by cGMP-PKG inhibitor, as was expression of AML1B and DNA binding in nuclear extracts.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0600437\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1443643\"\n   \"Proteasome inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1443643---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:10617109\")\n    (\"publications_info\"\n     \"{\\\"PMID:10617109\\\": {\\\"publication date\\\": \\\"2000 Jan\\\", \\\"sentence\\\": \\\"Uniquely, the kinetics of MAP kinase activation induced by proteasome inhibitors are very slow compared with those resulting from activation by nerve growth factor; ERK activation is detectable only after a 5-h treatment with the inhibitors, and its activity remained unchanged for at least until 27 h.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1443643\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1514555\"\n   \"Protein Kinase C Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514555---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:10523856|PMID:15863357|PMID:22561846\")\n    (\"publications_info\"\n     \"{\\\"PMID:10523856\\\": {\\\"publication date\\\": \\\"1999 Oct 14\\\", \\\"sentence\\\": \\\"The MEK inhibitor PD 098059, as well as the PKC inhibitors, completely blocked TPA-mediated ERK activation.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 547}, \\\"PMID:15863357\\\": {\\\"publication date\\\": \\\"2005 Apr 15\\\", \\\"sentence\\\": \\\"DMS had no effect on the dbcAMP-induced membrane translocation of protein kinase C (PKC) isozymes, and PKC inhibitors had no significant effect on ERK activation.\\\", \\\"subject score\\\": 983, \\\"object score\\\": 1000}, \\\"PMID:22561846\\\": {\\\"publication date\\\": \\\"2012 Aug\\\", \\\"sentence\\\": \\\"The protein kinase C inhibitor, Ro-31-7459, is a potent activator of ERK and JNK MAP kinases in HUVECs and yet inhibits cyclic AMP-stimulated SOCS-3 gene induction through inactivation of the transcription factor c-Jun.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1514555\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1268567\"\n   \"Protein-tyrosine kinase inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1268567---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:9933031\")\n    (\"publications_info\"\n     \"{\\\"PMID:9933031\\\": {\\\"publication date\\\": \\\"1999 Feb 15\\\", \\\"sentence\\\": \\\"On the other hand, an obligatory tyrosine phosphorylation step for activation of ERK was indicated by the use of protein tyrosine kinase inhibitors, which profoundly inhibited the activation of ERK by EGF, Ang II, and PMA.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1268567\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0162754\"\n   \"Serotonin 5-HT1 Receptor Agonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0162754---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:9658404\")\n    (\"publications_info\"\n     \"{\\\"PMID:9658404\\\": {\\\"publication date\\\": \\\"1998 Jul\\\", \\\"sentence\\\": \\\"We further demonstrate that 5-HT1 agonists inactivate ERK by dephosphorylation, even in the presence of constitutively activated MEK1.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0162754\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1514727\"\n   \"Ras Inhibitor\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1514727---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:16052566|PMID:8969227\")\n    (\"publications_info\"\n     \"{\\\"PMID:8969227\\\": {\\\"publication date\\\": \\\"1996 Dec 27\\\", \\\"sentence\\\": \\\"Although pretreatment with manumycin, a Ras farnesyltransferase inhibitor, or overexpression of a dominant-negative mutant of Ras inhibited insulin-induced ERK activation, neither affected AngII-induced activation of ERKs.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 583}, \\\"PMID:16052566\\\": {\\\"publication date\\\": \\\"2005 Sep 15\\\", \\\"sentence\\\": \\\"Our data also indicated that ERK activation and the potentiation of ATP calcium responses were sensitive to the src-like kinase inhibitor herbimycin A, p21(ras) farnesyltransferase inhibitor peptide, and some PKC inhibitors.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1514727\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1171350\"\n   \"kinase inhibitor [EPC]\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1171350---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:20149136|PMID:28197555\")\n    (\"publications_info\"\n     \"{\\\"PMID:28197555\\\": {\\\"publication date\\\": \\\"2017 Jan-Feb\\\", \\\"sentence\\\": \\\"This activation was blocked by a MAPK kinase inhibitor, suggesting that similar pathways are involved in activation of ERK and p38 MAPK.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 1000}, \\\"PMID:20149136\\\": {\\\"publication date\\\": \\\"2010 Apr\\\", \\\"sentence\\\": \\\"PLX4032, a selective BRAF(V600E) kinase inhibitor, activates the ERK pathway and enhances cell migration and proliferation of BRAF melanoma cells.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C1171350\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0040615\"\n   \"Antipsychotic Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0040615---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:24203573\")\n    (\"publications_info\"\n     \"{\\\"PMID:24203573\\\": {\\\"publication date\\\": \\\"2014 Mar\\\", \\\"sentence\\\": \\\"Taken together, our data suggest that (+/-)-alpha-lipoic acid exerts synergistic effects with haloperidol on the Akt/GSK-3beta pathway, potentially involved in the therapeutic effects of APs, and antagonism of ERK activation and D2R upregulation, potentially involved in tardive dyskinesia and treatment resistance.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0040615\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0003289\"\n   \"Antidepressants\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003289---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:25476565|PMID:30692946\")\n    (\"publications_info\"\n     \"{\\\"PMID:25476565\\\": {\\\"publication date\\\": \\\"2015 Mar 01\\\", \\\"sentence\\\": \\\"Results demonstrate that alarin may exert antidepressant-like effects by targeting TrkB receptor-mediated ERK and AKT signal systems, which could help to identify the alarin receptor.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 623}, \\\"PMID:30692946\\\": {\\\"publication date\\\": \\\"2018\\\", \\\"sentence\\\": \\\"Blockade of the ERK-CREB axis with the ERK-specific inhibitor U0126 repressed the neuroprotective and antidepressant-like effects of paeoniflorin on rats in the setting of chronic-mild-stress and abolished the recoveries of p-ERK mediated by paeoniflorin treatment.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0003289\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0003289\"\n   \"Antidepressants\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003289---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:25476565|PMID:27634096|PMID:31768875\")\n    (\"publications_info\"\n     \"{\\\"PMID:25476565\\\": {\\\"publication date\\\": \\\"2015 Mar 01\\\", \\\"sentence\\\": \\\"This resulted in an absence of antidepressant-like effects, as well as no activation of ERK and AKT signaling pathways.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:27634096\\\": {\\\"publication date\\\": \\\"2016 12\\\", \\\"sentence\\\": \\\"Together, the results demonstrate that these three different rapid acting antidepressant agents increase ERK signaling and BDNF release in an activity dependent manner that leads to increased neuronal complexity.\\\", \\\"subject score\\\": 748, \\\"object score\\\": 861}, \\\"PMID:31768875\\\": {\\\"publication date\\\": \\\"2019 Nov 25\\\", \\\"sentence\\\": \\\"The antidepressant-like effect of guanosine is dependent on GSK-3beta inhibition and activation of MAPK/ERK and Nrf2/heme oxygenase-1 signaling pathways.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 694}}\")\n    (\"subject\" \"UMLS:C0003289\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0013036\"\n   \"Dopaminergic Agents\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0013036---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:24380761\")\n    (\"publications_info\"\n     \"{\\\"PMID:24380761\\\": {\\\"publication date\\\": \\\"2014 Mar\\\", \\\"sentence\\\": \\\"The selective increase in ERK activity in the PFC associated with behavioral sensitization, points to a possible pivotal role of the dopamine projection to the medial frontal cortex in the mediation of neural plasticity, considered to underlie the sensitization processes induced by dopaminergic drugs.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0013036\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0013227\"\n   \"Pharmaceutical Preparations\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0013227---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:11170175|PMID:12151388|PMID:12163544|PMID:14697665|PMID:19683494|PMID:20668238|PMID:21645515|PMID:24348046|PMID:27614430|PMID:29291014|PMID:31649535\")\n    (\"publications_info\"\n     \"{\\\"PMID:24348046\\\": {\\\"publication date\\\": \\\"2013\\\", \\\"sentence\\\": \\\"Additionally, such a combination is expected to reduce MEKi-induced skin toxicities, as these drugs are thought to have antagonistic effects on ERK activation in keratinocytes.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:11170175\\\": {\\\"publication date\\\": \\\"2001 Feb 01\\\", \\\"sentence\\\": \\\"Doxorubicin (0.2 microM), an anticancer drug whose mechanism of action is independent of microtubules, also induced ERK activation, tau phosphorylation and apoptosis.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 645}, \\\"PMID:12151388\\\": {\\\"publication date\\\": \\\"2002 Oct 04\\\", \\\"sentence\\\": \\\"Hence, anti-calmodulin drugs (such as W13, trifluoroperazine, or W7) are able to induce Ras/ERK pathway activation under low levels of growth factors.\\\", \\\"subject score\\\": 790, \\\"object score\\\": 645}, \\\"PMID:12163544\\\": {\\\"publication date\\\": \\\"2002 Aug\\\", \\\"sentence\\\": \\\"These drugs also inhibit TGFbeta1 effects on Akt/PKB phosphorylation but have no effect on TGFbeta1-evoked Erk activation.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 583}, \\\"PMID:14697665\\\": {\\\"publication date\\\": \\\"2003 Dec\\\", \\\"sentence\\\": \\\"Furthermore, glial cell elimination or inactivation in the culture, by gliotoxic drugs, abrogates NO-induced ERK activation.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 619}, \\\"PMID:19683494\\\": {\\\"publication date\\\": \\\"2009 Aug 14\\\", \\\"sentence\\\": \\\"Upregulation of Mig6 by lipid agonists such as LPA and S1P or actin drugs involved MAL and correlated with decreased activation of EGFR, MAPK/Erk, and c-fos.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 694}, \\\"PMID:21645515\\\": {\\\"publication date\\\": \\\"2011 Aug 15\\\", \\\"sentence\\\": \\\"Nevertheless, RalA was not only cytoprotective against multiple chemotherapeutic drugs, but also promigratory inducing stress fiber formation, which was accompanied by the activation of Akt and Erk pathways.\\\", \\\"subject score\\\": 828, \\\"object score\\\": 1000}, \\\"PMID:29291014\\\": {\\\"publication date\\\": \\\"2017 Dec 05\\\", \\\"sentence\\\": \\\"The pattern of upregulated proteins was similar with both drugs and indicates an activated RAF/MEK/ERK pathway, but more proteins were downregulated with sorafenib versus regorafenib.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 742}, \\\"PMID:27614430\\\": {\\\"publication date\\\": \\\"2016 Dec\\\", \\\"sentence\\\": \\\"Therefore, vanadium compounds can be regarded as a novel type of anticancer drugs through the prolonged activation of MAPK/ERK pathway but retained AKT activity.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 802}, \\\"PMID:20668238\\\": {\\\"publication date\\\": \\\"2010 Aug 17\\\", \\\"sentence\\\": \\\"In contrast, the drug activates MEK and ERK phosphorylation in cells with wild-type BRAF.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:31649535\\\": {\\\"publication date\\\": \\\"2019\\\", \\\"sentence\\\": \\\"Activations of Akt or ERK pathway induced by clinical drugs promote therapeutic failure due to decrease of drug response, and no available strategies have been developed to solve these problems.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 861}}\")\n    (\"subject\" \"UMLS:C0013227\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0243192\"\n   \"agonists\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0243192---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:10026227|PMID:10187821|PMID:10537288|PMID:10760082|PMID:12706479|PMID:15149321|PMID:15153488|PMID:15632168|PMID:15944153|PMID:16278303|PMID:16709153|PMID:17312106|PMID:18261471|PMID:19347570|PMID:19501623|PMID:19662020|PMID:21541969|PMID:22306083|PMID:22796106|PMID:23750009|PMID:23991110|PMID:24140231|PMID:24151242|PMID:26107116|PMID:27349565|PMID:27456816|PMID:31266805|PMID:9687510|PMID:9870938|PMID:9933031|PMID:9990315\")\n    (\"publications_info\"\n     \"{\\\"PMID:24151242\\\": {\\\"publication date\\\": \\\"2013 Dec 01\\\", \\\"sentence\\\": \\\"However, this phenotype is most obvious on a G(389)-beta1AR background; the more robust agonist-dependent cAMP/PKA and ERK responses in R(389)-beta1AR cells effectively obscure the effect of the S49G polymorphism.\\\", \\\"subject score\\\": 740, \\\"object score\\\": 861}, \\\"PMID:23991110\\\": {\\\"publication date\\\": \\\"2013\\\", \\\"sentence\\\": \\\"Agonist-induced Erk phosphorylation was preceded by rapid FGFR and EGFR transactivation; however, only EGFR inhibition blocked Erk activation and proliferation.\\\", \\\"subject score\\\": 775, \\\"object score\\\": 775}, \\\"PMID:23750009\\\": {\\\"publication date\\\": \\\"2013 Aug 15\\\", \\\"sentence\\\": \\\"The effects of ARRBs were isoform specific; ARRB2 inhibited MC1R agonist-dependent cAMP production but not ERK activation, stimulated internalization and showed prolonged co-localization with the receptor in endocytic vesicles.\\\", \\\"subject score\\\": 799, \\\"object score\\\": 660}, \\\"PMID:24140231\\\": {\\\"publication date\\\": \\\"2013 Nov 15\\\", \\\"sentence\\\": \\\"Agonist-induced thromboxane A2 (TxA2) generation and ERK phosphorylation were significantly inhibited by TBCA.\\\", \\\"subject score\\\": 833, \\\"object score\\\": 861}, \\\"PMID:9687510\\\": {\\\"publication date\\\": \\\"1998 Aug 03\\\", \\\"sentence\\\": \\\"In HeLa, PC12 and SK-N-MC cells, PD 98059 and SB 203580 are both required to suppress the activation of MSK1 by TNF, NGF and FGF, respectively, because these agonists activate both the MAPK/ERK and SAPK2/p38 cascades.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 694}, \\\"PMID:10026227\\\": {\\\"publication date\\\": \\\"1999 Feb 26\\\", \\\"sentence\\\": \\\"Together, these results strongly suggest a role for redox-sensitive mechanisms in agonist-induced ERK2, JNK1, and p38 MAP kinase activation; c-Fos, c-Jun, and JunB expression; AP-1 activity; and DNA synthesis in VSMC.\\\", \\\"subject score\\\": 851, \\\"object score\\\": 1000}, \\\"PMID:9990315\\\": {\\\"publication date\\\": \\\"1998 Dec 15\\\", \\\"sentence\\\": \\\"TPO by itself did not activate ERK1, ERK2 and protein kinase C (PKC), whereas TPO directly enhanced the PKC-dependent activation of ERKs induced by other agonists including thrombin and phorbol esters, without affecting the PKC activation by those agonists.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:9933031\\\": {\\\"publication date\\\": \\\"1999 Feb 15\\\", \\\"sentence\\\": \\\"Our results show that although activation of PKC was critical for mitogenesis induced by Ang II or EGF, the initial activation of ERK by both agonists in these cells was essentially independent of PKC activation and was insensitive to Ca2+ mobilization.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:9870938\\\": {\\\"publication date\\\": \\\"1999 Jan 01\\\", \\\"sentence\\\": \\\"Parallel immunofluorescence confocal microscopy, using an anti-ERK antibody, showed that agonist-induced time-dependent ERK IR trafficking into perinuclear and nuclear loci was impaired in the internalization-defective cells.\\\", \\\"subject score\\\": 763, \\\"object score\\\": 763}, \\\"PMID:10187821\\\": {\\\"publication date\\\": \\\"1999 Apr 09\\\", \\\"sentence\\\": \\\"Point mutations within highly conserved regions of TM6 and intracellular loop 3 were without effect on agonist-stimulated ERK activation.\\\", \\\"subject score\\\": 645, \\\"object score\\\": 645}, \\\"PMID:10537288\\\": {\\\"publication date\\\": \\\"1999 Oct 15\\\", \\\"sentence\\\": \\\"Elimination of extracellular Ca2+ by EGTA also did not abolish the activation of ERK by GnRHa.\\\", \\\"subject score\\\": 916, \\\"object score\\\": 1000}, \\\"PMID:12706479\\\": {\\\"publication date\\\": \\\"2003 Apr 25\\\", \\\"sentence\\\": \\\"Yohimbine and 2-(2,3-dihydro-2-methoxy-1,4-benzodioxin-2-yl)4,5-dihydro-1H-imidazole (RX821002), alpha(2)-adrenoceptor antagonists, significantly blocked agonist-induced interleukin-12 production and p38 MAPK activation, indicating that the effects of the agonists were mediated through alpha(2)-adrenoceptor.\\\", \\\"subject score\\\": 781, \\\"object score\\\": 1000}, \\\"PMID:15944153\\\": {\\\"publication date\\\": \\\"2005 Jul 29\\\", \\\"sentence\\\": \\\"The mu agonist, [D-ala2,mephe4,glyol5]enkephalin (DAMGO), induces a transient stimulation of ERK phosphorylation, whereas kappa agonist, U69,593, engenders sustained ERK activation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 660}, \\\"PMID:18261471\\\": {\\\"publication date\\\": \\\"2008 Mar\\\", \\\"sentence\\\": \\\"This calcilytic also attenuated CaR agonist-induced ERK activation in these cells.\\\", \\\"subject score\\\": 520, \\\"object score\\\": 520}, \\\"PMID:17312106\\\": {\\\"publication date\\\": \\\"2007 Mar 01\\\", \\\"sentence\\\": \\\"BBPs did not inhibit activation of ERK induced by P2C, a TLR2/6 agonist.\\\", \\\"subject score\\\": 802, \\\"object score\\\": 1000}, \\\"PMID:15153488\\\": {\\\"publication date\\\": \\\"2004 Jun 01\\\", \\\"sentence\\\": \\\"ERK is also activated by CCR2 agonists, e.g., monocyte chemoattractant protein-1 (CCL2).\\\", \\\"subject score\\\": 861, \\\"object score\\\": 1000}, \\\"PMID:15632168\\\": {\\\"publication date\\\": \\\"2005 Mar 04\\\", \\\"sentence\\\": \\\"These results show that specific kinetics of ERK activation by agonists and dual efficacy ligands are determined, at least in part, by the differential ability of the two types of drugs to trigger mechanisms regulating deltaOR responsiveness.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:16709153\\\": {\\\"publication date\\\": \\\"2006 Sep 01\\\", \\\"sentence\\\": \\\"More fundamentally, these observations shed new light on enigmatic issues such as the inefficacy of S17N-Ras in blocking PE action or the role of the EGFR in heterologous agonist activation of the Ras/ERK pathway.\\\", \\\"subject score\\\": 623, \\\"object score\\\": 827}, \\\"PMID:22306083\\\": {\\\"publication date\\\": \\\"2012 May 15\\\", \\\"sentence\\\": \\\"We further investigated the apoptotic mechanism demonstrating that E2, as well as ESR1 and GPER specific agonists, induced sustained ERK, c-Jun and p38 phosphorylation, Cytochrome c release, caspase 3 and endogenous substrate Poly (ADP-ribose) polymerase (PARP) activation and increased expression of cell cycle inhibitor p21.\\\", \\\"subject score\\\": 827, \\\"object score\\\": 694}, \\\"PMID:22796106\\\": {\\\"publication date\\\": \\\"2012 Nov\\\", \\\"sentence\\\": \\\"Blockade of glutamate release achieved by the mGluR2/3 agonist, LY354740 or the selective adenosine A1R agonist, CCPA as well as neurotoxic lesions of lateral entorhinal cortex reduced the ability of SKF81297 to induce ERK activation in the dentate gyrus.\\\", \\\"subject score\\\": 802, \\\"object score\\\": 1000}, \\\"PMID:19662020\\\": {\\\"publication date\\\": \\\"2009 Oct\\\", \\\"sentence\\\": \\\"Furthermore, the inverse agonist activity olmesartan exerts against stretch-induced ERK activation requires an additional drug-receptor interaction involving the tetrazole group of olmesartan and Gln(257) of the AT(1) receptor.\\\", \\\"subject score\\\": 833, \\\"object score\\\": 566}, \\\"PMID:19501623\\\": {\\\"publication date\\\": \\\"2009 Dec\\\", \\\"sentence\\\": \\\"Thus, in intact brain HB-EGF, known to be expressed in brain, may be the major EGF agonist released in response to stimulation of alpha(2)-adrenoceptors, the released agonist(s) activate(s) EGF receptors, and ERK(1/2) is phosphorylated as a conventional response to EGF receptor activation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:27456816\\\": {\\\"publication date\\\": \\\"2016 07 26\\\", \\\"sentence\\\": \\\"We also demonstrate the ability of these new agonists to induce receptor internalization, ERK activation, and chemotaxis, all hallmarks of CXCR4 activation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:26107116\\\": {\\\"publication date\\\": \\\"2015 Oct\\\", \\\"sentence\\\": \\\"The TRHR1 agonist, taltirelin, injection in the BLA increased the level of p-ERK, which mimicked the increased p-ERK level in the BLA that was induced by treatment with repeated stress.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 861}, \\\"PMID:27349565\\\": {\\\"publication date\\\": \\\"2016 Oct 10\\\", \\\"sentence\\\": \\\"To our knowledge this is the first report of ERK and JNK activation in MCF10A and MCF12A cells with P4, P4 metabolites, MPA, and MPR-Ag.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 1000}, \\\"PMID:19347570\\\": {\\\"publication date\\\": \\\"2009 May\\\", \\\"sentence\\\": \\\"PPAR gamma partial agonist, KR-62776, inhibits adipocyte differentiation via activation of ERK.\\\", \\\"subject score\\\": 851, \\\"object score\\\": 1000}, \\\"PMID:16278303\\\": {\\\"publication date\\\": \\\"2006 Mar 01\\\", \\\"sentence\\\": \\\"ANXA1 and Ac2-26 acted as genuine agonists; Ac2-26 binding led to ERK activation in both FPR- and FPRL-1/ALX-transfected cells, while ANXA1 caused ERK activation only in cells transfected with FPRL-1/ALX.\\\", \\\"subject score\\\": 853, \\\"object score\\\": 1000}, \\\"PMID:15149321\\\": {\\\"publication date\\\": \\\"2004 Jun\\\", \\\"sentence\\\": \\\"The role of ERK and phosphorylation in PPAR gamma activation were studied, as were the effects of PPAR agonists on ERK activation and cell proliferation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:21541969\\\": {\\\"publication date\\\": \\\"2011 Jun 15\\\", \\\"sentence\\\": \\\"GnRH receptor levels correlated with induction of inositol phosphates, elevation of intracellular Ca(2+) , cytoskeletal actin reorganization, modulation of ERK activation and cell growth-inhibition with GnRH agonists.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:10760082\\\": {\\\"publication date\\\": \\\"2000 Apr\\\", \\\"sentence\\\": \\\"In contrast to ADPKD, proliferation and ERK activity of cells derived from normal HKC were not stimulated by cAMP agonists, although electrogenic Cl- secretion was increased by these agonists in both ADPKD and HKC cell monolayers.\\\", \\\"subject score\\\": 802, \\\"object score\\\": 861}, \\\"PMID:31266805\\\": {\\\"publication date\\\": \\\"2019 Aug 16\\\", \\\"sentence\\\": \\\"We conclude that PTPN7 regulates platelet functional responses downstream of GPCR agonists, but not GPVI agonists, through inhibition of ERK activation and thromboxane generation.\\\", \\\"subject score\\\": 928, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0243192\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C1443775\"\n   \"Epidermal growth factor receptor inhibitor (product)\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C1443775---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:16211241|PMID:18636178|PMID:19127349|PMID:19154417|PMID:19854188|PMID:22033246|PMID:24021351\")\n    (\"publications_info\"\n     \"{\\\"PMID:24021351\\\": {\\\"publication date\\\": \\\"2013 Nov 15\\\", \\\"sentence\\\": \\\"The EGFR inhibitor also inhibited the B[a]PDE-induced MEK/ERK and Akt signaling pathways and subsequently, suppressed COX-2 expression and promoter activity, in addition to suppressing the transactivation of AP-1 and NF-kappaB.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 549}, \\\"PMID:16211241\\\": {\\\"publication date\\\": \\\"2005 Nov\\\", \\\"sentence\\\": \\\"Paclitaxel-induced ERK and AKT activity was inhibited by the EGFR inhibitor, PD153035; ERK inhibitor, U0126; and PI3 kinase inhibitor, LY294002, respectively.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 827}, \\\"PMID:18636178\\\": {\\\"publication date\\\": \\\"2008 Aug\\\", \\\"sentence\\\": \\\"PD153035, an EGFR inhibitor, and U0126, an ERK inhibitor, inhibit atRA-induced upregulation of AQP3.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 827}, \\\"PMID:19154417\\\": {\\\"publication date\\\": \\\"2009 Mar\\\", \\\"sentence\\\": \\\"In these three high-sensitivity cells, the ERK pathway was activated without ligand stimulation, which was inhibited by EGFR TKI.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:19127349\\\": {\\\"publication date\\\": \\\"2009 Feb\\\", \\\"sentence\\\": \\\"The loss in countering capacity of leptin on the ethanol-induced cytotoxicity was attained with Src kinase inhibitor, PP2, and EGFR kinase inhibitor, AG1478, as well as ERK inhibitor, PD98059.\\\", \\\"subject score\\\": 938, \\\"object score\\\": 827}, \\\"PMID:22033246\\\": {\\\"publication date\\\": \\\"2012 Jan 28\\\", \\\"sentence\\\": \\\"EGF induced the phosphorylation of EGFR, smad3, ERK, and JNK, and MMP-9 expression was decreased by the EGFR inhibitor, AG1478.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:19854188\\\": {\\\"publication date\\\": \\\"2009 Nov 19\\\", \\\"sentence\\\": \\\"Signal analyses showed that evodiamine stimulated the phosphorylation of EGFR, PKCalpha, and ERK, all of which were reduced by an EGFR inhibitor.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C1443775\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0243042\"\n   \"Inflammation Mediators\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0243042---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:25501336\")\n    (\"publications_info\"\n     \"{\\\"PMID:25501336\\\": {\\\"publication date\\\": \\\"2014 Dec 09\\\", \\\"sentence\\\": \\\"These results suggest that pheophytin a functions by down-regulating the transcriptional levels of inflammatory mediators and blocking the ERK and STAT-1 pathways.\\\", \\\"subject score\\\": 964, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0243042\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0003211\"\n   \"Anti-Inflammatory Agents, Non-Steroidal\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003211---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:25406016\")\n    (\"publications_info\"\n     \"{\\\"PMID:25406016\\\": {\\\"publication date\\\": \\\"2015 Feb\\\", \\\"sentence\\\": \\\"In growth plate chondrocytes, inhibition of proliferation and ERK activation by NSAIDs is reversed by forskolin, 8-bromoadenosine, 3',5'-cAMP and a prostacyclin analog, iloprost.\\\", \\\"subject score\\\": 988, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0003211\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0003402\"\n   \"Antioxidants\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0003402---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:12682429|PMID:15698432|PMID:21344382|PMID:24534200|PMID:25485998|PMID:27916558|PMID:30481789\")\n    (\"publications_info\"\n     \"{\\\"PMID:24534200\\\": {\\\"publication date\\\": \\\"2014 Sep 01\\\", \\\"sentence\\\": \\\"Moreover, ERK activation induced by PFHxS was blocked by MK801 but not antioxidants.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:25485998\\\": {\\\"publication date\\\": \\\"2015 Apr\\\", \\\"sentence\\\": \\\"Several studies have suggested that ERK activation in lung cells has a protective effect in response to hyperoxia, through stimulation of DNA repair and antioxidant mechanisms, and prolonged cell survival.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:27916558\\\": {\\\"publication date\\\": \\\"2017 Feb 05\\\", \\\"sentence\\\": \\\"Therefore, the cardioprotective effects of CAR may be attributed to its antioxidant and antiapoptotic activities through activations of the MAPK/ERK and Akt/eNOS signaling pathways.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 694}, \\\"PMID:12682429\\\": {\\\"publication date\\\": \\\"2003 Feb\\\", \\\"sentence\\\": \\\"To determine whether reactive oxygen species (ROS) play a role in mediating ERK activation and 6-OHDA toxicity, we examined the effects of catalase, superoxide dismutase (SOD1), and metalloporphyrin antioxidants ('SOD mimetics') on 6-OHDA-treated cells.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 1000}, \\\"PMID:21344382\\\": {\\\"publication date\\\": \\\"2011 Dec\\\", \\\"sentence\\\": \\\"Our experimental results clearly demonstrated that induction of p-ERK and cell proliferation by arsenite is mediated via oxidative stress, since antioxidants can inhibit arsenite-induced cell transformation.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 861}, \\\"PMID:30481789\\\": {\\\"publication date\\\": \\\"2018 Nov 27\\\", \\\"sentence\\\": \\\"All the compounds reduced p38MAPK activation, but only the AEM, especially ebselen, and NAC, both potentiating the glutathione peroxidase pathway, also inhibited NFkB activation.\\\", \\\"subject score\\\": 851, \\\"object score\\\": 1000}, \\\"PMID:15698432\\\": {\\\"publication date\\\": \\\"2005 Mar\\\", \\\"sentence\\\": \\\"Activation of ERK in renal fibrosis after unilateral ureteral obstruction: modulation by antioxidants.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0003402\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0013162\"\n   \"Drug Combinations\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0013162---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:23501104|PMID:25704960|PMID:28649441\")\n    (\"publications_info\"\n     \"{\\\"PMID:23501104\\\": {\\\"publication date\\\": \\\"2013 Apr 19\\\", \\\"sentence\\\": \\\"The enhanced therapeutic efficacy of the drug combination was achieved by a relatively transient blockade of the ERK pathway.\\\", \\\"subject score\\\": 966, \\\"object score\\\": 861}, \\\"PMID:28649441\\\": {\\\"publication date\\\": \\\"2017\\\", \\\"sentence\\\": \\\"Prospective simulations were then used to evaluate potential drug combinations and predictive biomarkers for increasing responsiveness to MEK/ERK inhibitors in these patients.\\\", \\\"subject score\\\": 901, \\\"object score\\\": 802}, \\\"PMID:25704960\\\": {\\\"publication date\\\": \\\"2015 Sep\\\", \\\"sentence\\\": \\\"The drug combination inactivated ERK, AKT, p70 S6K, and mTOR and activated JNK.\\\", \\\"subject score\\\": 966, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0013162\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0026249\"\n   \"Mitogens\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0026249---SEMMEDDB:stimulates---None---None---increased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:18334532|PMID:20030620|PMID:24212659\")\n    (\"publications_info\"\n     \"{\\\"PMID:24212659\\\": {\\\"publication date\\\": \\\"2011 Mar 08\\\", \\\"sentence\\\": \\\"They also completely block the activity of mitogens such as epidermal growth factor's ability to stimulate ERK and Ras.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:18334532\\\": {\\\"publication date\\\": \\\"2008 May\\\", \\\"sentence\\\": \\\"In vivo, recruitment of ERK and MSK is stimulated by mitogens, correlates with histone H3 phosphorylation and is impaired by Elk-1 knockdown.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:20030620\\\": {\\\"publication date\\\": \\\"2010\\\", \\\"sentence\\\": \\\"They also completely block the activity of mitogens such as epidermal growth factor's ability to stimulate ERK.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"UMLS:C0026249\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\")))\n  (\"UMLS:C0013227\"\n   \"Pharmaceutical Preparations\"\n   \"biolink:regulates\"\n   \"NCBIGene:5594\"\n   \"MAPK1\"\n   \"biolink:regulates\"\n   \"UMLS:C1417707\"\n   \"NFIX gene\"\n   ((\"id\"\n     \"UMLS:C0013227---SEMMEDDB:inhibits---None---None---decreased---NCBIGene:5594---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"NCBIGene:5594\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\"\n     \"PMID:11408604|PMID:12543078|PMID:15843040|PMID:18223169|PMID:21251612|PMID:21879255|PMID:24559688|PMID:30482227\")\n    (\"publications_info\"\n     \"{\\\"PMID:24559688\\\": {\\\"publication date\\\": \\\"2014 May\\\", \\\"sentence\\\": \\\"The sensitivity to the drug was accompanied by a potent inhibition of both phospho-ERK and phospho-AKT, and a significant induction of apoptosis while absent in lines with intrinsic or acquired resistance.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:11408604\\\": {\\\"publication date\\\": \\\"2001 Jul\\\", \\\"sentence\\\": \\\"The Src-family tyrosine kinase inhibitor PP2 blocked MAPK activation by dopamine; however, this drug was also found to inhibit PDGF-BB-stimulated ERK activity and autophosphorylation of the PDGF receptor-beta.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 872}, \\\"PMID:12543078\\\": {\\\"publication date\\\": \\\"2002 Nov 24\\\", \\\"sentence\\\": \\\"Interestingly, all of the effective drugs inhibited the ERK activity, while the drugs had no effects on p38 MAPK activity and IkappaB degradation.\\\", \\\"subject score\\\": 888, \\\"object score\\\": 861}, \\\"PMID:18223169\\\": {\\\"publication date\\\": \\\"2008 Apr 01\\\", \\\"sentence\\\": \\\"Finally, CD38 stimulation of T2 B lymphocytes obtained from Btk-, Lyn-, or Fyn-deficient mice showed a defective differentiation; similarly, drugs interfering with PI3K or ERK decreased the proliferation or differentiation of this subset.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:15843040\\\": {\\\"publication date\\\": \\\"2005 Apr 15\\\", \\\"sentence\\\": \\\"While ERK1/2 activation was a general phenomenon, irrespective of the used cell type or antitumour drug, the MEK/ERK inhibitors only reduced cisplatin toxicity in human myeloid cells (THP-1, HL-60 and NB-4), but not in RAW 264.7 mouse macrophages and NRK-52E rat renal tubular cells; and failed to reduce the toxicity etoposide, camptothecin, melphalan and arsenic trioxide, in U-937 cells.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 753}, \\\"PMID:21879255\\\": {\\\"publication date\\\": \\\"2012 Jan\\\", \\\"sentence\\\": \\\"Neither (ZEGFR:1907)2 nor any of the other             drugs were able to completely inactivate Akt or Erk.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}, \\\"PMID:21251612\\\": {\\\"publication date\\\": \\\"2011 Jan 18\\\", \\\"sentence\\\": \\\"These drugs thus selectively inhibit ERK signaling in tumors with BRAF mutation.\\\", \\\"subject score\\\": 861, \\\"object score\\\": 861}, \\\"PMID:30482227\\\": {\\\"publication date\\\": \\\"2018 Nov 27\\\", \\\"sentence\\\": \\\"BACKGROUND: Drugs that inhibit the MEK/ERK pathway have therapeutic benefit in bladder cancer treatment but responses vary with patients, for reasons that are still not very clear.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 802}}\")\n    (\"subject\" \"UMLS:C0013227\"))\n   ((\"id\"\n     \"NCBIGene:5594---SEMMEDDB:stimulates---None---None---increased---UMLS:C1417707---SEMMEDDB:\")\n    (\"knowledge_source\" \"infores:semmeddb\")\n    (\"object\" \"UMLS:C1417707\")\n    (\"predicate\" \"biolink:regulates\")\n    (\"publications\" \"PMID:30266829\")\n    (\"publications_info\"\n     \"{\\\"PMID:30266829\\\": {\\\"publication date\\\": \\\"2018 Oct 29\\\", \\\"sentence\\\": \\\"Notably, the role of ERK in the activation of Nfix is conserved postnatally in satellite cells, which represent the canonical myogenic stem cells of adult muscle.\\\", \\\"subject score\\\": 1000, \\\"object score\\\": 1000}}\")\n    (\"subject\" \"NCBIGene:5594\"))))\n"
  },
  {
    "path": "contrib/medikanren2/neo/Mayu/simple-query.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers.rkt\"\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n;; What diseases are caused by, or associated with, the BRCA2 gene?\n(define brca2diseases\n  (query:Known->X\n   ;; list of known CURIES (for genes in this case)\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"HGNC:1101\" ;; BRCA2 gene\n            ))))\n   ;; list of predicates\n   (set->list\n    (set-union\n     (get-predicate-descendents-in-db \"biolink:causes\")\n     (get-predicate-descendents-in-db \"biolink:gene_associated_with_condition\")))\n   ;; list of concept categories\n   (set->list (get-class-descendents-in-db \"biolink:Disease\"))))\n\n(define brca2disease-names\n  (map\n    (lambda (x) (list-ref x 4))\n    brca2diseases))\n\n\n(define top-level-diabetes-curies\n  (curies->synonyms-in-db\n   (list \"DOID:9351\")))\n\n(define doid-diabetes-curies\n  (get-descendent-curies*-in-db (list \"DOID:9351\")))\n\n(define all-diabetes-curies\n  (get-descendent-curies*-in-db\n   (curies->synonyms-in-db\n    (list \"DOID:9351\"))))\n"
  },
  {
    "path": "contrib/medikanren2/neo/Mayu/wills-new-multi-db-queries.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n(define kxk\n  (lambda (c1 c2)\n    (query:Known->X->Known\n     (set->list\n      (get-descendent-curies*-in-db\n       (curies->synonyms-in-db (list c1))))\n     '(\"biolink:same_as\")\n     #f\n     '(\"biolink:treats\")\n     (set->list\n      (get-descendent-curies*-in-db\n       (curies->synonyms-in-db (list c2)))))))\n\n;; imatinib ->biolink:same_as-> X ->biolink:treats-> gastrointestinal stromal tumor\n(define a (kxk \"UMLS:C0935989\" \"UMLS:C0238198\"))\n\n;; Example of a result for 'a' that spans KGs:\n\n#|\n(\"CHEBI:45783\"\n   \"imatinib\"\n   \"biolink:same_as\"\n   \"DRUGBANK:DB00619\"\n   \"Imatinib\"\n   \"biolink:treats\"\n   \"MONDO:0011719\"\n   \"gastrointestinal stromal tumor\"\n   (\"id\"\n    \"CHEBI:45783---owl:sameAs---None---None---None---DRUGBANK:DB00619---UNICHEM_source:\")\n   (\"knowledge_source\" \"infores:pathwhiz|infores:unichem\")\n   (\"object\" \"DRUGBANK:DB00619\")\n   (\"predicate\" \"biolink:same_as\")\n   (\"publications_info\" \"{}\")\n   (\"subject\" \"CHEBI:45783\")\n   (\"_attributes\"\n    \"[{\\\"attribute_type_id\\\": \\\"biolink:original_knowledge_source\\\", \\\"value\\\": \\\"infores:text-mining-provider-targeted\\\", \\\"value_type_id\\\": \\\"biolink:InformationResource\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_data_source\\\", \\\"value\\\": \\\"infores:pubmed\\\", \\\"value_type_id\\\": \\\"biolink:InformationResource\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:has_evidence_count\\\", \\\"value\\\": 6116, \\\"value_type_id\\\": \\\"biolink:EvidenceCount\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:tmkp_confidence_score\\\", \\\"value\\\": 0.9959426746860693, \\\"value_type_id\\\": \\\"biolink:ConfidenceLevel\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document\\\", \\\"value\\\": \\\"PMC3636436|PMC5590134|PMC6786996|PMID:16204927|PMID:21387287\\\", \\\"value_type_id\\\": \\\"biolink:Publication\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_study_result\\\", \\\"value\\\": \\\"tmkp:65bcc14a34089bd25c3db4ddc71cf57164f4d38a05f36e012b32335d18223c50\\\", \\\"value_type_id\\\": \\\"biolink:TextMiningResult\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\", \\\"attributes\\\": [{\\\"attribute_type_id\\\": \\\"biolink:supporting_text\\\", \\\"value\\\": \\\"Imatinib as adjuvant therapy for gastrointestinal stromal tumors: a systematic review\\\", \\\"value_type_id\\\": \\\"EDAM:data_3671\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document\\\", \\\"value\\\": \\\"PMC3636436\\\", \\\"value_type_id\\\": \\\"biolink:Publication\\\", \\\"value_url\\\": \\\"https://pubmed.ncbi.nlm.nih.gov/PMC3636436/\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_text_located_in\\\", \\\"value\\\": \\\"REF\\\", \\\"value_type_id\\\": \\\"IAO_0000314\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:extraction_confidence_score\\\", \\\"value\\\": 0.9995431, \\\"value_type_id\\\": \\\"EDAM:data_1772\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:subject_location_in_text\\\", \\\"value\\\": \\\"0|8\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:object_location_in_text\\\", \\\"value\\\": \\\"33|64\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted \\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document_year\\\", \\\"value\\\": 2012, \\\"value_type_id\\\": \\\"UO:0000036\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}]}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_study_result\\\", \\\"value\\\": \\\"tmkp:bd0753f3583f2decb8013ae694183fa5dda87764b52ef92c930abd1d624236da\\\", \\\"value_type_id\\\": \\\"biolink:TextMiningResult\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\", \\\"attributes\\\": [{\\\"attribute_type_id\\\": \\\"biolink:supporting_text\\\", \\\"value\\\": \\\"Imatinib as adjuvant therapy for gastrointestinal stromal tumors: a systematic review\\\", \\\"value_type_id\\\": \\\"EDAM:data_3671\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document\\\", \\\"value\\\": \\\"PMC5590134\\\", \\\"value_type_id\\\": \\\"biolink:Publication\\\", \\\"value_url\\\": \\\"https://pubmed.ncbi.nlm.nih.gov/PMC5590134/\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_text_located_in\\\", \\\"value\\\": \\\"REF\\\", \\\"value_type_id\\\": \\\"IAO_0000314\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:extraction_confidence_score\\\", \\\"value\\\": 0.9995431, \\\"value_type_id\\\": \\\"EDAM:data_1772\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:subject_location_in_text\\\", \\\"value\\\": \\\"0|8\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:object_location_in_text\\\", \\\"value\\\": \\\"33|64\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted \\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document_year\\\", \\\"value\\\": 2017, \\\"value_type_id\\\": \\\"UO:0000036\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}]}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_study_result\\\", \\\"value\\\": \\\"tmkp:cf744da3e48412c6341b1a80e9b9fece28ff3a555d0a040eec8391e59d684427\\\", \\\"value_type_id\\\": \\\"biolink:TextMiningResult\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\", \\\"attributes\\\": [{\\\"attribute_type_id\\\": \\\"biolink:supporting_text\\\", \\\"value\\\": \\\"Imatinib as adjuvant therapy for gastrointestinal stromal tumors: a systematic review\\\", \\\"value_type_id\\\": \\\"EDAM:data_3671\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document\\\", \\\"value\\\": \\\"PMC6786996\\\", \\\"value_type_id\\\": \\\"biolink:Publication\\\", \\\"value_url\\\": \\\"https://pubmed.ncbi.nlm.nih.gov/PMC6786996/\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_text_located_in\\\", \\\"value\\\": \\\"REF\\\", \\\"value_type_id\\\": \\\"IAO_0000314\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:extraction_confidence_score\\\", \\\"value\\\": 0.9995431, \\\"value_type_id\\\": \\\"EDAM:data_1772\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:subject_location_in_text\\\", \\\"value\\\": \\\"0|8\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:object_location_in_text\\\", \\\"value\\\": \\\"33|64\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted \\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document_year\\\", \\\"value\\\": 2019, \\\"value_type_id\\\": \\\"UO:0000036\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}]}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_study_result\\\", \\\"value\\\": \\\"tmkp:921205bc03c6569adb4df892ee82cd938606be62661023435625b6f8de8a50b8\\\", \\\"value_type_id\\\": \\\"biolink:TextMiningResult\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\", \\\"attributes\\\": [{\\\"attribute_type_id\\\": \\\"biolink:supporting_text\\\", \\\"value\\\": \\\"Imatinib mesylate as therapy for gastrointestinal stromal tumor.\\\", \\\"value_type_id\\\": \\\"EDAM:data_3671\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document\\\", \\\"value\\\": \\\"PMID:16204927\\\", \\\"value_type_id\\\": \\\"biolink:Publication\\\", \\\"value_url\\\": \\\"https://pubmed.ncbi.nlm.nih.gov/16204927/\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_text_located_in\\\", \\\"value\\\": \\\"title\\\", \\\"value_type_id\\\": \\\"IAO_0000314\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:extraction_confidence_score\\\", \\\"value\\\": 0.99954236, \\\"value_type_id\\\": \\\"EDAM:data_1772\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:subject_location_in_text\\\", \\\"value\\\": \\\"0|8\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:object_location_in_text\\\", \\\"value\\\": \\\"33|63\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted \\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document_year\\\", \\\"value\\\": 2005, \\\"value_type_id\\\": \\\"UO:0000036\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}]}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_study_result\\\", \\\"value\\\": \\\"tmkp:11f292a42ef4384d1544ee6c7dd9b3d5c2fe803a7f71f26243eedee6443f6718\\\", \\\"value_type_id\\\": \\\"biolink:TextMiningResult\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\", \\\"attributes\\\": [{\\\"attribute_type_id\\\": \\\"biolink:supporting_text\\\", \\\"value\\\": \\\"Imatinib as adjuvant therapy for gastrointestinal stromal tumors: a systematic review.\\\", \\\"value_type_id\\\": \\\"EDAM:data_3671\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document\\\", \\\"value\\\": \\\"PMID:21387287\\\", \\\"value_type_id\\\": \\\"biolink:Publication\\\", \\\"value_url\\\": \\\"https://pubmed.ncbi.nlm.nih.gov/21387287/\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_text_located_in\\\", \\\"value\\\": \\\"title\\\", \\\"value_type_id\\\": \\\"IAO_0000314\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:extraction_confidence_score\\\", \\\"value\\\": 0.9995378, \\\"value_type_id\\\": \\\"EDAM:data_1772\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:subject_location_in_text\\\", \\\"value\\\": \\\"0|8\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:object_location_in_text\\\", \\\"value\\\": \\\"33|64\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted \\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document_year\\\", \\\"value\\\": 2011, \\\"value_type_id\\\": \\\"UO:0000036\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}]}]\")\n   (\"association_type\"\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\")\n   (\"confidence_score\" \"0.9959426746860693\")\n   (\"id\" \"cfcb7c55f657acae4e169566d0aab4d8e5e27ae861ee4d47aac5d30020afb539\")\n   (\"object_curie\" \"MONDO:0011719\")\n   (\"predicate\" \"biolink:treats\")\n   (\"subject_curie\" \"DRUGBANK:DB00619\")\n   (\"supporting_publication_identifiers\"\n    \"PMC3636436|PMC5590134|PMC6786996|PMID:16204927|PMID:21387287\")\n   (\"supporting_study_result_identifiers\"\n    \"tmkp:65bcc14a34089bd25c3db4ddc71cf57164f4d38a05f36e012b32335d18223c50|tmkp:bd0753f3583f2decb8013ae694183fa5dda87764b52ef92c930abd1d624236da|tmkp:cf744da3e48412c6341b1a80e9b9fece28ff3a555d0a040eec8391e59d684427|tmkp:921205bc03c6569adb4df892ee82cd938606be62661023435625b6f8de8a50b8|tmkp:11f292a42ef4384d1544ee6c7dd9b3d5c2fe803a7f71f26243eedee6443f6718\"))\n|#\n\n\n;; RTX KG2:\n;; (query:X->Known #f '(\"biolink:treats\") (list \"DOID:9351\"))\n\n;; RTX KG2:\n;; (query:X->Known #f '(\"biolink:subclass_of\") (list \"DOID:9351\"))\n\n;; Robokop:\n;; (query:X->Known #f '(\"biolink:subclass_of\") (list \"NCBITaxon:1748027\"))\n\n;; Text Mining\n;; (query:X->Known #f '(\"biolink:entity_negatively_regulates_entity\") (list \"UniProtKB:P47712\"))\n\n(define diabetes-treatments\n  (query:X->Known\n   #f\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:treats\")))\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"DOID:9351\"))))))\n\n(length diabetes-treatments)\n;; 20042\n\n\n(define diabetes-causes\n  (query:X->Known\n   #f\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:causes\")))\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"DOID:9351\"))))))\n\n(length diabetes-causes)\n;; =>\n9297\n\n(sort (remove-duplicates (map car diabetes-causes)) string<=?)\n\n(filter (lambda (e) (string=? \"water\" (cadr e))) diabetes-causes)\n"
  },
  {
    "path": "contrib/medikanren2/neo/Mayu/wills-new-rtx-kg2-queries.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n(define diabetes-treatments\n  (query:X->Known\n   #f\n   (set->list\n    (apply set-union\n           (map get-predicate-descendents-in-db\n                '(\"biolink:treats\"\n                  ))))\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"DOID:9351\"))))))\n\n(length diabetes-treatments)\n;; 17247\n\n\n(define diabetes-causes\n  (query:X->Known\n   #f\n   (set->list\n    (apply set-union\n           (map get-predicate-descendents-in-db\n                '(\"biolink:causes\"\n                  ))))\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"DOID:9351\"))))))\n\n(length diabetes-causes)\n\n(sort (remove-duplicates (map car diabetes-causes)) string<=?)\n\n(filter (lambda (e) (string=? \"water\" (cadr e))) diabetes-causes)\n"
  },
  {
    "path": "contrib/medikanren2/neo/Will/adverse-effects.rkt",
    "content": "#lang racket/base\n\n(provide\n )\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-server/neo-server-utils.rkt\"\n \"../../../../medikanren2/neo/neo-reasoning/neo-biolink-reasoning-low-level.rkt\"\n \"../utils.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n;; adverse affects for imatinib mesylate\n(query:Known->X\n '(\"CHEBI:45783\")\n '(\"biolink:causes\"\n   \"biolink:exacerbates\"\n   \"biolink:has_adverse_event\"\n   \"biolink:contributes_to\")\n #f)\n\n;; contraindications for imatinib mesylate\n(query:Known->X\n '(\"CHEBI:45783\")\n '(\"biolink:contraindicated_in\")\n #f)\n\n;; the variable `all-predicates` is bound to a list of all supported\n;; biolink predicates\n\n;; other biolink predicates that might be useful:\n#|\n\"biolink:contraindicated_in\"\n\"biolink:has_side_effect\"\n\"biolink:FDA_adverse_event_level\"\n\"biolink:adverse_event_of\"\n\"biolink:has_adverse_event\"\n\"biolink:highest_FDA_approval_status\"\n\"biolink:drug_regulatory_status_world_wide\"\n|#\n"
  },
  {
    "path": "contrib/medikanren2/neo/Will/chemical-affects-gene.rkt",
    "content": "#lang racket/base\n\n(provide\n chem-affects-gene\n chem-affects-gene-entries\n chem-affects-gene-TSV)\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-server/neo-server-utils.rkt\"\n \"../utils.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n;; finds a list of compounds that affect a provided set of genes\n(define (chem-affects-gene gene-list)\n  (time (remove-duplicates\n         (query:X->Known\n          (set->list\n           (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n            '(\"biolink:ChemicalEntity\")))\n          (set->list\n           (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db\n            '(\"biolink:affects\")))\n          (set->list (curie-synonyms-and-descendents gene-list))))))\n\n(define header\n  (list \"chemical CURIE\" \"chemical name\" \"predicate description\" \"object CURIE\" \"object name\" \"NCBITaxon\" \"PUBMEDs\" \"source\"))\n\n(define (create-entry result)\n  (match result\n    [`(,subj-curie ,pred ,obj-curie . ,props)\n     (list\n       subj-curie\n       (concept->name subj-curie)\n       (or (get-assoc \"description\" props)\n           (get-assoc \"predicate_label\" props)\n           (let ((qp (get-assoc \"qualified_predicate\" props)))\n             (if qp\n                 (string-append\n                  qp\n                  \" \"\n                  (or (get-assoc \"object_direction_qualifier\" props) \"\")\n                  \" \"\n                  (or (get-assoc \"object_aspect_qualifier\" props) \"\"))\n                 #f))\n           pred)\n       obj-curie\n       (concept->name obj-curie)\n       (let ((taxon (get-assoc \"NCBITaxon\" props)))\n         (cond\n           ((equal? \"9606\" taxon) (string-append taxon \" (Homo sapiens)\"))\n           ((equal? \"10090\" taxon) (string-append taxon \" (Mus musculus)\"))\n           (else (or taxon \"N/A\"))))\n       (string-join (get-pubs props) \",\")\n       (get-primary-knowledge-source props))]))\n\n(define (chem-affects-gene-entries gene-list)\n  (cons header\n        (remove-duplicates\n         (map create-entry\n              (chem-affects-gene gene-list)))))\n\n(define (chem-affects-gene-TSV file-name gene-list)\n  (write-answers-to-tsv\n   file-name\n   (chem-affects-gene-entries gene-list)))\n"
  },
  {
    "path": "contrib/medikanren2/neo/Will/simple-query.rkt",
    "content": "#lang racket/base\n\n(require\n \"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n \"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"\n json\n racket/format\n racket/list\n racket/match\n racket/set\n racket/pretty\n racket/string)\n\n(define robokop-top-bucket (list 5)) ;top/max bucket num of RoboKop KG\n(define text-mining-top-bucket (list 5)) ;top/max bucket num of Text Mining KG\n(define rtx-kg2-top-bucket (list 7)) ;top/max bucket num of RTX-KG2 KG\n\n; Numbers of the top buckets of RoboKop KG, Text Mining KG, and RTX-KG2 KG (in this order).\n; [The higer the bucket number, the higher amount of publications supporting the edge]\n(define TOP_BUCKET_NUMBERS (list robokop-top-bucket \n                                 text-mining-top-bucket \n                                 rtx-kg2-top-bucket \n                                 ))\n\n(define regulates-EGFR\n  (time (query:X->Known\n         #f\n         (set->list\n          (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n           '(\"biolink:regulates\")))\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list \"HGNC:3236\")))))))\n\n(define regulates-EGFR-faster\n  (time (query:X->Known-scored\n         #f\n         (set->list\n          (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n           '(\"biolink:regulates\")))\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list \"HGNC:3236\"))))\n         TOP_BUCKET_NUMBERS\n         )))\n;; There is a problem when we use the bucketing approach is that we might \n;; receive zero answer from the buckets that has a higer amount of supports.\n;; Hence, you can either manually decrease the bucket number and redo the\n;; query, or you may write a procedure to realize auto growing until reach\n;; the amount of answers you want.\n;; `auto-grow` used by mediKanren neo server:\n;; https://github.com/webyrd/mediKanren/blob/master/medikanren2/neo/neo-server/neo-server-utils.rkt#L80-L92\n\n; If I would like to start with 2 buckets from, for example, rtx-kg2:\n; [we can have 1 or 1 more bucker number as a list in each of the\n; element of the bukect list]\n(define regulates-EGFR-faster-2bks-from-kg2\n  (time (query:X->Known-scored\n         #f\n         (set->list\n          (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n           '(\"biolink:regulates\")))\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list \"HGNC:3236\"))))\n         (list (list 5) (list 5) (list 6 7))\n         )))\n\n; Or we do not want the top bucket at all, for example, from robokop KG:\n(define regulates-EGFR-faster-notop-robokop\n  (time (query:X->Known-scored\n         #f\n         (set->list\n          (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n           '(\"biolink:regulates\")))\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list \"HGNC:3236\"))))\n         (list (list 4) ;; robokop KG has the max bucket number 5\n               (list 5) (list 7))\n         )))\n\n; If I only want to get answers from, for example, the text mining KG:\n; [#f in the correspong index of the bucket list means not do query in\n; this specific KG]\n(define regulates-EGFR-faster-only-tm\n  (time (query:X->Known-scored\n         #f\n         (set->list\n          (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n           '(\"biolink:regulates\")))\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list \"HGNC:3236\"))))\n         (list #f (list 5) #f)\n         )))\n\n(define downregulates-EGFR\n  (filter\n   (lambda (e)\n     (match e\n       [`(,subj ,pred ,obj . ,props)\n        (and (member '(\"predicate\" \"biolink:regulates\") props)\n             (member '(\"object_direction_qualifier\" \"downregulated\") props))]))\n   (query:X->Known\n    #f\n    (set->list\n     (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n      '(\"biolink:affects\")))\n    (set->list\n     (get-descendent-curies*-in-db\n      (curies->synonyms-in-db (list \"HGNC:3236\")))))))\n\n(define diabetes-causes\n  (query:X->Known\n   #f\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:causes\")))\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"DOID:9351\"))))))\n\n(define diabetes-treatments\n  (query:X->Known\n   #f\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:treats\")))\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"DOID:9351\"))))))\n\n(curies->synonyms-in-db (list \"PUBCHEM.COMPOUND:5291\"))\n;; =>\n'(\"PUBCHEM.COMPOUND:5291\"\n  \"PUBCHEM.COMPOUND:123596\"\n  \"DRUGBANK:DB00619\")\n\n(define imatinib-regulates\n  (time (query:Known->X\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list \"PUBCHEM.COMPOUND:5291\"))))\n         (set->list\n          (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n           '(\"biolink:regulates\")))\n         #f)))\n\n(define imatinib-regulates-faster\n  (time (query:Known->X-scored\n         (set->list\n          (get-descendent-curies*-in-db\n           (curies->synonyms-in-db (list \"PUBCHEM.COMPOUND:5291\"))))\n         (set->list\n          (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n           '(\"biolink:regulates\")))\n         #f\n         TOP_BUCKET_NUMBERS)))\n\n; `query:Known->Known` has not support the faster version yet\n(define BCL2-affects-diabetes\n  (query:Known->Known\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"HGNC:990\"))))\n   (set->list\n    (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n     '(\"biolink:affects\")))\n   (set->list\n    (get-descendent-curies*-in-db\n     (curies->synonyms-in-db\n      (list \"DOID:9351\"))))))\n\n; --------------------\n\n(define Casein-Kinase-2-Alpha-1\n  (list \"HGNC:2457\"\n        \"NCBIGene:1457\"\n        \"ENSEMBL:ENSG00000101266\"\n        \"OMIM:115440\"\n        \"UniProtKB:P68400\"))\n\n(define Casein-Kinase-2-Alpha-1+\n  (remove-duplicates (curies-in-db (curies->synonyms Casein-Kinase-2-Alpha-1))))\n\n(define (gene*->protein* gene*)\n  (remove-duplicates\n   (map car\n        (query:X->Known-scored \n         (set->list\n          (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n           '(\"biolink:Protein\")))\n         #;'(\"biolink:Protein\")\n         '(\"biolink:gene_product_of\")\n         gene*\n         (list #f #f (list 0))))))\n\n(define Casein-Kinase-2-Alpha-1-protein (gene*->protein* Casein-Kinase-2-Alpha-1+))\n\n(define chem-regulate-Casein-Kinase-2-Alpha-1\n  (time (query:X->Known\n   (set->list\n    (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n     '(\"biolink:ChemicalEntity\")))\n   (set->list\n    (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db\n     '(\"biolink:affects\")))\n   (remove-duplicates (append Casein-Kinase-2-Alpha-1-protein Casein-Kinase-2-Alpha-1+)))))\n\n;; To see the predicates from the answers\n(remove-duplicates (map cadr chem-regulate-Casein-Kinase-2-Alpha-1))\n\n(define chem-up-regulates-Casein-Kinase-2-Alpha-1\n  (filter\n   (lambda (e)\n     (match e\n       [`(,subj ,pred ,obj . ,props)\n        (or (member '(\"object_direction_qualifier\" \"increased\") props)\n             (member '(\"object_direction_qualifier\" \"upregulated\") props))]))\n   chem-regulate-Casein-Kinase-2-Alpha-1))\n#|\n'((\"PUBCHEM.COMPOUND:15625\"\n   \"biolink:affects\"\n   \"NCBIGene:1457\"\n   (\"NCBITaxon\" \"10090\")\n   (\"biolink:primary_knowledge_source\" \"infores:ctd\")\n   (\"description\" \"increases molecular interaction with\")\n   (\"object\" \"NCBIGene:1457\")\n   (\"object_aspect_qualifier\" \"molecular_interaction\")\n   (\"object_direction_qualifier\" \"increased\")\n   (\"predicate\" \"biolink:affects\")\n   (\"publications\" \"(PMID:19654925)\")\n   (\"qualified_predicate\" \"biolink:causes\")\n   (\"subject\" \"PUBCHEM.COMPOUND:15625\"))\n  (\"PUBCHEM.COMPOUND:15625\"\n   \"biolink:affects\"\n   \"NCBIGene:1457\"\n   (\"NCBITaxon\" \"10090\")\n   (\"biolink:primary_knowledge_source\" \"infores:ctd\")\n   (\"description\" \"increases molecular interaction with\")\n   (\"object\" \"NCBIGene:1457\")\n   (\"object_aspect_qualifier\" \"molecular_interaction\")\n   (\"object_direction_qualifier\" \"increased\")\n   (\"predicate\" \"biolink:affects\")\n   (\"publications\" \"(PMID:19654925)\")\n   (\"qualified_predicate\" \"biolink:causes\")\n   (\"subject\" \"PUBCHEM.COMPOUND:15625\"))\n  (\"PUBCHEM.COMPOUND:15625\"\n   \"biolink:affects\"\n   \"NCBIGene:1457\"\n   (\"NCBITaxon\" \"10090\")\n   (\"biolink:primary_knowledge_source\" \"infores:ctd\")\n   (\"description\" \"increases molecular interaction with\")\n   (\"object\" \"NCBIGene:1457\")\n   (\"object_aspect_qualifier\" \"molecular_interaction\")\n   (\"object_direction_qualifier\" \"increased\")\n   (\"predicate\" \"biolink:affects\")\n   (\"publications\" \"(PMID:19654925)\")\n   (\"qualified_predicate\" \"biolink:causes\")\n   (\"subject\" \"PUBCHEM.COMPOUND:15625\"))\n  (\"PUBCHEM.COMPOUND:5991\"\n   \"biolink:affects\"\n   \"NCBIGene:1457\"\n   (\"NCBITaxon\" \"10090\")\n   (\"biolink:primary_knowledge_source\" \"infores:ctd\")\n   (\"description\" \"increases expression of\")\n   (\"object\" \"NCBIGene:1457\")\n   (\"object_aspect_qualifier\" \"expression\")\n   (\"object_direction_qualifier\" \"increased\")\n   (\"predicate\" \"biolink:affects\")\n   (\"publications\" \"(PMID:17942748 PMID:29097150 PMID:24096037)\")\n   (\"qualified_predicate\" \"biolink:causes\")\n   (\"subject\" \"PUBCHEM.COMPOUND:5991\"))\n  (\"PUBCHEM.COMPOUND:5991\"\n   \"biolink:affects\"\n   \"NCBIGene:1457\"\n   (\"NCBITaxon\" \"10090\")\n   (\"biolink:primary_knowledge_source\" \"infores:ctd\")\n   (\"description\" \"increases expression of\")\n   (\"object\" \"NCBIGene:1457\")\n   (\"object_aspect_qualifier\" \"expression\")\n   (\"object_direction_qualifier\" \"increased\")\n   (\"predicate\" \"biolink:affects\")\n   (\"publications\" \"(PMID:17942748 PMID:29097150 PMID:24096037)\")\n   (\"qualified_predicate\" \"biolink:causes\")\n   (\"subject\" \"PUBCHEM.COMPOUND:5991\"))\n  (\"PUBCHEM.COMPOUND:5991\"\n   \"biolink:affects\"\n   \"NCBIGene:1457\"\n   (\"NCBITaxon\" \"10090\")\n   (\"biolink:primary_knowledge_source\" \"infores:ctd\")\n   (\"description\" \"increases expression of\")\n   (\"object\" \"NCBIGene:1457\")\n   (\"object_aspect_qualifier\" \"expression\")\n   (\"object_direction_qualifier\" \"increased\")\n   (\"predicate\" \"biolink:affects\")\n   (\"publications\" \"(PMID:17942748 PMID:29097150 PMID:24096037)\")\n   (\"qualified_predicate\" \"biolink:causes\")\n   (\"subject\" \"PUBCHEM.COMPOUND:5991\"))\n  (\"DRUGBANK:DB03088\"\n   \"biolink:affects\"\n   \"UniProtKB:P68400\"\n   (\"assertion_id\"\n    \"128b76f85670ba85bb5b91cad9758237cc0886ac449739de46d906886b198350\")\n   (\"association_curie\" \"biolink:ChemicalToGeneAssociation\")\n   (\"json_attributes\"\n    \"[{\\\"attribute_type_id\\\": \\\"biolink:primary_knowledge_source\\\", \\\"value\\\": \\\"infores:text-mining-provider-targeted\\\", \\\"value_type_id\\\": \\\"biolink:InformationResource\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_data_source\\\", \\\"value\\\": \\\"infores:pubmed\\\", \\\"value_type_id\\\": \\\"biolink:InformationResource\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:evidence_count\\\", \\\"value\\\": 1, \\\"value_type_id\\\": \\\"biolink:EvidenceCount\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:extraction_confidence_score\\\", \\\"value\\\": 0.9163411100614833, \\\"value_type_id\\\": \\\"biolink:ConfidenceLevel\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:publications\\\", \\\"value\\\": [\\\"PMC:4631799\\\"], \\\"value_type_id\\\": \\\"biolink:Uriorcurie\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:has_supporting_study_result\\\", \\\"value\\\": \\\"tmkp:480d75d32bc72138b0593be1e14c0f0087ec2cc41b61f80110402e8ff7f34748\\\", \\\"value_type_id\\\": \\\"biolink:TextMiningResult\\\", \\\"value_url\\\": \\\"https://tmui.text-mining-kp.org/evidence/480d75d32bc72138b0593be1e14c0f0087ec2cc41b61f80110402e8ff7f34748\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\", \\\"attributes\\\": [{\\\"attribute_type_id\\\": \\\"biolink:supporting_text\\\", \\\"value\\\": \\\"It should also be noted that AA PCa was associated with a large number of up-regulated oncogenes (such as ITGA5, PIK3CB, PIK3AP, ITPR2, STAT1, CSNK2A1, MKK4, 14-3-3\\\\u03b5, MTOR and MCL1) as well as dysregulated unpaired miRNAs that are unique to AA PCa (e.g.\\\", \\\"value_type_id\\\": \\\"EDAM:data_3671\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:publications\\\", \\\"value\\\": \\\"PMC:4631799\\\", \\\"value_type_id\\\": \\\"biolink:Uriorcurie\\\", \\\"value_url\\\": \\\"https://pubmed.ncbi.nlm.nih.gov/PMC4631799/\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_text_located_in\\\", \\\"value\\\": \\\"DISCUSS\\\", \\\"value_type_id\\\": \\\"IAO_0000314\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:extraction_confidence_score\\\", \\\"value\\\": 0.9163411100614833, \\\"value_type_id\\\": \\\"EDAM:data_1772\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:subject_location_in_text\\\", \\\"value\\\": \\\"32|35\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted\\\"}, {\\\"attribute_type_id\\\": \\\"biolink:object_location_in_text\\\", \\\"value\\\": \\\"143|150\\\", \\\"value_type_id\\\": \\\"SIO:001056\\\", \\\"attribute_source\\\": \\\"infores:text-mining-provider-targeted \\\"}, {\\\"attribute_type_id\\\": \\\"biolink:supporting_document_year\\\", \\\"value\\\": 2015, \\\"value_type_id\\\": \\\"UO:0000036\\\", \\\"attribute_source\\\": \\\"infores:pubmed\\\"}]}]\")\n   (\"object\" \"UniProtKB:P68400\")\n   (\"object_aspect_qualifier\" \"activity_or_abundance\")\n   (\"object_direction_qualifier\" \"increased\")\n   (\"predicate\" \"biolink:affects\")\n   (\"qualified_predicate\" \"biolink:causes\")\n   (\"score\" \"0.9163411100614833\")\n   (\"subject\" \"DRUGBANK:DB03088\")\n   (\"supporting_publications\" \"PMC:4631799\")\n   (\"supporting_study_results\"\n    \"tmkp:480d75d32bc72138b0593be1e14c0f0087ec2cc41b61f80110402e8ff7f34748\")))\n|#\n   \n"
  },
  {
    "path": "contrib/medikanren2/neo/utils.rkt",
    "content": "#lang racket/base\n\n(provide concept->name\n         concept->category\n\n         curie-synonyms-and-descendents\n\n         write-answers-to-tsv\n\n         get-pubs\n         get-primary-knowledge-source\n         \n         get-assoc\n         list-assoc\n         merge-list\n         merge-hash   \n         )\n\n(require racket/list\n         racket/math\n         racket/string\n         json\n         racket/match\n         \"../../../medikanren2/neo/neo-server/neo-server-utils.rkt\"\n         \"../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt\"\n         \"../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt\"         \n         \"../../../medikanren2/neo/neo-utils/neo-helpers-without-db.rkt\"\n         )\n\n(define (get-pubs props)\n  (if (zero? (num-pubs props))\n      '()\n      (hash-ref (get-publications props) 'value)))\n\n(define (get-primary-knowledge-source props)\n  (if (edge-has-source? props)\n      (hash-ref (get-source props) 'resource_id)\n      (error 'get-primary-knowledge-source (format \"no primary knowledge source in properties: ~s\" props))))\n\n\n\n\n\n(define (curie-synonyms-and-descendents curie-list)\n  (get-descendent-curies*-in-db\n   (curies->synonyms-in-db curie-list)))\n\n#;(define (concept->name curie)\n  (let ((id-name-val\n         (remove-duplicates (filter (lambda (cl)\n                                      (and (equal? (car cl) curie)\n                                           (equal? (cadr cl) \"name\")))\n                                    (query:Concept (list curie))))))\n        (if (null? id-name-val)\n            curie\n            (caddar id-name-val))))\n\n(define (concept->name curie)\n  (let ((name (assoc \"name\" (curie->properties curie))))\n    (if name (cadr name) curie)))\n\n(define (concept->category curie)\n  (let ((category (assoc \"category\" (curie->properties curie))))\n    (if category (cdr category) '())))\n\n(define (write-answers-to-tsv file-name lines)\n  (let ((op (open-output-file file-name #:mode 'text #:exists 'replace)))\n    (for-each\n      (lambda (line)\n        (fprintf op (string-join line \"\\t\"))\n        (fprintf op \"\\n\"))\n      lines)\n    (close-output-port op)))\n"
  },
  {
    "path": "contrib/medikanren2/profiling.rkt",
    "content": "#lang racket\n(provide\n run/progress\n )\n(require \"../../medikanren2/base.rkt\"\n         chk)\n\n\n;;;(run/progress numMax s)\n;; \n;;   Run a query while reporting statistics.  Query must first be converted to a\n;;   stream s.  Parameter numMax indicates the maximum desired number of\n;;   query results.  Setting numMax to -1 searches for all results, as in run*.\n;;   Statistics are printed to current-output-port.\n;; \n;;   Example:\n;; \n;;   (run/progress 1000\n;;                (query->stream\n;;                 (query (id)\n;;                        (fresh (p o)\n;;                               (nodes id p o)\n;;                               (:== #t (id) (string-prefix? id \"APO\"))\n;;                               ))))\n;; \n;; Statistics printed are:\n;; \n;;   num => the number of results obtained so far\n;;   w => the number of ticks expended so far\n;;   sec => the number of seconds elapsed so far\n;;   num/sec => the results per second found so far\n;; \n(define (run/progress numMax s)\n  (let ((t0 (current-milliseconds))\n        (t-prev -1)\n        (dt-min 5000))\n    (define (report i w t)\n      (let ((dt-prev (- t t-prev)))\n        (when (> dt-prev dt-min)\n          (let* (\n                 (dt (- t t0))\n                 (ips (exact->inexact (* 1000 (/ i (+ dt 1)))))\n                 (dtsec (exact->inexact (/ dt 1000)))\n                 )\n            (printf \"num=~a w=~a sec=~a num/sec=~a\\n\" i w dtsec ips)\n            (set! t-prev t)))))\n    (define (iter i w xs s)\n      (cond\n        ((and (>= numMax 0) (>= i numMax)) xs)\n        ((null? s) xs)\n        ((procedure? s)\n         (report i w (if (> (bitwise-and w 255) 0) 0 (current-milliseconds)))\n         (iter i (+ w 1) xs (s)))\n        ((pair? s)\n         (let* ((x (car s))\n                (t (current-milliseconds))\n                )\n           (report i w t)\n           (iter (+ i 1) (+ w 1) (cons x xs) ((cdr s)))))\n        (else (raise (format \"unexpected type: ~a\" s)))))\n    (reverse (iter 0 0 '() s))))\n\n(module+ test\n  (chk\n   (#:do\n    (define-relation/table (rel a b)\n      'source-stream '(\n                       (\"a\" 1)\n                       (\"b\" 2)\n                       (\"c\" 3)\n                       (\"d\" 4)\n                       (\"e\" 5))))\n\n   (#:= (run\n         10\n         (num)\n         (fresh (id)\n                (membero id '(\"b\" \"c\"))\n                (rel id num)))\n    '((2) (3)))\n   \n   (#:= (run/progress\n         10\n         (query->stream\n          (query             \n           (num)\n           (fresh (id)\n                  (membero id '(\"b\" \"c\"))\n                  (rel id num)))))\n    '((2) (3)))\n  ))\n"
  },
  {
    "path": "contrib/medikanren2/trapi-tests.rkt",
    "content": "#lang racket/base\n(provide trapi-response)\n(require\n  \"../../medikanren2/trapi.rkt\"\n  \"../../medikanren2/lw-reasoning.rkt\"\n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/port\n  racket/pretty\n  racket/runtime-path\n  racket/string\n  json\n  )\n\n;; Simple tests for TRAPI interpreter\n\n(define q (string->jsexpr #<<EOS\n{\n    \"message\": {\n        \"query_graph\": {\n            \"edges\": {\n                \"e00\": {\n                    \"subject\": \"n00\",\n                    \"object\": \"n01\",\n                    \"predicates\": [\"biolink:gene_associated_with_condition\"]\n                }\n            },\n            \"nodes\": {\n                \"n00\": {\n                    \"ids\" : [\"UniProtKB:P51587\"],\n                    \"categories\": [\"biolink:biological_entity\"]\n                },\n                \"n01\": {\n                    \"categories\": [\"biolink:Disease\"],\n                    \"is_set\" : true\n                }\n            }\n        }\n    }\n}\nEOS\n))\n\n;; Using knowledge_graph\n\n(define q2 (string->jsexpr #<<EOS\n{\n    \"message\": {\n        \"query_graph\": {\n            \"edges\": {\n                \"e00\": {\n                    \"subject\": \"n00\",\n                    \"object\": \"n01\",\n                    \"predicates\" : [\"biolink:treats\"]\n                }\n            },\n            \"nodes\": {\n                \"n00\": {\n                    \"ids\" : [\"CHEBI:6801XXX\"]\n                },\n                \"n01\": {\n                    \"categories\": [\"biolink:Disease\"]\n                }\n            }\n        },\n       \"knowledge_graph\" : {\n           \"nodes\": {\n               \"MONDO:0005148\": {\"name\": \"type-2 diabetes\", \"category\":\"biolink:Disease\"},\n               \"CHEBI:6801XXX\": {\"name\": \"metformin\", \"category\": \"drug\"}\n            },\n           \"edges\": {\n              \"df87ff82\": {\"subject\": \"CHEBI:6801XXX\", \"predicate\": \"biolink:treats\", \"object\": \"MONDO:0005148\"}\n            }\n         }\n    }\n}\nEOS\n))\n\n(define q3 (string->jsexpr #<<EOS\n{\n  \"message\": {\n    \"query_graph\": {\n      \"edges\": {\n        \"e01\": {\n          \"object\": \"n0\",\n          \"subject\": \"n1\",\n          \"predicates\":[\"biolink:has_phenotype\"]\n        }\n      },\n      \"nodes\": {\n        \"n0\": {\n          \"ids\": [\"MONDO:0007114\"],\n          \"categories\":[\"biolink:Disease\"]\n        },\n        \"n1\": {\n          \"categories\": [\"biolink:PhenotypicFeature\"]\n        }\n      }\n    }\n  }\n }\nEOS\n))\n\n\n(define q4 (string->jsexpr #<<EOS\n{\n    \"message\": {\n        \"query_graph\": {\n            \"edges\": {\n                \"e00\": {\n                    \"subject\": \"n00\",\n                    \"object\": \"n01\",\n                    \"predicates\": [\"biolink:regulates\"],\n                    \"use_reasoning\" : true\n                }\n            },\n            \"nodes\": {\n                \"n00\": {\n                    \"ids\" : [\"GO:0002862\"],\n                    \"use_reasoning\" : true\n                },\n                \"n01\": {\n                    \"categories\": [\"biolink:BiologicalProcess\"]\n                }\n            }\n        }\n    }\n}\nEOS\n))\n(define m4 (hash-ref q4 'message))\n(let ((results (time (trapi-response m4))))\n  (display  (jsexpr->string results))\n  (printf \"\\nSize:~s\\n\" (length (hash-ref results 'results '()))))\n\n\n;; (lw-reasoning? #t)\n;; (define m1    (hash-ref q 'message))\n;; (define m2    (hash-ref q2 'message))\n;; (define m3 (hash-ref q3 'message))\n\n\n;; (define r (time (trapi-response m1)))\n;; (display (jsexpr->string r))\n;; (printf \"\\nSize:~s\\n\" (length  (hash-ref r 'results '())))\n;; (printf \"\\n=====\\n\")\n;; (define r2 (time (trapi-response m2)))\n;; (display (jsexpr->string r2))\n;; (printf \"\\nSize:~s\\n\" (length (hash-ref r2 'results '())))\n;; (printf \"\\n=====\\n\")\n;; (define r3 (time (trapi-response m3)))\n;; (display (jsexpr->string r3))\n;; (printf \"\\nSize:~s\\n\" (length (hash-ref r3 'results '())))\n\n\n\n\n\n"
  },
  {
    "path": "medikanren/.compile.sh",
    "content": "#!/bin/bash\nadirRepo=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && cd .. && pwd )\"\nadirMk=\"$adirRepo/medikanren\"\nadirArtifacts=\"$adirRepo/ci_artifacts\"\n\n\nstepname=medikanren1_compile_trapi\nif raco make \"$adirMk/apps/translator-web-server.rkt\"\nthen\n    echo \"$stepname\" > \"$adirArtifacts/status/pass/$stepname\"\nelse\n    echo \"$stepname\" > \"$adirArtifacts/status/fail/$stepname\"\nfi\n\nstepname=medikanren1_compile_gui\nif raco make \"$adirMk/apps/gui-simple-v2.rkt\"\nthen\n    echo \"$stepname\" > \"$adirArtifacts/status/pass/$stepname\"\nelse\n    echo \"$stepname\" > \"$adirArtifacts/status/fail/$stepname\"\nfi\n"
  },
  {
    "path": "medikanren/.gitignore",
    "content": "/data\n/config.scm\n/last.sx\n/last.txt\n/last.tsv\n"
  },
  {
    "path": "medikanren/.install_pkgs.sh",
    "content": "#!/bin/bash\n\n# TODO: raco pkg will stop and do nothing if you run\n# this command as-is and any of the packages have been previously installed.\n\n# Current workaround is to only install it once, from the medikanren2 directory.\n\n# raco pkg install --auto --batch --fail-fast \\\n#     chk \\\n#     shell-pipeline \\\n#     yaml \\\n#     memoize\n"
  },
  {
    "path": "medikanren/.run_ci.sh",
    "content": "#!/bin/bash\nadirRepo=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && cd .. && pwd )\"\nadirMk=\"$adirRepo/medikanren\"\nadirArtifacts=\"$adirRepo/ci_artifacts\"\n\nbash \"$adirMk/.compile.sh\"\n\n# TODO: Replace this way to run tests with a way that actually\n# discovers them.  The purpose of the current way only to show that\n# tests can be run in Github Actions against real data.\n\nif raco test \"$adirMk/configref.rkt\"\nthen\n    echo medikanren_run_ci > \"$adirArtifacts/status/pass/medikanren1_run_ci\"\nelse\n    echo medikanren_run_ci > \"$adirArtifacts/status/fail/medikanren1_run_ci\"\nfi\n\n\n"
  },
  {
    "path": "medikanren/README.md",
    "content": "# MediKanren\n\n## Directory Structure\n\n| Directory | Description |\n|---|---|\n|[apps](apps)| Web service and local GUI applications |\n|[util/data-import](util/data-import)| Import tools from external KG formats |\n|[open-api](open-api)| Module for integration with external KGs |\n|[pieces-parts](pieces-parts)| Extensions of core API |\n|[data](data)| Install KG data here (.gitignored) |\n|[test](test)| Collection of test code |\n|[test/unit](test/unit)| Tests without external dependencies |\n|[test/full-dbs](test/full-dbs)| Tests depending on full KG |\n|[test/external-http](test/external-http)| Tests depending on external http services |\n|[use-cases](use-cases)| Moved to [contrib/medikanren/use-cases](../contrib/medikanren/use-cases) |\n\n"
  },
  {
    "path": "medikanren/apps/gui-simple-v2.rkt",
    "content": "#lang racket\n\n(require\n  \"../common.rkt\"\n  racket/sandbox\n  racket/gui/base\n  framework\n  racket/engine\n  racket/date\n  racket/string\n  net/sendurl\n  \"../db.rkt\"\n  (except-in racket/match ==)\n  (only-in srfi/1 iota))\n\n(provide\n  launch-gui)\n\n(define MEDIKANREN_VERSION_STRING \"mediKanren Explorer 0.2.30\")\n\n(define argv (current-command-line-arguments))\n(define argv-optional '#(CONFIG_FILE))\n\n(when (not (<= (vector-length argv) (vector-length argv-optional)))\n  (error \"optional arguments ~s; given ~s\" argv-optional argv))\n\n(displayln \"Starting mediKanren Explorer...\")\n(newline)\n(displayln \"************************************************\")\n(displayln \"*** mediKanren is for research purposes only ***\")\n(displayln \"************************************************\")\n(newline)\n(displayln MEDIKANREN_VERSION_STRING)\n;; Loading will occur at first use if not explicitly forced like this.\n(load-config #t (and (<= 1 (vector-length argv)) (vector-ref argv 0)))\n(load-databases #t)\n\n;;; Query save file settings\n(define WRITE_QUERY_RESULTS_TO_FILE            (config-ref 'query-results.write-to-file?))\n(define QUERY_RESULTS_FILE_NAME                (config-ref 'query-results.file-name))\n(define HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME (config-ref 'query-results.file-name-human))\n(define SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME (config-ref 'query-results.file-name-spreadsheet))\n(define QUERY_RESULTS_FILE_MODE                (config-ref 'query-results.file-mode))\n\n;;; Initial window size\n(define HORIZ-SIZE (config-ref 'initial-window-size.horizontal))\n(define VERT-SIZE (config-ref 'initial-window-size.vertical))\n\n;;; Decreases/increases predicate names\n(define DECREASES_PREDICATE_NAMES (config-ref 'decreases-predicate-names))\n(define INCREASES_PREDICATE_NAMES (config-ref 'increases-predicate-names))\n\n\n#|\nconcept format (subject or object), without dbname at front:\n\n`(,cid ,cui ,name (,catid . ,cat) ,props)\n\nconcept format (subject or object), with dbname at front:\n\n`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n\n\nedge format, without dbname at front:\n\n`(,eid (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n       (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n       (,pid . ,pred) ,eprops)\n\nedge format, with dbname at front (as used in edgeo):\n\n`(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n               (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n               (,pid . ,pred) ,eprops)\n|#\n\n(define (split-name-string name)\n  (string-split name #px\"\\\\s+\"))\n\n(define (empty-string? str)\n  (not (not (regexp-match #px\"^[\\\\s]*$\" str))))\n\n(define *verbose* #t)\n\n(define input-response-latency 50)\n\n(define MAX-CHAR-WIDTH 150)\n\n(define smart-column-width-list-box%\n  (class list-box%\n    (super-new)\n    (define (on-size width height)\n      (super on-size width height)\n      (set-default-column-widths this))\n    (override on-size)))\n\n(define (set-default-column-widths list-box)\n  (define label* (send list-box get-column-labels))\n  (define num-cols (length label*))\n  (define window-width (send list-box get-width))\n  (define min-width 5)\n  (define max-width 1000)\n  (define fudge-factor 4) ;; column divider width\n  (define width (min (max (- (floor (/ window-width num-cols)) fudge-factor)\n                          min-width)\n                     max-width))\n  (let loop ((col-num (sub1 num-cols)))\n    (cond\n      [(zero? col-num) (void)]\n      [else\n       (send list-box\n             set-column-width\n             col-num\n             width\n             min-width\n             max-width)\n       (loop (sub1 col-num))])))\n\n(define construct-predicate-label-string\n  (lambda (pred-string pred-name-list)\n    (~a\n     (string-append pred-string\n                   \"  (\"\n                   (foldr (lambda (str1 str2)\n                            (if (equal? \"\" str2)\n                                (string-append str1 \"\" str2)\n                                (string-append str1 \", \" str2)))\n                          \"\"\n                          pred-name-list)\n                   \")\")\n     #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")))\n\n(define DECREASES_PREDICATE_PREFIX_STRING \"decreases [synthetic]\")\n(define DECREASES_PREDICATE_STRING\n  (construct-predicate-label-string DECREASES_PREDICATE_PREFIX_STRING DECREASES_PREDICATE_NAMES))\n(define INCREASES_PREDICATE_PREFIX_STRING \"increases [synthetic]\")\n(define INCREASES_PREDICATE_STRING\n  (construct-predicate-label-string INCREASES_PREDICATE_PREFIX_STRING INCREASES_PREDICATE_NAMES))\n\n(define SYNTHETIC_PREDICATE_PREFIXES (list DECREASES_PREDICATE_PREFIX_STRING\n                                           INCREASES_PREDICATE_PREFIX_STRING\n                                           ))\n\n\n(define SORT_COLUMN_INCREASING 'sort-column-increasing)\n(define SORT_COLUMN_DECREASING 'sort-column-decreasing)\n\n(define *concept-1-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING))\n(define *last-concept-1-column-clicked-for-sorting* (box -1))\n\n(define *concept-2-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING))\n(define *last-concept-2-column-clicked-for-sorting* (box -1))\n\n(define *concept-X-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING))\n(define *last-concept-X-column-clicked-for-sorting* (box -1))\n\n\n(define *concept-1-name-string* (box \"\"))\n(define *concept-1-isa-flag* (box #f))\n(define *concept-1-choices* (box '()))\n(define *predicate-1-choices* (box '()))\n\n(define *concept-2-name-string* (box \"\"))\n(define *concept-2-isa-flag* (box #f))\n(define *concept-2-choices* (box '()))\n(define *predicate-2-choices* (box '()))\n\n(define *concept-X-choices* (box '()))\n(define *full-path-choices* (box '()))\n(define *pubmed-choices* (box '()))\n\n;; saved choices used to generate\n;; paths when clicking on a concept in the X list box.\n(define *solution-concept-1-name-string* (box \"\"))\n(define *solution-concept-2-name-string* (box \"\"))\n(define *solution-concept-1-isa-flag* (box #f))\n(define *solution-concept-2-isa-flag* (box #f))\n(define *solution-concept-1-choices* (box '()))\n(define *solution-concept-2-choices* (box '()))\n(define *solution-predicate-1-choices* (box '()))\n(define *solution-predicate-2-choices* (box '()))\n\n;; ((pubmed-URL . (publication-date subject-score object-score sentence)) ...)\n(define *publications-info-alist* (box '()))\n\n(define *populate-publication-fields*\n  (lambda args\n    (error '*populate-publication-fields* \"*populate-publication-fields* function not initialized\")))\n\n(define (scheduler dependents)\n  (define mk-thread #f)\n  (define (kill-and-run p)\n    (kill-current-thread)\n    (set! mk-thread (thread p)))\n  (define (kill-current-thread)\n    (and mk-thread (begin (kill-thread mk-thread)\n                          (set! mk-thread #f)))\n    (for-each (lambda (s) (s 'kill)) dependents))\n  (lambda (op . args)\n    (case op\n      ((run)  (apply kill-and-run args))\n      ((kill) (kill-current-thread))\n      (else   (error \"invalid scheduler operation:\" op args)))))\n\n(define S (scheduler '()))\n(define S:edges S)\n(define S:X     S)\n(define S:C1P   S)\n(define S:C2P   S)\n(define S:C1    S)\n(define S:C2    S)\n;; TODO: ideally we would tier schedulers so that independent processes could\n;; be run concurrently.  Unfortunately, the underlying database does not\n;; currently use its ports in a thread-safe manner.  Fix this.\n;(define S:edges (scheduler '()))\n;(define S:X     (scheduler (list S:edges)))\n;(define S:C1P   (scheduler (list S:X)))\n;(define S:C2P   (scheduler (list S:X)))\n;(define S:C1    (scheduler (list S:C1P)))\n;(define S:C2    (scheduler (list S:C2P)))\n\n(define handle-search-in-Xs\n  (lambda (search-in-Xs-field\n           concept-X-list-box\n           search-in-Xs-previous-button\n           search-in-Xs-next-button\n           . rest)\n    (define direction (if (and (list? rest) (= (length rest) 1)) (car rest) #f))\n    (define search-str (send search-in-Xs-field get-value))\n\n    (define current-selection (send concept-X-list-box get-selection))\n\n    (cond\n      [direction\n\n       (define count (send concept-X-list-box get-number))\n\n       (define add1/sub1 (case direction\n                           [(previous) sub1]\n                           [(next) add1]\n                           [else (error 'add1/sub1 \"unknown direction in inc/dec\")]))\n\n       (define found-selection\n         (and (> count 0)\n              (let loop ((i (add1/sub1 current-selection)))\n                (cond\n                  [(>= i count) (loop 0)]\n                  [(< i 0) (loop (- count 1))]\n                  [else\n                   (define data (send concept-X-list-box get-data i))\n                   (define name-str (list-ref data 3))\n                   (define matches?\n                     (smart-string-matches? #f\n                                            chars:ignore-typical\n                                            \"\"\n                                            (string-split search-str \" \")\n                                            name-str))\n                   (cond\n                     [matches? i]\n                     [(= i current-selection)\n                      ;; wrapped around without a match\n                      #f]\n                     [else (loop (add1/sub1 i))])]))))\n\n       (if found-selection\n           (when (not (equal? found-selection current-selection))\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))\n             (send concept-X-list-box select found-selection #t)\n             (send concept-X-list-box set-first-visible-item found-selection))\n           (begin\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))))]\n      [(empty-string? search-str)\n       (when current-selection\n         (send concept-X-list-box select current-selection #f))\n       (send search-in-Xs-previous-button enable #f)\n       (send search-in-Xs-next-button enable #f)]\n      [else\n       (define count (send concept-X-list-box get-number))\n       (define found-selection\n         (and (> count 0)\n              (let loop ((i 0))\n                (cond\n                  [(>= i count) #f]\n                  [else\n                   (define data (send concept-X-list-box get-data i))\n                   (define name-str (list-ref data 3))\n                   (define matches?\n                     (smart-string-matches? #f\n                                            chars:ignore-typical\n                                            \"\"\n                                            (string-split search-str \" \")\n                                            name-str))\n                   (if matches?\n                       i\n                       (loop (add1 i)))]))))\n\n       (if found-selection\n           (begin\n             (send search-in-Xs-previous-button enable #t)\n             (send search-in-Xs-next-button enable #t))\n           (begin\n             (send search-in-Xs-previous-button enable #f)\n             (send search-in-Xs-next-button enable #f)))\n\n       (if found-selection\n           (when (not (equal? found-selection current-selection))\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))\n             (send concept-X-list-box select found-selection #t)\n             (send concept-X-list-box set-first-visible-item found-selection))\n           (begin\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))))])))\n\n(define (convert-concept-1/2-to-list-box-format concept)\n  (match concept\n    [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n     (list (format \"~a\" dbname)\n           (format \"~a\" cid)\n           (~a cui #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (format \"~a\" `(,catid . ,cat))\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\"))]))\n\n(define (convert-X-concept-to-list-box-format concept)\n  (match concept\n    [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-length ,confidence)\n     (list (format \"~a\" dbname)\n           (format \"~a\" cid)\n           (~a cui #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (format \"~a\" `(,catid . ,cat))\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (format \"~a\" max-pubmed-count)\n           (format \"~a\" min-pubmed-count)\n           (string-join pred-names \", \")\n           (format \"~a\" path-length)\n           (format \"~a\" confidence))]))\n\n(define (convert-concept-1/2-to-column-sorting-format concept)\n  (match concept\n    [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n     (list (format \"~a\" dbname)\n           cid\n           (~a cui #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           catid\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\"))]))\n\n(define (convert-X-concept-to-column-sorting-format concept)\n  (match concept\n    [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-length ,confidence)\n     (list (format \"~a\" dbname)\n           cid\n           (~a cui #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           catid\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           max-pubmed-count\n           min-pubmed-count\n           (string-join pred-names \", \")\n           path-length\n           confidence)]))\n\n(define (make-send-concepts-to-concept-1/2-list-box concept-1/2-list-box-thunk)\n  (lambda (concepts)\n    (define concept-1/2-list-box (concept-1/2-list-box-thunk))\n    (define formatted-concepts (map convert-concept-1/2-to-list-box-format concepts))\n    (send concept-1/2-list-box\n          set\n          (map (lambda (e) (list-ref e 0)) formatted-concepts)\n          (map (lambda (e) (list-ref e 1)) formatted-concepts)\n          (map (lambda (e) (list-ref e 2)) formatted-concepts)\n          (map (lambda (e) (list-ref e 3)) formatted-concepts)\n          (map (lambda (e) (list-ref e 4)) formatted-concepts))))\n\n(define (make-send-concepts-to-concept-X-list-box concept-X-list-box)\n  (lambda (concepts)\n    (define formatted-concepts (map convert-X-concept-to-list-box-format concepts))\n    (send concept-X-list-box\n          set\n          (map (lambda (e) (list-ref e 0)) formatted-concepts)\n          (map (lambda (e) (list-ref e 1)) formatted-concepts)\n          (map (lambda (e) (list-ref e 2)) formatted-concepts)\n          (map (lambda (e) (list-ref e 3)) formatted-concepts)\n          (map (lambda (e) (list-ref e 4)) formatted-concepts)\n          (map (lambda (e) (list-ref e 5)) formatted-concepts)\n          (map (lambda (e) (list-ref e 6)) formatted-concepts)\n          (map (lambda (e) (list-ref e 7)) formatted-concepts)\n          (map (lambda (e) (list-ref e 8)) formatted-concepts)\n          (map (lambda (e) (list-ref e 9)) formatted-concepts))))\n\n(define (handle-sort-by-column-header-click event\n                                            list-box\n                                            last-column-clicked-for-sorting-box\n                                            column-sort-order-vector\n                                            choices-box\n                                            convert-values-to-column-sorting-format\n                                            send-values-to-list-box)\n\n  (printf \"handle-sort-by-column-header-click called\\n\")\n\n  ;; get previously selected choice's data, if any\n  (define current-selection (send list-box get-selection))\n  (printf \"current-selection: ~s\\n\" current-selection)\n  (define current-selection-data (and current-selection\n                                      (send list-box get-data current-selection)))\n  (printf \"current-selection-data: ~s\\n\" current-selection-data)\n\n  (when current-selection\n    (send list-box select current-selection #f))\n\n  ;; sort by column\n  (define column-clicked (send event get-column))\n  (define last-column-clicked (unbox last-column-clicked-for-sorting-box))\n\n  (define sort-order (vector-ref column-sort-order-vector column-clicked))\n\n  ;; swap sort order if user clicks on same column twice in a row\n  (when (= column-clicked last-column-clicked)\n    (set! sort-order\n          (if (eqv? sort-order SORT_COLUMN_INCREASING)\n              SORT_COLUMN_DECREASING\n              SORT_COLUMN_INCREASING))\n    (vector-set! column-sort-order-vector\n                 column-clicked\n                 sort-order))\n\n  (printf \"sorting by column ~s in ~s order\\n\" column-clicked sort-order)\n\n  (define choices (unbox choices-box))\n\n  (define sorted-choices (sort choices\n                               (lambda (c1 c2)\n                                 (let ((fc1 (convert-values-to-column-sorting-format c1))\n                                       (fc2 (convert-values-to-column-sorting-format c2)))\n                                   (let ((v1 (list-ref fc1 column-clicked))\n                                         (v2 (list-ref fc2 column-clicked)))\n                                     (let ((num-compare\n                                            (if (eqv? sort-order SORT_COLUMN_INCREASING)\n                                                <\n                                                >))\n                                           (string-compare\n                                            (if (eqv? sort-order SORT_COLUMN_INCREASING)\n                                                string<?\n                                                string>?)))\n                                       (if (and (number? v1) (number? v2))\n                                           (num-compare v1 v2)\n                                           (string-compare (string-downcase v1)\n                                                           (string-downcase v2)))))))))\n\n  (set-box! last-column-clicked-for-sorting-box column-clicked)\n\n  (set-box! choices-box sorted-choices)\n\n  (send-values-to-list-box sorted-choices)\n\n  ;; add choice data to each list-box entry\n  (define len (length sorted-choices))\n  (let loop ((i 0)\n             (c* sorted-choices))\n    (cond\n      [(= len i) (void)]\n      [else\n       (send list-box set-data i (car c*))\n       (loop (add1 i)\n             (cdr c*))]))\n\n  ;; select previously selected choice in its new location, if any\n  (when (and current-selection current-selection-data)\n    (define count (send list-box get-number))\n    (printf \"count: ~s\\n\" count)\n    (define new-selection\n      (let loop ((i 0))\n        (cond\n          [(>= i count) #f]\n          [else\n           (let ((d (send list-box get-data i)))\n             (printf \"--------\\n\")\n             (printf \"d: ~s\\n\" d)\n             (printf \"(equal? d current-selection-data): ~s\\n\" (equal? d current-selection-data))\n             (if (equal? d current-selection-data)\n                 i\n                 (loop (add1 i))))])))\n    (printf \"new-selection: ~s\\n\" new-selection)\n    (when new-selection\n      (send list-box select new-selection #t)\n      (send list-box set-first-visible-item new-selection)))\n\n  (void))\n\n(define (concept-list parent\n                      parent-search/isa-panel\n                      parent-list-boxes-panel\n                      label\n                      name-string\n                      isa-flag\n                      choices\n                      predicate-list-box-thunk\n                      predicate-choices\n                      edge-type\n                      last-column-clicked-for-sorting-box\n                      column-sort-order-vector\n                      choices-box\n                      convert-values-to-column-sorting-format\n                      send-values-to-list-box\n                      S:C S:CP)\n  (define name-field (new text-field%\n                          (label label)\n                          (parent parent-search/isa-panel)\n                          (init-value \"\")\n                          (callback (lambda (self event)\n                                      (define name (send self get-value))\n                                      (set-box! name-string name)\n                                      (set-box! predicate-choices '())\n                                      (send (predicate-list-box-thunk) set '())\n                                      (handle)))))\n  (define isa-field (new check-box%\n                         (parent parent-search/isa-panel)\n                         (label \"Include ISA-related concepts\")\n                         (value #f)\n                         (callback (lambda (self event) (handle)))))\n  (define concept-listbox (new smart-column-width-list-box%\n                               (label label)\n                               (choices '())\n                               (columns '(\"KG\" \"CID\" \"CURIE\" \"Category\" \"Name\"))\n                               (parent parent-list-boxes-panel)\n                               (style '(column-headers clickable-headers reorderable-headers extended))\n                               (callback (lambda (self event)\n                                           (define event-type (send event get-event-type))\n                                           (cond\n                                             [(eqv? event-type 'list-box-column)\n                                              (handle-sort-by-column-header-click\n                                                event\n                                                concept-listbox\n                                                last-column-clicked-for-sorting-box\n                                                column-sort-order-vector\n                                                choices-box\n                                                convert-values-to-column-sorting-format\n                                                send-values-to-list-box)]\n                                             [else\n                                               (define selections (send self get-selections))\n                                               (define selected-concepts\n                                                 (foldr (lambda (i l) (cons (list-ref (unbox choices) i) l)) '() selections))\n                                               (when *verbose*\n                                                 (printf \"selected concepts:\\n~s\\n\" selected-concepts))\n                                               (S:CP 'run\n                                                     (thunk\n                                                       (define preds-by-concept\n                                                         (time (case edge-type\n                                                                 [(in-edge)  (map caddr (find-predicates/concepts #f #t selected-concepts))]\n                                                                 [(out-edge) (map cadr (find-predicates/concepts #t #f selected-concepts))]\n                                                                 [else       (error 'concept-listbox/predicates)])))\n                                                       (define predicates\n                                                         (sort (remove-duplicates (map cddr (append* preds-by-concept))) string<?))\n                                                       (define (create-increase/decrease-syn-pred-list\n                                                                 syn-pred-prefix predicate-names selected-predicates)\n                                                         (let ((inter (sort (set-intersect predicate-names selected-predicates)\n                                                                            string<?)))\n                                                           (if (not (null? inter))\n                                                             (let ((str (string-append syn-pred-prefix \" (\" (string-join inter \", \") \")\")))\n                                                               (let ((safe-string (~a str #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")))\n                                                                 (list safe-string)))\n                                                             '())))\n                                                       (define decreases-synthetic-predicate-string-list\n                                                         (create-increase/decrease-syn-pred-list\n                                                           DECREASES_PREDICATE_PREFIX_STRING DECREASES_PREDICATE_NAMES predicates))\n                                                       (define increases-synthetic-predicate-string-list\n                                                         (create-increase/decrease-syn-pred-list\n                                                           INCREASES_PREDICATE_PREFIX_STRING INCREASES_PREDICATE_NAMES predicates))\n                                                       (set! predicates (append\n                                                                          decreases-synthetic-predicate-string-list\n                                                                          increases-synthetic-predicate-string-list\n                                                                          predicates))\n                                                       (printf \"predicates: ~s\\n\" predicates)\n                                                       (set-box! predicate-choices predicates)\n                                                       (send (predicate-list-box-thunk) set predicates)\n                                                       ;; unselect all items\n                                                       (for ([i (length predicates)])\n                                                            (send (predicate-list-box-thunk) select i #f))))])))))\n\n  (define (mk-run)\n    (let* ((isa-count (if current-isa 50 0))  ;; Only grab the first 50.  50 should probably be a parameter.\n           (subject? (case edge-type\n                       [(out-edge) #t]\n                       [(in-edge)  #f]))\n           (object? (case edge-type\n                      [(out-edge) #f]\n                      [(in-edge)  #t]))\n           (string-parts (split-name-string current-name))\n           (ans (if (null? string-parts) '()\n                  (begin (printf \"searching for: ~s\\n\" current-name)\n                         (time (find-concepts/options/cui-infer subject? object? isa-count string-parts))))))\n      (set-box! choices ans)\n      (send concept-listbox\n            set\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (~a dbname #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (format \"~a\" cid)]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (~a cui #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (~a `(,catid . ,cat) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n                       (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans))\n\n      ;; add choice data to each list-box entry\n      (define len (length (unbox choices)))\n      (let loop ((i 0)\n                 (c* (unbox choices)))\n        (cond\n          [(= len i) (void)]\n          [else\n           (send concept-listbox set-data i (car c*))\n           (loop (add1 i)\n                 (cdr c*))]))\n\n      ;; unselect all items\n      (for ([i (length ans)])\n           (send concept-listbox select i #f))))\n\n  (define current-name \"\")\n  (define current-isa #f)\n  (define pending-name current-name)\n  (define timer (new timer% (notify-callback (thunk (S:C 'run mk-run)))))\n  (define (handle)\n    (define new-name (send name-field get-value))\n    (define new-isa (send isa-field get-value))\n    (when (not (and (equal? current-name new-name)\n                    (equal? current-isa new-isa)))\n      (set! current-name new-name)\n      (set! current-isa new-isa)\n      (set-box! isa-flag current-isa)\n      (S:C 'kill)\n      (send timer stop)\n      (send timer start input-response-latency #t)))\n  concept-listbox)\n\n(define (launch-gui)\n  ;; (launch-gene-window)\n  (launch-main-window))\n\n(define (launch-main-window)\n  (let ((frame (new frame%\n                    (label MEDIKANREN_VERSION_STRING)\n                    (width HORIZ-SIZE)\n                    (height VERT-SIZE))))\n\n    (define outer-vert-draggable-panel (new panel:vertical-dragable%\n                                            (parent frame)\n                                            (alignment '(left center))))\n\n    (define upper-pane (new panel:vertical-dragable%\n                            (parent outer-vert-draggable-panel)\n                            (alignment '(left center))))\n\n    (define lower-pane (new panel:vertical-dragable%\n                            (parent outer-vert-draggable-panel)\n                            (alignment '(left center))))\n\n    (define go-callback\n      (lambda (button event)\n        (send running-status-description set-label \"Running...\")\n\n        (define concept-1-selections (send concept-1-list-box get-selections))\n        (define concept-2-selections (send concept-2-list-box get-selections))\n\n        (define concept-1-selected-concepts\n          (foldr (lambda (i l) (cons (list-ref (unbox *concept-1-choices*) i) l))\n                 '()\n                 concept-1-selections))\n        (define concept-2-selected-concepts\n          (foldr (lambda (i l) (cons (list-ref (unbox *concept-2-choices*) i) l))\n                 '()\n                 concept-2-selections))\n\n        (printf \"concept-1-selections: ~s\\n\" concept-1-selections)\n        (displayln concept-1-selected-concepts)\n        (printf \"---------------------------------\\n\")\n        (printf \"concept-2-selections: ~s\\n\" concept-2-selections)\n        (displayln concept-2-selected-concepts)\n        (printf \"---------------------------------\\n\")\n\n\n        (define predicate-1-selections (send predicate-1-list-box get-selections))\n        (define predicate-2-selections (send predicate-2-list-box get-selections))\n\n        (define predicate-1-selected-predicates\n          (foldr (lambda (i l) (cons (list-ref (unbox *predicate-1-choices*) i) l))\n                 '()\n                 predicate-1-selections))\n        (define predicate-2-selected-predicates\n          (foldr (lambda (i l) (cons (list-ref (unbox *predicate-2-choices*) i) l))\n                 '()\n                 predicate-2-selections))\n\n\n        (printf \"predicate-1-selections: ~s\\n\" predicate-1-selections)\n        (displayln predicate-1-selected-predicates)\n        (printf \"---------------------------------\\n\")\n        (printf \"predicate-2-selections: ~s\\n\" predicate-2-selections)\n        (displayln predicate-2-selected-predicates)\n        (printf \"---------------------------------\\n\")\n\n        (S:X 'run (thunk (find-X-concepts concept-1-selected-concepts\n                                          concept-2-selected-concepts\n                                          predicate-1-selected-predicates\n                                          predicate-2-selected-predicates\n                                          (unbox *predicate-1-choices*)\n                                          (unbox *predicate-2-choices*)\n                                          concept-X-list-box\n                                          running-status-description\n                                          full-path-list-box\n                                          subject-properties-list-box\n                                          edge-properties-list-box\n                                          object-properties-list-box\n                                          pubmed-list-box\n                                          search-in-Xs-field\n                                          search-in-Xs-previous-button\n                                          search-in-Xs-next-button)))))\n\n    (define concept-1-overall-pane (new vertical-pane%\n                                        (parent upper-pane)\n                                        (alignment '(left center))))\n\n    (define concept-1-search/isa-panel (new panel:horizontal-dragable%\n                                            (parent concept-1-overall-pane)\n                                            (alignment '(left center))\n                                            (stretchable-height #f)))\n    (define concept-1-list-boxes-panel (new panel:horizontal-dragable%\n                                            (parent concept-1-overall-pane)\n                                            (alignment '(left center))))\n    (define concept-1-list-box (concept-list concept-1-overall-pane\n                                             concept-1-search/isa-panel\n                                             concept-1-list-boxes-panel\n                                             \"Concept 1\"\n                                             *concept-1-name-string*\n                                             *concept-1-isa-flag*\n                                             *concept-1-choices*\n                                             (lambda () predicate-1-list-box)\n                                             *predicate-1-choices*\n                                             'out-edge\n                                             *last-concept-1-column-clicked-for-sorting*\n                                             *concept-1-column-sort-order*\n                                             *concept-1-choices*\n                                             convert-concept-1/2-to-column-sorting-format\n                                             (make-send-concepts-to-concept-1/2-list-box (lambda () concept-1-list-box))\n                                             S:C1 S:C1P))\n    (define predicate-1-list-box (new list-box%\n                                      (label \"Predicate 1\")\n                                      (choices (unbox *predicate-1-choices*))\n                                      (columns '(\"Name\"))\n                                      (parent concept-1-list-boxes-panel)\n                                      (style '(extended))\n                                      (callback go-callback)))\n    (define edge-description (new message%\n                                  (parent concept-1-overall-pane)\n                                  (label \"Concept 1 -> Predicate 1 -> [X] -> Predicate 2 -> Concept 2\")))\n\n    (define concept-2-overall-pane (new vertical-pane%\n                                        (parent upper-pane)\n                                        (alignment '(left center))))\n\n    (define concept-2-search/isa-panel (new panel:horizontal-dragable%\n                                            (parent concept-2-overall-pane)\n                                            (alignment '(left center))\n                                            (stretchable-height #f)))\n    (define concept-2-list-boxes-panel (new panel:horizontal-dragable%\n                                            (parent concept-2-overall-pane)\n                                            (alignment '(left center))))\n    (define predicate-2-list-box (new list-box%\n                                      (label \"Predicate 2\")\n                                      (choices (unbox *predicate-2-choices*))\n                                      (columns '(\"Name\"))\n                                      (parent concept-2-list-boxes-panel)\n                                      (style '(extended))\n                                      (callback go-callback)))\n    (define concept-2-list-box (concept-list concept-2-overall-pane\n                                             concept-2-search/isa-panel\n                                             concept-2-list-boxes-panel\n                                             \"Concept 2\"\n                                             *concept-2-name-string*\n                                             *concept-2-isa-flag*\n                                             *concept-2-choices*\n                                             (lambda () predicate-2-list-box)\n                                             *predicate-2-choices*\n                                             'in-edge\n                                             *last-concept-2-column-clicked-for-sorting*\n                                             *concept-2-column-sort-order*\n                                             *concept-2-choices*\n                                             convert-concept-1/2-to-column-sorting-format\n                                             (make-send-concepts-to-concept-1/2-list-box (lambda () concept-2-list-box))\n                                             S:C2 S:C2P))\n\n    (define running-status-description/search-in-Xs-panel\n      (new\n       horizontal-panel%\n       (parent concept-2-overall-pane)\n       (alignment '(left center))\n       (stretchable-height #f)))\n\n    (define running-status-description (new message%\n                                            (parent running-status-description/search-in-Xs-panel)\n                                            (label \"                                                                \")))\n\n    (define search-in-Xs-field (new text-field%\n                                    (label \"Find in X's\")\n                                    (parent running-status-description/search-in-Xs-panel)\n                                    (init-value \"\")\n                                    (callback (lambda (self event)\n                                                (handle-search-in-Xs self\n                                                                     concept-X-list-box\n                                                                     search-in-Xs-previous-button\n                                                                     search-in-Xs-next-button\n                                                                     )))))\n\n    (define search-in-Xs-previous-button (new button%\n                                              (parent running-status-description/search-in-Xs-panel)\n                                              (label \"Previous\")\n                                              (callback (lambda (self event)\n                                                          (handle-search-in-Xs search-in-Xs-field\n                                                                               concept-X-list-box\n                                                                               search-in-Xs-previous-button\n                                                                               search-in-Xs-next-button\n                                                                               'previous)))))\n\n    (define search-in-Xs-next-button (new button%\n                                          (parent running-status-description/search-in-Xs-panel)\n                                          (label \"Next\")\n                                          (callback (lambda (self event)\n                                                      (handle-search-in-Xs search-in-Xs-field\n                                                                           concept-X-list-box\n                                                                           search-in-Xs-previous-button\n                                                                           search-in-Xs-next-button\n                                                                           'next)))))\n\n    (define concept-X-list-box (new smart-column-width-list-box%\n                                    (label \"X\")\n                                    (choices (unbox *concept-X-choices*))\n                                    (columns '(\"KG\" \"CID\" \"CURIE\" \"Category\" \"Name\" \"Max PubMed #\" \"Min PubMed #\" \"Predicates\" \"Path Length\" \"Path Confidence\"))\n                                    (parent lower-pane)\n                                    (style '(column-headers clickable-headers reorderable-headers single))\n                                    (callback (lambda (self event)\n                                                (define event-type (send event get-event-type))\n                                                (S:edges 'run\n                                                         (thunk\n                                                           (cond\n                                                             [(eqv? event-type 'list-box-column)\n                                                              (handle-sort-by-column-header-click\n                                                                event\n                                                                concept-X-list-box\n                                                                *last-concept-X-column-clicked-for-sorting*\n                                                                *concept-X-column-sort-order*\n                                                                *concept-X-choices*\n                                                                convert-X-concept-to-column-sorting-format\n                                                                (make-send-concepts-to-concept-X-list-box self))]\n                                                             [(eqv? event-type 'list-box-dclick)\n                                                              (printf \"double-click!! copy name of the concept to the clipboard\\n\")\n                                                              (define time-stamp (send event get-time-stamp))\n                                                              (printf \"time stamp: ~s\\n\" time-stamp)\n                                                              (define concept-name\n                                                                (let ((sel* (send concept-X-list-box get-selections)))\n                                                                  (if (= (length sel*) 1)\n                                                                    (let ((selected-X (list-ref (unbox *concept-X-choices*) (car sel*))))\n                                                                      (match selected-X\n                                                                        [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-count ,confidence)\n                                                                          name]\n                                                                        [else \"\"]))\n                                                                    \"\")))\n                                                              (printf \"concept name: ~s\\n\" concept-name)\n                                                              (send the-clipboard set-clipboard-string concept-name time-stamp)]\n                                                             [else\n\n                                                               ;; empty the entries in the full-path-list-box\n                                                               (send full-path-list-box set '() '() '() '() '() '() '() '())\n\n                                                               ;; empty the entries in the properties list-boxes\n                                                               (send subject-properties-list-box set '() '())\n                                                               (send edge-properties-list-box set '() '())\n                                                               (send object-properties-list-box set '() '())\n\n                                                               ;; empty the entries in the pubmed-list-box\n                                                               (send pubmed-list-box set '())\n\n                                                               (let ((sel* (send concept-X-list-box get-selections)))\n                                                                 (when (= (length sel*) 1)\n                                                                   (let ((selected-X (list-ref (unbox *concept-X-choices*) (car sel*))))\n                                                                     (let ((selected-X\n                                                                             (match selected-X\n                                                                               [`(,dbname ,cid ,cui ,name (,catid . ,cat) ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-count ,confidence)\n                                                                                 `(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)])))\n                                                                       (printf \"selected ~s\\n\" selected-X)\n                                                                       (define concept-1* (unbox *solution-concept-1-choices*))\n                                                                       (define concept-2* (unbox *solution-concept-2-choices*))\n                                                                       (printf \"concept-1* ~s\\n\" concept-1*)\n                                                                       (printf \"concept-2* ~s\\n\" concept-2*)\n                                                                       (define predicate-1* (unbox *solution-predicate-1-choices*))\n                                                                       (define predicate-2* (unbox *solution-predicate-2-choices*))\n                                                                       (printf \"predicate-1* ~s\\n\" predicate-1*)\n                                                                       (printf \"predicate-2* ~s\\n\" predicate-2*)\n\n                                                                       (define atomic/synthetic-predicate-1* (split-atomic/synthetic-predicates (unbox *predicate-1-choices*) predicate-1*))\n                                                                       (define atomic/synthetic-predicate-2* (split-atomic/synthetic-predicates (unbox *predicate-2-choices*) predicate-2*))\n\n                                                                       (define atomic-predicate-1* (car atomic/synthetic-predicate-1*))\n                                                                       (define atomic-predicate-2* (car atomic/synthetic-predicate-2*))\n\n                                                                       (define synthetic-predicate-1* (cadr atomic/synthetic-predicate-1*))\n                                                                       (define synthetic-predicate-2* (cadr atomic/synthetic-predicate-2*))\n\n\n                                                                       (define paths '())\n\n\n                                                                       (cond\n                                                                         [(and\n                                                                            (null?\n                                                                              (split-name-string\n                                                                                (unbox *solution-concept-1-name-string*)))\n                                                                            (null?\n                                                                              (split-name-string\n                                                                                (unbox *solution-concept-2-name-string*))))\n\n                                                                          (set! paths '())]\n                                                                         [(null? (split-name-string (unbox *solution-concept-1-name-string*)))\n\n                                                                          (set! paths '())\n                                                                          ;; run synthetic queries here\n                                                                          (set! paths\n                                                                            (remove-duplicates\n                                                                              (append paths\n                                                                                      (run* (q)\n                                                                                        (fresh (e dbname eid x o pid pred eprops)\n                                                                                          (== (list `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops)) q)\n                                                                                          (== `(,dbname . ,x) selected-X)\n                                                                                          (== `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops) e)\n                                                                                          (membero `(,dbname . ,o) concept-2*)\n                                                                                          (membero pred atomic-predicate-2*)\n                                                                                          (edgeo e))))))]\n                                                                         [(null? (split-name-string (unbox *solution-concept-2-name-string*)))\n\n                                                                          (set! paths '())\n                                                                          ;; run synthetic queries here\n                                                                          (set! paths\n                                                                            (remove-duplicates\n                                                                              (append paths\n                                                                                      (run* (q)\n                                                                                        (fresh (e dbname eid s x pid pred eprops)\n                                                                                          (== (list `(,dbname ,eid ,s ,x (,pid . ,pred) ,eprops)) q)\n                                                                                          (== `(,dbname . ,x) selected-X)\n                                                                                          (== `(,dbname ,eid ,s ,x (,pid . ,pred) ,eprops) e)\n                                                                                          (membero `(,dbname . ,s) concept-1*)\n                                                                                          (membero pred atomic-predicate-1*)\n                                                                                          (edgeo e))))))]\n                                                                         [else\n                                                                           (set! paths '())\n                                                                           ;; run synthetic queries here\n                                                                           (set! paths\n                                                                             (remove-duplicates\n                                                                               (append paths\n                                                                                       (run* (q)\n                                                                                         (fresh (e1 e2 dbname eid1 eid2 s x o pid1 pid2 p1 p2 eprops1 eprops2)\n                                                                                           (== `(,dbname . ,x) selected-X)\n                                                                                           (== (list\n                                                                                                 `(,dbname ,eid1 ,s ,x (,pid1 . ,p1) ,eprops1)\n                                                                                                 `(,dbname ,eid2 ,x ,o (,pid2 . ,p2) ,eprops2))\n                                                                                               q)\n                                                                                           (== `(,dbname ,eid1 ,s ,x (,pid1 . ,p1) ,eprops1) e1)\n                                                                                           (== `(,dbname ,eid2 ,x ,o (,pid2 . ,p2) ,eprops2) e2)\n                                                                                           (membero `(,dbname . ,s) concept-1*)\n                                                                                           (membero `(,dbname . ,o) concept-2*)\n                                                                                           (membero p1 atomic-predicate-1*)\n                                                                                           (membero p2 atomic-predicate-2*)\n                                                                                           (edgeo e1)\n                                                                                           (edgeo e2))))))])\n\n                                                                       (printf \"paths: ~s\\n\" paths)\n                                                                       (newline)\n\n                                                                       ;; This sorting affects the order of the \"Path\" list\n                                                                       ;; for the selected concept.\n                                                                       (set! paths (sort-paths paths))\n\n                                                                       (define flattened-paths\n                                                                         (let ((ls (foldr\n                                                                                     (lambda (p l)\n                                                                                       (cons\n                                                                                         'path-separator\n                                                                                         (append (reverse p) l)))\n                                                                                     '()\n                                                                                     paths)))\n                                                                           (if (null? ls)\n                                                                             ;; ls should never be null!\n                                                                             '()\n                                                                             (reverse (cdr ls)))))\n\n\n\n                                                                       (define full-path-dbname-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                                    (~a dbname)]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-eid-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                                    (~a eid)]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-subj-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                                    (~a subj #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-pred-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                                    (~a `(,pid . ,pred) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-obj-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj (,pid . ,pred) ,eprops)\n                                                                                    (~a obj #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-subj-cat-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid (,cid ,cui ,name (,catid . ,cat) ,props) ,obj (,pid . ,pred) ,eprops)\n                                                                                    (~a `(,catid . ,cat) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-obj-cat-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj (,cid ,cui ,name (,catid . ,cat) ,props) (,pid . ,pred) ,eprops)\n                                                                                    (~a `(,catid . ,cat) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-PubMed-count-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj (,cid ,cui ,name (,catid . ,cat) ,props) (,pid . ,pred) ,eprops)\n                                                                                    (~a (length (pubmed-URLs-from-edge x)))]))\n                                                                              flattened-paths))\n\n                                                                       (send full-path-list-box\n                                                                             set\n                                                                             full-path-dbname-list\n                                                                             full-path-eid-list\n                                                                             full-path-subj-list\n                                                                             full-path-pred-list\n                                                                             full-path-obj-list\n                                                                             full-path-subj-cat-list\n                                                                             full-path-obj-cat-list\n                                                                             full-path-PubMed-count-list\n                                                                             )\n\n                                                                       (set-box! *full-path-choices* flattened-paths)\n\n                                                                       ;; unselect all items\n                                                                       (for ([i (length flattened-paths)])\n                                                                            (send full-path-list-box select i #f))\n\n                                                                       ;; select first item\n                                                                       (send full-path-list-box select 0 #t)\n                                                                       (populate-selected-paths))))\n                                                                 (void))])))))))\n\n    (define (populate-selected-paths)\n      (when *verbose*\n        (printf \"(unbox *full-path-choices*):\\n~s\\n\" (unbox *full-path-choices*)))\n      (define selections (send full-path-list-box get-selections))\n      (when *verbose*\n        (printf \"selection for full path:\\n~s\\n\" selections))\n      (define selected-full-paths\n        (foldr (lambda (i l) (cons (list-ref (unbox *full-path-choices*) i) l))\n               '()\n               selections))\n      (for-each\n        (lambda (x)\n          (match x\n            ['path-separator\n             (send subject-properties-list-box set '() '())\n             (send edge-properties-list-box set '() '())\n             (send object-properties-list-box set '() '())]\n            [`(,dbname ,eid\n                       (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n                       (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n                       ,p\n                       ,eprops)\n              (define (set-properties-list-box prop-list-box props)\n                (send prop-list-box\n                      set\n                      (map\n                        (lambda (p)\n                          (~a (car p)\n                              #:max-width\n                              MAX-CHAR-WIDTH\n                              #:limit-marker\n                              \"...\"))\n                        props)\n                      (map\n                        (lambda (p)\n                          (~a (cdr p)\n                              #:max-width\n                              MAX-CHAR-WIDTH\n                              #:limit-marker\n                              \"...\"))\n                        props)))\n              (set-properties-list-box subject-properties-list-box sprops)\n              (set-properties-list-box edge-properties-list-box eprops)\n              (set-properties-list-box object-properties-list-box oprops)]))\n        selected-full-paths)\n      (for-each\n        (lambda (edge)\n          (let ((URLs (pubmed-URLs-from-edge edge)))\n            (set-box! *pubmed-choices* URLs)\n            (send pubmed-list-box set URLs)))\n        selected-full-paths)\n      (for-each\n        (lambda (edge)\n          (let ((publications-info-alist\n                  (publications-info-alist-from-edge edge)))\n            (set-box! *publications-info-alist* publications-info-alist)))\n        selected-full-paths)\n      (when *verbose*\n        (printf \"selected full path:\\n\")\n        (for-each\n          (lambda (x)\n            (match x\n              ['path-separator\n               (printf \"-----------------------\\n\")]\n              [`(,dbname ,eid ,subj ,obj ,p ,eprops)\n                (pretty-print `(,dbname ,eid ,subj ,obj ,p ,eprops))]))\n          selected-full-paths)))\n\n    (define full-path-list-box (new smart-column-width-list-box%\n                                    (label \"Paths\")\n                                    (choices (unbox *full-path-choices*))\n                                    (columns '(\"KG\" \"EID\" \"Subject\" \"Predicate\" \"Object\" \"Subj Cat\" \"Obj Cat\" \"PubMed #\"))\n                                    (parent lower-pane)\n                                    (style '(column-headers reorderable-headers extended))\n                                    (callback (lambda (self event) (populate-selected-paths)))))\n\n    (define properties/pubmed-panel (new panel:horizontal-dragable%\n                                         (parent lower-pane)\n                                         (alignment '(left center))\n                                         (stretchable-height #t)))\n\n    (define subject-properties-list-box (new smart-column-width-list-box%\n                                             (label \"Subject\")\n                                             (choices '())\n                                             (columns '(\"Property\" \"Value\"))\n                                             (parent properties/pubmed-panel)\n                                             (style '(column-headers reorderable-headers extended))\n                                             (callback (lambda (self event)\n                                                         (void)))))\n\n    (define edge-properties-list-box (new smart-column-width-list-box%\n                                     (label \"Edge\")\n                                     (choices '())\n                                     (columns '(\"Property\" \"Value\"))\n                                     (parent properties/pubmed-panel)\n                                     (style '(column-headers reorderable-headers extended))\n                                     (callback (lambda (self event)\n                                                 (void)))))\n\n    (define object-properties-list-box (new smart-column-width-list-box%\n                                            (label \"Object\")\n                                            (choices '())\n                                            (columns '(\"Property\" \"Value\"))\n                                            (parent properties/pubmed-panel)\n                                            (style '(column-headers reorderable-headers extended))\n                                            (callback (lambda (self event)\n                                                        (void)))))\n\n    (define pubmed-list-box (new list-box%\n                                 (label \"Pubmed\")\n                                 (choices (unbox *pubmed-choices*))\n                                 (columns '(\"URL\"))\n                                 (parent properties/pubmed-panel)\n                                 (style '(column-headers reorderable-headers single))\n                                 (callback (lambda (self event)\n                                             (define event-type (send event get-event-type))\n                                             (define selections (send self get-selections))\n                                             (define selected-pubmeds\n                                               (foldr (lambda (i l) (cons (list-ref (unbox *pubmed-choices*) i) l))\n                                                      '()\n                                                      selections))\n                                             (for-each\n                                               (lambda (url)\n                                                 (printf \"url: ~s\\n\" url)\n\n                                                 (match (assoc url (unbox *publications-info-alist*))\n                                                   [`(,pubmed-URL . (,publication-date ,subject-score ,object-score ,sentence))\n                                                    (*populate-publication-fields* publication-date subject-score object-score sentence)]\n                                                   [#f (*populate-publication-fields* \"\" \"\" \"\" \"\")])\n\n                                                 (when (eqv? event-type 'list-box-dclick)\n                                                   ;; if the user double-clicked on the URL, open it in a web browser\n                                                   (send-url url)))\n                                               selected-pubmeds)))))\n\n    (define publication-info-panel (new panel:vertical-dragable%\n                                        (parent lower-pane)\n                                        (alignment '(left center))\n                                        (stretchable-height #t)))\n\n    (define publication-info-date/subject/object-panel (new horizontal-panel%\n                                                            (parent publication-info-panel)\n                                                            (alignment '(left center))\n                                                            (stretchable-height #f)))\n\n    (define publication-date (new text-field%\n                                  (label \"Publication Date\")\n                                  (parent publication-info-date/subject/object-panel)\n                                  (enabled #f)\n                                  (init-value \"\")))\n\n    (define subject-score (new text-field%\n                               (label \"Subject Score\")\n                               (parent publication-info-date/subject/object-panel)\n                               (enabled #f)\n                               (init-value \"\")))\n\n    (define object-score (new text-field%\n                              (label \"Object Score\")\n                              (parent publication-info-date/subject/object-panel)\n                              (enabled #f)\n                              (init-value \"\")))\n\n    (define publication-sentence-editor-canvas (new editor-canvas%\n                                                    (parent publication-info-panel)\n                                                    (enabled #f)\n                                                    (label \"Sentence\")))\n    (define publication-sentence-text (new text%))\n    (send publication-sentence-text insert \"\")\n    (send publication-sentence-editor-canvas set-editor publication-sentence-text)\n\n    (set! *populate-publication-fields*\n          (lambda (date subj-score obj-score sentence)\n            (send publication-date set-value date)\n            (send subject-score set-value (format \"~a\" subj-score))\n            (send object-score set-value (format \"~a\" obj-score))\n            (send publication-sentence-text erase)\n            (send publication-sentence-text insert sentence)))\n\n\n    ;; trigger reflowing of object sizes\n    (send frame reflow-container)\n\n    ;; disable previous and next buttons by default\n    (send search-in-Xs-previous-button enable #f)\n    (send search-in-Xs-next-button enable #f)\n\n    (set-default-column-widths concept-1-list-box)\n    (set-default-column-widths concept-2-list-box)\n    (set-default-column-widths concept-X-list-box)\n    (set-default-column-widths full-path-list-box)\n    (set-default-column-widths edge-properties-list-box)\n    (set-default-column-widths edge-properties-list-box)\n    (set-default-column-widths object-properties-list-box)\n\n    (send frame show #t)))\n\n(define (launch-gene-window)\n  (let ((frame (new frame%\n                    (label \"Gene Explorer\")\n                    (width HORIZ-SIZE)\n                    (height VERT-SIZE))))\n\n    (define gene-name-field (new text-field%\n                                 (label \"Gene Name\")\n                                 (parent frame)\n                                 (init-value \"\")\n                                 (callback (lambda (self event)\n                                             (void)))))\n\n    (define gene-listbox (new smart-column-width-list-box%\n                              (label \"Gene\")\n                              (choices '())\n                              (columns '(\"KG\" \"CID\" \"CURIE\" \"Category\" \"Name\"))\n                              (parent frame)\n                              (style '(column-headers reorderable-headers extended))\n                              (callback (lambda (self event)\n                                          (void)))))\n\n\n    (define current-gene-name \"\")\n\n    (send frame show #t)\n    ))\n\n\n(define (split-atomic/synthetic-predicates choices predicate*)\n  (define (synthetic? pred)\n    (memf (lambda (syn-prefix) (string-prefix? pred syn-prefix))\n          SYNTHETIC_PREDICATE_PREFIXES))\n\n  (define atomic-predicate* (filter-not synthetic? predicate*))\n  (define synthetic-predicate* (filter synthetic? predicate*))\n\n  (when (memf (lambda (pred) (string-prefix? pred DECREASES_PREDICATE_PREFIX_STRING))\n              synthetic-predicate*)\n    (set! atomic-predicate* (append DECREASES_PREDICATE_NAMES atomic-predicate*)))\n\n  (when (memf (lambda (pred) (string-prefix? pred INCREASES_PREDICATE_PREFIX_STRING))\n              synthetic-predicate*)\n    (set! atomic-predicate* (append INCREASES_PREDICATE_NAMES atomic-predicate*)))\n\n  (set! atomic-predicate* (set-intersect choices (remove-duplicates atomic-predicate*)))\n\n  (printf \"atomic-predicate*: ~s\\n\" atomic-predicate*)\n  (printf \"synthetic-predicate*: ~s\\n\" synthetic-predicate*)\n\n  (list atomic-predicate* synthetic-predicate*))\n\n\n(define (find-X-concepts concept-1* concept-2* predicate-1* predicate-2* predicate-1-choices predicate-2-choices concept-X-list-box running-status-description full-path-list-box subject-properties-list-box edge-properties-list-box object-properties-list-box pubmed-list-box search-in-Xs-field search-in-Xs-previous-button search-in-Xs-next-button)\n\n  (define start-time (current-milliseconds))\n  (printf \"\\nfinding concepts X for which\\n[C1] -> P1 -> [X] -> P2 -> [C2]\\n\")\n  (printf \"=============================\\n\")\n\n  (define atomic/synthetic-predicate-1* (split-atomic/synthetic-predicates predicate-1-choices predicate-1*))\n  (define atomic/synthetic-predicate-2* (split-atomic/synthetic-predicates predicate-2-choices predicate-2*))\n\n  (define atomic-predicate-1* (car atomic/synthetic-predicate-1*))\n  (define atomic-predicate-2* (car atomic/synthetic-predicate-2*))\n\n  (define synthetic-predicate-1* (cadr atomic/synthetic-predicate-1*))\n  (define synthetic-predicate-2* (cadr atomic/synthetic-predicate-2*))\n\n  (define all-X-concepts-with-edges '())\n\n  (printf \"atomic/synthetic-predicate-1*: ~s\\n\" atomic/synthetic-predicate-1*)\n  (printf \"atomic/synthetic-predicate-2*: ~s\\n\" atomic/synthetic-predicate-2*)\n  (newline)\n  (printf \"atomic-predicate-1*: ~s\\n\" atomic-predicate-1*)\n  (printf \"atomic-predicate-2*: ~s\\n\" atomic-predicate-2*)\n  (newline)\n  (printf \"synthetic-predicate-1*: ~s\\n\" synthetic-predicate-1*)\n  (printf \"synthetic-predicate-2*: ~s\\n\" synthetic-predicate-2*)\n  (newline)\n\n  (cond\n    [(and\n      (null?\n       (split-name-string\n        (unbox *concept-1-name-string*)))\n      (null?\n       (split-name-string\n        (unbox *concept-2-name-string*))))\n\n     (set! all-X-concepts-with-edges '())]\n    [(null? (split-name-string (unbox *concept-1-name-string*)))\n\n     (set! all-X-concepts-with-edges '())\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid s o pid pred eprops e)\n                        (== (list dbname s (list eprops) (list e)) q)\n                        (== `(,dbname ,eid ,s ,o (,pid . ,pred) ,eprops) e)\n                        (membero `(,dbname . ,o) concept-2*)\n                        (membero pred atomic-predicate-2*)\n                        (edgeo e))))))]\n    [(null? (split-name-string (unbox *concept-2-name-string*)))\n\n     (set! all-X-concepts-with-edges '())\n     ;; run synthetic queries here\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid s o pid pred eprops e)\n                        (== (list dbname o (list eprops) (list e)) q)\n                        (== `(,dbname ,eid ,s ,o (,pid . ,pred) ,eprops) e)\n                        (membero `(,dbname . ,s) concept-1*)\n                        (membero pred atomic-predicate-1*)\n                        (edgeo e))))))]\n    [else\n     (set! all-X-concepts-with-edges '())\n     ;; run synthetic queries here\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid1 eid2 s m o pid1 pid2 p1 p2 eprops1 eprops2 e1 e2)\n                        (== (list dbname m (list eprops1 eprops2) (list e1 e2)) q)\n                        (== `(,dbname ,eid1 ,s ,m (,pid1 . ,p1) ,eprops1) e1)\n                        (== `(,dbname ,eid2 ,m ,o (,pid2 . ,p2) ,eprops2) e2)\n                        (membero `(,dbname . ,s) concept-1*)\n                        (membero `(,dbname . ,o) concept-2*)\n                        (membero p1 atomic-predicate-1*)\n                        (membero p2 atomic-predicate-2*)\n                        (edgeo e1)\n                        (edgeo e2))))))])\n\n  (define end-time (current-milliseconds))\n\n  (define elapsed-time (- end-time start-time))\n\n  (printf \"elapsed query time: ~s seconds\\n\" (/ elapsed-time 1000.0))\n  (printf \"=============================\\n\")\n\n  ;; This sorting affects order of appearance in the \"X\" concept list\n  (set! all-X-concepts-with-edges\n    (sort\n      all-X-concepts-with-edges\n      (lambda (c1 c2)\n        (match (list c1 c2)\n          [`((,_ ,_ ,_ ,e1*) (,_ ,_ ,_ ,e2*))\n           (not (path-confidence<? e1* e2*))]))))\n\n\n  (define db/cui-to-pred-names-hash-table (make-hash))\n  (let loop ([c* all-X-concepts-with-edges])\n    (cond\n      [(null? c*) (void)]\n      [else (match (car c*)\n              [`(,dbname (,cid ,cui ,name (,catid . ,cat) ,props) ,whatever ,e*)\n               (let ((pred-names (get-pred-names e*)))\n                 (let ((key (list dbname cui)))\n                   (let ((current-v (hash-ref db/cui-to-pred-names-hash-table key #f)))\n                     (if current-v\n                         (hash-set! db/cui-to-pred-names-hash-table key (set-union pred-names current-v))\n                         (hash-set! db/cui-to-pred-names-hash-table key pred-names))\n                     (loop (cdr c*)))))])]))\n\n  (define all-X-concepts '())\n  (set! all-X-concepts\n        (let loop ([ls all-X-concepts-with-edges])\n          (cond\n            [(null? ls) '()]\n            [else\n             (match (car ls)\n               [`(,dbname (,cid ,cui ,name (,catid . ,cat) ,props) ,whatever ,e*)\n                (let ((pubmed-count* (map pubmed-count e*))\n                      (pred-names (sort (hash-ref db/cui-to-pred-names-hash-table (list dbname cui) '()) string<?)))\n                  (let ((max-pubmed-count (apply max pubmed-count*))\n                        (min-pubmed-count (apply min pubmed-count*))\n                        (path-length (length pubmed-count*))\n                        (confidence (path-confidence e*)))\n                    (cons `(,dbname\n                            (,cid\n                             ,cui\n                             ,name\n                             (,catid . ,cat)\n                             ,props\n                             ,max-pubmed-count\n                             ,min-pubmed-count\n                             ,pred-names\n                             ,path-length\n                             ,confidence)\n                            ,whatever\n                            ,e*)\n                          (loop (remf* (lambda (x)\n                                         (match x\n                                           [`(,dbname-x (,cid-x ,cui-x ,name-x (,catid-x . ,cat-x) ,props-x) . ,rest-x)\n                                            (and (equal? dbname dbname-x)\n                                                 (equal? cid cid-x)\n                                                 (equal? cui cui-x))]))\n                                       (cdr ls))))))])]))\n        )\n  (set! all-X-concepts (map (lambda (e) (cons (car e) (cadr e))) all-X-concepts))\n\n  (newline)\n  (printf \"========== begin query results =============\\n\")\n  (newline)\n\n  (printf \"Query end date/time:\\n~a\\n\" (date->string (seconds->date (current-seconds)) #t))\n  (newline)\n\n\n  (define number-Xs-found (length all-X-concepts))\n  (define query-seconds (/ elapsed-time 1000.0))\n  (define query-time-format-string \"Found ~s X's after ~s seconds\")\n  (send running-status-description set-label (format query-time-format-string number-Xs-found query-seconds))\n  (printf query-time-format-string number-Xs-found query-seconds)\n  (newline)\n  (newline)\n\n\n  (set-box! *concept-X-choices* all-X-concepts)\n\n  (set-box! *solution-concept-1-name-string* (unbox *concept-1-name-string*))\n  (set-box! *solution-concept-2-name-string* (unbox *concept-2-name-string*))\n\n  (set-box! *solution-concept-1-isa-flag* (unbox *concept-1-isa-flag*))\n  (set-box! *solution-concept-2-isa-flag* (unbox *concept-2-isa-flag*))\n\n  (set-box! *solution-concept-1-choices* concept-1*)\n  (set-box! *solution-concept-2-choices* concept-2*)\n  (set-box! *solution-predicate-1-choices* predicate-1*)\n  (set-box! *solution-predicate-2-choices* predicate-2*)\n\n  (printf \"*solution-concept-1-name-string*:\\n~s\\n\" (unbox *solution-concept-1-name-string*))\n  (printf \"*solution-concept-1-isa-flag*:\\n~s\\n\" (unbox *solution-concept-1-isa-flag*))\n  (printf \"*solution-concept-1-choices*:\\n\")\n  (pretty-print (unbox *solution-concept-1-choices*))\n  (printf \"*solution-predicate-1-choices*:\\n\")\n  (pretty-print (unbox *solution-predicate-1-choices*))\n  (newline)\n\n  (printf \"*solution-concept-2-name-string*:\\n~s\\n\" (unbox *solution-concept-2-name-string*))\n  (printf \"*solution-concept-2-isa-flag*:\\n~s\\n\" (unbox *solution-concept-2-isa-flag*))\n  (printf \"*solution-concept-2-choices*:\\n\")\n  (pretty-print (unbox *solution-concept-2-choices*))\n  (printf \"*solution-predicate-2-choices*:\\n\")\n  (pretty-print (unbox *solution-predicate-2-choices*))\n  (newline)\n\n  (define pretty-print-X-concepts-with-edges\n    (lambda (file-name pretty-printer print-basic-header print-low-level-query-information X-concepts-with-edges)\n      (with-output-to-file\n          file-name\n          (lambda ()\n            (when print-basic-header\n              (printf \";; mediKanren query output\\n\")\n              (printf \";; ~a\\n\" MEDIKANREN_VERSION_STRING)\n              (printf \";; \\n\")\n              (let ((local-date (seconds->date (current-seconds))))\n                (printf \";; Query run at date/time: ~s ~s ~s  ~s:~s:~s   (Year Month Day  Hour:Minute:Second)\\n\"\n                        (date-year local-date)\n                        (date-month local-date)\n                        (date-day local-date)\n                        (date-hour local-date)\n                        (date-minute local-date)\n                        (date-second local-date)))\n              (printf \";; \\n\"))\n            (when print-low-level-query-information\n              (printf \";; ===================================================\\n\")\n              (printf \";; Low-level query information from the mediKanren GUI\\n\")\n              (printf \";; ===================================================\\n\")\n              (printf \";; \\n\")\n              (printf \";; *concept-1-name-string*: ~s\\n\" (unbox *concept-1-name-string*))\n              (printf \";; *solution-concept-1-name-string*: ~s\\n\" (unbox *solution-concept-1-name-string*))\n              (printf \";; *solution-concept-1-isa-flag*: ~s\\n\" (unbox *solution-concept-1-isa-flag*))\n              (printf \";; *solution-concept-1-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-concept-1-choices*))\n              (printf \"|#\\n\")\n              (printf \";; atomic/synthetic-predicate-1*: ~s\\n\" atomic/synthetic-predicate-1*)\n              (printf \";; atomic-predicate-1*: ~s\\n\" atomic-predicate-1*)\n              (printf \";; synthetic-predicate-1*: ~s\\n\" synthetic-predicate-1*)\n              (printf \";; *solution-predicate-1-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-predicate-1-choices*))\n              (printf \"|#\\n\")\n              (printf \";; \\n\")\n              (printf \";; \\n\")\n              (printf \";; \\n\")\n              (printf \";; atomic/synthetic-predicate-2*: ~s\\n\" atomic/synthetic-predicate-2*)\n              (printf \";; atomic-predicate-2*: ~s\\n\" atomic-predicate-2*)\n              (printf \";; synthetic-predicate-2*: ~s\\n\" synthetic-predicate-2*)\n              (printf \";; *solution-predicate-2-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-predicate-2-choices*))\n              (printf \"|#\\n\")\n              (printf \";; *concept-2-name-string*: ~s\\n\" (unbox *concept-2-name-string*))\n              (printf \";; *solution-concept-2-name-string*: ~s\\n\" (unbox *solution-concept-2-name-string*))\n              (printf \";; *solution-concept-2-isa-flag*: ~s\\n\" (unbox *solution-concept-2-isa-flag*))\n              (printf \";; *solution-concept-2-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-concept-2-choices*))\n              (printf \"|#\\n\")\n              (printf \"\\n\"))\n            (when print-basic-header\n              (printf \";; ======================================\\n\")\n              (printf \";; Query results (list of complete edges)\\n\")\n              (printf \";; ======================================\\n\"))\n            (pretty-printer X-concepts-with-edges))\n          #:mode 'text\n          #:exists QUERY_RESULTS_FILE_MODE)))\n\n  (define human-friendly-pretty-print-X-concepts-with-edges\n    (lambda (X-concepts-with-edges)\n      (for-each\n        (lambda (entry index)\n          (match entry\n            [`(,dbname\n                ,s\n                ,eprops*\n                ,edges)\n              (printf \"*** Edge group:\")\n              (for-each\n                (lambda (edge)\n                  (match edge\n                    [`(,dbname\n                       ,eid\n                       (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n                       (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n                       (,pid . ,pred) ,eprops)\n                     (let ((pubmed* (pubmed-URLs-from-edge edge)))\n                       (printf \"\\n~s\\t~s\\t~s\\t~s\\t~s\\t~s\\t~s\\t~s PubMed Entries\\n~s\\n\" index dbname sname scat pred oname ocat (length pubmed*) pubmed*))]))\n                edges)\n              (printf \"***\\n\\n\") ]))\n        X-concepts-with-edges\n        (iota (length X-concepts-with-edges) 1))))\n\n  (define spreadsheet-friendly-pretty-print-X-concepts-with-edges\n    (lambda (X-concepts-with-edges)\n      (printf \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\n\"\n              \"KG Name\"\n              \n              \"Subject Category\"\n              \"Subject Name\"\n\n              \"Predicate\"\n\n              \"Object Category\"\n              \"Object Name\"\n\n              \"PubMed URL\"\n\n              \"Pub Date\"\n\n              \"Sentence\")\n      (for-each\n        (lambda (entry index)\n          (match entry\n            [`(,dbname\n                ,s\n                ,eprops*\n                ,edges)\n              (for-each\n                (lambda (edge)\n                  (match edge\n                    [`(,dbname\n                       ,eid\n                       (,scid ,scui ,sname (,scatid . ,scat) . ,sprops)\n                       (,ocid ,ocui ,oname (,ocatid . ,ocat) . ,oprops)\n                       (,pid . ,pred) ,eprops)\n                     \n                     ;; Create list of\n                     ;;\n                     ;; (pub-url pub-date subj-score obj-score sentence)\n                     ;;\n                     ;; entries, containing as much publication\n                     ;; information as is available for the given\n                     ;; edge.\n                     (define publications-info-alist\n                       (let ((p* (publications-info-alist-from-edge edge)))\n                         (if (null? p*)\n                             (let ((pubmed* (pubmed-URLs-from-edge edge)))\n                               (if (null? pubmed*)\n                                   (list (list \"\" \"\" \"\" \"\" \"\"))\n                                   (map\n                                    (lambda (pub-url)\n                                      (list pub-url \"\" \"\" \"\" \"\"))\n                                    pubmed*)))\n                             p*)))\n                     \n                     (for-each\n                       (lambda (pub-info)\n                         (match pub-info\n                           [`(,pub-url ,pub-date ,subj-score ,obj-score ,sentence)\n                            (printf \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\n\"\n                                    dbname\n\n                                    scat\n                                    sname\n\n                                    pred\n\n                                    ocat\n                                    oname\n\n                                    pub-url\n\n                                    pub-date\n\n                                    sentence)]))\n                       publications-info-alist)]))\n                edges)]))\n        X-concepts-with-edges\n        (iota (length X-concepts-with-edges) 1))))\n\n  (when WRITE_QUERY_RESULTS_TO_FILE\n\n    (printf \"saving all-X-concepts-with-edges to '~a' file...\\n\"\n            QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      QUERY_RESULTS_FILE_NAME\n      pretty-print\n      #t ;; print-basic-header flag\n      #t ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved all-X-concepts-with-edges to '~a' file\\n\"\n            QUERY_RESULTS_FILE_NAME)\n\n    (printf \"saving human-friendly version of all-X-concepts-with-edges to '~a' file...\\n\"\n            HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME\n      human-friendly-pretty-print-X-concepts-with-edges\n      #t ;; print-basic-header flag\n      #f ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved human-friendly version of all-X-concepts-with-edges to '~a' file\\n\"\n            HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n\n    (printf \"saving spreadsheet-friendly version of all-X-concepts-with-edges to '~a' file...\\n\"\n            SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME\n      spreadsheet-friendly-pretty-print-X-concepts-with-edges\n      #f ;; print-basic-header flag\n      #f ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved spreadsheet-friendly version of all-X-concepts-with-edges to '~a' file\\n\"\n            SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n\n    )\n\n  (printf \"========== end query results =============\\n\")\n\n  ((make-send-concepts-to-concept-X-list-box concept-X-list-box) all-X-concepts)\n\n  ;; unselect all items\n  (for ([i (length all-X-concepts)])\n       (send concept-X-list-box select i #f))\n\n  ;; add X concept data for each list-box entry\n  (let loop ((i 0)\n             (c* all-X-concepts))\n    (cond\n      [(null? c*) (void)]\n      [else\n       (send concept-X-list-box set-data i (car c*))\n       (loop (add1 i)\n             (cdr c*))]))\n\n  ;; empty the search in X's field, and disable the previous/next buttons\n  (send search-in-Xs-field set-value \"\")\n  (send search-in-Xs-previous-button enable #f)\n  (send search-in-Xs-next-button enable #f)\n\n  ;; empty the entries in the full-path-list-box\n  (send full-path-list-box set '() '() '() '() '() '() '() '())\n\n  ;; empty the entries in the properties list-boxes\n  (send subject-properties-list-box set '() '())\n  (send edge-properties-list-box set '() '())\n  (send object-properties-list-box set '() '())\n\n  ;; empty the entries in the pubmed-list-box\n  (send pubmed-list-box set '())\n\n  )\n\n(displayln\n  \"Launching GUI\")\n\n(launch-gui)\n"
  },
  {
    "path": "medikanren/apps/translator-web-server.rkt",
    "content": "#lang racket/base\n(require\n  \"../common.rkt\"\n  \"../open-api/api-query.rkt\"\n  \"../pieces-parts/synonymize.rkt\"\n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/port\n  racket/pretty\n  racket/runtime-path\n  racket/string\n  json\n  web-server/servlet\n  web-server/servlet-env\n  web-server/managers/none\n  web-server/private/gzip\n  xml\n  )\n\n(define (alist-ref alist key default)\n  (define kv (assoc key alist))\n  (if kv (cdr kv) default))\n\n(print-as-expression #f)\n(pretty-print-abbreviate-read-macros #f)\n(define argv (current-command-line-arguments))\n(define argv-optional '#(CONFIG_FILE))\n(when (not (<= (vector-length argv) (vector-length argv-optional)))\n  (error \"optional arguments ~s; given ~s\" argv-optional argv))\n;; Loading will occur at first use if not explicitly forced like this.\n(load-config #t (and (<= 1 (vector-length argv)) (vector-ref argv 0)))\n(load-databases #t)\n\n(define-runtime-path path:root \".\")\n(define (path/root relative-path) (build-path path:root relative-path))\n(define schema.json.txt\n  (file->string (path/root \"../open-api/TranslatorReasonersAPI.json\")))\n(define schema.yaml.txt\n  (file->string (path/root \"../open-api/TranslatorReasonersAPI.yaml\")))\n(define schema.html\n  (file->string (path/root \"../open-api/html/index.html\")))\n(define schema.html2\n  (file->string (path/root \"../open-api/html2/index.html\")))\n(define schema.json\n  (call-with-input-file (path/root \"../open-api/TranslatorReasonersAPI.json\")\n                        read-json))\n(pretty-print (list 'openapi:      (hash-ref schema.json 'openapi)))\n(pretty-print (list 'info:         (hash-ref schema.json 'info)))\n(pretty-print (list 'externalDocs: (hash-ref schema.json 'externalDocs)))\n(pretty-print (list 'tags:         (hash-ref schema.json 'tags)))\n(pretty-print (list 'paths:        (hash-keys (hash-ref schema.json 'paths))))\n(pretty-print (list 'components:   (hash-keys (hash-ref schema.json 'components))))\n\n(define (xexpr->html-string xe)\n  (string-append \"<!doctype html>\" (xexpr->string xe)))\n(define mime:text (string->bytes/utf-8 \"text/plain;charset=utf-8\"))\n(define mime:html (string->bytes/utf-8 \"text/html; charset=utf-8\"))\n(define mime:js   (string->bytes/utf-8 \"text/javascript;charset=utf-8\"))\n(define mime:json (string->bytes/utf-8 \"application/json; charset=utf-8\"))\n(define index.js \"\nwindow.addEventListener('load', function(){\nvar query_result       = document.getElementById('query-result');\nvar query_result_clear = document.getElementById('query-result-clear');\nvar query_form         = document.getElementById('query-form');\nvar query_text         = document.getElementById('query-text');\nvar query_submit       = document.getElementById('query-submit');\nfunction pretty_json(json_text) {\n  try { return JSON.stringify(JSON.parse(json_text), null, 2); }\n  catch (_) { return json_text; }\n}\nfunction query(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ show('POST error'); });\n  xhr.open('POST', '/query');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfunction show(result)   { query_result.textContent = pretty_json(result); }\nfunction clear_result() { query_result.textContent = ''; }\n\nquery_text.textContent = pretty_json(query_text.textContent);\nquery_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  query(query_text.value);\n}, false);\nquery_result_clear.addEventListener('click', function(){\n  clear_result();\n}, false);\n});\")\n(define v2:index.js \"\nwindow.addEventListener('load', function(){\nvar find_concepts_form           = document.getElementById('find-concepts-form');\nvar find_concepts_text           = document.getElementById('find-concepts-text');\nvar find_concepts_submit         = document.getElementById('find-concepts-submit');\nvar find_concepts_result         = document.getElementById('find-concepts-result');\nvar find_concepts_result_clear   = document.getElementById('find-concepts-result-clear');\nvar find_categories_form         = document.getElementById('find-categories-form');\nvar find_categories_text         = document.getElementById('find-categories-text');\nvar find_categories_submit       = document.getElementById('find-categories-submit');\nvar find_categories_result       = document.getElementById('find-categories-result');\nvar find_categories_result_clear = document.getElementById('find-categories-result-clear');\nvar find_predicates_form         = document.getElementById('find-predicates-form');\nvar find_predicates_text         = document.getElementById('find-predicates-text');\nvar find_predicates_submit       = document.getElementById('find-predicates-submit');\nvar find_predicates_result       = document.getElementById('find-predicates-result');\nvar find_predicates_result_clear = document.getElementById('find-predicates-result-clear');\nvar query_result       = document.getElementById('query-result');\nvar query_result_clear = document.getElementById('query-result-clear');\nvar query_form         = document.getElementById('query-form');\nvar query_text         = document.getElementById('query-text');\nvar query_submit       = document.getElementById('query-submit');\nfunction pretty_json(json_text) {\n  try { return JSON.stringify(JSON.parse(json_text), null, 2); }\n  catch (_) { return json_text; }\n}\nfunction show(element, result) { element.textContent = pretty_json(result); }\n\nfunction find_concepts_show(result)     { show(find_concepts_result,   result); }\nfunction find_categories_show(result)   { show(find_categories_result, result); }\nfunction find_predicates_show(result)   { show(find_predicates_result, result); }\nfunction find_concepts_clear_result()   { find_concepts_result.textContent = ''; }\nfunction find_categories_clear_result() { find_categories_result.textContent = ''; }\nfunction find_predicates_clear_result() { find_predicates_result.textContent = ''; }\nfunction find_concepts(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ find_concepts_show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ find_concepts_show('POST error'); });\n  xhr.open('POST', '/v2/find-concepts');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfunction find_categories(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ find_categories_show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ find_categories_show('POST error'); });\n  xhr.open('POST', '/v2/find-categories');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfunction find_predicates(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ find_predicates_show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ find_predicates_show('POST error'); });\n  xhr.open('POST', '/v2/find-predicates');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfind_concepts_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  find_concepts('\\\"'+find_concepts_text.value+'\\\"');\n}, false);\nfind_categories_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  find_categories('\\\"'+find_categories_text.value+'\\\"');\n}, false);\nfind_predicates_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  find_predicates('\\\"'+find_predicates_text.value+'\\\"');\n}, false);\nfind_concepts_result_clear.addEventListener('click', function(){\n  find_concepts_clear_result();\n}, false);\nfind_categories_result_clear.addEventListener('click', function(){\n  find_categories_clear_result();\n}, false);\nfind_predicates_result_clear.addEventListener('click', function(){\n  find_predicates_clear_result();\n}, false);\n\nfunction query(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ query_show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ query_show('POST error'); });\n  xhr.open('POST', '/v2/query');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfunction query_show(result)   { show(query_result, result); }\nfunction query_clear_result() { query_result.textContent = ''; }\nquery_text.textContent = pretty_json(query_text.textContent);\nquery_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  query(query_text.value);\n}, false);\nquery_result_clear.addEventListener('click', function(){\n  query_clear_result();\n}, false);\n\n});\")\n(define (not-found.html uri)\n  `(html (head (title \"mediKanren: 404\"))\n         (body (h1 \"What are you looking for?\")\n               (p \"There was nothing found at\")\n               (pre ,uri))))\n(define index.html\n  `(html (head (title \"mediKanren Reasoner API\")\n               (script ((src \"/index.js\"))))\n         (body (h1 \"mediKanren Reasoner API\")\n               (p (a ((href \"https://github.com/NCATS-Tangerine/NCATS-ReasonerStdAPI\"))\n                     \"NCATS Biomedical Translator Reasoners Standard API\"))\n               (ul (li (a ((href \"/schema.html\")) \"schema.html\"))\n                   (li (a ((href \"/schema.html2\")) \"schema.html2\"))\n                   (li (a ((href \"/schema.yaml\")) \"schema.yaml\"))\n                   (li (a ((href \"/schema.json\")) \"schema.json\")))\n               (p (a ((href \"/predicates\")) \"GET /predicates\"))\n               (form ((method \"post\") (action \"/query\") (id \"query-form\"))\n                     (div (textarea\n                            ((id \"query-text\"))\n                            \"{\n  \\\"message\\\": {\n    \\\"query_graph\\\": {\n      \\\"nodes\\\": {\n        \\\"n0\\\": { \\\"id\\\": \\\"UMLS:C0935989\\\" },\n        \\\"n1\\\": { \\\"category\\\": \\\"gene\\\" },\n        \\\"n2\\\": { \\\"id\\\": \\\"UMLS:C0004096\\\" }\n      },\n      \\\"edges\\\": {\n        \\\"e0\\\": {\n          \\\"predicate\\\": \\\"negatively_regulates\\\",\n          \\\"subject\\\": \\\"n0\\\",\n          \\\"object\\\": \\\"n1\\\"\n        },\n        \\\"e1\\\": {\n          \\\"predicate\\\": \\\"gene_associated_with_condition\\\",\n          \\\"subject\\\": \\\"n1\\\",\n          \\\"object\\\": \\\"n2\\\"\n        }\n      }\n    }\n  }\n}\"\n                            ))\n                     (div (button ((type \"submit\") (id \"query-submit\"))\n                                  \"POST /query\")))\n               (div (button ((id \"query-result-clear\")) \"Clear Result\"))\n               (div (pre ((id \"query-result\")) \"Result will appear here.\")))))\n\n(define v2:index.html\n  `(html (head (title \"mediKanren Reasoner API\")\n               (script ((src \"/v2/index.js\"))))\n         (body (h1 \"mediKanren Reasoner API\")\n               (p (a ((href \"https://github.com/NCATS-Tangerine/NCATS-ReasonerStdAPI\"))\n                     \"NCATS Biomedical Translator Reasoners Standard API\"))\n               (ul (li (a ((href \"/schema.html\")) \"schema.html\"))\n                   (li (a ((href \"/schema.html2\")) \"schema.html2\"))\n                   (li (a ((href \"/schema.yaml\")) \"schema.yaml\"))\n                   (li (a ((href \"/schema.json\")) \"schema.json\")))\n               (form ((method \"post\") (id \"find-concepts-form\"))\n                     (div (input ((type \"text\")\n                                  (id \"find-concepts-text\")\n                                  (value \"UMLS:C0935989\"))))\n                     (div (button ((type \"submit\") (id \"find-concepts-submit\"))\n                                  \"Find concepts\")))\n               (div (button ((id \"find-concepts-result-clear\")) \"Clear\"))\n               (div (pre ((id \"find-concepts-result\")) \"Concepts will appear here.\"))\n               (form ((method \"post\") (id \"find-categories-form\"))\n                     (div (input ((type \"text\")\n                                  (id \"find-categories-text\")\n                                  (value \"gene\"))))\n                     (div (button ((type \"submit\") (id \"find-categories-submit\"))\n                                  \"Find categories\")))\n               (div (button ((id \"find-categories-result-clear\")) \"Clear\"))\n               (div (pre ((id \"find-categories-result\")) \"Categories will appear here.\"))\n               (form ((method \"post\") (id \"find-predicates-form\"))\n                     (div (input ((type \"text\")\n                                  (id \"find-predicates-text\")\n                                  (value \"negatively_regulates\"))))\n                     (div (button ((type \"submit\") (id \"find-predicates-submit\"))\n                                  \"Find predicates\")))\n               (div (button ((id \"find-predicates-result-clear\")) \"Clear\"))\n               (div (pre ((id \"find-predicates-result\")) \"Predicates will appear here.\"))\n               (p (a ((href \"/predicates\")) \"GET /predicates\"))\n               (form ((method \"post\") (action \"/v2/query\") (id \"query-form\"))\n                     (div (textarea\n                            ((id \"query-text\"))\n                            \"{\n  \\\"message\\\": {\n    \\\"query_graph\\\": {\n      \\\"nodes\\\": {\n        \\\"n0\\\": { \\\"id\\\": \\\"UMLS:C0935989\\\" },\n        \\\"n1\\\": { \\\"category\\\": \\\"gene\\\" },\n        \\\"n2\\\": { \\\"id\\\": \\\"UMLS:C0004096\\\" }\n      },\n      \\\"edges\\\": {\n        \\\"e0\\\": {\n          \\\"predicate\\\": \\\"negatively_regulates\\\",\n          \\\"subject\\\": \\\"n0\\\",\n          \\\"object\\\": \\\"n1\\\"\n        },\n        \\\"e1\\\": {\n          \\\"predicate\\\": \\\"gene_associated_with_condition\\\",\n          \\\"subject\\\": \\\"n1\\\",\n          \\\"object\\\": \\\"n2\\\"\n        }\n      }\n    }\n  }\n}\"\n                            ))\n                     (div (button ((type \"submit\") (id \"query-submit\"))\n                                  \"POST /v2/query\")))\n               (div (button ((id \"query-result-clear\")) \"Clear Result\"))\n               (div (pre ((id \"query-result\")) \"Result will appear here.\")))))\n\n(define hash-empty (hash))\n(define (str   v) (if (string? v) v (error \"invalid string:\" v)))\n(define (olift v) (if (hash?   v) v (error \"invalid object:\" v)))\n(define (slift v) (cond ((pair?   v) v)\n                        ((string? v) (list v))\n                        ((null?   v) '())\n                        (else        (error \"invalid string or list of strings:\" v))))\n\n(define (alist->attributes alist)\n  ;; TODO: provide standard types for\n  ;; * negated, publications, provided_by\n  ;; * ngd_score, association_type, id\n  ;; * update_date, publications_info\n  ;; * is_defined_by, pmids, n_pmids, SEMMED_PRED\n  (map (lambda (kv) (hash 'name  (car kv)\n                          'type  \"miscellaneous\"\n                          'value (cdr kv)))\n       alist))\n\n(define (concept->result c)\n  (define attrs\n    (alist->attributes\n      (cons (cons \"mediKanren-source\" (symbol->string (concept->dbname c)))\n            (concept->props c))))\n  (cons (string->symbol (concept->curie c))\n        (hash 'name       (concept->name c)\n              'category   (cdr (concept->category c))\n              'attributes attrs)))\n(define (edge->result e)\n  (define id (string-append (symbol->string (edge->dbname e)) \".\"\n                            (number->string (edge->eid e))))\n  (define props (make-immutable-hash (edge->props e)))\n  (define relation (hash-ref props \"relation\" #f))\n  (define attrs\n    (alist->attributes\n      (hash->list\n        (foldl (lambda (k ps) (hash-remove ps k)) props\n               '(\"relation\" \"subject\" \"object\"\n                 \"simplified_relation\" \"simplified_edge_label\")))))\n  (define obj\n    (hash 'predicate  (cdr (edge->pred e))\n          'subject    (concept->curie (edge->subject e))\n          'object     (concept->curie (edge->object e))\n          'attributes attrs))\n  (cons (string->symbol id) (if relation\n                              (hash-set obj 'relation relation)\n                              obj)))\n\n(define (message->response msg)\n  (define broad-results\n    (if (config-ref 'trapi-enable-external-requests?)\n      (let* (\n          (broad-response (time (api-query (string-append url.broad path.query)\n                                              (hash 'message msg))))\n          (broad-results (hash-ref broad-response 'response)))\n        (printf \"broad response:\\n~s\\n\" (hash-ref broad-response 'status))\n        (pretty-print (hash-ref broad-response 'headers))\n        broad-results)\n      '#hash()\n      ))\n  (printf \"broad result size: ~s\\n\" (js-count broad-results))\n  ;; NOTE: ignore 'results and 'knowledge_graph until we find a use for them.\n  (define qgraph (hash-ref msg 'query_graph hash-empty))\n  (define nodes\n    (filter-not\n      not\n      (map (lambda (id+n)\n             (let* ((id       (car id+n))\n                    (n        (cdr id+n))\n                    (curie    (slift (hash-ref n 'id       '())))\n                    (category (slift (hash-ref n 'category '()))))\n               ;; TODO: use a new find-concepts based on xrefo instead?\n               `(,id ',(cond ((pair? curie)    (find-concepts #t curie))\n                             ((pair? category) (find-categories category))\n                             (else             #f)))))\n           (hash->list (olift (hash-ref qgraph 'nodes hash-empty))))))\n  (define edges&paths\n    (filter-not\n      not\n      (map (lambda (id+e)\n             (let* ((id        (car id+e))\n                    (e         (cdr id+e))\n                    (predicate (slift (hash-ref e 'predicate '())))\n                    (subject   (str   (hash-ref e 'subject   #f)))\n                    (object    (str   (hash-ref e 'object    #f))))\n               (and subject object\n                    `((,id ',(and (pair? predicate)\n                                  (find-predicates predicate)))\n                      (,(string->symbol subject)\n                        ,id\n                        ,(string->symbol object))))))\n           (hash->list (olift (hash-ref qgraph 'edges hash-empty))))))\n  (define edges (map car  edges&paths))\n  (define paths (map cadr edges&paths))\n  (define runq #`(run/graph #,nodes #,edges . #,paths))\n  (displayln \"===============================================================\")\n  (pretty-print (syntax->datum runq))\n  (match-define (list name=>concepts name=>edges)\n    (if (null? paths)\n      (begin (displayln \"no paths were provided\")\n             (list hash-empty hash-empty))\n      (time (eval runq))))\n  (displayln \"result counts:\")\n  (pretty-print (hash-map name=>concepts (lambda (n xs) (cons n (length xs)))))\n  (pretty-print (hash-map name=>edges    (lambda (n xs) (cons n (length xs)))))\n  (define knodes\n    (append* (hash-map name=>concepts\n                       (lambda (name xs) (map concept->result xs)))))\n  (define kedges\n    (append* (hash-map name=>edges\n                       (lambda (name xs) (map edge->result xs)))))\n  (define local-results\n    (append* (map (lambda (p)\n                    (define qsubject (car p))\n                    (define qname    (cadr p))\n                    (define qobject  (caddr p))\n                    (map (lambda (e)\n                           (define id+r    (edge->result e))\n                           (define id      (symbol->string (car id+r)))\n                           (define r       (cdr id+r))\n                           (define subject (hash-ref r 'subject))\n                           (define object  (hash-ref r 'object))\n                           (hash 'edge_bindings (hash qname (list (hash 'id id)))\n                                 'node_bindings (make-immutable-hash\n                                                  (list (cons qsubject (list (hash 'id subject)))\n                                                        (cons qobject  (list (hash 'id object)))))))\n                         (hash-ref name=>edges qname)))\n                  paths)))\n  (merge-results\n    (list (hash-ref (olift broad-results) 'message hash-empty)\n          (hash 'results local-results\n                'knowledge_graph\n                (hash 'nodes (apply hash-union (hash)\n                                    (map (lambda (knode) (hash (car knode) (cdr knode)))\n                                         knodes)\n                                    #:combine\n                                    (lambda (c.0 c.1)\n                                      (hash-update\n                                        c.0 'attributes\n                                        (lambda (attrs)\n                                          (append (alist->attributes\n                                                    (list (cons \"extra-result\" c.1)))\n                                                  attrs)))))\n                      'edges (make-immutable-hash kedges))))))\n\n(define (merge-results rs)\n  (let loop ((rs rs) (results '()) (nodes '()) (edges '()))\n    (cond ((null? rs) (hash 'results         results\n                            'knowledge_graph (hash 'nodes (make-immutable-hash nodes)\n                                                   'edges (make-immutable-hash edges))))\n          (else (define r (car rs))\n                (define kg (hash-ref r 'knowledge_graph hash-empty))\n                (loop (cdr rs)\n                      (append (hash-ref r 'results '()) results)\n                      (append (hash->list (hash-ref kg 'nodes hash-empty))\n                              nodes)\n                      (append (hash->list (hash-ref kg 'edges hash-empty))\n                              edges))))))\n\n(define (predicates)\n  ;; TODO: at greater expense, we could restrict each list of predicates\n  ;; to those reflected by existing edges for the corresponding categories.\n  (define cs (run* (c) (categoryo c)))\n  (define ps (run* (p) (predicateo p)))\n  (define dbs (map car cs))\n  (make-immutable-hash\n    (append*\n      (map (lambda (db)\n             (define dcs\n               (filter-not\n                 not (map (lambda (c) (and (eq? (car c) db) (cddr c)))\n                          cs)))\n             (define dps\n               (filter-not\n                 not (map (lambda (p) (and (eq? (car p) db) (cddr p)))\n                          ps)))\n             (define dcps\n               (make-immutable-hash\n                 (map (lambda (c) (cons (string->symbol c) dps)) dcs)))\n             (map (lambda (c) (cons (string->symbol c) dcps)) dcs))\n           dbs))))\n(define predicates-cached (string->bytes/utf-8 (jsexpr->string (predicates))))\n(define predicates-cached-gzip (gzip/bytes predicates-cached))\n(define (query jsdata)\n  (cond ((or (eof-object? jsdata) (not (hash? jsdata))) 'null)\n        (else (hash 'message\n                    (message->response (olift (hash-ref (olift jsdata) 'message\n                                                        hash-empty)))))))\n(define (accepts-gzip? req)\n  (member \"gzip\" (map string-trim\n                      (string-split (alist-ref (request-headers req)\n                                               'accept-encoding \"\") \",\"))))\n(define (respond code message headers mime-type body)\n  (response/full code (string->bytes/utf-8 message)\n                 (current-seconds) mime-type headers\n                 (list body)))\n(define (OK req extra-headers mime-type body (body-gzipped? #f))\n  (define gzip? (accepts-gzip? req))\n  (define headers (if gzip? (cons (make-header #\"Content-Encoding\" #\"gzip\")\n                                  extra-headers)\n                    extra-headers))\n  (define bytes.body (if (string? body) (string->bytes/utf-8 body) body))\n  (define payload (if (and gzip? (not body-gzipped?)) (gzip/bytes bytes.body)\n                    bytes.body))\n  (respond 200 \"OK\" headers mime-type payload))\n(define (not-found req)\n  (respond 404 \"Not Found\" '() mime:html\n           (string->bytes/utf-8\n             (xexpr->html-string\n               (not-found.html (url->string (request-uri req)))))))\n(define (OK/jsexpr f req)\n  (define input (bytes->jsexpr (request-post-data/raw req)))\n  (define result (job (thunk (f input))))\n  (if (job-failure? result)\n    (respond 400 \"Bad Request\" '() mime:text\n             (string->bytes/utf-8 (job-failure-message result)))\n    (OK req '() mime:json (jsexpr->string result))))\n\n(define (/index req)\n  (pretty-print `(request-headers: ,(request-headers req)))\n  (OK req '() mime:html (xexpr->html-string index.html)))\n(define (/v2/index req)\n  (pretty-print `(request-headers: ,(request-headers req)))\n  (OK req '() mime:html (xexpr->html-string v2:index.html)))\n(define (/index.js     req) (OK req '() mime:js   index.js))\n(define (/schema.json  req) (OK req '() mime:text schema.json.txt))\n(define (/schema.yaml  req) (OK req '() mime:text schema.yaml.txt))\n(define (/schema.html  req) (OK req '() mime:html schema.html))\n(define (/schema.html2 req) (OK req '() mime:html schema.html2))\n(define (/predicates   req) (if (accepts-gzip? req)\n                              (OK req '() mime:json predicates-cached-gzip #t)\n                              (OK req '() mime:json predicates-cached #f)))\n(define (/query        req) (OK/jsexpr query req))\n\n(define (group-by-db xs)\n  (foldl (lambda (x db=>id)\n           (hash-update db=>id (car x) (lambda (xs) (cons (cdr x) xs)) '()))\n         (hash) xs))\n\n(define (pretty-synonyms ss)\n  (if (and (pair? ss) (not (cdar ss))) '()\n    (make-immutable-hash\n      (map (lambda (kv) (cons (string->symbol (car kv)) (cdr kv))) ss))))\n\n(define (find-concepts/any str)\n  (hash 'synonyms (pretty-synonyms (curie-synonyms/names str))\n        'concepts\n        (make-immutable-hash\n          (hash-map\n            (group-by-db\n              (map (lambda (c)\n                     (define r (concept->result c))\n                     (define attrs (hash-ref (cdr r) 'attributes))\n                     (define dbnames\n                       (map (lambda (attr) (hash-ref attr 'value))\n                            (filter (lambda (attr) (equal? (hash-ref attr 'name)\n                                                           \"mediKanren-source\"))\n                                    attrs)))\n                     (define dbname (if (null? dbnames) 'unknown\n                                      (string->symbol (car dbnames))))\n                     (cons dbname r))\n                   (append (find-concepts #t (list str))\n                           (find-concepts #f (list str)))))\n            (lambda (db cs) (cons db (make-immutable-hash cs)))))))\n\n(define ((find/db-id find) data)\n  (group-by-db (map (lambda (x) (cons (car x) (cddr x))) (find (list data)))))\n\n(define (/v2/index.js        req) (OK req '() mime:js v2:index.js))\n(define (/v2/query req)           (OK/jsexpr query                        req))\n(define (/v2/find-concepts   req) (OK/jsexpr find-concepts/any            req))\n(define (/v2/find-categories req) (OK/jsexpr (find/db-id find-categories) req))\n(define (/v2/find-predicates req) (OK/jsexpr (find/db-id find-predicates) req))\n\n(struct job-failure (message))\n\n(define (job work)\n  (define job-response (make-channel))\n  (channel-put job-request (cons job-response work))\n  (channel-get job-response))\n\n(define job-request (make-channel))\n\n(define worker\n  (thread\n    (thunk (let loop ()\n             (match-define (cons job-response work) (channel-get job-request))\n             (channel-put job-response\n                          (with-handlers ((exn:fail?\n                                            (lambda (v)\n                                              ((error-display-handler) (exn-message v) v)\n                                              (job-failure (exn-message v))))\n                                          ((lambda _ #t)\n                                           (lambda (v)\n                                             (define message\n                                               (string-append \"unknown error: \"\n                                                              (with-output-to-string (thunk (write v)))))\n                                             (pretty-write message)\n                                             (job-failure message))))\n                            (work)))\n             (loop)))))\n\n(define (start)\n  (define-values (dispatch _)\n    (dispatch-rules\n      ((\"\")                     #:method \"get\"  /index)\n      ((\"index.js\")             #:method \"get\"  /index.js)\n      ((\"schema.json\")          #:method \"get\"  /schema.json)\n      ((\"schema.yaml\")          #:method \"get\"  /schema.yaml)\n      ((\"schema.html\")          #:method \"get\"  /schema.html)\n      ((\"schema.html2\")         #:method \"get\"  /schema.html2)\n      ((\"predicates\")           #:method \"get\"  /predicates)\n      ((\"query\")                #:method \"post\" /query)\n      ((\"v2\")                   #:method \"get\"  /v2/index)\n      ((\"v2\" \"index.js\")        #:method \"get\"  /v2/index.js)\n      ((\"v2\" \"find-concepts\")   #:method \"post\" /v2/find-concepts)\n      ((\"v2\" \"find-categories\") #:method \"post\" /v2/find-categories)\n      ((\"v2\" \"find-predicates\") #:method \"post\" /v2/find-predicates)\n      ((\"v2\" \"query\")           #:method \"post\" /v2/query)\n      (else                                     not-found)))\n  (serve/servlet dispatch\n                 ;; none-manager for better performance:\n                 ;; only possible because we're not using web continuations.\n                 #:manager (create-none-manager #f)\n                 #:servlet-regexp #rx\"\"\n                 #:listen-ip #f  ;; comment this to disable external connection\n                 #:port 8080\n                 #:launch-browser? #f))\n\n(module+ main (start))\n"
  },
  {
    "path": "medikanren/biolink-types-examples.scm",
    "content": "With Chris Mungall (BioHackathon 2019, Fukuoka, Japan)\n\nYAML:\nhttps://github.com/biolink/biolink-model/blob/master/biolink-model.yaml\n\nRaw YAML:\nhttps://raw.githubusercontent.com/biolink/biolink-model/master/biolink-model.yaml\n\nPredicates can be found in YAML file\n\n\n(run* (type)\n  (type-infero '(imatinib treats aspirin) type))\n=>\n()\nor\nAssociation\n\n(run* (type)\n  (type-infero '(imatinib treats cancer) type))\n=>\nChemicalToDiseaseOrPhenotypicFeatureAssociation\n\n(run* (disease)\n  (type-infero `(imatinib treats ,disease)\n               'ChemicalToDiseaseOrPhenotypicFeatureAssociation))\n\n(run* (X type)\n  (type-infero `(conj (imatinib treats ,X) (,X causes asthma))\n               type))\n=>\nthis is okay\n\n(run* (X Y type)\n  (type-infero `(conj (imatinib treats ,X) (,X orthologous-to ,Y))\n               type))\n=>\n()\n\n\nPay attention to domain and range:\n\n\n  increases expression of:\n    description: >-\n      holds between two molecular entities where the action or effect of one increases the level of expression of the other within a system of interest\n    is_a: affects expression of\n    in_subset:\n      - translator_minimal\n    domain: molecular entity\n    range: genomic entity\n"
  },
  {
    "path": "medikanren/common.rkt",
    "content": "#lang racket/base\n(provide\n  (all-from-out \"mk.rkt\")\n  find-concepts/name\n  find-concepts\n  find-isa-concepts\n  find-concepts/options\n  find-concepts/options/cui-infer\n  find-predicates/concepts\n  find-predicates\n  find-exact-predicates\n  find-categories\n  find-exact-categories\n  find-Xs\n  find-graph\n  run/graph\n\n  membero\n\n  concept->dbname\n  concept->cid\n  concept->curie\n  concept->name\n  concept->category\n  concept->props\n\n  edge->dbname\n  edge->eid\n  edge->subject\n  edge->object\n  edge->pred\n  edge->props\n\n  ~name*-concepto\n  ~cui*-concepto\n  ~cui-concepto\n  ~categoryo\n  ~predicateo\n  synonym-concepto\n  xref-concepto\n  category-concepto\n  concepto\n  categoryo\n  predicateo\n  edgeo\n  pmid-edgeo\n  subject-predicateo\n  object-predicateo\n  isao\n\n  pubmed-ids-from-edge-props\n  pubmed-ids-from-edge\n  pubmed-URLs-from-edge\n  pubmed-count\n\n  PUBMED_URL_PREFIX\n\n  publications-info-alist-from-edge\n  publications-info-alist-from-edge-props\n\n  path-confidence\n  path-confidence<?\n  sort-paths\n\n  get-pred-names\n\n  databases\n  load-databases\n  conde/databases\n\n  config\n  config-ref\n  load-config\n  override-config\n\n  keep\n  read/file\n  read/string\n\n  path-simple\n  path/data\n  path:data\n  path/root\n  path:root\n\n  python->json\n\n  write-list-to-tsv)\n\n(require\n  \"db.rkt\"\n  \"mk.rkt\"\n  \"mk-db.rkt\"\n  \"repr.rkt\"\n  \"configref.rkt\"\n  json\n  racket/format\n  racket/list\n  (except-in racket/match ==)\n  racket/runtime-path\n  racket/port\n  racket/set\n  racket/stream\n  racket/string)\n\n(define (keep n xs)\n  (if (or (and n (= n 0)) (null? xs)) '()\n    (cons (car xs) (keep (and n (- n 1)) (cdr xs)))))\n(define (read/file path)  (with-input-from-file  path (lambda () (read))))\n(define (read/string str) (with-input-from-string str (lambda () (read))))\n\n(define-runtime-path path:root \".\")\n(define (path/root relative-path) (build-path path:root relative-path))\n(define path:data                 (path/root \"data\"))\n(define (path/data relative-path) (build-path path:data relative-path))\n(define (path-simple path)        (path->string (simplify-path path)))\n\n\n(define box:databases (box #f))\n(define (databases)\n  (define dbs (unbox box:databases))\n  (cond (dbs dbs)\n        (else (load-databases #t)\n              (unbox box:databases))))\n(define (load-databases verbose?)\n  (define (load-dbs)\n    (filter (lambda (desc) desc)\n            (map (lambda (name)\n                   (define path (path/data (symbol->string name)))\n                   (define options (list (config-ref 'in-memory-names?)\n                                         (config-ref 'in-memory-cuis?)))\n                   (cond ((directory-exists? path)\n                          (when verbose? (printf \"loading ~a\\n\" name))\n                          (cons name (if verbose?\n                                       (time (apply make-db path options))\n                                       (apply make-db path options))))\n                         (else (when verbose?\n                                 (printf \"cannot load ~a; \" name)\n                                 (printf \"directory missing: ~a\\n\" path))\n                               #f)))\n                 (config-ref 'databases))))\n  (unless (unbox box:databases)\n    (when verbose? (displayln \"loading data sources...\"))\n    (define dbs (load-dbs))\n    (set-box! box:databases dbs)\n    (when verbose? (displayln \"finished loading data sources\"))))\n(define (conde/databases dbdesc->clause)\n  (foldr (lambda (desc rest)\n           (conde ((dbdesc->clause (car desc) (cdr desc))) (rest)))\n         (== #t #f) (databases)))\n\n;; list membership\n(define membero\n  (lambda (x ls)\n    (fresh (y rest)\n      (== `(,y . ,rest) ls)\n      (conde\n        [(== x y)]\n        [(=/= x y) (membero x rest)]))))\n\n#|\nconcept = `(,dbname ,cid ,cui ,name (,catid . ,cat) ,props)\n|#\n(define (concept->dbname concept) (car concept))\n(define (concept->cid concept) (cadr concept))\n(define (concept->curie concept) (caddr concept))\n(define (concept->name concept) (cadddr concept))\n(define (concept->category concept) (cadddr (cdr concept)))\n(define (concept->props concept) (cadddr (cddr concept)))\n\n#|\nedge = `(,dbname ,eid ,subject-concept ,object-concept (,pid . ,pred-name) ,props)\n|#\n(define (edge->dbname edge) (car edge))\n(define (edge->eid edge) (cadr edge))\n(define (edge->subject edge) (cons (edge->dbname edge) (caddr edge)))\n(define (edge->object edge) (cons (edge->dbname edge) (cadddr edge)))\n(define (edge->pred edge) (cadddr (cdr edge)))\n(define (edge->props edge) (cadddr (cddr edge)))\n\n\n(define (~name*-concepto ~name* concept)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c)\n        (== `(,dbname . ,c) concept)\n        (db:~name*-concepto/options\n          #f ;; case sensitivity flag\n          \"\" ;; ignored characters ('chars:ignore-typical' is pre-defined)\n          \"\" ;; characters to split target name on for exact matching ('chars:split-typical' is pre-defined)\n          db ~name* c)))))\n(define (~cui*-concepto ~cui* concept)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c) (== `(,dbname . ,c) concept)\n        (db:~cui*-concepto db ~cui* c)))))\n(define (~cui-concepto ~cui concept)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c) (== `(,dbname . ,c) concept)\n        (db:~cui-concepto db ~cui c)))))\n(define (synonym-concepto synonym concept)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c) (== `(,dbname . ,c) concept)\n        (db:synonym-concepto db synonym c)))))\n(define (xref-concepto xref concept)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c) (== `(,dbname . ,c) concept)\n        (db:xref-concepto db xref c)))))\n(define (category-concepto category concept)\n  (fresh (db cid cui name cat props)\n    (== category `(,db . ,cat))\n    (== concept `(,db ,cid ,cui ,name ,cat . ,props))\n    (concepto concept)))\n(define (concepto concept)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c)\n        (== `(,dbname . ,c) concept)\n        (db:concepto db c)))))\n\n(define (~categoryo ~category-name category)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c)\n        (== `(,dbname . ,c) category)\n        (db:~categoryo db ~category-name c)))))\n(define (~predicateo ~predicate-name predicate)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (p)\n        (== `(,dbname . ,p) predicate)\n        (db:~predicateo db ~predicate-name p)))))\n\n(define (categoryo category)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c)\n        (== `(,dbname . ,c) category)\n        (db:categoryo db c)))))\n(define (predicateo predicate)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (p)\n        (== `(,dbname . ,p) predicate)\n        (db:predicateo db p)))))\n\n#|\nedge = `(,dbname ,eid (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n                      (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n                      (,pid . ,pred) ,eprops)\n|#\n(define (edgeo edge)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (e)\n        (== `(,dbname . ,e) edge)\n        (db:edgeo db e)))))\n(define (pmid-edgeo pmid edge)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (eid body)\n        (== `(,dbname ,eid . ,body) edge)\n        (db:pmid-eido db pmid eid)\n        (edgeo edge)))))\n\n(define (subject-predicateo concept predicate)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c p)\n        (== `(,dbname . ,c) concept)\n        (== `(,dbname . ,p) predicate)\n        (db:subject-predicateo db c p)))))\n(define (object-predicateo concept predicate)\n  (conde/databases\n    (lambda (dbname db)\n      (fresh (c p)\n        (== `(,dbname . ,c) concept)\n        (== `(,dbname . ,p) predicate)\n        (db:object-predicateo db c p)))))\n\n(define (isao s/db o/db)\n  (fresh (dbname s o eid pid eprops)\n    (== `(,dbname . ,o) o/db)\n    (== `(,dbname . ,s) s/db)\n    (edgeo `(,dbname ,eid ,s ,o (,pid . \"subclass_of\") ,eprops))))\n\n(define (pubmed-ids-from-edge-props eprops)\n  (cond\n    [(assoc \"pmids\" eprops)  ;; WEB the 'pmids' property is only used by semmed, I believe\n     => (lambda (pr) (regexp-split #rx\";\" (cdr pr)))]\n    [(assoc \"publications\" eprops)\n     => (lambda (pr)\n          (define pubs (cdr pr))\n          (if (not (string? pubs))\n            '()\n            (regexp-match* #rx\"PMID:([0-9]+)\" pubs #:match-select cadr)))]\n    [else '()]))\n(define (pubmed-ids-from-edge edge)\n  (remove-duplicates\n    (match edge\n      ['path-separator '()]\n      [`(,dbname ,eid ,subj ,obj ,p ,eprops)\n        (pubmed-ids-from-edge-props eprops)])))\n(define PUBMED_URL_PREFIX \"https://www.ncbi.nlm.nih.gov/pubmed/\")\n(define (pubmed-URLs-from-edge edge)\n  (map (lambda (pubmed-id) (string-append PUBMED_URL_PREFIX (~a pubmed-id)))\n       (pubmed-ids-from-edge edge)))\n\n(define (pubmed-count e)\n  (length (pubmed-ids-from-edge e)))\n\n(define (python->json py)\n  (define len (string-length py))\n  (let loop ((i 0) (start 0))\n    (cond ((= i len) (if (= start 0) py (substring py start)))\n          ((eqv? (string-ref py i) #\\')\n           (string-append\n             (substring py start i) \"\\\"\"\n             (let requote ((i (+ i 1)) (start (+ i 1)))\n               (cond ((eqv? (string-ref py i) #\\')\n                      (string-append (substring py start i) \"\\\"\"\n                                     (loop (+ i 1) (+ i 1))))\n                     ((eqv? (string-ref py i) #\\\\)\n                      (if (eqv? (string-ref py (+ i 1)) #\\\")\n                        (requote (+ i 2) start)\n                        (string-append (substring py start i)\n                                       (requote (+ i 2) (+ i 1)))))\n                     ((eqv? (string-ref py i) #\\\")\n                      (string-append (substring py start i) \"\\\\\\\"\"\n                                     (requote (+ i 1) (+ i 1))))\n                     (else (requote (+ i 1) start))))))\n          ((eqv? (string-ref py i) #\\\")\n           (let skip ((i (+ i 1)) (start start))\n             (cond ((eqv? (string-ref py i) #\\\") (loop (+ i 1) start))\n                   ((eqv? (string-ref py i) #\\\\)\n                    (if (eqv? (string-ref py (+ i 1)) #\\\")\n                      (skip (+ i 2) start)\n                      (string-append (substring py start i)\n                                     (skip (+ i 2) (+ i 1)))))\n                   (else                         (skip (+ i 1) start)))))\n          (else (loop (+ i 1) start)))))\n\n(define (publications-info-alist-from-edge-props eprops)\n  (cond\n    [(assoc \"publications_info\" eprops) ;; RTX2\n     => (lambda (pr)\n          (with-handlers ([exn:fail?\n                           (lambda (v)\n                             ((error-display-handler) (exn-message v) v)\n                             '())])\n            (define pubs (cdr pr))\n            (define jason-ht (string->jsexpr (python->json pubs)))\n            (hash-map jason-ht (lambda (k v)\n                                 (cons (string-append\n                                        PUBMED_URL_PREFIX\n                                        (car (regexp-match* #rx\"([0-9]+)\" (symbol->string k) #:match-select cadr)))\n                                       (list (hash-ref v '|publication date| #f)\n                                             (hash-ref v '|subject score| #f)\n                                             (hash-ref v '|object score| #f)\n                                             (regexp-replace*\n                                              #rx\"([ ]+)\"\n                                              (hash-ref v 'sentence #f)\n                                              \" \")))))))]\n    [else '()]))\n(define (publications-info-alist-from-edge edge)\n  ;; ((pubmed-URL . (publication-date subject-score object-score sentence)) ...)\n  (remove-duplicates\n    (match edge\n      ['path-separator '()]\n      [`(,dbname ,eid ,subj ,obj ,p ,eprops)\n        (publications-info-alist-from-edge-props eprops)])))\n\n(define (get-pred-names e*)\n  (let loop ([e* e*]\n             [pred-names '()])\n    (cond\n      [(null? e*) pred-names]\n      [else\n       (let ((edge (car e*))\n             (rest (cdr e*)))\n         (match edge\n           ['path-separator\n            (loop rest pred-names)]\n           [`(,dbname ,eid ,subj ,obj (,pid . ,p-name) ,eprops)\n            (loop rest (if (member p-name pred-names)\n                           pred-names\n                           (cons p-name pred-names)))]\n           [else (error 'get-pred-names (format \"unmatched edge ~s\\n\" edge))]))])))\n\n(define (path-confidence p)\n  (define (weight-linear+1 n) (+ 1 n))\n  (define (weight-exponential n) (expt 2 n))\n  ;; To experiment with sorting, try to only change the weight calculation\n  ;; being used.  Leave everything else the same.\n  (define weight weight-exponential)\n  (define (confidence/edge e) (- 1 (/ 1.0 (weight (pubmed-count e)))))\n  (foldl * 1 (map confidence/edge p)))\n(define (path-confidence<? p1 p2)\n  (let ((pc1 (path-confidence p1))\n        (pc2 (path-confidence p2)))\n    (cond\n      [(= pc1 pc2)\n       (let ((pubmed-count*1 (map pubmed-count p1))\n             (pubmed-count*2 (map pubmed-count p2)))\n         (let ((min-pubmed-count1 (apply min pubmed-count*1))\n               (min-pubmed-count2 (apply min pubmed-count*2)))\n           (cond\n             [(= min-pubmed-count1 min-pubmed-count2)\n              (let ((max-pubmed-count1 (apply max pubmed-count*1))\n                    (max-pubmed-count2 (apply max pubmed-count*2)))\n                (not (> max-pubmed-count1 max-pubmed-count2)))]\n             [(< min-pubmed-count1 min-pubmed-count2) #t]\n             [else #f])))]\n      [(< pc1 pc2) #t]\n      [else #f])))\n(define (sort-paths paths) (sort paths path-confidence<?))\n\n(define (find-isa-concepts count concepts)\n  (remove-duplicates (run count (s/db)\n                       (fresh (o/db)\n                         (membero o/db concepts)\n                         (isao s/db o/db)))))\n\n(define (concepts/options subject? object? isa-count concepts)\n  ;; subject? and object? insist that a concept participate in a certain role.\n  ;; If via-cui? then strings is an OR-list of CUIs to consider.\n  ;; Otherwise, strings is an AND-list of fragments the name must contain.\n  (let* ((isa-concepts (find-isa-concepts isa-count concepts))\n         (ans (if (null? isa-concepts) (remove-duplicates concepts)\n                (remove-duplicates (append concepts isa-concepts))))\n         (ans (filter  ;; Only include concepts with at least one predicate.\n                (lambda (concept)\n                  (define (? cpo) (not (null? (run 1 (p) (cpo concept p)))))\n                  (and (or (not subject?) (? subject-predicateo))\n                       (or (not object?)  (? object-predicateo))))\n                ans)))\n    (sort ans (lambda (a1 a2)\n                (let ((dbname1 (symbol->string (car a1)))\n                      (cui1 (caddr a1))\n                      (dbname2 (symbol->string (car a2)))\n                      (cui2 (caddr a2)))\n                  (or (string>? dbname1 dbname2)\n                      (and (string=? dbname1 dbname2)\n                           (string<? cui1 cui2))))))))\n\n(define (find-concepts/options/cui-infer subject? object? isa-count strings)\n  (define yes-cui\n    (map (lambda (s) (run* (c) (~cui*-concepto (list s) c))) strings))\n  (define no-cui (filter-not not (map (lambda (s rs) (and (null? rs) s))\n                                      strings yes-cui)))\n  (define all (append* (cons (run* (c) (~name*-concepto no-cui c)) yes-cui)))\n  (concepts/options subject? object? isa-count all))\n\n(define (find-concepts/options subject? object? isa-count via-cui? strings)\n  (concepts/options subject? object? isa-count\n                    (if via-cui?\n                      (run* (c) (~cui*-concepto strings c))\n                      (run* (c) (~name*-concepto strings c)))))\n\n(define (find-concepts via-cui? strings)\n  (find-concepts/options #f #f 0 via-cui? strings))\n\n(define (find-concepts/name name)\n  (filter (lambda (c) (string=? (cadddr c) name))\n          (find-concepts #f (list name))))\n\n(define (find-predicates/concepts subject? object? concepts)\n  (map (lambda (c)\n         (define subject-predicates\n           (and subject? (run* (p) (subject-predicateo c p))))\n         (define object-predicates\n           (and object? (run* (p) (object-predicateo c p))))\n         (list c subject-predicates object-predicates))\n       concepts))\n(define (find-predicates names)\n  (append* (map (lambda (name) (run* (x) (~predicateo name x))) names)))\n(define (find-exact-predicates names)\n  (run* (p) (fresh (db pid name)\n                (membero name names)\n                (== p `(,db ,pid . ,name))\n                (predicateo p))))\n(define (find-categories names)\n  (append* (map (lambda (name) (run* (x) (~categoryo name x))) names)))\n(define (find-exact-categories names)\n  (run* (cat) (fresh (db catid name)\n                (membero name names)\n                (== cat `(,db ,catid . ,name))\n                (categoryo cat))))\n\n(define (find-Xs subjects? objects?)\n  ;; subjects?: #f | ((concept (predicate ...) #f) ...)\n  ;; objects?:  #f | ((concept #f (predicate ...)) ...)\n  (define (group-by-X edges)\n    (foldl (lambda (edge groups)\n             (define db        (car edge))\n             (define X         (cons db (cadr edge)))\n             (define concept   (cons db (caddr edge)))\n             (define predicate (cons db (cadddr edge)))\n             (define einfo     (cons db (cddddr edge)))\n             (define X-groups  (hash-ref groups X (hash)))\n             (define c-group   (hash-ref X-groups concept (list)))\n             (define c-group^  (cons (list predicate einfo) c-group))\n             (hash-set groups X (hash-set X-groups concept c-group^)))\n           (hash) edges))\n  (define (groups-flatten groups)\n    (and groups (foldl (lambda (kv groups)\n                         (define X        (car kv))\n                         (define X-groups (cdr kv))\n                         (cons (list X (hash->list X-groups)) groups))\n                       '() (hash->list groups))))\n  (define (groups-intersect gS gO)\n    (foldl (lambda (kv groups)\n             (define X          (car kv))\n             (define o-X-groups (cdr kv))\n             (define s-X-groups (hash-ref gS X #f))\n             (if s-X-groups\n               (cons (list X (hash->list s-X-groups) (hash->list o-X-groups))\n                     groups)\n               groups))\n           '() (hash->list gO)))\n  (define subject-edges?\n    (and subjects?\n         (group-by-X (run* (q)\n                       (fresh (dbname eid s m predicates p eprops _)\n                         (== (list dbname m s p eid eprops) q)\n                         (membero `((,dbname . ,s) ,predicates ,_) subjects?)\n                         (membero `(,dbname . ,p) predicates)\n                         (edgeo `(,dbname ,eid ,s ,m ,p ,eprops)))))))\n  (define object-edges?\n    (and objects?\n         (group-by-X (run* (q)\n                       (fresh (dbname eid o m predicates p eprops _)\n                         (== (list dbname m o p eid eprops) q)\n                         (membero `((,dbname . ,o) ,_ ,predicates) objects?)\n                         (membero `(,dbname . ,p) predicates)\n                         (edgeo `(,dbname ,eid ,m ,o ,p ,eprops)))))))\n  (if (and subject-edges? object-edges?)\n    (groups-intersect subject-edges? object-edges?)\n    (groups-flatten (or subject-edges? object-edges?))))\n\n(define (find-graph concept=>set concept=>cx predicate=>cx edges)\n  (define-syntax-rule (set!/combine hash-name key value default combine)\n                      (let* ((current (hash-ref hash-name key default))\n                             (new (if current (combine current value) value)))\n                        (set! hash-name (hash-set hash-name key new))\n                        (and (not (equal? current new)) new)))\n  (define-syntax-rule (set!/add hash-name key value)\n                      (set!/combine hash-name key value (set) set-add))\n  (define-syntax-rule (set!/intersect hash-name key value)\n                      (set!/combine hash-name key value #f set-intersect))\n  (define edge=>set      (hash))\n  (define concept=>edges (hash))\n  (define (concept->set   name) (hash-ref concept=>set   name #f))\n  (define (concept->cx    name) (hash-ref concept=>cx    name #f))\n  (define (predicate->cx  name) (hash-ref predicate=>cx  name #f))\n  (define (edge->set      name) (hash-ref edge=>set      name #f))\n  (define (concept->edges name) (hash-ref concept=>edges name (set)))\n\n  (define (?min x y) (or (and x (or (and y (min (set-count x) (set-count y)))\n                                    (set-count x)))\n                         (and y (set-count y))))\n  (define (?< x y)   (or (and x y (< x y)) x))\n  (define/match (edge<? e1 e2)\n    ((`(,s1 ,p1 ,o1) `(,s2 ,p2 ,o2))\n     (define min1 (?min (concept->set s1) (concept->set o1)))\n     (define min2 (?min (concept->set s2) (concept->set o2)))\n     (or (?< min1 min2)\n         (and (not (?< min2 min1))\n              (let ((min1 (?min (concept->cx s1) (concept->cx o1)))\n                    (min2 (?min (concept->cx s2) (concept->cx o2))))\n                (or (?< min1 min2)\n                    (and (not (?< min2 min1))\n                         (let ((pcx1 (predicate->cx p1))\n                               (pcx2 (predicate->cx p2)))\n                           (?< (and pcx1 (set-count pcx1))\n                               (and pcx2 (set-count pcx2)))))))))))\n\n  (define (update-edge! e s o id-edges)\n    (define enew? (set!/intersect edge=>set e id-edges))\n    (when enew?\n      (define id-subjects\n        (list->set\n          (set-map enew?\n                   (match-lambda ((list dbname iedge isubject iobject)\n                                  (cons dbname isubject))))))\n      (define id-objects\n        (list->set\n          (set-map enew?\n                   (match-lambda ((list dbname iedge isubject iobject)\n                                  (cons dbname iobject))))))\n      (define snew? (set!/intersect concept=>set s id-subjects))\n      (define onew? (set!/intersect concept=>set o id-objects))\n      (define (propagate! c cnew?)\n        (when cnew?\n          (set-for-each\n            (concept->edges c)\n            (match-lambda ((list ename sname oname)\n                           (constrain-edge! ename sname oname))))))\n      (propagate! s snew?)\n      (propagate! o onew?)))\n  (define (constrain-edge! e s o)\n    (define sids (concept->set s))\n    (define oids (concept->set o))\n    (define id-edges\n      (list->set (filter (match-lambda\n                           ((list dbname iedge isubject iobject)\n                            (and (set-member? sids (cons dbname isubject))\n                                 (set-member? oids (cons dbname iobject)))))\n                         (set->list (edge->set e)))))\n    (update-edge! e s o id-edges))\n  (define (concepts->predicates cpo cs)\n    (constraints->set\n      (append* (map (lambda (c) (run* (p) (cpo (report-concept c) p)))\n                    (set->list cs)))))\n  (define (concept-predicate-intersect cpo pcx cs)\n    (if (and pcx cs (< (set-count cs) (set-count pcx)))\n      (let ((cpcx (concepts->predicates cpo cs)))\n        (set-intersect cpcx pcx))\n      pcx))\n\n  (let loop ((pending edges))\n    (unless (null? pending)\n      (define edges (sort pending edge<?))\n      (define edge (car edges))\n      (match-define `(,e ,s ,o) edge)\n      (set!/add concept=>edges s edge)\n      (set!/add concept=>edges o edge)\n      (define ss  (concept->set s))\n      (define os  (concept->set o))\n      (define pcx (concept-predicate-intersect\n                    object-predicateo\n                    (concept-predicate-intersect\n                      subject-predicateo (predicate->cx e) ss)\n                    os))\n      (define (find-edges/db db stream-edges srcs pids cats dsts)\n        (define srcids\n          (sort\n            (if srcs srcs\n              (run* (src)\n                (fresh (cui cname catid catname cprops)\n                  (if cats (membero catid cats) (== #t #t))\n                  (db:concepto\n                    db `(,src ,cui ,cname (,catid . ,catname) ,cprops)))))\n            <))\n        (define (src->edges src)\n          (define (stream/pid pid)\n            (cond (dsts (append* (map (lambda (dst)\n                                        (stream->list\n                                          (stream-edges src pid #f dst)))\n                                      dsts)))\n                  (cats (append* (map (lambda (cat)\n                                        (stream->list\n                                          (stream-edges src pid cat #f)))\n                                      cats)))\n                  (else (stream->list (stream-edges src pid #f #f)))))\n          (if pids (append* (map stream/pid pids)) (stream/pid #f)))\n        (map (lambda (e)\n               (define eid (edge-eid e))\n               (define e/p (db:eid->edge db eid))\n               (list eid (edge/props-subject e/p) (edge/props-object e/p)))\n             (append* (map src->edges srcids))))\n      (define (find-edges stream-edges/db srcs cats dsts)\n        (append*\n          (map (lambda (dbdesc)\n                 (define dbname (car dbdesc))\n                 (define db     (cdr dbdesc))\n                 (define (filter/db xs)\n                   (map cdr (filter (lambda (x) (equal? dbname (car x))) xs)))\n                 (map (lambda (e) (cons dbname e))\n                      (find-edges/db\n                        db (lambda args (apply stream-edges/db db args))\n                        (and srcs (filter/db (set->list srcs)))\n                        (and pcx  (filter/db (set->list pcx)))\n                        (and cats (filter/db (set->list cats)))\n                        (and dsts (filter/db (set->list dsts))))))\n               (databases))))\n      (define id-edges\n        (if (and os (= (set-count os) (?min ss os)))\n          (find-edges db:object->edge-stream os (concept->cx s) ss)\n          (find-edges db:subject->edge-stream ss (concept->cx o) os)))\n      (update-edge! e s o (list->set id-edges))\n      (loop (cdr edges))))\n  (cons concept=>set edge=>set))\n\n(define (duplicates xs)\n  (remove-duplicates\n    (let loop ((xs xs))\n      (cond ((null? xs)                 '())\n            ((member (car xs) (cdr xs)) (cons (car xs) (loop (cdr xs))))\n            (else                       (loop (cdr xs)))))))\n(define (constraints? xs)\n  (or (not xs) (and (pair? xs)\n                    (not (list? (cdr (car xs))))\n                    (not (number? (cdr (car xs)))))))\n(define (constraints->set cxs)\n  (list->set (map (lambda (c) (cons (car c) (cadr c))) cxs)))\n(define (constraint-sets kvs)\n  (make-immutable-hash\n    (map (match-lambda ((cons name cxs) (cons name (constraints->set cxs))))\n         (filter (match-lambda\n                   ((cons name value) (and value (constraints? value))))\n                 kvs))))\n(define (path*->edges paths cnames enames)\n  (when (null? paths) (error \"no paths were provided\"))\n  (unless (list? paths) (error \"paths must be given as a list:\" paths))\n  (for-each\n    (lambda (path)\n      (unless (list? path) (error \"path must be a list:\" path))\n      (unless (<= 3 (length path))\n        (error \"path must contain at least one edge triple:\" path))\n      (let loop ((parts path))\n        (cond ((null? parts) (error \"missing concept at end of path:\" path))\n              ((not (member (car parts) cnames))\n               (error \"unknown path concept:\"\n                      path `(unknown-concept: ,(car parts))\n                      `(valid-concepts: ,cnames)))\n              ((and (pair? (cdr parts)) (not (member (cadr parts) enames)))\n               (error \"unknown path edge:\"\n                      path `(unknown-edge: ,(cadr parts))\n                      `(valid-edges: ,enames)))\n              ((pair? (cdr parts)) (loop (cddr parts))))))\n    paths)\n  (define (path->edges path)\n    (if (null? (cdr path)) '()\n      (cons (list (cadr path) (car path) (caddr path))\n            (path->edges (cddr path)))))\n  (append* (map path->edges paths)))\n(define (report-concept c)\n  (define dbname (car c))\n  (define cid (cdr c))\n  (car (run* (concept)\n          (fresh (cui name catid cat props)\n            (== concept `(,dbname ,cid ,cui ,name (,catid . ,cat) ,props))\n            (concepto concept)))))\n(define (report-edge e)\n  (define dbname (car e))\n  (define eid (cadr e))\n  (define scid (caddr e))\n  (define ocid (cadddr e))\n  (car (run* (edge)\n          (fresh (scui sname scatid scat sprops\n                      ocui oname ocatid ocat oprops\n                      pid pred eprops)\n            (== edge `(,dbname ,eid\n                       (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n                       (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n                       (,pid . ,pred) ,eprops))\n            (edgeo edge)))))\n(define (report report-x x=>set)\n  (make-immutable-hash\n    (map (lambda (kv)\n            (define name (car kv))\n            (cons name (map report-x (set->list (cdr kv)))))\n          (hash->list x=>set))))\n(define-syntax run/graph\n  (syntax-rules ()\n    ((_ ((cname cexpr) ...) ((ename pexpr) ...) path* ...)\n     (let* ((concepts (list (cons 'cname cexpr) ...))\n            (pedges   (list (cons 'ename pexpr) ...))\n            (paths    '(path* ...))\n            (cnames   (map car concepts))\n            (enames   (map car pedges))\n            (dup-concepts (duplicates cnames))\n            (dup-pedges   (duplicates enames))\n            (_ (unless (null? dup-concepts)\n                 (error \"duplicate concept bindings:\"\n                        dup-concepts '((cname cexpr) ...))))\n            (_ (unless (null? dup-pedges)\n                 (error \"duplicate edge bindings:\"\n                        dup-pedges '((ename pexpr) ...))))\n            (edges (path*->edges paths cnames enames))\n            (concept=>set\n              (make-immutable-hash\n                (map (match-lambda\n                       ((cons name concepts)\n                        (cons name (list->set\n                                     (map (lambda (c)\n                                            (cons (car c)\n                                                  (if (number? (cdr c)) (cdr c)\n                                                    (cadr c))))\n                                          concepts)))))\n                     (filter\n                       (match-lambda\n                         ((cons name value) (not (constraints? value))))\n                       concepts))))\n            (concept=>cx (constraint-sets concepts))\n            (predicate=>cx (constraint-sets pedges)))\n       (match-define (cons concept-sets edge=>set)\n                     (find-graph concept=>set concept=>cx predicate=>cx edges))\n       (list (report report-concept concept-sets)\n             (report report-edge    edge=>set))))))\n\n\n#|\nexample usage, where 'results' is bound to a list of lists:\n\n(write-list-to-tsv\n  (list \"db\" \"subject\" \"predicate\" \"object\")\n  results\n  \"my-tsv.tsv\")\n|#\n(define write-list-to-tsv\n  (lambda (header-ls lol path)\n    (with-output-to-file path\n      ;; thunk -- procedure that takes no arguments\n      (lambda ()\n        (for-each\n          (lambda (l)\n            (let loop ([l l])\n              (cond\n                ((null? l)\n                 (error 'output-to-tsv \"where's the data!?\"))\n                ((null? (cdr l)) ;; l contains exactly 1 element\n                 (display (car l))\n                 (display #\\newline))\n                (else\n                 (display (car l))\n                 (display #\\tab)\n                 (loop (cdr l))))))\n          (cons header-ls lol)))\n      #:mode 'text\n      #:exists 'replace)))\n"
  },
  {
    "path": "medikanren/config.defaults.scm",
    "content": ";; DO NOT EDIT THIS FILE!\n;; Instead, add overrides to: config.scm\n((databases . (\n               uab-pmi\n               semmed\n               orange\n               robokop\n               rtx\n               ))\n (cache-synonyms? . #t)\n\n (in-memory-names? . #t)\n (in-memory-cuis?  . #t)\n\n (query-results.write-to-file?  . #t)  ;; #t will write the query and results to file, #f will not\n (query-results.file-name       . \"last.sx\")\n (query-results.file-name-human . \"last.txt\")\n (query-results.file-name-spreadsheet . \"last.tsv\")\n ;; Uncomment exactly one of these:\n (query-results.file-mode       . replace)  ;; Clobber the save file each time you run a query.\n ;(query-results.file-mode       . append)  ;; Save all the queries.\n (initial-window-size.horizontal . 800)\n (initial-window-size.vertical . 400)\n (decreases-predicate-names\n  .\n  (\"negatively_regulates\"\n   \"prevents\"\n   \"treats\"\n   \"indicated_for\"\n   \"decreases_activity_of\"\n   \"decreases_expression_of\"\n   \"decreases_molecular_interaction\"\n   \"decreases_secretion_of\"\n   \"decreases_synthesis_of\"\n   \"decreases_transport_of\"\n   \"decreases_uptake_of\"\n   \"disrupts\"\n   \"increases_degradation_of\"\n   ;; \"negatively_regulates__entity_to_entity\"\n   ;; \"increases_metabolic_processing_of\"\n   ;; \"decreases_response_to\"\n   ;; \"decreases_localization_of\"\n   ;; \"decreases_molecular_modification_of\"\n   ))\n (increases-predicate-names\n  .\n  (\"positively_regulates\"\n   \"causes\"\n   \"produces\"\n   \"causes_condition\"\n   \"causally_related_to\"\n   \"contributes_to\"\n   \"causes_adverse_event\"\n   \"gene_associated_with_condition\"\n   \"gene_mutations_contribute_to\"\n   \"disease_to_gene_association\"\n   \"increases_activity_of\"\n   \"increases_expression_of\"\n   \"increases_molecular_interaction\"\n   \"increases_response_to\"\n   \"increases_secretion_of\"\n   \"increases_stability_of\"\n   \"increases_synthesis_of\"\n   \"increases_transport_of\"\n   \"increases_uptake_of\"\n   \"decreases_degradation_of\"\n   \"posetively_regulates\" ;;; robokop typo--now fixed, but keep it for compatibility with old data\n   ;; \"positively_regulates__entity_to_entity\"\n   ;; \"increases_molecular_modification_of\"\n   ;; \"increases_localization_of\"\n   ;; \"increases_splicing_of\"\n   ;; \"decreases_mutation_rate_of\"\n   ;; \"predisposes\"\n   ;; \"decreases_metabolic_processing_of\"\n   ))\n\n  ;; Disable this flag to prevent translator-web-server.rkt\n  ;; and open-api/ from making downstream HTTP requests.  Useful\n  ;; for functional CI tests, and for offline development.\n  (trapi-enable-external-requests?  . #f)\n\n ;; Add configuration options as new association pairs.\n )\n\n"
  },
  {
    "path": "medikanren/configref.rkt",
    "content": "#lang racket \n(require\n    racket/runtime-path\n)\n(provide\n    config\n    config-ref\n    load-config\n    override-config\n)\n\n(define (read/file path)  (with-input-from-file  path (lambda () (read))))\n\n(define-runtime-path path:root \".\")\n(define (path/root relative-path) (build-path path:root relative-path))\n(define (path-simple path)        (path->string (simplify-path path)))\n\n(define box:config-override (box '()))\n(define box:config (box #f))\n(define (config)\n  (define cfg (unbox box:config))\n  (cond (cfg cfg)\n        (else (load-config #t #f)\n              (unbox box:config))))\n;;; override-config\n;; Set a set of config keys with higher precidence than \"user config\" config.scm\n;; or \"config.defaults.scm\".  Primarily for use in the repl, secondarily for use\n;; in automated tests.  Use discouraged in applications.\n(define (override-config config)\n  (validate-config config)\n  (set-box! box:config-override config)\n  (set-box! box:config #f))\n(define (config-ref key #:testing-dict (dict-config (config)))\n  (define kv (assoc key dict-config))\n  (unless kv (error \"missing configuration key:\" key))\n  (cdr kv))\n(define (valid-entry? kv)\n  (and (pair? kv) (symbol? (car kv))))\n(define (validate-config config)\n  (unless (and (list? config) (andmap valid-entry? config))\n    (error \"invalid configuration:\" config))\n)\n;;; config-combine\n;; Default configs go last, and must contain a superset of all config keys.\n;; Could be faster, but intended to only be run once at startup.\n(define (config-combine . configs)\n  (define (find k configs)\n    (when (empty? configs)\n      (error \"config defaults must contain a superset of all other config keys\"))\n    (define kv (assoc k (car configs)))\n    (if kv\n      (cdr kv)\n      (find k (cdr configs))))\n  (define ks (map car (last configs)))\n  (map (lambda (k)\n    (cons k (find k configs)))\n    ks)\n)\n(define (path:config.user path:config) (or path:config (path/root \"config.scm\")))\n(define (path:config.defaults) (path/root \"config.defaults.scm\"))\n(define (load-config verbose? path:config)\n  (when verbose? (printf \"loading default configuration: ~a\\n\"\n                         (path-simple (path:config.defaults))))\n  (when verbose? (printf \"loading user configuration: ~a\\n\"\n                         (path-simple (path:config.user path:config))))\n  (define config.user     (if (file-exists? (path:config.user path:config))\n                            (read/file (path:config.user path:config))\n                            '()))\n  (define config.defaults (read/file (path:config.defaults)))\n  (validate-config config.user)\n  (set-box! box:config (config-combine (unbox box:config-override) config.user config.defaults)))\n\n(module+ test\n  ; has required package:\n  ;   raco pkg install chk\n  ;\n  ; how to run tests:\n  ;   (cd medikanren && raco test configref.rkt)\n\n  (require chk)\n\n  ; test config-ref\n  (chk\n      #:= (config-ref 'foo #:testing-dict '((foo . 1))) 1)\n  (chk\n      #:do (config-ref 'foo #:testing-dict '((foo . 1)))\n      #:t #t)\n  (chk\n      #:x (config-ref 'foo #:testing-dict '((bar . 1))) \"missing configuration key\")\n\n  ; test validate-config\n  (chk #:x (validate-config (vector)) \"invalid configuration\")\n  (chk #:x (validate-config '(())) \"invalid configuration\")\n  (chk #:x (validate-config '((\"foo\" . 1))) \"invalid configuration\")\n  (chk\n      #:do (validate-config '((foo . 1)))\n      #:t #t)\n  (chk\n      #:do (validate-config (read/file (path:config.defaults)))\n      #:t #t)\n\n\n  ; test config-combine\n  (chk #:=\n    (config-ref 'foo #:testing-dict\n      (config-combine '((foo . 1)) '((foo . 2)) ))\n    1)\n  (chk #:=\n    (config-ref 'foo #:testing-dict\n      (config-combine '((foo . 1)) '((foo . 2)) '((foo . 3)) ))\n    1)\n  (chk #:=\n    (config-ref 'foo #:testing-dict\n      (config-combine '() '((foo . 2)) ))\n    2)\n  (chk #:=\n    (config-ref 'foo #:testing-dict\n      (config-combine '((foo . 1)) '((foo . 2) (bar . 1)) ))\n    1)\n\n  ; test override-config\n  (chk\n    #:= (config-ref 'query-results.file-name-human) \"last.txt\"\n    )\n  (chk\n    #:do (override-config '())\n    #:= (config-ref 'query-results.file-name-human) \"last.txt\"\n    )\n  (chk\n    #:do (override-config '((query-results.file-name-human . \"bob\")))\n    #:= (config-ref 'query-results.file-name-human) \"bob\"\n    )\n)"
  },
  {
    "path": "medikanren/csv.rkt",
    "content": "#lang racket/base\n(provide\n  csv-records\n  set-field-separator!\n  )\n\n\n;; Informal CSV Grammar\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream ::= EOF | record EOF | record RECORD-SEPARATOR record-stream\n;record ::= field | field FIELD-SEPARATOR record\n;field ::= \\\" inner-content* \\\" | CONTENT*\n;inner-content ::= CONTENT | \\\"\\\" | FIELD-SEPARATOR | WHITESPACE\n;; CONTENT includes anything other than double-quote, field separator, whitespace\n\n(define *field-separator* #\\,)\n(define (set-field-separator! ch) (set! *field-separator* ch))\n\n(define (end-of-record?! in)\n  (define ch (peek-char in))\n  (or (and (char=? #\\return ch)\n           (or (and (char=? #\\newline (peek-char in 1)) (read-string 2 in) #t)\n               (and (read-char in) #t)))\n      (and (char=? #\\newline ch) (read-char in) #t)\n      (eof-object? ch)))\n\n(define (field-separator?! in)\n  (define ch (peek-char in))\n  (and (char=? *field-separator* ch) (read-char in) #t))\n\n(define (end-of-field?! in)\n  (define ch (peek-char in))\n  (or (char=? *field-separator* ch)\n      (char=? #\\return ch) (char=? #\\newline ch) (eof-object? ch)))\n\n(define (field-quoted-begin?! in)\n  (define ch (peek-char in))\n  (and (char=? #\\\" ch) (read-char in) #t))\n\n(define (field-quoted-end?! in)\n  (define ch (peek-char in))\n  (and (char=? #\\\" ch) (read-char in) (not (char=? #\\\" (peek-char in)))))\n\n(define (csv-records in)\n  (define (next-record)\n    (and (not (eof-object? (peek-char in)))\n         (let record ((continue? #t))\n           (if continue?\n             (cons (list->string\n                     (let field ()\n                       (cond ((end-of-field?! in) '())\n                             ((field-quoted-begin?! in)\n                              (let field-quoted ()\n                                (if (field-quoted-end?! in) (field)\n                                  (cons (read-char in) (field-quoted)))))\n                             (else (cons (read-char in) (field))))))\n                   (record (field-separator?! in)))\n             (if (end-of-record?! in) '() (error \"malformed csv\"))))))\n  (define current #f)\n  (lambda (request)\n    (case request\n      ((current) current)\n      ((next) (set! current (next-record)) current)\n      (else (error \"invalid csv-records request:\" request)))))\n"
  },
  {
    "path": "medikanren/db.rkt",
    "content": "#lang racket/base\n(provide\n  make-db\n\n  db:category*\n  db:predicate*\n  db:concept-cui-corpus\n\n  db:catid->category\n  db:pid->predicate\n  db:catid->cid*\n  db:cid->concept\n  db:eid->edge\n  db:cid&concept-stream\n  db:eid&edge/props-stream\n  db:subject->pids\n  db:object->pids\n  db:subject->edge-stream\n  db:object->edge-stream\n  db:pmid->eid*\n  db:pmid&eid*-stream\n  db:synonym->cid*\n  db:xref->cid*\n\n  db:~category->catid&category*\n  db:~predicate->pid&predicate*\n  db:~cui*->cid&concept*\n  db:~cui->cid&concept*\n  db:~name*->cid&concept*/options\n  db:~name->cid&concept*\n\n  chars:ignore-typical\n  chars:split-typical\n\n  smart-string-matches?\n  )\n\n(require\n  \"repr.rkt\"\n  \"string-search.rkt\"\n  racket/file\n  racket/stream\n  racket/string\n  racket/vector)\n\n(define fnin-concepts             \"concepts.scm\")\n(define fnin-synonyms             \"synonyms.scm\")\n(define fnin-concepts-by-synonym  \"concepts-by-synonym.scm\")\n(define fnin-xrefs                \"xrefs.scm\")\n(define fnin-concepts-by-xref     \"concepts-by-xref.scm\")\n(define fnin-concept-cui-corpus   \"concept-cui-corpus.scm\")\n(define fnin-concept-cui-index    \"concept-cui-index.bytes\")\n(define fnin-concept-name-corpus  \"concept-name-corpus.scm\")\n(define fnin-concept-name-index   \"concept-name-index.bytes\")\n(define fnin-categories           \"categories.scm\")\n(define fnin-concepts-by-category \"concepts-by-category.scm\")\n(define fnin-edges                \"edges.scm\")\n(define fnin-predicates           \"predicates.scm\")\n(define fnin-edges-by-subject     \"edges-by-subject.bytes\")\n(define fnin-edges-by-object      \"edges-by-object.bytes\")\n(define fnin-pubmed-edges         \"pubmed-edges.scm\")\n(define (fname-offset fname) (string-append fname \".offset\"))\n\n(define (read-all in)\n  (define datum (read in))\n  (if (eof-object? datum) '() (cons datum (read-all in))))\n(define (read-all-from-file path) (call-with-input-file path read-all))\n\n;; TODO: incorporate a time/space tradeoff parameter.\n;; memory usage ranking:\n;;   2:\n;;     edges\n;;   1:\n;;     edge-by-X * 2\n;;   0:\n;;     concepts\n;;     cat->concepts\n;;     category*, predicate*\n\n;; memory-usage: 0 1 2 3\n(define (make-db db-dir (in-memory-names? #t) (in-memory-cuis? #t))\n  (define (db-path fname) (expand-user-path (build-path db-dir fname)))\n  (define (open-db-path fname) (open-input-file (db-path fname)))\n  (define (open-db-path/optional fname)\n    (if (file-exists? (db-path fname))\n        (open-db-path fname)\n        (if (file-exists? \"/dev/null\")\n            (open-input-file \"/dev/null\")\n            (open-input-file \"nul\"))))\n  (define in-concepts            (open-db-path fnin-concepts))\n  (define in-concepts-by-category (open-db-path fnin-concepts-by-category))\n  (define in-offset-concepts-by-category\n    (open-db-path (fname-offset fnin-concepts-by-category)))\n  (define in-concepts-by-synonym (open-db-path fnin-concepts-by-synonym))\n  (define in-offset-concepts-by-synonym\n    (open-db-path (fname-offset fnin-concepts-by-synonym)))\n  (define in-synonyms            (open-db-path fnin-synonyms))\n  (define in-offset-synonyms     (open-db-path (fname-offset fnin-synonyms)))\n  (define in-concepts-by-xref (open-db-path fnin-concepts-by-xref))\n  (define in-offset-concepts-by-xref\n    (open-db-path (fname-offset fnin-concepts-by-xref)))\n  (define in-xrefs               (open-db-path fnin-xrefs))\n  (define in-offset-xrefs        (open-db-path (fname-offset fnin-xrefs)))\n  (define in-concept-cui-index   (open-db-path fnin-concept-cui-index))\n  (define in-concept-name-corpus (open-db-path fnin-concept-name-corpus))\n  (define in-offset-concepts  (open-db-path (fname-offset fnin-concepts)))\n  (define in-edges            (open-db-path fnin-edges))\n  (define in-offset-edges     (open-db-path (fname-offset fnin-edges)))\n  (define in-edges-by-subject (open-db-path fnin-edges-by-subject))\n  (define in-edges-by-object  (open-db-path fnin-edges-by-object))\n  (define in-offset-edges-by-subject\n    (open-db-path (fname-offset fnin-edges-by-subject)))\n  (define in-offset-edges-by-object\n    (open-db-path (fname-offset fnin-edges-by-object)))\n  (define in-pubmed-edges (open-db-path/optional fnin-pubmed-edges))\n  (define in-offset-pubmed-edges\n    (open-db-path/optional (fname-offset fnin-pubmed-edges)))\n\n  (define category*\n    (list->vector (read-all-from-file (db-path fnin-categories))))\n  (define predicate*\n    (list->vector (read-all-from-file (db-path fnin-predicates))))\n\n  (define (get-cui-corpus/raw)\n    (call-with-input-file\n      (db-path fnin-concept-cui-corpus)\n      (lambda (in-concept-cui-corpus)\n        (displayln \"* cui-corpus:\")\n        (time (for/vector ((x (port->stream-offset&values in-concept-cui-corpus)))\n                (cdr x))))))\n  (define get-cui-corpus\n    (cond (in-memory-cuis? (define cui-corpus (get-cui-corpus/raw))\n                           (lambda () cui-corpus))\n          (else            get-cui-corpus/raw)))\n\n  (define cui*->cid*\n    (cond (in-memory-cuis?\n            (define cui-corpus (get-cui-corpus))\n            (define cui-index (port->string-keys in-concept-cui-index))\n            (close-input-port in-concept-cui-index)\n            (lambda (cui*) (string:corpus-find*      cui-corpus   cui-index            cui*)))\n          (else\n            (lambda (cui*) (string:corpus-find*/disk cid->concept in-concept-cui-index cui*)))))\n\n  (define ~name*->cid*\n    (cond (in-memory-names?\n            (displayln \"* name-corpus:\")\n            (define name-corpus\n              (time (for/vector ((x (port->stream-offset&values in-concept-name-corpus)))\n                      (cdr x))))\n            (displayln \"* name-index:\")\n            (define name-index (time (file->bytes (db-path fnin-concept-name-index))))\n            (lambda (~name*) (suffix:corpus-find*      name-corpus  name-index            ~name*)))\n          (else\n            (define in-concept-name-index (open-input-file (db-path fnin-concept-name-index)))\n            (lambda (~name*) (suffix:corpus-find*/disk cid->concept in-concept-name-index ~name*)))))\n  (close-input-port in-concept-name-corpus)\n\n  (define catid=>cid* (make-vector (vector-length category*) #f))\n  (for ((catid (in-range 0 (vector-length category*))))\n       (define cid* (detail-ref in-concepts-by-category\n                                in-offset-concepts-by-category catid))\n       (vector-set! catid=>cid* catid cid*))\n  (close-input-port in-concepts-by-category)\n  (close-input-port in-offset-concepts-by-category)\n\n  (define (synonym->cid* synonym)\n    (define id (detail-find-index in-synonyms in-offset-synonyms\n                                  (lambda (key)\n                                    (cond ((string<? key synonym) -1)\n                                          ((string=? key synonym)  0)\n                                          (else                    1)))))\n    (if id (detail-ref in-concepts-by-synonym in-offset-concepts-by-synonym id)\n      '()))\n  (define (xref->cid* xref)\n    (define xid (detail-find-index in-xrefs in-offset-xrefs\n                                   (lambda (key)\n                                     (cond ((string<? key xref) -1)\n                                           ((string=? key xref)  0)\n                                           (else                 1)))))\n    (if xid (detail-ref in-concepts-by-xref in-offset-concepts-by-xref xid)\n      '()))\n\n  (define (catid->cid* catid)  (vector-ref catid=>cid* catid))\n  (define (cid->concept cid)   (detail-ref in-concepts in-offset-concepts cid))\n  (define (cid&concept-stream) (port->stream-offset&values in-concepts))\n  (define (eid->edge eid)         (detail-ref in-edges in-offset-edges eid))\n  (define (eid&edge/props-stream) (port->stream-offset&values in-edges))\n\n  (define (subject->pids cid)\n    (edge-pids-by-X in-edges-by-subject in-offset-edges-by-subject cid))\n  (define (object->pids cid)\n    (edge-pids-by-X in-edges-by-object in-offset-edges-by-object cid))\n  (define (subject->edge-stream cid pid? cat? dst?)\n    (stream-edges-by-X in-edges-by-subject in-offset-edges-by-subject\n                       cid pid? cat? dst?))\n  (define (object->edge-stream cid pid? cat? dst?)\n    (stream-edges-by-X in-edges-by-object in-offset-edges-by-object\n                       cid pid? cat? dst?))\n  (define (pmid->eid* pmid)\n    (define pmid&eid*\n      (detail-find in-pubmed-edges in-offset-pubmed-edges\n                   (lambda (x)\n                     (define key (car x))\n                     (cond ((string<? key pmid) -1)\n                           ((string=? key pmid)  0)\n                           (else                 1)))))\n    (if (eof-object? pmid&eid*) '() (cdr pmid&eid*)))\n  (define (pmid&eid*-stream) (detail-stream in-pubmed-edges))\n\n  (vector category* predicate*\n          cui*->cid* ~name*->cid*\n          catid->cid* cid->concept eid->edge\n          cid&concept-stream eid&edge/props-stream\n          subject->edge-stream object->edge-stream\n          pmid->eid* pmid&eid*-stream subject->pids object->pids\n          synonym->cid* xref->cid*\n          get-cui-corpus))\n\n(define (db:category*             db)        (vector-ref db 0))\n(define (db:predicate*            db)        (vector-ref db 1))\n(define (db:cui*->cids            db   cui*) ((vector-ref db 2) cui*))\n(define (db:~name*->cids          db ~name*) ((vector-ref db 3) ~name*))\n(define (db:catid->cid*           db . args) (apply (vector-ref db 4) args))\n(define (db:cid->concept          db . args) (apply (vector-ref db 5) args))\n(define (db:eid->edge             db . args) (apply (vector-ref db 6) args))\n(define (db:cid&concept-stream    db)        ((vector-ref db 7)))\n(define (db:eid&edge/props-stream db)        ((vector-ref db 8)))\n(define (db:subject->edge-stream  db . args) (apply (vector-ref db 9) args))\n(define (db:object->edge-stream   db . args) (apply (vector-ref db 10) args))\n(define (db:pmid->eid*            db . args) (apply (vector-ref db 11) args))\n(define (db:pmid&eid*-stream      db)        ((vector-ref db 12)))\n(define (db:subject->pids         db . args) (apply (vector-ref db 13) args))\n(define (db:object->pids          db . args) (apply (vector-ref db 14) args))\n(define (db:synonym->cid*         db . args) (apply (vector-ref db 15) args))\n(define (db:xref->cid*            db . args) (apply (vector-ref db 16) args))\n(define (db:concept-cui-corpus    db)        ((vector-ref db 17)))\n\n(define (db:catid->category db catid) (vector-ref (db:category* db) catid))\n(define (db:pid->predicate db pid)    (vector-ref (db:predicate* db) pid))\n\n(define chars:ignore-typical \"-\")\n(define chars:split-typical \"\\t\\n\\v\\f\\r !\\\"#$%&'()*+,./:;<=>?@\\\\[\\\\\\\\\\\\]\\\\^_`{|}~\")\n\n(define (smart-string-matches? case-sensitive? chars:ignore chars:split str* hay)\n  (define re:ignore (and (non-empty-string? chars:ignore)\n                         (pregexp (string-append \"[\" chars:ignore \"]\"))))\n  (define re:split (and (non-empty-string? chars:split)\n                        (pregexp (string-append \"[\" chars:split \"]\"))))\n  (define (normalize s case-sensitive?)\n    (define pruned (if re:ignore (string-replace s re:ignore \"\") s))\n    (if case-sensitive? pruned (string-downcase pruned)))\n  (define (contains-upcase? s) (not (string=? s (string-downcase s))))\n  (define case-sensitive?*\n    (map (lambda (s) (or case-sensitive? (contains-upcase? s))) str*))\n  (define needles\n    (map (lambda (v case-sensitive?) (normalize v case-sensitive?))\n         str* case-sensitive?*))\n  (and hay\n       (andmap\n        (if re:split\n            (lambda (n case-sensitive?)\n              (ormap (lambda (s) (string=? s n))\n                     (string-split (normalize hay case-sensitive?) re:split)))\n            (lambda (n case-sensitive?)\n              (string-contains? (normalize hay case-sensitive?) n)))\n        needles case-sensitive?*)))\n\n(define (~string*->offset&value*\n          case-sensitive? chars:ignore chars:split offset&value* str* v->str)\n  (define (p? v)\n    (define hay (v->str (cdr v)))\n    (smart-string-matches? case-sensitive? chars:ignore chars:split str* hay))\n  (stream-filter p? offset&value*))\n\n(define (simple~string->offset&value* offset&value* str v->str)\n  (~string*->offset&value* #f \"\" \"\" offset&value* (list str) v->str))\n\n(define (db:~category->catid&category* db ~category)\n  (simple~string->offset&value*\n    (vector->stream-offset&values (db:category* db))\n    ~category (lambda (v) v)))\n(define (db:~predicate->pid&predicate* db ~predicate)\n  (simple~string->offset&value*\n    (vector->stream-offset&values (db:predicate* db))\n    ~predicate (lambda (v) v)))\n\n(define (db:~cui*->cid&concept* db ~cui*)\n  (define cids (db:cui*->cids db ~cui*))\n  (foldr (lambda (i cs) (stream-cons (cons i (db:cid->concept db i)) cs))\n         '() cids))\n(define (db:~cui->cid&concept* db ~cui)\n  (db:~cui*->cid&concept* db (list ~cui)))\n\n(define (db:~name*->cid&concept*/options\n          case-sensitive? chars:ignore chars:split db ~name*)\n  (define cids (db:~name*->cids db ~name*))\n  (define found (foldr (lambda (i cs)\n                         (stream-cons (cons i (db:cid->concept db i)) cs))\n                       '() cids))\n  (~string*->offset&value* case-sensitive? chars:ignore chars:split\n                           found ~name* concept-name))\n(define (db:~name->cid&concept* db ~name)\n  (simple~string->offset&value* (db:cid&concept-stream db) ~name concept-name))\n"
  },
  {
    "path": "medikanren/hgnc-ids.txt",
    "content": "HGNC:5\nHGNC:24086\nHGNC:7\nHGNC:23336\nHGNC:30005\nHGNC:18149\nHGNC:17968\nHGNC:13666\nHGNC:21298\nHGNC:17\nHGNC:24427\nHGNC:32037\nHGNC:32038\nHGNC:17929\nHGNC:25662\nHGNC:19679\nHGNC:30205\nHGNC:18\nHGNC:19\nHGNC:15886\nHGNC:33842\nHGNC:20\nHGNC:21022\nHGNC:28417\nHGNC:23993\nHGNC:14235\nHGNC:17366\nHGNC:19235\nHGNC:21\nHGNC:23\nHGNC:29\nHGNC:32\nHGNC:33\nHGNC:34\nHGNC:35\nHGNC:36\nHGNC:37\nHGNC:38\nHGNC:39\nHGNC:30\nHGNC:14637\nHGNC:14638\nHGNC:40\nHGNC:45\nHGNC:46\nHGNC:47\nHGNC:48\nHGNC:49\nHGNC:50\nHGNC:41\nHGNC:42\nHGNC:51\nHGNC:53\nHGNC:54\nHGNC:55\nHGNC:56\nHGNC:57\nHGNC:59\nHGNC:60\nHGNC:52\nHGNC:14639\nHGNC:14640\nHGNC:61\nHGNC:66\nHGNC:67\nHGNC:68\nHGNC:69\nHGNC:70\nHGNC:71\nHGNC:72\nHGNC:73\nHGNC:74\nHGNC:13884\nHGNC:13886\nHGNC:13887\nHGNC:17553\nHGNC:18717\nHGNC:18718\nHGNC:20154\nHGNC:21396\nHGNC:21398\nHGNC:23759\nHGNC:25656\nHGNC:16407\nHGNC:15868\nHGNC:19837\nHGNC:20293\nHGNC:24538\nHGNC:28235\nHGNC:26971\nHGNC:13921\nHGNC:16128\nHGNC:28756\nHGNC:24278\nHGNC:26925\nHGNC:26111\nHGNC:11320\nHGNC:24011\nHGNC:29859\nHGNC:17265\nHGNC:1364\nHGNC:76\nHGNC:77\nHGNC:78\nHGNC:19195\nHGNC:29132\nHGNC:79\nHGNC:81\nHGNC:30655\nHGNC:21230\nHGNC:25829\nHGNC:28975\nHGNC:17369\nHGNC:18275\nHGNC:23842\nHGNC:82\nHGNC:83\nHGNC:84\nHGNC:85\nHGNC:87\nHGNC:21497\nHGNC:21597\nHGNC:30211\nHGNC:88\nHGNC:89\nHGNC:90\nHGNC:91\nHGNC:92\nHGNC:319\nHGNC:16467\nHGNC:16469\nHGNC:16754\nHGNC:93\nHGNC:94\nHGNC:15453\nHGNC:23337\nHGNC:23338\nHGNC:23339\nHGNC:17715\nHGNC:23989\nHGNC:34391\nHGNC:25070\nHGNC:2707\nHGNC:13557\nHGNC:18356\nHGNC:23675\nHGNC:16066\nHGNC:108\nHGNC:17066\nHGNC:4035\nHGNC:1565\nHGNC:23692\nHGNC:1611\nHGNC:115\nHGNC:19288\nHGNC:117\nHGNC:118\nHGNC:33904\nHGNC:33128\nHGNC:18431\nHGNC:19748\nHGNC:33159\nHGNC:24157\nHGNC:15919\nHGNC:17152\nHGNC:18156\nHGNC:24436\nHGNC:20999\nHGNC:119\nHGNC:120\nHGNC:121\nHGNC:25621\nHGNC:122\nHGNC:123\nHGNC:125\nHGNC:14376\nHGNC:124\nHGNC:29609\nHGNC:33781\nHGNC:126\nHGNC:17195\nHGNC:127\nHGNC:29567\nHGNC:24174\nHGNC:26101\nHGNC:27288\nHGNC:3569\nHGNC:3570\nHGNC:3571\nHGNC:16526\nHGNC:16496\nHGNC:18049\nHGNC:32017\nHGNC:30931\nHGNC:10522\nHGNC:32016\nHGNC:26060\nHGNC:31665\nHGNC:16091\nHGNC:15814\nHGNC:24723\nHGNC:129\nHGNC:130\nHGNC:132\nHGNC:17780\nHGNC:143\nHGNC:144\nHGNC:145\nHGNC:24124\nHGNC:160\nHGNC:161\nHGNC:162\nHGNC:24018\nHGNC:28494\nHGNC:16127\nHGNC:163\nHGNC:164\nHGNC:165\nHGNC:166\nHGNC:167\nHGNC:168\nHGNC:169\nHGNC:170\nHGNC:17256\nHGNC:37282\nHGNC:14671\nHGNC:24025\nHGNC:14672\nHGNC:17372\nHGNC:24027\nHGNC:24026\nHGNC:24022\nHGNC:171\nHGNC:172\nHGNC:18123\nHGNC:173\nHGNC:174\nHGNC:175\nHGNC:177\nHGNC:24104\nHGNC:179\nHGNC:180\nHGNC:186\nHGNC:1839\nHGNC:30713\nHGNC:30714\nHGNC:31853\nHGNC:198\nHGNC:214\nHGNC:215\nHGNC:216\nHGNC:188\nHGNC:189\nHGNC:190\nHGNC:193\nHGNC:195\nHGNC:196\nHGNC:197\nHGNC:199\nHGNC:200\nHGNC:201\nHGNC:202\nHGNC:206\nHGNC:207\nHGNC:208\nHGNC:15479\nHGNC:15478\nHGNC:16299\nHGNC:217\nHGNC:218\nHGNC:219\nHGNC:220\nHGNC:221\nHGNC:222\nHGNC:223\nHGNC:224\nHGNC:13202\nHGNC:13201\nHGNC:14605\nHGNC:1366\nHGNC:14899\nHGNC:16305\nHGNC:17108\nHGNC:17109\nHGNC:17110\nHGNC:17111\nHGNC:17178\nHGNC:14632\nHGNC:14631\nHGNC:14633\nHGNC:19706\nHGNC:27912\nHGNC:16486\nHGNC:16487\nHGNC:225\nHGNC:226\nHGNC:227\nHGNC:228\nHGNC:21172\nHGNC:25151\nHGNC:19038\nHGNC:19039\nHGNC:21738\nHGNC:232\nHGNC:233\nHGNC:234\nHGNC:235\nHGNC:236\nHGNC:237\nHGNC:238\nHGNC:239\nHGNC:240\nHGNC:21285\nHGNC:241\nHGNC:242\nHGNC:243\nHGNC:244\nHGNC:245\nHGNC:21212\nHGNC:13838\nHGNC:17849\nHGNC:13839\nHGNC:943\nHGNC:944\nHGNC:945\nHGNC:19893\nHGNC:18651\nHGNC:3336\nHGNC:3337\nHGNC:23647\nHGNC:1711\nHGNC:18990\nHGNC:18991\nHGNC:18989\nHGNC:19011\nHGNC:19030\nHGNC:4512\nHGNC:4516\nHGNC:13728\nHGNC:18992\nHGNC:19010\nHGNC:13841\nHGNC:19241\nHGNC:20973\nHGNC:18582\nHGNC:20974\nHGNC:20822\nHGNC:17416\nHGNC:249\nHGNC:250\nHGNC:251\nHGNC:252\nHGNC:253\nHGNC:255\nHGNC:256\nHGNC:16354\nHGNC:30576\nHGNC:28606\nHGNC:13633\nHGNC:24040\nHGNC:24041\nHGNC:24043\nHGNC:257\nHGNC:259\nHGNC:28898\nHGNC:27293\nHGNC:15766\nHGNC:23803\nHGNC:23506\nHGNC:262\nHGNC:263\nHGNC:264\nHGNC:268\nHGNC:25250\nHGNC:269\nHGNC:21303\nHGNC:30925\nHGNC:21304\nHGNC:277\nHGNC:278\nHGNC:280\nHGNC:281\nHGNC:282\nHGNC:283\nHGNC:285\nHGNC:286\nHGNC:288\nHGNC:15759\nHGNC:291\nHGNC:20093\nHGNC:292\nHGNC:21214\nHGNC:303\nHGNC:24051\nHGNC:25722\nHGNC:24017\nHGNC:26714\nHGNC:25901\nHGNC:7137\nHGNC:7135\nHGNC:3776\nHGNC:6473\nHGNC:17869\nHGNC:16411\nHGNC:315\nHGNC:316\nHGNC:20910\nHGNC:317\nHGNC:25951\nHGNC:318\nHGNC:16922\nHGNC:16921\nHGNC:16923\nHGNC:23459\nHGNC:23467\nHGNC:23466\nHGNC:23463\nHGNC:26504\nHGNC:26296\nHGNC:27981\nHGNC:25892\nHGNC:26147\nHGNC:320\nHGNC:5175\nHGNC:5177\nHGNC:24684\nHGNC:21869\nHGNC:321\nHGNC:18407\nHGNC:33784\nHGNC:3262\nHGNC:3263\nHGNC:18421\nHGNC:18424\nHGNC:324\nHGNC:325\nHGNC:326\nHGNC:20885\nHGNC:20886\nHGNC:327\nHGNC:328\nHGNC:24167\nHGNC:329\nHGNC:330\nHGNC:333\nHGNC:17258\nHGNC:336\nHGNC:338\nHGNC:13539\nHGNC:341\nHGNC:14412\nHGNC:24618\nHGNC:343\nHGNC:344\nHGNC:22204\nHGNC:25230\nHGNC:21575\nHGNC:347\nHGNC:20125\nHGNC:348\nHGNC:346\nHGNC:1189\nHGNC:349\nHGNC:18075\nHGNC:13203\nHGNC:25761\nHGNC:352\nHGNC:28904\nHGNC:8768\nHGNC:21411\nHGNC:26398\nHGNC:21607\nHGNC:357\nHGNC:10648\nHGNC:20609\nHGNC:358\nHGNC:359\nHGNC:360\nHGNC:30801\nHGNC:37284\nHGNC:20250\nHGNC:361\nHGNC:362\nHGNC:17376\nHGNC:363\nHGNC:365\nHGNC:49151\nHGNC:20091\nHGNC:26526\nHGNC:33814\nHGNC:28285\nHGNC:367\nHGNC:373\nHGNC:374\nHGNC:375\nHGNC:376\nHGNC:377\nHGNC:378\nHGNC:29857\nHGNC:379\nHGNC:368\nHGNC:369\nHGNC:370\nHGNC:371\nHGNC:24061\nHGNC:18783\nHGNC:1170\nHGNC:25744\nHGNC:21407\nHGNC:24108\nHGNC:28398\nHGNC:380\nHGNC:381\nHGNC:382\nHGNC:37281\nHGNC:384\nHGNC:385\nHGNC:386\nHGNC:387\nHGNC:388\nHGNC:23437\nHGNC:389\nHGNC:390\nHGNC:24056\nHGNC:391\nHGNC:28426\nHGNC:392\nHGNC:393\nHGNC:16710\nHGNC:395\nHGNC:396\nHGNC:397\nHGNC:399\nHGNC:400\nHGNC:402\nHGNC:15472\nHGNC:409\nHGNC:407\nHGNC:3978\nHGNC:26777\nHGNC:404\nHGNC:405\nHGNC:403\nHGNC:410\nHGNC:411\nHGNC:406\nHGNC:408\nHGNC:7179\nHGNC:877\nHGNC:15471\nHGNC:412\nHGNC:28114\nHGNC:9722\nHGNC:414\nHGNC:417\nHGNC:418\nHGNC:18294\nHGNC:33721\nHGNC:37258\nHGNC:23159\nHGNC:23056\nHGNC:20266\nHGNC:23157\nHGNC:23161\nHGNC:15672\nHGNC:23162\nHGNC:31088\nHGNC:32456\nHGNC:19358\nHGNC:30881\nHGNC:28287\nHGNC:427\nHGNC:33775\nHGNC:27683\nHGNC:17911\nHGNC:32487\nHGNC:30141\nHGNC:21900\nHGNC:25996\nHGNC:28243\nHGNC:21306\nHGNC:25189\nHGNC:17377\nHGNC:428\nHGNC:435\nHGNC:436\nHGNC:429\nHGNC:430\nHGNC:433\nHGNC:434\nHGNC:13743\nHGNC:441\nHGNC:437\nHGNC:20917\nHGNC:20565\nHGNC:17574\nHGNC:438\nHGNC:439\nHGNC:443\nHGNC:20605\nHGNC:1494\nHGNC:449\nHGNC:450\nHGNC:19071\nHGNC:451\nHGNC:452\nHGNC:453\nHGNC:25990\nHGNC:457\nHGNC:28577\nHGNC:24262\nHGNC:461\nHGNC:462\nHGNC:26837\nHGNC:26360\nHGNC:26771\nHGNC:463\nHGNC:464\nHGNC:465\nHGNC:20824\nHGNC:24073\nHGNC:24075\nHGNC:467\nHGNC:28658\nHGNC:14604\nHGNC:27281\nHGNC:17810\nHGNC:17811\nHGNC:17812\nHGNC:468\nHGNC:469\nHGNC:470\nHGNC:471\nHGNC:473\nHGNC:33188\nHGNC:474\nHGNC:475\nHGNC:476\nHGNC:477\nHGNC:478\nHGNC:22231\nHGNC:28041\nHGNC:19988\nHGNC:19989\nHGNC:19990\nHGNC:15713\nHGNC:17380\nHGNC:24077\nHGNC:14452\nHGNC:24540\nHGNC:24531\nHGNC:26976\nHGNC:483\nHGNC:19961\nHGNC:30534\nHGNC:484\nHGNC:485\nHGNC:487\nHGNC:489\nHGNC:490\nHGNC:491\nHGNC:16039\nHGNC:19705\nHGNC:23140\nHGNC:24078\nHGNC:24933\nHGNC:40024\nHGNC:492\nHGNC:493\nHGNC:494\nHGNC:26350\nHGNC:28002\nHGNC:32525\nHGNC:15803\nHGNC:26766\nHGNC:20763\nHGNC:15492\nHGNC:24714\nHGNC:22215\nHGNC:21027\nHGNC:26812\nHGNC:29101\nHGNC:20987\nHGNC:25370\nHGNC:13208\nHGNC:15819\nHGNC:495\nHGNC:17280\nHGNC:18588\nHGNC:20096\nHGNC:20265\nHGNC:21316\nHGNC:29135\nHGNC:21268\nHGNC:26363\nHGNC:25374\nHGNC:27880\nHGNC:23471\nHGNC:23575\nHGNC:23643\nHGNC:23644\nHGNC:23665\nHGNC:31979\nHGNC:31981\nHGNC:31982\nHGNC:28321\nHGNC:24470\nHGNC:29424\nHGNC:29186\nHGNC:25310\nHGNC:29024\nHGNC:27110\nHGNC:17234\nHGNC:24165\nHGNC:35167\nHGNC:26853\nHGNC:13788\nHGNC:35240\nHGNC:27639\nHGNC:33736\nHGNC:33888\nHGNC:26323\nHGNC:24079\nHGNC:29333\nHGNC:32946\nHGNC:29593\nHGNC:28640\nHGNC:28233\nHGNC:26080\nHGNC:26752\nHGNC:25259\nHGNC:24786\nHGNC:27229\nHGNC:25970\nHGNC:29223\nHGNC:26614\nHGNC:25691\nHGNC:25185\nHGNC:25681\nHGNC:16217\nHGNC:22467\nHGNC:35241\nHGNC:40027\nHGNC:42950\nHGNC:44669\nHGNC:20961\nHGNC:24600\nHGNC:29422\nHGNC:26795\nHGNC:26724\nHGNC:29642\nHGNC:25527\nHGNC:14082\nHGNC:21625\nHGNC:1183\nHGNC:14004\nHGNC:23837\nHGNC:27337\nHGNC:25240\nHGNC:31677\nHGNC:29329\nHGNC:20679\nHGNC:25519\nHGNC:6211\nHGNC:13233\nHGNC:16677\nHGNC:16676\nHGNC:16673\nHGNC:500\nHGNC:14152\nHGNC:21014\nHGNC:21732\nHGNC:27277\nHGNC:533\nHGNC:537\nHGNC:33463\nHGNC:541\nHGNC:542\nHGNC:543\nHGNC:544\nHGNC:545\nHGNC:546\nHGNC:23334\nHGNC:547\nHGNC:534\nHGNC:535\nHGNC:536\nHGNC:548\nHGNC:80\nHGNC:549\nHGNC:550\nHGNC:1361\nHGNC:553\nHGNC:28808\nHGNC:554\nHGNC:555\nHGNC:556\nHGNC:13667\nHGNC:558\nHGNC:559\nHGNC:560\nHGNC:18971\nHGNC:561\nHGNC:562\nHGNC:563\nHGNC:564\nHGNC:565\nHGNC:566\nHGNC:567\nHGNC:568\nHGNC:569\nHGNC:570\nHGNC:2013\nHGNC:571\nHGNC:572\nHGNC:573\nHGNC:574\nHGNC:575\nHGNC:25104\nHGNC:20192\nHGNC:15875\nHGNC:22197\nHGNC:576\nHGNC:578\nHGNC:579\nHGNC:580\nHGNC:581\nHGNC:17379\nHGNC:582\nHGNC:20708\nHGNC:583\nHGNC:24036\nHGNC:15718\nHGNC:26892\nHGNC:584\nHGNC:586\nHGNC:48925\nHGNC:587\nHGNC:17889\nHGNC:29509\nHGNC:24080\nHGNC:594\nHGNC:17581\nHGNC:28724\nHGNC:16665\nHGNC:339\nHGNC:597\nHGNC:598\nHGNC:13238\nHGNC:600\nHGNC:601\nHGNC:602\nHGNC:17288\nHGNC:603\nHGNC:604\nHGNC:605\nHGNC:17343\nHGNC:44196\nHGNC:17352\nHGNC:17353\nHGNC:17354\nHGNC:17356\nHGNC:17357\nHGNC:24100\nHGNC:32152\nHGNC:24087\nHGNC:607\nHGNC:609\nHGNC:610\nHGNC:611\nHGNC:612\nHGNC:613\nHGNC:615\nHGNC:616\nHGNC:618\nHGNC:619\nHGNC:14868\nHGNC:14867\nHGNC:14869\nHGNC:14870\nHGNC:25268\nHGNC:13916\nHGNC:28727\nHGNC:24009\nHGNC:620\nHGNC:622\nHGNC:24035\nHGNC:18242\nHGNC:626\nHGNC:15984\nHGNC:633\nHGNC:634\nHGNC:636\nHGNC:637\nHGNC:638\nHGNC:639\nHGNC:640\nHGNC:642\nHGNC:643\nHGNC:16029\nHGNC:19940\nHGNC:19941\nHGNC:6096\nHGNC:29513\nHGNC:644\nHGNC:646\nHGNC:16925\nHGNC:16924\nHGNC:24097\nHGNC:648\nHGNC:649\nHGNC:651\nHGNC:20363\nHGNC:652\nHGNC:654\nHGNC:655\nHGNC:658\nHGNC:659\nHGNC:15852\nHGNC:13504\nHGNC:661\nHGNC:15772\nHGNC:15853\nHGNC:21213\nHGNC:21496\nHGNC:17160\nHGNC:662\nHGNC:663\nHGNC:664\nHGNC:30146\nHGNC:25482\nHGNC:673\nHGNC:674\nHGNC:675\nHGNC:676\nHGNC:677\nHGNC:14130\nHGNC:26099\nHGNC:15783\nHGNC:15782\nHGNC:16348\nHGNC:21030\nHGNC:18239\nHGNC:21035\nHGNC:23724\nHGNC:18357\nHGNC:23725\nHGNC:30320\nHGNC:29293\nHGNC:25361\nHGNC:28951\nHGNC:17073\nHGNC:31813\nHGNC:25509\nHGNC:30207\nHGNC:27414\nHGNC:29216\nHGNC:17399\nHGNC:23085\nHGNC:4591\nHGNC:26388\nHGNC:29351\nHGNC:16226\nHGNC:26545\nHGNC:29096\nHGNC:17102\nHGNC:678\nHGNC:679\nHGNC:680\nHGNC:681\nHGNC:682\nHGNC:683\nHGNC:684\nHGNC:13209\nHGNC:685\nHGNC:15607\nHGNC:14561\nHGNC:14103\nHGNC:25540\nHGNC:14580\nHGNC:14193\nHGNC:15590\nHGNC:15515\nHGNC:21726\nHGNC:17090\nHGNC:26604\nHGNC:30275\nHGNC:24490\nHGNC:30322\nHGNC:37252\nHGNC:33846\nHGNC:34430\nHGNC:25968\nHGNC:25909\nHGNC:25516\nHGNC:11110\nHGNC:18040\nHGNC:18037\nHGNC:3031\nHGNC:14350\nHGNC:21209\nHGNC:9885\nHGNC:15550\nHGNC:17361\nHGNC:17362\nHGNC:689\nHGNC:690\nHGNC:692\nHGNC:693\nHGNC:17146\nHGNC:694\nHGNC:695\nHGNC:698\nHGNC:656\nHGNC:696\nHGNC:23052\nHGNC:31111\nHGNC:13210\nHGNC:697\nHGNC:18076\nHGNC:16937\nHGNC:24048\nHGNC:25192\nHGNC:25564\nHGNC:23592\nHGNC:22042\nHGNC:24046\nHGNC:31709\nHGNC:25419\nHGNC:22974\nHGNC:26798\nHGNC:44201\nHGNC:25945\nHGNC:27902\nHGNC:24096\nHGNC:32387\nHGNC:17684\nHGNC:23045\nHGNC:30964\nHGNC:25583\nHGNC:25781\nHGNC:25049\nHGNC:26168\nHGNC:24999\nHGNC:20730\nHGNC:21706\nHGNC:21099\nHGNC:18073\nHGNC:16869\nHGNC:24065\nHGNC:28615\nHGNC:25772\nHGNC:26094\nHGNC:34345\nHGNC:49394\nHGNC:25788\nHGNC:19846\nHGNC:32685\nHGNC:17872\nHGNC:700\nHGNC:16876\nHGNC:701\nHGNC:18984\nHGNC:703\nHGNC:704\nHGNC:705\nHGNC:706\nHGNC:707\nHGNC:708\nHGNC:23366\nHGNC:28782\nHGNC:16967\nHGNC:16968\nHGNC:710\nHGNC:711\nHGNC:712\nHGNC:28633\nHGNC:25225\nHGNC:29263\nHGNC:28087\nHGNC:31407\nHGNC:713\nHGNC:714\nHGNC:717\nHGNC:721\nHGNC:24102\nHGNC:32488\nHGNC:32521\nHGNC:26286\nHGNC:25239\nHGNC:719\nHGNC:723\nHGNC:725\nHGNC:726\nHGNC:24049\nHGNC:727\nHGNC:29561\nHGNC:728\nHGNC:18060\nHGNC:17452\nHGNC:735\nHGNC:18860\nHGNC:23456\nHGNC:2720\nHGNC:2721\nHGNC:14987\nHGNC:16011\nHGNC:16012\nHGNC:16013\nHGNC:16009\nHGNC:17180\nHGNC:17181\nHGNC:17182\nHGNC:17183\nHGNC:17184\nHGNC:17185\nHGNC:17186\nHGNC:19763\nHGNC:19765\nHGNC:19766\nHGNC:19767\nHGNC:19768\nHGNC:19769\nHGNC:19770\nHGNC:24268\nHGNC:24103\nHGNC:18697\nHGNC:738\nHGNC:739\nHGNC:740\nHGNC:24311\nHGNC:33169\nHGNC:53619\nHGNC:20995\nHGNC:20996\nHGNC:742\nHGNC:743\nHGNC:19088\nHGNC:744\nHGNC:100\nHGNC:99\nHGNC:101\nHGNC:21263\nHGNC:17537\nHGNC:745\nHGNC:746\nHGNC:750\nHGNC:751\nHGNC:753\nHGNC:24910\nHGNC:756\nHGNC:33856\nHGNC:20123\nHGNC:757\nHGNC:27380\nHGNC:30437\nHGNC:19048\nHGNC:14872\nHGNC:26321\nHGNC:13825\nHGNC:16448\nHGNC:758\nHGNC:25021\nHGNC:31704\nHGNC:773\nHGNC:17021\nHGNC:18318\nHGNC:23805\nHGNC:29357\nHGNC:1350\nHGNC:25903\nHGNC:30123\nHGNC:29230\nHGNC:25567\nHGNC:24007\nHGNC:32151\nHGNC:25752\nHGNC:21186\nHGNC:779\nHGNC:782\nHGNC:783\nHGNC:784\nHGNC:785\nHGNC:786\nHGNC:790\nHGNC:791\nHGNC:2349\nHGNC:792\nHGNC:20092\nHGNC:20397\nHGNC:29028\nHGNC:20187\nHGNC:20962\nHGNC:16489\nHGNC:20790\nHGNC:16040\nHGNC:20789\nHGNC:589\nHGNC:16935\nHGNC:22408\nHGNC:21899\nHGNC:20315\nHGNC:588\nHGNC:29091\nHGNC:19962\nHGNC:21498\nHGNC:25464\nHGNC:25679\nHGNC:794\nHGNC:11231\nHGNC:24047\nHGNC:24526\nHGNC:795\nHGNC:29034\nHGNC:3033\nHGNC:797\nHGNC:13907\nHGNC:24126\nHGNC:798\nHGNC:799\nHGNC:800\nHGNC:801\nHGNC:14073\nHGNC:804\nHGNC:805\nHGNC:806\nHGNC:808\nHGNC:811\nHGNC:812\nHGNC:813\nHGNC:814\nHGNC:815\nHGNC:816\nHGNC:817\nHGNC:13211\nHGNC:29103\nHGNC:819\nHGNC:820\nHGNC:823\nHGNC:830\nHGNC:833\nHGNC:837\nHGNC:838\nHGNC:871\nHGNC:841\nHGNC:842\nHGNC:843\nHGNC:30889\nHGNC:846\nHGNC:848\nHGNC:14247\nHGNC:13213\nHGNC:1188\nHGNC:840\nHGNC:845\nHGNC:847\nHGNC:850\nHGNC:868\nHGNC:28091\nHGNC:18305\nHGNC:851\nHGNC:853\nHGNC:854\nHGNC:856\nHGNC:18264\nHGNC:13527\nHGNC:857\nHGNC:18125\nHGNC:16832\nHGNC:52392\nHGNC:864\nHGNC:862\nHGNC:18265\nHGNC:18303\nHGNC:865\nHGNC:18481\nHGNC:866\nHGNC:861\nHGNC:855\nHGNC:13724\nHGNC:18266\nHGNC:863\nHGNC:21723\nHGNC:869\nHGNC:870\nHGNC:13531\nHGNC:13533\nHGNC:3706\nHGNC:13534\nHGNC:13535\nHGNC:13536\nHGNC:13540\nHGNC:13541\nHGNC:13542\nHGNC:13543\nHGNC:13549\nHGNC:13552\nHGNC:13553\nHGNC:13554\nHGNC:13816\nHGNC:24215\nHGNC:30213\nHGNC:24113\nHGNC:25422\nHGNC:31789\nHGNC:29452\nHGNC:18803\nHGNC:18802\nHGNC:27029\nHGNC:882\nHGNC:24090\nHGNC:33499\nHGNC:885\nHGNC:29063\nHGNC:886\nHGNC:10548\nHGNC:33279\nHGNC:10555\nHGNC:31326\nHGNC:7106\nHGNC:24173\nHGNC:10560\nHGNC:22210\nHGNC:28713\nHGNC:25416\nHGNC:37931\nHGNC:32925\nHGNC:10549\nHGNC:890\nHGNC:28363\nHGNC:891\nHGNC:11393\nHGNC:24114\nHGNC:11390\nHGNC:11391\nHGNC:14262\nHGNC:13509\nHGNC:14188\nHGNC:28994\nHGNC:894\nHGNC:30898\nHGNC:895\nHGNC:896\nHGNC:897\nHGNC:23252\nHGNC:23251\nHGNC:26564\nHGNC:903\nHGNC:904\nHGNC:905\nHGNC:910\nHGNC:24002\nHGNC:16432\nHGNC:29957\nHGNC:913\nHGNC:914\nHGNC:918\nHGNC:28596\nHGNC:916\nHGNC:917\nHGNC:919\nHGNC:920\nHGNC:17978\nHGNC:921\nHGNC:922\nHGNC:923\nHGNC:20207\nHGNC:15629\nHGNC:13528\nHGNC:15683\nHGNC:15684\nHGNC:24141\nHGNC:18811\nHGNC:24139\nHGNC:28714\nHGNC:21727\nHGNC:4117\nHGNC:24136\nHGNC:24137\nHGNC:26315\nHGNC:924\nHGNC:925\nHGNC:926\nHGNC:927\nHGNC:928\nHGNC:929\nHGNC:930\nHGNC:15685\nHGNC:24123\nHGNC:28636\nHGNC:14333\nHGNC:932\nHGNC:25008\nHGNC:1106\nHGNC:933\nHGNC:934\nHGNC:935\nHGNC:14078\nHGNC:936\nHGNC:937\nHGNC:938\nHGNC:939\nHGNC:940\nHGNC:941\nHGNC:13919\nHGNC:942\nHGNC:15728\nHGNC:15730\nHGNC:15732\nHGNC:29279\nHGNC:29153\nHGNC:947\nHGNC:21649\nHGNC:26203\nHGNC:948\nHGNC:949\nHGNC:30251\nHGNC:17397\nHGNC:16172\nHGNC:18233\nHGNC:13450\nHGNC:950\nHGNC:952\nHGNC:953\nHGNC:954\nHGNC:955\nHGNC:956\nHGNC:957\nHGNC:958\nHGNC:25163\nHGNC:28915\nHGNC:959\nHGNC:960\nHGNC:961\nHGNC:962\nHGNC:963\nHGNC:17868\nHGNC:28093\nHGNC:19855\nHGNC:964\nHGNC:966\nHGNC:967\nHGNC:969\nHGNC:970\nHGNC:18758\nHGNC:30000\nHGNC:26291\nHGNC:26648\nHGNC:14422\nHGNC:6722\nHGNC:23059\nHGNC:24131\nHGNC:16695\nHGNC:971\nHGNC:973\nHGNC:974\nHGNC:975\nHGNC:14347\nHGNC:14367\nHGNC:976\nHGNC:977\nHGNC:978\nHGNC:27050\nHGNC:983\nHGNC:986\nHGNC:987\nHGNC:16902\nHGNC:990\nHGNC:991\nHGNC:992\nHGNC:995\nHGNC:993\nHGNC:994\nHGNC:13787\nHGNC:17164\nHGNC:16657\nHGNC:33624\nHGNC:998\nHGNC:1001\nHGNC:1002\nHGNC:1004\nHGNC:1005\nHGNC:1006\nHGNC:1008\nHGNC:23688\nHGNC:989\nHGNC:13221\nHGNC:13222\nHGNC:16863\nHGNC:27413\nHGNC:13815\nHGNC:18503\nHGNC:20893\nHGNC:25657\nHGNC:1014\nHGNC:1020\nHGNC:1027\nHGNC:32389\nHGNC:1029\nHGNC:1030\nHGNC:1033\nHGNC:13652\nHGNC:24160\nHGNC:1034\nHGNC:38606\nHGNC:24163\nHGNC:28509\nHGNC:23040\nHGNC:23815\nHGNC:25668\nHGNC:20871\nHGNC:23514\nHGNC:12703\nHGNC:17107\nHGNC:17105\nHGNC:17106\nHGNC:14562\nHGNC:19348\nHGNC:1036\nHGNC:30933\nHGNC:13388\nHGNC:25475\nHGNC:27990\nHGNC:17613\nHGNC:1040\nHGNC:1041\nHGNC:1043\nHGNC:1044\nHGNC:35126\nHGNC:22265\nHGNC:29353\nHGNC:11963\nHGNC:16093\nHGNC:1046\nHGNC:16617\nHGNC:44318\nHGNC:1047\nHGNC:1048\nHGNC:19351\nHGNC:1049\nHGNC:17208\nHGNC:28095\nHGNC:33584\nHGNC:4332\nHGNC:21111\nHGNC:1050\nHGNC:1051\nHGNC:1052\nHGNC:1053\nHGNC:1054\nHGNC:590\nHGNC:591\nHGNC:593\nHGNC:13516\nHGNC:13702\nHGNC:14878\nHGNC:16034\nHGNC:1055\nHGNC:33495\nHGNC:1057\nHGNC:1058\nHGNC:1059\nHGNC:14211\nHGNC:4200\nHGNC:20984\nHGNC:20914\nHGNC:24206\nHGNC:18561\nHGNC:8549\nHGNC:1062\nHGNC:1063\nHGNC:1065\nHGNC:19213\nHGNC:24132\nHGNC:1066\nHGNC:1067\nHGNC:1069\nHGNC:18041\nHGNC:1070\nHGNC:1071\nHGNC:1072\nHGNC:1073\nHGNC:1074\nHGNC:21650\nHGNC:1075\nHGNC:20869\nHGNC:1068\nHGNC:24154\nHGNC:1076\nHGNC:1077\nHGNC:1078\nHGNC:23505\nHGNC:26475\nHGNC:1079\nHGNC:1081\nHGNC:30988\nHGNC:1082\nHGNC:1083\nHGNC:1084\nHGNC:1085\nHGNC:33769\nHGNC:16976\nHGNC:17173\nHGNC:25114\nHGNC:31792\nHGNC:28505\nHGNC:1087\nHGNC:24263\nHGNC:29488\nHGNC:32479\nHGNC:24415\nHGNC:14273\nHGNC:15519\nHGNC:24724\nHGNC:17950\nHGNC:25939\nHGNC:23516\nHGNC:37247\nHGNC:1093\nHGNC:1094\nHGNC:1095\nHGNC:15749\nHGNC:16203\nHGNC:16204\nHGNC:16108\nHGNC:16177\nHGNC:16178\nHGNC:16179\nHGNC:16504\nHGNC:16503\nHGNC:1096\nHGNC:3581\nHGNC:13508\nHGNC:25449\nHGNC:18225\nHGNC:1097\nHGNC:1099\nHGNC:21701\nHGNC:1100\nHGNC:1101\nHGNC:24185\nHGNC:1102\nHGNC:1103\nHGNC:1104\nHGNC:24742\nHGNC:13575\nHGNC:14310\nHGNC:19874\nHGNC:25818\nHGNC:1105\nHGNC:11551\nHGNC:17298\nHGNC:1109\nHGNC:14251\nHGNC:28309\nHGNC:2687\nHGNC:13746\nHGNC:22393\nHGNC:20473\nHGNC:24170\nHGNC:23057\nHGNC:17262\nHGNC:20512\nHGNC:26512\nHGNC:14255\nHGNC:14256\nHGNC:1113\nHGNC:18994\nHGNC:11405\nHGNC:12760\nHGNC:17342\nHGNC:15832\nHGNC:25501\nHGNC:1116\nHGNC:1117\nHGNC:16512\nHGNC:33906\nHGNC:18232\nHGNC:1118\nHGNC:1119\nHGNC:20450\nHGNC:17307\nHGNC:1120\nHGNC:15504\nHGNC:15854\nHGNC:19897\nHGNC:18269\nHGNC:21019\nHGNC:21228\nHGNC:21445\nHGNC:23844\nHGNC:26340\nHGNC:33758\nHGNC:37214\nHGNC:27145\nHGNC:1121\nHGNC:1122\nHGNC:1125\nHGNC:30547\nHGNC:1130\nHGNC:1131\nHGNC:1132\nHGNC:13862\nHGNC:1133\nHGNC:21087\nHGNC:1135\nHGNC:1136\nHGNC:1137\nHGNC:1138\nHGNC:1139\nHGNC:1140\nHGNC:1142\nHGNC:1143\nHGNC:26131\nHGNC:24176\nHGNC:1144\nHGNC:1148\nHGNC:1149\nHGNC:1151\nHGNC:28199\nHGNC:16405\nHGNC:29629\nHGNC:1152\nHGNC:1157\nHGNC:18380\nHGNC:18808\nHGNC:29911\nHGNC:24337\nHGNC:24338\nHGNC:51617\nHGNC:15494\nHGNC:19032\nHGNC:29876\nHGNC:28795\nHGNC:24871\nHGNC:30003\nHGNC:26258\nHGNC:26045\nHGNC:30780\nHGNC:29468\nHGNC:26319\nHGNC:28547\nHGNC:28250\nHGNC:30435\nHGNC:29591\nHGNC:26039\nHGNC:25565\nHGNC:25873\nHGNC:28667\nHGNC:24789\nHGNC:26730\nHGNC:25332\nHGNC:32044\nHGNC:24032\nHGNC:28567\nHGNC:26062\nHGNC:28344\nHGNC:25262\nHGNC:27915\nHGNC:28096\nHGNC:32305\nHGNC:32331\nHGNC:25900\nHGNC:28755\nHGNC:26800\nHGNC:34351\nHGNC:53426\nHGNC:1241\nHGNC:1242\nHGNC:1243\nHGNC:1245\nHGNC:24182\nHGNC:24181\nHGNC:19359\nHGNC:31416\nHGNC:14324\nHGNC:14325\nHGNC:14326\nHGNC:14346\nHGNC:14344\nHGNC:14343\nHGNC:14342\nHGNC:31374\nHGNC:28732\nHGNC:34072\nHGNC:32308\nHGNC:1246\nHGNC:21265\nHGNC:1247\nHGNC:1248\nHGNC:1266\nHGNC:29000\nHGNC:24564\nHGNC:33627\nHGNC:33628\nHGNC:29417\nHGNC:37210\nHGNC:29062\nHGNC:14438\nHGNC:28436\nHGNC:25275\nHGNC:26056\nHGNC:28772\nHGNC:26324\nHGNC:33809\nHGNC:34353\nHGNC:26799\nHGNC:27418\nHGNC:26861\nHGNC:34439\nHGNC:27017\nHGNC:34349\nHGNC:34352\nHGNC:34350\nHGNC:25344\nHGNC:28191\nHGNC:49272\nHGNC:1318\nHGNC:1319\nHGNC:25024\nHGNC:24837\nHGNC:25320\nHGNC:28534\nHGNC:26434\nHGNC:24082\nHGNC:28384\nHGNC:25190\nHGNC:26255\nHGNC:32481\nHGNC:24771\nHGNC:24763\nHGNC:33731\nHGNC:40048\nHGNC:44666\nHGNC:53432\nHGNC:1323\nHGNC:1324\nHGNC:42398\nHGNC:1325\nHGNC:1328\nHGNC:19225\nHGNC:25274\nHGNC:25618\nHGNC:27025\nHGNC:28386\nHGNC:26342\nHGNC:27320\nHGNC:34346\nHGNC:34437\nHGNC:33766\nHGNC:37264\nHGNC:27741\nHGNC:1331\nHGNC:1338\nHGNC:4527\nHGNC:20656\nHGNC:25639\nHGNC:26746\nHGNC:24738\nHGNC:24226\nHGNC:33768\nHGNC:27026\nHGNC:27028\nHGNC:27750\nHGNC:35121\nHGNC:37272\nHGNC:27753\nHGNC:40051\nHGNC:1339\nHGNC:13927\nHGNC:19076\nHGNC:20881\nHGNC:20960\nHGNC:20998\nHGNC:21114\nHGNC:21233\nHGNC:21247\nHGNC:21288\nHGNC:21301\nHGNC:21351\nHGNC:21403\nHGNC:21620\nHGNC:28692\nHGNC:34431\nHGNC:1346\nHGNC:21703\nHGNC:21702\nHGNC:21722\nHGNC:21724\nHGNC:22421\nHGNC:22247\nHGNC:22135\nHGNC:51256\nHGNC:1352\nHGNC:1353\nHGNC:1354\nHGNC:26104\nHGNC:30905\nHGNC:27232\nHGNC:26345\nHGNC:32233\nHGNC:32296\nHGNC:25924\nHGNC:33826\nHGNC:33774\nHGNC:44672\nHGNC:51258\nHGNC:1358\nHGNC:17823\nHGNC:19919\nHGNC:23433\nHGNC:23570\nHGNC:23669\nHGNC:23677\nHGNC:27037\nHGNC:28144\nHGNC:28337\nHGNC:24932\nHGNC:28784\nHGNC:19054\nHGNC:28435\nHGNC:31116\nHGNC:31418\nHGNC:31422\nHGNC:31455\nHGNC:31456\nHGNC:27421\nHGNC:23294\nHGNC:28716\nHGNC:26973\nHGNC:28500\nHGNC:25822\nHGNC:26563\nHGNC:25880\nHGNC:31428\nHGNC:20304\nHGNC:31447\nHGNC:25707\nHGNC:28693\nHGNC:51236\nHGNC:48677\nHGNC:1163\nHGNC:1169\nHGNC:13231\nHGNC:1174\nHGNC:28541\nHGNC:28584\nHGNC:28720\nHGNC:30531\nHGNC:30527\nHGNC:30204\nHGNC:16990\nHGNC:28519\nHGNC:28801\nHGNC:25937\nHGNC:25142\nHGNC:26197\nHGNC:34442\nHGNC:33788\nHGNC:25061\nHGNC:34444\nHGNC:37213\nHGNC:28449\nHGNC:38675\nHGNC:49544\nHGNC:51238\nHGNC:1184\nHGNC:17590\nHGNC:25322\nHGNC:26846\nHGNC:24729\nHGNC:25719\nHGNC:28628\nHGNC:26128\nHGNC:26665\nHGNC:28553\nHGNC:26967\nHGNC:29521\nHGNC:28726\nHGNC:26784\nHGNC:26517\nHGNC:34452\nHGNC:34450\nHGNC:27887\nHGNC:35164\nHGNC:33790\nHGNC:42693\nHGNC:53786\nHGNC:19834\nHGNC:19849\nHGNC:20162\nHGNC:20270\nHGNC:20346\nHGNC:26385\nHGNC:33795\nHGNC:24497\nHGNC:28443\nHGNC:26929\nHGNC:29898\nHGNC:34453\nHGNC:34489\nHGNC:44654\nHGNC:26525\nHGNC:26649\nHGNC:25848\nHGNC:29564\nHGNC:25081\nHGNC:30103\nHGNC:23362\nHGNC:28479\nHGNC:30755\nHGNC:33755\nHGNC:33754\nHGNC:28687\nHGNC:34455\nHGNC:27558\nHGNC:26346\nHGNC:40033\nHGNC:40031\nHGNC:28737\nHGNC:29581\nHGNC:27568\nHGNC:26990\nHGNC:27900\nHGNC:30173\nHGNC:26831\nHGNC:29601\nHGNC:33800\nHGNC:34492\nHGNC:34490\nHGNC:34494\nHGNC:37238\nHGNC:53437\nHGNC:28802\nHGNC:28172\nHGNC:31690\nHGNC:13796\nHGNC:40037\nHGNC:25443\nHGNC:28642\nHGNC:26711\nHGNC:16668\nHGNC:34073\nHGNC:26141\nHGNC:26723\nHGNC:29667\nHGNC:24991\nHGNC:24758\nHGNC:28153\nHGNC:34354\nHGNC:34496\nHGNC:25534\nHGNC:40041\nHGNC:27112\nHGNC:53653\nHGNC:15873\nHGNC:16216\nHGNC:16227\nHGNC:16134\nHGNC:16137\nHGNC:16166\nHGNC:17721\nHGNC:37254\nHGNC:26592\nHGNC:27655\nHGNC:1300\nHGNC:1305\nHGNC:16459\nHGNC:15558\nHGNC:18589\nHGNC:26931\nHGNC:27012\nHGNC:27160\nHGNC:1368\nHGNC:1373\nHGNC:1374\nHGNC:1375\nHGNC:1377\nHGNC:1378\nHGNC:1380\nHGNC:1381\nHGNC:1382\nHGNC:1383\nHGNC:1369\nHGNC:1370\nHGNC:1371\nHGNC:14914\nHGNC:1372\nHGNC:25834\nHGNC:20292\nHGNC:20290\nHGNC:28678\nHGNC:24187\nHGNC:25097\nHGNC:16143\nHGNC:1384\nHGNC:1385\nHGNC:1386\nHGNC:13714\nHGNC:20834\nHGNC:30710\nHGNC:15569\nHGNC:1365\nHGNC:29314\nHGNC:1388\nHGNC:1389\nHGNC:1390\nHGNC:1391\nHGNC:1392\nHGNC:1393\nHGNC:1394\nHGNC:1395\nHGNC:1396\nHGNC:1397\nHGNC:1399\nHGNC:1400\nHGNC:15460\nHGNC:20202\nHGNC:1401\nHGNC:1402\nHGNC:1403\nHGNC:1404\nHGNC:1405\nHGNC:1406\nHGNC:1407\nHGNC:1408\nHGNC:1409\nHGNC:13625\nHGNC:13626\nHGNC:13628\nHGNC:29938\nHGNC:23727\nHGNC:30423\nHGNC:1424\nHGNC:5951\nHGNC:29849\nHGNC:17601\nHGNC:30825\nHGNC:1426\nHGNC:16018\nHGNC:21622\nHGNC:1434\nHGNC:1435\nHGNC:1437\nHGNC:1438\nHGNC:29306\nHGNC:29912\nHGNC:1440\nHGNC:16709\nHGNC:1441\nHGNC:23494\nHGNC:23493\nHGNC:23458\nHGNC:21094\nHGNC:21568\nHGNC:33391\nHGNC:1442\nHGNC:1445\nHGNC:1449\nHGNC:1452\nHGNC:18445\nHGNC:18180\nHGNC:24193\nHGNC:13248\nHGNC:1455\nHGNC:20407\nHGNC:1458\nHGNC:17938\nHGNC:1459\nHGNC:19341\nHGNC:14585\nHGNC:1460\nHGNC:1461\nHGNC:1462\nHGNC:1463\nHGNC:24190\nHGNC:24197\nHGNC:1464\nHGNC:1469\nHGNC:1470\nHGNC:26276\nHGNC:28788\nHGNC:1471\nHGNC:1472\nHGNC:19946\nHGNC:29188\nHGNC:29307\nHGNC:18806\nHGNC:18807\nHGNC:30688\nHGNC:30689\nHGNC:19721\nHGNC:1473\nHGNC:20040\nHGNC:20039\nHGNC:1474\nHGNC:1476\nHGNC:1479\nHGNC:1480\nHGNC:1482\nHGNC:1483\nHGNC:1484\nHGNC:1485\nHGNC:1486\nHGNC:1477\nHGNC:1478\nHGNC:13249\nHGNC:16663\nHGNC:16664\nHGNC:11182\nHGNC:1481\nHGNC:16371\nHGNC:6743\nHGNC:21259\nHGNC:1487\nHGNC:16471\nHGNC:28375\nHGNC:1488\nHGNC:1490\nHGNC:24205\nHGNC:1491\nHGNC:16394\nHGNC:17057\nHGNC:16391\nHGNC:16422\nHGNC:16393\nHGNC:16446\nHGNC:33701\nHGNC:33827\nHGNC:28861\nHGNC:28148\nHGNC:14435\nHGNC:17150\nHGNC:23393\nHGNC:21581\nHGNC:27089\nHGNC:20272\nHGNC:23435\nHGNC:29268\nHGNC:1493\nHGNC:25695\nHGNC:24323\nHGNC:29599\nHGNC:17040\nHGNC:24892\nHGNC:16014\nHGNC:1497\nHGNC:20879\nHGNC:18200\nHGNC:1499\nHGNC:1503\nHGNC:1504\nHGNC:1505\nHGNC:1506\nHGNC:1507\nHGNC:1508\nHGNC:1509\nHGNC:1510\nHGNC:1511\nHGNC:1500\nHGNC:19004\nHGNC:1502\nHGNC:1512\nHGNC:1513\nHGNC:1514\nHGNC:15878\nHGNC:1515\nHGNC:34423\nHGNC:37073\nHGNC:29954\nHGNC:26002\nHGNC:1516\nHGNC:25062\nHGNC:17116\nHGNC:18810\nHGNC:20819\nHGNC:23220\nHGNC:20500\nHGNC:28598\nHGNC:28491\nHGNC:25243\nHGNC:19231\nHGNC:1527\nHGNC:1528\nHGNC:1529\nHGNC:9688\nHGNC:10690\nHGNC:9400\nHGNC:33742\nHGNC:28617\nHGNC:1536\nHGNC:1537\nHGNC:1539\nHGNC:1541\nHGNC:1542\nHGNC:15961\nHGNC:4268\nHGNC:21225\nHGNC:26371\nHGNC:1543\nHGNC:1544\nHGNC:20146\nHGNC:16231\nHGNC:1548\nHGNC:1549\nHGNC:25891\nHGNC:1550\nHGNC:51829\nHGNC:17134\nHGNC:17907\nHGNC:18519\nHGNC:24584\nHGNC:31978\nHGNC:1551\nHGNC:1552\nHGNC:1553\nHGNC:1554\nHGNC:1555\nHGNC:1556\nHGNC:1557\nHGNC:15962\nHGNC:1307\nHGNC:30720\nHGNC:33278\nHGNC:30237\nHGNC:29386\nHGNC:29253\nHGNC:31666\nHGNC:24236\nHGNC:23360\nHGNC:29426\nHGNC:23813\nHGNC:18782\nHGNC:26533\nHGNC:25367\nHGNC:24560\nHGNC:33488\nHGNC:28332\nHGNC:26358\nHGNC:25766\nHGNC:25798\nHGNC:26574\nHGNC:30370\nHGNC:28909\nHGNC:28688\nHGNC:25591\nHGNC:26546\nHGNC:21098\nHGNC:51715\nHGNC:28163\nHGNC:26103\nHGNC:28295\nHGNC:26552\nHGNC:25079\nHGNC:27945\nHGNC:26843\nHGNC:25244\nHGNC:26090\nHGNC:26528\nHGNC:26472\nHGNC:24856\nHGNC:18111\nHGNC:25714\nHGNC:30703\nHGNC:27564\nHGNC:31136\nHGNC:25005\nHGNC:28610\nHGNC:33629\nHGNC:30723\nHGNC:26669\nHGNC:29937\nHGNC:27709\nHGNC:24350\nHGNC:24487\nHGNC:25303\nHGNC:25760\nHGNC:26685\nHGNC:23261\nHGNC:25197\nHGNC:25267\nHGNC:28203\nHGNC:14153\nHGNC:30649\nHGNC:26281\nHGNC:26282\nHGNC:28535\nHGNC:30460\nHGNC:29400\nHGNC:24926\nHGNC:35459\nHGNC:28359\nHGNC:25579\nHGNC:25523\nHGNC:26757\nHGNC:19967\nHGNC:26762\nHGNC:28108\nHGNC:24855\nHGNC:29563\nHGNC:25611\nHGNC:26900\nHGNC:28289\nHGNC:28097\nHGNC:26295\nHGNC:32700\nHGNC:26866\nHGNC:30181\nHGNC:28465\nHGNC:28504\nHGNC:28599\nHGNC:25002\nHGNC:26560\nHGNC:28178\nHGNC:26688\nHGNC:26599\nHGNC:28910\nHGNC:25833\nHGNC:26478\nHGNC:25171\nHGNC:28924\nHGNC:22398\nHGNC:30520\nHGNC:28118\nHGNC:26185\nHGNC:22225\nHGNC:33451\nHGNC:26531\nHGNC:26821\nHGNC:25889\nHGNC:29072\nHGNC:29296\nHGNC:25191\nHGNC:25405\nHGNC:26834\nHGNC:28303\nHGNC:34438\nHGNC:27446\nHGNC:34454\nHGNC:26520\nHGNC:33854\nHGNC:26374\nHGNC:26996\nHGNC:37286\nHGNC:27003\nHGNC:41910\nHGNC:21239\nHGNC:26851\nHGNC:34361\nHGNC:21177\nHGNC:29828\nHGNC:30524\nHGNC:25064\nHGNC:28033\nHGNC:19847\nHGNC:23243\nHGNC:29588\nHGNC:44653\nHGNC:29303\nHGNC:28051\nHGNC:49392\nHGNC:28236\nHGNC:33749\nHGNC:26654\nHGNC:24349\nHGNC:30942\nHGNC:51899\nHGNC:28078\nHGNC:28736\nHGNC:29272\nHGNC:49566\nHGNC:53438\nHGNC:53441\nHGNC:20100\nHGNC:19860\nHGNC:20189\nHGNC:43658\nHGNC:54081\nHGNC:28373\nHGNC:44662\nHGNC:13930\nHGNC:1568\nHGNC:1569\nHGNC:1570\nHGNC:1571\nHGNC:10609\nHGNC:10618\nHGNC:10627\nHGNC:10628\nHGNC:30554\nHGNC:10630\nHGNC:10631\nHGNC:24066\nHGNC:10632\nHGNC:10634\nHGNC:10635\nHGNC:10610\nHGNC:10611\nHGNC:10612\nHGNC:10613\nHGNC:10614\nHGNC:10615\nHGNC:10616\nHGNC:10617\nHGNC:10619\nHGNC:10620\nHGNC:10621\nHGNC:10622\nHGNC:10623\nHGNC:10624\nHGNC:10625\nHGNC:10626\nHGNC:17700\nHGNC:21708\nHGNC:16153\nHGNC:2654\nHGNC:2500\nHGNC:7885\nHGNC:12769\nHGNC:12770\nHGNC:12771\nHGNC:1577\nHGNC:1578\nHGNC:1579\nHGNC:19437\nHGNC:1580\nHGNC:18709\nHGNC:1581\nHGNC:1582\nHGNC:1583\nHGNC:1585\nHGNC:1587\nHGNC:1589\nHGNC:1590\nHGNC:1591\nHGNC:1592\nHGNC:1593\nHGNC:1594\nHGNC:1595\nHGNC:33869\nHGNC:23434\nHGNC:25876\nHGNC:1596\nHGNC:20569\nHGNC:20570\nHGNC:18576\nHGNC:28434\nHGNC:1599\nHGNC:1600\nHGNC:23354\nHGNC:26868\nHGNC:24342\nHGNC:24227\nHGNC:1602\nHGNC:1603\nHGNC:1604\nHGNC:1605\nHGNC:1606\nHGNC:1607\nHGNC:1608\nHGNC:1609\nHGNC:1610\nHGNC:4474\nHGNC:1612\nHGNC:1613\nHGNC:29578\nHGNC:29349\nHGNC:29197\nHGNC:1615\nHGNC:1616\nHGNC:1617\nHGNC:1618\nHGNC:1620\nHGNC:1621\nHGNC:1622\nHGNC:1623\nHGNC:15553\nHGNC:21691\nHGNC:21717\nHGNC:1634\nHGNC:1635\nHGNC:1636\nHGNC:1637\nHGNC:1638\nHGNC:1639\nHGNC:14258\nHGNC:1656\nHGNC:1673\nHGNC:1674\nHGNC:24219\nHGNC:1675\nHGNC:1678\nHGNC:1685\nHGNC:1690\nHGNC:1691\nHGNC:1695\nHGNC:1706\nHGNC:1707\nHGNC:1708\nHGNC:1709\nHGNC:1628\nHGNC:1633\nHGNC:1643\nHGNC:1645\nHGNC:11922\nHGNC:1653\nHGNC:1659\nHGNC:1662\nHGNC:1663\nHGNC:1666\nHGNC:1667\nHGNC:11919\nHGNC:11935\nHGNC:1681\nHGNC:6953\nHGNC:1682\nHGNC:1683\nHGNC:1804\nHGNC:1686\nHGNC:2665\nHGNC:1688\nHGNC:1689\nHGNC:1692\nHGNC:1693\nHGNC:1694\nHGNC:11937\nHGNC:1696\nHGNC:1697\nHGNC:1698\nHGNC:1699\nHGNC:1700\nHGNC:1701\nHGNC:6210\nHGNC:1703\nHGNC:1704\nHGNC:1705\nHGNC:15855\nHGNC:16892\nHGNC:7082\nHGNC:18237\nHGNC:5949\nHGNC:21685\nHGNC:1630\nHGNC:17013\nHGNC:1631\nHGNC:30375\nHGNC:1632\nHGNC:32043\nHGNC:30072\nHGNC:6726\nHGNC:7203\nHGNC:24235\nHGNC:24665\nHGNC:17935\nHGNC:1641\nHGNC:16961\nHGNC:18171\nHGNC:1677\nHGNC:18219\nHGNC:17635\nHGNC:19137\nHGNC:19319\nHGNC:19320\nHGNC:28874\nHGNC:52292\nHGNC:30811\nHGNC:16848\nHGNC:29883\nHGNC:30455\nHGNC:30843\nHGNC:16692\nHGNC:1712\nHGNC:20299\nHGNC:1713\nHGNC:1743\nHGNC:1744\nHGNC:1745\nHGNC:1718\nHGNC:1719\nHGNC:22427\nHGNC:1720\nHGNC:1723\nHGNC:24222\nHGNC:1724\nHGNC:1725\nHGNC:1726\nHGNC:1727\nHGNC:17839\nHGNC:1728\nHGNC:1734\nHGNC:1735\nHGNC:17179\nHGNC:17350\nHGNC:1736\nHGNC:1737\nHGNC:1738\nHGNC:29829\nHGNC:17014\nHGNC:16263\nHGNC:16943\nHGNC:17147\nHGNC:17408\nHGNC:17719\nHGNC:18547\nHGNC:1739\nHGNC:16783\nHGNC:16827\nHGNC:14623\nHGNC:14624\nHGNC:14625\nHGNC:14626\nHGNC:14628\nHGNC:30777\nHGNC:14629\nHGNC:24357\nHGNC:27297\nHGNC:1748\nHGNC:1759\nHGNC:1762\nHGNC:1763\nHGNC:1764\nHGNC:1765\nHGNC:1766\nHGNC:1767\nHGNC:1768\nHGNC:1749\nHGNC:1750\nHGNC:1751\nHGNC:1753\nHGNC:1754\nHGNC:1755\nHGNC:1756\nHGNC:1757\nHGNC:1758\nHGNC:1760\nHGNC:13251\nHGNC:13733\nHGNC:14265\nHGNC:15902\nHGNC:14550\nHGNC:18231\nHGNC:26308\nHGNC:34527\nHGNC:7521\nHGNC:13234\nHGNC:1769\nHGNC:1722\nHGNC:1771\nHGNC:14002\nHGNC:30833\nHGNC:1772\nHGNC:1773\nHGNC:1774\nHGNC:1775\nHGNC:1776\nHGNC:15880\nHGNC:18672\nHGNC:18673\nHGNC:1777\nHGNC:1778\nHGNC:1779\nHGNC:1780\nHGNC:1770\nHGNC:1730\nHGNC:1729\nHGNC:24224\nHGNC:1733\nHGNC:8883\nHGNC:14434\nHGNC:8749\nHGNC:8750\nHGNC:8751\nHGNC:19338\nHGNC:21420\nHGNC:21050\nHGNC:1781\nHGNC:1782\nHGNC:15483\nHGNC:19287\nHGNC:11411\nHGNC:1784\nHGNC:1785\nHGNC:1786\nHGNC:1787\nHGNC:24325\nHGNC:30545\nHGNC:1788\nHGNC:1789\nHGNC:1790\nHGNC:1791\nHGNC:24913\nHGNC:1795\nHGNC:17104\nHGNC:33710\nHGNC:1798\nHGNC:1799\nHGNC:29999\nHGNC:14379\nHGNC:14383\nHGNC:14395\nHGNC:34075\nHGNC:1800\nHGNC:1801\nHGNC:1802\nHGNC:24576\nHGNC:26928\nHGNC:1805\nHGNC:1806\nHGNC:1808\nHGNC:1809\nHGNC:23920\nHGNC:1810\nHGNC:23921\nHGNC:1811\nHGNC:23030\nHGNC:1814\nHGNC:1815\nHGNC:1816\nHGNC:1817\nHGNC:1818\nHGNC:1819\nHGNC:1820\nHGNC:31948\nHGNC:31949\nHGNC:31951\nHGNC:24879\nHGNC:28834\nHGNC:1833\nHGNC:1834\nHGNC:1835\nHGNC:1836\nHGNC:1837\nHGNC:24218\nHGNC:49288\nHGNC:1840\nHGNC:1848\nHGNC:3308\nHGNC:24609\nHGNC:29995\nHGNC:15944\nHGNC:15945\nHGNC:2549\nHGNC:2550\nHGNC:11967\nHGNC:14015\nHGNC:14058\nHGNC:14059\nHGNC:1850\nHGNC:3231\nHGNC:3230\nHGNC:29213\nHGNC:11869\nHGNC:32553\nHGNC:24153\nHGNC:1851\nHGNC:1852\nHGNC:28272\nHGNC:1854\nHGNC:1856\nHGNC:1857\nHGNC:17268\nHGNC:3968\nHGNC:17272\nHGNC:29479\nHGNC:17879\nHGNC:18352\nHGNC:30873\nHGNC:28152\nHGNC:32933\nHGNC:21347\nHGNC:23163\nHGNC:25787\nHGNC:21348\nHGNC:29920\nHGNC:31851\nHGNC:43879\nHGNC:43880\nHGNC:21488\nHGNC:11422\nHGNC:28209\nHGNC:12370\nHGNC:29356\nHGNC:1161\nHGNC:30794\nHGNC:21561\nHGNC:25815\nHGNC:29076\nHGNC:29972\nHGNC:25547\nHGNC:25727\nHGNC:25740\nHGNC:17966\nHGNC:25309\nHGNC:21638\nHGNC:25907\nHGNC:25141\nHGNC:26244\nHGNC:24866\nHGNC:28514\nHGNC:26690\nHGNC:29264\nHGNC:20359\nHGNC:29511\nHGNC:29086\nHGNC:29298\nHGNC:21107\nHGNC:29182\nHGNC:28920\nHGNC:20362\nHGNC:25515\nHGNC:1859\nHGNC:29021\nHGNC:29366\nHGNC:44659\nHGNC:24238\nHGNC:24289\nHGNC:1862\nHGNC:23723\nHGNC:19256\nHGNC:21699\nHGNC:14253\nHGNC:14076\nHGNC:23752\nHGNC:23747\nHGNC:23749\nHGNC:23826\nHGNC:2205\nHGNC:1863\nHGNC:1864\nHGNC:1865\nHGNC:26741\nHGNC:26459\nHGNC:1866\nHGNC:1867\nHGNC:1868\nHGNC:1869\nHGNC:29523\nHGNC:30540\nHGNC:26684\nHGNC:25631\nHGNC:17229\nHGNC:25247\nHGNC:26708\nHGNC:16053\nHGNC:26530\nHGNC:26456\nHGNC:26485\nHGNC:26676\nHGNC:15872\nHGNC:25325\nHGNC:26107\nHGNC:30726\nHGNC:37100\nHGNC:29368\nHGNC:33776\nHGNC:29276\nHGNC:37241\nHGNC:53789\nHGNC:51180\nHGNC:26842\nHGNC:32325\nHGNC:27843\nHGNC:26782\nHGNC:21405\nHGNC:33720\nHGNC:1301\nHGNC:28554\nHGNC:28188\nHGNC:1260\nHGNC:1037\nHGNC:18292\nHGNC:33983\nHGNC:2771\nHGNC:1873\nHGNC:4883\nHGNC:4888\nHGNC:4890\nHGNC:16980\nHGNC:16979\nHGNC:24668\nHGNC:5394\nHGNC:1874\nHGNC:1875\nHGNC:1876\nHGNC:8864\nHGNC:1884\nHGNC:1885\nHGNC:21367\nHGNC:16721\nHGNC:16722\nHGNC:1886\nHGNC:16452\nHGNC:16451\nHGNC:16453\nHGNC:1888\nHGNC:17429\nHGNC:25931\nHGNC:16962\nHGNC:15528\nHGNC:1907\nHGNC:28680\nHGNC:32363\nHGNC:1909\nHGNC:25165\nHGNC:1910\nHGNC:1911\nHGNC:20311\nHGNC:1912\nHGNC:23518\nHGNC:21645\nHGNC:21906\nHGNC:26467\nHGNC:17840\nHGNC:28184\nHGNC:28314\nHGNC:15559\nHGNC:1915\nHGNC:1916\nHGNC:1917\nHGNC:1918\nHGNC:1919\nHGNC:16816\nHGNC:19057\nHGNC:20626\nHGNC:20153\nHGNC:25701\nHGNC:24288\nHGNC:1925\nHGNC:16627\nHGNC:16930\nHGNC:20455\nHGNC:1929\nHGNC:1930\nHGNC:1932\nHGNC:1933\nHGNC:17432\nHGNC:1934\nHGNC:1935\nHGNC:28474\nHGNC:1936\nHGNC:1937\nHGNC:1938\nHGNC:1939\nHGNC:1940\nHGNC:1941\nHGNC:8740\nHGNC:24287\nHGNC:30216\nHGNC:24537\nHGNC:29865\nHGNC:20274\nHGNC:16171\nHGNC:30599\nHGNC:26942\nHGNC:25675\nHGNC:28439\nHGNC:1943\nHGNC:1944\nHGNC:17807\nHGNC:14525\nHGNC:17433\nHGNC:24927\nHGNC:24291\nHGNC:29270\nHGNC:17852\nHGNC:13544\nHGNC:1949\nHGNC:29861\nHGNC:24168\nHGNC:15781\nHGNC:1950\nHGNC:1951\nHGNC:1952\nHGNC:1953\nHGNC:1954\nHGNC:1955\nHGNC:1956\nHGNC:1957\nHGNC:1958\nHGNC:1959\nHGNC:15963\nHGNC:1960\nHGNC:14079\nHGNC:13800\nHGNC:1961\nHGNC:1962\nHGNC:1963\nHGNC:1964\nHGNC:1965\nHGNC:1966\nHGNC:1967\nHGNC:1969\nHGNC:1970\nHGNC:1971\nHGNC:1972\nHGNC:1973\nHGNC:6938\nHGNC:13817\nHGNC:15993\nHGNC:19898\nHGNC:19650\nHGNC:17422\nHGNC:17423\nHGNC:21755\nHGNC:24464\nHGNC:18137\nHGNC:17198\nHGNC:24293\nHGNC:24353\nHGNC:18435\nHGNC:24511\nHGNC:1974\nHGNC:20099\nHGNC:14280\nHGNC:26235\nHGNC:24261\nHGNC:14179\nHGNC:28050\nHGNC:25200\nHGNC:16920\nHGNC:24579\nHGNC:24580\nHGNC:33703\nHGNC:14214\nHGNC:1976\nHGNC:1977\nHGNC:24229\nHGNC:7067\nHGNC:21219\nHGNC:1980\nHGNC:24213\nHGNC:23789\nHGNC:29302\nHGNC:20365\nHGNC:24217\nHGNC:1982\nHGNC:30880\nHGNC:24212\nHGNC:27578\nHGNC:1984\nHGNC:1985\nHGNC:1986\nHGNC:1987\nHGNC:18696\nHGNC:16744\nHGNC:1990\nHGNC:26877\nHGNC:16991\nHGNC:28959\nHGNC:1991\nHGNC:13253\nHGNC:1994\nHGNC:31736\nHGNC:1995\nHGNC:1996\nHGNC:19083\nHGNC:2000\nHGNC:17088\nHGNC:17078\nHGNC:17731\nHGNC:20126\nHGNC:2014\nHGNC:2015\nHGNC:2016\nHGNC:2018\nHGNC:29675\nHGNC:17412\nHGNC:2019\nHGNC:2020\nHGNC:2021\nHGNC:2022\nHGNC:2023\nHGNC:2024\nHGNC:2025\nHGNC:2026\nHGNC:2027\nHGNC:2032\nHGNC:2041\nHGNC:2045\nHGNC:2046\nHGNC:2047\nHGNC:2048\nHGNC:2049\nHGNC:2050\nHGNC:2051\nHGNC:2033\nHGNC:8514\nHGNC:2034\nHGNC:2035\nHGNC:2036\nHGNC:2037\nHGNC:2038\nHGNC:2039\nHGNC:2040\nHGNC:2042\nHGNC:2044\nHGNC:17591\nHGNC:37200\nHGNC:37218\nHGNC:51259\nHGNC:1322\nHGNC:28511\nHGNC:24355\nHGNC:24356\nHGNC:24191\nHGNC:2053\nHGNC:14351\nHGNC:21969\nHGNC:2052\nHGNC:11891\nHGNC:13257\nHGNC:13258\nHGNC:14554\nHGNC:14555\nHGNC:25357\nHGNC:24591\nHGNC:13523\nHGNC:2054\nHGNC:14556\nHGNC:14558\nHGNC:26705\nHGNC:16916\nHGNC:10576\nHGNC:31713\nHGNC:31966\nHGNC:19832\nHGNC:29013\nHGNC:34520\nHGNC:30388\nHGNC:33849\nHGNC:28538\nHGNC:34522\nHGNC:34521\nHGNC:24462\nHGNC:2060\nHGNC:26453\nHGNC:2062\nHGNC:2063\nHGNC:2064\nHGNC:13518\nHGNC:13517\nHGNC:2065\nHGNC:23186\nHGNC:10461\nHGNC:2586\nHGNC:24314\nHGNC:26108\nHGNC:2068\nHGNC:2069\nHGNC:2071\nHGNC:13659\nHGNC:19972\nHGNC:24039\nHGNC:2074\nHGNC:2076\nHGNC:2077\nHGNC:2079\nHGNC:17438\nHGNC:2080\nHGNC:2082\nHGNC:16999\nHGNC:30664\nHGNC:2084\nHGNC:2085\nHGNC:21251\nHGNC:21250\nHGNC:2087\nHGNC:24308\nHGNC:2088\nHGNC:12605\nHGNC:33939\nHGNC:20795\nHGNC:19715\nHGNC:17447\nHGNC:17448\nHGNC:18371\nHGNC:2090\nHGNC:2091\nHGNC:2092\nHGNC:2093\nHGNC:29437\nHGNC:2095\nHGNC:19009\nHGNC:29094\nHGNC:2096\nHGNC:23139\nHGNC:23046\nHGNC:18355\nHGNC:2097\nHGNC:18290\nHGNC:25090\nHGNC:28783\nHGNC:24447\nHGNC:35428\nHGNC:24319\nHGNC:2121\nHGNC:18170\nHGNC:27015\nHGNC:28666\nHGNC:19172\nHGNC:19173\nHGNC:19174\nHGNC:19175\nHGNC:19176\nHGNC:19177\nHGNC:19178\nHGNC:19179\nHGNC:21077\nHGNC:25635\nHGNC:14305\nHGNC:26663\nHGNC:16145\nHGNC:13164\nHGNC:20675\nHGNC:24437\nHGNC:26759\nHGNC:30183\nHGNC:2148\nHGNC:2149\nHGNC:2150\nHGNC:2152\nHGNC:2151\nHGNC:2153\nHGNC:19431\nHGNC:28744\nHGNC:26802\nHGNC:25013\nHGNC:19700\nHGNC:19701\nHGNC:23034\nHGNC:17005\nHGNC:2155\nHGNC:2156\nHGNC:2157\nHGNC:102\nHGNC:103\nHGNC:104\nHGNC:105\nHGNC:7877\nHGNC:7878\nHGNC:7879\nHGNC:7880\nHGNC:14099\nHGNC:18042\nHGNC:14101\nHGNC:9207\nHGNC:10445\nHGNC:23817\nHGNC:25217\nHGNC:2158\nHGNC:25220\nHGNC:27786\nHGNC:13529\nHGNC:11968\nHGNC:28631\nHGNC:2159\nHGNC:2160\nHGNC:24546\nHGNC:26486\nHGNC:26847\nHGNC:25805\nHGNC:2169\nHGNC:2170\nHGNC:23432\nHGNC:2171\nHGNC:2172\nHGNC:2173\nHGNC:2174\nHGNC:2175\nHGNC:2176\nHGNC:8011\nHGNC:13830\nHGNC:13834\nHGNC:32035\nHGNC:53878\nHGNC:18747\nHGNC:18748\nHGNC:1858\nHGNC:29616\nHGNC:21868\nHGNC:24990\nHGNC:24604\nHGNC:33848\nHGNC:18025\nHGNC:25716\nHGNC:20492\nHGNC:29932\nHGNC:22199\nHGNC:23571\nHGNC:2180\nHGNC:6545\nHGNC:6546\nHGNC:18619\nHGNC:18620\nHGNC:14857\nHGNC:18621\nHGNC:18622\nHGNC:18623\nHGNC:2184\nHGNC:2197\nHGNC:2198\nHGNC:2200\nHGNC:2201\nHGNC:2202\nHGNC:2203\nHGNC:2204\nHGNC:2206\nHGNC:2207\nHGNC:2208\nHGNC:2209\nHGNC:2210\nHGNC:14864\nHGNC:2211\nHGNC:2212\nHGNC:2213\nHGNC:26674\nHGNC:27023\nHGNC:2214\nHGNC:2215\nHGNC:2216\nHGNC:2217\nHGNC:2218\nHGNC:2219\nHGNC:2185\nHGNC:2186\nHGNC:2187\nHGNC:2188\nHGNC:2190\nHGNC:2191\nHGNC:2192\nHGNC:2193\nHGNC:2194\nHGNC:2195\nHGNC:2196\nHGNC:14670\nHGNC:17025\nHGNC:22989\nHGNC:22990\nHGNC:20821\nHGNC:18603\nHGNC:18038\nHGNC:22986\nHGNC:22442\nHGNC:26978\nHGNC:2220\nHGNC:17213\nHGNC:16016\nHGNC:26182\nHGNC:16790\nHGNC:2226\nHGNC:23024\nHGNC:24993\nHGNC:23332\nHGNC:26027\nHGNC:17902\nHGNC:24015\nHGNC:16223\nHGNC:26036\nHGNC:25014\nHGNC:30201\nHGNC:2227\nHGNC:2228\nHGNC:26309\nHGNC:17440\nHGNC:2230\nHGNC:2231\nHGNC:2232\nHGNC:2234\nHGNC:2236\nHGNC:2237\nHGNC:28848\nHGNC:30747\nHGNC:2239\nHGNC:16702\nHGNC:2240\nHGNC:21749\nHGNC:16758\nHGNC:16760\nHGNC:24335\nHGNC:21314\nHGNC:2243\nHGNC:19356\nHGNC:25223\nHGNC:18175\nHGNC:19693\nHGNC:28722\nHGNC:20233\nHGNC:2244\nHGNC:16812\nHGNC:19041\nHGNC:25302\nHGNC:26515\nHGNC:25819\nHGNC:19012\nHGNC:2252\nHGNC:2253\nHGNC:2254\nHGNC:2255\nHGNC:2256\nHGNC:21356\nHGNC:26161\nHGNC:2257\nHGNC:18304\nHGNC:2265\nHGNC:16232\nHGNC:2267\nHGNC:2269\nHGNC:2277\nHGNC:2279\nHGNC:2280\nHGNC:24380\nHGNC:2285\nHGNC:2287\nHGNC:2288\nHGNC:2289\nHGNC:2291\nHGNC:24381\nHGNC:2292\nHGNC:2294\nHGNC:24382\nHGNC:2260\nHGNC:2261\nHGNC:28216\nHGNC:2263\nHGNC:20213\nHGNC:2264\nHGNC:26801\nHGNC:28074\nHGNC:26970\nHGNC:2295\nHGNC:2296\nHGNC:2297\nHGNC:2298\nHGNC:15740\nHGNC:15722\nHGNC:17245\nHGNC:23228\nHGNC:2299\nHGNC:2300\nHGNC:2301\nHGNC:2303\nHGNC:21744\nHGNC:21745\nHGNC:21746\nHGNC:21747\nHGNC:26159\nHGNC:51815\nHGNC:25801\nHGNC:28127\nHGNC:2309\nHGNC:2310\nHGNC:27652\nHGNC:24330\nHGNC:2311\nHGNC:2312\nHGNC:2313\nHGNC:2314\nHGNC:2315\nHGNC:2316\nHGNC:2317\nHGNC:2318\nHGNC:2319\nHGNC:2320\nHGNC:23498\nHGNC:24336\nHGNC:21011\nHGNC:2321\nHGNC:25632\nHGNC:16910\nHGNC:2323\nHGNC:2324\nHGNC:2325\nHGNC:2326\nHGNC:2327\nHGNC:33632\nHGNC:13871\nHGNC:30098\nHGNC:2328\nHGNC:2329\nHGNC:18540\nHGNC:2330\nHGNC:28116\nHGNC:14399\nHGNC:2332\nHGNC:15771\nHGNC:26977\nHGNC:2333\nHGNC:2334\nHGNC:2335\nHGNC:2336\nHGNC:2338\nHGNC:2339\nHGNC:29219\nHGNC:28657\nHGNC:28703\nHGNC:2340\nHGNC:14122\nHGNC:2342\nHGNC:2343\nHGNC:18688\nHGNC:20237\nHGNC:30185\nHGNC:17888\nHGNC:29875\nHGNC:2345\nHGNC:2347\nHGNC:18856\nHGNC:23720\nHGNC:18855\nHGNC:18854\nHGNC:16844\nHGNC:2348\nHGNC:2350\nHGNC:24050\nHGNC:24905\nHGNC:2351\nHGNC:14272\nHGNC:14630\nHGNC:28150\nHGNC:2352\nHGNC:2355\nHGNC:2356\nHGNC:2357\nHGNC:2358\nHGNC:2359\nHGNC:2360\nHGNC:2361\nHGNC:17751\nHGNC:14312\nHGNC:304\nHGNC:12024\nHGNC:16904\nHGNC:18206\nHGNC:25248\nHGNC:2362\nHGNC:2363\nHGNC:2364\nHGNC:14281\nHGNC:17177\nHGNC:16148\nHGNC:2365\nHGNC:15762\nHGNC:1230\nHGNC:21299\nHGNC:51677\nHGNC:2366\nHGNC:2367\nHGNC:37276\nHGNC:14882\nHGNC:24313\nHGNC:2379\nHGNC:16062\nHGNC:27301\nHGNC:26148\nHGNC:2383\nHGNC:2384\nHGNC:2385\nHGNC:2388\nHGNC:51901\nHGNC:2389\nHGNC:2394\nHGNC:2395\nHGNC:2396\nHGNC:2397\nHGNC:2398\nHGNC:2400\nHGNC:356\nHGNC:17295\nHGNC:34427\nHGNC:2408\nHGNC:2409\nHGNC:2410\nHGNC:2411\nHGNC:20458\nHGNC:2417\nHGNC:18246\nHGNC:2418\nHGNC:2419\nHGNC:2420\nHGNC:2422\nHGNC:18966\nHGNC:24294\nHGNC:16847\nHGNC:26237\nHGNC:30359\nHGNC:29905\nHGNC:2431\nHGNC:2432\nHGNC:2433\nHGNC:2434\nHGNC:2435\nHGNC:2436\nHGNC:2438\nHGNC:2439\nHGNC:24290\nHGNC:24292\nHGNC:2440\nHGNC:2441\nHGNC:2442\nHGNC:2444\nHGNC:33113\nHGNC:14026\nHGNC:19290\nHGNC:19291\nHGNC:2445\nHGNC:2447\nHGNC:2446\nHGNC:2451\nHGNC:20289\nHGNC:2452\nHGNC:2453\nHGNC:2454\nHGNC:2455\nHGNC:2456\nHGNC:2457\nHGNC:2459\nHGNC:2458\nHGNC:2460\nHGNC:53637\nHGNC:2466\nHGNC:2467\nHGNC:26193\nHGNC:14300\nHGNC:16006\nHGNC:30729\nHGNC:2469\nHGNC:2470\nHGNC:2472\nHGNC:2473\nHGNC:2474\nHGNC:2475\nHGNC:2476\nHGNC:2477\nHGNC:2478\nHGNC:2479\nHGNC:2480\nHGNC:13261\nHGNC:16233\nHGNC:15959\nHGNC:2481\nHGNC:2482\nHGNC:2483\nHGNC:2484\nHGNC:17086\nHGNC:2485\nHGNC:15958\nHGNC:33267\nHGNC:28400\nHGNC:33268\nHGNC:33270\nHGNC:33271\nHGNC:51260\nHGNC:51261\nHGNC:51262\nHGNC:51263\nHGNC:33282\nHGNC:33283\nHGNC:33284\nHGNC:33285\nHGNC:33286\nHGNC:33287\nHGNC:33288\nHGNC:33289\nHGNC:33290\nHGNC:33291\nHGNC:27397\nHGNC:33292\nHGNC:33293\nHGNC:26047\nHGNC:33494\nHGNC:24198\nHGNC:2491\nHGNC:2492\nHGNC:24346\nHGNC:24772\nHGNC:28644\nHGNC:37294\nHGNC:37275\nHGNC:37295\nHGNC:2494\nHGNC:2495\nHGNC:2496\nHGNC:26169\nHGNC:13723\nHGNC:16234\nHGNC:19085\nHGNC:2498\nHGNC:21614\nHGNC:17077\nHGNC:16890\nHGNC:26936\nHGNC:2499\nHGNC:2501\nHGNC:18831\nHGNC:23925\nHGNC:2505\nHGNC:2509\nHGNC:2510\nHGNC:2511\nHGNC:2512\nHGNC:2514\nHGNC:16913\nHGNC:15879\nHGNC:2515\nHGNC:2516\nHGNC:2518\nHGNC:2519\nHGNC:2520\nHGNC:16850\nHGNC:2521\nHGNC:2522\nHGNC:2523\nHGNC:2524\nHGNC:9251\nHGNC:2527\nHGNC:2528\nHGNC:2529\nHGNC:2530\nHGNC:2531\nHGNC:2532\nHGNC:2535\nHGNC:2536\nHGNC:2537\nHGNC:2542\nHGNC:2545\nHGNC:2538\nHGNC:2546\nHGNC:2547\nHGNC:3338\nHGNC:15679\nHGNC:25330\nHGNC:29590\nHGNC:28005\nHGNC:31108\nHGNC:31109\nHGNC:31110\nHGNC:50507\nHGNC:53440\nHGNC:2548\nHGNC:31350\nHGNC:28352\nHGNC:2551\nHGNC:2552\nHGNC:2553\nHGNC:2554\nHGNC:2555\nHGNC:2556\nHGNC:21024\nHGNC:15982\nHGNC:21101\nHGNC:24271\nHGNC:2557\nHGNC:19347\nHGNC:17937\nHGNC:26939\nHGNC:29322\nHGNC:25989\nHGNC:10664\nHGNC:25613\nHGNC:26508\nHGNC:26133\nHGNC:10647\nHGNC:2558\nHGNC:2559\nHGNC:4602\nHGNC:4603\nHGNC:4604\nHGNC:10642\nHGNC:10643\nHGNC:6025\nHGNC:7098\nHGNC:10637\nHGNC:10638\nHGNC:10672\nHGNC:10639\nHGNC:10640\nHGNC:16642\nHGNC:19232\nHGNC:6026\nHGNC:6027\nHGNC:4540\nHGNC:2561\nHGNC:1060\nHGNC:16647\nHGNC:25667\nHGNC:28589\nHGNC:30891\nHGNC:34229\nHGNC:30533\nHGNC:42787\nHGNC:26239\nHGNC:26356\nHGNC:33713\nHGNC:33743\nHGNC:24343\nHGNC:24593\nHGNC:26943\nHGNC:2570\nHGNC:24374\nHGNC:26516\nHGNC:28471\nHGNC:13397\nHGNC:24376\nHGNC:2873\nHGNC:20147\nHGNC:32220\nHGNC:2571\nHGNC:23014\nHGNC:26804\nHGNC:30253\nHGNC:2577\nHGNC:2578\nHGNC:28672\nHGNC:20797\nHGNC:2579\nHGNC:19986\nHGNC:13759\nHGNC:13760\nHGNC:16505\nHGNC:17806\nHGNC:2582\nHGNC:2583\nHGNC:2584\nHGNC:2595\nHGNC:2596\nHGNC:2597\nHGNC:2610\nHGNC:2611\nHGNC:2608\nHGNC:2615\nHGNC:2622\nHGNC:2623\nHGNC:2620\nHGNC:2621\nHGNC:2625\nHGNC:2624\nHGNC:2631\nHGNC:2632\nHGNC:2634\nHGNC:20580\nHGNC:15654\nHGNC:20582\nHGNC:20243\nHGNC:2637\nHGNC:2638\nHGNC:2640\nHGNC:17450\nHGNC:2642\nHGNC:20575\nHGNC:2644\nHGNC:2645\nHGNC:2646\nHGNC:2648\nHGNC:13265\nHGNC:18857\nHGNC:26820\nHGNC:23198\nHGNC:20244\nHGNC:20583\nHGNC:2651\nHGNC:2652\nHGNC:2653\nHGNC:2590\nHGNC:2591\nHGNC:2592\nHGNC:2593\nHGNC:2594\nHGNC:20576\nHGNC:2600\nHGNC:2602\nHGNC:2603\nHGNC:20581\nHGNC:20577\nHGNC:2605\nHGNC:2606\nHGNC:33480\nHGNC:17449\nHGNC:2641\nHGNC:2649\nHGNC:22432\nHGNC:18525\nHGNC:17451\nHGNC:18274\nHGNC:30529\nHGNC:30239\nHGNC:9501\nHGNC:9502\nHGNC:9504\nHGNC:9505\nHGNC:9506\nHGNC:24435\nHGNC:16274\nHGNC:26059\nHGNC:28358\nHGNC:18142\nHGNC:18143\nHGNC:2661\nHGNC:2662\nHGNC:17294\nHGNC:2663\nHGNC:16814\nHGNC:17748\nHGNC:21231\nHGNC:30745\nHGNC:2664\nHGNC:2666\nHGNC:1165\nHGNC:28923\nHGNC:25536\nHGNC:26780\nHGNC:2671\nHGNC:21191\nHGNC:2672\nHGNC:2673\nHGNC:2674\nHGNC:2675\nHGNC:2676\nHGNC:21490\nHGNC:16500\nHGNC:2678\nHGNC:25538\nHGNC:26383\nHGNC:2681\nHGNC:2682\nHGNC:15964\nHGNC:15965\nHGNC:15966\nHGNC:2683\nHGNC:2684\nHGNC:2685\nHGNC:17364\nHGNC:17883\nHGNC:2689\nHGNC:2690\nHGNC:2695\nHGNC:28455\nHGNC:15881\nHGNC:2696\nHGNC:2697\nHGNC:15594\nHGNC:2698\nHGNC:33185\nHGNC:33186\nHGNC:30911\nHGNC:20229\nHGNC:27723\nHGNC:26657\nHGNC:20224\nHGNC:30002\nHGNC:30915\nHGNC:24891\nHGNC:31810\nHGNC:31811\nHGNC:23686\nHGNC:20258\nHGNC:19911\nHGNC:29395\nHGNC:32950\nHGNC:24535\nHGNC:25095\nHGNC:25987\nHGNC:25784\nHGNC:26238\nHGNC:24459\nHGNC:21479\nHGNC:24627\nHGNC:2701\nHGNC:14669\nHGNC:20625\nHGNC:18141\nHGNC:32576\nHGNC:32696\nHGNC:13681\nHGNC:23111\nHGNC:2704\nHGNC:2700\nHGNC:19002\nHGNC:19005\nHGNC:17660\nHGNC:17641\nHGNC:17642\nHGNC:2705\nHGNC:18714\nHGNC:24451\nHGNC:24452\nHGNC:29812\nHGNC:26539\nHGNC:26562\nHGNC:18549\nHGNC:2709\nHGNC:2710\nHGNC:2711\nHGNC:2712\nHGNC:2713\nHGNC:15518\nHGNC:24594\nHGNC:16964\nHGNC:28777\nHGNC:18184\nHGNC:20328\nHGNC:28734\nHGNC:28998\nHGNC:28409\nHGNC:2714\nHGNC:18985\nHGNC:28360\nHGNC:2715\nHGNC:2716\nHGNC:2717\nHGNC:2718\nHGNC:2719\nHGNC:19714\nHGNC:29106\nHGNC:18961\nHGNC:24578\nHGNC:26351\nHGNC:2726\nHGNC:24944\nHGNC:30555\nHGNC:24458\nHGNC:2727\nHGNC:2728\nHGNC:2730\nHGNC:2731\nHGNC:16110\nHGNC:2732\nHGNC:33446\nHGNC:2734\nHGNC:2745\nHGNC:2699\nHGNC:18700\nHGNC:2746\nHGNC:2747\nHGNC:2735\nHGNC:2736\nHGNC:2740\nHGNC:2741\nHGNC:25628\nHGNC:2742\nHGNC:2743\nHGNC:2744\nHGNC:17347\nHGNC:13266\nHGNC:18698\nHGNC:15837\nHGNC:17330\nHGNC:16715\nHGNC:17821\nHGNC:13917\nHGNC:18674\nHGNC:18676\nHGNC:18677\nHGNC:18681\nHGNC:18682\nHGNC:18684\nHGNC:17906\nHGNC:20082\nHGNC:20038\nHGNC:20083\nHGNC:20084\nHGNC:20085\nHGNC:18193\nHGNC:19102\nHGNC:25360\nHGNC:25942\nHGNC:26429\nHGNC:14677\nHGNC:2753\nHGNC:2754\nHGNC:2755\nHGNC:24450\nHGNC:2760\nHGNC:25969\nHGNC:2761\nHGNC:33596\nHGNC:2762\nHGNC:2763\nHGNC:2764\nHGNC:2765\nHGNC:2766\nHGNC:2767\nHGNC:30193\nHGNC:15967\nHGNC:31702\nHGNC:18115\nHGNC:26165\nHGNC:18087\nHGNC:29930\nHGNC:18088\nHGNC:28879\nHGNC:18086\nHGNC:31918\nHGNC:29966\nHGNC:18091\nHGNC:18093\nHGNC:18094\nHGNC:18095\nHGNC:18096\nHGNC:18097\nHGNC:16196\nHGNC:18099\nHGNC:18101\nHGNC:18103\nHGNC:18104\nHGNC:18105\nHGNC:15900\nHGNC:16206\nHGNC:18106\nHGNC:16218\nHGNC:18107\nHGNC:39814\nHGNC:18108\nHGNC:38058\nHGNC:33806\nHGNC:31331\nHGNC:32399\nHGNC:32400\nHGNC:34433\nHGNC:13709\nHGNC:20113\nHGNC:2768\nHGNC:28969\nHGNC:29324\nHGNC:28404\nHGNC:26225\nHGNC:22212\nHGNC:11350\nHGNC:24748\nHGNC:26192\nHGNC:29134\nHGNC:24321\nHGNC:29044\nHGNC:26079\nHGNC:19344\nHGNC:28338\nHGNC:26635\nHGNC:32690\nHGNC:31793\nHGNC:29472\nHGNC:2769\nHGNC:22949\nHGNC:24902\nHGNC:22952\nHGNC:18423\nHGNC:29899\nHGNC:23355\nHGNC:22953\nHGNC:24269\nHGNC:28454\nHGNC:17943\nHGNC:14236\nHGNC:54084\nHGNC:2770\nHGNC:24577\nHGNC:24264\nHGNC:25477\nHGNC:26344\nHGNC:13267\nHGNC:2772\nHGNC:2773\nHGNC:2843\nHGNC:16940\nHGNC:23250\nHGNC:2845\nHGNC:2846\nHGNC:18551\nHGNC:2847\nHGNC:2849\nHGNC:2850\nHGNC:2851\nHGNC:2852\nHGNC:2853\nHGNC:2854\nHGNC:2855\nHGNC:32395\nHGNC:2856\nHGNC:2857\nHGNC:20498\nHGNC:2858\nHGNC:2860\nHGNC:2859\nHGNC:20603\nHGNC:17887\nHGNC:2861\nHGNC:27309\nHGNC:2865\nHGNC:2867\nHGNC:2869\nHGNC:16445\nHGNC:18349\nHGNC:17693\nHGNC:16985\nHGNC:19731\nHGNC:21524\nHGNC:24547\nHGNC:32423\nHGNC:16888\nHGNC:28639\nHGNC:25832\nHGNC:28326\nHGNC:18399\nHGNC:23537\nHGNC:2749\nHGNC:2750\nHGNC:2738\nHGNC:2739\nHGNC:15815\nHGNC:16716\nHGNC:16717\nHGNC:16718\nHGNC:16719\nHGNC:15861\nHGNC:14410\nHGNC:17210\nHGNC:17211\nHGNC:18018\nHGNC:20086\nHGNC:29517\nHGNC:21528\nHGNC:2876\nHGNC:2877\nHGNC:15480\nHGNC:17098\nHGNC:2680\nHGNC:30217\nHGNC:2883\nHGNC:2884\nHGNC:2885\nHGNC:17217\nHGNC:29284\nHGNC:29150\nHGNC:32213\nHGNC:28290\nHGNC:31729\nHGNC:28490\nHGNC:25866\nHGNC:19127\nHGNC:19323\nHGNC:687\nHGNC:20604\nHGNC:28698\nHGNC:28648\nHGNC:2888\nHGNC:19711\nHGNC:19712\nHGNC:29251\nHGNC:23695\nHGNC:2890\nHGNC:2891\nHGNC:2892\nHGNC:2893\nHGNC:2894\nHGNC:16528\nHGNC:2896\nHGNC:2897\nHGNC:2898\nHGNC:2899\nHGNC:17567\nHGNC:2900\nHGNC:2901\nHGNC:2902\nHGNC:2903\nHGNC:2904\nHGNC:2905\nHGNC:2906\nHGNC:30368\nHGNC:24476\nHGNC:16864\nHGNC:2907\nHGNC:21113\nHGNC:2908\nHGNC:2909\nHGNC:2910\nHGNC:2911\nHGNC:2914\nHGNC:2915\nHGNC:2916\nHGNC:2917\nHGNC:2918\nHGNC:2919\nHGNC:30536\nHGNC:25496\nHGNC:18799\nHGNC:18291\nHGNC:2926\nHGNC:19026\nHGNC:2927\nHGNC:2928\nHGNC:24475\nHGNC:25063\nHGNC:2932\nHGNC:2933\nHGNC:2934\nHGNC:2935\nHGNC:13909\nHGNC:13826\nHGNC:13908\nHGNC:13913\nHGNC:13910\nHGNC:31686\nHGNC:13911\nHGNC:14603\nHGNC:3382\nHGNC:2936\nHGNC:2937\nHGNC:2938\nHGNC:2939\nHGNC:30539\nHGNC:20188\nHGNC:30492\nHGNC:21493\nHGNC:26013\nHGNC:2940\nHGNC:2948\nHGNC:2949\nHGNC:2950\nHGNC:2951\nHGNC:18661\nHGNC:2952\nHGNC:2953\nHGNC:2941\nHGNC:37121\nHGNC:2942\nHGNC:2943\nHGNC:2945\nHGNC:2946\nHGNC:2954\nHGNC:18744\nHGNC:5229\nHGNC:14884\nHGNC:11808\nHGNC:14885\nHGNC:5270\nHGNC:5228\nHGNC:14886\nHGNC:14887\nHGNC:14888\nHGNC:24986\nHGNC:23699\nHGNC:6968\nHGNC:14889\nHGNC:14891\nHGNC:30718\nHGNC:25881\nHGNC:20090\nHGNC:13192\nHGNC:9439\nHGNC:5271\nHGNC:16235\nHGNC:24138\nHGNC:24844\nHGNC:15469\nHGNC:12392\nHGNC:15470\nHGNC:19123\nHGNC:24637\nHGNC:25570\nHGNC:28908\nHGNC:30343\nHGNC:24581\nHGNC:20325\nHGNC:29157\nHGNC:25556\nHGNC:28429\nHGNC:30528\nHGNC:27030\nHGNC:25802\nHGNC:26979\nHGNC:34187\nHGNC:30290\nHGNC:1297\nHGNC:16410\nHGNC:23247\nHGNC:2955\nHGNC:14353\nHGNC:2956\nHGNC:2957\nHGNC:2958\nHGNC:2959\nHGNC:2960\nHGNC:28875\nHGNC:23799\nHGNC:24456\nHGNC:26532\nHGNC:33879\nHGNC:2972\nHGNC:2973\nHGNC:2974\nHGNC:29125\nHGNC:30373\nHGNC:2976\nHGNC:2978\nHGNC:2979\nHGNC:2980\nHGNC:2981\nHGNC:21218\nHGNC:2983\nHGNC:16160\nHGNC:24013\nHGNC:2985\nHGNC:2986\nHGNC:2987\nHGNC:2988\nHGNC:2989\nHGNC:19192\nHGNC:23476\nHGNC:19189\nHGNC:19190\nHGNC:19191\nHGNC:14132\nHGNC:23479\nHGNC:23483\nHGNC:28662\nHGNC:2990\nHGNC:2991\nHGNC:24583\nHGNC:19868\nHGNC:16173\nHGNC:28301\nHGNC:26594\nHGNC:23406\nHGNC:29565\nHGNC:2993\nHGNC:21194\nHGNC:1291\nHGNC:24948\nHGNC:2995\nHGNC:24542\nHGNC:3002\nHGNC:23028\nHGNC:52385\nHGNC:23029\nHGNC:20225\nHGNC:9964\nHGNC:17427\nHGNC:3003\nHGNC:3004\nHGNC:27717\nHGNC:24270\nHGNC:30543\nHGNC:25199\nHGNC:3005\nHGNC:3006\nHGNC:3007\nHGNC:3008\nHGNC:3009\nHGNC:3010\nHGNC:14892\nHGNC:16490\nHGNC:18648\nHGNC:20823\nHGNC:19197\nHGNC:19199\nHGNC:19200\nHGNC:19201\nHGNC:32166\nHGNC:3011\nHGNC:22205\nHGNC:19414\nHGNC:27120\nHGNC:27829\nHGNC:24590\nHGNC:3012\nHGNC:3013\nHGNC:3014\nHGNC:3015\nHGNC:3016\nHGNC:20637\nHGNC:20410\nHGNC:3017\nHGNC:25645\nHGNC:28769\nHGNC:3019\nHGNC:25054\nHGNC:24245\nHGNC:25384\nHGNC:25289\nHGNC:3020\nHGNC:3023\nHGNC:3024\nHGNC:3025\nHGNC:3026\nHGNC:3029\nHGNC:3030\nHGNC:21536\nHGNC:28031\nHGNC:17904\nHGNC:3032\nHGNC:3035\nHGNC:3036\nHGNC:3037\nHGNC:3039\nHGNC:14656\nHGNC:24453\nHGNC:21144\nHGNC:18144\nHGNC:3048\nHGNC:3049\nHGNC:3050\nHGNC:21307\nHGNC:16165\nHGNC:3052\nHGNC:3054\nHGNC:1090\nHGNC:15750\nHGNC:29043\nHGNC:16219\nHGNC:20277\nHGNC:37261\nHGNC:30288\nHGNC:3057\nHGNC:3058\nHGNC:17328\nHGNC:30926\nHGNC:19334\nHGNC:3060\nHGNC:15973\nHGNC:24457\nHGNC:30323\nHGNC:29151\nHGNC:3061\nHGNC:3062\nHGNC:13273\nHGNC:26507\nHGNC:32698\nHGNC:23481\nHGNC:30086\nHGNC:26014\nHGNC:26920\nHGNC:21517\nHGNC:3064\nHGNC:3068\nHGNC:3069\nHGNC:3070\nHGNC:3071\nHGNC:3072\nHGNC:3073\nHGNC:3074\nHGNC:3076\nHGNC:3065\nHGNC:3066\nHGNC:3067\nHGNC:19681\nHGNC:17007\nHGNC:16236\nHGNC:17909\nHGNC:18484\nHGNC:18894\nHGNC:20476\nHGNC:16077\nHGNC:21480\nHGNC:28161\nHGNC:25034\nHGNC:33237\nHGNC:3078\nHGNC:3079\nHGNC:3081\nHGNC:50800\nHGNC:3083\nHGNC:32179\nHGNC:33345\nHGNC:3084\nHGNC:3086\nHGNC:3087\nHGNC:2992\nHGNC:23460\nHGNC:23468\nHGNC:21317\nHGNC:26808\nHGNC:2961\nHGNC:2963\nHGNC:2964\nHGNC:18745\nHGNC:2966\nHGNC:2962\nHGNC:24595\nHGNC:15476\nHGNC:24596\nHGNC:15468\nHGNC:15467\nHGNC:11697\nHGNC:11694\nHGNC:3091\nHGNC:3092\nHGNC:3093\nHGNC:3094\nHGNC:3095\nHGNC:3097\nHGNC:23279\nHGNC:15858\nHGNC:20908\nHGNC:26551\nHGNC:30938\nHGNC:3113\nHGNC:3114\nHGNC:3115\nHGNC:3118\nHGNC:3119\nHGNC:3120\nHGNC:23820\nHGNC:24727\nHGNC:3121\nHGNC:20907\nHGNC:23115\nHGNC:19312\nHGNC:29419\nHGNC:3123\nHGNC:3126\nHGNC:19090\nHGNC:19087\nHGNC:29278\nHGNC:3129\nHGNC:39430\nHGNC:25493\nHGNC:15531\nHGNC:3133\nHGNC:18061\nHGNC:17029\nHGNC:3146\nHGNC:13275\nHGNC:3147\nHGNC:3149\nHGNC:21489\nHGNC:23408\nHGNC:23489\nHGNC:3151\nHGNC:2703\nHGNC:14601\nHGNC:3153\nHGNC:3154\nHGNC:29020\nHGNC:24642\nHGNC:35454\nHGNC:29548\nHGNC:3155\nHGNC:21118\nHGNC:3157\nHGNC:17756\nHGNC:2895\nHGNC:14341\nHGNC:26114\nHGNC:17157\nHGNC:16978\nHGNC:19223\nHGNC:53168\nHGNC:18967\nHGNC:15877\nHGNC:16787\nHGNC:3164\nHGNC:3173\nHGNC:3176\nHGNC:3177\nHGNC:3178\nHGNC:3179\nHGNC:3180\nHGNC:24640\nHGNC:3185\nHGNC:3188\nHGNC:3189\nHGNC:3192\nHGNC:27351\nHGNC:33787\nHGNC:24936\nHGNC:53611\nHGNC:24248\nHGNC:3208\nHGNC:3211\nHGNC:3212\nHGNC:3213\nHGNC:3214\nHGNC:24615\nHGNC:32221\nHGNC:24614\nHGNC:22223\nHGNC:25678\nHGNC:28166\nHGNC:26379\nHGNC:24801\nHGNC:24204\nHGNC:29379\nHGNC:34532\nHGNC:34530\nHGNC:34531\nHGNC:20357\nHGNC:28061\nHGNC:26864\nHGNC:29051\nHGNC:25692\nHGNC:3218\nHGNC:3219\nHGNC:26330\nHGNC:16406\nHGNC:26233\nHGNC:29556\nHGNC:28670\nHGNC:25789\nHGNC:3221\nHGNC:3222\nHGNC:3223\nHGNC:3224\nHGNC:3225\nHGNC:3226\nHGNC:3227\nHGNC:3228\nHGNC:28970\nHGNC:29155\nHGNC:16898\nHGNC:30858\nHGNC:3229\nHGNC:3235\nHGNC:20594\nHGNC:13944\nHGNC:26810\nHGNC:3236\nHGNC:1232\nHGNC:14660\nHGNC:14661\nHGNC:3238\nHGNC:3239\nHGNC:3240\nHGNC:3241\nHGNC:29144\nHGNC:30682\nHGNC:3242\nHGNC:3243\nHGNC:3244\nHGNC:3245\nHGNC:3246\nHGNC:3247\nHGNC:24650\nHGNC:14129\nHGNC:13276\nHGNC:1191\nHGNC:28292\nHGNC:26796\nHGNC:32961\nHGNC:3249\nHGNC:28147\nHGNC:3250\nHGNC:3252\nHGNC:30792\nHGNC:3254\nHGNC:24921\nHGNC:9437\nHGNC:3255\nHGNC:19687\nHGNC:3257\nHGNC:3258\nHGNC:3259\nHGNC:3260\nHGNC:3261\nHGNC:6583\nHGNC:3265\nHGNC:3266\nHGNC:3267\nHGNC:43863\nHGNC:3271\nHGNC:3280\nHGNC:3279\nHGNC:26347\nHGNC:3278\nHGNC:3277\nHGNC:3275\nHGNC:3274\nHGNC:3273\nHGNC:3272\nHGNC:3270\nHGNC:24656\nHGNC:18138\nHGNC:24460\nHGNC:3282\nHGNC:3284\nHGNC:18683\nHGNC:3285\nHGNC:3287\nHGNC:33179\nHGNC:3293\nHGNC:31837\nHGNC:3288\nHGNC:3289\nHGNC:3290\nHGNC:16687\nHGNC:3296\nHGNC:3297\nHGNC:3298\nHGNC:12741\nHGNC:3299\nHGNC:3300\nHGNC:3301\nHGNC:17419\nHGNC:30793\nHGNC:6159\nHGNC:12383\nHGNC:14197\nHGNC:14198\nHGNC:3309\nHGNC:3312\nHGNC:3313\nHGNC:3314\nHGNC:3315\nHGNC:3316\nHGNC:3317\nHGNC:3318\nHGNC:3319\nHGNC:3320\nHGNC:33154\nHGNC:29396\nHGNC:3321\nHGNC:3325\nHGNC:3326\nHGNC:23114\nHGNC:17064\nHGNC:23113\nHGNC:16286\nHGNC:17233\nHGNC:17289\nHGNC:25334\nHGNC:28111\nHGNC:26158\nHGNC:3327\nHGNC:11620\nHGNC:30771\nHGNC:24617\nHGNC:31007\nHGNC:52410\nHGNC:33511\nHGNC:11619\nHGNC:11617\nHGNC:28691\nHGNC:14418\nHGNC:14416\nHGNC:18047\nHGNC:14415\nHGNC:21308\nHGNC:15829\nHGNC:26292\nHGNC:5959\nHGNC:18248\nHGNC:20696\nHGNC:1171\nHGNC:30617\nHGNC:25976\nHGNC:14417\nHGNC:30465\nHGNC:28957\nHGNC:28963\nHGNC:23999\nHGNC:28032\nHGNC:28430\nHGNC:24301\nHGNC:7864\nHGNC:20273\nHGNC:27609\nHGNC:16041\nHGNC:3331\nHGNC:24965\nHGNC:27289\nHGNC:16912\nHGNC:18036\nHGNC:19880\nHGNC:19881\nHGNC:16123\nHGNC:3330\nHGNC:18035\nHGNC:26666\nHGNC:1316\nHGNC:18197\nHGNC:35412\nHGNC:3333\nHGNC:3334\nHGNC:3335\nHGNC:18071\nHGNC:3340\nHGNC:3341\nHGNC:3342\nHGNC:3343\nHGNC:18271\nHGNC:3344\nHGNC:3345\nHGNC:29129\nHGNC:3346\nHGNC:14369\nHGNC:26640\nHGNC:3349\nHGNC:24622\nHGNC:24838\nHGNC:25246\nHGNC:28388\nHGNC:3350\nHGNC:3353\nHGNC:3354\nHGNC:31670\nHGNC:24599\nHGNC:30365\nHGNC:25474\nHGNC:2259\nHGNC:3355\nHGNC:3356\nHGNC:3357\nHGNC:3358\nHGNC:3359\nHGNC:13717\nHGNC:23409\nHGNC:23764\nHGNC:3360\nHGNC:26352\nHGNC:3363\nHGNC:3364\nHGNC:3365\nHGNC:14573\nHGNC:3367\nHGNC:3368\nHGNC:19745\nHGNC:24860\nHGNC:10667\nHGNC:24449\nHGNC:28526\nHGNC:28089\nHGNC:17402\nHGNC:3372\nHGNC:3373\nHGNC:11958\nHGNC:3374\nHGNC:3377\nHGNC:3378\nHGNC:3379\nHGNC:3380\nHGNC:13278\nHGNC:19818\nHGNC:19819\nHGNC:3381\nHGNC:19876\nHGNC:24543\nHGNC:11529\nHGNC:17572\nHGNC:29331\nHGNC:17470\nHGNC:3385\nHGNC:3386\nHGNC:3387\nHGNC:3388\nHGNC:3389\nHGNC:19296\nHGNC:3390\nHGNC:3391\nHGNC:19987\nHGNC:3392\nHGNC:3393\nHGNC:3394\nHGNC:3395\nHGNC:3396\nHGNC:3401\nHGNC:3402\nHGNC:23760\nHGNC:23758\nHGNC:3413\nHGNC:19735\nHGNC:21604\nHGNC:18639\nHGNC:18235\nHGNC:3415\nHGNC:34493\nHGNC:3416\nHGNC:15932\nHGNC:15577\nHGNC:3418\nHGNC:3420\nHGNC:21295\nHGNC:21296\nHGNC:21297\nHGNC:3419\nHGNC:24634\nHGNC:16465\nHGNC:3423\nHGNC:3053\nHGNC:1359\nHGNC:3424\nHGNC:18173\nHGNC:29499\nHGNC:5174\nHGNC:3430\nHGNC:3431\nHGNC:3432\nHGNC:15842\nHGNC:17072\nHGNC:31922\nHGNC:3433\nHGNC:3434\nHGNC:3435\nHGNC:3436\nHGNC:3437\nHGNC:3438\nHGNC:20794\nHGNC:26922\nHGNC:3439\nHGNC:3443\nHGNC:3444\nHGNC:26727\nHGNC:53894\nHGNC:3446\nHGNC:1187\nHGNC:29205\nHGNC:30208\nHGNC:15927\nHGNC:3447\nHGNC:23994\nHGNC:30541\nHGNC:17276\nHGNC:27234\nHGNC:44395\nHGNC:25346\nHGNC:34497\nHGNC:26823\nHGNC:28602\nHGNC:26523\nHGNC:25222\nHGNC:16947\nHGNC:1356\nHGNC:15743\nHGNC:21056\nHGNC:29208\nHGNC:23703\nHGNC:3449\nHGNC:16942\nHGNC:13280\nHGNC:14355\nHGNC:26495\nHGNC:13799\nHGNC:18311\nHGNC:18185\nHGNC:3454\nHGNC:33823\nHGNC:42970\nHGNC:26501\nHGNC:39051\nHGNC:13525\nHGNC:17474\nHGNC:24645\nHGNC:27230\nHGNC:3465\nHGNC:15898\nHGNC:3466\nHGNC:16856\nHGNC:13281\nHGNC:27937\nHGNC:3467\nHGNC:3468\nHGNC:25966\nHGNC:26152\nHGNC:3471\nHGNC:3473\nHGNC:3474\nHGNC:16817\nHGNC:14865\nHGNC:29534\nHGNC:22211\nHGNC:24295\nHGNC:24648\nHGNC:53449\nHGNC:44269\nHGNC:53450\nHGNC:3477\nHGNC:3481\nHGNC:3482\nHGNC:28739\nHGNC:3483\nHGNC:27052\nHGNC:23287\nHGNC:24649\nHGNC:25575\nHGNC:14404\nHGNC:3488\nHGNC:3489\nHGNC:3490\nHGNC:3491\nHGNC:3492\nHGNC:33834\nHGNC:3493\nHGNC:3494\nHGNC:3495\nHGNC:18160\nHGNC:25816\nHGNC:25558\nHGNC:13239\nHGNC:3497\nHGNC:19747\nHGNC:3499\nHGNC:3500\nHGNC:3501\nHGNC:30464\nHGNC:20234\nHGNC:3503\nHGNC:35236\nHGNC:3506\nHGNC:3507\nHGNC:3508\nHGNC:28507\nHGNC:20217\nHGNC:26023\nHGNC:3511\nHGNC:26115\nHGNC:30380\nHGNC:53433\nHGNC:24968\nHGNC:30378\nHGNC:27540\nHGNC:30162\nHGNC:20120\nHGNC:30389\nHGNC:10696\nHGNC:23196\nHGNC:17085\nHGNC:23214\nHGNC:24659\nHGNC:3347\nHGNC:17286\nHGNC:17097\nHGNC:17944\nHGNC:18189\nHGNC:24662\nHGNC:19055\nHGNC:28112\nHGNC:17035\nHGNC:9137\nHGNC:9138\nHGNC:30578\nHGNC:3512\nHGNC:3513\nHGNC:3515\nHGNC:3516\nHGNC:3518\nHGNC:3519\nHGNC:3520\nHGNC:3521\nHGNC:3522\nHGNC:21555\nHGNC:3526\nHGNC:3527\nHGNC:33738\nHGNC:12691\nHGNC:3535\nHGNC:3537\nHGNC:3538\nHGNC:3539\nHGNC:3540\nHGNC:3541\nHGNC:3542\nHGNC:3544\nHGNC:3546\nHGNC:3547\nHGNC:31849\nHGNC:31850\nHGNC:3551\nHGNC:3528\nHGNC:3529\nHGNC:14685\nHGNC:3530\nHGNC:3531\nHGNC:3534\nHGNC:21197\nHGNC:3553\nHGNC:26440\nHGNC:26428\nHGNC:28467\nHGNC:26171\nHGNC:3555\nHGNC:3556\nHGNC:3557\nHGNC:3559\nHGNC:3560\nHGNC:3561\nHGNC:3562\nHGNC:3563\nHGNC:34524\nHGNC:3573\nHGNC:3574\nHGNC:3575\nHGNC:3576\nHGNC:30459\nHGNC:3578\nHGNC:24666\nHGNC:3579\nHGNC:14169\nHGNC:24252\nHGNC:25318\nHGNC:18703\nHGNC:17067\nHGNC:13749\nHGNC:1253\nHGNC:18664\nHGNC:18665\nHGNC:16372\nHGNC:18403\nHGNC:18404\nHGNC:18405\nHGNC:19367\nHGNC:1335\nHGNC:19371\nHGNC:23015\nHGNC:23017\nHGNC:22140\nHGNC:23470\nHGNC:23475\nHGNC:23436\nHGNC:23586\nHGNC:23590\nHGNC:24563\nHGNC:26888\nHGNC:31791\nHGNC:29962\nHGNC:26659\nHGNC:25301\nHGNC:34343\nHGNC:25373\nHGNC:25216\nHGNC:18786\nHGNC:18789\nHGNC:31860\nHGNC:28968\nHGNC:1336\nHGNC:26541\nHGNC:28397\nHGNC:28594\nHGNC:20101\nHGNC:25107\nHGNC:25278\nHGNC:30704\nHGNC:27998\nHGNC:24044\nHGNC:24805\nHGNC:30602\nHGNC:33593\nHGNC:28530\nHGNC:28492\nHGNC:25465\nHGNC:13495\nHGNC:28379\nHGNC:26335\nHGNC:28210\nHGNC:21357\nHGNC:16121\nHGNC:16122\nHGNC:25972\nHGNC:25148\nHGNC:32554\nHGNC:24797\nHGNC:28268\nHGNC:32222\nHGNC:25561\nHGNC:25057\nHGNC:16708\nHGNC:25526\nHGNC:43746\nHGNC:26306\nHGNC:30452\nHGNC:24781\nHGNC:24520\nHGNC:26773\nHGNC:27119\nHGNC:31419\nHGNC:27637\nHGNC:25918\nHGNC:25085\nHGNC:25682\nHGNC:30827\nHGNC:23726\nHGNC:16188\nHGNC:28587\nHGNC:33340\nHGNC:25860\nHGNC:24725\nHGNC:24200\nHGNC:25087\nHGNC:1333\nHGNC:24179\nHGNC:14440\nHGNC:1313\nHGNC:26110\nHGNC:13247\nHGNC:23389\nHGNC:21109\nHGNC:16949\nHGNC:23490\nHGNC:30490\nHGNC:25202\nHGNC:26413\nHGNC:26224\nHGNC:24587\nHGNC:28593\nHGNC:28308\nHGNC:22202\nHGNC:26717\nHGNC:26748\nHGNC:28629\nHGNC:21084\nHGNC:28029\nHGNC:25911\nHGNC:24527\nHGNC:29162\nHGNC:25032\nHGNC:33716\nHGNC:29940\nHGNC:27323\nHGNC:33877\nHGNC:30701\nHGNC:30114\nHGNC:31962\nHGNC:34237\nHGNC:25378\nHGNC:29320\nHGNC:16492\nHGNC:25808\nHGNC:19854\nHGNC:17865\nHGNC:21549\nHGNC:28274\nHGNC:33277\nHGNC:33818\nHGNC:34242\nHGNC:27938\nHGNC:15549\nHGNC:28133\nHGNC:28999\nHGNC:27016\nHGNC:29138\nHGNC:26835\nHGNC:27963\nHGNC:19736\nHGNC:23522\nHGNC:30480\nHGNC:29412\nHGNC:25365\nHGNC:24943\nHGNC:34339\nHGNC:26073\nHGNC:19829\nHGNC:34395\nHGNC:28036\nHGNC:33773\nHGNC:34451\nHGNC:20491\nHGNC:28512\nHGNC:34347\nHGNC:20991\nHGNC:29235\nHGNC:22412\nHGNC:26980\nHGNC:25296\nHGNC:35153\nHGNC:26366\nHGNC:29075\nHGNC:24820\nHGNC:1233\nHGNC:16822\nHGNC:25524\nHGNC:25195\nHGNC:25401\nHGNC:27740\nHGNC:25794\nHGNC:41911\nHGNC:42673\nHGNC:15811\nHGNC:16100\nHGNC:16101\nHGNC:28346\nHGNC:16102\nHGNC:25609\nHGNC:25666\nHGNC:30180\nHGNC:26883\nHGNC:21362\nHGNC:16170\nHGNC:19920\nHGNC:24695\nHGNC:22422\nHGNC:27977\nHGNC:30762\nHGNC:25915\nHGNC:25563\nHGNC:44197\nHGNC:26543\nHGNC:34418\nHGNC:24736\nHGNC:44652\nHGNC:33858\nHGNC:14163\nHGNC:29288\nHGNC:44268\nHGNC:52640\nHGNC:52641\nHGNC:52642\nHGNC:52388\nHGNC:53217\nHGNC:52390\nHGNC:53430\nHGNC:54200\nHGNC:26813\nHGNC:23519\nHGNC:39602\nHGNC:53888\nHGNC:29170\nHGNC:3582\nHGNC:3583\nHGNC:3584\nHGNC:3585\nHGNC:28623\nHGNC:3586\nHGNC:3587\nHGNC:3588\nHGNC:25568\nHGNC:20748\nHGNC:23168\nHGNC:23527\nHGNC:3590\nHGNC:26222\nHGNC:25531\nHGNC:3591\nHGNC:16460\nHGNC:21062\nHGNC:3592\nHGNC:17800\nHGNC:11920\nHGNC:11936\nHGNC:3594\nHGNC:24676\nHGNC:26150\nHGNC:29160\nHGNC:28758\nHGNC:25790\nHGNC:3595\nHGNC:3596\nHGNC:23112\nHGNC:23109\nHGNC:24683\nHGNC:3597\nHGNC:20742\nHGNC:1334\nHGNC:24674\nHGNC:13620\nHGNC:3599\nHGNC:24686\nHGNC:35458\nHGNC:3600\nHGNC:3601\nHGNC:3602\nHGNC:26740\nHGNC:3603\nHGNC:3604\nHGNC:18794\nHGNC:3606\nHGNC:3607\nHGNC:20442\nHGNC:29308\nHGNC:13598\nHGNC:13599\nHGNC:13601\nHGNC:13602\nHGNC:13603\nHGNC:13604\nHGNC:17875\nHGNC:13611\nHGNC:21658\nHGNC:28624\nHGNC:28155\nHGNC:14150\nHGNC:13615\nHGNC:21874\nHGNC:25300\nHGNC:24679\nHGNC:27537\nHGNC:13581\nHGNC:13582\nHGNC:13583\nHGNC:13584\nHGNC:13585\nHGNC:13586\nHGNC:13587\nHGNC:13588\nHGNC:13589\nHGNC:13590\nHGNC:13617\nHGNC:13618\nHGNC:18754\nHGNC:13592\nHGNC:13593\nHGNC:13595\nHGNC:13596\nHGNC:18753\nHGNC:29046\nHGNC:15600\nHGNC:16510\nHGNC:16731\nHGNC:19833\nHGNC:20201\nHGNC:27020\nHGNC:28844\nHGNC:28565\nHGNC:29816\nHGNC:29409\nHGNC:29249\nHGNC:28521\nHGNC:24847\nHGNC:29148\nHGNC:25069\nHGNC:31969\nHGNC:33857\nHGNC:13608\nHGNC:10847\nHGNC:13613\nHGNC:16712\nHGNC:13597\nHGNC:28136\nHGNC:1211\nHGNC:13607\nHGNC:20729\nHGNC:24692\nHGNC:3608\nHGNC:3609\nHGNC:3611\nHGNC:3612\nHGNC:20220\nHGNC:13572\nHGNC:3613\nHGNC:3614\nHGNC:3616\nHGNC:3618\nHGNC:15626\nHGNC:3619\nHGNC:3620\nHGNC:3621\nHGNC:29002\nHGNC:25180\nHGNC:25463\nHGNC:29114\nHGNC:14315\nHGNC:3623\nHGNC:3624\nHGNC:3625\nHGNC:18509\nHGNC:14875\nHGNC:18506\nHGNC:18507\nHGNC:18508\nHGNC:31910\nHGNC:18504\nHGNC:26431\nHGNC:29500\nHGNC:19215\nHGNC:3629\nHGNC:3631\nHGNC:3638\nHGNC:30546\nHGNC:25110\nHGNC:3642\nHGNC:3647\nHGNC:16934\nHGNC:3649\nHGNC:16933\nHGNC:3650\nHGNC:3655\nHGNC:19044\nHGNC:28065\nHGNC:16660\nHGNC:15889\nHGNC:15767\nHGNC:23151\nHGNC:3657\nHGNC:3658\nHGNC:18562\nHGNC:3659\nHGNC:3660\nHGNC:22788\nHGNC:13506\nHGNC:4498\nHGNC:4501\nHGNC:4499\nHGNC:19061\nHGNC:3661\nHGNC:3662\nHGNC:3663\nHGNC:3664\nHGNC:16027\nHGNC:19125\nHGNC:19117\nHGNC:21740\nHGNC:3665\nHGNC:3676\nHGNC:3681\nHGNC:3682\nHGNC:3683\nHGNC:3684\nHGNC:3685\nHGNC:3686\nHGNC:3687\nHGNC:3666\nHGNC:3667\nHGNC:3668\nHGNC:3670\nHGNC:3671\nHGNC:3672\nHGNC:3673\nHGNC:3674\nHGNC:3675\nHGNC:3677\nHGNC:3678\nHGNC:3679\nHGNC:3680\nHGNC:19695\nHGNC:29451\nHGNC:23428\nHGNC:3688\nHGNC:17012\nHGNC:23098\nHGNC:3689\nHGNC:3690\nHGNC:3691\nHGNC:3693\nHGNC:3694\nHGNC:25610\nHGNC:3695\nHGNC:3696\nHGNC:3697\nHGNC:3700\nHGNC:29408\nHGNC:29363\nHGNC:3701\nHGNC:3702\nHGNC:3703\nHGNC:3704\nHGNC:17371\nHGNC:17905\nHGNC:26178\nHGNC:25922\nHGNC:33747\nHGNC:3705\nHGNC:18416\nHGNC:16873\nHGNC:24669\nHGNC:13285\nHGNC:13286\nHGNC:13287\nHGNC:21015\nHGNC:24589\nHGNC:19124\nHGNC:21689\nHGNC:33714\nHGNC:16135\nHGNC:25917\nHGNC:17166\nHGNC:3711\nHGNC:3712\nHGNC:3718\nHGNC:3719\nHGNC:3720\nHGNC:3721\nHGNC:3722\nHGNC:3723\nHGNC:3724\nHGNC:3725\nHGNC:18169\nHGNC:18624\nHGNC:18625\nHGNC:23397\nHGNC:13949\nHGNC:17997\nHGNC:3622\nHGNC:14439\nHGNC:24671\nHGNC:27310\nHGNC:3748\nHGNC:33276\nHGNC:3749\nHGNC:3750\nHGNC:3754\nHGNC:3755\nHGNC:3756\nHGNC:3757\nHGNC:3758\nHGNC:3760\nHGNC:3761\nHGNC:3762\nHGNC:3763\nHGNC:3765\nHGNC:3766\nHGNC:3767\nHGNC:24682\nHGNC:20105\nHGNC:25404\nHGNC:25178\nHGNC:26946\nHGNC:3768\nHGNC:14074\nHGNC:1212\nHGNC:18267\nHGNC:23698\nHGNC:3769\nHGNC:3770\nHGNC:3771\nHGNC:3772\nHGNC:3773\nHGNC:3774\nHGNC:3775\nHGNC:26372\nHGNC:3778\nHGNC:24822\nHGNC:25700\nHGNC:17069\nHGNC:20851\nHGNC:19752\nHGNC:21184\nHGNC:20296\nHGNC:24670\nHGNC:20239\nHGNC:20240\nHGNC:26668\nHGNC:25286\nHGNC:33547\nHGNC:42951\nHGNC:28764\nHGNC:29418\nHGNC:29280\nHGNC:3782\nHGNC:3785\nHGNC:23377\nHGNC:3788\nHGNC:3791\nHGNC:3793\nHGNC:3795\nHGNC:26435\nHGNC:3796\nHGNC:3797\nHGNC:13718\nHGNC:3798\nHGNC:5021\nHGNC:5022\nHGNC:5023\nHGNC:3799\nHGNC:23315\nHGNC:3800\nHGNC:3801\nHGNC:3802\nHGNC:3803\nHGNC:3804\nHGNC:3805\nHGNC:18521\nHGNC:18523\nHGNC:23762\nHGNC:18522\nHGNC:31986\nHGNC:3806\nHGNC:3808\nHGNC:3809\nHGNC:3810\nHGNC:3811\nHGNC:3814\nHGNC:3815\nHGNC:32448\nHGNC:35123\nHGNC:3816\nHGNC:24818\nHGNC:29178\nHGNC:23480\nHGNC:6036\nHGNC:3817\nHGNC:1092\nHGNC:34428\nHGNC:54201\nHGNC:3818\nHGNC:12765\nHGNC:5281\nHGNC:1928\nHGNC:21399\nHGNC:3819\nHGNC:3821\nHGNC:3822\nHGNC:7139\nHGNC:24814\nHGNC:3823\nHGNC:13875\nHGNC:6106\nHGNC:20842\nHGNC:20951\nHGNC:29980\nHGNC:30469\nHGNC:26927\nHGNC:26264\nHGNC:3735\nHGNC:3824\nHGNC:3825\nHGNC:3826\nHGNC:3827\nHGNC:3828\nHGNC:1162\nHGNC:19185\nHGNC:3944\nHGNC:16048\nHGNC:23399\nHGNC:25396\nHGNC:25172\nHGNC:3954\nHGNC:19136\nHGNC:33518\nHGNC:33626\nHGNC:3955\nHGNC:21240\nHGNC:24125\nHGNC:25491\nHGNC:24886\nHGNC:28214\nHGNC:19839\nHGNC:8079\nHGNC:25462\nHGNC:29159\nHGNC:28572\nHGNC:29382\nHGNC:29007\nHGNC:27622\nHGNC:1362\nHGNC:16971\nHGNC:16970\nHGNC:20367\nHGNC:29127\nHGNC:3959\nHGNC:43653\nHGNC:20494\nHGNC:11148\nHGNC:3960\nHGNC:3961\nHGNC:13745\nHGNC:13753\nHGNC:18024\nHGNC:3964\nHGNC:3969\nHGNC:21674\nHGNC:21675\nHGNC:3971\nHGNC:3972\nHGNC:3973\nHGNC:21389\nHGNC:21386\nHGNC:3974\nHGNC:48661\nHGNC:3976\nHGNC:3987\nHGNC:3999\nHGNC:17345\nHGNC:24678\nHGNC:13254\nHGNC:17136\nHGNC:4004\nHGNC:4005\nHGNC:4006\nHGNC:4008\nHGNC:28746\nHGNC:24925\nHGNC:24733\nHGNC:8568\nHGNC:4010\nHGNC:4012\nHGNC:4013\nHGNC:4014\nHGNC:4015\nHGNC:4016\nHGNC:4017\nHGNC:4018\nHGNC:4019\nHGNC:4020\nHGNC:19234\nHGNC:19233\nHGNC:26219\nHGNC:3951\nHGNC:4023\nHGNC:4024\nHGNC:4025\nHGNC:4026\nHGNC:4027\nHGNC:4028\nHGNC:4029\nHGNC:4030\nHGNC:4034\nHGNC:4036\nHGNC:27295\nHGNC:14673\nHGNC:4037\nHGNC:25407\nHGNC:4038\nHGNC:4040\nHGNC:4041\nHGNC:4042\nHGNC:4043\nHGNC:4044\nHGNC:4045\nHGNC:4046\nHGNC:4047\nHGNC:4039\nHGNC:24824\nHGNC:20338\nHGNC:30292\nHGNC:30291\nHGNC:4056\nHGNC:28906\nHGNC:24861\nHGNC:4057\nHGNC:4065\nHGNC:4066\nHGNC:14458\nHGNC:17515\nHGNC:18325\nHGNC:4067\nHGNC:4068\nHGNC:13291\nHGNC:4070\nHGNC:4507\nHGNC:4071\nHGNC:4074\nHGNC:28441\nHGNC:4075\nHGNC:4076\nHGNC:4077\nHGNC:4078\nHGNC:4079\nHGNC:4080\nHGNC:4081\nHGNC:4082\nHGNC:4083\nHGNC:4084\nHGNC:4085\nHGNC:4086\nHGNC:4087\nHGNC:4088\nHGNC:4089\nHGNC:14454\nHGNC:4090\nHGNC:4091\nHGNC:17969\nHGNC:4092\nHGNC:4093\nHGNC:4095\nHGNC:4096\nHGNC:4097\nHGNC:29996\nHGNC:27949\nHGNC:4098\nHGNC:4099\nHGNC:31957\nHGNC:31958\nHGNC:31959\nHGNC:31960\nHGNC:4101\nHGNC:4102\nHGNC:4103\nHGNC:4104\nHGNC:4106\nHGNC:30968\nHGNC:26779\nHGNC:28402\nHGNC:31904\nHGNC:31905\nHGNC:31906\nHGNC:31907\nHGNC:31908\nHGNC:4105\nHGNC:17778\nHGNC:29081\nHGNC:4113\nHGNC:4114\nHGNC:24240\nHGNC:24869\nHGNC:24144\nHGNC:24145\nHGNC:4115\nHGNC:4116\nHGNC:4118\nHGNC:4119\nHGNC:24063\nHGNC:4122\nHGNC:4123\nHGNC:4124\nHGNC:4125\nHGNC:4126\nHGNC:4127\nHGNC:4128\nHGNC:4129\nHGNC:4130\nHGNC:4131\nHGNC:19873\nHGNC:19875\nHGNC:19877\nHGNC:23242\nHGNC:22946\nHGNC:21531\nHGNC:23233\nHGNC:16347\nHGNC:30488\nHGNC:21725\nHGNC:33844\nHGNC:24840\nHGNC:4132\nHGNC:4133\nHGNC:4134\nHGNC:4135\nHGNC:4136\nHGNC:4137\nHGNC:4138\nHGNC:4139\nHGNC:4140\nHGNC:4141\nHGNC:24864\nHGNC:26588\nHGNC:23375\nHGNC:14264\nHGNC:26136\nHGNC:27172\nHGNC:25425\nHGNC:4162\nHGNC:4163\nHGNC:4165\nHGNC:4167\nHGNC:16955\nHGNC:24846\nHGNC:27475\nHGNC:4168\nHGNC:4169\nHGNC:4166\nHGNC:24485\nHGNC:25312\nHGNC:4164\nHGNC:4170\nHGNC:4171\nHGNC:4172\nHGNC:4173\nHGNC:15802\nHGNC:4174\nHGNC:29941\nHGNC:29989\nHGNC:30778\nHGNC:8849\nHGNC:25068\nHGNC:26616\nHGNC:1273\nHGNC:53816\nHGNC:4175\nHGNC:4177\nHGNC:18986\nHGNC:19069\nHGNC:4180\nHGNC:4181\nHGNC:20460\nHGNC:4182\nHGNC:4183\nHGNC:4184\nHGNC:20480\nHGNC:19895\nHGNC:25395\nHGNC:29606\nHGNC:4185\nHGNC:4186\nHGNC:4187\nHGNC:15990\nHGNC:4188\nHGNC:19095\nHGNC:23218\nHGNC:4189\nHGNC:1317\nHGNC:4191\nHGNC:4192\nHGNC:4193\nHGNC:4194\nHGNC:4195\nHGNC:4196\nHGNC:4311\nHGNC:4312\nHGNC:4197\nHGNC:4198\nHGNC:4199\nHGNC:15805\nHGNC:4203\nHGNC:4204\nHGNC:4205\nHGNC:17973\nHGNC:16099\nHGNC:20253\nHGNC:29583\nHGNC:4208\nHGNC:4212\nHGNC:15968\nHGNC:4213\nHGNC:18010\nHGNC:29644\nHGNC:4214\nHGNC:4217\nHGNC:4218\nHGNC:4220\nHGNC:4221\nHGNC:4222\nHGNC:4224\nHGNC:4215\nHGNC:4216\nHGNC:30142\nHGNC:4226\nHGNC:4227\nHGNC:4232\nHGNC:20883\nHGNC:25974\nHGNC:28638\nHGNC:24849\nHGNC:28804\nHGNC:34360\nHGNC:4234\nHGNC:10884\nHGNC:15717\nHGNC:20043\nHGNC:20044\nHGNC:20045\nHGNC:26044\nHGNC:26881\nHGNC:12790\nHGNC:752\nHGNC:21690\nHGNC:4235\nHGNC:4236\nHGNC:4237\nHGNC:4238\nHGNC:13780\nHGNC:29682\nHGNC:21096\nHGNC:28159\nHGNC:4241\nHGNC:4242\nHGNC:4243\nHGNC:4244\nHGNC:4245\nHGNC:13821\nHGNC:32789\nHGNC:44663\nHGNC:17842\nHGNC:16064\nHGNC:17079\nHGNC:25100\nHGNC:21705\nHGNC:4247\nHGNC:4248\nHGNC:18869\nHGNC:19357\nHGNC:4249\nHGNC:4250\nHGNC:4251\nHGNC:4260\nHGNC:26891\nHGNC:4259\nHGNC:16437\nHGNC:18596\nHGNC:33426\nHGNC:4261\nHGNC:4262\nHGNC:24438\nHGNC:17281\nHGNC:4263\nHGNC:4265\nHGNC:4266\nHGNC:18129\nHGNC:4267\nHGNC:28453\nHGNC:15857\nHGNC:9126\nHGNC:11960\nHGNC:23237\nHGNC:21789\nHGNC:21872\nHGNC:18005\nHGNC:21918\nHGNC:22404\nHGNC:21792\nHGNC:44141\nHGNC:25959\nHGNC:21074\nHGNC:28980\nHGNC:24575\nHGNC:25851\nHGNC:28226\nHGNC:4270\nHGNC:1226\nHGNC:18177\nHGNC:18183\nHGNC:4271\nHGNC:4272\nHGNC:4273\nHGNC:4274\nHGNC:4277\nHGNC:4278\nHGNC:4279\nHGNC:4281\nHGNC:19155\nHGNC:16995\nHGNC:4283\nHGNC:4284\nHGNC:4285\nHGNC:4286\nHGNC:4287\nHGNC:4288\nHGNC:16690\nHGNC:4280\nHGNC:17494\nHGNC:17495\nHGNC:19154\nHGNC:19147\nHGNC:23296\nHGNC:33251\nHGNC:4289\nHGNC:4291\nHGNC:28635\nHGNC:17496\nHGNC:23217\nHGNC:24588\nHGNC:4296\nHGNC:4298\nHGNC:28129\nHGNC:25129\nHGNC:25147\nHGNC:18713\nHGNC:17855\nHGNC:4313\nHGNC:29514\nHGNC:4315\nHGNC:4316\nHGNC:4317\nHGNC:4318\nHGNC:4319\nHGNC:4320\nHGNC:17001\nHGNC:28392\nHGNC:28592\nHGNC:18007\nHGNC:29525\nHGNC:29450\nHGNC:28510\nHGNC:14373\nHGNC:29436\nHGNC:4323\nHGNC:14111\nHGNC:33358\nHGNC:4324\nHGNC:4325\nHGNC:4326\nHGNC:4327\nHGNC:4328\nHGNC:4329\nHGNC:4330\nHGNC:16065\nHGNC:15987\nHGNC:20134\nHGNC:4331\nHGNC:29570\nHGNC:26483\nHGNC:23671\nHGNC:24870\nHGNC:24890\nHGNC:24867\nHGNC:33756\nHGNC:4335\nHGNC:4336\nHGNC:4341\nHGNC:13734\nHGNC:30519\nHGNC:37865\nHGNC:24178\nHGNC:21349\nHGNC:24247\nHGNC:24434\nHGNC:4367\nHGNC:23843\nHGNC:19717\nHGNC:4369\nHGNC:4370\nHGNC:4371\nHGNC:4373\nHGNC:4374\nHGNC:24852\nHGNC:4375\nHGNC:40049\nHGNC:17493\nHGNC:22923\nHGNC:22932\nHGNC:4376\nHGNC:4377\nHGNC:4378\nHGNC:4379\nHGNC:4380\nHGNC:4381\nHGNC:4382\nHGNC:4383\nHGNC:4384\nHGNC:4385\nHGNC:4387\nHGNC:4388\nHGNC:4389\nHGNC:4390\nHGNC:4392\nHGNC:4393\nHGNC:4394\nHGNC:22800\nHGNC:4395\nHGNC:4396\nHGNC:4397\nHGNC:4398\nHGNC:4400\nHGNC:20731\nHGNC:4401\nHGNC:23657\nHGNC:4404\nHGNC:4405\nHGNC:4407\nHGNC:4408\nHGNC:4410\nHGNC:19664\nHGNC:4402\nHGNC:4403\nHGNC:19663\nHGNC:14131\nHGNC:53439\nHGNC:4411\nHGNC:4412\nHGNC:4413\nHGNC:29925\nHGNC:29931\nHGNC:25553\nHGNC:4414\nHGNC:4415\nHGNC:4416\nHGNC:4417\nHGNC:21526\nHGNC:19980\nHGNC:29670\nHGNC:23026\nHGNC:4419\nHGNC:4420\nHGNC:4421\nHGNC:4422\nHGNC:4424\nHGNC:4425\nHGNC:4426\nHGNC:4427\nHGNC:4428\nHGNC:13567\nHGNC:32205\nHGNC:32206\nHGNC:32204\nHGNC:37444\nHGNC:26695\nHGNC:27256\nHGNC:37225\nHGNC:37442\nHGNC:37229\nHGNC:37228\nHGNC:49416\nHGNC:50289\nHGNC:24876\nHGNC:31668\nHGNC:31972\nHGNC:31973\nHGNC:32378\nHGNC:25328\nHGNC:37443\nHGNC:38650\nHGNC:38652\nHGNC:44404\nHGNC:44405\nHGNC:44406\nHGNC:44408\nHGNC:44407\nHGNC:44409\nHGNC:44410\nHGNC:4429\nHGNC:15448\nHGNC:15451\nHGNC:15452\nHGNC:24882\nHGNC:24766\nHGNC:20175\nHGNC:25973\nHGNC:20356\nHGNC:17643\nHGNC:25676\nHGNC:16769\nHGNC:17500\nHGNC:4430\nHGNC:4431\nHGNC:4432\nHGNC:28487\nHGNC:4433\nHGNC:4439\nHGNC:4440\nHGNC:4441\nHGNC:4443\nHGNC:14388\nHGNC:4444\nHGNC:4445\nHGNC:4446\nHGNC:20298\nHGNC:24865\nHGNC:13920\nHGNC:27168\nHGNC:28157\nHGNC:20880\nHGNC:24658\nHGNC:25499\nHGNC:20210\nHGNC:25720\nHGNC:25982\nHGNC:29066\nHGNC:26768\nHGNC:19680\nHGNC:29520\nHGNC:28843\nHGNC:4449\nHGNC:4450\nHGNC:4451\nHGNC:4452\nHGNC:4453\nHGNC:4454\nHGNC:26957\nHGNC:4455\nHGNC:28956\nHGNC:4456\nHGNC:4485\nHGNC:18054\nHGNC:18055\nHGNC:15465\nHGNC:4458\nHGNC:24945\nHGNC:30677\nHGNC:4459\nHGNC:4460\nHGNC:4461\nHGNC:17030\nHGNC:25513\nHGNC:30186\nHGNC:4462\nHGNC:4463\nHGNC:4484\nHGNC:4497\nHGNC:4515\nHGNC:4466\nHGNC:4469\nHGNC:4471\nHGNC:4472\nHGNC:4473\nHGNC:4475\nHGNC:4476\nHGNC:4477\nHGNC:4480\nHGNC:4481\nHGNC:4482\nHGNC:4486\nHGNC:4487\nHGNC:4489\nHGNC:4490\nHGNC:4492\nHGNC:4494\nHGNC:14923\nHGNC:4496\nHGNC:4500\nHGNC:4503\nHGNC:4506\nHGNC:4508\nHGNC:4511\nHGNC:13300\nHGNC:13301\nHGNC:13302\nHGNC:4517\nHGNC:4519\nHGNC:4526\nHGNC:4528\nHGNC:4533\nHGNC:4523\nHGNC:4535\nHGNC:4536\nHGNC:4538\nHGNC:4539\nHGNC:31984\nHGNC:13840\nHGNC:14963\nHGNC:17830\nHGNC:17829\nHGNC:19060\nHGNC:17482\nHGNC:19991\nHGNC:24300\nHGNC:11862\nHGNC:25445\nHGNC:19995\nHGNC:19997\nHGNC:20088\nHGNC:20145\nHGNC:21718\nHGNC:23623\nHGNC:23627\nHGNC:23628\nHGNC:23624\nHGNC:23622\nHGNC:23618\nHGNC:22951\nHGNC:20844\nHGNC:23687\nHGNC:23689\nHGNC:23693\nHGNC:23694\nHGNC:16693\nHGNC:30057\nHGNC:18186\nHGNC:30245\nHGNC:32370\nHGNC:31371\nHGNC:28899\nHGNC:13708\nHGNC:3128\nHGNC:24834\nHGNC:25169\nHGNC:9836\nHGNC:13308\nHGNC:13309\nHGNC:13310\nHGNC:18510\nHGNC:24835\nHGNC:23730\nHGNC:27733\nHGNC:4549\nHGNC:4550\nHGNC:17858\nHGNC:29501\nHGNC:13945\nHGNC:4552\nHGNC:18062\nHGNC:4553\nHGNC:4554\nHGNC:4555\nHGNC:4556\nHGNC:4557\nHGNC:4558\nHGNC:4559\nHGNC:33100\nHGNC:29305\nHGNC:29214\nHGNC:25252\nHGNC:27287\nHGNC:24911\nHGNC:29113\nHGNC:4562\nHGNC:4563\nHGNC:37240\nHGNC:18707\nHGNC:4566\nHGNC:4567\nHGNC:4564\nHGNC:4565\nHGNC:24885\nHGNC:31042\nHGNC:2001\nHGNC:17655\nHGNC:17923\nHGNC:2799\nHGNC:25839\nHGNC:4570\nHGNC:4571\nHGNC:4572\nHGNC:4573\nHGNC:4574\nHGNC:4575\nHGNC:4576\nHGNC:18464\nHGNC:4577\nHGNC:4579\nHGNC:4580\nHGNC:4581\nHGNC:4582\nHGNC:4583\nHGNC:4584\nHGNC:4585\nHGNC:4586\nHGNC:4587\nHGNC:4588\nHGNC:16767\nHGNC:16768\nHGNC:4589\nHGNC:18708\nHGNC:23841\nHGNC:18706\nHGNC:10013\nHGNC:289\nHGNC:290\nHGNC:4543\nHGNC:4544\nHGNC:4545\nHGNC:17031\nHGNC:4593\nHGNC:4594\nHGNC:4595\nHGNC:4596\nHGNC:4597\nHGNC:4598\nHGNC:4599\nHGNC:4600\nHGNC:4601\nHGNC:4605\nHGNC:19696\nHGNC:21060\nHGNC:4609\nHGNC:4610\nHGNC:20310\nHGNC:21270\nHGNC:31673\nHGNC:33862\nHGNC:30229\nHGNC:28042\nHGNC:4612\nHGNC:4613\nHGNC:13311\nHGNC:23690\nHGNC:7151\nHGNC:25697\nHGNC:2810\nHGNC:28979\nHGNC:19716\nHGNC:28283\nHGNC:51826\nHGNC:4616\nHGNC:4617\nHGNC:20343\nHGNC:4620\nHGNC:4621\nHGNC:4622\nHGNC:4623\nHGNC:4624\nHGNC:4626\nHGNC:4627\nHGNC:4628\nHGNC:4629\nHGNC:19662\nHGNC:25806\nHGNC:16906\nHGNC:4632\nHGNC:4634\nHGNC:4635\nHGNC:4636\nHGNC:4637\nHGNC:13312\nHGNC:23064\nHGNC:4638\nHGNC:4641\nHGNC:4642\nHGNC:33437\nHGNC:26930\nHGNC:4643\nHGNC:20374\nHGNC:24959\nHGNC:20887\nHGNC:4646\nHGNC:30727\nHGNC:4647\nHGNC:4648\nHGNC:4650\nHGNC:4651\nHGNC:4652\nHGNC:4653\nHGNC:4655\nHGNC:4656\nHGNC:31394\nHGNC:35418\nHGNC:4657\nHGNC:4658\nHGNC:21157\nHGNC:4659\nHGNC:4661\nHGNC:30775\nHGNC:33125\nHGNC:4662\nHGNC:4664\nHGNC:4665\nHGNC:4666\nHGNC:4667\nHGNC:4668\nHGNC:20872\nHGNC:4669\nHGNC:4670\nHGNC:14880\nHGNC:21535\nHGNC:30189\nHGNC:25007\nHGNC:25106\nHGNC:13698\nHGNC:26565\nHGNC:16198\nHGNC:4678\nHGNC:4679\nHGNC:4680\nHGNC:4682\nHGNC:4683\nHGNC:14237\nHGNC:4685\nHGNC:4684\nHGNC:4687\nHGNC:4688\nHGNC:4689\nHGNC:4691\nHGNC:25799\nHGNC:4693\nHGNC:18649\nHGNC:4696\nHGNC:31424\nHGNC:51239\nHGNC:27482\nHGNC:33383\nHGNC:4699\nHGNC:4700\nHGNC:4702\nHGNC:4703\nHGNC:4704\nHGNC:4705\nHGNC:4706\nHGNC:4707\nHGNC:15808\nHGNC:4708\nHGNC:4709\nHGNC:4710\nHGNC:4711\nHGNC:4712\nHGNC:4714\nHGNC:4715\nHGNC:4716\nHGNC:4717\nHGNC:4718\nHGNC:4719\nHGNC:4720\nHGNC:24893\nHGNC:18463\nHGNC:4722\nHGNC:22516\nHGNC:18298\nHGNC:14455\nHGNC:18729\nHGNC:4734\nHGNC:4733\nHGNC:4729\nHGNC:4724\nHGNC:4737\nHGNC:13671\nHGNC:4725\nHGNC:4727\nHGNC:4726\nHGNC:4730\nHGNC:4735\nHGNC:4736\nHGNC:29668\nHGNC:4738\nHGNC:20508\nHGNC:14456\nHGNC:18417\nHGNC:20507\nHGNC:4739\nHGNC:4741\nHGNC:20664\nHGNC:18730\nHGNC:4751\nHGNC:4757\nHGNC:4747\nHGNC:4753\nHGNC:4752\nHGNC:4746\nHGNC:4755\nHGNC:4756\nHGNC:4761\nHGNC:13954\nHGNC:4748\nHGNC:4750\nHGNC:4749\nHGNC:4758\nHGNC:24700\nHGNC:4760\nHGNC:53833\nHGNC:4762\nHGNC:20514\nHGNC:27252\nHGNC:27867\nHGNC:4764\nHGNC:4765\nHGNC:4778\nHGNC:33164\nHGNC:4766\nHGNC:4776\nHGNC:4768\nHGNC:4767\nHGNC:4769\nHGNC:4773\nHGNC:4772\nHGNC:4775\nHGNC:4771\nHGNC:4774\nHGNC:25311\nHGNC:20503\nHGNC:20505\nHGNC:43735\nHGNC:43734\nHGNC:20510\nHGNC:4781\nHGNC:4789\nHGNC:4787\nHGNC:4782\nHGNC:4790\nHGNC:4783\nHGNC:4792\nHGNC:4788\nHGNC:4793\nHGNC:4785\nHGNC:4784\nHGNC:4791\nHGNC:4794\nHGNC:29607\nHGNC:4795\nHGNC:4796\nHGNC:4798\nHGNC:17062\nHGNC:9639\nHGNC:9640\nHGNC:24175\nHGNC:20920\nHGNC:21033\nHGNC:17856\nHGNC:4799\nHGNC:4801\nHGNC:4803\nHGNC:4805\nHGNC:14177\nHGNC:4806\nHGNC:15598\nHGNC:4807\nHGNC:4808\nHGNC:4809\nHGNC:4810\nHGNC:4812\nHGNC:2380\nHGNC:17410\nHGNC:21446\nHGNC:31357\nHGNC:26522\nHGNC:4816\nHGNC:4817\nHGNC:4818\nHGNC:4819\nHGNC:4820\nHGNC:19682\nHGNC:4821\nHGNC:25174\nHGNC:25530\nHGNC:28719\nHGNC:20163\nHGNC:29130\nHGNC:25948\nHGNC:32979\nHGNC:30532\nHGNC:17866\nHGNC:18437\nHGNC:16915\nHGNC:4823\nHGNC:4824\nHGNC:4827\nHGNC:4829\nHGNC:4830\nHGNC:3059\nHGNC:4831\nHGNC:4832\nHGNC:4826\nHGNC:23200\nHGNC:4833\nHGNC:4834\nHGNC:4835\nHGNC:4532\nHGNC:24827\nHGNC:16824\nHGNC:4837\nHGNC:4839\nHGNC:21198\nHGNC:24972\nHGNC:27780\nHGNC:4840\nHGNC:4844\nHGNC:4845\nHGNC:4846\nHGNC:19183\nHGNC:16882\nHGNC:4847\nHGNC:4848\nHGNC:4849\nHGNC:16977\nHGNC:4852\nHGNC:4853\nHGNC:4854\nHGNC:14063\nHGNC:14068\nHGNC:14064\nHGNC:14067\nHGNC:13315\nHGNC:14065\nHGNC:18128\nHGNC:19086\nHGNC:4855\nHGNC:21078\nHGNC:30522\nHGNC:4856\nHGNC:21095\nHGNC:14680\nHGNC:24937\nHGNC:25364\nHGNC:28171\nHGNC:1843\nHGNC:4857\nHGNC:26411\nHGNC:25517\nHGNC:26087\nHGNC:16761\nHGNC:20276\nHGNC:29273\nHGNC:24076\nHGNC:26548\nHGNC:17176\nHGNC:15716\nHGNC:21041\nHGNC:20157\nHGNC:26736\nHGNC:26117\nHGNC:26611\nHGNC:22195\nHGNC:29853\nHGNC:29227\nHGNC:17196\nHGNC:4861\nHGNC:18536\nHGNC:33783\nHGNC:16878\nHGNC:30021\nHGNC:17509\nHGNC:24923\nHGNC:26400\nHGNC:26361\nHGNC:27364\nHGNC:4866\nHGNC:30477\nHGNC:34400\nHGNC:4867\nHGNC:4868\nHGNC:4876\nHGNC:24521\nHGNC:24368\nHGNC:26072\nHGNC:13744\nHGNC:21915\nHGNC:5192\nHGNC:16005\nHGNC:26226\nHGNC:24149\nHGNC:19764\nHGNC:18254\nHGNC:15977\nHGNC:4877\nHGNC:4878\nHGNC:4879\nHGNC:26307\nHGNC:24953\nHGNC:28591\nHGNC:4880\nHGNC:4881\nHGNC:4882\nHGNC:4886\nHGNC:20193\nHGNC:4892\nHGNC:4893\nHGNC:4894\nHGNC:24161\nHGNC:4897\nHGNC:26527\nHGNC:18270\nHGNC:13242\nHGNC:4901\nHGNC:14866\nHGNC:19710\nHGNC:25842\nHGNC:4904\nHGNC:4905\nHGNC:4906\nHGNC:4907\nHGNC:4908\nHGNC:4909\nHGNC:18595\nHGNC:15736\nHGNC:4910\nHGNC:17113\nHGNC:15825\nHGNC:29527\nHGNC:24318\nHGNC:28044\nHGNC:28311\nHGNC:26984\nHGNC:26938\nHGNC:28859\nHGNC:17850\nHGNC:4912\nHGNC:18344\nHGNC:18468\nHGNC:4913\nHGNC:18415\nHGNC:19006\nHGNC:14402\nHGNC:4915\nHGNC:19007\nHGNC:4916\nHGNC:4917\nHGNC:4920\nHGNC:4921\nHGNC:13561\nHGNC:25444\nHGNC:4887\nHGNC:4922\nHGNC:4923\nHGNC:4925\nHGNC:23302\nHGNC:4931\nHGNC:4932\nHGNC:4933\nHGNC:4934\nHGNC:4935\nHGNC:4936\nHGNC:4937\nHGNC:4938\nHGNC:4940\nHGNC:4942\nHGNC:4943\nHGNC:4944\nHGNC:4945\nHGNC:4947\nHGNC:4948\nHGNC:4951\nHGNC:4952\nHGNC:4953\nHGNC:4962\nHGNC:4963\nHGNC:4964\nHGNC:4976\nHGNC:4977\nHGNC:11099\nHGNC:4978\nHGNC:16435\nHGNC:26137\nHGNC:4982\nHGNC:24446\nHGNC:19194\nHGNC:21293\nHGNC:5001\nHGNC:5002\nHGNC:5010\nHGNC:5009\nHGNC:4983\nHGNC:5000\nHGNC:5004\nHGNC:24954\nHGNC:5005\nHGNC:21359\nHGNC:5006\nHGNC:5007\nHGNC:5008\nHGNC:4984\nHGNC:4986\nHGNC:12312\nHGNC:4989\nHGNC:8013\nHGNC:28982\nHGNC:5003\nHGNC:29677\nHGNC:5012\nHGNC:5013\nHGNC:5014\nHGNC:23037\nHGNC:5017\nHGNC:5018\nHGNC:5019\nHGNC:11621\nHGNC:11630\nHGNC:5024\nHGNC:5026\nHGNC:5028\nHGNC:5030\nHGNC:5031\nHGNC:27067\nHGNC:5033\nHGNC:24941\nHGNC:5034\nHGNC:5035\nHGNC:29295\nHGNC:48813\nHGNC:51235\nHGNC:51333\nHGNC:5036\nHGNC:5037\nHGNC:5039\nHGNC:5041\nHGNC:5042\nHGNC:5043\nHGNC:5044\nHGNC:5045\nHGNC:25127\nHGNC:5046\nHGNC:5047\nHGNC:5048\nHGNC:17011\nHGNC:25451\nHGNC:25155\nHGNC:17512\nHGNC:17513\nHGNC:17514\nHGNC:20164\nHGNC:19884\nHGNC:19885\nHGNC:23576\nHGNC:24961\nHGNC:25245\nHGNC:28383\nHGNC:5099\nHGNC:5103\nHGNC:5104\nHGNC:5105\nHGNC:5106\nHGNC:5107\nHGNC:5108\nHGNC:5109\nHGNC:5100\nHGNC:5101\nHGNC:5102\nHGNC:5111\nHGNC:5113\nHGNC:5114\nHGNC:5115\nHGNC:5116\nHGNC:5117\nHGNC:5118\nHGNC:5119\nHGNC:5120\nHGNC:5112\nHGNC:5126\nHGNC:5127\nHGNC:5128\nHGNC:5129\nHGNC:5130\nHGNC:5122\nHGNC:5123\nHGNC:5124\nHGNC:5125\nHGNC:5132\nHGNC:5137\nHGNC:5138\nHGNC:5139\nHGNC:5140\nHGNC:5133\nHGNC:5134\nHGNC:5135\nHGNC:5136\nHGNC:5141\nHGNC:24973\nHGNC:5144\nHGNC:5145\nHGNC:18212\nHGNC:5147\nHGNC:28242\nHGNC:26051\nHGNC:5154\nHGNC:17890\nHGNC:5155\nHGNC:5156\nHGNC:5157\nHGNC:5163\nHGNC:15597\nHGNC:15844\nHGNC:17022\nHGNC:18817\nHGNC:5164\nHGNC:18374\nHGNC:5171\nHGNC:5172\nHGNC:5173\nHGNC:5178\nHGNC:33872\nHGNC:5181\nHGNC:5182\nHGNC:5183\nHGNC:5184\nHGNC:17383\nHGNC:5185\nHGNC:20846\nHGNC:28460\nHGNC:24979\nHGNC:5193\nHGNC:5194\nHGNC:5195\nHGNC:5196\nHGNC:5198\nHGNC:5200\nHGNC:19419\nHGNC:14178\nHGNC:5201\nHGNC:19133\nHGNC:19134\nHGNC:5203\nHGNC:37243\nHGNC:28913\nHGNC:5217\nHGNC:5218\nHGNC:18324\nHGNC:5208\nHGNC:30419\nHGNC:5209\nHGNC:5210\nHGNC:5211\nHGNC:5212\nHGNC:5213\nHGNC:23316\nHGNC:5215\nHGNC:3554\nHGNC:4800\nHGNC:22960\nHGNC:18646\nHGNC:18685\nHGNC:23238\nHGNC:16475\nHGNC:18572\nHGNC:5224\nHGNC:5225\nHGNC:5226\nHGNC:5227\nHGNC:26862\nHGNC:29603\nHGNC:32701\nHGNC:52395\nHGNC:52398\nHGNC:18568\nHGNC:23950\nHGNC:24920\nHGNC:5253\nHGNC:5258\nHGNC:12028\nHGNC:5232\nHGNC:5233\nHGNC:5234\nHGNC:5235\nHGNC:5237\nHGNC:17041\nHGNC:5238\nHGNC:5239\nHGNC:5241\nHGNC:5244\nHGNC:19022\nHGNC:16193\nHGNC:11375\nHGNC:29526\nHGNC:5246\nHGNC:5247\nHGNC:5248\nHGNC:26511\nHGNC:5249\nHGNC:30171\nHGNC:30589\nHGNC:25019\nHGNC:16389\nHGNC:24989\nHGNC:5261\nHGNC:5269\nHGNC:5273\nHGNC:16969\nHGNC:16637\nHGNC:5276\nHGNC:53111\nHGNC:5283\nHGNC:5284\nHGNC:5286\nHGNC:5287\nHGNC:5289\nHGNC:5291\nHGNC:5292\nHGNC:5293\nHGNC:5294\nHGNC:5295\nHGNC:5297\nHGNC:5298\nHGNC:24003\nHGNC:24004\nHGNC:24005\nHGNC:5299\nHGNC:5300\nHGNC:5301\nHGNC:5302\nHGNC:9476\nHGNC:14348\nHGNC:30406\nHGNC:26909\nHGNC:4851\nHGNC:13326\nHGNC:5309\nHGNC:16485\nHGNC:30892\nHGNC:28240\nHGNC:5320\nHGNC:5321\nHGNC:5322\nHGNC:5323\nHGNC:19368\nHGNC:26948\nHGNC:34403\nHGNC:26558\nHGNC:16931\nHGNC:18418\nHGNC:27696\nHGNC:5329\nHGNC:5330\nHGNC:29685\nHGNC:27302\nHGNC:5341\nHGNC:17853\nHGNC:5343\nHGNC:14442\nHGNC:5344\nHGNC:5345\nHGNC:5346\nHGNC:5347\nHGNC:5348\nHGNC:29154\nHGNC:29885\nHGNC:5350\nHGNC:5351\nHGNC:17087\nHGNC:5360\nHGNC:5361\nHGNC:5362\nHGNC:5363\nHGNC:5381\nHGNC:5382\nHGNC:5383\nHGNC:5384\nHGNC:5385\nHGNC:5386\nHGNC:5387\nHGNC:23487\nHGNC:31367\nHGNC:6059\nHGNC:27269\nHGNC:5389\nHGNC:5391\nHGNC:28871\nHGNC:5392\nHGNC:18550\nHGNC:5393\nHGNC:23679\nHGNC:24970\nHGNC:27006\nHGNC:4054\nHGNC:5395\nHGNC:5397\nHGNC:19754\nHGNC:19753\nHGNC:5398\nHGNC:5399\nHGNC:16938\nHGNC:17817\nHGNC:18873\nHGNC:5407\nHGNC:23442\nHGNC:5409\nHGNC:5411\nHGNC:13328\nHGNC:5412\nHGNC:5413\nHGNC:5414\nHGNC:16644\nHGNC:40022\nHGNC:5417\nHGNC:5423\nHGNC:5425\nHGNC:5426\nHGNC:5427\nHGNC:5428\nHGNC:5429\nHGNC:5418\nHGNC:5419\nHGNC:5420\nHGNC:5421\nHGNC:5422\nHGNC:5424\nHGNC:5432\nHGNC:5433\nHGNC:5434\nHGNC:18163\nHGNC:5438\nHGNC:5439\nHGNC:5440\nHGNC:21714\nHGNC:18363\nHGNC:18364\nHGNC:18365\nHGNC:44480\nHGNC:18584\nHGNC:5448\nHGNC:5456\nHGNC:5457\nHGNC:30989\nHGNC:21895\nHGNC:18626\nHGNC:29669\nHGNC:26146\nHGNC:15901\nHGNC:17367\nHGNC:21424\nHGNC:29262\nHGNC:14313\nHGNC:20606\nHGNC:13556\nHGNC:29077\nHGNC:30391\nHGNC:5461\nHGNC:9700\nHGNC:13770\nHGNC:5464\nHGNC:5465\nHGNC:5466\nHGNC:28866\nHGNC:28867\nHGNC:28868\nHGNC:5467\nHGNC:5468\nHGNC:5469\nHGNC:5471\nHGNC:5472\nHGNC:5473\nHGNC:5474\nHGNC:5475\nHGNC:5476\nHGNC:20081\nHGNC:24093\nHGNC:32929\nHGNC:32930\nHGNC:32931\nHGNC:23620\nHGNC:24607\nHGNC:5477\nHGNC:5542\nHGNC:33847\nHGNC:5715\nHGNC:5853\nHGNC:5870\nHGNC:38476\nHGNC:34550\nHGNC:5948\nHGNC:5950\nHGNC:5952\nHGNC:5953\nHGNC:17813\nHGNC:18132\nHGNC:32326\nHGNC:26384\nHGNC:16669\nHGNC:28246\nHGNC:26750\nHGNC:40040\nHGNC:5956\nHGNC:5958\nHGNC:26430\nHGNC:5960\nHGNC:14552\nHGNC:5961\nHGNC:13176\nHGNC:13177\nHGNC:13178\nHGNC:13179\nHGNC:14283\nHGNC:5991\nHGNC:5992\nHGNC:15552\nHGNC:5993\nHGNC:5994\nHGNC:5995\nHGNC:5996\nHGNC:5997\nHGNC:5998\nHGNC:5999\nHGNC:6000\nHGNC:6001\nHGNC:6008\nHGNC:6009\nHGNC:6010\nHGNC:6011\nHGNC:6012\nHGNC:6014\nHGNC:19094\nHGNC:6015\nHGNC:6016\nHGNC:6017\nHGNC:6018\nHGNC:6019\nHGNC:6021\nHGNC:6023\nHGNC:6024\nHGNC:6029\nHGNC:6030\nHGNC:5962\nHGNC:5964\nHGNC:5965\nHGNC:5966\nHGNC:5967\nHGNC:5969\nHGNC:5970\nHGNC:5971\nHGNC:5972\nHGNC:5973\nHGNC:5974\nHGNC:5975\nHGNC:5977\nHGNC:5978\nHGNC:5980\nHGNC:5981\nHGNC:5982\nHGNC:5983\nHGNC:5984\nHGNC:16404\nHGNC:5985\nHGNC:18015\nHGNC:18358\nHGNC:17616\nHGNC:18439\nHGNC:33808\nHGNC:5986\nHGNC:5987\nHGNC:5988\nHGNC:5989\nHGNC:5990\nHGNC:6002\nHGNC:6003\nHGNC:6004\nHGNC:6005\nHGNC:6006\nHGNC:14900\nHGNC:13700\nHGNC:14901\nHGNC:15488\nHGNC:19100\nHGNC:11346\nHGNC:13765\nHGNC:17119\nHGNC:19157\nHGNC:17290\nHGNC:19372\nHGNC:18969\nHGNC:16830\nHGNC:16028\nHGNC:28529\nHGNC:15562\nHGNC:15564\nHGNC:15741\nHGNC:15561\nHGNC:15563\nHGNC:28741\nHGNC:18131\nHGNC:6037\nHGNC:6038\nHGNC:6040\nHGNC:15566\nHGNC:21215\nHGNC:6041\nHGNC:26317\nHGNC:14598\nHGNC:6047\nHGNC:14497\nHGNC:30856\nHGNC:6050\nHGNC:6051\nHGNC:20387\nHGNC:26019\nHGNC:6052\nHGNC:6053\nHGNC:6055\nHGNC:18362\nHGNC:6057\nHGNC:27406\nHGNC:35165\nHGNC:25599\nHGNC:32224\nHGNC:6058\nHGNC:23791\nHGNC:6062\nHGNC:6063\nHGNC:14587\nHGNC:19423\nHGNC:19421\nHGNC:6065\nHGNC:6066\nHGNC:6067\nHGNC:6068\nHGNC:24029\nHGNC:24994\nHGNC:32480\nHGNC:28045\nHGNC:6069\nHGNC:26956\nHGNC:13324\nHGNC:26994\nHGNC:25997\nHGNC:26905\nHGNC:6071\nHGNC:6074\nHGNC:6075\nHGNC:6076\nHGNC:6077\nHGNC:6079\nHGNC:21474\nHGNC:17054\nHGNC:8956\nHGNC:33882\nHGNC:6080\nHGNC:6081\nHGNC:33116\nHGNC:6083\nHGNC:20452\nHGNC:6086\nHGNC:6087\nHGNC:6088\nHGNC:6089\nHGNC:6090\nHGNC:17539\nHGNC:6091\nHGNC:6093\nHGNC:33753\nHGNC:33859\nHGNC:37271\nHGNC:24555\nHGNC:29241\nHGNC:26153\nHGNC:25048\nHGNC:29352\nHGNC:14879\nHGNC:27334\nHGNC:24484\nHGNC:26048\nHGNC:25592\nHGNC:25548\nHGNC:26052\nHGNC:25067\nHGNC:20174\nHGNC:25372\nHGNC:29239\nHGNC:17870\nHGNC:18360\nHGNC:17313\nHGNC:17269\nHGNC:21204\nHGNC:20739\nHGNC:19426\nHGNC:6402\nHGNC:9852\nHGNC:9853\nHGNC:19425\nHGNC:20628\nHGNC:16853\nHGNC:6108\nHGNC:14645\nHGNC:49576\nHGNC:26195\nHGNC:22831\nHGNC:28949\nHGNC:25545\nHGNC:25168\nHGNC:29171\nHGNC:28607\nHGNC:31815\nHGNC:31816\nHGNC:35159\nHGNC:35158\nHGNC:25251\nHGNC:25721\nHGNC:32406\nHGNC:28556\nHGNC:53443\nHGNC:29350\nHGNC:6110\nHGNC:6111\nHGNC:20669\nHGNC:29112\nHGNC:29059\nHGNC:29193\nHGNC:21995\nHGNC:6112\nHGNC:17368\nHGNC:6113\nHGNC:17020\nHGNC:17967\nHGNC:6115\nHGNC:6116\nHGNC:6117\nHGNC:21728\nHGNC:21729\nHGNC:14282\nHGNC:6118\nHGNC:6119\nHGNC:6120\nHGNC:6121\nHGNC:6122\nHGNC:5358\nHGNC:6131\nHGNC:28835\nHGNC:29597\nHGNC:24868\nHGNC:6125\nHGNC:6126\nHGNC:6128\nHGNC:14358\nHGNC:14359\nHGNC:14360\nHGNC:6129\nHGNC:14361\nHGNC:14675\nHGNC:28660\nHGNC:19857\nHGNC:29882\nHGNC:4053\nHGNC:6130\nHGNC:25745\nHGNC:6132\nHGNC:18524\nHGNC:6133\nHGNC:29286\nHGNC:16213\nHGNC:23176\nHGNC:24254\nHGNC:26278\nHGNC:28977\nHGNC:28084\nHGNC:29201\nHGNC:29821\nHGNC:13890\nHGNC:30697\nHGNC:30879\nHGNC:6134\nHGNC:6137\nHGNC:6138\nHGNC:6139\nHGNC:6140\nHGNC:6141\nHGNC:6142\nHGNC:6143\nHGNC:6144\nHGNC:6145\nHGNC:6135\nHGNC:6136\nHGNC:6146\nHGNC:6147\nHGNC:6148\nHGNC:6149\nHGNC:6150\nHGNC:6152\nHGNC:6153\nHGNC:23927\nHGNC:6154\nHGNC:6155\nHGNC:6156\nHGNC:6157\nHGNC:6158\nHGNC:6160\nHGNC:6161\nHGNC:6162\nHGNC:6163\nHGNC:6164\nHGNC:6166\nHGNC:6167\nHGNC:6168\nHGNC:6169\nHGNC:21449\nHGNC:28907\nHGNC:6171\nHGNC:18259\nHGNC:20599\nHGNC:6173\nHGNC:6174\nHGNC:6175\nHGNC:6176\nHGNC:6177\nHGNC:6178\nHGNC:6179\nHGNC:14897\nHGNC:6180\nHGNC:6181\nHGNC:6182\nHGNC:27363\nHGNC:11319\nHGNC:29370\nHGNC:29371\nHGNC:27257\nHGNC:6183\nHGNC:6184\nHGNC:6186\nHGNC:6187\nHGNC:16951\nHGNC:25467\nHGNC:21071\nHGNC:28539\nHGNC:32565\nHGNC:28518\nHGNC:31421\nHGNC:26950\nHGNC:30027\nHGNC:22984\nHGNC:22982\nHGNC:6188\nHGNC:6189\nHGNC:26926\nHGNC:6190\nHGNC:6192\nHGNC:6193\nHGNC:26460\nHGNC:29067\nHGNC:23523\nHGNC:14686\nHGNC:15532\nHGNC:19084\nHGNC:6196\nHGNC:28917\nHGNC:29283\nHGNC:5713\nHGNC:17546\nHGNC:26288\nHGNC:20184\nHGNC:12313\nHGNC:25724\nHGNC:19355\nHGNC:34397\nHGNC:14148\nHGNC:28916\nHGNC:28953\nHGNC:28853\nHGNC:14201\nHGNC:14202\nHGNC:14203\nHGNC:20156\nHGNC:14569\nHGNC:14137\nHGNC:6199\nHGNC:6200\nHGNC:24963\nHGNC:6201\nHGNC:6204\nHGNC:6205\nHGNC:6206\nHGNC:6207\nHGNC:21031\nHGNC:4814\nHGNC:19309\nHGNC:29300\nHGNC:24796\nHGNC:27263\nHGNC:24565\nHGNC:26310\nHGNC:26024\nHGNC:25473\nHGNC:6215\nHGNC:4201\nHGNC:8638\nHGNC:5275\nHGNC:13013\nHGNC:17582\nHGNC:17016\nHGNC:17933\nHGNC:15904\nHGNC:6216\nHGNC:28361\nHGNC:25387\nHGNC:6217\nHGNC:26199\nHGNC:25460\nHGNC:29173\nHGNC:21751\nHGNC:22934\nHGNC:23761\nHGNC:25340\nHGNC:25266\nHGNC:30691\nHGNC:29104\nHGNC:25731\nHGNC:37227\nHGNC:20589\nHGNC:6218\nHGNC:6220\nHGNC:6221\nHGNC:6222\nHGNC:6224\nHGNC:6225\nHGNC:6226\nHGNC:6219\nHGNC:6228\nHGNC:6229\nHGNC:6230\nHGNC:6231\nHGNC:6232\nHGNC:6233\nHGNC:6234\nHGNC:6235\nHGNC:6236\nHGNC:6237\nHGNC:6238\nHGNC:6239\nHGNC:6240\nHGNC:52280\nHGNC:6242\nHGNC:6243\nHGNC:6244\nHGNC:6241\nHGNC:6246\nHGNC:6248\nHGNC:6249\nHGNC:18306\nHGNC:19697\nHGNC:6250\nHGNC:6251\nHGNC:6252\nHGNC:6253\nHGNC:6254\nHGNC:18862\nHGNC:18863\nHGNC:18864\nHGNC:15521\nHGNC:15522\nHGNC:15523\nHGNC:30083\nHGNC:6255\nHGNC:6263\nHGNC:6264\nHGNC:6265\nHGNC:6266\nHGNC:6267\nHGNC:6269\nHGNC:6270\nHGNC:6256\nHGNC:6257\nHGNC:6258\nHGNC:6259\nHGNC:6260\nHGNC:6261\nHGNC:6262\nHGNC:39080\nHGNC:6272\nHGNC:6277\nHGNC:6278\nHGNC:6279\nHGNC:6280\nHGNC:6281\nHGNC:6282\nHGNC:6283\nHGNC:6273\nHGNC:6274\nHGNC:6275\nHGNC:13814\nHGNC:14464\nHGNC:14465\nHGNC:19439\nHGNC:6284\nHGNC:6285\nHGNC:6286\nHGNC:6287\nHGNC:6289\nHGNC:6290\nHGNC:6291\nHGNC:6292\nHGNC:6293\nHGNC:6294\nHGNC:6296\nHGNC:6297\nHGNC:6298\nHGNC:6299\nHGNC:18893\nHGNC:6300\nHGNC:6301\nHGNC:6302\nHGNC:18865\nHGNC:18866\nHGNC:18867\nHGNC:18861\nHGNC:19698\nHGNC:17585\nHGNC:18249\nHGNC:21294\nHGNC:21305\nHGNC:23227\nHGNC:21423\nHGNC:22235\nHGNC:21957\nHGNC:22394\nHGNC:22401\nHGNC:23236\nHGNC:21302\nHGNC:14678\nHGNC:22234\nHGNC:23295\nHGNC:23297\nHGNC:29244\nHGNC:25705\nHGNC:26446\nHGNC:24753\nHGNC:21052\nHGNC:27452\nHGNC:6304\nHGNC:6305\nHGNC:6306\nHGNC:26624\nHGNC:29079\nHGNC:21577\nHGNC:13606\nHGNC:13610\nHGNC:20815\nHGNC:1337\nHGNC:22978\nHGNC:29136\nHGNC:17071\nHGNC:25498\nHGNC:37098\nHGNC:9886\nHGNC:18039\nHGNC:11114\nHGNC:11115\nHGNC:12637\nHGNC:29012\nHGNC:22224\nHGNC:25840\nHGNC:6307\nHGNC:4021\nHGNC:23177\nHGNC:6308\nHGNC:6309\nHGNC:21366\nHGNC:37274\nHGNC:33699\nHGNC:29145\nHGNC:18116\nHGNC:18114\nHGNC:18117\nHGNC:6315\nHGNC:20166\nHGNC:6316\nHGNC:28950\nHGNC:28960\nHGNC:28992\nHGNC:21580\nHGNC:30071\nHGNC:29016\nHGNC:21636\nHGNC:29058\nHGNC:29068\nHGNC:19960\nHGNC:29110\nHGNC:29111\nHGNC:28532\nHGNC:22206\nHGNC:34408\nHGNC:1314\nHGNC:29192\nHGNC:26953\nHGNC:29198\nHGNC:29209\nHGNC:29218\nHGNC:33454\nHGNC:25428\nHGNC:29231\nHGNC:29618\nHGNC:21945\nHGNC:29248\nHGNC:29301\nHGNC:22219\nHGNC:24836\nHGNC:21360\nHGNC:29327\nHGNC:29345\nHGNC:29372\nHGNC:29387\nHGNC:23427\nHGNC:51250\nHGNC:28513\nHGNC:23378\nHGNC:29508\nHGNC:888\nHGNC:16636\nHGNC:6317\nHGNC:6318\nHGNC:29443\nHGNC:6393\nHGNC:6319\nHGNC:6320\nHGNC:6321\nHGNC:13339\nHGNC:6322\nHGNC:6323\nHGNC:6324\nHGNC:6325\nHGNC:21202\nHGNC:30497\nHGNC:16666\nHGNC:6388\nHGNC:21495\nHGNC:14566\nHGNC:14405\nHGNC:19181\nHGNC:17273\nHGNC:15869\nHGNC:19167\nHGNC:29441\nHGNC:27102\nHGNC:26735\nHGNC:9787\nHGNC:7212\nHGNC:19349\nHGNC:29442\nHGNC:6391\nHGNC:6392\nHGNC:19916\nHGNC:6390\nHGNC:20226\nHGNC:25484\nHGNC:18632\nHGNC:17060\nHGNC:23419\nHGNC:6389\nHGNC:29530\nHGNC:6326\nHGNC:6327\nHGNC:6329\nHGNC:6330\nHGNC:6331\nHGNC:6332\nHGNC:16345\nHGNC:16346\nHGNC:6333\nHGNC:6334\nHGNC:6335\nHGNC:6336\nHGNC:6337\nHGNC:6338\nHGNC:6339\nHGNC:16312\nHGNC:6340\nHGNC:15734\nHGNC:18816\nHGNC:23204\nHGNC:6341\nHGNC:4510\nHGNC:6342\nHGNC:6343\nHGNC:15865\nHGNC:6344\nHGNC:15527\nHGNC:6387\nHGNC:20716\nHGNC:20717\nHGNC:21624\nHGNC:6345\nHGNC:6347\nHGNC:16516\nHGNC:6348\nHGNC:6349\nHGNC:2235\nHGNC:6350\nHGNC:6351\nHGNC:1123\nHGNC:11810\nHGNC:11811\nHGNC:6346\nHGNC:13672\nHGNC:23025\nHGNC:14536\nHGNC:16857\nHGNC:18830\nHGNC:51793\nHGNC:19836\nHGNC:20231\nHGNC:20704\nHGNC:25272\nHGNC:26791\nHGNC:25145\nHGNC:25573\nHGNC:28557\nHGNC:28489\nHGNC:22194\nHGNC:6352\nHGNC:6353\nHGNC:6354\nHGNC:6355\nHGNC:6356\nHGNC:18653\nHGNC:15646\nHGNC:18644\nHGNC:18732\nHGNC:18829\nHGNC:19008\nHGNC:19360\nHGNC:22931\nHGNC:29266\nHGNC:29347\nHGNC:24023\nHGNC:29120\nHGNC:25056\nHGNC:29041\nHGNC:25888\nHGNC:27506\nHGNC:25947\nHGNC:25732\nHGNC:25623\nHGNC:19741\nHGNC:29404\nHGNC:24770\nHGNC:21353\nHGNC:21221\nHGNC:31952\nHGNC:26634\nHGNC:26597\nHGNC:17844\nHGNC:34435\nHGNC:30372\nHGNC:16905\nHGNC:29252\nHGNC:6357\nHGNC:6363\nHGNC:6364\nHGNC:6365\nHGNC:6366\nHGNC:6367\nHGNC:6368\nHGNC:6369\nHGNC:6370\nHGNC:6358\nHGNC:6359\nHGNC:6360\nHGNC:6361\nHGNC:6362\nHGNC:20453\nHGNC:6371\nHGNC:37212\nHGNC:6373\nHGNC:6374\nHGNC:6375\nHGNC:6376\nHGNC:6377\nHGNC:6378\nHGNC:13342\nHGNC:37646\nHGNC:6380\nHGNC:24778\nHGNC:18788\nHGNC:6381\nHGNC:7132\nHGNC:15840\nHGNC:13726\nHGNC:7133\nHGNC:18541\nHGNC:29489\nHGNC:24283\nHGNC:28405\nHGNC:26488\nHGNC:29374\nHGNC:6383\nHGNC:24054\nHGNC:34404\nHGNC:30767\nHGNC:17255\nHGNC:6394\nHGNC:6395\nHGNC:6396\nHGNC:6397\nHGNC:6398\nHGNC:6399\nHGNC:21839\nHGNC:6400\nHGNC:31823\nHGNC:6404\nHGNC:6407\nHGNC:22228\nHGNC:26989\nHGNC:38708\nHGNC:26007\nHGNC:28039\nHGNC:17550\nHGNC:18797\nHGNC:25769\nHGNC:1573\nHGNC:5176\nHGNC:6412\nHGNC:6439\nHGNC:6440\nHGNC:6441\nHGNC:6442\nHGNC:6443\nHGNC:6444\nHGNC:20406\nHGNC:6445\nHGNC:6446\nHGNC:6447\nHGNC:6413\nHGNC:6414\nHGNC:6415\nHGNC:6416\nHGNC:6421\nHGNC:6423\nHGNC:6427\nHGNC:6430\nHGNC:6436\nHGNC:20412\nHGNC:6438\nHGNC:18527\nHGNC:30839\nHGNC:30840\nHGNC:30841\nHGNC:30842\nHGNC:6448\nHGNC:6449\nHGNC:6450\nHGNC:6451\nHGNC:6452\nHGNC:6453\nHGNC:6454\nHGNC:6455\nHGNC:6456\nHGNC:32971\nHGNC:26707\nHGNC:28927\nHGNC:28932\nHGNC:28928\nHGNC:28929\nHGNC:24431\nHGNC:24430\nHGNC:20411\nHGNC:28926\nHGNC:28930\nHGNC:27056\nHGNC:6458\nHGNC:6459\nHGNC:6460\nHGNC:6461\nHGNC:6462\nHGNC:6463\nHGNC:28695\nHGNC:16772\nHGNC:16771\nHGNC:18904\nHGNC:16777\nHGNC:16775\nHGNC:18905\nHGNC:18906\nHGNC:18891\nHGNC:16778\nHGNC:16779\nHGNC:18890\nHGNC:18907\nHGNC:18900\nHGNC:18908\nHGNC:16928\nHGNC:18899\nHGNC:18909\nHGNC:18898\nHGNC:17230\nHGNC:18910\nHGNC:18911\nHGNC:16776\nHGNC:23596\nHGNC:23597\nHGNC:23598\nHGNC:23599\nHGNC:23601\nHGNC:23600\nHGNC:23602\nHGNC:23603\nHGNC:23604\nHGNC:23605\nHGNC:23606\nHGNC:18931\nHGNC:18932\nHGNC:18933\nHGNC:18934\nHGNC:18935\nHGNC:18912\nHGNC:16926\nHGNC:16927\nHGNC:18902\nHGNC:18914\nHGNC:18915\nHGNC:17231\nHGNC:16773\nHGNC:22966\nHGNC:22967\nHGNC:22968\nHGNC:20521\nHGNC:22969\nHGNC:20523\nHGNC:22970\nHGNC:20525\nHGNC:22971\nHGNC:22972\nHGNC:20528\nHGNC:20533\nHGNC:18922\nHGNC:20529\nHGNC:20530\nHGNC:20531\nHGNC:20532\nHGNC:18924\nHGNC:18923\nHGNC:18925\nHGNC:18926\nHGNC:18927\nHGNC:18916\nHGNC:18917\nHGNC:18936\nHGNC:18937\nHGNC:18938\nHGNC:18939\nHGNC:18940\nHGNC:18941\nHGNC:18942\nHGNC:33898\nHGNC:18943\nHGNC:18944\nHGNC:34001\nHGNC:18945\nHGNC:18946\nHGNC:34216\nHGNC:18947\nHGNC:37091\nHGNC:18928\nHGNC:33902\nHGNC:34003\nHGNC:33760\nHGNC:33864\nHGNC:34211\nHGNC:28942\nHGNC:28943\nHGNC:16313\nHGNC:6465\nHGNC:18610\nHGNC:25160\nHGNC:6467\nHGNC:28420\nHGNC:26576\nHGNC:1564\nHGNC:33238\nHGNC:6469\nHGNC:6470\nHGNC:25595\nHGNC:20499\nHGNC:20488\nHGNC:15905\nHGNC:18594\nHGNC:23035\nHGNC:26677\nHGNC:26789\nHGNC:16430\nHGNC:16468\nHGNC:18512\nHGNC:35445\nHGNC:6472\nHGNC:6476\nHGNC:26058\nHGNC:6477\nHGNC:6478\nHGNC:6480\nHGNC:6481\nHGNC:6482\nHGNC:6483\nHGNC:6484\nHGNC:6485\nHGNC:6486\nHGNC:6487\nHGNC:6490\nHGNC:6491\nHGNC:6492\nHGNC:6493\nHGNC:6494\nHGNC:6499\nHGNC:6501\nHGNC:14582\nHGNC:16097\nHGNC:26068\nHGNC:29796\nHGNC:15606\nHGNC:33772\nHGNC:17955\nHGNC:6508\nHGNC:6509\nHGNC:24767\nHGNC:18449\nHGNC:6924\nHGNC:13646\nHGNC:29612\nHGNC:6511\nHGNC:16522\nHGNC:29531\nHGNC:24704\nHGNC:24320\nHGNC:28987\nHGNC:24012\nHGNC:24912\nHGNC:6512\nHGNC:17095\nHGNC:25726\nHGNC:6513\nHGNC:18874\nHGNC:12749\nHGNC:6514\nHGNC:6515\nHGNC:26005\nHGNC:29471\nHGNC:29532\nHGNC:28351\nHGNC:52384\nHGNC:6517\nHGNC:6518\nHGNC:16960\nHGNC:15525\nHGNC:31923\nHGNC:1255\nHGNC:6522\nHGNC:29459\nHGNC:16611\nHGNC:29464\nHGNC:29465\nHGNC:29466\nHGNC:29467\nHGNC:29469\nHGNC:16610\nHGNC:29460\nHGNC:16518\nHGNC:29461\nHGNC:29462\nHGNC:16612\nHGNC:16615\nHGNC:29463\nHGNC:16613\nHGNC:16614\nHGNC:31824\nHGNC:6524\nHGNC:26756\nHGNC:17557\nHGNC:17558\nHGNC:6525\nHGNC:6526\nHGNC:17337\nHGNC:27038\nHGNC:17442\nHGNC:20892\nHGNC:28733\nHGNC:33777\nHGNC:34436\nHGNC:29503\nHGNC:30776\nHGNC:6528\nHGNC:6529\nHGNC:6530\nHGNC:15583\nHGNC:26145\nHGNC:6532\nHGNC:6533\nHGNC:15710\nHGNC:6535\nHGNC:28335\nHGNC:21481\nHGNC:6541\nHGNC:6544\nHGNC:19708\nHGNC:6547\nHGNC:32069\nHGNC:32071\nHGNC:27046\nHGNC:1224\nHGNC:18640\nHGNC:6548\nHGNC:29571\nHGNC:6550\nHGNC:6551\nHGNC:6552\nHGNC:3122\nHGNC:33765\nHGNC:32046\nHGNC:18725\nHGNC:21244\nHGNC:28887\nHGNC:14429\nHGNC:15502\nHGNC:15500\nHGNC:16306\nHGNC:30401\nHGNC:6553\nHGNC:6554\nHGNC:29477\nHGNC:6555\nHGNC:6556\nHGNC:14648\nHGNC:24241\nHGNC:31953\nHGNC:26854\nHGNC:6560\nHGNC:6561\nHGNC:6562\nHGNC:6563\nHGNC:6564\nHGNC:6565\nHGNC:6568\nHGNC:34447\nHGNC:6569\nHGNC:6570\nHGNC:24842\nHGNC:33874\nHGNC:15788\nHGNC:15449\nHGNC:30054\nHGNC:40039\nHGNC:25012\nHGNC:6572\nHGNC:18710\nHGNC:18711\nHGNC:18712\nHGNC:9472\nHGNC:13299\nHGNC:4504\nHGNC:19719\nHGNC:21016\nHGNC:6584\nHGNC:6585\nHGNC:6587\nHGNC:6588\nHGNC:6589\nHGNC:29568\nHGNC:21253\nHGNC:6586\nHGNC:30042\nHGNC:6593\nHGNC:6594\nHGNC:6595\nHGNC:21734\nHGNC:14216\nHGNC:21735\nHGNC:28838\nHGNC:14222\nHGNC:16429\nHGNC:6596\nHGNC:6597\nHGNC:6598\nHGNC:6600\nHGNC:6601\nHGNC:6602\nHGNC:6603\nHGNC:6604\nHGNC:15503\nHGNC:16309\nHGNC:15495\nHGNC:6605\nHGNC:6606\nHGNC:6607\nHGNC:6608\nHGNC:6609\nHGNC:6610\nHGNC:24636\nHGNC:29191\nHGNC:6612\nHGNC:28142\nHGNC:26016\nHGNC:6613\nHGNC:6614\nHGNC:6616\nHGNC:16084\nHGNC:30047\nHGNC:39941\nHGNC:17787\nHGNC:17788\nHGNC:17789\nHGNC:30830\nHGNC:15986\nHGNC:32207\nHGNC:33234\nHGNC:19856\nHGNC:25397\nHGNC:21205\nHGNC:21207\nHGNC:21206\nHGNC:31814\nHGNC:30922\nHGNC:6617\nHGNC:6619\nHGNC:6621\nHGNC:6622\nHGNC:6623\nHGNC:18483\nHGNC:18821\nHGNC:21773\nHGNC:23444\nHGNC:23455\nHGNC:23452\nHGNC:29569\nHGNC:37216\nHGNC:16841\nHGNC:53927\nHGNC:18581\nHGNC:28715\nHGNC:33718\nHGNC:21750\nHGNC:6628\nHGNC:6629\nHGNC:28229\nHGNC:6631\nHGNC:6632\nHGNC:16986\nHGNC:19263\nHGNC:13243\nHGNC:18268\nHGNC:23038\nHGNC:25287\nHGNC:6633\nHGNC:14154\nHGNC:25096\nHGNC:15991\nHGNC:53647\nHGNC:6636\nHGNC:6637\nHGNC:6638\nHGNC:26683\nHGNC:28561\nHGNC:6641\nHGNC:6642\nHGNC:6643\nHGNC:6644\nHGNC:6646\nHGNC:6647\nHGNC:6648\nHGNC:6649\nHGNC:17880\nHGNC:19295\nHGNC:6653\nHGNC:6654\nHGNC:28014\nHGNC:6656\nHGNC:21610\nHGNC:6657\nHGNC:20421\nHGNC:9479\nHGNC:20598\nHGNC:26302\nHGNC:24788\nHGNC:21152\nHGNC:6663\nHGNC:6664\nHGNC:26521\nHGNC:6665\nHGNC:6666\nHGNC:13869\nHGNC:17171\nHGNC:6667\nHGNC:3166\nHGNC:3168\nHGNC:14298\nHGNC:4478\nHGNC:13307\nHGNC:15520\nHGNC:25718\nHGNC:26032\nHGNC:30244\nHGNC:30059\nHGNC:28985\nHGNC:13345\nHGNC:14450\nHGNC:14451\nHGNC:6677\nHGNC:6678\nHGNC:6679\nHGNC:14061\nHGNC:6685\nHGNC:20743\nHGNC:24166\nHGNC:1742\nHGNC:20309\nHGNC:29292\nHGNC:28637\nHGNC:6691\nHGNC:44160\nHGNC:29290\nHGNC:21226\nHGNC:28370\nHGNC:28456\nHGNC:20360\nHGNC:29480\nHGNC:21964\nHGNC:30299\nHGNC:17360\nHGNC:20889\nHGNC:30991\nHGNC:23404\nHGNC:23443\nHGNC:24783\nHGNC:23405\nHGNC:6690\nHGNC:6692\nHGNC:6693\nHGNC:6694\nHGNC:25434\nHGNC:6695\nHGNC:6696\nHGNC:6697\nHGNC:25323\nHGNC:6698\nHGNC:6700\nHGNC:14553\nHGNC:16936\nHGNC:31708\nHGNC:6701\nHGNC:15714\nHGNC:19742\nHGNC:14307\nHGNC:14676\nHGNC:14965\nHGNC:28105\nHGNC:40034\nHGNC:15586\nHGNC:25042\nHGNC:29317\nHGNC:16725\nHGNC:18531\nHGNC:19027\nHGNC:30692\nHGNC:25075\nHGNC:16992\nHGNC:26272\nHGNC:19848\nHGNC:20264\nHGNC:37215\nHGNC:20419\nHGNC:37268\nHGNC:20818\nHGNC:16895\nHGNC:23199\nHGNC:23379\nHGNC:23421\nHGNC:19138\nHGNC:28947\nHGNC:29806\nHGNC:31409\nHGNC:29346\nHGNC:28355\nHGNC:13605\nHGNC:30219\nHGNC:26261\nHGNC:4161\nHGNC:28408\nHGNC:25615\nHGNC:29069\nHGNC:32404\nHGNC:32427\nHGNC:29070\nHGNC:27005\nHGNC:28228\nHGNC:26004\nHGNC:16917\nHGNC:28792\nHGNC:28562\nHGNC:28302\nHGNC:25047\nHGNC:29207\nHGNC:25965\nHGNC:32156\nHGNC:25255\nHGNC:32324\nHGNC:25430\nHGNC:26719\nHGNC:26968\nHGNC:28817\nHGNC:21704\nHGNC:34296\nHGNC:34299\nHGNC:34303\nHGNC:35155\nHGNC:26556\nHGNC:42972\nHGNC:21375\nHGNC:23346\nHGNC:34301\nHGNC:32403\nHGNC:33155\nHGNC:29373\nHGNC:34300\nHGNC:6702\nHGNC:6703\nHGNC:25708\nHGNC:28318\nHGNC:34298\nHGNC:18608\nHGNC:18618\nHGNC:20980\nHGNC:16914\nHGNC:17200\nHGNC:16208\nHGNC:33724\nHGNC:19408\nHGNC:19409\nHGNC:19410\nHGNC:19411\nHGNC:25135\nHGNC:25023\nHGNC:32443\nHGNC:25033\nHGNC:21769\nHGNC:6705\nHGNC:25652\nHGNC:20472\nHGNC:13940\nHGNC:17874\nHGNC:17259\nHGNC:17162\nHGNC:17017\nHGNC:20470\nHGNC:20471\nHGNC:17562\nHGNC:30860\nHGNC:26407\nHGNC:24489\nHGNC:15887\nHGNC:22036\nHGNC:26781\nHGNC:6707\nHGNC:29572\nHGNC:6708\nHGNC:14189\nHGNC:6709\nHGNC:6710\nHGNC:6711\nHGNC:6713\nHGNC:19260\nHGNC:6714\nHGNC:6715\nHGNC:6716\nHGNC:6717\nHGNC:6718\nHGNC:6719\nHGNC:6720\nHGNC:6721\nHGNC:13082\nHGNC:17589\nHGNC:21173\nHGNC:6723\nHGNC:21608\nHGNC:24309\nHGNC:6724\nHGNC:32327\nHGNC:31452\nHGNC:14985\nHGNC:23206\nHGNC:24971\nHGNC:33955\nHGNC:26904\nHGNC:13347\nHGNC:13348\nHGNC:6727\nHGNC:13931\nHGNC:13932\nHGNC:13936\nHGNC:13935\nHGNC:13933\nHGNC:6728\nHGNC:24225\nHGNC:52284\nHGNC:6730\nHGNC:6729\nHGNC:16837\nHGNC:17156\nHGNC:26021\nHGNC:27014\nHGNC:29615\nHGNC:6734\nHGNC:6735\nHGNC:29604\nHGNC:28431\nHGNC:25215\nHGNC:24880\nHGNC:28659\nHGNC:26397\nHGNC:28751\nHGNC:27018\nHGNC:44208\nHGNC:6737\nHGNC:6738\nHGNC:20440\nHGNC:25074\nHGNC:25229\nHGNC:21365\nHGNC:28072\nHGNC:27314\nHGNC:32070\nHGNC:28571\nHGNC:26969\nHGNC:26571\nHGNC:1968\nHGNC:14687\nHGNC:6740\nHGNC:30502\nHGNC:29613\nHGNC:28387\nHGNC:29614\nHGNC:17497\nHGNC:6741\nHGNC:6742\nHGNC:13861\nHGNC:29381\nHGNC:30139\nHGNC:25183\nHGNC:6752\nHGNC:24010\nHGNC:6757\nHGNC:6758\nHGNC:26787\nHGNC:26216\nHGNC:30215\nHGNC:13664\nHGNC:25052\nHGNC:25572\nHGNC:29598\nHGNC:16126\nHGNC:4740\nHGNC:14453\nHGNC:6762\nHGNC:6763\nHGNC:21059\nHGNC:6764\nHGNC:6765\nHGNC:6766\nHGNC:13731\nHGNC:25929\nHGNC:6776\nHGNC:24966\nHGNC:23145\nHGNC:6408\nHGNC:6780\nHGNC:6781\nHGNC:6782\nHGNC:6783\nHGNC:6796\nHGNC:6800\nHGNC:19340\nHGNC:6801\nHGNC:6802\nHGNC:6804\nHGNC:6806\nHGNC:6807\nHGNC:31909\nHGNC:6797\nHGNC:6798\nHGNC:6799\nHGNC:6808\nHGNC:6809\nHGNC:6810\nHGNC:6811\nHGNC:23795\nHGNC:23796\nHGNC:25377\nHGNC:21188\nHGNC:17418\nHGNC:28515\nHGNC:6812\nHGNC:13574\nHGNC:23798\nHGNC:6813\nHGNC:16353\nHGNC:23793\nHGNC:22880\nHGNC:24934\nHGNC:24935\nHGNC:29639\nHGNC:24092\nHGNC:6814\nHGNC:946\nHGNC:18957\nHGNC:29647\nHGNC:30006\nHGNC:6815\nHGNC:25504\nHGNC:28880\nHGNC:26198\nHGNC:27441\nHGNC:6816\nHGNC:13703\nHGNC:6817\nHGNC:13634\nHGNC:6818\nHGNC:24331\nHGNC:21721\nHGNC:6819\nHGNC:23673\nHGNC:24083\nHGNC:13632\nHGNC:16259\nHGNC:16272\nHGNC:2568\nHGNC:26689\nHGNC:6821\nHGNC:6822\nHGNC:6823\nHGNC:19080\nHGNC:6824\nHGNC:6825\nHGNC:6826\nHGNC:29623\nHGNC:6827\nHGNC:6831\nHGNC:15799\nHGNC:21072\nHGNC:26452\nHGNC:15461\nHGNC:25505\nHGNC:40023\nHGNC:6833\nHGNC:6834\nHGNC:6835\nHGNC:6836\nHGNC:6838\nHGNC:13352\nHGNC:34390\nHGNC:13353\nHGNC:15715\nHGNC:6839\nHGNC:6840\nHGNC:6842\nHGNC:6843\nHGNC:6844\nHGNC:6845\nHGNC:6846\nHGNC:6847\nHGNC:6848\nHGNC:6854\nHGNC:6855\nHGNC:6856\nHGNC:6857\nHGNC:6858\nHGNC:6859\nHGNC:16457\nHGNC:6860\nHGNC:6861\nHGNC:6849\nHGNC:6850\nHGNC:6851\nHGNC:6852\nHGNC:6853\nHGNC:31689\nHGNC:26249\nHGNC:17797\nHGNC:29798\nHGNC:6862\nHGNC:6863\nHGNC:6864\nHGNC:6865\nHGNC:6866\nHGNC:6867\nHGNC:6868\nHGNC:25753\nHGNC:6869\nHGNC:25514\nHGNC:25899\nHGNC:25742\nHGNC:26118\nHGNC:29265\nHGNC:25604\nHGNC:6871\nHGNC:19840\nHGNC:6877\nHGNC:6878\nHGNC:6879\nHGNC:6880\nHGNC:6881\nHGNC:6882\nHGNC:6883\nHGNC:6884\nHGNC:6886\nHGNC:6872\nHGNC:6873\nHGNC:6874\nHGNC:6875\nHGNC:6876\nHGNC:24667\nHGNC:18752\nHGNC:6887\nHGNC:6888\nHGNC:6889\nHGNC:29536\nHGNC:6890\nHGNC:6891\nHGNC:6892\nHGNC:6893\nHGNC:26077\nHGNC:28038\nHGNC:28728\nHGNC:29269\nHGNC:26025\nHGNC:30550\nHGNC:17393\nHGNC:23356\nHGNC:25139\nHGNC:26655\nHGNC:33609\nHGNC:6759\nHGNC:7142\nHGNC:6895\nHGNC:53644\nHGNC:29562\nHGNC:6896\nHGNC:3332\nHGNC:6897\nHGNC:13538\nHGNC:6898\nHGNC:25133\nHGNC:28674\nHGNC:26401\nHGNC:30525\nHGNC:6899\nHGNC:13961\nHGNC:6901\nHGNC:6902\nHGNC:19034\nHGNC:19035\nHGNC:19036\nHGNC:19037\nHGNC:19042\nHGNC:6903\nHGNC:6904\nHGNC:6905\nHGNC:6906\nHGNC:6907\nHGNC:6908\nHGNC:6909\nHGNC:6910\nHGNC:6912\nHGNC:29140\nHGNC:29233\nHGNC:6913\nHGNC:6914\nHGNC:6915\nHGNC:30438\nHGNC:6916\nHGNC:6917\nHGNC:6918\nHGNC:15774\nHGNC:18532\nHGNC:53435\nHGNC:37205\nHGNC:37206\nHGNC:37204\nHGNC:6919\nHGNC:20444\nHGNC:20445\nHGNC:20427\nHGNC:6922\nHGNC:22180\nHGNC:33711\nHGNC:6923\nHGNC:16746\nHGNC:20564\nHGNC:21579\nHGNC:25193\nHGNC:32311\nHGNC:15505\nHGNC:6925\nHGNC:19866\nHGNC:15456\nHGNC:15455\nHGNC:6929\nHGNC:6930\nHGNC:6931\nHGNC:6932\nHGNC:6933\nHGNC:6934\nHGNC:29622\nHGNC:6935\nHGNC:6936\nHGNC:6937\nHGNC:20668\nHGNC:16732\nHGNC:27291\nHGNC:6940\nHGNC:14576\nHGNC:30319\nHGNC:18451\nHGNC:4479\nHGNC:20867\nHGNC:40050\nHGNC:6943\nHGNC:6944\nHGNC:6945\nHGNC:6946\nHGNC:6947\nHGNC:6948\nHGNC:6949\nHGNC:6950\nHGNC:16147\nHGNC:21484\nHGNC:18043\nHGNC:25782\nHGNC:26368\nHGNC:13356\nHGNC:13357\nHGNC:13358\nHGNC:6954\nHGNC:28007\nHGNC:14142\nHGNC:6960\nHGNC:26183\nHGNC:25636\nHGNC:23357\nHGNC:23526\nHGNC:26076\nHGNC:21097\nHGNC:21163\nHGNC:6967\nHGNC:28870\nHGNC:53442\nHGNC:19267\nHGNC:19835\nHGNC:6970\nHGNC:17836\nHGNC:6971\nHGNC:6972\nHGNC:29917\nHGNC:6973\nHGNC:6974\nHGNC:18302\nHGNC:28781\nHGNC:6983\nHGNC:6984\nHGNC:6985\nHGNC:6986\nHGNC:25674\nHGNC:29325\nHGNC:3498\nHGNC:6990\nHGNC:19691\nHGNC:9234\nHGNC:17903\nHGNC:19970\nHGNC:2378\nHGNC:19971\nHGNC:25487\nHGNC:28760\nHGNC:32687\nHGNC:11957\nHGNC:16050\nHGNC:22474\nHGNC:22962\nHGNC:2370\nHGNC:40162\nHGNC:14248\nHGNC:17556\nHGNC:2375\nHGNC:25944\nHGNC:29600\nHGNC:16840\nHGNC:11473\nHGNC:11477\nHGNC:2372\nHGNC:22963\nHGNC:28845\nHGNC:2376\nHGNC:2377\nHGNC:24628\nHGNC:23074\nHGNC:23032\nHGNC:24260\nHGNC:25926\nHGNC:6993\nHGNC:6995\nHGNC:6996\nHGNC:6997\nHGNC:6998\nHGNC:3232\nHGNC:3233\nHGNC:3234\nHGNC:29634\nHGNC:29635\nHGNC:28613\nHGNC:43638\nHGNC:23429\nHGNC:51253\nHGNC:28569\nHGNC:26670\nHGNC:7000\nHGNC:7001\nHGNC:29537\nHGNC:16870\nHGNC:7037\nHGNC:14014\nHGNC:7010\nHGNC:7013\nHGNC:7014\nHGNC:7015\nHGNC:7020\nHGNC:20247\nHGNC:13361\nHGNC:7027\nHGNC:13520\nHGNC:29658\nHGNC:29659\nHGNC:7028\nHGNC:7029\nHGNC:15789\nHGNC:32583\nHGNC:16672\nHGNC:14151\nHGNC:27584\nHGNC:7030\nHGNC:25755\nHGNC:18272\nHGNC:17563\nHGNC:24726\nHGNC:25006\nHGNC:28343\nHGNC:24550\nHGNC:28276\nHGNC:25856\nHGNC:24586\nHGNC:31932\nHGNC:29330\nHGNC:26606\nHGNC:28484\nHGNC:19280\nHGNC:28793\nHGNC:30476\nHGNC:33717\nHGNC:28368\nHGNC:26988\nHGNC:21566\nHGNC:26228\nHGNC:14141\nHGNC:19068\nHGNC:33482\nHGNC:25297\nHGNC:28040\nHGNC:16734\nHGNC:7032\nHGNC:7033\nHGNC:7034\nHGNC:29083\nHGNC:7035\nHGNC:29673\nHGNC:24858\nHGNC:7036\nHGNC:16982\nHGNC:18262\nHGNC:16877\nHGNC:7038\nHGNC:18121\nHGNC:25874\nHGNC:25897\nHGNC:37207\nHGNC:25157\nHGNC:25433\nHGNC:21053\nHGNC:28156\nHGNC:24711\nHGNC:26656\nHGNC:28486\nHGNC:28158\nHGNC:16894\nHGNC:25458\nHGNC:28299\nHGNC:26196\nHGNC:23363\nHGNC:23376\nHGNC:23672\nHGNC:14010\nHGNC:7043\nHGNC:28101\nHGNC:29969\nHGNC:7044\nHGNC:7045\nHGNC:7046\nHGNC:7047\nHGNC:7048\nHGNC:30871\nHGNC:43619\nHGNC:7049\nHGNC:24140\nHGNC:17038\nHGNC:16205\nHGNC:7059\nHGNC:7060\nHGNC:20254\nHGNC:7061\nHGNC:7063\nHGNC:7064\nHGNC:7076\nHGNC:18432\nHGNC:24008\nHGNC:21086\nHGNC:30577\nHGNC:7090\nHGNC:20619\nHGNC:24693\nHGNC:24694\nHGNC:25933\nHGNC:29804\nHGNC:29672\nHGNC:7091\nHGNC:32068\nHGNC:33702\nHGNC:1530\nHGNC:31830\nHGNC:27820\nHGNC:7095\nHGNC:20715\nHGNC:7096\nHGNC:19853\nHGNC:16298\nHGNC:25979\nHGNC:17920\nHGNC:28230\nHGNC:29657\nHGNC:29210\nHGNC:26678\nHGNC:7097\nHGNC:24030\nHGNC:24741\nHGNC:23621\nHGNC:25715\nHGNC:27570\nHGNC:29172\nHGNC:33914\nHGNC:25648\nHGNC:26954\nHGNC:23578\nHGNC:21916\nHGNC:35475\nHGNC:17565\nHGNC:7102\nHGNC:21905\nHGNC:14522\nHGNC:7103\nHGNC:7104\nHGNC:21460\nHGNC:24967\nHGNC:1286\nHGNC:20190\nHGNC:27000\nHGNC:26963\nHGNC:25207\nHGNC:7105\nHGNC:13363\nHGNC:7107\nHGNC:7108\nHGNC:7109\nHGNC:7110\nHGNC:7111\nHGNC:7112\nHGNC:7113\nHGNC:40375\nHGNC:7114\nHGNC:7121\nHGNC:23729\nHGNC:7124\nHGNC:17082\nHGNC:28973\nHGNC:7125\nHGNC:7126\nHGNC:7127\nHGNC:7128\nHGNC:21355\nHGNC:26617\nHGNC:7134\nHGNC:7136\nHGNC:7138\nHGNC:16063\nHGNC:16997\nHGNC:7141\nHGNC:4495\nHGNC:29643\nHGNC:24825\nHGNC:11645\nHGNC:17055\nHGNC:12744\nHGNC:7150\nHGNC:18871\nHGNC:19331\nHGNC:24525\nHGNC:25221\nHGNC:7153\nHGNC:30133\nHGNC:7154\nHGNC:14668\nHGNC:28100\nHGNC:7155\nHGNC:7166\nHGNC:7173\nHGNC:7174\nHGNC:7175\nHGNC:7176\nHGNC:7156\nHGNC:7157\nHGNC:7158\nHGNC:7159\nHGNC:7160\nHGNC:7161\nHGNC:7162\nHGNC:7163\nHGNC:7165\nHGNC:7167\nHGNC:14357\nHGNC:7171\nHGNC:7172\nHGNC:44421\nHGNC:14246\nHGNC:14249\nHGNC:14250\nHGNC:14366\nHGNC:7178\nHGNC:19888\nHGNC:13824\nHGNC:21475\nHGNC:7526\nHGNC:7180\nHGNC:7181\nHGNC:24839\nHGNC:7183\nHGNC:29636\nHGNC:7188\nHGNC:4979\nHGNC:16658\nHGNC:16015\nHGNC:29801\nHGNC:24904\nHGNC:29802\nHGNC:23825\nHGNC:29800\nHGNC:17261\nHGNC:7189\nHGNC:18234\nHGNC:7190\nHGNC:7193\nHGNC:15765\nHGNC:7197\nHGNC:18210\nHGNC:23248\nHGNC:23249\nHGNC:24862\nHGNC:9833\nHGNC:28207\nHGNC:25020\nHGNC:29177\nHGNC:7198\nHGNC:23573\nHGNC:23572\nHGNC:23485\nHGNC:16989\nHGNC:16849\nHGNC:25852\nHGNC:30166\nHGNC:29807\nHGNC:24001\nHGNC:17841\nHGNC:7199\nHGNC:27087\nHGNC:25235\nHGNC:28381\nHGNC:25078\nHGNC:7200\nHGNC:7201\nHGNC:21063\nHGNC:21606\nHGNC:44205\nHGNC:24515\nHGNC:7207\nHGNC:7208\nHGNC:29619\nHGNC:7211\nHGNC:7214\nHGNC:29810\nHGNC:7215\nHGNC:7213\nHGNC:7216\nHGNC:13937\nHGNC:7217\nHGNC:16002\nHGNC:25934\nHGNC:7218\nHGNC:7219\nHGNC:7220\nHGNC:7221\nHGNC:13680\nHGNC:18669\nHGNC:18167\nHGNC:26542\nHGNC:15988\nHGNC:1306\nHGNC:1180\nHGNC:30321\nHGNC:7223\nHGNC:7224\nHGNC:26827\nHGNC:28177\nHGNC:7225\nHGNC:7226\nHGNC:3496\nHGNC:27279\nHGNC:4975\nHGNC:1304\nHGNC:21232\nHGNC:7227\nHGNC:7228\nHGNC:16875\nHGNC:7230\nHGNC:25478\nHGNC:24549\nHGNC:28796\nHGNC:15866\nHGNC:29626\nHGNC:30694\nHGNC:24828\nHGNC:24829\nHGNC:17962\nHGNC:17983\nHGNC:17980\nHGNC:17617\nHGNC:28469\nHGNC:48649\nHGNC:26202\nHGNC:16352\nHGNC:18485\nHGNC:30817\nHGNC:24121\nHGNC:26958\nHGNC:27936\nHGNC:26857\nHGNC:42976\nHGNC:27814\nHGNC:24802\nHGNC:16125\nHGNC:26287\nHGNC:14275\nHGNC:14056\nHGNC:10379\nHGNC:14276\nHGNC:14277\nHGNC:14055\nHGNC:14042\nHGNC:10378\nHGNC:14278\nHGNC:14279\nHGNC:14054\nHGNC:14476\nHGNC:14053\nHGNC:14477\nHGNC:14052\nHGNC:14478\nHGNC:14479\nHGNC:14480\nHGNC:10322\nHGNC:14037\nHGNC:14483\nHGNC:14484\nHGNC:14036\nHGNC:14035\nHGNC:14487\nHGNC:14488\nHGNC:14489\nHGNC:14490\nHGNC:14034\nHGNC:14033\nHGNC:14027\nHGNC:14491\nHGNC:14492\nHGNC:14493\nHGNC:14517\nHGNC:16650\nHGNC:16651\nHGNC:1192\nHGNC:16652\nHGNC:16653\nHGNC:1176\nHGNC:16654\nHGNC:14044\nHGNC:16655\nHGNC:16684\nHGNC:16685\nHGNC:16686\nHGNC:14514\nHGNC:5359\nHGNC:14495\nHGNC:14498\nHGNC:14051\nHGNC:14499\nHGNC:14501\nHGNC:14502\nHGNC:14050\nHGNC:10380\nHGNC:14049\nHGNC:14504\nHGNC:14048\nHGNC:14047\nHGNC:14515\nHGNC:14516\nHGNC:16633\nHGNC:14046\nHGNC:14508\nHGNC:14509\nHGNC:14510\nHGNC:14511\nHGNC:14045\nHGNC:14512\nHGNC:14513\nHGNC:8769\nHGNC:16632\nHGNC:16634\nHGNC:16618\nHGNC:16635\nHGNC:16631\nHGNC:7234\nHGNC:13785\nHGNC:14334\nHGNC:29819\nHGNC:18477\nHGNC:7237\nHGNC:7315\nHGNC:7316\nHGNC:7317\nHGNC:13371\nHGNC:14284\nHGNC:13374\nHGNC:13375\nHGNC:14285\nHGNC:13378\nHGNC:13380\nHGNC:13368\nHGNC:13370\nHGNC:16674\nHGNC:30706\nHGNC:28573\nHGNC:37636\nHGNC:33741\nHGNC:26266\nHGNC:23370\nHGNC:29383\nHGNC:7321\nHGNC:14907\nHGNC:7325\nHGNC:7326\nHGNC:7327\nHGNC:7328\nHGNC:7329\nHGNC:7330\nHGNC:18585\nHGNC:27905\nHGNC:25544\nHGNC:7370\nHGNC:7371\nHGNC:7372\nHGNC:10545\nHGNC:29663\nHGNC:7373\nHGNC:7376\nHGNC:7377\nHGNC:14133\nHGNC:17061\nHGNC:27375\nHGNC:21000\nHGNC:7380\nHGNC:7381\nHGNC:4223\nHGNC:29678\nHGNC:7391\nHGNC:7392\nHGNC:7414\nHGNC:7415\nHGNC:7419\nHGNC:7421\nHGNC:7422\nHGNC:7427\nHGNC:7455\nHGNC:7456\nHGNC:7458\nHGNC:7459\nHGNC:7460\nHGNC:7461\nHGNC:7462\nHGNC:7393\nHGNC:7394\nHGNC:7397\nHGNC:7398\nHGNC:7399\nHGNC:7400\nHGNC:31864\nHGNC:14296\nHGNC:7405\nHGNC:7406\nHGNC:7408\nHGNC:18705\nHGNC:7410\nHGNC:7411\nHGNC:23784\nHGNC:7413\nHGNC:26189\nHGNC:26064\nHGNC:7417\nHGNC:17586\nHGNC:17587\nHGNC:29121\nHGNC:7423\nHGNC:29608\nHGNC:21463\nHGNC:30779\nHGNC:24258\nHGNC:28785\nHGNC:7428\nHGNC:29535\nHGNC:29666\nHGNC:26945\nHGNC:29510\nHGNC:28836\nHGNC:21115\nHGNC:32159\nHGNC:16239\nHGNC:7432\nHGNC:21055\nHGNC:7434\nHGNC:31865\nHGNC:7436\nHGNC:7437\nHGNC:25778\nHGNC:7441\nHGNC:29788\nHGNC:27339\nHGNC:7448\nHGNC:7449\nHGNC:7450\nHGNC:7451\nHGNC:7452\nHGNC:7453\nHGNC:7454\nHGNC:16825\nHGNC:14596\nHGNC:25999\nHGNC:24307\nHGNC:18191\nHGNC:26190\nHGNC:7463\nHGNC:7464\nHGNC:19261\nHGNC:3942\nHGNC:25532\nHGNC:15667\nHGNC:7468\nHGNC:17971\nHGNC:18734\nHGNC:7469\nHGNC:21051\nHGNC:37155\nHGNC:37157\nHGNC:37161\nHGNC:37162\nHGNC:37163\nHGNC:37164\nHGNC:37165\nHGNC:37167\nHGNC:7473\nHGNC:20443\nHGNC:25094\nHGNC:7467\nHGNC:25457\nHGNC:29789\nHGNC:20595\nHGNC:7504\nHGNC:7506\nHGNC:24812\nHGNC:7508\nHGNC:7512\nHGNC:7513\nHGNC:13384\nHGNC:7514\nHGNC:7515\nHGNC:7516\nHGNC:7517\nHGNC:7518\nHGNC:7519\nHGNC:7510\nHGNC:7511\nHGNC:14956\nHGNC:15582\nHGNC:16800\nHGNC:14362\nHGNC:23282\nHGNC:21661\nHGNC:39755\nHGNC:30588\nHGNC:21666\nHGNC:25762\nHGNC:29814\nHGNC:7525\nHGNC:22144\nHGNC:7527\nHGNC:25153\nHGNC:23368\nHGNC:7529\nHGNC:7530\nHGNC:7531\nHGNC:7532\nHGNC:7533\nHGNC:6761\nHGNC:14008\nHGNC:13906\nHGNC:7534\nHGNC:7539\nHGNC:7541\nHGNC:7542\nHGNC:7544\nHGNC:34548\nHGNC:7545\nHGNC:7546\nHGNC:7547\nHGNC:7548\nHGNC:7549\nHGNC:7550\nHGNC:7551\nHGNC:7552\nHGNC:30434\nHGNC:7553\nHGNC:7554\nHGNC:23386\nHGNC:19677\nHGNC:7555\nHGNC:7559\nHGNC:23172\nHGNC:7562\nHGNC:16948\nHGNC:17940\nHGNC:7563\nHGNC:7565\nHGNC:7566\nHGNC:7567\nHGNC:7572\nHGNC:7573\nHGNC:7574\nHGNC:7576\nHGNC:7577\nHGNC:15906\nHGNC:7578\nHGNC:7579\nHGNC:7568\nHGNC:7569\nHGNC:7571\nHGNC:23212\nHGNC:31073\nHGNC:7582\nHGNC:7583\nHGNC:7584\nHGNC:7585\nHGNC:7586\nHGNC:7587\nHGNC:29823\nHGNC:21719\nHGNC:15754\nHGNC:29825\nHGNC:16701\nHGNC:29827\nHGNC:21155\nHGNC:7590\nHGNC:16243\nHGNC:29826\nHGNC:27972\nHGNC:29824\nHGNC:33778\nHGNC:52391\nHGNC:14955\nHGNC:7595\nHGNC:7596\nHGNC:7597\nHGNC:7598\nHGNC:7599\nHGNC:7600\nHGNC:13880\nHGNC:13879\nHGNC:7601\nHGNC:15576\nHGNC:7602\nHGNC:7603\nHGNC:7604\nHGNC:7605\nHGNC:7606\nHGNC:7607\nHGNC:7608\nHGNC:7609\nHGNC:7593\nHGNC:7594\nHGNC:14083\nHGNC:29822\nHGNC:31104\nHGNC:18150\nHGNC:26234\nHGNC:7610\nHGNC:16067\nHGNC:53429\nHGNC:7611\nHGNC:3656\nHGNC:7612\nHGNC:7613\nHGNC:7614\nHGNC:26679\nHGNC:19918\nHGNC:12399\nHGNC:13752\nHGNC:1330\nHGNC:18565\nHGNC:23246\nHGNC:20178\nHGNC:1181\nHGNC:26316\nHGNC:19156\nHGNC:29401\nHGNC:7622\nHGNC:7623\nHGNC:43444\nHGNC:30125\nHGNC:13108\nHGNC:33830\nHGNC:33187\nHGNC:25886\nHGNC:29850\nHGNC:29851\nHGNC:25037\nHGNC:26916\nHGNC:29852\nHGNC:16021\nHGNC:18704\nHGNC:28125\nHGNC:30782\nHGNC:26164\nHGNC:15908\nHGNC:25783\nHGNC:19844\nHGNC:24340\nHGNC:28212\nHGNC:25845\nHGNC:29533\nHGNC:25875\nHGNC:30252\nHGNC:736\nHGNC:14526\nHGNC:23536\nHGNC:23219\nHGNC:7626\nHGNC:7627\nHGNC:26232\nHGNC:28412\nHGNC:7629\nHGNC:23290\nHGNC:22196\nHGNC:20967\nHGNC:23846\nHGNC:29831\nHGNC:26404\nHGNC:29832\nHGNC:621\nHGNC:25126\nHGNC:7631\nHGNC:17174\nHGNC:7632\nHGNC:17378\nHGNC:17996\nHGNC:25446\nHGNC:7634\nHGNC:19082\nHGNC:30092\nHGNC:20857\nHGNC:24958\nHGNC:23106\nHGNC:23044\nHGNC:23292\nHGNC:22048\nHGNC:16140\nHGNC:19237\nHGNC:7637\nHGNC:7638\nHGNC:7639\nHGNC:7640\nHGNC:19968\nHGNC:7641\nHGNC:15751\nHGNC:21683\nHGNC:7642\nHGNC:30450\nHGNC:13395\nHGNC:29916\nHGNC:7643\nHGNC:26274\nHGNC:7644\nHGNC:7645\nHGNC:7646\nHGNC:18069\nHGNC:30235\nHGNC:26742\nHGNC:23133\nHGNC:29830\nHGNC:28918\nHGNC:22030\nHGNC:30770\nHGNC:15989\nHGNC:15997\nHGNC:15998\nHGNC:25576\nHGNC:18453\nHGNC:15625\nHGNC:50713\nHGNC:7648\nHGNC:20681\nHGNC:31928\nHGNC:7650\nHGNC:7652\nHGNC:26088\nHGNC:25076\nHGNC:26550\nHGNC:31988\nHGNC:31991\nHGNC:31992\nHGNC:31993\nHGNC:24297\nHGNC:25232\nHGNC:28791\nHGNC:31999\nHGNC:32000\nHGNC:49571\nHGNC:6746\nHGNC:7655\nHGNC:7656\nHGNC:7657\nHGNC:2465\nHGNC:24305\nHGNC:28952\nHGNC:24304\nHGNC:21904\nHGNC:1112\nHGNC:25071\nHGNC:7658\nHGNC:7659\nHGNC:25121\nHGNC:31795\nHGNC:24612\nHGNC:33739\nHGNC:17597\nHGNC:29260\nHGNC:7660\nHGNC:7661\nHGNC:7662\nHGNC:7664\nHGNC:7665\nHGNC:7666\nHGNC:4862\nHGNC:29847\nHGNC:29321\nHGNC:15486\nHGNC:7667\nHGNC:26923\nHGNC:29332\nHGNC:7668\nHGNC:7669\nHGNC:7670\nHGNC:7671\nHGNC:15909\nHGNC:15936\nHGNC:21081\nHGNC:7672\nHGNC:7673\nHGNC:6731\nHGNC:6732\nHGNC:19077\nHGNC:42400\nHGNC:3953\nHGNC:17091\nHGNC:25525\nHGNC:16909\nHGNC:17619\nHGNC:17620\nHGNC:17592\nHGNC:18537\nHGNC:7675\nHGNC:26256\nHGNC:29838\nHGNC:7678\nHGNC:7679\nHGNC:14460\nHGNC:14462\nHGNC:14466\nHGNC:7680\nHGNC:7681\nHGNC:7682\nHGNC:20779\nHGNC:7683\nHGNC:7685\nHGNC:7686\nHGNC:7687\nHGNC:29836\nHGNC:7688\nHGNC:7690\nHGNC:7691\nHGNC:7692\nHGNC:7693\nHGNC:7684\nHGNC:20371\nHGNC:23987\nHGNC:17194\nHGNC:7694\nHGNC:18828\nHGNC:28086\nHGNC:29918\nHGNC:21034\nHGNC:15899\nHGNC:28625\nHGNC:28816\nHGNC:33551\nHGNC:7695\nHGNC:7697\nHGNC:7698\nHGNC:7699\nHGNC:7700\nHGNC:7701\nHGNC:7702\nHGNC:7703\nHGNC:7704\nHGNC:7696\nHGNC:20372\nHGNC:7705\nHGNC:7706\nHGNC:7707\nHGNC:7708\nHGNC:7710\nHGNC:7711\nHGNC:7712\nHGNC:7713\nHGNC:7714\nHGNC:7715\nHGNC:7716\nHGNC:7717\nHGNC:7719\nHGNC:7720\nHGNC:16932\nHGNC:20983\nHGNC:23746\nHGNC:15851\nHGNC:24539\nHGNC:25528\nHGNC:9706\nHGNC:9707\nHGNC:17664\nHGNC:19688\nHGNC:7723\nHGNC:7727\nHGNC:7728\nHGNC:7732\nHGNC:7733\nHGNC:7737\nHGNC:7739\nHGNC:7734\nHGNC:17302\nHGNC:18448\nHGNC:18956\nHGNC:24573\nHGNC:7744\nHGNC:7745\nHGNC:7746\nHGNC:11399\nHGNC:7748\nHGNC:7749\nHGNC:13386\nHGNC:13387\nHGNC:18591\nHGNC:18592\nHGNC:18593\nHGNC:12768\nHGNC:24324\nHGNC:15934\nHGNC:13974\nHGNC:7750\nHGNC:7751\nHGNC:10663\nHGNC:29001\nHGNC:33700\nHGNC:30384\nHGNC:7754\nHGNC:24496\nHGNC:7756\nHGNC:14592\nHGNC:13823\nHGNC:14644\nHGNC:7758\nHGNC:7759\nHGNC:7760\nHGNC:21328\nHGNC:7761\nHGNC:35422\nHGNC:16156\nHGNC:25162\nHGNC:34410\nHGNC:7762\nHGNC:7763\nHGNC:13802\nHGNC:13804\nHGNC:7764\nHGNC:13805\nHGNC:13806\nHGNC:29433\nHGNC:29557\nHGNC:7765\nHGNC:7773\nHGNC:29872\nHGNC:29866\nHGNC:7774\nHGNC:7775\nHGNC:7776\nHGNC:25906\nHGNC:7777\nHGNC:7778\nHGNC:7780\nHGNC:7781\nHGNC:7782\nHGNC:7783\nHGNC:29902\nHGNC:7784\nHGNC:7785\nHGNC:7786\nHGNC:7787\nHGNC:7788\nHGNC:7794\nHGNC:7795\nHGNC:7797\nHGNC:7798\nHGNC:15671\nHGNC:7799\nHGNC:7800\nHGNC:29805\nHGNC:7802\nHGNC:15910\nHGNC:16287\nHGNC:7803\nHGNC:18726\nHGNC:7804\nHGNC:7805\nHGNC:7806\nHGNC:14077\nHGNC:20271\nHGNC:7807\nHGNC:7808\nHGNC:7809\nHGNC:17646\nHGNC:18077\nHGNC:25737\nHGNC:7817\nHGNC:7818\nHGNC:21576\nHGNC:24731\nHGNC:33751\nHGNC:26700\nHGNC:14377\nHGNC:7820\nHGNC:21021\nHGNC:33737\nHGNC:16784\nHGNC:25282\nHGNC:24130\nHGNC:18317\nHGNC:7821\nHGNC:13389\nHGNC:13390\nHGNC:17838\nHGNC:28646\nHGNC:14906\nHGNC:7824\nHGNC:7825\nHGNC:29163\nHGNC:24328\nHGNC:17043\nHGNC:17044\nHGNC:27194\nHGNC:25854\nHGNC:25233\nHGNC:28018\nHGNC:28862\nHGNC:7827\nHGNC:4179\nHGNC:23619\nHGNC:23641\nHGNC:18006\nHGNC:7828\nHGNC:29878\nHGNC:25743\nHGNC:16443\nHGNC:26829\nHGNC:16191\nHGNC:29873\nHGNC:25569\nHGNC:21584\nHGNC:17045\nHGNC:17046\nHGNC:7830\nHGNC:17899\nHGNC:17898\nHGNC:24739\nHGNC:19374\nHGNC:7833\nHGNC:24975\nHGNC:31652\nHGNC:11825\nHGNC:7835\nHGNC:7836\nHGNC:7837\nHGNC:2488\nHGNC:32940\nHGNC:16364\nHGNC:7838\nHGNC:951\nHGNC:7839\nHGNC:19321\nHGNC:26328\nHGNC:19889\nHGNC:14291\nHGNC:14290\nHGNC:14289\nHGNC:14287\nHGNC:15529\nHGNC:29858\nHGNC:16058\nHGNC:29889\nHGNC:16412\nHGNC:29933\nHGNC:14374\nHGNC:22948\nHGNC:29887\nHGNC:16400\nHGNC:22943\nHGNC:21269\nHGNC:22944\nHGNC:22947\nHGNC:22940\nHGNC:22941\nHGNC:21464\nHGNC:22945\nHGNC:22938\nHGNC:22937\nHGNC:22939\nHGNC:29890\nHGNC:7842\nHGNC:7843\nHGNC:24250\nHGNC:7849\nHGNC:7850\nHGNC:7851\nHGNC:7852\nHGNC:7853\nHGNC:20567\nHGNC:20461\nHGNC:16473\nHGNC:21343\nHGNC:7854\nHGNC:17877\nHGNC:16789\nHGNC:20989\nHGNC:24987\nHGNC:26057\nHGNC:17871\nHGNC:32203\nHGNC:7857\nHGNC:7858\nHGNC:7859\nHGNC:4518\nHGNC:16454\nHGNC:7860\nHGNC:7861\nHGNC:7863\nHGNC:28473\nHGNC:29540\nHGNC:22448\nHGNC:24517\nHGNC:24034\nHGNC:28461\nHGNC:14254\nHGNC:16390\nHGNC:5331\nHGNC:7865\nHGNC:7866\nHGNC:7869\nHGNC:7870\nHGNC:16106\nHGNC:19910\nHGNC:21040\nHGNC:23387\nHGNC:26265\nHGNC:25862\nHGNC:24557\nHGNC:28585\nHGNC:15608\nHGNC:13244\nHGNC:30060\nHGNC:22652\nHGNC:25242\nHGNC:7871\nHGNC:7867\nHGNC:19826\nHGNC:14378\nHGNC:16821\nHGNC:26934\nHGNC:4333\nHGNC:15911\nHGNC:29926\nHGNC:7872\nHGNC:16859\nHGNC:7873\nHGNC:7876\nHGNC:17946\nHGNC:20203\nHGNC:7881\nHGNC:7882\nHGNC:31862\nHGNC:53923\nHGNC:53924\nHGNC:7883\nHGNC:7884\nHGNC:31839\nHGNC:27106\nHGNC:7886\nHGNC:7887\nHGNC:7889\nHGNC:7890\nHGNC:7891\nHGNC:14874\nHGNC:10668\nHGNC:19404\nHGNC:20487\nHGNC:1190\nHGNC:53980\nHGNC:7894\nHGNC:7895\nHGNC:19311\nHGNC:18983\nHGNC:7896\nHGNC:30099\nHGNC:4522\nHGNC:4530\nHGNC:7897\nHGNC:7898\nHGNC:14537\nHGNC:7899\nHGNC:16244\nHGNC:7900\nHGNC:7901\nHGNC:17425\nHGNC:4525\nHGNC:7905\nHGNC:7907\nHGNC:19104\nHGNC:7908\nHGNC:13394\nHGNC:7909\nHGNC:41979\nHGNC:41978\nHGNC:41980\nHGNC:41982\nHGNC:41983\nHGNC:37451\nHGNC:28989\nHGNC:41985\nHGNC:37233\nHGNC:37454\nHGNC:37490\nHGNC:41987\nHGNC:37453\nHGNC:37491\nHGNC:41989\nHGNC:34409\nHGNC:16781\nHGNC:18261\nHGNC:7910\nHGNC:7930\nHGNC:7931\nHGNC:27405\nHGNC:7939\nHGNC:7940\nHGNC:7941\nHGNC:7943\nHGNC:7944\nHGNC:7945\nHGNC:24969\nHGNC:14124\nHGNC:33940\nHGNC:23631\nHGNC:17867\nHGNC:7952\nHGNC:7953\nHGNC:7954\nHGNC:13782\nHGNC:30509\nHGNC:7955\nHGNC:7956\nHGNC:7957\nHGNC:9329\nHGNC:52383\nHGNC:7958\nHGNC:2874\nHGNC:7856\nHGNC:7962\nHGNC:7963\nHGNC:7965\nHGNC:7966\nHGNC:7967\nHGNC:7968\nHGNC:7969\nHGNC:7971\nHGNC:7972\nHGNC:30763\nHGNC:7973\nHGNC:7974\nHGNC:7975\nHGNC:7976\nHGNC:7977\nHGNC:7978\nHGNC:7979\nHGNC:7980\nHGNC:7981\nHGNC:7982\nHGNC:7983\nHGNC:7984\nHGNC:7985\nHGNC:7988\nHGNC:33843\nHGNC:7989\nHGNC:7960\nHGNC:7961\nHGNC:19692\nHGNC:7993\nHGNC:19339\nHGNC:7994\nHGNC:7995\nHGNC:20186\nHGNC:16834\nHGNC:7996\nHGNC:7997\nHGNC:7998\nHGNC:7999\nHGNC:29862\nHGNC:8000\nHGNC:8001\nHGNC:23078\nHGNC:1167\nHGNC:25391\nHGNC:8002\nHGNC:8003\nHGNC:17972\nHGNC:29811\nHGNC:8004\nHGNC:8005\nHGNC:24613\nHGNC:17881\nHGNC:16229\nHGNC:8007\nHGNC:8008\nHGNC:8009\nHGNC:8010\nHGNC:30728\nHGNC:14234\nHGNC:12766\nHGNC:12767\nHGNC:13398\nHGNC:8016\nHGNC:15912\nHGNC:18790\nHGNC:24955\nHGNC:24548\nHGNC:8017\nHGNC:29897\nHGNC:26513\nHGNC:7677\nHGNC:25935\nHGNC:29843\nHGNC:25305\nHGNC:25994\nHGNC:26208\nHGNC:31802\nHGNC:16385\nHGNC:23529\nHGNC:25857\nHGNC:17144\nHGNC:17819\nHGNC:17818\nHGNC:8022\nHGNC:17820\nHGNC:28300\nHGNC:21556\nHGNC:25717\nHGNC:30826\nHGNC:27678\nHGNC:8021\nHGNC:15769\nHGNC:29909\nHGNC:8023\nHGNC:8024\nHGNC:8028\nHGNC:17941\nHGNC:23373\nHGNC:8029\nHGNC:8030\nHGNC:13658\nHGNC:25208\nHGNC:23319\nHGNC:14288\nHGNC:28204\nHGNC:8031\nHGNC:8032\nHGNC:8033\nHGNC:8038\nHGNC:8039\nHGNC:8040\nHGNC:14311\nHGNC:29558\nHGNC:17623\nHGNC:8041\nHGNC:8042\nHGNC:20278\nHGNC:8043\nHGNC:8044\nHGNC:29923\nHGNC:8045\nHGNC:24306\nHGNC:30535\nHGNC:22208\nHGNC:8048\nHGNC:8049\nHGNC:8050\nHGNC:8051\nHGNC:18012\nHGNC:8052\nHGNC:8053\nHGNC:8054\nHGNC:8055\nHGNC:8056\nHGNC:17621\nHGNC:18011\nHGNC:18826\nHGNC:18827\nHGNC:20141\nHGNC:23063\nHGNC:26442\nHGNC:28154\nHGNC:26618\nHGNC:26194\nHGNC:32036\nHGNC:13870\nHGNC:28189\nHGNC:14621\nHGNC:8057\nHGNC:17634\nHGNC:33550\nHGNC:8059\nHGNC:8060\nHGNC:8061\nHGNC:29797\nHGNC:29929\nHGNC:17010\nHGNC:21182\nHGNC:8065\nHGNC:17359\nHGNC:20261\nHGNC:8066\nHGNC:25960\nHGNC:8734\nHGNC:8067\nHGNC:28958\nHGNC:8068\nHGNC:29914\nHGNC:18016\nHGNC:8062\nHGNC:8063\nHGNC:18017\nHGNC:17859\nHGNC:18658\nHGNC:30052\nHGNC:29915\nHGNC:8064\nHGNC:29990\nHGNC:44164\nHGNC:21042\nHGNC:18538\nHGNC:13722\nHGNC:29919\nHGNC:23438\nHGNC:23445\nHGNC:23447\nHGNC:23448\nHGNC:23450\nHGNC:23449\nHGNC:8070\nHGNC:27619\nHGNC:29229\nHGNC:8071\nHGNC:8072\nHGNC:23984\nHGNC:8073\nHGNC:8075\nHGNC:18008\nHGNC:25179\nHGNC:30482\nHGNC:28527\nHGNC:26331\nHGNC:28238\nHGNC:23117\nHGNC:20693\nHGNC:8076\nHGNC:8077\nHGNC:8078\nHGNC:15913\nHGNC:18151\nHGNC:22009\nHGNC:29291\nHGNC:20165\nHGNC:8082\nHGNC:28752\nHGNC:21257\nHGNC:8086\nHGNC:8087\nHGNC:8088\nHGNC:8090\nHGNC:8091\nHGNC:8095\nHGNC:8096\nHGNC:8097\nHGNC:20308\nHGNC:23380\nHGNC:23381\nHGNC:15719\nHGNC:29092\nHGNC:8100\nHGNC:8101\nHGNC:26221\nHGNC:16074\nHGNC:28685\nHGNC:8103\nHGNC:8104\nHGNC:8105\nHGNC:34396\nHGNC:8108\nHGNC:16116\nHGNC:26043\nHGNC:26300\nHGNC:8109\nHGNC:8113\nHGNC:8114\nHGNC:29225\nHGNC:19905\nHGNC:34388\nHGNC:28735\nHGNC:26841\nHGNC:19056\nHGNC:24299\nHGNC:21017\nHGNC:2567\nHGNC:7056\nHGNC:8124\nHGNC:25590\nHGNC:25585\nHGNC:25823\nHGNC:26174\nHGNC:15768\nHGNC:21378\nHGNC:8125\nHGNC:8126\nHGNC:8127\nHGNC:20300\nHGNC:29953\nHGNC:28833\nHGNC:25625\nHGNC:17187\nHGNC:17189\nHGNC:17990\nHGNC:17190\nHGNC:24473\nHGNC:27270\nHGNC:24558\nHGNC:24956\nHGNC:16983\nHGNC:9398\nHGNC:18003\nHGNC:8133\nHGNC:29661\nHGNC:8134\nHGNC:8135\nHGNC:8136\nHGNC:8138\nHGNC:8139\nHGNC:13399\nHGNC:21382\nHGNC:26699\nHGNC:53903\nHGNC:53904\nHGNC:53905\nHGNC:8140\nHGNC:8142\nHGNC:20707\nHGNC:8143\nHGNC:8148\nHGNC:8149\nHGNC:9936\nHGNC:4206\nHGNC:26952\nHGNC:51831\nHGNC:1012\nHGNC:14007\nHGNC:14449\nHGNC:19992\nHGNC:8153\nHGNC:8154\nHGNC:8155\nHGNC:8156\nHGNC:17279\nHGNC:8158\nHGNC:17142\nHGNC:8179\nHGNC:8180\nHGNC:8181\nHGNC:8182\nHGNC:8183\nHGNC:8185\nHGNC:8186\nHGNC:8189\nHGNC:8190\nHGNC:8191\nHGNC:8194\nHGNC:8204\nHGNC:8207\nHGNC:8208\nHGNC:8209\nHGNC:8211\nHGNC:8212\nHGNC:8213\nHGNC:8215\nHGNC:8216\nHGNC:8218\nHGNC:15110\nHGNC:8220\nHGNC:8221\nHGNC:15111\nHGNC:8222\nHGNC:8223\nHGNC:8227\nHGNC:15141\nHGNC:8229\nHGNC:8230\nHGNC:14729\nHGNC:8232\nHGNC:8234\nHGNC:15082\nHGNC:15084\nHGNC:19562\nHGNC:31230\nHGNC:15087\nHGNC:15142\nHGNC:15143\nHGNC:15001\nHGNC:19569\nHGNC:15335\nHGNC:19620\nHGNC:13966\nHGNC:8238\nHGNC:8241\nHGNC:31249\nHGNC:8242\nHGNC:15005\nHGNC:8244\nHGNC:15146\nHGNC:8246\nHGNC:8247\nHGNC:15007\nHGNC:15008\nHGNC:27019\nHGNC:8252\nHGNC:8253\nHGNC:8259\nHGNC:8260\nHGNC:8261\nHGNC:8264\nHGNC:8266\nHGNC:15009\nHGNC:15011\nHGNC:15014\nHGNC:19578\nHGNC:8268\nHGNC:8269\nHGNC:8270\nHGNC:19576\nHGNC:19594\nHGNC:8276\nHGNC:8277\nHGNC:14725\nHGNC:14727\nHGNC:15016\nHGNC:15017\nHGNC:15018\nHGNC:15019\nHGNC:15020\nHGNC:19573\nHGNC:19574\nHGNC:19592\nHGNC:31252\nHGNC:31253\nHGNC:31255\nHGNC:31256\nHGNC:31257\nHGNC:8280\nHGNC:15341\nHGNC:8281\nHGNC:15021\nHGNC:15424\nHGNC:14837\nHGNC:15391\nHGNC:8282\nHGNC:8283\nHGNC:8284\nHGNC:15162\nHGNC:15165\nHGNC:15152\nHGNC:15153\nHGNC:31266\nHGNC:8290\nHGNC:14697\nHGNC:14702\nHGNC:14743\nHGNC:15167\nHGNC:15168\nHGNC:15169\nHGNC:15171\nHGNC:15172\nHGNC:31270\nHGNC:31271\nHGNC:8293\nHGNC:8294\nHGNC:14852\nHGNC:15175\nHGNC:15178\nHGNC:15173\nHGNC:15174\nHGNC:8296\nHGNC:8297\nHGNC:8300\nHGNC:8301\nHGNC:14825\nHGNC:15372\nHGNC:15078\nHGNC:15079\nHGNC:15381\nHGNC:19583\nHGNC:31275\nHGNC:14726\nHGNC:14728\nHGNC:14731\nHGNC:14745\nHGNC:15351\nHGNC:15352\nHGNC:15353\nHGNC:15355\nHGNC:15356\nHGNC:14735\nHGNC:15373\nHGNC:14742\nHGNC:15375\nHGNC:15358\nHGNC:15180\nHGNC:15359\nHGNC:15426\nHGNC:14705\nHGNC:15183\nHGNC:14854\nHGNC:15184\nHGNC:8319\nHGNC:15249\nHGNC:15047\nHGNC:15431\nHGNC:15251\nHGNC:14844\nHGNC:15255\nHGNC:15258\nHGNC:15260\nHGNC:15261\nHGNC:15362\nHGNC:8323\nHGNC:8324\nHGNC:15432\nHGNC:15267\nHGNC:19616\nHGNC:8331\nHGNC:15280\nHGNC:15281\nHGNC:15283\nHGNC:15285\nHGNC:8343\nHGNC:15287\nHGNC:8346\nHGNC:14752\nHGNC:14767\nHGNC:14773\nHGNC:31286\nHGNC:31287\nHGNC:8347\nHGNC:19612\nHGNC:8349\nHGNC:14774\nHGNC:31290\nHGNC:31291\nHGNC:8350\nHGNC:8351\nHGNC:8352\nHGNC:14806\nHGNC:14846\nHGNC:15294\nHGNC:15290\nHGNC:15291\nHGNC:14783\nHGNC:14784\nHGNC:14841\nHGNC:14821\nHGNC:15296\nHGNC:15297\nHGNC:13972\nHGNC:15299\nHGNC:15301\nHGNC:8354\nHGNC:15041\nHGNC:15042\nHGNC:8355\nHGNC:15436\nHGNC:15437\nHGNC:19632\nHGNC:31293\nHGNC:31295\nHGNC:31297\nHGNC:31299\nHGNC:31303\nHGNC:31304\nHGNC:31305\nHGNC:15027\nHGNC:14707\nHGNC:15029\nHGNC:15030\nHGNC:15033\nHGNC:14711\nHGNC:15034\nHGNC:15035\nHGNC:15036\nHGNC:15302\nHGNC:15363\nHGNC:14848\nHGNC:15090\nHGNC:14737\nHGNC:14823\nHGNC:8368\nHGNC:8356\nHGNC:8363\nHGNC:8373\nHGNC:8374\nHGNC:8378\nHGNC:8380\nHGNC:8396\nHGNC:8465\nHGNC:8466\nHGNC:8467\nHGNC:8469\nHGNC:8471\nHGNC:8472\nHGNC:8473\nHGNC:8477\nHGNC:15307\nHGNC:8481\nHGNC:8482\nHGNC:14840\nHGNC:8484\nHGNC:19622\nHGNC:14824\nHGNC:15308\nHGNC:15309\nHGNC:15310\nHGNC:14855\nHGNC:15311\nHGNC:15312\nHGNC:14831\nHGNC:15313\nHGNC:15315\nHGNC:19628\nHGNC:19611\nHGNC:27538\nHGNC:29166\nHGNC:15093\nHGNC:15095\nHGNC:15319\nHGNC:15322\nHGNC:31940\nHGNC:14718\nHGNC:15339\nHGNC:14724\nHGNC:15328\nHGNC:8161\nHGNC:8162\nHGNC:15130\nHGNC:15131\nHGNC:15132\nHGNC:15329\nHGNC:14758\nHGNC:14819\nHGNC:19607\nHGNC:8165\nHGNC:8168\nHGNC:8170\nHGNC:8171\nHGNC:14809\nHGNC:14836\nHGNC:14842\nHGNC:14845\nHGNC:15129\nHGNC:8172\nHGNC:8173\nHGNC:8174\nHGNC:15388\nHGNC:15389\nHGNC:8175\nHGNC:14992\nHGNC:15408\nHGNC:14993\nHGNC:14693\nHGNC:14826\nHGNC:15378\nHGNC:15134\nHGNC:14820\nHGNC:14807\nHGNC:14816\nHGNC:15136\nHGNC:15139\nHGNC:14995\nHGNC:14996\nHGNC:8176\nHGNC:15346\nHGNC:15404\nHGNC:14716\nHGNC:15347\nHGNC:15349\nHGNC:15350\nHGNC:30738\nHGNC:14998\nHGNC:8177\nHGNC:8178\nHGNC:13963\nHGNC:14772\nHGNC:14701\nHGNC:14704\nHGNC:14722\nHGNC:15100\nHGNC:15102\nHGNC:15103\nHGNC:15104\nHGNC:14695\nHGNC:14723\nHGNC:14999\nHGNC:14755\nHGNC:15108\nHGNC:15024\nHGNC:15022\nHGNC:15026\nHGNC:19575\nHGNC:13971\nHGNC:15025\nHGNC:14764\nHGNC:14795\nHGNC:15188\nHGNC:14703\nHGNC:14708\nHGNC:19599\nHGNC:19600\nHGNC:15193\nHGNC:15194\nHGNC:15195\nHGNC:15196\nHGNC:15197\nHGNC:14738\nHGNC:15198\nHGNC:14833\nHGNC:15200\nHGNC:15201\nHGNC:14856\nHGNC:14759\nHGNC:14847\nHGNC:14851\nHGNC:15204\nHGNC:15205\nHGNC:19597\nHGNC:8318\nHGNC:19580\nHGNC:15207\nHGNC:15209\nHGNC:15211\nHGNC:15212\nHGNC:14766\nHGNC:14769\nHGNC:15213\nHGNC:15214\nHGNC:15215\nHGNC:15217\nHGNC:15218\nHGNC:15220\nHGNC:15221\nHGNC:14799\nHGNC:15222\nHGNC:15223\nHGNC:14785\nHGNC:15225\nHGNC:14853\nHGNC:15228\nHGNC:15230\nHGNC:15231\nHGNC:15235\nHGNC:15239\nHGNC:19596\nHGNC:14781\nHGNC:14786\nHGNC:14791\nHGNC:14792\nHGNC:15245\nHGNC:15248\nHGNC:25896\nHGNC:21667\nHGNC:28185\nHGNC:8487\nHGNC:8488\nHGNC:8489\nHGNC:8490\nHGNC:8491\nHGNC:17151\nHGNC:8498\nHGNC:8499\nHGNC:16036\nHGNC:16037\nHGNC:16038\nHGNC:16994\nHGNC:8503\nHGNC:8504\nHGNC:16398\nHGNC:15761\nHGNC:16370\nHGNC:16392\nHGNC:16388\nHGNC:16387\nHGNC:16396\nHGNC:16386\nHGNC:16395\nHGNC:16397\nHGNC:29960\nHGNC:29971\nHGNC:16105\nHGNC:18028\nHGNC:23075\nHGNC:30093\nHGNC:1355\nHGNC:8506\nHGNC:8507\nHGNC:8111\nHGNC:15830\nHGNC:32483\nHGNC:24448\nHGNC:8510\nHGNC:21652\nHGNC:29961\nHGNC:8512\nHGNC:16378\nHGNC:8515\nHGNC:8516\nHGNC:26901\nHGNC:34071\nHGNC:19656\nHGNC:19657\nHGNC:19658\nHGNC:8517\nHGNC:22644\nHGNC:8518\nHGNC:23077\nHGNC:20351\nHGNC:27346\nHGNC:29038\nHGNC:24949\nHGNC:25402\nHGNC:32312\nHGNC:24281\nHGNC:20718\nHGNC:16683\nHGNC:25118\nHGNC:25629\nHGNC:8521\nHGNC:8522\nHGNC:24203\nHGNC:23080\nHGNC:29970\nHGNC:8524\nHGNC:8525\nHGNC:15804\nHGNC:14186\nHGNC:8526\nHGNC:8527\nHGNC:18606\nHGNC:24884\nHGNC:4531\nHGNC:27901\nHGNC:25128\nHGNC:15822\nHGNC:26063\nHGNC:8508\nHGNC:8528\nHGNC:8529\nHGNC:8533\nHGNC:15459\nHGNC:8534\nHGNC:8535\nHGNC:8536\nHGNC:8538\nHGNC:8537\nHGNC:8539\nHGNC:8541\nHGNC:8542\nHGNC:8543\nHGNC:15524\nHGNC:19906\nHGNC:8540\nHGNC:18124\nHGNC:4537\nHGNC:16442\nHGNC:19316\nHGNC:19317\nHGNC:19318\nHGNC:16946\nHGNC:53451\nHGNC:8546\nHGNC:8547\nHGNC:30135\nHGNC:8548\nHGNC:28858\nHGNC:8550\nHGNC:25687\nHGNC:8554\nHGNC:15797\nHGNC:27989\nHGNC:31852\nHGNC:8556\nHGNC:8557\nHGNC:31955\nHGNC:13629\nHGNC:8565\nHGNC:37237\nHGNC:25593\nHGNC:19152\nHGNC:28442\nHGNC:30032\nHGNC:23794\nHGNC:8570\nHGNC:8571\nHGNC:8572\nHGNC:18367\nHGNC:18341\nHGNC:18337\nHGNC:18368\nHGNC:20449\nHGNC:8573\nHGNC:25459\nHGNC:8574\nHGNC:8575\nHGNC:8576\nHGNC:8579\nHGNC:30043\nHGNC:4107\nHGNC:31804\nHGNC:31805\nHGNC:4110\nHGNC:4108\nHGNC:29992\nHGNC:28707\nHGNC:8582\nHGNC:8587\nHGNC:16945\nHGNC:17970\nHGNC:29200\nHGNC:8590\nHGNC:20882\nHGNC:8591\nHGNC:8592\nHGNC:16059\nHGNC:15916\nHGNC:16061\nHGNC:26144\nHGNC:23530\nHGNC:17068\nHGNC:8594\nHGNC:33529\nHGNC:33274\nHGNC:15846\nHGNC:8596\nHGNC:29679\nHGNC:24554\nHGNC:20074\nHGNC:29991\nHGNC:8598\nHGNC:15894\nHGNC:19365\nHGNC:19366\nHGNC:51237\nHGNC:8599\nHGNC:8600\nHGNC:20573\nHGNC:20837\nHGNC:19262\nHGNC:14981\nHGNC:15970\nHGNC:14982\nHGNC:8602\nHGNC:14615\nHGNC:8603\nHGNC:8604\nHGNC:30130\nHGNC:26386\nHGNC:29645\nHGNC:30132\nHGNC:23146\nHGNC:15708\nHGNC:30131\nHGNC:16051\nHGNC:14446\nHGNC:15943\nHGNC:16245\nHGNC:16076\nHGNC:8605\nHGNC:16369\nHGNC:18253\nHGNC:24536\nHGNC:8609\nHGNC:270\nHGNC:272\nHGNC:273\nHGNC:271\nHGNC:26921\nHGNC:26124\nHGNC:24118\nHGNC:25895\nHGNC:1186\nHGNC:21919\nHGNC:29232\nHGNC:26876\nHGNC:26040\nHGNC:26074\nHGNC:30563\nHGNC:14652\nHGNC:14653\nHGNC:14654\nHGNC:20686\nHGNC:17270\nHGNC:24664\nHGNC:32249\nHGNC:35426\nHGNC:35427\nHGNC:28881\nHGNC:26721\nHGNC:33630\nHGNC:13071\nHGNC:8614\nHGNC:8615\nHGNC:8616\nHGNC:8617\nHGNC:8618\nHGNC:8619\nHGNC:8620\nHGNC:8621\nHGNC:8622\nHGNC:8623\nHGNC:13579\nHGNC:8624\nHGNC:27849\nHGNC:28790\nHGNC:18282\nHGNC:23301\nHGNC:21079\nHGNC:30064\nHGNC:8632\nHGNC:8633\nHGNC:8634\nHGNC:13403\nHGNC:21199\nHGNC:8636\nHGNC:34383\nHGNC:8646\nHGNC:24474\nHGNC:8647\nHGNC:8648\nHGNC:8651\nHGNC:8652\nHGNC:8653\nHGNC:8654\nHGNC:8655\nHGNC:8659\nHGNC:8660\nHGNC:8661\nHGNC:13404\nHGNC:8656\nHGNC:15813\nHGNC:8657\nHGNC:14674\nHGNC:14267\nHGNC:14268\nHGNC:14270\nHGNC:14257\nHGNC:8662\nHGNC:8679\nHGNC:8695\nHGNC:16212\nHGNC:28255\nHGNC:30097\nHGNC:17615\nHGNC:12929\nHGNC:10066\nHGNC:28264\nHGNC:21156\nHGNC:25653\nHGNC:16200\nHGNC:8724\nHGNC:8725\nHGNC:28961\nHGNC:13406\nHGNC:8727\nHGNC:8728\nHGNC:30483\nHGNC:15882\nHGNC:8729\nHGNC:30023\nHGNC:16068\nHGNC:19740\nHGNC:8736\nHGNC:18760\nHGNC:20349\nHGNC:8738\nHGNC:8739\nHGNC:30209\nHGNC:8742\nHGNC:20448\nHGNC:8743\nHGNC:17301\nHGNC:8744\nHGNC:8746\nHGNC:8747\nHGNC:8569\nHGNC:8748\nHGNC:20001\nHGNC:8752\nHGNC:20588\nHGNC:28477\nHGNC:8754\nHGNC:8755\nHGNC:8756\nHGNC:14634\nHGNC:8759\nHGNC:8760\nHGNC:18731\nHGNC:8762\nHGNC:28194\nHGNC:8763\nHGNC:8764\nHGNC:8765\nHGNC:8766\nHGNC:8767\nHGNC:8761\nHGNC:13408\nHGNC:8770\nHGNC:29524\nHGNC:28860\nHGNC:8774\nHGNC:8775\nHGNC:8776\nHGNC:8777\nHGNC:8778\nHGNC:8779\nHGNC:8780\nHGNC:8781\nHGNC:8782\nHGNC:8783\nHGNC:15580\nHGNC:8784\nHGNC:8785\nHGNC:8786\nHGNC:8787\nHGNC:8788\nHGNC:8789\nHGNC:8790\nHGNC:8791\nHGNC:8792\nHGNC:8793\nHGNC:8794\nHGNC:8795\nHGNC:8772\nHGNC:8773\nHGNC:25386\nHGNC:30012\nHGNC:8799\nHGNC:8800\nHGNC:8801\nHGNC:30620\nHGNC:8803\nHGNC:8804\nHGNC:8805\nHGNC:8806\nHGNC:8807\nHGNC:8808\nHGNC:21350\nHGNC:14180\nHGNC:4606\nHGNC:30167\nHGNC:24811\nHGNC:30168\nHGNC:18981\nHGNC:27338\nHGNC:8809\nHGNC:8810\nHGNC:8811\nHGNC:8812\nHGNC:2067\nHGNC:13992\nHGNC:20767\nHGNC:16501\nHGNC:17468\nHGNC:22958\nHGNC:9279\nHGNC:30263\nHGNC:8816\nHGNC:29602\nHGNC:30264\nHGNC:16119\nHGNC:29088\nHGNC:20418\nHGNC:17759\nHGNC:23041\nHGNC:6107\nHGNC:28995\nHGNC:8819\nHGNC:30259\nHGNC:8820\nHGNC:18486\nHGNC:19891\nHGNC:21167\nHGNC:26257\nHGNC:26974\nHGNC:28740\nHGNC:28034\nHGNC:8821\nHGNC:16887\nHGNC:17704\nHGNC:30552\nHGNC:8822\nHGNC:29431\nHGNC:24793\nHGNC:33631\nHGNC:8630\nHGNC:28319\nHGNC:8823\nHGNC:18281\nHGNC:30009\nHGNC:8826\nHGNC:14005\nHGNC:8827\nHGNC:8828\nHGNC:30010\nHGNC:8829\nHGNC:30134\nHGNC:8830\nHGNC:8831\nHGNC:8840\nHGNC:8845\nHGNC:8846\nHGNC:8847\nHGNC:52293\nHGNC:28208\nHGNC:17637\nHGNC:8848\nHGNC:40038\nHGNC:40045\nHGNC:8850\nHGNC:9717\nHGNC:8858\nHGNC:9719\nHGNC:30024\nHGNC:8859\nHGNC:8860\nHGNC:8851\nHGNC:8852\nHGNC:8853\nHGNC:20208\nHGNC:8854\nHGNC:8855\nHGNC:8856\nHGNC:8857\nHGNC:9713\nHGNC:22965\nHGNC:8861\nHGNC:8862\nHGNC:8863\nHGNC:8866\nHGNC:8867\nHGNC:8868\nHGNC:8869\nHGNC:4926\nHGNC:8872\nHGNC:8873\nHGNC:8874\nHGNC:8875\nHGNC:8876\nHGNC:8877\nHGNC:8878\nHGNC:8881\nHGNC:8882\nHGNC:18627\nHGNC:31103\nHGNC:8885\nHGNC:8886\nHGNC:8887\nHGNC:8888\nHGNC:8889\nHGNC:21731\nHGNC:28763\nHGNC:25712\nHGNC:17893\nHGNC:23719\nHGNC:28180\nHGNC:17205\nHGNC:19398\nHGNC:19399\nHGNC:19400\nHGNC:19401\nHGNC:19405\nHGNC:8890\nHGNC:8891\nHGNC:8893\nHGNC:26210\nHGNC:8895\nHGNC:8896\nHGNC:8898\nHGNC:8903\nHGNC:8904\nHGNC:30013\nHGNC:30014\nHGNC:30015\nHGNC:8905\nHGNC:8906\nHGNC:20898\nHGNC:8907\nHGNC:8908\nHGNC:8909\nHGNC:13568\nHGNC:27080\nHGNC:8910\nHGNC:16090\nHGNC:16089\nHGNC:30029\nHGNC:20990\nHGNC:20956\nHGNC:15833\nHGNC:25793\nHGNC:10241\nHGNC:8912\nHGNC:30306\nHGNC:3182\nHGNC:3183\nHGNC:15682\nHGNC:26509\nHGNC:27161\nHGNC:8918\nHGNC:8919\nHGNC:8920\nHGNC:8921\nHGNC:18000\nHGNC:18145\nHGNC:18458\nHGNC:20672\nHGNC:18250\nHGNC:17024\nHGNC:20816\nHGNC:22983\nHGNC:22203\nHGNC:24566\nHGNC:16098\nHGNC:24280\nHGNC:24156\nHGNC:25161\nHGNC:28428\nHGNC:29180\nHGNC:8923\nHGNC:37226\nHGNC:15673\nHGNC:8925\nHGNC:8926\nHGNC:8927\nHGNC:8930\nHGNC:8931\nHGNC:8933\nHGNC:12385\nHGNC:8934\nHGNC:23697\nHGNC:29573\nHGNC:30499\nHGNC:20610\nHGNC:29149\nHGNC:16815\nHGNC:28316\nHGNC:691\nHGNC:9143\nHGNC:30033\nHGNC:24351\nHGNC:8939\nHGNC:13411\nHGNC:8940\nHGNC:23396\nHGNC:16865\nHGNC:29378\nHGNC:28249\nHGNC:8947\nHGNC:30031\nHGNC:18215\nHGNC:8983\nHGNC:8984\nHGNC:8946\nHGNC:21245\nHGNC:25338\nHGNC:2752\nHGNC:17311\nHGNC:16861\nHGNC:17002\nHGNC:23352\nHGNC:15514\nHGNC:9394\nHGNC:26084\nHGNC:16491\nHGNC:28993\nHGNC:26270\nHGNC:26220\nHGNC:27009\nHGNC:8957\nHGNC:8959\nHGNC:50696\nHGNC:8960\nHGNC:8962\nHGNC:25985\nHGNC:8964\nHGNC:8965\nHGNC:8966\nHGNC:18858\nHGNC:8967\nHGNC:23215\nHGNC:3046\nHGNC:14135\nHGNC:8968\nHGNC:14937\nHGNC:14938\nHGNC:15791\nHGNC:26031\nHGNC:23213\nHGNC:26046\nHGNC:28213\nHGNC:30596\nHGNC:26075\nHGNC:25210\nHGNC:28570\nHGNC:30034\nHGNC:8971\nHGNC:8972\nHGNC:8973\nHGNC:8974\nHGNC:8975\nHGNC:8976\nHGNC:8977\nHGNC:8978\nHGNC:24942\nHGNC:8979\nHGNC:8980\nHGNC:8981\nHGNC:8982\nHGNC:30035\nHGNC:27101\nHGNC:23785\nHGNC:20396\nHGNC:18297\nHGNC:8986\nHGNC:8987\nHGNC:19310\nHGNC:25483\nHGNC:8988\nHGNC:8992\nHGNC:14581\nHGNC:44206\nHGNC:30046\nHGNC:8993\nHGNC:8997\nHGNC:8998\nHGNC:23786\nHGNC:19299\nHGNC:25452\nHGNC:8994\nHGNC:8995\nHGNC:8996\nHGNC:28711\nHGNC:17804\nHGNC:30048\nHGNC:37239\nHGNC:8999\nHGNC:25022\nHGNC:9001\nHGNC:9002\nHGNC:21045\nHGNC:9003\nHGNC:21044\nHGNC:21043\nHGNC:17663\nHGNC:9004\nHGNC:9005\nHGNC:9006\nHGNC:9007\nHGNC:17644\nHGNC:18443\nHGNC:18444\nHGNC:16648\nHGNC:17481\nHGNC:29502\nHGNC:9008\nHGNC:18053\nHGNC:21715\nHGNC:21716\nHGNC:9009\nHGNC:9011\nHGNC:9012\nHGNC:25123\nHGNC:9015\nHGNC:9016\nHGNC:20313\nHGNC:9017\nHGNC:9018\nHGNC:9019\nHGNC:9020\nHGNC:9021\nHGNC:29650\nHGNC:9405\nHGNC:9406\nHGNC:17999\nHGNC:9022\nHGNC:16714\nHGNC:9023\nHGNC:9024\nHGNC:9025\nHGNC:9026\nHGNC:17661\nHGNC:9030\nHGNC:9031\nHGNC:9032\nHGNC:9033\nHGNC:13414\nHGNC:30040\nHGNC:17934\nHGNC:9035\nHGNC:9036\nHGNC:9037\nHGNC:30038\nHGNC:24791\nHGNC:27396\nHGNC:9038\nHGNC:9039\nHGNC:9040\nHGNC:9029\nHGNC:18554\nHGNC:18555\nHGNC:17163\nHGNC:9042\nHGNC:9043\nHGNC:14922\nHGNC:17824\nHGNC:17825\nHGNC:9869\nHGNC:24978\nHGNC:9044\nHGNC:19254\nHGNC:31746\nHGNC:19255\nHGNC:9045\nHGNC:9046\nHGNC:9047\nHGNC:9051\nHGNC:9052\nHGNC:9053\nHGNC:30041\nHGNC:26215\nHGNC:27283\nHGNC:15917\nHGNC:9055\nHGNC:9056\nHGNC:9059\nHGNC:9060\nHGNC:9061\nHGNC:9062\nHGNC:17175\nHGNC:9065\nHGNC:9066\nHGNC:29185\nHGNC:29037\nHGNC:9063\nHGNC:9064\nHGNC:23148\nHGNC:26462\nHGNC:31822\nHGNC:19218\nHGNC:9067\nHGNC:9068\nHGNC:17158\nHGNC:23792\nHGNC:26879\nHGNC:30447\nHGNC:9069\nHGNC:9070\nHGNC:19238\nHGNC:14335\nHGNC:14336\nHGNC:14338\nHGNC:14339\nHGNC:30036\nHGNC:17053\nHGNC:27049\nHGNC:30037\nHGNC:19079\nHGNC:19236\nHGNC:20148\nHGNC:20764\nHGNC:20757\nHGNC:20884\nHGNC:29515\nHGNC:20364\nHGNC:24501\nHGNC:29399\nHGNC:29105\nHGNC:25562\nHGNC:33829\nHGNC:17733\nHGNC:30506\nHGNC:26105\nHGNC:18211\nHGNC:29017\nHGNC:29131\nHGNC:34006\nHGNC:25284\nHGNC:24310\nHGNC:30026\nHGNC:26285\nHGNC:30053\nHGNC:9071\nHGNC:9072\nHGNC:9073\nHGNC:23633\nHGNC:9076\nHGNC:248\nHGNC:16893\nHGNC:29393\nHGNC:33196\nHGNC:9077\nHGNC:19699\nHGNC:2154\nHGNC:11397\nHGNC:27001\nHGNC:18553\nHGNC:9080\nHGNC:9081\nHGNC:9082\nHGNC:9083\nHGNC:9086\nHGNC:9087\nHGNC:9457\nHGNC:9228\nHGNC:9230\nHGNC:9229\nHGNC:23531\nHGNC:25026\nHGNC:23682\nHGNC:28174\nHGNC:25993\nHGNC:29566\nHGNC:23497\nHGNC:23496\nHGNC:31703\nHGNC:9089\nHGNC:9090\nHGNC:9091\nHGNC:9092\nHGNC:16494\nHGNC:16495\nHGNC:16497\nHGNC:19952\nHGNC:9093\nHGNC:13635\nHGNC:20945\nHGNC:21013\nHGNC:9099\nHGNC:9100\nHGNC:9101\nHGNC:9102\nHGNC:9103\nHGNC:9104\nHGNC:9105\nHGNC:9106\nHGNC:9107\nHGNC:26518\nHGNC:21408\nHGNC:9108\nHGNC:9109\nHGNC:10880\nHGNC:14107\nHGNC:9112\nHGNC:17728\nHGNC:53649\nHGNC:9113\nHGNC:9114\nHGNC:9115\nHGNC:9117\nHGNC:9118\nHGNC:18667\nHGNC:9119\nHGNC:9121\nHGNC:9122\nHGNC:9141\nHGNC:13415\nHGNC:21222\nHGNC:9153\nHGNC:9154\nHGNC:21185\nHGNC:9155\nHGNC:9156\nHGNC:9157\nHGNC:23492\nHGNC:9158\nHGNC:9159\nHGNC:18742\nHGNC:18743\nHGNC:28248\nHGNC:50767\nHGNC:53119\nHGNC:25578\nHGNC:29206\nHGNC:53427\nHGNC:9160\nHGNC:9162\nHGNC:32790\nHGNC:9163\nHGNC:7892\nHGNC:21246\nHGNC:30802\nHGNC:18590\nHGNC:24887\nHGNC:24888\nHGNC:16268\nHGNC:24768\nHGNC:28900\nHGNC:30260\nHGNC:23166\nHGNC:17278\nHGNC:23158\nHGNC:24488\nHGNC:30836\nHGNC:26658\nHGNC:23174\nHGNC:26275\nHGNC:9171\nHGNC:17936\nHGNC:13711\nHGNC:14988\nHGNC:14683\nHGNC:18800\nHGNC:22954\nHGNC:19350\nHGNC:28496\nHGNC:18801\nHGNC:9173\nHGNC:30073\nHGNC:9174\nHGNC:9175\nHGNC:9176\nHGNC:20932\nHGNC:14106\nHGNC:23781\nHGNC:23782\nHGNC:9177\nHGNC:9178\nHGNC:13546\nHGNC:18755\nHGNC:9179\nHGNC:9180\nHGNC:9181\nHGNC:9182\nHGNC:9183\nHGNC:9184\nHGNC:9185\nHGNC:18870\nHGNC:9186\nHGNC:17264\nHGNC:20454\nHGNC:20194\nHGNC:20422\nHGNC:17631\nHGNC:9187\nHGNC:9188\nHGNC:9189\nHGNC:9191\nHGNC:9192\nHGNC:9193\nHGNC:9194\nHGNC:9195\nHGNC:9196\nHGNC:9197\nHGNC:23208\nHGNC:33853\nHGNC:9198\nHGNC:9199\nHGNC:14862\nHGNC:30074\nHGNC:30348\nHGNC:30076\nHGNC:1080\nHGNC:30347\nHGNC:15763\nHGNC:30075\nHGNC:28466\nHGNC:30349\nHGNC:14121\nHGNC:9200\nHGNC:19702\nHGNC:34005\nHGNC:13973\nHGNC:25369\nHGNC:9201\nHGNC:19139\nHGNC:25902\nHGNC:26267\nHGNC:20330\nHGNC:9202\nHGNC:19743\nHGNC:9203\nHGNC:9204\nHGNC:9205\nHGNC:9206\nHGNC:30129\nHGNC:30081\nHGNC:17689\nHGNC:19949\nHGNC:17648\nHGNC:17649\nHGNC:9208\nHGNC:17652\nHGNC:16953\nHGNC:17284\nHGNC:33893\nHGNC:33734\nHGNC:48327\nHGNC:51240\nHGNC:33894\nHGNC:23822\nHGNC:33895\nHGNC:33905\nHGNC:33896\nHGNC:133\nHGNC:37093\nHGNC:37094\nHGNC:37096\nHGNC:9210\nHGNC:9211\nHGNC:9212\nHGNC:9213\nHGNC:19864\nHGNC:9214\nHGNC:9215\nHGNC:9216\nHGNC:9217\nHGNC:9218\nHGNC:9219\nHGNC:9220\nHGNC:9221\nHGNC:9223\nHGNC:26367\nHGNC:9224\nHGNC:21694\nHGNC:28406\nHGNC:9226\nHGNC:28883\nHGNC:9227\nHGNC:9232\nHGNC:9235\nHGNC:9236\nHGNC:9237\nHGNC:30022\nHGNC:9238\nHGNC:9240\nHGNC:28107\nHGNC:25686\nHGNC:16142\nHGNC:31745\nHGNC:9243\nHGNC:9244\nHGNC:9245\nHGNC:9246\nHGNC:9247\nHGNC:9248\nHGNC:9249\nHGNC:9250\nHGNC:19369\nHGNC:9253\nHGNC:24369\nHGNC:33995\nHGNC:33998\nHGNC:33997\nHGNC:33999\nHGNC:33996\nHGNC:53889\nHGNC:9255\nHGNC:9256\nHGNC:9257\nHGNC:9258\nHGNC:9259\nHGNC:14650\nHGNC:14651\nHGNC:9260\nHGNC:9261\nHGNC:9262\nHGNC:15702\nHGNC:21557\nHGNC:29023\nHGNC:29035\nHGNC:9273\nHGNC:9275\nHGNC:9276\nHGNC:9277\nHGNC:19322\nHGNC:19388\nHGNC:9278\nHGNC:18583\nHGNC:20785\nHGNC:25415\nHGNC:16381\nHGNC:26506\nHGNC:26845\nHGNC:30178\nHGNC:9280\nHGNC:9281\nHGNC:9282\nHGNC:9283\nHGNC:9286\nHGNC:9287\nHGNC:14940\nHGNC:9288\nHGNC:16318\nHGNC:16324\nHGNC:9291\nHGNC:14942\nHGNC:9293\nHGNC:9294\nHGNC:14943\nHGNC:14944\nHGNC:14945\nHGNC:9295\nHGNC:9296\nHGNC:14946\nHGNC:9298\nHGNC:9284\nHGNC:9285\nHGNC:7618\nHGNC:7619\nHGNC:14947\nHGNC:14950\nHGNC:18838\nHGNC:14871\nHGNC:9057\nHGNC:14952\nHGNC:14953\nHGNC:14375\nHGNC:14951\nHGNC:14941\nHGNC:15850\nHGNC:16973\nHGNC:29413\nHGNC:30595\nHGNC:29089\nHGNC:16813\nHGNC:28869\nHGNC:28320\nHGNC:20097\nHGNC:27607\nHGNC:33732\nHGNC:9299\nHGNC:9300\nHGNC:9302\nHGNC:9303\nHGNC:9304\nHGNC:9305\nHGNC:9306\nHGNC:23732\nHGNC:9307\nHGNC:13417\nHGNC:17485\nHGNC:9309\nHGNC:9310\nHGNC:9311\nHGNC:9312\nHGNC:9313\nHGNC:9314\nHGNC:9315\nHGNC:9316\nHGNC:9317\nHGNC:9318\nHGNC:9319\nHGNC:9320\nHGNC:18296\nHGNC:20219\nHGNC:29267\nHGNC:33146\nHGNC:23788\nHGNC:9322\nHGNC:44209\nHGNC:9323\nHGNC:29195\nHGNC:19253\nHGNC:1173\nHGNC:30025\nHGNC:9325\nHGNC:9326\nHGNC:30695\nHGNC:28954\nHGNC:9327\nHGNC:9330\nHGNC:30591\nHGNC:30143\nHGNC:16047\nHGNC:28911\nHGNC:25438\nHGNC:30091\nHGNC:9336\nHGNC:28840\nHGNC:28841\nHGNC:31971\nHGNC:27995\nHGNC:30583\nHGNC:28415\nHGNC:24074\nHGNC:27996\nHGNC:27997\nHGNC:14086\nHGNC:22125\nHGNC:13262\nHGNC:13576\nHGNC:26764\nHGNC:29485\nHGNC:30693\nHGNC:24908\nHGNC:25224\nHGNC:49179\nHGNC:49178\nHGNC:51234\nHGNC:49193\nHGNC:23304\nHGNC:9337\nHGNC:9338\nHGNC:9339\nHGNC:9340\nHGNC:9341\nHGNC:9343\nHGNC:32528\nHGNC:9344\nHGNC:9346\nHGNC:9347\nHGNC:9348\nHGNC:9349\nHGNC:9350\nHGNC:9351\nHGNC:13993\nHGNC:13994\nHGNC:13995\nHGNC:13996\nHGNC:13997\nHGNC:13998\nHGNC:14001\nHGNC:13999\nHGNC:14000\nHGNC:9352\nHGNC:9353\nHGNC:9354\nHGNC:17169\nHGNC:9355\nHGNC:16753\nHGNC:9356\nHGNC:30255\nHGNC:28306\nHGNC:24639\nHGNC:15892\nHGNC:9357\nHGNC:9358\nHGNC:30228\nHGNC:32594\nHGNC:22950\nHGNC:9360\nHGNC:9362\nHGNC:9363\nHGNC:9364\nHGNC:9366\nHGNC:9367\nHGNC:17019\nHGNC:20340\nHGNC:6645\nHGNC:16805\nHGNC:9369\nHGNC:9370\nHGNC:18319\nHGNC:26575\nHGNC:9376\nHGNC:9377\nHGNC:9378\nHGNC:9379\nHGNC:9380\nHGNC:9381\nHGNC:9382\nHGNC:9385\nHGNC:9386\nHGNC:9387\nHGNC:9388\nHGNC:9390\nHGNC:9391\nHGNC:9392\nHGNC:9393\nHGNC:9395\nHGNC:9399\nHGNC:9401\nHGNC:9402\nHGNC:9403\nHGNC:9404\nHGNC:9410\nHGNC:9411\nHGNC:9412\nHGNC:9407\nHGNC:17293\nHGNC:9408\nHGNC:9413\nHGNC:9414\nHGNC:9416\nHGNC:8607\nHGNC:9438\nHGNC:21894\nHGNC:9441\nHGNC:9445\nHGNC:17945\nHGNC:4464\nHGNC:9446\nHGNC:9447\nHGNC:9448\nHGNC:13732\nHGNC:5187\nHGNC:5186\nHGNC:30163\nHGNC:10894\nHGNC:18241\nHGNC:25557\nHGNC:5188\nHGNC:25099\nHGNC:15748\nHGNC:9449\nHGNC:41906\nHGNC:9451\nHGNC:28600\nHGNC:9452\nHGNC:9453\nHGNC:17325\nHGNC:18454\nHGNC:18455\nHGNC:4524\nHGNC:15836\nHGNC:9454\nHGNC:20685\nHGNC:9455\nHGNC:19958\nHGNC:38732\nHGNC:9456\nHGNC:20291\nHGNC:23728\nHGNC:25204\nHGNC:9459\nHGNC:26715\nHGNC:9460\nHGNC:17348\nHGNC:17349\nHGNC:17346\nHGNC:15860\nHGNC:17340\nHGNC:17351\nHGNC:17896\nHGNC:15446\nHGNC:25930\nHGNC:25512\nHGNC:20314\nHGNC:16463\nHGNC:25031\nHGNC:9461\nHGNC:9942\nHGNC:9462\nHGNC:9463\nHGNC:9465\nHGNC:9466\nHGNC:9467\nHGNC:21149\nHGNC:18020\nHGNC:31682\nHGNC:25878\nHGNC:28130\nHGNC:32057\nHGNC:25619\nHGNC:29217\nHGNC:24528\nHGNC:28458\nHGNC:28738\nHGNC:22310\nHGNC:28149\nHGNC:29654\nHGNC:28574\nHGNC:33728\nHGNC:24754\nHGNC:37220\nHGNC:37221\nHGNC:37222\nHGNC:37223\nHGNC:53837\nHGNC:28354\nHGNC:37172\nHGNC:33764\nHGNC:37173\nHGNC:49420\nHGNC:49396\nHGNC:37230\nHGNC:30724\nHGNC:33193\nHGNC:25673\nHGNC:28677\nHGNC:34498\nHGNC:35118\nHGNC:14139\nHGNC:26172\nHGNC:28164\nHGNC:13918\nHGNC:28121\nHGNC:24903\nHGNC:9469\nHGNC:9470\nHGNC:30798\nHGNC:30799\nHGNC:13943\nHGNC:53642\nHGNC:30500\nHGNC:26591\nHGNC:37280\nHGNC:9142\nHGNC:21338\nHGNC:9475\nHGNC:9483\nHGNC:9486\nHGNC:9491\nHGNC:9477\nHGNC:9480\nHGNC:9485\nHGNC:14368\nHGNC:14370\nHGNC:15475\nHGNC:30405\nHGNC:21387\nHGNC:26906\nHGNC:29211\nHGNC:29625\nHGNC:30715\nHGNC:24635\nHGNC:17910\nHGNC:37321\nHGNC:34407\nHGNC:26336\nHGNC:30824\nHGNC:39433\nHGNC:31397\nHGNC:39125\nHGNC:23333\nHGNC:26373\nHGNC:9495\nHGNC:13420\nHGNC:25209\nHGNC:13797\nHGNC:28651\nHGNC:28390\nHGNC:16881\nHGNC:14024\nHGNC:21504\nHGNC:9498\nHGNC:33131\nHGNC:19129\nHGNC:9500\nHGNC:9507\nHGNC:19092\nHGNC:19093\nHGNC:19096\nHGNC:9508\nHGNC:9509\nHGNC:30100\nHGNC:9514\nHGNC:9519\nHGNC:9520\nHGNC:9521\nHGNC:9522\nHGNC:9523\nHGNC:9524\nHGNC:9525\nHGNC:9526\nHGNC:9516\nHGNC:9527\nHGNC:9529\nHGNC:18997\nHGNC:9530\nHGNC:9531\nHGNC:9532\nHGNC:9533\nHGNC:9534\nHGNC:9535\nHGNC:9536\nHGNC:22985\nHGNC:9537\nHGNC:9539\nHGNC:9540\nHGNC:9541\nHGNC:9542\nHGNC:9543\nHGNC:9544\nHGNC:9545\nHGNC:9546\nHGNC:9538\nHGNC:31963\nHGNC:9547\nHGNC:9548\nHGNC:9549\nHGNC:17928\nHGNC:9551\nHGNC:9552\nHGNC:9553\nHGNC:9554\nHGNC:9559\nHGNC:9560\nHGNC:9561\nHGNC:9563\nHGNC:9564\nHGNC:9565\nHGNC:9566\nHGNC:9567\nHGNC:9555\nHGNC:9556\nHGNC:9557\nHGNC:9558\nHGNC:16889\nHGNC:9568\nHGNC:9569\nHGNC:9570\nHGNC:29856\nHGNC:20635\nHGNC:9571\nHGNC:3043\nHGNC:24929\nHGNC:22420\nHGNC:21108\nHGNC:17202\nHGNC:17199\nHGNC:20320\nHGNC:9577\nHGNC:9579\nHGNC:24472\nHGNC:28578\nHGNC:9580\nHGNC:9581\nHGNC:9582\nHGNC:30449\nHGNC:9583\nHGNC:17662\nHGNC:10253\nHGNC:22198\nHGNC:25734\nHGNC:24717\nHGNC:9585\nHGNC:9586\nHGNC:26392\nHGNC:24776\nHGNC:21345\nHGNC:21290\nHGNC:9587\nHGNC:15463\nHGNC:9588\nHGNC:9590\nHGNC:23734\nHGNC:9591\nHGNC:4502\nHGNC:9592\nHGNC:9593\nHGNC:9594\nHGNC:9595\nHGNC:9596\nHGNC:9599\nHGNC:17822\nHGNC:16049\nHGNC:43943\nHGNC:9600\nHGNC:9601\nHGNC:9602\nHGNC:9603\nHGNC:18429\nHGNC:20149\nHGNC:9604\nHGNC:9605\nHGNC:9606\nHGNC:9608\nHGNC:30828\nHGNC:9609\nHGNC:9607\nHGNC:9611\nHGNC:9612\nHGNC:9617\nHGNC:9618\nHGNC:9623\nHGNC:9629\nHGNC:9630\nHGNC:9632\nHGNC:9634\nHGNC:9635\nHGNC:9636\nHGNC:9308\nHGNC:30184\nHGNC:26965\nHGNC:9642\nHGNC:9650\nHGNC:9655\nHGNC:9656\nHGNC:9657\nHGNC:9658\nHGNC:9659\nHGNC:9661\nHGNC:9644\nHGNC:9645\nHGNC:9646\nHGNC:9647\nHGNC:9649\nHGNC:23423\nHGNC:9651\nHGNC:9652\nHGNC:14406\nHGNC:9664\nHGNC:9665\nHGNC:9666\nHGNC:9667\nHGNC:9668\nHGNC:9669\nHGNC:9670\nHGNC:9671\nHGNC:9672\nHGNC:9673\nHGNC:9674\nHGNC:9675\nHGNC:9676\nHGNC:9677\nHGNC:9678\nHGNC:9679\nHGNC:9680\nHGNC:9681\nHGNC:9682\nHGNC:9683\nHGNC:9685\nHGNC:27039\nHGNC:24265\nHGNC:33782\nHGNC:9689\nHGNC:9690\nHGNC:13524\nHGNC:9691\nHGNC:9692\nHGNC:14171\nHGNC:16818\nHGNC:17042\nHGNC:14957\nHGNC:14958\nHGNC:29676\nHGNC:9701\nHGNC:9702\nHGNC:17930\nHGNC:15508\nHGNC:25461\nHGNC:26033\nHGNC:25276\nHGNC:26505\nHGNC:26914\nHGNC:9704\nHGNC:40053\nHGNC:9705\nHGNC:32190\nHGNC:17015\nHGNC:9711\nHGNC:29406\nHGNC:25150\nHGNC:29641\nHGNC:26583\nHGNC:21361\nHGNC:14966\nHGNC:26359\nHGNC:23326\nHGNC:9716\nHGNC:15920\nHGNC:9718\nHGNC:18312\nHGNC:26303\nHGNC:16608\nHGNC:9721\nHGNC:30262\nHGNC:25846\nHGNC:30261\nHGNC:33512\nHGNC:53781\nHGNC:9723\nHGNC:9725\nHGNC:9726\nHGNC:30256\nHGNC:30257\nHGNC:28894\nHGNC:30258\nHGNC:26162\nHGNC:23517\nHGNC:44317\nHGNC:9748\nHGNC:9750\nHGNC:9751\nHGNC:9752\nHGNC:21100\nHGNC:9753\nHGNC:25952\nHGNC:9755\nHGNC:29982\nHGNC:15565\nHGNC:24713\nHGNC:25326\nHGNC:21020\nHGNC:26154\nHGNC:9756\nHGNC:30249\nHGNC:23797\nHGNC:25771\nHGNC:27329\nHGNC:23512\nHGNC:9757\nHGNC:29167\nHGNC:28270\nHGNC:16249\nHGNC:9758\nHGNC:18370\nHGNC:9763\nHGNC:20246\nHGNC:9777\nHGNC:9778\nHGNC:30269\nHGNC:9779\nHGNC:17063\nHGNC:17168\nHGNC:9780\nHGNC:16508\nHGNC:9781\nHGNC:9782\nHGNC:9783\nHGNC:9784\nHGNC:9785\nHGNC:15870\nHGNC:9786\nHGNC:14902\nHGNC:16525\nHGNC:30272\nHGNC:9788\nHGNC:30513\nHGNC:7007\nHGNC:30273\nHGNC:9792\nHGNC:14090\nHGNC:9759\nHGNC:9760\nHGNC:9761\nHGNC:30265\nHGNC:29152\nHGNC:17224\nHGNC:30267\nHGNC:24845\nHGNC:31332\nHGNC:9762\nHGNC:16524\nHGNC:20150\nHGNC:16523\nHGNC:14244\nHGNC:19982\nHGNC:18260\nHGNC:18263\nHGNC:9764\nHGNC:14263\nHGNC:9765\nHGNC:18238\nHGNC:14259\nHGNC:9766\nHGNC:9767\nHGNC:9768\nHGNC:9789\nHGNC:9770\nHGNC:9771\nHGNC:9772\nHGNC:9773\nHGNC:16075\nHGNC:16519\nHGNC:9774\nHGNC:9775\nHGNC:30268\nHGNC:9776\nHGNC:16521\nHGNC:16499\nHGNC:18283\nHGNC:25410\nHGNC:18284\nHGNC:18285\nHGNC:18293\nHGNC:28702\nHGNC:19983\nHGNC:21068\nHGNC:9794\nHGNC:17677\nHGNC:24817\nHGNC:16896\nHGNC:17155\nHGNC:24663\nHGNC:17676\nHGNC:9795\nHGNC:9796\nHGNC:9797\nHGNC:9799\nHGNC:9800\nHGNC:18072\nHGNC:24703\nHGNC:9801\nHGNC:9802\nHGNC:9803\nHGNC:9804\nHGNC:4399\nHGNC:9806\nHGNC:9827\nHGNC:21700\nHGNC:9807\nHGNC:18278\nHGNC:9811\nHGNC:16271\nHGNC:9812\nHGNC:9813\nHGNC:9816\nHGNC:9817\nHGNC:16956\nHGNC:34417\nHGNC:9822\nHGNC:9820\nHGNC:9823\nHGNC:9824\nHGNC:17228\nHGNC:9826\nHGNC:29123\nHGNC:22226\nHGNC:25486\nHGNC:9828\nHGNC:16793\nHGNC:16795\nHGNC:16798\nHGNC:9829\nHGNC:9831\nHGNC:9832\nHGNC:9834\nHGNC:9835\nHGNC:14873\nHGNC:9839\nHGNC:9840\nHGNC:9841\nHGNC:17770\nHGNC:16207\nHGNC:29221\nHGNC:9842\nHGNC:16851\nHGNC:30279\nHGNC:15921\nHGNC:27036\nHGNC:31022\nHGNC:9843\nHGNC:9844\nHGNC:9845\nHGNC:9846\nHGNC:9847\nHGNC:9848\nHGNC:9850\nHGNC:26353\nHGNC:9851\nHGNC:13727\nHGNC:29285\nHGNC:14428\nHGNC:9854\nHGNC:17679\nHGNC:9855\nHGNC:9857\nHGNC:9858\nHGNC:29176\nHGNC:9859\nHGNC:9861\nHGNC:9862\nHGNC:21165\nHGNC:4568\nHGNC:16854\nHGNC:16629\nHGNC:16626\nHGNC:16862\nHGNC:20655\nHGNC:17428\nHGNC:14436\nHGNC:9863\nHGNC:9864\nHGNC:9865\nHGNC:9866\nHGNC:9867\nHGNC:9868\nHGNC:9870\nHGNC:21406\nHGNC:9871\nHGNC:9872\nHGNC:20331\nHGNC:23181\nHGNC:35202\nHGNC:9873\nHGNC:9874\nHGNC:26129\nHGNC:15828\nHGNC:18229\nHGNC:26464\nHGNC:24246\nHGNC:24881\nHGNC:27400\nHGNC:9875\nHGNC:9876\nHGNC:9878\nHGNC:9879\nHGNC:14545\nHGNC:18958\nHGNC:24716\nHGNC:16954\nHGNC:30295\nHGNC:23802\nHGNC:23804\nHGNC:30289\nHGNC:9882\nHGNC:9883\nHGNC:14271\nHGNC:20793\nHGNC:17609\nHGNC:20796\nHGNC:1166\nHGNC:13232\nHGNC:15739\nHGNC:33984\nHGNC:30296\nHGNC:25577\nHGNC:18662\nHGNC:18286\nHGNC:9884\nHGNC:15574\nHGNC:17680\nHGNC:9887\nHGNC:9888\nHGNC:9889\nHGNC:9890\nHGNC:9891\nHGNC:16144\nHGNC:9892\nHGNC:15864\nHGNC:26120\nHGNC:18222\nHGNC:9906\nHGNC:27097\nHGNC:32235\nHGNC:30325\nHGNC:9893\nHGNC:9894\nHGNC:9900\nHGNC:9901\nHGNC:28842\nHGNC:9902\nHGNC:9903\nHGNC:9904\nHGNC:9905\nHGNC:9896\nHGNC:9897\nHGNC:9898\nHGNC:32310\nHGNC:14219\nHGNC:14959\nHGNC:24303\nHGNC:16944\nHGNC:28413\nHGNC:29098\nHGNC:27424\nHGNC:25503\nHGNC:20155\nHGNC:21539\nHGNC:23244\nHGNC:20327\nHGNC:29243\nHGNC:21863\nHGNC:27223\nHGNC:28965\nHGNC:15818\nHGNC:15923\nHGNC:25617\nHGNC:28117\nHGNC:24790\nHGNC:24756\nHGNC:24468\nHGNC:28401\nHGNC:30358\nHGNC:21785\nHGNC:9907\nHGNC:9909\nHGNC:13427\nHGNC:9910\nHGNC:24282\nHGNC:25073\nHGNC:17886\nHGNC:26859\nHGNC:9912\nHGNC:23914\nHGNC:9914\nHGNC:23915\nHGNC:23916\nHGNC:23974\nHGNC:23917\nHGNC:9919\nHGNC:9920\nHGNC:9921\nHGNC:9922\nHGNC:15847\nHGNC:30316\nHGNC:5724\nHGNC:13761\nHGNC:19097\nHGNC:19098\nHGNC:20759\nHGNC:9928\nHGNC:29434\nHGNC:21461\nHGNC:3040\nHGNC:3041\nHGNC:3042\nHGNC:18243\nHGNC:1914\nHGNC:1913\nHGNC:14948\nHGNC:30297\nHGNC:30457\nHGNC:13721\nHGNC:17479\nHGNC:17687\nHGNC:9934\nHGNC:9935\nHGNC:21145\nHGNC:17441\nHGNC:27455\nHGNC:25594\nHGNC:28310\nHGNC:9937\nHGNC:19689\nHGNC:40912\nHGNC:9940\nHGNC:14423\nHGNC:19975\nHGNC:17964\nHGNC:19977\nHGNC:19978\nHGNC:19979\nHGNC:29674\nHGNC:19950\nHGNC:9944\nHGNC:16879\nHGNC:25065\nHGNC:11345\nHGNC:9948\nHGNC:9949\nHGNC:9950\nHGNC:53638\nHGNC:25786\nHGNC:17975\nHGNC:23711\nHGNC:26176\nHGNC:30077\nHGNC:30078\nHGNC:9951\nHGNC:9952\nHGNC:8601\nHGNC:29595\nHGNC:22977\nHGNC:9954\nHGNC:9955\nHGNC:9956\nHGNC:29289\nHGNC:27379\nHGNC:26902\nHGNC:9957\nHGNC:13764\nHGNC:15922\nHGNC:20248\nHGNC:9958\nHGNC:9959\nHGNC:33748\nHGNC:17922\nHGNC:15578\nHGNC:9963\nHGNC:30309\nHGNC:9965\nHGNC:15980\nHGNC:26213\nHGNC:25559\nHGNC:33762\nHGNC:9966\nHGNC:9967\nHGNC:20389\nHGNC:20388\nHGNC:25964\nHGNC:28450\nHGNC:27258\nHGNC:25991\nHGNC:14060\nHGNC:9968\nHGNC:26098\nHGNC:24616\nHGNC:17851\nHGNC:12820\nHGNC:24661\nHGNC:9969\nHGNC:9970\nHGNC:9971\nHGNC:9972\nHGNC:9973\nHGNC:29587\nHGNC:24821\nHGNC:30324\nHGNC:27051\nHGNC:28705\nHGNC:9974\nHGNC:9977\nHGNC:9979\nHGNC:9980\nHGNC:16449\nHGNC:45147\nHGNC:33264\nHGNC:30220\nHGNC:30278\nHGNC:26402\nHGNC:25539\nHGNC:9982\nHGNC:9983\nHGNC:9984\nHGNC:9985\nHGNC:9986\nHGNC:21478\nHGNC:25777\nHGNC:37253\nHGNC:9987\nHGNC:9988\nHGNC:20369\nHGNC:30281\nHGNC:9769\nHGNC:30282\nHGNC:31911\nHGNC:30308\nHGNC:26896\nHGNC:9989\nHGNC:21965\nHGNC:32414\nHGNC:32415\nHGNC:32416\nHGNC:32417\nHGNC:32418\nHGNC:32419\nHGNC:9849\nHGNC:9990\nHGNC:9991\nHGNC:9998\nHGNC:9999\nHGNC:10000\nHGNC:10001\nHGNC:10002\nHGNC:10003\nHGNC:23271\nHGNC:16810\nHGNC:10004\nHGNC:30304\nHGNC:9992\nHGNC:9993\nHGNC:9994\nHGNC:9995\nHGNC:9996\nHGNC:9997\nHGNC:14088\nHGNC:14261\nHGNC:13735\nHGNC:14600\nHGNC:26839\nHGNC:24499\nHGNC:18636\nHGNC:10006\nHGNC:23081\nHGNC:23082\nHGNC:1308\nHGNC:20561\nHGNC:20788\nHGNC:10007\nHGNC:16083\nHGNC:16502\nHGNC:14572\nHGNC:10008\nHGNC:18140\nHGNC:10009\nHGNC:10011\nHGNC:21166\nHGNC:25341\nHGNC:28206\nHGNC:10012\nHGNC:667\nHGNC:668\nHGNC:18738\nHGNC:18756\nHGNC:18757\nHGNC:669\nHGNC:670\nHGNC:15703\nHGNC:672\nHGNC:686\nHGNC:688\nHGNC:17736\nHGNC:21168\nHGNC:21169\nHGNC:17794\nHGNC:18313\nHGNC:29993\nHGNC:30011\nHGNC:33519\nHGNC:19973\nHGNC:19974\nHGNC:26537\nHGNC:13241\nHGNC:17686\nHGNC:30338\nHGNC:29550\nHGNC:25555\nHGNC:28611\nHGNC:16897\nHGNC:23207\nHGNC:26686\nHGNC:30266\nHGNC:26814\nHGNC:28787\nHGNC:30339\nHGNC:29344\nHGNC:33891\nHGNC:33892\nHGNC:28725\nHGNC:29228\nHGNC:17282\nHGNC:17283\nHGNC:21292\nHGNC:16183\nHGNC:18749\nHGNC:18750\nHGNC:18751\nHGNC:10018\nHGNC:24795\nHGNC:21876\nHGNC:18656\nHGNC:18999\nHGNC:11451\nHGNC:20968\nHGNC:19441\nHGNC:10019\nHGNC:10020\nHGNC:10021\nHGNC:496\nHGNC:25836\nHGNC:13872\nHGNC:16168\nHGNC:25117\nHGNC:21390\nHGNC:3047\nHGNC:10023\nHGNC:10017\nHGNC:25925\nHGNC:10024\nHGNC:10025\nHGNC:13429\nHGNC:10026\nHGNC:10027\nHGNC:17135\nHGNC:24326\nHGNC:24285\nHGNC:26567\nHGNC:25550\nHGNC:25764\nHGNC:28349\nHGNC:21176\nHGNC:25850\nHGNC:26181\nHGNC:10044\nHGNC:10045\nHGNC:10046\nHGNC:10047\nHGNC:10048\nHGNC:19278\nHGNC:19277\nHGNC:20673\nHGNC:19275\nHGNC:19269\nHGNC:24211\nHGNC:25285\nHGNC:18466\nHGNC:18518\nHGNC:25671\nHGNC:24116\nHGNC:33911\nHGNC:10050\nHGNC:21686\nHGNC:18314\nHGNC:18315\nHGNC:671\nHGNC:10061\nHGNC:10067\nHGNC:10068\nHGNC:10069\nHGNC:10070\nHGNC:10071\nHGNC:10055\nHGNC:10056\nHGNC:10057\nHGNC:10058\nHGNC:10060\nHGNC:13432\nHGNC:26886\nHGNC:10062\nHGNC:13779\nHGNC:14662\nHGNC:14646\nHGNC:16031\nHGNC:17118\nHGNC:17297\nHGNC:18052\nHGNC:18064\nHGNC:16867\nHGNC:18401\nHGNC:18505\nHGNC:19180\nHGNC:12859\nHGNC:17384\nHGNC:12968\nHGNC:12974\nHGNC:17267\nHGNC:13094\nHGNC:18154\nHGNC:21070\nHGNC:21147\nHGNC:21148\nHGNC:21150\nHGNC:21151\nHGNC:21153\nHGNC:18280\nHGNC:21154\nHGNC:21158\nHGNC:17765\nHGNC:17023\nHGNC:21159\nHGNC:20457\nHGNC:21578\nHGNC:20853\nHGNC:21336\nHGNC:22411\nHGNC:23137\nHGNC:23138\nHGNC:23235\nHGNC:26811\nHGNC:29402\nHGNC:31696\nHGNC:28856\nHGNC:24544\nHGNC:26661\nHGNC:26961\nHGNC:25358\nHGNC:27735\nHGNC:27752\nHGNC:28037\nHGNC:28522\nHGNC:28721\nHGNC:26783\nHGNC:25978\nHGNC:27146\nHGNC:32947\nHGNC:25420\nHGNC:27729\nHGNC:20438\nHGNC:14539\nHGNC:25335\nHGNC:33434\nHGNC:21698\nHGNC:21487\nHGNC:25552\nHGNC:34517\nHGNC:40020\nHGNC:41912\nHGNC:51249\nHGNC:27571\nHGNC:30206\nHGNC:25905\nHGNC:10073\nHGNC:10074\nHGNC:25641\nHGNC:10075\nHGNC:18666\nHGNC:10078\nHGNC:10079\nHGNC:10080\nHGNC:11313\nHGNC:10249\nHGNC:10250\nHGNC:13433\nHGNC:17985\nHGNC:10251\nHGNC:10252\nHGNC:29478\nHGNC:10254\nHGNC:16185\nHGNC:17692\nHGNC:31927\nHGNC:24060\nHGNC:10256\nHGNC:10257\nHGNC:10258\nHGNC:10259\nHGNC:10260\nHGNC:10261\nHGNC:10263\nHGNC:15946\nHGNC:10274\nHGNC:10288\nHGNC:10289\nHGNC:10290\nHGNC:10291\nHGNC:30305\nHGNC:28641\nHGNC:24567\nHGNC:25791\nHGNC:26151\nHGNC:10293\nHGNC:10294\nHGNC:45241\nHGNC:30350\nHGNC:20870\nHGNC:10295\nHGNC:13436\nHGNC:29168\nHGNC:17056\nHGNC:10296\nHGNC:10297\nHGNC:10332\nHGNC:10351\nHGNC:10353\nHGNC:10360\nHGNC:10362\nHGNC:10363\nHGNC:10364\nHGNC:21370\nHGNC:10368\nHGNC:10369\nHGNC:10298\nHGNC:10299\nHGNC:17976\nHGNC:10301\nHGNC:10302\nHGNC:10303\nHGNC:10304\nHGNC:10305\nHGNC:10306\nHGNC:10307\nHGNC:10310\nHGNC:10311\nHGNC:10312\nHGNC:10313\nHGNC:10315\nHGNC:27610\nHGNC:10316\nHGNC:10317\nHGNC:10325\nHGNC:10327\nHGNC:17050\nHGNC:10328\nHGNC:10329\nHGNC:10330\nHGNC:10331\nHGNC:10333\nHGNC:10334\nHGNC:10336\nHGNC:10340\nHGNC:10344\nHGNC:10345\nHGNC:13631\nHGNC:10359\nHGNC:10346\nHGNC:10347\nHGNC:10348\nHGNC:10349\nHGNC:10350\nHGNC:17094\nHGNC:10354\nHGNC:10371\nHGNC:10372\nHGNC:10377\nHGNC:10381\nHGNC:10382\nHGNC:30327\nHGNC:21300\nHGNC:30361\nHGNC:19909\nHGNC:17688\nHGNC:30329\nHGNC:20992\nHGNC:25560\nHGNC:16209\nHGNC:29039\nHGNC:24201\nHGNC:32422\nHGNC:10404\nHGNC:10420\nHGNC:10421\nHGNC:10424\nHGNC:10425\nHGNC:18501\nHGNC:10426\nHGNC:10429\nHGNC:10430\nHGNC:10431\nHGNC:10432\nHGNC:10433\nHGNC:10434\nHGNC:10435\nHGNC:10436\nHGNC:10437\nHGNC:10439\nHGNC:20222\nHGNC:10440\nHGNC:10441\nHGNC:10442\nHGNC:10383\nHGNC:10384\nHGNC:10385\nHGNC:10386\nHGNC:10387\nHGNC:10388\nHGNC:10389\nHGNC:10396\nHGNC:10397\nHGNC:10401\nHGNC:10402\nHGNC:28749\nHGNC:10405\nHGNC:10409\nHGNC:10410\nHGNC:10411\nHGNC:10413\nHGNC:10414\nHGNC:10416\nHGNC:10417\nHGNC:18476\nHGNC:10418\nHGNC:10419\nHGNC:6502\nHGNC:26809\nHGNC:30287\nHGNC:14173\nHGNC:24180\nHGNC:28437\nHGNC:25898\nHGNC:10446\nHGNC:16963\nHGNC:19901\nHGNC:19902\nHGNC:19903\nHGNC:10447\nHGNC:17271\nHGNC:10448\nHGNC:10449\nHGNC:10450\nHGNC:10451\nHGNC:10452\nHGNC:17296\nHGNC:30346\nHGNC:24273\nHGNC:18785\nHGNC:23818\nHGNC:24286\nHGNC:29030\nHGNC:16829\nHGNC:29100\nHGNC:24255\nHGNC:21374\nHGNC:17083\nHGNC:10457\nHGNC:25634\nHGNC:30908\nHGNC:25642\nHGNC:24765\nHGNC:10458\nHGNC:18118\nHGNC:26314\nHGNC:24534\nHGNC:18479\nHGNC:12371\nHGNC:21054\nHGNC:21558\nHGNC:14241\nHGNC:21057\nHGNC:27362\nHGNC:34385\nHGNC:13437\nHGNC:21679\nHGNC:28583\nHGNC:20866\nHGNC:16175\nHGNC:29420\nHGNC:24152\nHGNC:30559\nHGNC:25234\nHGNC:10464\nHGNC:30310\nHGNC:17981\nHGNC:26935\nHGNC:15888\nHGNC:28996\nHGNC:15890\nHGNC:10466\nHGNC:19364\nHGNC:14665\nHGNC:22997\nHGNC:25214\nHGNC:29430\nHGNC:13343\nHGNC:24514\nHGNC:33156\nHGNC:2569\nHGNC:29245\nHGNC:26112\nHGNC:10467\nHGNC:10468\nHGNC:10469\nHGNC:14085\nHGNC:18647\nHGNC:18601\nHGNC:21329\nHGNC:23053\nHGNC:28580\nHGNC:32486\nHGNC:15572\nHGNC:23992\nHGNC:26585\nHGNC:23169\nHGNC:18654\nHGNC:28991\nHGNC:20420\nHGNC:19760\nHGNC:19761\nHGNC:30285\nHGNC:24804\nHGNC:25418\nHGNC:16984\nHGNC:30286\nHGNC:10471\nHGNC:1535\nHGNC:10472\nHGNC:10473\nHGNC:17153\nHGNC:23625\nHGNC:10474\nHGNC:10475\nHGNC:20993\nHGNC:21385\nHGNC:1302\nHGNC:21393\nHGNC:23750\nHGNC:19718\nHGNC:17318\nHGNC:24883\nHGNC:14666\nHGNC:10477\nHGNC:10478\nHGNC:10479\nHGNC:13530\nHGNC:10480\nHGNC:10481\nHGNC:10483\nHGNC:10484\nHGNC:10485\nHGNC:3165\nHGNC:3169\nHGNC:3167\nHGNC:3170\nHGNC:14299\nHGNC:10486\nHGNC:10492\nHGNC:10493\nHGNC:10494\nHGNC:10495\nHGNC:10496\nHGNC:10497\nHGNC:21657\nHGNC:10498\nHGNC:10499\nHGNC:10487\nHGNC:10488\nHGNC:10489\nHGNC:10490\nHGNC:18901\nHGNC:20441\nHGNC:10500\nHGNC:1436\nHGNC:10504\nHGNC:25768\nHGNC:30367\nHGNC:10513\nHGNC:10514\nHGNC:10516\nHGNC:25158\nHGNC:30179\nHGNC:17059\nHGNC:10519\nHGNC:30660\nHGNC:10520\nHGNC:21605\nHGNC:10521\nHGNC:30369\nHGNC:10524\nHGNC:10526\nHGNC:10527\nHGNC:15924\nHGNC:17958\nHGNC:21574\nHGNC:23023\nHGNC:25492\nHGNC:21180\nHGNC:25394\nHGNC:26320\nHGNC:1348\nHGNC:1349\nHGNC:16129\nHGNC:28706\nHGNC:31750\nHGNC:24582\nHGNC:27312\nHGNC:18631\nHGNC:15925\nHGNC:24276\nHGNC:10528\nHGNC:10530\nHGNC:41908\nHGNC:10532\nHGNC:30785\nHGNC:25663\nHGNC:29813\nHGNC:13938\nHGNC:28055\nHGNC:10534\nHGNC:10535\nHGNC:28789\nHGNC:10536\nHGNC:17074\nHGNC:24432\nHGNC:10537\nHGNC:17697\nHGNC:10538\nHGNC:16860\nHGNC:19182\nHGNC:15975\nHGNC:25403\nHGNC:10540\nHGNC:23160\nHGNC:10541\nHGNC:21637\nHGNC:27992\nHGNC:17795\nHGNC:28566\nHGNC:33727\nHGNC:21025\nHGNC:19440\nHGNC:10542\nHGNC:2135\nHGNC:17699\nHGNC:34416\nHGNC:44121\nHGNC:22973\nHGNC:29158\nHGNC:24950\nHGNC:30362\nHGNC:10547\nHGNC:30403\nHGNC:19304\nHGNC:20959\nHGNC:10784\nHGNC:26709\nHGNC:10563\nHGNC:10564\nHGNC:10565\nHGNC:30385\nHGNC:30386\nHGNC:10566\nHGNC:30634\nHGNC:13081\nHGNC:19000\nHGNC:28701\nHGNC:1664\nHGNC:1665\nHGNC:16820\nHGNC:19869\nHGNC:24275\nHGNC:10571\nHGNC:21088\nHGNC:10573\nHGNC:20726\nHGNC:30676\nHGNC:10575\nHGNC:13707\nHGNC:10816\nHGNC:12523\nHGNC:18394\nHGNC:51242\nHGNC:18395\nHGNC:18396\nHGNC:31748\nHGNC:7051\nHGNC:7050\nHGNC:27616\nHGNC:18384\nHGNC:18391\nHGNC:16941\nHGNC:15678\nHGNC:33504\nHGNC:21695\nHGNC:26406\nHGNC:18161\nHGNC:19003\nHGNC:10580\nHGNC:10581\nHGNC:21397\nHGNC:10585\nHGNC:10586\nHGNC:10588\nHGNC:10589\nHGNC:10590\nHGNC:20665\nHGNC:10591\nHGNC:10592\nHGNC:10593\nHGNC:10594\nHGNC:10596\nHGNC:10597\nHGNC:10582\nHGNC:10583\nHGNC:23136\nHGNC:10599\nHGNC:10600\nHGNC:10601\nHGNC:10602\nHGNC:10603\nHGNC:10604\nHGNC:20335\nHGNC:10606\nHGNC:16211\nHGNC:29507\nHGNC:17036\nHGNC:30377\nHGNC:22192\nHGNC:30381\nHGNC:30382\nHGNC:15950\nHGNC:15952\nHGNC:10607\nHGNC:10608\nHGNC:13441\nHGNC:30425\nHGNC:13655\nHGNC:32322\nHGNC:34218\nHGNC:34220\nHGNC:34222\nHGNC:34223\nHGNC:34224\nHGNC:34225\nHGNC:34226\nHGNC:34227\nHGNC:34219\nHGNC:34221\nHGNC:14372\nHGNC:19286\nHGNC:19285\nHGNC:25537\nHGNC:10658\nHGNC:10659\nHGNC:10660\nHGNC:10661\nHGNC:10662\nHGNC:15756\nHGNC:10671\nHGNC:26643\nHGNC:10675\nHGNC:10676\nHGNC:24188\nHGNC:10680\nHGNC:33867\nHGNC:26034\nHGNC:21752\nHGNC:20957\nHGNC:10681\nHGNC:10682\nHGNC:10683\nHGNC:38749\nHGNC:19307\nHGNC:19308\nHGNC:29958\nHGNC:30311\nHGNC:20275\nHGNC:29834\nHGNC:35414\nHGNC:10691\nHGNC:30404\nHGNC:32942\nHGNC:17718\nHGNC:23400\nHGNC:10697\nHGNC:10698\nHGNC:10699\nHGNC:18655\nHGNC:20627\nHGNC:29032\nHGNC:40047\nHGNC:29006\nHGNC:30301\nHGNC:20260\nHGNC:10700\nHGNC:16828\nHGNC:10701\nHGNC:10702\nHGNC:17018\nHGNC:10703\nHGNC:10704\nHGNC:10705\nHGNC:10706\nHGNC:17052\nHGNC:23197\nHGNC:18276\nHGNC:17702\nHGNC:16993\nHGNC:18277\nHGNC:11846\nHGNC:21082\nHGNC:30972\nHGNC:28997\nHGNC:10707\nHGNC:30379\nHGNC:10717\nHGNC:15897\nHGNC:29108\nHGNC:10718\nHGNC:10719\nHGNC:17705\nHGNC:18251\nHGNC:29361\nHGNC:30394\nHGNC:30397\nHGNC:15999\nHGNC:30395\nHGNC:10751\nHGNC:30396\nHGNC:18136\nHGNC:30399\nHGNC:10752\nHGNC:10720\nHGNC:10721\nHGNC:10722\nHGNC:10845\nHGNC:10723\nHGNC:10724\nHGNC:10725\nHGNC:10726\nHGNC:10727\nHGNC:10728\nHGNC:30400\nHGNC:10729\nHGNC:10730\nHGNC:10731\nHGNC:10732\nHGNC:10734\nHGNC:10735\nHGNC:10736\nHGNC:10737\nHGNC:10738\nHGNC:10739\nHGNC:10740\nHGNC:16770\nHGNC:10741\nHGNC:10742\nHGNC:10743\nHGNC:17927\nHGNC:23116\nHGNC:17862\nHGNC:28407\nHGNC:20944\nHGNC:30402\nHGNC:22992\nHGNC:19685\nHGNC:19686\nHGNC:30605\nHGNC:2879\nHGNC:7729\nHGNC:10750\nHGNC:9165\nHGNC:9164\nHGNC:15848\nHGNC:1717\nHGNC:16511\nHGNC:7323\nHGNC:14349\nHGNC:25589\nHGNC:26348\nHGNC:33280\nHGNC:21061\nHGNC:17860\nHGNC:10755\nHGNC:10756\nHGNC:10757\nHGNC:17499\nHGNC:29446\nHGNC:13464\nHGNC:23231\nHGNC:11699\nHGNC:32237\nHGNC:18825\nHGNC:10759\nHGNC:20607\nHGNC:8941\nHGNC:8985\nHGNC:16\nHGNC:8948\nHGNC:8723\nHGNC:1540\nHGNC:11583\nHGNC:15995\nHGNC:15996\nHGNC:19193\nHGNC:18359\nHGNC:3311\nHGNC:8584\nHGNC:10569\nHGNC:10570\nHGNC:8949\nHGNC:8950\nHGNC:13902\nHGNC:8952\nHGNC:8955\nHGNC:8942\nHGNC:14221\nHGNC:14220\nHGNC:8944\nHGNC:775\nHGNC:4838\nHGNC:8583\nHGNC:8951\nHGNC:24774\nHGNC:8824\nHGNC:9075\nHGNC:1228\nHGNC:1546\nHGNC:8943\nHGNC:8945\nHGNC:17932\nHGNC:30784\nHGNC:17931\nHGNC:25236\nHGNC:33792\nHGNC:48576\nHGNC:21595\nHGNC:20746\nHGNC:23060\nHGNC:18379\nHGNC:10760\nHGNC:15573\nHGNC:29010\nHGNC:29187\nHGNC:18420\nHGNC:20493\nHGNC:1258\nHGNC:25566\nHGNC:26116\nHGNC:30412\nHGNC:28508\nHGNC:10761\nHGNC:20263\nHGNC:10762\nHGNC:42937\nHGNC:445\nHGNC:15955\nHGNC:10763\nHGNC:30844\nHGNC:12950\nHGNC:10765\nHGNC:10766\nHGNC:10767\nHGNC:10768\nHGNC:10769\nHGNC:10770\nHGNC:10771\nHGNC:21083\nHGNC:30096\nHGNC:29064\nHGNC:20255\nHGNC:20256\nHGNC:10773\nHGNC:10774\nHGNC:29574\nHGNC:10776\nHGNC:10777\nHGNC:10778\nHGNC:10779\nHGNC:10790\nHGNC:21102\nHGNC:25140\nHGNC:28767\nHGNC:18386\nHGNC:18387\nHGNC:10798\nHGNC:10799\nHGNC:10801\nHGNC:10802\nHGNC:10803\nHGNC:16085\nHGNC:16086\nHGNC:16087\nHGNC:16088\nHGNC:16073\nHGNC:10805\nHGNC:10806\nHGNC:10807\nHGNC:10808\nHGNC:10809\nHGNC:14075\nHGNC:25156\nHGNC:25412\nHGNC:10810\nHGNC:13900\nHGNC:10812\nHGNC:29799\nHGNC:28395\nHGNC:25088\nHGNC:30812\nHGNC:10817\nHGNC:17720\nHGNC:19953\nHGNC:10818\nHGNC:29410\nHGNC:29026\nHGNC:25228\nHGNC:10819\nHGNC:23567\nHGNC:30417\nHGNC:17381\nHGNC:29605\nHGNC:10820\nHGNC:30416\nHGNC:10821\nHGNC:16885\nHGNC:16884\nHGNC:26102\nHGNC:31440\nHGNC:28819\nHGNC:30439\nHGNC:34549\nHGNC:10822\nHGNC:10823\nHGNC:15567\nHGNC:15568\nHGNC:10824\nHGNC:10825\nHGNC:10826\nHGNC:10827\nHGNC:29360\nHGNC:30418\nHGNC:26236\nHGNC:10830\nHGNC:10831\nHGNC:10832\nHGNC:10833\nHGNC:10834\nHGNC:13867\nHGNC:23664\nHGNC:29242\nHGNC:17650\nHGNC:26299\nHGNC:24699\nHGNC:26009\nHGNC:29427\nHGNC:29546\nHGNC:15474\nHGNC:14295\nHGNC:14294\nHGNC:25321\nHGNC:10838\nHGNC:10839\nHGNC:10840\nHGNC:29869\nHGNC:18181\nHGNC:16743\nHGNC:29547\nHGNC:16788\nHGNC:30633\nHGNC:27004\nHGNC:25116\nHGNC:25649\nHGNC:10848\nHGNC:20366\nHGNC:25159\nHGNC:27139\nHGNC:30376\nHGNC:34491\nHGNC:35409\nHGNC:18351\nHGNC:37231\nHGNC:29335\nHGNC:28757\nHGNC:34236\nHGNC:19214\nHGNC:26318\nHGNC:28773\nHGNC:53826\nHGNC:10850\nHGNC:10852\nHGNC:26535\nHGNC:15454\nHGNC:10853\nHGNC:10854\nHGNC:1492\nHGNC:19336\nHGNC:25543\nHGNC:24084\nHGNC:630\nHGNC:30422\nHGNC:29215\nHGNC:29319\nHGNC:10856\nHGNC:18187\nHGNC:10857\nHGNC:10858\nHGNC:30553\nHGNC:25967\nHGNC:24272\nHGNC:30575\nHGNC:11127\nHGNC:10874\nHGNC:10875\nHGNC:10876\nHGNC:10877\nHGNC:10878\nHGNC:15620\nHGNC:15622\nHGNC:15482\nHGNC:32926\nHGNC:27596\nHGNC:24851\nHGNC:26856\nHGNC:8157\nHGNC:11142\nHGNC:52389\nHGNC:21680\nHGNC:29165\nHGNC:26119\nHGNC:24624\nHGNC:10882\nHGNC:10883\nHGNC:24779\nHGNC:19353\nHGNC:19354\nHGNC:30702\nHGNC:10885\nHGNC:20284\nHGNC:23800\nHGNC:23801\nHGNC:9662\nHGNC:15928\nHGNC:16247\nHGNC:16248\nHGNC:15757\nHGNC:14929\nHGNC:10886\nHGNC:14931\nHGNC:14932\nHGNC:14933\nHGNC:14934\nHGNC:14935\nHGNC:17710\nHGNC:17712\nHGNC:10887\nHGNC:10888\nHGNC:10889\nHGNC:10890\nHGNC:10891\nHGNC:10892\nHGNC:28109\nHGNC:28006\nHGNC:20262\nHGNC:15605\nHGNC:15687\nHGNC:10896\nHGNC:32697\nHGNC:10897\nHGNC:10898\nHGNC:21326\nHGNC:32695\nHGNC:10899\nHGNC:10901\nHGNC:10902\nHGNC:17329\nHGNC:26387\nHGNC:29282\nHGNC:10903\nHGNC:21392\nHGNC:21394\nHGNC:21391\nHGNC:18430\nHGNC:10904\nHGNC:10939\nHGNC:10940\nHGNC:10941\nHGNC:10942\nHGNC:10943\nHGNC:10944\nHGNC:10945\nHGNC:11005\nHGNC:11006\nHGNC:11007\nHGNC:11009\nHGNC:15930\nHGNC:11010\nHGNC:11011\nHGNC:13445\nHGNC:13812\nHGNC:13446\nHGNC:13444\nHGNC:14239\nHGNC:18067\nHGNC:15956\nHGNC:18301\nHGNC:11025\nHGNC:11026\nHGNC:11027\nHGNC:13813\nHGNC:11028\nHGNC:11029\nHGNC:11030\nHGNC:18168\nHGNC:11033\nHGNC:11034\nHGNC:11035\nHGNC:13811\nHGNC:16438\nHGNC:11036\nHGNC:11037\nHGNC:11038\nHGNC:11039\nHGNC:11040\nHGNC:11041\nHGNC:14025\nHGNC:19119\nHGNC:22146\nHGNC:23155\nHGNC:23091\nHGNC:28750\nHGNC:11042\nHGNC:11048\nHGNC:11049\nHGNC:11050\nHGNC:11051\nHGNC:11052\nHGNC:11054\nHGNC:11055\nHGNC:11056\nHGNC:11044\nHGNC:11045\nHGNC:11046\nHGNC:11047\nHGNC:13621\nHGNC:13622\nHGNC:31399\nHGNC:26441\nHGNC:27960\nHGNC:30927\nHGNC:11057\nHGNC:11060\nHGNC:11061\nHGNC:11062\nHGNC:11063\nHGNC:11064\nHGNC:25807\nHGNC:11065\nHGNC:11066\nHGNC:11067\nHGNC:11058\nHGNC:11059\nHGNC:23092\nHGNC:29326\nHGNC:11068\nHGNC:11069\nHGNC:11070\nHGNC:26175\nHGNC:11071\nHGNC:11072\nHGNC:11073\nHGNC:11075\nHGNC:11076\nHGNC:11077\nHGNC:11078\nHGNC:11079\nHGNC:17123\nHGNC:20728\nHGNC:20653\nHGNC:24244\nHGNC:25143\nHGNC:31401\nHGNC:28664\nHGNC:10905\nHGNC:10906\nHGNC:22979\nHGNC:22980\nHGNC:22981\nHGNC:30603\nHGNC:23088\nHGNC:10907\nHGNC:10908\nHGNC:10910\nHGNC:10911\nHGNC:10912\nHGNC:10913\nHGNC:13818\nHGNC:10914\nHGNC:10915\nHGNC:15595\nHGNC:17435\nHGNC:10916\nHGNC:10917\nHGNC:14430\nHGNC:15827\nHGNC:23089\nHGNC:10918\nHGNC:10919\nHGNC:10920\nHGNC:10921\nHGNC:18068\nHGNC:23090\nHGNC:33455\nHGNC:10922\nHGNC:10923\nHGNC:10924\nHGNC:10925\nHGNC:10926\nHGNC:10927\nHGNC:10928\nHGNC:16270\nHGNC:23520\nHGNC:17027\nHGNC:23093\nHGNC:23094\nHGNC:31037\nHGNC:26417\nHGNC:10929\nHGNC:10930\nHGNC:10931\nHGNC:10932\nHGNC:10933\nHGNC:16703\nHGNC:16704\nHGNC:20151\nHGNC:16192\nHGNC:10934\nHGNC:10935\nHGNC:10936\nHGNC:21573\nHGNC:10937\nHGNC:10938\nHGNC:16266\nHGNC:10946\nHGNC:10947\nHGNC:10963\nHGNC:10966\nHGNC:10967\nHGNC:10968\nHGNC:10969\nHGNC:10970\nHGNC:10971\nHGNC:10972\nHGNC:16261\nHGNC:18057\nHGNC:18120\nHGNC:17989\nHGNC:8494\nHGNC:8495\nHGNC:20301\nHGNC:20302\nHGNC:23095\nHGNC:10964\nHGNC:10965\nHGNC:21106\nHGNC:28542\nHGNC:32935\nHGNC:27091\nHGNC:10974\nHGNC:10973\nHGNC:20601\nHGNC:10975\nHGNC:10976\nHGNC:10977\nHGNC:10978\nHGNC:20611\nHGNC:10979\nHGNC:22921\nHGNC:10989\nHGNC:10990\nHGNC:10991\nHGNC:10992\nHGNC:10980\nHGNC:10981\nHGNC:10982\nHGNC:10983\nHGNC:10984\nHGNC:10985\nHGNC:10986\nHGNC:10987\nHGNC:10988\nHGNC:14409\nHGNC:1421\nHGNC:14411\nHGNC:19954\nHGNC:19375\nHGNC:20662\nHGNC:20663\nHGNC:20661\nHGNC:21065\nHGNC:23472\nHGNC:20116\nHGNC:27371\nHGNC:25319\nHGNC:29683\nHGNC:29681\nHGNC:27653\nHGNC:31921\nHGNC:25554\nHGNC:29786\nHGNC:26054\nHGNC:24279\nHGNC:29680\nHGNC:28533\nHGNC:28380\nHGNC:30557\nHGNC:29036\nHGNC:27442\nHGNC:25198\nHGNC:20115\nHGNC:30451\nHGNC:23323\nHGNC:23324\nHGNC:31894\nHGNC:10993\nHGNC:10994\nHGNC:3018\nHGNC:8818\nHGNC:9359\nHGNC:14472\nHGNC:14467\nHGNC:14468\nHGNC:14469\nHGNC:14470\nHGNC:14471\nHGNC:10995\nHGNC:10996\nHGNC:10997\nHGNC:10998\nHGNC:10999\nHGNC:11000\nHGNC:11001\nHGNC:11002\nHGNC:16484\nHGNC:11003\nHGNC:11004\nHGNC:23096\nHGNC:23097\nHGNC:11012\nHGNC:11013\nHGNC:11014\nHGNC:11015\nHGNC:19089\nHGNC:19305\nHGNC:19306\nHGNC:20303\nHGNC:1329\nHGNC:25355\nHGNC:11016\nHGNC:11017\nHGNC:11018\nHGNC:95\nHGNC:11019\nHGNC:11020\nHGNC:20305\nHGNC:11021\nHGNC:11022\nHGNC:11023\nHGNC:20753\nHGNC:20792\nHGNC:20798\nHGNC:16872\nHGNC:21601\nHGNC:20584\nHGNC:20197\nHGNC:17117\nHGNC:20800\nHGNC:20799\nHGNC:15621\nHGNC:20803\nHGNC:20863\nHGNC:33941\nHGNC:20864\nHGNC:17058\nHGNC:21483\nHGNC:23615\nHGNC:23616\nHGNC:19845\nHGNC:23617\nHGNC:26055\nHGNC:26607\nHGNC:28480\nHGNC:26848\nHGNC:31043\nHGNC:15546\nHGNC:31351\nHGNC:18761\nHGNC:18762\nHGNC:19659\nHGNC:19660\nHGNC:11024\nHGNC:20644\nHGNC:20651\nHGNC:4061\nHGNC:13447\nHGNC:13448\nHGNC:18044\nHGNC:14679\nHGNC:18070\nHGNC:19863\nHGNC:25582\nHGNC:32434\nHGNC:26907\nHGNC:28237\nHGNC:26836\nHGNC:12876\nHGNC:17127\nHGNC:17128\nHGNC:17129\nHGNC:20502\nHGNC:18607\nHGNC:4927\nHGNC:20862\nHGNC:20182\nHGNC:20861\nHGNC:14463\nHGNC:20860\nHGNC:20859\nHGNC:20858\nHGNC:10909\nHGNC:19429\nHGNC:31045\nHGNC:31046\nHGNC:9225\nHGNC:23087\nHGNC:17466\nHGNC:18798\nHGNC:17292\nHGNC:28689\nHGNC:13941\nHGNC:28524\nHGNC:17939\nHGNC:16472\nHGNC:8642\nHGNC:29196\nHGNC:30521\nHGNC:16055\nHGNC:27501\nHGNC:25588\nHGNC:26439\nHGNC:26035\nHGNC:26177\nHGNC:16628\nHGNC:30657\nHGNC:29955\nHGNC:29956\nHGNC:30225\nHGNC:30224\nHGNC:16187\nHGNC:26001\nHGNC:25146\nHGNC:26188\nHGNC:28503\nHGNC:10956\nHGNC:10959\nHGNC:10961\nHGNC:32934\nHGNC:13819\nHGNC:10955\nHGNC:10962\nHGNC:10952\nHGNC:10953\nHGNC:23612\nHGNC:19046\nHGNC:23613\nHGNC:25408\nHGNC:17814\nHGNC:28286\nHGNC:26633\nHGNC:25500\nHGNC:33920\nHGNC:26481\nHGNC:32689\nHGNC:26313\nHGNC:20495\nHGNC:11085\nHGNC:11086\nHGNC:11087\nHGNC:20297\nHGNC:13449\nHGNC:23501\nHGNC:23502\nHGNC:20295\nHGNC:23503\nHGNC:11088\nHGNC:16643\nHGNC:11089\nHGNC:11092\nHGNC:20709\nHGNC:16939\nHGNC:18746\nHGNC:25549\nHGNC:20922\nHGNC:28748\nHGNC:23845\nHGNC:16225\nHGNC:6767\nHGNC:6768\nHGNC:6769\nHGNC:6770\nHGNC:6771\nHGNC:6772\nHGNC:6773\nHGNC:6774\nHGNC:26918\nHGNC:19651\nHGNC:25082\nHGNC:11097\nHGNC:11098\nHGNC:11100\nHGNC:11101\nHGNC:18398\nHGNC:11102\nHGNC:11103\nHGNC:11104\nHGNC:11105\nHGNC:11106\nHGNC:11107\nHGNC:11108\nHGNC:11109\nHGNC:11111\nHGNC:11112\nHGNC:14011\nHGNC:2468\nHGNC:14013\nHGNC:20465\nHGNC:20466\nHGNC:29090\nHGNC:27407\nHGNC:34448\nHGNC:34401\nHGNC:24810\nHGNC:6962\nHGNC:17921\nHGNC:25055\nHGNC:30045\nHGNC:24644\nHGNC:17809\nHGNC:16792\nHGNC:25551\nHGNC:25763\nHGNC:44204\nHGNC:28776\nHGNC:30248\nHGNC:37257\nHGNC:40030\nHGNC:40032\nHGNC:28419\nHGNC:21401\nHGNC:41915\nHGNC:41913\nHGNC:49847\nHGNC:34499\nHGNC:34500\nHGNC:1293\nHGNC:51846\nHGNC:25154\nHGNC:27356\nHGNC:27321\nHGNC:33861\nHGNC:27114\nHGNC:42973\nHGNC:25166\nHGNC:37260\nHGNC:27598\nHGNC:48329\nHGNC:34440\nHGNC:37244\nHGNC:43430\nHGNC:31420\nHGNC:53434\nHGNC:1340\nHGNC:48953\nHGNC:49638\nHGNC:53640\nHGNC:53645\nHGNC:39601\nHGNC:53650\nHGNC:44179\nHGNC:53654\nHGNC:54074\nHGNC:54076\nHGNC:54073\nHGNC:54075\nHGNC:43561\nHGNC:44670\nHGNC:11117\nHGNC:11118\nHGNC:16900\nHGNC:11119\nHGNC:20318\nHGNC:20323\nHGNC:15862\nHGNC:11120\nHGNC:11121\nHGNC:14240\nHGNC:32949\nHGNC:17389\nHGNC:21416\nHGNC:11122\nHGNC:19216\nHGNC:17326\nHGNC:11123\nHGNC:11126\nHGNC:32394\nHGNC:24764\nHGNC:18247\nHGNC:17148\nHGNC:16807\nHGNC:16809\nHGNC:20986\nHGNC:20982\nHGNC:15513\nHGNC:21067\nHGNC:16258\nHGNC:11128\nHGNC:11094\nHGNC:18411\nHGNC:11131\nHGNC:11132\nHGNC:11133\nHGNC:30669\nHGNC:14986\nHGNC:11134\nHGNC:11135\nHGNC:11136\nHGNC:11137\nHGNC:15484\nHGNC:17145\nHGNC:11138\nHGNC:11139\nHGNC:11140\nHGNC:11141\nHGNC:30646\nHGNC:24696\nHGNC:17028\nHGNC:19078\nHGNC:30587\nHGNC:11149\nHGNC:33763\nHGNC:15931\nHGNC:30598\nHGNC:14161\nHGNC:30240\nHGNC:30852\nHGNC:30857\nHGNC:21368\nHGNC:11150\nHGNC:30859\nHGNC:11151\nHGNC:11152\nHGNC:11153\nHGNC:11155\nHGNC:11157\nHGNC:11158\nHGNC:11159\nHGNC:11160\nHGNC:11161\nHGNC:11162\nHGNC:11163\nHGNC:11164\nHGNC:11167\nHGNC:11168\nHGNC:11169\nHGNC:13740\nHGNC:13741\nHGNC:33706\nHGNC:7819\nHGNC:14245\nHGNC:11171\nHGNC:16696\nHGNC:11172\nHGNC:11173\nHGNC:11174\nHGNC:11175\nHGNC:14969\nHGNC:14970\nHGNC:14971\nHGNC:14972\nHGNC:14973\nHGNC:14974\nHGNC:14975\nHGNC:14976\nHGNC:21335\nHGNC:14977\nHGNC:14978\nHGNC:14980\nHGNC:14979\nHGNC:19245\nHGNC:21532\nHGNC:30390\nHGNC:16154\nHGNC:16315\nHGNC:21533\nHGNC:21883\nHGNC:20073\nHGNC:30542\nHGNC:23685\nHGNC:28605\nHGNC:26423\nHGNC:28468\nHGNC:11177\nHGNC:11178\nHGNC:29256\nHGNC:19383\nHGNC:19382\nHGNC:19391\nHGNC:19392\nHGNC:16852\nHGNC:16833\nHGNC:29846\nHGNC:11179\nHGNC:11180\nHGNC:11181\nHGNC:16111\nHGNC:21494\nHGNC:27845\nHGNC:26026\nHGNC:11183\nHGNC:14565\nHGNC:24098\nHGNC:30907\nHGNC:16697\nHGNC:16698\nHGNC:16699\nHGNC:11184\nHGNC:11185\nHGNC:11186\nHGNC:11187\nHGNC:11188\nHGNC:13771\nHGNC:21748\nHGNC:27033\nHGNC:32958\nHGNC:26149\nHGNC:32960\nHGNC:11189\nHGNC:11195\nHGNC:11199\nHGNC:11200\nHGNC:11201\nHGNC:16421\nHGNC:18196\nHGNC:11203\nHGNC:11204\nHGNC:11190\nHGNC:11191\nHGNC:11198\nHGNC:11192\nHGNC:11193\nHGNC:11196\nHGNC:18122\nHGNC:11194\nHGNC:11197\nHGNC:30635\nHGNC:11205\nHGNC:11207\nHGNC:11208\nHGNC:11209\nHGNC:14529\nHGNC:14530\nHGNC:17321\nHGNC:19196\nHGNC:30690\nHGNC:11206\nHGNC:5401\nHGNC:17133\nHGNC:25105\nHGNC:11210\nHGNC:27244\nHGNC:14967\nHGNC:16260\nHGNC:16441\nHGNC:31353\nHGNC:19142\nHGNC:27113\nHGNC:29575\nHGNC:1367\nHGNC:11212\nHGNC:11214\nHGNC:13452\nHGNC:11215\nHGNC:11216\nHGNC:14105\nHGNC:14524\nHGNC:33342\nHGNC:14534\nHGNC:23225\nHGNC:26620\nHGNC:11217\nHGNC:11218\nHGNC:14328\nHGNC:14329\nHGNC:14331\nHGNC:14332\nHGNC:33174\nHGNC:33175\nHGNC:33176\nHGNC:33177\nHGNC:33178\nHGNC:11219\nHGNC:11220\nHGNC:18514\nHGNC:11233\nHGNC:14682\nHGNC:14681\nHGNC:28393\nHGNC:17884\nHGNC:17333\nHGNC:18119\nHGNC:28762\nHGNC:18309\nHGNC:25472\nHGNC:20423\nHGNC:22988\nHGNC:23221\nHGNC:23222\nHGNC:29935\nHGNC:25184\nHGNC:29579\nHGNC:30614\nHGNC:26125\nHGNC:28026\nHGNC:30705\nHGNC:27322\nHGNC:16158\nHGNC:23394\nHGNC:32003\nHGNC:32005\nHGNC:32006\nHGNC:32007\nHGNC:37283\nHGNC:38603\nHGNC:38601\nHGNC:26672\nHGNC:26349\nHGNC:26463\nHGNC:33709\nHGNC:27648\nHGNC:22564\nHGNC:30510\nHGNC:1298\nHGNC:22957\nHGNC:18650\nHGNC:24574\nHGNC:26913\nHGNC:24031\nHGNC:23401\nHGNC:28962\nHGNC:26212\nHGNC:17257\nHGNC:26010\nHGNC:30613\nHGNC:32681\nHGNC:16408\nHGNC:33841\nHGNC:48334\nHGNC:35462\nHGNC:35463\nHGNC:35464\nHGNC:35465\nHGNC:51507\nHGNC:51512\nHGNC:30615\nHGNC:29022\nHGNC:15874\nHGNC:26293\nHGNC:16901\nHGNC:51251\nHGNC:32429\nHGNC:27315\nHGNC:53651\nHGNC:17575\nHGNC:15570\nHGNC:11237\nHGNC:11226\nHGNC:20373\nHGNC:11240\nHGNC:18859\nHGNC:30619\nHGNC:11241\nHGNC:11242\nHGNC:29549\nHGNC:25083\nHGNC:28971\nHGNC:11243\nHGNC:20694\nHGNC:33147\nHGNC:27272\nHGNC:27040\nHGNC:25115\nHGNC:11244\nHGNC:11245\nHGNC:16646\nHGNC:15464\nHGNC:29486\nHGNC:24643\nHGNC:33160\nHGNC:32951\nHGNC:27200\nHGNC:33825\nHGNC:11246\nHGNC:11247\nHGNC:11248\nHGNC:16130\nHGNC:30622\nHGNC:30623\nHGNC:11249\nHGNC:30621\nHGNC:26992\nHGNC:28433\nHGNC:11250\nHGNC:26338\nHGNC:11251\nHGNC:13564\nHGNC:13565\nHGNC:11252\nHGNC:11253\nHGNC:11254\nHGNC:27934\nHGNC:26933\nHGNC:11255\nHGNC:11256\nHGNC:30227\nHGNC:30627\nHGNC:28902\nHGNC:30424\nHGNC:11257\nHGNC:20249\nHGNC:17722\nHGNC:31041\nHGNC:16871\nHGNC:11259\nHGNC:11260\nHGNC:11261\nHGNC:11262\nHGNC:11264\nHGNC:11265\nHGNC:11266\nHGNC:11267\nHGNC:11268\nHGNC:23173\nHGNC:53428\nHGNC:25356\nHGNC:11269\nHGNC:11270\nHGNC:11271\nHGNC:15533\nHGNC:25920\nHGNC:27468\nHGNC:14297\nHGNC:30628\nHGNC:29522\nHGNC:30629\nHGNC:30630\nHGNC:11272\nHGNC:11273\nHGNC:11274\nHGNC:11275\nHGNC:11276\nHGNC:14896\nHGNC:15680\nHGNC:11277\nHGNC:11278\nHGNC:16253\nHGNC:20361\nHGNC:24045\nHGNC:26818\nHGNC:44122\nHGNC:28139\nHGNC:30721\nHGNC:11279\nHGNC:20390\nHGNC:11280\nHGNC:11281\nHGNC:28339\nHGNC:25521\nHGNC:11283\nHGNC:16974\nHGNC:29506\nHGNC:11284\nHGNC:11285\nHGNC:25812\nHGNC:11289\nHGNC:11290\nHGNC:17882\nHGNC:26716\nHGNC:11291\nHGNC:26333\nHGNC:17382\nHGNC:19751\nHGNC:35237\nHGNC:30584\nHGNC:19744\nHGNC:9361\nHGNC:11292\nHGNC:11295\nHGNC:11296\nHGNC:11298\nHGNC:11304\nHGNC:11299\nHGNC:11300\nHGNC:11301\nHGNC:11302\nHGNC:11303\nHGNC:11305\nHGNC:11306\nHGNC:11402\nHGNC:11307\nHGNC:24085\nHGNC:11309\nHGNC:30668\nHGNC:14398\nHGNC:33910\nHGNC:16638\nHGNC:16639\nHGNC:26729\nHGNC:29389\nHGNC:37248\nHGNC:24101\nHGNC:10780\nHGNC:10783\nHGNC:10785\nHGNC:10786\nHGNC:10787\nHGNC:10788\nHGNC:10789\nHGNC:16988\nHGNC:10791\nHGNC:16713\nHGNC:10782\nHGNC:21220\nHGNC:16132\nHGNC:11311\nHGNC:11340\nHGNC:15592\nHGNC:15593\nHGNC:11316\nHGNC:11317\nHGNC:15831\nHGNC:15674\nHGNC:15676\nHGNC:14461\nHGNC:26641\nHGNC:30579\nHGNC:30580\nHGNC:30581\nHGNC:29580\nHGNC:11321\nHGNC:11322\nHGNC:21998\nHGNC:11323\nHGNC:11324\nHGNC:11325\nHGNC:11326\nHGNC:11327\nHGNC:11329\nHGNC:11330\nHGNC:11331\nHGNC:11332\nHGNC:11333\nHGNC:11334\nHGNC:25016\nHGNC:24809\nHGNC:11335\nHGNC:11336\nHGNC:22263\nHGNC:16509\nHGNC:11337\nHGNC:11338\nHGNC:16880\nHGNC:11339\nHGNC:19653\nHGNC:10862\nHGNC:10863\nHGNC:10866\nHGNC:10864\nHGNC:10872\nHGNC:18080\nHGNC:10860\nHGNC:10861\nHGNC:23614\nHGNC:10867\nHGNC:19343\nHGNC:17846\nHGNC:19342\nHGNC:23364\nHGNC:11351\nHGNC:18441\nHGNC:10869\nHGNC:10870\nHGNC:14269\nHGNC:10871\nHGNC:17827\nHGNC:23317\nHGNC:11343\nHGNC:11344\nHGNC:18695\nHGNC:33520\nHGNC:18628\nHGNC:18629\nHGNC:11353\nHGNC:23990\nHGNC:28423\nHGNC:11354\nHGNC:11355\nHGNC:11356\nHGNC:11357\nHGNC:11358\nHGNC:16950\nHGNC:24105\nHGNC:24133\nHGNC:30430\nHGNC:11359\nHGNC:17579\nHGNC:19169\nHGNC:18058\nHGNC:18065\nHGNC:18066\nHGNC:18063\nHGNC:19161\nHGNC:19162\nHGNC:10666\nHGNC:19164\nHGNC:11362\nHGNC:11363\nHGNC:11364\nHGNC:11365\nHGNC:11366\nHGNC:11367\nHGNC:11368\nHGNC:11369\nHGNC:11370\nHGNC:11371\nHGNC:24854\nHGNC:11373\nHGNC:11374\nHGNC:11378\nHGNC:41907\nHGNC:17885\nHGNC:24592\nHGNC:21923\nHGNC:18839\nHGNC:10879\nHGNC:11386\nHGNC:19205\nHGNC:30526\nHGNC:27962\nHGNC:11387\nHGNC:11406\nHGNC:11408\nHGNC:11388\nHGNC:11389\nHGNC:19184\nHGNC:11394\nHGNC:11395\nHGNC:11396\nHGNC:11398\nHGNC:11403\nHGNC:11404\nHGNC:18174\nHGNC:11407\nHGNC:28317\nHGNC:14217\nHGNC:21332\nHGNC:14568\nHGNC:16254\nHGNC:17209\nHGNC:17847\nHGNC:17848\nHGNC:17717\nHGNC:21373\nHGNC:28669\nHGNC:6510\nHGNC:10577\nHGNC:15926\nHGNC:16078\nHGNC:44668\nHGNC:41909\nHGNC:26200\nHGNC:3383\nHGNC:14560\nHGNC:14559\nHGNC:19420\nHGNC:17003\nHGNC:30652\nHGNC:23508\nHGNC:25450\nHGNC:28070\nHGNC:28712\nHGNC:37285\nHGNC:26850\nHGNC:30650\nHGNC:30653\nHGNC:30172\nHGNC:13205\nHGNC:30796\nHGNC:16462\nHGNC:16035\nHGNC:25916\nHGNC:22209\nHGNC:52297\nHGNC:11424\nHGNC:15720\nHGNC:15721\nHGNC:11425\nHGNC:6172\nHGNC:30611\nHGNC:11427\nHGNC:30491\nHGNC:11433\nHGNC:18539\nHGNC:3403\nHGNC:11438\nHGNC:11439\nHGNC:11440\nHGNC:11441\nHGNC:11442\nHGNC:11443\nHGNC:11428\nHGNC:11429\nHGNC:11430\nHGNC:11431\nHGNC:11432\nHGNC:15942\nHGNC:19300\nHGNC:11444\nHGNC:11445\nHGNC:11446\nHGNC:19694\nHGNC:19665\nHGNC:30757\nHGNC:19666\nHGNC:18889\nHGNC:11447\nHGNC:18165\nHGNC:19985\nHGNC:11448\nHGNC:11449\nHGNC:11450\nHGNC:4542\nHGNC:1240\nHGNC:29545\nHGNC:16466\nHGNC:16001\nHGNC:18643\nHGNC:18641\nHGNC:16987\nHGNC:20391\nHGNC:20392\nHGNC:11453\nHGNC:11454\nHGNC:11455\nHGNC:30004\nHGNC:17845\nHGNC:11456\nHGNC:33543\nHGNC:11457\nHGNC:11377\nHGNC:11458\nHGNC:11459\nHGNC:14903\nHGNC:33433\nHGNC:20376\nHGNC:20415\nHGNC:12502\nHGNC:11125\nHGNC:11124\nHGNC:21181\nHGNC:18587\nHGNC:14210\nHGNC:22429\nHGNC:16252\nHGNC:11460\nHGNC:11466\nHGNC:11467\nHGNC:11469\nHGNC:11470\nHGNC:30632\nHGNC:11465\nHGNC:20596\nHGNC:30773\nHGNC:11471\nHGNC:11474\nHGNC:11475\nHGNC:11476\nHGNC:11478\nHGNC:25413\nHGNC:30667\nHGNC:28391\nHGNC:25470\nHGNC:29061\nHGNC:19956\nHGNC:11479\nHGNC:17287\nHGNC:17101\nHGNC:20566\nHGNC:16874\nHGNC:30670\nHGNC:29204\nHGNC:15985\nHGNC:11480\nHGNC:25238\nHGNC:25417\nHGNC:27034\nHGNC:17070\nHGNC:31412\nHGNC:26638\nHGNC:16785\nHGNC:16273\nHGNC:26011\nHGNC:28852\nHGNC:37236\nHGNC:27411\nHGNC:35245\nHGNC:18442\nHGNC:11487\nHGNC:11490\nHGNC:21537\nHGNC:18130\nHGNC:25824\nHGNC:25841\nHGNC:19824\nHGNC:11491\nHGNC:22935\nHGNC:11494\nHGNC:11495\nHGNC:11496\nHGNC:28897\nHGNC:16918\nHGNC:15885\nHGNC:32388\nHGNC:17089\nHGNC:17084\nHGNC:19861\nHGNC:26703\nHGNC:11497\nHGNC:11498\nHGNC:11499\nHGNC:11501\nHGNC:11502\nHGNC:11503\nHGNC:11504\nHGNC:18955\nHGNC:24466\nHGNC:30672\nHGNC:17732\nHGNC:23532\nHGNC:16507\nHGNC:557\nHGNC:11506\nHGNC:11507\nHGNC:27638\nHGNC:16162\nHGNC:11509\nHGNC:11510\nHGNC:11511\nHGNC:11512\nHGNC:11513\nHGNC:18638\nHGNC:11514\nHGNC:19264\nHGNC:19265\nHGNC:19266\nHGNC:19239\nHGNC:18381\nHGNC:14962\nHGNC:23143\nHGNC:17167\nHGNC:23142\nHGNC:24119\nHGNC:15584\nHGNC:15585\nHGNC:15587\nHGNC:15588\nHGNC:15589\nHGNC:20738\nHGNC:30232\nHGNC:29040\nHGNC:17734\nHGNC:4514\nHGNC:30236\nHGNC:20978\nHGNC:14964\nHGNC:20977\nHGNC:18157\nHGNC:17075\nHGNC:30681\nHGNC:11517\nHGNC:11521\nHGNC:16641\nHGNC:11522\nHGNC:11523\nHGNC:11524\nHGNC:24316\nHGNC:11526\nHGNC:11527\nHGNC:11528\nHGNC:11530\nHGNC:30631\nHGNC:11531\nHGNC:30781\nHGNC:19422\nHGNC:11535\nHGNC:11532\nHGNC:11533\nHGNC:11534\nHGNC:28759\nHGNC:18056\nHGNC:11536\nHGNC:17303\nHGNC:11537\nHGNC:11538\nHGNC:11539\nHGNC:17304\nHGNC:11540\nHGNC:17305\nHGNC:11541\nHGNC:11548\nHGNC:17300\nHGNC:11542\nHGNC:17306\nHGNC:11543\nHGNC:11544\nHGNC:11545\nHGNC:11546\nHGNC:11547\nHGNC:21587\nHGNC:21589\nHGNC:21590\nHGNC:21591\nHGNC:21592\nHGNC:15669\nHGNC:11553\nHGNC:11554\nHGNC:29868\nHGNC:11556\nHGNC:11557\nHGNC:11559\nHGNC:25187\nHGNC:29364\nHGNC:30212\nHGNC:25439\nHGNC:25749\nHGNC:11562\nHGNC:29259\nHGNC:16835\nHGNC:18133\nHGNC:43\nHGNC:44\nHGNC:11566\nHGNC:30683\nHGNC:26887\nHGNC:11568\nHGNC:11569\nHGNC:11571\nHGNC:37250\nHGNC:11572\nHGNC:30740\nHGNC:24728\nHGNC:14448\nHGNC:14905\nHGNC:15661\nHGNC:14909\nHGNC:14910\nHGNC:14911\nHGNC:14912\nHGNC:14913\nHGNC:14915\nHGNC:14917\nHGNC:14918\nHGNC:14919\nHGNC:14920\nHGNC:14921\nHGNC:19108\nHGNC:19109\nHGNC:19112\nHGNC:19113\nHGNC:19114\nHGNC:19115\nHGNC:9584\nHGNC:18886\nHGNC:18885\nHGNC:18883\nHGNC:18888\nHGNC:18875\nHGNC:18876\nHGNC:18877\nHGNC:18882\nHGNC:20639\nHGNC:30314\nHGNC:23484\nHGNC:15859\nHGNC:11573\nHGNC:24220\nHGNC:28988\nHGNC:27010\nHGNC:11575\nHGNC:30684\nHGNC:11577\nHGNC:23511\nHGNC:11578\nHGNC:18026\nHGNC:29183\nHGNC:19031\nHGNC:27011\nHGNC:24889\nHGNC:28944\nHGNC:27071\nHGNC:18257\nHGNC:29860\nHGNC:30708\nHGNC:32709\nHGNC:51245\nHGNC:51246\nHGNC:19165\nHGNC:19166\nHGNC:21066\nHGNC:17791\nHGNC:24715\nHGNC:21710\nHGNC:29097\nHGNC:23609\nHGNC:24510\nHGNC:24702\nHGNC:29082\nHGNC:25571\nHGNC:29246\nHGNC:25694\nHGNC:28356\nHGNC:25699\nHGNC:25624\nHGNC:16133\nHGNC:28536\nHGNC:1309\nHGNC:21602\nHGNC:25622\nHGNC:29203\nHGNC:8092\nHGNC:28745\nHGNC:26858\nHGNC:29164\nHGNC:30888\nHGNC:21485\nHGNC:11579\nHGNC:1989\nHGNC:11580\nHGNC:25546\nHGNC:11581\nHGNC:11582\nHGNC:28115\nHGNC:28261\nHGNC:11584\nHGNC:30140\nHGNC:11585\nHGNC:29529\nHGNC:18502\nHGNC:11586\nHGNC:11587\nHGNC:11588\nHGNC:11589\nHGNC:19841\nHGNC:11590\nHGNC:29551\nHGNC:17443\nHGNC:11592\nHGNC:11597\nHGNC:11602\nHGNC:11603\nHGNC:11604\nHGNC:11605\nHGNC:11593\nHGNC:11594\nHGNC:11595\nHGNC:11596\nHGNC:11598\nHGNC:11599\nHGNC:11600\nHGNC:11608\nHGNC:11609\nHGNC:11515\nHGNC:19859\nHGNC:22201\nHGNC:26878\nHGNC:25241\nHGNC:11610\nHGNC:11612\nHGNC:11614\nHGNC:11615\nHGNC:11616\nHGNC:29818\nHGNC:28247\nHGNC:26121\nHGNC:22282\nHGNC:24553\nHGNC:28336\nHGNC:28683\nHGNC:30084\nHGNC:28277\nHGNC:26494\nHGNC:15630\nHGNC:23533\nHGNC:11633\nHGNC:11634\nHGNC:11639\nHGNC:11640\nHGNC:11641\nHGNC:11623\nHGNC:11627\nHGNC:11629\nHGNC:11631\nHGNC:11632\nHGNC:18602\nHGNC:32275\nHGNC:29181\nHGNC:11646\nHGNC:11791\nHGNC:31796\nHGNC:28135\nHGNC:1357\nHGNC:11647\nHGNC:11648\nHGNC:11649\nHGNC:11652\nHGNC:11653\nHGNC:11654\nHGNC:11655\nHGNC:11656\nHGNC:11657\nHGNC:21254\nHGNC:11658\nHGNC:25655\nHGNC:28627\nHGNC:48369\nHGNC:48335\nHGNC:11692\nHGNC:11693\nHGNC:11695\nHGNC:26882\nHGNC:28482\nHGNC:32315\nHGNC:26113\nHGNC:25774\nHGNC:24519\nHGNC:11700\nHGNC:11701\nHGNC:11708\nHGNC:18884\nHGNC:17768\nHGNC:11712\nHGNC:20612\nHGNC:20614\nHGNC:21339\nHGNC:30831\nHGNC:20122\nHGNC:25316\nHGNC:25044\nHGNC:45037\nHGNC:11713\nHGNC:26951\nHGNC:11714\nHGNC:11715\nHGNC:11716\nHGNC:11717\nHGNC:11719\nHGNC:22214\nHGNC:19957\nHGNC:4551\nHGNC:27365\nHGNC:11720\nHGNC:11721\nHGNC:20127\nHGNC:25849\nHGNC:30233\nHGNC:11722\nHGNC:26223\nHGNC:11724\nHGNC:15534\nHGNC:11725\nHGNC:14293\nHGNC:31012\nHGNC:26554\nHGNC:29099\nHGNC:37242\nHGNC:8117\nHGNC:29943\nHGNC:29944\nHGNC:29945\nHGNC:26776\nHGNC:16705\nHGNC:30758\nHGNC:18345\nHGNC:28273\nHGNC:24712\nHGNC:28399\nHGNC:11726\nHGNC:33745\nHGNC:26458\nHGNC:26675\nHGNC:28520\nHGNC:11728\nHGNC:11729\nHGNC:19246\nHGNC:11730\nHGNC:14620\nHGNC:26065\nHGNC:11731\nHGNC:11732\nHGNC:7446\nHGNC:29109\nHGNC:29484\nHGNC:25941\nHGNC:28313\nHGNC:30884\nHGNC:29585\nHGNC:25988\nHGNC:11733\nHGNC:11734\nHGNC:11735\nHGNC:11736\nHGNC:52277\nHGNC:52278\nHGNC:11737\nHGNC:11738\nHGNC:33802\nHGNC:40026\nHGNC:28622\nHGNC:2563\nHGNC:20370\nHGNC:25188\nHGNC:28568\nHGNC:25366\nHGNC:31653\nHGNC:26341\nHGNC:29589\nHGNC:33767\nHGNC:28563\nHGNC:24745\nHGNC:44651\nHGNC:22402\nHGNC:52393\nHGNC:48628\nHGNC:52382\nHGNC:52387\nHGNC:53643\nHGNC:53655\nHGNC:53729\nHGNC:26553\nHGNC:30722\nHGNC:30712\nHGNC:30247\nHGNC:11740\nHGNC:11741\nHGNC:11742\nHGNC:11743\nHGNC:11744\nHGNC:15581\nHGNC:30774\nHGNC:11745\nHGNC:17037\nHGNC:18559\nHGNC:11748\nHGNC:17925\nHGNC:11749\nHGNC:11751\nHGNC:24603\nHGNC:11752\nHGNC:11753\nHGNC:11754\nHGNC:11755\nHGNC:11756\nHGNC:11757\nHGNC:11758\nHGNC:17165\nHGNC:11760\nHGNC:11761\nHGNC:13630\nHGNC:11762\nHGNC:11763\nHGNC:11764\nHGNC:20324\nHGNC:11765\nHGNC:11766\nHGNC:11767\nHGNC:11768\nHGNC:11769\nHGNC:11771\nHGNC:11772\nHGNC:11773\nHGNC:11774\nHGNC:44152\nHGNC:16836\nHGNC:11776\nHGNC:15764\nHGNC:18570\nHGNC:18569\nHGNC:11777\nHGNC:11778\nHGNC:11779\nHGNC:11780\nHGNC:11781\nHGNC:16255\nHGNC:30790\nHGNC:15450\nHGNC:17843\nHGNC:11782\nHGNC:19217\nHGNC:20856\nHGNC:20854\nHGNC:20855\nHGNC:23187\nHGNC:23188\nHGNC:23189\nHGNC:23190\nHGNC:23191\nHGNC:23192\nHGNC:23193\nHGNC:23194\nHGNC:9440\nHGNC:11784\nHGNC:11785\nHGNC:11786\nHGNC:11787\nHGNC:11788\nHGNC:13706\nHGNC:43771\nHGNC:17947\nHGNC:26755\nHGNC:29656\nHGNC:21569\nHGNC:16839\nHGNC:26053\nHGNC:26160\nHGNC:25602\nHGNC:19070\nHGNC:19073\nHGNC:19072\nHGNC:19074\nHGNC:28369\nHGNC:29874\nHGNC:11793\nHGNC:11795\nHGNC:11796\nHGNC:22964\nHGNC:11799\nHGNC:11800\nHGNC:17754\nHGNC:25835\nHGNC:22207\nHGNC:29348\nHGNC:53785\nHGNC:18987\nHGNC:23807\nHGNC:14890\nHGNC:24493\nHGNC:11801\nHGNC:29560\nHGNC:11802\nHGNC:11803\nHGNC:11804\nHGNC:11805\nHGNC:11806\nHGNC:18348\nHGNC:21354\nHGNC:28704\nHGNC:11809\nHGNC:19075\nHGNC:34024\nHGNC:1185\nHGNC:14523\nHGNC:18333\nHGNC:18334\nHGNC:18335\nHGNC:18336\nHGNC:18332\nHGNC:18331\nHGNC:26838\nHGNC:25132\nHGNC:11813\nHGNC:11817\nHGNC:11818\nHGNC:11819\nHGNC:11814\nHGNC:4022\nHGNC:11816\nHGNC:17315\nHGNC:17310\nHGNC:25010\nHGNC:17317\nHGNC:17312\nHGNC:23581\nHGNC:25152\nHGNC:17316\nHGNC:23656\nHGNC:1321\nHGNC:11820\nHGNC:11821\nHGNC:11822\nHGNC:11823\nHGNC:14599\nHGNC:19168\nHGNC:14607\nHGNC:11824\nHGNC:23696\nHGNC:30750\nHGNC:30231\nHGNC:17192\nHGNC:17949\nHGNC:11827\nHGNC:11828\nHGNC:11829\nHGNC:11830\nHGNC:11831\nHGNC:24552\nHGNC:11834\nHGNC:11835\nHGNC:25313\nHGNC:25177\nHGNC:33522\nHGNC:29646\nHGNC:25295\nHGNC:26477\nHGNC:28280\nHGNC:16112\nHGNC:11837\nHGNC:11838\nHGNC:11839\nHGNC:11840\nHGNC:307\nHGNC:30788\nHGNC:53648\nHGNC:11841\nHGNC:11842\nHGNC:11843\nHGNC:11844\nHGNC:11845\nHGNC:15447\nHGNC:13519\nHGNC:11847\nHGNC:11848\nHGNC:11849\nHGNC:11850\nHGNC:11851\nHGNC:16711\nHGNC:15631\nHGNC:15632\nHGNC:15633\nHGNC:15634\nHGNC:5056\nHGNC:5057\nHGNC:13532\nHGNC:24142\nHGNC:24127\nHGNC:24128\nHGNC:11853\nHGNC:11856\nHGNC:11857\nHGNC:25181\nHGNC:25167\nHGNC:26230\nHGNC:11860\nHGNC:11861\nHGNC:11863\nHGNC:23049\nHGNC:11864\nHGNC:11865\nHGNC:21529\nHGNC:30797\nHGNC:26932\nHGNC:25638\nHGNC:23410\nHGNC:24257\nHGNC:11723\nHGNC:16513\nHGNC:16527\nHGNC:22995\nHGNC:22998\nHGNC:22999\nHGNC:18021\nHGNC:23000\nHGNC:20474\nHGNC:29116\nHGNC:24239\nHGNC:29199\nHGNC:18188\nHGNC:23312\nHGNC:20329\nHGNC:27393\nHGNC:28558\nHGNC:28814\nHGNC:53646\nHGNC:17291\nHGNC:16996\nHGNC:28889\nHGNC:22301\nHGNC:24251\nHGNC:28331\nHGNC:24253\nHGNC:18633\nHGNC:24878\nHGNC:16998\nHGNC:11866\nHGNC:11867\nHGNC:21427\nHGNC:18823\nHGNC:1168\nHGNC:16823\nHGNC:21076\nHGNC:21384\nHGNC:20952\nHGNC:26623\nHGNC:25257\nHGNC:25605\nHGNC:25890\nHGNC:28550\nHGNC:16667\nHGNC:27254\nHGNC:28601\nHGNC:25541\nHGNC:25864\nHGNC:40021\nHGNC:18216\nHGNC:28462\nHGNC:25535\nHGNC:25600\nHGNC:25510\nHGNC:25620\nHGNC:30544\nHGNC:28948\nHGNC:28444\nHGNC:28472\nHGNC:25120\nHGNC:25480\nHGNC:25194\nHGNC:18515\nHGNC:30590\nHGNC:1280\nHGNC:25488\nHGNC:27916\nHGNC:26438\nHGNC:26186\nHGNC:24143\nHGNC:1239\nHGNC:13237\nHGNC:21754\nHGNC:27296\nHGNC:26269\nHGNC:29118\nHGNC:17735\nHGNC:23787\nHGNC:25441\nHGNC:25203\nHGNC:28396\nHGNC:26510\nHGNC:28035\nHGNC:26050\nHGNC:26572\nHGNC:31658\nHGNC:26409\nHGNC:15893\nHGNC:32307\nHGNC:28196\nHGNC:27453\nHGNC:32349\nHGNC:32350\nHGNC:26890\nHGNC:28448\nHGNC:24522\nHGNC:25913\nHGNC:32371\nHGNC:37099\nHGNC:32372\nHGNC:32393\nHGNC:26579\nHGNC:28983\nHGNC:27898\nHGNC:28106\nHGNC:24529\nHGNC:25607\nHGNC:28653\nHGNC:26722\nHGNC:25984\nHGNC:28288\nHGNC:22407\nHGNC:28775\nHGNC:28128\nHGNC:28451\nHGNC:28771\nHGNC:33227\nHGNC:30055\nHGNC:25084\nHGNC:25308\nHGNC:27884\nHGNC:21697\nHGNC:32008\nHGNC:20511\nHGNC:1844\nHGNC:30138\nHGNC:28275\nHGNC:25382\nHGNC:30883\nHGNC:26038\nHGNC:28201\nHGNC:25137\nHGNC:25429\nHGNC:30366\nHGNC:29146\nHGNC:31092\nHGNC:29397\nHGNC:25436\nHGNC:29411\nHGNC:26991\nHGNC:26142\nHGNC:26167\nHGNC:26944\nHGNC:22058\nHGNC:21870\nHGNC:28211\nHGNC:25603\nHGNC:25633\nHGNC:26912\nHGNC:30414\nHGNC:24677\nHGNC:34415\nHGNC:37263\nHGNC:28497\nHGNC:21315\nHGNC:26489\nHGNC:26418\nHGNC:26260\nHGNC:30293\nHGNC:30136\nHGNC:26042\nHGNC:26020\nHGNC:28483\nHGNC:25380\nHGNC:26217\nHGNC:30760\nHGNC:28330\nHGNC:30187\nHGNC:25826\nHGNC:25130\nHGNC:29577\nHGNC:34244\nHGNC:27031\nHGNC:28187\nHGNC:28709\nHGNC:24930\nHGNC:29596\nHGNC:28143\nHGNC:28517\nHGNC:44112\nHGNC:20137\nHGNC:33744\nHGNC:20958\nHGNC:26391\nHGNC:20173\nHGNC:28797\nHGNC:1310\nHGNC:25587\nHGNC:17125\nHGNC:18896\nHGNC:24530\nHGNC:13705\nHGNC:16735\nHGNC:29632\nHGNC:33600\nHGNC:33601\nHGNC:26775\nHGNC:22431\nHGNC:33704\nHGNC:18085\nHGNC:21075\nHGNC:33785\nHGNC:37208\nHGNC:33719\nHGNC:33733\nHGNC:28217\nHGNC:14158\nHGNC:29631\nHGNC:33705\nHGNC:25015\nHGNC:21898\nHGNC:34059\nHGNC:33725\nHGNC:34295\nHGNC:27220\nHGNC:25983\nHGNC:33816\nHGNC:25018\nHGNC:21238\nHGNC:27344\nHGNC:25201\nHGNC:33757\nHGNC:21943\nHGNC:25363\nHGNC:28464\nHGNC:32390\nHGNC:53075\nHGNC:37279\nHGNC:20130\nHGNC:15876\nHGNC:37234\nHGNC:37270\nHGNC:37219\nHGNC:28837\nHGNC:27563\nHGNC:23473\nHGNC:14432\nHGNC:40042\nHGNC:40044\nHGNC:25186\nHGNC:31723\nHGNC:17206\nHGNC:21707\nHGNC:21571\nHGNC:1363\nHGNC:42967\nHGNC:25476\nHGNC:44155\nHGNC:31009\nHGNC:20218\nHGNC:28537\nHGNC:32545\nHGNC:25804\nHGNC:26086\nHGNC:28297\nHGNC:28618\nHGNC:1164\nHGNC:17039\nHGNC:20185\nHGNC:49389\nHGNC:28281\nHGNC:51241\nHGNC:26763\nHGNC:26139\nHGNC:24513\nHGNC:52381\nHGNC:23018\nHGNC:53639\nHGNC:26737\nHGNC:27274\nHGNC:53938\nHGNC:11870\nHGNC:30800\nHGNC:32431\nHGNC:28324\nHGNC:51375\nHGNC:18308\nHGNC:11871\nHGNC:11872\nHGNC:11873\nHGNC:11874\nHGNC:11875\nHGNC:33865\nHGNC:11876\nHGNC:11877\nHGNC:11878\nHGNC:14908\nHGNC:16517\nHGNC:30846\nHGNC:30079\nHGNC:27954\nHGNC:25398\nHGNC:24059\nHGNC:24465\nHGNC:29994\nHGNC:28779\nHGNC:29808\nHGNC:9490\nHGNC:11881\nHGNC:11882\nHGNC:11879\nHGNC:30744\nHGNC:28612\nHGNC:24099\nHGNC:25440\nHGNC:26899\nHGNC:25904\nHGNC:21709\nHGNC:28459\nHGNC:15487\nHGNC:30739\nHGNC:24718\nHGNC:25237\nHGNC:5318\nHGNC:11892\nHGNC:11894\nHGNC:11895\nHGNC:11896\nHGNC:11898\nHGNC:17260\nHGNC:28279\nHGNC:26277\nHGNC:20620\nHGNC:11916\nHGNC:11917\nHGNC:11918\nHGNC:11921\nHGNC:11923\nHGNC:11924\nHGNC:11904\nHGNC:11905\nHGNC:11906\nHGNC:11907\nHGNC:11908\nHGNC:11909\nHGNC:18152\nHGNC:18153\nHGNC:17755\nHGNC:11912\nHGNC:11913\nHGNC:11914\nHGNC:11915\nHGNC:13469\nHGNC:11910\nHGNC:11934\nHGNC:11938\nHGNC:11939\nHGNC:11925\nHGNC:11926\nHGNC:11927\nHGNC:11928\nHGNC:11929\nHGNC:11930\nHGNC:11931\nHGNC:11932\nHGNC:30765\nHGNC:16903\nHGNC:19118\nHGNC:19315\nHGNC:11940\nHGNC:19297\nHGNC:11941\nHGNC:19081\nHGNC:15677\nHGNC:17757\nHGNC:22942\nHGNC:11943\nHGNC:11944\nHGNC:11945\nHGNC:11946\nHGNC:11947\nHGNC:19661\nHGNC:11948\nHGNC:11949\nHGNC:11950\nHGNC:11951\nHGNC:11952\nHGNC:6401\nHGNC:19998\nHGNC:17103\nHGNC:11953\nHGNC:11969\nHGNC:29190\nHGNC:29318\nHGNC:11962\nHGNC:11973\nHGNC:19737\nHGNC:21616\nHGNC:24352\nHGNC:11976\nHGNC:11979\nHGNC:11980\nHGNC:15954\nHGNC:19959\nHGNC:33715\nHGNC:16476\nHGNC:11982\nHGNC:11983\nHGNC:11984\nHGNC:31369\nHGNC:34528\nHGNC:21648\nHGNC:20947\nHGNC:33752\nHGNC:18002\nHGNC:15746\nHGNC:18001\nHGNC:25756\nHGNC:11985\nHGNC:7801\nHGNC:11986\nHGNC:29787\nHGNC:11989\nHGNC:11990\nHGNC:11992\nHGNC:11993\nHGNC:24746\nHGNC:17008\nHGNC:21653\nHGNC:3098\nHGNC:29456\nHGNC:24055\nHGNC:11995\nHGNC:11996\nHGNC:11997\nHGNC:25981\nHGNC:18988\nHGNC:16095\nHGNC:11972\nHGNC:20161\nHGNC:11998\nHGNC:29984\nHGNC:11999\nHGNC:12000\nHGNC:19373\nHGNC:16842\nHGNC:25102\nHGNC:18022\nHGNC:16104\nHGNC:16197\nHGNC:30759\nHGNC:37202\nHGNC:42962\nHGNC:44657\nHGNC:51816\nHGNC:51817\nHGNC:15856\nHGNC:15979\nHGNC:12003\nHGNC:12004\nHGNC:44159\nHGNC:18182\nHGNC:20820\nHGNC:12005\nHGNC:12006\nHGNC:12007\nHGNC:23382\nHGNC:25058\nHGNC:24561\nHGNC:12008\nHGNC:20692\nHGNC:12009\nHGNC:17358\nHGNC:12010\nHGNC:12011\nHGNC:12012\nHGNC:12013\nHGNC:12014\nHGNC:12015\nHGNC:2073\nHGNC:12016\nHGNC:24164\nHGNC:19293\nHGNC:24162\nHGNC:12017\nHGNC:30413\nHGNC:24759\nHGNC:27007\nHGNC:24259\nHGNC:26894\nHGNC:32174\nHGNC:12019\nHGNC:14120\nHGNC:14118\nHGNC:14134\nHGNC:12020\nHGNC:12021\nHGNC:12022\nHGNC:12023\nHGNC:17299\nHGNC:1249\nHGNC:12027\nHGNC:16645\nHGNC:10781\nHGNC:28805\nHGNC:27013\nHGNC:44200\nHGNC:12030\nHGNC:12031\nHGNC:12032\nHGNC:12033\nHGNC:17861\nHGNC:1343\nHGNC:30766\nHGNC:12034\nHGNC:12035\nHGNC:12036\nHGNC:20456\nHGNC:24808\nHGNC:30764\nHGNC:29947\nHGNC:13206\nHGNC:20568\nHGNC:28371\nHGNC:16855\nHGNC:29011\nHGNC:16264\nHGNC:19894\nHGNC:23068\nHGNC:10710\nHGNC:30887\nHGNC:19942\nHGNC:21090\nHGNC:19943\nHGNC:23067\nHGNC:23069\nHGNC:23066\nHGNC:29169\nHGNC:30832\nHGNC:11868\nHGNC:25751\nHGNC:24284\nHGNC:25828\nHGNC:29592\nHGNC:30698\nHGNC:12155\nHGNC:12252\nHGNC:2977\nHGNC:12261\nHGNC:12266\nHGNC:17760\nHGNC:17761\nHGNC:20434\nHGNC:21092\nHGNC:30807\nHGNC:18273\nHGNC:12269\nHGNC:12270\nHGNC:12271\nHGNC:12298\nHGNC:30748\nHGNC:12299\nHGNC:26937\nHGNC:16891\nHGNC:30809\nHGNC:16228\nHGNC:22200\nHGNC:15974\nHGNC:10064\nHGNC:16275\nHGNC:16276\nHGNC:16277\nHGNC:16278\nHGNC:15579\nHGNC:16288\nHGNC:10072\nHGNC:16281\nHGNC:9976\nHGNC:16283\nHGNC:16284\nHGNC:17241\nHGNC:32670\nHGNC:13430\nHGNC:11312\nHGNC:16379\nHGNC:660\nHGNC:11812\nHGNC:12932\nHGNC:12962\nHGNC:9975\nHGNC:16384\nHGNC:17274\nHGNC:16289\nHGNC:16380\nHGNC:16290\nHGNC:10063\nHGNC:16285\nHGNC:16280\nHGNC:7523\nHGNC:10059\nHGNC:10065\nHGNC:18736\nHGNC:19013\nHGNC:19014\nHGNC:19015\nHGNC:37146\nHGNC:19016\nHGNC:19018\nHGNC:19019\nHGNC:19020\nHGNC:19021\nHGNC:13431\nHGNC:42955\nHGNC:38877\nHGNC:43973\nHGNC:37217\nHGNC:19017\nHGNC:19023\nHGNC:19024\nHGNC:16008\nHGNC:14215\nHGNC:19028\nHGNC:24150\nHGNC:30834\nHGNC:21162\nHGNC:24339\nHGNC:25574\nHGNC:16007\nHGNC:14663\nHGNC:37147\nHGNC:37148\nHGNC:27316\nHGNC:29005\nHGNC:31859\nHGNC:21161\nHGNC:17857\nHGNC:32669\nHGNC:32671\nHGNC:18162\nHGNC:17453\nHGNC:34228\nHGNC:26698\nHGNC:26378\nHGNC:12303\nHGNC:17009\nHGNC:12310\nHGNC:12311\nHGNC:12304\nHGNC:12305\nHGNC:12306\nHGNC:12307\nHGNC:27828\nHGNC:28424\nHGNC:20286\nHGNC:30967\nHGNC:25980\nHGNC:16782\nHGNC:24974\nHGNC:25748\nHGNC:23141\nHGNC:20900\nHGNC:26725\nHGNC:28403\nHGNC:26454\nHGNC:26022\nHGNC:21080\nHGNC:26091\nHGNC:25502\nHGNC:26653\nHGNC:23790\nHGNC:26070\nHGNC:26940\nHGNC:25481\nHGNC:30813\nHGNC:34348\nHGNC:17341\nHGNC:12326\nHGNC:12327\nHGNC:497\nHGNC:12333\nHGNC:12335\nHGNC:12336\nHGNC:16181\nHGNC:12337\nHGNC:40593\nHGNC:12338\nHGNC:20754\nHGNC:7146\nHGNC:12339\nHGNC:17992\nHGNC:17993\nHGNC:14323\nHGNC:17995\nHGNC:17994\nHGNC:17961\nHGNC:12340\nHGNC:20316\nHGNC:12716\nHGNC:18082\nHGNC:18084\nHGNC:18083\nHGNC:3145\nHGNC:14006\nHGNC:12347\nHGNC:16060\nHGNC:17170\nHGNC:30636\nHGNC:13922\nHGNC:12362\nHGNC:12363\nHGNC:16826\nHGNC:29095\nHGNC:3051\nHGNC:21696\nHGNC:28422\nHGNC:16791\nHGNC:15506\nHGNC:27561\nHGNC:12367\nHGNC:15971\nHGNC:14927\nHGNC:26555\nHGNC:12369\nHGNC:12372\nHGNC:12373\nHGNC:10669\nHGNC:13010\nHGNC:30700\nHGNC:30719\nHGNC:28850\nHGNC:30743\nHGNC:12379\nHGNC:26437\nHGNC:12380\nHGNC:18586\nHGNC:20657\nHGNC:20659\nHGNC:17752\nHGNC:11859\nHGNC:17753\nHGNC:11858\nHGNC:11854\nHGNC:11855\nHGNC:21640\nHGNC:29942\nHGNC:30795\nHGNC:21641\nHGNC:21643\nHGNC:23303\nHGNC:23298\nHGNC:30725\nHGNC:13594\nHGNC:20660\nHGNC:31886\nHGNC:10539\nHGNC:13410\nHGNC:28743\nHGNC:1268\nHGNC:1158\nHGNC:21256\nHGNC:16831\nHGNC:12381\nHGNC:23924\nHGNC:33876\nHGNC:37287\nHGNC:37471\nHGNC:37473\nHGNC:12382\nHGNC:24358\nHGNC:21559\nHGNC:29367\nHGNC:14521\nHGNC:25542\nHGNC:25455\nHGNC:14175\nHGNC:12386\nHGNC:14968\nHGNC:11401\nHGNC:15473\nHGNC:19825\nHGNC:30410\nHGNC:12388\nHGNC:12390\nHGNC:35410\nHGNC:30087\nHGNC:40910\nHGNC:19140\nHGNC:19141\nHGNC:12391\nHGNC:12393\nHGNC:12394\nHGNC:19274\nHGNC:19739\nHGNC:19750\nHGNC:19858\nHGNC:20087\nHGNC:20267\nHGNC:26395\nHGNC:28432\nHGNC:23700\nHGNC:26204\nHGNC:24697\nHGNC:26536\nHGNC:25596\nHGNC:26006\nHGNC:30761\nHGNC:25660\nHGNC:26067\nHGNC:25730\nHGNC:26355\nHGNC:32348\nHGNC:25280\nHGNC:21882\nHGNC:25986\nHGNC:29179\nHGNC:29936\nHGNC:25853\nHGNC:26425\nHGNC:25759\nHGNC:32954\nHGNC:29959\nHGNC:34297\nHGNC:33708\nHGNC:23639\nHGNC:26082\nHGNC:18657\nHGNC:23704\nHGNC:26595\nHGNC:12397\nHGNC:12398\nHGNC:29029\nHGNC:26262\nHGNC:12401\nHGNC:21586\nHGNC:1312\nHGNC:21211\nHGNC:24483\nHGNC:28976\nHGNC:19963\nHGNC:26664\nHGNC:26242\nHGNC:34000\nHGNC:16118\nHGNC:26693\nHGNC:18113\nHGNC:28974\nHGNC:12403\nHGNC:12404\nHGNC:16114\nHGNC:12405\nHGNC:13476\nHGNC:13877\nHGNC:22222\nHGNC:12406\nHGNC:20766\nHGNC:18809\nHGNC:20768\nHGNC:12408\nHGNC:24071\nHGNC:20765\nHGNC:12407\nHGNC:18637\nHGNC:12410\nHGNC:23534\nHGNC:20778\nHGNC:16257\nHGNC:12412\nHGNC:30829\nHGNC:20772\nHGNC:20774\nHGNC:20771\nHGNC:20776\nHGNC:20773\nHGNC:24983\nHGNC:16811\nHGNC:20775\nHGNC:12417\nHGNC:12419\nHGNC:18599\nHGNC:18598\nHGNC:16691\nHGNC:18600\nHGNC:18127\nHGNC:12420\nHGNC:12422\nHGNC:12423\nHGNC:12424\nHGNC:12425\nHGNC:15530\nHGNC:31010\nHGNC:17034\nHGNC:30242\nHGNC:26184\nHGNC:28981\nHGNC:25817\nHGNC:20398\nHGNC:20399\nHGNC:30453\nHGNC:9620\nHGNC:9621\nHGNC:12428\nHGNC:20670\nHGNC:18027\nHGNC:1160\nHGNC:12429\nHGNC:12434\nHGNC:30685\nHGNC:21617\nHGNC:18578\nHGNC:12435\nHGNC:17772\nHGNC:16470\nHGNC:21073\nHGNC:31454\nHGNC:24110\nHGNC:28030\nHGNC:24626\nHGNC:20652\nHGNC:19965\nHGNC:28218\nHGNC:16952\nHGNC:12436\nHGNC:30551\nHGNC:26041\nHGNC:12437\nHGNC:18155\nHGNC:20667\nHGNC:12440\nHGNC:3148\nHGNC:12441\nHGNC:12442\nHGNC:12446\nHGNC:12449\nHGNC:12450\nHGNC:28531\nHGNC:25598\nHGNC:33908\nHGNC:24757\nHGNC:26754\nHGNC:12453\nHGNC:23020\nHGNC:51830\nHGNC:23156\nHGNC:30855\nHGNC:15947\nHGNC:12457\nHGNC:28082\nHGNC:12469\nHGNC:30661\nHGNC:12470\nHGNC:23230\nHGNC:25581\nHGNC:12471\nHGNC:12458\nHGNC:30221\nHGNC:20486\nHGNC:29576\nHGNC:28438\nHGNC:12461\nHGNC:40028\nHGNC:14185\nHGNC:29877\nHGNC:12462\nHGNC:29884\nHGNC:12463\nHGNC:12468\nHGNC:18795\nHGNC:12472\nHGNC:12473\nHGNC:15937\nHGNC:12474\nHGNC:12475\nHGNC:12476\nHGNC:21647\nHGNC:12477\nHGNC:12478\nHGNC:12479\nHGNC:12480\nHGNC:12482\nHGNC:12483\nHGNC:12484\nHGNC:12485\nHGNC:17598\nHGNC:19268\nHGNC:4914\nHGNC:12488\nHGNC:13477\nHGNC:12490\nHGNC:12491\nHGNC:12492\nHGNC:31710\nHGNC:29554\nHGNC:15698\nHGNC:19248\nHGNC:44656\nHGNC:37269\nHGNC:19907\nHGNC:17895\nHGNC:25009\nHGNC:28559\nHGNC:12494\nHGNC:12495\nHGNC:25616\nHGNC:25847\nHGNC:12496\nHGNC:13478\nHGNC:16803\nHGNC:21381\nHGNC:12499\nHGNC:12500\nHGNC:30565\nHGNC:30791\nHGNC:12504\nHGNC:12505\nHGNC:32309\nHGNC:13736\nHGNC:28221\nHGNC:28110\nHGNC:12506\nHGNC:21931\nHGNC:17777\nHGNC:12507\nHGNC:12508\nHGNC:12509\nHGNC:12510\nHGNC:1237\nHGNC:28294\nHGNC:16808\nHGNC:21289\nHGNC:30467\nHGNC:30313\nHGNC:16806\nHGNC:20344\nHGNC:25683\nHGNC:24463\nHGNC:12511\nHGNC:14533\nHGNC:18402\nHGNC:27265\nHGNC:27035\nHGNC:14860\nHGNC:14928\nHGNC:29119\nHGNC:30307\nHGNC:26354\nHGNC:30600\nHGNC:12513\nHGNC:12515\nHGNC:19678\nHGNC:14859\nHGNC:12562\nHGNC:15938\nHGNC:25205\nHGNC:12516\nHGNC:18414\nHGNC:17781\nHGNC:12517\nHGNC:12518\nHGNC:12519\nHGNC:30866\nHGNC:26941\nHGNC:12520\nHGNC:23039\nHGNC:20597\nHGNC:33821\nHGNC:25640\nHGNC:12524\nHGNC:12525\nHGNC:15663\nHGNC:15664\nHGNC:12527\nHGNC:12529\nHGNC:12542\nHGNC:28528\nHGNC:12553\nHGNC:12554\nHGNC:12544\nHGNC:12545\nHGNC:12546\nHGNC:12547\nHGNC:13479\nHGNC:26625\nHGNC:27266\nHGNC:12555\nHGNC:19683\nHGNC:12556\nHGNC:21216\nHGNC:29102\nHGNC:12557\nHGNC:30298\nHGNC:14893\nHGNC:14894\nHGNC:14895\nHGNC:12558\nHGNC:13480\nHGNC:19703\nHGNC:15784\nHGNC:48955\nHGNC:12559\nHGNC:12560\nHGNC:12563\nHGNC:12567\nHGNC:12568\nHGNC:12569\nHGNC:21203\nHGNC:18634\nHGNC:23150\nHGNC:12566\nHGNC:23149\nHGNC:23147\nHGNC:30594\nHGNC:14304\nHGNC:16046\nHGNC:19966\nHGNC:26582\nHGNC:12570\nHGNC:13481\nHGNC:12565\nHGNC:16488\nHGNC:33194\nHGNC:12572\nHGNC:29369\nHGNC:14184\nHGNC:16297\nHGNC:9962\nHGNC:17854\nHGNC:20332\nHGNC:20439\nHGNC:12577\nHGNC:12578\nHGNC:12579\nHGNC:12580\nHGNC:21444\nHGNC:37278\nHGNC:53444\nHGNC:12576\nHGNC:23061\nHGNC:28334\nHGNC:15891\nHGNC:21237\nHGNC:34399\nHGNC:30863\nHGNC:30862\nHGNC:12582\nHGNC:12585\nHGNC:12586\nHGNC:12587\nHGNC:12590\nHGNC:51714\nHGNC:29594\nHGNC:17785\nHGNC:17344\nHGNC:28967\nHGNC:30890\nHGNC:13236\nHGNC:28378\nHGNC:26444\nHGNC:12591\nHGNC:12592\nHGNC:25792\nHGNC:30882\nHGNC:12593\nHGNC:12594\nHGNC:30494\nHGNC:12597\nHGNC:16356\nHGNC:12601\nHGNC:24058\nHGNC:30904\nHGNC:12607\nHGNC:12618\nHGNC:12626\nHGNC:12627\nHGNC:12628\nHGNC:12629\nHGNC:16858\nHGNC:12630\nHGNC:12631\nHGNC:12632\nHGNC:12633\nHGNC:12608\nHGNC:12609\nHGNC:20485\nHGNC:12611\nHGNC:12612\nHGNC:12613\nHGNC:12614\nHGNC:37182\nHGNC:34434\nHGNC:37175\nHGNC:37176\nHGNC:37177\nHGNC:37180\nHGNC:37181\nHGNC:44438\nHGNC:44439\nHGNC:44440\nHGNC:44441\nHGNC:44443\nHGNC:44445\nHGNC:44446\nHGNC:44447\nHGNC:44448\nHGNC:44449\nHGNC:44450\nHGNC:44451\nHGNC:44453\nHGNC:44452\nHGNC:44454\nHGNC:44455\nHGNC:44456\nHGNC:44457\nHGNC:44458\nHGNC:12616\nHGNC:12617\nHGNC:12619\nHGNC:12620\nHGNC:12621\nHGNC:12623\nHGNC:12624\nHGNC:13485\nHGNC:13486\nHGNC:12625\nHGNC:18563\nHGNC:20065\nHGNC:20060\nHGNC:19143\nHGNC:20059\nHGNC:20066\nHGNC:20061\nHGNC:20062\nHGNC:20063\nHGNC:20067\nHGNC:20071\nHGNC:20069\nHGNC:20070\nHGNC:20068\nHGNC:20072\nHGNC:20064\nHGNC:20080\nHGNC:20075\nHGNC:20076\nHGNC:18533\nHGNC:20078\nHGNC:20079\nHGNC:23086\nHGNC:29255\nHGNC:23513\nHGNC:20294\nHGNC:17223\nHGNC:12634\nHGNC:24477\nHGNC:1983\nHGNC:18279\nHGNC:24329\nHGNC:10665\nHGNC:20321\nHGNC:25758\nHGNC:24274\nHGNC:17897\nHGNC:28224\nHGNC:28440\nHGNC:12635\nHGNC:12636\nHGNC:30894\nHGNC:4468\nHGNC:12638\nHGNC:12640\nHGNC:29304\nHGNC:17729\nHGNC:12641\nHGNC:25507\nHGNC:12642\nHGNC:12643\nHGNC:12644\nHGNC:12645\nHGNC:12646\nHGNC:11486\nHGNC:12647\nHGNC:15512\nHGNC:15511\nHGNC:12648\nHGNC:12649\nHGNC:12651\nHGNC:21642\nHGNC:19964\nHGNC:25723\nHGNC:18517\nHGNC:12652\nHGNC:16919\nHGNC:29315\nHGNC:12657\nHGNC:12658\nHGNC:12659\nHGNC:12660\nHGNC:12661\nHGNC:12662\nHGNC:12663\nHGNC:2464\nHGNC:12665\nHGNC:12666\nHGNC:30897\nHGNC:20352\nHGNC:12667\nHGNC:18158\nHGNC:18159\nHGNC:31838\nHGNC:12668\nHGNC:31751\nHGNC:12669\nHGNC:12672\nHGNC:12674\nHGNC:12679\nHGNC:12680\nHGNC:12681\nHGNC:12682\nHGNC:3708\nHGNC:13639\nHGNC:25735\nHGNC:12949\nHGNC:18258\nHGNC:12684\nHGNC:20985\nHGNC:20232\nHGNC:24327\nHGNC:28966\nHGNC:12687\nHGNC:30666\nHGNC:12690\nHGNC:30906\nHGNC:12692\nHGNC:12693\nHGNC:20347\nHGNC:12694\nHGNC:12695\nHGNC:24500\nHGNC:12697\nHGNC:23663\nHGNC:21492\nHGNC:12698\nHGNC:22082\nHGNC:33803\nHGNC:30387\nHGNC:29559\nHGNC:13548\nHGNC:19872\nHGNC:19867\nHGNC:19871\nHGNC:19870\nHGNC:12705\nHGNC:12706\nHGNC:16431\nHGNC:34518\nHGNC:12709\nHGNC:12710\nHGNC:13488\nHGNC:10895\nHGNC:29122\nHGNC:13526\nHGNC:14583\nHGNC:1908\nHGNC:2183\nHGNC:23594\nHGNC:23595\nHGNC:14584\nHGNC:15972\nHGNC:28122\nHGNC:12711\nHGNC:28119\nHGNC:3044\nHGNC:18178\nHGNC:14340\nHGNC:18179\nHGNC:12712\nHGNC:13487\nHGNC:24641\nHGNC:20312\nHGNC:24928\nHGNC:25754\nHGNC:26097\nHGNC:18287\nHGNC:20593\nHGNC:12713\nHGNC:14579\nHGNC:25956\nHGNC:1172\nHGNC:10518\nHGNC:25608\nHGNC:18652\nHGNC:11644\nHGNC:12718\nHGNC:12719\nHGNC:18996\nHGNC:20223\nHGNC:28675\nHGNC:17149\nHGNC:17032\nHGNC:32063\nHGNC:26078\nHGNC:27111\nHGNC:27879\nHGNC:30085\nHGNC:12722\nHGNC:29455\nHGNC:28499\nHGNC:33595\nHGNC:16096\nHGNC:26470\nHGNC:34443\nHGNC:12723\nHGNC:1975\nHGNC:20954\nHGNC:28873\nHGNC:17792\nHGNC:17793\nHGNC:12724\nHGNC:30910\nHGNC:24709\nHGNC:27088\nHGNC:28385\nHGNC:6658\nHGNC:26538\nHGNC:25144\nHGNC:13939\nHGNC:29071\nHGNC:30200\nHGNC:37203\nHGNC:26487\nHGNC:21897\nHGNC:12726\nHGNC:28498\nHGNC:17327\nHGNC:23293\nHGNC:12729\nHGNC:12730\nHGNC:12731\nHGNC:12732\nHGNC:12733\nHGNC:12734\nHGNC:24361\nHGNC:23416\nHGNC:23414\nHGNC:24256\nHGNC:29174\nHGNC:28984\nHGNC:12735\nHGNC:12737\nHGNC:23510\nHGNC:12738\nHGNC:28389\nHGNC:12739\nHGNC:16461\nHGNC:26157\nHGNC:20451\nHGNC:20482\nHGNC:20751\nHGNC:29323\nHGNC:23170\nHGNC:28027\nHGNC:12754\nHGNC:12755\nHGNC:12756\nHGNC:12757\nHGNC:17826\nHGNC:12758\nHGNC:13490\nHGNC:13831\nHGNC:14098\nHGNC:14352\nHGNC:16661\nHGNC:17956\nHGNC:18340\nHGNC:19667\nHGNC:20852\nHGNC:21064\nHGNC:21208\nHGNC:21248\nHGNC:21421\nHGNC:25651\nHGNC:28296\nHGNC:29250\nHGNC:30696\nHGNC:31406\nHGNC:23745\nHGNC:25601\nHGNC:28945\nHGNC:30512\nHGNC:28912\nHGNC:25072\nHGNC:13923\nHGNC:29141\nHGNC:30914\nHGNC:26587\nHGNC:28786\nHGNC:25770\nHGNC:25971\nHGNC:25706\nHGNC:21862\nHGNC:30300\nHGNC:24502\nHGNC:30711\nHGNC:26570\nHGNC:28506\nHGNC:25495\nHGNC:26790\nHGNC:25928\nHGNC:25529\nHGNC:25725\nHGNC:25773\nHGNC:29652\nHGNC:26252\nHGNC:26600\nHGNC:28826\nHGNC:32672\nHGNC:30203\nHGNC:28020\nHGNC:29934\nHGNC:26999\nHGNC:20489\nHGNC:26960\nHGNC:24997\nHGNC:25176\nHGNC:26924\nHGNC:26959\nHGNC:26697\nHGNC:29175\nHGNC:25490\nHGNC:12761\nHGNC:19684\nHGNC:15466\nHGNC:15939\nHGNC:15957\nHGNC:20477\nHGNC:16164\nHGNC:16163\nHGNC:20380\nHGNC:16139\nHGNC:20479\nHGNC:20478\nHGNC:16115\nHGNC:16131\nHGNC:30912\nHGNC:30916\nHGNC:12762\nHGNC:30493\nHGNC:16361\nHGNC:18081\nHGNC:12736\nHGNC:30923\nHGNC:22004\nHGNC:25471\nHGNC:32225\nHGNC:30917\nHGNC:30238\nHGNC:14540\nHGNC:14542\nHGNC:14543\nHGNC:14544\nHGNC:12774\nHGNC:12780\nHGNC:12781\nHGNC:12782\nHGNC:15983\nHGNC:12783\nHGNC:12784\nHGNC:16265\nHGNC:12785\nHGNC:12786\nHGNC:12787\nHGNC:12788\nHGNC:12789\nHGNC:12778\nHGNC:12779\nHGNC:13829\nHGNC:12775\nHGNC:12776\nHGNC:16267\nHGNC:25522\nHGNC:12759\nHGNC:12791\nHGNC:20876\nHGNC:19221\nHGNC:19222\nHGNC:29060\nHGNC:29117\nHGNC:12796\nHGNC:16846\nHGNC:20964\nHGNC:29435\nHGNC:24148\nHGNC:29237\nHGNC:12799\nHGNC:17004\nHGNC:16804\nHGNC:24042\nHGNC:14089\nHGNC:30932\nHGNC:4111\nHGNC:25400\nHGNC:4112\nHGNC:14618\nHGNC:30930\nHGNC:12801\nHGNC:10645\nHGNC:10646\nHGNC:1625\nHGNC:12805\nHGNC:12806\nHGNC:592\nHGNC:14301\nHGNC:14303\nHGNC:12811\nHGNC:28778\nHGNC:29394\nHGNC:20782\nHGNC:27806\nHGNC:23062\nHGNC:25508\nHGNC:20937\nHGNC:29845\nHGNC:12814\nHGNC:12816\nHGNC:12822\nHGNC:12823\nHGNC:28052\nHGNC:12825\nHGNC:17796\nHGNC:17675\nHGNC:19733\nHGNC:14108\nHGNC:12826\nHGNC:12827\nHGNC:12828\nHGNC:12829\nHGNC:12830\nHGNC:12831\nHGNC:12833\nHGNC:4055\nHGNC:30654\nHGNC:12836\nHGNC:18868\nHGNC:26639\nHGNC:12839\nHGNC:15516\nHGNC:15517\nHGNC:24857\nHGNC:17363\nHGNC:16262\nHGNC:12840\nHGNC:24249\nHGNC:1299\nHGNC:8014\nHGNC:17948\nHGNC:2428\nHGNC:27158\nHGNC:25489\nHGNC:24859\nHGNC:12841\nHGNC:16688\nHGNC:30511\nHGNC:25231\nHGNC:28476\nHGNC:21023\nHGNC:28145\nHGNC:24877\nHGNC:28304\nHGNC:26825\nHGNC:24785\nHGNC:25518\nHGNC:16959\nHGNC:17798\nHGNC:12843\nHGNC:25035\nHGNC:12845\nHGNC:18326\nHGNC:18327\nHGNC:18328\nHGNC:18329\nHGNC:28905\nHGNC:30626\nHGNC:24721\nHGNC:15867\nHGNC:31675\nHGNC:26465\nHGNC:12849\nHGNC:12851\nHGNC:12852\nHGNC:12853\nHGNC:12854\nHGNC:12855\nHGNC:12856\nHGNC:30935\nHGNC:31684\nHGNC:29504\nHGNC:28697\nHGNC:12857\nHGNC:12858\nHGNC:20436\nHGNC:37116\nHGNC:26245\nHGNC:447\nHGNC:20710\nHGNC:20711\nHGNC:20721\nHGNC:30803\nHGNC:33273\nHGNC:21720\nHGNC:30804\nHGNC:13851\nHGNC:16176\nHGNC:20259\nHGNC:20868\nHGNC:22918\nHGNC:23847\nHGNC:23836\nHGNC:16764\nHGNC:18078\nHGNC:18668\nHGNC:31700\nHGNC:24172\nHGNC:37057\nHGNC:24094\nHGNC:28323\nHGNC:30953\nHGNC:16740\nHGNC:19066\nHGNC:12860\nHGNC:12930\nHGNC:12936\nHGNC:13030\nHGNC:13503\nHGNC:13083\nHGNC:13085\nHGNC:21143\nHGNC:13112\nHGNC:23383\nHGNC:16763\nHGNC:16682\nHGNC:31446\nHGNC:28365\nHGNC:26636\nHGNC:29014\nHGNC:29045\nHGNC:24819\nHGNC:32550\nHGNC:17908\nHGNC:25001\nHGNC:23715\nHGNC:16094\nHGNC:26955\nHGNC:4930\nHGNC:19883\nHGNC:24277\nHGNC:21174\nHGNC:20354\nHGNC:28972\nHGNC:17808\nHGNC:24762\nHGNC:30959\nHGNC:30869\nHGNC:30941\nHGNC:25893\nHGNC:29093\nHGNC:25659\nHGNC:26259\nHGNC:17407\nHGNC:29362\nHGNC:21175\nHGNC:20368\nHGNC:20509\nHGNC:29528\nHGNC:25091\nHGNC:23721\nHGNC:22423\nHGNC:29913\nHGNC:24931\nHGNC:22916\nHGNC:16230\nHGNC:22917\nHGNC:26209\nHGNC:25265\nHGNC:25424\nHGNC:25954\nHGNC:27273\nHGNC:31749\nHGNC:24134\nHGNC:30246\nHGNC:32459\nHGNC:26911\nHGNC:29620\nHGNC:23486\nHGNC:23574\nHGNC:29313\nHGNC:17916\nHGNC:18469\nHGNC:18470\nHGNC:18471\nHGNC:18472\nHGNC:19160\nHGNC:18459\nHGNC:18474\nHGNC:18475\nHGNC:19158\nHGNC:32962\nHGNC:19159\nHGNC:18413\nHGNC:20341\nHGNC:20342\nHGNC:20714\nHGNC:18412\nHGNC:20712\nHGNC:20713\nHGNC:20749\nHGNC:20750\nHGNC:20106\nHGNC:28654\nHGNC:27387\nHGNC:11642\nHGNC:14881\nHGNC:30960\nHGNC:25858\nHGNC:28073\nHGNC:25206\nHGNC:18019\nHGNC:23504\nHGNC:13008\nHGNC:30164\nHGNC:19899\nHGNC:28328\nHGNC:20152\nHGNC:777\nHGNC:30939\nHGNC:23328\nHGNC:26138\nHGNC:12861\nHGNC:29312\nHGNC:17801\nHGNC:29555\nHGNC:12862\nHGNC:1107\nHGNC:1108\nHGNC:12863\nHGNC:26786\nHGNC:30949\nHGNC:18791\nHGNC:23241\nHGNC:15940\nHGNC:24708\nHGNC:28053\nHGNC:28682\nHGNC:23329\nHGNC:14983\nHGNC:12865\nHGNC:12868\nHGNC:19762\nHGNC:16700\nHGNC:17277\nHGNC:29189\nHGNC:12869\nHGNC:12870\nHGNC:13180\nHGNC:6775\nHGNC:20756\nHGNC:20758\nHGNC:20760\nHGNC:20761\nHGNC:26559\nHGNC:29334\nHGNC:30961\nHGNC:30456\nHGNC:37245\nHGNC:15948\nHGNC:25654\nHGNC:12871\nHGNC:18513\nHGNC:15935\nHGNC:12872\nHGNC:12873\nHGNC:12874\nHGNC:20393\nHGNC:20322\nHGNC:33104\nHGNC:12875\nHGNC:16366\nHGNC:13101\nHGNC:25677\nHGNC:13853\nHGNC:13854\nHGNC:12867\nHGNC:12955\nHGNC:12983\nHGNC:29377\nHGNC:26433\nHGNC:29983\nHGNC:25844\nHGNC:28046\nHGNC:16493\nHGNC:22229\nHGNC:12877\nHGNC:26253\nHGNC:12989\nHGNC:13054\nHGNC:13055\nHGNC:13029\nHGNC:13050\nHGNC:9397\nHGNC:19412\nHGNC:16966\nHGNC:21192\nHGNC:20997\nHGNC:21146\nHGNC:12991\nHGNC:13089\nHGNC:13139\nHGNC:13154\nHGNC:12879\nHGNC:12902\nHGNC:12924\nHGNC:12947\nHGNC:12958\nHGNC:12969\nHGNC:12981\nHGNC:12992\nHGNC:13012\nHGNC:13023\nHGNC:13032\nHGNC:13043\nHGNC:13053\nHGNC:13073\nHGNC:13090\nHGNC:13095\nHGNC:13096\nHGNC:13097\nHGNC:13098\nHGNC:13099\nHGNC:13102\nHGNC:13107\nHGNC:13109\nHGNC:13110\nHGNC:13111\nHGNC:13114\nHGNC:13125\nHGNC:13135\nHGNC:13138\nHGNC:13140\nHGNC:13141\nHGNC:13144\nHGNC:13146\nHGNC:13145\nHGNC:13149\nHGNC:13150\nHGNC:13153\nHGNC:13155\nHGNC:13156\nHGNC:13158\nHGNC:13159\nHGNC:13160\nHGNC:13165\nHGNC:13166\nHGNC:13168\nHGNC:13169\nHGNC:13174\nHGNC:13175\nHGNC:12880\nHGNC:12881\nHGNC:12886\nHGNC:12887\nHGNC:12892\nHGNC:12894\nHGNC:12897\nHGNC:12904\nHGNC:12907\nHGNC:12915\nHGNC:12916\nHGNC:12917\nHGNC:12918\nHGNC:12919\nHGNC:12920\nHGNC:12922\nHGNC:12925\nHGNC:12926\nHGNC:12927\nHGNC:12928\nHGNC:12931\nHGNC:12933\nHGNC:12939\nHGNC:12940\nHGNC:12942\nHGNC:12948\nHGNC:12953\nHGNC:12957\nHGNC:12963\nHGNC:12964\nHGNC:12966\nHGNC:12970\nHGNC:12971\nHGNC:13001\nHGNC:12975\nHGNC:12976\nHGNC:12980\nHGNC:12986\nHGNC:12988\nHGNC:12993\nHGNC:12994\nHGNC:12996\nHGNC:12998\nHGNC:12999\nHGNC:13003\nHGNC:13004\nHGNC:13005\nHGNC:13006\nHGNC:13007\nHGNC:13009\nHGNC:13011\nHGNC:13014\nHGNC:13015\nHGNC:13016\nHGNC:13017\nHGNC:13018\nHGNC:13019\nHGNC:13020\nHGNC:13022\nHGNC:13024\nHGNC:13026\nHGNC:30946\nHGNC:13027\nHGNC:12866\nHGNC:13028\nHGNC:13031\nHGNC:13041\nHGNC:13044\nHGNC:13045\nHGNC:13497\nHGNC:13047\nHGNC:13049\nHGNC:13498\nHGNC:13499\nHGNC:13056\nHGNC:13057\nHGNC:13059\nHGNC:13060\nHGNC:13061\nHGNC:13067\nHGNC:13068\nHGNC:13069\nHGNC:23330\nHGNC:13070\nHGNC:18597\nHGNC:23022\nHGNC:25955\nHGNC:25953\nHGNC:13075\nHGNC:13076\nHGNC:13077\nHGNC:13078\nHGNC:13079\nHGNC:13501\nHGNC:13502\nHGNC:18410\nHGNC:15981\nHGNC:13091\nHGNC:13848\nHGNC:13505\nHGNC:13847\nHGNC:13843\nHGNC:13507\nHGNC:13578\nHGNC:13644\nHGNC:13842\nHGNC:23640\nHGNC:14096\nHGNC:33107\nHGNC:14104\nHGNC:14209\nHGNC:15462\nHGNC:15489\nHGNC:15624\nHGNC:15806\nHGNC:15807\nHGNC:15809\nHGNC:15992\nHGNC:16017\nHGNC:16367\nHGNC:16403\nHGNC:16447\nHGNC:16656\nHGNC:11628\nHGNC:17197\nHGNC:16736\nHGNC:16838\nHGNC:18079\nHGNC:18194\nHGNC:18316\nHGNC:18320\nHGNC:17409\nHGNC:18609\nHGNC:11955\nHGNC:17521\nHGNC:26332\nHGNC:33722\nHGNC:26191\nHGNC:18779\nHGNC:18832\nHGNC:18737\nHGNC:18824\nHGNC:18818\nHGNC:18373\nHGNC:19417\nHGNC:19904\nHGNC:20041\nHGNC:20144\nHGNC:20630\nHGNC:20636\nHGNC:20645\nHGNC:20646\nHGNC:20647\nHGNC:20648\nHGNC:20649\nHGNC:16762\nHGNC:20690\nHGNC:20725\nHGNC:20804\nHGNC:20817\nHGNC:20808\nHGNC:20809\nHGNC:20810\nHGNC:20811\nHGNC:20814\nHGNC:21029\nHGNC:20873\nHGNC:20874\nHGNC:20875\nHGNC:20877\nHGNC:20878\nHGNC:16052\nHGNC:21018\nHGNC:21036\nHGNC:21039\nHGNC:21091\nHGNC:21200\nHGNC:21628\nHGNC:21629\nHGNC:21684\nHGNC:23154\nHGNC:33105\nHGNC:23216\nHGNC:22220\nHGNC:23226\nHGNC:23239\nHGNC:23245\nHGNC:23258\nHGNC:23305\nHGNC:23384\nHGNC:23385\nHGNC:23440\nHGNC:20807\nHGNC:23488\nHGNC:23535\nHGNC:23705\nHGNC:23706\nHGNC:23707\nHGNC:23708\nHGNC:23713\nHGNC:23714\nHGNC:23716\nHGNC:23717\nHGNC:23718\nHGNC:23589\nHGNC:23780\nHGNC:23783\nHGNC:29161\nHGNC:28445\nHGNC:29380\nHGNC:29212\nHGNC:26498\nHGNC:25894\nHGNC:28990\nHGNC:27984\nHGNC:29009\nHGNC:29365\nHGNC:30574\nHGNC:24605\nHGNC:28322\nHGNC:29423\nHGNC:29415\nHGNC:29385\nHGNC:29384\nHGNC:29328\nHGNC:29297\nHGNC:30940\nHGNC:26337\nHGNC:29025\nHGNC:25331\nHGNC:25294\nHGNC:25281\nHGNC:16759\nHGNC:28671\nHGNC:26432\nHGNC:26561\nHGNC:26632\nHGNC:28643\nHGNC:25108\nHGNC:26135\nHGNC:26629\nHGNC:28382\nHGNC:25669\nHGNC:28632\nHGNC:26422\nHGNC:28197\nHGNC:26484\nHGNC:28684\nHGNC:25950\nHGNC:30498\nHGNC:31106\nHGNC:26726\nHGNC:25919\nHGNC:28696\nHGNC:25392\nHGNC:24737\nHGNC:26416\nHGNC:25000\nHGNC:26758\nHGNC:26420\nHGNC:26166\nHGNC:27606\nHGNC:28357\nHGNC:28673\nHGNC:26449\nHGNC:26646\nHGNC:29473\nHGNC:25017\nHGNC:26421\nHGNC:26427\nHGNC:27318\nHGNC:26305\nHGNC:30948\nHGNC:25949\nHGNC:30955\nHGNC:37142\nHGNC:16747\nHGNC:28986\nHGNC:30943\nHGNC:29392\nHGNC:27196\nHGNC:27268\nHGNC:26573\nHGNC:28079\nHGNC:26408\nHGNC:30951\nHGNC:28068\nHGNC:25879\nHGNC:28192\nHGNC:29238\nHGNC:29003\nHGNC:26687\nHGNC:28766\nHGNC:25827\nHGNC:24722\nHGNC:24740\nHGNC:28062\nHGNC:29416\nHGNC:26910\nHGNC:28742\nHGNC:24787\nHGNC:30958\nHGNC:29084\nHGNC:29254\nHGNC:30571\nHGNC:30461\nHGNC:30570\nHGNC:28054\nHGNC:29008\nHGNC:28855\nHGNC:17894\nHGNC:30950\nHGNC:31834\nHGNC:29222\nHGNC:29004\nHGNC:18190\nHGNC:25741\nHGNC:29147\nHGNC:25196\nHGNC:25612\nHGNC:30899\nHGNC:25226\nHGNC:26720\nHGNC:31930\nHGNC:25406\nHGNC:25885\nHGNC:28854\nHGNC:25821\nHGNC:25736\nHGNC:28167\nHGNC:26279\nHGNC:26179\nHGNC:17625\nHGNC:30768\nHGNC:20429\nHGNC:28730\nHGNC:28652\nHGNC:28650\nHGNC:26897\nHGNC:26457\nHGNC:28857\nHGNC:28495\nHGNC:28418\nHGNC:29277\nHGNC:30489\nHGNC:25173\nHGNC:28028\nHGNC:26049\nHGNC:30954\nHGNC:25872\nHGNC:32034\nHGNC:24750\nHGNC:25292\nHGNC:25597\nHGNC:25883\nHGNC:32291\nHGNC:32281\nHGNC:32284\nHGNC:33202\nHGNC:33203\nHGNC:33204\nHGNC:37134\nHGNC:24992\nHGNC:27815\nHGNC:12945\nHGNC:20629\nHGNC:25352\nHGNC:13128\nHGNC:22043\nHGNC:27124\nHGNC:32458\nHGNC:29448\nHGNC:26889\nHGNC:26987\nHGNC:29425\nHGNC:32286\nHGNC:32460\nHGNC:32462\nHGNC:22785\nHGNC:32463\nHGNC:32464\nHGNC:32470\nHGNC:37138\nHGNC:32466\nHGNC:32467\nHGNC:32468\nHGNC:32469\nHGNC:27465\nHGNC:21948\nHGNC:28350\nHGNC:32783\nHGNC:25843\nHGNC:23179\nHGNC:27614\nHGNC:28200\nHGNC:25092\nHGNC:28063\nHGNC:26273\nHGNC:26061\nHGNC:29653\nHGNC:33106\nHGNC:30487\nHGNC:33108\nHGNC:28501\nHGNC:26765\nHGNC:22213\nHGNC:26479\nHGNC:27603\nHGNC:33109\nHGNC:26745\nHGNC:33110\nHGNC:27222\nHGNC:33111\nHGNC:26496\nHGNC:21806\nHGNC:26998\nHGNC:27801\nHGNC:33114\nHGNC:26895\nHGNC:24751\nHGNC:33115\nHGNC:28071\nHGNC:27267\nHGNC:21711\nHGNC:21958\nHGNC:23272\nHGNC:33230\nHGNC:33257\nHGNC:33258\nHGNC:26995\nHGNC:28043\nHGNC:30936\nHGNC:27193\nHGNC:34032\nHGNC:28291\nHGNC:16167\nHGNC:34332\nHGNC:34333\nHGNC:25164\nHGNC:20345\nHGNC:27611\nHGNC:28710\nHGNC:25932\nHGNC:25112\nHGNC:27260\nHGNC:27994\nHGNC:27713\nHGNC:21767\nHGNC:34513\nHGNC:34519\nHGNC:38705\nHGNC:4928\nHGNC:37246\nHGNC:37273\nHGNC:37249\nHGNC:27271\nHGNC:38695\nHGNC:38709\nHGNC:29271\nHGNC:21688\nHGNC:1177\nHGNC:12309\nHGNC:26089\nHGNC:13182\nHGNC:11328\nHGNC:18452\nHGNC:22316\nHGNC:18126\nHGNC:17726\nHGNC:13187\nHGNC:13188\nHGNC:13189\nHGNC:15770\nHGNC:15662\nHGNC:20678\nHGNC:27022\nHGNC:13051\nHGNC:18224\nHGNC:13058\nHGNC:25249\nHGNC:23019\nHGNC:23712\nHGNC:20994\nHGNC:23709\nHGNC:23710\nHGNC:34246\nHGNC:34294\nHGNC:12984\nHGNC:12997\nHGNC:13172\nHGNC:20813\nHGNC:21037\nHGNC:13093\nHGNC:13104\nHGNC:4929\nHGNC:21193\nHGNC:21961\nHGNC:12978\nHGNC:26673\nHGNC:33517\nHGNC:14097\nHGNC:20812\nHGNC:16155\nHGNC:30990\nHGNC:16157\nHGNC:25704\nHGNC:29299\nHGNC:29316\nHGNC:26993\nHGNC:23528\nHGNC:34495\nHGNC:21224\nHGNC:13194\nHGNC:25468\nHGNC:13195\nHGNC:13198\nHGNC:13199\nHGNC:28160\nHGNC:32058\nHGNC:25820\nHGNC:13200\nHGNC:29027\nHGNC:24523\n"
  },
  {
    "path": "medikanren/mk-db.rkt",
    "content": "#lang racket/base\n(provide\n  (all-from-out \"mk.rkt\")\n  make-db\n\n  db:edgeo\n  db:concepto\n  db:categoryo\n  db:predicateo\n  db:pmid-eido\n  db:subject-predicateo\n  db:object-predicateo\n\n  db:~cui*-concepto\n  db:~cui-concepto\n  db:~name-concepto\n  db:~predicateo\n  db:~categoryo\n  db:~name*-concepto/options\n  db:synonym-concepto\n  db:xref-concepto\n\n  chars:ignore-typical\n  chars:split-typical\n  )\n\n(require\n  \"db.rkt\"\n  \"mk.rkt\"\n  \"repr.rkt\"\n  (except-in racket/match ==)\n  racket/stream\n  )\n\n(define (vconcept->details db v)\n  (define catid (concept-category v))\n  (list (concept-cui v)\n        (concept-name v)\n        (cons catid (vector-ref (db:category* db) catid))\n        (concept-props v)))\n(define ((i&v->i&d db) i&v) (cons (car i&v) (vconcept->details db (cdr i&v))))\n\n(define (stream-refo i&v* iv)\n  (let loop ((i&v* i&v*))\n    (if (stream-empty? i&v*) fail\n      (let* ((i&v (stream-first i&v*)))\n        (conde\n          ((== `(,(car i&v) . ,(cdr i&v)) iv))\n          ((loop (stream-rest i&v*))))))))\n\n(define (db:~cui*-concepto db ~cui* concept)\n  (project (~cui*)\n    (stream-refo\n      (stream-map (i&v->i&d db) (db:~cui*->cid&concept* db ~cui*)) concept)))\n(define (db:~cui-concepto db ~cui concept)\n  (project (~cui)\n    (stream-refo\n      (stream-map (i&v->i&d db) (db:~cui->cid&concept* db ~cui)) concept)))\n(define (db:~name-concepto db ~name concept)\n  (project (~name)\n    (stream-refo\n      (stream-map (i&v->i&d db) (db:~name->cid&concept* db ~name)) concept)))\n(define (db:~name*-concepto/options\n          case-sensitive? chars:ignore chars:split db ~name* concept)\n  (project (~name*)\n    (stream-refo\n      (stream-map (i&v->i&d db)\n                  (db:~name*->cid&concept*/options\n                    case-sensitive? chars:ignore chars:split db ~name*))\n      concept)))\n(define (db:~predicateo db ~predicate predicate)\n  (project (~predicate)\n    (stream-refo (db:~predicate->pid&predicate* db ~predicate) predicate)))\n(define (db:~categoryo db ~category category)\n  (project (~category)\n    (stream-refo (db:~category->catid&category* db ~category) category)))\n\n(define (db:synonym-concepto db synonym concept)\n  (project (synonym concept)\n    (match concept\n      (`(,(and cid (? integer?)) . ,_)\n        (fresh ()\n          (db:concepto db concept)\n          (let loop ((synonym* (concept->synonyms (db:cid->concept db cid))))\n            (if (null? synonym*) fail\n              (conde ((== (car synonym*) synonym))\n                     ((loop (cdr synonym*))))))))\n      (_ (cond ((not (var? synonym))\n                (let loop ((cid* (db:synonym->cid* db synonym)))\n                  (if (null? cid*) fail\n                    (let ((c (vconcept->details\n                               db (db:cid->concept db (car cid*)))))\n                      (conde ((== (cons (car cid*) c) concept))\n                             ((loop (cdr cid*))))))))\n               (else (fresh ()\n                       (db:concepto db concept)\n                       (db:synonym-concepto db synonym concept))))))))\n(define (db:xref-concepto db xref concept)\n  (project (xref concept)\n    (match concept\n      (`(,(and cid (? integer?)) . ,_)\n        (fresh ()\n          (db:concepto db concept)\n          (let loop ((xref* (concept->xrefs (db:cid->concept db cid))))\n            (if (null? xref*) fail\n              (conde ((== (car xref*) xref))\n                     ((loop (cdr xref*))))))))\n      (_ (cond ((not (var? xref))\n                (let loop ((cid* (db:xref->cid* db xref)))\n                  (if (null? cid*) fail\n                    (let ((c (vconcept->details\n                               db (db:cid->concept db (car cid*)))))\n                      (conde ((== (cons (car cid*) c) concept))\n                             ((loop (cdr cid*))))))))\n               (else (fresh ()\n                       (db:concepto db concept)\n                       (db:xref-concepto db xref concept))))))))\n\n(define (vector-refo e->v v* iv)\n  (when (not (vector? v*)) (error \"vector-refo vector must be ground:\" v* iv))\n  (project (iv)\n    (cond ((and (pair? iv) (integer? (car iv)))\n           (== (cons (car iv) (e->v (vector-ref v* (car iv)))) iv))\n          (else\n            (define len (vector-length v*))\n            (let loop ((i 0))\n              (if (<= len i) fail\n                (conde\n                  ((== (cons i (e->v (vector-ref v* i))) iv))\n                  ((loop (+ i 1))))))))))\n\n(define (db:predicateo db predicate)\n  (vector-refo (lambda (x) x) (db:predicate* db) predicate))\n\n(define (db:categoryo db category)\n  (vector-refo (lambda (x) x) (db:category* db) category))\n\n(define (db:concepto db concept)\n  (define (v->concept v) (vconcept->details db v))\n  (project (concept)\n    (match concept\n      (`(,(and cid (? integer?)) . ,_)\n        (== (cons cid (v->concept (db:cid->concept db cid))) concept))\n      (`(,_ ,_ ,_ (,(and catid (? integer?)) . ,_) . ,_)\n        (define cid* (db:catid->cid* db catid))\n        (define len (vector-length cid*))\n        (let loop ((i 0))\n          (if (<= len i) fail\n            (let ((cid (vector-ref cid* i)))\n              (conde\n                ((== (cons cid (v->concept (db:cid->concept db cid))) concept))\n                ((loop (+ i 1))))))))\n      (_ (let loop ((c&c* (db:cid&concept-stream db)))\n           (if (stream-empty? c&c*) fail\n             (let ((c&c (stream-first c&c*)))\n               (conde\n                 ((== (cons (car c&c) (v->concept (cdr c&c))) concept))\n                 ((loop (stream-rest c&c*)))))))))))\n\n(define (db:concept-predicateo db:concept->pids db concept predicate)\n  (fresh (cid cdetails pdetails)\n    (== `(,cid . ,cdetails) concept)\n    (db:concepto db concept)\n    (project (cid)\n      (foldr (lambda (pid others) (conde\n                                    ((== `(,pid . ,pdetails) predicate)\n                                     (db:predicateo db predicate))\n                                    (others)))\n             fail (db:concept->pids db cid)))))\n(define (db:subject-predicateo db concept predicate)\n  (db:concept-predicateo db:subject->pids db concept predicate))\n(define (db:object-predicateo db concept predicate)\n  (db:concept-predicateo db:object->pids db concept predicate))\n\n(define (db:edgeo db edge)\n  (define (edge-propso eid scid ocid pid eprops)\n    (define e/p (db:eid->edge db eid))\n    (fresh ()\n      (== (edge/props-subject e/p) scid)\n      (== (edge/props-object e/p) ocid)\n      (== (edge/props-pid e/p) pid)\n      (== (edge/props-props e/p) eprops)))\n  (define (edges-by-Xo cid->stream cid pid dcatid dcid eid)\n    (project (cid pid dcatid dcid eid)\n      (let loop ((e* (cid->stream db cid\n                                  (and (not (var? pid)) pid)\n                                  (and (not (var? dcatid)) dcatid)\n                                  (and (not (var? dcid)) dcid))))\n        (if (stream-empty? e*) fail\n          (conde\n            ((== (edge-eid (stream-first e*)) eid))\n            ((loop (stream-rest e*))))))))\n  (fresh (scid scui sname scatid scat sprops\n               ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n    (== `(,eid (,scid ,scui ,sname (,scatid . ,scat) ,sprops)\n               (,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)\n               (,pid . ,pred) ,eprops) edge)\n    (project (scid scui sname scatid scat sprops\n                   ocid ocui oname ocatid ocat oprops eid pid pred eprops)\n      (let* ((edges-by-subject\n               (edges-by-Xo db:subject->edge-stream scid pid ocatid ocid eid))\n             (edges-by-object\n               (edges-by-Xo db:object->edge-stream ocid pid scatid scid eid))\n             (subject (db:concepto\n                        db `(,scid ,scui ,sname (,scatid . ,scat) ,sprops)))\n             (object (db:concepto\n                       db `(,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops)))\n             (subject-edges (fresh () subject edges-by-subject))\n             (object-edges (fresh () object edges-by-object)))\n        (cond ((not (var? eid)) succeed)\n              ((not (var? scid)) edges-by-subject)\n              ((not (var? ocid)) edges-by-object)\n              ((not (var? scatid)) subject-edges)\n              ((not (var? ocatid)) object-edges)\n              ((not (var? scat))\n               (fresh () (db:categoryo db `(,scatid . ,scat)) subject-edges))\n              ((not (var? ocat))\n               (fresh () (db:categoryo db `(,ocatid . ,ocat)) object-edges))\n              ((not (andmap var? (list scui sname scat sprops))) subject-edges)\n              ((not (andmap var? (list ocui oname ocat oprops))) object-edges)\n              (else subject-edges))))\n    (project (eid) (edge-propso eid scid ocid pid eprops))\n    (db:predicateo db `(,pid . ,pred))\n    (db:concepto db `(,scid ,scui ,sname (,scatid . ,scat) ,sprops))\n    (db:concepto db `(,ocid ,ocui ,oname (,ocatid . ,ocat) ,oprops))))\n\n(define (db:pmid-eido db pmid eid)\n  (define (eid-loop eid*)\n    (if (null? eid*) fail\n      (conde\n        ((== (car eid*) eid))\n        ((eid-loop (cdr eid*))))))\n  (project (pmid)\n    (if (var? pmid)\n      (let loop ((pe* (db:pmid&eid*-stream db)))\n        (cond ((stream-empty? pe*) fail)\n              (else (define pe (stream-first pe*))\n                    (conde\n                      ((== (car pe) pmid) (eid-loop (cdr pe)))\n                      ((loop (stream-rest pe*)))))))\n      (eid-loop (db:pmid->eid* db pmid)))))\n"
  },
  {
    "path": "medikanren/mk.rkt",
    "content": "#lang racket/base\n\n(require racket/list\n         racket/include\n         racket/stream\n         )\n\n(provide\n  run run* run-stream\n  == =/=\n  fresh\n  conde\n  symbolo numbero\n  absento\n  project\n  var?\n  fail\n  succeed\n  choice\n  inc\n  unify\n  walk\n  walk*\n  mplus\n  mplus*\n  bind\n  bind*\n  take-stream\n  reify\n  )\n\n;; extra stuff for racket\n;; due mostly to samth\n(define (list-sort f l) (sort l f))\n\n(define (remp f l) (filter-not f l))\n\n(define (call-with-string-output-port f)\n  (define p (open-output-string))\n  (f p)\n  (get-output-string p))\n\n(define (exists f l) (ormap f l))\n\n(define for-all andmap)\n\n(define (find f l)\n  (cond [(memf f l) => car] [else #f]))\n\n(define memp memf)\n\n(define (var*? v) (var? (car v)))\n\n\n; Substitution representation\n\n(define empty-subst-map (hasheq))\n\n(define subst-map-length hash-count)\n\n; Returns #f if not found, or a pair of u and the result of the lookup.\n; This distinguishes between #f indicating absence and being the result.\n(define subst-map-lookup\n  (lambda (u S)\n    (hash-ref S u unbound)))\n\n(define (subst-map-add S var val)\n  (hash-set S var val))\n\n(define subst-map-eq? eq?)\n\n\n; Constraint store representation\n\n(define empty-C (hasheq))\n\n(define set-c\n  (lambda (v c st)\n    (state (state-S st) (hash-set (state-C st) v c))))\n\n(define lookup-c\n  (lambda (v st)\n    (hash-ref (state-C st) v empty-c)))\n\n(define remove-c\n  (lambda (v st)\n    (state (state-S st) (hash-remove (state-C st) v))))\n\n\n; Scope object.\n; Used to determine whether a branch has occured between variable creation\n; and unification to allow the set-var-val! optimization in subst-add. Both variables\n; and substitutions will contain a scope. When a substitution flows through a\n; conde it is assigned a new scope.\n\n; Creates a new scope that is not scope-eq? to any other scope\n(define new-scope\n  (lambda ()\n    (list 'scope)))\n\n; Scope used when variable bindings should always be made in the substitution,\n; as in disequality solving and reification. We don't want to set-var-val! a\n; variable when checking if a disequality constraint holds!\n(define nonlocal-scope\n  (list 'non-local-scope))\n\n(define scope-eq? eq?)\n\n\n; Logic variable object.\n; Contains:\n;   val - value for variable assigned by unification using set-var-val! optimization.\n;           unbound if not yet set or stored in substitution.\n;   scope - scope that the variable was created in.\n;   idx - unique numeric index for the variable. Used by the trie substitution representation.\n; Variable objects are compared by object identity.\n\n; The unique val for variables that have not yet been bound to a value\n; or are bound in the substitution\n(define unbound (list 'unbound))\n\n(define var\n  (let ((counter -1))\n    (lambda (scope)\n      (set! counter (+ 1 counter))\n      (vector unbound scope counter))))\n\n; Vectors are not allowed as terms, so terms that are vectors are variables.\n(define var?\n  (lambda (x)\n    (vector? x)))\n\n(define var-eq? eq?)\n\n(define var-val\n  (lambda (x)\n    (vector-ref x 0)))\n\n(define set-var-val!\n  (lambda (x v)\n    (vector-set! x 0 v)))\n\n(define var-scope\n  (lambda (x)\n    (vector-ref x 1)))\n\n(define var-idx\n  (lambda (x)\n    (vector-ref x 2)))\n\n\n; Substitution object.\n; Contains:\n;   map - mapping of variables to values\n;   scope - scope at current program point, for set-var-val! optimization. Updated at conde.\n;               Included in the substitution because it is required to fully define the substitution\n;               and how it is to be extended.\n;\n; Implementation of the substitution map depends on the Scheme used, as we need a map. See mk.rkt\n; and mk-vicare.scm.\n\n(define subst\n  (lambda (mapping scope)\n    (cons mapping scope)))\n\n(define subst-map car)\n\n(define subst-scope cdr)\n\n(define subst-length\n  (lambda (S)\n    (subst-map-length (subst-map S))))\n\n(define subst-with-scope\n  (lambda (S new-scope)\n    (subst (subst-map S) new-scope)))\n\n(define empty-subst (subst empty-subst-map (new-scope)))\n\n(define subst-add\n  (lambda (S x v)\n    ; set-var-val! optimization: set the value directly on the variable\n    ; object if we haven't branched since its creation\n    ; (the scope of the variable and the substitution are the same).\n    ; Otherwise extend the substitution mapping.\n    (if (scope-eq? (var-scope x) (subst-scope S))\n      (begin\n        (set-var-val! x v)\n        S)\n      (subst (subst-map-add (subst-map S) x v) (subst-scope S)))))\n\n(define subst-lookup\n  (lambda (u S)\n    ; set-var-val! optimization.\n    ; Tried checking the scope here to avoid a subst-map-lookup\n    ; if it was definitely unbound, but that was slower.\n    (if (not (eq? (var-val u) unbound))\n      (var-val u)\n      (subst-map-lookup u (subst-map S)))))\n\n; Association object.\n; Describes an association mapping the lhs to the rhs. Returned by unification\n; to describe the associations that were added to the substitution (whose representation\n; is opaque) and used to represent disequality constraints.\n\n(define lhs car)\n\n(define rhs cdr)\n\n; Constraint record object.\n;\n; Describes the constraints attached to a single variable.\n;\n; Contains:\n;   T - type constraint. 'symbolo 'numbero or #f to indicate no constraint\n;   D - list of disequality constraints. Each disequality is a list of associations.\n;           The constraint is violated if all associated variables are equal in the\n;           substitution simultaneously. D could contain duplicate constraints (created\n;           by distinct =/= calls). A given disequality constraint is only attached to\n;           one of the variables involved, as all components of the constraint must be\n;           violated to cause failure.\n;   A - list of absento constraints. Each constraint is a ground atom. The list contains\n;           no duplicates.\n\n(define empty-c `(#f () ()))\n\n(define c-T\n  (lambda (c)\n    (car c)))\n\n(define c-D\n  (lambda (c)\n    (cadr c)))\n\n(define c-A\n  (lambda (c)\n    (caddr c)))\n\n(define c-with-T\n  (lambda (c T)\n    (list T (c-D c) (c-A c))))\n\n(define c-with-D\n  (lambda (c D)\n    (list (c-T c) D (c-A c))))\n\n(define c-with-A\n  (lambda (c A)\n    (list (c-T c) (c-D c) A)))\n\n; Constraint store object.\n; Mapping of representative variable to constraint record. Constraints are\n; always on the representative element and must be moved / merged when that\n; element changes.\n\n; Implementation depends on the Scheme used, as we need a map. See mk.rkt\n; and mk-vicare.scm.\n\n; State object.\n; The state is the value that is monadically passed through the search.\n; Contains:\n;   S - the substitution\n;   C - the constraint store\n\n(define state\n  (lambda (S C)\n    (cons S C)))\n\n(define state-S (lambda (st) (car st)))\n(define state-C (lambda (st) (cdr st)))\n\n(define empty-state (state empty-subst empty-C))\n\n(define state-with-scope\n  (lambda (st new-scope)\n    (state (subst-with-scope (state-S st) new-scope) (state-C st))))\n\n; Unification\n\n(define walk\n  (lambda (u S)\n    (if (var? u)\n      (let ((val (subst-lookup u S)))\n        (if (eq? val unbound)\n          u\n          (walk val S)))\n      u)))\n\n(define occurs-check\n  (lambda (x v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v) (var-eq? v x))\n        ((pair? v)\n         (or\n           (occurs-check x (car v) S)\n           (occurs-check x (cdr v) S)))\n        (else #f)))))\n\n(define ext-s-check\n  (lambda (x v S)\n    (cond\n      ((occurs-check x v S) (values #f #f))\n      (else (values (subst-add S x v) `((,x . ,v)))))))\n\n; Returns as values the extended substitution and a list of associations added\n; during the unification, or (values #f #f) if the unification failed.\n;\n; Right now appends the list of added values from sub-unifications. Alternatively\n; could be threaded monadically, which could be faster or slower.\n(define unify\n  (lambda (u v s)\n    (let ((u (walk u s))\n          (v (walk v s)))\n      (cond\n        ((eq? u v) (values s '()))\n        ((var? u) (ext-s-check u v s))\n        ((var? v) (ext-s-check v u s))\n        ((and (pair? u) (pair? v))\n         (let-values (((s added-car) (unify (car u) (car v) s)))\n           (if s\n             (let-values (((s added-cdr) (unify (cdr u) (cdr v) s)))\n               (values s (append added-car added-cdr)))\n             (values #f #f))))\n        ((equal? u v) (values s '()))\n        (else (values #f #f))))))\n\n(define unify*\n  (lambda (S+ S)\n    (unify (map lhs S+) (map rhs S+) S)))\n\n\n; Search\n\n; SearchStream: #f | Procedure | State | (Pair State (-> SearchStream))\n\n; SearchStream constructor types. Names inspired by the plus monad?\n\n; -> SearchStream\n(define mzero (lambda () #f))\n\n; c: State\n; -> SearchStream\n(define unit (lambda (c) c))\n\n; c: State\n; f: (-> SearchStream)\n; -> SearchStream\n;\n; f is a thunk to avoid unnecessary computation in the case that c is the\n; last answer needed to satisfy the query.\n(define choice (lambda (c f) (cons c f)))\n\n; e: SearchStream\n; -> (-> SearchStream)\n(define-syntax inc\n  (syntax-rules ()\n    ((_ e) (lambda () e))))\n\n; Goal: (State -> SearchStream)\n\n; e: SearchStream\n; -> Goal\n(define-syntax lambdag@\n  (syntax-rules ()\n    ((_ (st) e) (lambda (st) e))))\n\n; Match on search streams. The state type must not be a pair with a procedure\n; in its cdr.\n;\n; (() e0)     failure\n; ((f) e1)    inc for interleaving. separate from success or failure to ensure\n;               it goes all the way to the top of the tree.\n; ((c) e2)    single result. Used rather than (choice c (inc (mzero))) to avoid\n;               returning to search a part of the tree that will inevitably fail.\n; ((c f) e3)  multiple results.\n(define-syntax case-inf\n  (syntax-rules ()\n    ((_ e (() e0) ((f^) e1) ((c^) e2) ((c f) e3))\n     (let ((c-inf e))\n       (cond\n         ((not c-inf) e0)\n         ((procedure? c-inf)  (let ((f^ c-inf)) e1))\n         ((not (and (pair? c-inf)\n                 (procedure? (cdr c-inf))))\n          (let ((c^ c-inf)) e2))\n         (else (let ((c (car c-inf)) (f (cdr c-inf)))\n                 e3)))))))\n\n; c-inf: SearchStream\n;     f: (-> SearchStream)\n; -> SearchStream\n;\n; f is a thunk to avoid unnecesarry computation in the case that the first\n; answer produced by c-inf is enough to satisfy the query.\n(define mplus\n  (lambda (c-inf f)\n    (case-inf c-inf\n      (() (f))\n      ((f^) (inc (mplus (f) f^)))\n      ((c) (choice c f))\n      ((c f^) (choice c (inc (mplus (f) f^)))))))\n\n; c-inf: SearchStream\n;     g: Goal\n; -> SearchStream\n(define bind\n  (lambda (c-inf g)\n    (case-inf c-inf\n      (() (mzero))\n      ((f) (inc (bind (f) g)))\n      ((c) (g c))\n      ((c f) (mplus (g c) (inc (bind (f) g)))))))\n\n; Int, SearchStream -> (ListOf SearchResult)\n(define take\n  (lambda (n f)\n    (cond\n      ((and n (zero? n)) '())\n      (else\n       (case-inf (f)\n         (() '())\n         ((f) (take n f))\n         ((c) (cons c '()))\n         ((c f) (cons c\n                  (take (and n (- n 1)) f))))))))\n\n(define take-stream\n  (lambda (f)\n    (case-inf (f)\n              (() '())\n              ((f) (take-stream f))\n              ((c) (stream-cons c '()))\n              ((c f) (stream-cons c (take-stream f))))))\n\n; -> SearchStream\n(define-syntax bind*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e g0 g ...) (bind* (bind e g0) g ...))))\n\n; -> SearchStream\n(define-syntax mplus*\n  (syntax-rules ()\n    ((_ e) e)\n    ((_ e0 e ...) (mplus e0\n                    (inc (mplus* e ...))))))\n\n; -> Goal\n(define-syntax fresh\n  (syntax-rules ()\n    ((_ (x ...) g0 g ...)\n     (lambdag@ (st)\n       ; this inc triggers interleaving\n       (inc\n         (let ((scope (subst-scope (state-S st))))\n           (let ((x (var scope)) ...)\n             (bind* (g0 st) g ...))))))))\n\n\n; -> Goal\n(define-syntax conde\n  (syntax-rules ()\n    ((_ (g0 g ...) (g1 g^ ...) ...)\n     (lambdag@ (st)\n       ; this inc triggers interleaving\n       (inc\n         (let ((st (state-with-scope st (new-scope))))\n           (mplus*\n             (bind* (g0 st) g ...)\n             (bind* (g1 st) g^ ...) ...)))))))\n\n(define-syntax run\n  (syntax-rules ()\n    ((_ n (q) g0 g ...)\n     (take n\n       (inc\n         ((fresh (q) g0 g ...\n            (lambdag@ (st)\n              (let ((st (state-with-scope st nonlocal-scope)))\n                (let ((z ((reify q) st)))\n                  (choice z (lambda () (lambda () #f)))))))\n          empty-state))))\n    ((_ n (q0 q1 q ...) g0 g ...)\n     (run n (x) (fresh (q0 q1 q ...) g0 g ... (== `(,q0 ,q1 ,q ...) x))))))\n\n(define-syntax run*\n  (syntax-rules ()\n    ((_ (q0 q ...) g0 g ...) (run #f (q0 q ...) g0 g ...))))\n\n(define-syntax run-stream\n  (syntax-rules ()\n    ((_ (q) g0 g ...)\n     (take-stream\n       (inc\n         ((fresh (q) g0 g ...\n            (lambdag@ (st)\n              (let ((st (state-with-scope st nonlocal-scope)))\n                (let ((z ((reify q) st)))\n                  (choice z (lambda () (lambda () #f)))))))\n          empty-state))))\n    ((_ (q0 q1 q ...) g0 g ...)\n     (run-stream (x) (fresh (q0 q1 q ...) g0 g ... (== `(,q0 ,q1 ,q ...) x))))))\n\n; Constraints\n; C refers to the constraint store map\n; c refers to an individual constraint record\n\n; Constraint: State -> #f | State\n;\n; (note that a Constraint is a Goal but a Goal is not a Constraint.\n;  Constraint implementations currently use this more restrained type. See `and-foldl`\n;  and `update-constraints`.)\n\n; Requirements for type constraints:\n; 1. Must be positive, not negative. not-pairo wouldn't work.\n; 2. Each type must have infinitely many possible values to avoid\n;      incorrectness in combination with disequality constraints, like:\n;      (fresh (x) (booleano x) (=/= x #t) (=/= x #f))\n(define type-constraint\n  (lambda (type-pred type-id)\n    (lambda (u)\n      (lambdag@ (st)\n        (let ((term (walk u (state-S st))))\n          (cond\n            ((type-pred term) st)\n            ((var? term)\n             (let* ((c (lookup-c term st))\n                   (T (c-T c)))\n               (cond\n                 ((eq? T type-id) st)\n                 ((not T) (set-c term (c-with-T c type-id) st))\n                 (else #f))))\n            (else #f)))))))\n\n(define symbolo (type-constraint symbol? 'symbolo))\n(define numbero (type-constraint number? 'numbero))\n\n(define (add-to-D st v d)\n  (let* ((c (lookup-c v st))\n         (c^ (c-with-D c (cons d (c-D c)))))\n    (set-c v c^ st)))\n\n(define =/=*\n  (lambda (S+)\n    (lambdag@ (st)\n      (let-values (((S added) (unify* S+ (subst-with-scope (state-S st) nonlocal-scope))))\n        (cond\n          ((not S) st)\n          ((null? added) #f)\n          (else\n            ; Choose one of the disequality elements (el) to attach the constraint to. Only\n            ; need to choose one because all must fail to cause the constraint to fail.\n            (let ((el (car added)))\n              (let ((st (add-to-D st (car el) added)))\n                (if (var? (cdr el))\n                  (add-to-D st (cdr el) added)\n                  st)))))))))\n\n(define =/=\n  (lambda (u v)\n    (=/=* `((,u . ,v)))))\n\n(define absento\n  (lambda (ground-atom term)\n    (lambdag@ (st)\n      (let ((term (walk term (state-S st))))\n        (cond\n          ((pair? term)\n           (let ((st^ ((absento ground-atom (car term)) st)))\n             (and st^ ((absento ground-atom (cdr term)) st^))))\n          ((eqv? term ground-atom) #f)\n          ((var? term)\n           (let* ((c (lookup-c term st))\n                  (A (c-A c)))\n             (if (memv ground-atom A)\n               st\n               (let ((c^ (c-with-A c (cons ground-atom A))))\n                 (set-c term c^ st)))))\n          (else st))))))\n\n; Fold lst with proc and initial value init. If proc ever returns #f,\n; return with #f immediately. Used for applying a series of constraints\n; to a state, failing if any operation fails.\n(define (and-foldl proc init lst)\n  (if (null? lst)\n    init\n    (let ([res (proc (car lst) init)])\n      (and res (and-foldl proc res (cdr lst))))))\n\n(define ==\n  (lambda (u v)\n    (lambdag@ (st)\n      (let-values (((S added) (unify u v (state-S st))))\n        (if S\n          (and-foldl update-constraints (state S (state-C st)) added)\n          #f)))))\n\n\n; Not fully optimized. Could do absento update with fewer hash-refs / hash-sets.\n(define update-constraints\n  (lambda (a st)\n    (let ([old-c (lookup-c (lhs a) st)])\n      (if (eq? old-c empty-c)\n        st\n        (let ((st (remove-c (lhs a) st)))\n         (and-foldl (lambda (op st) (op st)) st\n          (append\n            (if (eq? (c-T old-c) 'symbolo)\n              (list (symbolo (rhs a)))\n              '())\n            (if (eq? (c-T old-c) 'numbero)\n              (list (numbero (rhs a)))\n              '())\n            (map (lambda (atom) (absento atom (rhs a))) (c-A old-c))\n            (map (lambda (d) (=/=* d)) (c-D old-c)))))))))\n\n\n; Reification\n\n(define walk*\n  (lambda (v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v) v)\n        ((pair? v)\n         (cons (walk* (car v) S) (walk* (cdr v) S)))\n        (else v)))))\n\n(define vars\n  (lambda (term acc)\n    (cond\n      ((var? term) (cons term acc))\n      ((pair? term)\n       (vars (cdr term) (vars (car term) acc)))\n      (else acc))))\n\n(define-syntax project\n  (syntax-rules ()\n    ((_ (x ...) g g* ...)\n     (lambdag@ (st)\n       (let ((x (walk* x (state-S st))) ...)\n         ((fresh () g g* ...) st))))))\n\n\n; Create a constraint store of the old representation from a state object,\n; so that we can use the old reifier. Only accumulates constraints related\n; to the variable being reified which makes things a bit faster.\n(define c-from-st\n  (lambda (st x)\n    (let ((vs (vars (walk* x (state-S st)) '())))\n      (foldl\n        (lambda (v c-store)\n          (let ((c (lookup-c v st)))\n            (let ((S (state-S st))\n                  (D (c->D c-store))\n                  (Y (c->Y c-store))\n                  (N (c->N c-store))\n                  (T (c->T c-store))\n                  (T^ (c-T c))\n                  (D^ (c-D c))\n                  (A^ (c-A c)))\n              `(,S\n                 ,(append D^ D)\n                 ,(if (eq? T^ 'symbolo)\n                    (cons v Y)\n                    Y)\n                 ,(if (eq? T^ 'numbero)\n                    (cons v N)\n                    N)\n                 ,(append\n                    (map (lambda (atom) (cons atom v)) A^)\n                    T)))))\n        `(,(state-S st) () () () ())\n        (remove-duplicates vs)))))\n\n(define reify\n  (lambda (x)\n    (lambda (st)\n      (let ((c (c-from-st st x)))\n        (let ((c (cycle c)))\n          (let* ((S (c->S c))\n                 (D (walk* (c->D c) S))\n                 (Y (walk* (c->Y c) S))\n                 (N (walk* (c->N c) S))\n                 (T (walk* (c->T c) S)))\n            (let ((v (walk* x S)))\n              (let ((R (reify-S v (subst empty-subst-map nonlocal-scope))))\n                (reify+ v R\n                        (let ((D (remp\n                                   (lambda (d)\n                                     (let ((dw (walk* d S)))\n                                       (anyvar? dw R)))\n                                   (rem-xx-from-d c))))\n                          (rem-subsumed D))\n                        (remp\n                          (lambda (y) (var? (walk y R)))\n                          Y)\n                        (remp\n                          (lambda (n) (var? (walk n R)))\n                          N)\n                        (remp (lambda (t)\n                                (anyvar? t R)) T))))))))))\n\n\n; Bits from the old constraint implementation, still used for reification.\n\n; In this part of the code, c refers to the\n; old constraint store with components:\n; S - substitution\n; D - disequality constraints\n; Y - symbolo\n; N - numbero\n; T - absento\n\n(define c->S (lambda (c) (car c)))\n(define c->D (lambda (c) (cadr c)))\n(define c->Y (lambda (c) (caddr c)))\n(define c->N (lambda (c) (cadddr c)))\n(define c->T (lambda (c) (cadddr (cdr c))))\n\n; Syntax for reification goal objects using the old constraint store\n(define-syntax lambdar@\n  (syntax-rules (:)\n    ((_ (c) e) (lambda (c) e))\n    ((_ (c : S D Y N T) e)\n     (lambda (c)\n       (let ((S (c->S c)) (D (c->D c)) (Y (c->Y c)) (N (c->N c)) (T (c->T c)))\n         e)))))\n\n(define tagged?\n  (lambda (S Y y^)\n    (exists (lambda (y) (eqv? (walk y S) y^)) Y)))\n\n(define untyped-var?\n  (lambda (S Y N t^)\n    (let ((in-type? (lambda (y) (var-eq? (walk y S) t^))))\n      (and (var? t^)\n           (not (exists in-type? Y))\n           (not (exists in-type? N))))))\n\n(define reify-S\n  (lambda (v S)\n    (let ((v (walk v S)))\n      (cond\n        ((var? v)\n         (let ((n (subst-length S)))\n           (let ((name (reify-name n)))\n             (subst-add S v name))))\n        ((pair? v)\n         (let ((S (reify-S (car v) S)))\n           (reify-S (cdr v) S)))\n        (else S)))))\n\n(define reify-name\n  (lambda (n)\n    (string->symbol\n      (string-append \"_\" \".\" (number->string n)))))\n\n(define drop-dot\n  (lambda (X)\n    (map (lambda (t)\n           (let ((a (lhs t))\n                 (d (rhs t)))\n             `(,a ,d)))\n         X)))\n\n(define sorter\n  (lambda (ls)\n    (list-sort lex<=? ls)))\n\n(define lex<=?\n  (lambda (x y)\n    (string<=? (datum->string x) (datum->string y))))\n\n(define datum->string\n  (lambda (x)\n    (call-with-string-output-port\n      (lambda (p) (display x p)))))\n\n(define anyvar?\n  (lambda (u r)\n    (cond\n      ((pair? u)\n       (or (anyvar? (car u) r)\n           (anyvar? (cdr u) r)))\n      (else (var? (walk u r))))))\n\n(define member*\n  (lambda (u v)\n    (cond\n      ((equal? u v) #t)\n      ((pair? v)\n       (or (member* u (car v)) (member* u (cdr v))))\n      (else #f))))\n\n(define drop-N-b/c-const\n  (lambdar@ (c : S D Y N T)\n    (let ((const? (lambda (n)\n                    (not (var? (walk n S))))))\n      (cond\n        ((find const? N) =>\n           (lambda (n) `(,S ,D ,Y ,(remq1 n N) ,T)))\n        (else c)))))\n\n(define drop-Y-b/c-const\n  (lambdar@ (c : S D Y N T)\n    (let ((const? (lambda (y)\n                    (not (var? (walk y S))))))\n      (cond\n        ((find const? Y) =>\n           (lambda (y) `(,S ,D ,(remq1 y Y) ,N ,T)))\n        (else c)))))\n\n(define remq1\n  (lambda (elem ls)\n    (cond\n      ((null? ls) '())\n      ((eq? (car ls) elem) (cdr ls))\n      (else (cons (car ls) (remq1 elem (cdr ls)))))))\n\n(define same-var?\n  (lambda (v)\n    (lambda (v^)\n      (and (var? v) (var? v^) (var-eq? v v^)))))\n\n(define find-dup\n  (lambda (f S)\n    (lambda (set)\n      (let loop ((set^ set))\n        (cond\n          ((null? set^) #f)\n          (else\n           (let ((elem (car set^)))\n             (let ((elem^ (walk elem S)))\n               (cond\n                 ((find (lambda (elem^^)\n                          ((f elem^) (walk elem^^ S)))\n                        (cdr set^))\n                  elem)\n                 (else (loop (cdr set^))))))))))))\n\n(define drop-N-b/c-dup-var\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-dup same-var? S) N) =>\n       (lambda (n) `(,S ,D ,Y ,(remq1 n N) ,T)))\n      (else c))))\n\n(define drop-Y-b/c-dup-var\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-dup same-var? S) Y) =>\n       (lambda (y)\n         `(,S ,D ,(remq1 y Y) ,N ,T)))\n      (else c))))\n\n(define var-type-mismatch?\n  (lambda (S Y N t1^ t2^)\n    (cond\n      ((num? S N t1^) (not (num? S N t2^)))\n      ((sym? S Y t1^) (not (sym? S Y t2^)))\n      (else #f))))\n\n(define term-ununifiable?\n  (lambda (S Y N t1 t2)\n    (let ((t1^ (walk t1 S))\n          (t2^ (walk t2 S)))\n      (cond\n        ((or (untyped-var? S Y N t1^) (untyped-var? S Y N t2^)) #f)\n        ((var? t1^) (var-type-mismatch? S Y N t1^ t2^))\n        ((var? t2^) (var-type-mismatch? S Y N t2^ t1^))\n        ((and (pair? t1^) (pair? t2^))\n         (or (term-ununifiable? S Y N (car t1^) (car t2^))\n             (term-ununifiable? S Y N (cdr t1^) (cdr t2^))))\n        (else (not (eqv? t1^ t2^)))))))\n\n(define T-term-ununifiable?\n  (lambda (S Y N)\n    (lambda (t1)\n      (let ((t1^ (walk t1 S)))\n        (letrec\n            ((t2-check\n              (lambda (t2)\n                (let ((t2^ (walk t2 S)))\n                  (if (pair? t2^)\n                    (and\n                       (term-ununifiable? S Y N t1^ t2^)\n                       (t2-check (car t2^))\n                       (t2-check (cdr t2^)))\n                    (term-ununifiable? S Y N t1^ t2^))))))\n          t2-check)))))\n\n(define num?\n  (lambda (S N n)\n    (let ((n (walk n S)))\n      (cond\n        ((var? n) (tagged? S N n))\n        (else (number? n))))))\n\n(define sym?\n  (lambda (S Y y)\n    (let ((y (walk y S)))\n      (cond\n        ((var? y) (tagged? S Y y))\n        (else (symbol? y))))))\n\n(define drop-T-b/c-Y-and-N\n  (lambdar@ (c : S D Y N T)\n    (let ((drop-t? (T-term-ununifiable? S Y N)))\n      (cond\n        ((find (lambda (t) ((drop-t? (lhs t)) (rhs t))) T) =>\n         (lambda (t) `(,S ,D ,Y ,N ,(remq1 t T))))\n        (else c)))))\n\n(define move-T-to-D-b/c-t2-atom\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((exists (lambda (t)\n               (let ((t2^ (walk (rhs t) S)))\n                 (cond\n                   ((and (not (untyped-var? S Y N t2^))\n                         (not (pair? t2^)))\n                    (let ((T (remq1 t T)))\n                      `(,S ((,t) . ,D) ,Y ,N ,T)))\n                   (else #f))))\n             T))\n      (else c))))\n\n(define terms-pairwise=?\n  (lambda (pr-a^ pr-d^ t-a^ t-d^ S)\n    (or\n     (and (term=? pr-a^ t-a^ S)\n          (term=? pr-d^ t-a^ S))\n     (and (term=? pr-a^ t-d^ S)\n          (term=? pr-d^ t-a^ S)))))\n\n(define T-superfluous-pr?\n  (lambda (S Y N T)\n    (lambda (pr)\n      (let ((pr-a^ (walk (lhs pr) S))\n            (pr-d^ (walk (rhs pr) S)))\n        (cond\n          ((exists\n               (lambda (t)\n                 (let ((t-a^ (walk (lhs t) S))\n                       (t-d^ (walk (rhs t) S)))\n                   (terms-pairwise=? pr-a^ pr-d^ t-a^ t-d^ S)))\n             T)\n           (for-all\n            (lambda (t)\n              (let ((t-a^ (walk (lhs t) S))\n                    (t-d^ (walk (rhs t) S)))\n                (or\n                 (not (terms-pairwise=? pr-a^ pr-d^ t-a^ t-d^ S))\n                 (untyped-var? S Y N t-d^)\n                 (pair? t-d^))))\n            T))\n          (else #f))))))\n\n(define drop-from-D-b/c-T\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((find\n           (lambda (d)\n             (exists\n                 (T-superfluous-pr? S Y N T)\n               d))\n         D) =>\n         (lambda (d) `(,S ,(remq1 d D) ,Y ,N ,T)))\n      (else c))))\n\n(define drop-t-b/c-t2-occurs-t1\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((find (lambda (t)\n               (let ((t-a^ (walk (lhs t) S))\n                     (t-d^ (walk (rhs t) S)))\n                 (mem-check t-d^ t-a^ S)))\n             T) =>\n             (lambda (t)\n               `(,S ,D ,Y ,N ,(remq1 t T))))\n      (else c))))\n\n(define split-t-move-to-d-b/c-pair\n  (lambdar@ (c : S D Y N T)\n    (cond\n      ((exists\n         (lambda (t)\n           (let ((t2^ (walk (rhs t) S)))\n             (cond\n               ((pair? t2^) (let ((ta `(,(lhs t) . ,(car t2^)))\n                                  (td `(,(lhs t) . ,(cdr t2^))))\n                              (let ((T `(,ta ,td . ,(remq1 t T))))\n                                `(,S ((,t) . ,D) ,Y ,N ,T))))\n               (else #f))))\n         T))\n      (else c))))\n\n(define find-d-conflict\n  (lambda (S Y N)\n    (lambda (D)\n      (find\n        (lambda (d)\n          (exists (lambda (pr)\n                    (term-ununifiable? S Y N (lhs pr) (rhs pr)))\n                  d))\n        D))))\n\n(define drop-D-b/c-Y-or-N\n  (lambdar@ (c : S D Y N T)\n    (cond\n      (((find-d-conflict S Y N) D) =>\n       (lambda (d) `(,S ,(remq1 d D) ,Y ,N ,T)))\n      (else c))))\n\n(define cycle\n  (lambdar@ (c)\n    (let loop ((c^ c)\n               (fns^ (LOF))\n               (n (length (LOF))))\n      (cond\n        ((zero? n) c^)\n        ((null? fns^) (loop c^ (LOF) n))\n        (else\n         (let ((c^^ ((car fns^) c^)))\n           (cond\n             ((not (eq? c^^ c^))\n              (loop c^^ (cdr fns^) (length (LOF))))\n             (else (loop c^ (cdr fns^) (sub1 n))))))))))\n\n(define mem-check\n  (lambda (u t S)\n    (let ((t (walk t S)))\n      (cond\n        ((pair? t)\n         (or (term=? u t S)\n             (mem-check u (car t) S)\n             (mem-check u (cdr t) S)))\n        (else (term=? u t S))))))\n\n(define term=?\n  (lambda (u t S)\n    (let-values (((S added) (unify u t (subst-with-scope S nonlocal-scope))))\n      (and S (null? added)))))\n\n(define ground-non-<type>?\n  (lambda (pred)\n    (lambda (u S)\n      (let ((u (walk u S)))\n        (cond\n          ((var? u) #f)\n          (else (not (pred u))))))))\n\n(define ground-non-symbol?\n  (ground-non-<type>? symbol?))\n\n(define ground-non-number?\n  (ground-non-<type>? number?))\n\n(define succeed (== #f #f))\n\n(define fail (== #f #t))\n\n(define ==fail-check\n  (lambda (S0 D Y N T)\n    (let ([S0 (subst-with-scope S0 nonlocal-scope)])\n      (cond\n        ((atomic-fail-check S0 Y ground-non-symbol?) #t)\n        ((atomic-fail-check S0 N ground-non-number?) #t)\n        ((symbolo-numbero-fail-check S0 Y N) #t)\n        ((=/=-fail-check S0 D) #t)\n        ((absento-fail-check S0 T) #t)\n        (else #f)))))\n\n(define atomic-fail-check\n  (lambda (S A pred)\n    (exists (lambda (a) (pred (walk a S) S)) A)))\n\n(define symbolo-numbero-fail-check\n  (lambda (S A N)\n    (let ((N (map (lambda (n) (walk n S)) N)))\n      (exists (lambda (a) (exists (same-var? (walk a S)) N))\n        A))))\n\n(define absento-fail-check\n  (lambda (S T)\n    (exists (lambda (t) (mem-check (lhs t) (rhs t) S)) T)))\n\n(define =/=-fail-check\n  (lambda (S D)\n    (exists (d-fail-check S) D)))\n\n(define d-fail-check\n  (lambda (S)\n    (lambda (d)\n      (let-values (((S added) (unify* d S)))\n        (and S (null? added))))))\n\n(define reify+\n  (lambda (v R D Y N T)\n    (form (walk* v R)\n          (walk* D R)\n          (walk* Y R)\n          (walk* N R)\n          (rem-subsumed-T (walk* T R)))))\n\n(define form\n  (lambda (v D Y N T)\n    (let ((fd (sort-D D))\n          (fy (sorter Y))\n          (fn (sorter N))\n          (ft (sorter T)))\n      (let ((fd (if (null? fd) fd\n                    (let ((fd (drop-dot-D fd)))\n                      `((=/= . ,fd)))))\n            (fy (if (null? fy) fy `((sym . ,fy))))\n            (fn (if (null? fn) fn `((num . ,fn))))\n            (ft (if (null? ft) ft\n                    (let ((ft (drop-dot ft)))\n                      `((absento . ,ft))))))\n        (cond\n          ((and (null? fd) (null? fy)\n                (null? fn) (null? ft))\n           v)\n          (else (append `(,v) fd fn fy ft)))))))\n\n(define sort-D\n  (lambda (D)\n    (sorter\n     (map sort-d D))))\n\n(define sort-d\n  (lambda (d)\n    (list-sort\n       (lambda (x y)\n         (lex<=? (car x) (car y)))\n       (map sort-pr d))))\n\n(define drop-dot-D\n  (lambda (D)\n    (map drop-dot D)))\n\n(define lex<-reified-name?\n  (lambda (r)\n    (char<?\n     (string-ref\n      (datum->string r) 0)\n     #\\_)))\n\n(define sort-pr\n  (lambda (pr)\n    (let ((l (lhs pr))\n          (r (rhs pr)))\n      (cond\n        ((lex<-reified-name? r) pr)\n        ((lex<=? r l) `(,r . ,l))\n        (else pr)))))\n\n(define rem-subsumed\n  (lambda (D)\n    (let rem-subsumed ((D D) (d^* '()))\n      (cond\n        ((null? D) d^*)\n        ((or (subsumed? (car D) (cdr D))\n             (subsumed? (car D) d^*))\n         (rem-subsumed (cdr D) d^*))\n        (else (rem-subsumed (cdr D)\n                (cons (car D) d^*)))))))\n\n(define subsumed?\n  (lambda (d d*)\n    (cond\n      ((null? d*) #f)\n      (else\n        (let-values (((S ignore) (unify* d (subst empty-subst-map nonlocal-scope))))\n          (let-values (((S+ added) (unify* (car d*) S)))\n            (or\n              (and S+ (null? added))\n              (subsumed? d (cdr d*)))))))))\n\n\n\n(define rem-xx-from-d\n  (lambdar@ (c : S D Y N T)\n    (let ((D (walk* D S)))\n      (remp not\n            (map (lambda (d)\n                   (let-values (((S0 ignore) (unify* d S)))\n                     (cond\n                       ((not S0) #f)\n                       ((==fail-check S0 '() Y N T) #f)\n                       (else\n                         (let-values (((S added) (unify* d (subst empty-subst-map nonlocal-scope))))\n                           added)))))\n                 D)))))\n\n(define rem-subsumed-T\n  (lambda (T)\n    (let rem-subsumed ((T T) (T^ '()))\n      (cond\n        ((null? T) T^)\n        (else\n         (let ((lit (lhs (car T)))\n               (big (rhs (car T))))\n           (cond\n             ((or (subsumed-T? lit big (cdr T))\n                  (subsumed-T? lit big T^))\n              (rem-subsumed (cdr T) T^))\n             (else (rem-subsumed (cdr T)\n                     (cons (car T) T^))))))))))\n\n(define subsumed-T?\n  (lambda (lit big T)\n    (cond\n      ((null? T) #f)\n      (else\n       (let ((lit^ (lhs (car T)))\n             (big^ (rhs (car T))))\n         (or\n           (and (eq? big big^) (member* lit^ lit))\n           (subsumed-T? lit big (cdr T))))))))\n\n(define LOF\n  (lambda ()\n    `(,drop-N-b/c-const ,drop-Y-b/c-const ,drop-Y-b/c-dup-var\n      ,drop-N-b/c-dup-var ,drop-D-b/c-Y-or-N ,drop-T-b/c-Y-and-N\n      ,move-T-to-D-b/c-t2-atom ,split-t-move-to-d-b/c-pair\n      ,drop-from-D-b/c-T ,drop-t-b/c-t2-occurs-t1)))\n\n"
  },
  {
    "path": "medikanren/open-api/ISB-KG-api.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require net/url)\n(require net/http-client)\n(require json)\n\n(define api-query\n  (lambda (api-url)\n    (call/input-url\n     (string->url api-url)\n     get-pure-port\n     (lambda (port)\n       (string->jsexpr (port->string port))))))\n\n;; ISB KP\n(define url-ISB\n  \"https://biothings.ncats.io/tcga_mut_freq_kp/metadata/fields\")\n\n(define ISB-query1\n  \"https://biothings.ncats.io/drug_response_kp/query?q=subject.SYMBOL:EGFR%20AND%20association.effect_size:%3C0%20AND%20association.pvalue:%3C0.05%20AND%20association.median_ic50_mut:%3C0&size=1000\")\n\n(api-query ISB-query1)\n\n#|\nTODO: modify Greg's code below to query ISB with structured\ncontents Subject, Object, pvalue, ic50\n\n;; Broad Institute KP\n(define url.broad\n  \"https://translator.broadinstitute.org/molepro_reasoner\")\n(define url.unsecret\n  \"https://unsecret.ncats.io\")\n(define path.predicates\n  \"/predicates\")\n(define path.query\n  \"/query\")\n\n(define (api-query url-string (optional-post-jsexpr (void)))\n  (define-values (status headers in)\n    (if (void? optional-post-jsexpr)\n      (http-sendrecv/url\n        (string->url url-string)\n        #:method \"GET\")\n      (http-sendrecv/url\n        (string->url url-string)\n        #:method \"POST\"\n        #:data (jsexpr->string optional-post-jsexpr)\n        #:headers '(\"Content-Type: application/json; charset=utf-8\"))))\n  (hash 'status status\n        'headers headers\n        'response (string->jsexpr (port->string in))))\n\n(define (js-query edges nodes)\n  (hash 'message\n        (hash 'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n\n;; test predicates available on Broad Institute KG\n;(pretty-print\n  ;(api-query (string-append url.broad path.predicates)))\n\n;(pretty-print\n  ;(api-query (string-append url.broad path.query)\n             ;(js-query (list (hash 'id        \"e00\"\n                                   ;'source_id \"n00\"\n                                   ;'target_id \"n01\"\n                                   ;'type      \"affects\"))\n                       ;(list (hash 'curie \"CID:2244\"\n                                   ;'id    \"n00\"\n                                   ;'type  \"chemical_substance\")\n                             ;(hash 'id    \"n01\"\n                                   ;'type  \"gene\")))))\n\n;(pretty-print\n  ;(api-query (string-append url.unsecret path.predicates)))\n\n(pretty-print\n  (api-query (string-append url.unsecret path.query)\n             (js-query (list (hash 'id        \"e00\"\n                                   'source_id \"n00\"\n                                   'target_id \"n01\"\n                                   'type      \"affects\"))\n                       (list (hash 'curie \"CHEBI:15365\"\n                                   'id    \"n00\"\n                                   'type  \"chemical_substance\")\n                             (hash 'id    \"n01\"\n                                   'type  \"gene\")))))\n\n\ndef buildQuery(genes):\n    # empty response\n    response = { \"query_graph\": dict(),\n                 \"knowledge_graph\": dict(),\n                 \"response\": dict()\n               }\n\n    # empty query graph\n    response[\"query_graph\"] = { \"edges\": [],\n                                \"nodes\": []\n                              }\n\n    # empty knowledge graph\n    response[\"knowledge_graph\"] = { \"edges\": [],\n                                    \"nodes\": []\n                                  }\n\n    # empty response graph\n    response[\"results\"] = { \"node_bindings\": [],\n                            \"edge_bindings\": []\n                          }\n\n    # nodes\n    nodeCount = 0\n    # edges\n    edgeCount = 0\n\n    # add in evidence genes\n    \n    for g in genes:\n        response['query_graph']['nodes'].append({ 'id':'n{}'.format(nodeCount),\n                                                  'type':'Gene',\n                                                  'name':'{}'.format(g[0]),\n                                                  'curie':'{}'.format(g[1])\n                                               })\n        nodeCount += 1\n\n    # grouping for genes\n    response['query_graph']['nodes'].append({ 'id':'n{}'.format(nodeCount),\n                                              'type':'gene_grouping'\n                                           })\n    nodeCount += 1\n    \n    # link genes over grouping\n    for n in response['query_graph']['nodes'][:-1]:\n        response['query_graph']['edges'].append({ 'id':'e{}'.format(edgeCount),\n                                                  'type':'part_of',\n                                                  'curie':['SEMMEDDB:PART_OF'],\n                                                  'source_id':n['id'],\n                                                  'target_id':'n{}'.format(nodeCount-1)\n                                               })\n        edgeCount += 1\n\n    # patient node\n    response['query_graph']['nodes'].append({ 'id':'n{}'.format(nodeCount),\n                                              'type':'patient',\n                                              'curie':['UMLSSC:T101']\n                                           })\n    nodeCount += 1\n\n    # link gene group to patient\n    response['query_graph']['edges'].append({ 'id':'e{}'.format(edgeCount),\n                                              'type':'expressed_in',\n                                              'curie':['RO:0002206'],\n                                              'source_id':'n{}'.format(nodeCount-2),\n                                              'target_id':'n{}'.format(nodeCount-1)\n                                           })\n    edgeCount += 1\n\n    # survival node\n    response['query_graph']['nodes'].append({ 'id': 'n{}'.format(nodeCount),\n                                              'type': 'PhenotypicFeature',\n                                              'curie': 'CHPDART:SURVIVAL',\n                                              'operator': '>=',\n                                              'value': '1000'\n                                           })\n    nodeCount += 1\n\n    # link patient to survival\n    response['query_graph']['edges'].append({ 'id':'e{}'.format(edgeCount),\n                                              'type':'has_phenotype',\n                                              'source_id':'n{}'.format(nodeCount-2),\n                                              'target_id':'n{}'.format(nodeCount-1)\n                                           })\n    edgeCount += 1\n\n    # BKB target\n    response['probability_targets'] = [('Survival_Time', '>=', 1000)]\n\n    return response\n\n\n\n\n\n\n|#\n"
  },
  {
    "path": "medikanren/open-api/TranslatorReasonersAPI.json",
    "content": "{\n    \"openapi\": \"3.0.1\",\n    \"info\": {\n        \"description\": \"OpenAPI for NCATS Biomedical Translator Reasoners\",\n        \"version\": \"1.0.0-beta\",\n        \"title\": \"OpenAPI for NCATS Biomedical Translator Reasoners\",\n        \"contact\": {\n            \"email\": \"edeutsch@systemsbiology.org\"\n        },\n        \"license\": {\n            \"name\": \"Apache 2.0\",\n            \"url\": \"http://www.apache.org/licenses/LICENSE-2.0.html\"\n        },\n        \"termsOfService\": \"INSERT-URL-HERE\"\n    },\n    \"externalDocs\": {\n        \"description\": \"Documentation for the NCATS Biomedical Translator Reasoners web services\",\n        \"url\": \"https://github.com/NCATS-Tangerine/NCATS-ReasonerStdAPI\"\n    },\n    \"tags\": [\n        {\n            \"name\": \"predicates\",\n            \"description\": \"Get supported relationships by source and target\",\n            \"externalDocs\": {\n                \"description\": \"Documentation for the reasoner predicates function\",\n                \"url\": \"http://reasonerhost.ncats.io/overview.html#predicates\"\n            }\n        },\n        {\n            \"name\": \"query\",\n            \"description\": \"Query reasoner using a predefined question type\",\n            \"externalDocs\": {\n                \"description\": \"Documentation for the reasoner query function\",\n                \"url\": \"http://reasonerhost.ncats.io/overview.html#query\"\n            }\n        },\n        {\n            \"name\": \"translator\"\n        },\n        {\n            \"name\": \"reasoner\"\n        }\n    ],\n    \"paths\": {\n        \"/predicates\": {\n            \"get\": {\n                \"tags\": [\n                    \"predicates\"\n                ],\n                \"summary\": \"Get supported relationships by source and target\",\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"Predicates by source and target\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"description\": \"Source map\",\n                                    \"type\": \"object\",\n                                    \"additionalProperties\": {\n                                        \"description\": \"Target map\",\n                                        \"type\": \"object\",\n                                        \"additionalProperties\": {\n                                            \"description\": \"Array of predicates\",\n                                            \"type\": \"array\",\n                                            \"items\": {\n                                                \"type\": \"string\"\n                                            }\n                                        }\n                                    },\n                                    \"example\": {\n                                        \"biolink:ChemicalSubstance\": {\n                                            \"biolink:Gene\": [\n                                                \"biolink:directly_interacts_with\",\n                                                \"biolink:decreases_activity_of\"\n                                            ]\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        },\n        \"/query\": {\n            \"post\": {\n                \"tags\": [\n                    \"query\"\n                ],\n                \"summary\": \"Query reasoner via one of several inputs\",\n                \"description\": \"\",\n                \"operationId\": \"query\",\n                \"requestBody\": {\n                    \"description\": \"Query information to be submitted\",\n                    \"required\": true,\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/Query\"\n                            }\n                        }\n                    }\n                },\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized.\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/Response\"\n                                }\n                            }\n                        }\n                    },\n                    \"400\": {\n                        \"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).\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    },\n                    \"500\": {\n                        \"description\": \"Internal server error.\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    },\n                    \"501\": {\n                        \"description\": \"Not implemented.\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    }\n                },\n                \"x-swagger-router-controller\": \"swagger_server.controllers.query_controller\"\n            }\n        }\n    },\n    \"components\": {\n        \"schemas\": {\n            \"Query\": {\n                \"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.\",\n                \"x-body-name\": \"request_body\",\n                \"type\": \"object\",\n                \"properties\": {\n                    \"message\": {\n                        \"$ref\": \"#/components/schemas/Message\",\n                        \"description\": \"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.\"\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"message\"\n                ]\n            },\n            \"Response\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"message\": {\n                        \"description\": \"Contains the knowledge of the response (query graph, knowledge graph, and results).\",\n                        \"$ref\": \"#/components/schemas/Message\"\n                    },\n                    \"status\": {\n                        \"description\": \"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable\",\n                        \"type\": \"string\",\n                        \"example\": \"Success\",\n                        \"nullable\": true\n                    },\n                    \"description\": {\n                        \"description\": \"A brief human-readable description of the outcome\",\n                        \"type\": \"string\",\n                        \"example\": \"Success. 42 results found.\",\n                        \"nullable\": true\n                    },\n                    \"logs\": {\n                        \"description\": \"Log entries containing errors, warnings, debugging information, etc\",\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/LogEntry\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"message\"\n                ]\n            },\n            \"Message\": {\n                \"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.\",\n                \"type\": \"object\",\n                \"properties\": {\n                    \"results\": {\n                        \"description\": \"List of all returned Result objects for the query posed\",\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Result\"\n                        },\n                        \"nullable\": true\n                    },\n                    \"query_graph\": {\n                        \"type\": \"object\",\n                        \"description\": \"QueryGraph object that contains a serialization of a query in the form of a graph\",\n                        \"$ref\": \"#/components/schemas/QueryGraph\",\n                        \"nullable\": true\n                    },\n                    \"knowledge_graph\": {\n                        \"type\": \"object\",\n                        \"description\": \"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message\",\n                        \"$ref\": \"#/components/schemas/KnowledgeGraph\",\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": false\n            },\n            \"LogEntry\": {\n                \"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.\",\n                \"type\": \"object\",\n                \"properties\": {\n                    \"timestamp\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"description\": \"Timestamp in ISO 8601 format\",\n                        \"example\": \"2020-09-03T18:13:49+00:00\",\n                        \"nullable\": true\n                    },\n                    \"level\": {\n                        \"type\": \"string\",\n                        \"description\": \"Logging level\",\n                        \"enum\": [\n                            \"ERROR\",\n                            \"WARNING\",\n                            \"INFO\",\n                            \"DEBUG\"\n                        ],\n                        \"nullable\": true\n                    },\n                    \"code\": {\n                        \"type\": \"string\",\n                        \"description\": \"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed\",\n                        \"nullable\": true\n                    },\n                    \"message\": {\n                        \"type\": \"string\",\n                        \"description\": \"A human-readable log message\",\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": true\n            },\n            \"Result\": {\n                \"type\": \"object\",\n                \"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).\",\n                \"properties\": {\n                    \"node_bindings\": {\n                        \"type\": \"object\",\n                        \"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.\",\n                        \"additionalProperties\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                                \"$ref\": \"#/components/schemas/NodeBinding\"\n                            }\n                        }\n                    },\n                    \"edge_bindings\": {\n                        \"type\": \"object\",\n                        \"description\": \"The dictionary of Input Query Graph to Result 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 in the result.\",\n                        \"additionalProperties\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                                \"$ref\": \"#/components/schemas/EdgeBinding\"\n                            }\n                        }\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"node_bindings\",\n                    \"edge_bindings\"\n                ]\n            },\n            \"NodeBinding\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"id\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"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 (such annotation is not yet fully standardized).\"\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"id\"\n                ]\n            },\n            \"EdgeBinding\": {\n                \"type\": \"object\",\n                \"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).\",\n                \"properties\": {\n                    \"id\": {\n                        \"type\": \"string\",\n                        \"description\": \"The key identifier of a specific KnowledgeGraph Edge.\"\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"id\"\n                ]\n            },\n            \"KnowledgeGraph\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"nodes\": {\n                        \"type\": \"object\",\n                        \"description\": \"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/Node\"\n                        }\n                    },\n                    \"edges\": {\n                        \"type\": \"object\",\n                        \"description\": \"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/Edge\"\n                        }\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"nodes\",\n                    \"edges\"\n                ]\n            },\n            \"QueryGraph\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"nodes\": {\n                        \"type\": \"object\",\n                        \"description\": \"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/QNode\"\n                        }\n                    },\n                    \"edges\": {\n                        \"type\": \"object\",\n                        \"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.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/QEdge\"\n                        }\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"nodes\",\n                    \"edges\"\n                ]\n            },\n            \"QNode\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"id\": {\n                        \"oneOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/CURIE\"\n                            },\n                            {\n                                \"type\": \"array\",\n                                \"items\": {\n                                    \"$ref\": \"#/components/schemas/CURIE\"\n                                }\n                            }\n                        ],\n                        \"example\": \"OMIM:603903\",\n                        \"description\": \"CURIE identifier for this node\",\n                        \"nullable\": true\n                    },\n                    \"category\": {\n                        \"oneOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/BiolinkEntity\"\n                            },\n                            {\n                                \"type\": \"array\",\n                                \"items\": {\n                                    \"$ref\": \"#/components/schemas/BiolinkEntity\"\n                                }\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"is_set\": {\n                        \"type\": \"boolean\",\n                        \"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.\",\n                        \"default\": false\n                    }\n                },\n                \"additionalProperties\": true\n            },\n            \"QEdge\": {\n                \"type\": \"object\",\n                \"description\": \"An edge in the QueryGraph used as an filter pattern specification in a query. If optional predicate or relation properties are not specified, they are assumed to be wildcard matches to the target knowledge space. If specified, the ontological inheritance hierarchy associated with the terms provided is assumed, such that edge bindings returned may be an exact match to the given QEdge predicate or relation term ('class'), or to a term which is a subclass of the QEdge specified term.\",\n                \"properties\": {\n                    \"predicate\": {\n                        \"oneOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n                            },\n                            {\n                                \"type\": \"array\",\n                                \"items\": {\n                                    \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n                                }\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"relation\": {\n                        \"type\": \"string\",\n                        \"example\": \"RO:0002447\",\n                        \"description\": \"Query constraint against the relationship type term of this edge, as originally specified by, or curated by inference from, the original external source of knowledge. Note that this should often be specified as predicate ontology term CURIE, although this may not be strictly enforced.\",\n                        \"nullable\": true\n                    },\n                    \"subject\": {\n                        \"type\": \"string\",\n                        \"example\": \"https://omim.org/entry/603903\",\n                        \"description\": \"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.\"\n                    },\n                    \"object\": {\n                        \"type\": \"string\",\n                        \"example\": \"https://www.uniprot.org/uniprot/P00738\",\n                        \"description\": \"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.\"\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"subject\",\n                    \"object\"\n                ]\n            },\n            \"Node\": {\n                \"type\": \"object\",\n                \"description\": \"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.\",\n                \"properties\": {\n                    \"name\": {\n                        \"type\": \"string\",\n                        \"example\": \"Haptoglobin\",\n                        \"description\": \"Formal name of the entity\",\n                        \"nullable\": true\n                    },\n                    \"category\": {\n                        \"oneOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/BiolinkEntity\"\n                            },\n                            {\n                                \"type\": \"array\",\n                                \"items\": {\n                                    \"$ref\": \"#/components/schemas/BiolinkEntity\"\n                                }\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"attributes\": {\n                        \"type\": \"array\",\n                        \"description\": \"A list of attributes describing the node\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Attribute\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": false\n            },\n            \"Attribute\": {\n                \"type\": \"object\",\n                \"description\": \"Generic attribute for a node or an edge that expands key-value pair concept by including a type of this attribute from a suitable ontology, a source of this attribute, and (optionally) a url with additional information about this attribute.\",\n                \"properties\": {\n                    \"name\": {\n                        \"type\": \"string\",\n                        \"description\": \"Human-readable name or label for the attribute. If appropriate, should be the name of the semantic type term.\",\n                        \"example\": \"PubMed Identifier\",\n                        \"nullable\": true\n                    },\n                    \"value\": {\n                        \"example\": 32529952,\n                        \"description\": \"Value of the attribute. May be any data type, including a list.\"\n                    },\n                    \"type\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"description\": \"CURIE of the semantic type of the attribute. For properties defined by the Biolink model this should be a biolink CURIE, otherwise, if possible, from the EDAM ontology. If a suitable identifier does not exist, enter a descriptive phrase here and submit the new type for consideration by the appropriate authority.\",\n                        \"example\": \"EDAM:data_1187\"\n                    },\n                    \"url\": {\n                        \"type\": \"string\",\n                        \"description\": \"Human-consumable URL to link out and provide additional information about the attribute (not the node or the edge).\",\n                        \"example\": \"https://pubmed.ncbi.nlm.nih.gov/32529952\",\n                        \"nullable\": true\n                    },\n                    \"source\": {\n                        \"type\": \"string\",\n                        \"description\": \"Source of the attribute, preferably as a CURIE prefix.\",\n                        \"example\": \"UniProtKB\",\n                        \"nullable\": true\n                    }\n                },\n                \"required\": [\n                    \"type\",\n                    \"value\"\n                ],\n                \"additionalProperties\": false\n            },\n            \"Edge\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"predicate\": {\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"relation\": {\n                        \"type\": \"string\",\n                        \"example\": \"RO:0002447\",\n                        \"description\": \"The relationship type term of this edge, originally specified by, or curated by inference from, the original source of knowledge. This should generally be specified as predicate ontology CURIE.\",\n                        \"nullable\": true\n                    },\n                    \"subject\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"example\": \"OMIM:603903\",\n                        \"description\": \"Corresponds to the map key CURIE of the subject concept node of this relationship edge.\"\n                    },\n                    \"object\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"example\": \"UniProtKB:P00738\",\n                        \"description\": \"Corresponds to the map key CURIE of the object concept node of this relationship edge.\"\n                    },\n                    \"attributes\": {\n                        \"type\": \"array\",\n                        \"description\": \"A list of additional attributes for this edge\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Attribute\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": false,\n                \"required\": [\n                    \"subject\",\n                    \"object\"\n                ]\n            },\n            \"BiolinkEntity\": {\n                \"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.\",\n                \"type\": \"string\",\n                \"pattern\": \"^biolink:[A-Z][a-zA-Z]*$\",\n                \"externalDocs\": {\n                    \"description\": \"Biolink model entities\",\n                    \"url\": \"https://biolink.github.io/biolink-model/docs/NamedThing.html\"\n                },\n                \"example\": \"biolink:PhenotypicFeature\"\n            },\n            \"BiolinkPredicate\": {\n                \"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.\",\n                \"type\": \"string\",\n                \"pattern\": \"^biolink:[a-z][a-z_]*$\",\n                \"externalDocs\": {\n                    \"description\": \"Biolink model predicates\",\n                    \"url\": \"https://biolink.github.io/biolink-model/docs/related_to.html\"\n                },\n                \"example\": \"biolink:interacts_with\"\n            },\n            \"CURIE\": {\n                \"type\": \"string\",\n                \"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.\",\n                \"externalDocs\": {\n                    \"url\": \"https://www.w3.org/TR/2010/NOTE-curie-20101216/\"\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "medikanren/open-api/TranslatorReasonersAPI.yaml",
    "content": "openapi: 3.0.1\ninfo:\n  description: OpenAPI for NCATS Biomedical Translator Reasoners\n  version: 1.0.0-beta\n  title: OpenAPI for NCATS Biomedical Translator Reasoners\n  contact:\n    email: webyrd@gmail.com\n    name: William E. Byrd\n    url: https://github.com/webyrd\n  license:\n    name: Apache 2.0\n    url: http://www.apache.org/licenses/LICENSE-2.0.html\n  termsOfService: INSERT-URL-HERE\n  x-translator:\n    component: ARA\n    team:\n    - \"Unsecret Agent\"\nexternalDocs:\n  description: >-\n    Documentation for the NCATS Biomedical Translator Reasoners web services.\n  url: https://github.com/NCATS-Tangerine/NCATS-ReasonerStdAPI\ntags:\n  - name: predicates\n    description: Get supported relationships by source and target\n    externalDocs:\n      description: Documentation for the reasoner predicates function\n      url: http://unsecret.ncats.io/overview.html#predicates\n  - name: query\n    description: Query reasoner using a predefined question type\n    externalDocs:\n      description: Documentation for the reasoner query function\n      url: http://unsecret.ncats.io/overview.html#query\n  - name: translator\n  - name: reasoner\npaths:\n  /predicates:\n    get:\n      tags:\n        - predicates\n      summary: Get supported relationships by source and target\n      responses:\n        '200':\n          description: Predicates by source and target\n          content:\n            application/json:\n              schema:\n                description: Source map\n                type: object\n                additionalProperties:\n                  description: Target map\n                  type: object\n                  additionalProperties:\n                    description: Array of predicates\n                    type: array\n                    items:\n                      type: string\n                example:\n                  'biolink:ChemicalSubstance':\n                    'biolink:Gene':\n                      - biolink:directly_interacts_with\n                      - biolink:decreases_activity_of\n  /query:\n    post:\n      tags:\n        - query\n      summary: Query reasoner via one of several inputs\n      description: ''\n      operationId: query\n      requestBody:\n        description: Query information to be submitted\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/Query'\n      responses:\n        '200':\n          description: >-\n            OK. There may or may not be results. Note that some of the provided\n            identifiers may not have been recognized.\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Response'\n        '400':\n          description: >-\n            Bad request. The request is invalid according to this OpenAPI\n            schema OR a specific identifier is believed to be invalid somehow\n            (not just unrecognized).\n          content:\n            application/json:\n              schema:\n                type: string\n        '500':\n          description: >-\n            Internal server error.\n          content:\n            application/json:\n              schema:\n                type: string\n        '501':\n          description: >-\n            Not implemented.\n          content:\n            application/json:\n              schema:\n                type: string\n      x-swagger-router-controller: swagger_server.controllers.query_controller\ncomponents:\n  schemas:\n    Query:\n      description: >-\n        The Query class is used to package a user request for information. A\n        Query object consists of a required Message object with optional\n        additional properties. Additional properties are intended to convey\n        implementation-specific or query-independent parameters. For example,\n        an additional property specifying a log level could allow a user to\n        override the default log level in order to receive more fine-grained\n        log information when debugging an issue.\n      x-body-name: request_body\n      type: object\n      properties:\n        message:\n          $ref: '#/components/schemas/Message'\n          description: >-\n            The query Message is a serialization of the user request. Content\n            of the Message object depends on the intended TRAPI operation. For\n            example, the fill operation requires a non-empty query_graph field\n            as part of the Message, whereas other operations, e.g. overlay,\n            require non-empty results and knowledge_graph fields.\n      additionalProperties: true\n      required:\n        - message\n    Response:\n      type: object\n      description: >-\n        The Response object contains the main payload when a TRAPI query\n        endpoint interprets and responds to the submitted query successfully\n        (i.e., HTTP Status Code 200). The message property contains the\n        knowledge of the response (query graph, knowledge graph, and results).\n        The status, description, and logs properties provide additional details\n        about the response.\n      properties:\n        message:\n          description: >-\n            Contains the knowledge of the response (query graph, knowledge\n            graph, and results).\n          $ref: '#/components/schemas/Message'\n        status:\n          description: >-\n            One of a standardized set of short codes,\n            e.g. Success, QueryNotTraversable, KPsNotAvailable\n          type: string\n          example: Success\n          nullable: true\n        description:\n          description: A brief human-readable description of the outcome\n          type: string\n          example: Success. 42 results found.\n          nullable: true\n        logs:\n          description: >-\n            Log entries containing errors, warnings, debugging information, etc\n          type: array\n          items:\n            $ref: '#/components/schemas/LogEntry'\n          nullable: true\n      additionalProperties: true\n      required:\n        - message\n    Message:\n      description: >-\n        The message object holds the main content of a Query or a Response in\n        three properties: query_graph, results, and knowledge_graph.\n        The query_graph property contains the query configuration, the results\n        property contains any answers that are returned by the service,\n        and knowledge_graph property contains lists of edges and nodes in the\n        thought graph corresponding to this message. The content of these\n        properties is context-dependent to the encompassing object and\n        the TRAPI operation requested.\n      type: object\n      properties:\n        results:\n          description: >-\n            List of all returned Result objects for the query posed\n          type: array\n          items:\n            $ref: '#/components/schemas/Result'\n          nullable: true\n        query_graph:\n          type: object\n          description: >-\n            QueryGraph object that contains a serialization of a query in the\n            form of a graph\n          $ref: '#/components/schemas/QueryGraph'\n          nullable: true\n        knowledge_graph:\n          type: object\n          description: >-\n            KnowledgeGraph object that contains lists of nodes and edges\n            in the thought graph corresponding to the message\n          $ref: '#/components/schemas/KnowledgeGraph'\n          nullable: true\n      additionalProperties: false\n    LogEntry:\n      description: >-\n        The LogEntry object contains information useful for tracing\n        and debugging across Translator components.  Although an\n        individual component (for example, an ARA or KP) may have its\n        own logging and debugging infrastructure, this internal\n        information is not, in general, available to other components.\n        In addition to a timestamp and logging level, LogEntry\n        includes a string intended to be read by a human, along with\n        one of a standardized set of codes describing the condition of\n        the component sending the message.\n      type: object\n      properties:\n        timestamp:\n          type: string\n          format: date-time\n          description: Timestamp in ISO 8601 format\n          example: '2020-09-03T18:13:49+00:00'\n          nullable: true\n        level:\n          type: string\n          description: Logging level\n          enum:\n            - ERROR\n            - WARNING\n            - INFO\n            - DEBUG\n          nullable: true\n        code:\n          type: string\n          description: >-\n            One of a standardized set of short codes\n            e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed\n          nullable: true\n        message:\n          type: string\n          description: A human-readable log message\n          nullable: true\n      additionalProperties: true\n    Result:\n      type: object\n      description: >-\n        A Result object specifies the nodes and edges in the knowledge graph\n        that satisfy the structure or conditions of a user-submitted query\n        graph. It must contain a NodeBindings object (list of query graph node\n        to knowledge graph node mappings) and an EdgeBindings object (list of\n        query graph edge to knowledge graph edge mappings).\n      properties:\n        node_bindings:\n          type: object\n          description: >-\n            The dictionary of Input Query Graph to Result Knowledge Graph node\n            bindings where the dictionary keys are the key identifiers of the\n            Query Graph nodes and the associated values of those keys are\n            instances of NodeBinding schema type (see below). This value is an\n            array of NodeBindings since a given query node may have multiple\n            knowledge graph Node bindings in the result.\n          additionalProperties:\n            type: array\n            items:\n              $ref: '#/components/schemas/NodeBinding'\n        edge_bindings:\n          type: object\n          description: >-\n            The dictionary of Input Query Graph to Result Knowledge Graph edge\n            bindings where the dictionary keys are the key identifiers of the\n            Query Graph edges and the associated values of those keys are\n            instances of EdgeBinding schema type (see below). This value is an\n            array of EdgeBindings since a given query edge may resolve to\n            multiple knowledge graph edges in the result.\n          additionalProperties:\n            type: array\n            items:\n              $ref: '#/components/schemas/EdgeBinding'\n      additionalProperties: true\n      required:\n        - node_bindings\n        - edge_bindings\n    NodeBinding:\n      type: object\n      properties:\n        id:\n          $ref: '#/components/schemas/CURIE'\n          description: >-\n            An instance of NodeBinding is a single KnowledgeGraph Node mapping,\n            identified by the corresponding 'id' object key identifier of the\n            Node within the Knowledge Graph. Instances of NodeBinding may\n            include extra annotation (such annotation is not yet fully\n            standardized).\n      additionalProperties: true\n      required:\n        - id\n    EdgeBinding:\n      type: object\n      description: >-\n        A instance of EdgeBinding is a single KnowledgeGraph Edge mapping,\n        identified by the corresponding 'id' object key identifier of the\n        Edge within the Knowledge Graph. Instances of EdgeBinding may include\n        extra annotation (such annotation is not yet fully standardized).\n      properties:\n        id:\n          type: string\n          description: The key identifier of a specific KnowledgeGraph Edge.\n      additionalProperties: true\n      required:\n        - id\n    KnowledgeGraph:\n      type: object\n      description: >-\n        The knowledge graph associated with a set of results. The instances\n        of Node and Edge defining this graph represent instances of\n        biolink:NamedThing (concept nodes) and biolink:Association\n        (relationship edges) representing (Attribute) annotated knowledge\n        returned from the knowledge sources and inference agents wrapped by\n        the given TRAPI implementation.\n      properties:\n        nodes:\n          type: object\n          description: >-\n            Dictionary of Node instances used in the KnowledgeGraph,\n            referenced elsewhere in the TRAPI output by the dictionary key.\n          additionalProperties:\n            $ref: '#/components/schemas/Node'\n        edges:\n          type: object\n          description: >-\n            Dictionary of Edge instances used in the KnowledgeGraph,\n            referenced elsewhere in the TRAPI output by the dictionary key.\n          additionalProperties:\n            $ref: '#/components/schemas/Edge'\n      additionalProperties: true\n      required:\n        - nodes\n        - edges\n    QueryGraph:\n      type: object\n      description: >-\n        A graph representing a biomedical question. It serves as a template for\n        each result (answer), where each bound knowledge graph node/edge is\n        expected to obey the constraints of the associated query graph element.\n      properties:\n        nodes:\n          type: object\n          description: >-\n            The node specifications. The keys of this map are unique node\n            identifiers and the corresponding values include the constraints\n            on bound nodes.\n          additionalProperties:\n            $ref: '#/components/schemas/QNode'\n        edges:\n          type: object\n          description: >-\n            The edge specifications. The keys of this map are unique edge\n            identifiers and the corresponding values include the constraints\n            on bound edges, in addition to specifying the subject and object\n            QNodes.\n          additionalProperties:\n            $ref: '#/components/schemas/QEdge'\n      additionalProperties: true\n      required:\n        - nodes\n        - edges\n    QNode:\n      type: object\n      description: A node in the QueryGraph used to represent an entity in a\n        query. If a CURIE is not specified, any nodes matching the category\n        of the QNode will be returned in the Results.\n      properties:\n        id:\n          oneOf:\n            - $ref: '#/components/schemas/CURIE'\n            - type: array\n              items:\n                $ref: '#/components/schemas/CURIE'\n          example: OMIM:603903\n          description: CURIE identifier for this node\n          nullable: true\n        category:\n          oneOf:\n            - $ref: '#/components/schemas/BiolinkEntity'\n            - type: array\n              items:\n                $ref: '#/components/schemas/BiolinkEntity'\n          nullable: true\n        is_set:\n          type: boolean\n          description: >-\n            Boolean that if set to true, indicates that this QNode MAY have\n            multiple KnowledgeGraph Nodes bound to it within each Result.\n            The nodes in a set should be considered as a set of independent\n            nodes, rather than a set of dependent nodes, i.e., the answer\n            would still be valid if the nodes in the set were instead returned\n            individually. Multiple QNodes may have is_set=True. If a QNode\n            (n1) with is_set=True is connected to a QNode (n2) with\n            is_set=False, each n1 must be connected to n2. If a QNode (n1)\n            with is_set=True is connected to a QNode (n2) with is_set=True,\n            each n1 must be connected to at least one n2.\n          default: false\n      additionalProperties: true\n    QEdge:\n      type: object\n      description: >-\n        An edge in the QueryGraph used as an filter pattern specification in a\n        query. If optional predicate or relation properties are not specified,\n        they are assumed to be wildcard matches to the target knowledge space.\n        If specified, the ontological inheritance hierarchy associated with\n        the terms provided is assumed, such that edge bindings returned may be\n        an exact match to the given QEdge predicate or relation term ('class'),\n        or to a term which is a subclass of the QEdge specified term.\n      properties:\n        predicate:\n          oneOf:\n            - $ref: '#/components/schemas/BiolinkPredicate'\n            - type: array\n              items:\n                $ref: '#/components/schemas/BiolinkPredicate'\n          nullable: true\n        relation:\n          type: string\n          example: RO:0002447\n          description: >-\n            Query constraint against the relationship type term of this edge,\n            as originally specified by, or curated by inference from, the\n            original external source of knowledge. Note that this should\n            often be specified as predicate ontology term CURIE, although\n            this may not be strictly enforced.\n          nullable: true\n        subject:\n          type: string\n          example: https://omim.org/entry/603903\n          description: >-\n            Corresponds to the map key identifier of the\n            subject concept node anchoring the query filter\n            pattern for the query relationship edge.\n        object:\n          type: string\n          example: https://www.uniprot.org/uniprot/P00738\n          description: >-\n            Corresponds to the map key identifier of the\n            object concept node anchoring the query filter\n            pattern for the query relationship edge.\n      additionalProperties: true\n      required:\n        - subject\n        - object\n    Node:\n      type: object\n      description: >-\n        A node in the KnowledgeGraph which represents some biomedical\n        concept. Nodes are identified by the keys in the KnowledgeGraph\n        Node mapping.\n      properties:\n        name:\n          type: string\n          example: Haptoglobin\n          description: Formal name of the entity\n          nullable: true\n        category:\n          oneOf:\n            - $ref: '#/components/schemas/BiolinkEntity'\n            - type: array\n              items:\n                $ref: '#/components/schemas/BiolinkEntity'\n          nullable: true\n        attributes:\n          type: array\n          description: A list of attributes describing the node\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n      additionalProperties: false\n    Attribute:\n      type: object\n      description: >-\n        Generic attribute for a node or an edge that expands key-value pair\n        concept by including a type of this attribute from a suitable ontology,\n        a source of this attribute, and (optionally) a url with additional\n        information about this attribute.\n      properties:\n        name:\n          type: string\n          description: >-\n            Human-readable name or label for the attribute. If appropriate,\n            should be the name of the semantic type term.\n          example: PubMed Identifier\n          nullable: true\n        value:\n          example: 32529952\n          description: >-\n            Value of the attribute. May be any data type, including a list.\n        type:\n          $ref: '#/components/schemas/CURIE'\n          description: >-\n            CURIE of the semantic type of the attribute. For properties\n            defined by the Biolink model this should be a biolink CURIE,\n            otherwise, if possible, from the EDAM ontology. If a suitable\n            identifier does not exist, enter a descriptive phrase here and\n            submit the new type for consideration by the appropriate\n            authority.\n          example: EDAM:data_1187\n        url:\n          type: string\n          description: >-\n            Human-consumable URL to link out and provide additional information\n            about the attribute (not the node or the edge).\n          example: https://pubmed.ncbi.nlm.nih.gov/32529952\n          nullable: true\n        source:\n          type: string\n          description: Source of the attribute, preferably as a CURIE prefix.\n          example: UniProtKB\n          nullable: true\n      required:\n        - type\n        - value\n      additionalProperties: false\n    Edge:\n      type: object\n      description: >-\n        A specification of the semantic relationship linking two concepts\n        that are expressed as nodes in the knowledge \"thought\" graph\n        resulting from a query upon the underlying knowledge source.\n      properties:\n        predicate:\n          allOf:\n            - $ref: '#/components/schemas/BiolinkPredicate'\n          nullable: true\n        relation:\n          type: string\n          example: RO:0002447\n          description: >-\n            The relationship type term of this edge, originally specified by,\n            or curated by inference from, the original source of knowledge.\n            This should generally be specified as predicate ontology CURIE.\n          nullable: true\n        subject:\n          $ref: '#/components/schemas/CURIE'\n          example: OMIM:603903\n          description: >-\n            Corresponds to the map key CURIE of the\n            subject concept node of this relationship edge.\n        object:\n          $ref: '#/components/schemas/CURIE'\n          example: UniProtKB:P00738\n          description: >-\n            Corresponds to the map key CURIE of the\n            object concept node of this relationship edge.\n        attributes:\n          type: array\n          description: A list of additional attributes for this edge\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n      additionalProperties: false\n      required:\n        - subject\n        - object\n    BiolinkEntity:\n      description: >-\n        Compact URI (CURIE) for a Biolink class, biolink:NamedThing\n        or a child thereof. The CURIE must use the prefix 'biolink:'\n        followed by the PascalCase class name.\n      type: string\n      pattern: ^biolink:[A-Z][a-zA-Z]*$\n      externalDocs:\n        description: Biolink model entities\n        url: https://biolink.github.io/biolink-model/docs/NamedThing.html\n      example: biolink:PhenotypicFeature\n    BiolinkPredicate:\n      description: >-\n        CURIE for a Biolink 'predicate' slot, taken from the Biolink slot\n        ('is_a') hierarchy rooted in biolink:related_to (snake_case). This\n        predicate defines the Biolink relationship between the subject and\n        object nodes of a biolink:Association defining a knowledge graph edge.\n      type: string\n      pattern: ^biolink:[a-z][a-z_]*$\n      externalDocs:\n        description: Biolink model predicates\n        url: https://biolink.github.io/biolink-model/docs/related_to.html\n      example: biolink:interacts_with\n    CURIE:\n      type: string\n      description: >-\n        A Compact URI, consisting of a prefix and a reference separated\n        by a colon, such as UniProtKB:P00738. Via an external context\n        definition, the CURIE prefix and colon may be replaced by a URI\n        prefix, such as http://identifiers.org/uniprot/, to form a full\n        URI.\n      externalDocs:\n        url: https://www.w3.org/TR/2010/NOTE-curie-20101216/\n"
  },
  {
    "path": "medikanren/open-api/api-query.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"../mk.rkt\" json net/url)\n(require \"../common.rkt\")\n\n(define (js-count js)\n  (cond ((pair? js) (foldl + 0 (map js-count js)))\n        ((hash? js) (foldl + 0 (hash-map js (lambda (k v) (js-count v)))))\n        (else       1)))\n\n;; BKB Pathway Provider (currently uses a non-standard query path)\n(define url.bkbp-query\n  \"http://chp.thayer.dartmouth.edu/submitQuery/\")\n\n;; Broad Institute KP\n(define url.broad\n  \"https://translator.broadinstitute.org/molepro/trapi/v1.0\")\n\n;; Broad Institute KP specific for CHEMBL queries\n(define url.broad_chembl\n  \"https://translator.broadinstitute.org/chembl\")\n\n(define chembl-drug-indications/transform\n  \"/indications/transform\")\n\n(define url.unsecret\n  \"https://unsecret.ncats.io\")\n(define path.predicates\n  \"/predicates\")\n(define path.query\n  \"/query\")\n\n(define (api-query url-string (optional-post-jsexpr (void)))\n  (define-values (status headers in)\n    (time (if (void? optional-post-jsexpr)\n            (http-sendrecv/url\n              (string->url url-string)\n              #:method \"GET\")\n            (http-sendrecv/url\n              (string->url url-string)\n              #:method \"POST\"\n              #:data (jsexpr->string optional-post-jsexpr)\n              #:headers '(\"Content-Type: application/json; charset=utf-8\")))))\n  (define response-string (time (port->string in)))\n  ;(pretty-print `(,status ,headers ,response-string))\n  (hash 'status status\n        'headers headers\n        'response (string->jsexpr response-string)))\n\n(define (js-query edges nodes)\n  (hash 'message\n        (hash 'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n\n(define (js-query/bkbp edges nodes)\n  (hash 'query\n        (hash 'reasoner_id \"unsecret\"\n              'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n(define (bkbp-query edges nodes)\n  (api-query url.bkbp-query (js-query/bkbp edges nodes)))\n\n(define (bkbp-g2d e s o)  (hash 'id e  'type \"gene_to_disease_association\"      'source_id s 'target_id o))\n(define (bkbp-d2p e s o)  (hash 'id e  'type \"disease_to_phenotype_association\" 'source_id s 'target_id o 'value 1000))\n(define (bkbp-g id curie) (hash 'id id 'type \"Gene\"              'curie curie))\n(define (bkbp-d id curie) (hash 'id id 'type \"disease\"           'curie curie))\n(define (bkbp-p id curie) (hash 'id id 'type \"PhenotypicFeature\" 'curie curie))\n\n;{'query':\n;  {'query_graph':\n;    {'edges':\n;      [{'id': 'e0', 'type': 'gene_to_disease_association', 'source_id': 'n0', 'target_id': 'n2'},\n;       {'id': 'e1', 'type': 'gene_to_disease_association', 'source_id': 'n1', 'target_id': 'n2'},\n;       {'id': 'e2', 'type': 'disease_to_phenotype_association', 'value': 1000, 'source_id': 'n2', 'target_id': 'n3'}],\n;     'nodes':\n;      [{'id': 'n0', 'type': 'Gene', 'curie':              'ENSEMBL:ENSG00000132155'},\n;       {'id': 'n1', 'type': 'Gene', 'curie':              'ENSEMBL:ENSG00000073803'},\n;       {'id': 'n2', 'type': 'disease', 'curie':           'MONDO:0007254'},\n;       {'id': 'n3', 'type': 'PhenotypicFeature', 'curie': 'EFO:0000714'}]},\n;  'reasoner_id': 'unsecret'}}\n(define bkbp-edges\n  (list (bkbp-g2d \"e0\" \"n0\" \"n2\")\n        (bkbp-g2d \"e1\" \"n1\" \"n2\")\n        (bkbp-d2p \"e2\" \"n2\" \"n3\")))\n(define bkbp-nodes\n  (list (bkbp-g \"n0\" \"ENSEMBL:ENSG00000132155\")\n        (bkbp-g \"n1\" \"ENSEMBL:ENSG00000073803\")\n        (bkbp-d \"n2\" \"MONDO:0007254\")\n        (bkbp-p \"n3\" \"EFO:0000714\")))\n;(define response (bkbp-query bkbp-edges bkbp-nodes))\n\n;\n;{\"query\":\n;  {\"query_graph\":\n;    {\"edges\":\n;      [{\"target_id\":\"d00\",\"type\":\"gene_to_disease_association\",\"source_id\":\"g00\",\"id\":\"e00\"}],\n;     \"nodes\":\n;      [{\"type\":\"Gene\",\"curie\":\"ENSEMBLE:ENSG00000132155\",\"id\":\"g00\"},\n;       {\"type\":\"disease\",\"curie\":\"MONDO:0007254\",\"id\":\"d00\"}]},\n;  \"reasoner_id\": \"unsecret\"}}\n\n;; (define RAF1 (hash 'id \"g00\" 'type \"Gene\" 'curie \"ENSEMBLE:ENSG00000132155\"))\n;; (define (g2d e s o) (hash 'id e 'type \"gene_to_disease_association\" 'source_id s 'target_id o))\n;; (define breast-cancer (hash 'id \"d00\" 'type \"disease\" 'curie \"MONDO:0007254\"))\n;; (define MAP3K13 (hash 'id \"g01\" 'type \"Gene\" 'curie \"ENSEMBL:ENSG00000073803\"))\n;; (displayln (jsexpr->string (apply js-query/bkbp (reverse (list (list RAF1 breast-cancer) (list (g2d \"e00\" \"g00\" \"d00\")))))))\n;; (bkbp-query (list (g2d \"e00\" \"g00\" \"d00\") (list RAF1 breast-cancer))\n\n;(define (bkb-pathwayo subject subject-type verb object object-type)\n  ;(project (subject subject-type verb object object-type)\n    ;(let ()\n      ;(when (or (var? verb) (var? subject-type) (var? object-type)\n                ;(and (var? subject) (var? object)))\n        ;(error \"verb, types, and subject or object curie must be ground\"))\n      ;(define edges (list (hash 'id        \"e00\"\n                                ;'source_id \"n00\"\n                                ;'target_id \"n01\"\n                                ;'type      verb)))\n      ;(define subject-node\n        ;(make-immutable-hash\n          ;(append (if (var? subject) '() `((curie . ,subject)))\n                  ;`((id . \"n00\") (type . ,subject-type)))))\n      ;(define object-node\n        ;(make-immutable-hash\n          ;(append (if (var? object) '() `((curie . ,object)))\n                  ;`((id . \"n01\") (type . ,object-type)))))\n      ;(define nodes (list subject-node object-node))\n      ;(define results\n        ;(hash-ref\n          ;(hash-ref\n            ;(hash-ref (api-query (string-append url.broad path.query)\n                                 ;(js-query edges nodes))\n                      ;'response)\n            ;'knowledge_graph)\n          ;'edges))\n      ;;(pretty-print results)\n      ;;(pretty-print edges)\n      ;;(pretty-print nodes)\n      ;(let loop ((results results))\n        ;(if (null? results) (== #t #f)\n          ;(let ((e (car results)))\n            ;;; NOTE: this conditional equality constraint is due to the fact\n            ;;; that molepro doesn't return the same curies you put in.\n            ;(conde ((if (var? subject) (== subject (hash-ref e 'source_id))\n                      ;(== #t #t))\n                    ;(if (var? object) (== object  (hash-ref e 'target_id))\n                      ;(== #t #t)))\n                   ;((loop (cdr results))))))))))\n\n(define (molepro-edgeo subject subject-type verb object object-type)\n  (project (subject subject-type verb object object-type)\n    (let ()\n      (when (or (var? verb) (var? subject-type) (var? object-type)\n                (and (var? subject) (var? object)))\n        (error \"verb, types, and subject or object curie must be ground\"))\n      (define edges (list (hash 'id        \"e00\"\n                                'source_id \"n00\"\n                                'target_id \"n01\"\n                                'type      verb)))\n      (define subject-node\n        (make-immutable-hash\n          (append (if (var? subject) '() `((curie . ,subject)))\n                  `((id . \"n00\") (type . ,subject-type)))))\n      (define object-node\n        (make-immutable-hash\n          (append (if (var? object) '() `((curie . ,object)))\n                  `((id . \"n01\") (type . ,object-type)))))\n      (define nodes (list subject-node object-node))\n      (define results\n        (hash-ref\n          (hash-ref\n            (hash-ref (api-query (string-append url.broad path.query)\n                                 (js-query edges nodes))\n                      'response)\n            'knowledge_graph)\n          'edges))\n      ;(pretty-print results)\n      ;(pretty-print edges)\n      ;(pretty-print nodes)\n      (let loop ((results results))\n        (if (null? results) (== #t #f)\n          (let ((e (car results)))\n            ;; NOTE: this conditional equality constraint is due to the fact\n            ;; that molepro doesn't return the same curies you put in.\n            (conde ((if (var? subject) (== subject (hash-ref e 'source_id))\n                      (== #t #t))\n                    (if (var? object) (== object  (hash-ref e 'target_id))\n                      (== #t #t)))\n                   ((loop (cdr results))))))))))\n\n(module+ main\n  (pretty-print (api-query (string-append url.broad path.predicates)))\n\n  (run* (g) (molepro-edgeo \"CID:2244\" \"chemical_substance\" \"affects\" g \"gene\"))\n  ;(run 1 (g) (molepro-edgeo \"CHEBI:15365\" \"chemical_substance\" \"affects\" g \"gene\"))\n  ;(run 1 (c) (molepro-edgeo c \"chemical_substance\" \"affects\" \"HGNC:7645\" \"gene\"))\n  (run* (c) (molepro-edgeo \"HGNC:7645\" \"gene\" \"affected_by\" c \"chemical_substance\"))\n\n  ;(pretty-print\n     ;(api-query (string-append url.broad path.query)\n              ;(js-query (list (hash 'id        \"e00\"\n                                    ;'source_id \"n00\"\n                                    ;'target_id \"n01\"\n                                    ;'type      \"affects\"))\n                        ;(list (hash 'curie \"CID:2244\"\n                                    ;'id    \"n00\"\n                                    ;'type  \"chemical_substance\"\n                                    ;)\n                              ;(hash 'id    \"n01\"\n                                    ;'type  \"gene\")))))\n  )\n\n(module+ old-main\n  ;; test predicates available on Broad Institute KG\n #;(pretty-print\n   (api-query (string-append url.broad path.predicates)))\n\n  #;(pretty-print\n     (api-query (string-append url.broad path.query)\n              (js-query (list (hash 'id        \"e00\"\n                                    'source_id \"n00\"\n                                    'target_id \"n01\"\n                                    'type      \"affects\"))\n                        (list (hash 'curie \"CID:2244\"\n                                    'id    \"n00\"\n                                    'type  \"chemical_substance\")\n                              (hash 'id    \"n01\"\n                                    'type  \"gene\")))))\n\n  #;(js-count\n    (time (api-query (string-append url.unsecret path.predicates))))\n\n  #;(pretty-print\n    (time\n      (api-query (string-append url.unsecret path.query)\n                (js-query (list (hash 'id        \"e00\"\n                                       'source_id \"n00\"\n                                       'target_id \"n01\"\n                                       'type      \"causes\"))\n                           (list (hash 'curie \"UMLS:C0004096\"\n                                       'id    \"n01\"\n                                       'type  \"disease\")\n                                 (hash 'id    \"n00\"\n                                       'type  \"gene\"))))))\n\n  #;(pretty-print\n    (time\n       (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"causes\"))\n                            (list (hash 'curie \"UMLS:C0004096\"\n                                        'id    \"n01\"\n                                        'type  \"disease\")\n                                  (hash 'id    \"n00\"\n                                        'type  \"gene\"))))))\n\n  #;(pretty-print\n    (time (api-query (string-append url.unsecret path.query)\n                     (js-query (list (hash 'id        \"e00\"\n                                           'source_id \"n00\"\n                                           'target_id \"n01\"\n                                           'type      \"affects\"))\n                               (list (hash 'curie \"CID:2244\"\n                                           'id    \"n00\"\n                                           'type  \"chemical_substance\")\n                                     (hash 'id    \"n01\"\n                                           'type  \"gene\"))))))\n\n\n\n#|NOTES FOR SEPTEMBER 2020 RELAY API CALLS|#\n\n#|\n\n1. all \"NO-evidence/provenance\" queries are to the base broad.url\n\"https://translator.broadinstitute.org/molepro_reasoner\n\n2. all \"LIMITED evidence/provenance\" queries are to the chembl url\n\"https://translator.broadinstitute.org/chembl\"\n\n|#\n\n;;MOLEPRO drug --treats--> disease query w/ NO EVIDENCE\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"treats\"))\n                            (list (hash 'curie \"ChEMBL:CHEMBL25\"\n                                        'id    \"n00\"\n                                        'type  \"chemical_substance\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"disease\"))))))\n\n;; new query structure for chembl specific provenance/evidence queries\n(define (js-query/transform curie)\n  (hash 'collection\n        (list\n         (hash\n          'id \"\"\n          'identifiers\n          (hash\n           'chembl curie)))\n        'controls '()))\n\n#|\n;; {} = hash                            ;\n;; [] = list                            ;\n;; key:value                            ;\n                                        ;\nQUERY/TRANSFORM QUERY STRUCTURE         ;\n------------------------------\n\nquery = {\n    'collection': [{\n            'id':'',\n            'identifiers': {'chembl':'ChEMBL:CHEMBL25'}\n        }],\n    'controls':[]\n}\n|#\n\n;; addition provenance/evidence for drug indication query\n(when (config-ref 'trapi-enable-external-requests?)\n  (begin\n(pretty-print\n (time\n  (api-query\n   (string-append (string-append url.broad_chembl chembl-drug-indications/transform))\n   (js-query/transform\n    \"ChEMBL:CHEMBL25\"))))\n\n\n;; STRING gene->gene edge\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"related_to\"))\n                            (list (hash 'curie \"HGNC:4556\"\n                                        'id    \"n00\"\n                                        'type  \"gene\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"gene\"))))))\n\n;; CMAP gene-to-compound query\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"correlated_with\"))\n                            (list (hash 'curie \"HGNC:4556\"\n                                        'id    \"n00\"\n                                        'type  \"gene\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"chemical_substance\"))))))\n\n;; CMAP gene-to-gene query\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"correlated_with\"))\n                            (list (hash 'curie \"HGNC:4556\"\n                                        'id    \"n00\"\n                                        'type  \"gene\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"gene\"))))))\n\n;; CMAP gene-to-gene query\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"correlated_with\"))\n                            (list (hash 'curie \"HGNC:4556\"\n                                        'id    \"n00\"\n                                        'type  \"gene\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"gene\"))))))\n))\n\n)\n"
  },
  {
    "path": "medikanren/open-api/html/.swagger-codegen/VERSION",
    "content": "3.0.14"
  },
  {
    "path": "medikanren/open-api/html/.swagger-codegen-ignore",
    "content": "# Swagger Codegen Ignore\n# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen\n\n# Use this file to prevent files from being overwritten by the generator.\n# The patterns follow closely to .gitignore or .dockerignore.\n\n# As an example, the C# client generator defines ApiClient.cs.\n# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:\n#ApiClient.cs\n\n# You can match any string of characters against a directory, file or extension with a single asterisk (*):\n#foo/*/qux\n# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux\n\n# You can recursively match patterns against a directory, file or extension with a double asterisk (**):\n#foo/**/qux\n# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux\n\n# You can also negate patterns with an exclamation (!).\n# For example, you can ignore all files in a docs folder with the file extension .md:\n#docs/*.md\n# Then explicitly reverse the ignore rule for a single file:\n#!docs/README.md\n"
  },
  {
    "path": "medikanren/open-api/html/index.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <title>OpenAPI for NCATS Biomedical Translator Reasoners</title>\n    <style type=\"text/css\">\n      body {\n      \tfont-family: Trebuchet MS, sans-serif;\n      \tfont-size: 15px;\n      \tcolor: #444;\n      \tmargin-right: 24px;\n      }\n\n      h1\t{\n      \tfont-size: 25px;\n      }\n      h2\t{\n      \tfont-size: 20px;\n      }\n      h3\t{\n      \tfont-size: 16px;\n      \tfont-weight: bold;\n      }\n      hr\t{\n      \theight: 1px;\n      \tborder: 0;\n      \tcolor: #ddd;\n      \tbackground-color: #ddd;\n      }\n\n      .app-desc {\n        clear: both;\n        margin-left: 20px;\n      }\n      .param-name {\n        width: 100%;\n      }\n      .license-info {\n        margin-left: 20px;\n      }\n\n      .license-url {\n        margin-left: 20px;\n      }\n\n      .model {\n        margin: 0 0 0px 20px;\n      }\n\n      .method {\n        margin-left: 20px;\n      }\n\n      .method-notes\t{\n      \tmargin: 10px 0 20px 0;\n      \tfont-size: 90%;\n      \tcolor: #555;\n      }\n\n      pre {\n        padding: 10px;\n        margin-bottom: 2px;\n      }\n\n      .http-method {\n       text-transform: uppercase;\n      }\n\n      pre.get {\n        background-color: #0f6ab4;\n      }\n\n      pre.post {\n        background-color: #10a54a;\n      }\n\n      pre.put {\n        background-color: #c5862b;\n      }\n\n      pre.delete {\n        background-color: #a41e22;\n      }\n\n      .huge\t{\n      \tcolor: #fff;\n      }\n\n      pre.example {\n        background-color: #f3f3f3;\n        padding: 10px;\n        border: 1px solid #ddd;\n      }\n\n      code {\n        white-space: pre;\n      }\n\n      .nickname {\n        font-weight: bold;\n      }\n\n      .method-path {\n        font-size: 1.5em;\n        background-color: #0f6ab4;\n      }\n\n      .up {\n        float:right;\n      }\n\n      .parameter {\n        width: 500px;\n      }\n\n      .param {\n        width: 500px;\n        padding: 10px 0 0 20px;\n        font-weight: bold;\n      }\n\n      .param-desc {\n        width: 700px;\n        padding: 0 0 0 20px;\n        color: #777;\n      }\n\n      .param-type {\n        font-style: italic;\n      }\n\n      .param-enum-header {\n      width: 700px;\n      padding: 0 0 0 60px;\n      color: #777;\n      font-weight: bold;\n      }\n\n      .param-enum {\n      width: 700px;\n      padding: 0 0 0 80px;\n      color: #777;\n      font-style: italic;\n      }\n\n      .field-label {\n        padding: 0;\n        margin: 0;\n        clear: both;\n      }\n\n      .field-items\t{\n      \tpadding: 0 0 15px 0;\n      \tmargin-bottom: 15px;\n      }\n\n      .return-type {\n        clear: both;\n        padding-bottom: 10px;\n      }\n\n      .param-header {\n        font-weight: bold;\n      }\n\n      .method-tags {\n        text-align: right;\n      }\n\n      .method-tag {\n        background: none repeat scroll 0% 0% #24A600;\n        border-radius: 3px;\n        padding: 2px 10px;\n        margin: 2px;\n        color: #FFF;\n        display: inline-block;\n        text-decoration: none;\n      }\n    </style>\n  </head>\n  <body>\n  <h1>OpenAPI for NCATS Biomedical Translator Reasoners</h1>\n    <div class=\"app-desc\">OpenAPI for NCATS Biomedical Translator Reasoners</div>\n    <div class=\"app-desc\">More information: <a href=\"https://helloreverb.com\">https://helloreverb.com</a></div>\n    <div class=\"app-desc\">Contact Info: <a href=\"edeutsch@systemsbiology.org\">edeutsch@systemsbiology.org</a></div>\n    <div class=\"app-desc\">Version: 0.9.2</div>\n\n    <div class=\"license-info\">Apache 2.0</div>\n    <div class=\"license-url\">http://www.apache.org/licenses/LICENSE-2.0.html</div>\n  <h2>Access</h2>\n\n  <h2><a name=\"__Methods\">Methods</a></h2>\n  [ Jump to <a href=\"#__Models\">Models</a> ]\n\n  <h3>Table of Contents </h3>\n  <div class=\"method-summary\"></div>\n  <h4><a href=\"#Predicates\">Predicates</a></h4>\n  <ul>\n  <li><a href=\"#predicatesGet\"><code><span class=\"http-method\">get</span> /predicates</code></a></li>\n  </ul>\n  <h4><a href=\"#Query\">Query</a></h4>\n  <ul>\n  <li><a href=\"#query\"><code><span class=\"http-method\">post</span> /query</code></a></li>\n  </ul>\n\n  <h1><a name=\"Predicates\">Predicates</a></h1>\n  <div class=\"method\"><a name=\"predicatesGet\"></a>\n    <div class=\"method-path\">\n    <a class=\"up\" href=\"#__Methods\">Up</a>\n    <pre class=\"get\"><code class=\"huge\"><span class=\"http-method\">get</span> /predicates</code></pre></div>\n    <div class=\"method-summary\">Get supported relationships by source and target (<span class=\"nickname\">predicatesGet</span>)</div>\n    <div class=\"method-notes\"></div>\n\n\n\n\n\n\n\n    <h3 class=\"field-label\">Return type</h3>\n    <div class=\"return-type\">\n\n      map[String, map[String, array[String]]]\n    </div>\n\n    <!--Todo: process Response Object and its headers, schema, examples -->\n\n    <h3 class=\"field-label\">Example data</h3>\n    <div class=\"example-data-content-type\">Content-Type: application/json</div>\n    <pre class=\"example\"><code>{\n  \"chemical_substance\" : {\n    \"gene\" : [ \"directly_interacts_with\", \"decreases_activity_of\" ]\n  }\n}</code></pre>\n\n    <h3 class=\"field-label\">Produces</h3>\n    This API call produces the following media types according to the <span class=\"header\">Accept</span> request header;\n    the media type will be conveyed by the <span class=\"header\">Content-Type</span> response header.\n    <ul>\n      <li><code>application/json</code></li>\n    </ul>\n\n    <h3 class=\"field-label\">Responses</h3>\n    <h4 class=\"field-label\">200</h4>\n    Predicates by source and target\n\n  </div> <!-- method -->\n  <hr/>\n  <h1><a name=\"Query\">Query</a></h1>\n  <div class=\"method\"><a name=\"query\"></a>\n    <div class=\"method-path\">\n    <a class=\"up\" href=\"#__Methods\">Up</a>\n    <pre class=\"post\"><code class=\"huge\"><span class=\"http-method\">post</span> /query</code></pre></div>\n    <div class=\"method-summary\">Query reasoner via one of several inputs (<span class=\"nickname\">query</span>)</div>\n    <div class=\"method-notes\"></div>\n\n\n    <h3 class=\"field-label\">Consumes</h3>\n    This API call consumes the following media types via the <span class=\"header\">Content-Type</span> request header:\n    <ul>\n      <li><code>application/json</code></li>\n    </ul>\n\n    <h3 class=\"field-label\">Request body</h3>\n    <div class=\"field-items\">\n      <div class=\"param\">body <a href=\"#map\">map</a> (required)</div>\n\n            <div class=\"param-desc\"><span class=\"param-type\">Body Parameter</span> &mdash; Query information to be submitted </div>\n                </div>  <!-- field-items -->\n\n\n\n\n    <h3 class=\"field-label\">Return type</h3>\n    <div class=\"return-type\">\n      <a href=\"#Message\">Message</a>\n\n    </div>\n\n    <!--Todo: process Response Object and its headers, schema, examples -->\n\n    <h3 class=\"field-label\">Example data</h3>\n    <div class=\"example-data-content-type\">Content-Type: application/json</div>\n    <pre class=\"example\"><code>{\n  \"knowledge_graph\" : \"\",\n  \"results\" : [ {\n    \"edge_bindings\" : [ {\n      \"kg_id\" : \"\",\n      \"qg_id\" : \"qg_id\"\n    }, {\n      \"kg_id\" : \"\",\n      \"qg_id\" : \"qg_id\"\n    } ],\n    \"node_bindings\" : [ {\n      \"kg_id\" : \"\",\n      \"qg_id\" : \"qg_id\"\n    }, {\n      \"kg_id\" : \"\",\n      \"qg_id\" : \"qg_id\"\n    } ]\n  }, {\n    \"edge_bindings\" : [ {\n      \"kg_id\" : \"\",\n      \"qg_id\" : \"qg_id\"\n    }, {\n      \"kg_id\" : \"\",\n      \"qg_id\" : \"qg_id\"\n    } ],\n    \"node_bindings\" : [ {\n      \"kg_id\" : \"\",\n      \"qg_id\" : \"qg_id\"\n    }, {\n      \"kg_id\" : \"\",\n      \"qg_id\" : \"qg_id\"\n    } ]\n  } ],\n  \"query_graph\" : {\n    \"nodes\" : [ {\n      \"curie\" : \"OMIM:603903\",\n      \"id\" : \"n00\",\n      \"type\" : \"\"\n    }, {\n      \"curie\" : \"OMIM:603903\",\n      \"id\" : \"n00\",\n      \"type\" : \"\"\n    } ],\n    \"edges\" : [ {\n      \"target_id\" : \"https://www.uniprot.org/uniprot/P00738\",\n      \"id\" : \"e00\",\n      \"source_id\" : \"https://omim.org/entry/603903\",\n      \"type\" : \"\"\n    }, {\n      \"target_id\" : \"https://www.uniprot.org/uniprot/P00738\",\n      \"id\" : \"e00\",\n      \"source_id\" : \"https://omim.org/entry/603903\",\n      \"type\" : \"\"\n    } ]\n  }\n}</code></pre>\n\n    <h3 class=\"field-label\">Produces</h3>\n    This API call produces the following media types according to the <span class=\"header\">Accept</span> request header;\n    the media type will be conveyed by the <span class=\"header\">Content-Type</span> response header.\n    <ul>\n      <li><code>application/json</code></li>\n    </ul>\n\n    <h3 class=\"field-label\">Responses</h3>\n    <h4 class=\"field-label\">200</h4>\n    successful operation\n        <a href=\"#Message\">Message</a>\n    <h4 class=\"field-label\">400</h4>\n    Invalid status value\n        <a href=\"#\"></a>\n  </div> <!-- method -->\n  <hr/>\n\n  <h2><a name=\"__Models\">Models</a></h2>\n  [ Jump to <a href=\"#__Methods\">Methods</a> ]\n\n  <h3>Table of Contents</h3>\n  <ol>\n    <li><a href=\"#BiolinkEntity\"><code>BiolinkEntity</code></a></li>\n    <li><a href=\"#BiolinkRelation\"><code>BiolinkRelation</code></a></li>\n    <li><a href=\"#Credentials\"><code>Credentials</code></a></li>\n    <li><a href=\"#Edge\"><code>Edge</code></a></li>\n    <li><a href=\"#EdgeBinding\"><code>EdgeBinding</code></a></li>\n    <li><a href=\"#KnowledgeGraph\"><code>KnowledgeGraph</code></a></li>\n    <li><a href=\"#Message\"><code>Message</code></a></li>\n    <li><a href=\"#Node\"><code>Node</code></a></li>\n    <li><a href=\"#NodeBinding\"><code>NodeBinding</code></a></li>\n    <li><a href=\"#QEdge\"><code>QEdge</code></a></li>\n    <li><a href=\"#QNode\"><code>QNode</code></a></li>\n    <li><a href=\"#Query\"><code>Query</code></a></li>\n    <li><a href=\"#QueryGraph\"><code>QueryGraph</code></a></li>\n    <li><a href=\"#RemoteKnowledgeGraph\"><code>RemoteKnowledgeGraph</code></a></li>\n    <li><a href=\"#Result\"><code>Result</code></a></li>\n  </ol>\n\n  <div class=\"model\">\n    <h3><a name=\"BiolinkEntity\"><code>BiolinkEntity</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>A subclass of named_thing (snake_case)</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"BiolinkRelation\"><code>BiolinkRelation</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>A relation, i.e. child of related_to (snake_case)</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"Credentials\"><code>Credentials</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>Credentials needed for programmatic access to the remote knowledge graph</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"Edge\"><code>Edge</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>An edge in the thought subgraph linking two nodes</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"EdgeBinding\"><code>EdgeBinding</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n\n    <div class=\"field-items\">\n      <div class=\"param\">qg_id </div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#string\">String</a></span> Query-graph edge id, i.e. the &lt;code&gt;edge_id&lt;/code&gt; of a QEdge </div>\n<div class=\"param\">kg_id </div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#\"></a></span> One or more knowledge-graph edge ids, i.e. the &lt;code&gt;id&lt;/code&gt; of a KEdge </div>\n    </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"KnowledgeGraph\"><code>KnowledgeGraph</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>A thought graph associated with this result. This will commonly be a linear path subgraph from one concept to another, but related items aside of the path may be included.</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"Message\"><code>Message</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"Node\"><code>Node</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>A node in the thought subgraph</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"NodeBinding\"><code>NodeBinding</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n\n    <div class=\"field-items\">\n      <div class=\"param\">qg_id </div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#string\">String</a></span> Query-graph node id, i.e. the &lt;code&gt;node_id&lt;/code&gt; of a QNode </div>\n<div class=\"param\">kg_id </div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#\"></a></span> One or more knowledge-graph node ids, i.e. the &lt;code&gt;id&lt;/code&gt; of a KNode </div>\n    </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"QEdge\"><code>QEdge</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>An edge in the QueryGraph</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"QNode\"><code>QNode</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>A node in the QueryGraph</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"Query\"><code>Query</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"QueryGraph\"><code>QueryGraph</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>A graph intended to be the thought path to be followed by a reasoner to answer the question. This graph is a representation of a question.</div>\n    <div class=\"field-items\">\n          </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"RemoteKnowledgeGraph\"><code>RemoteKnowledgeGraph</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>A thought graph associated with this result that is not repeated here, but stored elsewhere in a way that can be remotely accessed by the reader of this Message</div>\n    <div class=\"field-items\">\n      <div class=\"param\">url </div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#string\">String</a></span> URL that provides programmatic access to the remote knowledge graph </div>\n          <div class=\"param-desc\"><span class=\"param-type\">example: http://robokop.renci.org/api/kg</span></div>\n<div class=\"param\">credentials (optional)</div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#Credentials\">array[Credentials]</a></span> Credentials needed for programmatic access to the remote knowledge graph </div>\n<div class=\"param\">protocol (optional)</div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#string\">String</a></span>  </div>\n    </div>  <!-- field-items -->\n  </div>\n  <div class=\"model\">\n    <h3><a name=\"Result\"><code>Result</code></a> <a class=\"up\" href=\"#__Models\">Up</a></h3>\n    <div class='model-description'>One of potentially several results or answers for a query</div>\n    <div class=\"field-items\">\n      <div class=\"param\">node_bindings </div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#NodeBinding\">array[NodeBinding]</a></span> List of QNode-KNode bindings. </div>\n<div class=\"param\">edge_bindings </div><div class=\"param-desc\"><span class=\"param-type\"><a href=\"#EdgeBinding\">array[EdgeBinding]</a></span> List of QEdge-KEdge bindings. </div>\n    </div>  <!-- field-items -->\n  </div>\n  </body>\n</html>\n"
  },
  {
    "path": "medikanren/open-api/html2/.swagger-codegen/VERSION",
    "content": "3.0.14"
  },
  {
    "path": "medikanren/open-api/html2/.swagger-codegen-ignore",
    "content": "# Swagger Codegen Ignore\n# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen\n\n# Use this file to prevent files from being overwritten by the generator.\n# The patterns follow closely to .gitignore or .dockerignore.\n\n# As an example, the C# client generator defines ApiClient.cs.\n# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:\n#ApiClient.cs\n\n# You can match any string of characters against a directory, file or extension with a single asterisk (*):\n#foo/*/qux\n# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux\n\n# You can recursively match patterns against a directory, file or extension with a double asterisk (**):\n#foo/**/qux\n# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux\n\n# You can also negate patterns with an exclamation (!).\n# For example, you can ignore all files in a docs folder with the file extension .md:\n#docs/*.md\n# Then explicitly reverse the ignore rule for a single file:\n#!docs/README.md\n"
  },
  {
    "path": "medikanren/open-api/html2/index.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n  <title>OpenAPI for NCATS Biomedical Translator Reasoners</title>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n  <meta charset=\"UTF-8\" />\n  <script>\n  /*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */\n  !function(a,b){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error(\"jQuery requires a window with a document\");return b(a)}:b(a)}(\"undefined\"!=typeof window?window:this,function(a,b){\"use strict\";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement(\"script\");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q=\"3.1.0\",r=function(a,b){return new r.fn.init(a,b)},s=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for(\"boolean\"==typeof g&&(j=g,g=arguments[h]||{},h++),\"object\"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:\"jQuery\"+(q+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return\"function\"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return(\"number\"===b||\"string\"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||\"[object Object]\"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,\"constructor\")&&b.constructor,\"function\"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+\"\":\"object\"==typeof a||\"function\"==typeof a?j[k.call(a)]||\"object\":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,\"ms-\").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?\"\":(a+\"\").replace(s,\"\")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,\"string\"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if(\"string\"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),\"function\"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(a,b){j[\"[object \"+b+\"]\"]=b.toLowerCase()});function w(a){var b=!!a&&\"length\"in a&&a.length,c=r.type(a);return\"function\"!==c&&!r.isWindow(a)&&(\"array\"===c||0===b||\"number\"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=\"sizzle\"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",K=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",L=\"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",M=\"\\\\[\"+K+\"*(\"+L+\")(?:\"+K+\"*([*^$|!~]?=)\"+K+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+L+\"))|)\"+K+\"*\\\\]\",N=\":(\"+L+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+M+\")*)|.*)\\\\)|)\",O=new RegExp(K+\"+\",\"g\"),P=new RegExp(\"^\"+K+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+K+\"+$\",\"g\"),Q=new RegExp(\"^\"+K+\"*,\"+K+\"*\"),R=new RegExp(\"^\"+K+\"*([>+~]|\"+K+\")\"+K+\"*\"),S=new RegExp(\"=\"+K+\"*([^\\\\]'\\\"]*?)\"+K+\"*\\\\]\",\"g\"),T=new RegExp(N),U=new RegExp(\"^\"+L+\"$\"),V={ID:new RegExp(\"^#(\"+L+\")\"),CLASS:new RegExp(\"^\\\\.(\"+L+\")\"),TAG:new RegExp(\"^(\"+L+\"|[*])\"),ATTR:new RegExp(\"^\"+M),PSEUDO:new RegExp(\"^\"+N),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+K+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+K+\"*(?:([+-]|)\"+K+\"*(\\\\d+)|))\"+K+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+J+\")$\",\"i\"),needsContext:new RegExp(\"^\"+K+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+K+\"*((?:-\\\\d)?\\\\d*)\"+K+\"*\\\\)|)(?=[^-]|$)\",\"i\")},W=/^(?:input|select|textarea|button)$/i,X=/^h\\d$/i,Y=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,$=/[+~]/,_=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+K+\"?|(\"+K+\")|.)\",\"ig\"),aa=function(a,b,c){var d=\"0x\"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g,ca=function(a,b){return b?\"\\0\"===a?\"\\ufffd\":a.slice(0,-1)+\"\\\\\"+a.charCodeAt(a.length-1).toString(16)+\" \":\"\\\\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:\"parentNode\",next:\"legend\"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],\"string\"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+\" \"]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if(\"object\"!==b.nodeName.toLowerCase()){(k=b.getAttribute(\"id\"))?k=k.replace(ba,ca):b.setAttribute(\"id\",k=u),o=g(a),h=o.length;while(h--)o[h]=\"#\"+k+\" \"+sa(o[h]);r=o.join(\",\"),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute(\"id\")}}}return i(a.replace(P,\"$1\"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+\" \")>d.cacheLength&&delete b[a.shift()],b[c+\" \"]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement(\"fieldset\");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split(\"|\"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return\"input\"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return(\"input\"===c||\"button\"===c)&&b.type===a}}function oa(a){return function(b){return\"label\"in b&&b.disabled===a||\"form\"in b&&b.disabled===a||\"form\"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&(\"label\"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&\"undefined\"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&\"HTML\"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener(\"unload\",da,!1):e.attachEvent&&e.attachEvent(\"onunload\",da)),c.attributes=ja(function(a){return a.className=\"i\",!a.getAttribute(\"className\")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(\"undefined\"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute(\"id\")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c=\"undefined\"!=typeof a.getAttributeNode&&a.getAttributeNode(\"id\");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return\"undefined\"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if(\"*\"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if(\"undefined\"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML=\"<a id='\"+u+\"'></a><select id='\"+u+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",a.querySelectorAll(\"[msallowcapture^='']\").length&&q.push(\"[*^$]=\"+K+\"*(?:''|\\\"\\\")\"),a.querySelectorAll(\"[selected]\").length||q.push(\"\\\\[\"+K+\"*(?:value|\"+J+\")\"),a.querySelectorAll(\"[id~=\"+u+\"-]\").length||q.push(\"~=\"),a.querySelectorAll(\":checked\").length||q.push(\":checked\"),a.querySelectorAll(\"a#\"+u+\"+*\").length||q.push(\".#.+[+~]\")}),ja(function(a){a.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var b=n.createElement(\"input\");b.setAttribute(\"type\",\"hidden\"),a.appendChild(b).setAttribute(\"name\",\"D\"),a.querySelectorAll(\"[name=d]\").length&&q.push(\"name\"+K+\"*[*^$|!~]?=\"),2!==a.querySelectorAll(\":enabled\").length&&q.push(\":enabled\",\":disabled\"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(\":disabled\").length&&q.push(\":enabled\",\":disabled\"),a.querySelectorAll(\"*,:x\"),q.push(\",.*:\")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,\"*\"),s.call(a,\"[s!='']:x\"),r.push(\"!=\",N)}),q=q.length&&new RegExp(q.join(\"|\")),r=r.length&&new RegExp(r.join(\"|\")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,\"='$1']\"),c.matchesSelector&&p&&!A[b+\" \"]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+\"\").replace(ba,ca)},ga.error=function(a){throw new Error(\"Syntax error, unrecognized expression: \"+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c=\"\",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if(\"string\"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||\"\").replace(_,aa),\"~=\"===a[2]&&(a[3]=\" \"+a[3]+\" \"),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),\"nth\"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*(\"even\"===a[3]||\"odd\"===a[3])),a[5]=+(a[7]+a[8]||\"odd\"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||\"\":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(\")\",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return\"*\"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+\" \"];return b||(b=new RegExp(\"(^|\"+K+\")\"+a+\"(\"+K+\"|$)\"))&&y(a,function(a){return b.test(\"string\"==typeof a.className&&a.className||\"undefined\"!=typeof a.getAttribute&&a.getAttribute(\"class\")||\"\")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?\"!=\"===b:!b||(e+=\"\",\"=\"===b?e===c:\"!=\"===b?e!==c:\"^=\"===b?c&&0===e.indexOf(c):\"*=\"===b?c&&e.indexOf(c)>-1:\"$=\"===b?c&&e.slice(-c.length)===c:\"~=\"===b?(\" \"+e.replace(O,\" \")+\" \").indexOf(c)>-1:\"|=\"===b&&(e===c||e.slice(0,c.length+1)===c+\"-\"))}},CHILD:function(a,b,c,d,e){var f=\"nth\"!==a.slice(0,3),g=\"last\"!==a.slice(-4),h=\"of-type\"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?\"nextSibling\":\"previousSibling\",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p=\"only\"===a&&!o&&\"nextSibling\"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error(\"unsupported pseudo: \"+a);return e[u]?e(b):e.length>1?(c=[a,a,\"\",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,\"$1\"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||\"\")||ga.error(\"unsupported lang: \"+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute(\"xml:lang\")||b.getAttribute(\"lang\"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+\"-\");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&!!a.checked||\"option\"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&\"button\"===a.type||\"button\"===b},text:function(a){var b;return\"input\"===a.nodeName.toLowerCase()&&\"text\"===a.type&&(null==(b=a.getAttribute(\"type\"))||\"text\"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+\" \"];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P,\" \")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d=\"\";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&\"parentNode\"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||\"*\",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[\" \"],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:\" \"===a[i-2].type?\"*\":\"\"})).replace(P,\"$1\"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s=\"0\",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG(\"*\",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+\" \"];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n=\"function\"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&\"ID\"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split(\"\").sort(B).join(\"\")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement(\"fieldset\"))}),ja(function(a){return a.innerHTML=\"<a href='#'></a>\",\"#\"===a.firstChild.getAttribute(\"href\")})||ka(\"type|href|height|width\",function(a,b,c){if(!c)return a.getAttribute(b,\"type\"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML=\"<input/>\",a.firstChild.setAttribute(\"value\",\"\"),\"\"===a.firstChild.getAttribute(\"value\")})||ka(\"value\",function(a,b,c){if(!c&&\"input\"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute(\"disabled\")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[\":\"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i,C=/^.[^:#\\[\\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if(\"string\"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=\":not(\"+a+\")\"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if(\"string\"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,\"string\"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,\"string\"==typeof a){if(e=\"<\"===a[0]&&\">\"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g=\"string\"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?\"string\"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,\"parentNode\")},parentsUntil:function(a,b,c){return y(a,\"parentNode\",c)},next:function(a){return J(a,\"nextSibling\")},prev:function(a){return J(a,\"previousSibling\")},nextAll:function(a){return y(a,\"nextSibling\")},prevAll:function(a){return y(a,\"previousSibling\")},nextUntil:function(a,b,c){return y(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return y(a,\"previousSibling\",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return\"Until\"!==a.slice(-5)&&(d=c),d&&\"string\"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a=\"string\"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:\"\")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&\"string\"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c=\"\",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=\"\"),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[[\"notify\",\"progress\",r.Callbacks(\"memory\"),r.Callbacks(\"memory\"),2],[\"resolve\",\"done\",r.Callbacks(\"once memory\"),r.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",r.Callbacks(\"once memory\"),r.Callbacks(\"once memory\"),1,\"rejected\"]],d=\"pending\",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},\"catch\":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+\"With\"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError(\"Thenable self-resolution\");j=a&&(\"object\"==typeof a||\"function\"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+\"With\"](this===f?void 0:this,arguments),this},f[b[0]+\"With\"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),\"pending\"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn(\"jQuery.Deferred exception: \"+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)[\"catch\"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener(\"DOMContentLoaded\",R),a.removeEventListener(\"load\",R),r.ready()}\"complete\"===d.readyState||\"loading\"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener(\"DOMContentLoaded\",R),a.addEventListener(\"load\",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if(\"object\"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,\n  r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if(\"string\"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&\"string\"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d=\"data-\"+b.replace(Y,\"-$&\").toLowerCase(),c=a.getAttribute(d),\"string\"==typeof c){try{c=\"true\"===c||\"false\"!==c&&(\"null\"===c?null:+c+\"\"===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,\"hasDataAttrs\"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf(\"data-\")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,\"hasDataAttrs\",!0)}return e}return\"object\"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||\"fx\")+\"queue\",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||\"fx\";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};\"inprogress\"===e&&(e=c.shift(),d--),e&&(\"fx\"===b&&c.unshift(\"inprogress\"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+\"queueHooks\";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks(\"once memory\").add(function(){V.remove(a,[b+\"queue\",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return\"string\"!=typeof a&&(b=a,a=\"fx\",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),\"fx\"===a&&\"inprogress\"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||\"fx\",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};\"string\"!=typeof a&&(b=a,a=void 0),a=a||\"fx\";while(g--)c=V.get(f[g],a+\"queueHooks\"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,_=new RegExp(\"^(?:([+-])=|)(\"+$+\")([a-z%]*)$\",\"i\"),aa=[\"Top\",\"Right\",\"Bottom\",\"Left\"],ba=function(a,b){return a=b||a,\"none\"===a.style.display||\"\"===a.style.display&&r.contains(a.ownerDocument,a)&&\"none\"===r.css(a,\"display\")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,\"\")},i=h(),j=c&&c[3]||(r.cssNumber[b]?\"\":\"px\"),k=(r.cssNumber[b]||\"px\"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||\".5\",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,\"display\"),b.parentNode.removeChild(b),\"none\"===e&&(e=\"block\"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?(\"none\"===c&&(e[f]=V.get(d,\"display\")||null,e[f]||(d.style.display=\"\")),\"\"===d.style.display&&ba(d)&&(e[f]=fa(d))):\"none\"!==c&&(e[f]=\"none\",V.set(d,\"display\",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return\"boolean\"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i,ja=/^$|\\/(?:java|ecma)script/i,ka={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c=\"undefined\"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||\"*\"):\"undefined\"!=typeof a.querySelectorAll?a.querySelectorAll(b||\"*\"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],\"globalEval\",!b||V.get(b[c],\"globalEval\"))}var na=/<|&#?\\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if(\"object\"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement(\"div\")),h=(ia.exec(f)||[\"\",\"\"])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=\"\"}else m.push(b.createTextNode(f));l.textContent=\"\",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),\"script\"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||\"\")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement(\"div\")),c=d.createElement(\"input\");c.setAttribute(\"type\",\"radio\"),c.setAttribute(\"checked\",\"checked\"),c.setAttribute(\"name\",\"t\"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML=\"<textarea>x</textarea>\",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if(\"object\"==typeof b){\"string\"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&(\"string\"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return\"undefined\"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||\"\").match(K)||[\"\"],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||\"\").split(\".\").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(\".\")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||\"\").match(K)||[\"\"],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||\"\").split(\".\").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp(\"(^|\\\\.)\"+o.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&(\"**\"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,\"handle events\")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,\"events\")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(\"click\"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||\"click\"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+\" \",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:\"focusin\"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(\"checkbox\"===this.type&&this.click&&r.nodeName(this,\"input\"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,\"a\")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,\"char\":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+\".\"+d.namespace:d.origType,d.selector,d.handler),this;if(\"object\"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&\"function\"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,ya=/<script|<style|<link/i,za=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Aa=/^true\\/(.*)/,Ba=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function Ca(a,b){return r.nodeName(a,\"table\")&&r.nodeName(11!==b.nodeType?b:b.firstChild,\"tr\")?a.getElementsByTagName(\"tbody\")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute(\"type\"))+\"/\"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute(\"type\"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();\"input\"===c&&ha.test(a.type)?b.checked=a.checked:\"input\"!==c&&\"textarea\"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&\"string\"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,\"script\"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,\"script\"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||\"\")&&!V.access(j,\"globalEval\")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,\"\"),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,\"script\")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,\"<$1></$2>\")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,\"script\"),g.length>0&&ma(g,!i&&la(a,\"script\")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent=\"\");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if(\"string\"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||[\"\",\"\"])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp(\"^(\"+$+\")(?!px)[a-z%]+$\",\"i\"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText=\"box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",i.innerHTML=\"\",pa.appendChild(h);var b=a.getComputedStyle(i);c=\"1%\"!==b.top,g=\"2px\"===b.marginLeft,e=\"4px\"===b.width,i.style.marginRight=\"50%\",f=\"4px\"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement(\"div\"),i=d.createElement(\"div\");i.style&&(i.style.backgroundClip=\"content-box\",i.cloneNode(!0).style.backgroundClip=\"\",o.clearCloneStyle=\"content-box\"===i.style.backgroundClip,h.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],\"\"!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+\"\":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Qa={letterSpacing:\"0\",fontWeight:\"400\"},Ra=[\"Webkit\",\"Moz\",\"ms\"],Sa=d.createElement(\"div\").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||\"px\"):b}function Va(a,b,c,d,e){for(var f=c===(d?\"border\":\"content\")?4:\"width\"===b?1:0,g=0;f<4;f+=2)\"margin\"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?(\"content\"===c&&(g-=r.css(a,\"padding\"+aa[f],!0,e)),\"margin\"!==c&&(g-=r.css(a,\"border\"+aa[f]+\"Width\",!0,e))):(g+=r.css(a,\"padding\"+aa[f],!0,e),\"padding\"!==c&&(g+=r.css(a,\"border\"+aa[f]+\"Width\",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g=\"border-box\"===r.css(a,\"boxSizing\",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?\"border\":\"content\"),e,f)+\"px\"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,\"opacity\");return\"\"===c?\"1\":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":\"cssFloat\"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&\"get\"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,\"string\"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f=\"number\"),null!=c&&c===c&&(\"number\"===f&&(c+=e&&e[3]||(r.cssNumber[h]?\"\":\"px\")),o.clearCloneStyle||\"\"!==c||0!==b.indexOf(\"background\")||(i[b]=\"inherit\"),g&&\"set\"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&\"get\"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),\"normal\"===e&&b in Qa&&(e=Qa[b]),\"\"===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each([\"height\",\"width\"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,\"display\"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,\"border-box\"===r.css(a,\"boxSizing\",!1,f),f);return g&&(e=_.exec(c))&&\"px\"!==(e[3]||\"px\")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,\"marginLeft\"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+\"px\"}),r.each({margin:\"\",padding:\"\",border:\"Width\"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f=\"string\"==typeof c?c.split(\" \"):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?\"\":\"px\")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,\"\"),b&&\"auto\"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:\"swing\"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e[\"margin\"+c]=e[\"padding\"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners[\"*\"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l=\"width\"in b||\"height\"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,\"fxshow\");c.queue||(g=r._queueHooks(a,\"fx\"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,\"fx\").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||\"toggle\"===e,e===(p?\"hide\":\"show\")){if(\"show\"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,\"display\")),k=r.css(a,\"display\"),\"none\"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,\"display\"),ga([a]))),(\"inline\"===k||\"inline-block\"===k&&null!=j)&&\"none\"===r.css(a,\"float\")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j=\"none\"===k?\"\":k)),o.display=\"inline-block\")),c.overflow&&(o.overflow=\"hidden\",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?\"hidden\"in q&&(p=q.hidden):q=V.access(a,\"fxshow\",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,\"fxshow\");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&\"expand\"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{\"*\":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=[\"*\"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&\"object\"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration=\"number\"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue=\"fx\"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css(\"opacity\",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,\"finish\"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return\"string\"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||\"fx\",[]),this.each(function(){var b=!0,e=null!=a&&a+\"queueHooks\",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||\"fx\"),this.each(function(){var b,c=V.get(this),d=c[a+\"queue\"],e=c[a+\"queueHooks\"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each([\"toggle\",\"show\",\"hide\"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||\"boolean\"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb(\"show\"),slideUp:cb(\"hide\"),slideToggle:cb(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||\"fx\",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement(\"input\"),b=d.createElement(\"select\"),c=b.appendChild(d.createElement(\"option\"));a.type=\"checkbox\",o.checkOn=\"\"!==a.value,o.optSelected=c.selected,a=d.createElement(\"input\"),a.value=\"t\",a.type=\"radio\",o.radioValue=\"t\"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return\"undefined\"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&\"set\"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+\"\"),c):e&&\"get\"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&\"radio\"===b&&r.nodeName(a,\"input\")){var c=a.value;return a.setAttribute(\"type\",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);\n  if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&\"set\"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&\"get\"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,\"tabindex\");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\\t\\r\\n\\f]/g;function mb(a){return a.getAttribute&&a.getAttribute(\"class\")||\"\"}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if(\"string\"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(\" \"+e+\" \").replace(lb,\" \")){g=0;while(f=b[g++])d.indexOf(\" \"+f+\" \")<0&&(d+=f+\" \");h=r.trim(d),e!==h&&c.setAttribute(\"class\",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(\" \"+e+\" \").replace(lb,\" \")){g=0;while(f=b[g++])while(d.indexOf(\" \"+f+\" \")>-1)d=d.replace(\" \"+f+\" \",\" \");h=r.trim(d),e!==h&&c.setAttribute(\"class\",h)}}return this},toggleClass:function(a,b){var c=typeof a;return\"boolean\"==typeof b&&\"string\"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if(\"string\"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&\"boolean\"!==c||(b=mb(this),b&&V.set(this,\"__className__\",b),this.setAttribute&&this.setAttribute(\"class\",b||a===!1?\"\":V.get(this,\"__className__\")||\"\"))})},hasClass:function(a){var b,c,d=0;b=\" \"+a+\" \";while(c=this[d++])if(1===c.nodeType&&(\" \"+mb(c)+\" \").replace(lb,\" \").indexOf(b)>-1)return!0;return!1}});var nb=/\\r/g,ob=/[\\x20\\t\\r\\n\\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e=\"\":\"number\"==typeof e?e+=\"\":r.isArray(e)&&(e=r.map(e,function(a){return null==a?\"\":a+\"\"})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&\"set\"in b&&void 0!==b.set(this,e,\"value\")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&\"get\"in b&&void 0!==(c=b.get(e,\"value\"))?c:(c=e.value,\"string\"==typeof c?c.replace(nb,\"\"):null==c?\"\":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,\"value\");return null!=b?b:r.trim(r.text(a)).replace(ob,\" \")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f=\"select-one\"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,\"optgroup\"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each([\"radio\",\"checkbox\"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute(\"value\")?\"on\":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,\"type\")?b.type:b,q=l.call(b,\"namespace\")?b.namespace.split(\".\"):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(\".\")>-1&&(q=p.split(\".\"),p=q.shift(),q.sort()),k=p.indexOf(\":\")<0&&\"on\"+p,b=b[r.expando]?b:new r.Event(p,\"object\"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join(\".\"),b.rnamespace=b.namespace?new RegExp(\"(^|\\\\.)\"+q.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,\"events\")||{})[b.type]&&V.get(h,\"handle\"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin=\"onfocusin\"in a,o.focusin||r.each({focus:\"focusin\",blur:\"focusout\"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\\?/;r.parseXML=function(b){var c;if(!b||\"string\"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,\"text/xml\")}catch(d){c=void 0}return c&&!c.getElementsByTagName(\"parsererror\").length||r.error(\"Invalid XML: \"+b),c};var tb=/\\[\\]$/,ub=/\\r?\\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+\"[\"+(\"object\"==typeof e&&null!=e?b:\"\")+\"]\",e,c,d)});else if(c||\"object\"!==r.type(b))d(a,b);else for(e in b)xb(a+\"[\"+e+\"]\",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+\"=\"+encodeURIComponent(null==c?\"\":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join(\"&\")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,\"elements\");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(\":disabled\")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,\"\\r\\n\")}}):{name:b.name,value:c.replace(ub,\"\\r\\n\")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\\/\\//,Fb={},Gb={},Hb=\"*/\".concat(\"*\"),Ib=d.createElement(\"a\");Ib.href=qb.href;function Jb(a){return function(b,c){\"string\"!=typeof b&&(c=b,b=\"*\");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])\"+\"===d[0]?(d=d.slice(1)||\"*\",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return\"string\"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e[\"*\"]&&g(\"*\")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while(\"*\"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader(\"Content-Type\"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+\" \"+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if(\"*\"===f)f=i;else if(\"*\"!==i&&i!==f){if(g=j[i+\" \"+f]||j[\"* \"+f],!g)for(e in j)if(h=e.split(\" \"),h[1]===f&&(g=j[i+\" \"+h[0]]||j[\"* \"+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a[\"throws\"])b=g(b);else try{b=g(b)}catch(l){return{state:\"parsererror\",error:g?l:\"No conversion from \"+i+\" to \"+f}}}return{state:\"success\",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:\"GET\",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Hb,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){\"object\"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks(\"once memory\"),u=o.statusCode||{},v={},w={},x=\"canceled\",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+\"\").replace(Eb,qb.protocol+\"//\"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||\"*\").toLowerCase().match(K)||[\"\"],null==o.crossDomain){j=d.createElement(\"a\");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+\"//\"+Ib.host!=j.protocol+\"//\"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&\"string\"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger(\"ajaxStart\"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,\"\"),o.hasContent?o.data&&o.processData&&0===(o.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(o.data=o.data.replace(yb,\"+\")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?\"&\":\"?\")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,\"\"),n=(sb.test(f)?\"&\":\"?\")+\"_=\"+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader(\"If-Modified-Since\",r.lastModified[f]),r.etag[f]&&y.setRequestHeader(\"If-None-Match\",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader(\"Content-Type\",o.contentType),y.setRequestHeader(\"Accept\",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+(\"*\"!==o.dataTypes[0]?\", \"+Hb+\"; q=0.01\":\"\"):o.accepts[\"*\"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x=\"abort\",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger(\"ajaxSend\",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort(\"timeout\")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,\"No Transport\");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||\"\",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader(\"Last-Modified\"),w&&(r.lastModified[f]=w),w=y.getResponseHeader(\"etag\"),w&&(r.etag[f]=w)),204===b||\"HEAD\"===o.type?x=\"nocontent\":304===b?x=\"notmodified\":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x=\"error\",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+\"\",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?\"ajaxSuccess\":\"ajaxError\",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger(\"ajaxComplete\",[y,o]),--r.active||r.event.trigger(\"ajaxStop\")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,\"json\")},getScript:function(a,b){return r.get(a,void 0,b,\"script\")}}),r.each([\"get\",\"post\"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,\"throws\":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not(\"body\").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&\"withCredentials\"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e[\"X-Requested-With\"]||(e[\"X-Requested-With\"]=\"XMLHttpRequest\");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,\"abort\"===a?h.abort():\"error\"===a?\"number\"!=typeof h.status?f(0,\"error\"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,\"text\"!==(h.responseType||\"text\")||\"string\"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c(\"error\"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c(\"abort\");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter(\"script\",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type=\"GET\")}),r.ajaxTransport(\"script\",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(\"<script>\").prop({charset:a.scriptCharset,src:a.url}).on(\"load error\",c=function(a){b.remove(),c=null,a&&f(\"error\"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\\?(?=&|$)|\\?\\?/;r.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var a=Qb.pop()||r.expando+\"_\"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter(\"json jsonp\",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?\"url\":\"string\"==typeof b.data&&0===(b.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Rb.test(b.data)&&\"data\");if(h||\"jsonp\"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,\"$1\"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?\"&\":\"?\")+b.jsonp+\"=\"+e),b.converters[\"script json\"]=function(){return g||r.error(e+\" was not called\"),g[0]},b.dataTypes[0]=\"json\",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),\"script\"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument(\"\").body;return a.innerHTML=\"<form></form><form></form>\",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if(\"string\"!=typeof a)return[];\"boolean\"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(\"\"),e=b.createElement(\"base\"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(\" \");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&\"object\"==typeof b&&(e=\"POST\"),g.length>0&&r.ajax({url:a,type:e||\"GET\",dataType:\"html\",data:b}).done(function(a){f=arguments,g.html(d?r(\"<div>\").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,\"position\"),l=r(a),m={};\"static\"===k&&(a.style.position=\"relative\"),h=l.offset(),f=r.css(a,\"top\"),i=r.css(a,\"left\"),j=(\"absolute\"===k||\"fixed\"===k)&&(f+i).indexOf(\"auto\")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),\"using\"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return\"fixed\"===r.css(c,\"position\")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],\"html\")||(d=a.offset()),d={top:d.top+r.css(a[0],\"borderTopWidth\",!0),left:d.left+r.css(a[0],\"borderLeftWidth\",!0)}),{top:b.top-d.top-r.css(c,\"marginTop\",!0),left:b.left-d.left-r.css(c,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&\"static\"===r.css(a,\"position\"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(a,b){var c=\"pageYOffset\"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each([\"top\",\"left\"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+\"px\":c})}),r.each({Height:\"height\",Width:\"width\"},function(a,b){r.each({padding:\"inner\"+a,content:b,\"\":\"outer\"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||\"boolean\"!=typeof e),h=c||(e===!0||f===!0?\"margin\":\"border\");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf(\"outer\")?b[\"inner\"+a]:b.document.documentElement[\"client\"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body[\"scroll\"+a],f[\"scroll\"+a],b.body[\"offset\"+a],f[\"offset\"+a],f[\"client\"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,\"**\"):this.off(b,a||\"**\",c)}}),r.parseJSON=JSON.parse,\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});\n  </script>\n  <script>\n  !function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;\n  (function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:\"0\"<=a&&a<=\"7\"?parseInt(e.substring(1),8):a===\"u\"||a===\"x\"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?\"\\\\x0\":\"\\\\x\")+e.toString(16);e=String.fromCharCode(e);return e===\"\\\\\"||e===\"-\"||e===\"]\"||e===\"^\"?\"\\\\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\\\u[\\dA-Fa-f]{4}|\\\\x[\\dA-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\S\\s]|[^\\\\]/g),e=[],a=\n  b[0]===\"^\",c=[\"[\"];a&&c.push(\"^\");for(var a=a?1:0,f=b.length;a<f;++a){var h=b[a];if(/\\\\[bdsw]/i.test(h))c.push(h);else{var h=d(h),l;a+2<f&&\"-\"===b[a+1]?(l=d(b[a+2]),a+=2):l=h;e.push([h,l]);l<65||h>122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;a<e.length;++a)h=e[a],h[0]<=f[1]+1?f[1]=Math.max(f[1],h[1]):b.push(f=h);for(a=0;a<b.length;++a)h=b[a],c.push(g(h[0])),\n  h[1]>h[0]&&(h[1]+1>h[0]&&c.push(\"-\"),c.push(g(h[1])));c.push(\"]\");return c.join(\"\")}function s(e){for(var a=e.source.match(/\\[(?:[^\\\\\\]]|\\\\[\\S\\s])*]|\\\\u[\\dA-Fa-f]{4}|\\\\x[\\dA-Fa-f]{2}|\\\\\\d+|\\\\[^\\dux]|\\(\\?[!:=]|[()^]|[^()[\\\\^]+/g),c=a.length,d=[],f=0,h=0;f<c;++f){var l=a[f];l===\"(\"?++h:\"\\\\\"===l.charAt(0)&&(l=+l.substring(1))&&(l<=h?d[l]=-1:a[f]=g(l))}for(f=1;f<d.length;++f)-1===d[f]&&(d[f]=++x);for(h=f=0;f<c;++f)l=a[f],l===\"(\"?(++h,d[h]||(a[f]=\"(?:\")):\"\\\\\"===l.charAt(0)&&(l=+l.substring(1))&&l<=h&&\n  (a[f]=\"\\\\\"+d[l]);for(f=0;f<c;++f)\"^\"===a[f]&&\"^\"!==a[f+1]&&(a[f]=\"\");if(e.ignoreCase&&m)for(f=0;f<c;++f)l=a[f],e=l.charAt(0),l.length>=2&&e===\"[\"?a[f]=b(l):e!==\"\\\\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return\"[\"+String.fromCharCode(a&-33,a|32)+\"]\"}));return a.join(\"\")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k<c;++k){var i=a[k];if(i.ignoreCase)j=!0;else if(/[a-z]/i.test(i.source.replace(/\\\\u[\\da-f]{4}|\\\\x[\\da-f]{2}|\\\\[^UXux]/gi,\"\"))){m=!0;j=!1;break}}for(var r={b:8,t:9,n:10,v:11,\n  f:12,r:13},n=[],k=0,c=a.length;k<c;++k){i=a[k];if(i.global||i.multiline)throw Error(\"\"+i);n.push(\"(?:\"+s(i)+\")\")}return RegExp(n.join(\"|\"),j?\"gi\":\"g\")}function T(a,d){function g(a){var c=a.nodeType;if(c==1){if(!b.test(a.className)){for(c=a.firstChild;c;c=c.nextSibling)g(c);c=a.nodeName.toLowerCase();if(\"br\"===c||\"li\"===c)s[j]=\"\\n\",m[j<<1]=x++,m[j++<<1|1]=a}}else if(c==3||c==4)c=a.nodeValue,c.length&&(c=d?c.replace(/\\r\\n?/g,\"\\n\"):c.replace(/[\\t\\n\\r ]+/g,\" \"),s[j]=c,m[j<<1]=x,x+=c.length,m[j++<<1|1]=\n  a)}var b=/(?:^|\\s)nocode(?:\\s|$)/,s=[],x=0,m=[],j=0;g(a);return{a:s.join(\"\").replace(/\\n$/,\"\"),d:m}}function H(a,d,g,b){d&&(a={a:d,e:a},g(a),b.push.apply(b,a.g))}function U(a){for(var d=void 0,g=a.firstChild;g;g=g.nextSibling)var b=g.nodeType,d=b===1?d?a:g:b===3?V.test(g.nodeValue)?a:d:d;return d===a?void 0:d}function C(a,d){function g(a){for(var j=a.e,k=[j,\"pln\"],c=0,i=a.a.match(s)||[],r={},n=0,e=i.length;n<e;++n){var z=i[n],w=r[z],t=void 0,f;if(typeof w===\"string\")f=!1;else{var h=b[z.charAt(0)];\n  if(h)t=z.match(h[1]),w=h[0];else{for(f=0;f<x;++f)if(h=d[f],t=z.match(h[1])){w=h[0];break}t||(w=\"pln\")}if((f=w.length>=5&&\"lang-\"===w.substring(0,5))&&!(t&&typeof t[1]===\"string\"))f=!1,w=\"src\";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c<i;++c){var r=\n  g[c],n=r[3];if(n)for(var e=n.length;--e>=0;)b[n.charAt(e)]=r;r=r[1];n=\"\"+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\\S\\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push([\"str\",/^(?:'''(?:[^'\\\\]|\\\\[\\S\\s]|''?(?=[^']))*(?:'''|$)|\"\"\"(?:[^\"\\\\]|\\\\[\\S\\s]|\"\"?(?=[^\"]))*(?:\"\"\"|$)|'(?:[^'\\\\]|\\\\[\\S\\s])*(?:'|$)|\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$))/,q,\"'\\\"\"]):a.multiLineStrings?d.push([\"str\",/^(?:'(?:[^'\\\\]|\\\\[\\S\\s])*(?:'|$)|\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)|`(?:[^\\\\`]|\\\\[\\S\\s])*(?:`|$))/,\n  q,\"'\\\"`\"]):d.push([\"str\",/^(?:'(?:[^\\n\\r'\\\\]|\\\\.)*(?:'|$)|\"(?:[^\\n\\r\"\\\\]|\\\\.)*(?:\"|$))/,q,\"\\\"'\"]);a.verbatimStrings&&g.push([\"str\",/^@\"(?:[^\"]|\"\")*(?:\"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push([\"com\",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,\"#\"]):d.push([\"com\",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\\b|[^\\n\\r]*)/,q,\"#\"]),g.push([\"str\",/^<(?:(?:(?:\\.\\.\\/)*|\\/?)(?:[\\w-]+(?:\\/[\\w-]+)+)?[\\w-]+\\.h(?:h|pp|\\+\\+)?|[a-z]\\w*)>/,q])):d.push([\"com\",\n  /^#[^\\n\\r]*/,q,\"#\"]));a.cStyleComments&&(g.push([\"com\",/^\\/\\/[^\\n\\r]*/,q]),g.push([\"com\",/^\\/\\*[\\S\\s]*?(?:\\*\\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?\"\":\"\\n\\r\")?\".\":\"[\\\\S\\\\s]\";g.push([\"lang-regex\",RegExp(\"^(?:^^\\\\.?|[+-]|[!=]=?=?|\\\\#|%=?|&&?=?|\\\\(|\\\\*=?|[+\\\\-]=|->|\\\\/=?|::?|<<?=?|>>?>?=?|,|;|\\\\?|@|\\\\[|~|{|\\\\^\\\\^?=?|\\\\|\\\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\\\s*(\"+(\"/(?=[^/*\"+b+\"])(?:[^/\\\\x5B\\\\x5C\"+b+\"]|\\\\x5C\"+s+\"|\\\\x5B(?:[^\\\\x5C\\\\x5D\"+b+\"]|\\\\x5C\"+\n  s+\")*(?:\\\\x5D|$))+/\")+\")\")])}(b=a.types)&&g.push([\"typ\",b]);b=(\"\"+a.keywords).replace(/^ | $/g,\"\");b.length&&g.push([\"kwd\",RegExp(\"^(?:\"+b.replace(/[\\s,]+/g,\"|\")+\")\\\\b\"),q]);d.push([\"pln\",/^\\s+/,q,\" \\r\\n\\t\\u00a0\"]);b=\"^.[^\\\\s\\\\w.$@'\\\"`/\\\\\\\\]*\";a.regexLiterals&&(b+=\"(?!s*/)\");g.push([\"lit\",/^@[$_a-z][\\w$@]*/i,q],[\"typ\",/^(?:[@_]?[A-Z]+[a-z][\\w$@]*|\\w+_t\\b)/,q],[\"pln\",/^[$_a-z][\\w$@]*/i,q],[\"lit\",/^(?:0x[\\da-f]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+-]?\\d+)?)[a-z]*/i,q,\"0123456789\"],[\"pln\",/^\\\\[\\S\\s]?/,\n  q],[\"pun\",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if(\"br\"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d=\n  c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\\s)nocode(?:\\s|$)/,m=/\\r\\n?|\\n/,j=a.ownerDocument,k=j.createElement(\"li\");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i<c.length;++i)b(c[i]);d===(d|0)&&c[0].setAttribute(\"value\",d);var r=j.createElement(\"ol\");\n  r.className=\"linenums\";for(var d=Math.max(0,d-1|0)||0,i=0,n=c.length;i<n;++i)k=c[i],k.className=\"L\"+(i+d)%10,k.firstChild||k.appendChild(j.createTextNode(\"\\u00a0\")),r.appendChild(k);a.appendChild(r)}function p(a,d){for(var g=d.length;--g>=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn(\"cannot override language handler %s\",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\\s*</.test(d)?\"default-markup\":\"default-code\";return F[a]}function K(a){var d=a.h;try{var g=T(a.c,a.i),b=g.a;\n  a.a=b;a.d=g.d;a.e=0;I(d,b)(a);var s=/\\bMSIE\\s(\\d+)/.exec(navigator.userAgent),s=s&&+s[1]<=8,d=/\\n/g,x=a.a,m=x.length,g=0,j=a.d,k=j.length,b=0,c=a.g,i=c.length,r=0;c[i]=m;var n,e;for(e=n=0;e<i;)c[e]!==c[e+2]?(c[n++]=c[e++],c[n++]=c[e++]):e+=2;i=n;for(e=n=0;e<i;){for(var p=c[e],w=c[e+1],t=e+2;t+2<=i&&c[t+1]===w;)t+=2;c[n++]=p;c[n++]=w;e=t}c.length=n;var f=a.c,h;if(f)h=f.style.display,f.style.display=\"none\";try{for(;b<k;){var l=j[b+2]||m,B=c[r+2]||m,t=Math.min(l,B),A=j[b+1],G;if(A.nodeType!==1&&(G=x.substring(g,\n  t))){s&&(G=G.replace(d,\"\\r\"));A.nodeValue=G;var L=A.ownerDocument,o=L.createElement(\"span\");o.className=c[r+1];var v=A.parentNode;v.replaceChild(o,A);o.appendChild(A);g<l&&(j[b+1]=A=L.createTextNode(x.substring(t,l)),v.insertBefore(A,o.nextSibling))}g=t;g>=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=[\"break,continue,do,else,for,if,return,while\"],E=[[y,\"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile\"],\n  \"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof\"],M=[E,\"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where\"],N=[E,\"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient\"],\n  O=[N,\"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where\"],E=[E,\"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN\"],P=[y,\"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None\"],\n  Q=[y,\"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END\"],W=[y,\"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use\"],y=[y,\"case,done,elif,esac,eval,fi,function,in,local,set,then,until\"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\\d*)\\b/,\n  V=/\\S/,X=v({keywords:[M,O,E,\"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END\",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,[\"default-code\"]);p(C([],[[\"pln\",/^[^<?]+/],[\"dec\",/^<!\\w[^>]*(?:>|$)/],[\"com\",/^<\\!--[\\S\\s]*?(?:--\\>|$)/],[\"lang-\",/^<\\?([\\S\\s]+?)(?:\\?>|$)/],[\"lang-\",/^<%([\\S\\s]+?)(?:%>|$)/],[\"pun\",/^(?:<[%?]|[%?]>)/],[\"lang-\",\n  /^<xmp\\b[^>]*>([\\S\\s]+?)<\\/xmp\\b[^>]*>/i],[\"lang-js\",/^<script\\b[^>]*>([\\S\\s]*?)(<\\/script\\b[^>]*>)/i],[\"lang-css\",/^<style\\b[^>]*>([\\S\\s]*?)(<\\/style\\b[^>]*>)/i],[\"lang-in.tag\",/^(<\\/?[a-z][^<>]*>)/i]]),[\"default-markup\",\"htm\",\"html\",\"mxml\",\"xhtml\",\"xml\",\"xsl\"]);p(C([[\"pln\",/^\\s+/,q,\" \\t\\r\\n\"],[\"atv\",/^(?:\"[^\"]*\"?|'[^']*'?)/,q,\"\\\"'\"]],[[\"tag\",/^^<\\/?[a-z](?:[\\w-.:]*\\w)?|\\/?>$/i],[\"atn\",/^(?!style[\\s=]|on)[a-z](?:[\\w:-]*\\w)?/i],[\"lang-uq.val\",/^=\\s*([^\\s\"'>]*(?:[^\\s\"'/>]|\\/(?=\\s)))/],[\"pun\",/^[/<->]+/],\n  [\"lang-js\",/^on\\w+\\s*=\\s*\"([^\"]+)\"/i],[\"lang-js\",/^on\\w+\\s*=\\s*'([^']+)'/i],[\"lang-js\",/^on\\w+\\s*=\\s*([^\\s\"'>]+)/i],[\"lang-css\",/^style\\s*=\\s*\"([^\"]+)\"/i],[\"lang-css\",/^style\\s*=\\s*'([^']+)'/i],[\"lang-css\",/^style\\s*=\\s*([^\\s\"'>]+)/i]]),[\"in.tag\"]);p(C([],[[\"atv\",/^[\\S\\s]+/]]),[\"uq.val\"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),[\"c\",\"cc\",\"cpp\",\"cxx\",\"cyc\",\"m\"]);p(v({keywords:\"null,true,false\"}),[\"json\"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}),\n  [\"cs\"]);p(v({keywords:N,cStyleComments:!0}),[\"java\"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),[\"bash\",\"bsh\",\"csh\",\"sh\"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),[\"cv\",\"py\",\"python\"]);p(v({keywords:\"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END\",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),[\"perl\",\"pl\",\"pm\"]);p(v({keywords:Q,\n  hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),[\"rb\",\"ruby\"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),[\"javascript\",\"js\"]);p(v({keywords:\"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes\",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),[\"coffee\"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),[\"rc\",\"rs\",\"rust\"]);\n  p(C([],[[\"str\",/^[\\S\\s]+/]]),[\"regex\"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:\"atn\",PR_ATTRIB_VALUE:\"atv\",PR_COMMENT:\"com\",PR_DECLARATION:\"dec\",PR_KEYWORD:\"kwd\",PR_LITERAL:\"lit\",PR_NOCODE:\"nocode\",PR_PLAIN:\"pln\",PR_PUNCTUATION:\"pun\",PR_SOURCE:\"src\",PR_STRING:\"str\",PR_TAG:\"tag\",PR_TYPE:\"typ\",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement(\"div\");b.innerHTML=\"<pre>\"+a+\"</pre>\";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1});\n  return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i<p.length&&c.now()<b;i++){for(var d=p[i],j=h,k=d;k=k.previousSibling;){var m=k.nodeType,o=(m===7||m===8)&&k.nodeValue;if(o?!/^\\??prettify\\b/.test(o):m!==3||/\\S/.test(k.nodeValue))break;if(o){j={};o.replace(/\\b(\\w+)=([\\w%+\\-.:]+)/g,function(a,b,c){j[b]=c});break}}k=d.className;if((j!==h||e.test(k))&&!v.test(k)){m=!1;for(o=d.parentNode;o;o=o.parentNode)if(f.test(o.tagName)&&\n  o.className&&e.test(o.className)){m=!0;break}if(!m){d.className+=\" prettyprinted\";m=j.lang;if(!m){var m=k.match(n),y;if(!m&&(y=U(d))&&t.test(y.tagName))m=y.className.match(n);m&&(m=m[1])}if(w.test(d.tagName))o=1;else var o=d.currentStyle,u=s.defaultView,o=(o=o?o.whiteSpace:u&&u.getComputedStyle?u.getComputedStyle(d,q).getPropertyValue(\"white-space\"):0)&&\"pre\"===o.substring(0,3);u=j.linenums;if(!(u=u===\"true\"||+u))u=(u=k.match(/\\blinenums\\b(?::(\\d+))?/))?u[1]&&u[1].length?+u[1]:!0:!1;u&&J(d,u,o);r=\n  {h:m,c:d,j:u,i:o};K(r)}}}i<p.length?setTimeout(g,250):\"function\"===typeof a&&a()}for(var b=d||document.body,s=b.ownerDocument||document,b=[b.getElementsByTagName(\"pre\"),b.getElementsByTagName(\"code\"),b.getElementsByTagName(\"xmp\")],p=[],m=0;m<b.length;++m)for(var j=0,k=b[m].length;j<k;++j)p.push(b[m][j]);var b=q,c=Date;c.now||(c={now:function(){return+new Date}});var i=0,r,n=/\\blang(?:uage)?-([\\w.]+)(?!\\S)/,e=/\\bprettyprint\\b/,v=/\\bprettyprinted\\b/,w=/pre|xmp/i,t=/^code$/i,f=/^(?:pre|code|xmp)$/i,\n  h={};g()}};typeof define===\"function\"&&define.amd&&define(\"google-code-prettify\",[],function(){return Y})})();}()\n  </script>\n  <script>\n  /*!\n  * Bootstrap.js by @fat & @mdo\n  * Copyright 2013 Twitter, Inc.\n  * http://www.apache.org/licenses/LICENSE-2.0.txt\n  */\n  !function(e){\"use strict\";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement(\"bootstrap\"),t={WebkitTransition:\"webkitTransitionEnd\",MozTransition:\"transitionend\",OTransition:\"oTransitionEnd otransitionend\",transition:\"transitionend\"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){\"use strict\";var t='[data-dismiss=\"alert\"]',n=function(n){e(n).on(\"click\",t,this.close)};n.prototype.close=function(t){function s(){i.trigger(\"closed\").remove()}var n=e(this),r=n.attr(\"data-target\"),i;r||(r=n.attr(\"href\"),r=r&&r.replace(/.*(?=#[^\\s]*$)/,\"\")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass(\"alert\")?n:n.parent()),i.trigger(t=e.Event(\"close\"));if(t.isDefaultPrevented())return;i.removeClass(\"in\"),e.support.transition&&i.hasClass(\"fade\")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data(\"alert\");i||r.data(\"alert\",i=new n(this)),typeof t==\"string\"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on(\"click.alert.data-api\",t,n.prototype.close)}(window.jQuery),!function(e){\"use strict\";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t=\"disabled\",n=this.$element,r=n.data(),i=n.is(\"input\")?\"val\":\"html\";e+=\"Text\",r.resetText||n.data(\"resetText\",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e==\"loadingText\"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle=\"buttons-radio\"]');e&&e.find(\".active\").removeClass(\"active\"),this.$element.toggleClass(\"active\")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data(\"button\"),s=typeof n==\"object\"&&n;i||r.data(\"button\",i=new t(this,s)),n==\"toggle\"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:\"loading...\"},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on(\"click.button.data-api\",\"[data-toggle^=button]\",function(t){var n=e(t.target);n.hasClass(\"btn\")||(n=n.closest(\".btn\")),n.button(\"toggle\")})}(window.jQuery),!function(e){\"use strict\";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(\".carousel-indicators\"),this.options=n,this.options.pause==\"hover\"&&this.$element.on(\"mouseenter\",e.proxy(this.pause,this)).on(\"mouseleave\",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(\".item.active\"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one(\"slid\",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?\"next\":\"prev\",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(\".next, .prev\").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide(\"next\")},prev:function(){if(this.sliding)return;return this.slide(\"prev\")},slide:function(t,n){var r=this.$element.find(\".item.active\"),i=n||r[t](),s=this.interval,o=t==\"next\"?\"left\":\"right\",u=t==\"next\"?\"first\":\"last\",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(\".item\")[u](),f=e.Event(\"slide\",{relatedTarget:i[0],direction:o});if(i.hasClass(\"active\"))return;this.$indicators.length&&(this.$indicators.find(\".active\").removeClass(\"active\"),this.$element.one(\"slid\",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass(\"active\")}));if(e.support.transition&&this.$element.hasClass(\"slide\")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(\" \")).addClass(\"active\"),r.removeClass([\"active\",o].join(\" \")),a.sliding=!1,setTimeout(function(){a.$element.trigger(\"slid\")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass(\"active\"),i.addClass(\"active\"),this.sliding=!1,this.$element.trigger(\"slid\")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data(\"carousel\"),s=e.extend({},e.fn.carousel.defaults,typeof n==\"object\"&&n),o=typeof n==\"string\"?n:s.slide;i||r.data(\"carousel\",i=new t(this,s)),typeof n==\"number\"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:\"hover\"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on(\"click.carousel.data-api\",\"[data-slide], [data-slide-to]\",function(t){var n=e(this),r,i=e(n.attr(\"data-target\")||(r=n.attr(\"href\"))&&r.replace(/.*(?=#[^\\s]+$)/,\"\")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr(\"data-slide-to\"))&&i.data(\"carousel\").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){\"use strict\";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass(\"width\");return e?\"width\":\"height\"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass(\"in\"))return;t=this.dimension(),n=e.camelCase([\"scroll\",t].join(\"-\")),r=this.$parent&&this.$parent.find(\"> .accordion-group > .in\");if(r&&r.length){i=r.data(\"collapse\");if(i&&i.transitioning)return;r.collapse(\"hide\"),i||r.data(\"collapse\",null)}this.$element[t](0),this.transition(\"addClass\",e.Event(\"show\"),\"shown\"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass(\"in\"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition(\"removeClass\",e.Event(\"hide\"),\"hidden\"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass(\"collapse\")[t](e||\"auto\")[0].offsetWidth,this.$element[e!==null?\"addClass\":\"removeClass\"](\"collapse\"),this},transition:function(t,n,r){var i=this,s=function(){n.type==\"show\"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t](\"in\"),e.support.transition&&this.$element.hasClass(\"collapse\")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass(\"in\")?\"hide\":\"show\"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data(\"collapse\"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n==\"object\"&&n);i||r.data(\"collapse\",i=new t(this,s)),typeof n==\"string\"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on(\"click.collapse.data-api\",\"[data-toggle=collapse]\",function(t){var n=e(this),r,i=n.attr(\"data-target\")||t.preventDefault()||(r=n.attr(\"href\"))&&r.replace(/.*(?=#[^\\s]+$)/,\"\"),s=e(i).data(\"collapse\")?\"toggle\":n.data();n[e(i).hasClass(\"in\")?\"addClass\":\"removeClass\"](\"collapsed\"),e(i).collapse(s)})}(window.jQuery),!function(e){\"use strict\";function r(){e(\".dropdown-backdrop\").remove(),e(t).each(function(){i(e(this)).removeClass(\"open\")})}function i(t){var n=t.attr(\"data-target\"),r;n||(n=t.attr(\"href\"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\\s]*$)/,\"\")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t=\"[data-toggle=dropdown]\",n=function(t){var n=e(t).on(\"click.dropdown.data-api\",this.toggle);e(\"html\").on(\"click.dropdown.data-api\",function(){n.parent().removeClass(\"open\")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(\".disabled, :disabled\"))return;return s=i(n),o=s.hasClass(\"open\"),r(),o||(\"ontouchstart\"in document.documentElement&&e('<div class=\"dropdown-backdrop\"/>').insertBefore(e(this)).on(\"click\",r),s.toggleClass(\"open\")),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(\".disabled, :disabled\"))return;u=i(r),a=u.hasClass(\"open\");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e(\"[role=menu] li:not(.divider):visible a\",u);if(!s.length)return;f=s.index(s.filter(\":focus\")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data(\"dropdown\");i||r.data(\"dropdown\",i=new n(this)),typeof t==\"string\"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on(\"click.dropdown.data-api\",r).on(\"click.dropdown.data-api\",\".dropdown form\",function(e){e.stopPropagation()}).on(\"click.dropdown.data-api\",t,n.prototype.toggle).on(\"keydown.dropdown.data-api\",t+\", [role=menu]\",n.prototype.keydown)}(window.jQuery),!function(e){\"use strict\";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss=\"modal\"]',\"click.dismiss.modal\",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(\".modal-body\").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?\"hide\":\"show\"]()},show:function(){var t=this,n=e.Event(\"show\");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass(\"fade\");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass(\"in\").attr(\"aria-hidden\",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger(\"shown\")}):t.$element.focus().trigger(\"shown\")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event(\"hide\"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off(\"focusin.modal\"),this.$element.removeClass(\"in\").attr(\"aria-hidden\",!0),e.support.transition&&this.$element.hasClass(\"fade\")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on(\"focusin.modal\",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on(\"keyup.dismiss.modal\",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off(\"keyup.dismiss.modal\")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger(\"hidden\")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass(\"fade\")?\"fade\":\"\";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class=\"modal-backdrop '+r+'\" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop==\"static\"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass(\"in\");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass(\"in\"),e.support.transition&&this.$element.hasClass(\"fade\")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data(\"modal\"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n==\"object\"&&n);i||r.data(\"modal\",i=new t(this,s)),typeof n==\"string\"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on(\"click.modal.data-api\",'[data-toggle=\"modal\"]',function(t){var n=e(this),r=n.attr(\"href\"),i=e(n.attr(\"data-target\")||r&&r.replace(/.*(?=#[^\\s]+$)/,\"\")),s=i.data(\"modal\")?\"toggle\":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one(\"hide\",function(){n.focus()})})}(window.jQuery),!function(e){\"use strict\";var t=function(e,t){this.init(\"tooltip\",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(\" \");for(a=o.length;a--;)u=o[a],u==\"click\"?this.$element.on(\"click.\"+this.type,this.options.selector,e.proxy(this.toggle,this)):u!=\"manual\"&&(i=u==\"hover\"?\"mouseenter\":\"focus\",s=u==\"hover\"?\"mouseleave\":\"blur\",this.$element.on(i+\".\"+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+\".\"+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:\"manual\",selector:\"\"}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay==\"number\"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState=\"in\",this.timeout=setTimeout(function(){i.hoverState==\"in\"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState=\"out\",this.timeout=setTimeout(function(){n.hoverState==\"out\"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event(\"show\");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass(\"fade\"),s=typeof this.options.placement==\"function\"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:\"block\"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case\"bottom\":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case\"top\":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case\"left\":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case\"right\":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger(\"shown\")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass(\"in\"),s=n[0].offsetWidth,o=n[0].offsetHeight,t==\"top\"&&o!=i&&(e.top=e.top+i-o,a=!0),t==\"bottom\"||t==\"top\"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,\"left\")):this.replaceArrow(o-i,o,\"top\"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+\"%\":\"\")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(\".tooltip-inner\")[this.options.html?\"html\":\"text\"](t),e.removeClass(\"fade in top bottom left right\")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event(\"hide\");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass(\"in\"),e.support.transition&&this.$tip.hasClass(\"fade\")?i():n.detach(),this.$element.trigger(\"hidden\"),this},fixTitle:function(){var e=this.$element;(e.attr(\"title\")||typeof e.attr(\"data-original-title\")!=\"string\")&&e.attr(\"data-original-title\",e.attr(\"title\")||\"\").attr(\"title\",\"\")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect==\"function\"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr(\"data-original-title\")||(typeof n.title==\"function\"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(\".tooltip-arrow\")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass(\"in\")?n.hide():n.show()},destroy:function(){this.hide().$element.off(\".\"+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data(\"tooltip\"),s=typeof n==\"object\"&&n;i||r.data(\"tooltip\",i=new t(this,s)),typeof n==\"string\"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:\"top\",selector:!1,template:'<div class=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',trigger:\"hover focus\",title:\"\",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){\"use strict\";var t=function(e,t){this.init(\"popover\",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(\".popover-title\")[this.options.html?\"html\":\"text\"](t),e.find(\".popover-content\")[this.options.html?\"html\":\"text\"](n),e.removeClass(\"fade top bottom left right in\")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content==\"function\"?n.content.call(t[0]):n.content)||t.attr(\"data-content\"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off(\".\"+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data(\"popover\"),s=typeof n==\"object\"&&n;i||r.data(\"popover\",i=new t(this,s)),typeof n==\"string\"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:\"right\",trigger:\"click\",content:\"\",template:'<div class=\"popover\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){\"use strict\";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is(\"body\")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on(\"scroll.scroll-spy.data-api\",r),this.selector=(this.options.target||(s=e(t).attr(\"href\"))&&s.replace(/.*(?=#[^\\s]+$)/,\"\")||\"\")+\" .nav li > a\",this.$body=e(\"body\"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data(\"target\")||n.attr(\"href\"),i=/^#\\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(\".active\").removeClass(\"active\"),r=this.selector+'[data-target=\"'+t+'\"],'+this.selector+'[href=\"'+t+'\"]',n=e(r).parent(\"li\").addClass(\"active\"),n.parent(\".dropdown-menu\").length&&(n=n.closest(\"li.dropdown\").addClass(\"active\")),n.trigger(\"activate\")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data(\"scrollspy\"),s=typeof n==\"object\"&&n;i||r.data(\"scrollspy\",i=new t(this,s)),typeof n==\"string\"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on(\"load\",function(){e('[data-spy=\"scroll\"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){\"use strict\";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest(\"ul:not(.dropdown-menu)\"),r=t.attr(\"data-target\"),i,s,o;r||(r=t.attr(\"href\"),r=r&&r.replace(/.*(?=#[^\\s]*$)/,\"\"));if(t.parent(\"li\").hasClass(\"active\"))return;i=n.find(\".active:last a\")[0],o=e.Event(\"show\",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent(\"li\"),n),this.activate(s,s.parent(),function(){t.trigger({type:\"shown\",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass(\"active\").find(\"> .dropdown-menu > .active\").removeClass(\"active\"),t.addClass(\"active\"),s?(t[0].offsetWidth,t.addClass(\"in\")):t.removeClass(\"fade\"),t.parent(\".dropdown-menu\")&&t.closest(\"li.dropdown\").addClass(\"active\"),r&&r()}var i=n.find(\"> .active\"),s=r&&e.support.transition&&i.hasClass(\"fade\");s?i.one(e.support.transition.end,o):o(),i.removeClass(\"in\")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data(\"tab\");i||r.data(\"tab\",i=new t(this)),typeof n==\"string\"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on(\"click.tab.data-api\",'[data-toggle=\"tab\"], [data-toggle=\"pill\"]',function(t){t.preventDefault(),e(this).tab(\"show\")})}(window.jQuery),!function(e){\"use strict\";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(\".active\").attr(\"data-value\");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,\"\\\\$&\");return e.replace(new RegExp(\"(\"+t+\")\",\"ig\"),function(e,t){return\"<strong>\"+t+\"</strong>\"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr(\"data-value\",r),t.find(\"a\").html(n.highlighter(r)),t[0]}),t.first().addClass(\"active\"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(\".active\").removeClass(\"active\"),r=n.next();r.length||(r=e(this.$menu.find(\"li\")[0])),r.addClass(\"active\")},prev:function(e){var t=this.$menu.find(\".active\").removeClass(\"active\"),n=t.prev();n.length||(n=this.$menu.find(\"li\").last()),n.addClass(\"active\")},listen:function(){this.$element.on(\"focus\",e.proxy(this.focus,this)).on(\"blur\",e.proxy(this.blur,this)).on(\"keypress\",e.proxy(this.keypress,this)).on(\"keyup\",e.proxy(this.keyup,this)),this.eventSupported(\"keydown\")&&this.$element.on(\"keydown\",e.proxy(this.keydown,this)),this.$menu.on(\"click\",e.proxy(this.click,this)).on(\"mouseenter\",\"li\",e.proxy(this.mouseenter,this)).on(\"mouseleave\",\"li\",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,\"return;\"),t=typeof this.$element[e]==\"function\"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(\".active\").removeClass(\"active\"),e(t.currentTarget).addClass(\"active\")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data(\"typeahead\"),s=typeof n==\"object\"&&n;i||r.data(\"typeahead\",i=new t(this,s)),typeof n==\"string\"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class=\"typeahead dropdown-menu\"></ul>',item:'<li><a href=\"#\"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on(\"focus.typeahead.data-api\",'[data-provide=\"typeahead\"]',function(t){var n=e(this);if(n.data(\"typeahead\"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){\"use strict\";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on(\"scroll.affix.data-api\",e.proxy(this.checkPosition,this)).on(\"click.affix.data-api\",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(\":visible\"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u=\"affix affix-top affix-bottom\",a;typeof i!=\"object\"&&(s=o=i),typeof o==\"function\"&&(o=i.top()),typeof s==\"function\"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?\"bottom\":o!=null&&n<=o?\"top\":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a==\"bottom\"?r.top-n:null,this.$element.removeClass(u).addClass(\"affix\"+(a?\"-\"+a:\"\"))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data(\"affix\"),s=typeof n==\"object\"&&n;i||r.data(\"affix\",i=new t(this,s)),typeof n==\"string\"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on(\"load\",function(){e('[data-spy=\"affix\"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);\n  </script>\n  <script>\n  /**\n   * marked - a markdown parser\n   * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n   * https://github.com/chjj/marked\n   */\n  (function(){var block={newline:/^\\n+/,code:/^( {4}[^\\n]+\\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\\n+|$)/,heading:/^ *(#{1,6}) *([^\\n]+?) *#* *(?:\\n+|$)/,nptable:noop,lheading:/^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,blockquote:/^( *>[^\\n]+(\\n(?!def)[^\\n]+)*\\n*)+/,list:/^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,html:/^ *(?:comment *(?:\\n|\\s*$)|closed *(?:\\n{2,}|\\s*$)|closing *(?:\\n{2,}|\\s*$))/,def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +[\"(]([^\\n]+)[\")])? *(?:\\n+|$)/,table:noop,paragraph:/^((?:[^\\n]+\\n?(?!hr|heading|lheading|blockquote|tag|def))+)\\n*/,text:/^[^\\n]+/};block.bullet=/(?:[*+-]|\\d+\\.)/;block.item=/^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/;block.item=replace(block.item,\"gm\")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)(\"hr\",\"\\\\n+(?=\\\\1?(?:[-*_] *){3,}(?:\\\\n+|$))\")(\"def\",\"\\\\n+(?=\"+block.def.source+\")\")();block.blockquote=replace(block.blockquote)(\"def\",block.def)();block._tag=\"(?!(?:\"+\"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code\"+\"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo\"+\"|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:/|[^\\\\w\\\\s@]*@)\\\\b\";block.html=replace(block.html)(\"comment\",/<!--[\\s\\S]*?-->/)(\"closed\",/<(tag)[\\s\\S]+?<\\/\\1>/)(\"closing\",/<tag(?:\"[^\"]*\"|'[^']*'|[^'\">])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)(\"hr\",block.hr)(\"heading\",block.heading)(\"lheading\",block.lheading)(\"blockquote\",block.blockquote)(\"tag\",\"<\"+block._tag)(\"def\",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \\.]*(\\S+)? *\\n([\\s\\S]*?)\\s*\\1 *(?:\\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/});block.gfm.paragraph=replace(block.paragraph)(\"(?!\",\"(?!\"+block.gfm.fences.source.replace(\"\\\\1\",\"\\\\2\")+\"|\"+block.list.source.replace(\"\\\\1\",\"\\\\3\")+\"|\")();block.tables=merge({},block.gfm,{nptable:/^ *(\\S.*\\|.*)\\n *([-:]+ *\\|[-| :]*)\\n((?:.*\\|.*(?:\\n|$))*)\\n*/,table:/^ *\\|(.+)\\n *\\|( *[-:]+[-| :]*)\\n((?: *\\|.*(?:\\n|$))*)\\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\\r\\n|\\r/g,\"\\n\").replace(/\\t/g,\"    \").replace(/\\u00a0/g,\" \").replace(/\\u2424/g,\"\\n\");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,\"\"),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:\"space\"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,\"\");this.tokens.push({type:\"code\",text:!this.options.pedantic?cap.replace(/\\n+$/,\"\"):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:\"code\",lang:cap[2],text:cap[3]||\"\"});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:\"heading\",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:\"table\",header:cap[1].replace(/^ *| *\\| *$/g,\"\").split(/ *\\| */),align:cap[2].replace(/^ *|\\| *$/g,\"\").split(/ *\\| */),cells:cap[3].replace(/\\n$/,\"\").split(\"\\n\")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]=\"right\"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]=\"center\"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]=\"left\"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].split(/ *\\| */)}this.tokens.push(item);continue}if(cap=this.rules.lheading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:\"heading\",depth:cap[2]===\"=\"?1:2,text:cap[1]});continue}if(cap=this.rules.hr.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:\"hr\"});continue}if(cap=this.rules.blockquote.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:\"blockquote_start\"});cap=cap[0].replace(/^ *> ?/gm,\"\");this.token(cap,top,true);this.tokens.push({type:\"blockquote_end\"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:\"list_start\",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i<l;i++){item=cap[i];space=item.length;item=item.replace(/^ *([*+-]|\\d+\\.) +/,\"\");if(~item.indexOf(\"\\n \")){space-=item.length;item=!this.options.pedantic?item.replace(new RegExp(\"^ {1,\"+space+\"}\",\"gm\"),\"\"):item.replace(/^ {1,4}/gm,\"\")}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(cap[i+1])[0];if(bull!==b&&!(bull.length>1&&b.length>1)){src=cap.slice(i+1).join(\"\\n\")+src;i=l-1}}loose=next||/\\n\\n(?!\\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)===\"\\n\";if(!loose)loose=next}this.tokens.push({type:loose?\"loose_item_start\":\"list_item_start\"});this.token(item,false,bq);this.tokens.push({type:\"list_item_end\"})}this.tokens.push({type:\"list_end\"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?\"paragraph\":\"html\",pre:!this.options.sanitizer&&(cap[1]===\"pre\"||cap[1]===\"script\"||cap[1]===\"style\"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:\"table\",header:cap[1].replace(/^ *| *\\| *$/g,\"\").split(/ *\\| */),align:cap[2].replace(/^ *|\\| *$/g,\"\").split(/ *\\| */),cells:cap[3].replace(/(?: *\\| *)?\\n$/,\"\").split(\"\\n\")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]=\"right\"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]=\"center\"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]=\"left\"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].replace(/^ *\\| *| *\\| *$/g,\"\").split(/ *\\| */)}this.tokens.push(item);continue}if(top&&(cap=this.rules.paragraph.exec(src))){src=src.substring(cap[0].length);this.tokens.push({type:\"paragraph\",text:cap[1].charAt(cap[1].length-1)===\"\\n\"?cap[1].slice(0,-1):cap[1]});continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:\"text\",text:cap[0]});continue}if(src){throw new Error(\"Infinite loop on byte: \"+src.charCodeAt(0))}}return this.tokens};var inline={escape:/^\\\\([\\\\`*{}\\[\\]()#+\\-.!_>])/,autolink:/^<([^ >]+(@|:\\/)[^ >]+)>/,url:noop,tag:/^<!--[\\s\\S]*?-->|^<\\/?\\w+(?:\"[^\"]*\"|'[^']*'|[^'\">])*?>/,link:/^!?\\[(inside)\\]\\(href\\)/,reflink:/^!?\\[(inside)\\]\\s*\\[([^\\]]*)\\]/,nolink:/^!?\\[((?:\\[[^\\]]*\\]|[^\\[\\]])*)\\]/,strong:/^__([\\s\\S]+?)__(?!_)|^\\*\\*([\\s\\S]+?)\\*\\*(?!\\*)/,em:/^\\b_((?:[^_]|__)+?)_\\b|^\\*((?:\\*\\*|[\\s\\S])+?)\\*(?!\\*)/,code:/^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,br:/^ {2,}\\n(?!\\s*$)/,del:noop,text:/^[\\s\\S]+?(?=[\\\\<!\\[_*`]| {2,}\\n|$)/};inline._inside=/(?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*/;inline._href=/\\s*<?([\\s\\S]*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*/;inline.link=replace(inline.link)(\"inside\",inline._inside)(\"href\",inline._href)();inline.reflink=replace(inline.reflink)(\"inside\",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,em:/^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)(\"])\",\"~|])\")(),url:/^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/,del:/^~~(?=\\S)([\\s\\S]*?\\S)~~/,text:replace(inline.text)(\"]|\",\"~]|\")(\"|\",\"|https?://|\")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)(\"{2,}\",\"*\")(),text:replace(inline.gfm.text)(\"{2,}\",\"*\")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error(\"Tokens array requires a `links` property.\")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out=\"\",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]===\"@\"){text=cap[1].charAt(6)===\":\"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle(\"mailto:\")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^<a /i.test(cap[0])){this.inLink=true}else if(this.inLink&&/^<\\/a>/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\\s+/g,\" \");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error(\"Infinite loop on byte: \"+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!==\"!\"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,\"—\").replace(/--/g,\"–\").replace(/(^|[-\\u2014/(\\[{\"\\s])'/g,\"$1‘\").replace(/'/g,\"’\").replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g,\"$1“\").replace(/\"/g,\"”\").replace(/\\.{3}/g,\"…\")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out=\"\",l=text.length,i=0,ch;for(;i<l;i++){ch=text.charCodeAt(i);if(Math.random()>.5){ch=\"x\"+ch.toString(16)}out+=\"&#\"+ch+\";\"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return\"<pre><code>\"+(escaped?code:escape(code,true))+\"\\n</code></pre>\"}return'<pre><code class=\"'+this.options.langPrefix+escape(lang,true)+'\">'+(escaped?code:escape(code,true))+\"\\n</code></pre>\\n\"};Renderer.prototype.blockquote=function(quote){return\"<blockquote>\\n\"+quote+\"</blockquote>\\n\"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return\"<h\"+level+' id=\"'+this.options.headerPrefix+raw.toLowerCase().replace(/[^\\w]+/g,\"-\")+'\">'+text+\"</h\"+level+\">\\n\"};Renderer.prototype.hr=function(){return this.options.xhtml?\"<hr/>\\n\":\"<hr>\\n\"};Renderer.prototype.list=function(body,ordered){var type=ordered?\"ol\":\"ul\";return\"<\"+type+\">\\n\"+body+\"</\"+type+\">\\n\"};Renderer.prototype.listitem=function(text){return\"<li>\"+text+\"</li>\\n\"};Renderer.prototype.paragraph=function(text){return\"<p>\"+text+\"</p>\\n\"};Renderer.prototype.table=function(header,body){return\"<table>\\n\"+\"<thead>\\n\"+header+\"</thead>\\n\"+\"<tbody>\\n\"+body+\"</tbody>\\n\"+\"</table>\\n\"};Renderer.prototype.tablerow=function(content){return\"<tr>\\n\"+content+\"</tr>\\n\"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?\"th\":\"td\";var tag=flags.align?\"<\"+type+' style=\"text-align:'+flags.align+'\">':\"<\"+type+\">\";return tag+content+\"</\"+type+\">\\n\"};Renderer.prototype.strong=function(text){return\"<strong>\"+text+\"</strong>\"};Renderer.prototype.em=function(text){return\"<em>\"+text+\"</em>\"};Renderer.prototype.codespan=function(text){return\"<code>\"+text+\"</code>\"};Renderer.prototype.br=function(){return this.options.xhtml?\"<br/>\":\"<br>\"};Renderer.prototype.del=function(text){return\"<del>\"+text+\"</del>\"};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\\w:]/g,\"\").toLowerCase()}catch(e){return\"\"}if(prot.indexOf(\"javascript:\")===0||prot.indexOf(\"vbscript:\")===0){return\"\"}}var out='<a href=\"'+href+'\"';if(title){out+=' title=\"'+title+'\"'}out+=\">\"+text+\"</a>\";return out};Renderer.prototype.image=function(href,title,text){var out='<img src=\"'+href+'\" alt=\"'+text+'\"';if(title){out+=' title=\"'+title+'\"'}out+=this.options.xhtml?\"/>\":\">\";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out=\"\";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type===\"text\"){body+=\"\\n\"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case\"space\":{return\"\"}case\"hr\":{return this.renderer.hr()}case\"heading\":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case\"code\":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case\"table\":{var header=\"\",body=\"\",i,row,cell,flags,j;cell=\"\";for(i=0;i<this.token.header.length;i++){flags={header:true,align:this.token.align[i]};cell+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]})}header+=this.renderer.tablerow(cell);for(i=0;i<this.token.cells.length;i++){row=this.token.cells[i];cell=\"\";for(j=0;j<row.length;j++){cell+=this.renderer.tablecell(this.inline.output(row[j]),{header:false,align:this.token.align[j]})}body+=this.renderer.tablerow(cell)}return this.renderer.table(header,body)}case\"blockquote_start\":{var body=\"\";while(this.next().type!==\"blockquote_end\"){body+=this.tok()}return this.renderer.blockquote(body)}case\"list_start\":{var body=\"\",ordered=this.token.ordered;while(this.next().type!==\"list_end\"){body+=this.tok()}return this.renderer.list(body,ordered)}case\"list_item_start\":{var body=\"\";while(this.next().type!==\"list_item_end\"){body+=this.token.type===\"text\"?this.parseText():this.tok()}return this.renderer.listitem(body)}case\"loose_item_start\":{var body=\"\";while(this.next().type!==\"list_item_end\"){body+=this.tok()}return this.renderer.listitem(body)}case\"html\":{var html=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(html)}case\"paragraph\":{return this.renderer.paragraph(this.inline.output(this.token.text))}case\"text\":{return this.renderer.paragraph(this.parseText())}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\\w+;)/g:/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\")}function unescape(html){return html.replace(/&([#\\w]+);/g,function(_,n){n=n.toLowerCase();if(n===\"colon\")return\":\";if(n.charAt(0)===\"#\"){return n.charAt(1)===\"x\"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return\"\"})}function replace(regex,opt){regex=regex.source;opt=opt||\"\";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\\[])\\^/g,\"$1\");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function marked(src,opt,callback){if(callback||typeof opt===\"function\"){if(!callback){callback=opt;opt=null}opt=merge({},marked.defaults,opt||{});var highlight=opt.highlight,tokens,pending,i=0;try{tokens=Lexer.lex(src,opt)}catch(e){return callback(e)}pending=tokens.length;var done=function(err){if(err){opt.highlight=highlight;return callback(err)}var out;try{out=Parser.parse(tokens,opt)}catch(e){err=e}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!pending)return done();for(;i<tokens.length;i++){(function(token){if(token.type!==\"code\"){return--pending||done()}return highlight(token.text,token.lang,function(err,code){if(err)return done(err);if(code==null||code===token.text){return--pending||done()}token.text=code;token.escaped=true;--pending||done()})})(tokens[i])}return}try{if(opt)opt=merge({},marked.defaults,opt);return Parser.parse(Lexer.lex(src,opt),opt)}catch(e){e.message+=\"\\nPlease report this to https://github.com/chjj/marked.\";if((opt||marked.defaults).silent){return\"<p>An error occurred:</p><pre>\"+escape(e.message+\"\",true)+\"</pre>\"}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:\"lang-\",smartypants:false,headerPrefix:\"\",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!==\"undefined\"&&typeof exports===\"object\"){module.exports=marked}else if(typeof define===\"function\"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!==\"undefined\"?window:global)}());\n  </script>\n  <script>\n    $( document ).ready(function() {\n      marked.setOptions({\n        renderer: new marked.Renderer(),\n        gfm: true,\n        tables: true,\n        breaks: false,\n        pedantic: false,\n        sanitize: false,\n        smartLists: true,\n        smartypants: false\n      });\n\n      var textFile = null;\n\n      /// Function to be used to download a text json schema\n      function makeTextFile(text) {\n\n        var data = new Blob([text], {type: 'text/plain'});\n\n        // If we are replacing a previously generated file we need to\n        // manually revoke the object URL to avoid memory leaks.\n        if (textFile !== null) {\n          window.URL.revokeObjectURL(textFile);\n        }\n\n        textFile = window.URL.createObjectURL(data);\n\n        var a = document.createElement(\"a\");\n        document.body.appendChild(a);\n        a.style = \"display: none\";\n        a.href = textFile;\n        a.download = 'schema.txt';\n        a.click();\n\n        return textFile;\n      };\n\n      /// TODO: Implement resizing for expanding within iframe\n      function callResize() {\n        window.parent.postMessage('resize', \"*\");\n      }\n\n      function processMarked() {\n        $(\".marked\").each(function() {\n          $(this).html(marked($(this).html()));\n        });\n      }\n\n      // Bootstrap Scrollspy\n      $(this).scrollspy({ target: '#scrollingNav', offset: 18 });\n\n      // Content-Scroll on Navigation click.\n      $('.sidenav').find('a').on('click', function(e) {\n          e.preventDefault();\n          var id = $(this).attr('href');\n          if ($(id).length > 0)\n              $('html,body').animate({ scrollTop: parseInt($(id).offset().top) }, 400);\n          window.location.hash = $(this).attr('href');\n      });\n\n      // Quickjump on Pageload to hash position.\n      if(window.location.hash) {\n          var id = window.location.hash;\n          if ($(id).length > 0)\n              $('html,body').animate({ scrollTop: parseInt($(id).offset().top) }, 0);\n      }\n\n\n      function initDynamic() {\n        // tabs\n        $('.nav-tabs-examples a').click(function (e) {\n            e.preventDefault();\n            $(this).tab('show');\n        });\n\n\n        $('.nav-tabs-examples').find('a:first').tab('show');\n\n        // call scrollspy refresh method\n        $(window).scrollspy('refresh');\n      }\n\n      initDynamic();\n\n      // Pre- / Code-Format\n      prettyPrint();\n\n      //Convert elements with \"marked\" class to markdown\n      processMarked();\n    });\n  </script>\n  <style type=\"text/css\">\n\n  /*!\n   * Bootstrap v2.3.2\n   *\n   * Copyright 2013 Twitter, Inc\n   * Licensed under the Apache License v2.0\n   * http://www.apache.org/licenses/LICENSE-2.0\n   *\n   * Designed and built with all the love in the world by @mdo and @fat.\n   */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:\"\"}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type=\"button\"],input[type=\"reset\"],input[type=\"submit\"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type=\"button\"],input[type=\"reset\"],input[type=\"submit\"],input[type=\"radio\"],input[type=\"checkbox\"]{cursor:pointer}input[type=\"search\"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=\"search\"]::-webkit-search-decoration,input[type=\"search\"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:\" (\" attr(href) \")\"}abbr[title]:after{content:\" (\" attr(title) \")\"}.ir a:after,a[href^=\"javascript:\"]:after,a[href^=\"#\"]:after{content:\"\"}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:\"\"}.row:after{clear:both}[class*=\"span\"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:\"\"}.row-fluid:after{clear:both}.row-fluid [class*=\"span\"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*=\"span\"]:first-child{margin-left:0}.row-fluid .controls-row [class*=\"span\"]+[class*=\"span\"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*=\"span\"].hide,.row-fluid [class*=\"span\"].hide{display:none}[class*=\"span\"].pull-right,.row-fluid [class*=\"span\"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:\"\"}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:\"\"}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:\"\"}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\\2014 \\00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\\00A0 \\2014'}q:before,q:after,blockquote:before,blockquote:after{content:\"\"}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,\"Courier New\",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type=\"text\"],input[type=\"password\"],input[type=\"datetime\"],input[type=\"datetime-local\"],input[type=\"date\"],input[type=\"month\"],input[type=\"time\"],input[type=\"week\"],input[type=\"number\"],input[type=\"email\"],input[type=\"url\"],input[type=\"search\"],input[type=\"tel\"],input[type=\"color\"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type=\"text\"],input[type=\"password\"],input[type=\"datetime\"],input[type=\"datetime-local\"],input[type=\"date\"],input[type=\"month\"],input[type=\"time\"],input[type=\"week\"],input[type=\"number\"],input[type=\"email\"],input[type=\"url\"],input[type=\"search\"],input[type=\"tel\"],input[type=\"color\"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type=\"text\"]:focus,input[type=\"password\"]:focus,input[type=\"datetime\"]:focus,input[type=\"datetime-local\"]:focus,input[type=\"date\"]:focus,input[type=\"month\"]:focus,input[type=\"time\"]:focus,input[type=\"week\"]:focus,input[type=\"number\"]:focus,input[type=\"email\"]:focus,input[type=\"url\"]:focus,input[type=\"search\"]:focus,input[type=\"tel\"]:focus,input[type=\"color\"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \\9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type=\"radio\"],input[type=\"checkbox\"]{margin:4px 0 0;margin-top:1px \\9;*margin-top:0;line-height:normal}input[type=\"file\"],input[type=\"image\"],input[type=\"submit\"],input[type=\"reset\"],input[type=\"button\"],input[type=\"radio\"],input[type=\"checkbox\"]{width:auto}select,input[type=\"file\"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type=\"file\"]:focus,input[type=\"radio\"]:focus,input[type=\"checkbox\"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type=\"radio\"],.checkbox input[type=\"checkbox\"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*=\"span\"],select[class*=\"span\"],textarea[class*=\"span\"],.uneditable-input[class*=\"span\"],.row-fluid input[class*=\"span\"],.row-fluid select[class*=\"span\"],.row-fluid textarea[class*=\"span\"],.row-fluid .uneditable-input[class*=\"span\"]{float:none;margin-left:0}.input-append input[class*=\"span\"],.input-append .uneditable-input[class*=\"span\"],.input-prepend input[class*=\"span\"],.input-prepend .uneditable-input[class*=\"span\"],.row-fluid input[class*=\"span\"],.row-fluid select[class*=\"span\"],.row-fluid textarea[class*=\"span\"],.row-fluid .uneditable-input[class*=\"span\"],.row-fluid .input-prepend [class*=\"span\"],.row-fluid .input-append [class*=\"span\"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*=\"span\"]+[class*=\"span\"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:\"\"}.controls-row:after{clear:both}.controls-row [class*=\"span\"],.row-fluid .controls-row [class*=\"span\"]{float:left}.controls-row .checkbox[class*=\"span\"],.controls-row .radio[class*=\"span\"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type=\"radio\"][disabled],input[type=\"checkbox\"][disabled],input[type=\"radio\"][readonly],input[type=\"checkbox\"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:\"\"}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \\9;padding-left:14px;padding-left:4px \\9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type=\"radio\"],.form-search .checkbox input[type=\"checkbox\"],.form-inline .radio input[type=\"radio\"],.form-inline .checkbox input[type=\"checkbox\"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:\"\"}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*=\"span\"],table th[class*=\"span\"],.row-fluid table td[class*=\"span\"],.row-fluid table th[class*=\"span\"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^=\"icon-\"],[class*=\" icon-\"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url(\"../img/glyphicons-halflings.png\");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^=\"icon-\"],.nav-pills>.active>a>[class*=\" icon-\"],.nav-list>.active>a>[class^=\"icon-\"],.nav-list>.active>a>[class*=\" icon-\"],.navbar-inverse .nav>.active>a>[class^=\"icon-\"],.navbar-inverse .nav>.active>a>[class*=\" icon-\"],.dropdown-menu>li>a:hover>[class^=\"icon-\"],.dropdown-menu>li>a:focus>[class^=\"icon-\"],.dropdown-menu>li>a:hover>[class*=\" icon-\"],.dropdown-menu>li>a:focus>[class*=\" icon-\"],.dropdown-menu>.active>a>[class^=\"icon-\"],.dropdown-menu>.active>a>[class*=\" icon-\"],.dropdown-submenu:hover>a>[class^=\"icon-\"],.dropdown-submenu:focus>a>[class^=\"icon-\"],.dropdown-submenu:hover>a>[class*=\" icon-\"],.dropdown-submenu:focus>a>[class*=\" icon-\"]{background-image:url(\"../img/glyphicons-halflings-white.png\")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:\"\"}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:\"\"}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:\" \"}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \\9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^=\"icon-\"],.btn-large [class*=\" icon-\"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^=\"icon-\"],.btn-small [class*=\" icon-\"]{margin-top:0}.btn-mini [class^=\"icon-\"],.btn-mini [class*=\" icon-\"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type=\"submit\"].btn-block,input[type=\"reset\"].btn-block,input[type=\"button\"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \\9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \\9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \\9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \\9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \\9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \\9}button.btn,input[type=\"submit\"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type=\"submit\"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type=\"submit\"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type=\"submit\"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type=\"submit\"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^=\"icon-\"],.nav-list [class*=\" icon-\"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:\"\"}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:\"\"}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:\"\"}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:\"\"}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type=\"image\"],.navbar-form input[type=\"checkbox\"],.navbar-form input[type=\"radio\"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \\9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \\9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:\"\"}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:\"\"}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:\"\"}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:\"\"}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}\n  /* Pretty printing styles. Used with prettify.js. */\n  /* Vim sunburst theme by David Leibovic */\n  pre .str {\n    color: #65B042;\n  }\n  /* string  - green */\n  pre .kwd {\n    color: #E28964;\n  }\n  /* keyword - dark pink */\n  pre .com {\n    color: #AEAEAE;\n    font-style: italic;\n  }\n  /* comment - gray */\n  pre .typ {\n    color: #89bdff;\n  }\n  /* type - light blue */\n  pre .lit {\n    color: #3387CC;\n  }\n  /* literal - blue */\n  pre .pun {\n    color: #fff;\n  }\n  /* punctuation - white */\n  pre .pln {\n    color: #fff;\n  }\n  /* plaintext - white */\n  pre .tag {\n    color: #89bdff;\n  }\n  /* html/xml tag    - light blue */\n  pre .atn {\n    color: #bdb76b;\n  }\n  /* html/xml attribute name  - khaki */\n  pre .atv {\n    color: #65B042;\n  }\n  /* html/xml attribute value - green */\n  pre .dec {\n    color: #3387CC;\n  }\n  /* decimal - blue */\n  /* Specify class=linenums on a pre to get line numbering */\n  ol.linenums {\n    margin-top: 0;\n    margin-bottom: 0;\n    color: #AEAEAE;\n  }\n  /* IE indents via margin-left */\n  li.L0,\n  li.L1,\n  li.L2,\n  li.L3,\n  li.L5,\n  li.L6,\n  li.L7,\n  li.L8 {\n    list-style-type: none;\n  }\n  /* Alternate shading for lines */\n  @media print {\n    pre .str {\n      color: #060;\n    }\n    pre .kwd {\n      color: #006;\n      font-weight: bold;\n    }\n    pre .com {\n      color: #600;\n      font-style: italic;\n    }\n    pre .typ {\n      color: #404;\n      font-weight: bold;\n    }\n    pre .lit {\n      color: #044;\n    }\n    pre .pun {\n      color: #440;\n    }\n    pre .pln {\n      color: #000;\n    }\n    pre .tag {\n      color: #006;\n      font-weight: bold;\n    }\n    pre .atn {\n      color: #404;\n    }\n    pre .atv {\n      color: #060;\n    }\n  }  /* ------------------------------------------------------------------------------------------\n   * Content\n   * ------------------------------------------------------------------------------------------ */\n\n  @import url('https://fonts.googleapis.com/css?family=Source+Code+Pro');\n  * {\n    font-family: 'Source Code Pro', sans-serif;\n  }\n  body {\n    min-width: 980px;\n  }\n\n  body, p, a, div, th, td {\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 400;\n    font-size: 16px;\n    text-shadow: none !important;\n  }\n\n  td.code {\n    font-size: 14px;\n    font-family: \"Source Code Pro\", monospace;\n    font-style: normal;\n    font-weight: 400;\n  }\n\n  #content {\n    padding-top: 16px;\n    z-Index: -1;\n    margin-left: 270px;\n  }\n\n  p {\n    color: #808080;\n  }\n\n  h1 {\n    font-family: \"Source Sans Pro Semibold\", sans-serif;\n    font-weight: normal;\n    font-size: 44px;\n    line-height: 50px;\n    margin: 0 0 10px 0;\n    padding: 0;\n  }\n\n  h2 {\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: normal;\n    font-size: 24px;\n    line-height: 40px;\n    margin: 0 0 20px 0;\n    padding: 0;\n  }\n\n  section {\n    border-top: 1px solid #ebebeb;\n    padding: 30px 0;\n  }\n\n  section h1 {\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 700;\n    font-size: 32px;\n    line-height: 40px;\n    padding-bottom: 14px;\n    margin: 0 0 20px 0;\n    padding: 0;\n  }\n\n  article {\n    padding: 14px 0 30px 0;\n  }\n\n  article h1 {\n    font-family: \"Source Sans Pro Bold\", sans-serif;\n    font-weight: 600;\n    font-size: 24px;\n    line-height: 26px;\n  }\n\n  article h2 {\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 600;\n    font-size: 18px;\n    line-height: 24px;\n    margin: 0 0 10px 0;\n  }\n\n  article h3 {\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 600;\n    font-size: 16px;\n    line-height: 18px;\n    margin: 0 0 10px 0;\n  }\n\n  article h4 {\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 600;\n    font-size: 14px;\n    line-height: 16px;\n    margin: 0 0 8px 0;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n    margin: 0 0 20px 0;\n  }\n\n  th {\n    background-color: #f5f5f5;\n    text-align: left;\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 700;\n    padding: 4px 8px;\n    border: #e0e0e0 1px solid;\n  }\n\n  td {\n    vertical-align: top;\n    padding: 2px 8px;\n    border: #e0e0e0 1px solid;\n  }\n\n  #generator .content {\n    color: #b0b0b0;\n    border-top: 1px solid #ebebeb;\n    padding: 10px 0;\n  }\n\n  .label-optional {\n    float: right;\n  }\n\n  .open-left {\n    right: 0;\n    left: auto;\n  }\n\n  /* ------------------------------------------------------------------------------------------\n   * apidoc - intro\n   * ------------------------------------------------------------------------------------------ */\n\n  #apidoc .apidoc {\n    border-top: 1px solid #ebebeb;\n    padding: 30px 0;\n  }\n\n  #apidoc h1 {\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 700;\n    font-size: 32px;\n    line-height: 40px;\n    padding-bottom: 14px;\n    margin: 0 0 20px 0;\n    padding: 0;\n  }\n\n  #apidoc h2 {\n    font-family: \"Source Sans Pro Bold\", sans-serif;\n    font-weight: 600;\n    font-size: 22px;\n    line-height: 26px;\n    padding-top: 14px;\n  }\n\n  /* ------------------------------------------------------------------------------------------\n   * pre / code\n   * ------------------------------------------------------------------------------------------ */\n  pre {\n    background-color: #292b36;\n    color: #ffffff;\n    padding: 10px;\n    border-radius: 6px;\n    position: relative;\n    margin: 10px 0 20px 0;\n  }\n\n  code.language-text {\n    word-wrap: break-word;\n  }\n\n  pre.language-json {\n    overflow: auto;\n  }\n\n  pre.language-html {\n    margin: 40px 0 20px 0;\n  }\n\n  pre.language-html:before {\n    content: attr(data-type);\n    position: absolute;\n    top: -30px;\n    left: 0;\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 600;\n    font-size: 15px;\n    display: inline-block;\n    padding: 2px 5px;\n    border-radius: 6px;\n    text-transform: uppercase;\n    background-color: #3387CC;\n    color: #ffffff;\n  }\n\n  pre.language-html[data-type=\"get\"]:before {\n    background-color: green;\n  }\n\n  pre.language-html[data-type=\"put\"]:before {\n    background-color: #e5c500;\n  }\n\n  pre.language-html[data-type=\"post\"]:before {\n    background-color: #4070ec;\n  }\n\n  pre.language-html[data-type=\"delete\"]:before {\n    background-color: #ed0039;\n  }\n\n  pre.language-api .str {\n    color: #ffffff;\n  }\n\n  pre.language-api .pln,\n  pre.language-api .pun {\n    color: #65B042;\n  }\n\n  pre code {\n    display: block;\n    font-size: 14px;\n    font-family: \"Source Code Pro\", monospace;\n    font-style: normal;\n    font-weight: 400;\n  }\n\n  pre code.sample-request-response-json {\n    white-space: pre-wrap;\n    max-height: 500px;\n    overflow: auto;\n  }\n\n  /* ------------------------------------------------------------------------------------------\n   * Sidenav\n   * ------------------------------------------------------------------------------------------ */\n  .sidenav {\n    width: 228px;\n    margin: 0;\n    padding: 20px;\n    position: fixed;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    overflow-x: hidden;\n    overflow-y: auto;\n    background-color: #f5f5f5;\n    z-index: 10;\n  }\n\n  .sidenav > li > a {\n    display: block;\n    width: 192px;\n    margin: 0;\n    padding: 2px 11px;\n    border: 0;\n    border-left: transparent 4px solid;\n    border-right: transparent 4px solid;\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 400;\n    font-size: 14px;\n  }\n\n  .sidenav > li.nav-header > a {\n    padding: 5px 15px;\n    border: 1px solid #e5e5e5;\n    width: 190px;\n    font-family: \"Source Sans Pro\", sans-serif;\n    font-weight: 700;\n    font-size: 16px;\n    background-color: #4c8eca;\n    color: #fff;\n  }\n\n  .sidenav > li.nav-header.active > a {\n    background-color: #4c8eca;\n    color: #fff;\n  }\n\n\n  00427D\n\n  .sidenav > .active > a {\n    position: relative;\n    z-index: 2;\n  }\n\n  .sidenav > li > a:hover {\n    background-color: #ffffff;\n  }\n\n  .sidenav > li.has-modifications a {\n    border-right: #60d060 4px solid;\n  }\n\n  .sidenav > li.is-new a {\n    border-left: #e5e5e5 4px solid;\n  }\n\n\n\n  /* ------------------------------------------------------------------------------------------\n   * Tabs\n   * ------------------------------------------------------------------------------------------ */\n  ul.nav-tabs {\n    margin: 0;\n  }\n\n  /* ------------------------------------------------------------------------------------------\n   * Print\n   * ------------------------------------------------------------------------------------------ */\n\n  @media print {\n\n    #sidenav,\n    #version,\n    #versions,\n    section .version,\n    section .versions {\n      display: none;\n    }\n\n    #content {\n      margin-left: 0;\n    }\n\n    a {\n      text-decoration: none;\n      color: inherit;\n    }\n\n    a:after {\n      content: \" [\" attr(href) \"] \";\n    }\n\n    p {\n      color: #000000\n    }\n\n    pre {\n      background-color: #ffffff;\n      color: #000000;\n      padding: 10px;\n      border: #808080 1px solid;\n      border-radius: 6px;\n      position: relative;\n      margin: 10px 0 20px 0;\n    }\n\n  } /* /@media print */\n\n\n  .doc-chapter\n  {\n  display:none;\n  background-color: #eee;\n  border-radius: 1px;\n  padding: 10px;\n  margin-bottom: 20px;\n  }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n  /*!\n   * json-schema-view-js\n   * https://github.com/mohsen1/json-schema-view-js#readme\n   * Version: 0.4.1 - 2015-11-12T17:19:27.615Z\n   * License: MIT\n   */.json-schema-view .toggle-handle:after,.json-schema-view.json-schema-view-dark .toggle-handle:after,json-schema-view .toggle-handle:after,json-schema-view[json-schema-view-dark] .toggle-handle:after{content:\"\\25BC\"}.json-schema-view .title,.json-schema-view.json-schema-view-dark .title,json-schema-view .title,json-schema-view[json-schema-view-dark] .title{font-weight:700;cursor:pointer}.json-schema-view,json-schema-view{font-family:monospace;font-size:0;display:table-cell}.json-schema-view>*,json-schema-view>*{font-size:14px}.json-schema-view .toggle-handle,json-schema-view .toggle-handle{cursor:pointer;margin:auto .3em;font-size:10px;display:inline-block;transform-origin:50% 40%;transition:transform 150ms ease-in}.json-schema-view .toggle-handle,.json-schema-view .toggle-handle:hover,json-schema-view .toggle-handle,json-schema-view .toggle-handle:hover{text-decoration:none;color:#333}.json-schema-view .description,json-schema-view .description{color:gray;font-style:italic}\n     .pattern {\n      color: blue;\n    }\n    .default {\n      color: black;\n    }\n    .required {\n      color:black;\n    }\n    .json-schema-view .title,.json-schema-view .title:hover,json-schema-view .title,json-schema-view .title:hover{text-decoration:none;color:#333}.json-schema-view .brace,.json-schema-view .bracket,.json-schema-view .title,json-schema-view .brace,json-schema-view .bracket,json-schema-view .title{color:#333}.json-schema-view .property,json-schema-view .property{font-size:0;display:table-row}.json-schema-view .property>*,json-schema-view .property>*{font-size:14px;padding:.2em}.json-schema-view .name,json-schema-view .name{color:#00f;display:table-cell;vertical-align:top}.json-schema-view .type,json-schema-view .type{color:green}.json-schema-view .type-any,json-schema-view .type-any{color:#33f}.json-schema-view .required,json-schema-view .required{color:red}.json-schema-view .inner,json-schema-view .inner{padding-left:18px}.json-schema-view.collapsed .description,.json-schema-view.collapsed .property,json-schema-view.collapsed .description,json-schema-view.collapsed .property{display:none}.json-schema-view.collapsed .closeing.brace,json-schema-view.collapsed .closeing.brace{display:inline-block}.json-schema-view.collapsed .toggle-handle,json-schema-view.collapsed .toggle-handle{transform:rotate(-90deg)}.json-schema-view.json-schema-view-dark,json-schema-view[json-schema-view-dark]{font-family:monospace;font-size:0;display:table-cell}.json-schema-view.json-schema-view-dark>*,json-schema-view[json-schema-view-dark]>*{font-size:14px}.json-schema-view.json-schema-view-dark .toggle-handle,json-schema-view[json-schema-view-dark] .toggle-handle{cursor:pointer;margin:auto .3em;font-size:10px;display:inline-block;transform-origin:50% 40%;transition:transform 150ms ease-in}.json-schema-view.json-schema-view-dark .toggle-handle,.json-schema-view.json-schema-view-dark .toggle-handle:hover,json-schema-view[json-schema-view-dark] .toggle-handle,json-schema-view[json-schema-view-dark] .toggle-handle:hover{text-decoration:none;color:#eee}.json-schema-view.json-schema-view-dark .description,json-schema-view[json-schema-view-dark] .description{color:gray;font-style:italic}.json-schema-view.json-schema-view-dark .title,.json-schema-view.json-schema-view-dark .title:hover,json-schema-view[json-schema-view-dark] .title,json-schema-view[json-schema-view-dark] .title:hover{text-decoration:none;color:#eee}.json-schema-view.json-schema-view-dark .brace,.json-schema-view.json-schema-view-dark .bracket,.json-schema-view.json-schema-view-dark .title,json-schema-view[json-schema-view-dark] .brace,json-schema-view[json-schema-view-dark] .bracket,json-schema-view[json-schema-view-dark] .title{color:#eee}.json-schema-view.json-schema-view-dark .property,json-schema-view[json-schema-view-dark] .property{font-size:0;display:table-row}.json-schema-view.json-schema-view-dark .property>*,json-schema-view[json-schema-view-dark] .property>*{font-size:14px;padding:.2em}.json-schema-view.json-schema-view-dark .name,json-schema-view[json-schema-view-dark] .name{color:#add8e6;display:table-cell;vertical-align:top}.json-schema-view.json-schema-view-dark .type,json-schema-view[json-schema-view-dark] .type{color:#90ee90}.json-schema-view.json-schema-view-dark .type-any,json-schema-view[json-schema-view-dark] .type-any{color:#d4ebf2}.json-schema-view.json-schema-view-dark .required,json-schema-view[json-schema-view-dark] .required{color:#fe0000}.json-schema-view.json-schema-view-dark .inner,json-schema-view[json-schema-view-dark] .inner{padding-left:18px}.json-schema-view.json-schema-view-dark.collapsed .description,.json-schema-view.json-schema-view-dark.collapsed .property,json-schema-view[json-schema-view-dark].collapsed .description,json-schema-view[json-schema-view-dark].collapsed .property{display:none}.json-schema-view.json-schema-view-dark.collapsed .closeing.brace,json-schema-view[json-schema-view-dark].collapsed .closeing.brace{display:inline-block}.json-schema-view.json-schema-view-dark.collapsed .toggle-handle,json-schema-view[json-schema-view-dark].collapsed .toggle-handle{transform:rotate(-90deg)}\n  </style>\n</head>\n<body>\n  <script>\n    // Script section to load models into a JS Var\n    var defs = {}\n            defs.BiolinkEntity = {\n  \"type\" : \"string\",\n  \"description\" : \"A subclass of named_thing (snake_case)\",\n  \"example\" : \"disease\",\n  \"externalDocs\" : {\n    \"description\" : \"Biolink model entities\",\n    \"url\" : \"https://biolink.github.io/biolink-model/docs/NamedThing.html\"\n  }\n};\n            defs.BiolinkRelation = {\n  \"type\" : \"string\",\n  \"description\" : \"A relation, i.e. child of related_to (snake_case)\",\n  \"example\" : \"affects\",\n  \"externalDocs\" : {\n    \"description\" : \"Biolink model relations\",\n    \"url\" : \"https://biolink.github.io/biolink-model/docs/related_to.html\"\n  }\n};\n            defs.Credentials = {\n  \"required\" : [ \"password\", \"username\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"username\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Username needed for programmatic access to the remote knowledge graph\"\n    },\n    \"password\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Password needed for programmatic access to the remote knowledge graph\"\n    }\n  },\n  \"additionalProperties\" : true,\n  \"description\" : \"Credentials needed for programmatic access to the remote knowledge graph\"\n};\n            defs.Edge = {\n  \"required\" : [ \"id\", \"source_id\", \"target_id\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Local identifier for this node which is unique within this KnowledgeGraph, and perhaps within the source reasoner's knowledge graph\",\n      \"example\" : \"553903\"\n    },\n    \"type\" : {\n      \"$ref\" : \"#/components/schemas/BiolinkRelation\"\n    },\n    \"source_id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Corresponds to the @id of source node of this edge\",\n      \"example\" : \"https://omim.org/entry/603903\"\n    },\n    \"target_id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Corresponds to the @id of target node of this edge\",\n      \"example\" : \"https://www.uniprot.org/uniprot/P00738\"\n    }\n  },\n  \"additionalProperties\" : true,\n  \"description\" : \"An edge in the thought subgraph linking two nodes\"\n};\n            defs.EdgeBinding = {\n  \"required\" : [ \"kg_id\", \"qg_id\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"qg_id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Query-graph edge id, i.e. the `edge_id` of a QEdge\"\n    },\n    \"kg_id\" : {\n      \"description\" : \"One or more knowledge-graph edge ids, i.e. the `id` of a KEdge\",\n      \"oneOf\" : [ {\n        \"type\" : \"string\"\n      }, {\n        \"type\" : \"array\",\n        \"items\" : {\n          \"type\" : \"string\"\n        }\n      } ]\n    }\n  }\n};\n            defs.KnowledgeGraph = {\n  \"required\" : [ \"edges\", \"nodes\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"nodes\" : {\n      \"type\" : \"array\",\n      \"description\" : \"List of nodes in the KnowledgeGraph\",\n      \"items\" : {\n        \"$ref\" : \"#/components/schemas/Node\"\n      }\n    },\n    \"edges\" : {\n      \"type\" : \"array\",\n      \"description\" : \"List of edges in the KnowledgeGraph\",\n      \"items\" : {\n        \"$ref\" : \"#/components/schemas/Edge\"\n      }\n    }\n  },\n  \"additionalProperties\" : true,\n  \"description\" : \"A thought graph associated with this result. This will commonly be a linear path subgraph from one concept to another, but related items aside of the path may be included.\"\n};\n            defs.Message = {\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"results\" : {\n      \"type\" : \"array\",\n      \"description\" : \"List of all returned potential answers for the query posed\",\n      \"items\" : {\n        \"$ref\" : \"#/components/schemas/Result\"\n      }\n    },\n    \"query_graph\" : {\n      \"$ref\" : \"#/components/schemas/QueryGraph\"\n    },\n    \"knowledge_graph\" : {\n      \"type\" : \"object\",\n      \"description\" : \"KnowledgeGraph object that contains all the nodes and edges referenced in any of the possible answers to the query OR connection information for a remote knowledge graph\",\n      \"oneOf\" : [ {\n        \"$ref\" : \"#/components/schemas/KnowledgeGraph\"\n      }, {\n        \"$ref\" : \"#/components/schemas/RemoteKnowledgeGraph\"\n      } ]\n    }\n  },\n  \"additionalProperties\" : true\n};\n            defs.Node = {\n  \"required\" : [ \"id\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"CURIE identifier for this node\",\n      \"example\" : \"OMIM:603903\"\n    },\n    \"name\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Formal name of the entity\",\n      \"example\" : \"Haptoglobin\"\n    },\n    \"type\" : {\n      \"oneOf\" : [ {\n        \"type\" : \"string\"\n      }, {\n        \"type\" : \"array\",\n        \"items\" : {\n          \"$ref\" : \"#/components/schemas/BiolinkEntity\"\n        }\n      } ]\n    }\n  },\n  \"additionalProperties\" : true,\n  \"description\" : \"A node in the thought subgraph\"\n};\n            defs.NodeBinding = {\n  \"required\" : [ \"kg_id\", \"qg_id\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"qg_id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Query-graph node id, i.e. the `node_id` of a QNode\"\n    },\n    \"kg_id\" : {\n      \"description\" : \"One or more knowledge-graph node ids, i.e. the `id` of a KNode\",\n      \"oneOf\" : [ {\n        \"type\" : \"string\"\n      }, {\n        \"type\" : \"array\",\n        \"items\" : {\n          \"type\" : \"string\"\n        }\n      } ]\n    }\n  }\n};\n            defs.QEdge = {\n  \"required\" : [ \"id\", \"source_id\", \"target_id\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"QueryGraph internal identifier for this QEdge. Recommended form: e00, e01, e02, etc.\",\n      \"example\" : \"e00\"\n    },\n    \"type\" : {\n      \"oneOf\" : [ {\n        \"$ref\" : \"#/components/schemas/BiolinkRelation\"\n      }, {\n        \"type\" : \"array\",\n        \"items\" : {\n          \"$ref\" : \"#/components/schemas/BiolinkRelation\"\n        }\n      } ]\n    },\n    \"source_id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Corresponds to the @id of source node of this edge\",\n      \"example\" : \"https://omim.org/entry/603903\"\n    },\n    \"target_id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"Corresponds to the @id of target node of this edge\",\n      \"example\" : \"https://www.uniprot.org/uniprot/P00738\"\n    }\n  },\n  \"additionalProperties\" : true,\n  \"description\" : \"An edge in the QueryGraph\"\n};\n            defs.QNode = {\n  \"required\" : [ \"id\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"id\" : {\n      \"type\" : \"string\",\n      \"description\" : \"QueryGraph internal identifier for this QNode. Recommended form: n00, n01, n02, etc.\",\n      \"example\" : \"n00\"\n    },\n    \"curie\" : {\n      \"description\" : \"CURIE identifier for this node\",\n      \"example\" : \"OMIM:603903\",\n      \"oneOf\" : [ {\n        \"type\" : \"string\"\n      }, {\n        \"type\" : \"array\",\n        \"items\" : {\n          \"type\" : \"string\"\n        }\n      } ]\n    },\n    \"type\" : {\n      \"oneOf\" : [ {\n        \"$ref\" : \"#/components/schemas/BiolinkEntity\"\n      }, {\n        \"type\" : \"array\",\n        \"items\" : {\n          \"$ref\" : \"#/components/schemas/BiolinkEntity\"\n        }\n      } ]\n    }\n  },\n  \"additionalProperties\" : true,\n  \"description\" : \"A node in the QueryGraph\"\n};\n            defs.Query = {\n  \"required\" : [ \"message\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"message\" : {\n      \"$ref\" : \"#/components/schemas/Message\"\n    }\n  },\n  \"additionalProperties\" : true,\n  \"x-body-name\" : \"request_body\"\n};\n            defs.QueryGraph = {\n  \"required\" : [ \"edges\", \"nodes\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"nodes\" : {\n      \"type\" : \"array\",\n      \"description\" : \"List of nodes in the QueryGraph\",\n      \"items\" : {\n        \"$ref\" : \"#/components/schemas/QNode\"\n      }\n    },\n    \"edges\" : {\n      \"type\" : \"array\",\n      \"description\" : \"List of edges in the QueryGraph\",\n      \"items\" : {\n        \"$ref\" : \"#/components/schemas/QEdge\"\n      }\n    }\n  },\n  \"additionalProperties\" : true,\n  \"description\" : \"A graph intended to be the thought path to be followed by a reasoner to answer the question. This graph is a representation of a question.\"\n};\n            defs.RemoteKnowledgeGraph = {\n  \"required\" : [ \"url\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"url\" : {\n      \"type\" : \"string\",\n      \"description\" : \"URL that provides programmatic access to the remote knowledge graph\",\n      \"example\" : \"http://robokop.renci.org/api/kg\"\n    },\n    \"credentials\" : {\n      \"type\" : \"array\",\n      \"description\" : \"Credentials needed for programmatic access to the remote knowledge graph\",\n      \"items\" : {\n        \"$ref\" : \"#/components/schemas/Credentials\"\n      }\n    },\n    \"protocol\" : {\n      \"type\" : \"string\",\n      \"default\" : \"neo4j\"\n    }\n  },\n  \"description\" : \"A thought graph associated with this result that is not repeated here, but stored elsewhere in a way that can be remotely accessed by the reader of this Message\"\n};\n            defs.Result = {\n  \"required\" : [ \"edge_bindings\", \"node_bindings\" ],\n  \"type\" : \"object\",\n  \"properties\" : {\n    \"node_bindings\" : {\n      \"type\" : \"array\",\n      \"description\" : \"List of QNode-KNode bindings.\",\n      \"items\" : {\n        \"$ref\" : \"#/components/schemas/NodeBinding\"\n      }\n    },\n    \"edge_bindings\" : {\n      \"type\" : \"array\",\n      \"description\" : \"List of QEdge-KEdge bindings.\",\n      \"items\" : {\n        \"$ref\" : \"#/components/schemas/EdgeBinding\"\n      }\n    }\n  },\n  \"description\" : \"One of potentially several results or answers for a query\"\n};\n  </script>\n\n  <div class=\"container-fluid\">\n    <div class=\"row-fluid\">\n      <div id=\"sidenav\" class=\"span2\">\n        <nav id=\"scrollingNav\">\n          <ul class=\"sidenav nav nav-list\">\n            <!-- Logo Area -->\n              <!--<div style=\"width: 80%; background-color: #4c8eca; color: white; padding: 20px; text-align: center; margin-bottom: 20px; \">\n\n              API Docs 2\n\n              </div>\n            -->\n            <li class=\"nav-fixed nav-header active\" data-group=\"_\"><a href=\"#api-_\">API Summary</a></li>\n\n                  <li class=\"nav-header\" data-group=\"Predicates\"><a href=\"#api-Predicates\">API Methods - Predicates</a></li>\n                    <li data-group=\"Predicates\" data-name=\"predicatesGet\" class=\"\">\n                      <a href=\"#api-Predicates-predicatesGet\">predicatesGet</a>\n                    </li>\n                  <li class=\"nav-header\" data-group=\"Query\"><a href=\"#api-Query\">API Methods - Query</a></li>\n                    <li data-group=\"Query\" data-name=\"query\" class=\"\">\n                      <a href=\"#api-Query-query\">query</a>\n                    </li>\n          </ul>\n        </nav>\n      </div>\n      <div id=\"content\">\n        <div id=\"project\">\n          <div class=\"pull-left\">\n            <h1>OpenAPI for NCATS Biomedical Translator Reasoners</h1>\n          </div>\n          <div class=\"clearfix\"></div>\n        </div>\n        <div id=\"header\">\n          <div id=\"api-_\">\n            <h2 id=\"welcome-to-apidoc\">API and SDK Documentation</h2>\n              <div class=\"app-desc\">Version: 0.9.2</div>\n            <hr>\n            <div>OpenAPI for NCATS Biomedical Translator Reasoners</div>\n          </div>\n        </div>\n        <div id=\"sections\">\n                <section id=\"api-Predicates\">\n                  <h1>Predicates</h1>\n                    <div id=\"api-Predicates-predicatesGet\">\n                      <article id=\"api-Predicates-predicatesGet-0\" data-group=\"User\" data-name=\"predicatesGet\" data-version=\"0\">\n                        <div class=\"pull-left\">\n                          <h1>predicatesGet</h1>\n                          <p>Get supported relationships by source and target</p>\n                        </div>\n                        <div class=\"pull-right\"></div>\n                        <div class=\"clearfix\"></div>\n                        <p></p>\n                        <p class=\"marked\"></p>\n                        <p></p>\n                        <br />\n                        <pre class=\"prettyprint language-html prettyprinted\" data-type=\"get\"><code><span class=\"pln\">/predicates</span></code></pre>\n                        <p>\n                          <h3>Usage and SDK Samples</h3>\n                        </p>\n                        <ul class=\"nav nav-tabs nav-tabs-examples\">\n                          <li class=\"active\"><a href=\"#examples-Predicates-predicatesGet-0-curl\">Curl</a></li>\n                          <li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-java\">Java</a></li>\n                          <li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-android\">Android</a></li>\n                          <!--<li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-groovy\">Groovy</a></li>-->\n                          <li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-objc\">Obj-C</a></li>\n                          <li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-javascript\">JavaScript</a></li>\n                          <!--<li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-angular\">Angular</a></li>-->\n                          <li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-csharp\">C#</a></li>\n                          <li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-php\">PHP</a></li>\n                          <li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-perl\">Perl</a></li>\n                          <li class=\"\"><a href=\"#examples-Predicates-predicatesGet-0-python\">Python</a></li>\n                        </ul>\n\n                        <div class=\"tab-content\">\n                          <div class=\"tab-pane active\" id=\"examples-Predicates-predicatesGet-0-curl\">\n                            <pre class=\"prettyprint\"><code class=\"language-bsh\">curl -X GET \"//predicates\"</code></pre>\n                          </div>\n                          <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-java\">\n                            <pre class=\"prettyprint\"><code class=\"language-java\">import io.swagger.client.*;\nimport io.swagger.client.auth.*;\nimport io.swagger.client.model.*;\nimport io.swagger.client.api.PredicatesApi;\n\nimport java.io.File;\nimport java.util.*;\n\npublic class PredicatesApiExample {\n\n    public static void main(String[] args) {\n\n        PredicatesApi apiInstance = new PredicatesApi();\n        try {\n            map['String', map['String', array['String']]] result = apiInstance.predicatesGet();\n            System.out.println(result);\n        } catch (ApiException e) {\n            System.err.println(\"Exception when calling PredicatesApi#predicatesGet\");\n            e.printStackTrace();\n        }\n    }\n}</code></pre>\n                          </div>\n\n                          <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-android\">\n                            <pre class=\"prettyprint\"><code class=\"language-java\">import io.swagger.client.api.PredicatesApi;\n\npublic class PredicatesApiExample {\n\n    public static void main(String[] args) {\n        PredicatesApi apiInstance = new PredicatesApi();\n        try {\n            map['String', map['String', array['String']]] result = apiInstance.predicatesGet();\n            System.out.println(result);\n        } catch (ApiException e) {\n            System.err.println(\"Exception when calling PredicatesApi#predicatesGet\");\n            e.printStackTrace();\n        }\n    }\n}</code></pre>\n                          </div>\n  <!--\n  <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-groovy\">\n  <pre class=\"prettyprint language-json prettyprinted\" data-type=\"json\"><code>Coming Soon!</code></pre>\n  </div> -->\n                            <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-objc\">\n                              <pre class=\"prettyprint\"><code class=\"language-cpp\">\nPredicatesApi *apiInstance = [[PredicatesApi alloc] init];\n\n// Get supported relationships by source and target\n[apiInstance predicatesGetWithCompletionHandler:\n              ^(map['String', map['String', array['String']]] output, NSError* error) {\n                            if (output) {\n                                NSLog(@\"%@\", output);\n                            }\n                            if (error) {\n                                NSLog(@\"Error: %@\", error);\n                            }\n                        }];\n</code></pre>\n                            </div>\n\n                            <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-javascript\">\n                              <pre class=\"prettyprint\"><code class=\"language-js\">var OpenApiForNcatsBiomedicalTranslatorReasoners = require('open_api_for_ncats_biomedical_translator_reasoners');\n\nvar api = new OpenApiForNcatsBiomedicalTranslatorReasoners.PredicatesApi()\nvar callback = function(error, data, response) {\n  if (error) {\n    console.error(error);\n  } else {\n    console.log('API called successfully. Returned data: ' + data);\n  }\n};\napi.predicatesGet(callback);\n</code></pre>\n                            </div>\n\n                            <!--<div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-angular\">\n              <pre class=\"prettyprint language-json prettyprinted\" data-type=\"json\"><code>Coming Soon!</code></pre>\n            </div>-->\n                            <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-csharp\">\n                              <pre class=\"prettyprint\"><code class=\"language-cs\">using System;\nusing System.Diagnostics;\nusing IO.Swagger.Api;\nusing IO.Swagger.Client;\nusing IO.Swagger.Model;\n\nnamespace Example\n{\n    public class predicatesGetExample\n    {\n        public void main()\n        {\n\n            var apiInstance = new PredicatesApi();\n\n            try\n            {\n                // Get supported relationships by source and target\n                map['String', map['String', array['String']]] result = apiInstance.predicatesGet();\n                Debug.WriteLine(result);\n            }\n            catch (Exception e)\n            {\n                Debug.Print(\"Exception when calling PredicatesApi.predicatesGet: \" + e.Message );\n            }\n        }\n    }\n}\n</code></pre>\n                            </div>\n\n                            <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-php\">\n                              <pre class=\"prettyprint\"><code class=\"language-php\"><&#63;php\nrequire_once(__DIR__ . '/vendor/autoload.php');\n\n$api_instance = new Swagger\\Client\\ApiPredicatesApi();\n\ntry {\n    $result = $api_instance->predicatesGet();\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling PredicatesApi->predicatesGet: ', $e->getMessage(), PHP_EOL;\n}\n?></code></pre>\n                            </div>\n\n                            <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-perl\">\n                              <pre class=\"prettyprint\"><code class=\"language-perl\">use Data::Dumper;\nuse WWW::SwaggerClient::Configuration;\nuse WWW::SwaggerClient::PredicatesApi;\n\nmy $api_instance = WWW::SwaggerClient::PredicatesApi->new();\n\neval {\n    my $result = $api_instance->predicatesGet();\n    print Dumper($result);\n};\nif ($@) {\n    warn \"Exception when calling PredicatesApi->predicatesGet: $@\\n\";\n}</code></pre>\n                            </div>\n\n                            <div class=\"tab-pane\" id=\"examples-Predicates-predicatesGet-0-python\">\n                              <pre class=\"prettyprint\"><code class=\"language-python\">from __future__ import print_statement\nimport time\nimport swagger_client\nfrom swagger_client.rest import ApiException\nfrom pprint import pprint\n\n# create an instance of the API class\napi_instance = swagger_client.PredicatesApi()\n\ntry:\n    # Get supported relationships by source and target\n    api_response = api_instance.predicates_get()\n    pprint(api_response)\nexcept ApiException as e:\n    print(\"Exception when calling PredicatesApi->predicatesGet: %s\\n\" % e)</code></pre>\n                            </div>\n                          </div>\n\n                          <h2>Parameters</h2>\n\n\n\n\n\n\n                          <h2>Responses</h2>\n                            <h3> Status: 200 - Predicates by source and target </h3>\n\n                            <ul class=\"nav nav-tabs nav-tabs-examples\" >\n                                <li class=\"active\">\n                                  <a data-toggle=\"tab\" href=\"#responses-predicatesGet-200-schema\">Schema</a>\n                                </li>\n\n                            </ul>\n\n                            <div class=\"tab-content\" style='margin-bottom: 10px;'>\n                                <div class=\"tab-pane active\" id=\"responses-predicatesGet-200-schema\">\n                                  <div id='responses-predicatesGet-200-schema-200' style=\"padding: 30px; border-left: 1px solid #eee; border-right: 1px solid #eee; border-bottom: 1px solid #eee;\">\n                                    <script>\n                                      $(document).ready(function() {\n                                        var schemaWrapper = {\n  \"description\" : \"Predicates by source and target\",\n  \"content\" : {\n    \"application/json\" : {\n      \"schema\" : {\n        \"type\" : \"object\",\n        \"additionalProperties\" : {\n          \"type\" : \"object\",\n          \"additionalProperties\" : {\n            \"type\" : \"array\",\n            \"description\" : \"Array of predicates\",\n            \"items\" : {\n              \"type\" : \"string\"\n            }\n          },\n          \"description\" : \"Target map\"\n        },\n        \"description\" : \"Source map\",\n        \"example\" : {\n          \"chemical_substance\" : {\n            \"gene\" : [ \"directly_interacts_with\", \"decreases_activity_of\" ]\n          }\n        },\n        \"x-content-type\" : \"application/json\"\n      }\n    }\n  }\n};\n                                        var schema = schemaWrapper.content[\"application/json\"].schema;\n                                        if (schema.$ref != null) {\n                                          schema = defsParser.$refs.get(schema.$ref);\n                                        } else {\n                                          schemaWrapper.components = {};\n                                          schemaWrapper.components.schemas = Object.assign({}, defs);\n                                          $RefParser.dereference(schemaWrapper).catch(function(err) {\n                                            console.log(err);\n                                          });\n                                        }\n\n                                        //console.log(JSON.stringify(schema));\n                                        var view = new JSONSchemaView(schema, 3);\n                                        $('#responses-predicatesGet-200-schema-data').val(stringify(schema));\n                                        var result = $('#responses-predicatesGet-200-schema-200');\n                                        result.empty();\n                                        result.append(view.render());\n                                      });\n                                    </script>\n                                  </div>\n                                  <input id='responses-predicatesGet-200-schema-data' type='hidden' value=''></input>\n                                </div>\n                            </div>\n\n                        </article>\n                      </div>\n                      <hr>\n                  </section>\n                <section id=\"api-Query\">\n                  <h1>Query</h1>\n                    <div id=\"api-Query-query\">\n                      <article id=\"api-Query-query-0\" data-group=\"User\" data-name=\"query\" data-version=\"0\">\n                        <div class=\"pull-left\">\n                          <h1>query</h1>\n                          <p>Query reasoner via one of several inputs</p>\n                        </div>\n                        <div class=\"pull-right\"></div>\n                        <div class=\"clearfix\"></div>\n                        <p></p>\n                        <p class=\"marked\"></p>\n                        <p></p>\n                        <br />\n                        <pre class=\"prettyprint language-html prettyprinted\" data-type=\"post\"><code><span class=\"pln\">/query</span></code></pre>\n                        <p>\n                          <h3>Usage and SDK Samples</h3>\n                        </p>\n                        <ul class=\"nav nav-tabs nav-tabs-examples\">\n                          <li class=\"active\"><a href=\"#examples-Query-query-0-curl\">Curl</a></li>\n                          <li class=\"\"><a href=\"#examples-Query-query-0-java\">Java</a></li>\n                          <li class=\"\"><a href=\"#examples-Query-query-0-android\">Android</a></li>\n                          <!--<li class=\"\"><a href=\"#examples-Query-query-0-groovy\">Groovy</a></li>-->\n                          <li class=\"\"><a href=\"#examples-Query-query-0-objc\">Obj-C</a></li>\n                          <li class=\"\"><a href=\"#examples-Query-query-0-javascript\">JavaScript</a></li>\n                          <!--<li class=\"\"><a href=\"#examples-Query-query-0-angular\">Angular</a></li>-->\n                          <li class=\"\"><a href=\"#examples-Query-query-0-csharp\">C#</a></li>\n                          <li class=\"\"><a href=\"#examples-Query-query-0-php\">PHP</a></li>\n                          <li class=\"\"><a href=\"#examples-Query-query-0-perl\">Perl</a></li>\n                          <li class=\"\"><a href=\"#examples-Query-query-0-python\">Python</a></li>\n                        </ul>\n\n                        <div class=\"tab-content\">\n                          <div class=\"tab-pane active\" id=\"examples-Query-query-0-curl\">\n                            <pre class=\"prettyprint\"><code class=\"language-bsh\">curl -X POST \"//query\"</code></pre>\n                          </div>\n                          <div class=\"tab-pane\" id=\"examples-Query-query-0-java\">\n                            <pre class=\"prettyprint\"><code class=\"language-java\">import io.swagger.client.*;\nimport io.swagger.client.auth.*;\nimport io.swagger.client.model.*;\nimport io.swagger.client.api.QueryApi;\n\nimport java.io.File;\nimport java.util.*;\n\npublic class QueryApiExample {\n\n    public static void main(String[] args) {\n\n        QueryApi apiInstance = new QueryApi();\n        map[String, Object] body = ; // map[String, Object] | Query information to be submitted\n        try {\n            Message result = apiInstance.query(body);\n            System.out.println(result);\n        } catch (ApiException e) {\n            System.err.println(\"Exception when calling QueryApi#query\");\n            e.printStackTrace();\n        }\n    }\n}</code></pre>\n                          </div>\n\n                          <div class=\"tab-pane\" id=\"examples-Query-query-0-android\">\n                            <pre class=\"prettyprint\"><code class=\"language-java\">import io.swagger.client.api.QueryApi;\n\npublic class QueryApiExample {\n\n    public static void main(String[] args) {\n        QueryApi apiInstance = new QueryApi();\n        map[String, Object] body = ; // map[String, Object] | Query information to be submitted\n        try {\n            Message result = apiInstance.query(body);\n            System.out.println(result);\n        } catch (ApiException e) {\n            System.err.println(\"Exception when calling QueryApi#query\");\n            e.printStackTrace();\n        }\n    }\n}</code></pre>\n                          </div>\n  <!--\n  <div class=\"tab-pane\" id=\"examples-Query-query-0-groovy\">\n  <pre class=\"prettyprint language-json prettyprinted\" data-type=\"json\"><code>Coming Soon!</code></pre>\n  </div> -->\n                            <div class=\"tab-pane\" id=\"examples-Query-query-0-objc\">\n                              <pre class=\"prettyprint\"><code class=\"language-cpp\">map[String, Object] *body = ; // Query information to be submitted\n\nQueryApi *apiInstance = [[QueryApi alloc] init];\n\n// Query reasoner via one of several inputs\n[apiInstance queryWith:body\n              completionHandler: ^(Message output, NSError* error) {\n                            if (output) {\n                                NSLog(@\"%@\", output);\n                            }\n                            if (error) {\n                                NSLog(@\"Error: %@\", error);\n                            }\n                        }];\n</code></pre>\n                            </div>\n\n                            <div class=\"tab-pane\" id=\"examples-Query-query-0-javascript\">\n                              <pre class=\"prettyprint\"><code class=\"language-js\">var OpenApiForNcatsBiomedicalTranslatorReasoners = require('open_api_for_ncats_biomedical_translator_reasoners');\n\nvar api = new OpenApiForNcatsBiomedicalTranslatorReasoners.QueryApi()\nvar body = ; // {{map[String, Object]}} Query information to be submitted\n\nvar callback = function(error, data, response) {\n  if (error) {\n    console.error(error);\n  } else {\n    console.log('API called successfully. Returned data: ' + data);\n  }\n};\napi.query(body, callback);\n</code></pre>\n                            </div>\n\n                            <!--<div class=\"tab-pane\" id=\"examples-Query-query-0-angular\">\n              <pre class=\"prettyprint language-json prettyprinted\" data-type=\"json\"><code>Coming Soon!</code></pre>\n            </div>-->\n                            <div class=\"tab-pane\" id=\"examples-Query-query-0-csharp\">\n                              <pre class=\"prettyprint\"><code class=\"language-cs\">using System;\nusing System.Diagnostics;\nusing IO.Swagger.Api;\nusing IO.Swagger.Client;\nusing IO.Swagger.Model;\n\nnamespace Example\n{\n    public class queryExample\n    {\n        public void main()\n        {\n\n            var apiInstance = new QueryApi();\n            var body = new map[String, Object](); // map[String, Object] | Query information to be submitted\n\n            try\n            {\n                // Query reasoner via one of several inputs\n                Message result = apiInstance.query(body);\n                Debug.WriteLine(result);\n            }\n            catch (Exception e)\n            {\n                Debug.Print(\"Exception when calling QueryApi.query: \" + e.Message );\n            }\n        }\n    }\n}\n</code></pre>\n                            </div>\n\n                            <div class=\"tab-pane\" id=\"examples-Query-query-0-php\">\n                              <pre class=\"prettyprint\"><code class=\"language-php\"><&#63;php\nrequire_once(__DIR__ . '/vendor/autoload.php');\n\n$api_instance = new Swagger\\Client\\ApiQueryApi();\n$body = ; // map[String, Object] | Query information to be submitted\n\ntry {\n    $result = $api_instance->query($body);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling QueryApi->query: ', $e->getMessage(), PHP_EOL;\n}\n?></code></pre>\n                            </div>\n\n                            <div class=\"tab-pane\" id=\"examples-Query-query-0-perl\">\n                              <pre class=\"prettyprint\"><code class=\"language-perl\">use Data::Dumper;\nuse WWW::SwaggerClient::Configuration;\nuse WWW::SwaggerClient::QueryApi;\n\nmy $api_instance = WWW::SwaggerClient::QueryApi->new();\nmy $body = WWW::SwaggerClient::Object::map[String, Object]->new(); # map[String, Object] | Query information to be submitted\n\neval {\n    my $result = $api_instance->query(body => $body);\n    print Dumper($result);\n};\nif ($@) {\n    warn \"Exception when calling QueryApi->query: $@\\n\";\n}</code></pre>\n                            </div>\n\n                            <div class=\"tab-pane\" id=\"examples-Query-query-0-python\">\n                              <pre class=\"prettyprint\"><code class=\"language-python\">from __future__ import print_statement\nimport time\nimport swagger_client\nfrom swagger_client.rest import ApiException\nfrom pprint import pprint\n\n# create an instance of the API class\napi_instance = swagger_client.QueryApi()\nbody =  # map[String, Object] | Query information to be submitted\n\ntry:\n    # Query reasoner via one of several inputs\n    api_response = api_instance.query(body)\n    pprint(api_response)\nexcept ApiException as e:\n    print(\"Exception when calling QueryApi->query: %s\\n\" % e)</code></pre>\n                            </div>\n                          </div>\n\n                          <h2>Parameters</h2>\n\n\n\n                            <div class=\"methodsubtabletitle\">Body parameters</div>\n                            <table id=\"methodsubtable\">\n                              <tr>\n                                <th width=\"150px\">Name</th>\n                                <th>Description</th>\n                              </tr>\n                                <tr><td style=\"width:150px;\">body <span style=\"color:red;\">*</span></td>\n                                <td>\n\n\n                                <script>\n                                $(document).ready(function() {\n                                  var schemaWrapper = {\n  \"description\" : \"Query information to be submitted\",\n  \"content\" : {\n    \"application/json\" : {\n      \"schema\" : {\n        \"$ref\" : \"#/components/schemas/Query\"\n      }\n    }\n  },\n  \"required\" : true\n};\n                                  var schema = schemaWrapper.content[\"application/json\"].schema;\n                                  if (schema.$ref != null) {\n                                    schema = defsParser.$refs.get(schema.$ref);\n                                  } else {\n                                    schemaWrapper.components = {};\n                                    schemaWrapper.components.schemas = Object.assign({}, defs);\n                                    $RefParser.dereference(schemaWrapper).catch(function(err) {\n                                      console.log(err);\n                                    });\n                                  }\n\n                                  var view = new JSONSchemaView(schema,2,{isBodyParam: true});\n                                  var result = $('#d2e199_query_body');\n                                  result.empty();\n                                  result.append(view.render());\n                                });\n                                </script>\n                                <div id=\"d2e199_query_body\"></div>\n                                </td>\n                                </tr>\n                            </table>\n\n\n\n                          <h2>Responses</h2>\n                            <h3> Status: 200 - successful operation </h3>\n\n                            <ul class=\"nav nav-tabs nav-tabs-examples\" >\n                                <li class=\"active\">\n                                  <a data-toggle=\"tab\" href=\"#responses-query-200-schema\">Schema</a>\n                                </li>\n\n                            </ul>\n\n                            <div class=\"tab-content\" style='margin-bottom: 10px;'>\n                                <div class=\"tab-pane active\" id=\"responses-query-200-schema\">\n                                  <div id='responses-query-200-schema-200' style=\"padding: 30px; border-left: 1px solid #eee; border-right: 1px solid #eee; border-bottom: 1px solid #eee;\">\n                                    <script>\n                                      $(document).ready(function() {\n                                        var schemaWrapper = {\n  \"description\" : \"successful operation\",\n  \"content\" : {\n    \"application/json\" : {\n      \"schema\" : {\n        \"$ref\" : \"#/components/schemas/Message\"\n      }\n    }\n  }\n};\n                                        var schema = schemaWrapper.content[\"application/json\"].schema;\n                                        if (schema.$ref != null) {\n                                          schema = defsParser.$refs.get(schema.$ref);\n                                        } else {\n                                          schemaWrapper.components = {};\n                                          schemaWrapper.components.schemas = Object.assign({}, defs);\n                                          $RefParser.dereference(schemaWrapper).catch(function(err) {\n                                            console.log(err);\n                                          });\n                                        }\n\n                                        //console.log(JSON.stringify(schema));\n                                        var view = new JSONSchemaView(schema, 3);\n                                        $('#responses-query-200-schema-data').val(stringify(schema));\n                                        var result = $('#responses-query-200-schema-200');\n                                        result.empty();\n                                        result.append(view.render());\n                                      });\n                                    </script>\n                                  </div>\n                                  <input id='responses-query-200-schema-data' type='hidden' value=''></input>\n                                </div>\n                            </div>\n\n                            <h3> Status: 400 - Invalid status value </h3>\n\n                            <ul class=\"nav nav-tabs nav-tabs-examples\" >\n                            </ul>\n\n                            <div class=\"tab-content\" style='margin-bottom: 10px;'>\n                            </div>\n\n                        </article>\n                      </div>\n                      <hr>\n                  </section>\n          </div>\n          <div id=\"footer\">\n            <div id=\"api-_footer\">\n              <p>Suggestions, contact, support and error reporting;\n                  <div class=\"app-desc\">Information URL: <a href=\"https://helloreverb.com\">https://helloreverb.com</a></div>\n                  <div class=\"app-desc\">Contact Info: <a href=\"edeutsch@systemsbiology.org\">edeutsch@systemsbiology.org</a></div>\n              </p>\n                <div class=\"license-info\">Apache 2.0</div>\n                <div class=\"license-url\">http://www.apache.org/licenses/LICENSE-2.0.html</div>\n            </div>\n          </div>\n      </div>\n    </div>\n  </div>\n  <script>\n  (function webpackUniversalModuleDefinition(root, factory) {\n  \tif(typeof exports === 'object' && typeof module === 'object')\n  \t\tmodule.exports = factory();\n  \telse if(typeof define === 'function' && define.amd)\n  \t\tdefine(\"JSONFormatter\", [], factory);\n  \telse if(typeof exports === 'object')\n  \t\texports[\"JSONFormatter\"] = factory();\n  \telse\n  \t\troot[\"JSONFormatter\"] = factory();\n  })(this, function() {\n  return /******/ (function(modules) { // webpackBootstrap\n  /******/ \t// The module cache\n  /******/ \tvar installedModules = {};\n  /******/\n  /******/ \t// The require function\n  /******/ \tfunction __webpack_require__(moduleId) {\n  /******/\n  /******/ \t\t// Check if module is in cache\n  /******/ \t\tif(installedModules[moduleId])\n  /******/ \t\t\treturn installedModules[moduleId].exports;\n  /******/\n  /******/ \t\t// Create a new module (and put it into the cache)\n  /******/ \t\tvar module = installedModules[moduleId] = {\n  /******/ \t\t\texports: {},\n  /******/ \t\t\tid: moduleId,\n  /******/ \t\t\tloaded: false\n  /******/ \t\t};\n  /******/\n  /******/ \t\t// Execute the module function\n  /******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n  /******/\n  /******/ \t\t// Flag the module as loaded\n  /******/ \t\tmodule.loaded = true;\n  /******/\n  /******/ \t\t// Return the exports of the module\n  /******/ \t\treturn module.exports;\n  /******/ \t}\n  /******/\n  /******/\n  /******/ \t// expose the modules object (__webpack_modules__)\n  /******/ \t__webpack_require__.m = modules;\n  /******/\n  /******/ \t// expose the module cache\n  /******/ \t__webpack_require__.c = installedModules;\n  /******/\n  /******/ \t// __webpack_public_path__\n  /******/ \t__webpack_require__.p = \"dist\";\n  /******/\n  /******/ \t// Load entry module and return exports\n  /******/ \treturn __webpack_require__(0);\n  /******/ })\n  /************************************************************************/\n  /******/ ([\n  /* 0 */\n  /***/ function(module, exports, __webpack_require__) {\n\n  \tmodule.exports = __webpack_require__(1);\n\n\n  /***/ },\n  /* 1 */\n  /***/ function(module, exports, __webpack_require__) {\n\n  \t\"use strict\";\n  \t__webpack_require__(2);\n  \tvar helpers_ts_1 = __webpack_require__(6);\n  \tvar DATE_STRING_REGEX = /(^\\d{1,4}[\\.|\\\\/|-]\\d{1,2}[\\.|\\\\/|-]\\d{1,4})(\\s*(?:0?[1-9]:[0-5]|1(?=[012])\\d:[0-5])\\d\\s*[ap]m)?$/;\n  \tvar PARTIAL_DATE_REGEX = /\\d{2}:\\d{2}:\\d{2} GMT-\\d{4}/;\n  \tvar JSON_DATE_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/;\n  \t// When toggleing, don't animated removal or addition of more than a few items\n  \tvar MAX_ANIMATED_TOGGLE_ITEMS = 10;\n  \tvar requestAnimationFrame = window.requestAnimationFrame || function (cb) { cb(); return 0; };\n  \t;\n  \tvar _defaultConfig = {\n  \t    hoverPreviewEnabled: false,\n  \t    hoverPreviewArrayCount: 100,\n  \t    hoverPreviewFieldCount: 5,\n  \t    animateOpen: true,\n  \t    animateClose: true,\n  \t    theme: null\n  \t};\n  \tmodule.exports = (function () {\n  \t    /**\n  \t     * @param {object} json The JSON object you want to render. It has to be an\n  \t     * object or array. Do NOT pass raw JSON string.\n  \t     *\n  \t     * @param {number} [open=1] his number indicates up to how many levels the\n  \t     * rendered tree should expand. Set it to `0` to make the whole tree collapsed\n  \t     * or set it to `Infinity` to expand the tree deeply\n  \t     *\n  \t     * @param {object} [config=defaultConfig] -\n  \t     *  defaultConfig = {\n  \t     *   hoverPreviewEnabled: false,\n  \t     *   hoverPreviewArrayCount: 100,\n  \t     *   hoverPreviewFieldCount: 5\n  \t     * }\n  \t     *\n  \t     * Available configurations:\n  \t     *  #####Hover Preview\n  \t     * * `hoverPreviewEnabled`:  enable preview on hover\n  \t     * * `hoverPreviewArrayCount`: number of array items to show in preview Any\n  \t     *    array larger than this number will be shown as `Array[XXX]` where `XXX`\n  \t     *    is length of the array.\n  \t     * * `hoverPreviewFieldCount`: number of object properties to show for object\n  \t     *   preview. Any object with more properties that thin number will be\n  \t     *   truncated.\n  \t     *\n  \t     * @param {string} [key=undefined] The key that this object in it's parent\n  \t     * context\n  \t    */\n  \t    function JSONFormatter(json, open, config, key) {\n  \t        if (open === void 0) { open = 1; }\n  \t        if (config === void 0) { config = _defaultConfig; }\n  \t        this.json = json;\n  \t        this.open = open;\n  \t        this.config = config;\n  \t        this.key = key;\n  \t        // Hold the open state after the toggler is used\n  \t        this._isOpen = null;\n  \t        // Setting default values for config object\n  \t        if (this.config.hoverPreviewEnabled === undefined) {\n  \t            this.config.hoverPreviewEnabled = _defaultConfig.hoverPreviewEnabled;\n  \t        }\n  \t        if (this.config.hoverPreviewArrayCount === undefined) {\n  \t            this.config.hoverPreviewArrayCount = _defaultConfig.hoverPreviewArrayCount;\n  \t        }\n  \t        if (this.config.hoverPreviewFieldCount === undefined) {\n  \t            this.config.hoverPreviewFieldCount = _defaultConfig.hoverPreviewFieldCount;\n  \t        }\n  \t    }\n  \t    Object.defineProperty(JSONFormatter.prototype, \"isOpen\", {\n  \t        /*\n  \t         * is formatter open?\n  \t        */\n  \t        get: function () {\n  \t            if (this._isOpen !== null) {\n  \t                return this._isOpen;\n  \t            }\n  \t            else {\n  \t                return this.open > 0;\n  \t            }\n  \t        },\n  \t        /*\n  \t         * set open state (from toggler)\n  \t        */\n  \t        set: function (value) {\n  \t            this._isOpen = value;\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"isDate\", {\n  \t        /*\n  \t         * is this a date string?\n  \t        */\n  \t        get: function () {\n  \t            return (this.type === 'string') &&\n  \t                (DATE_STRING_REGEX.test(this.json) ||\n  \t                    JSON_DATE_REGEX.test(this.json) ||\n  \t                    PARTIAL_DATE_REGEX.test(this.json));\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"isUrl\", {\n  \t        /*\n  \t         * is this a URL string?\n  \t        */\n  \t        get: function () {\n  \t            return this.type === 'string' && (this.json.indexOf('http') === 0);\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"isArray\", {\n  \t        /*\n  \t         * is this an array?\n  \t        */\n  \t        get: function () {\n  \t            return Array.isArray(this.json);\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"isObject\", {\n  \t        /*\n  \t         * is this an object?\n  \t         * Note: In this context arrays are object as well\n  \t        */\n  \t        get: function () {\n  \t            return helpers_ts_1.isObject(this.json);\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"isEmptyObject\", {\n  \t        /*\n  \t         * is this an empty object with no properties?\n  \t        */\n  \t        get: function () {\n  \t            return !this.keys.length && !this.isArray;\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"isEmpty\", {\n  \t        /*\n  \t         * is this an empty object or array?\n  \t        */\n  \t        get: function () {\n  \t            return this.isEmptyObject || (this.keys && !this.keys.length && this.isArray);\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"hasKey\", {\n  \t        /*\n  \t         * did we receive a key argument?\n  \t         * This means that the formatter was called as a sub formatter of a parent formatter\n  \t        */\n  \t        get: function () {\n  \t            return typeof this.key !== 'undefined';\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"constructorName\", {\n  \t        /*\n  \t         * if this is an object, get constructor function name\n  \t        */\n  \t        get: function () {\n  \t            return helpers_ts_1.getObjectName(this.json);\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"type\", {\n  \t        /*\n  \t         * get type of this value\n  \t         * Possible values: all JavaScript primitive types plus \"array\" and \"null\"\n  \t        */\n  \t        get: function () {\n  \t            return helpers_ts_1.getType(this.json);\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    Object.defineProperty(JSONFormatter.prototype, \"keys\", {\n  \t        /*\n  \t         * get object keys\n  \t         * If there is an empty key we pad it wit quotes to make it visible\n  \t        */\n  \t        get: function () {\n  \t            if (this.isObject) {\n  \t                return Object.keys(this.json).map(function (key) { return key ? key : '\"\"'; });\n  \t            }\n  \t            else {\n  \t                return [];\n  \t            }\n  \t        },\n  \t        enumerable: true,\n  \t        configurable: true\n  \t    });\n  \t    /**\n  \t     * Toggles `isOpen` state\n  \t     *\n  \t    */\n  \t    JSONFormatter.prototype.toggleOpen = function () {\n  \t        this.isOpen = !this.isOpen;\n  \t        if (this.element) {\n  \t            if (this.isOpen) {\n  \t                this.appendChildren(this.config.animateOpen);\n  \t            }\n  \t            else {\n  \t                this.removeChildren(this.config.animateClose);\n  \t            }\n  \t            this.element.classList.toggle(helpers_ts_1.cssClass('open'));\n  \t        }\n  \t    };\n  \t    /**\n  \t    * Open all children up to a certain depth.\n  \t    * Allows actions such as expand all/collapse all\n  \t    *\n  \t    */\n  \t    JSONFormatter.prototype.openAtDepth = function (depth) {\n  \t        if (depth === void 0) { depth = 1; }\n  \t        if (depth < 0) {\n  \t            return;\n  \t        }\n  \t        this.open = depth;\n  \t        this.isOpen = (depth !== 0);\n  \t        if (this.element) {\n  \t            this.removeChildren(false);\n  \t            if (depth === 0) {\n  \t                this.element.classList.remove(helpers_ts_1.cssClass('open'));\n  \t            }\n  \t            else {\n  \t                this.appendChildren(this.config.animateOpen);\n  \t                this.element.classList.add(helpers_ts_1.cssClass('open'));\n  \t            }\n  \t        }\n  \t    };\n  \t    /**\n  \t     * Generates inline preview\n  \t     *\n  \t     * @returns {string}\n  \t    */\n  \t    JSONFormatter.prototype.getInlinepreview = function () {\n  \t        var _this = this;\n  \t        if (this.isArray) {\n  \t            // if array length is greater then 100 it shows \"Array[101]\"\n  \t            if (this.json.length > this.config.hoverPreviewArrayCount) {\n  \t                return \"Array[\" + this.json.length + \"]\";\n  \t            }\n  \t            else {\n  \t                return \"[\" + this.json.map(helpers_ts_1.getPreview).join(', ') + \"]\";\n  \t            }\n  \t        }\n  \t        else {\n  \t            var keys = this.keys;\n  \t            // the first five keys (like Chrome Developer Tool)\n  \t            var narrowKeys = keys.slice(0, this.config.hoverPreviewFieldCount);\n  \t            // json value schematic information\n  \t            var kvs = narrowKeys.map(function (key) { return (key + \":\" + helpers_ts_1.getPreview(_this.json[key])); });\n  \t            // if keys count greater then 5 then show ellipsis\n  \t            var ellipsis = keys.length >= this.config.hoverPreviewFieldCount ? '…' : '';\n  \t            return \"{\" + kvs.join(', ') + ellipsis + \"}\";\n  \t        }\n  \t    };\n  \t    /**\n  \t     * Renders an HTML element and installs event listeners\n  \t     *\n  \t     * @returns {HTMLDivElement}\n  \t    */\n  \t    JSONFormatter.prototype.render = function () {\n  \t        // construct the root element and assign it to this.element\n  \t        this.element = helpers_ts_1.createElement('div', 'row');\n  \t        // construct the toggler link\n  \t        var togglerLink = helpers_ts_1.createElement('a', 'toggler-link');\n  \t        // if this is an object we need a wrapper span (toggler)\n  \t        if (this.isObject) {\n  \t            togglerLink.appendChild(helpers_ts_1.createElement('span', 'toggler'));\n  \t        }\n  \t        // if this is child of a parent formatter we need to append the key\n  \t        if (this.hasKey) {\n  \t            togglerLink.appendChild(helpers_ts_1.createElement('span', 'key', this.key + \":\"));\n  \t        }\n  \t        // Value for objects and arrays\n  \t        if (this.isObject) {\n  \t            // construct the value holder element\n  \t            var value = helpers_ts_1.createElement('span', 'value');\n  \t            // we need a wrapper span for objects\n  \t            var objectWrapperSpan = helpers_ts_1.createElement('span');\n  \t            // get constructor name and append it to wrapper span\n  \t            var constructorName = helpers_ts_1.createElement('span', 'constructor-name', this.constructorName);\n  \t            objectWrapperSpan.appendChild(constructorName);\n  \t            // if it's an array append the array specific elements like brackets and length\n  \t            if (this.isArray) {\n  \t                var arrayWrapperSpan = helpers_ts_1.createElement('span');\n  \t                arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'bracket', '['));\n  \t                arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'number', (this.json.length)));\n  \t                arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'bracket', ']'));\n  \t                objectWrapperSpan.appendChild(arrayWrapperSpan);\n  \t            }\n  \t            // append object wrapper span to toggler link\n  \t            value.appendChild(objectWrapperSpan);\n  \t            togglerLink.appendChild(value);\n  \t        }\n  \t        else {\n  \t            // make a value holder element\n  \t            var value = this.isUrl ? helpers_ts_1.createElement('a') : helpers_ts_1.createElement('span');\n  \t            // add type and other type related CSS classes\n  \t            value.classList.add(helpers_ts_1.cssClass(this.type));\n  \t            if (this.isDate) {\n  \t                value.classList.add(helpers_ts_1.cssClass('date'));\n  \t            }\n  \t            if (this.isUrl) {\n  \t                value.classList.add(helpers_ts_1.cssClass('url'));\n  \t                value.setAttribute('href', this.json);\n  \t            }\n  \t            // Append value content to value element\n  \t            var valuePreview = helpers_ts_1.getValuePreview(this.json, this.json);\n  \t            value.appendChild(document.createTextNode(valuePreview));\n  \t            // append the value element to toggler link\n  \t            togglerLink.appendChild(value);\n  \t        }\n  \t        // if hover preview is enabled, append the inline preview element\n  \t        if (this.isObject && this.config.hoverPreviewEnabled) {\n  \t            var preview = helpers_ts_1.createElement('span', 'preview-text');\n  \t            preview.appendChild(document.createTextNode(this.getInlinepreview()));\n  \t            togglerLink.appendChild(preview);\n  \t        }\n  \t        // construct a children element\n  \t        var children = helpers_ts_1.createElement('div', 'children');\n  \t        // set CSS classes for children\n  \t        if (this.isObject) {\n  \t            children.classList.add(helpers_ts_1.cssClass('object'));\n  \t        }\n  \t        if (this.isArray) {\n  \t            children.classList.add(helpers_ts_1.cssClass('array'));\n  \t        }\n  \t        if (this.isEmpty) {\n  \t            children.classList.add(helpers_ts_1.cssClass('empty'));\n  \t        }\n  \t        // set CSS classes for root element\n  \t        if (this.config && this.config.theme) {\n  \t            this.element.classList.add(helpers_ts_1.cssClass(this.config.theme));\n  \t        }\n  \t        if (this.isOpen) {\n  \t            this.element.classList.add(helpers_ts_1.cssClass('open'));\n  \t        }\n  \t        // append toggler and children elements to root element\n  \t        this.element.appendChild(togglerLink);\n  \t        this.element.appendChild(children);\n  \t        // if formatter is set to be open call appendChildren\n  \t        if (this.isObject && this.isOpen) {\n  \t            this.appendChildren();\n  \t        }\n  \t        // add event listener for toggling\n  \t        if (this.isObject) {\n  \t            togglerLink.addEventListener('click', this.toggleOpen.bind(this));\n  \t        }\n  \t        return this.element;\n  \t    };\n  \t    /**\n  \t     * Appends all the children to children element\n  \t     * Animated option is used when user triggers this via a click\n  \t    */\n  \t    JSONFormatter.prototype.appendChildren = function (animated) {\n  \t        var _this = this;\n  \t        if (animated === void 0) { animated = false; }\n  \t        var children = this.element.querySelector(\"div.\" + helpers_ts_1.cssClass('children'));\n  \t        if (!children || this.isEmpty) {\n  \t            return;\n  \t        }\n  \t        if (animated) {\n  \t            var index_1 = 0;\n  \t            var addAChild_1 = function () {\n  \t                var key = _this.keys[index_1];\n  \t                var formatter = new JSONFormatter(_this.json[key], _this.open - 1, _this.config, key);\n  \t                children.appendChild(formatter.render());\n  \t                index_1 += 1;\n  \t                if (index_1 < _this.keys.length) {\n  \t                    if (index_1 > MAX_ANIMATED_TOGGLE_ITEMS) {\n  \t                        addAChild_1();\n  \t                    }\n  \t                    else {\n  \t                        requestAnimationFrame(addAChild_1);\n  \t                    }\n  \t                }\n  \t            };\n  \t            requestAnimationFrame(addAChild_1);\n  \t        }\n  \t        else {\n  \t            this.keys.forEach(function (key) {\n  \t                var formatter = new JSONFormatter(_this.json[key], _this.open - 1, _this.config, key);\n  \t                children.appendChild(formatter.render());\n  \t            });\n  \t        }\n  \t    };\n  \t    /**\n  \t     * Removes all the children from children element\n  \t     * Animated option is used when user triggers this via a click\n  \t    */\n  \t    JSONFormatter.prototype.removeChildren = function (animated) {\n  \t        if (animated === void 0) { animated = false; }\n  \t        var childrenElement = this.element.querySelector(\"div.\" + helpers_ts_1.cssClass('children'));\n  \t        if (animated) {\n  \t            var childrenRemoved_1 = 0;\n  \t            var removeAChild_1 = function () {\n  \t                if (childrenElement && childrenElement.children.length) {\n  \t                    childrenElement.removeChild(childrenElement.children[0]);\n  \t                    childrenRemoved_1 += 1;\n  \t                    if (childrenRemoved_1 > MAX_ANIMATED_TOGGLE_ITEMS) {\n  \t                        removeAChild_1();\n  \t                    }\n  \t                    else {\n  \t                        requestAnimationFrame(removeAChild_1);\n  \t                    }\n  \t                }\n  \t            };\n  \t            requestAnimationFrame(removeAChild_1);\n  \t        }\n  \t        else {\n  \t            if (childrenElement) {\n  \t                childrenElement.innerHTML = '';\n  \t            }\n  \t        }\n  \t    };\n  \t    return JSONFormatter;\n  \t}());\n\n\n  /***/ },\n  /* 2 */\n  /***/ function(module, exports, __webpack_require__) {\n\n  \t// style-loader: Adds some css to the DOM by adding a <style> tag\n\n  \t// load the styles\n  \tvar content = __webpack_require__(3);\n  \tif(typeof content === 'string') content = [[module.id, content, '']];\n  \t// add the styles to the DOM\n  \tvar update = __webpack_require__(5)(content, {\"sourceMap\":true});\n  \tif(content.locals) module.exports = content.locals;\n  \t// Hot Module Replacement\n  \tif(false) {\n  \t\t// When the styles change, update the <style> tags\n  \t\tif(!content.locals) {\n  \t\t\tmodule.hot.accept(\"!!./../node_modules/css-loader/index.js?sourceMap!./../node_modules/less-loader/index.js?sourceMap!./style.less\", function() {\n  \t\t\t\tvar newContent = require(\"!!./../node_modules/css-loader/index.js?sourceMap!./../node_modules/less-loader/index.js?sourceMap!./style.less\");\n  \t\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n  \t\t\t\tupdate(newContent);\n  \t\t\t});\n  \t\t}\n  \t\t// When the module is disposed, remove the <style> tags\n  \t\tmodule.hot.dispose(function() { update(); });\n  \t}\n\n  /***/ },\n  /* 3 */\n  /***/ function(module, exports, __webpack_require__) {\n\n  \texports = module.exports = __webpack_require__(4)();\n  \t// imports\n\n\n  \t// module\n  \texports.push([module.id, \".json-formatter-row {\\n  font-family: monospace;\\n}\\n.json-formatter-row,\\n.json-formatter-row a,\\n.json-formatter-row a:hover {\\n  color: black;\\n  text-decoration: none;\\n}\\n.json-formatter-row .json-formatter-row {\\n  margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty {\\n  opacity: 0.5;\\n  margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n  display: none;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n  content: \\\"No properties\\\";\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n  content: \\\"[]\\\";\\n}\\n.json-formatter-row .json-formatter-string {\\n  color: green;\\n  white-space: pre;\\n  word-wrap: break-word;\\n}\\n.json-formatter-row .json-formatter-number {\\n  color: blue;\\n}\\n.json-formatter-row .json-formatter-boolean {\\n  color: red;\\n}\\n.json-formatter-row .json-formatter-null {\\n  color: #855A00;\\n}\\n.json-formatter-row .json-formatter-undefined {\\n  color: #ca0b69;\\n}\\n.json-formatter-row .json-formatter-function {\\n  color: #FF20ED;\\n}\\n.json-formatter-row .json-formatter-date {\\n  background-color: rgba(0, 0, 0, 0.05);\\n}\\n.json-formatter-row .json-formatter-url {\\n  text-decoration: underline;\\n  color: blue;\\n  cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-bracket {\\n  color: blue;\\n}\\n.json-formatter-row .json-formatter-key {\\n  color: #00008B;\\n  cursor: pointer;\\n  padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-constructor-name {\\n  cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-toggler {\\n  line-height: 1.2rem;\\n  font-size: 0.7rem;\\n  vertical-align: middle;\\n  opacity: 0.6;\\n  cursor: pointer;\\n  padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-toggler:after {\\n  display: inline-block;\\n  transition: transform 100ms ease-in;\\n  content: \\\"\\\\25BA\\\";\\n}\\n.json-formatter-row > a > .json-formatter-preview-text {\\n  opacity: 0;\\n  transition: opacity 0.15s ease-in;\\n  font-style: italic;\\n}\\n.json-formatter-row:hover > a > .json-formatter-preview-text {\\n  opacity: 0.6;\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n  transform: rotate(90deg);\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n  display: inline-block;\\n}\\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n  display: none;\\n}\\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n  display: block;\\n}\\n.json-formatter-dark.json-formatter-row {\\n  font-family: monospace;\\n}\\n.json-formatter-dark.json-formatter-row,\\n.json-formatter-dark.json-formatter-row a,\\n.json-formatter-dark.json-formatter-row a:hover {\\n  color: white;\\n  text-decoration: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-row {\\n  margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\\n  opacity: 0.5;\\n  margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n  display: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n  content: \\\"No properties\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n  content: \\\"[]\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-string {\\n  color: #31F031;\\n  white-space: pre;\\n  word-wrap: break-word;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-number {\\n  color: #66C2FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\\n  color: #EC4242;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-null {\\n  color: #EEC97D;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\\n  color: #ef8fbe;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-function {\\n  color: #FD48CB;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-date {\\n  background-color: rgba(255, 255, 255, 0.05);\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-url {\\n  text-decoration: underline;\\n  color: #027BFF;\\n  cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\\n  color: #9494FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-key {\\n  color: #23A0DB;\\n  cursor: pointer;\\n  padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-constructor-name {\\n  cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\\n  line-height: 1.2rem;\\n  font-size: 0.7rem;\\n  vertical-align: middle;\\n  opacity: 0.6;\\n  cursor: pointer;\\n  padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\\n  display: inline-block;\\n  transition: transform 100ms ease-in;\\n  content: \\\"\\\\25BA\\\";\\n}\\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\\n  opacity: 0;\\n  transition: opacity 0.15s ease-in;\\n  font-style: italic;\\n}\\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\\n  opacity: 0.6;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n  transform: rotate(90deg);\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n  display: inline-block;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n  display: none;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n  display: block;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/./src/style.less\",\"/./src/style.less\"],\"names\":[],\"mappings\":\"AA0GA;EA3FE,uBAAA;CCbD;ADcC;;;EACE,aAAA;EACA,sBAAA;CCVH;ADkGD;EApFI,kBAAA;CCXH;ADeG;EACE,aAAA;EACA,kBAAA;CCbL;ADeK;EAAU,cAAA;CCZf;ADaK;EAAgC,yBAAA;CCVrC;ADWK;EAA+B,cAAA;CCRpC;ADkFD;EArEI,aAAA;EACA,iBAAA;EACA,sBAAA;CCVH;AD6ED;EAjE2B,YAAA;CCT1B;AD0ED;EAhE4B,WAAA;CCP3B;ADuED;EA/DyB,eAAA;CCLxB;ADoED;EA9D8B,eAAA;CCH7B;ADiED;EA7D6B,eAAA;CCD5B;AD8DD;EA5DyB,sCAAA;CCCxB;AD2DD;EA1DI,2BAAA;EACA,YAAA;EACA,gBAAA;CCEH;ADsDD;EArD4B,YAAA;CCE3B;ADmDD;EAnDI,eAAA;EACA,gBAAA;EACA,sBAAA;CCGH;AD8CD;EA9CI,gBAAA;CCGH;AD2CD;EA1CI,oBAAA;EACA,kBAAA;EACA,uBAAA;EACA,aAAA;EACA,gBAAA;EACA,sBAAA;CCEH;ADAG;EACE,sBAAA;EACA,oCAAA;EACA,iBAAA;CCEL;AD8BD;EA1BI,WAAA;EACA,kCAAA;EACA,mBAAA;CCDH;ADGC;EACE,aAAA;CCDH;ADKC;EAEI,yBAAA;CCJL;ADEC;EAKI,sBAAA;CCJL;ADDC;EAQI,cAAA;CCJL;ADMG;EACE,eAAA;CCJL;ADeD;EAhGE,uBAAA;CCoFD;ADnFC;;;EACE,aAAA;EACA,sBAAA;CCuFH;ADMD;EAzFI,kBAAA;CCsFH;ADlFG;EACE,aAAA;EACA,kBAAA;CCoFL;ADlFK;EAAU,cAAA;CCqFf;ADpFK;EAAgC,yBAAA;CCuFrC;ADtFK;EAA+B,cAAA;CCyFpC;ADVD;EA1EI,eAAA;EACA,iBAAA;EACA,sBAAA;CCuFH;ADfD;EAtE2B,eAAA;CCwF1B;ADlBD;EArE4B,eAAA;CC0F3B;ADrBD;EApEyB,eAAA;CC4FxB;ADxBD;EAnE8B,eAAA;CC8F7B;AD3BD;EAlE6B,eAAA;CCgG5B;AD9BD;EAjEyB,4CAAA;CCkGxB;ADjCD;EA/DI,2BAAA;EACA,eAAA;EACA,gBAAA;CCmGH;ADtCD;EA1D4B,eAAA;CCmG3B;ADzCD;EAxDI,eAAA;EACA,gBAAA;EACA,sBAAA;CCoGH;AD9CD;EAnDI,gBAAA;CCoGH;ADjDD;EA/CI,oBAAA;EACA,kBAAA;EACA,uBAAA;EACA,aAAA;EACA,gBAAA;EACA,sBAAA;CCmGH;ADjGG;EACE,sBAAA;EACA,oCAAA;EACA,iBAAA;CCmGL;AD9DD;EA/BI,WAAA;EACA,kCAAA;EACA,mBAAA;CCgGH;AD9FC;EACE,aAAA;CCgGH;AD5FC;EAEI,yBAAA;CC6FL;AD/FC;EAKI,sBAAA;CC6FL;ADlGC;EAQI,cAAA;CC6FL;AD3FG;EACE,eAAA;CC6FL\",\"file\":\"style.less\",\"sourcesContent\":[\".theme(\\n  @default-color: black,\\n  @string-color: green,\\n  @number-color: blue,\\n  @boolean-color: red,\\n  @null-color: #855A00,\\n  @undefined-color: rgb(202, 11, 105),\\n  @function-color: #FF20ED,\\n  @rotate-time: 100ms,\\n  @toggler-opacity: 0.6,\\n  @toggler-color: #45376F,\\n  @bracket-color: blue,\\n  @key-color: #00008B,\\n  @url-color: blue ){\\n\\n  font-family: monospace;\\n  &, a, a:hover {\\n    color: @default-color;\\n    text-decoration: none;\\n  }\\n\\n  .json-formatter-row {\\n    margin-left: 1rem;\\n  }\\n\\n  .json-formatter-children {\\n    &.json-formatter-empty {\\n      opacity: 0.5;\\n      margin-left: 1rem;\\n\\n      &:after { display: none; }\\n      &.json-formatter-object:after { content: \\\"No properties\\\"; }\\n      &.json-formatter-array:after { content: \\\"[]\\\"; }\\n    }\\n  }\\n\\n  .json-formatter-string {\\n    color: @string-color;\\n    white-space: pre;\\n    word-wrap: break-word;\\n  }\\n  .json-formatter-number { color: @number-color; }\\n  .json-formatter-boolean { color: @boolean-color; }\\n  .json-formatter-null { color: @null-color; }\\n  .json-formatter-undefined { color: @undefined-color; }\\n  .json-formatter-function { color: @function-color; }\\n  .json-formatter-date { background-color: fade(@default-color, 5%); }\\n  .json-formatter-url {\\n    text-decoration: underline;\\n    color: @url-color;\\n    cursor: pointer;\\n  }\\n\\n  .json-formatter-bracket { color: @bracket-color; }\\n  .json-formatter-key {\\n    color: @key-color;\\n    cursor: pointer;\\n    padding-right: 0.2rem;\\n  }\\n  .json-formatter-constructor-name {\\n    cursor: pointer;\\n  }\\n\\n  .json-formatter-toggler {\\n    line-height: 1.2rem;\\n    font-size: 0.7rem;\\n    vertical-align: middle;\\n    opacity: @toggler-opacity;\\n    cursor: pointer;\\n    padding-right: 0.2rem;\\n\\n    &:after {\\n      display: inline-block;\\n      transition: transform @rotate-time ease-in;\\n      content: \\\"►\\\";\\n    }\\n  }\\n\\n  // Inline preview on hover (optional)\\n  > a > .json-formatter-preview-text {\\n    opacity: 0;\\n    transition: opacity .15s ease-in;\\n    font-style: italic;\\n  }\\n  &:hover > a > .json-formatter-preview-text {\\n    opacity: 0.6;\\n  }\\n\\n  // Open state\\n  &.json-formatter-open {\\n    > .json-formatter-toggler-link .json-formatter-toggler:after{\\n      transform: rotate(90deg);\\n    }\\n    > .json-formatter-children:after {\\n      display: inline-block;\\n    }\\n    > a > .json-formatter-preview-text {\\n      display: none;\\n    }\\n    &.json-formatter-empty:after {\\n      display: block;\\n    }\\n  }\\n}\\n\\n// Default theme\\n.json-formatter-row {\\n  .theme();\\n}\\n\\n// Dark theme\\n.json-formatter-dark.json-formatter-row {\\n  .theme(\\n    @default-color: white,\\n    @string-color: #31F031,\\n    @number-color: #66C2FF,\\n    @boolean-color: #EC4242,\\n    @null-color: #EEC97D,\\n    @undefined-color: rgb(239, 143, 190),\\n    @function-color: #FD48CB,\\n    @rotate-time: 100ms,\\n    @toggler-opacity: 0.6,\\n    @toggler-color: #45376F,\\n    @bracket-color: #9494FF,\\n    @key-color: #23A0DB,\\n    @url-color: #027BFF);\\n}\\n\",\".json-formatter-row {\\n  font-family: monospace;\\n}\\n.json-formatter-row,\\n.json-formatter-row a,\\n.json-formatter-row a:hover {\\n  color: black;\\n  text-decoration: none;\\n}\\n.json-formatter-row .json-formatter-row {\\n  margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty {\\n  opacity: 0.5;\\n  margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n  display: none;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n  content: \\\"No properties\\\";\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n  content: \\\"[]\\\";\\n}\\n.json-formatter-row .json-formatter-string {\\n  color: green;\\n  white-space: pre;\\n  word-wrap: break-word;\\n}\\n.json-formatter-row .json-formatter-number {\\n  color: blue;\\n}\\n.json-formatter-row .json-formatter-boolean {\\n  color: red;\\n}\\n.json-formatter-row .json-formatter-null {\\n  color: #855A00;\\n}\\n.json-formatter-row .json-formatter-undefined {\\n  color: #ca0b69;\\n}\\n.json-formatter-row .json-formatter-function {\\n  color: #FF20ED;\\n}\\n.json-formatter-row .json-formatter-date {\\n  background-color: rgba(0, 0, 0, 0.05);\\n}\\n.json-formatter-row .json-formatter-url {\\n  text-decoration: underline;\\n  color: blue;\\n  cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-bracket {\\n  color: blue;\\n}\\n.json-formatter-row .json-formatter-key {\\n  color: #00008B;\\n  cursor: pointer;\\n  padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-constructor-name {\\n  cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-toggler {\\n  line-height: 1.2rem;\\n  font-size: 0.7rem;\\n  vertical-align: middle;\\n  opacity: 0.6;\\n  cursor: pointer;\\n  padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-toggler:after {\\n  display: inline-block;\\n  transition: transform 100ms ease-in;\\n  content: \\\"►\\\";\\n}\\n.json-formatter-row > a > .json-formatter-preview-text {\\n  opacity: 0;\\n  transition: opacity 0.15s ease-in;\\n  font-style: italic;\\n}\\n.json-formatter-row:hover > a > .json-formatter-preview-text {\\n  opacity: 0.6;\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n  transform: rotate(90deg);\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n  display: inline-block;\\n}\\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n  display: none;\\n}\\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n  display: block;\\n}\\n.json-formatter-dark.json-formatter-row {\\n  font-family: monospace;\\n}\\n.json-formatter-dark.json-formatter-row,\\n.json-formatter-dark.json-formatter-row a,\\n.json-formatter-dark.json-formatter-row a:hover {\\n  color: white;\\n  text-decoration: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-row {\\n  margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\\n  opacity: 0.5;\\n  margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n  display: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n  content: \\\"No properties\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n  content: \\\"[]\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-string {\\n  color: #31F031;\\n  white-space: pre;\\n  word-wrap: break-word;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-number {\\n  color: #66C2FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\\n  color: #EC4242;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-null {\\n  color: #EEC97D;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\\n  color: #ef8fbe;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-function {\\n  color: #FD48CB;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-date {\\n  background-color: rgba(255, 255, 255, 0.05);\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-url {\\n  text-decoration: underline;\\n  color: #027BFF;\\n  cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\\n  color: #9494FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-key {\\n  color: #23A0DB;\\n  cursor: pointer;\\n  padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-constructor-name {\\n  cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\\n  line-height: 1.2rem;\\n  font-size: 0.7rem;\\n  vertical-align: middle;\\n  opacity: 0.6;\\n  cursor: pointer;\\n  padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\\n  display: inline-block;\\n  transition: transform 100ms ease-in;\\n  content: \\\"►\\\";\\n}\\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\\n  opacity: 0;\\n  transition: opacity 0.15s ease-in;\\n  font-style: italic;\\n}\\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\\n  opacity: 0.6;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n  transform: rotate(90deg);\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n  display: inline-block;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n  display: none;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n  display: block;\\n}\\n\"],\"sourceRoot\":\"webpack://\"}]);\n\n  \t// exports\n\n\n  /***/ },\n  /* 4 */\n  /***/ function(module, exports) {\n\n  \t/*\n  \t\tMIT License http://www.opensource.org/licenses/mit-license.php\n  \t\tAuthor Tobias Koppers @sokra\n  \t*/\n  \t// css base code, injected by the css-loader\n  \tmodule.exports = function() {\n  \t\tvar list = [];\n\n  \t\t// return the list of modules as css string\n  \t\tlist.toString = function toString() {\n  \t\t\tvar result = [];\n  \t\t\tfor(var i = 0; i < this.length; i++) {\n  \t\t\t\tvar item = this[i];\n  \t\t\t\tif(item[2]) {\n  \t\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n  \t\t\t\t} else {\n  \t\t\t\t\tresult.push(item[1]);\n  \t\t\t\t}\n  \t\t\t}\n  \t\t\treturn result.join(\"\");\n  \t\t};\n\n  \t\t// import a list of modules into the list\n  \t\tlist.i = function(modules, mediaQuery) {\n  \t\t\tif(typeof modules === \"string\")\n  \t\t\t\tmodules = [[null, modules, \"\"]];\n  \t\t\tvar alreadyImportedModules = {};\n  \t\t\tfor(var i = 0; i < this.length; i++) {\n  \t\t\t\tvar id = this[i][0];\n  \t\t\t\tif(typeof id === \"number\")\n  \t\t\t\t\talreadyImportedModules[id] = true;\n  \t\t\t}\n  \t\t\tfor(i = 0; i < modules.length; i++) {\n  \t\t\t\tvar item = modules[i];\n  \t\t\t\t// skip already imported module\n  \t\t\t\t// this implementation is not 100% perfect for weird media query combinations\n  \t\t\t\t//  when a module is imported multiple times with different media queries.\n  \t\t\t\t//  I hope this will never occur (Hey this way we have smaller bundles)\n  \t\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n  \t\t\t\t\tif(mediaQuery && !item[2]) {\n  \t\t\t\t\t\titem[2] = mediaQuery;\n  \t\t\t\t\t} else if(mediaQuery) {\n  \t\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n  \t\t\t\t\t}\n  \t\t\t\t\tlist.push(item);\n  \t\t\t\t}\n  \t\t\t}\n  \t\t};\n  \t\treturn list;\n  \t};\n\n\n  /***/ },\n  /* 5 */\n  /***/ function(module, exports, __webpack_require__) {\n\n  \t/*\n  \t\tMIT License http://www.opensource.org/licenses/mit-license.php\n  \t\tAuthor Tobias Koppers @sokra\n  \t*/\n  \tvar stylesInDom = {},\n  \t\tmemoize = function(fn) {\n  \t\t\tvar memo;\n  \t\t\treturn function () {\n  \t\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n  \t\t\t\treturn memo;\n  \t\t\t};\n  \t\t},\n  \t\tisOldIE = memoize(function() {\n  \t\t\treturn /msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase());\n  \t\t}),\n  \t\tgetHeadElement = memoize(function () {\n  \t\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\n  \t\t}),\n  \t\tsingletonElement = null,\n  \t\tsingletonCounter = 0,\n  \t\tstyleElementsInsertedAtTop = [];\n\n  \tmodule.exports = function(list, options) {\n  \t\tif(false) {\n  \t\t\tif(typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n  \t\t}\n\n  \t\toptions = options || {};\n  \t\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n  \t\t// tags it will allow on a page\n  \t\tif (typeof options.singleton === \"undefined\") options.singleton = isOldIE();\n\n  \t\t// By default, add <style> tags to the bottom of <head>.\n  \t\tif (typeof options.insertAt === \"undefined\") options.insertAt = \"bottom\";\n\n  \t\tvar styles = listToStyles(list);\n  \t\taddStylesToDom(styles, options);\n\n  \t\treturn function update(newList) {\n  \t\t\tvar mayRemove = [];\n  \t\t\tfor(var i = 0; i < styles.length; i++) {\n  \t\t\t\tvar item = styles[i];\n  \t\t\t\tvar domStyle = stylesInDom[item.id];\n  \t\t\t\tdomStyle.refs--;\n  \t\t\t\tmayRemove.push(domStyle);\n  \t\t\t}\n  \t\t\tif(newList) {\n  \t\t\t\tvar newStyles = listToStyles(newList);\n  \t\t\t\taddStylesToDom(newStyles, options);\n  \t\t\t}\n  \t\t\tfor(var i = 0; i < mayRemove.length; i++) {\n  \t\t\t\tvar domStyle = mayRemove[i];\n  \t\t\t\tif(domStyle.refs === 0) {\n  \t\t\t\t\tfor(var j = 0; j < domStyle.parts.length; j++)\n  \t\t\t\t\t\tdomStyle.parts[j]();\n  \t\t\t\t\tdelete stylesInDom[domStyle.id];\n  \t\t\t\t}\n  \t\t\t}\n  \t\t};\n  \t}\n\n  \tfunction addStylesToDom(styles, options) {\n  \t\tfor(var i = 0; i < styles.length; i++) {\n  \t\t\tvar item = styles[i];\n  \t\t\tvar domStyle = stylesInDom[item.id];\n  \t\t\tif(domStyle) {\n  \t\t\t\tdomStyle.refs++;\n  \t\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n  \t\t\t\t\tdomStyle.parts[j](item.parts[j]);\n  \t\t\t\t}\n  \t\t\t\tfor(; j < item.parts.length; j++) {\n  \t\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n  \t\t\t\t}\n  \t\t\t} else {\n  \t\t\t\tvar parts = [];\n  \t\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n  \t\t\t\t\tparts.push(addStyle(item.parts[j], options));\n  \t\t\t\t}\n  \t\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n  \t\t\t}\n  \t\t}\n  \t}\n\n  \tfunction listToStyles(list) {\n  \t\tvar styles = [];\n  \t\tvar newStyles = {};\n  \t\tfor(var i = 0; i < list.length; i++) {\n  \t\t\tvar item = list[i];\n  \t\t\tvar id = item[0];\n  \t\t\tvar css = item[1];\n  \t\t\tvar media = item[2];\n  \t\t\tvar sourceMap = item[3];\n  \t\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n  \t\t\tif(!newStyles[id])\n  \t\t\t\tstyles.push(newStyles[id] = {id: id, parts: [part]});\n  \t\t\telse\n  \t\t\t\tnewStyles[id].parts.push(part);\n  \t\t}\n  \t\treturn styles;\n  \t}\n\n  \tfunction insertStyleElement(options, styleElement) {\n  \t\tvar head = getHeadElement();\n  \t\tvar lastStyleElementInsertedAtTop = styleElementsInsertedAtTop[styleElementsInsertedAtTop.length - 1];\n  \t\tif (options.insertAt === \"top\") {\n  \t\t\tif(!lastStyleElementInsertedAtTop) {\n  \t\t\t\thead.insertBefore(styleElement, head.firstChild);\n  \t\t\t} else if(lastStyleElementInsertedAtTop.nextSibling) {\n  \t\t\t\thead.insertBefore(styleElement, lastStyleElementInsertedAtTop.nextSibling);\n  \t\t\t} else {\n  \t\t\t\thead.appendChild(styleElement);\n  \t\t\t}\n  \t\t\tstyleElementsInsertedAtTop.push(styleElement);\n  \t\t} else if (options.insertAt === \"bottom\") {\n  \t\t\thead.appendChild(styleElement);\n  \t\t} else {\n  \t\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\n  \t\t}\n  \t}\n\n  \tfunction removeStyleElement(styleElement) {\n  \t\tstyleElement.parentNode.removeChild(styleElement);\n  \t\tvar idx = styleElementsInsertedAtTop.indexOf(styleElement);\n  \t\tif(idx >= 0) {\n  \t\t\tstyleElementsInsertedAtTop.splice(idx, 1);\n  \t\t}\n  \t}\n\n  \tfunction createStyleElement(options) {\n  \t\tvar styleElement = document.createElement(\"style\");\n  \t\tstyleElement.type = \"text/css\";\n  \t\tinsertStyleElement(options, styleElement);\n  \t\treturn styleElement;\n  \t}\n\n  \tfunction createLinkElement(options) {\n  \t\tvar linkElement = document.createElement(\"link\");\n  \t\tlinkElement.rel = \"stylesheet\";\n  \t\tinsertStyleElement(options, linkElement);\n  \t\treturn linkElement;\n  \t}\n\n  \tfunction addStyle(obj, options) {\n  \t\tvar styleElement, update, remove;\n\n  \t\tif (options.singleton) {\n  \t\t\tvar styleIndex = singletonCounter++;\n  \t\t\tstyleElement = singletonElement || (singletonElement = createStyleElement(options));\n  \t\t\tupdate = applyToSingletonTag.bind(null, styleElement, styleIndex, false);\n  \t\t\tremove = applyToSingletonTag.bind(null, styleElement, styleIndex, true);\n  \t\t} else if(obj.sourceMap &&\n  \t\t\ttypeof URL === \"function\" &&\n  \t\t\ttypeof URL.createObjectURL === \"function\" &&\n  \t\t\ttypeof URL.revokeObjectURL === \"function\" &&\n  \t\t\ttypeof Blob === \"function\" &&\n  \t\t\ttypeof btoa === \"function\") {\n  \t\t\tstyleElement = createLinkElement(options);\n  \t\t\tupdate = updateLink.bind(null, styleElement);\n  \t\t\tremove = function() {\n  \t\t\t\tremoveStyleElement(styleElement);\n  \t\t\t\tif(styleElement.href)\n  \t\t\t\t\tURL.revokeObjectURL(styleElement.href);\n  \t\t\t};\n  \t\t} else {\n  \t\t\tstyleElement = createStyleElement(options);\n  \t\t\tupdate = applyToTag.bind(null, styleElement);\n  \t\t\tremove = function() {\n  \t\t\t\tremoveStyleElement(styleElement);\n  \t\t\t};\n  \t\t}\n\n  \t\tupdate(obj);\n\n  \t\treturn function updateStyle(newObj) {\n  \t\t\tif(newObj) {\n  \t\t\t\tif(newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap)\n  \t\t\t\t\treturn;\n  \t\t\t\tupdate(obj = newObj);\n  \t\t\t} else {\n  \t\t\t\tremove();\n  \t\t\t}\n  \t\t};\n  \t}\n\n  \tvar replaceText = (function () {\n  \t\tvar textStore = [];\n\n  \t\treturn function (index, replacement) {\n  \t\t\ttextStore[index] = replacement;\n  \t\t\treturn textStore.filter(Boolean).join('\\n');\n  \t\t};\n  \t})();\n\n  \tfunction applyToSingletonTag(styleElement, index, remove, obj) {\n  \t\tvar css = remove ? \"\" : obj.css;\n\n  \t\tif (styleElement.styleSheet) {\n  \t\t\tstyleElement.styleSheet.cssText = replaceText(index, css);\n  \t\t} else {\n  \t\t\tvar cssNode = document.createTextNode(css);\n  \t\t\tvar childNodes = styleElement.childNodes;\n  \t\t\tif (childNodes[index]) styleElement.removeChild(childNodes[index]);\n  \t\t\tif (childNodes.length) {\n  \t\t\t\tstyleElement.insertBefore(cssNode, childNodes[index]);\n  \t\t\t} else {\n  \t\t\t\tstyleElement.appendChild(cssNode);\n  \t\t\t}\n  \t\t}\n  \t}\n\n  \tfunction applyToTag(styleElement, obj) {\n  \t\tvar css = obj.css;\n  \t\tvar media = obj.media;\n\n  \t\tif(media) {\n  \t\t\tstyleElement.setAttribute(\"media\", media)\n  \t\t}\n\n  \t\tif(styleElement.styleSheet) {\n  \t\t\tstyleElement.styleSheet.cssText = css;\n  \t\t} else {\n  \t\t\twhile(styleElement.firstChild) {\n  \t\t\t\tstyleElement.removeChild(styleElement.firstChild);\n  \t\t\t}\n  \t\t\tstyleElement.appendChild(document.createTextNode(css));\n  \t\t}\n  \t}\n\n  \tfunction updateLink(linkElement, obj) {\n  \t\tvar css = obj.css;\n  \t\tvar sourceMap = obj.sourceMap;\n\n  \t\tif(sourceMap) {\n              // https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding\n  \t\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n  \t\t}\n\n  \t\tvar blob = new Blob([css], { type: \"text/css\" });\n\n  \t\tvar oldSrc = linkElement.href;\n\n  \t\tlinkElement.href = URL.createObjectURL(blob);\n\n  \t\tif(oldSrc)\n  \t\t\tURL.revokeObjectURL(oldSrc);\n  \t}\n\n\n  /***/ },\n  /* 6 */\n  /***/ function(module, exports) {\n\n  \t\"use strict\";\n  \t/*\n  \t * Escapes `\"` characters from string\n  \t */\n  \tfunction escapeString(str) {\n  \t    return str.replace('\"', '\\\"');\n  \t}\n  \t/*\n  \t * Determines if a value is an object\n  \t */\n  \tfunction isObject(value) {\n  \t    var type = typeof value;\n  \t    return !!value && (type == 'object');\n  \t}\n  \texports.isObject = isObject;\n  \t/*\n  \t * Gets constructor name of an object.\n  \t *\n  \t */\n  \tfunction getObjectName(object) {\n  \t    if (object === undefined) {\n  \t        return '';\n  \t    }\n  \t    if (object === null || (typeof object === 'object' && !object.constructor)) {\n  \t        return 'Object';\n  \t    }\n  \t    var funcNameRegex = /function ([^(]*)/;\n  \t    var results = (funcNameRegex).exec((object).constructor.toString());\n  \t    if (results && results.length > 1) {\n  \t        return results[1];\n  \t    } else {\n  \t        return '';\n  \t    }\n  \t}\n  \texports.getObjectName = getObjectName;\n  \t/*\n  \t * Gets type of an object. Returns \"null\" for null objects\n  \t */\n  \tfunction getType(object) {\n  \t    if (object === null) {\n  \t        return 'null';\n  \t    }\n  \t    return typeof object;\n  \t}\n  \texports.getType = getType;\n  \t/*\n  \t * Generates inline preview for a JavaScript object based on a value\n  \t*/\n  \tfunction getValuePreview(object, value) {\n  \t    var type = getType(object);\n  \t    if (type === 'null' || type === 'undefined') {\n  \t        return type;\n  \t    }\n  \t    if (type === 'string') {\n  \t        value = '\"' + escapeString(value) + '\"';\n  \t    }\n  \t    if (type === 'function') {\n  \t        // Remove content of the function\n  \t        return object.toString()\n  \t            .replace(/[\\r\\n]/g, '')\n  \t            .replace(/\\{.*\\}/, '') + '{…}';\n  \t    }\n  \t    return value;\n  \t}\n  \texports.getValuePreview = getValuePreview;\n  \t/*\n  \t * Generates inline preview for a JavaScript object\n  \t*/\n  \tfunction getPreview(object) {\n  \t    var value = '';\n  \t    if (isObject(object)) {\n  \t        value = getObjectName(object);\n  \t        if (Array.isArray(object))\n  \t            value += '[' + object.length + ']';\n  \t    }\n  \t    else {\n  \t        value = getValuePreview(object, object);\n  \t    }\n  \t    return value;\n  \t}\n  \texports.getPreview = getPreview;\n  \t/*\n  \t * Generates a prefixed CSS class name\n  \t*/\n  \tfunction cssClass(className) {\n  \t    return \"json-formatter-\" + className;\n  \t}\n  \texports.cssClass = cssClass;\n  \t/*\n  \t  * Creates a new DOM element with given type and class\n  \t  * TODO: move me to helpers\n  \t*/\n  \tfunction createElement(type, className, content) {\n  \t    var el = document.createElement(type);\n  \t    if (className) {\n  \t        el.classList.add(cssClass(className));\n  \t    }\n  \t    if (content !== undefined) {\n  \t        if (content instanceof Node) {\n  \t            el.appendChild(content);\n  \t        }\n  \t        else {\n  \t            el.appendChild(document.createTextNode(String(content)));\n  \t        }\n  \t    }\n  \t    return el;\n  \t}\n  \texports.createElement = createElement;\n\n\n  /***/ }\n  /******/ ])\n  });\n  ;\n  //# sourceMappingURL=json-formatter.js.map\n\n  </script>\n  <script>\n\n  (function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.JSONSchemaView = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n  'use strict';\n  /*\n   * Converts anyOf, allOf and oneOf to human readable string\n  */\n  Object.defineProperty(exports, '__esModule', {\n    value: true\n  });\n  exports.convertXOf = convertXOf;\n  exports._if = _if;\n\n  function convertXOf(type) {\n    return type.substring(0, 3) + ' of';\n  }\n\n  /*\n   * if condition for ES6 template strings\n   * to be used only in template string\n   *\n   * @example mystr = `Random is ${_if(Math.random() > 0.5)`greater than 0.5``\n   *\n   * @param {boolean} condition\n   *\n   * @returns {function} the template function\n  */\n\n  function _if(condition) {\n    return condition ? normal : empty;\n  }\n\n  function empty() {\n    return '';\n  }\n  function normal(template) {\n    for (var _len = arguments.length, expressions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      expressions[_key - 1] = arguments[_key];\n    }\n\n    return template.slice(1).reduce(function (accumulator, part, i) {\n      return accumulator + expressions[i] + part;\n    }, template[0]);\n  }\n\n  },{}],2:[function(require,module,exports){\n  'use strict';\n\n  /* globals JSONSchemaView */\n\n  Object.defineProperty(exports, '__esModule', {\n    value: true\n  });\n\n  var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\n  var _templateObject = _taggedTemplateLiteral(['\\n        <div class=\"any\">\\n          ', '\\n\\n          <span class=\"type type-any\">&lt;any&gt;</span>\\n\\n          ', '\\n\\t\\t \\n\\t\\t  ', '\\n\\t\\t  ', '\\n\\t\\t   ', '\\n        </div>\\n      '], ['\\n        <div class=\"any\">\\n          ', '\\n\\n          <span class=\"type type-any\">&lt;any&gt;</span>\\n\\n          ', '\\n\\t\\t \\n\\t\\t  ', '\\n\\t\\t  ', '\\n\\t\\t   ', '\\n        </div>\\n      ']),\n      _templateObject2 = _taggedTemplateLiteral(['\\n            <a class=\"title\"><span class=\"toggle-handle\"></span>', ' </a>\\n          '], ['\\n            <a class=\"title\"><span class=\"toggle-handle\"></span>', ' </a>\\n          ']),\n      _templateObject3 = _taggedTemplateLiteral(['\\n            <div class=\"inner description marked\">', '</div>\\n          '], ['\\n            <div class=\"inner description marked\">', '</div>\\n          ']),\n      _templateObject4 = _taggedTemplateLiteral(['\\n            <div class=\"inner required\">Required: ', '</div>\\n          '], ['\\n            <div class=\"inner required\">Required: ', '</div>\\n          ']),\n      _templateObject5 = _taggedTemplateLiteral(['\\n            <div class=\"inner default\">Default: ', '</div>\\n          '], ['\\n            <div class=\"inner default\">Default: ', '</div>\\n          ']),\n      _templateObject6 = _taggedTemplateLiteral(['\\n            <div class=\"inner pattern\">Pattern: ', '</div>\\n          '], ['\\n            <div class=\"inner pattern\">Pattern: ', '</div>\\n          ']),\n      _templateObject7 = _taggedTemplateLiteral(['\\n        <div class=\"primitive\">\\n          ', '\\n\\n            <span class=\"type\">', '</span>\\n\\n         \\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\t\\t  \\n\\t\\t \\n\\t\\t  \\n\\t\\t   ', '\\n\\t\\t  ', '\\n\\t\\t   ', '\\n\\n          ', '\\n\\n          ', '\\n          ', '\\n          ', '\\n        </div>\\n      '], ['\\n        <div class=\"primitive\">\\n          ', '\\n\\n            <span class=\"type\">', '</span>\\n\\n         \\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\n          ', '\\n\\t\\t  \\n\\t\\t \\n\\t\\t  \\n\\t\\t   ', '\\n\\t\\t  ', '\\n\\t\\t   ', '\\n\\n          ', '\\n\\n          ', '\\n          ', '\\n          ', '\\n        </div>\\n      ']),\n      _templateObject8 = _taggedTemplateLiteral(['\\n            <span class=\"format\">(', ')</span>\\n          '], ['\\n            <span class=\"format\">(', ')</span>\\n          ']),\n      _templateObject9 = _taggedTemplateLiteral(['\\n            <span class=\"range minimum\">minimum:', '</span>\\n          '], ['\\n            <span class=\"range minimum\">minimum:', '</span>\\n          ']),\n      _templateObject10 = _taggedTemplateLiteral(['\\n            <span class=\"range exclusiveMinimum\">(ex)minimum:', '</span>\\n          '], ['\\n            <span class=\"range exclusiveMinimum\">(ex)minimum:', '</span>\\n          ']),\n      _templateObject11 = _taggedTemplateLiteral(['\\n            <span class=\"range maximum\">maximum:', '</span>\\n          '], ['\\n            <span class=\"range maximum\">maximum:', '</span>\\n          ']),\n      _templateObject12 = _taggedTemplateLiteral(['\\n            <span class=\"range exclusiveMaximum\">(ex)maximum:', '</span>\\n          '], ['\\n            <span class=\"range exclusiveMaximum\">(ex)maximum:', '</span>\\n          ']),\n      _templateObject13 = _taggedTemplateLiteral(['\\n            <span class=\"range minLength\">minLength:', '</span>\\n          '], ['\\n            <span class=\"range minLength\">minLength:', '</span>\\n          ']),\n      _templateObject14 = _taggedTemplateLiteral(['\\n            <span class=\"range maxLength\">maxLength:', '</span>\\n          '], ['\\n            <span class=\"range maxLength\">maxLength:', '</span>\\n          ']),\n      _templateObject15 = _taggedTemplateLiteral(['\\n            <div class=\"inner required\">Required</div>\\n          '], ['\\n            <div class=\"inner required\">Required</div>\\n          ']),\n      _templateObject16 = _taggedTemplateLiteral(['\\n            ', '\\n          '], ['\\n            ', '\\n          ']),\n      _templateObject17 = _taggedTemplateLiteral(['', ''], ['', '']),\n      _templateObject18 = _taggedTemplateLiteral(['\\n        <div class=\"array\">\\n          <a class=\"title\"><span class=\"toggle-handle\"></span>', '<span class=\"opening bracket\">[</span>', '</a>\\n          ', '\\n          <div class=\"inner\">\\n            ', '\\n          </div>\\n\\n          ', '\\n\\n          ', '\\n          ', '\\n          ', '\\n\\n          ', '\\n        </div>\\n      '], ['\\n        <div class=\"array\">\\n          <a class=\"title\"><span class=\"toggle-handle\"></span>', '<span class=\"opening bracket\">[</span>', '</a>\\n          ', '\\n          <div class=\"inner\">\\n            ', '\\n          </div>\\n\\n          ', '\\n\\n          ', '\\n          ', '\\n          ', '\\n\\n          ', '\\n        </div>\\n      ']),\n      _templateObject19 = _taggedTemplateLiteral(['<span class=\"closing bracket\">]</span>'], ['<span class=\"closing bracket\">]</span>']),\n      _templateObject20 = _taggedTemplateLiteral(['\\n          <span>\\n            <span title=\"items range\">(', '..', ')</span>\\n            ', '\\n          </span>\\n          '], ['\\n          <span>\\n            <span title=\"items range\">(', '..', ')</span>\\n            ', '\\n          </span>\\n          ']),\n      _templateObject21 = _taggedTemplateLiteral(['<span title=\"unique\" class=\"uniqueItems\">♦</span>'], ['<span title=\"unique\" class=\"uniqueItems\">♦</span>']),\n      _templateObject22 = _taggedTemplateLiteral(['\\n              <div class=\"description\">', '</div>\\n            '], ['\\n              <div class=\"description\">', '</div>\\n            ']),\n      _templateObject23 = _taggedTemplateLiteral(['\\n          <span class=\"closing bracket\">]</span>\\n          '], ['\\n          <span class=\"closing bracket\">]</span>\\n          ']),\n      _templateObject24 = _taggedTemplateLiteral(['\\n        <div class=\"object\">\\n          <a class=\"title\"><span\\n            class=\"toggle-handle\"></span>', ' <span\\n            class=\"opening brace\">{</span>', '</a>\\n\\n          <div class=\"inner\">\\n            ', '\\n            <!-- children go here -->\\n\\t\\t  \\n\\t\\t   ', '\\n\\t\\t  ', '\\n\\t\\t  \\n\\t\\t\\t', '\\n          </div>\\n\\n          ', '\\n\\n          ', '\\n          ', '\\n          ', '\\n\\n          ', '\\n        </div>\\n      '], ['\\n        <div class=\"object\">\\n          <a class=\"title\"><span\\n            class=\"toggle-handle\"></span>', ' <span\\n            class=\"opening brace\">{</span>', '</a>\\n\\n          <div class=\"inner\">\\n            ', '\\n            <!-- children go here -->\\n\\t\\t  \\n\\t\\t   ', '\\n\\t\\t  ', '\\n\\t\\t  \\n\\t\\t\\t', '\\n          </div>\\n\\n          ', '\\n\\n          ', '\\n          ', '\\n          ', '\\n\\n          ', '\\n        </div>\\n      ']),\n      _templateObject25 = _taggedTemplateLiteral(['\\n              <span class=\"closing brace\" ng-if=\"isCollapsed\">}</span>\\n          '], ['\\n              <span class=\"closing brace\" ng-if=\"isCollapsed\">}</span>\\n          ']),\n      _templateObject26 = _taggedTemplateLiteral(['\\n            <div class=\"required\">Required: ', '</div>\\n          '], ['\\n            <div class=\"required\">Required: ', '</div>\\n          ']),\n     _templateObject266 = _taggedTemplateLiteral(['\\n            <div class=\"required\">Required: ', '</div>\\n          '], ['\\n            <div class=\"required\">Required: ', '</div>\\n          ']),\n      _templateObject27 = _taggedTemplateLiteral(['\\n            <div class=\"default\">Default: ', '</div>\\n          '], ['\\n            <div class=\"default\">Default: ', '</div>\\n          ']),\n      _templateObject28 = _taggedTemplateLiteral(['\\n              <div class=\"pattern\">Pattern: ', '</div>\\n            '], ['\\n              <div class=\"pattern\">Pattern: ', '</div>\\n            ']),\n      _templateObject29 = _taggedTemplateLiteral(['\\n          <span class=\"closing brace\">}</span>\\n          '], ['\\n          <span class=\"closing brace\">}</span>\\n          ']),\n      _templateObject30 = _taggedTemplateLiteral(['\\n        <div class=\"inner enums\">\\n          <b>Enum:</b>\\n        </div>\\n      '], ['\\n        <div class=\"inner enums\">\\n          <b>Enum:</b>\\n        </div>\\n      ']);\n\n  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\n  function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\n  var _helpersJs = require('./helpers.js');\n\n  /**\n   * @class JSONSchemaView\n   *\n   * A pure JavaScript component for rendering JSON Schema in HTML.\n  */\n\n  var JSONSchemaView = (function () {\n\n    /**\n     * @param {object} schema The JSON Schema object\n     *\n     * @param {number} [open=1] his number indicates up to how many levels the\n     * rendered tree should expand. Set it to `0` to make the whole tree collapsed\n     * or set it to `Infinity` to expand the tree deeply\n     * @param {object} options.\n     *  theme {string}: one of the following options: ['dark']\n    */\n\n    function JSONSchemaView(schema, open) {\n      var _this = this;\n\n      var options = arguments.length <= 2 || arguments[2] === undefined ? { theme: null } : arguments[2];\n\n      _classCallCheck(this, JSONSchemaView);\n\n      this.schema = schema; //console.log(schema);\n      this.open = open;\n      this.options = options;\n      this.isCollapsed = open <= 0;\n\n      // if schema is an empty object which means any JOSN\n      this.isAny = typeof schema === 'object' && !Array.isArray(schema) && !Object.keys(schema).filter(function (k) {\n        return ['title', 'description'].indexOf(k) === -1;\n      }).length;\n\n      // Determine if a schema is an array\n      this.isArray = !this.isAny && this.schema && this.schema.type === 'array';\n\n      this.isObject = this.schema && (this.schema.type === 'object' || this.schema.properties || this.schema.anyOf || this.schema.oneof || this.schema.allOf);\n\n      // Determine if a schema is a primitive\n      this.isPrimitive = !this.isAny && !this.isArray && !this.isObject;\n\n      //\n      this.showToggle = this.schema.description || this.schema.title || this.isPrimitive && (this.schema.minimum || this.schema.maximum || this.schema.exclusiveMinimum || this.schema.exclusiveMaximum);\n\n      // populate isRequired property down to properties\n      if (this.schema && Array.isArray(this.schema.required)) {\n        this.schema.required.forEach(function (requiredProperty) {\n          if (typeof _this.schema.properties[requiredProperty] === 'object') {\n            _this.schema.properties[requiredProperty].isRequired = true;\n          }\n        });\n      }\n    }\n\n    /*\n     * Returns the template with populated properties.\n     * This template does not have the children\n    */\n\n    _createClass(JSONSchemaView, [{\n      key: 'template',\n      value: function template() {\n        if (!this.schema) {\n          return '';\n        }\n\n        return ('\\n      <!-- Any -->\\n      ' + (0, _helpersJs._if)(this.isAny)(_templateObject, (0, _helpersJs._if)(this.showToggle)(_templateObject2, this.schema.title || ''), (0, _helpersJs._if)(this.schema.description && !this.isCollapsed)(_templateObject3, marked(this.schema.description || \"\")), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed)(_templateObject4, this.schema.required), (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject5, this.schema['default']), (0, _helpersJs._if)(this.schema.pattern && !this.isCollapsed)(_templateObject6, this.schema.pattern)) + '\\n\\n      <!-- Primitive -->\\n      ' + (0, _helpersJs._if)(this.isPrimitive)(_templateObject7, (0, _helpersJs._if)(this.showToggle)(_templateObject2, this.schema.title || ''), this.schema.type, (0, _helpersJs._if)(!this.isCollapsed && this.schema.format)(_templateObject8, this.schema.format), (0, _helpersJs._if)(!this.isCollapsed && this.schema.minimum)(_templateObject9, this.schema.minimum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.exclusiveMinimum)(_templateObject10, this.schema.exclusiveMinimum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.maximum)(_templateObject11, this.schema.maximum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.exclusiveMaximum)(_templateObject12, this.schema.exclusiveMaximum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.minLength)(_templateObject13, this.schema.minLength), (0, _helpersJs._if)(!this.isCollapsed && this.schema.maxLength)(_templateObject14, this.schema.maxLength), (0, _helpersJs._if)(this.schema.description && !this.isCollapsed)(_templateObject3, marked(this.schema.description || \"\")), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed)(_templateObject15), (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject5, this.schema['default']), (0, _helpersJs._if)(this.schema.pattern && !this.isCollapsed)(_templateObject6, this.schema.pattern), (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf'))) + '\\n\\n\\n      <!-- Array -->\\n      ' + (0, _helpersJs._if)(this.isArray)(_templateObject18, this.schema.title || '', (0, _helpersJs._if)(this.isCollapsed)(_templateObject19), (0, _helpersJs._if)(!this.isCollapsed && (this.schema.uniqueItems || this.schema.minItems || this.schema.maxItems))(_templateObject20, this.schema.minItems || 0, this.schema.maxItems || '∞', (0, _helpersJs._if)(!this.isCollapsed && this.schema.uniqueItems)(_templateObject21)), (0, _helpersJs._if)(!this.isCollapsed && this.schema.description)(_templateObject22, marked(this.schema.description || \"\")), (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf')), (0, _helpersJs._if)(!this.isCollapsed)(_templateObject23)) + '\\n\\n      <!-- Object -->\\n      ' + (0, _helpersJs._if)(!this.isPrimitive && !this.isArray && !this.isAny)(_templateObject24, this.schema.title || '', (0, _helpersJs._if)(this.isCollapsed)(_templateObject25), (0, _helpersJs._if)(!this.isCollapsed && this.schema.description)(_templateObject22, marked(this.schema.description || \"\")),\n\n          (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam != true)(_templateObject26, this.schema.required),\n          (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam == true)(_templateObject266, this.schema.required),\n\n          (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject27, this.schema['default']),(0, _helpersJs._if)(!this.isCollapsed)(_templateObject29),\n          (0, _helpersJs._if)(!this.isCollapsed && this.schema.pattern)(_templateObject28, this.schema.pattern),\n          (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf'))) + '\\n').replace(/\\s*\\n/g, '\\n').replace(/(\\<\\!\\-\\-).+/g, '').trim();\n      }\n\n      /*\n       * Template for oneOf, anyOf and allOf\n      */\n    }, {\n      key: 'xOf',\n      value: function xOf(schema, type) {\n        return '\\n      <div class=\"inner ' + type + '\">\\n        <b>' + (0, _helpersJs.convertXOf)(type) + ':</b>\\n      </div>\\n    ';\n      }\n\n      /*\n       * Template for enums\n      */\n    }, {\n      key: 'enum',\n      value: function _enum(schema, isCollapsed, open) {\n        return '\\n      ' + (0, _helpersJs._if)(!isCollapsed && schema['enum'])(_templateObject30) + '\\n    ';\n      }\n\n      /*\n       * Toggles the 'collapsed' state\n      */\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        this.isCollapsed = !this.isCollapsed;\n        this.render();\n      }\n\n      /*\n       * Renders the element and returns it\n      */\n    }, {\n      key: 'render',\n      value: function render() {\n        if (!this.element) {\n          this.element = document.createElement('div');\n          this.element.classList.add('json-schema-view');\n        }\n\n        if (this.isCollapsed) {\n          this.element.classList.add('collapsed');\n        } else {\n          this.element.classList.remove('collapsed');\n        }\n\n        if (this.options.theme) {\n          this.element.classList.add('json-schema-view-' + this.options.theme);\n        }\n\n        this.element.innerHTML = this.template();\n\n        if (this.schema && this.schema.example) {\n          var exampleDiv = document.createElement('div');\n          exampleDiv.innerHTML = '<div style=\"display: block\" class=\"example\">\\n          <span style=\"color: #808080\" class=\"name\">example: ' + this.schema.example + '</span>\\n        </div>';\n          this.element.appendChild(exampleDiv.querySelector('.example'));\n        }\n\n        if (!this.schema) {\n          return this.element;\n        }\n\n        if (!this.isCollapsed) {\n          this.appendChildren(this.element);\n        }\n\n        // add event listener for toggling\n        if (this.element.querySelector('a.title')) {\n          this.element.querySelector('a.title').addEventListener('click', this.toggle.bind(this));\n        }\n        return this.element;\n      }\n\n      /*\n       * Appends children to given element based on current schema\n      */\n    }, {\n      key: 'appendChildren',\n      value: function appendChildren(element) {\n        var _this2 = this;\n\n        var inner = element.querySelector('.inner');\n\n        if (!inner) {\n          return;\n        }\n\n        if (this.schema['enum']) {\n          var tempDiv = document.createElement('span');;\n          tempDiv.classList.add('inner');\n          tempDiv.innerHTML = '<code>' + this.schema['enum'].join('</code>, <code>') + '</code>';\n          element.querySelector('.enums.inner').appendChild(tempDiv);\n        }\n\n        if (this.isArray) {\n          var schemaItems = this.schema.items;\n          if (this.schema.items.$ref) {\n             var elements = this.schema.items.$ref.split('/');\n             var schemaName = elements.pop();\n             schemaItems = defs[schemaName];\n          }\n          var view = new JSONSchemaView(schemaItems, Infinity);\n          inner.appendChild(view.render());\n        }\n\n        if (typeof this.schema.properties === 'object') {\n          Object.keys(this.schema.properties).forEach(function (propertyName) {\n            var property = _this2.schema.properties[propertyName];\n            var tempDiv = document.createElement('div');;\n            tempDiv.innerHTML = '<div class=\"property\">\\n          <span class=\"name\">' + propertyName + ':</span>\\n        </div>';\n            var view = new JSONSchemaView(property, _this2.open - 1);\n            tempDiv.querySelector('.property').appendChild(view.render());\n\n            inner.appendChild(tempDiv.querySelector('.property'));\n          });\n        }\n\n        if (this.schema.allOf) {\n          appendXOf.call(this, 'allOf');\n        }\n        if (this.schema.oneOf) {\n          appendXOf.call(this, 'oneOf');\n        }\n        if (this.schema.anyOf) {\n          appendXOf.call(this, 'anyOf');\n        }\n\n        function appendXOf(type) {\n          var _this3 = this;\n\n          var innerAllOf = element.querySelector('.inner.' + type);\n\n          this.schema[type].forEach(function (schema) {\n            var inner = document.createElement('div');\n            inner.classList.add('inner');\n            var view = new JSONSchemaView(schema, _this3.open - 1);\n            inner.appendChild(view.render());\n            innerAllOf.appendChild(inner);\n          });\n        }\n      }\n    }]);\n\n    return JSONSchemaView;\n  })();\n\n  exports['default'] = JSONSchemaView;\n  module.exports = exports['default'];\n\n  },{\"./helpers.js\":1}]},{},[2])(2)\n  });\n  //# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJDOi9Vc2Vycy9qYW1lc2hpL0Rlc2t0b3AvanNvbi1zY2hlbWEtdmlldy1qcy1tYXN0ZXIvc3JjL2hlbHBlcnMuanMiLCJDOi9Vc2Vycy9qYW1lc2hpL0Rlc2t0b3AvanNvbi1zY2hlbWEtdmlldy1qcy1tYXN0ZXIvc3JjL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7O0FBSU4sU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFO0FBQy9CLFNBQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0NBQ3JDOzs7Ozs7Ozs7Ozs7O0FBWU0sU0FBUyxHQUFHLENBQUMsU0FBUyxFQUFFO0FBQzdCLFNBQU8sU0FBUyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUM7Q0FDbkM7O0FBQ0QsU0FBUyxLQUFLLEdBQUU7QUFDZCxTQUFPLEVBQUUsQ0FBQztDQUNYO0FBQ0QsU0FBUyxNQUFNLENBQUUsUUFBUSxFQUFrQjtvQ0FBYixXQUFXO0FBQVgsZUFBVzs7O0FBQ3ZDLFNBQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBSztBQUN4RCxXQUFPLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0dBQzVDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDakI7OztBQzVCRCxZQUFZLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt5QkFPTixjQUFjOzs7Ozs7OztJQVFBLGNBQWM7Ozs7Ozs7Ozs7OztBQVd0QixXQVhRLGNBQWMsQ0FXckIsTUFBTSxFQUFFLElBQUksRUFBMkI7OztRQUF6QixPQUFPLHlEQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQzs7MEJBWDlCLGNBQWM7O0FBWS9CLFFBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLFFBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ2pCLFFBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFFBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQzs7O0FBRzdCLFFBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUNyQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQ3RCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDbkIsTUFBTSxDQUFDLFVBQUEsQ0FBQzthQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7S0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDOzs7QUFHakUsUUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7O0FBRTFFLFFBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQSxBQUFDLENBQUM7OztBQUd0QixRQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDOzs7QUFHbEUsUUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQ2hCLElBQUksQ0FBQyxXQUFXLEtBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFBLEFBQUMsQUFDOUIsQ0FBQzs7O0FBR0osUUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtBQUN0RCxVQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQSxnQkFBZ0IsRUFBSTtBQUMvQyxZQUFJLE9BQU8sTUFBSyxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEtBQUssUUFBUSxFQUFFO0FBQ2hFLGdCQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzVEO09BQ0YsQ0FBQyxDQUFDO0tBQ0o7R0FDRjs7Ozs7OztlQXREa0IsY0FBYzs7V0E0RHpCLG9CQUFHO0FBQ1QsVUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDaEIsZUFBTyxFQUFFLENBQUM7T0FDWDs7QUFFRCxhQUFPLGtDQUVILG9CQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBRVgsb0JBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFDa0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxHQUs3RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUc5RCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBRWxFLG9CQUFJLElBQUksQ0FBQyxNQUFNLFdBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0QsSUFBSSxDQUFDLE1BQU0sV0FBUSxHQUU5RCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLDhDQU03RCxvQkFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUVqQixvQkFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUNrQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEdBR3hELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUlyQyxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUcxQyxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBR3pELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLG9CQUNILElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEdBRy9FLG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FHekQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsb0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FHL0Usb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLG9CQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUcvRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBRy9ELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBSzdELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFHL0Msb0JBQUksSUFBSSxDQUFDLE1BQU0sV0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDRCxJQUFJLENBQUMsTUFBTSxXQUFRLEdBRTlELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FHekQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLFFBQUssQ0FBQyxvQkFDeEMsSUFBSSxRQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FHckQsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsNENBTWhGLG9CQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBRXVDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBeUMsb0JBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFDekksb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFBLEFBQUMsQ0FBQyxvQkFFdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxFQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEdBQUcsRUFDcEYsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUlqRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsb0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUlwRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sUUFBSyxDQUFDLG9CQUN4QyxJQUFJLFFBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUdyRCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUM1RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUM1RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUU1RSxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsNkRBTzFCLG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUduQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQ3RCLG9CQUFJLElBQUksQ0FBQyxXQUFXLENBQUMscUJBS25ELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxvQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBSXpELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FFbEUsb0JBQUksSUFBSSxDQUFDLE1BQU0sV0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFDUCxJQUFJLENBQUMsTUFBTSxXQUFRLEdBRzFELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FJckQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLFFBQUssQ0FBQyxvQkFDeEMsSUFBSSxRQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FHckQsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FFNUUsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLDZCQUtoQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDM0Q7Ozs7Ozs7V0FLRSxhQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDaEIsNENBQ3NCLElBQUksdUJBQ2pCLDJCQUFXLElBQUksQ0FBQywrQkFFdkI7S0FDSDs7Ozs7OztXQUtHLGVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7QUFDOUIsMEJBQ0ksb0JBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxRQUFLLENBQUMsK0JBS2xDO0tBQ0g7Ozs7Ozs7V0FLSyxrQkFBRztBQUNQLFVBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0FBQ3JDLFVBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUNmOzs7Ozs7O1dBS0ssa0JBQUc7QUFDUCxVQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtBQUNqQixZQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0MsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7T0FDaEQ7O0FBRUQsVUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQ3BCLFlBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztPQUN6QyxNQUFNO0FBQ0wsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQzVDOztBQUVELFVBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDdEIsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyx1QkFBcUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUcsQ0FBQztPQUN0RTs7QUFFRCxVQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7O0FBRXpDLFVBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2hCLGVBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztPQUNyQjs7QUFFRCxVQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtBQUNyQixZQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztPQUNuQzs7O0FBR0QsVUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRTtBQUN6QyxZQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztPQUN6RjtBQUNELGFBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztLQUNyQjs7Ozs7OztXQUthLHdCQUFDLE9BQU8sRUFBRTs7O0FBQ3RCLFVBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBRTlDLFVBQUksQ0FBQyxLQUFLLEVBQUU7QUFDVixlQUFPO09BQ1I7O0FBRUQsVUFBSSxJQUFJLENBQUMsTUFBTSxRQUFLLEVBQUU7QUFDcEIsWUFBTSxTQUFTLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sUUFBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckUsWUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3ZDLG1CQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxlQUFPLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztPQUVoRTs7QUFFRCxVQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7QUFDaEIsWUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUNqRSxhQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO09BQ2xDOztBQUVELFVBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQUU7QUFDOUMsY0FBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFlBQVksRUFBSTtBQUMxRCxjQUFNLFFBQVEsR0FBRyxPQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdEQsY0FBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQy9DLGlCQUFPLENBQUMsU0FBUyw2REFDTSxZQUFZLDZCQUM1QixDQUFDO0FBQ1IsY0FBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3pELGlCQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQzs7QUFFOUQsZUFBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDdkQsQ0FBQyxDQUFDO09BQ0o7O0FBRUQsVUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtBQUFFLGlCQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztPQUFFO0FBQ3pELFVBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7QUFBRSxpQkFBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7T0FBRTtBQUN6RCxVQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO0FBQUUsaUJBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQUU7O0FBRXpELGVBQVMsU0FBUyxDQUFDLElBQUksRUFBRTs7O0FBQ3ZCLFlBQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLGFBQVcsSUFBSSxDQUFHLENBQUM7O0FBRTNELFlBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsTUFBTSxFQUFJO0FBQ2xDLGNBQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUMsZUFBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsY0FBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELGVBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDakMsb0JBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0IsQ0FBQyxDQUFDO09BQ0o7S0FDRjs7O1NBOVZrQixjQUFjOzs7cUJBQWQsY0FBYyIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCIndXNlIHN0cmljdCc7XG4vKlxuICogQ29udmVydHMgYW55T2YsIGFsbE9mIGFuZCBvbmVPZiB0byBodW1hbiByZWFkYWJsZSBzdHJpbmdcbiovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFhPZih0eXBlKSB7XG4gIHJldHVybiB0eXBlLnN1YnN0cmluZygwLCAzKSArICcgb2YnO1xufVxuXG4vKlxuICogaWYgY29uZGl0aW9uIGZvciBFUzYgdGVtcGxhdGUgc3RyaW5nc1xuICogdG8gYmUgdXNlZCBvbmx5IGluIHRlbXBsYXRlIHN0cmluZ1xuICpcbiAqIEBleGFtcGxlIG15c3RyID0gYFJhbmRvbSBpcyAke19pZihNYXRoLnJhbmRvbSgpID4gMC41KWBncmVhdGVyIHRoYW4gMC41YGBcbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGNvbmRpdGlvblxuICpcbiAqIEByZXR1cm5zIHtmdW5jdGlvbn0gdGhlIHRlbXBsYXRlIGZ1bmN0aW9uXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIF9pZihjb25kaXRpb24pIHtcbiAgcmV0dXJuIGNvbmRpdGlvbiA/IG5vcm1hbCA6IGVtcHR5O1xufVxuZnVuY3Rpb24gZW1wdHkoKXtcbiAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gbm9ybWFsICh0ZW1wbGF0ZSwgLi4uZXhwcmVzc2lvbnMpIHtcbiAgcmV0dXJuIHRlbXBsYXRlLnNsaWNlKDEpLnJlZHVjZSgoYWNjdW11bGF0b3IsIHBhcnQsIGkpID0+IHtcbiAgICByZXR1cm4gYWNjdW11bGF0b3IgKyBleHByZXNzaW9uc1tpXSArIHBhcnQ7XG4gIH0sIHRlbXBsYXRlWzBdKTtcbn0iLCIndXNlIHN0cmljdCc7XG5cbi8qIGdsb2JhbHMgSlNPTlNjaGVtYVZpZXcgKi9cblxuaW1wb3J0IHtcbiAgY29udmVydFhPZixcbiAgX2lmXG59IGZyb20gJy4vaGVscGVycy5qcyc7XG5cblxuLyoqXG4gKiBAY2xhc3MgSlNPTlNjaGVtYVZpZXdcbiAqXG4gKiBBIHB1cmUgSmF2YVNjcmlwdCBjb21wb25lbnQgZm9yIHJlbmRlcmluZyBKU09OIFNjaGVtYSBpbiBIVE1MLlxuKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEpTT05TY2hlbWFWaWV3IHtcblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IHNjaGVtYSBUaGUgSlNPTiBTY2hlbWEgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3Blbj0xXSBoaXMgbnVtYmVyIGluZGljYXRlcyB1cCB0byBob3cgbWFueSBsZXZlbHMgdGhlXG4gICAqIHJlbmRlcmVkIHRyZWUgc2hvdWxkIGV4cGFuZC4gU2V0IGl0IHRvIGAwYCB0byBtYWtlIHRoZSB3aG9sZSB0cmVlIGNvbGxhcHNlZFxuICAgKiBvciBzZXQgaXQgdG8gYEluZmluaXR5YCB0byBleHBhbmQgdGhlIHRyZWUgZGVlcGx5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zLlxuICAgKiAgdGhlbWUge3N0cmluZ306IG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbnM6IFsnZGFyayddXG4gICovXG4gIGNvbnN0cnVjdG9yKHNjaGVtYSwgb3Blbiwgb3B0aW9ucyA9IHt0aGVtZTogbnVsbH0pIHtcbiAgICB0aGlzLnNjaGVtYSA9IHNjaGVtYTtcbiAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IG9wZW4gPD0gMDtcblxuICAgIC8vIGlmIHNjaGVtYSBpcyBhbiBlbXB0eSBvYmplY3Qgd2hpY2ggbWVhbnMgYW55IEpPU05cbiAgICB0aGlzLmlzQW55ID0gdHlwZW9mIHNjaGVtYSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICFBcnJheS5pc0FycmF5KHNjaGVtYSkgJiZcbiAgICAgICFPYmplY3Qua2V5cyhzY2hlbWEpXG4gICAgICAuZmlsdGVyKGs9PiBbJ3RpdGxlJywgJ2Rlc2NyaXB0aW9uJ10uaW5kZXhPZihrKSA9PT0gLTEpLmxlbmd0aDtcblxuICAgIC8vIERldGVybWluZSBpZiBhIHNjaGVtYSBpcyBhbiBhcnJheVxuICAgIHRoaXMuaXNBcnJheSA9ICF0aGlzLmlzQW55ICYmIHRoaXMuc2NoZW1hICYmIHRoaXMuc2NoZW1hLnR5cGUgPT09ICdhcnJheSc7XG5cbiAgICB0aGlzLmlzT2JqZWN0ID0gdGhpcy5zY2hlbWEgJiZcbiAgICAgICh0aGlzLnNjaGVtYS50eXBlID09PSAnb2JqZWN0JyB8fFxuICAgICAgIHRoaXMuc2NoZW1hLnByb3BlcnRpZXMgfHxcbiAgICAgICB0aGlzLnNjaGVtYS5hbnlPZiB8fFxuICAgICAgIHRoaXMuc2NoZW1hLm9uZW9mIHx8XG4gICAgICAgdGhpcy5zY2hlbWEuYWxsT2YpO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIGEgc2NoZW1hIGlzIGEgcHJpbWl0aXZlXG4gICAgdGhpcy5pc1ByaW1pdGl2ZSA9ICF0aGlzLmlzQW55ICYmICF0aGlzLmlzQXJyYXkgJiYgIXRoaXMuaXNPYmplY3Q7XG5cbiAgICAvL1xuICAgIHRoaXMuc2hvd1RvZ2dsZSA9IHRoaXMuc2NoZW1hLmRlc2NyaXB0aW9uIHx8XG4gICAgICB0aGlzLnNjaGVtYS50aXRsZSB8fFxuICAgICAgKHRoaXMuaXNQcmltaXRpdmUgJiYgKFxuICAgICAgICB0aGlzLnNjaGVtYS5taW5pbXVtIHx8XG4gICAgICAgIHRoaXMuc2NoZW1hLm1heGltdW0gfHxcbiAgICAgICAgdGhpcy5zY2hlbWEuZXhjbHVzaXZlTWluaW11bSB8fFxuICAgICAgICB0aGlzLnNjaGVtYS5leGNsdXNpdmVNYXhpbXVtKVxuICAgICAgKTtcblxuICAgIC8vIHBvcHVsYXRlIGlzUmVxdWlyZWQgcHJvcGVydHkgZG93biB0byBwcm9wZXJ0aWVzXG4gICAgaWYgKHRoaXMuc2NoZW1hICYmIEFycmF5LmlzQXJyYXkodGhpcy5zY2hlbWEucmVxdWlyZWQpKSB7XG4gICAgICB0aGlzLnNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKHJlcXVpcmVkUHJvcGVydHkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2NoZW1hLnByb3BlcnRpZXNbcmVxdWlyZWRQcm9wZXJ0eV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5zY2hlbWEucHJvcGVydGllc1tyZXF1aXJlZFByb3BlcnR5XS5pc1JlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgd2l0aCBwb3B1bGF0ZWQgcHJvcGVydGllcy5cbiAgICogVGhpcyB0ZW1wbGF0ZSBkb2VzIG5vdCBoYXZlIHRoZSBjaGlsZHJlblxuICAqL1xuICB0ZW1wbGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuc2NoZW1hKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBcbiAgICAgIDwhLS0gQW55IC0tPlxuICAgICAgJHtfaWYodGhpcy5pc0FueSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbnlcIj5cbiAgICAgICAgICAke19pZih0aGlzLnNob3dUb2dnbGUpYFxuICAgICAgICAgICAgPGEgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWhhbmRsZVwiPjwvc3Bhbj4ke3RoaXMuc2NoZW1hLnRpdGxlIHx8ICcnfSA8L2E+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHlwZSB0eXBlLWFueVwiPiZsdDthbnkmZ3Q7PC9zcGFuPlxuXG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuZGVzY3JpcHRpb24gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGRlc2NyaXB0aW9uXCI+JHt0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbn08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCBcblx0XHQgICR7X2lmKHRoaXMuc2NoZW1hLnJlcXVpcmVkICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciByZXF1aXJlZFwiPlJlcXVpcmVkOiAke3RoaXMuc2NoZW1hLnJlcXVpcmVkfTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICAke19pZih0aGlzLnNjaGVtYS5kZWZhdWx0ICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciBkZWZhdWx0XCI+RGVmYXVsdDogJHt0aGlzLnNjaGVtYS5kZWZhdWx0fTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICAgJHtfaWYodGhpcy5zY2hlbWEucGF0dGVybiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgcGF0dGVyblwiPlBhdHRlcm46ICR7dGhpcy5zY2hlbWEucGF0dGVybn08L2Rpdj5cbiAgICAgICAgICBgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG5cbiAgICAgIDwhLS0gUHJpbWl0aXZlIC0tPlxuICAgICAgJHtfaWYodGhpcy5pc1ByaW1pdGl2ZSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmltaXRpdmVcIj5cbiAgICAgICAgICAke19pZih0aGlzLnNob3dUb2dnbGUpYFxuICAgICAgICAgICAgPGEgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWhhbmRsZVwiPjwvc3Bhbj4ke3RoaXMuc2NoZW1hLnRpdGxlIHx8ICcnfSA8L2E+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eXBlXCI+JHt0aGlzLnNjaGVtYS50eXBlfTwvc3Bhbj5cblxuICAgICAgICAgXG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5mb3JtYXQpYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtYXRcIj4oJHt0aGlzLnNjaGVtYS5mb3JtYXR9KTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWluaW11bSlgXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJhbmdlIG1pbmltdW1cIj5taW5pbXVtOiR7dGhpcy5zY2hlbWEubWluaW11bX08L3NwYW4+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmV4Y2x1c2l2ZU1pbmltdW0pYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyYW5nZSBleGNsdXNpdmVNaW5pbXVtXCI+KGV4KW1pbmltdW06JHt0aGlzLnNjaGVtYS5leGNsdXNpdmVNaW5pbXVtfTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWF4aW11bSlgXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJhbmdlIG1heGltdW1cIj5tYXhpbXVtOiR7dGhpcy5zY2hlbWEubWF4aW11bX08L3NwYW4+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmV4Y2x1c2l2ZU1heGltdW0pYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyYW5nZSBleGNsdXNpdmVNYXhpbXVtXCI+KGV4KW1heGltdW06JHt0aGlzLnNjaGVtYS5leGNsdXNpdmVNYXhpbXVtfTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWluTGVuZ3RoKWBcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmFuZ2UgbWluTGVuZ3RoXCI+bWluTGVuZ3RoOiR7dGhpcy5zY2hlbWEubWluTGVuZ3RofTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWF4TGVuZ3RoKWBcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmFuZ2UgbWF4TGVuZ3RoXCI+bWF4TGVuZ3RoOiR7dGhpcy5zY2hlbWEubWF4TGVuZ3RofTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuZGVzY3JpcHRpb24gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGRlc2NyaXB0aW9uXCI+JHt0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbn08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgXG5cdFx0IFxuXHRcdCAgXG5cdFx0ICAgJHtfaWYodGhpcy5zY2hlbWEucmVxdWlyZWQgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIHJlcXVpcmVkXCI+UmVxdWlyZWQ8L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgJHtfaWYodGhpcy5zY2hlbWEuZGVmYXVsdCAmJiAhdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgZGVmYXVsdFwiPkRlZmF1bHQ6ICR7dGhpcy5zY2hlbWEuZGVmYXVsdH08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgICR7X2lmKHRoaXMuc2NoZW1hLnBhdHRlcm4gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIHBhdHRlcm5cIj5QYXR0ZXJuOiAke3RoaXMuc2NoZW1hLnBhdHRlcm59PC9kaXY+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmVudW0pYFxuICAgICAgICAgICAgJHt0aGlzLmVudW0odGhpcy5zY2hlbWEsIHRoaXMuaXNDb2xsYXBzZWQsIHRoaXMub3Blbil9XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLmFsbE9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnYWxsT2YnKX1gfVxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLm9uZU9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnb25lT2YnKX1gfVxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLmFueU9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnYW55T2YnKX1gfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG5cblxuICAgICAgPCEtLSBBcnJheSAtLT5cbiAgICAgICR7X2lmKHRoaXMuaXNBcnJheSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJheVwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwidGl0bGVcIj48c3BhbiBjbGFzcz1cInRvZ2dsZS1oYW5kbGVcIj48L3NwYW4+JHt0aGlzLnNjaGVtYS50aXRsZSB8fCAnJ308c3BhbiBjbGFzcz1cIm9wZW5pbmcgYnJhY2tldFwiPls8L3NwYW4+JHtfaWYodGhpcy5pc0NvbGxhcHNlZClgPHNwYW4gY2xhc3M9XCJjbG9zaW5nIGJyYWNrZXRcIj5dPC9zcGFuPmB9PC9hPlxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmICh0aGlzLnNjaGVtYS51bmlxdWVJdGVtcyB8fCB0aGlzLnNjaGVtYS5taW5JdGVtcyB8fCB0aGlzLnNjaGVtYS5tYXhJdGVtcykpYFxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgPHNwYW4gdGl0bGU9XCJpdGVtcyByYW5nZVwiPigke3RoaXMuc2NoZW1hLm1pbkl0ZW1zIHx8IDB9Li4ke3RoaXMuc2NoZW1hLm1heEl0ZW1zIHx8ICfiiJ4nfSk8L3NwYW4+XG4gICAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS51bmlxdWVJdGVtcylgPHNwYW4gdGl0bGU9XCJ1bmlxdWVcIiBjbGFzcz1cInVuaXF1ZUl0ZW1zXCI+4pmmPC9zcGFuPmB9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIGB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyXCI+XG4gICAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbilgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPiR7dGhpcy5zY2hlbWEuZGVzY3JpcHRpb259PC9kaXY+XG4gICAgICAgICAgICBgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEuZW51bSlgXG4gICAgICAgICAgICAke3RoaXMuZW51bSh0aGlzLnNjaGVtYSwgdGhpcy5pc0NvbGxhcHNlZCwgdGhpcy5vcGVuKX1cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuYWxsT2YgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYCR7dGhpcy54T2YodGhpcy5zY2hlbWEsICdhbGxPZicpfWB9XG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEub25lT2YgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYCR7dGhpcy54T2YodGhpcy5zY2hlbWEsICdvbmVPZicpfWB9XG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuYW55T2YgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYCR7dGhpcy54T2YodGhpcy5zY2hlbWEsICdhbnlPZicpfWB9XG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjbG9zaW5nIGJyYWNrZXRcIj5dPC9zcGFuPlxuICAgICAgICAgIGB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgYH1cblxuICAgICAgPCEtLSBPYmplY3QgLS0+XG4gICAgICAke19pZighdGhpcy5pc1ByaW1pdGl2ZSAmJiAhdGhpcy5pc0FycmF5ICYmICF0aGlzLmlzQW55KWBcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdFwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwidGl0bGVcIj48c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtaGFuZGxlXCI+PC9zcGFuPiR7dGhpcy5zY2hlbWEudGl0bGUgfHwgJyd9IDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm9wZW5pbmcgYnJhY2VcIj57PC9zcGFuPiR7X2lmKHRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NpbmcgYnJhY2VcIiBuZy1pZj1cImlzQ29sbGFwc2VkXCI+fTwvc3Bhbj5cbiAgICAgICAgICBgfTwvYT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxuICAgICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEuZGVzY3JpcHRpb24pYFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj4ke3RoaXMuc2NoZW1hLmRlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICAgICAgYH1cbiAgICAgICAgICAgIDwhLS0gY2hpbGRyZW4gZ28gaGVyZSAtLT5cblx0XHQgIFxuXHRcdCAgICR7X2lmKHRoaXMuc2NoZW1hLnJlcXVpcmVkICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXJlZFwiPkRlZmF1bHQgRmllbGRzOiAke3RoaXMuc2NoZW1hLnJlcXVpcmVkfTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICAke19pZih0aGlzLnNjaGVtYS5kZWZhdWx0ICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0XCI+RGVmYXVsdDogJHt0aGlzLnNjaGVtYS5kZWZhdWx0fTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICBcblx0XHRcdCR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLnBhdHRlcm4pYFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF0dGVyblwiPlBhdHRlcm46ICR7dGhpcy5zY2hlbWEucGF0dGVybn08L2Rpdj5cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5lbnVtKWBcbiAgICAgICAgICAgICR7dGhpcy5lbnVtKHRoaXMuc2NoZW1hLCB0aGlzLmlzQ29sbGFwc2VkLCB0aGlzLm9wZW4pfVxuICAgICAgICAgIGB9XG5cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5hbGxPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ2FsbE9mJyl9YH1cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5vbmVPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ29uZU9mJyl9YH1cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5hbnlPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ2FueU9mJyl9YH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NpbmcgYnJhY2VcIj59PC9zcGFuPlxuICAgICAgICAgIGB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgYH1cbmAucmVwbGFjZSgvXFxzKlxcbi9nLCAnXFxuJykucmVwbGFjZSgvKFxcPFxcIVxcLVxcLSkuKy9nLCAnJykudHJpbSgpO1xuICB9XG5cbiAgLypcbiAgICogVGVtcGxhdGUgZm9yIG9uZU9mLCBhbnlPZiBhbmQgYWxsT2ZcbiAgKi9cbiAgeE9mKHNjaGVtYSwgdHlwZSkge1xuICAgIHJldHVybiBgXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgJHt0eXBlfVwiPlxuICAgICAgICA8Yj4ke2NvbnZlcnRYT2YodHlwZSl9OjwvYj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvKlxuICAgKiBUZW1wbGF0ZSBmb3IgZW51bXNcbiAgKi9cbiAgZW51bShzY2hlbWEsIGlzQ29sbGFwc2VkLCBvcGVuKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICR7X2lmKCFpc0NvbGxhcHNlZCAmJiBzY2hlbWEuZW51bSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciBlbnVtc1wiPlxuICAgICAgICAgIDxiPkVudW06PC9iPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG4gICAgYDtcbiAgfVxuXG4gIC8qXG4gICAqIFRvZ2dsZXMgdGhlICdjb2xsYXBzZWQnIHN0YXRlXG4gICovXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIC8qXG4gICAqIFJlbmRlcnMgdGhlIGVsZW1lbnQgYW5kIHJldHVybnMgaXRcbiAgKi9cbiAgcmVuZGVyKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICB0aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdqc29uLXNjaGVtYS12aWV3Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNDb2xsYXBzZWQpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb2xsYXBzZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NvbGxhcHNlZCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKGBqc29uLXNjaGVtYS12aWV3LSR7dGhpcy5vcHRpb25zLnRoZW1lfWApO1xuICAgIH1cblxuICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnRlbXBsYXRlKCk7XG5cbiAgICBpZiAoIXRoaXMuc2NoZW1hKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5hcHBlbmRDaGlsZHJlbih0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8vIGFkZCBldmVudCBsaXN0ZW5lciBmb3IgdG9nZ2xpbmdcbiAgICBpZiAodGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2EudGl0bGUnKSkge1xuICAgICAgdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2EudGl0bGUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudG9nZ2xlLmJpbmQodGhpcykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xuICB9XG5cbiAgLypcbiAgICogQXBwZW5kcyBjaGlsZHJlbiB0byBnaXZlbiBlbGVtZW50IGJhc2VkIG9uIGN1cnJlbnQgc2NoZW1hXG4gICovXG4gIGFwcGVuZENoaWxkcmVuKGVsZW1lbnQpIHtcbiAgICBjb25zdCBpbm5lciA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLmlubmVyJyk7XG5cbiAgICBpZiAoIWlubmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NoZW1hLmVudW0pIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBKU09ORm9ybWF0dGVyKHRoaXMuc2NoZW1hLmVudW0sIHRoaXMub3BlbiAtIDEpO1xuICAgICAgY29uc3QgZm9ybWF0dGVyRWwgPSBmb3JtYXR0ZXIucmVuZGVyKCk7XG4gICAgICBmb3JtYXR0ZXJFbC5jbGFzc0xpc3QuYWRkKCdpbm5lcicpO1xuICAgICAgZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZW51bXMuaW5uZXInKS5hcHBlbmRDaGlsZChmb3JtYXR0ZXJFbCk7XG5cbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FycmF5KSB7XG4gICAgICBjb25zdCB2aWV3ID0gbmV3IEpTT05TY2hlbWFWaWV3KHRoaXMuc2NoZW1hLml0ZW1zLCB0aGlzLm9wZW4gLSAxKVxuICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzID09PSAnb2JqZWN0Jykge1xuICAgICAgT2JqZWN0LmtleXModGhpcy5zY2hlbWEucHJvcGVydGllcykuZm9yRWFjaChwcm9wZXJ0eU5hbWUgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMuc2NoZW1hLnByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgICAgICAgY29uc3QgdGVtcERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOztcbiAgICAgICAgdGVtcERpdi5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz1cInByb3BlcnR5XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+JHtwcm9wZXJ0eU5hbWV9Ojwvc3Bhbj5cbiAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgY29uc3QgdmlldyA9IG5ldyBKU09OU2NoZW1hVmlldyhwcm9wZXJ0eSwgdGhpcy5vcGVuIC0gMSk7XG4gICAgICAgIHRlbXBEaXYucXVlcnlTZWxlY3RvcignLnByb3BlcnR5JykuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG5cbiAgICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodGVtcERpdi5xdWVyeVNlbGVjdG9yKCcucHJvcGVydHknKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY2hlbWEuYWxsT2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ2FsbE9mJyk7IH1cbiAgICBpZiAodGhpcy5zY2hlbWEub25lT2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ29uZU9mJyk7IH1cbiAgICBpZiAodGhpcy5zY2hlbWEuYW55T2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ2FueU9mJyk7IH1cblxuICAgIGZ1bmN0aW9uIGFwcGVuZFhPZih0eXBlKSB7XG4gICAgICBjb25zdCBpbm5lckFsbE9mID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKGAuaW5uZXIuJHt0eXBlfWApO1xuXG4gICAgICB0aGlzLnNjaGVtYVt0eXBlXS5mb3JFYWNoKHNjaGVtYSA9PiB7XG4gICAgICAgIGNvbnN0IGlubmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGlubmVyLmNsYXNzTGlzdC5hZGQoJ2lubmVyJyk7XG4gICAgICAgIGNvbnN0IHZpZXcgPSBuZXcgSlNPTlNjaGVtYVZpZXcoc2NoZW1hLCB0aGlzLm9wZW4gLSAxKTtcbiAgICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG4gICAgICAgIGlubmVyQWxsT2YuYXBwZW5kQ2hpbGQoaW5uZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=\n\n  </script>\n  <script>\n  (function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.$RefParser = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n  /** !\n   * JSON Schema $Ref Parser v3.1.2\n   *\n   * @link https://github.com/BigstickCarpet/json-schema-ref-parser\n   * @license MIT\n   */\n  \"use strict\";function bundle(e,r){debug(\"Bundling $ref pointers in %s\",e.$refs._root$Ref.path);var t=[];crawl(e,\"schema\",e.$refs._root$Ref.path+\"#\",\"#\",t,e.$refs,r),remap(t)}function crawl(e,r,t,f,n,i,a){var o=null===r?e:e[r];if(o&&\"object\"==typeof o)if($Ref.is$Ref(o))inventory$Ref(e,r,t,f,n,i,a);else{var l=Object.keys(o),u=l.indexOf(\"definitions\");u>0&&l.splice(0,0,l.splice(u,1)[0]),l.forEach(function(e){var r=Pointer.join(t,e),l=Pointer.join(f,e),u=o[e];$Ref.is$Ref(u)?inventory$Ref(o,e,t,l,n,i,a):crawl(o,e,r,l,n,i,a)})}}function inventory$Ref(e,r,t,f,n,i,a){if(!n.some(function(t){return t.parent===e&&t.key===r})){var o=null===r?e:e[r],l=url.resolve(t,o.$ref),u=i._resolve(l,a),h=Pointer.parse(f).length,s=url.stripHash(u.path),$=url.getHash(u.path),c=s!==i._root$Ref.path,p=$Ref.isExtended$Ref(o);n.push({$ref:o,parent:e,key:r,pathFromRoot:f,depth:h,file:s,hash:$,value:u.value,circular:u.circular,extended:p,external:c}),crawl(u.value,null,u.path,f,n,i,a)}}function remap(e){e.sort(function(e,r){return e.file!==r.file?e.file<r.file?-1:1:e.hash!==r.hash?e.hash<r.hash?-1:1:e.circular!==r.circular?e.circular?-1:1:e.extended!==r.extended?e.extended?1:-1:e.depth!==r.depth?e.depth-r.depth:r.pathFromRoot.lastIndexOf(\"/definitions\")-e.pathFromRoot.lastIndexOf(\"/definitions\")});var r,t,f;e.forEach(function(e){debug('Re-mapping $ref pointer \"%s\" at %s',e.$ref.$ref,e.pathFromRoot),e.external?e.file===r&&e.hash===t?e.$ref.$ref=f:e.file===r&&0===e.hash.indexOf(t+\"/\")?e.$ref.$ref=Pointer.join(f,Pointer.parse(e.hash)):(r=e.file,t=e.hash,f=e.pathFromRoot,e.$ref=e.parent[e.key]=$Ref.dereference(e.$ref,e.value),e.circular&&(e.$ref.$ref=e.pathFromRoot)):e.$ref.$ref=e.hash,debug(\"    new value: %s\",e.$ref&&e.$ref.$ref?e.$ref.$ref:\"[object Object]\")})}var $Ref=require(\"./ref\"),Pointer=require(\"./pointer\"),debug=require(\"./util/debug\"),url=require(\"./util/url\");module.exports=bundle;\n\n  },{\"./pointer\":10,\"./ref\":11,\"./util/debug\":16,\"./util/url\":19}],2:[function(require,module,exports){\n  \"use strict\";function dereference(e,r){debug(\"Dereferencing $ref pointers in %s\",e.$refs._root$Ref.path);var c=crawl(e.schema,e.$refs._root$Ref.path,\"#\",[],e.$refs,r);e.$refs.circular=c.circular,e.schema=c.value}function crawl(e,r,c,u,f,i){var n,a={value:e,circular:!1};return e&&\"object\"==typeof e&&(u.push(e),$Ref.isAllowed$Ref(e,i)?(n=dereference$Ref(e,r,c,u,f,i),a.circular=n.circular,a.value=n.value):Object.keys(e).forEach(function(l){var o=Pointer.join(r,l),t=Pointer.join(c,l),d=e[l],$=!1;$Ref.isAllowed$Ref(d,i)?(n=dereference$Ref(d,o,t,u,f,i),$=n.circular,e[l]=n.value):-1===u.indexOf(d)?(n=crawl(d,o,t,u,f,i),$=n.circular,e[l]=n.value):$=foundCircularReference(o,f,i),a.circular=a.circular||$}),u.pop()),a}function dereference$Ref(e,r,c,u,f,i){debug('Dereferencing $ref pointer \"%s\" at %s',e.$ref,r);var n=url.resolve(r,e.$ref),a=f._resolve(n,i),l=a.circular,o=l||-1!==u.indexOf(a.value);o&&foundCircularReference(r,f,i);var t=$Ref.dereference(e,a.value);if(!o){var d=crawl(t,a.path,c,u,f,i);o=d.circular,t=d.value}return o&&!l&&\"ignore\"===i.dereference.circular&&(t=e),l&&(t.$ref=c),{circular:o,value:t}}function foundCircularReference(e,r,c){if(r.circular=!0,!c.dereference.circular)throw ono.reference(\"Circular $ref pointer found at %s\",e);return!0}var $Ref=require(\"./ref\"),Pointer=require(\"./pointer\"),ono=require(\"ono\"),debug=require(\"./util/debug\"),url=require(\"./util/url\");module.exports=dereference;\n\n  },{\"./pointer\":10,\"./ref\":11,\"./util/debug\":16,\"./util/url\":19,\"ono\":69}],3:[function(require,module,exports){\n  (function (Buffer){\n  \"use strict\";function $RefParser(){this.schema=null,this.$refs=new $Refs}function normalizeArgs(e){var r,t,a,s;return e=Array.prototype.slice.call(e),\"function\"==typeof e[e.length-1]&&(s=e.pop()),\"string\"==typeof e[0]?(r=e[0],\"object\"==typeof e[2]?(t=e[1],a=e[2]):(t=void 0,a=e[1])):(r=\"\",t=e[0],a=e[1]),a instanceof Options||(a=new Options(a)),{path:r,schema:t,options:a,callback:s}}var Promise=require(\"./util/promise\"),Options=require(\"./options\"),$Refs=require(\"./refs\"),parse=require(\"./parse\"),resolveExternal=require(\"./resolve-external\"),bundle=require(\"./bundle\"),dereference=require(\"./dereference\"),url=require(\"./util/url\"),maybe=require(\"call-me-maybe\"),ono=require(\"ono\");module.exports=$RefParser,module.exports.YAML=require(\"./util/yaml\"),$RefParser.parse=function(e,r,t){var a=this,s=new a;return s.parse.apply(s,arguments)},$RefParser.prototype.parse=function(e,r,t){var a,s=normalizeArgs(arguments);if(!s.path&&!s.schema){var n=ono(\"Expected a file path, URL, or object. Got %s\",s.path||s.schema);return maybe(s.callback,Promise.reject(n))}this.schema=null,this.$refs=new $Refs,url.isFileSystemPath(s.path)&&(s.path=url.fromFileSystemPath(s.path)),s.path=url.resolve(url.cwd(),s.path),s.schema&&\"object\"==typeof s.schema?(this.$refs._add(s.path,s.schema),a=Promise.resolve(s.schema)):a=parse(s.path,this.$refs,s.options);var o=this;return a.then(function(e){if(!e||\"object\"!=typeof e||Buffer.isBuffer(e))throw ono.syntax('\"%s\" is not a valid JSON Schema',o.$refs._root$Ref.path||e);return o.schema=e,maybe(s.callback,Promise.resolve(o.schema))})[\"catch\"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.resolve=function(e,r,t){var a=this,s=new a;return s.resolve.apply(s,arguments)},$RefParser.prototype.resolve=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.parse(s.path,s.schema,s.options).then(function(){return resolveExternal(a,s.options)}).then(function(){return maybe(s.callback,Promise.resolve(a.$refs))})[\"catch\"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.bundle=function(e,r,t){var a=this,s=new a;return s.bundle.apply(s,arguments)},$RefParser.prototype.bundle=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.resolve(s.path,s.schema,s.options).then(function(){return bundle(a,s.options),maybe(s.callback,Promise.resolve(a.schema))})[\"catch\"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.dereference=function(e,r,t){var a=this,s=new a;return s.dereference.apply(s,arguments)},$RefParser.prototype.dereference=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.resolve(s.path,s.schema,s.options).then(function(){return dereference(a,s.options),maybe(s.callback,Promise.resolve(a.schema))})[\"catch\"](function(e){return maybe(s.callback,Promise.reject(e))})};\n\n  }).call(this,{\"isBuffer\":require(\"../node_modules/is-buffer/index.js\")})\n\n  },{\"../node_modules/is-buffer/index.js\":36,\"./bundle\":1,\"./dereference\":2,\"./options\":4,\"./parse\":5,\"./refs\":12,\"./resolve-external\":13,\"./util/promise\":18,\"./util/url\":19,\"./util/yaml\":20,\"call-me-maybe\":27,\"ono\":69}],4:[function(require,module,exports){\n  \"use strict\";function $RefParserOptions(e){merge(this,$RefParserOptions.defaults),merge(this,e)}function merge(e,r){if(isMergeable(r))for(var s=Object.keys(r),a=0;a<s.length;a++){var t=s[a],i=r[t],o=e[t];isMergeable(i)?e[t]=merge(o||{},i):void 0!==i&&(e[t]=i)}return e}function isMergeable(e){return e&&\"object\"==typeof e&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}var jsonParser=require(\"./parsers/json\"),yamlParser=require(\"./parsers/yaml\"),textParser=require(\"./parsers/text\"),binaryParser=require(\"./parsers/binary\"),fileResolver=require(\"./resolvers/file\"),httpResolver=require(\"./resolvers/http\"),zschemaValidator=require(\"./validators/z-schema\");module.exports=$RefParserOptions,$RefParserOptions.defaults={parse:{json:jsonParser,yaml:yamlParser,text:textParser,binary:binaryParser},resolve:{file:fileResolver,http:httpResolver,external:!0},dereference:{circular:!0},validate:{zschema:zschemaValidator}};\n\n  },{\"./parsers/binary\":6,\"./parsers/json\":7,\"./parsers/text\":8,\"./parsers/yaml\":9,\"./resolvers/file\":14,\"./resolvers/http\":15,\"./validators/z-schema\":21}],5:[function(require,module,exports){\n  (function (Buffer){\n  \"use strict\";function parse(r,e,n){try{r=url.stripHash(r);var t=e._add(r),u={url:r,extension:url.getExtension(r)};return readFile(u,n).then(function(r){return t.pathType=r.plugin.name,u.data=r.result,parseFile(u,n)}).then(function(r){return t.value=r.result,r.result})}catch(i){return Promise.reject(i)}}function readFile(r,e){return new Promise(function(n,t){function u(e){t(!e||e instanceof SyntaxError?ono.syntax('Unable to resolve $ref pointer \"%s\"',r.url):e)}debug(\"Reading %s\",r.url);var i=plugins.all(e.resolve);i=plugins.filter(i,\"canRead\",r),plugins.sort(i),plugins.run(i,\"read\",r).then(n,u)})}function parseFile(r,e){return new Promise(function(n,t){function u(e){!e.plugin.allowEmpty&&isEmpty(e.result)?t(ono.syntax('Error parsing \"%s\" as %s. \\nParsed value is empty',r.url,e.plugin.name)):n(e)}function i(e){e?(e=e instanceof Error?e:new Error(e),t(ono.syntax(e,\"Error parsing %s\",r.url))):t(ono.syntax(\"Unable to parse %s\",r.url))}debug(\"Parsing %s\",r.url);var s=plugins.all(e.parse),l=plugins.filter(s,\"canParse\",r),o=l.length>0?l:s;plugins.sort(o),plugins.run(o,\"parse\",r).then(u,i)})}function isEmpty(r){return void 0===r||\"object\"==typeof r&&0===Object.keys(r).length||\"string\"==typeof r&&0===r.trim().length||Buffer.isBuffer(r)&&0===r.length}var ono=require(\"ono\"),debug=require(\"./util/debug\"),url=require(\"./util/url\"),plugins=require(\"./util/plugins\"),Promise=require(\"./util/promise\");module.exports=parse;\n\n  }).call(this,{\"isBuffer\":require(\"../node_modules/is-buffer/index.js\")})\n\n  },{\"../node_modules/is-buffer/index.js\":36,\"./util/debug\":16,\"./util/plugins\":17,\"./util/promise\":18,\"./util/url\":19,\"ono\":69}],6:[function(require,module,exports){\n  (function (Buffer){\n  \"use strict\";var BINARY_REGEXP=/\\.(jpeg|jpg|gif|png|bmp|ico)$/i;module.exports={order:400,allowEmpty:!0,canParse:function(r){return Buffer.isBuffer(r.data)&&BINARY_REGEXP.test(r.url)},parse:function(r){return Buffer.isBuffer(r.data)?r.data:new Buffer(r.data)}};\n\n  }).call(this,require(\"buffer\").Buffer)\n\n  },{\"buffer\":25}],7:[function(require,module,exports){\n  (function (Buffer){\n  \"use strict\";var Promise=require(\"../util/promise\");module.exports={order:100,allowEmpty:!0,canParse:\".json\",parse:function(r){return new Promise(function(e,t){var i=r.data;Buffer.isBuffer(i)&&(i=i.toString()),e(\"string\"==typeof i?0===i.trim().length?void 0:JSON.parse(i):i)})}};\n\n  }).call(this,{\"isBuffer\":require(\"../../node_modules/is-buffer/index.js\")})\n\n  },{\"../../node_modules/is-buffer/index.js\":36,\"../util/promise\":18}],8:[function(require,module,exports){\n  (function (Buffer){\n  \"use strict\";var TEXT_REGEXP=/\\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;module.exports={order:300,allowEmpty:!0,encoding:\"utf8\",canParse:function(t){return(\"string\"==typeof t.data||Buffer.isBuffer(t.data))&&TEXT_REGEXP.test(t.url)},parse:function(t){if(\"string\"==typeof t.data)return t.data;if(Buffer.isBuffer(t.data))return t.data.toString(this.encoding);throw new Error(\"data is not text\")}};\n\n  }).call(this,{\"isBuffer\":require(\"../../node_modules/is-buffer/index.js\")})\n\n  },{\"../../node_modules/is-buffer/index.js\":36}],9:[function(require,module,exports){\n  (function (Buffer){\n  \"use strict\";var Promise=require(\"../util/promise\"),YAML=require(\"../util/yaml\");module.exports={order:200,allowEmpty:!0,canParse:[\".yaml\",\".yml\",\".json\"],parse:function(r){return new Promise(function(e,t){var i=r.data;Buffer.isBuffer(i)&&(i=i.toString()),e(\"string\"==typeof i?YAML.parse(i):i)})}};\n\n  }).call(this,{\"isBuffer\":require(\"../../node_modules/is-buffer/index.js\")})\n\n  },{\"../../node_modules/is-buffer/index.js\":36,\"../util/promise\":18,\"../util/yaml\":20}],10:[function(require,module,exports){\n  \"use strict\";function Pointer(e,r){this.$ref=e,this.path=r,this.value=void 0,this.circular=!1}function resolveIf$Ref(e,r){if($Ref.isAllowed$Ref(e.value,r)){var t=url.resolve(e.path,e.value.$ref);if(t!==e.path){var s=e.$ref.$refs._resolve(t,r);return $Ref.isExtended$Ref(e.value)?e.value=$Ref.dereference(e.value,s.value):(e.$ref=s.$ref,e.path=s.path,e.value=s.value),!0}e.circular=!0}}function setValue(e,r,t){if(!e.value||\"object\"!=typeof e.value)throw ono.syntax('Error assigning $ref pointer \"%s\". \\nCannot set \"%s\" of a non-object.',e.path,r);return\"-\"===r&&Array.isArray(e.value)?e.value.push(t):e.value[r]=t,t}module.exports=Pointer;var $Ref=require(\"./ref\"),url=require(\"./util/url\"),ono=require(\"ono\"),slashes=/\\//g,tildes=/~/g,escapedSlash=/~1/g,escapedTilde=/~0/g;Pointer.prototype.resolve=function(e,r){var t=Pointer.parse(this.path);this.value=e;for(var s=0;s<t.length;s++){resolveIf$Ref(this,r)&&(this.path=Pointer.join(this.path,t.slice(s)));var i=t[s];if(void 0===this.value[i])throw ono.syntax('Error resolving $ref pointer \"%s\". \\nToken \"%s\" does not exist.',this.path,i);this.value=this.value[i]}return resolveIf$Ref(this,r),this},Pointer.prototype.set=function(e,r,t){var s,i=Pointer.parse(this.path);if(0===i.length)return this.value=r,r;this.value=e;for(var a=0;a<i.length-1;a++)resolveIf$Ref(this,t),s=i[a],this.value&&void 0!==this.value[s]?this.value=this.value[s]:this.value=setValue(this,s,{});return resolveIf$Ref(this,t),s=i[i.length-1],setValue(this,s,r),e},Pointer.parse=function(e){var r=url.getHash(e).substr(1);if(!r)return[];r=r.split(\"/\");for(var t=0;t<r.length;t++)r[t]=decodeURI(r[t].replace(escapedSlash,\"/\").replace(escapedTilde,\"~\"));if(\"\"!==r[0])throw ono.syntax('Invalid $ref pointer \"%s\". Pointers must begin with \"#/\"',r);return r.slice(1)},Pointer.join=function(e,r){-1===e.indexOf(\"#\")&&(e+=\"#\"),r=Array.isArray(r)?r:[r];for(var t=0;t<r.length;t++){var s=r[t];e+=\"/\"+encodeURI(s.replace(tildes,\"~0\").replace(slashes,\"~1\"))}return e};\n\n  },{\"./ref\":11,\"./util/url\":19,\"ono\":69}],11:[function(require,module,exports){\n  \"use strict\";function $Ref(){this.path=void 0,this.value=void 0,this.$refs=void 0,this.pathType=void 0}module.exports=$Ref;var Pointer=require(\"./pointer\");$Ref.prototype.exists=function(e,t){try{return this.resolve(e,t),!0}catch(r){return!1}},$Ref.prototype.get=function(e,t){return this.resolve(e,t).value},$Ref.prototype.resolve=function(e,t){var r=new Pointer(this,e);return r.resolve(this.value,t)},$Ref.prototype.set=function(e,t){var r=new Pointer(this,e);this.value=r.set(this.value,t)},$Ref.is$Ref=function(e){return e&&\"object\"==typeof e&&\"string\"==typeof e.$ref&&e.$ref.length>0},$Ref.isExternal$Ref=function(e){return $Ref.is$Ref(e)&&\"#\"!==e.$ref[0]},$Ref.isAllowed$Ref=function(e,t){return!$Ref.is$Ref(e)||\"#\"!==e.$ref[0]&&t&&!t.resolve.external?void 0:!0},$Ref.isExtended$Ref=function(e){return $Ref.is$Ref(e)&&Object.keys(e).length>1},$Ref.dereference=function(e,t){if(t&&\"object\"==typeof t&&$Ref.isExtended$Ref(e)){var r={};return Object.keys(e).forEach(function(t){\"$ref\"!==t&&(r[t]=e[t])}),Object.keys(t).forEach(function(e){e in r||(r[e]=t[e])}),r}return t};\n\n  },{\"./pointer\":10}],12:[function(require,module,exports){\n  \"use strict\";function $Refs(){this.circular=!1,this._$refs={},this._root$Ref=null}function getPaths(e,r){var t=Object.keys(e);return r=Array.isArray(r[0])?r[0]:Array.prototype.slice.call(r),r.length>0&&r[0]&&(t=t.filter(function(t){return-1!==r.indexOf(e[t].pathType)})),t.map(function(r){return{encoded:r,decoded:\"file\"===e[r].pathType?url.toFileSystemPath(r,!0):r}})}var ono=require(\"ono\"),$Ref=require(\"./ref\"),url=require(\"./util/url\");module.exports=$Refs,$Refs.prototype.paths=function(e){var r=getPaths(this._$refs,arguments);return r.map(function(e){return e.decoded})},$Refs.prototype.values=function(e){var r=this._$refs,t=getPaths(r,arguments);return t.reduce(function(e,t){return e[t.decoded]=r[t.encoded].value,e},{})},$Refs.prototype.toJSON=$Refs.prototype.values,$Refs.prototype.exists=function(e,r){try{return this._resolve(e,r),!0}catch(t){return!1}},$Refs.prototype.get=function(e,r){return this._resolve(e,r).value},$Refs.prototype.set=function(e,r){e=url.resolve(this._root$Ref.path,e);var t=url.stripHash(e),o=this._$refs[t];if(!o)throw ono('Error resolving $ref pointer \"%s\". \\n\"%s\" not found.',e,t);o.set(e,r)},$Refs.prototype._add=function(e,r){var t=url.stripHash(e),o=new $Ref;return o.path=t,o.value=r,o.$refs=this,this._$refs[t]=o,this._root$Ref=this._root$Ref||o,o},$Refs.prototype._resolve=function(e,r){e=url.resolve(this._root$Ref.path,e);var t=url.stripHash(e),o=this._$refs[t];if(!o)throw ono('Error resolving $ref pointer \"%s\". \\n\"%s\" not found.',e,t);return o.resolve(e,r)},$Refs.prototype._get$Ref=function(e){e=url.resolve(this._root$Ref.path,e);var r=url.stripHash(e);return this._$refs[r]};\n\n  },{\"./ref\":11,\"./util/url\":19,\"ono\":69}],13:[function(require,module,exports){\n  \"use strict\";function resolveExternal(e,r){if(!r.resolve.external)return Promise.resolve();try{debug(\"Resolving $ref pointers in %s\",e.$refs._root$Ref.path);var s=crawl(e.schema,e.$refs._root$Ref.path+\"#\",e.$refs,r);return Promise.all(s)}catch(t){return Promise.reject(t)}}function crawl(e,r,s,t){var o=[];return e&&\"object\"==typeof e&&($Ref.isExternal$Ref(e)?o.push(resolve$Ref(e,r,s,t)):Object.keys(e).forEach(function(i){var n=Pointer.join(r,i),l=e[i];$Ref.isExternal$Ref(l)?o.push(resolve$Ref(l,n,s,t)):o=o.concat(crawl(l,n,s,t))})),o}function resolve$Ref(e,r,s,t){debug('Resolving $ref pointer \"%s\" at %s',e.$ref,r);var o=url.resolve(r,e.$ref),i=url.stripHash(o);return e=s._$refs[i],e?Promise.resolve(e.value):parse(o,s,t).then(function(e){debug(\"Resolving $ref pointers in %s\",i);var r=crawl(e,i+\"#\",s,t);return Promise.all(r)})}var Promise=require(\"./util/promise\"),$Ref=require(\"./ref\"),Pointer=require(\"./pointer\"),parse=require(\"./parse\"),debug=require(\"./util/debug\"),url=require(\"./util/url\");module.exports=resolveExternal;\n\n  },{\"./parse\":5,\"./pointer\":10,\"./ref\":11,\"./util/debug\":16,\"./util/promise\":18,\"./util/url\":19}],14:[function(require,module,exports){\n  \"use strict\";var fs=require(\"fs\"),ono=require(\"ono\"),Promise=require(\"../util/promise\"),url=require(\"../util/url\"),debug=require(\"../util/debug\");module.exports={order:100,canRead:function(r){return url.isFileSystemPath(r.url)},read:function(r){return new Promise(function(e,i){var u;try{u=url.toFileSystemPath(r.url)}catch(o){i(ono.uri(o,\"Malformed URI: %s\",r.url))}debug(\"Opening file: %s\",u);try{fs.readFile(u,function(r,o){r?i(ono(r,'Error opening file \"%s\"',u)):e(o)})}catch(o){i(ono(o,'Error opening file \"%s\"',u))}})}};\n\n  },{\"../util/debug\":16,\"../util/promise\":18,\"../util/url\":19,\"fs\":24,\"ono\":69}],15:[function(require,module,exports){\n  (function (process,Buffer){\n  \"use strict\";function download(e,t,o){return new Promise(function(r,n){e=url.parse(e),o=o||[],o.push(e.href),get(e,t).then(function(s){if(s.statusCode>=400)throw ono({status:s.statusCode},\"HTTP ERROR %d\",s.statusCode);if(s.statusCode>=300)if(o.length>t.redirects)n(ono({status:s.statusCode},\"Error downloading %s. \\nToo many redirects: \\n  %s\",o[0],o.join(\" \\n  \")));else{if(!s.headers.location)throw ono({status:s.statusCode},\"HTTP %d redirect with no location header\",s.statusCode);debug(\"HTTP %d redirect %s -> %s\",s.statusCode,e.href,s.headers.location);var u=url.resolve(e,s.headers.location);download(u,t,o).then(r,n)}else r(s.body||new Buffer(0))})[\"catch\"](function(t){n(ono(t,\"Error downloading\",e.href))})})}function get(e,t){return new Promise(function(o,r){debug(\"GET\",e.href);var n=\"https:\"===e.protocol?https:http,s=n.get({hostname:e.hostname,port:e.port,path:e.path,auth:e.auth,headers:t.headers||{},withCredentials:t.withCredentials});\"function\"==typeof s.setTimeout&&s.setTimeout(t.timeout),s.on(\"timeout\",function(){s.abort()}),s.on(\"error\",r),s.once(\"response\",function(e){e.body=new Buffer(0),e.on(\"data\",function(t){e.body=Buffer.concat([e.body,new Buffer(t)])}),e.on(\"error\",r),e.on(\"end\",function(){o(e)})})})}var http=require(\"http\"),https=require(\"https\"),ono=require(\"ono\"),url=require(\"../util/url\"),debug=require(\"../util/debug\"),Promise=require(\"../util/promise\");module.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:!1,canRead:function(e){return url.isHttp(e.url)},read:function(e){var t=url.parse(e.url);return process.browser&&!t.protocol&&(t.protocol=url.parse(location.href).protocol),download(t,this)}};\n\n  }).call(this,require('_process'),require(\"buffer\").Buffer)\n\n  },{\"../util/debug\":16,\"../util/promise\":18,\"../util/url\":19,\"_process\":71,\"buffer\":25,\"http\":87,\"https\":33,\"ono\":69}],16:[function(require,module,exports){\n  \"use strict\";var debug=require(\"debug\");module.exports=debug(\"json-schema-ref-parser\");\n\n  },{\"debug\":29}],17:[function(require,module,exports){\n  \"use strict\";function getResult(e,r,t,n){var u=e[r];if(\"function\"==typeof u)return u.apply(e,[t,n]);if(!n){if(u instanceof RegExp)return u.test(t.url);if(\"string\"==typeof u)return u===t.extension;if(Array.isArray(u))return-1!==u.indexOf(t.extension)}return u}var Promise=require(\"./promise\"),debug=require(\"./debug\");exports.all=function(e){return Object.keys(e).filter(function(r){return\"object\"==typeof e[r]}).map(function(r){return e[r].name=r,e[r]})},exports.filter=function(e,r,t){return e.filter(function(e){return!!getResult(e,r,t)})},exports.sort=function(e){return e.forEach(function(e){e.order=e.order||Number.MAX_SAFE_INTEGER}),e.sort(function(e,r){return e.order-r.order})},exports.run=function(e,r,t){var n,u,i=0;return new Promise(function(o,f){function s(){if(n=e[i++],!n)return f(u);try{debug(\"  %s\",n.name);var o=getResult(n,r,t,c);o&&\"function\"==typeof o.then?o.then(a,p):void 0!==o&&a(o)}catch(s){p(s)}}function c(e,r){e?p(e):a(r)}function a(e){debug(\"    success\"),o({plugin:n,result:e})}function p(e){debug(\"    %s\",e.message||e),u=e,s()}s()})};\n\n  },{\"./debug\":16,\"./promise\":18}],18:[function(require,module,exports){\n  \"use strict\";module.exports=\"function\"==typeof Promise?Promise:require(\"es6-promise\").Promise;\n\n  },{\"es6-promise\":31}],19:[function(require,module,exports){\n  (function (process){\n  \"use strict\";var isWindows=/^win/.test(process.platform),forwardSlashPattern=/\\//g,protocolPattern=/^([a-z0-9.+-]+):\\/\\//i,url=module.exports,urlEncodePatterns=[/\\?/g,\"%3F\",/\\#/g,\"%23\",isWindows?/\\\\/g:/\\//,\"/\"],urlDecodePatterns=[/\\%23/g,\"#\",/\\%24/g,\"$\",/\\%26/g,\"&\",/\\%2C/g,\",\",/\\%40/g,\"@\"];exports.parse=require(\"url\").parse,exports.resolve=require(\"url\").resolve,exports.cwd=function(){return process.browser?location.href:process.cwd()+\"/\"},exports.getProtocol=function(r){var e=protocolPattern.exec(r);return e?e[1].toLowerCase():void 0},exports.getExtension=function(r){var e=r.lastIndexOf(\".\");return e>=0?r.substr(e).toLowerCase():\"\"},exports.getHash=function(r){var e=r.indexOf(\"#\");return e>=0?r.substr(e):\"#\"},exports.stripHash=function(r){var e=r.indexOf(\"#\");return e>=0&&(r=r.substr(0,e)),r},exports.isHttp=function(r){var e=url.getProtocol(r);return\"http\"===e||\"https\"===e?!0:void 0===e?process.browser:!1},exports.isFileSystemPath=function(r){if(process.browser)return!1;var e=url.getProtocol(r);return void 0===e||\"file\"===e},exports.fromFileSystemPath=function(r){for(var e=0;e<urlEncodePatterns.length;e+=2)r=r.replace(urlEncodePatterns[e],urlEncodePatterns[e+1]);return encodeURI(r)},exports.toFileSystemPath=function(r,e){r=decodeURI(r);for(var t=0;t<urlDecodePatterns.length;t+=2)r=r.replace(urlDecodePatterns[t],urlDecodePatterns[t+1]);var o=\"file://\"===r.substr(0,7).toLowerCase();return o&&(r=\"/\"===r[7]?r.substr(8):r.substr(7),isWindows&&\"/\"===r[1]&&(r=r[0]+\":\"+r.substr(1)),e?r=\"file:///\"+r:(o=!1,r=isWindows?r:\"/\"+r)),isWindows&&!o&&(r=r.replace(forwardSlashPattern,\"\\\\\")),r};\n\n  }).call(this,require('_process'))\n\n  },{\"_process\":71,\"url\":93}],20:[function(require,module,exports){\n  \"use strict\";var yaml=require(\"js-yaml\"),ono=require(\"ono\");module.exports={parse:function(r,e){try{return yaml.safeLoad(r)}catch(o){throw o instanceof Error?o:ono(o,o.message)}},stringify:function(r,e,o){try{var t=(\"string\"==typeof o?o.length:o)||2;return yaml.safeDump(r,{indent:t})}catch(n){throw n instanceof Error?n:ono(n,n.message)}}};\n\n  },{\"js-yaml\":38,\"ono\":69}],21:[function(require,module,exports){\n  \"use strict\";module.exports={order:100,canValidate:function(e){return!!e.resolved},validate:function(e){}};\n\n  },{}],22:[function(require,module,exports){\n  var lookup=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";!function(t){\"use strict\";function r(t){var r=t.charCodeAt(0);return r===h||r===u?62:r===c||r===f?63:o>r?-1:o+10>r?r-o+26+26:i+26>r?r-i:A+26>r?r-A+26:void 0}function e(t){function e(t){i[f++]=t}var n,h,c,o,A,i;if(t.length%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var u=t.length;A=\"=\"===t.charAt(u-2)?2:\"=\"===t.charAt(u-1)?1:0,i=new a(3*t.length/4-A),c=A>0?t.length-4:t.length;var f=0;for(n=0,h=0;c>n;n+=4,h+=3)o=r(t.charAt(n))<<18|r(t.charAt(n+1))<<12|r(t.charAt(n+2))<<6|r(t.charAt(n+3)),e((16711680&o)>>16),e((65280&o)>>8),e(255&o);return 2===A?(o=r(t.charAt(n))<<2|r(t.charAt(n+1))>>4,e(255&o)):1===A&&(o=r(t.charAt(n))<<10|r(t.charAt(n+1))<<4|r(t.charAt(n+2))>>2,e(o>>8&255),e(255&o)),i}function n(t){function r(t){return lookup.charAt(t)}function e(t){return r(t>>18&63)+r(t>>12&63)+r(t>>6&63)+r(63&t)}var n,a,h,c=t.length%3,o=\"\";for(n=0,h=t.length-c;h>n;n+=3)a=(t[n]<<16)+(t[n+1]<<8)+t[n+2],o+=e(a);switch(c){case 1:a=t[t.length-1],o+=r(a>>2),o+=r(a<<4&63),o+=\"==\";break;case 2:a=(t[t.length-2]<<8)+t[t.length-1],o+=r(a>>10),o+=r(a>>4&63),o+=r(a<<2&63),o+=\"=\"}return o}var a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,h=\"+\".charCodeAt(0),c=\"/\".charCodeAt(0),o=\"0\".charCodeAt(0),A=\"a\".charCodeAt(0),i=\"A\".charCodeAt(0),u=\"-\".charCodeAt(0),f=\"_\".charCodeAt(0);t.toByteArray=e,t.fromByteArray=n}(\"undefined\"==typeof exports?this.base64js={}:exports);\n\n  },{}],23:[function(require,module,exports){\n\n  },{}],24:[function(require,module,exports){\n\n  },{}],25:[function(require,module,exports){\n  (function (global){\n  /*!\n   * The buffer module from node.js, for the browser.\n   *\n   * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n   * @license  MIT\n   */\n  \"use strict\";function typedArraySupport(){function t(){}try{var e=new Uint8Array(1);return e.foo=function(){return 42},e.constructor=t,42===e.foo()&&e.constructor===t&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(r){return!1}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Buffer(t){return this instanceof Buffer?(Buffer.TYPED_ARRAY_SUPPORT||(this.length=0,this.parent=void 0),\"number\"==typeof t?fromNumber(this,t):\"string\"==typeof t?fromString(this,t,arguments.length>1?arguments[1]:\"utf8\"):fromObject(this,t)):arguments.length>1?new Buffer(t,arguments[1]):new Buffer(t)}function fromNumber(t,e){if(t=allocate(t,0>e?0:0|checked(e)),!Buffer.TYPED_ARRAY_SUPPORT)for(var r=0;e>r;r++)t[r]=0;return t}function fromString(t,e,r){\"string\"==typeof r&&\"\"!==r||(r=\"utf8\");var n=0|byteLength(e,r);return t=allocate(t,n),t.write(e,r),t}function fromObject(t,e){if(Buffer.isBuffer(e))return fromBuffer(t,e);if(isArray(e))return fromArray(t,e);if(null==e)throw new TypeError(\"must start with number, buffer, array or string\");if(\"undefined\"!=typeof ArrayBuffer){if(e.buffer instanceof ArrayBuffer)return fromTypedArray(t,e);if(e instanceof ArrayBuffer)return fromArrayBuffer(t,e)}return e.length?fromArrayLike(t,e):fromJsonObject(t,e)}function fromBuffer(t,e){var r=0|checked(e.length);return t=allocate(t,r),e.copy(t,0,0,r),t}function fromArray(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromTypedArray(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromArrayBuffer(t,e){return Buffer.TYPED_ARRAY_SUPPORT?(e.byteLength,t=Buffer._augment(new Uint8Array(e))):t=fromTypedArray(t,new Uint8Array(e)),t}function fromArrayLike(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromJsonObject(t,e){var r,n=0;\"Buffer\"===e.type&&isArray(e.data)&&(r=e.data,n=0|checked(r.length)),t=allocate(t,n);for(var f=0;n>f;f+=1)t[f]=255&r[f];return t}function allocate(t,e){Buffer.TYPED_ARRAY_SUPPORT?(t=Buffer._augment(new Uint8Array(e)),t.__proto__=Buffer.prototype):(t.length=e,t._isBuffer=!0);var r=0!==e&&e<=Buffer.poolSize>>>1;return r&&(t.parent=rootParent),t}function checked(t){if(t>=kMaxLength())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+kMaxLength().toString(16)+\" bytes\");return 0|t}function SlowBuffer(t,e){if(!(this instanceof SlowBuffer))return new SlowBuffer(t,e);var r=new Buffer(t,e);return delete r.parent,r}function byteLength(t,e){\"string\"!=typeof t&&(t=\"\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\"ascii\":case\"binary\":case\"raw\":case\"raws\":return r;case\"utf8\":case\"utf-8\":return utf8ToBytes(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return base64ToBytes(t).length;default:if(n)return utf8ToBytes(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function slowToString(t,e,r){var n=!1;if(e=0|e,r=void 0===r||r===1/0?this.length:0|r,t||(t=\"utf8\"),0>e&&(e=0),r>this.length&&(r=this.length),e>=r)return\"\";for(;;)switch(t){case\"hex\":return hexSlice(this,e,r);case\"utf8\":case\"utf-8\":return utf8Slice(this,e,r);case\"ascii\":return asciiSlice(this,e,r);case\"binary\":return binarySlice(this,e,r);case\"base64\":return base64Slice(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return utf16leSlice(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function hexWrite(t,e,r,n){r=Number(r)||0;var f=t.length-r;n?(n=Number(n),n>f&&(n=f)):n=f;var i=e.length;if(i%2!==0)throw new Error(\"Invalid hex string\");n>i/2&&(n=i/2);for(var o=0;n>o;o++){var u=parseInt(e.substr(2*o,2),16);if(isNaN(u))throw new Error(\"Invalid hex string\");t[r+o]=u}return o}function utf8Write(t,e,r,n){return blitBuffer(utf8ToBytes(e,t.length-r),t,r,n)}function asciiWrite(t,e,r,n){return blitBuffer(asciiToBytes(e),t,r,n)}function binaryWrite(t,e,r,n){return asciiWrite(t,e,r,n)}function base64Write(t,e,r,n){return blitBuffer(base64ToBytes(e),t,r,n)}function ucs2Write(t,e,r,n){return blitBuffer(utf16leToBytes(e,t.length-r),t,r,n)}function base64Slice(t,e,r){return 0===e&&r===t.length?base64.fromByteArray(t):base64.fromByteArray(t.slice(e,r))}function utf8Slice(t,e,r){r=Math.min(t.length,r);for(var n=[],f=e;r>f;){var i=t[f],o=null,u=i>239?4:i>223?3:i>191?2:1;if(r>=f+u){var s,a,h,c;switch(u){case 1:128>i&&(o=i);break;case 2:s=t[f+1],128===(192&s)&&(c=(31&i)<<6|63&s,c>127&&(o=c));break;case 3:s=t[f+1],a=t[f+2],128===(192&s)&&128===(192&a)&&(c=(15&i)<<12|(63&s)<<6|63&a,c>2047&&(55296>c||c>57343)&&(o=c));break;case 4:s=t[f+1],a=t[f+2],h=t[f+3],128===(192&s)&&128===(192&a)&&128===(192&h)&&(c=(15&i)<<18|(63&s)<<12|(63&a)<<6|63&h,c>65535&&1114112>c&&(o=c))}}null===o?(o=65533,u=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),f+=u}return decodeCodePointsArray(n)}function decodeCodePointsArray(t){var e=t.length;if(MAX_ARGUMENTS_LENGTH>=e)return String.fromCharCode.apply(String,t);for(var r=\"\",n=0;e>n;)r+=String.fromCharCode.apply(String,t.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var f=e;r>f;f++)n+=String.fromCharCode(127&t[f]);return n}function binarySlice(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var f=e;r>f;f++)n+=String.fromCharCode(t[f]);return n}function hexSlice(t,e,r){var n=t.length;(!e||0>e)&&(e=0),(!r||0>r||r>n)&&(r=n);for(var f=\"\",i=e;r>i;i++)f+=toHex(t[i]);return f}function utf16leSlice(t,e,r){for(var n=t.slice(e,r),f=\"\",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(t,e,r){if(t%1!==0||0>t)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function checkInt(t,e,r,n,f,i){if(!Buffer.isBuffer(t))throw new TypeError(\"buffer must be a Buffer instance\");if(e>f||i>e)throw new RangeError(\"value is out of bounds\");if(r+n>t.length)throw new RangeError(\"index out of range\")}function objectWriteUInt16(t,e,r,n){0>e&&(e=65535+e+1);for(var f=0,i=Math.min(t.length-r,2);i>f;f++)t[r+f]=(e&255<<8*(n?f:1-f))>>>8*(n?f:1-f)}function objectWriteUInt32(t,e,r,n){0>e&&(e=4294967295+e+1);for(var f=0,i=Math.min(t.length-r,4);i>f;f++)t[r+f]=e>>>8*(n?f:3-f)&255}function checkIEEE754(t,e,r,n,f,i){if(e>f||i>e)throw new RangeError(\"value is out of bounds\");if(r+n>t.length)throw new RangeError(\"index out of range\");if(0>r)throw new RangeError(\"index out of range\")}function writeFloat(t,e,r,n,f){return f||checkIEEE754(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(t,e,r,n,23,4),r+4}function writeDouble(t,e,r,n,f){return f||checkIEEE754(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(t,e,r,n,52,8),r+8}function base64clean(t){if(t=stringtrim(t).replace(INVALID_BASE64_RE,\"\"),t.length<2)return\"\";for(;t.length%4!==0;)t+=\"=\";return t}function stringtrim(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}function toHex(t){return 16>t?\"0\"+t.toString(16):t.toString(16)}function utf8ToBytes(t,e){e=e||1/0;for(var r,n=t.length,f=null,i=[],o=0;n>o;o++){if(r=t.charCodeAt(o),r>55295&&57344>r){if(!f){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(56320>r){(e-=3)>-1&&i.push(239,191,189),f=r;continue}r=(f-55296<<10|r-56320)+65536}else f&&(e-=3)>-1&&i.push(239,191,189);if(f=null,128>r){if((e-=1)<0)break;i.push(r)}else if(2048>r){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(65536>r){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(1114112>r))throw new Error(\"Invalid code point\");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(t){for(var e=[],r=0;r<t.length;r++)e.push(255&t.charCodeAt(r));return e}function utf16leToBytes(t,e){for(var r,n,f,i=[],o=0;o<t.length&&!((e-=2)<0);o++)r=t.charCodeAt(o),n=r>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(t){return base64.toByteArray(base64clean(t))}function blitBuffer(t,e,r,n){for(var f=0;n>f&&!(f+r>=e.length||f>=t.length);f++)e[f+r]=t[f];return f}var base64=require(\"base64-js\"),ieee754=require(\"ieee754\"),isArray=require(\"isarray\");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50,Buffer.poolSize=8192;var rootParent={};Buffer.TYPED_ARRAY_SUPPORT=void 0!==global.TYPED_ARRAY_SUPPORT?global.TYPED_ARRAY_SUPPORT:typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT?(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array):(Buffer.prototype.length=void 0,Buffer.prototype.parent=void 0),Buffer.isBuffer=function(t){return!(null==t||!t._isBuffer)},Buffer.compare=function(t,e){if(!Buffer.isBuffer(t)||!Buffer.isBuffer(e))throw new TypeError(\"Arguments must be Buffers\");if(t===e)return 0;for(var r=t.length,n=e.length,f=0,i=Math.min(r,n);i>f&&t[f]===e[f];)++f;return f!==i&&(r=t[f],n=e[f]),n>r?-1:r>n?1:0},Buffer.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"raw\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},Buffer.concat=function(t,e){if(!isArray(t))throw new TypeError(\"list argument must be an Array of Buffers.\");if(0===t.length)return new Buffer(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;r++)e+=t[r].length;var n=new Buffer(e),f=0;for(r=0;r<t.length;r++){var i=t[r];i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype.toString=function(){var t=0|this.length;return 0===t?\"\":0===arguments.length?utf8Slice(this,0,t):slowToString.apply(this,arguments)},Buffer.prototype.equals=function(t){if(!Buffer.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t?!0:0===Buffer.compare(this,t)},Buffer.prototype.inspect=function(){var t=\"\",e=exports.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\"hex\",0,e).match(/.{2}/g).join(\" \"),this.length>e&&(t+=\" ... \")),\"<Buffer \"+t+\">\"},Buffer.prototype.compare=function(t){if(!Buffer.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t?0:Buffer.compare(this,t)},Buffer.prototype.indexOf=function(t,e){function r(t,e,r){for(var n=-1,f=0;r+f<t.length;f++)if(t[r+f]===e[-1===n?0:f-n]){if(-1===n&&(n=f),f-n+1===e.length)return r+n}else n=-1;return-1}if(e>2147483647?e=2147483647:-2147483648>e&&(e=-2147483648),e>>=0,0===this.length)return-1;if(e>=this.length)return-1;if(0>e&&(e=Math.max(this.length+e,0)),\"string\"==typeof t)return 0===t.length?-1:String.prototype.indexOf.call(this,t,e);if(Buffer.isBuffer(t))return r(this,t,e);if(\"number\"==typeof t)return Buffer.TYPED_ARRAY_SUPPORT&&\"function\"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,t,e):r(this,[t],e);throw new TypeError(\"val must be string, number or Buffer\")},Buffer.prototype.get=function(t){return console.log(\".get() is deprecated. Access using array indexes instead.\"),this.readUInt8(t)},Buffer.prototype.set=function(t,e){return console.log(\".set() is deprecated. Access using array indexes instead.\"),this.writeUInt8(t,e)},Buffer.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else if(isFinite(e))e=0|e,isFinite(r)?(r=0|r,void 0===n&&(n=\"utf8\")):(n=r,r=void 0);else{var f=n;n=e,e=0|r,r=f}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(0>r||0>e)||e>this.length)throw new RangeError(\"attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var o=!1;;)switch(n){case\"hex\":return hexWrite(this,t,e,r);case\"utf8\":case\"utf-8\":return utf8Write(this,t,e,r);case\"ascii\":return asciiWrite(this,t,e,r);case\"binary\":return binaryWrite(this,t,e,r);case\"base64\":return base64Write(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ucs2Write(this,t,e,r);default:if(o)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),o=!0}},Buffer.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;Buffer.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,0>t?(t+=r,0>t&&(t=0)):t>r&&(t=r),0>e?(e+=r,0>e&&(e=0)):e>r&&(e=r),t>e&&(e=t);var n;if(Buffer.TYPED_ARRAY_SUPPORT)n=Buffer._augment(this.subarray(t,e));else{var f=e-t;n=new Buffer(f,void 0);for(var i=0;f>i;i++)n[i]=this[i+t]}return n.length&&(n.parent=this.parent||this),n},Buffer.prototype.readUIntLE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t],f=1,i=0;++i<e&&(f*=256);)n+=this[t+i]*f;return n},Buffer.prototype.readUIntBE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t+--e],f=1;e>0&&(f*=256);)n+=this[t+--e]*f;return n},Buffer.prototype.readUInt8=function(t,e){return e||checkOffset(t,1,this.length),this[t]},Buffer.prototype.readUInt16LE=function(t,e){return e||checkOffset(t,2,this.length),this[t]|this[t+1]<<8},Buffer.prototype.readUInt16BE=function(t,e){return e||checkOffset(t,2,this.length),this[t]<<8|this[t+1]},Buffer.prototype.readUInt32LE=function(t,e){return e||checkOffset(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Buffer.prototype.readUInt32BE=function(t,e){return e||checkOffset(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Buffer.prototype.readIntLE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t],f=1,i=0;++i<e&&(f*=256);)n+=this[t+i]*f;return f*=128,n>=f&&(n-=Math.pow(2,8*e)),n},Buffer.prototype.readIntBE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=e,f=1,i=this[t+--n];n>0&&(f*=256);)i+=this[t+--n]*f;return f*=128,i>=f&&(i-=Math.pow(2,8*e)),i},Buffer.prototype.readInt8=function(t,e){return e||checkOffset(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Buffer.prototype.readInt16LE=function(t,e){e||checkOffset(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(t,e){e||checkOffset(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(t,e){return e||checkOffset(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Buffer.prototype.readInt32BE=function(t,e){return e||checkOffset(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Buffer.prototype.readFloatLE=function(t,e){return e||checkOffset(t,4,this.length),ieee754.read(this,t,!0,23,4)},Buffer.prototype.readFloatBE=function(t,e){return e||checkOffset(t,4,this.length),ieee754.read(this,t,!1,23,4)},Buffer.prototype.readDoubleLE=function(t,e){return e||checkOffset(t,8,this.length),ieee754.read(this,t,!0,52,8)},Buffer.prototype.readDoubleBE=function(t,e){return e||checkOffset(t,8,this.length),ieee754.read(this,t,!1,52,8)},Buffer.prototype.writeUIntLE=function(t,e,r,n){t=+t,e=0|e,r=0|r,n||checkInt(this,t,e,r,Math.pow(2,8*r),0);var f=1,i=0;for(this[e]=255&t;++i<r&&(f*=256);)this[e+i]=t/f&255;return e+r},Buffer.prototype.writeUIntBE=function(t,e,r,n){t=+t,e=0|e,r=0|r,n||checkInt(this,t,e,r,Math.pow(2,8*r),0);var f=r-1,i=1;for(this[e+f]=255&t;--f>=0&&(i*=256);)this[e+f]=t/i&255;return e+r},Buffer.prototype.writeUInt8=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,1,255,0),Buffer.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},Buffer.prototype.writeUInt16LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):objectWriteUInt16(this,t,e,!0),e+2},Buffer.prototype.writeUInt16BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):objectWriteUInt16(this,t,e,!1),e+2},Buffer.prototype.writeUInt32LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):objectWriteUInt32(this,t,e,!0),e+4},Buffer.prototype.writeUInt32BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):objectWriteUInt32(this,t,e,!1),e+4},Buffer.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e=0|e,!n){var f=Math.pow(2,8*r-1);checkInt(this,t,e,r,f-1,-f)}var i=0,o=1,u=0>t?1:0;for(this[e]=255&t;++i<r&&(o*=256);)this[e+i]=(t/o>>0)-u&255;return e+r},Buffer.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e=0|e,!n){var f=Math.pow(2,8*r-1);checkInt(this,t,e,r,f-1,-f)}var i=r-1,o=1,u=0>t?1:0;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=(t/o>>0)-u&255;return e+r},Buffer.prototype.writeInt8=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),0>t&&(t=255+t+1),this[e]=255&t,e+1},Buffer.prototype.writeInt16LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):objectWriteUInt16(this,t,e,!0),e+2},Buffer.prototype.writeInt16BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):objectWriteUInt16(this,t,e,!1),e+2},Buffer.prototype.writeInt32LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):objectWriteUInt32(this,t,e,!0),e+4},Buffer.prototype.writeInt32BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,2147483647,-2147483648),0>t&&(t=4294967295+t+1),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):objectWriteUInt32(this,t,e,!1),e+4},Buffer.prototype.writeFloatLE=function(t,e,r){return writeFloat(this,t,e,!0,r)},Buffer.prototype.writeFloatBE=function(t,e,r){return writeFloat(this,t,e,!1,r)},Buffer.prototype.writeDoubleLE=function(t,e,r){return writeDouble(this,t,e,!0,r)},Buffer.prototype.writeDoubleBE=function(t,e,r){return writeDouble(this,t,e,!1,r)},Buffer.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&r>n&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(0>e)throw new RangeError(\"targetStart out of bounds\");if(0>r||r>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(0>n)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var f,i=n-r;if(this===t&&e>r&&n>e)for(f=i-1;f>=0;f--)t[f+e]=this[f+r];else if(1e3>i||!Buffer.TYPED_ARRAY_SUPPORT)for(f=0;i>f;f++)t[f+e]=this[f+r];else t._set(this.subarray(r,r+i),e);return i},Buffer.prototype.fill=function(t,e,r){if(t||(t=0),e||(e=0),r||(r=this.length),e>r)throw new RangeError(\"end < start\");if(r!==e&&0!==this.length){if(0>e||e>=this.length)throw new RangeError(\"start out of bounds\");if(0>r||r>this.length)throw new RangeError(\"end out of bounds\");var n;if(\"number\"==typeof t)for(n=e;r>n;n++)this[n]=t;else{var f=utf8ToBytes(t.toString()),i=f.length;for(n=e;r>n;n++)this[n]=f[n%i]}return this}},Buffer.prototype.toArrayBuffer=function(){if(\"undefined\"!=typeof Uint8Array){if(Buffer.TYPED_ARRAY_SUPPORT)return new Buffer(this).buffer;for(var t=new Uint8Array(this.length),e=0,r=t.length;r>e;e+=1)t[e]=this[e];return t.buffer}throw new TypeError(\"Buffer.toArrayBuffer not supported in this browser\")};var BP=Buffer.prototype;Buffer._augment=function(t){return t.constructor=Buffer,t._isBuffer=!0,t._set=t.set,t.get=BP.get,t.set=BP.set,t.write=BP.write,t.toString=BP.toString,t.toLocaleString=BP.toString,t.toJSON=BP.toJSON,t.equals=BP.equals,t.compare=BP.compare,t.indexOf=BP.indexOf,t.copy=BP.copy,t.slice=BP.slice,t.readUIntLE=BP.readUIntLE,t.readUIntBE=BP.readUIntBE,t.readUInt8=BP.readUInt8,t.readUInt16LE=BP.readUInt16LE,t.readUInt16BE=BP.readUInt16BE,t.readUInt32LE=BP.readUInt32LE,t.readUInt32BE=BP.readUInt32BE,t.readIntLE=BP.readIntLE,t.readIntBE=BP.readIntBE,t.readInt8=BP.readInt8,t.readInt16LE=BP.readInt16LE,t.readInt16BE=BP.readInt16BE,t.readInt32LE=BP.readInt32LE,t.readInt32BE=BP.readInt32BE,t.readFloatLE=BP.readFloatLE,t.readFloatBE=BP.readFloatBE,t.readDoubleLE=BP.readDoubleLE,t.readDoubleBE=BP.readDoubleBE,t.writeUInt8=BP.writeUInt8,t.writeUIntLE=BP.writeUIntLE,t.writeUIntBE=BP.writeUIntBE,t.writeUInt16LE=BP.writeUInt16LE,t.writeUInt16BE=BP.writeUInt16BE,t.writeUInt32LE=BP.writeUInt32LE,t.writeUInt32BE=BP.writeUInt32BE,t.writeIntLE=BP.writeIntLE,t.writeIntBE=BP.writeIntBE,t.writeInt8=BP.writeInt8,t.writeInt16LE=BP.writeInt16LE,t.writeInt16BE=BP.writeInt16BE,t.writeInt32LE=BP.writeInt32LE,t.writeInt32BE=BP.writeInt32BE,t.writeFloatLE=BP.writeFloatLE,t.writeFloatBE=BP.writeFloatBE,t.writeDoubleLE=BP.writeDoubleLE,t.writeDoubleBE=BP.writeDoubleBE,t.fill=BP.fill,t.inspect=BP.inspect,t.toArrayBuffer=BP.toArrayBuffer,t};var INVALID_BASE64_RE=/[^+\\/0-9A-Za-z-_]/g;\n\n  }).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n  },{\"base64-js\":22,\"ieee754\":34,\"isarray\":37}],26:[function(require,module,exports){\n  module.exports={100:\"Continue\",101:\"Switching Protocols\",102:\"Processing\",200:\"OK\",201:\"Created\",202:\"Accepted\",203:\"Non-Authoritative Information\",204:\"No Content\",205:\"Reset Content\",206:\"Partial Content\",207:\"Multi-Status\",208:\"Already Reported\",226:\"IM Used\",300:\"Multiple Choices\",301:\"Moved Permanently\",302:\"Found\",303:\"See Other\",304:\"Not Modified\",305:\"Use Proxy\",307:\"Temporary Redirect\",308:\"Permanent Redirect\",400:\"Bad Request\",401:\"Unauthorized\",402:\"Payment Required\",403:\"Forbidden\",404:\"Not Found\",405:\"Method Not Allowed\",406:\"Not Acceptable\",407:\"Proxy Authentication Required\",408:\"Request Timeout\",409:\"Conflict\",410:\"Gone\",411:\"Length Required\",412:\"Precondition Failed\",413:\"Payload Too Large\",414:\"URI Too Long\",415:\"Unsupported Media Type\",416:\"Range Not Satisfiable\",417:\"Expectation Failed\",418:\"I'm a teapot\",421:\"Misdirected Request\",422:\"Unprocessable Entity\",423:\"Locked\",424:\"Failed Dependency\",425:\"Unordered Collection\",426:\"Upgrade Required\",428:\"Precondition Required\",429:\"Too Many Requests\",431:\"Request Header Fields Too Large\",500:\"Internal Server Error\",501:\"Not Implemented\",502:\"Bad Gateway\",503:\"Service Unavailable\",504:\"Gateway Timeout\",505:\"HTTP Version Not Supported\",506:\"Variant Also Negotiates\",507:\"Insufficient Storage\",508:\"Loop Detected\",509:\"Bandwidth Limit Exceeded\",510:\"Not Extended\",511:\"Network Authentication Required\"};\n\n  },{}],27:[function(require,module,exports){\n  (function (process,global){\n  \"use strict\";var next=global.process&&process.nextTick||global.setImmediate||function(n){setTimeout(n,0)};module.exports=function(n,t){return n?void t.then(function(t){next(function(){n(null,t)})},function(t){next(function(){n(t)})}):t};\n\n  }).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n  },{\"_process\":71}],28:[function(require,module,exports){\n  (function (Buffer){\n  function isArray(r){return Array.isArray?Array.isArray(r):\"[object Array]\"===objectToString(r)}function isBoolean(r){return\"boolean\"==typeof r}function isNull(r){return null===r}function isNullOrUndefined(r){return null==r}function isNumber(r){return\"number\"==typeof r}function isString(r){return\"string\"==typeof r}function isSymbol(r){return\"symbol\"==typeof r}function isUndefined(r){return void 0===r}function isRegExp(r){return\"[object RegExp]\"===objectToString(r)}function isObject(r){return\"object\"==typeof r&&null!==r}function isDate(r){return\"[object Date]\"===objectToString(r)}function isError(r){return\"[object Error]\"===objectToString(r)||r instanceof Error}function isFunction(r){return\"function\"==typeof r}function isPrimitive(r){return null===r||\"boolean\"==typeof r||\"number\"==typeof r||\"string\"==typeof r||\"symbol\"==typeof r||\"undefined\"==typeof r}function objectToString(r){return Object.prototype.toString.call(r)}exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=Buffer.isBuffer;\n\n  }).call(this,{\"isBuffer\":require(\"../../is-buffer/index.js\")})\n\n  },{\"../../is-buffer/index.js\":36}],29:[function(require,module,exports){\n  function useColors(){return\"WebkitAppearance\"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31}function formatArgs(){var o=arguments,e=this.useColors;if(o[0]=(e?\"%c\":\"\")+this.namespace+(e?\" %c\":\" \")+o[0]+(e?\"%c \":\" \")+\"+\"+exports.humanize(this.diff),!e)return o;var r=\"color: \"+this.color;o=[o[0],r,\"color: inherit\"].concat(Array.prototype.slice.call(o,1));var t=0,s=0;return o[0].replace(/%[a-z%]/g,function(o){\"%%\"!==o&&(t++,\"%c\"===o&&(s=t))}),o.splice(s,0,r),o}function log(){return\"object\"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(o){try{null==o?exports.storage.removeItem(\"debug\"):exports.storage.debug=o}catch(e){}}function load(){var o;try{o=exports.storage.debug}catch(e){}return o}function localstorage(){try{return window.localStorage}catch(o){}}exports=module.exports=require(\"./debug\"),exports.log=log,exports.formatArgs=formatArgs,exports.save=save,exports.load=load,exports.useColors=useColors,exports.storage=\"undefined\"!=typeof chrome&&\"undefined\"!=typeof chrome.storage?chrome.storage.local:localstorage(),exports.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"],exports.formatters.j=function(o){return JSON.stringify(o)},exports.enable(load());\n\n  },{\"./debug\":30}],30:[function(require,module,exports){\n  function selectColor(){return exports.colors[prevColor++%exports.colors.length]}function debug(e){function r(){}function o(){var e=o,r=+new Date,s=r-(prevTime||r);e.diff=s,e.prev=prevTime,e.curr=r,prevTime=r,null==e.useColors&&(e.useColors=exports.useColors()),null==e.color&&e.useColors&&(e.color=selectColor());var t=Array.prototype.slice.call(arguments);t[0]=exports.coerce(t[0]),\"string\"!=typeof t[0]&&(t=[\"%o\"].concat(t));var n=0;t[0]=t[0].replace(/%([a-z%])/g,function(r,o){if(\"%%\"===r)return r;n++;var s=exports.formatters[o];if(\"function\"==typeof s){var p=t[n];r=s.call(e,p),t.splice(n,1),n--}return r}),\"function\"==typeof exports.formatArgs&&(t=exports.formatArgs.apply(e,t));var p=o.log||exports.log||console.log.bind(console);p.apply(e,t)}r.enabled=!1,o.enabled=!0;var s=exports.enabled(e)?o:r;return s.namespace=e,s}function enable(e){exports.save(e);for(var r=(e||\"\").split(/[\\s,]+/),o=r.length,s=0;o>s;s++)r[s]&&(e=r[s].replace(/\\*/g,\".*?\"),\"-\"===e[0]?exports.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):exports.names.push(new RegExp(\"^\"+e+\"$\")))}function disable(){exports.enable(\"\")}function enabled(e){var r,o;for(r=0,o=exports.skips.length;o>r;r++)if(exports.skips[r].test(e))return!1;for(r=0,o=exports.names.length;o>r;r++)if(exports.names[r].test(e))return!0;return!1}function coerce(e){return e instanceof Error?e.stack||e.message:e}exports=module.exports=debug,exports.coerce=coerce,exports.disable=disable,exports.enable=enable,exports.enabled=enabled,exports.humanize=require(\"ms\"),exports.names=[],exports.skips=[],exports.formatters={};var prevColor=0,prevTime;\n\n  },{\"ms\":68}],31:[function(require,module,exports){\n  (function (process,global){\n  /*!\n   * @overview es6-promise - a tiny implementation of Promises/A+.\n   * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n   * @license   Licensed under MIT license\n   *            See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE\n   * @version   3.1.2\n   */\n  (function(){\"use strict\";function t(t){return\"function\"==typeof t||\"object\"==typeof t&&null!==t}function e(t){return\"function\"==typeof t}function n(t){W=t}function r(t){H=t}function o(){return function(){process.nextTick(a)}}function i(){return function(){U(a)}}function s(){var t=0,e=new Q(a),n=document.createTextNode(\"\");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){t.port2.postMessage(0)}}function c(){return function(){setTimeout(a,1)}}function a(){for(var t=0;G>t;t+=2){var e=X[t],n=X[t+1];e(n),X[t]=void 0,X[t+1]=void 0}G=0}function f(){try{var t=require,e=t(\"vertx\");return U=e.runOnLoop||e.runOnContext,i()}catch(n){return c()}}function l(t,e){var n=this,r=n._state;if(r===et&&!t||r===nt&&!e)return this;var o=new this.constructor(p),i=n._result;if(r){var s=arguments[r-1];H(function(){C(r,o,s,i)})}else j(n,o,t,e);return o}function h(t){var e=this;if(t&&\"object\"==typeof t&&t.constructor===e)return t;var n=new e(p);return g(n,t),n}function p(){}function _(){return new TypeError(\"You cannot resolve a promise with itself\")}function v(){return new TypeError(\"A promises callback cannot return that same promise.\")}function d(t){try{return t.then}catch(e){return rt.error=e,rt}}function y(t,e,n,r){try{t.call(e,n,r)}catch(o){return o}}function m(t,e,n){H(function(t){var r=!1,o=y(n,e,function(n){r||(r=!0,e!==n?g(t,n):E(t,n))},function(e){r||(r=!0,S(t,e))},\"Settle: \"+(t._label||\" unknown promise\"));!r&&o&&(r=!0,S(t,o))},t)}function w(t,e){e._state===et?E(t,e._result):e._state===nt?S(t,e._result):j(e,void 0,function(e){g(t,e)},function(e){S(t,e)})}function b(t,n,r){n.constructor===t.constructor&&r===Z&&constructor.resolve===$?w(t,n):r===rt?S(t,rt.error):void 0===r?E(t,n):e(r)?m(t,n,r):E(t,n)}function g(e,n){e===n?S(e,_()):t(n)?b(e,n,d(n)):E(e,n)}function A(t){t._onerror&&t._onerror(t._result),T(t)}function E(t,e){t._state===tt&&(t._result=e,t._state=et,0!==t._subscribers.length&&H(T,t))}function S(t,e){t._state===tt&&(t._state=nt,t._result=e,H(A,t))}function j(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+et]=n,o[i+nt]=r,0===i&&t._state&&H(T,t)}function T(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r,o,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?C(n,r,o,i):o(i);t._subscribers.length=0}}function P(){this.error=null}function x(t,e){try{return t(e)}catch(n){return ot.error=n,ot}}function C(t,n,r,o){var i,s,u,c,a=e(r);if(a){if(i=x(r,o),i===ot?(c=!0,s=i.error,i=null):u=!0,n===i)return void S(n,v())}else i=o,u=!0;n._state!==tt||(a&&u?g(n,i):c?S(n,s):t===et?E(n,i):t===nt&&S(n,i))}function M(t,e){try{e(function(e){g(t,e)},function(e){S(t,e)})}catch(n){S(t,n)}}function O(t){return new ft(this,t).promise}function k(t){function e(t){g(o,t)}function n(t){S(o,t)}var r=this,o=new r(p);if(!B(t))return S(o,new TypeError(\"You must pass an array to race.\")),o;for(var i=t.length,s=0;o._state===tt&&i>s;s++)j(r.resolve(t[s]),void 0,e,n);return o}function Y(t){var e=this,n=new e(p);return S(n,t),n}function q(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}function F(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}function D(t){this._id=ct++,this._state=void 0,this._result=void 0,this._subscribers=[],p!==t&&(\"function\"!=typeof t&&q(),this instanceof D?M(this,t):F())}function K(t,e){this._instanceConstructor=t,this.promise=new t(p),Array.isArray(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?E(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&E(this.promise,this._result))):S(this.promise,this._validationError())}function L(){var t;if(\"undefined\"!=typeof global)t=global;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(e){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var n=t.Promise;n&&\"[object Promise]\"===Object.prototype.toString.call(n.resolve())&&!n.cast||(t.Promise=at)}var N;N=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)};var U,W,z,B=N,G=0,H=function(t,e){X[G]=t,X[G+1]=e,G+=2,2===G&&(W?W(a):z())},I=\"undefined\"!=typeof window?window:void 0,J=I||{},Q=J.MutationObserver||J.WebKitMutationObserver,R=\"undefined\"!=typeof process&&\"[object process]\"==={}.toString.call(process),V=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel,X=new Array(1e3);z=R?o():Q?s():V?u():void 0===I&&\"function\"==typeof require?f():c();var Z=l,$=h,tt=void 0,et=1,nt=2,rt=new P,ot=new P,it=O,st=k,ut=Y,ct=0,at=D;D.all=it,D.race=st,D.resolve=$,D.reject=ut,D._setScheduler=n,D._setAsap=r,D._asap=H,D.prototype={constructor:D,then:Z,\"catch\":function(t){return this.then(null,t)}};var ft=K;K.prototype._validationError=function(){return new Error(\"Array Methods must be provided an Array\")},K.prototype._enumerate=function(){for(var t=this.length,e=this._input,n=0;this._state===tt&&t>n;n++)this._eachEntry(e[n],n)},K.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,r=n.resolve;if(r===$){var o=d(t);if(o===Z&&t._state!==tt)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof o)this._remaining--,this._result[e]=t;else if(n===at){var i=new n(p);b(i,t,o),this._willSettleAt(i,e)}else this._willSettleAt(new n(function(e){e(t)}),e)}else this._willSettleAt(r(t),e)},K.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===tt&&(this._remaining--,t===nt?S(r,n):this._result[e]=n),0===this._remaining&&E(r,this._result)},K.prototype._willSettleAt=function(t,e){var n=this;j(t,void 0,function(t){n._settledAt(et,e,t)},function(t){n._settledAt(nt,e,t)})};var lt=L,ht={Promise:at,polyfill:lt};\"function\"==typeof define&&define.amd?define(function(){return ht}):\"undefined\"!=typeof module&&module.exports?module.exports=ht:\"undefined\"!=typeof this&&(this.ES6Promise=ht),lt()}).call(this);\n\n  }).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n  },{\"_process\":71}],32:[function(require,module,exports){\n  function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(e){return\"function\"==typeof e}function isNumber(e){return\"number\"==typeof e}function isObject(e){return\"object\"==typeof e&&null!==e}function isUndefined(e){return void 0===e}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(e){if(!isNumber(e)||0>e||isNaN(e))throw TypeError(\"n must be a positive number\");return this._maxListeners=e,this},EventEmitter.prototype.emit=function(e){var t,i,n,s,r,o;if(this._events||(this._events={}),\"error\"===e&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified \"error\" event.')}if(i=this._events[e],isUndefined(i))return!1;if(isFunction(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),i.apply(this,s)}else if(isObject(i))for(s=Array.prototype.slice.call(arguments,1),o=i.slice(),n=o.length,r=0;n>r;r++)o[r].apply(this,s);return!0},EventEmitter.prototype.addListener=function(e,t){var i;if(!isFunction(t))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",e,isFunction(t.listener)?t.listener:t),this._events[e]?isObject(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,isObject(this._events[e])&&!this._events[e].warned&&(i=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,i&&i>0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[e].length),\"function\"==typeof console.trace&&console.trace())),this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(e,t){function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}if(!isFunction(t))throw TypeError(\"listener must be a function\");var n=!1;return i.listener=t,this.on(e,i),this},EventEmitter.prototype.removeListener=function(e,t){var i,n,s,r;if(!isFunction(t))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[e])return this;if(i=this._events[e],s=i.length,n=-1,i===t||isFunction(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit(\"removeListener\",e,t);else if(isObject(i)){for(r=s;r-- >0;)if(i[r]===t||i[r].listener&&i[r].listener===t){n=r;break}if(0>n)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(n,1),this._events.removeListener&&this.emit(\"removeListener\",e,t)}return this},EventEmitter.prototype.removeAllListeners=function(e){var t,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)\"removeListener\"!==t&&this.removeAllListeners(t);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(i=this._events[e],isFunction(i))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},EventEmitter.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?isFunction(this._events[e])?[this._events[e]]:this._events[e].slice():[]},EventEmitter.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(isFunction(t))return 1;if(t)return t.length}return 0},EventEmitter.listenerCount=function(e,t){return e.listenerCount(t)};\n\n  },{}],33:[function(require,module,exports){\n  var http=require(\"http\"),https=module.exports;for(var key in http)http.hasOwnProperty(key)&&(https[key]=http[key]);https.request=function(t,e){return t||(t={}),t.scheme=\"https\",t.protocol=\"https:\",http.request.call(this,t,e)};\n\n  },{\"http\":87}],34:[function(require,module,exports){\n  exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=0>o||0===o&&0>1/o?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};\n\n  },{}],35:[function(require,module,exports){\n  \"function\"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t};\n\n  },{}],36:[function(require,module,exports){\n  module.exports=function(r){return!(null==r||!(r._isBuffer||r.constructor&&\"function\"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r)))};\n\n  },{}],37:[function(require,module,exports){\n  var toString={}.toString;module.exports=Array.isArray||function(r){return\"[object Array]\"==toString.call(r)};\n\n  },{}],38:[function(require,module,exports){\n  \"use strict\";var yaml=require(\"./lib/js-yaml.js\");module.exports=yaml;\n\n  },{\"./lib/js-yaml.js\":39}],39:[function(require,module,exports){\n  \"use strict\";function deprecated(e){return function(){throw new Error(\"Function \"+e+\" is deprecated and cannot be used.\")}}var loader=require(\"./js-yaml/loader\"),dumper=require(\"./js-yaml/dumper\");module.exports.Type=require(\"./js-yaml/type\"),module.exports.Schema=require(\"./js-yaml/schema\"),module.exports.FAILSAFE_SCHEMA=require(\"./js-yaml/schema/failsafe\"),module.exports.JSON_SCHEMA=require(\"./js-yaml/schema/json\"),module.exports.CORE_SCHEMA=require(\"./js-yaml/schema/core\"),module.exports.DEFAULT_SAFE_SCHEMA=require(\"./js-yaml/schema/default_safe\"),module.exports.DEFAULT_FULL_SCHEMA=require(\"./js-yaml/schema/default_full\"),module.exports.load=loader.load,module.exports.loadAll=loader.loadAll,module.exports.safeLoad=loader.safeLoad,module.exports.safeLoadAll=loader.safeLoadAll,module.exports.dump=dumper.dump,module.exports.safeDump=dumper.safeDump,module.exports.YAMLException=require(\"./js-yaml/exception\"),module.exports.MINIMAL_SCHEMA=require(\"./js-yaml/schema/failsafe\"),module.exports.SAFE_SCHEMA=require(\"./js-yaml/schema/default_safe\"),module.exports.DEFAULT_SCHEMA=require(\"./js-yaml/schema/default_full\"),module.exports.scan=deprecated(\"scan\"),module.exports.parse=deprecated(\"parse\"),module.exports.compose=deprecated(\"compose\"),module.exports.addConstructor=deprecated(\"addConstructor\");\n\n  },{\"./js-yaml/dumper\":41,\"./js-yaml/exception\":42,\"./js-yaml/loader\":43,\"./js-yaml/schema\":45,\"./js-yaml/schema/core\":46,\"./js-yaml/schema/default_full\":47,\"./js-yaml/schema/default_safe\":48,\"./js-yaml/schema/failsafe\":49,\"./js-yaml/schema/json\":50,\"./js-yaml/type\":51}],40:[function(require,module,exports){\n  \"use strict\";function isNothing(e){return\"undefined\"==typeof e||null===e}function isObject(e){return\"object\"==typeof e&&null!==e}function toArray(e){return Array.isArray(e)?e:isNothing(e)?[]:[e]}function extend(e,t){var r,o,n,i;if(t)for(i=Object.keys(t),r=0,o=i.length;o>r;r+=1)n=i[r],e[n]=t[n];return e}function repeat(e,t){var r,o=\"\";for(r=0;t>r;r+=1)o+=e;return o}function isNegativeZero(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}module.exports.isNothing=isNothing,module.exports.isObject=isObject,module.exports.toArray=toArray,module.exports.repeat=repeat,module.exports.isNegativeZero=isNegativeZero,module.exports.extend=extend;\n\n  },{}],41:[function(require,module,exports){\n  \"use strict\";function compileStyleMap(e,t){var n,i,r,E,o,l,a;if(null===t)return{};for(n={},i=Object.keys(t),r=0,E=i.length;E>r;r+=1)o=i[r],l=String(t[o]),\"!!\"===o.slice(0,2)&&(o=\"tag:yaml.org,2002:\"+o.slice(2)),a=e.compiledTypeMap[o],a&&_hasOwnProperty.call(a.styleAliases,l)&&(l=a.styleAliases[l]),n[o]=l;return n}function encodeHex(e){var t,n,i;if(t=e.toString(16).toUpperCase(),255>=e)n=\"x\",i=2;else if(65535>=e)n=\"u\",i=4;else{if(!(4294967295>=e))throw new YAMLException(\"code point within a string may not be greater than 0xFFFFFFFF\");n=\"U\",i=8}return\"\\\\\"+n+common.repeat(\"0\",i-t.length)+t}function State(e){this.schema=e.schema||DEFAULT_FULL_SCHEMA,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=common.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=compileStyleMap(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function indentString(e,t){for(var n,i=common.repeat(\" \",t),r=0,E=-1,o=\"\",l=e.length;l>r;)E=e.indexOf(\"\\n\",r),-1===E?(n=e.slice(r),r=l):(n=e.slice(r,E+1),r=E+1),n.length&&\"\\n\"!==n&&(o+=i),o+=n;return o}function generateNextLine(e,t){return\"\\n\"+common.repeat(\" \",e.indent*t)}function testImplicitResolving(e,t){var n,i,r;for(n=0,i=e.implicitTypes.length;i>n;n+=1)if(r=e.implicitTypes[n],r.resolve(t))return!0;return!1}function isWhitespace(e){return e===CHAR_SPACE||e===CHAR_TAB}function isPrintable(e){return e>=32&&126>=e||e>=161&&55295>=e&&8232!==e&&8233!==e||e>=57344&&65533>=e&&65279!==e||e>=65536&&1114111>=e}function isPlainSafe(e){return isPrintable(e)&&65279!==e&&e!==CHAR_COMMA&&e!==CHAR_LEFT_SQUARE_BRACKET&&e!==CHAR_RIGHT_SQUARE_BRACKET&&e!==CHAR_LEFT_CURLY_BRACKET&&e!==CHAR_RIGHT_CURLY_BRACKET&&e!==CHAR_COLON&&e!==CHAR_SHARP}function isPlainSafeFirst(e){return isPrintable(e)&&65279!==e&&!isWhitespace(e)&&e!==CHAR_MINUS&&e!==CHAR_QUESTION&&e!==CHAR_COLON&&e!==CHAR_COMMA&&e!==CHAR_LEFT_SQUARE_BRACKET&&e!==CHAR_RIGHT_SQUARE_BRACKET&&e!==CHAR_LEFT_CURLY_BRACKET&&e!==CHAR_RIGHT_CURLY_BRACKET&&e!==CHAR_SHARP&&e!==CHAR_AMPERSAND&&e!==CHAR_ASTERISK&&e!==CHAR_EXCLAMATION&&e!==CHAR_VERTICAL_LINE&&e!==CHAR_GREATER_THAN&&e!==CHAR_SINGLE_QUOTE&&e!==CHAR_DOUBLE_QUOTE&&e!==CHAR_PERCENT&&e!==CHAR_COMMERCIAL_AT&&e!==CHAR_GRAVE_ACCENT}function chooseScalarStyle(e,t,n,i,r){var E,o,l=!1,a=!1,s=-1!==i,c=-1,A=isPlainSafeFirst(e.charCodeAt(0))&&!isWhitespace(e.charCodeAt(e.length-1));if(t)for(E=0;E<e.length;E++){if(o=e.charCodeAt(E),!isPrintable(o))return STYLE_DOUBLE;A=A&&isPlainSafe(o)}else{for(E=0;E<e.length;E++){if(o=e.charCodeAt(E),o===CHAR_LINE_FEED)l=!0,s&&(a=a||E-c-1>i&&\" \"!==e[c+1],c=E);else if(!isPrintable(o))return STYLE_DOUBLE;A=A&&isPlainSafe(o)}a=a||s&&E-c-1>i&&\" \"!==e[c+1]}return l||a?\" \"===e[0]&&n>9?STYLE_DOUBLE:a?STYLE_FOLDED:STYLE_LITERAL:A&&!r(e)?STYLE_PLAIN:STYLE_SINGLE}function writeScalar(e,t,n,i){e.dump=function(){function r(t){return testImplicitResolving(e,t)}if(0===t.length)return\"''\";if(!e.noCompatMode&&-1!==DEPRECATED_BOOLEANS_SYNTAX.indexOf(t))return\"'\"+t+\"'\";var E=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-E),l=i||e.flowLevel>-1&&n>=e.flowLevel;switch(chooseScalarStyle(t,l,e.indent,o,r)){case STYLE_PLAIN:return t;case STYLE_SINGLE:return\"'\"+t.replace(/'/g,\"''\")+\"'\";case STYLE_LITERAL:return\"|\"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,E));case STYLE_FOLDED:return\">\"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,o),E));case STYLE_DOUBLE:return'\"'+escapeString(t,o)+'\"';default:throw new YAMLException(\"impossible error: invalid scalar style\")}}()}function blockHeader(e,t){var n=\" \"===e[0]?String(t):\"\",i=\"\\n\"===e[e.length-1],r=i&&(\"\\n\"===e[e.length-2]||\"\\n\"===e),E=r?\"+\":i?\"\":\"-\";return n+E+\"\\n\"}function dropEndingNewline(e){return\"\\n\"===e[e.length-1]?e.slice(0,-1):e}function foldString(e,t){for(var n,i,r=/(\\n+)([^\\n]*)/g,E=function(){var n=e.indexOf(\"\\n\");return n=-1!==n?n:e.length,r.lastIndex=n,foldLine(e.slice(0,n),t)}(),o=\"\\n\"===e[0]||\" \"===e[0];i=r.exec(e);){var l=i[1],a=i[2];n=\" \"===a[0],E+=l+(o||n||\"\"===a?\"\":\"\\n\")+foldLine(a,t),o=n}return E}function foldLine(e,t){if(\"\"===e||\" \"===e[0])return e;for(var n,i,r=/ [^ ]/g,E=0,o=0,l=0,a=\"\";n=r.exec(e);)l=n.index,l-E>t&&(i=o>E?o:l,a+=\"\\n\"+e.slice(E,i),E=i+1),o=l;return a+=\"\\n\",a+=e.length-E>t&&o>E?e.slice(E,o)+\"\\n\"+e.slice(o+1):e.slice(E),a.slice(1)}function escapeString(e){for(var t,n,i=\"\",r=0;r<e.length;r++)t=e.charCodeAt(r),n=ESCAPE_SEQUENCES[t],i+=!n&&isPrintable(t)?e[r]:n||encodeHex(t);return i}function writeFlowSequence(e,t,n){var i,r,E=\"\",o=e.tag;for(i=0,r=n.length;r>i;i+=1)writeNode(e,t,n[i],!1,!1)&&(0!==i&&(E+=\", \"),E+=e.dump);e.tag=o,e.dump=\"[\"+E+\"]\"}function writeBlockSequence(e,t,n,i){var r,E,o=\"\",l=e.tag;for(r=0,E=n.length;E>r;r+=1)writeNode(e,t+1,n[r],!0,!0)&&(i&&0===r||(o+=generateNextLine(e,t)),o+=\"- \"+e.dump);e.tag=l,e.dump=o||\"[]\"}function writeFlowMapping(e,t,n){var i,r,E,o,l,a=\"\",s=e.tag,c=Object.keys(n);for(i=0,r=c.length;r>i;i+=1)l=\"\",0!==i&&(l+=\", \"),E=c[i],o=n[E],writeNode(e,t,E,!1,!1)&&(e.dump.length>1024&&(l+=\"? \"),l+=e.dump+\": \",writeNode(e,t,o,!1,!1)&&(l+=e.dump,a+=l));e.tag=s,e.dump=\"{\"+a+\"}\"}function writeBlockMapping(e,t,n,i){var r,E,o,l,a,s,c=\"\",A=e.tag,u=Object.keys(n);if(e.sortKeys===!0)u.sort();else if(\"function\"==typeof e.sortKeys)u.sort(e.sortKeys);else if(e.sortKeys)throw new YAMLException(\"sortKeys must be a boolean or a function\");for(r=0,E=u.length;E>r;r+=1)s=\"\",i&&0===r||(s+=generateNextLine(e,t)),o=u[r],l=n[o],writeNode(e,t+1,o,!0,!0,!0)&&(a=null!==e.tag&&\"?\"!==e.tag||e.dump&&e.dump.length>1024,a&&(s+=e.dump&&CHAR_LINE_FEED===e.dump.charCodeAt(0)?\"?\":\"? \"),s+=e.dump,a&&(s+=generateNextLine(e,t)),writeNode(e,t+1,l,!0,a)&&(s+=e.dump&&CHAR_LINE_FEED===e.dump.charCodeAt(0)?\":\":\": \",s+=e.dump,c+=s));e.tag=A,e.dump=c||\"{}\"}function detectType(e,t,n){var i,r,E,o,l,a;for(r=n?e.explicitTypes:e.implicitTypes,E=0,o=r.length;o>E;E+=1)if(l=r[E],(l.instanceOf||l.predicate)&&(!l.instanceOf||\"object\"==typeof t&&t instanceof l.instanceOf)&&(!l.predicate||l.predicate(t))){if(e.tag=n?l.tag:\"?\",l.represent){if(a=e.styleMap[l.tag]||l.defaultStyle,\"[object Function]\"===_toString.call(l.represent))i=l.represent(t,a);else{if(!_hasOwnProperty.call(l.represent,a))throw new YAMLException(\"!<\"+l.tag+'> tag resolver accepts not \"'+a+'\" style');i=l.represent[a](t,a)}e.dump=i}return!0}return!1}function writeNode(e,t,n,i,r,E){e.tag=null,e.dump=n,detectType(e,n,!1)||detectType(e,n,!0);var o=_toString.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var l,a,s=\"[object Object]\"===o||\"[object Array]\"===o;if(s&&(l=e.duplicates.indexOf(n),a=-1!==l),(null!==e.tag&&\"?\"!==e.tag||a||2!==e.indent&&t>0)&&(r=!1),a&&e.usedDuplicates[l])e.dump=\"*ref_\"+l;else{if(s&&a&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),\"[object Object]\"===o)i&&0!==Object.keys(e.dump).length?(writeBlockMapping(e,t,e.dump,r),a&&(e.dump=\"&ref_\"+l+e.dump)):(writeFlowMapping(e,t,e.dump),a&&(e.dump=\"&ref_\"+l+\" \"+e.dump));else if(\"[object Array]\"===o)i&&0!==e.dump.length?(writeBlockSequence(e,t,e.dump,r),a&&(e.dump=\"&ref_\"+l+e.dump)):(writeFlowSequence(e,t,e.dump),a&&(e.dump=\"&ref_\"+l+\" \"+e.dump));else{if(\"[object String]\"!==o){if(e.skipInvalid)return!1;throw new YAMLException(\"unacceptable kind of an object to dump \"+o)}\"?\"!==e.tag&&writeScalar(e,e.dump,t,E)}null!==e.tag&&\"?\"!==e.tag&&(e.dump=\"!<\"+e.tag+\"> \"+e.dump)}return!0}function getDuplicateReferences(e,t){var n,i,r=[],E=[];for(inspectNode(e,r,E),n=0,i=E.length;i>n;n+=1)t.duplicates.push(r[E[n]]);t.usedDuplicates=new Array(i)}function inspectNode(e,t,n){var i,r,E;if(null!==e&&\"object\"==typeof e)if(r=t.indexOf(e),-1!==r)-1===n.indexOf(r)&&n.push(r);else if(t.push(e),Array.isArray(e))for(r=0,E=e.length;E>r;r+=1)inspectNode(e[r],t,n);else for(i=Object.keys(e),r=0,E=i.length;E>r;r+=1)inspectNode(e[i[r]],t,n)}function dump(e,t){t=t||{};var n=new State(t);return n.noRefs||getDuplicateReferences(e,n),writeNode(n,0,e,!0,!0)?n.dump+\"\\n\":\"\"}function safeDump(e,t){return dump(e,common.extend({schema:DEFAULT_SAFE_SCHEMA},t))}var common=require(\"./common\"),YAMLException=require(\"./exception\"),DEFAULT_FULL_SCHEMA=require(\"./schema/default_full\"),DEFAULT_SAFE_SCHEMA=require(\"./schema/default_safe\"),_toString=Object.prototype.toString,_hasOwnProperty=Object.prototype.hasOwnProperty,CHAR_TAB=9,CHAR_LINE_FEED=10,CHAR_SPACE=32,CHAR_EXCLAMATION=33,CHAR_DOUBLE_QUOTE=34,CHAR_SHARP=35,CHAR_PERCENT=37,CHAR_AMPERSAND=38,CHAR_SINGLE_QUOTE=39,CHAR_ASTERISK=42,CHAR_COMMA=44,CHAR_MINUS=45,CHAR_COLON=58,CHAR_GREATER_THAN=62,CHAR_QUESTION=63,CHAR_COMMERCIAL_AT=64,CHAR_LEFT_SQUARE_BRACKET=91,CHAR_RIGHT_SQUARE_BRACKET=93,CHAR_GRAVE_ACCENT=96,CHAR_LEFT_CURLY_BRACKET=123,CHAR_VERTICAL_LINE=124,CHAR_RIGHT_CURLY_BRACKET=125,ESCAPE_SEQUENCES={};ESCAPE_SEQUENCES[0]=\"\\\\0\",ESCAPE_SEQUENCES[7]=\"\\\\a\",ESCAPE_SEQUENCES[8]=\"\\\\b\",ESCAPE_SEQUENCES[9]=\"\\\\t\",ESCAPE_SEQUENCES[10]=\"\\\\n\",ESCAPE_SEQUENCES[11]=\"\\\\v\",ESCAPE_SEQUENCES[12]=\"\\\\f\",ESCAPE_SEQUENCES[13]=\"\\\\r\",ESCAPE_SEQUENCES[27]=\"\\\\e\",ESCAPE_SEQUENCES[34]='\\\\\"',ESCAPE_SEQUENCES[92]=\"\\\\\\\\\",ESCAPE_SEQUENCES[133]=\"\\\\N\",ESCAPE_SEQUENCES[160]=\"\\\\_\",ESCAPE_SEQUENCES[8232]=\"\\\\L\",ESCAPE_SEQUENCES[8233]=\"\\\\P\";var DEPRECATED_BOOLEANS_SYNTAX=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"],STYLE_PLAIN=1,STYLE_SINGLE=2,STYLE_LITERAL=3,STYLE_FOLDED=4,STYLE_DOUBLE=5;module.exports.dump=dump,module.exports.safeDump=safeDump;\n\n  },{\"./common\":40,\"./exception\":42,\"./schema/default_full\":47,\"./schema/default_safe\":48}],42:[function(require,module,exports){\n  \"use strict\";function YAMLException(t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\",this.name=\"YAMLException\",this.reason=t,this.mark=r,this.message=(this.reason||\"(unknown reason)\")+(this.mark?\" \"+this.mark.toString():\"\")}YAMLException.prototype=Object.create(Error.prototype),YAMLException.prototype.constructor=YAMLException,YAMLException.prototype.toString=function(t){var r=this.name+\": \";return r+=this.reason||\"(unknown reason)\",!t&&this.mark&&(r+=\" \"+this.mark.toString()),r},module.exports=YAMLException;\n\n  },{}],43:[function(require,module,exports){\n  \"use strict\";function is_EOL(e){return 10===e||13===e}function is_WHITE_SPACE(e){return 9===e||32===e}function is_WS_OR_EOL(e){return 9===e||32===e||10===e||13===e}function is_FLOW_INDICATOR(e){return 44===e||91===e||93===e||123===e||125===e}function fromHexCode(e){var t;return e>=48&&57>=e?e-48:(t=32|e,t>=97&&102>=t?t-97+10:-1)}function escapedHexLen(e){return 120===e?2:117===e?4:85===e?8:0}function fromDecimalCode(e){return e>=48&&57>=e?e-48:-1}function simpleEscapeSequence(e){return 48===e?\"\\x00\":97===e?\"\u0007\":98===e?\"\\b\":116===e?\"   \":9===e?\"   \":110===e?\"\\n\":118===e?\"\\x0B\":102===e?\"\\f\":114===e?\"\\r\":101===e?\"\u001b\":32===e?\" \":34===e?'\"':47===e?\"/\":92===e?\"\\\\\":78===e?\"\":95===e?\" \":76===e?\"\\u2028\":80===e?\"\\u2029\":\"\"}function charFromCodepoint(e){return 65535>=e?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function State(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||DEFAULT_FULL_SCHEMA,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function generateError(e,t){return new YAMLException(t,new Mark(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){e.onWarning&&e.onWarning.call(null,generateError(e,t))}function captureSegment(e,t,n,i){var o,r,a,s;if(n>t){if(s=e.input.slice(t,n),i)for(o=0,r=s.length;r>o;o+=1)a=s.charCodeAt(o),9===a||a>=32&&1114111>=a||throwError(e,\"expected valid JSON character\");else PATTERN_NON_PRINTABLE.test(s)&&throwError(e,\"the stream contains non-printable characters\");e.result+=s}}function mergeMappings(e,t,n,i){var o,r,a,s;for(common.isObject(n)||throwError(e,\"cannot merge mappings; the provided source object is unacceptable\"),o=Object.keys(n),a=0,s=o.length;s>a;a+=1)r=o[a],_hasOwnProperty.call(t,r)||(t[r]=n[r],i[r]=!0)}function storeMappingPair(e,t,n,i,o,r){var a,s;if(o=String(o),null===t&&(t={}),\"tag:yaml.org,2002:merge\"===i)if(Array.isArray(r))for(a=0,s=r.length;s>a;a+=1)mergeMappings(e,t,r[a],n);else mergeMappings(e,t,r,n);else e.json||_hasOwnProperty.call(n,o)||!_hasOwnProperty.call(t,o)||throwError(e,\"duplicated mapping key\"),t[o]=r,delete n[o];return t}function readLineBreak(e){var t;t=e.input.charCodeAt(e.position),10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):throwError(e,\"a line break is expected\"),e.line+=1,e.lineStart=e.position}function skipSeparationSpace(e,t,n){for(var i=0,o=e.input.charCodeAt(e.position);0!==o;){for(;is_WHITE_SPACE(o);)o=e.input.charCodeAt(++e.position);if(t&&35===o)do o=e.input.charCodeAt(++e.position);while(10!==o&&13!==o&&0!==o);if(!is_EOL(o))break;for(readLineBreak(e),o=e.input.charCodeAt(e.position),i++,e.lineIndent=0;32===o;)e.lineIndent++,o=e.input.charCodeAt(++e.position)}return-1!==n&&0!==i&&e.lineIndent<n&&throwWarning(e,\"deficient indentation\"),i}function testDocumentSeparator(e){var t,n=e.position;return t=e.input.charCodeAt(n),(45===t||46===t)&&t===e.input.charCodeAt(n+1)&&t===e.input.charCodeAt(n+2)&&(n+=3,t=e.input.charCodeAt(n),0===t||is_WS_OR_EOL(t))}function writeFoldedLines(e,t){1===t?e.result+=\" \":t>1&&(e.result+=common.repeat(\"\\n\",t-1))}function readPlainScalar(e,t,n){var i,o,r,a,s,p,c,l,u,d=e.kind,h=e.result;if(u=e.input.charCodeAt(e.position),is_WS_OR_EOL(u)||is_FLOW_INDICATOR(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)||n&&is_FLOW_INDICATOR(o)))return!1;for(e.kind=\"scalar\",e.result=\"\",r=a=e.position,s=!1;0!==u;){if(58===u){if(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)||n&&is_FLOW_INDICATOR(o))break}else if(35===u){if(i=e.input.charCodeAt(e.position-1),is_WS_OR_EOL(i))break}else{if(e.position===e.lineStart&&testDocumentSeparator(e)||n&&is_FLOW_INDICATOR(u))break;if(is_EOL(u)){if(p=e.line,c=e.lineStart,l=e.lineIndent,skipSeparationSpace(e,!1,-1),e.lineIndent>=t){s=!0,u=e.input.charCodeAt(e.position);continue}e.position=a,e.line=p,e.lineStart=c,e.lineIndent=l;break}}s&&(captureSegment(e,r,a,!1),writeFoldedLines(e,e.line-p),r=a=e.position,s=!1),is_WHITE_SPACE(u)||(a=e.position+1),u=e.input.charCodeAt(++e.position)}return captureSegment(e,r,a,!1),e.result?!0:(e.kind=d,e.result=h,!1)}function readSingleQuotedScalar(e,t){var n,i,o;if(n=e.input.charCodeAt(e.position),39!==n)return!1;for(e.kind=\"scalar\",e.result=\"\",e.position++,i=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(captureSegment(e,i,e.position,!0),n=e.input.charCodeAt(++e.position),39!==n)return!0;i=o=e.position,e.position++}else is_EOL(n)?(captureSegment(e,i,o,!0),writeFoldedLines(e,skipSeparationSpace(e,!1,t)),i=o=e.position):e.position===e.lineStart&&testDocumentSeparator(e)?throwError(e,\"unexpected end of the document within a single quoted scalar\"):(e.position++,o=e.position);throwError(e,\"unexpected end of the stream within a single quoted scalar\")}function readDoubleQuotedScalar(e,t){var n,i,o,r,a,s;if(s=e.input.charCodeAt(e.position),34!==s)return!1;for(e.kind=\"scalar\",e.result=\"\",e.position++,n=i=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return captureSegment(e,n,e.position,!0),e.position++,!0;if(92===s){if(captureSegment(e,n,e.position,!0),s=e.input.charCodeAt(++e.position),is_EOL(s))skipSeparationSpace(e,!1,t);else if(256>s&&simpleEscapeCheck[s])e.result+=simpleEscapeMap[s],e.position++;else if((a=escapedHexLen(s))>0){for(o=a,r=0;o>0;o--)s=e.input.charCodeAt(++e.position),(a=fromHexCode(s))>=0?r=(r<<4)+a:throwError(e,\"expected hexadecimal character\");e.result+=charFromCodepoint(r),e.position++}else throwError(e,\"unknown escape sequence\");n=i=e.position}else is_EOL(s)?(captureSegment(e,n,i,!0),writeFoldedLines(e,skipSeparationSpace(e,!1,t)),n=i=e.position):e.position===e.lineStart&&testDocumentSeparator(e)?throwError(e,\"unexpected end of the document within a double quoted scalar\"):(e.position++,i=e.position)}throwError(e,\"unexpected end of the stream within a double quoted scalar\")}function readFlowCollection(e,t){var n,i,o,r,a,s,p,c,l,u,d,h=!0,f=e.tag,_=e.anchor,A={};if(d=e.input.charCodeAt(e.position),91===d)r=93,p=!1,i=[];else{if(123!==d)return!1;r=125,p=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),d=e.input.charCodeAt(++e.position);0!==d;){if(skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),d===r)return e.position++,e.tag=f,e.anchor=_,e.kind=p?\"mapping\":\"sequence\",e.result=i,!0;h||throwError(e,\"missed comma between flow collection entries\"),l=c=u=null,a=s=!1,63===d&&(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)&&(a=s=!0,e.position++,skipSeparationSpace(e,!0,t))),n=e.line,composeNode(e,t,CONTEXT_FLOW_IN,!1,!0),l=e.tag,c=e.result,skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),!s&&e.line!==n||58!==d||(a=!0,d=e.input.charCodeAt(++e.position),skipSeparationSpace(e,!0,t),composeNode(e,t,CONTEXT_FLOW_IN,!1,!0),u=e.result),p?storeMappingPair(e,i,A,l,c,u):a?i.push(storeMappingPair(e,null,A,l,c,u)):i.push(c),skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),44===d?(h=!0,d=e.input.charCodeAt(++e.position)):h=!1}throwError(e,\"unexpected end of the stream within a flow collection\")}function readBlockScalar(e,t){var n,i,o,r,a=CHOMPING_CLIP,s=!1,p=!1,c=t,l=0,u=!1;if(r=e.input.charCodeAt(e.position),124===r)i=!1;else{if(62!==r)return!1;i=!0}for(e.kind=\"scalar\",e.result=\"\";0!==r;)if(r=e.input.charCodeAt(++e.position),43===r||45===r)CHOMPING_CLIP===a?a=43===r?CHOMPING_KEEP:CHOMPING_STRIP:throwError(e,\"repeat of a chomping mode identifier\");else{if(!((o=fromDecimalCode(r))>=0))break;0===o?throwError(e,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):p?throwError(e,\"repeat of an indentation width identifier\"):(c=t+o-1,p=!0)}if(is_WHITE_SPACE(r)){do r=e.input.charCodeAt(++e.position);while(is_WHITE_SPACE(r));if(35===r)do r=e.input.charCodeAt(++e.position);while(!is_EOL(r)&&0!==r)}for(;0!==r;){for(readLineBreak(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!p||e.lineIndent<c)&&32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position);if(!p&&e.lineIndent>c&&(c=e.lineIndent),is_EOL(r))l++;else{if(e.lineIndent<c){a===CHOMPING_KEEP?e.result+=common.repeat(\"\\n\",s?1+l:l):a===CHOMPING_CLIP&&s&&(e.result+=\"\\n\");break}for(i?is_WHITE_SPACE(r)?(u=!0,e.result+=common.repeat(\"\\n\",s?1+l:l)):u?(u=!1,e.result+=common.repeat(\"\\n\",l+1)):0===l?s&&(e.result+=\" \"):e.result+=common.repeat(\"\\n\",l):e.result+=common.repeat(\"\\n\",s?1+l:l),s=!0,p=!0,l=0,n=e.position;!is_EOL(r)&&0!==r;)r=e.input.charCodeAt(++e.position);captureSegment(e,n,e.position,!1)}}return!0}function readBlockSequence(e,t){var n,i,o,r=e.tag,a=e.anchor,s=[],p=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),o=e.input.charCodeAt(e.position);0!==o&&45===o&&(i=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(i));)if(p=!0,e.position++,skipSeparationSpace(e,!0,-1)&&e.lineIndent<=t)s.push(null),o=e.input.charCodeAt(e.position);else if(n=e.line,composeNode(e,t,CONTEXT_BLOCK_IN,!1,!0),s.push(e.result),skipSeparationSpace(e,!0,-1),o=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==o)throwError(e,\"bad indentation of a sequence entry\");else if(e.lineIndent<t)break;return p?(e.tag=r,e.anchor=a,e.kind=\"sequence\",e.result=s,!0):!1}function readBlockMapping(e,t,n){var i,o,r,a,s=e.tag,p=e.anchor,c={},l={},u=null,d=null,h=null,f=!1,_=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=c),a=e.input.charCodeAt(e.position);0!==a;){if(i=e.input.charCodeAt(e.position+1),r=e.line,63!==a&&58!==a||!is_WS_OR_EOL(i)){if(!composeNode(e,n,CONTEXT_FLOW_OUT,!1,!0))break;if(e.line===r){for(a=e.input.charCodeAt(e.position);is_WHITE_SPACE(a);)a=e.input.charCodeAt(++e.position);if(58===a)a=e.input.charCodeAt(++e.position),is_WS_OR_EOL(a)||throwError(e,\"a whitespace character is expected after the key-value separator within a block mapping\"),f&&(storeMappingPair(e,c,l,u,d,null),u=d=h=null),_=!0,f=!1,o=!1,u=e.tag,d=e.result;else{if(!_)return e.tag=s,e.anchor=p,!0;throwError(e,\"can not read an implicit mapping pair; a colon is missed\")}}else{if(!_)return e.tag=s,e.anchor=p,!0;throwError(e,\"can not read a block mapping entry; a multiline key may not be an implicit key\")}}else 63===a?(f&&(storeMappingPair(e,c,l,u,d,null),u=d=h=null),_=!0,f=!0,o=!0):f?(f=!1,o=!0):throwError(e,\"incomplete explicit mapping pair; a key node is missed\"),e.position+=1,a=i;if((e.line===r||e.lineIndent>t)&&(composeNode(e,t,CONTEXT_BLOCK_OUT,!0,o)&&(f?d=e.result:h=e.result),f||(storeMappingPair(e,c,l,u,d,h),u=d=h=null),skipSeparationSpace(e,!0,-1),a=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==a)throwError(e,\"bad indentation of a mapping entry\");else if(e.lineIndent<t)break}return f&&storeMappingPair(e,c,l,u,d,null),_&&(e.tag=s,e.anchor=p,e.kind=\"mapping\",e.result=c),_}function readTagProperty(e){var t,n,i,o,r=!1,a=!1;if(o=e.input.charCodeAt(e.position),33!==o)return!1;if(null!==e.tag&&throwError(e,\"duplication of a tag property\"),o=e.input.charCodeAt(++e.position),60===o?(r=!0,o=e.input.charCodeAt(++e.position)):33===o?(a=!0,n=\"!!\",o=e.input.charCodeAt(++e.position)):n=\"!\",t=e.position,r){do o=e.input.charCodeAt(++e.position);while(0!==o&&62!==o);e.position<e.length?(i=e.input.slice(t,e.position),o=e.input.charCodeAt(++e.position)):throwError(e,\"unexpected end of the stream within a verbatim tag\")}else{for(;0!==o&&!is_WS_OR_EOL(o);)33===o&&(a?throwError(e,\"tag suffix cannot contain exclamation marks\"):(n=e.input.slice(t-1,e.position+1),PATTERN_TAG_HANDLE.test(n)||throwError(e,\"named tag handle cannot contain such characters\"),a=!0,t=e.position+1)),o=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),PATTERN_FLOW_INDICATORS.test(i)&&throwError(e,\"tag suffix cannot contain flow indicator characters\")}return i&&!PATTERN_TAG_URI.test(i)&&throwError(e,\"tag name cannot contain such characters: \"+i),r?e.tag=i:_hasOwnProperty.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:\"!\"===n?e.tag=\"!\"+i:\"!!\"===n?e.tag=\"tag:yaml.org,2002:\"+i:throwError(e,'undeclared tag handle \"'+n+'\"'),!0}function readAnchorProperty(e){var t,n;if(n=e.input.charCodeAt(e.position),38!==n)return!1;for(null!==e.anchor&&throwError(e,\"duplication of an anchor property\"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!is_WS_OR_EOL(n)&&!is_FLOW_INDICATOR(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&throwError(e,\"name of an anchor node must contain at least one character\"),e.anchor=e.input.slice(t,e.position),!0}function readAlias(e){var t,n,i;if(i=e.input.charCodeAt(e.position),42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!is_WS_OR_EOL(i)&&!is_FLOW_INDICATOR(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&throwError(e,\"name of an alias node must contain at least one character\"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||throwError(e,'unidentified alias \"'+n+'\"'),e.result=e.anchorMap[n],skipSeparationSpace(e,!0,-1),!0}function composeNode(e,t,n,i,o){var r,a,s,p,c,l,u,d,h=1,f=!1,_=!1;if(null!==e.listener&&e.listener(\"open\",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,r=a=s=CONTEXT_BLOCK_OUT===n||CONTEXT_BLOCK_IN===n,i&&skipSeparationSpace(e,!0,-1)&&(f=!0,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)),1===h)for(;readTagProperty(e)||readAnchorProperty(e);)skipSeparationSpace(e,!0,-1)?(f=!0,s=r,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)):s=!1;if(s&&(s=f||o),1!==h&&CONTEXT_BLOCK_OUT!==n||(u=CONTEXT_FLOW_IN===n||CONTEXT_FLOW_OUT===n?t:t+1,d=e.position-e.lineStart,1===h?s&&(readBlockSequence(e,d)||readBlockMapping(e,d,u))||readFlowCollection(e,u)?_=!0:(a&&readBlockScalar(e,u)||readSingleQuotedScalar(e,u)||readDoubleQuotedScalar(e,u)?_=!0:readAlias(e)?(_=!0,null===e.tag&&null===e.anchor||throwError(e,\"alias node should not have any properties\")):readPlainScalar(e,u,CONTEXT_FLOW_IN===n)&&(_=!0,null===e.tag&&(e.tag=\"?\")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===h&&(_=s&&readBlockSequence(e,d))),null!==e.tag&&\"!\"!==e.tag)if(\"?\"===e.tag){for(p=0,c=e.implicitTypes.length;c>p;p+=1)if(l=e.implicitTypes[p],l.resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else _hasOwnProperty.call(e.typeMap,e.tag)?(l=e.typeMap[e.tag],null!==e.result&&l.kind!==e.kind&&throwError(e,\"unacceptable node kind for !<\"+e.tag+'> tag; it should be \"'+l.kind+'\", not \"'+e.kind+'\"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):throwError(e,\"cannot resolve a node with !<\"+e.tag+\"> explicit tag\")):throwError(e,\"unknown tag !<\"+e.tag+\">\");return null!==e.listener&&e.listener(\"close\",e),null!==e.tag||null!==e.anchor||_}function readDocument(e){var t,n,i,o,r=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(o=e.input.charCodeAt(e.position))&&(skipSeparationSpace(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==o));){for(a=!0,o=e.input.charCodeAt(++e.position),t=e.position;0!==o&&!is_WS_OR_EOL(o);)o=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&throwError(e,\"directive name must not be less than one character in length\");0!==o;){for(;is_WHITE_SPACE(o);)o=e.input.charCodeAt(++e.position);if(35===o){do o=e.input.charCodeAt(++e.position);while(0!==o&&!is_EOL(o));break}if(is_EOL(o))break;for(t=e.position;0!==o&&!is_WS_OR_EOL(o);)o=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==o&&readLineBreak(e),_hasOwnProperty.call(directiveHandlers,n)?directiveHandlers[n](e,n,i):throwWarning(e,'unknown document directive \"'+n+'\"')}return skipSeparationSpace(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,skipSeparationSpace(e,!0,-1)):a&&throwError(e,\"directives end mark is expected\"),composeNode(e,e.lineIndent-1,CONTEXT_BLOCK_OUT,!1,!0),skipSeparationSpace(e,!0,-1),e.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(e.input.slice(r,e.position))&&throwWarning(e,\"non-ASCII line breaks are interpreted as content\"),e.documents.push(e.result),e.position===e.lineStart&&testDocumentSeparator(e)?void(46===e.input.charCodeAt(e.position)&&(e.position+=3,skipSeparationSpace(e,!0,-1))):void(e.position<e.length-1&&throwError(e,\"end of the stream or a document separator is expected\"))}function loadDocuments(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+=\"\\n\"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new State(e,t);for(n.input+=\"\\x00\";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)readDocument(n);return n.documents}function loadAll(e,t,n){var i,o,r=loadDocuments(e,n);for(i=0,o=r.length;o>i;i+=1)t(r[i])}function load(e,t){var n=loadDocuments(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new YAMLException(\"expected a single document in the stream, but found more\")}}function safeLoadAll(e,t,n){loadAll(e,t,common.extend({schema:DEFAULT_SAFE_SCHEMA},n))}function safeLoad(e,t){return load(e,common.extend({schema:DEFAULT_SAFE_SCHEMA},t))}for(var common=require(\"./common\"),YAMLException=require(\"./exception\"),Mark=require(\"./mark\"),DEFAULT_SAFE_SCHEMA=require(\"./schema/default_safe\"),DEFAULT_FULL_SCHEMA=require(\"./schema/default_full\"),_hasOwnProperty=Object.prototype.hasOwnProperty,CONTEXT_FLOW_IN=1,CONTEXT_FLOW_OUT=2,CONTEXT_BLOCK_IN=3,CONTEXT_BLOCK_OUT=4,CHOMPING_CLIP=1,CHOMPING_STRIP=2,CHOMPING_KEEP=3,PATTERN_NON_PRINTABLE=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,PATTERN_NON_ASCII_LINE_BREAKS=/[\\x85\\u2028\\u2029]/,PATTERN_FLOW_INDICATORS=/[,\\[\\]\\{\\}]/,PATTERN_TAG_HANDLE=/^(?:!|!!|![a-z\\-]+!)$/i,PATTERN_TAG_URI=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i,simpleEscapeCheck=new Array(256),simpleEscapeMap=new Array(256),i=0;256>i;i++)simpleEscapeCheck[i]=simpleEscapeSequence(i)?1:0,simpleEscapeMap[i]=simpleEscapeSequence(i);var directiveHandlers={YAML:function(e,t,n){var i,o,r;null!==e.version&&throwError(e,\"duplication of %YAML directive\"),1!==n.length&&throwError(e,\"YAML directive accepts exactly one argument\"),i=/^([0-9]+)\\.([0-9]+)$/.exec(n[0]),null===i&&throwError(e,\"ill-formed argument of the YAML directive\"),o=parseInt(i[1],10),r=parseInt(i[2],10),1!==o&&throwError(e,\"unacceptable YAML version of the document\"),e.version=n[0],e.checkLineBreaks=2>r,1!==r&&2!==r&&throwWarning(e,\"unsupported YAML version of the document\")},TAG:function(e,t,n){var i,o;2!==n.length&&throwError(e,\"TAG directive accepts exactly two arguments\"),i=n[0],o=n[1],PATTERN_TAG_HANDLE.test(i)||throwError(e,\"ill-formed tag handle (first argument) of the TAG directive\"),_hasOwnProperty.call(e.tagMap,i)&&throwError(e,'there is a previously declared suffix for \"'+i+'\" tag handle'),PATTERN_TAG_URI.test(o)||throwError(e,\"ill-formed tag prefix (second argument) of the TAG directive\"),e.tagMap[i]=o}};module.exports.loadAll=loadAll,module.exports.load=load,module.exports.safeLoadAll=safeLoadAll,module.exports.safeLoad=safeLoad;\n\n  },{\"./common\":40,\"./exception\":42,\"./mark\":44,\"./schema/default_full\":47,\"./schema/default_safe\":48}],44:[function(require,module,exports){\n  \"use strict\";function Mark(t,i,n,e,r){this.name=t,this.buffer=i,this.position=n,this.line=e,this.column=r}var common=require(\"./common\");Mark.prototype.getSnippet=function(t,i){var n,e,r,o,s;if(!this.buffer)return null;for(t=t||4,i=i||75,n=\"\",e=this.position;e>0&&-1===\"\\x00\\r\\n\\u2028\\u2029\".indexOf(this.buffer.charAt(e-1));)if(e-=1,this.position-e>i/2-1){n=\" ... \",e+=5;break}for(r=\"\",o=this.position;o<this.buffer.length&&-1===\"\\x00\\r\\n\\u2028\\u2029\".indexOf(this.buffer.charAt(o));)if(o+=1,o-this.position>i/2-1){r=\" ... \",o-=5;break}return s=this.buffer.slice(e,o),common.repeat(\" \",t)+n+s+r+\"\\n\"+common.repeat(\" \",t+this.position-e+n.length)+\"^\"},Mark.prototype.toString=function(t){var i,n=\"\";return this.name&&(n+='in \"'+this.name+'\" '),n+=\"at line \"+(this.line+1)+\", column \"+(this.column+1),t||(i=this.getSnippet(),i&&(n+=\":\\n\"+i)),n},module.exports=Mark;\n\n  },{\"./common\":40}],45:[function(require,module,exports){\n  \"use strict\";function compileList(i,e,t){var c=[];return i.include.forEach(function(i){t=compileList(i,e,t)}),i[e].forEach(function(i){t.forEach(function(e,t){e.tag===i.tag&&c.push(t)}),t.push(i)}),t.filter(function(i,e){return-1===c.indexOf(e)})}function compileMap(){function i(i){c[i.tag]=i}var e,t,c={};for(e=0,t=arguments.length;t>e;e+=1)arguments[e].forEach(i);return c}function Schema(i){this.include=i.include||[],this.implicit=i.implicit||[],this.explicit=i.explicit||[],this.implicit.forEach(function(i){if(i.loadKind&&\"scalar\"!==i.loadKind)throw new YAMLException(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\")}),this.compiledImplicit=compileList(this,\"implicit\",[]),this.compiledExplicit=compileList(this,\"explicit\",[]),this.compiledTypeMap=compileMap(this.compiledImplicit,this.compiledExplicit)}var common=require(\"./common\"),YAMLException=require(\"./exception\"),Type=require(\"./type\");Schema.DEFAULT=null,Schema.create=function(){var i,e;switch(arguments.length){case 1:i=Schema.DEFAULT,e=arguments[0];break;case 2:i=arguments[0],e=arguments[1];break;default:throw new YAMLException(\"Wrong number of arguments for Schema.create function\")}if(i=common.toArray(i),e=common.toArray(e),!i.every(function(i){return i instanceof Schema}))throw new YAMLException(\"Specified list of super schemas (or a single Schema object) contains a non-Schema object.\");if(!e.every(function(i){return i instanceof Type}))throw new YAMLException(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");return new Schema({include:i,explicit:e})},module.exports=Schema;\n\n  },{\"./common\":40,\"./exception\":42,\"./type\":51}],46:[function(require,module,exports){\n  \"use strict\";var Schema=require(\"../schema\");module.exports=new Schema({include:[require(\"./json\")]});\n\n  },{\"../schema\":45,\"./json\":50}],47:[function(require,module,exports){\n  \"use strict\";var Schema=require(\"../schema\");module.exports=Schema.DEFAULT=new Schema({include:[require(\"./default_safe\")],explicit:[require(\"../type/js/undefined\"),require(\"../type/js/regexp\"),require(\"../type/js/function\")]});\n\n  },{\"../schema\":45,\"../type/js/function\":56,\"../type/js/regexp\":57,\"../type/js/undefined\":58,\"./default_safe\":48}],48:[function(require,module,exports){\n  \"use strict\";var Schema=require(\"../schema\");module.exports=new Schema({include:[require(\"./core\")],implicit:[require(\"../type/timestamp\"),require(\"../type/merge\")],explicit:[require(\"../type/binary\"),require(\"../type/omap\"),require(\"../type/pairs\"),require(\"../type/set\")]});\n\n  },{\"../schema\":45,\"../type/binary\":52,\"../type/merge\":60,\"../type/omap\":62,\"../type/pairs\":63,\"../type/set\":65,\"../type/timestamp\":67,\"./core\":46}],49:[function(require,module,exports){\n  \"use strict\";var Schema=require(\"../schema\");module.exports=new Schema({explicit:[require(\"../type/str\"),require(\"../type/seq\"),require(\"../type/map\")]});\n\n  },{\"../schema\":45,\"../type/map\":59,\"../type/seq\":64,\"../type/str\":66}],50:[function(require,module,exports){\n  \"use strict\";var Schema=require(\"../schema\");module.exports=new Schema({include:[require(\"./failsafe\")],implicit:[require(\"../type/null\"),require(\"../type/bool\"),require(\"../type/int\"),require(\"../type/float\")]});\n\n  },{\"../schema\":45,\"../type/bool\":53,\"../type/float\":54,\"../type/int\":55,\"../type/null\":61,\"./failsafe\":49}],51:[function(require,module,exports){\n  \"use strict\";function compileStyleAliases(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function Type(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===TYPE_CONSTRUCTOR_OPTIONS.indexOf(t))throw new YAMLException('Unknown option \"'+t+'\" is met in definition of \"'+e+'\" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=compileStyleAliases(t.styleAliases||null),-1===YAML_NODE_KINDS.indexOf(this.kind))throw new YAMLException('Unknown kind \"'+this.kind+'\" is specified for \"'+e+'\" YAML type.')}var YAMLException=require(\"./exception\"),TYPE_CONSTRUCTOR_OPTIONS=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],YAML_NODE_KINDS=[\"scalar\",\"sequence\",\"mapping\"];module.exports=Type;\n\n  },{\"./exception\":42}],52:[function(require,module,exports){\n  \"use strict\";function resolveYamlBinary(r){if(null===r)return!1;var e,n,u=0,t=r.length,a=BASE64_MAP;for(n=0;t>n;n++)if(e=a.indexOf(r.charAt(n)),!(e>64)){if(0>e)return!1;u+=6}return u%8===0}function constructYamlBinary(r){var e,n,u=r.replace(/[\\r\\n=]/g,\"\"),t=u.length,a=BASE64_MAP,f=0,i=[];for(e=0;t>e;e++)e%4===0&&e&&(i.push(f>>16&255),i.push(f>>8&255),i.push(255&f)),f=f<<6|a.indexOf(u.charAt(e));return n=t%4*6,0===n?(i.push(f>>16&255),i.push(f>>8&255),i.push(255&f)):18===n?(i.push(f>>10&255),i.push(f>>2&255)):12===n&&i.push(f>>4&255),NodeBuffer?new NodeBuffer(i):i}function representYamlBinary(r){var e,n,u=\"\",t=0,a=r.length,f=BASE64_MAP;for(e=0;a>e;e++)e%3===0&&e&&(u+=f[t>>18&63],u+=f[t>>12&63],u+=f[t>>6&63],u+=f[63&t]),t=(t<<8)+r[e];return n=a%3,0===n?(u+=f[t>>18&63],u+=f[t>>12&63],u+=f[t>>6&63],u+=f[63&t]):2===n?(u+=f[t>>10&63],u+=f[t>>4&63],u+=f[t<<2&63],u+=f[64]):1===n&&(u+=f[t>>2&63],u+=f[t<<4&63],u+=f[64],u+=f[64]),u}function isBinary(r){return NodeBuffer&&NodeBuffer.isBuffer(r)}var NodeBuffer;try{var _require=require;NodeBuffer=_require(\"buffer\").Buffer}catch(__){}var Type=require(\"../type\"),BASE64_MAP=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r\";module.exports=new Type(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary});\n\n  },{\"../type\":51}],53:[function(require,module,exports){\n  \"use strict\";function resolveYamlBoolean(e){if(null===e)return!1;var r=e.length;return 4===r&&(\"true\"===e||\"True\"===e||\"TRUE\"===e)||5===r&&(\"false\"===e||\"False\"===e||\"FALSE\"===e)}function constructYamlBoolean(e){return\"true\"===e||\"True\"===e||\"TRUE\"===e}function isBoolean(e){return\"[object Boolean]\"===Object.prototype.toString.call(e)}var Type=require(\"../type\");module.exports=new Type(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?\"true\":\"false\"},uppercase:function(e){return e?\"TRUE\":\"FALSE\"},camelcase:function(e){return e?\"True\":\"False\"}},defaultStyle:\"lowercase\"});\n\n  },{\"../type\":51}],54:[function(require,module,exports){\n  \"use strict\";function resolveYamlFloat(e){return null===e?!1:!!YAML_FLOAT_PATTERN.test(e)}function constructYamlFloat(e){var r,t,a,n;return r=e.replace(/_/g,\"\").toLowerCase(),t=\"-\"===r[0]?-1:1,n=[],\"+-\".indexOf(r[0])>=0&&(r=r.slice(1)),\".inf\"===r?1===t?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:\".nan\"===r?NaN:r.indexOf(\":\")>=0?(r.split(\":\").forEach(function(e){n.unshift(parseFloat(e,10))}),r=0,a=1,n.forEach(function(e){r+=e*a,a*=60}),t*r):t*parseFloat(r,10)}function representYamlFloat(e,r){var t;if(isNaN(e))switch(r){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===e)switch(r){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(common.isNegativeZero(e))return\"-0.0\";return t=e.toString(10),SCIENTIFIC_WITHOUT_DOT.test(t)?t.replace(\"e\",\".e\"):t}function isFloat(e){return\"[object Number]\"===Object.prototype.toString.call(e)&&(e%1!==0||common.isNegativeZero(e))}var common=require(\"../common\"),Type=require(\"../type\"),YAML_FLOAT_PATTERN=new RegExp(\"^(?:[-+]?(?:[0-9][0-9_]*)\\\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\"),SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;module.exports=new Type(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:\"lowercase\"});\n\n  },{\"../common\":40,\"../type\":51}],55:[function(require,module,exports){\n  \"use strict\";function isHexCode(e){return e>=48&&57>=e||e>=65&&70>=e||e>=97&&102>=e}function isOctCode(e){return e>=48&&55>=e}function isDecCode(e){return e>=48&&57>=e}function resolveYamlInteger(e){if(null===e)return!1;var r,t=e.length,n=0,i=!1;if(!t)return!1;if(r=e[n],\"-\"!==r&&\"+\"!==r||(r=e[++n]),\"0\"===r){if(n+1===t)return!0;if(r=e[++n],\"b\"===r){for(n++;t>n;n++)if(r=e[n],\"_\"!==r){if(\"0\"!==r&&\"1\"!==r)return!1;i=!0}return i}if(\"x\"===r){for(n++;t>n;n++)if(r=e[n],\"_\"!==r){if(!isHexCode(e.charCodeAt(n)))return!1;i=!0}return i}for(;t>n;n++)if(r=e[n],\"_\"!==r){if(!isOctCode(e.charCodeAt(n)))return!1;i=!0}return i}for(;t>n;n++)if(r=e[n],\"_\"!==r){if(\":\"===r)break;if(!isDecCode(e.charCodeAt(n)))return!1;i=!0}return i?\":\"!==r?!0:/^(:[0-5]?[0-9])+$/.test(e.slice(n)):!1}function constructYamlInteger(e){var r,t,n=e,i=1,o=[];return-1!==n.indexOf(\"_\")&&(n=n.replace(/_/g,\"\")),r=n[0],\"-\"!==r&&\"+\"!==r||(\"-\"===r&&(i=-1),n=n.slice(1),r=n[0]),\"0\"===n?0:\"0\"===r?\"b\"===n[1]?i*parseInt(n.slice(2),2):\"x\"===n[1]?i*parseInt(n,16):i*parseInt(n,8):-1!==n.indexOf(\":\")?(n.split(\":\").forEach(function(e){o.unshift(parseInt(e,10))}),n=0,t=1,o.forEach(function(e){n+=e*t,t*=60}),i*n):i*parseInt(n,10)}function isInteger(e){return\"[object Number]\"===Object.prototype.toString.call(e)&&e%1===0&&!common.isNegativeZero(e)}var common=require(\"../common\"),Type=require(\"../type\");module.exports=new Type(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:resolveYamlInteger,construct:constructYamlInteger,predicate:isInteger,represent:{binary:function(e){return\"0b\"+e.toString(2)},octal:function(e){return\"0\"+e.toString(8)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return\"0x\"+e.toString(16).toUpperCase()}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}});\n\n  },{\"../common\":40,\"../type\":51}],56:[function(require,module,exports){\n  \"use strict\";function resolveJavascriptFunction(e){if(null===e)return!1;try{var r=\"(\"+e+\")\",n=esprima.parse(r,{range:!0});return\"Program\"===n.type&&1===n.body.length&&\"ExpressionStatement\"===n.body[0].type&&\"FunctionExpression\"===n.body[0].expression.type}catch(t){return!1}}function constructJavascriptFunction(e){var r,n=\"(\"+e+\")\",t=esprima.parse(n,{range:!0}),o=[];if(\"Program\"!==t.type||1!==t.body.length||\"ExpressionStatement\"!==t.body[0].type||\"FunctionExpression\"!==t.body[0].expression.type)throw new Error(\"Failed to resolve function\");return t.body[0].expression.params.forEach(function(e){o.push(e.name)}),r=t.body[0].expression.body.range,new Function(o,n.slice(r[0]+1,r[1]-1))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return\"[object Function]\"===Object.prototype.toString.call(e)}var esprima;try{var _require=require;esprima=_require(\"esprima\")}catch(_){\"undefined\"!=typeof window&&(esprima=window.esprima)}var Type=require(\"../../type\");module.exports=new Type(\"tag:yaml.org,2002:js/function\",{kind:\"scalar\",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction});\n\n  },{\"../../type\":51}],57:[function(require,module,exports){\n  \"use strict\";function resolveJavascriptRegExp(e){if(null===e)return!1;if(0===e.length)return!1;var r=e,t=/\\/([gim]*)$/.exec(e),n=\"\";if(\"/\"===r[0]){if(t&&(n=t[1]),n.length>3)return!1;if(\"/\"!==r[r.length-n.length-1])return!1}return!0}function constructJavascriptRegExp(e){var r=e,t=/\\/([gim]*)$/.exec(e),n=\"\";return\"/\"===r[0]&&(t&&(n=t[1]),r=r.slice(1,r.length-n.length-1)),new RegExp(r,n)}function representJavascriptRegExp(e){var r=\"/\"+e.source+\"/\";return e.global&&(r+=\"g\"),e.multiline&&(r+=\"m\"),e.ignoreCase&&(r+=\"i\"),r}function isRegExp(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var Type=require(\"../../type\");module.exports=new Type(\"tag:yaml.org,2002:js/regexp\",{kind:\"scalar\",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp});\n\n  },{\"../../type\":51}],58:[function(require,module,exports){\n  \"use strict\";function resolveJavascriptUndefined(){return!0}function constructJavascriptUndefined(){}function representJavascriptUndefined(){return\"\"}function isUndefined(e){return\"undefined\"==typeof e}var Type=require(\"../../type\");module.exports=new Type(\"tag:yaml.org,2002:js/undefined\",{kind:\"scalar\",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined});\n\n  },{\"../../type\":51}],59:[function(require,module,exports){\n  \"use strict\";var Type=require(\"../type\");module.exports=new Type(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(e){return null!==e?e:{}}});\n\n  },{\"../type\":51}],60:[function(require,module,exports){\n  \"use strict\";function resolveYamlMerge(e){return\"<<\"===e||null===e}var Type=require(\"../type\");module.exports=new Type(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:resolveYamlMerge});\n\n  },{\"../type\":51}],61:[function(require,module,exports){\n  \"use strict\";function resolveYamlNull(l){if(null===l)return!0;var e=l.length;return 1===e&&\"~\"===l||4===e&&(\"null\"===l||\"Null\"===l||\"NULL\"===l)}function constructYamlNull(){return null}function isNull(l){return null===l}var Type=require(\"../type\");module.exports=new Type(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"}},defaultStyle:\"lowercase\"});\n\n  },{\"../type\":51}],62:[function(require,module,exports){\n  \"use strict\";function resolveYamlOmap(r){if(null===r)return!0;var t,e,n,o,u,a=[],l=r;for(t=0,e=l.length;e>t;t+=1){if(n=l[t],u=!1,\"[object Object]\"!==_toString.call(n))return!1;for(o in n)if(_hasOwnProperty.call(n,o)){if(u)return!1;u=!0}if(!u)return!1;if(-1!==a.indexOf(o))return!1;a.push(o)}return!0}function constructYamlOmap(r){return null!==r?r:[]}var Type=require(\"../type\"),_hasOwnProperty=Object.prototype.hasOwnProperty,_toString=Object.prototype.toString;module.exports=new Type(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:resolveYamlOmap,construct:constructYamlOmap});\n\n  },{\"../type\":51}],63:[function(require,module,exports){\n  \"use strict\";function resolveYamlPairs(r){if(null===r)return!0;var e,t,n,l,o,a=r;for(o=new Array(a.length),e=0,t=a.length;t>e;e+=1){if(n=a[e],\"[object Object]\"!==_toString.call(n))return!1;if(l=Object.keys(n),1!==l.length)return!1;o[e]=[l[0],n[l[0]]]}return!0}function constructYamlPairs(r){if(null===r)return[];var e,t,n,l,o,a=r;for(o=new Array(a.length),e=0,t=a.length;t>e;e+=1)n=a[e],l=Object.keys(n),o[e]=[l[0],n[l[0]]];return o}var Type=require(\"../type\"),_toString=Object.prototype.toString;module.exports=new Type(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:resolveYamlPairs,construct:constructYamlPairs});\n\n  },{\"../type\":51}],64:[function(require,module,exports){\n  \"use strict\";var Type=require(\"../type\");module.exports=new Type(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(e){return null!==e?e:[]}});\n\n  },{\"../type\":51}],65:[function(require,module,exports){\n  \"use strict\";function resolveYamlSet(e){if(null===e)return!0;var r,t=e;for(r in t)if(_hasOwnProperty.call(t,r)&&null!==t[r])return!1;return!0}function constructYamlSet(e){return null!==e?e:{}}var Type=require(\"../type\"),_hasOwnProperty=Object.prototype.hasOwnProperty;module.exports=new Type(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:resolveYamlSet,construct:constructYamlSet});\n\n  },{\"../type\":51}],66:[function(require,module,exports){\n  \"use strict\";var Type=require(\"../type\");module.exports=new Type(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(r){return null!==r?r:\"\"}});\n\n  },{\"../type\":51}],67:[function(require,module,exports){\n  \"use strict\";function resolveYamlTimestamp(e){return null===e?!1:null!==YAML_DATE_REGEXP.exec(e)?!0:null!==YAML_TIMESTAMP_REGEXP.exec(e)}function constructYamlTimestamp(e){var t,r,n,l,a,m,s,T,i,E,u=0,o=null;if(t=YAML_DATE_REGEXP.exec(e),null===t&&(t=YAML_TIMESTAMP_REGEXP.exec(e)),null===t)throw new Error(\"Date resolve error\");if(r=+t[1],n=+t[2]-1,l=+t[3],!t[4])return new Date(Date.UTC(r,n,l));if(a=+t[4],m=+t[5],s=+t[6],t[7]){for(u=t[7].slice(0,3);u.length<3;)u+=\"0\";u=+u}return t[9]&&(T=+t[10],i=+(t[11]||0),o=6e4*(60*T+i),\"-\"===t[9]&&(o=-o)),E=new Date(Date.UTC(r,n,l,a,m,s,u)),o&&E.setTime(E.getTime()-o),E}function representYamlTimestamp(e){return e.toISOString()}var Type=require(\"../type\"),YAML_DATE_REGEXP=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),YAML_TIMESTAMP_REGEXP=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");module.exports=new Type(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp});\n\n  },{\"../type\":51}],68:[function(require,module,exports){\n  function parse(e){if(e=\"\"+e,!(e.length>1e4)){var a=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(a){var r=parseFloat(a[1]),c=(a[2]||\"ms\").toLowerCase();switch(c){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*y;case\"days\":case\"day\":case\"d\":return r*d;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*h;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*m;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*s;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r}}}}function short(e){return e>=d?Math.round(e/d)+\"d\":e>=h?Math.round(e/h)+\"h\":e>=m?Math.round(e/m)+\"m\":e>=s?Math.round(e/s)+\"s\":e+\"ms\"}function long(e){return plural(e,d,\"day\")||plural(e,h,\"hour\")||plural(e,m,\"minute\")||plural(e,s,\"second\")||e+\" ms\"}function plural(s,e,a){return e>s?void 0:1.5*e>s?Math.floor(s/e)+\" \"+a:Math.ceil(s/e)+\" \"+a+\"s\"}var s=1e3,m=60*s,h=60*m,d=24*h,y=365.25*d;module.exports=function(s,e){return e=e||{},\"string\"==typeof s?parse(s):e[\"long\"]?long(s):short(s)};\n\n  },{}],69:[function(require,module,exports){\n  /**!\n   * Ono v2.2.1\n   *\n   * @link https://github.com/BigstickCarpet/ono\n   * @license MIT\n   */\n  \"use strict\";function create(e){return function(r,t,o,n){var c,a=module.exports.formatter;\"string\"==typeof r?(c=a.apply(null,arguments),r=t=void 0):c=\"string\"==typeof t?a.apply(null,slice.call(arguments,1)):a.apply(null,slice.call(arguments,2)),r instanceof Error||(t=r,r=void 0),r&&(c+=(c?\" \\n\":\"\")+r.message);var i=new e(c);return extendError(i,r),extendToJSON(i),extend(i,t),i}}function extendError(e,r){r&&(extendStack(e,r),extend(e,r,!0))}function extendToJSON(e){e.toJSON=errorToJSON,e.inspect=errorToString}function extend(e,r,t){if(r&&\"object\"==typeof r)for(var o=Object.keys(r),n=0;n<o.length;n++){var c=o[n];if(!(t&&vendorSpecificErrorProperties.indexOf(c)>=0))try{e[c]=r[c]}catch(a){}}}function errorToJSON(){var e={},r=Object.keys(this);r=r.concat(vendorSpecificErrorProperties);for(var t=0;t<r.length;t++){var o=r[t],n=this[o],c=typeof n;\"undefined\"!==c&&\"function\"!==c&&(e[o]=n)}return e}function errorToString(){return JSON.stringify(this,null,2).replace(/\\\\n/g,\"\\n\")}function extendStack(e,r){if(hasLazyStack(r))extendStackProperty(e,r);else{var t=r.stack;t&&(e.stack+=\" \\n\\n\"+r.stack)}}function hasLazyStack(e){if(!supportsLazyStack)return!1;var r=Object.getOwnPropertyDescriptor(e,\"stack\");return r?\"function\"==typeof r.get:!1}function extendStackProperty(e,r){var t=Object.getOwnPropertyDescriptor(r,\"stack\");if(t){var o=Object.getOwnPropertyDescriptor(e,\"stack\");Object.defineProperty(e,\"stack\",{get:function(){return o.get.apply(e)+\" \\n\\n\"+r.stack},enumerable:!1,configurable:!0})}}var util=require(\"util\"),slice=Array.prototype.slice,vendorSpecificErrorProperties=[\"name\",\"message\",\"description\",\"number\",\"fileName\",\"lineNumber\",\"columnNumber\",\"sourceURL\",\"line\",\"column\",\"stack\"];module.exports=create(Error),module.exports.error=create(Error),module.exports.eval=create(EvalError),module.exports.range=create(RangeError),module.exports.reference=create(ReferenceError),module.exports.syntax=create(SyntaxError),module.exports.type=create(TypeError),module.exports.uri=create(URIError),module.exports.formatter=util.format;var supportsLazyStack=function(){return!(!Object.getOwnPropertyDescriptor||!Object.defineProperty||\"undefined\"!=typeof navigator&&/Android/.test(navigator.userAgent))}();\n\n  },{\"util\":97}],70:[function(require,module,exports){\n  (function (process){\n  \"use strict\";function nextTick(e){for(var s=new Array(arguments.length-1),n=0;n<s.length;)s[n++]=arguments[n];process.nextTick(function(){e.apply(null,s)})}!process.version||0===process.version.indexOf(\"v0.\")||0===process.version.indexOf(\"v1.\")&&0!==process.version.indexOf(\"v1.8.\")?module.exports=nextTick:module.exports=process.nextTick;\n\n  }).call(this,require('_process'))\n\n  },{\"_process\":71}],71:[function(require,module,exports){\n  function cleanUpNextTick(){draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue()}function drainQueue(){if(!draining){var e=setTimeout(cleanUpNextTick);draining=!0;for(var n=queue.length;n;){for(currentQueue=queue,queue=[];++queueIndex<n;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,n=queue.length}currentQueue=null,draining=!1,clearTimeout(e)}}function Item(e,n){this.fun=e,this.array=n}function noop(){}var process=module.exports={},queue=[],draining=!1,currentQueue,queueIndex=-1;process.nextTick=function(e){var n=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)n[r-1]=arguments[r];queue.push(new Item(e,n)),1!==queue.length||draining||setTimeout(drainQueue,0)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title=\"browser\",process.browser=!0,process.env={},process.argv=[],process.version=\"\",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.binding=function(e){throw new Error(\"process.binding is not supported\")},process.cwd=function(){return\"/\"},process.chdir=function(e){throw new Error(\"process.chdir is not supported\")},process.umask=function(){return 0};\n\n  },{}],72:[function(require,module,exports){\n  (function (global){\n  /*! https://mths.be/punycode v1.4.1 by @mathias */\n  !function(e){function o(e){throw new RangeError(T[e])}function n(e,o){for(var n=e.length,r=[];n--;)r[n]=o(e[n]);return r}function r(e,o){var r=e.split(\"@\"),t=\"\";r.length>1&&(t=r[0]+\"@\",e=r[1]),e=e.replace(S,\".\");var u=e.split(\".\"),i=n(u,o).join(\".\");return t+i}function t(e){for(var o,n,r=[],t=0,u=e.length;u>t;)o=e.charCodeAt(t++),o>=55296&&56319>=o&&u>t?(n=e.charCodeAt(t++),56320==(64512&n)?r.push(((1023&o)<<10)+(1023&n)+65536):(r.push(o),t--)):r.push(o);return r}function u(e){return n(e,function(e){var o=\"\";return e>65535&&(e-=65536,o+=P(e>>>10&1023|55296),e=56320|1023&e),o+=P(e)}).join(\"\")}function i(e){return 10>e-48?e-22:26>e-65?e-65:26>e-97?e-97:b}function f(e,o){return e+22+75*(26>e)-((0!=o)<<5)}function c(e,o,n){var r=0;for(e=n?M(e/j):e>>1,e+=M(e/o);e>L*C>>1;r+=b)e=M(e/L);return M(r+(L+1)*e/(e+m))}function l(e){var n,r,t,f,l,s,d,a,p,h,v=[],g=e.length,w=0,m=I,j=A;for(r=e.lastIndexOf(E),0>r&&(r=0),t=0;r>t;++t)e.charCodeAt(t)>=128&&o(\"not-basic\"),v.push(e.charCodeAt(t));for(f=r>0?r+1:0;g>f;){for(l=w,s=1,d=b;f>=g&&o(\"invalid-input\"),a=i(e.charCodeAt(f++)),(a>=b||a>M((x-w)/s))&&o(\"overflow\"),w+=a*s,p=j>=d?y:d>=j+C?C:d-j,!(p>a);d+=b)h=b-p,s>M(x/h)&&o(\"overflow\"),s*=h;n=v.length+1,j=c(w-l,n,0==l),M(w/n)>x-m&&o(\"overflow\"),m+=M(w/n),w%=n,v.splice(w++,0,m)}return u(v)}function s(e){var n,r,u,i,l,s,d,a,p,h,v,g,w,m,j,F=[];for(e=t(e),g=e.length,n=I,r=0,l=A,s=0;g>s;++s)v=e[s],128>v&&F.push(P(v));for(u=i=F.length,i&&F.push(E);g>u;){for(d=x,s=0;g>s;++s)v=e[s],v>=n&&d>v&&(d=v);for(w=u+1,d-n>M((x-r)/w)&&o(\"overflow\"),r+=(d-n)*w,n=d,s=0;g>s;++s)if(v=e[s],n>v&&++r>x&&o(\"overflow\"),v==n){for(a=r,p=b;h=l>=p?y:p>=l+C?C:p-l,!(h>a);p+=b)j=a-h,m=b-h,F.push(P(f(h+j%m,0))),a=M(j/m);F.push(P(f(a,0))),l=c(r,w,u==i),r=0,++u}++r,++n}return F.join(\"\")}function d(e){return r(e,function(e){return F.test(e)?l(e.slice(4).toLowerCase()):e})}function a(e){return r(e,function(e){return O.test(e)?\"xn--\"+s(e):e})}var p=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,h=\"object\"==typeof module&&module&&!module.nodeType&&module,v=\"object\"==typeof global&&global;v.global!==v&&v.window!==v&&v.self!==v||(e=v);var g,w,x=2147483647,b=36,y=1,C=26,m=38,j=700,A=72,I=128,E=\"-\",F=/^xn--/,O=/[^\\x20-\\x7E]/,S=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,T={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},L=b-y,M=Math.floor,P=String.fromCharCode;if(g={version:\"1.4.1\",ucs2:{decode:t,encode:u},decode:l,encode:s,toASCII:a,toUnicode:d},\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd)define(\"punycode\",function(){return g});else if(p&&h)if(module.exports==p)h.exports=g;else for(w in g)g.hasOwnProperty(w)&&(p[w]=g[w]);else e.punycode=g}(this);\n\n  }).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n  },{}],73:[function(require,module,exports){\n  \"use strict\";function hasOwnProperty(r,e){return Object.prototype.hasOwnProperty.call(r,e)}module.exports=function(r,e,t,n){e=e||\"&\",t=t||\"=\";var o={};if(\"string\"!=typeof r||0===r.length)return o;var a=/\\+/g;r=r.split(e);var s=1e3;n&&\"number\"==typeof n.maxKeys&&(s=n.maxKeys);var p=r.length;s>0&&p>s&&(p=s);for(var y=0;p>y;++y){var u,c,i,l,f=r[y].replace(a,\"%20\"),v=f.indexOf(t);v>=0?(u=f.substr(0,v),c=f.substr(v+1)):(u=f,c=\"\"),i=decodeURIComponent(u),l=decodeURIComponent(c),hasOwnProperty(o,i)?isArray(o[i])?o[i].push(l):o[i]=[o[i],l]:o[i]=l}return o};var isArray=Array.isArray||function(r){return\"[object Array]\"===Object.prototype.toString.call(r)};\n\n  },{}],74:[function(require,module,exports){\n  \"use strict\";function map(r,e){if(r.map)return r.map(e);for(var t=[],n=0;n<r.length;n++)t.push(e(r[n],n));return t}var stringifyPrimitive=function(r){switch(typeof r){case\"string\":return r;case\"boolean\":return r?\"true\":\"false\";case\"number\":return isFinite(r)?r:\"\";default:return\"\"}};module.exports=function(r,e,t,n){return e=e||\"&\",t=t||\"=\",null===r&&(r=void 0),\"object\"==typeof r?map(objectKeys(r),function(n){var i=encodeURIComponent(stringifyPrimitive(n))+t;return isArray(r[n])?map(r[n],function(r){return i+encodeURIComponent(stringifyPrimitive(r))}).join(e):i+encodeURIComponent(stringifyPrimitive(r[n]))}).join(e):n?encodeURIComponent(stringifyPrimitive(n))+t+encodeURIComponent(stringifyPrimitive(r)):\"\"};var isArray=Array.isArray||function(r){return\"[object Array]\"===Object.prototype.toString.call(r)},objectKeys=Object.keys||function(r){var e=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&e.push(t);return e};\n\n  },{}],75:[function(require,module,exports){\n  \"use strict\";exports.decode=exports.parse=require(\"./decode\"),exports.encode=exports.stringify=require(\"./encode\");\n\n  },{\"./decode\":73,\"./encode\":74}],76:[function(require,module,exports){\n  module.exports=require(\"./lib/_stream_duplex.js\");\n\n  },{\"./lib/_stream_duplex.js\":77}],77:[function(require,module,exports){\n  \"use strict\";function Duplex(e){return this instanceof Duplex?(Readable.call(this,e),Writable.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once(\"end\",onend)):new Duplex(e)}function onend(){this.allowHalfOpen||this._writableState.ended||processNextTick(onEndNT,this)}function onEndNT(e){e.end()}function forEach(e,t){for(var r=0,i=e.length;i>r;r++)t(e[r],r)}var objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var processNextTick=require(\"process-nextick-args\"),util=require(\"core-util-is\");util.inherits=require(\"inherits\");var Readable=require(\"./_stream_readable\"),Writable=require(\"./_stream_writable\");util.inherits(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}\n\n  },{\"./_stream_readable\":79,\"./_stream_writable\":81,\"core-util-is\":28,\"inherits\":35,\"process-nextick-args\":70}],78:[function(require,module,exports){\n  \"use strict\";function PassThrough(r){return this instanceof PassThrough?void Transform.call(this,r):new PassThrough(r)}module.exports=PassThrough;var Transform=require(\"./_stream_transform\"),util=require(\"core-util-is\");util.inherits=require(\"inherits\"),util.inherits(PassThrough,Transform),PassThrough.prototype._transform=function(r,s,i){i(null,r)};\n\n  },{\"./_stream_transform\":80,\"core-util-is\":28,\"inherits\":35}],79:[function(require,module,exports){\n  (function (process){\n  \"use strict\";function ReadableState(e,t){Duplex=Duplex||require(\"./_stream_duplex\"),e=e||{},this.objectMode=!!e.objectMode,t instanceof Duplex&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(StringDecoder||(StringDecoder=require(\"string_decoder/\").StringDecoder),this.decoder=new StringDecoder(e.encoding),this.encoding=e.encoding)}function Readable(e){return Duplex=Duplex||require(\"./_stream_duplex\"),this instanceof Readable?(this._readableState=new ReadableState(e,this),this.readable=!0,e&&\"function\"==typeof e.read&&(this._read=e.read),void Stream.call(this)):new Readable(e)}function readableAddChunk(e,t,r,n,a){var i=chunkInvalid(t,r);if(i)e.emit(\"error\",i);else if(null===r)t.reading=!1,onEofChunk(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!a){var d=new Error(\"stream.push() after EOF\");e.emit(\"error\",d)}else if(t.endEmitted&&a){var d=new Error(\"stream.unshift() after end event\");e.emit(\"error\",d)}else{var o;!t.decoder||a||n||(r=t.decoder.write(r),o=!t.objectMode&&0===r.length),a||(t.reading=!1),o||(t.flowing&&0===t.length&&!t.sync?(e.emit(\"data\",r),e.read(0)):(t.length+=t.objectMode?1:r.length,a?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&emitReadable(e))),maybeReadMore(e,t)}else a||(t.reading=!1);return needMoreData(t)}function needMoreData(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function computeNewHighWaterMark(e){return e>=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:null===e||isNaN(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:0>=e?0:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function chunkInvalid(e,t){var r=null;return Buffer.isBuffer(t)||\"string\"==typeof t||null===t||void 0===t||e.objectMode||(r=new TypeError(\"Invalid non-string/buffer chunk\")),r}function onEofChunk(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,emitReadable(e)}}function emitReadable(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(debug(\"emitReadable\",t.flowing),t.emittedReadable=!0,t.sync?processNextTick(emitReadable_,e):emitReadable_(e))}function emitReadable_(e){debug(\"emit readable\"),e.emit(\"readable\"),flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,processNextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(debug(\"maybeReadMore read 0\"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function pipeOnDrain(e){return function(){var t=e._readableState;debug(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&EElistenerCount(e,\"data\")&&(t.flowing=!0,flow(e))}}function nReadingNextTick(e){debug(\"readable nexttick read 0\"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,processNextTick(resume_,e,t))}function resume_(e,t){t.reading||(debug(\"resume read 0\"),e.read(0)),t.resumeScheduled=!1,e.emit(\"resume\"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;if(debug(\"flow\",t.flowing),t.flowing)do var r=e.read();while(null!==r&&t.flowing)}function fromList(e,t){var r,n=t.buffer,a=t.length,i=!!t.decoder,d=!!t.objectMode;if(0===n.length)return null;if(0===a)r=null;else if(d)r=n.shift();else if(!e||e>=a)r=i?n.join(\"\"):1===n.length?n[0]:Buffer.concat(n,a),n.length=0;else if(e<n[0].length){var o=n[0];r=o.slice(0,e),n[0]=o.slice(e)}else if(e===n[0].length)r=n.shift();else{r=i?\"\":new Buffer(e);for(var l=0,u=0,s=n.length;s>u&&e>l;u++){var o=n[0],h=Math.min(e-l,o.length);i?r+=o.slice(0,h):o.copy(r,l,0,h),h<o.length?n[0]=o.slice(h):n.shift(),l+=h}}return r}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error(\"endReadable called on non-empty stream\");t.endEmitted||(t.ended=!0,processNextTick(endReadableNT,t,e))}function endReadableNT(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"))}function forEach(e,t){for(var r=0,n=e.length;n>r;r++)t(e[r],r)}function indexOf(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1}module.exports=Readable;var processNextTick=require(\"process-nextick-args\"),isArray=require(\"isarray\"),Buffer=require(\"buffer\").Buffer;Readable.ReadableState=ReadableState;var EE=require(\"events\"),EElistenerCount=function(e,t){return e.listeners(t).length},Stream;!function(){try{Stream=require(\"stream\")}catch(e){}finally{Stream||(Stream=require(\"events\").EventEmitter)}}();var Buffer=require(\"buffer\").Buffer,util=require(\"core-util-is\");util.inherits=require(\"inherits\");var debugUtil=require(\"util\"),debug=void 0;debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog(\"stream\"):function(){};var StringDecoder;util.inherits(Readable,Stream);var Duplex,Duplex;Readable.prototype.push=function(e,t){var r=this._readableState;return r.objectMode||\"string\"!=typeof e||(t=t||r.defaultEncoding,t!==r.encoding&&(e=new Buffer(e,t),t=\"\")),readableAddChunk(this,r,e,t,!1)},Readable.prototype.unshift=function(e){var t=this._readableState;return readableAddChunk(this,t,e,\"\",!0)},Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(e){return StringDecoder||(StringDecoder=require(\"string_decoder/\").StringDecoder),this._readableState.decoder=new StringDecoder(e),this._readableState.encoding=e,this};var MAX_HWM=8388608;Readable.prototype.read=function(e){debug(\"read\",e);var t=this._readableState,r=e;if((\"number\"!=typeof e||e>0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return debug(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(e=howMuchToRead(e,t),0===e&&t.ended)return 0===t.length&&endReadable(this),null;var n=t.needReadable;debug(\"need readable\",n),(0===t.length||t.length-e<t.highWaterMark)&&(n=!0,debug(\"length less than watermark\",n)),(t.ended||t.reading)&&(n=!1,debug(\"reading or ended\",n)),n&&(debug(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),n&&!t.reading&&(e=howMuchToRead(r,t));var a;return a=e>0?fromList(e,t):null,null===a&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),r!==e&&t.ended&&0===t.length&&endReadable(this),null!==a&&this.emit(\"data\",a),a},Readable.prototype._read=function(e){this.emit(\"error\",new Error(\"not implemented\"))},Readable.prototype.pipe=function(e,t){function r(e){debug(\"onunpipe\"),e===s&&a()}function n(){debug(\"onend\"),e.end()}function a(){debug(\"cleanup\"),e.removeListener(\"close\",o),e.removeListener(\"finish\",l),e.removeListener(\"drain\",c),e.removeListener(\"error\",d),e.removeListener(\"unpipe\",r),s.removeListener(\"end\",n),s.removeListener(\"end\",a),s.removeListener(\"data\",i),b=!0,!h.awaitDrain||e._writableState&&!e._writableState.needDrain||c()}function i(t){debug(\"ondata\");var r=e.write(t);!1===r&&(1!==h.pipesCount||h.pipes[0]!==e||1!==s.listenerCount(\"data\")||b||(debug(\"false write response, pause\",s._readableState.awaitDrain),s._readableState.awaitDrain++),s.pause())}function d(t){debug(\"onerror\",t),u(),e.removeListener(\"error\",d),0===EElistenerCount(e,\"error\")&&e.emit(\"error\",t)}function o(){e.removeListener(\"finish\",l),u()}function l(){debug(\"onfinish\"),e.removeListener(\"close\",o),u()}function u(){debug(\"unpipe\"),s.unpipe(e)}var s=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,debug(\"pipe count=%d opts=%j\",h.pipesCount,t);var f=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,p=f?n:a;h.endEmitted?processNextTick(p):s.once(\"end\",p),e.on(\"unpipe\",r);var c=pipeOnDrain(s);e.on(\"drain\",c);var b=!1;return s.on(\"data\",i),e._events&&e._events.error?isArray(e._events.error)?e._events.error.unshift(d):e._events.error=[d,e._events.error]:e.on(\"error\",d),e.once(\"close\",o),e.once(\"finish\",l),e.emit(\"pipe\",s),h.flowing||(debug(\"pipe resume\"),s.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;n>a;a++)r[a].emit(\"unpipe\",this);return this}var i=indexOf(t.pipes,e);return-1===i?this:(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this),this)},Readable.prototype.on=function(e,t){var r=Stream.prototype.on.call(this,e,t);if(\"data\"===e&&!1!==this._readableState.flowing&&this.resume(),\"readable\"===e&&!this._readableState.endEmitted){var n=this._readableState;n.readableListening||(n.readableListening=!0,n.emittedReadable=!1,n.needReadable=!0,n.reading?n.length&&emitReadable(this,n):processNextTick(nReadingNextTick,this))}return r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug(\"resume\"),e.flowing=!0,resume(this,e)),this},Readable.prototype.pause=function(){return debug(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(debug(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this},Readable.prototype.wrap=function(e){var t=this._readableState,r=!1,n=this;e.on(\"end\",function(){if(debug(\"wrapped end\"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&n.push(e)}n.push(null)}),e.on(\"data\",function(a){if(debug(\"wrapped data\"),t.decoder&&(a=t.decoder.write(a)),(!t.objectMode||null!==a&&void 0!==a)&&(t.objectMode||a&&a.length)){var i=n.push(a);i||(r=!0,e.pause())}});for(var a in e)void 0===this[a]&&\"function\"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));var i=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];return forEach(i,function(t){e.on(t,n.emit.bind(n,t))}),n._read=function(t){debug(\"wrapped _read\",t),r&&(r=!1,e.resume())},n},Readable._fromList=fromList;\n\n  }).call(this,require('_process'))\n\n  },{\"./_stream_duplex\":77,\"_process\":71,\"buffer\":25,\"core-util-is\":28,\"events\":32,\"inherits\":35,\"isarray\":37,\"process-nextick-args\":70,\"stream\":86,\"string_decoder/\":91,\"util\":23}],80:[function(require,module,exports){\n  \"use strict\";function TransformState(r){this.afterTransform=function(t,n){return afterTransform(r,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function afterTransform(r,t,n){var e=r._transformState;e.transforming=!1;var i=e.writecb;if(!i)return r.emit(\"error\",new Error(\"no writecb in Transform class\"));e.writechunk=null,e.writecb=null,null!==n&&void 0!==n&&r.push(n),i(t);var a=r._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&r._read(a.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);Duplex.call(this,r),this._transformState=new TransformState(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,r&&(\"function\"==typeof r.transform&&(this._transform=r.transform),\"function\"==typeof r.flush&&(this._flush=r.flush)),this.once(\"prefinish\",function(){\"function\"==typeof this._flush?this._flush(function(r){done(t,r)}):done(t)})}function done(r,t){if(t)return r.emit(\"error\",t);var n=r._writableState,e=r._transformState;if(n.length)throw new Error(\"calling transform done when ws.length != 0\");if(e.transforming)throw new Error(\"calling transform done when still transforming\");return r.push(null)}module.exports=Transform;var Duplex=require(\"./_stream_duplex\"),util=require(\"core-util-is\");util.inherits=require(\"inherits\"),util.inherits(Transform,Duplex),Transform.prototype.push=function(r,t){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,t)},Transform.prototype._transform=function(r,t,n){throw new Error(\"not implemented\")},Transform.prototype._write=function(r,t,n){var e=this._transformState;if(e.writecb=n,e.writechunk=r,e.writeencoding=t,!e.transforming){var i=this._readableState;(e.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Transform.prototype._read=function(r){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};\n\n  },{\"./_stream_duplex\":77,\"core-util-is\":28,\"inherits\":35}],81:[function(require,module,exports){\n  (function (process){\n  \"use strict\";function nop(){}function WriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function WritableState(e,t){Duplex=Duplex||require(\"./_stream_duplex\"),e=e||{},this.objectMode=!!e.objectMode,t instanceof Duplex&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:i,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this),this.corkedRequestsFree.next=new CorkedRequest(this)}function Writable(e){return Duplex=Duplex||require(\"./_stream_duplex\"),this instanceof Writable||this instanceof Duplex?(this._writableState=new WritableState(e,this),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev)),void Stream.call(this)):new Writable(e)}function writeAfterEnd(e,t){var r=new Error(\"write after end\");e.emit(\"error\",r),processNextTick(t,r)}function validChunk(e,t,r,i){var n=!0;if(!Buffer.isBuffer(r)&&\"string\"!=typeof r&&null!==r&&void 0!==r&&!t.objectMode){var s=new TypeError(\"Invalid non-string/buffer chunk\");e.emit(\"error\",s),processNextTick(i,s),n=!1}return n}function decodeChunk(e,t,r){return e.objectMode||e.decodeStrings===!1||\"string\"!=typeof t||(t=new Buffer(t,r)),t}function writeOrBuffer(e,t,r,i,n){r=decodeChunk(t,r,i),Buffer.isBuffer(r)&&(i=\"buffer\");var s=t.objectMode?1:r.length;t.length+=s;var f=t.length<t.highWaterMark;if(f||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest=new WriteReq(r,i,n),u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else doWrite(e,t,!1,s,r,i,n);return f}function doWrite(e,t,r,i,n,s,f){t.writelen=i,t.writecb=f,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,s,t.onwrite),t.sync=!1}function onwriteError(e,t,r,i,n){--t.pendingcb,r?processNextTick(n,i):n(i),e._writableState.errorEmitted=!0,e.emit(\"error\",i)}function onwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function onwrite(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{var s=needFinish(r);s||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(e,r),i?asyncWrite(afterWrite,e,r,s,n):afterWrite(e,r,s,n)}}function afterWrite(e,t,r,i){r||onwriteDrain(e,t),t.pendingcb--,i(),finishMaybe(e,t)}function onwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}function clearBuffer(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),s=t.corkedRequestsFree;s.entry=r;for(var f=0;r;)n[f]=r,r=r.next,f+=1;doWrite(e,t,!0,t.length,n,\"\",s.finish),t.pendingcb++,t.lastBufferedRequest=null,t.corkedRequestsFree=s.next,s.next=null}else{for(;r;){var u=r.chunk,o=r.encoding,a=r.callback,c=t.objectMode?1:u.length;if(doWrite(e,t,!1,c,u,o,a),r=r.next,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}function needFinish(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function prefinish(e,t){t.prefinished||(t.prefinished=!0,e.emit(\"prefinish\"))}function finishMaybe(e,t){var r=needFinish(t);return r&&(0===t.pendingcb?(prefinish(e,t),t.finished=!0,e.emit(\"finish\")):prefinish(e,t)),r}function endWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?processNextTick(r):e.once(\"finish\",r)),t.ended=!0,e.writable=!1}function CorkedRequest(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var i=t.entry;for(t.entry=null;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}module.exports=Writable;var processNextTick=require(\"process-nextick-args\"),asyncWrite=!process.browser&&[\"v0.10\",\"v0.9.\"].indexOf(process.version.slice(0,5))>-1?setImmediate:processNextTick,Buffer=require(\"buffer\").Buffer;Writable.WritableState=WritableState;var util=require(\"core-util-is\");util.inherits=require(\"inherits\");var internalUtil={deprecate:require(\"util-deprecate\")},Stream;!function(){try{Stream=require(\"stream\")}catch(e){}finally{Stream||(Stream=require(\"events\").EventEmitter)}}();var Buffer=require(\"buffer\").Buffer;util.inherits(Writable,Stream);var Duplex;WritableState.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(WritableState.prototype,\"buffer\",{get:internalUtil.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\")})}catch(e){}}();var Duplex;Writable.prototype.pipe=function(){this.emit(\"error\",new Error(\"Cannot pipe. Not readable.\"))},Writable.prototype.write=function(e,t,r){var i=this._writableState,n=!1;return\"function\"==typeof t&&(r=t,t=null),Buffer.isBuffer(e)?t=\"buffer\":t||(t=i.defaultEncoding),\"function\"!=typeof r&&(r=nop),i.ended?writeAfterEnd(this,r):validChunk(this,i,e,r)&&(i.pendingcb++,n=writeOrBuffer(this,i,e,t,r)),n},Writable.prototype.cork=function(){var e=this._writableState;e.corked++},Writable.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||clearBuffer(this,e))},Writable.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new TypeError(\"Unknown encoding: \"+e);this._writableState.defaultEncoding=e},Writable.prototype._write=function(e,t,r){r(new Error(\"not implemented\"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;\"function\"==typeof e?(r=e,e=null,t=null):\"function\"==typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||endWritable(this,i,r)};\n\n  }).call(this,require('_process'))\n\n  },{\"./_stream_duplex\":77,\"_process\":71,\"buffer\":25,\"core-util-is\":28,\"events\":32,\"inherits\":35,\"process-nextick-args\":70,\"stream\":86,\"util-deprecate\":95}],82:[function(require,module,exports){\n  module.exports=require(\"./lib/_stream_passthrough.js\");\n\n  },{\"./lib/_stream_passthrough.js\":78}],83:[function(require,module,exports){\n  var Stream=function(){try{return require(\"stream\")}catch(r){}}();exports=module.exports=require(\"./lib/_stream_readable.js\"),exports.Stream=Stream||exports,exports.Readable=exports,exports.Writable=require(\"./lib/_stream_writable.js\"),exports.Duplex=require(\"./lib/_stream_duplex.js\"),exports.Transform=require(\"./lib/_stream_transform.js\"),exports.PassThrough=require(\"./lib/_stream_passthrough.js\");\n\n  },{\"./lib/_stream_duplex.js\":77,\"./lib/_stream_passthrough.js\":78,\"./lib/_stream_readable.js\":79,\"./lib/_stream_transform.js\":80,\"./lib/_stream_writable.js\":81,\"stream\":86}],84:[function(require,module,exports){\n  module.exports=require(\"./lib/_stream_transform.js\");\n\n  },{\"./lib/_stream_transform.js\":80}],85:[function(require,module,exports){\n  module.exports=require(\"./lib/_stream_writable.js\");\n\n  },{\"./lib/_stream_writable.js\":81}],86:[function(require,module,exports){\n  function Stream(){EE.call(this)}module.exports=Stream;var EE=require(\"events\").EventEmitter,inherits=require(\"inherits\");inherits(Stream,EE),Stream.Readable=require(\"readable-stream/readable.js\"),Stream.Writable=require(\"readable-stream/writable.js\"),Stream.Duplex=require(\"readable-stream/duplex.js\"),Stream.Transform=require(\"readable-stream/transform.js\"),Stream.PassThrough=require(\"readable-stream/passthrough.js\"),Stream.Stream=Stream,Stream.prototype.pipe=function(e,r){function t(r){e.writable&&!1===e.write(r)&&m.pause&&m.pause()}function n(){m.readable&&m.resume&&m.resume()}function a(){u||(u=!0,e.end())}function o(){u||(u=!0,\"function\"==typeof e.destroy&&e.destroy())}function i(e){if(s(),0===EE.listenerCount(this,\"error\"))throw e}function s(){m.removeListener(\"data\",t),e.removeListener(\"drain\",n),m.removeListener(\"end\",a),m.removeListener(\"close\",o),m.removeListener(\"error\",i),e.removeListener(\"error\",i),m.removeListener(\"end\",s),m.removeListener(\"close\",s),e.removeListener(\"close\",s)}var m=this;m.on(\"data\",t),e.on(\"drain\",n),e._isStdio||r&&r.end===!1||(m.on(\"end\",a),m.on(\"close\",o));var u=!1;return m.on(\"error\",i),e.on(\"error\",i),m.on(\"end\",s),m.on(\"close\",s),e.on(\"close\",s),e.emit(\"pipe\",m),e};\n\n  },{\"events\":32,\"inherits\":35,\"readable-stream/duplex.js\":76,\"readable-stream/passthrough.js\":82,\"readable-stream/readable.js\":83,\"readable-stream/transform.js\":84,\"readable-stream/writable.js\":85}],87:[function(require,module,exports){\n  (function (global){\n  var ClientRequest=require(\"./lib/request\"),extend=require(\"xtend\"),statusCodes=require(\"builtin-status-codes\"),url=require(\"url\"),http=exports;http.request=function(t,e){t=\"string\"==typeof t?url.parse(t):extend(t);var r=-1===global.location.protocol.search(/^https?:$/)?\"http:\":\"\",s=t.protocol||r,o=t.hostname||t.host,n=t.port,u=t.path||\"/\";o&&-1!==o.indexOf(\":\")&&(o=\"[\"+o+\"]\"),t.url=(o?s+\"//\"+o:\"\")+(n?\":\"+n:\"\")+u,t.method=(t.method||\"GET\").toUpperCase(),t.headers=t.headers||{};var C=new ClientRequest(t);return e&&C.on(\"response\",e),C},http.get=function(t,e){var r=http.request(t,e);return r.end(),r},http.Agent=function(){},http.Agent.defaultMaxSockets=4,http.STATUS_CODES=statusCodes,http.METHODS=[\"CHECKOUT\",\"CONNECT\",\"COPY\",\"DELETE\",\"GET\",\"HEAD\",\"LOCK\",\"M-SEARCH\",\"MERGE\",\"MKACTIVITY\",\"MKCOL\",\"MOVE\",\"NOTIFY\",\"OPTIONS\",\"PATCH\",\"POST\",\"PROPFIND\",\"PROPPATCH\",\"PURGE\",\"PUT\",\"REPORT\",\"SEARCH\",\"SUBSCRIBE\",\"TRACE\",\"UNLOCK\",\"UNSUBSCRIBE\"];\n\n  }).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n  },{\"./lib/request\":89,\"builtin-status-codes\":26,\"url\":93,\"xtend\":98}],88:[function(require,module,exports){\n  (function (global){\n  function checkTypeSupport(e){try{return xhr.responseType=e,xhr.responseType===e}catch(r){}return!1}function isFunction(e){return\"function\"==typeof e}exports.fetch=isFunction(global.fetch)&&isFunction(global.ReadableByteStream),exports.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),exports.blobConstructor=!0}catch(e){}var xhr=new global.XMLHttpRequest;xhr.open(\"GET\",global.location.host?\"/\":\"https://example.com\");var haveArrayBuffer=\"undefined\"!=typeof global.ArrayBuffer,haveSlice=haveArrayBuffer&&isFunction(global.ArrayBuffer.prototype.slice);exports.arraybuffer=haveArrayBuffer&&checkTypeSupport(\"arraybuffer\"),exports.msstream=!exports.fetch&&haveSlice&&checkTypeSupport(\"ms-stream\"),exports.mozchunkedarraybuffer=!exports.fetch&&haveArrayBuffer&&checkTypeSupport(\"moz-chunked-arraybuffer\"),exports.overrideMimeType=isFunction(xhr.overrideMimeType),exports.vbArray=isFunction(global.VBArray),xhr=null;\n\n  }).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n  },{}],89:[function(require,module,exports){\n  (function (process,global,Buffer){\n  function decideMode(e){return capability.fetch?\"fetch\":capability.mozchunkedarraybuffer?\"moz-chunked-arraybuffer\":capability.msstream?\"ms-stream\":capability.arraybuffer&&e?\"arraybuffer\":capability.vbArray&&e?\"text:vbarray\":\"text\"}function statusValid(e){try{var t=e.status;return null!==t&&0!==t}catch(r){return!1}}var capability=require(\"./capability\"),inherits=require(\"inherits\"),response=require(\"./response\"),stream=require(\"stream\"),toArrayBuffer=require(\"to-arraybuffer\"),IncomingMessage=response.IncomingMessage,rStates=response.readyStates,ClientRequest=module.exports=function(e){var t=this;stream.Writable.call(t),t._opts=e,t._body=[],t._headers={},e.auth&&t.setHeader(\"Authorization\",\"Basic \"+new Buffer(e.auth).toString(\"base64\")),Object.keys(e.headers).forEach(function(r){t.setHeader(r,e.headers[r])});var r;if(\"prefer-streaming\"===e.mode)r=!1;else if(\"allow-wrong-content-type\"===e.mode)r=!capability.overrideMimeType;else{if(e.mode&&\"default\"!==e.mode&&\"prefer-fast\"!==e.mode)throw new Error(\"Invalid value for opts.mode\");r=!0}t._mode=decideMode(r),t.on(\"finish\",function(){t._onFinish()})};inherits(ClientRequest,stream.Writable),ClientRequest.prototype.setHeader=function(e,t){var r=this,o=e.toLowerCase();-1===unsafeHeaders.indexOf(o)&&(r._headers[o]={name:e,value:t})},ClientRequest.prototype.getHeader=function(e){var t=this;return t._headers[e.toLowerCase()].value},ClientRequest.prototype.removeHeader=function(e){var t=this;delete t._headers[e.toLowerCase()]},ClientRequest.prototype._onFinish=function(){var e=this;if(!e._destroyed){var t,r=e._opts,o=e._headers;if(\"POST\"!==r.method&&\"PUT\"!==r.method&&\"PATCH\"!==r.method||(t=capability.blobConstructor?new global.Blob(e._body.map(function(e){return toArrayBuffer(e)}),{type:(o[\"content-type\"]||{}).value||\"\"}):Buffer.concat(e._body).toString()),\"fetch\"===e._mode){var n=Object.keys(o).map(function(e){return[o[e].name,o[e].value]});global.fetch(e._opts.url,{method:e._opts.method,headers:n,body:t,mode:\"cors\",credentials:r.withCredentials?\"include\":\"same-origin\"}).then(function(t){e._fetchResponse=t,e._connect()},function(t){e.emit(\"error\",t)})}else{var s=e._xhr=new global.XMLHttpRequest;try{s.open(e._opts.method,e._opts.url,!0)}catch(i){return void process.nextTick(function(){e.emit(\"error\",i)})}\"responseType\"in s&&(s.responseType=e._mode.split(\":\")[0]),\"withCredentials\"in s&&(s.withCredentials=!!r.withCredentials),\"text\"===e._mode&&\"overrideMimeType\"in s&&s.overrideMimeType(\"text/plain; charset=x-user-defined\"),Object.keys(o).forEach(function(e){s.setRequestHeader(o[e].name,o[e].value)}),e._response=null,s.onreadystatechange=function(){switch(s.readyState){case rStates.LOADING:case rStates.DONE:e._onXHRProgress()}},\"moz-chunked-arraybuffer\"===e._mode&&(s.onprogress=function(){e._onXHRProgress()}),s.onerror=function(){e._destroyed||e.emit(\"error\",new Error(\"XHR error\"))};try{s.send(t)}catch(i){return void process.nextTick(function(){e.emit(\"error\",i)})}}}},ClientRequest.prototype._onXHRProgress=function(){var e=this;statusValid(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress())},ClientRequest.prototype._connect=function(){var e=this;e._destroyed||(e._response=new IncomingMessage(e._xhr,e._fetchResponse,e._mode),e.emit(\"response\",e._response))},ClientRequest.prototype._write=function(e,t,r){var o=this;o._body.push(e),r()},ClientRequest.prototype.abort=ClientRequest.prototype.destroy=function(){var e=this;e._destroyed=!0,e._response&&(e._response._destroyed=!0),e._xhr&&e._xhr.abort()},ClientRequest.prototype.end=function(e,t,r){var o=this;\"function\"==typeof e&&(r=e,e=void 0),stream.Writable.prototype.end.call(o,e,t,r)},ClientRequest.prototype.flushHeaders=function(){},ClientRequest.prototype.setTimeout=function(){},ClientRequest.prototype.setNoDelay=function(){},ClientRequest.prototype.setSocketKeepAlive=function(){};var unsafeHeaders=[\"accept-charset\",\"accept-encoding\",\"access-control-request-headers\",\"access-control-request-method\",\"connection\",\"content-length\",\"cookie\",\"cookie2\",\"date\",\"dnt\",\"expect\",\"host\",\"keep-alive\",\"origin\",\"referer\",\"te\",\"trailer\",\"transfer-encoding\",\"upgrade\",\"user-agent\",\"via\"];\n\n  }).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {},require(\"buffer\").Buffer)\n\n  },{\"./capability\":88,\"./response\":90,\"_process\":71,\"buffer\":25,\"inherits\":35,\"stream\":86,\"to-arraybuffer\":92}],90:[function(require,module,exports){\n  (function (process,global,Buffer){\n  var capability=require(\"./capability\"),inherits=require(\"inherits\"),stream=require(\"stream\"),rStates=exports.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},IncomingMessage=exports.IncomingMessage=function(e,r,s){function a(){u.read().then(function(e){if(!t._destroyed){if(e.done)return void t.push(null);t.push(new Buffer(e.value)),a()}})}var t=this;if(stream.Readable.call(t),t._mode=s,t.headers={},t.rawHeaders=[],t.trailers={},t.rawTrailers=[],t.on(\"end\",function(){process.nextTick(function(){t.emit(\"close\")})}),\"fetch\"===s){t._fetchResponse=r,t.statusCode=r.status,t.statusMessage=r.statusText;for(var n,o,i=r.headers[Symbol.iterator]();n=(o=i.next()).value,!o.done;)t.headers[n[0].toLowerCase()]=n[1],t.rawHeaders.push(n[0],n[1]);var u=r.body.getReader();a()}else{t._xhr=e,t._pos=0,t.statusCode=e.status,t.statusMessage=e.statusText;var h=e.getAllResponseHeaders().split(/\\r?\\n/);if(h.forEach(function(e){var r=e.match(/^([^:]+):\\s*(.*)/);if(r){var s=r[1].toLowerCase();\"set-cookie\"===s?(void 0===t.headers[s]&&(t.headers[s]=[]),t.headers[s].push(r[2])):void 0!==t.headers[s]?t.headers[s]+=\", \"+r[2]:t.headers[s]=r[2],t.rawHeaders.push(r[1],r[2])}}),t._charset=\"x-user-defined\",!capability.overrideMimeType){var d=t.rawHeaders[\"mime-type\"];if(d){var f=d.match(/;\\s*charset=([^;])(;|$)/);f&&(t._charset=f[1].toLowerCase())}t._charset||(t._charset=\"utf-8\")}}};inherits(IncomingMessage,stream.Readable),IncomingMessage.prototype._read=function(){},IncomingMessage.prototype._onXHRProgress=function(){var e=this,r=e._xhr,s=null;switch(e._mode){case\"text:vbarray\":if(r.readyState!==rStates.DONE)break;try{s=new global.VBArray(r.responseBody).toArray()}catch(a){}if(null!==s){e.push(new Buffer(s));break}case\"text\":try{s=r.responseText}catch(a){e._mode=\"text:vbarray\";break}if(s.length>e._pos){var t=s.substr(e._pos);if(\"x-user-defined\"===e._charset){for(var n=new Buffer(t.length),o=0;o<t.length;o++)n[o]=255&t.charCodeAt(o);e.push(n)}else e.push(t,e._charset);e._pos=s.length}break;case\"arraybuffer\":if(r.readyState!==rStates.DONE)break;s=r.response,e.push(new Buffer(new Uint8Array(s)));break;case\"moz-chunked-arraybuffer\":if(s=r.response,r.readyState!==rStates.LOADING||!s)break;e.push(new Buffer(new Uint8Array(s)));break;case\"ms-stream\":if(s=r.response,r.readyState!==rStates.LOADING)break;var i=new global.MSStreamReader;i.onprogress=function(){i.result.byteLength>e._pos&&(e.push(new Buffer(new Uint8Array(i.result.slice(e._pos)))),e._pos=i.result.byteLength)},i.onload=function(){e.push(null)},i.readAsArrayBuffer(s)}e._xhr.readyState===rStates.DONE&&\"ms-stream\"!==e._mode&&e.push(null)};\n\n  }).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {},require(\"buffer\").Buffer)\n\n  },{\"./capability\":88,\"_process\":71,\"buffer\":25,\"inherits\":35,\"stream\":86}],91:[function(require,module,exports){\n  function assertEncoding(e){if(e&&!isBufferEncoding(e))throw new Error(\"Unknown encoding: \"+e)}function passThroughWrite(e){return e.toString(this.encoding)}function utf16DetectIncompleteChar(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function base64DetectIncompleteChar(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var Buffer=require(\"buffer\").Buffer,isBufferEncoding=Buffer.isEncoding||function(e){switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}},StringDecoder=exports.StringDecoder=function(e){switch(this.encoding=(e||\"utf8\").toLowerCase().replace(/[-_]/,\"\"),assertEncoding(e),this.encoding){case\"utf8\":this.surrogateSize=3;break;case\"ucs2\":case\"utf16le\":this.surrogateSize=2,this.detectIncompleteChar=utf16DetectIncompleteChar;break;case\"base64\":this.surrogateSize=3,this.detectIncompleteChar=base64DetectIncompleteChar;break;default:return void(this.write=passThroughWrite)}this.charBuffer=new Buffer(6),this.charReceived=0,this.charLength=0};StringDecoder.prototype.write=function(e){for(var t=\"\";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return\"\";e=e.slice(r,e.length),t=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var h=t.charCodeAt(t.length-1);if(!(h>=55296&&56319>=h)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=\"\"}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),t+=e.toString(this.encoding,0,i);var i=t.length-1,h=t.charCodeAt(i);if(h>=55296&&56319>=h){var c=this.surrogateSize;return this.charLength+=c,this.charReceived+=c,this.charBuffer.copy(this.charBuffer,c,0,c),e.copy(this.charBuffer,0,0,c),t.substring(0,i)}return t},StringDecoder.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(2>=t&&r>>4==14){this.charLength=3;break}if(3>=t&&r>>3==30){this.charLength=4;break}}this.charReceived=t},StringDecoder.prototype.end=function(e){var t=\"\";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,h=this.charBuffer,i=this.encoding;t+=h.slice(0,r).toString(i)}return t};\n\n  },{\"buffer\":25}],92:[function(require,module,exports){\n  var Buffer=require(\"buffer\").Buffer;module.exports=function(e){if(e instanceof Uint8Array){if(0===e.byteOffset&&e.byteLength===e.buffer.byteLength)return e.buffer;if(\"function\"==typeof e.buffer.slice)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(Buffer.isBuffer(e)){for(var f=new Uint8Array(e.length),r=e.length,t=0;r>t;t++)f[t]=e[t];return f.buffer}throw new Error(\"Argument must be a Buffer\")};\n\n  },{\"buffer\":25}],93:[function(require,module,exports){\n  \"use strict\";function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function urlParse(t,s,e){if(t&&util.isObject(t)&&t instanceof Url)return t;var h=new Url;return h.parse(t,s,e),h}function urlFormat(t){return util.isString(t)&&(t=urlParse(t)),t instanceof Url?t.format():Url.prototype.format.call(t)}function urlResolve(t,s){return urlParse(t,!1,!0).resolve(s)}function urlResolveObject(t,s){return t?urlParse(t,!1,!0).resolveObject(s):s}var punycode=require(\"punycode\"),util=require(\"./util\");exports.parse=urlParse,exports.resolve=urlResolve,exports.resolveObject=urlResolveObject,exports.format=urlFormat,exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,delims=[\"<\",\">\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"    \"],unwise=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(delims),autoEscape=[\"'\"].concat(unwise),nonHostChars=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(autoEscape),hostEndingChars=[\"/\",\"?\",\"#\"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,\"javascript:\":!0},hostlessProtocol={javascript:!0,\"javascript:\":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0},querystring=require(\"querystring\");Url.prototype.parse=function(t,s,e){if(!util.isString(t))throw new TypeError(\"Parameter 'url' must be a string, not \"+typeof t);var h=t.indexOf(\"?\"),r=-1!==h&&h<t.indexOf(\"#\")?\"?\":\"#\",a=t.split(r),o=/\\\\/g;a[0]=a[0].replace(o,\"/\"),t=a.join(r);var n=t;if(n=n.trim(),!e&&1===t.split(\"#\").length){var i=simplePathPattern.exec(n);if(i)return this.path=n,this.href=n,this.pathname=i[1],i[2]?(this.search=i[2],s?this.query=querystring.parse(this.search.substr(1)):this.query=this.search.substr(1)):s&&(this.search=\"\",this.query={}),this}var l=protocolPattern.exec(n);if(l){l=l[0];var u=l.toLowerCase();this.protocol=u,n=n.substr(l.length)}if(e||l||n.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)){var p=\"//\"===n.substr(0,2);!p||l&&hostlessProtocol[l]||(n=n.substr(2),this.slashes=!0)}if(!hostlessProtocol[l]&&(p||l&&!slashedProtocol[l])){for(var c=-1,f=0;f<hostEndingChars.length;f++){var m=n.indexOf(hostEndingChars[f]);-1!==m&&(-1===c||c>m)&&(c=m)}var v,g;g=-1===c?n.lastIndexOf(\"@\"):n.lastIndexOf(\"@\",c),-1!==g&&(v=n.slice(0,g),n=n.slice(g+1),this.auth=decodeURIComponent(v)),c=-1;for(var f=0;f<nonHostChars.length;f++){var m=n.indexOf(nonHostChars[f]);-1!==m&&(-1===c||c>m)&&(c=m)}-1===c&&(c=n.length),this.host=n.slice(0,c),n=n.slice(c),this.parseHost(),this.hostname=this.hostname||\"\";var y=\"[\"===this.hostname[0]&&\"]\"===this.hostname[this.hostname.length-1];if(!y)for(var P=this.hostname.split(/\\./),f=0,d=P.length;d>f;f++){var q=P[f];if(q&&!q.match(hostnamePartPattern)){for(var b=\"\",O=0,j=q.length;j>O;O++)b+=q.charCodeAt(O)>127?\"x\":q[O];if(!b.match(hostnamePartPattern)){var x=P.slice(0,f),U=P.slice(f+1),C=q.match(hostnamePartStart);C&&(x.push(C[1]),U.unshift(C[2])),U.length&&(n=\"/\"+U.join(\".\")+n),this.hostname=x.join(\".\");break}}}this.hostname.length>hostnameMaxLen?this.hostname=\"\":this.hostname=this.hostname.toLowerCase(),y||(this.hostname=punycode.toASCII(this.hostname));var A=this.port?\":\"+this.port:\"\",w=this.hostname||\"\";this.host=w+A,this.href+=this.host,y&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\"/\"!==n[0]&&(n=\"/\"+n))}if(!unsafeProtocol[u])for(var f=0,d=autoEscape.length;d>f;f++){var E=autoEscape[f];if(-1!==n.indexOf(E)){var I=encodeURIComponent(E);I===E&&(I=escape(E)),n=n.split(E).join(I)}}var R=n.indexOf(\"#\");-1!==R&&(this.hash=n.substr(R),n=n.slice(0,R));var S=n.indexOf(\"?\");if(-1!==S?(this.search=n.substr(S),this.query=n.substr(S+1),s&&(this.query=querystring.parse(this.query)),n=n.slice(0,S)):s&&(this.search=\"\",this.query={}),n&&(this.pathname=n),slashedProtocol[u]&&this.hostname&&!this.pathname&&(this.pathname=\"/\"),this.pathname||this.search){var A=this.pathname||\"\",k=this.search||\"\";this.path=A+k}return this.href=this.format(),this},Url.prototype.format=function(){var t=this.auth||\"\";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,\":\"),t+=\"@\");var s=this.protocol||\"\",e=this.pathname||\"\",h=this.hash||\"\",r=!1,a=\"\";this.host?r=t+this.host:this.hostname&&(r=t+(-1===this.hostname.indexOf(\":\")?this.hostname:\"[\"+this.hostname+\"]\"),this.port&&(r+=\":\"+this.port)),this.query&&util.isObject(this.query)&&Object.keys(this.query).length&&(a=querystring.stringify(this.query));var o=this.search||a&&\"?\"+a||\"\";return s&&\":\"!==s.substr(-1)&&(s+=\":\"),this.slashes||(!s||slashedProtocol[s])&&r!==!1?(r=\"//\"+(r||\"\"),e&&\"/\"!==e.charAt(0)&&(e=\"/\"+e)):r||(r=\"\"),h&&\"#\"!==h.charAt(0)&&(h=\"#\"+h),o&&\"?\"!==o.charAt(0)&&(o=\"?\"+o),e=e.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),o=o.replace(\"#\",\"%23\"),s+r+e+o+h},Url.prototype.resolve=function(t){return this.resolveObject(urlParse(t,!1,!0)).format()},Url.prototype.resolveObject=function(t){if(util.isString(t)){var s=new Url;s.parse(t,!1,!0),t=s}for(var e=new Url,h=Object.keys(this),r=0;r<h.length;r++){var a=h[r];e[a]=this[a]}if(e.hash=t.hash,\"\"===t.href)return e.href=e.format(),e;if(t.slashes&&!t.protocol){for(var o=Object.keys(t),n=0;n<o.length;n++){var i=o[n];\"protocol\"!==i&&(e[i]=t[i])}return slashedProtocol[e.protocol]&&e.hostname&&!e.pathname&&(e.path=e.pathname=\"/\"),e.href=e.format(),e}if(t.protocol&&t.protocol!==e.protocol){if(!slashedProtocol[t.protocol]){for(var l=Object.keys(t),u=0;u<l.length;u++){var p=l[u];e[p]=t[p]}return e.href=e.format(),e}if(e.protocol=t.protocol,t.host||hostlessProtocol[t.protocol])e.pathname=t.pathname;else{for(var c=(t.pathname||\"\").split(\"/\");c.length&&!(t.host=c.shift()););t.host||(t.host=\"\"),t.hostname||(t.hostname=\"\"),\"\"!==c[0]&&c.unshift(\"\"),c.length<2&&c.unshift(\"\"),e.pathname=c.join(\"/\")}if(e.search=t.search,e.query=t.query,e.host=t.host||\"\",e.auth=t.auth,e.hostname=t.hostname||t.host,e.port=t.port,e.pathname||e.search){var f=e.pathname||\"\",m=e.search||\"\";e.path=f+m}return e.slashes=e.slashes||t.slashes,e.href=e.format(),e}var v=e.pathname&&\"/\"===e.pathname.charAt(0),g=t.host||t.pathname&&\"/\"===t.pathname.charAt(0),y=g||v||e.host&&t.pathname,P=y,d=e.pathname&&e.pathname.split(\"/\")||[],c=t.pathname&&t.pathname.split(\"/\")||[],q=e.protocol&&!slashedProtocol[e.protocol];if(q&&(e.hostname=\"\",e.port=null,e.host&&(\"\"===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=\"\",t.protocol&&(t.hostname=null,t.port=null,t.host&&(\"\"===c[0]?c[0]=t.host:c.unshift(t.host)),t.host=null),y=y&&(\"\"===c[0]||\"\"===d[0])),g)e.host=t.host||\"\"===t.host?t.host:e.host,e.hostname=t.hostname||\"\"===t.hostname?t.hostname:e.hostname,e.search=t.search,e.query=t.query,d=c;else if(c.length)d||(d=[]),d.pop(),d=d.concat(c),e.search=t.search,e.query=t.query;else if(!util.isNullOrUndefined(t.search)){if(q){e.hostname=e.host=d.shift();var b=e.host&&e.host.indexOf(\"@\")>0?e.host.split(\"@\"):!1;b&&(e.auth=b.shift(),e.host=e.hostname=b.shift())}return e.search=t.search,e.query=t.query,util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:\"\")+(e.search?e.search:\"\")),e.href=e.format(),e}if(!d.length)return e.pathname=null,e.search?e.path=\"/\"+e.search:e.path=null,e.href=e.format(),e;for(var O=d.slice(-1)[0],j=(e.host||t.host||d.length>1)&&(\".\"===O||\"..\"===O)||\"\"===O,x=0,U=d.length;U>=0;U--)O=d[U],\".\"===O?d.splice(U,1):\"..\"===O?(d.splice(U,1),x++):x&&(d.splice(U,1),x--);if(!y&&!P)for(;x--;x)d.unshift(\"..\");!y||\"\"===d[0]||d[0]&&\"/\"===d[0].charAt(0)||d.unshift(\"\"),j&&\"/\"!==d.join(\"/\").substr(-1)&&d.push(\"\");var C=\"\"===d[0]||d[0]&&\"/\"===d[0].charAt(0);if(q){e.hostname=e.host=C?\"\":d.length?d.shift():\"\";var b=e.host&&e.host.indexOf(\"@\")>0?e.host.split(\"@\"):!1;b&&(e.auth=b.shift(),e.host=e.hostname=b.shift())}return y=y||e.host&&d.length,y&&!C&&d.unshift(\"\"),d.length?e.pathname=d.join(\"/\"):(e.pathname=null,e.path=null),util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:\"\")+(e.search?e.search:\"\")),e.auth=t.auth||e.auth,e.slashes=e.slashes||t.slashes,e.href=e.format(),e},Url.prototype.parseHost=function(){var t=this.host,s=portPattern.exec(t);s&&(s=s[0],\":\"!==s&&(this.port=s.substr(1)),t=t.substr(0,t.length-s.length)),t&&(this.hostname=t)};\n\n  },{\"./util\":94,\"punycode\":72,\"querystring\":75}],94:[function(require,module,exports){\n  \"use strict\";module.exports={isString:function(n){return\"string\"==typeof n},isObject:function(n){return\"object\"==typeof n&&null!==n},isNull:function(n){return null===n},isNullOrUndefined:function(n){return null==n}};\n\n  },{}],95:[function(require,module,exports){\n  (function (global){\n  function deprecate(r,e){function o(){if(!t){if(config(\"throwDeprecation\"))throw new Error(e);config(\"traceDeprecation\")?console.trace(e):console.warn(e),t=!0}return r.apply(this,arguments)}if(config(\"noDeprecation\"))return r;var t=!1;return o}function config(r){try{if(!global.localStorage)return!1}catch(e){return!1}var o=global.localStorage[r];return null==o?!1:\"true\"===String(o).toLowerCase()}module.exports=deprecate;\n\n  }).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n  },{}],96:[function(require,module,exports){\n  module.exports=function(o){return o&&\"object\"==typeof o&&\"function\"==typeof o.copy&&\"function\"==typeof o.fill&&\"function\"==typeof o.readUInt8};\n\n  },{}],97:[function(require,module,exports){\n  (function (process,global){\n  function inspect(e,r){var t={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c=\"\",a=!1,l=[\"{\",\"}\"];if(isArray(r)&&(a=!0,l=[\"[\",\"]\"]),isFunction(r)){var p=r.name?\": \"+r.name:\"\";c=\" [Function\"+p+\"]\"}if(isRegExp(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(c=\" \"+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(0>t)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;u>s;++s)hasOwnProperty(r,String(s))?o.push(formatProperty(e,r,t,n,String(s),!0)):o.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||o.push(formatProperty(e,r,t,n,i,!0))}),o}function formatProperty(e,r,t,n,i,o){var s,u,c;if(c=Object.getOwnPropertyDescriptor(r,i)||{value:r[i]},c.get?u=c.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):c.set&&(u=e.stylize(\"[Setter]\",\"special\")),hasOwnProperty(n,i)||(s=\"[\"+i+\"]\"),u||(e.seen.indexOf(c.value)<0?(u=isNull(t)?formatValue(e,c.value,null):formatValue(e,c.value,t-1),u.indexOf(\"\\n\")>-1&&(u=o?u.split(\"\\n\").map(function(e){return\"  \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\"   \"+e}).join(\"\\n\"))):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;s=JSON.stringify(\"\"+i),s.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return 10>e?\"0\"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t<arguments.length;t++)r.push(inspect(arguments[t]));return r.join(\" \")}for(var t=1,n=arguments,i=n.length,o=String(e).replace(formatRegExp,function(e){if(\"%%\"===e)return\"%\";if(t>=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(r){return\"[Circular]\"}default:return e}}),s=n[t];i>t;s=n[++t])o+=isNull(s)||!isObject(s)?\" \"+s:\" \"+inspect(s);return o},exports.deprecate=function(e,r){function t(){if(!n){if(process.throwDeprecation)throw new Error(r);process.traceDeprecation?console.trace(r):console.error(r),n=!0}return e.apply(this,arguments)}if(isUndefined(global.process))return function(){return exports.deprecate(e,r).apply(this,arguments)};if(process.noDeprecation===!0)return e;var n=!1;return t};var debugs={},debugEnviron;exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!debugs[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error(\"%s %d: %s\",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:\"cyan\",number:\"yellow\",\"boolean\":\"yellow\",undefined:\"grey\",\"null\":\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require(\"./support/isBuffer\");var months=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];exports.log=function(){console.log(\"%s - %s\",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require(\"inherits\"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e};\n\n  }).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n  },{\"./support/isBuffer\":96,\"_process\":71,\"inherits\":35}],98:[function(require,module,exports){\n  function extend(){for(var r={},e=0;e<arguments.length;e++){var t=arguments[e];for(var n in t)hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;\n\n  },{}]},{},[3])(3)\n  });\n  </script>\n  <script>\n  // https://github.com/isaacs/json-stringify-safe v5.0.1\n  function stringify(obj, replacer, spaces, cycleReplacer) {\n    return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces)\n  }\n\n  function serializer(replacer, cycleReplacer) {\n    var stack = [], keys = []\n\n    if (cycleReplacer == null) cycleReplacer = function(key, value) {\n      if (stack[0] === value) return \"[Circular ~]\"\n      return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\"\n    }\n\n    return function(key, value) {\n      if (stack.length > 0) {\n        var thisPos = stack.indexOf(this)\n        ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\n        ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key)\n        if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value)\n      }\n      else stack.push(value)\n\n      return replacer == null ? value : replacer.call(this, key, value)\n    }\n  }\n  </script>\n  <script>\n  /* Web Font Loader v1.6.24 - (c) Adobe Systems, Google. License: Apache 2.0 */\n  (function(){function aa(a,b,d){return a.call.apply(a.bind,arguments)}function ba(a,b,d){if(!a)throw Error();if(2<arguments.length){var c=Array.prototype.slice.call(arguments,2);return function(){var d=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(d,c);return a.apply(b,d)}}return function(){return a.apply(b,arguments)}}function p(a,b,d){p=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf(\"native code\")?aa:ba;return p.apply(null,arguments)}var q=Date.now||function(){return+new Date};function ca(a,b){this.a=a;this.m=b||a;this.c=this.m.document}var da=!!window.FontFace;function t(a,b,d,c){b=a.c.createElement(b);if(d)for(var e in d)d.hasOwnProperty(e)&&(\"style\"==e?b.style.cssText=d[e]:b.setAttribute(e,d[e]));c&&b.appendChild(a.c.createTextNode(c));return b}function u(a,b,d){a=a.c.getElementsByTagName(b)[0];a||(a=document.documentElement);a.insertBefore(d,a.lastChild)}function v(a){a.parentNode&&a.parentNode.removeChild(a)}\n  function w(a,b,d){b=b||[];d=d||[];for(var c=a.className.split(/\\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<c.length;g+=1)if(b[e]===c[g]){f=!0;break}f||c.push(b[e])}b=[];for(e=0;e<c.length;e+=1){f=!1;for(g=0;g<d.length;g+=1)if(c[e]===d[g]){f=!0;break}f||b.push(c[e])}a.className=b.join(\" \").replace(/\\s+/g,\" \").replace(/^\\s+|\\s+$/,\"\")}function y(a,b){for(var d=a.className.split(/\\s+/),c=0,e=d.length;c<e;c++)if(d[c]==b)return!0;return!1}\n  function z(a){if(\"string\"===typeof a.f)return a.f;var b=a.m.location.protocol;\"about:\"==b&&(b=a.a.location.protocol);return\"https:\"==b?\"https:\":\"http:\"}function ea(a){return a.m.location.hostname||a.a.location.hostname}\n  function A(a,b,d){function c(){k&&e&&f&&(k(g),k=null)}b=t(a,\"link\",{rel:\"stylesheet\",href:b,media:\"all\"});var e=!1,f=!0,g=null,k=d||null;da?(b.onload=function(){e=!0;c()},b.onerror=function(){e=!0;g=Error(\"Stylesheet failed to load\");c()}):setTimeout(function(){e=!0;c()},0);u(a,\"head\",b)}\n  function B(a,b,d,c){var e=a.c.getElementsByTagName(\"head\")[0];if(e){var f=t(a,\"script\",{src:b}),g=!1;f.onload=f.onreadystatechange=function(){g||this.readyState&&\"loaded\"!=this.readyState&&\"complete\"!=this.readyState||(g=!0,d&&d(null),f.onload=f.onreadystatechange=null,\"HEAD\"==f.parentNode.tagName&&e.removeChild(f))};e.appendChild(f);setTimeout(function(){g||(g=!0,d&&d(Error(\"Script load timeout\")))},c||5E3);return f}return null};function C(){this.a=0;this.c=null}function D(a){a.a++;return function(){a.a--;E(a)}}function F(a,b){a.c=b;E(a)}function E(a){0==a.a&&a.c&&(a.c(),a.c=null)};function G(a){this.a=a||\"-\"}G.prototype.c=function(a){for(var b=[],d=0;d<arguments.length;d++)b.push(arguments[d].replace(/[\\W_]+/g,\"\").toLowerCase());return b.join(this.a)};function H(a,b){this.c=a;this.f=4;this.a=\"n\";var d=(b||\"n4\").match(/^([nio])([1-9])$/i);d&&(this.a=d[1],this.f=parseInt(d[2],10))}function fa(a){return I(a)+\" \"+(a.f+\"00\")+\" 300px \"+J(a.c)}function J(a){var b=[];a=a.split(/,\\s*/);for(var d=0;d<a.length;d++){var c=a[d].replace(/['\"]/g,\"\");-1!=c.indexOf(\" \")||/^\\d/.test(c)?b.push(\"'\"+c+\"'\"):b.push(c)}return b.join(\",\")}function K(a){return a.a+a.f}function I(a){var b=\"normal\";\"o\"===a.a?b=\"oblique\":\"i\"===a.a&&(b=\"italic\");return b}\n  function ga(a){var b=4,d=\"n\",c=null;a&&((c=a.match(/(normal|oblique|italic)/i))&&c[1]&&(d=c[1].substr(0,1).toLowerCase()),(c=a.match(/([1-9]00|normal|bold)/i))&&c[1]&&(/bold/i.test(c[1])?b=7:/[1-9]00/.test(c[1])&&(b=parseInt(c[1].substr(0,1),10))));return d+b};function ha(a,b){this.c=a;this.f=a.m.document.documentElement;this.h=b;this.a=new G(\"-\");this.j=!1!==b.events;this.g=!1!==b.classes}function ia(a){a.g&&w(a.f,[a.a.c(\"wf\",\"loading\")]);L(a,\"loading\")}function M(a){if(a.g){var b=y(a.f,a.a.c(\"wf\",\"active\")),d=[],c=[a.a.c(\"wf\",\"loading\")];b||d.push(a.a.c(\"wf\",\"inactive\"));w(a.f,d,c)}L(a,\"inactive\")}function L(a,b,d){if(a.j&&a.h[b])if(d)a.h[b](d.c,K(d));else a.h[b]()};function ja(){this.c={}}function ka(a,b,d){var c=[],e;for(e in b)if(b.hasOwnProperty(e)){var f=a.c[e];f&&c.push(f(b[e],d))}return c};function N(a,b){this.c=a;this.f=b;this.a=t(this.c,\"span\",{\"aria-hidden\":\"true\"},this.f)}function O(a){u(a.c,\"body\",a.a)}function P(a){return\"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:\"+J(a.c)+\";\"+(\"font-style:\"+I(a)+\";font-weight:\"+(a.f+\"00\")+\";\")};function Q(a,b,d,c,e,f){this.g=a;this.j=b;this.a=c;this.c=d;this.f=e||3E3;this.h=f||void 0}Q.prototype.start=function(){var a=this.c.m.document,b=this,d=q(),c=new Promise(function(c,e){function k(){q()-d>=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?c():setTimeout(k,25)},function(){e()})}k()}),e=new Promise(function(a,c){setTimeout(c,b.f)});Promise.race([e,c]).then(function(){b.g(b.a)},function(){b.j(b.a)})};function R(a,b,d,c,e,f,g){this.v=a;this.B=b;this.c=d;this.a=c;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.o=this.j=this.h=this.g=null;this.g=new N(this.c,this.s);this.h=new N(this.c,this.s);this.j=new N(this.c,this.s);this.o=new N(this.c,this.s);a=new H(this.a.c+\",serif\",K(this.a));a=P(a);this.g.a.style.cssText=a;a=new H(this.a.c+\",sans-serif\",K(this.a));a=P(a);this.h.a.style.cssText=a;a=new H(\"serif\",K(this.a));a=P(a);this.j.a.style.cssText=a;a=new H(\"sans-serif\",K(this.a));a=\n  P(a);this.o.a.style.cssText=a;O(this.g);O(this.h);O(this.j);O(this.o)}var S={D:\"serif\",C:\"sans-serif\"},T=null;function U(){if(null===T){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);T=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return T}R.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.o.a.offsetWidth;this.A=q();la(this)};\n  function ma(a,b,d){for(var c in S)if(S.hasOwnProperty(c)&&b===a.f[S[c]]&&d===a.f[S[c]])return!0;return!1}function la(a){var b=a.g.a.offsetWidth,d=a.h.a.offsetWidth,c;(c=b===a.f.serif&&d===a.f[\"sans-serif\"])||(c=U()&&ma(a,b,d));c?q()-a.A>=a.w?U()&&ma(a,b,d)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):na(a):V(a,a.v)}function na(a){setTimeout(p(function(){la(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.o.a);b(this.a)},a),0)};function W(a,b,d){this.c=a;this.a=b;this.f=0;this.o=this.j=!1;this.s=d}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,K(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,K(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,K(a).toString(),\"inactive\")]);L(b,\"fontactive\",a);this.o=!0;oa(this)};\n  W.prototype.h=function(a){var b=this.a;if(b.g){var d=y(b.f,b.a.c(\"wf\",a.c,K(a).toString(),\"active\")),c=[],e=[b.a.c(\"wf\",a.c,K(a).toString(),\"loading\")];d||c.push(b.a.c(\"wf\",a.c,K(a).toString(),\"inactive\"));w(b.f,c,e)}L(b,\"fontinactive\",a);oa(this)};function oa(a){0==--a.f&&a.j&&(a.o?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),L(a,\"active\")):M(a.a))};function pa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}pa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;qa(this,new ha(this.c,a),a)};\n  function ra(a,b,d,c,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,k=c||null||{};if(0===d.length&&f)M(b.a);else{b.f+=d.length;f&&(b.j=f);var h,m=[];for(h=0;h<d.length;h++){var l=d[h],n=k[l.c],r=b.a,x=l;r.g&&w(r.f,[r.a.c(\"wf\",x.c,K(x).toString(),\"loading\")]);L(r,\"fontloading\",x);r=null;null===X&&(X=window.FontFace?(x=/Gecko.*Firefox\\/(\\d+)/.exec(window.navigator.userAgent))?42<parseInt(x[1],10):!0:!1);X?r=new Q(p(b.g,b),p(b.h,b),b.c,l,b.s,n):r=new R(p(b.g,b),p(b.h,b),b.c,l,b.s,a,\n  n);m.push(r)}for(h=0;h<m.length;h++)m[h].start()}},0)}function qa(a,b,d){var c=[],e=d.timeout;ia(b);var c=ka(a.a,d,a.c),f=new W(a.c,b,e);a.h=c.length;b=0;for(d=c.length;b<d;b++)c[b].load(function(b,c,d){ra(a,f,b,c,d)})};function sa(a,b){this.c=a;this.a=b}function ta(a,b,d){var c=z(a.c);a=(a.a.api||\"fast.fonts.net/jsapi\").replace(/^.*http(s?):(\\/\\/)?/,\"\");return c+\"//\"+a+\"/\"+b+\".js\"+(d?\"?v=\"+d:\"\")}\n  sa.prototype.load=function(a){function b(){if(e[\"__mti_fntLst\"+d]){var c=e[\"__mti_fntLst\"+d](),g=[],k;if(c)for(var h=0;h<c.length;h++){var m=c[h].fontfamily;void 0!=c[h].fontStyle&&void 0!=c[h].fontWeight?(k=c[h].fontStyle+c[h].fontWeight,g.push(new H(m,k))):g.push(new H(m))}a(g)}else setTimeout(function(){b()},50)}var d=this.a.projectId,c=this.a.version;if(d){var e=this.c.m;B(this.c,ta(this,d,c),function(c){c?a([]):b()}).id=\"__MonotypeAPIScript__\"+d}else a([])};function ua(a,b){this.c=a;this.a=b}ua.prototype.load=function(a){var b,d,c=this.a.urls||[],e=this.a.families||[],f=this.a.testStrings||{},g=new C;b=0;for(d=c.length;b<d;b++)A(this.c,c[b],D(g));var k=[];b=0;for(d=e.length;b<d;b++)if(c=e[b].split(\":\"),c[1])for(var h=c[1].split(\",\"),m=0;m<h.length;m+=1)k.push(new H(c[0],h[m]));else k.push(new H(c[0]));F(g,function(){a(k,f)})};function va(a,b,d){a?this.c=a:this.c=b+wa;this.a=[];this.f=[];this.g=d||\"\"}var wa=\"//fonts.googleapis.com/css\";function xa(a,b){for(var d=b.length,c=0;c<d;c++){var e=b[c].split(\":\");3==e.length&&a.f.push(e.pop());var f=\"\";2==e.length&&\"\"!=e[1]&&(f=\":\");a.a.push(e.join(f))}}\n  function ya(a){if(0==a.a.length)throw Error(\"No fonts to load!\");if(-1!=a.c.indexOf(\"kit=\"))return a.c;for(var b=a.a.length,d=[],c=0;c<b;c++)d.push(a.a[c].replace(/ /g,\"+\"));b=a.c+\"?family=\"+d.join(\"%7C\");0<a.f.length&&(b+=\"&subset=\"+a.f.join(\",\"));0<a.g.length&&(b+=\"&text=\"+encodeURIComponent(a.g));return b};function za(a){this.f=a;this.a=[];this.c={}}\n  var Aa={latin:\"BESbswy\",cyrillic:\"\\u0439\\u044f\\u0416\",greek:\"\\u03b1\\u03b2\\u03a3\",khmer:\"\\u1780\\u1781\\u1782\",Hanuman:\"\\u1780\\u1781\\u1782\"},Ba={thin:\"1\",extralight:\"2\",\"extra-light\":\"2\",ultralight:\"2\",\"ultra-light\":\"2\",light:\"3\",regular:\"4\",book:\"4\",medium:\"5\",\"semi-bold\":\"6\",semibold:\"6\",\"demi-bold\":\"6\",demibold:\"6\",bold:\"7\",\"extra-bold\":\"8\",extrabold:\"8\",\"ultra-bold\":\"8\",ultrabold:\"8\",black:\"9\",heavy:\"9\",l:\"3\",r:\"4\",b:\"7\"},Ca={i:\"i\",italic:\"i\",n:\"n\",normal:\"n\"},Da=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;\n  function Ea(a){for(var b=a.f.length,d=0;d<b;d++){var c=a.f[d].split(\":\"),e=c[0].replace(/\\+/g,\" \"),f=[\"n4\"];if(2<=c.length){var g;var k=c[1];g=[];if(k)for(var k=k.split(\",\"),h=k.length,m=0;m<h;m++){var l;l=k[m];if(l.match(/^[\\w-]+$/)){var n=Da.exec(l.toLowerCase());if(null==n)l=\"\";else{l=n[2];l=null==l||\"\"==l?\"n\":Ca[l];n=n[1];if(null==n||\"\"==n)n=\"4\";else var r=Ba[n],n=r?r:isNaN(n)?\"4\":n.substr(0,1);l=[l,n].join(\"\")}}else l=\"\";l&&g.push(l)}0<g.length&&(f=g);3==c.length&&(c=c[2],g=[],c=c?c.split(\",\"):\n  g,0<c.length&&(c=Aa[c[0]])&&(a.c[e]=c))}a.c[e]||(c=Aa[e])&&(a.c[e]=c);for(c=0;c<f.length;c+=1)a.a.push(new H(e,f[c]))}};function Fa(a,b){this.c=a;this.a=b}var Ga={Arimo:!0,Cousine:!0,Tinos:!0};Fa.prototype.load=function(a){var b=new C,d=this.c,c=new va(this.a.api,z(d),this.a.text),e=this.a.families;xa(c,e);var f=new za(e);Ea(f);A(d,ya(c),D(b));F(b,function(){a(f.a,f.c,Ga)})};function Ha(a,b){this.c=a;this.a=b}Ha.prototype.load=function(a){var b=this.a.id,d=this.c.m;b?B(this.c,(this.a.api||\"https://use.typekit.net\")+\"/\"+b+\".js\",function(b){if(b)a([]);else if(d.Typekit&&d.Typekit.config&&d.Typekit.config.fn){b=d.Typekit.config.fn;for(var e=[],f=0;f<b.length;f+=2)for(var g=b[f],k=b[f+1],h=0;h<k.length;h++)e.push(new H(g,k[h]));try{d.Typekit.load({events:!1,classes:!1,async:!0})}catch(m){}a(e)}},2E3):a([])};function Ia(a,b){this.c=a;this.f=b;this.a=[]}Ia.prototype.load=function(a){var b=this.f.id,d=this.c.m,c=this;b?(d.__webfontfontdeckmodule__||(d.__webfontfontdeckmodule__={}),d.__webfontfontdeckmodule__[b]=function(b,d){for(var g=0,k=d.fonts.length;g<k;++g){var h=d.fonts[g];c.a.push(new H(h.name,ga(\"font-weight:\"+h.weight+\";font-style:\"+h.style)))}a(c.a)},B(this.c,z(this.c)+(this.f.api||\"//f.fontdeck.com/s/css/js/\")+ea(this.c)+\"/\"+b+\".js\",function(b){b&&a([])})):a([])};var Y=new pa(window);Y.a.c.custom=function(a,b){return new ua(b,a)};Y.a.c.fontdeck=function(a,b){return new Ia(b,a)};Y.a.c.monotype=function(a,b){return new sa(b,a)};Y.a.c.typekit=function(a,b){return new Ha(b,a)};Y.a.c.google=function(a,b){return new Fa(b,a)};var Z={load:p(Y.load,Y)};\"function\"===typeof define&&define.amd?define(function(){return Z}):\"undefined\"!==typeof module&&module.exports?module.exports=Z:(window.WebFont=Z,window.WebFontConfig&&Y.load(window.WebFontConfig));}());\n  </script>\n  <script>\n    var schemaWrapper = {};\n    schemaWrapper.components = {};\n    schemaWrapper.components.schemas = Object.assign({}, defs);\n    defsParser = new $RefParser();\n    defsParser.dereference(schemaWrapper).catch(function(err) {\n      console.log(err);\n    });\n  </script>\n  <script>\n  $(document).ready(function () {\n    $('.nav-tabs-examples').find('a:first').tab('show');\n    $(this).scrollspy({ target: '#scrollingNav', offset: 18 });\n  });\n  </script>\n</body>\n</html>\n"
  },
  {
    "path": "medikanren/open-api/yaml-to-json.sh",
    "content": "#!/bin/bash\nset -eufo pipefail\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\npython3 \"$here/yaml2json.py\" < \"$here/TranslatorReasonersAPI.yaml\" > \"$here/TranslatorReasonersAPI.json\"\n"
  },
  {
    "path": "medikanren/open-api/yaml2json.py",
    "content": "import sys, json, yaml\n\ndata = yaml.load(sys.stdin, Loader=yaml.SafeLoader)\nprint(json.dumps(data, indent=4))\n"
  },
  {
    "path": "medikanren/pieces-parts/NOTES-DB.md",
    "content": "- db.rkt exposes the data, and indexes.\n  - Only lookup what you need by offset.\n- mk-db.rkt bridges the gap between db and mk.\n- db:edgeo in mk-db.rkt\n  - db represents an entire database, that contains tables and indexes\n  - edge is miniKanren term to populate\n  - implementation not relational, escapes to Racket and uses indexes according to where the variables are\n- common.rkt provides conde/databases to lookup over all knowledge sources (databases). Uses tagging to disambiguate the knowledge source.\n- dbKanren would enable more things to be done relationally as in Datalog. Express fixpoint computations relationally instead of in Racket. Also will be able to mix top-down and bottom-up relations. Top-down queries prune the search space quickly.\n- propagators are for implementing finite joints.\n\n"
  },
  {
    "path": "medikanren/pieces-parts/NOTES.md",
    "content": "# Queries\n\n- mediKanren has connected lots of DB\n  - with a single query, I am hitting giant DBs to get back answers\n  - one giant query to get all the mk data!\n  - graph: you have to think of it a certain way\n  - vs tables\n  \n- druggable genome\n  - kinease very druggable\n  - protease druggable\n  - transcription factors not so druggable\n  - chemical reaction things are often more druggable\n  - can start with druggable genome\n  - experiment: knock out each gene in a list to see which with the virus survives\n  - allows to add genes \"just in case\" because we know they are druggable\n  - sophisticated intersection:\n    - these are genes involved in the pathways of the virus\n    - set of genes in each functional pathways\n    - complete the set with druggable genes\n    - can use GO ontology\n    - can use algorithms for 'gene enrichment' (the gene list sharpener)\n      - https://indigo.ncats.io/\n- gene interaction\n- tell me the genes associated with a phenotype for a type of disease or disorder\n- drug prioritzation:\n  - here are all the drugs that would buge the genes that would be pro and anti viral.\n  - lower the priority for testing if it exacerbates the disease.\n- bridge are the drugs:\n  - here's a list of drugs. without knowing the gene list, use counter indication information.\n  - this drug is bad for this disease, however it's related.\n- how do you find the drug/genes?\n  - we know the pathways it hijacks in the cell.\n  - virus need to escape detection.\n\n- What repeated queries would be useful?\n  - batch 2-hop query: drug - gene2 - gene1\n    set of gene1s\n  - predicates for upregulates\n  - predicates for downregulates\n  - another way to sort:\n    - strong relationship vs weaker/ambiguous relationship\n  - direction + strength (some tools use that, is it confidence, probability?)\n  - bio example:\n    - all the 1-hops have already been done, because a journal says this uprelates that. relationship is not novel.\n    - with 2-hops, we can know thing that have not been known before. nobody can do that in a way that we can look at 2-hops at the same time, and do the filtering.\n    - here is all the DFA approved drugs from 2-hop from these gene list.\n    - UI: build a gene list, and do things with it.\n    - if ..., filter it out\n    - 2-hop: many thousands of this\n- Understand what do we lose from a drug list that is FDA approved\n  - Resveratrol? FDA-approved\n  - FDA will put a \"generally recognized as safe\"\n  - e.g. tag GRAS: generally recognized as safe\n  - we can put filters, but doctors want to understand the filters\n  - maybe RX norm?\n  - diabetics are in trouble via glucose. in one gene, see evidence that sugar would be bad.\n\n- more exploratory data mining?\n  - as opposed to excel sheet\n\n- when doing up/down regulation, the information comes from semmed db\n  - check against other databases like GO\n- broad has hightroughput experiments\n  - cancer cells + thousands of drugs figuring out gene expression levels\n  - you get quantitive information, an entire profile\n  - can be 2 TB of data\n  - noisy data\n  - across tissue types\n- drug gene budger website\n  - use broad data\n  - to predict whether a drug up or down regulate this gene, with quantitative score\n\n- finding a 'safe' drug to regulate a gene\n  - this drug might have an effect on many genes\n  - look at 2-hop queries: drug -> gene -> gene, -> regulates.\n  - 2-hop queries are a tricky ranking problem\n  - you want to know the off target effects\n\n- at least two notions of ranking\n  - because data is incomplete, or contradictory, or wrong (because of bad NLP)\n  - one notion of ranking: what's the confidence you have this is true\n  - other notion: assuming it's true, how well does it work?\n  - how can you display a query where you express preferences\n  - trade-offs\n\n- goal: improving the ranking for 1- & 2-hop queries for gene budging\n\n- also: how to visualize it?\n\n- or better ways to determine whether a drug is safe\n\n- certain class of queries are really import for both COVID-19 and oncology\n  - set of genes we want to upregulate and set of genes we want to downregulate\n  - one drug can have several effects in the sets of genes, some in the wrong direction, some indirect effects\n\n- for COVID-19\n  - in the COVID universe of gene\n  - an interactome (genetic relation in knock out experiments where virus is impacted)\n  - what are the direct interactors\n  - how to group those in related pathways\n  - how can modulate a pathway?\n  - optimization problem with multiple genes to target\n  - priotization\n  - genetic set from COVID, predictions on the drugs, explanation\n  - other optimization: in vitro screening, say 40 hits, pick one drug per pathway\n  - use reactome to look at cellular pathway information\n  - genetic information: don't use this drug if patient has this gene\n    - https://www.pharmgkb.org/\n  - get the list of drugs that have been successful in fighting the replication of the virus\n    - to test our logic\n    - fights the mechanics of the replication, e.g. the hijacking of organelle, it's not a full human test!\n    - a hit means an attack of how to build a virus\n    \n\n- for Cancer:\n  - same spirit as COVID-19\n  - sequence the tumor, sequence the person, compare the two\n  - if i see a promoter in front of a gene that shouldnt be there,\n    - then targetting the promotor will not do what is expected\n    - drugs that normally have an effect on one gene(s), will have an effect on a totally different gene(s)\n  - experiment in vitro: cut tumor out, and test various drugs in wells for them\n  - done in leukemia\n    - tested every single FDA approved drugs against it\n    - narrowed it down to 300\n   - Are there datasets that showed tumor vs drug that worked?\n     - more machine learning, but maybe can combine with reasoning\n     - do the counting, and see if we get a similar answer\n\n- Recommended Books\n  - Molecular Biology Quick Start\n    https://www.cshlpress.com/default.tpl?cart=1592597073832848389&fromlink=T&linkaction=full&linksortby=oop_title&--eqSKUdatarq=1019\n  - A Genetic Switch, Phage Lambda Revisited\n    https://www.cshlpress.com/default.tpl?cart=1592597118832862691&fromlink=T&linkaction=full&linksortby=oop_title&--eqSKUdatarq=468\n\n# Propagators\n\nIf query structure is not a tree, then you can run into inconsistency.\n\nSituation were arc-consistency is not enough.\n\nA --- B\n \\ C /\n\n```\n(query\n  (concepts\n   (a A)\n   (b B)\n   (c C))\n  (edges\n    (a R1 b)\n    (b R2 c)\n    (c R3 a)))\n\nA: {a1, a2}\nB: {b1, b2}\nC: {c1, c2}\n\nR1: {(a1,b1) (a2,b2)}\nR2: {(b1,c2) (b2,c1)}\nR3: {(c1,a1) (c2,a2)}\n```\n\nWe're constrainting the sets A, B, C based on the edges.\n"
  },
  {
    "path": "medikanren/pieces-parts/new-query-lang/may2.txt",
    "content": "Query-defined concepts imply subqueries with existentials. To get this to work correctly in general, we need to implement a global consistency algorithm that is aware of whether each variable is part of the top-level, visible query.\n\nExample:\n\n(define-category (bar C)\n  (concepts\n    [A' baz]\n    [B' baz]\n    [C baz])\n  (edges\n    [e1 : A' foo B]\n    [e2 : B' foo C]\n    [e3 : C foo A]))\n\n(query\n  (concepts\n    [A bar]\n    [B bar]\n    [C bar])\n  (edges\n    [e1 : A foo B]\n    [e2 : B foo C]\n    [e3 : C foo A]))\n\nOr, safe-drug query. We only want one copy of the drug, though there are multiple diseases it safely treats.\n\nFor now we will pre-compute categories like safe-drug. To then use these precomputed categories, we need an extension to query/graph that accepts a list of curies.\n\nGreg:\n * add list of curies feature\n * add safe-drug and human-gene precomputed lists\n\nNext time:\n * write logic to get globally consistent results out of ranked-paths.\n\n"
  },
  {
    "path": "medikanren/pieces-parts/new-query-lang/michael-query-language-design.txt",
    "content": "(define-simple-predicate regulates\n  (upregulates downregulates))\n\n(define-predicate (regulates e)\n  (edges (e (primitive-predicate '(upregulates downregulates)))))\n\n(define-predicate (treats-safely e)\n  (edges\n    (e treats))\n  (where\n    (has-property e treats-safely-predicates))))\n\n(define-category (safe-drug drg)\n  (concepts (drg drug) (dis disease))\n  (edges\n    (drg -- e -- dis treats-safely))))\n\n(define-category (druggable-gene g)\n  (concepts (drg safe-drug) (g gene))\n  (edges\n    (drg -- g regulates))))\n\n(query\n  (select\n    (curie d) (name d) (curie g) (name g) (pubmed e))\n  (concepts\n    (d safe-drug)\n    (g druggable-gene))\n  (edges\n    (d -- e -- g regulates)))\n\n\n(query\n  (select (pubmed e1) (pubmed e2))\n  (concepts\n    (d safe-drug)\n    (g1 druggable-gene)\n    (g2 gene))\n  (edges\n    (d -- e1 -- g1 regulates)\n    (g1 -- e2 -- g2 regulates))\n  (limit 10))\n\n\n; this is a comment\n(define-concept (kinome g)\n  (concept\n    (g gene)\n    (h hgnc))\n  (where\n    (synonymous g h)\n    (in-list (hgnc-id h) kinome-list)))\n\n(query\n  (concept\n    (d (from-list precomputed-drugs) drug)))\n\n(query\n  (select (pubmed e1) (pubmed e2))\n  (concepts\n    (d safe-drug)\n    (g1 druggable-gene)\n    (g2 gene))\n  (edges\n    (e1 : d regulates g1))\n  (where\n    (has-pubmed e1))\n  (limit 10))\n\n\n(define-fragment (safely-upregulates-2hop d int g)\n  (concepts\n    (d safe-drug)\n    (int gene)\n    (g gene))\n  (edge\n    (e1 : d upregulates int)\n    (e2 : int upregulates g)))\n\n(query\n  (select (name d) (name g))\n  (safely-upregulates-2hop d int g)\n  (where\n    (in-list g gene-list)))\n\n\nCompilation:\n\n(concept\n  (id category))\n=>\n(fresh (id)\n  (concepto id)\n  (category id))\n\n\n\n\n(query\n  (select\n    (curie D) (name D) (predicate Eup) (curie D) (name D) (category D)\n    (pubmed Eup [#:url #:date #:sentence]))\n  (concepts\n   (D drug)\n   (G gene))\n  (edges\n   (Eup : D upregulates G)))\n\n\n; macros for select, concepts, edges, and where syntax\n\n(define-selector-syntax pubmed\n  (syntax-parser\n    [(_ [attr ...+] edge)\n     #'(select-lambda ((property edge \"pmid\") (property edge \"publication\"))\n         ??)]))\n\n(define upregulates-list '(?? ...))\n(define-predicate-syntax upregulates\n  (lambda (_)\n    #'(predicates upregulates-list)))\n\n(define drug-categories-list '(?? ...))\n(define-category-syntax drug\n  (lambda (_)\n    #'(categories drug-categories-list))\n\n(define-category-syntax FDA-approved-drug\n  (syntax-parser\n    [(C _)\n     #'(query-fragment\n         (concepts\n           (C (categories drug-categories)))\n         (where\n           (property C \"fda-approved\" #t)))]))\n"
  },
  {
    "path": "medikanren/pieces-parts/ontology.rkt",
    "content": "#lang racket\n(provide (all-defined-out)\n         (all-from-out \"../common.rkt\" \"../mk-db.rkt\"))\n(require \"../common.rkt\" \"../mk-db.rkt\")\n\n;; helper for pretty-printing concepts\n(define get-curies/names-from-concepts\n  (lambda (s)\n    (map (lambda (c)\n           (match c\n             [`(,db ,cid ,curie ,name (,catid . ,cat) ,props)\n              (list curie name)]\n             [else\n              (error 'get-curies/names-from-concepts (format \"c didn't match:\\n~s\\n\" c))]))\n         (set->list s))))\n\n(define make-get-all-ontology-ancestors\n  (lambda (subclass_of-pred-ls ontology-prefix-str)\n    (lambda (S)\n      (define get-all-ontology-ancestors\n        (lambda (S ancestors)\n          (match (run/graph\n                   ((S S)\n                    (O #f))\n                   ((S->O subclass_of-pred-ls))\n                   (S S->O O))\n            [(list name=>concepts name=>edges)\n             (let* ((c* (hash-ref name=>concepts 'O))\n                    (c* (filter (lambda (c) (not (set-member? ancestors c))) c*))\n                    (c* (filter (lambda (c) (string-prefix? (concept->curie c) ontology-prefix-str)) c*)))\n               (cond\n                 [(null? c*) ancestors]\n                 [else\n                  (let ((ancestors (let loop ((c* c*)\n                                              (ancestors ancestors))\n                                     (match c*\n                                       ['() ancestors]\n                                       [`(,c . ,c*)\n                                        (loop c* (set-add ancestors c))]))))\n                    (get-all-ontology-ancestors c* ancestors))]))])))\n      (get-all-ontology-ancestors S (set)))))\n\n(define get-all-GO-ancestors (make-get-all-ontology-ancestors '((rtx2 15 . \"subclass_of\")) \"GO:\"))\n(define get-all-OBO:GOCHE-ancestors (make-get-all-ontology-ancestors '((rtx2 15 . \"subclass_of\")) \"OBO:GOCHE\"))\n\n#|\n;; find ancestors of \"substance with phytoestrogen role\" in OBO:GOCHE ontology:\n(get-all-OBO:GOCHE-ancestors (keep 1 (find-concepts #t (list \"OBO:GOCHE_76989\"))))\n\n=>\n\n(set\n '(rtx2\n   5606341\n   \"OBO:GOCHE_52210\"\n   \"substance with pharmacological role role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_52210\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_52210\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5088598\n   \"OBO:GOCHE_24432\"\n   \"substance with biological role role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_24432\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_24432\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   885146\n   \"OBO:GOCHE_24621\"\n   \"substance with hormone role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_24621\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_24621\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5610174\n   \"OBO:GOCHE_33280\"\n   \"substance with molecular messenger role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_33280\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_33280\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5611882\n   \"OBO:GOCHE_50112\"\n   \"substance with sex hormone role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_50112\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_50112\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5611724\n   \"OBO:GOCHE_50906\"\n   \"substance with role role\"\n   (2 . \"http://w3id.org/biolink/vocab/NamedThing\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_50906\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"named_thing\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_50906\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5606343\n   \"OBO:GOCHE_48705\"\n   \"substance with agonist role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_48705\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_48705\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   947710\n   \"OBO:GOCHE_50114\"\n   \"substance with estrogen role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_50114\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_50114\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\"))))\n|#\n\n(define make-get-all-ontology-descendants\n  (lambda (subclass_of-pred-ls ontology-prefix-str)\n    (lambda (O)\n      (define get-all-ontology-descendants\n        (lambda (O descendants)\n          (match (run/graph\n                   ((S #f)\n                    (O O))\n                   ((S->O subclass_of-pred-ls))\n                   (S S->O O))\n            [(list name=>concepts name=>edges)\n             (let* ((c* (hash-ref name=>concepts 'S))\n                    (c* (filter (lambda (c) (not (set-member? descendants c))) c*))\n                    (c* (filter (lambda (c) (string-prefix? (concept->curie c) ontology-prefix-str)) c*)))\n               (cond\n                 [(null? c*) descendants]\n                 [else\n                  (let ((descendants (let loop ((c* c*)\n                                                (descendants descendants))\n                                       (match c*\n                                         ['() descendants]\n                                         [`(,c . ,c*)\n                                          (loop c* (set-add descendants c))]))))\n                    (get-all-ontology-descendants c* descendants))]))])))\n      (get-all-ontology-descendants O (set)))))\n\n(define get-all-GO-descendants (make-get-all-ontology-descendants '((rtx2 15 . \"subclass_of\")) \"GO:\"))\n(define get-all-OBO:GOCHE-descendants (make-get-all-ontology-descendants '((rtx2 15 . \"subclass_of\")) \"OBO:GOCHE\"))\n\n#|\n;; find descendants of \"substance with estrogen role\" in OBO:GOCHE ontology:\n(get-all-OBO:GOCHE-descendants (keep 1 (find-concepts #t (list \"OBO:GOCHE_50114\"))))\n\n=>\n\n(set\n '(rtx2\n   5606174\n   \"OBO:GOCHE_76989\"\n   \"substance with phytoestrogen role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_76989\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_76989\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\")))\n '(rtx2\n   5606175\n   \"OBO:GOCHE_76988\"\n   \"substance with xenoestrogen role\"\n   (4 . \"http://w3id.org/biolink/vocab/ChemicalSubstance\")\n   ((\"iri\" . \"http://purl.obolibrary.org/obo/GOCHE_76988\")\n    (\"synonym\" . \"[]\")\n    (\"category_label\" . \"chemical_substance\")\n    (\"deprecated\" . \"False\")\n    (\"provided_by\"\n     .\n     \"http://purl.obolibrary.org/obo/go/extensions/go-plus.owl\")\n    (\"id\" . \"OBO:GOCHE_76988\")\n    (\"update_date\" . \"2019-08-02 18:27:55 GMT\")\n    (\"publications\" . \"[]\"))))\n|#\n\n\n\n;; Examples finding the fixed-point of ancestor concepts in GO\n;; ontology.  (GO has multiple inheritance, which makes finding the\n;; fixed-point important.)\n\n#|\n;; Lymphangiogenesis\n(define S1 (keep 1 (find-concepts #t (list \"GO:0001946\"))))\n(define A1 (get-all-GO-ancestors S1))\n(pretty-print (get-curies/names-from-concepts A1))\n\n=>\n\n'((\"GO:0009653\" \"anatomical structure morphogenesis\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0048646\" \"anatomical structure formation involved in morphogenesis\")\n  (\"GO:0032502\" \"developmental process\"))\n|#\n\n#|\n;; negative regulation of cell migration involved in sprouting angiogenesis\n(define S2 (keep 1 (find-concepts #t (list \"GO:0090051\"))))\n(define A2 (get-all-GO-ancestors S2))\n(pretty-print (get-curies/names-from-concepts A2))\n\n=>\n\n'((\"GO:0010633\" \"negative regulation of epithelial cell migration\")\n  (\"GO:0065007\" \"biological regulation\")\n  (\"GO:0030334\" \"regulation of cell migration\")\n  (\"GO:0045765\" \"regulation of angiogenesis\")\n  (\"GO:0048523\" \"negative regulation of cellular process\")\n  (\"GO:0032879\" \"regulation of localization\")\n  (\"GO:0016525\" \"negative regulation of angiogenesis\")\n  (\"GO:0040013\" \"negative regulation of locomotion\")\n  (\"GO:0050789\" \"regulation of biological process\")\n  (\"GO:0043537\" \"negative regulation of blood vessel endothelial cell migration\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0030336\" \"negative regulation of cell migration\")\n  (\"GO:0010632\" \"regulation of epithelial cell migration\")\n  (\"GO:0051239\" \"regulation of multicellular organismal process\")\n  (\"GO:2000145\" \"regulation of cell motility\")\n  (\"GO:1901342\" \"regulation of vasculature development\")\n  (\"GO:0022603\" \"regulation of anatomical structure morphogenesis\")\n  (\"GO:0050793\" \"regulation of developmental process\")\n  (\"GO:0051271\" \"negative regulation of cellular component movement\")\n  (\"GO:0050794\" \"regulation of cellular process\")\n  (\"GO:0043535\" \"regulation of blood vessel endothelial cell migration\")\n  (\"GO:2000026\" \"regulation of multicellular organismal development\")\n  (\"GO:0010594\" \"regulation of endothelial cell migration\")\n  (\"GO:0051270\" \"regulation of cellular component movement\")\n  (\"GO:0048519\" \"negative regulation of biological process\")\n  (\"GO:0051241\" \"negative regulation of multicellular organismal process\")\n  (\"GO:1901343\" \"negative regulation of vasculature development\")\n  (\"GO:2000181\" \"negative regulation of blood vessel morphogenesis\")\n  (\"GO:1903671\" \"negative regulation of sprouting angiogenesis\")\n  (\"GO:0051093\" \"negative regulation of developmental process\")\n  (\"GO:0010596\" \"negative regulation of endothelial cell migration\")\n  (\"GO:0090049\" \"regulation of cell migration involved in sprouting angiogenesis\")\n  (\"GO:2000146\" \"negative regulation of cell motility\")\n  (\"GO:1903670\" \"regulation of sprouting angiogenesis\")\n  (\"GO:0040012\" \"regulation of locomotion\"))\n|#\n\n#|\n;; positive regulation of execution phase of apoptosis\n(define S3 (keep 1 (find-concepts #t (list \"GO:1900119\"))))\n(define A3 (get-all-GO-ancestors S3))\n(pretty-print (get-curies/names-from-concepts A3))\n\n=>\n\n'((\"GO:0065007\" \"biological regulation\")\n  (\"GO:0042981\" \"regulation of apoptotic process\")\n  (\"GO:1900117\" \"regulation of execution phase of apoptosis\")\n  (\"GO:0050789\" \"regulation of biological process\")\n  (\"GO:0043067\" \"regulation of programmed cell death\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0050794\" \"regulation of cellular process\")\n  (\"GO:0048522\" \"positive regulation of cellular process\")\n  (\"GO:0043065\" \"positive regulation of apoptotic process\")\n  (\"GO:0010942\" \"positive regulation of cell death\")\n  (\"GO:0048518\" \"positive regulation of biological process\")\n  (\"GO:0010941\" \"regulation of cell death\")\n  (\"GO:0043068\" \"positive regulation of programmed cell death\"))\n|#\n\n#|\n;; positive regulation of cysteine-type endopeptidase activity involved in execution phase of apoptosis\n(define S4 (keep 1 (find-concepts #t (list \"GO:2001272\"))))\n(define A4 (get-all-GO-ancestors S4))\n(pretty-print (get-curies/names-from-concepts A4))\n\n=>\n\n'((\"GO:0065007\" \"biological regulation\")\n  (\"GO:0042981\" \"regulation of apoptotic process\")\n  (\"GO:0044093\" \"positive regulation of molecular function\")\n  (\"GO:0009893\" \"positive regulation of metabolic process\")\n  (\"GO:0019222\" \"regulation of metabolic process\")\n  (\"GO:0052547\" \"regulation of peptidase activity\")\n  (\"GO:0045862\" \"positive regulation of proteolysis\")\n  (\"GO:0051336\" \"regulation of hydrolase activity\")\n  (\"GO:0032270\" \"positive regulation of cellular protein metabolic process\")\n  (\"GO:1900117\" \"regulation of execution phase of apoptosis\")\n  (\"GO:2001056\" \"positive regulation of cysteine-type endopeptidase activity\")\n  (\"GO:0051171\" \"regulation of nitrogen compound metabolic process\")\n  (\"GO:0060255\" \"regulation of macromolecule metabolic process\")\n  (\"GO:0010950\" \"positive regulation of endopeptidase activity\")\n  (\"GO:0050789\" \"regulation of biological process\")\n  (\"GO:0043067\" \"regulation of programmed cell death\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0010604\" \"positive regulation of macromolecule metabolic process\")\n  (\"GO:0052548\" \"regulation of endopeptidase activity\")\n  (\"GO:0050794\" \"regulation of cellular process\")\n  (\"GO:0048522\" \"positive regulation of cellular process\")\n  (\"GO:0051247\" \"positive regulation of protein metabolic process\")\n  (\"GO:0043065\" \"positive regulation of apoptotic process\")\n  (\"GO:0010942\" \"positive regulation of cell death\")\n  (\"GO:0010952\" \"positive regulation of peptidase activity\")\n  (\"GO:0031323\" \"regulation of cellular metabolic process\")\n  (\"GO:2000116\" \"regulation of cysteine-type endopeptidase activity\")\n  (\"GO:0051173\" \"positive regulation of nitrogen compound metabolic process\")\n  (\"GO:0048518\" \"positive regulation of biological process\")\n  (\"GO:0043085\" \"positive regulation of catalytic activity\")\n  (\"GO:0050790\" \"regulation of catalytic activity\")\n  (\"GO:0051246\" \"regulation of protein metabolic process\")\n  (\"GO:0051345\" \"positive regulation of hydrolase activity\")\n  (\"GO:0032268\" \"regulation of cellular protein metabolic process\")\n  (\"GO:0043280\" \"positive regulation of cysteine-type endopeptidase activity involved in apoptotic process\")\n  (\"GO:0010941\" \"regulation of cell death\")\n  (\"GO:2001270\" \"regulation of cysteine-type endopeptidase activity involved in execution phase of apoptosis\")\n  (\"GO:0043281\" \"regulation of cysteine-type endopeptidase activity involved in apoptotic process\")\n  (\"GO:0065009\" \"regulation of molecular function\")\n  (\"GO:0031325\" \"positive regulation of cellular metabolic process\")\n  (\"GO:1900119\" \"positive regulation of execution phase of apoptosis\")\n  (\"GO:0080090\" \"regulation of primary metabolic process\")\n  (\"GO:0030162\" \"regulation of proteolysis\")\n  (\"GO:0043068\" \"positive regulation of programmed cell death\"))\n|#\n\n#|\n;; cysteine-type endopeptidase activity involved in execution phase of apoptosis\n(define S5 (keep 1 (find-concepts #t (list \"GO:0097200\"))))\n(define A5 (get-all-GO-ancestors S5))\n(pretty-print (get-curies/names-from-concepts A5))\n\n=>\n\n'((\"GO:0097153\"\n   \"cysteine-type endopeptidase activity involved in apoptotic process\"))\n|#\n\n#|\n;; activation of JUN kinase activity\n(define S6 (keep 1 (find-concepts #t (list \"GO:0007257\"))))\n(define A6 (get-all-GO-ancestors S6))\n(pretty-print (get-curies/names-from-concepts A6))\n\n=>\n\n'((\"GO:0065007\" \"biological regulation\")\n  (\"GO:0043405\" \"regulation of MAP kinase activity\")\n  (\"GO:0044093\" \"positive regulation of molecular function\")\n  (\"GO:0023056\" \"positive regulation of signaling\")\n  (\"GO:0009893\" \"positive regulation of metabolic process\")\n  (\"GO:0019222\" \"regulation of metabolic process\")\n  (\"GO:0071900\" \"regulation of protein serine/threonine kinase activity\")\n  (\"GO:0032872\" \"regulation of stress-activated MAPK cascade\")\n  (\"GO:0080134\" \"regulation of response to stress\")\n  (\"GO:0032270\" \"positive regulation of cellular protein metabolic process\")\n  (\"GO:0045937\" \"positive regulation of phosphate metabolic process\")\n  (\"GO:0070304\" \"positive regulation of stress-activated protein kinase signaling cascade\")\n  (\"GO:0080135\" \"regulation of cellular response to stress\")\n  (\"GO:0001934\" \"positive regulation of protein phosphorylation\")\n  (\"GO:0051171\" \"regulation of nitrogen compound metabolic process\")\n  (\"GO:0060255\" \"regulation of macromolecule metabolic process\")\n  (\"GO:0050789\" \"regulation of biological process\")\n  (\"GO:0008150\" \"biological_process\")\n  (\"GO:0046328\" \"regulation of JNK cascade\")\n  (\"GO:0071902\" \"positive regulation of protein serine/threonine kinase activity\")\n  (\"GO:0031399\" \"regulation of protein modification process\")\n  (\"GO:0048583\" \"regulation of response to stimulus\")\n  (\"GO:0070302\" \"regulation of stress-activated protein kinase signaling cascade\")\n  (\"GO:0010604\" \"positive regulation of macromolecule metabolic process\")\n  (\"GO:0051338\" \"regulation of transferase activity\")\n  (\"GO:0001932\" \"regulation of protein phosphorylation\")\n  (\"GO:0010562\" \"positive regulation of phosphorus metabolic process\")\n  (\"GO:0051174\" \"regulation of phosphorus metabolic process\")\n  (\"GO:0050794\" \"regulation of cellular process\")\n  (\"GO:0048522\" \"positive regulation of cellular process\")\n  (\"GO:0009966\" \"regulation of signal transduction\")\n  (\"GO:0023051\" \"regulation of signaling\")\n  (\"GO:0051347\" \"positive regulation of transferase activity\")\n  (\"GO:0043549\" \"regulation of kinase activity\")\n  (\"GO:0043410\" \"positive regulation of MAPK cascade\")\n  (\"GO:0043506\" \"regulation of JUN kinase activity\")\n  (\"GO:0000187\" \"activation of MAPK activity\")\n  (\"GO:0051247\" \"positive regulation of protein metabolic process\")\n  (\"GO:0045859\" \"regulation of protein kinase activity\")\n  (\"GO:0042325\" \"regulation of phosphorylation\")\n  (\"GO:1902531\" \"regulation of intracellular signal transduction\")\n  (\"GO:0033674\" \"positive regulation of kinase activity\")\n  (\"GO:0032147\" \"activation of protein kinase activity\")\n  (\"GO:0031323\" \"regulation of cellular metabolic process\")\n  (\"GO:0043507\" \"positive regulation of JUN kinase activity\")\n  (\"GO:0051173\" \"positive regulation of nitrogen compound metabolic process\")\n  (\"GO:1902533\" \"positive regulation of intracellular signal transduction\")\n  (\"GO:0048518\" \"positive regulation of biological process\")\n  (\"GO:0043085\" \"positive regulation of catalytic activity\")\n  (\"GO:0048584\" \"positive regulation of response to stimulus\")\n  (\"GO:0050790\" \"regulation of catalytic activity\")\n  (\"GO:0051246\" \"regulation of protein metabolic process\")\n  (\"GO:0046330\" \"positive regulation of JNK cascade\")\n  (\"GO:0032268\" \"regulation of cellular protein metabolic process\")\n  (\"GO:0043408\" \"regulation of MAPK cascade\")\n  (\"GO:0010647\" \"positive regulation of cell communication\")\n  (\"GO:0031401\" \"positive regulation of protein modification process\")\n  (\"GO:0043406\" \"positive regulation of MAP kinase activity\")\n  (\"GO:0032874\" \"positive regulation of stress-activated MAPK cascade\")\n  (\"GO:0065009\" \"regulation of molecular function\")\n  (\"GO:0031325\" \"positive regulation of cellular metabolic process\")\n  (\"GO:0042327\" \"positive regulation of phosphorylation\")\n  (\"GO:0009967\" \"positive regulation of signal transduction\")\n  (\"GO:0010646\" \"regulation of cell communication\")\n  (\"GO:0080090\" \"regulation of primary metabolic process\")\n  (\"GO:0045860\" \"positive regulation of protein kinase activity\")\n  (\"GO:0019220\" \"regulation of phosphate metabolic process\"))\n|#\n"
  },
  {
    "path": "medikanren/pieces-parts/orange_graph.dot",
    "content": "digraph{\ngraph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, \n                         fontsize=12 ];\n\n                 node [ fontname=Arial, fontcolor=blue, fontsize=11];\n\n                 edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ];\n\n    splines=\"FALSE\";\n\n    rankdir=\"LR\";\n\t\"MONDO\" -> \"NCIT\" [label=\"related_to\"]\n\t\"ClinVarVariant\" -> \"MONDO\" [label=\"related_condition\"]\n\t\"MONDO\" -> \"HP\" [label=\"has_modifier\"]\n\t\"CL\" -> \"CL\" [label=\"subclass_of\"]\n\t\"ENSEMBL\" -> \"MONDO\" [label=\"causally_related_to\"]\n\t\"OMIM\" -> \"HP\" [label=\"has_disposition\"]\n\t\"OMIM\" -> \"GENO\" [label=\"subclass_of\"]\n\t\"ClinVarVariant\" -> \"MedGen\" [label=\"causes_condition\"]\n\t\"DECIPHER\" -> \"HP\" [label=\"has_disposition\"]\n\t\"ClinVarVariant\" -> \"MONDO\" [label=\"related_to\"]\n\t\"MONDO\" -> \"HP\" [label=\"has_disposition\"]\n\t\"BNODE\" -> \"OMIM\" [label=\"contributes_to\"]\n\t\"OMIM\" -> \"OMIM\" [label=\"causes_condition\"]\n\t\"BNODE\" -> \"MONDO\" [label=\"causally_related_to\"]\n\t\"MONDO\" -> \"GO\" [label=\"related_to\"]\n\t\"OMIM\" -> \"OMIM\" [label=\"biomarker_for\"]\n\t\"NCBIGene\" -> \"MONDO\" [label=\"causally_related_to\"]\n\t\"MONDO\" -> \"MONDO\" [label=\"related_to\"]\n\t\"ClinVarVariant\" -> \"OMIM\" [label=\"related_condition\"]\n\t\"MONDO\" -> \"SO\" [label=\"has_modifier\"]\n\t\"UBERON\" -> \"BFO\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"PR\" [label=\"causally_related_to\"]\n\t\"MONDO\" -> \"PATO\" [label=\"causally_related_to\"]\n\t\"FOODON\" -> \"NCBITaxon\" [label=\"subclass_of\"]\n\t\"HGNC\" -> \"MONDO\" [label=\"biomarker_for\"]\n\t\"FOODON\" -> \"FOODON\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"OBO\" [label=\"causally_related_to\"]\n\t\"BNODE\" -> \"OMIM\" [label=\"causes_condition\"]\n\t\"MONDO\" -> \"OBO\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"UBERON\" [label=\"related_to\"]\n\t\"ClinVarVariant\" -> \"OMIM\" [label=\"related_to\"]\n\t\"MONDO\" -> \"PATO\" [label=\"subclass_of\"]\n\t\"ENSEMBL\" -> \"SO\" [label=\"subclass_of\"]\n\t\"OMIM\" -> \"MONDO\" [label=\"subclass_of\"]\n\t\"Orphanet\" -> \"MONDO\" [label=\"biomarker_for\"]\n\t\"BNODE\" -> \"OMIM\" [label=\"biomarker_for\"]\n\t\"NCBIGene\" -> \"MONDO\" [label=\"has_phenotype\"]\n\t\"ClinVarVariant\" -> \"MedGen\" [label=\"related_condition\"]\n\t\"ClinVarVariant\" -> \"Orphanet\" [label=\"causes_condition\"]\n\t\"MONDO\" -> \"CHEBI\" [label=\"related_to\"]\n\t\"OMIM\" -> \"UPHENO\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"MFOMD\" [label=\"related_to\"]\n\t\"MONDO\" -> \"NCBITaxon\" [label=\"causally_related_to\"]\n\t\"MONDO\" -> \"MFOEM\" [label=\"causally_related_to\"]\n\t\"MONDO\" -> \"HP\" [label=\"related_to\"]\n\t\"NCBIGene\" -> \"GENO\" [label=\"subclass_of\"]\n\t\"ClinVarVariant\" -> \"MedGen\" [label=\"related_to\"]\n\t\"HP\" -> \"HP\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"MONDO\" [label=\"causally_related_to\"]\n\t\"BNODE\" -> \"Orphanet\" [label=\"causes_condition\"]\n\t\"HP\" -> \"UPHENO\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"GO\" [label=\"causally_related_to\"]\n\t\"NCBIGene\" -> \"Orphanet\" [label=\"biomarker_for\"]\n\t\"MONDO\" -> \"MONDO\" [label=\"subclass_of\"]\n\t\"NCBIGene\" -> \"OMIM\" [label=\"has_phenotype\"]\n\t\"MONDO\" -> \"NBO\" [label=\"related_to\"]\n\t\"ClinVarVariant\" -> \"Orphanet\" [label=\"related_condition\"]\n\t\"ClinVarVariant\" -> \"NCBIGene\" [label=\"causes_condition\"]\n\t\"MONDO\" -> \"UBERON\" [label=\"causally_related_to\"]\n\t\"BNODE\" -> \"MONDO\" [label=\"contributes_to\"]\n\t\"MONDO\" -> \"FOODON\" [label=\"causally_related_to\"]\n\t\"MONDO\" -> \"BFO\" [label=\"subclass_of\"]\n\t\"NCBIGene\" -> \"HP\" [label=\"has_phenotype\"]\n\t\"MONDO\" -> \"NCBITaxon\" [label=\"in_taxon\"]\n\t\"MONDO\" -> \"CL\" [label=\"causally_related_to\"]\n\t\"DOID\" -> \"HP\" [label=\"has_phenotype\"]\n\t\"NCBIGene\" -> \"MONDO\" [label=\"contributes_to\"]\n\t\"MONDO\" -> \"OMIM\" [label=\"subclass_of\"]\n\t\"NCBIGene\" -> \"NCBIGene\" [label=\"contributes_to\"]\n\t\"NCBIGene\" -> \"CHR\" [label=\"is_subsequence_of\"]\n\t\"MONDO\" -> \"MONDO\" [label=\"has_phenotype\"]\n\t\"MONDO\" -> \"CHEBI\" [label=\"causally_related_to\"]\n\t\"OMIM\" -> \"HP\" [label=\"subclass_of\"]\n\t\"Orphanet\" -> \"HP\" [label=\"has_phenotype\"]\n\t\"BNODE\" -> \"MONDO\" [label=\"causes_condition\"]\n\t\"ENSEMBL\" -> \"MONDO\" [label=\"biomarker_for\"]\n\t\"OMIM\" -> \"OMIM\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"NCBITaxon\" [label=\"transmitted_by\"]\n\t\"OMIM\" -> \"MONDO\" [label=\"contributes_to\"]\n\t\"MONDO\" -> \"HP\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"NCIT\" [label=\"disease_has_feature\"]\n\t\"MONDO\" -> \"HGNC\" [label=\"causally_related_to\"]\n\t\"ClinVarVariant\" -> \"NCBIGene\" [label=\"related_condition\"]\n\t\"NCBIGene\" -> \"OMIM\" [label=\"contributes_to\"]\n\t\"ENSEMBL\" -> \"CHR\" [label=\"is_subsequence_of\"]\n\t\"HGNC\" -> \"MONDO\" [label=\"causally_related_to\"]\n\t\"NCBIGene\" -> \"MONDO\" [label=\"causes_condition\"]\n\t\"OMIM\" -> \"HP\" [label=\"has_phenotype\"]\n\t\"NCBIGene\" -> \"NCBIGene\" [label=\"causes_condition\"]\n\t\"MONDO\" -> \"PATO\" [label=\"has_modifier\"]\n\t\"MONDO\" -> \"HP\" [label=\"has_phenotype\"]\n\t\"CHR\" -> \"SO\" [label=\"subclass_of\"]\n\t\"NCBIGene\" -> \"MONDO\" [label=\"biomarker_for\"]\n\t\"MONDO\" -> \"ENSEMBL\" [label=\"causally_related_to\"]\n\t\"DECIPHER\" -> \"HP\" [label=\"has_phenotype\"]\n\t\"MONDO\" -> \"NCIT\" [label=\"has_modifier\"]\n\t\"MONDO\" -> \"MONDO\" [label=\"disease_has_feature\"]\n\t\"Orphanet\" -> \"MONDO\" [label=\"causally_related_to\"]\n\t\"OMIM\" -> \"MONDO\" [label=\"causes_condition\"]\n\t\"MONDO\" -> \"GO\" [label=\"disease_relationship\"]\n\t\"MONDO\" -> \"NBO\" [label=\"causally_related_to\"]\n\t\"NCBIGene\" -> \"NCBIGene\" [label=\"biomarker_for\"]\n\t\"NCBIGene\" -> \"OMIM\" [label=\"causes_condition\"]\n\t\"MONDO\" -> \"UBERON\" [label=\"disease_relationship\"]\n\t\"MONDO\" -> \"OBA\" [label=\"disease_has_feature\"]\n\t\"MONDO\" -> \"MONDO\" [label=\"contributes_to\"]\n\t\"Orphanet\" -> \"SO\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"CL\" [label=\"disease_relationship\"]\n\t\"MONDO\" -> \"ENVO\" [label=\"causally_related_to\"]\n\t\"HGNC\" -> \"CHR\" [label=\"is_subsequence_of\"]\n\t\"MONDO\" -> \"UPHENO\" [label=\"subclass_of\"]\n\t\"MESH\" -> \"HP\" [label=\"has_phenotype\"]\n\t\"NCBIGene\" -> \"OMIM\" [label=\"biomarker_for\"]\n\t\"HGNC\" -> \"SO\" [label=\"subclass_of\"]\n\t\"GO\" -> \"GO\" [label=\"subclass_of\"]\n\t\"NCBIGene\" -> \"HP\" [label=\"has_disposition\"]\n\t\"MONDO\" -> \"MONDO\" [label=\"has_modifier\"]\n\t\"ClinVarVariant\" -> \"MONDO\" [label=\"causes_condition\"]\n\t\"NCBIGene\" -> \"Orphanet\" [label=\"causally_related_to\"]\n\t\"MONDO\" -> \"HP\" [label=\"disease_has_feature\"]\n\t\"MONDO\" -> \"MONDO\" [label=\"causes_condition\"]\n\t\"BNODE\" -> \"SO\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"NCBIGene\" [label=\"causally_related_to\"]\n\t\"OMIM\" -> \"SO\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"UBERON\" [label=\"has_modifier\"]\n\t\"NCBIGene\" -> \"SO\" [label=\"subclass_of\"]\n\t\"MONDO\" -> \"CL\" [label=\"disease_has_location\"]\n\t\"ClinVarVariant\" -> \"OMIM\" [label=\"causes_condition\"]\n\t\"MONDO\" -> \"UBERON\" [label=\"disease_has_location\"]\n\t\"MONDO\" -> \"MF\" [label=\"causally_related_to\"]\n\t\"MONDO\" -> \"PO\" [label=\"causally_related_to\"]\n\t\"UBERON\" -> \"CARO\" [label=\"subclass_of\"]\n\t\"OMIM\" -> \"OMIM\" [label=\"contributes_to\"]\n}\n"
  },
  {
    "path": "medikanren/pieces-parts/propagator.rkt",
    "content": "#lang racket/base\n(provide group-curie group-curies group-categories group-concepts\n         concept/any concept/category concept/curie-filter concept/curie\n         edge/predicate edge/predicate/filter run!)\n(require \"synonymize.rkt\"\n         racket/function racket/list (except-in racket/match ==) racket/set)\n\n;; Simple OO\n;; TODO: () should summarize supported messages\n(define (method-unknown name . args) (error \"unknown method:\" name args))\n(define (method-except m names)\n  (lambda (name . args)\n    (apply (if (member name names) method-unknown m) name args)))\n(define (method-only m names)\n  (lambda (name . args)\n    (apply (if (member name names) m method-unknown) name args)))\n(define-syntax method-choose\n  (syntax-rules (else)\n    ((_ ((name ...) body ...) ... (else else-body ...))\n     (lambda (method-name . args)\n       (apply (case method-name\n                ((name ...) body ...) ...\n                (else       else-body ...))\n              method-name args)))\n    ((_ body ...) (method-choose body ... (else method-unknown)))))\n(define-syntax method-lambda\n  (syntax-rules (else)\n    ((_ ((name . param) body ...) ... (else else-body ...))\n     (method-choose ((name) (lambda (_ . param) body ...)) ... (else else-body ...)))\n    ((_ body ...) (method-lambda body ... (else method-unknown)))))\n\n;; TODO: priorities change and propagators are redundantly scheduled (though\n;; that might mitigate some of the priority changes).  Fix these issues by\n;; having propagators track their own scheduling and cost changes.\n;; Heap as priority queue\n(define (heap-top h) (vector-ref h 0))\n(define (heap! ? h end)\n  (let loop ((i (- (quotient end 2) 1)))\n    (when (<= 0 i) (heap-sink! ? h end i) (loop (- i 1)))))\n(define (heap-remove! ? h end)\n  (vector-set! h 0 (vector-ref h (- end 1))) (heap-sink! ? h (- end 1) 0))\n(define (heap-replace! ? h end top)\n  (vector-set! h 0 top)                      (heap-sink! ? h    end    0))\n(define (heap-sink! ? h end i)\n  (let loop ((i i))\n    (let ((ileft (+ i i 1)) (iright (+ i i 2)))\n      (cond ((<= end ileft))  ;; done\n            ((<= end iright)\n             (let ((p (vector-ref h i)) (l (vector-ref h ileft)))\n               (when (? l p) (vector-set! h i l) (vector-set! h ileft p))))\n            (else (let ((p (vector-ref h i))\n                        (l (vector-ref h ileft)) (r (vector-ref h iright)))\n                    (cond ((? l p) (cond ((? r l) (vector-set! h i r)\n                                                  (vector-set! h iright p)\n                                                  (loop iright))\n                                         (else (vector-set! h i l)\n                                               (vector-set! h ileft p)\n                                               (loop ileft))))\n                          ((? r p) (vector-set! h i r)\n                                   (vector-set! h iright p)\n                                   (loop iright)))))))))\n(define (heap-add! ? h end v)\n  (let loop ((i end))\n    (if (= i 0) (vector-set! h i v)\n      (let* ((iparent (- (quotient (+ i 1) 2) 1))\n             (pv      (vector-ref h iparent)))\n        (cond ((? v pv) (vector-set! h i pv) (loop iparent))\n              (else     (vector-set! h i v)))))))\n\n;; Propagators\n(define (p<? a b) (< ((car a)) ((car b))))\n(define pending-propagators (make-vector 100))\n(define pending-count 0)\n(define (pending-grow!)\n  (define len (vector-length pending-propagators))\n  (when (= pending-count len)\n    (define pending pending-propagators)\n    (set! pending-propagators (make-vector (* 2 len)))\n    (vector-copy! pending-propagators 0 pending 0 len)))\n(define (pending-add! p)\n  (pending-grow!)\n  (heap-add! p<? pending-propagators pending-count p)\n  (set! pending-count (+ pending-count 1)))\n(define (pending-pop!)\n  (define p (heap-top pending-propagators))\n  (heap-remove! p<? pending-propagators pending-count)\n  (set! pending-count (- pending-count 1))\n  (cdr p))\n(define (run!) (unless (= pending-count 0)\n                 ((pending-pop!))\n                 (run!)))\n\n(define (cell =? initial-value)\n  (define observers '())\n  (define value     initial-value)\n  (method-lambda\n    ((force)           (run!) value)\n    ((ref)             value)\n    ((set! v)          (unless (=? v value)\n                         (set! value v)\n                         (for-each pending-add! observers)))\n    ((observer-add! p) (set! observers (cons p observers)))))\n\n(define (propagator dependencies cost op)\n  (define p (cons cost op))\n  (for-each (lambda (d) (d 'observer-add! p)) dependencies)\n  (pending-add! p))\n\n;; Graph propagation\n(define (string-min a b) (if (string<? a b) a b))\n(define (group-curie      g) (g 'curie))\n(define (group-curies     g) (g 'curies))\n(define (group-categories g) (g 'categories))\n(define (group-concepts   g) (g 'concepts))\n(define (group<? ga gb) (string<? (group-curie ga) (group-curie gb)))\n(define (group=? ga gb) (string=? (group-curie ga) (group-curie gb)))\n(define (group-member? g curie) (set-member? (group-curies g) curie))\n(define (curie->group curie)\n  (define synonyms (curie-synonyms curie))\n  (define curies (set->list synonyms))\n  (define first-curie (foldl string-min (car curies) (cdr curies)))\n  (define cs         #f)\n  (define categories #f)\n  (define (force!)\n    (unless cs\n      (set! cs (find-concepts #t (set->list synonyms)))\n      (set! categories\n        (list->set (map cons (map car cs)\n                        (map (lambda (c) (cadddr (cdr c))) cs))))))\n  (method-lambda\n    ((curie)      first-curie)\n    ((curies)     synonyms)\n    ((categories) (force!) categories)\n    ((concepts)   (force!) cs)))\n(define (curies->groups curies)\n  (sort (cdr (foldl (lambda (c acc)\n                      (let ((seen (car acc)) (groups (cdr acc)))\n                        (if (set-member? seen c) acc\n                          (let ((g (curie->group c)))\n                            (cons (set-union seen (group-curies g))\n                                  (cons g groups))))))\n                    (cons (set) '())\n                    curies))\n        group<?))\n\n(define (concept=? ca cb)\n  (match* (ca cb)\n    ((`(concept . ,as) `(concept  . ,bs))\n     (equal? (list->set (map group-curie as))\n             (list->set (map group-curie bs))))\n    ;; TODO: if we ever find a way to reduce categories, this is not sound.\n    ((`(,tag-a . ,_) `(,tag-b . ,_))\n     (equal? tag-a tag-b))))\n\n(define (concept-intersect ca cb)\n  (if (eq? ca cb) ca\n    (match* (ca cb)\n      (('(any) _)      cb)\n      ((_ '(any)) ca)\n      ((`(concept . ,_) `(category     . ,_)) (concept-intersect cb ca))\n      ((`(concept . ,_) `(curie-filter . ,_)) (concept-intersect cb ca))\n      ((`(category . ,cats) `(concept  . ,groups))\n       (define (valid-group? g)\n         (ormap (lambda (cat) (set-member? (group-categories g) cat)) cats))\n       `(concept . ,(filter valid-group? groups)))\n      ((`(curie-filter . ,f) `(concept . ,groups))\n       (define (valid-group? g) (ormap f (set->list (group-curies g))))\n       `(concept . ,(filter valid-group? groups)))\n      ((`(concept . ,as) `(concept  . ,bs))\n       (define changed? #f)\n       (define result\n         (let loop ((as as) (bs bs))\n           (if (or (null? as) (null? bs)) '()\n             (let ((a (car as)) (b (car bs)))\n               (cond ((group<? a b)\n                      (set! changed? #t) (loop (cdr as)      bs))\n                     ((group<? b a)\n                      (set! changed? #t) (loop      as  (cdr bs)))\n                     (else       (cons a (loop (cdr as) (cdr bs)))))))))\n       (if changed? `(concept . ,result) ca)))))\n\n(define (concept-constrain c curies)\n  (if curies\n    (match c\n      ('(any) `(concept . ,(curies->groups curies)))\n      (`(category . ,cats)\n        (concept-intersect c `(concept . ,(curies->groups curies))))\n      (`(curie-filter . ,f)\n        (concept-intersect c `(concept . ,(curies->groups curies))))\n      (`(concept . ,gs)\n        (define (valid-group? g)\n          (ormap (lambda (curie) (group-member? g curie)) curies))\n        `(concept . ,(filter valid-group? gs))))\n    c))\n\n;; TODO: these should look at the object at the same time, to avoid including\n;; irrelevant edges when possible.\n(define (edge-constrain/subject e c)\n  (match c\n    ;; TODO: optionally find edges with only category/any constraints\n    ('(any)               e)\n    (`(category . ,_)     e)\n    (`(curie-filter . ,_) e)\n    (`(concept  . ,gs)\n      (match e\n        (`(edge . ,es)\n          (define (valid-eg? e)\n            (ormap (lambda (g) (group-member? g (cadr (caddr e)))) gs))\n          `(edge . ,(filter valid-eg? es)))\n        (`(predicate ,ps ,valid?)\n          (define cs (append* (map group-concepts gs)))\n          (define es0 (run* (e) (fresh (s o p db eid erest)\n                                  (== e `(,db ,eid ,s ,o ,p . ,erest))\n                                  (membero `(,db . ,s) cs)\n                                  (membero `(,db . ,p) ps)\n                                  (edgeo e))))\n          (define es (if valid? (filter valid? es0) es0))\n          `(edge . ,es))))))\n\n(define (edge-constrain/object e c)\n  (match c\n    ;; TODO: optionally find edges with only category/any constraints\n    ('(any)               e)\n    (`(category . ,_)     e)\n    (`(curie-filter . ,_) e)\n    (`(concept  . ,gs)\n      (match e\n        (`(edge . ,es)\n          (define (valid-eg? e)\n            (ormap (lambda (g) (group-member? g (cadr (cadddr e)))) gs))\n          `(edge . ,(filter valid-eg? es)))\n        (`(predicate ,ps ,valid?)\n          (define cs (append* (map group-concepts gs)))\n          (define es0 (run* (e) (fresh (s o p db eid erest)\n                                         (== e `(,db ,eid ,s ,o ,p . ,erest))\n                                         (membero `(,db . ,o) cs)\n                                         (membero `(,db . ,p) ps)\n                                         (edgeo e))))\n          (define es (if valid? (filter valid? es0) es0))\n          `(edge . ,es))))))\n\n(define (edge-subjects e)\n  (match e\n    (`(edge . ,es) (map (lambda (e) (cadr (caddr  e))) es))\n    (_             #f)))\n(define (edge-objects e)\n  (match e\n    (`(edge . ,es) (map (lambda (e) (cadr (cadddr e))) es))\n    (_             #f)))\n\n(define (concept-cost c)\n  (match c\n    (`(concept . ,gs) (foldl + 0 (map (lambda (g) (set-count (group-curies g)))\n                                      gs)))\n    (_                0)))\n(define (edge-cost e)\n  (match e\n    (`(edge . ,es) (length es))\n    (_             0)))\n\n(define (concept/any) (cell concept=? '(any)))\n(define (concept/category categories)\n  (cell concept=? (cons 'category (find-exact-categories categories))))\n(define (concept/curie curie)\n  (cell concept=? (cons 'concept (list (curie->group curie)))))\n(define (concept/curie-filter f) (cell concept=? (cons 'curie-filter f)))\n\n(define (edge/predicate predicates subject object)\n  (edge/predicate/filter #f predicates subject object))\n(define (edge/predicate/filter valid? predicates subject object)\n  (define ps (if predicates (find-exact-predicates predicates)\n               (run* (p) (predicateo p))))\n  (define edge (cell equal? (list 'predicate ps valid?)))\n  (propagator\n    (list subject)\n    (thunk (concept-cost (subject 'ref)))\n    (thunk\n     #|\n      (displayln `(running subject update: ,(concept-cost (subject 'ref))\n                           ,(car (subject 'ref))\n                           ,(length (cdr (subject 'ref)))))\n     |#\n      (edge 'set! (edge-constrain/subject (edge 'ref) (subject 'ref)))))\n  (propagator\n    (list object)\n    (thunk (concept-cost (object 'ref)))\n    (thunk\n     #|\n      (displayln `(running object update: ,(concept-cost (object 'ref))\n                           ,(car (object 'ref))\n                           ,(length (cdr (object 'ref)))))\n     |#\n      (edge 'set! (edge-constrain/object  (edge 'ref) (object  'ref)))))\n  (propagator\n    (list edge)\n    (thunk (edge-cost (edge 'ref)))\n    (thunk\n     #|\n      (displayln `(running edge update: ,(edge-cost (edge 'ref))\n                           ,(car (edge 'ref))))\n     |#\n      (define e (edge 'ref))\n      (subject 'set! (concept-constrain (subject 'ref) (edge-subjects e)))\n      (object  'set! (concept-constrain (object  'ref) (edge-objects  e)))))\n  edge)\n"
  },
  {
    "path": "medikanren/pieces-parts/query.rkt",
    "content": "#lang racket/base\n(provide summarize summarize/assoc query query/graph report/query\n         ranked-paths pretty-ranked edges/ranked\n         curies/query synonyms/query edges/query\n         positively-regulates negatively-regulates drug-safe\n         edges-between\n         gene drug disease phenotype\n         (all-defined-out)\n         (all-from-out \"../common.rkt\" \"../mk-db.rkt\"\n                       \"propagator.rkt\" \"synonymize.rkt\" \"ontology.rkt\"))\n(require \"../common.rkt\" \"../mk-db.rkt\" \"propagator.rkt\" \"synonymize.rkt\" \"ontology.rkt\"\n         racket/list (except-in racket/match ==) racket/pretty\n         racket/set racket/string)\n\n#|\n;; ** rtx2 neutral predicates -- do we want to include these somewhere? **\n\n\"regulates_expression_of\"\n\"regulates_activity_of\"\n\"targets\"\n|#\n\n(define gene/protein-concept?\n  (lambda (x)\n    (or\n     (string-prefix? x \"HGNC:\")\n     (string-prefix? x \"ENSEMBL:\")\n     (string-prefix? x \"UniProtKB:\")\n     (string-prefix? x \"NCBIGene:\")\n     (string-prefix? x \"NCBIGENE:\"))))\n\n(define drug-concept?\n  (lambda (x)\n    (or (string-prefix? x \"CHEBI:\")\n        (string-prefix? x \"CHEMBL:\")\n        (string-prefix? x \"CHEMBL.\")\n        (string-prefix? x \"KEGG:\")\n        (string-prefix? x \"KEGG.\")\n        (string-prefix? x \"DRUGBANK:\")\n        (string-prefix? x \"RXNORM:\"))))\n\n(define disease-concept?\n  (lambda (x)\n    (or (string-prefix? x \"OMIM:\")\n        (string-prefix? x \"DOID:\")\n        (string-prefix? x \"MONDO:\")\n        (string-prefix? x \"HP:\"))))\n\n(define positively-regulates '(;; common\n                               \"causes\" \"positively_regulates\" \"produces\"\n                               ;; robokop\n                               \"decreases_degradation_of\"\n                               \"increases_secretion_of\"\n                               \"increases_transport_of\"\n                               \"increases_activity_of\"\n                               \"increases_synthesis_of\"\n                               \"increases_expression_of\"\n                               \"positively_regulates__entity_to_entity\"\n                               ;; orange\n                               \"causes_condition\"\n                               \"contributes_to\"\n                               ;; rtx2\n                               \"directly_positively_regulates\"\n                               \"stimulates\"\n                               \"activator\"\n                               \"augments\"\n                               \"induces\"\n                               \"cause_of\"\n                               \"causes_or_contributes_to\"\n                               \"contributes_to_condition\"\n                               ))\n(define negatively-regulates '(;; common\n                               \"prevents\" \"negatively_regulates\"\n                               ;; semmed\n                               ;; robokop\n                               \"decreases_secretion_of\"\n                               \"decreases_transport_of\"\n                               \"decreases_activity_of\"\n                               \"decreases_synthesis_of\"\n                               \"decreases_expression_of\"\n                               \"increases_degradation_of\"\n                               \"negatively_regulates__entity_to_entity\"\n                               \"disrupts\"\n                               ;; orange\n                               ;; rtx2\n                               \"directly_negatively_regulates\"\n                               \"inhibits\"\n                               \"inhibitor\"\n                               \"channel_blocker\"\n                               \"treats\"\n                               \"disrupts\"\n                               \"may_inhibit_effect_of\"\n                               \"may_prevent\"\n                               \"may_treat\"\n                               ))\n(define drug-safe            '(;; rtx2\n                               \"clinically_tested_approved_unknown_phase\"\n                               \"clinically_tested_terminated_phase_2\"\n                               \"clinically_tested_terminated_phase_3\"\n                               \"clinically_tested_terminated_phase_2_or_phase_3\"\n                               \"clinically_tested_withdrawn_phase_3\"\n                               \"clinically_tested_withdrawn_phase_2_or_phase_3\"\n                               \"clinically_tested_withdrawn_phase_2\"\n                               \"clinically_tested_suspended_phase_2\"\n                               \"clinically_tested_suspended_phase_3\"\n                               \"clinically_tested_suspended_phase_2_or_phase_3\"\n                               \"has_tradename\"\n                               ))\n(define gene      '(;; semmed\n                    \"gene\"\n                    ;; robokop\n                    \"(\\\"named_thing\\\" \\\"gene\\\")\"\n                    ;; orange\n                    \"(\\\"gene\\\")\"\n                    \"(\\\"genomic entity\\\" \\\"gene\\\")\"\n                    \"(\\\"gene\\\" \\\"genomic entity\\\")\"\n                    ;; rtx2\n                    \"http://w3id.org/biolink/vocab/Gene\"\n                    ))\n(define protein   '(;; semmed\n                    \"biological_entity\" ;; with \\\"Amino Acid, Peptide, or Protein\\\" in \"umls_type_label\"\n                    ;; robokop\n                    ;; orange\n                    \"(\\\"gene\\\" \\\"genomic entity\\\")\"\n                    ;; rtx2\n                    \"http://w3id.org/biolink/vocab/Protein\"\n                    ;; \"http://w3id.org/biolink/vocab/NamedThing\" ;; ugh\n                    ))\n(define gene-or-protein (set->list (set-union gene protein)))\n(define drug      '(;; semmed\n                    \"chemical_substance\"\n                    ;; robokop\n                    \"(\\\"named_thing\\\" \\\"chemical_substance\\\")\"\n                    ;; orange?\n                    ;; rtx2\n                    \"http://w3id.org/biolink/vocab/Drug\"\n                    \"http://w3id.org/biolink/vocab/ChemicalSubstance\"\n                    \"http://w3id.org/biolink/vocab/Chemical_Substance\"\n                    ))\n(define disease   '(;; semmed\n                    \"disease_or_phenotypic_feature\"\n                    ;; robokop\n                    \"(\\\"named_thing\\\" \\\"disease\\\")\"\n                    \"(\\\"named_thing\\\" \\\"genetic_condition\\\" \\\"disease\\\")\"\n                    \"(\\\"named_thing\\\" \\\"disease\\\" \\\"phenotypic_feature\\\")\"\n                    \"(\\\"named_thing\\\" \\\"genetic_condition\\\" \\\"disease\\\" \\\"phenotypic_feature\\\")\"\n                    ;; orange\n                    \"(\\\"disease\\\")\"\n                    ;; rtx2\n                    \"http://w3id.org/biolink/vocab/Disease\"\n                    ))\n(define phenotype '(;; semmed\n                    \"phenotypic_feature\"\n                    ;; robokop\n                    \"(\\\"named_thing\\\" \\\"phenotypic_feature\\\")\"\n                    ;; orange\n                    \"(\\\"phenotypic feature\\\")\"\n                    ;; rtx2\n                    \"http://w3id.org/biolink/vocab/PhenotypicFeature\"\n                    \"http://w3id.org/biolink/vocab/Phenotypic_Feature\"\n                    ))\n\n(define imatinib \"UMLS:C0935989\")\n(define asthma   \"UMLS:C0004096\")\n\n(define (edges-between c1 c2)\n  (define c1s (curie->concepts c1))\n  (define c2s (curie->concepts c2))\n  (run* (e) (fresh (s o p db eid erest)\n              (== e `(,db ,eid ,s ,o ,p . ,erest))\n              (membero `(,db . ,s) c1s)\n              (membero `(,db . ,o) c2s)\n              (edgeo e))))\n\n(define (path->edges path)\n  (if (and (pair? path) (null? (cdr path))) '()\n    (cons (take path 3) (path->edges (drop path 2)))))\n\n;; TODO: catch naming errors\n(define (query concepts edge-constraints paths)\n  (define edges (append* (map path->edges paths)))\n  (define csets (map cons (map car concepts)\n                     (map (lambda (c)\n                            (cond ((string? c)    (concept/curie c))\n                                  ((not c)        (concept/any))\n                                  ((procedure? c) (concept/curie-filter c))\n                                  (else           (concept/category c))))\n                          (map cdr concepts))))\n  (define esets\n    (map (lambda (e) (let* ((s       (car e))\n                            (p       (cadr e))\n                            (o       (caddr e))\n                            (scxs    (cdr (assoc s csets)))\n                            (ocxs    (cdr (assoc o csets)))\n                            (ecxs    (cdr (assoc p edge-constraints)))\n                            (preds   (car ecxs))\n                            (efilter (and (pair? (cdr ecxs)) (cadr ecxs))))\n                       (cons p (edge/predicate/filter efilter preds scxs ocxs))))\n         edges))\n  (cons paths (append csets esets)))\n\n(define (summarize-edge es)\n  (map (lambda (e) (list (car e) (cadr e) (car (cddddr e))\n                         (cons (cadr (caddr  e)) (caddr (caddr  e)))\n                         (cons (cadr (cadddr e)) (caddr (cadddr e)))))\n       es))\n(define (summarize-concept gs)\n  (map (lambda (curies) (map (lambda (c) (take c 4))\n                             (find-concepts #t curies)))\n       (map set->list (map group-curies gs))))\n(define (summarize cell)\n  (match (cell 'ref)\n    (`(edge    . ,es) `(edge    . ,(summarize-edge    es)))\n    (`(concept . ,gs) `(concept . ,(summarize-concept gs)))\n    (v                v)))\n(define (summarize/assoc named-cells)\n  (map cons (map car named-cells) (map summarize (map cdr named-cells))))\n\n(define-syntax-rule (query/graph ((concept-name initial) ...)\n                                 ((edge-name edge-constraints ...) ...)\n                                 path ...)\n  (let ((q (query `((concept-name . ,initial)   ...)\n                  `((edge-name ,edge-constraints ...) ...)\n                  '(path ...))))\n    (run!)\n    q))\n\n(define (curie-norm gs curie)\n  (group-curie (findf (lambda (g) (set-member? (group-curies g) curie)) gs)))\n\n(define (report/query q)\n  (define paths       (car q))\n  (define named-cells (cdr q))\n  (define kvs (map (lambda (nc) (cons (car nc) ((cdr nc) 'ref)))\n                   named-cells))\n  (define csets (filter (lambda (kv) (eq? (cadr kv) 'concept)) kvs))\n  (define esets (filter (lambda (kv) (eq? (cadr kv) 'edge))    kvs))\n  `((concepts: . ,(map (lambda (cset) `(,(car cset) ,(length (cddr cset))))\n                       csets))\n    (edges: . ,(map (lambda (eset) `(,(car eset) ,(length (cddr eset))))\n                    esets))))\n\n(define (ranked-paths q)\n  (define paths       (car q))\n  (define named-cells (cdr q))\n  (define kvs (map (lambda (nc) (cons (car nc) ((cdr nc) 'ref)))\n                   named-cells))\n  (define csets (filter (lambda (kv) (eq? (cadr kv) 'concept)) kvs))\n  (define esets (filter (lambda (kv) (eq? (cadr kv) 'edge))    kvs))\n  (define e=>s\n    (foldl (lambda (path e=>s)\n             (foldl (lambda (edge e=>s)\n                      (define ename (cadr  edge))\n                      (define sname (car   edge))\n                      (hash-set e=>s ename (cddr (assoc sname csets))))\n                    e=>s (path->edges path)))\n           (hash) paths))\n  (define e=>o\n    (foldl (lambda (path e=>o)\n             (foldl (lambda (edge e=>o)\n                      (define ename (cadr  edge))\n                      (define oname (caddr edge))\n                      (hash-set e=>o ename (cddr (assoc oname csets))))\n                    e=>o (path->edges path)))\n           (hash) paths))\n  (define (augment sgs ogs es)\n    (map (lambda (kv)\n           (define key (car kv))\n           (define es  (cdr kv))\n           (define sg (car key))\n           (define og (cdr key))\n           (list key (augmented-edge-confidence sg og es) es))\n         (hash->list\n           (foldl (lambda (e acc)\n                    (define snorm (curie-norm sgs (cadr (caddr  e))))\n                    (define onorm (curie-norm ogs (cadr (cadddr e))))\n                    (define key (cons snorm onorm))\n                    (define existing (hash-ref acc key #f))\n                    (hash-set acc key (if existing (cons e existing) (list e))))\n                  (hash) es))))\n  (define e=>aes\n    (make-immutable-hash\n      (map (lambda (kv)\n             (define sgs (hash-ref e=>s (car kv)))\n             (define ogs (hash-ref e=>o (car kv)))\n             (define aes (augment sgs ogs (cddr kv)))\n             (cons (car kv) aes))\n           esets)))\n  (define (path-instances path)\n    (let loop ((edges (path->edges path)) (lhs #f))\n      (if (null? edges) '(())\n        (let ((aes (hash-ref e=>aes (cadar edges))))\n          (append* (map (lambda (ae)\n                          (define key   (car   ae))\n                          (define snorm (car   key))\n                          (define onorm (cdr   key))\n                          (if (or (not lhs) (equal? lhs snorm))\n                            (map (lambda (suffix) (cons ae suffix))\n                                 (loop (cdr edges) onorm))\n                            '()))\n                        aes))))))\n  (define path-results\n    (map (lambda (path)\n           (cons path (sort (map (lambda (p) (cons (path-confidence p) p))\n                                 (path-instances path))\n                            (lambda (pa pb) (> (car pa) (car pb))))))\n         paths))\n  path-results)\n\n(define (take/n xs n)\n  (if (or (null? xs) (= n 0)) '() (cons (car xs) (take/n (cdr xs) (- n 1)))))\n\n(define (edges/ranked-with-key ranked path-pos edge-pos key)\n  (define path-report (list-ref ranked path-pos))\n  (define instances   (cdr path-report))\n  (list-ref (cdr (findf (lambda (i) (equal? (car (list-ref (cdr i) edge-pos)) key))\n                        instances))\n            edge-pos))\n\n(define (edges/ranked ranked path-pos edge-pos)\n  (define path-report (list-ref ranked path-pos))\n  (define instances   (cdr path-report))\n  (map (lambda (instance) (list-ref (cdr instance) edge-pos))\n       instances))\n\n(define (edges/query  q name) (cdr ((cdr (assoc name q)) 'ref)))\n(define (curies/query q name)\n  (map group-curie (cdr ((cdr (assoc name q)) 'ref))))\n(define (synonyms/query q name)\n  (map group-curies (cdr ((cdr (assoc name q)) 'ref))))\n\n(define (pretty-ranked ranked (n #f))\n  (for ((path-report ranked))\n       (define instances (cdr path-report))\n       (displayln `(path: ,(length instances) ,(car path-report)))\n       (pretty-print\n         (map (lambda (pi)\n                (define confidence          (car pi))\n                (define pes        (map car (cdr pi)))\n                (define npes (map (lambda (pe) (cons (curie->name (car pe))\n                                                     (curie->name (cdr pe))))\n                                  pes))\n                (list confidence pes npes))\n              (if n (take/n instances n) instances)))))\n\n;; TODO: do these values make sense?\n(define (base-edge-confidence edge)\n  (define (umls? curie) (or (string-prefix? curie \"UMLS:\")\n                            (string-prefix? curie \"CUI:\")))\n  (match edge\n    (`(uab-pmi . ,_) 1.0)\n    (`(semmed  . ,_) 0.4)\n    (`(,_ ,_ (,_ ,subject-curie . ,_) (,_ ,object-curie . ,_) . ,rest)\n      (if (or (umls? subject-curie) (umls? object-curie)) 0.4 0.7))))\n\n;; TODO: relevance ranking? drug safety?\n(define (edge-confidence edge)\n  (define base (base-edge-confidence edge))\n  ;; TODO: examine publications, subject/object scores, and other evidence\n  base)\n\n(define (augmented-edge-confidence sg og es)\n  ;(define (weight-linear+1 n) (+ 1 n))\n  (define (weight-exponential n) (expt 2 n))\n  (define weight weight-exponential)\n  (define support (- 1 (/ 1.0 (weight (length es)))))\n  (define base (apply max (map edge-confidence es)))\n  (+ base (* (- 1 base) support)))\n\n(define (path-confidence aes) (foldl * 1 (map cadr aes)))\n\n;; TODO: bayesian concept-based or edge-based reinforcement\n\n;; multiple edges (an edge set) between two synonym sets\n;;   take max base confidence + accumulate all pubs and evidence?\n\n;compute edge confidences:\n  ;(f (* edge-base subject-xref-base object-xref-base) pubs evidence)\n\n;;; multiply sub-path confidence between this concept and every other known concept node\n;;; intuition: if there is no path to an anchor node, that's confidence 0, and\n;;; multiplied by anything is 0, meaning this concept should not be included\n;compute concept confidences:\n  ;(* concept-xref-base\n     ;(apply * (map (apply max (map (path-confidence path)\n                                   ;(paths-to known-concept)))\n                   ;known-concepts)))\n\n;;; to rank edges, first rank solved unknown concepts\n;;; return best concept's best paths to each anchor node\n;;; gradually swap in lower-confidence edges and adjust best concept's confidence downward to match\n;;; if best concept is no longer best, swap in new best, and repeat until all edges are returned\n;;; ... or just let the upstream reporter report edges specific to selected unknown results\n\n\n(load-databases #t)\n\n\n;;;; RHOBTB2 Queries\n\n;; 1-hop\n#|\n(displayln \"\\nRunning 1-hop rhobtb2 query:\")\n(define q (time (query/graph\n                  ((X       #f)\n                   (rhobtb2 \"UMLS:C1425762\"))\n                  ((X->rhobtb2 negatively-regulates))\n                  (X X->rhobtb2 rhobtb2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q)))\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q)))\n(pretty-ranked ranked)\n|#\n\n\n;; Unconstrained 2-hop\n#|\n(displayln \"\\nRunning 2-hop rhobtb2 query:\")\n(define q (time (query/graph\n                  ((X       #f)\n                   (Y       #f)\n                   (rhobtb2 \"UMLS:C1425762\"))\n                  ((X->Y       negatively-regulates)\n                   (Y->rhobtb2 positively-regulates))\n                  (X X->Y Y Y->rhobtb2 rhobtb2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q)))\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q)))\n(pretty-ranked ranked)\n|#\n\n\n;; Constrained 2-hop\n#|\n(displayln \"\\nRunning 2-hop rhobtb2 query with concept categories:\")\n(define q (time (query/graph\n                  ((X       drug)\n                   (Y       gene-or-protein)\n                   (rhobtb2 \"UMLS:C1425762\"))\n                  ((X->Y       negatively-regulates)\n                   (Y->rhobtb2 positively-regulates))\n                  (X X->Y Y Y->rhobtb2 rhobtb2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q)))\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q)))\n(pretty-ranked ranked)\n|#\n\n#|\n(displayln \"\\nRunning 2-hop rhobtb2 query with concept categories via curie filter:\")\n(define q (time (query/graph\n                  ((X       drug-concept?)\n                   (Y       gene-or-protein)\n                   (rhobtb2 \"UMLS:C1425762\"))\n                  ((X->Y       negatively-regulates)\n                   (Y->rhobtb2 positively-regulates))\n                  (X X->Y Y Y->rhobtb2 rhobtb2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q)))\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q)))\n(pretty-ranked ranked)\n|#\n\n#|\n(displayln \"\\nRunning 2-hop rhobtb2 query with concept categories w/ edge filter:\")\n(define ((edge/db? db) e) (eq? db (car e)))\n(define q (time (query/graph\n                  ((X       drug)\n                   (Y       gene-or-protein)\n                   (rhobtb2 \"UMLS:C1425762\"))\n                  ((X->Y       negatively-regulates (edge/db? 'robokop))\n                   ;(X->Y       negatively-regulates (edge/db? 'semmed))\n                   (Y->rhobtb2 positively-regulates (edge/db? 'uab-pmi)))\n                  (X X->Y Y Y->rhobtb2 rhobtb2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q)))\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q)))\n(pretty-ranked ranked)\n|#\n\n;; Drug safety constraint\n#|\n(displayln \"\\nRunning 2-hop rhobtb2 query with concept categories:\")\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q3)))\n\n(displayln \"\\nRanking paths:\")\n(define ranked3 (time (ranked-paths q3)))\n(pretty-ranked (take ranked3 1))\n;(pretty-ranked (drop ranked3 1))\n|#\n\n\n;; has_tradename constraint\n#|\n(define q4 (time (query/graph\n                  ((X       drug)\n                   (Y       gene-or-protein)\n                   (rhobtb2 \"UMLS:C1425762\")\n                   (T       #f))\n                  ((X->Y       negatively-regulates)\n                   (Y->rhobtb2 positively-regulates)\n                   (X->T       '(\"has_tradename\")))\n                  (X X->Y Y Y->rhobtb2 rhobtb2)\n                  (X X->T T))))\n(define ranked4 (time (ranked-paths q4)))\n(pretty-ranked (take ranked4 1))\n\n;(pretty-ranked (drop ranked4 1))\n;(curies/query q4 'T)\n;(edges/query q4 'X->T)\n|#\n\n\n\n\n;;;; TMPRSS2 Queries\n\n;; 2-hop down-up\n#|\n(displayln \"\\nRunning 2-hop tmprss2 down-up query with concept categories:\")\n(define q1 (time (query/graph\n                  ((X       drug)\n                   (Y       gene-or-protein)\n                   (tmprss2 \"UMLS:C1336641\"))\n                  ((X->Y       negatively-regulates)\n                   (Y->tmprss2 positively-regulates))\n                  (X X->Y Y Y->tmprss2 tmprss2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q1)))\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q1)))\n(pretty-ranked ranked)\n\n;(edges/ranked ranked 0 0 EDGE-KEY)\n|#\n\n\n;; 2-hop up-down\n#|\n(displayln \"\\nRunning 2-hop tmprss2 up-down query with concept categories:\")\n(define q2 (time (query/graph\n                  ((X       drug)\n                   (Y       gene-or-protein)\n                   (tmprss2 \"UMLS:C1336641\"))\n                  ((X->Y       positively-regulates)\n                   (Y->tmprss2 negatively-regulates))\n                  (X X->Y Y Y->tmprss2 tmprss2))))\n\n(displayln \"\\nBuilding report:\")\n(pretty-print (time (report/query q2)))\n\n(displayln \"\\nRanking paths:\")\n(define ranked (time (ranked-paths q2)))\n(pretty-ranked ranked)\n|#\n\n\n;; Writing unconstrained 2-hop edges to file\n#|\n(define qu (time (query/graph\n                  ((X       #f)\n                   (Y       #f)\n                   (tmprss2 \"UMLS:C1336641\"))\n                  ((X->Y       negatively-regulates)\n                   (Y->tmprss2 positively-regulates))\n                  (X X->Y Y Y->tmprss2 tmprss2))))\n\n(call-with-output-file \"newoutttt.scm\"\n  (lambda (op)\n    (pretty-write (edges/query qu 'X->Y) op)))\n|#\n\n\n\n\n;;;; Direct relationship example\n\n#|\n(define q (time (query/graph\n                  ((A \"UMLS:C0812258\") (B \"UMLS:C1425762\"))\n                  ((A->B #f))\n                  (A A->B B))))\n;; Ranking doesn't really make sense in this particular context.\n(define ranked (time (ranked-paths q)))\n;(pretty-ranked ranked)\n(map curie-synonyms/names (curies/query q 'A))\n|#\n\n\n#|\n(curie-synonyms/names \"UMLS:C0812258\")\n(curie-synonyms/names \"UMLS:C1425762\")\n(define es (edges-between \"UMLS:C0812258\" \"UMLS:C1425762\"))\n|#\n"
  },
  {
    "path": "medikanren/pieces-parts/synonymize.rkt",
    "content": "#lang racket\n(provide HGNC-CURIE->synonymized-concepts\n         curie-aliases curie-synonyms curie-synonyms-build curie-synonyms-raw curie-synonyms/names\n         curie->name curie->concepts\n         (all-from-out \"../common.rkt\" \"../mk-db.rkt\"))\n(require \"../common.rkt\" \"../mk-db.rkt\" \"../db.rkt\" racket/runtime-path)\n\n(define (curie->name? curie)\n  (define cs (find-concepts #t (list curie)))\n  (and (pair? cs) (cadddr (car cs))))\n(define (curie->name curie)\n  (define name? (curie->name? curie))\n  (or name? (ormap curie->name? (set->list (curie-synonyms curie)))))\n(define (curie->concepts curie)\n  (find-concepts #t (set->list (curie-synonyms curie))))\n(define (curie-synonyms/names curie)\n  ;; (printf \"curie-synonyms/names for curie ~s\\n\" curie)\n  (define css (set->list (curie-synonyms curie)))\n  ;; (printf \"css = ~s\\n\" css)\n  (map cons css (map curie->name css)))\n\n(define (curie-aliases curies)\n  (foldl (lambda (c acc)\n           (cond ((string-prefix? c \"UMLS:\")\n                  (cons (string-replace c \"UMLS:\" \"CUI:\") acc))\n                 ((string-prefix? c \"CUI:\")\n                  (cons (string-replace c \"CUI:\" \"UMLS:\") acc))\n                 ((string-prefix? c \"NCI:\")\n                  (cons (string-replace c \"NCI:\" \"NCIT:\") acc))\n                 ((string-prefix? c \"NCIT:\")\n                  (cons (string-replace c \"NCIT:\" \"NCI:\") acc))\n                 (else acc)))\n         curies curies))\n\n(define (curie-UMLS-gene? c)\n  (and (string-prefix? (caddr c) \"UMLS:\")\n       (string? (cdar (cddddr c)))\n       (string=? (cdar (cddddr c)) \"gene\")))\n(define (curie-UMLS-drug? c)\n  (and (string-prefix? (caddr c) \"UMLS:\")\n       (string? (cdar (cddddr c)))\n       (string=? (cdar (cddddr c)) \"chemical_substance\")))\n(define (curie-NCIT-gene? c)\n  (and (string-prefix? (caddr c) \"NCIT:\")\n       (string? (cdar (cddddr c)))\n       (string=? (cdar (cddddr c)) \"http://w3id.org/biolink/vocab/GeneSet\")))\n(define (curie-xref-gene? curie)\n  (ormap (lambda (pre) (string-prefix? curie pre))\n         '(\"NCI:\" \"HGNC:\")))\n(define (curie-xref-drug? curie)\n  (ormap (lambda (pre) (string-prefix? curie pre))\n         '(\"MTHSPL:\" \"NDFRT:\" \"RXNORM:\" \"CHEMBL:\")))\n(define ((curie-prefix? prefix) c) (string-prefix? (caddr c) prefix))\n(define curie-HGNC? (curie-prefix? \"HGNC:\"))\n(define curie-NCIT? (curie-prefix? \"NCIT:\"))\n(define curie-CUI?  (curie-prefix? \"CUI:\"))\n(define (any? x) #t)\n\n(define (curie-synonyms-raw curie)\n  (define max-synonyms 100)\n  (define same-as\n    (find-exact-predicates\n      (list ;; \"same_as\" ;; same_as in RTX2 seems too dangerous\n            \"biolink:same_as\"\n            \"equivalent_to\"\n            ;; \"encodes\" ;; obsolete? seems to have been remapped in RTX2\n            \"has_gene_product\"\n            \"gene_encodes_gene_product\"\n            \"biolink:has_gene_template*\")))\n  (define subclass-of (find-exact-predicates (list \"subclass_of\" \"biolink:subClassOf\" \"isa\")))\n  (define xref        (find-exact-predicates (list \"xref\")))\n  ;;;;;;;;;;;;;;;;;;;;;;;;;;\n  ;; Synonymization rules ;;\n  ;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n  ;; Equivalence predicates: add or remove individual rules to adjust\n  (define preds/filters\n    (list\n      (list same-as     any?        any?)\n      ; (list subclass-of curie-NCIT? curie-NCIT?)\n      ; (list xref        curie-NCIT-gene? curie-CUI?)\n      ))\n\n  ;; Concept name hacking: add or remove individual rules to adjust\n  (define suffixes/filters\n    (list\n      ;(list \" wt Allele\" curie-HGNC? curie-NCIT?)\n      ))\n\n  ;; Concept property equivalence lists to be used\n  (define use-synonym-concepto? #t)\n  (define use-xref-concepto?    #f)\n\n  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n  ;; It should rarely be necessary to change code below this point ;;\n  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n  (define (hack-names cs)\n    ;; If you want to change this behavior, adjust the suffixes/filters rules\n    (append*\n      (map (lambda (s/fs)\n             (match-define (list suffix before? after?) s/fs)\n             (define (add-suffix c)\n               (define n (cadddr c))\n               (and n (string-append n suffix)))\n             (define (remove-suffix c)\n               (define n (cadddr c))\n               (and n (string-suffix? n suffix)\n                    (substring n 0 (- (string-length n)\n                                      (string-length suffix)))))\n             (append\n               (filter after?\n                       (append*\n                         (map find-concepts/name\n                              (filter-not\n                                not (remove-duplicates\n                                      (map add-suffix (filter before? cs)))))))\n               (filter before?\n                       (append*\n                         (map find-concepts/name\n                              (filter-not\n                                not (remove-duplicates\n                                      (map remove-suffix\n                                           (filter after? cs)))))))))\n           suffixes/filters)))\n  (define (connect-edges cs)\n    ;; If you want to change this behavior, adjust the preds/filters rules\n    (append*\n      (map (lambda (p/fs)\n             (match-define (list preds s? o?) p/fs)\n             (append (filter o? (run* (x)\n                                  (fresh (s o p db eid erest)\n                                    (membero `(,db . ,s) (filter s? cs))\n                                    (== x `(,db . ,o))\n                                    (membero `(,db . ,p) preds)\n                                    (edgeo `(,db ,eid ,s ,o ,p . ,erest)))))\n                     (filter s? (run* (x)\n                                  (fresh (s o p db eid erest)\n                                    (membero `(,db . ,o) (filter o? cs))\n                                    (== x `(,db . ,s))\n                                    (membero `(,db . ,p) preds)\n                                    (edgeo `(,db ,eid ,s ,o ,p . ,erest)))))))\n           preds/filters)))\n  (define (xref-forward cs0)\n    ;; If you want to change this behavior, change use-xref-concepto?\n    (define cs-gene (filter (lambda (c) (curie-UMLS-gene? c)) cs0))\n    (define xs-gene (filter curie-xref-gene?\n                            (run* (x) (fresh (c)\n                                        (membero c cs-gene)\n                                        (xref-concepto x c)))))\n    (define cs-drug (filter (lambda (c) (curie-UMLS-drug? c)) cs0))\n    (define xs-drug (filter curie-xref-drug?\n                            (run* (x) (fresh (c)\n                                        (membero c cs-drug)\n                                        (xref-concepto x c)))))\n    (append xs-gene xs-drug))\n  (define (xref-backward ids0)\n    ;; If you want to change this behavior, change use-xref-concepto?\n    (define xs-gene\n      (filter (lambda (c) (curie-xref-gene? c)) ids0))\n    (define cs-gene (filter curie-UMLS-gene?\n                            (run* (c) (fresh (x)\n                                        (membero x xs-gene)\n                                        (xref-concepto x c)))))\n    (define xs-drug\n      (filter (lambda (c) (curie-xref-drug? c)) ids0))\n    (define cs-drug (filter curie-UMLS-drug?\n                            (run* (c) (fresh (x)\n                                        (membero x xs-drug)\n                                        (xref-concepto x c)))))\n    (map caddr (append cs-gene cs-drug)))\n\n  (define ids (curie-aliases (list curie)))\n  (let retry ((synonym-concepto? use-synonym-concepto?)\n              (xref-concepto?    use-xref-concepto?))\n    (let loop ((ids0 ids) (synonym-ids (list->set ids)))\n      (if (< max-synonyms (set-count synonym-ids))\n        (cond (synonym-concepto? (retry #f #t))\n              (xref-concepto?    (retry #f #f))\n              (else              (list->set ids)))\n        ;; (printf \"ids0 = ~s\\n\" ids0)\n        (let* ((cs0 (find-concepts #t ids0))\n               ;; Set use-synonym-concepto? to #f to disable\n               (ids (if synonym-concepto?\n                      (run* (curie)\n                        (fresh (c)\n                          (membero c cs0)\n                          (synonym-concepto curie c)))\n                      '()))\n               ;; Set use-synonym-concepto? to #f to disable\n               (cs  (if synonym-concepto?\n                      (run* (c)\n                        (fresh (curie)\n                          (membero curie ids0)\n                          (synonym-concepto curie c)))\n                      '()))\n               (ids (append ids\n                            (map caddr cs)\n                            (map caddr (connect-edges cs0))\n                            ;; Empty suffixes/filters to disable\n                            (map caddr (hack-names    cs0))\n                            ;; Set use-xref-concepto? to #f to disable\n                            (if xref-concepto?\n                              (append (xref-forward cs0) (xref-backward ids0))\n                              '())))\n               (ids (set-subtract (list->set (curie-aliases ids))\n                                  synonym-ids)))\n          (if (set-empty? ids) synonym-ids\n            (loop (set->list ids) (set-union synonym-ids ids))))))))\n\n(define-runtime-path path:data \"../data/\")\n(define (data-path path) (build-path path:data path))\n(define path:curie=>synonyms (data-path \"curie-to-synonyms.scm\"))\n(define path:synonyms        (data-path \"synonyms.scm\"))\n\n(define curie-synonyms\n  (if (and (config-ref 'cache-synonyms?)\n           (file-exists? path:curie=>synonyms) (file-exists? path:synonyms))\n    (let* ((_ (printf \"loading cached synonyms\\n\"))\n           (curie=>sid (time (call-with-input-file path:curie=>synonyms read)))\n           (synonyms   (time (call-with-input-file path:synonyms        read)))\n           (synonyms   (time (vector-map list->set synonyms))))\n      (printf \"loaded ~s synonym classes for ~s curies\\n\"\n              (vector-length synonyms) (hash-count curie=>sid))\n      (lambda (curie)\n        (define idx (hash-ref curie=>sid curie #f))\n        (if idx (vector-ref synonyms (hash-ref curie=>sid curie))\n          (curie-synonyms-raw curie))))\n    curie-synonyms-raw))\n\n(define (curie-synonyms-build)\n  (when (or (file-exists? path:curie=>synonyms) (file-exists? path:synonyms))\n    (error \"synonyms are already cached:\" path:curie=>synonyms path:synonyms))\n  (call-with-output-file\n    path:curie=>synonyms\n    (lambda (out:curie=>synonyms)\n      (call-with-output-file\n        path:synonyms\n        (lambda (out:synonyms)\n          (write-string \"#(\"     out:synonyms)\n          (write-string \"#hash(\" out:curie=>synonyms)\n          (time\n            (let db-loop ((dbs (databases)) (si 0) (seen (set)))\n              (printf \"~s\\n\" (seconds->date (current-seconds)))\n              (printf \"curies seen: ~s\\n\" (set-count seen))\n              (printf \"synonym classes formed: ~s\\n\" si)\n              (unless (null? dbs)\n                (define cs (db:concept-cui-corpus (cdar dbs)))\n                (printf \"finding synonyms for ~s curies in ~s\\n\"\n                        (vector-length cs) (caar dbs))\n                (let loop ((i 0) (si si) (seen seen))\n                  (cond ((= (vector-length cs) i)\n                         (db-loop (cdr dbs) si seen))\n                        ((set-member? seen (vector-ref cs i))\n                         (loop (+ i 1) si seen))\n                        (else\n                          (define ss (curie-synonyms-raw (vector-ref cs i)))\n                          (write (set->list ss) out:synonyms)\n                          (for ((c ss))\n                            (write `(,c . ,si) out:curie=>synonyms))\n                          (loop (+ i 1) (+ si 1) (set-union seen ss))))))))\n          (write-string \")\" out:synonyms)\n          (write-string \")\" out:curie=>synonyms))))))\n\n\n(define DEBUG-SYNONYMIZE #f)\n\n(define human-gene/protein-suffix-ls\n  (list \" protein, human\"\n        \" gene\"\n        \" Gene\"\n        \" wt Allele\"\n        \" (human)\"))\n\n(define animal-model/bacteria/plant-gene/protein-suffix-ls\n  (list \" protein, mouse\"\n        \" protein, rat\"\n        \" protein, zebrafish\"\n        \" protein, C elegans\"\n        \" protein, S cerevisiae\"\n        \" protein, Drosophila\"\n        \" protein, Arabidopsis\"\n        \" protein, E coli\"\n        \" protein, S pombe\"\n        \" protein, Xenopus\"\n        \" (mouse)\"\n        \" (rat)\"\n        \" (zebrafish)\"\n        \" (C elegans)\"\n        \" (S cerevisiae)\"\n        \" (Drosophila)\"\n        \" (Arabidopsis)\"\n        \" (E coli)\"\n        \" (S pombe)\"\n        \" (Xenopus)\"))\n\n;; TODO -- generalize to handle predicates better (really this is more\n;; of a KG standardization issue)\n;;\n;; (define equivalent_to (find-predicates (list \"equivalent_to\")))\n;; (define xref (find-predicates (list \"xref\")))\n;; (define subclass_of (find-predicates '(\"subclass_of\")))\n\n(define extract-name/curie/category-from-concept-ls\n  (lambda (query-ls els)\n    (cond\n      ((null? query-ls) els)\n      ((or (void? (car query-ls))\n           (boolean? (car query-ls)))\n       (extract-name/curie/category-from-concept-ls\n        (cdr query-ls) els))\n      (else\n       (match (car query-ls)\n         [`(,db ,cui ,id ,name ,category ,properties-list)\n          (extract-name/curie/category-from-concept-ls\n           (cdr query-ls)\n           (cons\n            (list db id name) els))])))))\n\n(define extract-concept-from-concept-ls\n  (lambda (query-ls els curie kg)\n    (cond\n      ((null? query-ls) (remove-duplicates els))\n      ((or (void? (car query-ls))\n           (boolean? (car query-ls)))\n       (extract-concept-from-concept-ls\n        (cdr query-ls) els curie kg))\n      (else\n       (match (car query-ls)\n         [`(,db ,cui ,id ,name ,category ,properties-list)\n          (cond\n            ((and (equal? db kg)\n                  (string-contains? id curie))\n             (extract-concept-from-concept-ls\n              (cdr query-ls)\n              (set-union\n               `(,db ,cui ,id ,name ,category ,properties-list) els) curie kg))\n            (else\n             (extract-concept-from-concept-ls\n                         (cdr query-ls)\n                         els curie kg)))])))))\n\n(define extract-curie-from-concept-ls\n  (lambda (query-ls els curie kg)\n    (cond\n      ((null? query-ls) (flatten (remove-duplicates els)))\n      ((or (void? (car query-ls))\n           (boolean? (car query-ls)))\n       (extract-curie-from-concept-ls\n        (cdr query-ls) els curie kg))\n      (else\n       (match (car query-ls)\n         [`(,db ,cui ,id ,name ,category ,properties-list)\n          (cond\n            ((and (equal? db kg)\n                  (string-contains? id curie))\n             (extract-curie-from-concept-ls\n              (cdr query-ls)\n              (cons\n               id els) curie kg))\n            (else\n             (extract-curie-from-concept-ls\n                         (cdr query-ls)\n                         els curie kg)))])))))\n\n(define extract-name-from-concept-ls\n  (lambda (query-ls els curie kg)\n    (cond\n      ((null? query-ls) (remove-duplicates els))\n      ((or (void? (car query-ls))\n           (boolean? (car query-ls)))\n       (extract-name-from-concept-ls\n        (cdr query-ls) els curie kg))\n      (else\n       (match (car query-ls)\n         [`(,db ,cui ,id ,name ,category ,properties-list)\n          (cond\n            ((and (equal? db kg)\n                  (string-contains? id curie))\n             (extract-name-from-concept-ls\n              (cdr query-ls)\n              (cons\n               name els) curie kg))\n            (else\n             (extract-name-from-concept-ls\n                         (cdr query-ls)\n                         els curie kg)))])))))\n\n\n\n\n(define HGNC-CURIE->synonymized-concepts\n  (lambda (hgnc-curie)\n    (define HGNC-gene-query (find-concepts #t (list hgnc-curie)))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln (format \"CONCEPTS FOUND RETURNED FROM INITIAL INPUT CURIE: ~a\" HGNC-gene-query))\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls HGNC-gene-query '())))\n\n    (match-define\n      (list A-->HGNC-input-->B=>concepts\n            A-->HGNC-input-->B=>edges)\n      (run/graph\n        ((A #f)\n         (HGNC-input HGNC-gene-query)\n         (B #f))\n        ((--equivalent_to--> '((rtx2 57 . \"equivalent_to\")))\n         (--xref--> '((rtx2 3 . \"xref\"))))\n        (A --equivalent_to--> HGNC-input --xref--> B)))\n\n    (define A-->HGNC-input/concepts\n      (hash-ref A-->HGNC-input-->B=>concepts 'A))\n\n    (define HGNC-input-->B/concepts\n      (hash-ref A-->HGNC-input-->B=>concepts 'B))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --equivalent_to--> HGNC-input\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls A-->HGNC-input/concepts '()))\n      (newline)\n\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nHGNC-input --xref--> B\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls HGNC-input-->B/concepts '()))\n      (newline))\n\n    (define HGNC-NCBIGene-ENSEMBL-CUIg-OMIM/concept-ls\n      (set-union\n       HGNC-gene-query\n       (set-union\n        A-->HGNC-input/concepts\n        HGNC-input-->B/concepts)))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --equivalent_to--> HGNC-input --xref--> B\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls HGNC-NCBIGene-ENSEMBL-CUIg-OMIM/concept-ls '()))\n      (newline))\n\n    ;; get NCITg (if it exists), OMIM, and redundant HGNC\n    (match-define\n      (list A-->CUIg=>concepts\n            A-->CUIg=>edges)\n      (run/graph\n        ((A #f)\n         (CUIg HGNC-input-->B/concepts))\n        ((--xref--> '((rtx2 3 . \"xref\"))))\n        (A --xref--> CUIg)))\n\n    (define A-->CUIg/concept-ls\n      (hash-ref A-->CUIg=>concepts 'A))\n\n    (when DEBUG-SYNONYMIZE\n      ;; NCITg (if it exists), OMIM, and redundant HGNC\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --xref--> CUI gene\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls A-->CUIg/concept-ls '()))\n      (newline))\n\n    (define HGNC-NCBIGene-ENSEMBL-CUIg-NCITg/concept-ls\n      (set-union\n       HGNC-NCBIGene-ENSEMBL-CUIg-OMIM/concept-ls\n       A-->CUIg/concept-ls))\n\n\n    ;; TODO, filter specifically on the NCITg concept if it exists!!\n    (define NCITg-concept-ls\n      A-->CUIg/concept-ls)\n\n\n\n    ;;get NCIT wt Allele\n    (match-define\n      (list A-->NCITg=>concepts\n            A-->NCITg=>edges)\n      (run/graph\n        ((A #f)\n         (NCITg A-->CUIg/concept-ls))\n        ((--subclass_of--> '((rtx2 15 . \"subclass_of\"))))\n        (A --subclass_of--> NCITg)))\n\n    (define A-->NCITg/concept-ls\n      (hash-ref A-->NCITg=>concepts 'A))\n\n    (when DEBUG-SYNONYMIZE\n      ;;should have NCIT wt Allele\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --subclass_of--> NCIT gene:\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls A-->NCITg/concept-ls '()))\n      (newline))\n\n    (define HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt/concept-ls\n      (set-union\n       A-->NCITg/concept-ls\n       HGNC-NCBIGene-ENSEMBL-CUIg-NCITg/concept-ls))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --equivalent_to--> HGNC-input --xref--> B\\nA --xref--> CUI gene\\nA --subclass_of--> NCIT gene\\n\")\n      (pretty-print (extract-name/curie/category-from-concept-ls HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt/concept-ls '()))\n      (newline))\n\n    (match-define\n      (list NCITwt-->A=>concepts\n            NCITwt-->A=>edges)\n      (run/graph\n        ((A #f)\n         (NCITwt A-->NCITg/concept-ls))\n        ((--xref--> '((rtx2 3 . \"xref\"))))\n        (NCITwt --xref--> A)))\n\n    (define NCITwt-->A/concept-ls\n      (hash-ref NCITwt-->A=>concepts 'A))\n\n    (when DEBUG-SYNONYMIZE\n      ;; should have CUI wt Allele\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nNCIT wt Allele --xref--> A\")\n      (pretty-print (extract-name/curie/category-from-concept-ls NCITwt-->A/concept-ls '()))\n      (newline))\n\n    (define HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt/concept-ls\n      (set-union\n       NCITwt-->A/concept-ls\n       HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt/concept-ls))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --equivalent_to--> HGNC-input --xref--> B\\nA --xref--> CUI gene\\nA --subclass_of--> NCIT gene\\nNCIT wt Allele --xref--> A\\n\" )\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt/concept-ls '()))\n      (newline))\n\n    (define NCBIGene-concept/rtx2\n      (extract-concept-from-concept-ls\n       HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt/concept-ls '() \"NCBIGene:\" 'rtx2))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"NCBIGene-concept/rtx2:\")\n      (newline)\n      (pretty-print NCBIGene-concept/rtx2)\n      (newline))\n\n    (define encodes (find-predicates (list \"encodes\")))\n\n    (match-define\n      (list NCBI-input-->Y=>concepts\n            NCBI-input-->Y=>edges)\n      (run/graph\n        ((Y #f)\n         (NCBIg (list NCBIGene-concept/rtx2)))\n        ((--encodes--> '((rtx2 775 . \"encodes\"))))\n        (NCBIg --encodes--> Y)\n        ))\n\n\n    ;; returns a redundant CUI for gene as well as desired CUI for protein\n    ;; has the CUIprotein concept\n    (define NCBI-input-->Y/concepts\n      (hash-ref NCBI-input-->Y=>concepts 'Y))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nNCBIGene --encodes--> B\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls NCBI-input-->Y/concepts '()))\n      (newline))\n\n    (match-define\n      (list A-->NCBI-input=>concepts\n            A-->NCBI-input=>edges)\n      (run/graph\n        ((A #f)\n         (NCBIg (list NCBIGene-concept/rtx2)))\n        ((--xref--> '((rtx2 3 . \"xref\"))))\n        (A --xref--> NCBIg)))\n\n    (define A-->NCBIGene/concepts\n      (hash-ref A-->NCBI-input=>concepts 'A))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --xref--> NCBIGene\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls A-->NCBIGene/concepts '()))\n      (newline))\n\n    (define NCBIGene-concept/orange\n      (find-concepts\n       #t\n       (extract-curie-from-concept-ls\n        HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt/concept-ls '() \"NCBIGene:\" 'rtx2)))\n\n\n    (define HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt-CUIp-UniProtKB/concept-ls\n      (set-union NCBIGene-concept/orange\n                 (set-union A-->NCBIGene/concepts\n                            (set-union\n                             NCBI-input-->Y/concepts\n                             HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt/concept-ls))))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --equivalent_to--> HGNC-input --xref--> B\\nA --xref--> CUI gene\\nA --subclass_of--> NCIT gene\\nNCIT wt Allele --xref--> A\\nA --xref--> NCBIGene\\nNCBIGene --encodes--> B\\n\" )\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt-CUIp-UniProtKB/concept-ls '()))\n      (newline))\n\n    (match-define\n      (list A-->CUIp-input=>concepts\n            A-->CUIp-input=>edges)\n      (run/graph\n        ((A #f)\n         (CUIp A-->NCBIGene/concepts))\n        ((--xref--> '((rtx2 3 . \"xref\"))))\n        (A --xref--> CUIp)))\n\n    ;; should have MESH protein id\n    (define A-->CUIp-input/concepts\n      (hash-ref A-->CUIp-input=>concepts 'A))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --xref--> CUI protein\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls A-->CUIp-input/concepts '()))\n      (newline))\n\n    (define HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt-CUIp-UniProtKB-MESHp/concept-ls\n      (set-union\n       A-->CUIp-input/concepts\n       HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt-CUIp-UniProtKB/concept-ls))\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPTS FROM:\\nA --equivalent_to--> HGNC-input --xref--> B\\nA --xref--> CUI gene\\nA --subclass_of--> NCIT gene\\nNCIT wt Allele --xref--> A\\nA --xref--> NCBIGene\\nNCBIGene --encodes--> B\\nA --xref--> CUI protein\\n\")\n      (newline)\n      (pretty-print (extract-name/curie/category-from-concept-ls HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt-CUIp-UniProtKB-MESHp/concept-ls '()))\n      (newline))\n\n    (define molecular-entity/concept-ls/sans-UMLS\n      HGNC-NCBIGene-ENSEMBL-CUIg-NCITg-NCITwt-CUIwt-CUIp-UniProtKB-MESHp/concept-ls)\n\n\n    (define molecular-entity/curie-ls/CUI-ONLY\n      (extract-curie-from-concept-ls molecular-entity/concept-ls/sans-UMLS '() \"CUI:\" 'rtx2))\n\n\n    (define molecular-entity/curie-ls/UMLS-ONLY\n      (map (lambda (curie)\n             (string-replace curie \"CUI:\" \"UMLS:\"))\n           molecular-entity/curie-ls/CUI-ONLY))\n\n    (define molecular-entity/concept-ls/UMLS-ONLY\n      (find-concepts #t molecular-entity/curie-ls/UMLS-ONLY))\n\n    ;; dangerous!  Not every HGNC in rtx2 is in robokop\n    #|\n    (define molecular-entity/curie-ls/HGNC-ONLY\n    (extract-name-from-concept-ls molecular-entity/concept-ls/sans-UMLS '() \"HGNC:\" 'robokop))\n    |#\n\n    (define molecular-entity/curie-ls/HGNC-ONLY\n      (list (cadr (regexp-match #px\"^HGNC:([0-9]+)\" hgnc-curie))))\n\n\n    ;; string append HGNC symbol to list of human suffixes\n    (define HGNC-string-with-human-gene/protein-suffix-ls\n      (map (lambda (str) (string-append (car molecular-entity/curie-ls/HGNC-ONLY) str)) human-gene/protein-suffix-ls))\n\n    ;; use this to filter find-concepts\n    (define HGNC-string-with-human-gene/protein-suffix-concept-ls\n      (remove-duplicates\n       (apply append\n              (map\n                (lambda (x) (find-concepts #f (list x)))\n                HGNC-string-with-human-gene/protein-suffix-ls))))\n\n    (define filtered-HGNC-string-with-human-gene/protein-suffix-concept-ls\n      (filter (lambda (c)\n                (member (concept->name c)\n                        HGNC-string-with-human-gene/protein-suffix-ls))\n              HGNC-string-with-human-gene/protein-suffix-concept-ls\n              ))\n\n    (define molecular-entity-concept-ls/complete\n      (set-union filtered-HGNC-string-with-human-gene/protein-suffix-concept-ls\n                 (set-union molecular-entity/concept-ls/sans-UMLS\n                            molecular-entity/concept-ls/UMLS-ONLY)))\n\n    (define human-gene/protein-concept-ls molecular-entity-concept-ls/complete)\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPT BUILDING FOR HGNC QUERY COMPLETE:\\n\")\n      (pretty-print (extract-name/curie/category-from-concept-ls human-gene/protein-concept-ls '()))\n      (newline))\n\n    (define HGNC-string-with-animal-model/bacteria/plant-gene/protein-suffix-ls\n      (let ((hgnc-id-str (car molecular-entity/curie-ls/HGNC-ONLY)))\n        (map string-downcase\n             (map (lambda (x) (string-append hgnc-id-str x))\n                  animal-model/bacteria/plant-gene/protein-suffix-ls))))\n\n    (define HGNC-string-with-animal-model/bacteria/plant-gene/protein-suffix-concept-ls\n      (remove-duplicates\n       (apply append\n              (map (lambda (x) (find-concepts #f (list x)))\n                   HGNC-string-with-animal-model/bacteria/plant-gene/protein-suffix-ls))))\n\n    (define filtered-HGNC-string-with-animal-model/bacteria/plant-gene/protein-suffix-concept-ls\n      (filter (lambda (c)\n                (member (string-downcase (concept->name c))\n                        HGNC-string-with-animal-model/bacteria/plant-gene/protein-suffix-ls))\n              HGNC-string-with-animal-model/bacteria/plant-gene/protein-suffix-concept-ls))\n\n    (define animal-genes/proteins-concept-ls filtered-HGNC-string-with-animal-model/bacteria/plant-gene/protein-suffix-concept-ls)\n\n    (when DEBUG-SYNONYMIZE\n      (newline)\n      (displayln \"CONCEPT BUILDING FOR ANIMAL MODEL QUERY COMPLETE:\\n\")\n      (pretty-print (extract-name/curie/category-from-concept-ls animal-genes/proteins-concept-ls '()))\n      (newline))\n\n    (define all-genes/proteins (set-union human-gene/protein-concept-ls\n                                          animal-genes/proteins-concept-ls))\n\n    (hash\n\n     'all-genes/proteins\n     all-genes/proteins\n\n     'human-genes/proteins\n     human-gene/protein-concept-ls\n\n     'animal-genes/proteins\n     animal-genes/proteins-concept-ls\n     )\n    ))\n\n\n\n;; RHOBTB2\n;; (define RHOBTB2-synonyms (HGNC-CURIE->synonymized-concepts \"HGNC:18756\"))\n\n;; E2F1\n;; (define E2F1-synonyms (HGNC-CURIE->synonymized-concepts \"HGNC:3113\"))\n"
  },
  {
    "path": "medikanren/pieces-parts/visjs.html",
    "content": "<html>\n<head>\n  <title>Vis Network | Data | DOT Language</title>\n\n  <script src=\"https://unpkg.com/vis-network/standalone/umd/vis-network.min.js\"></script>\n</head>\n<body>\n<p>\n  Network supports the DOT language.\n</p>\n<div id=\"mynetwork\"></div>\n\n<script type=\"text/javascript\">\n  var container = document.getElementById('mynetwork');\n  var dot = 'digraph{graph [ bgcolor=lightgray, fontname=Arial, fontcolor=blue, fontsize=12 ]; node [ fontname=Arial, fontcolor=blue, fontsize=11]; edge [ fontname=Helvetica, fontcolor=red, fontsize=10, labeldistance=2, labelangle=-50 ]; splines=\"FALSE\"; rankdir=\"LR\";    \"MONDO\" -> \"NCIT\" [label=\"related_to\"];     \"ClinVarVariant\" -> \"MONDO\" [label=\"related_condition\"];     \"MONDO\" -> \"HP\" [label=\"has_modifier\"];     \"CL\" -> \"CL\" [label=\"subclass_of\"];     \"ENSEMBL\" -> \"MONDO\" [label=\"causally_related_to\"];     \"OMIM\" -> \"HP\" [label=\"has_disposition\"];     \"OMIM\" -> \"GENO\" [label=\"subclass_of\"];     \"ClinVarVariant\" -> \"MedGen\" [label=\"causes_condition\"];     \"DECIPHER\" -> \"HP\" [label=\"has_disposition\"];     \"ClinVarVariant\" -> \"MONDO\" [label=\"related_to\"];     \"MONDO\" -> \"HP\" [label=\"has_disposition\"];     \"BNODE\" -> \"OMIM\" [label=\"contributes_to\"];     \"OMIM\" -> \"OMIM\" [label=\"causes_condition\"];     \"BNODE\" -> \"MONDO\" [label=\"causally_related_to\"];     \"MONDO\" -> \"GO\" [label=\"related_to\"];     \"OMIM\" -> \"OMIM\" [label=\"biomarker_for\"];     \"NCBIGene\" -> \"MONDO\" [label=\"causally_related_to\"];     \"MONDO\" -> \"MONDO\" [label=\"related_to\"];     \"ClinVarVariant\" -> \"OMIM\" [label=\"related_condition\"];     \"MONDO\" -> \"SO\" [label=\"has_modifier\"];     \"UBERON\" -> \"BFO\" [label=\"subclass_of\"];     \"MONDO\" -> \"PR\" [label=\"causally_related_to\"];     \"MONDO\" -> \"PATO\" [label=\"causally_related_to\"];     \"FOODON\" -> \"NCBITaxon\" [label=\"subclass_of\"];     \"HGNC\" -> \"MONDO\" [label=\"biomarker_for\"];     \"FOODON\" -> \"FOODON\" [label=\"subclass_of\"];     \"MONDO\" -> \"OBO\" [label=\"causally_related_to\"];     \"BNODE\" -> \"OMIM\" [label=\"causes_condition\"];     \"MONDO\" -> \"OBO\" [label=\"subclass_of\"];     \"MONDO\" -> \"UBERON\" [label=\"related_to\"];     \"ClinVarVariant\" -> \"OMIM\" [label=\"related_to\"];     \"MONDO\" -> \"PATO\" [label=\"subclass_of\"];     \"ENSEMBL\" -> \"SO\" [label=\"subclass_of\"];     \"OMIM\" -> \"MONDO\" [label=\"subclass_of\"];     \"Orphanet\" -> \"MONDO\" [label=\"biomarker_for\"];     \"BNODE\" -> \"OMIM\" [label=\"biomarker_for\"];     \"NCBIGene\" -> \"MONDO\" [label=\"has_phenotype\"];     \"ClinVarVariant\" -> \"MedGen\" [label=\"related_condition\"];     \"ClinVarVariant\" -> \"Orphanet\" [label=\"causes_condition\"];     \"MONDO\" -> \"CHEBI\" [label=\"related_to\"];     \"OMIM\" -> \"UPHENO\" [label=\"subclass_of\"];     \"MONDO\" -> \"MFOMD\" [label=\"related_to\"];     \"MONDO\" -> \"NCBITaxon\" [label=\"causally_related_to\"];     \"MONDO\" -> \"MFOEM\" [label=\"causally_related_to\"];     \"MONDO\" -> \"HP\" [label=\"related_to\"];     \"NCBIGene\" -> \"GENO\" [label=\"subclass_of\"];     \"ClinVarVariant\" -> \"MedGen\" [label=\"related_to\"];     \"HP\" -> \"HP\" [label=\"subclass_of\"];     \"MONDO\" -> \"MONDO\" [label=\"causally_related_to\"];     \"BNODE\" -> \"Orphanet\" [label=\"causes_condition\"];     \"HP\" -> \"UPHENO\" [label=\"subclass_of\"];     \"MONDO\" -> \"GO\" [label=\"causally_related_to\"];     \"NCBIGene\" -> \"Orphanet\" [label=\"biomarker_for\"];     \"MONDO\" -> \"MONDO\" [label=\"subclass_of\"];     \"NCBIGene\" -> \"OMIM\" [label=\"has_phenotype\"];     \"MONDO\" -> \"NBO\" [label=\"related_to\"];     \"ClinVarVariant\" -> \"Orphanet\" [label=\"related_condition\"];     \"ClinVarVariant\" -> \"NCBIGene\" [label=\"causes_condition\"];     \"MONDO\" -> \"UBERON\" [label=\"causally_related_to\"];     \"BNODE\" -> \"MONDO\" [label=\"contributes_to\"];     \"MONDO\" -> \"FOODON\" [label=\"causally_related_to\"];     \"MONDO\" -> \"BFO\" [label=\"subclass_of\"];     \"NCBIGene\" -> \"HP\" [label=\"has_phenotype\"];     \"MONDO\" -> \"NCBITaxon\" [label=\"in_taxon\"];     \"MONDO\" -> \"CL\" [label=\"causally_related_to\"];     \"DOID\" -> \"HP\" [label=\"has_phenotype\"];     \"NCBIGene\" -> \"MONDO\" [label=\"contributes_to\"];     \"MONDO\" -> \"OMIM\" [label=\"subclass_of\"];     \"NCBIGene\" -> \"NCBIGene\" [label=\"contributes_to\"];     \"NCBIGene\" -> \"CHR\" [label=\"is_subsequence_of\"];     \"MONDO\" -> \"MONDO\" [label=\"has_phenotype\"];     \"MONDO\" -> \"CHEBI\" [label=\"causally_related_to\"];     \"OMIM\" -> \"HP\" [label=\"subclass_of\"];     \"Orphanet\" -> \"HP\" [label=\"has_phenotype\"];     \"BNODE\" -> \"MONDO\" [label=\"causes_condition\"];     \"ENSEMBL\" -> \"MONDO\" [label=\"biomarker_for\"];     \"OMIM\" -> \"OMIM\" [label=\"subclass_of\"];     \"MONDO\" -> \"NCBITaxon\" [label=\"transmitted_by\"];     \"OMIM\" -> \"MONDO\" [label=\"contributes_to\"];     \"MONDO\" -> \"HP\" [label=\"subclass_of\"];     \"MONDO\" -> \"NCIT\" [label=\"disease_has_feature\"];     \"MONDO\" -> \"HGNC\" [label=\"causally_related_to\"];     \"ClinVarVariant\" -> \"NCBIGene\" [label=\"related_condition\"];     \"NCBIGene\" -> \"OMIM\" [label=\"contributes_to\"];     \"ENSEMBL\" -> \"CHR\" [label=\"is_subsequence_of\"];     \"HGNC\" -> \"MONDO\" [label=\"causally_related_to\"];     \"NCBIGene\" -> \"MONDO\" [label=\"causes_condition\"];     \"OMIM\" -> \"HP\" [label=\"has_phenotype\"];     \"NCBIGene\" -> \"NCBIGene\" [label=\"causes_condition\"];     \"MONDO\" -> \"PATO\" [label=\"has_modifier\"];     \"MONDO\" -> \"HP\" [label=\"has_phenotype\"];     \"CHR\" -> \"SO\" [label=\"subclass_of\"];     \"NCBIGene\" -> \"MONDO\" [label=\"biomarker_for\"];     \"MONDO\" -> \"ENSEMBL\" [label=\"causally_related_to\"];     \"DECIPHER\" -> \"HP\" [label=\"has_phenotype\"];     \"MONDO\" -> \"NCIT\" [label=\"has_modifier\"];     \"MONDO\" -> \"MONDO\" [label=\"disease_has_feature\"];     \"Orphanet\" -> \"MONDO\" [label=\"causally_related_to\"];     \"OMIM\" -> \"MONDO\" [label=\"causes_condition\"];     \"MONDO\" -> \"GO\" [label=\"disease_relationship\"];     \"MONDO\" -> \"NBO\" [label=\"causally_related_to\"];     \"NCBIGene\" -> \"NCBIGene\" [label=\"biomarker_for\"];     \"NCBIGene\" -> \"OMIM\" [label=\"causes_condition\"];     \"MONDO\" -> \"UBERON\" [label=\"disease_relationship\"];     \"MONDO\" -> \"OBA\" [label=\"disease_has_feature\"];     \"MONDO\" -> \"MONDO\" [label=\"contributes_to\"];     \"Orphanet\" -> \"SO\" [label=\"subclass_of\"];     \"MONDO\" -> \"CL\" [label=\"disease_relationship\"];     \"MONDO\" -> \"ENVO\" [label=\"causally_related_to\"];     \"HGNC\" -> \"CHR\" [label=\"is_subsequence_of\"];     \"MONDO\" -> \"UPHENO\" [label=\"subclass_of\"];     \"MESH\" -> \"HP\" [label=\"has_phenotype\"];     \"NCBIGene\" -> \"OMIM\" [label=\"biomarker_for\"];     \"HGNC\" -> \"SO\" [label=\"subclass_of\"];     \"GO\" -> \"GO\" [label=\"subclass_of\"];     \"NCBIGene\" -> \"HP\" [label=\"has_disposition\"];     \"MONDO\" -> \"MONDO\" [label=\"has_modifier\"];     \"ClinVarVariant\" -> \"MONDO\" [label=\"causes_condition\"];     \"NCBIGene\" -> \"Orphanet\" [label=\"causally_related_to\"];     \"MONDO\" -> \"HP\" [label=\"disease_has_feature\"];     \"MONDO\" -> \"MONDO\" [label=\"causes_condition\"];     \"BNODE\" -> \"SO\" [label=\"subclass_of\"];     \"MONDO\" -> \"NCBIGene\" [label=\"causally_related_to\"];     \"OMIM\" -> \"SO\" [label=\"subclass_of\"];     \"MONDO\" -> \"UBERON\" [label=\"has_modifier\"];     \"NCBIGene\" -> \"SO\" [label=\"subclass_of\"];     \"MONDO\" -> \"CL\" [label=\"disease_has_location\"];     \"ClinVarVariant\" -> \"OMIM\" [label=\"causes_condition\"];     \"MONDO\" -> \"UBERON\" [label=\"disease_has_location\"];     \"MONDO\" -> \"MF\" [label=\"causally_related_to\"];     \"MONDO\" -> \"PO\" [label=\"causally_related_to\"];     \"UBERON\" -> \"CARO\" [label=\"subclass_of\"];     \"OMIM\" -> \"OMIM\" [label=\"contributes_to\"]; }'\n  var data = vis.parseDOTNetwork(dot);\n  var options = {\n    layout: {\n        hierarchical: {\n            direction: \"LR\"\n        }\n    },\n    physics: {\n      hierarchicalRepulsion: {\n        avoidOverlap: 10\n      }\n    },\n    dragNodes: 'true',\n    hideEdgesOnDrag: 'true',\n    hideNodesOnDrag: 'true'\n  };\n  var network = new vis.Network(container, data, options);\n</script>\n</body>\n</html>\n"
  },
  {
    "path": "medikanren/repr.rkt",
    "content": "#lang racket/base\n(provide\n  concept-cui\n  concept-category\n  concept-name\n  concept-props\n  concept->synonyms\n  concept->xrefs\n\n  edge/props-subject\n  edge/props-pid\n  edge/props-object\n  edge/props-props\n\n  edge-predicate\n  edge-dst-category\n  edge-dst\n  edge-eid\n  edge->bytes\n  bytes->edge\n\n  string-key->bytes\n  bytes->string-key\n  write-string-keys\n  port->string-keys\n  string-index->string-key\n  string-key-count\n\n  suffix-key-count\n  suffix-key-count/port\n  suffix-key-ref\n  suffix-key->bytes\n  write-suffix-keys\n  suffix-index->suffix-key\n\n  edge-pids-by-X\n  stream-edges-by-X\n  port->stream-offset&values\n  vector->stream-offset&values\n\n  write-scm\n  offset-write\n  offset-count\n  offset-ref\n  detail-find-index\n  detail-find\n  detail-ref\n  detail-next\n  detail-write\n  detail-stream)\n\n(require racket/list racket/port racket/set racket/stream racket/string)\n\n(define (read-list/string s)\n  (cond ((string-prefix? s \"(\")\n         (define datum (call-with-input-string s read))\n         (if (list? datum) datum '()))\n        (else (list s))))\n\n(define (concept-cui c)      (vector-ref c 0))\n(define (concept-category c) (vector-ref c 1))\n(define (concept-name c)     (vector-ref c 2))\n(define (concept-props c)    (vector-ref c 3))\n(define (concept->synonyms c)\n  (define props (concept-props c))\n  (define (dedup xs)\n    (cdr (reverse (foldl (lambda (part acc) (if (equal? part (car acc)) acc\n                                              (cons part acc)))\n                         '(#t) xs))))\n  (append* (map (lambda (key)\n                  (define rib (assoc key props))\n                  (if rib (map (lambda (curie)\n                                 (string-join (dedup (string-split curie \":\"))\n                                              \":\"))\n                               (read-list/string (cdr rib))) '()))\n                '(\"same_as\" \"equivalent_identifiers\"))))\n(define (concept->xrefs c)\n  (define props (concept-props c))\n  (define (dedup xs)\n    (cdr (reverse (foldl (lambda (part acc) (if (equal? part (car acc)) acc\n                                              (cons part acc)))\n                         '(#t) xs))))\n  (append* (map (lambda (key)\n                  (define rib (assoc key props))\n                  (if rib (map (lambda (curie)\n                                 (string-join (dedup (string-split curie \":\"))\n                                              \":\"))\n                               (read-list/string (cdr rib))) '()))\n                '(\"xrefs\"))))\n\n;; This is the edge representation for edges.scm, not for edges-by-X.detail.\n(define (edge/props-subject e) (vector-ref e 0))\n(define (edge/props-pid e)     (vector-ref e 1))\n(define (edge/props-object e)  (vector-ref e 2))\n(define (edge/props-props e)   (vector-ref e 3))\n\n;; This is the edge representation for edges-by-X.detail, not for edges.scm.\n(define (edge-predicate e)    (vector-ref e 0))\n(define (edge-dst-category e) (vector-ref e 1))\n(define (edge-dst e)          (vector-ref e 2))\n(define (edge-eid e)          (vector-ref e 3))\n\n(define (byte-at offset n) (bitwise-and 255 (arithmetic-shift n offset)))\n\n;; 2-byte predicate + 2-byte category + 3-byte concept-id + 4-byte eid\n(define edge-byte-size (+ 2 2 3 4))\n(define (edge->bytes e)\n  (define c   (edge-dst e))\n  (define pid (edge-predicate e))\n  (define cc  (edge-dst-category e))\n  (define eid (edge-eid e))\n  (bytes                                     (byte-at -8 pid) (byte-at 0 pid)\n                                             (byte-at -8 cc)  (byte-at 0 cc)\n                           (byte-at -16 c)   (byte-at -8 c)   (byte-at 0 c)\n         (byte-at -24 eid) (byte-at -16 eid) (byte-at -8 eid) (byte-at 0 eid)))\n(define (bytes->edge bs)\n  (define (bref pos) (bytes-ref bs pos))\n  (define (bref-to pos offset) (arithmetic-shift (bref pos) offset))\n  (vector (+                               (bref-to 0 8) (bref-to 1  0))\n          (+                               (bref-to 2 8) (bref-to 3  0))\n          (+                (bref-to 4 16) (bref-to 5 8) (bref-to 6  0))\n          (+ (bref-to 7 24) (bref-to 8 16) (bref-to 9 8) (bref-to 10 0))))\n(define (read-edge-bytes in) (read-bytes edge-byte-size in))\n\n(define string-key-byte-size 4)\n(define (string-key->bytes cid)\n  (bytes (byte-at -24 cid) (byte-at -16 cid) (byte-at -8 cid) (byte-at 0 cid)))\n(define (bytes->string-key bs)\n  (define (bref-to pos offset) (arithmetic-shift (bytes-ref bs pos) offset))\n  (+ (bref-to 0 24) (bref-to 1 16) (bref-to 2 8) (bref-to 3 0)))\n(define (read-string-key-bytes in) (read-bytes string-key-byte-size in))\n(define (write-string-keys out v)\n  (for ((s (in-vector v))) (write-bytes (string-key->bytes s) out)))\n(define (port->string-keys in)\n  (define end (begin (file-position in eof) (file-position in)))\n  (file-position in 0)\n  (for/vector ((_ (in-range (/ end string-key-byte-size))))\n              (bytes->string-key (read-string-key-bytes in))))\n(define (string-index->string-key in si)\n  (file-position in (* string-key-byte-size si))\n  (bytes->string-key (read-string-key-bytes in)))\n(define (string-key-count in)\n  (file-position in eof)\n  (/ (file-position in) string-key-byte-size))\n\n(define suffix-key-byte-size (+ 4 2))\n(define (suffix-key-count bs) (/ (bytes-length bs) suffix-key-byte-size))\n(define (suffix-key-count/port in)\n  (file-position in eof)\n  (/ (file-position in) suffix-key-byte-size))\n(define (suffix-key-ref index i) (bytes->suffix-key index i))\n(define (suffix-key->bytes s)\n  (define cid (car s))\n  (define pos (cdr s))\n  (bytes (byte-at -24 cid) (byte-at -16 cid) (byte-at -8 cid) (byte-at 0 cid)\n         (byte-at -8 pos) (byte-at 0 pos)))\n(define (bytes->suffix-key bs start)\n  (define i (* start suffix-key-byte-size))\n  (define (bref-to j offset) (arithmetic-shift (bytes-ref bs (+ i j)) offset))\n  (cons (+ (bref-to 0 24) (bref-to 1 16) (bref-to 2 8) (bref-to 3 0))\n        (+ (bref-to 4 8) (bref-to 5 0))))\n(define (read-suffix-key-bytes in) (read-bytes suffix-key-byte-size in))\n(define (write-suffix-keys out v)\n  (for ((s (in-vector v))) (write-bytes (suffix-key->bytes s) out)))\n(define (suffix-index->suffix-key in si)\n  (file-position in (* suffix-key-byte-size si))\n  (bytes->suffix-key (read-suffix-key-bytes in) 0))\n\n(define (edge-pids-by-X in in-offset src)\n  (define start (offset-ref in-offset src))\n  (define end   (offset-ref in-offset (+ src 1)))\n  (file-position in start)\n  (let loop ((n (/ (- end start) edge-byte-size)) (pids (set)))\n    (cond ((= n 0) (sort (set->list pids) <))\n          (else (define edge (bytes->edge (read-edge-bytes in)))\n                (loop (- n 1) (set-add pids (edge-predicate edge)))))))\n\n;; Stream edges-by-X by mask for a particular source concept, e.g.,\n;;   #(#f  #f         #f):     get all.\n;;   #(#f  dst-cat-id #f):     get all with some destination category, any pid.\n;;   #(#f  _          dst-id): get all with some destination, any pid.\n;;   #(pid #f         #f):     get all with some pid and any destination.\n;;   #(pid dst-cat-id #f):     get all with some pid and destination category.\n;;   #(pid _          dst-id): get all with some pid and destination.\n(define (stream-edges-by-X in in-offset src pid? cat? dst?)\n  ;; TODO: binary search for start of non-#f mask prefix.\n  (define end (offset-ref in-offset (+ src 1)))\n  (let loop ((pos (offset-ref in-offset src)) (set-pos? #t))\n    (cond ((= pos end) '())\n          (else (when set-pos? (file-position in pos))\n                (define bs (read-edge-bytes in))\n                (if (eof-object? bs) '()\n                  (let* ((edge (bytes->edge bs))\n                         (pos-next (+ pos edge-byte-size))\n                         (pid (edge-predicate edge)))\n                    (cond ((and pid? (> pid pid?)) '())\n                          ((and pid? (< pid pid?)) (loop pos-next #f))\n                          ((and cat? (not (= cat? (edge-dst-category edge))))\n                           (loop pos-next #f))\n                          ((and dst? (not (= dst? (edge-dst edge))))\n                           (loop pos-next #f))\n                          (else (stream-cons edge (loop pos-next #t))))))))))\n;; TODO: stream edges-by-X by pid set, equivalent to a union of pid-only masks.\n\n(define (port->stream-offset&values in)\n  (let loop ((offset 0) (pos 0))\n    (file-position in pos)\n    (define v (read in))\n    (define pos-next (file-position in))\n    (if (eof-object? v) '()\n      (stream-cons (cons offset v) (loop (+ offset 1) pos-next)))))\n\n(define (vector->stream-offset&values v*)\n  (define len (vector-length v*))\n  (let loop ((offset 0))\n    (if (<= len offset) '()\n      (stream-cons (cons offset (vector-ref v* offset)) (loop (+ offset 1))))))\n\n(define (write-scm out scm) (fprintf out \"~s\\n\" scm))\n\n(define offset-size 8)\n(define (offset->bytes o) (integer->integer-bytes o offset-size #f #f))\n(define (bytes->offset b) (integer-bytes->integer b #f #f 0 offset-size))\n(define (offset-write out offset) (write-bytes (offset->bytes offset) out))\n(define (offset-count in)\n  (file-position in eof)\n  (/ (file-position in) offset-size))\n(define (offset-ref in n)\n  (file-position in (* n offset-size))\n  (bytes->offset (read-bytes offset-size in)))\n\n(define (detail-write detail-out offset-out detail)\n  (when offset-out (offset-write offset-out (file-position detail-out)))\n  (write-scm detail-out detail))\n(define (detail-ref detail-in offset-in n)\n  (file-position detail-in (offset-ref offset-in n))\n  (read detail-in))\n(define (detail-next detail-in) (read detail-in))\n\n(define (detail-find-index detail-in offset-in compare)\n  (let loop ((start 0) (end (offset-count offset-in)) (best #f))\n    (cond ((< start end)\n           (define n (+ start (quotient (- end start) 2)))\n           (define detail (detail-ref detail-in offset-in n))\n           (case (compare detail)\n             ((-1) (loop (+ 1 n) end best))\n             (( 0) (loop start n n))\n             (( 1) (loop start n best))))\n          (else best))))\n\n(define (detail-find detail-in offset-in compare)\n  (let loop ((start 0) (end (offset-count offset-in)) (best #f))\n    (cond ((< start end)\n           (define n (+ start (quotient (- end start) 2)))\n           (define detail (detail-ref detail-in offset-in n))\n           (case (compare detail)\n             ((-1) (loop (+ 1 n) end best))\n             (( 0) (loop start n n))\n             (( 1) (loop start n best))))\n          (best (detail-ref detail-in offset-in best))\n          (else eof))))\n\n(define (detail-stream in)\n  (let loop ((pos 0))\n    (file-position in pos)\n    (define datum (detail-next in))\n    (define pos-next (file-position in))\n    (if (eof-object? datum) '() (stream-cons datum (loop pos-next)))))\n"
  },
  {
    "path": "medikanren/string-search.rkt",
    "content": "#lang racket/base\n(provide\n  string/searchable\n  suffix:corpus->index\n  suffix:corpus-find*\n  suffix:corpus-find*/disk\n  string:corpus->index\n  string:corpus-find*\n  string:corpus-find*/disk)\n(require\n  \"repr.rkt\"\n  racket/list\n  racket/match\n  racket/string\n  racket/unsafe/ops\n  racket/vector)\n\n(define (msd-radix-sort vs len dref v<?)\n  (define vvs (list->vector vs))\n  (define out (make-vector (vector-length vvs)))\n  (define pos-count 127)\n  (define pos (make-vector pos-count))\n  (define (++pos! i) (unsafe-vector*-set!\n                       pos i (+ 1 (unsafe-vector*-ref pos i))))\n  (let loop ((bi 0) (vi 0) (vend (vector-length vvs)) (vs vvs) (out out))\n    (cond\n      ((< (- vend vi) 100) (vector-sort! vs v<? vi vend)\n                           (when (= 0 (bitwise-and bi 1))\n                             (vector-copy! out vi vs vi vend)))\n      (else (vector-fill! pos 0)\n            (define done-pos\n              (let i-loop ((i vi) (done-pos vi))\n                (cond ((< i vend)\n                       (define v (unsafe-vector*-ref vs i))\n                       (cond ((<= (len v) bi)\n                              (unsafe-vector*-set! out done-pos v)\n                              (i-loop (+ 1 i) (+ 1 done-pos)))\n                             (else (define d (dref v bi))\n                                   (when (< d pos-count) (++pos! d))\n                                   (i-loop (+ 1 i) done-pos))))\n                      (else done-pos))))\n            (define initial-big-pos\n              (let p-loop ((d 0) (p done-pos))\n                (cond ((< d pos-count)\n                       (define p^ (+ p (unsafe-vector*-ref pos d)))\n                       (unsafe-vector*-set! pos d p)\n                       (p-loop (+ 1 d) p^))\n                      (else p))))\n            (define big-pos\n              (let i-loop ((i vi) (big-pos initial-big-pos))\n                (cond ((< i vend)\n                       (define v (unsafe-vector*-ref vs i))\n                       (cond ((< bi (len v))\n                              (define d (dref v bi))\n                              (cond ((< d pos-count)\n                                     (unsafe-vector*-set!\n                                       out (unsafe-vector*-ref pos d) v)\n                                     (++pos! d)\n                                     (i-loop (+ 1 i) big-pos))\n                                    (else (unsafe-vector*-set! out big-pos v)\n                                          (i-loop (+ 1 i) (+ 1 big-pos)))))\n                             (else (i-loop (+ 1 i) big-pos))))\n                      (else big-pos))))\n            (when (< initial-big-pos vend)\n              (vector-sort! out v<? initial-big-pos vend)\n              (when (= 1 (bitwise-and bi 1))\n                (vector-copy! vs initial-big-pos out initial-big-pos big-pos)))\n            (when (= 1 (bitwise-and bi 1))\n              (vector-copy! vs vi out vi done-pos))\n            (let d-loop ((i done-pos))\n              (when (< i initial-big-pos)\n                (define d (dref (unsafe-vector*-ref out i) bi))\n                (let end-loop ((end i) (offset 1))\n                  (define next (+ end offset))\n                  (cond\n                    ((and (< next initial-big-pos)\n                          (= d (dref (unsafe-vector*-ref out next) bi)))\n                     (end-loop next (arithmetic-shift offset 1)))\n                    (else (let end-loop\n                            ((end end) (offset (arithmetic-shift offset -1)))\n                            (define next (+ end offset))\n                            (if (= offset 0)\n                              (begin (loop (+ 1 bi) i (+ 1 end) out vs)\n                                     (d-loop (+ 1 end)))\n                              (end-loop\n                                (cond ((and (< next initial-big-pos)\n                                            (= d (dref (unsafe-vector*-ref\n                                                         out next) bi)))\n                                       next)\n                                      (else end))\n                                (arithmetic-shift offset -1))))))))))))\n  out)\n\n(define (nlist-intersection nlists)\n  (if (null? nlists) '()\n    (let loop ((i** nlists))\n      (cond ((ormap null? i**) '())\n            (else (define i0* (map car i**))\n                  (define next (apply max i0*))\n                  (if (andmap (lambda (i) (= i next)) i0*)\n                    (cons next (loop (map cdr i**)))\n                    (loop (map (lambda (i*) (dropf i* (lambda (i) (< i next))))\n                               i**))))))))\n\n(define i0              (char->integer #\\0))\n(define i9              (char->integer #\\9))\n(define iA              (char->integer #\\A))\n(define iZ              (char->integer #\\Z))\n(define (searchable? c) (and (<= i0 c) (<= c iZ) (or (<= c i9) (<= iA c))))\n(define (string/searchable s)\n  (define cs (map char->integer (string->list (string-upcase s))))\n  (list->string (map integer->char (filter searchable? cs))))\n(define (suffix->string corpus s)\n  (substring (vector-ref corpus (car s)) (cdr s)))\n(define (suffix-string-length corpus s)\n  (- (string-length (vector-ref corpus (car s))) (cdr s)))\n(define (suffix-string-ref corpus s i)\n  (char->integer (string-ref (unsafe-vector*-ref corpus (car s))\n                             (+ (cdr s) i))))\n(define (string<?/suffixes a ai b bi)\n  (define alen (- (string-length a) ai))\n  (define blen (- (string-length b) bi))\n  (let loop ((k (min alen blen)) (ai ai) (bi bi))\n    (cond ((= k 0)                                      (< alen blen))\n          ((char<? (string-ref a ai) (string-ref b bi)) #t)\n          ((char>? (string-ref a ai) (string-ref b bi)) #f)\n          (else (loop (- k 1) (+ ai 1) (+ bi 1))))))\n(define (suffix<?/corpus corpus a b)\n  (string<?/suffixes (vector-ref corpus (car a)) (cdr a)\n                     (vector-ref corpus (car b)) (cdr b)))\n\n(define (suffix:corpus->index corpus)\n  (define suffixes\n    (foldl (lambda (i all)\n             (foldl (lambda (j all) (cons (cons i j) all))\n                    all (range (string-length (vector-ref corpus i)))))\n           '() (range (vector-length corpus))))\n  (define (suffix<? a b)    (suffix<?/corpus corpus a b))\n  (define (suffix-length s) (suffix-string-length corpus s))\n  (define (suffix-ref s i)  (suffix-string-ref corpus s i))\n  (msd-radix-sort suffixes suffix-length suffix-ref suffix<?))\n\n(define (remove-adjacent-duplicates xs)\n  (define (remove/x x xs)\n    (cons x (let loop ((xs xs))\n              (cond ((null? xs)              '())\n                    ((equal? (car xs) x)     (loop (cdr xs)))\n                    (else (remove/x (car xs) (cdr xs)))))))\n  (if (null? xs) '() (remove/x (car xs) (cdr xs))))\n\n(define (dedup/< ns) (remove-adjacent-duplicates (sort ns <)))\n\n(define (suffix:corpus-find-range corpus index str)\n  (define needle (string/searchable str))\n  (define (compare si needle)\n    (define hay (suffix->string corpus (suffix-key-ref index si)))\n    (cond ((string-prefix? hay needle) 0)\n          ((string<? hay needle)      -1)\n          (else                        1)))\n  ;; Find a point in the desired range...\n  (let find-range ((start 0) (end (suffix-key-count index)))\n    (cond ((< start end)\n           (define mid (+ start (quotient (- end start) 2)))\n           (case (compare mid needle)\n             ((-1) (find-range (+ 1 mid) end))\n             (( 1) (find-range start mid))\n             (( 0) ;; ... then find the start and end of that range.\n              (define rstart\n                (let loop ((start start) (end mid))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((-1) (loop (+ 1 mid) end))\n                           (( 0) (loop start mid))\n                           (else (error \"rstart: this shouldn't happen.\"))))\n                        (else end))))\n              (define rend\n                (let loop ((start (+ 1 mid)) (end end))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((1) (loop start mid))\n                           ((0) (loop (+ 1 mid) end))\n                           (else (error \"rend: this shouldn't happen.\"))))\n                        (else end))))\n              (cons rstart rend))))\n          (else (cons start end)))))\n\n(define (suffix:corpus-find* corpus index str*)\n  (define (rz r) (- (cdr r) (car r)))\n  (define rs (map (lambda (s) (suffix:corpus-find-range corpus index s)) str*))\n  (define zmin (* 2 (if (null? rs) 0 (foldl (lambda (r z) (min z (rz r)))\n                                            (rz (car rs)) (cdr rs)))))\n  (nlist-intersection\n    (map (lambda (r) (dedup/< (map (lambda (i) (car (suffix-key-ref index i)))\n                                   (range (car r) (cdr r)))))\n         (filter (lambda (r) (<= (rz r) zmin)) rs))))\n\n(define (suffix:corpus-find-range/disk cid->concept in-index str)\n  (define needle (string/searchable str))\n  (define (compare si needle)\n    (match-define (cons cid pos) (suffix-index->suffix-key in-index si))\n    (define hay (substring (string/searchable (concept-name (cid->concept cid))) pos))\n    (cond ((string-prefix? hay needle) 0)\n          ((string<? hay needle)      -1)\n          (else                        1)))\n  ;; Find a point in the desired range...\n  (let find-range ((start 0) (end (suffix-key-count/port in-index)))\n    (cond ((< start end)\n           (define mid (+ start (quotient (- end start) 2)))\n           (case (compare mid needle)\n             ((-1) (find-range (+ 1 mid) end))\n             (( 1) (find-range start mid))\n             (( 0) ;; ... then find the start and end of that range.\n              (define rstart\n                (let loop ((start start) (end mid))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((-1) (loop (+ 1 mid) end))\n                           (( 0) (loop start mid))\n                           (else (error \"rstart: this shouldn't happen.\"))))\n                        (else end))))\n              (define rend\n                (let loop ((start (+ 1 mid)) (end end))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((1) (loop start mid))\n                           ((0) (loop (+ 1 mid) end))\n                           (else (error \"rend: this shouldn't happen.\"))))\n                        (else end))))\n              (cons rstart rend))))\n          (else (cons start end)))))\n\n(define (suffix:corpus-find*/disk cid->concept in-index str*)\n  (define (rz r) (- (cdr r) (car r)))\n  (define rs (map (lambda (s) (suffix:corpus-find-range/disk cid->concept in-index s)) str*))\n  (define zmin (* 2 (if (null? rs) 0 (foldl (lambda (r z) (min z (rz r)))\n                                            (rz (car rs)) (cdr rs)))))\n  (nlist-intersection\n    (map (lambda (r) (dedup/< (map (lambda (i) (car (suffix-index->suffix-key in-index i)))\n                                   (range (car r) (cdr r)))))\n         (filter (lambda (r) (<= (rz r) zmin)) rs))))\n\n(define (string:corpus->index corpus)\n  (define ixs (range (vector-length corpus)))\n  (define (ix<? a b) (string<? (vector-ref corpus a) (vector-ref corpus b)))\n  (define (ix-length ix) (string-length (vector-ref corpus ix)))\n  (define (ix-ref ix i)  (char->integer (string-ref (vector-ref corpus ix) i)))\n  (msd-radix-sort ixs ix-length ix-ref ix<?))\n\n(define (string:corpus-find corpus index needle)\n  (define (compare si needle)\n    (define hay (vector-ref corpus (vector-ref index si)))\n    (cond ((string=? hay needle)  0)\n          ((string<? hay needle) -1)\n          (else                   1)))\n  ;; Find a point in the desired range...\n  (let find-range ((start 0) (end (vector-length index)))\n    (cond ((< start end)\n           (define mid (+ start (quotient (- end start) 2)))\n           (case (compare mid needle)\n             ((-1) (find-range (+ 1 mid) end))\n             (( 1) (find-range start mid))\n             (( 0) ;; ... then find the start and end of that range.\n              (define rstart\n                (let loop ((start start) (end mid))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((-1) (loop (+ 1 mid) end))\n                           (( 0) (loop start mid))\n                           (else (error \"rstart: this shouldn't happen.\"))))\n                        (else end))))\n              (define rend\n                (let loop ((start (+ 1 mid)) (end end))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((1) (loop start mid))\n                           ((0) (loop (+ 1 mid) end))\n                           (else (error \"rend: this shouldn't happen.\"))))\n                        (else end))))\n              (remove-duplicates (map (lambda (i) (vector-ref index i))\n                                      (range rstart rend))))))\n          (else '()))))\n\n(define (string:corpus-find* corpus index str*)\n  (remove-duplicates\n    (sort (append* (map (lambda (s) (string:corpus-find corpus index s)) str*))\n          <)))\n\n(define (string:corpus-find/disk cid->concept in-index needle)\n  (define (compare si needle)\n    (define cid (string-index->string-key in-index si))\n    (define hay (concept-cui (cid->concept cid)))\n    (cond ((string=? hay needle)  0)\n          ((string<? hay needle) -1)\n          (else                   1)))\n  ;; Find a point in the desired range...\n  (let find-range ((start 0) (end (string-key-count in-index)))\n    (cond ((< start end)\n           (define mid (+ start (quotient (- end start) 2)))\n           (case (compare mid needle)\n             ((-1) (find-range (+ 1 mid) end))\n             (( 1) (find-range start mid))\n             (( 0) ;; ... then find the start and end of that range.\n              (define rstart\n                (let loop ((start start) (end mid))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((-1) (loop (+ 1 mid) end))\n                           (( 0) (loop start mid))\n                           (else (error \"rstart: this shouldn't happen.\"))))\n                        (else end))))\n              (define rend\n                (let loop ((start (+ 1 mid)) (end end))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((1) (loop start mid))\n                           ((0) (loop (+ 1 mid) end))\n                           (else (error \"rend: this shouldn't happen.\"))))\n                        (else end))))\n              (remove-duplicates (map (lambda (i) (string-index->string-key in-index i))\n                                      (range rstart rend))))))\n          (else '()))))\n\n(define (string:corpus-find*/disk cid->concept in-index str*)\n  (remove-duplicates\n    (sort (append* (map (lambda (s) (string:corpus-find/disk cid->concept in-index s)) str*))\n          <)))\n"
  },
  {
    "path": "medikanren/test/external-http/2020_NCATS_relay/INTEGRATED-QUERY/integrated-query.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"../../../../pieces-parts/query.rkt\"\n         \"../../open-api/api-query.rkt\"\n         ;\"../molepro-api-query.rkt\"\n         racket/engine)\n\n(define crosskg-mondo-disease-curies\n  '(\"MONDO:0016192\"\n    \"DOID:0050890\"\n    \"MONDO:0016153\"\n    \"MONDO:0016147\"    \n    \"MONDO:0016191\"\n    \"MONDO:0016196\"\n    \"MONDO:0016187\"))\n\n(define CHEBI--negatively-regulates-->PR-->MONDO\n  (curies/query\n   (time (query/graph\n          ((Drug #f)\n           (PR #f)\n           ;(Disease \"MONDO:0000510\")\n           (Disease \"MONDO:0016147\")\n           )\n          ((Drug->PR (list \"biolink:negatively_regulates_entity_to_entity\") (edge/db? 'textminingprovider)) \n           (PR->Disease\n            (list\n             \"gene_mapped_to_disease\"\n             \"gene_involved_in_pathogenesis_of_disease\"\n             \"gene_associated_with_disease\"\n             \"associated_with_disease\"\n             \"INVERTED:disease_has_basis_in_dysfunction_of\") (edge/db? 'rtx2_2020_09_16)))\n          (Drug Drug->PR PR)                         \n          (PR PR->Disease Disease)))\n   'Drug))\n\n(define CHEBI--postively-regulates-->PR-->MONDO\n  (curies/query\n   (time (query/graph\n          ((Drug #f)\n           (PR #f)\n           (Disease \"MONDO:0000510\"))\n          ((Drug->PR (list \"biolink:positively_regulates_entity_to_entity\") (edge/db? 'textminingprovider)) \n           (PR->Disease\n            (list\n             \"gene_mapped_to_disease\"\n             \"gene_involved_in_pathogenesis_of_disease\"\n             \"gene_associated_with_disease\"\n             \"associated_with_disease\"\n             \"INVERTED:disease_has_basis_in_dysfunction_of\") (edge/db? 'rtx2_2020_09_16)))\n          (Drug Drug->PR PR)               \n          (PR PR->Disease Disease)))\n   'Drug))\n\n#|\n(filter (lambda (x) (string-prefix? x \"CHEMBL:\"))\n        (flatten (map set->list (map curie-synonyms CHEBI--negatively-regulates-->PR-->MONDO))))\n\n\n|#\n\n\n\n\n#;(pretty-print\n CHEBI--postively-regulates-->PR-->MONDO)\n\n#;(pretty-print\n (time\n  (api-query\n   (string-append (string-append url.broad_chembl chembl-drug-indications/transform))\n   (js-query/transform\n    'chembl\n    \"ChEMBL:CHEMBL1433\"))))\n\n#|\n(define json->curie-ls\n  (lambda (json-str curie-prefix)\n    (map (lambda (ls) (string))\n         (map jsexpr->string json-str))))\n\n(define js\n  '{\"size\": 2731, \"severity\": {\"operator\": \"=\", \"value\": 0}, \"drugs\": [{\"drug\": \"Prednisone\", \"identifier\": \"CHEMBL:CHEMBL635\", \"frequency\": 282}, {\"drug\": \"Fluticasone\", \"identifier\": \"CHEMBL:CHEMBL1473\", \"frequency\": 79}, {\"drug\": \"Mometasone\", \"identifier\": \"CHEMBL:CHEMBL1161\", \"frequency\": 7}, {\"drug\": \"Budesonide\", \"identifier\": \"CHEMBL:CHEMBL1370\", \"frequency\": 36}, {\"drug\": \"Beclomethasone\", \"identifier\": \"CHEMBL:CHEMBL1586\", \"frequency\": 15}, {\"drug\": \"Ciclesonide\", \"identifier\": \"CHEMBL:CHEMBL2040682\", \"frequency\": 2}, {\"drug\": \"Flunisolide\", \"identifier\": \"CHEMBL:CHEMBL1512\", \"frequency\": 0}, {\"drug\": \"Albuterol\", \"identifier\": \"CHEMBL:CHEMBL1002\", \"frequency\": 515}, {\"drug\": \"Metaproterenol\", \"identifier\": \"PUBCHEM:4086\", \"frequency\": 0}, {\"drug\": \"Diphenhydramine\", \"identifier\": \"CHEMBL:CHEMBL657\", \"frequency\": 58}, {\"drug\": \"Fexofenadine\", \"identifier\": \"CHEMBL:CHEMBL914\", \"frequency\": 34}, {\"drug\": \"Cetirizine\", \"identifier\":\n\"CHEMBL:CHEMBL896\", \"frequency\": 69}, {\"drug\": \"Ipratropium\", \"identifier\": \"CHEMBL:CHEMBL1464005\", \"frequency\": 84}, {\"drug\": \"Salmeterol\", \"identifier\": \"CHEMBL:CHEMBL1263\", \"frequency\": 167}, {\"drug\": \"Arformoterol\", \"identifier\": \"CHEMBL:CHEMBL1363\", \"frequency\": 2}, {\"drug\": \"Formoterol\", \"identifier\": \"CHEMBL:CHEMBL605993\", \"frequency\": 32}, {\"drug\": \"Indacaterol\", \"identifier\": \"CHEMBL:CHEMBL1346\", \"frequency\": 0}, {\"drug\": \"Theophylline\", \"identifier\": \"CHEMBL:CHEMBL589251\", \"frequency\": 2}, {\"drug\": \"Omalizumab\", \"identifier\": \"CHEMBL:CHEMBL1201589\", \"frequency\": 0}, {\"drug\": \"Mepolizumab\", \"identifier\": \"CHEMBL:CHEMBL2108429\", \"frequency\": 0}, {\"drug\": \"Sertraline\", \"identifier\": \"RXCUI:155137\", \"frequency\": 0}, {\"drug\": \"Citalopram\", \"identifier\": \"RXCUI:221078\", \"frequency\": 0}, {\"drug\": \"Fluoxetine\", \"identifier\": \"RXCUI:227224\", \"frequency\": 0}, {\"drug\": \"Paroxetine\", \"identifier\": \"RXCUI:32937\", \"frequency\": 0}, {\"drug\": \"Trazodone\", \"identifier\": \"RXCUI:82112\", \"frequency\": 0}, {\"drug\": \"Escitalopram\", \"identifier\": \"RXCUI:353108\", \"frequency\": 0}, {\"drug\": \"Duloxetine\", \"identifier\": \"RXCUI:476250\", \"frequency\": 0}, {\"drug\": \"Venlafaxine\", \"identifier\": \"RXCUI:39786\", \"frequency\": 0}, {\"drug\": \"Propranolol\", \"identifier\": \"RXCUI:8787\", \"frequency\": 0}, {\"drug\": \"Hydroxyzine\", \"identifier\": \"RXCUI:5553\", \"frequency\": 0}, {\"drug\": \"Estradiol\", \"identifier\": \"RXCUI:4083\", \"frequency\": 0}, {\"drug\": \"Estropipate\", \"identifier\": \"RXCUI:33747\", \"frequency\": 0}, {\"drug\": \"Estrogen\", \"identifier\": \"RXCUI:4100\", \"frequency\": 0}, {\"drug\": \"Progesterone\", \"identifier\": \"RXCUI:8727\", \"frequency\": 0}, {\"drug\": \"Medroxyprogresterone\", \"identifier\": \"RXCUI:6691\", \"frequency\": 0}, {\"drug\": \"Testosterone\", \"identifier\": \"RXCUI:10379\", \"frequency\": 0}, {\"drug\": \"Androstenedione\", \"identifier\": \"RXCUI:784\", \"frequency\": 0}, {\"drug\": \"Nandrolone\", \"identifier\": \"RXCUI:7244\", \"frequency\": 0}, {\"drug\": \"Prasterone\", \"identifier\": \"RXCUI:3143\", \"frequency\": 0}, {\"drug\": \"Leuprolide\", \"identifier\": \"RXCUI:42375\", \"frequency\": 0}, {\"drug\": \"Goserelin\", \"identifier\": \"RXCUI:50610\", \"frequency\": 0}, {\"drug\": \"Triptorelin\", \"identifier\": \"RXCUI:38782\", \"frequency\": 0}, {\"drug\": \"Histrelin\", \"identifier\": \"RXCUI:50975\", \"frequency\": 0}, {\"drug\": \"Tamoxifen\", \"identifier\": \"RXCUI:10324\", \"frequency\": 0}]})\n\n|#\n"
  },
  {
    "path": "medikanren/test/external-http/2020_NCATS_relay/genetics-provider-query.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require json net/url\n         nested-hash)\n\n(define (js-count js)\n  (cond ((pair? js) (foldl + 0 (map js-count js)))\n        ((hash? js) (foldl + 0 (hash-map js (lambda (k v) (js-count v)))))\n        (else       1)))\n\n;; Broad Institute KP GENETICS PROVIDERS\n;; DATASETS: NOT SHOWN\n;; GENE (NCBI) <--> DISEASE (EFO)\n;; DISEASE --> PATHWAY . DISEASE AS 0 EDGE\n\n(define url.broad\n  \"https://translator.broadinstitute.org/genetics_data_provider\")\n\n;; Broad Institute KP specific for CHEMBL queries\n(define url.broad_chembl\n  \"https://translator.broadinstitute.org/chembl\")\n\n(define chembl-drug-indications/transform\n  \"/indications/transform\")\n\n(define url.unsecret\n  \"https://unsecret.ncats.io\")\n(define path.predicates\n  \"/predicates\")\n(define path.query\n  \"/query\")\n\n(define (api-query url-string (optional-post-jsexpr (void)))\n  (define-values (status headers in)\n    (time (if (void? optional-post-jsexpr)\n            (http-sendrecv/url\n              (string->url url-string)\n              #:method \"GET\")\n            (http-sendrecv/url\n              (string->url url-string)\n              #:method \"POST\"\n              #:data (jsexpr->string optional-post-jsexpr)\n              #:headers '(\"Content-Type: application/json; charset=utf-8\")))))\n  (define response-string (time (port->string in)))\n  (displayln (string-length response-string))\n  (pretty-print headers)\n  (hash 'status status\n        'headers headers\n        'response (string->jsexpr response-string)))\n\n(define (js-query edges nodes)\n  (hash 'message\n        (hash 'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n\n\n;; X genes --associated--> Asthma EFO:0000270\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"associated\"))\n                            (list (hash 'curie \"EFO:0000270\"\n                                        'id    \"n00\"\n                                        'type  \"disease\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"gene\"))))))\n\n(define geneticsprovider:disease->gene\n  (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"associated\"))\n                            (list (hash 'curie \"EFO:0000270\"\n                                        'id    \"n00\"\n                                        'type  \"disease\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"gene\"))))))\n\n#|\n(define edges-from-geneticsprovider:disease->gene\n  (let* ((edges (nested-hash-ref* geneticsprovider:disease->gene '(response knowledge_graph edges)))\n        (subject (map (lambda (hasheq) (hash-ref hasheq 'source_id)) edges))\n        (predicate (map (lambda (hasheq) (hash-ref hasheq 'type)) edges))\n        (object (map (lambda (hasheq) (hash-ref hasheq 'target_id)) edges))\n        (evidence (map (lambda (hasheq) (hash-ref hasheq 'score)) edges))\n        (provinance (map (lambda (hasheq) (hash-ref hasheq 'score_name)) edges)))\n(list subject predicate object evidence provinance)))\n|#\n\n\n\n#|\n{\n  \"message\": {\n    \"query_graph\": {\n      \"edges\": [\n        {\n          \"id\": \"e00\",\n          \"source_id\": \"n00\",\n          \"target_id\": \"n01\",\n          \"type\": \"associated\"\n        }\n      ],\n      \"nodes\": [\n        {\n          \"curie\": \"EFO:0000270\",\n          \"id\": \"n00\",\n          \"type\": \"disease\"\n        },\n        {\n          \"id\": \"n01\",\n          \"type\": \"gene\"\n        }\n      ]\n    }\n  }\n}\n\n|#\n"
  },
  {
    "path": "medikanren/test/external-http/2020_NCATS_relay/molepro-api-query.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require json net/url)\n\n(define (js-count js)\n  (cond ((pair? js) (foldl + 0 (map js-count js)))\n        ((hash? js) (foldl + 0 (hash-map js (lambda (k v) (js-count v)))))\n        (else       1)))\n\n;; Broad Institute KP\n(define url.broad\n  \"https://translator.broadinstitute.org/molepro_reasoner\")\n\n;; Broad Institute KP specific for CHEMBL queries\n(define url.broad_chembl\n  \"https://translator.broadinstitute.org/chembl\")\n\n(define chembl-drug-indications/transform\n  \"/indications/transform\")\n\n(define url.unsecret\n  \"https://unsecret.ncats.io\")\n(define path.predicates\n  \"/predicates\")\n(define path.query\n  \"/query\")\n\n(define (api-query url-string (optional-post-jsexpr (void)))\n  (define-values (status headers in)\n    (time (if (void? optional-post-jsexpr)\n            (http-sendrecv/url\n              (string->url url-string)\n              #:method \"GET\")\n            (http-sendrecv/url\n              (string->url url-string)\n              #:method \"POST\"\n              #:data (jsexpr->string optional-post-jsexpr)\n              #:headers '(\"Content-Type: application/json; charset=utf-8\")))))\n  (define response-string (time (port->string in)))\n  (displayln (string-length response-string))\n  (pretty-print headers)\n  (hash 'status status\n        'headers headers\n        'response (string->jsexpr response-string)))\n\n(define (js-query edges nodes)\n  (hash 'message\n        (hash 'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n\n\n#|\n;; {} = hash                            ;\n;; [] = list                            ;\n;; key:value                            ;\n                                        ;\nQUERY/TRANSFORM QUERY STRUCTURE         ;\n------------------------------\n\nquery = {\n    'collection': [{\n            'id':'',\n            'identifiers': {'chembl':'ChEMBL:CHEMBL25'}\n        }],\n    'controls':[]\n}\n|#\n\n\n(module+ main\n  ;; test predicates available on Broad Institute KG\n #;(pretty-print\n   (api-query (string-append url.broad path.predicates)))\n\n  #;\n\n(pretty-print\n     (api-query (string-append url.broad path.query)\n              (js-query (list (hash 'id        \"e00\"\n                                    'source_id \"n00\"\n                                    'target_id \"n01\"\n                                    'type      \"affects\"))\n                        (list (hash 'curie \"CID:2244\"\n                                    'id    \"n00\"\n                                    'type  \"chemical_substance\")\n                              (hash 'id    \"n01\"\n                                    'type  \"gene\")))))\n\n  #;(js-count\n    (time (api-query (string-append url.unsecret path.predicates))))\n\n  #;(pretty-print\n    (time\n      (api-query (string-append url.unsecret path.query)\n                (js-query (list (hash 'id        \"e00\"\n                                       'source_id \"n00\"\n                                       'target_id \"n01\"\n                                       'type      \"causes\"))\n                           (list (hash 'curie \"UMLS:C0004096\"\n                                       'id    \"n01\"\n                                       'type  \"disease\")\n                                 (hash 'id    \"n00\"\n                                       'type  \"gene\"))))))\n\n  #;(pretty-print\n    (time\n       (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"causes\"))\n                            (list (hash 'curie \"UMLS:C0004096\"\n                                        'id    \"n01\"\n                                        'type  \"disease\")\n                                  (hash 'id    \"n00\"\n                                        'type  \"gene\"))))))\n  \n  #;(pretty-print\n    (time (api-query (string-append url.unsecret path.query)\n                     (js-query (list (hash 'id        \"e00\"\n                                           'source_id \"n00\"\n                                           'target_id \"n01\"\n                                           'type      \"affects\"))\n                               (list (hash 'curie \"CID:2244\"\n                                           'id    \"n00\"\n                                           'type  \"chemical_substance\")\n                                     (hash 'id    \"n01\"\n                                           'type  \"gene\"))))))\n\n  ;;MOLEPRO drug --treats--> disease query w/ NO EVIDENCE\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"treats\"))\n                            (list (hash 'curie \"ChEMBL:CHEMBL25\"\n                                        'id    \"n00\"\n                                        'type  \"chemical_substance\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"disease\"))))))\n\n\n;; addition provenance/evidence for drug indication query\n(pretty-print\n (time\n  (api-query\n   (string-append (string-append url.broad_chembl chembl-drug-indications/transform))\n   (js-query/transform\n    \"ChEMBL:CHEMBL25\"))))\n\n\n;; STRING gene->gene edge\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"related_to\"))\n                            (list (hash 'curie \"HGNC:4556\"\n                                        'id    \"n00\"\n                                        'type  \"gene\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"gene\"))))))\n\n;; CMAP gene-to-compound query\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"correlated_with\"))\n                            (list (hash 'curie \"HGNC:4556\"\n                                        'id    \"n00\"\n                                        'type  \"gene\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"chemical_substance\"))))))\n\n;; CMAP gene-to-gene query \n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"correlated_with\"))\n                            (list (hash 'curie \"HGNC:4556\"\n                                        'id    \"n00\"\n                                        'type  \"gene\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"gene\"))))))\n\n\n)\n\n\n\n#|\nall breast cancer curies currently supported by molepro api for disease--treated_by--> Drug X\nMalignant tumor of breast\tMONDO:0021100\tC0006142\t254837009\tDOID:1612\nHormone receptor positive malignant neoplasm of breast\tUMLS:C1562029\tC1562029\t417181009\t\nSecondary malignant neoplasm of female breast\tUMLS:C0346993\tC0346993\t94297009\t\nHER2-positive carcinoma of breast\tMONDO:0006244\tC1960398\t427685000\t\nHuman epidermal growth factor 2 negative carcinoma of breast\tUMLS:C2316304\tC2316304\t431396003\t\nCarcinoma of female breast\tMONDO:0004379\tC3163805\t447782002\t\nCarcinoma of breast\tMONDO:0004989\tC0678222\t254838004\tDOID:3459\nMetastatic Breast Carcinoma\t\t\t\t\nOsteolytic Bone Metastases of Breast Cancer\t\t\t\t\nAdvanced Breast Cancer Progression Post-Antiestrogen Therapy\t\t\t\t\nMetastatic Breast Cancer Progression Post-Antiestrogen Therapy\t\t\t\t\nBreastfeeding (mother)\tUMLS:C1623040\tC1623040\t413712001\t\nHER2 Positive Carcinoma of Breast\t\t\t\t\nEarly Breast Cancer Hormone Receptor Positive and Postmenopausal\t\t\t\t\nPrevention of Breast Carcinoma\t\t\t\t\nFibrocystic breast changes\tMONDO:0005219\tC0016034\t27431007\tDOID:10354\nInfiltrating duct carcinoma of breast\tMONDO:0005590\tC1134719\t408643008\tDOID:3008\n|#\n\n(pretty-print\n (time (api-query (string-append url.broad path.query)\n                  (js-query (list (hash 'id        \"e00\"\n                                        'source_id \"n00\"\n                                        'target_id \"n01\"\n                                        'type      \"treated_by\"))\n                            (list (hash 'curie \"MONDO:0021100\"\n                                        'id    \"n00\"\n                                        'type  \"disease\")\n                                  (hash 'id    \"n01\"\n                                        'type  \"chemical_substance\"))))))\n\n\n#| QUERY for presentation |#\n(define (js-query/transform curie-prefix/lower-case curie)\n  (hash 'collection\n        (list\n         (hash\n          'id \"\"\n          'identifiers\n          (hash\n           curie-prefix/lower-case curie)))     \n        'controls '()))\n\n#;(pretty-print\n (time\n  (api-query\n   (string-append (string-append url.broad_chembl chembl-drug-indications/transform))\n   (js-query/transform\n    'chembl\n    \"ChEMBL:CHEMBL25\"))))\n\n#|NOTES FOR SEPTEMBER 2020 RELAY API CALLS|#\n\n#|\n1. all \"NO-evidence/provenance\" queries are to the base broad.url\n\"https://translator.broadinstitute.org/molepro_reasoner\n\n2. all \"LIMITED evidence/provenance\" queries are to the chembl url\n\"https://translator.broadinstitute.org/chembl\"\n|#\n\n\n"
  },
  {
    "path": "medikanren/test/external-http/2020_NCATS_relay/multiomics-api-query.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require json net/url)\n\n(define (js-count js)\n  (cond ((pair? js) (foldl + 0 (map js-count js)))\n        ((hash? js) (foldl + 0 (hash-map js (lambda (k v) (js-count v)))))\n        (else       1)))\n\n;; drug response kg\n(define url.multiomics/drug-response\n  \"https://biothings.ncats.io/drug_response_kp\")\n\n;; cancer gene mutation frequnency \n(define url.multiomics/tcga-mut-freq\n  \"https://biothings.ncats.io/tcga_mut_freq_kp\")\n\n(define url.unsecret\n  \"https://unsecret.ncats.io\")\n\n(define path.predicates\n  \"/predicates\")\n\n(define path.query\n  \"/query\")\n\n(define (api-query url-string (optional-post-jsexpr (void)))\n  (define-values (status headers in)\n    (time (if (void? optional-post-jsexpr)\n            (http-sendrecv/url\n              (string->url url-string)\n              #:method \"GET\")\n            (http-sendrecv/url\n              (string->url url-string)\n              #:method \"POST\"\n              #:data (jsexpr->string optional-post-jsexpr)\n              #:headers '(\"Content-Type: application/json; charset=utf-8\")))))\n  (define response-string (time (port->string in)))\n  (displayln (string-length response-string))\n  (pretty-print headers)\n  (hash 'status status\n        'headers headers\n        'response (string->jsexpr response-string)))\n\n(define (js-query edges nodes)\n  (hash 'message\n        (hash 'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n\n;; query with gene and get back mutation prevalence by cancer-type\n(define tcga_query:Gene--has-mutation-prevalence-in-cancer-type->DiseaseX/pvalue=.05\n  (lambda (HGNC-gene-symbol)\n    (string-append\n     \"/query?q=association.freq_by_case:%3E0.05%20AND%20subject.SYMBOL:\"\n     (symbol->string HGNC-gene-symbol))))\n\n(pretty-print\n (time\n  (api-query\n   (string-append\n    url.multiomics/tcga-mut-freq\n    (tcga_query:Gene--has-mutation-prevalence-in-cancer-type->DiseaseX/pvalue=.05 'EGFR)))))\n\n\n\n(define tcga_query:GeneX--has-mutation-prevalence-in-cancer-type->Disease/pvalue=.05\n  (lambda (mondo-curie)\n    (string-append\n     \"/query?q=object.id:%22\"\n     (string-append mondo-curie \"%22%20AND%20association.freq_by_case:%3E0.03\"))))\n\n;; disease --> gene w/ frequency of mutation \n;; \"MONDO:0006256\" = invasive breast carcinoma\n(pretty-print\n (time\n  (api-query\n   \"https://biothings.ncats.io/tcga_mut_freq_kp/query?q=object.id:%22MONDO:0006256%22%20AND%20association.freq_by_case:%3E0.03&size=1000\"\n   #;(string-append\n    url.multiomics/tcga-mut-freq\n    (tcga_query:GeneX--has-mutation-prevalence-in-cancer-type->Disease/pvalue=.05 \"MONDO:0007254\"))\n   )))\n\n"
  },
  {
    "path": "medikanren/test/full-dbs/example-common.rkt",
    "content": "#lang racket\n(provide\n  (all-from-out \"../../common.rkt\")\n  (all-defined-out))\n(require \"../../common.rkt\")\n\n(displayln \"all categories:\")\n(pretty-print (run* (c) (categoryo c)))\n\n(newline)\n(displayln \"all predicates:\")\n(pretty-print (run* (p) (predicateo p)))\n\n(newline)\n(displayln \"some concepts:\")\n(pretty-print (run 10 (c) (concepto c)))\n\n(newline)\n(displayln \"some edges:\")\n(pretty-print (run 10 (e) (edgeo e)))\n\n(newline)\n(displayln \"fuzzy name search:\")\n(time (pretty-print\n        ;; Match names that include all listed fragments.\n        (run* (c) (~name*-concepto (list \"imatin\" \"400\") c))))\n\n(newline)\n(displayln \"CURIE search:\")\n(time (pretty-print\n        (run* (c)\n          (~cui*-concepto\n            ;; Match CURIEs that match any of the listed fragments.\n            (list \"UMLS:C0004096\" \"DOID:2841\" \"HP:0002099\" \"MONDO:0004979\")\n            c))))\n\n(newline)\n(displayln \"xref search:\")\n(time (pretty-print\n        (run* (xref c)\n          (membero xref '(\"DOID:2841\" \"HP:0002099\" \"MONDO:0004979\"))\n          (xref-concepto xref c))))\n\n(newline)\n(displayln \"finding pubmed ids and associated edges:\")\n(time (pretty-print (run 3 (pmid e) (pmid-edgeo pmid      e))))\n(displayln \"associating specific pubmed ids with edges:\")\n(time (pretty-print (run*       (e) (pmid-edgeo \"1000085\" e))))\n(time (pretty-print (run*       (e) (pmid-edgeo \"1000018\" e))))\n(time (pretty-print (run*       (e) (pmid-edgeo \"10000\"   e))))\n(time (pretty-print (run*       (e) (pmid-edgeo \"999999\"  e))))\n"
  },
  {
    "path": "medikanren/test/full-dbs/test-common.rkt",
    "content": "#lang racket\n(provide (all-defined-out)\n         (all-from-out \"../../common.rkt\"))\n(require \"../../common.rkt\")\n\n(define decreases\n  (find-predicates\n    '(\"negatively_regulates\"\n      \"prevents\"\n      \"treats\"\n      \"disrupts\"\n      \"increases_degradation_of\"\n      \"decreases_activity_of\"\n      \"decreases_expression_of\")))\n\n(define increases\n  (find-predicates\n    '(\"positively_regulates\"\n      \"produces\"\n      \"causes\"\n      \"causes_condition\"\n      \"causally_related_to\"\n      \"contributes_to\"\n      \"gene_associated_with_condition\"\n      \"gene_mutations_contribute_to\"\n      \"decreases_degradation_of\"\n      \"increases_activity_of\"\n      \"increases_expression_of\")))\n\n(define S (keep 1 (find-concepts #f (list \"imatin\"))))\n;; Alternatively, fuzzy search by name.\n;(define O (keep 1 (find-concepts #f (list \"asthma\"))))\n(define O (keep 1 (find-concepts #t (list \"UMLS:C0004096\"\n                                          \"DOID:2841\"\n                                          \"HP:0002099\"\n                                          \"MONDO:0004979\"))))\n\n(define gene (find-categories (list \"gene\")))\n\n(match-define\n  (list name=>concepts name=>edges)\n  (time\n    (run/graph\n      ;; Introduce concept names.  Optionally constrain them with lists of\n      ;; either concepts or categories.\n      ((X gene)  ;; To ask for all Xs instead, specify this as (X #f).\n       (S S)\n       (O O))\n\n      ;; Introduce edge names.  Optionally constrain them with predicate lists.\n      ((S->X decreases)\n       (X->O increases))\n\n      ;; Specify one or more directed paths.  Paths imply edges with subject on\n      ;; the left and object on the right.\n      (S S->X X X->O O)\n      ;; This path could also have been equivalently specified as two separate\n      ;; paths (in either order), each containing a single edge:\n      ;; (X X->O O)\n      ;; (S S->X X)\n      )))\n\n(displayln \"concepts by name:\")\n(pretty-print name=>concepts)\n(newline)\n(displayln \"edges by name:\")\n(pretty-print name=>edges)\n(newline)\n\n(define (summary name=>xs)\n  (hash-map name=>xs (lambda (name xs) (cons name (length xs)))))\n(displayln \"summary:\")\n(pretty-print `((concepts: . ,(summary name=>concepts))\n                (edges:    . ,(summary name=>edges))))\n\n\n;; Old testing of find-Xs\n(define (test-find-Xs)\n  (define (decreases? p)\n    (member (cddr p) '(\"negatively_regulates\"\n                       \"prevents\"\n                       \"treats\"\n                       \"disrupts\"\n                       \"increases_degradation_of\"\n                       \"decreases_activity_of\"\n                       \"decreases_expression_of\")))\n  (define (increases? p)\n    (member (cddr p) '(\"positively_regulates\"\n                       \"produces\"\n                       \"causes\"\n                       \"causes_condition\"\n                       \"causally_related_to\"\n                       \"contributes_to\"\n                       \"gene_associated_with_condition\"\n                       \"gene_mutations_contribute_to\"\n                       \"decreases_degradation_of\"\n                       \"increases_activity_of\"\n                       \"increases_expression_of\")))\n\n  (define S (keep 1 (find-concepts #f (list \"imatin\"))))\n  (define O (keep 1 (find-concepts #f (list \"asthma\"))))\n\n  (define SP (map (lambda (cp)\n                    (define c (car cp))\n                    (define pS (cadr cp))\n                    (list c (filter decreases? pS) #f))\n                  (find-predicates/concepts #t #f S)))\n  (define OP (map (lambda (cp)\n                    (define c (car cp))\n                    (define pO (caddr cp))\n                    (list c #f (filter increases? pO)))\n                  (find-predicates/concepts #f #t O)))\n\n  (define X (find-Xs SP OP))\n\n  (define x-bcr (car (filter (lambda (x) (equal? (cadddr (car x)) \"BCR gene\")) X)))\n\n  (displayln 'X:)\n  (pretty-print (car x-bcr))\n  (newline)\n  (displayln 'S-edges:)\n  (pretty-print (cadr x-bcr))\n  (newline)\n  (displayln 'O-edges:)\n  (pretty-print (caddr x-bcr)))\n"
  },
  {
    "path": "medikanren/test-behave.sh",
    "content": "#!/bin/bash\nset -euo pipefail\n\n## Usage: bash test-behave.sh PATH-TO-TRANSLATOR-TESTING-FRAMEWORK\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\n: ${output_path=\"$here/test-output.txt\"}\n: ${behave_path=\"$1\"}\n\nprintf 'output_path=%s\\n' \"$output_path\"\nprintf 'behave_path=%s\\n' \"$behave_path\"\n\ntrap 'jobs > /dev/null && kill $(jobs -p)' EXIT ERR\n\nwhile true; do\n  printf \"Tests running: %s\\n\" \"$(date)\"\n  cd \"$here\"\n  racket translator-web-server.rkt &> \"$output_path\" &\n  sleep 120\n  cd \"$behave_path\"\n  ( time behave -i features/medikanren-tests.feature --no-capture --no-capture-stderr\n  ) &>> \"$output_path\" || cat \"$output_path\"\n  printf 'Tests finished: %s\\n' \"$(date)\"\n  kill $(jobs -p) || true\n  sleep 60\ndone\n"
  },
  {
    "path": "medikanren/tmp/ignore",
    "content": ""
  },
  {
    "path": "medikanren/todo.txt",
    "content": "HIGH PRIORITY\n* Matt : 2-hop query--want to modify a target T;  may need to find X that modifies Y that modifies T\n(need to link concepts and synonyms across data sets)\n\n\n* update defaults for synthetic predicates\n* add blacklist to default config file, for things like 'Disease' in Semmeddb, etc.  Make sure this list is respected in *every* relevant 'run' expression (for example, need to filter before determining which predicates are available)\n* consider adding a mode for aggressively checking/pruning likely low quality/howler answers (for example, the innumerable incorrect answers in Semmeddb due to gene aliasing colliding with random short abbreviations for non-genes)\n* figure out what to do when concepts in more than one KG has an identical CUI (there can still be differences in the Category and Name, for example!)  For example, for 'X has_phentype SOX5', 'Robokop' and 'orange' each have a concept for SOX5 with MONDO:0017782 as the CUI, but with slightly different category and name info!\n* add ability to annotate queries/answers, or otherwise provide feedback for good/suspicious/missing answers (potentially send to some central place, or at least save locally)\n* create window for getting all info about a specified gene (run a bunch of standard mini-queries and display results/report)\n* create window for Workflow 1 and Workflow X modules\n* workflow builder\n* figure out how to make the deep blue selection color easier to read\n* add ability to import and use user data\n* be able to answer the SH3 / tau question\n\n\nStandardization\n* support emerging 9.1 input/output standard\n\n\nRefactoring/Generalization/Consistency\n* double-clicking on any property entry should copy the Value to the clipboard (what if the property's value is a URL?  what to do then?)\n* auto-select the first X entry once the X concept list is populated\n* be able to specify a gene, drug, etc., by standard IDs (ENSMBL, etc) (need to index by these IDs, etc)\n* add ability to find all edges with a given PubMed ID to interface (see find-edges-by-pubmed-id.rkt; will probably need to index Orange and RTX KGs as well)\n* consolidate/generalize code for outputting 'last.???' save files\n* generalize code for synthetic predicates, so user can add/override new synthetic predicates from config files\n* update the ISA checkbox to handle ontological connections in a more sophisticated way\n* be able to query between KGs in a single query (like in 'imatinib [decreases] X [increases] asthma')\n* add a simple query builder window, similar to ROBOKOP\n* be able to (efficiently?) find all edges for a given predicate/predicates\n\n\nPerformance/Responsiveness\n* add interruptible thread tech for when clicking on predicates, just like we have for concept string searches\n\n\nold TODOs\n\n====================================\n\n\n;;; TODO FIXME\n\n;;; NGLY1 in concept 2\n;;; semmed\n;;; interacts_with\n;;; FAF1 gene\n\n\n;;; Extract Pubmed ids from the alist of properties in the full path\n\n;;; semmed:\n;;; (\"pmids\" . \"27748395\")\n\n;;; rtx:\n;;;\n\n;;; monarch-lite:\n;;;\n\n;;; TODO FEATURES\n;;;\n;;; hotkeys for moving between panes, etc.--should be able to do everything from the keyboard\n\n;;; Improve sorting to take into account num of pub med entries\n\n;;; TODO\n;;;\n;;; recognize concept name containing only whitespace as being empty\n;;;\n;;; use a reasonable default sorting for the concepts\n;;;\n;;; add ability to sort concept columns by clicking on column titles\n;;;\n;;; speed up concept search--seems much slower than in the old mediKanren\n;;; (perhaps consider searching one DB exhaustively before moving to the next one)\n;;;\n;;; add ability to include only some of the data sources\n;;;\n;;; add ability to show and hide concept columns\n;;;\n;;; add ability to show date of data sources, and date/provenance for results\n;;;\n;;; add ability to specify/filter by data source or category\n\n\n;;; ISSUES\n;;;\n;;; Seem to be missing '<gene> has_phenotype alacrima' entries for\n;;; HEXA and GBA, even though these seem to be in the Monarch website.\n;;; Why?\n;;;\n;;; Different data sources have what are effectively duplicate entries,\n;;; but it isn't always easy to tell.\n;;;\n;;; Different data sources have different category numbers for the\n;;; same CUI/entity.  For example, 'Imatinib mesylate' has the 'UMLS:C0939537'\n;;; CUI in both Semmed and Scigraph, yet the category is (5 . \"chemical_substance\")\n;;; for Semmed and (21 . \"chemical_substance\") for Scigraph.  Why?\n;;; (The concept IDs are different in this case)\n"
  },
  {
    "path": "medikanren/tsv.rkt",
    "content": "#lang racket/base\n(provide tsv-records)\n(require racket/string)\n\n;; Informal grammar for tab-separated values (no escapes supported)\n;FIELD-SEPARATOR  ::= \\t\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= CONTENT*\n;CONTENT includes anything other than \\t, \\n, \\r\n\n(define (tsv-records in)\n  (define (next-record)\n    (define l (read-line in 'any))\n    (and (not (eof-object? l)) (string-split l \"\\t\" #:trim? #f)))\n  (define current #f)\n  (lambda (request)\n    (case request\n      ((current) current)\n      ((next)    (set! current (next-record)) current)\n      (else      (error \"invalid tsv-records request:\" request)))))\n"
  },
  {
    "path": "medikanren/use-cases/README.md",
    "content": "\n# NOTICE: Change of directory structure\n\nContributed use cases, queries and applications are now located in a directory separate from medikanren itself:\n\n- [contrib/](../../contrib)\n\nThe use cases previously residing in this directory now reside in:\n\n- [contrib/medikanren/use-cases/](../../contrib/medikanren/use-cases)\n\n"
  },
  {
    "path": "medikanren/util/data-import/README.md",
    "content": "\n# Medikanren data import\n\n\n[Biolink model](https://biolink.github.io/biolink-model/)\n\n## Setup for data import\n\n* Install racket.\n* Install python3.\n* Clone this repo.\n* Clone the kgx repo: https://github.com/NCATS-Tangerine/kgx\n* Checkout the `source-sink` branch in kgx: `git checkout origin/source-sink`\n* Install dependencies via: `pip3 install -r requirements.txt`\n  * If `pip3` isn't found, try using `pip` instead\n\n\n## Using a local neo4j instance\n\nIf you were given a dump file instead of a remote neo4j instance to connect to, start here.\nOtherwise, skip to the ingestion section.\nFollow these instructions to set up a local instance using the dump file.  Then follow the usual ingestion instructions.\n\n### Download neo4J community server\n\nOn Mac: `brew install neo4j`\n\nComplete setup by running `neo4j start`, then once that suceeds, `neo4j stop`.  This will set up `var/neo4j/data/transaction`.\n\n### Start a local neo4j instance from a dump file\n\nAssuming `neo4j` is already stopped, convert a Robokop (or RTX) `X.dump` to TSV format via:\n\n```\nneo4j-admin load --from X.dump --database graph.db --force  # If this is your first time, remove the --force option.\nneo4j start\ncd YOUR-PATH-TO-NCATS-ROOT/ncats-translator/kgx\ncp config-robokop.yml config.yml\ntime python3 neo4j_download.py\nneo4j stop\n```\n\nThen follow the instructions for converting the TSVs to mediKanren format.\n\n(If you've just set neo4j up for the first time and kgx failed due to authorization, try visiting localhost:7474 in the browser, and logging in with username=neo4j password=neo4j.  You'll be prompted to set a new password.  Set it to be consistent with the password in your kgx config file.)\n\n### Freeing up space once you are finished\n\nIf you installed neo4j using homebrew:\n\n```\nneo4j stop\n# Your data might live here.\nrm -rf /usr/local/Cellar/neo4j/VERSION/libexec/data/databases/*\n# Or it might live here.\nrm -rf /usr/local/var/neo4j/data/databases/*\n```\n\nSupposedly this query should also work, but I get a memory error:\n\n```\nneo4j start\ncypher-shell -u YOURUSERNAME -p YOURPASSWORD --non-interactive 'MATCH(n) DETACH DELETE n'\nneo4j stop\n```\n\n\n## Ingesting new data sources\n\n### Downloading neo4j data in TSV format\n\n* Obtain username, password, host, and port of the neo4j instance.\n* `cd` to the kgx repo.\n* Modify `config.yml` to use the instance information you obtained.  Set the `outputname` here to describe your data source, e.g., `robokop`.\n* Run the download script via `python3`, likely with this command: `python3 neo4j_download.py` (For a typical data source, the download may take an hour or so.)\n  * If `python3` isn't found, try using `python` instead\n\n### Converting TSVs (or CSVs) to mediKanren format\n\n* `cd` to the `medikanren` subdirectory of the `medikanren` repo (which is this repo).\n* Move or copy the downloaded TSV (or CSV) files to an appropriately-named subdirectory of the `medikanren/data` directory.  We'll assume your datasource is named `NAME`, and will live at `medikanren/data/NAME`.\n* For TSV files, perform conversion by running: (For a typical data source, conversion may take an hour or so.)\n```\nracket tsv-graph-to-db.rkt data NAME\nracket build-string-index.rkt data NAME\n```\n* For CSV files, perform conversion by running: (For a typical data source, conversion may take an hour or so.)\n```\nracket csv-graph-to-db.rkt data NAME\nracket build-string-index.rkt data NAME\n```\n* Optionally, map pubmed ids to the edge ids that reference them: `racket build-pubmed-edges.rkt data NAME`\n* Given `(require \"mk-db.rkt\")` you should now be able to access the new db by evaluating `(make-db \"data/NAME\")`.\n\n### Verify data\n\nWithin racket, running this should produce sensible results:\n```\n(require \"mk-db.rkt\")\n(define NAME (make-db \"data/NAME\"))\n(run* (c) (db:categoryo NAME c)))\n(run* (p) (db:predicateo NAME p)))\n(run 10 (c) (db:concepto NAME c)))\n(run 10 (e) (db:edgeo NAME e)))\n```\n\n### Back up TSV (or CSV) source data\n\nIf TSVs are downloaded from a remote source, then after the TSVs are grouped in a directory, yet before running racket conversion scripts, first create a zip for backup:\n```\ncd data\nzip -r semmed.tsv.zip semmed\n```\n\nThis isn't necessary for neo4j dumps because the dump is a reliable source (though doing so could still save the self-download time).  Remote sources are not reliable.\n\nTo backup the TSV->mediKanren work:\n```\ncd data\nzip -r robokop.db.zip robokop\n```\n\n\n\n\n## TODO\n\n### High-level\n\n* queries we want to show during demo, common use cases\n* figure out what info we need and how to build an ontologyo (better name?) relation to relate concepts and classes for traversal in either direction\n* synonymization with max concept distance\n  * e.g., equivalent_to might be distance 0, encodes might be distance 1, etc.\n* figure out what scoring parameters to use, some possibilities are:\n  * confidence we're even referencing the right concepts\n  * confidence in the evidence of a claim (via publications, ontological traversal, etc.)\n    * avoid double-counting same ontological information from multiple sources\n  * confidence via presence in multiple knowledge graphs (RTX2 + sulab semmed)\n  * some notion of relevance: how interesting/useful is this result?\n    * safe drugs are more relevant than unsafe drugs\n\n\n### Graph queries\n\n* Given a query graph\n  * set of nodes\n    * known concepts with CURIEs\n    * unknown concepts, possibly with known category/type\n  * set of edges with known predicate/relation/type\n* Produce a result graph\n  * this is the query graph augmented with instantiations and their metadata\n  * unknown query nodes are bound to (possibly multiple) concepts with CURIEs\n    * contain other information? confidence (the right concept)? relevance?\n  * query edges are bound to (possibly multiple) result edges linking concepts\n    * subject, object\n    * type\n    * negated\n    * `provided_by`\n    * `has_evidence`\n    * publications\n    * `has_confidence_level` (how likely a result is to be true)\n    * `confidence_calculation` ?\n    * relevance (how important a result would be if true; not a biolink property)\n\n* Strategy for producing result graph\n  * synonymization, within and across knowledge graphs\n    * high confidence: `equivalent_to`\n    * low confidence: `xref`\n  * kg-specific base confidence in edges\n  * improving confidence when possible to double-check\n  * reasoning about contradictions (applying negated edges)\n  * determine relevance (e.g., drug is safe (approved or passed phase 1 trial))\n\n\n### UI\n\n* concept distance for (potentially cross-KG) synonyms (similar to ISA checkbox)\n* sorting results by different scoring parameters (confidence vs. relevance)\n* reimplement GUI result builder in terms of run/graph for consistency\n* display JSON version of input/output (need to map different forms of evidence to biolink model)\n* display a simple handmade graph visualization of query and results\n\n\n### Greg will do these\n\n* impose maximum on synonym sets, and gradually reduce allowed connections\n  * after each violation: stop synonym-concepto, then xrefs, then equivalent_to\n* filter for global consistency after propagation\n* improve edge constrainer to pay attention to both subject and object at once\n* separate composite edge construction from ranking\n\n* implement dbKanren\n  * reduce corpus load time\n    * reprocess corpus data using a flat binary format of length-encoded strings\n\n* index edges by predicate\n* index gene aliasing data\n\n* consolidate db generation with one script\n\n* reorganize directory structure\n  * lift medikanren to main directory, moving current main contents somewhere else\n  * keep configs, logs, and user programs (such as gui, web-server...) in main directory\n  * move library and data processing code to a new subdirectory\n  * move tests and examples into their own subdirectories\n\n* web interface\n  * webserver endpoints for lookup of:\n    * concepts/predicates (by name or CUI)\n    * Xs (by chosen concepts and predicates)\n  * web client corresponding to GUI\n\n\n### bottom-up explorer and graph builder ideas\n* organization\n  * all work persistsed in a single environment/repo/version-DAG\n  * workspaces: can have multiple pointers/views/HEADs into the environment\n    * expressed as separate workspaces/tabs/splits to support concurrent\n      activities\n      * not a perfect analogy since you might want multiple visual windows\n        into the same workspace for UI convenience\n    * manipulating multiple workspaces is analogous to branching\n      * opening a new empty workspace is analogous to creating a new branch\n        at the (empty) \"initial commit\"\n  * while \"branches\" are mutable in the sense that they update/repoint as\n    manipulations are performed, data itself is stateless/versionless: may\n    copy/reference data across worksapces\n  * environment is version-controlled at two levels\n    * fine-grained event log recording all user manipulations automatically\n      * raw diffs: show true manipulation history\n      * algebraically simplified diffs: show only effective manipulations\n        * if user flips back and forth between two states, cancel them out\n      * filtered diffs (raw or simplified): only show manipulations relevant\n        to a subset of workspace components\n    * course-grained commits/tags/bookmarks that the user explicitly creates\n    * support rebase/merge/cherry-picking, with optional component filtering\n\n* data\n  * concept sets\n    * unknown or union/intersection/difference of other sets\n    * filter if a text search query is given\n    * filter if known category\n    * filter if constrained as source/target with given predicates\n    * filter by user selections\n  * predicate sets (e.g., increases, decreases)\n    * unknown or union/intersection/difference of other sets\n    * filter if a text search query is given\n    * filter if known parent class(es)\n    * filter if constrained by given source/target concepts\n    * filter by user selections\n  * graphs\n    * nodes and edges\n      * nodes constrained by concept sets\n      * edges connect subject and object sets, constrained by predicate sets\n      * metadata: unique ID, optional name, UI, or visualization preferences\n      * knowns\n        * stratified concept/predicate set computation\n      * unknowns\n        * nodes collect solution sets of concepts\n        * edges collect solution sets of triples\n    * subgraphs\n      * used for organizational convenience\n      * metadata\n      * collection of nodes and edges\n      * may compute as union/intersection/difference of other subgraphs\n\n* computation\n  * stratified construction and constraint resolution\n    * topologically sort element sets along construction expression dependencies\n    * iteratively compute knowns and unknowns\n      * compute known concept and predicate sets\n        * construct new sets using dependencies\n        * filter elements by class, then text search, then selections\n        * validate element selections\n      * solve for unknowns used as subject/object, i.e., (== #f construction)\n        * filter subject/object by text search, then class, then selections\n        * find edge triples\n        * accumulate subject/object concepts from triples, making them known\n        * validate subject/object selections\n  * cache retrieved triples per workspace?\n\n* basic graph building manipulations\n  * update node/edge metadata\n    * node/edge attributes, UI position, other preferences\n  * create new node/edge\n  * duplicate subgraph\n    * alpha rename components (maintain unique ID invariant)\n    * retain dependencies on external component\n      * i.e., computations and constraints\n    * create new internal dependencies that preserve relationships between\n      subgraph components\n  * connect nodes and edges\n  * add/remove node/edge constraints\n    * choose a set of categories/predicate-classes\n    * compute any union/intersection/difference operations\n    * search for text (across name, CURIE, description, etc.)\n    * manually select entries from a list\n\n* more advanced graph building manipulation ideas\n  * multi-hop path-finding between concepts, discovering concepts in between\n  * concept discovery/introduction prioritized via relevance to a background\n    context\n    * background context specified with concept sets\n    * introduced concepts prioritized by the presence of more/better\n      connections to context concepts\n\n* UI\n  * a text-based interface usable from the command-line\n    * workspace could be a directory structure of subgraphs\n  * a (web-based?) graphical interface\n    * clicking/dragging and spatial visualization\n"
  },
  {
    "path": "medikanren/util/data-import/build-pubmed-edges.rkt",
    "content": "#lang racket/base\n(require\n  \"../../common.rkt\"\n  \"../../repr.rkt\"\n  (except-in racket/match ==)\n  racket/stream)\n\n;; Script to index edges of a mediKanren 1 knowledge graph (KG) by PUBMED identifier.\n;;\n;;\n;; Command-line usage:\n;;\n;; racket build-pubmed-edges.rkt <path to mediKanren 1 data directory> <name of KG directory within the data directory>\n;;\n;;\n;; Example usage, on Will's laptop, for indexing rtx2_2021_02_04:\n;;\n;; racket build-pubmed-edges.rkt /Users/webyrd/github/mediKanren/medikanren/data rtx2_2021_02_04\n\n\n;; The script generates two files, 'edges.scm.offset' and 'edges.scm', in the directory of the KG being indexed.\n;;\n;; Once these files have been created, you can start Racket and load\n;; mediKanren 1 as usual.  Please make sure to require \"common.rkt\".\n;;\n;; To get a list of edges that contain the PUBMED id \"10022988\" (for example), you can use the expression:\n;;\n;; (run* (e) (pmid-edgeo \"10022988\" e)\n\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(DATA_DIR GRAPH_DIR))\n\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error \"command line argument mismatch:\" argv-expected argv))\n\n(define data-dir (vector-ref argv 0))\n(define graph-dir (vector-ref argv 1))\n(define (graph-path fname)\n  (expand-user-path (build-path data-dir graph-dir fname)))\n\n(define (call-with-?-files cw?f paths proc)\n  (let loop ((paths paths) (ports '()))\n    (if (null? paths) (apply proc (reverse ports))\n      (cw?f (car paths)\n            (lambda (port) (loop (cdr paths) (cons port ports)))))))\n(define (call-with-output-files paths proc)\n  (call-with-?-files call-with-output-file paths proc))\n\n(define (fname-offset fname) (string-append fname \".offset\"))\n(define fnin-edges         \"edges.scm\")\n(define fnout-pubmed-edges \"pubmed-edges.scm\")\n\n(define (process-pmids in-edges out-pubmed-edges out-offset-pubmed-edges)\n  (define pmid=>eid* (hash))\n  (let loop ((eid&edge-stream (port->stream-offset&values in-edges))\n             (edges-seen 0))\n    (cond ((stream-empty? eid&edge-stream)\n           (printf \"Found total ~s pmids\\n\" (hash-count pmid=>eid*))\n           (for ((pmid (in-list (sort (hash-keys pmid=>eid*) string<?))))\n                (define eid* (hash-ref pmid=>eid* pmid))\n                (detail-write out-pubmed-edges out-offset-pubmed-edges\n                              (cons pmid eid*)))\n           (flush-output out-pubmed-edges)\n           (flush-output out-offset-pubmed-edges))\n          (else\n           (define eid&edge (stream-first eid&edge-stream))\n           (define eid (car eid&edge))\n           (define props (edge/props-props (cdr eid&edge)))\n           (for-each\n             (lambda (pmid)\n               (set! pmid=>eid*\n                     (hash-set pmid=>eid* pmid\n                               (cons eid (hash-ref pmid=>eid* pmid '())))))\n             (pubmed-ids-from-edge-props props))\n\n           (when (= (modulo edges-seen 1000000) 0)\n             (printf \"seen ~s edges\\n\" edges-seen)\n             (printf \"found ~s pmids so far\\n\" (hash-count pmid=>eid*)))\n\n           (loop (stream-rest eid&edge-stream)\n                 (add1 edges-seen))))))\n\n(printf \"\\nMapping pmids to edges:\\n\")\n(time (call-with-input-file\n        (graph-path fnin-edges)\n        (lambda (in-edges)\n          (call-with-output-files\n            (map graph-path (list fnout-pubmed-edges\n                                  (fname-offset fnout-pubmed-edges)))\n            (lambda out* (apply process-pmids in-edges out*))))))\n"
  },
  {
    "path": "medikanren/util/data-import/build-string-index.rkt",
    "content": "#lang racket/base\n(require\n  \"../repr.rkt\"\n  \"../string-search.rkt\"\n  racket/list\n  racket/set\n  racket/stream\n  racket/vector)\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(DATA_DIR GRAPH_DIR))\n\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error \"command line argument mismatch:\" argv-expected argv))\n\n(define data-dir (vector-ref argv 0))\n(define graph-dir (vector-ref argv 1))\n(define (graph-path fname)\n  (expand-user-path (build-path data-dir graph-dir fname)))\n(define (assert-file-absent! fnout)\n  (when (file-exists? (graph-path fnout))\n    (error \"file already exists:\"\n           (path->string (simplify-path (graph-path fnout))))))\n(define (output/filename fname out->)\n  (printf \"writing ~s\\n\" fname)\n  (time (call-with-output-file (graph-path fname) out->)))\n\n(define (fname-offset fname) (string-append fname \".offset\"))\n(define fnin-concepts             \"concepts.scm\")\n(define fnout-synonyms            \"synonyms.scm\")\n(define fnout-xrefs               \"xrefs.scm\")\n(define fnout-concept-synonym     \"concepts-by-synonym.scm\")\n(define fnout-concept-xref        \"concepts-by-xref.scm\")\n(define fnout-concept-cui-corpus  \"concept-cui-corpus.scm\")\n(define fnout-concept-cui-index   \"concept-cui-index.bytes\")\n(define fnout-concept-name-corpus \"concept-name-corpus.scm\")\n(define fnout-concept-name-index  \"concept-name-index.bytes\")\n(assert-file-absent! fnout-synonyms)\n(assert-file-absent! (fname-offset fnout-synonyms))\n(assert-file-absent! fnout-concept-synonym)\n(assert-file-absent! (fname-offset fnout-concept-synonym))\n(assert-file-absent! fnout-xrefs)\n(assert-file-absent! (fname-offset fnout-xrefs))\n(assert-file-absent! fnout-concept-xref)\n(assert-file-absent! (fname-offset fnout-concept-xref))\n(assert-file-absent! fnout-concept-cui-corpus)\n(assert-file-absent! fnout-concept-cui-index)\n(assert-file-absent! fnout-concept-name-corpus)\n(assert-file-absent! fnout-concept-name-index)\n\n(printf \"loading concepts...\\n\")\n(define concept*\n  (time (call-with-input-file\n          (graph-path fnin-concepts)\n          (lambda (in-concepts)\n            (list->vector\n              (stream->list\n                (stream-map cdr (port->stream-offset&values in-concepts))))))))\n(printf \"loaded ~a concepts\\n\" (vector-length concept*))\n\n(let ()\n  (printf \"gathering concept synonyms...\\n\")\n  (define synonym=>concepts\n    (time (let loop ((i 0) (synonym=>concepts (hash)))\n            (cond ((< i (vector-length concept*))\n                   (loop (+ 1 i)\n                         (foldl (lambda (synonym c=>cs)\n                                  (hash-update c=>cs synonym\n                                               (lambda (cs) (cons i cs)) '()))\n                                synonym=>concepts\n                                (concept->synonyms (vector-ref concept* i)))))\n                  (else synonym=>concepts)))))\n  (printf \"building synonym vector...\\n\")\n  (define synonyms (time (for/vector ((key (in-hash-keys synonym=>concepts)))\n                                     key)))\n  (printf \"found ~a synonyms\\n\" (vector-length synonyms))\n  (printf \"sorting synonyms...\\n\")\n  (time (vector-sort! synonyms string<?))\n  (output/filename\n    fnout-synonyms\n    (lambda (out-synonyms)\n      (output/filename\n        (fname-offset fnout-synonyms)\n        (lambda (out-offsets-synonyms)\n          (for ((synonym synonyms))\n               (detail-write out-synonyms out-offsets-synonyms synonym))))))\n  (printf \"mapping synonyms to concepts...\\n\")\n  (output/filename\n    fnout-concept-synonym\n    (lambda (out-concept-synonym)\n      (output/filename\n        (fname-offset fnout-concept-synonym)\n        (lambda (out-offsets-concept-synonym)\n          (for ((synonym synonyms))\n               (detail-write\n                 out-concept-synonym out-offsets-concept-synonym\n                 (sort (set->list (list->set (hash-ref synonym=>concepts\n                                                       synonym)))\n                       <))))))))\n\n(let ()\n  (printf \"gathering concept cross-references...\\n\")\n  (define xref=>concepts\n    (time (let loop ((i 0) (xref=>concepts (hash)))\n            (cond ((< i (vector-length concept*))\n                   (loop (+ 1 i)\n                         (foldl (lambda (xref c=>cs)\n                                  (hash-update c=>cs xref\n                                               (lambda (cs) (cons i cs)) '()))\n                                xref=>concepts\n                                (concept->xrefs (vector-ref concept* i)))))\n                  (else xref=>concepts)))))\n  (printf \"building xref vector...\\n\")\n  (define xrefs (time (for/vector ((key (in-hash-keys xref=>concepts))) key)))\n  (printf \"found ~a xrefs\\n\" (vector-length xrefs))\n  (printf \"sorting xrefs...\\n\")\n  (time (vector-sort! xrefs string<?))\n  (output/filename\n    fnout-xrefs\n    (lambda (out-xrefs)\n      (output/filename\n        (fname-offset fnout-xrefs)\n        (lambda (out-offsets-xrefs)\n          (for ((xref xrefs))\n               (detail-write out-xrefs out-offsets-xrefs xref))))))\n  (printf \"mapping xrefs to concepts...\\n\")\n  (output/filename\n    fnout-concept-xref\n    (lambda (out-concept-xref)\n      (output/filename\n        (fname-offset fnout-concept-xref)\n        (lambda (out-offsets-concept-xref)\n          (for ((xref xrefs))\n               (detail-write\n                 out-concept-xref out-offsets-concept-xref\n                 (sort (set->list (list->set (hash-ref xref=>concepts xref)))\n                       <))))))))\n\n(let ()\n  (printf \"building CUI search corpus...\\n\")\n  (define cui-corpus\n    (time (vector-map (lambda (c) (or (concept-cui c) \"\")) concept*)))\n  (printf \"building CUI search index...\\n\")\n  (define cui-index (time (string:corpus->index cui-corpus)))\n  (printf \"indexed ~a CUIs\\n\" (vector-length cui-index))\n  (output/filename\n    fnout-concept-cui-corpus\n    (lambda (out) (for ((s (in-vector cui-corpus))) (write-scm out s))))\n  (output/filename\n    fnout-concept-cui-index\n    (lambda (out) (write-string-keys out cui-index))))\n\n(let ()\n  (printf \"building name search corpus...\\n\")\n  (define name-corpus\n    (time (vector-map (lambda (c) (let ((name (concept-name c)))\n                                    (if name (string/searchable name) \"\")))\n                      concept*)))\n  (printf \"building name search index...\\n\")\n  (define name-index (time (suffix:corpus->index name-corpus)))\n  (printf \"indexed ~a suffixes\\n\" (vector-length name-index))\n  (output/filename\n    fnout-concept-name-corpus\n    (lambda (out) (for ((s (in-vector name-corpus))) (write-scm out s))))\n  (output/filename\n    fnout-concept-name-index\n    (lambda (out) (write-suffix-keys out name-index))))\n"
  },
  {
    "path": "medikanren/util/data-import/csv-graph-to-db.rkt",
    "content": "#lang racket/base\n(require\n  \"../csv.rkt\"\n  \"../repr.rkt\"\n  json\n  racket/match\n  )\n\n(define (json-simplify json)\n  (if (and (string? json) (< 0 (string-length json))\n           (eqv? #\\\" (string-ref json 0))\n           (eqv? #\\\" (string-ref json (- (string-length json) 1))))\n    (string->jsexpr json)\n    json))\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(DATA_DIR GRAPH_DIR))\n\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error \"command line argument mismatch:\" argv-expected argv))\n\n(define data-dir (vector-ref argv 0))\n(define graph-dir (vector-ref argv 1))\n(define (graph-path fname)\n  (expand-user-path (build-path data-dir graph-dir fname)))\n\n;; Input\n;; We don't need anything from *.node.csv to build the DB.\n(define fnin-nodeprop (string-append graph-dir \".nodeprop.csv\"))\n(define fnin-edge     (string-append graph-dir \".edge.csv\"))\n(define fnin-edgeprop (string-append graph-dir \".edgeprop.csv\"))\n\n;; Output\n(define fnout-concepts             \"concepts.scm\")\n(define fnout-categories           \"categories.scm\")\n(define fnout-concepts-by-category \"concepts-by-category.scm\")\n(define fnout-edges                \"edges.scm\")\n(define fnout-predicates           \"predicates.scm\")\n(define fnout-edges-by-subject     \"edges-by-subject.bytes\")\n(define fnout-edges-by-object      \"edges-by-object.bytes\")\n(define (fname-offset fname) (string-append fname \".offset\"))\n\n(define nodeprop-header-expected \":ID,propname,value\")\n(define edgeprop-header-expected \":ID,propname,value\")\n(define edge-header-expected     \":ID,:START,:END\")\n(define (validate-header header-expected in)\n  (define header-found (read-line in 'any))\n  (when (not (equal? header-found header-expected))\n    (error \"unexpected CSV header:\" header-found header-expected)))\n\n(define cui=>id&cat (hash))\n\n(define (process-nodes in-nodeprop out-concepts out-offset-concepts\n                       out-categories out-concepts-by-category\n                       out-offset-concepts-by-category)\n  (define (flush)\n    (flush-output out-categories)\n    (flush-output out-concepts)\n    (flush-output out-offset-concepts))\n  (define category-count 0)\n  (define category=>id (hash))\n  (define cat-id=>concept-id* (hash))\n  (define add-concept\n    (let ((id 0))\n      (define (add-category category)\n        (cond ((not (hash-has-key? category=>id category))\n               (set! category=>id\n                 (hash-set category=>id category category-count))\n               (detail-write out-categories #f category)\n               (set! category-count (+ category-count 1))\n               (- category-count 1))\n              (else (hash-ref category=>id category))))\n      (lambda (cui props)\n        (define (required-prop props key)\n          (define kv (assoc key props))\n          (and kv (cdr kv)))\n        (define category (required-prop props \"category\"))\n        (define name (required-prop props \"name\"))\n        (define category-id (add-category category))\n        (define (other-key? kv)\n          (not (ormap (lambda (k) (equal? k (car kv))) '(\"category\" \"name\"))))\n        (set! cui=>id&cat (hash-set cui=>id&cat cui (cons id category-id)))\n        (set! cat-id=>concept-id*\n          (hash-set cat-id=>concept-id*\n                    category-id\n                    (cons id (hash-ref cat-id=>concept-id* category-id '()))))\n        (detail-write out-concepts out-offset-concepts\n                      (vector cui category-id name (filter other-key? props)))\n        (set! id (+ id 1)))))\n\n  (define nodeprops (csv-records in-nodeprop))\n  (define first-nodeprop (nodeprops 'next))\n  (when (not first-nodeprop) (error \"nodeprop file is empty\"))\n  (match-define (list cui key raw-val) first-nodeprop)\n\n  (let loop ((count 1) (current-cui cui))\n    (define props\n      (let loop-props ((row (nodeprops 'current)))\n        (match row\n          ((list (? (lambda (cui) (equal? current-cui cui))) key raw-val)\n           (cons (cons key (json-simplify raw-val))\n                 (loop-props (nodeprops 'next))))\n          (_ '()))))\n    (add-concept current-cui props)\n    (when (= 0 (remainder count 10000))\n      (printf \"Processed ~s nodes/concepts\\n\" count)\n      (flush))\n\n    (match (nodeprops 'current)\n      ((list cui _ _) (loop (+ 1 count) cui))\n      (#f (printf \"Found ~s concepts in ~s categories\\n\"\n                  (- count 1) category-count)\n       (flush)\n       (for ((cat-id (in-range 0 category-count)))\n            (define cids (sort (hash-ref cat-id=>concept-id* cat-id '()) <=))\n            (define vcids (list->vector cids))\n            (printf \"Category ~s: ~s concepts\\n\" cat-id (vector-length vcids))\n            (detail-write\n              out-concepts-by-category out-offset-concepts-by-category vcids)))\n      (_ (error \"malformed row:\" (nodeprops 'current))))))\n\n(define (process-edges in-edge in-edgeprop\n                       out-predicates\n                       out-edges out-offset-edges\n                       out-edges-by-subject out-offset-edges-by-subject\n                       out-edges-by-object  out-offset-edges-by-object)\n  (define (flush)\n    (flush-output out-predicates)\n    (flush-output out-edges)\n    (flush-output out-offset-edges))\n  (define predicate-count 0)\n  (define predicate=>id (hash))\n  (define subject=>edges (hash))\n  (define object=>edges (hash))\n  (define add-edge\n    (let ((id 0))\n      (define (add-predicate predicate)\n        (cond ((not (hash-has-key? predicate=>id predicate))\n               (set! predicate=>id\n                 (hash-set predicate=>id predicate predicate-count))\n               (detail-write out-predicates #f predicate)\n               (set! predicate-count (+ predicate-count 1))\n               (- predicate-count 1))\n              (else (hash-ref predicate=>id predicate))))\n      (lambda (subject-cui object-cui props)\n        (match-define (cons subject subject-category)\n                      (hash-ref cui=>id&cat subject-cui))\n        (match-define (cons object object-category)\n                      (hash-ref cui=>id&cat object-cui))\n        (define (required-prop props key)\n          (define kv (assoc key props))\n          (and kv (cdr kv)))\n        (define type (or (required-prop props \"edge_label\")\n                         (required-prop props \"type\")\n                         (required-prop props \"predicate\")\n                         (error \"missing required property:\" id props)))\n        (define pid (add-predicate type))\n        (define (other-key? kv)\n          (not (ormap (lambda (k) (equal? k (car kv))) '(\"type\" \"edge_label\"))))\n        ;(define (other-key? kv) (not (equal? \"type\" (car kv))))\n        (set! subject=>edges\n          (hash-set subject=>edges subject\n                    (cons (edge->bytes\n                            (vector pid object-category object id))\n                          (hash-ref subject=>edges subject '()))))\n        (set! object=>edges\n          (hash-set object=>edges object\n                    (cons (edge->bytes\n                            (vector pid subject-category subject id))\n                          (hash-ref object=>edges object '()))))\n        (detail-write out-edges out-offset-edges\n                      (vector subject pid object (filter other-key? props)))\n        (set! id (+ id 1)))))\n\n  (define edges (csv-records in-edge))\n  (define edgeprops (csv-records in-edgeprop))\n  (define first-edge (edges 'next))\n  (define first-edgeprop (edgeprops 'next))\n  (when (not (and first-edge first-edgeprop)) (error \"empty edge files\"))\n  (match-define (list eid0 subject-cui object-cui) first-edge)\n  (match-define (list eid key raw-val) first-edgeprop)\n  (when (not (equal? eid0 eid)) (error \"mismatching edge ids:\" eid0 eid))\n\n  (let loop ((count 1) (current-eid eid) (subject-cui subject-cui)\n                       (object-cui object-cui))\n    (define props\n      (let loop-props ((row (edgeprops 'current)))\n        (match row\n          ((list (? (lambda (eid) (equal? current-eid eid))) key raw-val)\n           (cons (cons key (json-simplify raw-val))\n                 (loop-props (edgeprops 'next))))\n          (_ '()))))\n    (add-edge subject-cui object-cui props)\n    (when (= 0 (remainder count 100000))\n      (printf \"Processed ~s edges\\n\" count)\n      (flush))\n\n    (match (cons (edges 'next) (edgeprops 'current))\n      ((cons (list eid0 subject-cui object-cui) (list eid _ _))\n       (when (not (equal? eid0 eid)) (error \"mismatching edge ids:\" eid0 eid))\n       (loop (+ 1 count) eid subject-cui object-cui))\n      ((cons #f #f)\n       (printf \"Found ~s edges involving ~s predicates\\n\"\n               (- count 1) predicate-count)\n       (flush)\n       (define max-edges/src 0)\n       (for ((src-id (in-range 0 (+ 1 (hash-count cui=>id&cat)))))\n            (when (= 0 (remainder src-id 10000))\n              (printf \"Processed edges for ~s concepts\\n\" src-id)\n              (flush-output out-edges-by-subject)\n              (flush-output out-offset-edges-by-subject)\n              (flush-output out-edges-by-object)\n              (flush-output out-offset-edges-by-object))\n            (define (write-edges-by-X X=>edges out out-offset)\n              (define edges/src 0)\n              (offset-write out-offset (file-position out))\n              (for ((edge (sort (hash-ref X=>edges src-id '()) bytes<?)))\n                   (set! edges/src (+ edges/src 1))\n                   (write-bytes edge out))\n              (when (< max-edges/src edges/src)\n                (printf \"Max edges per source concept seen for ~s: ~s\\n\"\n                        src-id edges/src)\n                (set! max-edges/src edges/src)))\n            (write-edges-by-X\n              subject=>edges out-edges-by-subject out-offset-edges-by-subject)\n            (write-edges-by-X\n              object=>edges out-edges-by-object out-offset-edges-by-object)))\n      (_ (error \"malformed row(s):\" (edges 'current) (edgeprops 'current))))))\n\n(define (call-with-?-files cw?f paths proc)\n  (let loop ((paths paths) (ports '()))\n    (if (null? paths) (apply proc (reverse ports))\n      (cw?f (car paths)\n            (lambda (port) (loop (cdr paths) (cons port ports)))))))\n(define (call-with-output-files paths proc)\n  (call-with-?-files call-with-output-file paths proc))\n\n(printf \"Processing nodes:\\n\")\n(time (call-with-input-file\n        (graph-path fnin-nodeprop)\n        (lambda (in-nodeprop)\n          (validate-header nodeprop-header-expected in-nodeprop)\n          (call-with-output-files\n            (map graph-path (list fnout-concepts\n                                  (fname-offset fnout-concepts)\n                                  fnout-categories\n                                  fnout-concepts-by-category\n                                  (fname-offset fnout-concepts-by-category)))\n            (lambda out* (apply process-nodes in-nodeprop out*))))))\n\n(printf \"\\nProcessing edges:\\n\")\n(time (call-with-input-file\n        (graph-path fnin-edge)\n        (lambda (in-edge)\n          (validate-header edge-header-expected in-edge)\n          (call-with-input-file\n            (graph-path fnin-edgeprop)\n            (lambda (in-edgeprop)\n              (validate-header edgeprop-header-expected in-edgeprop)\n              (call-with-output-files\n                (map graph-path (list fnout-predicates\n                                      fnout-edges (fname-offset fnout-edges)\n                                      fnout-edges-by-subject\n                                      (fname-offset fnout-edges-by-subject)\n                                      fnout-edges-by-object\n                                      (fname-offset fnout-edges-by-object)))\n                (lambda out*\n                  (apply process-edges in-edge in-edgeprop out*))))))))\n"
  },
  {
    "path": "medikanren/util/data-import/edges-to-csv.rkt",
    "content": "#lang racket/base\n(require racket/set racket/string)\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(DATA_DIR GRAPH_DIR))\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error \"command line argument mismatch:\" argv-expected argv))\n\n(define data-dir  (vector-ref argv 0))\n(define graph-dir (vector-ref argv 1))\n(define (graph-path fname)\n  (expand-user-path (build-path data-dir graph-dir fname)))\n(define (graph-path/gname fname) (graph-path (string-append graph-dir fname)))\n\n(define (call/files fins fouts p)\n  (let loop ((fins fins) (ins '()))\n    (if (null? fins)\n      (let loop ((fouts fouts) (outs '()))\n        (if (null? fouts)\n          (apply p (append (reverse ins) (reverse outs)))\n          (call-with-output-file\n            (car fouts) (lambda (out) (loop (cdr fouts) (cons out outs))))))\n      (call-with-input-file\n        (car fins) (lambda (in) (loop (cdr fins) (cons in ins)))))))\n\n(define-syntax-rule (let/files ((in fin) ...) ((out fout) ...) body ...)\n  (call/files (list fin ...) (list fout ...)\n              (lambda (in ... out ...) body ...)))\n\n(define (csv-escape s)\n  (string-append \"\\\"\" (string-replace s \"\\\"\" \"\\\"\\\"\") \"\\\"\"))\n\n(let/files ((in-edges (graph-path \"edges.input.scm\")))\n  ((out-node     (graph-path/gname \".node.csv\"))\n   (out-nodeprop (graph-path/gname \".nodeprop.csv\"))\n   (out-edge     (graph-path/gname \".edge.csv\"))\n   (out-edgeprop (graph-path/gname \".edgeprop.csv\")))\n  (fprintf out-node     \":ID\\n\")\n  (fprintf out-nodeprop \":ID,propname,value\\n\")\n  (fprintf out-edge     \":ID,:START,:END\\n\")\n  (fprintf out-edgeprop \":ID,propname,value\\n\")\n  (let loop ((i 0) (concepts (set)))\n    (define (add-concept concepts c)\n      (define curie    (car    c))\n      (define name     (cadr   c))\n      (define category (caddr  c))\n      (define cprops   (cadddr c))\n      (cond ((set-member? concepts curie) concepts)\n            (else (fprintf out-node \"~a\\n\" curie)\n                  (fprintf out-nodeprop \"~a,~a,~a\\n\" curie \"name\"\n                           (csv-escape name))\n                  (fprintf out-nodeprop \"~a,~a,~a\\n\" curie \"category\"\n                           (csv-escape category))\n                  (for-each (lambda (kv)\n                              (fprintf out-nodeprop \"~a,~a,~a\\n\" curie\n                                       (car kv) (csv-escape (cdr kv))))\n                            cprops)\n                  (set-add concepts curie))))\n    (define e (read in-edges))\n    (unless (eof-object? e)\n      (define subject   (car    e))\n      (define object    (cadr   e))\n      (define predicate (caddr  e))\n      (define eprops    (cadddr e))\n      (fprintf out-edge \"~a,~a,~a\\n\" i (car subject) (car object))\n      (fprintf out-edgeprop \"~a,~a,~a\\n\" i \"edge_label\" predicate)\n      (for-each (lambda (kv) (fprintf out-edgeprop \"~a,~a,~a\\n\" i (car kv)\n                                      (csv-escape (cdr kv))))\n                eprops)\n      (loop (+ i 1) (add-concept (add-concept concepts subject) object)))))\n"
  },
  {
    "path": "medikanren/util/data-import/tsv-graph-to-db-lenient.rkt",
    "content": "#lang racket/base\n(require\n  \"../tsv.rkt\"\n  \"../repr.rkt\"\n  json\n  racket/match\n  )\n\n(define (json-simplify json)\n  (if (and (string? json) (< 0 (string-length json))\n           (eqv? #\\\" (string-ref json 0)))\n    (string->jsexpr json)\n    json))\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(DATA_DIR GRAPH_DIR))\n\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error \"command line argument mismatch:\" argv-expected argv))\n\n(define data-dir (vector-ref argv 0))\n(define graph-dir (vector-ref argv 1))\n(define (graph-path fname)\n  (expand-user-path (build-path data-dir graph-dir fname)))\n\n;; Input\n;; We don't need anything from *.node.tsv to build the DB.\n(define fnin-nodeprop (string-append graph-dir \".nodeprop.tsv\"))\n(define fnin-edge     (string-append graph-dir \".edge.tsv\"))\n(define fnin-edgeprop (string-append graph-dir \".edgeprop.tsv\"))\n\n;; Output\n(define fnout-concepts             \"concepts.scm\")\n(define fnout-categories           \"categories.scm\")\n(define fnout-concepts-by-category \"concepts-by-category.scm\")\n(define fnout-edges                \"edges.scm\")\n(define fnout-predicates           \"predicates.scm\")\n(define fnout-edges-by-subject     \"edges-by-subject.bytes\")\n(define fnout-edges-by-object      \"edges-by-object.bytes\")\n(define (fname-offset fname) (string-append fname \".offset\"))\n\n(define nodeprop-header-expected \":ID\\tpropname\\tvalue\")\n(define edgeprop-header-expected \":ID\\tpropname\\tvalue\")\n(define edge-header-expected     \":ID\\t:START\\t:END\")\n(define (validate-header header-expected in)\n  (define header-found (read-line in 'any))\n  (when (not (equal? header-found header-expected))\n    (error \"unexpected TSV header:\" header-found header-expected)))\n\n(define cui=>id&cat (hash))\n\n(define (process-nodes in-nodeprop out-concepts out-offset-concepts\n                       out-categories out-concepts-by-category\n                       out-offset-concepts-by-category)\n  (define (flush)\n    (flush-output out-categories)\n    (flush-output out-concepts)\n    (flush-output out-offset-concepts))\n  (define category-count 0)\n  (define category=>id (hash))\n  (define cat-id=>concept-id* (hash))\n  (define add-concept\n    (let ((id 0))\n      (define (add-category category)\n        (cond ((not (hash-has-key? category=>id category))\n               (set! category=>id\n                 (hash-set category=>id category category-count))\n               (detail-write out-categories #f category)\n               (set! category-count (+ category-count 1))\n               (- category-count 1))\n              (else (hash-ref category=>id category))))\n      (lambda (cui props)\n        (define (required-prop props key)\n          (define kv (assoc key props))\n          (and kv (cdr kv)))\n        (define category (required-prop props \"category\"))\n        (define name (required-prop props \"name\"))\n        (define category-id (add-category category))\n        (define (other-key? kv)\n          (not (ormap (lambda (k) (equal? k (car kv))) '(\"category\" \"name\"))))\n        (set! cui=>id&cat (hash-set cui=>id&cat cui (cons id category-id)))\n        (set! cat-id=>concept-id*\n          (hash-set cat-id=>concept-id*\n                    category-id\n                    (cons id (hash-ref cat-id=>concept-id* category-id '()))))\n        (detail-write out-concepts out-offset-concepts\n                      (vector cui category-id name (filter other-key? props)))\n        (set! id (+ id 1)))))\n\n  (define nodeprops (tsv-records in-nodeprop))\n  (define first-nodeprop (nodeprops 'next))\n  (when (not first-nodeprop) (error \"nodeprop file is empty\"))\n  (match-define (list cui key raw-val) first-nodeprop)\n\n  (let loop ((count 1) (current-cui cui))\n    (define props\n      (let loop-props ((row (nodeprops 'current)))\n        (match row\n          ((list (? (lambda (cui) (equal? current-cui cui))) key raw-val)\n           (cons (cons key (json-simplify raw-val))\n                 (loop-props (nodeprops 'next))))\n          (_ '()))))\n    (add-concept current-cui props)\n    (when (= 0 (remainder count 10000))\n      (printf \"Processed ~s nodes/concepts\\n\" count)\n      (flush))\n\n    (match (nodeprops 'current)\n      ((list cui _ _) (loop (+ 1 count) cui))\n      (#f (printf \"Found ~s concepts in ~s categories\\n\"\n                  (- count 1) category-count)\n       (flush)\n       (for ((cat-id (in-range 0 category-count)))\n            (define cids (sort (hash-ref cat-id=>concept-id* cat-id '()) <=))\n            (define vcids (list->vector cids))\n            (printf \"Category ~s: ~s concepts\\n\" cat-id (vector-length vcids))\n            (detail-write\n              out-concepts-by-category out-offset-concepts-by-category vcids)))\n      (_ (error \"malformed row:\" (nodeprops 'current))))))\n\n(define (process-edges in-edge in-edgeprop\n                       out-predicates\n                       out-edges out-offset-edges\n                       out-edges-by-subject out-offset-edges-by-subject\n                       out-edges-by-object  out-offset-edges-by-object)\n  (define (flush)\n    (flush-output out-predicates)\n    (flush-output out-edges)\n    (flush-output out-offset-edges))\n  (define predicate-count 0)\n  (define predicate=>id (hash))\n  (define subject=>edges (hash))\n  (define object=>edges (hash))\n  (define add-edge\n    (let ((id 0))\n      (define (add-predicate predicate)\n        (cond ((not (hash-has-key? predicate=>id predicate))\n               (set! predicate=>id\n                 (hash-set predicate=>id predicate predicate-count))\n               (detail-write out-predicates #f predicate)\n               (set! predicate-count (+ predicate-count 1))\n               (- predicate-count 1))\n              (else (hash-ref predicate=>id predicate))))\n      (lambda (subject-cui object-cui props)\n        (match-define (cons subject subject-category)\n                      (hash-ref cui=>id&cat subject-cui (cons #f #f)))\n        (match-define (cons object object-category)\n                      (hash-ref cui=>id&cat object-cui (cons #f #f)))\n\t(if (not (and subject object))\n\t    (begin\n\t      (printf \"skipping edge\\n\")\n\t      (unless subject\n\t\t(printf \"missing subject ~a\\n\" subject-cui))\n\t      (unless object\n\t\t(printf \"missing object ~a\\n\" object-cui))\n\t      )\n\t    (let ()\n        (define (required-prop props key)\n          (define kv (assoc key props))\n          (and kv (cdr kv)))\n        (define type (or (required-prop props \"edge_label\")\n                         (required-prop props \"type\")\n                         (error \"missing required property:\" id key)))\n        (define pid (add-predicate type))\n        (define (other-key? kv)\n          (not (ormap (lambda (k) (equal? k (car kv))) '(\"type\" \"edge_label\"))))\n        ;(define (other-key? kv) (not (equal? \"type\" (car kv))))\n        (set! subject=>edges\n          (hash-set subject=>edges subject\n                    (cons (edge->bytes\n                            (vector pid object-category object id))\n                          (hash-ref subject=>edges subject '()))))\n        (set! object=>edges\n          (hash-set object=>edges object\n                    (cons (edge->bytes\n                            (vector pid subject-category subject id))\n                          (hash-ref object=>edges object '()))))\n        (detail-write out-edges out-offset-edges\n                      (vector subject pid object (filter other-key? props)))\n        (set! id (+ id 1)))))))\n\n  (define edges (tsv-records in-edge))\n  (define edgeprops (tsv-records in-edgeprop))\n  (define first-edge (edges 'next))\n  (define first-edgeprop (edgeprops 'next))\n  (when (not (and first-edge first-edgeprop)) (error \"empty edge files\"))\n  (match-define (list eid0 subject-cui object-cui) first-edge)\n  (match-define (list eid key raw-val) first-edgeprop)\n  (when (not (equal? eid0 eid)) (error \"mismatching edge ids:\" eid0 eid))\n\n  (let loop ((count 1) (current-eid eid) (subject-cui subject-cui)\n                       (object-cui object-cui))\n    (define props\n      (let loop-props ((row (edgeprops 'current)))\n        (match row\n          ((list (? (lambda (eid) (equal? current-eid eid))) key raw-val)\n           (cons (cons key (json-simplify raw-val))\n                 (loop-props (edgeprops 'next))))\n          (_ '()))))\n    (add-edge subject-cui object-cui props)\n    (when (= 0 (remainder count 100000))\n      (printf \"Processed ~s edges\\n\" count)\n      (flush))\n\n    (match (cons (edges 'next) (edgeprops 'current))\n      ((cons (list eid0 subject-cui object-cui) (list eid _ _))\n       (when (not (equal? eid0 eid)) (error \"mismatching edge ids:\" eid0 eid))\n       (loop (+ 1 count) eid subject-cui object-cui))\n      ((cons #f #f)\n       (printf \"Found ~s edges involving ~s predicates\\n\"\n               (- count 1) predicate-count)\n       (flush)\n       (define max-edges/src 0)\n       (for ((src-id (in-range 0 (+ 1 (hash-count cui=>id&cat)))))\n            (when (= 0 (remainder src-id 10000))\n              (printf \"Processed edges for ~s concepts\\n\" src-id)\n              (flush-output out-edges-by-subject)\n              (flush-output out-offset-edges-by-subject)\n              (flush-output out-edges-by-object)\n              (flush-output out-offset-edges-by-object))\n            (define (write-edges-by-X X=>edges out out-offset)\n              (define edges/src 0)\n              (offset-write out-offset (file-position out))\n              (for ((edge (sort (hash-ref X=>edges src-id '()) bytes<?)))\n                   (set! edges/src (+ edges/src 1))\n                   (write-bytes edge out))\n              (when (< max-edges/src edges/src)\n                (printf \"Max edges per source concept seen for ~s: ~s\\n\"\n                        src-id edges/src)\n                (set! max-edges/src edges/src)))\n            (write-edges-by-X\n              subject=>edges out-edges-by-subject out-offset-edges-by-subject)\n            (write-edges-by-X\n              object=>edges out-edges-by-object out-offset-edges-by-object)))\n      (_ (error \"malformed row(s):\" (edges 'current) (edgeprops 'current))))))\n\n(define (call-with-?-files cw?f paths proc)\n  (let loop ((paths paths) (ports '()))\n    (if (null? paths) (apply proc (reverse ports))\n      (cw?f (car paths)\n            (lambda (port) (loop (cdr paths) (cons port ports)))))))\n(define (call-with-output-files paths proc)\n  (call-with-?-files call-with-output-file paths proc))\n\n(printf \"Processing nodes:\\n\")\n(time (call-with-input-file\n        (graph-path fnin-nodeprop)\n        (lambda (in-nodeprop)\n          (validate-header nodeprop-header-expected in-nodeprop)\n          (call-with-output-files\n            (map graph-path (list fnout-concepts\n                                  (fname-offset fnout-concepts)\n                                  fnout-categories\n                                  fnout-concepts-by-category\n                                  (fname-offset fnout-concepts-by-category)))\n            (lambda out* (apply process-nodes in-nodeprop out*))))))\n\n(printf \"\\nProcessing edges:\\n\")\n(time (call-with-input-file\n        (graph-path fnin-edge)\n        (lambda (in-edge)\n          (validate-header edge-header-expected in-edge)\n          (call-with-input-file\n            (graph-path fnin-edgeprop)\n            (lambda (in-edgeprop)\n              (validate-header edgeprop-header-expected in-edgeprop)\n              (call-with-output-files\n                (map graph-path (list fnout-predicates\n                                      fnout-edges (fname-offset fnout-edges)\n                                      fnout-edges-by-subject\n                                      (fname-offset fnout-edges-by-subject)\n                                      fnout-edges-by-object\n                                      (fname-offset fnout-edges-by-object)))\n                (lambda out*\n                  (apply process-edges in-edge in-edgeprop out*))))))))\n"
  },
  {
    "path": "medikanren/util/data-import/tsv-graph-to-db.rkt",
    "content": "#lang racket/base\n(require\n  \"../tsv.rkt\"\n  \"../repr.rkt\"\n  json\n  racket/match\n  )\n\n(define (json-simplify json)\n  (if (and (string? json) (< 0 (string-length json))\n           (eqv? #\\\" (string-ref json 0))\n           (eqv? #\\\" (string-ref json (- (string-length json) 1))))\n    (string->jsexpr json)\n    json))\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(DATA_DIR GRAPH_DIR))\n\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error \"command line argument mismatch:\" argv-expected argv))\n\n(define data-dir (vector-ref argv 0))\n(define graph-dir (vector-ref argv 1))\n(define (graph-path fname)\n  (expand-user-path (build-path data-dir graph-dir fname)))\n\n;; Input\n;; We don't need anything from *.node.tsv to build the DB.\n(define fnin-nodeprop (string-append graph-dir \".nodeprop.tsv\"))\n(define fnin-edge     (string-append graph-dir \".edge.tsv\"))\n(define fnin-edgeprop (string-append graph-dir \".edgeprop.tsv\"))\n\n;; Output\n(define fnout-concepts             \"concepts.scm\")\n(define fnout-categories           \"categories.scm\")\n(define fnout-concepts-by-category \"concepts-by-category.scm\")\n(define fnout-edges                \"edges.scm\")\n(define fnout-predicates           \"predicates.scm\")\n(define fnout-edges-by-subject     \"edges-by-subject.bytes\")\n(define fnout-edges-by-object      \"edges-by-object.bytes\")\n(define (fname-offset fname) (string-append fname \".offset\"))\n\n(define nodeprop-header-expected \":ID\\tpropname\\tvalue\")\n(define edgeprop-header-expected \":ID\\tpropname\\tvalue\")\n(define edge-header-expected     \":ID\\t:START\\t:END\")\n(define (validate-header header-expected in)\n  (define header-found (read-line in 'any))\n  (when (not (equal? header-found header-expected))\n    (error \"unexpected TSV header:\" header-found header-expected)))\n\n(define cui=>id&cat (hash))\n\n(define (process-nodes in-nodeprop out-concepts out-offset-concepts\n                       out-categories out-concepts-by-category\n                       out-offset-concepts-by-category)\n  (define (flush)\n    (flush-output out-categories)\n    (flush-output out-concepts)\n    (flush-output out-offset-concepts))\n  (define category-count 0)\n  (define category=>id (hash))\n  (define cat-id=>concept-id* (hash))\n  (define add-concept\n    (let ((id 0))\n      (define (add-category category)\n        (cond ((not (hash-has-key? category=>id category))\n               (set! category=>id\n                 (hash-set category=>id category category-count))\n               (detail-write out-categories #f category)\n               (set! category-count (+ category-count 1))\n               (- category-count 1))\n              (else (hash-ref category=>id category))))\n      (lambda (cui props)\n        (define (required-prop props key)\n          (define kv (assoc key props))\n          (and kv (cdr kv)))\n        (define category (required-prop props \"category\"))\n        (define name (required-prop props \"name\"))\n        (define category-id (add-category category))\n        (define (other-key? kv)\n          (not (ormap (lambda (k) (equal? k (car kv))) '(\"category\" \"name\"))))\n        (set! cui=>id&cat (hash-set cui=>id&cat cui (cons id category-id)))\n        (set! cat-id=>concept-id*\n          (hash-set cat-id=>concept-id*\n                    category-id\n                    (cons id (hash-ref cat-id=>concept-id* category-id '()))))\n        (detail-write out-concepts out-offset-concepts\n                      (vector cui category-id name (filter other-key? props)))\n        (set! id (+ id 1)))))\n\n  (define nodeprops (tsv-records in-nodeprop))\n  (define first-nodeprop (nodeprops 'next))\n  (when (not first-nodeprop) (error \"nodeprop file is empty\"))\n  (match-define (list cui key raw-val) first-nodeprop)\n\n  (let loop ((count 1) (current-cui cui))\n    (define props\n      (let loop-props ((row (nodeprops 'current)))\n        (match row\n          ((list (? (lambda (cui) (equal? current-cui cui))) key raw-val)\n           (cons (cons key (json-simplify raw-val))\n                 (loop-props (nodeprops 'next))))\n          (_ '()))))\n    (add-concept current-cui props)\n    (when (= 0 (remainder count 10000))\n      (printf \"Processed ~s nodes/concepts\\n\" count)\n      (flush))\n\n    (match (nodeprops 'current)\n      ((list cui _ _) (loop (+ 1 count) cui))\n      (#f (printf \"Found ~s concepts in ~s categories\\n\"\n                  (- count 1) category-count)\n       (flush)\n       (for ((cat-id (in-range 0 category-count)))\n            (define cids (sort (hash-ref cat-id=>concept-id* cat-id '()) <=))\n            (define vcids (list->vector cids))\n            (printf \"Category ~s: ~s concepts\\n\" cat-id (vector-length vcids))\n            (detail-write\n              out-concepts-by-category out-offset-concepts-by-category vcids)))\n      (_ (error \"malformed row:\" (nodeprops 'current))))))\n\n(define (process-edges in-edge in-edgeprop\n                       out-predicates\n                       out-edges out-offset-edges\n                       out-edges-by-subject out-offset-edges-by-subject\n                       out-edges-by-object  out-offset-edges-by-object)\n  (define (flush)\n    (flush-output out-predicates)\n    (flush-output out-edges)\n    (flush-output out-offset-edges))\n  (define predicate-count 0)\n  (define predicate=>id (hash))\n  (define subject=>edges (hash))\n  (define object=>edges (hash))\n  (define add-edge\n    (let ((id 0))\n      (define (add-predicate predicate)\n        (cond ((not (hash-has-key? predicate=>id predicate))\n               (set! predicate=>id\n                 (hash-set predicate=>id predicate predicate-count))\n               (detail-write out-predicates #f predicate)\n               (set! predicate-count (+ predicate-count 1))\n               (- predicate-count 1))\n              (else (hash-ref predicate=>id predicate))))\n      (lambda (subject-cui object-cui props)\n        (match-define (cons subject subject-category)\n                      (hash-ref cui=>id&cat subject-cui))\n        (match-define (cons object object-category)\n                      (hash-ref cui=>id&cat object-cui))\n        (define (required-prop props key)\n          (define kv (assoc key props))\n          (and kv (cdr kv)))\n        (define type (or (required-prop props \"edge_label\")\n                         (required-prop props \"type\")\n                         (required-prop props \"predicate\")\n                         (error \"missing required property:\" id props)))\n        (define pid (add-predicate type))\n        (define (other-key? kv)\n          (not (ormap (lambda (k) (equal? k (car kv))) '(\"type\" \"edge_label\"))))\n        ;(define (other-key? kv) (not (equal? \"type\" (car kv))))\n        (set! subject=>edges\n          (hash-set subject=>edges subject\n                    (cons (edge->bytes\n                            (vector pid object-category object id))\n                          (hash-ref subject=>edges subject '()))))\n        (set! object=>edges\n          (hash-set object=>edges object\n                    (cons (edge->bytes\n                            (vector pid subject-category subject id))\n                          (hash-ref object=>edges object '()))))\n        (detail-write out-edges out-offset-edges\n                      (vector subject pid object (filter other-key? props)))\n        (set! id (+ id 1)))))\n\n  (define edges (tsv-records in-edge))\n  (define edgeprops (tsv-records in-edgeprop))\n  (define first-edge (edges 'next))\n  (define first-edgeprop (edgeprops 'next))\n  (when (not (and first-edge first-edgeprop)) (error \"empty edge files\"))\n  (match-define (list eid0 subject-cui object-cui) first-edge)\n  (match-define (list eid key raw-val) first-edgeprop)\n  (when (not (equal? eid0 eid)) (error \"mismatching edge ids:\" eid0 eid))\n\n  (let loop ((count 1) (current-eid eid) (subject-cui subject-cui)\n                       (object-cui object-cui))\n    (define props\n      (let loop-props ((row (edgeprops 'current)))\n        (match row\n          ((list (? (lambda (eid) (equal? current-eid eid))) key raw-val)\n           (cons (cons key (json-simplify raw-val))\n                 (loop-props (edgeprops 'next))))\n          (_ '()))))\n    (add-edge subject-cui object-cui props)\n    (when (= 0 (remainder count 100000))\n      (printf \"Processed ~s edges\\n\" count)\n      (flush))\n\n    (match (cons (edges 'next) (edgeprops 'current))\n      ((cons (list eid0 subject-cui object-cui) (list eid _ _))\n       (when (not (equal? eid0 eid)) (error \"mismatching edge ids:\" eid0 eid))\n       (loop (+ 1 count) eid subject-cui object-cui))\n      ((cons #f #f)\n       (printf \"Found ~s edges involving ~s predicates\\n\"\n               (- count 1) predicate-count)\n       (flush)\n       (define max-edges/src 0)\n       (for ((src-id (in-range 0 (+ 1 (hash-count cui=>id&cat)))))\n            (when (= 0 (remainder src-id 10000))\n              (printf \"Processed edges for ~s concepts\\n\" src-id)\n              (flush-output out-edges-by-subject)\n              (flush-output out-offset-edges-by-subject)\n              (flush-output out-edges-by-object)\n              (flush-output out-offset-edges-by-object))\n            (define (write-edges-by-X X=>edges out out-offset)\n              (define edges/src 0)\n              (offset-write out-offset (file-position out))\n              (for ((edge (sort (hash-ref X=>edges src-id '()) bytes<?)))\n                   (set! edges/src (+ edges/src 1))\n                   (write-bytes edge out))\n              (when (< max-edges/src edges/src)\n                (printf \"Max edges per source concept seen for ~s: ~s\\n\"\n                        src-id edges/src)\n                (set! max-edges/src edges/src)))\n            (write-edges-by-X\n              subject=>edges out-edges-by-subject out-offset-edges-by-subject)\n            (write-edges-by-X\n              object=>edges out-edges-by-object out-offset-edges-by-object)))\n      (_ (error \"malformed row(s):\" (edges 'current) (edgeprops 'current))))))\n\n(define (call-with-?-files cw?f paths proc)\n  (let loop ((paths paths) (ports '()))\n    (if (null? paths) (apply proc (reverse ports))\n      (cw?f (car paths)\n            (lambda (port) (loop (cdr paths) (cons port ports)))))))\n(define (call-with-output-files paths proc)\n  (call-with-?-files call-with-output-file paths proc))\n\n(printf \"Processing nodes:\\n\")\n(time (call-with-input-file\n        (graph-path fnin-nodeprop)\n        (lambda (in-nodeprop)\n          (validate-header nodeprop-header-expected in-nodeprop)\n          (call-with-output-files\n            (map graph-path (list fnout-concepts\n                                  (fname-offset fnout-concepts)\n                                  fnout-categories\n                                  fnout-concepts-by-category\n                                  (fname-offset fnout-concepts-by-category)))\n            (lambda out* (apply process-nodes in-nodeprop out*))))))\n\n(printf \"\\nProcessing edges:\\n\")\n(time (call-with-input-file\n        (graph-path fnin-edge)\n        (lambda (in-edge)\n          (validate-header edge-header-expected in-edge)\n          (call-with-input-file\n            (graph-path fnin-edgeprop)\n            (lambda (in-edgeprop)\n              (validate-header edgeprop-header-expected in-edgeprop)\n              (call-with-output-files\n                (map graph-path (list fnout-predicates\n                                      fnout-edges (fname-offset fnout-edges)\n                                      fnout-edges-by-subject\n                                      (fname-offset fnout-edges-by-subject)\n                                      fnout-edges-by-object\n                                      (fname-offset fnout-edges-by-object)))\n                (lambda out*\n                  (apply process-edges in-edge in-edgeprop out*))))))))\n"
  },
  {
    "path": "medikanren2/.clean.sh",
    "content": "#!/bin/bash\nadirRepo=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && cd .. && pwd )\"\nadirMk=\"$adirRepo/medikanren2\"\n\nset -o pipefail\ntouch \"$adirMk\"/junk.zo # avoid failure when already clean\nif ! find \"$adirMk\" -name \\*.zo | xargs -L1 rm\nthen\n  echo \"*** Warning *** .zo file deletion may not have been complete (e.g. due to spaces in filenames)\"\nfi\n"
  },
  {
    "path": "medikanren2/.compile.sh",
    "content": "#!/bin/bash\nif [ -z \"$adirRepo\" ]\nthen\n    echo -e \"*** ERROR ***\\n  Invoke with \\\".\\\" or \\\"source\\\" from another bash script\\n\" 1>&2\nelse\n    stepname=medikanren2_compile_trapi\n    if (cd \"$adirMk\" && raco make \"server.rkt\" ${rfileTests} )\n    then\n        echo \"$stepname\" > \"$adirArtifacts/status/pass/$stepname\"\n    else\n        echo \"$stepname\" > \"$adirArtifacts/status/fail/$stepname\"\n    fi\nfi"
  },
  {
    "path": "medikanren2/.data-directory-ci",
    "content": "etc/data-10GB-CI.yaml\n"
  },
  {
    "path": "medikanren2/.gitignore",
    "content": "/dbk/.git.backup\n/data\n/config.scm\n"
  },
  {
    "path": "medikanren2/.install_pkgs.sh",
    "content": "#!/bin/bash\n\nraco pkg install --auto --batch --fail-fast \\\n    chk \\\n    shell-pipeline \\\n    yaml \\\n    memoize \\\n    aws\n"
  },
  {
    "path": "medikanren2/.run_ci.sh",
    "content": "#!/bin/bash\nadirRepo=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && cd .. && pwd )\"\nadirMk=\"$adirRepo/medikanren2\"\nadirArtifacts=\"$adirRepo/ci_artifacts\"\n\n# Name files -spec.rkt to be auto-discovered as automated unit tests for the 10GB-CI run.\n\nrfileTests=$(cd \"$adirMk\" && \\\n    find . -name \\*-spec.rkt -a \\\n        \\( -path \\*/test/10GB-CI/\\* -o -not -path \\*/test/10GB-CI/\\* \\) )\n\nbash \"$adirMk/.clean.sh\"\n. \"$adirMk/.compile.sh\"\n\nfind \"$adirMk\" -name config\\*.scm\n\necho \"$adirMk/etc/config.installer.scm:\"\ncat \"$adirMk/etc/config.installer.scm\"\n\nif (cd \"$adirMk\" && env MK_STAGE=prod raco test ${rfileTests} )\nthen\n    echo medikanren_run_ci > \"$adirArtifacts/status/pass/medikanren2_run_ci\"\nelse\n    echo medikanren_run_ci > \"$adirArtifacts/status/fail/medikanren2_run_ci\"\nfi\n"
  },
  {
    "path": "medikanren2/base.rkt",
    "content": "#lang racket/base\n(provide cfg:config-ref cfg:load-config cfg:override-config\n         path-for-database source-path-for-database\n         (all-from-out \"dbk.rkt\") load-config\n         relation-name relation-definition-info relation-missing-data?\n         tagged-relation dynamic-relation relation-extensions database-extend-relations! database-load! database-unload!)\n(require\n  \"dbk.rkt\"\n  racket/list (except-in racket/match ==) racket/runtime-path racket/set\n  racket/dict racket/string\n  (prefix-in cfg: \"mkconfigref.rkt\"))\n\n(define-runtime-path path.root \".\")\n(define (path-simple path) (path->string (simplify-path path)))\n(define (path/root relative-path)\n  (path-simple (build-path path.root relative-path)))\n(define path.data (path/root \"data\"))\n(define (path/data relative-path)\n  (path-simple (build-path path.data relative-path)))\n\n(define (load-config (verbose? #t))\n  (cfg:load-config #t)\n  (cfg:override-dbkanren-defaults\n    (list (cons 'relation-root-path  path.data)\n          (cons 'temporary-root-path (path/data \"temporary\"))))\n  ;; populate configuration of dbKanren\n  (define config-for-dbkanren\n    (map (lambda (kv)\n      (define k (car kv))\n      (define v (cfg:config-ref k))\n      (cons k v))\n      (dict->list dbk:config.default)))\n  (dbk:current-config-set!/alist #;(dbk:current-config) config-for-dbkanren))\n\n(load-config #t)\n\n(define (version-for-database kgid)\n  (define version-for-database (cfg:config-ref 'version-for-database))\n  (if (dict-has-key? version-for-database kgid)\n    (dict-ref version-for-database kgid)\n    'ver-bogus  ;; Not a real version.  The system is designed to allow\n                ;; (require \"db/foodb.rkt\") without foodb actually being installed.\n                ;; Returning a bogus value will tell the system that the bogus\n                ;; database is not installed, which is ok.  Throwing an exception\n                ;; here will cause a crash if a database version is not specified,\n                ;; which is not ok.\n    ))\n\n(define (path-for-database kgid rel)\n  (define ver (version-for-database kgid))\n  (define path (string-join `(,(symbol->string kgid) ,(symbol->string ver) ,(symbol->string rel)) \"/\"))\n  path)\n\n(define (source-path-for-database kgid filename)\n  (define ver (version-for-database kgid))\n  (define path\n    (if filename\n      (string-join `(\"upstream\" ,(symbol->string kgid) ,(symbol->string ver) ,filename) \"/\")\n      (string-join `(\"upstream\" ,(symbol->string kgid) ,(symbol->string ver)) \"/\")))\n  path)\n\n(define (relation-name            r) (hash-ref (relations-ref r)            'name))\n(define (relation-definition-info r) (hash-ref (relations-ref r)            'definition-info))\n(define (relation-missing-data?   r) (hash-ref (relation-definition-info r) 'missing-data? #f))\n\n(define name.r=>tagged-relations   (hash))\n(define name.db=>name.r=>relations (hash))\n\n(define (database-extend-relations! name.db . extensions)\n  (define nr*s (plist->alist extensions))\n  (set! name.db=>name.r=>relations\n    (hash-update name.db=>name.r=>relations name.db\n                 (lambda (name=>relations)\n                   (foldl (lambda (name relation n=>rs)\n                            (hash-update n=>rs name\n                                         (lambda (rs) (cons relation rs))\n                                         '()))\n                          name=>relations (map car nr*s) (map cdr nr*s)))\n                 (hash))))\n\n(define (database-load! name.db)\n  (define name=>relations (hash-ref name.db=>name.r=>relations name.db\n                                    (lambda () (error \"unknown database:\" name.db))))\n  (define missing (filter-not not (append* (map (lambda (rs)\n                                                  (map (lambda (r)\n                                                         (and (relation-missing-data? r)\n                                                              (relation-name          r)))\n                                                       rs))\n                                                (hash-values name=>relations)))))\n  (unless (null? missing)\n    (error \"loaded database has relations that are missing data:\" name.db missing))\n  (define nr*s (hash->list name=>relations))\n  (set! name.r=>tagged-relations\n    (foldl (lambda (name relations n=>rs)\n             (define tagged-relations (list->set (map (lambda (r) (cons name.db r)) relations)))\n             (hash-update n=>rs name\n                          (lambda (rs) (set-union rs tagged-relations))\n                          (set)))\n           name.r=>tagged-relations (map car nr*s) (map cdr nr*s))))\n\n(define (database-unload! name.db)\n  (define name=>relations (hash-ref name.db=>name.r=>relations name.db\n                                    (lambda () (error \"unknown database:\" name.db))))\n  (define nr*s (hash->list name=>relations))\n  (set! name.r=>tagged-relations\n    (foldl (lambda (name relations n=>rs)\n             (define tagged-relations (list->set (map (lambda (r) (cons name.db r)) relations)))\n             (hash-update n=>rs name\n                          (lambda (rs) (set-subtract rs tagged-relations))\n                          (set)))\n           name.r=>tagged-relations (map car nr*s) (map cdr nr*s))))\n\n(define (relation-extensions name)\n  (set->list (hash-ref name.r=>tagged-relations name (set))))\n\n(define ((tagged-relation r tag . tag-positions) . args)\n  (let loop ((args args) (tag-positions tag-positions))\n    (match tag-positions\n      ('()                      (apply r args))\n      ((cons pos tag-positions) (fresh (x)\n                                  (== (list-ref args pos) (cons tag x))\n                                  (loop (list-set args pos x)\n                                        tag-positions))))))\n\n(define (dynamic-relation name . tag-positions)\n  (define extensions (relation-extensions name))\n  (define tagged-relations\n    (map (lambda (name.db r.db) (apply tagged-relation r.db name.db tag-positions))\n         (map car extensions)\n         (map cdr extensions)))\n  (lambda args\n    (foldl (lambda (r g)\n             (conde ((apply r args))\n                    (g)))\n           (== #f #t)\n           tagged-relations)))\n"
  },
  {
    "path": "medikanren2/chembl_sample_edge.rkt",
    "content": "- edge \n  :ID   :START                               :END\n  0     '<molecule_dictionary_CHEMBL_ID>'    '<target_dictionaryCHEMBL_ID>'\n  1     ...                                  ... \n\n- edgeprops \n  :ID   propname                  value\n  0     edge_label                '<relationship_typeRELATIONSHIP_DESC>'\n  0     subject_curie             '<molecule_dictionary_CHEMBL_ID>'\n  0     subject_name              {'string_names' : {'preferred_chemical_name' : '<molecule_dictionary_PREFNAME>' }\n                                                     'IUPAC_chemical_name' : '<compound_recordsCOMPOUND_NAME>' }\n  0     subject_curie_synonyms    {...?curie-synonyms?...}\n  0     subject_ontology_parent   {'cross_mapped_ontology_parent' : {CHEBI_parent : <molecule_dictionaryCHEBI_PAR_ID>}}>\n  0     object_curie              '<target_dictionaryCHEMBL_ID>'\n  0     object_name               '<target_dictionaryPREF_NAME>'\n  0     object_ontology_parent    {'cross_mapped_ontology_parent' : {...?UniProtKB:ProteinFamily?...}}>\n  0     object_curie_synonyms     {...?curie-synonyms?...}\n  0     simplified_edge_label     '<...?biolink-predicate?...>'\n  0     experimental_evidence     {'CHEMBL_27': {'assay_id' : '<activitiesASSAY_ID>'},\n                                                {'assay_publication_info' : {'assay_PMID' : '<docs_for_assayPUBMED_ID>',\n                                                                             'assay_DOI' : '<docs_for_assayDOI>',\n                                                                             'assay_description' : '<assaysDECRIPTION>',\n                                                                             'assay_curation_method' : '<assaysCURATED_BY>',\n                                                                             'assay_confidence_score' : '<assaysCONFIDENCE_SCORE>',\n                                                                             'assay_info_last_update' : '<assaysUPDATED_ON>',\n                                                                             'assay_publication_date' : '<docs_for_assayYEAR>',\n                                                                             'assay_publication_journal' : '<docs_for_assayJOURNAL>',\n                                                                             'assay_publication_title' : '<docs_for_assayTITLE>', \n                                                                             'assay_publication_authors' : '<docs_for_assayAUTHORS>',\n                                                                             'assay_publication_abstract' : '<docs_for_assayABSTRACT>'}},\n                                                {'assay_paramater_info' : {'assay_target_type' : '<target_dictionaryTARGET_TYPE>',\n                                                                           'assay_target_chembl_id' : '<target_dictionaryCHEMBL_ID>',\n                                                                           'assay_target_chembl_name' : '<target_dictionaryPREF_NAME>',\n                                                                           'assay_type' : '<assay_typeASSAY_DESC>',\n                                                                           'assay_organism' : '<assaysASSAY_ORGANISM>',\n                                                                           'assay_organism_taxon_id' : '<assaysASSAY_TAX_ID>',\n                                                                           'assay_tissue_type' : '<assayASSAY_TISSUE>',\n                                                                           'assay_tissue_type_curies' : '<target_dictionaryUBERON_ID>',\n                                                                           'assay_cell_type' : '<assaysASSAY_CELL_TYPE>',\n                                                                           'assay_cell_taxon' : {'<cell_dictionaryCELL_SOURCE_TAX_ID>'}\n                                                                           'assay_cell_type_curies' : {'<cell_dictionaryCLO_ID>',\n                                                                                                       '<cell_dictionaryEFO_ID>',\n                                                                                                       '<cell_dictionaryCELLOSAURUS_ID>',\n                                                                                                       '<cell_dictionaryCL_LINCS_ID>',\n                                                                                                       '<cell_dictionaryCELL_ONTOLOGY_ID>'}}},\n                                                {'assay_experimental_data' : {'assay_measurement_type' : '<activitiesSTANDARD_TYPE>',\n                                                                              'assay_measurment_relation' : '<activitiesSTANDARD_RELATION>'\n                                                                              'assay_measurment_value' : '<activitiesSTANDARD_VALUE>'\n                                                                              'assay_measurement_units' : '<activitiesSTANDARD_UNITS>',\n                                                                              'assay_chembl_pvalue' : '<activitiesPCHEMBL_VALUE>',\n                                                                              'assay_measurement_type_BAO_name' : '<bioassay_ontologyLABEL>'\n                                                                              'assay_measurement_type_BAO_curie' : '<activitiesBAO_END>'\n                                                                              'assay_measurement_units_UO_curie' : '<activitiesUO_UNITS>'\n                                                                              'assay_measurement_units_QUDT_id' : '<activitiesQUDT_UNITS>'}}}\n"
  },
  {
    "path": "medikanren2/common.rkt",
    "content": "#lang racket/base\n(provide (all-from-out \"base.rkt\"\n                       \"db/semmed.rkt\"\n                       \"db/rtx2-20210204.rkt\"\n                       \"db/kgx-synonym.rkt\") ; workaround:\n                                             ; so long as KGX_synonym isn't specified in config.scm\n                                             ; this won't signal an error even if KGX isn't present\n         cprop edge eprop\n         triple quad triple/eid is-a is-a/quad triple-property\n         write-list-to-tsv)\n \n(require \"base.rkt\"\n         racket/dict\n         (prefix-in semmed: \"db/semmed.rkt\")\n         (prefix-in rtx:    \"db/rtx2-20210204.rkt\")\n         (prefix-in kgx:    \"db/kgx-synonym.rkt\"))\n\n(printf \"Configuration says to load these databases: ~s\\n\" (cfg:config-ref 'databases))\n(for ((kgid (cfg:config-ref 'databases)))\n  (unless (dict-has-key? (cfg:config-ref 'version-for-database) kgid)\n    (printf \"Warning: no version-for-database information for ~a (check etc/config.installer.scm)\\n\" kgid)))\n(for-each database-load! (cfg:config-ref 'databases))\n\n;; TODO: define higher-level relations over the db-specific relations\n\n(define cprop (dynamic-relation 'cprop))\n;; tag argument 0 (the edge id) with database name\n(define edge  (dynamic-relation 'edge  0))\n(define eprop (dynamic-relation 'eprop 0))\n\n;; Semantic-web flavored relations\n\n(define-relation (rtx:triple s p o)\n    (fresh (id)\n      (rtx:eprop id \"predicate\" p)\n      (rtx:edge id s o)))\n\n(define-relation (semmed:triple s p o)\n    (fresh (id)\n      (semmed:eprop id \"edge_label\" p)\n      (semmed:edge id s o)))\n\n(define-relation (triple s p o)\n  (conde ((rtx:triple s p o))\n         ((semmed:triple s p o))))\n\n(define-relation (quad graph s p o)\n  (fresh (id)\n    (conde ((== graph rtx:kgid)\n            (rtx:triple s p o))\n           ((== graph 'semmed)\n            (semmed:triple s p o)))))\n\n(define-relation (triple/eid eid s p o)\n  (fresh (id graph)\n    (== eid `(,graph . ,id))\n    (conde ((== graph rtx:kgid)\n            (rtx:eprop id \"predicate\" p)\n            (rtx:edge id s o))\n           ((== graph 'semmed)\n            (semmed:eprop id \"edge_label\" p)\n            (semmed:edge id s o)))))\n\n(define-relation (is-a s c)\n  (cprop s \"category\" c))\n\n(define-relation (is-a/quad graph s c)\n  (conde ((== graph rtx:kgid)\n          (rtx:cprop s \"category\" c))\n         ((== graph 'semmed)\n          (semmed:cprop s \"category\" c))))\n\n(define-relation (triple-property s p o k v)\n  (fresh (eid id graph)\n    (== eid `(,graph . ,id))\n    (conde ((== graph rtx:kgid)\n            (rtx:eprop id \"predicate\" p)\n            (rtx:edge id s o)\n            (rtx:eprop id k v))\n           ((== graph 'semmed)\n            (semmed:eprop id \"edge_label\" p)\n            (semmed:edge id s o)\n            (semmed:eprop id k v)))))\n\n(define-relation (edge-predicate eid p)\n  (eprop eid \"predicate\" p))\n\n;; usage:\n;(run*/set/steps 500 x (syn* \"HGNC:5993\" x))\n \n(define write-list-to-tsv\n  (lambda (header-ls lol path)\n    (with-output-to-file path\n      ;; thunk -- procedure that takes no arguments\n      (lambda ()\n        (for-each\n          (lambda (l)\n            (let loop ([l l])\n              (cond\n                ((null? l)\n                 (error 'output-to-tsv \"where's the data!?\"))\n                ((null? (cdr l)) ;; l contains exactly 1 element\n                 (display (car l))\n                 (display #\\newline))\n                (else\n                 (display (car l))\n                 (display #\\tab)\n                 (loop (cdr l))))))\n          (cons header-ls lol)))\n      #:mode 'text\n      #:exists 'replace)))\n"
  },
  {
    "path": "medikanren2/configref.rkt",
    "content": "#lang racket \n(require\n    racket/runtime-path\n)\n(provide\n    config-ref\n    refresh-config\n    validate-config\n    config-combine\n    configlayer-ref\n    expose-configlayer\n    set-build-thunk!\n)\n\n;; The configuration layers\n(define config-by-cbranch (make-hash))\n(define (configlayer-ref cb cb-default)\n  (hash-ref config-by-cbranch cb cb-default))\n\n;; The active configuration, or #f if configuration needs to be rebuilt\n(define box:config (box #f))\n(define box:build-config (box (lambda () '())))\n(define (set-build-thunk! build-config)\n  (set-box! box:build-config build-config))\n\n(define (config-current)\n  (define cfg (unbox box:config))\n  (cond (cfg cfg)\n        (else (refresh-config)\n              (unbox box:config))))\n(define ((expose-configlayer cbranch) config)\n  (validate-config config)\n  (hash-set! config-by-cbranch cbranch config)\n  (set-box! box:config #f))\n(define (config-ref key #:testing-dict (dict-config (config-current)))\n  (define kv (assoc key dict-config))\n  (unless kv (error \"missing configuration key:\" key))\n  (cdr kv))\n(define (valid-entry? kv)\n  (and (pair? kv) (symbol? (car kv))))\n(define (validate-config config)\n  (unless (and (list? config) (andmap valid-entry? config))\n    (error \"invalid configuration:\" config))\n)\n;;; config-combine\n;; Default configs go last, and must contain a superset of all config keys.\n;; Could be faster, but intended to only be run once at startup.\n(define (config-combine . configs)\n  (define (find k configs)\n    (when (empty? configs)\n      (error \"config defaults must contain a superset of all other config keys\"))\n    (define kv (assoc k (car configs)))\n    (if kv\n      (cdr kv)\n      (find k (cdr configs))))\n  (define ks (map car (last configs)))\n  (map (lambda (k)\n    (cons k (find k configs)))\n    ks)\n)\n\n(define (refresh-config)\n  (define config-new ((unbox box:build-config)))\n  ; (printf \"refresh-config:\\n\")\n  ; (pretty-write config-new)\n  (set-box! box:config config-new))\n\n(module+ test\n  ; has required package:\n  ;   raco pkg install chk\n  ;\n  ; how to run tests:\n  ;   (cd medikanren && raco test configref.rkt)\n\n  (require chk)\n\n  ; test config-ref\n  (chk\n      #:= (config-ref 'foo #:testing-dict '((foo . 1))) 1)\n  (chk\n      #:do (config-ref 'foo #:testing-dict '((foo . 1)))\n      #:t #t)\n  (chk\n      #:x (config-ref 'foo #:testing-dict '((bar . 1))) \"missing configuration key\")\n\n  ; test validate-config\n  (chk #:x (validate-config (vector)) \"invalid configuration\")\n  (chk #:x (validate-config '(())) \"invalid configuration\")\n  (chk #:x (validate-config '((\"foo\" . 1))) \"invalid configuration\")\n  (chk\n      #:do (validate-config '((foo . 1)))\n      #:t #t)\n\n\n  ; test config-combine\n  (chk #:=\n    (config-ref 'foo #:testing-dict\n      (config-combine '((foo . 1)) '((foo . 2)) ))\n    1)\n  (chk #:=\n    (config-ref 'foo #:testing-dict\n      (config-combine '((foo . 1)) '((foo . 2)) '((foo . 3)) ))\n    1)\n  (chk #:=\n    (config-ref 'foo #:testing-dict\n      (config-combine '() '((foo . 2)) ))\n    2)\n  (chk #:=\n    (config-ref 'foo #:testing-dict\n      (config-combine '((foo . 1)) '((foo . 2) (bar . 1)) ))\n    1)\n\n  ; test override-config\n  #;(chk\n    #:do ((expose-configlayer 'override-test) '())\n    #:do (override-config '((query-results.file-name-human . \"last.txt\")))\n    #:= (config-ref 'query-results.file-name-human) \"last.txt\"\n    )\n  #;(chk\n    #:do ((expose-configlayer 'override-test) '((query-results.file-name-human . \"last.txt\")))\n    #:do (override-config '())\n    #:= (config-ref 'query-results.file-name-human) \"last.txt\"\n    )\n  #;(chk\n    #:do ((expose-configlayer 'override-test) '((query-results.file-name-human . \"last.txt\")))\n    #:do (override-config '((query-results.file-name-human . \"bob\")))\n    #:= (config-ref 'query-results.file-name-human) \"bob\"\n    )\n)"
  },
  {
    "path": "medikanren2/connect_dbk_to_sql.rkt",
    "content": "#lang racket/base\n(require db\n         racket/sequence\n         racket/stream\n         racket/list\n         racket/string\n         db/util/datetime\n         srfi/19\n         )\n\n;; create sql connection object\n(define sql_server\n  (mysql-connect\n   #:user \"\"\n   #:database \"\"\n   #:server \"\"\n   #:port \n   #:password \"\"))\n\n;; #:fetch 1 = lazy\n;; #:fetch +inf.0 = entire table \n(define query-->stream\n  (lambda (db-conn query)\n    (sequence->stream\n     (in-query\n      db-conn\n      query\n      #:fetch +inf.0\n      ;;#:fetch 1 \n      ))))\n\n(define normalize-string-for-TSV-export\n  (lambda (row-item)\n    (string-normalize-spaces\n     (string-trim\n      (list->string\n       (remove #\\tab\n               (remove #\\newline\n                       (string->list row-item))))))))\n\n(define row-item-cleaner\n  (lambda (row-item)\n    (cond\n      ((boolean? row-item)\n       row-item)\n      ((sql-null? row-item) \n       \"NULL\")\n      ((sql-timestamp? row-item)\n       (date->string (sql-datetime->srfi-date row-item) \"~1\"))\n      ((string? row-item)\n       (cond\n         ((or (string-contains? row-item \"\\t\")\n              (string-contains? row-item \"\\n\"))\n          (normalize-string-for-TSV-export row-item))\n         (else\n          (string-normalize-spaces row-item))))      \n      (else\n       row-item))))\n\n(define print-table-row-to-TSV\n  (lambda (ls port)\n    (cond\n      ((null? ls)       \n       (fprintf port \"~c\" #\\newline)\n       (void))      \n      ((null? (cdr ls))\n       (fprintf port \"~a\" (row-item-cleaner (car ls)))\n       (print-table-row-to-TSV (cdr ls) port))\n      (else\n       (fprintf port \"~a~c\" (row-item-cleaner (car ls)) #\\tab)\n       (print-table-row-to-TSV (cdr ls) port)))))\n\n(define process-stream-to-TSV\n  (lambda (stream port)\n    (cond\n      ((stream-empty? stream)\n       (void))\n      (else\n       (begin\n         (print-table-row-to-TSV (call-with-values (lambda () (stream-first stream)) list) port)\n         (process-stream-to-TSV (stream-rest stream) port))))))\n\n\n(define get-table-col-names-from-table-list\n  (lambda (db-conn tbl-names/ls els)\n    (cond\n      ((null? tbl-names/ls)\n       (flatten els))\n      (else\n       (get-table-col-names-from-table-list\n        db-conn\n        (cdr tbl-names/ls)\n        (reverse (cons (map (lambda (x) (vector-ref x 0))\n                            (query-rows db-conn (string-append \"DESCRIBE \" (car tbl-names/ls)))) els)))))))\n\n\n(define export-query-result-to-TSV/with-table-names\n  (lambda (db-conn tbl-names/ls query)\n    (let* ((tbl-col-names (get-table-col-names-from-table-list db-conn tbl-names/ls '()))\n           (output-file (open-output-file\n                         (format\n                          (find-system-path 'home-dir)                          \n                          (string-join tbl-names/ls \"_join_\")\n                          ) #:exists 'replace))  \n           (stream (query-->stream db-conn query)))\n      (begin\n        (print-table-row-to-TSV tbl-col-names output-file)\n        (process-stream-to-TSV stream output-file)\n        (close-output-port output-file)))))\n\n;;(export-query-result-to-TSV/with-table-names sql_server '(\"<table1>\" \"<table2>\") \"<query>;\")\n\n"
  },
  {
    "path": "medikanren2/db/clinical_kg.rkt",
    "content": "#lang racket/base\n;; provide will load the materialized relation defined below\n(provide patient-clinical-data)\n(require \"../base.rkt\" (except-in racket/match ==))\n\n(define path-clinical-data )\n\n(define path-demographic-data )\n\n(define in (open-input-file path-clinical-data))\n\n\n(define-relation/table patient-clinical-data\n  'path               \"uab_emr_covid/patient_clinical_data\"\n  'source-file-path   path-clinical-data\n  'source-file-header '(\"patient_id\" \"date_time\" \"type_curie\" \"type_string\" \"type_value\" \"type_unit\")\n  'attribute-names    '(patient_id date_time type_curie type_string type_value type_unit)\n  ;; #f in the attrib-type means \"any\" type\n  'attribute-types    '(nat nat string string string string)\n  'map (value/syntax\n         (lambda (row)\n           (match-define (list patient_id date_time type_curie type_string type_value type_unit) row)\n           (list (string->number patient_id)\n                 (string->number date_time)\n                 type_curie\n                 type_string\n                 type_value\n                 type_unit)))\n  ;; if you know curie and value, you can get a pointer to all other data\n  'indexes '((type_curie type_value)\n             (patient_id type_curie type_value)\n             ))\n"
  },
  {
    "path": "medikanren2/db/kgx-synonym.rkt",
    "content": "#lang racket/base\n(provide synonym)\n\n(require json \"../base.rkt\" (except-in racket/match ==))\n\n\n(define edge-keys '(subject object predicate id source_database))\n\n;(define in-edge (open-input-file \"../data/KGX_NN_data_2021-03-11_edges.jsonl\"))\n\n(define kgid 'kgx-synonym)\n\n(define-relation/table synonym\n  'path                 (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          (path-for-database kgid 'synonym)\n                          \"kgx-synonym/010\")\n  'attribute-names edge-keys\n  'attribute-types '(string string string string string)\n  'indexes '((object subject))\n  #|'source-stream (value/syntax\n                  (let loop ()\n                    (lambda ()\n                      (define line (read-line (open-input-file \"../data/KGX_NN_data_2021-03-11_edges.jsonl\")))\n                      (cond ((eof-object? line) '())\n                            (else\n                             (define row-edge (string->jsexpr line))\n                             (cons (map (lambda (k) (hash-ref row-edge k)) edge-keys)\n                                   (loop)))))))|#\n  )\n\n(database-extend-relations!\n  'kgx-synonym\n  'synonym synonym)\n"
  },
  {
    "path": "medikanren2/db/rtx2-20210204.rkt",
    "content": "#lang racket/base\n(provide kgid concept cprop edge eprop\n         subclass-of subclass-of+ subclass-of*)\n(require \"../base.rkt\" (except-in racket/match ==))\n(require \"../string-search.rkt\")\n\n(define kgid\n  (if (cfg:config-ref 'migrated-to-new-db-versioning)\n      'rtx-kg2\n      'rtx2-20210204))\n\n;; TODO: this might be useful later\n;(define-relation/table concept\n  ;'path               \"rtx2/20210204/concept\"\n  ;'source-file-path   \"rtx2/20210204/rtx_kg2.node.tsv\"\n  ;'source-file-header '(\":ID\")\n  ;'attribute-names    '(curie)\n  ;'attribute-types    '(string))\n(define-relation (concept curie)\n  (fresh (k v)\n    (cprop curie k v)))\n\n(define-relation/table cprop\n  'path               (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          (path-for-database kgid 'cprop)\n                          \"rtx2/20210204/cprop\")\n  'source-file-path   (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          \"upstream/rtx-kg2/rtx_kg2.nodeprop.tsv\"          ; TODO kip: migrated-to-new-db-versioning\n                          \"rtx2/20210204/rtx_kg2.nodeprop.tsv\")\n  'source-file-header '(:ID propname value)\n  'attribute-names    '(curie key value)\n  'attribute-types    '(string string string)\n  'tables             '((curie key value))\n  'indexes            '((key value)))\n\n(string-search-init-rel cprop)\n\n(define-relation/table edge\n  'path               (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          (path-for-database kgid 'edge)\n                          \"rtx2/20210204/edge\")\n  'source-file-path   (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          \"upstream/rtx-kg2/rtx_kg2.edge.tsv\"              ; TODO kip: migrated-to-new-db-versioning\n                          \"rtx2/20210204/rtx_kg2.edge.tsv\")\n  'source-file-header '(\":ID\" \":START\" \":END\")\n  'map                (value/syntax\n                        (lambda (row)\n                          (match-define (list id subject object) row)\n                          (list (string->number id) subject object)))\n  'attribute-names    '(id subject object)\n  'attribute-types    '(nat string string)\n  'indexes            '((subject object)\n                        (object subject)))\n\n(define-relation/table eprop\n  'path               (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          (path-for-database kgid 'eprop)\n                          \"rtx2/20210204/eprop\")\n  'source-file-path   (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          \"upstream/rtx-kg2/rtx_kg2.edgeprop.tsv\"          ; TODO kip: migrated-to-new-db-versioning\n                          \"rtx2/20210204/rtx_kg2.edgeprop.tsv\")\n  'source-file-header '(\":ID\" \"propname\" \"value\")\n  'map                (value/syntax\n                        (lambda (row)\n                          (match-define (list id key value) row)\n                          (list (string->number id) key value)))\n  'attribute-names    '(id key value)\n  'attribute-types    '(nat string string)\n  'indexes            '((key value)))\n\n(define-relation (subclass-of a b)\n  (fresh (eid)\n    (eprop eid \"predicate\" \"biolink:subclass_of\")\n    (edge eid a b)))\n\n(define-relation (subclass-of+ a b)\n  (conde ((subclass-of a b))\n         ((fresh (mid)\n            (subclass-of mid b)\n            (subclass-of+ a mid)))))\n\n(define-relation (subclass-of* a b)\n  (conde ((== a b))\n         ((subclass-of+ a b))))\n\n(database-extend-relations!\n  kgid\n  'cprop cprop\n  'eprop eprop\n  'edge  edge)\n"
  },
  {
    "path": "medikanren2/db/rtx2-biolink_2_1_2021_07_28.rkt",
    "content": "#lang racket/base\n(provide concept cprop edge eprop\n         subclass-of subclass-of+ subclass-of*)\n(require \"../base.rkt\" (except-in racket/match ==))\n(require \"../string-search.rkt\")\n\n;; TODO: this might be useful later\n;(define-relation/table concept\n  ;'path               \"rtx2/biolink_2_1_2021_07_28/concept\"\n  ;'source-file-path   \"rtx2/biolink_2_1_2021_07_28/rtx_kg2.node.tsv\"\n  ;'source-file-header '(\":ID\")\n  ;'attribute-names    '(curie)\n  ;'attribute-types    '(string))\n(define-relation (concept curie)\n  (fresh (k v)\n    (cprop curie k v)))\n\n(define-relation/table cprop\n  'path               \"rtx2/biolink_2_1_2021_07_28/cprop\"\n  'source-file-path   \"rtx2/biolink_2_1_2021_07_28/rtx_kg2.nodeprop.tsv\"\n  'source-file-header '(:ID propname value)\n  'attribute-names    '(curie key value)\n  'attribute-types    '(string string string)\n  'tables             '((curie key value))\n  'indexes            '((key value)))\n\n(string-search-init-rel cprop)\n\n(define-relation/table edge\n  'path               \"rtx2/biolink_2_1_2021_07_28/edge\"\n  'source-file-path   \"rtx2/biolink_2_1_2021_07_28/rtx_kg2.edge.tsv\"\n  'source-file-header '(\":ID\" \":START\" \":END\")\n  'map                (value/syntax\n                        (lambda (row)\n                          (match-define (list id subject object) row)\n                          (list (string->number id) subject object)))\n  'attribute-names    '(id subject object)\n  'attribute-types    '(nat string string)\n  'indexes            '((subject object)\n                        (object subject)))\n\n(define-relation/table eprop\n  'path               \"rtx2/biolink_2_1_2021_07_28/eprop\"\n  'source-file-path   \"rtx2/biolink_2_1_2021_07_28/rtx_kg2.edgeprop.tsv\"\n  'source-file-header '(\":ID\" \"propname\" \"value\")\n  'map                (value/syntax\n                        (lambda (row)\n                          (match-define (list id key value) row)\n                          (list (string->number id) key value)))\n  'attribute-names    '(id key value)\n  'attribute-types    '(nat string string)\n  'indexes            '((key value)))\n\n(define-relation (subclass-of a b)\n  (fresh (eid)\n    (eprop eid \"predicate\" \"biolink:subclass_of\")\n    (edge eid a b)))\n\n(define-relation (subclass-of+ a b)\n  (conde ((subclass-of a b))\n         ((fresh (mid)\n            (subclass-of mid b)\n            (subclass-of+ a mid)))))\n\n(define-relation (subclass-of* a b)\n  (conde ((== a b))\n         ((subclass-of+ a b))))\n\n(database-extend-relations!\n  'rtx2-biolink_2_1_2021_07_28\n  'cprop cprop\n  'eprop eprop\n  'edge  edge)\n"
  },
  {
    "path": "medikanren2/db/rtx2-biolink_2_1_2021_08_04_condensed.rkt",
    "content": "#lang racket/base\n(provide concept cprop edge eprop\n         subclass-of subclass-of+ subclass-of*)\n(require \"../base.rkt\" (except-in racket/match ==))\n(require \"../string-search.rkt\")\n\n;; TODO: this might be useful later\n;(define-relation/table concept\n  ;'path               \"rtx2/biolink_2_1_2021_08_04_condensed/concept\"\n  ;'source-file-path   \"rtx2/biolink_2_1_2021_08_04_condensed/rtx_kg2.node.tsv\"\n  ;'source-file-header '(\":ID\")\n  ;'attribute-names    '(curie)\n  ;'attribute-types    '(string))\n(define-relation (concept curie)\n  (fresh (k v)\n    (cprop curie k v)))\n\n(define-relation/table cprop\n  'path               \"rtx2/biolink_2_1_2021_08_04_condensed/cprop\"\n  'source-file-path   \"rtx2/biolink_2_1_2021_08_04_condensed/rtx_kg2.nodeprop.tsv\"\n  'source-file-header '(:ID propname value)\n  'attribute-names    '(curie key value)\n  'attribute-types    '(string string string)\n  'tables             '((curie key value))\n  'indexes            '((key value)))\n\n(string-search-init-rel cprop)\n\n(define-relation/table edge\n  'path               \"rtx2/biolink_2_1_2021_08_04_condensed/edge\"\n  'source-file-path   \"rtx2/biolink_2_1_2021_08_04_condensed/rtx_kg2.edge.tsv\"\n  'source-file-header '(\":ID\" \":START\" \":END\")\n  'map                (value/syntax\n                        (lambda (row)\n                          (match-define (list id subject object) row)\n                          (list (string->number id) subject object)))\n  'attribute-names    '(id subject object)\n  'attribute-types    '(nat string string)\n  'indexes            '((subject object)\n                        (object subject)))\n\n(define-relation/table eprop\n  'path               \"rtx2/biolink_2_1_2021_08_04_condensed/eprop\"\n  'source-file-path   \"rtx2/biolink_2_1_2021_08_04_condensed/rtx_kg2.edgeprop.tsv\"\n  'source-file-header '(\":ID\" \"propname\" \"value\")\n  'map                (value/syntax\n                        (lambda (row)\n                          (match-define (list id key value) row)\n                          (list (string->number id) key value)))\n  'attribute-names    '(id key value)\n  'attribute-types    '(nat string string)\n  'indexes            '((key value)))\n\n(define-relation (subclass-of a b)\n  (fresh (eid)\n    (eprop eid \"predicate\" \"biolink:subclass_of\")\n    (edge eid a b)))\n\n(define-relation (subclass-of+ a b)\n  (conde ((subclass-of a b))\n         ((fresh (mid)\n            (subclass-of mid b)\n            (subclass-of+ a mid)))))\n\n(define-relation (subclass-of* a b)\n  (conde ((== a b))\n         ((subclass-of+ a b))))\n\n(database-extend-relations!\n  'rtx2-biolink_2_1_2021_08_04_condensed\n  'cprop cprop\n  'eprop eprop\n  'edge  edge)\n"
  },
  {
    "path": "medikanren2/db/semmed.rkt",
    "content": "#lang racket/base\n(provide concept cprop edge eprop)\n(require \"../base.rkt\" (except-in racket/match ==))\n(require \"../string-search.rkt\")\n\n;; TODO: this might be useful later\n;(define-relation/table concept\n  ;'path               \"semmed/concept\"\n  ;'source-file-path   \"semmed/semmed.node.csv\"\n  ;'source-file-header '(\":ID\")\n  ;'attribute-names    '(curie)\n  ;'attribute-types    '(string))\n(define-relation (concept curie)\n  (fresh (k v)\n    (cprop curie k v)))\n\n(define-relation/table cprop\n  'path               \"semmed/cprop\"\n  'source-file-path   \"semmed/semmed.nodeprop.csv\"\n  'source-file-header '(:ID propname value)\n  'attribute-names    '(curie key value)\n  'attribute-types    '(string string string)\n  'tables             '((curie key value))\n  'indexes            '((key value)\n                        (value))\n  ;; specifying retrieval-type is optional (default is disk)\n  'retrieval-type     'disk\n  ;'retrieval-type     'bytes\n  ;'retrieval-type     'scm\n  )\n\n(string-search-init-rel cprop)\n\n(define-relation/table edge\n  'path               \"semmed/edge\"\n  'source-file-path   \"semmed/semmed.edge.csv\"\n  'source-file-header '(\":ID\" \":START\" \":END\")\n  'map                (value/syntax\n                        (lambda (row)\n                          (match-define (list id subject object) row)\n                          (list (string->number id) subject object)))\n  'attribute-names    '(id subject object)\n  'attribute-types    '(nat string string)\n  'indexes            '((subject object)\n                        (object subject)))\n\n(define-relation/table eprop\n  'path               \"semmed/eprop\"\n  'source-file-path   \"semmed/semmed.edgeprop.csv\"\n  'source-file-header '(\":ID\" \"propname\" \"value\")\n  'map                (value/syntax\n                        (lambda (row)\n                          (match-define (list id key value) row)\n                          (list (string->number id) key value)))\n  'attribute-names    '(id key value)\n  'attribute-types    '(nat string string)\n  'indexes            '((key value)\n                        (value)))\n\n(database-extend-relations!\n  'semmed\n  'cprop cprop\n  'eprop eprop\n  'edge  edge)\n"
  },
  {
    "path": "medikanren2/db/sri-reference-kg-0.3.0.rkt",
    "content": "#lang racket\n(provide nodes edges)\n(require \"../base.rkt\" (except-in racket/match ==))\n\n(define columns-of-nodes\n'(\n    id name category description xref ;0-4\n    provided_by synonym anonymous clique_leader comment ;5-9\n    created deprecated election_strategy gene_associated_with_condition genomic_sequence_localization_object\n    has_url has_value identifier in_taxon invalid_biolink_category ;15-19\n    iri mentions position same_as some_values_from ; 20-24\n    source_version subsets title type _invalid_category) ;25-29\n)\n(define stcolumns-of-nodes (map symbol->string columns-of-nodes))\n\n(define-relation/table nodes\n  'path               \"sri-reference/0.3.0/nodes\"\n  'source-file-path   \"sri-reference/0.3.0/sri-reference-kg-0.3.0_nodes_nocr.tsv\"\n  'source-file-header columns-of-nodes\n  'attribute-names    '(id subject object)\n  'attribute-types    '(string string string)\n  'map/append          (value/syntax\n                        (lambda (row)\n                          (define id (car row))\n                          (append-map\n                           (lambda (k v)\n                             (if (equal? v \"\")\n                                 '()\n                                 (list (list id k v))))\n                           (cdr stcolumns-of-nodes)\n                           (cdr row))))\n;  'tables             '((curie name value))\n;  'indexes            '((name value))\n  )\n\n(define columns-of-edges\n'(id subject edge_label object relation\n  provided_by assertion_confidence_score comment created_on description\n  frequency_of_phenotype has_evidence has_measurement_value has_quantifier has_sex_specificity\n  onset source type xref\n))\n(define stcolumns-of-edges (map symbol->string columns-of-edges))\n\n(define-relation/table edges\n  'path               \"sri-reference/0.3.0/edges\"\n  'source-file-path   \"sri-reference/0.3.0/sri-reference-kg-0.3.0_edges_nocr.tsv\"\n  'source-file-header columns-of-edges\n  'attribute-names    '(id subject object)\n  'attribute-types    '(string string string)\n  'map/append          (value/syntax\n                        (lambda (row)\n                          (define id (car row))\n                          (append-map\n                           (lambda (k v)\n                             (if (equal? v \"\")\n                                 '()\n                                 (list (list id k v))))\n                           (cdr stcolumns-of-edges)\n                           (cdr row))))\n  'indexes            '(                  ; default index is: id subject object\n                        (subject object)  ; implicit: lookup ending in id\n                        (object subject)) ; implicit: lookup ending in id\n)\n\n(database-extend-relations!\n  'sri-reference-kg-0.3.0\n  '???nodes nodes\n  '???edges edges)\n"
  },
  {
    "path": "medikanren2/db/yeast-micro-sri-reference-kg-0.3.0.rkt",
    "content": "#lang racket\n(provide\n  tabled-relations nodes edges\n)\n\n#|\n  Extract from source data and rebuild with:\n\n    time python medikanren2/util/storage-size-workaround/s-cerevisiae-kg-ref-ll.py && \\\n    rm -rf medikanren2/data/yeast-sri-reference && \\\n    time racket -l errortrace -u medikanren2/db/yeast-sri-reference-kg-0.3.0.rkt\n|#\n\n\n(require \"../base.rkt\" (except-in racket/match ==))\n(require \"../string-search.rkt\")\n\n(define columns-of-nodes \n'(\n    id name category description xref ;0-4\n    provided_by synonym anonymous clique_leader comment ;5-9\n    created deprecated election_strategy gene_associated_with_condition genomic_sequence_localization_object\n    has_url has_value identifier in_taxon invalid_biolink_category ;15-19\n    iri mentions position same_as some_values_from ; 20-24\n    source_version subsets title type _invalid_category) ;25-29\n)\n(define stcolumns-of-nodes (map symbol->string columns-of-nodes))\n\n(define-relation/table nodes\n  'path               \"yeast-micro-sri-reference/0.3.0c/nodes\"\n  'source-file-path   \"upstream/yeast-micro-sri-reference/0.3.0c/nodes.tsv\"\n  'source-file-header columns-of-nodes\n  'attribute-names    '(id subject object)\n  'attribute-types    '(string string string)\n  'map/append          (value/syntax\n                        (lambda (row)\n                          (define id (car row))\n                          (append-map\n                           (lambda (k v)\n                             (if (equal? v \"\")\n                                 '()\n                                 (list (list id k v))))\n                           (cdr stcolumns-of-nodes)\n                           (cdr row))))\n;  'tables             '((curie name value))\n;  'indexes            '((name value))\n  )\n\n(string-search-init-rel nodes)\n\n(define columns-of-edges\n'(id subject edge_label object relation\n  provided_by assertion_confidence_score comment created_on description\n  frequency_of_phenotype has_evidence has_measurement_value has_quantifier has_sex_specificity\n  onset source type xref\n))\n(define stcolumns-of-edges (map symbol->string columns-of-edges))\n\n(define-relation/table edges\n  'path               \"yeast-micro-sri-reference/0.3.0c/edges\"\n  'source-file-path   \"upstream/yeast-micro-sri-reference/0.3.0c/edges.tsv\"\n  'source-file-header columns-of-edges\n  'attribute-names    '(id subject object)\n  'attribute-types    '(string string string)\n  'map/append          (value/syntax\n                        (lambda (row)\n                          (define id (car row))\n                          (append-map\n                           (lambda (k v)\n                             (if (equal? v \"\")\n                                 '()\n                                 (list (list id k v))))\n                           (cdr stcolumns-of-edges)\n                           (cdr row))))\n  'indexes            '(                  ; default index is: id subject object\n                        (subject object)  ; implicit: lookup ending in id\n                        (object subject)) ; implicit: lookup ending in id\n)\n\n(define tabled-relations (list nodes edges))\n"
  },
  {
    "path": "medikanren2/db/yeast-sri-reference-kg-0.3.0.rkt",
    "content": "#lang racket\n(provide nodes edges)\n\n#|\n  Extract from source data and rebuild with:\n\n    time python medikanren2/util/storage-size-workaround/s-cerevisiae-kg-ref-ll.py && \\\n    rm -rf medikanren2/data/yeast-sri-reference && \\\n    time racket -l errortrace -u medikanren2/db/yeast-sri-reference-kg-0.3.0.rkt\n|#\n\n\n(require \"../base.rkt\" (except-in racket/match ==))\n(require \"../string-search.rkt\")\n\n(define columns-of-nodes\n'(\n    id name category description xref ;0-4\n    provided_by synonym anonymous clique_leader comment ;5-9\n    created deprecated election_strategy gene_associated_with_condition genomic_sequence_localization_object\n    has_url has_value identifier in_taxon invalid_biolink_category ;15-19\n    iri mentions position same_as some_values_from ; 20-24\n    source_version subsets title type _invalid_category) ;25-29\n)\n(define stcolumns-of-nodes (map symbol->string columns-of-nodes))\n\n(define kgid 'yeast-sri-reference)\n\n(define-relation/table nodes\n  'path               (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          (path-for-database kgid 'nodes)\n                          \"yeast-sri-reference/0.3.0b/nodes\")\n  'source-file-path   \"yeast-sri-reference/0.3.0b/simulation-of-upstream/sri-reference-kg-0.3.0_nodes_nocr.tsv\"\n  'source-file-header columns-of-nodes\n  'attribute-names    '(id subject object)\n  'attribute-types    '(string string string)\n  'map/append          (value/syntax\n                        (lambda (row)\n                          (define id (car row))\n                          (append-map\n                           (lambda (k v)\n                             (if (equal? v \"\")\n                                 '()\n                                 (list (list id k v))))\n                           (cdr stcolumns-of-nodes)\n                           (cdr row))))\n;  'tables             '((curie name value))\n;  'indexes            '((name value))\n  )\n\n(string-search-init-rel nodes)\n\n(define columns-of-edges\n'(id subject edge_label object relation\n  provided_by assertion_confidence_score comment created_on description\n  frequency_of_phenotype has_evidence has_measurement_value has_quantifier has_sex_specificity\n  onset source type xref\n))\n(define stcolumns-of-edges (map symbol->string columns-of-edges))\n\n(define-relation/table edges\n  'path               (if (cfg:config-ref 'migrated-to-new-db-versioning)\n                          (path-for-database kgid 'edges)\n                          \"yeast-sri-reference/0.3.0b/edges\")\n  'source-file-path   \"yeast-sri-reference/0.3.0b/simulation-of-upstream/sri-reference-kg-0.3.0_edges_nocr.tsv\"\n  'source-file-header columns-of-edges\n  'attribute-names    '(id subject object)\n  'attribute-types    '(string string string)\n  'map/append          (value/syntax\n                        (lambda (row)\n                          (define id (car row))\n                          (append-map\n                           (lambda (k v)\n                             (if (equal? v \"\")\n                                 '()\n                                 (list (list id k v))))\n                           (cdr stcolumns-of-edges)\n                           (cdr row))))\n  'indexes            '(                  ; default index is: id subject object\n                        (subject object)  ; implicit: lookup ending in id\n                        (object subject)) ; implicit: lookup ending in id\n)\n\n(database-extend-relations!\n  kgid\n  '???nodes nodes\n  '???edges edges)\n"
  },
  {
    "path": "medikanren2/dbk/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2020 Gregory Rosenblatt\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "medikanren2/dbk/README.md",
    "content": "# dbKanren\n\nThis implementation of Kanren supports defining, and efficiently querying,\nlarge-scale relations.\n\nTypical use:\n\n```\n(require \"PATH-TO-DBKANREN/dbk.rkt\")\n```\n\n\n## TODO\n\n* local relation definitions\n  * expressing subqueries by capturing other vars\n\n* a smaller extended syntax\n  * logical connectives (not, and, or)\n  * apply for relations\n  * anonymous vars\n\n* support void values? (have to stop overloading the meaning of void everywhere)\n\n* GOO join heuristic\n\n* implement checkpointing to avoid losing work with a long materialization process\n\n* `explain` for extracting the database subset needed to reproduce a query's results\n  * with each result, run an instrumented query to record supporting facts\n  * there may be redundancy (one result could be computed in multiple ways)\n\n* only register `c:table` with the subset of variables that are indexable\n* factor out table choosing\n\n* redesign tables, indexing, variable ordering heuristics\n  * to get array-based lookup, specify appropriate column constraints\n  * also, define tables that use column-oriented layout\n  * identify most-constrained-variable more appropriately\n    * simple cardinality (minimum-remaining-values) heuristic is not effective\n    * cardinality is innaccurate since we only track bounds and don't eagerly\n      maintain arc consistency\n    * instead of MRV heuristic, a better heuristic considers how variables\n      constrain relations\n      * ~~rank relation constraints by the ratio of rows `remaining/total`~~\n        * ~~a constraint's remaining rows are those whose first column value\n          falls within the constraint's corresponding variable's bounds~~\n        * smallest ratio wins, choose that constraint's first column variable\n      * it may also make sense to consider all the ratios a variable\n        participates in, and rank variables by some function on these ratios\n        * e.g., could take minimum (described above), could multiply, etc.\n    * we can speculatively compute a fixed number of members of a variable's\n      finite domain, working inward from its bounds, to improve accuracy\n      * helps accuracy of both MRV and most-constrained-relation heuristic\n    * maybe augment this heuristic with consideration of a variable's\n      index-path effectiveness (i.e., starting at this variable makes it easy\n      to efficiently use other indexes)\n      * see index-based path-finding below\n  * maybe support intra-table/inter-table selectivity hints\n    * intra: how many values of attr A do you get when setting attrs B, C, etc.?\n      * degree constraints\n      * could also declare that a column's values appear frequently\n        * if they appear frequently, constraints to that column should not\n          constrain other columns much\n    * inter: `(conj (P a b c) (Q c d e))`\n      * a form of join dependency\n      * what proportion of distinct values `c` from each of `P` and `Q` remain\n        after taking their intersection? e.g., maybe `(3/4 in P . 1/2 in Q)`\n  * analyze, simplify, and plan with query structure\n    * index-based path-finding to find candidate variable orderings\n      * stick with one variable choice order until invalidation is possible\n        * only long-distance constraints can invalidate assumptions\n          * this includes monotone dependencies\n      * when appropriate index paths aren't available, or query can be\n        decomposed, consider materializing/indexing results for subqueries\n    * articulation vertices for fast recognition of decomposable queries\n      * may store intermediate results per subquery for faster integration\n\n* redesign states, strategies to support adaptive analysis and optimization\n  * ~~hypothetical states for analyzing and transforming disjunction components~~\n    * should also use this approach for transforming arbitrary formulas\n    * ~~process a disjunct's constraints in the usual way, but retain simplified\n      residual constraints~~\n      * optionally expand user-defined relations\n    * may detect more opportunities for subsumption by reordering\n    * may drop constraints for eliminated disjunct-local variables\n      * e.g., simple equality constraints that have fully propagated\n    * extract shared constraints from disjunction components via lattice-join\n      * e.g., to implement efficient union of table constraints\n  * decorate unexpanded user-defined relation constraints with the chain of\n    already-expanded parent/caller relations that led to this constraint\n    * to identify nonterminating loops\n    * to help measure progress\n  * optional bottom-up evaluation strategy\n    * safety analysis of relations referenced during query/materialization\n  * randomized variants of interleaving or depth-first search\n\n* alternative variable ordering heuristic\n  * joined?, unique? (approximate w/ single-column-remaining?)\n    * or maybe specificity (via minimum relation cardinality?), cardinality\n    * not all non-joined variables will be reachable, but worry about this later\n\n* use small tables for finite domains\n* fixed point computation\n  * binding signatures with constraints\n    * share work by generalizing signatures\n\n* support hashes, sets, and procedures\n  * if not orderable, can't embed in tables, but that could be fine\n    * procedures probably aren't orderable, but sets and hashes could be\n    * set elements may not be logic variables?\n      * no, we can allow it\n    * hash keys may not be logic variables?\n      * no, we can allow it\n  * `set->list` and `hash->list` will sort elements for determinism\n    * implement them in terms of a numeric indexing operation\n      * map each `i` in `0 <= i < count` to the appropriate key in sorted order\n\n* improve bounds algebra by adding slightly-less and slightly-greater values for open interval endpoints\n  * define comparison operators, min, and max, over these values\n\n* simpler codec definition\n  * simplified extracting/inserting of fixed or variable-length bit vectors\n  * variable-length bit vectors may be encoded in a couple ways\n    * a prefix describing length\n      * if the prefix is itself fixed-size, this implies an upper bound on length\n    * a UTF-8 style encoding with no upper bound on length\n\n* place-based concurrency/parallelism?\n* thread-safe table retrieval\n* tee/piping output logs to file\n* background worker threads/places for materialization\n* documentation and examples\n  * small tsv data example for testing materialization\n  * LiveJournal, Orkut graph benchmark examples for\n    * https://github.com/frankmcsherry/blog/blob/master/posts/2019-09-06.md\n    * reachability\n    * connected components\n    * single-source shortest path\n    * http://yellowstone.cs.ucla.edu/papers/rasql.pdf\n    * http://pages.cs.wisc.edu/~aws/papers/vldb19.pdf\n* support an interactive stepping/user-choice \"strategy\"\n  * both for debugging and devising new strategies\n  * `run/interactive`\n    * same as a `run^` with `current-config` `search-strategy` set to `interactive`\n    * non-stream, first-order representation of strategy-independent states\n      * also support embedding and combining sub-states (hypothetical along a disjunct)\n        * states are just fancy representations of conjunctions, and should be\n          combinable/disolvable\n\n* how do we express columns of suffix type?\n  * it would have this representation type: `#(suffix count len)`\n  * but it would use a different comparison operator\n\n* relation compilation to remove interpretive overhead\n  * mode analysis\n  * represent low-level operation representation depending on mode\n    * e.g., == can act like an assignment, or a type/equality test\n      * likewise for other constraint evaluations\n  * partial evaluation\n    * e.g., unify on partially-known term structures can be unrolled\n    * constraint evaluations can be pre-simplified and reordered\n  * code generation\n\n* eventually, make sure relation metadata contains information for analysis\n  * e.g., degree constraints, fast column ordering, subsumption tag/rules\n  * descriptions used for subsumption\n    * #(,relation ,attributes-satisfied ,attributes-pending)\n    * within a relation, table constraint A subsumes B if\n      B's attributes-pending is a prefix of A's\n      AND\n      B does not have any attributes-satisfied that A does not have\n  * schema: heading, constraints, other dependencies\n    * heading: set of attributes and their types\n    * degree constraints (generalized functional dependencies)\n      * interpret degree constraints to find useful special cases\n        * functional dependency\n        * bijection (one-to-one mapping via opposing functional dependencies)\n        * uniqueness (functional dependency to full set of of attributes)\n    * maybe join and inclusion dependencies\n  * body: finite set of tuples\n\n* floating point numbers are not valid terms\n  * reordering operations endangers soundness\n  * detect float literals when doing so won't hurt performance\n\n\n### Data processing\n\n* types\n  * string/vector prefixes, suffixes, and slices\n    * represented as pairs or vectors of nats\n      * ID, start, end are all fixed-size nats\n    * prefix: `(ID . end)`\n    * suffix: `(ID . start)`\n    * slice:  `#(ID start end)`\n  * ~~binary/bytevector serialization format for compact storage and fast loading~~\n    * more efficient numbers: polymorphic, int, rat\n      * consider exponent-based representations when they would be more compact\n  * string (and suffix) full-text search via bytes rather than chars?\n    * and radix sorting\n\n* high-level relation specification for transforming stream\n  * high-level string transformation types: string, number, json, s-expression\n    * perform this with Racket computation via `:==`\n  * flattening of tuple/array (pair, vector) fields, increasing record arity\n    * supports compact columnarization of scalar-only fields\n  * generate helper relations for large or variable-length data columns\n    * positional ID generation and substitution\n    * replace strings/structures with unique IDs\n    * IDs given by logical or file position\n      * original value obtained by dereferencing ID appropriately\n    * leads to compact and uniform record representations\n  * job/task scheduler that automatically manages dependencies, validates\n    integrity, and parallelizes relational stream transformation/tabulation\n    * no need to manually coordinate stream processing tasks\n    * config option for fast-replay byte encoding of input streams that need\n      multiple passes\n\n* ingestion\n  * parsing: nq (n-quads)\n  * gathering statistics\n    * reservoir sampling\n    * optional column type inference\n    * per-type statistics for polymorphic columns\n    * count, min, max, sum, min-length, max-length\n    * histogram up to distinct element threshold\n    * range bucketing\n  * transformations specified relationally\n    * possibly involving embedded Racket computation\n\n* relational source data transformation\n  * ability to attach metadata to relations, describing:\n    * high-level column types, such as string suffix\n    * transient or persistent status\n    * memory usage budget/preferences\n\n\n### Database representation\n\n* metadata and data storage\n  * hierarchical directory structure (generalizing catalog/schema/table org)\n    * directories/relations are (un)loadable at runtime\n      * causes dynamic extension/retraction of dependent intensional relations\n      * later, support arbitrary insertion, deletion, and update\n        * describe via temporal rules\n  * record definition/dependency information in relation metadata\n  * support export and import (and mounting) of database fragments\n\n* intensional relations (user-level)\n  * search strategy: backward or forward chaining\n    * could be inferred\n  * forward-chaining supports stratified negation and aggregation\n  * materialization (caching/tabling)\n    * if materialized, may be populated on-demand or up-front\n    * partial materialization supported, specified per-rule\n  * optionally temporal\n    * each time-step, elements may be inserted or removed\n      * update is remove and insert\n      * some insertions may happen at non-deterministic times (async)\n\n* extensional relations (user-level)\n  * metadata\n    * constraints:\n      * degree (subsumes uniqueness, functional dependency, cardinality)\n        * in relation R, given (A B C), how many (D E F)s are there?\n          * lower and upper bounds, i.e., 0 to 2, exactly 1, at least 5, etc.\n        * maybe support more precise constraints given specific field values\n      * monotone dependencies\n        * e.g., C is nondecreasing when sorting by (A B C D)\n        * implies sorted rows for (C A B D) appear in same order as (A B C D)\n          * one index can support either ordering\n        * generalized: (sorted-columns (A B . C) (B . D) B) means:\n          * B is already nondecreasing\n          * C becomes nondecreasing once both A and B are chosen\n          * D becomes nondecreasing once B is chosen (regardless of A)\n    * statistics (derived from table statistics)\n\n* low-level tables with optional keys/indices (not user-level)\n  * disk/memory residence and memory structure reconfigurable at runtime\n  * other types of tables:\n    * suffix arrays: given order of the array describes sorted text\n  * high-level semantic types\n    * variable-width: logical position (ID) determined by offset table\n      * text:        `string`\n        * also possible to map text to a smaller alphabet for faster search\n    * fixed-width: logical position (ID) = file-position / width\n      * text suffix: `(ID . start-pos)`\n  * metadata\n    * ~~integrity/consistency checking~~\n      * ~~source files (csvs or otherwise) with their size/modification-time~~\n        * ~~element type/transformations~~\n        * maybe statistics about their content\n    * files/types and table dependencies\n      * text suffix:\n        * suffix file\n          * `(#(nat ,text-ID-size) . #(nat ,pos-size))`\n        * text column table\n    * statistics\n\n\n### Relational language for rules and queries\n\n* functional term sublanguage\n  * ~~atoms and constructors can be appear freely~~\n  * ~~other computation appears under `:==`~~\n    * ~~should be referentially transparent~~\n    * ~~e.g., subqueries used for aggregation, implicitly grouped by outer query~~\n  * maybe indicate monotonicity for efficient incremental update\n    * by default, `:==` will stratify based on dependencies\n\n* relations\n  * local relation definitions to share work (cached results) during aggregation\n    * `(let-relations (((name param ...) formula ...) ...) formula ...)`\n  * if `r` is a relation:\n    * `(r arg+ ...)` relates `arg+ ...` by `r`\n    * `(relations-ref r)` accesses a metaprogramming control structure\n      * configure persistence, representation, uniqueness and type constraints\n      * indicate evaluation preferences or hints, such as indexing\n      * dynamically disable/enable\n      * view source, statistics, configuration, preferences, other metadata\n  * data retention modes\n    * caching/persistence may be forced or performed lazily\n    * from most to least retention:\n      * persistent\n      * cached results\n      * cached constraint states\n      * cached analysis/plan\n      * recomputed from scratch\n\n* misc conveniences\n  * `apply` to supply a single argument/variable to an n-ary relation\n  * tuple-column/record-field keywords\n    * optional keyword argument calling convention for relations\n    * optional keyword projection of query results\n  * relation extension?\n\n* evaluation\n  * query evaluation\n    * precompute relevant persistent/cached safe relations via forward-chaining\n    * safe/finite results loop (mostly backward-chaining)\n      * prune search space top-down to shrink scale of bulk operations\n        * expand recursive relation calls while safe\n          * safety: at least one never-increasing parameter is decreasing\n            * this safety measure still allows polynomial-time computations\n            * may prefer restricting to linear-time computations\n            * or a resource budget to limit absolute cost for any complexity\n          * track call history to measure this\n          * recursive calls of exactly the same size are considered failures\n        * keep results of branching relation calls independent until join phase\n      * ~~maintain constraint satisfiability\n        * ~~constraint propagation loop: `state-enforce-local-consistency`~~\n          * ~~cheap first-pass via domain consistency, then arc consistency~~\n          * backjump and learn clauses when conflict is detected\n        * ~~then global satisfiability via search~~\n          * ~~choose candidate for the most-constrained variable~~\n            * ~~maybe the variable participating in largest number of constraints~~\n          * ~~interleave search candidate choice with cheap first-pass methods~~\n      * perform the (possibly multi-way) join with lowest estimated cost\n      * repeat until either all results computed or only unsafe calls remain\n    * perform unsafe interleaving until finished or safe calls reappear\n      * like typical miniKanren search\n      * if safe calls reappear, re-enter safe/finite results loop\n  * safety (and computation) categories for relations\n    * simple\n      * persistent (extensional or precomputed intensional)\n        * compute via retrieval\n      * nonrecursive\n        * compute via naive expansion\n      * \"safe\" in the datalog sense\n        * compute fixed point via semi-naive eval after top-down rewriting\n          * also be able to compute fixed point via DFS w/ repetition check\n        * all relations used in the body are safe\n        * all head parameter vars mentioned in positive position in body\n          * i.e., all head parameters will be bound to ground values\n        * no constructors containing vars in \"dangerous\" positions\n          * head parameters of recursive relation\n          * arguments to recursive relations in body\n        * aggregation is stratified\n      * \"unsafe\": top-down interleaving search\n        * no safety guarantees at all\n          * refutational incompleteness\n          * unlimited answers\n          * answers with unbound variables, possibly with constraints\n    * more complex alternatives\n      * \"safe\" for forward chaining only\n        * compute fixed point via semi-naive eval\n        * generalizes \"safe\" datalog slightly\n          * constructors w/ vars allowed as args to recursive relations in body\n      * \"safe\" for backward chaining only\n        * compute via DFS\n        * may or may not guarantee all variables are bound (groundness)\n        * termination guaranteed by structural recursion argument metric\n\n* mode analysis\n  * modes as binding patterns with result cardinalities\n    * parameter binding classes from least to most constraining\n      * f: free        (no guarantees of any kind)\n      * x: constrained (if it's a variable, it at least has some constraints)\n      * c: constructed (not a variable, but not necessarily fully ground)\n      * b: bound       (fully ground)\n    * appendo: (b f f) -> (0 1) (b f b)\n      * bound first param leads to 0 or 1 result with bound third param\n  * mode-specific safety\n    * appendo termination requires (c f f) or (f f c) at every recursive call\n  * mode-specific cost\n    * different parameter bindings determine effectiveness of indices\n\n* lazy population of text/non-atomic fields\n  * equality within the same shared-id column can be done by id\n    * also possible with foreign keys\n    * analogous to pointer address equality\n  * equality within the same nonshared-id column must be done by value\n    * equal if ids are the same, but may still be equal with different ids\n  * equality between incomparable columns must be done by value\n    * address spaces are different\n  * how is this integrated with mk search and query evaluation?\n    * can do this in general for functional dependencies\n      * `(conj (relate-function x a) (relate-function x b))` implies `(== a b)`\n  * would like similar \"efficient join\" behavior for text suffix indexes\n    * given multiple text constraints, find an efficient way to filter\n      * will involve intersecting a matching suffix list for each constraint\n      * one suffix list may be tiny, another may be huge\n        * rather than finding their intersection, it's likely more efficient\n          to just throw the huge one away and run the filter directly on the\n          strings for each member of the tiny suffix set\n    * how is this integrated with mk search and query evaluation?\n      * text search can be expressed with `string-appendo` constraints\n        * `(conj (string-appendo t1 needle t2) (string-appendo t2 t3 hay))`\n      * suffix index can be searched via\n        * `(string-appendo needle t1 hay-s)`\n      * multiple needles\n        * `(conj (string-appendo n1 t1 hay-s) (string-appendo n2 t2 hay-s))`\n      * maybe best done explicitly as aggregation via `:==`\n\n\n### Aggregation ideas\n\n* finite relations may relate their tuples to an extra position parameter\n  * `(apply-relation-position R pos tuple)`\n\n* aggregation via negation\n  * can this be done efficiently?\n  * edb: `(edge x y)`\n  * ```\n    (define-relation (1-hops x targets)\n      (=/= targets '())\n      (:== targets (query y (edge x y))))\n\n    or\n\n    (define-relation (1-hops x targets)\n      (=/= targets '())\n      (query== targets y (edge x y)))\n\n    vs.\n\n    (define-relation (1-hops-rest x prev targets)\n      (conde\n        ((== targets '())\n         (not (fresh (z)\n                (any< prev z)\n                (edge x z))))\n        ((fresh (y targets.rest)\n           (== targets (cons y targets.rest))\n           (edge x y)\n           (not (fresh (z)\n                  (any< prev z)\n                  (any< z y)\n                  (edge x z)))\n           (1-hops-rest x y targets.rest)))))\n    (define-relation (1-hops x targets)\n      (fresh (y targets.rest)\n        (== targets (cons y targets.rest))\n        (edge x y)\n        (not (fresh (z)\n               (any< z y)\n               (edge x z)))\n        (1-hops-rest x y targets.rest)))\n    ```\n\n    ```\n    (define-relation (max+o threshold x xs)\n      (conde ((== xs '()) (== x threshold))\n             ((fresh (y ys)\n                (== xs (cons y ys))\n                (conde ((any<= y threshold) (max+o threshold x ys))\n                       ((any<  threshold y) (max+o y         x ys)))))))\n    (define-relation (maxo x xs)\n      (fresh (y ys)\n        (== xs (cons y ys))\n        (max+o y x ys)))\n    (define-relation (edge-largest x largest)\n      (fresh (targets)\n        (query== targets y (edge x y))\n        (maxo largest targets)))\n\n    vs.\n\n    (define-relation (edge-largest x largest)\n      (edge x largest)\n      (not (fresh (y) (any< largest y) (edge x y))))\n    ```\n\n\n### Query planning and joins\n\nWe need some low-level language for transformation (not for humans or direct interpretation).  Is this the right one?\n- is there a more operational datalog-like notation? e.g., datalog + ordering hints?\n  - (and _ ...) and (or _ ...) can be used to specify specific join/union order and nesting\n  - but these seem hard, so this idea is probably not enough:\n    - what about specifying particular kinds of joins?\n    - what about projection and filtering?\n    - what about aggregation?\n    - how about sub-computation sharing and scope?\n\nInitial sketch of relational algebra language for lower-level optimization transformations:\n```\nposition ::= <natural number>\ncount    ::= <natural number>\nmerge-op ::= + | * | min | max | set-union | (min-union count) | (max-union count)\nop       ::= cons | vector | list->vector | car | cdr | vector-ref | vector-length | merge-op\nexpr     ::= (quote value) | (ref position position) | (app op expr ...)\ncmp      ::= == | any<= | any< | =/=\ncx       ::= (cmp expr expr) | (and cx ...) | (or cx ...)\nrelation ::= (quote   ((value ...) ...)) ; What operator does this correspond to? Does it assume sorting/deduping? Probably no assumptions, just enumerate raw tuples.\n           | (table   rid)               ; This corresponds to a basic table scan, use a different operator for more efficient access.\n           | (rvar    name)\n           | (filter  (lambda 1 cx) relation)\n           | (project (lambda 1 (expr ...)) relation)\n           | (union   relation ...)\n           | (subtract relation relation)\n           | (cross   relation ...)      ; TODO: replace with nested [for-]loop notation.\n\n;; How do we specify n-way join shared keys?\n;; New notation for join-key specification?\n;; Operators for sorting (with direction), deduplication.\n;; Operators for skipping (dropping), and limiting (taking).\n\n           | (agg     relation (lambda 1 (expr ...)) value (lambda 1 (expr ...)) (merge-op ...))  ; rel group init map merge (map exprs and merge ops must be same length)\n           | (let     ((name relation) ...) relation)  ; Relations are materialized, nesting describes stratification.\n           | (letrec  ((name relation) ...) relation)  ; Relations computed as fixed points, relations are materialized, nesting describes stratification.\n\n;; Let-bound relations should be specific about what physical tables/indexes are formed?\n\ndirection        ::= < | >\ndirection-suffix ::= () | #f\noffset           ::= <natural number>\nlimit            ::= <natural number> | #f\nquery            ::= (query offset limit (direction ... . direction-suffix) relation)  ; Do we need this? Should we embed sorting, skipping, and limiting as operators instead?\n```\n\nExample query thought experiments:\n\nMaybe bounds feedback doesn't make sense, and should be part of the plan ordering, where bounds actually come from the bottom rather than the top?\ne.g., consider variable-centric plans for:\n```\n(run* (a b d e)\n  (exist (c)\n    (and (P a b c)\n         (Q c d e)\n         (R c d e))))\n\n- c then (c d e) then c: (P ((P Q) (P R)))  ; aka semijoins\n  - (join P [2] [1 2]\n          (join (join P [2] [] Q [0] [0 1 2]) [0 1 2] [1 2]  ; this is a semijoin\n                (join P [2] [] R [0] [0 1 2]) [0 1 2] [])    ; this is also a semijoin\n          [0] [1 2])\n\n- (c d e) then c: (P (Q R))\n  - (join P [2] [1 2]\n          (join Q [0 1 2] [1 2] R [0 1 2] [])  ; no semijoining performed\n          [0] [1 2])\n\nBut neither of these gives adaptive feedback ...\nUpstream and downstream can't communicate bounds with this approach.\nIdeally we would choose an ordering like:\n- c d e\nor\n- d e c\n\nBinary joins seem too inflexible here.\n```\n\nMulti-join GOO perspective:\n```\n- (run* (a c) (exist (b) (P a b) (Q b c)))\n  - max cardinality: (* (cardinality P a) (cardinality Q c))\n- (run* (a b c) (P a b) (Q b c))\n  - max cardinality: (min (* (cardinality P a)\n                             (cardinality Q b c))\n                          (* (cardinality Q c)\n                             (cardinality P a b))\n                          (* (cardinality P a)\n                             (cardinality Q c)\n                             (min (cardinality P b)\n                                  (cardinality Q b))))\n```\n\nNaive selectivity for join cardinality estimation:\n```\n- |S join.x T| ~= (/ (* |S||T|) (max (cardinality S x) (cardinality T x)))\n- can generalize for multi-way joins:\n  - if joining k relations\n    - numerator is a product of the k relation sizes\n    - denominator is a product of the (- k 1) largest join-column cardinalities\n```\n\nNon-materializing multi-way joins may be wasteful:\n```\n- (P a b) (Q b c) (R c d) (S d e)\n- joining variables: b c d\n  - for each choice of b, we learn a set of cs and repeat some of the work of joining (R c d) (S d e) on d\n  - the repeated work has two parts:\n    - finding values of c where a satisfying (d e) exists\n    - bisection revisitation overhead in enumerating these\n  - if the result cardinality of (R c d) (S d e) is small, materializing this sub-join may be better\n- semijoins as degenerate joins\n  - (P a b) (Q b c) where P is used to reduce the size of Q based on b\n  - equivalent to (P _ b) (Q b c)\n  - Q^  = (P  _ b) (Q   b c)\n  - R^  = (Q^ _ c) (R   c d)\n  - S^  = (R^ _ d) (S   d e)\n  - R^^ = (R^ c d) (S^  d _)\n  - Q^^ = (Q^ b c) (R^^ c _)\n  - P^  = (P  a b) (Q^^ b _)\n  - arc-constrained query: (P^ a b) (Q^^ b c) (R^^ c d) (S^ d e)\n    - benefit: increased cardinality estimation accuracy\n```\n\nMulti-way joins are not wasteful when all relations share the same join attributes (assuming proper indexes):\n```\n- (P x y a) (Q x b y) (R c y x)\n- can intersect on either (x y) or (y x), and simply enumerate crosses of the non-join attributes\n```\n\nMulti-way joins may improve over binary joins whose expected result cardinality is greater than the max cardinality of either input.\n\n\n### Database construction and management\n\nA string dictionary (domain) on disk could involve 3 data files (with metadata in a separate file):\n- metadata:\n  - names of constituent files\n  - number of strings in this dictionary\n- id=>str\n  - str.data: data file containing N variable-length strings\n    - hello|world|more\n    - N items\n    - not sorted\n    - no need to store string lengths (this is covered by the position file)\n  - str.data.pos: position file for referencing data file (N + 1 positions)\n    - 0|5|10|14\n    - N+1 items\n- str=>id\n  - id.data: data file containing N ids, sorted alphabetically by the strings they refer to\n  - N items\n  - sorted indirectly by id => str.data.pos =interval=> str.data\n    - lookup via binary search through this same indirection\n- instead of this logical id format, we could save an indirection by using file positions as ids\n\n- domains for variable-length-or-large-data\n  - lazy merging of domains\n  - write-ahead blocks maintain local domains until merged\n\n- fixed-width data does not need a domain\n  - null (but why?), bool, fixnat, fixint, fixrat, pair/fixed, tuple, fixarray (behaves like a tuple)\n\n- atomic batch updates\n  - single metadata file for entire database, providing a consistent view of the current state\n    - batch updates will commit to this metadata file (at the next checkpoint)\n  - not quite transactions, but good enough for now\n  - inserted/deleted tuples based on a consistent database snapshot\n  - insertion/deletion of single-relation blocks and domain+relation(s) write-ahead blocks\n    - file path, file size, (file checksum?), block layout\n    - garbage collection / export-of-current-db-state-snapshot\n\n- initial domain insertion\n  - should returned ids be the logical or the file positions?\n    - if we load into RAM, file positions will still work on bytevectors\n    - logical ids can save ~20% of single column memory if there are fewer than 4 billion strings\n      - relatively small savings given small size of data?\n      - may still be able to use other forms of compression on the non-logical ids\n      - but may be worth it if queries tend to not cross databases, and new string data is not frequently inserted\n  - domain sorting and possibly re-mapping ids\n    - can either index ids based on string order\n    - or maintain id assignment in string order directly\n      - provides monotonic ids, which are more efficient when crossing dbs or emitting sorted string output\n      - requires re-mapping the insertion ids to resulting monotonic ids in the original tuple data\n\n- merge-unioning domain blocks\n  - each block uses a different id basis, requiring id translation during merge\n  - first index or monotonize ids block-locally\n  - perform bisect/2-or-k-way merge-union, producing new domain column file\n    - insert new logical or file position into remapping hashes for each original block\n  - map the remapping tuple columns, producing new column files for each\n    - if monotonic ids are used, indexes should not need to be re-sorted\n\n- ideas for domain caching during block production, to minimize redundancy during sort and remap\n  - maintain two datum=>id hash tables for these two pools: multiple-refs and single-ref-so-far\n    - maybe parameterize a more general version: less-than-N-refs-so-far\n      - in this case, treat as LRU, where seeing a new ref pushes a datum back onto the queue to\n        preserve it for a little longer\n      - maybe also give special treatment to small datums, which are less expensive to preserve?\n  - treat single-ref-so-far as a fixed-size queue, where each datum&id pair is thrown away if\n    a second ref isn't found before it rolls off the end\n  - if a second ref is found for a datum in single-ref-so-far, it is promoted to multiple-refs, and\n    stored for the rest of the production\n\n- write-ahead block directory files:\n  - one data file per domain (e.g., variable-length bytes for text, bigint, bigrat, or fixed-width pair/any)\n    - pair/any is a 4-column table, where the car and cdr are annotated with type tags\n    - more generally, a logical column type of \"any\" is itself 2 physical columns, one for the type tag\n  - one position file per domain\n    - potentially-segregated starting positions + one final ending position\n  - one tuple file per update direction (insert or delete) per relation participating in update\n    - if only inserting or deleting, that means one file, and if both, then two files for that relation\n    - potentially-segregated fixed-width tuples that reference data positions\n    - any segregations are due to mistakes in column-byte-width-guessing\n  - metadata describing the contents of each of the other files\n    - particularly the byte-widths of the position and tuple files, for each segregation, along with the\n      segregation division locations\n\n- once the initial write-ahead block is complete, it is committed to the database metadata, to avoid losing progress\n  - each update is a transaction that either completely succeeds or fails\n\n- sort domains\n  - for each domain, this means producing a new file of sorted logical ids, which are themselves data file positions\n    - the sorted order of these ids is implicitly an id remapping table\n    - for each domain sorted, apply a checkpoint after that sorting process is finished\n      - if the domain is large enough to require external sorting, apply finer-grained checkpoints as well\n  - for each domain, merge into the database's main domain\n    - merging domains produces 3 files:\n      - new domain data file\n      - old position remapping file\n      - new (from the write-ahead block) position remapping file\n        - for full write-ahead remapping, compose this with the remapping table produced by write-ahead domain sorting\n    - checkpoint after each merge\n- for each relation-delete and relation-insert file, remap its ids\n  - checkpoint each of these\n- remap each main db relation table not participating in update\n  - checkpoint each of these remappings\n- remap-merge each main db relation table participating in update\n  - each of these is a 3-way merge between these sets: original, delete, insert\n    - the delete and insert sets have already been remapped\n    - tuples from the original set are remapped just-in-time\n      - just-in-time will make bisection harder, so maybe not a good idea? remap ahead of time instead?\n        - nah, this is probably fine\n  - checkpoint each of these remapping-merges\n- rebuild indexes for updated relations\n  - checkpoint each of these\n\n- to avoid manual code-commenting to deal with interrupted batch jobs, can also support a brute force insertion process\n  - this way a small update-history relation can be used to describe and check the progress of a job\n  - still single db consolidation, just brute-force read from the update-history relation\n\n- for simplicity, let's start with relation-creation-time-single-insertion with errors and manual code-commenting for checkpoints\n  - and single db consolidation, because the domains are shared\n\n\n## Naming conventions\n\n```\n_    = blank\nx-y  = x <space> y     ; for multi-word phrases, e.g., launch-all-missiles\nx/y  = x with y\nx^y  = x superscript y\nx.y  = x subscript y   ; emphasizing grouping by x\ny:x  = x subscript y   ; emphasizing grouping by y, the subscript; e.g., a type\n                       ; y with constructors x, or implementing a common\n                       ; interface of operations x, or other situations where\n                       ; if the context is clear, the y: could be dropped from\n                       ; the name\nx@y  = x at y          ; result of projection or access using address/key y\nx->y = x to y          ; procedure mapping type x to y\nx=>y = x to y          ; finite map (e.g., hash or vector) with key type x\nx&y  = x and y         ; a pair, or sometimes a 2-element list or vector\nx*   = 0 or more xs    ; (typically homogeneous) lists, sometimes vectors\nx?   = x huh           ; x is either a boolean(-ish) value itself, or a\n                       ; predicate (procedure returning a boolean(-ish) value)\nx!   = x bang          ; x may cause important side effects, such as mutation\n                       ; or throwing an error; I/O operations often don't use\n                       ; this convention\nx?!  = assert x        ; a predicate/guard that throws an error if false\n```\n\n\n## References\n\n- [miniKanren: an embedded DSL for logic programming](http://minikanren.org)\n- [Bloom Programming Language](http://bloom-lang.net/)\n- [Dedalus: Datalog in Time and Space](http://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-173.pdf)\n- [Datafun Programming Language](http://www.rntz.net/datafun/)\n- [Flix Programming Language](https://flix.dev/)\n\n### Datalog and Bottom-up Evaluation Techniques\n\n- [What You Always Wanted to Know About Datalog (And Never Dared to Ask)](https://personal.utdallas.edu/~gupta/courses/acl/papers/datalog-paper.pdf)\n- [Integrating Datalog and Constraint Solving](https://biblio.ugent.be/publication/5646054/file/5646069.pdf)\n- [Compilation Of Bottom-Up Evaluation For a Pure Logic Programming Language](https://researchcommons.waikato.ac.nz/bitstream/handle/10289/12882/thesis.pdf)\n- [Bottom-Up Evaluation](http://users.informatik.uni-halle.de/~brass/lp07/c6_botup.pdf)\n- [Magic Sets](http://users.informatik.uni-halle.de/~brass/lp07/c7_magic.pdf)\n\n### Recursive Relations\n\n- [A Cost Estimation Technique for Recursive Relational Algebra](https://hal.inria.fr/hal-03004218/document)\n- [On the Optimization of Recursive Relational Queries: Application to Graph Queries](http://pierre.geneves.net/papers/mura-sigmod20.pdf)\n- [Cost-Based Optimization for Magic: Algebra and Implementation](https://dsf.berkeley.edu/papers/sigmod96-magic.pdf)\n\n### Query Plans\n\n- [How Good Are Query Optimizers, Really?](https://www.vldb.org/pvldb/vol9/p204-leis.pdf)\n- [Cardinality Estimation Done Right: Index-Based Join Sampling](http://cidrdb.org/cidr2017/papers/p9-leis-cidr17.pdf)\n- [A New Heuristic for Optimizing Large Queries](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.737)\n- [Looking Ahead Makes Query Plans Robust](http://www.vldb.org/pvldb/vol10/p889-zhu.pdf)\n- [Worst-case Optimal Join Algorithms](http://pages.cs.wisc.edu/~chrisre/papers/paper49.Ngo.pdf)\n\n### Low-level Efficiency\n\n- [Sort vs. Hash joins](http://www.vldb.org/pvldb/vol7/p85-balkesen.pdf)\n- [Efficiently Compiling Efficient Query Plans for Modern Hardware](http://www.vldb.org/pvldb/vol4/p539-neumann.pdf)\n- [Push vs. Pull-Based Loop Fusion in Query Engines](https://arxiv.org/pdf/1610.09166.pdf)\n- [How to Architect a Query Compiler, Revisited](https://www.cs.purdue.edu/homes/rompf/papers/tahboub-sigmod18.pdf)\n"
  },
  {
    "path": "medikanren2/dbk/SNAPSHOT",
    "content": "https://github.com/gregr/dbKanren\n5aa9af98dd7653312f03b85d9c10215cb12f5202"
  },
  {
    "path": "medikanren2/dbk/bcat.rkt",
    "content": "#lang racket/base\n(require \"dbk/codec.rkt\" racket/pretty racket/port)\n\n(module+ main\n  (define argv      (current-command-line-arguments))\n  (define arg-names '#(DATA-TYPE))\n  (unless (= (vector-length argv) (vector-length arg-names))\n    (error \"invalid arguments\" 'expected arg-names 'given argv))\n  (define type (with-input-from-string (vector-ref argv 0) read))\n  (define in   (current-input-port))\n  (define out  (current-output-port))\n  (with-handlers (((lambda (e)\n                     (and (exn:fail:filesystem:errno? e)\n                          (equal? (exn:fail:filesystem:errno-errno e)\n                                  '(32 . posix))))\n                   void))\n    (let loop ()\n      (unless (eof-object? (peek-byte in))\n        (pretty-write (decode in type))\n        (loop)))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/abstract-syntax.rkt",
    "content": "#lang racket/base\n(provide\n  f:query f:true f:false f:relate f:imply f:iff f:or f:and f:not f:exist f:all\n  t:query t:quote t:var t:prim t:app t:lambda t:if t:let\n  scm->term)\n(require \"misc.rkt\" (except-in racket/match ==) racket/set)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Abstract syntax\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-variant formula?\n  (f:query  result param f)  ; TODO: omit this class of formula?\n  (f:true)\n  (f:false)\n  ;; TODO: local relation definitions, to express subqueries\n  ;; but this may be macro-expressible without a dedicated AST node?\n  ;(f:letrec defs)  ; defs ::= list-of (name params f)\n  (f:relate relation args)  ; finite position built-in? #f for infinite relations\n  ;; TODO:\n  ;(f:relate relation arg)  ; switch to single argument for apply-relation, where variadic version is sugar\n\n  ;(f:meta thunk)\n\n  ;; or maybe just aggregate via forall/not-exists/any<=o enumeration\n  (f:imply  if then)\n  (f:iff    f1 f2)\n  (f:or     f1 f2)\n  (f:and    f1 f2)\n  (f:not    f)\n\n  ;; TODO: single-param versions of f:exist and f:all:\n  ;(f:exist  param body)\n  ;(f:all    param body)\n\n  (f:exist  params body)\n  (f:all    params body))\n\n(define-variant term?\n  ;; TODO: simplify, removing t:query, t:lambda, t:if, t:let, t:prim, t:app\n  ;; replace t:app with t:cons and t:vector\n  (t:query  name formula)\n  (t:quote  value)\n  (t:var    name)\n  (t:prim   name)\n  (t:app    proc args)\n  (t:lambda params body)\n  (t:if     c t f)\n  (t:let    bpairs body))\n\n(define (t:cons         a d) (t:app (t:prim 'cons)          (list a d)))\n(define (t:list->vector xs)  (t:app (t:prim 'list->vector)  (list xs)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Values and term conversion\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (atom? x)\n  (or (null? x) (boolean? x) (symbol? x) (string? x) (bytes? x) (and (real? x) (exact? x)) (void? x)))\n\n(define (scm->term x)\n  (cond ((term?         x)  x)\n        ((pair?         x)  (t:cons         (scm->term (car          x))\n                                            (scm->term (cdr          x))))\n        ((vector?       x)  (t:list->vector (scm->term (vector->list x))))\n        ((atom?         x)  (t:quote        x))\n        ((and (real?    x)\n              (inexact? x)) (scm->term (inexact->exact x)))\n        (else               (error \"invalid dbk value:\" x))))\n\n(define (f-relations f)\n  (match f\n    ((f:query   _ _ f)       (f-relations f))\n    ;; TODO: no need for t-relations* if we lift all uses of t:query\n    ;((f:relate  relation args) (set-add (t-relations* args) relation))\n    ((f:relate  relation _)  (set relation))\n    ((f:imply   f1 f2)       (set-union (f-relations f1) (f-relations f2)))\n    ((f:iff     f1 f2)       (set-union (f-relations f1) (f-relations f2)))\n    ((f:or      f1 f2)       (set-union (f-relations f1) (f-relations f2)))\n    ((f:and     f1 f2)       (set-union (f-relations f1) (f-relations f2)))\n    ((f:not     f)           (f-relations f))\n    ((f:exist   _ body)      (f-relations body))\n    ((f:all     _ body)      (f-relations body))\n    ((or (f:true) (f:false)) (set))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/codec.rkt",
    "content": "#lang racket/base\n(provide encode decode sizeof nat-type/max)\n(require racket/list racket/match)\n\n(define (exact-number? x) (and (number? x) (exact? x)))\n(define (<< i s) (arithmetic-shift i s))\n(define (>> i s) (arithmetic-shift i (- s)))\n(define (& a b)  (bitwise-and a b))\n(define (\\| a b) (bitwise-ior a b))\n(define (^ a b)  (bitwise-xor a b))\n\n(match-define (list t.bytes t.string t.symbol t.array t.pair\n                    t.true t.false t.null t.number\n                    ;; TODO: support more efficient numeric representations\n                    ;; is a separate rat type (for rationals) superfluous?\n                    t.nat t.int t.rat)\n  (range (length '(t.bytes t.string t.symbol t.array t.pair\n                   t.true t.false t.null t.number\n                   t.nat t.int t.rat))))\n\n(define (nat-type/max max-nat) `#(nat ,(- (sizeof 'nat max-nat) 1)))\n\n(define (sizeof type v)\n  (match type\n    (#f                (sizeof-any          v))\n    (`#(nat    ,size)  (sizeof-nat    size  v))\n    (`#(string ,len)   (sizeof-string len   v))\n    (`#(symbol ,len)   (sizeof-symbol len   v))\n    (`#(bytes  ,len)   (sizeof-bytes  len   v))\n    (`#(array ,len ,t) (sizeof-array  len t v))\n    (`#(list  ,len ,t) (sizeof-list   len t v))\n    (`#(tuple ,@ts)    (sizeof-tuple  ts    v))\n    (`(,ta . ,td)      (sizeof-pair   ta td v))\n    ('nat              (sizeof-nat    #f    v))\n    ('string           (sizeof-string #f    v))\n    ('symbol           (sizeof-symbol #f    v))\n    ('bytes            (sizeof-bytes  #f    v))\n    ('array            (sizeof-array  #f #f v))\n    ('list             (sizeof-list   #f #f v))\n    ('number           (sizeof-number       v))\n    ((or 'true 'false '()) 0)))\n(define (sizeof-any v)\n  (define value-size\n    (cond ((vector?       v) (sizeof-array  #f #f v))\n          ((string?       v) (sizeof-string #f    v))\n          ((bytes?        v) (sizeof-bytes  #f    v))\n          ((pair?         v) (sizeof-pair   #f #f v))\n          ((exact-number? v) (sizeof-number       v))\n          ((symbol?       v) (sizeof-symbol #f    v))\n          ((or (null? v) (eqv? #t v) (not v))      0)\n          ((void? v)                              #f)\n          (else (error \"sizeof-any; invalid type:\" v))))\n  (and value-size (+ 1 value-size)))\n(define (sizeof-nat size n)\n  (cond (size      size)\n        ((void? n) #f)\n        (else (+ 1 (cond ((< n (<< 1 32)) (if (< n (<< 1 16))\n                                            (if (< n (<< 1 8))  1 2)\n                                            (if (< n (<< 1 24)) 3 4)))\n                         ((< n (<< 1 40)) 5)\n                         ((< n (<< 1 48)) 6)\n                         ((< n (<< 1 56)) 7)\n                         ((< n (<< 1 64)) 8)\n                         (else (error \"sizeof-nat; too large:\" n)))))))\n;; TODO: consider exponent representations, which may be more compact\n(define (sizeof-number v)   (sizeof-string #f (if (void? v) v\n                                                (number->string v))))\n(define (sizeof-bytes l v)  (or l (and (not (void? v))\n                                       (let ((len (bytes-length v)))\n                                         (+ len (sizeof-nat #f len))))))\n(define (sizeof-symbol l v) (or l (sizeof-string l (if (void? v) v\n                                                     (symbol->string v)))))\n(define (sizeof-string l v) (or l (sizeof-bytes l (if (void? v) v\n                                                    (string->bytes/utf-8 v)))))\n(define (sizeof-pair ta td v) (let ((za (sizeof ta (if (void? v) v (car v))))\n                                    (zd (sizeof td (if (void? v) v (cdr v)))))\n                                (and za zd (+ za zd))))\n(define (sizeof-tuple ts v) (sizeof ts (if (void? v) v (vector->list v))))\n(define (sizeof-list l t v)\n  (if l (sizeof-tuple (make-list l t) v)\n    (and (not (void? v)) (let* ((l (length v))\n                                (z (sizeof-list l t v)))\n                           (and z (+ (sizeof-nat #f l) z))))))\n(define (sizeof-array l t v)\n  (if l (sizeof-tuple (make-list l t) v)\n    (and (not (void? v)) (let ((z (sizeof-array (vector-length v) t v)))\n                           (and z (+ (sizeof-nat #f (vector-length v)) z))))))\n\n(define (encode out type v)\n  (match type\n    (#f                (encode-any    out       v))\n    (`#(nat    ,size)  (encode-nat    out size  v))\n    (`#(string ,len)   (encode-string out len   v))\n    (`#(symbol ,len)   (encode-symbol out len   v))\n    (`#(bytes  ,len)   (encode-bytes  out len   v))\n    (`#(array ,len ,t) (encode-array  out len t v))\n    (`#(list  ,len ,t) (encode-list   out len t v))\n    (`#(tuple ,@ts)    (encode-tuple  out ts    v))\n    (`(,ta . ,td)      (encode-pair   out ta td v))\n    ('nat              (encode-nat    out #f    v))\n    ('int              (encode-int    out       v))\n    ('string           (encode-string out #f    v))\n    ('symbol           (encode-symbol out #f    v))\n    ('bytes            (encode-bytes  out #f    v))\n    ('array            (encode-array  out #f #f v))\n    ('list             (encode-list   out #f #f v))\n    ('number           (encode-number out       v))\n    ((or 'true 'false '()) 0)))\n(define (encode-any out v)\n  (define (tag t) (encode-nat out 1 t))\n  (cond ((vector? v)       (tag t.array)  (encode-array  out #f #f v))\n        ((string? v)       (tag t.string) (encode-string out #f    v))\n        ((bytes?  v)       (tag t.bytes)  (encode-bytes  out #f    v))\n        ((pair?   v)       (tag t.pair)   (encode-pair   out #f #f v))\n        ((exact-number? v) (tag t.number) (encode-number out       v))\n        ((symbol? v)       (tag t.symbol) (encode-symbol out #f    v))\n        ((null?   v)       (tag t.null))\n        ((eqv? #t v)       (tag t.true))\n        ((not     v)       (tag t.false))\n        (else (error \"encode-any; invalid type:\" v))))\n(define (encode-nat out size n)\n  (define (enc/size sz) (unless (= sz 0)\n                          (write-byte (& #xFF (>> n (* 8 (- sz 1)))) out)\n                          (enc/size (- sz 1))))\n  (define (enc sz) (encode-nat out 1 sz) (enc/size sz))\n  (cond (size (enc/size size))\n        ((< n (<< 1 32)) (if (< n (<< 1 16))\n                           (if (< n (<< 1 8))  (enc 1) (enc 2))\n                           (if (< n (<< 1 24)) (enc 3) (enc 4))))\n        ((< n (<< 1 40)) (enc 5))\n        ((< n (<< 1 48)) (enc 6))\n        ((< n (<< 1 56)) (enc 7))\n        ((< n (<< 1 64)) (enc 8))\n        (else (error \"encode-nat; too large:\" n))))\n(define (encode-int out v)\n  (encode-nat out #f (+ (<< v 1) (if (< v 0) 1 0))))\n;; TODO: consider exponent representations, which may be more compact\n(define (encode-number out n) (encode-string out #f (number->string n)))\n(define (encode-bytes out len bs)\n  (unless len (encode-nat out #f (bytes-length bs)))\n  (write-bytes bs out))\n(define (encode-symbol out len s) (encode-string out len (symbol->string s)))\n(define (encode-string out len s)\n  (encode-bytes out len (string->bytes/utf-8 s)))\n(define (encode-pair   out ta td v)\n  (encode out ta (car v)) (encode out td (cdr v)))\n(define (encode-tuple out ts v) (for ((t (in-list ts)) (v (in-vector v)))\n                                     (encode out t v)))\n(define (encode-list out l t v)\n  (unless l (encode-nat out #f (length v)))\n  (for ((v (in-list v))) (encode out t v)))\n(define (encode-array out l t v)\n  (unless l (encode-nat out #f (vector-length v)))\n  (for ((v (in-vector v))) (encode out t v)))\n\n(define (decode in type)\n  (match type\n    (#f                (decode-any    in))\n    (`#(nat    ,size)  (decode-nat    in size))\n    (`#(string ,len)   (decode-string in len))\n    (`#(symbol ,len)   (decode-symbol in len))\n    (`#(bytes  ,len)   (decode-bytes  in len))\n    (`#(array ,len ,t) (decode-array  in len t))\n    (`#(list  ,len ,t) (decode-list   in len t))\n    (`#(tuple ,@ts)    (decode-tuple  in ts))\n    (`(,ta . ,td)      (decode-pair   in ta td))\n    ('nat              (decode-nat    in #f))\n    ('int              (decode-int    in))\n    ('string           (decode-string in #f))\n    ('symbol           (decode-symbol in #f))\n    ('bytes            (decode-bytes  in #f))\n    ('array            (decode-array  in #f #f))\n    ('list             (decode-list   in #f #f))\n    ('number           (decode-number in))\n    ('true             #t)\n    ('false            #f)\n    ('()               '())))\n(define (decode-any in)\n  (define tag (decode-nat in 1))\n  (define (? t) (= tag t))\n  (cond ((? t.array)  (decode-array  in #f #f))\n        ((? t.string) (decode-string in #f))\n        ((? t.bytes)  (decode-bytes  in #f))\n        ((? t.pair)   (decode-pair   in #f #f))\n        ((? t.number) (decode-number in))\n        ((? t.symbol) (decode-symbol in #f))\n        ((? t.null)   '())\n        ((? t.true)   #t)\n        ((? t.false)  #f)\n        (else (error \"decode-any; invalid tag:\" tag))))\n(define (decode-nat in size)\n  (if size (let loop ((n 0) (sz size))\n             (if (= sz 0) n\n               (loop (+ (<< n 8) (read-byte in)) (- sz 1))))\n    (let ((size (decode-nat in 1))) (decode-nat in size))))\n(define (decode-int in)\n  (define nat (decode-nat in #f))\n  (* (if (odd? nat) -1 1) (>> nat 1)))\n;; TODO: consider exponent representations, which may be more compact\n(define (decode-number in)      (string->number (decode-string in #f)))\n(define (decode-bytes in l)     (if l (read-bytes l in)\n                                  (decode-bytes in (decode-nat in #f))))\n(define (decode-symbol in l)    (string->symbol (decode-string in l)))\n(define (decode-string in l)    (bytes->string/utf-8 (decode-bytes in l)))\n(define (decode-pair  in ta td) (cons (decode in ta) (decode in td)))\n(define (decode-tuple in ts)    (list->vector (decode in ts)))\n(define (decode-list  in l t)   (if l (decode in (make-list l t))\n                                  (decode-list in (decode-nat in #f) t)))\n(define (decode-array in l t)   (if l (decode-tuple in (make-list l t))\n                                  (decode-array in (decode-nat in #f) t)))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/common.rkt",
    "content": "#lang racket/base\n(provide symbolo numbero stringo byteso pairo vectoro booleano integero\n         not-symbolo not-numbero not-stringo not-byteso\n         not-pairo not-vectoro not-booleano not-integero\n         vector==listo bytes==listo <=o <o string<=o string<o absento\n         appendo removeo membero not-membero uniqueo)\n(require \"order.rkt\" \"syntax.rkt\")\n\n(define-relation (symbolo t)\n  (any<=o term.symbol.min t) (any<=o t term.symbol.max)\n  (=/= t term.symbol.max))\n(define-relation (numbero t)\n  (any<=o term.number.min t) (any<=o t term.number.max)\n  (=/= t term.number.min) (=/= t term.number.max))\n(define-relation (stringo t)\n  (any<=o term.string.min t) (any<=o t term.string.max)\n  (=/= t term.string.max))\n(define-relation (byteso t)\n  (any<=o term.bytes.min t) (any<=o t term.bytes.max)\n  (=/= t term.bytes.max))\n(define-relation (pairo t) (fresh (a d) (== t `(,a . ,d))))\n(define-relation (vectoro t)\n  (any<=o term.vector.min t) (any<=o t term.bytes.max)\n  (=/= t term.vector.max))\n(define-relation (booleano t) (conde ((== t #t)) ((== t #f))))\n(define-relation (integero t) (flooro t t))\n\n(define-relation (not-symbolo t)\n  (conde ((any<=o t term.symbol.min) (=/= t term.symbol.min))\n         ((any<=o term.symbol.max t))))\n(define-relation (not-numbero t)\n  (conde ((any<=o t term.number.min))\n         ((any<=o term.number.max t))))\n(define-relation (not-stringo t)\n  (conde ((any<=o t term.string.min) (=/= t term.string.min))\n         ((any<=o term.string.max t))))\n(define-relation (not-byteso t)\n  (conde ((any<=o t term.bytes.min) (=/= t term.bytes.min))\n         ((any<=o term.bytes.max t))))\n(define-relation (not-pairo t)\n  (conde ((any<=o t term.pair.min) (=/= t term.pair.min))\n         ((any<=o term.pair.max t) (=/= t term.pair.max))))\n(define-relation (not-vectoro t)\n  (conde ((any<=o t term.vector.min) (=/= t term.vector.min))\n         ((any<=o term.vector.max t))))\n(define-relation (not-booleano t) (=/= t #t) (=/= t #f))\n(define-relation (not-integero t) (fresh (x) (flooro t x) (=/= t x)))\n\n;; TODO: /o, %o, quotiento, remaindero?\n(define-relation (<=o t1 t2) (numbero t1) (numbero t2) (any<=o t1 t2))\n(define-relation (<o  t1 t2) (<=o t1 t2) (=/= t1 t2))\n(define-relation (string<=o t1 t2) (stringo t1) (stringo t2) (any<=o t1 t2))\n(define-relation (string<o  t1 t2) (string<=o t1 t2) (=/= t1 t2))\n\n(define-relation (vector/i==listo i t1 t2)\n  (fresh (len x xs i+1)\n    (vector-lengtho t1 len)\n    (conde ((== t2 '()) (== i len))\n           ((== t2 `(,x . ,xs))\n            (<o i len)\n            (+o i 1 i+1)\n            (vector-refo t1 i x)\n            (vector/i==listo i+1 t1 xs)))))\n(define-relation (vector==listo t1 t2) (vector/i==listo 0 t1 t2))\n\n(define-relation (bytes/i==listo i t1 t2)\n  (fresh (len x xs i+1)\n    (bytes-lengtho t1 len)\n    (conde ((== t2 '()) (== i len))\n           ((== t2 `(,x . ,xs))\n            (<o i len)\n            (+o i 1 i+1)\n            (bytes-refo t1 i x)\n            (bytes/i==listo i+1 t1 xs)))))\n(define-relation (bytes==listo t1 t2) (bytes/i==listo 0 t1 t2))\n\n(define-relation (absent-vectoro x v i)\n  (fresh (len element i+1)\n    (vector-lengtho v len)\n    (conde ((== i len))\n           ((<o i len)\n            (+o i 1 i+1)\n            (vector-refo v i element)\n            (absento x element)\n            (absent-vectoro x v i+1)))))\n(define-relation (absento x t)\n  (=/= x t)\n  (conde ((fresh (a d)\n            (== t `(,a . ,d))\n            (absento x a)\n            (absento x d)))\n         ((absent-vectoro x t 0))\n         ((not-pairo t) (not-vectoro t))))\n\n(define-relation (appendo xs ys xsys)\n  (conde ((== xs '()) (== ys xsys))\n         ((fresh (a d res)\n            (== `(,a . ,d)   xs)\n            (== `(,a . ,res) xsys)\n            (appendo d ys res)))))\n\n(define-relation (removeo x xs ys)\n  (conde ((== xs '()) (== ys '()))\n         ((fresh (d)\n            (== `(,x . ,d) xs)\n            (removeo x d ys)))\n         ((fresh (a d res)\n            (== `(,a . ,d) xs)\n            (=/= x a)\n            (== `(,a . ,res) ys)\n            (removeo x d res)))))\n\n(define-relation (membero x xs)\n  (fresh (a d)\n    (== xs `(,a . ,d))\n    (conde ((==  x a))\n           ((=/= x a) (membero x d)))))\n\n(define-relation (not-membero x xs)\n  (conde ((== xs '()))\n         ((fresh (a d)\n            (== xs `(,a . ,d))\n            (=/= x a)\n            (not-membero x d)))))\n\n(define-relation (uniqueo xs)\n  (conde ((== xs '()))\n         ((fresh (a d)\n            (== `(,a . ,d) xs)\n            (not-membero a d)\n            (uniqueo d)))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/concrete-syntax-extended.rkt",
    "content": "#lang racket/base\n(provide (all-from-out \"concrete-syntax.rkt\")\n         _ not and or if when unless cond begin let let* lambda quasiquote\n         apply append map/merge map/append map filter filter-not)\n(require \"concrete-syntax.rkt\"\n         (for-syntax racket/base) racket/stxparam\n         (rename-in \"misc.rkt\"\n                    (map/merge  rkt:map/merge)\n                    (map/append rkt:map/append))\n         (rename-in racket/base\n                    (_          rkt:_)\n                    (not        rkt:not)\n                    (and        rkt:and)\n                    (or         rkt:or)\n                    (begin      rkt:begin)\n                    (let        rkt:let)\n                    (let*       rkt:let*)\n                    (lambda     rkt:lambda)\n                    (if         rkt:if)\n                    (when       rkt:when)\n                    (unless     rkt:unless)\n                    (cond       rkt:cond)\n                    (quasiquote rkt:quasiquote)\n                    (apply      rkt:apply)\n                    (append     rkt:append)\n                    (map        rkt:map)\n                    (filter     rkt:filter))\n         (rename-in racket/list\n                    (filter-not rkt:filter-not)))\n\n(define-syntax-rule (define-alias/term name name.term name.else)\n  (define-syntax (name stx)\n    (case (current-vocabulary)\n      ((term) (syntax-case stx ()\n                ((_ . args) #'(name.term . args))\n                (_          #'name.term)))\n      (else   (syntax-case stx ()\n                ((_ . args) #'(name.else . args))\n                (_          #'name.else))))))\n\n(define-syntax-rule (define-alias/formula&term name name.formula name.term name.else)\n  (define-syntax (name stx)\n    (case (current-vocabulary)\n      ((formula) (syntax-case stx ()\n                   ((_ . args) #'(name.formula . args))\n                   (_          #'name.formula)))\n      ((term)    (syntax-case stx ()\n                   ((_ . args) #'(name.term . args))\n                   (_          #'name.term)))\n      (else      (syntax-case stx ()\n                   ((_ . args) #'(name.else . args))\n                   (_          #'name.else))))))\n\n(define-alias/formula&term not   ~              dbk:not   rkt:not)\n(define-alias/formula&term and   conj           dbk:and   rkt:and)\n(define-alias/formula&term or    disj           dbk:or    rkt:or)\n(define-alias/formula&term apply apply-relation dbk:apply rkt:apply)\n\n(define-alias/term begin      dbk:begin      rkt:begin)\n(define-alias/term let        dbk:let        rkt:let)\n(define-alias/term let*       dbk:let*       rkt:let*)\n(define-alias/term lambda     dbk:lambda     rkt:lambda)\n(define-alias/term if         dbk:if         rkt:if)\n(define-alias/term when       dbk:when       rkt:when)\n(define-alias/term unless     dbk:unless     rkt:unless)\n(define-alias/term cond       dbk:cond       rkt:cond)\n(define-alias/term quasiquote dbk:quasiquote rkt:quasiquote)\n(define-alias/term _          ??             rkt:_)\n\n(define-alias/term append     dbk:append     rkt:append)\n(define-alias/term map/merge  dbk:map/merge  rkt:map/merge)\n(define-alias/term map/append dbk:map/append rkt:map/append)\n(define-alias/term map        dbk:map        rkt:map)\n(define-alias/term filter     dbk:filter     rkt:filter)\n(define-alias/term filter-not dbk:filter-not rkt:filter-not)\n\n(define-syntax (dbk:quasiquote/level stx)\n  (syntax-case stx (quasiquote unquote unquote-splicing)\n    ((_ level   (quasiquote       q))         #'(dbk:term (list 'quasiquote       (dbk:quasiquote/level (level) q))))\n    ((_ (level) (unquote          q))         #'(dbk:term (list 'unquote          (dbk:quasiquote/level level   q))))\n    ((_ (level) (unquote-splicing q))         #'(dbk:term (list 'unquote-splicing (dbk:quasiquote/level level   q))))\n    ((_ ()      (unquote          e))         #'(dbk:term e))\n    ((_ ()      ((unquote-splicing e) . q.d)) #'(dbk:append (dbk:term e) (dbk:quasiquote/level ()    q.d)))\n    ((_ level   (q.a . q.d))                  #'(dbk:cons                (dbk:quasiquote/level level q.a)\n                                                                         (dbk:quasiquote/level level q.d)))\n    ((_ level   #(q ...))                     #'(dbk:list->vector        (dbk:quasiquote/level level (q ...))))\n    ((_ level   quasiquote)                   (raise-syntax-error #f \"misplaced quasiquote\"       stx))\n    ((_ level   unquote)                      (raise-syntax-error #f \"misplaced unquote\"          stx))\n    ((_ level   unquote-splicing)             (raise-syntax-error #f \"misplaced unquote-splicing\" stx))\n    ((_ level   q)                            #'(dbk:term (quote q)))))\n\n(define-syntax-rule (dbk:quasiquote q) (dbk:quasiquote/level () q))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/concrete-syntax.rkt",
    "content": "#lang racket/base\n(provide\n  fresh-name with-fresh-names ??\n  (for-syntax current-vocabulary)\n  with-no-vocabulary with-formula-vocabulary with-term-vocabulary\n  conj disj imply iff ~ all exist fresh conde query== query\n  == =/= any<= any< flooro +o *o\n  vector-lengtho vector-refo bytes-lengtho bytes-refo symbol==stringo string==utf8-byteso\n  dbk:term dbk:app dbk:apply dbk:cons dbk:list->vector dbk:append dbk:not\n  dbk:map/merge dbk:map/append dbk:map dbk:filter dbk:filter-not\n  dbk:begin dbk:let dbk:let* dbk:lambda dbk:if dbk:when dbk:unless dbk:cond dbk:and dbk:or\n  apply-relation\n  relation-kind relation-arity relation-properties relation-properties-set!\n  relation-method relation-dirty! relation-clean!\n  define-relation define-relation/table define-relation/input\n  define-relations)\n(require \"abstract-syntax.rkt\" \"misc.rkt\" \"stream.rkt\"\n         (for-syntax racket/base) racket/list racket/struct racket/stxparam)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Names\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; TODO: this might belong in abstract-syntax.rkt\n\n(define fresh-name-count (make-parameter #f))\n\n(define (call-with-fresh-names thunk)\n  (if (fresh-name-count)\n    (thunk)\n    (parameterize ((fresh-name-count 0))\n      (thunk))))\n\n(define-syntax-rule (with-fresh-names body ...)\n  (call-with-fresh-names (lambda () body ...)))\n\n(define (fresh-name name)\n  (define uid.next (fresh-name-count))\n  (unless uid.next (error \"fresh name not available:\" name))\n  (fresh-name-count (+ uid.next 1))\n  (cons uid.next (if (pair? name) (cdr name) name)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Anonymous variables\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define anonymous-vars (make-parameter #f))\n\n(define (anonymous-var (sym '_))\n  (unless (anonymous-vars) (error \"misplaced anonymous variable\"))\n  (define name (fresh-name sym))\n  (anonymous-vars (cons name (anonymous-vars)))\n  (t:var name))\n\n(define-syntax formula/anonymous-vars\n  (syntax-rules ()\n    ((_ body ...) (parameterize ((anonymous-vars '()))\n                    (define f (let () body ...))\n                    (if (null? (anonymous-vars))\n                      f\n                      (f:exist (anonymous-vars) f))))))\n\n(define-syntax (?? stx)\n  (syntax-case stx ()\n    ((_ . args) (raise-syntax-error #f \"cannot apply anonymous variable\" stx))\n    (_          #'(anonymous-var '??))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Vocabularies\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-syntax-parameter stxparam.vocabulary #f)\n(begin-for-syntax (define-syntax-rule (current-vocabulary)\n                    (syntax-parameter-value #'stxparam.vocabulary)))\n\n(define-syntax-rule (with-no-vocabulary      body ...) (syntax-parameterize ((stxparam.vocabulary #f))       body ...))\n(define-syntax-rule (with-formula-vocabulary body ...) (syntax-parameterize ((stxparam.vocabulary 'formula)) body ...))\n(define-syntax-rule (with-term-vocabulary    body ...) (syntax-parameterize ((stxparam.vocabulary 'term))    body ...))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Relations\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (relation-apply r . args)\n  (define l.args  (length args))\n  (define l.extra (- (relation-arity r) (- l.args 1)))\n  (when (= l.args 0)\n    (error \"relation-apply requires at least one argument besides the relation:\" r args))\n  (when (< l.extra 0)\n    (error \"relation-apply number of arguments exceeds relation arity:\" r args))\n  (define rargs      (reverse args))\n  (define arg.last   (car rargs))\n  (define rargs.init (cdr rargs))\n  (define attrs      (hash-ref (relation-properties r) 'attributes (range (relation-arity r))))\n  (define names      (s-drop (- l.args 1) attrs))\n  (formula/anonymous-vars\n    (let* ((vars.last (map (lambda (n) (anonymous-var (vector 'apply n))) names))\n           (args.new  (foldl cons vars.last rargs.init)))\n      (conj (== arg.last vars.last)\n            (apply r args.new)))))\n\n(define (relation-kind            r)     (if (relation? r)\n                                           ((relation-method r) 'kind)\n                                           `(primitive ,r)))\n(define (relation-arity           r)     ((relation-method r) 'arity))\n(define (relation-properties      r)     ((relation-method r) 'properties))\n(define (relation-properties-set! r k v) ((relation-method r) 'properties-set! k v))\n(define (relation-dirty!          r)     ((relation-method r) 'dirty!))\n(define (relation-clean!          r)     ((relation-method r) 'clean!))\n\n;; TODO: maybe normalize definitions (axioms) to clausal form first, for stronger assumptions when analyzing safety\n\n;; TODO: Datalog safety check\n;; Due to mutual recursion, this will have to be run across multiple relations simultaneously, not individually.\n;(define (relation-finite? r)\n  ;(or (not (eq? 'rule (relation-kind r)))\n      ;(match-let (((f:all (f:imply f.body (f:relate _ vars.head))) ((relation-method r) 'formula)))\n        ;;; TODO:\n        ;;; all vars.head must be mentioned at least once in a positive position\n        ;;; all dependency relations must be finite (or the particular call to its args must be total)\n        ;;; all relations mentioned in subqueries must be stratified\n        ;;; all terms in recursive calls or assigned to head vars are non-function literals\n        ;;;   head vars can be function terms if this relation isn't recursive\n        ;(let loop ((f f.body) (fs.pending '()) (vars.pending (list->set vars.head)))\n          ;(match f\n            ;((f:relate r.f args.f)\n             ;;; TODO: also try totality checking\n             ;;; TODO: recognize mutual recursion\n             ;;; TODO: primitives need special handling\n             ;(and (relation-finite? r.f)\n                  ;;; TODO: what about compound/function literals?  these can violate safety\n                  ;;; TODO: look for subqueries and verify stratification\n                  ;(continue (set-subtract vars.pending (t-free-vars-positive* args.f)))))\n            ;((f:or f.1 f.2)\n             ;;; TODO: instead, reorganize finiteness checking to avoid redundant work\n             ;;; instead, we could determine what head vars are positively referenced in each of f.1 and f.2\n             ;;; taking their intersection, and subtracting that from the total\n             ;;; and if either fails to be finite locally, it can return #f to signal combined failure\n             ;(and (loop f.1 fs.pending vars.pending)\n                  ;(loop f.2 fs.pending vars.pending)))\n            ;((f:and f.1 f.2) (loop f.1 (cons f.2 fs.pending) vars.pending))\n            ;((f:not f)\n             ;;; TODO: negative polarity\n\n             ;)\n            ;((f:exist params.f body.f)\n             ;;; TODO: shadow? or is this not necessary?\n             ;(loop body.f fs.pending vars.pending))\n            ;(_ (error \"TODO: finiteness check for unhandled formula type:\" f)))))))\n\n;; TODO: should also return info about any change in arg groundness after this relation runs?\n;(define (relate-total? relation args)\n  ;)\n\n(struct relation (method)\n        #:methods gen:custom-write\n        ((define write-proc\n           (make-constructor-style-printer\n             (lambda (r) 'relation)\n             (lambda (r) (list (cons 'kind  (relation-kind       r))\n                               (cons 'arity (relation-arity      r))\n                               (relation-properties r))))))\n        #:property prop:procedure\n        (lambda (r . args)\n          (unless (= (relation-arity r) (length args))\n            (error \"relation called with invalid number of arguments\" args r))\n          (f:relate r (map scm->term args))))\n\n(define (make-relation kind arity parent->self)\n  (define properties (hash))\n  (relation\n    (parent->self\n      (method-lambda\n        ((kind)                   kind)\n        ((arity)                  arity)\n        ((properties)             properties)\n        ((properties-set!    k v) (when (eq? k 'attributes)\n                                    (unless (and (list? v) (= arity (length v)))\n                                      (error \"invalid number of attributes for arity:\" arity v)))\n                                  (set! properties (hash-set    properties k v)))\n        ((properties-remove! k)   (set! properties (hash-remove properties k)))\n        ((dirty!)                 (void))\n        ((clean!)                 (void))))))\n\n(define (relation/primitive arity name)\n  (make-relation\n    `(primitive ,name) arity\n    (lambda (parent) parent)))\n\n(define (relation/rule arity rule)\n  (define r\n    (make-relation\n      'rule arity\n      (lambda (parent)\n        (method-lambda\n          ((apply . args) (define len (length args))\n                          (unless (= len arity) (error \"invalid number of arguments:\" arity args))\n                          (apply rule args))\n          ((formula)      (define attrs  (hash-ref (relation-properties r) 'attributes (range arity)))\n                          (define params (map fresh-name attrs))\n                          (define vars   (map t:var      params))\n                          (f:all params (f:imply (apply rule vars) (apply r vars))))\n          (else           parent)))))\n  r)\n\n(define (relation/table arity path)\n  ;; TODO: if path is #f, use temporary storage\n  (make-relation\n    'table arity\n    (lambda (parent)\n      (method-lambda\n        ;; TODO:\n        ;; Define instantiation of table controllers that manage their own column constraints.\n        ;; A single query might instantiate multiple controllers for the same table, each with\n        ;; a different set of constraints/bounds.\n        ;; Controller interface provides:\n        ;; - retrieval of statistics:\n        ;;   - total tuple count\n        ;;   - per-column cardinality\n        ;;   - per-column bounds\n        ;; - update of per-column bounds\n        ;; - index descriptions\n\n        ;; TODO:\n        ;; Define an interface for updating table content.\n        ;; Maintain a log of insertions and deletions.\n        ;; Possibly support log subscriptions to allow other processes to observe changes.\n        ((path) path)\n        (else   parent)))))\n\n(define (relation/input arity produce)\n  (make-relation\n    'input arity\n    (lambda (parent)\n      (method-lambda\n        ((produce) (s-enumerate 0 (produce)))\n        (else      parent)))))\n\n(define-syntax apply-relation\n  (syntax-rules ()\n    ((_ r . args) (formula/anonymous-vars (with-term-vocabulary (relation-apply r . args))))))\n\n(define-syntax (define-relations stx)\n  (syntax-case stx ()\n    ((_ (kind (name.r param ...) body ...) ...)\n     (with-syntax (((r ...) (generate-temporaries #'(name.r ...))))\n       #'(begin (define-syntax (name.r stx)\n                  (syntax-case stx ()\n                    ((_ . args) #'(formula/anonymous-vars (with-term-vocabulary (r . args))))\n                    (_          #'r))) ...\n                (define-values (r ...)\n                  (values (defined-relation-value (kind (name.r param ...) body ...)) ...))\n                (begin (relation-properties-set! r 'name       'name.r)\n                       (relation-properties-set! r 'attributes '(param ...))) ...)))))\n\n(define-syntax defined-relation-value\n  (syntax-rules (primitive rule table input)\n    ((_ (rule      (name param ...) f ...))    (let ((r (relation/rule (length '(param ...))\n                                                                       (lambda (param ...)\n                                                                         (with-formula-vocabulary\n                                                                           (conj f ...))))))\n                                                 (relation-properties-set! r 'rule '((name param ...) :- f ...))\n                                                 r))\n    ((_ (table     (name param ...) body ...)) (relation/table     (length '(param ...)) body ...))\n    ((_ (input     (name param ...) body ...)) (relation/input     (length '(param ...)) body ...))\n    ((_ (primitive (name param ...)))          (relation/primitive (length '(param ...)) 'name))))\n\n(define-syntax-rule (define-relation           body ...) (define-relations (rule      body ...)))\n(define-syntax-rule (define-relation/table     body ...) (define-relations (table     body ...)))\n(define-syntax-rule (define-relation/input     body ...) (define-relations (input     body ...)))\n(define-syntax-rule (define-relation/primitive body ...) (define-relations (primitive body ...)))\n\n(define-syntax-rule (define-primitive-relations signature ...) (begin (define-relation/primitive signature) ...))\n\n(define-primitive-relations\n  (==                  t1 t2)\n  (=/=                 t1 t2)\n  (any<=               t1 t2)\n  (any<                t1 t2)\n  (flooro              t1 t2)\n  (+o                  t1 t2 t3)\n  (*o                  t1 t2 t3)\n  (vector-lengtho      t  l)\n  (vector-refo         t  i  x)\n  (bytes-lengtho       t  l)\n  (bytes-refo          t  i  x)\n  (symbol==stringo     t1 t2)\n  (string==utf8-byteso t1 t2))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Basic syntax for formulas and terms\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-syntax conj*\n  (syntax-rules ()\n    ((_)          f:true)\n    ((_ f)        f)\n    ((_ fs ... f) (f:and (conj* fs ...) f))))\n\n(define-syntax disj*\n  (syntax-rules ()\n    ((_)          f:false)\n    ((_ f)        f)\n    ((_ f fs ...) (f:or f (disj* fs ...)))))\n\n(define-syntax-rule (conj   fs ...)    (with-formula-vocabulary (conj*   fs ...)))\n(define-syntax-rule (disj   fs ...)    (with-formula-vocabulary (disj*   fs ...)))\n(define-syntax-rule (imply  f.h f.c)   (with-formula-vocabulary (f:imply f.h f.c)))\n(define-syntax-rule (iff    f.0 f ...) (with-formula-vocabulary (and (f:iff f.0 f) ...)))\n(define-syntax-rule (~      f)         (with-formula-vocabulary (f:not   f)))\n\n(define-syntax-rule (define-quantifier-syntax name f:quantifier)\n  (... (define-syntax (name stx)\n         (syntax-case stx ()\n           ((_ (x ...) body ...)\n            (with-syntax (((name.x ...) (generate-temporaries #'(x ...))))\n              #'(let ((name.x (fresh-name 'x)) ...)\n                  (let ((x (t:var name.x)) ...)\n                    (f:quantifier (list name.x ...) (conj body ...))))))))))\n\n(define-quantifier-syntax exist f:exist)\n(define-quantifier-syntax all   f:all)\n\n(define-syntax-rule (fresh (x ...) body ...) (exist (x ...) body ...))\n\n(define-syntax-rule (conde (f.0 fs.0 ...)\n                           (f   fs   ...) ...)\n  (disj (conj f.0 fs.0 ...)\n        (conj f   fs   ...) ...))\n\n(define-syntax query==\n  (syntax-rules ()\n    ((_ result (x ...) body ...) (query== result x.0 (exist (x ...)\n                                                       (== x.0 (list x ...))\n                                                       body ...)))\n    ((_ result x       body ...) (let* ((name.x (fresh-name 'q))\n                                        (x      (t:var      name.x)))\n                                   (f:query result name.x (conj body ...))))))\n\n;; TODO: can we auto-lift these terms via anonymous vars?\n(define-syntax query\n  (syntax-rules ()\n    ((_ (x ...) body ...) (query x.0 (exist (x ...)\n                                       (== x.0 (list x ...))\n                                       body ...)))\n    ((_ x       body ...) (with-fresh-names\n                            (let* ((name.x (fresh-name 'q))\n                                   (x      (t:var      name.x)))\n                              (t:query name.x (conj body ...)))))))\n\n(define (dbk:term         x)        (scm->term x))\n(define (dbk:app          p . args) (t:app (scm->term p) (map scm->term args)))\n(define (dbk:prim-app     p . args) (t:app (t:prim    p) (map scm->term args)))\n(define (dbk:cons         a d)      (dbk:prim-app 'cons         a d))\n(define (dbk:list->vector xs)       (dbk:prim-app 'list->vector xs))\n\n(define-syntax (dbk:apply stx)\n  (syntax-case stx ()\n    ((_ . args) #'(dbk:prim-app 'apply . args))\n    (_          #'(t:prim 'apply))))\n\n(define-syntax-rule (define-lambda (name . params) body)\n  (define-syntax (name stx)\n    (syntax-case stx ()\n      ((_ . args) #'(dbk:app (dbk:lambda params body) . args))\n      (_          #'(dbk:lambda params body)))))\n\n(define-lambda (dbk:not        x)                  (dbk:if x #f #t))\n(define-lambda (dbk:append     xs ys)              (dbk:prim-app   'append    xs ys))\n(define-lambda (dbk:map/merge  f merge default xs) (dbk:prim-app   'map/merge f merge default xs))\n(define-lambda (dbk:map/append f               xs) (dbk:map/merge  f (dbk:lambda (a b) (dbk:append a b)) '()            xs))\n(define-lambda (dbk:map        f               xs) (dbk:map/append (dbk:lambda (x) (list (dbk:app f x)))                xs))\n(define-lambda (dbk:filter     p               xs) (dbk:map/append (dbk:lambda (x) (dbk:if (dbk:app p x) (list x) '())) xs))\n(define-lambda (dbk:filter-not p               xs) (dbk:filter     (dbk:lambda (x) (dbk:not (dbk:app p x)))             xs))\n\n(define-syntax dbk:begin\n  (syntax-rules ()\n    ((_)          (dbk:term (void)))\n    ((_ e)        (dbk:term e))\n    ((_ e es ...) (dbk:let ((temp.begin (dbk:term e))) es ...))))\n\n(define-syntax dbk:let\n  (syntax-rules ()\n    ((_ ((x e) ...) body ...) (let ((name.x (fresh-name 'x)) ...)\n                                (let ((x (t:var name.x)) ...)\n                                  (with-term-vocabulary\n                                    (t:let (list (cons name.x (dbk:term e)) ...)\n                                           (dbk:begin body ...))))))))\n\n(define-syntax dbk:let*\n  (syntax-rules ()\n    ((_ ()                  body ...) (dbk:let ()                              body ...))\n    ((_ ((x e) (xs es) ...) body ...) (dbk:let ((x e)) (dbk:let* ((xs es) ...) body ...)))))\n\n(define-syntax (dbk:lambda stx)\n  (syntax-case stx ()\n    ((_ (x ...)     body ...)\n     (with-syntax (((name.x ...) (generate-temporaries #'(x ...))))\n       #'(let ((name.x (fresh-name 'x)) ...)\n           (let ((x (t:var name.x)) ...)\n             (with-term-vocabulary\n               (t:lambda (list  name.x ...)        (dbk:begin body ...)))))))\n    ((_ (x ... . y) body ...)\n     (with-syntax (((name.x ...) (generate-temporaries #'(x ...))))\n       #'(let ((name.y (fresh-name 'y)) (name.x (fresh-name 'x)) ...)\n           (let ((x (t:var name.x)) ...)\n             (with-term-vocabulary\n               (t:lambda (list* name.x ... name.y) (dbk:begin body ...)))))))))\n\n(define-syntax-rule (dbk:if     c t f)      (t:if (dbk:term c) (dbk:term t) (dbk:term f)))\n(define-syntax-rule (dbk:when   c body ...) (dbk:if c (dbk:begin body ...) (dbk:term (void))))\n(define-syntax-rule (dbk:unless c body ...) (dbk:if c (dbk:term (void))    (dbk:begin body ...)))\n\n(define-syntax (dbk:cond stx)\n  (syntax-case stx (else =>)\n    ((_)                      #'(dbk:term (void)))\n    ((_ (else e ...))         #'(dbk:begin e ...))\n    ((_ (else e ...) etc ...) (raise-syntax-error #f \"misplaced else\" stx))\n    ((_ (c => p) cs ...)      #'(dbk:let ((x c)) (dbk:if x (dbk:app   p c)   (dbk:cond cs ...))))\n    ((_ (c e ...) cs ...)     #'(                 dbk:if c (dbk:begin e ...) (dbk:cond cs ...)))\n    ((_ c cs ...)             #'(dbk:let ((x c)) (dbk:if x x                 (dbk:cond cs ...))))))\n\n(define-syntax dbk:and\n  (syntax-rules ()\n    ((_)          (dbk:term #t))\n    ((_ e)        (dbk:term e))\n    ((_ e es ...) (dbk:if e (dbk:and es ...) (dbk:term #f)))))\n\n(define-syntax dbk:or\n  (syntax-rules ()\n    ((_)          (dbk:term #f))\n    ((_ e)        (dbk:term e))\n    ((_ e es ...) (dbk:let ((temp.or e)) (dbk:if temp.or temp.or (dbk:or es ...))))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/config.rkt",
    "content": "#lang racket/base\n(provide current-config config.default file->config current-config-ref\n         current-config-set current-config-set/alist\n         current-config-set! current-config-set!/alist\n         current-config-relation-path config-ref config-set config-set/alist\n         policy-allow? logf logf/date)\n(require racket/date racket/string)\n\n(define config.default\n  (make-immutable-hash\n    '((relation-root-path         . #f) ;; root path for materialized relations\n      (temporary-root-path        . #f) ;; root path for temporary caches\n      (buffer-size                . 100000)\n      (progress-logging-threshold . 100000) ;; number of rows per log message\n      ;; interactive, always, never\n      (update-policy              . interactive) ;; rebuild stale tables\n      (cleanup-policy             . interactive) ;; remove unspecified indexes\n      (migrate-policy             . interactive) ;; migrate to new data format\n      (allow-missing-data-policy  . interactive) ;; ignore missing data\n      ;; biased-interleaving (default), depth-first\n      (search-strategy            . #f))))\n\n(define (valid-config?! cfg)\n  (define (valid-policy? policy) (member policy '(always never interactive)))\n  (define (valid-path?   p)      (or (not p) (string? p) (path? p)))\n  (define-syntax validate!\n    (syntax-rules ()\n      ((_ (test ... key) ...)\n       (begin (unless (test ... (hash-ref cfg 'key))\n                (error \"invalid config:\" 'key (hash-ref cfg 'key))) ...))))\n  (validate! (valid-path?   relation-root-path)\n             (valid-path?   temporary-root-path)\n             (< 0           buffer-size)\n             (< 0           progress-logging-threshold)\n             (valid-policy? update-policy)\n             (valid-policy? cleanup-policy)\n             (valid-policy? migrate-policy))\n  cfg)\n\n(define (config-ref cfg key)       (hash-ref cfg key))\n(define (config-set cfg key value) (valid-config?! (hash-set cfg key value)))\n(define (config-set/alist cfg kvs)\n  (valid-config?! (foldl (lambda (kv cfg) (hash-set cfg (car kv) (cdr kv)))\n                         cfg kvs)))\n(define (file->config path)\n  (config-set/alist config.default (with-input-from-file path read)))\n\n(define current-config (make-parameter config.default))\n(define (current-config-ref key)       (config-ref (current-config) key))\n(define (current-config-set key value) (config-set (current-config) key value))\n(define (current-config-set/alist kvs) (config-set/alist (current-config) kvs))\n(define (current-config-set! key value)\n  (current-config (current-config-set key value)))\n(define (current-config-set!/alist kvs)\n  (current-config (current-config-set/alist kvs)))\n(define (current-config-relation-path path)\n  (cond ((and (string? path) (string-prefix? path \"/\")) path)\n        (else (define relation-root-path\n                (current-config-ref 'relation-root-path))\n              (if relation-root-path\n                (path->string (build-path relation-root-path path))\n                path))))\n\n(define (policy-allow? policy describe prompt-message prompt-args)\n  (case policy\n    ((interactive)\n     (describe)\n     (apply printf (string-append prompt-message \" [y/n]: \") prompt-args)\n     (case (read)\n       ((y Y yes Yes YES) #t)\n       (else              #f)))\n    ((always) #t)\n    (else     #f)))\n\n(define (pad2 n) (let ((s (number->string n)))\n                   (if (<= 2 (string-length s)) s\n                     (string-append \"0\" s))))\n\n(define (logf/date message . args)\n  (define msg (string-append \"[~a/~a/~a - ~a:~a:~a] \" message))\n  (define d (current-date))\n  (define stamp (list (date-month d) (date-day d)\n                      (date-hour d) (date-minute d) (date-second d)))\n  (apply eprintf msg (date-year d) (append (map pad2 stamp) args)))\n\n(define (logf message . args)\n  (define msg (string-append \"[~a:~a:~a] \" message))\n  (define d (current-date))\n  (define stamp (list (date-hour d) (date-minute d) (date-second d)))\n  (apply eprintf msg (append (map pad2 stamp) args)))\n\n;; TODO: job system\n;; single worker thread\n;; jobs w/ independent loggers (port, file, in-memory, or null)\n\n;(define (thread/wait proc)\n;  (define t (thread proc))\n;  (plumber-add-flush! (current-plumber)\n;                      (lambda (h) (thread-wait t)))\n;  t)\n"
  },
  {
    "path": "medikanren2/dbk/dbk/constraint.rkt",
    "content": "#lang racket/base\n(provide bis:query->stream dfs:query->stream\n         relation/table define-relation/table)\n(require \"misc.rkt\" \"order.rkt\" \"stream.rkt\" \"syntax.rkt\" \"table.rkt\"\n         (except-in racket/match ==)\n         racket/function racket/list racket/set racket/vector)\n\n#| ;; Definitions for performance diagnostics\n(require racket/pretty)\n(define (pretty-var-bindings vbs)\n  (map (lambda (vb) (cons (var-name (car vb)) (cdr vb))) vbs))\n(define (state-var-bindings st)\n  (pretty-var-bindings\n    (filter (lambda (kv) (not (vcx? (cdr kv)))) (hash->list (state-var=>cx st)))))\n;|#\n\n;; TODO:\n;; extra solvers, beyond bounds checking/limiting for domains and arcs:\n;;   +o, *o:\n;;     for generality, could use a substitute and simplify model\n;;       if a + b = c, then replace c whenever it appears\n;;       still need some functional dependencies (only forward?)\n;;          e.g., a + b = c and a + b = d implies c = d\n;;          also true that a + b = c and a + d = c implies b = d\n;;          however, substituting for c and simplifying covers this:\n;;            a + b = a + d, and simplifying shows b = d\n;;          similar for *o, but case split with 0\n;;     in special cases, can do linear programming\n;;       incremental simplex\n;;       keep in mind: flooro, X-lengtho, X-refo introduce integer constraints\n;;     in other cases: difference equations, polynomials...\n;;     calculus for optimization\n;;     etc.\n;;   (uninterpreted) functional dependencies:\n;;     == propagation forward\n;;       e.g., if (f a b = c) and (f a b = d) then (== c d)\n;;     =/= propagation in reverse\n;;       e.g., if (f a b = c) and (f a d = e) and (c =/= e) then (b =/= d)\n;;         note: this is not a bi-implication unless the function is one-to-one\n;;         (expresssed as two opposing functional dependency constraints)\n;;     also can be used to encode some forms of subsumption checking\n;;   X-refo: maintain minimum length and partial mapping\n;;   string==byteso: look for impossible utf-8 bytes (possibly partial mapping)\n\n;; TODO:\n;; satisfiability loop for a variable constraint graph:\n;;   after propagation quiessence, attempt to divide and conquer\n;;     this is attempted once each time through the satisfiability loop because\n;;       new assignments may lead to disconnection, allowing more decomposition\n;;     decompose into subproblem per subgraph of connected variables\n;;       connection comes from dependency arcs implied by shared constraints\n;;       each subgraph can be satisfied independently\n;;       subgraph solutions can be enumerated and composed\n;;\n;;   for each variable constraint subgraph:\n;;     while there are unresolved variables with possible assignments:\n;;       choose variable with lowest assignment-set cardinality\n;;       choose an assignment for the variable\n;;         may introduce/expand new constraints by stepping into a disj branch\n;;       re-enter satisfiability loop with any new constraints\n;;       if enumerating or loop fails, choose the next assignment\n;;       if no more assignments are available, fail\n;;     once no more unresolved variables, succeed\n;;   compose subgraph solutions\n;;     if any subgraph failed completely, composition also fails\n\n;;; TODO: occurs check for vector-ref\n\n(define (uid:new) (gensym))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Interval bounds for describing a (potentially-infinite) set of terms\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (term-bounds st t.0)\n  (define t (walk st t.0))\n  (cond ((pair? t)\n         (define b.a (term-bounds st (car t)))\n         (define b.d (term-bounds st (cdr t)))\n         (apply bounds\n                (append\n                  (if (bounds-lb-inclusive? b.a)\n                    (list (cons (bounds-lb b.a) (bounds-lb b.d)) (bounds-lb-inclusive? b.d))\n                    (list (cons (bounds-lb b.a) term.max)        #f))\n                  (if (bounds-ub-inclusive? b.a)\n                    (list (cons (bounds-ub b.a) (bounds-ub b.d)) (bounds-ub-inclusive? b.d))\n                    (list (cons (bounds-ub b.a) term.min)        #f)))))\n        ((vector? t)\n         (define b (term-bounds st (vector->list t)))\n         (bounds (list->vector (bounds-lb b)) (bounds-lb-inclusive? b)\n                 (list->vector (bounds-ub b)) (bounds-ub-inclusive? b)))\n        ((var? t) (vcx-bounds (state-vcx-ref st t)))\n        (else     (bounds t #t t #t))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Variable constraints\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(record vcx (bounds simple table disj use) #:transparent)\n(define vcx.empty (vcx (bounds bounds.any)\n                       (simple (seteq)) (table (seteq)) (disj (seteq)) (use (seteq))))\n\n(define (vcx-bounds-set  x b) (vcx:set x (bounds b)))\n(define (vcx-simple-add  x c) (vcx:set x (simple (set-add (vcx-simple x) c))))\n(define (vcx-table-add   x c) (vcx:set x (table  (set-add (vcx-table  x) c))))\n(define (vcx-disj-add    x c) (vcx:set x (disj   (set-add (vcx-disj   x) c))))\n(define (vcx-use-add     x c) (vcx:set x (use    (set-add (vcx-use    x) c))))\n(define (vcx-cx-clear x)      (vcx-bounds-set vcx.empty (vcx-bounds x)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Work queue with recency-based prioritization\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(struct queue (recent high low))\n(define queue.empty (queue (seteq) '() '()))\n(define (queue-empty? q) (set-empty? (queue-recent q)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Partially-satisfied state of a query's constraints\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(record state (qterm vars proc-stack log var=>cx cx pending))\n(define (state:new qterm) (state (qterm qterm) (vars (term-vars qterm)) (proc-stack '()) (log '())\n                                 (var=>cx (hash)) (cx (hash)) (pending queue.empty)))\n\n(define (state-vars-simplify st)\n  (state:set st (vars (term-vars (walk* st (set->list (state-vars st)))))))\n\n(define (state-vcx-ref st x)                          (hash-ref (state-var=>cx st) x vcx.empty))\n(define (state-vcx-set st x t) (state:set st (var=>cx (hash-set (state-var=>cx st) x t))))\n\n(define (state-proc-stack-push st proc-frame)\n  (define proc    (car proc-frame))\n  (define args    (cdr proc-frame))\n  (define parents (state-proc-stack st))\n  (let*/and ((st (c-apply st #f (c:conj (map (lambda (p)\n                                               ;(displayln `(=/= ,args ,(cdr p)))\n\n                                               (c:=/= args (cdr p)))\n                                             (filter (lambda (p) (equal? proc (car p)))\n                                                     parents))))))\n    (state:set st (proc-stack (cons proc-frame parents)))))\n(define (state-proc-stack-pop st) (state:set st (proc-stack (cdr (state-proc-stack st)))))\n\n(define (state-log-add st c)\n  (define log (state-log st))\n  (state:set st (log (and log (cons c log)))))\n\n(define (state-cx-add st vars vcx-add uid? c)\n  (if (null? vars)\n    (state-log-add st c)\n    (let ((uid (or uid? (uid:new))))\n      (foldl (lambda (x st)\n               (state-vcx-set st x (vcx-add (state-vcx-ref st x) uid)))\n             (state:set (state-log-add st c)\n                        (cx (hash-set (state-cx st) uid c)))\n             (set->list vars)))))\n\n(define (state-cx-remove* st uids)\n  (state:set st (cx (foldl (lambda (uid uid=>c) (hash-remove uid=>c uid))\n                           (state-cx st) uids))))\n\n(define (state-cx-update* st uids)\n  (define uid=>c (state-cx st))\n  (define c* (map (lambda (uid) (hash-ref uid=>c uid #f)) uids))\n  (foldl/and (lambda (uid c st) (if c (c-apply st uid c) st))\n             (state-cx-remove* st uids) uids c*))\n\n(define (state-uses-empty?! st)\n  (define uses (filter c:use? (hash-values (state-cx st))))\n  (unless (null? uses)\n    (error \":== dependencies are not ground:\"\n           (map (lambda (u)\n                  (match-define `#s(c:use ,vs ,l ,deps ,r ,desc) u)\n                  (pretty (==/use (walk* st l) (walk* st deps) r desc))\n                  (error \":== dependencies are not ground:\"\n                         (pretty (==/use (walk* st l) (walk* st deps) r desc))))\n                uses))))\n\n(define (state-solve-lte-cycles st)\n  (define cs (map (lambda (c)\n                    (match-define (c:<= lhs rhs) c)\n                    (c:<= (walk* st lhs) (walk* st rhs)))\n                  (filter c:<=? (hash-values (state-cx st)))))\n  ;; Kosaraju's algorithm for simplicity\n  (define a<=b (foldl (lambda (c a<=b)\n                        (match-define (c:<= lhs rhs) c)\n                        (hash-update a<=b lhs (lambda (rhss) (cons rhs rhss)) '()))\n                      (hash) cs))\n  (define b>=a (foldl (lambda (c b>=a)\n                        (match-define (c:<= lhs rhs) c)\n                        (hash-update b>=a rhs (lambda (lhss) (cons lhs lhss)) '()))\n                      (hash) cs))\n  (define (dfs graph pending.0 order.0 source)\n    (cond ((set-member? pending.0 source)\n           (match-define (cons pending order)\n             (foldl (lambda (target p&o)\n                      (match-define (cons p o) p&o)\n                      (dfs graph p o target))\n                    (cons (set-remove pending.0 source) order.0)\n                    (hash-ref graph source)))\n           (cons pending (cons source order)))\n          (else (cons pending.0 order.0))))\n  (define order.<=\n    (let loop ((pending (list->set (hash-keys a<=b))) (order '()))\n      (if (set-empty? pending)\n        order\n        (match-let (((cons pending order) (dfs a<=b pending order (set-first pending))))\n          (loop pending order)))))\n  (define sccs\n    (let loop ((order order.<=) (pending (list->set (hash-keys b>=a))))\n      (if (null? order)\n        '()\n        (match-let (((cons pending scc) (dfs b>=a pending '() (car order))))\n          (define rest (loop (cdr order) pending))\n          (if (null? scc) rest (cons scc rest))))))\n  (foldl/and (lambda (scc st)\n               (define t.0 (car scc))\n               (foldl/and (lambda (t st) (unify st t t.0)) st (cdr scc)))\n             st sccs))\n\n(define (state-schedule-add-var st x)\n  (define (st/q recent high low) (state:set st (pending (queue recent high low))))\n  (match-define (queue recent high low) (state-pending st))\n  (cond ((or (member x high)\n             (member x low))    st)\n        ((set-member? recent x) (st/q          recent            high (cons x low)))\n        (else                   (st/q (set-add recent x) (cons x high)        low))))\n\n(define (state-schedule-run st)\n  (define (update-and-loop st x)\n    (define t (walk st x))\n    (let*/and ((st (if (var? t) (var-update st t) st)))\n      (state-schedule-run st)))\n  (match-define (queue recent high low) (state-pending st))\n  (cond ((not (null? high)) (update-and-loop\n                              (state:set st (pending (queue recent (cdr high)     low)))\n                              (car high)))\n        ((not (null? low))  (define high.new (reverse low))\n                            (update-and-loop\n                              (state:set st (pending (queue recent (cdr high.new) '())))\n                              (car high.new)))\n        (else               (state:set st (pending queue.empty)))))\n\n(define (state-schedule-empty? st) (queue-empty? (state-pending st)))\n\n;; TODO: include a parameter to specify the degree of locality\n(define (state-enforce-local-consistency st)\n  #| ;; Performance diagnostics\n  (pretty-write `(before: term: ,(walk* st (state-qterm st))\n                          vcxs: ,(state-var-bindings st)))\n  ;|#\n  (let*/and ((st (state-schedule-run     st))\n             (st (state-solve-lte-cycles st)))\n    #| ;; Performance diagnostics\n    (pretty-write `(after: term: ,(walk* st (state-qterm st))\n                           vcxs: ,(state-var-bindings st)))\n    ;|#\n    (if (state-schedule-empty? st)\n      st\n      (state-enforce-local-consistency st))))\n\n(define (state-enforce-global-consistency st k.fail k.succeed)\n  ;; TODO: preserve progress made while finding first satisfying state (see factoring TODO below)\n  (let loop ((s (state->satisfied-states st)))\n    (match (s-next s)\n      ((? procedure? s) (thunk (loop s)))\n      ('()              (k.fail))\n      ((cons _ _)       (k.succeed st)))))\n\n;; TODO: factor out table constraint satisfaction to support pre-branch global satisfiability checking\n;;       in cases where we want to split a disjunction before committing to all table constraints\n;;       (taking the first result from a state->satisfied-states stream is not sufficient: we want to\n;;        preserve any state simplification progress made while searching for that first satisfier)\n(define (state->satisfied-states st)\n  (define (d<? d.0 d.1)\n    ;; TODO: figure out a better ordering heuristic for most-constrainedness\n    (< (length (cdr d.0)) (length (cdr d.1))))\n  ;; TODO: how do we respect chosen search strategy, such as interleaving search?\n  (define (choose-branch st.0 uid cs)\n    (define (k st?) (if st? (state->satisfied-states st?) '()))\n    (define st (state-cx-remove* st.0 (list uid)))\n    (s-append        (k (c-apply st #f          (car cs)))\n                     ;; TODO: negate (car cs) if possible, for better subsumption\n              (thunk (k (c-apply st uid (c:disj (cdr cs)))))))\n  (define (choose-variable st xs.observable xss)\n    (define x=>c&s\n      (foldl (lambda (x=>s x=>c&s)\n               (foldl (lambda (x&s x=>c&s)\n                        (match-define (cons x s) x&s)\n                        (match (hash-ref x=>c&s x #f)\n                          (#f (hash-set x=>c&s x (cons 1 s)))\n                          ((cons count s.0)\n                           (hash-set x=>c&s x (cons (+ count 1)\n                                                    (statistics-intersect s.0 s))))))\n                      x=>c&s (hash->list x=>s)))\n             (hash) xss))\n    ;; TODO: also consider paths provided by available table indexes, maybe via\n    ;; prioritized topological sort of SCCs.\n    (define (xcs<? a b)\n      (match-define (cons x.a (cons count.a (statistics ratio.a card.a))) a)\n      (match-define (cons x.b (cons count.b (statistics ratio.b card.b))) b)\n      ;; Order by increasing size-ratio, cardinality and decreasing ref count\n      ;; Prefer members of xs.observable\n      (or (< ratio.a ratio.b)\n          (and (= ratio.a ratio.b)\n               (or (< card.a card.b)\n                   (and (= card.a card.b)\n                        (or (> count.a count.b)\n                            (and (= count.a count.b)\n                                 (set-member? xs.observable x.a)\n                                 (not (set-member? xs.observable x.b)))))))))\n    (define xcss   (hash->list x=>c&s))\n    (define x.best (car (foldl (lambda (xcs xcs.min) (if (xcs<? xcs xcs.min) xcs xcs.min))\n                               (car xcss) (cdr xcss))))\n\n    #| ;; Performance diagnostics\n    (pretty-write `(choosing: ,(var-name x.best)\n                              ,(hash-ref x=>c&s x.best)\n                              ,(vcx-bounds (state-vcx-ref st x.best))\n                              all-choices: ,(pretty-var-bindings xcss)\n                              term: ,(walk* st (state-qterm st))\n                              vcxs: ,(state-var-bindings st)))\n    ;(read-line)\n    ;|#\n\n    (define t (bounds-lb (vcx-bounds (state-vcx-ref st x.best))))\n    (define (k st?) (if st? (state->satisfied-states st?) '()))\n    (s-append        (k (var-assign    st    x.best t))\n              (thunk (k (var-disassign st #f x.best t)))))\n  (match (state-enforce-local-consistency st)\n    (#f '())\n    (st (define cxs (hash->list (state-cx st)))\n        (match (map c:table-t (filter c:table? (map cdr cxs)))\n          ;; If there are no more table constraints, pick a disjunction to split\n          ('() (match (map (lambda (uid&c) (cons (car uid&c) (c:disj-cs (cdr uid&c))))\n                           (filter (lambda (uid&c) (c:disj? (cdr uid&c))) cxs))\n                 ;; If there are no more disjunctions either, we should be done\n                 ('() (list st))\n                 (ds  (define d.min (foldl (lambda (d d.min) (if (d<? d d.min) d d.min))\n                                           (car ds) (cdr ds)))\n                      (choose-branch st (car d.min) (cdr d.min)))))\n          (ts (let* ((st            (state-vars-simplify st))\n                     (xs.observable (state-vars          st))\n                     (xss           (map (lambda (t) (table-statistics st t)) ts))\n                     (sts.all       (choose-variable st xs.observable xss)))\n                (if (set-empty? xs.observable) (s-limit 1 sts.all) sts.all)))))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Internal constraint algebra\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-variant constraint?\n  (c:conj  cs)\n  (c:disj  cs)\n  (c:==    l r)\n  (c:=/=   l r)\n  (c:<=    l r)\n  (c:use   vars lhs args proc desc)\n  (c:table t)\n  (c:proc  proc args parents))\n\n(define (c:bounds b t)\n  (match b\n    ((bounds lb lbi ub ubi) (c:conj (append (list (c:<= lb t) (c:<= t ub))\n                                            (if lbi '() (list (c:=/= lb t)))\n                                            (if ubi '() (list (c:=/= t ub))))))\n    (v                      (c:== t v))))\n\n(define (f->c f)\n  (match f\n    (`#s(conj ,f1 ,f2) (define (f->cs f) (match (f->c f)\n                                           ((c:conj cs) cs)\n                                           (c           (list c))))\n                       (c:conj (append (f->cs f1) (f->cs f2))))\n    (`#s(disj ,f1 ,f2) (define (f->cs f) (match (f->c f)\n                                           ((c:disj cs) cs)\n                                           (c           (list c))))\n                       (c:disj (append (f->cs f1) (f->cs f2))))\n    (`#s(==/use ,lhs ,args ,proc ,desc) (c:use args lhs args proc desc))\n    (`#s(constrain =/=    (,lhs ,rhs))  (c:=/=   lhs rhs))\n    (`#s(constrain ==     (,lhs ,rhs))  (c:==    lhs rhs))\n    (`#s(constrain any<=o (,lhs ,rhs))  (c:<=    lhs rhs))\n    (`#s(constrain ,proc  ,args)        (c:proc  proc args (set)))))\n\n(define (c->f c)\n  (match c\n    ((c:==  l r)                     (==     l r))\n    ((c:=/= l r)                     (=/=    l r))\n    ((c:<=  l r)                     (any<=o l r))\n    ((c:disj cs)                     (apply disj* (map c->f cs)))\n    ((c:conj cs)                     (apply conj* (map c->f cs)))\n    ((c:table t)                     (c->f (t 'constraint)))\n    ((c:proc proc args parents)      (relate proc args))\n    ((c:use vars lhs args proc desc) (==/use lhs args proc desc))))\n\n(define (c-success? c) (and (c:conj? c) (null? (c:conj-cs c))))\n\n(define (c-simplify st.0 effort? c)\n  (let*/and ((st (c-apply (state:set st.0 (log '()) (cx (hash)))\n                          #f c))\n             (st (if effort?\n                   (let*/and ((st (foldl/and (lambda (u&c st)\n                                               (match-define (cons uid? c) u&c)\n                                               (c-apply st uid? c))\n                                             st (hash->list (state-cx st.0)))))\n                     (state-enforce-local-consistency st))\n                   st)))\n    (let ((log (state-log st)))\n      (if (and (pair? log) (null? (cdr log)))\n        (car log)\n        (c:conj log)))))\n\n(define (c-apply st uid? c)\n  (match c\n    ((c:==  l r)                     (unify        st      l r))\n    ((c:=/= l r)                     (disunify     st uid? l r))\n    ((c:<=  l r)                     (ltunify      st uid? l r))\n    ((c:disj cs)                     (disjoin      st uid? cs))\n    ((c:conj cs)                     (conjoin      st      cs))\n    ((c:table t)                     (table-update st uid? t))\n    ((c:proc proc args parents)      (proc-apply   st uid? proc args parents))\n    ((c:use vars lhs args proc desc) (use          st uid? vars lhs args proc desc))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Constraint operations\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (unify st t1 t2)\n  (let ((t1 (walk st t1)) (t2 (walk st t2)))\n    (cond ((eqv? t1 t2) st)\n          ((var?    t1) (var-assign st t1 t2))\n          ((var?    t2) (var-assign st t2 t1))\n          ((pair?   t1) (and (pair? t2)\n                             (let ((st (unify st (car t1) (car t2))))\n                               (and st (unify st (cdr t1) (cdr t2))))))\n          ((vector? t1) (and (vector? t2) (= (vector-length t1)\n                                             (vector-length t2))\n                             (unify st (vector->list t1) (vector->list t2))))\n          ((equal? t1 t2) st)\n          (else           #f))))\n\n(define (disunify st uid? t1 t2)\n  (let ((t1 (walk st t1)) (t2 (walk st t2)))\n    (cond ((eqv? t1 t2) #f)\n          ((var?    t1) (var-disassign st uid? t1 t2))\n          ((var?    t2) (var-disassign st uid? t2 t1))\n          ((pair?   t1) (cond ((not (pair? t2)) st)\n                              (else (disjoin st #f (list (c:=/= (car t1) (car t2))\n                                                         (c:=/= (cdr t1) (cdr t2)))))))\n          ((vector? t1) (cond ((not (and (vector? t2))\n                                    (= (vector-length t1) (vector-length t2))) st)\n                              (else (disjoin st #f (map c:=/=\n                                                        (vector->list t1)\n                                                        (vector->list t2))))))\n          ((equal? t1 t2) #f)\n          (else           st))))\n\n(define (ltunify st uid? t1 t2)\n  (let ((t1 (walk st t1)) (t2 (walk st t2)))\n    (cond ((or (null? t1) (eq? #t t2) (eqv? t1 t2)) st)\n          ((or (var? t1) (var? t2))\n           (match-define (bounds lb.t1 lbi.t1 ub.t1 ubi.t1) (term-bounds st t1))\n           (match-define (bounds lb.t2 lbi.t2 ub.t2 ubi.t2) (term-bounds st t2))\n           (cond ((any<=?                                ub.t1 lb.t2) st)\n                 (((if (and lbi.t1 ubi.t2) any<? any<=?) ub.t2 lb.t1) #f)\n                 (else (let*/and\n                         ((st (cond ((not (var? t1))\n                                     ;; update any vars embedded in t1\n                                     (let*/and ((st (ltunify st #f t1 ub.t2)))\n                                       (if (not ubi.t2)\n                                         (disunify st #f t1 ub.t2)\n                                         st)))\n                                    ((or (any<? ub.t2 ub.t1)\n                                         (and ubi.t1 (not ubi.t2) (equal? ub.t2 ub.t1)))\n                                     (var-assign-bounds\n                                       st t1 (bounds lb.t1 lbi.t1 ub.t2 ubi.t2)))\n                                    (else st)))\n                          (st (cond ((not (var? t2))\n                                     ;; update any vars embedded in t2\n                                     (let*/and ((st (ltunify st #f lb.t1 t2)))\n                                       (if (not lbi.t1)\n                                         (disunify st #f lb.t1 t2)\n                                         st)))\n                                    ((or (any<? lb.t2 lb.t1)\n                                         (and (not lbi.t1) lbi.t2 (equal? lb.t2 lb.t1)))\n                                     (var-assign-bounds\n                                       st t2 (bounds lb.t1 lbi.t1 ub.t2 ubi.t2)))\n                                    (else st))))\n                         (let* ((t1    (walk* st t1))\n                                (t2    (walk* st t2))\n                                (vs.t1 (term-vars t1))\n                                (vs.t2 (term-vars t2))\n                                (vs    (if (or (set-empty? vs.t1) (set-empty? vs.t2))\n                                         '()\n                                         (set->list (set-union vs.t1 vs.t2)))))\n                           (state-cx-add st vs vcx-simple-add uid? (c:<= t1 t2)))))))\n          ((pair? t1)\n           (cond ((pair?   t2) (let*/and ((st (ltunify st #f (car t1) (car t2))))\n                                 (disjoin st #f (list (c:=/= (car t1) (car t2))\n                                                      (c:<=  (cdr t1) (cdr t2))))))\n                 ((vector? t2)                        st)\n                 (else (and (any<=? term.pair.max t2) st))))\n          ((vector? t1)\n           (cond ((vector? t2)\n                  (define len.t1 (vector-length t1))\n                  (define len.t2 (vector-length t2))\n                  (cond ((< len.t1 len.t2) st)\n                        ((> len.t1 len.t2) #f)\n                        (else (ltunify st #f (vector->list t1) (vector->list t2)))))\n                 ((pair? t2)                            #f)\n                 (else (and (any<=? term.vector.max t2) st))))\n          (else (and (any<=? t1 t2) st)))))\n\n(define (disjoin st uid? cs)\n  (define (c-vars c)\n    (match c\n      ((c:==  l r)        (set-union (term-vars l)     (term-vars r)))\n      ((c:=/= l r)        (set-union (term-vars l)     (term-vars r)))\n      ((c:<=  l r)        (set-union (term-vars l)     (term-vars r)))\n      ((c:disj cs)        (set-union (c-vars (car cs)) (c-vars (cadr cs))))\n      ((c:conj cs)        (apply set-union (seteq) (map c-vars cs)))\n      ((c:use vs _ _ _ _) (term-vars vs))\n      ((c:table t)        (table-vars t))\n      ((c:proc  _ args _) (term-vars args))))\n  (let loop ((cs cs) (cs.new '()))\n    (if (null? cs)\n      (match cs.new\n        ('()          #f)\n        ((list c.new) (c-apply st #f c.new))\n        (_            (define cx (c:disj (reverse cs.new)))\n                      (define vs (set->list (c-vars cx)))\n                      ;; TODO: in the future when a c:proc appears in a c:disj,\n                      ;; it is possible for vs to be empty even when the disj\n                      ;; has not been satisfied (because the proc hasn't been\n                      ;; allowed to expand yet).  Figure out how to resolve\n                      ;; this, possibly by adding a queue of cxs containing\n                      ;; procs that need to be expanded.\n                      (if (null? vs)\n                        (error \"TODO: unexpanded c:proc without vars:\" cx)\n                        (state-cx-add st vs vcx-disj-add uid? cx))))\n      (match (c-simplify st #f (car cs))\n        ;; TODO: if applicable, negate (car cs) in st while simplifying (cdr cs).\n        ;; This achieves some disjoint-ness across branches, reducing redundancy\n        ;; in the search space.  (Ideally we would also do the same in reverse,\n        ;; propagating negated constraints from later branches into earlier\n        ;; branches.)\n        (#f            (loop (cdr cs) cs.new))\n        ((c:conj '())  st)\n        ((c:disj cs.d) (loop (cdr cs) (foldl cons cs.new cs.d)))\n        (c             (loop (cdr cs) (cons c cs.new)))))))\n\n(define (conjoin st cs) (foldl/and (lambda (c st) (c-apply st #f c)) st cs))\n\n(define (use st uid? t.vs lhs args proc desc)\n  (define vars.pending (set->list (term-vars (walk* st t.vs))))\n  (if (null? vars.pending)\n    (unify st lhs (apply proc (walk* st args)))\n    (state-cx-add st vars.pending vcx-use-add uid?\n                  `#s(c:use ,vars.pending ,lhs ,args ,proc ,desc))))\n\n(define (proc-apply st uid? proc args parents)\n  ;; TODO: determine whether to expand instead of adding a c:proc\n  ;; TODO: without expanding, it is possible to infinite loop when no variables\n  ;; are present in args, since in that case, state-cx-add will c-apply again.\n  ;; Figure out how to resolve this, possibly by adding a queue of cxs that\n  ;; need to be expanded.\n  (state-cx-add st (term-vars args) vcx-simple-add uid? (c:proc proc args parents)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Table interaction\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (table-update     st uid? tc) (tc 'update st uid?))\n(define (table-vars               tc) (tc 'variables))\n(define (table-statistics st      tc) (tc 'variable-statistics st))\n\n(define (relation/table . pargs)\n  (match-define (list info thunk.t.0) (apply materialization pargs))\n  (define name             (hash-ref info 'relation-name))\n  (define attribute-names  (hash-ref info 'attribute-names))\n  (define primary-key-name (hash-ref info 'key-name))\n  ;; TODO: this is a workaround to make sure key column is tracked for update.\n  (define attrs\n    (if (member primary-key-name attribute-names)\n      attribute-names\n      (cons #t attribute-names)))\n  (define (app st args.0.0)\n    ;; TODO: this introduces a phantom variable for the key column update workaround.\n    ;; Is there a better solution?\n    (define args.0\n      (if (member primary-key-name attribute-names)\n        args.0.0\n        (cons (var #t) args.0.0)))\n    (define (update-state st t)\n      (define c=>b (t 'bounds))\n      (foldl/and (lambda (c a st)\n                   (c-apply st #f (c:bounds (hash-ref c=>b c bounds.any) a)))\n                 st attrs args.0))\n    (let*/and ((t.0 (thunk.t.0))\n               (st  (update-state st t.0)))\n      (define args (walk* st args.0))\n      (define tc\n        (let controller ((t  t.0)\n                         (vs (set->list (term-vars args))))\n          (method-lambda\n            ((constraint) (c:proc r args.0.0 (set)))\n            ((variables)  vs)\n            ((variable-statistics st)\n             (define c=>stats (t 'statistics))\n             (foldl (lambda (c a x=>stats)\n                      (match (hash-ref c=>stats c #f)\n                        (#f  x=>stats)\n                        (s.x (define (merge s.0) (statistics-intersect s.0 s.x))\n                             (foldl (lambda (x x=>stats) (hash-update x=>stats x merge s.x))\n                                    x=>stats (set->list (term-vars (walk* st a)))))))\n                    (hash) attrs args))\n            ((update st uid?)\n             (let*/and ((t (t 'update (map (lambda (c a) (cons c (term-bounds st a)))\n                                           attrs args))))\n               (update-state\n                 (if (t 'done?)\n                   st\n                   ;; TODO: we only want to register with the subset of variables that are indexable\n                   (let* ((vs (set->list (term-vars (walk* st vs))))\n                          (tc (controller t vs)))\n                     (if (null? vs)\n                       (tc 'update st uid?)\n                       (state-cx-add st vs vcx-table-add uid? (c:table tc)))))\n                 t))))))\n      (c-apply st #f (c:table tc))))\n  (define r (make-relation name attribute-names))\n  (relations-set! r 'definition-info info)\n  (relations-set! r 'apply           app)\n  r)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Variable-centric constraint operations\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (var-update st x)\n  (define vcx.x (state-vcx-ref st x))\n  (foldl/and (lambda (uids st) (state-cx-update* st (set->list uids)))\n             (state-vcx-set st x (vcx-cx-clear vcx.x))\n             (list (vcx-table  vcx.x)  ;; typically the strongest constraints\n                   (vcx-simple vcx.x)\n                   (vcx-disj   vcx.x)\n                   (vcx-use    vcx.x))))\n\n(define (var-assign st x t)\n  ;; could replace occurs check with: (set-member? (term-vars (walk* st t)) x)\n  (and (not (let occurs? ((t t))\n              (cond ((pair?   t) (or (occurs? (walk st (car t)))\n                                     (occurs? (walk st (cdr t)))))\n                    ((vector? t) (let vloop ((i (- (vector-length t) 1)))\n                                   (and (<= 0 i) (or (occurs? (walk st (vector-ref t i)))\n                                                     (vloop (- i 1))))))\n                    (else        (eq? x t)))))\n       (let* ((vcx.x              (state-vcx-ref st x))\n              (vcx.t (if (var? t) (state-vcx-ref st t) vcx.empty))\n              (st    (state-log-add st (c:== x t)))\n              (st    (state-vcx-set st x t)))\n         (foldl/and (lambda (uids st) (state-cx-update* st (set->list uids)))\n                    (c-apply st #f (c:bounds (vcx-bounds vcx.x) t))\n                    (list (vcx-simple vcx.x)  ;; the least expensive constraints\n                          ;; TODO: try disjs containing only simple cxs before tables.\n                          ;; It may only make sense to try the disjs that only\n                          ;; reference this var and no others.\n                          (vcx-table  vcx.x)\n                          ;; TODO: try other disjs after tables\n                          (vcx-disj   vcx.x)\n                          (vcx-use    vcx.x))))))\n\n(define (var-disassign st uid? x t)\n  (let* ((t    (walk* st t))\n         (vs.t (term-vars t)))\n    (define (add) (state-cx-add st (set->list (set-add vs.t x))\n                                vcx-simple-add uid? (c:=/= x t)))\n    (cond ((set-member? vs.t x) st)  ;; simple occurs check\n          ((set-empty?  vs.t)\n           (match-define (bounds lb lbi ub ubi) (term-bounds st x))\n           (define (assign-bounds c b) (var-assign-bounds (state-log-add st c) x b))\n           (cond ((and lbi (equal? t lb)) (define lb.inc (any-increment lb))\n                                          (if (eq? lb lb.inc)\n                                            (assign-bounds (c:=/= lb     x) (bounds lb     #f ub ubi))\n                                            (assign-bounds (c:<=  lb.inc x) (bounds lb.inc #t ub ubi))))\n                 ((and ubi (equal? t ub)) (define ub.dec (any-decrement ub))\n                                          (if (eq? ub ub.dec)\n                                            (assign-bounds (c:=/= x ub    ) (bounds lb lbi ub     #f))\n                                            (assign-bounds (c:<=  x ub.dec) (bounds lb lbi ub.dec #t))))\n                 ((or (any<=? t lb) (any<=? ub t)) st)\n                 (else                             (add))))\n          (else (match-define (bounds lb.x lbi.x ub.x ubi.x) (term-bounds st x))\n                (match-define (bounds lb.t lbi.t ub.t ubi.t) (term-bounds st t))\n                (if (or ((if (and lbi.t ubi.x) any<? any<=?) ub.x lb.t)\n                        ((if (and ubi.t lbi.x) any<? any<=?) ub.t lb.x))\n                  st\n                  (add))))))\n\n(define (var-assign-bounds st x b)\n  (match-define (bounds lb lbi ub ubi) b)\n  (cond ((any<?  ub lb) #f)\n        ((equal? ub lb) (and lbi ubi (var-assign st x lb)))\n        (else (define vcx.new (vcx-bounds-set (state-vcx-ref st x) b))\n              (define st.new  (state-schedule-add-var (state-vcx-set st x vcx.new) x))\n              (define domain? (and lbi ubi (finite-interval? lb ub)))\n              (if domain?\n                ;; TODO: instead, produce a table constraint for efficiency?\n                (disjoin st.new x (map (lambda (t) (c:== x t)) domain?))\n                st.new))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Other utilities\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (walk st t)\n  (if (var? t)\n    (let ((v=>cx (state-var=>cx st)))\n      (let loop ((x t))\n        (define val (hash-ref v=>cx x vcx.empty))\n        (cond ((var? val) (loop val))\n              ((vcx? val) x)\n              (else       val))))\n    t))\n(define (walk* st t)\n  (let loop ((term t))\n    (define t (walk st term))\n    (cond ((pair?   t) (cons (loop (car t)) (loop (cdr t))))\n          ((vector? t) (vector-map loop t))\n          (else        t))))\n\n(define (reify st.0)\n  (define (refine-bounds x st)\n    (define (=/=? x t) (not (let*/and ((st (var-assign st x t)))\n                              (pair? (s-force (state->satisfied-states st))))))\n    (define (trim x t) (refine-bounds x (c-apply st #f (c:=/= x t))))\n    (define vcx.x (state-vcx-ref st x))\n    (match-define (bounds lb lbi? ub ubi?) (vcx-bounds vcx.x))\n    (cond ((and lbi? (=/=? x lb)) (trim x lb))\n          ((and ubi? (=/=? x ub)) (trim x ub))\n          (else                   st)))\n  (define term (walk* st.0 (state-qterm st.0)))\n  (define xs   (set->list (term-vars term)))\n  ;; Refinement should never fail after global satisfaction\n  (define st   (foldl refine-bounds st.0 xs))\n  (cond ((null? xs) (pretty term))\n        (else (define b&uids\n                (map (lambda (x)\n                       (define vcx.x (state-vcx-ref st x))\n                       (cons (vcx-bounds vcx.x) (vcx-simple vcx.x)))\n                     xs))\n              (define uids (apply set-union (seteq) (map cdr b&uids)))\n              (define cxs  (walk* st (map c->f (filter-not\n                                                 not (map (lambda (uid) (hash-ref (state-cx st) uid #f))\n                                                          (set->list uids))))))\n              (define bs\n                (append* (map (lambda (x b)\n                                (if (equal? b bounds.any)\n                                  '()\n                                  (list (list (bounds-lb b)\n                                              (if (bounds-lb-inclusive? b) '<= '<)\n                                              x\n                                              (if (bounds-ub-inclusive? b) '<= '<)\n                                              (bounds-ub b)))))\n                              xs (map car b&uids))))\n              (match-define (cons t c) (pretty (cons term (append bs cxs))))\n              `#s(cx (term: ,t) (constraints: . ,(sort c term<?))))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Top-level search strategies\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (enumerate-and-reify st)\n  (s-map (lambda (st)\n           (state-uses-empty?! st)\n           (reify st))\n         (state->satisfied-states st)))\n\n(define (bis:query->stream q)\n  (match-define `#s(query ,t ,f) q)\n  (s-append* (s-map enumerate-and-reify ((bis:goal f) (state:new t)))))\n(define (bis:bind s k)\n  (cond ((null?      s) '())\n        ((procedure? s) (thunk (bis:bind (s) k)))\n        (else           (s-append/interleaving (k (car s)) (thunk (bis:bind (cdr s) k))))))\n(define ((bis:apply/expand ex args) st)\n  ((bis:goal (apply ex (walk* st args))) st))\n(define ((bis:expand ex r args) st)\n  (define frame (cons r args))\n  (thunk (bis:bind (bis:return (state-proc-stack-push st frame))\n                   (lambda (st) (bis:bind ((bis:goal (apply ex args)) st)\n                                          (lambda (st) (bis:return (state-proc-stack-pop st))))))))\n\n(define (bis:goal f)\n  (match f\n    (`#s(conj ,f1 ,f2) (let ((k1 (bis:goal f1)) (k2 (bis:goal f2)))\n                         (lambda (st) (bis:bind (k1 st) k2))))\n    (`#s(disj ,f1 ,f2) (let ((k1 (bis:goal f1)) (k2 (bis:goal f2)))\n                         (lambda (st)\n                           (state-enforce-global-consistency\n                             st\n                             (lambda ()   '())\n                             (lambda (st) (s-append/interleaving (k1 st) (thunk (k2 st))))))))\n    (`#s(constrain ,(? procedure? proc) ,args)\n      (define r (relations-ref proc))\n      (define apply/bis    (hash-ref r 'apply/bis    #f))  ; strategy-specific application\n      (define apply.r      (hash-ref r 'apply        #f))  ; strategy-agnostic application\n      (define expand       (hash-ref r 'expand       #f))  ; pure expansion\n      (cond (apply/bis    (apply/bis args))\n            (apply.r      (lambda (st) (bis:return (apply.r st args))))\n            (expand       (bis:expand expand r args))\n            (else (error \"no interpretation for:\" proc args))))\n    (_ (define c (f->c f))\n       (lambda (st) (bis:return (c-apply st #f c))))))\n(define (bis:return st)         (if st (list st) '()))\n\n(define (dfs:query->stream q)\n  ((dfs:goal (query-formula q) enumerate-and-reify)\n   (state:new (query-term q))))\n(define ((dfs:mplus k1 k2) st)\n  (state-enforce-global-consistency\n    st\n    (lambda ()   '())\n    (lambda (st) (s-append (k1 st) (thunk (k2 st))))))\n(define ((dfs:expand ex r args k) st)\n  (define frame (cons r args))\n  (dfs:return (dfs:goal (apply ex args)\n                        (lambda (st) (dfs:return k (state-proc-stack-pop st))))\n              (state-proc-stack-push st frame)))\n\n(define (dfs:goal f k)\n  (define loop dfs:goal)\n  (match f\n    (`#s(conj ,f1 ,f2) (loop f1 (loop f2 k)))\n    (`#s(disj ,f1 ,f2) (dfs:mplus (loop f1 k) (loop f2 k)))\n    (`#s(constrain ,(? procedure? proc) ,args)\n      (define r (relations-ref proc))\n      (define apply/dfs    (hash-ref r 'apply/dfs    #f))  ; strategy-specific application\n      (define apply.r      (hash-ref r 'apply        #f))  ; strategy-agnostic application\n      (define expand       (hash-ref r 'expand       #f))  ; pure expansion\n      (cond (apply/dfs    (apply/dfs k args))\n            (apply.r      (lambda (st) (dfs:return k (apply.r st args))))\n            (expand       (dfs:expand expand r args k))\n            (else (error \"no interpretation for:\" proc args))))\n    (_ (define c (f->c f))\n       (lambda (st) (dfs:return k (c-apply st #f c))))))\n(define (dfs:return k st)      (if st (k st) '()))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Syntax definitions\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-syntax define-relation/table\n  (syntax-rules ()\n    ((_ (name attr ...) pargs ...)\n     (define name (relation/table 'relation-name   'name\n                                  'attribute-names '(attr ...)\n                                  pargs ...)))\n    ((_ name pargs ...)\n     (define name (relation/table 'relation-name 'name\n                                  pargs ...)))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/data.rkt",
    "content": "#lang racket/base\n(provide\n  column:const\n  column:identity\n  column:offset\n  column:vector\n  column:table\n  column:indirect\n  column:interval\n  column:bytes:nat\n  column:port\n  column:port-indirect\n  column:port-string\n  interval->dict:ordered\n  dict.empty\n  dict:integer\n  dict:ordered\n  dict:ordered:vector\n  dict:hash\n  enumerator-project\n  enumerator-filter\n  enumerator-sort\n  enumerator-dedup\n  enumerator->dict:ordered:vector-flat\n  enumerator->dict:ordered:vector-group\n  group-fold->hash\n  group-fold\n  group-fold-ordered\n  merge-key-union\n  merge-antijoin\n  merge-join\n  dict-join-unordered\n  dict-join-ordered\n  hash-join\n  dict-antijoin-unordered\n  dict-antijoin-ordered\n  hash-antijoin\n  dict-key-union-unordered\n  dict-key-union-ordered\n  dict-subtract-unordered\n  dict-subtract-ordered\n\n  database\n  database-path\n  database-metadata\n  database-relation\n  database-relation-names\n  database-relation-has?\n  database-relation-add!\n  database-relation-remove!\n  database-compact!\n  database-import!\n  database-export!\n\n  relation-name\n  relation-metadata\n  relation-copy!\n  relation-rename!\n  relation-delete!\n  relation-rename-attributes!\n  relation-index-add!\n  relation-index-remove!\n  relation-index-dict\n  relation-domain-dicts\n  relation-compact!\n  )\n(require \"codec.rkt\" \"enumerator.rkt\" \"heap.rkt\" \"misc.rkt\" \"order.rkt\" \"stream.rkt\"\n         racket/file racket/list racket/match racket/pretty racket/set racket/struct racket/vector)\n\n;; TODO:\n;bscm.rkt\n;bscm:read bscm:write ?\n;or favor a bytes-ref/bytes-set! style interface with bscm types?\n\n;; TODO: use these definitions to replace the logging defined in config.rkt\n(define (pretty-log/port out . args)\n  (define seconds (current-seconds))\n  (define d       (seconds->date seconds #f))\n  (define d-parts (list seconds 'UTC\n                        (date-year d) (date-month  d) (date-day    d)\n                        (date-hour d) (date-minute d) (date-second d)))\n  (pretty-write (cons d-parts args) out))\n\n(define (pretty-logf/port out message . args) (pretty-log/port out (apply format message args)))\n\n(define current-log-port (make-parameter (current-error-port)))\n\n(define (pretty-log  . args) (apply pretty-log/port  (current-log-port) args))\n(define (pretty-logf . args) (apply pretty-logf/port (current-log-port) args))\n\n(define-syntax-rule (time/pretty-log body ...)\n  (let-values (((results time.cpu time.real time.gc) (time-apply (lambda () body ...) '())))\n    (pretty-log `(time cpu ,time.cpu real ,time.real gc ,time.gc))\n    (apply values results)))\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Metadata format ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n;;\n;;desc.database\n;;(hash\n;;  'relations      (hash NAME desc.relation ...)\n;;  'current        (hash PATH desc.arbitrary ...)\n;;  'pending        (list JOB ...)\n;;  )\n;;\n;;;; supports copying by sharing table and index descriptions\n;;desc.relation\n;;(hash\n;;  'attributes (list attribute-names ...)\n;;  'type       (list high-level-types ...)\n;;  'tables     (list path.table ...)\n;;  'indexes    (hash ordering (list path.table-index ...) ...)\n;;  )\n;;\n;;desc.domain\n;;(hash\n;;  'text path-to-domain-text\n;;  ...\n;;  )\n;;\n;;desc.domain-text\n;;(hash\n;;  'count         num-elements\n;;  'size.position num-bytes\n;;  'index         optional-path-to-index\n;;  )\n;;\n;;TODO:\n;;desc.domain-text-index\n;;(hash\n;;  'domain path.domain\n;;  )\n;;\n;;desc.column\n;;(hash\n;;  'type   'int|'text\n;;  'count  num-elements\n;;  'size   nat-bytes\n;;  'min    _\n;;  'max    _\n;;  'offset _\n;;  )\n;;\n;;desc.table\n;;(hash\n;;  'direction 'insert|'delete\n;;  'domain    desc.domain\n;;  'count     tuple-count\n;;  'columns   (list desc.column ...)\n;;  )\n;;\n;;desc.table-index\n;;(hash\n;;  'table            path.table\n;;  'ordering         (list 3 1 2 etc.)\n;;  'columns.value    (list desc.column ...)\n;;  'columns.indirect (list desc.column ...)  ; length is (- (length columns) 1)\n;;  )\n\n(define fnsuffix.key        \".key\")\n(define fnsuffix.indirect   \".indirect\")\n(define fnsuffix.next       \".next\")\n(define fnsuffix.initial    \".initial\")\n(define fn.metadata         \"metadata.scm\")\n(define fn.value            \"value\")\n(define fn.pos              \"position\")\n(define fn.tuple            \"tuple\")\n(define fn.col              \"column\")\n(define fn.metadata.initial (string-append fn.metadata fnsuffix.initial))\n\n(define metadata-format-version \"0\")\n\n(define (write-metadata path.metadata metadata)\n  (let/files () ((out.metadata path.metadata))\n    (pretty-write\n      (hash-set metadata 'format-version metadata-format-version)\n      out.metadata)))\n\n(define desc.database.empty\n  (hash 'relations (hash)\n        'data      (hash)))\n\n;; TODO: store redundant metadata\n;; - for optional consistency checking\n;; - also for independent file/folder exploration (e.g., analyzing trash)\n;;   - file explorer:\n;;     - display both logical and physical values\n;;     - indicate min/max\n;;     - jump to row, jump to column\n;;       - absolute or relative\n;;     - search for logical/physical value\n;;       - local (fast), or various forms of global (slow)\n;;       - optionally use full-text search indexes\n;; - \"previous\" directory supports time travel as long as most recent groups are not deleted\n\n(define (valid-attributes?! attrs)\n  (unless (list? attrs)\n    (error \"attributes must be a list\" attrs))\n  (for-each (lambda (a) (unless (symbol? a) (error \"attribute must be a symbol\" a 'in attrs)))\n            attrs)\n  (unless (= (length attrs) (set-count (list->set attrs)))\n    (error \"attributes must be unique\" attrs)))\n\n(struct wrapped-database (controller)\n        #:methods gen:custom-write\n        ((define write-proc\n           (make-constructor-style-printer\n             (lambda (db) 'database)\n             (lambda (db) (list (database-path db)\n                                (hash-ref (database-metadata db) 'relations)))))))\n\n(struct wrapped-relation (controller)\n        #:methods gen:custom-write\n        ((define write-proc\n           (make-constructor-style-printer\n             (lambda (r) 'relation)\n             (lambda (r) (list (relation-name     r)\n                               (relation-metadata r)))))))\n\n;; Racket doesn't seem to have a weak-value hash table, so we\n;; suboptimally use a weak-key hash table as a self-cleaning list.\n(define all-databases (make-weak-hash))\n(define (database path.db)\n  (let ((path.db (normalize-path path.db)))\n    (or (ormap (lambda (db) (and (equal? path.db (database-path db)) db))\n               (hash-keys all-databases))\n        (let ((db (make-database path.db)))\n          (hash-set! all-databases db (void))\n          db))))\n\n(define (make-database path.db)\n  (define (db-path   name) (path->string (build-path path.db      name)))\n  (define (data-path name) (path->string (build-path path.current name)))\n\n  (define (relations-update! f) (set! metadata (hash-update metadata 'relations f)))\n  (define (data-update!      f) (set! metadata (hash-update metadata 'data      f)))\n\n  (define (reachable (relation-names #f))\n    (define data               (hash-ref metadata 'data))\n    (define name=>relation     (hash-ref metadata 'relations))\n    (define descs.relation     (if relation-names\n                                 (map (lambda (name) (hash-ref name=>relation name)) relation-names)\n                                 (hash-values name=>relation)))\n    (define lpaths.table       (list->set (append* (map (lambda (desc.r) (hash-ref desc.r 'tables))\n                                                        descs.relation))))\n    (define lpaths.table-index (list->set (append* (map (lambda (desc.r) (append* (hash-values (hash-ref desc.r 'indexes))))\n                                                        descs.relation))))\n    (define descs.table        (set-map lpaths.table (lambda (lp) (hash-ref data lp))))\n    (define lpaths.domain-text (list->set (map (lambda (desc.t) (hash-ref (hash-ref desc.t 'domain) 'text))\n                                               descs.table)))\n    (set-union lpaths.table lpaths.table-index lpaths.domain-text))\n\n  (define (clean!)\n    (define pending-previous   (path->string (build-path path.db          \"pending-previous\")))\n    (define metadata.previous  (path->string (build-path pending-previous fn.metadata)))\n    (define lpaths.old         (if (and (directory-exists? pending-previous)\n                                        (file-exists?      metadata.previous))\n                                 (list->set (hash-keys (hash-ref (call-with-input-file metadata.previous read)\n                                                                 'data)))\n                                 (set)))\n    (define lpaths.known       (set-union lpaths.old (list->set (hash-keys (hash-ref metadata 'data)))))\n    (define lpaths.reachable   (reachable))\n    (define lpaths.all         (list->set (map path->string (directory-list path.current))))\n    (define lpaths.trash       (set->list (set-subtract lpaths.all   lpaths.known)))\n    (define lpaths.unreachable (set->list (set-subtract lpaths.known lpaths.reachable)))\n    (unless (null? lpaths.unreachable)\n      (apply pretty-log '(archiving unreachable data) lpaths.unreachable)\n      (make-directory* pending-previous)\n      (for-each (lambda (lp)\n                  (define apath (data-path lp))\n                  (when (directory-exists? apath)\n                    (rename-file-or-directory apath (build-path pending-previous lp))))\n                lpaths.unreachable))\n    (when (directory-exists? pending-previous)\n      (define upath (unique-previous-path))\n      (pretty-log `(moving ,pending-previous to ,upath))\n      (rename-file-or-directory pending-previous upath))\n    (define pending-trash (path->string (build-path path.db \"pending-trash\")))\n    (when (file-exists? path.metadata.next)\n      (pretty-log '(moving interrupted checkpoint to trash) path.metadata.next)\n      (make-directory* pending-trash)\n      (rename-file-or-directory path.metadata.next\n                                (build-path pending-trash (string-append fn.metadata fnsuffix.next))))\n    (unless (null? lpaths.trash)\n      (apply pretty-log '(moving unknown data to trash) lpaths.trash)\n      (make-directory* pending-trash)\n      (for-each (lambda (lp) (rename-file-or-directory (data-path lp) (build-path pending-trash lp)))\n                lpaths.trash))\n    (when (directory-exists? pending-trash)\n      (define upath (unique-trash-path))\n      (pretty-log `(moving ,pending-trash to ,upath))\n      (rename-file-or-directory pending-trash upath)))\n\n  (define (checkpoint!)\n    (define metadata.previous (call-with-input-file path.metadata read))\n    (when   (equal? metadata metadata.previous) (pretty-log '(no checkpoint necessary)))\n    (unless (equal? metadata metadata.previous)\n      (define lpaths.known       (list->set (hash-keys (hash-ref metadata 'data))))\n      (define lpaths.reachable   (reachable))\n      (define lpaths.unreachable (set->list (set-subtract lpaths.known lpaths.reachable)))\n      (unless (null? lpaths.unreachable)\n        (data-update! (lambda (data) (foldl (lambda (lp data) (hash-remove data lp))\n                                            data lpaths.unreachable))))\n      (call-with-output-file path.metadata.next (lambda (out) (pretty-write metadata out)))\n      (define pending-previous (build-path path.db \"pending-previous\"))\n      (make-directory* pending-previous)\n      (pretty-log `(archiving ,path.metadata))\n      (rename-file-or-directory path.metadata (build-path pending-previous fn.metadata))\n      (pretty-log '(checkpointing metadata) metadata)\n      (rename-file-or-directory path.metadata.next path.metadata)\n      (clean!)))\n\n  ;; TODO: later, consolidate subsequent inserts/deletes\n  (define (compact!)\n    (pretty-log `(compacting ,path.db))\n    (define data           (hash-ref metadata 'data))\n    (define descs.relation (hash-values (hash-ref metadata 'relations)))\n    (match-define (list paths.table descs.table paths.domain-text/duplicates)\n      (let* ((paths.table       (append* (map (lambda (desc.relation) (hash-ref desc.relation 'tables))\n                                              descs.relation)))\n             (descs.table       (map (lambda (path.table) (hash-ref data path.table)) paths.table))\n             (paths.domain-text (map (lambda (d) (hash-ref (hash-ref d 'domain) 'text))\n                                     descs.table))\n             (pdps              (map (lambda (path.table desc.table path.domain-text)\n                                       (and path.domain-text (list path.table desc.table path.domain-text)))\n                                     paths.table descs.table paths.domain-text)))\n        (apply map list (filter-not not pdps))))\n    (define paths.domain-text (set->list (list->set paths.domain-text/duplicates)))\n    (unless (< 1 (length paths.domain-text)) (pretty-log '(no compaction necessary)))\n    (when (< 1 (length paths.domain-text))\n      (define (type=>id=>id path.domain-text)\n        (hash 'text (hash-ref path.domain-text=>id=>id path.domain-text)))\n      (define path.domain-text.new     (unique-path \"domain-text\"))\n      (define descs.domain-text        (map (lambda (p) (hash-ref data p)) paths.domain-text))\n      (define compaction               (compact-text-domains\n                                         (data-path path.domain-text.new)\n                                         (map data-path paths.domain-text)\n                                         descs.domain-text))\n      (define desc.domain-text.new     (hash-ref compaction 'domain-text))\n      (define path.domain-text=>id=>id (make-immutable-hash\n                                         (map cons paths.domain-text (hash-ref compaction 'remappings))))\n      (define paths.table.new          (map (lambda (path.table desc.table path.domain-text)\n                                              (if (remap-table? desc.table (type=>id=>id path.domain-text))\n                                                (unique-path \"table\")\n                                                path.table))\n                                            paths.table descs.table paths.domain-text/duplicates))\n      (define path.t=>path.t.new       (make-immutable-hash (map cons paths.table paths.table.new)))\n      (define descs.table.new\n        (map (lambda (path.table path.table.new desc.table path.domain-text)\n               (define desc.domain.new (hash 'text path.domain-text.new))\n               (if (equal? path.table path.table.new)\n                 (begin (pretty-log '(no need to remap table) path.table)\n                        (hash-set desc.table 'domain desc.domain.new))\n                 (remap-table (data-path path.table)\n                              (data-path path.table.new)\n                              desc.table\n                              desc.domain.new\n                              (type=>id=>id path.domain-text))))\n             paths.table paths.table.new descs.table paths.domain-text/duplicates))\n      (define paths.table-index\n        (append* (map (lambda (desc.relation)\n                        (filter (lambda (path.table-index)\n                                  (define desc.table-index (hash-ref data path.table-index))\n                                  (member (hash-ref desc.table-index 'table) paths.table))\n                                (append* (hash-values (hash-ref desc.relation 'indexes)))))\n                      descs.relation)))\n      (define descs.table-index     (map (lambda (path.ti) (hash-ref data path.ti)) paths.table-index))\n      (define paths.table-index.new (map (lambda (path.ti desc.ti)\n                                           (define path.table  (hash-ref desc.ti 'table))\n                                           (define desc.domain (hash-ref (hash-ref data path.table) 'domain))\n                                           (define path.dt     (hash-ref desc.domain 'text))\n                                           (if (remap-table-index? desc.ti (type=>id=>id path.dt))\n                                             (unique-path \"table-index\")\n                                             path.ti))\n                                         paths.table-index descs.table-index))\n      (define path.ti=>path.ti.new  (make-immutable-hash (map cons paths.table-index paths.table-index.new)))\n      (define (replace-p.ti p.ti) (hash-ref path.ti=>path.ti.new p.ti p.ti))\n      (define descs.table-index.new\n        (map (lambda (path.table-index path.table-index.new desc.table-index)\n               (define path.table       (hash-ref desc.table-index   'table))\n               (define path.table.new   (hash-ref path.t=>path.t.new path.table))\n               (define path.domain-text (hash-ref (hash-ref (hash-ref data path.table) 'domain) 'text))\n               (if (equal? path.table-index path.table-index.new)\n                 (begin (pretty-log '(no need to remap table index) path.table-index)\n                        desc.table-index)\n                 (remap-table-index (data-path path.table-index)\n                                    (data-path path.table-index.new)\n                                    desc.table-index\n                                    path.table.new\n                                    (type=>id=>id path.domain-text))))\n             paths.table-index paths.table-index.new descs.table-index))\n      (pretty-log '(installing remapped data))\n      (data-update!\n        (lambda (data)\n          (apply hash-set* data\n                 path.domain-text.new desc.domain-text.new\n                 (append (append* (map list paths.table.new       descs.table.new))\n                         (append* (map list paths.table-index.new descs.table-index.new))))))\n      (pretty-log '(updating relations with remapped data))\n      (relations-update!\n        (lambda (rs)\n          (make-immutable-hash\n            (hash-map rs (lambda (name.r desc.r)\n                           (let* ((desc.r (hash-update desc.r 'tables\n                                                       (lambda (paths.table)\n                                                         (map (lambda (p) (hash-ref path.t=>path.t.new   p p))\n                                                              paths.table))))\n                                  (desc.r (hash-update desc.r 'indexes\n                                                       (lambda (ordering=>paths.table-index)\n                                                         (make-immutable-hash\n                                                           (hash-map ordering=>paths.table-index\n                                                                     (lambda (o ps.ti)\n                                                                       (cons o (map replace-p.ti ps.ti)))))))))\n                             (cons name.r desc.r)))))))\n      (checkpoint!)))\n\n  (define (unique-path str.type)\n    (define data    (hash-ref metadata 'data))\n    (define seconds (number->string (current-seconds)))\n    (let loop ((id.local 0))\n      (define candidate (string-append str.type \"-\" seconds \"-\" (number->string id.local)))\n      (cond ((hash-has-key? data candidate) (loop (+ id.local 1)))\n            (else                           (make-directory* (data-path candidate))\n                                            (data-update! (lambda (data) (hash-set data candidate #f)))\n                                            candidate))))\n  (define (unique-directory path.root str.type)\n    (define seconds (number->string (current-seconds)))\n    (let loop ((id.local 0))\n      (define candidate (string-append str.type \"-\" seconds \"-\" (number->string id.local)))\n      (define apath (path->string (build-path path.root candidate)))\n      (cond ((directory-exists? apath) (loop (+ id.local 1)))\n            (else                      apath))))\n  (define (unique-previous-path) (unique-directory path.previous \"previous\"))\n  (define (unique-trash-path)    (unique-directory path.trash    \"trash\"))\n\n  (define (new-relation?! name) (when (hash-has-key? name=>relation name)\n                                  (error \"relation already exists\" name path.db)))\n\n  (define (make-relation name)\n    (define (description)           (hash-ref (hash-ref metadata 'relations) name))\n    (define (description-update! f) (relations-update! (lambda (rs) (hash-update rs name f))))\n    (define self\n      (method-lambda\n        ((name)                     name)\n        ((metadata)                 (description))\n        ((copy!   name.new)         (pretty-log `(copying relation ,name to ,name.new))\n                                    (new-relation?! name.new)\n                                    (set! name=>relation\n                                      (hash-set name=>relation name.new (hash-ref name=>relation name)))\n                                    (relations-update! (lambda (rs) (hash-set rs name.new (hash-ref rs name))))\n                                    (checkpoint!))\n        ((rename! name.new)         (pretty-log `(renaming relation ,name to ,name.new))\n                                    (new-relation?! name.new)\n                                    (set! name=>relation (let ((r    (hash-ref    name=>relation name))\n                                                               (n=>r (hash-remove name=>relation name)))\n                                                           (hash-set n=>r name.new r)))\n                                    (relations-update! (lambda (rs) (let* ((r  (hash-ref    rs name))\n                                                                           (rs (hash-remove rs name)))\n                                                                      (hash-set rs name.new r))))\n                                    (set! name name.new)\n                                    (checkpoint!))\n        ((delete!)                  (pretty-log `(deleting relation ,name))\n                                    (set! self           #f)\n                                    (set! name=>relation (hash-remove name=>relation name))\n                                    (relations-update! (lambda (rs) (hash-remove rs name)))\n                                    (checkpoint!))\n        ((rename-attributes! attrs) (pretty-log `(renaming ,name attributes)\n                                                `(old: ,(hash-ref (description) 'attributes))\n                                                `(new: ,attrs))\n                                    (valid-attributes?! attrs)\n                                    (let ((attrs.old (hash-ref (description) 'attributes)))\n                                      (unless (= (length attrs) (length attrs.old))\n                                        (error \"cannot change the number of attributes\"\n                                               name 'new attrs 'old attrs.old)))\n                                    (relations-update! (lambda (rs) (let* ((r (hash-ref rs name))\n                                                                           (r (hash-set r 'attributes attrs)))\n                                                                      (hash-set rs name r))))\n                                    (checkpoint!))\n        ((index-add!    signatures) (apply pretty-log `(adding indexes for ,name) signatures)\n                                    (let* ((desc         (description))\n                                           (data         (hash-ref metadata 'data))\n                                           (attrs        (hash-ref desc     'attributes))\n                                           (lpaths.table (hash-ref desc     'tables))\n                                           (descs.table  (map (lambda (lp) (hash-ref data lp)) lpaths.table))\n                                           (orderings    (map (attrs->signature->ordering attrs) signatures))\n                                           (orderings    (normalize-table-index-orderings (length attrs) orderings))\n                                           (ords.current (list->set (hash-keys (hash-ref desc 'indexes))))\n                                           (ords.skipped (set->list (set-intersect (list->set orderings) ords.current)))\n                                           (ords.new     (set->list (set-subtract  (list->set orderings) ords.current))))\n                                      (define (ords->sigs ords)\n                                        (map (lambda (ordering) (map (lambda (i) (list-ref attrs i))\n                                                                     (filter-not (lambda (i) (eq? #t i))\n                                                                                 ordering)))\n                                             ords))\n                                      (apply pretty-log '(normalizing table index signatures) (ords->sigs orderings))\n                                      (unless (null? ords.skipped)\n                                        (apply pretty-log '(skipping existing table indexes)\n                                               (ords->sigs ords.skipped)))\n                                      (when   (null? ords.new) (pretty-log '(no table indexes to build)))\n                                      (unless (null? ords.new)\n                                        (define lpaths*.ti\n                                          (apply map list\n                                                 (map (lambda (lpath.table desc.table)\n                                                        (define lpaths.ti (map (lambda (_) (unique-path \"table-index\")) ords.new))\n                                                        (define descs.ti  (build-table-indexes\n                                                                            path.current lpaths.ti lpath.table desc.table ords.new))\n                                                        (data-update!\n                                                          (lambda (data) (apply hash-set* data\n                                                                                (append* (map list lpaths.ti descs.ti)))))\n                                                        lpaths.ti)\n                                                      lpaths.table descs.table)))\n                                        (description-update!\n                                          (lambda (desc) (hash-update desc 'indexes\n                                                                      (lambda (ordering=>lps)\n                                                                        (apply hash-set* ordering=>lps\n                                                                               (append* (map list ords.new lpaths*.ti)))))))\n                                        (checkpoint!))))\n        ((index-remove! signatures) (apply pretty-log `(removing indexes for ,name) signatures)\n                                    (let* ((desc         (description))\n                                           (data         (hash-ref metadata 'data))\n                                           (attrs        (hash-ref desc     'attributes))\n                                           (orderings    (map (attrs->signature->ordering attrs) signatures))\n                                           (orderings    (normalize-table-index-orderings (length attrs) orderings))\n                                           (ords.current (list->set (hash-keys (hash-ref desc 'indexes))))\n                                           (ords.missing (set->list (set-subtract  (list->set orderings) ords.current)))\n                                           (ords.found   (set->list (set-intersect (list->set orderings) ords.current))))\n                                      (define (ords->sigs ords)\n                                        (map (lambda (ordering) (map (lambda (i) (list-ref attrs i))\n                                                                     (filter-not (lambda (i) (eq? #t i))\n                                                                                 ordering)))\n                                             ords))\n                                      (apply pretty-log '(normalizing table index signatures) (ords->sigs orderings))\n                                      (unless (null? ords.missing)\n                                        (apply pretty-log '(skipping table indexes that do not exist)\n                                               (ords->sigs ords.missing)))\n                                      (when   (null? ords.found) (pretty-log '(no table indexes to remove)))\n                                      (unless (null? ords.found)\n                                        (description-update!\n                                          (lambda (desc) (hash-update desc 'indexes\n                                                                      (lambda (ordering=>lps)\n                                                                        (foldl (lambda (o o=>lps) (hash-remove o=>lps o))\n                                                                               ordering=>lps ords.found)))))\n                                        (checkpoint!))))\n        ((index-dict signature)     (let* ((desc      (description))\n                                           (data      (hash-ref metadata 'data))\n                                           (attrs     (hash-ref desc     'attributes))\n                                           (ordering  ((attrs->signature->ordering attrs) signature))\n                                           (ordering  (car (normalize-table-index-orderings (length attrs) (list ordering))))\n                                           (lpaths.ti (hash-ref (hash-ref desc 'indexes) ordering\n                                                                (lambda () (error \"no relation index matches signature\"\n                                                                                  name signature)))))\n                                      (match lpaths.ti\n                                        ('() dict.empty)\n                                        ((list lpath.ti)\n                                         (define (descs->cols fnsuffix descs.col)\n                                           (map (lambda (j desc.col)\n                                                  (and desc.col\n                                                       (let ((size   (hash-ref desc.col 'size))\n                                                             (offset (hash-ref desc.col 'offset 0))) ; TODO: later, require this\n                                                         (column:offset\n                                                           (if (< 0 size)\n                                                             (let* ((fname (string-append \"column.\" (number->string j) fnsuffix))\n                                                                    (apath (build-path (data-path lpath.ti) fname)))\n                                                               (column:port (open-input-file apath) `#(nat ,size))\n                                                               ;; Optionally load index columns into memory instead\n                                                               ;(time (column:bytes:nat (file->bytes apath) (hash-ref desc.col 'size)))\n                                                               )\n                                                             column:identity)\n                                                           offset))))\n                                                (range (length descs.col)) descs.col))\n                                         (define desc.ti       (hash-ref data lpath.ti))\n                                         (define descs.col.key (hash-ref desc.ti 'columns.key))\n                                         (define cols.key      (descs->cols \".key\"      descs.col.key))\n                                         (define cols.indirect (descs->cols \".indirect\" (hash-ref desc.ti 'columns.indirect)))\n                                         (let loop ((start         0)\n                                                    (end           (hash-ref (car descs.col.key) 'count))\n                                                    (cols.key      cols.key)\n                                                    (cols.indirect cols.indirect))\n                                           (define (next start end) (loop start end (cdr cols.key) (cdr cols.indirect)))\n                                           (define i->key   (car cols.key))\n                                           (define i->value (if (null? cols.indirect)\n                                                              (column:const '())\n                                                              (let ((ci (car cols.indirect)))\n                                                                (if ci\n                                                                  (column:interval ci next)\n                                                                  (lambda (i) (next i (+ i 1)))))))\n                                           (dict:ordered i->key i->value start end)))\n                                        ;; TODO: multiple table-indexes, possibly with deletions\n                                        (_ (error \"multi-table indexes are not yet supported\" name lpaths.ti)))))\n        ;; TODO: share domain dicts when the domains are shared across relations\n        ((domain-dicts)             (let* ((desc         (description))\n                                           (data         (hash-ref metadata 'data))\n                                           (lpaths.table (hash-ref desc     'tables))\n                                           (descs.table  (map (lambda (lp) (hash-ref data lp)) lpaths.table))\n                                           (descs.domain (map (lambda (desc) (hash-ref desc 'domain)) descs.table)))\n                                      (define (domain->dict-pair.text desc.domain)\n                                        (define lpath.dt     (hash-ref desc.domain 'text))\n                                        (define desc.dt      (hash-ref data        lpath.dt))\n                                        (define size.pos     (hash-ref desc.dt     'size.position))\n                                        (define count        (hash-ref desc.dt     'count))\n                                        (define apath.dt     (data-path lpath.dt))\n                                        ;; TODO: should col.pos be shared like this, or duplicated across dicts for safety?\n                                        (define col.pos      (column:port (open-input-file (build-path apath.dt \"position\")) `#(nat ,size.pos)))\n                                        ;; Optionally load positions into memory instead\n                                        ;(define col.pos      (time (column:bytes:nat (file->bytes (build-path apath.dt \"position\")) size.pos)))\n                                        ;; TODO: properly support all text types: bytes, string, symbol\n                                        (define id->str      (column:port-string col.pos (open-input-file (build-path apath.dt \"value\"))))\n                                        (define dict.str=>id (dict:ordered id->str (lambda (id) id) 0 count))\n                                        (define dict.id=>str (dict:integer 0       id->str          0 count))\n                                        (cons dict.str=>id dict.id=>str))\n                                      (define dict-pairs.text (map domain->dict-pair.text descs.domain))\n                                      (cons (hash 'text (map car dict-pairs.text))\n                                            (hash 'text (map cdr dict-pairs.text)))))\n        ;; TODO: only spend effort compacting this relation\n        ((compact!)                 (compact!))))\n    (wrapped-relation (lambda args\n                        (unless self (error \"cannot use deleted relation\" name))\n                        (apply self args))))\n\n  (define path.current       (db-path \"current\"))\n  (define path.previous      (db-path \"previous\"))\n  (define path.trash         (db-path \"trash\"))\n  (define path.metadata      (db-path fn.metadata))\n  (define path.metadata.next (string-append path.metadata fnsuffix.next))\n  (for-each make-directory* (list path.db path.current path.previous path.trash))\n  (define metadata\n    (cond ((file-exists? path.metadata)      (call-with-input-file path.metadata read))\n          ((file-exists? path.metadata.next) (pretty-log '(checkpointing metadata after interrupted swap))\n                                             (rename-file-or-directory path.metadata.next path.metadata)\n                                             (call-with-input-file path.metadata read))\n          (else                              (pretty-log '(creating new database) path.db)\n                                             (call-with-output-file\n                                               path.metadata\n                                               (lambda (out) (pretty-write desc.database.empty out)))\n                                             desc.database.empty)))\n  (pretty-log '(loaded metadata for) path.db metadata)\n  ;; TODO: migrate metadata if format-version is old\n  (clean!)\n\n  (define name=>relation (make-immutable-hash\n                           (hash-map (hash-ref metadata 'relations)\n                                     (lambda (name desc.relation)\n                                       (pretty-log `(loading relation ,name) desc.relation)\n                                       (cons name (make-relation name))))))\n\n  (wrapped-database\n    (method-lambda\n      ((path)                              path.db)\n      ((metadata)                          metadata)\n      ((reachable names)                   (reachable names))\n      ((relation name)                     (hash-ref name=>relation name\n                                                     (lambda () (error \"unknown relation\" name path.db))))\n      ((relation-add! name attrs type src) (apply pretty-log `(creating relation ,name)\n                                                  (map (lambda (a t) `(,a : ,t)) attrs type))\n                                           (new-relation?! name)\n                                           (valid-attributes?! attrs)\n                                           (for-each (lambda (t) (unless (member t '(nat int bytes string symbol))\n                                                                   (error \"invalid attribute type\" t 'in type)))\n                                                     type)\n                                           (unless (= (length attrs) (length type))\n                                             (error \"number of attributes must match the relation type arity\"\n                                                    name attrs type))\n                                           (define path.domain-text (unique-path \"domain-text\"))\n                                           (define path.table       (unique-path \"table\"))\n                                           (define desc.ingest      (ingest-relation-source\n                                                                      path.current path.domain-text path.table type src))\n                                           (define desc.domain-text (hash-ref (hash-ref desc.ingest 'domain) 'text))\n                                           (define desc.table       (hash-ref desc.ingest 'table))\n                                           (define desc.relation    (hash 'attributes attrs\n                                                                          'type       type\n                                                                          'tables     (list path.table)\n                                                                          'indexes    (hash)))\n                                           (data-update!      (lambda (data) (hash-set* data\n                                                                                        path.domain-text desc.domain-text\n                                                                                        path.table       desc.table)))\n                                           (relations-update! (lambda (rs)   (hash-set  rs name desc.relation)))\n                                           (checkpoint!)\n                                           (set! name=>relation (hash-set name=>relation name (make-relation name))))\n      ((import! db.in names.in)            (pretty-log `(importing relations . ,names.in) 'from: (db.in 'path) 'into: path.db)\n                                           (define path.current.in   (path->string (build-path (db.in 'path) \"current\")))\n                                           (define name=>relation.in (hash-ref (db.in 'metadata) 'relations))\n                                           (define lpath=>data.in    (hash-ref (db.in 'metadata) 'data))\n                                           (define descs.relation.in (map (lambda (name)\n                                                                            (unless (hash-has-key? name=>relation.in name)\n                                                                              (error \"cannot import non-existent relation\"\n                                                                                     name (db.in 'path)))\n                                                                            (new-relation?! name)\n                                                                            (hash-ref name=>relation.in name))\n                                                                          names.in))\n                                           (define lpaths.reachable (set->list (db.in 'reachable names.in)))\n                                           (for-each (lambda (lpath)\n                                                       (define apath.in  (path->string (build-path path.current.in lpath)))\n                                                       (define apath.out (data-path lpath))\n                                                       ;; TODO: validate that skipped data is identical\n                                                       ;; TODO: support renaming paths when non-identical data collision occurs\n                                                       (cond ((directory-exists? apath.out) (pretty-log '(skipping import copy) apath.in apath.out))\n                                                             (else                          (pretty-log '(copying for import)   apath.in apath.out)\n                                                                                            (copy-directory/files apath.in apath.out\n                                                                                                                  #:keep-modify-seconds? #t))))\n                                                     lpaths.reachable)\n                                           (data-update!      (lambda (data)\n                                                                (foldl (lambda (lpath data)\n                                                                         (hash-set data lpath (hash-ref lpath=>data.in lpath)))\n                                                                       data lpaths.reachable)))\n                                           (relations-update! (lambda (rs)\n                                                                (foldl (lambda (name desc rs) (hash-set rs name desc))\n                                                                       rs names.in descs.relation.in)))\n                                           (checkpoint!))\n      ((compact!)                          (compact!)))))\n\n(define (database-path             db)              ((wrapped-database-controller db) 'path))\n(define (database-metadata         db)              ((wrapped-database-controller db) 'metadata))\n(define (database-relation         db name)         ((wrapped-database-controller db) 'relation         name))\n(define (database-relation-names   db)              (hash-keys     (hash-ref (database-metadata db) 'relations)))\n(define (database-relation-has?    db name)         (hash-has-key? (hash-ref (database-metadata db) 'relations) name))\n(define (database-relation-add!    db name . pargs) ((wrapped-database-controller db) 'relation-add!    name\n                                                                                      (plist-ref pargs 'attributes)\n                                                                                      (plist-ref pargs 'type)\n                                                                                      (plist-ref pargs 'source)))\n(define (database-relation-remove! db name)         (relation-delete! (database-relation db name)))\n(define (database-compact!         db)              ((wrapped-database-controller db) 'compact!))\n\n(define (database-import! db db.in    . relation-names.in)\n  ((wrapped-database-controller db) 'import! (wrapped-database-controller db.in) relation-names.in))\n(define (database-export! db path.out . relation-names.out)\n  (let ((path.out (normalize-path path.out)))\n    (when (or (file-exists? path.out) (directory-exists? path.out))\n      (error \"export destination already exists\" path.out))\n    (apply database-import! (database path.out) db relation-names.out)))\n\n(define (relation-name                r)              ((wrapped-relation-controller r) 'name))\n(define (relation-metadata            r)              ((wrapped-relation-controller r) 'metadata))\n(define (relation-copy!               r name.new)     ((wrapped-relation-controller r) 'copy!              name.new))\n(define (relation-rename!             r name.new)     ((wrapped-relation-controller r) 'rename!            name.new))\n(define (relation-delete!             r)              ((wrapped-relation-controller r) 'delete!))\n(define (relation-rename-attributes!  r attrs.new)    ((wrapped-relation-controller r) 'rename-attributes! attrs.new))\n(define (relation-index-add!          r . signatures) ((wrapped-relation-controller r) 'index-add!         signatures))\n(define (relation-index-remove!       r . signatures) ((wrapped-relation-controller r) 'index-remove!      signatures))\n(define (relation-index-dict          r signature)    ((wrapped-relation-controller r) 'index-dict         signature))\n(define (relation-domain-dicts        r)              ((wrapped-relation-controller r) 'domain-dicts))\n(define (relation-compact!            r)              ((wrapped-relation-controller r) 'compact!))\n\n;; TODO: in-place sorting of multiple columns\n(define (int-tuple<? a b)\n  (let loop ((a a) (b b))\n    (and (not (null? a))\n         (or (< (car a) (car b))\n             (and (= (car a) (car b))\n                  (loop (cdr a) (cdr b)))))))\n\n(define (sorted-tuples count.tuples columns)\n  (pretty-log `(building ,count.tuples tuples from ,(length columns) columns))\n  (define tuples (make-vector count.tuples))\n  (time/pretty-log\n    (let loop ((i 0))\n      (when (< i count.tuples)\n        (vector-set! tuples i (map (lambda (col) (vector-ref col i))\n                                   columns))\n        (loop (+ i 1)))))\n  (pretty-log '(sorting tuples))\n  (time/pretty-log (vector-sort! tuples int-tuple<?))\n  tuples)\n\n(define (min-nat-bytes nat.max) (max (min-bytes nat.max) 1))\n\n(define (column-paths path.table column-ids)\n  (map (lambda (i) (path->string\n                     (build-path path.table (string-append fn.col \".\" (number->string i)))))\n       column-ids))\n\n(define (ingest-relation-source apath.root lpath.domain-text lpath.table type s.in)\n  (define bytes=>id             (make-hash))\n  (define size.bytes            0)\n  (define count.tuples.initial  0)\n  (define apath.domain.value    (path->string (build-path apath.root lpath.domain-text fn.value)))\n  (define apath.domain.pos      (path->string (build-path apath.root lpath.domain-text fn.pos)))\n  (define apath*.column         (column-paths (build-path apath.root lpath.table) (range (length type))))\n  (define apath*.column.initial (map (lambda (p.c) (string-append p.c fnsuffix.initial))\n                                     apath*.column))\n  (define (insert-bytes! b)\n    (or (hash-ref bytes=>id b #f)\n        (let ((id (hash-count bytes=>id)))\n          (hash-set! bytes=>id b id)\n          (set! size.bytes (+ size.bytes (bytes-length b)))\n          id)))\n  (define row->tuple\n    (let ((col->num* (map\n                      (lambda (i t.col)\n\n                        #;(match t.col\n                          ('int    (lambda (x)\n                                     (unless (int?    x) (error \"invalid int\"    `(column: ,i) x))\n                                     x))\n                          ('nat    (lambda (x)\n                                     (unless (nat?    x) (error \"invalid nat\"    `(column: ,i) x))\n                                     x))\n                          ('bytes  (lambda (x)\n                                     (unless (bytes?  x) (error \"invalid bytes\"  `(column: ,i) x))\n                                     (insert-bytes!                                      x)))\n                          ('string (lambda (x)\n                                     (unless (string? x) (error \"invalid string\" `(column: ,i) x))\n                                     (insert-bytes! (string->bytes/utf-8                 x))))\n                          ('symbol (lambda (x)\n                                     (unless (symbol? x) (error \"invalid symbol\" `(column: ,i) x))\n                                     (insert-bytes! (string->bytes/utf-8 (symbol->string x)))))\n                          (_ (error \"(currently) unsupported type\"                `(column: ,i) t.col)))\n\n                        (case t.col\n                          ((int)    (lambda (x)\n                                     (unless (int?    x) (error \"invalid int\"    `(column: ,i) x))\n                                     x))\n                          ((nat)    (lambda (x)\n                                     (unless (nat?    x) (error \"invalid nat\"    `(column: ,i) x))\n                                     x))\n                          ((bytes)  (lambda (x)\n                                     (unless (bytes?  x) (error \"invalid bytes\"  `(column: ,i) x))\n                                     (insert-bytes!                                      x)))\n                          ((string) (lambda (x)\n                                     (unless (string? x) (error \"invalid string\" `(column: ,i) x))\n                                     (insert-bytes! (string->bytes/utf-8                 x))))\n                          ((symbol) (lambda (x)\n                                     (unless (symbol? x) (error \"invalid symbol\" `(column: ,i) x))\n                                     (insert-bytes! (string->bytes/utf-8 (symbol->string x)))))\n                          (else (error \"(currently) unsupported type\"                `(column: ,i) t.col)))\n\n                        )\n                      \n                          (range (length type))\n                          type)))\n      (lambda (row)\n        (set! count.tuples.initial (+ count.tuples.initial 1))\n        (let loop ((col* row) (col->num* col->num*))\n          (match* (col* col->num*)\n            (((cons col col*) (cons col->num col->num*)) (cons (col->num col) (loop col* col->num*)))\n            (('()             '())                       '())\n            ((_               _)                         (error \"incorrect number of columns\" row type)))))))\n\n  (apply pretty-log '(ingesting rows and writing initial tuple columns) apath*.column.initial)\n  (call/files\n    '() apath*.column.initial\n    (lambda outs.column.initial\n      (define type.tuple (map (lambda (_) 'int) type))\n      (define *row-num* 0)\n      (time/pretty-log\n        (s-each (lambda (row)\n                  (when (zero? (modulo *row-num* 100000))\n                    (printf \"processing row ~s\\n\" *row-num*))\n                  (set! *row-num* (add1 *row-num*))\n                  (for-each encode outs.column.initial type.tuple (row->tuple row)))\n                s.in))))\n\n  (define size.pos  (min-nat-bytes size.bytes))\n  (define count.ids (hash-count bytes=>id))\n  (define id=>id    (make-vector count.ids))\n  (pretty-log `(ingested ,count.tuples.initial tuples))\n  (pretty-log `(sorting ,(hash-count bytes=>id) strings -- ,size.bytes bytes total))\n  (let ((bytes&id*.sorted (time/pretty-log (sort (hash->list bytes=>id)\n                                                 (lambda (a b) (bytes<? (car a) (car b)))))))\n    (pretty-log '(writing sorted strings to) apath.domain.value\n                '(writing positions to) apath.domain.pos)\n    (let/files () ((out.bytes.value apath.domain.value)\n                   (out.bytes.pos   apath.domain.pos))\n      (define (write-pos)\n        (write-bytes (nat->bytes size.pos (file-position out.bytes.value)) out.bytes.pos))\n      (write-pos)\n      (time/pretty-log\n        (let loop ((i 0) (b&id* bytes&id*.sorted))\n          (unless (null? b&id*)\n            (let* ((b&id (car b&id*))\n                   (b    (car b&id))\n                   (id   (cdr b&id)))\n              (write-bytes b out.bytes.value)\n              (write-pos)\n              (vector-set! id=>id id i)\n              (loop (+ i 1) (cdr b&id*))))))))\n  (define desc.domain-text\n    (hash 'count         count.ids\n          'size.position size.pos))\n  (write-metadata (build-path apath.root lpath.domain-text fn.metadata.initial) desc.domain-text)\n\n  (pretty-log '(remapping columns))\n  (define column-vmms\n    (map (lambda (t.col apath.in)\n           (define col->col\n             (match t.col\n               ((or 'nat 'int)              (lambda (n)  n))\n               ((or 'bytes 'string 'symbol) (lambda (id) (vector-ref id=>id id)))))\n           (define (read-element in) (col->col (decode in 'int)))\n           (match-define (list vec.col min.col max.col)\n             (read-column/bounds apath.in count.tuples.initial read-element))\n           (pretty-log `(deleting ,apath.in))\n           (delete-file apath.in)\n           (list vec.col min.col max.col))\n         type apath*.column.initial))\n  (define columns (map car column-vmms))\n\n  (define tuples  (sorted-tuples count.tuples.initial columns))\n  (pretty-log '(deduplicating tuples))\n  (define (columns-set! j tuple) (for-each (lambda (vec.col value.col)\n                                             (vector-set! vec.col j value.col))\n                                           columns tuple))\n  (define count.tuples.unique\n    (time/pretty-log\n      (when (< 0 count.tuples.initial)\n        (define t0 (vector-ref tuples 0))\n        (columns-set! 0 t0)\n        (let loop ((prev t0) (i 1) (j 1))\n          (if (< i count.tuples.initial)\n            (let ((next (vector-ref tuples i)))\n              (cond ((equal? prev next) (loop prev (+ i 1) j))\n                    (else (columns-set! j next)\n                          (loop next (+ i 1) (+ j 1)))))\n            j)))))\n\n  (define column-descriptions\n    (map (lambda (t.col vec.col min.col max.col apath.out)\n           (match-define (cons size.col offset.col)\n             (write-column apath.out count.tuples.unique vec.col min.col max.col))\n           (hash 'type   (match t.col\n                           ((or 'nat 'int)              'int)\n                           ((or 'bytes 'string 'symbol) 'text))\n                 'count  count.tuples.unique\n                 'size   size.col\n                 'offset offset.col\n                 'min    min.col\n                 'max    max.col))\n         type columns (map cadr column-vmms) (map caddr column-vmms) apath*.column))\n  (define desc.table\n    (hash 'direction 'insert\n          'domain    (hash 'text lpath.domain-text)\n          'count     count.tuples.unique\n          'columns   column-descriptions))\n  (write-metadata (build-path apath.root lpath.table fn.metadata.initial) desc.table)\n\n  (hash 'domain (hash 'text desc.domain-text)\n        'table  desc.table))\n\n(define ((multi-merge <? gens gen-empty? gen-first gen-rest) yield)\n  (define h   (list->vector gens))\n  (define end (vector-length h))\n  (heap! <? h end)\n  (define (re-insert end gen)\n    (cond ((gen-empty? gen) (heap-remove!  <? h end)\n                            (- end 1))\n          (else             (heap-replace! <? h end gen)\n                            end)))\n  (if (< 0 end)\n    (let ((g.top (heap-top h)))\n      (let loop.new ((g.top g.top)\n                     (x     (gen-first g.top))\n                     (i     0)\n                     (end   end))\n        (yield x)\n        (let loop.duplicate ((end (re-insert end (gen-rest g.top i))))\n          (if (< 0 end)\n            (let* ((g.top (heap-top h))\n                   (y     (gen-first g.top)))\n              (if (equal? x y)\n                (loop.duplicate (re-insert end (gen-rest g.top i)))\n                (loop.new       g.top y (+ i 1) end)))\n            (+ i 1)))))\n    0))\n\n(define (compact-text-domains apath.domain-text.new apaths.domain-text descs.domain-text)\n  (define apath.value  (path->string (build-path apath.domain-text.new fn.value)))\n  (define apath.pos    (path->string (build-path apath.domain-text.new fn.pos)))\n  (define size.bytes   (sum (map (lambda (apath.in) (file-size (build-path apath.in fn.value)))\n                                 apaths.domain-text)))\n  (define size.pos     (min-nat-bytes size.bytes))\n  (define id=>ids      (map (lambda (desc.in) (make-vector (hash-ref desc.in 'count)))\n                            descs.domain-text))\n  (define custodian.gs (make-custodian))\n  (define gs           (parameterize ((current-custodian custodian.gs))\n                         (map (lambda (apath.in desc.in id=>id)\n                                (define count       (hash-ref desc.in 'count))\n                                (define size.pos    (hash-ref desc.in 'size.position))\n                                (define apath.value (build-path apath.in fn.value))\n                                (define apath.pos   (build-path apath.in fn.pos))\n                                (and (< 0 count)\n                                     (let ((in.value (open-input-file apath.value))\n                                           (in.pos   (open-input-file apath.pos)))\n                                       (define (read-pos) (bytes-nat-ref (read-bytes size.pos in.pos)\n                                                                         size.pos\n                                                                         0))\n                                       (let loop ((id 0) (pos.current (read-pos)))\n                                         (let ((pos.next (read-pos)))\n                                           (cons (read-bytes (- pos.next pos.current) in.value)\n                                                 (lambda (i)\n                                                   (vector-set! id=>id id i)\n                                                   (and (< (+ id 1) count)\n                                                        (loop (+ id 1) pos.next)))))))))\n                              apaths.domain-text descs.domain-text id=>ids)))\n  (pretty-log '(merging domains) (map cons apaths.domain-text descs.domain-text)\n              '(writing merge-sorted strings to) apath.value\n              '(writing positions to) apath.pos)\n  (define count.ids    (let/files () ((out.value apath.value)\n                                      (out.pos   apath.pos))\n                         (define (write-pos) (write-bytes (nat->bytes size.pos\n                                                                      (file-position out.value))\n                                                          out.pos))\n                         (write-pos)\n                         (time/pretty-log\n                           ((multi-merge (lambda (g.0 g.1) (bytes<? (car g.0) (car g.1)))\n                                         (filter-not not gs)\n                                         not\n                                         car\n                                         (lambda (g i) ((cdr g) i)))\n                            (lambda (bs)\n                              (write-bytes bs out.value)\n                              (write-pos))))))\n  (custodian-shutdown-all custodian.gs)\n  ;; replace identity mappings with #f, indicating no remapping is necessary\n  (define remappings   (map (lambda (id=>id)\n                              (let loop ((i (- (vector-length id=>id) 1)))\n                                (and (<= 0 i)\n                                     (if (= i (vector-ref id=>id i))\n                                       (loop (- i 1))\n                                       id=>id))))\n                            id=>ids))\n  (define desc.domain-text\n    (hash 'count         count.ids\n          'size.position size.pos))\n  (write-metadata (build-path apath.domain-text.new fn.metadata.initial) desc.domain-text)\n  (hash 'domain-text desc.domain-text\n        'remappings  remappings))\n\n(define ((attrs->signature->ordering attrs) signature)\n  (map (lambda (attr) (let ((i (index-of attrs attr)))\n                        (if i i (error \"invalid signature attribute\" attr signature))))\n       signature))\n\n(define (normalize-table-index-orderings count.columns orderings)\n  (for-each (lambda (ordering) (unless (and (not (null? ordering))\n                                            (list? ordering)\n                                            (andmap (lambda (i) (and (nat? i) (<= 0 i) (< i count.columns)))\n                                                    ordering)\n                                            (= (length ordering) (set-count (list->set ordering))))\n                                 (error \"invalid index\" ordering)))\n            orderings)\n  (remove-duplicates\n    (map (lambda (ordering)\n           (define len (length ordering))\n           (cond ((= (+ len 1) count.columns) (append ordering (set-subtract (range count.columns)\n                                                                             ordering)))\n                 ((<    len    count.columns) (append ordering '(#t)))\n                 (else                                ordering)))\n         orderings)))\n\n(define (build-table-indexes apath.root lpath*.index lpath.table desc.table orderings)\n  (define apath.root.table  (path->string (build-path apath.root lpath.table)))\n  (define apath*.root.index (map (lambda (lpath.index) (path->string (build-path apath.root lpath.index)))\n                                 lpath*.index))\n  (define count.tuples      (hash-ref desc.table 'count))\n  (define desc*.column      (hash-ref desc.table 'columns))\n  (define count.columns     (length desc*.column))\n  (pretty-log '(building indexes for) apath.root.table orderings desc.table apath*.root.index)\n  (define key-used?       (ormap (lambda (ordering) (member #t ordering))\n                                 orderings))\n  (define column-ids.used (set->list (set-remove (foldl (lambda (ordering col-ids)\n                                                          (set-union col-ids (list->set ordering)))\n                                                        (set) orderings)\n                                                 #t)))\n  (define size.pos        (min-nat-bytes (- count.tuples 1)))\n  (define i=>desc.col     (make-immutable-hash\n                            (append (if key-used?\n                                      (list (cons #t (hash 'type   'int\n                                                           'count  count.tuples\n                                                           'size   size.pos\n                                                           'offset 0\n                                                           'min    0\n                                                           'max    (- count.tuples 1))))\n                                      '())\n                                    (map cons (range count.columns) desc*.column))))\n  (define i=>col          (make-immutable-hash\n                            (append (if key-used?\n                                      (list (cons #t (let ((column.key (make-vector count.tuples)))\n                                                       (let loop ((i 0))\n                                                         (when (< i count.tuples)\n                                                           (vector-set! column.key i i)\n                                                           (loop (+ i 1))))\n                                                       column.key)))\n                                      '())\n                                    (map (lambda (i.col apath.in)\n                                           (cons i.col (read-column apath.in (hash-ref i=>desc.col i.col))))\n                                         column-ids.used\n                                         (column-paths apath.root.table column-ids.used)))))\n  (map (lambda (apath.root.index ordering)\n         (pretty-log '(building index) apath.root.index '(with ordering) ordering)\n         (define columns.used        (map (lambda (i.col) (hash-ref i=>col      i.col))   ordering))\n         (define descs.used          (map (lambda (i.col) (hash-ref i=>desc.col i.col))   ordering))\n         (define s&o*.used           (map (lambda (desc) (ideal-size-and-offset (hash-ref desc 'min)\n                                                                                (hash-ref desc 'max)))\n                                          descs.used))\n         (define sizes.used          (map car s&o*.used))\n         (define offsets.used        (map cdr s&o*.used))\n         (define tuples              (sorted-tuples count.tuples columns.used))\n         (define apath*.col.key      (map (lambda (apath.col) (string-append apath.col fnsuffix.key))\n                                          (column-paths apath.root.index (range    (length ordering)))))\n         (define apath*.col.indirect (map (lambda (apath.col) (string-append apath.col fnsuffix.indirect))\n                                          (column-paths apath.root.index (range (- (length ordering) 1)))))\n         (pretty-log '(writing index columns))\n         (define counts\n           (call/files\n             '()\n             apath*.col.key\n             (lambda out*.key\n               (call/files\n                 '()\n                 apath*.col.indirect\n                 (lambda out*.indirect\n                   (time/pretty-log\n                     (when (< 0 count.tuples)\n                       (for-each (lambda (out) (write-bytes (nat->bytes size.pos 0) out))\n                                 out*.indirect)\n                       (let loop.keys ((i*.key        (range (length ordering)))\n                                       (size*.key     sizes.used)\n                                       (offset*.key   offsets.used)\n                                       (out*.key      out*.key)\n                                       (out*.indirect out*.indirect)\n                                       (pos*          (make-list (length out*.key) 0))\n                                       (start         0)\n                                       (end           count.tuples))\n                         (let ((i.key      (car i*.key))\n                               (i*.key     (cdr i*.key))\n                               (size.key   (car size*.key))\n                               (offset.key (car offset*.key)))\n                           (define (key-ref i) (list-ref (vector-ref tuples i) i.key))\n                           (let ((out.key (car out*.key)))\n                             (define (write-key key) (write-bytes (nat->bytes size.key (- key offset.key)) out.key))\n                             (if (null? i*.key)\n                               (let loop.final ((i start))\n                                 (cond ((< i end) (write-key (key-ref i))\n                                                  (loop.final (+ i 1)))\n                                       (else      (list (+ (car pos*) (- i start))))))\n                               (let ((out.indirect (car out*.indirect)))\n                                 (let loop.key ((pos (car pos*)) (pos* (cdr pos*)) (start start) (end end))\n                                   (if (< start end)\n                                     (let ((key (key-ref start)))\n                                       (write-key key)\n                                       (let ((start.new (bisect-next start end (lambda (i) (<= (key-ref i) key)))))\n                                         (let ((pos* (loop.keys i*.key\n                                                                (cdr size*.key)\n                                                                (cdr offset*.key)\n                                                                (cdr out*.key)\n                                                                (cdr out*.indirect)\n                                                                pos*\n                                                                start\n                                                                start.new)))\n                                           (write-bytes (nat->bytes size.pos (car pos*)) out.indirect)\n                                           (loop.key (+ pos 1) pos* start.new end))))\n                                     (cons pos pos*)))))))))))))))\n         (define descs.column.key      (map (lambda (apath desc count size offset)\n                                              (let* ((desc (hash-set* desc 'count count 'size size 'offset offset)))\n                                                (cond ((column-consecutive? (lambda () (read-column apath desc))\n                                                                            count\n                                                                            (hash-ref desc 'min)\n                                                                            (hash-ref desc 'max))\n                                                       (delete-file apath)\n                                                       (hash-set* desc 'size 0 'offset (hash-ref desc 'min)))\n                                                      (else desc))))\n                                            apath*.col.key descs.used counts sizes.used offsets.used))\n         (define descs.column.indirect (map (lambda (apath.indirect count.current count.next)\n                                              (cond ((= count.current count.next)\n                                                     (pretty-log '(deleting identity indirection) apath.indirect)\n                                                     (delete-file apath.indirect)\n                                                     #f)\n                                                    (else (hash 'type  'int\n                                                                'count count.current\n                                                                'size  size.pos\n                                                                'min   0\n                                                                'max   count.next))))\n                                            apath*.col.indirect\n                                            (reverse (cdr (reverse counts)))\n                                            (cdr counts)))\n         (define desc.table-index      (hash 'table            lpath.table\n                                             'ordering         ordering\n                                             'columns.key      descs.column.key\n                                             'columns.indirect descs.column.indirect))\n         (write-metadata (build-path apath.root.index fn.metadata.initial) desc.table-index)\n         desc.table-index)\n       apath*.root.index orderings))\n\n(define (read-column/bounds apath.in count read-element)\n  ;; TODO: consider specialized vectors: https://docs.racket-lang.org/foreign/homogeneous-vectors.html\n  (define vec.col (make-vector count))\n  (pretty-log `(reading ,count elements and computing min/max from) apath.in)\n  (let/files ((in apath.in)) ()\n    (time/pretty-log\n      (let loop ((i 0) (min.col #f) (max.col 0))\n        (cond ((< i count)\n               (define value (read-element in))\n               (vector-set! vec.col i value)\n               (loop (+ i 1)\n                     (if min.col (min min.col value) value)\n                     (max max.col value)))\n              (else (list vec.col (or min.col 0) max.col)))))))\n\n(define (read-column apath.in desc.in)\n  (define count   (hash-ref desc.in 'count))\n  (define size    (hash-ref desc.in 'size))\n  (define offset  (hash-ref desc.in 'offset 0)) ; TODO: later, require this\n  ;; TODO: consider specialized vectors: https://docs.racket-lang.org/foreign/homogeneous-vectors.html\n  (define vec.col (make-vector count))\n  (cond ((< 0 size) (pretty-log `(reading ,count elements from) apath.in)\n                    (let/files ((in apath.in)) ()\n                      (time/pretty-log\n                        (let loop ((i 0))\n                          (cond ((< i count) (define v.in (bytes-nat-ref (read-bytes size in) size 0))\n                                             (vector-set! vec.col i (+ offset v.in))\n                                             (loop (+ i 1)))\n                                (else        vec.col))))))\n        (else       (pretty-log `(building ,count consecutive integers starting at ,offset)\n                                '(instead of reading from) apath.in)\n                    (let loop ((i 0))\n                      (cond ((< i count) (vector-set! vec.col i (+ offset i))\n                                         (loop (+ i 1)))\n                            (else        vec.col))))))\n\n(define (write-column apath.out count vec.col min.col max.col)\n  (if (column-consecutive? (lambda () vec.col) count min.col max.col)\n    (begin (pretty-log '(not writing column to file because column is consecutive)\n                       `(would have written ,count elements to) apath.out\n                       `(nat-size: ,0 offset: ,min.col min: ,min.col max: ,max.col))\n           (cons 0 min.col))\n    (match-let (((cons size.col offset.col) (ideal-size-and-offset min.col max.col)))\n      (pretty-log `(writing ,count elements to) apath.out\n                  `(nat-size: ,size.col offset: ,offset.col min: ,min.col max: ,max.col))\n      (let/files () ((out apath.out))\n        (time/pretty-log\n          (let loop ((i 0))\n            (when (< i count)\n              (write-bytes (nat->bytes size.col (- (vector-ref vec.col i) offset.col)) out)\n              (loop (+ i 1))))))\n      (cons size.col offset.col))))\n\n(define (ideal-size-and-offset min.col max.col)\n  (define diff.col  (- max.col min.col))\n  (define size.diff (min-nat-bytes diff.col))\n  (define size.max  (min-nat-bytes max.col))\n  (if (or (< min.col   0)\n          (< size.diff size.max))\n    (cons size.diff min.col)\n    (cons size.max  0)))\n\n(define (column-consecutive? ->vec count.col min.col max.col)\n  (and (= count.col (+ 1 (- max.col min.col)))\n       (let ((vec.col (->vec)))\n         (let loop ((i 0) (expected min.col))\n           (or (= i count.col)\n               (and (= expected (vector-ref vec.col i))\n                    (loop (+ i 1) (+ expected 1))))))))\n\n(define (remap-column?      desc.col   type=>id=>id) (not (not (hash-ref type=>id=>id (hash-ref desc.col 'type) #f))))\n(define (remap-table?       desc.table type=>id=>id) (ormap (lambda (desc.col) (remap-column? desc.col type=>id=>id))\n                                                            (hash-ref desc.table 'columns)))\n(define (remap-table-index? desc.ti    type=>id=>id) (ormap (lambda (desc.col) (remap-column? desc.col type=>id=>id))\n                                                            (hash-ref desc.ti 'columns.key)))\n\n(define (remap-column apath.in apath.out desc.in type=>id=>id)\n  (pretty-log `(remapping ,apath.in to ,apath.out) desc.in)\n  (define type    (hash-ref desc.in 'type))\n  (define count   (hash-ref desc.in 'count))\n  (define size.in (hash-ref desc.in 'size))\n  (define offset  (hash-ref desc.in 'offset 0)) ; TODO: later, require this\n  (define id=>id  (hash-ref type=>id=>id type #f))\n  (cond (id=>id (match-define (list vec.col min.col max.col)\n                  (if (< 0 size.in)\n                    (read-column/bounds apath.in count\n                                        (lambda (in)\n                                          (define v.in (bytes-nat-ref (read-bytes size.in in) size.in 0))\n                                          (vector-ref id=>id (+ offset v.in))))\n                    (let loop ((i 0))\n                      (cond ((< i count) (vector-set! vec.col i (+ offset i))\n                                         (loop (+ i 1)))\n                            (else        (list vec.col offset (+ offset (- count 1))))))))\n                (match-define (cons size.col offset.col)\n                  (write-column apath.out (vector-length vec.col) vec.col min.col max.col))\n                (hash-set* desc.in 'size size.col 'offset offset.col 'min min.col 'max max.col))\n        ((= 0 size.in) (pretty-log '(identity remapping on a consecutive integer sequence: nothing to do))\n                       desc.in)\n        (else          (pretty-log '(copying verbatim due to identity remapping))\n                       (time/pretty-log (copy-file apath.in apath.out))\n                       desc.in)))\n\n(define (remap-table apath.in apath.out desc.table.in desc.domain.new type=>id=>id)\n  (pretty-log `(remapping ,apath.in to ,apath.out) desc.table.in)\n  (define columns.in     (hash-ref desc.table.in 'columns))\n  (define columns.out    (map (lambda (apath.in.col apath.out.col desc.in.col)\n                                (remap-column apath.in.col apath.out.col desc.in.col type=>id=>id))\n                              (column-paths apath.in  (range (length columns.in)))\n                              (column-paths apath.out (range (length columns.in)))\n                              columns.in))\n  (define desc.table.out (hash 'domain  desc.domain.new\n                               'count   (hash-ref desc.table.in 'count)\n                               'columns columns.out))\n  (write-metadata (build-path apath.out fn.metadata.initial) desc.table.out)\n  desc.table.out)\n\n(define (remap-table-index apath.in apath.out desc.table-index.in lpath.table.new type=>id=>id)\n  (pretty-log `(remapping ,apath.in to ,apath.out) desc.table-index.in)\n  (define (remap fnsuffix desc*.in)\n    (map (lambda (apath.in.col apath.out.col desc.in.col)\n           (and desc.in.col (remap-column apath.in.col apath.out.col desc.in.col type=>id=>id)))\n         (map (lambda (apath.col) (string-append apath.col fnsuffix))\n              (column-paths apath.in  (range (length desc*.in))))\n         (map (lambda (apath.col) (string-append apath.col fnsuffix))\n              (column-paths apath.out (range (length desc*.in))))\n         desc*.in))\n  (define columns.key.in       (hash-ref desc.table-index.in 'columns.key))\n  (define columns.indirect.in  (hash-ref desc.table-index.in 'columns.indirect))\n  (define columns.key.out      (remap fnsuffix.key      columns.key.in))\n  (define columns.indirect.out (remap fnsuffix.indirect columns.indirect.in))\n  (define desc.table-index.out (hash-set* desc.table-index.in\n                                          'table            lpath.table.new\n                                          'columns.key      columns.key.out\n                                          'columns.indirect columns.indirect.out))\n  (write-metadata (build-path apath.out fn.metadata.initial) desc.table-index.out)\n  desc.table-index.out)\n\n\n;; TODO: benchmark a design based on streams/iterators for comparison\n\n;; TODO:\n;; simple edb-relations vs. idb-relations w/ fixed-point iteration materializations (current + next-delta + now-being-produced)\n\n(define (bisect start end i<)\n  (let loop ((start start) (end end))\n    (if (<= end start) end\n      (let ((i (+ start (quotient (- end start) 2))))\n        (if (i< i) (loop (+ 1 i) end) (loop start i))))))\n\n(define (bisect-next start end i<)\n  (define i (- start 1))\n  (let loop ((offset 1))\n    (define next (+ i offset))\n    (cond ((and (< next end) (i< next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (next (+ i o)))\n                    (cond ((= o 0)                      (+ i 1))\n                          ((and (< next end) (i< next)) (loop next o))\n                          (else                         (loop i    o)))))))))\n\n(define (bisect-prev start end i>)\n  (define i end)\n  (let loop ((offset 1))\n    (define next (- i offset))\n    (cond ((and (>= next start) (i> next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (n (- i o)))\n                    (cond ((= o 0)                   i)\n                          ((and (>= n start) (i> n)) (loop n o))\n                          (else                      (loop i o)))))))))\n\n;; TODO: remove tables, or at least reduce their scope?\n(define table.empty\n  (method-lambda\n    ((length)                         0)\n    ((subtable start.sub (end.sub 0)) table.empty)\n    ((columns  start.col (end.col 0)) table.empty)\n    ((copy)                           table.empty)\n    ((dedup)                          table.empty)\n    ((dedup!)                         (void))\n    ((sort)                           table.empty)\n    ((sort!)                          (void))))\n\n(define (table columns (start 0) (end (vector-length (vector-ref columns 0))))\n  (if (= 0 (vector-length columns))\n    table.empty\n    (let loop ((start start) (end end))\n      (define (self-length)         (- end start))\n      (define (self-width)          (vector-length columns))\n      (define (self-column col)     (vector-ref    columns           col))\n      (define (self-ref  col row)   (vector-ref    (self-column col) row))\n      (define (self-set! col row v) (vector-set!   (self-column col) row v))\n      (define (self-copy)           (table (vector-map (lambda (v.col) (vector-copy v.col start end))\n                                                       columns)))\n      (define (self-dedup!)\n        (define width (self-width))\n        (let dedup ((row.prev start) (row (+ start 1)))\n          (if (= row end)\n            (when (< (+ row.prev 1) end)\n              (set! end (+ row.prev 1)))\n            (if (let duplicate? ((col 0))\n                  (or (= col width)\n                      (let ((v.col (self-column col)))\n                        (and (equal? (vector-ref v.col row.prev)\n                                     (vector-ref v.col row))\n                             (duplicate? (+ col 1))))))\n              (dedup row.prev (+ row 1))\n              (let ((row.prev (+ row.prev 1)))\n                (unless (= row.prev row)\n                  (let swap! ((col 0))\n                    (when (< col width)\n                      (let ((v.col (self-column col)))\n                        (vector-set! v.col row.prev (vector-ref v.col row))\n                        (swap! (+ col 1))))))\n                (dedup row.prev (+ row 1)))))))\n      (if (<= end start)\n        table.empty\n        (method-lambda\n          ((width)                                      (self-width))\n          ((length)                                     (self-length))\n          ((ref  col row)                               (self-ref  col row))\n          ((set! col row v)                             (self-set! col row v))\n          ((subtable start.sub (end.sub (self-length))) (loop (+ start start.sub) (+ start end.sub)))\n          ((columns  start.col (end.col (self-width)))  (table (vector-copy columns start.col end.col) start end))\n          ((copy)                                       (self-copy))\n          ((dedup)                                      (let ((t (self-copy)))\n                                                          (t 'dedup!)\n                                                          t))\n          ((dedup!)                                     (self-dedup!))\n          ;; TODO:\n          ;((sort ))\n          ;((sort! ))\n          )))))\n\n(define (table-width    t)                              (t 'width))\n(define (table-length   t)                              (t 'length))\n(define (table-ref      t col row)                      (t 'ref      col row))\n(define (table-set!     t col row v)                    (t 'set!     col row v))\n(define (table-subtable t start (end (table-length t))) (t 'subtable start end))\n(define (table-columns  t start (end (table-width  t))) (t 'columns  start end))\n(define (table-dedup    t)                              (t 'dedup))\n(define (table-dedup!   t)                              (t 'dedup!))\n(define (table-sort     t)                              (t 'sort))\n(define (table-sort!    t)                              (t 'sort!))\n\n;; TODO: support a direct-scanning operator, rather than scanning via column indices\n;; TODO: columns with methods: 'ref for what it does now, and 'enumerator for efficient scanning?\n;; TODO: more flexible/efficient method-lambda\n\n(define (column:identity                           i) i)\n(define ((column:const     c)                      _) c)\n(define ((column:offset    column offset)          i) (+ (column i) offset))\n(define ((column:vector    rows)                   i) (vector-ref rows i))\n(define ((column:table     columns)                i) (map (lambda (col) (col i)) columns))\n(define ((column:indirect  column.pos column)      i) (column (column.pos i)))\n(define ((column:interval  column.pos interval->x) i) (interval->x (column.pos i) (column.pos (+ i 1))))\n(define ((column:bytes:nat bs size)                i) (bytes-nat-ref bs size (* i size)))\n\n;; TODO: specialize to fixed-size nat\n(define (column:port                     in type) (let ((size.type (sizeof type (void))))\n                                                    (lambda (i)\n                                                      (file-position in (* i size.type))\n                                                      (decode        in type))))\n(define (column:port-indirect column.pos in type)   (lambda (i)\n                                                      (file-position in (column.pos i))\n                                                      (decode        in type)))\n;; TODO: generalize to bytes\n(define (column:port-string   column.pos in)      (column:interval\n                                                    column.pos\n                                                    (lambda (pos.0 pos.1)\n                                                      (file-position in pos.0)\n                                                      (bytes->string/utf-8 (read-bytes (- pos.1 pos.0) in)))))\n\n(define ((interval->dict:ordered i->key i->value) start end) (dict:ordered i->key i->value start end))\n\n;; TODO: not needed?\n;(define (dict:ordered:trie start end)\n  ;)\n\n\n(define dict.empty\n  (method-lambda\n    ((count)                   0)\n    ((=/= _)                   dict.empty)\n    ((==  _)                   dict.empty)\n    ((<=  _)                   dict.empty)\n    ((<   _)                   dict.empty)\n    ((>=  _)                   dict.empty)\n    ((>   _)                   dict.empty)\n    ((bstr-prefix   _)         dict.empty)\n    ((bstr-contains _)         dict.empty)\n    ((has-key?      _)         #f)\n    ((ref _ k.found k.missing) (k.missing))\n    ((enumerator/2)            (lambda _ (void)))\n    ((enumerator)              (lambda _ (void)))))\n\n(define (dict:integer offset.key i->value start end)\n  (let loop ((start start) (end end))\n    (define self\n      (if (<= end start)\n        dict.empty\n        (method-lambda\n          ((pop)    (loop (+ start 1) end))\n          ((count)  (- end start))\n          ((top)    (i->value start))\n          ((max)    (+ offset.key (- end 1)))\n          ((min)    (+ offset.key start))\n          ((>= key) (loop (max start    (- key offset.key))    end))\n          ((>  key) (loop (max start (+ (- key offset.key) 1)) end))\n          ((<= key) (loop start                                (min end (+ (- key offset.key) 1))))\n          ((<  key) (loop start                                (min end    (- key offset.key))))\n          ((== key) ((self '>= key) '<= key))\n          ((has-key? key)              (let ((self (self '>= key)))\n                                         (and (< 0 (self 'count))\n                                              (equal? (self 'min) key))))\n          ((ref key k.found k.missing) (let ((self (self '>= key)))\n                                         (if (or (= 0 (self 'count))\n                                                 (not (equal? (self 'min) key)))\n                                           (k.missing)\n                                           (k.found (self 'top)))))\n          ((enumerator/2)              (lambda (yield)\n                                         (let loop ((i start))\n                                           (when (< i end)\n                                             (yield (+ i offset.key) (i->value i))\n                                             (loop (+ i 1))))))\n          ((enumerator)                (lambda (yield)\n                                         (let loop ((i start))\n                                           (when (< i end)\n                                             (yield (+ i offset.key))\n                                             (loop (+ i 1)))))))))\n    self))\n\n(define (dict:ordered i->key i->value start end)\n  (let loop ((start start) (end end))\n    (define (after  k<) (loop (bisect-next start end (lambda (i) (k< (i->key i)))) end))\n    (define (before k>) (loop start (bisect-prev start end (lambda (i) (k> (i->key i))))))\n    (define self\n      (if (<= end start)\n        dict.empty\n        (method-lambda\n          ((pop)       (loop (+ start 1) end))\n          ((count)     (- end start))\n          ((top)       (i->value start))\n          ((max)       (i->key   (- end 1)))\n          ((min)       (i->key   start))\n          ((after  k<) (after  k<))\n          ((before k>) (before k>))\n          ((>= key)    (after  (lambda (k) (any<?  k key))))\n          ((>  key)    (after  (lambda (k) (any<=? k key))))\n          ((<= key)    (before (lambda (k) (any<?  key k))))\n          ((<  key)    (before (lambda (k) (any<=? key k))))\n          ((== key)    ((self '>= key) '<= key))\n          ((has-key? key)              (let ((self (self '>= key)))\n                                         (and (< 0 (self 'count))\n                                              (equal? (self 'min) key))))\n          ((ref key k.found k.missing) (let ((self (self '>= key)))\n                                         (if (or (= 0 (self 'count))\n                                                 (not (equal? (self 'min) key)))\n                                           (k.missing)\n                                           (k.found (self 'top)))))\n          ((enumerator/2)              (lambda (yield)\n                                         (let loop ((i start))\n                                           (when (< i end)\n                                             (yield (i->key i) (i->value i))\n                                             (loop (+ i 1))))))\n          ((enumerator)                (lambda (yield)\n                                         (let loop ((i start))\n                                           (when (< i end)\n                                             (yield (i->key i))\n                                             (loop (+ i 1)))))))))\n    self))\n\n(define (dict:ordered:vector rows (t->key (lambda (t) t)) (start 0) (end (vector-length rows)))\n  (define (i->value i) (vector-ref rows i))\n  (define (i->key   i) (t->key (i->value i)))\n  (dict:ordered i->key i->value start end))\n\n(define (dict:hash k=>t)\n  (let loop ((k=>t k=>t))\n    (if (= (hash-count k=>t) 0)\n      dict.empty\n      (method-lambda\n        ((count)                     (hash-count k=>t))\n        ((=/= key)                   (loop (hash-remove k=>t key)))\n        ((==  key)                   (if (hash-has-key? k=>t key)\n                                       (loop (hash key (hash-ref k=>t key)))\n                                       dict.empty))\n        ((has-key? key)              (hash-has-key? k=>t key))\n        ((ref key k.found k.missing) (if (hash-has-key? k=>t key)\n                                       (k.found (hash-ref k=>t key))\n                                       (k.missing)))\n        ((enumerator/2)              (hash->enumerator/2 k=>t))\n        ((enumerator)                (lambda (yield)\n                                       (for ((k (in-hash-keys k=>t)))\n                                         (yield k))))))))\n\n(define ((merge-join A B) yield)\n  (when (and (< 0 (A 'count))\n             (< 0 (B 'count)))\n    (let loop ((A   A)\n               (k.A (A 'min))\n               (B   B)\n               (k.B (B 'min)))\n      (case (compare-any k.A k.B)\n        ((-1) (let ((A (A '>= k.B)))\n                (when (< 0 (A 'count))\n                  (loop A (A 'min) B k.B))))\n        (( 1) (let ((B (B '>= k.A)))\n                (when (< 0 (B 'count))\n                  (loop A k.A B (B 'min)))))\n        (else (let ((t.A (A 'top))\n                    (t.B (B 'top))\n                    (A   (A 'pop))\n                    (B   (B 'pop)))\n                (yield k.A t.A t.B)\n                (when (and (< 0 (A 'count))\n                           (< 0 (B 'count)))\n                  (loop A (A 'min) B (B 'min)))))))))\n\n(define ((merge-antijoin A B) yield)\n  ((dict-antijoin-ordered (A 'enumerator/2) B) yield))\n\n(define ((merge-key-union A B) yield)\n  ((dict-key-union-ordered (A 'enumerator) B) yield))\n\n(define (group-fold->hash en v.0 f)\n  (define k=>v (hash))\n  (en (lambda (k v) (set! k=>v (hash-update k=>v k\n                                            (lambda (v.current) (f v v.current))\n                                            v.0))))\n  k=>v)\n\n(define ((group-fold en v.0 f) yield)\n  ((hash->enumerator/2 (group-fold->hash en v.0 f)) yield))\n\n(define ((group-fold-ordered en v.0 f) yield)\n  (let ((first?    #t)\n        (k.current #f)\n        (v.current v.0))\n    (en (lambda (k v)\n          (cond (first?               (set! first?    #f)\n                                      (set! k.current k)\n                                      (set! v.current (f v v.0)))\n                ((equal? k k.current) (set! v.current (f v v.current)))\n                (else                 (yield k.current v.current)\n                                      (set! k.current k)\n                                      (set! v.current (f v v.0))))))\n    (unless first?\n      (yield k.current v.current))))\n\n(define ((enumerator-dedup en) yield)\n  (define first?     #t)\n  (define t.previous #f)\n  (en (lambda (t)\n        (cond (first?                      (set! first?     #f)\n                                           (set! t.previous t)\n                                           (yield t))\n              ((not (equal? t t.previous)) (set! t.previous t)\n                                           (yield t))))))\n\n(define ((enumerator-project en f) yield)\n  (en (lambda args (apply f yield args))))\n\n(define ((enumerator-filter en ?) yield)\n  (en (lambda (t) (when (? t) (yield t)))))\n\n(define ((enumerator-sort en <?) yield)\n  ((list->enumerator (sort (enumerator->rlist en) <?)) yield))\n\n(define (enumerator->dict:ordered:vector-flat en (t->key (lambda (t) t)))\n  (dict:ordered:vector\n    (enumerator->vector (enumerator-dedup (enumerator-sort en any<?)))\n    t->key))\n\n(define (enumerator->dict:ordered:vector-group en t->key)\n  (dict:ordered:vector\n    (enumerator->vector\n      (enumerator-project\n        (group-fold-ordered\n          (enumerator-project (enumerator-dedup (enumerator-sort en any<?))\n                              (lambda (yield t) (yield (t->key t) t)))\n          '() cons)\n        (lambda (yield _ ts.reversed) (yield (reverse ts.reversed)))))\n    (lambda (ts) (t->key (car ts)))))\n\n(define ((hash-join en en.hash) yield)\n  ((dict-join-unordered en (dict:hash (group-fold->hash en.hash '() cons)))\n   (lambda (k t ts.hash)\n     (for ((t.hash (in-list (reverse ts.hash))))  ; is this reversal necessary?\n       (yield k t t.hash)))))\n\n(define ((hash-antijoin en en.hash) yield)\n  ((dict-antijoin-unordered en (dict:hash (group-fold->hash en.hash (void) (lambda _ (void)))))\n   yield))\n\n(define ((dict-join-unordered en d.index) yield)\n  (when (< 0 (d.index 'count))\n    (en (lambda (k v) (d.index 'ref k\n                               (lambda (v.index) (yield k v v.index))\n                               (lambda ()        (void)))))))\n\n(define ((dict-join-ordered en.ordered d.index) yield)\n  (when (< 0 (d.index 'count))\n    (en.ordered (lambda (k v)\n                  (set! d.index (d.index '>= k))\n                  (d.index 'ref k\n                           (lambda (v.index) (yield k v v.index))\n                           (lambda ()        (void)))))))\n\n(define ((dict-antijoin-unordered en d.index) yield)\n  (en (if (= 0 (d.index 'count))\n        yield\n        (lambda (k v) (unless (d.index 'has-key? k)\n                        (yield k v))))))\n\n(define ((dict-antijoin-ordered en.ordered d.index) yield)\n  (en.ordered (if (= 0 (d.index 'count))\n                yield\n                (lambda (k v)\n                  (set! d.index (d.index '>= k))\n                  (unless (d.index 'has-key? k)\n                    (yield k v))))))\n\n(define ((dict-subtract-unordered en d.index) yield)\n  (en (if (= 0 (d.index 'count))\n        yield\n        (lambda (k) (unless (d.index 'has-key? k)\n                      (yield k))))))\n\n(define ((dict-subtract-ordered en.ordered d.index) yield)\n  (en.ordered (if (= 0 (d.index 'count))\n                yield\n                (lambda (k)\n                  (set! d.index (d.index '>= k))\n                  (unless (d.index 'has-key? k)\n                    (yield k))))))\n\n(define ((hash-key-union en en.hash) yield)\n  (define d.index (dict:hash (let ((k=> (hash)))\n                               (en.hash (lambda (k) (set! k=> (hash-set k=> k (void)))))\n                               k=>)))\n  ((dict-key-union-unordered en d.index) yield))\n\n(define ((dict-key-union-unordered en d.index) yield)\n  ((dict-subtract-unordered en d.index) yield)\n  ((d.index 'enumerator)                yield))\n\n(define ((dict-key-union-ordered en.ordered d.index) yield)\n  (en.ordered (if (= 0 (d.index 'count))\n                yield\n                (lambda (k)\n                  (let loop ()\n                    (if (= 0 (d.index 'count))\n                      (yield k)\n                      (let ((k.d (d.index 'min)))\n                        (case (compare-any k k.d)\n                          ((-1) (yield k))\n                          (( 1) (set! d.index (d.index 'pop))\n                                (yield k.d)\n                                (loop))\n                          (else (set! d.index (d.index 'pop))\n                                (yield k))))))))))\n\n\n;; TODO: computing fixed points?\n;; - iteration: changed?\n;; - relation/variable: stable, next, to-add\n\n;; TODO: multiway-joins\n;; - extend-with\n;; - extend-anti\n;; - filter-with\n;; - filter-anti\n\n(module+ test\n  (require racket/pretty)\n\n  (define (test.0 yield.0)\n    (define (yield . args)\n      (pretty-write `(yielding: . ,args))\n      (apply yield.0 args))\n    (yield 0 1)\n    (yield 0 2)\n    (yield 0 3)\n    (yield 1 1)\n    (yield 1 2)\n    (yield 5 2)\n    (yield 5 7))\n\n  (define test.1 (enumerator->enumerator/2\n                   (vector->enumerator '#((0 . 1)\n                                          (0 . 2)\n                                          (0 . 3)\n                                          (1 . 1)\n                                          (1 . 2)\n                                          (5 . 2)\n                                          (5 . 7)))))\n\n  (displayln 'group-fold.0)\n  ((group-fold test.0 0 +) (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'group-fold-ordered.0)\n  ((group-fold-ordered test.0 0 +) (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'group-fold.1)\n  ((group-fold test.1 0 +) (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'group-fold-ordered.1)\n  ((group-fold-ordered test.1 0 +) (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'hash-join)\n  ((hash-join\n     (enumerator->enumerator/2 (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3))))\n     (enumerator->enumerator/2 (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (0 . 77) (8 . 3)))))\n   (lambda (k a b) (pretty-write (list k a b))))\n\n  (displayln 'merge-join)\n  ((merge-join\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3)))\n       car)\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (0 . 77) (8 . 3)))\n       car))\n   (lambda (k a b) (pretty-write (list k a b))))\n\n  (displayln 'hash-key-union)\n  ((hash-key-union\n     (list->enumerator (map car '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3))))\n     (list->enumerator (map car '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (0 . 77) (8 . 3)))))\n   pretty-write)\n\n  (displayln 'merge-key-union)\n  ((merge-key-union\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3)))\n       car)\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (0 . 77) (8 . 3)))\n       car))\n   pretty-write)\n\n  (displayln 'hash-antijoin)\n  ((hash-antijoin\n     (enumerator->enumerator/2 (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3))))\n     (enumerator->enumerator/2 (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (0 . 77) (8 . 3)))))\n   (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'merge-antijoin)\n  ((merge-antijoin\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3)))\n       car)\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (0 . 77) (8 . 3)))\n       car))\n   (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'table)\n  (let ((t (table (vector (vector  0  0  0  0  1  1  1  2  2  3  3  3  3  3  4)\n                          (vector 'a 'a 'a 'b 'a 'a 'b 'a 'a 'a 'b 'b 'c 'c 'a)\n                          (vector  0  1  1  1  0  1  1  2  2  1  1  1  1  1  7)))))\n    (for ((col (in-range (table-width t))))\n      (for ((row (in-range (table-length t))))\n        (printf \"~s \" (table-ref t col row)))\n      (newline))\n\n    (displayln 'table-dedup!)\n    (table-dedup! t)\n\n    (for ((col (in-range (table-width t))))\n      (for ((row (in-range (table-length t))))\n        (printf \"~s \" (table-ref t col row)))\n      (newline)))\n  )\n\n;; TODO:\n;join-many, need attribute order\n\n;extend-with/anti\n;filter-with/anti\n\n;;; TODO: these are analogous to operators: a set of tuples flowing through a particular program point\n;(struct idb-relation (done current new) #:prefab)\n\n;;; exponential search aka one-sided binary search\n;(define (join-tables t.0 t.1 k)\n  ;;; (k key v.0 v.1)\n;;key.0 key.1\n  ;)\n\n;;; NOTE: this semi-naive join does not correctly generalize to more than 2 relations\n;(define (join-idb-relations r.0 r.1 logic)\n  ;(append\n    ;(map (lambda (t.1)\n           ;(join-tables (idb-relation-current r.0)\n                        ;t.1\n                        ;;; TODO: no need to eta expand\n                        ;(lambda (k v.0 v.1)\n                          ;(logic k v.0 v.1))))\n         ;(idb-relation-done r.1))\n    ;(map (lambda (t.0)\n           ;(join-tables t.0\n                        ;(idb-relation-current r.1)\n                        ;(lambda (k v.0 v.1)\n                          ;(logic k v.0 v.1))))\n         ;(idb-relation-done r.0))\n    ;(join-tables (idb-relation-current r.0)\n                 ;(idb-relation-current r.1)\n                 ;(lambda (k v.0 v.1)\n                   ;(logic k v.0 v.1)))))\n\n;(define (idb-relation-step r)\n  ;(match-define (idb-relation done current new) r)\n  ;(let* ((done    (let loop ((done done) (current current))\n                    ;(match done\n                      ;('()             (list current))\n                      ;((cons top done) (if (<= (vector-length top)\n                                               ;(* 2 (vector-length current)))\n                                         ;(loop done (table-union current top))\n                                         ;(cons current (cons top done)))))))\n         ;(current (foldl (lambda (t.done next)\n                           ;(filter-not (lambda (tuple) (table-member? t.done)) next))\n                         ;(vector->list (match new\n                                         ;('()             (table '()))\n                                         ;((cons next new) (foldl table-union next new))))\n                         ;done)))\n    ;(idb-relation done current '())))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/dsv.rkt",
    "content": "#lang racket/base\n(provide tsv->stream dsv->stream csv->stream\n         path->format format->header/port->stream)\n(require \"../../neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-utils.rkt\"\n         racket/function racket/list racket/string)\n\n;; Informal grammar for tab-separated values (no escapes supported)\n;FIELD-SEPARATOR  ::= \\t\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= CONTENT*\n;CONTENT includes anything other than \\t, \\n, \\r\n\n(define (tsv->stream header? in)\n  (valid-header?! in header? \"\\t\")\n  (let loop () (thunk (define l (read-line in 'any))\n                      (if (eof-object? l) '()\n                        (cons (efficient-no-trim-tab-string-split l) (loop))))))\n\n;; Informal grammar for delimiter-separated values (escapes via double quote)\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= \\\" inner-content* \\\" | CONTENT*\n;inner-content    ::= CONTENT | \\\"\\\" | FIELD-SEPARATOR | WHITESPACE\n;CONTENT includes anything other than double-quote, field separator, whitespace\n\n(define (csv->stream header? in) (dsv->stream #\\, header? in))\n\n(define (dsv->stream field-separator header? in)\n  (define (field)\n    (define ch (peek-char in))\n    (cond ((eqv? ch field-separator) (read-char in) \"\")\n          ((or (eqv? ch #\\newline) (eqv? ch #\\return) (eof-object? ch)) \"\")\n          ((eqv? ch #\\\")\n           (read-char in)\n           (let loop ((i 0))\n             (define ch (peek-char in i))\n             (cond ((eqv? ch #\\\")\n                    (if (eqv? (peek-char in (+ i 1)) #\\\") (loop (+ i 2))\n                      (let ((qs (bytes->string/utf-8 (read-bytes i in))))\n                        (read-char in)\n                        (when (eqv? (peek-char in) field-separator)\n                          (read-char in))\n                        (string-replace qs \"\\\"\\\"\" \"\\\"\"))))\n                   (else (loop (+ i 1))))))\n          (else (let loop ((i 1))\n                  (define ch (peek-char in i))\n                  (cond ((eqv? ch field-separator)\n                         (define s (bytes->string/utf-8 (read-bytes i in)))\n                         (read-char in) s)\n                        ((or (eqv? ch #\\newline) (eqv? ch #\\return) (eof-object? ch))\n                         (bytes->string/utf-8 (read-bytes i in)))\n                        (else (loop (+ i 1))))))))\n  (define (record)\n    (cons (field)\n          (let ((ch (peek-char in)))\n            (cond ((eqv? ch #\\return) (read-char in)\n                                      (when (eqv? (peek-char in) #\\newline)\n                                        (read-char in))\n                                      '())\n                  ((eqv? ch #\\newline) (read-char in) '())\n                  ((eof-object? ch)                   '())\n                  (else                               (record))))))\n  (valid-header?! in header? (make-string 1 field-separator))\n  (let loop () (thunk (if (eof-object? (peek-char in)) '()\n                        (cons (record) (loop))))))\n\n(define (valid-header?! in header delimiter)\n  (define found    (and header (read-line in 'any)))\n  (define expected (and header (cond ((eq? header #t)  found)\n                                     ((string? header) header)\n                                     (else (string-join header delimiter)))))\n  (unless (equal? found expected)\n    (error \"invalid header:\" 'found: found 'expected: expected)))\n\n(define (path->format path)\n  (define fname (if (path? path) (path->string path) path))\n  (case (last (string-split fname \".\" #:trim? #f))\n    ((\"tsv\") 'tsv)\n    ((\"csv\") 'csv)\n    (else    #f)))\n\n(define (format->header/port->stream format)\n  (case format\n    ((tsv) tsv->stream)\n    ((csv) csv->stream)\n    (else  (error \"invalid format:\" format))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/enumerator.rkt",
    "content": "#lang racket/base\n(provide enumerator-append\n         list->enumerator enumerator->rlist enumerator->list\n         s->enumerator enumerator->s\n         vector->enumerator unsafe-vector->enumerator enumerator->rvector enumerator->vector\n         generator->enumerator\n         enumerator/2->enumerator\n         enumerator->enumerator/2\n         hash->enumerator/2)\n(require racket/control racket/unsafe/ops)\n\n(define ((enumerator-append e.0 e.1) yield)\n  (e.0 yield)\n  (e.1 yield))\n\n(define ((list->enumerator xs) yield) (for-each yield xs))\n\n(define (enumerator->rlist en)\n  (define xs '())\n  (en (lambda (x) (set! xs (cons x xs))))\n  xs)\n\n(define (enumerator->list en)\n  (reverse (enumerator->rlist en)))\n\n(define ((s->enumerator s) yield)\n  (let loop ((s s))\n    (cond ((null? s) (void))\n          ((pair? s) (yield (car s)) (loop (cdr s)))\n          (else      (loop (s))))))\n\n(define ((enumerator->s en))\n  (define tag (make-continuation-prompt-tag))\n  (reset-at tag\n            (en (lambda (x)\n                  (shift-at tag k (cons x (lambda () (k (void)))))))\n            '()))\n\n(define (enumerator->rvector en)\n  (list->vector (enumerator->rlist en)))\n\n(define (enumerator->vector en)\n  (list->vector (enumerator->list en)))\n\n(define (vector->enumerator v (start 0) (end (vector-length v)))\n  (define len (min end (vector-length v)))\n  (unsafe-vector->enumerator v (min start len) len))\n\n(define ((unsafe-vector->enumerator v (start 0) (end (unsafe-vector*-length v))) yield)\n  (let loop ((i start))\n    (when (unsafe-fx< i end)\n      (yield (unsafe-vector*-ref v i))\n      (loop (unsafe-fx+ i 1)))))\n\n(define ((generator->enumerator gen stop?) yield)\n  (let loop ()\n    (define x (gen))\n    (unless (stop? x)\n      (yield x)\n      (loop))))\n\n;; An enumerator/2 expects its iteratee to take two arguments\n(define ((enumerator/2->enumerator en) yield)\n  (en (lambda (a b) (yield (cons a b)))))\n\n(define ((enumerator->enumerator/2 en) yield)\n  (en (lambda (x&y) (yield (car x&y) (cdr x&y)))))\n\n(define ((hash->enumerator/2 kvs) yield) (hash-for-each kvs yield))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/example-concrete-syntax-extended.rkt",
    "content": "#lang racket/base\n;(provide foo bar)\n\n(require \"concrete-syntax-extended.rkt\")\n\n(define-relations\n  (rule  (foo x)      (== x 5) (bar x 1 2))\n  (table (bar id s o) \"somewhere/bar\"))\n\n((relation-method foo) 'apply 888)\nbar\n\n;(define-relation (foo x) (== x 5) (bar x 1 2))\n\n;(define-relation/table (bar id s o) \"somewhere/bar\")\n\n;(with-formula-vocabulary (foo 11))\n\n;(foo 'apply 12)\n\n;(== 1 2)\n;(with-formula-vocabulary (== 1 2))\n;==\n;;)\n"
  },
  {
    "path": "medikanren2/dbk/dbk/heap.rkt",
    "content": "#lang racket/base\n(provide\n  heap-top\n  heap!\n  heap-remove!\n  heap-replace!\n  heap-sink!\n  heap-add!\n  )\n\n(define (heap-top         h)         (vector-ref h 0))\n(define (heap!         <? h end)     (let loop ((i (- (quotient end 2) 1)))\n                                      (when (<= 0 i)\n                                        (heap-sink! <? h end i)\n                                        (loop (- i 1)))))\n(define (heap-remove!  <? h end)     (vector-set! h 0 (vector-ref h (- end 1))) (heap-sink! <? h (- end 1) 0))\n(define (heap-replace! <? h end top) (vector-set! h 0 top)                      (heap-sink! <? h    end    0))\n(define (heap-sink!    <? h end i)   (let loop ((i i))\n                                      (let ((ileft  (+ i i 1))\n                                            (iright (+ i i 2)))\n                                        (cond ((<= end ileft))  ; done\n                                              ((<= end iright)\n                                               (let ((p (vector-ref h i))\n                                                     (l (vector-ref h ileft)))\n                                                 (when (<? l p)\n                                                   (vector-set! h i     l)\n                                                   (vector-set! h ileft p))))\n                                              (else (let ((p (vector-ref h i))\n                                                          (l (vector-ref h ileft))\n                                                          (r (vector-ref h iright)))\n                                                      (cond ((<? l p) (cond ((<? r l) (vector-set! h i      r)\n                                                                                      (vector-set! h iright p)\n                                                                                      (loop iright))\n                                                                            (else     (vector-set! h i      l)\n                                                                                      (vector-set! h ileft  p)\n                                                                                      (loop ileft))))\n                                                            ((<? r p) (vector-set! h i      r)\n                                                                      (vector-set! h iright p)\n                                                                      (loop iright)))))))))\n(define (heap-add!     <? h end v)   (let loop ((i end))\n                                       (if (= i 0)\n                                         (vector-set! h i v)\n                                         (let* ((iparent (- (quotient (+ i 1) 2) 1))\n                                                (pv      (vector-ref h iparent)))\n                                           (cond ((<? v pv) (vector-set! h i pv)\n                                                            (loop iparent))\n                                                 (else      (vector-set! h i v)))))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/io.rkt",
    "content": "#lang racket/base\n(provide path->format file-stats s-pop-header produce/pop-header\n         port-produce port-consume\n         out:port out:file\n         in:transform in:procedure in:port in:file\n         in:stream in:pop-header\n         jsonl:read jsonl:write json:read json:write\n         tsv:read tsv:write csv:read csv:write csv:escape)\n(require \"codec.rkt\" \"enumerator.rkt\" \"misc.rkt\" \"stream.rkt\"\n         \"../../neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-utils.rkt\"\n         json racket/list racket/match racket/port racket/string)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Utilities\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (path->format path.0)\n  (define path (if (path? path.0) (path->string path.0) path.0))\n  (case (last (string-split path \".\" #:trim? #f))\n    ((\"bscm\")  'bscm)\n    ((\"scm\")   'scm)\n    ((\"tsv\")   'tsv)\n    ((\"csv\")   'csv)\n    ((\"json\")  'json)\n    ((\"jsonl\") 'jsonl)\n    (else      #f)))\n\n(define (file-stats path)\n  (and (file-exists? path)\n       (hash 'size          (file-size path)\n             'time.modified (file-or-directory-modify-seconds path))))\n\n(define (s-pop-header ? expected s.0)\n  (define s (s-force s.0))\n  (unless (pair? s)   (error \"missing header:\" 'expected: expected))\n  (unless (? (car s)) (error \"invalid header:\" 'found: (car s) 'expected: expected))\n  (cdr s))\n\n(define (produce/pop-header produce header)\n  (define ((produce/pop ? h)) (s-pop-header ? h (produce)))\n  (match header\n    (#f produce)\n    (#t (produce/pop (lambda (x) #t)           #t))\n    (h  (produce/pop (lambda (x) (equal? x h)) h))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Producers and consumers\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (in:procedure  proc)           proc)\n(define (in:stream     s)              (lambda () s))\n(define (in:transform  produce f)      (cond (f    (lambda () (f (produce))))\n                                             (else produce)))\n(define (in:pop-header produce header) (produce/pop-header produce header))\n\n(define (in:port in . pargs)\n  (define kwargs (make-immutable-hash (plist->alist pargs)))\n  (define (produce) (port-produce in\n                                  (hash-ref kwargs 'close? #f)\n                                  (hash-ref kwargs 'format)\n                                  (hash-ref kwargs 'type #f)))\n  (in:transform (produce/pop-header produce (hash-ref kwargs 'header #f))\n                (hash-ref kwargs 'transform #f)))\n\n(define (in:file path.0 . pargs)\n  (define path   (if (path? path.0) (path->string path.0) path.0))\n  (define kwargs (make-immutable-hash (plist->alist pargs)))\n  (define format (hash-ref kwargs 'format (path->format path)))\n  (unless format            (error \"unknown format:\"     path))\n  (unless (file-stats path) (error \"missing input file:\" path))\n  (define (produce) (let ((in (open-input-file path)))\n                      (port-produce in (lambda () (close-input-port in))\n                                    format\n                                    (hash-ref kwargs 'type #f))))\n  (in:transform (produce/pop-header produce (hash-ref kwargs 'header #f))\n                (hash-ref kwargs 'transform #f)))\n\n(define (out:port out . pargs) (port-consume out\n                                             (plist-ref pargs 'format)\n                                             (plist-ref pargs 'type #f)))\n\n(define (out:file path.0 . pargs)\n  (define path   (if (path? path.0) (path->string path.0) path.0))\n  (define kwargs (make-immutable-hash (plist->alist pargs)))\n  (define exists (hash-ref kwargs 'exists 'error))\n  (define format (hash-ref kwargs 'format (path->format path)))\n  (unless format (error \"unknown format:\" path))\n  (let ((pargs (alist->plist (hash->list (hash-set kwargs 'format format)))))\n    (call-with-output-file path\n                           (lambda (out) (apply out:port out pargs))\n                           #:exists exists)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Port management\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (port-produce in close? format type)\n  (case format\n    ((json) (define data (vector->list (json:read in)))\n            (when close? (close?))\n            data)\n    (else   (define get\n              (case format\n                ((bscm)  (lambda () (if (eof-object? (peek-byte in)) eof (decode in type))))\n                ((scm)   (lambda () (read in)))\n                ((tsv)   (lambda () (tsv:read in)))\n                ((csv)   (lambda () (csv:read in)))\n                ((jsonl) (lambda () (jsonl:read in)))\n                (else    (error \"unsupported input format:\" format))))\n            (let loop ()\n              (lambda ()\n                (define datum (get))\n                (cond ((eof-object? datum) (when close? (close?))\n                                           '())\n                      (else                (cons datum (loop)))))))))\n\n(define (port-consume out format type)\n  (case format\n    ((json) (lambda (en) (json:write out (enumerator->list en))))\n    (else   (let ((yield (case format\n                           ((scm)   (lambda (x) (write x out) (write-char #\\newline out)))\n                           ((bscm)  (lambda (x) (encode      out type x)))\n                           ((tsv)   (lambda (x) (tsv:write   out      x)))\n                           ((csv)   (lambda (x) (csv:write   out      x)))\n                           ((jsonl) (lambda (x) (jsonl:write out      x)))\n                           (else    (error \"unsupported output format:\" format)))))\n              (lambda (en) (en yield))))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; JSON and JSONL formats\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (jsonl:read in)\n  (define s (read-line in 'any))\n  (if (eof-object? s) s (string->jsexpr s)))\n\n(define (jsonl:write out x)\n  (write-string (jsexpr->string x) out)\n  (write-char #\\newline out))\n\n(define (json:read  in)    (string->jsexpr (port->string in)))\n(define (json:write out x) (write-string (jsexpr->string x) out))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; TSV format\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Informal grammar for tab-separated values (no escapes supported)\n;FIELD-SEPARATOR  ::= \\t\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record [RECORD-SEPARATOR] EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= CONTENT*\n;CONTENT includes anything other than \\t, \\n, \\r\n\n(define (tsv:read in)\n  (define l (read-line in 'any))\n  (if (eof-object? l)\n    l\n    (let ((fields (efficient-no-trim-tab-string-split l)))\n      (if (null? fields)\n        '(\"\")\n        fields))))\n\n(define (tsv:write out x)\n  (write-string (string-join x \"\\t\" #:after-last \"\\n\") out))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; CSV format\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Informal grammar for delimiter-separated values (escapes via double quote)\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record [RECORD-SEPARATOR] EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= \\\" inner-content* \\\" | CONTENT*\n;inner-content    ::= CONTENT | \\\"\\\" | FIELD-SEPARATOR | WHITESPACE\n;CONTENT includes anything other than double-quote, field separator, whitespace\n\n(define (csv:read in)\n  (define (field)\n    (define ch (peek-char in))\n    (cond ((eqv? ch #\\,)           (read-char in)\n                                   \"\")\n          ((or (eqv? ch #\\newline)\n               (eqv? ch #\\return)\n               (eof-object? ch))   \"\")\n\n          ((eqv? ch #\\\")           (read-char in)\n                                   (let loop ((i 0))\n                                     (define ch (peek-char in i))\n                                     (cond ((eqv? ch #\\\") (if (eqv? (peek-char in (+ i 1)) #\\\")\n                                                            (loop (+ i 2))\n                                                            (let ((qs (bytes->string/utf-8 (read-bytes i in))))\n                                                              (read-char in)\n                                                              (when (eqv? (peek-char in) #\\,)\n                                                                (read-char in))\n                                                              (string-replace qs \"\\\"\\\"\" \"\\\"\"))))\n                                           (else          (loop (+ i 1))))))\n\n          (else                    (let loop ((i 1))\n                                     (define ch (peek-char in i))\n                                     (cond ((eqv? ch #\\,)           (define s (bytes->string/utf-8 (read-bytes i in)))\n                                                                    (read-char in)\n                                                                    s)\n                                           ((or (eqv? ch #\\newline)\n                                                (eqv? ch #\\return)\n                                                (eof-object? ch))   (bytes->string/utf-8 (read-bytes i in)))\n                                           (else                    (loop (+ i 1))))))))\n  (if (eof-object? (peek-char in))\n    eof\n    (let record ()\n      (cons (field)\n            (let ((ch (peek-char in)))\n              (cond ((eqv? ch #\\return)  (read-char in)\n                                         (when (eqv? (peek-char in) #\\newline)\n                                           (read-char in))\n                                         '())\n                    ((eqv? ch #\\newline) (read-char in)\n                                         '())\n                    ((eof-object? ch)    '())\n                    (else                (record))))))))\n\n(define (csv:write out x)\n  (write-string (string-join (map csv:escape x) \",\" #:after-last \"\\n\") out))\n\n(define (csv:escape s)\n  (if (ormap (lambda (x) (string-contains? s x)) '(\",\" \"\\\"\" \"\\n\" \"\\r\"))\n    (string-append \"\\\"\" (string-replace s \"\\\"\" \"\\\"\\\"\") \"\\\"\")\n    s))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/misc.rkt",
    "content": "#lang racket/base\n(provide simple-match simple-match-lambda record\n         method-lambda method-choose method-unknown method-except method-only\n         foldl/and let*/and define-variant\n         plist->alist plist-ref alist->plist alist-ref alist-remove alist-update alist-set\n         hash-remove*\n         call/files let/files\n         map/merge map/append\n         min-bits min-bytes min-bytes-power2 int? nat?\n         bytes-nat-ref bytes-nat-set! nat->bytes bytes->nat\n         sum\n         normalize-path)\n(require (for-syntax racket/base) racket/fixnum racket/list racket/match racket/set)\n\n(define-syntax simple-match-lambda\n  (syntax-rules ()\n    ((_ (params body ...) ...) (lambda args\n                                 (simple-match args\n                                   (params body ...) ...)))))\n\n(define-syntax simple-match\n  (syntax-rules ()\n    ((_ e) (error \"no matching pattern:\" e))\n    ((_ e (pattern body ...) clauses ...)\n     (let* ((x e)\n            (k.f (lambda () (simple-match x clauses ...))))\n       (simple-match-clause (let () body ...) (k.f) x pattern)))))\n\n(define-syntax simple-match-clause\n  (syntax-rules ()\n    ((_ k.t k.f x ())          (if (null? x) k.t k.f))\n    ((_ k.t k.f x (p.a . p.d)) (if (pair? x)\n                                 (let ((x.car (car x))\n                                       (x.cdr (cdr x)))\n                                   (simple-match-clause\n                                     (simple-match-clause k.t k.f x.cdr p.d)\n                                     k.f x.car p.a))\n                                 k.f))\n    ((_ k.t k.f x #(p ...))    (if (vector? x)\n                                 (let ((x (vector->list x)))\n                                   (simple-match-clause k.t k.f x (p ...)))\n                                 k.f))\n    ((_ k.t k.f x id)          (let ((id x)) k.t))))\n\n(begin-for-syntax\n  (define (syntax/context context stx)\n    (datum->syntax context (syntax->datum stx)))\n  (define (id/suffix id str)\n    (define str.id (symbol->string (syntax->datum id)))\n    (datum->syntax id (string->symbol (string-append str.id str))))\n  (define (syntax-permute keys stx.alist blame)\n    (define kvs\n      (syntax-case stx.alist ()\n        (((key . value) ...) (map cons\n                                  (syntax->datum #'(key ...))\n                                  (syntax->list #'((key . value) ...))))))\n    (map (lambda (k) (let ((kv (assoc k kvs)))\n                       (if kv (cdr kv)\n                         (error \"missing record field:\" k blame))))\n         keys))\n  (define-syntax with-syntax*\n    (syntax-rules ()\n      ((_ ()                  body ...) (with-syntax () body ...))\n      ((_ ((p0 e0) (p e) ...) body ...) (with-syntax ((p0 e0))\n                                          (with-syntax* ((p e) ...)\n                                            body ...))))))\n\n;; (record name (field ...) extra ...)\n;; produces these definitions:\n;; * struct:         (struct name:struct (field ...) extra ...)\n;; * predicate:      name?\n;; * constructor:    (name (field expr) ...)\n;; * setter:         (name:set expr (field expr) ...)\n;; * match-expander: (name:match (field pattern) ...)\n(define-syntax (record stx)\n  (syntax-case stx ()\n    ((_ name (field-name ...) extras ...)\n     (let* ((field-names     (syntax->datum #'(field-name ...)))\n            (field-name-strs (map symbol->string field-names)))\n       (with-syntax* ((id.struct  (id/suffix #'name \":struct\"))\n                      (id.ref     (id/suffix #'name \":ref\"))\n                      (id.set     (id/suffix #'name \":set\"))\n                      (id.?       (id/suffix #'name \"?\"))\n                      (id.struct? (id/suffix #'name \":struct?\"))\n                      (id.match   (id/suffix #'name \":match\"))\n                      (ids.field-names #'(field-name ...))\n                      ((id.accessor ...)\n                       (map (lambda (f) (id/suffix #'name\n                                                   (string-append \"-\" f)))\n                            field-name-strs))\n                      ((id.struct-accessor ...)\n                       (map (lambda (f) (id/suffix #'id.struct\n                                                   (string-append \"-\" f)))\n                            field-name-strs)))\n         #`(begin\n             (struct id.struct (field-name ...) extras ...)\n             (define id.?        id.struct?)\n             (define id.accessor id.struct-accessor) ...\n             (...\n               (begin\n                 (define-syntax (name stx)\n                   (syntax-case stx ()\n                     ((_ (f e) ...)\n                      (with-syntax ((((f e) ...) (syntax-permute\n                                                   'ids.field-names\n                                                   #'((f e) ...)\n                                                   stx)))\n                        #'(let ((f e) ...) (id.struct f ...))))))\n                 (define-syntax (id.set stx)\n                   (syntax-case stx ()\n                     ((_ r (f e) ...)\n                      (let ((field-names '#,field-names))\n                        #`(let ()\n                            (match-define (id.struct #,@field-names) r)\n                            (let #,(map list\n                                        (syntax->datum #'(f ...))\n                                        (syntax->list  #'(e ...)))\n                              (id.struct #,@field-names)))))))\n                 (define-match-expander id.match\n                   (lambda (stx)\n                     (syntax-case stx ()\n                       ((_ (f p) ...)\n                        #'(struct* id.struct ((f p) ...))))))))))))))\n\n(define (method-unknown name . args) (error \"unknown method:\" name args))\n(define (method-except m names)\n  (lambda (name . args)\n    (apply (if (member name names) method-unknown m) name args)))\n(define (method-only m names)\n  (lambda (name . args)\n    (apply (if (member name names) m method-unknown) name args)))\n\n(define-syntax method-choose\n  (syntax-rules (else)\n    ((_ ((name ...) body ...) ... (else else-body ...))\n     (lambda (method-name . args)\n       (apply (case method-name\n                ((name ...) body ...) ...\n                (else       else-body ...))\n              method-name args)))\n    ((_ body ...) (method-choose body ... (else method-unknown)))))\n\n(define-syntax method-lambda\n  (syntax-rules (else)\n    ((_ ((name . param) body ...) ... (else else-body ...))\n     (method-choose ((name) (lambda (_ . param) body ...)) ... (else else-body ...)))\n    ((_ body ...) (method-lambda body ... (else method-unknown)))))\n\n(define (foldl/and f acc xs . yss)\n  (let loop ((acc acc) (xs xs) (yss yss))\n    (if (null? xs)\n      acc\n      (and acc (loop (apply f (car xs) (append (map car yss) (list acc)))\n                     (cdr xs)\n                     (map cdr yss))))))\n\n(define-syntax let*/and\n  (syntax-rules ()\n    ((_ () body ...)                   (let () body ...))\n    ((_ ((lhs rhs) rest ...) body ...) (let ((lhs rhs))\n                                         (and lhs (let*/and (rest ...)\n                                                    body ...))))))\n\n(define-syntax define-variant\n  (syntax-rules ()\n    ((_ type? (struct-name fields ...) ...)\n     (begin (define (type? x)\n              (match x\n                ((struct-name fields ...) #t) ...\n                (_                        #f)))\n            (struct struct-name (fields ...) #:prefab) ...))))\n\n(define (plist->alist plist)\n  (match plist\n    ('()                     '())\n    ((cons k (cons v plist)) (cons (cons k v) (plist->alist plist)))))\n\n(define (plist-ref plist key (default (void)))\n  (let loop ((kvs plist))\n    (match kvs\n      ('()                   (if (void? default)\n                               (error \"missing key in property list:\" key plist)\n                               default))\n      ((cons k (cons v kvs)) (if (equal? k key)\n                               v\n                               (loop kvs))))))\n\n(define (alist->plist alist)\n  (match alist\n    ('()                     '())\n    ((cons (cons k v) alist) (cons k (cons v (alist->plist alist))))))\n\n(define (alist-ref alist key (default (void)))\n  (define kv (assoc key alist))\n  (cond (kv              (cdr kv))\n        ((void? default) (error \"missing key in association list:\" key alist))\n        (else            default)))\n\n(define (alist-remove alist key)\n  (filter (lambda (kv) (not (equal? (car kv) key))) alist))\n\n(define (alist-update alist key v->v (default (void)))\n  (let loop ((kvs alist) (prev '()))\n    (cond ((null?        kvs     )\n           (when (void? default) (error \"missing key in association list:\" key alist))\n           (cons (cons key (v->v default)) alist))\n          ((equal? (caar kvs) key) (foldl cons (cons (cons key (v->v (cdar kvs))) (cdr kvs)) prev))\n          (else                    (loop (cdr kvs) (cons (car kvs) prev))))))\n\n(define (alist-set alist key value)\n  (alist-update alist key (lambda (_) value) #f))\n\n(define (hash-remove* h keys)\n  (foldl (lambda (k h) (hash-remove h k)) h keys))\n\n(define (call/files fins fouts p)\n  (let loop ((fins fins) (ins '()))\n    (if (null? fins)\n      (let loop ((fouts fouts) (outs '()))\n        (if (null? fouts)\n          (apply p (append (reverse ins) (reverse outs)))\n          (call-with-output-file\n            (car fouts) (lambda (out) (loop (cdr fouts) (cons out outs))))))\n      (call-with-input-file\n        (car fins) (lambda (in) (loop (cdr fins) (cons in ins)))))))\n\n(define-syntax-rule (let/files ((in fin) ...) ((out fout) ...) body ...)\n  (call/files (list fin ...) (list fout ...)\n              (lambda (in ... out ...) body ...)))\n\n(define (map/merge f merge default xs)\n  (define ys (reverse (cond ((list?   xs) (map f               xs))\n                            ((vector? xs) (map f (vector->list xs)))\n                            ((set?    xs) (set-map  xs f))\n                            ((hash?   xs) (hash-map xs (lambda (k v) (f (cons k v)))))\n                            (else         (error \"invalid map/merge collection:\" xs)))))\n  (if (null? ys)\n    default\n    (foldl merge (car ys) (cdr ys))))\n\n(define (map/append f xs) (append* (map f xs)))\n\n(define (min-bits n)\n  (if (< 0 n)\n    (+ 1 (min-bits (fxrshift n 1)))\n    0))\n\n(define (min-bytes n)\n  (let ((min-bits (min-bits n)))\n    (+ (quotient min-bits 8)\n       (if (= 0 (remainder min-bits 8)) 0 1))))\n\n(define (min-bytes-power2 n)\n  (define c (min-bytes n))\n  (cond ((<= c 1) 1)\n        ((<= c 2) 2)\n        ((<= c 4) 4)\n        (else     8)))\n\n(define (int? x) (and (number? x) (exact? x) (integer? x)))\n(define (nat? x) (and (int? x) (<= 0 x)))\n\n(define (bytes-nat-set! bs size offset n)\n  ;(integer->integer-bytes n size #f #t bs offset) (void)\n  (let ((end (+ offset size)))\n    (let loop ((i offset) (shift (* 8 (- size 1))))\n      (cond ((< i end) (bytes-set! bs i (bitwise-and 255 (fxrshift n shift)))\n                       (loop (+ i 1) (- shift 8)))\n            (else      bs)))))\n\n(define (bytes-nat-ref bs size offset)\n  ;(integer-bytes->integer bs #f #t offset (+ offset size))\n  (let ((end (+ offset size)))\n    (let loop ((i offset) (n 0))\n      (cond ((< i end) (loop (+ i 1) (+ (fxlshift n 8)\n                                        (bytes-ref bs i))))\n            (else      n)))))\n\n(define (nat->bytes size n)  (let ((bs (make-bytes size 0)))\n                               (bytes-nat-set! bs size 0 n)\n                               bs))\n\n(define (bytes->nat bs size) (bytes-nat-ref bs size 0))\n\n(define (sum xs) (foldl + 0 xs))\n\n(define (normalize-path path) (path->string (simplify-path (resolve-path (simplify-path path)))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/mk.rkt",
    "content": "#lang racket/base\n(provide (all-from-out \"common.rkt\") (all-from-out \"syntax.rkt\")\n         (all-from-out \"constraint.rkt\")\n         query->stream\n         run^ run run* run/steps run*/steps\n         run/set run*/set run/set/steps run*/set/steps)\n(require \"common.rkt\" \"config.rkt\" \"constraint.rkt\" \"stream.rkt\" \"syntax.rkt\"\n         (except-in racket/match ==))\n\n(define (query->stream q)\n  ((match (or (current-config-ref 'search-strategy) 'biased-interleaving)\n     ('biased-interleaving bis:query->stream)\n     ('depth-first         dfs:query->stream)\n     (strategy (error \"invalid search strategy:\" strategy)))\n   q))\n\n(define-syntax run^\n  (syntax-rules () ((_   body ...) (query->stream (query  body ...)))))\n(define-syntax run\n  (syntax-rules () ((_ n body ...) (s-take n      (run^   body ...)))))\n(define-syntax run*\n  (syntax-rules () ((_   body ...)                (run #f body ...))))\n(define-syntax run/steps\n  (syntax-rules () ((_ steps n body ...) (s-take/steps steps n (run^               body ...)))))\n(define-syntax run*/steps\n  (syntax-rules () ((_ steps   body ...)                       (run/steps steps #f body ...))))\n\n(define-syntax run/set\n  (syntax-rules () ((_ n body ...) (s-take/set n (run^       body ...)))))\n(define-syntax run*/set\n  (syntax-rules () ((_   body ...)               (run/set #f body ...))))\n(define-syntax run/set/steps\n  (syntax-rules () ((_ steps n body ...) (s-take/set/steps steps n (run^                   body ...)))))\n(define-syntax run*/set/steps\n  (syntax-rules () ((_ steps   body ...)                           (run/set/steps steps #f body ...))))\n\n;; TODO: special case aggregation operators that could be implemented more\n;; efficiently than post-processing `run*` results:\n;; * run/min, run/max, run/count\n"
  },
  {
    "path": "medikanren2/dbk/dbk/old/abstract-syntax.rkt",
    "content": "#lang racket/base\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; TODO\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; input and output devices are specified and created using host language\n;; - may describe data coming from arbitrary input sources:\n;;   - filesystem, network, channels, events, etc.\n;;   - all sources are assumed to be unstable across time, reflecting a dynamic system\n;;   - include metadata that will be retained in process history\n;; - modules embed input and output device specifications in appropriate temporal relation declarations\n;;   - input relations may only appear on the RHS of rules\n;;   - output relations may only appear on the LHS of indeterminate inference rules\n;;     - i.e., `<<~` (asynchronous send)\n\n;; modules\n;; - optional precomputation with indexing choices and retrieval preferences\n;; - definitions for relations\n;;   - rules for immediate inference: `define-relation` and/or `extend-relation`\n;;     - deliver new facts during current time step, until fixed point is reached\n;;     - synonym for `extend-relation`, deliver during current timestep: <<=\n;;   - rules for next-step inference\n;;     - delete at next timestep: <<-\n;;     - insert at next timestep: <<+\n;;   - rules for indeterminate inference\n;;     - deliver at arbitrary (future?) timetep: <<~\n;;     - these will write to output devices for the host system to process\n;; - assertions: queries used for property/consistency checking or other validation\n;;   - can inform data representation choices and query optimization\n;;   - can use to infer:\n;;     - uniqueness/degrees/cardinalities\n;;     - value information (types, value ranges, frequencies)\n;;     - join dependencies\n;; - module linking\n;;   - by default, a module will export all definitions\n;;   - apply visibility modifiers (such as except, only, rename, prefix) to change a module's exports\n;;     - renamings apply to a process too, so that its database relations can be targeted by new rules\n;;     - support dependency shaking\n;;       - given a root set of terms/relations, throw away everything else\n;;   - combine compatible modules to produce a new module\n;;     - same module may be linked more than once, to produce different variations (mixin-style)\n;;       - for instance, this may be used to switch io devices\n\n;; process state (like a version control system commit):\n;; - reference to the dbms that manages this process state's database\n;; - database\n;;   - schemas\n;;   - current content of all persistent temporal relations\n;;     - i.e., (indexed) tables keyed by name\n;;   - pending work (incomplete indexes)\n;; - io device temporal relation bindings and buffers\n;; - current program, describing how the process evolves each time step\n;;   - mapping of public names to internal names\n;;   - mapping of internal names to devices\n;;   - mapping of internal names to tables\n;;   - hierarchically-named subprograms w/ enabled/disabled status\n;;   - in order to run, program must not have unresolved dependencies\n;;     - terms without definitions are unresolved\n;; - residual environment (when used as a library)\n;;   - module specs inheriting from this process will be parsed using this environment\n;; - history of database transitions\n;;   - program changes\n;;   - ingestion metadata per time step\n;; - how do we check source data consistency?\n;;   - processes allow data to change, so inconsistency with original sources may be intentional\n;;   - to check consistency as in the old approach, analyze the process history for data provenance\n;;     - particularly data io device bindings and their dependencies across time steps\n;;       - input device metadata should include real world time stamps, filesystem information, transformation code, possibly content hash\n;; - main operations:\n;;   - run a query over the current database\n;;   - change current program\n;;     - enable/disable subprograms\n;;     - rename/hide public names\n;;     - hierarchy rearrangement and linking\n;;     - nontemporal relations declared to be precomputed will be precomputed before returning\n;;     - will add a program diff to the history\n;;   - step, with a step/fuel count (`#f` to run continously)\n;;     - will return unused fuel if (temporary) quiessence is detected, otherwise `#f`\n;;     - if any work was performed, this will log a new database uid in the process history\n;;     - if input was produced by devices configured for snapshot, snapshots will be included in the history\n;;       - for replay reproducibility\n;;   - synchronizable event indicating more work can be performed\n;;     - e.g., if not even temporary quiessence has been achieved yet\n;;     - e.g., if temporary quiessence had been achieved, but new input has arrived\n;;     - `#f` if permanent quiessence has been reached\n;;       - only possible if no input devices are bound\n;;       - permanence w.r.t. the current program\n;;   - save/flush (to dbms filesystem, for later reloading)\n;;     - transitions should be continuously checkpointed and saved, so this may not be necessary\n;;       - if background saving ends up being asynchronous, this operation will wait until the flush catches up\n;;     - io devices cannot be directly restored from disk\n;;       - their metadata can still be saved, however\n;;       - when restoring such a process, io device rebindings must be provided\n\n;; process (like a version control system branch):\n;; - process state\n;; - db name for stable reference in later program runs\n;; - performing operations will update the current process\n;;   - produce new process state and reassign stable name to the new state\n;; - may spawn new process sharing the current process state\n;;   - can explore diverging transitions\n;;   - can save earlier state to later revisit\n;;   - explicit garbage collection and compaction can be used to retain only data that is directly-referenced by active processes\n;;     - can optionally preserve external data ingestion snapshots to support reproducing intermediate databases\n;; - may be packaged for export to another dbms\n;;   - dbms garbage collection and process export are similar activities\n\n;; dbms (database management system):\n;; - collection of named process databases\n;; - cached relation content keyed by history dependencies, to support sharing between similar processes\n;;   - includes content of temporal relations as well as nontemporal relations declared to be cached/precomputed\n;;   - cache may include term values that were expensive to compute\n;;   - processes evolving from a common ancestor will share content unless rule extensions lead to logical divergence\n;;     - extending a precomputed relation will require precomputing a new version to be consistent\n;;       - not an error, but maybe provide a warning\n;;       - progammer decides whether multiple precomputed versions of similar rules is worth the time/space trade off\n;;         - programmer organizes modules according to this decision\n\n;; modular stratification given a partial order on relation parameters\n;; - would be convenient to define a universal <= that respected point-wise monotonicity (any<= does not)\n;; - reachability example using equivalence classes reduces materialized space usage from O(n^2) to O(n):\n;;     (define-relation/source (node n)\n;;       ;; specify graph vertex data here\n;;       )\n;;     (define-relation/source (arc a b)\n;;       ;; specify graph connection data here\n;;       )\n;;\n;;     ;; original definition of reachable before optimization\n;;     ;; materialization could take O(n^2) space\n;;     (define-relation (reachable a b)\n;;       (conde\n;;         ((node a) (== a b))\n;;         ((fresh (mid)\n;;            (reachable a mid)\n;;            (conde ((arc mid b))\n;;                   ((arc b mid)))))))\n;;\n;;     ;; new definition of reachable after optimization\n;;     (define-relation (reachable a b)\n;;       (fresh (repr)\n;;         (reachable-class repr a)\n;;         (reachable-class repr b)))\n;;\n;;     ;; materialization will take O(n) space\n;;     (define-relation (reachable-class representative x)\n;;       (string<= representative x)  ;; not required, but does this improve performance?\n;;       ;; This negated condition ensures we represent each reachability class only once, to save space.\n;;       ;; self-recursion within negation is possible due to modular stratification by string<\n;;       ;; i.e., (reachable-class r x) only depends on knowing (reachable-class p _) for all (string< p r), giving us a safe evaluation order\n;;       (not (fresh (predecessor)\n;;              (string< predecessor representative)\n;;              (reachable-class predecessor representative)))\n;;       (conde\n;;         ((node representative) (== representative x))\n;;         ((fresh (mid)\n;;            (reachable-class representative mid)\n;;            (conde ((arc mid x))\n;;                   ((arc x mid)))))))\n\n;; ACILG hierarchy for analysis and optimization\n;; - associative, commutative, idempotent, has-least-element, has-greatest-element\n;; - comprehensions: map followed by combining mapped results\n;; - an operator having all the properties in a prefix of this list may support more optimization\n;; - associative: parallelism, but may need coordination for ordering\n;; - commutative: parallelism, no ordering coordination needed\n;; - idempotent:  fixed point computation without needing stratification; may need an initial value\n;; - has-least-element: natural choice of initial value already known\n;; - has-greatest-element: some computation may be stopped early, before all data is seen, if threshold is reached\n\n;; order-by for converting sets/dicts to sequences\n\n;; compact formulas as state component?\n;; - state is a strategy-agnostic compact formula, plus a strategy-specific component (including a work scheduler)\n;; - multi-pass strategy compilation: describe this state representation in the AST for the next pass's language\n\n;; In some untyped systems, term evaluation may produce side-conditions (formulas)\n;; - e.g., (car x) may introduce the formula (pair? x)\n\n;; complex terms should be replaced with fresh variables to avoid redundant computations\n\n;; more specific variable domain constraints:\n;; - constant\n;; - non-constant data construction (cons, vector, ...)\n;;   - shape may not be fully known (vector with unspecified length)\n;; - finite domain\n;;   - could be represented as a join of constants; probably better to use a small table\n;;   - could also include a representation for semi-joined table constraints\n;; - interval domain\n;;   - possibly with gaps/subtractions (negative finite domains)\n;; - join of domain constraints\n"
  },
  {
    "path": "medikanren2/dbk/dbk/old/example/base.rkt",
    "content": "#lang racket/base\n(provide m.base)\n\n(define-dbk m.base\n  (<<= (==    u u))\n  (<<= (=/=   u v) (not (== u u)))\n  (<<= (any<= u v) (== #t (any<= u v)))\n  (<<= (any<  u v) (=/= u v) (any<= u v))\n  (<<= (any>= u v) (any<= v u))\n  (<<= (any>  u v) (any<  v u))\n\n  (relation (member x ys)\n    modes ((ys)))  ;; this mode could be inferred\n  (<<= (member x (cons x ys)))\n  (<<= (member x (cons y ys))\n    (=/= x y) (member x ys))\n  ;; member can also be defined with a single rule:\n  ;(<<= (member x ys)\n  ;  (exist (a d)\n  ;    (== ys `(,a . ,d))\n  ;    (or (== x a)\n  ;        (and (=/= x a) (member x d)))))\n\n  (relation (append xs ys xsys)\n    modes ((xs) (xsys)))  ;; these modes could be inferred\n  (<<= (append '() ys ys))\n  (<<= (append `(,x . ,xs) ys `(,x . ,xsys))\n    (append xs ys xsys))\n\n  ;; Can this theorem be proven?\n  ;(assert (all (xs ys)\n  ;          (iff (append xs ys ys)\n  ;               (== xs '()))))\n  )\n"
  },
  {
    "path": "medikanren2/dbk/dbk/old/example/counters.rkt",
    "content": "#lang racket/base\n(provide dbk.counters)\n(require \"base.rkt\"\n\n(define-dbk dbk.counters\n  (module 'foo\n    (<<+ (foo (+ n 1)) (foo n)))\n  (module 'bar\n    (<<+ (bar (+ n 1)) (bar n)))\n  (module 'initialize\n    (<<+ (foo 0))\n    (<<+ (bar 0)))\n  (module 'clean\n    (<<- (foo n) (bar n))\n    (<<- (bar n) (foo n))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/old/example/path.rkt",
    "content": "#lang racket/base\n(provide m.path m.edge.acyclic m.edge.cycles)\n(require \"base.rkt\")\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Define program modules\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-dbk m.path\n  (relation (edge source target)\n    indexes ((target source)))\n\n  (<<= (path s t) (edge s t))\n  (<<= (path s t) (exist (mid)\n                    (edge s mid) (path mid t))))\n\n(define-dbk m.edge.acyclic\n  (link m.base)\n  (<<+ (edge s t) (member (list s t)\n                          '((1 2)\n                            (2 4)\n                            (1 3)\n                            (3 5)\n                            (2 6)\n                            (3 6)\n                            (6 4)))))\n\n(define-dbk m.edge.cycles\n  (link m.base)\n  (<<+ (edge s t) (member (list s t)\n                          '((1 1)\n                            (5 1)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Run example\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define p (process m.path))\n\n;; edge relation is empty\n(p 'eval '(query (s t) (path s t)))\n;; ==>\n;; ()\n\n;; insert acyclic edge data\n(p 'program-set! (link m.path m.edge.acyclic))\n(p 'tick!)\n(p 'program-set! m.path)\n\n(p 'eval '(query (s t) (path s t)))\n;; ==>\n;; ? TODO\n\n;; insert extra edges that form cycles\n(p 'program-set! (link m.path m.edge.cycles))\n(p 'tick!)\n(p 'program-set! m.path)\n\n(p 'eval '(query (s t) (path s t)))\n;; ==>\n;; ? TODO\n"
  },
  {
    "path": "medikanren2/dbk/dbk/old/example/quorum.rkt",
    "content": "#lang racket/base\n(provide m.quorum-vote)\n(require \"base.rkt\")\n\n;; Based on figures 2 and 3 in: Logic and Lattices for Distributed Programming\n;; https://dsf.berkeley.edu/papers/socc12-blooml.pdf\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Define program modules\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-dbk m.quorum-vote\n  (<<+ (vote id) (vote.in id))\n\n  ;; Demonstrate intermediate term definitions\n  (define vote-count (set-count (query id (vote id))))\n  (define quorum?    (<= quorum-size count))\n  (<<~ (result.out 'success) (== #t quorum?))\n\n  ;; This is what it looks like without intermediate definitions\n  ;(<<~ (result.out 'success)\n  ;  (== #t (<= quorum-size (set-count (query id (vote id))))))\n\n  ;; And this is an alternative where <= is used as a relation instead\n  ;(<<~ (result.out 'success)\n  ;  (<= quorum-size (set-count (query id (vote id)))))\n  )\n\n(define pipe.result (dbk:pipe))\n\n(define program\n  (link m.quorum-vote\n        ;; Factored out so that m.quorum-vote is reusable\n        (dbk\n          (parameter quorum-size 3)\n          (input     (vote.in    id) _)  ; TODO: fill _ with an actual input device\n          (output    (result.out x)  (out:pipe pipe.result)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Run example\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define p (process program))\n\n;; Loop until enough votes arrive (assumes vote.in input device is populated concurrently)\n(let loop ()\n  (unless (s-member '(success) (pipe-get pipe.result))\n    (p 'tick!)\n    (loop)))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/old/example/shortest-path.rkt",
    "content": "#lang racket/base\n(provide m.shortest-path)\n(require \"base.rkt\")\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Define program modules\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-dbk m.shortest-path\n  (link m.base)\n\n  (relation (edge source target distance)\n    indexes ((target source)))\n\n  ;; Guard against cyclic data\n  (<<= (reachable s t) (edge s t _))\n  (<<= (reachable s t) (exist (mid)\n                         (edge s mid _) (reachable mid t)))\n  (assert (not (exist (x) (reachable x x))))\n\n  ;; This relation will be infinitely large if edge describes a cyclic graph.\n  ;; To support cyclic data, we can rewrite this to stratify across time steps,\n  ;; stopping when there are no more improvements made during a single tick.\n  ;; TODO: It might be possible to avoid stratifying over time by expressing\n  ;; shortest-path directly using lattice operations for computing distance,\n  ;; allowing recursion within aggregation due to monotonicity.\n  (<<= (path s t d) (edge s t d))\n  (<<= (path s t (+ d.e d.p))\n    (exist (mid)\n      (edge s mid d.e)\n      (path mid t d.p)))\n\n  (<<= (shortest-path s t distance)\n    (=/= distance #f)\n    (== distance (merge min #f (query distance (path s t distance)))))\n\n  (<<= (edge s t distance)\n    (member (list s t distance)\n            '((a b 2)\n              (b c 5)\n              (b c 1)\n              (c d 3)\n              (c e 5)\n              (d e 1)\n              (e f 2)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Run examples\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define p (process m.shortest-path))\n\n(p 'eval '(query (s t c) (path s t c)))\n;; ==>\n;; ? TODO\n\n(p 'eval '(query (s t c) (shortest-path s t c)))\n;; ==>\n;; ? TODO\n"
  },
  {
    "path": "medikanren2/dbk/dbk/old/parse.rkt",
    "content": "#lang racket/base\n(provide\n  env.empty env:new env-ref env-ref* env-set env-set* env-remove env-remove* env-bind env-bind* env-union env-rename\n  m:named m:link m:term m:relation m:assert\n  f:const f:relate f:implies f:iff f:or f:and f:not f:exist f:all\n  f:any<= f:== f:=/=\n  t:query t:map/merge t:quote t:var t:prim t:app t:lambda t:if t:let t:letrec\n  t:apply t:cons t:car t:cdr t:vector t:list->vector t:vector-ref t:vector-length\n  t-free-vars f-free-vars t-free-vars* t-free-vars-first-order t-free-vars-first-order*\n  t-substitute f-substitute t-substitute* t-substitute-first-order t-substitute-first-order*\n  f-relations t-relations t-relations*\n  module-flatten module-ref module-add module-remove module-remove* module-wrap module-unwrap\n  program.empty program:new program:set program-module program-env program-flatten program-remove*\n  define-dbk dbk dbk-parse dbk-syntax link parameter input output\n  dbk-environment dbk-environment-update with-dbk-environment-update with-fresh-names\n  literal? literal simple-parser\n  parse:program parse:module parse:formula parse:term)\n(require \"misc.rkt\" racket/hash racket/list racket/match racket/set racket/struct)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Environments with vocabularies\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define env.empty (hash))\n\n(define (env-ref     env vocab n)     (hash-ref (hash-ref env n (hash)) vocab #f))\n(define (env-ref*    env vocab ns)    (map (lambda (n) (env-ref env vocab n)) ns))\n(define (env-set     env vocab n  v)  (let* ((vocab=>v (hash-ref env n (hash)))\n                                             (vocab=>v (if v\n                                                         (hash-set    vocab=>v vocab v)\n                                                         (hash-remove vocab=>v vocab))))\n                                        (if (hash-empty? vocab=>v)\n                                          (hash-remove env n)\n                                          (hash-set env n vocab=>v))))\n(define (env-set*    env vocab ns vs) (foldl (lambda (n v env) (env-set env vocab n v)) env ns vs))\n\n(define (env-remove  env       n)     (hash-remove env n))\n(define (env-remove* env       ns)    (foldl (lambda (n e) (env-remove env n)) env ns))\n\n(define (env-bind    env vocab n  v)  (env-set  (env-remove  env n)  vocab n  v))\n(define (env-bind*   env vocab ns vs) (env-set* (env-remove* env ns) vocab ns vs))\n\n(define (env-union   env . envs)      (foldl (lambda (e e.0)\n                                               (hash-union e.0 e #:combine\n                                                           (lambda (vocab=>v.0 vocab=>v)\n                                                             (hash-union vocab=>v.0 vocab=>v #:combine\n                                                                         (lambda (v.0 v) (if v v v.0))))))\n                                             env envs))\n\n(define (env-rename env n=>n)\n  (define (v-rename vocab v)    (cons vocab               (if (procedure? v)\n                                                            v\n                                                            (hash-ref n=>n v v))))\n  (define (n-rename n vocab=>v) (cons (hash-ref n=>n n n) (make-immutable-hash\n                                                            (hash-map vocab=>v v-rename))))\n  (make-immutable-hash (hash-map env n-rename)))\n\n(define (env:new vocab . args)\n  (define nvs (plist->alist args))\n  (env-set* env.empty vocab\n            (map car nvs)\n            (map cdr nvs)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Abstract syntax\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-variant formula?\n  (f:const   value)  ; can be thought of as a relation taking no arguments\n  (f:relate  relation args)\n  (f:implies if then)\n  (f:iff     f1 f2)\n  (f:or      f1 f2)\n  (f:and     f1 f2)\n  (f:not     f)\n  (f:exist   params body)\n  (f:all     params body))\n\n(define (f:any<= u v) (f:relate '(prim any<=) (list u v)))\n(define (f:any<  u v) (f:relate '(prim any<)  (list u v)))\n(define (f:==    u v) (f:relate '(prim ==)    (list u v)))\n(define (f:=/=   u v) (f:relate '(prim =/=)   (list u v)))\n\n;; lambda calculus extended with constants (quote), logical queries, map/merge comprehensions\n(define-variant term?\n  (t:query     name formula)\n  (t:map/merge proc.map proc.merge default xs)\n  (t:quote     value)\n  (t:var       name)\n  (t:prim      name)\n  (t:app       proc args)\n  (t:lambda    params body)\n  (t:if        c t f)\n  (t:let       bpairs body)\n  (t:letrec    bpairs body))\n\n(define (t:apply f . args)  (t:app (t:prim 'apply)         args))\n(define (t:cons a d)        (t:app (t:prim 'cons)          (list a d)))\n(define (t:car p)           (t:app (t:prim 'car)           (list p)))\n(define (t:cdr p)           (t:app (t:prim 'cdr)           (list p)))\n(define (t:vector . args)   (t:app (t:prim 'vector)        args))\n(define (t:list->vector xs) (t:app (t:prim 'list->vector)  (list xs)))\n(define (t:vector-ref v i)  (t:app (t:prim 'vector-ref)    (list v i)))\n(define (t:vector-length v) (t:app (t:prim 'vector-length) (list v)))\n\n;; TODO: use CPS yielding to efficiently support partial-answer variations\n(define (t-free-vars t (first-order? #f))\n  (let loop ((t t))\n    (match t\n      ((t:query  name f)      (set-subtract (f-free-vars f first-order?) (set name)))\n      ((t:quote  _)           (set))\n      ((t:var    name)        (set name))\n      ((t:prim   _)           (set))\n      ((t:app    func args)   (set-union (t-free-vars* args first-order?)\n                                         (if first-order? (set) (loop func))))\n      ((t:lambda params body) (set-subtract (loop body) (list->set params)))\n      ((t:if     c t f)       (set-union (loop c) (loop t) (loop f)))\n      ((t:let    bpairs body) (set-union (t-free-vars* (map cdr bpairs) first-order?)\n                                         (set-subtract (loop body) (list->set (map car bpairs)))))\n      ((t:letrec bpairs body) (set-subtract (set-union (t-free-vars* (map cdr bpairs) first-order?)\n                                                       (loop body))\n                                            (list->set (map car bpairs)))))))\n\n(define (t-free-vars-first-order t) (t-free-vars t #t))\n\n(define (f-free-vars f (first-order? #f))\n  (let loop ((f f))\n    (match f\n      ((f:const   _)             (set))\n      ((f:or      f1 f2)         (set-union (loop f1) (loop f2)))\n      ((f:and     f1 f2)         (set-union (loop f1) (loop f2)))\n      ((f:implies if then)       (set-union (loop if) (loop then)))\n      ((f:relate  relation args) (t-free-vars* args first-order?))\n      ((f:exist   params body)   (set-subtract (loop body) (list->set params)))\n      ((f:all     params body)   (set-subtract (loop body) (list->set params))))))\n\n(define (t-free-vars* ts (first-order? #f))\n  (foldl (lambda (t vs) (set-union vs (t-free-vars t first-order?)))\n         (set) ts))\n(define (t-free-vars-first-order* ts) (t-free-vars* ts #t))\n\n(define (f-relations f)\n  (match f\n    ((f:const   _)             (set))\n    ((f:or      f1 f2)         (set-union (f-relations f1) (f-relations f2)))\n    ((f:and     f1 f2)         (set-union (f-relations f1) (f-relations f2)))\n    ((f:implies if then)       (set-union (f-relations if) (f-relations then)))\n    ((f:relate  relation args) (set-add (t-relations* args) relation))\n    ((f:exist   params body)   (f-relations body))\n    ((f:all     params body)   (f-relations body))))\n\n(define (t-relations t)\n  (match t\n    ((t:query  _ f)         (f-relations f))\n    ((t:quote  _)           (set))\n    ((t:var    _)           (set))\n    ((t:prim   _)           (set))\n    ((t:app    func args)   (set-union (t-relations func) (t-relations* args)))\n    ((t:lambda params body) (t-relations body))\n    ((t:if     c t f)       (set-union (t-relations c) (t-relations t) (t-relations f)))\n    ((t:let    bpairs body) (set-union (t-relations* (map cdr bpairs)) (t-relations body)))\n    ((t:letrec bpairs body) (set-union (t-relations* (map cdr bpairs)) (t-relations body)))))\n\n(define (t-relations* ts)\n  (foldl (lambda (t rs) (set-union rs (t-relations t)))\n         (set) ts))\n\n(define (t-substitute t name=>name (first-order? #f))\n  (let loop ((t t))\n    (match t\n      ((t:query  name f)      (t:query name (f-substitute f (hash-remove name=>name name) first-order?)))\n      ((t:quote  _)           t)\n      ((t:var    name)        (t:var (hash-ref name=>name name name)))\n      ((t:prim   _)           t)\n      ((t:app    func args)   (t:app func (t-substitute* args name=>name first-order?)))\n      ((t:lambda params body) (t:lambda params (t-substitute body\n                                                             (hash-remove* name=>name params)\n                                                             first-order?)))\n      ((t:if     c t f)       (t:if (loop c) (loop t) (loop f)))\n      ((t:let    bpairs body) (define params (map car bpairs))\n                              (t:let (map cons params (t-substitute* (map cdr bpairs)\n                                                                     name=>name\n                                                                     first-order?))\n                                     (t-substitute body\n                                                   (hash-remove* name=>name params)\n                                                   first-order?)))\n      ((t:letrec bpairs body) (define params (map car bpairs))\n                              (define n=>n   (hash-remove* name=>name params))\n                              (t:let (map cons params (t-substitute* (map cdr bpairs)\n                                                                     n=>n\n                                                                     first-order?))\n                                     (t-substitute body\n                                                   n=>n\n                                                   first-order?))))))\n\n(define (t-substitute* ts name=>name (first-order? #f))\n  (map (lambda (t) (t-substitute t name=>name first-order?)) ts))\n\n(define (f-substitute f name=>name (first-order? #f))\n  (let loop ((f f))\n    (match f\n      ((f:const   _)             f)\n      ((f:or      f1 f2)         (f:or      (loop f1)\n                                            (loop f2)))\n      ((f:and     f1 f2)         (f:and     (loop f1)\n                                            (loop f2)))\n      ((f:implies if then)       (f:implies (loop if)\n                                            (loop then)))\n      ((f:relate  relation args) (f:relate relation (t-substitute* args name=>name first-order?)))\n      ((f:exist   params body)   (f:exist params (f-substitute body\n                                                               (hash-remove* name=>name params)\n                                                               first-order?)))\n      ((f:all     params body)   (f:all   params (f-substitute body\n                                                               (hash-remove* name=>name params)\n                                                               first-order?))))))\n\n(define (t-substitute-first-order  t  name=>name) (t-substitute  t  name=>name #t))\n(define (t-substitute-first-order* ts name=>name) (t-substitute* ts name=>name #t))\n\n;; A schema is a finite map of names to finite maps of properties to sets of\n;; values, i.e.: (=> name (=> property (set value)))\n(define schema.empty (hash))\n(define (schema:new private=>property=>value)\n  (make-immutable-hash\n    (hash-map private=>property=>value\n              (lambda (private p=>v)\n                (cons private\n                      (make-immutable-hash\n                        (hash-map p=>v (lambda (p v) (cons p (set v))))))))))\n\n(define (schema-union p=>p=>v.0 p=>p=>v.1)\n  (hash-union p=>p=>v.0 p=>p=>v.1\n              #:combine (lambda (p=>v.0 p=>v.1)\n                          (hash-union p=>v.0 p=>v.1 #:combine set-union))))\n\n(record module (terms relations assertions name=>submodule) #:prefab)\n(define module.empty (module\n                       (terms           schema.empty)\n                       (relations       schema.empty)\n                       (assertions      (set))\n                       (name=>submodule (hash))))\n\n(define (m:link     ms)        (foldl (lambda (m m.0)\n                                        (match-define (module:struct ts.0 rs.0 as.0 n=>s.0) m.0)\n                                        (match-define (module:struct ts   rs   as   n=>s)   m)\n                                        (module\n                                          (terms           (schema-union ts.0 ts))\n                                          (relations       (schema-union rs.0 rs))\n                                          (assertions      (set-union    as.0 as))\n                                          (name=>submodule (hash-union n=>s.0 n=>s #:combine\n                                                                       (lambda (s.0 s)\n                                                                         (m:link (list s.0 s)))))))\n                                      module.empty\n                                      ms))\n(define (m:named    name m)    (module:set module.empty (name=>submodule (hash       name m))))\n(define (m:term     name p=>v) (module:set module.empty (terms           (schema:new (hash name p=>v)))))\n(define (m:relation name p=>v) (module:set module.empty (relations       (schema:new (hash name p=>v)))))\n(define (m:assert   formula)   (module:set module.empty (assertions      (set        formula))))\n\n(define (module-flatten m)          (m:link (cons (module:set m (module-name=>submodule (hash)))\n                                                  (map module-flatten (hash-values (module-name=>submodule m))))))\n\n(define (module-ref     m path)     (foldl (lambda (name m)\n                                             (hash-ref (module-name=>submodule m) name module.empty))\n                                           m path))\n\n(define (module-add     m path sub) (if (null? path)\n                                      (m:link (list m sub))\n                                      (module:set m (name=>submodule\n                                                      (hash-update (module-name=>submodule m) (car path)\n                                                                   (lambda (m) (module-add m (cdr path) sub))\n                                                                   module.empty)))))\n\n(define (module-remove  m path)     (if (null? path)\n                                      module.empty\n                                      (let loop ((m m) (path path))\n                                        (module:set m (name=>submodule\n                                                        (if (null? (cdr path))\n                                                          (hash-remove (module-name=>submodule m) (car path))\n                                                          (hash-update (module-name=>submodule m) (car path)\n                                                                       (lambda (m) (loop m (cdr path)))\n                                                                       module.empty)))))))\n\n(define (module-remove* m paths)    (foldl (lambda (path m) (module-remove m path)) m paths))\n\n(define (module-wrap    m path)     (foldl (lambda (name m)\n                                             (module:set module.empty (name=>submodules (hash name m))))\n                                           m path))\n\n(define (module-unwrap  m path)     (foldl (lambda (name m)\n                                             (hash-ref (module-name=>submodule m) name module.empty))\n                                           m path))\n\n(record program (module env) #:prefab)\n(define (program:new m env) (program (module m) (env env)))\n(define program.empty (program:new module.empty env.empty))\n\n(define (program-remove* p paths) (program:set p (module (module-remove* (program-module p) paths))))\n(define (program-flatten p)       (program:set p (module (module-flatten (program-module p)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Names and parameter trees\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define fresh-name-count (make-parameter #f))\n\n(define (call-with-fresh-names thunk)\n  (if (fresh-name-count)\n    (thunk)\n    (parameterize ((fresh-name-count 0))\n      (thunk))))\n\n(define-syntax-rule (with-fresh-names body ...)\n  (call-with-fresh-names (lambda () body ...)))\n\n(define (fresh-name name)\n  (define uid.next (fresh-name-count))\n  (unless uid.next (error \"fresh name not available:\" name))\n  (fresh-name-count (+ uid.next 1))\n  (cons uid.next (if (pair? name) (cdr name) name)))\n\n(define (param-names param)\n  (match param\n    ((? symbol?)    (list param))\n    ('()            '())\n    ((cons p.a p.d) (append (param-names p.a) (param-names p.d)))\n    ((? vector?)    (param-names (vector->list param)))))\n\n(define (unique? names) (= (set-count (list->set names)) (length names)))\n\n(define (name? x) (not (or (not x) (procedure? x))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Parsing\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (literal? x) (or (number? x) (boolean? x) (string? x) (bytes? x)))\n(define (literal  x) (if (and (number? x) (inexact? x)) (inexact->exact x) x))\n\n(define (binding-pairs?! bps)\n  (unless (and (list? bps)\n               (andmap (lambda (bp) (and (list? bp)\n                                         (= 2 (length bp))))\n                       bps))\n    (error \"invalid binding pairs:\" bps)))\n\n(define ((simple-parser proc) stx)\n  (cond ((list? stx) (apply proc (cdr stx)))\n        (else        (error \"simple-parser expects list syntax:\" stx))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Module parsing\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define current-env (make-parameter #f))\n\n(define (current-env-bind  vocab n  v)  (current-env (env-bind  (current-env) vocab n  v)))\n(define (current-env-bind* vocab ns vs) (current-env (env-bind* (current-env) vocab ns vs)))\n\n(define ((parse:program stx) env)\n  (unless (list? stx) (error \"invalid program syntax:\" stx))\n  (with-fresh-names\n    (parameterize ((current-env env))\n      (define resume (apply parse:module:begin stx))\n      (define env    (current-env))\n      (program:new (resume env) env))))\n\n(define (parse:module:begin . stxs)\n  (define deferred (map parse:module stxs))\n  (lambda (env) (m:link (map (lambda (d) (d env)) deferred))))\n\n(define (parse:module stx)\n  (with-fresh-names\n    (match stx\n      ((? symbol? name)\n       (define mc.b (env-ref (current-env) 'module name))\n       (cond ((procedure? mc.b) (mc.b stx))\n             (else              (error \"unknown module clause keyword:\" name mc.b))))\n      ((list operator operands ...)\n       (define mc.b (env-ref (current-env) 'module operator))\n       (cond ((procedure? mc.b) (mc.b stx))\n             (else              (error \"unknown module clause operator:\" operator mc.b))))\n      ((? procedure? self-parse) (self-parse)))))\n\n(define parse:module:module\n  (simple-match-lambda\n    ((name . body) (define resume (apply parse:module:begin body))\n                   (lambda (env) (m:named name (resume env))))))\n\n(define (quote-property property)\n  (lambda (value)\n    (lambda (env) (hash property value))))\n\n(define (parse:declare-relation:projections property msg.name)\n  (simple-match-lambda\n    (((attrs . projections))\n     (unless (unique? attrs)\n       (error (string-append msg.name \" attribute names must be unique:\") attrs))\n     (lambda (env.0)\n       (define unames (map fresh-name attrs))\n       (define env    (env-bind* env.0 'term attrs unames))\n       (hash property (cons unames (map (lambda (proj) ((parse:term* proj) env))\n                                        projections)))))))\n\n(define parse:declare-relation:indexes (parse:declare-relation:projections 'indexes \"indexes:\"))\n(define parse:declare-relation:modes   (parse:declare-relation:projections 'modes   \"modes:\"))\n\n(define (parse:module:projections property)\n  (simple-parser\n    (simple-match-lambda\n      (((relation . attrs) . projections)\n       (parse:module:relation (cons relation attrs) property (cons attrs projections))))))\n\n(define parse:declare-term:definition\n  (lambda (body)\n    (lambda (env) (hash 'definition ((parse:term body) env)))))\n\n(define (parse:declare-relation:rule type)\n  (simple-match-lambda\n    (((params . formulas))\n     (lambda (env)\n       ;; NOTE: extracting variables in first-order positions as pattern\n       ;; variables may be brittle.  It may be better to introduce a pattern\n       ;; matching vocabulary to explicitly identify pattern variables.\n       (define ts.params    (map (lambda (p) ((parse:term p) env)) params))\n       (define names.params (set->list (t-free-vars-first-order* ts.params)))\n       (define names.argument\n         (map (lambda (i) (fresh-name (string->symbol (string-append \"x.\" (number->string i)))))\n              (range (length params))))\n       (define formula\n         ((apply parse:formula:exist names.params\n                 (lambda (env)\n                   (foldl f:and\n                          (f:== (quote-literal #t) (quote-literal #t))\n                          (map (lambda (n t) (f:== (t:var n) t))\n                               names.argument\n                               (t-substitute-first-order*\n                                 ts.params\n                                 (make-immutable-hash\n                                   (map cons names.params (env-ref* env 'term names.params)))))))\n                 formulas)\n          env))\n       (hash 'rules (list (vector type names.argument formula)))))))\n\n(define (parse:module:rule type)\n  (simple-parser\n    (simple-match-lambda\n      (((relation . params) . formulas) (parse:module:relation\n                                          relation\n                                          (parse:declare-relation:rule type)\n                                          (cons params formulas))))))\n\n(define parse:module:link\n  (simple-match-lambda\n    (ms (lambda (_) (m:link ms)))))\n\n(define parse:module:parameter\n  (simple-match-lambda\n    (kvs (define kwargs (plist->alist kvs))\n         (apply parse:module:begin\n                (map (lambda (name value)\n                       (lambda () (parse:module:define name (lambda (_) (quote-literal value)))))\n                     (map car kwargs) (map cdr kwargs))))))\n\n(define (parse:module:io type)\n  (simple-match-lambda\n    (kvs (define kwargs (plist->alist kvs))\n         (apply parse:module:begin\n                (map (lambda (rsig io-device)\n                       (lambda () (parse:module:relation rsig type io-device)))\n                     (map car kwargs) (map cdr kwargs))))))\n\n(define parse:module:input  (parse:module:io (quote-property 'input)))\n(define parse:module:output (parse:module:io (quote-property 'output)))\n\n(define parse:module:define\n  (simple-match-lambda\n    (((name . params) body) (parse:module:define name (parse:term:lambda params body)))\n    ((name            body) (parse:module:term   name parse:declare-term:definition body))))\n\n(define (parse:module:declaration vocab.declare vocab.entity msg.entity m:entity)\n  (simple-match-lambda\n    ((name . kvs) (define kwargs (plist->alist kvs))\n                  (define uname  (fresh-name name))\n                  (current-env-bind vocab.entity name uname)\n                  (lambda (env)\n                    (define uname (env-ref env vocab.entity name))\n                    (unless (name? uname)\n                      (error (string-append \"invalid \" msg.entity \" renaming:\" name uname)))\n                    (m:link (map (lambda (property value)\n                                   (define p.b (if (procedure? property)\n                                                 property\n                                                 (env-ref env vocab.declare property)))\n                                   (define pmap (cond ((procedure? p.b) ((p.b value) env))\n                                                      (else             (hash (if p.b p.b property) value))))\n                                   (m:entity uname pmap))\n                                 (map car kwargs) (map cdr kwargs)))))))\n\n(define parse:module:relation\n  (simple-match-lambda\n    (((relation . attrs) . kvs) (apply parse:module:relation relation (quote-property 'attributes) attrs kvs))\n    (args                       (apply (parse:module:declaration 'declare-relation 'formula \"relation\" m:relation) args))))\n\n(define parse:module:term              (parse:module:declaration 'declare-term     'term    \"term\"     m:term))\n\n(define (parse:module:declare* parse-spec)\n  (simple-match-lambda\n    (specs (apply parse:module:begin\n                  (map (lambda (spec)\n                         (lambda () (if (list? spec)\n                                      (apply parse-spec spec)\n                                      (parse-spec       spec))))\n                       specs)))))\n\n(define parse:module:relations (parse:module:declare* parse:module:relation))\n(define parse:module:terms     (parse:module:declare* parse:module:term))\n\n(define parse:module:assert\n  (simple-match-lambda\n    ((formula) (lambda (env) (m:assert ((parse:formula formula) env))))))\n\n(define env.initial.module.declare-relation\n  (env:new\n    'declare-relation\n    '<<=     (parse:declare-relation:rule '<<=)\n    '<<+     (parse:declare-relation:rule '<<+)\n    '<<-     (parse:declare-relation:rule '<<-)\n    '<<~     (parse:declare-relation:rule '<<~)\n    'indexes parse:declare-relation:indexes\n    'modes   parse:declare-relation:modes))\n\n(define env.initial.module.declare-term\n  (env:new\n    'declare-term\n    'definition parse:declare-term:definition))\n\n(define env.initial.module.clause\n  (env:new\n    'module\n    'module          (simple-parser parse:module:module)\n    'begin           (simple-parser parse:module:begin)\n    'link            (simple-parser parse:module:link)\n    'relation        (simple-parser parse:module:relation)\n    'relations       (simple-parser parse:module:relations)\n    'term            (simple-parser parse:module:term)\n    'terms           (simple-parser parse:module:terms)\n    'indexes         (parse:module:projections parse:declare-relation:indexes)\n    'modes           (parse:module:projections parse:declare-relation:modes)\n    'parameter       (simple-parser parse:module:parameter)\n    'input           (simple-parser parse:module:input)\n    'output          (simple-parser parse:module:output)\n    'define          (simple-parser parse:module:define)\n    'assert          (simple-parser parse:module:assert)\n    '<<=             (parse:module:rule '<<=)\n    '<<+             (parse:module:rule '<<+)\n    '<<-             (parse:module:rule '<<-)\n    '<<~             (parse:module:rule '<<~)\n    ;; miniKanren style module clauses\n    'define-relation (parse:module:rule '<<=)))\n\n(define env.initial.module (env-union env.initial.module.declare-relation\n                                      env.initial.module.declare-term\n                                      env.initial.module.clause))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Formula parsing\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define ((parse:formula stx) env)\n  (with-fresh-names\n    (match stx\n      ((? literal? data) (f:const (literal data)))\n      ((? symbol? name)\n       (define f.b (env-ref env 'formula name))\n       (cond ((procedure? f.b) ((f.b stx) env))\n             (else             (f:const (if f.b f.b name)))))\n      ((list operator operands ...)\n       (define f.b (env-ref env 'formula operator))\n       ((cond ((procedure? f.b) (f.b stx))\n              (else             (parse:formula:relate (if f.b f.b operator) operands)))\n        env))\n      ((? procedure? self-parse) (self-parse env)))))\n\n(define ((parse:formula* formulas) env)\n  (map (lambda (f) ((parse:formula f) env)) formulas))\n\n(define anonymous-vars (make-parameter #f))\n\n(define-syntax formula/anonymous-vars\n  (syntax-rules ()\n    ((_ body ...) (parameterize ((anonymous-vars '()))\n                    (define f (let () body ...))\n                    (if (null? (anonymous-vars))\n                      f\n                      (f:exist (anonymous-vars) f))))))\n\n(define ((parse:formula:relate relation operands) env)\n  (formula/anonymous-vars (f:relate relation ((parse:term* operands) env))))\n\n(define parse:formula:or\n  (simple-match-lambda\n    ((disjunct)             (parse:formula disjunct))\n    ((disjunct . disjuncts) (lambda (env) (f:or ((parse:formula disjunct)           env)\n                                                ((apply parse:formula:or disjuncts) env))))))\n\n(define parse:formula:and\n  (simple-match-lambda\n    ((conjunct)             (parse:formula conjunct))\n    ((conjunct . conjuncts) (lambda (env) (f:and ((parse:formula conjunct)            env)\n                                                 ((apply parse:formula:and conjuncts) env))))))\n\n(define parse:formula:not\n  (simple-match-lambda ((f) (lambda (env) (f:not ((parse:formula f) env))))))\n\n(define (parse:formula:quantifier f:quantifier msg.name)\n  (simple-match-lambda\n    ((names . body) (unless (unique? names)\n                      (error (string-append msg.name \" parameter names must be unique:\") names))\n                    (lambda (env)\n                      (define unames (map fresh-name names))\n                      (f:quantifier unames ((apply parse:formula:and body)\n                                            (env-bind* env 'term names unames)))))))\n\n(define parse:formula:exist (parse:formula:quantifier f:exist \"existential quantifier\"))\n(define parse:formula:all   (parse:formula:quantifier f:all   \"universal quantifier\"))\n\n(define parse:formula:implies\n  (simple-match-lambda\n    ((hypothesis conclusion) (lambda (env) (f:implies ((parse:formula hypothesis) env)\n                                                      ((parse:formula conclusion) env))))))\n\n(define parse:formula:iff\n  (simple-match-lambda\n    ((f.a f.b) (lambda (env) (f:iff ((parse:formula f.a) env)\n                                    ((parse:formula f.b) env))))))\n\n;; miniKanren style formulas\n(define parse:formula:fresh (parse:formula:quantifier f:exist \"fresh\"))\n\n(define parse:formula:conde\n  (simple-match-lambda\n    (clauses (apply parse:formula:or (map (lambda (conjuncts) (apply parse:formula:and conjuncts))\n                                          clauses)))))\n\n(define env.initial.formula\n  (env:new\n    'formula\n    'or      (simple-parser parse:formula:or)\n    'and     (simple-parser parse:formula:and)\n    'not     (simple-parser parse:formula:not)\n    'implies (simple-parser parse:formula:implies)\n    'iff     (simple-parser parse:formula:iff)\n    'exist   (simple-parser parse:formula:exist)\n    'all     (simple-parser parse:formula:all)\n    ;; miniKanren style formulas\n    'fresh   (simple-parser parse:formula:fresh)\n    'conde   (simple-parser parse:formula:conde)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Term parsing\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (quote-literal v) (t:quote (literal v)))\n\n(define ((parse:term stx) env)\n  (with-fresh-names\n    (match stx\n      ((? literal? data) (quote-literal data))\n      ((? symbol?  name) ((parse:term:ref name) env))\n      ((list operator operands ...)\n       (define t.b (env-ref env 'term operator))\n       ((cond ((procedure? t.b) (t.b stx))\n              (else             (parse:term:app operator operands)))\n        env))\n      ((? procedure? self-parse) (self-parse env)))))\n\n(define ((parse:term* stxs) env)\n  (map (lambda (stx) ((parse:term stx) env)) stxs))\n\n(define ((parse:term:ref name) env)\n  (define t.b (env-ref env 'term name))\n  (cond ((procedure? t.b) ((t.b name) env))\n        (else             (t:var (if t.b t.b name)))))\n\n(define parse:term:query\n  (simple-match-lambda\n    ((param-pattern . body)\n     (lambda (env)\n       (cond ((symbol? param-pattern)\n              (define param (fresh-name param-pattern))\n              (t:query param ((apply parse:formula:and body)\n                              (env-bind env 'term param-pattern param))))\n             (else (define param (fresh-name 'q.0))\n                   (define names (param-names param-pattern))\n                   (define (assign-param-pattern env)\n                     (f:== param ((parse:term:simple param-pattern) env)))\n                   (t:query param ((apply parse:formula:exist names assign-param-pattern body)\n                                   env))))))))\n\n(define ((parse:term:simple pattern) env)\n  (let loop ((pattern pattern))\n    (match pattern\n      ((? symbol?)    ((parse:term:ref pattern) env))\n      ('()            (quote-literal '()))\n      ((cons p.a p.d) (t:cons (loop p.a) (loop p.d)))\n      ((? vector?)    (t:list->vector (loop (vector->list pattern)))))))\n\n(define parse:term:quote\n  (simple-match-lambda ((value) (lambda (_) (quote-literal value)))))\n\n(define parse:term:quasiquote\n  (simple-match-lambda\n    ((template)\n     (lambda (env)\n       (define ((keyword? k) n) (eq? k (env-ref env 'quasiquote n)))\n       (define (lift tag e)     (t:cons (quote-literal tag) (t:cons e (quote-literal '()))))\n       ;; NOTE: unquote-splicing support requires a safe definition of append\n       (let loop ((t template) (level 0))\n         (match t\n           ((list (? (keyword? 'unquote)    k) e) (if (= level 0)\n                                                    ((parse:term e) env)\n                                                    (lift k (loop e (- level 1)))))\n           ((list (? (keyword? 'quasiquote) k) t) (lift k (loop t (+ level 1))))\n           ((cons t.a t.d)                        (t:cons (loop t.a level) (loop t.d level)))\n           ((? vector?)                           (t:list->vector (loop (vector->list t) level)))\n           ((or (? (keyword? 'quasiquote))\n                (? (keyword? 'unquote)))          (error \"invalid quasiquote:\" t template))\n           (v                                     (quote-literal v))))))))\n\n(define parse:term:app\n  (simple-match-lambda\n    ((proc args) (lambda (env) (t:app ((parse:term proc)  env)\n                                      ((parse:term* args) env))))))\n\n(define parse:term:lambda\n  (simple-match-lambda\n    ((params body) (define names (param-names params))\n                   (unless (unique? names)\n                     (error \"lambda parameter names must be unique:\" names))\n                   (lambda (env)\n                     (define unames (map fresh-name names))\n                     (t:lambda unames ((parse:term body)\n                                       (env-bind* env 'term names unames)))))))\n\n(define parse:term:if\n  (simple-match-lambda\n    ((c t f) (lambda (env) (t:if ((parse:term c) env)\n                                 ((parse:term t) env)\n                                 ((parse:term f) env))))))\n\n(define parse:term:let\n  (simple-match-lambda\n    ((bps body) (binding-pairs?! bps)\n                (parse:term:app (parse:term:lambda (map car bps) body)\n                                (map cadr bps)))))\n\n(define parse:term:letrec\n  (simple-match-lambda\n    ((bps body) (binding-pairs?! bps)\n                (define names (param-names (map car bps)))\n                (unless (unique? names)\n                  (error \"letrec parameter names must be unique:\" names))\n                (lambda (env)\n                  (define unames (map fresh-name names))\n                  (define rhss ((parse:term* (map cadr bps)) env))\n                  (t:letrec (map cons unames rhss)\n                            ((parse:term body)\n                             (env-bind* env 'term names unames)))))))\n\n(define parse:term:and\n  (simple-match-lambda\n    (()           (lambda (_) (quote-literal #t)))\n    ((arg)        (parse:term arg))\n    ((arg . args) (parse:term:if arg\n                                 (apply parse:term:and args)\n                                 (lambda (_) (quote-literal #f))))))\n\n(define parse:term:or\n  (simple-match-lambda\n    (()           (lambda (_) (quote-literal #f)))\n    ((arg)        (parse:term arg))\n    ((arg . args) (lambda (env)\n                    ((parse:term:let (list (list 'temp arg))\n                                     (parse:term:if (parse:term:ref 'temp)\n                                                    (parse:term:ref 'temp)\n                                                    (lambda (_) ((apply parse:term:or args)\n                                                                 env))))\n                     env)))))\n\n(define parse:term:anonymous-var\n  (simple-match-lambda\n    ((stx) (lambda (_)\n             (unless (anonymous-vars) (error \"misplaced anonymous variable:\" stx))\n             (define name (fresh-name '_))\n             (anonymous-vars (cons name (anonymous-vars)))\n             (t:var name)))))\n\n(define (parse:term:prim name)\n  (simple-match-lambda\n    (((_ . args)) (lambda (env) (t:app (t:prim name) ((parse:term* args) env))))\n    ((_)          (lambda (env) (t:prim name)))))\n\n(define env.initial.term.quasiquote\n  (env:new\n    'quasiquote\n    'quasiquote 'quasiquote\n    'unquote    'unquote))\n\n(define env.initial.term.primitive\n  (apply env-union env.empty\n         (map (lambda (name) (env:new 'term name (parse:term:prim name)))\n              ;; TODO: some of these can be derived rather than primitive\n              '(apply\n                 cons car cdr\n                 list->vector vector vector-ref vector-length\n                 bytes-ref bytes-length bytes->string string->bytes\n                 symbol->string string->symbol\n                 floor + - * / =\n                 equal? not\n                 <= < >= >\n                 any<= any< any>= any>\n                 .< .<= .> .>=  ; polymorphic point-wise monotonic comparisons\n\n                 ;; TODO: can some of these be defined relationally?\n                 set set-count set-member? set-union set-intersect set-subtract\n                 dict dict-count dict-ref dict-set dict-update dict-remove dict-union dict-intersect\n\n                 min max sum length\n                 map/merge map merge filter foldl foldr))))\n\n(define env.initial.term.special\n  (env:new\n    'term\n    '_          parse:term:anonymous-var\n    'query      (simple-parser parse:term:query)\n    'quote      (simple-parser parse:term:quote)\n    'quasiquote (simple-parser parse:term:quasiquote)\n\n    'if         (simple-parser parse:term:if)\n    'lambda     (simple-parser parse:term:lambda)\n    'let        (simple-parser parse:term:let)\n    'letrec     (simple-parser parse:term:letrec)\n\n    'and        (simple-parser parse:term:and)\n    'or         (simple-parser parse:term:or)))\n\n(define env.initial.term (env-union env.initial.term.quasiquote\n                                    env.initial.term.primitive\n                                    env.initial.term.special))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Module macro expansion\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; TODO: have dbk build process values (move dbk and define-dbk out of parse.rkt)\n;; - built process will optionally inherit from one or more parent processes\n;; - if no parent is specified, automatically use an empty process with primitive environment\n;; - will no longer need dbk-environment\n;; - \"vertical\" library/language-like linking\n;;   - parent program environment(s unioned) used to initiate parsing\n;;     - as opposed to \"horizontal\" (symmetric) linking, where environments are not involved\n;;   - result will be automatically linked with parent(s)\n\n(define dbk-environment (make-parameter (env-union env.initial.term\n                                                   env.initial.formula\n                                                   env.initial.module)))\n\n(define (dbk-environment-update env->env) (dbk-environment (env->env    (dbk-environment))))\n\n(define-syntax-rule (with-dbk-environment-update env->env body ...)\n  (parameterize ((dbk-environment (env->env    (dbk-environment))))\n    body ...))\n\n;; TODO: (define-dbk name (other attributes?) (parent ...) body ...)\n(define-syntax-rule (define-dbk name body ...) (define name (dbk body ...)))\n\n;; TODO: (dbk (other attributes? such as process name) (parent ...) clauses ...) using (dbk-parse (union-of-envs-of parent ...) clauses ...)\n;; dbk-parse produces AST and residual env\n;; semantically process result of dbk-parse to produce a process value\n(define-syntax-rule (dbk clauses ...)          (dbk-parse (dbk-syntax clauses ...)))\n\n;; TODO: take initial environment as an argument\n(define-syntax-rule (dbk-parse stx)            (with-fresh-names\n                                                 ((parse:program stx) (dbk-environment))))\n\n;; TODO: implement link as a procedure\n(define-syntax link      (syntax-rules ()))\n(define-syntax parameter (syntax-rules ()))\n(define-syntax input     (syntax-rules ()))\n(define-syntax output    (syntax-rules ()))\n\n(define-syntax plist-syntax\n  (syntax-rules ()\n    ((_ key val plist ...) `(key ,val . ,(plist-syntax plist ...)))\n    ((_)                   '())))\n\n(define-syntax dbk-syntax\n  (syntax-rules (module link parameter input output)\n    ((_ (module    name cs ...) clauses ...) (cons `(module    ,name . ,(dbk-syntax cs  ...)) (dbk-syntax clauses ...)))\n    ((_ (link      modules ...) clauses ...) (cons `(link      ,modules ...)                  (dbk-syntax clauses ...)))\n    ((_ (parameter params  ...) clauses ...) (cons `(parameter . ,(plist-syntax params  ...)) (dbk-syntax clauses ...)))\n    ((_ (input     inputs  ...) clauses ...) (cons `(input     . ,(plist-syntax inputs  ...)) (dbk-syntax clauses ...)))\n    ((_ (output    outputs ...) clauses ...) (cons `(output    . ,(plist-syntax outputs ...)) (dbk-syntax clauses ...)))\n    ((_ clause                  clauses ...) (cons 'clause                                    (dbk-syntax clauses ...)))\n    ((_)                                     '())))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/old/process.rkt",
    "content": "#lang racket/base\n(provide\n  )\n(require \"abstract-syntax.rkt\" \"misc.rkt\" \"parse.rkt\"\n         racket/list racket/match racket/set)\n\n(record pstate (dbms history data program) #:prefab)\n(define (pstate:new dbms prg) (pstate (dbms                dbms)\n                                      (history             prg)\n                                      (data                'TODO)\n                                      (program             prg)))\n\n;; TODO:\n(define (pstate-query pst params formula)\n  (set))\n\n;; TODO: include stepping as a modification?\n(define-variant pmod?\n  (pmod:merge   pstates)\n  (pmod:move    path.old path.new)\n  (pmod:wrap    path)\n  (pmod:unwrap  path)\n  (pmod:rename  vocab name.old name.new))\n\n(define (pmod:remove path)       (pmod:move   path #f))\n(define (pmod:hide   vocab name) (pmod:rename vocab name #f))\n\n(define (pstate-modify pst.0 pm)\n  ;; TODO: record new pstate using dbms\n  (define pst (pstate:set pst.0 (history (cons pm (pstate-history pst.0)))))\n  (define prg (pstate-program pst))\n  (define m   (program-module prg))\n  (define env (program-env prg))\n  ;; TODO: produce renamings for public names that are shared across pstates\n  (define (public-renamings envs)\n    (hash))\n  (define (module-rename m)\n    ;; TODO: traverse (parameterized) formulas and terms\n    #f)\n  (define (data-rename d n=>n)\n    ;; TODO:\n    #f)\n  (define (data-union . ds)\n    ;; TODO:\n    #f)\n  (match pm\n    ((pmod:merge   pstates)           (define dbms (pstate-dbms pst))\n                                      (unless (andmap (lambda (s) (eqv? dbms (pstate-dbms s))) pstates)\n                                        (error \"cannot merge processes managed by a different dbms:\"\n                                               dbms (map pstate-dbms pstates)))\n                                      (with-fresh-names\n                                        (define n=>n.0 (public-renamings (map (lambda (ps) (program-env (pstate-program ps)))\n                                                                              (cons pst pstates))))\n                                        (apply (lambda (ms es ds)\n                                                 (pstate:set pst\n                                                             (program (program:set program.empty\n                                                                                   (module (m:link ms))\n                                                                                   (env    (apply env-union es))))\n                                                             (data (apply data-union ds))))\n                                               (apply map list\n                                                      (map (lambda (ps)\n                                                             (define prg                 (pstate-program ps))\n                                                             (match-define (cons m n=>n) (module-rename  (program-module prg) n=>n.0))\n                                                             (define env                 (env-rename     (program-env prg)    n=>n))\n                                                             (define data                (data-rename    (pstate-data ps)     n=>n))\n                                                             (list m env data))\n                                                           (cons pst pstates))))))\n    ((pmod:move    path.old path.new) (define m.1 (module-remove m path.old))\n                                      (define m.new (if path.new\n                                                      (module-add m.1 path.new (module-ref m path.old))\n                                                      m.1))\n                                      (pstate:set pst (program (program:set prg (module m.new)))))\n    ((pmod:wrap    path)              (pstate:set pst (program (program:set prg (module (module-wrap   m path))))))\n    ((pmod:unwrap  path)              (pstate:set pst (program (program:set prg (module (module-unwrap m path))))))\n    ((pmod:rename  vocab n.old n.new) (define env.1   (env-set env vocab n.old #f))\n                                      (define env.new (if n.new\n                                                        (env-set env.1 vocab n.new (env-ref env vocab n.old))\n                                                        env.1))\n                                      (pstate:set pst (program (program:set prg (env env.new)))))))\n\n;; TODO: return #f if quiescent\n(define (pstate-step pst)\n  #f)\n\n(define (process name state)\n  (define dbms (pstate-dbms state))\n  (method-lambda\n    ((state)           state)\n    ((branch name.new) (dbms-process-add!  dbms name.new state)\n                       (process name.new state))\n    ((move   name.new) (dbms-process-move! dbms name name.new)\n                       (set! name name.new))\n    ((modify pm)       (define state.new (pstate-modify state pm))\n                       (dbms-process-set!  dbms name state.new)\n                       (set! state state.new))\n    ((step)            (define state.new (pstate-step state))\n                       (and state.new (dbms-process-set! dbms name state.new)))\n    ((query  . args)   (apply pstate-query state args))))\n\n(define (process-query   p . args)   (apply p 'query args))\n(define (process-branch  p name.new) (p 'branch name.new))\n(define (process-move!   p name.new) (p 'move   name.new))\n(define (process-step!   p)          (p 'step))\n(define (process-modify! p pm)       (p 'modify pm))\n\n(define (process-merge! p ps)\n  (process-modify! p (pmod:merge (map (lambda (p) (p 'state)) ps))))\n\n(define (merge-processes name ps)\n  (when (null? ps) (error \"cannot merge empty list of processes:\" name))\n  (define p (process-branch (car ps) name))\n  (process-merge! p (cdr ps))\n  p)\n\n;; TODO:\n(define (dbms-process-ref     dbms name)\n  #f)\n\n(define (dbms-process-set!    dbms name pst)\n  (void))\n\n(define (dbms-process-add!    dbms name pst)\n  (void))\n\n(define (dbms-process-move!   dbms name.old name.new)\n  (void))\n\n(define (dbms-process-remove! dbms name pst.validation)\n  (void))\n\n(define (dbms-export!         dbms renamings path.out)\n  (void))\n\n(define (dbms-import!         dbms renamings path.in)\n  (void))\n\n(define (dbms-clean!          dbms)\n  (void))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/order.rkt",
    "content": "#lang racket/base\n(provide term.min term.max term.number.min term.number.max\n         term.symbol.min term.symbol.max term.string.min term.string.max\n         term.bytes.min term.bytes.max term.pair.min term.pair.max\n         term.vector.min term.vector.max\n         (struct-out bounds) bounds.any bounds-intersect\n         domain.any domain.null domain.number domain.symbol\n         domain.string domain.bytes domain.pair domain.vector domain.boolean\n         any-increment any-decrement finite-interval?\n         (struct-out interval)\n         type->compare compare-term compare-any compare-null compare-boolean\n         compare-nat compare-number\n         compare-bytes compare-string compare-symbol\n         compare-pair compare-list compare-array compare-tuple\n         compare-string/pos compare-suffix compare-suffix-string\n         compare-><? compare-><=?\n         term<?    term<=?\n         any<?     any<=?\n         null<?    null<=?\n         boolean<? boolean<=?\n         number<?  number<=?\n         pair<?    pair<=?\n         list<?    list<=?\n         array<?   array<=?\n         tuple<?   tuple<=?\n         string/pos<?   string/pos<=?\n         suffix<?       suffix<=?\n         suffix<string? suffix<=string?)\n(require racket/match racket/math)\n\n;; open intervals for describing infinite domains within the total order\n(struct interval (lb ub) #:prefab)\n\n(define term.min        '())\n(define term.max        #t)\n(define term.number.min term.min)\n(define term.number.max '||)\n(define term.symbol.min term.number.max)  ;; inclusive\n(define term.symbol.max \"\")\n(define term.string.min term.symbol.max)  ;; inclusive\n(define term.string.max #\"\")\n(define term.bytes.min  term.string.max)  ;; inclusive\n(define term.bytes.max  '(() . ()))\n(define term.pair.min   term.bytes.max)   ;; inclusive\n(define term.pair.max   '(#t . #t))       ;; inclusive\n(define term.vector.min '#())             ;; inclusive\n(define term.vector.max #f)\n\n(define domain.any     `#(()       ,(interval '()        #t)))\n(define domain.null    `#(()))\n(define domain.number  `#(         ,(interval '()        '||)))\n(define domain.symbol  `#(||       ,(interval '||        \"\")))\n(define domain.string  `#(\"\"       ,(interval \"\"         #\"\")))\n(define domain.bytes   `#(#\"\"      ,(interval #\"\"        '(() . ()))))\n(define domain.pair    `#((() .()) ,(interval '(() . ()) '(#t . #t)) '(#t . #t)))\n(define domain.vector  `#(#()      ,(interval '#()       #f)))\n(define domain.boolean `#(#f                             #t))\n\n(struct bounds (lb lb-inclusive? ub ub-inclusive?) #:prefab)\n(define bounds.any (bounds term.min #t term.max #t))\n\n(define (bounds-intersect x y)\n  (cond ((eq? x y) x)\n        (else (match-define (bounds lb.x lbi.x ub.x ubi.x) x)\n              (match-define (bounds lb.y lbi.y ub.y ubi.y) y)\n              (apply bounds (append (match (compare-any lb.x lb.y)\n                                      (-1 (list lb.y lbi.y))\n                                      ( 0 (list lb.x (and lbi.x lbi.y)))\n                                      ( 1 (list lb.x lbi.x)))\n                                    (match (compare-any ub.y ub.x)\n                                      (-1 (list ub.y ubi.y))\n                                      ( 0 (list ub.x (and ubi.x ubi.y)))\n                                      ( 1 (list ub.x ubi.x))))))))\n\n(define (any-increment x)\n  (define (list-increment xs)\n    (define xs.new\n      (let loop ((xs xs))\n        (if (null? xs) '()\n          (let* ((a (car xs)) (d (cdr xs)) (d.new (loop (cdr xs))))\n            (cond ((and (pair? d.new) (eq? d d.new)) xs)\n                  ((andmap null? d.new)\n                   (define a.new (if (eq? a #t) '() (any-increment a)))\n                   (if (eq? a a.new) xs (cons a.new d.new)))\n                  (else (cons a d.new)))))))\n    (cond ((null? xs.new)        '(()))\n          ((eq? xs xs.new)       xs)\n          ((andmap null? xs.new) (cons '() xs.new))\n          (else                  xs.new)))\n  (match x\n    (#f          #t)\n    ('(#t . #t)  '#())\n    (`(,a . #t)  (define a.new (any-increment a))\n                 (if (eq? a a.new) x `(,a.new . ())))\n    (`(,a . ,d)  (define d.new (any-increment d))\n                 (if (eq? d d.new) x `(,a . ,d.new)))\n    ((? vector?) (define xs (vector->list x))\n                 (define xs.new (list-increment xs))\n                 (if (eq? xs xs.new) x (list->vector xs.new)))\n    (_           x)))\n\n(define (any-decrement x)\n  (define (list-decrement xs)\n    (define xs.new\n      (let loop ((xs xs))\n        (if (null? xs) '()\n          (let* ((a (car xs)) (d (cdr xs)) (d.new (loop (cdr xs))))\n            (cond ((and (pair? d.new) (eq? d d.new)) xs)\n                  ((andmap (lambda (x) (eq? x #t)) d.new)\n                   (define a.new (if (eq? a '()) #t (any-decrement a)))\n                   (if (eq? a a.new) xs (cons a.new d.new)))\n                  (else (cons a d.new)))))))\n    (cond ((eq? xs xs.new)                         xs)\n          ((andmap (lambda (x) (eq? x #t)) xs.new) (cdr xs.new))\n          (else                                    xs.new)))\n  (match x\n    (#t          #f)\n    ('#()        '(#t . #t))\n    (`(,a . ())  (define a.new (any-decrement a))\n                 (if (eq? a a.new) x `(,a.new . #t)))\n    (`(,a . ,d)  (define d.new (any-decrement d))\n                 (if (eq? d d.new) x `(,a . ,d.new)))\n    ((? vector?) (define xs (vector->list x))\n                 (define xs.new (list-decrement xs))\n                 (if (eq? xs xs.new) x (list->vector xs.new)))\n    (_           x)))\n\n(define (finite-interval? lb ub)\n  (let loop ((lb lb) (acc '()))\n    (if (equal? lb ub)\n      (reverse (cons ub acc))\n      (let ((lb.new (any-increment lb)))\n        (and (not (equal? lb lb.new))\n             (loop lb.new (cons lb acc)))))))\n\n(define ((compare-><?  compare) a b)      (eqv? (compare a b) -1))\n(define ((compare-><=? compare) a b) (not (eqv? (compare a b)  1)))\n\n(define (compare-any a b) (compare/compares compares.any a b))\n(define (any<?  a b)      (eqv? (compare-any a b) -1))\n(define (any<=? a b) (not (eqv? (compare-any a b)  1)))\n\n(define (compare-null a b) 0)\n(define (null<?  a b)     #f)\n(define (null<=? a b)     #t)\n\n(define (compare-boolean a b)\n  (cond ((eq? a b) 0)\n        (a         1)\n        (else     -1)))\n(define (boolean<?  a b) (and b (not a)))\n(define (boolean<=? a b) (or  b (not a)))\n\n(define (compare-number a b)\n  (cond ((< a b) -1)\n        ((< b a)  1)\n        (else     0)))\n(define compare-nat compare-number)\n\n(define (number<?  a b)      (eqv? (compare-number a b) -1))\n(define (number<=? a b) (not (eqv? (compare-number a b)  1)))\n\n(define (compare-bytes a b)\n  (cond ((bytes<? a b) -1)\n        ((bytes<? b a)  1)\n        (else           0)))\n(define (compare-string a b)\n  (cond ((string<? a b) -1)\n        ((string<? b a)  1)\n        (else            0)))\n(define (compare-symbol a b)\n  (cond ((symbol<? a b) -1)\n        ((symbol<? b a)  1)\n        (else            0)))\n\n(define ((compare-pair cmp-a cmp-d) a b)\n  (let ((aa (car a)) (ba (car b)))\n    (case (cmp-a aa ba)\n      ((-1) -1)\n      (( 1)  1)\n      (else (cmp-d (cdr a) (cdr b))))))\n(define ((pair<? cmp-a cmp-d) a b)\n  (eqv? ((compare-pair cmp-a cmp-d) a b) -1))\n(define ((pair<=? cmp-a cmp-d) a b)\n  (not (eqv? ((compare-pair cmp-a cmp-d) a b) 1)))\n\n(define ((compare-list compare-element) a b)\n  (define (compare a b)\n    (cond ((null? a) (if (null? b) 0 -1))\n          ((null? b) 1)\n          (else      (compare-p a b))))\n  (define compare-p (compare-pair compare-element compare))\n  (compare a b))\n(define ((list<? compare-element) a b)\n  (eqv? ((compare-list compare-element) a b) -1))\n(define ((list<=? compare-element) a b)\n  (not (eqv? ((compare-list compare-element) a b) 1)))\n\n(define ((compare-array compare-element) a b)\n  (let ((alen (vector-length a)) (blen (vector-length b)))\n    (cond ((< alen blen) -1)\n          ((< blen alen)  1)\n          (else (let loop ((i 0))\n                  (if (= i alen) 0\n                    (let ((va (vector-ref a i)) (vb (vector-ref b i)))\n                      (case (compare-element va vb)\n                        ((-1) -1)\n                        (( 1)  1)\n                        (else (loop (+ i 1)))))))))))\n(define ((array<? compare-element) a b)\n  (eqv? ((compare-array compare-element) a b) -1))\n(define ((array<=? compare-element) a b)\n  (not (eqv? ((compare-array compare-element) a b) 1)))\n\n(define (compare-tuple cs)\n  (define compares (list->vector cs))\n  (lambda (a b)\n    (define len (vector-length compares))\n    (let loop ((i 0))\n      (if (= i len) 0\n        (let ((compare (vector-ref compares i))\n              (va (vector-ref a i)) (vb (vector-ref b i)))\n          (case (compare va vb)\n            ((-1) -1)\n            (( 1)  1)\n            (else (loop (+ i 1)))))))))\n(define ((tuple<? compares) a b)\n  (eqv? ((compare-tuple compares) a b) -1))\n(define ((tuple<=? compares) a b)\n  (not (eqv? ((compare-tuple compares) a b) 1)))\n\n(define (compare-string/pos sa ai sb bi)\n  (define alen (string-length sa))\n  (define blen (string-length sb))\n  (let loop ((ai ai) (bi bi))\n    (cond ((= alen ai) (if (= blen bi) 0 -1))\n          ((= blen bi) 1)\n          (else (let ((ca (string-ref sa ai)) (cb (string-ref sb bi)))\n                  (cond ((char<? ca cb) -1)\n                        ((char<? cb ca)  1)\n                        (else (loop (+ ai 1) (+ bi 1)))))))))\n(define (string/pos<? sa ai sb bi)\n  (eqv? (compare-string/pos sa ai sb bi) -1))\n(define (string/pos<=? sa ai sb bi)\n  (not (eqv? (compare-string/pos sa ai sb bi) 1)))\n\n(define ((compare-suffix source) a b)\n  (compare-string/pos (vector-ref source (car a)) (cdr a)\n                      (vector-ref source (car b)) (cdr b)))\n(define (((compare-suffix-string source) sb) a)\n  (compare-string/pos (vector-ref source (car a)) (cdr a)\n                      sb 0))\n\n(define ((suffix<? source) a b)\n  (eqv? ((compare-suffix source) a b) -1))\n(define ((suffix<=? source) a b)\n  (not (eqv? ((compare-suffix source) a b) 1)))\n(define (((suffix<string? source) sb) a)\n  (eqv? (((compare-suffix-string source) sb) a) -1))\n(define (((suffix<=string? source) sb) a)\n  (not (eqv? (((compare-suffix-string source) sb) a) 1)))\n\n(define (exact-number? x) (and (number? x) (exact? x)))\n\n(define (compare/compares compares a b)\n  (let loop ((i 0))\n    (let ((type?        (vector-ref compares i))\n          (compare-type (vector-ref compares (+ i 1))))\n      (cond ((type? a) (if (type? b) (compare-type a b) -1))\n            ((type? b) 1)\n            (else      (loop (+ i 2)))))))\n\n(define compares.any\n  (vector null?         compare-null\n          exact-number? compare-number\n          symbol?       compare-symbol\n          string?       compare-string\n          bytes?        compare-bytes\n          pair?         (compare-pair compare-any compare-any)\n          vector?       (compare-array compare-any)\n          boolean?      compare-boolean))\n\n(define (rvar? x) (match x (`#s(var ,_) #t) (_ #f)))\n(define (compare-rvar a b)\n  (match-define `#s(var ,id.a) a)\n  (match-define `#s(var ,id.b) b)\n  (compare-number id.a id.b))\n\n(define (compare-term a b) (compare/compares compares.term a b))\n(define (term<?  a b)      (eqv? (compare-term a b) -1))\n(define (term<=? a b) (not (eqv? (compare-term a b)  1)))\n(define compares.term\n  (vector rvar?         compare-rvar\n          null?         compare-null\n          exact-number? compare-number\n          symbol?       compare-symbol\n          string?       compare-string\n          bytes?        compare-bytes\n          pair?         (compare-pair compare-term compare-term)\n          vector?       (compare-array compare-term)\n          boolean?      compare-boolean))\n\n(define (type->compare type)\n  (match type\n    (#f                         compare-any)\n    ((or 'nat    `#(nat    ,_)) compare-nat)\n    ((or 'string `#(string ,_)) compare-string)\n    ((or 'symbol `#(symbol ,_)) compare-symbol)\n    ((or 'bytes  `#(bytes  ,_)) compare-bytes)\n    (`#(suffix ,source)         (compare-suffix source))\n    (`#(tuple ,@ts)             (compare-tuple (map type->compare ts)))\n    (`(,ta . ,td)               (compare-pair (type->compare ta)\n                                              (type->compare td)))\n    ('array                     (compare-array compare-any))\n    (`#(array ,_ ,t)            (compare-array (type->compare t)))\n    ('list                      (compare-list compare-any))\n    (`#(list ,_ ,t)             (compare-list (type->compare t)))\n    ('number                    compare-number)\n    ((or 'true 'false '())      compare-null)))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/semantics.rkt",
    "content": "#lang racket/base\n(provide simplify-program factor-program)\n(require racket/list racket/match racket/set)\n\n;; TODO: lift quantifiers to top of relation definition (or query) formula\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Grammar\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Program parts\n;(define (R Ns) Fs)\n;(query  Ns     Fs)\n\n;; Formulas F\n;(relate R Ts)\n;(not    F)\n;(and    Fs)\n;(or     Fs)\n;(imply  F F)\n;(iff    Fs)\n;(exist  Ns F)\n;(all    Ns F)\n\n;; Terms T\n;(quote C)\n;(var   N)\n;(app   Func Ts)\n\n(define (quote?      t) (eq? (car t) 'quote))\n(define (quote-value t) (cadr t))\n\n(define (var      n) `(var ,n))\n(define (var?     t) (eq? (car t) 'var))\n(define (var-name t) (cadr t))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Simplification\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; - classical transformations:\n;;   - `(not (not F))  ==> F`\n;;   - `(iff P Q)      ==> (or (and P Q) (and (not P) (not Q)))`\n;;   - `(imply P Q)    ==> (not (and P (not Q)))`\n;;   - `(all X F)      ==> (not (exist X (not F)))`\n\n;; - constructive/minimal transformations:\n;;   - `(not (not (not F))) ==> (not F)`\n;;   - `(not (or P Q))      ==> (and (not P) (not Q))`\n;;   - `(iff P Q)           ==> (and (imply P Q) (imply Q P))`\n;;   - `(imply P (not Q))   ==> (not (and P Q))`\n;;   - `(all X (not F))     ==> (not (exist X F))`\n\n;; - primitive transformations:\n;;   - `(not (==    A B)) ==> (=/=   A B)`\n;;   - `(not (=/=   A B)) ==> (==    A B)`\n;;   - `(not (any<= A B)) ==> (any<  B A)`\n;;   - `(not (any<  A B)) ==> (any<= B A)`\n\n(define (simplify-program full? parts)\n  (map (lambda (part)\n         (match part\n           (`(define (,r . ,params) ,f) `(define (,r . ,params) ,(simplify-formula full? f)))\n           (`(query  ,params        ,f) `(query  ,params        ,(simplify-formula full? f)))))\n       parts))\n\n(define (simplify-formula full? formula)  ; currently applying classical transformations\n  (define (loop/not f)\n    (match f\n      (`(relate      ,r ,@ts)    (let ((ts (map simplify-term ts)))\n                                   (define (k r ts) `(relate ,r . ,ts))\n                                   (match r\n                                     ('==           (k '=/=            ts))\n                                     ('=/=          (k '==             ts))\n                                     ('any<=        (k 'any<  (reverse ts)))\n                                     ('any<         (k 'any<= (reverse ts)))\n                                     (_      `(not ,(k r               ts))))))\n      (`(all         ,params ,f)      `(exist ,params ,(loop/not f)))\n      (`(exist       ,params ,f) `(not (exist ,params ,(loop     f))))\n      (`(not         ,f)         (loop f))\n      (`(and         ,@fs)       `(not (and . ,(map loop fs))))\n      (`(or          ,@fs)       `(and . ,(map loop/not fs)))\n      (`(iff         ,@fs)       (if full? ; defer iff transformation until after factoring, for efficiency\n                                   (loop/not `(or (and . ,fs)\n                                                  (and . ,(map (lambda (f) `(not ,f)) fs))))\n                                   `(not (iff . ,(map loop fs)))))\n      (`(imply       ,p ,q)      (loop/not `(not (and ,p (not ,q)))))))\n  (define (loop f)\n    (match f\n      (`(relate      ,r ,@ts)    `(relate ,r . ,(map simplify-term ts)))\n      (`(all         ,params ,f) `(not (exist ,params ,(loop/not f))))\n      (`(exist       ,params ,f)      `(exist ,params ,(loop     f)))\n      (`(not         ,f)         (loop/not f))\n      (`(and         ,@fs)       `(and . ,(map loop fs)))\n      (`(or          ,@fs)       `(or  . ,(map loop fs)))\n      (`(iff         ,@fs)       (if full? ; defer iff transformation until after factoring, for efficiency\n                                   (loop `(or (and . ,fs)\n                                              (and . ,(map (lambda (f) `(not ,f)) fs))))\n                                   `(iff . ,(map loop fs))))\n      (`(imply       ,p ,q)      (loop `(not (and ,p (not ,q)))))))\n  (loop formula))\n\n(define (simplify-term term)\n  (match term\n    (`(app ,func ,@ts)\n      (match (cons func (map simplify-term ts))\n        (`(cons         (quote ,a) (quote ,d))                                  `(quote ,(cons a d)))\n        (`(vector       . ,(? (lambda (ts) (andmap quote? ts)) ts))             `(quote ,(list->vector (map quote-value ts))))\n        (`(list->vector ,(? quote? (? (lambda (t) (list? (quote-value t))) t))) `(quote ,(list->vector (quote-value t))))\n        (`(,_           . ,ts) `(app ,func . ,ts))))\n    (_ term)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Program factoring via definition introduction\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (factor-program parts)\n  (factor-locally\n    (define factored (map (lambda (part)\n                            (match part\n                              (`(define (,r . ,params) ,f) `(define (,r . ,params) ,(factor-formula f)))\n                              (`(query  ,params        ,f) `(query  ,params                   ,(factor-formula f)))))\n                          parts))\n    (define new      (map (lambda (f&r)\n                            (match-define (cons f `(relate ,r . ,vs)) f&r)\n                            `(define (,r . ,(map (lambda (v) (match-define `(var ,name) v) name) vs)) ,f))\n                          (sort (hash->list (formula=>relate))\n                                (lambda (kv.a kv.b)\n                                  (define (kv-r kv) (cadr (caddr kv)))\n                                  (< (kv-r kv.a) (kv-r kv.b))))))\n    (append new factored)))\n\n(define (factor-formula formula)\n  (define (replace f) (rename-locally\n                        (formula-unrename-variables (formula->relate (formula-rename-variables f)))))\n  (match formula\n    (`(relate                             ,r ,@ts)    (define f.new `(relate ,r . ,ts))\n                                                      (if (foldl (lambda (t seen) (and seen (var? t) (not (set-member? seen (var-name t)))\n                                                                                       (set-add seen (var-name t))))\n                                                                 (set) ts)\n                                                        f.new\n                                                        (replace f.new)))\n    (`(,(and (or 'exist 'all) quantifier) ,params ,f) (replace `(,quantifier ,params ,(factor-formula f))))\n    (`(,connective                        ,@fs)       (replace `(,connective . ,(map factor-formula fs))))))\n\n(define-syntax-rule (factor-locally body ...) (parameterize ((formula=>relate (hash))) body ...))\n\n(define formula=>relate (make-parameter #f))\n\n(define (formula->relate f)\n  (define f=>r (formula=>relate))\n  (or (hash-ref f=>r f #f)\n      (let* ((count (hash-count f=>r))\n             (r     `(relate (new ,count) . ,(map var (remove-duplicates (formula-free-names f))))))\n        (formula=>relate (hash-set f=>r f r))\n        r)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Variable manipulation\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (term-free-names t)\n  (match t\n    (`(quote ,_)         '())\n    (`(var   ,name)      (list name))\n    (`(app   ,func ,@ts) (append* (map term-free-names ts)))))\n\n(define (formula-free-names f)\n  (match f\n    (`(relate            ,r ,@ts)    (append* (map term-free-names ts)))\n    (`(,(or 'exist 'all) ,params ,f) (define bound (list->set params))\n                                     (filter-not (lambda (n) (set-member? bound n))\n                                                 (formula-free-names f)))\n    (`(,connective       ,@fs)       (append* (map formula-free-names fs)))))\n\n(define (order-parameters params ordered-names)\n  (let loop ((ordered-names ordered-names) (params (list->set params)))\n    (match ordered-names\n      ('()                       '())\n      ((cons name ordered-names) (if (set-member? params name)\n                                   (cons name (loop ordered-names (set-remove params name)))\n                                   (loop ordered-names params))))))\n\n(define-syntax-rule (rename-locally body ...) (parameterize ((name=>renamed (hash))\n                                                             (renamed=>name (hash)))\n                                                body ...))\n\n(define name=>renamed (make-parameter #f))\n(define renamed=>name (make-parameter #f))\n\n(define (rename name)\n  (define n=>n (name=>renamed))\n  (or (hash-ref n=>n name #f)\n      (let ((count (hash-count n=>n)))\n        (name=>renamed (hash-set n=>n name count))\n        (renamed=>name (hash-set (renamed=>name) count name))\n        count)))\n\n(define (unrename name) (hash-ref (renamed=>name) name))\n\n(define (term-rename-variables term)\n  (match term\n    (`(quote ,_)       term)\n    (`(var ,name)      `(var ,(rename name)))\n    (`(app ,func ,@ts) `(app ,func . ,(map term-rename-variables ts)))))\n\n(define (term-unrename-variables term)\n  (match term\n    (`(quote ,_)       term)\n    (`(var ,name)      `(var ,(unrename name)))\n    (`(app ,func ,@ts) `(app ,func . ,(map term-unrename-variables ts)))))\n\n(define (formula-rename-variables formula)\n  (match formula\n    (`(relate                             ,r ,@ts)    `(relate      ,r . ,(map term-rename-variables ts)))\n    (`(,(and (or 'exist 'all) quantifier) ,params ,f) (define free-names (formula-free-names f))\n                                                      (for-each rename free-names)  ; allocate free names before bound names for readability\n                                                      `(,quantifier ,(map rename (order-parameters params free-names))\n                                                                    ,(formula-rename-variables f)))\n    (`(,connective                        ,@fs)       `(,connective . ,(map formula-rename-variables fs)))))\n\n(define (formula-unrename-variables formula)\n  (match formula\n    (`(relate                             ,r ,@ts)    `(relate      ,r . ,(map term-unrename-variables ts)))\n    (`(,(and (or 'exist 'all) quantifier) ,params ,f) `(,quantifier ,(map unrename params)\n                                                                    ,(formula-unrename-variables f)))\n    (`(,connective                        ,@fs)       `(,connective . ,(map formula-unrename-variables fs)))))\n\n\n;; TODO: before continuing, design data model with dataflow language for planning\n\n;; Implementation phases:\n;; - basic datalog\n;;   - only these features\n;;     - and (expressing joins)\n;;     - or  (expressing unions)\n;;     - ==, limited such that relations over == describe finite tables\n;;       - (== constant constant) can be simplified out\n;;         - could be a table with zero columns and either one or zero rows\n;;       - (== var constant) is a table with a single row and column\n;;       - no (== var1 var2) for now\n;;     - recursive relations defined by least fixed point\n;;   - no partial eval yet\n;;   - none of these yet\n;;     - not =/= < <= cons vector\n;; - TODO: describe subsequent phases in order of increasing complexity\n\n;; Compilation steps:\n;; - parse\n;; - simplify without serious inlining\n;; - introduce shared/factored definitions for remaining code\n;;   - one goal of factoring is to provide worker/wrapper separation for non-explosive inlining\n;; - simplify with more serious inlining\n;; - infer modes and [pre-]plan\n;; - generate mode/plan-specialized code\n\n;; Predictable simplification and inlining / partial eval\n;; - ideas from macro writer's bill of rights:\n;;   - the original list:\n;;     - introduce let & lambda\n;;     - ignore special cases involving constants\n;;     - ignore degenerate cases resulting in dead/useless code\n;; - local simplification\n;;   - a single-branch disjunction extends the context directly\n;;   - a multi-branch disjunction extends the context with the lattice-join of its branches\n;;   - disjunction branches that always fail in the given context should be pruned\n;;     - perform only one (left-to-right? or mode-specific?) pass to guarantee O(N) runtime\n;;       - well, it may make sense to perform two passes, where the first simplification makes it\n;;         easier to order constraints for an effective second pass\n;;       - do not compute the potentially non-linear pruning fixed point when the context is extended\n;;       - can have a separate optimization mode to compute the fixed point of such pruning\n;;   - limited inter-disjunction simplification\n;;     - fuse disjunctions when their branches can be joined at most one-to-one (i.e., no explosion)\n;;     - disjunctions should *NOT* be cross-joined/DNFed in general\n;;       - will quickly explode code size\n;;       - can have a separate optimization mode to attempt general cross-disjunction simplification\n;; - table-ification of table-like disjunctions\n;;   - table-like means a disjunction of uniform (same variable structure) conjunctions of equality constraints\n;; - inlining\n;;   - inline calls to non-recursive relations that are small enough\n;;   - inline calls to other relations based on analysis of how they are called\n;;     - inline calls with known arguments that can lead to significant simplification\n;;     - bottom-up analysis of how relation parameters are used\n;;       - knowing the shape of a parameter may eliminate many disjunction branches\n;;       - the relation may be structurally recursive on a subset of parameters\n;;       - a parameter may not be scrutinized at all, i.e., it may be invariant\n\n;; Factored relation definitions:\n;; - a simple-relate is a call to a user-defined relation where all arguments are distinct variables\n;; - a simple-cx is any of these:\n;;   - a simple-relate\n;;   - any call to a primitive constraint such as ==, =/=, <, <=\n;; - post-factoring relation definition types:\n;;   - single call to a relation with specialized arguments\n;;     - some arguments are either partially known (not variables), or use the same variable more than once\n;;   - conjunction of simple-cxs\n;;   - disjunction of simple-cxs\n;;   - negation of a simple-relate (not a simple-cx)\n;;   - quantification of a simple-relate (not a simple-cx)\n\n;; Notes and ideas on satisfiability:\n;; - a conjunction including at most one disjunction is satisfiable if one disjunct is satisfiable\n;; - for a conjunction including two or more disjunctions, satisfiability is only guaranteed via flattening into a single disjunction, where one disjunct is satisfiable\n;;   - possible to flatten by joining:\n;;     - disjunct-wise (always)\n;;     - or variable-wise (only for variables that are constrained in every disjunct in all disjunctions currently being combined)\n;;       - degenerate case: every disjunct applies the same constraint (however, possible to factor out this constraint due to being shared)\n;;   - this search for a single satisfiable flattened disjunct may be arbitrarily expensive (may be searching for a needle in a haystack)\n;;   - approaches that may be more tractable:\n;;     - two-watched disjunctions:\n;;       - each disjunction maintains two disjuncts that are locally satisfiable, along with a list of remaining disjuncts that haven't been tested yet\n;;       - if either of these watched disjuncts becomes unsatisfiable, find another from the untested list, pruning any that fail\n;;       - if only one satisfiable disjunct remains, it is promoted as an absolute part of the outer conjunction, used when filtering the other disjunctions\n;;     - learning absolute/shared constraints across all disjuncts in a disjunction:\n;;       - take the lattice join (analogous to an intersection across constraints) to find constraints that all disjuncts agree on\n;;       - e.g. `(disj (== x (cons A B)) (== x (cons C B))) ==> (conj (fresh (D) (== x (cons D B))) (disj (== x (cons A B)) (== x (cons C B))))`\n;;         - simplified: `(fresh (D) (conj (== x (cons D B)) (disj (== D A) (== D C))))`\n;;     - subsumption\n;;       - for each disjunct, starting with the smallest (least constrained), discard any other disjuncts that strictly include its constraints\n;;     - variable-wise factoring of an individual disjunction\n;;       - similar to variable-wise flattening, but without joining, instead building a new disjunction that looks like a decision tree\n;;       - for each variable (often starting with the most constrained) that is constrained by every disjunct, bisect on a constraint choice (recursively)\n;; - may unfold all relation calls except when doing so may lead to looping/redundancy\n;;   - disjunctions annotated with procedure history stack, to recognize recursive calls\n;;     - different history information granularities for different termination measures\n;;       - e.g.,\n;;         - no calls at all (least permissive, but no inlining achieved)\n;;         - or no recursive calls (least permissive while still performing some inlining)\n;;         - or no non-structural recursive calls (most permissive w/ guaranteed termination without programmer assistance)\n;;         - or no non-decreasing recursive calls according to programmer-defined measure (most permissive w/ guaranteed termination)\n;;         - any call is fine (most permissive, but no termination guarantees)\n\n;; How to handle the non-datalog subset of computation:\n\n;(struct store (var=>shape id=>cx) #:prefab)\n;; - each constraint in id=>cx is a CNF formula\n;;   - may include calls to user-defined relations that have not yet been unfolded\n;;   - its id is associated with the shape of all mentioned variables\n;; - a shape is either a t:quote, a t:cons, a t:vector, or a vcx\n;; - for implementation simplicity, avoid more complicated variable-specific indexing schemes for now\n;; - when a new constraint is inserted, apply simplification rules for any interacting variables\n;; - when a variable shape is updated, apply simplification rules for any interacting cxs\n;; - search for variable assignments that satisfy all cxs in id=>cx\n;;   - for constraints participating in satisfaction:\n;;     - run datalog sub-queries if possible\n;;     - otherwise, unfold any calls to relations\n\n;(struct vcx (lb ub cx-ids) #:prefab)\n;; each of lb and ub is an interval endpoint, and either may be open or closed\n;; cx-ids is a set of ids for the cxs that this variable interacts with\n"
  },
  {
    "path": "medikanren2/dbk/dbk/stream.rkt",
    "content": "#lang racket/base\n(provide s-next s-force s-split s-drop\n         s-take/set/steps s-take/set s-take/steps s-take\n         s-each s-foldr s-foldl s-scan\n         s-append/interleaving s-append*/interleaving\n         s-append s-append* s-map/append s-map s-filter s-group s-memo s-lazy\n         s-length s-enumerate s-dedup s-skip s-limit\n         s->list list->s)\n(require racket/function racket/match racket/set)\n\n(define (s-next  s) (if (procedure? s)          (s)  s))\n(define (s-force s) (if (procedure? s) (s-force (s)) s))\n\n;; lazy variant of s-drop\n(define (s-skip n s)\n  (cond ((= n 0)   s)\n        ((pair? s) (s-skip (- n 1) (cdr s)))\n        (else      (thunk (s-skip n (s))))))\n;; lazy variant of s-take\n(define (s-limit n s)\n  (cond ((or (= n 0) (null? s)) '())\n        ((pair? s)              (cons (car s) (s-limit (- n 1) (cdr s))))\n        (else                   (thunk (s-limit n (s))))))\n\n(define (s-split n s)\n  (match-define (cons rxs s.remaining) (s-foldl n cons '() s))\n  (cons (reverse rxs) s.remaining))\n\n(define (s-take/set/steps steps n s)\n  (if (and n (= n 0)) (set)\n    (let loop ((steps steps) (s s) (acc (set)))\n      (match s\n        ((? procedure? s) (if (and steps (= steps 0))\n                            acc\n                            (loop (and steps (- steps 1)) (s) acc)))\n        ('()              acc)\n        ((cons x s)       (define xs (set-add acc x))\n                          (if (and n (= n (set-count xs)))\n                            xs\n                            (loop steps s xs)))))))\n\n(define (s-take/steps steps n s)\n  (if (and n (= n 0)) '()\n    (match s\n      ((? procedure? s) (if (and steps (= steps 0))\n                          '()\n                          (s-take/steps (and steps (- steps 1)) n (s))))\n      ('()              '())\n      ((cons x s)       (cons x (s-take/steps steps (and n (- n 1)) s))))))\n\n(define (s-take/set n s) (s-take/set/steps #f n s))\n(define (s-take     n s) (s-take/steps #f n s))\n(define (s-drop     n s) (cdr (s-foldl n (lambda (_ acc) #t) #t s)))\n\n;; equivalent to (s-take #f s)\n(define (s->list s)\n  (cond ((null? s) '())\n        ((pair? s) (cons (car s) (s->list (cdr s))))\n        (else      (s->list (s)))))\n;; equivalent to s-lazy for a list\n(define (list->s xs)\n  (thunk (if (null? xs)\n           '()\n           (cons (car xs) (list->s (cdr xs))))))\n\n;; TODO: generalize to multiple streams\n(define (s-foldr f acc s)\n  (cond ((null? s) acc)\n        ((pair? s) (f (car s) (s-foldr f acc (cdr s))))\n        (else      (thunk (s-foldr f acc (s))))))\n\n(define (s-append*/interleaving s*) (s-foldr s-append/interleaving '() s*))\n;; TODO: generalize to multiple streams\n(define (s-append/interleaving s1 s2)\n  (cond ((null?      s1) (s2))\n        ((procedure? s1) (thunk (s-append/interleaving (s2) s1)))\n        (else (define d1  (cdr s1))\n              (define s1^ (if (procedure? d1) d1 (thunk d1)))\n              (cons (car s1) (thunk (s-append/interleaving (s2) s1^))))))\n\n(define (s-append* ss) (s-foldr s-append '() ss))\n;; TODO: generalize to multiple streams\n(define (s-append a b) (s-foldr cons b a))\n(define (s-filter ? s) (s-foldr (lambda (x acc) (if (? x) (cons x acc) acc))\n                                '() s))\n\n(define (s-map f s . ss)\n  (cond ((null? s) '())\n        ((pair? s) (let loop ((ss-pending ss) (rss '()))\n                     (if (null? ss-pending)\n                       (let ((ss (reverse rss)))\n                         (cons (apply f (car s) (map car ss))\n                               (apply s-map f (cdr s) (map cdr ss))))\n                       (let next ((ss0 (car ss-pending)))\n                         (if (procedure? ss0) (thunk (next (ss0)))\n                           (loop (cdr ss-pending) (cons ss0 rss)))))))\n        (else      (thunk (apply s-map f (s) ss)))))\n\n;; TODO: generalize to multiple streams\n(define (s-map/append f s)\n  (s-foldr (lambda (x rest) (s-append (f x) rest))\n           '() s))\n\n(define (s-each p s) (let ((s (s-force s)))\n                       (unless (null? s) (p (car s)) (s-each p (cdr s)))))\n\n(define (s-foldl n f acc s)\n  (if (and n (= n 0)) (cons acc s)\n    (let ((s (s-force s)))\n      (if (null? s) (list acc)\n        (s-foldl (and n (- n 1)) f (f (car s) acc) (cdr s))))))\n\n(define (s-scan s acc f)\n  (cons acc (cond ((null? s) '())\n                  ((pair? s) (s-scan (cdr s) (f (car s) acc) f))\n                  (else      (thunk (s-scan (s) acc f))))))\n\n(define (s-length s) (let loop ((s s) (l 0))\n                       (cond ((null? s) l)\n                             ((procedure? s) (loop (s) l))\n                             (else (loop (cdr s) (+ l 1))))))\n\n(define (s-group s ? @)\n  (let ((@ (or @ (lambda (x) x))))\n    (cond ((null? s)      '())\n          ((procedure? s) (thunk (s-group (s) ? @)))\n          (else (let next ((x (@ (car s))) (s s))\n                  (let loop ((g (list (car s))) (s (cdr s)))\n                    (cond ((null? s)      (list g))\n                          ((procedure? s) (thunk (loop g (s))))\n                          (else (let ((y (@ (car s))))\n                                  (if (? y x) (loop (cons (car s) g) (cdr s))\n                                    (cons g (next y s))))))))))))\n\n(define (s-memo s)\n  (cond ((procedure? s) (let ((v #f) (s s))\n                          (thunk (when s (set! v (s-memo (s))) (set! s #f))\n                                 v)))\n        ((null? s)      '())\n        (else           (cons (car s) (s-memo (cdr s))))))\n\n(define (s-lazy s)\n  (define (return s)\n    (cond ((null? s) '())\n          (else      (cons (car s) (s-lazy (cdr s))))))\n  (thunk (cond ((procedure? s) (let retry ((s (s)))\n                                 (cond ((procedure? s) (thunk (retry (s))))\n                                       (else           (return s)))))\n               (else           (return s)))))\n\n(define (s-enumerate i s)\n  (cond ((null? s) '())\n        ((pair? s) (cons (cons i (car s)) (s-enumerate (+ i 1) (cdr s))))\n        (else      (thunk                 (s-enumerate i           (s))))))\n\n;; NOTE: only adjacent duplicates are removed\n(define (s-dedup s)\n  (define (loop x s)\n    (cond ((null? s) (list x))\n          ((pair? s) (if (equal? x (car s)) (loop x (cdr s))\n                       (cons x (loop (car s) (cdr s)))))\n          (else      (thunk (loop x (s))))))\n  (cond ((null? s) '())\n        ((pair? s) (loop (car s) (cdr s)))\n        (else      (thunk (s-dedup (s))))))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/syntax.rkt",
    "content": "#lang racket/base\n(provide\n  (struct-out make-query)\n  (struct-out disj)\n  (struct-out conj)\n  (struct-out constrain)\n  (struct-out ==/use)\n  (struct-out var)\n  (struct-out term/vars)\n  relate\n\n  make-relation relations relations-ref relations-set! relations-set*!\n  relation letrec-relation define-relation\n  conj* disj* fresh conde :== query\n  == =/= any<=o flooro +o *o string==byteso symbol==stringo functiono\n  vector-lengtho vector-refo bytes-lengtho bytes-refo\n\n  ground? term-vars\n  make-pretty pretty)\n(require racket/match racket/set racket/vector)\n\n(struct query     (term formula)                #:prefab #:name make-query\n                                                #:constructor-name make-query)\n;; formulas\n(struct disj      (f1 f2)                       #:prefab)\n(struct conj      (f1 f2)                       #:prefab)\n(struct constrain (op terms)                    #:prefab)\n(struct ==/use    (lhs-term args rhs-proc desc) #:prefab)\n;; terms\n; term: pair or vector with embedded variables\n; vars: optional; set of variables found somewhere within term\n(struct term/vars (term vars))\n(struct var       (name))\n\n(define-syntax define-constraint\n  (syntax-rules ()\n    ((_ (op params ...)) (define (op params ...)\n                           (constrain 'op (list params ...))))))\n(define-constraint (==              t1 t2))\n(define-constraint (=/=             t1 t2))\n(define-constraint (any<=o          t1 t2))\n(define-constraint (flooro          t1 t2))\n(define-constraint (+o              t1 t2 t3))\n(define-constraint (*o              t1 t2 t3))\n(define-constraint (vector-lengtho  t l))\n(define-constraint (vector-refo     t i x))\n(define-constraint (bytes-lengtho   t l))\n(define-constraint (bytes-refo      t i x))\n(define-constraint (symbol==stringo t1 t2))\n(define-constraint (string==byteso  t1 t2))  ;; as utf-8\n(define-constraint (functiono       t1 t2))  ;; uninterpreted functional dependency\n(define (relate proc args) (constrain proc args))\n\n(define relation-registry          (make-weak-hasheq '()))\n(define (relations)                (hash->list relation-registry))\n(define (relations-ref   proc)     (hash-ref relation-registry proc))\n(define (relations-set!  proc k v) (relations-set*! proc `((,k . ,v))))\n(define (relations-set*! proc alist)\n  (hash-set! relation-registry proc\n             (foldl (lambda (kv acc) (hash-set acc (car kv) (cdr kv)))\n                    (relations-ref proc) alist)))\n(define (make-relation name attributes)\n  (define n ((make-syntax-introducer) (datum->syntax #f name)))\n  (define r (eval-syntax #`(letrec ((#,n (lambda args (relate #,n args))))\n                             #,n)))\n  (hash-set! relation-registry r (make-immutable-hash\n                                   `((name            . ,name)\n                                     (attribute-names . ,attributes))))\n  r)\n\n(define-syntax relation\n  (syntax-rules ()\n    ((_ name (param ...) f ...)\n     (let ((r (make-relation 'name '(param ...))))\n       (relations-set! r 'expand (lambda (param ...) (fresh () f ...)))\n       r))))\n(define-syntax letrec-relation\n  (syntax-rules ()\n    ((_ (((name param ...) f ...) ...) body ...)\n     (letrec ((name (relation name (param ...) f ...)) ...) body ...))))\n(define-syntax define-relation\n  (syntax-rules ()\n    ((_ (name param ...) f ...)\n     (define name (relation name (param ...) f ...)))))\n(define success (== #t #t))\n(define failure (== #f #t))\n(define (conj* . fs)\n  (if (null? fs) success\n    (foldl (lambda (f2 f1) (conj f1 f2)) (car fs) (cdr fs))))\n(define (disj* . fs)\n  (if (null? fs) failure\n    (let loop ((f (car fs)) (fs (cdr fs)))\n      (if (null? fs) f\n        (disj f (loop (car fs) (cdr fs)))))))\n(define-syntax let/fresh\n  (syntax-rules ()\n    ((_ (x ...) e ...) (let ((x (var 'x)) ...) e ...))))\n(define-syntax fresh\n  (syntax-rules ()\n    ((_ (x ...) f0 fs ...) (let/fresh (x ...) (conj* f0 fs ...)))))\n(define-syntax conde\n  (syntax-rules ()\n    ((_ (f fs ...) (h hs ...) ...)\n     (disj* (conj* f fs ...) (conj* h hs ...) ...))))\n(define-syntax :==\n  (syntax-rules ()\n    ((_ t (x ...) body ...) (==/use t (list x ...) (lambda (x ...) body ...)\n                                    `((x ...) body ...)))))\n(define-syntax query\n  (syntax-rules ()\n    ((_ (x ...) f0 fs ...)\n     (let/fresh (x ...) (make-query (list x ...) (conj* f0 fs ...))))\n    ((_ x       f0 fs ...)\n     (let/fresh (x)     (make-query x            (conj* f0 fs ...))))))\n\n(define seteq.empty (seteq))\n(define (term-vars t)\n  (cond ((var?    t) (seteq t))\n        ((pair?   t) (set-union (term-vars (car t)) (term-vars (cdr t))))\n        ((vector? t) (apply set-union seteq.empty (map term-vars (vector->list t))))\n        (else        seteq.empty)))\n(define (ground? t)\n  (cond ((var?    t) #f)\n        ((pair?   t) (and (ground? (car t)) (ground? (cdr t))))\n        ((vector? t) (andmap ground? (vector->list t)))\n        (else        #t)))\n\n(define (make-pretty)\n  (define var=>id (make-hash))\n  (define (pretty-term t)\n    (cond ((pair? t)   (cons (pretty-term (car t)) (pretty-term (cdr t))))\n          ((vector? t) (vector-map pretty-term t))\n          ((var? t)    `#s(var ,(let ((id (hash-ref   var=>id t #f))\n                                      (c  (hash-count var=>id)))\n                                  (or id (begin (hash-set! var=>id t c) c)))))\n          (else        (pretty-formula t))))\n  (define (pretty-formula f)\n    (match f\n      (`#s(disj ,f1 ,f2)         `#s(disj ,(pretty-formula f1)\n                                          ,(pretty-formula f2)))\n      (`#s(conj ,f1 ,f2)         `#s(conj ,(pretty-formula f1)\n                                          ,(pretty-formula f2)))\n      (`#s(constrain ,op ,terms) `(,op . ,(map pretty-term terms)))\n      (`#s(==/use ,lhs ,args ,rhs ,desc)\n        (define (pretty-arg t) (pretty-term t))\n        `(:== ,(pretty-term lhs)\n              #s(let ,(map list (car desc) (map pretty-arg args))\n                  ,@(cdr desc))))\n      (_ f)))\n  (lambda (x)\n    (match x\n      (`#s(query ,t ,f)\n        `#s(query ,(pretty-term t) ,(pretty-formula f)))\n      (_ (if (or (disj? x) (conj? x) (constrain? x) (==/use? x))\n           (pretty-formula x) (pretty-term x))))))\n(define (pretty x) ((make-pretty) x))\n"
  },
  {
    "path": "medikanren2/dbk/dbk/table.rkt",
    "content": "#lang racket/base\n(provide materialization value/syntax\n         (struct-out statistics) statistics-intersect\n         vector-table? encoder s-encode s-decode)\n(require \"codec.rkt\" \"config.rkt\" \"dsv.rkt\" \"misc.rkt\" \"order.rkt\" \"stream.rkt\"\n         racket/file racket/function racket/hash racket/list racket/match\n         racket/pretty racket/set racket/vector)\n\n(define (s-encode out type s) (s-each (lambda (v) (encode out type v)) s))\n(define (s-decode in type)\n  (thunk (let loop () (if (eof-object? (peek-byte in)) '()\n                        (cons (decode in type) (thunk (loop)))))))\n\n(define (encoder out type) (method-lambda ((put! v) (encode out type v))\n                                          ((close) (flush-output out))))\n\n(struct statistics (ratio cardinality) #:prefab)\n(define (statistics-intersect a b)\n  (match-define (statistics r.a c.a) a)\n  (match-define (statistics r.b c.b) b)\n  (statistics (min r.a r.b) (min c.a c.b)))\n\n;; TODO: can we simplify by virtually separating bisecting tries from random-access tries?\n;;       technically each prefix of a trie has either bisecting or random-access behavior\n;; virtualized tries can subsume each other when making progress: a kind of exclusive-or trie\n;; - exclusive-or (for grouping with subsumption)\n;; - random-access/position-key (each column value is a table position)\n;; - bisect-key                 (each column value has a unique entry)\n;; - bisect-multi               (each column value may have multiple entries)\n;(define (trie:xor ))\n;; TODO: this one is for monotone dependencies (grouping without subsumption)\n;(define (trie:or ))\n;; TODO: there could be tabular and columnar varieties of these\n;(define (trie:position-key ))\n;(define (trie:bisect-key ))\n;(define (trie:bisect-multi ))\n\n;; TODO: support multiple sorted columns using tables that share key columns\n;;       (wait until column-oriented tables are implemented for simplicity?)\n\n(define ((table ix-thunks))\n  (define ixs (map (lambda (thunk.ix) (thunk.ix)) ix-thunks))\n  (and (not (ormap not ixs))\n       (let table ((ixs         (filter (lambda (ix) (not (ix 'done?))) ixs))\n                   (col=>bounds (foldl (lambda (ix c=>b)\n                                         (hash-union c=>b (ix 'bounds)\n                                                     ;; TODO: verify no errors during testing.\n                                                     ;;       Should be able to replace this with:\n                                                     ;;       #:combine (lambda (b.0 b.1) b.0)\n                                                     #:combine/key\n                                                     (lambda (k b.0 b.1)\n                                                       (if (equal? b.0 b.1)\n                                                         b.0\n                                                         (error \"incompatible initial bounds:\" k b.0 b.1)))))\n                                       (hash) ixs)))\n         (method-lambda\n           ((done?)      (null? ixs))\n           ((bounds)     col=>bounds)\n           ((statistics) (apply hash-union (hash)\n                                (map (lambda (ix) (ix 'statistics)) ixs)\n                                #:combine statistics-intersect))\n           ((update cbs)\n            (let loop ((c=>b (foldl (lambda (cb c=>b) (hash-set c=>b (car cb) (cdr cb)))\n                                    col=>bounds cbs))\n                       (ixs.pending ixs)\n                       (ixs.updated '()))\n              (if (null? ixs.pending)\n                (table (reverse ixs.updated) c=>b)\n                (let*/and ((ix.new ((car ixs.pending) 'update c=>b))\n                           (c=>b   (hash-union c=>b (ix.new 'bounds)\n                                               #:combine (lambda (v.0 v.1) v.1))))\n                  (cond ((not (ix.new 'done?)) (loop c=>b (cdr ixs.pending) (cons ix.new ixs.updated)))\n                        ((not (ix.new 'full?)) (loop c=>b (cdr ixs.pending)              ixs.updated))\n                        (else                  (table '() c=>b)))))))))))\n\n;; TODO: reorganize to implement dicts and sets\n;; - sets can be thought of as dicts with empty value\n;; - could use same representation both for relations and for terms of these types\n;; - in terms of btrees, tries\n;; - possibly also hash tables for small cardinalities\n;; - consider manipulating low-level memory buffers via FFI\n\n;; TODO: define a finite-map that is only referenceable by key and immediately provides a single instance\n;;       of all columns (because the other columns are not sorted/deduped without the key)\n\n;; TODO: this should be called trie:row-major\n(define (tabular-trie vref key-column nonkey-columns types row-count)\n  (define (ref mask i)          (vector-ref (vref i) mask))\n  (define ((make-i<  mask v) i) (any<?  (ref mask i) v))\n  (define ((make-i<= mask v) i) (any<=? (ref mask i) v))\n  (define ((make-i>  mask v) i) (any<?  v (ref mask i)))\n  (define ((make-i>= mask v) i) (any<=? v (ref mask i)))\n  (define (update/pending c=>b.new cols.pending col=>bounds mask start end)\n    (define c.next    (car cols.pending))\n    (define b.current (hash-ref col=>bounds c.next bounds.any))\n    (define b         (bounds-intersect (hash-ref c=>b.new c.next bounds.any)\n                                        b.current))\n    (define (update/bounds lb lbi? ub ubi?)\n      (define start.new (bisect-next start end ((if lbi? make-i< make-i<=) mask lb)))\n      (define end.new (if (< start.new end)\n                        (bisect-prev start end ((if ubi? make-i> make-i>=) mask ub))\n                        start.new))\n      (update/trim c=>b.new cols.pending col=>bounds mask start.new end.new))\n    (cond ((equal? b b.current) (new cols.pending col=>bounds mask start end))\n          (else                 (update/bounds (bounds-lb b)\n                                               (bounds-lb-inclusive? b)\n                                               (bounds-ub b)\n                                               (bounds-ub-inclusive? b)))))\n  (define (update/trim c=>b.new cols.pending col=>bounds mask start end)\n    (if (null? cols.pending)\n      (new '() (hash-set col=>bounds key-column (bounds start #t (- end 1) #t))\n           mask start end)\n      (and (< start end)\n           (let ((c.next (car cols.pending))\n                 (lb     (ref mask start))\n                 (ub     (ref mask (- end 1))))\n             (if (equal? lb ub)\n               (update/trim c=>b.new (cdr cols.pending)\n                            (hash-set col=>bounds c.next (bounds lb #t lb #t))\n                            (+ mask 1) start end)\n               (let ((col=>bounds (hash-set (hash-set col=>bounds c.next (bounds lb #t ub #t))\n                                            key-column (if (= start (- end 1))\n                                                         start\n                                                         (bounds start #t (- end 1) #t)))))\n                 (update/pending c=>b.new cols.pending col=>bounds mask start end)))))))\n  (define (new cols.pending col=>bounds mask start end)\n    (method-lambda\n      ;; TODO: this will be incorrect if the nonkey-columns do not map to a single key, which\n      ;; can happen when the table includes the key-column as an attribute.\n      ((done?)  (null? cols.pending))\n      ;; TODO: allow full? to be #t when nonkey-columns include all attributes\n      ((full?)  (not (not key-column)))\n      ((bounds) col=>bounds)\n      ((statistics)\n       (define ratio (/ (- end start) row-count))\n       (make-immutable-hash\n         (cons (cons (car cols.pending)\n                     (statistics ratio\n                                 (let ((v.lb (ref mask start))\n                                       (v.ub (ref mask (- end 1))))\n                                   (if (equal? v.lb v.ub)\n                                     1\n                                     (+ 2 (- (bisect-prev start end (make-i>= mask v.ub))\n                                             (bisect-next start end (make-i<= mask v.lb))))))))\n               (if key-column\n                 (list (cons key-column (statistics ratio (- end start))))\n                 '()))))\n      ((update c=>b)\n       (cond (key-column\n               (define b.key.0 (hash-ref col=>bounds key-column bounds.any))\n               (define b       (hash-ref c=>b        key-column bounds.any))\n               (cond ((not (equal? b b.key.0))\n                      ;; Assume these bounds will always be numbers in c=>b\n                      (let ((lb (let ((lb.0 (bounds-lb b)))\n                                  (cond ((not (integer? lb.0))    (ceiling lb.0))\n                                        ((bounds-lb-inclusive? b)          lb.0)\n                                        (else                           (+ lb.0 1)))))\n                            (ub (let ((ub.0 (bounds-ub b)))\n                                  (cond ((not (integer? ub.0))    (floor ub.0))\n                                        ((bounds-ub-inclusive? b)        ub.0)\n                                        (else                         (- ub.0 1))))))\n                        (and (<= start lb ub) (< ub end)\n                             (update/trim c=>b cols.pending col=>bounds mask lb (+ ub 1)))))\n                     (else (update/pending c=>b cols.pending col=>bounds mask start end))))\n             (else         (update/pending c=>b cols.pending col=>bounds mask start end))))))\n  (update/trim (hash) nonkey-columns (hash) 0 0 row-count))\n\n(define (table-length t key)       (statistics-cardinality (hash-ref (t 'statistics) key)))\n(define (table-ref    t key i col) (bounds-lb (hash-ref ((t 'update (hash key (bounds i #t i #t))) 'bounds) col)))\n\n(define (table/port/offsets table.offsets key-col cols types thunk.in)\n  (define type `#(tuple ,@types))\n  (lambda ()\n    (define offsets (table.offsets))\n    (and offsets\n         (let ((in (thunk.in)))\n           (define (ref i)\n             (file-position in (table-ref offsets #t i 'offset))\n             (decode in type))\n           (tabular-trie ref key-col cols types (table-length offsets #t))))))\n\n(define (table/bytes/offsets table.offsets key-col cols types bs)\n  (define (thunk.in) (open-input-bytes bs))\n  (table/port/offsets table.offsets key-col cols types thunk.in))\n\n(define (table/port len key-col cols types thunk.in)\n  (define type `#(tuple ,@types))\n  (define width (sizeof type (void)))\n  (lambda ()\n    (define in (thunk.in))\n    (define (ref i) (file-position in (* i width)) (decode in type))\n    (tabular-trie ref key-col cols types len)))\n\n(define (table/bytes key-col cols types bs)\n  (define (thunk.in) (open-input-bytes bs))\n  (table/port (quotient (bytes-length bs) (sizeof types (void)))\n              key-col cols types thunk.in))\n\n(define ((table/vector key-col cols types v))\n  (tabular-trie (lambda (i) (vector-ref v i)) key-col cols types (vector-length v)))\n\n(define (vector-table? types v)\n  (define v< (compare-><? (type->compare types)))\n  (define i (- (vector-length v) 1))\n  (or (<= i 0) (let loop ((i (- i 1)) (next (vector-ref v i)))\n                 (define current (vector-ref v i))\n                 (and (v< current next) (or (= i 0) (loop (- i 1) current))))))\n(define (vector-table-sort! types v)\n  (vector-sort! v (compare-><? (type->compare `#(tuple ,@types)))))\n(define (vector-dedup v) (list->vector (s-dedup (vector->list v))))\n\n;; TODO: switch back to file->bytes once Racket IO bug is fixed\n(define (file->bytes2 file-name)\n  (define size (file-size file-name))\n  (define bs (make-bytes size))\n  (call-with-input-file\n    file-name\n    (lambda (in)\n      (let loop ((i 0))\n        (cond ((= i size) bs)\n              (else (define end (+ i (min 1073741824\n                                          (- size i))))\n                    (read-bytes! bs in i end)\n                    (loop end)))))))\n\n(define (file-stats path)\n  (and (file-exists? path)\n       `((size . ,(file-size path))\n         (time . ,(file-or-directory-modify-seconds path)))))\n\n(define (table/metadata retrieval-type directory-path info-alist)\n  (define info         (make-immutable-hash info-alist))\n  (define path-prefix  (path->string (build-path directory-path (hash-ref info 'file-prefix))))\n  (define fname.value  (value-table-file-name  path-prefix))\n  (define fname.offset (offset-table-file-name path-prefix))\n  (define offset-type  (hash-ref info 'offset-type))\n  (define fstat.value  (file-stats fname.value))\n  (define fstat.offset (and offset-type (file-stats fname.offset)))\n  (define key-name     (hash-ref info 'key-name))\n  (define column-names (hash-ref info 'column-names))\n  (define column-types (hash-ref info 'column-types))\n  (define len          (hash-ref info 'length))\n  (unless (set=? fstat.value (hash-ref info 'value-file))\n    (error \"value file stats do not match metadata:\" fname.value\n           'file: fstat.value 'metadata: (hash-ref info 'value-file)))\n  (when offset-type\n    (unless (set=? fstat.offset (hash-ref info 'offset-file))\n      (error \"offset file stats do not match metadata:\" fname.offset\n             'file: fstat.offset 'metadata: (hash-ref info 'offset-file))))\n  (case retrieval-type\n    ((disk) (define (open-input-file/memoize fname)\n              (define cell.port (make-thread-cell #f))\n              (lambda ()\n                (or (thread-cell-ref cell.port)\n                    (let ((in (open-input-file fname)))\n                      (thread-cell-set! cell.port in)\n                      in))))\n            (define thunk.in.value (open-input-file/memoize fname.value))\n            (if offset-type\n              (table/port/offsets\n                (table/port len #t '(offset) `(,offset-type)\n                            (open-input-file/memoize fname.offset))\n                key-name column-names column-types thunk.in.value)\n              (table/port len key-name column-names column-types thunk.in.value)))\n    ((bytes) (define bs.value (file->bytes2 fname.value))\n             (if offset-type\n               (table/bytes/offsets\n                 (table/bytes #t '(offset) `(,offset-type)\n                              (file->bytes2 fname.offset))\n                 key-name column-names column-types bs.value)\n               (table/bytes key-name column-names column-types bs.value)))\n    ((scm) (let/files ((in.value fname.value)) ()\n             (table/vector\n               key-name column-names column-types\n               (list->vector\n                 (s-take #f (s-decode in.value `#(tuple ,@column-types)))))))\n    (else (error \"unknown retrieval type:\" retrieval-type))))\n\n(define (bisect start end i<)\n  (let loop ((start start) (end end))\n    (if (<= end start) end\n      (let ((i (+ start (quotient (- end start) 2))))\n        (if (i< i) (loop (+ 1 i) end) (loop start i))))))\n\n(define (bisect-next start end i<)\n  (define i (- start 1))\n  (let loop ((offset 1))\n    (define next (+ i offset))\n    (cond ((and (< next end) (i< next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (next (+ i o)))\n                    (cond ((= o 0)                      (+ i 1))\n                          ((and (< next end) (i< next)) (loop next o))\n                          (else                         (loop i    o)))))))))\n\n(define (bisect-prev start end i>)\n  (define i end)\n  (let loop ((offset 1))\n    (define next (- i offset))\n    (cond ((and (>= next start) (i> next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (n (- i o)))\n                    (cond ((= o 0)                   i)\n                          ((and (>= n start) (i> n)) (loop n o))\n                          (else                      (loop i o)))))))))\n\n(define (value-table-file-name  prefix) (string-append prefix \".value.table\"))\n(define (offset-table-file-name prefix) (string-append prefix \".offset.table\"))\n(define metadata-file-name              \"metadata.scm\")\n\n(define (tabulator directory-path file-prefix\n                   column-names column-types key-name)\n  (define (unique?! as) (unless (= (length (remove-duplicates as)) (length as))\n                          (error \"duplicates:\" as)))\n  (unless (= (length column-names) (length column-types))\n    (error \"mismatching column names and types:\" column-names column-types))\n  (unique?! column-names)\n  (when (member key-name column-names)\n    (error \"key name must be distinct:\" key-name column-names))\n  (define row-type column-types)\n  (define row<     (compare-><? (type->compare row-type)))\n  (define row-size (sizeof row-type (void)))\n  (define path-prefix (path->string (build-path directory-path file-prefix)))\n  (define value-file-name  (value-table-file-name path-prefix))\n  (define offset-file-name (and (not row-size)\n                                (offset-table-file-name path-prefix)))\n  (define tsorter (sorter #t value-file-name offset-file-name row-type row<))\n  (method-lambda\n    ((put! x) (tsorter 'put! x))\n    ((close) (match-define (cons offset-type item-count) (tsorter 'close))\n             `((file-prefix    . ,file-prefix)\n               (value-file     . ,(file-stats value-file-name))\n               (offset-file    . ,(and offset-file-name\n                                       (file-stats offset-file-name)))\n               (offset-type    . ,offset-type)\n               (length         . ,item-count)\n               (column-names   . ,column-names)\n               (column-types   . ,column-types)\n               (key-name       . ,key-name)))))\n\n(define (sorter dedup? value-file-name offset-file-name? type value<)\n  (define fname-sort-value  (string-append value-file-name \".value.sort\"))\n  (define fname-sort-offset (string-append value-file-name \".offset.sort\"))\n  (define out-value         (open-output-file value-file-name))\n  (define out-offset\n    (and offset-file-name?  (open-output-file offset-file-name?)))\n  (define out-sort-value    (open-output-file fname-sort-value))\n  (define out-sort-offset   (open-output-file fname-sort-offset))\n  (define ms (multi-sorter out-sort-value out-sort-offset type value<))\n  (method-lambda\n    ((put! value) (ms 'put! value))\n    ((close)\n     (match-define (vector initial-item-count chunk-count v?) (ms 'close))\n     (close-output-port out-sort-value)\n     (close-output-port out-sort-offset)\n     (define omax (if v? (sizeof `#(array ,initial-item-count ,type) v?)\n                    (file-size fname-sort-value)))\n     (define otype (and out-offset (nat-type/max omax)))\n     (define item-count\n       (cond (v? (let loop ((prev #f) (i 0) (count 0))\n                   (if (= i initial-item-count) count\n                     (let ((x (vector-ref v? i)))\n                       (cond ((not (and dedup? (< 0 i) (equal? x prev)))\n                              (when out-offset\n                                (encode out-offset otype (file-position\n                                                           out-value)))\n                              (encode out-value type x)\n                              (loop x (+ i 1) (+ count 1)))\n                             (else (loop x (+ i 1) count)))))))\n             (else (let/files ((in fname-sort-value)\n                               (in-offset fname-sort-offset)) ()\n                     (multi-merge dedup? out-value out-offset type otype value<\n                                  chunk-count in in-offset)))))\n     (delete-file fname-sort-value)\n     (delete-file fname-sort-offset)\n     (close-output-port out-value)\n     (when out-offset (close-output-port out-offset))\n     (cons otype item-count))))\n\n(define (multi-sorter out-chunk out-offset type value<)\n  (define buffer-size (current-config-ref 'buffer-size))\n  (let ((v (make-vector buffer-size)) (chunk-count 0) (item-count 0) (i 0))\n    (method-lambda\n      ((put! value) (vector-set! v i value)\n                    (set! i (+ i 1))\n                    (when (= i buffer-size)\n                      (vector-sort! v value<)\n                      (for ((x (in-vector v))) (encode out-chunk type x))\n                      (encode out-offset 'nat (file-position out-chunk))\n                      (set! item-count  (+ item-count buffer-size))\n                      (set! chunk-count (+ chunk-count 1))\n                      (set! i           0)))\n      ((close) (vector-sort! v value< 0 i)\n               (cond ((and (< 0 chunk-count) (= i 0))\n                      (vector item-count chunk-count #f))\n                     ((< 0 chunk-count)\n                      (for ((i (in-range i)))\n                        (encode out-chunk type (vector-ref v i)))\n                      (encode out-offset 'nat (file-position out-chunk))\n                      (vector (+ item-count i) (+ chunk-count 1) #f))\n                     (else (vector i 0 v)))))))\n\n(define (multi-merge\n          dedup? out out-offset type otype v< chunk-count in in-offset)\n  (define (s< sa sb) (v< (car sa) (car sb)))\n  (define (s-chunk pos end)\n    (cond ((<= end pos) '())\n          (else (file-position in pos)\n                (cons (decode in type) (let ((pos (file-position in)))\n                                         (thunk (s-chunk pos end)))))))\n  (define heap (make-vector chunk-count))\n  (let loop ((hi 0) (start 0)) (when (< hi chunk-count)\n                                 (define end (decode in-offset 'nat))\n                                 (vector-set! heap hi (s-chunk start end))\n                                 (loop (+ hi 1) end)))\n  (heap! s< heap chunk-count)\n  (let loop ((prev #f) (i 0) (hend chunk-count))\n    (if (= hend 0) i\n      (let* ((top (heap-top heap)) (x (car top)) (top (s-force (cdr top))))\n        (loop x (cond ((not (and dedup? (< 0 i) (equal? x prev)))\n                       (when out-offset (encode out-offset otype\n                                                (file-position out)))\n                       (encode out type x)\n                       (+ i 1))\n                      (else i))\n              (cond ((null? top) (heap-remove!  s< heap hend)  (- hend 1))\n                    (else        (heap-replace! s< heap hend top) hend)))))))\n\n(define (heap-top h) (vector-ref h 0))\n(define (heap! ? h end)\n  (let loop ((i (- (quotient end 2) 1)))\n    (when (<= 0 i) (heap-sink! ? h end i) (loop (- i 1)))))\n(define (heap-remove! ? h end)\n  (vector-set! h 0 (vector-ref h (- end 1))) (heap-sink! ? h (- end 1) 0))\n(define (heap-replace! ? h end top)\n  (vector-set! h 0 top)                      (heap-sink! ? h    end    0))\n(define (heap-sink! ? h end i)\n  (let loop ((i i))\n    (let ((ileft (+ i i 1)) (iright (+ i i 2)))\n      (cond ((<= end ileft))  ;; done\n            ((<= end iright)\n             (let ((p (vector-ref h i)) (l (vector-ref h ileft)))\n               (when (? l p) (vector-set! h i l) (vector-set! h ileft p))))\n            (else (let ((p (vector-ref h i))\n                        (l (vector-ref h ileft)) (r (vector-ref h iright)))\n                    (cond ((? l p) (cond ((? r l) (vector-set! h i r)\n                                                  (vector-set! h iright p)\n                                                  (loop iright))\n                                         (else (vector-set! h i l)\n                                               (vector-set! h ileft p)\n                                               (loop ileft))))\n                          ((? r p) (vector-set! h i r)\n                                   (vector-set! h iright p)\n                                   (loop iright)))))))))\n(define (heap-add! ? h end v)\n  (let loop ((i end))\n    (if (= i 0) (vector-set! h i v)\n      (let* ((iparent (- (quotient (+ i 1) 2) 1))\n             (pv      (vector-ref h iparent)))\n        (cond ((? v pv) (vector-set! h i pv) (loop iparent))\n              (else     (vector-set! h i v)))))))\n\n(define (list-arranger input-names output-names)\n  (define ss.in    (generate-temporaries input-names))\n  (define name=>ss (make-immutable-hash (map cons input-names ss.in)))\n  (define ss.out   (map (lambda (n) (hash-ref name=>ss n)) output-names))\n  (eval-syntax #`(lambda (row)\n                   (match-define (list #,@ss.in) row)\n                   (list #,@ss.out))))\n\n(define (table-materializer source-names path.dir fprefix\n                            column-names column-types key-name)\n  (define t (tabulator path.dir fprefix column-names column-types key-name))\n  (define transform (list-arranger source-names column-names))\n  (method-lambda\n    ((put! x) (t 'put! (transform x)))\n    ((close)  (t 'close))))\n\n(define (materialize-index-tables!\n          path.dir source-fprefix name->type source-names index-descriptions)\n  (cond ((null? index-descriptions) '())\n        (else\n          (define threshold (current-config-ref 'progress-logging-threshold))\n          (define index-ms\n            (map (lambda (td)\n                   (define fprefix      (alist-ref td 'file-prefix))\n                   (define column-names (alist-ref td 'column-names))\n                   (define column-types (map name->type column-names))\n                   (table-materializer source-names path.dir fprefix\n                                       column-names column-types #f))\n                 index-descriptions))\n          (logf \"Materializing ~s index table(s) from primary:\\n\"\n                (length index-ms))\n          (for-each (lambda (td) (pretty-write (alist-ref td 'column-names)))\n                    index-descriptions)\n          (let/files ((in (value-table-file-name source-fprefix))) ()\n            (define src (s-decode in (map name->type (cdr source-names))))\n            (time (s-each (lambda (x)\n                            (let ((count (car x)))\n                              (when (= 0 (remainder count threshold))\n                                (logf \"ingested ~s rows\\n\" count))\n                              (for-each (lambda (m) (m 'put! x)) index-ms)))\n                          (s-enumerate 0 src))))\n          (logf \"Processing all rows\\n\")\n          (map (lambda (m) (time (m 'close))) index-ms))))\n\n(define (valid-key-type? t)\n  (match t\n    ((or #f 'nat 'number `#(nat ,_)) #t)\n    (_                               #f)))\n\n(define (materializer path.dir source-info attribute-names attribute-types key-name\n                      table-layouts)\n  (define name=>type (make-immutable-hash (map cons attribute-names attribute-types)))\n  (define index-layouts        (cdr table-layouts))\n  (define primary-column-names (car table-layouts))\n  (define primary-source-names (cons key-name primary-column-names))\n  (define primary-column-types (map (lambda (n) (hash-ref name=>type n))\n                                    primary-column-names))\n  (make-directory* path.dir)\n  (define path.metadata (path->string (build-path path.dir metadata-file-name)))\n  (define primary-fprefix \"primary\")\n  (define primary-fname (path->string (build-path path.dir primary-fprefix)))\n  (define index-fprefixes\n    (map (lambda (i) (string-append \"index.\" (number->string i)))\n         (range (length index-layouts))))\n  (define primary-t (tabulator path.dir primary-fprefix\n                               primary-column-names primary-column-types key-name))\n  (method-lambda\n    ((put! x) (primary-t 'put! x))\n    ((close) (define primary-info (primary-t 'close))\n             (define key-type (nat-type/max (alist-ref primary-info 'length)))\n             (define name->type\n               (let ((name=>type (hash-set name=>type key-name key-type)))\n                 (lambda (n) (hash-ref name=>type n))))\n             (define index-infos\n               (materialize-index-tables!\n                 path.dir primary-fname name->type primary-source-names\n                 (map (lambda (fprefix td) `((file-prefix . ,fprefix)\n                                             (column-names . ,td)))\n                      index-fprefixes index-layouts)))\n             (write-metadata path.metadata attribute-names attribute-types\n                             primary-info index-infos source-info))))\n\n(define (write-metadata path attribute-names attribute-types primary-info index-infos source-info)\n  (let/files () ((out.metadata path))\n    (pretty-write `((metadata-format-version . ,metadata-format-version.latest)\n                    (attribute-names         . ,attribute-names)\n                    (attribute-types         . ,attribute-types)\n                    (primary-table           . ,primary-info)\n                    (index-tables            . ,index-infos)\n                    (source-info             . ,source-info))\n                  out.metadata)))\n\n(define (update-metadata path info)\n  (define path.backup (string-append path \".backup\"))\n  (when (file-exists? path.backup)\n    (error \"backup path already exists:\" path.backup))\n  (rename-file-or-directory path path.backup)\n  (apply write-metadata path\n         (map (lambda (k) (hash-ref info k))\n              '(attribute-names attribute-types primary-table index-tables source-info)))\n  (delete-file path.backup))\n\n(define (metadata/2020-12-19.0 info)\n  (define source-info (make-immutable-hash (hash-ref info 'source-info)))\n  (define source-info.new\n    (foldl (lambda (k v source-info) (hash-set source-info k v))\n           (hash-remove source-info 'transform)\n           '(map/append map filter)\n           (list (hash-ref source-info 'map/append #f)\n                 (hash-ref source-info 'map        (hash-ref source-info 'transform #f))\n                 (hash-ref source-info 'filter     #f))))\n  (foldl (lambda (k v info) (hash-set info k v))\n         info\n         '(metadata-format-version source-info)\n         `(2021-03-18.0\n           ,(if (hash-has-key? source-info.new 'path)\n              (map (lambda (k) (cons k (hash-ref source-info.new k)))\n                   '(path format header stats map/append map filter))\n              (map (lambda (k) (cons k (hash-ref source-info.new k)))\n                   '(stream map/append map filter))))))\n\n(define (metadata/2021-03-18.0 info)\n  ;; TODO: define an appropriate transformtion once this is no longer the latest version\n  info)\n\n;; TODO: when new metadata formats are introduced, update the old handlers to\n;; have them transform an instance of the old format into an instance of the\n;; newest format.  This can be done by composing handlers.\n\n;; TODO: register new metadata-format-version handlers here\n(define metadata-format-version.latest '2021-03-18.0)\n(define metadata/format-version\n  (hash '2021-03-18.0 metadata/2021-03-18.0\n        '2020-12-19.0 metadata/2020-12-19.0))\n\n(define (read-metadata path)\n  (define info.0 (let/files ((in path)) () (read in)))\n  (when (eof-object? info.0) (error \"corrupt relation metadata:\" path))\n  (define info.1 (make-immutable-hash info.0))\n  (define info ((hash-ref metadata/format-version\n                          (hash-ref info.1 'metadata-format-version '2020-12-19.0))\n                info.1))\n  (define diff\n    (foldl (lambda (k diff)\n             (cond ((not (hash-has-key? info   k)) (cons `(,k old: ,(hash-ref info.1 k)) diff))\n                   ((not (hash-has-key? info.1 k)) (cons `(,k new: ,(hash-ref info   k)) diff))\n                   (else (define v.new (hash-ref info   k))\n                         (define v.old (hash-ref info.1 k))\n                         (if (equal? v.new v.old) diff\n                           (cons `(,k old: ,v.old new: ,v.new) diff)))))\n           '()\n           (set->list (set-union (list->set (hash-keys info))\n                                 (list->set (hash-keys info.1))))))\n  (define should-update?\n    (and (not (null? diff))\n         (policy-allow?\n           (current-config-ref 'update-policy)\n           (lambda ()\n             (printf \"Current ~s is written in an old format:\\n\" path)\n             (for-each pretty-write diff))\n           \"Update ~s to the latest format?\" (list path))))\n  (when should-update? (update-metadata path info))\n  info)\n\n(define (update-materialization! path.dir info tables.added tables.removed)\n  (define path.metadata        (path->string\n                                 (build-path path.dir metadata-file-name)))\n  (define path.metadata.backup (string-append path.metadata \".backup\"))\n  (define attribute-names      (hash-ref info 'attribute-names))\n  (define attribute-types      (hash-ref info 'attribute-types))\n  (define source-info          (hash-ref info 'source-info))\n  (define primary-info         (hash-ref info 'primary-table))\n  (define index-infos          (hash-ref info 'index-tables))\n  (define primary-key-name     (alist-ref primary-info 'key-name))\n  (define primary-column-names (alist-ref primary-info 'column-names))\n  (define source-fprefix\n    (path->string (build-path path.dir (alist-ref primary-info 'file-prefix))))\n  (define source-names (cons primary-key-name primary-column-names))\n  (define key-type (nat-type/max (alist-ref primary-info 'length)))\n  (define name=>type (make-immutable-hash\n                       (cons (cons primary-key-name key-type)\n                             (map cons attribute-names attribute-types))))\n  (define (name->type n) (hash-ref name=>type n))\n  (define cols=>info\n    (make-immutable-hash\n      (map (lambda (info.it) (cons (alist-ref info.it 'column-names) info.it))\n           (hash-ref info 'index-tables))))\n  (define index-infos.current\n    (hash-values (foldl (lambda (cols c=>i) (hash-remove c=>i cols))\n                        cols=>info tables.removed)))\n  (rename-file-or-directory path.metadata path.metadata.backup)\n  (for-each\n    (lambda (cols)\n      (define info    (hash-ref cols=>info cols))\n      (define fprefix (alist-ref info 'file-prefix))\n      (define fname.v\n        (path->string (build-path path.dir (value-table-file-name  fprefix))))\n      (define fname.o\n        (path->string (build-path path.dir (offset-table-file-name fprefix))))\n      (logf \"Deleting ~s\\n\" fname.v)\n      (delete-file fname.v)\n      (when (alist-ref info 'offset-file)\n        (logf \"Deleting ~s\\n\" fname.o)\n        (delete-file fname.o)))\n    tables.removed)\n  (define index-descriptions.added\n    (let loop ((colss tables.added) (i 0))\n      (if (null? colss) '()\n        (let ((fprefix (string-append \"index.\" (number->string i))))\n          (if (file-exists?\n                (build-path path.dir (value-table-file-name fprefix)))\n            (loop colss (+ i 1))\n            (cons `((file-prefix  . ,fprefix) (column-names . ,(car colss)))\n                  (loop (cdr colss) (+ i 1))))))))\n  (define index-infos.new\n    (materialize-index-tables! path.dir source-fprefix name->type\n                               source-names index-descriptions.added))\n  (write-metadata path.metadata attribute-names attribute-types\n                  primary-info (append index-infos.current index-infos.new)\n                  source-info)\n  (delete-file path.metadata.backup))\n\n(define (materialization/vector vector.in sort? dedup? info)\n  (define key-name        (hash-ref info 'key-name))\n  (define attribute-names (hash-ref info 'attribute-names))\n  (define attribute-types (hash-ref info 'attribute-types))\n  (define table-layouts   (hash-ref info 'table-layouts))\n  (define name=>type      (hash-set (make-immutable-hash\n                                      (map cons attribute-names attribute-types))\n                                    key-name 'nat))\n  (define (name->type n) (hash-ref name=>type n))\n  (define primary-column-names (car table-layouts))\n  (define primary-column-types (map name->type primary-column-names))\n  (define primary-source-names (cons key-name primary-column-names))\n  (when sort? (vector-table-sort! primary-column-types vector.in))\n  (define primary-v (if dedup? (vector-dedup vector.in) vector.in))\n  (define primary-t (table/vector key-name primary-column-names\n                                  primary-column-types primary-v))\n  (define index-ts\n    (let* ((ss.sources (generate-temporaries primary-source-names))\n           (name=>ss   (make-immutable-hash\n                         (map cons primary-source-names ss.sources)))\n           (name->ss   (lambda (n) (hash-ref name=>ss n))))\n      (map (lambda (column-names)\n             (define column-types (map name->type column-names))\n             (define ss.columns   (map name->ss   column-names))\n             (define index-src\n               (let ((transform\n                       (eval-syntax\n                         #`(lambda (#,(car ss.sources) row)\n                             (match-define (vector #,@(cdr ss.sources)) row)\n                             (vector #,@ss.columns))))\n                     (iv (make-vector (vector-length primary-v))))\n                 (for ((i   (in-range (vector-length primary-v)))\n                       (row (in-vector primary-v)))\n                   (vector-set! iv i (transform i row)))\n                 iv))\n             (vector-table-sort! column-types index-src)\n             (table/vector #f column-names column-types\n                           (vector-dedup index-src)))\n           (cdr table-layouts))))\n  (list info (table (cons primary-t index-ts))))\n\n(define (materialization/path relation-name retrieval-type path path.dir info)\n  (unless (directory-exists? path.dir)\n    (error \"materialized relation directory does not exist:\" path.dir))\n  (define attribute-names    (hash-ref info 'attribute-names))\n  (define attribute-types    (hash-ref info 'attribute-types))\n  (define primary-info-alist (hash-ref info 'primary-table))\n  (define primary-info       (make-immutable-hash primary-info-alist))\n  (define primary-t          (table/metadata retrieval-type path.dir primary-info-alist))\n  (define key-name           (hash-ref primary-info 'key-name))\n  (define index-ts\n    (map (lambda (info) (table/metadata retrieval-type path.dir info))\n         (hash-ref info 'index-tables '())))\n  (list (foldl (lambda (k v info) (hash-set info k v)) info\n               '(    relation-name key-name retrieval-type)\n               (list relation-name key-name retrieval-type))\n        (table (cons primary-t index-ts))))\n\n(define (materialization . pargs)\n  (define kwargs          (make-immutable-hash (plist->alist pargs)))\n  (define key-name        (hash-ref kwargs 'key-name #t))\n  (define attribute-names (hash-ref kwargs 'attribute-names))\n  (define attribute-types (hash-ref kwargs 'attribute-types\n                                    (map (lambda (n)\n                                           (if (equal? n key-name) 'nat #f))\n                                         attribute-names)))\n  (define table-layouts\n    (append (hash-ref kwargs 'tables `(,(remove key-name attribute-names)))\n            (map (lambda (cols) (append cols (list key-name)))\n                 (hash-ref kwargs 'indexes '()))))\n  (unless key-name (error \"key-name cannot be #f:\" pargs))\n  (unless (= (length (remove-duplicates attribute-names))\n             (length attribute-names))\n    (error \"duplicate attribute-names:\" attribute-names))\n  (unless (= (length attribute-names) (length attribute-types))\n    (error \"mismatching attribute names and types:\"\n           attribute-names attribute-types))\n  (when (null? table-layouts)\n    (error \"empty list of table layouts for:\" attribute-names))\n  (let ((primary-column-names (car table-layouts))\n        (key-type             (alist-ref (map cons attribute-names attribute-types)\n                                         key-name 'nat)))\n    (when (member key-name primary-column-names)\n      (error \"key-name should not be a primary table column:\"\n             key-name primary-column-names))\n    (unless (set=? (set-remove attribute-names key-name) primary-column-names)\n      (error \"primary columns must include all non-key attributes:\"\n             (set->list (set-remove (list->set attribute-names) key-name))\n             (set->list (list->set primary-column-names))))\n    (unless (valid-key-type? key-type)\n      (error \"invalid key type:\" key-type key-name)))\n  (define path           (hash-ref kwargs 'path #f))\n  (define path.dir       (and path (current-config-relation-path path)))\n  (define path.metadata  (and path.dir (path->string (build-path path.dir metadata-file-name))))\n  (define (get-metadata) (and path.metadata (directory-exists? path.dir) (read-metadata path.metadata)))\n  (define metadata       (get-metadata))\n  (define src:vector.0   (hash-ref kwargs 'source-vector    #f))\n  (define src:stream     (hash-ref kwargs 'source-stream    #f))\n  (define src:path.0     (hash-ref kwargs 'source-file-path #f))\n  (define src:path       (and src:path.0 (current-config-relation-path src:path.0)))\n  (when (< 1 (length (filter-not not (list src:vector.0 src:stream src:path.0))))\n    (error \"relation cannot specify multiple data sources:\" pargs))\n  (let ((map/append-code (hash-ref kwargs 'map/append #f))\n        (map-code        (hash-ref kwargs 'map        #f))\n        (filter-code     (hash-ref kwargs 'filter     #f)))\n    (when (and map/append-code (or map-code filter-code))\n      (error \"map/append should not be used with map or filter:\"\n             `((map/append ,(code->info map/append-code))\n               (map        ,(code->info map-code))\n               (filter     ,(code->info filter-code))))))\n  (define src:format (or (hash-ref kwargs 'source-file-format #f)\n                         (and src:path.0 (path->format src:path.0))))\n  (define src:header (let ((header (hash-ref kwargs 'source-file-header '())))\n                       (if (pair? header)\n                         (map (lambda (s) (if (symbol? s) (symbol->string s) s))\n                              header)\n                         header)))\n  (define src:vector\n    (or src:vector.0\n        (and (not metadata)\n             (not src:stream)\n             (not (and src:path (file-exists? src:path)))\n             (policy-allow?\n               (current-config-ref 'allow-missing-data-policy)\n               (lambda ()\n                 (printf \"Source (~s) and processed data are both missing for ~s:\\n\"\n                         src:path.0 path))\n               \"Allow ~s to be used as an empty relation for now?\" (list path))\n             (vector))))\n  (define kwargs.1 (foldl (lambda (k v kvs) (hash-set kvs k v)) kwargs\n                          '(    path     key-name attribute-types table-layouts)\n                          (list path.dir key-name attribute-types table-layouts)))\n  (cond (src:vector\n          ;; TODO: currently only supported for vector sources\n          (define sort?  (hash-ref kwargs 'sort?  (not src:vector)))\n          (define dedup? (hash-ref kwargs 'dedup? (not src:vector)))\n          (when (and (not sort?) dedup?)\n            (error \"Cannot deduplicate without sorting:\" kwargs))\n          (materialization/vector src:vector sort? dedup?\n                                  (hash-set kwargs.1 'missing-data?\n                                            (not (hash-ref kwargs.1 'source-vector #f)))))\n        (path                       (when (or src:path.0 src:stream)\n                                      (materialize-relation! path path.dir path.metadata metadata\n                                                             src:path src:format src:header kwargs.1))\n                                    (materialization/path (hash-ref kwargs 'relation-name)\n                                                          (hash-ref kwargs 'retrieval-type 'disk)\n                                                          path path.dir (hash-set (get-metadata) 'path path.dir)))\n        ((or src:path.0 src:stream) (materialization/stream src:path src:format src:header kwargs.1))\n        (else                       (error \"missing relation path or source:\" kwargs))))\n\n(struct value+syntax (value syntax) #:prefab)\n(define-syntax-rule (value/syntax e) (value+syntax e #'e))\n(define (code->info code)\n  (cond ((procedure?    code) #t)\n        ((value+syntax? code) (syntax->datum (value+syntax-syntax code)))\n        (else                 code)))\n(define (code->value code)\n  (cond ((value+syntax? code) (value+syntax-value code))\n        (else                 code)))\n\n(define (materialization/stream path.in format header kwargs)\n  (define key-name        (hash-ref kwargs 'key-name))\n  (define attribute-names (hash-ref kwargs 'attribute-names))\n  (define attribute-types (hash-ref kwargs 'attribute-types))\n  (define table-layouts   (hash-ref kwargs 'table-layouts))\n  (define stream.in       (hash-ref kwargs 'source-stream #f))\n  (define map/append-code (hash-ref kwargs 'map/append    #f))\n  (define map-code        (hash-ref kwargs 'map           #f))\n  (define filter-code     (hash-ref kwargs 'filter        #f))\n  (define map/append?     (code->value map/append-code))\n  (define map?            (code->value map-code))\n  (define filter?         (code->value filter-code))\n  (define (materialized-stream stream)\n    (list->vector (s-take #f (s-map list->vector\n                                    (if map/append?\n                                      (s-map/append map/append? stream)\n                                      (let ((s (if map? (s-map map? stream) stream)))\n                                        (if filter? (s-filter filter? s) s)))))))\n  (materialization/vector\n    (if path.in\n      (let/files ((in path.in)) ()\n        (define stream ((format->header/port->stream format) header in))\n        (materialized-stream stream))\n      (materialized-stream (code->value stream.in)))\n    #t #t kwargs))\n\n(define (materialize-relation! path path.dir path.metadata info path.in format header kwargs)\n  (define path            (hash-ref kwargs 'path))\n  (define key-name        (hash-ref kwargs 'key-name))\n  (define attribute-names (hash-ref kwargs 'attribute-names))\n  (define attribute-types (hash-ref kwargs 'attribute-types))\n  (define table-layouts   (hash-ref kwargs 'table-layouts))\n  (define fn.in           (hash-ref kwargs 'source-file-path #f))\n  (define stream.in       (hash-ref kwargs 'source-stream    #f))\n  (define map/append-code (hash-ref kwargs 'map/append       #f))\n  (define map-code        (hash-ref kwargs 'map              #f))\n  (define filter-code     (hash-ref kwargs 'filter           #f))\n  (define threshold       (current-config-ref 'progress-logging-threshold))\n  (define path.log        (build-path path.dir \"progress.log\"))\n  (define source-info\n    (cond (path.in   `((path       . ,fn.in)\n                       (format     . ,format)\n                       (header     . ,header)\n                       (stats      . ,(or (file-stats path.in)\n                                          (and info (alist-ref (hash-ref info 'source-info '())\n                                                               'stats #f))))\n                       (map/append . ,(code->info map/append-code))\n                       (map        . ,(code->info map-code))\n                       (filter     . ,(code->info filter-code))))\n          (stream.in `((stream     . ,(code->info stream.in))\n                       (map/append . ,(code->info map/append-code))\n                       (map        . ,(code->info map-code))\n                       (filter     . ,(code->info filter-code))))\n          (else (error \"materialize-relation! missing file or stream source:\"\n                       kwargs))))\n  (define map/append? (code->value map/append-code))\n  (define map?        (code->value map-code))\n  (define filter?     (code->value filter-code))\n  (define (materialize-stream source-info stream)\n    (let ((mat (materializer path.dir source-info\n                             attribute-names attribute-types key-name\n                             table-layouts)))\n      (define count 0)\n      (time (s-each (lambda (x)\n                      (when (= 0 (remainder count threshold))\n                        (logf \"ingested ~s rows\\n\" count))\n                      (mat 'put! x)\n                      (set! count (+ count 1)))\n                    (if map/append?\n                      (s-map/append map/append? stream)\n                      (let ((s (if map? (s-map map? stream) stream)))\n                        (if filter? (s-filter filter? s) s)))))\n      (logf \"Processing ~s rows\\n\" count)\n      (time (mat 'close))\n      (logf \"Finished processing ~s rows\\n\" count)))\n  (define (materialize-source)\n    (if path.in\n      (let/files ((in path.in)) ()\n        (logf/date \"Materializing relation ~s from ~s file ~s\\n\"\n                   path format fn.in)\n        (define stream ((format->header/port->stream format) header in))\n        (materialize-stream source-info stream))\n      (begin (logf/date \"Materializing relation ~s from stream\\n\" path)\n             (materialize-stream source-info (code->value stream.in)))))\n\n  (if info\n    (let* ((source-info.old     (hash-ref info 'source-info #f))\n           (attribute-names.old (hash-ref info 'attribute-names))\n           (attribute-types.old (hash-ref info 'attribute-types))\n           (primary-table.old   (hash-ref info 'primary-table))\n           (key-name.old        (alist-ref primary-table.old 'key-name))\n           (primary-columns.old (alist-ref primary-table.old 'column-names))\n           (primary-columns.new (car table-layouts)))\n      (unless (equal? attribute-names attribute-names.old)\n        (error \"new relation attributes are incompatible with old:\" path\n               'new: attribute-names 'old: attribute-names.old))\n      (define stale-fields.0\n        (map (lambda (desc)\n               (match-define (list key new old) desc)\n               `(,key new: ,new old: ,old))\n             (filter\n               (lambda (desc)\n                 (match-define (list _ new old) desc)\n                 (not (equal? new old)))\n               `((source-info     ,source-info     ,source-info.old)\n                 (attribute-types ,attribute-types ,attribute-types.old)\n                 (key-name        ,key-name        ,key-name.old)\n                 (primary-table   ,primary-columns.new\n                                  ,primary-columns.old)))))\n      (define update-policy  (current-config-ref 'update-policy))\n      (define cleanup-policy (current-config-ref 'cleanup-policy))\n      (define stale-fields\n        (if (and (equal? '(source-info) (map car stale-fields.0))\n                 (policy-allow?\n                   update-policy\n                   (lambda ()\n                     (printf \"Existing source-info for relation ~s is stale:\\n\" path)\n                     (for-each pretty-write stale-fields.0))\n                   \"Update ~s metadata with new source-info without rematerializing?\" (list path)))\n          (begin (printf \"Updating ~s\" path.metadata)\n                 (update-metadata path.metadata (hash-set info 'source-info source-info))\n                 (printf \"Update of ~s finished\" path.metadata)\n                 '())\n          stale-fields.0))\n      (define allow-update?\n        (or (null? stale-fields)\n            (policy-allow?\n              update-policy\n              (lambda ()\n                (printf \"Existing data for relation ~s is stale:\\n\" path)\n                (for-each pretty-write stale-fields))\n              \"Update ~s?\" (list path))))\n      (cond ((and (pair? stale-fields) allow-update?)\n             (printf \"Updating ~s\\n\" path)\n             (define path.backup (string-append path.dir \".backup\"))\n             (when (directory-exists? path.backup)\n               (error \"backup path already exists:\" path.backup))\n             (rename-file-or-directory path.dir path.backup)\n             (materialize-source)\n             (printf \"Rematerialization of ~s finished\\n\" path)\n             (when (directory-exists? path.backup)\n               (if (or (equal? cleanup-policy 'always)\n                       (and (equal? cleanup-policy 'interactive)\n                            (printf \"Delete backup directory ~s? [y/n]: \"\n                                    path.backup)\n                            (case (read)\n                              ((y Y yes Yes YES) #t)\n                              (else              #f))))\n                 (begin (printf \"Deleting ~s\\n\" path.backup)\n                        (delete-directory/files path.backup #:must-exist? #f))\n                 (printf \"Not deleting ~s\\n\" path.backup))))\n            ((not allow-update?)\n             (printf \"Due to stale data, will not rematerialize ~s\\n\" path))\n            (else\n              (define colss.current\n                (map (lambda (info.it) (alist-ref info.it 'column-names))\n                     (hash-ref info 'index-tables)))\n              (define colss.new (cdr table-layouts))\n              (define (cols-current? cols) (member cols colss.current))\n              (define (cols-new?     cols) (member cols colss.new))\n              (define added   (filter-not cols-current? colss.new))\n              (define removed (filter-not cols-new?     colss.current))\n              (define add?\n                (and (pair? added)\n                     (policy-allow?\n                       update-policy\n                       (lambda ()\n                         (printf \"New index tables included for relation ~s:\\n\"\n                                 path)\n                         (for-each pretty-write added))\n                       \"Add these new index tables to ~s?\"\n                       (list path))))\n              (define remove?\n                (and (pair? removed)\n                     (policy-allow?\n                       cleanup-policy\n                       (lambda ()\n                         (printf\n                           \"Index tables no longer included for relation ~s:\\n\"\n                           path)\n                         (for-each pretty-write removed))\n                       \"Remove these old index tables from ~s?\"\n                       (list path))))\n              (when (or add? remove?)\n                (update-materialization! path.dir info\n                                         (if add?    added   '())\n                                         (if remove? removed '()))))))\n    (materialize-source)))\n"
  },
  {
    "path": "medikanren2/dbk/dbk.rkt",
    "content": "#lang racket/base\n(provide\n  (all-from-out\n    \"dbk/codec.rkt\" \"dbk/config.rkt\" \"dbk/dsv.rkt\" \"dbk/misc.rkt\" \"dbk/mk.rkt\"\n    \"dbk/order.rkt\" \"dbk/stream.rkt\" \"dbk/table.rkt\"))\n(require\n  \"dbk/codec.rkt\" \"dbk/config.rkt\" \"dbk/dsv.rkt\" \"dbk/misc.rkt\" \"dbk/mk.rkt\"\n  \"dbk/order.rkt\" \"dbk/stream.rkt\" \"dbk/table.rkt\")\n"
  },
  {
    "path": "medikanren2/dbk/test/.gitignore",
    "content": "/benchmark1\n"
  },
  {
    "path": "medikanren2/dbk/test/benchmark-sorting/radix-sort.rkt",
    "content": "#lang racket/base\n(require racket/fixnum racket/match racket/vector racket/unsafe/ops)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Enumerators\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (vector->enumerator v (start 0) (end (vector-length v)))\n  (define len (min end (vector-length v)))\n  (unsafe-vector->enumerator v (min start len) len))\n\n(define ((unsafe-vector->enumerator v (start 0) (end (unsafe-vector*-length v))) k!)\n  (let loop ((i start))\n    (when (unsafe-fx< i end)\n      (k!   (unsafe-vector*-ref v i))\n      (loop (unsafe-fx+ i 1)))))\n\n(define ((enumerator-append e.0 e.1) k!)\n  (e.0 k!)\n  (e.1 k!))\n\n(define ((enumerator-msd-radix-sort en t->key key-byte-count) k!)\n  (define size.shift           8)\n  (define mask.shift         255)\n  (define count.parts        256)\n  (define count.buffer        32)\n  (define count.initial.parts  8)\n  (define growth-factor.parts  2)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (let enumerate ((shift (unsafe-fx* 8 (unsafe-fx- key-byte-count 1))) (en en))\n    (define parts     (make-vector count.parts))\n    (define pos.parts (make-vector count.parts 0))\n    (define buf       (make-vector count.parts))\n    (define pos       (make-vector count.parts 0))\n    (let loop ((i 0))\n      (when (unsafe-fx< i count.parts)\n        (unsafe-vector*-set! parts i (make-vector count.initial.parts))\n        (unsafe-vector*-set! buf   i (make-vector count.buffer))\n        (loop (unsafe-fx+ i 1))))\n    (en (lambda (t)\n          ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n          (let* ((key     (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n                 (buf.k   (unsafe-vector*-ref buf key))\n                 (pos.k   (unsafe-vector*-ref pos key))\n                 (pos.k+1 (unsafe-fx+ pos.k 1)))\n            (unsafe-vector*-set! buf.k pos.k t)\n            (if (unsafe-fx= pos.k+1 count.buffer)\n              (begin\n                (unsafe-vector*-set! pos key 0)\n                (unsafe-vector*-set! buf key (make-vector count.buffer))\n                (let* ((parts.k       (unsafe-vector*-ref parts     key))\n                       (pos.parts.k   (unsafe-vector*-ref pos.parts key))\n                       (pos.parts.k+1 (unsafe-fx+ pos.parts.k 1))\n                       (len.parts.k   (unsafe-vector*-length parts.k)))\n                  (unsafe-vector*-set! pos.parts key pos.parts.k+1)\n                  (if (unsafe-fx= pos.parts.k+1 len.parts.k)\n                    (let ((parts.k.new (make-vector (unsafe-fx* len.parts.k growth-factor.parts))))\n                      (unsafe-vector*-set!  parts key parts.k.new)\n                      (vector-copy! parts.k.new 0 parts.k)\n                      (unsafe-vector*-set!  parts.k.new pos.parts.k buf.k))\n                    (unsafe-vector*-set! parts.k pos.parts.k buf.k))))\n              (unsafe-vector*-set! pos key pos.k+1)))))\n    (let ((k!/en (if (unsafe-fx= shift 0)\n                   (lambda (en) (en k!))\n                   (lambda (en) (enumerate (unsafe-fx- shift size.shift) en)))))\n      (let loop ((i 0))\n        (when (unsafe-fx< i count.parts)\n          (let ((parts.i     (unsafe-vector*-ref parts     i))\n                (pos.parts.i (unsafe-vector*-ref pos.parts i))\n                (buf.i       (unsafe-vector*-ref buf       i))\n                (pos.i       (unsafe-vector*-ref pos       i)))\n            (unsafe-vector*-set! parts i #f)\n            (unsafe-vector*-set! buf   i #f)\n            (k!/en (lambda (k!)\n                     ((unsafe-vector->enumerator parts.i 0 pos.parts.i)\n                      (lambda (part) ((unsafe-vector->enumerator part 0 count.buffer) k!)))\n                     ((unsafe-vector->enumerator buf.i 0 pos.i) k!)))\n            (loop (unsafe-fx+ i 1))))))))\n\n(define (vector-radix-sort! v t->key key-byte-count (start 0) (end (vector-length v)))\n  (define len (min end (vector-length v)))\n  (unsafe-vector-radix-sort! v t->key key-byte-count (min start len) len))\n\n(define (unsafe-vector-radix-sort! v t->key key-byte-count (start 0) (end (unsafe-vector*-length v)))\n  (define size.shift               8)\n  (define mask.shift             255)\n  (define count.parts            256)\n  (define count.buffer           512)\n  (define count.initial.parts      8)\n  (define growth-factor.parts      2)\n  (define count.initial.buffers 1024)\n  (define growth-factor.buffers    2)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (define shift.final (unsafe-fx* 8 (unsafe-fx- key-byte-count 1)))\n  (define buffers     (make-vector count.initial.buffers))\n  (define pos.buffers 0)\n  (define (new-buffer)\n    (if (unsafe-fx= pos.buffers 0)\n      (make-vector count.buffer)\n      (begin (set! pos.buffers (unsafe-fx- pos.buffers 1))\n             (unsafe-vector*-ref buffers pos.buffers))))\n  (define (free-buffer b)\n    (vector-fill! b 0)\n    (when (unsafe-fx= pos.buffers (unsafe-vector*-length buffers))\n      (let ((buffers.new (make-vector (unsafe-fx* pos.buffers growth-factor.buffers))))\n        (vector-copy! buffers.new 0 buffers)\n        (set! buffers buffers.new)))\n    (unsafe-vector*-set! buffers pos.buffers b)\n    (set! pos.buffers (unsafe-fx+ pos.buffers 1)))\n  (let loop ((shift 0))\n    (define parts     (make-vector count.parts))\n    (define pos.parts (make-vector count.parts 0))\n    (define buf       (make-vector count.parts))\n    (define pos       (make-vector count.parts 0))\n    (let loop ((i 0))\n      (when (unsafe-fx< i count.parts)\n        (unsafe-vector*-set! parts i (make-vector count.initial.parts))\n        (unsafe-vector*-set! buf   i (new-buffer))\n        (loop (unsafe-fx+ i 1))))\n    (let loop ((i start))\n      (when (unsafe-fx< i end)\n        (let* ((t       (unsafe-vector*-ref v i))\n               ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n               (key     (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n               (buf.k   (unsafe-vector*-ref buf key))\n               (pos.k   (unsafe-vector*-ref pos key))\n               (pos.k+1 (unsafe-fx+ pos.k 1)))\n          (unsafe-vector*-set! buf.k pos.k t)\n          (if (unsafe-fx= pos.k+1 count.buffer)\n            (begin\n              (unsafe-vector*-set! pos key 0)\n              (unsafe-vector*-set! buf key (new-buffer))\n              (let* ((parts.k       (unsafe-vector*-ref parts     key))\n                     (pos.parts.k   (unsafe-vector*-ref pos.parts key))\n                     (pos.parts.k+1 (unsafe-fx+ pos.parts.k 1))\n                     (len.parts.k   (unsafe-vector*-length parts.k)))\n                (unsafe-vector*-set! pos.parts key pos.parts.k+1)\n                (if (unsafe-fx= pos.parts.k+1 len.parts.k)\n                  (let ((parts.k.new (make-vector (unsafe-fx* len.parts.k growth-factor.parts))))\n                    (unsafe-vector*-set!  parts key parts.k.new)\n                    (vector-copy! parts.k.new 0 parts.k)\n                    (unsafe-vector*-set!  parts.k.new pos.parts.k buf.k))\n                  (unsafe-vector*-set! parts.k pos.parts.k buf.k))))\n            (unsafe-vector*-set! pos key pos.k+1)))\n        (loop (unsafe-fx+ i 1))))\n    (let loop.all ((k 0) (j start))\n      (when (unsafe-fx< k count.parts)\n        (let ((parts.k     (unsafe-vector*-ref parts     k))\n              (pos.parts.k (unsafe-vector*-ref pos.parts k))\n              (buf.k       (unsafe-vector*-ref buf       k))\n              (pos.k       (unsafe-vector*-ref pos       k)))\n          (let loop ((i 0) (j j))\n            (if (unsafe-fx< i pos.parts.k)\n              (let ((part (unsafe-vector*-ref parts.k i)))\n                (let loop ((i 0))\n                  (when (unsafe-fx< i count.buffer)\n                    (unsafe-vector*-set! v (unsafe-fx+ j i) (unsafe-vector*-ref part i))\n                    (loop (unsafe-fx+ i 1))))\n                (free-buffer part)\n                (loop (unsafe-fx+ i 1) (unsafe-fx+ j count.buffer)))\n              (let loop ((i 0))\n                (if (unsafe-fx= i pos.k)\n                  (begin (free-buffer buf.k)\n                         (loop.all (unsafe-fx+ k 1) (unsafe-fx+ j pos.k)))\n                  (begin (unsafe-vector*-set! v (unsafe-fx+ j i) (unsafe-vector*-ref buf.k i))\n                         (loop (unsafe-fx+ i 1))))))))))\n    (when (unsafe-fx< shift shift.final)\n      (loop (unsafe-fx+ shift size.shift)))))\n\n(define (counting-radix-sort-helper v.src start.src end.src v.0 start.0 v.1 start.1 t->key key-byte-count)\n  (define size.shift    8)\n  (define mask.shift  255)\n  (define count.parts 256)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (define len         (unsafe-fx- end.src start.src))\n  (define shift.final (unsafe-fx* 8 (unsafe-fx- key-byte-count 1)))\n  (define offset      (make-vector count.parts))\n  (let loop.shift ((shift      0)\n                   (v.src      v.src) (start          start.src) (end          end.src)\n                   (v.tgt      v.0)   (start.tgt      start.0)   (end.tgt      (unsafe-fx+ start.0 len))\n                   (v.tgt.next v.1)   (start.tgt.next start.1)   (end.tgt.next (unsafe-fx+ start.1 len)))\n    (vector-fill! offset 0)\n    (let loop.count ((i start))\n      (when (unsafe-fx< i end)\n        ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n        (let ((key (unsafe-fxand mask.shift (fxrshift (t->key (unsafe-vector*-ref v.src i)) shift))))\n          (unsafe-vector*-set! offset key (unsafe-fx+ (unsafe-vector*-ref offset key) 1)))\n        (loop.count (unsafe-fx+ i 1))))\n    (let loop.offset ((k 0) (current start.tgt))\n      (when (unsafe-fx< k count.parts)\n        (let ((cardinality (unsafe-vector*-ref offset k)))\n          (unsafe-vector*-set! offset k current)\n          (loop.offset (unsafe-fx+ k 1) (unsafe-fx+ current cardinality)))))\n    (let loop.copy ((i start))\n      (when (unsafe-fx< i end)\n        ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n        (let* ((t     (unsafe-vector*-ref v.src i))\n               (key   (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n               (off.k (unsafe-vector*-ref offset key)))\n          (unsafe-vector*-set! offset key (unsafe-fx+ off.k 1))\n          (unsafe-vector*-set! v.tgt off.k t))\n        (loop.copy (unsafe-fx+ i 1))))\n    (when (unsafe-fx< shift shift.final)\n      (loop.shift (unsafe-fx+ shift size.shift)\n                  v.tgt      start.tgt      end.tgt\n                  v.tgt.next start.tgt.next end.tgt.next\n                  v.tgt      start.tgt      end.tgt))))\n\n(define (counting-radix-sort! v t->key key-byte-count (start 0) (end (vector-length v)))\n  (define len         (- end start))\n  (define v.workspace (make-vector len))\n  (counting-radix-sort-helper v start end v.workspace 0 v start t->key key-byte-count)\n  (when (odd? key-byte-count)\n    (vector-copy! v start v.workspace 0 len)))\n\n(define (counting-radix-sort v t->key key-byte-count (start 0) (end (vector-length v)))\n  (define len           (- end start))\n  (define v.workspace.0 (make-vector len))\n  (define v.workspace.1 (make-vector len))\n  (counting-radix-sort-helper v start end v.workspace.0 0 v.workspace.1 0 t->key key-byte-count)\n  (if (odd? key-byte-count)\n    v.workspace.0\n    v.workspace.1))\n\n(define ((enumerator-lsd-radix-sort en t->key key-byte-count) k!)\n  (define size.shift               8)\n  (define mask.shift             255)\n  (define count.parts            256)\n  (define count.buffer           512)\n  (define count.initial.parts      8)\n  (define growth-factor.parts      2)\n  (define count.initial.buffers 1024)\n  (define growth-factor.buffers    2)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (define shift.final (unsafe-fx* 8 (unsafe-fx- key-byte-count 1)))\n  (define buffers     (make-vector count.initial.buffers))\n  (define pos.buffers 0)\n  (define (new-buffer)\n    (if (unsafe-fx= pos.buffers 0)\n      (make-vector count.buffer)\n      (begin (set! pos.buffers (unsafe-fx- pos.buffers 1))\n             (unsafe-vector*-ref buffers pos.buffers))))\n  (define (free-buffer b)\n    (vector-fill! b 0)\n    (when (unsafe-fx= pos.buffers (unsafe-vector*-length buffers))\n      (let ((buffers.new (make-vector (unsafe-fx* pos.buffers growth-factor.buffers))))\n        (vector-copy! buffers.new 0 buffers)\n        (set! buffers buffers.new)))\n    (unsafe-vector*-set! buffers pos.buffers b)\n    (set! pos.buffers (unsafe-fx+ pos.buffers 1)))\n  (let enumerate ((shift 0) (en en))\n    (define parts     (make-vector count.parts))\n    (define pos.parts (make-vector count.parts 0))\n    (define buf       (make-vector count.parts))\n    (define pos       (make-vector count.parts 0))\n    (let loop ((i 0))\n      (when (unsafe-fx< i count.parts)\n        (unsafe-vector*-set! parts i (make-vector count.initial.parts))\n        (unsafe-vector*-set! buf   i (new-buffer))\n        (loop (unsafe-fx+ i 1))))\n    (en (lambda (t)\n          ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n          (let* ((key     (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n                 (buf.k   (unsafe-vector*-ref buf key))\n                 (pos.k   (unsafe-vector*-ref pos key))\n                 (pos.k+1 (unsafe-fx+ pos.k 1)))\n            (unsafe-vector*-set! buf.k pos.k t)\n            (if (unsafe-fx= pos.k+1 count.buffer)\n              (begin\n                (unsafe-vector*-set! pos key 0)\n                (unsafe-vector*-set! buf key (new-buffer))\n                (let* ((parts.k       (unsafe-vector*-ref parts     key))\n                       (pos.parts.k   (unsafe-vector*-ref pos.parts key))\n                       (pos.parts.k+1 (unsafe-fx+ pos.parts.k 1))\n                       (len.parts.k   (unsafe-vector*-length parts.k)))\n                  (unsafe-vector*-set! pos.parts key pos.parts.k+1)\n                  (if (unsafe-fx= pos.parts.k+1 len.parts.k)\n                    (let ((parts.k.new (make-vector (unsafe-fx* len.parts.k growth-factor.parts))))\n                      (unsafe-vector*-set!  parts key parts.k.new)\n                      (vector-copy! parts.k.new 0 parts.k)\n                      (unsafe-vector*-set!  parts.k.new pos.parts.k buf.k))\n                    (unsafe-vector*-set! parts.k pos.parts.k buf.k))))\n              (unsafe-vector*-set! pos key pos.k+1)))))\n    (define (en.new k!)\n      (let loop ((i 0))\n        (when (unsafe-fx< i count.parts)\n          (let ((parts.i     (unsafe-vector*-ref parts     i))\n                (pos.parts.i (unsafe-vector*-ref pos.parts i))\n                (buf.i       (unsafe-vector*-ref buf       i))\n                (pos.i       (unsafe-vector*-ref pos       i)))\n            (let loop ((i 0))\n              (if (unsafe-fx= i pos.parts.i)\n                (begin ((unsafe-vector->enumerator buf.i 0 pos.i) k!)\n                       (free-buffer buf.i))\n                (begin (let ((part (unsafe-vector*-ref parts.i i)))\n                         ((unsafe-vector->enumerator part 0 count.buffer) k!)\n                         (free-buffer part))\n                       (loop (unsafe-fx+ i 1))))))\n          (loop (unsafe-fx+ i 1)))))\n    (if (unsafe-fx= shift shift.final)\n      (en.new k!)\n      (enumerate (unsafe-fx+ shift size.shift) en.new))))\n\n(define (in-place-radix-sort! v t->key key-byte-count (start 0) (end (vector-length v)))\n  (define threshold 268435456)\n  ;(define threshold 67108864)\n  ;(define threshold 16777216)\n  ;(define threshold  65535)\n  ;(define threshold  8192)\n  ;(define threshold  4096)\n  ;(define threshold  1024)\n  ;(define threshold  256)\n  ;(define threshold  0)\n  (define size.shift    8)\n  (define mask.shift  255)\n  (define count.parts 256)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (let loop.shift ((shift (unsafe-fx* 8 (unsafe-fx- key-byte-count 1))) (start start) (end end))\n    ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n    (define (t->byte t) (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n    (define count  (make-vector count.parts))\n    (define offset (make-vector count.parts))\n    (let loop.count ((i start))\n      (when (unsafe-fx< i end)\n        (let ((key (t->byte (unsafe-vector*-ref v i))))\n          (unsafe-vector*-set! count key (unsafe-fx+ (unsafe-vector*-ref count key) 1)))\n        (loop.count (unsafe-fx+ i 1))))\n    (let loop.offset ((k 0) (current start))\n      (when (unsafe-fx< k count.parts)\n        (let ((cardinality (unsafe-vector*-ref count k)))\n          (let loop.advance ((i current))\n            (if (and (unsafe-fx< i end) (unsafe-fx= (t->byte (unsafe-vector*-ref v i)) k))\n              (loop.advance (unsafe-fx+ i 1))\n              (let ((next (unsafe-fx+ current cardinality)))\n                (unsafe-vector*-set! offset k i)\n                (unsafe-vector*-set! count  k next)\n                (loop.offset (unsafe-fx+ k 1) next)))))))\n    (let loop.move.k ((k 0) (i.part.start start))\n      (when (unsafe-fx< k count.parts)\n        (let* ((i.start (unsafe-vector*-ref offset k))\n               (i.end   (unsafe-vector*-ref count k)))\n          (let loop.move ((i i.start))\n            (when (unsafe-fx< i i.end)\n              (let ((t (unsafe-vector*-ref v i)))\n                (let loop.swap ((t.current t)\n                                (key       (t->byte t)))\n                  (let* ((off.k (unsafe-vector*-ref offset key))\n                         (t.next (unsafe-vector*-ref v off.k)))\n                    (unsafe-vector*-set! v      off.k t.current)\n                    (unsafe-vector*-set! offset key   (unsafe-fx+ off.k 1))\n                    (let ((key (t->byte t.next)))\n                      (if (unsafe-fx= key k)\n                        (begin (unsafe-vector*-set! v i t.next)\n                               (loop.move (unsafe-fx+ i 1)))\n                        (loop.swap t.next key))))))))\n          (when (and (unsafe-fx< 0 shift) (unsafe-fx< i.part.start i.end))\n            (if (unsafe-fx<= (unsafe-fx- i.end i.part.start) threshold)\n              (counting-radix-sort! v t->key (/ shift 8) i.part.start i.end)\n              (loop.shift (unsafe-fx- shift size.shift) i.part.start i.end)))\n          (loop.move.k (unsafe-fx+ k 1) i.end))))))\n\n;; TODO: factor out enumerator-radix-partition ?\n;; simplify t->key interface to return exactly a byte, discard key-byte-count parameter\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Benchmark\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;#|\n(define key-byte-count 4)\n;(define count.node (arithmetic-shift 1 28))\n;(define count.node (arithmetic-shift 1 27))\n(define count.node (arithmetic-shift 1 25))\n;|#\n\n#|\n(define key-byte-count 3)\n;(define count.node (arithmetic-shift 1 24))\n(define count.node (arithmetic-shift 1 22))\n;|#\n\n#|\n(define key-byte-count 2)\n(define count.node (arithmetic-shift 1 16))\n;|#\n\n(define count.edge (* count.node 16))\n\n(displayln \"allocating nodes:\")\n(displayln count.node)\n(define nodes (time (make-vector count.node)))\n(displayln \"allocating edges:\")\n(displayln count.edge)\n\n;#|\n(define edges (time (make-vector count.edge)))\n(define en.edges (unsafe-vector->enumerator edges 0 count.edge))\n\n(displayln \"building edges\")\n(time (let loop ((i 0))\n        (when (< i count.edge)\n          (vector-set! edges i (random count.node))\n          ;(vector-set! edges i (cons (random count.node) (random count.node)))\n          (loop (+ i 1)))))\n;|#\n\n#|\n(define (en.edges k!)\n  (let loop ((i 0))\n    (when (< i count.edge)\n      (k! (random count.node))\n      ;(k! (cons (random count.node) (random count.node)))\n      (loop (+ i 1)))))\n;|#\n\n;(define edge->key car)\n(define (edge->key e) e)\n\n#|\n(displayln \"sorting edges\")\n(time (vector-sort!\n        edges\n        (lambda (e.0 e.1) (< (edge->key e.0) (edge->key e.1)))))\n;|#\n\n#|\n(displayln \"computing node degrees inlined\")\n(time (let loop ((i 0))\n        (when (unsafe-fx< i count.edge)\n          (let ((key (unsafe-vector*-ref edges i)))\n            (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1)))\n          (loop (unsafe-fx+ i 1)))))\n;|#\n\n#|\n(displayln \"computing node degrees\")\n(time (en.edges\n        (lambda (edge)\n         (define key (edge->key edge))\n         ;(vector-set! nodes key (+ (vector-ref nodes key) 1))\n         (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1))\n         )))\n;|#\n\n#|\n(displayln \"computing node degrees inlined after lsd-radix sorting edges in-place\")\n;(time (unsafe-vector-radix-sort! edges edge->key key-byte-count))\n;(time (counting-radix-sort! edges edge->key key-byte-count))\n(let ((v.workspace (time (make-vector count.edge))))\n  (time (collect-garbage))\n  (time (counting-radix-sort-helper edges 0 count.edge v.workspace 0 edges 0 edge->key key-byte-count))\n  (when (odd? key-byte-count)\n    (time (vector-copy! edges 0 v.workspace 0 count.edge))))\n\n(time (let loop ((i 0))\n        (when (unsafe-fx< i count.edge)\n          (let ((key (unsafe-vector*-ref edges i)))\n            (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1)))\n          (loop (unsafe-fx+ i 1)))))\n;|#\n\n#|\n(displayln \"computing node degrees inlined after in-place-msd-radix sorting edges\")\n(time (in-place-radix-sort! edges edge->key key-byte-count))\n(time (let loop ((i 0))\n        (when (unsafe-fx< i count.edge)\n          (let ((key (unsafe-vector*-ref edges i)))\n            (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1)))\n          (loop (unsafe-fx+ i 1)))))\n;|#\n\n#|\n(displayln \"computing node degrees while lsd-radix sorting edges\")\n(time ((enumerator-lsd-radix-sort en.edges edge->key key-byte-count)\n       (lambda (edge)\n         (define key (edge->key edge))\n         ;(vector-set! nodes key (+ (vector-ref nodes key) 1))\n         (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1))\n         )))\n;|#\n\n#|\n(displayln \"computing node degrees while msd-radix sorting edges\")\n(time ((enumerator-msd-radix-sort en.edges edge->key key-byte-count)\n       (lambda (edge)\n         (define key (edge->key edge))\n         ;(vector-set! nodes key (+ (vector-ref nodes key) 1))\n         (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1))\n         )))\n;|#\n\n;(displayln 'in-place-radix-sort!) (time (in-place-radix-sort! edges edge->key key-byte-count))\n(displayln 'counting-radix-sort!) (time (counting-radix-sort! edges edge->key key-byte-count))\n;(displayln 'unsafe-vector-radix-sort!) (time (unsafe-vector-radix-sort! edges edge->key key-byte-count))\n(time (let ((previous #f))\n        (en.edges\n          (lambda (edge)\n            (when (and previous (< (edge->key edge) previous))\n              (error \"not sorted!\" previous (edge->key edge)))\n            (set! previous (edge->key edge))))))\n\n#;(let ((previous #f))\n  ((enumerator-lsd-radix-sort en.edges edge->key key-byte-count)\n   (lambda (edge)\n     (when (and previous (< (edge->key edge) previous))\n       (error \"not sorted!\" previous (edge->key edge)))\n     (set! previous (edge->key edge)))))\n\n#;(let ((previous #f))\n  ((enumerator-msd-radix-sort en.edges edge->key key-byte-count)\n   (lambda (edge)\n     (when (and previous (< (edge->key edge) previous))\n       (error \"not sorted!\" previous (edge->key edge)))\n     (set! previous (edge->key edge)))))\n"
  },
  {
    "path": "medikanren2/dbk/test/benchmark-sorting/string-sort.rkt",
    "content": "#lang racket/base\n(require racket/list racket/pretty racket/unsafe/ops racket/vector)\n\n;; TODO: pre-allocate a buffer for all the threshold merge sorts to share\n;; TODO: try MSD-radix-sort with a threshold for switching to q3sort! ?\n;; TODO: try burst/trie sort?\n\n;; multi-key (aka 3-way) quicksort\n(define (q3sort! max-depth? x&depth->cmp <? v start end)\n  ;(define threshold 4096)\n  ;(define threshold 1024)\n  (define threshold 128)\n  ;(define threshold 64)\n  (define (q3partition start end cmp k!)\n    (define (cmp/i i) (cmp (unsafe-vector*-ref v i)))\n    ;; TODO: are the initial forward/backward scans worth the extra complexity?\n    (let loop ((i.low start))\n      (if (and (unsafe-fx< i.low end) (unsafe-fx= (cmp/i i.low) -1))\n        (loop (unsafe-fx+ i.low 1))\n        (let loop ((i.high end))\n          ;; (< i.low i.high) is guaranteed since we always have a partitioning element\n          (let ((i.high.next (unsafe-fx- i.high 1)))\n            (if (unsafe-fx= (cmp/i i.high.next) 1)\n              (loop i.high.next)\n              (let loop ((i.low i.low) (i.mid i.low) (i.high i.high))\n                (if (unsafe-fx< i.mid i.high)\n                  (let ((x (unsafe-vector*-ref v i.mid)))\n                    (case (cmp x)\n                      ((-1) (let ((x.next (unsafe-vector*-ref v i.low)))\n                              (unsafe-vector*-set! v i.low x)\n                              (unsafe-vector*-set! v i.mid x.next)\n                              (loop (unsafe-fx+ i.low 1) (unsafe-fx+ i.mid 1) i.high)))\n                      (( 0) (loop i.low (unsafe-fx+ i.mid 1) i.high))\n                      (( 1) (let* ((i.high.next (unsafe-fx- i.high 1))\n                                   (x.next      (unsafe-vector*-ref v i.high.next)))\n                              (unsafe-vector*-set! v i.high.next x)\n                              (unsafe-vector*-set! v i.mid       x.next)\n                              (loop i.low i.mid i.high.next)))))\n                  (k! i.low i.mid)))))))))\n  (let loop.next-depth ((depth 0) (start start) (end end))\n    (let loop.skip-max ((i start) (start start))\n      (if (unsafe-fx< i end)\n        (let ((x (unsafe-vector*-ref v i)))\n          (cond ((max-depth? x depth) (unsafe-vector*-set! v i     (unsafe-vector*-ref v start))\n                                      (unsafe-vector*-set! v start x)\n                                      (loop.skip-max (unsafe-fx+ i 1) (unsafe-fx+ start 1)))\n                (else                 (loop.skip-max (unsafe-fx+ i 1)             start))))\n        (let loop.current-depth ((start start) (end end))\n          (if (unsafe-fx<= (unsafe-fx- end start) threshold)\n            (vector-sort! v <? start end)\n            (q3partition start end (x&depth->cmp (unsafe-vector*-ref v (random start end))\n                                                 depth)\n                         (lambda (i.low i.mid)\n                           (loop.current-depth                   start i.low)\n                           (loop.current-depth                   i.mid end)\n                           (loop.next-depth (unsafe-fx+ depth 1) i.low i.mid)))))))))\n\n(define (vector-bytes-sort! v (start 0) (end (vector-length v)))\n  (define (ref x d) (unsafe-bytes-ref x d))\n  (q3sort!\n    (lambda (x depth) (unsafe-fx<= (unsafe-bytes-length x) depth))\n    (lambda (x depth) (let ((n (bytes-ref x depth)))\n                        (lambda (y)\n                          (let ((m (bytes-ref y depth)))\n                            (cond ((unsafe-fx< m n) -1)\n                                  ((unsafe-fx= m n)  0)\n                                  (else              1))))))\n    bytes<?\n    v start end))\n\n(define (vector-string-sort! v (start 0) (end (vector-length v)))\n  (define (ref x d) (string-ref x d))\n  (q3sort!\n    (lambda (x depth) (unsafe-fx<= (unsafe-string-length x) depth))\n    (lambda (x depth) (let ((n (ref x depth)))\n                        (lambda (y)\n                          (let ((m (ref y depth)))\n                            (cond ((unsafe-char<? m n) -1)\n                                  ((unsafe-char=? m n)  0)\n                                  (else                 1))))))\n    string<?\n    v start end))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Benchmark\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (random-string)\n  (list->string (map (lambda (_) (integer->char (random 128))) (range (random 200)))))\n\n(define (string-sort-and-verify v)\n  (define v.expected (time (vector-sort v string<?)))\n  (time (vector-string-sort! v))\n  (unless (equal? v.expected v)\n    (pretty-write 'sort-failed)))\n\n(define (random-bytes)\n  (list->bytes (map (lambda (_) (random 128)) (range (random 300 500)))))\n\n(define (bytes-sort-and-verify v)\n  ;(define v.expected (time (vector-sort v bytes<?)))\n  (define v.expected (time (vector-copy v)))\n  (time (vector-sort! v.expected bytes<?))\n\n  (time (vector-bytes-sort! v))\n  (unless (equal? v.expected v)\n    (pretty-write 'sort-failed)))\n\n;(define test-size 80000000)\n;(define test-size 20000000)\n(define test-size 5000000)\n;(define test-size 500000)\n\n;(string-sort-and-verify (time (list->vector (map (lambda (_) (random-string)) (range test-size)))))\n(bytes-sort-and-verify (time (list->vector (map (lambda (_) (random-bytes)) (range test-size)))))\n"
  },
  {
    "path": "medikanren2/dbk/test/benchmark1.rkt",
    "content": "#lang racket/base\n(require \"../dbk.rkt\" racket/function racket/list racket/pretty)\n(print-as-expression #f)\n(pretty-print-abbreviate-read-macros #f)\n\n(define-syntax-rule (test name e expected)\n  (begin (printf \"Testing ~s:\\n\" name)\n         (pretty-print 'e)\n         (let ((answer (time e)))\n           (unless (equal? answer expected)\n             (printf \"FAILED ~s:\\n\" name)\n             (printf \"  ANSWER:\\n\")\n             (pretty-print answer)\n             (printf \"  EXPECTED:\\n\")\n             (pretty-print expected)))))\n\n(for-each (lambda (key) (current-config-set! key 'always))\n          '(update-policy cleanup-policy migrate-policy))\n\n\n;; Benchmark reference: http://users.informatik.uni-halle.de/~brass/botup/\n\n(define-relation/table Q\n  'path            \"benchmark1/Q\"\n  'source-stream   (value/syntax\n                     (map (lambda (i) (list i (+ i 1))) (range 1 5001)))\n  'attribute-names '(a b)\n  'attribute-types '(nat nat)\n  ;; optionally preload into memory\n  'retrieval-type  'scm\n  )\n\n(define-relation/table R\n  'path            \"benchmark1/R\"\n  'source-stream   (value/syntax\n                     (map (lambda (i) (list i    i))    (range 1 5001)))\n  'attribute-names '(a b)\n  'attribute-types '(nat nat)\n  ;; optionally preload into memory\n  'retrieval-type  'scm\n  )\n\n(define-relation (P3.1 b y) (fresh (x) (P2.1 b x) (Q x y)))\n(define-relation (P2.1 c w) (fresh (v) (P1.1 c v) (Q v w)))\n(define-relation (P1.1 d u) (fresh (t) (P0.1 d t) (Q t u)))\n(define-relation (P0.1 e s) (R e s))\n\n;; disk: ~8000ms\n;; scm:  ~1400ms\n(test 'benchmark-1\n  (length (run* (a z) (P3.1 a z)))\n  ;; smallest: (1    4)\n  ;; largest:  (4998 5001)\n  4998)\n\n(define-relation (P3.2 x z) (fresh (y) (Q x y) (P2.2 y z)))\n(define-relation (P2.2 x z) (fresh (y) (Q x y) (P1.2 y z)))\n(define-relation (P1.2 x z) (fresh (y) (Q x y) (P0.2 y z)))\n(define-relation (P0.2 x y) (R x y))\n\n;; disk: ~8000ms\n;; scm:  ~1400ms\n(test 'benchmark-2\n  (length (run* (x z) (P3.2 x z)))\n  ;; smallest: (1    4)\n  ;; largest:  (4997 5000)\n  4997)\n\n\n;; TODO: improve performance\n\n;(define-relation/table Q.large\n;  'path            \"benchmark1/Q.large\"\n;  'source-stream   (value/syntax\n;                     (map (lambda (i) (list i (+ i 1))) (range 1 1000001)))\n;  'attribute-names '(a b)\n;  'attribute-types '(nat nat)\n;  ;; optionally preload into memory\n;  'retrieval-type  'scm\n;  )\n;\n;(define-relation/table R.large\n;  'path            \"benchmark1/R.large\"\n;  'source-stream   (value/syntax\n;                     (map (lambda (i) (list i    i))    (range 1 1000001)))\n;  'attribute-names '(a b)\n;  'attribute-types '(nat nat)\n;  ;; optionally preload into memory\n;  'retrieval-type  'scm\n;  )\n;\n;(define-relation (P3.2.large x z) (fresh (y) (Q.large x y) (P2.2.large y z)))\n;(define-relation (P2.2.large x z) (fresh (y) (Q.large x y) (P1.2.large y z)))\n;(define-relation (P1.2.large x z) (fresh (y) (Q.large x y) (P0.2.large y z)))\n;(define-relation (P0.2.large x y) (R.large x y))\n;\n;;; disk: ?\n;;; scm:  ?\n;(test 'benchmark-2-large\n;  (length (run* (x z) (P3.2.large x z)))\n;  '?)\n\n\n;; TODO: improve performance\n\n;(define-relation/table S\n;  'path            \"benchmark1/S\"\n;  'source-stream   (value/syntax (map list (range 1 50001)))\n;  'attribute-names '(a)\n;  'attribute-types '(nat)\n;  ;; optionally preload into memory\n;  'retrieval-type  'scm\n;  )\n\n;(define-relation (P1.3 a)             (S a))\n;(define-relation (P2.3 a b)           (P1.3 a)           (membero b '(1 2)))\n;(define-relation (P3.3 a b c)         (P2.3 a b)         (membero c '(1 2)))\n;(define-relation (P4.3 a b c d)       (P3.3 a b c)       (membero d '(1 2)))\n;(define-relation (P5.3 a b c d e)     (P4.3 a b c d)     (membero e '(1 2)))\n;(define-relation (P6.3 a b c d e f)   (P5.3 a b c d e)   (membero f '(1 2)))\n;(define-relation (P7.3 a b c d e f g) (P6.3 a b c d e f) (membero g '(1 2)))\n\n;;; disk: ?\n;;; scm:  ?\n;(test 'benchmark-3\n;  (length (run* (a b c d e f g) (P7.3 a b c d e f g)))\n;  (* 50000 (expt 2 6)))\n\n\n;; TODO: fixed-point computations\n\n;(define-relation/table edge\n;  'path            \"benchmark1/edge\"\n;  'source-stream   (value/syntax\n;                     (map (lambda (i) (list i (+ i 1))) (range 1 1001)))\n;  'attribute-names '(a b)\n;  'attribute-types '(nat nat)\n;  ;; optionally preload into memory\n;  'retrieval-type  'scm\n;  )\n;\n;(define-relation (path x z)\n;  (conde ((edge x z))\n;         ((fresh (y) (edge x y) (path y z)))))\n;\n;;; disk: ?\n;;; scm:  ?\n;(test 'benchmark-fixed-point\n;  (length (run* (a b) (path a b)))\n;  (/ (* 1000 (+ 1000 1)) 2))\n"
  },
  {
    "path": "medikanren2/dbk/test/test-dataflow.rkt",
    "content": "#lang racket/base\n(require\n  \"../dbk.rkt\"\n  \"../dbk/data.rkt\"\n  \"../dbk/enumerator.rkt\"\n  racket/pretty\n  racket/runtime-path\n  racket/set)\n\n(define-relation/table (cprop curie key value)   'path \"rtx2/20210204/cprop\")\n(define-relation/table (edge  id subject object) 'path \"rtx2/20210204/edge\")\n(define-relation/table (eprop id key value)      'path \"rtx2/20210204/eprop\")\n\n(define (dict-select d key) (d 'ref key (lambda (v) v) (lambda () (error \"dict ref failed\" key))))\n\n(define-runtime-path path.here \".\")\n\n(define db      (database (path->string (build-path path.here \"rtx-kg2_20210204.db\"))))\n(define r.cprop (database-relation db '(rtx-kg2 cprop)))\n(define r.edge  (database-relation db '(rtx-kg2 edge)))\n(define r.eprop (database-relation db '(rtx-kg2 eprop)))\n\n(define dict.eprop.eid.value.key     (relation-index-dict r.eprop '(key value eid)))\n(define dict.edge.subject.eid.object (relation-index-dict r.edge  '(object eid subject)))\n(define dict.cprop.value.key.curie   (relation-index-dict r.cprop '(curie key value)))\n(define domain-dicts                 (relation-domain-dicts r.cprop))\n(define dict.string=>id              (car (hash-ref (car domain-dicts) 'text)))\n(define dict.id=>string              (car (hash-ref (cdr domain-dicts) 'text)))\n\n(define (string->id str) (dict-select dict.string=>id str))\n(define (id->string id)  (dict-select dict.id=>string id))\n\n(define (benchmark-find-treatments curie.target)\n  (define (run-query yield)\n    (define curie.nausea.id       (string->id curie.target))\n    (define ekey.predicate.id     (string->id \"predicate\"))\n    (define evalue.treats.id      (string->id \"biolink:treats\"))\n    (define ckey.category.id      (string->id \"category\"))\n    (define ckey.name.id          (string->id \"name\"))\n    (define dict.eprop.eid.value  (dict-select dict.eprop.eid.value.key     ekey.predicate.id))\n    (define dict.eprop.eid        (dict-select dict.eprop.eid.value         evalue.treats.id))\n    (define dict.edge.subject.eid (dict-select dict.edge.subject.eid.object curie.nausea.id))\n    ((merge-join dict.eprop.eid dict.edge.subject.eid)\n     (lambda (eid __ dict.edge.subject)\n       ((merge-join dict.edge.subject dict.cprop.value.key.curie)\n        (lambda (subject.id __ dict.cprop.value.key)\n          (define subject             (id->string subject.id))\n          (define dict.cprop.category (dict-select dict.cprop.value.key ckey.category.id))\n          (define dict.cprop.name     (dict-select dict.cprop.value.key ckey.name.id))\n          ((merge-join dict.cprop.category dict.id=>string)\n           (lambda (category.id __ category)\n             ((merge-join dict.cprop.name dict.id=>string)\n              (lambda (name.id __ name)\n                (yield (list subject category name)))))))))))\n  ;; Some nausea timings\n  ;; cpu time: 1485 real time: 1610 gc time: 19\n  ;; cpu time: 1539 real time: 1557 gc time: 15\n  ;; cpu time: 1538 real time: 1556 gc time: 24\n  (define results.old (time (run* (s cat name)\n                              (fresh (eid)\n                                (edge eid s curie.target)\n                                (cprop s \"category\" cat)\n                                (cprop s \"name\" name)\n                                (eprop eid \"predicate\" \"biolink:treats\")))))\n  ;; Some nausea timings\n  ;; cpu time: 27 real time: 27 gc time: 0\n  ;; cpu time: 31 real time: 31 gc time: 0\n  ;; cpu time: 30 real time: 31 gc time: 0\n  (define results.new (time (enumerator->rlist run-query)))\n  ;; 149 results\n  (pretty-write `(old:    ,(length results.old) ,results.old))\n  (pretty-write `(new:    ,(length results.new) ,results.new))\n  (pretty-write `(equal?: ,(equal? (list->set results.old) (list->set results.new)))))\n"
  },
  {
    "path": "medikanren2/dbk/test/test-ingest-example-simple.rkt",
    "content": "#lang racket/base\n(require \"../dbk/io.rkt\"\n         \"../dbk/data.rkt\"\n         \"../dbk/stream.rkt\"\n         racket/runtime-path)\n\n(define-runtime-path path.here \".\")\n\n(define db (database (build-path path.here \"example-db\")))\n\n(unless (database-relation-has? db '(example cprop))\n  (database-relation-add!\n    db '(example cprop)\n    'attributes '(curie  key    value)\n    'type       '(string string string)\n    'source     (in:file \"example/example.nodeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\"))))\n\n(unless (database-relation-has? db '(example edge))\n  (database-relation-add!\n    db '(example edge)\n    'attributes '(eid subject object)\n    'type       '(nat string  string)\n    'source     (s-map (lambda (row) (cons (string->number (car row)) (cdr row)))\n                       (in:file \"example/example.edge.tsv\"     'header '(\":ID\" \":START\" \":END\")))))\n\n(unless (database-relation-has? db '(example eprop))\n  (database-relation-add!\n    db '(example eprop)\n    'attributes '(eid key    value)\n    'type       '(nat string string)\n    'source     (s-map (lambda (row) (cons (string->number (car row)) (cdr row)))\n                       (in:file \"example/example.edgeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\")))))\n\n(define cprop (database-relation db '(example cprop)))\n(define edge  (database-relation db '(example edge)))\n(define eprop (database-relation db '(example eprop)))\n\n(database-compact! db)\n\n(relation-index-add! cprop\n                     '(curie key)\n                     '(key value))\n(relation-index-add! edge\n                     '(eid)\n                     '(subject object)\n                     '(subject eid)\n                     '(object  eid))\n(relation-index-add! eprop\n                     '(eid key)\n                     '(key value))\n"
  },
  {
    "path": "medikanren2/dbk/test/test-ingest-example.rkt",
    "content": "#lang racket/base\n(require \"../dbk/io.rkt\"\n         racket/match)\n\n;; TODO: require these\n(define file-checksum          #f)\n(define-syntax-rule (run* body ...) '(TODO: run* body ...))\n(define database               #f)\n(define database-relation      #f)\n(define database-update!       #f)\n(define database-checkpoint!   #f)\n(define database-index-build!  #f)\n(define database-compact!      #f)\n(define relation-database      #f)\n(define relation-name          #f)\n(define relation-insert        #f)\n(define relation-index-add!    #f)\n(define relation-index-remove! #f)\n(define relation-index-build!  #f)\n\n(define db (database \"path/to/example/db\"\n                     'immediate-checkpoint?  #f\n                     'immediate-index-build? #f\n                     'immediate-compact?     #f))\n\n(define update-history (database-relation\n                         db\n                         'name       'update-history\n                         'attributes '(relation-name update-time update-kind file-name file-size file-checksum)\n                         'type       '(#f            nat         #f          string    nat       string)))\n(database-checkpoint! db)\n\n(define cprop (database-relation\n                db '(example cprop)\n                'attributes '(curie  key    value)\n                'type       '(string string string)))\n(define eprop (database-relation\n                db '(example eprop)\n                'attributes '(eid key    value)\n                'type       '(nat string string)))\n(define edge  (database-relation\n                db '(example edge)\n                'attributes '(eid subject object)\n                'type       '(nat string  string)))\n(relation-index-add! cprop\n                     '(curie key)\n                     '(key value))\n(relation-index-add! eprop\n                     '(eid key)\n                     '(key value))\n(relation-index-add! edge\n                     '(eid)\n                     '(subject object)\n                     '(object subject))\n(database-checkpoint! db)\n\n(define (relation-ingest! R path.dir file-name file-params)\n  (define name.R              (relation-name R))\n  (define path.file           (build-path path.dir file-name))\n  (define checksum.file       (file-checksum path.file))\n  (define size.file           (file-size path.file))\n  (define file-ingest-history (run* (timestamp size checksum)\n                                (update-history name.R timestamp 'ingest file-name size checksum)))\n  (if (null? file-ingest-history)\n    (begin (database-update!\n             (relation-database R)\n             (relation-insert update-history (list (list name.R (current-milliseconds)\n                                                         'ingest file-name size.file checksum.file)))\n             (relation-insert R              (apply in:file path.file file-params)))\n           (database-checkpoint! db))\n    (unless (ormap (lambda (entry) (match entry\n                                     ((list timestamp size checksum) (and (equal? size     size.file)\n                                                                          (equal? checksum checksum.file)))\n                                     (_                              #f)))\n                   file-ingest-history)\n      (error \"inconsistent data ingestion history:\"\n             'relation-name name.R\n             'file-name     file-name\n             'file-size     size.file\n             'file-checksum checksum.file\n             'history       file-ingest-history))))\n\n(relation-ingest! cprop \"example\" \"example.nodeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\"))\n(relation-ingest! eprop \"example\" \"example.edgeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\"))\n(relation-ingest! edge  \"example\" \"example.edge.tsv\"     'header '(\":ID\" \":START\" \":END\"))\n\n(database-index-build! db)\n(database-compact!     db)\n"
  },
  {
    "path": "medikanren2/dbk/test/test-mk.rkt",
    "content": "#lang racket/base\n(require \"../dbk.rkt\" racket/function racket/list racket/pretty racket/set)\n(print-as-expression #f)\n(pretty-print-abbreviate-read-macros #f)\n\n(define (sort/any xs) (sort xs any<?))\n\n(define-syntax-rule (test name e expected)\n  (begin (printf \"Testing ~s:\\n\" name)\n         (let ((answer e))\n           (unless (equal? answer expected)\n             (pretty-print 'e)\n             (printf \"FAILED ~s:\\n\" name)\n             (printf \"  ANSWER:\\n\")\n             (pretty-print answer)\n             (printf \"  EXPECTED:\\n\")\n             (pretty-print expected)))))\n\n(test 'appendo.forward\n  (run* z (appendo '(1 2 3) '(4 5) z))\n  '((1 2 3 4 5)))\n(test 'appendo.backward\n  (run* (x y) (appendo x y '(1 2 3 4 5)))\n  '((() (1 2 3 4 5))\n    ((1) (2 3 4 5))\n    ((1 2) (3 4 5))\n    ((1 2 3) (4 5))\n    ((1 2 3 4) (5))\n    ((1 2 3 4 5) ())))\n(test 'appendo.aggregate.1\n  (run* (x y xsum)\n    (appendo x y '(1 2 3 4 5))\n    (:== xsum (x)\n         (foldl + 0 x)))\n  '((() (1 2 3 4 5)  0)\n    ((1) (2 3 4 5)   1)\n    ((1 2) (3 4 5)   3)\n    ((1 2 3) (4 5)   6)\n    ((1 2 3 4) (5)  10)\n    ((1 2 3 4 5) () 15)))\n(test 'appendo.aggregate.2\n  (run* (x y xparts)\n    (appendo x y '(1 2 3 4 5))\n    (:== xparts (x)\n         (run* (a b) (appendo a b x))))\n  '((() (1 2 3 4 5) ((() ())))\n    ((1) (2 3 4 5)  ((() (1))\n                     ((1) ())))\n    ((1 2) (3 4 5)  ((() (1 2))\n                     ((1) (2))\n                     ((1 2) ())))\n    ((1 2 3) (4 5)  ((() (1 2 3))\n                     ((1) (2 3))\n                     ((1 2) (3))\n                     ((1 2 3) ())))\n    ((1 2 3 4) (5)  ((() (1 2 3 4))\n                     ((1) (2 3 4))\n                     ((1 2) (3 4))\n                     ((1 2 3) (4))\n                     ((1 2 3 4) ())))\n    ((1 2 3 4 5) () ((() (1 2 3 4 5))\n                     ((1) (2 3 4 5))\n                     ((1 2) (3 4 5))\n                     ((1 2 3) (4 5))\n                     ((1 2 3 4) (5))\n                     ((1 2 3 4 5) ())))))\n(test 'appendo.aggregate.1.swapped\n  (run* (x y xsum)\n    (:== xsum (x)\n         (foldl + 0 x))\n    (appendo x y '(1 2 3 4 5)))\n  '((() (1 2 3 4 5)  0)\n    ((1) (2 3 4 5)   1)\n    ((1 2) (3 4 5)   3)\n    ((1 2 3) (4 5)   6)\n    ((1 2 3 4) (5)  10)\n    ((1 2 3 4 5) () 15)))\n(test 'appendo.aggregate.2.swapped\n  (run* (x y xparts)\n    (:== xparts (x)\n         (run* (a b) (appendo a b x)))\n    (appendo x y '(1 2 3 4 5)))\n  '((() (1 2 3 4 5) ((() ())))\n    ((1) (2 3 4 5)  ((() (1))\n                     ((1) ())))\n    ((1 2) (3 4 5)  ((() (1 2))\n                     ((1) (2))\n                     ((1 2) ())))\n    ((1 2 3) (4 5)  ((() (1 2 3))\n                     ((1) (2 3))\n                     ((1 2) (3))\n                     ((1 2 3) ())))\n    ((1 2 3 4) (5)  ((() (1 2 3 4))\n                     ((1) (2 3 4))\n                     ((1 2) (3 4))\n                     ((1 2 3) (4))\n                     ((1 2 3 4) ())))\n    ((1 2 3 4 5) () ((() (1 2 3 4 5))\n                     ((1) (2 3 4 5))\n                     ((1 2) (3 4 5))\n                     ((1 2 3) (4 5))\n                     ((1 2 3 4) (5))\n                     ((1 2 3 4 5) ())))))\n\n(define-relation/table (tripleo i x y z)\n  'key-name        'i\n  'source-stream   '((a b c)\n                     (d e f)\n                     (g h i)))\n\n(test 'tripleo.all\n  (run* (i x y z) (tripleo i x y z))\n  '((0 a b c) (1 d e f) (2 g h i)))\n(test 'tripleo.filter-before\n  (run* (i x y z)\n    (conde ((== y 'e))\n           ((== x 'g)))\n    (tripleo i x y z))\n  '((1 d e f) (2 g h i)))\n(test 'tripleo.filter-before.key\n  (run* (i x y z)\n    (conde ((== y 'e))\n           ((== x 'g))\n           ((== i 3))\n           ((== i 0)))\n    (tripleo i x y z))\n  '((1 d e f) (2 g h i) (0 a b c)))\n(test 'tripleo.filter-before.key-only\n  (run* (i x y z)\n    (conde ((== y 'e))\n           ((== x 'g))\n           ((== i 3))\n           ((== i 0)))\n    (tripleo i x y z)\n    (== i 0))\n  '((0 a b c)))\n(test 'tripleo.filter-after\n  (run* (i x y z)\n    (tripleo i x y z)\n    (conde ((== i 0))\n           ((== z 'i))))\n  '((0 a b c) (2 g h i)))\n\n(define-relation/table triple2o\n  'attribute-names '(x y z)\n  'tables          '((y z x))\n  'indexes         '((x))\n  'source-stream   '((a b  0)\n                     (a b  1)\n                     (a b  2)\n                     (a b  3)\n                     (a c  4)\n                     (a c  5)\n                     (a c  6)\n                     (b a  7)\n                     (b d  8)\n                     (b f  9)\n                     (b q 10)\n                     (c a 11)\n                     (c d 12)))\n\n(test 'triple2o.all\n  (run* (x y z) (triple2o x y z))\n  '((0  a b)\n    (1  a b)\n    (2  a b)\n    (3  a b)\n    (4  a c)\n    (5  a c)\n    (6  a c)\n    (7  b a)\n    (8  b d)\n    (9  b f)\n    (10 b q)\n    (11 c a)\n    (12 c d)))\n\n(test 'triple2o.filter\n  (list->set\n    (run* (x y z)\n      (conde ((== y 'a) (== z 'c))\n             ((== y 'a) (== z 'd))\n             ((== x '8))\n             ((== y 'b) (== x '12))\n             ((== y 'b) (== z 'f) (== x '9))\n             ((== y 'b) (== z 'g) (== x '9))\n             ((== y 'c))\n             ((== y 'd)))\n      (triple2o x y z)))\n  (list->set\n    '((4 a c)\n      (5 a c)\n      (6 a c)\n      (8 b d)\n      (9 b f)\n      (11 c a)\n      (12 c d))))\n\n(test '=/=.atom.1\n  (run* x (=/= 1 x))\n  '(#s(cx (term: #s(var 0)) (constraints: (=/= #s(var 0) 1)))))\n(test '=/=.atom.2\n  (run* x (=/= x 2))\n  '(#s(cx (term: #s(var 0)) (constraints: (=/= #s(var 0) 2)))))\n\n(test '=/=.atom.==.1\n  (run* x (== x 1) (=/= x 1))\n  '())\n(test '=/=.atom.==.2\n  (run* x (=/= x 2) (== x 2))\n  '())\n(test '=/=.atom.==.3\n  (run* x (=/= x 3) (== x 'not-3))\n  '(not-3))\n(test '=/=.atom.==.4\n  (run* x (== x 'not-4) (=/= x 4))\n  '(not-4))\n\n(test '=/=.var.==.1\n  (run* x\n    (fresh (y)\n      (=/= x y)\n      (== x 1)\n      (== y 1)))\n  '())\n(test '=/=.var.==.2\n  (run* x\n    (fresh (y)\n      (== x 2)\n      (== y 2)\n      (=/= x y)))\n  '())\n(test '=/=.var.==.3\n  (run* x\n    (fresh (y)\n      (== x 3)\n      (=/= x y)\n      (== y 3)))\n  '())\n(test '=/=.var.==.4\n  (run* x\n    (fresh (y z)\n      (=/= x 4)\n      (== x y)\n      (== y z)\n      (== z 4)))\n  '())\n(test '=/=.var.==.5\n  (run* x\n    (fresh (y z)\n      (=/= x 5)\n      (== y z)\n      (== x y)\n      (== z 5)))\n  '())\n(test '=/=.var.==.6\n  (run* x\n    (fresh (y)\n      (=/= x y)\n      (== x y)))\n  '())\n(test '=/=.var.==.7\n  (run* x\n    (fresh (y)\n      (=/= x y)\n      (== y x)))\n  '())\n\n(test '=/=.pair.==.1\n  (run* x\n    (=/= x '(1 . 2))\n    (==  x '(1 . 2)))\n  '())\n(test '=/=.pair.==.2\n  (run* x\n    (fresh (y)\n      (=/= x `(1 . ,y))\n      (==  x `(1 . 2))\n      (==  y 2)))\n  '())\n(test '=/=.pair.==.3\n  (run* x\n    (fresh (y)\n      (==  x `(1 . 2))\n      (=/= x `(1 . ,y))\n      (==  y 2)))\n  '())\n(test '=/=.pair.==.4\n  (run* x\n    (fresh (y)\n      (==  x `(1 . 2))\n      (==  y 2)\n      (=/= x `(1 . ,y))))\n  '())\n(test '=/=.pair.==.5\n  (run* x\n    (fresh (y)\n      (=/= x `(1 . ,y))\n      (==  y 2)\n      (==  x `(1 . 2))))\n  '())\n(test '=/=.pair.==.6\n  (run* x\n    (fresh (y)\n      (=/= `(,x .  1) `(0 . ,y))\n      (==  `(,x . ,y) '(0 .  1))))\n  '())\n(test '=/=.pair.==.7\n  (run* x\n    (fresh (y)\n      (==  `(,x . ,y) '(0 .  1))\n      (=/= `(,x .  1) `(0 . ,y))))\n  '())\n\n(test '=/=.pair.=/=.1\n  (run* x\n    (=/= x '(1 . 2))\n    (==  x '(0 . 2)))\n  '((0 . 2)))\n(test '=/=.pair.=/=.2\n  (run* x\n    (fresh (y)\n      (=/= x `(1 . ,y))\n      (==  x `(1 . 2))\n      (==  y 0)))\n  '((1 . 2)))\n(test '=/=.pair.=/=.3\n  (run* x\n    (fresh (y)\n      (==  x `(1 . 2))\n      (=/= x `(1 . ,y))\n      (==  y 0)))\n  '((1 . 2)))\n(test '=/=.pair.=/=.4\n  (run* x\n    (fresh (y)\n      (==  x `(1 . 2))\n      (==  y 0)\n      (=/= x `(1 . ,y))))\n  '((1 . 2)))\n(test '=/=.pair.=/=.5\n  (run* x\n    (fresh (y)\n      (=/= x `(1 . ,y))\n      (==  y 0)\n      (==  x `(1 . 2))))\n  '((1 . 2)))\n(test '=/=.pair.=/=.6\n  (run* x\n    (fresh (y)\n      (=/= `(,x .  1) `(0 . ,y))\n      (==  `(,x . ,y) '(0 .  2))))\n  '(0))\n(test '=/=.pair.=/=.7\n  (run* x\n    (fresh (y)\n      (==  `(,x . ,y) '(0 .  2))\n      (=/= `(,x .  1) `(0 . ,y))))\n  '(0))\n\n(test '=/=.fresh.1\n  (run* x\n    (fresh (y)\n      (=/= y 1)))\n  '(#s(cx (term: #s(var 0)) (constraints:))))\n(test '=/=.fresh.2\n  (run* x\n    (fresh (y)\n      (=/= x 0)\n      (=/= y 1)))\n  '(#s(cx (term: #s(var 0)) (constraints: (=/= #s(var 0) 0)))))\n(test '=/=.fresh.3\n  (run* x\n    (fresh (y)\n      (=/= x 0)\n      (=/= x y)))\n  '(#s(cx (term: #s(var 0)) (constraints: (=/= #s(var 0) #s(var 1))\n                                  (=/= #s(var 0) 0)))))\n(test '=/=.fresh.4\n  (run* (x y)\n    (fresh (z)\n      (=/= `(,x . ,y) '(0 . 2))\n      (=/= z 1)))\n  '(#s(cx (term: (#s(var 0) #s(var 1))) (constraints: (=/= #s(var 0) 0)))\n    #s(cx (term: (#s(var 0) #s(var 1))) (constraints: (=/= #s(var 1) 2)))))\n(test '=/=.fresh.5\n  (run* (x y)\n    (fresh (z)\n      (=/= `(,x ,y ,z) '(0 1 2))))\n  '(#s(cx (term: (#s(var 0) #s(var 1))) (constraints: (=/= #s(var 0) 0)))\n    #s(cx (term: (#s(var 0) #s(var 1))) (constraints: (=/= #s(var 1) 1)))\n    #s(cx (term: (#s(var 0) #s(var 1))) (constraints:))))\n\n(test 'membero.forward\n  (run* () (membero 3 '(1 2 3 4 3 5)))\n  '(()))\n(test 'membero.backward\n  (run* x (membero x '(1 2 3 4 3 5)))\n  '(1 2 3 4 5))\n(test 'not-membero.forward\n  (run* () (not-membero 0 '(1 2 3 4 5)))\n  '(()))\n(test 'not-membero.backward\n  (run* x (not-membero x '(1 2 3 4 5)) (== x 0))\n  '(0))\n(test 'uniqueo.1\n  (run* () (uniqueo '(1 2 3 4 5)))\n  '(()))\n(test 'uniqueo.2\n  (run* () (uniqueo '(1 2 3 4 2)))\n  '())\n(test 'removeo.forward\n  (run* x (removeo '3 '(1 2 3 4 5) x))\n  '((1 2 4 5)))\n(test 'removeo.backward\n  (run* x (removeo x '(1 2 3 4 5) '(1 2 4 5)))\n  '(3))\n\n\n;; More table testing\n\n(define intersected-lists\n  '(((-1 0 no)\n     (-1 1 no)\n     (-1 2 no)\n     (-1 3 no)\n     (-1 4 no)\n     (-1 5 no)\n     (-1 6 no)\n     (-1 7 no)\n     (-1 8 no)\n     (-1 9 no)\n\n     (1 1 a0)\n     (1 2 b0)\n     (1 5 c0)\n     (3 4 d0)\n     (3 8 e0)\n     (3 8 e0.1)\n     (3 8 e0.2)\n\n     (4 0 no)\n     (4 1 no)\n     (4 2 no)\n     (4 3 no)\n     (4 4 no)\n     (4 5 no)\n     (4 6 no)\n     (4 7 no)\n     (4 8 no)\n     (4 9 no)\n\n     (6 0 f0)\n     (6 3 g0)\n     (6 5 h0)\n     (7 0 i0)\n     (7 2 j0)\n     (7 4 k0)\n     (7 6 l0)\n     (7 8 m0)\n     (7 9 n0)\n     (9 1 0)\n     (9 1 o0)\n     (9 2 p0)\n     (9 5 q0))\n    ((-1 0 no)\n     (-1 1 no)\n     (-1 2 no)\n     (-1 3 no)\n     (-1 4 no)\n     (-1 5 no)\n     (-1 6 no)\n     (-1 7 no)\n     (-1 8 no)\n     (-1 9 no)\n\n     (1 1 a1)\n     (1 2 b1)\n     (2 5 c1)  ; 0\n     (2 4 d1)  ; 0\n     (3 8 e1)\n     (3 8 e1.1)\n     (6 0 f1)\n     (6 3 g1)\n     (6 5 h1)\n     (7 0 i1)\n     (7 3 j1)  ; 1\n     (7 4 k1)\n     (7 6 l1)\n     (8 8 m1)  ; 0\n     (8 9 n1)  ; 0\n     (9 1 o1)\n     (9 1 o1.1)\n     (9 4 p1)  ; 1\n     (9 5 q1))\n    (;(-1 0 no)\n     ;(-1 1 no)\n     ;(-1 2 no)\n     ;(-1 3 no)\n     ;(-1 4 no)\n     ;(-1 5 no)\n     ;(-1 6 no)\n     ;(-1 7 no)\n     ;(-1 8 no)\n     ;(-1 9 no)\n\n     (0 1 a2)  ; 0\n     (1 3 b2)  ; 1\n     (1 5 c2)  ; 1\n     (2 4 d2)\n     (3 8 e2)\n     (5 0 f2)  ; 0\n     (6 3 g2)\n     (6 5 h2)\n     (7 0 i2)\n     (7 3 j2)\n     (7 4 k2)\n     (7 4 k2.1)\n     (7 6 l2)\n     (8 8 m2)\n     (8 9 n2)\n     (9 1 o2)\n     (9 4 p2)\n     (9 5 q2)\n\n     (10 1 no)\n     (10 0 no)\n     (10 2 no)\n     (10 3 no)\n     (10 4 no)\n     (10 5 no)\n     (10 6 no)\n     (10 7 no)\n     (10 8 no)\n     (10 9 no)\n     )))\n\n(define intersected-tables\n  (map (lambda (i s)\n         (relation/table\n           'relation-name   (string->symbol (format \"intersected-table.~v\" i))\n           'attribute-names '(i n m x)\n           'key-name        'i\n           'source-stream   s))\n       (range (length intersected-lists))\n       intersected-lists))\n\n(test 'table-ref\n  (map (lambda (R) (run* (n m x) (R 0 n m x))) intersected-tables)\n  '(((-1 0 no)) ((-1 0 no)) ((0 1 a2))))\n\n(test 'table-intersection\n  (sort/any\n    (run* (n m a b c)\n      (foldl (lambda (g0 g) (fresh () g g0)) (== #t #t)\n             (map (lambda (v R) (fresh (i) (R i n m v))) (list a b c)\n                  intersected-tables))))\n  (sort/any\n    '((3 8 e0   e1   e2)\n      (3 8 e0   e1.1 e2)\n      (3 8 e0.1 e1   e2)\n      (3 8 e0.1 e1.1 e2)\n      (3 8 e0.2 e1   e2)\n      (3 8 e0.2 e1.1 e2)\n      (6 3 g0   g1   g2)\n      (6 5 h0   h1   h2)\n      (7 0 i0   i1   i2)\n      (7 4 k0   k1   k2)\n      (7 4 k0   k1   k2.1)\n      (7 6 l0   l1   l2)\n      (9 1 0    o1   o2)\n      (9 1 0    o1.1 o2)\n      (9 1 o0   o1   o2)\n      (9 1 o0   o1.1 o2)\n      (9 5 q0   q1   q2))))\n\n(test '<=.1\n  (run* n\n    (membero n '(0 1 2 3 4 5 6 7 8 9))\n    (<=o 2 n)\n    (<o  n 8))\n  '(2 3 4 5 6 7))\n(test '<=.2\n  (run* n\n    (<=o 2 n)\n    (<o  n 8)\n    (membero n '(0 1 2 3 4 5 6 7 8 9)))\n  '(2 3 4 5 6 7))\n(test '<=.3\n  (run* n\n    (<o  n 8)\n    (<=o 2 n)\n    (membero n '(0 1 2 3 4 5 6 7 8 9)))\n  '(2 3 4 5 6 7))\n(test 'any<=.fd.1\n  (run* x\n    (any<=o '(#t . #f) x)\n    (any<=o x '#(())))\n  '((#t . #f)\n    (#t . #t)\n    #()\n    #(())))\n(test 'any<=.fd.2\n  (run* x\n    (any<=o '(#f . #f) x)\n    (any<=o x '(#t . ())))\n  '((#f . #f)\n    (#f . #t)\n    (#t . ())))\n(test 'any<=.fd.3\n  (run* x\n    (any<=o '#(5 #f #f #f) x)\n    (any<=o x '#(5 #f #t ())))\n  '(#(5 #f #f #f)\n    #(5 #f #f #t)\n    #(5 #f #t ())))\n(test 'any<=.fd.4\n  (run* x\n    (any<=o '#(#f #t #f) x)\n    (any<=o x '#(#t () ())))\n  '(#(#f #t #f)\n    #(#f #t #t)\n    #(#t () ())))\n(test 'any<=.fd.5\n  (run* x\n    (any<=o '#(#t #t #f) x)\n    (any<=o x '#(() () () ())))\n  '(#(#t #t #f)\n    #(#t #t #t)\n    #(() () () ())))\n(test 'any<=.cycle.0\n  (run* (a b c)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c a))\n  '(#s(cx (term: (#s(var 0) #s(var 0) #s(var 0))) (constraints:))))\n(test 'any<=.cycle.1\n  (run* (a b c d e)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c d)\n    (any<=o d e)\n    (any<=o e a))\n  '(#s(cx (term: (#s(var 0) #s(var 0) #s(var 0) #s(var 0) #s(var 0))) (constraints:))))\n(test 'any<=.cycle.2\n  (run* (a b c d e)\n    (=/= b d)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c d)\n    (any<=o d e)\n    (any<=o e a))\n  '())\n(test 'any<=.cycle.3\n  (run* (a b c d e)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c d)\n    (any<=o d e)\n    (any<=o e a)\n    (=/= b d))\n  '())\n(test 'any<=.cycle.4\n  (run* (a b c d e f)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c d)\n    (any<=o d e)\n    (any<=o e f)\n    (any<=o d b))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 1) #s(var 1) #s(var 2) #s(var 3)))\n          (constraints:\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))\n            (any<=o #s(var 2) #s(var 3))))))\n(test 'any<.transitive.1\n  (run* (x y z)\n    (any<=o x y)\n    (any<=o y z)\n    (=/= x y)\n    (=/= y z))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 2)))\n          (constraints:\n            (() <  #s(var 1) <= #f)\n            (() <  #s(var 2) <= #t)\n            (() <= #s(var 0) <  #f)\n            (=/= #s(var 0) #s(var 1))\n            (=/= #s(var 1) #s(var 2))\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))))))\n(test 'any<.transitive.2\n  (run* (x y z)\n    (=/= x y)\n    (=/= y z)\n    (any<=o x y)\n    (any<=o y z))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 2)))\n          (constraints:\n            (() <  #s(var 1) <= #f)\n            (() <  #s(var 2) <= #t)\n            (() <= #s(var 0) <  #f)\n            (=/= #s(var 0) #s(var 1))\n            (=/= #s(var 1) #s(var 2))\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))))))\n(test 'any<.transitive.3\n  (run* (x y z)\n    (any<=o y z)\n    (any<=o x y)\n    (=/= x y)\n    (=/= y z))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 2)))\n          (constraints:\n            (() <  #s(var 1) <= #f)\n            (() <  #s(var 2) <= #t)\n            (() <= #s(var 0) <  #f)\n            (=/= #s(var 0) #s(var 1))\n            (=/= #s(var 1) #s(var 2))\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))))))\n(test 'any<.transitive.4\n  (run* (x y z)\n    (=/= x y)\n    (=/= y z)\n    (any<=o y z)\n    (any<=o x y))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 2)))\n          (constraints:\n            (() <  #s(var 1) <= #f)\n            (() <  #s(var 2) <= #t)\n            (() <= #s(var 0) <  #f)\n            (=/= #s(var 0) #s(var 1))\n            (=/= #s(var 1) #s(var 2))\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))))))\n\n(define-relation/table (edge a b)\n  'source-stream '((1 2)\n                   (2 4)\n                   (1 3)\n                   (3 5)\n                   (2 6)\n                   (1 1)\n                   (3 6)\n                   (6 4)))\n(define-relation (path* a c)\n  (conde ((edge a c))\n         ((fresh (b)\n            (edge a b)\n            (path* b c)))))\n(define-relation (path2* a c)\n  (conde ((edge a c))\n         ((fresh (b)\n            (edge b c)\n            (path2* a b)))))\n(define-relation (path3* a c)\n  (conde ((edge a c))\n         ((fresh (b)\n            (=/= b c)\n            (=/= a b)  ; this filters out some duplicates\n            (edge b c)\n            (path3* a b)))))\n\n(test 'edge.0\n  (run* (x y) (edge x y))\n  '((1 1) (1 2) (1 3) (2 4) (2 6) (3 5) (3 6) (6 4)))\n(test 'edge.1\n  (run* y (edge 2 y))\n  '(4 6))\n(test 'edge.2\n  (run* x (edge x 6))\n  '(2 3))\n\n(test 'path*.0\n  (run* (x y) (path* x y))\n  '((1 1)\n    (1 2)\n    (1 3)\n    (2 4)\n    (2 6)\n    (3 5)\n    (3 6)\n    (6 4)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (2 4)\n    (3 4)\n    (1 4)\n    (1 4)))\n(test 'path*.1\n  (run* x (path* x 6))\n  '(2 3 1))\n(test 'path*.2\n  (run* y (path* 3 y))\n  '(5 6 4))\n\n(test 'path2*.0\n  (run* (x y) (path2* x y))\n  '((1 1)\n    (1 2)\n    (1 3)\n    (2 4)\n    (2 6)\n    (3 5)\n    (3 6)\n    (6 4)\n    (1 2)\n    (1 3)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (2 4)\n    (3 4)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (1 4)\n    (1 4)\n    (1 4)\n    (1 4)))\n(test 'path2*.1\n  (run* x (path2* x 6))\n  '(2 3 1 1 1 1))\n(test 'path2*.2\n  (run* y (path2* 3 y))\n  '(5 6 4))\n\n(test 'path2*.set.0\n  (run*/set (x y) (path2* x y))\n  (list->set '((1 1)\n               (1 2)\n               (1 3)\n               (2 4)\n               (2 6)\n               (3 5)\n               (3 6)\n               (6 4)\n               (1 2)\n               (1 3)\n               (1 4)\n               (1 6)\n               (1 5)\n               (1 6)\n               (2 4)\n               (3 4)\n               (1 4)\n               (1 6)\n               (1 5)\n               (1 6)\n               (1 4)\n               (1 4)\n               (1 4)\n               (1 4))))\n(test 'path2*.set.1\n  (run*/set x (path2* x 6))\n  (list->set '(2 3 1 1 1 1)))\n(test 'path2*.set.2\n  (run*/set y (path2* 3 y))\n  (list->set '(5 6 4)))\n\n(test 'path3*.0\n  (run* (x y) (path3* x y))\n  '((1 1)\n    (1 2)\n    (1 3)\n    (2 4)\n    (2 6)\n    (3 5)\n    (3 6)\n    (6 4)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (2 4)\n    (3 4)\n    (1 4)\n    (1 4)))\n(test 'path3*.1\n  (run* x (path3* x 6))\n  '(2 3 1 1))\n(test 'path3*.2\n  (run* y (path3* 3 y))\n  '(5 6 4))\n\n(define-relation (edge/cycle a b)\n  (conde ((== a 5) (== b 1))\n         ((edge a b))))\n(define-relation (path/cycle* a c)\n  (conde ((edge/cycle a c))\n         ((fresh (b)\n            (=/= a b)\n            (edge/cycle a b)\n            (path/cycle* b c)))))\n(test 'path/cycle*.0\n  (run* (x y) (path/cycle* x y))\n  '((5 1)\n    (1 1)\n    (1 2)\n    (1 3)\n    (2 4)\n    (2 6)\n    (3 5)\n    (3 6)\n    (6 4)\n    (5 1)\n    (5 2)\n    (5 3)\n    (3 1)\n    (5 4)\n    (5 6)\n    (5 5)\n    (5 6)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (2 4)\n    (3 4)\n    (5 4)\n    (5 4)\n    (3 1)\n    (3 2)\n    (3 3)\n    (1 1)\n    (3 4)\n    (3 6)\n    (1 4)\n    (1 4)\n    (3 4)))\n(test 'path/cycle*.1\n  (run* x (path/cycle* x 6))\n  '(2 3 5 1 3))\n(test 'path/cycle*.2\n  (run* y (path/cycle* 3 y))\n  '(5 6 1 4 1 2 3 4 6 4))\n\n(test 'path/cycle*.set.0\n  (run*/set (x y) (path/cycle* x y))\n  (list->set '((5 1)\n               (1 1)\n               (1 2)\n               (1 3)\n               (2 4)\n               (2 6)\n               (3 5)\n               (3 6)\n               (6 4)\n               (5 1)\n               (5 2)\n               (5 3)\n               (3 1)\n               (5 4)\n               (5 6)\n               (5 5)\n               (5 6)\n               (1 4)\n               (1 6)\n               (1 5)\n               (1 6)\n               (2 4)\n               (3 4)\n               (5 1)\n               (5 4)\n               (5 4)\n               (1 1)\n               (5 1)\n               (5 2)\n               (5 3)\n               (3 1)\n               (3 2)\n               (3 3)\n               (1 4)\n               (1 4))))\n(test 'path/cycle*.set.1\n  (run*/set x (path/cycle* x 6))\n  (list->set '(2 3 1 5 5 3 3)))\n(test 'path/cycle*.set.2\n  (run*/set y (path/cycle* 3 y))\n  (list->set '(5 6 1 4 1 2 3 4 6 5 6 1 4 4 1 2 3 4 6 5 6 1 4 4 1 2 3)))\n\n;; Using list->set on a run result is not the same as using run/set:\n;; run/set guarantees that the result has 10 unique answers before stopping\n(test 'path/cycle*.set.n.0\n  (list->set (run 10 (x y) (path/cycle* x y)))\n  (list->set '((1 1) (1 2) (1 3) (3 6) (6 4) (2 4) (5 1) (3 5) (2 6))))\n(test 'path/cycle*.set.n.1\n  (run/set 10 (x y) (path/cycle* x y))\n  (list->set '((1 1) (1 2) (1 3) (5 2) (3 6) (6 4) (2 4) (5 1) (3 5) (2 6))))\n\n\n;; Equivalence class tests\n\n;; fast version\n(define-relation/table (uedge a b)\n  'source-stream '((0  15)\n                   (10 15)\n                   (15 20)\n                   (17 18)\n                   (17 20)\n                   (20  0)))\n\n(define-relation (node x)\n  (fresh (y)\n    (conde ((uedge x y)) ((uedge y x)))))\n\n(define-relation (equiv=/= a b)\n  (=/= a b)\n  (fresh (x)\n    (conde ((uedge a x))\n           ((uedge x a)))\n    (conde ((==       x b))\n           ((equiv=/= x b)))))\n\n(define-relation (equiv a b)\n  (node a)\n  (node b)\n  (conde ((==       a b))\n         ((equiv=/= a b))))\n\n;; cpu time: 1440 real time: 1466 gc time: 74\n(test 'equiv.0\n  (time (run*/set (x y) (equiv x y)))\n  (list->set\n    '((20 20) (10 20) (15 15) (20 10) (15 0) (0 15) (0 0) (15 17) (17 15)\n      (17 0) (15 18) (0 17) (18 15) (17 17) (0 18) (18 0) (20 15) (18 17)\n      (15 20) (17 18) (10 10) (18 18) (0 20) (20 0) (17 20) (20 17) (20 18)\n      (18 20) (10 15) (15 10) (0 10) (10 0) (10 17) (17 10) (10 18) (18 10))))\n\n;; cpu time: 298 real time: 319 gc time: 5\n(test 'equiv.1\n  (time (run*/set x (equiv 0 x)))\n  (set 0 17 18 20 10 15))\n\n;; cpu time: 459 real time: 485 gc time: 12\n(test 'equiv.2\n  (time (run*/set x (equiv x 0)))\n  (set 0 17 18 20 10 15))\n\n;; much more expensive version\n(define-relation/table (uedge.slow a b)\n  'source-stream '((0   5)\n                   (2   3)\n                   (2   5)\n                   (5   8)\n                   (5  10)\n                   (7  10)\n                   (10 13)\n                   (10 15)\n                   (12 15)\n                   (15 18)\n                   (17 18)\n                   (15 20)\n                   (17 20)\n                   (20  0)))\n\n(define-relation (node.slow x)\n  (fresh (y)\n    (conde ((uedge.slow x y)) ((uedge.slow y x)))))\n\n(define-relation (equiv=/=.slow a b)\n  (=/= a b)\n  (fresh (x)\n    (conde ((uedge.slow a x))\n           ((uedge.slow x a)))\n    (conde ((==            x b))\n           ((equiv=/=.slow x b)))))\n\n(define-relation (equiv.slow a b)\n  (node.slow a)\n  (node.slow b)\n  (conde ((==            a b))\n         ((equiv=/=.slow a b))))\n\n#|\n;; cpu time: 94756 real time: 97248 gc time: 3523\n(test 'equiv.0.slow\n  (time (run*/set (x y) (equiv.slow x y)))\n  (list->set\n    '((10 20) (12 18) (20 10) (2 12) (18 12) (7 7) (12 2) (13 17) (15 15) (17 13)\n      (10 5) (13 2) (15 0) (0 15) (3 12) (2 13) (7 8) (8 7) (12 3) (13 18) (18 13)\n      (5 10) (13 3) (12 20) (0 0) (8 8) (15 17) (17 15) (3 13) (20 12) (10 7) (15 18)\n      (0 17) (20 13) (2 15) (7 10) (12 5) (13 20) (15 2) (17 0) (18 15) (5 12) (10 8)\n      (13 5) (15 3) (17 17) (0 2) (0 18) (18 0) (5 13) (8 10) (2 0) (3 15) (12 7)\n      (17 2) (0 3) (3 0) (20 15) (2 17) (18 17) (7 12) (15 20) (17 18) (10 10) (13 7)\n      (12 8) (7 13) (8 12) (15 5) (17 3) (0 20) (20 0) (2 2) (3 17) (2 18) (18 2)\n      (18 18) (5 15) (13 8) (17 20) (0 5) (3 2) (8 13) (2 3) (3 18) (20 17) (18 3)\n      (5 0) (10 12) (12 10) (20 18) (2 20) (7 15) (15 7) (17 5) (3 3) (20 2) (18 20)\n      (5 17) (10 13) (13 10) (15 8) (0 7) (20 3) (5 18) (7 0) (8 15) (2 5) (3 20)\n      (18 5) (5 2) (12 12) (17 7) (0 8) (3 5) (20 20) (5 3) (7 17) (8 0) (10 15)\n      (13 12) (12 13) (20 5) (2 7) (18 7) (5 20) (7 2) (7 18) (8 17) (15 10) (17 8)\n      (13 13) (0 10) (3 7) (2 8) (7 3) (8 2) (8 18) (10 0) (18 8) (5 5) (10 17)\n      (12 15) (7 20) (8 3) (15 12) (17 10) (3 8) (20 7) (10 18) (15 13) (0 12)\n      (20 8) (2 10) (7 5) (8 20) (10 2) (12 0) (13 15) (18 10) (5 7) (13 0) (12 17)\n      (17 12) (0 13) (3 10) (5 8) (8 5) (10 3))))\n\n;; cpu time: 4520 real time: 4675 gc time: 123\n(test 'equiv.1.slow\n  (time (run*/set x (equiv.slow 0 x)))\n  (set 0 17 3 20 5 7 8 10 12 13 15 2 18))\n\n;; cpu time: 10254 real time: 10618 gc time: 370\n(test 'equiv.2.slow\n  (time (run*/set x (equiv.slow x 0)))\n  (set 0 17 3 20 5 7 8 10 12 13 15 2 18))\n;|#\n\n\n;; Simple relational interpreter tests\n\n(define-relation (eval-expo expr env value)\n  (conde\n    ((fresh (body)\n       (== `(lambda ,body) expr)\n       (== `(closure ,body ,env) value)))\n    ((== `(quote ,value) expr))\n    ((fresh (a*)\n       (== `(list . ,a*) expr)\n       (eval-listo a* env value)))\n    ((fresh (a d va vd)\n       (== `(cons ,a ,d) expr)\n       (== `(,va . ,vd) value)\n       (eval-expo a env va)\n       (eval-expo d env vd)))\n    ((fresh (index)\n       (== `(var ,index) expr)\n       (lookupo index env value)))\n    ((fresh (rator rand arg env^ body)\n       (== `(app ,rator ,rand) expr)\n       (eval-expo rator env `(closure ,body ,env^))\n       (eval-expo rand env arg)\n       (eval-expo body `(,arg . ,env^) value)))))\n\n(define-relation (lookupo index env value)\n  (fresh (arg e*)\n    (== `(,arg . ,e*) env)\n    (conde\n      ((== '() index) (== arg value))\n      ((fresh (i* a d)\n         (== `(s . ,i*) index)\n         (== `(,a . ,d) e*)\n         (lookupo i* e* value))))))\n\n(define-relation (eval-listo e* env value)\n  (conde\n    ((== '() e*) (== '() value))\n    ((fresh (ea ed va vd)\n       (== `(,ea . ,ed) e*)\n       (== `(,va . ,vd) value)\n       (eval-expo ea env va)\n       (eval-listo ed env vd)))))\n\n(define (evalo expr value) (eval-expo expr '() value))\n\n(test 'evalo-literal\n  (run 1 e (evalo e 5))\n  '((quote 5)))\n\n;; ~600 ms\n(test 'evalo-quine\n  (time (run 1 e (evalo e e)))\n  '((app (lambda (list (quote app) (var ())\n                       (list (quote quote) (var ()))))\n         (quote (lambda (list (quote app) (var ())\n                              (list (quote quote) (var ()))))))))\n\n;; ~5500 ms\n;(test 'evalo-twine\n;  (time (run 1 (p q) (evalo p q) (evalo q p)))\n;  '(((quote (app (lambda (list (quote quote)\n;                               (list (quote app) (var ())\n;                                     (list (quote quote) (var ())))))\n;                 (quote (lambda (list (quote quote)\n;                                      (list (quote app) (var ())\n;                                            (list (quote quote) (var ()))))))))\n;     (app (lambda (list (quote quote)\n;                        (list (quote app) (var ())\n;                              (list (quote quote) (var ())))))\n;          (quote (lambda (list (quote quote)\n;                               (list (quote app) (var ())\n;                                     (list (quote quote) (var ()))))))))))\n\n;; ~24000 ms\n;(test 'evalo-thrine\n;  (time (run 1 (p q r) (evalo p q) (evalo q r) (evalo r p)))\n;  '(((quote (quote (app (lambda (list (quote quote)\n;                                      (list (quote quote)\n;                                            (list (quote app) (var ())\n;                                                  (list (quote quote) (var ()))))))\n;                        (quote (lambda (list (quote quote)\n;                                             (list (quote quote)\n;                                                   (list (quote app) (var ())\n;                                                         (list (quote quote) (var ()))))))))))\n;     (quote (app (lambda (list (quote quote)\n;                               (list (quote quote)\n;                                     (list (quote app) (var ())\n;                                           (list (quote quote) (var ()))))))\n;                 (quote (lambda (list (quote quote)\n;                                      (list (quote quote)\n;                                            (list (quote app) (var ())\n;                                                  (list (quote quote) (var ())))))))))\n;     (app (lambda (list (quote quote)\n;                        (list (quote quote)\n;                              (list (quote app) (var ())\n;                                    (list (quote quote) (var ()))))))\n;          (quote (lambda (list (quote quote)\n;                               (list (quote quote)\n;                                     (list (quote app) (var ())\n;                                           (list (quote quote) (var ())))))))))))\n"
  },
  {
    "path": "medikanren2/dbk/toggle-git",
    "content": "#!/bin/bash\nset -eufo pipefail\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\ncd \"$here\"\nmv .git.backup .git\n"
  },
  {
    "path": "medikanren2/dbk/toggle-git-backup",
    "content": "#!/bin/bash\nset -eufo pipefail\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\ncd \"$here\"\nmv .git .git.backup\n"
  },
  {
    "path": "medikanren2/dbk/update",
    "content": "#!/bin/bash\nset -eufo pipefail\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\ncd \"$here\"\n./toggle-git\n./update-snapshot\n./toggle-git-backup\n"
  },
  {
    "path": "medikanren2/dbk/update-snapshot",
    "content": "#!/bin/bash\nset -eufo pipefail\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\ncd \"$here\"\ngit pull\ngit reset --hard master\ncommit_hash=$(git show | head -n 1 | cut -f 2 -d ' ')\nprintf \"https://github.com/gregr/dbKanren\\n$commit_hash\" > SNAPSHOT\n"
  },
  {
    "path": "medikanren2/dbk.rkt",
    "content": "#lang racket/base\n(provide (prefix-out dbk:\n                     (combine-out\n                       config.default\n                       current-config-relation-path\n                       current-config-set!/alist))\n         (except-out (all-from-out \"dbk/dbk.rkt\")\n                     config.default\n                     current-config-relation-path\n                     current-config-set!/alist))\n(require \"dbk/dbk.rkt\")\n"
  },
  {
    "path": "medikanren2/etc/config.defaults.scm",
    "content": ";; DO NOT EDIT THIS FILE!\n;; Instead, add overrides to: config.scm\n(\n (buffer-size                . 100000)\n (progress-logging-threshold . 1000000)\n ;; interactive, always, never\n (update-policy              . interactive)\n (cleanup-policy             . interactive)\n (migrate-policy             . interactive)\n (allow-missing-data-policy  . always)\n ;; biased-interleaving (default), depth-first\n (search-strategy            . #f)\n\n ;; These keys have to be in the file to let the configref.rkt library know\n ;; that the keys exist so they can be populated at runtime.\n (relation-root-path . relation-root-path-placeholder)\n (temporary-root-path . temporary-root-path-placeholder)\n\n ;; Specify installed databases as a list of symbols, e.g.:\n ;;   (databases                  . (rtx2-20210204))\n ;;\n ;; Unless more specifically configured, we assume no databases have been installed:\n (databases                  . ())\n\n ;; Disable this flag to prevent translator-web-server.rkt\n ;; and open-api/ from making downstream HTTP requests.  Useful\n ;; for functional CI tests, and for offline development.\n (trapi-enable-external-requests?  . #t)\n\n (migrated-to-new-db-versioning . #f)\n (version-for-database . (\n     (rtx-kg2 . \"20210204\")\n    ))\n\n ;; Add new configuration options as new association pairs.\n )\n"
  },
  {
    "path": "medikanren2/etc/config.stage.dev.scm",
    "content": "(\n    (migrated-to-new-db-versioning . #f)\n)\n"
  },
  {
    "path": "medikanren2/etc/config.stage.prod.scm",
    "content": "(\n    (update-policy              . never)\n    (migrated-to-new-db-versioning . #t)    \n)\n"
  },
  {
    "path": "medikanren2/ex_cohd.rkt",
    "content": "#lang racket/base\n(require \"base.rkt\"\n         (except-in racket/match ==)\n         racket/list racket/pretty)\n\n;; Command line usage: racket ex_cohd.rkt cohd-v2\n\n(define argv (current-command-line-arguments))\n(define argv-expected '#(DB_NAME))\n(when (not (= (vector-length argv-expected) (vector-length argv)))\n  (error \"command line argument mismatch:\" argv-expected argv))\n\n(define db-name  (vector-ref argv 0))\n(define (db-relative-path path) (path->string (build-path db-name path)))\n(define (db-path path) (path/data (db-relative-path path)))\n\n;; Input\n(define fnin.concepts \"concepts.txt\")\n(define fnin.edges \"paired_concept_counts_associations.txt\")\n(define header.concepts '(\"concept_id\" \"concept_name\" \"domain_id\" \"vocabulary_id\" \"concept_class_id\" \"concept_code\"))\n(define header.edges '(\"dataset_id\" \"concept_id_1\" \"concept_id_2\" \"concept_count\" \"concept_prevalence\" \"chi_square_t\" \"chi_square_p\" \"expected_count\" \"ln_ratio\" \"rel_freq_1\" \"rel_freq_2\"))\n\n(define (materialize-db-relation\n          name fnin header transform fields types indexes)\n  (materialize-relation\n    (db-relative-path name) (db-relative-path fnin) header \"\\t\"\n    dsv->stream transform fields types indexes))\n\n(materialize-db-relation\n  \"concept\" fnin.concepts header.concepts\n  (lambda (row)\n    (match-define (list id name domain vocab class code) row)\n    (list (string->number id) (string-append (string-upcase vocab) \":\" code)\n          name domain class))\n  '(id curie name domain class)\n  '(nat string string string string)\n  '((curie)\n    (name)\n    (class)\n    (domain)))\n\n(materialize-db-relation\n  \"edge\" fnin.edges header.edges\n  (lambda (row)\n    (define-values (left right) (split-at row 4))\n    (append (map string->number left) right))\n  '(dataset subject object concept_count prevalence chi_sq_t chi_sq_p expected_count ln_ratio rel_freq1 rel_freq2)\n  '(nat nat nat nat string string string string string string string)\n  '((subject)  ;; (subject object) doesn't work well currently\n    (object)))\n\n;; all indexes have implicit index made on first arg/no need to index separately\n\n(time (let ()\n        ;; ~4x faster retrieval; ~400x slower loading\n        ;(define-relation/table concept   `((path . ,(db-path \"concept\")) (retrieval-type . bytes)))\n        ;; ~10x faster retrieval; ~6000x slower loading\n        ;(define-relation/table concept   `((path . ,(db-path \"concept\")) (retrieval-type . scm)))\n        ;; baseline; including (retrieval-type . disk) is optional\n        (define-relation/table concept `((path . ,(db-path \"concept\"))))\n        (define-relation/table edge    `((path . ,(db-path \"edge\"))))\n        (time (pretty-print\n                (run 10 (id name domain class)\n                  (concept id \"RXNORM:763521\" name domain class))))\n        (newline)\n        ;; make a new relation that reflects what you want from edge\n        (define-relation (concise-edge dataset subject object chi_sq_p)\n          (fresh (concept_count prevalence chi_sq_t expected_count ln_ratio rel_freq1 rel_freq2)\n            (edge dataset subject object concept_count prevalence chi_sq_t chi_sq_p expected_count ln_ratio rel_freq1 rel_freq2)))\n        (time (pretty-print\n                (run 10 (id name dataset subject chi_sq_p)\n                  (fresh (domain class)\n                    (concept id \"SNOMED:62208003\" name domain class)\n                    (concise-edge dataset subject id chi_sq_p)))))))\n"
  },
  {
    "path": "medikanren2/gui.rkt",
    "content": "#|\n\nWEB: mediKanren 2 Explorer TODO:\n\n* Fix problem with 'Find in X's':\nwhen you enter a string in 'Find in X's' text box, and a row is hilighted,\nthe Paths and Pubmed info isn't updated, and *clicking* on the\nhilighted row doesn't update the Paths and Pubmed info.\n\n* Fix sorting by CURIE, so that DOID:26 appears before DOID:2531\n\n* fully implement concept normalization checkbox\n* fully implement lightweight reasoning checkbox\n* implement smarter copy/paste\n* make the interface faster/more responsive\n\n|#\n\n\n#lang racket\n\n(require\n \"common.rkt\"\n \"synonyms.rkt\"\n \"string-search.rkt\"\n ;; (prefix-in semmed: \"db/semmed.rkt\")\n (prefix-in rtx:    \"db/rtx2-biolink_2_1_2021_07_28.rkt\")\n (prefix-in kgx:    \"db/kgx-synonym.rkt\")\n  json\n  racket/sandbox\n  racket/gui/base\n  framework\n  racket/engine\n  racket/date\n  racket/string\n  net/sendurl\n  (except-in racket/match ==)\n  (only-in srfi/1 iota))\n\n#|\n(require \"base.rkt\"\n         (prefix-in semmed: \"db/semmed.rkt\")\n         (prefix-in rtx:    \"db/rtx2-20210204.rkt\")\n         (prefix-in kgx:    \"db/kgx-synonym.rkt\"))\n|#\n#|\n(require\n \"common.rkt\"\n \"synonyms.rkt\"\n  racket/sandbox\n  racket/gui/base\n  framework\n  racket/engine\n  racket/date\n  racket/string\n  net/sendurl\n  (except-in racket/match ==)\n  (only-in srfi/1 iota))\n|#\n\n#|\nChoice 1:\n;;; find-ids-named\n;; Consult the string index associated with rel to find the ids\n;; in rel with a (name) string matching every substr in substrs,\n;; according to options stsopt.  If the associated string index\n;; has not been previously prepared, fail.\n(define (find-ids-named rel substrs (stsopt stsopt-default))\n(edited)\n\nChoice 2:\n;; Consult the string index associated with rel to find the concepts\n;; in rel with a (name) string matching every substr in substrs,\n;; according to options stsopt.  If the associated string index\n;; has not been previously prepared, fail.\n(define (find-concepts-named rel substrs (stsopt stsopt-default))\n|#\n\n\n(provide\n  launch-gui)\n\n(define MEDIKANREN_VERSION_STRING \"mediKanren 2 Explorer 0.1.0\")\n\n(displayln \"Starting mediKanren 2 Explorer...\")\n(newline)\n(displayln \"**************************************************\")\n(displayln \"*** mediKanren 2 is for research purposes only ***\")\n(displayln \"**************************************************\")\n(newline)\n(displayln MEDIKANREN_VERSION_STRING)\n\n;;; Query save file settings\n(define WRITE_QUERY_RESULTS_TO_FILE            #f)\n(define QUERY_RESULTS_FILE_NAME                \"last.sx\")\n(define HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME \"last.txt\")\n(define SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME \"last.tsv\")\n(define QUERY_RESULTS_FILE_MODE                'replace)\n\n;;; Initial window size\n(define HORIZ-SIZE 800)\n(define VERT-SIZE 400)\n\n;;; Decreases/increases predicate names\n(define DECREASES_PREDICATE_NAMES\n  (list\n   \"biolink:ameliorates\"\n   \"biolink:approved_to_treat\"\n   \"biolink:decreases_abundance_of\"\n   \"biolink:decreases_activity_of\"\n   \"biolink:decreases_expression_of\"\n   \"biolink:decreases_synthesis_of\"\n   \"biolink:decreases_transport_of\"\n   \"biolink:decreases_uptake_of\"\n   \"biolink:disrupts\"\n   \"biolink:entity_negatively_regulates_entity\"\n   \"biolink:prevents\"\n   \"biolink:process_negatively_regulates_process\"\n   \"biolink:treats\"))\n(define INCREASES_PREDICATE_NAMES\n  (list\n   \"biolink:causes\"\n   \"biolink:causes_adverse_event\"\n   \"biolink:condition_associated_with_gene\"\n   \"biolink:contributes_to\"\n   \"biolink:decreases_degradation_of\"\n   \"biolink:enables\"\n   \"biolink:entity_positively_regulates_entity\"\n   \"biolink:exacerbates\"\n   \"biolink:gene_associated_with_condition\"\n   \"biolink:increases_abundance_of\"\n   \"biolink:increases_activity_of\"\n   \"biolink:increases_expression_of\"\n   \"biolink:increases_synthesis_of\"\n   \"biolink:increases_transport_of\"\n   \"biolink:process_positively_regulates_process\"\n   \"biolink:produces\"))\n\n\n\n\n(define (curie-string str)\n  (let ((cs (regexp-match* #px\"^[\\\\s]*(([^\\\\s]+:[^\\\\s]*)|(:[^\\\\s]+))[\\\\s]*$\" str #:match-select cadr)))\n    (if (null? cs)\n        #f\n        (car cs))))\n\n\n(define (sort-paths paths)\n  (printf \"sort-paths -- IMPLEMENT ME!\\n\")\n  paths)\n\n(define (path-confidence . args)\n  ;(printf \"path-confidence -- IMPLEMENT ME!\\n\")\n  'todo)\n\n(define (path-confidence<? . args)\n  ;(printf \"path-confidence<? -- IMPLEMENT ME!\\n\")\n  'todo)\n\n(define (get-pred-names e*)\n  (let loop ([e* e*]\n             [pred-names '()])\n    (cond\n      [(null? e*) pred-names]\n      [else\n       (let ((edge (car e*))\n             (rest (cdr e*)))\n         (match edge\n           ['path-separator\n            (loop rest pred-names)]\n           [`(,dbname ,eid ,subj ,obj (,pid . ,p-name) ,eprops)\n            (loop rest (if (member p-name pred-names)\n                           pred-names\n                           (cons p-name pred-names)))]\n           [else (error 'get-pred-names (format \"unmatched edge ~s\\n\" edge))]))])))\n\n(define (pubmed-count e)\n  (length (pubmed-ids-from-edge e)))\n\n(define (pubmed-ids-from-edge-props eprops)\n  (cond\n    [(assoc \"publications\" eprops)\n     => (lambda (pr)\n          (define pubs (cdr pr))\n          (let ((pubmed-ids (if (not (string? pubs))\n                                '()\n                                (regexp-match* #rx\"PMID:([0-9]+)\" pubs #:match-select cadr))))\n            pubmed-ids))]\n    [else '()])\n  \n  ;; Old mediKanren 1 common.rkt code:\n  #;(cond\n    [(assoc \"pmids\" eprops)  ;; WEB the 'pmids' property is only used by semmed, I believe\n     => (lambda (pr) (regexp-split #rx\";\" (cdr pr)))]\n    [(assoc \"publications\" eprops)\n     => (lambda (pr)\n          (define pubs (cdr pr))\n          (if (not (string? pubs))\n            '()\n            (regexp-match* #rx\"([0-9]+)\" pubs #:match-select cadr)))]\n    [else '()])\n  )\n\n(define (python->json py)\n  (define len (string-length py))\n  (let loop ((i 0) (start 0))\n    (cond ((= i len) (if (= start 0) py (substring py start)))\n          ((eqv? (string-ref py i) #\\')\n           (string-append\n             (substring py start i) \"\\\"\"\n             (let requote ((i (+ i 1)) (start (+ i 1)))\n               (cond ((eqv? (string-ref py i) #\\')\n                      (string-append (substring py start i) \"\\\"\"\n                                     (loop (+ i 1) (+ i 1))))\n                     ((eqv? (string-ref py i) #\\\\)\n                      (if (eqv? (string-ref py (+ i 1)) #\\\")\n                        (requote (+ i 2) start)\n                        (string-append (substring py start i)\n                                       (requote (+ i 2) (+ i 1)))))\n                     ((eqv? (string-ref py i) #\\\")\n                      (string-append (substring py start i) \"\\\\\\\"\"\n                                     (requote (+ i 1) (+ i 1))))\n                     (else (requote (+ i 1) start))))))\n          ((eqv? (string-ref py i) #\\\")\n           (let skip ((i (+ i 1)) (start start))\n             (cond ((eqv? (string-ref py i) #\\\") (loop (+ i 1) start))\n                   ((eqv? (string-ref py i) #\\\\)\n                    (if (eqv? (string-ref py (+ i 1)) #\\\")\n                      (skip (+ i 2) start)\n                      (string-append (substring py start i)\n                                     (skip (+ i 2) (+ i 1)))))\n                   (else                         (skip (+ i 1) start)))))\n          (else (loop (+ i 1) start)))))\n\n(define PUBMED_URL_PREFIX \"https://www.ncbi.nlm.nih.gov/pubmed/\")\n(define (pubmed-URLs-from-edge edge)\n  (map (lambda (pubmed-id) (string-append PUBMED_URL_PREFIX (~a pubmed-id)))\n       (pubmed-ids-from-edge edge)))\n\n(define (pubmed-ids-from-edge edge)\n  (remove-duplicates\n    (match edge\n      ['path-separator '()]\n      [`(,dbname ,eid ,subj ,obj ,p ,eprops)\n        (pubmed-ids-from-edge-props eprops)])))\n\n(define (publications-info-alist-from-edge-props eprops)\n  (cond\n    [(assoc \"publications_info\" eprops)\n     => (lambda (pr)\n          (with-handlers ([exn:fail?\n                           (lambda (v)\n                             ((error-display-handler) (exn-message v) v)\n                             '())])\n            (define pubs (cdr pr))\n            (define jason-ht (string->jsexpr (python->json pubs)))\n            (hash-map jason-ht (lambda (k v)\n                                 (cons (string-append\n                                        PUBMED_URL_PREFIX\n                                        (car (regexp-match* #rx\"([0-9]+)\" (symbol->string k) #:match-select cadr)))\n                                       (list (hash-ref v '|publication date| #f)\n                                             (hash-ref v '|subject score| #f)\n                                             (hash-ref v '|object score| #f)\n                                             (regexp-replace*\n                                              #rx\"([ ]+)\"\n                                              (hash-ref v 'sentence #f)\n                                              \" \")))))))]\n    [else '()]))\n\n(define (publications-info-alist-from-edge edge)\n  ;; ((pubmed-URL . (publication-date subject-score object-score sentence)) ...)\n  (remove-duplicates\n    (match edge\n      ['path-separator '()]\n      [`(,dbname ,eid ,subj ,obj ,p ,eprops)\n        (publications-info-alist-from-edge-props eprops)])))\n\n\n\n(define (print-short-concept-description concepts)\n  (displayln\n   (map\n    (lambda (c)\n      (match c\n        [`(,dbname ,curie ,name . ,rest)\n         `(,curie ,name)]))\n    concepts)))\n\n(define (find-predicates/concepts subject? object? concepts)\n  ; (printf \"find-predicates/concepts subject?: ~s\\nobject?: ~s\\nconcepts: ~s\\n\\n\" subject? object? concepts)\n  (let ((ans (map\n              (lambda (c)\n                (match c\n                  [`(,dbname ,curie ,name ,cat)\n\n                   (define subject-predicates\n                       (and subject?\n                            (set->list\n                             (run*/set pred\n                               (fresh (eid o)\n                                 (edge `(,dbname . ,eid) curie o)\n                                 (eprop `(,dbname . ,eid) \"predicate\" pred))))))\n\n                   (define object-predicates\n                       (and object?\n                            (set->list\n                             (run*/set pred\n                               (fresh (eid s)\n                                 (edge `(,dbname . ,eid) s curie)\n                                 (eprop `(,dbname . ,eid) \"predicate\" pred))))))\n                   \n                   ; (printf \"subject-predicates: ~s\\n\" subject-predicates)\n                   ; (printf \"object-predicates: ~s\\n\" object-predicates)\n                   (list c subject-predicates object-predicates)]))\n              concepts)))\n    ans))\n\n;; from medikanren/common.rkt:\n;;\n#;(define (find-predicates/concepts subject? object? concepts)\n  (map (lambda (c)\n         (define subject-predicates\n           (and subject? (run* (p) (subject-predicateo c p))))\n         (define object-predicates\n           (and object? (run* (p) (object-predicateo c p))))\n         (list c subject-predicates object-predicates))\n       concepts))\n\n\n;; TODO implement or remove\n(define (find-concepts/options/curie-infer subject? object? strings)\n  '())\n\n;; from medikanren/common.rkt:\n;;\n#;(define (find-concepts/options/cui-infer subject? object? isa-count strings)\n  (define yes-cui\n    (map (lambda (s) (run* (c) (~cui*-concepto (list s) c))) strings))\n  (define no-cui (filter-not not (map (lambda (s rs) (and (null? rs) s))\n                                      strings yes-cui)))\n  (define all (append* (cons (run* (c) (~name*-concepto no-cui c)) yes-cui)))\n  (concepts/options subject? object? isa-count all))\n\n\n(define chars:ignore-typical \"-\")\n(define chars:split-typical \"\\t\\n\\v\\f\\r !\\\"#$%&'()*+,./:;<=>?@\\\\[\\\\\\\\\\\\]\\\\^_`{|}~\")\n\n(define (smart-string-matches? case-sensitive? chars:ignore chars:split str* hay)\n  (define re:ignore (and (non-empty-string? chars:ignore)\n                         (pregexp (string-append \"[\" chars:ignore \"]\"))))\n  (define re:split (and (non-empty-string? chars:split)\n                        (pregexp (string-append \"[\" chars:split \"]\"))))\n  (define (normalize s case-sensitive?)\n    (define pruned (if re:ignore (string-replace s re:ignore \"\") s))\n    (if case-sensitive? pruned (string-downcase pruned)))\n  (define (contains-upcase? s) (not (string=? s (string-downcase s))))\n  (define case-sensitive?*\n    (map (lambda (s) (or case-sensitive? (contains-upcase? s))) str*))\n  (define needles\n    (map (lambda (v case-sensitive?) (normalize v case-sensitive?))\n         str* case-sensitive?*))\n  (and hay\n       (andmap\n        (if re:split\n            (lambda (n case-sensitive?)\n              (ormap (lambda (s) (string=? s n))\n                     (string-split (normalize hay case-sensitive?) re:split)))\n            (lambda (n case-sensitive?)\n              (string-contains? (normalize hay case-sensitive?) n)))\n        needles case-sensitive?*)))\n\n\n;; from medikanren/db.rkt:\n;;\n#;(define (smart-string-matches? case-sensitive? chars:ignore chars:split str* hay)\n  (define re:ignore (and (non-empty-string? chars:ignore)\n                         (pregexp (string-append \"[\" chars:ignore \"]\"))))\n  (define re:split (and (non-empty-string? chars:split)\n                        (pregexp (string-append \"[\" chars:split \"]\"))))\n  (define (normalize s case-sensitive?)\n    (define pruned (if re:ignore (string-replace s re:ignore \"\") s))\n    (if case-sensitive? pruned (string-downcase pruned)))\n  (define (contains-upcase? s) (not (string=? s (string-downcase s))))\n  (define case-sensitive?*\n    (map (lambda (s) (or case-sensitive? (contains-upcase? s))) str*))\n  (define needles\n    (map (lambda (v case-sensitive?) (normalize v case-sensitive?))\n         str* case-sensitive?*))\n  (and hay\n       (andmap\n        (if re:split\n            (lambda (n case-sensitive?)\n              (ormap (lambda (s) (string=? s n))\n                     (string-split (normalize hay case-sensitive?) re:split)))\n            (lambda (n case-sensitive?)\n              (string-contains? (normalize hay case-sensitive?) n)))\n        needles case-sensitive?*)))\n\n\n\n\n\n\n(define (split-name-string name)\n  (string-split name #px\"\\\\s+\"))\n\n(define (empty-string? str)\n  (not (not (regexp-match #px\"^[\\\\s]*$\" str))))\n\n(define *verbose* #f)\n\n(define input-response-latency 50)\n\n(define MAX-CHAR-WIDTH 150)\n\n(define smart-column-width-list-box%\n  (class list-box%\n    (super-new)\n    (define (on-size width height)\n      (super on-size width height)\n      (set-default-column-widths this))\n    (override on-size)))\n\n(define (set-default-column-widths list-box)\n  (define label* (send list-box get-column-labels))\n  (define num-cols (length label*))\n  (define window-width (send list-box get-width))\n  (define min-width 5)\n  (define max-width 1000)\n  (define fudge-factor 4) ;; column divider width\n  (define width (min (max (- (floor (/ window-width num-cols)) fudge-factor)\n                          min-width)\n                     max-width))\n  (let loop ((col-num (sub1 num-cols)))\n    (cond\n      [(zero? col-num) (void)]\n      [else\n       (send list-box\n             set-column-width\n             col-num\n             width\n             min-width\n             max-width)\n       (loop (sub1 col-num))])))\n\n(define construct-predicate-label-string\n  (lambda (pred-string pred-name-list)\n    (~a\n     (string-append pred-string\n                   \"  (\"\n                   (foldr (lambda (str1 str2)\n                            (if (equal? \"\" str2)\n                                (string-append str1 \"\" str2)\n                                (string-append str1 \", \" str2)))\n                          \"\"\n                          pred-name-list)\n                   \")\")\n     #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")))\n\n(define DECREASES_PREDICATE_PREFIX_STRING \"decreases [synthetic]\")\n(define DECREASES_PREDICATE_STRING\n  (construct-predicate-label-string DECREASES_PREDICATE_PREFIX_STRING DECREASES_PREDICATE_NAMES))\n(define INCREASES_PREDICATE_PREFIX_STRING \"increases [synthetic]\")\n(define INCREASES_PREDICATE_STRING\n  (construct-predicate-label-string INCREASES_PREDICATE_PREFIX_STRING INCREASES_PREDICATE_NAMES))\n\n(define SYNTHETIC_PREDICATE_PREFIXES (list DECREASES_PREDICATE_PREFIX_STRING\n                                           INCREASES_PREDICATE_PREFIX_STRING\n                                           ))\n\n(define SORT_COLUMN_INCREASING 'sort-column-increasing)\n(define SORT_COLUMN_DECREASING 'sort-column-decreasing)\n\n(define *concept-1-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING))\n(define *last-concept-1-column-clicked-for-sorting* (box -1))\n\n(define *concept-2-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING))\n(define *last-concept-2-column-clicked-for-sorting* (box -1))\n\n(define *concept-X-column-sort-order*\n  (vector SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_INCREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING\n          SORT_COLUMN_DECREASING))\n(define *last-concept-X-column-clicked-for-sorting* (box -1))\n\n(define *concept-1-name-string* (box \"\"))\n(define *concept-1-node-normalization-flag* (box #t))\n(define *concept-1-lightweight-reasoning-flag* (box #f))\n(define *concept-1-choices* (box '()))\n(define *predicate-1-choices* (box '()))\n\n(define *concept-2-name-string* (box \"\"))\n(define *concept-2-node-normalization-flag* (box #t))\n(define *concept-2-lightweight-reasoning-flag* (box #f))\n(define *concept-2-choices* (box '()))\n(define *predicate-2-choices* (box '()))\n\n(define *concept-X-choices* (box '()))\n(define *full-path-choices* (box '()))\n(define *pubmed-choices* (box '()))\n\n;; saved choices used to generate\n;; paths when clicking on a concept in the X list box.\n(define *solution-concept-1-name-string* (box \"\"))\n(define *solution-concept-2-name-string* (box \"\"))\n(define *solution-concept-1-node-normalization-flag* (box #t))\n(define *solution-concept-2-node-normalization-flag* (box #t))\n(define *solution-concept-1-lightweight-reasoning-flag* (box #f))\n(define *solution-concept-2-lightweight-reasoning-flag* (box #f))\n(define *solution-concept-1-choices* (box '()))\n(define *solution-concept-2-choices* (box '()))\n(define *solution-predicate-1-choices* (box '()))\n(define *solution-predicate-2-choices* (box '()))\n\n;; ((pubmed-URL . (publication-date subject-score object-score sentence)) ...)\n(define *publications-info-alist* (box '()))\n\n(define *populate-publication-fields*\n  (lambda args\n    (error '*populate-publication-fields* \"*populate-publication-fields* function not initialized\")))\n\n(define (scheduler dependents)\n  (define mk-thread #f)\n  (define (kill-and-run p)\n    (kill-current-thread)\n    (set! mk-thread (thread p)))\n  (define (kill-current-thread)\n    (and mk-thread (begin (kill-thread mk-thread)\n                          (set! mk-thread #f)))\n    (for-each (lambda (s) (s 'kill)) dependents))\n  (lambda (op . args)\n    (case op\n      ((run)  (apply kill-and-run args))\n      ((kill) (kill-current-thread))\n      (else   (error \"invalid scheduler operation:\" op args)))))\n\n(define S (scheduler '()))\n(define S:edges S)\n(define S:X     S)\n(define S:C1P   S)\n(define S:C2P   S)\n(define S:C1    S)\n(define S:C2    S)\n\n(define handle-search-in-Xs\n  (lambda (search-in-Xs-field\n           concept-X-list-box\n           search-in-Xs-previous-button\n           search-in-Xs-next-button\n           . rest)\n    (define direction (if (and (list? rest) (= (length rest) 1)) (car rest) #f))\n    (define search-str (send search-in-Xs-field get-value))\n\n    (define current-selection (send concept-X-list-box get-selection))\n\n    (cond\n      [direction\n\n       (define count (send concept-X-list-box get-number))\n\n       (define add1/sub1 (case direction\n                           [(previous) sub1]\n                           [(next) add1]\n                           [else (error 'add1/sub1 \"unknown direction in inc/dec\")]))\n\n       (define found-selection\n         (and (> count 0)\n              (let loop ((i (add1/sub1 current-selection)))\n                (cond\n                  [(>= i count) (loop 0)]\n                  [(< i 0) (loop (- count 1))]\n                  [else\n                   (define data (send concept-X-list-box get-data i))\n                   (define name-str (list-ref data 2))\n                   (define matches?\n                     (smart-string-matches? #f\n                                            chars:ignore-typical\n                                            \"\"\n                                            (string-split search-str \" \")\n                                            name-str))\n                   (cond\n                     [matches? i]\n                     [(= i current-selection)\n                      ;; wrapped around without a match\n                      #f]\n                     [else (loop (add1/sub1 i))])]))))\n\n       (if found-selection\n           (when (not (equal? found-selection current-selection))\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))\n             (send concept-X-list-box select found-selection #t)\n             (send concept-X-list-box set-first-visible-item found-selection))\n           (begin\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))))]\n      [(empty-string? search-str)\n       (when current-selection\n         (send concept-X-list-box select current-selection #f))\n       (send search-in-Xs-previous-button enable #f)\n       (send search-in-Xs-next-button enable #f)]\n      [else\n       (define count (send concept-X-list-box get-number))\n       (define found-selection\n         (and (> count 0)\n              (let loop ((i 0))\n                (cond\n                  [(>= i count) #f]\n                  [else\n                   (define data (send concept-X-list-box get-data i))\n                   (define name-str (list-ref data 2))\n                   (define matches?\n                     (smart-string-matches? #f\n                                            chars:ignore-typical\n                                            \"\"\n                                            (string-split search-str \" \")\n                                            name-str))\n                   (if matches?\n                       i\n                       (loop (add1 i)))]))))\n\n       (if found-selection\n           (begin\n             (send search-in-Xs-previous-button enable #t)\n             (send search-in-Xs-next-button enable #t))\n           (begin\n             (send search-in-Xs-previous-button enable #f)\n             (send search-in-Xs-next-button enable #f)))\n\n       (if found-selection\n           (when (not (equal? found-selection current-selection))\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))\n             (send concept-X-list-box select found-selection #t)\n             (send concept-X-list-box set-first-visible-item found-selection))\n           (begin\n             (when current-selection\n               (send concept-X-list-box select current-selection #f))))])))\n\n(define (convert-concept-1/2-to-list-box-format concept)\n  (match concept\n    [`(,dbname ,curie ,name ,cat)\n     (list (format \"~a\" dbname)\n           (~a curie #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (format \"~a\" cat)\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\"))]))\n\n(define (convert-X-concept-to-list-box-format concept)\n  (match concept\n    [`(,dbname ,curie ,name ,cat ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-length ,confidence)\n     (list (format \"~a\" dbname)\n           (~a curie #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (~a cat #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (format \"~a\" max-pubmed-count)\n           (format \"~a\" min-pubmed-count)\n           (string-join pred-names \", \")\n           (format \"~a\" path-length)\n           (format \"~a\" confidence))]))\n\n(define (convert-concept-1/2-to-column-sorting-format concept)\n  (match concept\n    [`(,dbname ,curie ,name ,cat)\n     (list (format \"~a\" dbname)\n           (~a curie #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (~a cat #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\"))]))\n\n(define (convert-X-concept-to-column-sorting-format concept)\n  (match concept\n    [`(,dbname ,curie ,name ,cat ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-length ,confidence)\n     (list (format \"~a\" dbname)\n           (~a curie #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (~a cat #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n           max-pubmed-count\n           min-pubmed-count\n           (string-join pred-names \", \")\n           path-length\n           confidence)]))\n\n(define (make-send-concepts-to-concept-1/2-list-box concept-1/2-list-box-thunk)\n  (lambda (concepts)\n    (define concept-1/2-list-box (concept-1/2-list-box-thunk))\n    (define formatted-concepts (map convert-concept-1/2-to-list-box-format concepts))\n    (send concept-1/2-list-box\n          set\n          (map (lambda (e) (list-ref e 0)) formatted-concepts)\n          (map (lambda (e) (list-ref e 1)) formatted-concepts)\n          (map (lambda (e) (list-ref e 2)) formatted-concepts)\n          (map (lambda (e) (list-ref e 3)) formatted-concepts))))\n\n(define (make-send-concepts-to-concept-X-list-box concept-X-list-box)\n  (lambda (concepts)\n    (define formatted-concepts (map convert-X-concept-to-list-box-format concepts))\n    (send concept-X-list-box\n          set\n          (map (lambda (e) (list-ref e 0)) formatted-concepts)\n          (map (lambda (e) (list-ref e 1)) formatted-concepts)\n          (map (lambda (e) (list-ref e 2)) formatted-concepts)\n          (map (lambda (e) (list-ref e 3)) formatted-concepts)\n          (map (lambda (e) (list-ref e 4)) formatted-concepts)\n          (map (lambda (e) (list-ref e 5)) formatted-concepts)\n          (map (lambda (e) (list-ref e 6)) formatted-concepts)\n          (map (lambda (e) (list-ref e 7)) formatted-concepts)\n          (map (lambda (e) (list-ref e 8)) formatted-concepts))))\n\n(define (handle-sort-by-column-header-click event\n                                            list-box\n                                            last-column-clicked-for-sorting-box\n                                            column-sort-order-vector\n                                            choices-box\n                                            convert-values-to-column-sorting-format\n                                            send-values-to-list-box)\n\n  (printf \"handle-sort-by-column-header-click called\\n\")\n\n  ;; get previously selected choice's data, if any\n  (define current-selection (send list-box get-selection))\n  (printf \"current-selection: ~s\\n\" current-selection)\n  (define current-selection-data (and current-selection\n                                      (send list-box get-data current-selection)))\n  (printf \"current-selection-data: ~s\\n\" current-selection-data)\n\n  (when current-selection\n    (send list-box select current-selection #f))\n\n  ;; sort by column\n  (define column-clicked (send event get-column))\n  (define last-column-clicked (unbox last-column-clicked-for-sorting-box))\n\n  (define sort-order (vector-ref column-sort-order-vector column-clicked))\n\n  ;; swap sort order if user clicks on same column twice in a row\n  (when (= column-clicked last-column-clicked)\n    (set! sort-order\n          (if (eqv? sort-order SORT_COLUMN_INCREASING)\n              SORT_COLUMN_DECREASING\n              SORT_COLUMN_INCREASING))\n    (vector-set! column-sort-order-vector\n                 column-clicked\n                 sort-order))\n\n  (printf \"sorting by column ~s in ~s order\\n\" column-clicked sort-order)\n\n  (define choices (unbox choices-box))\n\n  (define sorted-choices (sort choices\n                               (lambda (c1 c2)\n                                 (let ((fc1 (convert-values-to-column-sorting-format c1))\n                                       (fc2 (convert-values-to-column-sorting-format c2)))\n                                   (let ((v1 (list-ref fc1 column-clicked))\n                                         (v2 (list-ref fc2 column-clicked)))\n                                     (let ((num-compare\n                                            (if (eqv? sort-order SORT_COLUMN_INCREASING)\n                                                <\n                                                >))\n                                           (string-compare\n                                            (if (eqv? sort-order SORT_COLUMN_INCREASING)\n                                                string<?\n                                                string>?)))\n                                       (if (and (number? v1) (number? v2))\n                                           (num-compare v1 v2)\n                                           (string-compare (string-downcase v1)\n                                                           (string-downcase v2)))))))))\n\n  (set-box! last-column-clicked-for-sorting-box column-clicked)\n\n  (set-box! choices-box sorted-choices)\n\n  (send-values-to-list-box sorted-choices)\n\n  ;; add choice data to each list-box entry\n  (define len (length sorted-choices))\n  (let loop ((i 0)\n             (c* sorted-choices))\n    (cond\n      [(= len i) (void)]\n      [else\n       (send list-box set-data i (car c*))\n       (loop (add1 i)\n             (cdr c*))]))\n\n  ;; select previously selected choice in its new location, if any\n  (when (and current-selection current-selection-data)\n    (define count (send list-box get-number))\n    (printf \"count: ~s\\n\" count)\n    (define new-selection\n      (let loop ((i 0))\n        (cond\n          [(>= i count) #f]\n          [else\n           (let ((d (send list-box get-data i)))\n             (printf \"--------\\n\")\n             (printf \"d: ~s\\n\" d)\n             (printf \"(equal? d current-selection-data): ~s\\n\" (equal? d current-selection-data))\n             (if (equal? d current-selection-data)\n                 i\n                 (loop (add1 i))))])))\n    (printf \"new-selection: ~s\\n\" new-selection)\n    (when new-selection\n      (send list-box select new-selection #t)\n      (send list-box set-first-visible-item new-selection)))\n\n  (void))\n\n(define (concept-list parent\n                      parent-search/normalize/lw-panel\n                      parent-list-boxes-panel\n                      label\n                      name-string\n                      node-normalization-flag\n                      lightweight-reasoning-flag\n                      choices\n                      predicate-list-box-thunk\n                      predicate-choices\n                      edge-type\n                      last-column-clicked-for-sorting-box\n                      column-sort-order-vector\n                      choices-box\n                      convert-values-to-column-sorting-format\n                      send-values-to-list-box\n                      S:C S:CP)\n  (define name-field (new text-field%\n                          (label label)\n                          (parent parent-search/normalize/lw-panel)\n                          (init-value \"\")\n                          (callback (lambda (self event)\n                                      (define name (send self get-value))\n                                      (set-box! name-string name)\n                                      (set-box! predicate-choices '())\n                                      (send (predicate-list-box-thunk) set '())\n                                      (handle)))))\n  (define node-normalization-field (new check-box%\n                                        (parent parent-search/normalize/lw-panel)\n                                        (label \"Show concept synonyms for CURIE searches\")\n                                        (value #t)\n                                        (callback (lambda (self event) (handle)))))\n  (define lightweight-reasoning-field (new check-box%\n                                          (parent parent-search/normalize/lw-panel)\n                                          (label \"Use lightweight reasoning\")\n                                          (value #f)\n                                          ;; TODO remove the 'deleted style to show the checkbox\n                                          (style '(deleted))\n                                          (callback (lambda (self event) (handle)))))\n  (define concept-listbox (new smart-column-width-list-box%\n                               (label label)\n                               (choices '())\n                               (columns '(\"KG\" \"CURIE\" \"Category\" \"Name\"))\n                               (parent parent-list-boxes-panel)\n                               (style '(column-headers clickable-headers reorderable-headers extended))\n                               (callback (lambda (self event)\n                                           (define event-type (send event get-event-type))\n                                           (cond\n                                             [(eqv? event-type 'list-box-column)\n                                              (handle-sort-by-column-header-click\n                                                event\n                                                concept-listbox\n                                                last-column-clicked-for-sorting-box\n                                                column-sort-order-vector\n                                                choices-box\n                                                convert-values-to-column-sorting-format\n                                                send-values-to-list-box)]\n                                             [else\n                                               (define selections (send self get-selections))\n                                               (define selected-concepts\n                                                 (foldr (lambda (i l) (cons (list-ref (unbox choices) i) l)) '() selections))\n                                               (when *verbose*\n                                                 (printf \"selected concepts:\\n\")\n                                                 (print-short-concept-description selected-concepts)\n                                                 ;; Old mediKanren 1 GUI code:\n                                                 ;; (printf \"selected concepts:\\n~s\\n\" selected-concepts)\n                                                 )\n                                               (S:CP 'run\n                                                     (thunk\n                                                       (define preds-by-concept\n                                                         (time (case edge-type\n                                                                 [(in-edge)  (map caddr (find-predicates/concepts #f #t selected-concepts))]\n                                                                 [(out-edge) (map cadr (find-predicates/concepts #t #f selected-concepts))]\n                                                                 [else       (error 'concept-listbox/predicates)])))\n                                                       (define predicates\n                                                         (begin\n                                                           (printf \"preds-by-concept:\\n~s\\n\" preds-by-concept)\n                                                           (sort (remove-duplicates (apply append preds-by-concept)) string<?)\n                                                           ;; Old mediKanren 1 GUI code:\n                                                           ;; (sort (remove-duplicates (map cddr (append* preds-by-concept))) string<?)\n                                                           ))\n                                                       (define (create-increase/decrease-syn-pred-list\n                                                                 syn-pred-prefix predicate-names selected-predicates)\n                                                         (let ((inter (sort (set-intersect predicate-names selected-predicates)\n                                                                            string<?)))\n                                                           (if (not (null? inter))\n                                                             (let ((str (string-append syn-pred-prefix \" (\" (string-join inter \", \") \")\")))\n                                                               (let ((safe-string (~a str #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")))\n                                                                 (list safe-string)))\n                                                             '())))\n                                                       (define decreases-synthetic-predicate-string-list\n                                                         (create-increase/decrease-syn-pred-list\n                                                           DECREASES_PREDICATE_PREFIX_STRING DECREASES_PREDICATE_NAMES predicates))\n                                                       (define increases-synthetic-predicate-string-list\n                                                         (create-increase/decrease-syn-pred-list\n                                                           INCREASES_PREDICATE_PREFIX_STRING INCREASES_PREDICATE_NAMES predicates))\n                                                       (set! predicates (append\n                                                                          decreases-synthetic-predicate-string-list\n                                                                          increases-synthetic-predicate-string-list\n                                                                          predicates))\n                                                       (printf \"predicates: ~s\\n\" predicates)\n                                                       (set-box! predicate-choices predicates)\n                                                       (send (predicate-list-box-thunk) set predicates)\n                                                       ;; unselect all items\n                                                       (for ([i (length predicates)])\n                                                            (send (predicate-list-box-thunk) select i #f))))])))))\n\n  (define (mk-run)\n    (let* ((subject? (case edge-type\n                       [(out-edge) #t]\n                       [(in-edge)  #f]))\n           (object? (case edge-type\n                      [(out-edge) #f]\n                      [(in-edge)  #t]))\n           (string-parts (split-name-string current-name))\n           (ans (cond\n                  ((null? string-parts) '())\n                  ((curie-string current-name) =>\n                   (lambda (cs)\n                     (printf \"treating '~s' as a single CURIE\\n\" cs)\n                     (printf \"performing CURIE search for: ~s\\n\" cs)\n                     (let ((synonyms (if (unbox node-normalization-flag)\n                                         (set->list\n                                          (set-union\n                                           (set cs)\n                                           (list->set\n                                            (run* x (kgx-synonym cs x)))))\n                                         (list cs))))\n                       (printf \"found synonyms:\\n~s\\n\" synonyms)\n\n                       (time (let ((result\n                                    (map (lambda (curie)\n                                           (run*/set ans\n                                             (fresh (dbname eid s o name cat)\n                                               (== `(,dbname ,curie ,name ,cat) ans)\n                                               (if subject?\n                                                   (== curie s)\n                                                   (== curie o))\n                                               (edge `(,dbname . ,eid) s o)\n                                               (cprop curie \"name\" name)\n                                               (cprop curie \"category\" cat))))\n                                         synonyms)))\n                               (if (null? result)\n                                   '()\n                                   (set->list (apply set-union result))))))))\n                  (else\n\n                   (printf \"treating '~s' as a non-CURIE search\\n\" string-parts)\n                   (printf \"performing search for: ~s\\n\" string-parts)\n\n                   (let ((string-search-curies (find-ids-named rtx:cprop string-parts)))\n\n                     (time (let ((result\n                                  (map (lambda (curie)\n                                          (run*/set ans\n                                            (fresh (dbname eid s o name cat)\n                                              (== `(,dbname ,curie ,name ,cat) ans)\n                                              (if subject?\n                                                  (== curie s)\n                                                  (== curie o))\n                                              (edge `(,dbname . ,eid) s o)\n                                              (cprop curie \"name\" name)\n                                              (cprop curie \"category\" cat))))\n                                        string-search-curies)))\n                             (if (null? result)\n                                 '()\n                                 (set->list (apply set-union result))))))\n\n                   ;; Old mediKanren 1 GUI code:\n                   ;; (time (find-concepts/options/cui-infer subject? object? isa-count string-parts))\n                   \n                   ))))\n\n      ;; (printf \"ans:\\n~s\\n\" ans)\n      \n      (set-box! choices ans)\n      (send concept-listbox\n            set\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,curie ,name ,cat)\n                      (~a dbname #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans)          \n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,curie ,name ,cat)\n                      (~a curie #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,curie ,name ,cat)\n                      (~a cat #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n                      ;; Old mediKanren 1 GUI code:\n                      ;; (~a `(,catid . ,cat) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")\n                      ]))\n                 ans)\n            (map (lambda (x)\n                   (match x\n                     [`(,dbname ,curie ,name ,cat)\n                      (~a name #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                 ans))\n\n      ;; add choice data to each list-box entry\n      (define len (length (unbox choices)))\n      (let loop ((i 0)\n                 (c* (unbox choices)))\n        (cond\n          [(= len i) (void)]\n          [else\n           (send concept-listbox set-data i (car c*))\n           (loop (add1 i)\n                 (cdr c*))]))\n\n      ;; unselect all items\n      (for ([i (length ans)])\n           (send concept-listbox select i #f))))\n\n  (define current-name \"\")\n  (define current-node-normalization #t)\n  (define current-lightweight-reasoning #f)\n  (define pending-name current-name)\n  (define timer (new timer% (notify-callback (thunk (S:C 'run mk-run)))))\n  (define (handle)\n    (define new-name (send name-field get-value))\n    (define new-node-normalization (send node-normalization-field get-value))\n    (define new-lightweight-reasoning (send lightweight-reasoning-field get-value))\n    (when (not (and (equal? current-name new-name)\n                    (equal? current-node-normalization new-node-normalization)\n                    (equal? current-lightweight-reasoning new-lightweight-reasoning)))\n      (set! current-name new-name)\n      \n      (set! current-node-normalization new-node-normalization)\n      (set-box! node-normalization-flag current-node-normalization)\n\n      (set! current-lightweight-reasoning new-lightweight-reasoning)\n      (set-box! lightweight-reasoning-flag current-lightweight-reasoning)\n      \n      (S:C 'kill)\n      (send timer stop)\n      (send timer start input-response-latency #t)))\n  concept-listbox)\n\n(define (launch-gui)\n  (launch-main-window))\n\n(define (launch-main-window)\n  (let ((frame (new frame%\n                    (label MEDIKANREN_VERSION_STRING)\n                    (width HORIZ-SIZE)\n                    (height VERT-SIZE))))\n\n    (define outer-vert-draggable-panel (new panel:vertical-dragable%\n                                            (parent frame)\n                                            (alignment '(left center))))\n\n    (define upper-pane (new panel:vertical-dragable%\n                            (parent outer-vert-draggable-panel)\n                            (alignment '(left center))))\n\n    (define lower-pane (new panel:vertical-dragable%\n                            (parent outer-vert-draggable-panel)\n                            (alignment '(left center))))\n\n    (define go-callback\n      (lambda (button event)\n\n        (printf \"go callback called...\\n\")\n        \n        (send running-status-description set-label \"Running...\")\n\n        (define concept-1-selections (send concept-1-list-box get-selections))\n        (define concept-2-selections (send concept-2-list-box get-selections))\n\n        (define concept-1-selected-concepts\n          (foldr (lambda (i l) (cons (list-ref (unbox *concept-1-choices*) i) l))\n                 '()\n                 concept-1-selections))\n        (define concept-2-selected-concepts\n          (foldr (lambda (i l) (cons (list-ref (unbox *concept-2-choices*) i) l))\n                 '()\n                 concept-2-selections))\n\n        (printf \"concept-1-selections: ~s\\n\" concept-1-selections)\n        (print-short-concept-description concept-1-selected-concepts)\n        ;; Old mediKanren 1 GUI code:\n        ;; (displayln concept-1-selected-concepts)\n        (printf \"---------------------------------\\n\")\n        (printf \"concept-2-selections: ~s\\n\" concept-2-selections)\n        (print-short-concept-description concept-2-selected-concepts)\n        ;; Old mediKanren 1 GUI code:\n        ;; (displayln concept-2-selected-concepts)\n        (printf \"---------------------------------\\n\")\n\n\n        (define predicate-1-selections (send predicate-1-list-box get-selections))\n        (define predicate-2-selections (send predicate-2-list-box get-selections))\n\n        (define predicate-1-selected-predicates\n          (foldr (lambda (i l) (cons (list-ref (unbox *predicate-1-choices*) i) l))\n                 '()\n                 predicate-1-selections))\n        (define predicate-2-selected-predicates\n          (foldr (lambda (i l) (cons (list-ref (unbox *predicate-2-choices*) i) l))\n                 '()\n                 predicate-2-selections))\n\n\n        (printf \"predicate-1-selections: ~s\\n\" predicate-1-selections)\n        (displayln predicate-1-selected-predicates)\n        (printf \"---------------------------------\\n\")\n        (printf \"predicate-2-selections: ~s\\n\" predicate-2-selections)\n        (displayln predicate-2-selected-predicates)\n        (printf \"---------------------------------\\n\")\n\n        (S:X 'run (thunk (find-X-concepts concept-1-selected-concepts\n                                          concept-2-selected-concepts\n                                          predicate-1-selected-predicates\n                                          predicate-2-selected-predicates\n                                          (unbox *predicate-1-choices*)\n                                          (unbox *predicate-2-choices*)\n                                          concept-X-list-box\n                                          running-status-description\n                                          full-path-list-box\n                                          subject-properties-list-box\n                                          edge-properties-list-box\n                                          object-properties-list-box\n                                          pubmed-list-box\n                                          search-in-Xs-field\n                                          search-in-Xs-previous-button\n                                          search-in-Xs-next-button)))))\n\n    (define concept-1-overall-pane (new vertical-pane%\n                                        (parent upper-pane)\n                                        (alignment '(left center))))\n\n    (define concept-1-search/normalize/lw-panel (new panel:horizontal-dragable%\n                                            (parent concept-1-overall-pane)\n                                            (alignment '(left center))\n                                            (stretchable-height #f)))\n    (define concept-1-list-boxes-panel (new panel:horizontal-dragable%\n                                            (parent concept-1-overall-pane)\n                                            (alignment '(left center))))\n    (define concept-1-list-box (concept-list concept-1-overall-pane\n                                             concept-1-search/normalize/lw-panel\n                                             concept-1-list-boxes-panel\n                                             \"Concept 1\"\n                                             *concept-1-name-string*\n                                             *concept-1-node-normalization-flag*\n                                             *concept-1-lightweight-reasoning-flag*\n                                             *concept-1-choices*\n                                             (lambda () predicate-1-list-box)\n                                             *predicate-1-choices*\n                                             'out-edge\n                                             *last-concept-1-column-clicked-for-sorting*\n                                             *concept-1-column-sort-order*\n                                             *concept-1-choices*\n                                             convert-concept-1/2-to-column-sorting-format\n                                             (make-send-concepts-to-concept-1/2-list-box (lambda () concept-1-list-box))\n                                             S:C1 S:C1P))\n    (define predicate-1-list-box (new list-box%\n                                      (label \"Predicate 1\")\n                                      (choices (unbox *predicate-1-choices*))\n                                      (columns '(\"Name\"))\n                                      (parent concept-1-list-boxes-panel)\n                                      (style '(extended))\n                                      (callback go-callback)))\n    (define edge-description (new message%\n                                  (parent concept-1-overall-pane)\n                                  (label \"Concept 1 -> Predicate 1 -> [X] -> Predicate 2 -> Concept 2\")))\n\n    (define concept-2-overall-pane (new vertical-pane%\n                                        (parent upper-pane)\n                                        (alignment '(left center))))\n\n    (define concept-2-search/normalize/lw-panel (new panel:horizontal-dragable%\n                                            (parent concept-2-overall-pane)\n                                            (alignment '(left center))\n                                            (stretchable-height #f)))\n    (define concept-2-list-boxes-panel (new panel:horizontal-dragable%\n                                            (parent concept-2-overall-pane)\n                                            (alignment '(left center))))\n    (define predicate-2-list-box (new list-box%\n                                      (label \"Predicate 2\")\n                                      (choices (unbox *predicate-2-choices*))\n                                      (columns '(\"Name\"))\n                                      (parent concept-2-list-boxes-panel)\n                                      (style '(extended))\n                                      (callback go-callback)))\n    (define concept-2-list-box (concept-list concept-2-overall-pane\n                                             concept-2-search/normalize/lw-panel\n                                             concept-2-list-boxes-panel\n                                             \"Concept 2\"\n                                             *concept-2-name-string*\n                                             *concept-2-node-normalization-flag*\n                                             *concept-2-lightweight-reasoning-flag*\n                                             *concept-2-choices*\n                                             (lambda () predicate-2-list-box)\n                                             *predicate-2-choices*\n                                             'in-edge\n                                             *last-concept-2-column-clicked-for-sorting*\n                                             *concept-2-column-sort-order*\n                                             *concept-2-choices*\n                                             convert-concept-1/2-to-column-sorting-format\n                                             (make-send-concepts-to-concept-1/2-list-box (lambda () concept-2-list-box))\n                                             S:C2 S:C2P))\n\n    (define running-status-description/search-in-Xs-panel\n      (new\n       horizontal-panel%\n       (parent concept-2-overall-pane)\n       (alignment '(left center))\n       (stretchable-height #f)))\n\n    (define running-status-description (new message%\n                                            (parent running-status-description/search-in-Xs-panel)\n                                            (label \"                                                                \")))\n\n    (define search-in-Xs-field (new text-field%\n                                    (label \"Find in X's\")\n                                    (parent running-status-description/search-in-Xs-panel)\n                                    (init-value \"\")\n                                    (callback (lambda (self event)\n                                                (handle-search-in-Xs self\n                                                                     concept-X-list-box\n                                                                     search-in-Xs-previous-button\n                                                                     search-in-Xs-next-button\n                                                                     )))))\n\n    (define search-in-Xs-previous-button (new button%\n                                              (parent running-status-description/search-in-Xs-panel)\n                                              (label \"Previous\")\n                                              (callback (lambda (self event)\n                                                          (handle-search-in-Xs search-in-Xs-field\n                                                                               concept-X-list-box\n                                                                               search-in-Xs-previous-button\n                                                                               search-in-Xs-next-button\n                                                                               'previous)))))\n\n    (define search-in-Xs-next-button (new button%\n                                          (parent running-status-description/search-in-Xs-panel)\n                                          (label \"Next\")\n                                          (callback (lambda (self event)\n                                                      (handle-search-in-Xs search-in-Xs-field\n                                                                           concept-X-list-box\n                                                                           search-in-Xs-previous-button\n                                                                           search-in-Xs-next-button\n                                                                           'next)))))\n\n    (define concept-X-list-box (new smart-column-width-list-box%\n                                    (label \"X\")\n                                    (choices (unbox *concept-X-choices*))\n                                    (columns '(\"KG\" \"CURIE\" \"Category\" \"Name\" \"Max PubMed #\" \"Min PubMed #\" \"Predicates\" \"Path Length\" \"Path Confidence\"))\n                                    (parent lower-pane)\n                                    (style '(column-headers clickable-headers reorderable-headers single))\n                                    (callback (lambda (self event)\n                                                (define event-type (send event get-event-type))\n                                                (S:edges 'run\n                                                         (thunk\n                                                           (cond\n                                                             [(eqv? event-type 'list-box-column)\n                                                              (handle-sort-by-column-header-click\n                                                                event\n                                                                concept-X-list-box\n                                                                *last-concept-X-column-clicked-for-sorting*\n                                                                *concept-X-column-sort-order*\n                                                                *concept-X-choices*\n                                                                convert-X-concept-to-column-sorting-format\n                                                                (make-send-concepts-to-concept-X-list-box self))]\n                                                             [(eqv? event-type 'list-box-dclick)\n                                                              (printf \"double-click!! copy name of the concept to the clipboard\\n\")\n                                                              (define time-stamp (send event get-time-stamp))\n                                                              (printf \"time stamp: ~s\\n\" time-stamp)\n                                                              (define concept-name\n                                                                (let ((sel* (send concept-X-list-box get-selections)))\n                                                                  (if (= (length sel*) 1)\n                                                                    (let ((selected-X (list-ref (unbox *concept-X-choices*) (car sel*))))\n                                                                      (match selected-X\n                                                                        [`(,dbname ,curie ,name ,cat ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-count ,confidence)\n                                                                          name]\n                                                                        [else \"\"]))\n                                                                    \"\")))\n                                                              (printf \"concept name: ~s\\n\" concept-name)\n                                                              (send the-clipboard set-clipboard-string concept-name time-stamp)]\n                                                             [else\n\n                                                               ;; empty the entries in the full-path-list-box\n                                                               (send full-path-list-box set '() '() '() '() '() '() '() '())\n\n                                                               ;; empty the entries in the properties list-boxes\n                                                               (send subject-properties-list-box set '() '())\n                                                               (send edge-properties-list-box set '() '())\n                                                               (send object-properties-list-box set '() '())\n\n                                                               ;; empty the entries in the pubmed-list-box\n                                                               (send pubmed-list-box set '())\n\n                                                               (let ((sel* (send concept-X-list-box get-selections)))\n                                                                 (when (= (length sel*) 1)\n                                                                   (let ((selected-X (list-ref (unbox *concept-X-choices*) (car sel*))))\n                                                                     (let ((selected-X\n                                                                             (match selected-X\n                                                                               [`(,dbname ,curie ,name ,cat ,props ,max-pubmed-count ,min-pubmed-count ,pred-names ,path-count ,confidence)\n                                                                                 `(,dbname ,curie ,name ,cat ,props)])))\n                                                                       (printf \"selected ~s\\n\" selected-X)\n                                                                       (define concept-1* (unbox *solution-concept-1-choices*))\n                                                                       (define concept-2* (unbox *solution-concept-2-choices*))\n                                                                       (printf \"concept-1* ~s\\n\" concept-1*)\n                                                                       (printf \"concept-2* ~s\\n\" concept-2*)\n                                                                       (define predicate-1* (unbox *solution-predicate-1-choices*))\n                                                                       (define predicate-2* (unbox *solution-predicate-2-choices*))\n                                                                       (printf \"predicate-1* ~s\\n\" predicate-1*)\n                                                                       (printf \"predicate-2* ~s\\n\" predicate-2*)\n\n                                                                       (define atomic/synthetic-predicate-1* (split-atomic/synthetic-predicates (unbox *predicate-1-choices*) predicate-1*))\n                                                                       (define atomic/synthetic-predicate-2* (split-atomic/synthetic-predicates (unbox *predicate-2-choices*) predicate-2*))\n\n                                                                       (define atomic-predicate-1* (car atomic/synthetic-predicate-1*))\n                                                                       (define atomic-predicate-2* (car atomic/synthetic-predicate-2*))\n\n                                                                       (define synthetic-predicate-1* (cadr atomic/synthetic-predicate-1*))\n                                                                       (define synthetic-predicate-2* (cadr atomic/synthetic-predicate-2*))\n\n\n                                                                       (define paths '())\n\n\n                                                                       (cond\n                                                                         [(and\n                                                                            (null?\n                                                                              (split-name-string\n                                                                                (unbox *solution-concept-1-name-string*)))\n                                                                            (null?\n                                                                              (split-name-string\n                                                                                (unbox *solution-concept-2-name-string*))))\n\n                                                                          (set! paths '())]\n                                                                         [(null? (split-name-string (unbox *solution-concept-1-name-string*)))\n                                                                          (printf \"== synthetic queries 1\\n\")\n                                                                          (set! paths '())\n                                                                          ;; run synthetic queries here\n\n                                                                          (set! paths\n                                                                            (remove-duplicates\n                                                                             (append paths\n                                                                               (let ((ans\n                                                                                      (set->list\n                                                                                       (run*/set (q)\n                                                                                         (fresh (dbname eid\n                                                                                                        o-curie o-name o-cat\n                                                                                                        x-curie x-name x-cat fake-x-props\n                                                                                                        pred edge-props)\n                                                                                           (== (list `(,dbname ,eid (,x-curie ,x-name ,x-cat) (,o-curie ,o-name ,o-cat) ,pred ,edge-props)) q)\n                                                                                           (== `(,dbname ,x-curie ,x-name ,x-cat ,fake-x-props) selected-X)\n                                                                                           \n                                                                                           (membero `(,dbname ,o-curie ,o-name ,o-cat) concept-2*)\n                                                                                           (membero pred atomic-predicate-2*)\n                                                                                           (edge `(,dbname . ,eid) x-curie o-curie)\n                                                                                           (eprop `(,dbname . ,eid) \"predicate\" pred)\n                                                                                           (:== edge-props (dbname eid)\n                                                                                                (run* k/v\n                                                                                                  (fresh (k v)\n                                                                                                    (== k/v `(,k . ,v))\n                                                                                                    (eprop `(,dbname . ,eid) k v))))\n                                                                                           )))))\n                                                                                 (if (null? ans)\n                                                                                     '()\n                                                                                     (car ans))))))\n                                                                          \n                                                                          #|\n                                                                          ;; Old mediKanren 1 GUI code:\n                                                                          (set! paths\n                                                                            (remove-duplicates\n                                                                              (append paths\n                                                                                      (run* (q)\n                                                                                        (fresh (e dbname eid x o pid pred eprops)\n                                                                                          (== (list `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops)) q)\n                                                                                          (== `(,dbname . ,x) selected-X)\n                                                                                          (== `(,dbname ,eid ,x ,o (,pid . ,pred) ,eprops) e)\n                                                                                          (membero `(,dbname . ,o) concept-2*)\n                                                                                          (membero pred atomic-predicate-2*)\n                                                                                          (edgeo e))))))\n                                                                          |#\n\n                                                                          ]\n                                                                         [(null? (split-name-string (unbox *solution-concept-2-name-string*)))\n                                                                          (printf \"== synthetic queries 2\\n\")\n                                                                          (printf \"concept-1*:\\n~s\\n\" concept-1*)\n                                                                          (printf \"atomic-predicate-1*:\\n~s\\n\" atomic-predicate-1*)\n                                                                          (printf \"selected-X:\\n~s\\n\" selected-X)\n                                                                          (set! paths '())\n                                                                          ;; run synthetic queries here\n\n                                                                          (set! paths\n                                                                            (remove-duplicates\n                                                                             (append paths\n                                                                               (let ((ans\n                                                                                      (set->list\n                                                                                       (run*/set (q)\n                                                                                         (fresh (dbname eid\n                                                                                                        s-curie s-name s-cat\n                                                                                                        x-curie x-name x-cat fake-x-props\n                                                                                                        pred edge-props)\n                                                                                           (== (list `(,dbname ,eid (,s-curie ,s-name ,s-cat) (,x-curie ,x-name ,x-cat) ,pred ,edge-props)) q)\n                                                                                           (== `(,dbname ,x-curie ,x-name ,x-cat ,fake-x-props) selected-X)\n                                                                                           \n                                                                                           (membero `(,dbname ,s-curie ,s-name ,s-cat) concept-1*)\n                                                                                           (membero pred atomic-predicate-1*)\n                                                                                           (edge `(,dbname . ,eid) s-curie x-curie)\n                                                                                           (eprop `(,dbname . ,eid) \"predicate\" pred)\n                                                                                           (:== edge-props (dbname eid)\n                                                                                                (run* k/v\n                                                                                                  (fresh (k v)\n                                                                                                    (== k/v `(,k . ,v))\n                                                                                                    (eprop `(,dbname . ,eid) k v))))\n                                                                                           )))))\n                                                                                 (if (null? ans)\n                                                                                     '()\n                                                                                     (car ans))))))\n                                                                          \n                                                                          #|\n                                                                          ;; Old mediKanren 1 GUI code:\n                                                                          (set! paths\n                                                                            (remove-duplicates\n                                                                              (append paths\n                                                                                      (run* (q)\n                                                                                        (fresh (e dbname eid s x pid pred eprops)\n                                                                                          (== (list `(,dbname ,eid ,s ,x (,pid . ,pred) ,eprops)) q)\n                                                                                          (== `(,dbname . ,x) selected-X)\n                                                                                          (== `(,dbname ,eid ,s ,x (,pid . ,pred) ,eprops) e)\n                                                                                          (membero `(,dbname . ,s) concept-1*)\n                                                                                          (membero pred atomic-predicate-1*)\n                                                                                          (edgeo e))))))\n                                                                          |#\n\n                                                                          ]\n                                                                         [else\n                                                                          (printf \"== synthetic queries 3\\n\")\n                                                                           (set! paths '())\n                                                                           ;; run synthetic queries here\n\n                                                                           (printf \"selected-X:\\n~s\\n\" selected-X)\n                                                                           (printf \"concept-1*:\\n~s\\n\" concept-1*)\n                                                                           (printf \"concept-2*:\\n~s\\n\" concept-2*)\n                                                                           (printf \"atomic-predicate-1*:\\n~s\\n\" atomic-predicate-1*)\n                                                                           (printf \"atomic-predicate-2*:\\n~s\\n\" atomic-predicate-2*)\n                                                                           \n                                                                           (set! paths\n                                                                             (remove-duplicates\n                                                                              (append paths\n                                                                                (let ((ans\n                                                                                       (set->list\n                                                                                        (run*/set (q)\n                                                                                          (fresh (dbname1 dbname2\n                                                                                                  eid1 eid2\n                                                                                                  s-curie s-name s-cat\n                                                                                                  x-curie x-name x-cat fake-x-props\n                                                                                                  o-curie o-name o-cat\n                                                                                                  pred1 pred2 edge1-props edge2-props)\n                                                                                            (== (list\n                                                                                                 `(,dbname1 ,eid1 (,s-curie ,s-name ,s-cat) (,x-curie ,x-name ,x-cat) ,pred1 ,edge1-props)\n                                                                                                 `(,dbname2 ,eid2 (,x-curie ,x-name ,x-cat) (,o-curie ,o-name ,o-cat) ,pred2 ,edge2-props))\n                                                                                                q)\n                                                                                            (== `((,dbname1 ,dbname2) ,x-curie ,x-name ,x-cat ,fake-x-props) selected-X)\n                                                                                           \n                                                                                            (membero `(,dbname1 ,s-curie ,s-name ,s-cat) concept-1*)\n                                                                                            (membero `(,dbname2 ,o-curie ,o-name ,o-cat) concept-2*)\n                                                                                            (membero pred1 atomic-predicate-1*)\n                                                                                            (membero pred2 atomic-predicate-2*)\n                                                                                            (edge `(,dbname1 . ,eid1) s-curie x-curie)\n                                                                                            (edge `(,dbname2 . ,eid2) x-curie o-curie)\n                                                                                            (eprop `(,dbname1 . ,eid1) \"predicate\" pred1)\n                                                                                            (eprop `(,dbname2 . ,eid2) \"predicate\" pred2)\n                                                                                            (:== edge1-props (dbname1 eid1)\n                                                                                                 (run* k/v\n                                                                                                   (fresh (k v)\n                                                                                                     (== k/v `(,k . ,v))\n                                                                                                     (eprop `(,dbname1 . ,eid1) k v))))\n                                                                                            (:== edge2-props (dbname2 eid2)\n                                                                                                 (run* k/v\n                                                                                                   (fresh (k v)\n                                                                                                     (== k/v `(,k . ,v))\n                                                                                                     (eprop `(,dbname2 . ,eid2) k v))))\n                                                                                            )))))\n                                                                                  ;; (printf \"ans:\\n~s\\n\" ans)\n                                                                                  (if (null? ans)\n                                                                                      '()\n                                                                                      (car ans))))))\n                                                                           \n                                                                          #|\n                                                                          ;; Old mediKanren 1 GUI code:\n                                                                           (set! paths\n                                                                             (remove-duplicates\n                                                                               (append paths\n                                                                                       (run* (q)\n                                                                                         (fresh (e1 e2 dbname eid1 eid2 s x o pid1 pid2 p1 p2 eprops1 eprops2)\n                                                                                           (== `(,dbname . ,x) selected-X)\n                                                                                           (== (list\n                                                                                                 `(,dbname ,eid1 ,s ,x (,pid1 . ,p1) ,eprops1)\n                                                                                                 `(,dbname ,eid2 ,x ,o (,pid2 . ,p2) ,eprops2))\n                                                                                               q)\n                                                                                           (== `(,dbname ,eid1 ,s ,x (,pid1 . ,p1) ,eprops1) e1)\n                                                                                           (== `(,dbname ,eid2 ,x ,o (,pid2 . ,p2) ,eprops2) e2)\n                                                                                           (membero `(,dbname . ,s) concept-1*)\n                                                                                           (membero `(,dbname . ,o) concept-2*)\n                                                                                           (membero p1 atomic-predicate-1*)\n                                                                                           (membero p2 atomic-predicate-2*)\n                                                                                           (edgeo e1)\n                                                                                           (edgeo e2))))))\n                                                                           |#\n\n                                                                           ])\n\n                                                                       ;; (printf \"paths: ~s\\n\" paths)\n                                                                       (newline)\n\n                                                                       ;; This sorting affects the order of the \"Path\" list\n                                                                       ;; for the selected concept.\n                                                                       (set! paths (sort-paths paths))\n\n                                                                       (define flattened-paths\n                                                                         (let ((ls (foldr\n                                                                                     (lambda (p l)\n                                                                                       (cons\n                                                                                         'path-separator\n                                                                                         (append (reverse p) l)))\n                                                                                     '()\n                                                                                     paths)))\n                                                                           (if (null? ls)\n                                                                             ;; ls should never be null!\n                                                                             '()\n                                                                             (reverse (cdr ls)))))\n\n\n\n                                                                       (define full-path-dbname-list\n                                                                         (map (lambda (x)\n                                                                                ;(printf \"x:\\n~s\\n\" x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj ,pred ,eprops)\n                                                                                    (~a dbname)]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-eid-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj ,pred ,eprops)\n                                                                                    (~a eid)]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-subj-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid (,curie ,name ,cat) ,obj ,pred ,eprops)\n                                                                                    (~a (format \"~a (~a)\" name curie) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-pred-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj ,pred ,eprops)\n                                                                                    (~a pred #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-obj-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj (,curie ,name ,cat) ,pred ,eprops)\n                                                                                    (~a (format \"~a (~a)\" name curie) #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-subj-cat-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid (,curie ,name ,cat) ,obj ,pred ,eprops)\n                                                                                    (~a cat #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-obj-cat-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj (,curie ,name ,cat) ,pred ,eprops)\n                                                                                    (~a cat #:max-width MAX-CHAR-WIDTH #:limit-marker \"...\")]))\n                                                                              flattened-paths))\n\n                                                                       (define full-path-PubMed-count-list\n                                                                         (map (lambda (x)\n                                                                                (match x\n                                                                                  ['path-separator \"----\"]\n                                                                                  [`(,dbname ,eid ,subj ,obj ,pred ,eprops)\n                                                                                    (~a (length (pubmed-URLs-from-edge x)))]))\n                                                                              flattened-paths))\n\n                                                                       (send full-path-list-box\n                                                                             set\n                                                                             full-path-dbname-list\n                                                                             full-path-eid-list\n                                                                             full-path-subj-list\n                                                                             full-path-pred-list\n                                                                             full-path-obj-list\n                                                                             full-path-subj-cat-list\n                                                                             full-path-obj-cat-list\n                                                                             full-path-PubMed-count-list\n                                                                             )\n\n                                                                       (set-box! *full-path-choices* flattened-paths)\n\n                                                                       ;; unselect all items\n                                                                       (for ([i (length flattened-paths)])\n                                                                            (send full-path-list-box select i #f))\n\n                                                                       ;; select first item\n                                                                       (send full-path-list-box select 0 #t)\n                                                                       (populate-selected-paths))))\n                                                                 (void))])))))))\n\n    (define (populate-selected-paths)\n      (when *verbose*\n        (printf \"(unbox *full-path-choices*):\\n~s\\n\" (unbox *full-path-choices*)))\n      (define selections (send full-path-list-box get-selections))\n      (when *verbose*\n        (printf \"selection for full path:\\n~s\\n\" selections))\n      (define selected-full-paths\n        (foldr (lambda (i l) (cons (list-ref (unbox *full-path-choices*) i) l))\n               '()\n               selections))\n      (for-each\n        (lambda (x)\n          (match x\n            ['path-separator\n             (send subject-properties-list-box set '() '())\n             (send edge-properties-list-box set '() '())\n             (send object-properties-list-box set '() '())]\n            [`(,dbname ,eid\n                       (,scurie ,sname ,scat)\n                       (,ocurie ,oname ,ocat)\n                       ,pred\n                       ,eprops)\n              (define (set-properties-list-box prop-list-box props)\n                (send prop-list-box\n                      set\n                      (map\n                        (lambda (p)\n                          (~a (car p)\n                              #:max-width\n                              MAX-CHAR-WIDTH\n                              #:limit-marker\n                              \"...\"))\n                        props)\n                      (map\n                        (lambda (p)\n                          (~a (cdr p)\n                              #:max-width\n                              MAX-CHAR-WIDTH\n                              #:limit-marker\n                              \"...\"))\n                        props)))\n              (define sprops (apply append (set->list (run*/set (q) (fresh (k v) (== `(,k . ,v) q) (cprop scurie k v))))))\n              (define oprops (apply append (set->list (run*/set (q) (fresh (k v) (== `(,k . ,v) q) (cprop ocurie k v))))))\n              (printf \"eprops:\\n~s\\n\" eprops)\n              (printf \"sprops:\\n~s\\n\" sprops)\n              (printf \"oprops:\\n~s\\n\" oprops)\n              (set-properties-list-box subject-properties-list-box sprops)\n              (set-properties-list-box edge-properties-list-box eprops)\n              (set-properties-list-box object-properties-list-box oprops)]))\n        selected-full-paths)\n      (for-each\n        (lambda (edge)\n          (let ((URLs (pubmed-URLs-from-edge edge)))\n            (set-box! *pubmed-choices* URLs)\n            (send pubmed-list-box set URLs)))\n        selected-full-paths)\n      (for-each\n        (lambda (edge)\n          (let ((publications-info-alist\n                  (publications-info-alist-from-edge edge)))\n            (set-box! *publications-info-alist* publications-info-alist)))\n        selected-full-paths)\n      (when *verbose*\n        (printf \"selected full path:\\n\")\n        (for-each\n          (lambda (x)\n            (match x\n              ['path-separator\n               (printf \"-----------------------\\n\")]\n              [`(,dbname ,eid ,subj ,obj ,p ,eprops)\n                (pretty-print `(,dbname ,eid ,subj ,obj ,p ,eprops))]))\n          selected-full-paths)))\n\n    (define full-path-list-box (new smart-column-width-list-box%\n                                    (label \"Paths\")\n                                    (choices (unbox *full-path-choices*))\n                                    (columns '(\"KG\" \"EID\" \"Subject\" \"Predicate\" \"Object\" \"Subj Cat\" \"Obj Cat\" \"PubMed #\"))\n                                    (parent lower-pane)\n                                    (style '(column-headers reorderable-headers extended))\n                                    (callback (lambda (self event) (populate-selected-paths)))))\n\n    (define properties/pubmed-panel (new panel:horizontal-dragable%\n                                         (parent lower-pane)\n                                         (alignment '(left center))\n                                         (stretchable-height #t)))\n\n    (define subject-properties-list-box (new smart-column-width-list-box%\n                                             (label \"Subject\")\n                                             (choices '())\n                                             (columns '(\"Property\" \"Value\"))\n                                             (parent properties/pubmed-panel)\n                                             (style '(column-headers reorderable-headers extended))\n                                             (callback (lambda (self event)\n                                                         (void)))))\n\n    (define edge-properties-list-box (new smart-column-width-list-box%\n                                     (label \"Edge\")\n                                     (choices '())\n                                     (columns '(\"Property\" \"Value\"))\n                                     (parent properties/pubmed-panel)\n                                     (style '(column-headers reorderable-headers extended))\n                                     (callback (lambda (self event)\n                                                 (void)))))\n\n    (define object-properties-list-box (new smart-column-width-list-box%\n                                            (label \"Object\")\n                                            (choices '())\n                                            (columns '(\"Property\" \"Value\"))\n                                            (parent properties/pubmed-panel)\n                                            (style '(column-headers reorderable-headers extended))\n                                            (callback (lambda (self event)\n                                                        (void)))))\n\n    (define pubmed-list-box (new list-box%\n                                 (label \"Pubmed\")\n                                 (choices (unbox *pubmed-choices*))\n                                 (columns '(\"URL\"))\n                                 (parent properties/pubmed-panel)\n                                 (style '(column-headers reorderable-headers single))\n                                 (callback (lambda (self event)\n                                             (define event-type (send event get-event-type))\n                                             (define selections (send self get-selections))\n                                             (define selected-pubmeds\n                                               (foldr (lambda (i l) (cons (list-ref (unbox *pubmed-choices*) i) l))\n                                                      '()\n                                                      selections))\n                                             (for-each\n                                               (lambda (url)\n                                                 (printf \"url: ~s\\n\" url)\n\n                                                 (match (assoc url (unbox *publications-info-alist*))\n                                                   [`(,pubmed-URL . (,publication-date ,subject-score ,object-score ,sentence))\n                                                    (*populate-publication-fields* publication-date subject-score object-score sentence)]\n                                                   [#f (*populate-publication-fields* \"\" \"\" \"\" \"\")])\n\n                                                 (when (eqv? event-type 'list-box-dclick)\n                                                   ;; if the user double-clicked on the URL, open it in a web browser\n                                                   (send-url url)))\n                                               selected-pubmeds)))))\n\n    (define publication-info-panel (new panel:vertical-dragable%\n                                        (parent lower-pane)\n                                        (alignment '(left center))\n                                        (stretchable-height #t)))\n\n    (define publication-info-date/subject/object-panel (new horizontal-panel%\n                                                            (parent publication-info-panel)\n                                                            (alignment '(left center))\n                                                            (stretchable-height #f)))\n\n    (define publication-date (new text-field%\n                                  (label \"Publication Date\")\n                                  (parent publication-info-date/subject/object-panel)\n                                  (enabled #f)\n                                  (init-value \"\")))\n\n    (define subject-score (new text-field%\n                               (label \"Subject Score\")\n                               (parent publication-info-date/subject/object-panel)\n                               (enabled #f)\n                               (init-value \"\")))\n\n    (define object-score (new text-field%\n                              (label \"Object Score\")\n                              (parent publication-info-date/subject/object-panel)\n                              (enabled #f)\n                              (init-value \"\")))\n\n    (define publication-sentence-editor-canvas (new editor-canvas%\n                                                    (parent publication-info-panel)\n                                                    (enabled #f)\n                                                    (label \"Sentence\")))\n    (define publication-sentence-text (new text%))\n    (send publication-sentence-text insert \"\")\n    (send publication-sentence-editor-canvas set-editor publication-sentence-text)\n\n    (set! *populate-publication-fields*\n          (lambda (date subj-score obj-score sentence)\n            (send publication-date set-value date)\n            (send subject-score set-value (format \"~a\" subj-score))\n            (send object-score set-value (format \"~a\" obj-score))\n            (send publication-sentence-text erase)\n            (send publication-sentence-text insert sentence)))\n\n\n    ;; trigger reflowing of object sizes\n    (send frame reflow-container)\n\n    ;; disable previous and next buttons by default\n    (send search-in-Xs-previous-button enable #f)\n    (send search-in-Xs-next-button enable #f)\n\n    (set-default-column-widths concept-1-list-box)\n    (set-default-column-widths concept-2-list-box)\n    (set-default-column-widths concept-X-list-box)\n    (set-default-column-widths full-path-list-box)\n    (set-default-column-widths edge-properties-list-box)\n    (set-default-column-widths edge-properties-list-box)\n    (set-default-column-widths object-properties-list-box)\n\n    (send frame show #t)))\n\n(define (split-atomic/synthetic-predicates choices predicate*)\n  (define (synthetic? pred)\n    (memf (lambda (syn-prefix) (string-prefix? pred syn-prefix))\n          SYNTHETIC_PREDICATE_PREFIXES))\n\n  (define atomic-predicate* (filter-not synthetic? predicate*))\n  (define synthetic-predicate* (filter synthetic? predicate*))\n\n  (when (memf (lambda (pred) (string-prefix? pred DECREASES_PREDICATE_PREFIX_STRING))\n              synthetic-predicate*)\n    (set! atomic-predicate* (append DECREASES_PREDICATE_NAMES atomic-predicate*)))\n\n  (when (memf (lambda (pred) (string-prefix? pred INCREASES_PREDICATE_PREFIX_STRING))\n              synthetic-predicate*)\n    (set! atomic-predicate* (append INCREASES_PREDICATE_NAMES atomic-predicate*)))\n\n  (set! atomic-predicate* (set-intersect choices (remove-duplicates atomic-predicate*)))\n\n  (printf \"atomic-predicate*: ~s\\n\" atomic-predicate*)\n  (printf \"synthetic-predicate*: ~s\\n\" synthetic-predicate*)\n\n  (list atomic-predicate* synthetic-predicate*))\n\n\n(define (find-X-concepts concept-1* concept-2* predicate-1* predicate-2* predicate-1-choices predicate-2-choices concept-X-list-box running-status-description full-path-list-box subject-properties-list-box edge-properties-list-box object-properties-list-box pubmed-list-box search-in-Xs-field search-in-Xs-previous-button search-in-Xs-next-button)\n\n  (define start-time (current-milliseconds))\n  (printf \"\\nfinding concepts X for which\\n[C1] -> P1 -> [X] -> P2 -> [C2]\\n\")\n  (printf \"=============================\\n\")\n\n  (define atomic/synthetic-predicate-1* (split-atomic/synthetic-predicates predicate-1-choices predicate-1*))\n  (define atomic/synthetic-predicate-2* (split-atomic/synthetic-predicates predicate-2-choices predicate-2*))\n\n  (define atomic-predicate-1* (car atomic/synthetic-predicate-1*))\n  (define atomic-predicate-2* (car atomic/synthetic-predicate-2*))\n\n  (define synthetic-predicate-1* (cadr atomic/synthetic-predicate-1*))\n  (define synthetic-predicate-2* (cadr atomic/synthetic-predicate-2*))\n\n  (define all-X-concepts-with-edges '())\n\n  (printf \"atomic/synthetic-predicate-1*: ~s\\n\" atomic/synthetic-predicate-1*)\n  (printf \"atomic/synthetic-predicate-2*: ~s\\n\" atomic/synthetic-predicate-2*)\n  (newline)\n  (printf \"atomic-predicate-1*: ~s\\n\" atomic-predicate-1*)\n  (printf \"atomic-predicate-2*: ~s\\n\" atomic-predicate-2*)\n  (newline)\n  (printf \"synthetic-predicate-1*: ~s\\n\" synthetic-predicate-1*)\n  (printf \"synthetic-predicate-2*: ~s\\n\" synthetic-predicate-2*)\n  (newline)\n\n  (printf \"@@ entering cond\\n\")\n  \n  (cond\n    [(and\n      (null?\n       (split-name-string\n        (unbox *concept-1-name-string*)))\n      (null?\n       (split-name-string\n        (unbox *concept-2-name-string*))))\n\n     (set! all-X-concepts-with-edges '())]\n    [(null? (split-name-string (unbox *concept-1-name-string*)))\n     \n     (set! all-X-concepts-with-edges '())\n\n     ;; run synthetic queries here\n\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append* all-X-concepts-with-edges\n                     (let ((ans\n                            (apply append\n                                   (map (lambda (pred)\n                                          (apply append\n                                                 (map (lambda (concept)\n                                                        (match concept\n                                                          [`(,dbname ,o-curie ,o-name ,o-cat)\n                                                           (let ((tmp\n                                                                  (set->list\n                                                                   (run*/set (q)\n                                                                     (fresh (eid s o fake-pid edge-props e\n                                                                                 o-props\n                                                                                 s-curie s-name s-cat s-props)                        \n                                                                       (== (list dbname s (list edge-props) (list e)) q)\n                                                                       (== `(,dbname ,eid ,s ,o (,fake-pid . ,pred) ,edge-props) e)\n                                                                       (== fake-pid \"\")\n                                                                       (== `(,s-curie ,s-name ,s-cat ,s-props) s)\n                                                                       (== `(,o-curie ,o-name ,o-cat ,o-props) o)\n                                                                       ;; We get the concept properties later, when the user clicks on a path.\n                                                                       (== s-props '())\n                                                                       (== o-props '())\n                                                                       ;;\n                                                                       (edge `(,dbname . ,eid) s-curie o-curie)\n                                                                       (eprop `(,dbname . ,eid) \"predicate\" pred)\n                                                                       (cprop s-curie \"name\" s-name)\n                                                                       (cprop s-curie \"category\" s-cat)\n                                                                       ;; Only get the minimal edge properties needed to populate the X list box\n                                                                       (:== edge-props (dbname eid)\n                                                                           (run 1 k/v\n                                                                             (fresh (v)\n                                                                               (== `(\"publications\" . ,v) k/v)\n                                                                               (eprop `(,dbname . ,eid) \"publications\" v)))))))))\n                                                             tmp)]))\n                                                      concept-2*)))\n                                        atomic-predicate-2*))))\n                       ;(printf \"ans:\\n~s\\n\" ans)\n                       ans))))\n     \n     ;; Old mediKanren 1 GUI code:\n     #;(set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid s o pid pred eprops e)\n                        (== (list dbname s (list eprops) (list e)) q)\n                        (== `(,dbname ,eid ,s ,o (,pid . ,pred) ,eprops) e)\n                        (membero `(,dbname . ,o) concept-2*)\n                        (membero pred atomic-predicate-2*)\n                        (edgeo e))))))\n\n     ]\n    [(null? (split-name-string (unbox *concept-2-name-string*)))\n     (set! all-X-concepts-with-edges '())\n     \n     ;; run synthetic queries here\n     \n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append* all-X-concepts-with-edges\n                    (let ((ans\n                           (apply append\n                                  (map (lambda (pred)\n                                         (apply append\n                                                (map (lambda (concept)\n                                                       (match concept\n                                                         [`(,dbname ,s-curie ,s-name ,s-cat)\n                                                          (let ((tmp\n                                                                 (set->list\n                                                                  (run*/set (q)\n                                                                    (fresh (eid s o fake-pid edge-props e\n                                                                                s-props\n                                                                                o-curie o-name o-cat o-props)                        \n                                                                      (== (list dbname o (list edge-props) (list e)) q)\n                                                                      (== `(,dbname ,eid ,s ,o (,fake-pid . ,pred) ,edge-props) e)\n                                                                      (== fake-pid \"\")\n                                                                      (== `(,s-curie ,s-name ,s-cat ,s-props) s)\n                                                                      (== `(,o-curie ,o-name ,o-cat ,o-props) o)\n                                                                      ;; We get the concept properties later, when the user clicks on a path.\n                                                                      (== s-props '())\n                                                                      (== o-props '())\n                                                                      ;;\n                                                                      (edge `(,dbname . ,eid) s-curie o-curie)\n                                                                      (eprop `(,dbname . ,eid) \"predicate\" pred)\n                                                                      (cprop o-curie \"name\" o-name)\n                                                                      (cprop o-curie \"category\" o-cat)\n                                                                      ;; Only get the minimal edge properties needed to populate the X list box\n                                                                      (:== edge-props (dbname eid)\n                                                                           (run 1 k/v\n                                                                             (fresh (v)\n                                                                               (== `(\"publications\" . ,v) k/v)\n                                                                               (eprop `(,dbname . ,eid) \"publications\" v)))))))))\n                                                            tmp)]))\n                                                     concept-1*)))\n                                       atomic-predicate-1*))))\n                      ;(printf \"ans:\\n~s\\n\" ans)\n                      ans))))\n     \n     ;; Old mediKanren 1 GUI code:\n     #;(set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid s o pid pred eprops e)\n                        (== (list dbname o (list eprops) (list e)) q)\n                        (== `(,dbname ,eid ,s ,o (,pid . ,pred) ,eprops) e)\n                        (membero `(,dbname . ,s) concept-1*)\n                        (membero pred atomic-predicate-1*)\n                        (edgeo e))))))\n\n     ]\n    [else\n     (set! all-X-concepts-with-edges '())\n\n     ;; run synthetic queries here\n\n     (set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append* all-X-concepts-with-edges\n                     (let ((ans\n                            (apply append\n                                   (map (lambda (pred1)\n                                          (apply append\n                                                 (map (lambda (pred2)\n                                                        (apply append\n                                                               (map (lambda (concept1)\n                                                                      (match concept1\n                                                                        [`(,dbname1 ,s-curie1 ,s-name1 ,s-cat1)\n                                                                         (apply append\n                                                                                (map (lambda (concept2)\n                                                                                       (match concept2\n                                                                                         [`(,dbname2 ,o-curie2 ,o-name2 ,o-cat2)\n\n                                                                                          #|\n                                                                                          (printf \"<<<<<\\n\")\n                                                                                          (printf \"concept1 ~s\\n\" concept1)\n                                                                                          (printf \"concept2 ~s\\n\" concept2)\n                                                                                          (printf \"pred1 ~s\\n\" pred1)\n                                                                                          (printf \"pred2 ~s\\n\" pred2)\n                                                                                          (printf \"s-curie1 ~s\\n\" s-curie1)\n                                                                                          (printf \"o-curie2 ~s\\n\" o-curie2)\n                                                                                          |#\n                                                                   \n                                                                                          (let ((tmp\n                                                                                                 (set->list\n                                                                                                  (run*/set (q)\n                                                                                                    (fresh (eid1 s1 fake-pid1 edge-props1 e1\n                                                                                                                 eid2 o2 fake-pid2 edge-props2 e2\n                                                                                                                 m\n                                                                                                                 m-curie m-name m-cat m-props\n                                                                                                                 s-props1\n                                                                                                                 o-props2)\n                                                                                                      (== (list (list dbname1 dbname2) m (list edge-props1 edge-props2) (list e1 e2)) q)\n                                                                                                      (== `(,dbname1 ,eid1 ,s1 ,m (,fake-pid1 . ,pred1) ,edge-props1) e1)\n                                                                                                      (== `(,dbname2 ,eid2 ,m ,o2 (,fake-pid2 . ,pred2) ,edge-props2) e2)\n                                                                                                      (== fake-pid1 \"\")\n                                                                                                      (== fake-pid2 \"\")\n                                                                                                      (== `(,m-curie ,m-name ,m-cat ,m-props) m)\n                                                                                                      (== `(,s-curie1 ,s-name1 ,s-cat1 ,s-props1) s1)\n                                                                                                      (== `(,o-curie2 ,o-name2 ,o-cat2 ,o-props2) o2)\n                                                                                                      ;; We get these concept properties later,\n                                                                                                      ;; when the user clicks on a path.\n                                                                                                      (== m-props '())\n                                                                                                      (== s-props1 '())\n                                                                                                      (== o-props2 '())\n                                                                                                      ;;\n                                                                                                      (edge `(,dbname1 . ,eid1) s-curie1 m-curie)\n                                                                                                      (edge `(,dbname2 . ,eid2) m-curie o-curie2)\n                                                                               \n                                                                                                      (eprop `(,dbname1 . ,eid1) \"predicate\" pred1)\n                                                                                                      (eprop `(,dbname2 . ,eid2) \"predicate\" pred2)\n                                                                               \n                                                                                                      (cprop m-curie \"name\" m-name)\n                                                                                                      (cprop m-curie \"category\" m-cat)\n                                                                                                      ;; Only get the minimal edge properties needed to\n                                                                                                      ;; populate the X list box.\n                                                                                                      (:== edge-props1 (dbname1 eid1)\n                                                                                                           (run 1 k/v\n                                                                                                             (fresh (v)\n                                                                                                               (== `(\"publications\" . ,v) k/v)\n                                                                                                               (eprop `(,dbname1 . ,eid1) \"publications\" v))))\n                                                                                                      (:== edge-props2 (dbname2 eid2)\n                                                                                                           (run 1 k/v\n                                                                                                             (fresh (v)\n                                                                                                               (== `(\"publications\" . ,v) k/v)\n                                                                                                               (eprop `(,dbname2 . ,eid2) \"publications\" v)))))))))\n                                                                                            tmp)]))\n                                                                                     concept-2*))]))\n                                                                    concept-1*)))\n                                                      atomic-predicate-2*)))\n                                        atomic-predicate-1*))))\n                       ;(printf \"ans:\\n~s\\n\" ans)\n                       ans))))\n     \n     ;; Old mediKanren 1 GUI code:\n     #;(set! all-X-concepts-with-edges\n           (remove-duplicates\n            (append all-X-concepts-with-edges\n                    (run* (q)\n                      (fresh (dbname eid1 eid2 s m o pid1 pid2 p1 p2 eprops1 eprops2 e1 e2)\n                        (== (list dbname m (list eprops1 eprops2) (list e1 e2)) q)\n                        (== `(,dbname ,eid1 ,s ,m (,pid1 . ,p1) ,eprops1) e1)\n                        (== `(,dbname ,eid2 ,m ,o (,pid2 . ,p2) ,eprops2) e2)\n                        (membero `(,dbname . ,s) concept-1*)\n                        (membero `(,dbname . ,o) concept-2*)\n                        (membero p1 atomic-predicate-1*)\n                        (membero p2 atomic-predicate-2*)\n                        (edgeo e1)\n                        (edgeo e2))))))\n\n     ])\n\n  (printf \"@@ exiting cond\\n\")\n\n  (define end-time (current-milliseconds))\n\n  (define elapsed-time (- end-time start-time))\n\n  (printf \"elapsed query time: ~s seconds\\n\" (/ elapsed-time 1000.0))\n  (printf \"=============================\\n\")\n\n\n  ;(printf \"all-X-concepts-with-edges:\\n\\n~s\\n\\n\" all-X-concepts-with-edges)\n  \n  ;; This sorting affects order of appearance in the \"X\" concept list\n  (set! all-X-concepts-with-edges\n    (sort\n      all-X-concepts-with-edges\n      (lambda (c1 c2)\n        (match (list c1 c2)\n          [`((,_ ,_ ,_ ,e1*) (,_ ,_ ,_ ,e2*))\n           (not (path-confidence<? e1* e2*))]\n          [else (error 'find-X-concepts/all-X-concepts-with-edges (format \"unmatched (list c1 c2) ~s\\n\" (list c1 c2)))]))))\n\n  (printf \"sorted all-X-concepts-with-edges\\n\")\n\n  (define db/curie-to-pred-names-hash-table (make-hash))\n  (let loop ([c* all-X-concepts-with-edges])\n    (cond\n      [(null? c*) (void)]\n      [else (match (car c*)\n              [`(,dbname (,curie ,name ,cat ,props) ,whatever ,e*)\n               (let ((pred-names (get-pred-names e*)))\n                 (let ((key (list dbname curie)))\n                   (let ((current-v (hash-ref db/curie-to-pred-names-hash-table key #f)))\n                     (if current-v\n                         (hash-set! db/curie-to-pred-names-hash-table key (set-union pred-names current-v))\n                         (hash-set! db/curie-to-pred-names-hash-table key pred-names))\n                     (loop (cdr c*)))))]\n              [else (error 'find-X-concepts/loop1 (format \"unmatched (car c*) ~s\\n\" (car c*)))])]))\n\n  (printf \"filled db/curie-to-pred-names-hash-table\\n\")\n\n  (define all-X-concepts '())\n  (set! all-X-concepts\n        (let loop ([ls all-X-concepts-with-edges])\n          (cond\n            [(null? ls) '()]\n            [else\n             (match (car ls)\n               [`(,dbname (,curie ,name ,cat ,props) ,whatever ,e*)\n                (let ((pubmed-count* (map pubmed-count e*))\n                      (pred-names (sort (hash-ref db/curie-to-pred-names-hash-table (list dbname curie) '()) string<?)))\n                  (let ((max-pubmed-count (apply max pubmed-count*))\n                        (min-pubmed-count (apply min pubmed-count*))\n                        (path-length (length pubmed-count*))\n                        (confidence (path-confidence e*)))\n                    (cons `(,dbname\n                            (,curie\n                             ,name\n                             ,cat\n                             ,props\n                             ,max-pubmed-count\n                             ,min-pubmed-count\n                             ,pred-names\n                             ,path-length\n                             ,confidence)\n                            ,whatever\n                            ,e*)\n                          (loop (remf* (lambda (x)\n                                         (match x\n                                           [`(,dbname-x (,curie-x ,name-x ,cat-x ,props-x) . ,rest-x)\n                                            (and (equal? dbname dbname-x)\n                                                 (equal? curie curie-x))]))\n                                       (cdr ls))))))]\n               [else (error 'find-X-concepts/loop2 (format \"unmatched (car ls) ~s\\n\" (car ls)))])]))\n        )\n  (set! all-X-concepts (map (lambda (e) (cons (car e) (cadr e))) all-X-concepts))\n\n  (newline)\n  (printf \"========== begin query results =============\\n\")\n  (newline)\n\n  (printf \"Query end date/time:\\n~a\\n\" (date->string (seconds->date (current-seconds)) #t))\n  (newline)\n\n\n  (define number-Xs-found (length all-X-concepts))\n  (define query-seconds (/ elapsed-time 1000.0))\n  (define query-time-format-string \"Found ~s X's after ~s seconds\")\n  (send running-status-description set-label (format query-time-format-string number-Xs-found query-seconds))\n  (printf query-time-format-string number-Xs-found query-seconds)\n  (newline)\n  (newline)\n\n\n  (set-box! *concept-X-choices* all-X-concepts)\n\n  (set-box! *solution-concept-1-name-string* (unbox *concept-1-name-string*))\n  (set-box! *solution-concept-2-name-string* (unbox *concept-2-name-string*))\n\n  (set-box! *solution-concept-1-node-normalization-flag* (unbox *concept-1-node-normalization-flag*))\n  (set-box! *solution-concept-2-node-normalization-flag* (unbox *concept-2-node-normalization-flag*))\n\n  (set-box! *solution-concept-1-lightweight-reasoning-flag* (unbox *concept-1-lightweight-reasoning-flag*))\n  (set-box! *solution-concept-2-lightweight-reasoning-flag* (unbox *concept-2-lightweight-reasoning-flag*))\n  \n  (set-box! *solution-concept-1-choices* concept-1*)\n  (set-box! *solution-concept-2-choices* concept-2*)\n  (set-box! *solution-predicate-1-choices* predicate-1*)\n  (set-box! *solution-predicate-2-choices* predicate-2*)\n\n  (printf \"*solution-concept-1-name-string*:\\n~s\\n\" (unbox *solution-concept-1-name-string*))\n  (printf \"*solution-concept-1-node-normalization-flag*:\\n~s\\n\" (unbox *solution-concept-1-node-normalization-flag*))\n  (printf \"*solution-concept-1-lightweight-reasoning-flag*:\\n~s\\n\" (unbox *solution-concept-1-lightweight-reasoning-flag*))\n  ;(printf \"*solution-concept-1-choices*:\\n\")\n  ;(pretty-print (unbox *solution-concept-1-choices*))\n  ;(printf \"*solution-predicate-1-choices*:\\n\")\n  ;(pretty-print (unbox *solution-predicate-1-choices*))\n  (newline)\n\n  (printf \"*solution-concept-2-name-string*:\\n~s\\n\" (unbox *solution-concept-2-name-string*))\n  (printf \"*solution-concept-2-node-normalization-flag*:\\n~s\\n\" (unbox *solution-concept-2-node-normalization-flag*))\n  (printf \"*solution-concept-2-lightweight-reasoning-flag*:\\n~s\\n\" (unbox *solution-concept-2-lightweight-reasoning-flag*))\n  ;(printf \"*solution-concept-2-choices*:\\n\")\n  ;(pretty-print (unbox *solution-concept-2-choices*))\n  ;(printf \"*solution-predicate-2-choices*:\\n\")\n  ;(pretty-print (unbox *solution-predicate-2-choices*))\n  (newline)\n\n  (define pretty-print-X-concepts-with-edges\n    (lambda (file-name pretty-printer print-basic-header print-low-level-query-information X-concepts-with-edges)\n      (with-output-to-file\n          file-name\n          (lambda ()\n            (when print-basic-header\n              (printf \";; mediKanren query output\\n\")\n              (printf \";; ~a\\n\" MEDIKANREN_VERSION_STRING)\n              (printf \";; \\n\")\n              (let ((local-date (seconds->date (current-seconds))))\n                (printf \";; Query run at date/time: ~s ~s ~s  ~s:~s:~s   (Year Month Day  Hour:Minute:Second)\\n\"\n                        (date-year local-date)\n                        (date-month local-date)\n                        (date-day local-date)\n                        (date-hour local-date)\n                        (date-minute local-date)\n                        (date-second local-date)))\n              (printf \";; \\n\"))\n            (when print-low-level-query-information\n              (printf \";; ===================================================\\n\")\n              (printf \";; Low-level query information from the mediKanren GUI\\n\")\n              (printf \";; ===================================================\\n\")\n              (printf \";; \\n\")\n              (printf \";; *concept-1-name-string*: ~s\\n\" (unbox *concept-1-name-string*))\n              (printf \";; *solution-concept-1-name-string*: ~s\\n\" (unbox *solution-concept-1-name-string*))\n              (printf \";; *solution-concept-1-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-concept-1-choices*))\n              (printf \"|#\\n\")\n              (printf \";; atomic/synthetic-predicate-1*: ~s\\n\" atomic/synthetic-predicate-1*)\n              (printf \";; atomic-predicate-1*: ~s\\n\" atomic-predicate-1*)\n              (printf \";; synthetic-predicate-1*: ~s\\n\" synthetic-predicate-1*)\n              (printf \";; *solution-predicate-1-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-predicate-1-choices*))\n              (printf \"|#\\n\")\n              (printf \";; \\n\")\n              (printf \";; \\n\")\n              (printf \";; \\n\")\n              (printf \";; atomic/synthetic-predicate-2*: ~s\\n\" atomic/synthetic-predicate-2*)\n              (printf \";; atomic-predicate-2*: ~s\\n\" atomic-predicate-2*)\n              (printf \";; synthetic-predicate-2*: ~s\\n\" synthetic-predicate-2*)\n              (printf \";; *solution-predicate-2-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-predicate-2-choices*))\n              (printf \"|#\\n\")\n              (printf \";; *concept-2-name-string*: ~s\\n\" (unbox *concept-2-name-string*))\n              (printf \";; *solution-concept-2-name-string*: ~s\\n\" (unbox *solution-concept-2-name-string*))\n              (printf \";; *solution-concept-2-choices*:\\n\")\n              (printf \"#|\\n\")\n              (pretty-print (unbox *solution-concept-2-choices*))\n              (printf \"|#\\n\")\n              (printf \"\\n\"))\n            (when print-basic-header\n              (printf \";; ======================================\\n\")\n              (printf \";; Query results (list of complete edges)\\n\")\n              (printf \";; ======================================\\n\"))\n            (pretty-printer X-concepts-with-edges))\n          #:mode 'text\n          #:exists QUERY_RESULTS_FILE_MODE)))\n\n  (define human-friendly-pretty-print-X-concepts-with-edges\n    (lambda (X-concepts-with-edges)\n      (for-each\n        (lambda (entry index)\n          (match entry\n            [`(,dbname\n                ,s\n                ,eprops*\n                ,edges)\n              (printf \"*** Edge group:\")\n              (for-each\n                (lambda (edge)\n                  (match edge\n                    [`(,dbname\n                       ,eid\n                       (,scurie ,sname ,scat . ,sprops)\n                       (,ocurie ,oname ,ocat . ,oprops)\n                       (,pid . ,pred) ,eprops)\n                     (let ((pubmed* (pubmed-URLs-from-edge edge)))\n                       (printf \"\\n~s\\t~s\\t~s\\t~s\\t~s\\t~s\\t~s\\t~s PubMed Entries\\n~s\\n\" index dbname sname scat pred oname ocat (length pubmed*) pubmed*))]))\n                edges)\n              (printf \"***\\n\\n\") ]))\n        X-concepts-with-edges\n        (iota (length X-concepts-with-edges) 1))))\n\n  (define spreadsheet-friendly-pretty-print-X-concepts-with-edges\n    (lambda (X-concepts-with-edges)\n      (printf \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\n\"\n              \"Subject Category\"\n              \"Subject Name\"\n\n              \"Predicate\"\n\n              \"Object Category\"\n              \"Object Name\"\n\n              \"PubMed URL\"\n\n              \"KG Name\")\n      (for-each\n        (lambda (entry index)\n          (match entry\n            [`(,dbname\n                ,s\n                ,eprops*\n                ,edges)\n              (for-each\n                (lambda (edge)\n                  (match edge\n                    [`(,dbname\n                       ,eid\n                       (,scurie ,sname ,scat . ,sprops)\n                       (,ocurie ,oname ,ocat . ,oprops)\n                       (,pid . ,pred) ,eprops)\n                     (let ((pubmed* (pubmed-URLs-from-edge edge)))\n                       (for-each\n                         (lambda (pubmed)\n                           (printf \"~a\\t~a\\t~a\\t~a\\t~a\\t~a\\t~a\\n\"\n                                   scat\n                                   sname\n\n                                   pred\n\n                                   ocat\n                                   oname\n\n                                   pubmed\n\n                                   dbname))\n                         pubmed*))]))\n                edges)]))\n        X-concepts-with-edges\n        (iota (length X-concepts-with-edges) 1))))\n\n  (when WRITE_QUERY_RESULTS_TO_FILE\n\n    (printf \"saving all-X-concepts-with-edges to '~a' file...\\n\"\n            QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      QUERY_RESULTS_FILE_NAME\n      pretty-print\n      #t ;; print-basic-header flag\n      #t ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved all-X-concepts-with-edges to '~a' file\\n\"\n            QUERY_RESULTS_FILE_NAME)\n\n    (printf \"saving human-friendly version of all-X-concepts-with-edges to '~a' file...\\n\"\n            HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME\n      human-friendly-pretty-print-X-concepts-with-edges\n      #t ;; print-basic-header flag\n      #f ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved human-friendly version of all-X-concepts-with-edges to '~a' file\\n\"\n            HUMAN_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n\n    (printf \"saving spreadsheet-friendly version of all-X-concepts-with-edges to '~a' file...\\n\"\n            SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n    (pretty-print-X-concepts-with-edges\n      SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME\n      spreadsheet-friendly-pretty-print-X-concepts-with-edges\n      #f ;; print-basic-header flag\n      #f ;; print-low-level-query-information flag\n      all-X-concepts-with-edges)\n    (printf \"saved spreadsheet-friendly version of all-X-concepts-with-edges to '~a' file\\n\"\n            SPREADSHEET_FRIENDLY_QUERY_RESULTS_FILE_NAME)\n\n    )\n\n  (printf \"========== end query results =============\\n\")\n\n  ((make-send-concepts-to-concept-X-list-box concept-X-list-box) all-X-concepts)\n\n  ;; unselect all items\n  (for ([i (length all-X-concepts)])\n       (send concept-X-list-box select i #f))\n\n  ;; add X concept data for each list-box entry\n  (let loop ((i 0)\n             (c* all-X-concepts))\n    (cond\n      [(null? c*) (void)]\n      [else\n       (send concept-X-list-box set-data i (car c*))\n       (loop (add1 i)\n             (cdr c*))]))\n\n  ;; empty the search in X's field, and disable the previous/next buttons\n  (send search-in-Xs-field set-value \"\")\n  (send search-in-Xs-previous-button enable #f)\n  (send search-in-Xs-next-button enable #f)\n\n  ;; empty the entries in the full-path-list-box\n  (send full-path-list-box set '() '() '() '() '() '() '() '())\n\n  ;; empty the entries in the properties list-boxes\n  (send subject-properties-list-box set '() '())\n  (send edge-properties-list-box set '() '())\n  (send object-properties-list-box set '() '())\n\n  ;; empty the entries in the pubmed-list-box\n  (send pubmed-list-box set '())\n\n  )\n\n\n(displayln\n  \"Launching GUI\")\n\n(launch-gui)\n"
  },
  {
    "path": "medikanren2/ingest-pipeline-status.rkt",
    "content": "#lang racket\n(provide\n    /ingest-pipeline-status)\n(require\n  web-server/servlet\n  web-server/servlet-env\n  racket/dict\n  (prefix-in aws: aws)\n  ;(except-in aws module) ;module: identifier already required ;except-in: identifier `module' not included in nested require spec\n  aws/keys\n  aws/s3\n  json\n  net/url\n  (only-in http gmt-8601-string->seconds)\n)\n\n(define ec2-role-assumed? #f)\n\n(define (ensure-aws-credentials iam-role)\n  ;; Workaround copy paste: https://github.com/greghendershott/aws/blob/master/aws/keys.rkt\n  ;; If we just call the provided credentials-from-ec2-instance! we seem to get corrupted\n  ;; state when ec2-instance-creds-expiration gets preserved but the other parameters\n  ;; get erased for serving subsequent requests.\n\n  ;; This code avoids caching altogether.\n  (define url\n    (string->url\n    (~a \"http://169.254.169.254/latest/meta-data/iam/security-credentials/\"\n        iam-role)))\n  (match (call/input-url url get-pure-port read-json)\n    [(hash-table ['AccessKeyId     public]\n                ['SecretAccessKey private]\n                ['Token           token]\n                ['Expiration      (app gmt-8601-string->seconds exp)])\n      (public-key public)\n      (private-key private)\n      (security-token token)]))\n\n(define mime:text (string->bytes/utf-8 \"text/plain;charset=utf-8\"))\n\n(define (respond code message headers mime-type body)\n  (response/full code (string->bytes/utf-8 message)\n                 (current-seconds) mime-type headers\n                 (list body)))\n\n(define (OK req mime-type body)\n  (define headers '())\n  (define bytes.body (if (string? body) (string->bytes/utf-8 body) body))\n  (respond 200 \"OK\" headers mime-type bytes.body))\n\n(define (respond-404)\n  (respond 404 \"Not found\" '() mime:text (string->bytes/utf-8 \"\")))\n\n(define (sanitize-input-path p)\n    (define p2 (regexp-match #rx\"[a-zA-Z0-9_/\\\\.-]+\" p))\n    (define p3 (if (list? p2) (car p2) #f))\n    (if (and\n            (string? p3)\n            (or\n                (string-suffix? p3 \"completed.json\")\n                (string-suffix? p3 \"install.yaml\")))\n        p3\n        #f))\n\n;;; endpoint /ingest-pipeline-status\n;;; required parameter:\n;;;   path: an S3 URL that conforms that is a status file from kg-ingest-pipeline.\n(define (/ingest-pipeline-status req . args)\n  (define bindings (request-bindings req))\n  (ensure-aws-credentials \"transltr_eks_ci_unsecret_node_group_iam_role\")\n  (define path (sanitize-input-path (dict-ref bindings 'path \"\")))\n  (with-handlers\n    ((aws:exn:fail:aws?\n        (lambda (ex)\n            (respond-404)\n        )))\n    (if path\n        (let ((st (bytes->string/utf-8 (get/bytes path))))\n        (OK req mime:text st))\n        (respond-404)\n        )))\n\n"
  },
  {
    "path": "medikanren2/logging.rkt",
    "content": "#lang racket/base\n(provide\n  log-time log-info log-error log-once log-length)\n(require\n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/port\n  racket/pretty\n  racket/runtime-path\n  racket/string\n  json\n  memoize\n  racket/format\n  racket/date\n  )\n\n(define-syntax log-time\n  (syntax-rules ()\n    ((_ log-proc log-key label body)\n     (let-values (((result cpu real gc) (time-apply (lambda () body) '())))\n       (log-proc log-key label cpu real (car result))\n       (car result)))))\n\n(define (log-info key message)\n  (printf \"~a    ~s    ~a       ~a\\n\"\n          (date->string (seconds->date (current-seconds)) #t)\n          key\n          \"INFO\"\n          message))\n\n(define (log-error key message)\n  (printf \"~a    ~s    ~a       ~a\\n\"\n          (date->string (seconds->date (current-seconds)) #t)\n          key\n          \"ERROR\"\n          message))\n\n(define/memo* (log-once key label cpu real result)\n  (log-info key (format \"~a [cpu time: ~s real time: ~s]: ~s\" label cpu real result)))\n\n(define (log-length key label cpu real results)\n  (log-info key (format \"~a [cpu time: ~s real time: ~s]: ~s\" \n                        label cpu real (length (hash-ref  results 'results '())))))\n"
  },
  {
    "path": "medikanren2/logging2.rkt",
    "content": "#lang racket\n(provide\n  lognew-info lognew-error requestid)\n(require\n  racket/date\n  json\n)\n(define requestid (make-parameter -1))\n\n(date-display-format 'iso-8601)\n\n(define (lognew-message level msg)\n  (define t (current-seconds))\n  (define st-t (date->string (seconds->date t #f) #t))\n  (define jsexpr\n    (if (hash? msg)\n      (hash-set\n        (hash-set\n          (hash-set msg\n            'level (symbol->string level))\n          'requestid (requestid))\n        't st-t)\n      (hasheq\n        'msg msg\n        't st-t\n        'requestid (requestid)\n        'level (symbol->string level))))\n  (with-handlers ([exn:fail?\n                   (λ (e)\n                   #|\n                      Racket json is very strict about what it accepts as a jsexpr.  For example, this succeeds:\n                        (jsexpr->string (hasheq 'foo \"bar\"))\n\n                      but these both consider their input to be ill-formed and throw:\n                        (jsexpr->string (hasheq \"foo\" \"bar\"))\n\n                        (jsexpr->string (hasheq 'foo '#\"bar\"))\n                   |#\n                     (printf\n                      \"Caught exception in lognew-message when converting/printing jsexpr->string.\\nlevel:\\n~s\\nmsg:\\n~s\\njsexpr:\\n~s\\nexception:\\n~s\\n\"\n                      level\n                      msg\n                      jsexpr\n                      e))])\n    (displayln\n     (jsexpr->string jsexpr)))\n  (flush-output (current-output-port)))\n\n(define (lognew-info msg)\n  (lognew-message 'info msg))\n\n(define (lognew-error msg)\n  (lognew-message 'error msg))\n\n"
  },
  {
    "path": "medikanren2/lw-reasoning.rkt",
    "content": "#lang racket/base\n(provide (all-from-out \"synonyms.rkt\")\n         lw-reasoning?\n         inverse-of triple/inverse edge-predicate/lwr\n         subclass-of subclass-of* subclass-of+\n         is-a/subclass+ is-a/subclass*\n         is-a/lwr triple/lwr triple/inverse\n         triple/subclass triple/subclass+\n         subclasses/set\n         )\n(require\n \"common.rkt\"\n \"synonyms.rkt\"\n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/port\n  racket/pretty\n  racket/runtime-path\n  racket/string\n  racket/set\n  json\n  memoize\n  )\n\n\n;; Generalized transitive closure\n\n(define (transitive-closure base-relation)\n  (lambda (child parent)\n    (cond ((string? child)\n           ((transitive-closure/up base-relation) child parent))\n          ((string? parent)\n           ((transitive-closure/down base-relation) child parent))\n          (else ((transitive-closure/mid base-relation) child parent)))))\n\n;; ideally this would be the only relation, but currently the other two optimizations are needed\n(define (transitive-closure/mid base-relation)\n  (define-relation (~transitive-closure/mid child parent)\n    (conde ((base-relation child parent))\n           ((fresh (mid)\n              (base-relation child mid)\n              (base-relation mid parent)))\n           ((fresh (mid1 mid2)\n              (base-relation child mid1)\n              (~transitive-closure/mid mid1 mid2)\n              (base-relation mid2 parent)))))\n  ~transitive-closure/mid)\n\n(define (transitive-closure/down base-relation)\n  (define-relation (~transitive-closure/down child parent)\n    (fresh (mids)\n      (:== mids (parent) (run* mid (base-relation mid parent)))\n      (fresh (mid)\n        (membero mid mids)\n        (conde ((== child mid))\n               ((~transitive-closure/down child mid))))))\n  ~transitive-closure/down)\n\n;; (define (transitive-closure/down^ base-relation)\n;;   (define-relation (~transitive-closure/down^ child parent)\n;;     (conde ((base-relation child parent))\n;;            ((fresh (mid)\n;;             (base-relation mid parent)\n;;             (~transitive-closure/down^ child mid)))))\n;;   ~transitive-closure/down^)\n\n(define (transitive-closure/up base-relation)\n  (define-relation (~transitive-closure/up child parent)\n    (fresh (mids)\n      (:== mids (child) (run* mid (base-relation child mid)))\n      (fresh (mid)\n        (membero mid mids)\n        (conde ((== parent mid))\n               ((~transitive-closure/up mid parent))))))\n  ~transitive-closure/up)\n\n;; inverse predicates\n    \n(define-relation (inverse-of p p^)\n  (conde ((triple p \"biolink:inverse_of\" p^))\n         ((triple p^ \"biolink:inverse_of\" p))))\n\n(define-relation (triple/inverse s p o)\n  (conde ((triple s p o))\n         ((fresh (p^) \n            (inverse-of p p^)\n            (triple o p^ s)))))\n\n;; subclass relations\n\n(define-relation (subclass-of child parent)\n  (triple child \"biolink:subclass_of\" parent))\n\n(define subclass-of+ (transitive-closure subclass-of))\n\n(define-relation (subclass-of* child parent)\n  (conde ((== child parent))\n         ((subclass-of+ child parent))))\n\n(define-relation (edge-predicate/subclass eid p^ p)\n  (conde ((eprop eid \"predicate\" p))\n         ((subclass-of+ p^ p)\n          (eprop eid \"predicate\" p^))))\n\n(define-relation (is-a/subclass* s c^ c)\n  (is-a s c^)\n  (subclass-of* c^ c))\n\n(define-relation (is-a/subclass+ s c^ c)\n  (subclass-of+ c^ c)\n  (is-a s c^))\n\n;; for testing only; not a useful relation as far as I can see\n(define-relation (triple/subclass+ s p^ p o)\n  (subclass-of+ p^ p)\n  (triple/inverse s p^ o)) \n\n(define-relation (triple/subclass s p^ p o)\n  (conde ((triple s p o) (== p p^))\n         ((triple/subclass+ s p p^ o))))\n\n(define-relation (triple/reasoning s^ s p^ p o^ o)\n  (subclass-of* s^ s)\n  (subclass-of* p^ p)\n  (subclass-of* o^ o)\n  (triple s^ p^ o^))\n\n(define-relation (triple/reasoning+ s^ s p^ p o^ o)\n  (triple s^ p^ o^)\n  (subclass-of+ s^ s)\n  (subclass-of+ p^ p)\n  (subclass-of+ o^ o))\n\n(define lw-reasoning? (make-parameter #f))\n\n(define-relation (is-a/lwr s c)\n  (if (lw-reasoning?)\n      (fresh (c^)\n        (is-a/subclass* s c c^))\n      (is-a s c)))\n\n(define-relation (triple/lwr s p o)\n  (if (lw-reasoning?)\n      (fresh (p^) \n        (triple/subclass s p p^ o))\n      (triple s p o)))\n\n(define-relation (edge-predicate/lwr eid p)\n  (if (lw-reasoning?)\n      (fresh (p^)\n        (conde ((eprop eid \"predicate\" p))\n               ((subclass-of+ p^ p)\n                (eprop eid \"predicate\" p^))))\n      (eprop eid \"predicate\" p)))\n\n(define/memo* (subclasses/set-of curie)\n  (run* cc (subclass-of* cc curie)))\n\n(define/memo* (subclasses/set curies)\n  (set->list\n   (run*/set c (fresh (cs c^)\n                 (membero c^ curies)\n                 (:== cs (c^) (subclasses/set-of c^))\n                 (membero c cs)))))\n\n;; Attempt to do synonymization and subclasses at once \n\n(define-relation (subclass-or-synonym a b)\n  (conde ((direct-synonym a b))\n         ((direct-synonym b a))\n         ((subclass-of a b))))\n\n(define-relation (subclass-or-synonym/mid a b)\n  (conde ((subclass-or-synonym a b))\n         ((fresh (mid)\n            (subclass-or-synonym a mid)\n            (subclass-or-synonym mid b)))\n         ((fresh (mid1 mid2)\n            (subclass-or-synonym a mid1)\n            (subclass-or-synonym mid2 b)\n            (subclass-or-synonym/mid mid1 mid2)))))\n\n(define-relation (subclass-or-synonym/down a b)\n  (conde ((subclass-or-synonym a b))\n         ((fresh (mid)\n            (subclass-or-synonym mid b)\n            (subclass-or-synonym/down a mid)))))\n\n(define-relation (subclass-or-synonym/up a b)\n  (conde ((subclass-or-synonym a b))\n         ((fresh (mid)\n            (subclass-or-synonym a mid)\n            (conde ((subclass-or-synonym mid b))\n                   ((subclass-or-synonym/up mid b)))))))\n         \n\n\n         \n;; (define anxiety \"HP:0000739\")\n;; (time (display (length (set->list (synonyms/breadth anxiety 1)))))\n;; (time (display (length (set->list (synonyms/breadth anxiety 2)))))\n;; (time (display (length (set->list (synonyms/breadth anxiety 3)))))\n\n;; (time (display (length (set->list (synonyms/step anxiety 200)))))\n;; (time (display (length (set->list (synonyms/step anxiety 1000)))))\n;; (time (display (length (set->list (synonyms/step anxiety 10000)))))\n;; (define (run-test n)\n;;   (time\n;;    (display\n;;     (length\n;;      (set->list (run*/set/steps n s (subclass/synonym-of s anxiety)))))))\n;; (run-test 200)\n;; (run-test 1000)\n;; (run-test 10000)\n\n\n\n;; todo: try to make a version that terminates\n;; > (time (set-count (run*/set/steps 10000 (s path) (subclass/synonym-of s anxiety path))))\n;; cpu time: 21026 real time: 21032 gc time: 122\n;; 55\n;; >  (time (set-count (run*/set/steps 15000 (s path) (subclass/synonym-of s anxiety path))))\n;; cpu time: 32172 real time: 32184 gc time: 205\n;; 71\n;; >  (time (set-count (run*/set/steps 20000 (s path) (subclass/synonym-of s anxiety path))))\n;; cpu time: 45528 real time: 45947 gc time: 378\n;; 71\n"
  },
  {
    "path": "medikanren2/mkconfigref.rkt",
    "content": "#lang racket\n(require\n    racket/runtime-path\n)\n(provide\n    config-ref\n    load-config\n    override-config\n    override-dbkanren-defaults\n)\n(require \"configref.rkt\")\n\n(define box:verbose? (box #t))\n(define (set-verbose! b)\n  (set-box! box:verbose? b))\n\n(define (read/file path)\n  (define verbose? #t)\n  (when verbose? (printf \"loading configuration: ~a\\n\" (path->string path)))\n  (with-input-from-file  path (lambda () (read))))\n\n(define-runtime-path path:root \".\")\n(define (path/root relative-path) (build-path path:root relative-path))\n(define (path/etc relative-path) (build-path path:root \"etc\" relative-path))\n(define (path-simple path)        (path->string (simplify-path path)))\n\n(define (env-ref/utf-8 k)\n  (define v (environment-variables-ref (current-environment-variables) (string->bytes/utf-8 k)))\n  (if v\n    (bytes->string/utf-8 v)\n    #f))\n(define (path:config.user.migrated)\n    (path/etc \"config.scm\"))\n    ;; BEGIN TEMPORARY: migrated-to-new-db-versioning:\n(define (path:config.user.legacy)\n    (path/root \"config.scm\"))\n    ;; END TEMPORARY\n(define (path:config.stage.prod) (path/etc \"config.stage.prod.scm\"))\n(define (path:config.stage.dev) (path/etc \"config.stage.dev.scm\"))\n(define (path:config.installer) (path/etc \"config.installer.scm\"))\n(define (path:config.defaults) (path/etc \"config.defaults.scm\"))\n\n(define (make-rebuild-by-cbranch verbose?)\n  (define config.user\n    (let\n      ((config.tmp\n    ;; BEGIN TEMPORARY: migrated-to-new-db-versioning:\n        (if (not (file-exists? (path:config.user.migrated)))\n          (if (file-exists? (path:config.user.legacy))\n            (read/file (path:config.user.legacy))\n            '())\n    ;; END TEMPORARY\n          (if (file-exists? (path:config.user.migrated))\n            (read/file (path:config.user.migrated))\n            '()))))\n        (validate-config config.tmp)\n        config.tmp))\n  (define config.stage\n    (let* (\n        (stage (env-ref/utf-8 \"MK_STAGE\"))\n        (path1\n          (cond\n            ((equal? stage \"prod\") (path:config.stage.prod))\n            ((equal? stage \"dev\") (path:config.stage.dev))\n            ((not stage) (path:config.stage.dev))\n            (else\n              (printf \"***Warning*** unknown MK_STAGE value: ~a\" stage)\n              (path:config.stage.dev)))))\n      ;; No fallbacks for this file if missing.  Stage files should be in revision control\n      (read/file path1)))\n  (define config.installer (if (file-exists? (path:config.installer))\n                              (read/file (path:config.installer))\n                              '()))\n  (define config.defaults (read/file (path:config.defaults)))\n  (lambda (cbranch)\n    (case cbranch\n      ('user config.user)\n      ('defaults config.defaults)\n      ('installer config.installer)\n      ('stage config.stage)\n      (else (configlayer-ref cbranch '())))))\n\n(define cbranches '(defaults dbkanren-defaults installer stage user override-test override))\n\n(define (make-rebuild-flat verbose?)\n  (apply config-combine\n    (map (make-rebuild-by-cbranch verbose?) (reverse cbranches))))\n\n(define (load-config verbose?)\n  (set-verbose! verbose?)\n  (refresh-config))\n\n(set-build-thunk! (lambda () (make-rebuild-flat (unbox box:verbose?))))\n\n;; Primarily for use in the repl, secondarily for use\n;; in automated tests.  Use discouraged in applications.\n(define override-config (expose-configlayer 'override))\n;; Propagates defaults from medikanren to dbkanren.\n(define override-dbkanren-defaults (expose-configlayer 'dbkanren-defaults))\n\n(module+ test\n  ; has required package:\n  ;   raco pkg install chk\n  ;\n  ; how to run tests:\n  ;   (cd medikanren && raco test configref.rkt)\n\n  (require chk)\n\n  (chk\n      #:do (validate-config (read/file (path:config.defaults)))\n      #:t #t)\n)"
  },
  {
    "path": "medikanren2/neo/dbKanren/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2020 Gregory Rosenblatt\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/README.md",
    "content": "# dbKanren\n\nThis implementation of Kanren supports defining, and efficiently querying,\nlarge-scale relations.\n\nTypical use:\n\n```\n(require \"PATH-TO-DBKANREN/dbk.rkt\")\n```\n\n\n## TODO\n\n- Datalog implementation\n  - Optional safety checking (we should still be able to execute unsafe programs)\n    - Total (simple) safety: no function terms or aggregation through recursion\n      - Guarantees safety regardless of evaluation strategy\n    - When total safety fails, could try to determine safety just for top-down or bottom-up evaluation\n    - More advanced checking would support recursion involving function terms and aggregation\n      - Size-based termination checking for top-down recursion using function term arguments\n      - Checking invariants that guarantee convergence for recursive aggregation\n  - Demand transformation\n    - Propagate query constants/bindings to determine needed demand signatures for each relation\n    - For each relation's demand signature, schedule its body order, informed by database statistics\n    - Generate the demand-transformed rules\n    - Adjust naive evaluation to support stratified negation/aggregation w/ demand-transformed program\n  - Semi-naive evaluation\n    - Transform a program to use delta-based rules\n    - Fixed-point calculation with 3 variants per recursive relation (old, delta, new)\n  - Lowering to relational algebra operations\n    - e.g., projecting away irrelevant variables to reduce intermediate duplication\n\n- Relation definitions and queries involving semantic extensions\n  - A relation defined with `define-relation` will raise an error if it does not support a finite mode\n    - For Racket-embedded definitions, the error cannot be issued immediately due to\n      mutually-recursive relations that may not be fully defined.  Instead, the error will be issued\n      at the earliest query or request for compilation.\n    - Use `define-search-relation` to suppress the error\n    - e.g.,\n      - Each pure relation has one finite mode: all attributes can be safely unknown, aka `#f`\n      - Terminating computational relations may have more complex modes\n        - These are recognized automatically by mode inference\n        - `(appendo xs ys xsys)` has two finite modes: `(#t #t #f)` and `(#f #f #t)`\n        - `(membero x xs)` has one finite mode: `(#f #t)`\n      - `(evalo expr env result)` has no finite modes, so it's considered a search-based relation\n        - Because exprs like `((lambda (d) (d d)) (lambda (d) (d d)))` are possible\n  - A query executed with `run` will raise an error if it cannot guarantee termination\n    - It may also provide diagnostics about worst-case behavior and execution progress\n    - Use `run-search` to suppress the error\n\n- Database improvements\n  - Maybe we don't need the augmented 0th column for relations and incomplete indexes\n    - Only index the listed columns?  Consider missing columns to have been projected away.\n  - Try switching from fxvectors to using bytes where possible, and compress fixnums otherwise\n    - `id=>id` remapping, and `col<->row` transposition with varying byte widths: annoying?\n  - Improve checkpointing storage\n    - Consolidate block files to use fewer\n      - Make use of `(file-stream-buffer-mode in 'none)` file ports\n        - `read-bytes` is as efficient as `file->bytes` if you know the `file-size` up front\n      - May need a protocol for scattered/interrupted/fragmented writes to block ids\n      - Will need a compaction protocol\n    - Should we move away from block names and just use block ids?\n  - Vectorized relational operators\n  - Consider radix burst sort for ingesting text more quickly\n    - Also consider alternatives to multi-merge for text\n\n- Data access interface for queries\n  - What form should RA-level (table-like) entities take?\n    - Include database-path and a database-local UID for recognizing identitical entities\n      - Important for using functional dependencies and other optimizations\n    - Relation type (for eliminating pointless joins/unions/differences)\n    - `index-ordering => (cons key-columns position-columns)`\n      - Once a query is planned, this info is used to build the necessary dicts\n\n- Try a simple text search strategy using a triples-containment relation\n  - Don't build this into the database, this can all be user-defined\n  - Filter name text to retain only lower-case alphanumeric (plus an empty value for 37 total values)\n  - Build the relation: `(text-contains text c0 c1 c2)` or `(text-contains text compact-c012)`\n    - Latter approach compacts c0 c1 c2 to a single 2-byte value\n      - c0 c1 c2 are treated as digits\n      - `compact-c012 = c0*37^2 + c1*37 + c2`\n      - which is `< 52059`, which is `< 2^16`\n    - Indexing `\"foobar\"` would produce these tuples:\n      ```\n      (text-contains \"foobar\" \"f\" \"o\" \"o\")\n      (text-contains \"foobar\" \"o\" \"o\" \"b\")\n      (text-contains \"foobar\" \"o\" \"b\" \"a\")\n      (text-contains \"foobar\" \"b\" \"a\" \"r\")\n      (text-contains \"foobar\" \"a\" \"r\" \"_\")\n      (text-contains \"foobar\" \"r\" \"_\" \"_\")\n      ```\n    - Searching for `\"test\"` would use this query to produce a tractable number of candidates:\n      ```\n      (run* candidate\n        (text-contains candidate \"t\" \"e\" \"s\")\n        (text-contains candidate \"e\" \"s\" \"t\"))\n      ```\n    - Candidates can then be filtered using arbitrary rules defined in Racket\n\n* a smaller extended syntax\n  * logical connectives (not, and, or)\n  * apply for relations\n  * anonymous vars\n\n* `explain` for extracting the database subset needed to reproduce a query's results\n  * with each result, run an instrumented query to record supporting facts\n  * there may be redundancy (one result could be computed in multiple ways)\n\n- analyze, simplify, and plan with query structure\n  - GOO join heuristic\n  - index-based path-finding to find candidate variable orderings\n\n* redesign states, strategies to support adaptive analysis and optimization\n  * decorate unexpanded user-defined relation constraints with the chain of\n    already-expanded parent/caller relations that led to this constraint\n    * to identify nonterminating loops\n    * to help measure progress\n  * optional bottom-up evaluation strategy\n    * safety analysis of relations referenced during query/materialization\n  * randomized variants of interleaving or depth-first search\n\n* use small tables for finite domains\n* fixed point computation\n  * binding signatures with constraints\n    * share work by generalizing signatures\n\n- improve `bounds` algebra by adding slightly-less and slightly-greater values for open interval endpoints\n  - think of these as +epsilon, -epsilon\n  - define comparison operators, min, and max, over these values\n\n* place-based concurrency/parallelism?\n* thread-safe table retrieval\n* background worker threads/places for materialization\n* documentation and examples\n  * small tsv data example for testing materialization\n  * LiveJournal, Orkut graph benchmark examples for\n    * https://github.com/frankmcsherry/blog/blob/master/posts/2019-09-06.md\n    * reachability\n    * connected components\n    * single-source shortest path\n    * http://yellowstone.cs.ucla.edu/papers/rasql.pdf\n    * http://pages.cs.wisc.edu/~aws/papers/vldb19.pdf\n* support an interactive stepping/user-choice \"strategy\"\n  * both for debugging and devising new strategies\n  * `run/interactive`\n    * same as a `run^` with `current-config` `search-strategy` set to `interactive`\n    * non-stream, first-order representation of strategy-independent states\n      * also support embedding and combining sub-states (hypothetical along a disjunct)\n        * states are just fancy representations of conjunctions, and should be\n          combinable/disolvable\n\n* relation compilation to remove interpretive overhead\n  * mode analysis\n  * represent low-level operation representation depending on mode\n    * e.g., == can act like an assignment, or a type/equality test\n      * likewise for other constraint evaluations\n  * partial evaluation\n    * e.g., unify on partially-known term structures can be unrolled\n    * constraint evaluations can be pre-simplified and reordered\n  * code generation\n\n* eventually, make sure relation metadata contains information for analysis\n  * e.g., degree constraints, fast column ordering, subsumption tag/rules\n  * descriptions used for subsumption\n    * #(,relation ,attributes-satisfied ,attributes-pending)\n    * within a relation, table constraint A subsumes B if\n      B's attributes-pending is a prefix of A's\n      AND\n      B does not have any attributes-satisfied that A does not have\n  * schema: heading, constraints, other dependencies\n    * heading: set of attributes and their types\n    * degree constraints (generalized functional dependencies)\n      * interpret degree constraints to find useful special cases\n        * functional dependency\n        * bijection (one-to-one mapping via opposing functional dependencies)\n        * uniqueness (functional dependency to full set of of attributes)\n    * maybe join and inclusion dependencies\n  * body: finite set of tuples\n\n* floating point numbers are not valid terms\n  * reordering operations endangers soundness\n  * detect float literals when doing so won't hurt performance\n\n\n### Data processing\n\n- types\n  - text suffix\n    - suffix: `(ID . start)`\n  - bigint, rational\n\n* ingestion\n  * parsing: nq (n-quads)\n  * gathering statistics\n    * reservoir sampling\n    * optional column type inference\n    * per-type statistics for polymorphic columns\n    * count, min, max, sum, min-length, max-length\n    * histogram up to distinct element threshold\n    * range bucketing\n\n\n### Database representation\n\n- intensional relation search strategy: backward or forward chaining\n  - safety-type could be inferred, or forced by parameter choice\n  - can use a begin-like macro to set the safety parameter:\n    - `(dbk-datalog-begin definitions ...)`\n    - `(dbk-total-begin   definitions ...)`\n  - forward-chaining supports stratified negation and aggregation\n\n- metadata for extensional relations (user-level)\n  - constraints:\n    - degree (subsumes uniqueness, functional dependency, cardinality)\n      - in relation R, given (A B C), how many (D E F)s are there?\n        - lower and upper bounds, i.e., 0 to 2, exactly 1, at least 5, etc.\n      - maybe support more precise constraints given specific field values\n    - monotone dependencies\n      - e.g., C is nondecreasing when sorting by (A B C D)\n      - implies sorted rows for (C A B D) appear in same order as (A B C D)\n        - one index can support either ordering\n      - generalized: (sorted-columns (A B . C) (B . D) B) means:\n        - B is already nondecreasing\n        - C becomes nondecreasing once both A and B are chosen\n        - D becomes nondecreasing once B is chosen (regardless of A)\n  - statistics (derived from table statistics)\n\n\n### Relational language for rules and queries\n\n- indicate or infer aggregation monotonicity for efficient incremental update\n\n- misc conveniences\n  - `apply` to supply a single argument/variable to an n-ary relation\n  - optional keyword argument calling convention for relations\n    - user can implement this as Racket procedures that accept plist-style keyword args\n\n* relations\n  * local relation definitions to share work (cached results) during aggregation\n    * `(let-relations (((name param ...) formula ...) ...) formula ...)`\n    * express subqueries by capturing other vars\n  * if `r` is a relation:\n    * `(r arg+ ...)` relates `arg+ ...` by `r`\n    * `(relations-ref r)` accesses a metaprogramming control structure\n      * configure persistence, representation, uniqueness and type constraints\n      * indicate evaluation preferences or hints, such as indexing\n      * dynamically disable/enable\n      * view source, statistics, configuration, preferences, other metadata\n\n* evaluation\n  * query evaluation\n    * precompute relevant persistent/cached safe relations via forward-chaining\n    * safe/finite results loop (mostly backward-chaining)\n      * prune search space top-down to shrink scale of bulk operations\n        * expand recursive relation calls while safe\n          * safety: at least one never-increasing parameter is decreasing\n            * this safety measure still allows polynomial-time computations\n            * may prefer restricting to linear-time computations\n            * or a resource budget to limit absolute cost for any complexity\n          * track call history to measure this\n          * recursive calls of exactly the same size are considered failures\n        * keep results of branching relation calls independent until join phase\n      * ~~maintain constraint satisfiability~~\n        * ~~constraint propagation loop: `state-enforce-local-consistency`~~\n          * ~~cheap first-pass via domain consistency, then arc consistency~~\n          * backjump and learn clauses when conflict is detected\n        * ~~then global satisfiability via search~~\n          * ~~choose candidate for the most-constrained variable~~\n            * ~~maybe the variable participating in largest number of constraints~~\n          * ~~interleave search candidate choice with cheap first-pass methods~~\n      * perform the (possibly multi-way) join with lowest estimated cost\n      * repeat until either all results computed or only unsafe calls remain\n    * perform unsafe interleaving until finished or safe calls reappear\n      * like typical miniKanren search\n      * if safe calls reappear, re-enter safe/finite results loop\n  * safety (and computation) categories for relations\n    * simple\n      * persistent (extensional or precomputed intensional)\n        * compute via retrieval\n      * nonrecursive\n        * compute via naive expansion\n      * \"safe\" in the datalog sense\n        * compute fixed point via semi-naive eval after top-down rewriting\n        * all relations used in the body are safe\n        * all head parameter vars mentioned in positive position in body\n          * i.e., all head parameters will be bound to ground values\n        * no constructors containing vars in \"dangerous\" positions\n          * head parameters of recursive relation\n          * arguments to recursive relations in body\n        * aggregation is stratified\n      * \"unsafe\": top-down interleaving search\n        * no safety guarantees at all\n          * refutational incompleteness\n          * unlimited answers\n          * answers with unbound variables, possibly with constraints\n    * more complex alternatives\n      * \"safe\" for forward chaining only\n        * compute fixed point via semi-naive eval\n        * generalizes \"safe\" datalog slightly\n          * constructors w/ vars allowed as args to recursive relations in body\n      * \"safe\" for backward chaining only\n        * compute via DFS\n        * may or may not guarantee all variables are bound (groundness)\n        * termination guaranteed by structural recursion argument metric\n\n* mode analysis\n  * modes as binding patterns with result cardinalities\n    * parameter binding classes from least to most constraining\n      * f: free        (no guarantees of any kind)\n      * x: constrained (if it's a variable, it at least has some constraints)\n      * c: constructed (not a variable, but not necessarily fully ground)\n      * b: bound       (fully ground)\n    * appendo: (b f f) -> (0 1) (b f b)\n      * bound first param leads to 0 or 1 result with bound third param\n  * mode-specific safety\n    * appendo termination requires (c f f) or (f f c) at every recursive call\n  * mode-specific cost\n    * different parameter bindings determine effectiveness of indices\n\n* lazy population of text/non-atomic fields\n  * equality within the same shared-id column can be done by id\n    * also possible with foreign keys\n    * analogous to pointer address equality\n  * equality within the same nonshared-id column must be done by value\n    * equal if ids are the same, but may still be equal with different ids\n  * equality between incomparable columns must be done by value\n    * address spaces are different\n  * how is this integrated with mk search and query evaluation?\n    * can do this in general for functional dependencies\n      * `(conj (relate-function x a) (relate-function x b))` implies `(== a b)`\n  * would like similar \"efficient join\" behavior for text suffix indexes\n    * given multiple text constraints, find an efficient way to filter\n      * will involve intersecting a matching suffix list for each constraint\n      * one suffix list may be tiny, another may be huge\n        * rather than finding their intersection, it's likely more efficient\n          to just throw the huge one away and run the filter directly on the\n          strings for each member of the tiny suffix set\n    * how is this integrated with mk search and query evaluation?\n      * text search can be expressed with `string-appendo` constraints\n        * `(conj (string-appendo t1 needle t2) (string-appendo t2 t3 hay))`\n      * suffix index can be searched via\n        * `(string-appendo needle t1 hay-s)`\n      * multiple needles\n        * `(conj (string-appendo n1 t1 hay-s) (string-appendo n2 t2 hay-s))`\n      * maybe best done explicitly as aggregation via `:==`\n\n\n### Aggregation ideas\n\n* finite relations may relate their tuples to an extra position parameter\n  * `(apply-relation-position R pos tuple)`\n\n* aggregation via negation\n  * can this be done efficiently?\n  * edb: `(edge x y)`\n  * ```\n    (define-relation (1-hops x targets)\n      (=/= targets '())\n      (:== targets (query y (edge x y))))\n\n    or\n\n    (define-relation (1-hops x targets)\n      (=/= targets '())\n      (query== targets y (edge x y)))\n\n    vs.\n\n    (define-relation (1-hops-rest x prev targets)\n      (conde\n        ((== targets '())\n         (not (fresh (z)\n                (any< prev z)\n                (edge x z))))\n        ((fresh (y targets.rest)\n           (== targets (cons y targets.rest))\n           (edge x y)\n           (not (fresh (z)\n                  (any< prev z)\n                  (any< z y)\n                  (edge x z)))\n           (1-hops-rest x y targets.rest)))))\n    (define-relation (1-hops x targets)\n      (fresh (y targets.rest)\n        (== targets (cons y targets.rest))\n        (edge x y)\n        (not (fresh (z)\n               (any< z y)\n               (edge x z)))\n        (1-hops-rest x y targets.rest)))\n    ```\n\n    ```\n    (define-relation (max+o threshold x xs)\n      (conde ((== xs '()) (== x threshold))\n             ((fresh (y ys)\n                (== xs (cons y ys))\n                (conde ((any<= y threshold) (max+o threshold x ys))\n                       ((any<  threshold y) (max+o y         x ys)))))))\n    (define-relation (maxo x xs)\n      (fresh (y ys)\n        (== xs (cons y ys))\n        (max+o y x ys)))\n    (define-relation (edge-largest x largest)\n      (fresh (targets)\n        (query== targets y (edge x y))\n        (maxo largest targets)))\n\n    vs.\n\n    (define-relation (edge-largest x largest)\n      (edge x largest)\n      (not (fresh (y) (any< largest y) (edge x y))))\n    ```\n\n\n### Query planning and joins\n\nWe need some low-level language for transformation (not for humans or direct interpretation).  Is this the right one?\n- is there a more operational datalog-like notation? e.g., datalog + ordering hints?\n  - (and _ ...) and (or _ ...) can be used to specify specific join/union order and nesting\n  - but these seem hard, so this idea is probably not enough:\n    - what about specifying particular kinds of joins?\n    - what about projection and filtering?\n    - what about aggregation?\n    - how about sub-computation sharing and scope?\n\nInitial sketch of relational algebra language for lower-level optimization transformations:\n```\nposition ::= <natural number>\ncount    ::= <natural number>\nmerge-op ::= + | * | min | max | set-union | (min-union count) | (max-union count)\nop       ::= cons | vector | list->vector | car | cdr | vector-ref | vector-length | merge-op\nexpr     ::= (quote value) | (ref position position) | (app op expr ...)\ncmp      ::= == | any<= | any< | =/=\ncx       ::= (cmp expr expr) | (and cx ...) | (or cx ...)\nrelation ::= (quote   ((value ...) ...)) ; What operator does this correspond to? Does it assume sorting/deduping? Probably no assumptions, just enumerate raw tuples.\n           | (table   rid)               ; This corresponds to a basic table scan, use a different operator for more efficient access.\n           | (rvar    name)\n           | (filter  (lambda 1 cx) relation)\n           | (project (lambda 1 (expr ...)) relation)\n           | (union   relation ...)\n           | (subtract relation relation)\n           | (cross   relation ...)      ; TODO: replace with nested [for-]loop notation.\n\n;; How do we specify n-way join shared keys?\n;; New notation for join-key specification?\n;; Operators for sorting (with direction), deduplication.\n;; Operators for skipping (dropping), and limiting (taking).\n\n           | (agg     relation (lambda 1 (expr ...)) value (lambda 1 (expr ...)) (merge-op ...))  ; rel group init map merge (map exprs and merge ops must be same length)\n           | (let     ((name relation) ...) relation)  ; Relations are materialized, nesting describes stratification.\n           | (letrec  ((name relation) ...) relation)  ; Relations computed as fixed points, relations are materialized, nesting describes stratification.\n\n;; Let-bound relations should be specific about what physical tables/indexes are formed?\n\ndirection        ::= < | >\ndirection-suffix ::= () | #f\noffset           ::= <natural number>\nlimit            ::= <natural number> | #f\nquery            ::= (query offset limit (direction ... . direction-suffix) relation)  ; Do we need this? Should we embed sorting, skipping, and limiting as operators instead?\n```\n\nExample query thought experiments:\n\nMaybe bounds feedback doesn't make sense, and should be part of the plan ordering, where bounds actually come from the bottom rather than the top?\ne.g., consider variable-centric plans for:\n```\n(run* (a b d e)\n  (exist (c)\n    (and (P a b c)\n         (Q c d e)\n         (R c d e))))\n\n- c then (c d e) then c: (P ((P Q) (P R)))  ; aka semijoins\n  - (join P [2] [1 2]\n          (join (join P [2] [] Q [0] [0 1 2]) [0 1 2] [1 2]  ; this is a semijoin\n                (join P [2] [] R [0] [0 1 2]) [0 1 2] [])    ; this is also a semijoin\n          [0] [1 2])\n\n- (c d e) then c: (P (Q R))\n  - (join P [2] [1 2]\n          (join Q [0 1 2] [1 2] R [0 1 2] [])  ; no semijoining performed\n          [0] [1 2])\n\nBut neither of these gives adaptive feedback ...\nUpstream and downstream can't communicate bounds with this approach.\nIdeally we would choose an ordering like:\n- c d e\nor\n- d e c\n\nBinary joins seem too inflexible here.\n```\n\nMulti-join GOO perspective:\n```\n- (run* (a c) (exist (b) (P a b) (Q b c)))\n  - max cardinality: (* (cardinality P a) (cardinality Q c))\n- (run* (a b c) (P a b) (Q b c))\n  - max cardinality: (min (* (cardinality P a)\n                             (cardinality Q b c))\n                          (* (cardinality Q c)\n                             (cardinality P a b))\n                          (* (cardinality P a)\n                             (cardinality Q c)\n                             (min (cardinality P b)\n                                  (cardinality Q b))))\n```\n\nNaive selectivity for join cardinality estimation:\n```\n- |S join.x T| ~= (/ (* |S||T|) (max (cardinality S x) (cardinality T x)))\n- can generalize for multi-way joins:\n  - if joining k relations\n    - numerator is a product of the k relation sizes\n    - denominator is a product of the (- k 1) largest join-column cardinalities\n```\n\nNon-materializing multi-way joins may be wasteful:\n```\n- (P a b) (Q b c) (R c d) (S d e)\n- joining variables: b c d\n  - for each choice of b, we learn a set of cs and repeat some of the work of joining (R c d) (S d e) on d\n  - the repeated work has two parts:\n    - finding values of c where a satisfying (d e) exists\n    - bisection revisitation overhead in enumerating these\n  - if the result cardinality of (R c d) (S d e) is small, materializing this sub-join may be better\n- semijoins as degenerate joins\n  - (P a b) (Q b c) where P is used to reduce the size of Q based on b\n  - equivalent to (P _ b) (Q b c)\n  - Q^  = (P  _ b) (Q   b c)\n  - R^  = (Q^ _ c) (R   c d)\n  - S^  = (R^ _ d) (S   d e)\n  - R^^ = (R^ c d) (S^  d _)\n  - Q^^ = (Q^ b c) (R^^ c _)\n  - P^  = (P  a b) (Q^^ b _)\n  - arc-constrained query: (P^ a b) (Q^^ b c) (R^^ c d) (S^ d e)\n    - benefit: increased cardinality estimation accuracy\n```\n\nMulti-way joins are not wasteful when all relations share the same join attributes (assuming proper indexes):\n```\n- (P x y a) (Q x b y) (R c y x)\n- can intersect on either (x y) or (y x), and simply enumerate crosses of the non-join attributes\n```\n\nMulti-way joins may improve over binary joins whose expected result cardinality is greater than the max cardinality of either input.\n\n\n## Naming conventions\n\n```\n_    = blank\nx-y  = x <space> y     ; for multi-word phrases, e.g., launch-all-missiles\nx/y  = x with y\nx^y  = x superscript y\nx.y  = x subscript y   ; emphasizing grouping by x\ny:x  = x subscript y   ; emphasizing grouping by y, the subscript; e.g., a type\n                       ; y with constructors x, or implementing a common\n                       ; interface of operations x, or other situations where\n                       ; if the context is clear, the y: could be dropped from\n                       ; the name\nx@y  = x at y          ; result of projection or access using address/key y\nx->y = x to y          ; procedure mapping type x to y\nx=>y = x to y          ; finite map (e.g., hash or vector) with key type x\nx&y  = x and y         ; a pair, or sometimes a 2-element list or vector\nx*   = 0 or more xs    ; (typically homogeneous) lists, sometimes vectors\nx?   = x huh           ; x is either a boolean(-ish) value itself, or a\n                       ; predicate (procedure returning a boolean(-ish) value)\nx!   = x bang          ; x may cause important side effects, such as mutation\n                       ; or throwing an error; I/O operations often don't use\n                       ; this convention\nx?!  = assert x        ; a predicate/guard that throws an error if false\n```\n\n\n## References\n\n- [miniKanren: an embedded DSL for logic programming](http://minikanren.org)\n- [Bloom Programming Language](http://bloom-lang.net/)\n- [Dedalus: Datalog in Time and Space](http://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-173.pdf)\n- [Datafun Programming Language](http://www.rntz.net/datafun/)\n- [Flix Programming Language](https://flix.dev/)\n\n### Datalog and Bottom-up Evaluation Techniques\n\n- [What You Always Wanted to Know About Datalog (And Never Dared to Ask)](https://personal.utdallas.edu/~gupta/courses/acl/papers/datalog-paper.pdf)\n- [Integrating Datalog and Constraint Solving](https://biblio.ugent.be/publication/5646054/file/5646069.pdf)\n- [Compilation Of Bottom-Up Evaluation For a Pure Logic Programming Language](https://researchcommons.waikato.ac.nz/bitstream/handle/10289/12882/thesis.pdf)\n- [Bottom-Up Evaluation](http://users.informatik.uni-halle.de/~brass/lp07/c6_botup.pdf)\n- [Magic Sets](http://users.informatik.uni-halle.de/~brass/lp07/c7_magic.pdf)\n- [Automatic Reordering for Dataflow Safety of Datalog](https://doi.org/10.1145/3236950.3236954)\n- [Slides for Automatic Reordering for Dataflow Safety of Datalog](https://dodisturb.me/doc/slide/ppdp18.pdf)\n\n### Recursive Relations\n\n- [A Cost Estimation Technique for Recursive Relational Algebra](https://hal.inria.fr/hal-03004218/document)\n- [On the Optimization of Recursive Relational Queries: Application to Graph Queries](http://pierre.geneves.net/papers/mura-sigmod20.pdf)\n- [Cost-Based Optimization for Magic: Algebra and Implementation](https://dsf.berkeley.edu/papers/sigmod96-magic.pdf)\n\n### Query Plans\n\n- [How Good Are Query Optimizers, Really?](https://www.vldb.org/pvldb/vol9/p204-leis.pdf)\n- [Cardinality Estimation Done Right: Index-Based Join Sampling](http://cidrdb.org/cidr2017/papers/p9-leis-cidr17.pdf)\n- [A New Heuristic for Optimizing Large Queries](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.737)\n- [Looking Ahead Makes Query Plans Robust](http://www.vldb.org/pvldb/vol10/p889-zhu.pdf)\n- [Worst-case Optimal Join Algorithms](http://pages.cs.wisc.edu/~chrisre/papers/paper49.Ngo.pdf)\n\n### Low-level Efficiency\n\n- [Sort vs. Hash joins](http://www.vldb.org/pvldb/vol7/p85-balkesen.pdf)\n- [Efficiently Compiling Efficient Query Plans for Modern Hardware](http://www.vldb.org/pvldb/vol4/p539-neumann.pdf)\n- [Push vs. Pull-Based Loop Fusion in Query Engines](https://arxiv.org/pdf/1610.09166.pdf)\n- [How to Architect a Query Compiler, Revisited](https://www.cs.purdue.edu/homes/rompf/papers/tahboub-sigmod18.pdf)\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/bcat.rkt",
    "content": "#lang racket/base\n(require \"dbk/codec.rkt\" racket/pretty racket/port)\n\n(module+ main\n  (define argv      (current-command-line-arguments))\n  (define arg-names '#(DATA-TYPE))\n  (unless (= (vector-length argv) (vector-length arg-names))\n    (error \"invalid arguments\" 'expected arg-names 'given argv))\n  (define type (with-input-from-string (vector-ref argv 0) read))\n  (define in   (current-input-port))\n  (define out  (current-output-port))\n  (with-handlers (((lambda (e)\n                     (and (exn:fail:filesystem:errno? e)\n                          (equal? (exn:fail:filesystem:errno-errno e)\n                                  '(32 . posix))))\n                   void))\n    (let loop ()\n      (unless (eof-object? (peek-byte in))\n        (pretty-write (decode in type))\n        (loop)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/csv2tsv.rkt",
    "content": "#lang racket/base\n(require \"dbk/io.rkt\")\n\n(module+ main\n  (let ((in (current-input-port)) (out (current-output-port)))\n    (with-handlers (((lambda (e)\n                       (and (exn:fail:filesystem:errno? e)\n                            (equal? (exn:fail:filesystem:errno-errno e)\n                                    '(32 . posix))))\n                     void))\n      (let loop ()\n        (let ((row (csv:read in)))\n          (unless (eof-object? row)\n            (tsv:write out row)\n            (loop)))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/abstract-syntax.rkt",
    "content": "#lang racket/base\n(provide\n  f:query f:true f:false f:relate f:imply f:iff f:or f:and f:not f:exist f:all\n  t:query t:quote t:var t:prim t:app t:lambda t:if t:let\n  scm->term)\n(require \"misc.rkt\" (except-in racket/match ==) racket/set)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Abstract syntax\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-variant formula?\n  (f:query  result param f)  ; TODO: omit this class of formula?\n  (f:true)\n  (f:false)\n  ;; TODO: local relation definitions, to express subqueries\n  ;; but this may be macro-expressible without a dedicated AST node?\n  ;(f:letrec defs)  ; defs ::= list-of (name params f)\n  (f:relate relation args)  ; finite position built-in? #f for infinite relations\n  ;; TODO:\n  ;(f:relate relation arg)  ; switch to single argument for apply-relation, where variadic version is sugar\n\n  ;(f:meta thunk)\n\n  ;; or maybe just aggregate via forall/not-exists/any<=o enumeration\n  (f:imply  if then)\n  (f:iff    f1 f2)\n  (f:or     f1 f2)\n  (f:and    f1 f2)\n  (f:not    f)\n\n  ;; TODO: single-param versions of f:exist and f:all:\n  ;(f:exist  param body)\n  ;(f:all    param body)\n\n  (f:exist  params body)\n  (f:all    params body))\n\n(define-variant term?\n  ;; TODO: simplify, removing t:query, t:lambda, t:if, t:let, t:prim, t:app\n  ;; replace t:app with t:cons and t:vector\n  (t:query  name formula)\n  (t:quote  value)\n  (t:var    name)\n  (t:prim   name)\n  (t:app    proc args)\n  (t:lambda params body)\n  (t:if     c t f)\n  (t:let    bpairs body))\n\n(define (t:cons         a d) (t:app (t:prim 'cons)          (list a d)))\n(define (t:list->vector xs)  (t:app (t:prim 'list->vector)  (list xs)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Values and term conversion\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (atom? x)\n  (or (null? x) (boolean? x) (symbol? x) (string? x) (bytes? x) (and (real? x) (exact? x)) (void? x)))\n\n(define (scm->term x)\n  (cond ((term?         x)  x)\n        ((pair?         x)  (t:cons         (scm->term (car          x))\n                                            (scm->term (cdr          x))))\n        ((vector?       x)  (t:list->vector (scm->term (vector->list x))))\n        ((atom?         x)  (t:quote        x))\n        ((and (real?    x)\n              (inexact? x)) (scm->term (inexact->exact x)))\n        (else               (error \"invalid dbk value:\" x))))\n\n(define (f-relations f)\n  (match f\n    ((f:query   _ _ f)       (f-relations f))\n    ;; TODO: no need for t-relations* if we lift all uses of t:query\n    ;((f:relate  relation args) (set-add (t-relations* args) relation))\n    ((f:relate  relation _)  (set relation))\n    ((f:imply   f1 f2)       (set-union (f-relations f1) (f-relations f2)))\n    ((f:iff     f1 f2)       (set-union (f-relations f1) (f-relations f2)))\n    ((f:or      f1 f2)       (set-union (f-relations f1) (f-relations f2)))\n    ((f:and     f1 f2)       (set-union (f-relations f1) (f-relations f2)))\n    ((f:not     f)           (f-relations f))\n    ((f:exist   _ body)      (f-relations body))\n    ((f:all     _ body)      (f-relations body))\n    ((or (f:true) (f:false)) (set))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/codec.rkt",
    "content": "#lang racket/base\n(provide encode decode sizeof nat-type/max)\n(require racket/list racket/match)\n\n(define (exact-number? x) (and (number? x) (exact? x)))\n(define (<< i s) (arithmetic-shift i s))\n(define (>> i s) (arithmetic-shift i (- s)))\n(define (& a b)  (bitwise-and a b))\n(define (\\| a b) (bitwise-ior a b))\n(define (^ a b)  (bitwise-xor a b))\n\n(match-define (list t.bytes t.string t.symbol t.array t.pair\n                    t.true t.false t.null t.number\n                    ;; TODO: support more efficient numeric representations\n                    ;; is a separate rat type (for rationals) superfluous?\n                    t.nat t.int t.rat)\n  (range (length '(t.bytes t.string t.symbol t.array t.pair\n                   t.true t.false t.null t.number\n                   t.nat t.int t.rat))))\n\n(define (nat-type/max max-nat) `#(nat ,(- (sizeof 'nat max-nat) 1)))\n\n(define (sizeof type v)\n  (match type\n    (#f                (sizeof-any          v))\n    (`#(nat    ,size)  (sizeof-nat    size  v))\n    (`#(string ,len)   (sizeof-string len   v))\n    (`#(symbol ,len)   (sizeof-symbol len   v))\n    (`#(bytes  ,len)   (sizeof-bytes  len   v))\n    (`#(array ,len ,t) (sizeof-array  len t v))\n    (`#(list  ,len ,t) (sizeof-list   len t v))\n    (`#(tuple ,@ts)    (sizeof-tuple  ts    v))\n    (`(,ta . ,td)      (sizeof-pair   ta td v))\n    ('nat              (sizeof-nat    #f    v))\n    ('string           (sizeof-string #f    v))\n    ('symbol           (sizeof-symbol #f    v))\n    ('bytes            (sizeof-bytes  #f    v))\n    ('array            (sizeof-array  #f #f v))\n    ('list             (sizeof-list   #f #f v))\n    ('number           (sizeof-number       v))\n    ((or 'true 'false '()) 0)))\n(define (sizeof-any v)\n  (define value-size\n    (cond ((vector?       v) (sizeof-array  #f #f v))\n          ((string?       v) (sizeof-string #f    v))\n          ((bytes?        v) (sizeof-bytes  #f    v))\n          ((pair?         v) (sizeof-pair   #f #f v))\n          ((exact-number? v) (sizeof-number       v))\n          ((symbol?       v) (sizeof-symbol #f    v))\n          ((or (null? v) (eqv? #t v) (not v))      0)\n          ((void? v)                              #f)\n          (else (error \"sizeof-any; invalid type:\" v))))\n  (and value-size (+ 1 value-size)))\n(define (sizeof-nat size n)\n  (cond (size      size)\n        ((void? n) #f)\n        (else (+ 1 (cond ((< n (<< 1 32)) (if (< n (<< 1 16))\n                                            (if (< n (<< 1 8))  1 2)\n                                            (if (< n (<< 1 24)) 3 4)))\n                         ((< n (<< 1 40)) 5)\n                         ((< n (<< 1 48)) 6)\n                         ((< n (<< 1 56)) 7)\n                         ((< n (<< 1 64)) 8)\n                         (else (error \"sizeof-nat; too large:\" n)))))))\n;; TODO: consider exponent representations, which may be more compact\n(define (sizeof-number v)   (sizeof-string #f (if (void? v) v\n                                                (number->string v))))\n(define (sizeof-bytes l v)  (or l (and (not (void? v))\n                                       (let ((len (bytes-length v)))\n                                         (+ len (sizeof-nat #f len))))))\n(define (sizeof-symbol l v) (or l (sizeof-string l (if (void? v) v\n                                                     (symbol->string v)))))\n(define (sizeof-string l v) (or l (sizeof-bytes l (if (void? v) v\n                                                    (string->bytes/utf-8 v)))))\n(define (sizeof-pair ta td v) (let ((za (sizeof ta (if (void? v) v (car v))))\n                                    (zd (sizeof td (if (void? v) v (cdr v)))))\n                                (and za zd (+ za zd))))\n(define (sizeof-tuple ts v) (sizeof ts (if (void? v) v (vector->list v))))\n(define (sizeof-list l t v)\n  (if l (sizeof-tuple (make-list l t) v)\n    (and (not (void? v)) (let* ((l (length v))\n                                (z (sizeof-list l t v)))\n                           (and z (+ (sizeof-nat #f l) z))))))\n(define (sizeof-array l t v)\n  (if l (sizeof-tuple (make-list l t) v)\n    (and (not (void? v)) (let ((z (sizeof-array (vector-length v) t v)))\n                           (and z (+ (sizeof-nat #f (vector-length v)) z))))))\n\n(define (encode out type v)\n  (match type\n    (#f                (encode-any    out       v))\n    (`#(nat    ,size)  (encode-nat    out size  v))\n    (`#(string ,len)   (encode-string out len   v))\n    (`#(symbol ,len)   (encode-symbol out len   v))\n    (`#(bytes  ,len)   (encode-bytes  out len   v))\n    (`#(array ,len ,t) (encode-array  out len t v))\n    (`#(list  ,len ,t) (encode-list   out len t v))\n    (`#(tuple ,@ts)    (encode-tuple  out ts    v))\n    (`(,ta . ,td)      (encode-pair   out ta td v))\n    ('nat              (encode-nat    out #f    v))\n    ('int              (encode-int    out       v))\n    ('string           (encode-string out #f    v))\n    ('symbol           (encode-symbol out #f    v))\n    ('bytes            (encode-bytes  out #f    v))\n    ('array            (encode-array  out #f #f v))\n    ('list             (encode-list   out #f #f v))\n    ('number           (encode-number out       v))\n    ((or 'true 'false '()) 0)))\n(define (encode-any out v)\n  (define (tag t) (encode-nat out 1 t))\n  (cond ((vector? v)       (tag t.array)  (encode-array  out #f #f v))\n        ((string? v)       (tag t.string) (encode-string out #f    v))\n        ((bytes?  v)       (tag t.bytes)  (encode-bytes  out #f    v))\n        ((pair?   v)       (tag t.pair)   (encode-pair   out #f #f v))\n        ((exact-number? v) (tag t.number) (encode-number out       v))\n        ((symbol? v)       (tag t.symbol) (encode-symbol out #f    v))\n        ((null?   v)       (tag t.null))\n        ((eqv? #t v)       (tag t.true))\n        ((not     v)       (tag t.false))\n        (else (error \"encode-any; invalid type:\" v))))\n(define (encode-nat out size n)\n  (define (enc/size sz) (unless (= sz 0)\n                          (write-byte (& #xFF (>> n (* 8 (- sz 1)))) out)\n                          (enc/size (- sz 1))))\n  (define (enc sz) (encode-nat out 1 sz) (enc/size sz))\n  (cond (size (enc/size size))\n        ((< n (<< 1 32)) (if (< n (<< 1 16))\n                           (if (< n (<< 1 8))  (enc 1) (enc 2))\n                           (if (< n (<< 1 24)) (enc 3) (enc 4))))\n        ((< n (<< 1 40)) (enc 5))\n        ((< n (<< 1 48)) (enc 6))\n        ((< n (<< 1 56)) (enc 7))\n        ((< n (<< 1 64)) (enc 8))\n        (else (error \"encode-nat; too large:\" n))))\n(define (encode-int out v)\n  (encode-nat out #f (+ (<< v 1) (if (< v 0) 1 0))))\n;; TODO: consider exponent representations, which may be more compact\n(define (encode-number out n) (encode-string out #f (number->string n)))\n(define (encode-bytes out len bs)\n  (unless len (encode-nat out #f (bytes-length bs)))\n  (write-bytes bs out))\n(define (encode-symbol out len s) (encode-string out len (symbol->string s)))\n(define (encode-string out len s)\n  (encode-bytes out len (string->bytes/utf-8 s)))\n(define (encode-pair   out ta td v)\n  (encode out ta (car v)) (encode out td (cdr v)))\n(define (encode-tuple out ts v) (for ((t (in-list ts)) (v (in-vector v)))\n                                     (encode out t v)))\n(define (encode-list out l t v)\n  (unless l (encode-nat out #f (length v)))\n  (for ((v (in-list v))) (encode out t v)))\n(define (encode-array out l t v)\n  (unless l (encode-nat out #f (vector-length v)))\n  (for ((v (in-vector v))) (encode out t v)))\n\n(define (decode in type)\n  (match type\n    (#f                (decode-any    in))\n    (`#(nat    ,size)  (decode-nat    in size))\n    (`#(string ,len)   (decode-string in len))\n    (`#(symbol ,len)   (decode-symbol in len))\n    (`#(bytes  ,len)   (decode-bytes  in len))\n    (`#(array ,len ,t) (decode-array  in len t))\n    (`#(list  ,len ,t) (decode-list   in len t))\n    (`#(tuple ,@ts)    (decode-tuple  in ts))\n    (`(,ta . ,td)      (decode-pair   in ta td))\n    ('nat              (decode-nat    in #f))\n    ('int              (decode-int    in))\n    ('string           (decode-string in #f))\n    ('symbol           (decode-symbol in #f))\n    ('bytes            (decode-bytes  in #f))\n    ('array            (decode-array  in #f #f))\n    ('list             (decode-list   in #f #f))\n    ('number           (decode-number in))\n    ('true             #t)\n    ('false            #f)\n    ('()               '())))\n(define (decode-any in)\n  (define tag (decode-nat in 1))\n  (define (? t) (= tag t))\n  (cond ((? t.array)  (decode-array  in #f #f))\n        ((? t.string) (decode-string in #f))\n        ((? t.bytes)  (decode-bytes  in #f))\n        ((? t.pair)   (decode-pair   in #f #f))\n        ((? t.number) (decode-number in))\n        ((? t.symbol) (decode-symbol in #f))\n        ((? t.null)   '())\n        ((? t.true)   #t)\n        ((? t.false)  #f)\n        (else (error \"decode-any; invalid tag:\" tag))))\n(define (decode-nat in size)\n  (if size (let loop ((n 0) (sz size))\n             (if (= sz 0) n\n               (loop (+ (<< n 8) (read-byte in)) (- sz 1))))\n    (let ((size (decode-nat in 1))) (decode-nat in size))))\n(define (decode-int in)\n  (define nat (decode-nat in #f))\n  (* (if (odd? nat) -1 1) (>> nat 1)))\n;; TODO: consider exponent representations, which may be more compact\n(define (decode-number in)      (string->number (decode-string in #f)))\n(define (decode-bytes in l)     (if l (read-bytes l in)\n                                  (decode-bytes in (decode-nat in #f))))\n(define (decode-symbol in l)    (string->symbol (decode-string in l)))\n(define (decode-string in l)    (bytes->string/utf-8 (decode-bytes in l)))\n(define (decode-pair  in ta td) (cons (decode in ta) (decode in td)))\n(define (decode-tuple in ts)    (list->vector (decode in ts)))\n(define (decode-list  in l t)   (if l (decode in (make-list l t))\n                                  (decode-list in (decode-nat in #f) t)))\n(define (decode-array in l t)   (if l (decode-tuple in (make-list l t))\n                                  (decode-array in (decode-nat in #f) t)))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/common.rkt",
    "content": "#lang racket/base\n(provide symbolo numbero stringo byteso pairo vectoro booleano integero\n         not-symbolo not-numbero not-stringo not-byteso\n         not-pairo not-vectoro not-booleano not-integero\n         vector==listo bytes==listo <=o <o string<=o string<o absento\n         appendo removeo membero not-membero uniqueo)\n(require \"order.rkt\" \"syntax.rkt\")\n\n(define-relation (symbolo t)\n  (any<=o term.symbol.min t) (any<=o t term.symbol.max)\n  (=/= t term.symbol.max))\n(define-relation (numbero t)\n  (any<=o term.number.min t) (any<=o t term.number.max)\n  (=/= t term.number.min) (=/= t term.number.max))\n(define-relation (stringo t)\n  (any<=o term.string.min t) (any<=o t term.string.max)\n  (=/= t term.string.max))\n(define-relation (byteso t)\n  (any<=o term.bytes.min t) (any<=o t term.bytes.max)\n  (=/= t term.bytes.max))\n(define-relation (pairo t) (fresh (a d) (== t `(,a . ,d))))\n(define-relation (vectoro t)\n  (any<=o term.vector.min t) (any<=o t term.bytes.max)\n  (=/= t term.vector.max))\n(define-relation (booleano t) (conde ((== t #t)) ((== t #f))))\n(define-relation (integero t) (flooro t t))\n\n(define-relation (not-symbolo t)\n  (conde ((any<=o t term.symbol.min) (=/= t term.symbol.min))\n         ((any<=o term.symbol.max t))))\n(define-relation (not-numbero t)\n  (conde ((any<=o t term.number.min))\n         ((any<=o term.number.max t))))\n(define-relation (not-stringo t)\n  (conde ((any<=o t term.string.min) (=/= t term.string.min))\n         ((any<=o term.string.max t))))\n(define-relation (not-byteso t)\n  (conde ((any<=o t term.bytes.min) (=/= t term.bytes.min))\n         ((any<=o term.bytes.max t))))\n(define-relation (not-pairo t)\n  (conde ((any<=o t term.pair.min) (=/= t term.pair.min))\n         ((any<=o term.pair.max t) (=/= t term.pair.max))))\n(define-relation (not-vectoro t)\n  (conde ((any<=o t term.vector.min) (=/= t term.vector.min))\n         ((any<=o term.vector.max t))))\n(define-relation (not-booleano t) (=/= t #t) (=/= t #f))\n(define-relation (not-integero t) (fresh (x) (flooro t x) (=/= t x)))\n\n;; TODO: /o, %o, quotiento, remaindero?\n(define-relation (<=o t1 t2) (numbero t1) (numbero t2) (any<=o t1 t2))\n(define-relation (<o  t1 t2) (<=o t1 t2) (=/= t1 t2))\n(define-relation (string<=o t1 t2) (stringo t1) (stringo t2) (any<=o t1 t2))\n(define-relation (string<o  t1 t2) (string<=o t1 t2) (=/= t1 t2))\n\n(define-relation (vector/i==listo i t1 t2)\n  (fresh (len x xs i+1)\n    (vector-lengtho t1 len)\n    (conde ((== t2 '()) (== i len))\n           ((== t2 `(,x . ,xs))\n            (<o i len)\n            (+o i 1 i+1)\n            (vector-refo t1 i x)\n            (vector/i==listo i+1 t1 xs)))))\n(define-relation (vector==listo t1 t2) (vector/i==listo 0 t1 t2))\n\n(define-relation (bytes/i==listo i t1 t2)\n  (fresh (len x xs i+1)\n    (bytes-lengtho t1 len)\n    (conde ((== t2 '()) (== i len))\n           ((== t2 `(,x . ,xs))\n            (<o i len)\n            (+o i 1 i+1)\n            (bytes-refo t1 i x)\n            (bytes/i==listo i+1 t1 xs)))))\n(define-relation (bytes==listo t1 t2) (bytes/i==listo 0 t1 t2))\n\n(define-relation (absent-vectoro x v i)\n  (fresh (len element i+1)\n    (vector-lengtho v len)\n    (conde ((== i len))\n           ((<o i len)\n            (+o i 1 i+1)\n            (vector-refo v i element)\n            (absento x element)\n            (absent-vectoro x v i+1)))))\n(define-relation (absento x t)\n  (=/= x t)\n  (conde ((fresh (a d)\n            (== t `(,a . ,d))\n            (absento x a)\n            (absento x d)))\n         ((absent-vectoro x t 0))\n         ((not-pairo t) (not-vectoro t))))\n\n(define-relation (appendo xs ys xsys)\n  (conde ((== xs '()) (== ys xsys))\n         ((fresh (a d res)\n            (== `(,a . ,d)   xs)\n            (== `(,a . ,res) xsys)\n            (appendo d ys res)))))\n\n(define-relation (removeo x xs ys)\n  (conde ((== xs '()) (== ys '()))\n         ((fresh (d)\n            (== `(,x . ,d) xs)\n            (removeo x d ys)))\n         ((fresh (a d res)\n            (== `(,a . ,d) xs)\n            (=/= x a)\n            (== `(,a . ,res) ys)\n            (removeo x d res)))))\n\n(define-relation (membero x xs)\n  (fresh (a d)\n    (== xs `(,a . ,d))\n    (conde ((==  x a))\n           ((=/= x a) (membero x d)))))\n\n(define-relation (not-membero x xs)\n  (conde ((== xs '()))\n         ((fresh (a d)\n            (== xs `(,a . ,d))\n            (=/= x a)\n            (not-membero x d)))))\n\n(define-relation (uniqueo xs)\n  (conde ((== xs '()))\n         ((fresh (a d)\n            (== `(,a . ,d) xs)\n            (not-membero a d)\n            (uniqueo d)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/concrete-syntax-extended.rkt",
    "content": "#lang racket/base\n(provide (all-from-out \"concrete-syntax.rkt\")\n         _ not and or if when unless cond begin let let* lambda quasiquote\n         apply append map/merge map/append map filter filter-not)\n(require \"concrete-syntax.rkt\"\n         (for-syntax racket/base) racket/stxparam\n         (rename-in \"misc.rkt\"\n                    (map/merge  rkt:map/merge)\n                    (map/append rkt:map/append))\n         (rename-in racket/base\n                    (_          rkt:_)\n                    (not        rkt:not)\n                    (and        rkt:and)\n                    (or         rkt:or)\n                    (begin      rkt:begin)\n                    (let        rkt:let)\n                    (let*       rkt:let*)\n                    (lambda     rkt:lambda)\n                    (if         rkt:if)\n                    (when       rkt:when)\n                    (unless     rkt:unless)\n                    (cond       rkt:cond)\n                    (quasiquote rkt:quasiquote)\n                    (apply      rkt:apply)\n                    (append     rkt:append)\n                    (map        rkt:map)\n                    (filter     rkt:filter))\n         (rename-in racket/list\n                    (filter-not rkt:filter-not)))\n\n(define-syntax-rule (define-alias/term name name.term name.else)\n  (define-syntax (name stx)\n    (case (current-vocabulary)\n      ((term) (syntax-case stx ()\n                ((_ . args) #'(name.term . args))\n                (_          #'name.term)))\n      (else   (syntax-case stx ()\n                ((_ . args) #'(name.else . args))\n                (_          #'name.else))))))\n\n(define-syntax-rule (define-alias/formula&term name name.formula name.term name.else)\n  (define-syntax (name stx)\n    (case (current-vocabulary)\n      ((formula) (syntax-case stx ()\n                   ((_ . args) #'(name.formula . args))\n                   (_          #'name.formula)))\n      ((term)    (syntax-case stx ()\n                   ((_ . args) #'(name.term . args))\n                   (_          #'name.term)))\n      (else      (syntax-case stx ()\n                   ((_ . args) #'(name.else . args))\n                   (_          #'name.else))))))\n\n(define-alias/formula&term not   ~              dbk:not   rkt:not)\n(define-alias/formula&term and   conj           dbk:and   rkt:and)\n(define-alias/formula&term or    disj           dbk:or    rkt:or)\n(define-alias/formula&term apply apply-relation dbk:apply rkt:apply)\n\n(define-alias/term begin      dbk:begin      rkt:begin)\n(define-alias/term let        dbk:let        rkt:let)\n(define-alias/term let*       dbk:let*       rkt:let*)\n(define-alias/term lambda     dbk:lambda     rkt:lambda)\n(define-alias/term if         dbk:if         rkt:if)\n(define-alias/term when       dbk:when       rkt:when)\n(define-alias/term unless     dbk:unless     rkt:unless)\n(define-alias/term cond       dbk:cond       rkt:cond)\n(define-alias/term quasiquote dbk:quasiquote rkt:quasiquote)\n(define-alias/term _          ??             rkt:_)\n\n(define-alias/term append     dbk:append     rkt:append)\n(define-alias/term map/merge  dbk:map/merge  rkt:map/merge)\n(define-alias/term map/append dbk:map/append rkt:map/append)\n(define-alias/term map        dbk:map        rkt:map)\n(define-alias/term filter     dbk:filter     rkt:filter)\n(define-alias/term filter-not dbk:filter-not rkt:filter-not)\n\n(define-syntax (dbk:quasiquote/level stx)\n  (syntax-case stx (quasiquote unquote unquote-splicing)\n    ((_ level   (quasiquote       q))         #'(dbk:term (list 'quasiquote       (dbk:quasiquote/level (level) q))))\n    ((_ (level) (unquote          q))         #'(dbk:term (list 'unquote          (dbk:quasiquote/level level   q))))\n    ((_ (level) (unquote-splicing q))         #'(dbk:term (list 'unquote-splicing (dbk:quasiquote/level level   q))))\n    ((_ ()      (unquote          e))         #'(dbk:term e))\n    ((_ ()      ((unquote-splicing e) . q.d)) #'(dbk:append (dbk:term e) (dbk:quasiquote/level ()    q.d)))\n    ((_ level   (q.a . q.d))                  #'(dbk:cons                (dbk:quasiquote/level level q.a)\n                                                                         (dbk:quasiquote/level level q.d)))\n    ((_ level   #(q ...))                     #'(dbk:list->vector        (dbk:quasiquote/level level (q ...))))\n    ((_ level   quasiquote)                   (raise-syntax-error #f \"misplaced quasiquote\"       stx))\n    ((_ level   unquote)                      (raise-syntax-error #f \"misplaced unquote\"          stx))\n    ((_ level   unquote-splicing)             (raise-syntax-error #f \"misplaced unquote-splicing\" stx))\n    ((_ level   q)                            #'(dbk:term (quote q)))))\n\n(define-syntax-rule (dbk:quasiquote q) (dbk:quasiquote/level () q))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/concrete-syntax.rkt",
    "content": "#lang racket/base\n(provide\n  fresh-name with-fresh-names ??\n  (for-syntax current-vocabulary)\n  with-no-vocabulary with-formula-vocabulary with-term-vocabulary\n  conj disj imply iff ~ all exist fresh conde query== query\n  == =/= any<= any< flooro +o *o\n  vector-lengtho vector-refo bytes-lengtho bytes-refo symbol==stringo string==utf8-byteso\n  dbk:term dbk:app dbk:apply dbk:cons dbk:list->vector dbk:append dbk:not\n  dbk:map/merge dbk:map/append dbk:map dbk:filter dbk:filter-not\n  dbk:begin dbk:let dbk:let* dbk:lambda dbk:if dbk:when dbk:unless dbk:cond dbk:and dbk:or\n  apply-relation\n  relation-kind relation-arity relation-properties relation-properties-set!\n  relation-method relation-dirty! relation-clean!\n  define-relation define-relation/table define-relation/input\n  define-relations)\n(require \"abstract-syntax.rkt\" \"misc.rkt\" \"stream.rkt\"\n         (for-syntax racket/base) racket/list racket/struct racket/stxparam)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Names\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; TODO: this might belong in abstract-syntax.rkt\n\n(define fresh-name-count (make-parameter #f))\n\n(define (call-with-fresh-names thunk)\n  (if (fresh-name-count)\n    (thunk)\n    (parameterize ((fresh-name-count 0))\n      (thunk))))\n\n(define-syntax-rule (with-fresh-names body ...)\n  (call-with-fresh-names (lambda () body ...)))\n\n(define (fresh-name name)\n  (define uid.next (fresh-name-count))\n  (unless uid.next (error \"fresh name not available:\" name))\n  (fresh-name-count (+ uid.next 1))\n  (cons uid.next (if (pair? name) (cdr name) name)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Anonymous variables\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define anonymous-vars (make-parameter #f))\n\n(define (anonymous-var (sym '_))\n  (unless (anonymous-vars) (error \"misplaced anonymous variable\"))\n  (define name (fresh-name sym))\n  (anonymous-vars (cons name (anonymous-vars)))\n  (t:var name))\n\n(define-syntax formula/anonymous-vars\n  (syntax-rules ()\n    ((_ body ...) (parameterize ((anonymous-vars '()))\n                    (define f (let () body ...))\n                    (if (null? (anonymous-vars))\n                      f\n                      (f:exist (anonymous-vars) f))))))\n\n(define-syntax (?? stx)\n  (syntax-case stx ()\n    ((_ . args) (raise-syntax-error #f \"cannot apply anonymous variable\" stx))\n    (_          #'(anonymous-var '??))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Vocabularies\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-syntax-parameter stxparam.vocabulary #f)\n(begin-for-syntax (define-syntax-rule (current-vocabulary)\n                    (syntax-parameter-value #'stxparam.vocabulary)))\n\n(define-syntax-rule (with-no-vocabulary      body ...) (syntax-parameterize ((stxparam.vocabulary #f))       body ...))\n(define-syntax-rule (with-formula-vocabulary body ...) (syntax-parameterize ((stxparam.vocabulary 'formula)) body ...))\n(define-syntax-rule (with-term-vocabulary    body ...) (syntax-parameterize ((stxparam.vocabulary 'term))    body ...))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Relations\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (relation-apply r . args)\n  (define l.args  (length args))\n  (define l.extra (- (relation-arity r) (- l.args 1)))\n  (when (= l.args 0)\n    (error \"relation-apply requires at least one argument besides the relation:\" r args))\n  (when (< l.extra 0)\n    (error \"relation-apply number of arguments exceeds relation arity:\" r args))\n  (define rargs      (reverse args))\n  (define arg.last   (car rargs))\n  (define rargs.init (cdr rargs))\n  (define attrs      (hash-ref (relation-properties r) 'attributes (range (relation-arity r))))\n  (define names      (s-drop (- l.args 1) attrs))\n  (formula/anonymous-vars\n    (let* ((vars.last (map (lambda (n) (anonymous-var (vector 'apply n))) names))\n           (args.new  (foldl cons vars.last rargs.init)))\n      (conj (== arg.last vars.last)\n            (apply r args.new)))))\n\n(define (relation-kind            r)     (if (relation? r)\n                                           ((relation-method r) 'kind)\n                                           `(primitive ,r)))\n(define (relation-arity           r)     ((relation-method r) 'arity))\n(define (relation-properties      r)     ((relation-method r) 'properties))\n(define (relation-properties-set! r k v) ((relation-method r) 'properties-set! k v))\n(define (relation-dirty!          r)     ((relation-method r) 'dirty!))\n(define (relation-clean!          r)     ((relation-method r) 'clean!))\n\n;; TODO: maybe normalize definitions (axioms) to clausal form first, for stronger assumptions when analyzing safety\n\n;; TODO: Datalog safety check\n;; Due to mutual recursion, this will have to be run across multiple relations simultaneously, not individually.\n;(define (relation-finite? r)\n  ;(or (not (eq? 'rule (relation-kind r)))\n      ;(match-let (((f:all (f:imply f.body (f:relate _ vars.head))) ((relation-method r) 'formula)))\n        ;;; TODO:\n        ;;; all vars.head must be mentioned at least once in a positive position\n        ;;; all dependency relations must be finite (or the particular call to its args must be total)\n        ;;; all relations mentioned in subqueries must be stratified\n        ;;; all terms in recursive calls or assigned to head vars are non-function literals\n        ;;;   head vars can be function terms if this relation isn't recursive\n        ;(let loop ((f f.body) (fs.pending '()) (vars.pending (list->set vars.head)))\n          ;(match f\n            ;((f:relate r.f args.f)\n             ;;; TODO: also try totality checking\n             ;;; TODO: recognize mutual recursion\n             ;;; TODO: primitives need special handling\n             ;(and (relation-finite? r.f)\n                  ;;; TODO: what about compound/function literals?  these can violate safety\n                  ;;; TODO: look for subqueries and verify stratification\n                  ;(continue (set-subtract vars.pending (t-free-vars-positive* args.f)))))\n            ;((f:or f.1 f.2)\n             ;;; TODO: instead, reorganize finiteness checking to avoid redundant work\n             ;;; instead, we could determine what head vars are positively referenced in each of f.1 and f.2\n             ;;; taking their intersection, and subtracting that from the total\n             ;;; and if either fails to be finite locally, it can return #f to signal combined failure\n             ;(and (loop f.1 fs.pending vars.pending)\n                  ;(loop f.2 fs.pending vars.pending)))\n            ;((f:and f.1 f.2) (loop f.1 (cons f.2 fs.pending) vars.pending))\n            ;((f:not f)\n             ;;; TODO: negative polarity\n\n             ;)\n            ;((f:exist params.f body.f)\n             ;;; TODO: shadow? or is this not necessary?\n             ;(loop body.f fs.pending vars.pending))\n            ;(_ (error \"TODO: finiteness check for unhandled formula type:\" f)))))))\n\n;; TODO: should also return info about any change in arg groundness after this relation runs?\n;(define (relate-total? relation args)\n  ;)\n\n(struct relation (method)\n        #:methods gen:custom-write\n        ((define write-proc\n           (make-constructor-style-printer\n             (lambda (r) 'relation)\n             (lambda (r) (list (cons 'kind  (relation-kind       r))\n                               (cons 'arity (relation-arity      r))\n                               (relation-properties r))))))\n        #:property prop:procedure\n        (lambda (r . args)\n          (unless (= (relation-arity r) (length args))\n            (error \"relation called with invalid number of arguments\" args r))\n          (f:relate r (map scm->term args))))\n\n(define (make-relation kind arity parent->self)\n  (define properties (hash))\n  (relation\n    (parent->self\n      (method-lambda\n        ((kind)                   kind)\n        ((arity)                  arity)\n        ((properties)             properties)\n        ((properties-set!    k v) (when (eq? k 'attributes)\n                                    (unless (and (list? v) (= arity (length v)))\n                                      (error \"invalid number of attributes for arity:\" arity v)))\n                                  (set! properties (hash-set    properties k v)))\n        ((properties-remove! k)   (set! properties (hash-remove properties k)))\n        ((dirty!)                 (void))\n        ((clean!)                 (void))))))\n\n(define (relation/primitive arity name)\n  (make-relation\n    `(primitive ,name) arity\n    (lambda (parent) parent)))\n\n(define (relation/rule arity rule)\n  (define r\n    (make-relation\n      'rule arity\n      (lambda (parent)\n        (method-lambda\n          ((apply . args) (define len (length args))\n                          (unless (= len arity) (error \"invalid number of arguments:\" arity args))\n                          (apply rule args))\n          ((formula)      (define attrs  (hash-ref (relation-properties r) 'attributes (range arity)))\n                          (define params (map fresh-name attrs))\n                          (define vars   (map t:var      params))\n                          (f:all params (f:imply (apply rule vars) (apply r vars))))\n          (else           parent)))))\n  r)\n\n(define (relation/table arity path)\n  ;; TODO: if path is #f, use temporary storage\n  (make-relation\n    'table arity\n    (lambda (parent)\n      (method-lambda\n        ;; TODO:\n        ;; Define instantiation of table controllers that manage their own column constraints.\n        ;; A single query might instantiate multiple controllers for the same table, each with\n        ;; a different set of constraints/bounds.\n        ;; Controller interface provides:\n        ;; - retrieval of statistics:\n        ;;   - total tuple count\n        ;;   - per-column cardinality\n        ;;   - per-column bounds\n        ;; - update of per-column bounds\n        ;; - index descriptions\n\n        ;; TODO:\n        ;; Define an interface for updating table content.\n        ;; Maintain a log of insertions and deletions.\n        ;; Possibly support log subscriptions to allow other processes to observe changes.\n        ((path) path)\n        (else   parent)))))\n\n(define (relation/input arity produce)\n  (make-relation\n    'input arity\n    (lambda (parent)\n      (method-lambda\n        ((produce) (s-enumerate 0 (produce)))\n        (else      parent)))))\n\n(define-syntax apply-relation\n  (syntax-rules ()\n    ((_ r . args) (formula/anonymous-vars (with-term-vocabulary (relation-apply r . args))))))\n\n(define-syntax (define-relations stx)\n  (syntax-case stx ()\n    ((_ (kind (name.r param ...) body ...) ...)\n     (with-syntax (((r ...) (generate-temporaries #'(name.r ...))))\n       #'(begin (define-syntax (name.r stx)\n                  (syntax-case stx ()\n                    ((_ . args) #'(formula/anonymous-vars (with-term-vocabulary (r . args))))\n                    (_          #'r))) ...\n                (define-values (r ...)\n                  (values (defined-relation-value (kind (name.r param ...) body ...)) ...))\n                (begin (relation-properties-set! r 'name       'name.r)\n                       (relation-properties-set! r 'attributes '(param ...))) ...)))))\n\n(define-syntax defined-relation-value\n  (syntax-rules (primitive rule table input)\n    ((_ (rule      (name param ...) f ...))    (let ((r (relation/rule (length '(param ...))\n                                                                       (lambda (param ...)\n                                                                         (with-formula-vocabulary\n                                                                           (conj f ...))))))\n                                                 (relation-properties-set! r 'rule '((name param ...) :- f ...))\n                                                 r))\n    ((_ (table     (name param ...) body ...)) (relation/table     (length '(param ...)) body ...))\n    ((_ (input     (name param ...) body ...)) (relation/input     (length '(param ...)) body ...))\n    ((_ (primitive (name param ...)))          (relation/primitive (length '(param ...)) 'name))))\n\n(define-syntax-rule (define-relation           body ...) (define-relations (rule      body ...)))\n(define-syntax-rule (define-relation/table     body ...) (define-relations (table     body ...)))\n(define-syntax-rule (define-relation/input     body ...) (define-relations (input     body ...)))\n(define-syntax-rule (define-relation/primitive body ...) (define-relations (primitive body ...)))\n\n(define-syntax-rule (define-primitive-relations signature ...) (begin (define-relation/primitive signature) ...))\n\n(define-primitive-relations\n  (==                  t1 t2)\n  (=/=                 t1 t2)\n  (any<=               t1 t2)\n  (any<                t1 t2)\n  (flooro              t1 t2)\n  (+o                  t1 t2 t3)\n  (*o                  t1 t2 t3)\n  (vector-lengtho      t  l)\n  (vector-refo         t  i  x)\n  (bytes-lengtho       t  l)\n  (bytes-refo          t  i  x)\n  (symbol==stringo     t1 t2)\n  (string==utf8-byteso t1 t2))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Basic syntax for formulas and terms\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-syntax conj*\n  (syntax-rules ()\n    ((_)          f:true)\n    ((_ f)        f)\n    ((_ fs ... f) (f:and (conj* fs ...) f))))\n\n(define-syntax disj*\n  (syntax-rules ()\n    ((_)          f:false)\n    ((_ f)        f)\n    ((_ f fs ...) (f:or f (disj* fs ...)))))\n\n(define-syntax-rule (conj   fs ...)    (with-formula-vocabulary (conj*   fs ...)))\n(define-syntax-rule (disj   fs ...)    (with-formula-vocabulary (disj*   fs ...)))\n(define-syntax-rule (imply  f.h f.c)   (with-formula-vocabulary (f:imply f.h f.c)))\n(define-syntax-rule (iff    f.0 f ...) (with-formula-vocabulary (and (f:iff f.0 f) ...)))\n(define-syntax-rule (~      f)         (with-formula-vocabulary (f:not   f)))\n\n(define-syntax-rule (define-quantifier-syntax name f:quantifier)\n  (... (define-syntax (name stx)\n         (syntax-case stx ()\n           ((_ (x ...) body ...)\n            (with-syntax (((name.x ...) (generate-temporaries #'(x ...))))\n              #'(let ((name.x (fresh-name 'x)) ...)\n                  (let ((x (t:var name.x)) ...)\n                    (f:quantifier (list name.x ...) (conj body ...))))))))))\n\n(define-quantifier-syntax exist f:exist)\n(define-quantifier-syntax all   f:all)\n\n(define-syntax-rule (fresh (x ...) body ...) (exist (x ...) body ...))\n\n(define-syntax-rule (conde (f.0 fs.0 ...)\n                           (f   fs   ...) ...)\n  (disj (conj f.0 fs.0 ...)\n        (conj f   fs   ...) ...))\n\n(define-syntax query==\n  (syntax-rules ()\n    ((_ result (x ...) body ...) (query== result x.0 (exist (x ...)\n                                                       (== x.0 (list x ...))\n                                                       body ...)))\n    ((_ result x       body ...) (let* ((name.x (fresh-name 'q))\n                                        (x      (t:var      name.x)))\n                                   (f:query result name.x (conj body ...))))))\n\n;; TODO: can we auto-lift these terms via anonymous vars?\n(define-syntax query\n  (syntax-rules ()\n    ((_ (x ...) body ...) (query x.0 (exist (x ...)\n                                       (== x.0 (list x ...))\n                                       body ...)))\n    ((_ x       body ...) (with-fresh-names\n                            (let* ((name.x (fresh-name 'q))\n                                   (x      (t:var      name.x)))\n                              (t:query name.x (conj body ...)))))))\n\n(define (dbk:term         x)        (scm->term x))\n(define (dbk:app          p . args) (t:app (scm->term p) (map scm->term args)))\n(define (dbk:prim-app     p . args) (t:app (t:prim    p) (map scm->term args)))\n(define (dbk:cons         a d)      (dbk:prim-app 'cons         a d))\n(define (dbk:list->vector xs)       (dbk:prim-app 'list->vector xs))\n\n(define-syntax (dbk:apply stx)\n  (syntax-case stx ()\n    ((_ . args) #'(dbk:prim-app 'apply . args))\n    (_          #'(t:prim 'apply))))\n\n(define-syntax-rule (define-lambda (name . params) body)\n  (define-syntax (name stx)\n    (syntax-case stx ()\n      ((_ . args) #'(dbk:app (dbk:lambda params body) . args))\n      (_          #'(dbk:lambda params body)))))\n\n(define-lambda (dbk:not        x)                  (dbk:if x #f #t))\n(define-lambda (dbk:append     xs ys)              (dbk:prim-app   'append    xs ys))\n(define-lambda (dbk:map/merge  f merge default xs) (dbk:prim-app   'map/merge f merge default xs))\n(define-lambda (dbk:map/append f               xs) (dbk:map/merge  f (dbk:lambda (a b) (dbk:append a b)) '()            xs))\n(define-lambda (dbk:map        f               xs) (dbk:map/append (dbk:lambda (x) (list (dbk:app f x)))                xs))\n(define-lambda (dbk:filter     p               xs) (dbk:map/append (dbk:lambda (x) (dbk:if (dbk:app p x) (list x) '())) xs))\n(define-lambda (dbk:filter-not p               xs) (dbk:filter     (dbk:lambda (x) (dbk:not (dbk:app p x)))             xs))\n\n(define-syntax dbk:begin\n  (syntax-rules ()\n    ((_)          (dbk:term (void)))\n    ((_ e)        (dbk:term e))\n    ((_ e es ...) (dbk:let ((temp.begin (dbk:term e))) es ...))))\n\n(define-syntax dbk:let\n  (syntax-rules ()\n    ((_ ((x e) ...) body ...) (let ((name.x (fresh-name 'x)) ...)\n                                (let ((x (t:var name.x)) ...)\n                                  (with-term-vocabulary\n                                    (t:let (list (cons name.x (dbk:term e)) ...)\n                                           (dbk:begin body ...))))))))\n\n(define-syntax dbk:let*\n  (syntax-rules ()\n    ((_ ()                  body ...) (dbk:let ()                              body ...))\n    ((_ ((x e) (xs es) ...) body ...) (dbk:let ((x e)) (dbk:let* ((xs es) ...) body ...)))))\n\n(define-syntax (dbk:lambda stx)\n  (syntax-case stx ()\n    ((_ (x ...)     body ...)\n     (with-syntax (((name.x ...) (generate-temporaries #'(x ...))))\n       #'(let ((name.x (fresh-name 'x)) ...)\n           (let ((x (t:var name.x)) ...)\n             (with-term-vocabulary\n               (t:lambda (list  name.x ...)        (dbk:begin body ...)))))))\n    ((_ (x ... . y) body ...)\n     (with-syntax (((name.x ...) (generate-temporaries #'(x ...))))\n       #'(let ((name.y (fresh-name 'y)) (name.x (fresh-name 'x)) ...)\n           (let ((x (t:var name.x)) ...)\n             (with-term-vocabulary\n               (t:lambda (list* name.x ... name.y) (dbk:begin body ...)))))))))\n\n(define-syntax-rule (dbk:if     c t f)      (t:if (dbk:term c) (dbk:term t) (dbk:term f)))\n(define-syntax-rule (dbk:when   c body ...) (dbk:if c (dbk:begin body ...) (dbk:term (void))))\n(define-syntax-rule (dbk:unless c body ...) (dbk:if c (dbk:term (void))    (dbk:begin body ...)))\n\n(define-syntax (dbk:cond stx)\n  (syntax-case stx (else =>)\n    ((_)                      #'(dbk:term (void)))\n    ((_ (else e ...))         #'(dbk:begin e ...))\n    ((_ (else e ...) etc ...) (raise-syntax-error #f \"misplaced else\" stx))\n    ((_ (c => p) cs ...)      #'(dbk:let ((x c)) (dbk:if x (dbk:app   p c)   (dbk:cond cs ...))))\n    ((_ (c e ...) cs ...)     #'(                 dbk:if c (dbk:begin e ...) (dbk:cond cs ...)))\n    ((_ c cs ...)             #'(dbk:let ((x c)) (dbk:if x x                 (dbk:cond cs ...))))))\n\n(define-syntax dbk:and\n  (syntax-rules ()\n    ((_)          (dbk:term #t))\n    ((_ e)        (dbk:term e))\n    ((_ e es ...) (dbk:if e (dbk:and es ...) (dbk:term #f)))))\n\n(define-syntax dbk:or\n  (syntax-rules ()\n    ((_)          (dbk:term #f))\n    ((_ e)        (dbk:term e))\n    ((_ e es ...) (dbk:let ((temp.or e)) (dbk:if temp.or temp.or (dbk:or es ...))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/config.rkt",
    "content": "#lang racket/base\n(provide current-config config.default file->config current-config-ref\n         current-config-set current-config-set/alist\n         current-config-set! current-config-set!/alist\n         current-config-relation-path config-ref config-set config-set/alist\n         policy-allow? logf logf/date)\n(require racket/date racket/string)\n\n(define config.default\n  (make-immutable-hash\n    '((relation-root-path         . #f) ;; root path for materialized relations\n      (temporary-root-path        . #f) ;; root path for temporary caches\n      (buffer-size                . 100000)\n      (progress-logging-threshold . 100000) ;; number of rows per log message\n      ;; interactive, always, never\n      (update-policy              . interactive) ;; rebuild stale tables\n      (cleanup-policy             . interactive) ;; remove unspecified indexes\n      (migrate-policy             . interactive) ;; migrate to new data format\n      (allow-missing-data-policy  . interactive) ;; ignore missing data\n      ;; biased-interleaving (default), depth-first\n      (search-strategy            . #f))))\n\n(define (valid-config?! cfg)\n  (define (valid-policy? policy) (member policy '(always never interactive)))\n  (define (valid-path?   p)      (or (not p) (string? p) (path? p)))\n  (define-syntax validate!\n    (syntax-rules ()\n      ((_ (test ... key) ...)\n       (begin (unless (test ... (hash-ref cfg 'key))\n                (error \"invalid config:\" 'key (hash-ref cfg 'key))) ...))))\n  (validate! (valid-path?   relation-root-path)\n             (valid-path?   temporary-root-path)\n             (< 0           buffer-size)\n             (< 0           progress-logging-threshold)\n             (valid-policy? update-policy)\n             (valid-policy? cleanup-policy)\n             (valid-policy? migrate-policy))\n  cfg)\n\n(define (config-ref cfg key)       (hash-ref cfg key))\n(define (config-set cfg key value) (valid-config?! (hash-set cfg key value)))\n(define (config-set/alist cfg kvs)\n  (valid-config?! (foldl (lambda (kv cfg) (hash-set cfg (car kv) (cdr kv)))\n                         cfg kvs)))\n(define (file->config path)\n  (config-set/alist config.default (with-input-from-file path read)))\n\n(define current-config (make-parameter config.default))\n(define (current-config-ref key)       (config-ref (current-config) key))\n(define (current-config-set key value) (config-set (current-config) key value))\n(define (current-config-set/alist kvs) (config-set/alist (current-config) kvs))\n(define (current-config-set! key value)\n  (current-config (current-config-set key value)))\n(define (current-config-set!/alist kvs)\n  (current-config (current-config-set/alist kvs)))\n(define (current-config-relation-path path)\n  (cond ((and (string? path) (string-prefix? path \"/\")) path)\n        (else (define relation-root-path\n                (current-config-ref 'relation-root-path))\n              (if relation-root-path\n                (path->string (build-path relation-root-path path))\n                path))))\n\n(define (policy-allow? policy describe prompt-message prompt-args)\n  (case policy\n    ((interactive)\n     (describe)\n     (apply printf (string-append prompt-message \" [y/n]: \") prompt-args)\n     (case (read)\n       ((y Y yes Yes YES) #t)\n       (else              #f)))\n    ((always) #t)\n    (else     #f)))\n\n(define (pad2 n) (let ((s (number->string n)))\n                   (if (<= 2 (string-length s)) s\n                     (string-append \"0\" s))))\n\n(define (logf/date message . args)\n  (define msg (string-append \"[~a/~a/~a - ~a:~a:~a] \" message))\n  (define d (current-date))\n  (define stamp (list (date-month d) (date-day d)\n                      (date-hour d) (date-minute d) (date-second d)))\n  (apply eprintf msg (date-year d) (append (map pad2 stamp) args)))\n\n(define (logf message . args)\n  (define msg (string-append \"[~a:~a:~a] \" message))\n  (define d (current-date))\n  (define stamp (list (date-hour d) (date-minute d) (date-second d)))\n  (apply eprintf msg (append (map pad2 stamp) args)))\n\n;; TODO: job system\n;; single worker thread\n;; jobs w/ independent loggers (port, file, in-memory, or null)\n\n;(define (thread/wait proc)\n;  (define t (thread proc))\n;  (plumber-add-flush! (current-plumber)\n;                      (lambda (h) (thread-wait t)))\n;  t)\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/constraint.rkt",
    "content": "#lang racket/base\n(provide bis:query->stream dfs:query->stream\n         relation/table define-relation/table)\n(require \"misc.rkt\" \"order.rkt\" \"stream.rkt\" \"syntax.rkt\" \"table.rkt\"\n         (except-in racket/match ==)\n         racket/function racket/list racket/set racket/vector)\n\n#| ;; Definitions for performance diagnostics\n(require racket/pretty)\n(define (pretty-var-bindings vbs)\n  (map (lambda (vb) (cons (var-name (car vb)) (cdr vb))) vbs))\n(define (state-var-bindings st)\n  (pretty-var-bindings\n    (filter (lambda (kv) (not (vcx? (cdr kv)))) (hash->list (state-var=>cx st)))))\n;|#\n\n;; TODO:\n;; extra solvers, beyond bounds checking/limiting for domains and arcs:\n;;   +o, *o:\n;;     for generality, could use a substitute and simplify model\n;;       if a + b = c, then replace c whenever it appears\n;;       still need some functional dependencies (only forward?)\n;;          e.g., a + b = c and a + b = d implies c = d\n;;          also true that a + b = c and a + d = c implies b = d\n;;          however, substituting for c and simplifying covers this:\n;;            a + b = a + d, and simplifying shows b = d\n;;          similar for *o, but case split with 0\n;;     in special cases, can do linear programming\n;;       incremental simplex\n;;       keep in mind: flooro, X-lengtho, X-refo introduce integer constraints\n;;     in other cases: difference equations, polynomials...\n;;     calculus for optimization\n;;     etc.\n;;   (uninterpreted) functional dependencies:\n;;     == propagation forward\n;;       e.g., if (f a b = c) and (f a b = d) then (== c d)\n;;     =/= propagation in reverse\n;;       e.g., if (f a b = c) and (f a d = e) and (c =/= e) then (b =/= d)\n;;         note: this is not a bi-implication unless the function is one-to-one\n;;         (expresssed as two opposing functional dependency constraints)\n;;     also can be used to encode some forms of subsumption checking\n;;   X-refo: maintain minimum length and partial mapping\n;;   string==byteso: look for impossible utf-8 bytes (possibly partial mapping)\n\n;; TODO:\n;; satisfiability loop for a variable constraint graph:\n;;   after propagation quiessence, attempt to divide and conquer\n;;     this is attempted once each time through the satisfiability loop because\n;;       new assignments may lead to disconnection, allowing more decomposition\n;;     decompose into subproblem per subgraph of connected variables\n;;       connection comes from dependency arcs implied by shared constraints\n;;       each subgraph can be satisfied independently\n;;       subgraph solutions can be enumerated and composed\n;;\n;;   for each variable constraint subgraph:\n;;     while there are unresolved variables with possible assignments:\n;;       choose variable with lowest assignment-set cardinality\n;;       choose an assignment for the variable\n;;         may introduce/expand new constraints by stepping into a disj branch\n;;       re-enter satisfiability loop with any new constraints\n;;       if enumerating or loop fails, choose the next assignment\n;;       if no more assignments are available, fail\n;;     once no more unresolved variables, succeed\n;;   compose subgraph solutions\n;;     if any subgraph failed completely, composition also fails\n\n;;; TODO: occurs check for vector-ref\n\n(define (uid:new) (gensym))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Interval bounds for describing a (potentially-infinite) set of terms\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (term-bounds st t.0)\n  (define t (walk st t.0))\n  (cond ((pair? t)\n         (define b.a (term-bounds st (car t)))\n         (define b.d (term-bounds st (cdr t)))\n         (apply bounds\n                (append\n                  (if (bounds-lb-inclusive? b.a)\n                    (list (cons (bounds-lb b.a) (bounds-lb b.d)) (bounds-lb-inclusive? b.d))\n                    (list (cons (bounds-lb b.a) term.max)        #f))\n                  (if (bounds-ub-inclusive? b.a)\n                    (list (cons (bounds-ub b.a) (bounds-ub b.d)) (bounds-ub-inclusive? b.d))\n                    (list (cons (bounds-ub b.a) term.min)        #f)))))\n        ((vector? t)\n         (define b (term-bounds st (vector->list t)))\n         (bounds (list->vector (bounds-lb b)) (bounds-lb-inclusive? b)\n                 (list->vector (bounds-ub b)) (bounds-ub-inclusive? b)))\n        ((var? t) (vcx-bounds (state-vcx-ref st t)))\n        (else     (bounds t #t t #t))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Variable constraints\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(record vcx (bounds simple table disj use) #:transparent)\n(define vcx.empty (vcx (bounds bounds.any)\n                       (simple (seteq)) (table (seteq)) (disj (seteq)) (use (seteq))))\n\n(define (vcx-bounds-set  x b) (vcx:set x (bounds b)))\n(define (vcx-simple-add  x c) (vcx:set x (simple (set-add (vcx-simple x) c))))\n(define (vcx-table-add   x c) (vcx:set x (table  (set-add (vcx-table  x) c))))\n(define (vcx-disj-add    x c) (vcx:set x (disj   (set-add (vcx-disj   x) c))))\n(define (vcx-use-add     x c) (vcx:set x (use    (set-add (vcx-use    x) c))))\n(define (vcx-cx-clear x)      (vcx-bounds-set vcx.empty (vcx-bounds x)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Work queue with recency-based prioritization\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(struct queue (recent high low))\n(define queue.empty (queue (seteq) '() '()))\n(define (queue-empty? q) (set-empty? (queue-recent q)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Partially-satisfied state of a query's constraints\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(record state (qterm vars proc-stack log var=>cx cx pending))\n(define (state:new qterm) (state (qterm qterm) (vars (term-vars qterm)) (proc-stack '()) (log '())\n                                 (var=>cx (hash)) (cx (hash)) (pending queue.empty)))\n\n(define (state-vars-simplify st)\n  (state:set st (vars (term-vars (walk* st (set->list (state-vars st)))))))\n\n(define (state-vcx-ref st x)                          (hash-ref (state-var=>cx st) x vcx.empty))\n(define (state-vcx-set st x t) (state:set st (var=>cx (hash-set (state-var=>cx st) x t))))\n\n(define (state-proc-stack-push st proc-frame)\n  (define proc    (car proc-frame))\n  (define args    (cdr proc-frame))\n  (define parents (state-proc-stack st))\n  (let*/and ((st (c-apply st #f (c:conj (map (lambda (p)\n                                               ;(displayln `(=/= ,args ,(cdr p)))\n\n                                               (c:=/= args (cdr p)))\n                                             (filter (lambda (p) (equal? proc (car p)))\n                                                     parents))))))\n    (state:set st (proc-stack (cons proc-frame parents)))))\n(define (state-proc-stack-pop st) (state:set st (proc-stack (cdr (state-proc-stack st)))))\n\n(define (state-log-add st c)\n  (define log (state-log st))\n  (state:set st (log (and log (cons c log)))))\n\n(define (state-cx-add st vars vcx-add uid? c)\n  (if (null? vars)\n    (state-log-add st c)\n    (let ((uid (or uid? (uid:new))))\n      (foldl (lambda (x st)\n               (state-vcx-set st x (vcx-add (state-vcx-ref st x) uid)))\n             (state:set (state-log-add st c)\n                        (cx (hash-set (state-cx st) uid c)))\n             (set->list vars)))))\n\n(define (state-cx-remove* st uids)\n  (state:set st (cx (foldl (lambda (uid uid=>c) (hash-remove uid=>c uid))\n                           (state-cx st) uids))))\n\n(define (state-cx-update* st uids)\n  (define uid=>c (state-cx st))\n  (define c* (map (lambda (uid) (hash-ref uid=>c uid #f)) uids))\n  (foldl/and (lambda (uid c st) (if c (c-apply st uid c) st))\n             (state-cx-remove* st uids) uids c*))\n\n(define (state-uses-empty?! st)\n  (define uses (filter c:use? (hash-values (state-cx st))))\n  (unless (null? uses)\n    (error \":== dependencies are not ground:\"\n           (map (lambda (u)\n                  (match-define `#s(c:use ,vs ,l ,deps ,r ,desc) u)\n                  (pretty (==/use (walk* st l) (walk* st deps) r desc))\n                  (error \":== dependencies are not ground:\"\n                         (pretty (==/use (walk* st l) (walk* st deps) r desc))))\n                uses))))\n\n(define (state-solve-lte-cycles st)\n  (define cs (map (lambda (c)\n                    (match-define (c:<= lhs rhs) c)\n                    (c:<= (walk* st lhs) (walk* st rhs)))\n                  (filter c:<=? (hash-values (state-cx st)))))\n  ;; Kosaraju's algorithm for simplicity\n  (define a<=b (foldl (lambda (c a<=b)\n                        (match-define (c:<= lhs rhs) c)\n                        (hash-update a<=b lhs (lambda (rhss) (cons rhs rhss)) '()))\n                      (hash) cs))\n  (define b>=a (foldl (lambda (c b>=a)\n                        (match-define (c:<= lhs rhs) c)\n                        (hash-update b>=a rhs (lambda (lhss) (cons lhs lhss)) '()))\n                      (hash) cs))\n  (define (dfs graph pending.0 order.0 source)\n    (cond ((set-member? pending.0 source)\n           (match-define (cons pending order)\n             (foldl (lambda (target p&o)\n                      (match-define (cons p o) p&o)\n                      (dfs graph p o target))\n                    (cons (set-remove pending.0 source) order.0)\n                    (hash-ref graph source)))\n           (cons pending (cons source order)))\n          (else (cons pending.0 order.0))))\n  (define order.<=\n    (let loop ((pending (list->set (hash-keys a<=b))) (order '()))\n      (if (set-empty? pending)\n        order\n        (match-let (((cons pending order) (dfs a<=b pending order (set-first pending))))\n          (loop pending order)))))\n  (define sccs\n    (let loop ((order order.<=) (pending (list->set (hash-keys b>=a))))\n      (if (null? order)\n        '()\n        (match-let (((cons pending scc) (dfs b>=a pending '() (car order))))\n          (define rest (loop (cdr order) pending))\n          (if (null? scc) rest (cons scc rest))))))\n  (foldl/and (lambda (scc st)\n               (define t.0 (car scc))\n               (foldl/and (lambda (t st) (unify st t t.0)) st (cdr scc)))\n             st sccs))\n\n(define (state-schedule-add-var st x)\n  (define (st/q recent high low) (state:set st (pending (queue recent high low))))\n  (match-define (queue recent high low) (state-pending st))\n  (cond ((or (member x high)\n             (member x low))    st)\n        ((set-member? recent x) (st/q          recent            high (cons x low)))\n        (else                   (st/q (set-add recent x) (cons x high)        low))))\n\n(define (state-schedule-run st)\n  (define (update-and-loop st x)\n    (define t (walk st x))\n    (let*/and ((st (if (var? t) (var-update st t) st)))\n      (state-schedule-run st)))\n  (match-define (queue recent high low) (state-pending st))\n  (cond ((not (null? high)) (update-and-loop\n                              (state:set st (pending (queue recent (cdr high)     low)))\n                              (car high)))\n        ((not (null? low))  (define high.new (reverse low))\n                            (update-and-loop\n                              (state:set st (pending (queue recent (cdr high.new) '())))\n                              (car high.new)))\n        (else               (state:set st (pending queue.empty)))))\n\n(define (state-schedule-empty? st) (queue-empty? (state-pending st)))\n\n;; TODO: include a parameter to specify the degree of locality\n(define (state-enforce-local-consistency st)\n  #| ;; Performance diagnostics\n  (pretty-write `(before: term: ,(walk* st (state-qterm st))\n                          vcxs: ,(state-var-bindings st)))\n  ;|#\n  (let*/and ((st (state-schedule-run     st))\n             (st (state-solve-lte-cycles st)))\n    #| ;; Performance diagnostics\n    (pretty-write `(after: term: ,(walk* st (state-qterm st))\n                           vcxs: ,(state-var-bindings st)))\n    ;|#\n    (if (state-schedule-empty? st)\n      st\n      (state-enforce-local-consistency st))))\n\n(define (state-enforce-global-consistency st k.fail k.succeed)\n  ;; TODO: preserve progress made while finding first satisfying state (see factoring TODO below)\n  (let loop ((s (state->satisfied-states st)))\n    (match (s-next s)\n      ((? procedure? s) (thunk (loop s)))\n      ('()              (k.fail))\n      ((cons _ _)       (k.succeed st)))))\n\n;; TODO: factor out table constraint satisfaction to support pre-branch global satisfiability checking\n;;       in cases where we want to split a disjunction before committing to all table constraints\n;;       (taking the first result from a state->satisfied-states stream is not sufficient: we want to\n;;        preserve any state simplification progress made while searching for that first satisfier)\n(define (state->satisfied-states st)\n  (define (d<? d.0 d.1)\n    ;; TODO: figure out a better ordering heuristic for most-constrainedness\n    (< (length (cdr d.0)) (length (cdr d.1))))\n  ;; TODO: how do we respect chosen search strategy, such as interleaving search?\n  (define (choose-branch st.0 uid cs)\n    (define (k st?) (if st? (state->satisfied-states st?) '()))\n    (define st (state-cx-remove* st.0 (list uid)))\n    (s-append        (k (c-apply st #f          (car cs)))\n                     ;; TODO: negate (car cs) if possible, for better subsumption\n              (thunk (k (c-apply st uid (c:disj (cdr cs)))))))\n  (define (choose-variable st xs.observable xss)\n    (define x=>c&s\n      (foldl (lambda (x=>s x=>c&s)\n               (foldl (lambda (x&s x=>c&s)\n                        (match-define (cons x s) x&s)\n                        (match (hash-ref x=>c&s x #f)\n                          (#f (hash-set x=>c&s x (cons 1 s)))\n                          ((cons count s.0)\n                           (hash-set x=>c&s x (cons (+ count 1)\n                                                    (statistics-intersect s.0 s))))))\n                      x=>c&s (hash->list x=>s)))\n             (hash) xss))\n    ;; TODO: also consider paths provided by available table indexes, maybe via\n    ;; prioritized topological sort of SCCs.\n    (define (xcs<? a b)\n      (match-define (cons x.a (cons count.a (statistics ratio.a card.a))) a)\n      (match-define (cons x.b (cons count.b (statistics ratio.b card.b))) b)\n      ;; Order by increasing size-ratio, cardinality and decreasing ref count\n      ;; Prefer members of xs.observable\n      (or (< ratio.a ratio.b)\n          (and (= ratio.a ratio.b)\n               (or (< card.a card.b)\n                   (and (= card.a card.b)\n                        (or (> count.a count.b)\n                            (and (= count.a count.b)\n                                 (set-member? xs.observable x.a)\n                                 (not (set-member? xs.observable x.b)))))))))\n    (define xcss   (hash->list x=>c&s))\n    (define x.best (car (foldl (lambda (xcs xcs.min) (if (xcs<? xcs xcs.min) xcs xcs.min))\n                               (car xcss) (cdr xcss))))\n\n    #| ;; Performance diagnostics\n    (pretty-write `(choosing: ,(var-name x.best)\n                              ,(hash-ref x=>c&s x.best)\n                              ,(vcx-bounds (state-vcx-ref st x.best))\n                              all-choices: ,(pretty-var-bindings xcss)\n                              term: ,(walk* st (state-qterm st))\n                              vcxs: ,(state-var-bindings st)))\n    ;(read-line)\n    ;|#\n\n    (define t (bounds-lb (vcx-bounds (state-vcx-ref st x.best))))\n    (define (k st?) (if st? (state->satisfied-states st?) '()))\n    (s-append        (k (var-assign    st    x.best t))\n              (thunk (k (var-disassign st #f x.best t)))))\n  (match (state-enforce-local-consistency st)\n    (#f '())\n    (st (define cxs (hash->list (state-cx st)))\n        (match (map c:table-t (filter c:table? (map cdr cxs)))\n          ;; If there are no more table constraints, pick a disjunction to split\n          ('() (match (map (lambda (uid&c) (cons (car uid&c) (c:disj-cs (cdr uid&c))))\n                           (filter (lambda (uid&c) (c:disj? (cdr uid&c))) cxs))\n                 ;; If there are no more disjunctions either, we should be done\n                 ('() (list st))\n                 (ds  (define d.min (foldl (lambda (d d.min) (if (d<? d d.min) d d.min))\n                                           (car ds) (cdr ds)))\n                      (choose-branch st (car d.min) (cdr d.min)))))\n          (ts (let* ((st            (state-vars-simplify st))\n                     (xs.observable (state-vars          st))\n                     (xss           (map (lambda (t) (table-statistics st t)) ts))\n                     (sts.all       (choose-variable st xs.observable xss)))\n                (if (set-empty? xs.observable) (s-limit 1 sts.all) sts.all)))))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Internal constraint algebra\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-variant constraint?\n  (c:conj  cs)\n  (c:disj  cs)\n  (c:==    l r)\n  (c:=/=   l r)\n  (c:<=    l r)\n  (c:use   vars lhs args proc desc)\n  (c:table t)\n  (c:proc  proc args parents))\n\n(define (c:bounds b t)\n  (match b\n    ((bounds lb lbi ub ubi) (c:conj (append (list (c:<= lb t) (c:<= t ub))\n                                            (if lbi '() (list (c:=/= lb t)))\n                                            (if ubi '() (list (c:=/= t ub))))))\n    (v                      (c:== t v))))\n\n(define (f->c f)\n  (match f\n    (`#s(conj ,f1 ,f2) (define (f->cs f) (match (f->c f)\n                                           ((c:conj cs) cs)\n                                           (c           (list c))))\n                       (c:conj (append (f->cs f1) (f->cs f2))))\n    (`#s(disj ,f1 ,f2) (define (f->cs f) (match (f->c f)\n                                           ((c:disj cs) cs)\n                                           (c           (list c))))\n                       (c:disj (append (f->cs f1) (f->cs f2))))\n    (`#s(==/use ,lhs ,args ,proc ,desc) (c:use args lhs args proc desc))\n    (`#s(constrain =/=    (,lhs ,rhs))  (c:=/=   lhs rhs))\n    (`#s(constrain ==     (,lhs ,rhs))  (c:==    lhs rhs))\n    (`#s(constrain any<=o (,lhs ,rhs))  (c:<=    lhs rhs))\n    (`#s(constrain ,proc  ,args)        (c:proc  proc args (set)))))\n\n(define (c->f c)\n  (match c\n    ((c:==  l r)                     (==     l r))\n    ((c:=/= l r)                     (=/=    l r))\n    ((c:<=  l r)                     (any<=o l r))\n    ((c:disj cs)                     (apply disj* (map c->f cs)))\n    ((c:conj cs)                     (apply conj* (map c->f cs)))\n    ((c:table t)                     (c->f (t 'constraint)))\n    ((c:proc proc args parents)      (relate proc args))\n    ((c:use vars lhs args proc desc) (==/use lhs args proc desc))))\n\n(define (c-success? c) (and (c:conj? c) (null? (c:conj-cs c))))\n\n(define (c-simplify st.0 effort? c)\n  (let*/and ((st (c-apply (state:set st.0 (log '()) (cx (hash)))\n                          #f c))\n             (st (if effort?\n                   (let*/and ((st (foldl/and (lambda (u&c st)\n                                               (match-define (cons uid? c) u&c)\n                                               (c-apply st uid? c))\n                                             st (hash->list (state-cx st.0)))))\n                     (state-enforce-local-consistency st))\n                   st)))\n    (let ((log (state-log st)))\n      (if (and (pair? log) (null? (cdr log)))\n        (car log)\n        (c:conj log)))))\n\n(define (c-apply st uid? c)\n  (match c\n    ((c:==  l r)                     (unify        st      l r))\n    ((c:=/= l r)                     (disunify     st uid? l r))\n    ((c:<=  l r)                     (ltunify      st uid? l r))\n    ((c:disj cs)                     (disjoin      st uid? cs))\n    ((c:conj cs)                     (conjoin      st      cs))\n    ((c:table t)                     (table-update st uid? t))\n    ((c:proc proc args parents)      (proc-apply   st uid? proc args parents))\n    ((c:use vars lhs args proc desc) (use          st uid? vars lhs args proc desc))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Constraint operations\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (unify st t1 t2)\n  (let ((t1 (walk st t1)) (t2 (walk st t2)))\n    (cond ((eqv? t1 t2) st)\n          ((var?    t1) (var-assign st t1 t2))\n          ((var?    t2) (var-assign st t2 t1))\n          ((pair?   t1) (and (pair? t2)\n                             (let ((st (unify st (car t1) (car t2))))\n                               (and st (unify st (cdr t1) (cdr t2))))))\n          ((vector? t1) (and (vector? t2) (= (vector-length t1)\n                                             (vector-length t2))\n                             (unify st (vector->list t1) (vector->list t2))))\n          ((equal? t1 t2) st)\n          (else           #f))))\n\n(define (disunify st uid? t1 t2)\n  (let ((t1 (walk st t1)) (t2 (walk st t2)))\n    (cond ((eqv? t1 t2) #f)\n          ((var?    t1) (var-disassign st uid? t1 t2))\n          ((var?    t2) (var-disassign st uid? t2 t1))\n          ((pair?   t1) (cond ((not (pair? t2)) st)\n                              (else (disjoin st #f (list (c:=/= (car t1) (car t2))\n                                                         (c:=/= (cdr t1) (cdr t2)))))))\n          ((vector? t1) (cond ((not (and (vector? t2))\n                                    (= (vector-length t1) (vector-length t2))) st)\n                              (else (disjoin st #f (map c:=/=\n                                                        (vector->list t1)\n                                                        (vector->list t2))))))\n          ((equal? t1 t2) #f)\n          (else           st))))\n\n(define (ltunify st uid? t1 t2)\n  (let ((t1 (walk st t1)) (t2 (walk st t2)))\n    (cond ((or (null? t1) (eq? #t t2) (eqv? t1 t2)) st)\n          ((or (var? t1) (var? t2))\n           (match-define (bounds lb.t1 lbi.t1 ub.t1 ubi.t1) (term-bounds st t1))\n           (match-define (bounds lb.t2 lbi.t2 ub.t2 ubi.t2) (term-bounds st t2))\n           (cond ((any<=?                                ub.t1 lb.t2) st)\n                 (((if (and lbi.t1 ubi.t2) any<? any<=?) ub.t2 lb.t1) #f)\n                 (else (let*/and\n                         ((st (cond ((not (var? t1))\n                                     ;; update any vars embedded in t1\n                                     (let*/and ((st (ltunify st #f t1 ub.t2)))\n                                       (if (not ubi.t2)\n                                         (disunify st #f t1 ub.t2)\n                                         st)))\n                                    ((or (any<? ub.t2 ub.t1)\n                                         (and ubi.t1 (not ubi.t2) (equal? ub.t2 ub.t1)))\n                                     (var-assign-bounds\n                                       st t1 (bounds lb.t1 lbi.t1 ub.t2 ubi.t2)))\n                                    (else st)))\n                          (st (cond ((not (var? t2))\n                                     ;; update any vars embedded in t2\n                                     (let*/and ((st (ltunify st #f lb.t1 t2)))\n                                       (if (not lbi.t1)\n                                         (disunify st #f lb.t1 t2)\n                                         st)))\n                                    ((or (any<? lb.t2 lb.t1)\n                                         (and (not lbi.t1) lbi.t2 (equal? lb.t2 lb.t1)))\n                                     (var-assign-bounds\n                                       st t2 (bounds lb.t1 lbi.t1 ub.t2 ubi.t2)))\n                                    (else st))))\n                         (let* ((t1    (walk* st t1))\n                                (t2    (walk* st t2))\n                                (vs.t1 (term-vars t1))\n                                (vs.t2 (term-vars t2))\n                                (vs    (if (or (set-empty? vs.t1) (set-empty? vs.t2))\n                                         '()\n                                         (set->list (set-union vs.t1 vs.t2)))))\n                           (state-cx-add st vs vcx-simple-add uid? (c:<= t1 t2)))))))\n          ((pair? t1)\n           (cond ((pair?   t2) (let*/and ((st (ltunify st #f (car t1) (car t2))))\n                                 (disjoin st #f (list (c:=/= (car t1) (car t2))\n                                                      (c:<=  (cdr t1) (cdr t2))))))\n                 ((vector? t2)                        st)\n                 (else (and (any<=? term.pair.max t2) st))))\n          ((vector? t1)\n           (cond ((vector? t2)\n                  (define len.t1 (vector-length t1))\n                  (define len.t2 (vector-length t2))\n                  (cond ((< len.t1 len.t2) st)\n                        ((> len.t1 len.t2) #f)\n                        (else (ltunify st #f (vector->list t1) (vector->list t2)))))\n                 ((pair? t2)                            #f)\n                 (else (and (any<=? term.vector.max t2) st))))\n          (else (and (any<=? t1 t2) st)))))\n\n(define (disjoin st uid? cs)\n  (define (c-vars c)\n    (match c\n      ((c:==  l r)        (set-union (term-vars l)     (term-vars r)))\n      ((c:=/= l r)        (set-union (term-vars l)     (term-vars r)))\n      ((c:<=  l r)        (set-union (term-vars l)     (term-vars r)))\n      ((c:disj cs)        (set-union (c-vars (car cs)) (c-vars (cadr cs))))\n      ((c:conj cs)        (apply set-union (seteq) (map c-vars cs)))\n      ((c:use vs _ _ _ _) (term-vars vs))\n      ((c:table t)        (table-vars t))\n      ((c:proc  _ args _) (term-vars args))))\n  (let loop ((cs cs) (cs.new '()))\n    (if (null? cs)\n      (match cs.new\n        ('()          #f)\n        ((list c.new) (c-apply st #f c.new))\n        (_            (define cx (c:disj (reverse cs.new)))\n                      (define vs (set->list (c-vars cx)))\n                      ;; TODO: in the future when a c:proc appears in a c:disj,\n                      ;; it is possible for vs to be empty even when the disj\n                      ;; has not been satisfied (because the proc hasn't been\n                      ;; allowed to expand yet).  Figure out how to resolve\n                      ;; this, possibly by adding a queue of cxs containing\n                      ;; procs that need to be expanded.\n                      (if (null? vs)\n                        (error \"TODO: unexpanded c:proc without vars:\" cx)\n                        (state-cx-add st vs vcx-disj-add uid? cx))))\n      (match (c-simplify st #f (car cs))\n        ;; TODO: if applicable, negate (car cs) in st while simplifying (cdr cs).\n        ;; This achieves some disjoint-ness across branches, reducing redundancy\n        ;; in the search space.  (Ideally we would also do the same in reverse,\n        ;; propagating negated constraints from later branches into earlier\n        ;; branches.)\n        (#f            (loop (cdr cs) cs.new))\n        ((c:conj '())  st)\n        ((c:disj cs.d) (loop (cdr cs) (foldl cons cs.new cs.d)))\n        (c             (loop (cdr cs) (cons c cs.new)))))))\n\n(define (conjoin st cs) (foldl/and (lambda (c st) (c-apply st #f c)) st cs))\n\n(define (use st uid? t.vs lhs args proc desc)\n  (define vars.pending (set->list (term-vars (walk* st t.vs))))\n  (if (null? vars.pending)\n    (unify st lhs (apply proc (walk* st args)))\n    (state-cx-add st vars.pending vcx-use-add uid?\n                  `#s(c:use ,vars.pending ,lhs ,args ,proc ,desc))))\n\n(define (proc-apply st uid? proc args parents)\n  ;; TODO: determine whether to expand instead of adding a c:proc\n  ;; TODO: without expanding, it is possible to infinite loop when no variables\n  ;; are present in args, since in that case, state-cx-add will c-apply again.\n  ;; Figure out how to resolve this, possibly by adding a queue of cxs that\n  ;; need to be expanded.\n  (state-cx-add st (term-vars args) vcx-simple-add uid? (c:proc proc args parents)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Table interaction\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (table-update     st uid? tc) (tc 'update st uid?))\n(define (table-vars               tc) (tc 'variables))\n(define (table-statistics st      tc) (tc 'variable-statistics st))\n\n(define (relation/table . pargs)\n  (match-define (list info thunk.t.0) (apply materialization pargs))\n  (define name             (hash-ref info 'relation-name))\n  (define attribute-names  (hash-ref info 'attribute-names))\n  (define primary-key-name (hash-ref info 'key-name))\n  ;; TODO: this is a workaround to make sure key column is tracked for update.\n  (define attrs\n    (if (member primary-key-name attribute-names)\n      attribute-names\n      (cons #t attribute-names)))\n  (define (app st args.0.0)\n    ;; TODO: this introduces a phantom variable for the key column update workaround.\n    ;; Is there a better solution?\n    (define args.0\n      (if (member primary-key-name attribute-names)\n        args.0.0\n        (cons (var #t) args.0.0)))\n    (define (update-state st t)\n      (define c=>b (t 'bounds))\n      (foldl/and (lambda (c a st)\n                   (c-apply st #f (c:bounds (hash-ref c=>b c bounds.any) a)))\n                 st attrs args.0))\n    (let*/and ((t.0 (thunk.t.0))\n               (st  (update-state st t.0)))\n      (define args (walk* st args.0))\n      (define tc\n        (let controller ((t  t.0)\n                         (vs (set->list (term-vars args))))\n          (method-lambda\n            ((constraint) (c:proc r args.0.0 (set)))\n            ((variables)  vs)\n            ((variable-statistics st)\n             (define c=>stats (t 'statistics))\n             (foldl (lambda (c a x=>stats)\n                      (match (hash-ref c=>stats c #f)\n                        (#f  x=>stats)\n                        (s.x (define (merge s.0) (statistics-intersect s.0 s.x))\n                             (foldl (lambda (x x=>stats) (hash-update x=>stats x merge s.x))\n                                    x=>stats (set->list (term-vars (walk* st a)))))))\n                    (hash) attrs args))\n            ((update st uid?)\n             (let*/and ((t (t 'update (map (lambda (c a) (cons c (term-bounds st a)))\n                                           attrs args))))\n               (update-state\n                 (if (t 'done?)\n                   st\n                   ;; TODO: we only want to register with the subset of variables that are indexable\n                   (let* ((vs (set->list (term-vars (walk* st vs))))\n                          (tc (controller t vs)))\n                     (if (null? vs)\n                       (tc 'update st uid?)\n                       (state-cx-add st vs vcx-table-add uid? (c:table tc)))))\n                 t))))))\n      (c-apply st #f (c:table tc))))\n  (define r (make-relation name attribute-names))\n  (relations-set! r 'definition-info info)\n  (relations-set! r 'apply           app)\n  r)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Variable-centric constraint operations\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (var-update st x)\n  (define vcx.x (state-vcx-ref st x))\n  (foldl/and (lambda (uids st) (state-cx-update* st (set->list uids)))\n             (state-vcx-set st x (vcx-cx-clear vcx.x))\n             (list (vcx-table  vcx.x)  ;; typically the strongest constraints\n                   (vcx-simple vcx.x)\n                   (vcx-disj   vcx.x)\n                   (vcx-use    vcx.x))))\n\n(define (var-assign st x t)\n  ;; could replace occurs check with: (set-member? (term-vars (walk* st t)) x)\n  (and (not (let occurs? ((t t))\n              (cond ((pair?   t) (or (occurs? (walk st (car t)))\n                                     (occurs? (walk st (cdr t)))))\n                    ((vector? t) (let vloop ((i (- (vector-length t) 1)))\n                                   (and (<= 0 i) (or (occurs? (walk st (vector-ref t i)))\n                                                     (vloop (- i 1))))))\n                    (else        (eq? x t)))))\n       (let* ((vcx.x              (state-vcx-ref st x))\n              (vcx.t (if (var? t) (state-vcx-ref st t) vcx.empty))\n              (st    (state-log-add st (c:== x t)))\n              (st    (state-vcx-set st x t)))\n         (foldl/and (lambda (uids st) (state-cx-update* st (set->list uids)))\n                    (c-apply st #f (c:bounds (vcx-bounds vcx.x) t))\n                    (list (vcx-simple vcx.x)  ;; the least expensive constraints\n                          ;; TODO: try disjs containing only simple cxs before tables.\n                          ;; It may only make sense to try the disjs that only\n                          ;; reference this var and no others.\n                          (vcx-table  vcx.x)\n                          ;; TODO: try other disjs after tables\n                          (vcx-disj   vcx.x)\n                          (vcx-use    vcx.x))))))\n\n(define (var-disassign st uid? x t)\n  (let* ((t    (walk* st t))\n         (vs.t (term-vars t)))\n    (define (add) (state-cx-add st (set->list (set-add vs.t x))\n                                vcx-simple-add uid? (c:=/= x t)))\n    (cond ((set-member? vs.t x) st)  ;; simple occurs check\n          ((set-empty?  vs.t)\n           (match-define (bounds lb lbi ub ubi) (term-bounds st x))\n           (define (assign-bounds c b) (var-assign-bounds (state-log-add st c) x b))\n           (cond ((and lbi (equal? t lb)) (define lb.inc (any-increment lb))\n                                          (if (eq? lb lb.inc)\n                                            (assign-bounds (c:=/= lb     x) (bounds lb     #f ub ubi))\n                                            (assign-bounds (c:<=  lb.inc x) (bounds lb.inc #t ub ubi))))\n                 ((and ubi (equal? t ub)) (define ub.dec (any-decrement ub))\n                                          (if (eq? ub ub.dec)\n                                            (assign-bounds (c:=/= x ub    ) (bounds lb lbi ub     #f))\n                                            (assign-bounds (c:<=  x ub.dec) (bounds lb lbi ub.dec #t))))\n                 ((or (any<=? t lb) (any<=? ub t)) st)\n                 (else                             (add))))\n          (else (match-define (bounds lb.x lbi.x ub.x ubi.x) (term-bounds st x))\n                (match-define (bounds lb.t lbi.t ub.t ubi.t) (term-bounds st t))\n                (if (or ((if (and lbi.t ubi.x) any<? any<=?) ub.x lb.t)\n                        ((if (and ubi.t lbi.x) any<? any<=?) ub.t lb.x))\n                  st\n                  (add))))))\n\n(define (var-assign-bounds st x b)\n  (match-define (bounds lb lbi ub ubi) b)\n  (cond ((any<?  ub lb) #f)\n        ((equal? ub lb) (and lbi ubi (var-assign st x lb)))\n        (else (define vcx.new (vcx-bounds-set (state-vcx-ref st x) b))\n              (define st.new  (state-schedule-add-var (state-vcx-set st x vcx.new) x))\n              (define domain? (and lbi ubi (finite-interval? lb ub)))\n              (if domain?\n                ;; TODO: instead, produce a table constraint for efficiency?\n                (disjoin st.new x (map (lambda (t) (c:== x t)) domain?))\n                st.new))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Other utilities\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (walk st t)\n  (if (var? t)\n    (let ((v=>cx (state-var=>cx st)))\n      (let loop ((x t))\n        (define val (hash-ref v=>cx x vcx.empty))\n        (cond ((var? val) (loop val))\n              ((vcx? val) x)\n              (else       val))))\n    t))\n(define (walk* st t)\n  (let loop ((term t))\n    (define t (walk st term))\n    (cond ((pair?   t) (cons (loop (car t)) (loop (cdr t))))\n          ((vector? t) (vector-map loop t))\n          (else        t))))\n\n(define (reify st.0)\n  (define (refine-bounds x st)\n    (define (=/=? x t) (not (let*/and ((st (var-assign st x t)))\n                              (pair? (s-force (state->satisfied-states st))))))\n    (define (trim x t) (refine-bounds x (c-apply st #f (c:=/= x t))))\n    (define vcx.x (state-vcx-ref st x))\n    (match-define (bounds lb lbi? ub ubi?) (vcx-bounds vcx.x))\n    (cond ((and lbi? (=/=? x lb)) (trim x lb))\n          ((and ubi? (=/=? x ub)) (trim x ub))\n          (else                   st)))\n  (define term (walk* st.0 (state-qterm st.0)))\n  (define xs   (set->list (term-vars term)))\n  ;; Refinement should never fail after global satisfaction\n  (define st   (foldl refine-bounds st.0 xs))\n  (cond ((null? xs) (pretty term))\n        (else (define b&uids\n                (map (lambda (x)\n                       (define vcx.x (state-vcx-ref st x))\n                       (cons (vcx-bounds vcx.x) (vcx-simple vcx.x)))\n                     xs))\n              (define uids (apply set-union (seteq) (map cdr b&uids)))\n              (define cxs  (walk* st (map c->f (filter-not\n                                                 not (map (lambda (uid) (hash-ref (state-cx st) uid #f))\n                                                          (set->list uids))))))\n              (define bs\n                (append* (map (lambda (x b)\n                                (if (equal? b bounds.any)\n                                  '()\n                                  (list (list (bounds-lb b)\n                                              (if (bounds-lb-inclusive? b) '<= '<)\n                                              x\n                                              (if (bounds-ub-inclusive? b) '<= '<)\n                                              (bounds-ub b)))))\n                              xs (map car b&uids))))\n              (match-define (cons t c) (pretty (cons term (append bs cxs))))\n              `#s(cx (term: ,t) (constraints: . ,(sort c term<?))))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Top-level search strategies\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (enumerate-and-reify st)\n  (s-map (lambda (st)\n           (state-uses-empty?! st)\n           (reify st))\n         (state->satisfied-states st)))\n\n(define (bis:query->stream q)\n  (match-define `#s(query ,t ,f) q)\n  (s-append* (s-map enumerate-and-reify ((bis:goal f) (state:new t)))))\n(define (bis:bind s k)\n  (cond ((null?      s) '())\n        ((procedure? s) (thunk (bis:bind (s) k)))\n        (else           (s-append/interleaving (k (car s)) (thunk (bis:bind (cdr s) k))))))\n(define ((bis:apply/expand ex args) st)\n  ((bis:goal (apply ex (walk* st args))) st))\n(define ((bis:expand ex r args) st)\n  (define frame (cons r args))\n  (thunk (bis:bind (bis:return (state-proc-stack-push st frame))\n                   (lambda (st) (bis:bind ((bis:goal (apply ex args)) st)\n                                          (lambda (st) (bis:return (state-proc-stack-pop st))))))))\n\n(define (bis:goal f)\n  (match f\n    (`#s(conj ,f1 ,f2) (let ((k1 (bis:goal f1)) (k2 (bis:goal f2)))\n                         (lambda (st) (bis:bind (k1 st) k2))))\n    (`#s(disj ,f1 ,f2) (let ((k1 (bis:goal f1)) (k2 (bis:goal f2)))\n                         (lambda (st)\n                           (state-enforce-global-consistency\n                             st\n                             (lambda ()   '())\n                             (lambda (st) (s-append/interleaving (k1 st) (thunk (k2 st))))))))\n    (`#s(constrain ,(? procedure? proc) ,args)\n      (define r (relations-ref proc))\n      (define apply/bis    (hash-ref r 'apply/bis    #f))  ; strategy-specific application\n      (define apply.r      (hash-ref r 'apply        #f))  ; strategy-agnostic application\n      (define expand       (hash-ref r 'expand       #f))  ; pure expansion\n      (cond (apply/bis    (apply/bis args))\n            (apply.r      (lambda (st) (bis:return (apply.r st args))))\n            (expand       (bis:expand expand r args))\n            (else (error \"no interpretation for:\" proc args))))\n    (_ (define c (f->c f))\n       (lambda (st) (bis:return (c-apply st #f c))))))\n(define (bis:return st)         (if st (list st) '()))\n\n(define (dfs:query->stream q)\n  ((dfs:goal (query-formula q) enumerate-and-reify)\n   (state:new (query-term q))))\n(define ((dfs:mplus k1 k2) st)\n  (state-enforce-global-consistency\n    st\n    (lambda ()   '())\n    (lambda (st) (s-append (k1 st) (thunk (k2 st))))))\n(define ((dfs:expand ex r args k) st)\n  (define frame (cons r args))\n  (dfs:return (dfs:goal (apply ex args)\n                        (lambda (st) (dfs:return k (state-proc-stack-pop st))))\n              (state-proc-stack-push st frame)))\n\n(define (dfs:goal f k)\n  (define loop dfs:goal)\n  (match f\n    (`#s(conj ,f1 ,f2) (loop f1 (loop f2 k)))\n    (`#s(disj ,f1 ,f2) (dfs:mplus (loop f1 k) (loop f2 k)))\n    (`#s(constrain ,(? procedure? proc) ,args)\n      (define r (relations-ref proc))\n      (define apply/dfs    (hash-ref r 'apply/dfs    #f))  ; strategy-specific application\n      (define apply.r      (hash-ref r 'apply        #f))  ; strategy-agnostic application\n      (define expand       (hash-ref r 'expand       #f))  ; pure expansion\n      (cond (apply/dfs    (apply/dfs k args))\n            (apply.r      (lambda (st) (dfs:return k (apply.r st args))))\n            (expand       (dfs:expand expand r args k))\n            (else (error \"no interpretation for:\" proc args))))\n    (_ (define c (f->c f))\n       (lambda (st) (dfs:return k (c-apply st #f c))))))\n(define (dfs:return k st)      (if st (k st) '()))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Syntax definitions\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-syntax define-relation/table\n  (syntax-rules ()\n    ((_ (name attr ...) pargs ...)\n     (define name (relation/table 'relation-name   'name\n                                  'attribute-names '(attr ...)\n                                  pargs ...)))\n    ((_ name pargs ...)\n     (define name (relation/table 'relation-name 'name\n                                  pargs ...)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/data.rkt",
    "content": "#lang racket/base\n(provide\n  column:const\n  column:identity\n  column:offset\n  column:vector\n  column:table\n  column:indirect\n  column:interval\n  column:bytes:nat\n  column:port\n  column:port-indirect\n  column:port-string\n  interval->dict:ordered\n  dict.empty\n  dict:integer\n  dict:ordered\n  dict:ordered:vector\n  dict:ordered:union\n  dict:ordered:subtraction\n  dict:hash\n  enumerator-project\n  enumerator-filter\n  enumerator-sort\n  enumerator-dedup\n  enumerator->dict:ordered:vector-flat\n  enumerator->dict:ordered:vector-group\n  group-fold->hash\n  group-fold\n  group-fold-ordered\n  merge-key-union\n  merge-union\n  merge-antijoin\n  merge-join\n  dict-join-unordered\n  dict-join-ordered\n  hash-join\n  dict-antijoin-unordered\n  dict-antijoin-ordered\n  hash-antijoin\n  dict-key-union-unordered\n  dict-key-union-ordered\n  dict-union-unordered\n  dict-union-ordered\n  dict-subtract-unordered\n  dict-subtract-ordered\n\n  database\n  database-path\n  database-metadata\n  database-relation\n  database-relation-names\n  database-relation-has?\n  database-relation-add!\n  database-relation-remove!\n  database-compact!\n  database-import!\n  database-export!\n\n  relation-name\n  relation-metadata\n  relation-copy!\n  relation-rename!\n  relation-delete!\n  relation-rename-attributes!\n  relation-index-add!\n  relation-index-remove!\n  relation-index-dict\n  relation-domain-dicts\n  relation-compact!\n  )\n(require \"codec.rkt\" \"enumerator.rkt\" \"heap.rkt\" \"logging.rkt\" \"misc.rkt\" \"order.rkt\" \"stream.rkt\"\n         racket/file racket/fixnum racket/list racket/match racket/pretty racket/set racket/struct\n         racket/vector racket/unsafe/ops)\n\n;; TODO:\n;bscm.rkt\n;bscm:read bscm:write ?\n;or favor a bytes-ref/bytes-set! style interface with bscm types?\n\n\n\n\n\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Metadata format ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n;;\n;;desc.database\n;;(hash\n;;  'relations      (hash NAME desc.relation ...)\n;;  'current        (hash PATH desc.arbitrary ...)\n;;  'pending        (list JOB ...)\n;;  )\n;;\n;;;; supports copying by sharing table and index descriptions\n;;desc.relation\n;;(hash\n;;  'attributes (list attribute-names ...)\n;;  'type       (list high-level-types ...)\n;;  'tables     (list path.table ...)\n;;  'indexes    (hash ordering (list path.table-index ...) ...)\n;;  )\n;;\n;;desc.domain\n;;(hash\n;;  'text path-to-domain-text\n;;  ...\n;;  )\n;;\n;;desc.domain-text\n;;(hash\n;;  'count         num-elements\n;;  'size.position num-bytes\n;;  'index         optional-path-to-index\n;;  )\n;;\n;;TODO:\n;;desc.domain-text-index\n;;(hash\n;;  'domain path.domain\n;;  )\n;;\n;;desc.column\n;;(hash\n;;  'type   'int|'text\n;;  'count  num-elements\n;;  'size   nat-bytes\n;;  'min    _\n;;  'max    _\n;;  'offset _\n;;  )\n;;\n;;desc.table\n;;(hash\n;;  'direction 'insert|'delete\n;;  'domain    desc.domain\n;;  'count     tuple-count\n;;  'columns   (list desc.column ...)\n;;  )\n;;\n;;desc.table-index\n;;(hash\n;;  'table            path.table\n;;  'ordering         (list 3 1 2 etc.)\n;;  'columns.value    (list desc.column ...)\n;;  'columns.indirect (list desc.column ...)  ; length is (- (length columns) 1)\n;;  )\n\n(define fnsuffix.key        \".key\")\n(define fnsuffix.indirect   \".indirect\")\n(define fnsuffix.next       \".next\")\n(define fnsuffix.initial    \".initial\")\n(define fn.metadata         \"metadata.scm\")\n(define fn.value            \"value\")\n(define fn.pos              \"position\")\n(define fn.tuple            \"tuple\")\n(define fn.col              \"column\")\n(define fn.metadata.initial (string-append fn.metadata fnsuffix.initial))\n\n(define metadata-format-version \"0\")\n\n(define (write-metadata path.metadata metadata)\n  (let/files () ((out.metadata path.metadata))\n    (pretty-write\n      (hash-set metadata 'format-version metadata-format-version)\n      out.metadata)))\n\n(define desc.database.empty\n  (hash 'relations (hash)\n        'data      (hash)))\n\n;; TODO: store redundant metadata\n;; - for optional consistency checking\n;; - also for independent file/folder exploration (e.g., analyzing trash)\n;;   - file explorer:\n;;     - display both logical and physical values\n;;     - indicate min/max\n;;     - jump to row, jump to column\n;;       - absolute or relative\n;;     - search for logical/physical value\n;;       - local (fast), or various forms of global (slow)\n;;       - optionally use full-text search indexes\n;; - \"previous\" directory supports time travel as long as most recent groups are not deleted\n\n(define (valid-attributes?! attrs)\n  (unless (list? attrs)\n    (error \"attributes must be a list\" attrs))\n  (for-each (lambda (a) (unless (symbol? a) (error \"attribute must be a symbol\" a 'in attrs)))\n            attrs)\n  (unless (= (length attrs) (set-count (list->set attrs)))\n    (error \"attributes must be unique\" attrs)))\n\n(struct wrapped-database (controller)\n        #:methods gen:custom-write\n        ((define write-proc\n           (make-constructor-style-printer\n             (lambda (db) 'database)\n             (lambda (db) (list (database-path db)\n                                (hash-ref (database-metadata db) 'relations)))))))\n\n(struct wrapped-relation (controller)\n        #:methods gen:custom-write\n        ((define write-proc\n           (make-constructor-style-printer\n             (lambda (r) 'relation)\n             (lambda (r) (list (relation-name     r)\n                               (relation-metadata r)))))))\n\n;; Racket doesn't seem to have a weak-value hash table, so we\n;; suboptimally use a weak-key hash table as a self-cleaning list.\n(define all-databases (make-weak-hash))\n(define (database path.db)\n  (let ((path.db (normalize-path path.db)))\n    (or (ormap (lambda (db) (and (equal? path.db (database-path db)) db))\n               (hash-keys all-databases))\n        (let ((db (make-database path.db)))\n          (hash-set! all-databases db (void))\n          db))))\n\n(define (make-database path.db)\n  (define (db-path   name) (path->string (build-path path.db      name)))\n  (define (data-path name) (path->string (build-path path.current name)))\n\n  (define (relations-update! f) (set! metadata (hash-update metadata 'relations f)))\n  (define (data-update!      f) (set! metadata (hash-update metadata 'data      f)))\n\n  (define (reachable (relation-names #f))\n    (define data               (hash-ref metadata 'data))\n    (define name=>relation     (hash-ref metadata 'relations))\n    (define descs.relation     (if relation-names\n                                 (map (lambda (name) (hash-ref name=>relation name)) relation-names)\n                                 (hash-values name=>relation)))\n    (define lpaths.table       (list->set (append* (map (lambda (desc.r) (hash-ref desc.r 'tables))\n                                                        descs.relation))))\n    (define lpaths.table-index (list->set (append* (map (lambda (desc.r) (append* (hash-values (hash-ref desc.r 'indexes))))\n                                                        descs.relation))))\n    (define descs.table        (set-map lpaths.table (lambda (lp) (hash-ref data lp))))\n    (define lpaths.domain-text (list->set (map (lambda (desc.t) (hash-ref (hash-ref desc.t 'domain) 'text))\n                                               descs.table)))\n    (set-union lpaths.table lpaths.table-index lpaths.domain-text))\n\n  (define (clean!)\n    (define pending-previous   (path->string (build-path path.db          \"pending-previous\")))\n    (define metadata.previous  (path->string (build-path pending-previous fn.metadata)))\n    (define lpaths.old         (if (and (directory-exists? pending-previous)\n                                        (file-exists?      metadata.previous))\n                                 (list->set (hash-keys (hash-ref (call-with-input-file metadata.previous read)\n                                                                 'data)))\n                                 (set)))\n    (define lpaths.known       (set-union lpaths.old (list->set (hash-keys (hash-ref metadata 'data)))))\n    (define lpaths.reachable   (reachable))\n    (define lpaths.all         (list->set (map path->string (directory-list path.current))))\n    (define lpaths.trash       (set->list (set-subtract lpaths.all   lpaths.known)))\n    (define lpaths.unreachable (set->list (set-subtract lpaths.known lpaths.reachable)))\n    (unless (null? lpaths.unreachable)\n      (apply pretty-log '(archiving unreachable data) lpaths.unreachable)\n      (make-directory* pending-previous)\n      (for-each (lambda (lp)\n                  (define apath (data-path lp))\n                  (when (directory-exists? apath)\n                    (rename-file-or-directory apath (build-path pending-previous lp))))\n                lpaths.unreachable))\n    (when (directory-exists? pending-previous)\n      (define upath (unique-previous-path))\n      (pretty-log `(moving ,pending-previous to ,upath))\n      (rename-file-or-directory pending-previous upath))\n    (define pending-trash (path->string (build-path path.db \"pending-trash\")))\n    (when (file-exists? path.metadata.next)\n      (pretty-log '(moving interrupted checkpoint to trash) path.metadata.next)\n      (make-directory* pending-trash)\n      (rename-file-or-directory path.metadata.next\n                                (build-path pending-trash (string-append fn.metadata fnsuffix.next))))\n    (unless (null? lpaths.trash)\n      (apply pretty-log '(moving unknown data to trash) lpaths.trash)\n      (make-directory* pending-trash)\n      (for-each (lambda (lp) (rename-file-or-directory (data-path lp) (build-path pending-trash lp)))\n                lpaths.trash))\n    (when (directory-exists? pending-trash)\n      (define upath (unique-trash-path))\n      (pretty-log `(moving ,pending-trash to ,upath))\n      (rename-file-or-directory pending-trash upath)))\n\n  (define (checkpoint!)\n    (define metadata.previous (call-with-input-file path.metadata read))\n    (when   (equal? metadata metadata.previous) (pretty-log '(no checkpoint necessary)))\n    (unless (equal? metadata metadata.previous)\n      (define lpaths.known       (list->set (hash-keys (hash-ref metadata 'data))))\n      (define lpaths.reachable   (reachable))\n      (define lpaths.unreachable (set->list (set-subtract lpaths.known lpaths.reachable)))\n      (unless (null? lpaths.unreachable)\n        (data-update! (lambda (data) (foldl (lambda (lp data) (hash-remove data lp))\n                                            data lpaths.unreachable))))\n      (call-with-output-file path.metadata.next (lambda (out) (pretty-write metadata out)))\n      (define pending-previous (build-path path.db \"pending-previous\"))\n      (make-directory* pending-previous)\n      (pretty-log `(archiving ,path.metadata))\n      (rename-file-or-directory path.metadata (build-path pending-previous fn.metadata))\n      (pretty-log '(checkpointing metadata) metadata)\n      (rename-file-or-directory path.metadata.next path.metadata)\n      (clean!)))\n\n  ;; TODO: later, consolidate subsequent inserts/deletes\n  (define (compact!)\n    (pretty-log `(compacting ,path.db))\n    (define data           (hash-ref metadata 'data))\n    (define descs.relation (hash-values (hash-ref metadata 'relations)))\n    (match-define (list paths.table descs.table paths.domain-text/duplicates)\n      (let* ((paths.table       (append* (map (lambda (desc.relation) (hash-ref desc.relation 'tables))\n                                              descs.relation)))\n             (descs.table       (map (lambda (path.table) (hash-ref data path.table)) paths.table))\n             (paths.domain-text (map (lambda (d) (hash-ref (hash-ref d 'domain) 'text))\n                                     descs.table))\n             (pdps              (map (lambda (path.table desc.table path.domain-text)\n                                       (and path.domain-text (list path.table desc.table path.domain-text)))\n                                     paths.table descs.table paths.domain-text)))\n        (apply map list (filter-not not pdps))))\n    (define paths.domain-text (set->list (list->set paths.domain-text/duplicates)))\n    (unless (< 1 (length paths.domain-text)) (pretty-log '(no compaction necessary)))\n    (when (< 1 (length paths.domain-text))\n      (define (type=>id=>id path.domain-text)\n        (hash 'text (hash-ref path.domain-text=>id=>id path.domain-text)))\n      (define path.domain-text.new     (unique-path \"domain-text\"))\n      (define descs.domain-text        (map (lambda (p) (hash-ref data p)) paths.domain-text))\n      (define compaction               (compact-text-domains\n                                         (data-path path.domain-text.new)\n                                         (map data-path paths.domain-text)\n                                         descs.domain-text))\n      (define desc.domain-text.new     (hash-ref compaction 'domain-text))\n      (define path.domain-text=>id=>id (make-immutable-hash\n                                         (map cons paths.domain-text (hash-ref compaction 'remappings))))\n      (define paths.table.new          (map (lambda (path.table desc.table path.domain-text)\n                                              (if (remap-table? desc.table (type=>id=>id path.domain-text))\n                                                (unique-path \"table\")\n                                                path.table))\n                                            paths.table descs.table paths.domain-text/duplicates))\n      (define path.t=>path.t.new       (make-immutable-hash (map cons paths.table paths.table.new)))\n      (define descs.table.new\n        (map (lambda (path.table path.table.new desc.table path.domain-text)\n               (define desc.domain.new (hash 'text path.domain-text.new))\n               (if (equal? path.table path.table.new)\n                 (begin (pretty-log '(no need to remap table) path.table)\n                        (hash-set desc.table 'domain desc.domain.new))\n                 (remap-table (data-path path.table)\n                              (data-path path.table.new)\n                              desc.table\n                              desc.domain.new\n                              (type=>id=>id path.domain-text))))\n             paths.table paths.table.new descs.table paths.domain-text/duplicates))\n      (define paths.table-index\n        (append* (map (lambda (desc.relation)\n                        (filter (lambda (path.table-index)\n                                  (define desc.table-index (hash-ref data path.table-index))\n                                  (member (hash-ref desc.table-index 'table) paths.table))\n                                (append* (hash-values (hash-ref desc.relation 'indexes)))))\n                      descs.relation)))\n      (define descs.table-index     (map (lambda (path.ti) (hash-ref data path.ti)) paths.table-index))\n      (define paths.table-index.new (map (lambda (path.ti desc.ti)\n                                           (define path.table  (hash-ref desc.ti 'table))\n                                           (define desc.domain (hash-ref (hash-ref data path.table) 'domain))\n                                           (define path.dt     (hash-ref desc.domain 'text))\n                                           (if (remap-table-index? desc.ti (type=>id=>id path.dt))\n                                             (unique-path \"table-index\")\n                                             path.ti))\n                                         paths.table-index descs.table-index))\n      (define path.ti=>path.ti.new  (make-immutable-hash (map cons paths.table-index paths.table-index.new)))\n      (define (replace-p.ti p.ti) (hash-ref path.ti=>path.ti.new p.ti p.ti))\n      (define descs.table-index.new\n        (map (lambda (path.table-index path.table-index.new desc.table-index)\n               (define path.table       (hash-ref desc.table-index   'table))\n               (define path.table.new   (hash-ref path.t=>path.t.new path.table))\n               (define path.domain-text (hash-ref (hash-ref (hash-ref data path.table) 'domain) 'text))\n               (if (equal? path.table-index path.table-index.new)\n                 (begin (pretty-log '(no need to remap table index) path.table-index)\n                        desc.table-index)\n                 (remap-table-index (data-path path.table-index)\n                                    (data-path path.table-index.new)\n                                    desc.table-index\n                                    path.table.new\n                                    (type=>id=>id path.domain-text))))\n             paths.table-index paths.table-index.new descs.table-index))\n      (pretty-log '(installing remapped data))\n      (data-update!\n        (lambda (data)\n          (apply hash-set* data\n                 path.domain-text.new desc.domain-text.new\n                 (append (append* (map list paths.table.new       descs.table.new))\n                         (append* (map list paths.table-index.new descs.table-index.new))))))\n      (pretty-log '(updating relations with remapped data))\n      (relations-update!\n        (lambda (rs)\n          (make-immutable-hash\n            (hash-map rs (lambda (name.r desc.r)\n                           (let* ((desc.r (hash-update desc.r 'tables\n                                                       (lambda (paths.table)\n                                                         (map (lambda (p) (hash-ref path.t=>path.t.new   p p))\n                                                              paths.table))))\n                                  (desc.r (hash-update desc.r 'indexes\n                                                       (lambda (ordering=>paths.table-index)\n                                                         (make-immutable-hash\n                                                           (hash-map ordering=>paths.table-index\n                                                                     (lambda (o ps.ti)\n                                                                       (cons o (map replace-p.ti ps.ti)))))))))\n                             (cons name.r desc.r)))))))\n      (checkpoint!)))\n\n  (define (unique-path str.type)\n    (define data    (hash-ref metadata 'data))\n    (define seconds (number->string (current-seconds)))\n    (let loop ((id.local 0))\n      (define candidate (string-append str.type \"-\" seconds \"-\" (number->string id.local)))\n      (cond ((hash-has-key? data candidate) (loop (+ id.local 1)))\n            (else                           (make-directory* (data-path candidate))\n                                            (data-update! (lambda (data) (hash-set data candidate #f)))\n                                            candidate))))\n  (define (unique-directory path.root str.type)\n    (define seconds (number->string (current-seconds)))\n    (let loop ((id.local 0))\n      (define candidate (string-append str.type \"-\" seconds \"-\" (number->string id.local)))\n      (define apath (path->string (build-path path.root candidate)))\n      (cond ((directory-exists? apath) (loop (+ id.local 1)))\n            (else                      apath))))\n  (define (unique-previous-path) (unique-directory path.previous \"previous\"))\n  (define (unique-trash-path)    (unique-directory path.trash    \"trash\"))\n\n  (define (new-relation?! name) (when (hash-has-key? name=>relation name)\n                                  (error \"relation already exists\" name path.db)))\n\n  (define (make-relation name)\n    (define (description)           (hash-ref (hash-ref metadata 'relations) name))\n    (define (description-update! f) (relations-update! (lambda (rs) (hash-update rs name f))))\n    (define self\n      (method-lambda\n        ((name)                     name)\n        ((metadata)                 (description))\n        ((copy!   name.new)         (pretty-log `(copying relation ,name to ,name.new))\n                                    (new-relation?! name.new)\n                                    (set! name=>relation\n                                      (hash-set name=>relation name.new (hash-ref name=>relation name)))\n                                    (relations-update! (lambda (rs) (hash-set rs name.new (hash-ref rs name))))\n                                    (checkpoint!))\n        ((rename! name.new)         (pretty-log `(renaming relation ,name to ,name.new))\n                                    (new-relation?! name.new)\n                                    (set! name=>relation (let ((r    (hash-ref    name=>relation name))\n                                                               (n=>r (hash-remove name=>relation name)))\n                                                           (hash-set n=>r name.new r)))\n                                    (relations-update! (lambda (rs) (let* ((r  (hash-ref    rs name))\n                                                                           (rs (hash-remove rs name)))\n                                                                      (hash-set rs name.new r))))\n                                    (set! name name.new)\n                                    (checkpoint!))\n        ((delete!)                  (pretty-log `(deleting relation ,name))\n                                    (set! self           #f)\n                                    (set! name=>relation (hash-remove name=>relation name))\n                                    (relations-update! (lambda (rs) (hash-remove rs name)))\n                                    (checkpoint!))\n        ((rename-attributes! attrs) (pretty-log `(renaming ,name attributes)\n                                                `(old: ,(hash-ref (description) 'attributes))\n                                                `(new: ,attrs))\n                                    (valid-attributes?! attrs)\n                                    (let ((attrs.old (hash-ref (description) 'attributes)))\n                                      (unless (= (length attrs) (length attrs.old))\n                                        (error \"cannot change the number of attributes\"\n                                               name 'new attrs 'old attrs.old)))\n                                    (relations-update! (lambda (rs) (let* ((r (hash-ref rs name))\n                                                                           (r (hash-set r 'attributes attrs)))\n                                                                      (hash-set rs name r))))\n                                    (checkpoint!))\n        ((index-add!    signatures) (apply pretty-log `(adding indexes for ,name) signatures)\n                                    (let* ((desc         (description))\n                                           (data         (hash-ref metadata 'data))\n                                           (attrs        (hash-ref desc     'attributes))\n                                           (lpaths.table (hash-ref desc     'tables))\n                                           (descs.table  (map (lambda (lp) (hash-ref data lp)) lpaths.table))\n                                           (orderings    (map (attrs->signature->ordering attrs) signatures))\n                                           (orderings    (normalize-table-index-orderings (length attrs) orderings))\n                                           (ords.current (list->set (hash-keys (hash-ref desc 'indexes))))\n                                           (ords.skipped (set->list (set-intersect (list->set orderings) ords.current)))\n                                           (ords.new     (set->list (set-subtract  (list->set orderings) ords.current))))\n                                      (define (ords->sigs ords)\n                                        (map (lambda (ordering) (map (lambda (i) (list-ref attrs i))\n                                                                     (filter-not (lambda (i) (eq? #t i))\n                                                                                 ordering)))\n                                             ords))\n                                      (apply pretty-log '(normalizing table index signatures) (ords->sigs orderings))\n                                      (unless (null? ords.skipped)\n                                        (apply pretty-log '(skipping existing table indexes)\n                                               (ords->sigs ords.skipped)))\n                                      (when   (null? ords.new) (pretty-log '(no table indexes to build)))\n                                      (unless (null? ords.new)\n                                        (define lpaths*.ti\n                                          (apply map list\n                                                 (map (lambda (lpath.table desc.table)\n                                                        (define lpaths.ti (map (lambda (_) (unique-path \"table-index\")) ords.new))\n                                                        (define descs.ti  (build-table-indexes\n                                                                            path.current lpaths.ti lpath.table desc.table ords.new))\n                                                        (data-update!\n                                                          (lambda (data) (apply hash-set* data\n                                                                                (append* (map list lpaths.ti descs.ti)))))\n                                                        lpaths.ti)\n                                                      lpaths.table descs.table)))\n                                        (description-update!\n                                          (lambda (desc) (hash-update desc 'indexes\n                                                                      (lambda (ordering=>lps)\n                                                                        (apply hash-set* ordering=>lps\n                                                                               (append* (map list ords.new lpaths*.ti)))))))\n                                        (checkpoint!))))\n        ((index-remove! signatures) (apply pretty-log `(removing indexes for ,name) signatures)\n                                    (let* ((desc         (description))\n                                           (data         (hash-ref metadata 'data))\n                                           (attrs        (hash-ref desc     'attributes))\n                                           (orderings    (map (attrs->signature->ordering attrs) signatures))\n                                           (orderings    (normalize-table-index-orderings (length attrs) orderings))\n                                           (ords.current (list->set (hash-keys (hash-ref desc 'indexes))))\n                                           (ords.missing (set->list (set-subtract  (list->set orderings) ords.current)))\n                                           (ords.found   (set->list (set-intersect (list->set orderings) ords.current))))\n                                      (define (ords->sigs ords)\n                                        (map (lambda (ordering) (map (lambda (i) (list-ref attrs i))\n                                                                     (filter-not (lambda (i) (eq? #t i))\n                                                                                 ordering)))\n                                             ords))\n                                      (apply pretty-log '(normalizing table index signatures) (ords->sigs orderings))\n                                      (unless (null? ords.missing)\n                                        (apply pretty-log '(skipping table indexes that do not exist)\n                                               (ords->sigs ords.missing)))\n                                      (when   (null? ords.found) (pretty-log '(no table indexes to remove)))\n                                      (unless (null? ords.found)\n                                        (description-update!\n                                          (lambda (desc) (hash-update desc 'indexes\n                                                                      (lambda (ordering=>lps)\n                                                                        (foldl (lambda (o o=>lps) (hash-remove o=>lps o))\n                                                                               ordering=>lps ords.found)))))\n                                        (checkpoint!))))\n        ((index-dict sig preload?)  (let* ((desc      (description))\n                                           (data      (hash-ref metadata 'data))\n                                           (attrs     (hash-ref desc     'attributes))\n                                           (ordering  ((attrs->signature->ordering attrs) sig))\n                                           (ordering  (car (normalize-table-index-orderings (length attrs) (list ordering))))\n                                           (lpaths.ti (hash-ref (hash-ref desc 'indexes) ordering\n                                                                (lambda () (error \"no relation index matches signature\"\n                                                                                  name sig)))))\n                                      (match lpaths.ti\n                                        ('() dict.empty)\n                                        ((list lpath.ti)\n                                         (define (descs->cols fnsuffix descs.col)\n                                           (map (lambda (j desc.col)\n                                                  (and desc.col\n                                                       (let ((size   (hash-ref desc.col 'size))\n                                                             (offset (hash-ref desc.col 'offset 0))) ; TODO: later, require this\n                                                         (column:offset\n                                                           (if (< 0 size)\n                                                             (let* ((fname (string-append \"column.\" (number->string j) fnsuffix))\n                                                                    (apath (build-path (data-path lpath.ti) fname)))\n                                                               (if preload?\n                                                                   (column:bytes:nat (file->bytes apath) (hash-ref desc.col 'size))\n                                                                   (column:port (open-input-file apath) `#(nat ,size))))\n                                                             column:identity)\n                                                           offset))))\n                                                (range (length descs.col)) descs.col))\n                                         (define desc.ti       (hash-ref data lpath.ti))\n                                         (define descs.col.key (hash-ref desc.ti 'columns.key))\n                                         (define cols.key      (descs->cols \".key\"      descs.col.key))\n                                         (define cols.indirect (descs->cols \".indirect\" (hash-ref desc.ti 'columns.indirect)))\n                                         (let loop ((start         0)\n                                                    (end           (hash-ref (car descs.col.key) 'count))\n                                                    (cols.key      cols.key)\n                                                    (cols.indirect cols.indirect))\n                                           (define (next start end) (loop start end (cdr cols.key) (cdr cols.indirect)))\n                                           (define i->key   (car cols.key))\n                                           (define i->value (if (null? cols.indirect)\n                                                              (column:const '())\n                                                              (let ((ci (car cols.indirect)))\n                                                                (if ci\n                                                                  (column:interval ci next)\n                                                                  (lambda (i) (next i (+ i 1)))))))\n                                           (dict:ordered i->key i->value start end)))\n                                        ;; TODO: multiple table-indexes, possibly with deletions\n                                        (_ (error \"multi-table indexes are not yet supported\" name lpaths.ti)))))\n        ;; TODO: share domain dicts when the domains are shared across relations\n        ((domain-dicts preload?)    (let* ((desc         (description))\n                                           (data         (hash-ref metadata 'data))\n                                           (lpaths.table (hash-ref desc     'tables))\n                                           (descs.table  (map (lambda (lp) (hash-ref data lp)) lpaths.table))\n                                           (descs.domain (map (lambda (desc) (hash-ref desc 'domain)) descs.table)))\n                                      (define (domain->dict-pair.text desc.domain)\n                                        (define lpath.dt     (hash-ref desc.domain 'text))\n                                        (define desc.dt      (hash-ref data        lpath.dt))\n                                        (define size.pos     (hash-ref desc.dt     'size.position))\n                                        (define count        (hash-ref desc.dt     'count))\n                                        (define apath.dt     (data-path lpath.dt))\n                                        ;; TODO: should col.pos be shared like this, or duplicated across dicts for safety?\n                                        (define col.pos      (if preload?\n                                                                 (column:bytes:nat (file->bytes (build-path apath.dt \"position\")) size.pos)\n                                                                 (column:port (open-input-file (build-path apath.dt \"position\")) `#(nat ,size.pos))))\n                                        ;; TODO: properly support all text types: bytes, string, symbol\n                                        (define id->str      (column:port-string col.pos (open-input-file (build-path apath.dt \"value\"))))\n                                        (define dict.str=>id (dict:ordered id->str (lambda (id) id) 0 count))\n                                        (define dict.id=>str (dict:integer 0       id->str          0 count))\n                                        (cons dict.str=>id dict.id=>str))\n                                      (define dict-pairs.text (map domain->dict-pair.text descs.domain))\n                                      (cons (hash 'text (map car dict-pairs.text))\n                                            (hash 'text (map cdr dict-pairs.text)))))\n        ;; TODO: only spend effort compacting this relation\n        ((compact!)                 (compact!))))\n    (wrapped-relation (lambda args\n                        (unless self (error \"cannot use deleted relation\" name))\n                        (apply self args))))\n\n  (define path.current       (db-path \"current\"))\n  (define path.previous      (db-path \"previous\"))\n  (define path.trash         (db-path \"trash\"))\n  (define path.metadata      (db-path fn.metadata))\n  (define path.metadata.next (string-append path.metadata fnsuffix.next))\n  (for-each make-directory* (list path.db path.current path.previous path.trash))\n  (define metadata\n    (cond ((file-exists? path.metadata)      (call-with-input-file path.metadata read))\n          ((file-exists? path.metadata.next) (pretty-log '(checkpointing metadata after interrupted swap))\n                                             (rename-file-or-directory path.metadata.next path.metadata)\n                                             (call-with-input-file path.metadata read))\n          (else                              (pretty-log '(creating new database) path.db)\n                                             (call-with-output-file\n                                               path.metadata\n                                               (lambda (out) (pretty-write desc.database.empty out)))\n                                             desc.database.empty)))\n  (pretty-log '(loaded metadata for) path.db metadata)\n  ;; TODO: migrate metadata if format-version is old\n  (clean!)\n\n  (define name=>relation (make-immutable-hash\n                           (hash-map (hash-ref metadata 'relations)\n                                     (lambda (name desc.relation)\n                                       (pretty-log `(loading relation ,name) desc.relation)\n                                       (cons name (make-relation name))))))\n\n  (wrapped-database\n    (method-lambda\n      ((path)                              path.db)\n      ((metadata)                          metadata)\n      ((reachable names)                   (reachable names))\n      ((relation name)                     (hash-ref name=>relation name\n                                                     (lambda () (error \"unknown relation\" name path.db))))\n      ((relation-add! name attrs type src) (apply pretty-log `(creating relation ,name)\n                                                  (map (lambda (a t) `(,a : ,t)) attrs type))\n                                           (new-relation?! name)\n                                           (valid-attributes?! attrs)\n                                           (for-each (lambda (t) (unless (member t '(nat int bytes string symbol))\n                                                                   (error \"invalid attribute type\" t 'in type)))\n                                                     type)\n                                           (unless (= (length attrs) (length type))\n                                             (error \"number of attributes must match the relation type arity\"\n                                                    name attrs type))\n                                           (define path.domain-text (unique-path \"domain-text\"))\n                                           (define path.table       (unique-path \"table\"))\n                                           (define desc.ingest      (ingest-relation-source\n                                                                      path.current path.domain-text path.table type src))\n                                           (define desc.domain-text (hash-ref (hash-ref desc.ingest 'domain) 'text))\n                                           (define desc.table       (hash-ref desc.ingest 'table))\n                                           (define desc.relation    (hash 'attributes attrs\n                                                                          'type       type\n                                                                          'tables     (list path.table)\n                                                                          'indexes    (hash)))\n                                           (data-update!      (lambda (data) (hash-set* data\n                                                                                        path.domain-text desc.domain-text\n                                                                                        path.table       desc.table)))\n                                           (relations-update! (lambda (rs)   (hash-set  rs name desc.relation)))\n                                           (checkpoint!)\n                                           (set! name=>relation (hash-set name=>relation name (make-relation name))))\n      ((import! db.in names.in)            (pretty-log `(importing relations . ,names.in) 'from: (db.in 'path) 'into: path.db)\n                                           (define path.current.in   (path->string (build-path (db.in 'path) \"current\")))\n                                           (define name=>relation.in (hash-ref (db.in 'metadata) 'relations))\n                                           (define lpath=>data.in    (hash-ref (db.in 'metadata) 'data))\n                                           (define descs.relation.in (map (lambda (name)\n                                                                            (unless (hash-has-key? name=>relation.in name)\n                                                                              (error \"cannot import non-existent relation\"\n                                                                                     name (db.in 'path)))\n                                                                            (new-relation?! name)\n                                                                            (hash-ref name=>relation.in name))\n                                                                          names.in))\n                                           (define lpaths.reachable (set->list (db.in 'reachable names.in)))\n                                           (for-each (lambda (lpath)\n                                                       (define apath.in  (path->string (build-path path.current.in lpath)))\n                                                       (define apath.out (data-path lpath))\n                                                       ;; TODO: validate that skipped data is identical\n                                                       ;; TODO: support renaming paths when non-identical data collision occurs\n                                                       (cond ((directory-exists? apath.out) (pretty-log '(skipping import copy) apath.in apath.out))\n                                                             (else                          (pretty-log '(copying for import)   apath.in apath.out)\n                                                                                            (copy-directory/files apath.in apath.out\n                                                                                                                  #:keep-modify-seconds? #t))))\n                                                     lpaths.reachable)\n                                           (data-update!      (lambda (data)\n                                                                (foldl (lambda (lpath data)\n                                                                         (hash-set data lpath (hash-ref lpath=>data.in lpath)))\n                                                                       data lpaths.reachable)))\n                                           (relations-update! (lambda (rs)\n                                                                (foldl (lambda (name desc rs) (hash-set rs name desc))\n                                                                       rs names.in descs.relation.in)))\n                                           (checkpoint!))\n      ((compact!)                          (compact!)))))\n\n(define (database-path             db)              ((wrapped-database-controller db) 'path))\n(define (database-metadata         db)              ((wrapped-database-controller db) 'metadata))\n(define (database-relation         db name)         ((wrapped-database-controller db) 'relation         name))\n(define (database-relation-names   db)              (hash-keys     (hash-ref (database-metadata db) 'relations)))\n(define (database-relation-has?    db name)         (hash-has-key? (hash-ref (database-metadata db) 'relations) name))\n(define (database-relation-add!    db name . pargs) ((wrapped-database-controller db) 'relation-add!    name\n                                                                                      (plist-ref pargs 'attributes)\n                                                                                      (plist-ref pargs 'type)\n                                                                                      (plist-ref pargs 'source)))\n(define (database-relation-remove! db name)         (relation-delete! (database-relation db name)))\n(define (database-compact!         db)              ((wrapped-database-controller db) 'compact!))\n\n(define (database-import! db db.in    . relation-names.in)\n  ((wrapped-database-controller db) 'import! (wrapped-database-controller db.in) relation-names.in))\n(define (database-export! db path.out . relation-names.out)\n  (let ((path.out (normalize-path path.out)))\n    (when (or (file-exists? path.out) (directory-exists? path.out))\n      (error \"export destination already exists\" path.out))\n    (apply database-import! (database path.out) db relation-names.out)))\n\n(define (relation-name                r)                    ((wrapped-relation-controller r) 'name))\n(define (relation-metadata            r)                    ((wrapped-relation-controller r) 'metadata))\n(define (relation-copy!               r name.new)           ((wrapped-relation-controller r) 'copy!              name.new))\n(define (relation-rename!             r name.new)           ((wrapped-relation-controller r) 'rename!            name.new))\n(define (relation-delete!             r)                    ((wrapped-relation-controller r) 'delete!))\n(define (relation-rename-attributes!  r attrs.new)          ((wrapped-relation-controller r) 'rename-attributes! attrs.new))\n(define (relation-index-add!          r . signatures)       ((wrapped-relation-controller r) 'index-add!         signatures))\n(define (relation-index-remove!       r . signatures)       ((wrapped-relation-controller r) 'index-remove!      signatures))\n(define (relation-index-dict          r signature preload?) ((wrapped-relation-controller r) 'index-dict         signature preload?))\n(define (relation-domain-dicts        r preload?)           ((wrapped-relation-controller r) 'domain-dicts       preload?))\n(define (relation-compact!            r)                    ((wrapped-relation-controller r) 'compact!))\n\n;; TODO: in-place sorting of multiple columns\n(define (int-tuple<? a b)\n  (let loop ((a a) (b b))\n    (and (not (null? a))\n         (or (unsafe-fx< (unsafe-car a) (unsafe-car b))\n             (and (unsafe-fx= (unsafe-car a) (unsafe-car b))\n                  (loop (unsafe-cdr a) (unsafe-cdr b)))))))\n\n(define (sorted-tuples count.tuples columns)\n  (pretty-log `(building ,count.tuples tuples from ,(length columns) columns))\n  (define tuples (make-vector count.tuples))\n  (time/pretty-log\n    (let loop ((i 0))\n      (when (unsafe-fx< i count.tuples)\n        (unsafe-vector*-set! tuples i (map (lambda (col) (unsafe-vector*-ref col i))\n                                           columns))\n        (loop (unsafe-fx+ i 1)))))\n  (pretty-log '(sorting tuples))\n  (time/pretty-log (vector-sort! tuples int-tuple<?))\n  tuples)\n\n(define (min-nat-bytes nat.max) (max (min-bytes nat.max) 1))\n\n(define (column-paths path.table column-ids)\n  (map (lambda (i) (path->string\n                     (build-path path.table (string-append fn.col \".\" (number->string i)))))\n       column-ids))\n\n(define (ingest-relation-source apath.root lpath.domain-text lpath.table type s.in)\n  (define bytes=>id             (make-btree))\n  (define size.bytes            0)\n  (define count.tuples.initial  0)\n  (define apath.domain.value    (path->string (build-path apath.root lpath.domain-text fn.value)))\n  (define apath.domain.pos      (path->string (build-path apath.root lpath.domain-text fn.pos)))\n  (define apath*.column         (column-paths (build-path apath.root lpath.table) (range (length type))))\n  (define apath*.column.initial (map (lambda (p.c) (string-append p.c fnsuffix.initial))\n                                     apath*.column))\n  (define (insert-bytes! b)\n    (let* ((count.0 (btree-count bytes=>id))\n           (id      (btree-ref-or-set! bytes=>id b)))\n      (unless (unsafe-fx= count.0 (btree-count bytes=>id))\n        (set! size.bytes (unsafe-fx+ size.bytes (bytes-length b))))\n      id))\n  (define row->tuple\n    (let ((col->num* (map (lambda (i t.col)\n                            (match t.col\n                              ('int    (lambda (x)\n                                         (unless (int?    x) (error \"invalid int\"    `(column: ,i) x))\n                                         x))\n                              ('nat    (lambda (x)\n                                         (unless (nat?    x) (error \"invalid nat\"    `(column: ,i) x))\n                                         x))\n                              ('bytes  (lambda (x)\n                                         (unless (bytes?  x) (error \"invalid bytes\"  `(column: ,i) x))\n                                         (insert-bytes!                                      x)))\n                              ('string (lambda (x)\n                                         (unless (string? x) (error \"invalid string\" `(column: ,i) x))\n                                         (insert-bytes! (string->bytes/utf-8                 x))))\n                              ('symbol (lambda (x)\n                                         (unless (symbol? x) (error \"invalid symbol\" `(column: ,i) x))\n                                         (insert-bytes! (string->bytes/utf-8 (symbol->string x)))))\n                              (_ (error \"(currently) unsupported type\"                `(column: ,i) t.col))))\n                          (range (length type))\n                          type)))\n      (lambda (row)\n        (set! count.tuples.initial (unsafe-fx+ count.tuples.initial 1))\n        (let loop ((col* row) (col->num* col->num*))\n          (match* (col* col->num*)\n            (((cons col col*) (cons col->num col->num*)) (cons (col->num col) (loop col* col->num*)))\n            (('()             '())                       '())\n            ((_               _)                         (error \"incorrect number of columns\" row type)))))))\n\n  (apply pretty-log '(ingesting rows and writing initial tuple columns) apath*.column.initial)\n  (call/files\n    '() apath*.column.initial\n    (lambda outs.column.initial\n      (define type.tuple (map (lambda (_) 'int) type))\n      (time/pretty-log\n        (s-each (lambda (row) (for-each encode outs.column.initial type.tuple (row->tuple row)))\n                s.in))))\n\n  (define size.pos  (min-nat-bytes size.bytes))\n  (define count.ids (btree-count bytes=>id))\n  (define id=>id    (make-fxvector count.ids))\n  (pretty-log `(ingested ,count.tuples.initial tuples))\n  (pretty-log `(enumerating ,(btree-count bytes=>id) strings -- ,size.bytes bytes total))\n  (pretty-log '(writing sorted strings to) apath.domain.value\n              '(writing positions to) apath.domain.pos)\n  (let/files () ((out.bytes.value apath.domain.value)\n                 (out.bytes.pos   apath.domain.pos))\n    (define (write-pos)\n      (write-bytes (nat->bytes size.pos (file-position out.bytes.value)) out.bytes.pos))\n    (write-pos)\n    (time/pretty-log\n      (let ((i 0))\n        (btree-enumerate\n          bytes=>id\n          (lambda (b id)\n            (write-bytes b out.bytes.value)\n            (write-pos)\n            (unsafe-fxvector-set! id=>id id i)\n            (set! i (unsafe-fx+ i 1)))))))\n  (define desc.domain-text\n    (hash 'count         count.ids\n          'size.position size.pos))\n  (write-metadata (build-path apath.root lpath.domain-text fn.metadata.initial) desc.domain-text)\n\n  (pretty-log '(remapping columns))\n  (define column-vmms\n    (map (lambda (t.col apath.in)\n           (define col->col\n             (match t.col\n               ((or 'nat 'int)              (lambda (n)  n))\n               ((or 'bytes 'string 'symbol) (lambda (id) (unsafe-fxvector-ref id=>id id)))))\n           (define (read-element in) (col->col (decode in 'int)))\n           (match-define (list vec.col min.col max.col)\n             (read-column/bounds apath.in count.tuples.initial read-element))\n           (pretty-log `(deleting ,apath.in))\n           (delete-file apath.in)\n           (list vec.col min.col max.col))\n         type apath*.column.initial))\n  (define columns (map car column-vmms))\n\n  (define tuples  (sorted-tuples count.tuples.initial columns))\n  (pretty-log '(deduplicating tuples))\n  (define (columns-set! j tuple) (for-each (lambda (vec.col value.col)\n                                             (unsafe-vector*-set! vec.col j value.col))\n                                           columns tuple))\n  (define count.tuples.unique\n    (time/pretty-log\n      (when (unsafe-fx< 0 count.tuples.initial)\n        (define t0 (unsafe-vector*-ref tuples 0))\n        (columns-set! 0 t0)\n        (let loop ((prev t0) (i 1) (j 1))\n          (if (unsafe-fx< i count.tuples.initial)\n            (let ((next (unsafe-vector*-ref tuples i)))\n              (cond ((equal? prev next) (loop prev (unsafe-fx+ i 1) j))\n                    (else (columns-set! j next)\n                          (loop next (unsafe-fx+ i 1) (unsafe-fx+ j 1)))))\n            j)))))\n\n  (define column-descriptions\n    (map (lambda (t.col vec.col min.col max.col apath.out)\n           (match-define (cons size.col offset.col)\n             (write-column apath.out count.tuples.unique vec.col min.col max.col))\n           (hash 'type   (match t.col\n                           ((or 'nat 'int)              'int)\n                           ((or 'bytes 'string 'symbol) 'text))\n                 'count  count.tuples.unique\n                 'size   size.col\n                 'offset offset.col\n                 'min    min.col\n                 'max    max.col))\n         type columns (map cadr column-vmms) (map caddr column-vmms) apath*.column))\n  (define desc.table\n    (hash 'direction 'insert\n          'domain    (hash 'text lpath.domain-text)\n          'count     count.tuples.unique\n          'columns   column-descriptions))\n  (write-metadata (build-path apath.root lpath.table fn.metadata.initial) desc.table)\n\n  (hash 'domain (hash 'text desc.domain-text)\n        'table  desc.table))\n\n(define ((multi-merge <? gens gen-empty? gen-first gen-rest) yield)\n  (define h   (list->vector gens))\n  (define end (vector-length h))\n  (heap! <? h end)\n  (define (re-insert end gen)\n    (cond ((gen-empty? gen) (heap-remove!  <? h end)\n                            (unsafe-fx- end 1))\n          (else             (heap-replace! <? h end gen)\n                            end)))\n  (if (unsafe-fx< 0 end)\n    (let ((g.top (heap-top h)))\n      (let loop.new ((g.top g.top)\n                     (x     (gen-first g.top))\n                     (i     0)\n                     (end   end))\n        (yield x)\n        (let loop.duplicate ((end (re-insert end (gen-rest g.top i))))\n          (if (unsafe-fx< 0 end)\n            (let* ((g.top (heap-top h))\n                   (y     (gen-first g.top)))\n              (if (equal? x y)\n                (loop.duplicate (re-insert end (gen-rest g.top i)))\n                (loop.new       g.top y (unsafe-fx+ i 1) end)))\n            (unsafe-fx+ i 1)))))\n    0))\n\n(define (compact-text-domains apath.domain-text.new apaths.domain-text descs.domain-text)\n  (define apath.value  (path->string (build-path apath.domain-text.new fn.value)))\n  (define apath.pos    (path->string (build-path apath.domain-text.new fn.pos)))\n  (define size.bytes   (sum (map (lambda (apath.in) (file-size (build-path apath.in fn.value)))\n                                 apaths.domain-text)))\n  (define size.pos     (min-nat-bytes size.bytes))\n  (define id=>ids      (map (lambda (desc.in) (make-fxvector (hash-ref desc.in 'count)))\n                            descs.domain-text))\n  (define custodian.gs (make-custodian))\n  (define gs           (parameterize ((current-custodian custodian.gs))\n                         (map (lambda (apath.in desc.in id=>id)\n                                (define count       (hash-ref desc.in 'count))\n                                (define size.pos    (hash-ref desc.in 'size.position))\n                                (define apath.value (build-path apath.in fn.value))\n                                (define apath.pos   (build-path apath.in fn.pos))\n                                (and (unsafe-fx< 0 count)\n                                     (let ((in.value (open-input-file apath.value))\n                                           (in.pos   (open-input-file apath.pos)))\n                                       (define (read-pos) (bytes-nat-ref (read-bytes size.pos in.pos)\n                                                                         size.pos\n                                                                         0))\n                                       (let loop ((id 0) (pos.current (read-pos)))\n                                         (let ((pos.next (read-pos)))\n                                           (cons (read-bytes (unsafe-fx- pos.next pos.current) in.value)\n                                                 (lambda (i)\n                                                   (unsafe-fxvector-set! id=>id id i)\n                                                   (and (unsafe-fx< (unsafe-fx+ id 1) count)\n                                                        (loop (unsafe-fx+ id 1) pos.next)))))))))\n                              apaths.domain-text descs.domain-text id=>ids)))\n  (pretty-log '(merging domains) (map cons apaths.domain-text descs.domain-text)\n              '(writing merge-sorted strings to) apath.value\n              '(writing positions to) apath.pos)\n  (define count.ids    (let/files () ((out.value apath.value)\n                                      (out.pos   apath.pos))\n                         (define (write-pos) (write-bytes (nat->bytes size.pos\n                                                                      (file-position out.value))\n                                                          out.pos))\n                         (write-pos)\n                         (time/pretty-log\n                           ((multi-merge (lambda (g.0 g.1) (bytes<? (unsafe-car g.0) (unsafe-car g.1)))\n                                         (filter-not not gs)\n                                         not\n                                         unsafe-car\n                                         (lambda (g i) ((unsafe-cdr g) i)))\n                            (lambda (bs)\n                              (write-bytes bs out.value)\n                              (write-pos))))))\n  (custodian-shutdown-all custodian.gs)\n  ;; replace identity mappings with #f, indicating no remapping is necessary\n  (define remappings   (map (lambda (id=>id)\n                              (let loop ((i (unsafe-fx- (unsafe-fxvector-length id=>id) 1)))\n                                (and (unsafe-fx<= 0 i)\n                                     (if (unsafe-fx= i (unsafe-fxvector-ref id=>id i))\n                                       (loop (unsafe-fx- i 1))\n                                       id=>id))))\n                            id=>ids))\n  (define desc.domain-text\n    (hash 'count         count.ids\n          'size.position size.pos))\n  (write-metadata (build-path apath.domain-text.new fn.metadata.initial) desc.domain-text)\n  (hash 'domain-text desc.domain-text\n        'remappings  remappings))\n\n(define ((attrs->signature->ordering attrs) signature)\n  (map (lambda (attr) (let ((i (index-of attrs attr)))\n                        (if i i (error \"invalid signature attribute\" attr signature))))\n       signature))\n\n(define (normalize-table-index-orderings count.columns orderings)\n  (for-each (lambda (ordering) (unless (and (not (null? ordering))\n                                            (list? ordering)\n                                            (andmap (lambda (i) (and (nat? i) (<= 0 i) (< i count.columns)))\n                                                    ordering)\n                                            (= (length ordering) (set-count (list->set ordering))))\n                                 (error \"invalid index\" ordering)))\n            orderings)\n  (remove-duplicates\n    (map (lambda (ordering)\n           (define len (length ordering))\n           (cond ((= (+ len 1) count.columns) (append ordering (set-subtract (range count.columns)\n                                                                             ordering)))\n                 ((<    len    count.columns) (append ordering '(#t)))\n                 (else                                ordering)))\n         orderings)))\n\n(define (build-table-indexes apath.root lpath*.index lpath.table desc.table orderings)\n  (define apath.root.table  (path->string (build-path apath.root lpath.table)))\n  (define apath*.root.index (map (lambda (lpath.index) (path->string (build-path apath.root lpath.index)))\n                                 lpath*.index))\n  (define count.tuples      (hash-ref desc.table 'count))\n  (define desc*.column      (hash-ref desc.table 'columns))\n  (define count.columns     (length desc*.column))\n  (pretty-log '(building indexes for) apath.root.table orderings desc.table apath*.root.index)\n  (define key-used?       (ormap (lambda (ordering) (member #t ordering))\n                                 orderings))\n  (define column-ids.used (set->list (set-remove (foldl (lambda (ordering col-ids)\n                                                          (set-union col-ids (list->set ordering)))\n                                                        (set) orderings)\n                                                 #t)))\n  (define size.pos        (min-nat-bytes (- count.tuples 1)))\n  (define i=>desc.col     (make-immutable-hash\n                            (append (if key-used?\n                                      (list (cons #t (hash 'type   'int\n                                                           'count  count.tuples\n                                                           'size   size.pos\n                                                           'offset 0\n                                                           'min    0\n                                                           'max    (- count.tuples 1))))\n                                      '())\n                                    (map cons (range count.columns) desc*.column))))\n  (define i=>col          (make-immutable-hash\n                            (append (if key-used?\n                                      (list (cons #t (let ((column.key (make-vector count.tuples)))\n                                                       (let loop ((i 0))\n                                                         (when (unsafe-fx< i count.tuples)\n                                                           (unsafe-vector*-set! column.key i i)\n                                                           (loop (unsafe-fx+ i 1))))\n                                                       column.key)))\n                                      '())\n                                    (map (lambda (i.col apath.in)\n                                           (cons i.col (read-column apath.in (hash-ref i=>desc.col i.col))))\n                                         column-ids.used\n                                         (column-paths apath.root.table column-ids.used)))))\n  (map (lambda (apath.root.index ordering)\n         (pretty-log '(building index) apath.root.index '(with ordering) ordering)\n         (define columns.used        (map (lambda (i.col) (hash-ref i=>col      i.col))   ordering))\n         (define descs.used          (map (lambda (i.col) (hash-ref i=>desc.col i.col))   ordering))\n         (define s&o*.used           (map (lambda (desc) (ideal-size-and-offset (hash-ref desc 'min)\n                                                                                (hash-ref desc 'max)))\n                                          descs.used))\n         (define sizes.used          (map car s&o*.used))\n         (define offsets.used        (map cdr s&o*.used))\n         (define tuples              (sorted-tuples count.tuples columns.used))\n         (define apath*.col.key      (map (lambda (apath.col) (string-append apath.col fnsuffix.key))\n                                          (column-paths apath.root.index (range    (length ordering)))))\n         (define apath*.col.indirect (map (lambda (apath.col) (string-append apath.col fnsuffix.indirect))\n                                          (column-paths apath.root.index (range (- (length ordering) 1)))))\n         (pretty-log '(writing index columns))\n         (define counts\n           (call/files\n             '()\n             apath*.col.key\n             (lambda out*.key\n               (call/files\n                 '()\n                 apath*.col.indirect\n                 (lambda out*.indirect\n                   (time/pretty-log\n                     (when (< 0 count.tuples)\n                       (for-each (lambda (out) (write-bytes (nat->bytes size.pos 0) out))\n                                 out*.indirect)\n                       (let loop.keys ((i*.key        (range (length ordering)))\n                                       (size*.key     sizes.used)\n                                       (offset*.key   offsets.used)\n                                       (out*.key      out*.key)\n                                       (out*.indirect out*.indirect)\n                                       (pos*          (make-list (length out*.key) 0))\n                                       (start         0)\n                                       (end           count.tuples))\n                         (let ((i.key      (car i*.key))\n                               (i*.key     (cdr i*.key))\n                               (size.key   (car size*.key))\n                               (offset.key (car offset*.key)))\n                           (define (key-ref i) (unsafe-list-ref (unsafe-vector*-ref tuples i) i.key))\n                           (let ((out.key (car out*.key)))\n                             (define (write-key key) (write-bytes (nat->bytes size.key (unsafe-fx- key offset.key)) out.key))\n                             (if (null? i*.key)\n                               (let loop.final ((i start))\n                                 (cond ((unsafe-fx< i end) (write-key (key-ref i))\n                                                           (loop.final (unsafe-fx+ i 1)))\n                                       (else               (list (unsafe-fx+ (car pos*) (unsafe-fx- i start))))))\n                               (let ((out.indirect (car out*.indirect)))\n                                 (let loop.key ((pos (car pos*)) (pos* (cdr pos*)) (start start) (end end))\n                                   (if (unsafe-fx< start end)\n                                     (let ((key (key-ref start)))\n                                       (write-key key)\n                                       (let ((start.new (bisect-next start end (lambda (i) (unsafe-fx<= (key-ref i) key)))))\n                                         (let ((pos* (loop.keys i*.key\n                                                                (cdr size*.key)\n                                                                (cdr offset*.key)\n                                                                (cdr out*.key)\n                                                                (cdr out*.indirect)\n                                                                pos*\n                                                                start\n                                                                start.new)))\n                                           (write-bytes (nat->bytes size.pos (car pos*)) out.indirect)\n                                           (loop.key (unsafe-fx+ pos 1) pos* start.new end))))\n                                     (cons pos pos*)))))))))))))))\n         (define descs.column.key      (map (lambda (apath desc count size offset)\n                                              (let* ((desc (hash-set* desc 'count count 'size size 'offset offset)))\n                                                (cond ((column-consecutive? (lambda () (read-column apath desc))\n                                                                            count\n                                                                            (hash-ref desc 'min)\n                                                                            (hash-ref desc 'max))\n                                                       (delete-file apath)\n                                                       (hash-set* desc 'size 0 'offset (hash-ref desc 'min)))\n                                                      (else desc))))\n                                            apath*.col.key descs.used counts sizes.used offsets.used))\n         (define descs.column.indirect (map (lambda (apath.indirect count.current count.next)\n                                              (cond ((= count.current count.next)\n                                                     (pretty-log '(deleting identity indirection) apath.indirect)\n                                                     (delete-file apath.indirect)\n                                                     #f)\n                                                    (else (hash 'type  'int\n                                                                'count count.current\n                                                                'size  size.pos\n                                                                'min   0\n                                                                'max   count.next))))\n                                            apath*.col.indirect\n                                            (reverse (cdr (reverse counts)))\n                                            (cdr counts)))\n         (define desc.table-index      (hash 'table            lpath.table\n                                             'ordering         ordering\n                                             'columns.key      descs.column.key\n                                             'columns.indirect descs.column.indirect))\n         (write-metadata (build-path apath.root.index fn.metadata.initial) desc.table-index)\n         desc.table-index)\n       apath*.root.index orderings))\n\n(define (read-column/bounds apath.in count read-element)\n  ;; TODO: consider specialized vectors: https://docs.racket-lang.org/foreign/homogeneous-vectors.html\n  (define vec.col (make-vector count))\n  (pretty-log `(reading ,count elements and computing min/max from) apath.in)\n  (let/files ((in apath.in)) ()\n    (time/pretty-log\n      (let loop ((i 0) (min.col #f) (max.col 0))\n        (cond ((unsafe-fx< i count)\n               (define value (read-element in))\n               (unsafe-vector*-set! vec.col i value)\n               (loop (unsafe-fx+ i 1)\n                     (if min.col (unsafe-fxmin min.col value) value)\n                     (unsafe-fxmax max.col value)))\n              (else (list vec.col (or min.col 0) max.col)))))))\n\n(define (read-column apath.in desc.in)\n  (define count   (hash-ref desc.in 'count))\n  (define size    (hash-ref desc.in 'size))\n  (define offset  (hash-ref desc.in 'offset 0)) ; TODO: later, require this\n  ;; TODO: consider specialized vectors: https://docs.racket-lang.org/foreign/homogeneous-vectors.html\n  (define vec.col (make-vector count))\n  (cond ((< 0 size) (pretty-log `(reading ,count elements from) apath.in)\n                    (let/files ((in apath.in)) ()\n                      (time/pretty-log\n                        (let loop ((i 0))\n                          (cond ((unsafe-fx< i count) (define v.in (bytes-nat-ref (read-bytes size in) size 0))\n                                                      (unsafe-vector*-set! vec.col i (unsafe-fx+ offset v.in))\n                                                      (loop (unsafe-fx+ i 1)))\n                                (else                 vec.col))))))\n        (else       (pretty-log `(building ,count consecutive integers starting at ,offset)\n                                '(instead of reading from) apath.in)\n                    (let loop ((i 0))\n                      (cond ((unsafe-fx< i count) (unsafe-vector*-set! vec.col i (unsafe-fx+ offset i))\n                                                  (loop (unsafe-fx+ i 1)))\n                            (else                 vec.col))))))\n\n(define (write-column apath.out count vec.col min.col max.col)\n  (if (column-consecutive? (lambda () vec.col) count min.col max.col)\n    (begin (pretty-log '(not writing column to file because column is consecutive)\n                       `(would have written ,count elements to) apath.out\n                       `(nat-size: ,0 offset: ,min.col min: ,min.col max: ,max.col))\n           (cons 0 min.col))\n    (match-let (((cons size.col offset.col) (ideal-size-and-offset min.col max.col)))\n      (pretty-log `(writing ,count elements to) apath.out\n                  `(nat-size: ,size.col offset: ,offset.col min: ,min.col max: ,max.col))\n      (let/files () ((out apath.out))\n        (time/pretty-log\n          (let loop ((i 0))\n            (when (unsafe-fx< i count)\n              (write-bytes (nat->bytes size.col (unsafe-fx- (unsafe-vector*-ref vec.col i) offset.col)) out)\n              (loop (unsafe-fx+ i 1))))))\n      (cons size.col offset.col))))\n\n(define (ideal-size-and-offset min.col max.col)\n  (define diff.col  (- max.col min.col))\n  (define size.diff (min-nat-bytes diff.col))\n  (define size.max  (min-nat-bytes max.col))\n  (if (or (< min.col   0)\n          (< size.diff size.max))\n    (cons size.diff min.col)\n    (cons size.max  0)))\n\n(define (column-consecutive? ->vec count.col min.col max.col)\n  (and (unsafe-fx= count.col (unsafe-fx+ 1 (unsafe-fx- max.col min.col)))\n       (let ((vec.col (->vec)))\n         (let loop ((i 0) (expected min.col))\n           (or (unsafe-fx= i count.col)\n               (and (unsafe-fx= expected (unsafe-vector*-ref vec.col i))\n                    (loop (unsafe-fx+ i 1) (unsafe-fx+ expected 1))))))))\n\n(define (remap-column?      desc.col   type=>id=>id) (not (not (hash-ref type=>id=>id (hash-ref desc.col 'type) #f))))\n(define (remap-table?       desc.table type=>id=>id) (ormap (lambda (desc.col) (remap-column? desc.col type=>id=>id))\n                                                            (hash-ref desc.table 'columns)))\n(define (remap-table-index? desc.ti    type=>id=>id) (ormap (lambda (desc.col) (remap-column? desc.col type=>id=>id))\n                                                            (hash-ref desc.ti 'columns.key)))\n\n(define (remap-column apath.in apath.out desc.in type=>id=>id)\n  (pretty-log `(remapping ,apath.in to ,apath.out) desc.in)\n  (define type    (hash-ref desc.in 'type))\n  (define count   (hash-ref desc.in 'count))\n  (define size.in (hash-ref desc.in 'size))\n  (define offset  (hash-ref desc.in 'offset 0)) ; TODO: later, require this\n  (define id=>id  (hash-ref type=>id=>id type #f))\n  (cond (id=>id (match-define (list vec.col min.col max.col)\n                  (if (unsafe-fx< 0 size.in)\n                    (read-column/bounds apath.in count\n                                        (lambda (in)\n                                          (define v.in (bytes-nat-ref (read-bytes size.in in) size.in 0))\n                                          (unsafe-fxvector-ref id=>id (unsafe-fx+ offset v.in))))\n                    (let ((vec (make-fxvector count)))\n                      (let loop ((i 0))\n                        (cond ((unsafe-fx< i count) (unsafe-fxvector-set! vec i (unsafe-fxvector-ref id=>id (unsafe-fx+ offset i)))\n                                           (loop (unsafe-fx+ i 1)))\n                              (else        (list vec\n                                                 (unsafe-fxvector-ref id=>id offset)\n                                                 (unsafe-fxvector-ref id=>id (unsafe-fx+ offset (unsafe-fx- count 1))))))))))\n                (match-define (cons size.col offset.col)\n                  (write-column apath.out (vector-length vec.col) vec.col min.col max.col))\n                (hash-set* desc.in 'size size.col 'offset offset.col 'min min.col 'max max.col))\n        ((unsafe-fx= 0 size.in) (pretty-log '(identity remapping on a consecutive integer sequence: nothing to do))\n                                desc.in)\n        (else (pretty-log '(copying verbatim due to identity remapping))\n              (time/pretty-log (copy-file apath.in apath.out))\n              desc.in)))\n\n(define (remap-table apath.in apath.out desc.table.in desc.domain.new type=>id=>id)\n  (pretty-log `(remapping ,apath.in to ,apath.out) desc.table.in)\n  (define columns.in     (hash-ref desc.table.in 'columns))\n  (define columns.out    (map (lambda (apath.in.col apath.out.col desc.in.col)\n                                (remap-column apath.in.col apath.out.col desc.in.col type=>id=>id))\n                              (column-paths apath.in  (range (length columns.in)))\n                              (column-paths apath.out (range (length columns.in)))\n                              columns.in))\n  (define desc.table.out (hash 'domain  desc.domain.new\n                               'count   (hash-ref desc.table.in 'count)\n                               'columns columns.out))\n  (write-metadata (build-path apath.out fn.metadata.initial) desc.table.out)\n  desc.table.out)\n\n(define (remap-table-index apath.in apath.out desc.table-index.in lpath.table.new type=>id=>id)\n  (pretty-log `(remapping ,apath.in to ,apath.out) desc.table-index.in)\n  (define (remap fnsuffix desc*.in)\n    (map (lambda (apath.in.col apath.out.col desc.in.col)\n           (and desc.in.col (remap-column apath.in.col apath.out.col desc.in.col type=>id=>id)))\n         (map (lambda (apath.col) (string-append apath.col fnsuffix))\n              (column-paths apath.in  (range (length desc*.in))))\n         (map (lambda (apath.col) (string-append apath.col fnsuffix))\n              (column-paths apath.out (range (length desc*.in))))\n         desc*.in))\n  (define columns.key.in       (hash-ref desc.table-index.in 'columns.key))\n  (define columns.indirect.in  (hash-ref desc.table-index.in 'columns.indirect))\n  (define columns.key.out      (remap fnsuffix.key      columns.key.in))\n  (define columns.indirect.out (remap fnsuffix.indirect columns.indirect.in))\n  (define desc.table-index.out (hash-set* desc.table-index.in\n                                          'table            lpath.table.new\n                                          'columns.key      columns.key.out\n                                          'columns.indirect columns.indirect.out))\n  (write-metadata (build-path apath.out fn.metadata.initial) desc.table-index.out)\n  desc.table-index.out)\n\n;; 2-3 tree\n(define (make-btree) (vector 0 #f))\n\n(define (bytes-compare a b)\n  (let* ((len.a (unsafe-bytes-length a)) (len.b (unsafe-bytes-length b)) (end (unsafe-fxmin len.a len.b)))\n    (let loop ((i 0))\n      (if (unsafe-fx= i end)\n          (cond ((unsafe-fx< len.a len.b) -1)\n                ((unsafe-fx< len.b len.a)  1)\n                (else                      0))\n          (let ((x.a (unsafe-bytes-ref a i)) (x.b (unsafe-bytes-ref b i)))\n            (cond ((unsafe-fx< x.a x.b) -1)\n                  ((unsafe-fx< x.b x.a)  1)\n                  (else                 (loop (unsafe-fx+ i 1)))))))))\n\n(define (btree-count bt) (unsafe-vector*-ref bt 0))\n\n(define (make-btree-2 key                leaf                 l r)   (vector key                leaf                 l r))\n(define (make-btree-3 left-key right-key left-leaf right-leaf l m r) (vector left-key right-key left-leaf right-leaf l m r))\n\n(define (btree-2?      t) (unsafe-fx= (unsafe-vector*-length t) 4))\n(define (btree-2-key   t) (unsafe-vector*-ref t 0))\n(define (btree-2-leaf  t) (unsafe-vector*-ref t 1))\n(define (btree-2-left  t) (unsafe-vector*-ref t btree-2-left:i))\n(define (btree-2-right t) (unsafe-vector*-ref t btree-2-right:i))\n\n(define (btree-2-left-set!  t u) (unsafe-vector*-set! t btree-2-left:i  u))\n(define (btree-2-right-set! t u) (unsafe-vector*-set! t btree-2-right:i u))\n\n(define btree-2-left:i  2)\n(define btree-2-right:i 3)\n\n(define (btree-3-left-key   t) (unsafe-vector*-ref t 0))\n(define (btree-3-right-key  t) (unsafe-vector*-ref t 1))\n(define (btree-3-left-leaf  t) (unsafe-vector*-ref t 2))\n(define (btree-3-right-leaf t) (unsafe-vector*-ref t 3))\n(define (btree-3-left       t) (unsafe-vector*-ref t btree-3-left:i))\n(define (btree-3-middle     t) (unsafe-vector*-ref t btree-3-middle:i))\n(define (btree-3-right      t) (unsafe-vector*-ref t btree-3-right:i))\n\n(define (btree-3-left-set!   t u) (unsafe-vector*-set! t btree-3-left:i   u))\n(define (btree-3-middle-set! t u) (unsafe-vector*-set! t btree-3-middle:i u))\n(define (btree-3-right-set!  t u) (unsafe-vector*-set! t btree-3-right:i  u))\n\n(define btree-3-left:i   4)\n(define btree-3-middle:i 5)\n(define btree-3-right:i  6)\n\n(define (btree-enumerate bt yield)\n  (let loop ((t (unsafe-vector*-ref bt 1)))\n    (when t\n      (cond ((btree-2? t) (loop  (btree-2-left t))\n                          (yield (btree-2-key t) (btree-2-leaf t))\n                          (loop  (btree-2-right t)))\n            (else (loop  (btree-3-left t))\n                  (yield (btree-3-left-key t) (btree-3-left-leaf t))\n                  (loop  (btree-3-middle t))\n                  (yield (btree-3-right-key t) (btree-3-right-leaf t))\n                  (loop  (btree-3-right t)))))))\n\n;; TODO: provide an id / value that we should map x to if it's not already present\n(define (btree-ref-or-set! bt x)\n  (let loop ((t        (unsafe-vector*-ref bt 1))\n             (replace! (lambda (u)            (unsafe-vector*-set! bt 1 u)))\n             (expand!  (lambda (key leaf l r) (unsafe-vector*-set! bt 1 (vector key leaf l r)))))\n    (cond\n      ((not t) (let ((count (unsafe-vector*-ref bt 0)))\n                 (unsafe-vector*-set! bt 0 (unsafe-fx+ count 1))\n                 (expand! x count #f #f)\n                 count))\n      ((btree-2? t) (case (bytes-compare x (btree-2-key t))\n                      ((-1) (loop (btree-2-left t)\n                                  (lambda (u) (btree-2-left-set! t u))\n                                  (lambda (left-key left-leaf l m)\n                                    (replace! (make-btree-3 left-key (btree-2-key t)\n                                                            left-leaf (btree-2-leaf t)\n                                                            l m (btree-2-right t))))))\n                      (( 1) (loop (btree-2-right t)\n                                  (lambda (u) (btree-2-right-set! t u))\n                                  (lambda (right-key right-leaf m r)\n                                    (replace! (make-btree-3 (btree-2-key t) right-key\n                                                            (btree-2-leaf t) right-leaf\n                                                            (btree-2-left t) m r)))))\n                      (else (btree-2-leaf t))))\n      (else (case (bytes-compare x (btree-3-left-key t))\n              ((-1) (loop (btree-3-left t)\n                          (lambda (u) (btree-3-left-set! t u))\n                          (lambda (key leaf l r)\n                            (expand! (btree-3-left-key t)\n                                     (btree-3-left-leaf t)\n                                     (make-btree-2 key leaf l r)\n                                     (make-btree-2 (btree-3-right-key t) (btree-3-right-leaf t)\n                                                   (btree-3-middle t) (btree-3-right t))))))\n              (( 1) (case (bytes-compare x (btree-3-right-key t))\n                      ((-1) (loop (btree-3-middle t)\n                                  (lambda (u) (btree-3-middle-set! t u))\n                                  (lambda (key leaf l r)\n                                    (expand! key leaf\n                                             (make-btree-2 (btree-3-left-key t) (btree-3-left-leaf t)\n                                                           (btree-3-left t) l)\n                                             (make-btree-2 (btree-3-right-key t) (btree-3-right-leaf t)\n                                                           r (btree-3-right t))))))\n                      (( 1) (loop (btree-3-right t)\n                                  (lambda (u) (btree-3-right-set! t u))\n                                  (lambda (key leaf l r)\n                                    (expand! (btree-3-right-key t)\n                                             (btree-3-right-leaf t)\n                                             (make-btree-2 (btree-3-left-key t) (btree-3-left-leaf t)\n                                                           (btree-3-left t) (btree-3-middle t))\n                                             (make-btree-2 key leaf l r)))))\n                      (else (btree-3-right-leaf t))))\n              (else (btree-3-left-leaf t)))))))\n\n;; TODO: benchmark a design based on streams/iterators for comparison\n\n;; TODO:\n;; simple edb-relations vs. idb-relations w/ fixed-point iteration materializations (current + next-delta + now-being-produced)\n\n(define (bisect start end i<)\n  (let loop ((start start) (end end))\n    (if (<= end start) end\n      (let ((i (+ start (quotient (- end start) 2))))\n        (if (i< i) (loop (+ 1 i) end) (loop start i))))))\n\n(define (bisect-next start end i<)\n  (define i (- start 1))\n  (let loop ((offset 1))\n    (define next (+ i offset))\n    (cond ((and (< next end) (i< next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (next (+ i o)))\n                    (cond ((= o 0)                      (+ i 1))\n                          ((and (< next end) (i< next)) (loop next o))\n                          (else                         (loop i    o)))))))))\n\n(define (bisect-prev start end i>)\n  (define i end)\n  (let loop ((offset 1))\n    (define next (- i offset))\n    (cond ((and (>= next start) (i> next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (n (- i o)))\n                    (cond ((= o 0)                   i)\n                          ((and (>= n start) (i> n)) (loop n o))\n                          (else                      (loop i o)))))))))\n\n;; TODO: remove tables, or at least reduce their scope?\n(define table.empty\n  (method-lambda\n    ((length)                         0)\n    ((subtable start.sub (end.sub 0)) table.empty)\n    ((columns  start.col (end.col 0)) table.empty)\n    ((copy)                           table.empty)\n    ((dedup)                          table.empty)\n    ((dedup!)                         (void))\n    ((sort)                           table.empty)\n    ((sort!)                          (void))))\n\n(define (table columns (start 0) (end (vector-length (vector-ref columns 0))))\n  (if (= 0 (vector-length columns))\n    table.empty\n    (let loop ((start start) (end end))\n      (define (self-length)         (- end start))\n      (define (self-width)          (vector-length columns))\n      (define (self-column col)     (vector-ref    columns           col))\n      (define (self-ref  col row)   (vector-ref    (self-column col) row))\n      (define (self-set! col row v) (vector-set!   (self-column col) row v))\n      (define (self-copy)           (table (vector-map (lambda (v.col) (vector-copy v.col start end))\n                                                       columns)))\n      (define (self-dedup!)\n        (define width (self-width))\n        (let dedup ((row.prev start) (row (+ start 1)))\n          (if (= row end)\n            (when (< (+ row.prev 1) end)\n              (set! end (+ row.prev 1)))\n            (if (let duplicate? ((col 0))\n                  (or (= col width)\n                      (let ((v.col (self-column col)))\n                        (and (equal? (vector-ref v.col row.prev)\n                                     (vector-ref v.col row))\n                             (duplicate? (+ col 1))))))\n              (dedup row.prev (+ row 1))\n              (let ((row.prev (+ row.prev 1)))\n                (unless (= row.prev row)\n                  (let swap! ((col 0))\n                    (when (< col width)\n                      (let ((v.col (self-column col)))\n                        (vector-set! v.col row.prev (vector-ref v.col row))\n                        (swap! (+ col 1))))))\n                (dedup row.prev (+ row 1)))))))\n      (if (<= end start)\n        table.empty\n        (method-lambda\n          ((width)                                      (self-width))\n          ((length)                                     (self-length))\n          ((ref  col row)                               (self-ref  col row))\n          ((set! col row v)                             (self-set! col row v))\n          ((subtable start.sub (end.sub (self-length))) (loop (+ start start.sub) (+ start end.sub)))\n          ((columns  start.col (end.col (self-width)))  (table (vector-copy columns start.col end.col) start end))\n          ((copy)                                       (self-copy))\n          ((dedup)                                      (let ((t (self-copy)))\n                                                          (t 'dedup!)\n                                                          t))\n          ((dedup!)                                     (self-dedup!))\n          ;; TODO:\n          ;((sort ))\n          ;((sort! ))\n          )))))\n\n(define (table-width    t)                              (t 'width))\n(define (table-length   t)                              (t 'length))\n(define (table-ref      t col row)                      (t 'ref      col row))\n(define (table-set!     t col row v)                    (t 'set!     col row v))\n(define (table-subtable t start (end (table-length t))) (t 'subtable start end))\n(define (table-columns  t start (end (table-width  t))) (t 'columns  start end))\n(define (table-dedup    t)                              (t 'dedup))\n(define (table-dedup!   t)                              (t 'dedup!))\n(define (table-sort     t)                              (t 'sort))\n(define (table-sort!    t)                              (t 'sort!))\n\n;; TODO: support a direct-scanning operator, rather than scanning via column indices\n;; TODO: columns with methods: 'ref for what it does now, and 'enumerator for efficient scanning?\n;; TODO: more flexible/efficient method-lambda\n\n(define (column:identity                           i) i)\n(define ((column:const     c)                      _) c)\n(define ((column:offset    column offset)          i) (+ (column i) offset))\n(define ((column:vector    rows)                   i) (vector-ref rows i))\n(define ((column:table     columns)                i) (map (lambda (col) (col i)) columns))\n(define ((column:indirect  column.pos column)      i) (column (column.pos i)))\n(define ((column:interval  column.pos interval->x) i) (interval->x (column.pos i) (column.pos (+ i 1))))\n(define ((column:bytes:nat bs size)                i) (bytes-nat-ref bs size (* i size)))\n\n;; TODO: specialize to fixed-size nat\n(define (column:port                     in type) (let ((size.type (sizeof type (void))))\n                                                    (lambda (i)\n                                                      (file-position in (* i size.type))\n                                                      (decode        in type))))\n(define (column:port-indirect column.pos in type)   (lambda (i)\n                                                      (file-position in (column.pos i))\n                                                      (decode        in type)))\n;; TODO: generalize to bytes\n(define (column:port-string   column.pos in)      (column:interval\n                                                    column.pos\n                                                    (lambda (pos.0 pos.1)\n                                                      (file-position in pos.0)\n                                                      (bytes->string/utf-8 (read-bytes (- pos.1 pos.0) in)))))\n\n(define ((interval->dict:ordered i->key i->value) start end) (dict:ordered i->key i->value start end))\n\n;; TODO: not needed?\n;(define (dict:ordered:trie start end)\n  ;)\n\n\n(define dict.empty\n  (method-lambda\n    ((empty?)                  #t)\n    ((count)                   0)\n    ((=/= _)                   dict.empty)\n    ((==  _)                   dict.empty)\n    ((<=  _)                   dict.empty)\n    ((<   _)                   dict.empty)\n    ((>=  _)                   dict.empty)\n    ((>   _)                   dict.empty)\n    ((bstr-prefix   _)         dict.empty)\n    ((bstr-contains _)         dict.empty)\n    ((has-key?      _)         #f)\n    ((ref _ k.found k.missing) (k.missing))\n    ((enumerator/2)            (lambda _ (void)))\n    ((enumerator)              (lambda _ (void)))))\n\n(define (dict:integer offset.key i->value start end)\n  (let loop ((start start) (end end))\n    (define self\n      (if (<= end start)\n        dict.empty\n        (method-lambda\n          ((pop)    (loop (+ start 1) end))\n          ((empty?) (= end start))\n          ((count)  (- end start))\n          ((top)    (i->value start))\n          ((max)    (+ offset.key (- end 1)))\n          ((min)    (+ offset.key start))\n          ((>= key) (loop (max start    (- key offset.key))    end))\n          ((>  key) (loop (max start (+ (- key offset.key) 1)) end))\n          ((<= key) (loop start                                (min end (+ (- key offset.key) 1))))\n          ((<  key) (loop start                                (min end    (- key offset.key))))\n          ((== key) ((self '>= key) '<= key))\n          ((has-key? key)              (let ((self (self '>= key)))\n                                         (and (not (self 'empty?))\n                                              (equal? (self 'min) key))))\n          ((ref key k.found k.missing) (let ((self (self '>= key)))\n                                         (if (or (self 'empty?)\n                                                 (not (equal? (self 'min) key)))\n                                           (k.missing)\n                                           (k.found (self 'top)))))\n          ((enumerator/2)              (lambda (yield)\n                                         (let loop ((i start))\n                                           (when (< i end)\n                                             (yield (+ i offset.key) (i->value i))\n                                             (loop (+ i 1))))))\n          ((enumerator)                (lambda (yield)\n                                         (let loop ((i start))\n                                           (when (< i end)\n                                             (yield (+ i offset.key))\n                                             (loop (+ i 1)))))))))\n    self))\n\n(define (dict:ordered i->key i->value start end)\n  (let loop ((start start) (end end))\n    (define (after  k<) (loop (bisect-next start end (lambda (i) (k< (i->key i)))) end))\n    (define (before k>) (loop start (bisect-prev start end (lambda (i) (k> (i->key i))))))\n    (define self\n      (if (<= end start)\n        dict.empty\n        (method-lambda\n          ((pop)       (loop (+ start 1) end))\n          ((empty?)    (= end start))\n          ((count)     (- end start))\n          ((top)       (i->value start))\n          ((max)       (i->key   (- end 1)))\n          ((min)       (i->key   start))\n          ((after  k<) (after  k<))\n          ((before k>) (before k>))\n          ((>= key)    (after  (lambda (k) (any<?  k key))))\n          ((>  key)    (after  (lambda (k) (any<=? k key))))\n          ((<= key)    (before (lambda (k) (any<?  key k))))\n          ((<  key)    (before (lambda (k) (any<=? key k))))\n          ((== key)    ((self '>= key) '<= key))\n          ((has-key? key)              (let ((self (self '>= key)))\n                                         (and (not (self 'empty?))\n                                              (equal? (self 'min) key))))\n          ((ref key k.found k.missing) (let ((self (self '>= key)))\n                                         (if (or (self 'empty?)\n                                                 (not (equal? (self 'min) key)))\n                                           (k.missing)\n                                           (k.found (self 'top)))))\n          ((enumerator/2)              (lambda (yield)\n                                         (let loop ((i start))\n                                           (when (< i end)\n                                             (yield (i->key i) (i->value i))\n                                             (loop (+ i 1))))))\n          ((enumerator)                (lambda (yield)\n                                         (let loop ((i start))\n                                           (when (< i end)\n                                             (yield (i->key i))\n                                             (loop (+ i 1)))))))))\n    self))\n\n(define (dict:ordered:union combined-value d.left d.right)\n  (let loop ((d.left d.left) (d.right d.right))\n    (define (shared d.left d.right)\n      (method-lambda\n        ((empty?)    #f)\n        ((min)       (d.left 'min))\n        ((max)       (let ((max.left  (d.left  'max))\n                           (max.right (d.right 'max)))\n                       (if (any<? max.left max.right) max.right max.left)))\n        ((after  k<) (loop (d.left 'after  k<) (d.right 'after  k<)))\n        ((before k>) (loop (d.left 'before k>) (d.right 'before k>)))\n        ((>= key)    (loop (d.left '>= key) (d.right '>= key)))\n        ((>  key)    (loop (d.left '>  key) (d.right '>  key)))\n        ((<= key)    (loop (d.left '<= key) (d.right '<= key)))\n        ((<  key)    (loop (d.left '<  key) (d.right '<  key)))\n        ((== key)    (loop (d.left '== key) (d.right '== key)))\n        ((has-key? key)              (or (d.left 'has-key? key) (d.right 'has-key? key)))\n        ((ref key k.found k.missing) (d.left 'ref key\n                                             (lambda (v.left)\n                                               (d.right 'ref key\n                                                        (lambda (v.right) (combined-value v.left v.right))\n                                                        (lambda ()        v.left)))\n                                             (lambda () (d.right 'ref key k.found k.missing))))\n\n        ((enumerator/2)              (merge-union combined-value d.left d.right))\n        ((enumerator)                (merge-key-union d.left d.right))))\n    (define (less d.left d.right)\n      (define super (shared d.left d.right))\n      (method-lambda\n        ((pop)   (loop (d.left 'pop) d.right))\n        ((top)   (d.left 'top))\n        ((count) (+ (d.left 'count) (d.right 'count)))\n        (else    super)))\n    (define (same d.left d.right)\n      (define super (shared d.left d.right))\n      (method-lambda\n        ((pop)   (loop (d.left 'pop) (d.right 'pop)))\n        ((top)   (combined-value (d.left 'top) (d.right 'top)))\n        ((count) (+ (d.left 'count) (d.right 'count) -1))\n        (else    super)))\n    (cond ((d.left  'empty?)                     d.right)\n          ((d.right 'empty?)                     d.left)\n          ((any<? (d.left  'min) (d.right 'min)) (less d.left  d.right))\n          ((any<? (d.right 'min) (d.left  'min)) (less d.right d.left))\n          (else                                  (same d.left  d.right)))))\n\n(define (dict:ordered:subtraction count.keys d.positive d.negative)\n  (let loop ((d.pos d.positive) (d.neg d.negative))\n    (define (shared d.pos d.neg)\n      (method-lambda\n        ((empty?)    #f)\n        ((count)     (d.pos 'count))\n        ((min)       (d.pos 'min))\n        ((max)       (error \"TODO: dict:ordered:subtraction max\"))\n        ((after  k<) (loop (d.pos 'after  k<) (d.neg 'after  k<)))\n        ((before k>) (loop (d.pos 'before k>) (d.neg 'before k>)))\n        ((>= key)    (loop (d.pos '>= key)    (d.neg '>= key)))\n        ((>  key)    (loop (d.pos '>  key)    (d.neg '>  key)))\n        ((<= key)    (loop (d.pos '<= key)    (d.neg '<= key)))\n        ((<  key)    (loop (d.pos '<  key)    (d.neg '<  key)))\n        ((== key)    (loop (d.pos '== key)    (d.neg '== key)))))\n    (define (less d.pos d.neg)\n      (define super (shared d.pos d.neg))\n      (method-lambda\n        ((pop) (loop (d.pos 'pop) d.neg))\n        ((top) (d.pos 'top))\n        (else  super)))\n    (define (same d.pos d.neg)\n      (if (= count.keys 1)\n        (loop (d.pos 'pop) (d.neg 'pop))\n        (let ((d.pos.top (dict:ordered:subtraction (- count.keys 1) (d.pos 'top) (d.neg 'top))))\n          (if (d.pos.top 'empty?)\n            (loop (d.pos 'pop) (d.neg 'pop))\n            (let ((super (shared d.pos d.neg)))\n              (method-lambda\n                ((pop) (loop (d.pos 'pop) (d.neg 'pop)))\n                ((top) d.pos.top)\n                (else  super)))))))\n    (define self (cond ((d.pos 'empty?) dict.empty)\n                       ((d.neg 'empty?) d.pos)\n                       (else (let ((min.pos (d.pos 'min)) (min.neg (d.neg 'min)))\n                               (cond ((any<? min.pos min.neg) (less d.pos d.neg))\n                                     ((any<? min.neg min.pos) (loop d.pos (d.neg '>= min.pos)))\n                                     (else                    (same d.pos d.neg)))))))\n    (method-lambda\n      ((has-key? key)              (let ((self (self '>= key)))\n                                     (and (not (self 'empty?))\n                                          (equal? (self 'min) key))))\n      ((ref key k.found k.missing) (let ((self (self '>= key)))\n                                     (if (or (self 'empty?)\n                                             (not (equal? (self 'min) key)))\n                                       (k.missing)\n                                       (k.found (self 'top)))))\n      ((enumerator/2)              (lambda (yield)\n                                     (let loop ((self self))\n                                       (unless (self 'empty?)\n                                         (yield (self 'min) (self 'top))\n                                         (loop (self 'pop))))))\n      ((enumerator)                (lambda (yield)\n                                     (let loop ((self self))\n                                       (unless (self 'empty?)\n                                         (yield (self 'min))\n                                         (loop (self 'pop))))))\n      (else                        self))))\n\n(define (dict:ordered:vector rows (t->key (lambda (t) t)) (start 0) (end (vector-length rows)))\n  (define (i->value i) (vector-ref rows i))\n  (define (i->key   i) (t->key (i->value i)))\n  (dict:ordered i->key i->value start end))\n\n(define (dict:hash k=>t)\n  (let loop ((k=>t k=>t))\n    (if (= (hash-count k=>t) 0)\n      dict.empty\n      (method-lambda\n        ((empty?)                    (hash-empty? k=>t))\n        ((count)                     (hash-count  k=>t))\n        ((=/= key)                   (loop (hash-remove k=>t key)))\n        ((==  key)                   (if (hash-has-key? k=>t key)\n                                       (loop (hash key (hash-ref k=>t key)))\n                                       dict.empty))\n        ((has-key? key)              (hash-has-key? k=>t key))\n        ((ref key k.found k.missing) (if (hash-has-key? k=>t key)\n                                       (k.found (hash-ref k=>t key))\n                                       (k.missing)))\n        ((enumerator/2)              (hash->enumerator/2 k=>t))\n        ((enumerator)                (lambda (yield)\n                                       (for ((k (in-hash-keys k=>t)))\n                                         (yield k))))))))\n\n(define ((merge-join A B) yield)\n  (unless (or (A 'empty?) (B 'empty?))\n    (let loop ((A   A)\n               (k.A (A 'min))\n               (B   B)\n               (k.B (B 'min)))\n      (case (compare-any k.A k.B)\n        ((-1) (let ((A (A '>= k.B)))\n                (unless (A 'empty?)\n                  (loop A (A 'min) B k.B))))\n        (( 1) (let ((B (B '>= k.A)))\n                (unless (B 'empty?)\n                  (loop A k.A B (B 'min)))))\n        (else (let ((t.A (A 'top))\n                    (t.B (B 'top))\n                    (A   (A 'pop))\n                    (B   (B 'pop)))\n                (yield k.A t.A t.B)\n                (unless (or (A 'empty?) (B 'empty?))\n                  (loop A (A 'min) B (B 'min)))))))))\n\n(define ((merge-antijoin A B) yield)\n  ((dict-antijoin-ordered (A 'enumerator/2) B) yield))\n\n(define ((merge-key-union A B) yield)\n  ((dict-key-union-ordered (A 'enumerator) B) yield))\n\n(define ((merge-union combined-value A B) yield)\n  ((dict-union-ordered combined-value (A 'enumerator/2) B) yield))\n\n(define (group-fold->hash en v.0 f)\n  (define k=>v (hash))\n  (en (lambda (k v) (set! k=>v (hash-update k=>v k\n                                            (lambda (v.current) (f v v.current))\n                                            v.0))))\n  k=>v)\n\n(define ((group-fold en v.0 f) yield)\n  ((hash->enumerator/2 (group-fold->hash en v.0 f)) yield))\n\n(define ((group-fold-ordered en v.0 f) yield)\n  (let ((first?    #t)\n        (k.current #f)\n        (v.current v.0))\n    (en (lambda (k v)\n          (cond (first?               (set! first?    #f)\n                                      (set! k.current k)\n                                      (set! v.current (f v v.0)))\n                ((equal? k k.current) (set! v.current (f v v.current)))\n                (else                 (yield k.current v.current)\n                                      (set! k.current k)\n                                      (set! v.current (f v v.0))))))\n    (unless first?\n      (yield k.current v.current))))\n\n(define ((enumerator-dedup en) yield)\n  (define first?     #t)\n  (define t.previous #f)\n  (en (lambda (t)\n        (cond (first?                      (set! first?     #f)\n                                           (set! t.previous t)\n                                           (yield t))\n              ((not (equal? t t.previous)) (set! t.previous t)\n                                           (yield t))))))\n\n(define ((enumerator-project en f) yield)\n  (en (lambda args (apply f yield args))))\n\n(define ((enumerator-filter en ?) yield)\n  (en (lambda (t) (when (? t) (yield t)))))\n\n(define ((enumerator-sort en <?) yield)\n  ((list->enumerator (sort (enumerator->rlist en) <?)) yield))\n\n(define (enumerator->dict:ordered:vector-flat en (t->key (lambda (t) t)))\n  (dict:ordered:vector\n    (enumerator->vector (enumerator-dedup (enumerator-sort en any<?)))\n    t->key))\n\n(define (enumerator->dict:ordered:vector-group en t->key)\n  (dict:ordered:vector\n    (enumerator->vector\n      (enumerator-project\n        (group-fold-ordered\n          (enumerator-project (enumerator-dedup (enumerator-sort en any<?))\n                              (lambda (yield t) (yield (t->key t) t)))\n          '() cons)\n        (lambda (yield _ ts.reversed) (yield (reverse ts.reversed)))))\n    (lambda (ts) (t->key (car ts)))))\n\n(define ((hash-join en en.hash) yield)\n  ((dict-join-unordered en (dict:hash (group-fold->hash en.hash '() cons)))\n   (lambda (k t ts.hash)\n     (for ((t.hash (in-list (reverse ts.hash))))  ; is this reversal necessary?\n       (yield k t t.hash)))))\n\n(define ((hash-antijoin en en.hash) yield)\n  ((dict-antijoin-unordered en (dict:hash (group-fold->hash en.hash (void) (lambda _ (void)))))\n   yield))\n\n(define ((dict-join-unordered en d.index) yield)\n  (unless (d.index 'empty?)\n    (en (lambda (k v) (d.index 'ref k\n                               (lambda (v.index) (yield k v v.index))\n                               (lambda ()        (void)))))))\n\n(define ((dict-join-ordered en.ordered d.index) yield)\n  (unless (d.index 'empty?)\n    (en.ordered (lambda (k v)\n                  (set! d.index (d.index '>= k))\n                  (d.index 'ref k\n                           (lambda (v.index) (yield k v v.index))\n                           (lambda ()        (void)))))))\n\n(define ((dict-antijoin-unordered en d.index) yield)\n  (en (if (d.index 'empty?)\n        yield\n        (lambda (k v) (unless (d.index 'has-key? k)\n                        (yield k v))))))\n\n(define ((dict-antijoin-ordered en.ordered d.index) yield)\n  (en.ordered (if (d.index 'empty?)\n                yield\n                (lambda (k v)\n                  (set! d.index (d.index '>= k))\n                  (unless (d.index 'has-key? k)\n                    (yield k v))))))\n\n(define ((dict-subtract-unordered en d.index) yield)\n  (en (if (d.index 'empty?)\n        yield\n        (lambda (k) (unless (d.index 'has-key? k)\n                      (yield k))))))\n\n(define ((dict-subtract-ordered en.ordered d.index) yield)\n  (en.ordered (if (d.index 'empty?)\n                yield\n                (lambda (k)\n                  (set! d.index (d.index '>= k))\n                  (unless (d.index 'has-key? k)\n                    (yield k))))))\n\n(define ((hash-key-union en en.hash) yield)\n  (define d.index (dict:hash (let ((k=> (hash)))\n                               (en.hash (lambda (k) (set! k=> (hash-set k=> k (void)))))\n                               k=>)))\n  ((dict-key-union-unordered en d.index) yield))\n\n(define ((dict-key-union-unordered en d.index) yield)\n  ((dict-subtract-unordered en d.index) yield)\n  ((d.index 'enumerator)                yield))\n\n(define ((dict-key-union-ordered en.ordered d.index) yield)\n  (en.ordered (if (d.index 'empty?)\n                yield\n                (lambda (k)\n                  (let loop ()\n                    (if (d.index 'empty?)\n                      (yield k)\n                      (let ((k.d (d.index 'min)))\n                        (case (compare-any k k.d)\n                          ((-1) (yield k))\n                          (( 1) (set! d.index (d.index 'pop))\n                                (yield k.d)\n                                (loop))\n                          (else (set! d.index (d.index 'pop))\n                                (yield k)))))))))\n  ((d.index 'enumerator) yield))\n\n(define ((dict-union-ordered combined-value en.ordered d.index) yield)\n  (en.ordered (if (d.index 'empty?)\n                yield\n                (lambda (k v)\n                  (let loop ()\n                    (if (d.index 'empty?)\n                      (yield k v)\n                      (let ((k.d (d.index 'min)))\n                        (case (compare-any k k.d)\n                          ((-1) (yield k v))\n                          (( 1) (yield k.d (d.index 'top))\n                                (set! d.index (d.index 'pop))\n                                (loop))\n                          (else (yield k (combined-value v (d.index 'top)))\n                                (set! d.index (d.index 'pop))))))))))\n  ((d.index 'enumerator/2) yield))\n\n(define ((dict-union-unordered combined-value en d.index) yield)\n  (en (if (d.index 'empty?)\n        yield\n        (lambda (k v)\n          (if (d.index 'empty?)\n            (yield k v)\n            (d.index 'ref k\n                     (lambda (v.index)\n                       (yield k (combined-value v v.index))\n                       (set! d.index (d.index '=/= k)))\n                     (lambda () (yield k v)))))))\n  ((d.index 'enumerator/2) yield))\n\n\n;; TODO: computing fixed points?\n;; - iteration: changed?\n;; - relation/variable: stable, next, to-add\n\n;; TODO: multiway-joins\n;; - extend-with\n;; - extend-anti\n;; - filter-with\n;; - filter-anti\n\n(module+ test\n  (require racket/pretty)\n\n  (define (test.0 yield.0)\n    (define (yield . args)\n      (pretty-write `(yielding: . ,args))\n      (apply yield.0 args))\n    (yield 0 1)\n    (yield 0 2)\n    (yield 0 3)\n    (yield 1 1)\n    (yield 1 2)\n    (yield 5 2)\n    (yield 5 7))\n\n  (define test.1 (enumerator->enumerator/2\n                   (vector->enumerator '#((0 . 1)\n                                          (0 . 2)\n                                          (0 . 3)\n                                          (1 . 1)\n                                          (1 . 2)\n                                          (5 . 2)\n                                          (5 . 7)))))\n\n  (displayln 'group-fold.0)\n  ((group-fold test.0 0 +) (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'group-fold-ordered.0)\n  ((group-fold-ordered test.0 0 +) (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'group-fold.1)\n  ((group-fold test.1 0 +) (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'group-fold-ordered.1)\n  ((group-fold-ordered test.1 0 +) (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'hash-join)\n  ((hash-join\n     (enumerator->enumerator/2 (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3))))\n     (enumerator->enumerator/2 (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (20 . 111) (0 . 77) (8 . 3)))))\n   (lambda (k a b) (pretty-write (list k a b))))\n\n  (displayln 'merge-join)\n  ((merge-join\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3)))\n       car)\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (20 . 111) (0 . 77) (8 . 3)))\n       car))\n   (lambda (k a b) (pretty-write (list k a b))))\n\n  (displayln 'hash-key-union)\n  ((hash-key-union\n     (list->enumerator (map car '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3))))\n     (list->enumerator (map car '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (20 . 111) (0 . 77) (8 . 3)))))\n   pretty-write)\n\n  (displayln 'merge-key-union)\n  ((merge-key-union\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3)))\n       car)\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (20 . 111) (0 . 77) (8 . 3)))\n       car))\n   pretty-write)\n\n  (displayln 'merge-union)\n  ((merge-union\n     append\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3)))\n       car)\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (20 . 111) (0 . 77) (8 . 3)))\n       car))\n   (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'dict:ordered:union)\n  (((dict:ordered:union\n      append\n      (enumerator->dict:ordered:vector-group\n        (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3)))\n        car)\n      (enumerator->dict:ordered:vector-group\n        (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (20 . 111) (0 . 77) (8 . 3)))\n        car))\n    'enumerator/2)\n   (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'dict:ordered:subtraction)\n  (let ()\n    (define (table->dict table)\n      (if (equal? table '(()))\n        '()\n        (let* ((groups (map reverse (s-group table = car)))\n               (__ (pretty-write `(groups: ,groups)))\n               (ks (list->vector (map (lambda (rows) (car (car rows)))             groups)))\n               (vs (list->vector (map (lambda (rows) (table->dict (map cdr rows))) groups))))\n          (dict:ordered (column:vector ks) (column:vector vs) 0 (vector-length ks)))))\n    (let* ((table.example.pos '((1 1 1) (1 1 2) (1 2 0) (1 2 1) (1 2 2) (1 2 3)\n                                (2 1 1) (2 1 2) (2 2 0) (2 2 1) (2 2 2) (2 2 3) (2 3 0) (2 3 1) (2 3 2) (2 3 3)\n                                (3 1 1) (3 1 2) (3 2 0) (3 2 1) (3 2 2) (3 2 3)))\n           (table.example.neg '(        (1 1 2) (1 2 0) (1 2 1)                 (1 2 4)\n                                        (2 1 2) (2 2 0) (2 2 1)                 (2 3 0) (2 3 1)                 (2 4 0) (2 4 1)\n                                                (3 2 0) (3 2 1)         (3 2 3)))\n           (table.expected    '((1 1 1)                         (1 2 2) (1 2 3)\n                                (2 1 1)                         (2 2 2) (2 2 3)                 (2 3 2) (2 3 3)\n                                (3 1 1) (3 1 2)                 (3 2 2)        ))\n           (index.example.pos (table->dict table.example.pos))\n           (index.example.neg (table->dict table.example.neg))\n           (result.0          (filter (lambda (row) (not (member row table.example.neg)) )\n                                      table.example.pos))\n           (result.1          (enumerator->list\n                                (lambda (yield)\n                                  (((dict:ordered:subtraction\n                                      3\n                                      index.example.pos\n                                      index.example.neg)\n                                    'enumerator/2)\n                                   (lambda (k1 i2)\n                                     ((i2 'enumerator/2)\n                                      (lambda (k2 i3)\n                                        ((i3 'enumerator)\n                                         (lambda (k3)\n                                           (yield (list k1 k2 k3))))))))))))\n      (pretty-write `(via set-subtract: ,result.0))\n      (pretty-write `(via dict:ordered:subtraction ,result.1))\n      (pretty-write `(equal? ,(equal? result.0 result.1) ,(equal? table.expected result.1)))))\n\n  (displayln 'hash-antijoin)\n  ((hash-antijoin\n     (enumerator->enumerator/2 (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3))))\n     (enumerator->enumerator/2 (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (20 . 111) (0 . 77) (8 . 3)))))\n   (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'merge-antijoin)\n  ((merge-antijoin\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((5 . 6) (10 . 17) (8 . 33) (1 . 5) (0 . 7) (18 . 3)))\n       car)\n     (enumerator->dict:ordered:vector-group\n       (list->enumerator '((7 . 61) (10 . 20) (18 . 33) (11 . 5) (20 . 111) (0 . 77) (8 . 3)))\n       car))\n   (lambda (k v) (pretty-write (list k v))))\n\n  (displayln 'table)\n  (let ((t (table (vector (vector  0  0  0  0  1  1  1  2  2  3  3  3  3  3  4)\n                          (vector 'a 'a 'a 'b 'a 'a 'b 'a 'a 'a 'b 'b 'c 'c 'a)\n                          (vector  0  1  1  1  0  1  1  2  2  1  1  1  1  1  7)))))\n    (for ((col (in-range (table-width t))))\n      (for ((row (in-range (table-length t))))\n        (printf \"~s \" (table-ref t col row)))\n      (newline))\n\n    (displayln 'table-dedup!)\n    (table-dedup! t)\n\n    (for ((col (in-range (table-width t))))\n      (for ((row (in-range (table-length t))))\n        (printf \"~s \" (table-ref t col row)))\n      (newline)))\n  )\n\n;; TODO:\n;join-many, need attribute order\n\n;extend-with/anti\n;filter-with/anti\n\n;;; TODO: these are analogous to operators: a set of tuples flowing through a particular program point\n;(struct idb-relation (done current new) #:prefab)\n\n;;; exponential search aka one-sided binary search\n;(define (join-tables t.0 t.1 k)\n  ;;; (k key v.0 v.1)\n;;key.0 key.1\n  ;)\n\n;;; NOTE: this semi-naive join does not correctly generalize to more than 2 relations\n;(define (join-idb-relations r.0 r.1 logic)\n  ;(append\n    ;(map (lambda (t.1)\n           ;(join-tables (idb-relation-current r.0)\n                        ;t.1\n                        ;;; TODO: no need to eta expand\n                        ;(lambda (k v.0 v.1)\n                          ;(logic k v.0 v.1))))\n         ;(idb-relation-done r.1))\n    ;(map (lambda (t.0)\n           ;(join-tables t.0\n                        ;(idb-relation-current r.1)\n                        ;(lambda (k v.0 v.1)\n                          ;(logic k v.0 v.1))))\n         ;(idb-relation-done r.0))\n    ;(join-tables (idb-relation-current r.0)\n                 ;(idb-relation-current r.1)\n                 ;(lambda (k v.0 v.1)\n                   ;(logic k v.0 v.1)))))\n\n;(define (idb-relation-step r)\n  ;(match-define (idb-relation done current new) r)\n  ;(let* ((done    (let loop ((done done) (current current))\n                    ;(match done\n                      ;('()             (list current))\n                      ;((cons top done) (if (<= (vector-length top)\n                                               ;(* 2 (vector-length current)))\n                                         ;(loop done (table-union current top))\n                                         ;(cons current (cons top done)))))))\n         ;(current (foldl (lambda (t.done next)\n                           ;(filter-not (lambda (tuple) (table-member? t.done)) next))\n                         ;(vector->list (match new\n                                         ;('()             (table '()))\n                                         ;((cons next new) (foldl table-union next new))))\n                         ;done)))\n    ;(idb-relation done current '())))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/database.rkt",
    "content": "#lang racket/base\n(provide\n  ;; TODO: move these\n  build-enumerator-relation\n  build-s-relation\n  build-tsv-relation\n\n  dict-count\n  dict-min\n  dict-min-value\n  dict-min-pop\n  dict-min-find\n  dict-max\n  dict-max-find\n  dict-empty?\n  dict->=\n  dict->\n  dict-<=\n  dict-<\n  dict-ref\n  dict-enumerator\n  dict-key-enumerator\n\n  dict:ref\n  dict.empty\n\n  merge-join\n  dict-join-ordered\n\n  database\n  database-path\n  database-commit!\n  database-revert!\n  database-trash-empty!\n  database-relation-names\n  database-relation-name?\n  database-relation\n  database-relation-builder\n  database-relation-new\n  database-relation-add!\n  relation-database\n  relation-has-name?\n  relation-name\n  relation-attributes\n  relation-type\n  relation-indexes\n  relation-delete!\n  relation-name-set!\n  relation-attributes-set!\n  relation-assign!\n  relation-index-add!\n  relation-index-remove!\n  relation-full-compact!\n  relation-incremental-compact!\n\n  relation-index-dict\n  relation-text-dicts\n\n  R.empty R+ R-\n  auto-empty-trash?\n  current-batch-size\n\n  make-btree\n  btree-count\n  btree-ref-or-set!)\n(require \"heap.rkt\" \"logging.rkt\" \"misc.rkt\" \"storage.rkt\" \"stream.rkt\"\n         \"safe-unsafe.rkt\"\n         ;racket/unsafe/ops\n         racket/file racket/fixnum racket/hash racket/list racket/match\n         racket/set racket/struct racket/vector\n         \"../../neo-utils/neo-helpers-without-db.rkt\")\n\n;(define-syntax-rule (verbose-log     description)          (void))\n;(define-syntax-rule (performance-log description body ...) (let () body ...))\n(define-syntax-rule (verbose-log     description)          (pretty-log description))\n(define-syntax-rule (performance-log description body ...) (let ()\n                                                             (pretty-log description)\n                                                             (time/pretty-log body ...)))\n\n(define (build-enumerator-relation db type.r en)\n  (let-values (((insert! finish) (database-relation-builder db type.r)))\n    (time (begin (en insert!) (time (finish))))))\n\n(define (build-s-relation db type.r s)\n  (let-values (((insert! finish) (database-relation-builder db type.r)))\n    (time (let loop ((s s))\n            (cond ((null?      s) (time (finish)))\n                  ((procedure? s) (loop (s)))\n                  (else           (insert! (car s)) (loop (cdr s))))))))\n\n(define (build-tsv-relation db type.r file-name)\n  (let-values (((insert! finish) (database-relation-builder db type.r)))\n    (call-with-input-file\n      file-name\n      (lambda (in)\n        (read-bytes-line in 'any)  ; drop header line\n        (time\n          (let tuple-loop ()\n            (let ((line (read-bytes-line in 'any)))\n              (unless (eof-object? line)\n                (insert! (map (lambda (type.field field) (if (eq? type.field 'int)\n                                                           (bytes-base10->fxnat field)\n                                                           field))\n                              type.r (unsafe-bytes-split-tab line)))\n                (tuple-loop)))))\n        (time (finish))))))\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Persistent databases ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Limitations:\n;; - A single database will not scale well to enormous numbers of relations.\n;; - This implementation will not scale well to high frequency database updates.\n;; - A single database should not be used by multiple host processes running concurrently.\n;;   Initializing the same database from concurrent processes may lead to data corruption.\n;; - Multiple threads of a single process can concurrently read from the same database, but it is\n;;   not safe for a thread to read concurrently with another thread's update to the same database.\n;; - It is not safe for multiple threads to perform concurrent updates on the same database.\n;; - While it should be possible to recover from typical process failure and interruption, sudden\n;;   host system failure and interruption may corrupt data.\n;; - Relations must contain at least one attribute.\n;; - Relation attribute types are limited to integer and text (Racket bytes).\n;;   - Integer values must fit within a Racket fixnum (-2^61 through -2^61 - 1), and the difference\n;;     between the maximum and minimum integer values must be at most 2^61 - 1.\n\n;; A database is a persistent collection of extensional relations, and is represented as a\n;; filesystem directory managed by an instance of checkpointing storage.\n\n;; An extensional relation is a uniquely named, finite set of ordered tuples.  Each tuple in the set\n;; contains the same number of fields.  For each field, every tuple assigns the same name and type\n;; to that field.  The list of field types is called the relation's type.  The field names are\n;; called the relation's attributes, and each name must be unique within the relation.\n\n;; For efficient querying, a relation can be indexed on one or more permutations of a subset of its\n;; attributes.  An index provides an efficient way to filter and enumerate a subset of the\n;; relation's tuples.  To filter the tuples, constraints are applied to a subset of the relation's\n;; attributes, eliminating tuples that do not satisfy the constraints.  The index's attribute\n;; permutation is the order in which attributes will be constrained.  Constraining attributes in\n;; this order is efficient due to the representation of the index, which is the result of sorting\n;; the relation's tuples lexicographically according to the attribute permutation.\n\n;; Databases and relations can be modified:\n;; - New relations can be added to, and existing relations can be removed from, a database.\n;; - Relations and their attributes can be renamed.\n;; - Indexes can be added to, or removed from, a relation.\n;; - Tuples can be inserted into, or deleted from, a relation.\n;; - Relations may be compacted to improve lookup efficiency.\n\n;; Modifications to a database and its relations can be used immediately, but will not persist until\n;; they are explicitly committed.  Uncommitted modifications can be reverted, restoring the most\n;; recently committed version of the database.\n\n(define version.current '2022-2-22)\n\n(define auto-empty-trash?  (make-parameter #f))\n(define current-batch-size (make-parameter (expt 2 29)))\n\n(define (database-path             db)                      ((wrapped-database-controller db) 'path))\n(define (database-commit!          db)                      ((wrapped-database-controller db) 'commit!))\n(define (database-revert!          db)                      ((wrapped-database-controller db) 'revert!))\n(define (database-trash-empty!     db)                      ((wrapped-database-controller db) 'trash-empty!))\n(define (database-relation-names   db)                      ((wrapped-database-controller db) 'relation-names))\n(define (database-relation-name?   db name)                 ((wrapped-database-controller db) 'relation-name? name))\n(define (database-relation         db name)                 ((wrapped-database-controller db) 'relation       name))\n(define (database-relation-builder db type (batch-size #f)) ((wrapped-database-controller db)\n                                                             'relation-builder type (or batch-size (current-batch-size))))\n(define (database-relation-new     db type)                 (let-values (((_ finish) (database-relation-builder db type 0)))\n                                                              (finish)))\n(define (database-relation-add!    db name attrs type)      (let ((r (database-relation-new db type)))\n                                                              (relation-name-set!       r name)\n                                                              (relation-attributes-set! r attrs)\n                                                              r))\n\n(define (relation-database        r)       ((wrapped-relation-controller r) 'database))\n(define (relation-has-name?       r)       ((wrapped-relation-controller r) 'has-name?))\n(define (relation-name            r)       ((wrapped-relation-controller r) 'name))\n(define (relation-attributes      r)       ((wrapped-relation-controller r) 'attributes))\n(define (relation-type            r)       ((wrapped-relation-controller r) 'type))\n(define (relation-indexes         r)       ((wrapped-relation-controller r) 'indexes))\n(define (relation-delete!         r)       ((wrapped-relation-controller r) 'delete!))\n(define (relation-name-set!       r name)  ((wrapped-relation-controller r) 'name-set!       name))\n(define (relation-attributes-set! r attrs) ((wrapped-relation-controller r) 'attributes-set! attrs))\n(define (relation-assign!         r expr)  ((wrapped-relation-controller r) 'assign!         expr))\n(define (relation-index-add!      r . ixs) ((wrapped-relation-controller r) 'index-add!      ixs))\n(define (relation-index-remove!   r . ixs) ((wrapped-relation-controller r) 'index-remove!   ixs))\n(define (relation-full-compact!        r)  ((wrapped-relation-controller r) 'full-compact!))\n(define (relation-incremental-compact! r)  ((wrapped-relation-controller r) 'incremental-compact!))\n\n(define (relation-index-dict r signature preload?) ((wrapped-relation-controller r) 'index-dict signature preload?))\n(define (relation-text-dicts r preload?)           ((wrapped-relation-controller r) 'text-dicts preload?))\n\n(struct wrapped-database (controller)\n        #:methods gen:custom-write\n        ((define write-proc (make-constructor-style-printer\n                              (lambda (db) 'database)\n                              (lambda (db) (list (database-path db)))))))\n\n(struct wrapped-relation (key controller)\n        #:methods gen:custom-write\n        ((define write-proc (make-constructor-style-printer\n                              (lambda (r)\n                                (if ((wrapped-relation-controller r) 'valid?)\n                                  'relation\n                                  'deleted-relation))\n                              (lambda (r)\n                                (if (and ((wrapped-relation-controller r) 'valid?)\n                                         (relation-has-name? r))\n                                  (list (relation-name r))\n                                  '()))))))\n\n(define R.empty     '())\n(define (R+ . args) (cons '+ args))\n(define (R- e0 e1)  `(- ,e0 ,e1))\n\n;;; Some rexpr rewrite rules to consider:\n\n;; easy\n;(&)                ==> #f  ; could allow this temporarily, but it is an error if it is not eliminated; maybe don't allow it here\n;(- X #f)           ==> ()\n;(- #f X)           ==> (~ X)  ; not desirable ...\n;(+ A ... #f B ...) ==> #f\n;(& A ... #f B ...) ==> (& A ... B ...)\n;(+)                ==> ()\n;(- X ())           ==> X\n;(- () X)           ==> ()\n;(+ A ... () B ...) ==> (+ A ... B ...)\n;(& A ... () B ...) ==> ()\n;;; easy\n;(+ A ... (+ B ...) C ...)                 ==> (+ A ... B ... C ...)\n;(+ X ... A Y ... A B ...)                 ==> (+ X ... A Y ... B ...)\n;(+ X ... A Y ... (- (+ A C ...) D) B ...) ==> (+ X ... A Y ... (- (+ C ...) D) B ...)\n;(& A ... (& B ...) C ...)                 ==> (& A ... B ... C ...)\n;(& X ... A Y ... A B ...)                 ==> (& X ... A Y ... B ...)\n;(& X ... A Y ... (- (& A C ...) D) B ...) ==> (& X ... A Y ... (- (& C ...) D) B ...)\n\n;;; doable\n;(& A ... X B ...    (+ C ... X D ...)    E ...) ==> (& A ... X B ... E ...)\n;(+ A ... X B ...    (& C ... X D ...)    E ...) ==> (+ A ... X B ... E ...)\n;(& A ... X B ... (- (+ C ... X D ...) Z) E ...) ==> (& A ... X B ... E ...)\n;(+ A ... X B ... (- (& C ... X D ...) Z) E ...) ==> (+ A ... X B ... E ...)\n;;; doable\n;(-    (+ A ... B C ...)    (+ D ... B E ...)) ==> (-    (+ A ... C ...)    (+ D ... B E ...))\n;(- (- (+ A ... B C ...) F) (+ D ... B E ...)) ==> (- (- (+ A ... C ...) F) (+ D ... B E ...))  ; etc.\n\n\n;(- (& A ... B C ...) (+ D ... B E ...)) ==> (- () (+ D ... B E ...))\n;;; would need us to go backwards too\n;(- A (& B ... A C ...)) ==> (- A (& B ... C ...))\n\n;;; might be expensive to recognize in general, unless we memo-map normalized subexpressions to new uids\n;(- X (- X Y)) ==> (& X Y)\n\n;;; Subsumption maps? Or not because of the differences that can't use them as easily?\n\n;;; doable\n;(+ A ... X B ...    (& C ... (+ F ... X G ...) D ...)    E ...) ==> (+ A ... X B ...    (& C ... (+ F ... G ...) D ...)    E ...)\n;(+ A ... X B ... (- (& C ... (+ F ... X G ...) D ...) Z) E ...) ==> (+ A ... X B ... (- (& C ... (+ F ... G ...) D ...) Z) E ...)\n;;; nothing correct we can do\n;(& A ... X B ...    (+ C ... (& F ... X G ...) D ...)    E ...)\n;(& A ... X B ... (- (+ C ... (& F ... X G ...) D ...) Z) E ...)\n\n\n;; TODO: support & for set intersection\n(define (rexpr-clean expr)\n  (define (loop.+ es.pending es.seen +s)\n    (if (null? es.pending)\n      (let loop ((es.seen es.seen) (es.done '()) (+s +s))\n        (if (null? es.seen)\n          (match es.done\n            ('()         '())\n            ((list expr) expr)\n            (exprs       `(+ . ,exprs)))\n          (let ((expr (car es.seen)) (es.seen (cdr es.seen)))\n            (let ((expr (match expr\n                          (`(- ,e0 ,e1) (loop.- e0 e1 +s))\n                          (_            expr))))\n              (define (loop/add e.new)\n                (if (set-member? +s e.new)\n                  (loop es.seen            es.done           +s)\n                  (loop es.seen (cons expr es.done) (set-add +s expr))))\n              (match expr\n                (`(- ,e0 ,e1) (loop/add expr))\n                ('()          (loop es.seen            es.done  +s))\n                (`(+ . ,es)   (loop es.seen (append es es.done) +s))\n                (_            (loop es.seen (cons expr es.done) +s)))))))\n      (let ((expr (car es.pending)) (es.pending (cdr es.pending)))\n        (match expr\n          ('()          '())\n          (`(+ . ,es)   (loop.+ (append es es.pending)            es.seen  +s))\n          (`(- ,e0 ,e1) (loop.+            es.pending  (cons expr es.seen) +s))\n          (_            (if (set-member? +s expr)\n                          (loop.+ es.pending            es.seen           +s)\n                          (loop.+ es.pending (cons expr es.seen) (set-add +s expr))))))))\n  (define (loop.- e0 e1 +s)\n    (let* ((e1 (loop.main e1 (set)))\n           (e0 (loop.main e0 (set-union +s (match e1\n                                             ('()        (set))\n                                             (`(+ . ,es) (list->set es))\n                                             (_          (set e1)))))))\n      (cond ((null? e0) '())\n            ((null? e1) e0)\n            (else       `(- ,e0 ,e1)))))\n  (define (loop.main expr +s)\n    (let ((expr (match expr\n                  ('()          '())\n                  (`(+ . ,es)   (loop.+ es '() +s))\n                  (`(- ,e0 ,e1) (loop.- e0 e1 +s))\n                  (_            (if (set-member? +s expr)\n                                  '()\n                                  expr)))))\n      (if (set-member? +s expr)\n        '()\n        expr)))\n  (loop.main expr (set)))\n\n(define (table-expr->table-ids texpr)\n  (let loop ((texpr texpr) (tids '()))\n    (match texpr\n      ('()          tids)\n      (`(+ . ,ts)   (foldl loop tids ts))\n      (`(- ,t0 ,t1) (loop t1 (loop t0 tids)))\n      (table-id     (cons table-id tids)))))\n\n(define (table-expr-map tid->tid texpr)\n  (let loop ((texpr texpr))\n    (match texpr\n      ('()          '())\n      (`(+ . ,ts)   `(+ . ,(map loop ts)))\n      (`(- ,t0 ,t1) `(- ,(loop t0) ,(loop t1)))\n      (table-id     (tid->tid table-id)))))\n\n(define (database path.db)\n  (define (make-relation id.self)\n    (define (invalidate!)\n      (hash-remove! id=>R (list id.self))\n      (set! self #f))\n    (define (remove-name!)\n      (when (R-has-name? id.self)\n        (stg-update! 'name=>relation-id (lambda (n=>rid) (hash-remove n=>rid (R-name id.self))))))\n    (define (index-signature->ordering ix)\n      (valid-attributes?! ix)\n      (let* ((attrs   (R-attrs id.self))\n             (a->i    (lambda (attr) (let ((i (index-of attrs attr)))\n                                       (unless i (error \"invalid index attribute\" attr ix attrs))\n                                       (+ i 1))))\n             (ord.0   (map a->i ix))\n             (missing (set-subtract (list->set attrs) (list->set ix))))\n        (cond ((set-empty? missing)      ord.0)\n              ((= (set-count missing) 1) (append ord.0 (list (a->i (car (set->list missing))))))\n              (else                      (append ord.0 '(0))))))\n    (define (update-indexes! update)\n      (stg-update! 'relation-id=>indexes (lambda (rid=>os) (hash-update rid=>os id.self update))))\n    (define self\n      (method-lambda\n        ((valid?)      #t)\n        ((database)    db)\n        ((invalidate!) (invalidate!))\n        ((has-name?)   (R-has-name? id.self))\n        ((name)        (R-name      id.self))\n        ((attributes)  (R-attrs     id.self))\n        ((type)        (R-type      id.self))\n        ((table-expr)  (R-texpr     id.self))\n        ((indexes)     (hash-keys (hash-ref (stg-ref 'relation-id=>indexes)    id.self)))\n        ((name-set! name)\n         (unless (and (R-has-name? id.self) (equal? (R-name id.self) name))\n           (new-relation?! name)\n           (remove-name!)\n           (stg-update! 'name=>relation-id (lambda (n=>rid) (hash-set n=>rid name id.self)))\n           (stg-update! 'relation-id=>name (lambda (rid=>n) (hash-set rid=>n id.self name)))))\n        ((attributes-set! attrs)\n         (valid-attributes?! attrs)\n         (let ((type (R-type id.self)))\n           (unless (= (length attrs) (length type))\n             (error \"number of attributes must match the relation type arity\"\n                    attrs type)))\n         (stg-update! 'relation-id=>attributes (lambda (rid=>as) (hash-set rid=>as id.self attrs))))\n        ((assign! expr)      (R-assign-r! id.self expr))\n        ((index-add!    ixs) (update-indexes! (lambda (os)\n                                                (foldl (lambda (ordering os) (hash-set os ordering #t))\n                                                       os\n                                                       (map index-signature->ordering ixs)))))\n        ((index-remove! ixs) (update-indexes! (lambda (os)\n                                                (foldl (lambda (ordering os) (hash-remove os ordering))\n                                                       os\n                                                       (map index-signature->ordering ixs)))))\n        ((full-compact!)        (stg-update! 'relations-to-fully-compact\n                                             (lambda (rids) (hash-set rids id.self #t))))\n        ((incremental-compact!) (stg-update! 'relations-to-incrementally-compact\n                                             (lambda (rids) (hash-set rids id.self #t))))\n        ((delete!)\n         (set-remove! rids.new id.self)\n         (remove-name!)\n         (stg-update! 'relation-id=>name       (lambda (rid=>n)  (hash-remove rid=>n  id.self)))\n         (stg-update! 'relation-id=>attributes (lambda (rid=>as) (hash-remove rid=>as id.self)))\n         (stg-update! 'relation-id=>type       (lambda (rid=>t)  (hash-remove rid=>t  id.self)))\n         (stg-update! 'relation-id=>table-expr (lambda (rid=>te) (hash-remove rid=>te id.self)))\n         (stg-update! 'relation-id=>indexes    (lambda (rid=>os) (hash-remove rid=>os id.self)))\n         (invalidate!))\n        ((index-dict signature preload-count)\n         ;; preload-count:\n         ;;   If preload-count is #f or 0, no index layers will be loaded into RAM.\n         ;;   If preload-count is #t, all index layers will be loaded into RAM.\n         ;;   Otherwise, the first preload-count index layers will be loaded into RAM.\n         ;; TODO: support complex table expressions\n         (let* ((ordering      (index-signature->ordering signature))\n                (oprefix*      (ordering->prefixes ordering))\n                (preload-count (cond ((not (boolean? preload-count)) preload-count)\n                                     (preload-count                  (length oprefix*))\n                                     (else                           0)))\n                (texpr         (R-texpr id.self)))\n           (unless (hash-ref (hash-ref (stg-ref 'relation-id=>indexes) id.self) ordering #f)\n             (error \"missing relation index\" (R-name id.self) signature))\n           (unless (number? texpr)\n             (error \"relation-index-dict with complex table expressions is not currently supported\"\n                    (R-name id.self) texpr))\n           (let ((iprefix=>cid.key (stg-ref 'index-prefix=>key-column-id))\n                 (iprefix=>cid.pos (stg-ref 'index-prefix=>position-column-id))\n                 (cid=>desc        (stg-ref 'column-id=>column))\n                 (tid              texpr))\n             (let loop ((ref.prev (lambda (_) '()))\n                        (oprefix  (car oprefix*))\n                        (oprefix* (cdr oprefix*))\n                        (level    (- (length oprefix*) 1)))\n               (let* ((iprefix    (cons tid oprefix))\n                      (desc.key   (hash-ref cid=>desc (hash-ref iprefix=>cid.key iprefix)))\n                      (mvec       (column->monovec desc.key (< level preload-count)))\n                      (ival->dict (lambda (start end) (dict:monovec mvec ref.prev start end))))\n                 (cond\n                   ((null? oprefix*) (ival->dict 0 (column-count desc.key)))\n                   (else (let* ((desc.pos (hash-ref cid=>desc (hash-ref iprefix=>cid.pos iprefix)))\n                                (ref.pos  (column->ref desc.pos (<= level preload-count))))\n                           (loop (lambda (i) (ival->dict (ref.pos i) (ref.pos (unsafe-fx+ i 1))))\n                                 (car oprefix*)\n                                 (cdr oprefix*)\n                                 (- level 1))))))))))\n        ((text-dicts preload?)\n         ;; TODO: support complex table expressions\n         (let ((texpr (R-texpr id.self)))\n           (unless (number? texpr)\n             (error \"relation-text-dict with complex table expressions is not currently supported\"\n                    (R-name id.self) texpr))\n           (let* ((tid=>cids (stg-ref 'table-id=>column-ids))\n                  (cid=>c    (stg-ref 'column-id=>column))\n                  (text-cids (list->set\n                               (filter-not not (map (lambda (cid)\n                                                      (column->text-cid (hash-ref cid=>c cid)))\n                                                    (hash-ref tid=>cids texpr))))))\n             (case (set-count text-cids)\n               ((0) (values #f #f))\n               ((1) (let ((desc.text (hash-ref cid=>c (car (set->list text-cids)))))\n                      (values (text-column->text=>id desc.text preload?)\n                              (text-column->id=>text desc.text preload?))))\n               (else (error \"relation table has multiple text columns\"\n                            (R-name id.self) texpr))))))))\n    (lambda args (apply (or self (method-lambda\n                                   ((valid?) #f)))\n                        args)))\n\n  (define (relation-builder id.R batch-size.bytes)\n    (define R (id->R id.R))\n    (define checkpoint.current (storage-checkpoint-count stg))\n    (define (valid?)\n      (and ((wrapped-relation-controller R) 'valid?)\n           (equal? (storage-checkpoint-count stg) checkpoint.current)))\n    (define (invalidate!) (set! checkpoint.current #f))\n    (cond\n      ((= 0 batch-size.bytes)\n       (values #f (lambda ()\n                    (unless (valid?) (error \"cannot use a stale relation builder\"))\n                    (invalidate!)\n                    R)))\n      ((< 0 batch-size.bytes)\n       (define (start-batch!)\n         (set! text=>id (make-btree))\n         (set! i.tuple   0)\n         (set! size.text 0))\n       (define (insert! tuple)\n         (for-each (lambda (field proj col)\n                     (fxvector-set! vec.rows (unsafe-fx+ i.tuple col) (proj field)))\n                   tuple projections cols)\n         (set! i.tuple (unsafe-fx+ i.tuple count.cols))\n         (when (or (unsafe-fx=  full-size        i.tuple)\n                   (unsafe-fx<= batch-size.bytes size.text))\n           (finish-batch!)\n           (start-batch!)))\n       (define (finish!)\n         (when (< 0 i.tuple) (finish-batch!))\n         (R-assign-t! id.R (apply R+ (reverse tables)))\n         (invalidate!)\n         R)\n       (define (finish-batch!)\n         (unless (valid?) (error \"cannot use a stale relation builder\"))\n         (define column-id.text\n           (and (ormap (lambda (type.col) (eq? type.col 'text)) column-types)\n                (let* ((width.pos        (nat-min-byte-width size.text))\n                       (count.ids        (btree-count text=>id))\n                       (id=>id           (make-fxvector count.ids))\n                       (cid.text.value   (fresh-column-id))\n                       (cid.text.pos     (fresh-column-id))\n                       (cid.text         (fresh-column-id))\n                       (bname.text.value (cons 'column cid.text.value))\n                       (bname.text.pos   (cons 'column cid.text.pos)))\n                  (define pos.final\n                    (call-with-output-file\n                      (storage-block-new! stg bname.text.value)\n                      (lambda (out.text.value)\n                        (call-with-output-file\n                          (storage-block-new! stg bname.text.pos)\n                          (lambda (out.text.pos)\n                            (define (write-pos)\n                              (write-byte-width-nat width.pos out.text.pos (file-position out.text.value)))\n                            (pretty-log `(enumerating ,(btree-count text=>id) text values))\n                            (performance-log\n                              `(writing text column: ,size.text bytes)\n                              (write-pos)\n                              (let ((i 0))\n                                (btree-enumerate\n                                  text=>id\n                                  (lambda (text id)\n                                    (write-bytes text out.text.value)\n                                    (write-pos)\n                                    (unsafe-fxvector-set! id=>id id i)\n                                    (set! i (unsafe-fx+ i 1)))))\n                              (file-position out.text.value)))))))\n                  (add-columns! cid.text.value (hash 'class     'block\n                                                     'name      bname.text.value\n                                                     'bit-width 8\n                                                     'count     size.text\n                                                     'offset    0\n                                                     'min       0\n                                                     'max       255)\n                                cid.text.pos   (hash 'class     'block\n                                                     'name      bname.text.pos\n                                                     'bit-width (* 8 width.pos)\n                                                     'count     (+ 1 count.ids)\n                                                     'offset    0\n                                                     'min       0\n                                                     'max       pos.final)\n                                cid.text       (hash 'class     'text\n                                                     'position  cid.text.pos\n                                                     'value     cid.text.value))\n                  (let* ((cols.text (filter-not not (map (lambda (type col)\n                                                           (and (eq? type 'text) col))\n                                                         column-types cols))))\n                    (let loop ((i (unsafe-fx- i.tuple count.cols)))\n                      (when (unsafe-fx<= 0 i)\n                        (for-each (lambda (col)\n                                    (unsafe-fxvector-set! vec.rows (unsafe-fx+ i col)\n                                                          (unsafe-fxvector-ref\n                                                            id=>id\n                                                            (unsafe-fxvector-ref vec.rows (unsafe-fx+ i col)))))\n                                  cols.text)\n                        (loop (unsafe-fx- i count.cols)))))\n                  cid.text)))\n         (let ((count.tuples.unique (let ((count.rows (quotient i.tuple count.cols)))\n                                      (performance-log\n                                        `(sorting ,count.rows tuples)\n                                        (row-merge-sort! vec.rows vec.cols 0 count.cols count.rows)\n                                        (unsafe-fxquotient (row-deduplicate! vec.rows 0 count.cols count.rows)\n                                                           count.cols)))))\n           (transpose-row-to-col! vec.cols vec.rows 0 count.cols count.tuples.unique)\n           (let ((table-id (build-table column-types column-id.text vec.cols count.tuples.unique)))\n             (pretty-log `(inserted batch of ,count.tuples.unique unique tuples)\n                         `(,size.text bytes for ,(btree-count text=>id) unique text values))\n             (set! tables (cons table-id tables)))))\n       (define (text->id bs)\n         (let* ((count.0 (btree-count text=>id))\n                (id      (btree-ref-or-set! text=>id bs)))\n           (unless (unsafe-fx= count.0 (btree-count text=>id))\n             (set! size.text (unsafe-fx+ size.text (bytes-length bs))))\n           id))\n       (define (identity x) x)\n       (define column-types (relation-type R))\n       (define count.cols   (length column-types))\n       (define cols         (range 0 count.cols))\n       (define column-size  (max (quotient batch-size.bytes (* (length column-types) 8)) 2))\n       (define full-size    (unsafe-fx* count.cols column-size))\n       (define tables       '())\n       (define i.tuple      0)\n       (define size.text    0)\n       (define text=>id     (make-btree))\n       (define vec.rows     (make-fxvector full-size))\n       (define vec.cols     (make-fxvector full-size))\n       (define projections  (map (lambda (ctype) (if (eq? ctype 'text)\n                                                   text->id\n                                                   identity))\n                                 column-types))\n       (start-batch!)\n       (values insert! finish!))\n      (else (error \"invalid batch size\" batch-size.bytes))))\n\n  (define (build-table column-types column-id.text vec.cols row-count)\n    (let ((count.cols      (length column-types))\n          (table-id        (fresh-table-id))\n          (cid.primary-key (fresh-column-id)))\n      (add-columns! cid.primary-key (hash 'class  'line\n                                          'count  row-count\n                                          'offset 0\n                                          'step   1))\n      (let ((cids.attrs (map (lambda (type.col col)\n                               (let ((id.col (performance-log\n                                               `(writing column: ,row-count values)\n                                               (write-fx-column vec.cols (* row-count col) row-count))))\n                                 (cond ((eq? type.col 'text)\n                                        (let ((id.remap (fresh-column-id)))\n                                          (add-columns! id.remap (hash 'class  'remap\n                                                                       'local  id.col\n                                                                       'global column-id.text))\n                                          id.remap))\n                                       (else id.col))))\n                             column-types (range count.cols))))\n        (stg-update! 'table-id=>column-ids\n                     (lambda (tid=>cids)\n                       (hash-set tid=>cids table-id (cons cid.primary-key cids.attrs)))))\n      table-id))\n\n  (define (build-table-indexes! orderings tids)\n    (for-each\n      (lambda (ordering)\n        (let ((prefixes (ordering->prefixes ordering)))\n          (for-each\n            (lambda (tid)\n              (define (has-index-prefix? prefix)\n                (hash-has-key? (stg-ref 'index-prefix=>key-column-id) (cons tid prefix)))\n              (unless (has-index-prefix? (car prefixes))\n                (define prefixes.needed  (map (lambda (p) (and (not (has-index-prefix? p)) p))\n                                              (reverse prefixes)))\n                (define cid=>desc        (stg-ref 'column-id=>column))\n                (define descs.col        (map (lambda (cid) (hash-ref cid=>desc cid))\n                                              (let ((cids (hash-ref (stg-ref 'table-id=>column-ids) tid)))\n                                                (map (lambda (pos) (list-ref cids pos))\n                                                     (car prefixes)))))\n                (define count.cols       (length descs.col))\n                (define count.rows       (column-count (car descs.col)))\n                (define vec.cols         (make-fxvector (* count.cols count.rows)))\n                (define vec.rows         (make-fxvector (* count.cols count.rows)))\n                (performance-log\n                  `(reading ,count.cols columns)\n                  (for-each (lambda (i.col desc.col)\n                              (read-fx-column/vec! desc.col vec.cols (* i.col count.rows)))\n                            (range count.cols) descs.col))\n                (clear-column-vector-cache!)\n                (transpose-col-to-row! vec.cols vec.rows 0 count.cols count.rows)\n                (performance-log\n                  `(sorting ,count.rows tuples)\n                  (row-merge-sort! vec.rows vec.cols 0 count.cols count.rows))\n                (transpose-row-to-col! vec.cols vec.rows 0 count.cols count.rows)\n                (define vs.pos (map (lambda (p) (and p (make-fxvector (+ count.rows 1))))\n                                    (cdr prefixes.needed)))\n                (for-each (lambda (v.pos) (when v.pos (unsafe-fxvector-set! v.pos 0 0))) vs.pos)\n                (define counts.key\n                  (performance-log\n                    `(grouping keys for ,count.rows tuples)\n                    (let loop.main ((base.col 0)\n                                    (vs.pos vs.pos)\n                                    (pos*   (make-list count.cols 0))\n                                    (start  0)\n                                    (end    count.rows))\n                      (if (null? vs.pos)\n                        (list end) ; final key column is already deduplicated\n                        (let ((v.pos (car vs.pos)))\n                          (let loop.key ((pos (car pos*)) (pos* (cdr pos*)) (start start) (end end))\n                            (if (unsafe-fx= start end)\n                              (cons pos pos*)\n                              (let* ((key       (unsafe-fxvector-ref vec.cols (unsafe-fx+ base.col start)))\n                                     (start.new (unsafe-fx-\n                                                  (unsafe-bisect-next\n                                                    (unsafe-fx+ base.col start)\n                                                    (unsafe-fx+ base.col end)\n                                                    (lambda (i) (unsafe-fx<= (unsafe-fxvector-ref vec.cols i) key)))\n                                                  base.col)))\n                                (unsafe-fxvector-set! vec.cols (unsafe-fx+ base.col pos) key)\n                                (let ((pos* (loop.main (unsafe-fx+ base.col count.rows)\n                                                       (cdr vs.pos) pos* start start.new))\n                                      (pos  (unsafe-fx+ pos 1)))\n                                  (when v.pos (unsafe-fxvector-set! v.pos pos (car pos*)))\n                                  (loop.key pos pos* start.new end))))))))))\n                (for-each\n                  (lambda (prefix.needed desc.key i.key v.pos count.key count.pos)\n                    (when prefix.needed\n                      (define iprefix (cons tid prefix.needed))\n                      (let* ((cid.text (column->text-cid desc.key))\n                             (cid.key  (performance-log\n                                         `(writing key column: ,count.key values)\n                                         (write-fx-column vec.cols (* i.key count.rows) count.key)))\n                             (cid.key  (if cid.text\n                                         (let ((cid.remap (fresh-column-id)))\n                                           (add-columns! cid.remap (hash 'class  'remap\n                                                                         'local  cid.key\n                                                                         'global cid.text))\n                                           cid.remap)\n                                         cid.key)))\n                        (stg-update! 'index-prefix=>key-column-id\n                                     (lambda (iprefix=>cid) (hash-set iprefix=>cid iprefix cid.key))))\n                      (when v.pos\n                        (stg-update! 'index-prefix=>position-column-id\n                                     (lambda (iprefix=>cid)\n                                       (hash-set iprefix=>cid iprefix\n                                                 (performance-log\n                                                   `(writing position column: ,count.pos values)\n                                                   (write-fx-column v.pos 0 count.pos))))))))\n                  prefixes.needed\n                  descs.col\n                  (range count.cols)\n                  (cons #f vs.pos)\n                  counts.key\n                  (cons #f (map (lambda (c) (+ c 1))\n                                (reverse (cdr (reverse counts.key))))))\n                (pretty-log `(indexed table: ,tid ordering: ,ordering))\n                (checkpoint!)))\n            tids)))\n      ;; sorting by descending-length makes it easier to share common index building work\n      (sort orderings (lambda (o1 o2) (> (length o1) (length o2))))))\n\n  (define (merge-text-columns cids.text.original)\n    (match cids.text.original\n      ('()             (values #f       (hash)))\n      ((list cid.text) (values cid.text (hash)))\n      (_ (define custodian.gs (make-custodian))\n         (define *g&count&id=>id\n           (let ((cid=>c (stg-ref 'column-id=>column)))\n             (parameterize ((current-custodian custodian.gs))\n               (map (lambda (cid)\n                      (define desc.text (hash-ref cid=>c cid))\n                      (define count     (column-count desc.text))\n                      (define s         ((column->start->s desc.text) 0))\n                      (define id=>id    (make-fxvector count))\n                      (list (and (< 0 count)\n                                 (let loop ((id 0) (s s))\n                                   (match (s) ; assume uniform stream\n                                     ((cons text s)  (cons text (lambda (i)\n                                                                  (unsafe-fxvector-set! id=>id id i)\n                                                                  (loop (unsafe-fx+ id 1) s))))\n                                     (_              #f))))\n                            count\n                            id=>id))\n                    cids.text.original))))\n         (define gs               (map car   *g&count&id=>id))\n         (define counts           (map cadr  *g&count&id=>id))\n         (define id=>ids          (map caddr *g&count&id=>id))\n         (define vec.pos          (make-fxvector (+ (foldl + 0 counts) 1)))\n         (define cid.text.value   (fresh-column-id))\n         (define cid.text         (fresh-column-id))\n         (define bname.text.value (cons 'column cid.text.value))\n         (define count.ids        (let ((i.pos 0))\n                                    (call-with-output-file\n                                      (storage-block-new! stg bname.text.value)\n                                      (lambda (out)\n                                        (define (write-pos)\n                                          (fxvector-set! vec.pos i.pos (file-position out))\n                                          (set! i.pos (unsafe-fx+ i.pos 1)))\n                                        (write-pos)\n                                        (performance-log\n                                          `(merging text columns with counts: . ,counts)\n                                          ((unsafe-multi-merge (lambda (g.0 g.1) (bytes<? (car g.0) (car g.1)))\n                                                               (filter-not not gs)\n                                                               not\n                                                               car\n                                                               (lambda (g i) ((cdr g) i)))\n                                           (lambda (text)\n                                             (write-bytes text out)\n                                             (write-pos))))))))\n         (custodian-shutdown-all custodian.gs) ; close all block file ports\n         (add-columns! cid.text.value (hash 'class     'block\n                                            'name      bname.text.value\n                                            'bit-width 8\n                                            'count     (fxvector-ref vec.pos count.ids)\n                                            'offset    0\n                                            'min       0\n                                            'max       255)\n                       cid.text       (hash 'class     'text\n                                            'position  (write-fx-column vec.pos 0 (+ count.ids 1))\n                                            'value     cid.text.value))\n         (values cid.text (make-immutable-hash (map cons cids.text.original id=>ids))))))\n\n  (define (merge-text-columns/tables tids.original)\n    (define (cid->text-cid cid) (column->text-cid (hash-ref cid=>c cid)))\n    (define tid=>cids (stg-ref 'table-id=>column-ids))\n    (define cid=>c    (stg-ref 'column-id=>column))\n    (define cids.text.original\n      (set->list\n        (list->set\n          (append*\n            (map (lambda (tid)\n                   (filter-not not (map cid->text-cid (hash-ref tid=>cids tid))))\n                 tids.original)))))\n    (define-values (cid.text.new cid.text=>id=>id) (merge-text-columns cids.text.original))\n    (define cid.text=>cid.global.new\n      (make-immutable-hash\n        (hash-map cid.text=>id=>id\n                  (lambda (cid.text id=>id)\n                    (cons cid.text\n                          (let ((cid.global.new (fresh-column-id)))\n                            (add-columns! cid.global.new\n                                          (hash 'class  'remap\n                                                'local  (write-fx-column id=>id 0 (fxvector-length id=>id))\n                                                'global cid.text.new))\n                            cid.global.new))))))\n    (make-immutable-hash\n      (map (lambda (tid)\n             (let* ((cids.original (hash-ref tid=>cids tid))\n                    (cids.new\n                      (map (lambda (cid.original)\n                             (or (let ((desc.original (hash-ref cid=>c cid.original)))\n                                   (let loop ((desc desc.original))\n                                     (case (hash-ref desc 'class)\n                                       ((remap) (let* ((cid.global  (hash-ref desc 'global))\n                                                       (desc.global (hash-ref cid=>c cid.global)))\n                                                  (let ((cid.global.new\n                                                          (case (hash-ref desc.global 'class)\n                                                            ((text) (hash-ref cid.text=>cid.global.new cid.global #f))\n                                                            (else   (loop desc.global)))))\n                                                    (and cid.global.new\n                                                         (let ((cid.new (fresh-column-id)))\n                                                           (add-columns! cid.new (hash 'class  'remap\n                                                                                       'local  (hash-ref desc 'local)\n                                                                                       'global cid.global.new))\n                                                           cid.new)))))\n                                       (else    #f))))\n                                 cid.original))\n                           cids.original)))\n               (cons tid (if (equal? cids.original cids.new)\n                           tid\n                           (let ((tid.new (fresh-table-id)))\n                             (stg-update! 'table-id=>column-ids\n                                          (lambda (tid=>cids) (hash-set tid=>cids tid.new cids.new)))\n                             tid.new)))))\n           tids.original)))\n\n  (define (merge-table-expr type.table texpr)\n    (let* ((cid=>c    (stg-ref 'column-id=>column))\n           (tid=>cids (stg-ref 'table-id=>column-ids))\n           (cid.text  ; All tables must depend on the same text value column, if any\n             (let ((i.text-col (ormap (lambda (type.col i) (and (eq? type.col 'text) i))\n                                      type.table (range 1 (+ (length type.table) 1)))))\n               (and i.text-col\n                    (let loop ((texpr texpr))\n                      (match texpr\n                        ('()          #f)\n                        (`(+ . ,ts)   (ormap loop ts))\n                        (`(- ,t0 ,t1) (or (loop t0) (loop t1)))\n                        (table-id     (column->text-cid (hash-ref cid=>c (list-ref (hash-ref tid=>cids table-id)\n                                                                                   i.text-col)))))))))\n           (count.cols (length type.table))\n           (count.rows.worst-case\n             (let-values\n               (((count.current count.max)\n                 (let loop ((texpr texpr) (count.current 0) (count.max 0))\n                   (match texpr\n                     ('()          (values count.current count.max))\n                     (`(+ . ,ts)   (match ts\n                                     ('()             (values count.current count.max))\n                                     ((cons texpr ts) (let-values (((count.current count.max)\n                                                                    (loop texpr count.current count.max)))\n                                                        (loop `(+ . ,ts) count.current count.max)))))\n                     (`(- ,t0 ,t1) (let-values (((count.current count.max) (loop t0 count.current count.max)))\n                                     (let-values (((_           count.max) (loop t1 count.current count.max)))\n                                       (values count.current count.max))))\n                     (tid          (let* ((count         (column-count (hash-ref cid=>c (car (hash-ref tid=>cids tid)))))\n                                          (count.current (+ count.current count)))\n                                     (values count.current (max count.max count.current))))))))\n               count.max))\n           (vec.cols (make-fxvector (* count.cols count.rows.worst-case)))\n           (vec.rows (make-fxvector (* count.cols count.rows.worst-case))))\n      (let ((count.rows.final\n              (unsafe-fxquotient\n                (performance-log\n                  `(merging table expr: ,texpr)\n                  (let loop ((texpr texpr) (start 0))\n                    (match texpr\n                      ('()          start)\n                      (`(+ . ,ts)   (let ((count.rows (unsafe-fxquotient (- (foldl loop start ts) start) count.cols)))\n                                      (row-merge-sort!  vec.rows vec.cols start count.cols count.rows)\n                                      (row-deduplicate! vec.rows          start count.cols count.rows)))\n                      (`(- ,t0 ,t1) (let* ((mid (loop t0 start))\n                                           (end (loop t1 mid)))\n                                      (row-subtract! vec.rows count.cols start mid end)))\n                      (tid          (let* ((cids      (cdr (hash-ref tid=>cids tid)))\n                                           (descs.col (map (lambda (cid) (hash-ref cid=>c cid)) cids))\n                                           (count     (column-count (car descs.col))))\n                                      (for-each (lambda (i.col desc.col)\n                                                  (read-fx-column/vec! desc.col vec.cols (* i.col count)))\n                                                (range count.cols) descs.col)\n                                      (clear-column-vector-cache!)\n                                      (transpose-col-to-row! vec.cols vec.rows start count.cols count)\n                                      (+ start (* count.cols count)))))))\n                count.cols)))\n        (transpose-row-to-col! vec.cols vec.rows 0 count.cols count.rows.final)\n        (if (< 0 count.rows.final)\n          (build-table type.table cid.text vec.cols count.rows.final)\n          '()))))\n\n    ;; TODO: implement these operations:\n    ;; - text value gc\n    ;;   - compute a table's reachable text ids\n    ;;     - treat each text column as a 1-column table, merge those, and enumerate the sorted/deduped ids\n    ;;   - drop ids from a text column\n    ;;     - (text-remove-ids desc.text ids)  ==>  desc.text.new\n    ;;       - id=>id remapping is implied by the set of removed ids\n\n  (define (compact-relations! rids)\n    (unless (null? rids)\n      (apply pretty-log `(fully compacting relations) (map R-name rids))\n      (let ((tid=>tid (merge-text-columns/tables\n                        (set->list\n                          (list->set\n                            (append* (map (lambda (rid) (table-expr->table-ids (R-texpr rid)))\n                                          rids)))))))\n        (for-each (lambda (rid) (R-assign-t! rid (table-expr-map (lambda (tid) (hash-ref tid=>tid tid))\n                                                                 (R-texpr rid))))\n                  rids))\n      (checkpoint!)\n      (for-each compact-relation-fully! rids)\n      ;; TODO: garbage collect unreachable shared text values\n      ;; TODO: after text value gc and applying remappings, eliminate those remappings by rewriting the affected columns\n      ))\n\n  (define (compact-relation-fully! rid)\n    (let ((texpr (R-texpr rid)))\n      (when (pair? texpr)\n        (pretty-log `(fully compacting relation: ,(R-name rid)))\n        (R-assign-t! rid (merge-table-expr (R-type rid) texpr))\n        (checkpoint!))))\n\n  (define (compact-relation-incrementally! rid)\n    (when (R-has-name? rid) (pretty-log `(incrementally compacting relation: ,(R-name rid))))\n    ;; TODO:\n    ;; - identify portion of table-expr to compact\n    ;; - consolidate relevant text columns into one shared text column\n    ;; - merge tables and update table-expr\n    (void))\n\n  (define (collect-garbage!)\n    (define (remove-unreachable! stg-key reachable)\n      (stg-update! stg-key\n                   (lambda (h)\n                     (foldl (lambda (k h) (hash-remove h k))\n                            h\n                            (set->list (set-subtract (list->set (hash-keys h)) reachable))))))\n    (let* ((cid=>c (stg-ref 'column-id=>column))\n           (table-ids.reachable\n             (list->set (append* (map table-expr->table-ids (hash-values (stg-ref 'relation-id=>table-expr))))))\n           (index-prefixes.reachable\n             (list->set (append* (hash-map (stg-ref 'relation-id=>indexes)\n                                           (lambda (rid indexes)\n                                             (let ((ordering-prefixes\n                                                     (append* (map ordering->prefixes (hash-keys indexes)))))\n                                               (append* (map (lambda (tid)\n                                                               (map (lambda (oprefix) (cons tid oprefix))\n                                                                    ordering-prefixes))\n                                                             (table-expr->table-ids (R-texpr rid))))))))))\n           (stgkey.ixp=>cid->cids\n             (lambda (stgkey)\n               (list->set (filter-not not (set-map index-prefixes.reachable\n                                                   (lambda (iprefix) (hash-ref (stg-ref stgkey) iprefix #f)))))))\n           (column-ids.reachable\n             (set-fixed-point\n               (set-union\n                 (list->set (append* (set-map table-ids.reachable\n                                              (lambda (tid) (hash-ref (stg-ref 'table-id=>column-ids) tid)))))\n                 (stgkey.ixp=>cid->cids 'index-prefix=>key-column-id)\n                 (stgkey.ixp=>cid->cids 'index-prefix=>position-column-id))\n               (lambda (cids) (apply set-union (set)\n                                     (set-map cids (lambda (cid)\n                                                     (let loop ((cid cid))\n                                                       (let ((desc (hash-ref cid=>c cid)))\n                                                         (case (hash-ref desc 'class)\n                                                           ((remap) (set-union (set cid)\n                                                                               (loop (hash-ref desc 'local))\n                                                                               (loop (hash-ref desc 'global))))\n                                                           ((text)  (set-union (set cid)\n                                                                               (loop (hash-ref desc 'position))\n                                                                               (loop (hash-ref desc 'value))))\n                                                           (else    (set cid))))))))))))\n      (apply storage-block-remove-names!\n             stg\n             (set->list (set-subtract (list->set (storage-block-names stg))\n                                      (apply set-union (set)\n                                             (set-map column-ids.reachable\n                                                      (lambda (cid)\n                                                        (let ((desc (hash-ref cid=>c cid)))\n                                                          (case (hash-ref desc 'class)\n                                                            ((block) (set (hash-ref desc 'name)))\n                                                            (else    (set))))))))))\n      (remove-unreachable! 'table-id=>column-ids             table-ids.reachable)\n      (remove-unreachable! 'index-prefix=>key-column-id      index-prefixes.reachable)\n      (remove-unreachable! 'index-prefix=>position-column-id index-prefixes.reachable)\n      (remove-unreachable! 'column-id=>column                column-ids.reachable))\n    (checkpoint!))\n\n  (define (text-column->text=>id desc preload?) (let ((count (column-count desc)))\n                                                  (dict:ref (column->ref desc preload?) bytes<?\n                                                            (column->ref (hash 'class  'line\n                                                                               'count  count\n                                                                               'offset 0\n                                                                               'step   1)\n                                                                         preload?)\n                                                            0 count)))\n  (define (text-column->id=>text desc preload?) (let ((count (column-count desc)))\n                                                  (dict:monovec\n                                                    (column->monovec (hash 'class  'line\n                                                                           'count  count\n                                                                           'offset 0\n                                                                           'step   1)\n                                                                     preload?)\n                                                    (column->ref desc preload?)\n                                                    0 count)))\n\n  (define (block-desc->path desc.col) (storage-block-path stg (hash-ref desc.col 'name)))\n  (define (open-input-block desc.col) (open-input-file (block-desc->path desc.col)))\n  (define (open-input-block/cache desc.col)\n    (let ((bpath (block-desc->path desc.col)))\n      ;; NOTE: this caching was causing a race condition when running\n      ;; two queries simultaneously.\n      ;; The caching is to prevent running out of file descriptors\n      ;; when building large knowledge graphs.\n      (or #;(hash-ref bpath=>in bpath #f)\n          (let ((in (open-input-file bpath)))\n            #;(hash-set! bpath=>in bpath in)\n            in))))\n  (define (clear-open-input-blocks!)\n    (for-each close-input-port (hash-values bpath=>in))\n    (hash-clear! bpath=>in))\n\n  (define (column-count desc.col)\n    (case (hash-ref desc.col 'class)\n      ((line block) (hash-ref desc.col 'count))\n      ((text)       (- (column-count (hash-ref (stg-ref 'column-id=>column) (hash-ref desc.col 'position))) 1))\n      ((remap)         (column-count (hash-ref (stg-ref 'column-id=>column) (hash-ref desc.col 'local))))\n      (else         (error \"column-count unimplemented for column class\" desc.col))))\n\n  (define (column-min desc.col)\n    (case (hash-ref desc.col 'class)\n      ((line)       (let ((step   (hash-ref desc.col 'step))\n                          (offset (hash-ref desc.col 'offset)))\n                      (if (<= 0 step)\n                        offset\n                        (+ (* (- (hash-ref desc.col 'count) 1) step) offset))))\n      ((block)      (hash-ref desc.col 'min))\n      ((text)       #f)\n      ((remap)      (let ((cid=>c (stg-ref 'column-id=>column)))\n                      (or (column-min (hash-ref cid=>c (hash-ref desc.col 'global)))\n                          (column-min (hash-ref cid=>c (hash-ref desc.col 'local))))))\n      (else         (error \"column-min unimplemented for column class\" desc.col))))\n\n  (define (column-max desc.col)\n    (case (hash-ref desc.col 'class)\n      ((line)       (let ((step   (hash-ref desc.col 'step))\n                          (offset (hash-ref desc.col 'offset)))\n                      (if (<= step 0)\n                        offset\n                        (+ (* (- (hash-ref desc.col 'count) 1) step) offset))))\n      ((block)      (hash-ref desc.col 'max))\n      ((text)       #f)\n      ((remap)      (let ((cid=>c (stg-ref 'column-id=>column)))\n                      (or (column-max (hash-ref cid=>c (hash-ref desc.col 'global)))\n                          (column-max (hash-ref cid=>c (hash-ref desc.col 'local))))))\n      (else         (error \"column-max unimplemented for column class\" desc.col))))\n\n  (define (column-cardinality desc.col)\n    (case (hash-ref desc.col 'class)\n      ((line)       (let ((step (hash-ref desc.col 'step)))\n                      (if (= step 0)\n                        1\n                        (hash-ref desc.col 'count))))\n      ((block)      (min (hash-ref desc.col 'count)\n                         (+ (- (hash-ref desc.col 'max) (hash-ref desc.col 'min)) 1)))\n      ((text)       (- (column-count (hash-ref (stg-ref 'column-id=>column) (hash-ref desc.col 'position))) 1))\n      ((remap)      (let ((cid=>c (stg-ref 'column-id=>column)))\n                      (min (column-cardinality (hash-ref cid=>c (hash-ref desc.col 'global)))\n                           (column-cardinality (hash-ref cid=>c (hash-ref desc.col 'local))))))\n      (else         (error \"column-count unimplemented for column class\" desc.col))))\n\n  (define ((column->start->s desc.col) start)\n    (case (hash-ref desc.col 'class)\n      ((line)  (let* ((count (max (- (hash-ref desc.col 'count) start) 0))\n                      (step  (hash-ref desc.col 'step)))\n                 (let loop ((i 0) (value (+ (hash-ref desc.col 'offset) (* step start))))\n                   (lambda ()\n                     (if (unsafe-fx< i count)\n                       (cons value (loop (unsafe-fx+ i 1) (unsafe-fx+ value step)))\n                       '())))))\n      ((block) (let* ((count.0 (hash-ref desc.col 'count))\n                      (count   (max (- count.0 start) 0))\n                      (width   (unsafe-fxrshift (hash-ref desc.col 'bit-width) 3))\n                      (offset  (hash-ref desc.col 'offset))\n                      (in      (open-input-block desc.col)))\n                 (file-position in (* width (min count.0 start)))\n                 (let loop ((i 0))\n                   (lambda ()\n                     (if (unsafe-fx< i count)\n                       (cons (unsafe-bytes-nat-ref width (read-bytes width in) 0)\n                             (loop (unsafe-fx+ i 1)))\n                       '())))))\n      ((text)  (let* ((cid=>c (stg-ref 'column-id=>column))\n                      (s.pos  ((column->start->s (hash-ref cid=>c (hash-ref desc.col 'position)))\n                               (+ start 1)))\n                      (in     (open-input-block (hash-ref cid=>c (hash-ref desc.col 'value)))))\n                 (let loop ((s.pos s.pos) (pos.current 0))\n                   (lambda ()\n                     (match (s.pos) ; assume uniform stream\n                       ((cons pos.next s.pos) (cons (read-bytes (unsafe-fx- pos.next pos.current) in)\n                                                    (loop s.pos pos.next)))\n                       (_                     '()))))))\n      ((remap) (let ((s   ((column->start->s (hash-ref (stg-ref 'column-id=>column) (hash-ref desc.col 'local)))\n                           start))\n                     (ref (column->ref (hash-ref (stg-ref 'column-id=>column) (hash-ref desc.col 'global)) #f)))\n                 (values count (s-map ref s))))\n      (else    (error \"column->start->s unimplemented for column class\" desc.col))))\n\n  (define (column->text-cid desc)\n    (case (hash-ref desc 'class)\n      ((remap)           (let* ((cid  (hash-ref desc 'global))\n                                (desc (hash-ref (stg-ref 'column-id=>column) cid)))\n                           (case (hash-ref desc 'class)\n                             ((text) cid)\n                             (else   (column->text-cid desc)))))\n      (else              #f)))\n\n  (define (column->ref desc preload?)\n    (case (hash-ref desc 'class)\n      ((text) (let* ((cid=>c     (stg-ref 'column-id=>column))\n                     (ref.pos    (column->ref (hash-ref cid=>c (hash-ref desc 'position)) preload?))\n                     (desc.value (hash-ref cid=>c (hash-ref desc 'value))))\n                (if preload?\n                    ;; TODO: cache this bytevector\n                    (let ((bs (file->bytes (block-desc->path desc.value))))\n                      (lambda (i) (let ((pos.i   (ref.pos i))\n                                        (pos.i+1 (ref.pos (unsafe-fx+ i 1))))\n                                    (subbytes bs pos.i pos.i+1))))\n                    (let ((in (open-input-block/cache desc.value)))\n                      (lambda (i) (let ((pos.i   (ref.pos i))\n                                        (pos.i+1 (ref.pos (unsafe-fx+ i 1))))\n                                    (file-position in pos.i)\n                                    (read-bytes (unsafe-fx- pos.i+1 pos.i) in)))))))\n      (else   (match-define (monovec ref fnext fprev) (column->monovec desc preload?))\n              (match (column->text-cid desc)\n                (#f       ref)\n                (cid.text (let ((ref.text (column->ref (hash-ref (stg-ref 'column-id=>column) cid.text) preload?)))\n                            (lambda (i) (ref.text (ref i)))))))))\n\n  (define (column->monovec desc preload?)\n    (define (ref->monovec ref)\n      (monovec ref (find-next:ref ref unsafe-fx<) (find-prev:ref ref unsafe-fx<)))\n    (case (hash-ref desc 'class)\n      ((line)  (let ((step   (hash-ref desc 'step))\n                     (offset (hash-ref desc 'offset)))\n                 (if (unsafe-fx= step 0)\n                     (ref->monovec (lambda (_) offset))\n                     (monovec (lambda (i) (unsafe-fx+ (unsafe-fx* step i) offset))\n                              (find-next:line offset step)\n                              (find-prev:line offset step)))))\n      ((block) (let* ((width  (unsafe-fxrshift (hash-ref desc 'bit-width) 3))\n                      (offset (hash-ref desc 'offset)))\n                 (if preload?\n                     (let ((vec (read-fx-column desc)))\n                       (ref->monovec (lambda (i) (unsafe-fxvector-ref vec i))))\n                     (let ((in (open-input-block/cache desc)))\n                       (ref->monovec (lambda (i)\n                                       (file-position in (* width i))\n                                       (unsafe-fx+ (unsafe-bytes-nat-ref width (read-bytes width in) 0) offset)))))))\n      ((text)  #f)\n      ((remap) (let* ((cid=>c      (stg-ref 'column-id=>column))\n                      (desc.global (hash-ref cid=>c (hash-ref desc 'global)))\n                      (monov.local (column->monovec (hash-ref cid=>c (hash-ref desc 'local)) preload?)))\n                 (case (hash-ref desc.global 'class)\n                   ((text) monov.local)\n                   ((line) (match-define (monovec ref.global fnext.global fprev.global) (column->monovec desc.global preload?))\n                           (match-define (monovec ref.local  fnext.local  fprev.local)  monov.local)\n                           (define (ref i) (ref.global (ref.local i)))\n                           (if (unsafe-fx= (hash-ref desc.global 'step) 0)\n                             (ref->monovec ref)\n                             (let ((end.global (hash-ref desc.global 'count)))\n                               (monovec ref\n                                        ;; We use inverse lookup for lines because it should be more efficient.\n                                        ;; TODO: test that this is worth the extra complexity.\n                                        (lambda (inclusive? i.start i.end v)\n                                          (let ((i.global (fnext.global #t 0 end.global v)))\n                                            (if (unsafe-fx< i.global end.global)\n                                              (fnext.local (or inclusive? (unsafe-fx< v (ref.global i.global)))\n                                                           i.start i.end i.global)\n                                              i.end)))\n                                        (lambda (inclusive? i.start i.end v)\n                                          (let ((i.global (fprev.global #t 0 end.global v)))\n                                            (if (unsafe-fx< 0 i.global)\n                                              (fprev.local (or inclusive? (unsafe-fx< (ref.global i.global) v))\n                                                           i.start i.end i.global)\n                                              i.start)))))))\n                   (else (let ((vec.global (read-fx-column desc.global)))\n                           (match-define (monovec ref.local fnext.local fprev.local) monov.local)\n                           (ref->monovec (lambda (i) (unsafe-fxvector-ref vec.global (ref.local i)))))))))\n      (else    (error \"column->monovec unimplemented for column class\" desc))))\n\n  (define (clear-column-vector-cache!) (hash-clear! cdesc=>v))\n\n  (define (read-fx-column desc.col)\n    (or (hash-ref cdesc=>v desc.col #f)\n        (let ((vec (make-fxvector (column-count desc.col))))\n          (read-fx-column/vec! desc.col vec 0)\n          (hash-set! cdesc=>v desc.col vec)\n          vec)))\n\n  (define (read-fx-column/vec! desc.col vec.out start.out)\n    (case (hash-ref desc.col 'class)\n      ((line)  (let* ((count (hash-ref desc.col 'count))\n                      (step  (hash-ref desc.col 'step)))\n                 (let loop ((i 0) (j start.out) (value (hash-ref desc.col 'offset)))\n                   (when (unsafe-fx< i count)\n                     (unsafe-fxvector-set! vec.out j value)\n                     (loop (unsafe-fx+ i 1) (unsafe-fx+ j 1) (unsafe-fx+ value step))))))\n      ((block) (let* ((count  (hash-ref desc.col 'count))\n                      (width  (unsafe-fxrshift (hash-ref desc.col 'bit-width) 3))\n                      (offset (hash-ref desc.col 'offset))\n                      (bs     (file->bytes (block-desc->path desc.col))))\n                 (let loop ((i 0) (j start.out) (k 0))\n                   (when (unsafe-fx< i count)\n                     (unsafe-fxvector-set! vec.out j (unsafe-fx+ (unsafe-bytes-nat-ref width bs k) offset))\n                     (loop (unsafe-fx+ i 1) (unsafe-fx+ j 1) (unsafe-fx+ k width))))))\n      ((remap) (let* ((cid=>c      (stg-ref 'column-id=>column))\n                      (desc.local  (hash-ref cid=>c (hash-ref desc.col 'local)))\n                      (desc.global (hash-ref cid=>c (hash-ref desc.col 'global)))\n                      (end         (unsafe-fx+ (column-count desc.local) start.out)))\n                 (read-fx-column/vec! desc.local vec.out start.out)\n                 ;; TODO: if global is a line, we should do something more efficient\n                 (unless (eq? (hash-ref desc.global 'class) 'text)\n                   (let ((vec.global (read-fx-column desc.global)))\n                     (let loop ((j start.out))\n                       (when (unsafe-fx< j end)\n                         (unsafe-fxvector-set! vec.out j (unsafe-fxvector-ref\n                                                           vec.global (unsafe-fxvector-ref vec.out j)))\n                         (loop (unsafe-fx+ j 1))))))))\n      (else    (error \"read-fx-column/vec! unimplemented for column class\" desc.col))))\n\n  (define (write-fx-column vec.col start count)\n    (define end (+ start count))\n    (define (write-line count offset step)\n      (verbose-log `(write-line: offset: ,offset\n                                 step:   ,step\n                                 count:  ,count))\n      (let ((id.col (fresh-column-id)))\n        (add-columns! id.col (hash 'class  'line\n                                   'count  count\n                                   'offset offset\n                                   'step   step))\n        id.col))\n    (define (write-block min.col max.col)\n      (define-values (width.col offset.col)\n        (let* ((diff.col  (- max.col min.col))\n               (size.diff (nat-min-byte-width diff.col))\n               (size.max  (nat-min-byte-width max.col)))\n          (if (or (< min.col   0)\n                  (< size.diff size.max))\n            (values size.diff min.col)\n            (values size.max  0))))\n      (verbose-log `(write-block: min:    ,min.col\n                                  max:    ,max.col\n                                  offset: ,offset.col\n                                  width:  ,width.col\n                                  count:  ,count))\n      (let* ((id.col     (fresh-column-id))\n             (name.block (cons 'column id.col))\n             (path.block (storage-block-new! stg name.block))\n             (bs.col     (make-bytes (* count width.col))))\n        (let loop ((i start) (j 0))\n          (when (unsafe-fx< i end)\n            (unsafe-bytes-nat-set! width.col bs.col j (- (unsafe-fxvector-ref vec.col i) offset.col))\n            (loop (unsafe-fx+ i 1) (unsafe-fx+ j width.col))))\n        (display-to-file bs.col path.block)\n        (add-columns! id.col (hash 'class     'block\n                                   'name      name.block\n                                   'bit-width (* 8 width.col)\n                                   'count     count\n                                   'offset    offset.col\n                                   'min       min.col\n                                   'max       max.col))\n        id.col))\n    (define (write-remapped-block min.col max.col alphabet)\n      (verbose-log `(write-remapped-block: min: ,min.col max: ,max.col))\n      (let* ((count.alphabet (set-count alphabet))\n             (alphabet       (sort (set->list alphabet) unsafe-fx<))\n             (vec.alphabet   (make-fxvector count.alphabet))\n             (n=>n           (let loop ((i        0)\n                                        (alphabet alphabet)\n                                        (n=>n     (hash)))\n                               (if (unsafe-fx< i count.alphabet)\n                                 (let ((n.next (car alphabet)))\n                                   (unsafe-fxvector-set! vec.alphabet i n.next)\n                                   (loop (unsafe-fx+ i 1)\n                                         (cdr alphabet)\n                                         (hash-set n=>n n.next i)))\n                                 n=>n)))\n             ;; TODO: using full-blown write-fx-column here is a little wasteful\n             (id.alphabet    (write-fx-column vec.alphabet 0 count.alphabet))\n             (id.remap       (fresh-column-id)))\n        (let loop ((i start))\n          (when (unsafe-fx< i end)\n            (unsafe-fxvector-set! vec.col i (hash-ref n=>n (unsafe-fxvector-ref vec.col i)))\n            (loop (unsafe-fx+ i 1))))\n        (add-columns! id.remap (hash 'class  'remap\n                                     'local  (write-block 0 (- count.alphabet 1))\n                                     'global id.alphabet))\n        id.remap))\n    (if (= count 1)\n      (write-line 1 (unsafe-fxvector-ref vec.col start) 0)\n      (let* ((n.0    (unsafe-fxvector-ref vec.col start))\n             (n.1    (unsafe-fxvector-ref vec.col (unsafe-fx+ start 1)))\n             (offset n.0)\n             (step   (unsafe-fx- n.1 n.0)))\n        (if (let loop ((i      (unsafe-fx+ start 2))\n                       (n.prev n.1))\n              (or (unsafe-fx= i end)\n                  (let ((n.next (unsafe-fxvector-ref vec.col i)))\n                    (and (unsafe-fx= (unsafe-fx- n.next n.prev) step)\n                         (loop (unsafe-fx+ i 1) n.next)))))\n          (write-line count offset step)\n          (let loop ((i       (unsafe-fx+ start 2))\n                     (min.col (min n.0 n.1))\n                     (max.col (max n.0 n.1)))\n            (if (unsafe-fx= i end)\n              (let ((count.alphabet.max (max-remap-global-count (nat-min-byte-width (- max.col min.col)) count)))\n                (let loop ((i        (unsafe-fx+ start 2))\n                           (alphabet (set n.0 n.1)))\n                  (if (unsafe-fx= i end)\n                    (write-remapped-block min.col max.col alphabet)\n                    (let ((alphabet (set-add alphabet (unsafe-fxvector-ref vec.col i))))\n                      (if (unsafe-fx< count.alphabet.max (set-count alphabet))\n                        (write-block min.col max.col)\n                        (loop (unsafe-fx+ i 1) alphabet))))))\n              (let ((n.next (unsafe-fxvector-ref vec.col i)))\n                (loop (unsafe-fx+ i 1)\n                      (min min.col n.next)\n                      (max max.col n.next)))))))))\n\n  (define (table-expr type rexpr)\n    (rexpr-clean\n      (let loop ((rexpr (rexpr-clean rexpr)))\n        (match rexpr\n          ('()                     R.empty)\n          (`(+ ,@rs)               (apply R+ (map loop rs)))\n          (`(- ,r0 ,r1)            (R- (loop r0) (loop r1)))\n          ((? wrapped-relation? R) (let* ((R    (wrapped-relation-controller R))\n                                          (path (database-path (R 'database))))\n                                     (unless (equal? path (storage-path stg))\n                                       (error \"cannot combine relations from different databases\"\n                                              path (storage-path stg)))\n                                     (unless (equal? (R 'type) type)\n                                       (error \"type mismatch\" (R 'type) type))\n                                     (R 'table-expr)))))))\n\n  (define cdesc=>v  (make-hash))\n  (define bpath=>in (make-hash))\n  (define rids.new  (mutable-set))\n  (define id=>R     (make-weak-hash))\n  (define (name->R name)\n    (id->R (hash-ref (name=>relation-id) name\n                     (lambda () (error \"unknown relation\" name (storage-path stg))))))\n  (define (id->R id.R)\n    (let* ((key.R (list id.R))\n           (R     (hash-ref id=>R key.R #f)))\n      (if R\n        (wrapped-relation (hash-ref-key id=>R key.R) R)\n        (wrapped-relation key.R                      (let ((R (make-relation id.R)))\n                                                       (hash-set! id=>R key.R R)\n                                                       R)))))\n  (define (stg-ref      key)        (storage-description-ref     stg key))\n  (define (stg-set!     key value)  (storage-description-set!    stg key value))\n  (define (stg-update!  key update) (storage-description-update! stg key update))\n  (define (R-anonymous)             (error \"anonymous relation has no name\"))\n  (define (R-valid?     id)         (hash-has-key? (stg-ref 'relation-id=>type)  id))\n  (define (R-has-name?  id)         (hash-has-key? (stg-ref 'relation-id=>name)  id))\n  (define (R-name       id)         (hash-ref (stg-ref 'relation-id=>name)       id R-anonymous))\n  (define (R-attrs      id)         (hash-ref (stg-ref 'relation-id=>attributes) id))\n  (define (R-type       id)         (hash-ref (stg-ref 'relation-id=>type)       id))\n  (define (R-texpr      id)         (hash-ref (stg-ref 'relation-id=>table-expr) id))\n  (define (R-assign-t!  id texpr)   (stg-update! 'relation-id=>table-expr\n                                                 (lambda (rid=>ts) (hash-set rid=>ts id texpr))))\n  (define (R-assign-r!  id rexpr)   (R-assign-t! id (table-expr (R-type id) rexpr)))\n  (define (name=>relation-id)       (stg-ref 'name=>relation-id))\n  (define (relation-name? name)     (hash-has-key? (name=>relation-id) name))\n  (define (new-relation?! name)     (when (relation-name? name)\n                                      (error \"relation already exists\" name (storage-path stg))))\n  (define (fresh-relation-id)       (fresh-uid))\n  (define (fresh-table-id)          (fresh-uid))\n  (define (fresh-column-id)         (fresh-uid))\n  (define (fresh-uid)               (let ((uid (stg-ref 'next-uid)))\n                                      (stg-set! 'next-uid (+ uid 1))\n                                      uid))\n  (define (add-columns! id desc . id&descs)\n    (stg-update! 'column-id=>column\n                 (lambda (cid=>desc) (apply hash-set* cid=>desc id desc id&descs))))\n  (define (checkpoint!)\n    (when (storage-checkpoint-pending? stg)\n      (storage-checkpoint! stg))\n    (when (and (auto-empty-trash?)\n               (not (storage-trash-empty? stg)))\n      (storage-trash-empty! stg)))\n  (define (revert!)\n    (for-each (lambda (rid) (let ((R (hash-ref id=>R (list rid) #f)))\n                              (when R (R 'invalidate!))))\n              (set->list rids.new))\n    (set-clear! rids.new)\n    (storage-revert! stg))\n  (define (commit!)\n    (for-each (lambda (rid)\n                (let ((R (hash-ref id=>R (list rid) #f)))\n                  (when (and R (not (R-has-name? rid)))\n                    (R 'delete!))))  ; Delete anonymous relations before checkpoint\n              (set->list rids.new))\n    (checkpoint!)\n    (set-clear! rids.new)\n    (perform-pending-jobs!))\n  (define (perform-pending-jobs!)\n    (compact-relations! (filter R-valid? (hash-keys (stg-ref 'relations-to-fully-compact))))\n    (stg-set! 'relations-to-fully-compact (hash))\n    (checkpoint!)\n    (for-each compact-relation-incrementally!\n              (filter R-valid? (hash-keys (stg-ref 'relations-to-incrementally-compact))))\n    (stg-set! 'relations-to-incrementally-compact (hash))\n    (checkpoint!)\n    (for-each\n      (lambda (rid&texpr)\n        (match-define (cons rid texpr) rid&texpr)\n        (let ((tids (set->list (list->set (table-expr->table-ids texpr)))))\n          (build-table-indexes! (hash-keys (hash-ref (stg-ref 'relation-id=>indexes) rid)) tids)))\n      (hash->list (stg-ref 'relation-id=>table-expr)))\n    (checkpoint!)\n    (collect-garbage!))\n\n  (define stg (storage:filesystem path.db))\n  (let ((version (storage-description-ref stg 'database-format-version #f)))\n    (unless (equal? version version.current)\n      (when version (error \"unknown version\" version))\n      (stg-set! 'database-format-version            version.current)\n      (stg-set! 'name=>relation-id                  (hash))\n      (stg-set! 'relation-id=>name                  (hash))\n      (stg-set! 'relation-id=>attributes            (hash))\n      (stg-set! 'relation-id=>type                  (hash))\n      ;; relation-id => table-expr\n      (stg-set! 'relation-id=>table-expr            (hash))\n      ;; relation-id => (ordering => #t)\n      (stg-set! 'relation-id=>indexes               (hash))\n      ;; table-id => (list column-id ...)\n      (stg-set! 'table-id=>column-ids               (hash))\n      ;; (cons table-id ordering-prefix) => column-id\n      (stg-set! 'index-prefix=>key-column-id        (hash))\n      ;; (cons table-id ordering-prefix) => column-id  ; for forming intervals\n      (stg-set! 'index-prefix=>position-column-id   (hash))\n      ;; desc.column:\n      ;;  (hash 'class  'line\n      ;;        'count  nat\n      ;;        'offset int\n      ;;        'step   int)\n      ;; OR\n      ;;  (hash 'class     'block\n      ;;        'name      block-name\n      ;;        'bit-width nat\n      ;;        'count     nat\n      ;;        'offset    int\n      ;;        'min       int\n      ;;        'max       int)\n      ;; OR\n      ;;  (hash 'class  'remap  ; monotonic injection from local to global namespace, possibly for compression\n      ;;        'local  column-id\n      ;;        'global column-id)\n      ;; OR\n      ;;  (hash 'class    'text\n      ;;        'position column-id\n      ;;        'value    column-id)\n      ;; column-id => desc.column\n      (stg-set! 'column-id=>column                  (hash))\n      ;; relation-id => #t\n      (stg-set! 'relations-to-fully-compact         (hash))\n      ;; relation-id => #t\n      (stg-set! 'relations-to-incrementally-compact (hash))\n      (stg-set! 'next-uid                           0)\n      (checkpoint!))\n    (perform-pending-jobs!))\n\n  (define db\n    (wrapped-database\n      (method-lambda\n        ((path)                (storage-path stg))\n        ((relation-names)      (hash-keys (name=>relation-id)))\n        ((relation-name? name) (relation-name? name))\n        ((relation       name) (name->R name))\n        ((relation-builder type batch-size)\n         (valid-relation-type?! type)\n         (define id.R (fresh-relation-id))\n         (set-add! rids.new id.R)\n         (stg-update! 'relation-id=>attributes (lambda (rid=>as) (hash-set rid=>as id.R (range (length type)))))\n         (stg-update! 'relation-id=>type       (lambda (rid=>t)  (hash-set rid=>t  id.R type)))\n         (stg-update! 'relation-id=>indexes    (lambda (rid=>is) (hash-set rid=>is id.R (hash))))\n         (R-assign-t! id.R R.empty)\n         (relation-builder id.R batch-size))\n        ((commit!)      (commit!))\n        ((revert!)      (revert!))\n        ((trash-empty!) (storage-trash-empty! stg)))))\n  db)\n\n(define (valid-attributes?! attrs)\n  (unless (list? attrs)\n    (error \"attributes must be a list\" attrs))\n  (unless (= (length attrs) (set-count (list->set attrs)))\n    (error \"attributes must be unique\" attrs)))\n\n(define (valid-relation-type?! type)\n  (unless (list? type) (error \"relation type must be a list\" type))\n  (when   (null? type) (error \"relation must include at least one attribute type\"))\n  (for-each (lambda (t) (unless (member t '(int text))\n                          (error \"invalid attribute type\" t 'in type)))\n            type))\n\n(define (ordering->prefixes ordering)\n  (let ((rcols (reverse ordering))) ; prefixes ordered from longest to shortest\n    (let loop ((c0 (car rcols)) (rcols (cdr rcols)))\n      (if (null? rcols)\n        (list (list c0))\n        (cons (reverse (cons c0 rcols))\n              (loop (car rcols) (cdr rcols)))))))\n\n(define (unsafe-fxvector-copy! vec.out out.start vec.in in.start in.end)\n  (let loop ((in in.start) (out out.start))\n    (when (unsafe-fx< in in.end)\n      (unsafe-fxvector-set! vec.out out (unsafe-fxvector-ref vec.in in))\n      (loop (unsafe-fx+ in 1) (unsafe-fx+ out 1)))))\n\n;; Performance assumption: columns are narrower than rows.  If this may be violated, perform a check\n;; and invert the looping pattern when violated, to play nicely with the CPU cache.\n(define (transpose-col-to-row! vec.cols vec.rows start.rows count.cols count.rows)\n  (let loop.row ((row        (unsafe-fx- count.rows 1))\n                 (row.scaled (unsafe-fx+ start.rows (unsafe-fx* (unsafe-fx- count.rows 1) count.cols))))\n    (when (unsafe-fx<= 0 row)\n      (let loop.col ((col        (unsafe-fx- count.cols 1))\n                     (col.scaled (unsafe-fx* (unsafe-fx- count.cols 1) count.rows)))\n        (when (unsafe-fx<= 0 col)\n          (unsafe-fxvector-set!\n            vec.rows (unsafe-fx+ row.scaled col)\n            (unsafe-fxvector-ref vec.cols (unsafe-fx+ col.scaled row)))\n          (loop.col (unsafe-fx- col 1) (unsafe-fx- col.scaled count.rows))))\n      (loop.row (unsafe-fx- row 1) (unsafe-fx- row.scaled count.cols)))))\n(define (transpose-row-to-col! vec.cols vec.rows start.rows count.cols count.rows)\n  (let loop.row ((row (unsafe-fx- count.rows 1))\n                 (row.scaled (unsafe-fx+ start.rows (unsafe-fx* (unsafe-fx- count.rows 1) count.cols))))\n    (when (unsafe-fx<= 0 row)\n      (let loop.col ((col        (unsafe-fx- count.cols 1))\n                     (col.scaled (unsafe-fx* (unsafe-fx- count.cols 1) count.rows)))\n        (when (unsafe-fx<= 0 col)\n          (unsafe-fxvector-set!\n            vec.cols (unsafe-fx+ col.scaled row)\n            (unsafe-fxvector-ref vec.rows (unsafe-fx+ row.scaled col)))\n          (loop.col (unsafe-fx- col 1) (unsafe-fx- col.scaled count.rows))))\n      (loop.row (unsafe-fx- row 1) (unsafe-fx- row.scaled count.cols)))))\n\n(define (row-merge-sort! vec.rows vec.buffer start.rows count.cols count.rows)\n  ;; Assume the same usable index range of vec.rows and vec.buffer, begnning at start.rows\n  (define (scale i) (unsafe-fx+ start.rows (unsafe-fx* count.cols i)))\n  (define (tuple<? vec.a a vec.b b)\n    (let ((x.a (unsafe-fxvector-ref vec.a a))\n          (x.b (unsafe-fxvector-ref vec.b b)))\n      (or (unsafe-fx< x.a x.b)\n          (and (unsafe-fx= x.a x.b)\n               (let loop ((i 1))\n                 (and (unsafe-fx< i count.cols)\n                      (let ((x.a (unsafe-fxvector-ref vec.a (unsafe-fx+ a i)))\n                            (x.b (unsafe-fxvector-ref vec.b (unsafe-fx+ b i))))\n                        (or (unsafe-fx< x.a x.b)\n                            (and (unsafe-fx= x.a x.b)\n                                 (loop (unsafe-fx+ i 1)))))))))))\n  (define (find-unsorted start end)\n    (let ((i   (scale start))\n          (end (scale end)))\n      (let loop ((count 1)\n                 (i     i)\n                 (j     (unsafe-fx+ count.cols i)))\n        (if (or (unsafe-fx= j end)\n                (tuple<? vec.rows j vec.rows i))\n          (unsafe-fx+ count start)\n          (loop (unsafe-fx+ count 1) j (unsafe-fx+ count.cols j))))))\n  (let ((start.unsorted (find-unsorted 0 count.rows)))\n    (when (unsafe-fx< start.unsorted count.rows)\n      (let sort-range! ((start 0) (start.unsorted start.unsorted) (end count.rows))\n        (let ((diff (unsafe-fx- end start)))\n          (when (unsafe-fx< 1 diff)\n            (let ((mid (unsafe-fx+ start (unsafe-fxrshift diff 1))))\n              (if (unsafe-fx<= mid start.unsorted)\n                (sort-range! mid start.unsorted end)\n                (begin (sort-range! start start.unsorted mid)\n                       (let ((start.unsorted (find-unsorted mid end)))\n                         (when (unsafe-fx< start.unsorted end)\n                           (sort-range! mid start.unsorted end)))))\n              (let ((mid.scaled (scale mid)))\n                (let ((start (let loop ((start start) (end mid))\n                               (if (unsafe-fx<= end start)\n                                 end\n                                 (let ((i (unsafe-fx+ start (unsafe-fxrshift (unsafe-fx- end start) 1))))\n                                   (if (tuple<? vec.rows mid.scaled vec.rows (scale i))\n                                     (loop start            i)\n                                     (loop (unsafe-fx+ i 1) end)))))))\n                  (when (unsafe-fx< start mid)\n                    (let ((start (scale start))\n                          (mid   mid.scaled)\n                          (end   (scale end)))\n                      (unsafe-fxvector-copy! vec.buffer start vec.rows start mid)\n                      (let merge! ((in.buffer start) (in.rows mid) (out.rows start))\n                        (if (tuple<? vec.rows in.rows vec.buffer in.buffer)\n                          (let ((in.next.rows (unsafe-fx+ in.rows count.cols)))\n                            (unsafe-fxvector-copy! vec.rows out.rows vec.rows in.rows in.next.rows)\n                            (if (unsafe-fx< in.next.rows end)\n                              (merge! in.buffer in.next.rows (unsafe-fx+ out.rows count.cols))\n                              (unsafe-fxvector-copy! vec.rows (unsafe-fx+ out.rows count.cols) vec.buffer in.buffer mid)))\n                          (let ((in.next.buffer (unsafe-fx+ in.buffer count.cols)))\n                            (unsafe-fxvector-copy! vec.rows out.rows vec.buffer in.buffer in.next.buffer)\n                            (when (unsafe-fx< in.next.buffer mid)\n                              (merge! in.next.buffer in.rows (unsafe-fx+ out.rows count.cols)))))))))))))))))\n\n(define (row-deduplicate! vec.rows start.rows count.cols count.rows)\n  (define (tuple=? a b)\n    (and (unsafe-fx= (unsafe-fxvector-ref vec.rows a)\n                     (unsafe-fxvector-ref vec.rows b))\n         (let loop ((i 1))\n           (or (unsafe-fx= i count.cols)\n               (and (unsafe-fx= (unsafe-fxvector-ref vec.rows (unsafe-fx+ a i))\n                                (unsafe-fxvector-ref vec.rows (unsafe-fx+ b i)))\n                    (loop (unsafe-fx+ i 1)))))))\n  (let ((end (+ (* count.cols count.rows) start.rows)))\n    (if (< start.rows end)\n      (let loop.no-gap ((prev start.rows))\n        (let ((current (unsafe-fx+ prev count.cols)))\n          (if (unsafe-fx< current end)\n            (if (tuple=? prev current)\n              (let loop.gap ((prev prev) (current (unsafe-fx+ current count.cols)))\n                (if (unsafe-fx< current end)\n                  (if (tuple=? prev current)\n                    (loop.gap prev (unsafe-fx+ current count.cols))\n                    (let ((prev (unsafe-fx+ prev    count.cols))\n                          (next (unsafe-fx+ current count.cols)))\n                      (unsafe-fxvector-copy! vec.rows prev vec.rows current next)\n                      (loop.gap prev next)))\n                  (unsafe-fx+ prev count.cols)))\n              (loop.no-gap current))\n            end)))\n      start.rows)))\n\n;; TODO: row-intersect!\n;; - Binary?  Or multiple ranges simultaneously?\n\n;; TODO: support subtracting from a separate vector?\n;; TODO: Exponential-search/bisect-next at least one side (based on which size is smaller)?\n(define (row-subtract! vec.rows count.cols start mid end)\n  (define (move! i j) (unsafe-fxvector-copy! vec.rows j vec.rows i (unsafe-fx+ i count.cols)))\n  (define (tuple-compare a b)\n    (let loop ((i 0))\n      (let ((val.a (unsafe-fxvector-ref vec.rows (unsafe-fx+ i a)))\n            (val.b (unsafe-fxvector-ref vec.rows (unsafe-fx+ i b))))\n        (cond ((unsafe-fx< val.a val.b)  -1)\n              ((unsafe-fx< val.b val.a)   1)\n              (else                      (let ((i (unsafe-fx+ i 1)))\n                                           (if (unsafe-fx= i count.cols)\n                                             0\n                                             (loop i))))))))\n  (if (or (unsafe-fx= start mid) (unsafe-fx= mid end))\n    mid\n    (let loop.no-gap ((i start) (k mid))\n      (case (tuple-compare i k)\n        ((-1) (let ((i (unsafe-fx+ i 1))) (if (unsafe-fx= i mid)\n                                            mid\n                                            (loop.no-gap i k))))\n        (( 1) (let ((k (unsafe-fx+ k 1))) (if (unsafe-fx= k end)\n                                            mid\n                                            (loop.no-gap i k))))\n        (else (if (or (unsafe-fx= i mid) (unsafe-fx= k end))\n                i\n                (let loop.gap ((i (unsafe-fx+ i 1)) (j i) (k (unsafe-fx+ k 1)))\n                  (case (tuple-compare i k)\n                    ((-1) (move! i j)\n                          (let ((i (unsafe-fx+ i 1)) (j (unsafe-fx+ j 1)))\n                            (if (unsafe-fx= i mid)\n                              j\n                              (loop.gap i j k))))\n                    (( 1) (let ((k (unsafe-fx+ k 1)))\n                            (if (unsafe-fx= k end)\n                              j\n                              (loop.gap i j k))))\n                    (else (let ((i (unsafe-fx+ i 1)) (k (unsafe-fx+ k 1)))\n                            (cond ((unsafe-fx= i mid) j)\n                                  ((unsafe-fx= k end) (unsafe-fxvector-copy! vec.rows j vec.rows i mid)\n                                                      (unsafe-fx+ j (unsafe-fx- mid i)))\n                                  (else               (loop.gap i j k)))))))))))))\n\n(define (nat-min-byte-width nat.max) (max (min-bytes nat.max) 1))\n\n(define (max-remap-global-count width.local count.local)\n  (define scale.max 2/3)\n  (define size.min  (expt 2 20))\n  (if (< (* count.local width.local) size.min)\n    0\n    (let loop ((width.global (- width.local 1)) (count.max 0))\n      (if (= width.global 0)\n        count.max\n        (let ((count.candidate (min (expt 256 width.global)\n                                    (floor (/ (* count.local (- (* scale.max width.local) width.global))\n                                              width.local)))))\n          (loop (- width.global 1) (max count.max count.candidate)))))))\n\n(define (write-byte-width-nat width out n)\n  (define bs (make-bytes width))\n  (unsafe-bytes-nat-set! width bs 0 n)\n  (write-bytes bs out))\n\n(define (unsafe-bytes-nat-set! width bs offset n)\n  (case width\n    ((1)  (1-unrolled-unsafe-bytes-nat-set! bs offset n))\n    ((2)  (2-unrolled-unsafe-bytes-nat-set! bs offset n))\n    ((3)  (3-unrolled-unsafe-bytes-nat-set! bs offset n))\n    ((4)  (4-unrolled-unsafe-bytes-nat-set! bs offset n))\n    ((5)  (5-unrolled-unsafe-bytes-nat-set! bs offset n))\n    ((6)  (6-unrolled-unsafe-bytes-nat-set! bs offset n))\n    (else (rolled-unsafe-bytes-nat-set! width bs offset n))))\n\n(define (rolled-unsafe-bytes-nat-set! bs offset width n)\n  (let loop ((i     offset)\n             (shift (unsafe-fxlshift (unsafe-fx- width 1) 3)))\n    (when (unsafe-fx<= 0 shift)\n      (unsafe-bytes-set! bs i (unsafe-fxand 255 (unsafe-fxrshift n shift)))\n      (loop (unsafe-fx+ i     1)\n            (unsafe-fx- shift 8)))))\n(define (1-unrolled-unsafe-bytes-nat-set! bs i n) (unsafe-bytes-set! bs i n))\n(define (2-unrolled-unsafe-bytes-nat-set! bs i n)\n  (unsafe-bytes-set! bs i                (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 1) (unsafe-fxand 255 n)))\n(define (3-unrolled-unsafe-bytes-nat-set! bs i n)\n  (unsafe-bytes-set! bs i                (unsafe-fxand 255 (unsafe-fxrshift n 16)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 1) (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 2) (unsafe-fxand 255 n)))\n(define (4-unrolled-unsafe-bytes-nat-set! bs i n)\n  (unsafe-bytes-set! bs i                (unsafe-fxand 255 (unsafe-fxrshift n 24)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 1) (unsafe-fxand 255 (unsafe-fxrshift n 16)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 2) (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 3) (unsafe-fxand 255 n)))\n(define (5-unrolled-unsafe-bytes-nat-set! bs i n)\n  (unsafe-bytes-set! bs i                (unsafe-fxand 255 (unsafe-fxrshift n 32)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 1) (unsafe-fxand 255 (unsafe-fxrshift n 24)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 2) (unsafe-fxand 255 (unsafe-fxrshift n 16)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 3) (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 4) (unsafe-fxand 255 n)))\n(define (6-unrolled-unsafe-bytes-nat-set! bs i n)\n  (unsafe-bytes-set! bs i                (unsafe-fxand 255 (unsafe-fxrshift n 40)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 1) (unsafe-fxand 255 (unsafe-fxrshift n 32)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 2) (unsafe-fxand 255 (unsafe-fxrshift n 24)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 3) (unsafe-fxand 255 (unsafe-fxrshift n 16)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 4) (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (unsafe-fx+ i 5) (unsafe-fxand 255 n)))\n\n(define (unsafe-bytes-nat-ref width bs offset)\n  (case width\n    ((1)  (1-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((2)  (2-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((3)  (3-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((4)  (4-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((5)  (5-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((6)  (6-unrolled-unsafe-bytes-nat-ref bs offset))\n    (else (rolled-unsafe-bytes-nat-ref width bs offset))))\n\n(define (rolled-unsafe-bytes-nat-ref width bs offset)\n  (let ((end (unsafe-fx+ offset width)))\n    (let loop ((i offset) (n 0))\n      (cond ((unsafe-fx< i end) (loop (unsafe-fx+ i 1)\n                                      (unsafe-fx+ (unsafe-fxlshift n 8)\n                                                  (unsafe-bytes-ref bs i))))\n            (else               n)))))\n(define (1-unrolled-unsafe-bytes-nat-ref bs i) (unsafe-bytes-ref bs i))\n(define (2-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)     8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 1))))\n(define (3-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)    16)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 1))  8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 2))))\n(define (4-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)    24)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 1)) 16)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 2))  8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 3))))\n(define (5-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)    32)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 1)) 24)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 2)) 16)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 3))  8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 4))))\n(define (6-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)    40)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 1)) 32)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 2)) 24)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 3)) 16)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 4))  8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 5))))\n\n(define (unsafe-bisect-next start end i<)\n  (define i (unsafe-fx- start 1))\n  (let loop ((offset 1))\n    (define next (unsafe-fx+ i offset))\n    (cond ((and (unsafe-fx< next end) (i< next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (next (unsafe-fx+ i o)))\n                    (cond ((unsafe-fx= o 0)                      (unsafe-fx+ i 1))\n                          ((and (unsafe-fx< next end) (i< next)) (loop next o))\n                          (else                                  (loop i    o)))))))))\n\n(define (bisect-next start end i<)\n  (define i (- start 1))\n  (let loop ((offset 1))\n    (define next (+ i offset))\n    (cond ((and (< next end) (i< next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (next (+ i o)))\n                    (cond ((= o 0)                      (+ i 1))\n                          ((and (< next end) (i< next)) (loop next o))\n                          (else                         (loop i    o)))))))))\n(define (bisect-prev start end i>)\n  (define i end)\n  (let loop ((offset 1))\n    (define next (- i offset))\n    (cond ((and (>= next start) (i> next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (n (- i o)))\n                    (cond ((= o 0)                   i)\n                          ((and (>= n start) (i> n)) (loop n o))\n                          (else                      (loop i o)))))))))\n\n(define ((unsafe-multi-merge <? gens gen-empty? gen-first gen-rest) yield)\n  (define h   (list->vector gens))\n  (define end (vector-length h))\n  (heap! <? h end)\n  (define (re-insert end gen)\n    (cond ((gen-empty? gen) (heap-remove!  <? h end)\n                            (unsafe-fx- end 1))\n          (else             (heap-replace! <? h end gen)\n                            end)))\n  (if (unsafe-fx< 0 end)\n    (let ((g.top (heap-top h)))\n      (let loop.new ((g.top g.top)\n                     (x     (gen-first g.top))\n                     (i     0)\n                     (end   end))\n        (yield x)\n        (let loop.duplicate ((end (re-insert end (gen-rest g.top i))))\n          (if (unsafe-fx< 0 end)\n            (let* ((g.top (heap-top h))\n                   (y     (gen-first g.top)))\n              (if (equal? x y)\n                (loop.duplicate (re-insert end (gen-rest g.top i)))\n                (loop.new       g.top y (unsafe-fx+ i 1) end)))\n            (unsafe-fx+ i 1)))))\n    0))\n\n(define ((multi-merge <? gens gen-empty? gen-first gen-rest) yield)\n  (define h   (list->vector gens))\n  (define end (vector-length h))\n  (heap! <? h end)\n  (define (re-insert end gen)\n    (cond ((gen-empty? gen) (heap-remove!  <? h end)\n                            (- end 1))\n          (else             (heap-replace! <? h end gen)\n                            end)))\n  (if (< 0 end)\n    (let ((g.top (heap-top h)))\n      (let loop.new ((g.top g.top)\n                     (x     (gen-first g.top))\n                     (i     0)\n                     (end   end))\n        (yield x)\n        (let loop.duplicate ((end (re-insert end (gen-rest g.top i))))\n          (if (< 0 end)\n            (let* ((g.top (heap-top h))\n                   (y     (gen-first g.top)))\n              (if (equal? x y)\n                (loop.duplicate (re-insert end (gen-rest g.top i)))\n                (loop.new       g.top y (+ i 1) end)))\n            (+ i 1)))))\n    0))\n\n(struct monovec (ref unref-next unref-prev) #:prefab)\n\n(define ((ref-map   ref f)      i) (f                          (ref i)))\n(define ((ref-remap ref id=>id) i) (unsafe-fxvector-ref id=>id (ref i)))\n\n(define ((find-next:ref ref <?) inclusive? i.start i.end v)\n  (if inclusive?\n      (bisect-next i.start i.end (lambda (i) (<? (ref i) v)))\n      (bisect-next i.start i.end (lambda (i) (not (<? v (ref i)))))))\n(define ((find-prev:ref ref <?) inclusive? i.start i.end v)\n  (if inclusive?\n      (bisect-prev i.start i.end (lambda (i) (<? v (ref i))))\n      (bisect-prev i.start i.end (lambda (i) (not (<? (ref i) v))))))\n\n(define ((find-next:line offset step) inclusive? i.start i.end v)\n  (let* ((i.0 (/ (- v offset) step))\n         (i.1 (ceiling i.0))\n         (i   (if (and (not inclusive?) (eqv? i.0 i.1))\n                (+ i.1 1)\n                i.1)))\n    (max i.start (min i.end i))))\n(define ((find-prev:line offset step) inclusive? i.start i.end v)\n  (let* ((i.0 (/ (- v offset) step))\n         (i.1 (floor   i.0))\n         (i   (if (and (not inclusive?) (eqv? i.0 i.1))\n                (- i.1 1)\n                i.1)))\n    (max i.start (min i.end i))))\n\n(define (dict-count     d)                 (d 'count))\n(define (dict-min       d)                 (d 'min))\n(define (dict-min-value d)                 (d 'min-value))\n(define (dict-min-pop   d)                 (d 'min-pop))\n(define (dict-min-find  d inclusive? key)  (d 'min-find inclusive? key))\n(define (dict-max       d)                 (d 'max))\n(define (dict-max-find  d inclusive? key)  (d 'max-find inclusive? key))\n(define (dict-empty?    d)                 (eqv? 0 (dict-count d)))\n(define (dict->=        d key)             (dict-min-find d #t key))\n(define (dict->         d key)             (dict-min-find d #f key))\n(define (dict-<=        d key)             (dict-max-find d #t key))\n(define (dict-<         d key)             (dict-max-find d #f key))\n(define (dict-ref d key k.found k.missing) (let ((d (dict->= d key)))\n                                             (if (or (dict-empty? d)\n                                                     (not (equal? (dict-min d) key)))\n                                               (k.missing)\n                                               (k.found (dict-min-value d)))))\n(define ((dict-enumerator     d) yield)    (let loop ((d d))\n                                             (unless (dict-empty? d)\n                                               (yield (dict-min d) (dict-min-value d))\n                                               (loop (dict-min-pop d)))))\n(define ((dict-key-enumerator d) yield)    (let loop ((d d))\n                                             (unless (dict-empty? d)\n                                               (yield (dict-min d))\n                                               (loop (dict-min-pop d)))))\n\n(define dict.empty\n  (method-lambda\n    ((count)                   0)\n    ((min-find inclusive? key) dict.empty)\n    ((max-find inclusive? key) dict.empty)\n    ((min)                     (error \"method not supported for empty dictionary: min\"))\n    ((min-value)               (error \"method not supported for empty dictionary: min-value\"))\n    ((min-pop)                 (error \"method not supported for empty dictionary: min-pop\"))\n    ((max)                     (error \"method not supported for empty dictionary: max\"))))\n\n(define (dict:monovec monovec.key ref.value start end)\n  (match-define (monovec ref.key find-next find-prev) monovec.key)\n  (dict:basic ref.key find-next find-prev ref.value start end))\n\n(define (dict:ref ref.key <?.key ref.value start end)\n  (dict:basic ref.key\n              (find-next:ref ref.key <?.key)\n              (find-prev:ref ref.key <?.key)\n              ref.value\n              start end))\n\n(define (dict:basic ref.key find-next find-prev ref.value start end)\n  (let loop ((start start) (end end))\n    (if (unsafe-fx<= end start)\n      dict.empty\n      (method-lambda\n        ((count)                   (unsafe-fx- end start))\n        ((min)                     (ref.key   start))\n        ((min-value)               (ref.value start))\n        ((min-pop)                 (loop (unsafe-fx+ start 1) end))\n        ((max)                     (ref.key   (unsafe-fx- end 1)))\n        ((min-find inclusive? key) (loop (find-next inclusive? start end key) end))\n        ((max-find inclusive? key) (loop start (find-prev inclusive? start end key)))))))\n\n(define (dict:union <? combine-values . ds)\n  (define (<=? a  b)  (not (<? b a)))\n  (define (d<? d0 d1) (let ((min0 (dict-min d0)) (min1 (dict-min d1)))\n                        (or (<? min0 min1)\n                            (and (equal? min0 min1)\n                                 (<? (dict-max d0) (dict-max d1))))))\n  (define (dict:binary-union d.left d.right)\n    (define (less min.left min.right val.left val.right d.left d.right)\n      (define self\n        (method-lambda\n          ((count)     (unsafe-fx+ (dict-count d.left) (dict-count d.right) 2))\n          ((min)       min.left)\n          ((min-value) val.left)\n          ((min-pop)   (loop.pop.less min.right val.right d.left d.right))\n          ((max)       (let ((max.left  (if (dict-empty? d.left)  min.left  (dict-max d.left)))\n                             (max.right (if (dict-empty? d.right) min.right (dict-max d.right))))\n                         (if (<? max.left max.right)\n                           max.right\n                           max.left)))\n          ((min-find inclusive? key)\n           (let ((<? (if inclusive? <=? <?)))\n             (cond ((<? key min.left)  self)\n                   ((<? key min.right) (loop.pop.less min.right val.right\n                                                      (dict-min-find d.left  inclusive? key)\n                                                      d.right))\n                   (else               (loop.pop.same (dict-min-find d.left  inclusive? key)\n                                                      (dict-min-find d.right inclusive? key))))))\n          ((max-find inclusive? key)\n           (let ((<? (if inclusive? <? <=?)))\n             (cond ((<? key min.left)  dict.empty)\n                   ((<? key min.right) (loop.pop.less min.left val.left d.left dict.empty))\n                   (else               (less min.left min.right val.left val.right\n                                             (dict-max-find d.left  inclusive? key)\n                                             (dict-max-find d.right inclusive? key))))))))\n      self)\n    (define (same min.left val.left d.left d.right)\n      (define self\n        (method-lambda\n          ((count)     (unsafe-fx+ (dict-count d.left) (dict-count d.right) 1))\n          ((min)       min.left)\n          ((min-value) val.left)\n          ((min-pop)   (loop.pop.same d.left d.right))\n          ((max)       (let ((max.left  (if (dict-empty? d.left)  min.left (dict-max d.left)))\n                             (max.right (if (dict-empty? d.right) min.left (dict-max d.right))))\n                         (if (<? max.left max.right)\n                           max.right\n                           max.left)))\n          ((min-find inclusive? key) (if ((if inclusive? <=? <?) key min.left)\n                                       self\n                                       (loop.pop.same (dict-min-find d.left  inclusive? key)\n                                                      (dict-min-find d.right inclusive? key))))\n          ((max-find inclusive? key) (if ((if inclusive? <? <=?) key min.left)\n                                       dict.empty\n                                       (same min.left\n                                             (dict-max-find d.left  inclusive? key)\n                                             (dict-max-find d.right inclusive? key))))))\n      self)\n    (define (loop.pop.less min.right val.right d.left d.right)\n      (cond ((dict-empty? d.left) (same min.right val.right d.left d.right))\n            (else (let ((min.left (dict-min       d.left))\n                        (val.left (dict-min-value d.left))\n                        (d.left   (dict-min-pop   d.left)))\n                    (cond ((<? min.left min.right) (less min.left  min.right val.left val.right       d.left  d.right))\n                          ((<? min.right min.left) (less min.right min.left  val.right val.left       d.right d.left))\n                          (else                    (same min.left (combine-values val.left val.right) d.left  d.right)))))))\n    (define (loop.pop.same d.left d.right)\n      (cond ((dict-empty? d.left)  d.right)\n            ((dict-empty? d.right) d.left)\n            (else (let ((min.left  (dict-min       d.left))\n                        (min.right (dict-min       d.right))\n                        (val.left  (dict-min-value d.left))\n                        (val.right (dict-min-value d.right))\n                        (d.left    (dict-min-pop   d.left))\n                        (d.right   (dict-min-pop   d.right)))\n                    (cond ((<? min.left min.right) (less min.left  min.right val.left val.right       d.left  d.right))\n                          ((<? min.right min.left) (less min.right min.left  val.right val.left       d.right d.left))\n                          (else                    (same min.left (combine-values val.left val.right) d.left  d.right)))))))\n    (loop.pop.same d.left d.right))\n  (define (dict:disjoint-binary-union d.left d.right)\n    (let loop ((d.left d.left) (d.right d.right) (count.right (dict-count d.right)))\n      (cond ((dict-empty? d.left) d.right)\n            (else (let loop.min ((min.left    (dict-min       d.left))\n                                 (val.left    (dict-min-value d.left))\n                                 (d.left      (dict-min-pop   d.left))\n                                 (d.right     d.right)\n                                 (count.right count.right))\n                    (define self\n                      (method-lambda\n                        ((count)     (unsafe-fx+ (dict-count d.left) count.right 1))\n                        ((min)       min.left)\n                        ((min-value) val.left)\n                        ((min-pop)   (loop d.left d.right count.right))\n                        ((max)       (dict-max d.right))\n                        ((min-find inclusive? key)\n                         (if ((if inclusive? <=? <?) key min.left)\n                           self\n                           (let ((d.left (dict-min-find d.left inclusive? key)))\n                             (if (dict-empty? d.left)\n                               (dict-min-find d.right inclusive? key)\n                               (loop d.left d.right count.right)))))\n                        ((max-find inclusive? key)\n                         (if ((if inclusive? <? <=?) key min.left)\n                           dict.empty\n                           (let* ((d.right     (dict-max-find d.right inclusive? key))\n                                  (count.right (dict-count d.right)))\n                             (loop.min min.left val.left\n                                       (if (unsafe-fx= count.right 0)\n                                         (dict-max-find d.left inclusive? key)\n                                         d.left)\n                                       d.right count.right))))))\n                    self)))))\n  (define (dict:disjoint-union ds)\n    (if (null? ds)\n      dict.empty\n      (let ((ds (reverse ds)))\n        (foldl dict:disjoint-binary-union (car ds) (cdr ds)))))\n  (define (dict:overlapping-union ds)\n    (define (list-odds xs)\n      (cond ((null? xs)       '())\n            ((null? (cdr xs)) xs)\n            (else             (cons (car xs) (list-odds (cddr xs))))))\n    (cond ((null? ds)       dict.empty)\n          ((null? (cdr ds)) (car ds))\n          (else             (dict:binary-union (dict:overlapping-union (list-odds (cdr ds)))\n                                               (dict:overlapping-union (list-odds      ds))))))\n  (let ((ds (reverse (sort (filter-not dict-empty? ds) d<?))))\n    (if (null? ds)\n      dict.empty\n      (dict:overlapping-union\n        (map dict:disjoint-union\n             (map cdr (foldl (lambda (d choices.all)\n                               (let ((max.d (dict-max d)))\n                                 (let loop ((choices choices.all) (choices.passed '()))\n                                   (match choices\n                                     ('() (cons (list (dict-min d) d) choices.all))\n                                     ((cons (cons min.choice ds.choice)\n                                            choices)\n                                      (if (<? max.d min.choice)\n                                        (foldl cons\n                                               (cons (cons (dict-min d) (cons d ds.choice))\n                                                     choices)\n                                               choices.passed)\n                                        (loop choices (cons (cons min.choice ds.choice)\n                                                            choices.passed))))))))\n                             (let ((d0 (car ds)))\n                               (list (list (dict-min d0) d0)))\n                             (cdr ds))))))))\n\n(define (dict:diff <? count.keys d.positive d.negative)\n  (let loop/count.keys ((count.keys count.keys) (d.pos d.positive) (d.neg d.negative))\n    (let loop ((d.pos d.pos) (d.neg d.neg))\n      (define (shared d.pos d.neg)\n        (method-lambda\n          ((count)                   (dict-count d.pos))\n          ((min)                     (dict-min   d.pos))\n          ((max)                     (dict-max   d.pos))\n          ((min-find inclusive? key) (loop (dict-min-find d.pos inclusive? key)\n                                           (dict-min-find d.neg inclusive? key)))\n          ((max-find inclusive? key) (loop (dict-max-find d.pos inclusive? key)\n                                           (dict-max-find d.neg inclusive? key)))))\n      (define (less)\n        (let ((super (shared d.pos d.neg)))\n          (method-lambda\n            ((min-value) (dict-min-value d.pos))\n            ((min-pop)   (loop (dict-min-pop d.pos d.neg)))\n            (else        super))))\n      (define (same)\n        (if (unsafe-fx= count.keys 1)\n          (loop (dict-min-pop d.pos) (dict-min-pop d.neg))\n          (let ((d.pos.top (loop/count.keys (unsafe-fx- count.keys 1)\n                                            (dict-min-value d.pos)\n                                            (dict-min-value d.neg))))\n            (if (dict-empty? d.pos.top)\n              (loop (dict-min-pop d.pos) (dict-min-pop d.neg))\n              (let ((super (shared d.pos d.neg)))\n                (method-lambda\n                  ((min-value) d.pos.top)\n                  ((min-pop)   (loop (dict-min-pop d.pos) (dict-min-pop d.neg)))\n                  (else        super)))))))\n      (cond ((dict-empty? d.pos) dict.empty)\n            ((dict-empty? d.neg) d.pos)\n            (else (let ((min.pos (dict-min d.pos)) (min.neg (dict-min d.neg)))\n                    (cond ((<? min.pos min.neg) (less))\n                          ((<? min.neg min.pos) (loop d.pos (dict-min-find d.neg #t min.pos)))\n                          (else                 (same)))))))))\n\n(define ((merge-join k<? A B) yield)\n  (unless (or (dict-empty? A) (dict-empty? B))\n    (let loop ((A   A)\n               (k.A (dict-min A))\n               (B   B)\n               (k.B (dict-min B)))\n      (cond ((k<? k.A k.B) (let ((A (dict->= A k.B)))\n                             (unless (dict-empty? A)\n                               (loop A (dict-min A) B k.B))))\n            ((k<? k.B k.A) (let ((B (dict->= B k.A)))\n                             (unless (dict-empty? B)\n                               (loop A k.A B (dict-min B)))))\n            (else          (let ((t.A (dict-min-value A))\n                                 (t.B (dict-min-value B))\n                                 (A   (dict-min-pop A))\n                                 (B   (dict-min-pop B)))\n                             (yield k.A t.A t.B)\n                             (unless (or (dict-empty? A) (dict-empty? B))\n                               (loop A (dict-min A) B (dict-min B)))))))))\n\n(define ((dict-join-ordered en.ordered d.index) yield)\n  (unless (dict-empty? d.index)\n    (en.ordered (lambda (k v)\n                  (set! d.index (dict->= d.index k))\n                  (dict-ref d.index k\n                            (lambda (v.index) (yield k v v.index))\n                            (lambda ()        (void)))))))\n\n;;;;;;;;;;;;;;;;\n;;; 2-3 tree ;;;\n;;;;;;;;;;;;;;;;\n\n(define (bytes-compare a b)\n  (let* ((len.a (unsafe-bytes-length a))\n         (len.b (unsafe-bytes-length b))\n         (end   (unsafe-fxmin len.a len.b)))\n    (let loop ((i 0))\n      (if (unsafe-fx= i end)\n          (cond ((unsafe-fx< len.a len.b) -1)\n                ((unsafe-fx< len.b len.a)  1)\n                (else                      0))\n          (let ((x.a (unsafe-bytes-ref a i)) (x.b (unsafe-bytes-ref b i)))\n            (cond ((unsafe-fx< x.a x.b) -1)\n                  ((unsafe-fx< x.b x.a)  1)\n                  (else                 (loop (unsafe-fx+ i 1)))))))))\n\n;; Public\n(define (make-btree) (vector 0 #f))\n(define (btree-count bt) (unsafe-vector*-ref bt 0))\n\n;; Private\n(define (btree-count-set! bt count) (unsafe-vector*-set! bt 0 count))\n(define (btree-root       bt)       (unsafe-vector*-ref  bt 1))\n(define (btree-root-set!  bt t)     (unsafe-vector*-set! bt 1 t))\n\n(define (make-btree-2 key                leaf                 l r)   (vector key                leaf                 l r))\n(define (make-btree-3 left-key right-key left-leaf right-leaf l m r) (vector left-key right-key left-leaf right-leaf l m r))\n\n(define (btree-2?      t) (unsafe-fx= (unsafe-vector*-length t) 4))\n(define (btree-2-key   t) (unsafe-vector*-ref t 0))\n(define (btree-2-leaf  t) (unsafe-vector*-ref t 1))\n(define (btree-2-left  t) (unsafe-vector*-ref t 2))\n(define (btree-2-right t) (unsafe-vector*-ref t 3))\n\n(define (btree-2-left-set!  t u) (unsafe-vector*-set! t 2 u))\n(define (btree-2-right-set! t u) (unsafe-vector*-set! t 3 u))\n\n(define (btree-3-left-key   t) (unsafe-vector*-ref t 0))\n(define (btree-3-right-key  t) (unsafe-vector*-ref t 1))\n(define (btree-3-left-leaf  t) (unsafe-vector*-ref t 2))\n(define (btree-3-right-leaf t) (unsafe-vector*-ref t 3))\n(define (btree-3-left       t) (unsafe-vector*-ref t 4))\n(define (btree-3-middle     t) (unsafe-vector*-ref t 5))\n(define (btree-3-right      t) (unsafe-vector*-ref t 6))\n\n(define (btree-3-left-set!   t u) (unsafe-vector*-set! t 4 u))\n(define (btree-3-middle-set! t u) (unsafe-vector*-set! t 5 u))\n(define (btree-3-right-set!  t u) (unsafe-vector*-set! t 6 u))\n\n;; Public\n(define (btree-enumerate bt yield)\n  (let loop ((t (btree-root bt)))\n    (when t\n      (cond ((btree-2? t) (loop  (btree-2-left t))\n                          (yield (btree-2-key t) (btree-2-leaf t))\n                          (loop  (btree-2-right t)))\n            (else (loop  (btree-3-left t))\n                  (yield (btree-3-left-key t) (btree-3-left-leaf t))\n                  (loop  (btree-3-middle t))\n                  (yield (btree-3-right-key t) (btree-3-right-leaf t))\n                  (loop  (btree-3-right t)))))))\n\n(define (btree-ref-or-set! bt x)\n  (let loop ((t        (btree-root bt))\n             (replace! (lambda (t)            (btree-root-set! bt t)))\n             (expand!  (lambda (key leaf l r) (btree-root-set! bt (make-btree-2 key leaf l r)))))\n    (cond\n      ((not t) (let ((count (btree-count bt)))\n                 (btree-count-set! bt (unsafe-fx+ count 1))\n                 (expand! x count #f #f)\n                 count))\n      ((btree-2? t) (case (bytes-compare x (btree-2-key t))\n                      ((-1) (loop (btree-2-left t)\n                                  (lambda (u) (btree-2-left-set! t u))\n                                  ;; 2(._ key/leaf .R) ==> 3(.l left-key/left-leaf .m key/leaf .R)\n                                  (lambda (left-key left-leaf l m)\n                                    (replace! (make-btree-3 left-key (btree-2-key t)\n                                                            left-leaf (btree-2-leaf t)\n                                                            l m (btree-2-right t))))))\n                      (( 1) (loop (btree-2-right t)\n                                  (lambda (u) (btree-2-right-set! t u))\n                                  ;; 2(.L key/leaf ._) ==> 3(.L key/leaf .m right-key/right-leaf .r)\n                                  (lambda (right-key right-leaf m r)\n                                    (replace! (make-btree-3 (btree-2-key t) right-key\n                                                            (btree-2-leaf t) right-leaf\n                                                            (btree-2-left t) m r)))))\n                      (else (btree-2-leaf t))))\n      (else (case (bytes-compare x (btree-3-left-key t))\n              ((-1) (loop (btree-3-left t)\n                          (lambda (u) (btree-3-left-set! t u))\n                          ;; 3(._ left-key/left-leaf .M right-key/right-leaf .R)\n                          ;; ==>\n                          ;;           2(. left-key/left-leaf .)\n                          ;;            /                      \\\n                          ;; 2(.l key/leaf .r)        2(.M right-key/right-leaf .R)\n                          (lambda (key leaf l r)\n                            (expand! (btree-3-left-key t)\n                                     (btree-3-left-leaf t)\n                                     (make-btree-2 key leaf l r)\n                                     (make-btree-2 (btree-3-right-key t) (btree-3-right-leaf t)\n                                                   (btree-3-middle t) (btree-3-right t))))))\n              (( 1) (case (bytes-compare x (btree-3-right-key t))\n                      ((-1) (loop (btree-3-middle t)\n                                  (lambda (u) (btree-3-middle-set! t u))\n                                  ;; 3(.L left-key/left-leaf ._ right-key/right-leaf .R)\n                                  ;; ==>\n                                  ;;                       2(. key/leaf .)\n                                  ;;                        /            \\\n                                  ;; 2(.L left-key/left-leaf .l)      2(.r right-key/right-leaf .R)\n                                  (lambda (key leaf l r)\n                                    (expand!\n                                      key leaf\n                                      (make-btree-2 (btree-3-left-key t) (btree-3-left-leaf t)\n                                                    (btree-3-left t) l)\n                                      (make-btree-2 (btree-3-right-key t) (btree-3-right-leaf t)\n                                                    r (btree-3-right t))))))\n                      (( 1) (loop (btree-3-right t)\n                                  (lambda (u) (btree-3-right-set! t u))\n                                  ;; 3(.L left-key/left-leaf .M right-key/right-leaf ._)\n                                  ;; ==>\n                                  ;;                 2(. right-key/right-leaf .)\n                                  ;;                  /                        \\\n                                  ;; 2(.L left-key/left-leaf .M)        2(.l key/leaf .r)\n                                  (lambda (key leaf l r)\n                                    (expand!\n                                      (btree-3-right-key t)\n                                      (btree-3-right-leaf t)\n                                      (make-btree-2 (btree-3-left-key t) (btree-3-left-leaf t)\n                                                    (btree-3-left t) (btree-3-middle t))\n                                      (make-btree-2 key leaf l r)))))\n                      (else (btree-3-right-leaf t))))\n              (else (btree-3-left-leaf t)))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/dsv.rkt",
    "content": "#lang racket/base\n(provide tsv->stream dsv->stream csv->stream\n         path->format format->header/port->stream)\n(require racket/function racket/list racket/string)\n\n;; Informal grammar for tab-separated values (no escapes supported)\n;FIELD-SEPARATOR  ::= \\t\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= CONTENT*\n;CONTENT includes anything other than \\t, \\n, \\r\n\n(define (tsv->stream header? in)\n  (valid-header?! in header? \"\\t\")\n  (let loop () (thunk (define l (read-line in 'any))\n                      (if (eof-object? l) '()\n                        (cons (string-split l \"\\t\" #:trim? #f) (loop))))))\n\n;; Informal grammar for delimiter-separated values (escapes via double quote)\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= \\\" inner-content* \\\" | CONTENT*\n;inner-content    ::= CONTENT | \\\"\\\" | FIELD-SEPARATOR | WHITESPACE\n;CONTENT includes anything other than double-quote, field separator, whitespace\n\n(define (csv->stream header? in) (dsv->stream #\\, header? in))\n\n(define (dsv->stream field-separator header? in)\n  (define (field)\n    (define ch (peek-char in))\n    (cond ((eqv? ch field-separator) (read-char in) \"\")\n          ((or (eqv? ch #\\newline) (eqv? ch #\\return) (eof-object? ch)) \"\")\n          ((eqv? ch #\\\")\n           (read-char in)\n           (let loop ((i 0))\n             (define ch (peek-char in i))\n             (cond ((eqv? ch #\\\")\n                    (if (eqv? (peek-char in (+ i 1)) #\\\") (loop (+ i 2))\n                      (let ((qs (bytes->string/utf-8 (read-bytes i in))))\n                        (read-char in)\n                        (when (eqv? (peek-char in) field-separator)\n                          (read-char in))\n                        (string-replace qs \"\\\"\\\"\" \"\\\"\"))))\n                   (else (loop (+ i 1))))))\n          (else (let loop ((i 1))\n                  (define ch (peek-char in i))\n                  (cond ((eqv? ch field-separator)\n                         (define s (bytes->string/utf-8 (read-bytes i in)))\n                         (read-char in) s)\n                        ((or (eqv? ch #\\newline) (eqv? ch #\\return) (eof-object? ch))\n                         (bytes->string/utf-8 (read-bytes i in)))\n                        (else (loop (+ i 1))))))))\n  (define (record)\n    (cons (field)\n          (let ((ch (peek-char in)))\n            (cond ((eqv? ch #\\return) (read-char in)\n                                      (when (eqv? (peek-char in) #\\newline)\n                                        (read-char in))\n                                      '())\n                  ((eqv? ch #\\newline) (read-char in) '())\n                  ((eof-object? ch)                   '())\n                  (else                               (record))))))\n  (valid-header?! in header? (make-string 1 field-separator))\n  (let loop () (thunk (if (eof-object? (peek-char in)) '()\n                        (cons (record) (loop))))))\n\n(define (valid-header?! in header delimiter)\n  (define found    (and header (read-line in 'any)))\n  (define expected (and header (cond ((eq? header #t)  found)\n                                     ((string? header) header)\n                                     (else (string-join header delimiter)))))\n  (unless (equal? found expected)\n    (error \"invalid header:\" 'found: found 'expected: expected)))\n\n(define (path->format path)\n  (define fname (if (path? path) (path->string path) path))\n  (case (last (string-split fname \".\" #:trim? #f))\n    ((\"tsv\") 'tsv)\n    ((\"csv\") 'csv)\n    (else    #f)))\n\n(define (format->header/port->stream format)\n  (case format\n    ((tsv) tsv->stream)\n    ((csv) csv->stream)\n    (else  (error \"invalid format:\" format))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/enumerator.rkt",
    "content": "#lang racket/base\n(provide enumerator-append\n         list->enumerator enumerator->rlist enumerator->list\n         s->enumerator enumerator->s\n         vector->enumerator unsafe-vector->enumerator enumerator->rvector enumerator->vector\n         generator->enumerator\n         enumerator/2->enumerator\n         enumerator->enumerator/2\n         hash->enumerator/2)\n(require racket/control racket/unsafe/ops)\n\n(define ((enumerator-append e.0 e.1) yield)\n  (e.0 yield)\n  (e.1 yield))\n\n(define ((list->enumerator xs) yield) (for-each yield xs))\n\n(define (enumerator->rlist en)\n  (define xs '())\n  (en (lambda (x) (set! xs (cons x xs))))\n  xs)\n\n(define (enumerator->list en)\n  (reverse (enumerator->rlist en)))\n\n(define ((s->enumerator s) yield)\n  (let loop ((s s))\n    (cond ((null? s) (void))\n          ((pair? s) (yield (car s)) (loop (cdr s)))\n          (else      (loop (s))))))\n\n(define ((enumerator->s en))\n  (define tag (make-continuation-prompt-tag))\n  (reset-at tag\n            (en (lambda (x)\n                  (shift-at tag k (cons x (lambda () (k (void)))))))\n            '()))\n\n(define (enumerator->rvector en)\n  (list->vector (enumerator->rlist en)))\n\n(define (enumerator->vector en)\n  (list->vector (enumerator->list en)))\n\n(define (vector->enumerator v (start 0) (end (vector-length v)))\n  (define len (min end (vector-length v)))\n  (unsafe-vector->enumerator v (min start len) len))\n\n(define ((unsafe-vector->enumerator v (start 0) (end (unsafe-vector*-length v))) yield)\n  (let loop ((i start))\n    (when (unsafe-fx< i end)\n      (yield (unsafe-vector*-ref v i))\n      (loop (unsafe-fx+ i 1)))))\n\n(define ((generator->enumerator gen stop?) yield)\n  (let loop ()\n    (define x (gen))\n    (unless (stop? x)\n      (yield x)\n      (loop))))\n\n;; An enumerator/2 expects its iteratee to take two arguments\n(define ((enumerator/2->enumerator en) yield)\n  (en (lambda (a b) (yield (cons a b)))))\n\n(define ((enumerator->enumerator/2 en) yield)\n  (en (lambda (x&y) (yield (car x&y) (cdr x&y)))))\n\n(define ((hash->enumerator/2 kvs) yield) (hash-for-each kvs yield))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/example-concrete-syntax-extended.rkt",
    "content": "#lang racket/base\n;(provide foo bar)\n\n(require \"concrete-syntax-extended.rkt\")\n\n(define-relations\n  (rule  (foo x)      (== x 5) (bar x 1 2))\n  (table (bar id s o) \"somewhere/bar\"))\n\n((relation-method foo) 'apply 888)\nbar\n\n;(define-relation (foo x) (== x 5) (bar x 1 2))\n\n;(define-relation/table (bar id s o) \"somewhere/bar\")\n\n;(with-formula-vocabulary (foo 11))\n\n;(foo 'apply 12)\n\n;(== 1 2)\n;(with-formula-vocabulary (== 1 2))\n;==\n;;)\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/heap.rkt",
    "content": "#lang racket/base\n(provide\n  heap-top\n  heap!\n  heap-remove!\n  heap-replace!\n  heap-sink!\n  heap-add!\n  )\n\n(define (heap-top         h)         (vector-ref h 0))\n(define (heap!         <? h end)     (let loop ((i (- (quotient end 2) 1)))\n                                      (when (<= 0 i)\n                                        (heap-sink! <? h end i)\n                                        (loop (- i 1)))))\n(define (heap-remove!  <? h end)     (vector-set! h 0 (vector-ref h (- end 1))) (vector-set! h (- end 1) #f) (heap-sink! <? h (- end 1) 0))\n(define (heap-replace! <? h end top) (vector-set! h 0 top)                                                   (heap-sink! <? h    end    0))\n(define (heap-sink!    <? h end i)   (let loop ((i i))\n                                      (let ((ileft  (+ i i 1))\n                                            (iright (+ i i 2)))\n                                        (cond ((<= end ileft))  ; done\n                                              ((<= end iright)\n                                               (let ((p (vector-ref h i))\n                                                     (l (vector-ref h ileft)))\n                                                 (when (<? l p)\n                                                   (vector-set! h i     l)\n                                                   (vector-set! h ileft p))))\n                                              (else (let ((p (vector-ref h i))\n                                                          (l (vector-ref h ileft))\n                                                          (r (vector-ref h iright)))\n                                                      (cond ((<? l p) (cond ((<? r l) (vector-set! h i      r)\n                                                                                      (vector-set! h iright p)\n                                                                                      (loop iright))\n                                                                            (else     (vector-set! h i      l)\n                                                                                      (vector-set! h ileft  p)\n                                                                                      (loop ileft))))\n                                                            ((<? r p) (vector-set! h i      r)\n                                                                      (vector-set! h iright p)\n                                                                      (loop iright)))))))))\n(define (heap-add!     <? h end v)   (let loop ((i end))\n                                       (if (= i 0)\n                                         (vector-set! h i v)\n                                         (let* ((iparent (- (quotient (+ i 1) 2) 1))\n                                                (pv      (vector-ref h iparent)))\n                                           (cond ((<? v pv) (vector-set! h i pv)\n                                                            (loop iparent))\n                                                 (else      (vector-set! h i v)))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/io.rkt",
    "content": "#lang racket/base\n(provide path->format file-stats s-pop-header produce/pop-header\n         port-produce port-consume\n         out:port out:file\n         in:transform in:procedure in:port in:file\n         in:stream in:pop-header\n         jsonl:read jsonl:write json:read json:write\n         tsv:read tsv:write csv:read csv:write csv:escape)\n(require \"codec.rkt\" \"enumerator.rkt\" \"misc.rkt\" \"stream.rkt\"\n         json racket/list racket/match racket/port racket/string)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Utilities\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (path->format path.0)\n  (define path (if (path? path.0) (path->string path.0) path.0))\n  (case (last (string-split path \".\" #:trim? #f))\n    ((\"bscm\")  'bscm)\n    ((\"scm\")   'scm)\n    ((\"tsv\")   'tsv)\n    ((\"csv\")   'csv)\n    ((\"json\")  'json)\n    ((\"jsonl\") 'jsonl)\n    (else      #f)))\n\n(define (file-stats path)\n  (and (file-exists? path)\n       (hash 'size          (file-size path)\n             'time.modified (file-or-directory-modify-seconds path))))\n\n(define (s-pop-header ? expected s.0)\n  (define s (s-force s.0))\n  (unless (pair? s)   (error \"missing header:\" 'expected: expected))\n  (unless (? (car s)) (error \"invalid header:\" 'found: (car s) 'expected: expected))\n  (cdr s))\n\n(define (produce/pop-header produce header)\n  (define ((produce/pop ? h)) (s-pop-header ? h (produce)))\n  (match header\n    (#f produce)\n    (#t (produce/pop (lambda (x) #t)           #t))\n    (h  (produce/pop (lambda (x) (equal? x h)) h))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Producers and consumers\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (in:procedure  proc)           proc)\n(define (in:stream     s)              (lambda () s))\n(define (in:transform  produce f)      (cond (f    (lambda () (f (produce))))\n                                             (else produce)))\n(define (in:pop-header produce header) (produce/pop-header produce header))\n\n(define (in:port in . pargs)\n  (define kwargs (make-immutable-hash (plist->alist pargs)))\n  (define (produce) (port-produce in\n                                  (hash-ref kwargs 'close? #f)\n                                  (hash-ref kwargs 'format)\n                                  (hash-ref kwargs 'type #f)))\n  (in:transform (produce/pop-header produce (hash-ref kwargs 'header #f))\n                (hash-ref kwargs 'transform #f)))\n\n(define (in:file path.0 . pargs)\n  (define path   (if (path? path.0) (path->string path.0) path.0))\n  (define kwargs (make-immutable-hash (plist->alist pargs)))\n  (define format (hash-ref kwargs 'format (path->format path)))\n  (unless format            (error \"unknown format:\"     path))\n  (unless (file-stats path) (error \"missing input file:\" path))\n  (define (produce) (let ((in (open-input-file path)))\n                      (port-produce in (lambda () (close-input-port in))\n                                    format\n                                    (hash-ref kwargs 'type #f))))\n  (in:transform (produce/pop-header produce (hash-ref kwargs 'header #f))\n                (hash-ref kwargs 'transform #f)))\n\n(define (out:port out . pargs) (port-consume out\n                                             (plist-ref pargs 'format)\n                                             (plist-ref pargs 'type #f)))\n\n(define (out:file path.0 . pargs)\n  (define path   (if (path? path.0) (path->string path.0) path.0))\n  (define kwargs (make-immutable-hash (plist->alist pargs)))\n  (define exists (hash-ref kwargs 'exists 'error))\n  (define format (hash-ref kwargs 'format (path->format path)))\n  (unless format (error \"unknown format:\" path))\n  (let ((pargs (alist->plist (hash->list (hash-set kwargs 'format format)))))\n    (call-with-output-file path\n                           (lambda (out) (apply out:port out pargs))\n                           #:exists exists)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Port management\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (port-produce in close? format type)\n  (case format\n    ((json) (define data (vector->list (json:read in)))\n            (when close? (close?))\n            data)\n    (else   (define get\n              (case format\n                ((bscm)  (lambda () (if (eof-object? (peek-byte in)) eof (decode in type))))\n                ((scm)   (lambda () (read in)))\n                ((tsv)   (lambda () (tsv:read in)))\n                ((csv)   (lambda () (csv:read in)))\n                ((jsonl) (lambda () (jsonl:read in)))\n                (else    (error \"unsupported input format:\" format))))\n            (let loop ()\n              (lambda ()\n                (define datum (get))\n                (cond ((eof-object? datum) (when close? (close?))\n                                           '())\n                      (else                (cons datum (loop)))))))))\n\n(define (port-consume out format type)\n  (case format\n    ((json) (lambda (en) (json:write out (enumerator->list en))))\n    (else   (let ((yield (case format\n                           ((scm)   (lambda (x) (write x out) (write-char #\\newline out)))\n                           ((bscm)  (lambda (x) (encode      out type x)))\n                           ((tsv)   (lambda (x) (tsv:write   out      x)))\n                           ((csv)   (lambda (x) (csv:write   out      x)))\n                           ((jsonl) (lambda (x) (jsonl:write out      x)))\n                           (else    (error \"unsupported output format:\" format)))))\n              (lambda (en) (en yield))))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; JSON and JSONL formats\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (jsonl:read in)\n  (define s (read-line in 'any))\n  (if (eof-object? s) s (string->jsexpr s)))\n\n(define (jsonl:write out x)\n  (write-string (jsexpr->string x) out)\n  (write-char #\\newline out))\n\n(define (json:read  in)    (string->jsexpr (port->string in)))\n(define (json:write out x) (write-string (jsexpr->string x) out))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; TSV format\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Informal grammar for tab-separated values (no escapes supported)\n;FIELD-SEPARATOR  ::= \\t\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record [RECORD-SEPARATOR] EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= CONTENT*\n;CONTENT includes anything other than \\t, \\n, \\r\n\n(define (tsv:read in)\n  (define l (read-line in 'any))\n  (if (eof-object? l)\n    l\n    (let ((fields (string-split l \"\\t\" #:trim? #f)))\n      (if (null? fields)\n        '(\"\")\n        fields))))\n\n(define (tsv:write out x)\n  (write-string (string-join x \"\\t\" #:after-last \"\\n\") out))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; CSV format\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Informal grammar for delimiter-separated values (escapes via double quote)\n;RECORD-SEPARATOR ::= \\r\\n | \\n | \\r\n;record-stream    ::= EOF | record [RECORD-SEPARATOR] EOF | record RECORD-SEPARATOR record-stream\n;record           ::= field | field FIELD-SEPARATOR record\n;field            ::= \\\" inner-content* \\\" | CONTENT*\n;inner-content    ::= CONTENT | \\\"\\\" | FIELD-SEPARATOR | WHITESPACE\n;CONTENT includes anything other than double-quote, field separator, whitespace\n\n(define (csv:read in)\n  (define (field)\n    (define ch (peek-char in))\n    (cond ((eqv? ch #\\,)           (read-char in)\n                                   \"\")\n          ((or (eqv? ch #\\newline)\n               (eqv? ch #\\return)\n               (eof-object? ch))   \"\")\n\n          ((eqv? ch #\\\")           (read-char in)\n                                   (let loop ((i 0))\n                                     (define ch (peek-char in i))\n                                     (cond ((eqv? ch #\\\") (if (eqv? (peek-char in (+ i 1)) #\\\")\n                                                            (loop (+ i 2))\n                                                            (let ((qs (bytes->string/utf-8 (read-bytes i in))))\n                                                              (read-char in)\n                                                              (when (eqv? (peek-char in) #\\,)\n                                                                (read-char in))\n                                                              (string-replace qs \"\\\"\\\"\" \"\\\"\"))))\n                                           (else          (loop (+ i 1))))))\n\n          (else                    (let loop ((i 1))\n                                     (define ch (peek-char in i))\n                                     (cond ((eqv? ch #\\,)           (define s (bytes->string/utf-8 (read-bytes i in)))\n                                                                    (read-char in)\n                                                                    s)\n                                           ((or (eqv? ch #\\newline)\n                                                (eqv? ch #\\return)\n                                                (eof-object? ch))   (bytes->string/utf-8 (read-bytes i in)))\n                                           (else                    (loop (+ i 1))))))))\n  (if (eof-object? (peek-char in))\n    eof\n    (let record ()\n      (cons (field)\n            (let ((ch (peek-char in)))\n              (cond ((eqv? ch #\\return)  (read-char in)\n                                         (when (eqv? (peek-char in) #\\newline)\n                                           (read-char in))\n                                         '())\n                    ((eqv? ch #\\newline) (read-char in)\n                                         '())\n                    ((eof-object? ch)    '())\n                    (else                (record))))))))\n\n(define (csv:write out x)\n  (write-string (string-join (map csv:escape x) \",\" #:after-last \"\\n\") out))\n\n(define (csv:escape s)\n  (if (ormap (lambda (x) (string-contains? s x)) '(\",\" \"\\\"\" \"\\n\" \"\\r\"))\n    (string-append \"\\\"\" (string-replace s \"\\\"\" \"\\\"\\\"\") \"\\\"\")\n    s))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/logging.rkt",
    "content": "#lang racket/base\n(provide\n  pretty-timestamp\n  pretty-log/port\n  pretty-logf/port\n  pretty-log\n  pretty-logf\n  time/pretty-log\n  current-log-port)\n(require racket/pretty)\n\n;; TODO: eventually replace the logging in config.rkt with these definitions\n(define (pretty-timestamp)\n  (define seconds (current-seconds))\n  (define d       (seconds->date seconds #f))\n  (list seconds 'UTC\n        (date-year d) (date-month  d) (date-day    d)\n        (date-hour d) (date-minute d) (date-second d)))\n\n(define (pretty-log/port  out         . args) (pretty-write    (cons (pretty-timestamp) args) out))\n(define (pretty-logf/port out message . args) (pretty-log/port out (apply format message args)))\n\n(define current-log-port (make-parameter (current-error-port)))\n\n(define (pretty-log  . args) (apply pretty-log/port  (current-log-port) args))\n(define (pretty-logf . args) (apply pretty-logf/port (current-log-port) args))\n\n(define-syntax-rule (time/pretty-log body ...)\n  (let-values (((results time.cpu time.real time.gc) (time-apply (lambda () body ...) '())))\n    (pretty-log `(time cpu ,time.cpu real ,time.real gc ,time.gc))\n    (apply values results)))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/misc.rkt",
    "content": "#lang racket/base\n(provide simple-match simple-match-lambda record\n         method-lambda method-choose method-unknown method-except method-only\n         foldl/and let*/and define-variant\n         plist->alist plist-ref alist->plist alist-ref alist-remove alist-update alist-set\n         hash-remove*\n         call/files let/files\n         map/merge map/append\n         min-bits min-bytes min-bytes-power2 int? nat?\n         bytes-nat-ref bytes-nat-set! nat->bytes bytes->nat\n         sum\n         normalize-path)\n(require (for-syntax racket/base) racket/fixnum racket/list racket/match racket/set)\n\n(define-syntax simple-match-lambda\n  (syntax-rules ()\n    ((_ (params body ...) ...) (lambda args\n                                 (simple-match args\n                                   (params body ...) ...)))))\n\n(define-syntax simple-match\n  (syntax-rules ()\n    ((_ e) (error \"no matching pattern:\" e))\n    ((_ e (pattern body ...) clauses ...)\n     (let* ((x e)\n            (k.f (lambda () (simple-match x clauses ...))))\n       (simple-match-clause (let () body ...) (k.f) x pattern)))))\n\n(define-syntax simple-match-clause\n  (syntax-rules ()\n    ((_ k.t k.f x ())          (if (null? x) k.t k.f))\n    ((_ k.t k.f x (p.a . p.d)) (if (pair? x)\n                                 (let ((x.car (car x))\n                                       (x.cdr (cdr x)))\n                                   (simple-match-clause\n                                     (simple-match-clause k.t k.f x.cdr p.d)\n                                     k.f x.car p.a))\n                                 k.f))\n    ((_ k.t k.f x #(p ...))    (if (vector? x)\n                                 (let ((x (vector->list x)))\n                                   (simple-match-clause k.t k.f x (p ...)))\n                                 k.f))\n    ((_ k.t k.f x id)          (let ((id x)) k.t))))\n\n(begin-for-syntax\n  (define (syntax/context context stx)\n    (datum->syntax context (syntax->datum stx)))\n  (define (id/suffix id str)\n    (define str.id (symbol->string (syntax->datum id)))\n    (datum->syntax id (string->symbol (string-append str.id str))))\n  (define (syntax-permute keys stx.alist blame)\n    (define kvs\n      (syntax-case stx.alist ()\n        (((key . value) ...) (map cons\n                                  (syntax->datum #'(key ...))\n                                  (syntax->list #'((key . value) ...))))))\n    (map (lambda (k) (let ((kv (assoc k kvs)))\n                       (if kv (cdr kv)\n                         (error \"missing record field:\" k blame))))\n         keys))\n  (define-syntax with-syntax*\n    (syntax-rules ()\n      ((_ ()                  body ...) (with-syntax () body ...))\n      ((_ ((p0 e0) (p e) ...) body ...) (with-syntax ((p0 e0))\n                                          (with-syntax* ((p e) ...)\n                                            body ...))))))\n\n;; (record name (field ...) extra ...)\n;; produces these definitions:\n;; * struct:         (struct name:struct (field ...) extra ...)\n;; * predicate:      name?\n;; * constructor:    (name (field expr) ...)\n;; * setter:         (name:set expr (field expr) ...)\n;; * match-expander: (name:match (field pattern) ...)\n(define-syntax (record stx)\n  (syntax-case stx ()\n    ((_ name (field-name ...) extras ...)\n     (let* ((field-names     (syntax->datum #'(field-name ...)))\n            (field-name-strs (map symbol->string field-names)))\n       (with-syntax* ((id.struct  (id/suffix #'name \":struct\"))\n                      (id.ref     (id/suffix #'name \":ref\"))\n                      (id.set     (id/suffix #'name \":set\"))\n                      (id.?       (id/suffix #'name \"?\"))\n                      (id.struct? (id/suffix #'name \":struct?\"))\n                      (id.match   (id/suffix #'name \":match\"))\n                      (ids.field-names #'(field-name ...))\n                      ((id.accessor ...)\n                       (map (lambda (f) (id/suffix #'name\n                                                   (string-append \"-\" f)))\n                            field-name-strs))\n                      ((id.struct-accessor ...)\n                       (map (lambda (f) (id/suffix #'id.struct\n                                                   (string-append \"-\" f)))\n                            field-name-strs)))\n         #`(begin\n             (struct id.struct (field-name ...) extras ...)\n             (define id.?        id.struct?)\n             (define id.accessor id.struct-accessor) ...\n             (...\n               (begin\n                 (define-syntax (name stx)\n                   (syntax-case stx ()\n                     ((_ (f e) ...)\n                      (with-syntax ((((f e) ...) (syntax-permute\n                                                   'ids.field-names\n                                                   #'((f e) ...)\n                                                   stx)))\n                        #'(let ((f e) ...) (id.struct f ...))))))\n                 (define-syntax (id.set stx)\n                   (syntax-case stx ()\n                     ((_ r (f e) ...)\n                      (let ((field-names '#,field-names))\n                        #`(let ()\n                            (match-define (id.struct #,@field-names) r)\n                            (let #,(map list\n                                        (syntax->datum #'(f ...))\n                                        (syntax->list  #'(e ...)))\n                              (id.struct #,@field-names)))))))\n                 (define-match-expander id.match\n                   (lambda (stx)\n                     (syntax-case stx ()\n                       ((_ (f p) ...)\n                        #'(struct* id.struct ((f p) ...))))))))))))))\n\n(define method-unknown\n  (case-lambda\n    (()            (case-lambda\n                     (()     '())\n                     ((name) (error \"unknown method:\" name))))\n    ((name . args) (error \"unknown method:\" name args))))\n(define (method-except m names)\n  (case-lambda\n    (()            (case-lambda\n                     (()     (set-subtract ((m)) names))\n                     ((name) (((if (member name names) method-unknown m)) name))))\n    ((name . args) (apply (if (member name names) method-unknown m) name args))))\n(define (method-only m names)\n  (case-lambda\n    (()            (case-lambda\n                     (()     (set-intersect ((m)) names))\n                     ((name) (((if (member name names) m method-unknown)) name))))\n    ((name . args) (apply (if (member name names) m method-unknown) name args))))\n\n(define-syntax method-choose\n  (syntax-rules (else)\n    ((_ ((name ...) body ...) ... (else else-body ...))\n     (case-lambda\n       (()                   (case-lambda\n                               (()            (set-union '(name ...) ... (((begin else-body ...)))))\n                               ((method-name) (case method-name\n                                                ((name ...) (let ((handler (begin body ...)))\n                                                              (lambda args (apply handler method-name args))))\n                                                ...\n                                                (else       (((begin else-body ...)) method-name))))))\n       ((method-name . args) (apply (case method-name\n                                      ((name ...) body ...) ...\n                                      (else       else-body ...))\n                                    method-name args))))\n    ((_ body ...) (method-choose body ... (else method-unknown)))))\n\n(define-syntax method-lambda\n  (syntax-rules (else)\n    ((_ ((name . param) body ...) ... (else else-body ...))\n     (method-choose ((name) (lambda (_ . param) body ...)) ... (else else-body ...)))\n    ((_ body ...) (method-lambda body ... (else method-unknown)))))\n\n(define (foldl/and f acc xs . yss)\n  (let loop ((acc acc) (xs xs) (yss yss))\n    (if (null? xs)\n      acc\n      (and acc (loop (apply f (car xs) (append (map car yss) (list acc)))\n                     (cdr xs)\n                     (map cdr yss))))))\n\n(define-syntax let*/and\n  (syntax-rules ()\n    ((_ () body ...)                   (let () body ...))\n    ((_ ((lhs rhs) rest ...) body ...) (let ((lhs rhs))\n                                         (and lhs (let*/and (rest ...)\n                                                    body ...))))))\n\n(define-syntax define-variant\n  (syntax-rules ()\n    ((_ type? (struct-name fields ...) ...)\n     (begin (define (type? x)\n              (match x\n                ((struct-name fields ...) #t) ...\n                (_                        #f)))\n            (struct struct-name (fields ...) #:prefab) ...))))\n\n(define (plist->alist plist)\n  (match plist\n    ('()                     '())\n    ((cons k (cons v plist)) (cons (cons k v) (plist->alist plist)))))\n\n(define (plist-ref plist key (default (void)))\n  (let loop ((kvs plist))\n    (match kvs\n      ('()                   (if (void? default)\n                               (error \"missing key in property list:\" key plist)\n                               default))\n      ((cons k (cons v kvs)) (if (equal? k key)\n                               v\n                               (loop kvs))))))\n\n(define (alist->plist alist)\n  (match alist\n    ('()                     '())\n    ((cons (cons k v) alist) (cons k (cons v (alist->plist alist))))))\n\n(define (alist-ref alist key (default (void)))\n  (define kv (assoc key alist))\n  (cond (kv              (cdr kv))\n        ((void? default) (error \"missing key in association list:\" key alist))\n        (else            default)))\n\n(define (alist-remove alist key)\n  (filter (lambda (kv) (not (equal? (car kv) key))) alist))\n\n(define (alist-update alist key v->v (default (void)))\n  (let loop ((kvs alist) (prev '()))\n    (cond ((null?        kvs     )\n           (when (void? default) (error \"missing key in association list:\" key alist))\n           (cons (cons key (v->v default)) alist))\n          ((equal? (caar kvs) key) (foldl cons (cons (cons key (v->v (cdar kvs))) (cdr kvs)) prev))\n          (else                    (loop (cdr kvs) (cons (car kvs) prev))))))\n\n(define (alist-set alist key value)\n  (alist-update alist key (lambda (_) value) #f))\n\n(define (hash-remove* h keys)\n  (foldl (lambda (k h) (hash-remove h k)) h keys))\n\n(define (call/files fins fouts p)\n  (let loop ((fins fins) (ins '()))\n    (if (null? fins)\n      (let loop ((fouts fouts) (outs '()))\n        (if (null? fouts)\n          (apply p (append (reverse ins) (reverse outs)))\n          (call-with-output-file\n            (car fouts) (lambda (out) (loop (cdr fouts) (cons out outs))))))\n      (call-with-input-file\n        (car fins) (lambda (in) (loop (cdr fins) (cons in ins)))))))\n\n(define-syntax-rule (let/files ((in fin) ...) ((out fout) ...) body ...)\n  (call/files (list fin ...) (list fout ...)\n              (lambda (in ... out ...) body ...)))\n\n(define (map/merge f merge default xs)\n  (define ys (reverse (cond ((list?   xs) (map f               xs))\n                            ((vector? xs) (map f (vector->list xs)))\n                            ((set?    xs) (set-map  xs f))\n                            ((hash?   xs) (hash-map xs (lambda (k v) (f (cons k v)))))\n                            (else         (error \"invalid map/merge collection:\" xs)))))\n  (if (null? ys)\n    default\n    (foldl merge (car ys) (cdr ys))))\n\n(define (map/append f xs) (append* (map f xs)))\n\n(define (min-bits n)\n  (if (< 0 n)\n    (+ 1 (min-bits (fxrshift n 1)))\n    0))\n\n(define (min-bytes n)\n  (let ((min-bits (min-bits n)))\n    (+ (quotient min-bits 8)\n       (if (= 0 (remainder min-bits 8)) 0 1))))\n\n(define (min-bytes-power2 n)\n  (define c (min-bytes n))\n  (cond ((<= c 1) 1)\n        ((<= c 2) 2)\n        ((<= c 4) 4)\n        (else     8)))\n\n(define (int? x) (and (number? x) (exact? x) (integer? x)))\n(define (nat? x) (and (int? x) (<= 0 x)))\n\n(define (bytes-nat-set! bs size offset n)\n  ;(integer->integer-bytes n size #f #t bs offset) (void)\n  (let ((end (+ offset size)))\n    (let loop ((i offset) (shift (* 8 (- size 1))))\n      (cond ((< i end) (bytes-set! bs i (bitwise-and 255 (fxrshift n shift)))\n                       (loop (+ i 1) (- shift 8)))\n            (else      bs)))))\n\n(define (bytes-nat-ref bs size offset)\n  ;(integer-bytes->integer bs #f #t offset (+ offset size))\n  (let ((end (+ offset size)))\n    (let loop ((i offset) (n 0))\n      (cond ((< i end) (loop (+ i 1) (+ (fxlshift n 8)\n                                        (bytes-ref bs i))))\n            (else      n)))))\n\n(define (nat->bytes size n)  (let ((bs (make-bytes size 0)))\n                               (bytes-nat-set! bs size 0 n)\n                               bs))\n\n(define (bytes->nat bs size) (bytes-nat-ref bs size 0))\n\n(define (sum xs) (foldl + 0 xs))\n\n(define (normalize-path path) (path->string (normal-case-path\n                                              (simplify-path\n                                                (resolve-path\n                                                  (simplify-path path))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/mk.rkt",
    "content": "#lang racket/base\n(provide (all-from-out \"common.rkt\") (all-from-out \"syntax.rkt\")\n         (all-from-out \"constraint.rkt\")\n         query->stream\n         run^ run run* run/steps run*/steps\n         run/set run*/set run/set/steps run*/set/steps)\n(require \"common.rkt\" \"config.rkt\" \"constraint.rkt\" \"stream.rkt\" \"syntax.rkt\"\n         (except-in racket/match ==))\n\n(define (query->stream q)\n  ((match (or (current-config-ref 'search-strategy) 'biased-interleaving)\n     ('biased-interleaving bis:query->stream)\n     ('depth-first         dfs:query->stream)\n     (strategy (error \"invalid search strategy:\" strategy)))\n   q))\n\n(define-syntax run^\n  (syntax-rules () ((_   body ...) (query->stream (query  body ...)))))\n(define-syntax run\n  (syntax-rules () ((_ n body ...) (s-take n      (run^   body ...)))))\n(define-syntax run*\n  (syntax-rules () ((_   body ...)                (run #f body ...))))\n(define-syntax run/steps\n  (syntax-rules () ((_ steps n body ...) (s-take/steps steps n (run^               body ...)))))\n(define-syntax run*/steps\n  (syntax-rules () ((_ steps   body ...)                       (run/steps steps #f body ...))))\n\n(define-syntax run/set\n  (syntax-rules () ((_ n body ...) (s-take/set n (run^       body ...)))))\n(define-syntax run*/set\n  (syntax-rules () ((_   body ...)               (run/set #f body ...))))\n(define-syntax run/set/steps\n  (syntax-rules () ((_ steps n body ...) (s-take/set/steps steps n (run^                   body ...)))))\n(define-syntax run*/set/steps\n  (syntax-rules () ((_ steps   body ...)                           (run/set/steps steps #f body ...))))\n\n;; TODO: special case aggregation operators that could be implemented more\n;; efficiently than post-processing `run*` results:\n;; * run/min, run/max, run/count\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/old/abstract-syntax.rkt",
    "content": "#lang racket/base\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; TODO\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; input and output devices are specified and created using host language\n;; - may describe data coming from arbitrary input sources:\n;;   - filesystem, network, channels, events, etc.\n;;   - all sources are assumed to be unstable across time, reflecting a dynamic system\n;;   - include metadata that will be retained in process history\n;; - modules embed input and output device specifications in appropriate temporal relation declarations\n;;   - input relations may only appear on the RHS of rules\n;;   - output relations may only appear on the LHS of indeterminate inference rules\n;;     - i.e., `<<~` (asynchronous send)\n\n;; modules\n;; - optional precomputation with indexing choices and retrieval preferences\n;; - definitions for relations\n;;   - rules for immediate inference: `define-relation` and/or `extend-relation`\n;;     - deliver new facts during current time step, until fixed point is reached\n;;     - synonym for `extend-relation`, deliver during current timestep: <<=\n;;   - rules for next-step inference\n;;     - delete at next timestep: <<-\n;;     - insert at next timestep: <<+\n;;   - rules for indeterminate inference\n;;     - deliver at arbitrary (future?) timetep: <<~\n;;     - these will write to output devices for the host system to process\n;; - assertions: queries used for property/consistency checking or other validation\n;;   - can inform data representation choices and query optimization\n;;   - can use to infer:\n;;     - uniqueness/degrees/cardinalities\n;;     - value information (types, value ranges, frequencies)\n;;     - join dependencies\n;; - module linking\n;;   - by default, a module will export all definitions\n;;   - apply visibility modifiers (such as except, only, rename, prefix) to change a module's exports\n;;     - renamings apply to a process too, so that its database relations can be targeted by new rules\n;;     - support dependency shaking\n;;       - given a root set of terms/relations, throw away everything else\n;;   - combine compatible modules to produce a new module\n;;     - same module may be linked more than once, to produce different variations (mixin-style)\n;;       - for instance, this may be used to switch io devices\n\n;; process state (like a version control system commit):\n;; - reference to the dbms that manages this process state's database\n;; - database\n;;   - schemas\n;;   - current content of all persistent temporal relations\n;;     - i.e., (indexed) tables keyed by name\n;;   - pending work (incomplete indexes)\n;; - io device temporal relation bindings and buffers\n;; - current program, describing how the process evolves each time step\n;;   - mapping of public names to internal names\n;;   - mapping of internal names to devices\n;;   - mapping of internal names to tables\n;;   - hierarchically-named subprograms w/ enabled/disabled status\n;;   - in order to run, program must not have unresolved dependencies\n;;     - terms without definitions are unresolved\n;; - residual environment (when used as a library)\n;;   - module specs inheriting from this process will be parsed using this environment\n;; - history of database transitions\n;;   - program changes\n;;   - ingestion metadata per time step\n;; - how do we check source data consistency?\n;;   - processes allow data to change, so inconsistency with original sources may be intentional\n;;   - to check consistency as in the old approach, analyze the process history for data provenance\n;;     - particularly data io device bindings and their dependencies across time steps\n;;       - input device metadata should include real world time stamps, filesystem information, transformation code, possibly content hash\n;; - main operations:\n;;   - run a query over the current database\n;;   - change current program\n;;     - enable/disable subprograms\n;;     - rename/hide public names\n;;     - hierarchy rearrangement and linking\n;;     - nontemporal relations declared to be precomputed will be precomputed before returning\n;;     - will add a program diff to the history\n;;   - step, with a step/fuel count (`#f` to run continously)\n;;     - will return unused fuel if (temporary) quiessence is detected, otherwise `#f`\n;;     - if any work was performed, this will log a new database uid in the process history\n;;     - if input was produced by devices configured for snapshot, snapshots will be included in the history\n;;       - for replay reproducibility\n;;   - synchronizable event indicating more work can be performed\n;;     - e.g., if not even temporary quiessence has been achieved yet\n;;     - e.g., if temporary quiessence had been achieved, but new input has arrived\n;;     - `#f` if permanent quiessence has been reached\n;;       - only possible if no input devices are bound\n;;       - permanence w.r.t. the current program\n;;   - save/flush (to dbms filesystem, for later reloading)\n;;     - transitions should be continuously checkpointed and saved, so this may not be necessary\n;;       - if background saving ends up being asynchronous, this operation will wait until the flush catches up\n;;     - io devices cannot be directly restored from disk\n;;       - their metadata can still be saved, however\n;;       - when restoring such a process, io device rebindings must be provided\n\n;; process (like a version control system branch):\n;; - process state\n;; - db name for stable reference in later program runs\n;; - performing operations will update the current process\n;;   - produce new process state and reassign stable name to the new state\n;; - may spawn new process sharing the current process state\n;;   - can explore diverging transitions\n;;   - can save earlier state to later revisit\n;;   - explicit garbage collection and compaction can be used to retain only data that is directly-referenced by active processes\n;;     - can optionally preserve external data ingestion snapshots to support reproducing intermediate databases\n;; - may be packaged for export to another dbms\n;;   - dbms garbage collection and process export are similar activities\n\n;; dbms (database management system):\n;; - collection of named process databases\n;; - cached relation content keyed by history dependencies, to support sharing between similar processes\n;;   - includes content of temporal relations as well as nontemporal relations declared to be cached/precomputed\n;;   - cache may include term values that were expensive to compute\n;;   - processes evolving from a common ancestor will share content unless rule extensions lead to logical divergence\n;;     - extending a precomputed relation will require precomputing a new version to be consistent\n;;       - not an error, but maybe provide a warning\n;;       - progammer decides whether multiple precomputed versions of similar rules is worth the time/space trade off\n;;         - programmer organizes modules according to this decision\n\n;; modular stratification given a partial order on relation parameters\n;; - would be convenient to define a universal <= that respected point-wise monotonicity (any<= does not)\n;; - reachability example using equivalence classes reduces materialized space usage from O(n^2) to O(n):\n;;     (define-relation/source (node n)\n;;       ;; specify graph vertex data here\n;;       )\n;;     (define-relation/source (arc a b)\n;;       ;; specify graph connection data here\n;;       )\n;;\n;;     ;; original definition of reachable before optimization\n;;     ;; materialization could take O(n^2) space\n;;     (define-relation (reachable a b)\n;;       (conde\n;;         ((node a) (== a b))\n;;         ((fresh (mid)\n;;            (reachable a mid)\n;;            (conde ((arc mid b))\n;;                   ((arc b mid)))))))\n;;\n;;     ;; new definition of reachable after optimization\n;;     (define-relation (reachable a b)\n;;       (fresh (repr)\n;;         (reachable-class repr a)\n;;         (reachable-class repr b)))\n;;\n;;     ;; materialization will take O(n) space\n;;     (define-relation (reachable-class representative x)\n;;       (string<= representative x)  ;; not required, but does this improve performance?\n;;       ;; This negated condition ensures we represent each reachability class only once, to save space.\n;;       ;; self-recursion within negation is possible due to modular stratification by string<\n;;       ;; i.e., (reachable-class r x) only depends on knowing (reachable-class p _) for all (string< p r), giving us a safe evaluation order\n;;       (not (fresh (predecessor)\n;;              (string< predecessor representative)\n;;              (reachable-class predecessor representative)))\n;;       (conde\n;;         ((node representative) (== representative x))\n;;         ((fresh (mid)\n;;            (reachable-class representative mid)\n;;            (conde ((arc mid x))\n;;                   ((arc x mid)))))))\n\n;; ACILG hierarchy for analysis and optimization\n;; - associative, commutative, idempotent, has-least-element, has-greatest-element\n;; - comprehensions: map followed by combining mapped results\n;; - an operator having all the properties in a prefix of this list may support more optimization\n;; - associative: parallelism, but may need coordination for ordering\n;; - commutative: parallelism, no ordering coordination needed\n;; - idempotent:  fixed point computation without needing stratification; may need an initial value\n;; - has-least-element: natural choice of initial value already known\n;; - has-greatest-element: some computation may be stopped early, before all data is seen, if threshold is reached\n\n;; order-by for converting sets/dicts to sequences\n\n;; compact formulas as state component?\n;; - state is a strategy-agnostic compact formula, plus a strategy-specific component (including a work scheduler)\n;; - multi-pass strategy compilation: describe this state representation in the AST for the next pass's language\n\n;; In some untyped systems, term evaluation may produce side-conditions (formulas)\n;; - e.g., (car x) may introduce the formula (pair? x)\n\n;; complex terms should be replaced with fresh variables to avoid redundant computations\n\n;; more specific variable domain constraints:\n;; - constant\n;; - non-constant data construction (cons, vector, ...)\n;;   - shape may not be fully known (vector with unspecified length)\n;; - finite domain\n;;   - could be represented as a join of constants; probably better to use a small table\n;;   - could also include a representation for semi-joined table constraints\n;; - interval domain\n;;   - possibly with gaps/subtractions (negative finite domains)\n;; - join of domain constraints\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/old/example/base.rkt",
    "content": "#lang racket/base\n(provide m.base)\n\n(define-dbk m.base\n  (<<= (==    u u))\n  (<<= (=/=   u v) (not (== u u)))\n  (<<= (any<= u v) (== #t (any<= u v)))\n  (<<= (any<  u v) (=/= u v) (any<= u v))\n  (<<= (any>= u v) (any<= v u))\n  (<<= (any>  u v) (any<  v u))\n\n  (relation (member x ys)\n    modes ((ys)))  ;; this mode could be inferred\n  (<<= (member x (cons x ys)))\n  (<<= (member x (cons y ys))\n    (=/= x y) (member x ys))\n  ;; member can also be defined with a single rule:\n  ;(<<= (member x ys)\n  ;  (exist (a d)\n  ;    (== ys `(,a . ,d))\n  ;    (or (== x a)\n  ;        (and (=/= x a) (member x d)))))\n\n  (relation (append xs ys xsys)\n    modes ((xs) (xsys)))  ;; these modes could be inferred\n  (<<= (append '() ys ys))\n  (<<= (append `(,x . ,xs) ys `(,x . ,xsys))\n    (append xs ys xsys))\n\n  ;; Can this theorem be proven?\n  ;(assert (all (xs ys)\n  ;          (iff (append xs ys ys)\n  ;               (== xs '()))))\n  )\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/old/example/counters.rkt",
    "content": "#lang racket/base\n(provide dbk.counters)\n(require \"base.rkt\"\n\n(define-dbk dbk.counters\n  (module 'foo\n    (<<+ (foo (+ n 1)) (foo n)))\n  (module 'bar\n    (<<+ (bar (+ n 1)) (bar n)))\n  (module 'initialize\n    (<<+ (foo 0))\n    (<<+ (bar 0)))\n  (module 'clean\n    (<<- (foo n) (bar n))\n    (<<- (bar n) (foo n))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/old/example/path.rkt",
    "content": "#lang racket/base\n(provide m.path m.edge.acyclic m.edge.cycles)\n(require \"base.rkt\")\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Define program modules\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-dbk m.path\n  (relation (edge source target)\n    indexes ((target source)))\n\n  (<<= (path s t) (edge s t))\n  (<<= (path s t) (exist (mid)\n                    (edge s mid) (path mid t))))\n\n(define-dbk m.edge.acyclic\n  (link m.base)\n  (<<+ (edge s t) (member (list s t)\n                          '((1 2)\n                            (2 4)\n                            (1 3)\n                            (3 5)\n                            (2 6)\n                            (3 6)\n                            (6 4)))))\n\n(define-dbk m.edge.cycles\n  (link m.base)\n  (<<+ (edge s t) (member (list s t)\n                          '((1 1)\n                            (5 1)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Run example\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define p (process m.path))\n\n;; edge relation is empty\n(p 'eval '(query (s t) (path s t)))\n;; ==>\n;; ()\n\n;; insert acyclic edge data\n(p 'program-set! (link m.path m.edge.acyclic))\n(p 'tick!)\n(p 'program-set! m.path)\n\n(p 'eval '(query (s t) (path s t)))\n;; ==>\n;; ? TODO\n\n;; insert extra edges that form cycles\n(p 'program-set! (link m.path m.edge.cycles))\n(p 'tick!)\n(p 'program-set! m.path)\n\n(p 'eval '(query (s t) (path s t)))\n;; ==>\n;; ? TODO\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/old/example/quorum.rkt",
    "content": "#lang racket/base\n(provide m.quorum-vote)\n(require \"base.rkt\")\n\n;; Based on figures 2 and 3 in: Logic and Lattices for Distributed Programming\n;; https://dsf.berkeley.edu/papers/socc12-blooml.pdf\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Define program modules\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-dbk m.quorum-vote\n  (<<+ (vote id) (vote.in id))\n\n  ;; Demonstrate intermediate term definitions\n  (define vote-count (set-count (query id (vote id))))\n  (define quorum?    (<= quorum-size count))\n  (<<~ (result.out 'success) (== #t quorum?))\n\n  ;; This is what it looks like without intermediate definitions\n  ;(<<~ (result.out 'success)\n  ;  (== #t (<= quorum-size (set-count (query id (vote id))))))\n\n  ;; And this is an alternative where <= is used as a relation instead\n  ;(<<~ (result.out 'success)\n  ;  (<= quorum-size (set-count (query id (vote id)))))\n  )\n\n(define pipe.result (dbk:pipe))\n\n(define program\n  (link m.quorum-vote\n        ;; Factored out so that m.quorum-vote is reusable\n        (dbk\n          (parameter quorum-size 3)\n          (input     (vote.in    id) _)  ; TODO: fill _ with an actual input device\n          (output    (result.out x)  (out:pipe pipe.result)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Run example\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define p (process program))\n\n;; Loop until enough votes arrive (assumes vote.in input device is populated concurrently)\n(let loop ()\n  (unless (s-member '(success) (pipe-get pipe.result))\n    (p 'tick!)\n    (loop)))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/old/example/shortest-path.rkt",
    "content": "#lang racket/base\n(provide m.shortest-path)\n(require \"base.rkt\")\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Define program modules\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-dbk m.shortest-path\n  (link m.base)\n\n  (relation (edge source target distance)\n    indexes ((target source)))\n\n  ;; Guard against cyclic data\n  (<<= (reachable s t) (edge s t _))\n  (<<= (reachable s t) (exist (mid)\n                         (edge s mid _) (reachable mid t)))\n  (assert (not (exist (x) (reachable x x))))\n\n  ;; This relation will be infinitely large if edge describes a cyclic graph.\n  ;; To support cyclic data, we can rewrite this to stratify across time steps,\n  ;; stopping when there are no more improvements made during a single tick.\n  ;; TODO: It might be possible to avoid stratifying over time by expressing\n  ;; shortest-path directly using lattice operations for computing distance,\n  ;; allowing recursion within aggregation due to monotonicity.\n  (<<= (path s t d) (edge s t d))\n  (<<= (path s t (+ d.e d.p))\n    (exist (mid)\n      (edge s mid d.e)\n      (path mid t d.p)))\n\n  (<<= (shortest-path s t distance)\n    (=/= distance #f)\n    (== distance (merge min #f (query distance (path s t distance)))))\n\n  (<<= (edge s t distance)\n    (member (list s t distance)\n            '((a b 2)\n              (b c 5)\n              (b c 1)\n              (c d 3)\n              (c e 5)\n              (d e 1)\n              (e f 2)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Run examples\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define p (process m.shortest-path))\n\n(p 'eval '(query (s t c) (path s t c)))\n;; ==>\n;; ? TODO\n\n(p 'eval '(query (s t c) (shortest-path s t c)))\n;; ==>\n;; ? TODO\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/old/parse.rkt",
    "content": "#lang racket/base\n(provide\n  env.empty env:new env-ref env-ref* env-set env-set* env-remove env-remove* env-bind env-bind* env-union env-rename\n  m:named m:link m:term m:relation m:assert\n  f:const f:relate f:implies f:iff f:or f:and f:not f:exist f:all\n  f:any<= f:== f:=/=\n  t:query t:map/merge t:quote t:var t:prim t:app t:lambda t:if t:let t:letrec\n  t:apply t:cons t:car t:cdr t:vector t:list->vector t:vector-ref t:vector-length\n  t-free-vars f-free-vars t-free-vars* t-free-vars-first-order t-free-vars-first-order*\n  t-substitute f-substitute t-substitute* t-substitute-first-order t-substitute-first-order*\n  f-relations t-relations t-relations*\n  module-flatten module-ref module-add module-remove module-remove* module-wrap module-unwrap\n  program.empty program:new program:set program-module program-env program-flatten program-remove*\n  define-dbk dbk dbk-parse dbk-syntax link parameter input output\n  dbk-environment dbk-environment-update with-dbk-environment-update with-fresh-names\n  literal? literal simple-parser\n  parse:program parse:module parse:formula parse:term)\n(require \"misc.rkt\" racket/hash racket/list racket/match racket/set racket/struct)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Environments with vocabularies\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define env.empty (hash))\n\n(define (env-ref     env vocab n)     (hash-ref (hash-ref env n (hash)) vocab #f))\n(define (env-ref*    env vocab ns)    (map (lambda (n) (env-ref env vocab n)) ns))\n(define (env-set     env vocab n  v)  (let* ((vocab=>v (hash-ref env n (hash)))\n                                             (vocab=>v (if v\n                                                         (hash-set    vocab=>v vocab v)\n                                                         (hash-remove vocab=>v vocab))))\n                                        (if (hash-empty? vocab=>v)\n                                          (hash-remove env n)\n                                          (hash-set env n vocab=>v))))\n(define (env-set*    env vocab ns vs) (foldl (lambda (n v env) (env-set env vocab n v)) env ns vs))\n\n(define (env-remove  env       n)     (hash-remove env n))\n(define (env-remove* env       ns)    (foldl (lambda (n e) (env-remove env n)) env ns))\n\n(define (env-bind    env vocab n  v)  (env-set  (env-remove  env n)  vocab n  v))\n(define (env-bind*   env vocab ns vs) (env-set* (env-remove* env ns) vocab ns vs))\n\n(define (env-union   env . envs)      (foldl (lambda (e e.0)\n                                               (hash-union e.0 e #:combine\n                                                           (lambda (vocab=>v.0 vocab=>v)\n                                                             (hash-union vocab=>v.0 vocab=>v #:combine\n                                                                         (lambda (v.0 v) (if v v v.0))))))\n                                             env envs))\n\n(define (env-rename env n=>n)\n  (define (v-rename vocab v)    (cons vocab               (if (procedure? v)\n                                                            v\n                                                            (hash-ref n=>n v v))))\n  (define (n-rename n vocab=>v) (cons (hash-ref n=>n n n) (make-immutable-hash\n                                                            (hash-map vocab=>v v-rename))))\n  (make-immutable-hash (hash-map env n-rename)))\n\n(define (env:new vocab . args)\n  (define nvs (plist->alist args))\n  (env-set* env.empty vocab\n            (map car nvs)\n            (map cdr nvs)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Abstract syntax\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-variant formula?\n  (f:const   value)  ; can be thought of as a relation taking no arguments\n  (f:relate  relation args)\n  (f:implies if then)\n  (f:iff     f1 f2)\n  (f:or      f1 f2)\n  (f:and     f1 f2)\n  (f:not     f)\n  (f:exist   params body)\n  (f:all     params body))\n\n(define (f:any<= u v) (f:relate '(prim any<=) (list u v)))\n(define (f:any<  u v) (f:relate '(prim any<)  (list u v)))\n(define (f:==    u v) (f:relate '(prim ==)    (list u v)))\n(define (f:=/=   u v) (f:relate '(prim =/=)   (list u v)))\n\n;; lambda calculus extended with constants (quote), logical queries, map/merge comprehensions\n(define-variant term?\n  (t:query     name formula)\n  (t:map/merge proc.map proc.merge default xs)\n  (t:quote     value)\n  (t:var       name)\n  (t:prim      name)\n  (t:app       proc args)\n  (t:lambda    params body)\n  (t:if        c t f)\n  (t:let       bpairs body)\n  (t:letrec    bpairs body))\n\n(define (t:apply f . args)  (t:app (t:prim 'apply)         args))\n(define (t:cons a d)        (t:app (t:prim 'cons)          (list a d)))\n(define (t:car p)           (t:app (t:prim 'car)           (list p)))\n(define (t:cdr p)           (t:app (t:prim 'cdr)           (list p)))\n(define (t:vector . args)   (t:app (t:prim 'vector)        args))\n(define (t:list->vector xs) (t:app (t:prim 'list->vector)  (list xs)))\n(define (t:vector-ref v i)  (t:app (t:prim 'vector-ref)    (list v i)))\n(define (t:vector-length v) (t:app (t:prim 'vector-length) (list v)))\n\n;; TODO: use CPS yielding to efficiently support partial-answer variations\n(define (t-free-vars t (first-order? #f))\n  (let loop ((t t))\n    (match t\n      ((t:query  name f)      (set-subtract (f-free-vars f first-order?) (set name)))\n      ((t:quote  _)           (set))\n      ((t:var    name)        (set name))\n      ((t:prim   _)           (set))\n      ((t:app    func args)   (set-union (t-free-vars* args first-order?)\n                                         (if first-order? (set) (loop func))))\n      ((t:lambda params body) (set-subtract (loop body) (list->set params)))\n      ((t:if     c t f)       (set-union (loop c) (loop t) (loop f)))\n      ((t:let    bpairs body) (set-union (t-free-vars* (map cdr bpairs) first-order?)\n                                         (set-subtract (loop body) (list->set (map car bpairs)))))\n      ((t:letrec bpairs body) (set-subtract (set-union (t-free-vars* (map cdr bpairs) first-order?)\n                                                       (loop body))\n                                            (list->set (map car bpairs)))))))\n\n(define (t-free-vars-first-order t) (t-free-vars t #t))\n\n(define (f-free-vars f (first-order? #f))\n  (let loop ((f f))\n    (match f\n      ((f:const   _)             (set))\n      ((f:or      f1 f2)         (set-union (loop f1) (loop f2)))\n      ((f:and     f1 f2)         (set-union (loop f1) (loop f2)))\n      ((f:implies if then)       (set-union (loop if) (loop then)))\n      ((f:relate  relation args) (t-free-vars* args first-order?))\n      ((f:exist   params body)   (set-subtract (loop body) (list->set params)))\n      ((f:all     params body)   (set-subtract (loop body) (list->set params))))))\n\n(define (t-free-vars* ts (first-order? #f))\n  (foldl (lambda (t vs) (set-union vs (t-free-vars t first-order?)))\n         (set) ts))\n(define (t-free-vars-first-order* ts) (t-free-vars* ts #t))\n\n(define (f-relations f)\n  (match f\n    ((f:const   _)             (set))\n    ((f:or      f1 f2)         (set-union (f-relations f1) (f-relations f2)))\n    ((f:and     f1 f2)         (set-union (f-relations f1) (f-relations f2)))\n    ((f:implies if then)       (set-union (f-relations if) (f-relations then)))\n    ((f:relate  relation args) (set-add (t-relations* args) relation))\n    ((f:exist   params body)   (f-relations body))\n    ((f:all     params body)   (f-relations body))))\n\n(define (t-relations t)\n  (match t\n    ((t:query  _ f)         (f-relations f))\n    ((t:quote  _)           (set))\n    ((t:var    _)           (set))\n    ((t:prim   _)           (set))\n    ((t:app    func args)   (set-union (t-relations func) (t-relations* args)))\n    ((t:lambda params body) (t-relations body))\n    ((t:if     c t f)       (set-union (t-relations c) (t-relations t) (t-relations f)))\n    ((t:let    bpairs body) (set-union (t-relations* (map cdr bpairs)) (t-relations body)))\n    ((t:letrec bpairs body) (set-union (t-relations* (map cdr bpairs)) (t-relations body)))))\n\n(define (t-relations* ts)\n  (foldl (lambda (t rs) (set-union rs (t-relations t)))\n         (set) ts))\n\n(define (t-substitute t name=>name (first-order? #f))\n  (let loop ((t t))\n    (match t\n      ((t:query  name f)      (t:query name (f-substitute f (hash-remove name=>name name) first-order?)))\n      ((t:quote  _)           t)\n      ((t:var    name)        (t:var (hash-ref name=>name name name)))\n      ((t:prim   _)           t)\n      ((t:app    func args)   (t:app func (t-substitute* args name=>name first-order?)))\n      ((t:lambda params body) (t:lambda params (t-substitute body\n                                                             (hash-remove* name=>name params)\n                                                             first-order?)))\n      ((t:if     c t f)       (t:if (loop c) (loop t) (loop f)))\n      ((t:let    bpairs body) (define params (map car bpairs))\n                              (t:let (map cons params (t-substitute* (map cdr bpairs)\n                                                                     name=>name\n                                                                     first-order?))\n                                     (t-substitute body\n                                                   (hash-remove* name=>name params)\n                                                   first-order?)))\n      ((t:letrec bpairs body) (define params (map car bpairs))\n                              (define n=>n   (hash-remove* name=>name params))\n                              (t:let (map cons params (t-substitute* (map cdr bpairs)\n                                                                     n=>n\n                                                                     first-order?))\n                                     (t-substitute body\n                                                   n=>n\n                                                   first-order?))))))\n\n(define (t-substitute* ts name=>name (first-order? #f))\n  (map (lambda (t) (t-substitute t name=>name first-order?)) ts))\n\n(define (f-substitute f name=>name (first-order? #f))\n  (let loop ((f f))\n    (match f\n      ((f:const   _)             f)\n      ((f:or      f1 f2)         (f:or      (loop f1)\n                                            (loop f2)))\n      ((f:and     f1 f2)         (f:and     (loop f1)\n                                            (loop f2)))\n      ((f:implies if then)       (f:implies (loop if)\n                                            (loop then)))\n      ((f:relate  relation args) (f:relate relation (t-substitute* args name=>name first-order?)))\n      ((f:exist   params body)   (f:exist params (f-substitute body\n                                                               (hash-remove* name=>name params)\n                                                               first-order?)))\n      ((f:all     params body)   (f:all   params (f-substitute body\n                                                               (hash-remove* name=>name params)\n                                                               first-order?))))))\n\n(define (t-substitute-first-order  t  name=>name) (t-substitute  t  name=>name #t))\n(define (t-substitute-first-order* ts name=>name) (t-substitute* ts name=>name #t))\n\n;; A schema is a finite map of names to finite maps of properties to sets of\n;; values, i.e.: (=> name (=> property (set value)))\n(define schema.empty (hash))\n(define (schema:new private=>property=>value)\n  (make-immutable-hash\n    (hash-map private=>property=>value\n              (lambda (private p=>v)\n                (cons private\n                      (make-immutable-hash\n                        (hash-map p=>v (lambda (p v) (cons p (set v))))))))))\n\n(define (schema-union p=>p=>v.0 p=>p=>v.1)\n  (hash-union p=>p=>v.0 p=>p=>v.1\n              #:combine (lambda (p=>v.0 p=>v.1)\n                          (hash-union p=>v.0 p=>v.1 #:combine set-union))))\n\n(record module (terms relations assertions name=>submodule) #:prefab)\n(define module.empty (module\n                       (terms           schema.empty)\n                       (relations       schema.empty)\n                       (assertions      (set))\n                       (name=>submodule (hash))))\n\n(define (m:link     ms)        (foldl (lambda (m m.0)\n                                        (match-define (module:struct ts.0 rs.0 as.0 n=>s.0) m.0)\n                                        (match-define (module:struct ts   rs   as   n=>s)   m)\n                                        (module\n                                          (terms           (schema-union ts.0 ts))\n                                          (relations       (schema-union rs.0 rs))\n                                          (assertions      (set-union    as.0 as))\n                                          (name=>submodule (hash-union n=>s.0 n=>s #:combine\n                                                                       (lambda (s.0 s)\n                                                                         (m:link (list s.0 s)))))))\n                                      module.empty\n                                      ms))\n(define (m:named    name m)    (module:set module.empty (name=>submodule (hash       name m))))\n(define (m:term     name p=>v) (module:set module.empty (terms           (schema:new (hash name p=>v)))))\n(define (m:relation name p=>v) (module:set module.empty (relations       (schema:new (hash name p=>v)))))\n(define (m:assert   formula)   (module:set module.empty (assertions      (set        formula))))\n\n(define (module-flatten m)          (m:link (cons (module:set m (module-name=>submodule (hash)))\n                                                  (map module-flatten (hash-values (module-name=>submodule m))))))\n\n(define (module-ref     m path)     (foldl (lambda (name m)\n                                             (hash-ref (module-name=>submodule m) name module.empty))\n                                           m path))\n\n(define (module-add     m path sub) (if (null? path)\n                                      (m:link (list m sub))\n                                      (module:set m (name=>submodule\n                                                      (hash-update (module-name=>submodule m) (car path)\n                                                                   (lambda (m) (module-add m (cdr path) sub))\n                                                                   module.empty)))))\n\n(define (module-remove  m path)     (if (null? path)\n                                      module.empty\n                                      (let loop ((m m) (path path))\n                                        (module:set m (name=>submodule\n                                                        (if (null? (cdr path))\n                                                          (hash-remove (module-name=>submodule m) (car path))\n                                                          (hash-update (module-name=>submodule m) (car path)\n                                                                       (lambda (m) (loop m (cdr path)))\n                                                                       module.empty)))))))\n\n(define (module-remove* m paths)    (foldl (lambda (path m) (module-remove m path)) m paths))\n\n(define (module-wrap    m path)     (foldl (lambda (name m)\n                                             (module:set module.empty (name=>submodules (hash name m))))\n                                           m path))\n\n(define (module-unwrap  m path)     (foldl (lambda (name m)\n                                             (hash-ref (module-name=>submodule m) name module.empty))\n                                           m path))\n\n(record program (module env) #:prefab)\n(define (program:new m env) (program (module m) (env env)))\n(define program.empty (program:new module.empty env.empty))\n\n(define (program-remove* p paths) (program:set p (module (module-remove* (program-module p) paths))))\n(define (program-flatten p)       (program:set p (module (module-flatten (program-module p)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Names and parameter trees\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define fresh-name-count (make-parameter #f))\n\n(define (call-with-fresh-names thunk)\n  (if (fresh-name-count)\n    (thunk)\n    (parameterize ((fresh-name-count 0))\n      (thunk))))\n\n(define-syntax-rule (with-fresh-names body ...)\n  (call-with-fresh-names (lambda () body ...)))\n\n(define (fresh-name name)\n  (define uid.next (fresh-name-count))\n  (unless uid.next (error \"fresh name not available:\" name))\n  (fresh-name-count (+ uid.next 1))\n  (cons uid.next (if (pair? name) (cdr name) name)))\n\n(define (param-names param)\n  (match param\n    ((? symbol?)    (list param))\n    ('()            '())\n    ((cons p.a p.d) (append (param-names p.a) (param-names p.d)))\n    ((? vector?)    (param-names (vector->list param)))))\n\n(define (unique? names) (= (set-count (list->set names)) (length names)))\n\n(define (name? x) (not (or (not x) (procedure? x))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Parsing\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (literal? x) (or (number? x) (boolean? x) (string? x) (bytes? x)))\n(define (literal  x) (if (and (number? x) (inexact? x)) (inexact->exact x) x))\n\n(define (binding-pairs?! bps)\n  (unless (and (list? bps)\n               (andmap (lambda (bp) (and (list? bp)\n                                         (= 2 (length bp))))\n                       bps))\n    (error \"invalid binding pairs:\" bps)))\n\n(define ((simple-parser proc) stx)\n  (cond ((list? stx) (apply proc (cdr stx)))\n        (else        (error \"simple-parser expects list syntax:\" stx))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Module parsing\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define current-env (make-parameter #f))\n\n(define (current-env-bind  vocab n  v)  (current-env (env-bind  (current-env) vocab n  v)))\n(define (current-env-bind* vocab ns vs) (current-env (env-bind* (current-env) vocab ns vs)))\n\n(define ((parse:program stx) env)\n  (unless (list? stx) (error \"invalid program syntax:\" stx))\n  (with-fresh-names\n    (parameterize ((current-env env))\n      (define resume (apply parse:module:begin stx))\n      (define env    (current-env))\n      (program:new (resume env) env))))\n\n(define (parse:module:begin . stxs)\n  (define deferred (map parse:module stxs))\n  (lambda (env) (m:link (map (lambda (d) (d env)) deferred))))\n\n(define (parse:module stx)\n  (with-fresh-names\n    (match stx\n      ((? symbol? name)\n       (define mc.b (env-ref (current-env) 'module name))\n       (cond ((procedure? mc.b) (mc.b stx))\n             (else              (error \"unknown module clause keyword:\" name mc.b))))\n      ((list operator operands ...)\n       (define mc.b (env-ref (current-env) 'module operator))\n       (cond ((procedure? mc.b) (mc.b stx))\n             (else              (error \"unknown module clause operator:\" operator mc.b))))\n      ((? procedure? self-parse) (self-parse)))))\n\n(define parse:module:module\n  (simple-match-lambda\n    ((name . body) (define resume (apply parse:module:begin body))\n                   (lambda (env) (m:named name (resume env))))))\n\n(define (quote-property property)\n  (lambda (value)\n    (lambda (env) (hash property value))))\n\n(define (parse:declare-relation:projections property msg.name)\n  (simple-match-lambda\n    (((attrs . projections))\n     (unless (unique? attrs)\n       (error (string-append msg.name \" attribute names must be unique:\") attrs))\n     (lambda (env.0)\n       (define unames (map fresh-name attrs))\n       (define env    (env-bind* env.0 'term attrs unames))\n       (hash property (cons unames (map (lambda (proj) ((parse:term* proj) env))\n                                        projections)))))))\n\n(define parse:declare-relation:indexes (parse:declare-relation:projections 'indexes \"indexes:\"))\n(define parse:declare-relation:modes   (parse:declare-relation:projections 'modes   \"modes:\"))\n\n(define (parse:module:projections property)\n  (simple-parser\n    (simple-match-lambda\n      (((relation . attrs) . projections)\n       (parse:module:relation (cons relation attrs) property (cons attrs projections))))))\n\n(define parse:declare-term:definition\n  (lambda (body)\n    (lambda (env) (hash 'definition ((parse:term body) env)))))\n\n(define (parse:declare-relation:rule type)\n  (simple-match-lambda\n    (((params . formulas))\n     (lambda (env)\n       ;; NOTE: extracting variables in first-order positions as pattern\n       ;; variables may be brittle.  It may be better to introduce a pattern\n       ;; matching vocabulary to explicitly identify pattern variables.\n       (define ts.params    (map (lambda (p) ((parse:term p) env)) params))\n       (define names.params (set->list (t-free-vars-first-order* ts.params)))\n       (define names.argument\n         (map (lambda (i) (fresh-name (string->symbol (string-append \"x.\" (number->string i)))))\n              (range (length params))))\n       (define formula\n         ((apply parse:formula:exist names.params\n                 (lambda (env)\n                   (foldl f:and\n                          (f:== (quote-literal #t) (quote-literal #t))\n                          (map (lambda (n t) (f:== (t:var n) t))\n                               names.argument\n                               (t-substitute-first-order*\n                                 ts.params\n                                 (make-immutable-hash\n                                   (map cons names.params (env-ref* env 'term names.params)))))))\n                 formulas)\n          env))\n       (hash 'rules (list (vector type names.argument formula)))))))\n\n(define (parse:module:rule type)\n  (simple-parser\n    (simple-match-lambda\n      (((relation . params) . formulas) (parse:module:relation\n                                          relation\n                                          (parse:declare-relation:rule type)\n                                          (cons params formulas))))))\n\n(define parse:module:link\n  (simple-match-lambda\n    (ms (lambda (_) (m:link ms)))))\n\n(define parse:module:parameter\n  (simple-match-lambda\n    (kvs (define kwargs (plist->alist kvs))\n         (apply parse:module:begin\n                (map (lambda (name value)\n                       (lambda () (parse:module:define name (lambda (_) (quote-literal value)))))\n                     (map car kwargs) (map cdr kwargs))))))\n\n(define (parse:module:io type)\n  (simple-match-lambda\n    (kvs (define kwargs (plist->alist kvs))\n         (apply parse:module:begin\n                (map (lambda (rsig io-device)\n                       (lambda () (parse:module:relation rsig type io-device)))\n                     (map car kwargs) (map cdr kwargs))))))\n\n(define parse:module:input  (parse:module:io (quote-property 'input)))\n(define parse:module:output (parse:module:io (quote-property 'output)))\n\n(define parse:module:define\n  (simple-match-lambda\n    (((name . params) body) (parse:module:define name (parse:term:lambda params body)))\n    ((name            body) (parse:module:term   name parse:declare-term:definition body))))\n\n(define (parse:module:declaration vocab.declare vocab.entity msg.entity m:entity)\n  (simple-match-lambda\n    ((name . kvs) (define kwargs (plist->alist kvs))\n                  (define uname  (fresh-name name))\n                  (current-env-bind vocab.entity name uname)\n                  (lambda (env)\n                    (define uname (env-ref env vocab.entity name))\n                    (unless (name? uname)\n                      (error (string-append \"invalid \" msg.entity \" renaming:\" name uname)))\n                    (m:link (map (lambda (property value)\n                                   (define p.b (if (procedure? property)\n                                                 property\n                                                 (env-ref env vocab.declare property)))\n                                   (define pmap (cond ((procedure? p.b) ((p.b value) env))\n                                                      (else             (hash (if p.b p.b property) value))))\n                                   (m:entity uname pmap))\n                                 (map car kwargs) (map cdr kwargs)))))))\n\n(define parse:module:relation\n  (simple-match-lambda\n    (((relation . attrs) . kvs) (apply parse:module:relation relation (quote-property 'attributes) attrs kvs))\n    (args                       (apply (parse:module:declaration 'declare-relation 'formula \"relation\" m:relation) args))))\n\n(define parse:module:term              (parse:module:declaration 'declare-term     'term    \"term\"     m:term))\n\n(define (parse:module:declare* parse-spec)\n  (simple-match-lambda\n    (specs (apply parse:module:begin\n                  (map (lambda (spec)\n                         (lambda () (if (list? spec)\n                                      (apply parse-spec spec)\n                                      (parse-spec       spec))))\n                       specs)))))\n\n(define parse:module:relations (parse:module:declare* parse:module:relation))\n(define parse:module:terms     (parse:module:declare* parse:module:term))\n\n(define parse:module:assert\n  (simple-match-lambda\n    ((formula) (lambda (env) (m:assert ((parse:formula formula) env))))))\n\n(define env.initial.module.declare-relation\n  (env:new\n    'declare-relation\n    '<<=     (parse:declare-relation:rule '<<=)\n    '<<+     (parse:declare-relation:rule '<<+)\n    '<<-     (parse:declare-relation:rule '<<-)\n    '<<~     (parse:declare-relation:rule '<<~)\n    'indexes parse:declare-relation:indexes\n    'modes   parse:declare-relation:modes))\n\n(define env.initial.module.declare-term\n  (env:new\n    'declare-term\n    'definition parse:declare-term:definition))\n\n(define env.initial.module.clause\n  (env:new\n    'module\n    'module          (simple-parser parse:module:module)\n    'begin           (simple-parser parse:module:begin)\n    'link            (simple-parser parse:module:link)\n    'relation        (simple-parser parse:module:relation)\n    'relations       (simple-parser parse:module:relations)\n    'term            (simple-parser parse:module:term)\n    'terms           (simple-parser parse:module:terms)\n    'indexes         (parse:module:projections parse:declare-relation:indexes)\n    'modes           (parse:module:projections parse:declare-relation:modes)\n    'parameter       (simple-parser parse:module:parameter)\n    'input           (simple-parser parse:module:input)\n    'output          (simple-parser parse:module:output)\n    'define          (simple-parser parse:module:define)\n    'assert          (simple-parser parse:module:assert)\n    '<<=             (parse:module:rule '<<=)\n    '<<+             (parse:module:rule '<<+)\n    '<<-             (parse:module:rule '<<-)\n    '<<~             (parse:module:rule '<<~)\n    ;; miniKanren style module clauses\n    'define-relation (parse:module:rule '<<=)))\n\n(define env.initial.module (env-union env.initial.module.declare-relation\n                                      env.initial.module.declare-term\n                                      env.initial.module.clause))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Formula parsing\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define ((parse:formula stx) env)\n  (with-fresh-names\n    (match stx\n      ((? literal? data) (f:const (literal data)))\n      ((? symbol? name)\n       (define f.b (env-ref env 'formula name))\n       (cond ((procedure? f.b) ((f.b stx) env))\n             (else             (f:const (if f.b f.b name)))))\n      ((list operator operands ...)\n       (define f.b (env-ref env 'formula operator))\n       ((cond ((procedure? f.b) (f.b stx))\n              (else             (parse:formula:relate (if f.b f.b operator) operands)))\n        env))\n      ((? procedure? self-parse) (self-parse env)))))\n\n(define ((parse:formula* formulas) env)\n  (map (lambda (f) ((parse:formula f) env)) formulas))\n\n(define anonymous-vars (make-parameter #f))\n\n(define-syntax formula/anonymous-vars\n  (syntax-rules ()\n    ((_ body ...) (parameterize ((anonymous-vars '()))\n                    (define f (let () body ...))\n                    (if (null? (anonymous-vars))\n                      f\n                      (f:exist (anonymous-vars) f))))))\n\n(define ((parse:formula:relate relation operands) env)\n  (formula/anonymous-vars (f:relate relation ((parse:term* operands) env))))\n\n(define parse:formula:or\n  (simple-match-lambda\n    ((disjunct)             (parse:formula disjunct))\n    ((disjunct . disjuncts) (lambda (env) (f:or ((parse:formula disjunct)           env)\n                                                ((apply parse:formula:or disjuncts) env))))))\n\n(define parse:formula:and\n  (simple-match-lambda\n    ((conjunct)             (parse:formula conjunct))\n    ((conjunct . conjuncts) (lambda (env) (f:and ((parse:formula conjunct)            env)\n                                                 ((apply parse:formula:and conjuncts) env))))))\n\n(define parse:formula:not\n  (simple-match-lambda ((f) (lambda (env) (f:not ((parse:formula f) env))))))\n\n(define (parse:formula:quantifier f:quantifier msg.name)\n  (simple-match-lambda\n    ((names . body) (unless (unique? names)\n                      (error (string-append msg.name \" parameter names must be unique:\") names))\n                    (lambda (env)\n                      (define unames (map fresh-name names))\n                      (f:quantifier unames ((apply parse:formula:and body)\n                                            (env-bind* env 'term names unames)))))))\n\n(define parse:formula:exist (parse:formula:quantifier f:exist \"existential quantifier\"))\n(define parse:formula:all   (parse:formula:quantifier f:all   \"universal quantifier\"))\n\n(define parse:formula:implies\n  (simple-match-lambda\n    ((hypothesis conclusion) (lambda (env) (f:implies ((parse:formula hypothesis) env)\n                                                      ((parse:formula conclusion) env))))))\n\n(define parse:formula:iff\n  (simple-match-lambda\n    ((f.a f.b) (lambda (env) (f:iff ((parse:formula f.a) env)\n                                    ((parse:formula f.b) env))))))\n\n;; miniKanren style formulas\n(define parse:formula:fresh (parse:formula:quantifier f:exist \"fresh\"))\n\n(define parse:formula:conde\n  (simple-match-lambda\n    (clauses (apply parse:formula:or (map (lambda (conjuncts) (apply parse:formula:and conjuncts))\n                                          clauses)))))\n\n(define env.initial.formula\n  (env:new\n    'formula\n    'or      (simple-parser parse:formula:or)\n    'and     (simple-parser parse:formula:and)\n    'not     (simple-parser parse:formula:not)\n    'implies (simple-parser parse:formula:implies)\n    'iff     (simple-parser parse:formula:iff)\n    'exist   (simple-parser parse:formula:exist)\n    'all     (simple-parser parse:formula:all)\n    ;; miniKanren style formulas\n    'fresh   (simple-parser parse:formula:fresh)\n    'conde   (simple-parser parse:formula:conde)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Term parsing\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (quote-literal v) (t:quote (literal v)))\n\n(define ((parse:term stx) env)\n  (with-fresh-names\n    (match stx\n      ((? literal? data) (quote-literal data))\n      ((? symbol?  name) ((parse:term:ref name) env))\n      ((list operator operands ...)\n       (define t.b (env-ref env 'term operator))\n       ((cond ((procedure? t.b) (t.b stx))\n              (else             (parse:term:app operator operands)))\n        env))\n      ((? procedure? self-parse) (self-parse env)))))\n\n(define ((parse:term* stxs) env)\n  (map (lambda (stx) ((parse:term stx) env)) stxs))\n\n(define ((parse:term:ref name) env)\n  (define t.b (env-ref env 'term name))\n  (cond ((procedure? t.b) ((t.b name) env))\n        (else             (t:var (if t.b t.b name)))))\n\n(define parse:term:query\n  (simple-match-lambda\n    ((param-pattern . body)\n     (lambda (env)\n       (cond ((symbol? param-pattern)\n              (define param (fresh-name param-pattern))\n              (t:query param ((apply parse:formula:and body)\n                              (env-bind env 'term param-pattern param))))\n             (else (define param (fresh-name 'q.0))\n                   (define names (param-names param-pattern))\n                   (define (assign-param-pattern env)\n                     (f:== param ((parse:term:simple param-pattern) env)))\n                   (t:query param ((apply parse:formula:exist names assign-param-pattern body)\n                                   env))))))))\n\n(define ((parse:term:simple pattern) env)\n  (let loop ((pattern pattern))\n    (match pattern\n      ((? symbol?)    ((parse:term:ref pattern) env))\n      ('()            (quote-literal '()))\n      ((cons p.a p.d) (t:cons (loop p.a) (loop p.d)))\n      ((? vector?)    (t:list->vector (loop (vector->list pattern)))))))\n\n(define parse:term:quote\n  (simple-match-lambda ((value) (lambda (_) (quote-literal value)))))\n\n(define parse:term:quasiquote\n  (simple-match-lambda\n    ((template)\n     (lambda (env)\n       (define ((keyword? k) n) (eq? k (env-ref env 'quasiquote n)))\n       (define (lift tag e)     (t:cons (quote-literal tag) (t:cons e (quote-literal '()))))\n       ;; NOTE: unquote-splicing support requires a safe definition of append\n       (let loop ((t template) (level 0))\n         (match t\n           ((list (? (keyword? 'unquote)    k) e) (if (= level 0)\n                                                    ((parse:term e) env)\n                                                    (lift k (loop e (- level 1)))))\n           ((list (? (keyword? 'quasiquote) k) t) (lift k (loop t (+ level 1))))\n           ((cons t.a t.d)                        (t:cons (loop t.a level) (loop t.d level)))\n           ((? vector?)                           (t:list->vector (loop (vector->list t) level)))\n           ((or (? (keyword? 'quasiquote))\n                (? (keyword? 'unquote)))          (error \"invalid quasiquote:\" t template))\n           (v                                     (quote-literal v))))))))\n\n(define parse:term:app\n  (simple-match-lambda\n    ((proc args) (lambda (env) (t:app ((parse:term proc)  env)\n                                      ((parse:term* args) env))))))\n\n(define parse:term:lambda\n  (simple-match-lambda\n    ((params body) (define names (param-names params))\n                   (unless (unique? names)\n                     (error \"lambda parameter names must be unique:\" names))\n                   (lambda (env)\n                     (define unames (map fresh-name names))\n                     (t:lambda unames ((parse:term body)\n                                       (env-bind* env 'term names unames)))))))\n\n(define parse:term:if\n  (simple-match-lambda\n    ((c t f) (lambda (env) (t:if ((parse:term c) env)\n                                 ((parse:term t) env)\n                                 ((parse:term f) env))))))\n\n(define parse:term:let\n  (simple-match-lambda\n    ((bps body) (binding-pairs?! bps)\n                (parse:term:app (parse:term:lambda (map car bps) body)\n                                (map cadr bps)))))\n\n(define parse:term:letrec\n  (simple-match-lambda\n    ((bps body) (binding-pairs?! bps)\n                (define names (param-names (map car bps)))\n                (unless (unique? names)\n                  (error \"letrec parameter names must be unique:\" names))\n                (lambda (env)\n                  (define unames (map fresh-name names))\n                  (define rhss ((parse:term* (map cadr bps)) env))\n                  (t:letrec (map cons unames rhss)\n                            ((parse:term body)\n                             (env-bind* env 'term names unames)))))))\n\n(define parse:term:and\n  (simple-match-lambda\n    (()           (lambda (_) (quote-literal #t)))\n    ((arg)        (parse:term arg))\n    ((arg . args) (parse:term:if arg\n                                 (apply parse:term:and args)\n                                 (lambda (_) (quote-literal #f))))))\n\n(define parse:term:or\n  (simple-match-lambda\n    (()           (lambda (_) (quote-literal #f)))\n    ((arg)        (parse:term arg))\n    ((arg . args) (lambda (env)\n                    ((parse:term:let (list (list 'temp arg))\n                                     (parse:term:if (parse:term:ref 'temp)\n                                                    (parse:term:ref 'temp)\n                                                    (lambda (_) ((apply parse:term:or args)\n                                                                 env))))\n                     env)))))\n\n(define parse:term:anonymous-var\n  (simple-match-lambda\n    ((stx) (lambda (_)\n             (unless (anonymous-vars) (error \"misplaced anonymous variable:\" stx))\n             (define name (fresh-name '_))\n             (anonymous-vars (cons name (anonymous-vars)))\n             (t:var name)))))\n\n(define (parse:term:prim name)\n  (simple-match-lambda\n    (((_ . args)) (lambda (env) (t:app (t:prim name) ((parse:term* args) env))))\n    ((_)          (lambda (env) (t:prim name)))))\n\n(define env.initial.term.quasiquote\n  (env:new\n    'quasiquote\n    'quasiquote 'quasiquote\n    'unquote    'unquote))\n\n(define env.initial.term.primitive\n  (apply env-union env.empty\n         (map (lambda (name) (env:new 'term name (parse:term:prim name)))\n              ;; TODO: some of these can be derived rather than primitive\n              '(apply\n                 cons car cdr\n                 list->vector vector vector-ref vector-length\n                 bytes-ref bytes-length bytes->string string->bytes\n                 symbol->string string->symbol\n                 floor + - * / =\n                 equal? not\n                 <= < >= >\n                 any<= any< any>= any>\n                 .< .<= .> .>=  ; polymorphic point-wise monotonic comparisons\n\n                 ;; TODO: can some of these be defined relationally?\n                 set set-count set-member? set-union set-intersect set-subtract\n                 dict dict-count dict-ref dict-set dict-update dict-remove dict-union dict-intersect\n\n                 min max sum length\n                 map/merge map merge filter foldl foldr))))\n\n(define env.initial.term.special\n  (env:new\n    'term\n    '_          parse:term:anonymous-var\n    'query      (simple-parser parse:term:query)\n    'quote      (simple-parser parse:term:quote)\n    'quasiquote (simple-parser parse:term:quasiquote)\n\n    'if         (simple-parser parse:term:if)\n    'lambda     (simple-parser parse:term:lambda)\n    'let        (simple-parser parse:term:let)\n    'letrec     (simple-parser parse:term:letrec)\n\n    'and        (simple-parser parse:term:and)\n    'or         (simple-parser parse:term:or)))\n\n(define env.initial.term (env-union env.initial.term.quasiquote\n                                    env.initial.term.primitive\n                                    env.initial.term.special))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Module macro expansion\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; TODO: have dbk build process values (move dbk and define-dbk out of parse.rkt)\n;; - built process will optionally inherit from one or more parent processes\n;; - if no parent is specified, automatically use an empty process with primitive environment\n;; - will no longer need dbk-environment\n;; - \"vertical\" library/language-like linking\n;;   - parent program environment(s unioned) used to initiate parsing\n;;     - as opposed to \"horizontal\" (symmetric) linking, where environments are not involved\n;;   - result will be automatically linked with parent(s)\n\n(define dbk-environment (make-parameter (env-union env.initial.term\n                                                   env.initial.formula\n                                                   env.initial.module)))\n\n(define (dbk-environment-update env->env) (dbk-environment (env->env    (dbk-environment))))\n\n(define-syntax-rule (with-dbk-environment-update env->env body ...)\n  (parameterize ((dbk-environment (env->env    (dbk-environment))))\n    body ...))\n\n;; TODO: (define-dbk name (other attributes?) (parent ...) body ...)\n(define-syntax-rule (define-dbk name body ...) (define name (dbk body ...)))\n\n;; TODO: (dbk (other attributes? such as process name) (parent ...) clauses ...) using (dbk-parse (union-of-envs-of parent ...) clauses ...)\n;; dbk-parse produces AST and residual env\n;; semantically process result of dbk-parse to produce a process value\n(define-syntax-rule (dbk clauses ...)          (dbk-parse (dbk-syntax clauses ...)))\n\n;; TODO: take initial environment as an argument\n(define-syntax-rule (dbk-parse stx)            (with-fresh-names\n                                                 ((parse:program stx) (dbk-environment))))\n\n;; TODO: implement link as a procedure\n(define-syntax link      (syntax-rules ()))\n(define-syntax parameter (syntax-rules ()))\n(define-syntax input     (syntax-rules ()))\n(define-syntax output    (syntax-rules ()))\n\n(define-syntax plist-syntax\n  (syntax-rules ()\n    ((_ key val plist ...) `(key ,val . ,(plist-syntax plist ...)))\n    ((_)                   '())))\n\n(define-syntax dbk-syntax\n  (syntax-rules (module link parameter input output)\n    ((_ (module    name cs ...) clauses ...) (cons `(module    ,name . ,(dbk-syntax cs  ...)) (dbk-syntax clauses ...)))\n    ((_ (link      modules ...) clauses ...) (cons `(link      ,modules ...)                  (dbk-syntax clauses ...)))\n    ((_ (parameter params  ...) clauses ...) (cons `(parameter . ,(plist-syntax params  ...)) (dbk-syntax clauses ...)))\n    ((_ (input     inputs  ...) clauses ...) (cons `(input     . ,(plist-syntax inputs  ...)) (dbk-syntax clauses ...)))\n    ((_ (output    outputs ...) clauses ...) (cons `(output    . ,(plist-syntax outputs ...)) (dbk-syntax clauses ...)))\n    ((_ clause                  clauses ...) (cons 'clause                                    (dbk-syntax clauses ...)))\n    ((_)                                     '())))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/old/process.rkt",
    "content": "#lang racket/base\n(provide\n  )\n(require \"abstract-syntax.rkt\" \"misc.rkt\" \"parse.rkt\"\n         racket/list racket/match racket/set)\n\n(record pstate (dbms history data program) #:prefab)\n(define (pstate:new dbms prg) (pstate (dbms                dbms)\n                                      (history             prg)\n                                      (data                'TODO)\n                                      (program             prg)))\n\n;; TODO:\n(define (pstate-query pst params formula)\n  (set))\n\n;; TODO: include stepping as a modification?\n(define-variant pmod?\n  (pmod:merge   pstates)\n  (pmod:move    path.old path.new)\n  (pmod:wrap    path)\n  (pmod:unwrap  path)\n  (pmod:rename  vocab name.old name.new))\n\n(define (pmod:remove path)       (pmod:move   path #f))\n(define (pmod:hide   vocab name) (pmod:rename vocab name #f))\n\n(define (pstate-modify pst.0 pm)\n  ;; TODO: record new pstate using dbms\n  (define pst (pstate:set pst.0 (history (cons pm (pstate-history pst.0)))))\n  (define prg (pstate-program pst))\n  (define m   (program-module prg))\n  (define env (program-env prg))\n  ;; TODO: produce renamings for public names that are shared across pstates\n  (define (public-renamings envs)\n    (hash))\n  (define (module-rename m)\n    ;; TODO: traverse (parameterized) formulas and terms\n    #f)\n  (define (data-rename d n=>n)\n    ;; TODO:\n    #f)\n  (define (data-union . ds)\n    ;; TODO:\n    #f)\n  (match pm\n    ((pmod:merge   pstates)           (define dbms (pstate-dbms pst))\n                                      (unless (andmap (lambda (s) (eqv? dbms (pstate-dbms s))) pstates)\n                                        (error \"cannot merge processes managed by a different dbms:\"\n                                               dbms (map pstate-dbms pstates)))\n                                      (with-fresh-names\n                                        (define n=>n.0 (public-renamings (map (lambda (ps) (program-env (pstate-program ps)))\n                                                                              (cons pst pstates))))\n                                        (apply (lambda (ms es ds)\n                                                 (pstate:set pst\n                                                             (program (program:set program.empty\n                                                                                   (module (m:link ms))\n                                                                                   (env    (apply env-union es))))\n                                                             (data (apply data-union ds))))\n                                               (apply map list\n                                                      (map (lambda (ps)\n                                                             (define prg                 (pstate-program ps))\n                                                             (match-define (cons m n=>n) (module-rename  (program-module prg) n=>n.0))\n                                                             (define env                 (env-rename     (program-env prg)    n=>n))\n                                                             (define data                (data-rename    (pstate-data ps)     n=>n))\n                                                             (list m env data))\n                                                           (cons pst pstates))))))\n    ((pmod:move    path.old path.new) (define m.1 (module-remove m path.old))\n                                      (define m.new (if path.new\n                                                      (module-add m.1 path.new (module-ref m path.old))\n                                                      m.1))\n                                      (pstate:set pst (program (program:set prg (module m.new)))))\n    ((pmod:wrap    path)              (pstate:set pst (program (program:set prg (module (module-wrap   m path))))))\n    ((pmod:unwrap  path)              (pstate:set pst (program (program:set prg (module (module-unwrap m path))))))\n    ((pmod:rename  vocab n.old n.new) (define env.1   (env-set env vocab n.old #f))\n                                      (define env.new (if n.new\n                                                        (env-set env.1 vocab n.new (env-ref env vocab n.old))\n                                                        env.1))\n                                      (pstate:set pst (program (program:set prg (env env.new)))))))\n\n;; TODO: return #f if quiescent\n(define (pstate-step pst)\n  #f)\n\n(define (process name state)\n  (define dbms (pstate-dbms state))\n  (method-lambda\n    ((state)           state)\n    ((branch name.new) (dbms-process-add!  dbms name.new state)\n                       (process name.new state))\n    ((move   name.new) (dbms-process-move! dbms name name.new)\n                       (set! name name.new))\n    ((modify pm)       (define state.new (pstate-modify state pm))\n                       (dbms-process-set!  dbms name state.new)\n                       (set! state state.new))\n    ((step)            (define state.new (pstate-step state))\n                       (and state.new (dbms-process-set! dbms name state.new)))\n    ((query  . args)   (apply pstate-query state args))))\n\n(define (process-query   p . args)   (apply p 'query args))\n(define (process-branch  p name.new) (p 'branch name.new))\n(define (process-move!   p name.new) (p 'move   name.new))\n(define (process-step!   p)          (p 'step))\n(define (process-modify! p pm)       (p 'modify pm))\n\n(define (process-merge! p ps)\n  (process-modify! p (pmod:merge (map (lambda (p) (p 'state)) ps))))\n\n(define (merge-processes name ps)\n  (when (null? ps) (error \"cannot merge empty list of processes:\" name))\n  (define p (process-branch (car ps) name))\n  (process-merge! p (cdr ps))\n  p)\n\n;; TODO:\n(define (dbms-process-ref     dbms name)\n  #f)\n\n(define (dbms-process-set!    dbms name pst)\n  (void))\n\n(define (dbms-process-add!    dbms name pst)\n  (void))\n\n(define (dbms-process-move!   dbms name.old name.new)\n  (void))\n\n(define (dbms-process-remove! dbms name pst.validation)\n  (void))\n\n(define (dbms-export!         dbms renamings path.out)\n  (void))\n\n(define (dbms-import!         dbms renamings path.in)\n  (void))\n\n(define (dbms-clean!          dbms)\n  (void))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/order.rkt",
    "content": "#lang racket/base\n(provide term.min term.max term.number.min term.number.max\n         term.symbol.min term.symbol.max term.string.min term.string.max\n         term.bytes.min term.bytes.max term.pair.min term.pair.max\n         term.vector.min term.vector.max\n         (struct-out bounds) bounds.any bounds-intersect\n         domain.any domain.null domain.number domain.symbol\n         domain.string domain.bytes domain.pair domain.vector domain.boolean\n         any-increment any-decrement finite-interval?\n         (struct-out interval)\n         type->compare compare-term compare-any compare-null compare-boolean\n         compare-nat compare-number\n         compare-bytes compare-string compare-symbol\n         compare-pair compare-list compare-array compare-tuple\n         compare-string/pos compare-suffix compare-suffix-string\n         compare-><? compare-><=?\n         term<?    term<=?\n         any<?     any<=?\n         null<?    null<=?\n         boolean<? boolean<=?\n         number<?  number<=?\n         pair<?    pair<=?\n         list<?    list<=?\n         array<?   array<=?\n         tuple<?   tuple<=?\n         string/pos<?   string/pos<=?\n         suffix<?       suffix<=?\n         suffix<string? suffix<=string?)\n(require racket/match racket/math)\n\n;; open intervals for describing infinite domains within the total order\n(struct interval (lb ub) #:prefab)\n\n(define term.min        '())\n(define term.max        #t)\n(define term.number.min term.min)\n(define term.number.max '||)\n(define term.symbol.min term.number.max)  ;; inclusive\n(define term.symbol.max \"\")\n(define term.string.min term.symbol.max)  ;; inclusive\n(define term.string.max #\"\")\n(define term.bytes.min  term.string.max)  ;; inclusive\n(define term.bytes.max  '(() . ()))\n(define term.pair.min   term.bytes.max)   ;; inclusive\n(define term.pair.max   '(#t . #t))       ;; inclusive\n(define term.vector.min '#())             ;; inclusive\n(define term.vector.max #f)\n\n(define domain.any     `#(()       ,(interval '()        #t)))\n(define domain.null    `#(()))\n(define domain.number  `#(         ,(interval '()        '||)))\n(define domain.symbol  `#(||       ,(interval '||        \"\")))\n(define domain.string  `#(\"\"       ,(interval \"\"         #\"\")))\n(define domain.bytes   `#(#\"\"      ,(interval #\"\"        '(() . ()))))\n(define domain.pair    `#((() .()) ,(interval '(() . ()) '(#t . #t)) '(#t . #t)))\n(define domain.vector  `#(#()      ,(interval '#()       #f)))\n(define domain.boolean `#(#f                             #t))\n\n(struct bounds (lb lb-inclusive? ub ub-inclusive?) #:prefab)\n(define bounds.any (bounds term.min #t term.max #t))\n\n(define (bounds-intersect x y)\n  (cond ((eq? x y) x)\n        (else (match-define (bounds lb.x lbi.x ub.x ubi.x) x)\n              (match-define (bounds lb.y lbi.y ub.y ubi.y) y)\n              (apply bounds (append (match (compare-any lb.x lb.y)\n                                      (-1 (list lb.y lbi.y))\n                                      ( 0 (list lb.x (and lbi.x lbi.y)))\n                                      ( 1 (list lb.x lbi.x)))\n                                    (match (compare-any ub.y ub.x)\n                                      (-1 (list ub.y ubi.y))\n                                      ( 0 (list ub.x (and ubi.x ubi.y)))\n                                      ( 1 (list ub.x ubi.x))))))))\n\n(define (any-increment x)\n  (define (list-increment xs)\n    (define xs.new\n      (let loop ((xs xs))\n        (if (null? xs) '()\n          (let* ((a (car xs)) (d (cdr xs)) (d.new (loop (cdr xs))))\n            (cond ((and (pair? d.new) (eq? d d.new)) xs)\n                  ((andmap null? d.new)\n                   (define a.new (if (eq? a #t) '() (any-increment a)))\n                   (if (eq? a a.new) xs (cons a.new d.new)))\n                  (else (cons a d.new)))))))\n    (cond ((null? xs.new)        '(()))\n          ((eq? xs xs.new)       xs)\n          ((andmap null? xs.new) (cons '() xs.new))\n          (else                  xs.new)))\n  (match x\n    (#f          #t)\n    ('(#t . #t)  '#())\n    (`(,a . #t)  (define a.new (any-increment a))\n                 (if (eq? a a.new) x `(,a.new . ())))\n    (`(,a . ,d)  (define d.new (any-increment d))\n                 (if (eq? d d.new) x `(,a . ,d.new)))\n    ((? vector?) (define xs (vector->list x))\n                 (define xs.new (list-increment xs))\n                 (if (eq? xs xs.new) x (list->vector xs.new)))\n    (_           x)))\n\n(define (any-decrement x)\n  (define (list-decrement xs)\n    (define xs.new\n      (let loop ((xs xs))\n        (if (null? xs) '()\n          (let* ((a (car xs)) (d (cdr xs)) (d.new (loop (cdr xs))))\n            (cond ((and (pair? d.new) (eq? d d.new)) xs)\n                  ((andmap (lambda (x) (eq? x #t)) d.new)\n                   (define a.new (if (eq? a '()) #t (any-decrement a)))\n                   (if (eq? a a.new) xs (cons a.new d.new)))\n                  (else (cons a d.new)))))))\n    (cond ((eq? xs xs.new)                         xs)\n          ((andmap (lambda (x) (eq? x #t)) xs.new) (cdr xs.new))\n          (else                                    xs.new)))\n  (match x\n    (#t          #f)\n    ('#()        '(#t . #t))\n    (`(,a . ())  (define a.new (any-decrement a))\n                 (if (eq? a a.new) x `(,a.new . #t)))\n    (`(,a . ,d)  (define d.new (any-decrement d))\n                 (if (eq? d d.new) x `(,a . ,d.new)))\n    ((? vector?) (define xs (vector->list x))\n                 (define xs.new (list-decrement xs))\n                 (if (eq? xs xs.new) x (list->vector xs.new)))\n    (_           x)))\n\n(define (finite-interval? lb ub)\n  (let loop ((lb lb) (acc '()))\n    (if (equal? lb ub)\n      (reverse (cons ub acc))\n      (let ((lb.new (any-increment lb)))\n        (and (not (equal? lb lb.new))\n             (loop lb.new (cons lb acc)))))))\n\n(define ((compare-><?  compare) a b)      (eqv? (compare a b) -1))\n(define ((compare-><=? compare) a b) (not (eqv? (compare a b)  1)))\n\n(define (compare-any a b) (compare/compares compares.any a b))\n(define (any<?  a b)      (eqv? (compare-any a b) -1))\n(define (any<=? a b) (not (eqv? (compare-any a b)  1)))\n\n(define (compare-null a b) 0)\n(define (null<?  a b)     #f)\n(define (null<=? a b)     #t)\n\n(define (compare-boolean a b)\n  (cond ((eq? a b) 0)\n        (a         1)\n        (else     -1)))\n(define (boolean<?  a b) (and b (not a)))\n(define (boolean<=? a b) (or  b (not a)))\n\n(define (compare-number a b)\n  (cond ((< a b) -1)\n        ((< b a)  1)\n        (else     0)))\n(define compare-nat compare-number)\n\n(define (number<?  a b)      (eqv? (compare-number a b) -1))\n(define (number<=? a b) (not (eqv? (compare-number a b)  1)))\n\n(define (compare-bytes a b)\n  (cond ((bytes<? a b) -1)\n        ((bytes<? b a)  1)\n        (else           0)))\n(define (compare-string a b)\n  (cond ((string<? a b) -1)\n        ((string<? b a)  1)\n        (else            0)))\n(define (compare-symbol a b)\n  (cond ((symbol<? a b) -1)\n        ((symbol<? b a)  1)\n        (else            0)))\n\n(define ((compare-pair cmp-a cmp-d) a b)\n  (let ((aa (car a)) (ba (car b)))\n    (case (cmp-a aa ba)\n      ((-1) -1)\n      (( 1)  1)\n      (else (cmp-d (cdr a) (cdr b))))))\n(define ((pair<? cmp-a cmp-d) a b)\n  (eqv? ((compare-pair cmp-a cmp-d) a b) -1))\n(define ((pair<=? cmp-a cmp-d) a b)\n  (not (eqv? ((compare-pair cmp-a cmp-d) a b) 1)))\n\n(define ((compare-list compare-element) a b)\n  (define (compare a b)\n    (cond ((null? a) (if (null? b) 0 -1))\n          ((null? b) 1)\n          (else      (compare-p a b))))\n  (define compare-p (compare-pair compare-element compare))\n  (compare a b))\n(define ((list<? compare-element) a b)\n  (eqv? ((compare-list compare-element) a b) -1))\n(define ((list<=? compare-element) a b)\n  (not (eqv? ((compare-list compare-element) a b) 1)))\n\n(define ((compare-array compare-element) a b)\n  (let ((alen (vector-length a)) (blen (vector-length b)))\n    (cond ((< alen blen) -1)\n          ((< blen alen)  1)\n          (else (let loop ((i 0))\n                  (if (= i alen) 0\n                    (let ((va (vector-ref a i)) (vb (vector-ref b i)))\n                      (case (compare-element va vb)\n                        ((-1) -1)\n                        (( 1)  1)\n                        (else (loop (+ i 1)))))))))))\n(define ((array<? compare-element) a b)\n  (eqv? ((compare-array compare-element) a b) -1))\n(define ((array<=? compare-element) a b)\n  (not (eqv? ((compare-array compare-element) a b) 1)))\n\n(define (compare-tuple cs)\n  (define compares (list->vector cs))\n  (lambda (a b)\n    (define len (vector-length compares))\n    (let loop ((i 0))\n      (if (= i len) 0\n        (let ((compare (vector-ref compares i))\n              (va (vector-ref a i)) (vb (vector-ref b i)))\n          (case (compare va vb)\n            ((-1) -1)\n            (( 1)  1)\n            (else (loop (+ i 1)))))))))\n(define ((tuple<? compares) a b)\n  (eqv? ((compare-tuple compares) a b) -1))\n(define ((tuple<=? compares) a b)\n  (not (eqv? ((compare-tuple compares) a b) 1)))\n\n(define (compare-string/pos sa ai sb bi)\n  (define alen (string-length sa))\n  (define blen (string-length sb))\n  (let loop ((ai ai) (bi bi))\n    (cond ((= alen ai) (if (= blen bi) 0 -1))\n          ((= blen bi) 1)\n          (else (let ((ca (string-ref sa ai)) (cb (string-ref sb bi)))\n                  (cond ((char<? ca cb) -1)\n                        ((char<? cb ca)  1)\n                        (else (loop (+ ai 1) (+ bi 1)))))))))\n(define (string/pos<? sa ai sb bi)\n  (eqv? (compare-string/pos sa ai sb bi) -1))\n(define (string/pos<=? sa ai sb bi)\n  (not (eqv? (compare-string/pos sa ai sb bi) 1)))\n\n(define ((compare-suffix source) a b)\n  (compare-string/pos (vector-ref source (car a)) (cdr a)\n                      (vector-ref source (car b)) (cdr b)))\n(define (((compare-suffix-string source) sb) a)\n  (compare-string/pos (vector-ref source (car a)) (cdr a)\n                      sb 0))\n\n(define ((suffix<? source) a b)\n  (eqv? ((compare-suffix source) a b) -1))\n(define ((suffix<=? source) a b)\n  (not (eqv? ((compare-suffix source) a b) 1)))\n(define (((suffix<string? source) sb) a)\n  (eqv? (((compare-suffix-string source) sb) a) -1))\n(define (((suffix<=string? source) sb) a)\n  (not (eqv? (((compare-suffix-string source) sb) a) 1)))\n\n(define (exact-number? x) (and (number? x) (exact? x)))\n\n(define (compare/compares compares a b)\n  (let loop ((i 0))\n    (let ((type?        (vector-ref compares i))\n          (compare-type (vector-ref compares (+ i 1))))\n      (cond ((type? a) (if (type? b) (compare-type a b) -1))\n            ((type? b) 1)\n            (else      (loop (+ i 2)))))))\n\n(define compares.any\n  (vector null?         compare-null\n          exact-number? compare-number\n          symbol?       compare-symbol\n          string?       compare-string\n          bytes?        compare-bytes\n          pair?         (compare-pair compare-any compare-any)\n          vector?       (compare-array compare-any)\n          boolean?      compare-boolean))\n\n(define (rvar? x) (match x (`#s(var ,_) #t) (_ #f)))\n(define (compare-rvar a b)\n  (match-define `#s(var ,id.a) a)\n  (match-define `#s(var ,id.b) b)\n  (compare-number id.a id.b))\n\n(define (compare-term a b) (compare/compares compares.term a b))\n(define (term<?  a b)      (eqv? (compare-term a b) -1))\n(define (term<=? a b) (not (eqv? (compare-term a b)  1)))\n(define compares.term\n  (vector rvar?         compare-rvar\n          null?         compare-null\n          exact-number? compare-number\n          symbol?       compare-symbol\n          string?       compare-string\n          bytes?        compare-bytes\n          pair?         (compare-pair compare-term compare-term)\n          vector?       (compare-array compare-term)\n          boolean?      compare-boolean))\n\n(define (type->compare type)\n  (match type\n    (#f                         compare-any)\n    ((or 'nat    `#(nat    ,_)) compare-nat)\n    ((or 'string `#(string ,_)) compare-string)\n    ((or 'symbol `#(symbol ,_)) compare-symbol)\n    ((or 'bytes  `#(bytes  ,_)) compare-bytes)\n    (`#(suffix ,source)         (compare-suffix source))\n    (`#(tuple ,@ts)             (compare-tuple (map type->compare ts)))\n    (`(,ta . ,td)               (compare-pair (type->compare ta)\n                                              (type->compare td)))\n    ('array                     (compare-array compare-any))\n    (`#(array ,_ ,t)            (compare-array (type->compare t)))\n    ('list                      (compare-list compare-any))\n    (`#(list ,_ ,t)             (compare-list (type->compare t)))\n    ('number                    compare-number)\n    ((or 'true 'false '())      compare-null)))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/safe-unsafe.rkt",
    "content": "#lang racket/base\n(provide\n  unsafe-car\n  unsafe-cdr\n  unsafe-fxmin\n  unsafe-fx=\n  unsafe-fx<=\n  unsafe-fx<\n  unsafe-fx+\n  unsafe-fx-\n  unsafe-fx*\n  unsafe-fxand\n  unsafe-fxlshift\n  unsafe-fxrshift\n  unsafe-fxquotient\n  unsafe-bytes-length\n  unsafe-bytes-ref\n  unsafe-bytes-set!\n  unsafe-vector*-length\n  unsafe-vector*-ref\n  unsafe-vector*-set!\n  unsafe-fxvector-length\n  unsafe-fxvector-ref\n  unsafe-fxvector-set!)\n(require racket/fixnum)\n\n(define unsafe-list-ref        list-ref)\n(define unsafe-car             car)\n(define unsafe-cdr             cdr)\n(define unsafe-fxmin           fxmin)\n(define unsafe-fx=             fx=)\n(define unsafe-fx<=            fx<=)\n(define unsafe-fx<             fx<)\n(define unsafe-fx+             fx+)\n(define unsafe-fx-             fx-)\n(define unsafe-fx*             fx*)\n(define unsafe-fxand           fxand)\n(define unsafe-fxlshift        fxlshift)\n(define unsafe-fxrshift        fxrshift)\n(define unsafe-fxquotient      fxquotient)\n(define unsafe-bytes-length    bytes-length)\n(define unsafe-bytes-ref       bytes-ref)\n(define unsafe-bytes-set!      bytes-set!)\n(define unsafe-vector*-length  vector-length)\n(define unsafe-vector*-ref     vector-ref)\n(define unsafe-vector*-set!    vector-set!)\n(define unsafe-fxvector-length fxvector-length)\n(define unsafe-fxvector-ref    fxvector-ref)\n(define unsafe-fxvector-set!   fxvector-set!)\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/semantics.rkt",
    "content": "#lang racket/base\n(provide simplify-program factor-program)\n(require racket/list racket/match racket/set)\n\n;; TODO: lift quantifiers to top of relation definition (or query) formula\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Grammar\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Program parts\n;(define (R Ns) Fs)\n;(query  Ns     Fs)\n\n;; Formulas F\n;(relate R Ts)\n;(not    F)\n;(and    Fs)\n;(or     Fs)\n;(imply  F F)\n;(iff    Fs)\n;(exist  Ns F)\n;(all    Ns F)\n\n;; Terms T\n;(quote C)\n;(var   N)\n;(app   Func Ts)\n\n(define (quote?      t) (eq? (car t) 'quote))\n(define (quote-value t) (cadr t))\n\n(define (var      n) `(var ,n))\n(define (var?     t) (eq? (car t) 'var))\n(define (var-name t) (cadr t))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Simplification\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; - classical transformations:\n;;   - `(not (not F))  ==> F`\n;;   - `(iff P Q)      ==> (or (and P Q) (and (not P) (not Q)))`\n;;   - `(imply P Q)    ==> (not (and P (not Q)))`\n;;   - `(all X F)      ==> (not (exist X (not F)))`\n\n;; - constructive/minimal transformations:\n;;   - `(not (not (not F))) ==> (not F)`\n;;   - `(not (or P Q))      ==> (and (not P) (not Q))`\n;;   - `(iff P Q)           ==> (and (imply P Q) (imply Q P))`\n;;   - `(imply P (not Q))   ==> (not (and P Q))`\n;;   - `(all X (not F))     ==> (not (exist X F))`\n\n;; - primitive transformations:\n;;   - `(not (==    A B)) ==> (=/=   A B)`\n;;   - `(not (=/=   A B)) ==> (==    A B)`\n;;   - `(not (any<= A B)) ==> (any<  B A)`\n;;   - `(not (any<  A B)) ==> (any<= B A)`\n\n(define (simplify-program full? parts)\n  (map (lambda (part)\n         (match part\n           (`(define (,r . ,params) ,f) `(define (,r . ,params) ,(simplify-formula full? f)))\n           (`(query  ,params        ,f) `(query  ,params        ,(simplify-formula full? f)))))\n       parts))\n\n(define (simplify-formula full? formula)  ; currently applying classical transformations\n  (define (loop/not f)\n    (match f\n      (`(relate      ,r ,@ts)    (let ((ts (map simplify-term ts)))\n                                   (define (k r ts) `(relate ,r . ,ts))\n                                   (match r\n                                     ('==           (k '=/=            ts))\n                                     ('=/=          (k '==             ts))\n                                     ('any<=        (k 'any<  (reverse ts)))\n                                     ('any<         (k 'any<= (reverse ts)))\n                                     (_      `(not ,(k r               ts))))))\n      (`(all         ,params ,f)      `(exist ,params ,(loop/not f)))\n      (`(exist       ,params ,f) `(not (exist ,params ,(loop     f))))\n      (`(not         ,f)         (loop f))\n      (`(and         ,@fs)       `(not (and . ,(map loop fs))))\n      (`(or          ,@fs)       `(and . ,(map loop/not fs)))\n      (`(iff         ,@fs)       (if full? ; defer iff transformation until after factoring, for efficiency\n                                   (loop/not `(or (and . ,fs)\n                                                  (and . ,(map (lambda (f) `(not ,f)) fs))))\n                                   `(not (iff . ,(map loop fs)))))\n      (`(imply       ,p ,q)      (loop/not `(not (and ,p (not ,q)))))))\n  (define (loop f)\n    (match f\n      (`(relate      ,r ,@ts)    `(relate ,r . ,(map simplify-term ts)))\n      (`(all         ,params ,f) `(not (exist ,params ,(loop/not f))))\n      (`(exist       ,params ,f)      `(exist ,params ,(loop     f)))\n      (`(not         ,f)         (loop/not f))\n      (`(and         ,@fs)       `(and . ,(map loop fs)))\n      (`(or          ,@fs)       `(or  . ,(map loop fs)))\n      (`(iff         ,@fs)       (if full? ; defer iff transformation until after factoring, for efficiency\n                                   (loop `(or (and . ,fs)\n                                              (and . ,(map (lambda (f) `(not ,f)) fs))))\n                                   `(iff . ,(map loop fs))))\n      (`(imply       ,p ,q)      (loop `(not (and ,p (not ,q)))))))\n  (loop formula))\n\n(define (simplify-term term)\n  (match term\n    (`(app ,func ,@ts)\n      (match (cons func (map simplify-term ts))\n        (`(cons         (quote ,a) (quote ,d))                                  `(quote ,(cons a d)))\n        (`(vector       . ,(? (lambda (ts) (andmap quote? ts)) ts))             `(quote ,(list->vector (map quote-value ts))))\n        (`(list->vector ,(? quote? (? (lambda (t) (list? (quote-value t))) t))) `(quote ,(list->vector (quote-value t))))\n        (`(,_           . ,ts) `(app ,func . ,ts))))\n    (_ term)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Program factoring via definition introduction\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (factor-program parts)\n  (factor-locally\n    (define factored (map (lambda (part)\n                            (match part\n                              (`(define (,r . ,params) ,f) `(define (,r . ,params) ,(factor-formula f)))\n                              (`(query  ,params        ,f) `(query  ,params                   ,(factor-formula f)))))\n                          parts))\n    (define new      (map (lambda (f&r)\n                            (match-define (cons f `(relate ,r . ,vs)) f&r)\n                            `(define (,r . ,(map (lambda (v) (match-define `(var ,name) v) name) vs)) ,f))\n                          (sort (hash->list (formula=>relate))\n                                (lambda (kv.a kv.b)\n                                  (define (kv-r kv) (cadr (caddr kv)))\n                                  (< (kv-r kv.a) (kv-r kv.b))))))\n    (append new factored)))\n\n(define (factor-formula formula)\n  (define (replace f) (rename-locally\n                        (formula-unrename-variables (formula->relate (formula-rename-variables f)))))\n  (match formula\n    (`(relate                             ,r ,@ts)    (define f.new `(relate ,r . ,ts))\n                                                      (if (foldl (lambda (t seen) (and seen (var? t) (not (set-member? seen (var-name t)))\n                                                                                       (set-add seen (var-name t))))\n                                                                 (set) ts)\n                                                        f.new\n                                                        (replace f.new)))\n    (`(,(and (or 'exist 'all) quantifier) ,params ,f) (replace `(,quantifier ,params ,(factor-formula f))))\n    (`(,connective                        ,@fs)       (replace `(,connective . ,(map factor-formula fs))))))\n\n(define-syntax-rule (factor-locally body ...) (parameterize ((formula=>relate (hash))) body ...))\n\n(define formula=>relate (make-parameter #f))\n\n(define (formula->relate f)\n  (define f=>r (formula=>relate))\n  (or (hash-ref f=>r f #f)\n      (let* ((count (hash-count f=>r))\n             (r     `(relate (new ,count) . ,(map var (remove-duplicates (formula-free-names f))))))\n        (formula=>relate (hash-set f=>r f r))\n        r)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Variable manipulation\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (term-free-names t)\n  (match t\n    (`(quote ,_)         '())\n    (`(var   ,name)      (list name))\n    (`(app   ,func ,@ts) (append* (map term-free-names ts)))))\n\n(define (formula-free-names f)\n  (match f\n    (`(relate            ,r ,@ts)    (append* (map term-free-names ts)))\n    (`(,(or 'exist 'all) ,params ,f) (define bound (list->set params))\n                                     (filter-not (lambda (n) (set-member? bound n))\n                                                 (formula-free-names f)))\n    (`(,connective       ,@fs)       (append* (map formula-free-names fs)))))\n\n(define (order-parameters params ordered-names)\n  (let loop ((ordered-names ordered-names) (params (list->set params)))\n    (match ordered-names\n      ('()                       '())\n      ((cons name ordered-names) (if (set-member? params name)\n                                   (cons name (loop ordered-names (set-remove params name)))\n                                   (loop ordered-names params))))))\n\n(define-syntax-rule (rename-locally body ...) (parameterize ((name=>renamed (hash))\n                                                             (renamed=>name (hash)))\n                                                body ...))\n\n(define name=>renamed (make-parameter #f))\n(define renamed=>name (make-parameter #f))\n\n(define (rename name)\n  (define n=>n (name=>renamed))\n  (or (hash-ref n=>n name #f)\n      (let ((count (hash-count n=>n)))\n        (name=>renamed (hash-set n=>n name count))\n        (renamed=>name (hash-set (renamed=>name) count name))\n        count)))\n\n(define (unrename name) (hash-ref (renamed=>name) name))\n\n(define (term-rename-variables term)\n  (match term\n    (`(quote ,_)       term)\n    (`(var ,name)      `(var ,(rename name)))\n    (`(app ,func ,@ts) `(app ,func . ,(map term-rename-variables ts)))))\n\n(define (term-unrename-variables term)\n  (match term\n    (`(quote ,_)       term)\n    (`(var ,name)      `(var ,(unrename name)))\n    (`(app ,func ,@ts) `(app ,func . ,(map term-unrename-variables ts)))))\n\n(define (formula-rename-variables formula)\n  (match formula\n    (`(relate                             ,r ,@ts)    `(relate      ,r . ,(map term-rename-variables ts)))\n    (`(,(and (or 'exist 'all) quantifier) ,params ,f) (define free-names (formula-free-names f))\n                                                      (for-each rename free-names)  ; allocate free names before bound names for readability\n                                                      `(,quantifier ,(map rename (order-parameters params free-names))\n                                                                    ,(formula-rename-variables f)))\n    (`(,connective                        ,@fs)       `(,connective . ,(map formula-rename-variables fs)))))\n\n(define (formula-unrename-variables formula)\n  (match formula\n    (`(relate                             ,r ,@ts)    `(relate      ,r . ,(map term-unrename-variables ts)))\n    (`(,(and (or 'exist 'all) quantifier) ,params ,f) `(,quantifier ,(map unrename params)\n                                                                    ,(formula-unrename-variables f)))\n    (`(,connective                        ,@fs)       `(,connective . ,(map formula-unrename-variables fs)))))\n\n\n;; TODO: before continuing, design data model with dataflow language for planning\n\n;; Implementation phases:\n;; - basic datalog\n;;   - only these features\n;;     - and (expressing joins)\n;;     - or  (expressing unions)\n;;     - ==, limited such that relations over == describe finite tables\n;;       - (== constant constant) can be simplified out\n;;         - could be a table with zero columns and either one or zero rows\n;;       - (== var constant) is a table with a single row and column\n;;       - no (== var1 var2) for now\n;;     - recursive relations defined by least fixed point\n;;   - no partial eval yet\n;;   - none of these yet\n;;     - not =/= < <= cons vector\n;; - TODO: describe subsequent phases in order of increasing complexity\n\n;; Compilation steps:\n;; - parse\n;; - simplify without serious inlining\n;; - introduce shared/factored definitions for remaining code\n;;   - one goal of factoring is to provide worker/wrapper separation for non-explosive inlining\n;; - simplify with more serious inlining\n;; - infer modes and [pre-]plan\n;; - generate mode/plan-specialized code\n\n;; Predictable simplification and inlining / partial eval\n;; - ideas from macro writer's bill of rights:\n;;   - the original list:\n;;     - introduce let & lambda\n;;     - ignore special cases involving constants\n;;     - ignore degenerate cases resulting in dead/useless code\n;; - local simplification\n;;   - a single-branch disjunction extends the context directly\n;;   - a multi-branch disjunction extends the context with the lattice-join of its branches\n;;   - disjunction branches that always fail in the given context should be pruned\n;;     - perform only one (left-to-right? or mode-specific?) pass to guarantee O(N) runtime\n;;       - well, it may make sense to perform two passes, where the first simplification makes it\n;;         easier to order constraints for an effective second pass\n;;       - do not compute the potentially non-linear pruning fixed point when the context is extended\n;;       - can have a separate optimization mode to compute the fixed point of such pruning\n;;   - limited inter-disjunction simplification\n;;     - fuse disjunctions when their branches can be joined at most one-to-one (i.e., no explosion)\n;;     - disjunctions should *NOT* be cross-joined/DNFed in general\n;;       - will quickly explode code size\n;;       - can have a separate optimization mode to attempt general cross-disjunction simplification\n;; - table-ification of table-like disjunctions\n;;   - table-like means a disjunction of uniform (same variable structure) conjunctions of equality constraints\n;; - inlining\n;;   - inline calls to non-recursive relations that are small enough\n;;   - inline calls to other relations based on analysis of how they are called\n;;     - inline calls with known arguments that can lead to significant simplification\n;;     - bottom-up analysis of how relation parameters are used\n;;       - knowing the shape of a parameter may eliminate many disjunction branches\n;;       - the relation may be structurally recursive on a subset of parameters\n;;       - a parameter may not be scrutinized at all, i.e., it may be invariant\n\n;; Factored relation definitions:\n;; - a simple-relate is a call to a user-defined relation where all arguments are distinct variables\n;; - a simple-cx is any of these:\n;;   - a simple-relate\n;;   - any call to a primitive constraint such as ==, =/=, <, <=\n;; - post-factoring relation definition types:\n;;   - single call to a relation with specialized arguments\n;;     - some arguments are either partially known (not variables), or use the same variable more than once\n;;   - conjunction of simple-cxs\n;;   - disjunction of simple-cxs\n;;   - negation of a simple-relate (not a simple-cx)\n;;   - quantification of a simple-relate (not a simple-cx)\n\n;; Notes and ideas on satisfiability:\n;; - a conjunction including at most one disjunction is satisfiable if one disjunct is satisfiable\n;; - for a conjunction including two or more disjunctions, satisfiability is only guaranteed via flattening into a single disjunction, where one disjunct is satisfiable\n;;   - possible to flatten by joining:\n;;     - disjunct-wise (always)\n;;     - or variable-wise (only for variables that are constrained in every disjunct in all disjunctions currently being combined)\n;;       - degenerate case: every disjunct applies the same constraint (however, possible to factor out this constraint due to being shared)\n;;   - this search for a single satisfiable flattened disjunct may be arbitrarily expensive (may be searching for a needle in a haystack)\n;;   - approaches that may be more tractable:\n;;     - two-watched disjunctions:\n;;       - each disjunction maintains two disjuncts that are locally satisfiable, along with a list of remaining disjuncts that haven't been tested yet\n;;       - if either of these watched disjuncts becomes unsatisfiable, find another from the untested list, pruning any that fail\n;;       - if only one satisfiable disjunct remains, it is promoted as an absolute part of the outer conjunction, used when filtering the other disjunctions\n;;     - learning absolute/shared constraints across all disjuncts in a disjunction:\n;;       - take the lattice join (analogous to an intersection across constraints) to find constraints that all disjuncts agree on\n;;       - e.g. `(disj (== x (cons A B)) (== x (cons C B))) ==> (conj (fresh (D) (== x (cons D B))) (disj (== x (cons A B)) (== x (cons C B))))`\n;;         - simplified: `(fresh (D) (conj (== x (cons D B)) (disj (== D A) (== D C))))`\n;;     - subsumption\n;;       - for each disjunct, starting with the smallest (least constrained), discard any other disjuncts that strictly include its constraints\n;;     - variable-wise factoring of an individual disjunction\n;;       - similar to variable-wise flattening, but without joining, instead building a new disjunction that looks like a decision tree\n;;       - for each variable (often starting with the most constrained) that is constrained by every disjunct, bisect on a constraint choice (recursively)\n;; - may unfold all relation calls except when doing so may lead to looping/redundancy\n;;   - disjunctions annotated with procedure history stack, to recognize recursive calls\n;;     - different history information granularities for different termination measures\n;;       - e.g.,\n;;         - no calls at all (least permissive, but no inlining achieved)\n;;         - or no recursive calls (least permissive while still performing some inlining)\n;;         - or no non-structural recursive calls (most permissive w/ guaranteed termination without programmer assistance)\n;;         - or no non-decreasing recursive calls according to programmer-defined measure (most permissive w/ guaranteed termination)\n;;         - any call is fine (most permissive, but no termination guarantees)\n\n;; How to handle the non-datalog subset of computation:\n\n;(struct store (var=>shape id=>cx) #:prefab)\n;; - each constraint in id=>cx is a CNF formula\n;;   - may include calls to user-defined relations that have not yet been unfolded\n;;   - its id is associated with the shape of all mentioned variables\n;; - a shape is either a t:quote, a t:cons, a t:vector, or a vcx\n;; - for implementation simplicity, avoid more complicated variable-specific indexing schemes for now\n;; - when a new constraint is inserted, apply simplification rules for any interacting variables\n;; - when a variable shape is updated, apply simplification rules for any interacting cxs\n;; - search for variable assignments that satisfy all cxs in id=>cx\n;;   - for constraints participating in satisfaction:\n;;     - run datalog sub-queries if possible\n;;     - otherwise, unfold any calls to relations\n\n;(struct vcx (lb ub cx-ids) #:prefab)\n;; each of lb and ub is an interval endpoint, and either may be open or closed\n;; cx-ids is a set of ids for the cxs that this variable interacts with\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/storage.rkt",
    "content": "#lang racket/base\n(provide\n  storage:filesystem\n  storage-path\n  storage-checkpoint-count\n  storage-checkpoint-pending?\n  storage-checkpoint!\n  storage-revert!\n  storage-trash-empty!\n  storage-trash-empty?\n  storage-description-keys\n  storage-description-key?\n  storage-description-ref\n  storage-description-update!\n  storage-description-set!\n  storage-description-remove!\n  storage-block-names\n  storage-block-name?\n  storage-block-path\n  storage-block-new!\n  storage-block-add-names!\n  storage-block-remove-names!\n  storage-block-rename!)\n(require \"logging.rkt\" \"misc.rkt\"\n         racket/file racket/pretty racket/set racket/struct)\n\n;; This is a simple implementation of checkpointing storage.  It includes block storage for large\n;; data, and key-value storage for small data and metadata.\n\n;; Limitations:\n;; - The default key-value store will not scale well to enormous amounts of data and/or enormous\n;;   numbers of blocks (because these require tracking metadata).\n;; - The default key-value store will not scale well to high frequency checkpoints.\n;; - A single storage location should not be used by multiple host processes running concurrently.\n;;   Initializing the same storage location from concurrent processes may lead to data corruption.\n;; - Multiple threads of a single process can read concurrently from a single storage location,\n;;   but it is not safe to read concurrently with writes or checkpoint commits to that location.\n;; - It is not safe to perform concurrent writes or checkpoint commits to a single storage location.\n;; - While it should be possible to recover from typical process failure and interruption, sudden\n;;   host system failure and interruption may corrupt data.\n\n;; Two forms of data can be stored:\n;; - Description\n;;   - \"description\" is a key-value map.\n;;   - Keys and values can be any s-expression.\n;;   - Keys can be added and removed.  A key's value can be updated.\n;; - Block\n;;   - Blocks are uninterpreted files of data.\n;;   - Blocks are referenced by names.  A name can be any s-expression.  Each name maps to at most\n;;     one block.  Multiple names can refer to the same block.\n;;   - When a new block is created, it's data can be written and modified freely until the next\n;;     checkpoint.  Once the checkpoint is committed, blocks cannot be updated.\n;;   - Block data is only expected to be read after the checkpoint that creates them.\n;;   - Blocks are not explicitly deleted.  A block is garbage collected once there are no longer\n;;     any names referring to it after a checkpoint.\n\n;; Storage system initialization and checkpoint commits will perform garbage collection of unused\n;; blocks and old state descriptions.  By default, each collection will move garbage to a new\n;; subdirectory under \"trash\", to make it possible to manually recover from mistakes.\n\n;; A storage location is a self-contained directory with the following structure:\n;;   block/\n;;     filename-for-block-id\n;;     ...\n;;   metadata/\n;;     current.scm\n;;     [next.scm]\n;;   trash/\n;;     trash-uid/\n;;       any-file ...\n;;     ...\n;;   [trash-pending/\n;;     any-file ...]\n\n;; Do not store other files anywhere within this directory structure.\n\n;; The current state of the system is stored in metadata/current.scm.  While committing a\n;; checkpoint, the next state temporarily lives in metadata/next.scm.  These states are Racket\n;; s-expressions with the following shape:\n;;   (hash\n;;     'format-version  datum\n;;     'checkpoint-time pretty-timestamp\n;;     'data            (hash\n;;                        'description (hash ,@{any-key any-value} ...)\n;;                        'block       (hash ,@{any-name block-id} ...)))\n\n(define (unique-directory path.root str.type)\n    (define seconds (number->string (current-seconds)))\n    (let loop ((id.local 0))\n      (define candidate (string-append str.type \"-\" seconds \"-\" (number->string id.local)))\n      (define apath     (path->string (build-path path.root candidate)))\n      (cond ((directory-exists? apath) (loop (+ id.local 1)))\n            (else                      apath))))\n\n(define (storage-path                s) ((wrapped-storage-controller s) 'path))\n(define (storage-checkpoint-count    s) ((wrapped-storage-controller s) 'checkpoint-count))\n(define (storage-checkpoint-pending? s) ((wrapped-storage-controller s) 'checkpoint-pending?))\n(define (storage-checkpoint!         s) ((wrapped-storage-controller s) 'checkpoint!))\n(define (storage-revert!             s) ((wrapped-storage-controller s) 'revert!))\n(define (storage-trash-empty!        s) ((wrapped-storage-controller s) 'trash-empty!))\n(define (storage-trash-empty?        s) ((wrapped-storage-controller s) 'trash-empty?))\n\n(define ((missing-key s key)) (error \"storage description key does not exist\" key (storage-path s)))\n\n(define (storage-description-keys    s)                                          (hash-keys     ((wrapped-storage-controller s) 'description)))\n(define (storage-description-key?    s key)                                      (hash-has-key? ((wrapped-storage-controller s) 'description) key))\n(define (storage-description-ref     s key        (default (missing-key s key))) (hash-ref      ((wrapped-storage-controller s) 'description) key default))\n(define (storage-description-update! s key update (default (missing-key s key))) (storage-description-set! s key (update (storage-description-ref s key default))))\n(define (storage-description-set!    s . keys-values)                            ((wrapped-storage-controller s) 'description-set*!    keys-values))\n(define (storage-description-remove! s . keys)                                   ((wrapped-storage-controller s) 'description-remove*! keys))\n\n(define (storage-block-names         s)                      ((wrapped-storage-controller s) 'block-names))\n(define (storage-block-name?         s name)                 ((wrapped-storage-controller s) 'block-name?         name))\n(define (storage-block-path          s name)                 ((wrapped-storage-controller s) 'block-path          name))\n(define (storage-block-new!          s         name . names) ((wrapped-storage-controller s) 'block-new!          (cons name names)))\n(define (storage-block-add-names!    s name.current . names) ((wrapped-storage-controller s) 'block-add-names!    name.current names))\n(define (storage-block-remove-names! s              . names) ((wrapped-storage-controller s) 'block-remove-names! names))\n(define (storage-block-rename!       s name.old name.new)\n  (storage-block-add-names!    s name.old name.new)\n  (storage-block-remove-names! s name.old))\n\n(define all-filesystem-storage-keys (weak-set))\n(define (storage:filesystem path.storage)\n  (let* ((path.storage (normalize-path path.storage))\n         (key.storage  (list path.storage)))\n    (unless (complete-path? path.storage)\n      (error \"storage path must be absolute\" path.storage))\n    (when (set-member? all-filesystem-storage-keys key.storage)\n      (error \"storage path already in use\" path.storage))\n    (set-add! all-filesystem-storage-keys key.storage)\n    (wrapped-storage key.storage (make-filesystem-storage path.storage))))\n\n(struct wrapped-storage (key controller)\n        #:methods gen:custom-write\n        ((define write-proc\n           (make-constructor-style-printer\n             (lambda (s) 'storage:filesystem)\n             (lambda (s) (list (storage-path s)))))))\n\n(define (make-state count data)\n  (hash 'format-version   version.current\n        'checkpoint-time  (pretty-timestamp)\n        'checkpoint-count count\n        'data             data))\n\n(define dir.metadata        \"metadata\")\n(define dir.block           \"block\")\n(define dir.trash           \"trash\")\n(define dir.trash-pending   \"trash-pending\")\n(define fname.state.current \"current.scm\")\n(define fname.state.next    \"next.scm\")\n(define version.current     '2021-12-31)\n(define data.empty          (hash 'description (hash)\n                                  'block       (hash)))\n\n(define (make-filesystem-storage path.storage)\n  (define (local-path relpath)  (path->string (build-path path.storage relpath)))\n  (define (desc)                (hash-ref current 'description))\n  (define (block)               (hash-ref current 'block))\n  (define (block-id? name)      (hash-ref (block) name #f))\n  (define (block-id  name)      (or (block-id? name)\n                                    (error \"storage block name does not exist\" name path.storage)))\n  (define (id->path id)         (build-path path.block (number->string id)))\n  (define (unique-block-id)     (+ (apply max\n                                          (apply max 0 (set->list ids.new))\n                                          (hash-values (hash-ref previous 'block)))\n                                   1))\n  (define (checkpoint-pending?) (not (and (set-empty? ids.new)\n                                          (equal? current previous))))\n  (define (collect-garbage!)\n    (set-clear! ids.new)\n    (define lpaths.all         (list->set (map path->string (directory-list path.block))))\n    (define lpaths.reachable   (list->set (map number->string (hash-values (block)))))\n    (define lpaths.unreachable (set->list (set-subtract lpaths.all lpaths.reachable)))\n    (when (file-exists? path.state.next)\n      (make-directory* path.trash-pending)\n      (rename-file-or-directory path.state.next (build-path path.trash-pending fname.state.next)))\n    (unless (null? lpaths.unreachable)\n      (define numbers.unreachable  (map (lambda (lp) (or (string->number lp) lp)) lpaths.unreachable))\n      (define unreachables.block   (filter number? numbers.unreachable))\n      (define unreachables.unknown (filter string? numbers.unreachable))\n      (unless (null? unreachables.unknown)\n        (error \"aborting garbage collection: found untracked files in block directory\" unreachables.unknown path.storage))\n      (pretty-log `(moving unreachable blocks to trash))\n      (make-directory* path.trash-pending)\n      (for-each (lambda (lp) (rename-file-or-directory (build-path path.block         lp)\n                                                       (build-path path.trash-pending lp)))\n                lpaths.unreachable))\n    (when (directory-exists? path.trash-pending)\n      (define upath (unique-directory path.trash \"trash\"))\n      (rename-file-or-directory path.trash-pending upath)))\n\n  (define path.metadata      (local-path dir.metadata))\n  (define path.block         (local-path dir.block))\n  (define path.trash         (local-path dir.trash))\n  (define path.trash-pending (local-path dir.trash-pending))\n  (define path.state.current (path->string (build-path path.metadata fname.state.current)))\n  (define path.state.next    (path->string (build-path path.metadata fname.state.next)))\n  (for-each make-directory* (list path.metadata path.block path.trash))\n  (define-values (checkpoint-count previous)\n    (let* ((state (cond ((file-exists? path.state.current) (call-with-input-file path.state.current read))\n                        ((file-exists? path.state.next)    (pretty-log '(finishing transition for interrupted-yet-successful checkpoint commit))\n                                                           (rename-file-or-directory path.state.next path.state.current)\n                                                           (call-with-input-file path.state.current read))\n                        (else                              (pretty-log '(creating new storage location) path.storage)\n                                                           (define state.empty (make-state 0 data.empty))\n                                                           (call-with-output-file path.state.current\n                                                                                  (lambda (out) (pretty-write state.empty out)))\n                                                           state.empty)))\n           (version (hash-ref state 'format-version)))\n      ;; TODO: attempt to migrate state to new format if version is old\n      (unless (equal? version version.current)\n        (error \"storage state format version mismatch\" `(found: ,version expected: ,version.current) path.storage))\n      (values (hash-ref state 'checkpoint-count) (hash-ref state 'data))))\n  (define current previous)\n  (define ids.new (mutable-set))\n  (pretty-log `(loaded storage state ,checkpoint-count for) path.storage)\n  (collect-garbage!)\n  (pretty-log `(collected garbage))\n\n  (method-lambda\n    ((path)                                path.storage)\n    ((checkpoint-count)                    checkpoint-count)\n    ((checkpoint-pending?)                 (checkpoint-pending?))\n    ((description)                         (hash-ref current 'description))\n    ((description-set*!    keys-values)    (set! current (hash-set current 'description\n                                                                   (apply hash-set* (desc) keys-values))))\n    ((description-remove*! keys)           (set! current (hash-set current 'description\n                                                                   (foldl (lambda (key d) (hash-remove d key)) (desc) keys))))\n    ((block-names)                         (hash-keys (block)))\n    ((block-name?                    name) (hash-has-key? (block) name))\n    ((block-path                     name) (id->path (block-id name)))\n    ((block-new!                    names) (define b (block))\n                                           (for-each (lambda (name)\n                                                       (when (hash-has-key? b name)\n                                                         (error \"cannot create new block with existing name\" name path.storage)))\n                                                     names)\n                                           (define id (unique-block-id))\n                                           (set-add! ids.new id)\n                                           (set! current (hash-set current 'block\n                                                                   (foldl (lambda (name b) (hash-set b name id)) b names)))\n                                           (id->path id))\n    ((block-add-names! name.current names) (define b  (block))\n                                           (define id (block-id name.current))\n                                           (for-each (lambda (name)\n                                                       (when (hash-has-key? b name)\n                                                         (error \"cannot add existing block name\" name path.storage)))\n                                                     names)\n                                           (set! current (hash-set current 'block\n                                                                   (foldl (lambda (name b) (hash-set b name id)) b names))))\n    ((block-remove-names!           names) (set! current (hash-set current 'block\n                                                                   (foldl (lambda (name b) (hash-remove b name)) (block) names))))\n\n    ((checkpoint!)  (cond ((checkpoint-pending?)\n                           (set! checkpoint-count (+ 1 checkpoint-count))\n                           (pretty-log `(committing checkpoint ,checkpoint-count))\n                           (define state (make-state checkpoint-count current))\n                           (call-with-output-file path.state.next (lambda (out) (pretty-write state out)))\n                           (make-directory* path.trash-pending)\n                           (rename-file-or-directory path.state.current (build-path path.trash-pending fname.state.current))\n                           (rename-file-or-directory path.state.next    path.state.current)\n                           (set! previous current)\n                           (pretty-log `(committed checkpoint ,checkpoint-count))\n                           (collect-garbage!))\n                          (else (pretty-log '(no checkpoint necessary: storage has not been modified)))))\n    ((revert!)      (cond ((checkpoint-pending?)\n                           (set! current previous)\n                           (pretty-log `(reverted to checkpoint ,checkpoint-count))\n                           (collect-garbage!))\n                          (else (pretty-log '(no revert necessary: storage has not been modified)))))\n    ((trash-empty?) (null? (directory-list path.trash #:build? #t)))\n    ((trash-empty!) (define (delete-path path)\n                      (cond ((file-exists?      path) (delete-file path))\n                            ((directory-exists? path) (for-each delete-path (directory-list path #:build? #t))\n                                                      (delete-directory path))))\n                    (define dirs.trash (directory-list path.trash #:build? #t))\n                    (cond ((null? dirs.trash) (pretty-log '(no trash to empty)))\n                          (else               (pretty-log `(deleting ,(length dirs.trash) trash subdirectories))\n                                              (for-each delete-path dirs.trash))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/stream.rkt",
    "content": "#lang racket/base\n(provide s-next s-force s-split s-drop\n         s-take/set/steps s-take/set s-take/steps s-take\n         s-each s-foldr s-foldl s-scan\n         s-append/interleaving s-append*/interleaving\n         s-append s-append* s-map/append s-map s-filter s-group s-memo s-lazy\n         s-length s-enumerate s-dedup s-skip s-limit\n         s->list list->s)\n(require racket/function racket/match racket/set)\n\n(define (s-next  s) (if (procedure? s)          (s)  s))\n(define (s-force s) (if (procedure? s) (s-force (s)) s))\n\n;; lazy variant of s-drop\n(define (s-skip n s)\n  (cond ((= n 0)   s)\n        ((pair? s) (s-skip (- n 1) (cdr s)))\n        (else      (thunk (s-skip n (s))))))\n;; lazy variant of s-take\n(define (s-limit n s)\n  (cond ((or (= n 0) (null? s)) '())\n        ((pair? s)              (cons (car s) (s-limit (- n 1) (cdr s))))\n        (else                   (thunk (s-limit n (s))))))\n\n(define (s-split n s)\n  (match-define (cons rxs s.remaining) (s-foldl n cons '() s))\n  (cons (reverse rxs) s.remaining))\n\n(define (s-take/set/steps steps n s)\n  (if (and n (= n 0)) (set)\n    (let loop ((steps steps) (s s) (acc (set)))\n      (match s\n        ((? procedure? s) (if (and steps (= steps 0))\n                            acc\n                            (loop (and steps (- steps 1)) (s) acc)))\n        ('()              acc)\n        ((cons x s)       (define xs (set-add acc x))\n                          (if (and n (= n (set-count xs)))\n                            xs\n                            (loop steps s xs)))))))\n\n(define (s-take/steps steps n s)\n  (if (and n (= n 0)) '()\n    (match s\n      ((? procedure? s) (if (and steps (= steps 0))\n                          '()\n                          (s-take/steps (and steps (- steps 1)) n (s))))\n      ('()              '())\n      ((cons x s)       (cons x (s-take/steps steps (and n (- n 1)) s))))))\n\n(define (s-take/set n s) (s-take/set/steps #f n s))\n(define (s-take     n s) (s-take/steps #f n s))\n(define (s-drop     n s) (cdr (s-foldl n (lambda (_ acc) #t) #t s)))\n\n;; equivalent to (s-take #f s)\n(define (s->list s)\n  (cond ((null? s) '())\n        ((pair? s) (cons (car s) (s->list (cdr s))))\n        (else      (s->list (s)))))\n;; equivalent to s-lazy for a list\n(define (list->s xs)\n  (thunk (if (null? xs)\n           '()\n           (cons (car xs) (list->s (cdr xs))))))\n\n;; TODO: generalize to multiple streams\n(define (s-foldr f acc s)\n  (cond ((null? s) acc)\n        ((pair? s) (f (car s) (s-foldr f acc (cdr s))))\n        (else      (thunk (s-foldr f acc (s))))))\n\n(define (s-append*/interleaving s*) (s-foldr s-append/interleaving '() s*))\n;; TODO: generalize to multiple streams\n(define (s-append/interleaving s1 s2)\n  (cond ((null?      s1) (s2))\n        ((procedure? s1) (thunk (s-append/interleaving (s2) s1)))\n        (else (define d1  (cdr s1))\n              (define s1^ (if (procedure? d1) d1 (thunk d1)))\n              (cons (car s1) (thunk (s-append/interleaving (s2) s1^))))))\n\n(define (s-append* ss) (s-foldr s-append '() ss))\n;; TODO: generalize to multiple streams\n(define (s-append a b) (s-foldr cons b a))\n(define (s-filter ? s) (s-foldr (lambda (x acc) (if (? x) (cons x acc) acc))\n                                '() s))\n\n(define (s-map f s . ss)\n  (cond ((null? s) '())\n        ((pair? s) (let loop ((ss-pending ss) (rss '()))\n                     (if (null? ss-pending)\n                       (let ((ss (reverse rss)))\n                         (cons (apply f (car s) (map car ss))\n                               (apply s-map f (cdr s) (map cdr ss))))\n                       (let next ((ss0 (car ss-pending)))\n                         (if (procedure? ss0) (thunk (next (ss0)))\n                           (loop (cdr ss-pending) (cons ss0 rss)))))))\n        (else      (thunk (apply s-map f (s) ss)))))\n\n;; TODO: generalize to multiple streams\n(define (s-map/append f s)\n  (s-foldr (lambda (x rest) (s-append (f x) rest))\n           '() s))\n\n(define (s-each p s) (let ((s (s-force s)))\n                       (unless (null? s) (p (car s)) (s-each p (cdr s)))))\n\n(define (s-foldl n f acc s)\n  (if (and n (= n 0)) (cons acc s)\n    (let ((s (s-force s)))\n      (if (null? s) (list acc)\n        (s-foldl (and n (- n 1)) f (f (car s) acc) (cdr s))))))\n\n(define (s-scan s acc f)\n  (cons acc (cond ((null? s) '())\n                  ((pair? s) (s-scan (cdr s) (f (car s) acc) f))\n                  (else      (thunk (s-scan (s) acc f))))))\n\n(define (s-length s) (let loop ((s s) (l 0))\n                       (cond ((null? s) l)\n                             ((procedure? s) (loop (s) l))\n                             (else (loop (cdr s) (+ l 1))))))\n\n(define (s-group s ? @)\n  (let ((@ (or @ (lambda (x) x))))\n    (cond ((null? s)      '())\n          ((procedure? s) (thunk (s-group (s) ? @)))\n          (else (let next ((x (@ (car s))) (s s))\n                  (let loop ((g (list (car s))) (s (cdr s)))\n                    (cond ((null? s)      (list g))\n                          ((procedure? s) (thunk (loop g (s))))\n                          (else (let ((y (@ (car s))))\n                                  (if (? y x) (loop (cons (car s) g) (cdr s))\n                                    (cons g (next y s))))))))))))\n\n(define (s-memo s)\n  (cond ((procedure? s) (let ((v #f) (s s))\n                          (thunk (when s (set! v (s-memo (s))) (set! s #f))\n                                 v)))\n        ((null? s)      '())\n        (else           (cons (car s) (s-memo (cdr s))))))\n\n(define (s-lazy s)\n  (define (return s)\n    (cond ((null? s) '())\n          (else      (cons (car s) (s-lazy (cdr s))))))\n  (thunk (cond ((procedure? s) (let retry ((s (s)))\n                                 (cond ((procedure? s) (thunk (retry (s))))\n                                       (else           (return s)))))\n               (else           (return s)))))\n\n(define (s-enumerate i s)\n  (cond ((null? s) '())\n        ((pair? s) (cons (cons i (car s)) (s-enumerate (+ i 1) (cdr s))))\n        (else      (thunk                 (s-enumerate i           (s))))))\n\n;; NOTE: only adjacent duplicates are removed\n(define (s-dedup s)\n  (define (loop x s)\n    (cond ((null? s) (list x))\n          ((pair? s) (if (equal? x (car s)) (loop x (cdr s))\n                       (cons x (loop (car s) (cdr s)))))\n          (else      (thunk (loop x (s))))))\n  (cond ((null? s) '())\n        ((pair? s) (loop (car s) (cdr s)))\n        (else      (thunk (s-dedup (s))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/syntax.rkt",
    "content": "#lang racket/base\n(provide\n  (struct-out make-query)\n  (struct-out disj)\n  (struct-out conj)\n  (struct-out constrain)\n  (struct-out ==/use)\n  (struct-out var)\n  (struct-out term/vars)\n  relate\n\n  make-relation relations relations-ref relations-set! relations-set*!\n  relation letrec-relation define-relation\n  conj* disj* fresh conde :== query\n  == =/= any<=o flooro +o *o string==byteso symbol==stringo functiono\n  vector-lengtho vector-refo bytes-lengtho bytes-refo\n\n  ground? term-vars\n  make-pretty pretty)\n(require racket/match racket/set racket/vector)\n\n(struct query     (term formula)                #:prefab #:name make-query\n                                                #:constructor-name make-query)\n;; formulas\n(struct disj      (f1 f2)                       #:prefab)\n(struct conj      (f1 f2)                       #:prefab)\n(struct constrain (op terms)                    #:prefab)\n(struct ==/use    (lhs-term args rhs-proc desc) #:prefab)\n;; terms\n; term: pair or vector with embedded variables\n; vars: optional; set of variables found somewhere within term\n(struct term/vars (term vars))\n(struct var       (name))\n\n(define-syntax define-constraint\n  (syntax-rules ()\n    ((_ (op params ...)) (define (op params ...)\n                           (constrain 'op (list params ...))))))\n(define-constraint (==              t1 t2))\n(define-constraint (=/=             t1 t2))\n(define-constraint (any<=o          t1 t2))\n(define-constraint (flooro          t1 t2))\n(define-constraint (+o              t1 t2 t3))\n(define-constraint (*o              t1 t2 t3))\n(define-constraint (vector-lengtho  t l))\n(define-constraint (vector-refo     t i x))\n(define-constraint (bytes-lengtho   t l))\n(define-constraint (bytes-refo      t i x))\n(define-constraint (symbol==stringo t1 t2))\n(define-constraint (string==byteso  t1 t2))  ;; as utf-8\n(define-constraint (functiono       t1 t2))  ;; uninterpreted functional dependency\n(define (relate proc args) (constrain proc args))\n\n(define relation-registry          (make-weak-hasheq '()))\n(define (relations)                (hash->list relation-registry))\n(define (relations-ref   proc)     (hash-ref relation-registry proc))\n(define (relations-set!  proc k v) (relations-set*! proc `((,k . ,v))))\n(define (relations-set*! proc alist)\n  (hash-set! relation-registry proc\n             (foldl (lambda (kv acc) (hash-set acc (car kv) (cdr kv)))\n                    (relations-ref proc) alist)))\n(define (make-relation name attributes)\n  (define n ((make-syntax-introducer) (datum->syntax #f name)))\n  (define r (eval-syntax #`(letrec ((#,n (lambda args (relate #,n args))))\n                             #,n)))\n  (hash-set! relation-registry r (make-immutable-hash\n                                   `((name            . ,name)\n                                     (attribute-names . ,attributes))))\n  r)\n\n(define-syntax relation\n  (syntax-rules ()\n    ((_ name (param ...) f ...)\n     (let ((r (make-relation 'name '(param ...))))\n       (relations-set! r 'expand (lambda (param ...) (fresh () f ...)))\n       r))))\n(define-syntax letrec-relation\n  (syntax-rules ()\n    ((_ (((name param ...) f ...) ...) body ...)\n     (letrec ((name (relation name (param ...) f ...)) ...) body ...))))\n(define-syntax define-relation\n  (syntax-rules ()\n    ((_ (name param ...) f ...)\n     (define name (relation name (param ...) f ...)))))\n(define success (== #t #t))\n(define failure (== #f #t))\n(define (conj* . fs)\n  (if (null? fs) success\n    (foldl (lambda (f2 f1) (conj f1 f2)) (car fs) (cdr fs))))\n(define (disj* . fs)\n  (if (null? fs) failure\n    (let loop ((f (car fs)) (fs (cdr fs)))\n      (if (null? fs) f\n        (disj f (loop (car fs) (cdr fs)))))))\n(define-syntax let/fresh\n  (syntax-rules ()\n    ((_ (x ...) e ...) (let ((x (var 'x)) ...) e ...))))\n(define-syntax fresh\n  (syntax-rules ()\n    ((_ (x ...) f0 fs ...) (let/fresh (x ...) (conj* f0 fs ...)))))\n(define-syntax conde\n  (syntax-rules ()\n    ((_ (f fs ...) (h hs ...) ...)\n     (disj* (conj* f fs ...) (conj* h hs ...) ...))))\n(define-syntax :==\n  (syntax-rules ()\n    ((_ t (x ...) body ...) (==/use t (list x ...) (lambda (x ...) body ...)\n                                    `((x ...) body ...)))))\n(define-syntax query\n  (syntax-rules ()\n    ((_ (x ...) f0 fs ...)\n     (let/fresh (x ...) (make-query (list x ...) (conj* f0 fs ...))))\n    ((_ x       f0 fs ...)\n     (let/fresh (x)     (make-query x            (conj* f0 fs ...))))))\n\n(define seteq.empty (seteq))\n(define (term-vars t)\n  (cond ((var?    t) (seteq t))\n        ((pair?   t) (set-union (term-vars (car t)) (term-vars (cdr t))))\n        ((vector? t) (apply set-union seteq.empty (map term-vars (vector->list t))))\n        (else        seteq.empty)))\n(define (ground? t)\n  (cond ((var?    t) #f)\n        ((pair?   t) (and (ground? (car t)) (ground? (cdr t))))\n        ((vector? t) (andmap ground? (vector->list t)))\n        (else        #t)))\n\n(define (make-pretty)\n  (define var=>id (make-hash))\n  (define (pretty-term t)\n    (cond ((pair? t)   (cons (pretty-term (car t)) (pretty-term (cdr t))))\n          ((vector? t) (vector-map pretty-term t))\n          ((var? t)    `#s(var ,(let ((id (hash-ref   var=>id t #f))\n                                      (c  (hash-count var=>id)))\n                                  (or id (begin (hash-set! var=>id t c) c)))))\n          (else        (pretty-formula t))))\n  (define (pretty-formula f)\n    (match f\n      (`#s(disj ,f1 ,f2)         `#s(disj ,(pretty-formula f1)\n                                          ,(pretty-formula f2)))\n      (`#s(conj ,f1 ,f2)         `#s(conj ,(pretty-formula f1)\n                                          ,(pretty-formula f2)))\n      (`#s(constrain ,op ,terms) `(,op . ,(map pretty-term terms)))\n      (`#s(==/use ,lhs ,args ,rhs ,desc)\n        (define (pretty-arg t) (pretty-term t))\n        `(:== ,(pretty-term lhs)\n              #s(let ,(map list (car desc) (map pretty-arg args))\n                  ,@(cdr desc))))\n      (_ f)))\n  (lambda (x)\n    (match x\n      (`#s(query ,t ,f)\n        `#s(query ,(pretty-term t) ,(pretty-formula f)))\n      (_ (if (or (disj? x) (conj? x) (constrain? x) (==/use? x))\n           (pretty-formula x) (pretty-term x))))))\n(define (pretty x) ((make-pretty) x))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk/table.rkt",
    "content": "#lang racket/base\n(provide materialization value/syntax\n         (struct-out statistics) statistics-intersect\n         vector-table? encoder s-encode s-decode)\n(require \"codec.rkt\" \"config.rkt\" \"dsv.rkt\" \"misc.rkt\" \"order.rkt\" \"stream.rkt\"\n         racket/file racket/function racket/hash racket/list racket/match\n         racket/pretty racket/set racket/vector)\n\n(define (s-encode out type s) (s-each (lambda (v) (encode out type v)) s))\n(define (s-decode in type)\n  (thunk (let loop () (if (eof-object? (peek-byte in)) '()\n                        (cons (decode in type) (thunk (loop)))))))\n\n(define (encoder out type) (method-lambda ((put! v) (encode out type v))\n                                          ((close) (flush-output out))))\n\n(struct statistics (ratio cardinality) #:prefab)\n(define (statistics-intersect a b)\n  (match-define (statistics r.a c.a) a)\n  (match-define (statistics r.b c.b) b)\n  (statistics (min r.a r.b) (min c.a c.b)))\n\n;; TODO: can we simplify by virtually separating bisecting tries from random-access tries?\n;;       technically each prefix of a trie has either bisecting or random-access behavior\n;; virtualized tries can subsume each other when making progress: a kind of exclusive-or trie\n;; - exclusive-or (for grouping with subsumption)\n;; - random-access/position-key (each column value is a table position)\n;; - bisect-key                 (each column value has a unique entry)\n;; - bisect-multi               (each column value may have multiple entries)\n;(define (trie:xor ))\n;; TODO: this one is for monotone dependencies (grouping without subsumption)\n;(define (trie:or ))\n;; TODO: there could be tabular and columnar varieties of these\n;(define (trie:position-key ))\n;(define (trie:bisect-key ))\n;(define (trie:bisect-multi ))\n\n;; TODO: support multiple sorted columns using tables that share key columns\n;;       (wait until column-oriented tables are implemented for simplicity?)\n\n(define ((table ix-thunks))\n  (define ixs (map (lambda (thunk.ix) (thunk.ix)) ix-thunks))\n  (and (not (ormap not ixs))\n       (let table ((ixs         (filter (lambda (ix) (not (ix 'done?))) ixs))\n                   (col=>bounds (foldl (lambda (ix c=>b)\n                                         (hash-union c=>b (ix 'bounds)\n                                                     ;; TODO: verify no errors during testing.\n                                                     ;;       Should be able to replace this with:\n                                                     ;;       #:combine (lambda (b.0 b.1) b.0)\n                                                     #:combine/key\n                                                     (lambda (k b.0 b.1)\n                                                       (if (equal? b.0 b.1)\n                                                         b.0\n                                                         (error \"incompatible initial bounds:\" k b.0 b.1)))))\n                                       (hash) ixs)))\n         (method-lambda\n           ((done?)      (null? ixs))\n           ((bounds)     col=>bounds)\n           ((statistics) (apply hash-union (hash)\n                                (map (lambda (ix) (ix 'statistics)) ixs)\n                                #:combine statistics-intersect))\n           ((update cbs)\n            (let loop ((c=>b (foldl (lambda (cb c=>b) (hash-set c=>b (car cb) (cdr cb)))\n                                    col=>bounds cbs))\n                       (ixs.pending ixs)\n                       (ixs.updated '()))\n              (if (null? ixs.pending)\n                (table (reverse ixs.updated) c=>b)\n                (let*/and ((ix.new ((car ixs.pending) 'update c=>b))\n                           (c=>b   (hash-union c=>b (ix.new 'bounds)\n                                               #:combine (lambda (v.0 v.1) v.1))))\n                  (cond ((not (ix.new 'done?)) (loop c=>b (cdr ixs.pending) (cons ix.new ixs.updated)))\n                        ((not (ix.new 'full?)) (loop c=>b (cdr ixs.pending)              ixs.updated))\n                        (else                  (table '() c=>b)))))))))))\n\n;; TODO: reorganize to implement dicts and sets\n;; - sets can be thought of as dicts with empty value\n;; - could use same representation both for relations and for terms of these types\n;; - in terms of btrees, tries\n;; - possibly also hash tables for small cardinalities\n;; - consider manipulating low-level memory buffers via FFI\n\n;; TODO: define a finite-map that is only referenceable by key and immediately provides a single instance\n;;       of all columns (because the other columns are not sorted/deduped without the key)\n\n;; TODO: this should be called trie:row-major\n(define (tabular-trie vref key-column nonkey-columns types row-count)\n  (define (ref mask i)          (vector-ref (vref i) mask))\n  (define ((make-i<  mask v) i) (any<?  (ref mask i) v))\n  (define ((make-i<= mask v) i) (any<=? (ref mask i) v))\n  (define ((make-i>  mask v) i) (any<?  v (ref mask i)))\n  (define ((make-i>= mask v) i) (any<=? v (ref mask i)))\n  (define (update/pending c=>b.new cols.pending col=>bounds mask start end)\n    (define c.next    (car cols.pending))\n    (define b.current (hash-ref col=>bounds c.next bounds.any))\n    (define b         (bounds-intersect (hash-ref c=>b.new c.next bounds.any)\n                                        b.current))\n    (define (update/bounds lb lbi? ub ubi?)\n      (define start.new (bisect-next start end ((if lbi? make-i< make-i<=) mask lb)))\n      (define end.new (if (< start.new end)\n                        (bisect-prev start end ((if ubi? make-i> make-i>=) mask ub))\n                        start.new))\n      (update/trim c=>b.new cols.pending col=>bounds mask start.new end.new))\n    (cond ((equal? b b.current) (new cols.pending col=>bounds mask start end))\n          (else                 (update/bounds (bounds-lb b)\n                                               (bounds-lb-inclusive? b)\n                                               (bounds-ub b)\n                                               (bounds-ub-inclusive? b)))))\n  (define (update/trim c=>b.new cols.pending col=>bounds mask start end)\n    (if (null? cols.pending)\n      (new '() (hash-set col=>bounds key-column (bounds start #t (- end 1) #t))\n           mask start end)\n      (and (< start end)\n           (let ((c.next (car cols.pending))\n                 (lb     (ref mask start))\n                 (ub     (ref mask (- end 1))))\n             (if (equal? lb ub)\n               (update/trim c=>b.new (cdr cols.pending)\n                            (hash-set col=>bounds c.next (bounds lb #t lb #t))\n                            (+ mask 1) start end)\n               (let ((col=>bounds (hash-set (hash-set col=>bounds c.next (bounds lb #t ub #t))\n                                            key-column (if (= start (- end 1))\n                                                         start\n                                                         (bounds start #t (- end 1) #t)))))\n                 (update/pending c=>b.new cols.pending col=>bounds mask start end)))))))\n  (define (new cols.pending col=>bounds mask start end)\n    (method-lambda\n      ;; TODO: this will be incorrect if the nonkey-columns do not map to a single key, which\n      ;; can happen when the table includes the key-column as an attribute.\n      ((done?)  (null? cols.pending))\n      ;; TODO: allow full? to be #t when nonkey-columns include all attributes\n      ((full?)  (not (not key-column)))\n      ((bounds) col=>bounds)\n      ((statistics)\n       (define ratio (/ (- end start) row-count))\n       (make-immutable-hash\n         (cons (cons (car cols.pending)\n                     (statistics ratio\n                                 (let ((v.lb (ref mask start))\n                                       (v.ub (ref mask (- end 1))))\n                                   (if (equal? v.lb v.ub)\n                                     1\n                                     (+ 2 (- (bisect-prev start end (make-i>= mask v.ub))\n                                             (bisect-next start end (make-i<= mask v.lb))))))))\n               (if key-column\n                 (list (cons key-column (statistics ratio (- end start))))\n                 '()))))\n      ((update c=>b)\n       (cond (key-column\n               (define b.key.0 (hash-ref col=>bounds key-column bounds.any))\n               (define b       (hash-ref c=>b        key-column bounds.any))\n               (cond ((not (equal? b b.key.0))\n                      ;; Assume these bounds will always be numbers in c=>b\n                      (let ((lb (let ((lb.0 (bounds-lb b)))\n                                  (cond ((not (integer? lb.0))    (ceiling lb.0))\n                                        ((bounds-lb-inclusive? b)          lb.0)\n                                        (else                           (+ lb.0 1)))))\n                            (ub (let ((ub.0 (bounds-ub b)))\n                                  (cond ((not (integer? ub.0))    (floor ub.0))\n                                        ((bounds-ub-inclusive? b)        ub.0)\n                                        (else                         (- ub.0 1))))))\n                        (and (<= start lb ub) (< ub end)\n                             (update/trim c=>b cols.pending col=>bounds mask lb (+ ub 1)))))\n                     (else (update/pending c=>b cols.pending col=>bounds mask start end))))\n             (else         (update/pending c=>b cols.pending col=>bounds mask start end))))))\n  (update/trim (hash) nonkey-columns (hash) 0 0 row-count))\n\n(define (table-length t key)       (statistics-cardinality (hash-ref (t 'statistics) key)))\n(define (table-ref    t key i col) (bounds-lb (hash-ref ((t 'update (hash key (bounds i #t i #t))) 'bounds) col)))\n\n(define (table/port/offsets table.offsets key-col cols types thunk.in)\n  (define type `#(tuple ,@types))\n  (lambda ()\n    (define offsets (table.offsets))\n    (and offsets\n         (let ((in (thunk.in)))\n           (define (ref i)\n             (file-position in (table-ref offsets #t i 'offset))\n             (decode in type))\n           (tabular-trie ref key-col cols types (table-length offsets #t))))))\n\n(define (table/bytes/offsets table.offsets key-col cols types bs)\n  (define (thunk.in) (open-input-bytes bs))\n  (table/port/offsets table.offsets key-col cols types thunk.in))\n\n(define (table/port len key-col cols types thunk.in)\n  (define type `#(tuple ,@types))\n  (define width (sizeof type (void)))\n  (lambda ()\n    (define in (thunk.in))\n    (define (ref i) (file-position in (* i width)) (decode in type))\n    (tabular-trie ref key-col cols types len)))\n\n(define (table/bytes key-col cols types bs)\n  (define (thunk.in) (open-input-bytes bs))\n  (table/port (quotient (bytes-length bs) (sizeof types (void)))\n              key-col cols types thunk.in))\n\n(define ((table/vector key-col cols types v))\n  (tabular-trie (lambda (i) (vector-ref v i)) key-col cols types (vector-length v)))\n\n(define (vector-table? types v)\n  (define v< (compare-><? (type->compare types)))\n  (define i (- (vector-length v) 1))\n  (or (<= i 0) (let loop ((i (- i 1)) (next (vector-ref v i)))\n                 (define current (vector-ref v i))\n                 (and (v< current next) (or (= i 0) (loop (- i 1) current))))))\n(define (vector-table-sort! types v)\n  (vector-sort! v (compare-><? (type->compare `#(tuple ,@types)))))\n(define (vector-dedup v) (list->vector (s-dedup (vector->list v))))\n\n;; TODO: switch back to file->bytes once Racket IO bug is fixed\n(define (file->bytes2 file-name)\n  (define size (file-size file-name))\n  (define bs (make-bytes size))\n  (call-with-input-file\n    file-name\n    (lambda (in)\n      (let loop ((i 0))\n        (cond ((= i size) bs)\n              (else (define end (+ i (min 1073741824\n                                          (- size i))))\n                    (read-bytes! bs in i end)\n                    (loop end)))))))\n\n(define (file-stats path)\n  (and (file-exists? path)\n       `((size . ,(file-size path))\n         (time . ,(file-or-directory-modify-seconds path)))))\n\n(define (table/metadata retrieval-type directory-path info-alist)\n  (define info         (make-immutable-hash info-alist))\n  (define path-prefix  (path->string (build-path directory-path (hash-ref info 'file-prefix))))\n  (define fname.value  (value-table-file-name  path-prefix))\n  (define fname.offset (offset-table-file-name path-prefix))\n  (define offset-type  (hash-ref info 'offset-type))\n  (define fstat.value  (file-stats fname.value))\n  (define fstat.offset (and offset-type (file-stats fname.offset)))\n  (define key-name     (hash-ref info 'key-name))\n  (define column-names (hash-ref info 'column-names))\n  (define column-types (hash-ref info 'column-types))\n  (define len          (hash-ref info 'length))\n  (unless (set=? fstat.value (hash-ref info 'value-file))\n    (error \"value file stats do not match metadata:\" fname.value\n           'file: fstat.value 'metadata: (hash-ref info 'value-file)))\n  (when offset-type\n    (unless (set=? fstat.offset (hash-ref info 'offset-file))\n      (error \"offset file stats do not match metadata:\" fname.offset\n             'file: fstat.offset 'metadata: (hash-ref info 'offset-file))))\n  (case retrieval-type\n    ((disk) (define (open-input-file/memoize fname)\n              (define cell.port (make-thread-cell #f))\n              (lambda ()\n                (or (thread-cell-ref cell.port)\n                    (let ((in (open-input-file fname)))\n                      (thread-cell-set! cell.port in)\n                      in))))\n            (define thunk.in.value (open-input-file/memoize fname.value))\n            (if offset-type\n              (table/port/offsets\n                (table/port len #t '(offset) `(,offset-type)\n                            (open-input-file/memoize fname.offset))\n                key-name column-names column-types thunk.in.value)\n              (table/port len key-name column-names column-types thunk.in.value)))\n    ((bytes) (define bs.value (file->bytes2 fname.value))\n             (if offset-type\n               (table/bytes/offsets\n                 (table/bytes #t '(offset) `(,offset-type)\n                              (file->bytes2 fname.offset))\n                 key-name column-names column-types bs.value)\n               (table/bytes key-name column-names column-types bs.value)))\n    ((scm) (let/files ((in.value fname.value)) ()\n             (table/vector\n               key-name column-names column-types\n               (list->vector\n                 (s-take #f (s-decode in.value `#(tuple ,@column-types)))))))\n    (else (error \"unknown retrieval type:\" retrieval-type))))\n\n(define (bisect start end i<)\n  (let loop ((start start) (end end))\n    (if (<= end start) end\n      (let ((i (+ start (quotient (- end start) 2))))\n        (if (i< i) (loop (+ 1 i) end) (loop start i))))))\n\n(define (bisect-next start end i<)\n  (define i (- start 1))\n  (let loop ((offset 1))\n    (define next (+ i offset))\n    (cond ((and (< next end) (i< next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (next (+ i o)))\n                    (cond ((= o 0)                      (+ i 1))\n                          ((and (< next end) (i< next)) (loop next o))\n                          (else                         (loop i    o)))))))))\n\n(define (bisect-prev start end i>)\n  (define i end)\n  (let loop ((offset 1))\n    (define next (- i offset))\n    (cond ((and (>= next start) (i> next)) (loop (arithmetic-shift offset 1)))\n          (else (let loop ((i i) (o offset))\n                  (let* ((o (arithmetic-shift o -1)) (n (- i o)))\n                    (cond ((= o 0)                   i)\n                          ((and (>= n start) (i> n)) (loop n o))\n                          (else                      (loop i o)))))))))\n\n(define (value-table-file-name  prefix) (string-append prefix \".value.table\"))\n(define (offset-table-file-name prefix) (string-append prefix \".offset.table\"))\n(define metadata-file-name              \"metadata.scm\")\n\n(define (tabulator directory-path file-prefix\n                   column-names column-types key-name)\n  (define (unique?! as) (unless (= (length (remove-duplicates as)) (length as))\n                          (error \"duplicates:\" as)))\n  (unless (= (length column-names) (length column-types))\n    (error \"mismatching column names and types:\" column-names column-types))\n  (unique?! column-names)\n  (when (member key-name column-names)\n    (error \"key name must be distinct:\" key-name column-names))\n  (define row-type column-types)\n  (define row<     (compare-><? (type->compare row-type)))\n  (define row-size (sizeof row-type (void)))\n  (define path-prefix (path->string (build-path directory-path file-prefix)))\n  (define value-file-name  (value-table-file-name path-prefix))\n  (define offset-file-name (and (not row-size)\n                                (offset-table-file-name path-prefix)))\n  (define tsorter (sorter #t value-file-name offset-file-name row-type row<))\n  (method-lambda\n    ((put! x) (tsorter 'put! x))\n    ((close) (match-define (cons offset-type item-count) (tsorter 'close))\n             `((file-prefix    . ,file-prefix)\n               (value-file     . ,(file-stats value-file-name))\n               (offset-file    . ,(and offset-file-name\n                                       (file-stats offset-file-name)))\n               (offset-type    . ,offset-type)\n               (length         . ,item-count)\n               (column-names   . ,column-names)\n               (column-types   . ,column-types)\n               (key-name       . ,key-name)))))\n\n(define (sorter dedup? value-file-name offset-file-name? type value<)\n  (define fname-sort-value  (string-append value-file-name \".value.sort\"))\n  (define fname-sort-offset (string-append value-file-name \".offset.sort\"))\n  (define out-value         (open-output-file value-file-name))\n  (define out-offset\n    (and offset-file-name?  (open-output-file offset-file-name?)))\n  (define out-sort-value    (open-output-file fname-sort-value))\n  (define out-sort-offset   (open-output-file fname-sort-offset))\n  (define ms (multi-sorter out-sort-value out-sort-offset type value<))\n  (method-lambda\n    ((put! value) (ms 'put! value))\n    ((close)\n     (match-define (vector initial-item-count chunk-count v?) (ms 'close))\n     (close-output-port out-sort-value)\n     (close-output-port out-sort-offset)\n     (define omax (if v? (sizeof `#(array ,initial-item-count ,type) v?)\n                    (file-size fname-sort-value)))\n     (define otype (and out-offset (nat-type/max omax)))\n     (define item-count\n       (cond (v? (let loop ((prev #f) (i 0) (count 0))\n                   (if (= i initial-item-count) count\n                     (let ((x (vector-ref v? i)))\n                       (cond ((not (and dedup? (< 0 i) (equal? x prev)))\n                              (when out-offset\n                                (encode out-offset otype (file-position\n                                                           out-value)))\n                              (encode out-value type x)\n                              (loop x (+ i 1) (+ count 1)))\n                             (else (loop x (+ i 1) count)))))))\n             (else (let/files ((in fname-sort-value)\n                               (in-offset fname-sort-offset)) ()\n                     (multi-merge dedup? out-value out-offset type otype value<\n                                  chunk-count in in-offset)))))\n     (delete-file fname-sort-value)\n     (delete-file fname-sort-offset)\n     (close-output-port out-value)\n     (when out-offset (close-output-port out-offset))\n     (cons otype item-count))))\n\n(define (multi-sorter out-chunk out-offset type value<)\n  (define buffer-size (current-config-ref 'buffer-size))\n  (let ((v (make-vector buffer-size)) (chunk-count 0) (item-count 0) (i 0))\n    (method-lambda\n      ((put! value) (vector-set! v i value)\n                    (set! i (+ i 1))\n                    (when (= i buffer-size)\n                      (vector-sort! v value<)\n                      (for ((x (in-vector v))) (encode out-chunk type x))\n                      (encode out-offset 'nat (file-position out-chunk))\n                      (set! item-count  (+ item-count buffer-size))\n                      (set! chunk-count (+ chunk-count 1))\n                      (set! i           0)))\n      ((close) (vector-sort! v value< 0 i)\n               (cond ((and (< 0 chunk-count) (= i 0))\n                      (vector item-count chunk-count #f))\n                     ((< 0 chunk-count)\n                      (for ((i (in-range i)))\n                        (encode out-chunk type (vector-ref v i)))\n                      (encode out-offset 'nat (file-position out-chunk))\n                      (vector (+ item-count i) (+ chunk-count 1) #f))\n                     (else (vector i 0 v)))))))\n\n(define (multi-merge\n          dedup? out out-offset type otype v< chunk-count in in-offset)\n  (define (s< sa sb) (v< (car sa) (car sb)))\n  (define (s-chunk pos end)\n    (cond ((<= end pos) '())\n          (else (file-position in pos)\n                (cons (decode in type) (let ((pos (file-position in)))\n                                         (thunk (s-chunk pos end)))))))\n  (define heap (make-vector chunk-count))\n  (let loop ((hi 0) (start 0)) (when (< hi chunk-count)\n                                 (define end (decode in-offset 'nat))\n                                 (vector-set! heap hi (s-chunk start end))\n                                 (loop (+ hi 1) end)))\n  (heap! s< heap chunk-count)\n  (let loop ((prev #f) (i 0) (hend chunk-count))\n    (if (= hend 0) i\n      (let* ((top (heap-top heap)) (x (car top)) (top (s-force (cdr top))))\n        (loop x (cond ((not (and dedup? (< 0 i) (equal? x prev)))\n                       (when out-offset (encode out-offset otype\n                                                (file-position out)))\n                       (encode out type x)\n                       (+ i 1))\n                      (else i))\n              (cond ((null? top) (heap-remove!  s< heap hend)  (- hend 1))\n                    (else        (heap-replace! s< heap hend top) hend)))))))\n\n(define (heap-top h) (vector-ref h 0))\n(define (heap! ? h end)\n  (let loop ((i (- (quotient end 2) 1)))\n    (when (<= 0 i) (heap-sink! ? h end i) (loop (- i 1)))))\n(define (heap-remove! ? h end)\n  (vector-set! h 0 (vector-ref h (- end 1))) (heap-sink! ? h (- end 1) 0))\n(define (heap-replace! ? h end top)\n  (vector-set! h 0 top)                      (heap-sink! ? h    end    0))\n(define (heap-sink! ? h end i)\n  (let loop ((i i))\n    (let ((ileft (+ i i 1)) (iright (+ i i 2)))\n      (cond ((<= end ileft))  ;; done\n            ((<= end iright)\n             (let ((p (vector-ref h i)) (l (vector-ref h ileft)))\n               (when (? l p) (vector-set! h i l) (vector-set! h ileft p))))\n            (else (let ((p (vector-ref h i))\n                        (l (vector-ref h ileft)) (r (vector-ref h iright)))\n                    (cond ((? l p) (cond ((? r l) (vector-set! h i r)\n                                                  (vector-set! h iright p)\n                                                  (loop iright))\n                                         (else (vector-set! h i l)\n                                               (vector-set! h ileft p)\n                                               (loop ileft))))\n                          ((? r p) (vector-set! h i r)\n                                   (vector-set! h iright p)\n                                   (loop iright)))))))))\n(define (heap-add! ? h end v)\n  (let loop ((i end))\n    (if (= i 0) (vector-set! h i v)\n      (let* ((iparent (- (quotient (+ i 1) 2) 1))\n             (pv      (vector-ref h iparent)))\n        (cond ((? v pv) (vector-set! h i pv) (loop iparent))\n              (else     (vector-set! h i v)))))))\n\n(define (list-arranger input-names output-names)\n  (define ss.in    (generate-temporaries input-names))\n  (define name=>ss (make-immutable-hash (map cons input-names ss.in)))\n  (define ss.out   (map (lambda (n) (hash-ref name=>ss n)) output-names))\n  (eval-syntax #`(lambda (row)\n                   (match-define (list #,@ss.in) row)\n                   (list #,@ss.out))))\n\n(define (table-materializer source-names path.dir fprefix\n                            column-names column-types key-name)\n  (define t (tabulator path.dir fprefix column-names column-types key-name))\n  (define transform (list-arranger source-names column-names))\n  (method-lambda\n    ((put! x) (t 'put! (transform x)))\n    ((close)  (t 'close))))\n\n(define (materialize-index-tables!\n          path.dir source-fprefix name->type source-names index-descriptions)\n  (cond ((null? index-descriptions) '())\n        (else\n          (define threshold (current-config-ref 'progress-logging-threshold))\n          (define index-ms\n            (map (lambda (td)\n                   (define fprefix      (alist-ref td 'file-prefix))\n                   (define column-names (alist-ref td 'column-names))\n                   (define column-types (map name->type column-names))\n                   (table-materializer source-names path.dir fprefix\n                                       column-names column-types #f))\n                 index-descriptions))\n          (logf \"Materializing ~s index table(s) from primary:\\n\"\n                (length index-ms))\n          (for-each (lambda (td) (pretty-write (alist-ref td 'column-names)))\n                    index-descriptions)\n          (let/files ((in (value-table-file-name source-fprefix))) ()\n            (define src (s-decode in (map name->type (cdr source-names))))\n            (time (s-each (lambda (x)\n                            (let ((count (car x)))\n                              (when (= 0 (remainder count threshold))\n                                (logf \"ingested ~s rows\\n\" count))\n                              (for-each (lambda (m) (m 'put! x)) index-ms)))\n                          (s-enumerate 0 src))))\n          (logf \"Processing all rows\\n\")\n          (map (lambda (m) (time (m 'close))) index-ms))))\n\n(define (valid-key-type? t)\n  (match t\n    ((or #f 'nat 'number `#(nat ,_)) #t)\n    (_                               #f)))\n\n(define (materializer path.dir source-info attribute-names attribute-types key-name\n                      table-layouts)\n  (define name=>type (make-immutable-hash (map cons attribute-names attribute-types)))\n  (define index-layouts        (cdr table-layouts))\n  (define primary-column-names (car table-layouts))\n  (define primary-source-names (cons key-name primary-column-names))\n  (define primary-column-types (map (lambda (n) (hash-ref name=>type n))\n                                    primary-column-names))\n  (make-directory* path.dir)\n  (define path.metadata (path->string (build-path path.dir metadata-file-name)))\n  (define primary-fprefix \"primary\")\n  (define primary-fname (path->string (build-path path.dir primary-fprefix)))\n  (define index-fprefixes\n    (map (lambda (i) (string-append \"index.\" (number->string i)))\n         (range (length index-layouts))))\n  (define primary-t (tabulator path.dir primary-fprefix\n                               primary-column-names primary-column-types key-name))\n  (method-lambda\n    ((put! x) (primary-t 'put! x))\n    ((close) (define primary-info (primary-t 'close))\n             (define key-type (nat-type/max (alist-ref primary-info 'length)))\n             (define name->type\n               (let ((name=>type (hash-set name=>type key-name key-type)))\n                 (lambda (n) (hash-ref name=>type n))))\n             (define index-infos\n               (materialize-index-tables!\n                 path.dir primary-fname name->type primary-source-names\n                 (map (lambda (fprefix td) `((file-prefix . ,fprefix)\n                                             (column-names . ,td)))\n                      index-fprefixes index-layouts)))\n             (write-metadata path.metadata attribute-names attribute-types\n                             primary-info index-infos source-info))))\n\n(define (write-metadata path attribute-names attribute-types primary-info index-infos source-info)\n  (let/files () ((out.metadata path))\n    (pretty-write `((metadata-format-version . ,metadata-format-version.latest)\n                    (attribute-names         . ,attribute-names)\n                    (attribute-types         . ,attribute-types)\n                    (primary-table           . ,primary-info)\n                    (index-tables            . ,index-infos)\n                    (source-info             . ,source-info))\n                  out.metadata)))\n\n(define (update-metadata path info)\n  (define path.backup (string-append path \".backup\"))\n  (when (file-exists? path.backup)\n    (error \"backup path already exists:\" path.backup))\n  (rename-file-or-directory path path.backup)\n  (apply write-metadata path\n         (map (lambda (k) (hash-ref info k))\n              '(attribute-names attribute-types primary-table index-tables source-info)))\n  (delete-file path.backup))\n\n(define (metadata/2020-12-19.0 info)\n  (define source-info (make-immutable-hash (hash-ref info 'source-info)))\n  (define source-info.new\n    (foldl (lambda (k v source-info) (hash-set source-info k v))\n           (hash-remove source-info 'transform)\n           '(map/append map filter)\n           (list (hash-ref source-info 'map/append #f)\n                 (hash-ref source-info 'map        (hash-ref source-info 'transform #f))\n                 (hash-ref source-info 'filter     #f))))\n  (foldl (lambda (k v info) (hash-set info k v))\n         info\n         '(metadata-format-version source-info)\n         `(2021-03-18.0\n           ,(if (hash-has-key? source-info.new 'path)\n              (map (lambda (k) (cons k (hash-ref source-info.new k)))\n                   '(path format header stats map/append map filter))\n              (map (lambda (k) (cons k (hash-ref source-info.new k)))\n                   '(stream map/append map filter))))))\n\n(define (metadata/2021-03-18.0 info)\n  ;; TODO: define an appropriate transformtion once this is no longer the latest version\n  info)\n\n;; TODO: when new metadata formats are introduced, update the old handlers to\n;; have them transform an instance of the old format into an instance of the\n;; newest format.  This can be done by composing handlers.\n\n;; TODO: register new metadata-format-version handlers here\n(define metadata-format-version.latest '2021-03-18.0)\n(define metadata/format-version\n  (hash '2021-03-18.0 metadata/2021-03-18.0\n        '2020-12-19.0 metadata/2020-12-19.0))\n\n(define (read-metadata path)\n  (define info.0 (let/files ((in path)) () (read in)))\n  (when (eof-object? info.0) (error \"corrupt relation metadata:\" path))\n  (define info.1 (make-immutable-hash info.0))\n  (define info ((hash-ref metadata/format-version\n                          (hash-ref info.1 'metadata-format-version '2020-12-19.0))\n                info.1))\n  (define diff\n    (foldl (lambda (k diff)\n             (cond ((not (hash-has-key? info   k)) (cons `(,k old: ,(hash-ref info.1 k)) diff))\n                   ((not (hash-has-key? info.1 k)) (cons `(,k new: ,(hash-ref info   k)) diff))\n                   (else (define v.new (hash-ref info   k))\n                         (define v.old (hash-ref info.1 k))\n                         (if (equal? v.new v.old) diff\n                           (cons `(,k old: ,v.old new: ,v.new) diff)))))\n           '()\n           (set->list (set-union (list->set (hash-keys info))\n                                 (list->set (hash-keys info.1))))))\n  (define should-update?\n    (and (not (null? diff))\n         (policy-allow?\n           (current-config-ref 'update-policy)\n           (lambda ()\n             (printf \"Current ~s is written in an old format:\\n\" path)\n             (for-each pretty-write diff))\n           \"Update ~s to the latest format?\" (list path))))\n  (when should-update? (update-metadata path info))\n  info)\n\n(define (update-materialization! path.dir info tables.added tables.removed)\n  (define path.metadata        (path->string\n                                 (build-path path.dir metadata-file-name)))\n  (define path.metadata.backup (string-append path.metadata \".backup\"))\n  (define attribute-names      (hash-ref info 'attribute-names))\n  (define attribute-types      (hash-ref info 'attribute-types))\n  (define source-info          (hash-ref info 'source-info))\n  (define primary-info         (hash-ref info 'primary-table))\n  (define index-infos          (hash-ref info 'index-tables))\n  (define primary-key-name     (alist-ref primary-info 'key-name))\n  (define primary-column-names (alist-ref primary-info 'column-names))\n  (define source-fprefix\n    (path->string (build-path path.dir (alist-ref primary-info 'file-prefix))))\n  (define source-names (cons primary-key-name primary-column-names))\n  (define key-type (nat-type/max (alist-ref primary-info 'length)))\n  (define name=>type (make-immutable-hash\n                       (cons (cons primary-key-name key-type)\n                             (map cons attribute-names attribute-types))))\n  (define (name->type n) (hash-ref name=>type n))\n  (define cols=>info\n    (make-immutable-hash\n      (map (lambda (info.it) (cons (alist-ref info.it 'column-names) info.it))\n           (hash-ref info 'index-tables))))\n  (define index-infos.current\n    (hash-values (foldl (lambda (cols c=>i) (hash-remove c=>i cols))\n                        cols=>info tables.removed)))\n  (rename-file-or-directory path.metadata path.metadata.backup)\n  (for-each\n    (lambda (cols)\n      (define info    (hash-ref cols=>info cols))\n      (define fprefix (alist-ref info 'file-prefix))\n      (define fname.v\n        (path->string (build-path path.dir (value-table-file-name  fprefix))))\n      (define fname.o\n        (path->string (build-path path.dir (offset-table-file-name fprefix))))\n      (logf \"Deleting ~s\\n\" fname.v)\n      (delete-file fname.v)\n      (when (alist-ref info 'offset-file)\n        (logf \"Deleting ~s\\n\" fname.o)\n        (delete-file fname.o)))\n    tables.removed)\n  (define index-descriptions.added\n    (let loop ((colss tables.added) (i 0))\n      (if (null? colss) '()\n        (let ((fprefix (string-append \"index.\" (number->string i))))\n          (if (file-exists?\n                (build-path path.dir (value-table-file-name fprefix)))\n            (loop colss (+ i 1))\n            (cons `((file-prefix  . ,fprefix) (column-names . ,(car colss)))\n                  (loop (cdr colss) (+ i 1))))))))\n  (define index-infos.new\n    (materialize-index-tables! path.dir source-fprefix name->type\n                               source-names index-descriptions.added))\n  (write-metadata path.metadata attribute-names attribute-types\n                  primary-info (append index-infos.current index-infos.new)\n                  source-info)\n  (delete-file path.metadata.backup))\n\n(define (materialization/vector vector.in sort? dedup? info)\n  (define key-name        (hash-ref info 'key-name))\n  (define attribute-names (hash-ref info 'attribute-names))\n  (define attribute-types (hash-ref info 'attribute-types))\n  (define table-layouts   (hash-ref info 'table-layouts))\n  (define name=>type      (hash-set (make-immutable-hash\n                                      (map cons attribute-names attribute-types))\n                                    key-name 'nat))\n  (define (name->type n) (hash-ref name=>type n))\n  (define primary-column-names (car table-layouts))\n  (define primary-column-types (map name->type primary-column-names))\n  (define primary-source-names (cons key-name primary-column-names))\n  (when sort? (vector-table-sort! primary-column-types vector.in))\n  (define primary-v (if dedup? (vector-dedup vector.in) vector.in))\n  (define primary-t (table/vector key-name primary-column-names\n                                  primary-column-types primary-v))\n  (define index-ts\n    (let* ((ss.sources (generate-temporaries primary-source-names))\n           (name=>ss   (make-immutable-hash\n                         (map cons primary-source-names ss.sources)))\n           (name->ss   (lambda (n) (hash-ref name=>ss n))))\n      (map (lambda (column-names)\n             (define column-types (map name->type column-names))\n             (define ss.columns   (map name->ss   column-names))\n             (define index-src\n               (let ((transform\n                       (eval-syntax\n                         #`(lambda (#,(car ss.sources) row)\n                             (match-define (vector #,@(cdr ss.sources)) row)\n                             (vector #,@ss.columns))))\n                     (iv (make-vector (vector-length primary-v))))\n                 (for ((i   (in-range (vector-length primary-v)))\n                       (row (in-vector primary-v)))\n                   (vector-set! iv i (transform i row)))\n                 iv))\n             (vector-table-sort! column-types index-src)\n             (table/vector #f column-names column-types\n                           (vector-dedup index-src)))\n           (cdr table-layouts))))\n  (list info (table (cons primary-t index-ts))))\n\n(define (materialization/path relation-name retrieval-type path path.dir info)\n  (unless (directory-exists? path.dir)\n    (error \"materialized relation directory does not exist:\" path.dir))\n  (define attribute-names    (hash-ref info 'attribute-names))\n  (define attribute-types    (hash-ref info 'attribute-types))\n  (define primary-info-alist (hash-ref info 'primary-table))\n  (define primary-info       (make-immutable-hash primary-info-alist))\n  (define primary-t          (table/metadata retrieval-type path.dir primary-info-alist))\n  (define key-name           (hash-ref primary-info 'key-name))\n  (define index-ts\n    (map (lambda (info) (table/metadata retrieval-type path.dir info))\n         (hash-ref info 'index-tables '())))\n  (list (foldl (lambda (k v info) (hash-set info k v)) info\n               '(    relation-name key-name retrieval-type)\n               (list relation-name key-name retrieval-type))\n        (table (cons primary-t index-ts))))\n\n(define (materialization . pargs)\n  (define kwargs          (make-immutable-hash (plist->alist pargs)))\n  (define key-name        (hash-ref kwargs 'key-name #t))\n  (define attribute-names (hash-ref kwargs 'attribute-names))\n  (define attribute-types (hash-ref kwargs 'attribute-types\n                                    (map (lambda (n)\n                                           (if (equal? n key-name) 'nat #f))\n                                         attribute-names)))\n  (define table-layouts\n    (append (hash-ref kwargs 'tables `(,(remove key-name attribute-names)))\n            (map (lambda (cols) (append cols (list key-name)))\n                 (hash-ref kwargs 'indexes '()))))\n  (unless key-name (error \"key-name cannot be #f:\" pargs))\n  (unless (= (length (remove-duplicates attribute-names))\n             (length attribute-names))\n    (error \"duplicate attribute-names:\" attribute-names))\n  (unless (= (length attribute-names) (length attribute-types))\n    (error \"mismatching attribute names and types:\"\n           attribute-names attribute-types))\n  (when (null? table-layouts)\n    (error \"empty list of table layouts for:\" attribute-names))\n  (let ((primary-column-names (car table-layouts))\n        (key-type             (alist-ref (map cons attribute-names attribute-types)\n                                         key-name 'nat)))\n    (when (member key-name primary-column-names)\n      (error \"key-name should not be a primary table column:\"\n             key-name primary-column-names))\n    (unless (set=? (set-remove attribute-names key-name) primary-column-names)\n      (error \"primary columns must include all non-key attributes:\"\n             (set->list (set-remove (list->set attribute-names) key-name))\n             (set->list (list->set primary-column-names))))\n    (unless (valid-key-type? key-type)\n      (error \"invalid key type:\" key-type key-name)))\n  (define path           (hash-ref kwargs 'path #f))\n  (define path.dir       (and path (current-config-relation-path path)))\n  (define path.metadata  (and path.dir (path->string (build-path path.dir metadata-file-name))))\n  (define (get-metadata) (and path.metadata (directory-exists? path.dir) (read-metadata path.metadata)))\n  (define metadata       (get-metadata))\n  (define src:vector.0   (hash-ref kwargs 'source-vector    #f))\n  (define src:stream     (hash-ref kwargs 'source-stream    #f))\n  (define src:path.0     (hash-ref kwargs 'source-file-path #f))\n  (define src:path       (and src:path.0 (current-config-relation-path src:path.0)))\n  (when (< 1 (length (filter-not not (list src:vector.0 src:stream src:path.0))))\n    (error \"relation cannot specify multiple data sources:\" pargs))\n  (let ((map/append-code (hash-ref kwargs 'map/append #f))\n        (map-code        (hash-ref kwargs 'map        #f))\n        (filter-code     (hash-ref kwargs 'filter     #f)))\n    (when (and map/append-code (or map-code filter-code))\n      (error \"map/append should not be used with map or filter:\"\n             `((map/append ,(code->info map/append-code))\n               (map        ,(code->info map-code))\n               (filter     ,(code->info filter-code))))))\n  (define src:format (or (hash-ref kwargs 'source-file-format #f)\n                         (and src:path.0 (path->format src:path.0))))\n  (define src:header (let ((header (hash-ref kwargs 'source-file-header '())))\n                       (if (pair? header)\n                         (map (lambda (s) (if (symbol? s) (symbol->string s) s))\n                              header)\n                         header)))\n  (define src:vector\n    (or src:vector.0\n        (and (not metadata)\n             (not src:stream)\n             (not (and src:path (file-exists? src:path)))\n             (policy-allow?\n               (current-config-ref 'allow-missing-data-policy)\n               (lambda ()\n                 (printf \"Source (~s) and processed data are both missing for ~s:\\n\"\n                         src:path.0 path))\n               \"Allow ~s to be used as an empty relation for now?\" (list path))\n             (vector))))\n  (define kwargs.1 (foldl (lambda (k v kvs) (hash-set kvs k v)) kwargs\n                          '(    path     key-name attribute-types table-layouts)\n                          (list path.dir key-name attribute-types table-layouts)))\n  (cond (src:vector\n          ;; TODO: currently only supported for vector sources\n          (define sort?  (hash-ref kwargs 'sort?  (not src:vector)))\n          (define dedup? (hash-ref kwargs 'dedup? (not src:vector)))\n          (when (and (not sort?) dedup?)\n            (error \"Cannot deduplicate without sorting:\" kwargs))\n          (materialization/vector src:vector sort? dedup?\n                                  (hash-set kwargs.1 'missing-data?\n                                            (not (hash-ref kwargs.1 'source-vector #f)))))\n        (path                       (when (or src:path.0 src:stream)\n                                      (materialize-relation! path path.dir path.metadata metadata\n                                                             src:path src:format src:header kwargs.1))\n                                    (materialization/path (hash-ref kwargs 'relation-name)\n                                                          (hash-ref kwargs 'retrieval-type 'disk)\n                                                          path path.dir (hash-set (get-metadata) 'path path.dir)))\n        ((or src:path.0 src:stream) (materialization/stream src:path src:format src:header kwargs.1))\n        (else                       (error \"missing relation path or source:\" kwargs))))\n\n(struct value+syntax (value syntax) #:prefab)\n(define-syntax-rule (value/syntax e) (value+syntax e #'e))\n(define (code->info code)\n  (cond ((procedure?    code) #t)\n        ((value+syntax? code) (syntax->datum (value+syntax-syntax code)))\n        (else                 code)))\n(define (code->value code)\n  (cond ((value+syntax? code) (value+syntax-value code))\n        (else                 code)))\n\n(define (materialization/stream path.in format header kwargs)\n  (define key-name        (hash-ref kwargs 'key-name))\n  (define attribute-names (hash-ref kwargs 'attribute-names))\n  (define attribute-types (hash-ref kwargs 'attribute-types))\n  (define table-layouts   (hash-ref kwargs 'table-layouts))\n  (define stream.in       (hash-ref kwargs 'source-stream #f))\n  (define map/append-code (hash-ref kwargs 'map/append    #f))\n  (define map-code        (hash-ref kwargs 'map           #f))\n  (define filter-code     (hash-ref kwargs 'filter        #f))\n  (define map/append?     (code->value map/append-code))\n  (define map?            (code->value map-code))\n  (define filter?         (code->value filter-code))\n  (define (materialized-stream stream)\n    (list->vector (s-take #f (s-map list->vector\n                                    (if map/append?\n                                      (s-map/append map/append? stream)\n                                      (let ((s (if map? (s-map map? stream) stream)))\n                                        (if filter? (s-filter filter? s) s)))))))\n  (materialization/vector\n    (if path.in\n      (let/files ((in path.in)) ()\n        (define stream ((format->header/port->stream format) header in))\n        (materialized-stream stream))\n      (materialized-stream (code->value stream.in)))\n    #t #t kwargs))\n\n(define (materialize-relation! path path.dir path.metadata info path.in format header kwargs)\n  (define path            (hash-ref kwargs 'path))\n  (define key-name        (hash-ref kwargs 'key-name))\n  (define attribute-names (hash-ref kwargs 'attribute-names))\n  (define attribute-types (hash-ref kwargs 'attribute-types))\n  (define table-layouts   (hash-ref kwargs 'table-layouts))\n  (define fn.in           (hash-ref kwargs 'source-file-path #f))\n  (define stream.in       (hash-ref kwargs 'source-stream    #f))\n  (define map/append-code (hash-ref kwargs 'map/append       #f))\n  (define map-code        (hash-ref kwargs 'map              #f))\n  (define filter-code     (hash-ref kwargs 'filter           #f))\n  (define threshold       (current-config-ref 'progress-logging-threshold))\n  (define path.log        (build-path path.dir \"progress.log\"))\n  (define source-info\n    (cond (path.in   `((path       . ,fn.in)\n                       (format     . ,format)\n                       (header     . ,header)\n                       (stats      . ,(or (file-stats path.in)\n                                          (and info (alist-ref (hash-ref info 'source-info '())\n                                                               'stats #f))))\n                       (map/append . ,(code->info map/append-code))\n                       (map        . ,(code->info map-code))\n                       (filter     . ,(code->info filter-code))))\n          (stream.in `((stream     . ,(code->info stream.in))\n                       (map/append . ,(code->info map/append-code))\n                       (map        . ,(code->info map-code))\n                       (filter     . ,(code->info filter-code))))\n          (else (error \"materialize-relation! missing file or stream source:\"\n                       kwargs))))\n  (define map/append? (code->value map/append-code))\n  (define map?        (code->value map-code))\n  (define filter?     (code->value filter-code))\n  (define (materialize-stream source-info stream)\n    (let ((mat (materializer path.dir source-info\n                             attribute-names attribute-types key-name\n                             table-layouts)))\n      (define count 0)\n      (time (s-each (lambda (x)\n                      (when (= 0 (remainder count threshold))\n                        (logf \"ingested ~s rows\\n\" count))\n                      (mat 'put! x)\n                      (set! count (+ count 1)))\n                    (if map/append?\n                      (s-map/append map/append? stream)\n                      (let ((s (if map? (s-map map? stream) stream)))\n                        (if filter? (s-filter filter? s) s)))))\n      (logf \"Processing ~s rows\\n\" count)\n      (time (mat 'close))\n      (logf \"Finished processing ~s rows\\n\" count)))\n  (define (materialize-source)\n    (if path.in\n      (let/files ((in path.in)) ()\n        (logf/date \"Materializing relation ~s from ~s file ~s\\n\"\n                   path format fn.in)\n        (define stream ((format->header/port->stream format) header in))\n        (materialize-stream source-info stream))\n      (begin (logf/date \"Materializing relation ~s from stream\\n\" path)\n             (materialize-stream source-info (code->value stream.in)))))\n\n  (if info\n    (let* ((source-info.old     (hash-ref info 'source-info #f))\n           (attribute-names.old (hash-ref info 'attribute-names))\n           (attribute-types.old (hash-ref info 'attribute-types))\n           (primary-table.old   (hash-ref info 'primary-table))\n           (key-name.old        (alist-ref primary-table.old 'key-name))\n           (primary-columns.old (alist-ref primary-table.old 'column-names))\n           (primary-columns.new (car table-layouts)))\n      (unless (equal? attribute-names attribute-names.old)\n        (error \"new relation attributes are incompatible with old:\" path\n               'new: attribute-names 'old: attribute-names.old))\n      (define stale-fields.0\n        (map (lambda (desc)\n               (match-define (list key new old) desc)\n               `(,key new: ,new old: ,old))\n             (filter\n               (lambda (desc)\n                 (match-define (list _ new old) desc)\n                 (not (equal? new old)))\n               `((source-info     ,source-info     ,source-info.old)\n                 (attribute-types ,attribute-types ,attribute-types.old)\n                 (key-name        ,key-name        ,key-name.old)\n                 (primary-table   ,primary-columns.new\n                                  ,primary-columns.old)))))\n      (define update-policy  (current-config-ref 'update-policy))\n      (define cleanup-policy (current-config-ref 'cleanup-policy))\n      (define stale-fields\n        (if (and (equal? '(source-info) (map car stale-fields.0))\n                 (policy-allow?\n                   update-policy\n                   (lambda ()\n                     (printf \"Existing source-info for relation ~s is stale:\\n\" path)\n                     (for-each pretty-write stale-fields.0))\n                   \"Update ~s metadata with new source-info without rematerializing?\" (list path)))\n          (begin (printf \"Updating ~s\" path.metadata)\n                 (update-metadata path.metadata (hash-set info 'source-info source-info))\n                 (printf \"Update of ~s finished\" path.metadata)\n                 '())\n          stale-fields.0))\n      (define allow-update?\n        (or (null? stale-fields)\n            (policy-allow?\n              update-policy\n              (lambda ()\n                (printf \"Existing data for relation ~s is stale:\\n\" path)\n                (for-each pretty-write stale-fields))\n              \"Update ~s?\" (list path))))\n      (cond ((and (pair? stale-fields) allow-update?)\n             (printf \"Updating ~s\\n\" path)\n             (define path.backup (string-append path.dir \".backup\"))\n             (when (directory-exists? path.backup)\n               (error \"backup path already exists:\" path.backup))\n             (rename-file-or-directory path.dir path.backup)\n             (materialize-source)\n             (printf \"Rematerialization of ~s finished\\n\" path)\n             (when (directory-exists? path.backup)\n               (if (or (equal? cleanup-policy 'always)\n                       (and (equal? cleanup-policy 'interactive)\n                            (printf \"Delete backup directory ~s? [y/n]: \"\n                                    path.backup)\n                            (case (read)\n                              ((y Y yes Yes YES) #t)\n                              (else              #f))))\n                 (begin (printf \"Deleting ~s\\n\" path.backup)\n                        (delete-directory/files path.backup #:must-exist? #f))\n                 (printf \"Not deleting ~s\\n\" path.backup))))\n            ((not allow-update?)\n             (printf \"Due to stale data, will not rematerialize ~s\\n\" path))\n            (else\n              (define colss.current\n                (map (lambda (info.it) (alist-ref info.it 'column-names))\n                     (hash-ref info 'index-tables)))\n              (define colss.new (cdr table-layouts))\n              (define (cols-current? cols) (member cols colss.current))\n              (define (cols-new?     cols) (member cols colss.new))\n              (define added   (filter-not cols-current? colss.new))\n              (define removed (filter-not cols-new?     colss.current))\n              (define add?\n                (and (pair? added)\n                     (policy-allow?\n                       update-policy\n                       (lambda ()\n                         (printf \"New index tables included for relation ~s:\\n\"\n                                 path)\n                         (for-each pretty-write added))\n                       \"Add these new index tables to ~s?\"\n                       (list path))))\n              (define remove?\n                (and (pair? removed)\n                     (policy-allow?\n                       cleanup-policy\n                       (lambda ()\n                         (printf\n                           \"Index tables no longer included for relation ~s:\\n\"\n                           path)\n                         (for-each pretty-write removed))\n                       \"Remove these old index tables from ~s?\"\n                       (list path))))\n              (when (or add? remove?)\n                (update-materialization! path.dir info\n                                         (if add?    added   '())\n                                         (if remove? removed '()))))))\n    (materialize-source)))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/dbk.rkt",
    "content": "#lang racket/base\n(provide\n  (all-from-out\n    \"dbk/codec.rkt\" \"dbk/config.rkt\" \"dbk/dsv.rkt\" \"dbk/misc.rkt\" \"dbk/mk.rkt\"\n    \"dbk/order.rkt\" \"dbk/stream.rkt\" \"dbk/table.rkt\"))\n(require\n  \"dbk/codec.rkt\" \"dbk/config.rkt\" \"dbk/dsv.rkt\" \"dbk/misc.rkt\" \"dbk/mk.rkt\"\n  \"dbk/order.rkt\" \"dbk/stream.rkt\" \"dbk/table.rkt\")\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/.gitignore",
    "content": "/benchmark1\n/example-storage\n/small\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/benchmark-sorting/radix-sort.rkt",
    "content": "#lang racket/base\n(require racket/fixnum racket/match racket/vector racket/unsafe/ops)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Enumerators\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (vector->enumerator v (start 0) (end (vector-length v)))\n  (define len (min end (vector-length v)))\n  (unsafe-vector->enumerator v (min start len) len))\n\n(define ((unsafe-vector->enumerator v (start 0) (end (unsafe-vector*-length v))) k!)\n  (let loop ((i start))\n    (when (unsafe-fx< i end)\n      (k!   (unsafe-vector*-ref v i))\n      (loop (unsafe-fx+ i 1)))))\n\n(define ((enumerator-append e.0 e.1) k!)\n  (e.0 k!)\n  (e.1 k!))\n\n(define ((enumerator-msd-radix-sort en t->key key-byte-count) k!)\n  (define size.shift           8)\n  (define mask.shift         255)\n  (define count.parts        256)\n  (define count.buffer        32)\n  (define count.initial.parts  8)\n  (define growth-factor.parts  2)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (let enumerate ((shift (unsafe-fx* 8 (unsafe-fx- key-byte-count 1))) (en en))\n    (define parts     (make-vector count.parts))\n    (define pos.parts (make-vector count.parts 0))\n    (define buf       (make-vector count.parts))\n    (define pos       (make-vector count.parts 0))\n    (let loop ((i 0))\n      (when (unsafe-fx< i count.parts)\n        (unsafe-vector*-set! parts i (make-vector count.initial.parts))\n        (unsafe-vector*-set! buf   i (make-vector count.buffer))\n        (loop (unsafe-fx+ i 1))))\n    (en (lambda (t)\n          ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n          (let* ((key     (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n                 (buf.k   (unsafe-vector*-ref buf key))\n                 (pos.k   (unsafe-vector*-ref pos key))\n                 (pos.k+1 (unsafe-fx+ pos.k 1)))\n            (unsafe-vector*-set! buf.k pos.k t)\n            (if (unsafe-fx= pos.k+1 count.buffer)\n              (begin\n                (unsafe-vector*-set! pos key 0)\n                (unsafe-vector*-set! buf key (make-vector count.buffer))\n                (let* ((parts.k       (unsafe-vector*-ref parts     key))\n                       (pos.parts.k   (unsafe-vector*-ref pos.parts key))\n                       (pos.parts.k+1 (unsafe-fx+ pos.parts.k 1))\n                       (len.parts.k   (unsafe-vector*-length parts.k)))\n                  (unsafe-vector*-set! pos.parts key pos.parts.k+1)\n                  (if (unsafe-fx= pos.parts.k+1 len.parts.k)\n                    (let ((parts.k.new (make-vector (unsafe-fx* len.parts.k growth-factor.parts))))\n                      (unsafe-vector*-set!  parts key parts.k.new)\n                      (vector-copy! parts.k.new 0 parts.k)\n                      (unsafe-vector*-set!  parts.k.new pos.parts.k buf.k))\n                    (unsafe-vector*-set! parts.k pos.parts.k buf.k))))\n              (unsafe-vector*-set! pos key pos.k+1)))))\n    (let ((k!/en (if (unsafe-fx= shift 0)\n                   (lambda (en) (en k!))\n                   (lambda (en) (enumerate (unsafe-fx- shift size.shift) en)))))\n      (let loop ((i 0))\n        (when (unsafe-fx< i count.parts)\n          (let ((parts.i     (unsafe-vector*-ref parts     i))\n                (pos.parts.i (unsafe-vector*-ref pos.parts i))\n                (buf.i       (unsafe-vector*-ref buf       i))\n                (pos.i       (unsafe-vector*-ref pos       i)))\n            (unsafe-vector*-set! parts i #f)\n            (unsafe-vector*-set! buf   i #f)\n            (k!/en (lambda (k!)\n                     ((unsafe-vector->enumerator parts.i 0 pos.parts.i)\n                      (lambda (part) ((unsafe-vector->enumerator part 0 count.buffer) k!)))\n                     ((unsafe-vector->enumerator buf.i 0 pos.i) k!)))\n            (loop (unsafe-fx+ i 1))))))))\n\n(define (vector-radix-sort! v t->key key-byte-count (start 0) (end (vector-length v)))\n  (define len (min end (vector-length v)))\n  (unsafe-vector-radix-sort! v t->key key-byte-count (min start len) len))\n\n(define (unsafe-vector-radix-sort! v t->key key-byte-count (start 0) (end (unsafe-vector*-length v)))\n  (define size.shift               8)\n  (define mask.shift             255)\n  (define count.parts            256)\n  (define count.buffer           512)\n  (define count.initial.parts      8)\n  (define growth-factor.parts      2)\n  (define count.initial.buffers 1024)\n  (define growth-factor.buffers    2)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (define shift.final (unsafe-fx* 8 (unsafe-fx- key-byte-count 1)))\n  (define buffers     (make-vector count.initial.buffers))\n  (define pos.buffers 0)\n  (define (new-buffer)\n    (if (unsafe-fx= pos.buffers 0)\n      (make-vector count.buffer)\n      (begin (set! pos.buffers (unsafe-fx- pos.buffers 1))\n             (unsafe-vector*-ref buffers pos.buffers))))\n  (define (free-buffer b)\n    (vector-fill! b 0)\n    (when (unsafe-fx= pos.buffers (unsafe-vector*-length buffers))\n      (let ((buffers.new (make-vector (unsafe-fx* pos.buffers growth-factor.buffers))))\n        (vector-copy! buffers.new 0 buffers)\n        (set! buffers buffers.new)))\n    (unsafe-vector*-set! buffers pos.buffers b)\n    (set! pos.buffers (unsafe-fx+ pos.buffers 1)))\n  (let loop ((shift 0))\n    (define parts     (make-vector count.parts))\n    (define pos.parts (make-vector count.parts 0))\n    (define buf       (make-vector count.parts))\n    (define pos       (make-vector count.parts 0))\n    (let loop ((i 0))\n      (when (unsafe-fx< i count.parts)\n        (unsafe-vector*-set! parts i (make-vector count.initial.parts))\n        (unsafe-vector*-set! buf   i (new-buffer))\n        (loop (unsafe-fx+ i 1))))\n    (let loop ((i start))\n      (when (unsafe-fx< i end)\n        (let* ((t       (unsafe-vector*-ref v i))\n               ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n               (key     (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n               (buf.k   (unsafe-vector*-ref buf key))\n               (pos.k   (unsafe-vector*-ref pos key))\n               (pos.k+1 (unsafe-fx+ pos.k 1)))\n          (unsafe-vector*-set! buf.k pos.k t)\n          (if (unsafe-fx= pos.k+1 count.buffer)\n            (begin\n              (unsafe-vector*-set! pos key 0)\n              (unsafe-vector*-set! buf key (new-buffer))\n              (let* ((parts.k       (unsafe-vector*-ref parts     key))\n                     (pos.parts.k   (unsafe-vector*-ref pos.parts key))\n                     (pos.parts.k+1 (unsafe-fx+ pos.parts.k 1))\n                     (len.parts.k   (unsafe-vector*-length parts.k)))\n                (unsafe-vector*-set! pos.parts key pos.parts.k+1)\n                (if (unsafe-fx= pos.parts.k+1 len.parts.k)\n                  (let ((parts.k.new (make-vector (unsafe-fx* len.parts.k growth-factor.parts))))\n                    (unsafe-vector*-set!  parts key parts.k.new)\n                    (vector-copy! parts.k.new 0 parts.k)\n                    (unsafe-vector*-set!  parts.k.new pos.parts.k buf.k))\n                  (unsafe-vector*-set! parts.k pos.parts.k buf.k))))\n            (unsafe-vector*-set! pos key pos.k+1)))\n        (loop (unsafe-fx+ i 1))))\n    (let loop.all ((k 0) (j start))\n      (when (unsafe-fx< k count.parts)\n        (let ((parts.k     (unsafe-vector*-ref parts     k))\n              (pos.parts.k (unsafe-vector*-ref pos.parts k))\n              (buf.k       (unsafe-vector*-ref buf       k))\n              (pos.k       (unsafe-vector*-ref pos       k)))\n          (let loop ((i 0) (j j))\n            (if (unsafe-fx< i pos.parts.k)\n              (let ((part (unsafe-vector*-ref parts.k i)))\n                (let loop ((i 0))\n                  (when (unsafe-fx< i count.buffer)\n                    (unsafe-vector*-set! v (unsafe-fx+ j i) (unsafe-vector*-ref part i))\n                    (loop (unsafe-fx+ i 1))))\n                (free-buffer part)\n                (loop (unsafe-fx+ i 1) (unsafe-fx+ j count.buffer)))\n              (let loop ((i 0))\n                (if (unsafe-fx= i pos.k)\n                  (begin (free-buffer buf.k)\n                         (loop.all (unsafe-fx+ k 1) (unsafe-fx+ j pos.k)))\n                  (begin (unsafe-vector*-set! v (unsafe-fx+ j i) (unsafe-vector*-ref buf.k i))\n                         (loop (unsafe-fx+ i 1))))))))))\n    (when (unsafe-fx< shift shift.final)\n      (loop (unsafe-fx+ shift size.shift)))))\n\n(define (counting-radix-sort-helper v.src start.src end.src v.0 start.0 v.1 start.1 t->key key-byte-count)\n  (define size.shift    8)\n  (define mask.shift  255)\n  (define count.parts 256)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (define len         (unsafe-fx- end.src start.src))\n  (define shift.final (unsafe-fx* 8 (unsafe-fx- key-byte-count 1)))\n  (define offset      (make-vector count.parts))\n  (let loop.shift ((shift      0)\n                   (v.src      v.src) (start          start.src) (end          end.src)\n                   (v.tgt      v.0)   (start.tgt      start.0)   (end.tgt      (unsafe-fx+ start.0 len))\n                   (v.tgt.next v.1)   (start.tgt.next start.1)   (end.tgt.next (unsafe-fx+ start.1 len)))\n    (vector-fill! offset 0)\n    (let loop.count ((i start))\n      (when (unsafe-fx< i end)\n        ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n        (let ((key (unsafe-fxand mask.shift (fxrshift (t->key (unsafe-vector*-ref v.src i)) shift))))\n          (unsafe-vector*-set! offset key (unsafe-fx+ (unsafe-vector*-ref offset key) 1)))\n        (loop.count (unsafe-fx+ i 1))))\n    (let loop.offset ((k 0) (current start.tgt))\n      (when (unsafe-fx< k count.parts)\n        (let ((cardinality (unsafe-vector*-ref offset k)))\n          (unsafe-vector*-set! offset k current)\n          (loop.offset (unsafe-fx+ k 1) (unsafe-fx+ current cardinality)))))\n    (let loop.copy ((i start))\n      (when (unsafe-fx< i end)\n        ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n        (let* ((t     (unsafe-vector*-ref v.src i))\n               (key   (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n               (off.k (unsafe-vector*-ref offset key)))\n          (unsafe-vector*-set! offset key (unsafe-fx+ off.k 1))\n          (unsafe-vector*-set! v.tgt off.k t))\n        (loop.copy (unsafe-fx+ i 1))))\n    (when (unsafe-fx< shift shift.final)\n      (loop.shift (unsafe-fx+ shift size.shift)\n                  v.tgt      start.tgt      end.tgt\n                  v.tgt.next start.tgt.next end.tgt.next\n                  v.tgt      start.tgt      end.tgt))))\n\n(define (counting-radix-sort! v t->key key-byte-count (start 0) (end (vector-length v)))\n  (define len         (- end start))\n  (define v.workspace (make-vector len))\n  (counting-radix-sort-helper v start end v.workspace 0 v start t->key key-byte-count)\n  (when (odd? key-byte-count)\n    (vector-copy! v start v.workspace 0 len)))\n\n(define (counting-radix-sort v t->key key-byte-count (start 0) (end (vector-length v)))\n  (define len           (- end start))\n  (define v.workspace.0 (make-vector len))\n  (define v.workspace.1 (make-vector len))\n  (counting-radix-sort-helper v start end v.workspace.0 0 v.workspace.1 0 t->key key-byte-count)\n  (if (odd? key-byte-count)\n    v.workspace.0\n    v.workspace.1))\n\n(define ((enumerator-lsd-radix-sort en t->key key-byte-count) k!)\n  (define size.shift               8)\n  (define mask.shift             255)\n  (define count.parts            256)\n  (define count.buffer           512)\n  (define count.initial.parts      8)\n  (define growth-factor.parts      2)\n  (define count.initial.buffers 1024)\n  (define growth-factor.buffers    2)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (define shift.final (unsafe-fx* 8 (unsafe-fx- key-byte-count 1)))\n  (define buffers     (make-vector count.initial.buffers))\n  (define pos.buffers 0)\n  (define (new-buffer)\n    (if (unsafe-fx= pos.buffers 0)\n      (make-vector count.buffer)\n      (begin (set! pos.buffers (unsafe-fx- pos.buffers 1))\n             (unsafe-vector*-ref buffers pos.buffers))))\n  (define (free-buffer b)\n    (vector-fill! b 0)\n    (when (unsafe-fx= pos.buffers (unsafe-vector*-length buffers))\n      (let ((buffers.new (make-vector (unsafe-fx* pos.buffers growth-factor.buffers))))\n        (vector-copy! buffers.new 0 buffers)\n        (set! buffers buffers.new)))\n    (unsafe-vector*-set! buffers pos.buffers b)\n    (set! pos.buffers (unsafe-fx+ pos.buffers 1)))\n  (let enumerate ((shift 0) (en en))\n    (define parts     (make-vector count.parts))\n    (define pos.parts (make-vector count.parts 0))\n    (define buf       (make-vector count.parts))\n    (define pos       (make-vector count.parts 0))\n    (let loop ((i 0))\n      (when (unsafe-fx< i count.parts)\n        (unsafe-vector*-set! parts i (make-vector count.initial.parts))\n        (unsafe-vector*-set! buf   i (new-buffer))\n        (loop (unsafe-fx+ i 1))))\n    (en (lambda (t)\n          ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n          (let* ((key     (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n                 (buf.k   (unsafe-vector*-ref buf key))\n                 (pos.k   (unsafe-vector*-ref pos key))\n                 (pos.k+1 (unsafe-fx+ pos.k 1)))\n            (unsafe-vector*-set! buf.k pos.k t)\n            (if (unsafe-fx= pos.k+1 count.buffer)\n              (begin\n                (unsafe-vector*-set! pos key 0)\n                (unsafe-vector*-set! buf key (new-buffer))\n                (let* ((parts.k       (unsafe-vector*-ref parts     key))\n                       (pos.parts.k   (unsafe-vector*-ref pos.parts key))\n                       (pos.parts.k+1 (unsafe-fx+ pos.parts.k 1))\n                       (len.parts.k   (unsafe-vector*-length parts.k)))\n                  (unsafe-vector*-set! pos.parts key pos.parts.k+1)\n                  (if (unsafe-fx= pos.parts.k+1 len.parts.k)\n                    (let ((parts.k.new (make-vector (unsafe-fx* len.parts.k growth-factor.parts))))\n                      (unsafe-vector*-set!  parts key parts.k.new)\n                      (vector-copy! parts.k.new 0 parts.k)\n                      (unsafe-vector*-set!  parts.k.new pos.parts.k buf.k))\n                    (unsafe-vector*-set! parts.k pos.parts.k buf.k))))\n              (unsafe-vector*-set! pos key pos.k+1)))))\n    (define (en.new k!)\n      (let loop ((i 0))\n        (when (unsafe-fx< i count.parts)\n          (let ((parts.i     (unsafe-vector*-ref parts     i))\n                (pos.parts.i (unsafe-vector*-ref pos.parts i))\n                (buf.i       (unsafe-vector*-ref buf       i))\n                (pos.i       (unsafe-vector*-ref pos       i)))\n            (let loop ((i 0))\n              (if (unsafe-fx= i pos.parts.i)\n                (begin ((unsafe-vector->enumerator buf.i 0 pos.i) k!)\n                       (free-buffer buf.i))\n                (begin (let ((part (unsafe-vector*-ref parts.i i)))\n                         ((unsafe-vector->enumerator part 0 count.buffer) k!)\n                         (free-buffer part))\n                       (loop (unsafe-fx+ i 1))))))\n          (loop (unsafe-fx+ i 1)))))\n    (if (unsafe-fx= shift shift.final)\n      (en.new k!)\n      (enumerate (unsafe-fx+ shift size.shift) en.new))))\n\n(define (in-place-radix-sort! v t->key key-byte-count (start 0) (end (vector-length v)))\n  (define threshold 268435456)\n  ;(define threshold 67108864)\n  ;(define threshold 16777216)\n  ;(define threshold  65535)\n  ;(define threshold  8192)\n  ;(define threshold  4096)\n  ;(define threshold  1024)\n  ;(define threshold  256)\n  ;(define threshold  0)\n  (define size.shift    8)\n  (define mask.shift  255)\n  (define count.parts 256)\n  (unless (fixnum? key-byte-count) (error \"key-byte-count must be a fixnum\" key-byte-count))\n  (let loop.shift ((shift (unsafe-fx* 8 (unsafe-fx- key-byte-count 1))) (start start) (end end))\n    ;; TODO: we can use unsafe-fxrshift if t->key is guaranteed to produce a fixnum\n    (define (t->byte t) (unsafe-fxand mask.shift (fxrshift (t->key t) shift)))\n    (define count  (make-vector count.parts))\n    (define offset (make-vector count.parts))\n    (let loop.count ((i start))\n      (when (unsafe-fx< i end)\n        (let ((key (t->byte (unsafe-vector*-ref v i))))\n          (unsafe-vector*-set! count key (unsafe-fx+ (unsafe-vector*-ref count key) 1)))\n        (loop.count (unsafe-fx+ i 1))))\n    (let loop.offset ((k 0) (current start))\n      (when (unsafe-fx< k count.parts)\n        (let ((cardinality (unsafe-vector*-ref count k)))\n          (let loop.advance ((i current))\n            (if (and (unsafe-fx< i end) (unsafe-fx= (t->byte (unsafe-vector*-ref v i)) k))\n              (loop.advance (unsafe-fx+ i 1))\n              (let ((next (unsafe-fx+ current cardinality)))\n                (unsafe-vector*-set! offset k i)\n                (unsafe-vector*-set! count  k next)\n                (loop.offset (unsafe-fx+ k 1) next)))))))\n    (let loop.move.k ((k 0) (i.part.start start))\n      (when (unsafe-fx< k count.parts)\n        (let* ((i.start (unsafe-vector*-ref offset k))\n               (i.end   (unsafe-vector*-ref count k)))\n          (let loop.move ((i i.start))\n            (when (unsafe-fx< i i.end)\n              (let ((t (unsafe-vector*-ref v i)))\n                (let loop.swap ((t.current t)\n                                (key       (t->byte t)))\n                  (let* ((off.k (unsafe-vector*-ref offset key))\n                         (t.next (unsafe-vector*-ref v off.k)))\n                    (unsafe-vector*-set! v      off.k t.current)\n                    (unsafe-vector*-set! offset key   (unsafe-fx+ off.k 1))\n                    (let ((key (t->byte t.next)))\n                      (if (unsafe-fx= key k)\n                        (begin (unsafe-vector*-set! v i t.next)\n                               (loop.move (unsafe-fx+ i 1)))\n                        (loop.swap t.next key))))))))\n          (when (and (unsafe-fx< 0 shift) (unsafe-fx< i.part.start i.end))\n            (if (unsafe-fx<= (unsafe-fx- i.end i.part.start) threshold)\n              (counting-radix-sort! v t->key (/ shift 8) i.part.start i.end)\n              (loop.shift (unsafe-fx- shift size.shift) i.part.start i.end)))\n          (loop.move.k (unsafe-fx+ k 1) i.end))))))\n\n;; TODO: factor out enumerator-radix-partition ?\n;; simplify t->key interface to return exactly a byte, discard key-byte-count parameter\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Benchmark\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;#|\n(define key-byte-count 4)\n;(define count.node (arithmetic-shift 1 28))\n;(define count.node (arithmetic-shift 1 27))\n(define count.node (arithmetic-shift 1 25))\n;|#\n\n#|\n(define key-byte-count 3)\n;(define count.node (arithmetic-shift 1 24))\n(define count.node (arithmetic-shift 1 22))\n;|#\n\n#|\n(define key-byte-count 2)\n(define count.node (arithmetic-shift 1 16))\n;|#\n\n(define count.edge (* count.node 16))\n\n(displayln \"allocating nodes:\")\n(displayln count.node)\n(define nodes (time (make-vector count.node)))\n(displayln \"allocating edges:\")\n(displayln count.edge)\n\n;#|\n(define edges (time (make-vector count.edge)))\n(define en.edges (unsafe-vector->enumerator edges 0 count.edge))\n\n(displayln \"building edges\")\n(time (let loop ((i 0))\n        (when (< i count.edge)\n          (vector-set! edges i (random count.node))\n          ;(vector-set! edges i (cons (random count.node) (random count.node)))\n          (loop (+ i 1)))))\n;|#\n\n#|\n(define (en.edges k!)\n  (let loop ((i 0))\n    (when (< i count.edge)\n      (k! (random count.node))\n      ;(k! (cons (random count.node) (random count.node)))\n      (loop (+ i 1)))))\n;|#\n\n;(define edge->key car)\n(define (edge->key e) e)\n\n#|\n(displayln \"sorting edges\")\n(time (vector-sort!\n        edges\n        (lambda (e.0 e.1) (< (edge->key e.0) (edge->key e.1)))))\n;|#\n\n#|\n(displayln \"computing node degrees inlined\")\n(time (let loop ((i 0))\n        (when (unsafe-fx< i count.edge)\n          (let ((key (unsafe-vector*-ref edges i)))\n            (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1)))\n          (loop (unsafe-fx+ i 1)))))\n;|#\n\n#|\n(displayln \"computing node degrees\")\n(time (en.edges\n        (lambda (edge)\n         (define key (edge->key edge))\n         ;(vector-set! nodes key (+ (vector-ref nodes key) 1))\n         (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1))\n         )))\n;|#\n\n#|\n(displayln \"computing node degrees inlined after lsd-radix sorting edges in-place\")\n;(time (unsafe-vector-radix-sort! edges edge->key key-byte-count))\n;(time (counting-radix-sort! edges edge->key key-byte-count))\n(let ((v.workspace (time (make-vector count.edge))))\n  (time (collect-garbage))\n  (time (counting-radix-sort-helper edges 0 count.edge v.workspace 0 edges 0 edge->key key-byte-count))\n  (when (odd? key-byte-count)\n    (time (vector-copy! edges 0 v.workspace 0 count.edge))))\n\n(time (let loop ((i 0))\n        (when (unsafe-fx< i count.edge)\n          (let ((key (unsafe-vector*-ref edges i)))\n            (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1)))\n          (loop (unsafe-fx+ i 1)))))\n;|#\n\n#|\n(displayln \"computing node degrees inlined after in-place-msd-radix sorting edges\")\n(time (in-place-radix-sort! edges edge->key key-byte-count))\n(time (let loop ((i 0))\n        (when (unsafe-fx< i count.edge)\n          (let ((key (unsafe-vector*-ref edges i)))\n            (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1)))\n          (loop (unsafe-fx+ i 1)))))\n;|#\n\n#|\n(displayln \"computing node degrees while lsd-radix sorting edges\")\n(time ((enumerator-lsd-radix-sort en.edges edge->key key-byte-count)\n       (lambda (edge)\n         (define key (edge->key edge))\n         ;(vector-set! nodes key (+ (vector-ref nodes key) 1))\n         (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1))\n         )))\n;|#\n\n#|\n(displayln \"computing node degrees while msd-radix sorting edges\")\n(time ((enumerator-msd-radix-sort en.edges edge->key key-byte-count)\n       (lambda (edge)\n         (define key (edge->key edge))\n         ;(vector-set! nodes key (+ (vector-ref nodes key) 1))\n         (unsafe-vector*-set! nodes key (unsafe-fx+ (unsafe-vector*-ref nodes key) 1))\n         )))\n;|#\n\n;(displayln 'in-place-radix-sort!) (time (in-place-radix-sort! edges edge->key key-byte-count))\n(displayln 'counting-radix-sort!) (time (counting-radix-sort! edges edge->key key-byte-count))\n;(displayln 'unsafe-vector-radix-sort!) (time (unsafe-vector-radix-sort! edges edge->key key-byte-count))\n(time (let ((previous #f))\n        (en.edges\n          (lambda (edge)\n            (when (and previous (< (edge->key edge) previous))\n              (error \"not sorted!\" previous (edge->key edge)))\n            (set! previous (edge->key edge))))))\n\n#;(let ((previous #f))\n  ((enumerator-lsd-radix-sort en.edges edge->key key-byte-count)\n   (lambda (edge)\n     (when (and previous (< (edge->key edge) previous))\n       (error \"not sorted!\" previous (edge->key edge)))\n     (set! previous (edge->key edge)))))\n\n#;(let ((previous #f))\n  ((enumerator-msd-radix-sort en.edges edge->key key-byte-count)\n   (lambda (edge)\n     (when (and previous (< (edge->key edge) previous))\n       (error \"not sorted!\" previous (edge->key edge)))\n     (set! previous (edge->key edge)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/benchmark-sorting/string-sort.rkt",
    "content": "#lang racket/base\n(require racket/list racket/pretty racket/unsafe/ops racket/vector)\n\n;; TODO: pre-allocate a buffer for all the threshold merge sorts to share\n;; TODO: try MSD-radix-sort with a threshold for switching to q3sort! ?\n;; TODO: try burst/trie sort?\n\n;; multi-key (aka 3-way) quicksort\n(define (q3sort! max-depth? x&depth->cmp <? v start end)\n  ;(define threshold 4096)\n  ;(define threshold 1024)\n  (define threshold 128)\n  ;(define threshold 64)\n  (define (q3partition start end cmp k!)\n    (define (cmp/i i) (cmp (unsafe-vector*-ref v i)))\n    ;; TODO: are the initial forward/backward scans worth the extra complexity?\n    (let loop ((i.low start))\n      (if (and (unsafe-fx< i.low end) (unsafe-fx= (cmp/i i.low) -1))\n        (loop (unsafe-fx+ i.low 1))\n        (let loop ((i.high end))\n          ;; (< i.low i.high) is guaranteed since we always have a partitioning element\n          (let ((i.high.next (unsafe-fx- i.high 1)))\n            (if (unsafe-fx= (cmp/i i.high.next) 1)\n              (loop i.high.next)\n              (let loop ((i.low i.low) (i.mid i.low) (i.high i.high))\n                (if (unsafe-fx< i.mid i.high)\n                  (let ((x (unsafe-vector*-ref v i.mid)))\n                    (case (cmp x)\n                      ((-1) (let ((x.next (unsafe-vector*-ref v i.low)))\n                              (unsafe-vector*-set! v i.low x)\n                              (unsafe-vector*-set! v i.mid x.next)\n                              (loop (unsafe-fx+ i.low 1) (unsafe-fx+ i.mid 1) i.high)))\n                      (( 0) (loop i.low (unsafe-fx+ i.mid 1) i.high))\n                      (( 1) (let* ((i.high.next (unsafe-fx- i.high 1))\n                                   (x.next      (unsafe-vector*-ref v i.high.next)))\n                              (unsafe-vector*-set! v i.high.next x)\n                              (unsafe-vector*-set! v i.mid       x.next)\n                              (loop i.low i.mid i.high.next)))))\n                  (k! i.low i.mid)))))))))\n  (let loop.next-depth ((depth 0) (start start) (end end))\n    (let loop.skip-max ((i start) (start start))\n      (if (unsafe-fx< i end)\n        (let ((x (unsafe-vector*-ref v i)))\n          (cond ((max-depth? x depth) (unsafe-vector*-set! v i     (unsafe-vector*-ref v start))\n                                      (unsafe-vector*-set! v start x)\n                                      (loop.skip-max (unsafe-fx+ i 1) (unsafe-fx+ start 1)))\n                (else                 (loop.skip-max (unsafe-fx+ i 1)             start))))\n        (let loop.current-depth ((start start) (end end))\n          (if (unsafe-fx<= (unsafe-fx- end start) threshold)\n            (vector-sort! v <? start end)\n            (q3partition start end (x&depth->cmp (unsafe-vector*-ref v (random start end))\n                                                 depth)\n                         (lambda (i.low i.mid)\n                           (loop.current-depth                   start i.low)\n                           (loop.current-depth                   i.mid end)\n                           (loop.next-depth (unsafe-fx+ depth 1) i.low i.mid)))))))))\n\n(define (vector-bytes-sort! v (start 0) (end (vector-length v)))\n  (define (ref x d) (unsafe-bytes-ref x d))\n  (q3sort!\n    (lambda (x depth) (unsafe-fx<= (unsafe-bytes-length x) depth))\n    (lambda (x depth) (let ((n (bytes-ref x depth)))\n                        (lambda (y)\n                          (let ((m (bytes-ref y depth)))\n                            (cond ((unsafe-fx< m n) -1)\n                                  ((unsafe-fx= m n)  0)\n                                  (else              1))))))\n    bytes<?\n    v start end))\n\n(define (vector-string-sort! v (start 0) (end (vector-length v)))\n  (define (ref x d) (string-ref x d))\n  (q3sort!\n    (lambda (x depth) (unsafe-fx<= (unsafe-string-length x) depth))\n    (lambda (x depth) (let ((n (ref x depth)))\n                        (lambda (y)\n                          (let ((m (ref y depth)))\n                            (cond ((unsafe-char<? m n) -1)\n                                  ((unsafe-char=? m n)  0)\n                                  (else                 1))))))\n    string<?\n    v start end))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Benchmark\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (random-string)\n  (list->string (map (lambda (_) (integer->char (random 128))) (range (random 200)))))\n\n(define (string-sort-and-verify v)\n  (define v.expected (time (vector-sort v string<?)))\n  (time (vector-string-sort! v))\n  (unless (equal? v.expected v)\n    (pretty-write 'sort-failed)))\n\n(define (random-bytes)\n  (list->bytes (map (lambda (_) (random 128)) (range (random 300 500)))))\n\n(define (bytes-sort-and-verify v)\n  ;(define v.expected (time (vector-sort v bytes<?)))\n  (define v.expected (time (vector-copy v)))\n  (time (vector-sort! v.expected bytes<?))\n\n  (time (vector-bytes-sort! v))\n  (unless (equal? v.expected v)\n    (pretty-write 'sort-failed)))\n\n;(define test-size 80000000)\n;(define test-size 20000000)\n(define test-size 5000000)\n;(define test-size 500000)\n\n;(string-sort-and-verify (time (list->vector (map (lambda (_) (random-string)) (range test-size)))))\n(bytes-sort-and-verify (time (list->vector (map (lambda (_) (random-bytes)) (range test-size)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/benchmark1.rkt",
    "content": "#lang racket/base\n(require \"../dbk.rkt\" racket/function racket/list racket/pretty)\n(print-as-expression #f)\n(pretty-print-abbreviate-read-macros #f)\n\n(define-syntax-rule (test name e expected)\n  (begin (printf \"Testing ~s:\\n\" name)\n         (pretty-print 'e)\n         (let ((answer (time e)))\n           (unless (equal? answer expected)\n             (printf \"FAILED ~s:\\n\" name)\n             (printf \"  ANSWER:\\n\")\n             (pretty-print answer)\n             (printf \"  EXPECTED:\\n\")\n             (pretty-print expected)))))\n\n(for-each (lambda (key) (current-config-set! key 'always))\n          '(update-policy cleanup-policy migrate-policy))\n\n\n;; Benchmark reference: http://users.informatik.uni-halle.de/~brass/botup/\n\n(define-relation/table Q\n  'path            \"benchmark1/Q\"\n  'source-stream   (value/syntax\n                     (map (lambda (i) (list i (+ i 1))) (range 1 5001)))\n  'attribute-names '(a b)\n  'attribute-types '(nat nat)\n  ;; optionally preload into memory\n  'retrieval-type  'scm\n  )\n\n(define-relation/table R\n  'path            \"benchmark1/R\"\n  'source-stream   (value/syntax\n                     (map (lambda (i) (list i    i))    (range 1 5001)))\n  'attribute-names '(a b)\n  'attribute-types '(nat nat)\n  ;; optionally preload into memory\n  'retrieval-type  'scm\n  )\n\n(define-relation (P3.1 b y) (fresh (x) (P2.1 b x) (Q x y)))\n(define-relation (P2.1 c w) (fresh (v) (P1.1 c v) (Q v w)))\n(define-relation (P1.1 d u) (fresh (t) (P0.1 d t) (Q t u)))\n(define-relation (P0.1 e s) (R e s))\n\n;; disk: ~8000ms\n;; scm:  ~1400ms\n(test 'benchmark-1\n  (length (run* (a z) (P3.1 a z)))\n  ;; smallest: (1    4)\n  ;; largest:  (4998 5001)\n  4998)\n\n(define-relation (P3.2 x z) (fresh (y) (Q x y) (P2.2 y z)))\n(define-relation (P2.2 x z) (fresh (y) (Q x y) (P1.2 y z)))\n(define-relation (P1.2 x z) (fresh (y) (Q x y) (P0.2 y z)))\n(define-relation (P0.2 x y) (R x y))\n\n;; disk: ~8000ms\n;; scm:  ~1400ms\n(test 'benchmark-2\n  (length (run* (x z) (P3.2 x z)))\n  ;; smallest: (1    4)\n  ;; largest:  (4997 5000)\n  4997)\n\n\n;; TODO: improve performance\n\n;(define-relation/table Q.large\n;  'path            \"benchmark1/Q.large\"\n;  'source-stream   (value/syntax\n;                     (map (lambda (i) (list i (+ i 1))) (range 1 1000001)))\n;  'attribute-names '(a b)\n;  'attribute-types '(nat nat)\n;  ;; optionally preload into memory\n;  'retrieval-type  'scm\n;  )\n;\n;(define-relation/table R.large\n;  'path            \"benchmark1/R.large\"\n;  'source-stream   (value/syntax\n;                     (map (lambda (i) (list i    i))    (range 1 1000001)))\n;  'attribute-names '(a b)\n;  'attribute-types '(nat nat)\n;  ;; optionally preload into memory\n;  'retrieval-type  'scm\n;  )\n;\n;(define-relation (P3.2.large x z) (fresh (y) (Q.large x y) (P2.2.large y z)))\n;(define-relation (P2.2.large x z) (fresh (y) (Q.large x y) (P1.2.large y z)))\n;(define-relation (P1.2.large x z) (fresh (y) (Q.large x y) (P0.2.large y z)))\n;(define-relation (P0.2.large x y) (R.large x y))\n;\n;;; disk: ?\n;;; scm:  ?\n;(test 'benchmark-2-large\n;  (length (run* (x z) (P3.2.large x z)))\n;  '?)\n\n\n;; TODO: improve performance\n\n;(define-relation/table S\n;  'path            \"benchmark1/S\"\n;  'source-stream   (value/syntax (map list (range 1 50001)))\n;  'attribute-names '(a)\n;  'attribute-types '(nat)\n;  ;; optionally preload into memory\n;  'retrieval-type  'scm\n;  )\n\n;(define-relation (P1.3 a)             (S a))\n;(define-relation (P2.3 a b)           (P1.3 a)           (membero b '(1 2)))\n;(define-relation (P3.3 a b c)         (P2.3 a b)         (membero c '(1 2)))\n;(define-relation (P4.3 a b c d)       (P3.3 a b c)       (membero d '(1 2)))\n;(define-relation (P5.3 a b c d e)     (P4.3 a b c d)     (membero e '(1 2)))\n;(define-relation (P6.3 a b c d e f)   (P5.3 a b c d e)   (membero f '(1 2)))\n;(define-relation (P7.3 a b c d e f g) (P6.3 a b c d e f) (membero g '(1 2)))\n\n;;; disk: ?\n;;; scm:  ?\n;(test 'benchmark-3\n;  (length (run* (a b c d e f g) (P7.3 a b c d e f g)))\n;  (* 50000 (expt 2 6)))\n\n\n;; TODO: fixed-point computations\n\n;(define-relation/table edge\n;  'path            \"benchmark1/edge\"\n;  'source-stream   (value/syntax\n;                     (map (lambda (i) (list i (+ i 1))) (range 1 1001)))\n;  'attribute-names '(a b)\n;  'attribute-types '(nat nat)\n;  ;; optionally preload into memory\n;  'retrieval-type  'scm\n;  )\n;\n;(define-relation (path x z)\n;  (conde ((edge x z))\n;         ((fresh (y) (edge x y) (path y z)))))\n;\n;;; disk: ?\n;;; scm:  ?\n;(test 'benchmark-fixed-point\n;  (length (run* (a b) (path a b)))\n;  (/ (* 1000 (+ 1000 1)) 2))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/chinook/.gitignore",
    "content": "/Chinook_Sqlite.sql\n/Album.tsv\n/Artist.tsv\n/Customer.tsv\n/Employee.tsv\n/Genre.tsv\n/Invoice.tsv\n/InvoiceLine.tsv\n/MediaType.tsv\n/Playlist.tsv\n/PlaylistTrack.tsv\n/Track.tsv\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/chinook/README.md",
    "content": "# Chinook database testing\n\nDownload or create Chinook_Sqlite.sql.  For instructions, go here: https://github.com/lerocha/chinook-database\n\nRun `build.sh` to generate TSV files for import.\n\n## TODO\n\nBuild a database using the generated TSV files.\n\nRun test queries using the database.\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/chinook/build.sh",
    "content": "#!/bin/bash\nset -eufo pipefail\n\n# To download or create Chinook_Sqlite.sql, see: https://github.com/lerocha/chinook-database\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\ncd \"$here\"\n\ndos2unix Chinook_Sqlite.sql\nsqlite3 -init Chinook_Sqlite.sql chinook.sqlite < /dev/null\n\nfor table in Customer Employee Invoice InvoiceLine Genre Album Artist Playlist PlaylistTrack Track MediaType; do\n  printf \".mode tabs\\n.headers on\\n.output $table.tsv\\nselect * from $table;\" | sqlite3 chinook.sqlite\ndone\n\nrm chinook.sqlite\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/basic-naive.rkt",
    "content": "#lang racket/base\n(provide\n  facts\n  ==\n  fresh\n  conde\n  run*\n  define-relation)\n(require racket/list racket/match racket/set racket/struct)\n\n;; A naive Datalog implementation that can be used as a baseline\n\n;; Terms:\n;; - Constants and variables\n;; Formulas:\n;; - Existential quantification, conjunction, disjunction\n;;   - via fresh and conde\n;;   - Negation is not supported in this basic implementation\n;; - Relation calls\n;; - Equality constraints\n;; - run*\n;; Relations:\n;; - via define-relation and define-relation/facts (for convenience)\n\n;; Variables should not be nested within data structures, but this is not checked.\n;; All relations should be range restricted for safety, but this is not checked.\n\n(struct var (name) #:prefab)\n\n(define subst.empty (hash))\n(define (unpack subst names)\n  (map (lambda (n) (hash-ref subst n (lambda () (error \"unbound variable\" n)))) names))\n(define (shadow subst names)\n  (foldl (lambda (n s) (hash-remove s n)) subst names))\n(define (assign subst x t)\n  (and (not (occurs? subst x t))\n       (hash-set subst (var-name x) t)))\n(define (walk subst x)\n  (let loop ((x x))\n    (if (var? x)\n      (let ((y (hash-ref subst (var-name x) x)))\n        (if (equal? x y)\n          x\n          (loop y)))\n      x)))\n(define (occurs? subst x t)\n  (let ((x (walk subst x)) (t (walk subst t)))\n    (or (equal? x t)\n        (and (pair? t)\n             (or (occurs? subst x (car t))\n                 (occurs? subst x (cdr t))))\n        (and (vector? t)\n             (occurs? subst x (vector->list t))))))\n(define (unify subst u v)\n  (let ((u (walk subst u)) (v (walk subst v)))\n    (cond ((eqv? u v)  subst)\n          ((var? u)    (if (and (var? v) (equal? (var-name u) (var-name v)))\n                         subst\n                         (assign subst u v)))\n          ((var? v)    (assign subst v u))\n          ((pair? u)   (and (pair? v)\n                            (let ((subst (unify subst (car u) (car v))))\n                              (and subst\n                                   (unify subst (cdr u) (cdr v))))))\n          ((vector? u) (and (vector? v)\n                            (unify subst (vector->list u) (vector->list v))))\n          (else        (and (equal? u v) subst)))))\n\n(struct relation (name attrs box.current qthunk)\n        #:methods gen:custom-write\n        ((define write-proc (make-constructor-style-printer\n                              (lambda (r) 'relation)\n                              (lambda (r) (list (cons (relation-name r) (relation-attrs r)))))))\n        #:property prop:procedure\n        (lambda (r . args)\n          (unless (= (length (relation-attrs r)) (length args))\n            (error \"relation called with invalid number of arguments\" r args))\n          `(relate ,r ,args)))\n\n(define (relation-current r) (unbox (relation-box.current r)))\n(define (relation-next    r) (query-eval (relation-query  r)))\n(define (relation-query   r) ((relation-qthunk            r)))\n\n(define (query-dependencies q)\n  (let loop ((fm q) (rs (set)))\n    (match fm\n      (`(and   . ,fms) (foldl loop rs fms))\n      (`(or    . ,fms) (foldl loop rs fms))\n      (`(relate ,r ,_) (if (set-member? rs r)\n                         rs\n                         (loop (relation-query r) (set-add rs r))))\n      (`(exist ,_ ,fm) (loop fm rs))\n      (`(query ,_ ,fm) (loop fm rs))\n      (`(==    ,_ ,_)  rs))))\n\n(define (query-eval q)\n  (match q\n    (`(query ,var-names ,fm)\n      (list->set\n        (map (lambda (subst) (unpack subst var-names))\n             (let loop ((fm fm) (subst subst.empty))\n               (match fm\n                 (`(and ,fm . ,fms)  (let ((substs (loop fm subst)))\n                                       (append* (map (lambda (subst) (loop `(and . ,fms) subst))\n                                                     substs))))\n                 ('(and)             (list subst))\n                 (`(or      . ,fms)  (append* (map (lambda (fm) (loop fm subst)) fms)))\n                 (`(relate ,r ,args) (filter-not not (set-map (relation-current r)\n                                                              (lambda (tuple) (unify subst args tuple)))))\n                 (`(exist ,ns ,fm)   (map (lambda (subst) (shadow subst ns))\n                                          (loop fm (shadow subst ns))))\n                 (`(==    ,u ,v)     (let ((subst (unify subst u v)))\n                                       (if subst\n                                         (list subst)\n                                         '()))))))))))\n\n(define (query-run q)\n  (let ((r.deps (set->list (query-dependencies q))))\n    (for-each (lambda (r) (set-box! (relation-box.current r) (set))) r.deps)\n    (let loop ()\n      (when (foldl (lambda (r changed?)\n                     (let ((current (relation-current r))\n                           (next    (relation-next    r)))\n                       (if (= (set-count current) (set-count next))\n                         changed?\n                         (begin (set-box! (relation-box.current r) next)\n                                #t))))\n                   #f r.deps)\n        (loop)))\n    (query-eval q)))\n\n;;;;;;;;;;;;;;\n;;; Syntax ;;;\n;;;;;;;;;;;;;;\n\n(define (facts vars tuples)\n  `(or . ,(map (lambda (tuple) `(== ,vars ,tuple)) tuples)))\n\n(define (== u v) `(== ,u ,v))\n\n(define-syntax-rule\n  (conde (fm00 fm0* ...) (fm0 fm* ...) ...)\n  `(or (and ,fm00 ,fm0* ...) (and ,fm0 ,fm* ...) ...))\n(define-syntax-rule\n  (quantify type (x ...) fm0 fm ...)\n  (let ((x (var 'x)) ...)\n    `(type (x ...) (and ,fm0 ,fm ...))))\n(define-syntax-rule\n  (fresh          (x ...) fm0 fm ...)\n  (quantify exist (x ...) fm0 fm ...))\n(define-syntax-rule\n  (query          (x ...) fm0 fm ...)\n  (quantify query (x ...) fm0 fm ...))\n(define-syntax run*\n  (syntax-rules ()\n    ((_ (x ...) fm0 fm ...) (set->list (query-run (query (x ...) fm0 fm ...))))\n    ((_ x       fm0 fm ...) (map car (run* (x) fm0 fm ...)))))\n(define-syntax-rule\n  (define-relation (name attr ...) fm0 fm ...)\n  (define name (relation 'name '(attr ...) (box #f)\n                         (lambda () (query (attr ...) fm0 fm ...)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/compile.rkt",
    "content": "#lang racket/base\n(provide\n  current-primitive-relations\n  primitive-relations.base\n  parse-rule)\n(require racket/match racket/set)\n\n(define (relation-name            R) (cadr R))\n(define (relation-original?       R) (eq? (car R) 'orig))\n(define (relation-original     name) (list 'orig name))\n\n(define (relation-generated?      R) (eq? (car R) 'new))\n(define (relation-generated    name) (list 'new  name))\n\n(define (relation-primitive?      R) (eq? (car R) 'prim))\n(define (relation-primitive    name) (list 'prim name))\n\n(define (relation-negation?       R) (eq? (car R) 'not))\n(define (relation-negation R.target) (list 'not  R.target))\n(define (relation-negation-target R) (cadr R))\n\n(define (atom        R args) (cons R args))\n(define (atom-relation atom) (car atom))\n(define (atom-args     atom) (cdr atom))\n\n(define (var?           t) (eq? (car t) 'var))\n(define (var         name) (list 'var   name))\n(define (var-name       x) (cadr x))\n\n(define (constant?      t) (eq? (car t) 'quote))\n(define (constant   value) (list 'quote value))\n(define (constant-value c) (eq? (car c) 'quote))\n\n(define (rule head body) (cons head body))\n(define (rule-head    r) (car r))\n(define (rule-body    r) (cdr r))\n\n(define prim.==            (relation-primitive '==))\n(define prim.=/=           (relation-negation  prim.==))\n(define prim.<             (relation-primitive '<))\n(define prim.<=            (relation-primitive '<=))\n(define prim.type==        (relation-primitive 'type==))\n(define prim.cons==        (relation-primitive 'cons==))\n(define prim.+==           (relation-primitive '+==))\n(define prim.*==           (relation-primitive '*==))\n(define prim.symbol-string (relation-primitive 'symbol-string))\n(define prim.string-bytes  (relation-primitive 'string-bytes))\n(define prim.bytes-list    (relation-primitive 'bytes-list))\n(define prim.vector-list   (relation-primitive 'vector-list))\n\n(define (==            t0 t1)          (atom prim.==            (list t0 t1)))\n(define (=/=           t0 t1)          (atom prim.=/=           (list t0 t1)))\n(define (type==        t     t.result) (atom prim.type==        (list t     t.result)))\n(define (cons==        t0 t1 t.result) (atom prim.cons==        (list t0 t1 t.result)))\n(define (+==           t0 t1 t.result) (atom prim.+==           (list t0 t1 t.result)))\n(define (*==           t0 t1 t.result) (atom prim.*==           (list t0 t1 t.result)))\n(define (symbol-string t0 t1)          (atom prim.symbol-string (list t0 t1)))\n(define (string-bytes  t0 t1)          (atom prim.string-bytes  (list t0 t1)))\n(define (bytes-list    t0 t1)          (atom prim.bytes-list    (list t0 t1)))\n(define (vector-list   t0 t1)          (atom prim.vector-list   (list t0 t1)))\n\n(define primitive-relations.base\n  (hash '==           ==\n        '=/=          =/=\n        '<            (lambda (t0 t1) (atom prim.<  (list t0 t1)))\n        '<=           (lambda (t0 t1) (atom prim.<= (list t0 t1)))\n        '>            (lambda (t0 t1) (atom prim.<  (list t1 t0)))\n        '>=           (lambda (t0 t1) (atom prim.<= (list t1 t0)))))\n\n(define current-primitive-relations (make-parameter (hash)))\n\n(define (parse-fact         e) (atom (relation-original (car e)) (cdr e)))\n(define (parse-atom         e) (atom (relation-original (car e)) (map parse-term (cdr e))))\n(define (parse-negated-atom e) (let ((a (parse-atom e)))\n                                 (atom (relation-negation (atom-relation a)) (atom-args a))))\n\n(define (parse-term e)\n  (define (build-cons a d) (let ((result (fresh-var)))\n                             (implicit-atom! (cons== a d result))\n                             result))\n  (define (build-list ts)  (foldr build-cons (constant '()) ts))\n  (define (build-l2r R e)  (let ((result (fresh-var)))\n                             (implicit-atom! (R (parse-term e) result))\n                             result))\n  (define (build-r2l R e)  (let ((result (fresh-var)))\n                             (implicit-atom! (R result (parse-term e)))\n                             result))\n  (match e\n    ('_                         (fresh-var))\n    ((? symbol?)                (var e))\n    ((list 'quote      c)       (constant c))\n    ((list 'quasiquote qq)      (let parse-qq ((qq qq) (level 0))\n                                  (match qq\n                                    ((list 'unquote          e) (if (= level 0)\n                                                                  (parse-term e)\n                                                                  (build-list (constant 'unquote)\n                                                                              (parse-qq e (- level 1)))))\n                                    ((list 'quasiquote      qq) (build-list (constant 'quasiquote)\n                                                                            (parse-qq qq (+ level 1))))\n                                    ((cons 'quasiquote       _) (error \"improper quasiquote\"               qq e))\n                                    ((cons 'unquote          _) (error \"improper unquote\"                  qq e))\n                                    ((cons 'unquote-splicing _) (error \"unquote-splicing is not supported\" qq e))\n                                    ((cons qq.a qq.d)           (build-cons (parse-qq qq.a level)\n                                                                            (parse-qq qq.d level)))\n                                    ((? vector?)                (error \"quasiquoted vectors are not supported\" qq))\n                                    (_                          (constant qq)))))\n    ((cons 'quote            _) (error \"improper quote\"             e))\n    ((cons 'quasiquote       _) (error \"improper quasiquote\"        e))\n    ((cons 'unquote          _) (error \"misplaced unquote\"          e))\n    ((cons 'unquote-splicing _) (error \"misplaced unquote-splicing\" e))\n    (`(type ,e)                 (let ((result (fresh-var)))\n                                  (implicit-atom! (type== (parse-term e) result))\n                                  result))\n    (`(cons ,e.a ,e.d)          (build-cons (parse-term e.a) (parse-term e.d)))\n    (`(list ,@e*)               (build-list (map parse-term e*)))\n    (`(+ ,e.a ,e.b)             (let ((result (fresh-var)))\n                                  (implicit-atom! (+== (parse-term e.a) (parse-term e.b) result))\n                                  result))\n    (`(- ,e.a ,e.b)             (let ((result (fresh-var)))\n                                  (implicit-atom! (+== result (parse-term e.b) (parse-term e.a)))\n                                  result))\n    (`(* ,e.a ,e.b)             (let ((result (fresh-var)))\n                                  (implicit-atom! (*== (parse-term e.a) (parse-term e.b) result))\n                                  result))\n    (`(/ ,e.a ,e.b)             (let ((result (fresh-var))\n                                      (b      (parse-term e.b)))\n                                  (implicit-atom! (=/= (constant 0) b))\n                                  (implicit-atom! (*== result b (parse-term e.a)))\n                                  result))\n    (`(symbol->string ,e)       (build-l2r symbol-string e))\n    (`(string->symbol ,e)       (build-r2l symbol-string e))\n    (`(string->bytes  ,e)       (build-l2r string-bytes  e))\n    (`(bytes->string  ,e)       (build-r2l string-bytes  e))\n    (`(bytes->list    ,e)       (build-l2r bytes-list    e))\n    (`(list->bytes    ,e)       (build-r2l bytes-list    e))\n    (`(vector->list   ,e)       (build-l2r vector-list   e))\n    (`(list->vector   ,e)       (build-r2l vector-list   e))\n    ((cons _ _)                 (error \"unsupported function call\" e))\n    ((? vector?)                (error \"invalid term\" e))\n    (_                          (constant e))))\n\n(define (parse-rule e)\n  (parameterize ((current-fresh-variable 0)\n                 (current-implicit-atoms '()))\n    (let ((head (parse-atom (car e)))\n          (body (let loop ((e* (cdr e)))\n                  (match e*\n                    ('()            '())\n                    ((cons 'not e*) (map parse-negated-atom e*))\n                    ((cons e    e*) (cons (parse-atom e) (loop e*)))))))\n      (rule head (append body (current-implicit-atoms))))))\n\n(define current-fresh-relation (make-parameter #f))\n(define current-fresh-variable (make-parameter #f))\n(define current-implicit-atoms (make-parameter #f))\n\n(define (fresh-relation)\n  (let ((name.next (current-fresh-relation)))\n    (current-fresh-relation (+ name.next 1))\n    (relation-generated name.next)))\n\n(define (fresh-var)\n  (let ((name.next (current-fresh-variable)))\n    (current-fresh-variable (+ name.next 1))\n    (var name.next)))\n\n(define (implicit-atom! atom)\n  (let ((implicit-atoms (current-implicit-atoms)))\n    (unless implicit-atoms (error \"implicit-atom! called outside of a parsing context\"))\n    (current-implicit-atoms (cons atom implicit-atoms))))\n\n(define (rule-connected-components r)\n  (define (atom-vars a) (list->set (map var-name (filter var? (atom-args a)))))\n  (define (split-reachable a* vars.initial)\n    (let retry ((a* a*) (a*.reached '()) (vars.initial vars.initial))\n      (let loop ((a* a*) (a*.reached a*.reached) (a*.missed '()) (vars vars.initial))\n        (match a*\n          ('()         (if (equal? vars vars.initial)\n                         (values a*.reached a*.missed)\n                         (retry a*.missed a*.reached vars)))\n          ((cons a a*) (let ((vars.a (atom-vars a)))\n                         (if (set-empty? (set-intersect vars vars.a))\n                           (loop a* a*.reached (cons a a*.missed) vars)\n                           (loop a* (cons a a*.reached) a*.missed (set-union vars vars.a)))))))))\n  (let-values (((a*.reached a*.missed) (split-reachable (rule-body r) (atom-vars (rule-head r)))))\n    (if (null? a*.missed)\n      (list r)\n      (let ((a.factored (atom (fresh-relation) '())))\n        (cons (rule (rule-head r) (cons a.factored a*.reached))\n              (let retry ((a.head a.factored) (a* a*.missed))\n                (let ((a0 (car a*)))\n                  (let-values (((a*.reached a*.missed) (split-reachable (cdr a*) (atom-vars a0))))\n                    (if (null? a*.missed)\n                      (list (rule a.head (cons a0 a*.reached)))\n                      (let ((a.factored (atom (fresh-relation) '())))\n                        (cons (rule a.head (cons a.factored (cons a0 a*.reached)))\n                              (retry a.factored a*.missed))))))))))))\n\n(define (group x->key x->value xs)\n  (foldl (lambda (x k=>v*) (hash-update k=>v* (x->key x) (lambda (v*) (cons (x->value x) v*)) '()))\n         (hash) xs))\n\n(define (stratify rules)\n  (define (search r->r* r* seen)\n    (let loop ((r* r*) (seen seen) (finished '()))\n      (match r*\n        ('()         (values seen finished))\n        ((cons r r*) (if (set-member? seen r)\n                       (loop r* seen finished)\n                       (let-values (((seen finished) (loop (r->r* r) (set-add seen r) finished)))\n                         (loop r* seen (cons r finished))))))))\n  (define (atom-positive-relation     a) (let ((R (atom-relation a)))\n                                           (if (relation-negation? R) (relation-negation-target R) R)))\n  (define (rule-relation              r) (atom-relation (rule-head r)))\n  (define (rule-relation-dependencies r) (set->list (list->set (map atom-positive-relation (rule-body r)))))\n  (let ((R=>rule*       (group rule-relation (lambda (r) r) rules))\n        (R=>dependents* (foldl (lambda (r R=>d*)\n                                 (foldl (lambda (R R=>d*) (hash-update R=>d* R (lambda (d*) (cons r d*)) '()))\n                                        R=>d* (rule-relation-dependencies r)))\n                               (hash) rules)))\n    (define (rule-rule-dependents   r) (hash-ref R=>dependents* (rule-relation r)))\n    (define (rule-rule-dependencies r)\n      (apply append (map (lambda (R) (hash-ref R=>rule* R '())) (rule-relation-dependencies r))))\n    (let-values (((seen finished) (search rule-rule-dependencies rules (set))))\n      (let loop ((r* finished) (seen (set)) (strata '()))\n        (match r*\n          ('() strata)\n          ((cons r r*)\n           (if (set-member? seen r)\n             (loop r* seen strata)\n             (let-values (((seen scc) (search rule-rule-dependents (list r) seen)))\n               (let ((R* (list->set (map rule-relation scc))))\n                 (for-each (lambda (r)\n                             (for-each (lambda (R.neg)\n                                         (when (set-member? R* (relation-negation-target R.neg))\n                                           (error \"cyclic rule dependency through negation\"\n                                                  (map relation-name (set->list R*)))))\n                                       (filter relation-negation? (map atom-relation (rule-body r)))))\n                           scc))\n               (loop r* seen\n                     (cons (cons (if (or (pair? (cdr scc))\n                                         (member (rule-relation (car scc))\n                                                 (rule-relation-dependencies (car scc))))\n                                   'fixed-point 'once)\n                                 scc)\n                           strata))))))))))\n\n(define (hash-map-values h f) (make-immutable-hash (hash-map h (lambda (k v) (cons k (f v))))))\n\n(define R=>mode*.primitive\n  (hash-map-values\n    (hash prim.==            '((#f #t) (#t #f))\n          prim.<             '((#t #t))\n          prim.<=            '((#t #t))\n          prim.type==        '((#t #f))\n          prim.cons==        '((#t #t #f) (#f #f #t))\n          prim.+==           '((#t #t #f) (#t #f #t) (#f #t #t))\n          prim.*==           '((#t #t #f) (#t #f #t) (#f #t #t))\n          prim.symbol-string '((#f #t) (#t #f))\n          prim.string-bytes  '((#f #t) (#t #f))\n          prim.bytes-list    '((#f #t) (#t #f))\n          prim.vector-list   '((#f #t) (#t #f)))\n    list->set))\n\n(define (rule-terms r) (apply append (map atom-args (cons (rule-head r) (rule-body r)))))\n(define (rule-vars  r) (map var-name (filter var? (rule-terms r))))\n\n(define (rule-deduplicate-head-vars r)\n  (parameterize ((current-fresh-variable (+ (apply max -1 (filter integer? (rule-vars r))) 1))\n                 (current-implicit-atoms '()))\n    (let* ((head (rule-head r))\n           (args (map (let ((seen (mutable-set)))\n                        (lambda (t)\n                          (cond ((not (var? t))                  t)\n                                ((set-member? seen (var-name t)) (let ((v.new (fresh-var)))\n                                                                   (implicit-atom! (== v.new t))\n                                                                   v.new))\n                                (else                            (set-add! seen (var-name t)) t))))\n                      (atom-args head))))\n      (rule (atom (atom-relation head) args)\n            (append (current-implicit-atoms) (rule-body r))))))\n\n(define (infer-modes rules R=>mode*)\n  (let ((rules (map rule-deduplicate-head-vars rules)))\n    (let loop ((R=>mode*.initial R=>mode*))\n      (let ((R=>mode* (foldl (lambda (r R=>mode*) (rule-infer-modes r R=>mode*))\n                             R=>mode*.initial rules)))\n        (if (equal? R=>mode* R=>mode*.initial)\n          R=>mode*\n          (loop R=>mode*))))))\n\n(define (rule-infer-modes r R=>mode*)\n  (define (consistent-arity?! mode len a)\n    (unless (equal? (length mode) len)\n      (error \"relation arity mismatch\" (relation-name (atom-relation a)) (length mode) len)))\n  (let* ((head      (rule-head r))\n         (body      (rule-body r))\n         (vars.head (list->set (map var-name (filter var? (atom-args head))))))\n    (define (atom-mode* a)\n      (let ((R (atom-relation a)))\n        (let ((m* (if (relation-negation? R)\n                    (list (map (lambda (x) #t) (atom-args a)))\n                    (hash-ref R=>mode* R\n                              (lambda () (set (map (lambda (x) #f) (atom-args a)))))))\n              (l  (length (atom-args a))))\n          (for-each (lambda (m) (consistent-arity?! m l a)) (set->list m*))\n          m*)))\n    (define (atom-bound-vars a mode) (foldl (lambda (bound? t bound)\n                                              (if (and bound? (var? t))\n                                                (set-add bound (var-name t))\n                                                bound))\n                                            (set) mode (atom-args a)))\n    (define (search mode a* bound)\n      (consistent-arity?! mode (length (atom-args head)) head)\n      (let retry ((a* body) (bound.initial (set-union bound (atom-bound-vars head mode))))\n        (let loop ((a* a*) (a*.missed '()) (bound bound.initial))\n          (match a*\n            ('()\n             (cond ((not (equal? bound bound.initial)) (retry a*.missed bound))\n                   ((null? a*.missed)                  (list mode))\n                   (else (define (atom-v** a)\n                           (filter (lambda (v*) (subset? v* vars.head))\n                                   (map (lambda (m) (set-subtract (atom-bound-vars a m) bound))\n                                        (set->list (atom-mode* a)))))\n                         (define (constrain v*)\n                           (map (lambda (bound? t) (or bound? (and (var? t) (set-member? v* (var-name t)))))\n                                mode (atom-args head)))\n                         (let ((v** (foldl (lambda (v* v**.best)\n                                             (if (ormap (lambda (v*.best) (subset? v*.best v*)) v**.best)\n                                               v**.best\n                                               (cons v* v**.best)))\n                                           '() (sort (apply append (map atom-v** a*.missed))\n                                                     (lambda (a b) (< (set-count a) (set-count b)))))))\n                           (apply append (map (lambda (v*) (search (constrain v*) a*.missed bound)) v**))))))\n            ((cons a a*)\n             (let ((signature (map (lambda (t) (or (constant? t) (set-member? bound (var-name t))))\n                                   (atom-args a))))\n               (if (ormap (lambda (mode)\n                            (andmap (lambda (b?.mode b?.sig) (or b?.sig (not b?.mode))) mode signature))\n                          (set->list (atom-mode* a)))\n                 (loop a* a*.missed (set-union bound (list->set (map var-name (filter var? (atom-args a))))))\n                 (loop a* (cons a a*.missed) bound))))))))\n    (define (merge-modes mode*)\n      (define (subsumes? m0 m1) (andmap (lambda (b0? b1?) (or b1? (not b0?))) m0 m1))\n      (define (free-count m)    (length (filter not m)))\n      (foldl (lambda (m mode*) (if (ormap (lambda (m0) (subsumes? m0 m)) mode*)\n                                 mode*\n                                 (cons m mode*)))\n             '() (sort mode* (lambda (a b) (> (free-count a) (free-count b))))))\n    (let* ((vars.body   (foldl (lambda (a vars)\n                                 (foldl (lambda (t vars)\n                                          (if (var? t) (set-add vars (var-name t)) vars))\n                                        vars (atom-args a)))\n                               (set) body))\n           (vars.unused (set-subtract vars.head vars.body))\n           (m*.initial  (map (lambda (mode)\n                               (map (lambda (bound? t)\n                                      (or bound? (and (var? t) (set-member? vars.unused (var-name t)))))\n                                    mode (atom-args head)))\n                             (set->list (atom-mode* head))))\n           (m*          (merge-modes (apply append (map (lambda (m) (search m body (set))) m*.initial)))))\n      (if (null? m*)\n        (error \"relation has no finite mode\" (relation-name (atom-relation head)))\n        (hash-set R=>mode* (atom-relation head) (list->set m*))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/kanren-notation-micro.rkt",
    "content": "#lang racket/base\n(provide\n  facts fresh conde\n  define-relation\n  run*)\n(require \"micro.rkt\")  ; Basic micro core with quadratic time fact accumulation\n;(require \"micro-with-sets.rkt\")  ; A faster version of the micro core\n\n;;; Formulas are wrapped ambitions which discover their producer dependencies.\n\n(define (fm:true  seen d*) (values seen d* unit))\n(define (fm:false seen d*) (values seen d* fail))\n\n(define (fm:and fm0 fm1)\n  (lambda (seen p*)\n    (let-values (((seen p* a0) (fm0 seen p*)))\n      (let-values (((seen p* a1) (fm1 seen p*)))\n        (values seen p* (conj a0 a1))))))\n(define (fm:or fm0 fm1)\n  (lambda (seen p*)\n    (let-values (((seen p* a0) (fm0 seen p*)))\n      (let-values (((seen p* a1) (fm1 seen p*)))\n        (values seen p* (disj a0 a1))))))\n\n(define (fm:and+ fm0 fm*)\n  (if (null? fm*)\n    fm0\n    (fm:and fm0 (fm:and+ (car fm*) (cdr fm*)))))\n(define (fm:or+ fm0 fm*)\n  (if (null? fm*)\n    fm0\n    (fm:or fm0 (fm:or+ (car fm*) (cdr fm*)))))\n\n(define (fm:and* fm*)\n  (if (null? fm*)\n    fm:true\n    (fm:and+ (car fm*) (cdr fm*))))\n(define (fm:or* fm*)\n  (if (null? fm*)\n    fm:false\n    (fm:or+ (car fm*) (cdr fm*))))\n\n(define (fm:== t0 t1) (lambda (seen p*) (values seen p* (== t0 t1))))\n\n;;;;;;;;;;;;;;\n;;; Syntax ;;;\n;;;;;;;;;;;;;;\n\n;; TODO: defining facts using == leads to enormous fact production redundancy,\n;; exposing performance problems with unique-append since it is a quadratic\n;; implementation of set union.  Since we want to be able to support large\n;; relation definitions, the right way to fix this is for the core to store\n;; facts in efficient sets instead of lists.  But we could also reduce\n;; redundancy by stratifying the evaluation of relation dependencies.  This\n;; would lead to fact-oriented relations only being evaluated once, at the\n;; start of a run.\n(define (facts vars tuples)\n  (fm:or* (map (lambda (tuple) (fm:== vars tuple)) tuples)))\n\n;; TODO: rule safety checking?\n(define-syntax-rule\n  (define-relation (name attr ...) fm0 fm* ...)\n  (define (name attr ...)\n    (lambda (seen p*)\n      (let ((head   (list name (var 'attr) ...))\n            (fm     (fresh (attr ...) fm0 fm* ...))\n            (a.call (relate (list name attr ...))))\n        (if (member name seen)\n          (values seen p* a.call)\n          (let-values (((seen p* a) (fm (cons name seen) p*)))\n            (values seen (cons (realize head a) p*) a.call)))))))\n\n(define-syntax-rule\n  (fresh (x ...) fm0 fm* ...)\n  (let ((x (var 'x)) ...) (fm:and+ fm0 (list fm* ...))))\n\n(define-syntax-rule\n  (conde (fm00 fm0* ...)\n         (fm0 fm* ...) ...)\n  (fm:or+ (fm:and+ fm00 (list fm0* ...))\n          (list (fm:and+ fm0 (list fm* ...) ...) ...)))\n\n(define-syntax run*\n  (syntax-rules ()\n    ((_ (x ...) fm0 fm* ...)\n     (let ((x (var 'x)) ...)\n       (define-relation (query x ...) fm0 fm* ...)\n       (let-values (((seen p* a) ((query x ...) '() '())))\n         (let ((F* (exhaust* p* '())))\n           (map cdr (filter (lambda (F) (eq? (car F) query)) F*))))))\n    ((_ x fm0 fm* ...) (map car (run* (x) fm0 fm* ...)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/micro-plus.rkt",
    "content": "#lang racket/base\n(provide\n  (struct-out var)\n  unit fail\n  conj conj+ conj*\n  disj disj+ disj*\n  == relate reject-relate compute reject-compute\n  realize produce-once* exhaust*)\n(require racket/set)\n\n;; This version of the micro core supports fact merging for aggregation.\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Terms and substitution ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(struct var (name) #:prefab)\n(define subst.empty '())\n\n(define (subst-extend S x t)\n  (let ((name.x (var-name x)))\n    (and (not (occurs? S name.x t))\n         (cons (cons name.x t) S))))\n\n(define (walk S t)\n  (cond ((var? t) (let ((kv (assoc (var-name t) S)))\n                    (if kv (walk S (cdr kv)) t)))\n        (else     t)))\n\n(define (walk* S t)\n  (cond ((var? t)    (let ((kv (assoc (var-name t) S)))\n                       (if kv (walk* S (cdr kv)) t)))\n        ((pair? t)   (cons (walk* S (car t)) (walk* S (cdr t))))\n        ((vector? t) (list->vector (walk* S (vector->list t))))\n        (else        t)))\n\n(define (occurs? S name.x t)\n  (let ((t (walk S t)))\n    (or (and (var? t) (equal? name.x (var-name t)))\n        (and (pair? t) (or (occurs? S name.x (car t)) (occurs? S name.x (cdr t))))\n        (and (vector? t) (occurs? S name.x (vector->list t))))))\n\n(define (unify S u v)\n  (let ((u (walk S u)) (v (walk S v)))\n    (cond ((eqv? u v)  S)\n          ((var? u)    (if (and (var? v) (equal? (var-name u) (var-name v)))\n                         S\n                         (subst-extend S u v)))\n          ((var? v)    (subst-extend S v u))\n          ((pair? u)   (and (pair? v)\n                            (let ((S (unify S (car u) (car v))))\n                              (and S\n                                   (unify S (cdr u) (cdr v))))))\n          ((vector? u) (and (vector? v)\n                            (unify S (vector->list u) (vector->list v))))\n          (else        (and (equal? u v) S)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Goals, ambitions, producers ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Goal     = S -> S*\n;; Ambition = F* -> Goal\n;; Producer = F* -> F*\n\n(define (bind S* g) (if (null? S*) '() (append (g (car S*)) (bind (cdr S*) g))))\n\n(define unit         (lambda (F*) (lambda (S) (list S))))\n(define fail         (lambda (F*) (lambda (S) '())))\n(define (== t0 t1)   (lambda (F*) (lambda (S) (let ((S (unify S t0 t1)))\n                                                (if S (list S) '())))))\n;; NOTE: use =/= carefully as it currently implements negation-as-failure\n(define (=/= t0 t1)  (lambda (F*) (lambda (S) (let ((S.new (unify S t0 t1)))\n                                                (if S.new '() (list S))))))\n(define (conj a0 a1) (lambda (F*) (let ((g0 (a0 F*)) (g1 (a1 F*)))\n                                    (lambda (S) (bind (g0 S) g1)))))\n(define (disj a0 a1) (lambda (F*) (let ((g0 (a0 F*)) (g1 (a1 F*)))\n                                    (lambda (S) (append (g0 S) (g1 S))))))\n(define (conj+ a a*) (if (null? a*) a (conj a (conj+ (car a*) (cdr a*)))))\n(define (disj+ a a*) (if (null? a*) a (disj a (disj+ (car a*) (cdr a*)))))\n(define (conj* a*)   (if (null? a*) unit (conj+ (car a*) (cdr a*))))\n(define (disj* a*)   (if (null? a*) fail (disj+ (car a*) (cdr a*))))\n\n(define (relate atom)\n  (lambda (F*)  ; This staging significantly improves performance.\n    ((disj* (map (lambda (F) (== atom F))\n                 (filter (lambda (F) (unify subst.empty atom F)) F*)))\n     'ignored)))\n(define (reject-relate atom)\n  ;; NOTE: this ambition has a fully-ground mode.\n  (lambda (F*)\n    ((conj* (map (lambda (F) (=/= atom F))\n                 (filter (lambda (F) (unify subst.empty atom F)) F*)))\n     'ignored)))\n\n(define (compute proc args)\n  (lambda (F*) (lambda (S) ((apply proc (walk* S args)) S))))\n(define (reject-compute proc args)\n  ;; NOTE: this ambition has a fully-ground mode.\n  (lambda (F*) (lambda (S) (if (null? ((apply proc (walk* S args)) S))\n                             (list S)\n                             '()))))\n\n(define remember         (lambda (F*) F*))\n(define (realize atom a) (lambda (F*) (map (lambda (S) (walk* S atom))\n                                           ((a F*) subst.empty))))\n(define (combine p0 p1)  (lambda (F*) (append (p0 F*) (p1 F*))))\n(define (combine* p*)    (if (null? p*)\n                           remember\n                           (combine (car p*) (combine* (cdr p*)))))\n\n(define (aggregate predicate=>merge F*)\n  (let loop ((F*                    F*)\n             (F*.skipped            '())\n             (predicate=>key=>value (make-immutable-hash\n                                      (map (lambda (key) (cons key (hash)))\n                                           (hash-keys predicate=>merge)))))\n    (if (null? F*)\n      (apply append\n             F*.skipped\n             (map (lambda (p&k=>v)\n                    (let ((predicate (car p&k=>v)))\n                      (map (lambda (k&v)\n                             (cons predicate\n                                   (reverse (cons (cdr k&v) (car k&v)))))\n                           (hash->list (cdr p&k=>v)))))\n                  (hash->list predicate=>key=>value)))\n      (let* ((F         (car F*))\n             (predicate (car F))\n             (merge     (hash-ref predicate=>merge predicate #f)))\n        (if merge\n          (loop (cdr F*) F*.skipped\n                (hash-update\n                  predicate=>key=>value\n                  predicate\n                  (lambda (key=>value)\n                    (let* ((reversed (reverse (cdr F)))\n                           (key      (cdr reversed))\n                           (value    (car reversed)))\n                      (hash-set key=>value key\n                                (if (hash-has-key? key=>value key)\n                                  (merge (hash-ref key=>value key) value)\n                                  value))))))\n          (loop (cdr F*) (cons F F*.skipped) predicate=>key=>value))))))\n\n\n(define (produce-once p predicate=>merge F*)\n  (list->set (aggregate predicate=>merge (p (set->list F*)))))\n\n(define (produce-once* p* predicate=>merge F*)\n  (set->list (produce-once (combine* p*) predicate=>merge (list->set F*))))\n\n(define (exhaust p predicate=>merge F*)\n  (let ((F*.new (produce-once p predicate=>merge F*)))\n    (if (set=? F* F*.new)\n      F*.new\n      (exhaust p predicate=>merge F*.new))))\n\n(define (exhaust* p* predicate=>merge F*)\n  (set->list (exhaust (combine* p*) predicate=>merge (list->set F*))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/micro-with-sets.rkt",
    "content": "#lang racket/base\n(provide\n  (struct-out var)\n  unit fail\n  conj conj+ conj*\n  disj disj+ disj*\n  == relate\n  realize exhaust*)\n(require racket/set)\n\n;; This version of the micro core uses sets to accumulate facts in linear time.\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Terms and substitution ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(struct var (name) #:prefab)\n(define subst.empty '())\n\n(define (subst-extend S x t)\n  (and (not (occurs? S (walk S x) t))\n       (cons (cons (var-name x) t) S)))\n\n(define (walk S t)\n  (cond ((var? t) (let ((kv (assoc (var-name t) S)))\n                    (if kv (walk S (cdr kv)) t)))\n        (else     t)))\n\n(define (walk* S t)\n  (cond ((var? t)    (let ((kv (assoc (var-name t) S)))\n                       (if kv (walk* S (cdr kv)) t)))\n        ((pair? t)   (cons (walk* S (car t)) (walk* S (cdr t))))\n        ((vector? t) (list->vector (walk* S (vector->list t))))\n        (else        t)))\n\n(define (occurs? S x t)\n  (let ((t (walk S t)))\n    (or (equal? x t)\n        (and (pair? t) (or (occurs? S x (car t)) (occurs? S x (cdr t))))\n        (and (vector? t) (occurs? S x (vector->list t))))))\n\n(define (unify S u v)\n  (let ((u (walk S u)) (v (walk S v)))\n    (cond ((eqv? u v)  S)\n          ((var? u)    (if (and (var? v) (equal? (var-name u) (var-name v)))\n                         S\n                         (subst-extend S u v)))\n          ((var? v)    (subst-extend S v u))\n          ((pair? u)   (and (pair? v)\n                            (let ((S (unify S (car u) (car v))))\n                              (and S\n                                   (unify S (cdr u) (cdr v))))))\n          ((vector? u) (and (vector? v)\n                            (unify S (vector->list u) (vector->list v))))\n          (else        (and (equal? u v) S)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Goals, ambitions, producers ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Goal     = S -> S*\n;; Ambition = F* -> Goal\n;; Producer = F* -> F*\n\n(define (bind S* g) (if (null? S*) '() (append (g (car S*)) (bind (cdr S*) g))))\n\n(define unit         (lambda (F*) (lambda (S) (list S))))\n(define fail         (lambda (F*) (lambda (S) '())))\n(define (== t0 t1)   (lambda (F*) (lambda (S) (let ((S (unify S t0 t1)))\n                                                (if S (list S) '())))))\n(define (conj a0 a1) (lambda (F*) (let ((g0 (a0 F*)) (g1 (a1 F*)))\n                                    (lambda (S) (bind (g0 S) g1)))))\n(define (disj a0 a1) (lambda (F*) (let ((g0 (a0 F*)) (g1 (a1 F*)))\n                                    (lambda (S) (append (g0 S) (g1 S))))))\n(define (conj+ a a*) (if (null? a*) a (conj a (conj+ (car a*) (cdr a*)))))\n(define (disj+ a a*) (if (null? a*) a (disj a (disj+ (car a*) (cdr a*)))))\n(define (conj* a*)   (if (null? a*) unit (conj+ (car a*) (cdr a*))))\n(define (disj* a*)   (if (null? a*) fail (disj+ (car a*) (cdr a*))))\n\n(define (relate atom)\n  (lambda (F*)  ; This staging significantly improves performance.\n    ((disj* (map (lambda (F) (== atom F))\n                 (filter (lambda (F) (unify subst.empty atom F))\n                         (set->list F*))))\n     'ignored)))\n\n(define remember         (lambda (F*) F*))\n(define (realize atom a) (lambda (F*)\n                           (list->set (map (lambda (S) (walk* S atom))\n                                           ((a F*) subst.empty)))))\n(define (combine p0 p1)  (lambda (F*) (set-union (p0 F*) (p1 F*))))\n(define (combine* p*)    (if (null? p*)\n                           remember\n                           (combine (car p*) (combine* (cdr p*)))))\n(define (exhaust p F*)   (let ((F*.new (p F*)))\n                           (if (= (set-count F*) (set-count F*.new))\n                             F*\n                             (exhaust p F*.new))))\n(define (exhaust* p* F*) (set->list (exhaust (combine* p*) (list->set F*))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/micro.rkt",
    "content": "#lang racket/base\n(provide\n  (struct-out var)\n  unit fail\n  conj conj+ conj*\n  disj disj+ disj*\n  == relate\n  realize exhaust*)\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Terms and substitution ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(struct var (name) #:prefab)\n(define subst.empty '())\n\n(define (subst-extend S x t)\n  (let ((name.x (var-name x)))\n    (and (not (occurs? S name.x t))\n         (cons (cons name.x t) S))))\n\n(define (walk S t)\n  (cond ((var? t) (let ((kv (assoc (var-name t) S)))\n                    (if kv (walk S (cdr kv)) t)))\n        (else     t)))\n\n(define (walk* S t)\n  (cond ((var? t)    (let ((kv (assoc (var-name t) S)))\n                       (if kv (walk* S (cdr kv)) t)))\n        ((pair? t)   (cons (walk* S (car t)) (walk* S (cdr t))))\n        ((vector? t) (list->vector (walk* S (vector->list t))))\n        (else        t)))\n\n(define (occurs? S name.x t)\n  (let ((t (walk S t)))\n    (or (and (var? t) (equal? name.x (var-name t)))\n        (and (pair? t) (or (occurs? S name.x (car t)) (occurs? S name.x (cdr t))))\n        (and (vector? t) (occurs? S name.x (vector->list t))))))\n\n(define (unify S u v)\n  (let ((u (walk S u)) (v (walk S v)))\n    (cond ((eqv? u v)  S)\n          ((var? u)    (if (and (var? v) (equal? (var-name u) (var-name v)))\n                         S\n                         (subst-extend S u v)))\n          ((var? v)    (subst-extend S v u))\n          ((pair? u)   (and (pair? v)\n                            (let ((S (unify S (car u) (car v))))\n                              (and S\n                                   (unify S (cdr u) (cdr v))))))\n          ((vector? u) (and (vector? v)\n                            (unify S (vector->list u) (vector->list v))))\n          (else        (and (equal? u v) S)))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Goals, ambitions, producers ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Goal     = S -> S*\n;; Ambition = F* -> Goal\n;; Producer = F* -> F*\n\n(define (bind S* g) (if (null? S*) '() (append (g (car S*)) (bind (cdr S*) g))))\n\n(define unit         (lambda (F*) (lambda (S) (list S))))\n(define fail         (lambda (F*) (lambda (S) '())))\n(define (== t0 t1)   (lambda (F*) (lambda (S) (let ((S (unify S t0 t1)))\n                                                (if S (list S) '())))))\n(define (conj a0 a1) (lambda (F*) (let ((g0 (a0 F*)) (g1 (a1 F*)))\n                                    (lambda (S) (bind (g0 S) g1)))))\n(define (disj a0 a1) (lambda (F*) (let ((g0 (a0 F*)) (g1 (a1 F*)))\n                                    (lambda (S) (append (g0 S) (g1 S))))))\n(define (conj+ a a*) (if (null? a*) a (conj a (conj+ (car a*) (cdr a*)))))\n(define (disj+ a a*) (if (null? a*) a (disj a (disj+ (car a*) (cdr a*)))))\n(define (conj* a*)   (if (null? a*) unit (conj+ (car a*) (cdr a*))))\n(define (disj* a*)   (if (null? a*) fail (disj+ (car a*) (cdr a*))))\n\n(define (relate atom)\n  (lambda (F*)  ; This staging significantly improves performance.\n    ((disj* (map (lambda (F) (== atom F))\n                 (filter (lambda (F) (unify subst.empty atom F)) F*)))\n     'ignored)))\n\n(define (unique-cons x xs) (if (member x xs) xs (cons x xs)))\n(define (unique-append xs ys)\n  (if (null? xs)\n    ys\n    (unique-cons (car xs) (unique-append (cdr xs) ys))))\n\n(define remember         (lambda (F*) F*))\n(define (realize atom a) (lambda (F*) (map (lambda (S) (walk* S atom))\n                                           ((a F*) subst.empty))))\n(define (combine p0 p1)  (lambda (F*) (unique-append (p0 F*) (p1 F*))))\n(define (combine* p*)    (if (null? p*)\n                           remember\n                           (combine (car p*) (combine* (cdr p*)))))\n(define (exhaust p F*)   (let ((F*.new (p F*)))\n                           (if (eq? F* F*.new) F* (exhaust p F*.new))))\n(define (exhaust* p* F*) (exhaust (combine* p*) F*))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/test-basic.rkt",
    "content": "#lang racket/base\n(require \"basic-naive.rkt\" racket/list racket/pretty)\n(print-as-expression #f)\n;(pretty-print-abbreviate-read-macros #f)\n\n(define-syntax-rule\n  (pretty-results example ...)\n  (begin (begin (pretty-write 'example)\n                (pretty-write '==>)\n                (pretty-write example)\n                (newline)) ...))\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Graph traversal ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-relation (edge a b)\n  (facts (list a b)\n         '((a b)\n           (b c)\n           (d e)\n           (e f)\n           (b f)\n           (f a)  ; comment this edge for an acyclic graph\n           )))\n\n(define-relation (path a b)\n  (conde ((edge a b))\n         ((fresh (mid)\n            (edge a mid)\n            (path mid b)))))\n\n(pretty-results\n  (run* (x)   (path 'a x))\n  (run* (x)   (path x 'f))\n  (run* (x y) (path x y))\n  (run* (x y) (edge x y)))\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Finite arithmetic ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-relation (+o a b c)\n  (facts (list a b c)\n         (append* (map (lambda (a)\n                         (map (lambda (b) (list a b (+ a b)))\n                              (range 100)))\n                       (range 100)))))\n\n(define-relation (*o a b c)\n  (facts (list a b c)\n         (append* (map (lambda (a)\n                         (map (lambda (b) (list a b (* a b)))\n                              (range 100)))\n                       (range 100)))))\n\n(define-relation (<o a b)\n  (facts (list a b)\n         (append* (map (lambda (a)\n                         (append* (map (lambda (b) (if (< a b)\n                                                     (list (list a b))\n                                                     '()))\n                                       (range 100))))\n                       (range 100)))))\n\n(pretty-results\n  (run* (a b) (+o a b 7))\n  (run* (a b) (*o a b 7))\n  (run* (a b) (*o a b 18))\n  (run* n     (<o 0 n) (<o n 6)))\n\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Finite path length ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define roads '((a b 1)\n                (a c 7)\n                (b c 1)\n                (c d 1)\n                (d a 50)  ; shrink this distance to illustrate bad performance\n                ))\n\n(define-relation (road source target distance)\n  (facts (list source target distance) roads))\n\n(define-relation (route s t d)\n  (conde ((road s t d))\n         ((fresh (mid d.0 d.rest)\n            (road s mid d.0)\n            (route mid t d.rest)\n            (+o d.0 d.rest d)))))\n\n(pretty-results\n  (run* (s t d) (route s t d))\n  (run* d (route 'a 'd d))\n  (run* (s t d) (<o d 10) (route s t d))\n  (run* d (route 'a 'd d) (<o d 10))\n  (apply min (run* d (route 'a 'd d))))\n\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Mutable counter ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n\n(define count.current 0)\n\n(define-relation (count x) (== x count.current))\n(define-relation (next-count next)\n  (fresh (current)\n    (+o current 1 next)\n    (count current)))\n\n(define (increment!)\n  (define (now) (car (run* current (count current))))\n  (pretty-write `(current count: ,(now)))\n  (set! count.current (car (run* next (next-count next))))\n  (pretty-write `(next count: ,(now))))\n\n(for-each (lambda (_) (increment!)) (range 10))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/test-kanren-micro.rkt",
    "content": "#lang racket/base\n(require \"kanren-notation-micro.rkt\" racket/list racket/pretty)\n(print-as-expression #f)\n;(pretty-print-abbreviate-read-macros #f)\n\n(define-syntax-rule\n  (pretty-results example ...)\n  (begin (let ((result (time example)))\n           (pretty-write 'example)\n           (pretty-write '==>)\n           (pretty-write result)\n           (newline)) ...))\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Graph traversal ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-relation (edge a b)\n  (facts (list a b)\n         '((a b)\n           (b c)\n           (d e)\n           (e f)\n           (b f)\n           (f a)  ; comment this edge for an acyclic graph\n           )))\n\n(define-relation (path a b)\n  (conde ((edge a b))\n         ((fresh (mid)\n            (edge a mid)\n            (path mid b)))))\n\n(pretty-results\n  (run* (x)   (path 'a x))\n  (run* (x)   (path x 'f))\n  (run* (x y) (path x y))\n  (run* (x y) (edge x y)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Finite arithmetic ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define-relation (+o a b c)\n  (facts (list a b c)\n         (apply append (map (lambda (a)\n                              (map (lambda (b) (list a b (+ a b)))\n                                   (range 50)))\n                            (range 50)))))\n\n(define-relation (*o a b c)\n  (facts (list a b c)\n         (apply append (map (lambda (a)\n                              (map (lambda (b) (list a b (* a b)))\n                                   (range 50)))\n                            (range 50)))))\n\n(define-relation (<o a b)\n  (facts (list a b)\n         (apply append (map (lambda (a)\n                              (apply append (map (lambda (b) (if (< a b)\n                                                               (list (list a b))\n                                                               '()))\n                                                 (range 50))))\n                            (range 50)))))\n\n(pretty-results\n  (run* (a b) (+o a b 7))\n  (run* (a b) (*o a b 7))\n  (run* (a b) (*o a b 18))\n  (run* n     (<o 0 n) (<o n 6)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Finite path length ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define roads '((a b 1)\n                (a c 7)\n                (b c 1)\n                (c d 1)\n                (d a 25)  ; shrink this distance to illustrate bad performance\n                ))\n\n(define-relation (road source target distance)\n  (facts (list source target distance) roads))\n\n(define-relation (route s t d)\n  (conde ((road s t d))\n         ((fresh (mid d.0 d.rest)\n            (road s mid d.0)\n            (route mid t d.rest)\n            (+o d.0 d.rest d)))))\n\n(pretty-results\n  (run* (s t d) (route s t d))\n  (run* d (route 'a 'd d))\n  (run* (s t d) (<o d 10) (route s t d))\n  (run* d (route 'a 'd d) (<o d 10))\n  (apply min (run* d (route 'a 'd d))))\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Mutable counter ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n\n(define count.current 0)\n\n(define-relation (count x) (facts (list x) `((,count.current))))\n(define-relation (next-count next)\n  (fresh (current)\n    (+o current 1 next)\n    (count current)))\n\n(define (increment!)\n  (define (now) (car (run* current (count current))))\n  (pretty-write `(current count: ,(now)))\n  (set! count.current (car (run* next (next-count next))))\n  (pretty-write `(next count: ,(now))))\n\n(for-each (lambda (_) (increment!)) (range 10))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/test-unmanaged-micro-plus.rkt",
    "content": "#lang racket/base\n(require \"unmanaged-notation-micro-plus.rkt\"\n         racket/list racket/pretty racket/set)\n(print-as-expression #f)\n;(pretty-print-abbreviate-read-macros #f)\n\n(define-syntax-rule\n  (pretty-results example ...)\n  (begin (let ((result (time example)))\n           (pretty-write 'example)\n           (pretty-write '==>)\n           (pretty-write result)\n           (newline)) ...))\n\n(define (run-stratified-queries\n          predicate=>compute predicate=>merge rules.query rule** facts)\n  (let ((facts (run-stratified predicate=>compute predicate=>merge\n                               (cons rules.query rule**) facts)))\n    (map (lambda (predicate.query)\n           (filter (lambda (fact) (eq? (car fact) predicate.query)) facts))\n         (map caar rules.query))))\n\n(define (run-queries rules.query rules facts)\n  (run-stratified-queries (hash) (hash) rules.query (list rules) facts))\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Graph traversal ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n\n(pretty-results\n  (run-queries\n    '(((q1 x)   (path 'a x))\n      ((q2 x)   (path x 'f))\n      ((q3 x y) (path x y))\n      ((q4 x y) (edge x y)))\n    '(((path x y) (edge x y))\n      ((path x z) (edge x y) (path y z)))\n    '((edge a b)\n      (edge b c)\n      (edge d e)\n      (edge e f)\n      (edge b f)\n      (edge f a)  ; comment this edge for an acyclic graph\n      )))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Finite arithmetic ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define facts.+ (apply append (map (lambda (a)\n                                     (map (lambda (b) `(+o ,a ,b ,(+ a b)))\n                                          (range 50)))\n                                   (range 50))))\n(define facts.* (apply append (map (lambda (a)\n                                     (map (lambda (b) `(*o ,a ,b ,(* a b)))\n                                          (range 50)))\n                                   (range 50))))\n(define facts.< (apply append (map (lambda (a)\n                                     (apply append (map (lambda (b) (if (< a b)\n                                                                      `((<o ,a ,b))\n                                                                      '()))\n                                                        (range 50))))\n                                   (range 50))))\n\n(pretty-results\n  (run-queries\n    '(((q1 a b) (+o a b 7))\n      ((q2 a b) (*o a b 7))\n      ((q3 a b) (*o a b 18))\n      ((q4 n)   (<o 0 n) (<o n 6)))\n    '()\n    (append facts.+ facts.* facts.<)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Finite path length ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(pretty-results\n  (run-stratified-queries\n    (hash 'conso (lambda (a d ad)\n                   (when (and (or (var? a) (var? d)) (var? ad))\n                     (error \"unsupported mode for conso\" a d ad))\n                   ((== (cons a d) ad) 'ignored)))\n    (hash 'shortest-route-distance min)\n    '(((q0 s t d)   (road  s t d))\n      ((q1 s t d)   (shortest-route-distance s t d))\n      ((q2 d)       (shortest-route-distance 'a 'd d))\n      ((q3 s t d p) (shortest-route s t d p))\n      ((q4 d p)     (shortest-route 'a 'd d p)))\n    '((((shortest-route s t d p) (shortest-route-distance s t d)\n                                 (road s t d)\n                                 (conso t '() p.t)\n                                 (conso s p.t p))\n       ((shortest-route s t d p) (shortest-route-distance s t d)\n                                 (road s mid d.0)\n                                 (shortest-route mid t d.rest p.rest)\n                                 (+o d.0 d.rest d)\n                                 (conso s p.rest p)))\n      (((shortest-route-distance s t d) (road s t d))\n       ((shortest-route-distance s t d) (road s mid d.0)\n                                        (shortest-route-distance mid t d.rest)\n                                        (+o d.0 d.rest d))))\n    (append facts.+ facts.<\n            '((road a b 1)\n              (road a c 7)\n              (road b c 1)\n              (road c d 1)\n              (road d a 5)))))\n\n;;;;;;;;;;;;;;;;;;;\n;;; Aggregation ;;;\n;;;;;;;;;;;;;;;;;;;\n\n(pretty-results\n  (run-stratified-queries\n    (hash)\n    (hash 'category-count +\n          'order-total-cost +\n          'order-total-count +\n          'order-category-cost +\n          'order-category-count +\n          'vegan-order-count +\n          'all-sales-total-amount +\n          'all-sales-category-amount +\n          'all-sales-category-count +)\n    '(((q:category-count       'category: category 'count: count)                (category-count category count))\n      ((q:order-total-cost     'order:    order    'cost:  cost)                 (order-total-cost order cost))\n      ((q:order-total-count    'order:    order    'count: count)                (order-total-count order count))\n      ((q:order-category-cost  'order:    order    'category: cat 'cost:  cost)  (order-category-cost order cat cost))\n      ((q:order-category-count 'order:    order    'category: cat 'count: count) (order-category-count order cat count))\n      ((q:vegan-orders      order) (order-vegan order))\n      ((q:vegan-order-count count) (vegan-order-count count))\n      ((q:all-sales-total-amount    'amount: amount)                (all-sales-total-amount amount))\n      ((q:all-sales-category-amount 'category: cat 'amount: amount) (all-sales-category-amount cat amount))\n      ((q:all-sales-category-count  'category: cat 'count:  count)  (all-sales-category-count  cat count)))\n    '((run-once\n        ((all-sales-total-amount amount) (all-sales-category-amount cat amount))\n        ((vegan-order-count 0))\n        ((vegan-order-count 1) (order-vegan order)))\n      (((order-vegan order) (item order food) not (order-includes-animal-product order)))\n      (run-once\n        ((category-count cat 1) (food-category food cat))\n        ((order-total-cost order amount) (item order food) (food-price food amount))\n        ((order-total-count order 1)     (item order food))\n        ((order-category-cost order cat amount) (item order food)\n                                                (food-category food cat)\n                                                (food-price food amount))\n        ((order-category-count order cat 1) (item order food)\n                                            (food-category food cat))\n        ((all-sales-category-amount cat 0)      (food-category food cat))\n        ((all-sales-category-amount cat amount) (item order food)\n                                                (food-category food cat)\n                                                (food-price food amount))\n        ((all-sales-category-count cat 0) (food-category any cat))\n        ((all-sales-category-count cat 1) (item order food)\n                                          (food-category food cat)))\n      (((order-includes-animal-product order) (item order food) (food-category food 'dairy))\n       ((order-includes-animal-product order) (item order 'pizza))\n       ((order-includes-animal-product order) (item order 'icecream))))\n    '((food-category broccoli  produce)\n      (food-category spinach   produce)\n      (food-category mushrooms produce)\n      (food-category eggplant  produce)\n      (food-category tomatoes  produce)\n      (food-category beans     canned)\n      (food-category peas      canned)\n      (food-category cheese    dairy)\n      (food-category cream     dairy)\n      (food-category butter    dairy)\n      (food-category eggs      dairy)\n      (food-category pizza     frozen)\n      (food-category icecream  frozen)\n      (food-category dosa      frozen)\n      (food-category rice      grain)\n      (food-category millet    grain)\n      (food-price broccoli  4)\n      (food-price spinach   3)\n      (food-price mushrooms 5)\n      (food-price eggplant  6)\n      (food-price tomatoes  5)\n      (food-price beans     2)\n      (food-price peas      1)\n      (food-price cheese   12)\n      (food-price cream     6)\n      (food-price butter    5)\n      (food-price eggs      6)\n      (food-price pizza    18)\n      (food-price icecream  9)\n      (food-price dosa      7)\n      (food-price rice     12)\n      (food-price millet    8)\n      (item 3 broccoli)\n      (item 3 mushrooms)\n      (item 3 tomatoes)\n      (item 3 cheese)\n      (item 3 cream)\n      (item 3 eggs)\n      (item 3 rice)\n      (item 999 tomatoes)\n      (item 999 broccoli)\n      (item 999 dosa)\n      (item 999 rice)\n      (item 11 spinach)\n      (item 11 eggplant)\n      (item 11 cream)\n      (item 11 millet)\n      (item 11 pizza)\n      (item 7 spinach)\n      (item 7 mushrooms)\n      (item 7 eggplant)\n      (item 7 cream)\n      (item 7 eggs)\n      (item 7 millet)\n      (item 7 pizza))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Equivalence classes ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define (run-equivalence-query facts.same)\n  (run-stratified-queries\n    (hash '<o (lambda (a b)\n                (when (or (var? a) (var? b))\n                  (error \"unsupported mode for <o\" a b))\n                (lambda (S) (if (< a b) (list S) '()))))\n    (hash 'eq min)\n    '(((q0 x y) (same x y))\n      ((q1 x y) (eq x y)))\n    '((((eq0 a b) (same a b) (<o b a))\n       ((eq0 a b) (same b a) (<o b a))\n       ((eq a b) (eq0 a b))\n       ((eq a c) (eq0 a b)\n                 (eq b c)\n                 (<o c a))\n       ((eq a c) (eq0 b a)\n                 (eq b c)\n                 (<o c a))))\n    facts.same))\n\n(pretty-results\n  (run-equivalence-query\n    ;; \\/-shaped graph\n    '((same 7 5)\n      (same 3 5)\n      (same 3 1)\n      (same 6 8)\n      (same 4 6)\n      (same 4 2)\n      (same 0 2)\n      (same 1 0))))\n\n(pretty-results\n  (run-equivalence-query\n    ;; /\\-shaped graph\n    '((same 7 5)\n      (same 3 5)\n      (same 3 1)\n      (same 6 8)\n      (same 4 6)\n      (same 4 2)\n      (same 0 2)\n      (same 7 8))))\n\n(pretty-results\n  (run-equivalence-query\n    ;; X-shaped graph\n    '((same 17 15)\n      (same 13 15)\n      (same 13 11)\n      (same 16 18)\n      (same 14 16)\n      (same 14 12)\n      (same 10 12)\n      (same 11 10)\n      (same 9 11)\n      (same 7 9)\n      (same 7 5)\n      (same 3 5)\n      (same 3 1)\n      (same 10 8)\n      (same 6 8)\n      (same 4 6)\n      (same 4 2)\n      (same 0 2))))\n\n(pretty-results\n  (run-equivalence-query\n    '(;; class 5\n      (same 5  10)\n      (same 15 10)\n      (same 25 10)\n      (same 20 15)\n      (same 25 35)\n      (same 20 30)\n      ;;; class 1005\n      (same 1005  10010)\n      (same 10015 10010)\n      (same 10025 10010)\n      (same 10020 10015)\n      (same 10025 10035)\n      (same 10020 10030))))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Strongly-connected components and stratification ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; Downward directed graph with some cycles:\n;      A       B\n;     / \\     / \\\n;    C   D*  E   F*\n;    |    \\ / \\  |\n;    J*   GHI  \\ KL\n;     \\  /  \\   X \\\n;      M     NO  \\P\n;      |       \\ / \\\n;      Q        R   S\n\n(define facts.dg\n  (append (map (lambda (n) `(node ,n)) '(A B C D E F G H I J K L M N O P Q R S))\n          '((depends A C)\n            (depends A D)\n            (depends B E)\n            (depends B F)\n\n            (depends D D)\n            (depends F F)\n\n            (depends C J)\n            (depends D G)\n            (depends E G)\n            (depends F L)\n\n            (depends J J)\n            (depends G H)\n            (depends G I)\n            (depends H G)\n            (depends I H)\n            (depends K L)\n            (depends L K)\n\n            (depends J M)\n            (depends H M)\n            (depends I N)\n            (depends K N)\n            (depends L P)\n            (depends E P)\n\n            (depends N O)\n            (depends O N)\n\n            (depends M Q)\n            (depends O R)\n            (depends P R)\n            (depends P S))))\n\n(pretty-results\n  (run-stratified-queries\n    (hash 'symbol< (lambda (a b)\n                     (when (or (var? a) (var? b))\n                       (error \"unsupported mode for symbol<o\" a b))\n                     (lambda (S) (if (or (symbol<? a b)) (list S) '())))\n          '+o       (lambda (a b a+b)\n                      ((cond ((and (rational? a) (rational? b))   (== a+b (+ a b)))\n                             ((and (rational? a) (rational? a+b)) (== b (- a+b a)))\n                             ((and (rational? b) (rational? a+b)) (== a (- a+b b)))\n                             (else (error \"unsupported mode for +o\" a b a+b)))\n                       'ignored)))\n    (hash 'stratum max)\n    '(((q:scc x y) (scc x y) not (scc-child x))\n      ((q:scc-child x) (scc-child x))\n      ((q:stratum level x) (stratum x level) not (scc-child x)))\n    '((((stratum a 0) (node a) not (dependent a))\n       ((stratum a n) (depends a b)\n                      (stratum b m)\n                      (+o m 1 n)\n                      not\n                      (== a b)\n                      (scc a b)\n                      (scc b a))\n       ((stratum a n) (scc a b) (stratum b n))\n       ((stratum a n) (scc b a) (stratum b n)))\n      (((scc a b) (depends+ a b) (depends+ b a) (symbol< a b))\n       ((scc-child a) (scc b a))\n       ((depends+ a b) (depends a b))\n       ((depends+ a c) (depends a b) (depends+ b c))\n       ((dependent a) (depends a b))\n       ((== a a) (node a))))\n    facts.dg))\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Mutable counter ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n\n(define count.current 0)\n(define rules.count '(((next-count next) (+o current 1 next) (count current))))\n(define (current-count-state)\n  (run-stratified (hash) (hash) (list rules.count)\n                  (append facts.+\n                          `((count ,count.current)))))\n(define (state-extract facts.count predicate)\n  (cadar (filter (lambda (fact) (eq? (car fact) predicate)) facts.count)))\n\n(define (now  st) (state-extract st 'count))\n(define (next st) (state-extract st 'next-count))\n\n(define (increment-count!)\n  (let ((st (current-count-state)))\n    (pretty-write `(current count: ,(now st)))\n    (set! count.current (next st))\n    (pretty-write `(next count: ,(next st)))))\n\n(for-each (lambda (_) (increment-count!)) (range 10))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/test-unmanaged-micro.rkt",
    "content": "#lang racket/base\n(require \"unmanaged-notation-micro.rkt\" racket/list racket/pretty)\n(print-as-expression #f)\n;(pretty-print-abbreviate-read-macros #f)\n\n(define-syntax-rule\n  (pretty-results example ...)\n  (begin (let ((result (time example)))\n           (pretty-write 'example)\n           (pretty-write '==>)\n           (pretty-write result)\n           (newline)) ...))\n\n(define (run-queries rules.query rules facts)\n  (let ((facts (run-datalog (append rules.query rules) facts)))\n    (map (lambda (predicate.query)\n           (filter (lambda (fact) (eq? (car fact) predicate.query)) facts))\n         (map caar rules.query))))\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Graph traversal ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n\n(pretty-results\n  (run-queries\n    '(((q1 x)   (path 'a x))\n      ((q2 x)   (path x 'f))\n      ((q3 x y) (path x y))\n      ((q4 x y) (edge x y)))\n    '(((path x y) (edge x y))\n      ((path x z) (edge x y) (path y z)))\n    '((edge a b)\n      (edge b c)\n      (edge d e)\n      (edge e f)\n      (edge b f)\n      (edge f a)  ; comment this edge for an acyclic graph\n      )))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Finite arithmetic ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(define facts.+ (apply append (map (lambda (a)\n                                     (map (lambda (b) `(+o ,a ,b ,(+ a b)))\n                                          (range 50)))\n                                   (range 50))))\n(define facts.* (apply append (map (lambda (a)\n                                     (map (lambda (b) `(*o ,a ,b ,(* a b)))\n                                          (range 50)))\n                                   (range 50))))\n(define facts.< (apply append (map (lambda (a)\n                                     (apply append (map (lambda (b) (if (< a b)\n                                                                      `((<o ,a ,b))\n                                                                      '()))\n                                                        (range 50))))\n                                   (range 50))))\n\n(pretty-results\n  (run-queries\n    '(((q1 a b) (+o a b 7))\n      ((q2 a b) (*o a b 7))\n      ((q3 a b) (*o a b 18))\n      ((q4 n)   (<o 0 n) (<o n 6)))\n    '()\n    (append facts.+ facts.* facts.<)))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;\n;;; Finite path length ;;;\n;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(pretty-results\n  (run-queries\n    '(((q1 s t d) (route s t d))\n      ((q2 d)     (route 'a 'd d))\n      ((q3 s t d) (<o d 10) (route s t d))\n      ((q4 d)     (route 'a 'd d) (<o d 10)))\n    '(((route s t d) (road s t d))\n      ((route s t d) (road s mid d.0) (route mid t d.rest) (+o d.0 d.rest d)))\n    (append facts.+ facts.<\n            '((road a b 1)\n              (road a c 7)\n              (road b c 1)\n              (road c d 1)\n              (road d a 25)  ; shrink this distance to illustrate bad performance\n              ))))\n\n;;;;;;;;;;;;;;;;;;;;;;;\n;;; Mutable counter ;;;\n;;;;;;;;;;;;;;;;;;;;;;;\n\n(define count.current 0)\n(define rules.count '(((next-count next) (+o current 1 next) (count current))))\n(define (current-count-state)\n  (run-datalog rules.count\n               (append facts.+\n                       `((count ,count.current)))))\n(define (state-extract facts.count predicate)\n  (cadar (filter (lambda (fact) (eq? (car fact) predicate)) facts.count)))\n\n(define (now  st) (state-extract st 'count))\n(define (next st) (state-extract st 'next-count))\n\n(define (increment-count!)\n  (let ((st (current-count-state)))\n    (pretty-write `(current count: ,(now st)))\n    (set! count.current (next st))\n    (pretty-write `(next count: ,(next st)))))\n\n(for-each (lambda (_) (increment-count!)) (range 10))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/unmanaged-notation-micro-plus.rkt",
    "content": "#lang racket/base\n(provide run-stratified var? ==)\n(require \"micro-plus.rkt\" (except-in racket/match ==) racket/set)\n\n(define (atom-vars atom) (list->set (map var-name (filter var? atom))))\n\n(define (parse-term expr)\n  (match expr\n    ((? symbol?) (var expr))\n    (`(quote ,c) c)\n    ((cons _ _)  (error \"unsupported function call\" expr))\n    (_           expr)))\n\n(define (parse-atom expr) (cons (car expr) (map parse-term (cdr expr))))\n\n(struct rule (head body+ body-) #:prefab)\n\n(define (parse-rule expr)\n  (let ((head (parse-atom (car expr))))\n    (let loop ((e* (cdr expr)) (atoms.+ '()))\n      (define (finish atoms.-)\n        (let ((r (rule head (reverse atoms.+) atoms.-)))\n          (let ((vars.+ (apply set-union (set) (map atom-vars (rule-body+ r))))\n                (vars.- (apply set-union (set) (map atom-vars (rule-body- r)))))\n            (unless (subset? (atom-vars (rule-head r)) vars.+)\n              (error \"rule head is not range-restricted\" expr))\n            (unless (subset? vars.- vars.+)\n              (error \"rule negated body atoms are not range-restricted\" expr)))\n          r))\n      (match e*\n        ('()            (finish '()))\n        ((cons 'not e*) (finish (map parse-atom e*)))\n        ((cons e    e*) (loop e* (cons (parse-atom e) atoms.+)))))))\n\n(define (run-stratified predicate=>proc predicate=>merge e**.rules F*)\n  (define (enforce r)\n    (match-define (rule head atoms.+ atoms.-) r)\n    (define (+atom->a atom)\n      (let ((proc (hash-ref predicate=>proc (car atom) #f)))\n        (if proc\n          (compute proc (cdr atom))\n          (relate atom))))\n    (define (-atom->a atom)\n      (let ((proc (hash-ref predicate=>proc (car atom) #f)))\n        (if proc\n          (reject-compute proc (cdr atom))\n          (reject-relate atom))))\n    (realize head (conj* (append (map +atom->a atoms.+) (map -atom->a atoms.-)))))\n  (foldr (lambda (c&p* F*)\n           (match c&p*\n             (`(run-once        . ,p*) (produce-once* p* predicate=>merge F*))\n             (`(run-fixed-point . ,p*) (exhaust*      p* predicate=>merge F*))))\n         F*\n         (map (lambda (e*.rules)\n                (define (build e*) (map enforce (map parse-rule e*)))\n                (match e*.rules\n                  ((cons (and (or 'run-once 'run-fixed-point) cmd) e*.rules)\n                   (cons cmd (build e*.rules)))\n                  (_ (cons 'run-fixed-point (build e*.rules)))))\n              e**.rules)))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/datalog/unmanaged-notation-micro.rkt",
    "content": "#lang racket/base\n(provide run-datalog)\n(require \"micro.rkt\" (except-in racket/match ==))\n;(require \"micro-with-sets.rkt\" (except-in racket/match ==))\n\n;; This example syntax demonstrates how to use the core concepts.  This is only\n;; one possible syntax.  For instance, you could also implement a Kanren-style\n;; syntax that uses the same core concepts.\n\n;; - Programs are made up of rules and facts:\n;;   - Atom: a predicate constant followed by zero or more terms\n;;   - Rule: a head atom followed by zero or more body atoms\n;;   - Fact: a single atom\n\n;; - Terms in rules may be variables or constants:\n;;   - An unquoted symbol is treated as a variable.\n;;   - Any quoted value is treated as a constant.\n;;   - All other non-pair values are treated as constants.\n;;   - Variables cannot appear nested in other terms.\n\n;; - Terms in facts are always unquoted constants, including symbols and pairs.\n\n;; - There are no queries.  There are only rules and facts.\n;;   - e.g., (run-datalog rules facts) ==> more-facts\n\n(define (atom-vars atom) (filter var? atom))\n\n(define (rule-safe?! rule)\n  (let ((vars.body (apply append (map atom-vars (cdr rule)))))\n    (for-each (lambda (var.head) (or (member var.head vars.body)\n                                     (error \"unsafe rule\" rule)))\n              (atom-vars (car rule)))))\n\n(define (parse-term expr)\n  (match expr\n    ((? symbol?) (var expr))\n    (`(quote ,c) c)\n    ((cons _ _)  (error \"unsupported function call\" expr))\n    (_           expr)))\n\n(define (parse-atom expr) (cons (car expr) (map parse-term (cdr expr))))\n(define (parse-rule expr) (let ((rule (map parse-atom expr)))\n                            (rule-safe?! rule)\n                            rule))\n\n(define (enforce rule) (realize (car rule) (conj* (map relate (cdr rule)))))\n\n(define (run-datalog e*.rules F*)\n  (exhaust* (map enforce (map parse-rule e*.rules)) F*))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/equivalence-database.rkt",
    "content": "#lang racket/base\n(provide build-equivalence-database)\n(require\n  racket/unsafe/ops\n  ;\"../dbk/safe-unsafe.rkt\"\n  \"../dbk/database.rkt\" racket/fixnum)\n\n(define name.equiv-edge         'equivalence-edge)\n(define name.equiv-class-member 'equivalence-class-member)\n\n;; NOTE: for best performance, the left node of each edge should be the alphabetically smaller text\n(define (build-equivalence-database path en.edge*)\n  (define db.equiv (database path))\n  (unless (or (database-relation-name? db.equiv name.equiv-edge)\n              (database-relation-name? db.equiv name.equiv-class-member))\n    (let ((r.equiv-edge (build-enumerator-relation db.equiv '(text text) en.edge*)))\n      (relation-name-set! r.equiv-edge name.equiv-edge)\n      (relation-attributes-set! r.equiv-edge '(A B))\n      (database-commit! db.equiv)))\n  (let ((r.equiv-edge (database-relation db.equiv name.equiv-edge)))\n    (relation-full-compact! r.equiv-edge)\n    (relation-index-add! r.equiv-edge '(A B))\n    (database-commit! db.equiv)\n    (unless (database-relation-name? db.equiv name.equiv-class-member)\n      (let-values (((text=>id id=>text) (relation-text-dicts r.equiv-edge #f)))\n        (let* ((A=>B=>1   (relation-index-dict r.equiv-edge '(A B) #f))\n               (count.id* (dict-count id=>text))\n               (id=>id    (make-fxvector count.id*)))\n          (define (walk i)\n            (let loop ((id.child i))\n              (let ((id.parent (unsafe-fxvector-ref id=>id id.child)))\n                (if (unsafe-fx= id.parent id.child)\n                    id.child\n                    (let ((id.top (loop id.parent)))\n                      (unless (unsafe-fx= id.top id.parent)\n                        (unsafe-fxvector-set! id=>id id.child id.top))\n                      id.top)))))\n          (range-for-each (lambda (i) (unsafe-fxvector-set! id=>id i i)) count.id*)\n          ((dict-enumerator A=>B=>1)\n           (lambda (id.A B=>1)\n             (let ((current (walk id.A)))\n               (define (unify! candidate)\n                 (let ((candidate (walk candidate)))\n                   (cond ((unsafe-fx< candidate current) (unsafe-fxvector-set! id=>id current candidate)\n                                                         (set! current candidate))\n                         (else (unsafe-fxvector-set! id=>id candidate current)))))\n               ((dict-key-enumerator B=>1) (lambda (id.B) (unify! id.B))))))\n          (range-for-each walk count.id*)  ; walk performs path compression\n          (let ((r.equiv-class-member\n                  (build-enumerator-relation\n                    db.equiv '(text text)\n                    (let ((id->text (lambda (id)\n                                      (dict-ref id=>text id (lambda (v) v)\n                                                (lambda () (error \"invalid text id\" id))))))\n                      (lambda (yield)\n                        (let loop ((i 0))\n                          (when (< i count.id*)\n                            (yield (list (id->text (unsafe-fxvector-ref id=>id i))\n                                         (id->text i)))\n                            (loop (unsafe-fx+ i 1)))))))))\n            (relation-name-set! r.equiv-class-member name.equiv-class-member)\n            (relation-attributes-set! r.equiv-class-member '(representative member))\n            (relation-delete! r.equiv-edge)\n            (database-commit! db.equiv)))))\n    (let ((r.equiv-class-member (database-relation db.equiv name.equiv-class-member)))\n      (relation-full-compact! r.equiv-class-member)\n      (relation-index-add! r.equiv-class-member '(representative member) '(member representative))\n      (database-commit! db.equiv))\n    (database-trash-empty! db.equiv)\n    db.equiv))\n\n(define (range-for-each p count)\n  (let loop ((i 0)) (when (< i count) (p i) (loop (unsafe-fx+ i 1)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/microbenchmarks/integer-bytes-throughput.rkt",
    "content": "#lang racket/base\n(require\n  racket/fixnum\n  racket/unsafe/ops\n  )\n\n(define count 32)\n;(define width 4)\n(define width 3)\n;(define width (read))\n(define total (* count width))\n(define bstr  (make-bytes total))\n(define vec   (make-vector 1))\n\n(define (bytes-nat-set! n size __ ___ bs offset)\n  ;(integer->integer-bytes n size #f #t bs offset) (void)\n  (let ((end (+ offset size)))\n    (let loop ((i offset) (shift (* 8 (- size 1))))\n      (cond ((< i end) (bytes-set! bs i (fxand 255 (fxrshift n shift)))\n                       (loop (+ i 1) (- shift 8)))\n            (else      bs)))))\n;(define (unsafe-bytes-nat-set! n size __ ___ bs offset)\n  ;(let ((end (unsafe-fx+ offset size)))\n    ;(let loop ((i offset) (shift (unsafe-fx* 8 (unsafe-fx- size 1))))\n      ;(cond ((unsafe-fx< i end) (unsafe-bytes-set! bs i (unsafe-fxand 255 (unsafe-fxrshift n shift)))\n                                ;(loop (unsafe-fx+ i 1) (unsafe-fx- shift 8)))\n            ;(else               bs)))))\n\n(define (unsafe-bytes-nat-set! n size __ ___ bs offset)\n  (let loop ((i     offset)\n             ;(shift (unsafe-fx* 8 (unsafe-fx- size 1)))\n             (shift (unsafe-fxlshift (unsafe-fx- size 1) 3))\n             )\n    (when (unsafe-fx<= 0 shift)\n      (unsafe-bytes-set! bs i (unsafe-fxand 255 (unsafe-fxrshift n shift)))\n      (loop (unsafe-fx+ i     1)\n            (unsafe-fx- shift 8)))))\n\n(define (unrolled-unsafe-bytes-nat-set!/1 n size __ ___ bs i)\n  ;; assume size=1\n  (unsafe-bytes-set! bs i n)\n  )\n\n(define (unrolled-unsafe-bytes-nat-set!/2 n size __ ___ bs i)\n  ;; assume size=2\n  (unsafe-bytes-set! bs i       (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (+ i 1) (unsafe-fxand 255 n))\n  )\n\n(define (unrolled-unsafe-bytes-nat-set!/3 n size __ ___ bs i)\n  ;; assume size=3\n  (unsafe-bytes-set! bs i       (unsafe-fxand 255 (unsafe-fxrshift n 16)))\n  (unsafe-bytes-set! bs (+ i 1) (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (+ i 2) (unsafe-fxand 255 n))\n  )\n\n(define (unrolled-unsafe-bytes-nat-set!/4 n size __ ___ bs i)\n  ;; assume size=4\n  (unsafe-bytes-set! bs i       (unsafe-fxand 255 (unsafe-fxrshift n 24)))\n  (unsafe-bytes-set! bs (+ i 1) (unsafe-fxand 255 (unsafe-fxrshift n 16)))\n  (unsafe-bytes-set! bs (+ i 2) (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (+ i 3) (unsafe-fxand 255 n))\n  )\n\n(define (unrolled-unsafe-bytes-nat-set!/5 n size __ ___ bs i)\n  ;; assume size=5\n  (unsafe-bytes-set! bs i       (unsafe-fxand 255 (unsafe-fxrshift n 32)))\n  (unsafe-bytes-set! bs (+ i 1) (unsafe-fxand 255 (unsafe-fxrshift n 24)))\n  (unsafe-bytes-set! bs (+ i 2) (unsafe-fxand 255 (unsafe-fxrshift n 16)))\n  (unsafe-bytes-set! bs (+ i 3) (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (+ i 4) (unsafe-fxand 255 n))\n  )\n\n(define (unrolled-unsafe-bytes-nat-set!/6 n size __ ___ bs i)\n  ;; assume size=6\n  (unsafe-bytes-set! bs i       (unsafe-fxand 255 (unsafe-fxrshift n 36)))\n  (unsafe-bytes-set! bs (+ i 1) (unsafe-fxand 255 (unsafe-fxrshift n 32)))\n  (unsafe-bytes-set! bs (+ i 2) (unsafe-fxand 255 (unsafe-fxrshift n 24)))\n  (unsafe-bytes-set! bs (+ i 3) (unsafe-fxand 255 (unsafe-fxrshift n 16)))\n  (unsafe-bytes-set! bs (+ i 4) (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n  (unsafe-bytes-set! bs (+ i 5) (unsafe-fxand 255 n))\n  )\n\n(define (unrolled-unsafe-bytes-nat-set! n size __ ___ bs offset)\n  (case size\n    ((1) (unrolled-unsafe-bytes-nat-set!/1 n size __ ___ bs offset))\n    ((2) (unsafe-bytes-set! bs offset       (unsafe-fxand 255 (unsafe-fxrshift n 8)))\n         (unsafe-bytes-set! bs (+ offset 1) (unsafe-fxand 255 n)))\n    ((3) (unrolled-unsafe-bytes-nat-set!/3 n size __ ___ bs offset))\n    ((4) (unrolled-unsafe-bytes-nat-set!/4 n size __ ___ bs offset))\n    ((5) (unrolled-unsafe-bytes-nat-set!/5 n size __ ___ bs offset))\n    ((6) (unrolled-unsafe-bytes-nat-set!/6 n size __ ___ bs offset))\n    (else (let loop ((i     offset)\n                     ;(shift (unsafe-fx* 8 (unsafe-fx- size 1)))\n                     (shift (unsafe-fxlshift (unsafe-fx- size 1) 3))\n                     )\n            (when (unsafe-fx<= 0 shift)\n              (unsafe-bytes-set! bs i (unsafe-fxand 255 (unsafe-fxrshift n shift)))\n              (loop (unsafe-fx+ i     1)\n                    (unsafe-fx- shift 8)))))))\n\n;(define (unrolled-unsafe-bytes-nat-set! n size __ ___ bs offset)\n  ;(case size\n    ;((1) (unrolled-unsafe-bytes-nat-set!/1 n size __ ___ bs offset))\n    ;((2) (unrolled-unsafe-bytes-nat-set!/2 n size __ ___ bs offset))\n    ;((3) (unrolled-unsafe-bytes-nat-set!/3 n size __ ___ bs offset))\n    ;((4) (unrolled-unsafe-bytes-nat-set!/4 n size __ ___ bs offset))\n    ;(else (let loop ((i     offset)\n                     ;;(shift (unsafe-fx* 8 (unsafe-fx- size 1)))\n                     ;(shift (unsafe-fxlshift (unsafe-fx- size 1) 3))\n                     ;)\n            ;(when (unsafe-fx<= 0 shift)\n              ;(bytes-set! bs i (unsafe-fxand 255 (unsafe-fxrshift n shift)))\n              ;(loop (unsafe-fx+ i     1)\n                    ;(unsafe-fx- shift 8)))))))\n\n;(define i->ibs integer->integer-bytes)\n;(define i->ibs bytes-nat-set!)\n;(define i->ibs unsafe-bytes-nat-set!)\n(define i->ibs unrolled-unsafe-bytes-nat-set!)\n\n(time\n  (let repeat ((i 10000000))\n    (when (< 0 i)\n      (let loop ((i (- total width)))\n        (when (unsafe-fx<= 0 i)\n          (i->ibs i width #f #f bstr i)\n          (loop (unsafe-fx- i width))))\n      (repeat (unsafe-fx- i 1)))))\n\n#;(define (unsafe-bytes-byte-width-nat-ref bs width offset)\n  (let ((end (unsafe-fx+ offset width)))\n    (let loop ((i offset) (n 0))\n      (cond ((unsafe-fx< i end) (loop (unsafe-fx+ i 1)\n                                      (unsafe-fx+ (unsafe-fxlshift n 8)\n                                                  (unsafe-bytes-ref bs i))))\n            (else               n)))))\n\n(define (1-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-bytes-ref bs i))\n(define (2-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs i) 8)\n              (unsafe-bytes-ref bs (unsafe-fx+ i 1))))\n(define (3-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)    16)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 1))  8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 2))))\n(define (4-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)    24)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 1)) 16)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 2))  8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 3))))\n(define (5-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)    32)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 1)) 24)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 2)) 16)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 3))  8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 4))))\n(define (6-unrolled-unsafe-bytes-nat-ref bs i)\n  (unsafe-fx+ (unsafe-fxlshift (unsafe-bytes-ref bs             i)    40)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 1)) 32)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 2)) 24)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 3)) 16)\n              (unsafe-fxlshift (unsafe-bytes-ref bs (unsafe-fx+ i 4))  8)\n              (unsafe-bytes-ref                  bs (unsafe-fx+ i 5))))\n\n(define (unsafe-bytes-byte-width-nat-ref bs width offset)\n  (case width\n    ((1) (1-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((2) (2-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((3) (3-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((4) (4-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((5) (5-unrolled-unsafe-bytes-nat-ref bs offset))\n    ((6) (6-unrolled-unsafe-bytes-nat-ref bs offset))\n    (else (let ((end (unsafe-fx+ offset width)))\n            (let loop ((i offset) (n 0))\n              (cond ((unsafe-fx< i end) (loop (unsafe-fx+ i 1)\n                                              (unsafe-fx+ (unsafe-fxlshift n 8)\n                                                          (unsafe-bytes-ref bs i))))\n                    (else               n)))))))\n\n(time\n  (let repeat ((i 10000000))\n    (when (< 0 i)\n      (let loop ((i (- total width)))\n        (when (unsafe-fx<= 0 i)\n          (unsafe-vector-set! vec 0 (unsafe-bytes-byte-width-nat-ref bstr width i))\n          (loop (unsafe-fx- i width))))\n      (repeat (unsafe-fx- i 1)))))\n\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/microbenchmarks/place1.rkt",
    "content": "#lang racket/base\n(provide place-main)\n(require \"shared.rkt\" racket/place)\n\n(define (place-main c.in)\n  (displayln \"place 1\")\n  (shared-put (+ 1 (shared-get)))\n  (place-channel-put c.in `(done: ,(shared-get))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/microbenchmarks/place2.rkt",
    "content": "#lang racket/base\n(provide place-main)\n(require racket/place)\n\n(define (place-main c.in)\n  (displayln \"place 2\")\n  (place-channel-put c.in `(done: ,(cons 'place2 (place-channel-get c.in)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/microbenchmarks/shared.rkt",
    "content": "#lang racket/base\n(provide shared-get shared-put)\n\n(define shared-value 5)\n\n(define (shared-get)\n  shared-value)\n\n(define (shared-put x)\n  (set! shared-value x))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-database-small.rkt",
    "content": "#lang racket/base\n(require \"../dbk/database.rkt\"\n         racket/list racket/pretty racket/runtime-path)\n\n(define-runtime-path path.here \".\")\n(define db (database (build-path path.here \"small\")))\n(auto-empty-trash? #t)\n\n(define (build-list-relation db type tuples)\n  (let-values (((insert! finish) (database-relation-builder db type)))\n    (time (for-each insert! tuples))\n    (time (finish))))\n\n;; (- R R) etc.\n\n(define specs `((main   . ,(map list (range 500)))\n                (lower  . ,(map list (range 200)))\n                (middle . ,(map list (range 200 300)))\n                (upper  . ,(map list (range 300 500)))))\n\n(for-each (lambda (spec)\n            (let ((name   (car spec))\n                  (tuples (cdr spec)))\n              (unless (database-relation-name? db name)\n                (let ((R (build-list-relation db '(int) tuples)))\n                  (relation-name-set! R name)\n                  (relation-attributes-set! R '(value))\n                  (database-commit! db)))))\n          specs)\n\n(unless (database-relation-name? db 'gone)\n  (let ((R.gone   (database-relation-new db '(int)))\n        (R.main   (database-relation db 'main))\n        (R.lower  (database-relation db 'lower))\n        (R.middle (database-relation db 'middle))\n        (R.upper  (database-relation db 'upper)))\n    (relation-assign! R.gone (R- R.main R.main))\n    ;(relation-assign! R.gone (R+ R.upper R.lower))\n    ;(relation-assign! R.gone (R- (R- R.main R.lower) R.upper))\n    ;(relation-assign! R.gone (R- R.main (R+ R.lower R.upper)))\n    ;(relation-assign! R.gone (R- (R- (R- R.main R.lower) R.upper) R.middle))\n    ;(relation-assign! R.gone (R- (R- R.main (R+ R.lower R.upper)) R.middle))\n    (relation-name-set! R.gone 'gone)\n    (database-commit! db)))\n\n;(relation-full-compact! (database-relation db 'gone))\n(database-commit! db)\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-dataflow.rkt",
    "content": "#lang racket/base\n(require\n  \"../dbk.rkt\"\n  \"../dbk/data.rkt\"\n  \"../dbk/enumerator.rkt\"\n  racket/pretty\n  racket/runtime-path\n  racket/set)\n\n(define-relation/table (cprop curie key value)   'path \"rtx2/20210204/cprop\")\n(define-relation/table (edge  id subject object) 'path \"rtx2/20210204/edge\")\n(define-relation/table (eprop id key value)      'path \"rtx2/20210204/eprop\")\n\n(define (dict-select d key) (d 'ref key (lambda (v) v) (lambda () (error \"dict ref failed\" key))))\n\n(define-runtime-path path.here \".\")\n\n(define db      (database (path->string (build-path path.here \"rtx-kg2_20210204.db\"))))\n(define r.cprop (database-relation db '(rtx-kg2 cprop)))\n(define r.edge  (database-relation db '(rtx-kg2 edge)))\n(define r.eprop (database-relation db '(rtx-kg2 eprop)))\n\n(define preload-index? #f)\n(define preload-text?  #f)\n\n(define dict.eprop.eid.value.key     (time (relation-index-dict r.eprop '(key value eid)      preload-index?)))\n(define dict.edge.subject.eid.object (time (relation-index-dict r.edge  '(object eid subject) preload-index?)))\n(define dict.cprop.value.key.curie   (time (relation-index-dict r.cprop '(curie key value)    preload-index?)))\n(define domain-dicts                 (time (relation-domain-dicts r.cprop preload-text?)))\n(define dict.string=>id              (car (hash-ref (car domain-dicts) 'text)))\n(define dict.id=>string              (car (hash-ref (cdr domain-dicts) 'text)))\n\n(define (string->id str) (dict-select dict.string=>id str))\n(define (id->string id)  (dict-select dict.id=>string id))\n\n(define (benchmark-find-treatments curie.target)\n  (define (run-query yield)\n    (define curie.nausea.id       (string->id curie.target))\n    (define ekey.predicate.id     (string->id \"predicate\"))\n    (define evalue.treats.id      (string->id \"biolink:treats\"))\n    (define ckey.category.id      (string->id \"category\"))\n    (define ckey.name.id          (string->id \"name\"))\n    (define dict.eprop.eid.value  (dict-select dict.eprop.eid.value.key     ekey.predicate.id))\n    (define dict.eprop.eid        (dict-select dict.eprop.eid.value         evalue.treats.id))\n    (define dict.edge.subject.eid (dict-select dict.edge.subject.eid.object curie.nausea.id))\n    ((merge-join dict.eprop.eid dict.edge.subject.eid)\n     (lambda (eid __ dict.edge.subject)\n       ((merge-join dict.edge.subject dict.cprop.value.key.curie)\n        (lambda (subject.id __ dict.cprop.value.key)\n          (define subject             (id->string subject.id))\n          (define dict.cprop.category (dict-select dict.cprop.value.key ckey.category.id))\n          (define dict.cprop.name     (dict-select dict.cprop.value.key ckey.name.id))\n          ((merge-join dict.cprop.category dict.id=>string)\n           (lambda (category.id __ category)\n             ((merge-join dict.cprop.name dict.id=>string)\n              (lambda (name.id __ name)\n                (yield (list subject category name)))))))))))\n  ;; Some nausea timings\n  ;; cpu time: 1485 real time: 1610 gc time: 19\n  ;; cpu time: 1539 real time: 1557 gc time: 15\n  ;; cpu time: 1538 real time: 1556 gc time: 24\n  (define results.old (time (run* (s cat name)\n                              (fresh (eid)\n                                (edge eid s curie.target)\n                                (cprop s \"category\" cat)\n                                (cprop s \"name\" name)\n                                (eprop eid \"predicate\" \"biolink:treats\")))))\n  ;; Some nausea timings\n  ;; cpu time: 27 real time: 27 gc time: 0\n  ;; cpu time: 31 real time: 31 gc time: 0\n  ;; cpu time: 30 real time: 31 gc time: 0\n  (define results.new (time (enumerator->rlist run-query)))\n  ;; 149 results\n  (pretty-write `(old:    ,(length results.old) ,results.old))\n  (pretty-write `(new:    ,(length results.new) ,results.new))\n  (pretty-write `(equal?: ,(equal? (list->set results.old) (list->set results.new)))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-equivalence-database.rkt",
    "content": "#lang racket/base\n(require \"equivalence-database.rkt\" \"../dbk/database.rkt\" \"../dbk/enumerator.rkt\"\n         racket/pretty racket/runtime-path)\n\n(define name.equiv-edge         'equivalence-edge)\n(define name.equiv-class-member 'equivalence-class-member)\n\n(define-runtime-path path.here \".\")\n\n(define db.equiv\n  (build-equivalence-database\n    (build-path path.here \"test-equivalence.db\")\n    (list->enumerator\n      '((#\"A\" #\"B\")\n        (#\"C\" #\"D\")\n        (#\"C\" #\"H\")\n        (#\"B\" #\"F\")\n        (#\"E\" #\"G\")\n        (#\"G\" #\"H\")\n        (#\"L\" #\"M\")\n        (#\"M\" #\"O\")\n        (#\"N\" #\"O\")\n        (#\"F\" #\"O\")))))\n\n(define r.equiv-class-member (database-relation db.equiv name.equiv-class-member))\n\n(define-values (text=>id id=>text) (relation-text-dicts r.equiv-class-member #f))\n(define (text->id text) (dict-ref text=>id text (lambda (v) v)\n                                  (lambda () (error \"invalid text\" text))))\n(define (id->text id)   (dict-ref id=>text id (lambda (v) v)\n                                  (lambda () (error \"invalid text id\" id))))\n\n(define rep=>member=>1 (relation-index-dict r.equiv-class-member '(representative member) #f))\n\n((dict-enumerator rep=>member=>1)\n (lambda (id.rep member=>1)\n   (pretty-write `(representative: ,(id->text id.rep)))\n   ((dict-key-enumerator member=>1)\n    (lambda (id.member)\n      (pretty-write `(member: ,(id->text id.member)))))\n   (newline)))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-ingest-example-simple.rkt",
    "content": "#lang racket/base\n(require \"../dbk/io.rkt\"\n         \"../dbk/data.rkt\"\n         \"../dbk/stream.rkt\"\n         racket/runtime-path)\n\n(define-runtime-path path.here \".\")\n\n(define db (database (build-path path.here \"example-db\")))\n\n(unless (database-relation-has? db '(example cprop))\n  (database-relation-add!\n    db '(example cprop)\n    'attributes '(curie  key    value)\n    'type       '(string string string)\n    'source     (in:file \"example/example.nodeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\"))))\n\n(unless (database-relation-has? db '(example edge))\n  (database-relation-add!\n    db '(example edge)\n    'attributes '(eid subject object)\n    'type       '(nat string  string)\n    'source     (s-map (lambda (row) (cons (string->number (car row)) (cdr row)))\n                       (in:file \"example/example.edge.tsv\"     'header '(\":ID\" \":START\" \":END\")))))\n\n(unless (database-relation-has? db '(example eprop))\n  (database-relation-add!\n    db '(example eprop)\n    'attributes '(eid key    value)\n    'type       '(nat string string)\n    'source     (s-map (lambda (row) (cons (string->number (car row)) (cdr row)))\n                       (in:file \"example/example.edgeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\")))))\n\n(define cprop (database-relation db '(example cprop)))\n(define edge  (database-relation db '(example edge)))\n(define eprop (database-relation db '(example eprop)))\n\n(database-compact! db)\n\n(relation-index-add! cprop\n                     '(curie key)\n                     '(key value))\n(relation-index-add! edge\n                     '(eid)\n                     '(subject object)\n                     '(subject eid)\n                     '(object  eid))\n(relation-index-add! eprop\n                     '(eid key)\n                     '(key value))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-ingest-example.rkt",
    "content": "#lang racket/base\n(require \"../dbk/io.rkt\"\n         racket/match)\n\n;; TODO: require these\n(define file-checksum          #f)\n(define-syntax-rule (run* body ...) '(TODO: run* body ...))\n(define database               #f)\n(define database-relation      #f)\n(define database-update!       #f)\n(define database-checkpoint!   #f)\n(define database-index-build!  #f)\n(define database-compact!      #f)\n(define relation-database      #f)\n(define relation-name          #f)\n(define relation-insert        #f)\n(define relation-index-add!    #f)\n(define relation-index-remove! #f)\n(define relation-index-build!  #f)\n\n(define db (database \"path/to/example/db\"\n                     'immediate-checkpoint?  #f\n                     'immediate-index-build? #f\n                     'immediate-compact?     #f))\n\n(define update-history (database-relation\n                         db\n                         'name       'update-history\n                         'attributes '(relation-name update-time update-kind file-name file-size file-checksum)\n                         'type       '(#f            nat         #f          string    nat       string)))\n(database-checkpoint! db)\n\n(define cprop (database-relation\n                db '(example cprop)\n                'attributes '(curie  key    value)\n                'type       '(string string string)))\n(define eprop (database-relation\n                db '(example eprop)\n                'attributes '(eid key    value)\n                'type       '(nat string string)))\n(define edge  (database-relation\n                db '(example edge)\n                'attributes '(eid subject object)\n                'type       '(nat string  string)))\n(relation-index-add! cprop\n                     '(curie key)\n                     '(key value))\n(relation-index-add! eprop\n                     '(eid key)\n                     '(key value))\n(relation-index-add! edge\n                     '(eid)\n                     '(subject object)\n                     '(object subject))\n(database-checkpoint! db)\n\n(define (relation-ingest! R path.dir file-name file-params)\n  (define name.R              (relation-name R))\n  (define path.file           (build-path path.dir file-name))\n  (define checksum.file       (file-checksum path.file))\n  (define size.file           (file-size path.file))\n  (define file-ingest-history (run* (timestamp size checksum)\n                                (update-history name.R timestamp 'ingest file-name size checksum)))\n  (if (null? file-ingest-history)\n    (begin (database-update!\n             (relation-database R)\n             (relation-insert update-history (list (list name.R (current-milliseconds)\n                                                         'ingest file-name size.file checksum.file)))\n             (relation-insert R              (apply in:file path.file file-params)))\n           (database-checkpoint! db))\n    (unless (ormap (lambda (entry) (match entry\n                                     ((list timestamp size checksum) (and (equal? size     size.file)\n                                                                          (equal? checksum checksum.file)))\n                                     (_                              #f)))\n                   file-ingest-history)\n      (error \"inconsistent data ingestion history:\"\n             'relation-name name.R\n             'file-name     file-name\n             'file-size     size.file\n             'file-checksum checksum.file\n             'history       file-ingest-history))))\n\n(relation-ingest! cprop \"example\" \"example.nodeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\"))\n(relation-ingest! eprop \"example\" \"example.edgeprop.tsv\" 'header '(\":ID\" \"propname\" \"value\"))\n(relation-ingest! edge  \"example\" \"example.edge.tsv\"     'header '(\":ID\" \":START\" \":END\"))\n\n(database-index-build! db)\n(database-compact!     db)\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-low-level.rkt",
    "content": "#lang racket/base\n(provide\n  query:Known->Known\n  query:Known->X\n  query:X->Known\n  query:Known<-X->Known\n  query:Known->X->Known\n  query:X->Y->Known\n  query:Concept\n  concept-properties\n  concept-property-values\n  curie->properties\n  edge-properties\n  edge-property-values\n  edge-id->properties)\n(require \"../dbk/database.rkt\" \"../dbk/enumerator.rkt\" \"../dbk/stream.rkt\"\n         racket/fixnum racket/match racket/pretty racket/runtime-path racket/set)\n\n;; Control whether data is preloaded from disk and kept in-memory.\n;; NOTE: without preloading, thread-safety is not guaranteed by default.\n(define preload-index? #f)\n\n(define str.predicate \"predicate\")\n;(define str.predicate \"edge_label\")\n\n(define (dict-get d key)\n  (dict-ref d key (lambda (v) v) (lambda () (error \"dict-get failed\" key))))\n\n(define (string*->id=>1 str*) (bytes*->id=>1 (map string->bytes/utf-8 str*)))\n(define (bytes*->id=>1 text*)\n  (let* ((text* (sort (set->list (list->set text*)) bytes<?))\n         (id*   (list->vector (map text->id text*))))\n    (dict:ref (lambda (i) (vector-ref id* i)) fx<\n              (lambda (_) '()) 0 (vector-length id*))))\n\n(define (string->id str) (text->id (string->bytes/utf-8 str)))\n(define (id->string id)  (bytes->string/utf-8 (id->text id)))\n(define (text->id   b)   (initialize-text!) (dict-get (thread-cell-ref tcell.text=>id) b))\n(define (id->text   id)  (initialize-text!) (dict-get (thread-cell-ref tcell.id=>text) id))\n\n(define (concept-properties)          (map id->string (enumerator->list\n                                                        (dict-key-enumerator ckey=>cvalue=>curie=>1))))\n(define (edge-properties)             (map id->string (enumerator->list\n                                                        (dict-key-enumerator ekey=>evalue=>eid=>1))))\n(define (concept-property-values key) (s-map id->string (enumerator->s\n                                                          (dict-key-enumerator\n                                                            (dict-get ckey=>cvalue=>curie=>1\n                                                                      (string->id key))))))\n(define (edge-property-values    key) (s-map id->string (enumerator->s\n                                                          (dict-key-enumerator\n                                                            (dict-get ekey=>evalue=>eid=>1\n                                                                      (string->id key))))))\n(define (curie->properties curie)\n  (enumerator->list\n    (lambda (yield)\n      ((dict-enumerator (dict-get curie=>ckey=>cvalue=>1 (string->id curie)))\n       (lambda (ckey cvalue=>1)\n         (yield (map id->string (cons ckey (enumerator->list\n                                             (dict-key-enumerator cvalue=>1))))))))))\n(define (edge-id->properties eid)\n  (enumerator->list\n    (lambda (yield)\n      ((dict-enumerator (dict-get eid=>ekey=>evalue=>1 eid))\n       (lambda (ekey evalue=>1)\n         (yield (map id->string (cons ekey (enumerator->list\n                                             (dict-key-enumerator evalue=>1))))))))))\n\n;; query:Known->X is analogous to a miniKanren-style query with this shape:\n; (run* (s sname p o oname)\n;   (fresh (id category)\n;     (edge id s o)\n;     (cprop o \"category\" category)\n;     (cprop s \"name\" sname)\n;     (cprop o \"name\" oname)\n;     (eprop id \"predicate\" p)\n;     (membero s subject-curies)\n;     (membero p predicates)\n;     (membero category object-categories)))\n\n(define (query:Known->X curie*.K predicate*.K->X category*.X)\n  (define (query. yield)\n    (let* ((ekey.predicate (string->id str.predicate))\n           (ckey.name      (string->id \"name\"))\n           (K=>1           (string*->id=>1 curie*.K)))\n      ((merge-join fx< K=>1 subject=>object=>eid=>1)\n       (lambda (id.K __ X=>eid=>1)\n         (let* ((id.name.K (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.K) ckey.name)))\n                (name.K    (id->string id.name.K))\n                (K         (id->string id.K)))\n           ((merge-join fx< X=>eid=>1 curie=>ckey=>cvalue=>1)\n            (lambda (id.X eid=>1 ckey=>cvalue=>1)\n              (let* ((id.name.X (dict-min (dict-get ckey=>cvalue=>1 ckey.name)))\n                     (name.X    (id->string id.name.X))\n                     (X         (id->string id.X)))\n                ((dict-key-enumerator eid=>1)\n                 (lambda (eid)\n                   (let ((predicate.K->X\n                           (id->string (dict-min (dict-get (dict-get eid=>ekey=>evalue=>1 eid)\n                                                           ekey.predicate)))))\n                     (yield (list* K name.K predicate.K->X X name.X\n                                   (edge-id->properties eid))))))))))))))\n  (define (query.c yield)\n    (let* ((ekey.predicate     (string->id str.predicate))\n           (ckey.category      (string->id \"category\"))\n           (ckey.name          (string->id \"name\"))\n           (K=>1               (string*->id=>1 curie*.K))\n           (category=>1        (string*->id=>1 category*.X))\n           (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n      ((merge-join fx< K=>1 subject=>object=>eid=>1)\n       (lambda (id.K __ X=>eid=>1)\n         (let* ((id.name.K (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.K) ckey.name)))\n                (name.K    (id->string id.name.K))\n                (K         (id->string id.K)))\n           ((merge-join fx< category=>1 category=>curie=>1)\n            (lambda (__ ___ X=>1.cprop)\n              ((merge-join fx< X=>eid=>1 X=>1.cprop)\n               (lambda (id.X eid=>1 __)\n                 (let* ((id.name.X (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.X)\n                                                       ckey.name)))\n                        (name.X    (id->string id.name.X))\n                        (X         (id->string id.X)))\n                   ((dict-key-enumerator eid=>1)\n                    (lambda (eid)\n                      (let ((predicate.K->X\n                              (id->string (dict-min (dict-get (dict-get eid=>ekey=>evalue=>1 eid)\n                                                              ekey.predicate)))))\n                        (yield (list* K name.K predicate.K->X X name.X\n                                      (edge-id->properties eid))))))))))))))))\n  (define (query.p yield)\n    (let* ((ekey.predicate     (string->id str.predicate))\n           (ckey.name          (string->id \"name\"))\n           (K=>1               (string*->id=>1 curie*.K))\n           (predicate=>1       (string*->id=>1 predicate*.K->X))\n           (predicate=>eid=>1  (dict-get ekey=>evalue=>eid=>1 ekey.predicate)))\n      ((merge-join fx< K=>1 subject=>eid=>object=>1)\n       (lambda (id.K __ eid=>X=>1)\n         (let* ((id.name.K (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.K) ckey.name)))\n                (name.K    (id->string id.name.K))\n                (K         (id->string id.K)))\n           ((merge-join fx< predicate=>1 predicate=>eid=>1)\n            (lambda (id.predicate.K->X __ eid=>1)\n              (let ((predicate.K->X (id->string id.predicate.K->X)))\n                ((merge-join fx< eid=>1 eid=>X=>1)\n                 (lambda (eid __ X=>1.edge)\n                   ((merge-join fx< X=>1.edge curie=>ckey=>cvalue=>1)\n                    (lambda (id.X __ ckey=>cvalue=>1)\n                      (let* ((id.name.X (dict-min (dict-get ckey=>cvalue=>1 ckey.name)))\n                             (name.X    (id->string id.name.X))\n                             (X         (id->string id.X)))\n                        (yield (list* K name.K predicate.K->X X name.X\n                                      (edge-id->properties eid))))))))))))))))\n  (define (query.p&c yield)\n    (let* ((ekey.predicate     (string->id str.predicate))\n           (ckey.category      (string->id \"category\"))\n           (ckey.name          (string->id \"name\"))\n           (K=>1               (string*->id=>1 curie*.K))\n           (predicate=>1       (string*->id=>1 predicate*.K->X))\n           (category=>1        (string*->id=>1 category*.X))\n           (predicate=>eid=>1  (dict-get ekey=>evalue=>eid=>1   ekey.predicate))\n           (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n      ((merge-join fx< K=>1 subject=>eid=>object=>1)\n       (lambda (id.K __ eid=>X=>1)\n         (let* ((id.name.K (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.K) ckey.name)))\n                (name.K    (id->string id.name.K))\n                (K         (id->string id.K)))\n           ((merge-join fx< predicate=>1 predicate=>eid=>1)\n            (lambda (id.predicate.K->X __ eid=>1)\n              (let ((predicate.K->X (id->string id.predicate.K->X)))\n                ((merge-join fx< eid=>1 eid=>X=>1)\n                 (lambda (eid __ X=>1.edge)\n                   ((merge-join fx< category=>1 category=>curie=>1)\n                    (lambda (__ ___ X=>1.cprop)\n                      ((dict-join-ordered\n                         (lambda (yield)\n                           ((merge-join fx< X=>1.cprop X=>1.edge)\n                            (lambda (id.X __ ___)\n                              (yield id.X '()))))\n                         curie=>ckey=>cvalue=>1)\n                       (lambda (id.X __ ckey=>cvalue=>1)\n                         (let* ((id.name.X (dict-min (dict-get ckey=>cvalue=>1 ckey.name)))\n                                (name.X    (id->string id.name.X))\n                                (X         (id->string id.X)))\n                           (yield (list* K name.K predicate.K->X X name.X\n                                         (edge-id->properties eid))))))))))))))))))\n  (time (enumerator->rlist (if predicate*.K->X\n                               (if category*.X query.p&c query.p)\n                               (if category*.X query.c   query.)))))\n\n;; query:X->Known is analogous to a miniKanren-style query with this shape:\n; (run* (s sname p o oname)\n;   (fresh (id category)\n;     (edge id s o)\n;     (cprop s \"category\" category)\n;     (cprop s \"name\" sname)\n;     (cprop o \"name\" oname)\n;     (eprop id \"predicate\" p)\n;     (membero o object-curies)\n;     (membero p predicates)\n;     (membero category subject-categories)))\n\n(define (query:X->Known category*.X predicate*.X->K curie*.K)\n  (define (query. yield)\n    (let* ((ekey.predicate (string->id str.predicate))\n           (ckey.name      (string->id \"name\"))\n           (K=>1           (string*->id=>1 curie*.K)))\n      ((merge-join fx< K=>1 object=>subject=>eid=>1)\n       (lambda (id.K __ X=>eid=>1)\n         (let* ((id.name.K (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.K) ckey.name)))\n                (name.K    (id->string id.name.K))\n                (K         (id->string id.K)))\n           ((merge-join fx< X=>eid=>1 curie=>ckey=>cvalue=>1)\n            (lambda (id.X eid=>1 ckey=>cvalue=>1)\n              (let* ((id.name.X (dict-min (dict-get ckey=>cvalue=>1 ckey.name)))\n                     (name.X    (id->string id.name.X))\n                     (X         (id->string id.X)))\n                ((dict-key-enumerator eid=>1)\n                 (lambda (eid)\n                   (let ((predicate.X->K\n                           (id->string (dict-min (dict-get (dict-get eid=>ekey=>evalue=>1 eid)\n                                                           ekey.predicate)))))\n                     (yield (list* X name.X predicate.X->K K name.K\n                                   (edge-id->properties eid))))))))))))))\n  (define (query.c yield)\n    (let* ((ekey.predicate     (string->id str.predicate))\n           (ckey.category      (string->id \"category\"))\n           (ckey.name          (string->id \"name\"))\n           (K=>1               (string*->id=>1 curie*.K))\n           (category=>1        (string*->id=>1 category*.X))\n           (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n      ((merge-join fx< K=>1 object=>subject=>eid=>1)\n       (lambda (id.K __ X=>eid=>1)\n         (let* ((id.name.K (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.K) ckey.name)))\n                (name.K    (id->string id.name.K))\n                (K         (id->string id.K)))\n           ((merge-join fx< category=>1 category=>curie=>1)\n            (lambda (__ ___ X=>1.cprop)\n              ((merge-join fx< X=>eid=>1 X=>1.cprop)\n               (lambda (id.X eid=>1 __)\n                 (let* ((id.name.X (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.X)\n                                                       ckey.name)))\n                        (name.X    (id->string id.name.X))\n                        (X         (id->string id.X)))\n                   ((dict-key-enumerator eid=>1)\n                    (lambda (eid)\n                      (let ((predicate.X->K\n                              (id->string (dict-min (dict-get (dict-get eid=>ekey=>evalue=>1 eid)\n                                                              ekey.predicate)))))\n                        (yield (list* X name.X predicate.X->K K name.K\n                                      (edge-id->properties eid))))))))))))))))\n  (define (query.p yield)\n    (let* ((ekey.predicate     (string->id str.predicate))\n           (ckey.name          (string->id \"name\"))\n           (K=>1               (string*->id=>1 curie*.K))\n           (predicate=>1       (string*->id=>1 predicate*.X->K))\n           (predicate=>eid=>1  (dict-get ekey=>evalue=>eid=>1   ekey.predicate)))\n      ((merge-join fx< K=>1 object=>eid=>subject=>1)\n       (lambda (id.K __ eid=>X=>1)\n         (let* ((id.name.K (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.K) ckey.name)))\n                (name.K    (id->string id.name.K))\n                (K         (id->string id.K)))\n           ((merge-join fx< predicate=>1 predicate=>eid=>1)\n            (lambda (id.predicate.X->K __ eid=>1)\n              (let ((predicate.X->K (id->string id.predicate.X->K)))\n                ((merge-join fx< eid=>1 eid=>X=>1)\n                 (lambda (eid __ X=>1.edge)\n                   ((merge-join fx< X=>1.edge curie=>ckey=>cvalue=>1)\n                    (lambda (id.X __ ckey=>cvalue=>1)\n                      (let* ((id.name.X (dict-min (dict-get ckey=>cvalue=>1 ckey.name)))\n                             (name.X    (id->string id.name.X))\n                             (X         (id->string id.X)))\n                        (yield (list* X name.X predicate.X->K K name.K\n                                      (edge-id->properties eid))))))))))))))))\n  (define (query.p&c yield)\n    (let* ((ekey.predicate     (string->id str.predicate))\n           (ckey.category      (string->id \"category\"))\n           (ckey.name          (string->id \"name\"))\n           (K=>1               (string*->id=>1 curie*.K))\n           (predicate=>1       (string*->id=>1 predicate*.X->K))\n           (category=>1        (string*->id=>1 category*.X))\n           (predicate=>eid=>1  (dict-get ekey=>evalue=>eid=>1   ekey.predicate))\n           (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n      ((merge-join fx< K=>1 object=>eid=>subject=>1)\n       (lambda (id.K __ eid=>X=>1)\n         (let* ((id.name.K (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.K) ckey.name)))\n                (name.K    (id->string id.name.K))\n                (K         (id->string id.K)))\n           ((merge-join fx< predicate=>1 predicate=>eid=>1)\n            (lambda (id.predicate.X->K __ eid=>1)\n              (let ((predicate.X->K (id->string id.predicate.X->K)))\n                ((merge-join fx< eid=>1 eid=>X=>1)\n                 (lambda (eid __ X=>1.edge)\n                   ((merge-join fx< category=>1 category=>curie=>1)\n                    (lambda (__ ___ X=>1.cprop)\n                      ((dict-join-ordered\n                         (lambda (yield)\n                           ((merge-join fx< X=>1.cprop X=>1.edge)\n                            (lambda (id.X __ ___)\n                              (yield id.X '()))))\n                         curie=>ckey=>cvalue=>1)\n                       (lambda (id.X __ ckey=>cvalue=>1)\n                         (let* ((id.name.X (dict-min (dict-get ckey=>cvalue=>1 ckey.name)))\n                                (name.X    (id->string id.name.X))\n                                (X         (id->string id.X)))\n                           (yield (list* X name.X predicate.X->K K name.K\n                                         (edge-id->properties eid))))))))))))))))))\n  (time (enumerator->rlist (if predicate*.X->K\n                               (if category*.X query.p&c query.p)\n                               (if category*.X query.c   query.)))))\n\n;; query:Known<-X->Known is analogous to a miniKanren-style query with this shape:\n;(run* (K1 name.K1 predicates.K1<-X X name.X predicates.X->K1 K2 name.K2)\n;  (fresh (id1 id2 category.X)\n;    (edge id1 X K1)\n;    (edge id2 X K2)\n;    (cprop X   \"category\" category.X)\n;    (cprop X   \"name\" name.X)\n;    (cprop K1  \"name\" name.K1)\n;    (cprop K2  \"name\" name.K2)\n;    (eprop id1 \"predicate\" K1<-X)\n;    (eprop id2 \"predicate\" X->K2)\n;    (membero category.X categories.X)\n;    (membero K1         curies.K1)\n;    (membero K1<-X      predicates.K1<-X)\n;    (membero K2         curies.K2)\n;    (membero X->K2      predicates.X->K2)))\n\n(define (query:Known<-X->Known curie*.K1 predicate*.K1<-X category*.X predicate*.X->K2 curie*.K2)\n  (define (candidate*->dict candidate*)\n    (let* ((candidate* (sort candidate* (lambda (a b) (string<? (car a) (car b)))))\n           (group*     (list->vector (s-group candidate* equal? car)))\n           (ref.value  (lambda (i) (vector-ref group* i))))\n      (dict:ref (lambda (i) (caar (ref.value i))) string<?\n                ref.value 0 (vector-length group*))))\n  (let* ((X=>XK1=>1 (candidate*->dict (query:X->Known category*.X predicate*.K1<-X curie*.K1)))\n         (X=>XK2=>1 (candidate*->dict (query:X->Known category*.X predicate*.X->K2 curie*.K2))))\n    (time (enumerator->list\n            (lambda (yield)\n              ((merge-join string<? X=>XK1=>1 X=>XK2=>1)\n               (lambda (X XK1* XK2*)\n                 (for-each\n                   (lambda (XK1)\n                     (match-define (list* _ name.X predicate.X->K1 K1 name.K1 props1) XK1)\n                     (for-each\n                       (lambda (XK2)\n                         (match-define (list* _ _ X->K2 K2 name.K2 props2) XK2)\n                         (yield (append (list K1 name.K1 predicate.X->K1 X name.X X->K2 K2 name.K2)\n                                        (append props1 props2))))\n                       XK2*))\n                   XK1*))))))))\n\n(define (query:Known->X->Known curie*.K1 predicate*.K1->X category*.X predicate*.X->K2 curie*.K2)\n  (define (KX*->dict candidate*)\n    (let* ((candidate* (sort candidate* (lambda (a b) (string<? (cadddr a) (cadddr b)))))\n           (group*     (list->vector (s-group candidate* equal? cadddr)))\n           (ref.value  (lambda (i) (vector-ref group* i))))\n      (dict:ref (lambda (i) (cadddr (car (ref.value i)))) string<?\n                ref.value 0 (vector-length group*))))\n  (define (XK*->dict candidate*)\n    (let* ((candidate* (sort candidate* (lambda (a b) (string<? (car a) (car b)))))\n           (group*     (list->vector (s-group candidate* equal? car)))\n           (ref.value  (lambda (i) (vector-ref group* i))))\n      (dict:ref (lambda (i) (caar (ref.value i))) string<?\n                ref.value 0 (vector-length group*))))\n  (let* ((X=>K1X* (KX*->dict (query:Known->X curie*.K1 predicate*.K1->X category*.X)))\n         (X=>XK2* (XK*->dict (query:X->Known category*.X predicate*.X->K2 curie*.K2))))\n    (time (enumerator->list\n            (lambda (yield)\n              ((merge-join string<? X=>K1X* X=>XK2*)\n               (lambda (X K1X* XK2*)\n                 (for-each\n                   (lambda (K1X)\n                     (match-define (list* K1 name.K1 predicate.X->K1 _ name.X props1) K1X)\n                     (for-each\n                       (lambda (XK2)\n                         (match-define (list* _ _ X->K2 K2 name.K2 props2) XK2)\n                         (yield (append (list K1 name.K1 predicate.X->K1 X name.X X->K2 K2 name.K2)\n                                        (append props1 props2))))\n                       XK2*))\n                   K1X*))))))))\n\n(define (query:X->Y->Known category*.X predicate*.X->Y category*.Y predicate*.Y->K curie*.K)\n  (define (result*->dict key result*)\n    (let* ((result*   (sort result* (lambda (a b) (string<? (key a) (key b)))))\n           (group*    (list->vector (s-group result* equal? key)))\n           (ref.value (lambda (i) (vector-ref group* i))))\n      (dict:ref (lambda (i) (key (car (ref.value i)))) string<?\n                ref.value 0 (vector-length group*))))\n  (let* ((Y=>YK=>1 (result*->dict car    (query:X->Known category*.Y predicate*.Y->K curie*.K)))\n         (curie*.Y (enumerator->list (dict-key-enumerator Y=>YK=>1)))\n         (Y=>XY=>1 (result*->dict cadddr (query:X->Known category*.X predicate*.X->Y curie*.Y))))\n    (time (enumerator->list\n            (lambda (yield)\n              ((merge-join string<? Y=>XY=>1 Y=>YK=>1)\n               (lambda (Y XY* YK*)\n                 (for-each\n                   (lambda (XY)\n                     (match-define (list* X name.X predicate.X->Y _ name.Y props.X->Y) XY)\n                     (for-each\n                       (lambda (YK)\n                         (match-define (list* _ _ Y->K K name.K props.Y->K) YK)\n                         (yield (append (list X name.X predicate.X->Y Y name.Y Y->K K name.K)\n                                        (append props.X->Y props.Y->K))))\n                       YK*))\n                   XY*))))))))\n\n(define (query:Known->Known curie*.S predicate*.S->O curie*.O)\n  (query:dict.Known->dict.Known\n    (string*->id=>1 curie*.S) predicate*.S->O (string*->id=>1 curie*.O)))\n\n(define (query:dict.Known->dict.Known curie=>1.S predicate*.S->O curie=>1.O)\n  (define (query yield)\n    (let* ((ekey.predicate    (string->id str.predicate))\n           (ckey.name         (string->id \"name\"))\n           (predicate=>1      (string*->id=>1 predicate*.S->O))\n           (predicate=>eid=>1 (dict-get ekey=>evalue=>eid=>1 ekey.predicate)))\n      ((merge-join fx< curie=>1.S subject=>eid=>object=>1)\n       (lambda (id.S __ eid=>O=>1)\n         (let* ((id.name.S (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.S) ckey.name)))\n                (name.S    (id->string id.name.S))\n                (S         (id->string id.S)))\n           ((merge-join fx< predicate=>1 predicate=>eid=>1)\n            (lambda (id.predicate.S->O __ eid=>1)\n              (let ((predicate.S->O (id->string id.predicate.S->O)))\n                ((merge-join fx< eid=>1 eid=>O=>1)\n                 (lambda (eid __ O=>1)\n                   ((merge-join fx< curie=>1.O O=>1)\n                    (lambda (id.O __ ___)\n                      (let* ((id.name.O (dict-min (dict-get (dict-get curie=>ckey=>cvalue=>1 id.O)\n                                                            ckey.name)))\n                             (name.O    (id->string id.name.O))\n                             (O         (id->string id.O)))\n                        (yield (list* S name.S predicate.S->O O name.O\n                                      (edge-id->properties eid))))))))))))))))\n  (time (enumerator->rlist query)))\n\n(define (query:Concept curie*)\n  (define (query yield)\n    (let ((curie=>1 (string*->id=>1 curie*)))\n      ((merge-join fx< curie=>1 curie=>ckey=>cvalue=>1)\n       (lambda (id.curie _ ckey=>cvalue=>1)\n         (let ((curie (id->string id.curie)))\n           ((dict-enumerator ckey=>cvalue=>1)\n            (lambda (id.key cvalue=>1)\n              (yield (list curie (id->string id.key) (id->string (dict-min cvalue=>1)))))))))))\n  (time (enumerator->list query)))\n\n(define-runtime-path path.here \".\")\n(define db (database (build-path path.here \"name-of-your-database.db\")))\n\n(define r.cprop (database-relation db 'cprop))\n(define r.edge  (database-relation db 'edge))\n(define r.eprop (database-relation db 'eprop))\n\n(define tcell.text=>id (make-thread-cell #f))\n(define tcell.id=>text (make-thread-cell #f))\n\n(define (initialize-text!)\n  (unless (thread-cell-ref tcell.text=>id)\n    (define-values (text=>id id=>text) (relation-text-dicts r.cprop #f))\n    (thread-cell-set! tcell.text=>id text=>id)\n    (thread-cell-set! tcell.id=>text id=>text)))\n\n(displayln \"Loading relation index dictionaries\")\n(define subject=>object=>eid=>1 (time (relation-index-dict r.edge  '(subject object eid) preload-index?)))\n(define object=>subject=>eid=>1 (time (relation-index-dict r.edge  '(object subject eid) preload-index?)))\n(define subject=>eid=>object=>1 (time (relation-index-dict r.edge  '(subject eid object) preload-index?)))\n(define object=>eid=>subject=>1 (time (relation-index-dict r.edge  '(object eid subject) preload-index?)))\n(define ekey=>evalue=>eid=>1    (time (relation-index-dict r.eprop '(key value eid)      preload-index?)))\n(define eid=>ekey=>evalue=>1    (time (relation-index-dict r.eprop '(eid key value)      preload-index?)))\n(define ckey=>cvalue=>curie=>1  (time (relation-index-dict r.cprop '(key value curie)    preload-index?)))\n(define curie=>ckey=>cvalue=>1  (time (relation-index-dict r.cprop '(curie key value)    preload-index?)))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-mk.rkt",
    "content": "#lang racket/base\n(require \"../dbk.rkt\" racket/function racket/list racket/pretty racket/set)\n(print-as-expression #f)\n(pretty-print-abbreviate-read-macros #f)\n\n(define (sort/any xs) (sort xs any<?))\n\n(define-syntax-rule (test name e expected)\n  (begin (printf \"Testing ~s:\\n\" name)\n         (let ((answer e))\n           (unless (equal? answer expected)\n             (pretty-print 'e)\n             (printf \"FAILED ~s:\\n\" name)\n             (printf \"  ANSWER:\\n\")\n             (pretty-print answer)\n             (printf \"  EXPECTED:\\n\")\n             (pretty-print expected)))))\n\n(test 'appendo.forward\n  (run* z (appendo '(1 2 3) '(4 5) z))\n  '((1 2 3 4 5)))\n(test 'appendo.backward\n  (run* (x y) (appendo x y '(1 2 3 4 5)))\n  '((() (1 2 3 4 5))\n    ((1) (2 3 4 5))\n    ((1 2) (3 4 5))\n    ((1 2 3) (4 5))\n    ((1 2 3 4) (5))\n    ((1 2 3 4 5) ())))\n(test 'appendo.aggregate.1\n  (run* (x y xsum)\n    (appendo x y '(1 2 3 4 5))\n    (:== xsum (x)\n         (foldl + 0 x)))\n  '((() (1 2 3 4 5)  0)\n    ((1) (2 3 4 5)   1)\n    ((1 2) (3 4 5)   3)\n    ((1 2 3) (4 5)   6)\n    ((1 2 3 4) (5)  10)\n    ((1 2 3 4 5) () 15)))\n(test 'appendo.aggregate.2\n  (run* (x y xparts)\n    (appendo x y '(1 2 3 4 5))\n    (:== xparts (x)\n         (run* (a b) (appendo a b x))))\n  '((() (1 2 3 4 5) ((() ())))\n    ((1) (2 3 4 5)  ((() (1))\n                     ((1) ())))\n    ((1 2) (3 4 5)  ((() (1 2))\n                     ((1) (2))\n                     ((1 2) ())))\n    ((1 2 3) (4 5)  ((() (1 2 3))\n                     ((1) (2 3))\n                     ((1 2) (3))\n                     ((1 2 3) ())))\n    ((1 2 3 4) (5)  ((() (1 2 3 4))\n                     ((1) (2 3 4))\n                     ((1 2) (3 4))\n                     ((1 2 3) (4))\n                     ((1 2 3 4) ())))\n    ((1 2 3 4 5) () ((() (1 2 3 4 5))\n                     ((1) (2 3 4 5))\n                     ((1 2) (3 4 5))\n                     ((1 2 3) (4 5))\n                     ((1 2 3 4) (5))\n                     ((1 2 3 4 5) ())))))\n(test 'appendo.aggregate.1.swapped\n  (run* (x y xsum)\n    (:== xsum (x)\n         (foldl + 0 x))\n    (appendo x y '(1 2 3 4 5)))\n  '((() (1 2 3 4 5)  0)\n    ((1) (2 3 4 5)   1)\n    ((1 2) (3 4 5)   3)\n    ((1 2 3) (4 5)   6)\n    ((1 2 3 4) (5)  10)\n    ((1 2 3 4 5) () 15)))\n(test 'appendo.aggregate.2.swapped\n  (run* (x y xparts)\n    (:== xparts (x)\n         (run* (a b) (appendo a b x)))\n    (appendo x y '(1 2 3 4 5)))\n  '((() (1 2 3 4 5) ((() ())))\n    ((1) (2 3 4 5)  ((() (1))\n                     ((1) ())))\n    ((1 2) (3 4 5)  ((() (1 2))\n                     ((1) (2))\n                     ((1 2) ())))\n    ((1 2 3) (4 5)  ((() (1 2 3))\n                     ((1) (2 3))\n                     ((1 2) (3))\n                     ((1 2 3) ())))\n    ((1 2 3 4) (5)  ((() (1 2 3 4))\n                     ((1) (2 3 4))\n                     ((1 2) (3 4))\n                     ((1 2 3) (4))\n                     ((1 2 3 4) ())))\n    ((1 2 3 4 5) () ((() (1 2 3 4 5))\n                     ((1) (2 3 4 5))\n                     ((1 2) (3 4 5))\n                     ((1 2 3) (4 5))\n                     ((1 2 3 4) (5))\n                     ((1 2 3 4 5) ())))))\n\n(define-relation/table (tripleo i x y z)\n  'key-name        'i\n  'source-stream   '((a b c)\n                     (d e f)\n                     (g h i)))\n\n(test 'tripleo.all\n  (run* (i x y z) (tripleo i x y z))\n  '((0 a b c) (1 d e f) (2 g h i)))\n(test 'tripleo.filter-before\n  (run* (i x y z)\n    (conde ((== y 'e))\n           ((== x 'g)))\n    (tripleo i x y z))\n  '((1 d e f) (2 g h i)))\n(test 'tripleo.filter-before.key\n  (run* (i x y z)\n    (conde ((== y 'e))\n           ((== x 'g))\n           ((== i 3))\n           ((== i 0)))\n    (tripleo i x y z))\n  '((1 d e f) (2 g h i) (0 a b c)))\n(test 'tripleo.filter-before.key-only\n  (run* (i x y z)\n    (conde ((== y 'e))\n           ((== x 'g))\n           ((== i 3))\n           ((== i 0)))\n    (tripleo i x y z)\n    (== i 0))\n  '((0 a b c)))\n(test 'tripleo.filter-after\n  (run* (i x y z)\n    (tripleo i x y z)\n    (conde ((== i 0))\n           ((== z 'i))))\n  '((0 a b c) (2 g h i)))\n\n(define-relation/table triple2o\n  'attribute-names '(x y z)\n  'tables          '((y z x))\n  'indexes         '((x))\n  'source-stream   '((a b  0)\n                     (a b  1)\n                     (a b  2)\n                     (a b  3)\n                     (a c  4)\n                     (a c  5)\n                     (a c  6)\n                     (b a  7)\n                     (b d  8)\n                     (b f  9)\n                     (b q 10)\n                     (c a 11)\n                     (c d 12)))\n\n(test 'triple2o.all\n  (run* (x y z) (triple2o x y z))\n  '((0  a b)\n    (1  a b)\n    (2  a b)\n    (3  a b)\n    (4  a c)\n    (5  a c)\n    (6  a c)\n    (7  b a)\n    (8  b d)\n    (9  b f)\n    (10 b q)\n    (11 c a)\n    (12 c d)))\n\n(test 'triple2o.filter\n  (list->set\n    (run* (x y z)\n      (conde ((== y 'a) (== z 'c))\n             ((== y 'a) (== z 'd))\n             ((== x '8))\n             ((== y 'b) (== x '12))\n             ((== y 'b) (== z 'f) (== x '9))\n             ((== y 'b) (== z 'g) (== x '9))\n             ((== y 'c))\n             ((== y 'd)))\n      (triple2o x y z)))\n  (list->set\n    '((4 a c)\n      (5 a c)\n      (6 a c)\n      (8 b d)\n      (9 b f)\n      (11 c a)\n      (12 c d))))\n\n(test '=/=.atom.1\n  (run* x (=/= 1 x))\n  '(#s(cx (term: #s(var 0)) (constraints: (=/= #s(var 0) 1)))))\n(test '=/=.atom.2\n  (run* x (=/= x 2))\n  '(#s(cx (term: #s(var 0)) (constraints: (=/= #s(var 0) 2)))))\n\n(test '=/=.atom.==.1\n  (run* x (== x 1) (=/= x 1))\n  '())\n(test '=/=.atom.==.2\n  (run* x (=/= x 2) (== x 2))\n  '())\n(test '=/=.atom.==.3\n  (run* x (=/= x 3) (== x 'not-3))\n  '(not-3))\n(test '=/=.atom.==.4\n  (run* x (== x 'not-4) (=/= x 4))\n  '(not-4))\n\n(test '=/=.var.==.1\n  (run* x\n    (fresh (y)\n      (=/= x y)\n      (== x 1)\n      (== y 1)))\n  '())\n(test '=/=.var.==.2\n  (run* x\n    (fresh (y)\n      (== x 2)\n      (== y 2)\n      (=/= x y)))\n  '())\n(test '=/=.var.==.3\n  (run* x\n    (fresh (y)\n      (== x 3)\n      (=/= x y)\n      (== y 3)))\n  '())\n(test '=/=.var.==.4\n  (run* x\n    (fresh (y z)\n      (=/= x 4)\n      (== x y)\n      (== y z)\n      (== z 4)))\n  '())\n(test '=/=.var.==.5\n  (run* x\n    (fresh (y z)\n      (=/= x 5)\n      (== y z)\n      (== x y)\n      (== z 5)))\n  '())\n(test '=/=.var.==.6\n  (run* x\n    (fresh (y)\n      (=/= x y)\n      (== x y)))\n  '())\n(test '=/=.var.==.7\n  (run* x\n    (fresh (y)\n      (=/= x y)\n      (== y x)))\n  '())\n\n(test '=/=.pair.==.1\n  (run* x\n    (=/= x '(1 . 2))\n    (==  x '(1 . 2)))\n  '())\n(test '=/=.pair.==.2\n  (run* x\n    (fresh (y)\n      (=/= x `(1 . ,y))\n      (==  x `(1 . 2))\n      (==  y 2)))\n  '())\n(test '=/=.pair.==.3\n  (run* x\n    (fresh (y)\n      (==  x `(1 . 2))\n      (=/= x `(1 . ,y))\n      (==  y 2)))\n  '())\n(test '=/=.pair.==.4\n  (run* x\n    (fresh (y)\n      (==  x `(1 . 2))\n      (==  y 2)\n      (=/= x `(1 . ,y))))\n  '())\n(test '=/=.pair.==.5\n  (run* x\n    (fresh (y)\n      (=/= x `(1 . ,y))\n      (==  y 2)\n      (==  x `(1 . 2))))\n  '())\n(test '=/=.pair.==.6\n  (run* x\n    (fresh (y)\n      (=/= `(,x .  1) `(0 . ,y))\n      (==  `(,x . ,y) '(0 .  1))))\n  '())\n(test '=/=.pair.==.7\n  (run* x\n    (fresh (y)\n      (==  `(,x . ,y) '(0 .  1))\n      (=/= `(,x .  1) `(0 . ,y))))\n  '())\n\n(test '=/=.pair.=/=.1\n  (run* x\n    (=/= x '(1 . 2))\n    (==  x '(0 . 2)))\n  '((0 . 2)))\n(test '=/=.pair.=/=.2\n  (run* x\n    (fresh (y)\n      (=/= x `(1 . ,y))\n      (==  x `(1 . 2))\n      (==  y 0)))\n  '((1 . 2)))\n(test '=/=.pair.=/=.3\n  (run* x\n    (fresh (y)\n      (==  x `(1 . 2))\n      (=/= x `(1 . ,y))\n      (==  y 0)))\n  '((1 . 2)))\n(test '=/=.pair.=/=.4\n  (run* x\n    (fresh (y)\n      (==  x `(1 . 2))\n      (==  y 0)\n      (=/= x `(1 . ,y))))\n  '((1 . 2)))\n(test '=/=.pair.=/=.5\n  (run* x\n    (fresh (y)\n      (=/= x `(1 . ,y))\n      (==  y 0)\n      (==  x `(1 . 2))))\n  '((1 . 2)))\n(test '=/=.pair.=/=.6\n  (run* x\n    (fresh (y)\n      (=/= `(,x .  1) `(0 . ,y))\n      (==  `(,x . ,y) '(0 .  2))))\n  '(0))\n(test '=/=.pair.=/=.7\n  (run* x\n    (fresh (y)\n      (==  `(,x . ,y) '(0 .  2))\n      (=/= `(,x .  1) `(0 . ,y))))\n  '(0))\n\n(test '=/=.fresh.1\n  (run* x\n    (fresh (y)\n      (=/= y 1)))\n  '(#s(cx (term: #s(var 0)) (constraints:))))\n(test '=/=.fresh.2\n  (run* x\n    (fresh (y)\n      (=/= x 0)\n      (=/= y 1)))\n  '(#s(cx (term: #s(var 0)) (constraints: (=/= #s(var 0) 0)))))\n(test '=/=.fresh.3\n  (run* x\n    (fresh (y)\n      (=/= x 0)\n      (=/= x y)))\n  '(#s(cx (term: #s(var 0)) (constraints: (=/= #s(var 0) #s(var 1))\n                                  (=/= #s(var 0) 0)))))\n(test '=/=.fresh.4\n  (run* (x y)\n    (fresh (z)\n      (=/= `(,x . ,y) '(0 . 2))\n      (=/= z 1)))\n  '(#s(cx (term: (#s(var 0) #s(var 1))) (constraints: (=/= #s(var 0) 0)))\n    #s(cx (term: (#s(var 0) #s(var 1))) (constraints: (=/= #s(var 1) 2)))))\n(test '=/=.fresh.5\n  (run* (x y)\n    (fresh (z)\n      (=/= `(,x ,y ,z) '(0 1 2))))\n  '(#s(cx (term: (#s(var 0) #s(var 1))) (constraints: (=/= #s(var 0) 0)))\n    #s(cx (term: (#s(var 0) #s(var 1))) (constraints: (=/= #s(var 1) 1)))\n    #s(cx (term: (#s(var 0) #s(var 1))) (constraints:))))\n\n(test 'membero.forward\n  (run* () (membero 3 '(1 2 3 4 3 5)))\n  '(()))\n(test 'membero.backward\n  (run* x (membero x '(1 2 3 4 3 5)))\n  '(1 2 3 4 5))\n(test 'not-membero.forward\n  (run* () (not-membero 0 '(1 2 3 4 5)))\n  '(()))\n(test 'not-membero.backward\n  (run* x (not-membero x '(1 2 3 4 5)) (== x 0))\n  '(0))\n(test 'uniqueo.1\n  (run* () (uniqueo '(1 2 3 4 5)))\n  '(()))\n(test 'uniqueo.2\n  (run* () (uniqueo '(1 2 3 4 2)))\n  '())\n(test 'removeo.forward\n  (run* x (removeo '3 '(1 2 3 4 5) x))\n  '((1 2 4 5)))\n(test 'removeo.backward\n  (run* x (removeo x '(1 2 3 4 5) '(1 2 4 5)))\n  '(3))\n\n\n;; More table testing\n\n(define intersected-lists\n  '(((-1 0 no)\n     (-1 1 no)\n     (-1 2 no)\n     (-1 3 no)\n     (-1 4 no)\n     (-1 5 no)\n     (-1 6 no)\n     (-1 7 no)\n     (-1 8 no)\n     (-1 9 no)\n\n     (1 1 a0)\n     (1 2 b0)\n     (1 5 c0)\n     (3 4 d0)\n     (3 8 e0)\n     (3 8 e0.1)\n     (3 8 e0.2)\n\n     (4 0 no)\n     (4 1 no)\n     (4 2 no)\n     (4 3 no)\n     (4 4 no)\n     (4 5 no)\n     (4 6 no)\n     (4 7 no)\n     (4 8 no)\n     (4 9 no)\n\n     (6 0 f0)\n     (6 3 g0)\n     (6 5 h0)\n     (7 0 i0)\n     (7 2 j0)\n     (7 4 k0)\n     (7 6 l0)\n     (7 8 m0)\n     (7 9 n0)\n     (9 1 0)\n     (9 1 o0)\n     (9 2 p0)\n     (9 5 q0))\n    ((-1 0 no)\n     (-1 1 no)\n     (-1 2 no)\n     (-1 3 no)\n     (-1 4 no)\n     (-1 5 no)\n     (-1 6 no)\n     (-1 7 no)\n     (-1 8 no)\n     (-1 9 no)\n\n     (1 1 a1)\n     (1 2 b1)\n     (2 5 c1)  ; 0\n     (2 4 d1)  ; 0\n     (3 8 e1)\n     (3 8 e1.1)\n     (6 0 f1)\n     (6 3 g1)\n     (6 5 h1)\n     (7 0 i1)\n     (7 3 j1)  ; 1\n     (7 4 k1)\n     (7 6 l1)\n     (8 8 m1)  ; 0\n     (8 9 n1)  ; 0\n     (9 1 o1)\n     (9 1 o1.1)\n     (9 4 p1)  ; 1\n     (9 5 q1))\n    (;(-1 0 no)\n     ;(-1 1 no)\n     ;(-1 2 no)\n     ;(-1 3 no)\n     ;(-1 4 no)\n     ;(-1 5 no)\n     ;(-1 6 no)\n     ;(-1 7 no)\n     ;(-1 8 no)\n     ;(-1 9 no)\n\n     (0 1 a2)  ; 0\n     (1 3 b2)  ; 1\n     (1 5 c2)  ; 1\n     (2 4 d2)\n     (3 8 e2)\n     (5 0 f2)  ; 0\n     (6 3 g2)\n     (6 5 h2)\n     (7 0 i2)\n     (7 3 j2)\n     (7 4 k2)\n     (7 4 k2.1)\n     (7 6 l2)\n     (8 8 m2)\n     (8 9 n2)\n     (9 1 o2)\n     (9 4 p2)\n     (9 5 q2)\n\n     (10 1 no)\n     (10 0 no)\n     (10 2 no)\n     (10 3 no)\n     (10 4 no)\n     (10 5 no)\n     (10 6 no)\n     (10 7 no)\n     (10 8 no)\n     (10 9 no)\n     )))\n\n(define intersected-tables\n  (map (lambda (i s)\n         (relation/table\n           'relation-name   (string->symbol (format \"intersected-table.~v\" i))\n           'attribute-names '(i n m x)\n           'key-name        'i\n           'source-stream   s))\n       (range (length intersected-lists))\n       intersected-lists))\n\n(test 'table-ref\n  (map (lambda (R) (run* (n m x) (R 0 n m x))) intersected-tables)\n  '(((-1 0 no)) ((-1 0 no)) ((0 1 a2))))\n\n(test 'table-intersection\n  (sort/any\n    (run* (n m a b c)\n      (foldl (lambda (g0 g) (fresh () g g0)) (== #t #t)\n             (map (lambda (v R) (fresh (i) (R i n m v))) (list a b c)\n                  intersected-tables))))\n  (sort/any\n    '((3 8 e0   e1   e2)\n      (3 8 e0   e1.1 e2)\n      (3 8 e0.1 e1   e2)\n      (3 8 e0.1 e1.1 e2)\n      (3 8 e0.2 e1   e2)\n      (3 8 e0.2 e1.1 e2)\n      (6 3 g0   g1   g2)\n      (6 5 h0   h1   h2)\n      (7 0 i0   i1   i2)\n      (7 4 k0   k1   k2)\n      (7 4 k0   k1   k2.1)\n      (7 6 l0   l1   l2)\n      (9 1 0    o1   o2)\n      (9 1 0    o1.1 o2)\n      (9 1 o0   o1   o2)\n      (9 1 o0   o1.1 o2)\n      (9 5 q0   q1   q2))))\n\n(test '<=.1\n  (run* n\n    (membero n '(0 1 2 3 4 5 6 7 8 9))\n    (<=o 2 n)\n    (<o  n 8))\n  '(2 3 4 5 6 7))\n(test '<=.2\n  (run* n\n    (<=o 2 n)\n    (<o  n 8)\n    (membero n '(0 1 2 3 4 5 6 7 8 9)))\n  '(2 3 4 5 6 7))\n(test '<=.3\n  (run* n\n    (<o  n 8)\n    (<=o 2 n)\n    (membero n '(0 1 2 3 4 5 6 7 8 9)))\n  '(2 3 4 5 6 7))\n(test 'any<=.fd.1\n  (run* x\n    (any<=o '(#t . #f) x)\n    (any<=o x '#(())))\n  '((#t . #f)\n    (#t . #t)\n    #()\n    #(())))\n(test 'any<=.fd.2\n  (run* x\n    (any<=o '(#f . #f) x)\n    (any<=o x '(#t . ())))\n  '((#f . #f)\n    (#f . #t)\n    (#t . ())))\n(test 'any<=.fd.3\n  (run* x\n    (any<=o '#(5 #f #f #f) x)\n    (any<=o x '#(5 #f #t ())))\n  '(#(5 #f #f #f)\n    #(5 #f #f #t)\n    #(5 #f #t ())))\n(test 'any<=.fd.4\n  (run* x\n    (any<=o '#(#f #t #f) x)\n    (any<=o x '#(#t () ())))\n  '(#(#f #t #f)\n    #(#f #t #t)\n    #(#t () ())))\n(test 'any<=.fd.5\n  (run* x\n    (any<=o '#(#t #t #f) x)\n    (any<=o x '#(() () () ())))\n  '(#(#t #t #f)\n    #(#t #t #t)\n    #(() () () ())))\n(test 'any<=.cycle.0\n  (run* (a b c)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c a))\n  '(#s(cx (term: (#s(var 0) #s(var 0) #s(var 0))) (constraints:))))\n(test 'any<=.cycle.1\n  (run* (a b c d e)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c d)\n    (any<=o d e)\n    (any<=o e a))\n  '(#s(cx (term: (#s(var 0) #s(var 0) #s(var 0) #s(var 0) #s(var 0))) (constraints:))))\n(test 'any<=.cycle.2\n  (run* (a b c d e)\n    (=/= b d)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c d)\n    (any<=o d e)\n    (any<=o e a))\n  '())\n(test 'any<=.cycle.3\n  (run* (a b c d e)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c d)\n    (any<=o d e)\n    (any<=o e a)\n    (=/= b d))\n  '())\n(test 'any<=.cycle.4\n  (run* (a b c d e f)\n    (any<=o a b)\n    (any<=o b c)\n    (any<=o c d)\n    (any<=o d e)\n    (any<=o e f)\n    (any<=o d b))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 1) #s(var 1) #s(var 2) #s(var 3)))\n          (constraints:\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))\n            (any<=o #s(var 2) #s(var 3))))))\n(test 'any<.transitive.1\n  (run* (x y z)\n    (any<=o x y)\n    (any<=o y z)\n    (=/= x y)\n    (=/= y z))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 2)))\n          (constraints:\n            (() <  #s(var 1) <= #f)\n            (() <  #s(var 2) <= #t)\n            (() <= #s(var 0) <  #f)\n            (=/= #s(var 0) #s(var 1))\n            (=/= #s(var 1) #s(var 2))\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))))))\n(test 'any<.transitive.2\n  (run* (x y z)\n    (=/= x y)\n    (=/= y z)\n    (any<=o x y)\n    (any<=o y z))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 2)))\n          (constraints:\n            (() <  #s(var 1) <= #f)\n            (() <  #s(var 2) <= #t)\n            (() <= #s(var 0) <  #f)\n            (=/= #s(var 0) #s(var 1))\n            (=/= #s(var 1) #s(var 2))\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))))))\n(test 'any<.transitive.3\n  (run* (x y z)\n    (any<=o y z)\n    (any<=o x y)\n    (=/= x y)\n    (=/= y z))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 2)))\n          (constraints:\n            (() <  #s(var 1) <= #f)\n            (() <  #s(var 2) <= #t)\n            (() <= #s(var 0) <  #f)\n            (=/= #s(var 0) #s(var 1))\n            (=/= #s(var 1) #s(var 2))\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))))))\n(test 'any<.transitive.4\n  (run* (x y z)\n    (=/= x y)\n    (=/= y z)\n    (any<=o y z)\n    (any<=o x y))\n  '(#s(cx (term: (#s(var 0) #s(var 1) #s(var 2)))\n          (constraints:\n            (() <  #s(var 1) <= #f)\n            (() <  #s(var 2) <= #t)\n            (() <= #s(var 0) <  #f)\n            (=/= #s(var 0) #s(var 1))\n            (=/= #s(var 1) #s(var 2))\n            (any<=o #s(var 0) #s(var 1))\n            (any<=o #s(var 1) #s(var 2))))))\n\n(define-relation/table (edge a b)\n  'source-stream '((1 2)\n                   (2 4)\n                   (1 3)\n                   (3 5)\n                   (2 6)\n                   (1 1)\n                   (3 6)\n                   (6 4)))\n(define-relation (path* a c)\n  (conde ((edge a c))\n         ((fresh (b)\n            (edge a b)\n            (path* b c)))))\n(define-relation (path2* a c)\n  (conde ((edge a c))\n         ((fresh (b)\n            (edge b c)\n            (path2* a b)))))\n(define-relation (path3* a c)\n  (conde ((edge a c))\n         ((fresh (b)\n            (=/= b c)\n            (=/= a b)  ; this filters out some duplicates\n            (edge b c)\n            (path3* a b)))))\n\n(test 'edge.0\n  (run* (x y) (edge x y))\n  '((1 1) (1 2) (1 3) (2 4) (2 6) (3 5) (3 6) (6 4)))\n(test 'edge.1\n  (run* y (edge 2 y))\n  '(4 6))\n(test 'edge.2\n  (run* x (edge x 6))\n  '(2 3))\n\n(test 'path*.0\n  (run* (x y) (path* x y))\n  '((1 1)\n    (1 2)\n    (1 3)\n    (2 4)\n    (2 6)\n    (3 5)\n    (3 6)\n    (6 4)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (2 4)\n    (3 4)\n    (1 4)\n    (1 4)))\n(test 'path*.1\n  (run* x (path* x 6))\n  '(2 3 1))\n(test 'path*.2\n  (run* y (path* 3 y))\n  '(5 6 4))\n\n(test 'path2*.0\n  (run* (x y) (path2* x y))\n  '((1 1)\n    (1 2)\n    (1 3)\n    (2 4)\n    (2 6)\n    (3 5)\n    (3 6)\n    (6 4)\n    (1 2)\n    (1 3)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (2 4)\n    (3 4)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (1 4)\n    (1 4)\n    (1 4)\n    (1 4)))\n(test 'path2*.1\n  (run* x (path2* x 6))\n  '(2 3 1 1 1 1))\n(test 'path2*.2\n  (run* y (path2* 3 y))\n  '(5 6 4))\n\n(test 'path2*.set.0\n  (run*/set (x y) (path2* x y))\n  (list->set '((1 1)\n               (1 2)\n               (1 3)\n               (2 4)\n               (2 6)\n               (3 5)\n               (3 6)\n               (6 4)\n               (1 2)\n               (1 3)\n               (1 4)\n               (1 6)\n               (1 5)\n               (1 6)\n               (2 4)\n               (3 4)\n               (1 4)\n               (1 6)\n               (1 5)\n               (1 6)\n               (1 4)\n               (1 4)\n               (1 4)\n               (1 4))))\n(test 'path2*.set.1\n  (run*/set x (path2* x 6))\n  (list->set '(2 3 1 1 1 1)))\n(test 'path2*.set.2\n  (run*/set y (path2* 3 y))\n  (list->set '(5 6 4)))\n\n(test 'path3*.0\n  (run* (x y) (path3* x y))\n  '((1 1)\n    (1 2)\n    (1 3)\n    (2 4)\n    (2 6)\n    (3 5)\n    (3 6)\n    (6 4)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (2 4)\n    (3 4)\n    (1 4)\n    (1 4)))\n(test 'path3*.1\n  (run* x (path3* x 6))\n  '(2 3 1 1))\n(test 'path3*.2\n  (run* y (path3* 3 y))\n  '(5 6 4))\n\n(define-relation (edge/cycle a b)\n  (conde ((== a 5) (== b 1))\n         ((edge a b))))\n(define-relation (path/cycle* a c)\n  (conde ((edge/cycle a c))\n         ((fresh (b)\n            (=/= a b)\n            (edge/cycle a b)\n            (path/cycle* b c)))))\n(test 'path/cycle*.0\n  (run* (x y) (path/cycle* x y))\n  '((5 1)\n    (1 1)\n    (1 2)\n    (1 3)\n    (2 4)\n    (2 6)\n    (3 5)\n    (3 6)\n    (6 4)\n    (5 1)\n    (5 2)\n    (5 3)\n    (3 1)\n    (5 4)\n    (5 6)\n    (5 5)\n    (5 6)\n    (1 4)\n    (1 6)\n    (1 5)\n    (1 6)\n    (2 4)\n    (3 4)\n    (5 4)\n    (5 4)\n    (3 1)\n    (3 2)\n    (3 3)\n    (1 1)\n    (3 4)\n    (3 6)\n    (1 4)\n    (1 4)\n    (3 4)))\n(test 'path/cycle*.1\n  (run* x (path/cycle* x 6))\n  '(2 3 5 1 3))\n(test 'path/cycle*.2\n  (run* y (path/cycle* 3 y))\n  '(5 6 1 4 1 2 3 4 6 4))\n\n(test 'path/cycle*.set.0\n  (run*/set (x y) (path/cycle* x y))\n  (list->set '((5 1)\n               (1 1)\n               (1 2)\n               (1 3)\n               (2 4)\n               (2 6)\n               (3 5)\n               (3 6)\n               (6 4)\n               (5 1)\n               (5 2)\n               (5 3)\n               (3 1)\n               (5 4)\n               (5 6)\n               (5 5)\n               (5 6)\n               (1 4)\n               (1 6)\n               (1 5)\n               (1 6)\n               (2 4)\n               (3 4)\n               (5 1)\n               (5 4)\n               (5 4)\n               (1 1)\n               (5 1)\n               (5 2)\n               (5 3)\n               (3 1)\n               (3 2)\n               (3 3)\n               (1 4)\n               (1 4))))\n(test 'path/cycle*.set.1\n  (run*/set x (path/cycle* x 6))\n  (list->set '(2 3 1 5 5 3 3)))\n(test 'path/cycle*.set.2\n  (run*/set y (path/cycle* 3 y))\n  (list->set '(5 6 1 4 1 2 3 4 6 5 6 1 4 4 1 2 3 4 6 5 6 1 4 4 1 2 3)))\n\n;; Using list->set on a run result is not the same as using run/set:\n;; run/set guarantees that the result has 10 unique answers before stopping\n(test 'path/cycle*.set.n.0\n  (list->set (run 10 (x y) (path/cycle* x y)))\n  (list->set '((1 1) (1 2) (1 3) (3 6) (6 4) (2 4) (5 1) (3 5) (2 6))))\n(test 'path/cycle*.set.n.1\n  (run/set 10 (x y) (path/cycle* x y))\n  (list->set '((1 1) (1 2) (1 3) (5 2) (3 6) (6 4) (2 4) (5 1) (3 5) (2 6))))\n\n\n;; Equivalence class tests\n\n;; fast version\n(define-relation/table (uedge a b)\n  'source-stream '((0  15)\n                   (10 15)\n                   (15 20)\n                   (17 18)\n                   (17 20)\n                   (20  0)))\n\n(define-relation (node x)\n  (fresh (y)\n    (conde ((uedge x y)) ((uedge y x)))))\n\n(define-relation (equiv=/= a b)\n  (=/= a b)\n  (fresh (x)\n    (conde ((uedge a x))\n           ((uedge x a)))\n    (conde ((==       x b))\n           ((equiv=/= x b)))))\n\n(define-relation (equiv a b)\n  (node a)\n  (node b)\n  (conde ((==       a b))\n         ((equiv=/= a b))))\n\n;; cpu time: 1440 real time: 1466 gc time: 74\n(test 'equiv.0\n  (time (run*/set (x y) (equiv x y)))\n  (list->set\n    '((20 20) (10 20) (15 15) (20 10) (15 0) (0 15) (0 0) (15 17) (17 15)\n      (17 0) (15 18) (0 17) (18 15) (17 17) (0 18) (18 0) (20 15) (18 17)\n      (15 20) (17 18) (10 10) (18 18) (0 20) (20 0) (17 20) (20 17) (20 18)\n      (18 20) (10 15) (15 10) (0 10) (10 0) (10 17) (17 10) (10 18) (18 10))))\n\n;; cpu time: 298 real time: 319 gc time: 5\n(test 'equiv.1\n  (time (run*/set x (equiv 0 x)))\n  (set 0 17 18 20 10 15))\n\n;; cpu time: 459 real time: 485 gc time: 12\n(test 'equiv.2\n  (time (run*/set x (equiv x 0)))\n  (set 0 17 18 20 10 15))\n\n;; much more expensive version\n(define-relation/table (uedge.slow a b)\n  'source-stream '((0   5)\n                   (2   3)\n                   (2   5)\n                   (5   8)\n                   (5  10)\n                   (7  10)\n                   (10 13)\n                   (10 15)\n                   (12 15)\n                   (15 18)\n                   (17 18)\n                   (15 20)\n                   (17 20)\n                   (20  0)))\n\n(define-relation (node.slow x)\n  (fresh (y)\n    (conde ((uedge.slow x y)) ((uedge.slow y x)))))\n\n(define-relation (equiv=/=.slow a b)\n  (=/= a b)\n  (fresh (x)\n    (conde ((uedge.slow a x))\n           ((uedge.slow x a)))\n    (conde ((==            x b))\n           ((equiv=/=.slow x b)))))\n\n(define-relation (equiv.slow a b)\n  (node.slow a)\n  (node.slow b)\n  (conde ((==            a b))\n         ((equiv=/=.slow a b))))\n\n#|\n;; cpu time: 94756 real time: 97248 gc time: 3523\n(test 'equiv.0.slow\n  (time (run*/set (x y) (equiv.slow x y)))\n  (list->set\n    '((10 20) (12 18) (20 10) (2 12) (18 12) (7 7) (12 2) (13 17) (15 15) (17 13)\n      (10 5) (13 2) (15 0) (0 15) (3 12) (2 13) (7 8) (8 7) (12 3) (13 18) (18 13)\n      (5 10) (13 3) (12 20) (0 0) (8 8) (15 17) (17 15) (3 13) (20 12) (10 7) (15 18)\n      (0 17) (20 13) (2 15) (7 10) (12 5) (13 20) (15 2) (17 0) (18 15) (5 12) (10 8)\n      (13 5) (15 3) (17 17) (0 2) (0 18) (18 0) (5 13) (8 10) (2 0) (3 15) (12 7)\n      (17 2) (0 3) (3 0) (20 15) (2 17) (18 17) (7 12) (15 20) (17 18) (10 10) (13 7)\n      (12 8) (7 13) (8 12) (15 5) (17 3) (0 20) (20 0) (2 2) (3 17) (2 18) (18 2)\n      (18 18) (5 15) (13 8) (17 20) (0 5) (3 2) (8 13) (2 3) (3 18) (20 17) (18 3)\n      (5 0) (10 12) (12 10) (20 18) (2 20) (7 15) (15 7) (17 5) (3 3) (20 2) (18 20)\n      (5 17) (10 13) (13 10) (15 8) (0 7) (20 3) (5 18) (7 0) (8 15) (2 5) (3 20)\n      (18 5) (5 2) (12 12) (17 7) (0 8) (3 5) (20 20) (5 3) (7 17) (8 0) (10 15)\n      (13 12) (12 13) (20 5) (2 7) (18 7) (5 20) (7 2) (7 18) (8 17) (15 10) (17 8)\n      (13 13) (0 10) (3 7) (2 8) (7 3) (8 2) (8 18) (10 0) (18 8) (5 5) (10 17)\n      (12 15) (7 20) (8 3) (15 12) (17 10) (3 8) (20 7) (10 18) (15 13) (0 12)\n      (20 8) (2 10) (7 5) (8 20) (10 2) (12 0) (13 15) (18 10) (5 7) (13 0) (12 17)\n      (17 12) (0 13) (3 10) (5 8) (8 5) (10 3))))\n\n;; cpu time: 4520 real time: 4675 gc time: 123\n(test 'equiv.1.slow\n  (time (run*/set x (equiv.slow 0 x)))\n  (set 0 17 3 20 5 7 8 10 12 13 15 2 18))\n\n;; cpu time: 10254 real time: 10618 gc time: 370\n(test 'equiv.2.slow\n  (time (run*/set x (equiv.slow x 0)))\n  (set 0 17 3 20 5 7 8 10 12 13 15 2 18))\n;|#\n\n\n;; Simple relational interpreter tests\n\n(define-relation (eval-expo expr env value)\n  (conde\n    ((fresh (body)\n       (== `(lambda ,body) expr)\n       (== `(closure ,body ,env) value)))\n    ((== `(quote ,value) expr))\n    ((fresh (a*)\n       (== `(list . ,a*) expr)\n       (eval-listo a* env value)))\n    ((fresh (a d va vd)\n       (== `(cons ,a ,d) expr)\n       (== `(,va . ,vd) value)\n       (eval-expo a env va)\n       (eval-expo d env vd)))\n    ((fresh (index)\n       (== `(var ,index) expr)\n       (lookupo index env value)))\n    ((fresh (rator rand arg env^ body)\n       (== `(app ,rator ,rand) expr)\n       (eval-expo rator env `(closure ,body ,env^))\n       (eval-expo rand env arg)\n       (eval-expo body `(,arg . ,env^) value)))))\n\n(define-relation (lookupo index env value)\n  (fresh (arg e*)\n    (== `(,arg . ,e*) env)\n    (conde\n      ((== '() index) (== arg value))\n      ((fresh (i* a d)\n         (== `(s . ,i*) index)\n         (== `(,a . ,d) e*)\n         (lookupo i* e* value))))))\n\n(define-relation (eval-listo e* env value)\n  (conde\n    ((== '() e*) (== '() value))\n    ((fresh (ea ed va vd)\n       (== `(,ea . ,ed) e*)\n       (== `(,va . ,vd) value)\n       (eval-expo ea env va)\n       (eval-listo ed env vd)))))\n\n(define (evalo expr value) (eval-expo expr '() value))\n\n(test 'evalo-literal\n  (run 1 e (evalo e 5))\n  '((quote 5)))\n\n;; ~600 ms\n(test 'evalo-quine\n  (time (run 1 e (evalo e e)))\n  '((app (lambda (list (quote app) (var ())\n                       (list (quote quote) (var ()))))\n         (quote (lambda (list (quote app) (var ())\n                              (list (quote quote) (var ()))))))))\n\n;; ~5500 ms\n;(test 'evalo-twine\n;  (time (run 1 (p q) (evalo p q) (evalo q p)))\n;  '(((quote (app (lambda (list (quote quote)\n;                               (list (quote app) (var ())\n;                                     (list (quote quote) (var ())))))\n;                 (quote (lambda (list (quote quote)\n;                                      (list (quote app) (var ())\n;                                            (list (quote quote) (var ()))))))))\n;     (app (lambda (list (quote quote)\n;                        (list (quote app) (var ())\n;                              (list (quote quote) (var ())))))\n;          (quote (lambda (list (quote quote)\n;                               (list (quote app) (var ())\n;                                     (list (quote quote) (var ()))))))))))\n\n;; ~24000 ms\n;(test 'evalo-thrine\n;  (time (run 1 (p q r) (evalo p q) (evalo q r) (evalo r p)))\n;  '(((quote (quote (app (lambda (list (quote quote)\n;                                      (list (quote quote)\n;                                            (list (quote app) (var ())\n;                                                  (list (quote quote) (var ()))))))\n;                        (quote (lambda (list (quote quote)\n;                                             (list (quote quote)\n;                                                   (list (quote app) (var ())\n;                                                         (list (quote quote) (var ()))))))))))\n;     (quote (app (lambda (list (quote quote)\n;                               (list (quote quote)\n;                                     (list (quote app) (var ())\n;                                           (list (quote quote) (var ()))))))\n;                 (quote (lambda (list (quote quote)\n;                                      (list (quote quote)\n;                                            (list (quote app) (var ())\n;                                                  (list (quote quote) (var ())))))))))\n;     (app (lambda (list (quote quote)\n;                        (list (quote quote)\n;                              (list (quote app) (var ())\n;                                    (list (quote quote) (var ()))))))\n;          (quote (lambda (list (quote quote)\n;                               (list (quote quote)\n;                                     (list (quote app) (var ())\n;                                           (list (quote quote) (var ())))))))))))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-semantics.rkt",
    "content": "#lang racket/base\n(require \"../dbk/semantics.rkt\" racket/pretty)\n(print-as-expression #f)\n(pretty-print-abbreviate-read-macros #f)\n\n;; References:\n;; https://web.archive.org/web/20201012095657/https://sites.google.com/site/williamcushing/notes/howtoconvertfirst-orderlogicintoclausalform\n;; https://en.wikipedia.org/wiki/Drinker_paradox\n\n(define program.0 '((define (eq  a b) (relate == (var a) (var b)))\n                    (define (eq2 d c) (relate == (var c) (var d)))\n                    (query (x) (and (relate eq  (var x) (var x))\n                                    (relate eq2 (var x) (var x))))))\n(define program.1 '((query (x y) (relate == (app cons (var x) (var y)) (app cons '1 '2)))))\n\n(define program.drinking '((query ()\n                                  (all (b)\n                                    (imply (relate Bar (var b))\n                                           (exist (p)\n                                             (and (relate Person (var p))\n                                                  (relate In     (var p) (var b))\n                                                  (iff (relate Drinking (var p))\n                                                       (all (q) (imply (and (relate Person (var q))\n                                                                            (relate In     (var q) (var b)))\n                                                                       (relate Drinking (var q))))))))))))\n\n(for-each\n  (lambda (p)\n    (displayln \"ORIGINAL:\")\n    (pretty-write p)\n    (displayln \"SIMPLIFIED:\")\n    (pretty-write (simplify-program                                      #f p))\n    (displayln \"FACTORED:\")\n    (pretty-write (factor-program                                           p))\n    (displayln \"SIMPLIFIED and FACTORED:\")\n    (pretty-write (factor-program (simplify-program                      #f p)))\n    (displayln \"SIMPLIFIED and FACTORED and POST-SIMPLIFIED:\")\n    (pretty-write (simplify-program #t (factor-program (simplify-program #f p))))\n    )\n  (list\n    program.0\n    program.1\n    program.drinking\n    ))\n"
  },
  {
    "path": "medikanren2/neo/dbKanren/test/test-storage.rkt",
    "content": "#lang racket/base\n(require \"../dbk/storage.rkt\"\n         racket/pretty\n         racket/runtime-path)\n\n(define-runtime-path path.here \".\")\n\n(define stg (storage:filesystem (build-path path.here \"example-storage\")))\n;(define stg2 (storage:filesystem (build-path path.here \"example-storage\")))\n\n(storage-block-remove-names! stg '(testing 2) '(new 1) '(new 2.1) '(new 2.2))\n\n(storage-checkpoint! stg)\n\n(pretty-write (storage-description-keys stg))\n(pretty-write (storage-block-names stg))\n\n;(define (sset! . kvs) (apply storage-description-set! stg kvs))\n;(define (sref  . ks)  (map cons ks (map (lambda (k) (storage-description-ref stg k)) ks)))\n\n;(define out.1 (storage-block-new! stg '(testing 1)))\n;(pretty-write (equal? out.1 (storage-block-out stg '(testing 1))))\n\n(storage-block-new! stg '(testing 2))\n\n(call-with-output-file\n  (storage-block-new! stg '(testing 1))\n  (lambda (out) (write-string \"this is testing 1\" out)))\n(call-with-output-file\n  (storage-block-path stg '(testing 2))\n  (lambda (out) (write-string \"this is testing 2\" out)))\n\n(pretty-write (storage-block-path stg '(testing 2)))\n\n(storage-block-rename! stg '(testing 1) '(new 1))\n(storage-block-add-names! stg '(testing 2) '(new 2.1) '(new 2.2))\n\n(storage-checkpoint! stg)\n\n(pretty-write (storage-description-keys stg))\n(pretty-write (storage-block-names stg))\n(pretty-write (map (lambda (name) (storage-block-path stg name)) (storage-block-names stg)))\n\n(pretty-write `(in.1:   ,(call-with-input-file (storage-block-path stg '(new 1))     read-line)))\n(pretty-write `(in.2:   ,(call-with-input-file (storage-block-path stg '(testing 2)) read-line)))\n(pretty-write `(in.2.1: ,(call-with-input-file (storage-block-path stg '(new 2.1))   read-line)))\n(pretty-write `(in.2.2: ,(call-with-input-file (storage-block-path stg '(new 2.2))   read-line)))\n\n(storage-block-remove-names! stg '(testing 2) '(new 1) '(new 2.1) '(new 2.2))\n\n(storage-revert!     stg)\n(storage-checkpoint! stg)\n\n;(sset! 'hello 1 'world! 2)\n\n;(storage-checkpoint!  stg)\n;(storage-revert!      stg)\n;(pretty-write (storage-checkpoint-count stg))\n;(pretty-write (sref 'hello 'world!))\n\n;(sset! 'hello 1 'world! 2)\n\n;(storage-checkpoint!  stg)\n;(storage-revert!      stg)\n;(pretty-write (storage-checkpoint-count stg))\n;(pretty-write (sref 'hello 'world!))\n\n;(sset! 'hello 5 'world! 2)\n\n;(storage-revert!      stg)\n;(storage-checkpoint!  stg)\n;(pretty-write (storage-checkpoint-count stg))\n;(pretty-write (sref 'hello 'world!))\n\n;(sset! 'hello 5 'world! 2)\n\n;(storage-checkpoint!  stg)\n;(storage-revert!      stg)\n;(pretty-write (storage-checkpoint-count stg))\n;(pretty-write (sref 'hello 'world!))\n\n(storage-trash-empty! stg)\n"
  },
  {
    "path": "medikanren2/neo/neo-biolink/biolink_2_4_8/biolink-model.yaml",
    "content": "id: https://w3id.org/biolink/biolink-model\nname: Biolink-Model\ndescription: Entity and association taxonomy and datamodel for life-sciences data\nlicense: https://creativecommons.org/publicdomain/zero/1.0/\n\n# Version should be kept in sync with primary Git repository release tag\n\nversion: 2.4.8\n\n\n## ------------\n## PREFIXES\n## ------------\n# CURIE namespaces (prefixes/base URI's) mappings of prefixes used in the body of the Biolink Model specification\n# are resolved using a specific precedence order, for use in the generation of the Biolink Model context.jsonld\n# mappings to namespaces. Any prefixes encountered in the Biolink Model but not resolved by the following\n# precedence sources, are anonymously declared by linkml as http://example.org/UNKNOWN/ rooted base URI's\n# which should ideally be repaired in one of the precedence lists.\n#\n# 1. The following 'prefixes:' delimited list has first precedence in resolution.\n#\nprefixes:\n  alliancegenome: 'https://www.alliancegenome.org/'\n  apollo: 'https://github.com/GMOD/Apollo'\n  AspGD: 'http://www.aspergillusgenome.org/cgi-bin/locus.pl?dbid='\n  biolink: 'https://w3id.org/biolink/vocab/'\n  bioschemas: 'https://bioschemas.org/'\n  linkml: 'https://w3id.org/linkml/'\n  CAID: 'http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid='\n  # Placeholder: just points to GMOD Chado wiki\n  CHADO: 'http://gmod.org/wiki/Chado/'\n  # Placeholders: not sure how 'chembio'and CHEMBL.MECHANISM really resolve\n  ChemBank: 'http://chembank.broadinstitute.org/chemistry/viewMolecule.htm?cbid='\n  CHEMBL.MECHANISM: 'https://www.ebi.ac.uk/chembl/mechanism/inspect/'\n  CID: 'http://pubchem.ncbi.nlm.nih.gov/compound/'\n  CLINVAR: 'http://identifiers.org/clinvar'\n  COAR_RESOURCE: 'http://purl.org/coar/resource_type/'\n  COG: 'https://www.ncbi.nlm.nih.gov/research/cog-project/'\n  CPT: 'https://www.ama-assn.org/practice-management/cpt/'\n  CTD.CHEMICAL: 'http://ctdbase.org/detail.go?type=chem&acc='\n  CTD.DISEASE: 'http://ctdbase.org/detail.go?type=disease&db=MESH&acc='\n  CTD.GENE: 'http://ctdbase.org/detail.go?type=gene&acc='\n  CTD: 'http://ctdbase.org/'\n  DGIdb: 'https://www.dgidb.org/interaction_types'\n  dcat: 'http://www.w3.org/ns/dcat#'\n  dct: 'http://purl.org/dc/terms/'\n  dcid: 'https://datacommons.org/browser/'\n  doi: 'https://doi.org/'\n  DOID-PROPERTY: 'http://purl.obolibrary.org/obo/doid#'\n  DrugCentral: 'http://drugcentral.org/drugcard/'\n  ECTO: 'http://purl.obolibrary.org/obo/ECTO_'\n  EDAM-DATA: 'http://edamontology.org/data_'\n  EDAM-FORMAT: 'http://edamontology.org/format_'\n  EDAM-OPERATION: 'http://edamontology.org/operation_'\n  EDAM-TOPIC: 'http://edamontology.org/topic_'\n  EFO: 'http://www.ebi.ac.uk/efo/EFO_'\n  ExO: 'http://purl.obolibrary.org/obo/ExO_'\n  fabio: 'http://purl.org/spar/fabio/'\n  foaf: 'http://xmlns.com/foaf/0.1/'\n  foodb.food: 'http://foodb.ca/compounds/'\n  foodb.compound: 'http://foodb.ca/foods/'\n  FYECO: 'https://www.pombase.org/term/'\n  FYPO: 'http://purl.obolibrary.org/obo/FYPO_'  # Fission Yeast Phenotype Ontology\n  GAMMA: 'http://translator.renci.org/GAMMA_'\n  gff3: 'https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md#'\n  GOREL: 'http://purl.obolibrary.org/obo/GOREL_'\n  # GOP: Gene Ontology Property (not really a GO term but an associated metadatum)\n  GOP: 'http://purl.obolibrary.org/obo/go#'\n  gpi: 'https://github.com/geneontology/go-annotation/blob/master/specs/gpad-gpi-2-0.md#'\n  GSID: 'https://scholar.google.com/citations?user='\n  GTEx: 'https://www.gtexportal.org/home/gene/'\n  GTOPDB: 'https://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId='\n  gtpo: 'https://rdf.guidetopharmacology.org/ns/gtpo#'\n  HANCESTRO: 'http://www.ebi.ac.uk/ancestro/ancestro_'\n  HCPCS: 'http://purl.bioontology.org/ontology/HCPCS/'\n  HsapDv: 'http://purl.obolibrary.org/obo/HsapDv_'\n  ICD10: 'https://icd.codes/icd9cm/'\n  ICD9: 'http://translator.ncats.nih.gov/ICD9_'\n  interpro: 'https://www.ebi.ac.uk/interpro/entry/'\n  INO: 'http://purl.obolibrary.org/obo/INO_'\n  isbn: 'https://www.isbn-international.org/identifier/' # note: a resolvable base URI not available from isbn-international\n  isni: 'https://isni.org/isni/'\n  issn: 'https://portal.issn.org/resource/ISSN/'\n  ncats.drug: 'https://drugs.ncats.io/drug/'\n  KEGG.BRITE: 'http://www.kegg.jp/entry/'\n  KEGG.DGROUP: 'http://www.kegg.jp/entry/'\n  KEGG.ENZYME: 'http://www.kegg.jp/entry/'\n  KEGG.GENE: 'http://www.kegg.jp/entry/'\n  KEGG.PATHWAY: 'https://www.kegg.jp/entry/'\n  KEGG.RCLASS: 'http://www.kegg.jp/entry/'\n  LOINC: 'http://loinc.org/rdf/'\n  MAXO: 'http://purl.obolibrary.org/obo/MAXO_'\n  medgen: 'https://www.ncbi.nlm.nih.gov/medgen/'\n  metacyc.reaction: 'https://identifiers.org/metacyc.reaction:'\n  METANETX.REACTION: 'https://www.metanetx.org/equa_info/'\n  MESH: 'http://id.nlm.nih.gov/mesh/'\n  MI: 'http://purl.obolibrary.org/obo/MI_'\n  mirbase: 'http://identifiers.org/mirbase'\n  mmmp.biomaps: 'https://bioregistry.io/mmmp.biomaps:'\n  MmusDv: 'http://purl.obolibrary.org/obo/MMUSDV_'\n  MSigDB: 'https://www.gsea-msigdb.org/gsea/msigdb/'\n  NBO-PROPERTY: 'http://purl.obolibrary.org/obo/nbo#'\n  ncats.bioplanet: 'https://tripod.nih.gov/bioplanet/detail.jsp?pid='\n  NCBIGene: 'http://identifiers.org/ncbigene/'\n  NCIT-OBO: 'http://purl.obolibrary.org/obo/ncit#'\n  NDDF: 'http://purl.bioontology.org/ontology/NDDF/'\n  NLMID: 'https://www.ncbi.nlm.nih.gov/nlmcatalog/?term='\n  OBAN: 'http://purl.org/oban/'\n  oboformat: 'http://www.geneontology.org/formats/oboInOwl#'\n  OMIM.PS: 'https://www.omim.org/phenotypicSeries/'\n  OBOREL: 'http://purl.obolibrary.org/obo/RO_'\n  ORCID: 'https://orcid.org/'\n  ORPHA: 'http://www.orpha.net/ORDO/Orphanet_'\n  os: 'https://github.com/cmungall/owlstar/blob/master/owlstar.ttl'\n  PANTHER.FAMILY: 'http://www.pantherdb.org/panther/family.do?clsAccession='\n  PathWhiz: 'http://smpdb.ca/pathways/#'  # See also https://smpdb.ca/pathwhiz/\n  pav: 'http://purl.org/pav/'\n  PHAROS: 'http://pharos.nih.gov'\n  PomBase: 'https://www.pombase.org/gene/'\n  prov: 'http://www.w3.org/ns/prov#'\n  qud: 'http://qudt.org/1.1/schema/qudt#'\n  REPODB: 'http://apps.chiragjpgroup.org/repoDB/'\n  ResearchID: 'https://publons.com/researcher/'\n  RO: 'http://purl.obolibrary.org/obo/RO_'\n  RXNORM: 'http://purl.bioontology.org/ontology/RXNORM/'\n  RXCUI: 'https://mor.nlm.nih.gov/RxNav/search?searchBy=RXCUI&searchTerm='\n  schema: 'http://schema.org/'\n  ScopusID: 'https://www.scopus.com/authid/detail.uri?authorId='\n  SEED.REACTION: 'https://modelseed.org/biochem/reactions/'\n  SEMMEDDB: 'https://skr3.nlm.nih.gov/SemMedDB'\n  SIO: 'http://semanticscience.org/resource/SIO_'\n  SNOMED: 'http://www.snomedbrowser.com/Codes/Details/'\n  SNOMEDCT: 'http://www.snomedbrowser.com/Codes/Details/'\n  UBERGRAPH: 'http://translator.renci.org/ubergraph-axioms.ofn#'\n  UBERON_CORE: 'http://purl.obolibrary.org/obo/uberon/core#'\n  UBERON_NONAMESPACE: 'http://purl.obolibrary.org/obo/core#'\n  # The UMLS Semantic types and groups namespaces don't have a directly\n  # resolvable Base URI, but we point to a pair of sensible web documents\n  STY: 'http://purl.bioontology.org/ontology/STY/'\n  UMLSSG: 'https://lhncbc.nlm.nih.gov/semanticnetwork/download/sg_archive/SemGroups-v04.txt'\n  VANDF: 'https://www.nlm.nih.gov/research/umls/sourcereleasedocs/current/VANDF/'\n  UO-PROPERTY: 'http://purl.obolibrary.org/obo/uo#'\n  # The \"Variation Modelling Collaboration\" (VMC) is not (yet) a conventional namespace so we point to its Github repo\n  # See also: https://www.ga4gh.org/work_stream/genomic-knowledge-standards/#existing-standards and\n  # https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7153148/\n  VMC: 'https://github.com/ga4gh/vr-spec/'\n  WBls: 'http://purl.obolibrary.org/obo/WBBL_'\n  WBbt: 'http://purl.obolibrary.org/obo/WBBT_'\n  WBVocab: 'http://bio2rdf.org/wormbase_vocabulary'\n  WIKIDATA: 'https://www.wikidata.org/wiki/'            # Wikidata Entity\n  WIKIDATA_PROPERTY: 'https://www.wikidata.org/wiki/Property:'  # Wikidata Property - not a conventional namespace prefix\n  wgs: 'http://www.w3.org/2003/01/geo/wgs84_pos'\n  XPO: 'http://purl.obolibrary.org/obo/XPO_'  # Xenopus Phenotype Ontology\n  Xenbase: 'http://www.xenbase.org/gene/showgene.do?method=display&geneId='\n\ndefault_prefix: biolink\ndefault_range: string\n\n# 2. The following prefix maps are retrieved from the\n#    specified contexts defined at https://prefixcommons.org/\ndefault_curi_maps:\n  - obo_context\n  - idot_context\n  - monarch_context\n  - semweb_context\n\n# The following 'standard' prefixes are also used.\nemit_prefixes:\n  - rdf\n  - rdfs\n  - xsd\n  - skos\n  - OIO\n  - BIOGRID\n  - SO\n\n## ------------\n## SUBSETS\n## ------------\nenums:\n  logical_interpretation_enum:\n    permissible_values:\n      SomeSome:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as a some-some statement\n        meaning: os:SomeSomeInterpretation\n      AllSome:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as an all-some statement.\n        meaning: os:AllSomeInterpretation\n      InverseAllSome:\n\n  reaction_direction_enum:\n    permissible_values:\n      left_to_right:\n      right_to_left:\n      bidirectional:\n      neutral:\n\n  reaction_side_enum:\n    permissible_values:\n      left:\n      right:\n\n  phase_enum:\n    description: phase\n    permissible_values:\n      0:\n      1:\n      2:\n\n  strand_enum:\n    description: strand\n    permissible_values:\n      \"+\":\n        description: Positive\n      \"-\":\n        description: Negative\n      \".\":\n        description: Unstranded\n      \"?\":\n        description: Unknown\n\n  sequence_enum:\n    description: type of sequence\n    permissible_values:\n      \"NA\":\n        description: nucleic acid\n      \"AA\":\n        description: amino acid\n\n  predicate_qualifier_enum:\n    description: >-\n      constrained list of qualifying terms that soften or expand the definition of the predicate used.\n      can be used to constrain or qualify any predicate (any child of related_to).\n    permissible_values:\n      \"predicted\":\n      \"possibly\":\n      \"hypothesized\":\n      \"validated\":\n      \"supported by real-world evidence\":\n      \"supported by clinical evidence\":\n\n  druggable_gene_category_enum:\n    permissible_values:\n      \"Tclin\":\n        description: >-\n          These targets have activities in DrugCentral (ie. approved drugs) with known mechanism of action.\n      \"Tbio\":\n        description: >-\n          These targets have activities in ChEMBL, Guide to Pharmacology or DrugCentral that satisfy\n          the activity thresholds detailed below.\n      \"Tchem\":\n        description: >-\n          These targets do not have known drug or small molecule activities that satisfy the activity\n          thresholds detailed below AND satisfy one or more of the following criteria:\n          target is above the cutoff criteria for Tdark\n          target is annotated with a Gene Ontology Molecular Function or Biological Process leaf term(s)\n          with an Experimental Evidence code\n      \"Tdark\":\n        description: >-\n          These are targets about which virtually nothing is known. They do not have known drug or small\n          molecule activities that satisfy the activity thresholds detailed below AND satisfy two or\n          more of the following criteria:\n          A PubMed text-mining score from Jensen Lab less than 5, greater than or equal TO 3 Gene RIFs, or\n          less than or equal to 50 Antibodies available according to http://antibodypedia.com.\n\n  drug_availability_enum:\n    description: >-\n    permissible_values:\n      \"over the counter\":\n        description: >-\n          chemical entity is available over the counter without a prescription.\n      \"prescription\":\n        description:\n          chemical entity is available by prescription.\n\n  drug_delivery_enum:\n    permissible_values:\n      \"inhalation\":\n      \"oral\":\n      \"absorbtion through the skin\":\n      \"intravenous injection\":\n\n  FDA_approval_status_enum:\n    description: >-\n    permissible_values:\n      \"Discovery & Development Phase\":\n        description: >-\n          Discovery & Development Phase. Discovery involves researchers finding new possibilities\n          for medication through testing molecular compounds, noting unexpected effects from existing treatments,\n          or the creation of new technology that allows novel ways of targeting medical products to sites in the body.\n          Drug development occurs after researchers identify potential compounds for experiments.\n      \"Preclinical Research Phase\":\n        description: >-\n          Preclinical Research Phase.  Once researchers have examined the possibilities a new drug may contain,\n          they must do preliminary research to determine its potential for harm (toxicity).\n          This is categorized as preclinical research and can be one of two types: in vitro or in vivo.\n      \"FDA Clinical Research Phase\":\n        description: >-\n          Clinical Research Phase. Clinical research involves trials of the drug on people,\n          and it is one of the most involved stages in the drug development and approval process.\n          Clinical trials must answer specific questions and follow a protocol determined by\n          the drug researcher or manufacturer.\n      \"FDA Review Phase 4\":\n        description: >-\n          FDA Review\n      \"FDA Post-Market Safety Monitoring\":\n        description: >-\n          FDA Post-Market Safety Monitoring.  The last phase of drug approval is an ongoing one\n          while the drug is on the marketplace. If a developer wants to change anything about the\n          drug formulation or approve it for a new use, they must apply with the FDA. The FDA also\n          frequently reviews the drug’s advertising and its manufacturing facility to make sure\n          everything involved in its creation and marketing is in compliance with regulations.\n      \"FDA Clinical Research Phase 1\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 1 involves 20 – 100 study participants and\n          lasts several months. This phase is used to determine the safety and dosage of the drug,\n          and about 70% of these drugs move on to the next clinical research phase.\n      \"FDA Clinical Research Phase 2\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 2 involves up to several hundred people,\n          who must have the disease or condition the drug supposes to treat. This phase can last\n          from a few months to two years, and its purpose is to monitor the efficacy of the drug,\n          as well as note side effects that may occur.\n      \"FDA Clinical Research Phase 3\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 3 involves 300 – 3000 volunteers\n          and can last up to four years. It is used to continue monitoring the efficacy of\n          the drug, as well as exploring any longer-term adverse reactions.\n      \"FDA Clinical Research Phase 4\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 4 involves several thousands of\n          volunteers who have the disease or condition and continues to monitor safety and efficacy.\n          If a drug passes this phase, it goes on to FDA review.\n      \"FDA Fast Track\":\n        description: >-\n          Fast track is a process designed to facilitate the development, and expedite the\n          review of drugs to treat serious conditions and fill an unmet medical need.\n          The purpose is to get important new drugs to the patient earlier. Fast Track\n          addresses a broad range of serious conditions. For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/fast-track\n      \"FDA Breakthrough Therapy\":\n        description: >-\n          Breakthrough Therapy designation is a process designed to expedite the\n          development and review of drugs that are intended to treat a serious\n          condition and preliminary clinical evidence indicates that the drug may\n          demonstrate substantial improvement over available therapy on a clinically significant endpoint(s).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/breakthrough-therapy\n      \"FDA Accelerated Approval\":\n        description: >-\n          When studying a new drug, it can sometimes take many years to learn whether a drug actually\n          provides a real effect on how a patient survives, feels, or functions. A positive therapeutic\n          effect that is clinically meaningful in the context of a given disease is known as “clinical benefit”.\n          Mindful of the fact that it may take an extended period of time to measure a drug’s intended clinical\n          benefit, in 1992 FDA instituted the Accelerated Approval regulations. These regulations allowed drugs\n          for serious conditions that filled an unmet medical need to be approved based on a surrogate endpoint.\n          Using a surrogate endpoint enabled the FDA to approve these drugs faster.\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/accelerated-approval\n      \"FDA Priority Review\":\n        description: >-\n          Prior to approval, each drug marketed in the United States must go through a detailed FDA review process.\n          In 1992, under the Prescription Drug User Act (PDUFA), FDA agreed to specific goals for improving\n          the drug review time and created a two-tiered system of review times – Standard Review and Priority\n          Review. A Priority Review designation means FDA’s goal is to take action on an application\n          within 6 months (compared to 10 months under standard review).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/priority-review\n      \"Regular FDA Approval\":\n      \"Post-Approval Withdrawal\":\n\n\n\nsubsets:\n\n  model_organism_database:\n    description: >-\n      Subset that is relevant for a typical Model Organism Database (MOD)\n\n  translator_minimal:\n    description: >-\n      Minimum subset of translator work\n\n  samples:\n    description: >-\n      Sample/biosample datamodel\n\n  testing:\n    description: >-\n      TBD\n\n\n## ------------\n## TYPES\n## ------------\n\nimports:\n  - linkml:types\n\ntypes:\n\n  chemical formula value:\n    uri: xsd:string\n    base: str\n    description: A chemical formula\n    notes:\n      - Should be implemented as a stronger type\n\n  category type:\n    typeof: uriorcurie\n    description: >-\n      A primitive type in which the value denotes a class within the biolink model.\n      The value must be a URI or a CURIE. In a Neo4j representation, the value should\n      be the CURIE for the biolink class, for example biolink:Gene. For an RDF representation,\n      the value should be a URI such as https://w3id.org/biolink/vocab/Gene\n\n  iri type:\n    typeof: uriorcurie\n    description: >-\n      An IRI\n\n  label type:\n    typeof: string\n    description: >-\n      A string that provides a human-readable name for an entity\n\n  predicate type:\n    typeof: uriorcurie\n    description: >-\n      A CURIE from the biolink related_to hierarchy.\n      For example, biolink:related_to, biolink:causes, biolink:treats.\n\n  narrative text:\n    typeof: string\n    description: >-\n      A string that provides a human-readable description of something\n\n  symbol type:\n    typeof: string\n\n  frequency value:\n    typeof: string\n    uri: UO:0000105\n\n  percentage frequency value:\n    typeof: double\n    uri: UO:0000187\n\n  quotient:\n    aliases: ['ratio']\n    typeof: double\n    uri: UO:0010006\n\n  unit:\n    typeof: string\n    uri: UO:0000000\n    id_prefixes:\n      - UO\n    exact_mappings:\n      - qud:Unit\n\n  time type:\n    typeof: time\n\n  biological sequence:\n    typeof: string\n\n## ------------\n## SLOTS\n## ------------\n\nslots:\n\n## ---------------\n## ATTRIBUTE SLOTS\n## ---------------\n\n  has attribute:\n    description: >-\n      connects any entity to an attribute\n    domain: entity\n    range: attribute\n    multivalued: true\n    in_subset:\n      - samples\n    close_mappings:\n      # RTX term meaning 'specifies value of' tagged as inverse of 'biolink:has attribute'\n      - OBI:0001927\n    exact_mappings:\n      - SIO:000008\n    narrow_mappings:\n      # if 'has attribute' annotates a NamedThing as subject or\n      # object of an association, these OBAN mappings may apply\n      - OBAN:association_has_subject_property\n      - OBAN:association_has_object_property\n      - CPT:has_possibly_included_panel_element\n      - DRUGBANK:category\n      # RTX contributed terms. Could perhaps review for more semantically precise mappings?\n      - EFO:is_executed_in\n      - HANCESTRO:0301\n      - LOINC:has_action_guidance\n      - LOINC:has_adjustment\n      - LOINC:has_aggregation_view\n      - LOINC:has_approach_guidance\n      - LOINC:has_divisor\n      - LOINC:has_exam\n      - LOINC:has_method\n      - LOINC:has_modality_subtype\n      - LOINC:has_object_guidance\n      - LOINC:has_scale\n      - LOINC:has_suffix\n      - LOINC:has_time_aspect\n      - LOINC:has_time_modifier\n      - LOINC:has_timing_of\n      # disease is stage\n      - NCIT:R88\n      - NCIT:eo_disease_has_property_or_attribute\n      - NCIT:has_data_element\n      - NCIT:has_pharmaceutical_administration_method\n      - NCIT:has_pharmaceutical_basic_dose_form\n      - NCIT:has_pharmaceutical_intended_site\n      - NCIT:has_pharmaceutical_release_characteristics\n      - NCIT:has_pharmaceutical_state_of_matter\n      - NCIT:has_pharmaceutical_transformation\n      - NCIT:is_qualified_by\n      - NCIT:qualifier_applies_to\n      - NCIT:role_has_domain\n      - NCIT:role_has_range\n      - INO:0000154\n      - HANCESTRO:0308\n      - OMIM:has_inheritance_type\n      - ORPHA:C016\n      - ORPHA:C017\n      - RO:0000053\n      # RTX tagged a few RO terms as 'biolink:related_to' but semantics suggest a better mapping here\n      - RO:0000086\n      - RO:0000087\n      - SNOMED:has_access\n      - SNOMED:has_clinical_course\n      - SNOMED:has_count_of_base_of_active_ingredient\n      - SNOMED:has_dose_form_administration_method\n      - SNOMED:has_dose_form_release_characteristic\n      - SNOMED:has_dose_form_transformation\n      - SNOMED:has_finding_context\n      - SNOMED:has_finding_informer\n      - SNOMED:has_inherent_attribute\n      - SNOMED:has_intent\n      - SNOMED:has_interpretation\n      - SNOMED:has_laterality\n      - SNOMED:has_measurement_method\n      - SNOMED:has_method\n      - SNOMED:has_priority\n      - SNOMED:has_procedure_context\n      - SNOMED:has_process_duration\n      - SNOMED:has_property\n      - SNOMED:has_revision_status\n      - SNOMED:has_scale_type\n      - SNOMED:has_severity\n      - SNOMED:has_specimen\n      - SNOMED:has_state_of_matter\n      - SNOMED:has_subject_relationship_context\n      - SNOMED:has_surgical_approach\n      - SNOMED:has_technique\n      - SNOMED:has_temporal_context\n      - SNOMED:has_time_aspect\n      - SNOMED:has_units\n      - UMLS:has_structural_class\n      - UMLS:has_supported_concept_property\n      - UMLS:has_supported_concept_relationship\n      - UMLS:may_be_qualified_by\n\n  has attribute type:\n    description: >-\n      connects an attribute to a class that describes it\n    domain: attribute\n    range: ontology class\n    multivalued: false\n    required: true\n    in_subset:\n      - samples\n    narrow_mappings:\n      - LOINC:has_modality_type\n      - LOINC:has_view_type\n\n  # TRAPI Attribute schema alignment:\n  # value: NamedThing.name\n  # value_type: NamedThing.category\n  # value_type_name: quantity_value.NamedThing.name\n  has qualitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: named thing\n    multivalued: false\n    in_subset:\n      - samples\n\n  # TRAPI Attribute schema alignment:\n  # value: quantity_value.has_numeric_value[double] - may be a vector?\n  # value_type: quantity_value.has_unit.unit.uri\n  # value_type_name: quantity_value.has_unit.unit.name[string]\n  has quantitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: quantity value\n    multivalued: true\n    exact_mappings:\n      - qud:quantityValue\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_numerator_value\n      - SNOMED:has_presentation_strength_denominator_value\n      - SNOMED:has_presentation_strength_numerator_value\n    in_subset:\n      - samples\n\n  has numeric value:\n    description: >-\n      connects a quantity value to a number\n    domain: quantity value\n    range: double\n    multivalued: false\n    exact_mappings:\n      - qud:quantityValue\n    in_subset:\n      - samples\n\n  has unit:\n    description: >-\n      connects a quantity value to a unit\n    domain: quantity value\n    range: unit\n    multivalued: false\n    close_mappings:\n      # These RTX contributed terms mean \"is unit of\" which is the semantic inverse of this biolink:has_unit term\n      - EFO:0001697\n      - UO-PROPERTY:is_unit_of\n    exact_mappings:\n      - qud:unit\n      - IAO:0000039\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_denominator_unit\n      - SNOMED:has_concentration_strength_numerator_unit\n      - SNOMED:has_presentation_strength_denominator_unit\n      - SNOMED:has_presentation_strength_numerator_unit\n      - SNOMED:has_unit_of_presentation\n    in_subset:\n      - samples\n\n  base coordinate:\n    is_a: sequence localization attribute\n    aliases: [ 'one-based', 'fully-closed' ]\n    description: >-\n      A position in the base coordinate system.  Base coordinates start at position 1 instead of position 0.\n    range: integer\n\n## --------------------\n## NODE PROPERTY SLOTS\n## --------------------\n\n  node property:\n    description: >-\n      A grouping for any property that holds between a node and a value\n    domain: named thing\n\n  id:\n    identifier: true\n    description: >-\n      A unique identifier for an entity.\n      Must be either a CURIE shorthand for a URI or a complete URI\n    in_subset:\n      - translator_minimal\n    required: true\n    exact_mappings:\n      - alliancegenome:primaryId\n      - gff3:ID\n      - gpi:DB_Object_ID\n\n  iri:\n    description: >-\n      An IRI for an entity. This is determined by the id using expansion rules.\n    range: iri type\n    in_subset:\n      - translator_minimal\n      - samples\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P854\n\n  type:\n    slot_uri: rdf:type\n    exact_mappings:\n      - alliancegenome:soTermId\n      - gff3:type\n      - gpi:DB_Object_Type\n\n  category:\n    is_a: type\n    domain: entity\n    range: category type\n    designates_type: true\n    description: >-\n      Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the\n      biolink entity type class.\n       * In a neo4j database this MAY correspond to the neo4j label tag.\n       * In an RDF database it should be a biolink model class URI.\n      This field is multi-valued. It should include values for ancestors of the biolink class; for example,\n      a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`, ...\n\n      In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink\n      class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f`\n      may have a rdf:type assertion to a SO class such as TF_binding_site,\n      which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity,\n      biolink:MolecularEntity, biolink:NamedThing}\n    is_class_field: true\n    multivalued: true\n    in_subset:\n      - translator_minimal\n\n  name:\n    aliases: [ 'label', 'display name', 'title' ]\n    description: >-\n      A human-readable name for an attribute or entity.\n    range: label type\n    in_subset:\n      - translator_minimal\n      - samples\n    #\n    # linkML doesn't like this name slot to be \"required: true\".\n    # Besides, some entity nodes/attributes may not have names?\n    # required: true\n    slot_uri: rdfs:label\n    exact_mappings:\n      - gff3:Name\n      - gpi:DB_Object_Name\n    narrow_mappings:\n      - dct:title\n      - WIKIDATA_PROPERTY:P1476\n\n  source:\n    deprecated: true\n\n  stoichiometry:\n    description: >-\n      the relationship between the relative quantities of substances taking part in a reaction or\n      forming a compound, typically a ratio of whole integers.\n    is_a: association slot\n    range: integer\n\n  reaction direction:\n    description: >-\n      the direction of a reaction as constrained by the direction_enum (ie: left_to_right, neutral, etc.)\n    is_a: association slot\n    range: reaction_direction_enum\n    narrow_mappings:\n      - NCIT:C42677\n\n  reaction balanced:\n    is_a: association slot\n    range: boolean\n\n  reaction side:\n    description: >-\n      the side of a reaction being modeled (ie: left or right)\n    is_a: association slot\n    range: reaction_side_enum\n\n  symbol:\n    is_a: node property\n    domain: named thing\n    description: >-\n      Symbol for a particular thing\n    exact_mappings:\n      - alliancegenome:symbol\n      - gpi:DB_Object_Symbol\n\n  synonym:\n    is_a: node property\n    aliases: ['alias']\n    domain: named thing\n    range: label type\n    description: >-\n      Alternate human-readable names for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      # there is an interesting debate here: are these terms \"narrower\" a.k.a. more specialized instances of\n      # 'biolink:synonym' or should they be binned into their respective namesake class of mappings?\n      # namely, is 'oboInOwl:hasExactSynonym' an instance 'exact_mappings', etc.\n      - skos:altLabel\n      - gff3:Alias\n      - alliancegenome:synonyms\n      - gpi:DB_Object_Synonyms\n      - oboInOwl:hasExactSynonym\n      - oboInOwl:hasNarrowSynonym\n      - oboInOwl:hasBroadSynonym\n      - oboInOwl:hasRelatedSynonym\n      # TODO: RTX contributed terms mapped here... May need review?\n      - HANCESTRO:0330\n      - IAO:0000136\n      - RXNORM:has_tradename\n\n  has topic:\n    aliases: ['topic', 'descriptors']\n    is_a: node property\n    range: ontology class\n    exact_mappings:\n      - foaf:topic\n    description: >-\n      Connects a node to a vocabulary term or ontology class that describes some aspect of the entity. In general specific characterization is preferred.\n      See https://github.com/biolink/biolink-model/issues/238\n\n  xref:\n    is_a: node property\n    aliases: ['dbxref', 'Dbxref', 'DbXref']\n    domain: named thing\n    range: uriorcurie\n    description: >-\n      Alternate CURIEs for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - gff3:Dbxref\n      - gpi:DB_Xrefs\n\n  full name:\n    is_a: node property\n    domain: named thing\n    range: label type\n    description: >-\n      a long-form human readable name for a thing\n\n  description:\n    aliases: ['definition']\n    range: narrative text\n    description: >-\n      a human-readable description of an entity\n    in_subset:\n      - translator_minimal\n    slot_uri: dct:description\n    exact_mappings:\n      - IAO:0000115\n      - skos:definitions\n    narrow_mappings:\n      - gff3:Description\n\n  systematic synonym:\n    is_a: node property\n    domain: named thing\n    range: label type\n    multivalued: true\n    slot_uri: GOP:systematic_synonym\n    description: >-\n      more commonly used for gene symbols in yeast\n\n  affiliation:\n    is_a: node property\n    description: >-\n      a professional relationship between one provider (often a person) within another provider (often an organization).\n      Target provider identity should be specified by a CURIE. Providers may have multiple affiliations.\n    domain: agent\n    range: uriorcurie\n    multivalued: true\n\n  address:\n    is_a: node property\n    description: >-\n      the particulars of the place where someone or an organization is situated.  For now, this slot is a\n      simple text \"blob\" containing all relevant details of the given location for fitness of purpose.\n      For the moment, this \"address\" can include other contact details such as email and phone number(?).\n\n  ## Space\n\n  latitude:\n    is_a: node property\n    range: float\n    description: >-\n      latitude\n    exact_mappings:\n      - wgs:lat\n\n  longitude:\n    is_a: node property\n    range: float\n    description: >-\n      longitude\n    exact_mappings:\n      - wgs:long\n\n  ## Time\n\n  timepoint:\n    aliases: ['duration']\n    range: time type\n    description: >-\n      a point in time\n\n  creation date:\n    is_a: node property\n    aliases: ['publication date']\n    range: date\n    description: >-\n      date on which an entity was created. This can be applied to nodes or edges\n    exact_mappings:\n      - dct:createdOn\n      - WIKIDATA_PROPERTY:P577\n\n  update date:\n    is_a: node property\n    range: date\n    description: >-\n      date on which an entity was updated. This can be applied to nodes or edges\n\n  ## Statistics\n\n  aggregate statistic:\n    is_a: node property\n    abstract: true\n\n  has count:\n    description: >-\n      number of things with a particular property\n    is_a: aggregate statistic\n    range: integer\n    exact_mappings:\n      - LOINC:has_count\n\n  has total:\n    description: >-\n      total number of things in a particular reference set\n    is_a: aggregate statistic\n    range: integer\n\n  has quotient:\n    is_a: aggregate statistic\n    range: double\n\n  has percentage:\n    description: >-\n      equivalent to has quotient multiplied by 100\n    is_a: aggregate statistic\n    range: double\n\n  ## Properties for Information Content Entity and Publication Nodes\n\n  has taxonomic rank:\n    is_a: node property\n    range: taxonomic rank\n    multivalued: false\n    mappings:\n      - WIKIDATA:P105\n\n  has dataset:\n    is_a: node property\n    domain: dataset version\n    range: dataset\n    slot_uri: dct:source\n\n  source web page:\n    is_a: node property\n    domain: dataset summary\n    broad_mappings:\n      - dct:source\n\n  source logo:\n    is_a: node property\n    domain: dataset summary\n    slot_uri: schema:logo\n\n  retrieved on:\n    is_a: node property\n    domain: dataset\n    range: date\n    exact_mappings:\n      - pav:retrievedOn\n\n  version of:\n    is_a: node property\n    domain: dataset version\n    range: dataset summary\n    exact_mappings:\n      - dct:isVersionOf\n\n  version:\n    is_a: node property\n    domain: dataset\n    broad_mappings:\n      - pav:version\n      - owl:versionInfo\n\n  license:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:license\n    narrow_mappings:\n      - WIKIDATA_PROPERTY:P275\n\n  rights:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:rights\n\n  format:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:format\n      - WIKIDATA_PROPERTY:P2701\n\n  created with:\n    is_a: node property\n    domain: dataset\n    exact_mappings:\n      - pav:createdWith\n\n  download url:\n    is_a: node property\n    domain: information content entity\n    slot_uri: dcat:downloadURL\n\n  dataset download url:\n    is_a: node property\n    domain: dataset\n    slot_uri: dcat:downloadURL\n\n  distribution download url:\n    is_a: node property\n    domain: dataset distribution\n    exact_mappings:\n      - dcat:downloadURL\n\n  ingest date:\n    is_a: node property\n    domain: dataset version\n    slot_uri: pav:version\n\n  has distribution:\n    is_a: node property\n    domain: dataset version\n    range: dataset distribution\n    slot_uri: dct:distribution\n\n  published in:\n    is_a: node property\n    description: >-\n      CURIE identifier of a broader publication context within which the publication may be placed,\n      e.g. a specified book or journal.\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - NLMID\n      - issn\n      - isbn\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1433\n\n  iso abbreviation:\n    is_a: node property\n    description: >-\n      Standard abbreviation for periodicals in the International Organization for Standardization (ISO) 4 system\n      See https://www.issn.org/services/online-services/access-to-the-ltwa/. If the 'published in' property is set,\n      then the iso abbreviation pertains to the broader publication context (the journal) within which the given\n      publication node is embedded, not the publication itself.\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1160\n\n  authors:\n    is_a: node property\n    singular_name: author\n    description: >-\n      connects an publication to the list of authors who contributed to the publication.\n      This property should be a comma-delimited list of author names. It is recommended that an author's name\n      be formatted as \"surname, firstname initial.\".   Note that this property is a node annotation expressing\n      the citation list of authorship which might typically otherwise be more completely documented in\n      biolink:PublicationToProviderAssociation defined edges which point to full details about an author\n      and possibly, some qualifiers which clarify the specific status of a given author in the publication.\n    multivalued: true\n    domain: publication\n\n  volume:\n    is_a: node property\n    description: >-\n      volume of a book or music release in a collection/series or a published collection of journal issues in a serial publication\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P478\n\n  chapter:\n    is_a: node property\n    description: >-\n      chapter of a book\n    domain: book chapter\n    exact_mappings:\n      - WIKIDATA:Q1980247\n\n  issue:\n    is_a: node property\n    description: >-\n      issue of a newspaper, a scientific journal or magazine for reference purpose\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P433\n\n  pages:\n    is_a: node property\n    description: >-\n      page number of source referenced for statement or publication\n    domain: publication\n    multivalued: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P304\n\n  summary:\n    is_a: node property\n    # since 'abstract' is a linkML keyword denoting a non-instantiable class or slot,\n    # it is generally recommended that knowledge graphs use 'summary' instead to tag a Publication 'abstract'\n    aliases: ['abstract']\n    description: >-\n      executive  summary of a publication\n    domain: publication\n    exact_mappings:\n      - dct:abstract\n      - WIKIDATA:Q333291\n\n  keywords:\n    is_a: node property\n    description: >-\n      keywords tagging a publication\n    domain: publication\n    multivalued: true\n\n  mesh terms:\n    is_a: node property\n    description: >-\n      mesh terms tagging a publication\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - MESH\n    multivalued: true\n    exact_mappings:\n      - dcid:MeSHTerm\n\n  ## Biology\n\n  has biological sequence:\n    is_a: node property\n    description: >-\n      connects a genomic feature to its sequence\n    range: biological sequence\n\n  has gene or gene product:\n    is_a: node property\n    description: >-\n      connects an entity with one or more gene or gene products\n    range: gene\n    multivalued: true\n\n  has gene:\n    is_a: has gene or gene product\n    description: >-\n      connects an entity associated with one or more genes\n    range: gene\n    multivalued: true\n\n  has zygosity:\n    is_a: node property\n    domain: nucleic acid entity\n    range: zygosity\n\n  ## Chemistry, drugs and food\n\n  has chemical formula:\n    is_a: node property\n    range: chemical formula value\n    description: >-\n      description of chemical compound based on element symbols\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P274\n\n  is metabolite:\n    is_a: node property\n    domain: molecular entity\n    range: boolean\n    description: >-\n      indicates whether a molecular entity is a metabolite\n    exact_mappings:\n      - CHEBI:25212\n\n  has constituent:\n    description: >-\n      one or more molecular entities within a chemical mixture\n    is_a: node property\n    range: molecular entity\n    multivalued: true\n\n  has drug:\n    is_a: node property\n    description: >-\n      connects an entity to one or more drugs\n    range: drug\n    multivalued: true\n\n  has device:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) devices\n    range: device\n    multivalued: true\n\n  has procedure:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) procedures\n    range: procedure\n    multivalued: true\n\n  ## Clinical exposures\n\n  has receptor:\n    is_a: node property\n    domain: exposure event\n    range: organismal entity\n    description: >-\n      the organism or organism part being exposed\n    exact_mappings:\n      - ExO:0000001\n\n  has stressor:\n    is_a: node property\n    domain: exposure event\n    aliases: ['has stimulus']\n    description: >-\n      the process or entity that the receptor is being exposed to\n    exact_mappings:\n      - ExO:0000000\n\n  has route:\n    is_a: node property\n    domain: exposure event\n    description: >-\n      the process that results in the stressor coming into direct contact with the receptor\n    exact_mappings:\n      - ExO:0000055\n    narrow_mappings:\n      - LOINC:has_pharmaceutical_route\n      - SNOMED:has_dose_form_intended_site\n      - SNOMED:has_route_of_administration\n\n  has population context:\n    description: >-\n      a biological population (general, study, cohort, etc.) with a specific\n      set of characteristics to constrain an association.\n    is_a: association slot\n    range: population of individual organisms\n\n  has temporal context:\n    description: >-\n      a constraint of time placed upon the truth value of an association.\n    is_a: association slot\n    # this resolves to the 'time' datatype, but not sure\n    # if this also represents an interval of time.\n    range: time type\n\n  is supplement:\n    description: >-\n    is_a: node property\n    range: chemical mixture\n\n  trade name:\n    description: >-\n    is_a: node property\n    range: chemical entity\n\n  available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: drug_availability_enum\n\n  is toxic:\n    description: >-\n    is_a: node property\n    multivalued: false\n    range: boolean\n\n  has chemical role:\n    is_a: node property\n    description: >-\n      \tA role is particular behaviour which a material entity may exhibit.\n    range: chemical role\n    multivalued: true\n\n  max tolerated dose:\n    description: >-\n      The highest dose of a drug or treatment that does not cause unacceptable side effects.\n      The maximum tolerated dose is determined in clinical trials by testing increasing doses\n      on different groups of people until the highest dose with acceptable side effects is\n      found. Also called MTD.\n    is_a: node property\n    multivalued: false\n    range: string\n\n  animal model available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: disease or phenotypic feature\n\n  highest FDA approval status:\n    description: >-\n      Should be the highest level of FDA approval this chemical entity or device has, regardless of which\n      disease, condition or phenotype it is currently being reviewed to treat.  For specific levels of FDA\n      approval for a specific condition, disease, phenotype, etc., see the association slot, 'FDA approval status.'\n\n  drug regulatory status world wide:\n    aliases: ['max phase']\n    description: >-\n      An agglomeration of drug regulatory status worldwide. Not specific to FDA.\n    exact_mappings:\n      - NCIT:C172573\n    narrow_mappings:\n      - NCIT:R172\n      - NCIT:regimen_has_accepted_use_for_disease\n      # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n\n  routes of delivery:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    multivalued: true\n    range: drug_delivery_enum\n\n\n## --------------------\n## PREDICATES/RELATIONS\n## --------------------\n\n  related to:\n    description: >-\n      A relationship that is asserted between two named things\n    domain: named thing\n    range: named thing\n    multivalued: true\n    inherited: true\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - skos:relatedMatch\n      - UMLS:related_to\n    broad_mappings:\n      - owl:topObjectProperty\n    narrow_mappings:\n      - SEMMEDDB:compared_with\n      - SEMMEDDB:higher_than\n      - SEMMEDDB:lower_than\n      - BFO:0000054\n      - UBERON_CORE:protects\n      - GOREL:0002005\n      - GOREL:0012006\n      # several of the following terms mapped here by RTX could merit upgrade to new Biolink terms\n      - BTO:related_to\n      - CHEBI:is_conjugate_acid_of\n      - CHEBI:is_conjugate_base_of\n      - CPT:has_add_on_code\n      - CPT:mapped_to\n      - EFO:0006351\n      - FMA:connected_to\n      - FMA:continuous_with\n      - FMA:homonym_of\n      - FMA:related_developmental_entity_of\n      - RO:0002093\n      - RO:0002092\n      - RO:0002084\n      - HCPCS:mapped_to\n      # RTX contributed terms, perhaps belong somewhere else with more precise semantics?\n      - HMDB:disease\n      - HMDB:has_protein_association\n      - IAO:0000136\n      - LOINC:has_answer\n      - LOINC:has_challenge\n      - LOINC:has_evaluation\n      - LOINC:mapped_to\n      - LOINC:mth_has_expanded_form\n      - MESH:RO\n      - MESH:has_mapping_qualifier\n      - MESH:mapped_to\n      - MONDO:disease_shares_features_of\n      - NCIT:disease_may_have_associated_disease\n      - NCIT:human_disease_maps_to_eo_disease\n      - NCIT:is_abnormal_cell_of_disease\n      - NCIT:is_related_to_endogenous_product\n      - UBERON_NONAMESPACE:connected_to\n      - UBERON_NONAMESPACE:innervated_by\n      - NBO-PROPERTY:is_about\n      - RO:0000053 # bearer_of\n      - PATO:reciprocal_of\n      - RO:0000052\n      - RO:0002001\n      - RO:0002002\n      - RO:0002003\n      - RO:0002008\n      - RO:0002134\n      - RO:0002150\n      - RO:0002159\n      - RO:0002176\n      - RO:0002177\n      - RO:0002178\n      - RO:0002179\n      - RO:0002314\n      - RO:0002322\n      # functionally related to\n      - RO:0002328\n      - RO:0002332\n      - RO:0002338\n      - RO:0002339\n      - RO:0002341\n      - RO:0002342\n      - RO:0002344\n      - RO:0002348\n      - RO:0002349\n      - RO:0002356\n      - RO:0002371\n      - RO:0002372\n      - RO:0002373\n      - RO:0002374\n      - RO:0002385\n      - RO:0002387\n      - RO:0002451\n      - RO:0002494\n      - RO:0002495\n      - RO:0002568\n      - RO:0002573\n      - RO:0004026\n      - RO:0004027\n      - RO:0009001\n      - RO:0009004\n      - RXNORM:has_form\n      - RXNORM:reformulated_to\n      - SNOMED:has_associated_morphology\n      - SNOMED:has_associated_procedure\n      - SNOMED:has_direct_morphology\n      - SNOMED:has_disposition\n      - SNOMED:has_indirect_morphology\n      - SNOMED:has_modification\n      - SNOMED:has_procedure_morphology\n      - SNOMED:has_specimen_source_morphology\n      - SNOMED:inheres_in\n      - SNOMED:is_interpreted_by\n      - SNOMED:relative_to_part_of\n      - UBERON:synapsed_by\n      - UMLS:RO\n      - UMLS:RQ\n      - UMLS:class_code_classified_by\n      - UMLS:exhibited_by\n      - UMLS:has_context_binding\n      - UMLS:has_form\n      - UMLS:has_mapping_qualifier\n      - UMLS:larger_than\n      - UMLS:mapped_to\n      - UMLS:owning_section_of\n\n  related to at concept level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between terminology components that describe the conceptual model of a domain.\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    symmetric: true\n\n  related to at instance level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between two instances of a data classes.  Much like an assertion component,\n      in an ABox, these represent facts associated with the conceptual model.\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    symmetric: true\n\n  associated with:\n    is_a: related to at instance level\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      (though not in all cases), and is weaker than its child, 'correlated with', but stronger than its parent,\n      'related to'.\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    symmetric: true\n    domain: named thing\n    range: named thing\n    exact_mappings:\n      - SEMMEDDB:associated_with\n    narrow_mappings:\n      - RO:0004029\n      - SNOMEDCT:47429007\n\n  superclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a super class of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: True\n    inverse: subclass of\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q66088480\n      - CHEMBL.MECHANISM:superset_of\n      - GO:inverse_isa\n      - MESH:inverse_isa\n      - RXNORM:inverse_isa\n      - VANDF:inverse_isa\n    narrow_mappings:\n      - NCIT:cdrh_parent_of\n      - NCIT:ctcae_5_parent_of\n      - NCIT:subset_includes_concept\n      - OMIM:has_manifestation\n      - SNOMED:has_basic_dose_form\n      - UMLS:RB\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:subclass of\n\n  subclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a specialization of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: True\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:superclass of\n    close_mappings:\n      # RTX\n      - LOINC:class_of\n      - LOINC:has_class\n    exact_mappings:\n      - rdfs:subClassOf\n      - SEMMEDDB:IS_A\n      - SEMMEDDB:isa\n      - WIKIDATA_PROPERTY:P279\n      - CHEMBL.MECHANISM:subset_of\n      - GO:isa\n      - MESH:isa\n      - RXNORM:isa\n      - VANDF:isa\n    narrow_mappings:\n      - CHEBI:has_parent_hydride\n      - LOINC:has_archetype\n      - LOINC:has_parent_group\n      - LOINC:is_presence_guidance_for\n      - NCIT:gene_product_has_chemical_classification\n      # RTX mapped terms classes for biomarkers\n      - NCIT:R36\n      - NCIT:R42\n      - NCIT:A16\n      - NCIT:A11\n      - NCIT:A14\n      - NCIT:A3\n      - NDDF:has_dose_form\n      - RXNORM:has_dose_form\n      - RXNORM:has_doseformgroup\n      - SNOMED:entire_anatomy_structure_of\n      - SNOMED:has_dose_form\n      # RTX mapping\n      - rdfs:subPropertyOf\n\n  same as:\n    is_a: exact match\n    description: >-\n      holds between two entities that are considered equivalent to each other\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    close_mappings:\n      # identical class extension with identical sets of individuals\n      - owl:equivalentClass\n    exact_mappings:\n      # identical individual, or identical class concept/meaning\n      - owl:sameAs\n      - skos:exactMatch\n      # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      # RTX suggests mapping this to proposed new \"biolink:close_match\" predicate instead\n      #- SEMMEDDB:SAME_AS\n      - WIKIDATA_PROPERTY:P2888\n      - CHEMBL.MECHANISM:equivalent_to\n      - MONDO:equivalentTo\n    narrow_mappings:\n      - DRUGBANK:external-identifier\n\n  close match:\n    is_a: related to at concept level\n    description: >-\n      a list of terms from different schemas or terminology systems that have\n      a semantically similar but not strictly equivalent, broader, or narrower\n      meaning. Such terms often describe the same general concept from\n      different ontological perspectives (e.g. drug as a type of chemical\n      entity versus drug as a type of role borne by a chemical entity).\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - skos:closeMatch\n      # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      - SEMMEDDB:SAME_AS\n      - SEMMEDDB:same_as\n    narrow_mappings:\n      - CHEBI:is_enantiomer_of\n      - CHEBI:is_tautomer_of\n      - MEDDRA:classified_as\n      - OIO:hasDbXref\n      - oboformat:xref\n      - RXNORM:has_quantified_form\n      - UMLS:SY\n\n  exact match:\n    is_a: close match\n    description: >-\n      holds between two entities that have strictly equivalent\n      meanings, with a high degree of confidence\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - skos:exactMatch\n      - WIKIDATA:Q39893449\n      - WIKIDATA:P2888\n\n  broad match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a broader, more general meaning. Broader terms are\n      typically shown as parents in a hierarchy or tree.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:narrow match\n    exact_mappings:\n      - skos:broadMatch\n      - WIKIDATA:Q39894595\n\n  narrow match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a narrower, more specific meaning. Narrower terms are\n      typically shown as children in a hierarchy or tree.\n    is_a: related to at concept level\n    inverse: broad match\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - skos:narrowMatch\n      - WIKIDATA:Q39893967\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:broad match\n\n  opposite of:\n    description: >-\n      x is the opposite of y if there exists some distance metric M, and there exists\n      no z such as M(x,z) <= M(x,y) or M(y,z) <= M(y,x). (This description is from RO. Needs to be rephrased).\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0002604\n    see_also:\n      - https://doi.org/10.1101/108977\n      - https://github.com/biolink/biolink-model/issues/657\n\n  has real world evidence of association with:\n    deprecated: true\n    is_a: related to at instance level\n    description: >-\n      this means that the assertion was derived by applying statistical and machine learning models to\n      clinical data such as EHR data, survey data, etc\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      tag: biolink:canonical_predicate\n      value: true\n\n  associated with likelihood of:\n    is_a: associated with\n    description: >-\n      A a relationship that holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated, wherein the state or value of one variable predicts the future state \n      or value of the other.  E.g. the statement “An Atrial Fibrillation (Afib) diagnosis is associated \n      with likelihood of a Myocardial Infarction (MI) diagnosis” asserts that the state of having Afib \n      is associated with an increased or decreased likelihood that a patient will later exhibit MI.\n  likelihood associated with:\n    is_a: associated with\n    description: >-\n    inverse: associated with likelihood of\n\n  associated with increased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is more probable.\n  increased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with increased likelihood of\n\n  associated with decreased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is less probable.\n  decreased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with decreased likelihood of\n\n  target for:\n    is_a: related to at instance level\n    description: >-\n      A gene is a target of a disease when its products are druggable and when a drug interaction with the gene\n      product could have a therapeutic effect\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    domain: gene\n    range: disease\n\n  has target:\n    is_a: related to at instance level\n    inverse: target for\n    domain: disease\n    range: gene\n\n  active in:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: cellular component\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0002432\n\n  has active component:\n    inverse: active in\n\n\n  acts upstream of:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0002263\n\n  has upstream actor:\n    is_a: related to at instance level\n    inverse: acts upstream of\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0004034\n\n  has positive upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0004035\n\n  has negative upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of negative effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0002264\n\n  has upstream or within actor:\n    is_a: has upstream actor\n    inverse: acts upstream of or within\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0004032\n\n  has positive upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0004033\n\n  has negative upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within negative effect\n    domain: biological process\n    range: gene or gene product\n\n    ## Publication related predicates\n  mentions:\n    description: >-\n      refers to is a relation between one information content entity and the named thing\n      that it makes reference to.\n    is_a: related to at instance level\n    exact_mappings:\n      - IAO:0000142\n    narrow_mappings:\n      - SIO:000628\n\n  mentioned by:\n    description: >-\n      refers to is a relation between one named thing and the information content entity\n      that it makes reference to.\n    is_a: related to at instance level\n    inverse: mentions\n\n  ## Publication related predicates\n\n  contributor:\n    is_a: related to at instance level\n    domain: information content entity\n    range: agent\n    comments:\n      - This is a grouping for predicates relating entities to their associated contributors realizing them\n    abstract: true\n    exact_mappings:\n      - dct:contributor\n\n  has contributor:\n    inverse: contributor\n    is_a: related to at instance level\n    domain: agent\n    range: information content entity\n\n  provider:\n    is_a: contributor\n    description: >-\n      person, group, organization or project that provides a piece of information (e.g. a knowledge association).\n\n  has provider:\n    inverse: provider\n    is_a: has contributor\n    domain: agent\n    range: information content entity\n\n  publisher:\n    is_a: contributor\n    domain: publication\n    description: >-\n      organization or person responsible for publishing books, periodicals, podcasts, games or software.\n      Note that in the case of publications which have a containing \"published in\" node property, the publisher\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the publisher agent of the encompassing publication\n      (e.g. only from the Journal referenced by the 'published_in' property of an journal article Publication node).\n    exact_mappings:\n      - dct:publisher\n      - WIKIDATA_PROPERTY:P123\n\n  has publisher:\n    is_a: has contributor\n    inverse: publisher\n    domain: agent\n    range: publication\n\n  editor:\n    is_a: contributor\n    domain: publication\n    description: >-\n      editor of a compiled work such as a book or a periodical (newspaper or an academic journal).\n      Note that in the case of publications which have a containing \"published in\" node property, the editor\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the editorial agent of the encompassing publication\n      (e.g. only from the Book referenced by the 'published_in' property of a book chapter Publication node).\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P98\n\n  has editor:\n    inverse: editor\n    is_a: has contributor\n    domain: agent\n    range: publication\n\n  author:\n    is_a: contributor\n    domain: publication\n    description: >-\n      an instance of one (co-)creator primarily responsible for a written work\n    exact_mappings:\n      - dct:creator\n      - WIKIDATA_PROPERTY:P50\n\n  has author:\n    inverse: author\n    is_a: has contributor\n    domain: agent\n    range: publication\n\n  ## end of Publication related predicates\n\n  assesses:\n    aliases: ['was assayed against']\n    description: >-\n      The effect of a thing on a target was interrogated in some assay.\n      A relationship between some perturbing agent (usually a chemical compound) and some target entity,\n      where the affect of the perturbing agent on the target entity was interrogated in a particular assay.\n      The target might be a particular protein, tissue, phenotype, whole organism, cell line, or other type\n      of biological entity.\n    domain: named thing\n    range: named thing\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  is assessed by:\n    inverse: assesses\n    domain: named thing\n    range: named thing\n\n  interacts with:\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between any two entities that directly or indirectly interact with each other\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0002434\n      - SEMMEDDB:interacts_with\n    narrow_mappings:\n      # RO terms RTX mapped to 'biolink:related_to' but which imply a chemical interaction\n      - RO:0002103\n      - RO:0002120\n      - RO:0002130\n\n  physically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two entities that make physical contact as part of some interaction\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P129\n    close_mappings:\n      # Agents of some interaction but not the relationship of interaction\n      # These RTX mapped terms may need to be reclassified to more meaningful terms (perhaps not yet created)\n      - CHEMBL.MECHANISM:binding_agent\n      - CHEMBL.MECHANISM:chelating_agent\n      - CHEMBL.MECHANISM:cross-linking_agent\n      - CHEMBL.MECHANISM:oxidative_enzyme\n      - CHEMBL.MECHANISM:sequestering_agent\n      - CHEMBL.MECHANISM:substrate\n      - DRUGBANK:target\n    narrow_mappings:\n      # Defined more narrowly as \"substance interaction\", thus specific applies to a subclass entities?\n      - DRUGBANK:drug-interaction\n      - FMA:adheres_to\n      - NCIT:A7\n      - PR:non-covalently_bound_to\n\n  chemically interacts with:\n    is_a: physically interacts with\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    symmetric: true\n\n  molecularly interacts with:\n    is_a: physically interacts with\n    aliases: ['targets']\n    domain: molecular entity\n    range: molecular entity\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    related_mappings:\n      - DGIdb:antibody\n    exact_mappings:\n      - RO:0002436\n\n  genetically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two genes whose phenotypic effects are dependent on each\n      other in some way - such that their combined phenotypic effects are the\n      result of some interaction between the activity of their gene products.\n      Examples include epistasis and synthetic lethality.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    symmetric: true\n    exact_mappings:\n      - RO:0002435\n\n  affects:\n    is_a: related to at instance level\n    description: >-\n      describes an entity that has a direct affect on the state or quality\n      of another existing entity. Use of the 'affects' predicate implies that\n      the affected entity already exists, unlike predicates such as\n      'affects risk for' and 'prevents, where the outcome is something\n      that may or may not come to be.\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    related_mappings:\n      # Contributed by RTX. Seems possible that a new predicate \"biolink:in_pathway\" could be justified?\n      - DRUGBANK:pathway\n    exact_mappings:\n      - SEMMEDDB:AFFECTS\n      - SEMMEDDB:affects\n      - DGIdb:affects\n    narrow_mappings:\n      - SEMMEDDB:administered_to\n      - CTD:prediction_hypothesis\n      - GOREL:0001006\n      - CTD:inferred\n      - UPHENO:0000001\n      - RO:0002263\n      - RO:0002264\n      - NCIT:R158\n      - NCIT:R160\n      - NCIT:R30\n      - NCIT:R150\n      - NCIT:R72\n      - NCIT:R146\n      - NCIT:R124\n      - NCIT:R173\n      - NCIT:R100\n      - NCIT:R102\n      - NCIT:R101\n      - NCIT:R113\n      - NCIT:R23\n      - NCIT:R25\n      - NCIT:gene_mapped_to_disease\n      - NCIT:R133\n      - RO:0002343\n      - RO:0002355\n      - RO:0002591\n      - RO:0002592\n      - RO:0012003\n      - SNOMED:has_pathological_process\n\n  affected by:\n    is_a: related to at instance level\n    description: >-\n      describes an entity of which the state or quality is affected by\n      another existing entity.\n    inverse: affects\n\n  associated with sensitivity to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of sensitivity to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    broad_mappings:\n      - PATO:0000085 # sensitivity toward\n    narrow_mappings:\n      - SNOMEDCT:418038007 # propensity to adverse reaction\n\n  sensitivity associated with:\n    is_a: associated with\n    inverse: associated with sensitivity to\n    range: named thing\n    domain: chemical entity\n\n  associated with resistance to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of resistance to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  resistance associated with:\n    is_a: associated with\n    inverse: associated with resistance to\n    range: named thing\n    domain: chemical entity\n\n  diagnoses:\n    is_a: related to at instance level\n    description: >-\n      a relationship that identifies the nature of (an illness or other problem) by examination of the symptoms.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    close_mappings:\n      - NCIT:C15220 # diagnosis\n      - SIO:001331 # diagnosis\n    exact_mappings:\n      - DrugCentral:5271\n      - SEMMEDDB:diagnoses\n\n  is diagnosed by:\n    is_a: related to at instance level\n    inverse: diagnoses\n    range: chemical or drug or treatment\n    domain: disease or phenotypic feature\n\n  increases amount or activity of:\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that increase the amount\n      or activity of the object.\n\n  decreases amount or activity of:\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that decrease the amount\n      or activity of the object.\n\n  ## role mixins for use in tagging corresponding role predicates\n\n  chemical role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a chemical context.\n    mixin: true\n    exact_mappings:\n      - CHEBI:51086\n\n  biological role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a biological context.\n    mixin: true\n    narrow_mappings:\n      - CHEBI:24432\n\n  affects abundance of:\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one changes the amount of the\n      other within a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_abundance_of\n\n  abundance affected by:\n    is_a: affected by\n    inverse: affects abundance of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  increases abundance of:\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one increases the amount of the other within a system of interest\n    is_a: affects abundance of\n    in_subset:\n      - translator_minimal\n    mixins:\n      - increases amount or activity of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases abundance of\n    related_mappings:\n      - UBERGRAPH:is_increase_of\n\n  abundance increased by:\n    is_a: abundance affected by\n    inverse: increases abundance of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  decreases abundance of:\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one\n      decreases the amount of the other within a system of interest\n    is_a: affects abundance of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases abundance of\n\n    related_mappings:\n      - UBERGRAPH:is_decrease_of\n\n  abundance decreased by:\n    is_a: abundance affected by\n    inverse: decreases abundance of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  increases activity of:\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one\n      increases the activity of the other within a system of interest\n    is_a: affects activity of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    related_mappings:\n      - GAMMA:ec50\n      - GAMMA:ac50\n    narrow_mappings:\n      - GAMMA:activator\n      - GAMMA:partial_agonist\n      - GAMMA:agonist\n      - GAMMA:opener\n      - GAMMA:positive_allosteric_modulator\n      - GAMMA:positive_modulator\n      - GAMMA:inducer\n      - GAMMA:potentiator\n      - GAMMA:stimulator\n      - CHEMBL.MECHANISM:agonist\n      - CHEMBL.MECHANISM:opener\n      - CHEMBL.MECHANISM:partial_agonist\n      - CHEMBL.MECHANISM:positive_allosteric_modulator\n      - CHEMBL.MECHANISM:positive_modulator\n      - DGIdb:agonist\n      - DGIdb:partial_agonist\n      - DGIdb:inducer\n      - DGIdb:positive_allosteric_modulator\n      - DGIdb:stimulator\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases activity of\n\n  affects activity of:\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one changes the activity of the\n      other within a system of interest\n    is_a: affects\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    narrow_mappings:\n      - GAMMA:allosteric_modulator\n      - GAMMA:modulator\n      - GAMMA:regulator\n      - DGIdb:modulator\n      - DGIdb:allosteric_modulator\n\n  activity affected by:\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one is changed by the\n      activity of the other within a system of interest\n    is_a: affected by\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects activity of\n\n  activity increased by:\n    is_a: activity affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases activity of\n\n  decreases activity of:\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one decreases the\n      activity of the other within a system of interest\n    is_a: affects activity of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases activity of\n    mixins:\n      - decreases amount or activity of\n    related_mappings:\n      - GAMMA:ic50\n      - GAMMA:ki\n      - DGIdb:vaccine\n    narrow_mappings:\n      - GAMMA:allosteric_antagonist\n      - GAMMA:partial_antagonist\n      - GAMMA:antagonist\n      - GAMMA:weak_inhibitor\n      - GAMMA:inhibitor\n      - GAMMA:channel_blocker\n      - GAMMA:gating_inhibitor\n      - GAMMA:blocker\n      - GAMMA:inverse_agonist\n      - GAMMA:inactivator\n      - GAMMA:downregulator\n      - GAMMA:negative_modulator\n      - GAMMA:negative_allosteric_modulator\n      - GAMMA:inhibitory_allosteric_modulator\n      - GAMMA:aggregation_inhibitor\n      - GAMMA:conversion_inhibitor\n      - GAMMA:suppressor\n      - CHEMBL.MECHANISM:antagonist\n      - CHEMBL.MECHANISM:allosteric_antagonist\n      - CHEMBL.MECHANISM:inverse_agonist\n      - DGIdb:antagonist\n      - DGIdb:blocker\n      - DGIdb:channel_blocker\n      - DGIdb:gating_inhibitor\n      - DGIdb:inhibitor\n      - DGIdb:negative_modulator\n      - DGIdb:inhibitory_allosteric_modulator\n      - DGIdb:inverse_agonist\n\n  activity decreased by:\n    is_a: activity affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases activity of\n\n\n  affects expression of:\n    description: >-\n      holds between a named thing (most often a chemical or gene/gene product, but can also be used to link an\n      environmental affect on expression) and a nucleic acid entity where the action or effect of one changes the\n      level of expression of the other within a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: named thing\n    range: nucleic acid entity\n\n  expression affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: named thing\n    inverse: affects expression of\n\n  increases expression of:\n    description: >-\n      holds between a chemical or gene/gene product entity and a nucleic acid entity\n      where the action or effect of one increases the level of expression of the\n      other within a system of interest\n    is_a: affects expression of\n    in_subset:\n      - translator_minimal\n    domain: named thing\n    range: nucleic acid entity\n    mixins:\n      - increases amount or activity of\n    close_mappings:\n      # Agent of the action or effect, not the relationship itself\n      - CHEMBL.MECHANISM:releasing_agent\n    exact_mappings:\n      - RO:0003003\n\n  expression increased by:\n    is_a: expression affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: named thing\n    inverse: increases expression of\n\n  decreases expression of:\n    description: >-\n      holds between a chemical or gene/gene product entity and a nucleic acid entity where the action or effect of one decreases the level of expression of the\n      other within a system of interest\n    is_a: affects expression of\n    in_subset:\n      - translator_minimal\n    domain: named thing\n    range: nucleic acid entity\n    mixins:\n      - decreases amount or activity of\n    related_mappings:\n      - DGIdb:antisense\n      - DGIdb:antisense_oligonucleotide\n    exact_mappings:\n      - RO:0003002\n    narrow_mappings:\n      - CHEMBL.MECHANISM:antisense_inhibitor\n\n  expression decreased by:\n    is_a: expression affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: named thing\n    inverse: decreases expression of\n\n  affects folding of:\n    description: >-\n      holds between a chemical or gene/gene product entity and a nucleic acid entity where the action or effect of one changes the rate\n      or quality of folding of the other\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: nucleic acid entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_folding_of\n\n\n  folding affected by:\n    is_a: affected by\n    inverse: affects folding of\n    domain: nucleic acid entity\n    range: chemical entity or gene or gene product\n\n  increases folding of:\n    description: >-\n      holds between a chemical or gene/gene product entity and a nucleic acid entity where the action or effect of one\n      increases the rate or quality of folding of the other\n    is_a: affects folding of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: nucleic acid entity\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases folding of\n    exact_mappings:\n      - CTD:increases_folding_of\n\n  folding increased by:\n    is_a: folding affected by\n    inverse: increases folding of\n    domain: nucleic acid entity\n    range: chemical entity or gene or gene product\n\n  decreases folding of:\n    description: >-\n      holds between a chemical or gene or gene product entity and a\n      nucleic acid entity where the action or effect of one\n      decreases the rate or quality of folding of the other\n    is_a: affects folding of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: nucleic acid entity\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases folding of\n    exact_mappings:\n      - CTD:decreases_folding_of\n\n  folding decreased by:\n    is_a: folding affected by\n    inverse: decreases folding of\n    domain: nucleic acid entity\n    range: chemical entity or gene or gene product\n\n  affects localization of:\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one changes the\n      localization of the other within a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    related_mappings:\n      - GAMMA:storage\n    exact_mappings:\n      - GOREL:0002003\n\n  localization affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects localization of\n\n  increases localization of:\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one increases the proper\n      localization of the other within a system of interest\n    is_a: affects localization of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases localization of\n    exact_mappings:\n      - CTD:increases_localization_of\n\n  localization increased by:\n    is_a: localization affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases localization of\n\n  decreases localization of:\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one decreases the proper localization of the other within a system of interest\n    is_a: affects localization of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases localization of\n    exact_mappings:\n      - CTD:decreases_localization_of\n\n\n  localization decreased by:\n    is_a: localization affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases localization of\n\n  affects metabolic processing of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one impacts the\n      metabolic processing of the other within a system of interest\n    is_a: affects\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    related_mappings:\n      - GAMMA:catalytic_activity\n\n  metabolic processing affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects metabolic processing of\n\n  increases metabolic processing of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one increases the rate of\n      metabolic processing of the other within a system of interest\n    is_a: affects metabolic processing of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases metabolic processing of\n    exact_mappings:\n      - CTD:increases_metabolic_processing_of\n    narrow_mappings:\n      - NCIT:enzyme_metabolizes_chemical_or_drug\n\n  metabolic processing increased by:\n    is_a: metabolic processing affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases metabolic processing of\n\n  decreases metabolic processing of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one decreases the rate of\n      metabolic processing of the other within a system of interest\n    is_a: affects metabolic processing of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases metabolic processing of\n    exact_mappings:\n      - CTD:decreases_metabolic_processing_of\n\n  metabolic processing decreased by:\n    is_a: metabolic processing affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases metabolic processing of\n\n  affects molecular modification of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one leads changes in the molecular\n      modification(s) of the other (e.g. via post-translational modifications of proteins such as the addition of\n      phosphoryl group, or via redox reaction that adds or subtracts electrons)\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_molecular_modification_of\n    narrow_mappings:\n      - CTD:affects_acetylation\n      - CTD:affects_acylation\n      - CTD:affects_alkylation\n      - CTD:affects_amination\n      - CTD:affects_carbamoylation\n      - CTD:affects_ethylation\n      - CTD:affects_glutathionylation\n      - CTD:affects_glycation\n      - CTD:affects_glycosylation\n      - CTD:affects_glucuronidation\n      - CTD:affects_N-linked_glycosylation\n      - CTD:affects_O-linked_glycosylation\n      - CTD:affects_hydroxylation\n      - CTD:affects_lipidation\n      - CTD:affects_farnesylation\n      - CTD:affects_geranoylation\n      - CTD:affects_myristoylation\n      - CTD:affects_palmitoylation\n      - CTD:affects_prenylation\n      - CTD:affects_methylation\n      - CTD:affects_nitrosation\n      - CTD:affects_nucleotidylation\n      - CTD:affects_phosphorylation\n      - CTD:affects_ribosylation\n      - CTD:affects_ADP-ribosylation\n      - CTD:affects_sulfation\n      - CTD:affects_sumoylation\n      - CTD:affects_ubiquitination\n      - CTD:affects_oxidation\n      - CTD:affects_reduction\n      - CTD:affects_carboxylation\n\n  molecular modification affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects molecular modification of\n\n  increases molecular modification of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one leads to\n      increased molecular modification(s) of the other (e.g. via post-translational modifications of\n      proteins such as the addition of phosphoryl group, or via redox reaction that adds or subtracts electrons)\n    is_a: affects molecular modification of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases molecular modification of\n    exact_mappings:\n      - CTD:increases_molecular_modification_of\n    narrow_mappings:\n      - CTD:increases_acetylation\n      - CTD:increases_acylation\n      - CTD:increases_alkylation\n      - CTD:increases_amination\n      - CTD:increases_carbamoylation\n      - CTD:increases_ethylation\n      - CTD:increases_glutathionylation\n      - CTD:increases_glycation\n      - CTD:increases_glycosylation\n      - CTD:increases_glucuronidation\n      - CTD:increases_N-linked_glycosylation\n      - CTD:increases_O-linked_glycosylation\n      - CTD:increases_hydroxylation\n      - CTD:increases_lipidation\n      - CTD:increases_farnesylation\n      - CTD:increases_geranoylation\n      - CTD:increases_myristoylation\n      - CTD:increases_palmitoylation\n      - CTD:increases_prenylation\n      - CTD:increases_methylation\n      - CTD:increases_nitrosation\n      - CTD:increases_nucleotidylation\n      - CTD:increases_phosphorylation\n      - CTD:increases_ribosylation\n      - CTD:increases_ADP-ribosylation\n      - CTD:increases_sulfation\n      - CTD:increases_sumoylation\n      - CTD:increases_ubiquitination\n      - CTD:increases_oxidation\n      - CTD:increases_reduction\n      - CTD:increases_carboxylation\n      - GAMMA:acetylation\n      - GAMMA:oxidizer\n\n  molecular modification increased by:\n    is_a: molecular modification affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases molecular modification of\n\n  decreases molecular modification of:\n    description: >-\n      holds between two chemical entities  where the action or effect of one leads to\n      decreased molecular modification(s) of the other (e.g. via post-translational modifications of\n      proteins such as the addition of phosphoryl group, or via redox reaction that adds or subtracts electrons)\n    is_a: affects molecular modification of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases molecular modification of\n    exact_mappings:\n      - CTD:decreases_molecular_modification_of\n    narrow_mappings:\n      - CTD:decreases_acetylation\n      - CTD:decreases_acylation\n      - CTD:decreases_alkylation\n      - CTD:decreases_amination\n      - CTD:decreases_carbamoylation\n      - CTD:decreases_ethylation\n      - CTD:decreases_glutathionylation\n      - CTD:decreases_glycation\n      - CTD:decreases_glycosylation\n      - CTD:decreases_glucuronidation\n      - CTD:decreases_N-linked_glycosylation\n      - CTD:decreases_O-linked_glycosylation\n      - CTD:decreases_hydroxylation\n      - CTD:decreases_lipidation\n      - CTD:decreases_farnesylation\n      - CTD:decreases_geranoylation\n      - CTD:decreases_myristoylation\n      - CTD:decreases_palmitoylation\n      - CTD:decreases_prenylation\n      - CTD:decreases_methylation\n      - CTD:decreases_nitrosation\n      - CTD:decreases_nucleotidylation\n      - CTD:decreases_phosphorylation\n      - CTD:decreases_ribosylation\n      - CTD:decreases_ADP-ribosylation\n      - CTD:decreases_sulfation\n      - CTD:decreases_sumoylation\n      - CTD:decreases_ubiquitination\n      - CTD:decreases_oxidation\n      - CTD:decreases_reduction\n      - CTD:decreases_carboxylation\n      - GAMMA:deoxidizer\n\n  molecular modification decreased by:\n    is_a: molecular modification affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases molecular modification of\n\n  affects synthesis of:\n    description: >-\n      holds between two chemical entities where the action or effect \n      of one impacts the rate of chemical synthesis of the other\n    is_a: affects\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_synthesis_of\n\n  synthesis affected by:\n    is_a: affected by\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects synthesis of\n    in_subset:\n      - translator_minimal\n\n  increases synthesis of:\n    description: >-\n      holds between two chemical entities where the action or effect\n      of one increases the rate of chemical synthesis of the other\n    is_a: affects synthesis of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases synthesis of\n    exact_mappings:\n      - CTD:increases_synthesis_of\n\n  synthesis increased by:\n    is_a: synthesis affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases synthesis of\n\n  decreases synthesis of:\n    description: >-\n      holds between two chemical entities where the action or effect\n      of one decreases the rate of chemical synthesis of the other\n    is_a: affects synthesis of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases synthesis of\n    exact_mappings:\n      - GAMMA:inhibition_of_synthesis\n\n  synthesis decreased by:\n    is_a: synthesis affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases synthesis of\n\n  affects degradation of:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      impacts the rate of degradation of the other within a system of interest,\n      where chemical degradation is defined act or process of simplifying or breaking\n      down a molecule into smaller parts, either naturally or artificially\n      (Oxford English Dictionary, UK, 1995)\n    is_a: affects\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_degradation_of\n    narrow_mappings:\n      - CTD:affects_cleavage\n      - CTD:affects_hydrolysis\n\n  degradation affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects degradation of\n\n  increases degradation of:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      increases the rate of degradation of the other within a system of interest\n    is_a: affects degradation of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: decreases degredation of\n    related_mappings:\n      # An enzyme or reagent acts upon a substrate but that substrate may\n      # not necessarily be \"degraded\", i.e. broken into smaller parts\n      - GAMMA:substrate\n      # RTX put this under \"biolink:physically_interacts_with\" but rather we also put next to the GAMMA mapping\n      # That said, neither mapping feels like a comfortable fit here\n      - CHEMBL.MECHANISM:substrate\n    close_mappings:\n      # terms refer less to the action or effect than the agent of that action or effect\n      - CHEMBL.MECHANISM:degrader\n    narrow_mappings:\n      - CTD:increases_cleavage\n      - CTD:increases_hydrolysis\n      - GOREL:0002004\n\n  degradation increased by:\n    is_a: degradation affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases degradation of\n\n  decreases degradation of:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      decreases the rate of degradation of the other within a system of interest\n    is_a: affects degradation of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: increases degredation of\n    exact_mappings:\n      - CTD:decreases_degradation_of\n    narrow_mappings:\n      - CTD:decreases_cleavage\n      - CTD:decreases_hydrolysis\n\n  degradation decreased by:\n    is_a: degradation affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases degradation of\n\n  affects mutation rate of:\n    description: >-\n      holds between a chemical entity and a nucleic acid entity where the action or effect of the\n      chemical entity impacts the rate of mutation of the nucleic acid entity within a system of interest\n    is_a: affects\n    domain: chemical entity or gene or gene product\n    range: nucleic acid entity\n    broad_mappings:\n      # Term 'mutagenesis' generally speaks generally of the process of\n      # 'production of genetic mutations':  this term says it is affected\n      # but not specifically how\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_mutation_rate_of\n\n  mutation rate affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: chemical entity or gene or gene product\n    inverse: affects mutation rate of\n\n  increases mutation rate of:\n    description: >-\n      holds between a chemical entity and a nucleic acid entity where the action or effect of the\n      chemical entity increases the rate of mutation of the nucleic acid entity within a system of interest\n    is_a: affects mutation rate of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity\n    range: nucleic acid entity\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases mutation rate of\n    exact_mappings:\n      - CTD:increases_mutation_rate_of\n    broad_mappings:\n      # See 'affects mutation rate of' above\n      - CTD:increases_mutagenesis\n\n  mutation rate increased by:\n    is_a: mutation rate affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: chemical entity\n    inverse: increases mutation rate of\n\n  decreases mutation rate of:\n    description: >-\n      holds between a chemical entity and a nucleic acid entity where the action or effect of the\n      chemical entity decreases the rate of mutation of the nucleic acid entity within a system of interest\n    is_a: affects mutation rate of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity\n    range: nucleic acid entity\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases mutation rate of\n    exact_mappings:\n      - CTD:decreases_mutation_rate_of\n    broad_mappings:\n      # See 'affects mutation rate of' above\n      - CTD:decreases_mutagenesis\n\n  mutation rate decreased by:\n    is_a: mutation rate affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: chemical entity\n    inverse: decreases mutation rate of\n\n  # original definition of this predicate used molecular entity which was a\n  affects response to:\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: response affected by\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_response_to\n\n  response affected by:\n    description: >-\n      holds between two chemical entities where the susceptibility of a biological entity or system\n      (e.g. an organism, cell, cellular component, macromolecular machine mixin,\n      biological or pathological process) of one is affected by the action of the other.\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  increases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      increases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases response to\n    exact_mappings:\n      - CTD:increases_response_to\n\n\n  response increased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases response to\n\n  decreases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      decreases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases response to\n    exact_mappings:\n      - CTD:decreases_response_to\n    narrow_mappings:\n      - CTD:decreases_response_to_substance\n      - GAMMA:desensitize_the_target\n\n  response decreased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases response to\n\n  affects splicing of:\n    description: >-\n      holds between a chemical entity and an mRNA where the action or effect\n      of the chemical entity impacts the splicing of the mRNA\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: transcript\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_RNA_splicing\n    broad_mappings:\n      - CTD:affects_splicing_of\n\n  splicing affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: transcript\n    range: chemical entity or gene or gene product\n    inverse: affects splicing of\n\n  increases splicing of:\n    description: >-\n      holds between a chemical entity and an mRNA where the action or effect\n      of the chemical entity increases the proper splicing of the mRNA\n    is_a: affects splicing of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: transcript\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases splicing of\n    exact_mappings:\n      - CTD:increases_RNA_splicing\n    broad_mappings:\n      - CTD:increases_splicing_of\n\n  splicing increased by:\n    is_a: splicing affected by\n    in_subset:\n      - translator_minimal\n    domain: transcript\n    range: chemical entity or gene or gene product\n    inverse: increases splicing of\n\n  decreases splicing of:\n    description: >-\n      holds between a chemical entity and an mRNA where the action or\n      effect of the chemical entity decreases the proper splicing of the mRNA\n    is_a: affects splicing of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: transcript\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases splicing of\n    exact_mappings:\n      - CTD:decreases_RNA_splicing\n    broad_mappings:\n      - CTD:decreases_splicing_of\n\n  splicing decreased by:\n    is_a: splicing affected by\n    in_subset:\n      - translator_minimal\n    domain: transcript\n    range: chemical entity or gene or gene product\n    inverse: decreases splicing of\n\n  affects stability of:\n    description: >-\n      holds between two entities where the action or effect of one impacts\n      the stability of the other within a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    close_mappings:\n      - GAMMA:stabilization\n\n  stability affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects stability of\n\n  increases stability of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one\n      increases the stability of the other within a system of interest\n    is_a: affects stability of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: decreases stability of\n    close_mappings:\n      # agent of the action or effect, not the relationship\n      - CHEMBL.MECHANISM:stabiliser\n\n  stability increased by:\n    is_a: stability affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases stability of\n\n  decreases stability of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one decreases\n      the stability of the other within a system of interest\n    is_a: affects stability of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: increases stability of\n    exact_mappings:\n      - CTD:decreases_stability_of\n\n  stability decreased by:\n    is_a: stability affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases stability of\n\n  affects transport of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one impacts\n      the rate of transport of the other across some boundary in a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_transport_of\n    narrow_mappings:\n      - RO:0002313\n      - RO:0002340\n      - RO:0002345\n\n  transport affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects transport of\n\n  increases transport of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one\n      increases the rate of transport of the other across some boundary in a system of interest\n    is_a: affects transport of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases transport of\n    close_mappings:\n      - GAMMA:carrier\n      - GAMMA:transporter\n\n  transport increased by:\n    is_a: transport affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases transport of\n\n  decreases transport of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one\n      decreases the rate of transport of the other across some boundary in a system of interest\n    is_a: affects transport of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases transport of\n    exact_mappings:\n      - CTD:decreases_transport_of\n\n  transport decreased by:\n    is_a: transport affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases transport of\n\n  affects secretion of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one impacts the\n      rate of secretion of the other out of a cell, gland, or organ\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_secretion_of\n    broad_mappings:\n      # 'export' more general than 'secretion'\n      - CTD:affects_export\n\n  secretion affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects secretion of\n\n  increases secretion of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one increases the\n      rate of secretion of the other out of a cell, gland, or organ\n    is_a: affects secretion of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases secretion of\n    exact_mappings:\n      - CTD:increases_secretion_of\n    broad_mappings:\n      # 'export' more general than 'secretion'\n      - CTD:increases_export\n\n  secretion increased by:\n    is_a: secretion affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases secretion of\n\n  decreases secretion of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one decreases the\n      rate of secretion of the other out of a cell, gland, or organ\n    is_a: affects secretion of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases secretion of\n    exact_mappings:\n      - CTD:decreases_secretion_of\n    broad_mappings:\n      # 'export' more general than 'secretion'\n      - CTD:decreases_export\n\n  secretion decreased by:\n    is_a: secretion affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases secretion of\n\n  affects uptake of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one impacts the rate of\n      uptake of the other into of a cell, gland, or organ\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - CTD:affects_uptake_of\n    broad_mappings:\n      # 'import' more general than 'uptake'\n      - CTD:affects_import\n\n  uptake affected by:\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects uptake of\n\n  increases uptake of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one increases the rate of\n      uptake of the other into of a cell, gland, or organ\n    is_a: affects uptake of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases uptake of\n    exact_mappings:\n      - CTD:increases_uptake_of\n    broad_mappings:\n      # 'import' more general than 'uptake'\n      - CTD:increases_import\n\n  uptake increased by:\n    is_a: uptake affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases uptake of\n\n  decreases uptake of:\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect\n      of one decreases the rate of uptake of the other into of a cell, gland, or organ\n    is_a: affects uptake of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases uptake of\n    exact_mappings:\n      - CTD:decreases_uptake_of\n    broad_mappings:\n      # 'import' more general than 'uptake'\n      - CTD:decreases_import\n\n  uptake decreased by:\n    is_a: uptake affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases uptake of\n\n  regulates:\n    # direct is_a inheritance from a non-mixin class is not allowed\n    # we defer this inheritance to the classes which this mixin in its mixins\n    # is_a: affects\n    aliases: ['regulates activity of', 'regulates expression of']\n    comments:\n      - This is a grouping for process-process and entity-entity regulation.\n    mixin: true\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    close_mappings:\n      - RO:0002334\n    exact_mappings:\n      - RO:0002211\n    narrow_mappings:\n      # https://www.wikidata.org/wiki/Property:P128 - regulates (molecular biology)\n      - WIKIDATA_PROPERTY:P128\n      - CHEMBL.MECHANISM:modulator\n      - RO:0002295\n      - RO:0002332\n      - RO:0002578\n  \n  regulated by:\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    mixin: true\n    inverse: regulates\n\n  positively regulates:\n    comments:\n      - This is a grouping for positive process-process and entity-entity regulation.\n    is_a: regulates\n    mixin: true\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:negatively regulates\n    close_mappings:\n      # This RTX contributed term is tagged as a inverse of this Biolink predicate\n      - RO:0002336\n    exact_mappings:\n      - RO:0002213\n    narrow_mappings:\n      - CHEMBL.MECHANISM:activator\n      - DGIdb:activator\n      - RO:0004032\n      - RO:0004034\n      - RO:0002629\n\n  positively regulated by:\n    is_a: regulated by\n    mixin: true\n    inverse: positively regulates\n\n  negatively regulates:\n    comments:\n      - This is a grouping for negative process-process and entity-entity regulation.\n    is_a: regulates\n    mixin: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    close_mappings:\n      # This RTX contributed term is tagged as a inverse of this Biolink predicate\n      - RO:0002335\n    exact_mappings:\n      # Strict interpretation here is that entity A causally affects levels of B\n      - RO:0004035\n      - RO:0002212\n    broad_mappings:\n      # This term is slightly broader in that it includes that A acts within B as well\n      - RO:0004033\n    narrow_mappings:\n      - CHEMBL.MECHANISM:blocker\n      - CHEMBL.MECHANISM:inhibitor\n      - CHEMBL.MECHANISM:negative_allosteric_modulator\n      - CHEMBL.MECHANISM:negative_modulator\n      - RO:0002630\n  \n  negatively regulated by:\n    is_a: regulated by\n    mixin: true\n    inverse: negatively regulates\n\n  process regulates process:\n    is_a: affects\n    mixins:\n      - regulates\n    domain: occurrent\n    range: occurrent\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0002211\n\n  process regulated by process:\n    is_a: affected by\n    domain: occurrent\n    range: occurrent\n    inverse: process regulates process\n\n  process positively regulates process:\n    is_a: process regulates process\n    mixins:\n      - positively regulates\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:process negatively regulates process\n    exact_mappings:\n      - RO:0002213\n\n  process positively regulated by process:\n    is_a: process regulated by process\n    inverse: process positively regulates process\n\n  process negatively regulates process:\n    is_a: process regulates process\n    mixins:\n      - negatively regulates\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:process positively regulates process\n    exact_mappings:\n      - RO:0002212\n\n  process negatively regulated by process:\n    is_a: process regulated by process\n    inverse: process negatively regulates process\n\n  entity regulates entity:\n    aliases: ['activity directly regulates activity of']\n    is_a: affects\n    mixins:\n      - regulates\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: entity regulated by entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    local_names:\n      translator: regulates\n      ro: activity directly regulates activity of\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002448\n    narrow_mappings:\n      # Wikidata mapping copied over from 'regulates' above;\n      # considered a slightly narrower term since it applies to\n      # protein and RNA as subject regulator whereas molecular_entity\n      # may also be another class of chemical_substance?\n      - WIKIDATA_PROPERTY:P128\n\n  entity regulated by entity:\n    is_a: affected by\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: entity regulates entity\n\n  entity positively regulates entity:\n    aliases: ['activity directly positively regulates activity of', 'anatomy upregulates gene', 'disease upregulates gene']\n    is_a: entity regulates entity\n    mixins:\n      - positively regulates\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:entity negatively regulates entity\n    local_names:\n      translator: positively regulates\n      ro: activity directly positively regulates activity of\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002450\n    broad_mappings:\n      # causally positive effect of A over B but not specific to nature of B\n      - RO:0004034\n    narrow_mappings:\n      # Defined more narrowly as increasing, facilitating the\n      # action or function of a \"substance interaction\", where \"substance\" is deemed a subclass of possible entity\n      - SEMMEDDB:STIMULATES\n      - SEMMEDDB:stimulates\n      - SEMMEDDB:augments\n\n  entity positively regulated by entity:\n    is_a: entity regulated by entity\n    inverse: entity positively regulates entity\n\n  entity negatively regulates entity:\n    aliases: ['activity directly negatively regulates activity of', 'anatomy downregulates gene', 'disease downregulates gene']\n    is_a: entity regulates entity\n    mixins:\n      - negatively regulates\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:entity positively regulates entity\n    local_names:\n      translator: negatively regulates\n      ro: activity directly negatively regulates activity of\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002449\n    narrow_mappings:\n      # SemMedDb definition focuses on (chemical?) \"substance interactions\" which is a bit narrower?\n      - SEMMEDDB:INHIBITS\n      - SEMMEDDB:inhibits\n\n  entity negatively regulated by entity:\n    is_a: entity regulated by entity\n    inverse: entity negatively regulates entity\n\n  disrupts:\n    is_a: affects\n    aliases: ['disease causes disruption of']\n    description: >-\n      describes a relationship where one entity degrades or interferes\n      with the structure, function, or occurrence of another.\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:enables\n    exact_mappings:\n      - SEMMEDDB:DISRUPTS\n      - SEMMEDDB:disrupts\n      - CHEMBL.MECHANISM:disrupting_agent\n    narrow_mappings:\n      - RO:0004024\n      - RO:0004025\n\n  disrupted by:\n    is_a: affected by\n    description: >-\n      describes a relationship where the structure, function, or occurrence\n      of one entity is degraded or interfered with by another.\n    inverse: disrupts\n\n  gene product of:\n    is_a: related to at instance level\n    description: >-\n      definition x has gene product of y if and only if y is a gene (SO:0000704)\n      that participates in some gene expression process (GO:0010467) where the output of thatf\n      process is either y or something that is ribosomally translated from x\n    exact_mappings:\n      - RO:0002204\n    domain: gene product mixin\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    inverse: has gene product\n    in_subset:\n      - translator_minimal\n\n  has gene product:\n    is_a: related to at instance level\n    description: >-\n      holds between a gene and a transcribed and/or\n      translated product generated from it\n    domain: gene\n    range: gene product mixin\n    inverse: gene product of\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # RTX term tagged as inverse mapping\n      - PR:has_gene_template\n    exact_mappings:\n      - RO:0002205\n      - WIKIDATA_PROPERTY:P688\n      - NCIT:gene_encodes_gene_product\n    narrow_mappings:\n      - NCIT:R178\n\n  transcribed to:\n    is_a: related to at instance level\n    domain: gene\n    range: transcript\n    description: >-\n      inverse of transcribed from\n    inverse: transcribed from\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:transcribed from\n    exact_mappings:\n      - RO:0002511\n      - SIO:010080\n\n  transcribed from:\n    is_a: related to at instance level\n    domain: transcript\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:transcribed to\n    description: >-\n      x is transcribed from y if and only if x is synthesized from template y\n    exact_mappings:\n      - RO:0002510\n      - SIO:010081\n\n  translates to:\n    is_a: related to at instance level\n    domain: transcript\n    range: protein\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:translation of\n    description: >-\n      x (amino acid chain/polypeptide) is the ribosomal translation of y (transcript) if and only if a ribosome\n      reads y (transcript) through a series of triplet codon-amino acid adaptor activities (GO:0030533)\n      and produces x (amino acid chain/polypeptide)\n    close_mappings:\n      - RO:0002513\n      - SIO:010082\n\n  translation of:\n    is_a: related to at instance level\n    domain: protein\n    range: transcript\n    description: >-\n      inverse of translates to\n    inverse: translates to\n    close_mappings:\n      - RO:0002512\n      - SIO:010083\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:translates to\n\n  homologous to:\n    is_a: similar to\n    aliases: ['in homology relationship with']\n    description: >-\n      holds between two biological entities that have common evolutionary origin\n    comments:\n      - typically used to describe homology relationships between genes or gene products\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:HOM0000001\n      - SIO:010302\n    narrow_mappings:\n      # This is a tricky one to place; seems narrower than the RO mapping but that mapping, RO:0002158\n      - UBERON_CORE:sexually_homologous_to\n\n  paralogous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship that holds between entities (typically genes) that diverged after a duplication event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:HOM0000011\n\n  orthologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship between entities (typically genes) that diverged after a speciation event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:HOM0000017\n      - WIKIDATA_PROPERTY:P684\n\n  xenologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship characterized by an interspecies (horizontal) transfer since the common ancestor.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:HOM0000018\n\n  coexists with:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities that are co-located in the same aggregate object, process, or spatio-temporal region\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - SEMMEDDB:COEXISTS_WITH\n      - SEMMEDDB:coexists_with\n    narrow_mappings:\n      - BSPO:0000096\n      - BSPO:0000097\n      - BSPO:0000098\n      - BSPO:0000099\n      - BSPO:0000100\n      - BSPO:0000102\n      - BSPO:0000104\n      - BSPO:0000110\n      - BSPO:0000113\n      - BSPO:0015001\n      - BSPO:0015002\n      - BSPO:0015003\n      - BSPO:0015005\n      - BSPO:0015006\n      - BSPO:0015007\n      - BSPO:0015008\n      - BSPO:0015009\n      - BSPO:0015012\n      - BSPO:0015014\n      - BSPO:parallel_to\n      - UBERON_CORE:anastomoses_with\n      - UBERON_CORE:anteriorly_connected_to\n      - UBERON_CORE:posteriorly_connected_to\n      - UBERON_CORE:channel_for\n      - UBERON_CORE:channels_from\n      - UBERON_CORE:channels_into\n      - UBERON_CORE:conduit_for\n      - UBERON_CORE:distally_connected_to\n      - UBERON_CORE:extends_fibers_into\n      - UBERON_CORE:filtered_through\n      - UBERON_CORE:indirectly_supplies\n      - UBERON_CORE:proximally_connected_to\n      - UBERON_CORE:synapsed_by\n      - UBERON_CORE:transitively_anteriorly_connected_to\n      - UBERON_CORE:transitively_connected_to\n      - UBERON_CORE:transitively_distally_connected_to\n      - UBERON_CORE:transitively_proximally_connected_to\n      # RTX contributed Environmental Ontology term meaning \"partially surrounded by\"\n      - ENVO:01001307\n      - FMA:adjacent_to\n      - FMA:afferent_to\n      - FMA:anterior_to\n      - FMA:anteroinferior_to\n      - FMA:anterolateral_to\n      - FMA:anteromedial_to\n      - FMA:anterosuperior_to\n      # RTX contributed terms (also inverses to one another?) might better be mapped to another term with more precise functional semantics?\n      # Some of these terms also seem to be semantic inverses of one another, thus, perhaps not simple narrow_mappings to Biolink\n      - FMA:arterial_supply_of\n      - FMA:has_arterial_supply\n      - FMA:articulates_with\n      - FMA:attaches_to\n      - FMA:bounded_by\n      - FMA:bounds\n      - FMA:branch_of\n      - FMA:connection_type_of\n      - FMA:continuation_branch_of\n      - FMA:continuous_distally_with\n      - FMA:continuous_proximally_with\n      - FMA:corresponds_to\n      - FMA:development_type_of\n      - FMA:developmental_stage_of\n      - FMA:direct_cell_shape_of\n      - FMA:direct_left_of\n      - FMA:direct_right_of\n      - FMA:distal_to\n      - FMA:drains_into\n      - FMA:efferent_to\n      - FMA:external_to\n      - FMA:formed_by\n      - FMA:forms\n      # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:full_grown_phenotype_of\n      - FMA:has_full_grown_phenotype\n      # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:fuses_with\n      - FMA:fusion_of\n      - FMA:has_fusion\n      - FMA:germ_origin_of\n      - FMA:has_germ_origin\n      - FMA:has_adherent\n      - FMA:has_branch\n      - FMA:has_connection_type\n      - FMA:has_continuation_branch\n      - FMA:has_development_type\n      - FMA:has_developmental_stage\n      - FMA:has_direct_cell_shape\n      - FMA:has_inherent_3d_shape\n      - FMA:has_insertion\n      - FMA:has_lymphatic_drainage\n      - FMA:has_nerve_supply\n      - FMA:has_observed_anatomical_entity\n      - FMA:has_origin\n      - FMA:has_primary_segmental_supply\n      - FMA:has_projection\n      - FMA:has_regional_part\n      - FMA:has_related_developmental_entity\n      - FMA:has_secondary_segmental_supply\n      - FMA:has_segmental_composition\n      - FMA:has_segmental_supply\n      - FMA:has_tributary\n      - FMA:has_venous_drainage\n      - FMA:inferior_to\n      - FMA:inferolateral_to\n      - FMA:inferomedial_to\n      - FMA:inherent_3d_shape_of\n      - FMA:insertion_of\n      - FMA:internal_to\n      - FMA:lateral_to\n      - FMA:left_lateral_to\n      - FMA:left_medial_to\n      - FMA:lymphatic_drainage_of\n      - FMA:matures_from\n      - FMA:matures_into\n      - FMA:medial_to\n      - FMA:merges_with\n      - FMA:nerve_supply_of\n      - FMA:origin_of\n      - FMA:posterior_to\n      - FMA:posteroinferior_to\n      - FMA:posterolateral_to\n      - FMA:posteromedial_to\n      - FMA:posterosuperior_to\n      - FMA:primary_segmental_supply_of\n      - FMA:projects_from\n      - FMA:projects_to\n      - FMA:proximal_to\n      - FMA:receives_attachment_from\n      - FMA:receives_drainage_from\n      - FMA:receives_input_from\n      - FMA:receives_projection\n      - FMA:related_part\n      - FMA:right_lateral_to\n      - FMA:right_medial_to\n      - FMA:secondary_segmental_supply_of\n      - FMA:segmental_composition_of\n      - FMA:segmental_supply_of\n      - FMA:sends_output_to\n      - FMA:superior_to\n      - FMA:superolateral_to\n      - FMA:superomedial_to\n      - FMA:surrounded_by\n      - FMA:surrounds\n      - FMA:tributary_of\n      - FMA:venous_drainage_of\n      # These LOINC: terms contributed by RTX were only tagged as 'biolink:has_attribute'\n      # but seem more aligned to the FMA entries in this biolink term, so I leave them here for now\n      - LOINC:has_lateral_anatomic_location\n      - LOINC:has_lateral_location_presence\n      - UBERON_NONAMESPACE:distally_connected_to\n      - UBERON_NONAMESPACE:subdivision_of\n      # These RO terms seem similar to the FMA terms above, so I place them here rather than under 'biolink:related_to'\n      - RO:0002219\n      - RO:0002220\n      - RO:0002221\n      - SO:has_origin\n      # RTX mapped these UBERON terms all here\n      - UBERON:anastomoses_with\n      - UBERON:anteriorly_connected_to\n      - UBERON:channel_for\n      - UBERON:channels_from\n      - UBERON:channels_into\n      - UBERON:conduit_for\n      - UBERON:distally_connected_to\n      - UBERON:existence_starts_and_ends_during\n      - UBERON:extends_fibers_into\n      - UBERON:filtered_through\n      - UBERON:in_central_side_of\n      - UBERON:in_innermost_side_of\n      - UBERON:in_outermost_side_of\n      - UBERON:indirectly_supplies\n      - UBERON:posteriorly_connected_to\n      - UBERON:protects\n      - UBERON:proximally_connected_to\n      - UBERON:sexually_homologous_to\n\n  in pathway with:\n    description: >-\n      holds between two genes or gene products that are part of in the same biological pathway\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    related_mappings:\n      # generally pertains to membership of a (subject) component - gene,\n      # metabolite, etc? - in an (object) metabolic pathway\n      - SIO:010532\n\n  in complex with:\n    description: >-\n      holds between two genes or gene products that are part of (or code for\n      products that are part of) in the same macromolecular complex mixin\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    related_mappings:\n      # generally pertains to membership of a (subject) protein in an (object) protein complex (doesn't cover RNA-Protein, Lipid-Protein, etc complexes though)\n      - SIO:010497\n    broad_mappings:\n      # generally pertains to membership of any (subject) constituent molecule in an (object) molecular complex (might also generically cover RNA-Protein, Lipid-Protein, etc complexes)\n      - SIO:010285\n\n  in cell population with:\n    description: >-\n      holds between two genes or gene products that are expressed in the same cell type or population\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  colocalizes with:\n    description: >-\n      holds between two entities that are observed to be located in the same place.\n    is_a: coexists with\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:00002325\n\n  # Despite the name, note that this particular entity is\n  # NOT a biolink:Association but rather, a biolink:predicate\n  genetic association:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    description: >-\n      Co-occurrence of a certain allele of a genetic marker and the phenotype\n      of interest in the same individuals at above-chance level\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2293\n\n  gene associated with condition:\n    is_a: genetic association\n    description: >-\n      holds between a gene and a disease or phenotypic feature that the gene or its alleles/products may influence,\n      contribute to, or correlate with\n    domain: gene\n    range: disease or phenotypic feature\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    broad_mappings:\n      - GENO:0000840 # broader than a single gene: 'genotype' pathogenic for condition\n      - GENO:0000841\n    narrow_mappings:\n      # narrower: just diseases, not phenotypic features as well\n      - NCIT:R38\n      - NCIT:R175\n      - NCIT:R48\n\n  condition associated with gene:\n    is_a: genetic association\n    aliases: ['disease associated with gene']\n    description: >-\n      holds between a gene and a disease or phenotypic feature that may be influenced, contribute to, or be correlated with the gene or its alleles/products\n    domain: disease or phenotypic feature\n    range: gene\n    in_subset:\n      - translator_minimal\n    inverse: gene associated with condition\n    narrow_mappings:\n      # narrower since just diseases, not phenotypic features as well\n      - NCIT:R176\n\n  affects risk for:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where exposure to one entity alters the chance of developing the other\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n\n  risk affected by:\n    is_a: related to at instance level\n    inverse: affects risk for\n\n  predisposes:\n    is_a: affects risk for\n    description: >-\n      holds between two entities where exposure to one entity increases the chance of developing the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:prevents\n    exact_mappings:\n      - SEMMEDDB:predisposes\n\n  has predisposing factor:\n    inverse: predisposes\n    in_subset:\n      - translator_minimal\n\n  # TODO: inverse of predisposes\n\n  contributes to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes or contributes to the\n      occurrence or generation of the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    close_mappings:\n      # RTX contributed mapping tagged as 'inverse' of this Biolink predicate\n      - IDO:0000664\n    exact_mappings:\n      - RO:0002326\n    narrow_mappings:\n      - CTD:marker_mechanism\n      - MONDO:predisposes_towards\n      # RTX mapped this to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002255\n      # RTX term 'contributes to condition' mapped to 'biolink:causes' seems more suitable here\n      - RO:0003304\n\n  contribution from:\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    inverse: contributes to\n\n  causes:\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes the occurrence\n      or generation of the other\n    is_a: contributes to\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:prevents\n    exact_mappings:\n      - SEMMEDDB:CAUSES\n      - SEMMEDDB:causes\n      - WIKIDATA_PROPERTY:P1542\n      - SNOMED:cause_of\n      - RO:0003303\n    broad_mappings:\n      - RO:0002410\n      - RO:0002506\n    narrow_mappings:\n      - MONDO:disease_triggers\n      - GOREL:0000040\n      - MONDO:disease_causes_feature\n      - MONDO:disease_triggers\n      - NCIT:allele_has_abnormality\n      - NCIT:biological_process_has_result_biological_process\n      - NCIT:chemical_or_drug_has_physiologic_effect\n      # RTX mapped terms as 'biolink:part_of' but implied sequence of causality suggests 'biolink:causes'?\n      - NCIT:chemical_or_drug_initiates_biological_process\n      - NCIT:process_initiates_biological_process\n      - NCIT:chromosome_mapped_to_disease\n      - NCIT:disease_has_normal_tissue_origin\n      - NBO-PROPERTY:in_response_to\n      - ORPHA:317343\n      - ORPHA:317344\n      - ORPHA:317346\n      - ORPHA:410295\n      - ORPHA:410296\n      # RTX mapped this term to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002256\n      - RO:0002315\n      - RO:0002507\n      - RO:0002509\n      - RO:0004001\n      - SNOMED:causative_agent_of\n      - SNOMED:has_realization\n      - UMLS:has_physiologic_effect\n\n  caused by:\n    description: >-\n      holds between two entities where the occurrence, existence,\n      or activity of one is caused by the occurrence or generation of the other\n    is_a: related to at instance level\n    aliases: ['disease caused by disruption of', 'disease has basis in dysfunction of', 'realized in response to', 'realized in response to stimulus']\n    in_subset:\n      - translator_minimal\n    inverse: causes\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P828\n    narrow_mappings:\n      - RO:0001022\n      - RO:0002608\n      - RO:0004019\n      - RO:0004020\n      - RO:0004028\n      - RO:0009501\n\n  # TODO: ameliorates and exacerbates inverses.\n  ameliorates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a genotype,\n      genetic variation, chemical, or environmental exposure)\n      and a condition (a phenotype or disease), where the\n      presence of the entity reduces or eliminates some or\n      all aspects of the condition.\n    # 'biological entity' currently includes 'exposure event' which covers alot of related ground\n    domain: biological entity\n    range: disease or phenotypic feature\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:exacerbates\n    exact_mappings:\n      - RO:0003307\n\n  is ameliorated by:\n    inverse: ameliorates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: biological entity\n\n  exacerbates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a chemical,\n      environmental exposure, or some form of genetic variation)\n      and a condition (a phenotype or disease), where the presence\n      of the entity worsens some or all aspects of the condition.\n    # 'biological entity' currently includes 'exposure event' which covers alot of related ground\n    domain: biological entity\n    range: disease or phenotypic feature\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0003309\n    broad_mappings:\n      - SEMMEDDB:complicates\n\n  is exacerbated by:\n    inverse: exacerbates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: biological entity\n    in_subset:\n      - translator_minimal\n\n  treats:\n    aliases: ['is substance that treats', 'indicated for']\n    is_a: ameliorates\n    description: >-\n      holds between a therapeutic procedure or chemical entity\n      and a disease or phenotypic feature that it is used to treat\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:contraindicated for\n    in_subset:\n      - translator_minimal\n    related_mappings:\n      - MONDO:disease_responds_to\n    exact_mappings:\n      - DRUGBANK:treats\n      - SEMMEDDB:TREATS\n      - SEMMEDDB:treats\n      - WIKIDATA_PROPERTY:P2175\n    narrow_mappings:\n      # \"is substance that treats\" constrains statements to\n      # a subset of the universe of all possible treatments\n      - RO:0002606\n      - NCIT:regimen_has_accepted_use_for_disease\n      # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n      - SNOMED:plays_role\n\n  treated by:\n    is_a: related to at instance level\n    description: >-\n      holds between a disease or phenotypic feature and a therapeutic\n      process or chemical entity that is used to treat the condition\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    # range: chemical or drug or treatement\n    in_subset:\n      - translator_minimal\n    inverse: treats\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2176\n      # RTX contributed term tagged as inverse of 'biolink:treats'\n      - MONDO:disease_responds_to\n    narrow_mappings:\n      # \"is treated by substance\" constrains statements to\n      # subset of the universe of all possible treatments\n      - RO:0002302\n\n  approved to treat:\n    deprecated: true\n    description: >-\n      holds between a therapeutic procedure or chemical entity\n      and a disease or phenotypic feature for which it is approved\n      for treatment to some level of clinical trial. Note that in\n      terms of REPODB narrow mappings, terms containing 'suspended',\n      'terminated' or 'withdrawn' should be mapped onto associations\n      using this term for which 'negated: true' is asserted.\n    is_a: treats\n    domain: chemical or drug or treatment\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  approved for treatment by:\n    description: >-\n      holds between a disease or phenotypic feature and a therapeutic process\n      or chemical entity that is approved for treatment of the condition\n      (or not, if negated) to some level of clinical trial\n    is_a: treated by\n    range: chemical or drug or treatment\n    inverse: approved to treat\n\n  prevents:\n    is_a: affects risk for\n    description: >-\n      holds between an entity whose application or use reduces\n      the likelihood of a potential outcome. Typically used to associate\n      a chemical entity, exposure, activity, or medical intervention\n      that can prevent the onset a disease or phenotypic feature.\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:predisposes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:PREVENTS\n      - SEMMEDDB:prevents\n    narrow_mappings:\n      # more restricted case of a material entity mitigating a pathological process\n      - RO:0002599\n  \n  prevented by:\n    is_a: risk affected by\n    description: >-\n      holds between a potential outcome of which the likelihood\n      was reduced by the application or use of an entity.\n    inverse: prevents\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:enabled by\n\n  correlated with:\n    is_a: associated with\n    description: >-\n      holds between any two named thing entities. For example, correlated_with\n      holds between a disease or phenotypic feature and a measurable molecular\n      entity that is used as an indicator of the presence or state of the disease or feature.\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0002610\n      - PATO:correlates_with\n\n  # proposed positive and negative semantic extensions to the general \"correlated with\" predicate\n\n  positively correlated with:\n    is_a: correlated with\n    description: >-\n      holds between any two named thing entities \"correlated with\" one another in a positive manner.\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:negatively correlated with\n    exact_mappings:\n      - CTD:positive_correlation\n\n  negatively correlated with:\n    is_a: correlated with\n    description: >-\n      holds between any two named thing entities \"correlated with\" one another in a negative manner.\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:positively correlated with\n    exact_mappings:\n      - CTD:negative_correlation\n\n  occurs together in literature with:\n    is_a: correlated with\n    description: >-\n      holds between two entities where their co-occurrence is correlated by counts of publications\n      in which both occur, using some threshold of occurrence as defined by the edge provider.\n    domain: named thing\n    range: named thing\n    in_subset: translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  coexpressed with:\n    is_a: correlated with\n    description: >-\n      holds between any two genes or gene products, in which both are\n      generally expressed within a single defined experimental context.\n    domain: gene or gene product\n    range: gene or gene product\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  has biomarker:\n    is_a: correlated with\n    description: >-\n      holds between a disease or phenotypic feature and a measurable\n      chemical entity that is used as an indicator of the presence\n      or state of the disease or feature.\n      # metabolite\n    domain: disease or phenotypic feature\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    inverse: biomarker for\n    narrow_mappings:\n      # some RTX terms contributed as inverses of 'biolink:biomarker_for'\n      - NCIT:disease_has_molecular_abnormality\n      - NCIT:disease_is_marked_by_gene\n\n  biomarker for:\n    is_a: correlated with\n    description: >-\n      holds between a measurable chemical entity and a disease\n      or phenotypic feature, where the entity is used as an indicator\n      of the presence or state of the disease or feature.\n    domain: chemical entity or gene or gene product\n    range: disease or phenotypic feature\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - NCIT:R39\n    broad_mappings:\n      # Generic marker definition not specific to biomarkers per say\n      - RO:0002607\n    narrow_mappings:\n      - NCIT:R47\n      # RTX term was tagged as 'biolink:actively_involved_in' but maps better here?\n      - NCIT:genetic_biomarker_related_to\n      - NCIT:is_molecular_abnormality_of_disease\n      - ORPHA:465410\n\n  # It may be helpful to introduce an intermediate predicate in between 'related_to' and 'expressed in'\n  # which would have a domain of 'biological entity' and range of 'anatomical entity', to map predicates\n  # which are biological which have manifestation in an anatomical site, e.g. RO:0004026, RO:0004027 and others\n  expressed in:\n    is_a: located in\n    description: >-\n      holds between a gene or gene product and an anatomical entity in which it is expressed\n    domain: gene or gene product\n    range: anatomical entity\n    multivalued: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002206\n    narrow_mappings:\n      - NCIT:R49\n      - NCIT:R46\n\n  expresses:\n    is_a: location of\n    aliases: ['anatomy expresses gene']\n    description: >-\n      holds between an anatomical entity and gene or gene product that is expressed there\n    domain: anatomical entity\n    range: gene or gene product\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    inverse: expressed in\n    exact_mappings:\n      - RO:0002292\n\n  has phenotype:\n    is_a: related to at instance level\n    aliases: ['disease presents symptom']\n    description: >-\n      holds between a biological entity and a phenotype, where a phenotype\n      is construed broadly as any kind of quality of an organism part,\n      a collection of these qualities, or a change in quality or qualities\n      (e.g. abnormally increased temperature). In SNOMEDCT, disorders with keyword 'characterized by' should\n      translate into this predicate.\n    domain: biological entity\n    range: phenotypic feature\n    multivalued: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    notes:\n      - check the range\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002200\n    broad_mappings:\n      - NCIT:R115\n      - NCIT:R108\n    narrow_mappings:\n      - NCIT:R89\n      - DOID-PROPERTY:has_symptom\n      - RO:0004022\n\n  phenotype of:\n    is_a: related to at instance level\n    description: >-\n      holds between a phenotype and a biological entity, where a phenotype\n      is construed broadly as any kind of quality of an organism part,\n      a collection of these qualities, or a change in quality or qualities\n      (e.g. abnormally increased temperature).\n    domain: phenotypic feature\n    range: biological entity\n    multivalued: true\n    inverse: has phenotype\n    notes:\n      - check the domain\n    in_subset:\n      - translator_minimal\n\n  # TODO: predicate inverse for occurs in\n  occurs in:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a material entity or site within which the process occurs\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    close_mappings:\n      # These RTX mapped terms tagged as the inverse of \"biolink:occurs_in\", i.e. Entity/Site contains Process\"\n      - BFO:0000067\n      - SNOMED:has_occurrence\n      - UBERON:site_of\n    exact_mappings:\n      - BFO:0000066\n      - PathWhiz:has_location\n      - SNOMED:occurs_in\n    narrow_mappings:\n      # SemMedDb term 'OCCURS_IN' constrained to something (other than process) occurring in a group or population\n      - SEMMEDDB:OCCURS_IN\n      - SEMMEDDB:occurs_in\n      # SemMedDb term 'PROCESS_IN' constrained specifically to a process occurring in the object concept entity\n      - SEMMEDDB:PROCESS_OF\n      - SEMMEDDB:process_of\n      # Uberon term constrained to a 'site' as object concept\n      - UBERON_CORE:site_of\n      - LOINC:has_imaged_location\n      - PathWhiz:in_species\n      - RO:0002231\n      - RO:0002232\n      - SNOMED:has_direct_procedure_site\n      - SNOMED:has_direct_site\n      - SNOMED:has_procedure_site\n\n  contains process:\n    is_a: related to at instance level\n    inverse: occurs in\n\n  located in:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a material entity or site\n      within which it is located (but of which it is not considered a part)\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0001025\n      - FMA:has_location\n    narrow_mappings:\n      - GOREL:0001004\n      - BSPO:0000107\n      - BSPO:0000108\n      - BSPO:0000120\n      - BSPO:0000121\n      - BSPO:0000122\n      - BSPO:0000123\n      - BSPO:0000124\n      - BSPO:0000125\n      - BSPO:0000126\n      - BSPO:0001100\n      - BSPO:0001101\n      - BSPO:0001107\n      - BSPO:0015101\n      - BSPO:0015102\n      - BSPO:0015202\n      - UBERON_CORE:in_central_side_of\n      - UBERON_CORE:in_innermost_side_of\n      - UBERON_CORE:in_outermost_side_of\n      - NCIT:R100\n      - EFO:0000784\n      - FMA:has_location\n      - HMDB:at_cellular_location\n      - HMDB:at_tissue\n      - HMDB:in_biospecimen\n      - LOINC:has_imaging_focus\n      - NCIT:R156\n      - NCIT:R155\n      - NCIT:R145\n      - NCIT:R40\n      - NCIT:R171\n      - NCIT:R167\n      - NCIT:R165\n      - NCIT:R169\n      - NCIT:R170\n      - NCIT:R166\n      - NCIT:R168\n      - RO:0002303\n      - SNOMED:has_finding_site\n      - SNOMED:has_indirect_procedure_site\n      - SNOMED:has_inherent_location\n    domain: named thing\n    range: named thing\n\n  location of:\n    is_a: related to at instance level\n    aliases: ['site of']\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between material entity or site and a material entity\n      that is located within it (but not considered a part of it)\n    in_subset:\n      - translator_minimal\n    inverse: located in\n    exact_mappings:\n      - RO:0001015\n      - SEMMEDDB:LOCATION_OF\n      - SEMMEDDB:location_of\n      - WIKIDATA_PROPERTY:P276\n      # RTX tagged this as an inverse of biolink:located_in\n      - FMA:location_of\n    narrow_mappings:\n      - SNOMED:inherent_location_of\n      - NCIT:Anatomic_Structure_Has_Location_Role\n\n  disease has location:\n    description: >-\n      A relationship between a disease and an anatomical entity where the\n      disease has one or more features that are located in that entity.\n    is_a: related to\n    exact_mappings:\n      - RO:0004026\n      - MONDO:disease_has_location\n\n  similar to:\n      is_a: related to at instance level\n      description: >-\n        holds between an entity and some other entity with similar features.\n      in_subset:\n        - translator_minimal\n      symmetric: true\n      annotations:\n        biolink:canonical_predicate:\n          tag: biolink:canonical_predicate\n          value: true\n      exact_mappings:\n        - RO:HOM0000000               #I don't understand this identifier, but I think it's equivalent\n        - SO:similar_to               #equivalent\n\n  chemically similar to:\n    is_a: similar to\n    description: >-\n      holds between one small molecule entity and another that it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    narrow_mappings:\n      - CHEBI:has_parent_hydride    #subproperty\n      - CHEBI:has_functional_parent #subproperty\n      - CHEBI:is_conjugate_acid_of  #subproperty\n      - CHEBI:is_conjugate_base_of  #subproperty\n      - CHEBI:is_enantiomer_of      #subproperty\n      - CHEBI:is_tautomer_of        #subproperty\n      - NCIT:has_salt_form\n\n  has sequence location:\n    is_a: related to at instance level\n    description: >-\n      holds between two nucleic acid entities when the subject can be localized\n      in sequence coordinates on the object. For example, between\n      an exon and a chromosome/contig.\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - faldo:location\n\n  sequence location of:\n    is_a: related to at instance level\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    inverse: has sequence location\n\n  model of:\n    is_a: related to at instance level\n    description: >-\n      holds between a thing and some other thing it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0003301\n    narrow_mappings:\n      - FOODON:00001301\n\n  models:\n    is_a: related to at instance level\n    inverse: model of\n\n  overlaps:\n    is_a: related to at instance level\n    description: >-\n      holds between entities that overlap in their extents (materials or processes)\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - RO:0002131\n    narrow_mappings:\n      - BSPO:0005001\n      - CHEMBL.MECHANISM:overlaps_with\n      - RO:0002100\n      - RO:0002102\n      - RO:0002433\n\n  has part:\n    is_a: overlaps\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:lacks part\n    description: >-\n      holds between wholes and their parts (material entities or processes)\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000051\n      # term name seems to be 'realizes' but RTX maps this term here\n      - BFO:0000055\n      - WIKIDATA_PROPERTY:P527\n      - RO:0001019\n      - RXNORM:consists_of\n      - RXNORM:has_part\n    broad_mappings:\n      # To 'contain' is 'to have something inside or include something as a part'; slightly broader?\n      - RO:0001019\n      - FMA:contains\n      - RXNORM:contains\n    narrow_mappings:\n      - BFO:0000117\n      # RTX term originally mapped to 'biolink:coexists_with'?\n      - FMA:has_constitutional_part\n      - FMA:has_part\n      # Several of the following RTX terms were originally mapped as inverses to 'biolink:part_of'?\n      - FMA:has_member\n      - FOODON:00001563\n      - FOODON:00002420\n      - LOINC:has_component\n      - LOINC:has_member\n      - MEDDRA:has_member\n      - MONDO:disease_has_major_feature\n      - NCIT:complex_has_physical_part\n      - NDDF:has_ingredient\n      - PathWhiz:has_element_in_bound\n      # This RTX contributed term was tagged as 'biolink:has_gene_product' but seems more compositional in nature\n      - NCIT:R50\n      - PathWhiz:has_protein_in_complex\n      - RO:0002104\n      - RO:0002180\n      - RO:0002351\n      - RO:0002473\n      - RO:0002524\n      - RO:0002551\n      - RXNORM:has_ingredient\n      - SNOMED:has_component\n      - UMLS:has_component\n\n  has plasma membrane part:\n    is_a: has part\n    description: >-\n      Holds between a cell c and a protein complex or protein p if\n      and only if that cell has as part a plasma_membrane[GO:0005886], and that plasma membrane has p as part.\n    exact_mappings:\n      - RO:0002104\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n\n  composed primarily of:\n    is_a: related to\n    description: >-\n      x composed_primarily_of_y if:more than half of the mass of x is made from parts of y.\n    exact_mappings:\n      - RO:0002473\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n\n  plasma membrane part of:\n    is_a: part of\n    inverse: has plasma membrane part\n\n  part of:\n    is_a: overlaps\n    description: >-\n      holds between parts and wholes (material entities or processes)\n    in_subset:\n      - translator_minimal\n    inverse: has part\n    exact_mappings:\n      - BFO:0000050\n      - SEMMEDDB:PART_OF\n      - SEMMEDDB:part_of\n      - WIKIDATA_PROPERTY:P361\n      - FMA:part_of\n      - RXNORM:constitutes\n      - RXNORM:part_of\n    broad_mappings:\n      # To 'contain' is 'to have something inside or include something as a part'\n      - RO:0001018\n      - FMA:contained_in\n      - RXNORM:contained_in\n    narrow_mappings:\n      - BSPO:0001106\n      - BSPO:0001108\n      - BSPO:0001113\n      - BSPO:0001115\n      - UBERON_CORE:layer_part_of\n      - UBERON_CORE:subdivision_of\n      - UBERON_CORE:trunk_part_of\n      - CHEBI:is_substituent_group_from\n      - CPT:panel_element_of\n      - CPT:panel_element_of_possibly_included\n      - DRUGBANK:component_of\n      - FMA:constitutional_part_of\n      - FMA:member_of\n      - FMA:regional_part_of\n      - FMA:related_developmental_entity_of\n      - LOINC:component_of\n      - LOINC:has_supersystem\n      - LOINC:member_of\n      - LOINC:multipart_of\n      - MEDDRA:member_of\n      - MONDO:part_of_progression_of_disease\n      - NCIT:R82\n      - NCIT:R27\n      - NCIT:is_component_of_chemotherapy_regimen\n      - NDDF:ingredient_of\n      - RO:0002007\n      - RO:0002350\n      - RO:0002376\n      - RO:0002380\n      - RO:0002571\n      - RO:0002572\n      - RO:0002576\n      - RXNORM:ingredient_of\n      - RXNORM:ingredients_of\n      - RXNORM:precise_ingredient_of\n      - SNOMED:active_ingredient_of\n      - SNOMED:basis_of_strength_substance_of\n      - SNOMED:component_of\n      - SNOMED:direct_substance_of\n      - SNOMED:during\n      - SNOMED:focus_of\n      - SNOMED:has_dependent\n      - SNOMED:part_anatomy_structure_of\n      - SNOMED:precise_active_ingredient_of\n      - UBERON:subdivision_of\n      - UMLS:component_of\n      - UMLS:has_owning_affiliate\n      - UMLS:owning_subsection_of\n      - VANDF:ingredient_of\n\n  has input:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an input into the process\n    domain: occurrent\n    range: biological process or activity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:has output\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # RTX inverse mapping to to 'biolink:has_input'\n      - RO:0002352\n    exact_mappings:\n      - RO:0002233\n      - SEMMEDDB:USES\n      - SEMMEDDB:uses\n    narrow_mappings:\n      - LOINC:has_fragments_for_synonyms\n      - LOINC:has_system\n      - PathWhiz:has_left_element\n      - RO:0002590\n      - RO:0004009\n      - SNOMED:has_finding_method\n      - SNOMED:has_precondition\n      - SNOMED:has_specimen_source_identity\n      - SNOMED:has_specimen_substance\n      - SNOMED:uses_access_device\n      - SNOMED:uses_device\n      - SNOMED:uses_energy\n      - SNOMED:uses_substance\n\n  is input of:\n    is_a: participates in\n    domain: biological process or activity\n    range: occurrent\n    inverse: has input\n    in_subset:\n      - translator_minimal\n\n  has output:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an output of the process\n    domain: occurrent\n    range: biological process or activity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:has input\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - RO:0002353\n      - RO:0002354\n    exact_mappings:\n      - RO:0002234\n    narrow_mappings:\n      - NCIT:R31\n      - OBI:0000299\n      - PathWhiz:has_right_element\n      - RO:0002296\n      - RO:0002297\n      - RO:0002298\n      - RO:0002299\n      - RO:0002588\n      - RO:0004008\n\n  is output of:\n    is_a: participates in\n    range: occurrent\n    domain: biological process or activity\n    inverse: has output\n    in_subset:\n      - translator_minimal\n\n  has participant:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a continuant, where the continuant is somehow involved in the process\n    domain: occurrent\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - WIKIDATA_PROPERTY:P2283\n    exact_mappings:\n      - RO:0000057\n      - RO:has_participant\n    narrow_mappings:\n      - BFO:0000167\n      # Several of the following RTX terms tagged as inverse to 'biolink:participates_in'\n      - LOINC:has_subject\n      - NCIT:process_involves_gene\n      - NBO-PROPERTY:has_participant\n      - PathWhiz:has_bound\n      - PathWhiz:has_compound\n      - PathWhiz:has_element_collection\n      - PathWhiz:has_enzyme\n      - OBI:0000293\n      - PathWhiz:has_nucleic_acid\n      - PathWhiz:has_protein\n      - PathWhiz:has_reaction\n      - RO:0004007\n      - RO:0004020\n      - RO:0004021\n      - SNOMED:has_indirect_device\n      - SNOMED:has_procedure_device\n      - SNOMED:has_recipient_category\n\n  catalyzes:\n    is_a: participates in\n    # domain: nucleic acid entity\n    # range: molecular activity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  has catalyst:\n    is_a: has participant\n    inverse: catalyzes\n\n  has substrate:\n    is_a: has participant\n    # domain: molecular activity\n    # range: chemical entity or gene or gene product\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  is substrate of:\n    is_a: participates in\n    inverse: has substrate\n\n  participates in:\n    is_a: related to at instance level\n    description: >-\n      holds between a continuant and a process, where the continuant is somehow involved\n      in the process\n    range: occurrent\n    inverse: has participant\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0000056\n      - BFO:0000056\n    narrow_mappings:\n      - DRUGBANK:pathway\n      - HMDB:in_pathway\n      - LOINC:is_given_pharmaceutical_substance_for\n      - NCIT:R130\n      - NCIT:R37\n      - NCIT:R131\n      - NCIT:R51\n      - NCIT:R53\n      - OBI:0000295\n      - RO:0002216\n      - RO:0002505\n      - RO:0002565\n      - SNOMED:has_direct_device\n\n  actively involved in:\n    is_a: participates in\n    aliases: ['involved in']\n    description: >-\n      holds between a continuant and a process or function, where\n      the continuant actively contributes to part or all of\n      the process or function it realizes\n    domain: molecular activity\n    range: occurrent\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002331\n      - RO:0002432\n    narrow_mappings:\n      - NBO-PROPERTY:by_means\n      - ORPHA:317348\n      - ORPHA:317349\n      - ORPHA:327767\n      - RO:0002503\n\n  actively involves:\n    is_a: has participant\n    domain: occurrent\n    range: molecular activity\n    inverse: actively involved in\n    exact_mappings:\n      - RO:0002331\n    in_subset:\n      - translator_minimal\n\n  capable of:\n    is_a: actively involved in\n    description: >-\n      holds between a physical entity and process or function, where the\n      continuant alone has the ability to carry out the process or function.\n    range: occurrent\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002215\n    narrow_mappings:\n      - NCIT:R52\n      - RO:0002500\n\n  has capability:\n    is_a: actively involves\n    inverse: capable of\n\n  enables:\n    is_a: participates in\n    description: >-\n      holds between a physical entity and a process, where the physical entity executes the process\n    domain: physical entity\n    range: biological process or activity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:prevents\n    in_subset:\n      - translator_minimal\n    inverse: enabled by\n    exact_mappings:\n      - RO:0002327\n\n  enabled by:\n    is_a: has participant\n    description: >-\n      holds between a process and a physical entity, where the physical entity executes the process\n    domain: biological process or activity\n    range: physical entity\n    in_subset:\n      - translator_minimal\n    inverse: enables\n    exact_mappings:\n      - RO:0002333\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:prevented by\n\n  derives into:\n    is_a: related to at instance level\n    aliases: ['is normal cell origin of disease','may be normal cell origin of disease']\n    description: >-\n      holds between two distinct material entities, the old entity and\n      the new entity, in which the new entity begins to exist when\n      the old entity ceases to exist, and the new entity inherits\n      the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n    inverse: derives from\n    # TODO: fix this according to WG notes. Example of both opposite and inverse\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:subclass of\n    exact_mappings:\n      - RO:0001001\n      - SEMMEDDB:CONVERTS_TO\n      - SEMMEDDB:converts_to\n      # RTX posted terms as inverse of 'biolink:derives_from'\n      - FMA:derives\n\n  derives from:\n    is_a: related to at instance level\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    description: >-\n      holds between two distinct material entities, the new entity\n      and the old entity, in which the new entity begins to exist\n      when the old entity ceases to exist, and the new entity\n      inherits the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n      - samples\n    inverse: derives into\n    exact_mappings:\n      - RO:0001000\n      - FMA:derives_from\n      - DOID-PROPERTY:derives_from\n    narrow_mappings:\n      - CHEBI:has_functional_parent\n      - SNOMED:has_specimen_source_topography\n\n  is metabolite of:\n    is_a: derives from\n    description: >-\n      holds between two molecular entities in which the first one is derived\n      from the second one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    in_subset:\n      - translator_minimal\n    inverse: has metabolite\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  has metabolite:\n    is_a: derives into\n    description: >-\n      holds between two molecular entities in which the second one is derived from the first\n      one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  food component of:\n    is_a: part of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has food component\n    #mappings:\n    #  -\n\n  has food component:\n    is_a: has part\n    description: >-\n      holds between food and one or more chemical entities composing it,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n\n  nutrient of:\n    is_a: food component of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has nutrient\n    #exact_mappings:\n    #  -\n\n  has nutrient:\n    is_a: has food component\n    description: >-\n      one or more nutrients which are growth factors for a living organism\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q181394\n\n  is active ingredient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug, in which the former\n      is a part of the latter, and is a biologically active component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has active ingredient\n    mappings:\n      - RO:0002249\n\n  has active ingredient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entity in which the latter\n      is a part of the former, and is a biologically active component\n    domain: drug\n    range: molecular entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:is excipient of\n    in_subset:\n      - translator_minimal\n    inverse: is active ingredient of\n    mappings:\n      - RO:0002248\n\n  is excipient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug in which the former is\n      a part of the latter, and is a biologically inactive component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has excipient\n    mappings:\n      - WIKIDATA:Q902638\n\n  has excipient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entities in which the latter\n      is a part of the former, and is a biologically inactive component\n    domain: drug\n    range: molecular entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    mappings:\n      - WIKIDATA:Q902638\n\n  manifestation of:\n    is_a: related to at instance level\n    description: >-\n      that part of a phenomenon which is directly observable or\n      visibly expressed, or which gives evidence to the underlying\n      process; used in SemMedDB for linking things like dysfunctions\n      and processes to some disease or syndrome\n    range: disease\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:MANIFESTATION_OF\n      - SEMMEDDB:manifestation_of\n      - OMIM:manifestation_of\n    broad_mappings:\n      # Wikidata definition slightly broader: \"inherent and characteristic embodiment of a given concept\"\n      - WIKIDATA_PROPERTY:P1557\n    narrow_mappings:\n      - SNOMED:has_definitional_manifestation\n\n  has manifestation:\n    is_a: related to at instance level\n    domain: disease\n    inverse: manifestation of\n\n  produces:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a product that is generated\n      through the intentional actions or functioning of the material entity\n    in_subset:\n      - translator_minimal\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    related_mappings:\n      - GOREL:0001010\n    exact_mappings:\n      - RO:0003000\n      - WIKIDATA_PROPERTY:P1056\n      - SEMMEDDB:PRODUCES\n      - SEMMEDDB:produces\n    narrow_mappings:\n      - NCIT:R29\n      - SNOMED:has_process_output\n      - SNOMED:specimen_procedure_of\n\n  produced by:\n    is_a: related to at instance level\n    inverse: produces\n    exact_mappings:\n      - RO:0003001\n\n  consumes:\n    is_a: has input\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    narrow_mappings:\n      - RO:0004009\n\n  consumed by:\n    is_a: is input of\n    inverse: consumes\n\n  temporally related to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities with a temporal relationship\n    domain: occurrent\n    range: occurrent\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - SNOMED:temporally_related_to\n    narrow_mappings:\n      # The These RTX mappings are temporal in nature, but not with precedes ordering, so mapped here\n      - RO:0002082\n      - RO:0002083\n      - RO:0002092\n      - RO:0002093\n      - RO:0002223\n      - RO:0002224\n      - RO:0002229\n      - RO:0002230\n      - RO:0002488\n      - RO:0002489\n      - RO:0002492\n      - RO:0002493\n      - RO:0002496\n      - RO:0002497\n\n  precedes:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where one completes before the other begins\n    domain: occurrent\n    range: occurrent\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:preceded by\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # the subject of these terms is a material entity, not a process,\n      # but affects a process which causes a second process to occur\n      - RO:0002263\n      - RO:0002264\n    exact_mappings:\n      - BFO:0000063\n      - SEMMEDDB:PRECEDES\n      - SEMMEDDB:precedes\n      - SNOMED:occurs_before\n    broad_mappings:\n      # the Wikidata definition is subtly broader, focusing on a series not strictly temporal in nature\n      - WIKIDATA_PROPERTY:P156\n    narrow_mappings:\n      - FMA:transforms_into\n      - RO:0002090\n      - RO:0002411\n      - RO:0002412\n\n  preceded by:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where the other is completed before the one begins\n    domain: occurrent\n    range: occurrent\n    inverse: precedes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000062\n    broad_mappings:\n      # Contributed by RTX as inverse of 'precedes'. Seems more generic to just processes, so we tag it as 'broad'?\n      - GENEPIO:0001739\n    narrow_mappings:\n      # RTX contributed mapping was given as the inverse of 'biolink:precedes'\n      - FMA:transforms_from\n      - RO:0002087\n      - RO:0002285\n\n  directly interacts with:\n    is_a: interacts with\n    description: Holds between chemical entities that physically and directly interact\n      with each other\n    domain: chemical entity\n    range: chemical entity or gene or gene product\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    related_mappings:\n      - GAMMA:kd\n      - GAMMA:kb\n      - GAMMA:potency\n    exact_mappings:\n      - GAMMA:interacts_with\n    broad_mappings:\n      # Definition of this term is more generic than direct physical molecular interactions:\n      # A is connected to B iff there exists a fiat, material or temporal path between A and B.\n      - SIO:000203\n    narrow_mappings:\n      - PHAROS:drug_targets\n      - DRUGBANK:chelator\n      - GAMMA:antibody_binding\n      - GAMMA:pharmacological_chaperone\n      - GAMMA:releasing_agent\n      - GAMMA:pharmacological_chaperone\n      - GAMMA:releasing_agent\n      - GAMMA:binder\n      - GAMMA:binding\n      - GAMMA:ligand\n      - GAMMA:cofactor\n      - GAMMA:multitarget\n      - GAMMA:chaperone\n      - GAMMA:component\n      - GAMMA:adduct\n      - GAMMA:antibody\n      - CTD:affects_binding\n      - DGIdb:binder\n      - DGIdb:cofactor\n\n  affects expression in:\n    is_a: affects\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    description: Holds between a variant and an anatomical entity where the expression of the variant\n       is located in.\n    exact_mappings:\n      - GTEx:affects_expression_in\n\n  has variant part:\n    is_a: has part\n    description: holds between a nucleic acid entity and a nucleic acid entity that is a sub-component of it\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - GENO:0000382\n\n  variant part of:\n    is_a: part of\n    inverse: has variant part\n\n  related condition:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - GENO:0000790\n\n  ## Predicates relating variants to genes\n\n  is sequence variant of:\n    is_a: related to at instance level\n    aliases: ['gene product sequence variation encoded by gene mutant', 'allelic variant of', 'gene product variant of gene product']\n    description: holds between a sequence variant and a nucleic acid entity\n    domain: sequence variant\n    range: nucleic acid entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    narrow_mappings:\n      - WIKIDATA:P3433\n\n  has sequence variant:\n    is_a: related to at instance level\n    inverse: is sequence variant of\n    domain: nucleic acid entity\n    range: sequence variant\n\n  is missense variant of:\n    is_a: is sequence variant of\n    description: holds between a gene  and a sequence variant, such the sequence variant\n      results in a different amino acid sequence but where the length is preserved.\n    domain: sequence variant\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - SO:0001583\n\n  has missense variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is missense variant of\n\n  is synonymous variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the coding sequence of the gene, but results in the same amino acid sequence\n    domain: sequence variant\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - SO:0001819\n\n  has synonymous variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is synonymous variant of\n    aliases: ['stop gained']\n\n  is nonsense variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      results in a premature stop codon\n    domain: sequence variant\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    broad_mappings:\n      # Term definition broader than nonsense codon: A sequence variant whereby\n      # the gene product has diminished or abolished function.\n      - SO:0002054\n\n  has nonsense variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is nonsense variant of\n\n  is frameshift variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      causes a disruption of the translational reading frame, because the number of\n      nucleotides inserted or deleted is not a multiple of three.\n    domain: sequence variant\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - SO:0001589\n    aliases: ['frameshift variant', 'start lost', 'stop lost']\n\n  has frameshift variant:\n    is_a: has sequence variant\n    inverse: is frameshift variant of\n    domain: gene\n    range: sequence variant\n    aliases: ['splice region variant', 'splice acceptor variant', 'splice donor variant']\n\n  is splice site variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the canonical splice site of one of the gene's exons.\n    domain: sequence variant\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - SO:0001629\n\n\n  has splice site variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is splice site variant of\n    aliases: ['downstream gene variant', 'upstream gene variant']\n\n  is nearby variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene sequence that the variant\n      is genomically close to.\n    domain: sequence variant\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - GAMMA:0000102\n\n  has nearby variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is nearby variant of\n    aliases: ['intron variant', '3 prime UTR variant', '5 prime UTR variant', '5 prime UTR premature start codon gain variant', 'non coding transcript exon variant']\n\n  is non coding variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, where the variant does\n      not affect the coding sequence\n    domain: sequence variant\n    range: gene\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - GAMMA:0000103\n\n  has non coding variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is non coding variant of\n\n  # relating disease to process\n\n  disease has basis in:\n    description: A relation that holds between a disease and an entity where the state\n      of the entity has contribution to the disease.\n    is_a: related to at instance level\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    narrow_mappings:\n      # These two MONDO terms seem more particular than the predicate\n      - MONDO:disease_has_basis_in_development_of\n      - MONDO:disease_has_basis_in_accumulation_of\n\n  occurs in disease:\n    is_a: related to at instance level\n    inverse: disease has basis in\n\n  # These may be pushable to causal relationships, but seem important for clarity\n  # Also because causes adverse event tends to be very noisy and it's useful to be able\n  # to distinguish it.  maybe not the best way to do that though.\n\n  causes adverse event:\n    is_a: causes\n    description: holds between a drug and a disease or phenotype that can be caused\n      by the drug\n    domain: drug\n    range: disease or phenotypic feature\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    narrow_mappings:\n      - NCIT:C2861 # side effect\n\n  adverse event caused by:\n    is_a: causes\n    domain: disease or phenotypic feature\n    range: drug\n    inverse: causes adverse event\n\n  contraindicated for:\n    is_a: related to at instance level\n    description: Holds between a drug and a disease or phenotype, such that a person\n      with that disease should not be treated with the drug.\n    domain: drug\n    range: disease or phenotypic feature\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:treats\n    exact_mappings:\n      - NCIT:C37933\n\n  has contraindication:\n    is_a: related to at instance level\n    domain: disease or phenotypic feature\n    range: drug\n    inverse: contraindicated for\n\n  # The remaining new slots are here because we ran across them somewhere and\n  # they didn't seem to map well to anything else.\n\n  has not completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of,\n      but has not completed\n    exact_mappings:\n      - CL:has_not_completed\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:has completed\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n\n  not completed by:\n    is_a: related to at instance level\n    inverse: has not completed\n\n  has completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of\n      and has completed\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:has not completed\n    exact_mappings:\n      - CL:has_completed\n\n  completed by:\n    is_a: related to at instance level\n    inverse: has completed\n\n  decreases molecular interaction:\n    is_a: molecularly interacts with\n    description: indicates that the source decreases the molecular interaction between\n      the target and some other chemical entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:increases molecular interaction\n    exact_mappings:\n      - CTD:decreases_molecular_interaction_with\n    mixins:\n      - decreases amount or activity of\n\n\n  molecular interaction decreased by:\n    is_a: molecularly interacts with\n    inverse: decreases molecular interaction\n\n  increases molecular interaction:\n    is_a: molecularly interacts with\n    description: indicates that the source increases the molecular interaction between\n      the target and some other chemical entity\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:decreases molecular interaction\n    exact_mappings:\n      - CTD:increases_molecular_interaction_with\n    mixins:\n      - increases amount or activity of\n\n  molecular interaction increased by:\n    is_a: molecularly interacts with\n    inverse: increases molecular interaction\n\n  in linkage disequilibrium with:\n    is_a: related to at instance level\n    description: holds between two sequence variants, the presence of which are correlated\n      in a population\n    symmetric: true\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    exact_mappings:\n      - NCIT:C16798\n\n  has increased amount:\n    is_a: related to at instance level\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:has decreased amount\n    narrow_mappings:\n      - CL:has_high_plasma_membrane_amount\n\n  increased amount of:\n    is_a: related to at instance level\n    inverse: has increased amount\n\n  has decreased amount:\n    is_a: related to at instance level\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:has increased amount\n    narrow_mappings:\n      - CL:has_low_plasma_membrane_amount\n\n  decreased amount in:\n    is_a: related to at instance level\n    inverse: has decreased amount\n\n  lacks part:\n    is_a: related to at instance level\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:has part\n    exact_mappings:\n      - CL:lacks_part\n      - PR:lacks_part\n    narrow_mappings:\n      - CL:lacks_plasma_membrane_part\n\n\n  missing from:\n    is_a: related to at instance level\n    inverse: lacks part\n\n  develops from:\n    is_a: related to at instance level\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    close_mappings:\n      # RTX mapping seems to be inverse of 'biolink:develops_from'\n      - RO:0002203\n      - FMA:develops_into\n    exact_mappings:\n      - BTO:develops_from\n      - DDANAT:develops_from\n      - FMA:develops_from\n      - RO:0002202\n    narrow_mappings:\n      - RO:0002207\n      - RO:0002225 # x develops from part of y if and only if there exists some z such that x develops from z and z is part of y\n      - RO:0002226 # x develops_in y if x is located in y whilst x is developing\n\n  develops into:\n     is_a: related to at instance level\n     inverse: develops from\n\n  in taxon:\n    aliases: ['instance of', 'is organism source of gene product', 'organism has gene', 'gene found in organism',' gene product has organism source']\n    is_a: related to at instance level\n    domain: thing with taxon\n    range: organism taxon\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    description: >-\n      connects an entity to its taxonomic classification. Only certain kinds\n      of entities can be taxonomically classified; see 'thing with taxon'\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002162\n      - WIKIDATA_PROPERTY:P703\n    narrow_mappings:\n      - RO:0002160\n\n  taxon of:\n    is_a: related to at instance level\n    inverse: in taxon\n    domain: organism taxon\n    range: thing with taxon\n\n  has molecular consequence:\n    is_a: related to at instance level\n    aliases: ['allele has activity']\n    description: >-\n      connects a sequence variant to a class describing the molecular\n      consequence. E.g.  SO:0001583\n    range: ontology class\n    annotations:\n      biolink:canonical_predicate:\n        tag: biolink:canonical_predicate\n        value: true\n    narrow_mappings:\n      - NCIT:allele_has_activity\n\n  is molecular consequence of:\n    is_a: related to at instance level\n    domain: ontology class\n    inverse: has molecular consequence\n\n## --------------------\n## ASSOCIATION SLOTS\n## --------------------\n\n  association slot:\n    abstract: true\n    domain: association\n    aliases: ['edge property','statement property']\n    description: >-\n      any slot that relates an association to another entity\n\n  original subject:\n    is_a: association slot\n    description: >-\n      used to hold the original subject of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original object:\n    is_a: association slot\n    description: >-\n      used to hold the original object of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original predicate:\n    aliases: ['original relation', 'relation']\n    is_a: association slot\n    description: >-\n      used to hold the original relation/predicate that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n    id_prefixes:\n      - RO\n      - BSPO\n      - SIO\n    domain: association\n    range: uriorcurie\n\n  subject:\n    is_a: association slot\n    local_names:\n      ga4gh: annotation subject\n      neo4j: node with outgoing relationship\n    description: >-\n      connects an association to the subject of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    range: named thing\n    slot_uri: rdf:subject\n    exact_mappings:\n      - owl:annotatedSource\n      - OBAN:association_has_subject\n\n  object:\n    is_a: association slot\n    description: >-\n      connects an association to the object of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    range: named thing\n    local_names:\n      ga4gh: descriptor\n      neo4j: node with incoming relationship\n    slot_uri: rdf:object\n    exact_mappings:\n      - owl:annotatedTarget\n      - OBAN:association_has_object\n\n  predicate:\n    is_a: association slot\n    description: >-\n      A high-level grouping for the relationship type. AKA minimal predicate.\n      This is analogous to category for nodes.\n    domain: association\n    notes: >-\n      Has a value from the Biolink related_to hierarchy. In RDF,  this\n      corresponds to rdf:predicate and in Neo4j this corresponds to the\n      relationship type. The convention is for an edge label in snake_case\n      form. For example, biolink:related_to, biolink:causes, biolink:treats\n    range: predicate type\n    required: true\n    local_names:\n      ga4gh: annotation predicate\n      translator: predicate\n    slot_uri: rdf:predicate\n    exact_mappings:\n      - owl:annotatedProperty\n      - OBAN:association_has_predicate\n\n  logical interpretation:\n    is_a: association slot\n    required: false\n    domain: association\n    range: logical_interpretation_enum\n    exact_mappings:\n      - os:LogicalInterpretation\n\n  relation:\n    deprecated: true\n\n  negated:\n    is_a: association slot\n    range: boolean\n    description: >-\n      if set to true, then the association is negated i.e. is not true\n\n  has confidence level:\n    is_a: association slot\n    range: confidence level\n    description: >-\n      connects an association to a qualitative term denoting the level of confidence\n\n  has evidence:\n    is_a: association slot\n    range: evidence type\n    description: >-\n      connects an association to an instance of supporting evidence\n    exact_mappings:\n      - RO:0002558\n    multivalued: true\n\n  mechanism of action:\n    is_a: association slot\n    range: boolean\n    description: >-\n      a boolean flag to indicate if the edge is part of a path or subgraph of a knowledge graph that constitutes\n      the mechanism of action for a result.\n    exact_mappings:\n      - NCIT:C54680\n      - MI:2044\n      - LOINC:MTHU019741\n\n  knowledge source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which the knowledge expressed in an Association was\n      retrieved, directly or indirectly. This can be any resource through which the\n      knowledge passed on its way to its currently serialized form. In practice,\n      implementers should use one of the more specific subtypes of this generic property.\n    range: information resource\n    close_mappings:\n      - pav:providedBy\n\n  provided by:\n    is_a: node property\n    description: >-\n      The value in this node property represents the knowledge provider that created or assembled the\n      node and all of its attributes.  Used internally to represent how a particular node made its way into a\n      knowledge provider or graph.\n    multivalued: true\n\n  primary knowledge source:\n     is_a: knowledge source\n     description: >-\n       The most upstream source of the knowledge expressed in an Association that an\n       implementer can identify (may or may not be the 'original' source).\n     range: information resource\n     multivalued: false\n\n  original knowledge source:\n    deprecated: true\n\n  aggregator knowledge source:\n    is_a: knowledge source\n    description: >-\n      An intermediate aggregator resource from which knowledge expressed in an Association was\n      retrieved downstream of the original source, on its path to its current serialized form.\n    range: information resource\n    multivalued: true\n\n  supporting data source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which data was retrieved and subsequently used as\n      evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    range: information resource\n    multivalued: true\n\n  association type:\n    is_a: association slot\n    range: category type\n    deprecated: >-\n      This slot is deprecated in favor of 'category' slot.\n    deprecated_element_has_exact_replacement: category\n    description: >-\n      connects an association to the category of association (e.g. gene to phenotype)\n\n  chi squared statistic:\n    is_a: association slot\n    range: float\n    description: >-\n      represents the chi-squared statistic computed from observations\n    exact_mappings:\n      - STATO:0000030\n\n  p value:\n    is_a: association slot\n    range: float\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    exact_mappings:\n      - OBI:0000175\n      - NCIT:C44185\n      - EDAM-DATA:1669\n\n  interacting molecules category:\n    is_a: association slot\n    range: ontology class\n    exact_mappings:\n      - MI:1046\n    values_from:\n      - MI\n    examples:\n      - value: MI:1048\n        description: smallmolecule-protein\n\n  quantifier qualifier:\n    is_a: association slot\n    range: ontology class\n    description: >-\n      A measurable quantity for the object of the association\n    narrow_mappings:\n      # TODO: RTX contributed terms mapped here... May need review?\n      - LOINC:analyzes\n      - LOINC:measured_by\n      - LOINC:property_of\n      - SEMMEDDB:measures\n      - UMLS:measures\n\n  catalyst qualifier:\n    is_a: association slot\n    multivalued: true\n    range: macromolecular machine mixin\n    description: >-\n      a qualifier that connects an association between two causally connected\n      entities (for example, two chemical entities, or a chemical entity in\n      that changes location) and the gene product, gene, or complex that\n      enables or catalyzes the change.\n\n  expression site:\n    description: >-\n      location in which gene or protein expression takes place.\n      May be cell, tissue, or organ.\n    is_a: association slot\n    range: anatomical entity\n    examples:\n      - value: UBERON:0002037\n        description: cerebellum\n\n  stage qualifier:\n    description: >-\n      stage during which gene or protein expression of takes place.\n    is_a: association slot\n    range: life stage\n    # path: \"object/during\"\n    examples:\n      - value: UBERON:0000069\n        description: larval stage\n\n  phenotypic state:\n    description: >-\n      in experiments (e.g. gene expression) assaying diseased or unhealthy\n      tissue, the phenotypic state can be put here, e.g. MONDO ID.\n      For healthy tissues, use XXX.\n    is_a: association slot\n    range: disease or phenotypic feature\n\n  qualifiers:\n    singular_name: qualifier\n    description: >-\n      connects an association to qualifiers that modify or\n      qualify the meaning of that association\n    local_names:\n      ga4gh: annotation qualifier\n    is_a: association slot\n    multivalued: true\n    range: ontology class\n\n  frequency qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state how frequent the phenotype is observed in the subject\n    is_a: association slot\n    range: frequency value\n\n  severity qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      how severe the phenotype is in the subject\n    is_a: association slot\n    range: severity value\n\n  sex qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state whether\n      the association is specific to a particular sex.\n    is_a: association slot\n    range: biological sex\n\n  onset qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      when the phenotype appears is in the subject\n    is_a: association slot\n    range: onset\n\n  clinical modifier qualifier:\n    description: >-\n      Used to characterize and specify the phenotypic abnormalities\n      defined in the Phenotypic abnormality subontology,\n      with respect to severity, laterality, age of onset, and other aspects\n    is_a: association slot\n    range: clinical modifier\n\n  sequence variant qualifier:\n    description: >-\n      a qualifier used in an association with the variant\n    is_a: association slot\n    range: sequence variant\n\n  publications:\n    singular_name: publication\n    description: >-\n      connects an association to publications supporting the association\n    is_a: association slot\n    multivalued: true\n    range: publication\n\n  associated environmental context:\n    is_a: association slot\n    description: >-\n      An attribute that can be applied to an association where the association holds between two entities\n      located or occurring in a particular environment. For example, two microbial taxa may interact in the context of\n      a human gut; a disease may give rise to a particular phenotype in a particular environmental exposure.\n  # TODO: add examples of values for this property.\n      \n  sequence localization attribute:\n    is_a: association slot\n    domain: genomic sequence localization\n    description: >-\n      An attribute that can be applied to a genome sequence localization edge. These edges\n      connect a nucleic acid entity such as an exon to an entity such as a chromosome. Edge properties are used\n      to ascribe specific positional information and other metadata to the localization. In pragmatic terms\n      this can be thought of as columns in a GFF3 line.\n\n  interbase coordinate:\n    is_a: sequence localization attribute\n    aliases: ['zero-based', 'half-open', 'space-based']\n    description: >-\n      A position in interbase coordinates. Interbase coordinates start at position 0 instead of position 1.\n      This is applied to a sequence localization edge.\n    range: integer\n\n  start interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 0).\n    close_mappings:\n      - faldo:begin\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:end interbase coordinate\n\n  end interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity ends\n      on the chromosome or other entity to which it is located on.\n    close_mappings:\n      - faldo:end\n    annotations:\n      biolink:opposite_of:\n        tag: biolink:opposite_of\n        value: biolink:start interbase coordinate\n\n  start coordinate:\n    is_a: base coordinate\n    aliases: ['start']\n    description: >-\n      The position at which the subject genomic entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 1).\n    exact_mappings:\n      - gff3:start\n    close_mappings:\n      - faldo:begin\n\n  end coordinate:\n    is_a: base coordinate\n    aliases: ['end']\n    description: >-\n      The position at which the subject genomic entity ends\n      on the chromosome or other entity to which it is located on.\n    exact_mappings:\n      - gff3:end\n    close_mappings:\n      - faldo:end\n\n  genome build:\n    is_a: sequence localization attribute\n    description: >-\n      The version of the genome on which a feature is located.\n      For example, GRCh38 for Homo sapiens.\n    range: strand_enum\n    exact_mappings:\n      - gff3:strand\n\n  strand:\n    is_a: sequence localization attribute\n    description: >-\n      The strand on which a feature is located. Has a value of '+'\n      (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).\n    range: strand_enum\n    exact_mappings:\n      - gff3:strand\n\n  phase:\n    is_a: sequence localization attribute\n    domain: coding sequence\n    description: >-\n      The phase for a coding sequence entity. For example, phase of a\n      CDS as represented in a GFF3 with a value of 0, 1 or 2.\n    range: phase_enum\n    exact_mappings:\n      - gff3:phase\n\n  FDA approval status:\n    is_a: association slot\n    description: >-\n    range: FDA_approval_status_enum\n\n  supporting study metadata:\n    is_a: association slot\n    description: >-\n      Information about a study used to generate information used as evidence to support the knowledge expressed in an \n      Association. In practice, data creators should use one of the more specific subtypes of this property.\n    abstract: true\n\n  supporting study method type:\n    is_a: supporting study metadata\n    description: >- \n      A type of method that was applied in a study used to generate the information used as evidence (e.g. a type of \n      experimental assay, or statistical calculation, or computational analysis).\n    range: uriorcurie\n\n  supporting study method description:\n    is_a: supporting study metadata\n    description: >-\n      A uri or curie pointing to information about the methodology used to generate data supporting an Association.\n    range: uriorcurie\n\n  supporting study size:\n    is_a: supporting study metadata\n    description: >- \n      The sample size used in a study that provided evidence for the association (e.g. 'n' of a cohort for a \n      clinical study).\n    range: integer\n\n  supporting study cohort:\n    is_a: supporting study metadata\n    description: >-\n      A description of a study population/cohort that was interrogated to provide evidence for the association \n      (e.g. the inclusion and exclusion criteria).\n    range: string\n\n  supporting study date range:\n    is_a: supporting study metadata\n    description: >- \n      The date range over which data was collected in a study that provided evidence for an Association.\n    range: string\n\n  supporting study context:\n    is_a: supporting study metadata\n    description: >-\n      A term or terms describing the experimental setting/context in which evidence supporting the Association was \n      generated ('context' may be defined by many factors, including taxon, model system (e.g. cell line type), tissue \n      type, disease, etc.).\n    range: string\n\n\nclasses:\n\n  ## ----------\n  ## ATTRIBUTES\n  ## ----------\n\n  ## Ontology Classes\n\n  ontology class:\n    mixin: true\n    slots:\n      - id\n    description: >-\n      a concept or class in an ontology, vocabulary or thesaurus. Note that nodes in\n      a biolink compatible KG can be considered both instances of biolink classes, and\n      OWL classes in their own right. In general you should not need to use this class directly.\n      Instead, use the appropriate biolink class. For example, for the GO concept of endocytosis (GO:0006897),\n      use bl:BiologicalProcess as the type.\n    exact_mappings:\n      - owl:Class\n      - schema:Class\n    comments:\n      - >-\n         This is modeled as a mixin. 'ontology class' should not be the primary type of a\n         node in the KG. Instead you should use an informative bioloink category, such as AnatomicalEntity\n         (for Uberon classes), ChemicalSubstance (for CHEBI or CHEMBL), etc\n      - >-\n         Note that formally this is a metaclass. Instances of this class are instances in the graph,\n         but can be the object of 'type' edges. For example, if we had a node in the graph representing\n         a specific brain of a specific patient (e.g brain001), this could have a category of bl:Sample,\n         and by typed more specifically with an ontology class UBERON:nnn, which has as category bl:AnatomicalEntity\n    see_also:\n      - https://github.com/biolink/biolink-model/issues/486\n    examples:\n      - value: UBERON:0000955\n        description: >-\n          the class 'brain' from the Uberon anatomy ontology\n    id_prefixes:\n      - MESH\n      - UMLS\n      - KEGG.BRITE ## br/ko number\n  \n  annotation:\n    description: >-\n      Biolink Model root class for entity annotations.\n    abstract: true\n\n  quantity value:\n    is_a: annotation\n    description: >-\n      A value of an attribute that is quantitative and measurable,\n      expressed as a combination of a unit and a numeric value\n    slots:\n      - has unit\n      - has numeric value\n\n  # Alignment attempted of the biolink:Attribute model\n  # to the proposed TRAPI Release 1.1 Attribute schema, i.e.\n  #\n  # attribute_name: \"assertionAuthoredBy\",\n  # attribute_type: SEPIO:0000130,\n  # value: \"ORCID:12345\",\n  # value_type: \"wd:Q51044\",\n  # value_type_name: \"ORCID ID\"\n  # url: https://orcid.org/12345\n  # source: ORCID\n\n  attribute:\n    is_a: named thing\n    mixins:\n      - ontology class\n    description: >-\n      A property or characteristic of an entity.\n      For example, an apple may have properties such as color, shape, age, crispiness.\n      An environmental sample may have attributes such as depth, lat, long, material.\n    slots:\n      - name                   # 'attribute_name'\n      - has attribute type     # 'attribute_type'\n      # 'value', 'value_type', 'value_type_name'\n      # extracted from either of the next two slots\n      - has quantitative value\n      - has qualitative value\n      - iri                    # 'url'\n      - source                 # 'source'\n    slot_usage:\n      name:\n        description: >-\n          The human-readable 'attribute name' can be set to a string which reflects its context of\n          interpretation, e.g. SEPIO evidence/provenance/confidence annotation or it can default\n          to the name associated with the 'has attribute type' slot ontology term.\n    id_prefixes:\n      - EDAM-DATA\n      - EDAM-FORMAT\n      - EDAM-OPERATION\n      - EDAM-TOPIC\n    exact_mappings:\n      - SIO:000614\n    in_subset:\n      - samples\n\n  chemical role:\n    is_a: attribute\n\n  biological sex:\n    is_a: attribute\n    exact_mappings:\n     - PATO:0000047\n\n  phenotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the phenotypic sex of the individual,\n      based upon the reproductive organs present.\n    exact_mappings:\n     - PATO:0001894\n\n  genotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the genotypic sex of the individual,\n      based upon genotypic composition of sex chromosomes.\n    exact_mappings:\n     - PATO:0020000\n\n  severity value:\n    is_a: attribute\n    description: >-\n      describes the severity of a phenotypic feature or disease\n\n  relationship quantifier:\n    mixin: true\n\n  sensitivity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  specificity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  pathognomonicity quantifier:\n    is_a: specificity quantifier\n    description: >-\n      A relationship quantifier between a variant or symptom and a disease, which is\n      high when the presence of the feature implies the existence of the disease\n    mixin: true\n\n  frequency quantifier:\n    is_a: relationship quantifier\n    mixin: true\n    slots:\n      - has count\n      - has total\n      - has quotient\n      - has percentage\n\n  chemical or drug or treatment:\n    mixin: true\n\n  ## ------\n  ## THINGS\n  ## ------\n\n  entity:\n    description: >-\n      Root Biolink Model class for all things and informational relationships, real or imagined.\n    abstract: true\n    slots:\n      - id\n      - iri\n      - category\n      - type   # rdf:type\n      - name\n      - description\n      - source\n      - has attribute\n      # evidence code(s)?\n\n  named thing:\n    is_a: entity\n    description: \"a databased entity or concept/class\"\n    slots:\n      - provided by\n      - xref\n    slot_usage:\n      category:\n        required: true\n        pattern: '^biolink:\\d+$'\n    exact_mappings:\n      - BFO:0000001\n      - WIKIDATA:Q35120\n      # UMLS Semantic Group \"Objects\"\n      - UMLSSG:OBJC\n      # Entity\n      - STY:T071\n      - dcid:Thing\n\n  relationship type:\n    is_a: ontology class\n    description: >-\n      An OWL property used as an edge label\n\n  gene ontology class:\n    deprecated: true\n\n  unclassified ontology class:\n    deprecated: true\n\n  taxonomic rank:\n    description: >-\n      A descriptor for the rank within a taxonomic classification.\n      Example instance: TAXRANK:0000017 (kingdom)\n    is_a: ontology class\n    id_prefixes:\n      - TAXRANK\n    mappings:\n      - WIKIDATA:Q427626\n\n  organism taxon:\n    aliases: ['taxon', 'taxonomic classification']\n    description: >-\n      A classification of a set of organisms. Example instances:\n      NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria).\n      Can also be used to represent strains or subspecies.\n    is_a: named thing\n    slot_usage:\n      has taxonomic rank:\n        range: taxonomic rank\n        multivalued: false\n        mappings:\n          - WIKIDATA:P105\n    values_from:\n      - NCBITaxon\n    exact_mappings:\n      - WIKIDATA:Q16521\n      - STY:T001\n      - bioschemas:Taxon\n    narrow_mappings:\n      - dcid:BiologicalSpecies\n    id_prefixes:\n      - NCBITaxon\n      - MESH\n    in_subset:\n      - model_organism_database\n  \n  ## Temporal Entities\n  \n  event:\n    is_a: named thing\n    description: >-\n      Something that happens at a given place and time.\n    exact_mappings:\n      - NCIT:C25499\n      # UMLS \"Event\"\n      - STY:T051\n\n  ## Administrative Entities\n\n  administrative entity:\n    is_a: named thing\n    abstract: true\n\n  agent:\n    is_a: administrative entity\n    aliases: ['group']\n    description: >-\n      person, group, organization or project that provides\n      a piece of information (i.e. a knowledge association)\n    slots:\n      - affiliation\n      - address\n    exact_mappings:\n      - prov:Agent\n      - dct:Agent\n    narrow_mappings:\n      # Organization\n      - UMLSSG:ORGA\n      - STY:T092\n      # Health Care Related Organization\n      - STY:T093\n      # Professional Society\n      - STY:T094\n      # Self-help or Relief Organization\n      - STY:T095\n      # Group\n      - STY:T096\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Different classes of agents have distinct preferred identifiers.\n          For publishers, use the ISBN publisher code.\n          See https://grp.isbn-international.org/ for publisher code lookups.\n          For editors, authors and  individual providers, use the individual's\n          ORCID if available; Otherwise, a ScopusID, ResearchID or\n          Google Scholar ID ('GSID') may be used if the author ORCID is unknown.\n          Institutional agents could be identified by an\n          International Standard Name Identifier ('ISNI') code.\n        values_from:\n          # CURIE space for publishers\n          - isbn\n          # CURIE space for authors\n          - ORCID\n          - ScopusID\n          - ResearchID\n          - GSID\n          # Institutional agents\n          - isni\n      name:\n        description: >-\n          it is recommended that an author's 'name' property\n          be formatted as \"surname, firstname initial.\"\n    id_prefixes:\n      - isbn\n      - ORCID\n      - ScopusID\n      - ResearchID\n      - GSID\n      - isni\n\n  ## General Information Entities\n\n  information content entity:\n    aliases: ['information', 'information artefact', 'information entity']\n    abstract: true\n    is_a: named thing\n    description: >-\n      a piece of information that typically describes\n      some topic of discourse or is used as support.\n    slots:\n      - license\n      - rights\n      - format\n      - creation date\n    id_prefixes:\n      - doi\n    exact_mappings:\n      - IAO:0000030\n    narrow_mappings:\n      # UMLS Semantic Group \"Concepts & Ideas\"\n      - UMLSSG:CONC\n      # Conceptual Entity\n      - STY:T077\n      # Idea or Concept\n      - STY:T078\n      # Temporal Concept\n      - STY:T079\n      # Qualitative Concept\n      - STY:T080\n      # Quantitative Concept\n      - STY:T081\n      # Spatial Concept\n      - STY:T082\n      # Regulation or Law\n      - STY:T089\n      # Group Attribute\n      - STY:T102\n      # Functional Concept\n      - STY:T169\n      # Language\n      - STY:T171\n      # Classification\n      - STY:T185\n\n  dataset:\n    description: >-\n      an item that refers to a collection of data from a data source.\n    is_a: information content entity\n    exact_mappings:\n      - IAO:0000100\n      - dctypes:Dataset\n      - schema:dataset\n      - dcid:Dataset\n\n  dataset distribution:\n    is_a: information content entity\n    description: >-\n      an item that holds distribution level information about a dataset.\n    slots:\n      - distribution download url\n    exact_mappings:\n      - dcat:Distribution\n\n  dataset version:\n    description: >-\n      an item that holds version level information about a dataset.\n    is_a: information content entity\n    slots:\n      - has dataset\n      - ingest date\n      - has distribution\n\n  dataset summary:\n    description: >-\n      an item that holds summary level information about a dataset.\n    is_a: information content entity\n    slots:\n      - source web page\n      - source logo\n\n  confidence level:\n    is_a: information content entity\n    description: >-\n      Level of confidence in a statement\n    values_from:\n      - cio\n    exact_mappings:\n      - CIO:0000028\n      # statement confidence\n      - SEPIO:0000187\n    close_mappings:\n      # assertion confidence levels\n      - SEPIO:0000167\n\n  evidence type:\n    is_a: information content entity\n    aliases: ['evidence code']\n    description: >-\n      Class of evidence that supports an association\n    values_from:\n      - eco\n    exact_mappings:\n      - ECO:0000000\n\n  information resource:\n    is_a: information content entity\n    aliases: ['knowledgebase']\n    description: >-\n      A database or knowledgebase and its supporting ecosystem of interfaces \n      and services that deliver content to consumers (e.g. web portals, APIs, \n      query endpoints, streaming services, data downloads, etc.).\n      A single Information Resource by this definition may span many different datasets or\n      databases, and include many access endpoints and user\n      interfaces. Information Resources include project-specific resources\n      such as a Translator Knowledge Provider, and community knowledgebases like ChemBL, OMIM, or DGIdb.\n    in_subset:\n        - translator_minimal      \n\n\n  ## Publications\n\n  # TODO: to review additional ontology relating to Publications, such as http://www.sparontologies.net/ontologies\n  publication:\n    is_a: information content entity\n    description: >-\n      Any published piece of information. Can refer to a whole publication,\n      its encompassing publication (i.e. journal or book) or to a part of a\n      publication, if of significant knowledge scope (e.g. a figure, figure\n      legend, or section highlighted by NLP). The scope is intended to be\n      general and include information published on the web, as well as printed\n      materials, either directly or in one of the Publication Biolink\n      category subclasses.\n    slots:\n      - authors\n      - pages\n      - summary\n      - keywords\n      - mesh terms\n      - xref\n    # In addition to embedded slots, instances of 'contributor association'\n    # may be used to more extensively document publisher, editor and author details\n    slot_usage:\n      id:\n        description: >-\n          Different kinds of publication subtypes will have different preferred\n          identifiers (curies when feasible). Precedence of identifiers for\n          scientific articles is as follows: PMID if available; DOI if not; actual\n          alternate CURIE otherwise. Enclosing publications (i.e. referenced by\n          'published in' node property) such as books and journals, should have\n          industry-standard identifier such as from ISBN and ISSN.\n      name:\n        description: >-\n          the 'title' of the publication is generally recorded in the 'name'\n          property (inherited from NamedThing). The field name 'title' is now also\n          tagged as an acceptable alias for the node property 'name' (just in case).\n      type:\n        slot_uri: dct:type\n        required: true\n        description: >-\n          Ontology term for publication type may be drawn from\n          Dublin Core types (https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/),\n          FRBR-aligned Bibliographic Ontology (https://sparontologies.github.io/fabio/current/fabio.html),\n          the MESH publication types (https://www.nlm.nih.gov/mesh/pubtypes.html),\n          the Confederation of Open Access Repositories (COAR) Controlled Vocabulary for Resource Type Genres\n          (http://vocabularies.coar-repositories.org/documentation/resource_types/),\n          Wikidata (https://www.wikidata.org/wiki/Wikidata:Publication_types), or\n          equivalent publication type ontology. When a given publication type ontology term\n          is used within a given knowledge graph, then the CURIE identified term must be\n          documented in the graph as a concept node of biolink:category biolink:OntologyClass.\n        values_from:  # Not sure which takes precedence, if any...\n          - dctypes\n          - fabio\n          - MESH_PUB\n          - COAR_RESOURCE\n          - WIKIDATA\n      pages:\n        multivalued: true\n        description: >-\n          When a 2-tuple of page numbers are provided, they represent\n          the start and end page of the publication within its parent publication context.\n          For books, this may be set to the total number of pages of the book.\n    exact_mappings:\n      - IAO:0000311\n    narrow_mappings:\n      - IAO:0000013\n      # UMLS Semantic Type \"Intellectual Product\"\n      - STY:T170\n    id_prefixes:\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book:\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Books should have industry-standard identifier such as from ISBN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'book'.\n    id_prefixes:\n      - isbn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book chapter:\n    is_a: publication\n    slots:\n      - published in\n      - volume\n      - chapter\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent book containing the chapter\n          should have industry-standard identifier from ISBN.\n    in_subset:\n      - model_organism_database\n\n  serial:\n    aliases: ['journal']\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slots:\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Serials (journals) should have industry-standard identifier such as from ISSN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'serial' or 'journal'.\n    id_prefixes:\n      - issn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  article:\n    is_a: publication\n    slots:\n      - published in\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent serial containing the article should\n          have industry-standard identifier from ISSN.\n      iso abbreviation:\n        description: >-\n          Optional value, if used locally as a convenience, is set\n          to the iso abbreviation of the 'published in' parent.\n    id_prefixes:\n      # By inheritance, a DOI may be used as a publication identifier; there may be other relevant namespaces\n      - PMID\n    in_subset:\n      - model_organism_database\n\n  ## Top Level Abstractions of Material & Process Entities\n\n  physical essence or occurrent:\n    description: >-\n      Either a physical or processual entity.\n    mixin: true\n\n\n  physical essence:\n    description: >-\n      Semantic mixin concept.  Pertains to entities that have\n      physical properties such as mass, volume, or charge.\n    is_a: physical essence or occurrent\n    mixin: true\n\n  physical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n    description: >-\n      An entity that has material reality (a.k.a. physical essence).\n    exact_mappings:\n      # Physical Object\n      - STY:T072\n    narrow_mappings:\n      # Manufactured Object\n      - STY:T073\n\n  occurrent:\n    description: >-\n      A processual entity.\n    # biolink:Occurrent is most consistently used as a mixin thus it should\n    # be declared as such and cannot inherit from the non-mixin biolink:NamedThing\n    is_a: physical essence or occurrent\n    mixin: true\n    exact_mappings:\n      - BFO:0000003\n\n  activity and behavior:\n    is_a: occurrent\n    mixin: true\n    description: >-\n      Activity or behavior of any independent integral living,\n      organization or mechanical actor in the world\n    exact_mappings:\n      # Activities & Behaviors\n      - UMLSSG:ACTI\n\n  activity:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      An activity is something that occurs over a period of time and acts upon\n      or with entities; it may include consuming, processing, transforming,\n      modifying, relocating, using, or generating entities.\n    exact_mappings:\n      - prov:Activity\n      - NCIT:C43431\n      # Activity\n      - STY:T052\n    narrow_mappings:\n      # Daily or Recreational Activity\n      - STY:T056\n      # Occupational Activity\n      - STY:T057\n      # Governmental or Regulatory Activity\n      - STY:T064\n      # Machine Activity\n      - STY:T066\n      # Research Activity\n      - STY:T062\n      # Educational Activity\n      - STY:T065\n      # Health Care Activity\n      - STY:T058\n\n  procedure:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      A series of actions conducted in a certain order or manner\n    exact_mappings:\n      # Procedures\n      - UMLSSG:PROC\n      - dcid:MedicalProcedure\n    narrow_mappings:\n      # Laboratory Procedure\n      - STY:T059\n      # Diagnostic Procedure\n      - STY:T060\n      # Therapeutic or Preventive Procedure\n      - STY:T061\n      # Molecular Biology Research Technique\n      - STY:T063\n    id_prefixes:\n      - CPT\n      \n  phenomenon:\n    is_a: named thing\n    mixins:\n      - occurrent\n    description: >-\n      a fact or situation that is observed to exist or happen,\n      especially one whose cause or explanation is in question\n    broad_mappings:\n      # the inclusion of 'process' in the definition of these\n      # terms broadens them, relative to 'phenomenon'\n      # Phenomenon or Process\n      - STY:T067\n      # Human-caused Phenomenon or Process\n      - STY:T068\n      # Natural Phenomenon or Process\n      - STY:T070\n    exact_mappings:\n      # Phenomena\n      - UMLSSG:PHEN\n    narrow_mappings:\n      # Laboratory or Test Result\n      - STY:T034\n      # Biologic Function\n      - STY:T038\n      # Environmental Effect of Humans\n      - STY:T069\n\n  device:\n    is_a: named thing\n    description: >-\n      A thing made or adapted for a particular purpose, especially\n      a piece of mechanical or electronic equipment\n    narrow_mappings:\n      # Devices\n      - UMLSSG:DEVI\n      # Medical Device\n      - STY:T074\n      # Research Device\n      - STY:T075\n      # Drug Delivery Device\n      - STY:T203\n      # Biomedical or Dental Material\n      - STY:T122\n\n  ## Scientific Studies\n\n  study population:\n    is_a: population of individual organisms\n    description: >-\n      A group of people banded together or treated as a group as participants in a research study.\n    close_mappings:\n      - WIKIDATA:Q7229825\n\n  subject of investigation:\n    mixin: true\n    description: >-\n      An entity that has the role of being studied in an investigation, study, or experiment\n\n  material sample:\n    aliases: ['biospecimen', 'sample', 'biosample', 'physical sample']\n    is_a: physical entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A sample is a limited quantity of something (e.g. an individual or set of individuals\n      from a population, or a portion of a substance) to be used for testing, analysis,\n      inspection, investigation, demonstration, or trial use. [SIO]\n    exact_mappings:\n      - OBI:0000747\n      - SIO:001050\n    id_prefixes:\n      - BIOSAMPLE\n      - GOLD.META\n\n  ## Earth Sciences\n\n  planetary entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists at the level of the whole planet\n\n  environmental process:\n    is_a: planetary entity\n    mixins:\n      - occurrent\n    exact_mappings:\n      - ENVO:02500000\n\n  environmental feature:\n    is_a: planetary entity\n    exact_mappings:\n      - ENVO:01000254\n\n  geographic location:\n    is_a: planetary entity\n    description: >-\n      a location that can be described in lat/long coordinates\n    slots:\n      - latitude\n      - longitude\n    exact_mappings:\n      # Geographic Areas\n      - UMLSSG:GEOG\n      # Geographic Area\n      - STY:T083\n\n  geographic location at time:\n    is_a: geographic location\n    description: >-\n      a location that can be described in lat/long coordinates, for a particular time\n    slots:\n      - timepoint\n\n  ## Biological Sciences\n\n  thing with taxon:\n    mixin: true\n    description: >-\n      A mixin that can be used on any entity that can be taxonomically classified.\n      This includes individual organisms; genes, their products and other molecular\n      entities; body parts; biological processes\n    slots:\n      - in taxon\n\n  biological entity:\n    is_a: named thing\n    aliases: ['bioentity']\n    abstract: true\n    mixins:\n      - thing with taxon\n    narrow_mappings:\n      - WIKIDATA:Q28845870\n      # UMLS Semantic Type \"Experimental Model of Disease\"\n      - STY:T050\n      # SIO term is 'biological entity' but less inclusive than the Biolink scope\n      - SIO:010046\n\n  genomic entity:\n    mixin: true\n    slots:\n      - has biological sequence\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - STY:T028   # Gene or Genome\n      - GENO:0000897  # Genomic Entity\n\n  molecular entity:\n    is_a: chemical entity\n    description: >-\n      A molecular entity is a chemical entity composed of individual or\n      covalently bonded atoms.\n    slots:\n      - is metabolite\n    narrow_mappings:\n      - STY:T088 # Carbohydrate\n      - STY:T085 # Molecular Sequence\n      - CHEBI:23367 # Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical,\n                    # radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.\n      - bioschemas:MolecularEntity\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n\n  chemical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n      - chemical or drug or treatment # issue 701\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    description: >-\n      A chemical entity is a physical entity that pertains to chemistry or\n      biochemistry.\n    slots:\n      - trade name\n      - available from\n      - max tolerated dose\n      - is toxic\n      - has chemical role\n    exact_mappings:\n      - CHEBI:24431\n      - SIO:010004 # Chemical entity\n      - WIKIDATA:Q79529 # Chemical substance\n      - STY:T103 # Chemical\n    narrow_mappings:\n      - WIKIDATA:Q43460564\n      - STY:T129 # (imft, full name: Immunologic Factor\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - UNII\n      - MESH\n      - CAS #CAS numbers are given for things like plant extracts as well.\n      - UMLS\n      - ncats.drug\n\n  chemical substance:\n    deprecated: >-\n      This class is deprecated in favor of 'small molecule.'\n\n  small molecule:\n    is_a: molecular entity\n    aliases: [ 'chemical substance']\n    description: >-\n        A small molecule entity is a molecular entity characterized by availability\n        in small-molecule databases of SMILES, InChI, IUPAC, or other\n        unambiguous representation of its precise chemical structure; for\n        convenience of representation, any valid chemical representation is\n        included, even if it is not strictly molecular (e.g., sodium ion).\n    narrow_mappings:\n      - STY:T196 # Element, Ion, or Isotope\n      - CHEBI:59999\n      - bioschemas:ChemicalSubstance\n      - STY:T123 #(bacs, full name: Biologically Active Substance)\n      - STY:T131 #(hops, full name: Hazardous or Poisonous Substance)\n      - STY:T125 #(horm, full name: Hormone)\n      - STY:T197 #(inch, full name: Inorganic Chemical)\n      - STY:T109 #(orch, full name: Organic Chemical)\n      - STY:T118 #(carb, full name: Carbohydrate) - note that this term is missing from newer SRDEF files (depreciated?), but is still used by the SEMMEDDB data files)\n      - STY:T111 #(eico, full name: Eicosanoid) - same note as above\n      - STY:T119 #(lipd, full name: Lipid) - same note as above\n      - STY:T124 #(nsba, full name: Neuroreactive Substance or Biogenic Amine) - same note as above\n      - STY:T115 #(opco, full name: Organophosphorus Compound) - same note as above\n      - STY:T110 #(strd, full name: Steroid) - same note as above\n      - STY:T127 # vitamin\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - BIGG.METABOLITE\n      - UMLS\n      - foodb.compound\n    slot_usage:\n      id:\n        examples:\n          - value: CHEBI:29101\n            description: sodium ion\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n\n\n  chemical mixture:\n    is_a: chemical entity\n    description: >-\n      A chemical mixture is a chemical entity composed of two or more\n      molecular entities.\n    slots:\n      - is supplement\n      - highest FDA approval status\n      - drug regulatory status world wide\n      - routes of delivery\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n    close_mappings:\n      - dcid:ChemicalCompound\n    narrow_mappings:\n      - NCIT:C20401 # monoclonal antibody\n      - SNOMEDCT:49616005 # monoclonal antibody (substance)\n\n  nucleic acid entity:\n    is_a: molecular entity\n    description: >-\n      A nucleic acid entity is a molecular entity characterized by\n      availability in gene databases of nucleotide-based sequence\n      representations of its precise sequence; for convenience of\n      representation, partial sequences of various kinds are included.\n    aliases: [ 'sequence feature', 'genomic entity' ]\n    mixins:\n      - genomic entity\n      - thing with taxon\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0000110\n    narrow_mappings:\n      - STY:T086   # Nucleotide Sequence\n      - STY:T114   # Nucleic Acid, Nucleoside, or Nucleotide\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  # G number\n      - KEGG.ENVIRON # E number\n\n  molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A molecular mixture is a chemical mixture composed of two or more\n      molecular entities with known concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n      - ncats.drug\n\n  complex molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A complex molecular mixture is a chemical mixture composed of two or\n      more molecular entities with unknown concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n\n  biological process or activity:\n    description: >-\n      Either an individual molecular activity, or a collection of\n      causally connected molecular activities in a biological system.\n    is_a: biological entity\n    mixins:\n      - occurrent\n      - ontology class\n    id_prefixes:\n      - GO\n      - REACT\n    slots:\n      - has input\n      - has output\n      - enabled by\n\n  molecular activity:\n    description: >-\n      An execution of a molecular function carried out by a\n      gene product or macromolecular complex.\n    is_a: biological process or activity\n    aliases: ['molecular function', 'molecular event', 'reaction']\n    mixins:\n      - occurrent\n      - ontology class\n    slot_usage:\n      has input:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the input for the reaction\n      has output:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the output for the reaction\n      enabled by:\n        range: macromolecular machine mixin\n        description: >-\n          The gene product, gene, or complex that catalyzes the reaction\n    exact_mappings:\n      - GO:0003674\n      # UMLS Semantic Type \"Molecular Function\"\n      - STY:T044\n    id_prefixes:\n      - GO\n      - REACT\n      - RHEA\n      - metacyc.reaction\n      - EC\n      - TCDB\n      - KEGG.REACTION  ## R number\n      - KEGG.RCLASS    ## RC number\n      - KEGG.ENZYME    ## EC number\n      - KEGG.ORTHOLOGY ## in particular for gut microbiome use case in issue #888\n      - UMLS\n      - BIGG.REACTION\n      - SEED.REACTION\n      - METANETX.REACTION\n\n  biological process:\n    is_a: biological process or activity\n    mixins:\n      - occurrent\n      - ontology class\n    description: >-\n      One or more causally connected executions of molecular functions\n    exact_mappings:\n      - GO:0008150\n      - SIO:000006\n      - WIKIDATA:Q2996394\n    broad_mappings:\n      - WIKIDATA:P682\n    id_prefixes:\n      - GO\n      - REACT\n      - metacyc.reaction\n      - KEGG.MODULE ## M number\n\n  pathway:\n    is_a: biological process\n    mixins:\n      - ontology class\n    exact_mappings:\n      - PW:0000001\n      - WIKIDATA:Q4915012\n    narrow_mappings:\n      - SIO:010526\n      - GO:0007165\n    id_prefixes:\n      - GO\n      - REACT\n      - KEGG\n      - SMPDB\n      - MSigDB\n      - PHARMGKB.PATHWAYS\n      - WIKIPATHWAYS\n      - FB  # FlyBase FBgg*\n      - PANTHER.PATHWAY\n      - KEGG.PATHWAY\n      - ncats.bioplanet\n\n  physiological process:\n    aliases: ['physiology']\n    is_a: biological process\n    mixins:\n      - ontology class\n    close_mappings:\n    exact_mappings:\n      # Physiologic Function\n      - STY:T039\n      - WIKIDATA:Q30892994\n    narrow_mappings:\n      # Organism Function\n      - STY:T040\n      # Organ or Tissue Function\n      - STY:T042\n      # Cell Function\n      - STY:T043\n      # Genetic Function\n      - STY:T045\n    id_prefixes:\n      - GO\n      - REACT\n\n  behavior:\n    is_a: biological process\n    mixins:\n      - ontology class\n      - activity and behavior\n    exact_mappings:\n      - GO:0007610\n      # Behavior\n      - STY:T053\n    narrow_mappings:\n      # Mental Process\n      - STY:T041\n      # Social Behavior\n      - STY:T054\n      # Individual Behavior\n      - STY:T055\n\n  ## (Bio)chemistry\n\n  processed material:\n    is_a: chemical mixture\n    description: >-\n      A chemical entity (often a mixture) processed\n      for consumption for nutritional, medical or technical use.\n      Is a material entity that is created or changed during material processing.\n    exact_mappings:\n      - OBI:0000047\n    id_prefixes:\n      - UMLS\n\n  drug:\n    is_a: molecular mixture\n    mixins:\n      - chemical or drug or treatment\n      - ontology class\n    description: >-\n      A substance intended for use in the diagnosis, cure,\n      mitigation, treatment, or prevention of disease\n    comments:\n      - The CHEBI ID represents a role rather than a substance\n    broad_mappings:\n      # Pharmacologic Substance: Any natural, endogenously-derived,\n      # synthetic or semi-synthetic compound with pharmacologic activity.\n      - STY:T121\n    exact_mappings:\n      - WIKIDATA:Q12140\n      - CHEBI:23888\n      # UMLS Semantic Type \"Clinical Drug\"\n      - STY:T200\n      - dcid:Drug\n    narrow_mappings:\n      # Antibiotic\n      - STY:T195\n    id_prefixes:\n      - ncats.drug\n      - RXCUI\n      - NDC\n      - UMLS\n\n  ## Food\n\n  environmental food contaminant:\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:78299\n\n  food additive:\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:64047\n\n  nutrient:\n    deprecated: true\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:33284\n\n  macronutrient:\n    deprecated: true\n    is_a: nutrient\n    related_mappings:\n      # substance role\n      - CHEBI:33937\n\n  micronutrient:\n    deprecated: true\n    is_a: nutrient\n    related_mappings:\n      # substance role\n      - CHEBI:27027\n\n  vitamin:\n    deprecated: true\n    is_a: micronutrient\n    related_mappings:\n      # substance role\n      - CHEBI:33229\n      # Vitamin\n      - STY:T127\n\n  food:\n    is_a: chemical mixture\n    description: >-\n      A substance consumed by a living organism as a source of nutrition\n    id_prefixes:\n      - foodb.food\n      - FOODON\n      - UMLS\n      - NCIT\n    exact_mappings:\n      # Food\n      - STY:T168\n\n  ## Biology and Biomedical Sciences\n\n  ## Biological Attributes\n\n  organism attribute:\n    is_a: attribute\n    description: >-\n      describes a characteristic of an organismal entity.\n    exact_mappings:\n      # Organism Attribute\n      - STY:T032\n\n  phenotypic quality:\n    aliases: ['phenotypic properties']\n    is_a: organism attribute\n    description: >-\n      A property of a phenotype\n    examples:\n      - value: weight\n\n    mappings:\n      - PATO:0000001\n\n  inheritance:\n    is_a: organism attribute\n    description: >-\n      The pattern or 'mode' in which a particular genetic trait or disorder is passed from one\n      generation to the next, e.g. autosomal dominant, autosomal recessive, etc.\n    exact_mappings:\n      - HP:0000005\n      - GENO:0000141\n      - NCIT:C45827\n\n  ## Biological Entities\n\n  organismal entity:\n    description: >-\n      A named entity that is either a part of an organism, a whole organism,\n      population or clade of organisms, excluding chemical entities\n    abstract: true\n    is_a: biological entity\n    slot_usage:\n      has attribute:\n        description: >-\n          may often be an organism attribute\n    exact_mappings:\n      - WIKIDATA:Q7239\n      # UMLS Semantic Group \"Living Beings\"\n      # Several of the associated semantic types here are probably not\n      # that relevant to the Biolink world but we keep them here for now.\n      - UMLSSG:LIVB\n\n  life stage:\n    is_a: organismal entity\n    description: >-\n      A stage of development or growth of an organism,\n      including post-natal adult stages\n    exact_mappings:\n      - UBERON:0000105\n    narrow_mappings:\n      # constrained to human life cycles\n      - HsapDv:0000000\n    in_subset:\n      - model_organism_database\n    id_prefixes:\n      - HsapDv\n      - MmusDv\n      - ZFS\n      - FBdv\n      - WBls\n      - UBERON\n\n  individual organism:\n    aliases: ['organism']\n    description: >-\n      An instance of an organism. For example, Richard Nixon,\n      Charles Darwin, my pet cat. Example ID: ORCID:0000-0002-5355-2576\n    is_a: organismal entity\n    exact_mappings:\n      - SIO:010000\n      # Organism\n      - STY:T001\n    narrow_mappings:\n      # Wikidata considers its definition of 'individual' to be constrained to human persons?\n      - WIKIDATA:Q795052\n      - foaf:Person\n    id_prefixes:\n      - ORCID\n\n  population of individual organisms:\n    description: >-\n      A collection of individuals from the same taxonomic class\n      distinguished by one or more characteristics.  Characteristics can\n      include, but are not limited to, shared geographic location, genetics,\n      phenotypes.\n    local_names:\n      ga4gh: population\n    is_a: organismal entity\n    exact_mappings:\n      - PCO:0000001\n      - SIO:001061\n      # UMLS Semantic Type \"Population Group\"\n      - STY:T098\n      - OBI:0000181\n    id_prefixes:\n      - HANCESTRO\n    in_subset:\n      - model_organism_database\n\n  disease or phenotypic feature:\n    aliases: ['phenome']\n    is_a: biological entity\n    description: >-\n      Either one of a disease or an individual phenotypic feature.\n      Some knowledge resources such as Monarch treat these as\n      distinct, others such as MESH conflate.\n    union_of:\n      - disease\n      - phenotypic feature\n    narrow_mappings:\n      # UMLS Semantic Type \"Finding\" - more specialized use of 'disease or phenotypic feature'\n      - STY:T033\n\n  disease:\n    aliases: ['condition', 'disorder', 'medical condition']\n    is_a: disease or phenotypic feature\n    exact_mappings:\n      - MONDO:0000001\n      - DOID:4\n      - NCIT:C2991\n      - WIKIDATA:Q12136\n      - SIO:010299\n      # UMLS Semantic Group \"Disorders\"\n      - UMLSSG:DISO\n      # Disease or Syndrome\n      - STY:T047\n      - dcid:Disease\n    narrow_mappings:\n      # Congenital Abnormality\n      - STY:T019\n      # Acquired Abnormality\n      - STY:T020\n      # Mental or Behavioral Dysfunction\n      - STY:T048\n      # Cell or Molecular Dysfunction\n      - STY:T049\n      # Anatomical Abnormality\n      - STY:T190\n      # Neoplastic Process\n      - STY:T191\n      # disease susceptibility\n      - MONDO:0042489\n    id_prefixes:\n      - MONDO\n      - DOID\n      - OMIM\n      - OMIM.PS\n      - ORPHANET\n      - EFO\n      - UMLS\n      - MESH\n      - MEDDRA\n      - NCIT\n      - SNOMEDCT\n      - medgen\n      - ICD10\n      - ICD9\n      - KEGG.DISEASE ## H number\n      - HP\n      - MP\n    in_subset:\n      - model_organism_database\n\n  phenotypic feature:\n    aliases: ['sign', 'symptom', 'phenotype', 'trait', 'endophenotype']\n    is_a: disease or phenotypic feature\n    description: >-\n      A combination of entity and quality that makes up a phenotyping statement.\n    examples:\n      - value: MP:0001262\n        description: decreased body weight\n    exact_mappings:\n      - UPHENO:0001001\n      - SIO:010056\n      - WIKIDATA:Q104053\n    narrow_mappings:\n      # Sign or Symptom\n      - STY:T184\n      - WIKIDATA:Q169872\n      # presentation of a disease in clinical medicine\n      - WIKIDATA:Q25203551\n    id_prefixes:\n      - HP\n      - EFO\n      - NCIT\n      - UMLS\n      - MEDDRA\n      - MP\n      - ZP\n      - UPHENO\n      - APO\n      - FBcv\n      - WBPhenotype\n      - SNOMEDCT\n      - MESH\n      - XPO\n      - FYPO\n      - TO\n    in_subset:\n      - model_organism_database\n\n  behavioral feature:\n    description: >-\n      A phenotypic feature which is behavioral in nature.\n    is_a: phenotypic feature\n    exact_mappings:\n      - NBO:0000243\n\n  anatomical entity:\n    is_a: organismal entity\n    mixins:\n      - physical essence\n    description: >-\n      A subcellular location, cell type or gross anatomical part\n    exact_mappings:\n      - UBERON:0001062\n      - WIKIDATA:Q4936952\n      # UMLS Semantic Group \"Anatomy\"\n      - UMLSSG:ANAT\n      # UMLS Semantic Type \"Anatomical Structure\"\n      - STY:T017\n    id_prefixes:\n      - UBERON\n      - GO\n      - CL\n      - UMLS\n      - MESH\n      - NCIT\n      - EMAPA\n      - ZFA\n      - FBbt\n      - WBbt\n    in_subset:\n      - model_organism_database\n\n  cellular component:\n    aliases: ['cell component','cell part']\n    is_a: anatomical entity\n    description: >-\n      A location in or around a cell\n    exact_mappings:\n      - GO:0005575\n      - SIO:001400\n      - WIKIDATA:Q5058355\n      # Cell Component\n      - STY:T026\n    broad_mappings:\n      - WIKIDATA:P681\n    id_prefixes:\n      - GO\n      - MESH\n      - UMLS\n      - NCIT\n      - SNOMEDCT\n      - CL\n      - UBERON\n\n  cell:\n    is_a: anatomical entity\n    exact_mappings:\n      - GO:0005623\n      - CL:0000000\n      - SIO:010001\n      - WIKIDATA:Q7868\n      # UMLS Semantic Type \"Cell\"\n      - STY:T025\n    id_prefixes:\n      - CL\n      - PO\n      - UMLS\n      - NCIT\n      - MESH\n      - UBERON\n      - SNOMEDCT\n\n  cell line:\n    is_a: organismal entity\n    exact_mappings:\n      - CLO:0000031\n    id_prefixes:\n      - CLO\n\n  gross anatomical structure:\n    aliases: ['tissue', 'organ']\n    is_a: anatomical entity\n    exact_mappings:\n      - UBERON:0010000\n      - WIKIDATA:Q4936952\n    narrow_mappings:\n      # UMLS Semantic Type \"Body Part, Organ, or Organ Component\"\n      - STY:T023\n      # UMLS Semantic Type \"Tissue\"\n      - STY:T024\n      # Embryonic Structure\n      - STY:T018\n    id_prefixes:\n      - UBERON\n      - UMLS\n      - MESH\n      - NCIT\n      - PO\n      - FAO\n      \n\n  ## entity mixins\n\n  chemical entity or gene or gene product:\n    description: >-\n      A union of chemical entities and children, and gene or gene product.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  chemical entity or protein or polypeptide:\n    description: >-\n      A union of chemical entities and children, and protein and polypeptide.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  macromolecular machine mixin:\n    description: >-\n      A union of gene locus, gene product, and macromolecular complex mixin. These are\n      the basic units of function in a cell. They either carry out individual\n      biological activities, or they encode molecules which do this.\n    mixin: true\n    slots:\n      - name\n    slot_usage:\n      name:\n        range: symbol type\n        description: >-\n          genes are typically designated by a short symbol and a full name.\n          We map the symbol to the default display name\n          and use an additional slot for full name\n\n  gene or gene product:\n    description: >-\n      A union of gene loci or gene products.\n      Frequently an identifier for one will be used as proxy for another\n    is_a: macromolecular machine mixin\n    mixin: true\n    id_prefixes:\n      - CHEMBL.TARGET\n      - IUPHAR.FAMILY\n\n  gene:\n    description: >-\n      A region (or regions) that includes all of the sequence elements\n      necessary to encode a functional transcript. A gene locus may include\n      regulatory regions, transcribed regions and/or other\n      functional sequence regions.\n    is_a: biological entity\n    mixins:\n      - gene or gene product\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    slots:\n      - symbol\n      - synonym\n      - xref\n    narrow_mappings:\n      - bioschemas:gene\n    broad_mappings:\n      - NCIT:C45822\n    exact_mappings:\n      - SO:0000704\n      - SIO:010035\n      - WIKIDATA:Q7187\n      - dcid:Gene\n    id_prefixes:\n      - NCBIGene\n      - ENSEMBL\n      - HGNC\n      - MGI\n      - ZFIN\n      - dictyBase\n      - WB\n      - WormBase # we have two prefixes here as wormbase supports WormBase:WBGene00000898\n                 # and alliancegenome.org and identifiers.org supports WB:WBGene00000898.\n      - FB  # FlyBase FBgn*\n      - RGD\n      - SGD\n      - PomBase\n      - OMIM\n      - KEGG.GENE ## org:gene\n      - UMLS\n      - Xenbase\n      - AspGD\n      # - IUPHAR\n    in_subset:\n      - model_organism_database\n\n  gene product mixin:\n    description: >-\n      The functional molecular product of a single gene locus.\n      Gene products are either proteins or functional RNA molecules.\n    is_a: gene or gene product\n    mixin: true\n    slots:\n      - synonym\n      - xref\n    exact_mappings:\n      - WIKIDATA:Q424689\n      - GENO:0000907\n      - NCIT:C26548\n    id_prefixes:\n      - UniProtKB\n      - gtpo\n      - PR\n\n  gene product isoform mixin:\n    description: >-\n      This is an abstract class that can be mixed in with different kinds of\n      gene products to indicate that the gene product is intended to represent\n      a specific isoform rather than a canonical or reference or generic\n      product. The designation of canonical or reference may be arbitrary,\n      or it may represent the superclass of all isoforms.\n    is_a: gene product mixin\n    mixin: true\n\n  macromolecular complex mixin:\n    description: >-\n      A stable assembly of two or more macromolecules, i.e. proteins,\n      nucleic acids, carbohydrates or lipids, in which at least one\n      component is a protein and the constituent parts function together.\n    is_a: macromolecular machine mixin\n    mixin: true\n    exact_mappings:\n      - GO:0032991\n      - WIKIDATA:Q22325163\n    id_prefixes:\n      - INTACT\n      - GO\n      - PR\n      - REACT\n    in_subset:\n      - model_organism_database\n\n  ## Genomic Classes\n\n  genome:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A genome is the sum of genetic material within a cell or virion.\n    exact_mappings:\n      - SO:0001026\n      - SIO:000984\n      - WIKIDATA:Q7020\n    close_mappings:\n      - dcid:GenomeAssemblyUnit\n    in_subset:\n      - model_organism_database\n\n  exon:\n    is_a: nucleic acid entity\n    description: >-\n      A region of the transcript sequence within a gene which is not\n      removed from the primary RNA transcript by RNA splicing.\n    exact_mappings:\n      - SO:0000147\n      - SIO:010445\n      - WIKIDATA:Q373027\n\n  transcript:\n    is_a: nucleic acid entity\n    description: >-\n      An RNA synthesized on a DNA or RNA template by an RNA polymerase.\n    exact_mappings:\n      - SO:0000673\n      - SIO:010450\n      - WIKIDATA:Q7243183\n      - dcid:RNATranscript\n    id_prefixes:\n      - ENSEMBL # ENSEMBL:ENST for human\n      - FB      # FlyBase:FBtr\n    in_subset:\n      - model_organism_database\n\n  coding sequence:\n    is_a: nucleic acid entity\n    exact_mappings:\n      - SO:0000316\n      - SIO:001390\n\n  polypeptide:\n    aliases: [ 'amino acid entity' ]\n    is_a: biological entity\n    description: >-\n      A polypeptide is a molecular entity characterized by availability\n      in protein databases of amino-acid-based sequence representations\n      of its precise primary structure; for convenience of representation,\n      partial sequences of various kinds are included, even if they do not\n      represent a physical molecule.\n    mixins:\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL # ENSEMBL:ENSP*\n      - FB      # FlyBase FBpp*\n      - UMLS\n    in_subset:\n      - model_organism_database\n    narrow_mappings:\n      - SO:0000104 # polypeptide definde in SO conflates protein and polypeptide\n      # Amino Acid, Peptide, or Protein\n      - STY:T116\n      # Amino Acid Sequence\n      - STY:T087\n\n  protein:\n    description: >-\n      A gene product that is composed of a chain of amino acid sequences\n      and is produced by ribosome-mediated translation of mRNA\n    is_a: polypeptide\n    mixins:\n      - gene product mixin\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL # ENSEMBL:ENSP*\n      - FB      # FlyBase FBpp*\n      - UMLS\n      - MESH\n      - ncats.drug\n    broad_mappings:\n      - bioschemas:Protein\n    exact_mappings:\n      - PR:000000001\n      - SIO:010043\n      - WIKIDATA:Q8054\n    narrow_mappings:\n      # Enzyme\n      - STY:T126\n      # Receptor\n      - STY:T192\n\n  protein isoform:\n    aliases: ['proteoform']\n    is_a: protein\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or\n      reference protein. See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4114032/\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - UniProtKB # UniProtKB:([A-Z0-9]+-\\d+)\n      - UNIPROT.ISOFORM \n      - PR\n      - ENSEMBL\n\n  protein domain:\n    is_a: biological entity\n    description: >-\n      A conserved part of protein sequence and (tertiary) structure that can evolve,\n      function, and exist independently of the rest of the protein chain.\n      Protein domains maintain their structure and function independently of the proteins in which they are found.\n      e.g. an SH3 domain.\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    exact_mappings:\n      - NCIT:C13379\n      - SIO:001379\n      - UMLS:C1514562\n\n  protein family:\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n\n  nucleic acid sequence motif:\n    aliases: ['consensus sequence']\n    is_a: biological entity\n    description: >-\n      A linear nucleotide sequence pattern that is widespread and has, or is conjectured to have,\n      a biological significance. e.g. the TATA box promoter motif, transcription factor binding\n      consensus sequences.\n\n  RNA product:\n    is_a: transcript\n    mixins:\n      - gene product mixin\n    exact_mappings:\n      - CHEBI:33697\n      # This SIO term here also mapped to 'biolink:Transcript'; however,\n      # since this 'biolink:RNAProduct' relates more to the biochemical\n      # essence of RNA, then map the SIO term instead to 'biolink:Transcript'\n      # - SIO:010450\n      - WIKIDATA:Q11053\n    id_prefixes:\n      - RNACENTRAL\n\n  RNA product isoform:\n    is_a: RNA product\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or reference RNA\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - RNACENTRAL\n\n  noncoding RNA product:\n    is_a: RNA product\n    id_prefixes:\n      - RNACENTRAL\n      - NCBIGene\n      - ENSEMBL\n    exact_mappings:\n      - SO:0000655\n      - SIO:001235\n\n  microRNA:\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000276\n      - SIO:001397\n      - WIKIDATA:Q310899\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  siRNA:\n    aliases: ['small interfering RNA', 'RNAi']\n    description: >-\n      A small RNA molecule that is the product of a longer exogenous or\n      endogenous dsRNA, which is either a bimolecular duplex or very long\n      hairpin, processed (via the Dicer pathway) such that numerous siRNAs\n      accumulate from both strands of the dsRNA. SRNAs trigger the cleavage\n      of their target molecules.\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000646\n      - WIKIDATA:Q203221\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  gene grouping mixin:\n    description: >-\n      any grouping of multiple genes or gene products\n    mixin: true\n    slots:\n      - has gene or gene product\n\n  gene family:\n    aliases: ['orthogroup','protein family']\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      # These term definitions focus only on proteins;\n      # the 'biolink:GeneFamily' term would be more inclusive\n      # to describe gene loci, non-coding RNA, etc.\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    description: >-\n      any grouping of multiple genes or gene products related by common descent\n    id_prefixes:\n      - PANTHER.FAMILY\n      - HGNC.FAMILY\n      - FB       # FlyBase FBgg*\n      - interpro # note: may be better to introduce a protein domain/family\n      - CATH\n      - CDD\n      - HAMAP\n      - PFAM\n      - PIRSF\n      - PRINTS\n      - PRODOM\n      - PROSITE\n      - SMART\n      - SUPFAM\n      - TIGRFAM\n      - CATH.SUPERFAMILY\n      - RFAM ## RNAs only\n      - KEGG.ORTHOLOGY ## aka KEGG.KO: K number\n      - EGGNOG\n      - COG\n    in_subset:\n      - model_organism_database\n\n  zygosity:\n    is_a: attribute\n    exact_mappings:\n      - GENO:0000133\n\n  genotype:\n    is_a: biological entity\n    mixins:\n      - physical essence\n      - genomic entity\n      - ontology class\n    description: >-\n      An information content entity that describes a genome by specifying the\n      total variation in genomic sequence and/or gene expression, relative to\n      some established background\n    comments:\n      - Consider renaming as genotypic entity\n    slots:\n      - has zygosity\n    exact_mappings:\n      - GENO:0000536\n      - SIO:001079\n    id_prefixes:\n      - ZFIN\n      - FB   # FlyBase FBba*\n    in_subset:\n      - model_organism_database\n\n  haplotype:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A set of zero or more Alleles on a single instance of a Sequence[VMC]\n#    slots:\n#      - completeness\n    exact_mappings:\n      - GENO:0000871\n      - SO:0001024\n      - VMC:Haplotype\n\n  sequence variant:\n    aliases: ['allele']\n    local_names:\n      agr: allele\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      An allele that varies in its sequence from what is considered\n      the reference allele at that locus.\n    comments:\n      - This class is for modeling the specific state at a locus.\n        A single DBSNP rs ID could correspond to more than one sequence variants\n        (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)\n    broad_mappings:\n      # slightly broader semantics than SO:0001059 - 'sequence alteration'\n      # describes a sequence feature that may have 1..* sequence alterations\n      - SO:0001060\n    exact_mappings:\n      - GENO:0000002\n      - WIKIDATA:Q15304597\n      - SIO:010277\n      - VMC:Allele\n      - SO:0001059\n    close_mappings:\n      - dcid:Allele\n    id_prefixes:\n      - CAID # ClinGen Allele Registry\n      - CLINVAR\n      - ClinVarVariant\n      - WIKIDATA\n      # - CIViC needs IRI mapping\n      - DBSNP\n      # - MYVARIANT_HG19 needs IRI mapping\n      # - MYVARIANT_HG38 needs IRI mapping\n      # - HGVS needs IRI mapping\n      - MGI\n      - ZFIN # ZFIN:ZDB-ALT-*\n      - FB   # FlyBase FBal*\n      - WB\n      - WormBase ## WormBase:WBVar*\n    alt_descriptions:\n      AGR: >-\n        An entity that describes a single affected, endogenous allele.\n        These can be of any type that matches that definition\n      VMC: >-\n        A contiguous change at a Location\n    slots:\n      - has gene\n    slot_usage:\n      has gene:\n        multivalued: true\n        description: Each allele can be associated with any number of genes\n      has biological sequence:\n        description: >-\n          The state of the sequence w.r.t a reference sequence\n      id:\n        examples:\n          - value: ZFIN:ZDB-ALT-980203-1091\n            description: ti282a allele from ZFIN\n          - value: ClinVarVariant:17681\n            description: NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)\n    in_subset:\n      - model_organism_database\n\n  snv:\n    aliases: ['single nucleotide variant','single nucleotide polymorphism', 'snp']\n    is_a: sequence variant\n    description: >-\n      SNVs are single nucleotide positions in genomic DNA at\n      which different sequence alternatives exist\n    exact_mappings:\n      - SO:0001483\n\n  reagent targeted gene:\n    aliases: ['sequence targeting reagent']\n    is_a: biological entity\n    description: >-\n      A gene altered in its expression level in the context of some\n      experiment as a result of being targeted by gene-knockdown\n      reagent(s) such as a morpholino or RNAi.\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - GENO:0000504\n    in_subset:\n      - model_organism_database\n\n  ## --------------------\n  ## Clinical\n  ## Attributes, Cohort,\n  ## Exposures & Outcomes\n  ## --------------------\n\n  ## Clinical Attributes\n\n  clinical attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a clinical manifestation\n    exact_mappings:\n      # Clinical Attribute\n      - STY:T201\n\n  clinical measurement:\n    is_a: clinical attribute\n    description: >-\n      A clinical measurement is a special kind of attribute which results\n      from a laboratory observation from a subject individual or sample.\n      Measurements can be connected to their subject by the 'has attribute' slot.\n    slot_usage:\n      has attribute type:\n        required: true\n        multivalued: false\n        values_from:\n          - EFO\n          - LOINC\n    exact_mappings:\n      - EFO:0001444\n\n  clinical modifier:\n    is_a: clinical attribute\n    description: >-\n      Used to characterize and specify the phenotypic abnormalities\n      defined in the phenotypic abnormality sub-ontology, with respect\n      to severity, laterality, and other aspects\n    exact_mappings:\n      - HP:0012823\n\n  clinical course:\n    is_a: clinical attribute\n    description: >-\n      The course a disease typically takes from its onset, progression in time, and\n      eventual resolution or death of the affected individual\n    exact_mappings:\n      - HP:0031797\n\n  onset:\n    is_a: clinical course\n    description: >-\n      The age group in which (disease) symptom manifestations appear\n    exact_mappings:\n      - HP:0003674\n\n  clinical entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists in the clinical domain and outside the\n      biological realm. Diseases are placed under biological entities\n\n  clinical trial:\n    is_a: clinical entity\n\n  clinical intervention:\n    is_a: clinical entity\n\n  clinical finding:\n    is_a: phenotypic feature\n    description: >-\n      this category is currently considered broad enough to tag clinical lab\n      measurements and other biological attributes taken as 'clinical traits'\n      with some statistical score, for example, a p value in genetic associations.\n    slot_usage:\n      has attribute:\n        range: clinical attribute\n    id_prefixes:\n      - LOINC\n      - NCIT\n      - EFO\n\n  hospitalization:\n    is_a: clinical intervention\n    exact_mappings:\n      - SNOMEDCT:32485007\n      - WIKIDATA:Q3140971\n\n  socioeconomic attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a socioeconomic manifestation\n    #slot_usage:\n    # need a suitable qualifying socioeconomic ontology target here?\n    # Perhaps some subset of ECTO: https://github.com/EnvironmentOntology/environmental-exposure-ontology\n    #  has attribute type:\n    #     range: socioeconomic ontology\n    # exact_mappings:\n    #  - ??\n\n  ## Cohorts\n\n  case:\n    aliases: ['patient', 'proband']\n    is_a: individual organism\n    description: >-\n      An individual (human) organism that has a patient role in some clinical context.\n\n  cohort:\n    is_a: study population\n    description: >-\n      A group of people banded together or treated as a group who share common characteristics.\n      A cohort 'study' is a particular form of longitudinal study that samples a cohort,\n      performing a cross-section at intervals through time.\n    #\n    # As of this moment (Nov. 22), the jury is still out on what metadata of a cohort\n    # will be common to all cohort descriptions versus cohort-specific annotation.\n    # The former should be embedded as explicit slots in the cohort category. The latter\n    # ought to be documented as (ontology term constrained) extended node attributes.\n    #\n    #slots:\n    #  - general disease focus,\n    #  - specific inclusion/exclusion criteria,\n    #  - year(s) of cohort creation,\n    #  - institution.\n    exact_mappings:\n      - WIKIDATA:Q1303415\n    narrow_mappings:\n      # Professional or Occupational Group\n      - STY:T097\n      # Family Group\n      - STY:T099\n      # Age Group\n      - STY:T100\n      # Patient or Disabled Group\n      - STY:T101\n\n  ## Exposures\n\n  exposure event:\n    is_a: named thing\n    aliases: ['exposure', 'experimental condition']\n    mixin: true\n    slots:\n      - timepoint\n    description: >-\n      A (possibly time bounded) incidence of a feature of the environment of an organism that\n      influences one or more phenotypic features of that organism, potentially mediated by genes\n    exact_mappings:\n      - XCO:0000000\n    in_subset:\n      - model_organism_database\n\n  # TODO - confirm that genomic backgrounds are exposures\n  genomic background exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - gene grouping mixin\n      - physical essence\n      - genomic entity\n      - thing with taxon\n      - ontology class\n    description: >-\n      A genomic background exposure is where an individual's specific genomic background\n      of genes, sequence variants or other pre-existing genomic conditions constitute\n      a kind of 'exposure' to the organism, leading to or influencing an outcome.\n\n  pathological entity mixin:\n    description: >-\n      A pathological (abnormal) structure or process.\n    mixin: true\n    exact_mappings:\n      - MPATH:0\n    narrow_mappings:\n      - HP:0000118\n\n  pathological process:\n    description: >-\n      A biologic function or a process having an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: biological process\n    mixins:\n      - pathological entity mixin\n    exact_mappings:\n      - OBI:1110122\n      - NCIT:C16956\n    narrow_mappings:\n      # metastasis\n      - NCIT:C19151\n      - EFO:0009708\n      - STY:T046\n      - STY:T037\n\n  pathological process exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A pathological process, when viewed as an exposure, representing\n      a precondition, leading to or influencing an outcome,\n      e.g. autoimmunity leading to disease.\n\n  pathological anatomical structure:\n    description: >-\n      An anatomical structure with the potential of have an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: anatomical entity\n    mixins:\n      - pathological entity mixin\n\n  pathological anatomical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      An abnormal anatomical structure, when viewed as an exposure,\n      representing an precondition, leading to or influencing an outcome,\n      e.g. thrombosis leading to an ischemic disease outcome.\n\n  disease or phenotypic feature exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - pathological entity mixin\n    description: >-\n      A disease or phenotypic feature state, when viewed as an exposure,\n      represents an precondition, leading to or influencing an outcome,\n      e.g. HIV predisposing an individual to infections; a relative deficiency\n      of skin pigmentation predisposing an individual to skin cancer.\n\n  chemical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    slots:\n      - has quantitative value\n    description: >-\n      A chemical exposure is an intake of a particular\n      chemical entity.\n    exact_mappings:\n      # this ECTO term is not visibly defined but\n      # the 9000000-series identifiers seems to be the\n      # numeric space of chemical exposure definitions\n      - ECTO:9000000\n      - SIO:001399\n\n  complex chemical exposure:\n    is_a: attribute\n    description: >-\n      A complex chemical exposure is an intake of a chemical\n      mixture (e.g. gasoline), other than a drug.\n\n  drug exposure:\n    is_a: chemical exposure\n    aliases: ['drug intake', 'drug dose', 'medication intake']\n    description: >-\n      A drug exposure is an intake of a particular drug.\n    mixins:\n      - exposure event\n    broad_mappings:\n      # slightly broader than just drug effects on a biological system\n      - SIO:001005\n    exact_mappings:\n      - ECTO:0000509\n\n  # TODO: deprecate?\n  drug to gene interaction exposure:\n    description: >-\n      drug to gene interaction exposure is a drug exposure is where the\n      interactions of the drug with specific genes are known to constitute\n      an 'exposure' to the organism, leading to or influencing an outcome.\n    is_a: drug exposure\n    mixins:\n      - gene grouping mixin\n\n  treatment:\n    aliases: ['medical action', 'medical intervention']\n    # 'named thing' seems too generic here but not sure what applies better here\n    is_a: named thing\n    mixins:\n      - exposure event\n      - chemical or drug or treatment\n    description: >-\n      A treatment is targeted at a disease or phenotype and may involve\n      multiple drug 'exposures', medical devices and/or procedures\n    slots:\n      - has drug\n      - has device\n      - has procedure\n    exact_mappings:\n      - OGMS:0000090\n      - SIO:001398\n    broad_mappings:\n      - MAXO:0000058\n\n  biotic exposure:\n    is_a: attribute\n    aliases: ['viral exposure','bacterial exposure']\n    mixins:\n      - exposure event\n    description: >-\n      An external biotic exposure is an intake of (sometimes pathological)\n      biological organisms (including viruses).\n\n  geographic exposure:\n    is_a: environmental exposure\n    mixins:\n      - exposure event\n    description: >-\n      A geographic exposure is a factor relating to geographic\n      proximity to some impactful entity.\n    close_mappings:\n      - dcid:GeologicalEvent\n    narrow_mappings:\n      - dcid:IceStoremEvent\n      - dcid:LakeEffectSnowEvent\n      - dcid:LandslideEvent\n      - dcid:MarineDenseFogEvent\n      - dcid:MarineLighteningEvent\n      - dcid:MarineStrongWindEvent\n      - dcid:MarineThunderstormWindEvent\n      - dcid:StormEvent\n      - dcid:StormSurgeTideEvent\n      - dcid:StrongWindEvent\n      - dcid:ThunderstormWindEvent\n      - dcid:TornadoEvent\n      - dcid:TropicalDepressionEvent\n      - dcid:WinterStoremEvent\n\n  environmental exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A environmental exposure is a factor relating to abiotic processes\n      in the environment including sunlight (UV-B), atmospheric (heat,\n      cold, general pollution) and water-born contaminants.\n\n  behavioral exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A behavioral exposure is a factor relating to behavior impacting an individual.\n\n  socioeconomic exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A socioeconomic exposure is a factor relating to social and\n      financial status of an affected individual (e.g. poverty).\n    slot_usage:\n      has attribute:\n        range: socioeconomic attribute\n        required: true\n\n  ## Outcomes\n\n  outcome:\n    mixin: true\n    description: >-\n      An entity that has the role of being the consequence of an exposure event.\n      This is an abstract mixin grouping of various categories of possible\n      biological or non-biological (e.g. clinical) outcomes.\n\n  pathological process outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of a pathological process.\n\n  pathological anatomical outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of an abnormal anatomical structure.\n\n  disease or phenotypic feature outcome:\n    mixins:\n      - outcome\n    description: >-\n      Physiological outcomes resulting from an exposure event which\n      is the manifestation of a disease or other characteristic phenotype.\n\n  behavioral outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the manifestation of human behavior.\n\n  hospitalization outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the increased manifestation of acute (e.g. emergency\n      room visit) or chronic (inpatient) hospitalization.\n\n  mortality outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome of death from resulting from an exposure event.\n\n  epidemiological outcome:\n    mixins:\n      - outcome\n    description: >-\n      An epidemiological outcome, such as societal disease\n      burden, resulting from an exposure event.\n    related_mappings:\n      - NCIT:C19291\n\n  socioeconomic outcome:\n    mixins:\n      - outcome\n    description: >-\n      An general social or economic outcome, such as\n      healthcare costs, utilization, etc., resulting from an exposure event\n\n  ## ------------\n  ## ASSOCIATIONS\n  ## ------------\n\n  association:\n    is_a: entity\n    description: >-\n      A typed association between two entities, supported by evidence\n    comments:\n      - This is roughly the model used by biolink and ontobio at the moment\n    slots:\n      - subject\n      - predicate\n      - object\n      - negated\n      - qualifiers\n      - publications\n      - has evidence\n      - knowledge source\n      - original knowledge source\n      - primary knowledge source\n      - aggregator knowledge source\n      - timepoint\n    slot_usage:\n      type:\n        description: rdf:type of biolink:Association should be fixed at rdf:Statement\n      category:\n        range: category type\n        required: false\n    exact_mappings:\n      - OBAN:association\n      - rdf:Statement\n      - owl:Axiom\n\n  chemical entity assesses named thing association:\n    is_a: association\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: assesses\n\n\n  contributor association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      Any association between an entity (such as a publication)\n      and various agents that contribute to its realisation\n    slot_usage:\n      subject:\n        range: information content entity\n        description: >-\n          information content entity which an agent has helped realise\n      predicate:\n        subproperty_of: contributor\n        description: >-\n          generally one of the predicate values 'provider', 'publisher', 'editor' or 'author'\n      object:\n        range: agent\n        description: >-\n          agent helping to realise the given entity (e.g. such as a publication)\n      qualifiers:\n        description: >-\n          this field can be used to annotate special characteristics of an\n          agent relationship, such as the fact that a given author agent of\n          a publication is the 'corresponding author'\n\n  genotype to genotype part association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a genotypic entity that is a sub-component of it\n    slot_usage:\n      predicate:\n        subproperty_of: has variant part\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: genotype\n        description: >-\n          child genotype\n\n  genotype to gene association:\n    description: >-\n      Any association between a genotype and a gene.\n      The genotype have have multiple variants in that gene or a single one.\n      There is no assumption of cardinality\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: gene\n        description: >-\n          gene implicated in genotype\n\n  genotype to variant association:\n    description: >-\n      Any association between a genotype and a sequence variant.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: sequence variant\n        description: >-\n          gene implicated in genotype\n\n  gene to gene association:\n    aliases: ['molecular or genetic interaction']\n    description: >-\n      abstract parent class for different kinds of gene-gene or gene product\n      to gene product relationships. Includes homology and interaction.\n    abstract: true\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          the subject gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n      object:\n        range: gene or gene product\n        description: >-\n          the object gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n\n  gene to gene homology association:\n    description: >-\n      A homology association between two genes. May be orthology (in which\n      case the species of subject and object should differ) or paralogy\n      (in which case the species may be the same)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n      predicate:\n        subproperty_of: homologous to\n        symmetric: true\n        description: >-\n          homology relationship type\n      object:\n        range: gene or gene product\n\n  gene expression mixin:\n    description: >-\n      Observed gene expression intensity, context (site, stage) and\n      associated phenotypic status within which the expression occurs.\n    mixin: true\n    slots:\n      - quantifier qualifier\n      - expression site\n      - stage qualifier\n      - phenotypic state\n    slot_usage:\n      quantifier qualifier:\n        description: >-\n          Optional quantitative value indicating degree of expression.\n\n  gene to gene coexpression association:\n    description: >-\n      Indicates that two genes are co-expressed,\n      generally under the same conditions.\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: coexpressed with\n        symmetric: true\n\n  pairwise gene to gene interaction:\n    description: >-\n      An interaction between two genes or two gene products.\n      May be physical (e.g. protein binding) or genetic (between genes).\n      May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      predicate:\n        subproperty_of: interacts with\n        symmetric: true\n        description: \"interaction relationship type\"\n    narrow_mappings:\n      - dcid:ProteinProteinInteraction\n\n  pairwise molecular interaction:\n    description: >-\n      An interaction at the molecular level between two physical entities\n    is_a: pairwise gene to gene interaction\n    slots:\n      # need to declare a slot before it is used,\n      # then list it in 'slots', not just a slot_usage\n      - interacting molecules category\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: molecular entity\n      id:\n        description: >-\n          identifier for the interaction. This may come from an interaction database such as IMEX.\n        examples:\n          - value: WB:WBInteraction000538741\n        values_from:\n          - IMEX\n          - BioGRID\n      predicate:\n        subproperty_of: molecularly interacts with\n        description: \"interaction relationship type\"\n        examples:\n          - value: RO:0002447\n            description: the subject molecular phosphorylates the object molecule\n      object:\n        range: molecular entity\n\n  cell line to entity association mixin:\n    description: >-\n      An relationship between a cell line and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: cell line\n\n  # TODO: figure out what gives with subject range\n  cell line to disease or phenotypic feature association:\n    is_a: association\n    mixins:\n      - cell line to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    description: >-\n      An relationship between a cell line and a disease or a phenotype, where\n      the cell line is derived from an individual with that disease or phenotype.\n    slot_usage:\n      subject:\n#        - range: cell line\n#        - range: disease or phenotypic feature\n        range: disease or phenotypic feature\n\n  chemical entity to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity that is an interactor\"\n\n  drug to entity association mixin:\n    description: >-\n      An interaction between a drug and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: drug\n        description: \"the drug that is an interactor\"\n\n  chemical to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity or entity that is an interactor\"\n\n  case to entity association mixin:\n    description: >-\n      An abstract association for use where the case is the subject\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: case\n        description: \"the case (e.g. patient) that has the property\"\n\n  chemical to chemical association:\n    description: >-\n      A relationship between two chemical entities. This can encompass actual\n      interactions as well as temporal causal edges, e.g. one chemical converted to another.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      object:\n        range: chemical entity\n        description: \"the chemical element that is the target of the statement\"\n\n  reaction to participant association:\n    description:\n    is_a: chemical to chemical association\n    slots:\n      - stoichiometry\n      - reaction direction\n      - reaction side\n    slot_usage:\n      subject:\n        range: molecular entity\n    defining_slots:\n      - subject\n      - predicate\n      - object\n\n  reaction to catalyst association:\n    description:\n    is_a: reaction to participant association\n    slot_usage:\n      object:\n        range: gene or gene product\n\n  chemical to chemical derivation association:\n    description: >-\n      A causal relationship between two chemical entities, where the subject\n      represents the upstream entity and the object represents the downstream.\n      For any such association there is an implicit reaction:\n        IF\n        R has-input C1 AND\n        R has-output C2 AND\n        R enabled-by P AND\n        R type Reaction\n        THEN\n        C1 derives-into C2 <<catalyst qualifier P>>\n    is_a: chemical to chemical association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - catalyst qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: >-\n          the upstream chemical entity\n      object:\n        range: chemical entity\n        description: >-\n          the downstream chemical entity\n      predicate:\n        subproperty_of: derives into\n      catalyst qualifier:\n        description: >-\n          this connects the derivation edge to the chemical entity that\n          catalyzes the reaction that causes the subject chemical to\n          transform into the object chemical.\n\n  chemical to disease or phenotypic feature association:\n    description: >-\n      An interaction between a chemical entity and a phenotype or disease,\n      where the presence of the chemical gives rise to or exacerbates the phenotype.\n    is_a: association\n    narrow_mappings:\n      - SIO:000993\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"the disease or phenotype that is affected by the chemical\"\n\n  gene to pathway association:\n    description: >-\n      An interaction between a gene or gene product and a biological process or pathway.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"the gene or gene product entity that participates or influences the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that includes or is affected by the gene or gene product\"\n\n  molecular activity to pathway association:\n    description: >-\n      Association that holds the relationship between a reaction and the pathway it participates in.\n    is_a: association\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: pathway\n      predicate:\n        subproperty_of: part of\n\n  chemical to pathway association:\n    description: >-\n      An interaction between a chemical entity and a biological process or pathway.\n    is_a: association\n    exact_mappings:\n      - SIO:001250\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: \"the chemical entity that is affecting the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that is affected by the chemical\"\n\n  chemical to gene association:\n    description: >-\n      An interaction between a chemical entity and a gene or gene product.\n    is_a: association\n    exact_mappings:\n      - SIO:001257\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      object:\n        range: gene or gene product\n        description: >-\n          the gene or gene product that is affected by the chemical.\n\n  drug to gene association:\n    description: >-\n      An interaction between a drug and a gene or gene product.\n    is_a: association\n    related_mappings:\n      - SIO:001257\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - drug to entity association mixin\n    slot_usage:\n      object:\n        range: gene or gene product\n        description: \"the gene or gene product that is affected by the drug\"\n\n  material sample to entity association mixin:\n    description: >-\n      An association between a material sample and something.\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n\n  material sample derivation association:\n    description: >-\n      An association between a material sample and\n      the material entity from which it is derived.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n      object:\n        description: >-\n          the material entity the sample was derived from. This may be another\n          material sample, or any other material entity, including for example\n          an organism, a geographic feature, or some environmental material.\n      predicate:\n        description: >-\n          derivation relationship\n        subproperty_of: derives from\n\n  material sample to disease or phenotypic feature association:\n    description: >-\n      An association between a material sample and a disease or phenotype.\n    is_a: association\n    mixins:\n      - material sample to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    defining_slots:\n      - subject\n      - object\n\n  disease to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease\n        description: \"disease class\"\n        values_from: ['mondo', 'omim', 'orphanet', 'ncit', 'doid']\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n\n  entity to exposure event association mixin:\n    description: >-\n      An association between some entity and an exposure event.\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: exposure event\n\n  disease to exposure event association:\n    description: >-\n      An association between an exposure event and a disease.\n    is_a: association\n    mixins:\n      - disease to entity association mixin\n      - entity to exposure event association mixin\n    defining_slots:\n      - subject\n      - object\n\n  exposure event to entity association mixin:\n    deprecated: true\n\n  entity to outcome association mixin:\n    description: >-\n      An association between some entity and an outcome\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: outcome\n\n  exposure event to outcome association:\n    description: >-\n      An association between an exposure event and an outcome.\n    is_a: association\n    mixins:\n      - exposure event to entity association mixin\n      - entity to outcome association mixin\n    slots:\n      - has population context\n      - has temporal context\n    defining_slots:\n      - subject\n      - object\n\n  frequency qualifier mixin:\n    mixin: true\n    description: >-\n      Qualifier for frequency type associations\n    slots:\n      - frequency qualifier\n\n  entity to feature or disease qualifiers mixin:\n    description: >-\n      Qualifiers for entity to disease or phenotype associations.\n    mixin: true\n    is_a: frequency qualifier mixin\n    slots:\n      - severity qualifier\n      - onset qualifier\n\n  entity to phenotypic feature association mixin:\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: phenotypic feature\n        values_from: ['upheno', 'hp', 'mp', 'wbphenotype']\n        examples:\n          - value: HP:0002487\n            description: Hyperkinesis\n          - value: WBPhenotype:0000180\n            description: axon morphology variant\n          - value: MP:0001569\n            description: abnormal circulating bilirubin level\n    slots:\n      - sex qualifier\n\n  information content entity to named thing association:\n    description: >-\n      association between a named thing and a information content entity where the specific context\n      of the relationship between that named thing and the publication is unknown. For\n      example, model organisms databases often capture the knowledge that a gene is found in a\n      journal article, but not specifically the context in which that gene was documented in the article.\n      In these cases, this association with the accompanying predicate 'mentions' could be used.\n      Conversely, for more specific associations (like 'gene to disease association', the publication should\n      be captured as an edge property).\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        domain: publication\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: mentions\n    in_subset:\n      - model_organism_database\n\n  entity to disease association mixin:\n    description: >-\n      mixin class for any association whose object (target node) is a disease\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease\n        description: \"disease\"\n        examples:\n          - value: MONDO:0020066\n            description: \"Ehlers-Danlos syndrome\"\n\n  disease or phenotypic feature to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  disease or phenotypic feature to location association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      an anatomical entity, where the disease/feature manifests in that site.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      object:\n        range: anatomical entity\n        description: >-\n          anatomical entity in which the disease or feature is found.\n        examples:\n          - value: UBERON:0002048\n            description: \"lung\"\n\n  entity to disease or phenotypic feature association mixin:\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  genotype to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: genotype\n        description: \"genotype that is the subject of the association\"\n\n  genotype to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a phenotypic feature, where having\n      the genotype confers the phenotype, either in isolation or through environment\n    mixins:\n      - entity to phenotypic feature association mixin\n      - genotype to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has phenotype\n      subject:\n        range: genotype\n        description: >-\n          genotype that is associated with the phenotypic feature\n\n  # ie: smoke exposure to coughing phenotype? is this a denormalization?\n  exposure event to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between an environment and a phenotypic feature,\n      where being in the environment influences the phenotype.\n    mixins:\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: exposure event\n\n  disease to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      An association between a disease and a phenotypic feature in which the\n      phenotypic feature is associated with the disease in some way.\n    mixins:\n      - entity to phenotypic feature association mixin\n      - disease to entity association mixin\n    close_mappings:\n      - dcid:DiseaseSymptomAssociation\n    slot_usage:\n      subject:\n        range: disease\n      object:\n        range: phenotypic feature\n\n  case to phenotypic feature association:\n    description: >-\n      An association between a case (e.g. individual patient) and a phenotypic\n      feature in which the individual has or has had the phenotype.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - case to entity association mixin\n\n  behavior to behavioral feature association:\n    description: >-\n      An association between an mixture behavior and\n      a behavioral feature manifested by\n      the individual exhibited or has exhibited the behavior.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: behavior\n        description: >-\n          behavior that is the subject of the association\n      object:\n        range: behavioral feature\n        description: >-\n          behavioral feature that is the object of the association\n    mixins:\n      - entity to phenotypic feature association mixin\n\n  gene to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene that is the subject of the association\n\n  variant to entity association mixin:\n    local_names:\n      ga4gh: variant annotation\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is associated with some other entity\n        examples:\n          - value: ClinVar:38077\n            description: \"ClinVar representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)\"\n          - value: ClinGen:CA024716\n            description: \"chr13:g.32921033G>C (hg19) in ClinGen\"\n\n  gene to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n      - WBVocab:Gene-Phenotype-Association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"gene in which variation is correlated with the phenotypic feature\"\n        examples:\n          - value: HGNC:2197\n            description: \"COL1A1 (Human)\"\n      object:\n        range: phenotypic feature\n\n  gene to disease association:\n    is_a: association\n    comments:\n      - NCIT:R176 refers to the inverse relationship\n    exact_mappings:\n      - SIO:000983\n    close_mappings:\n      - dcid:DiseaseGeneAssociation\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease,\n          may be protective or causative or associative, or as a model\n      object:\n        range: disease\n\n  druggable gene to disease association:\n    is_a: gene to disease association\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease\n          in a protective manner, or if the product produced by the gene can be targeted by a small molecule and\n          this leads to a protective or improving disease state.\n      predicate:\n        subproperty_of: target for\n      has evidence:\n        range: druggable_gene_category_enum\n    defining_slots:\n      - subject\n      - object\n      - predicate\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n\n  variant to gene association:\n    description: >-\n      An association between a variant and a gene, where the variant has\n      a genetic association with the gene (i.e. is in linkage disequilibrium)\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - variant to entity association mixin\n    slot_usage:\n      object:\n        range: gene\n      predicate:\n        subproperty_of: genetic association\n\n  variant to gene expression association:\n    description: >-\n      An association between a variant and expression of a gene (i.e. e-QTL)\n    is_a: variant to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: affects expression of\n\n  variant to population association:\n    description: >-\n      An association between a variant and a population, where the variant has\n      particular frequency in the population\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - frequency quantifier\n      - frequency qualifier mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          an allele that has a certain frequency in a given population\n        examples:\n          - value: \"NC_000017.11:g.43051071A>T\"\n            description: >-\n              17:41203088 A/C in gnomad\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that is observed to have the frequency\n        examples:\n          - value: HANCESTRO:0010\n            description: African\n      has quotient:\n        description: >-\n          frequency of allele in population, expressed as a number with allele\n          divided by number in reference population, aka allele frequency\n        examples:\n          - value: \"0.0001666\"\n      has count:\n        description: >-\n          number in object population that carry a particular allele, aka allele count\n        examples:\n          - value: \"4\"\n            description: 4 individuals in gnomad set\n      has total:\n        description: >-\n          number all populations that carry a particular allele, aka allele number\n        examples:\n          - value: \"24014\"\n            description: 24014 individuals in gnomad set\n\n  population to population association:\n    description: >-\n      An association between a two populations\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: population of individual organisms\n        description: >-\n          the population that form the subject of the association\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that form the object of the association\n      predicate:\n        # subproperty_of: ???\n        description: >-\n          A relationship type that holds between the subject and object\n          populations. Standard mereological relations can be used.\n          E.g. subject part-of object, subject overlaps object.\n          Derivation relationships can also be used\n\n  variant to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is\n          associated in some way with the phenotype state\n\n  variant to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a sequence variant in which the allele state\n          is associated in some way with the disease state\n        examples:\n          - value: ClinVar:52241\n            description: \"NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)\"\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that variant\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  genotype to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - genotype to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a genotype that is associated in some way with a disease state\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that genotype\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  model to disease association mixin:\n    description: >-\n      This mixin is used for any association class for which the subject\n      (source node) plays the role of a 'model', in that it recapitulates some\n      features of the disease in a way that is useful for studying the disease\n      outside a patient carrying the disease\n    mixin: true\n    slot_usage:\n      subject:\n        description: >-\n          The entity that serves as the model of the disease. This may be\n          an organism, a strain of organism, a genotype or variant that exhibits\n          similar features, or a gene that when mutated exhibits features of the disease\n      predicate:\n        subproperty_of: model of\n        description: >-\n          The relationship to the disease\n\n  gene as a model of disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be a model\n          organism ortholog of a known disease gene, or it may be a gene whose\n          mutants recapitulate core features of the disease.\n\n  variant as a model of disease association:\n    is_a: variant to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          A variant that has a role in modeling the disease.\n\n  genotype as a model of disease association:\n    is_a: genotype to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: genotype\n        description: >-\n          A genotype that has a role in modeling the disease.\n\n  cell line as a model of disease association:\n    is_a: cell line to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: cell line\n        description: >-\n          A cell line derived from an organismal entity with a disease state that is used\n          as a model of that disease.\n\n  organismal entity as a model of disease association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: organismal entity\n        description: >-\n          A organismal entity (strain, breed) with a predisposition to a disease, or bred/created\n          specifically to model a disease.\n\n  organism to organism association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: individual organism\n      object:\n        range: individual organism\n        description: >-\n          An association between two individual organisms.\n\n  taxon to taxon association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n        description: >-\n          An association between individuals of different taxa.\n\n  gene has variant that contributes to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - sequence variant qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be\n          a model organism ortholog of a known disease gene, or it may be\n          a gene whose mutants recapitulate core features of the disease.\n\n  gene to expression site association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      An association between a gene and a gene expression site,\n      possibly qualified by stage/timing info.\n    notes:\n      - \"TBD: introduce subclasses for distinction between wild-type and experimental conditions?\"\n    see_also: \"https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee\"\n    slots:\n      - stage qualifier\n      - quantifier qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          Gene or gene product positively within the specified\n          anatomical entity (or subclass, i.e. cellular component) location.\n      object:\n        range: anatomical entity\n        description: \"location in which the gene is expressed\"\n        examples:\n          - value: UBERON:0002037\n            description: cerebellum\n      predicate:\n        description: \"expression relationship\"\n        subproperty_of: expressed in\n      stage qualifier:\n        range: life stage\n        description: \"stage at which the gene is expressed in the site\"\n        examples:\n          - value: UBERON:0000069\n            description: larval stage\n      quantifier qualifier:\n        description: >-\n          can be used to indicate magnitude, or also ranking\n\n  sequence variant modulates treatment association:\n    is_a: association\n    description: >-\n      An association between a sequence variant and a treatment or health intervention.\n      The treatment object itself encompasses both the disease and the drug used.\n    comments:\n      - An alternate way to model the same information could be via a qualifier\n    defining_slots:\n      - subject\n      - object\n    abstract: true\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: \"variant that modulates the treatment of some disease\"\n      object:\n        range: treatment\n        description: \"treatment whose efficacy is modulated by the subject variant\"\n\n  functional association:\n    is_a: association\n    description: >-\n      An association between a macromolecular machine mixin (gene, gene product or\n      complex of gene products) and either a molecular activity, a biological\n      process or a cellular location in which a function is executed.\n    slot_usage:\n      subject:\n        range: macromolecular machine mixin\n        description: >-\n          gene, product or macromolecular complex mixin that\n          has the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: gene ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n          - value: GO:0045211\n            description: postsynaptic membrane\n\n  macromolecular machine to entity association mixin:\n    description: >-\n      an association which has a macromolecular machine mixin as a subject\n    mixin: true\n    slot_usage:\n      subject:\n        domain: macromolecular machine mixin\n\n  macromolecular machine to molecular activity association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a molecular activity (as represented\n      in the GO molecular function branch), where the entity\n      carries out the activity, or contributes to its execution.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: molecular activity\n\n  macromolecular machine to biological process association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a biological process or pathway\n      (as represented in the GO biological process branch), where the entity\n      carries out some part of the process, regulates it, or acts upstream of it.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: biological process\n\n  macromolecular machine to cellular component association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a cellular component (as represented\n      in the GO cellular component branch), where the entity\n      carries out its function in the cellular component.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: cellular component\n\n  molecular activity to chemical entity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: chemical entity\n\n  molecular activity to molecular activity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: molecular activity\n\n\n  gene to go term association:\n    aliases: ['functional association']\n    is_a: functional association\n    exact_mappings:\n      - WBVocab:Gene-GO-Association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene\n        description: >-\n          gene, product or macromolecular complex that has\n          the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: gene ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n\n  entity to disease association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  entity to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  ## -----------------\n  ## SEQUENCE FEATURES\n  ## -----------------\n\n  sequence association:\n    is_a: association\n    description: >-\n      An association between a sequence feature and a nucleic acid entity it is localized to.\n\n  genomic sequence localization:\n    is_a: sequence association\n    description: >-\n      A relationship between a sequence feature and a nucleic acid entity\n      it is localized to. The reference entity may be a chromosome,\n      chromosome region or information entity such as a contig.\n    slot_usage:\n      subject:\n        aliases: ['sequence feature']\n        range: nucleic acid entity\n      object:\n        aliases: ['reference']\n        range: nucleic acid entity # typically a chromosome use monochrom\n      predicate:\n        subproperty_of: has sequence location\n    slots:\n      - start interbase coordinate\n      - end interbase coordinate\n      - genome build\n      - strand\n      - phase\n    broad_mappings:\n      - dcid:Chromosome\n    exact_mappings:\n      - dcid:GenomeAnnotation\n\n  sequence feature relationship:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      For example, a particular exon is part of a particular transcript or gene\n    slot_usage:\n      subject:\n        range: nucleic acid entity\n      object:\n        range: nucleic acid entity # typically a chromosome\n    exact_mappings:\n      - CHADO:feature_relationship\n\n  transcript to gene relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is a collection of transcripts\n    slot_usage:\n      subject:\n        range: transcript\n      object:\n        range: gene\n\n  gene to gene product relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is transcribed and potentially translated to a gene product\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene product mixin\n      predicate:\n        subproperty_of: has gene product\n\n  exon to transcript relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A transcript is formed from multiple exons\n    slot_usage:\n      subject:\n        range: exon\n      object:\n        range: transcript\n\n  gene regulatory relationship:\n    is_a: association\n    description: >-\n      A regulatory relationship between two genes\n    slot_usage:\n      predicate:\n        description: >-\n          the direction is always from regulator to regulated\n      subject:\n        range: gene or gene product\n        role: regulatory gene\n      object:\n        range: gene or gene product\n        role: regulated gene\n\n  anatomical entity to anatomical entity association: # schema: gocam\n    is_a: association\n    abstract: true\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: anatomical entity\n      object:\n        range: anatomical entity\n\n  anatomical entity to anatomical entity part of association:\n#      schema: gocam\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is mereological, i.e the two entities are related by parthood. This\n      includes relationships between cellular components and cells, between\n      cells and tissues, tissues and whole organisms\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the part\n      object:\n        range: anatomical entity\n        description: >-\n          the whole\n      predicate:\n        subproperty_of: part of\n\n  anatomical entity to anatomical entity ontogenic association:\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is ontogenic, i.e. the two entities are related by development. A number\n      of different relationship types can be used to specify the precise\n      nature of the relationship.\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the structure at a later time\n      object:\n        range: anatomical entity\n        description: >-\n          the structure at an earlier time\n      predicate:\n         subproperty_of: develops from\n\n  organism taxon to entity association:\n    mixin: true\n    description: >-\n      An association between an organism taxon and another entity\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: organism taxon\n        description: >-\n          organism taxon that is the subject of the association\n      \n  organism taxon to organism taxon association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    description: >-\n      A relationship between two organism taxon nodes\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n\n  organism taxon to organism taxon specialization:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      A child-parent relationship between two taxa.\n      For example: Homo sapiens subclass_of Homo\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: child taxon\n        description: >-\n          the more specific taxon\n      object:\n        range: organism taxon\n        role: parent taxon\n        description: >-\n          the more general taxon\n      predicate:\n         subproperty_of: subclass of\n\n  organism taxon to organism taxon interaction:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      An interaction relationship between two taxa. This may be a symbiotic\n      relationship (encompassing mutualism and parasitism), or it may be non-symbiotic.\n      Example: plague transmitted_by flea; cattle domesticated_by Homo sapiens; plague infects Homo sapiens\n    defining_slots:\n      - predicate\n    slots:\n      - associated environmental context\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        range: organism taxon\n        role: interactee taxon\n        description: >-\n          the taxon that is the subject of the association\n      predicate:\n         subproperty_of: interacts with\n      associated environmental context:\n         description: >-\n           the environment in which the two taxa interact\n\n  organism taxon to environment association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        role: environmental context\n        description: >-\n          the environment in which the organism occurs\n      predicate:\n        description: >-\n          predicate describing the relationship between the taxon and the environment\n           \n"
  },
  {
    "path": "medikanren2/neo/neo-biolink/biolink_3_0_3/biolink-model.yaml",
    "content": "id: https://w3id.org/biolink/biolink-model\nname: Biolink-Model\ndescription: Entity and association taxonomy and datamodel for life-sciences data\nlicense: https://creativecommons.org/publicdomain/zero/1.0/\n\n# Version should be kept in sync with primary Git repository release tag\n\nversion: 3.0.3\n\n\n\n## ------------\n## PREFIXES\n## ------------\n# CURIE namespaces (prefixes/base URI's) mappings of prefixes used in the body of the Biolink Model specification\n# are resolved using a specific precedence order, for use in the generation of the Biolink Model context.jsonld\n# mappings to namespaces. Any prefixes encountered in the Biolink Model but not resolved by the following\n# precedence sources, are anonymously declared by linkml as http://example.org/UNKNOWN/ rooted base URI's\n# which should ideally be repaired in one of the precedence lists.\n#\n# 1. The following 'prefixes:' delimited list has first precedence in resolution.\n#\nprefixes:\n  AGRKB: 'https://www.alliancegenome.org/'\n  apollo: 'https://github.com/GMOD/Apollo'\n  AspGD: 'http://www.aspergillusgenome.org/cgi-bin/locus.pl?dbid='\n  biolink: 'https://w3id.org/biolink/vocab/'\n  bioschemas: 'https://bioschemas.org/'\n  linkml: 'https://w3id.org/linkml/'\n  CAID: 'http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid='\n  # Placeholder: just points to GMOD Chado wiki\n  CHADO: 'http://gmod.org/wiki/Chado/'\n  # Placeholders: not sure how 'chembio'and CHEMBL.MECHANISM really resolve\n  ChemBank: 'http://chembank.broadinstitute.org/chemistry/viewMolecule.htm?cbid='\n  CHEMBL.MECHANISM: 'https://www.ebi.ac.uk/chembl/mechanism/inspect/'\n  CID: 'http://pubchem.ncbi.nlm.nih.gov/compound/'\n  CLINVAR: 'http://identifiers.org/clinvar'\n  COAR_RESOURCE: 'http://purl.org/coar/resource_type/'\n  COG: 'https://www.ncbi.nlm.nih.gov/research/cog-project/'\n  CPT: 'https://www.ama-assn.org/practice-management/cpt/'\n  CTD.CHEMICAL: 'http://ctdbase.org/detail.go?type=chem&acc='\n  CTD.DISEASE: 'http://ctdbase.org/detail.go?type=disease&db=MESH&acc='\n  CTD.GENE: 'http://ctdbase.org/detail.go?type=gene&acc='\n  CTD: 'http://ctdbase.org/'\n  DGIdb: 'https://www.dgidb.org/interaction_types'\n  dcat: 'http://www.w3.org/ns/dcat#'\n  dct: 'http://purl.org/dc/terms/'\n  dcid: 'https://datacommons.org/browser/'\n  doi: 'https://doi.org/'\n  DOID-PROPERTY: 'http://purl.obolibrary.org/obo/doid#'\n  DrugCentral: 'http://drugcentral.org/drugcard/'\n  ECTO: 'http://purl.obolibrary.org/obo/ECTO_'\n  EDAM-DATA: 'http://edamontology.org/data_'\n  EDAM-FORMAT: 'http://edamontology.org/format_'\n  EDAM-OPERATION: 'http://edamontology.org/operation_'\n  EDAM-TOPIC: 'http://edamontology.org/topic_'\n  EFO: 'http://www.ebi.ac.uk/efo/EFO_'\n  ExO: 'http://purl.obolibrary.org/obo/ExO_'\n  fabio: 'http://purl.org/spar/fabio/'\n  foaf: 'http://xmlns.com/foaf/0.1/'\n  foodb.food: 'http://foodb.ca/compounds/'\n  foodb.compound: 'http://foodb.ca/foods/'\n  FYECO: 'https://www.pombase.org/term/'\n  FYPO: 'http://purl.obolibrary.org/obo/FYPO_'  # Fission Yeast Phenotype Ontology\n  GAMMA: 'http://translator.renci.org/GAMMA_'\n  gff3: 'https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md#'\n  GOREL: 'http://purl.obolibrary.org/obo/GOREL_'\n  # GOP: Gene Ontology Property (not really a GO term but an associated metadatum)\n  GOP: 'http://purl.obolibrary.org/obo/go#'\n  gpi: 'https://github.com/geneontology/go-annotation/blob/master/specs/gpad-gpi-2-0.md#'\n  GSID: 'https://scholar.google.com/citations?user='\n  GTEx: 'https://www.gtexportal.org/home/gene/'\n  GTOPDB: 'https://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId='\n  gtpo: 'https://rdf.guidetopharmacology.org/ns/gtpo#'\n  HANCESTRO: 'http://www.ebi.ac.uk/ancestro/ancestro_'\n  HCPCS: 'http://purl.bioontology.org/ontology/HCPCS/'\n  HsapDv: 'http://purl.obolibrary.org/obo/HsapDv_'\n  ICD10: 'https://icd.codes/icd9cm/'\n  ICD9: 'http://translator.ncats.nih.gov/ICD9_'\n  interpro: 'https://www.ebi.ac.uk/interpro/entry/'\n  INO: 'http://purl.obolibrary.org/obo/INO_'\n  isbn: 'https://www.isbn-international.org/identifier/' # note: a resolvable base URI not available from isbn-international\n  isni: 'https://isni.org/isni/'\n  issn: 'https://portal.issn.org/resource/ISSN/'\n  ncats.drug: 'https://drugs.ncats.io/drug/'\n  KEGG.BRITE: 'http://www.kegg.jp/entry/'\n  KEGG.DGROUP: 'http://www.kegg.jp/entry/'\n  KEGG.ENZYME: 'http://www.kegg.jp/entry/'\n  KEGG.GENE: 'http://www.kegg.jp/entry/'\n  KEGG.PATHWAY: 'https://www.kegg.jp/entry/'\n  KEGG.RCLASS: 'http://www.kegg.jp/entry/'\n  LOINC: 'http://loinc.org/rdf/'\n  MAXO: 'http://purl.obolibrary.org/obo/MAXO_'\n  medgen: 'https://www.ncbi.nlm.nih.gov/medgen/'\n  metacyc.reaction: 'https://identifiers.org/metacyc.reaction:'\n  METANETX.REACTION: 'https://www.metanetx.org/equa_info/'\n  MESH: 'http://id.nlm.nih.gov/mesh/'\n  MI: 'http://purl.obolibrary.org/obo/MI_'\n  mirbase: 'http://identifiers.org/mirbase'\n  mmmp.biomaps: 'https://bioregistry.io/mmmp.biomaps:'\n  MmusDv: 'http://purl.obolibrary.org/obo/MMUSDV_'\n  MSigDB: 'https://www.gsea-msigdb.org/gsea/msigdb/'\n  NBO-PROPERTY: 'http://purl.obolibrary.org/obo/nbo#'\n  ncats.bioplanet: 'https://tripod.nih.gov/bioplanet/detail.jsp?pid='\n  NCBIGene: 'http://identifiers.org/ncbigene/'\n  NCIT-OBO: 'http://purl.obolibrary.org/obo/ncit#'\n  NDDF: 'http://purl.bioontology.org/ontology/NDDF/'\n  NLMID: 'https://www.ncbi.nlm.nih.gov/nlmcatalog/?term='\n  OBAN: 'http://purl.org/oban/'\n  oboformat: 'http://www.geneontology.org/formats/oboInOwl#'\n  OMIM.PS: 'https://www.omim.org/phenotypicSeries/'\n  OBOREL: 'http://purl.obolibrary.org/obo/RO_'\n  ORCID: 'https://orcid.org/'\n  ORPHA: 'http://www.orpha.net/ORDO/Orphanet_'\n  os: 'https://github.com/cmungall/owlstar/blob/master/owlstar.ttl'\n  PANTHER.FAMILY: 'http://www.pantherdb.org/panther/family.do?clsAccession='\n  PathWhiz: 'http://smpdb.ca/pathways/#'  # See also https://smpdb.ca/pathwhiz/\n  pav: 'http://purl.org/pav/'\n  PHAROS: 'http://pharos.nih.gov'\n  PomBase: 'https://www.pombase.org/gene/'\n  prov: 'http://www.w3.org/ns/prov#'\n  qud: 'http://qudt.org/1.1/schema/qudt#'\n  REPODB: 'http://apps.chiragjpgroup.org/repoDB/'\n  ResearchID: 'https://publons.com/researcher/'\n  RO: 'http://purl.obolibrary.org/obo/RO_'\n  RXNORM: 'http://purl.bioontology.org/ontology/RXNORM/'\n  RXCUI: 'https://mor.nlm.nih.gov/RxNav/search?searchBy=RXCUI&searchTerm='\n  schema: 'http://schema.org/'\n  ScopusID: 'https://www.scopus.com/authid/detail.uri?authorId='\n  SEED.REACTION: 'https://modelseed.org/biochem/reactions/'\n  SEMMEDDB: 'https://skr3.nlm.nih.gov/SemMedDB'\n  SIO: 'http://semanticscience.org/resource/SIO_'\n  SNOMED: 'http://www.snomedbrowser.com/Codes/Details/'\n  SNOMEDCT: 'http://www.snomedbrowser.com/Codes/Details/'\n  SPDI: 'https://api.ncbi.nlm.nih.gov/variation/v0/spdi/'\n  UBERGRAPH: 'http://translator.renci.org/ubergraph-axioms.ofn#'\n  UBERON_CORE: 'http://purl.obolibrary.org/obo/uberon/core#'\n  UBERON_NONAMESPACE: 'http://purl.obolibrary.org/obo/core#'\n  # The UMLS Semantic types and groups namespaces don't have a directly\n  # resolvable Base URI, but we point to a pair of sensible web documents\n  STY: 'http://purl.bioontology.org/ontology/STY/'\n  UMLSSG: 'https://lhncbc.nlm.nih.gov/semanticnetwork/download/sg_archive/SemGroups-v04.txt'\n  VANDF: 'https://www.nlm.nih.gov/research/umls/sourcereleasedocs/current/VANDF/'\n  UO-PROPERTY: 'http://purl.obolibrary.org/obo/uo#'\n  # The \"Variation Modelling Collaboration\" (VMC) is not (yet) a conventional namespace so we point to its Github repo\n  # See also: https://www.ga4gh.org/work_stream/genomic-knowledge-standards/#existing-standards and\n  # https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7153148/\n  VMC: 'https://github.com/ga4gh/vr-spec/'\n  WBls: 'http://purl.obolibrary.org/obo/WBBL_'\n  WBbt: 'http://purl.obolibrary.org/obo/WBBT_'\n  WBVocab: 'http://bio2rdf.org/wormbase_vocabulary'\n  WIKIDATA: 'https://www.wikidata.org/wiki/'            # Wikidata Entity\n  WIKIDATA_PROPERTY: 'https://www.wikidata.org/wiki/Property:'  # Wikidata Property - not a conventional namespace prefix\n  wgs: 'http://www.w3.org/2003/01/geo/wgs84_pos'\n  XPO: 'http://purl.obolibrary.org/obo/XPO_'  # Xenopus Phenotype Ontology\n  Xenbase: 'http://www.xenbase.org/gene/showgene.do?method=display&geneId='\n\ndefault_prefix: biolink\ndefault_range: string\n\n# 2. The following prefix maps are retrieved from the\n#    specified contexts defined at https://prefixcommons.org/\ndefault_curi_maps:\n  - obo_context\n  - idot_context\n  - monarch_context\n  - semweb_context\n\n# The following 'standard' prefixes are also used.\nemit_prefixes:\n  - rdf\n  - rdfs\n  - xsd\n  - skos\n  - OIO\n  - BIOGRID\n  - SO\n\n## ------------\n## SUBSETS\n## ------------\n\n\nsubsets:\n\n  model_organism_database:\n    description: >-\n      Subset that is relevant for a typical Model Organism Database (MOD)\n\n  translator_minimal:\n    description: >-\n      Minimum subset of translator work\n\n  samples:\n    description: >-\n      Sample/biosample datamodel\n\n  testing:\n    description: >-\n      TBD\n\n\n## ------------\n## TYPES\n## ------------\n\nimports:\n  - linkml:types\n\ntypes:\n\n  chemical formula value:\n    uri: xsd:string\n    base: str\n    description: A chemical formula\n    notes:\n      - Should be implemented as a stronger type\n\n  category type:\n    typeof: uriorcurie\n    description: >-\n      A primitive type in which the value denotes a class within the biolink model.\n      The value must be a URI or a CURIE. In a Neo4j representation, the value should\n      be the CURIE for the biolink class, for example biolink:Gene. For an RDF representation,\n      the value should be a URI such as https://w3id.org/biolink/vocab/Gene\n\n  iri type:\n    typeof: uriorcurie\n    description: >-\n      An IRI\n\n  label type:\n    typeof: string\n    description: >-\n      A string that provides a human-readable name for an entity\n\n  predicate type:\n    typeof: uriorcurie\n    description: >-\n      A CURIE from the biolink related_to hierarchy.\n      For example, biolink:related_to, biolink:causes, biolink:treats.\n\n  narrative text:\n    typeof: string\n    description: >-\n      A string that provides a human-readable description of something\n\n  symbol type:\n    typeof: string\n\n  frequency value:\n    typeof: string\n    uri: UO:0000105\n\n  percentage frequency value:\n    typeof: double\n    uri: UO:0000187\n\n  quotient:\n    aliases: [ 'ratio' ]\n    typeof: double\n    uri: UO:0010006\n\n  unit:\n    typeof: string\n    uri: UO:0000000\n    id_prefixes:\n      - UO\n    exact_mappings:\n      - qud:Unit\n\n  time type:\n    typeof: time\n\n  biological sequence:\n    typeof: string\n\n## ------------\n## SLOTS\n## ------------\n\nslots:\n\n  ## ---------------\n  ## ATTRIBUTE SLOTS\n  ## ---------------\n\n  has attribute:\n    description: >-\n      connects any entity to an attribute\n    domain: entity\n    range: attribute\n    multivalued: true\n    in_subset:\n      - samples\n    close_mappings:\n      # RTX term meaning 'specifies value of' tagged as inverse of 'biolink:has attribute'\n      - OBI:0001927\n    exact_mappings:\n      - SIO:000008\n    narrow_mappings:\n      # if 'has attribute' annotates a NamedThing as subject or\n      # object of an association, these OBAN mappings may apply\n      - OBAN:association_has_subject_property\n      - OBAN:association_has_object_property\n      - CPT:has_possibly_included_panel_element\n      - DRUGBANK:category\n      # RTX contributed terms. Could perhaps review for more semantically precise mappings?\n      - EFO:is_executed_in\n      - HANCESTRO:0301\n      - LOINC:has_action_guidance\n      - LOINC:has_adjustment\n      - LOINC:has_aggregation_view\n      - LOINC:has_approach_guidance\n      - LOINC:has_divisor\n      - LOINC:has_exam\n      - LOINC:has_method\n      - LOINC:has_modality_subtype\n      - LOINC:has_object_guidance\n      - LOINC:has_scale\n      - LOINC:has_suffix\n      - LOINC:has_time_aspect\n      - LOINC:has_time_modifier\n      - LOINC:has_timing_of\n      # disease is stage\n      - NCIT:R88\n      - NCIT:eo_disease_has_property_or_attribute\n      - NCIT:has_data_element\n      - NCIT:has_pharmaceutical_administration_method\n      - NCIT:has_pharmaceutical_basic_dose_form\n      - NCIT:has_pharmaceutical_intended_site\n      - NCIT:has_pharmaceutical_release_characteristics\n      - NCIT:has_pharmaceutical_state_of_matter\n      - NCIT:has_pharmaceutical_transformation\n      - NCIT:is_qualified_by\n      - NCIT:qualifier_applies_to\n      - NCIT:role_has_domain\n      - NCIT:role_has_range\n      - INO:0000154\n      - HANCESTRO:0308\n      - OMIM:has_inheritance_type\n      - ORPHA:C016\n      - ORPHA:C017\n      - RO:0000053\n      # RTX tagged a few RO terms as 'biolink:related_to' but semantics suggest a better mapping here\n      - RO:0000086\n      - RO:0000087\n      - SNOMED:has_access\n      - SNOMED:has_clinical_course\n      - SNOMED:has_count_of_base_of_active_ingredient\n      - SNOMED:has_dose_form_administration_method\n      - SNOMED:has_dose_form_release_characteristic\n      - SNOMED:has_dose_form_transformation\n      - SNOMED:has_finding_context\n      - SNOMED:has_finding_informer\n      - SNOMED:has_inherent_attribute\n      - SNOMED:has_intent\n      - SNOMED:has_interpretation\n      - SNOMED:has_laterality\n      - SNOMED:has_measurement_method\n      - SNOMED:has_method\n      - SNOMED:has_priority\n      - SNOMED:has_procedure_context\n      - SNOMED:has_process_duration\n      - SNOMED:has_property\n      - SNOMED:has_revision_status\n      - SNOMED:has_scale_type\n      - SNOMED:has_severity\n      - SNOMED:has_specimen\n      - SNOMED:has_state_of_matter\n      - SNOMED:has_subject_relationship_context\n      - SNOMED:has_surgical_approach\n      - SNOMED:has_technique\n      - SNOMED:has_temporal_context\n      - SNOMED:has_time_aspect\n      - SNOMED:has_units\n      - UMLS:has_structural_class\n      - UMLS:has_supported_concept_property\n      - UMLS:has_supported_concept_relationship\n      - UMLS:may_be_qualified_by\n\n  has attribute type:\n    description: >-\n      connects an attribute to a class that describes it\n    domain: attribute\n    range: ontology class\n    multivalued: false\n    required: true\n    in_subset:\n      - samples\n    narrow_mappings:\n      - LOINC:has_modality_type\n      - LOINC:has_view_type\n\n  # TRAPI Attribute schema alignment:\n  # value: NamedThing.name\n  # value_type: NamedThing.category\n  # value_type_name: quantity_value.NamedThing.name\n  has qualitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: named thing\n    multivalued: false\n    in_subset:\n      - samples\n\n  # TRAPI Attribute schema alignment:\n  # value: quantity_value.has_numeric_value[double] - may be a vector?\n  # value_type: quantity_value.has_unit.unit.uri\n  # value_type_name: quantity_value.has_unit.unit.name[string]\n  has quantitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: quantity value\n    multivalued: true\n    exact_mappings:\n      - qud:quantityValue\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_numerator_value\n      - SNOMED:has_presentation_strength_denominator_value\n      - SNOMED:has_presentation_strength_numerator_value\n    in_subset:\n      - samples\n\n  has numeric value:\n    description: >-\n      connects a quantity value to a number\n    domain: quantity value\n    range: double\n    multivalued: false\n    exact_mappings:\n      - qud:quantityValue\n    in_subset:\n      - samples\n\n  has unit:\n    description: >-\n      connects a quantity value to a unit\n    domain: quantity value\n    range: unit\n    multivalued: false\n    close_mappings:\n      # These RTX contributed terms mean \"is unit of\" which is the semantic inverse of this biolink:has_unit term\n      - EFO:0001697\n      - UO-PROPERTY:is_unit_of\n    exact_mappings:\n      - qud:unit\n      - IAO:0000039\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_denominator_unit\n      - SNOMED:has_concentration_strength_numerator_unit\n      - SNOMED:has_presentation_strength_denominator_unit\n      - SNOMED:has_presentation_strength_numerator_unit\n      - SNOMED:has_unit_of_presentation\n    in_subset:\n      - samples\n\n  base coordinate:\n    is_a: sequence localization attribute\n    aliases: [ 'one-based', 'fully-closed' ]\n    description: >-\n      A position in the base coordinate system.  Base coordinates start at position 1 instead of position 0.\n    range: integer\n\n  ## --------------------\n  ## NODE PROPERTY SLOTS\n  ## --------------------\n\n  node property:\n    description: >-\n      A grouping for any property that holds between a node and a value\n    domain: named thing\n\n  id:\n    identifier: true\n    description: >-\n      A unique identifier for an entity.\n      Must be either a CURIE shorthand for a URI or a complete URI\n    in_subset:\n      - translator_minimal\n    required: true\n    exact_mappings:\n      - agrkb:primaryId\n      - gff3:ID\n      - gpi:DB_Object_ID\n\n  iri:\n    description: >-\n      An IRI for an entity. This is determined by the id using expansion rules.\n    range: iri type\n    in_subset:\n      - translator_minimal\n      - samples\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P854\n\n  type:\n    slot_uri: rdf:type\n    exact_mappings:\n      - agrkb:soTermId\n      - gff3:type\n      - gpi:DB_Object_Type\n\n  category:\n    is_a: type\n    domain: entity\n    range: category type\n    designates_type: true\n    description: >-\n      Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the\n      biolink entity type class.\n       * In a neo4j database this MAY correspond to the neo4j label tag.\n       * In an RDF database it should be a biolink model class URI.\n      This field is multi-valued. It should include values for ancestors of the biolink class; for example,\n      a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`, ...\n\n      In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink\n      class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f`\n      may have a rdf:type assertion to a SO class such as TF_binding_site,\n      which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity,\n      biolink:MolecularEntity, biolink:NamedThing}\n    is_class_field: true\n    multivalued: true\n    in_subset:\n      - translator_minimal\n\n  name:\n    aliases: [ 'label', 'display name', 'title' ]\n    description: >-\n      A human-readable name for an attribute or entity.\n    range: label type\n    in_subset:\n      - translator_minimal\n      - samples\n    #\n    # linkML doesn't like this name slot to be \"required: true\".\n    # Besides, some entity nodes/attributes may not have names?\n    # required: true\n    slot_uri: rdfs:label\n    exact_mappings:\n      - gff3:Name\n      - gpi:DB_Object_Name\n    narrow_mappings:\n      - dct:title\n      - WIKIDATA_PROPERTY:P1476\n\n  stoichiometry:\n    description: >-\n      the relationship between the relative quantities of substances taking part in a reaction or\n      forming a compound, typically a ratio of whole integers.\n    is_a: association slot\n    range: integer\n\n  reaction direction:\n    description: >-\n      the direction of a reaction as constrained by the direction_enum (ie: left_to_right, neutral, etc.)\n    is_a: association slot\n    range: reaction_direction_enum\n    narrow_mappings:\n      - NCIT:C42677\n\n  reaction balanced:\n    is_a: association slot\n    range: boolean\n\n  reaction side:\n    description: >-\n      the side of a reaction being modeled (ie: left or right)\n    is_a: association slot\n    range: reaction_side_enum\n\n  symbol:\n    is_a: node property\n    domain: named thing\n    description: >-\n      Symbol for a particular thing\n    exact_mappings:\n      - agrkb:symbol\n      - gpi:DB_Object_Symbol\n\n  synonym:\n    is_a: node property\n    aliases: [ 'alias' ]\n    domain: named thing\n    range: label type\n    description: >-\n      Alternate human-readable names for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      # there is an interesting debate here: are these terms \"narrower\" a.k.a. more specialized instances of\n      # 'biolink:synonym' or should they be binned into their respective namesake class of mappings?\n      # namely, is 'oboInOwl:hasExactSynonym' an instance 'exact_mappings', etc.\n      - skos:altLabel\n      - gff3:Alias\n      - agrkb:synonyms\n      - gpi:DB_Object_Synonyms\n      # TODO: RTX contributed terms mapped here... May need review?\n      - HANCESTRO:0330\n      - IAO:0000136\n      - RXNORM:has_tradename\n\n  exact_synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasExactSynonym\n\n  broad_synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasBroadSynonym\n\n  narrow_synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasNarrowSynonym\n\n  related_synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasRelatedSynonym\n\n  has topic:\n    aliases: [ 'topic', 'descriptors' ]\n    is_a: node property\n    range: ontology class\n    exact_mappings:\n      - foaf:topic\n    description: >-\n      Connects a node to a vocabulary term or ontology class that describes some aspect of the entity. In general specific characterization is preferred.\n      See https://github.com/biolink/biolink-model/issues/238\n\n  xref:\n    is_a: node property\n    aliases: [ 'dbxref', 'Dbxref', 'DbXref' ]\n    domain: named thing\n    range: uriorcurie\n    description: >-\n      Alternate CURIEs for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - gff3:Dbxref\n      - gpi:DB_Xrefs\n\n  full name:\n    is_a: node property\n    domain: named thing\n    range: label type\n    description: >-\n      a long-form human readable name for a thing\n\n  description:\n    aliases: [ 'definition' ]\n    range: narrative text\n    description: >-\n      a human-readable description of an entity\n    in_subset:\n      - translator_minimal\n    slot_uri: dct:description\n    exact_mappings:\n      - IAO:0000115\n      - skos:definitions\n    narrow_mappings:\n      - gff3:Description\n\n  systematic synonym:\n    is_a: node property\n    domain: named thing\n    range: label type\n    multivalued: true\n    slot_uri: GOP:systematic_synonym\n    description: >-\n      more commonly used for gene symbols in yeast\n\n  affiliation:\n    is_a: node property\n    description: >-\n      a professional relationship between one provider (often a person) within another provider (often an organization).\n      Target provider identity should be specified by a CURIE. Providers may have multiple affiliations.\n    domain: agent\n    range: uriorcurie\n    multivalued: true\n\n  address:\n    is_a: node property\n    description: >-\n      the particulars of the place where someone or an organization is situated.  For now, this slot is a\n      simple text \"blob\" containing all relevant details of the given location for fitness of purpose.\n      For the moment, this \"address\" can include other contact details such as email and phone number(?).\n\n  ## Space\n\n  latitude:\n    is_a: node property\n    range: float\n    description: >-\n      latitude\n    exact_mappings:\n      - wgs:lat\n\n  longitude:\n    is_a: node property\n    range: float\n    description: >-\n      longitude\n    exact_mappings:\n      - wgs:long\n\n  ## Time\n\n  timepoint:\n    aliases: [ 'duration' ]\n    range: time type\n    description: >-\n      a point in time\n\n  creation date:\n    is_a: node property\n    aliases: [ 'publication date' ]\n    range: date\n    description: >-\n      date on which an entity was created. This can be applied to nodes or edges\n    exact_mappings:\n      - dct:createdOn\n      - WIKIDATA_PROPERTY:P577\n\n  update date:\n    is_a: node property\n    range: date\n    description: >-\n      date on which an entity was updated. This can be applied to nodes or edges\n\n  ## Statistics\n\n  aggregate statistic:\n    is_a: node property\n    abstract: true\n\n  has count:\n    description: >-\n      number of things with a particular property\n    is_a: aggregate statistic\n    range: integer\n    exact_mappings:\n      - LOINC:has_count\n\n  has total:\n    description: >-\n      total number of things in a particular reference set\n    is_a: aggregate statistic\n    range: integer\n\n  has quotient:\n    is_a: aggregate statistic\n    range: double\n\n  has percentage:\n    description: >-\n      equivalent to has quotient multiplied by 100\n    is_a: aggregate statistic\n    range: double\n\n  ## Properties for Information Content Entity and Publication Nodes\n\n  has taxonomic rank:\n    is_a: node property\n    range: taxonomic rank\n    multivalued: false\n    mappings:\n      - WIKIDATA:P105\n\n  has dataset:\n    is_a: node property\n    domain: dataset version\n    range: dataset\n    slot_uri: dct:source\n\n  source web page:\n    is_a: node property\n    domain: dataset summary\n    broad_mappings:\n      - dct:source\n\n  source logo:\n    is_a: node property\n    domain: dataset summary\n    slot_uri: schema:logo\n\n  retrieved on:\n    is_a: node property\n    domain: dataset\n    range: date\n    exact_mappings:\n      - pav:retrievedOn\n\n  version of:\n    is_a: node property\n    domain: dataset version\n    range: dataset summary\n    exact_mappings:\n      - dct:isVersionOf\n\n  version:\n    is_a: node property\n    domain: dataset\n    broad_mappings:\n      - pav:version\n      - owl:versionInfo\n\n  license:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:license\n    narrow_mappings:\n      - WIKIDATA_PROPERTY:P275\n\n  rights:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:rights\n\n  format:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:format\n      - WIKIDATA_PROPERTY:P2701\n\n  created with:\n    is_a: node property\n    domain: dataset\n    exact_mappings:\n      - pav:createdWith\n\n  download url:\n    is_a: node property\n    domain: information content entity\n    slot_uri: dcat:downloadURL\n\n  dataset download url:\n    is_a: node property\n    domain: dataset\n    slot_uri: dcat:downloadURL\n\n  distribution download url:\n    is_a: node property\n    domain: dataset distribution\n    exact_mappings:\n      - dcat:downloadURL\n\n  ingest date:\n    is_a: node property\n    domain: dataset version\n    slot_uri: pav:version\n\n  has distribution:\n    is_a: node property\n    domain: dataset version\n    range: dataset distribution\n    slot_uri: dct:distribution\n\n  published in:\n    is_a: node property\n    description: >-\n      CURIE identifier of a broader publication context within which the publication may be placed,\n      e.g. a specified book or journal.\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - NLMID\n      - issn\n      - isbn\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1433\n\n  iso abbreviation:\n    is_a: node property\n    description: >-\n      Standard abbreviation for periodicals in the International Organization for Standardization (ISO) 4 system\n      See https://www.issn.org/services/online-services/access-to-the-ltwa/. If the 'published in' property is set,\n      then the iso abbreviation pertains to the broader publication context (the journal) within which the given\n      publication node is embedded, not the publication itself.\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1160\n\n  authors:\n    is_a: node property\n    singular_name: author\n    description: >-\n      connects an publication to the list of authors who contributed to the publication.\n      This property should be a comma-delimited list of author names. It is recommended that an author's name\n      be formatted as \"surname, firstname initial.\".   Note that this property is a node annotation expressing\n      the citation list of authorship which might typically otherwise be more completely documented in\n      biolink:PublicationToProviderAssociation defined edges which point to full details about an author\n      and possibly, some qualifiers which clarify the specific status of a given author in the publication.\n    multivalued: true\n    domain: publication\n\n  volume:\n    is_a: node property\n    description: >-\n      volume of a book or music release in a collection/series or a published collection of journal issues in a serial publication\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P478\n\n  chapter:\n    is_a: node property\n    description: >-\n      chapter of a book\n    domain: book chapter\n    exact_mappings:\n      - WIKIDATA:Q1980247\n\n  issue:\n    is_a: node property\n    description: >-\n      issue of a newspaper, a scientific journal or magazine for reference purpose\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P433\n\n  pages:\n    is_a: node property\n    description: >-\n      page number of source referenced for statement or publication\n    domain: publication\n    multivalued: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P304\n\n  summary:\n    is_a: node property\n    # since 'abstract' is a linkML keyword denoting a non-instantiable class or slot,\n    # it is generally recommended that knowledge graphs use 'summary' instead to tag a Publication 'abstract'\n    aliases: [ 'abstract' ]\n    description: >-\n      executive  summary of a publication\n    domain: publication\n    exact_mappings:\n      - dct:abstract\n      - WIKIDATA:Q333291\n\n  keywords:\n    is_a: node property\n    description: >-\n      keywords tagging a publication\n    domain: publication\n    multivalued: true\n\n  mesh terms:\n    is_a: node property\n    description: >-\n      mesh terms tagging a publication\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - MESH\n    multivalued: true\n    exact_mappings:\n      - dcid:MeSHTerm\n\n  ## Biology\n\n  has biological sequence:\n    is_a: node property\n    description: >-\n      connects a genomic feature to its sequence\n    range: biological sequence\n\n  has gene or gene product:\n    is_a: node property\n    description: >-\n      connects an entity with one or more gene or gene products\n    range: gene\n    multivalued: true\n\n  has gene:\n    is_a: has gene or gene product\n    description: >-\n      connects an entity associated with one or more genes\n    range: gene\n    multivalued: true\n\n  has zygosity:\n    is_a: node property\n    domain: nucleic acid entity\n    range: zygosity\n\n  ## Chemistry, drugs and food\n\n  has chemical formula:\n    is_a: node property\n    range: chemical formula value\n    description: >-\n      description of chemical compound based on element symbols\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P274\n\n  is metabolite:\n    is_a: node property\n    domain: molecular entity\n    range: boolean\n    description: >-\n      indicates whether a molecular entity is a metabolite\n    exact_mappings:\n      - CHEBI:25212\n\n  has constituent:\n    description: >-\n      one or more molecular entities within a chemical mixture\n    is_a: node property\n    range: molecular entity\n    multivalued: true\n\n  has drug:\n    is_a: node property\n    description: >-\n      connects an entity to one or more drugs\n    range: drug\n    multivalued: true\n\n  has device:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) devices\n    range: device\n    multivalued: true\n\n  has procedure:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) procedures\n    range: procedure\n    multivalued: true\n\n  ## Clinical exposures\n\n  has receptor:\n    is_a: node property\n    domain: exposure event\n    range: organismal entity\n    description: >-\n      the organism or organism part being exposed\n    exact_mappings:\n      - ExO:0000001\n\n  has stressor:\n    is_a: node property\n    domain: exposure event\n    aliases: [ 'has stimulus' ]\n    description: >-\n      the process or entity that the receptor is being exposed to\n    exact_mappings:\n      - ExO:0000000\n\n  has route:\n    is_a: node property\n    domain: exposure event\n    description: >-\n      the process that results in the stressor coming into direct contact with the receptor\n    exact_mappings:\n      - ExO:0000055\n    narrow_mappings:\n      - LOINC:has_pharmaceutical_route\n      - SNOMED:has_dose_form_intended_site\n      - SNOMED:has_route_of_administration\n\n  has population context:\n    deprecated: true\n    description: >-\n      a biological population (general, study, cohort, etc.) with a specific\n      set of characteristics to constrain an association.\n    is_a: association slot\n    range: population of individual organisms\n\n  population context qualifier:\n    description: >-\n      a biological population (general, study, cohort, etc.) with a specific\n      set of characteristics to constrain an association.\n    is_a: association slot\n    range: population of individual organisms\n\n  has temporal context:\n    deprecated: true\n    description: >-\n      a constraint of time placed upon the truth value of an association.\n    is_a: association slot\n    range: time type\n\n  temporal context qualifier:\n    description: >-\n      a constraint of time placed upon the truth value of an association.\n      for time intervales, use temporal interval qualifier.\n    is_a: association slot\n    range: time type\n\n  temporal interval qualifier:\n    is_a: temporal context qualifier\n    description: >-\n      a constraint of a time interval placed upon the truth value of an\n      association.\n\n  is supplement:\n    description: >-\n    is_a: node property\n    range: chemical mixture\n\n  trade name:\n    description: >-\n    is_a: node property\n    range: chemical entity\n\n  available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: drug_availability_enum\n\n  is toxic:\n    description: >-\n    is_a: node property\n    multivalued: false\n    range: boolean\n\n  has chemical role:\n    is_a: node property\n    description: >-\n      A role is particular behaviour which a material entity may exhibit.\n    range: chemical role\n    multivalued: true\n\n  max tolerated dose:\n    description: >-\n      The highest dose of a drug or treatment that does not cause unacceptable side effects.\n      The maximum tolerated dose is determined in clinical trials by testing increasing doses\n      on different groups of people until the highest dose with acceptable side effects is\n      found. Also called MTD.\n    is_a: node property\n    multivalued: false\n    range: string\n\n  animal model available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: disease or phenotypic feature\n\n  FDA adverse event level:\n    description: >-\n    is_a: association slot\n    range: FDA_IDA_adverse_event_enum\n\n  highest FDA approval status:\n    description: >-\n      Should be the highest level of FDA approval this chemical entity or device has, regardless of which\n      disease, condition or phenotype it is currently being reviewed to treat.  For specific levels of FDA\n      approval for a specific condition, disease, phenotype, etc., see the association slot, 'FDA approval status.'\n\n  drug regulatory status world wide:\n    aliases: [ 'max phase' ]\n    description: >-\n      An agglomeration of drug regulatory status worldwide. Not specific to FDA.\n    exact_mappings:\n      - NCIT:C172573\n    narrow_mappings:\n      - NCIT:R172\n      - NCIT:regimen_has_accepted_use_for_disease\n      # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n\n  routes of delivery:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    multivalued: true\n    range: drug_delivery_enum\n\n  ## -------------------\n  ## QUALIFIERS\n  ## -------------------\n\n  form or variant qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object concept to define a specific type, variant,\n      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.\n      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept\n      ‘a mutation of Gene X’.\n    examples:\n      - value: mutation\n    notes: >-\n      please see the chemical_or_gene_or_gene_product_form_enum (below) for examples of 'form or variant qualifier'\n      terms in the gene->chemical association space. \n\n  aspect qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which\n      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that\n      inheres in the core concept.\n    examples:\n      - value: stability\n      - value: abundance\n      - value: expression\n      - value: exposure\n    notes: >-\n      for good examples of aspects in the gene-> chemical space, please see the \n      gene_or_gene_product_or_chemical_entity_aspect_enum (below) which lists many aspects that can be used to qualify \n      the gene making the full subject a different ontological type.  \n\n  derivative qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object  concept to describe something that is derived from the\n      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express\n      the composed concept ‘a metabolite of Chemical X’.\n    examples:\n      - value: metabolite\n\n  part qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can\n      use to directly represent it, e.g. 'ESR1 transcript' q: polyA tail).\n    examples:\n      - value: polyA tail\n      - value: upstream control region\n\n  context qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Restricts the setting/context/location where the core concept (or qualified core concept) resides or occurs.\n    examples:\n      - value: cohort x\n      - value: blood\n      - value: gut microbiome\n\n  direction qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.\n\n  subject aspect qualifier:\n    is_a: aspect qualifier\n\n  subject form or variant qualifier:\n    is_a: form or variant qualifier\n\n  subject part qualifier:\n    is_a: part qualifier\n\n  subject derivative qualifier:\n    is_a: derivative qualifier\n\n  subject context qualifier:\n    is_a: context qualifier\n\n  subject direction qualifier:\n    is_a: direction qualifier\n\n  object aspect qualifier:\n    is_a: aspect qualifier\n\n  object form or variant qualifier:\n    is_a: form or variant qualifier\n\n  object part qualifier:\n    is_a: part qualifier\n\n  object derivative qualifier:\n    is_a: derivative qualifier\n\n  object context qualifier:\n    is_a: context qualifier\n\n  object direction qualifier:\n    is_a: direction qualifier\n    range: direction_qualifier_enum\n\n  qualified predicate:\n    is_a: association slot\n    description: >-\n      predicate to be used in an association when subject and object qualifiers are present and the full\n      reading of the statement requires a qualification to the predicate in use in order to refine or \n      increase the specificity of the full statement reading\n\n  statement qualifier:\n    is_a: association slot\n    description: >-\n\n  causal mechanism qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a type of molecular control mechanism through which an\n      effect of a chemical on a gene or gene product is mediated (e.g. 'agonism', 'inhibition',\n      'allosteric modulation', 'channel blocker')\n\n  anatomical context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing an anatomical location where an relationship expressed in an\n      association took place (can be a tissue, cell type, or subcellular location).\n    range: anatomical_context_qualifier_enum\n    notes: >-\n      Anatomical context values can be any term from UBERON. See anatomical_context_qualifier_enum for more\n      details.\n\n  species context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a taxonomic category of species in which a relationship\n      expressed in an association took place.\n    range: organism taxon\n\n  qualifiers:\n    singular_name: qualifier\n    description: >-\n      connects an association to qualifiers that modify or\n      qualify the meaning of that association\n    local_names:\n      ga4gh: annotation qualifier\n    is_a: association slot\n    multivalued: true\n    range: ontology class\n\n  frequency qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state how frequent the phenotype is observed in the subject\n    is_a: association slot\n    range: frequency value\n\n  severity qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      how severe the phenotype is in the subject\n    is_a: association slot\n    range: severity value\n\n  sex qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state whether\n      the association is specific to a particular sex.\n    is_a: association slot\n    range: biological sex\n\n  onset qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      when the phenotype appears is in the subject\n    is_a: association slot\n    range: onset\n\n  clinical modifier qualifier:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    is_a: association slot\n    range: clinical modifier\n\n  sequence variant qualifier:\n    description: >-\n      a qualifier used in an association with the variant\n    is_a: association slot\n    range: sequence variant\n\n  quantifier qualifier:\n    is_a: association slot\n    range: ontology class\n    description: >-\n      A measurable quantity for the object of the association\n    narrow_mappings:\n      # TODO: RTX contributed terms mapped here... May need review?\n      - LOINC:analyzes\n      - LOINC:measured_by\n      - LOINC:property_of\n      - SEMMEDDB:measures\n      - UMLS:measures\n\n  catalyst qualifier:\n    is_a: association slot\n    multivalued: true\n    range: macromolecular machine mixin\n    description: >-\n      a qualifier that connects an association between two causally connected\n      entities (for example, two chemical entities, or a chemical entity in\n      that changes location) and the gene product, gene, or complex that\n      enables or catalyzes the change.\n\n  stage qualifier:\n    description: >-\n      stage during which gene or protein expression of takes place.\n    is_a: association slot\n    range: life stage\n    # path: \"object/during\"\n    examples:\n      - value: UBERON:0000069\n        description: larval stage\n\n  ## --------------------\n  ## PREDICATES/RELATIONS\n  ## --------------------\n\n  related to:\n    description: >-\n      A relationship that is asserted between two named things\n    domain: named thing\n    range: named thing\n    multivalued: true\n    inherited: true\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:relatedMatch\n      - UMLS:related_to\n    broad_mappings:\n      - owl:topObjectProperty\n    narrow_mappings:\n      - SEMMEDDB:compared_with\n      - SEMMEDDB:higher_than\n      - SEMMEDDB:lower_than\n      - BFO:0000054\n      - UBERON_CORE:protects\n      - GOREL:0002005\n      - GOREL:0012006\n      # several of the following terms mapped here by RTX could merit upgrade to new Biolink terms\n      - BTO:related_to\n      - CHEBI:is_conjugate_acid_of\n      - CHEBI:is_conjugate_base_of\n      - CPT:has_add_on_code\n      - CPT:mapped_to\n      - EFO:0006351\n      - FMA:connected_to\n      - FMA:continuous_with\n      - FMA:homonym_of\n      - FMA:related_developmental_entity_of\n      - RO:0002093\n      - RO:0002092\n      - RO:0002084\n      - HCPCS:mapped_to\n      # RTX contributed terms, perhaps belong somewhere else with more precise semantics?\n      - HMDB:disease\n      - HMDB:has_protein_association\n      - IAO:0000136\n      - LOINC:has_answer\n      - LOINC:has_challenge\n      - LOINC:has_evaluation\n      - LOINC:mapped_to\n      - LOINC:mth_has_expanded_form\n      - MESH:RO\n      - MESH:has_mapping_qualifier\n      - MESH:mapped_to\n      - MONDO:disease_shares_features_of\n      - NCIT:disease_may_have_associated_disease\n      - NCIT:human_disease_maps_to_eo_disease\n      - NCIT:is_abnormal_cell_of_disease\n      - NCIT:is_related_to_endogenous_product\n      - UBERON_NONAMESPACE:connected_to\n      - UBERON_NONAMESPACE:innervated_by\n      - NBO-PROPERTY:is_about\n      - RO:0000053 # bearer_of\n      - PATO:reciprocal_of\n      - RO:0000052\n      - RO:0002001\n      - RO:0002002\n      - RO:0002003\n      - RO:0002008\n      - RO:0002134\n      - RO:0002150\n      - RO:0002159\n      - RO:0002176\n      - RO:0002177\n      - RO:0002178\n      - RO:0002179\n      - RO:0002314\n      - RO:0002322\n      # functionally related to\n      - RO:0002328\n      - RO:0002332\n      - RO:0002338\n      - RO:0002339\n      - RO:0002341\n      - RO:0002342\n      - RO:0002344\n      - RO:0002348\n      - RO:0002349\n      - RO:0002356\n      - RO:0002371\n      - RO:0002372\n      - RO:0002373\n      - RO:0002374\n      - RO:0002385\n      - RO:0002387\n      - RO:0002451\n      - RO:0002494\n      - RO:0002495\n      - RO:0002568\n      - RO:0002573\n      - RO:0004026\n      - RO:0004027\n      - RO:0009001\n      - RO:0009004\n      - RXNORM:has_form\n      - RXNORM:reformulated_to\n      - SNOMED:has_associated_morphology\n      - SNOMED:has_associated_procedure\n      - SNOMED:has_direct_morphology\n      - SNOMED:has_disposition\n      - SNOMED:has_indirect_morphology\n      - SNOMED:has_modification\n      - SNOMED:has_procedure_morphology\n      - SNOMED:has_specimen_source_morphology\n      - SNOMED:inheres_in\n      - SNOMED:is_interpreted_by\n      - SNOMED:relative_to_part_of\n      - UBERON:synapsed_by\n      - UMLS:RO\n      - UMLS:RQ\n      - UMLS:class_code_classified_by\n      - UMLS:exhibited_by\n      - UMLS:has_context_binding\n      - UMLS:has_form\n      - UMLS:has_mapping_qualifier\n      - UMLS:larger_than\n      - UMLS:mapped_to\n      - UMLS:owning_section_of\n\n  related to at concept level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between terminology components that describe the conceptual model of a domain.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  related to at instance level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between two instances of a data classes.  Much like an assertion component,\n      in an ABox, these represent facts associated with the conceptual model.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  associated with:\n    is_a: related to at instance level\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      (though not in all cases), and is weaker than its child, 'correlated with', but stronger than its parent,\n      'related to'. This relationship holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated.  E.g. the statement “Atrial Fibrillation (Afib) is associated with Myocardial \n      Infarction (MI)” asserts that having Afib is not statistically independent from whether a patient \n      will also have MI. Note that in Translator associations, the subject and object concepts may map exactly to \n      the statistical variables, or represent related entities for which the variables serve as proxies in an \n      Association (e.g. diseases, chemical entities or processes).\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    domain: named thing\n    range: named thing\n    exact_mappings:\n      - SEMMEDDB:associated_with\n    narrow_mappings:\n      - RO:0004029\n      - SNOMEDCT:47429007\n\n  superclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a super class of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: True\n    inverse: subclass of\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q66088480\n      - CHEMBL.MECHANISM:superset_of\n      - GO:inverse_isa\n      - MESH:inverse_isa\n      - RXNORM:inverse_isa\n      - VANDF:inverse_isa\n    narrow_mappings:\n      - NCIT:cdrh_parent_of\n      - NCIT:ctcae_5_parent_of\n      - NCIT:subset_includes_concept\n      - OMIM:has_manifestation\n      - SNOMED:has_basic_dose_form\n      - UMLS:RB\n    annotations:\n      opposite_of: subclass of\n\n  subclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a specialization of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: True\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: superclass of\n    close_mappings:\n      # RTX\n      - LOINC:class_of\n      - LOINC:has_class\n    exact_mappings:\n      - rdfs:subClassOf\n      - SEMMEDDB:IS_A\n      - SEMMEDDB:isa\n      - WIKIDATA_PROPERTY:P279\n      - CHEMBL.MECHANISM:subset_of\n      - GO:isa\n      - MESH:isa\n      - RXNORM:isa\n      - VANDF:isa\n    narrow_mappings:\n      - CHEBI:has_parent_hydride\n      - LOINC:has_archetype\n      - LOINC:has_parent_group\n      - LOINC:is_presence_guidance_for\n      - NCIT:gene_product_has_chemical_classification\n      # RTX mapped terms classes for biomarkers\n      - NCIT:R36\n      - NCIT:R42\n      - NCIT:A16\n      - NCIT:A11\n      - NCIT:A14\n      - NCIT:A3\n      - NDDF:has_dose_form\n      - RXNORM:has_dose_form\n      - RXNORM:has_doseformgroup\n      - SNOMED:entire_anatomy_structure_of\n      - SNOMED:has_dose_form\n      # RTX mapping\n      - rdfs:subPropertyOf\n\n  same as:\n    is_a: exact match\n    description: >-\n      holds between two entities that are considered equivalent to each other\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # identical class extension with identical sets of individuals\n      - owl:equivalentClass\n    exact_mappings:\n      # identical individual, or identical class concept/meaning\n      - owl:sameAs\n      - skos:exactMatch\n      # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      # RTX suggests mapping this to proposed new \"biolink:close_match\" predicate instead\n      #- SEMMEDDB:SAME_AS\n      - WIKIDATA_PROPERTY:P2888\n      - CHEMBL.MECHANISM:equivalent_to\n      - MONDO:equivalentTo\n    narrow_mappings:\n      - DRUGBANK:external-identifier\n\n  close match:\n    is_a: related to at concept level\n    description: >-\n      a list of terms from different schemas or terminology systems that have\n      a semantically similar but not strictly equivalent, broader, or narrower\n      meaning. Such terms often describe the same general concept from\n      different ontological perspectives (e.g. drug as a type of chemical\n      entity versus drug as a type of role borne by a chemical entity).\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:closeMatch\n      # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      - SEMMEDDB:SAME_AS\n      - SEMMEDDB:same_as\n    narrow_mappings:\n      - CHEBI:is_enantiomer_of\n      - CHEBI:is_tautomer_of\n      - MEDDRA:classified_as\n      - OIO:hasDbXref\n      - oboformat:xref\n      - RXNORM:has_quantified_form\n      - UMLS:SY\n\n  exact match:\n    is_a: close match\n    description: >-\n      holds between two entities that have strictly equivalent\n      meanings, with a high degree of confidence\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:exactMatch\n      - WIKIDATA:Q39893449\n      - WIKIDATA:P2888\n\n  broad match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a broader, more general meaning. Broader terms are\n      typically shown as parents in a hierarchy or tree.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: narrow match\n    exact_mappings:\n      - skos:broadMatch\n      - WIKIDATA:Q39894595\n\n  narrow match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a narrower, more specific meaning. Narrower terms are\n      typically shown as children in a hierarchy or tree.\n    is_a: related to at concept level\n    inverse: broad match\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - skos:narrowMatch\n      - WIKIDATA:Q39893967\n    annotations:\n      opposite_of: broad match\n\n  opposite of:\n    description: >-\n      x is the opposite of y if there exists some distance metric M, and there exists\n      no z such as M(x,z) <= M(x,y) or M(y,z) <= M(y,x). (This description is from RO. Needs to be rephrased).\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002604\n    see_also:\n      - https://doi.org/10.1101/108977\n      - https://github.com/biolink/biolink-model/issues/657\n\n  has real world evidence of association with:\n    deprecated: true\n\n  associated with likelihood of:\n    is_a: associated with\n    description: >-\n      A a relationship that holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated, wherein the state or value of one variable predicts the future state \n      or value of the other.  E.g. the statement “An Atrial Fibrillation (Afib) diagnosis is associated \n      with likelihood of a Myocardial Infarction (MI) diagnosis” asserts that the state of having Afib \n      is associated with an increased or decreased likelihood that a patient will later exhibit MI. \n\n  likelihood associated with:\n    is_a: associated with\n    description: >-\n    inverse: associated with likelihood of\n\n  associated with increased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is more probable. \n\n  increased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with increased likelihood of\n\n  associated with decreased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is less probable. \n\n  decreased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with decreased likelihood of\n\n  target for:\n    is_a: related to at instance level\n    description: >-\n      A gene is a target of a disease when its products are druggable and when a drug interaction with the gene\n      product could have a therapeutic effect\n    annotations:\n      canonical_predicate: true\n    domain: gene\n    range: disease\n\n  has target:\n    is_a: related to at instance level\n    inverse: target for\n    domain: disease\n    range: gene\n\n  active in:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: cellular component\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002432\n\n  has active component:\n    inverse: active in\n\n  acts upstream of:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002263\n\n  has upstream actor:\n    is_a: related to at instance level\n    inverse: acts upstream of\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004034\n\n  has positive upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004035\n\n  has negative upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of negative effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002264\n\n  has upstream or within actor:\n    is_a: has upstream actor\n    inverse: acts upstream of or within\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004032\n\n  has positive upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004033\n\n  has negative upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within negative effect\n    domain: biological process\n    range: gene or gene product\n\n    ## Publication related predicates\n  mentions:\n    description: >-\n      refers to is a relation between one information content entity and the named thing\n      that it makes reference to.\n    is_a: related to at instance level\n    exact_mappings:\n      - IAO:0000142\n    narrow_mappings:\n      - SIO:000628\n\n  mentioned by:\n    description: >-\n      refers to is a relation between one named thing and the information content entity\n      that it makes reference to.\n    is_a: related to at instance level\n    inverse: mentions\n\n  ## Publication related predicates\n\n  contributor:\n    is_a: related to at instance level\n    domain: information content entity\n    range: agent\n    comments:\n      - This is a grouping for predicates relating entities to their associated contributors realizing them\n    abstract: true\n    exact_mappings:\n      - dct:contributor\n\n  has contributor:\n    inverse: contributor\n    is_a: related to at instance level\n    domain: agent\n    range: information content entity\n\n  provider:\n    is_a: contributor\n    description: >-\n      person, group, organization or project that provides a piece of information (e.g. a knowledge association).\n\n  has provider:\n    inverse: provider\n    is_a: has contributor\n    domain: agent\n    range: information content entity\n\n  publisher:\n    is_a: contributor\n    domain: publication\n    description: >-\n      organization or person responsible for publishing books, periodicals, podcasts, games or software.\n      Note that in the case of publications which have a containing \"published in\" node property, the publisher\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the publisher agent of the encompassing publication\n      (e.g. only from the Journal referenced by the 'published_in' property of an journal article Publication node).\n    exact_mappings:\n      - dct:publisher\n      - WIKIDATA_PROPERTY:P123\n\n  has publisher:\n    is_a: has contributor\n    inverse: publisher\n    domain: agent\n    range: publication\n\n  editor:\n    is_a: contributor\n    domain: publication\n    description: >-\n      editor of a compiled work such as a book or a periodical (newspaper or an academic journal).\n      Note that in the case of publications which have a containing \"published in\" node property, the editor\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the editorial agent of the encompassing publication\n      (e.g. only from the Book referenced by the 'published_in' property of a book chapter Publication node).\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P98\n\n  has editor:\n    inverse: editor\n    is_a: has contributor\n    domain: agent\n    range: publication\n\n  author:\n    is_a: contributor\n    domain: publication\n    description: >-\n      an instance of one (co-)creator primarily responsible for a written work\n    exact_mappings:\n      - dct:creator\n      - WIKIDATA_PROPERTY:P50\n\n  has author:\n    inverse: author\n    is_a: has contributor\n    domain: agent\n    range: publication\n\n  ## end of Publication related predicates\n\n  assesses:\n    aliases: [ 'was assayed against' ]\n    description: >-\n      The effect of a thing on a target was interrogated in some assay.\n      A relationship between some perturbing agent (usually a chemical compound) and some target entity,\n      where the affect of the perturbing agent on the target entity was interrogated in a particular assay.\n      The target might be a particular protein, tissue, phenotype, whole organism, cell line, or other type\n      of biological entity.\n    domain: named thing\n    range: named thing\n    annotations:\n      canonical_predicate: true\n\n  is assessed by:\n    inverse: assesses\n    domain: named thing\n    range: named thing\n\n  interacts with:\n    abstract: true\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between any two entities that directly or indirectly interact with each other\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002434\n      - SEMMEDDB:interacts_with\n    narrow_mappings:\n      # RO terms RTX mapped to 'biolink:related_to' but which imply a chemical interaction\n      - RO:0002103\n      - RO:0002120\n      - RO:0002130\n    notes: >-\n      please use a more specific child predicate of interacts with, either physically interacts with\n      or genetically interacts with. \n\n  physically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two entities that make physical contact as part of some interaction. \n      does not imply a causal relationship.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P129\n    close_mappings:\n      - CHEMBL.MECHANISM:binding_agent\n      - CHEMBL.MECHANISM:chelating_agent\n      - CHEMBL.MECHANISM:cross-linking_agent\n      - CHEMBL.MECHANISM:oxidative_enzyme\n      - CHEMBL.MECHANISM:sequestering_agent\n      - CHEMBL.MECHANISM:substrate\n      - DRUGBANK:target\n    narrow_mappings:\n      # Defined more narrowly as \"substance interaction\", thus specific applies to a subclass entities\n      - DRUGBANK:drug-interaction\n      - FMA:adheres_to\n      - NCIT:A7\n      - PR:non-covalently_bound_to\n\n  directly physically interacts with:\n    is_a: physically interacts with\n    description: >-\n      A causal mechanism mediated by a direct contact between the effector and target entities (this contact may \n      be weak or strong, transient or stable).\n    symmetric: true\n\n  binds:\n    is_a: directly physically interacts with\n    description: >-\n      A causal mechanism mediated by the direct contact between effector and target chemical or biomolecular entity, \n      which form a stable physical interaction.\n    symmetric: true\n\n  indirectly physically interacts with:\n    is_a: physically interacts with\n    symmetric: true\n\n  chemically interacts with:\n    deprecated: true\n    is_a: physically interacts with\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    symmetric: true\n\n  molecularly interacts with:\n    deprecated: true\n    is_a: physically interacts with\n    aliases: [ 'targets' ]\n    domain: molecular entity\n    range: molecular entity\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - DGIdb:antibody\n    exact_mappings:\n      - RO:0002436\n\n  genetically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two genes whose phenotypic effects are dependent on each\n      other in some way - such that their combined phenotypic effects are the\n      result of some interaction between the activity of their gene products.\n      Examples include epistasis and synthetic lethality.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    exact_mappings:\n      - RO:0002435\n\n  affects:\n    is_a: related to at instance level\n    description: >-\n      describes an entity that has a direct affect on the state or quality\n      of another existing entity. Use of the 'affects' predicate implies that\n      the affected entity already exists, unlike predicates such as\n      'affects risk for' and 'prevents, where the outcome is something\n      that may or may not come to be.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # Contributed by RTX. Seems possible that a new predicate \"biolink:in_pathway\" could be justified?\n      - DRUGBANK:pathway\n    exact_mappings:\n      - SEMMEDDB:AFFECTS\n      - SEMMEDDB:affects\n      - DGIdb:affects\n    narrow_mappings:\n      - SEMMEDDB:administered_to\n      - CTD:prediction_hypothesis\n      - GOREL:0001006\n      - CTD:inferred\n      - UPHENO:0000001\n      - RO:0002263\n      - RO:0002264\n      - NCIT:R158\n      - NCIT:R160\n      - NCIT:R30\n      - NCIT:R150\n      - NCIT:R72\n      - NCIT:R146\n      - NCIT:R124\n      - NCIT:R173\n      - NCIT:R100\n      - NCIT:R102\n      - NCIT:R101\n      - NCIT:R113\n      - NCIT:R23\n      - NCIT:R25\n      - NCIT:gene_mapped_to_disease\n      - NCIT:R133\n      - RO:0002343\n      - RO:0002355\n      - RO:0002591\n      - RO:0002592\n      - RO:0012003\n      - SNOMED:has_pathological_process\n\n  affected by:\n    is_a: related to at instance level\n    description: >-\n      describes an entity of which the state or quality is affected by\n      another existing entity.\n    inverse: affects\n\n  associated with sensitivity to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of sensitivity to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - PATO:0000085 # sensitivity toward\n    narrow_mappings:\n      - SNOMEDCT:418038007 # propensity to adverse reaction\n\n  sensitivity associated with:\n    is_a: associated with\n    inverse: associated with sensitivity to\n    range: named thing\n    domain: chemical entity\n\n  associated with resistance to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of resistance to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n\n  resistance associated with:\n    is_a: associated with\n    inverse: associated with resistance to\n    range: named thing\n    domain: chemical entity\n\n  diagnoses:\n    is_a: related to at instance level\n    description: >-\n      a relationship that identifies the nature of (an illness or other problem) by examination of the symptoms.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - NCIT:C15220 # diagnosis\n      - SIO:001331 # diagnosis\n    exact_mappings:\n      - DrugCentral:5271\n      - SEMMEDDB:diagnoses\n\n  is diagnosed by:\n    is_a: related to at instance level\n    inverse: diagnoses\n    range: chemical or drug or treatment\n    domain: disease or phenotypic feature\n\n  increases amount or activity of:\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that increase the amount\n      or activity of the object.\n\n  amount or activity increased by:\n    is_a: related to at instance level\n    inverse: increases amount or activity of\n\n  decreases amount or activity of:\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that decrease the amount\n      or activity of the object.\n\n  amount or activity decreased by:\n    is_a: related to at instance level\n    inverse: decreases amount or activity of\n\n  ## role mixins for use in tagging corresponding role predicates\n\n  chemical role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a chemical context.\n    mixin: true\n    exact_mappings:\n      - CHEBI:51086\n\n  biological role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a biological context.\n    mixin: true\n    narrow_mappings:\n      - CHEBI:24432\n\n  affects abundance of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one changes the amount of the\n      other within a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_abundance_of\n\n  abundance affected by:\n    deprecated: true\n    is_a: affected by\n    inverse: affects abundance of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  increases abundance of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one increases the \n      amount of the other within a system of interest\n    is_a: affects abundance of\n    in_subset:\n      - translator_minimal\n    mixins:\n      - increases amount or activity of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases abundance of\n    related_mappings:\n      - UBERGRAPH:is_increase_of\n\n  abundance increased by:\n    deprecated: true\n    is_a: abundance affected by\n    inverse: increases abundance of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  decreases abundance of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one\n      decreases the amount of the other within a system of interest\n    is_a: affects abundance of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases abundance of\n\n    related_mappings:\n      - UBERGRAPH:is_decrease_of\n\n  abundance decreased by:\n    deprecated: true\n    is_a: abundance affected by\n    inverse: decreases abundance of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  increases activity of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one\n      increases the activity of the other within a system of interest\n    is_a: affects activity of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    related_mappings:\n      - GAMMA:ec50\n      - GAMMA:ac50\n    narrow_mappings:\n      - GAMMA:activator\n      - GAMMA:partial_agonist\n      - GAMMA:agonist\n      - GAMMA:opener\n      - GAMMA:positive_allosteric_modulator\n      - GAMMA:positive_modulator\n      - GAMMA:inducer\n      - GAMMA:potentiator\n      - GAMMA:stimulator\n      - CHEMBL.MECHANISM:agonist\n      - CHEMBL.MECHANISM:opener\n      - CHEMBL.MECHANISM:partial_agonist\n      - CHEMBL.MECHANISM:positive_allosteric_modulator\n      - CHEMBL.MECHANISM:positive_modulator\n      - DGIdb:agonist\n      - DGIdb:partial_agonist\n      - DGIdb:inducer\n      - DGIdb:positive_allosteric_modulator\n      - DGIdb:stimulator\n    annotations:\n      opposite_of: decreases activity of\n\n  affects activity of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one changes the activity of the\n      other within a system of interest\n    is_a: affects\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    narrow_mappings:\n      - GAMMA:allosteric_modulator\n      - GAMMA:modulator\n      - GAMMA:regulator\n      - DGIdb:modulator\n      - DGIdb:allosteric_modulator\n\n  activity affected by:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one is changed by the\n      activity of the other within a system of interest\n    is_a: affected by\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects activity of\n\n  activity increased by:\n    deprecated: true\n    is_a: activity affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases activity of\n\n  decreases activity of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product where the action or effect of one decreases the\n      activity of the other within a system of interest\n    is_a: affects activity of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases activity of\n    mixins:\n      - decreases amount or activity of\n    related_mappings:\n      - GAMMA:ic50\n      - GAMMA:ki\n      - DGIdb:vaccine\n    narrow_mappings:\n      - GAMMA:allosteric_antagonist\n      - GAMMA:partial_antagonist\n      - GAMMA:antagonist\n      - GAMMA:weak_inhibitor\n      - GAMMA:inhibitor\n      - GAMMA:channel_blocker\n      - GAMMA:gating_inhibitor\n      - GAMMA:blocker\n      - GAMMA:inverse_agonist\n      - GAMMA:inactivator\n      - GAMMA:downregulator\n      - GAMMA:negative_modulator\n      - GAMMA:negative_allosteric_modulator\n      - GAMMA:inhibitory_allosteric_modulator\n      - GAMMA:aggregation_inhibitor\n      - GAMMA:conversion_inhibitor\n      - GAMMA:suppressor\n      - CHEMBL.MECHANISM:antagonist\n      - CHEMBL.MECHANISM:allosteric_antagonist\n      - CHEMBL.MECHANISM:inverse_agonist\n      - DGIdb:antagonist\n      - DGIdb:blocker\n      - DGIdb:channel_blocker\n      - DGIdb:gating_inhibitor\n      - DGIdb:inhibitor\n      - DGIdb:negative_modulator\n      - DGIdb:inhibitory_allosteric_modulator\n      - DGIdb:inverse_agonist\n\n  activity decreased by:\n    deprecated: true\n    is_a: activity affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases activity of\n\n\n  affects expression of:\n    deprecated: true\n    description: >-\n      holds between a named thing (most often a chemical or gene/gene product, but can also be used to link an\n      environmental affect on expression) and a nucleic acid entity where the action or effect of one changes the\n      level of expression of the other within a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: named thing\n    range: nucleic acid entity\n\n  expression affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: named thing\n    inverse: affects expression of\n\n  increases expression of:\n    deprecated: true\n    description: >-\n      holds between a chemical or gene/gene product entity and a nucleic acid entity\n      where the action or effect of one increases the level of expression of the\n      other within a system of interest\n    is_a: affects expression of\n    in_subset:\n      - translator_minimal\n    domain: named thing\n    range: nucleic acid entity\n    mixins:\n      - increases amount or activity of\n    close_mappings:\n      # Agent of the action or effect, not the relationship itself\n      - CHEMBL.MECHANISM:releasing_agent\n    exact_mappings:\n      - RO:0003003\n\n  expression increased by:\n    deprecated: true\n    is_a: expression affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: named thing\n    inverse: increases expression of\n\n  decreases expression of:\n    deprecated: true\n    description: >-\n      holds between a chemical or gene/gene product entity and a nucleic acid entity where the action or effect of one decreases the level of expression of the\n      other within a system of interest\n    is_a: affects expression of\n    in_subset:\n      - translator_minimal\n    domain: named thing\n    range: nucleic acid entity\n    mixins:\n      - decreases amount or activity of\n    related_mappings:\n      - DGIdb:antisense\n      - DGIdb:antisense_oligonucleotide\n    exact_mappings:\n      - RO:0003002\n    narrow_mappings:\n      - CHEMBL.MECHANISM:antisense_inhibitor\n\n  expression decreased by:\n    deprecated: true\n    is_a: expression affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: named thing\n    inverse: decreases expression of\n\n  affects folding of:\n    deprecated: true\n    description: >-\n      holds between a chemical or gene/gene product entity and a nucleic acid entity where the action or effect of one changes the rate\n      or quality of folding of the other\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: nucleic acid entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_folding_of\n\n\n  folding affected by:\n    deprecated: true\n    is_a: affected by\n    inverse: affects folding of\n    domain: nucleic acid entity\n    range: chemical entity or gene or gene product\n\n  increases folding of:\n    deprecated: true\n    description: >-\n      holds between a chemical or gene/gene product entity and a nucleic acid entity where the action or effect of one\n      increases the rate or quality of folding of the other\n    is_a: affects folding of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: nucleic acid entity\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases folding of\n    exact_mappings:\n      - CTD:increases_folding_of\n\n  folding increased by:\n    deprecated: true\n    is_a: folding affected by\n    inverse: increases folding of\n    domain: nucleic acid entity\n    range: chemical entity or gene or gene product\n\n  decreases folding of:\n    deprecated: true\n    description: >-\n      holds between a chemical or gene or gene product entity and a\n      nucleic acid entity where the action or effect of one\n      decreases the rate or quality of folding of the other\n    is_a: affects folding of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: nucleic acid entity\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases folding of\n    exact_mappings:\n      - CTD:decreases_folding_of\n\n  folding decreased by:\n    deprecated: true\n    is_a: folding affected by\n    inverse: decreases folding of\n    domain: nucleic acid entity\n    range: chemical entity or gene or gene product\n\n  affects localization of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one changes the\n      localization of the other within a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - GAMMA:storage\n    exact_mappings:\n      - GOREL:0002003\n\n  localization affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects localization of\n\n  increases localization of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one increases the proper\n      localization of the other within a system of interest\n    is_a: affects localization of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases localization of\n    exact_mappings:\n      - CTD:increases_localization_of\n\n  localization increased by:\n    deprecated: true\n    is_a: localization affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases localization of\n\n  decreases localization of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities where the action or effect of one decreases the proper localization of the other within a system of interest\n    is_a: affects localization of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases localization of\n    exact_mappings:\n      - CTD:decreases_localization_of\n\n\n  localization decreased by:\n    deprecated: true\n    is_a: localization affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases localization of\n\n  affects metabolic processing of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one impacts the\n      metabolic processing of the other within a system of interest\n    is_a: affects\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - GAMMA:catalytic_activity\n\n  metabolic processing affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects metabolic processing of\n\n  increases metabolic processing of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one increases the rate of\n      metabolic processing of the other within a system of interest\n    is_a: affects metabolic processing of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases metabolic processing of\n    exact_mappings:\n      - CTD:increases_metabolic_processing_of\n    narrow_mappings:\n      - NCIT:enzyme_metabolizes_chemical_or_drug\n\n  metabolic processing increased by:\n    deprecated: true\n    is_a: metabolic processing affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases metabolic processing of\n\n  decreases metabolic processing of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one decreases the rate of\n      metabolic processing of the other within a system of interest\n    is_a: affects metabolic processing of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases metabolic processing of\n    exact_mappings:\n      - CTD:decreases_metabolic_processing_of\n\n  metabolic processing decreased by:\n    deprecated: true\n    is_a: metabolic processing affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases metabolic processing of\n\n  affects molecular modification of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one leads changes in the molecular\n      modification(s) of the other (e.g. via post-translational modifications of proteins such as the addition of\n      phosphoryl group, or via redox reaction that adds or subtracts electrons)\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_molecular_modification_of\n    narrow_mappings:\n      - CTD:affects_acetylation\n      - CTD:affects_acylation\n      - CTD:affects_alkylation\n      - CTD:affects_amination\n      - CTD:affects_carbamoylation\n      - CTD:affects_ethylation\n      - CTD:affects_glutathionylation\n      - CTD:affects_glycation\n      - CTD:affects_glycosylation\n      - CTD:affects_glucuronidation\n      - CTD:affects_N-linked_glycosylation\n      - CTD:affects_O-linked_glycosylation\n      - CTD:affects_hydroxylation\n      - CTD:affects_lipidation\n      - CTD:affects_farnesylation\n      - CTD:affects_geranoylation\n      - CTD:affects_myristoylation\n      - CTD:affects_palmitoylation\n      - CTD:affects_prenylation\n      - CTD:affects_methylation\n      - CTD:affects_nitrosation\n      - CTD:affects_nucleotidylation\n      - CTD:affects_phosphorylation\n      - CTD:affects_ribosylation\n      - CTD:affects_ADP-ribosylation\n      - CTD:affects_sulfation\n      - CTD:affects_sumoylation\n      - CTD:affects_ubiquitination\n      - CTD:affects_oxidation\n      - CTD:affects_reduction\n      - CTD:affects_carboxylation\n\n  molecular modification affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects molecular modification of\n\n  increases molecular modification of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one leads to\n      increased molecular modification(s) of the other (e.g. via post-translational modifications of\n      proteins such as the addition of phosphoryl group, or via redox reaction that adds or subtracts electrons)\n    is_a: affects molecular modification of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases molecular modification of\n    exact_mappings:\n      - CTD:increases_molecular_modification_of\n    narrow_mappings:\n      - CTD:increases_acetylation\n      - CTD:increases_acylation\n      - CTD:increases_alkylation\n      - CTD:increases_amination\n      - CTD:increases_carbamoylation\n      - CTD:increases_ethylation\n      - CTD:increases_glutathionylation\n      - CTD:increases_glycation\n      - CTD:increases_glycosylation\n      - CTD:increases_glucuronidation\n      - CTD:increases_N-linked_glycosylation\n      - CTD:increases_O-linked_glycosylation\n      - CTD:increases_hydroxylation\n      - CTD:increases_lipidation\n      - CTD:increases_farnesylation\n      - CTD:increases_geranoylation\n      - CTD:increases_myristoylation\n      - CTD:increases_palmitoylation\n      - CTD:increases_prenylation\n      - CTD:increases_methylation\n      - CTD:increases_nitrosation\n      - CTD:increases_nucleotidylation\n      - CTD:increases_phosphorylation\n      - CTD:increases_ribosylation\n      - CTD:increases_ADP-ribosylation\n      - CTD:increases_sulfation\n      - CTD:increases_sumoylation\n      - CTD:increases_ubiquitination\n      - CTD:increases_oxidation\n      - CTD:increases_reduction\n      - CTD:increases_carboxylation\n      - GAMMA:acetylation\n      - GAMMA:oxidizer\n\n  molecular modification increased by:\n    deprecated: true\n    is_a: molecular modification affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases molecular modification of\n\n  decreases molecular modification of:\n    deprecated: true\n    description: >-\n      holds between two chemical entities  where the action or effect of one leads to\n      decreased molecular modification(s) of the other (e.g. via post-translational modifications of\n      proteins such as the addition of phosphoryl group, or via redox reaction that adds or subtracts electrons)\n    is_a: affects molecular modification of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases molecular modification of\n    exact_mappings:\n      - CTD:decreases_molecular_modification_of\n    narrow_mappings:\n      - CTD:decreases_acetylation\n      - CTD:decreases_acylation\n      - CTD:decreases_alkylation\n      - CTD:decreases_amination\n      - CTD:decreases_carbamoylation\n      - CTD:decreases_ethylation\n      - CTD:decreases_glutathionylation\n      - CTD:decreases_glycation\n      - CTD:decreases_glycosylation\n      - CTD:decreases_glucuronidation\n      - CTD:decreases_N-linked_glycosylation\n      - CTD:decreases_O-linked_glycosylation\n      - CTD:decreases_hydroxylation\n      - CTD:decreases_lipidation\n      - CTD:decreases_farnesylation\n      - CTD:decreases_geranoylation\n      - CTD:decreases_myristoylation\n      - CTD:decreases_palmitoylation\n      - CTD:decreases_prenylation\n      - CTD:decreases_methylation\n      - CTD:decreases_nitrosation\n      - CTD:decreases_nucleotidylation\n      - CTD:decreases_phosphorylation\n      - CTD:decreases_ribosylation\n      - CTD:decreases_ADP-ribosylation\n      - CTD:decreases_sulfation\n      - CTD:decreases_sumoylation\n      - CTD:decreases_ubiquitination\n      - CTD:decreases_oxidation\n      - CTD:decreases_reduction\n      - CTD:decreases_carboxylation\n      - GAMMA:deoxidizer\n\n  molecular modification decreased by:\n    deprecated: true\n    is_a: molecular modification affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases molecular modification of\n\n  affects synthesis of:\n    deprecated: true\n    description: >-\n      holds between two chemical entities where the action or effect \n      of one impacts the rate of chemical synthesis of the other\n    is_a: affects\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_synthesis_of\n\n  synthesis affected by:\n    deprecated: true\n    is_a: affected by\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects synthesis of\n    in_subset:\n      - translator_minimal\n\n  increases synthesis of:\n    deprecated: true\n    description: >-\n      holds between two chemical entities where the action or effect\n      of one increases the rate of chemical synthesis of the other\n    is_a: affects synthesis of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases synthesis of\n    exact_mappings:\n      - CTD:increases_synthesis_of\n\n  synthesis increased by:\n    deprecated: true\n    is_a: synthesis affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases synthesis of\n\n  decreases synthesis of:\n    deprecated: true\n    description: >-\n      holds between two chemical entities where the action or effect\n      of one decreases the rate of chemical synthesis of the other\n    is_a: affects synthesis of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases synthesis of\n    exact_mappings:\n      - GAMMA:inhibition_of_synthesis\n\n  synthesis decreased by:\n    deprecated: true\n    is_a: synthesis affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases synthesis of\n\n  affects degradation of:\n    deprecated: true\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      impacts the rate of degradation of the other within a system of interest,\n      where chemical degradation is defined act or process of simplifying or breaking\n      down a molecule into smaller parts, either naturally or artificially\n      (Oxford English Dictionary, UK, 1995)\n    is_a: affects\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_degradation_of\n    narrow_mappings:\n      - CTD:affects_cleavage\n      - CTD:affects_hydrolysis\n\n  degradation affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects degradation of\n\n  increases degradation of:\n    deprecated: true\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      increases the rate of degradation of the other within a system of interest\n    is_a: affects degradation of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases degredation of\n    related_mappings:\n      # An enzyme or reagent acts upon a substrate but that substrate may\n      # not necessarily be \"degraded\", i.e. broken into smaller parts\n      - GAMMA:substrate\n      # RTX put this under \"biolink:physically_interacts_with\" but rather we also put next to the GAMMA mapping\n      # That said, neither mapping feels like a comfortable fit here\n      - CHEMBL.MECHANISM:substrate\n    close_mappings:\n      # terms refer less to the action or effect than the agent of that action or effect\n      - CHEMBL.MECHANISM:degrader\n    narrow_mappings:\n      - CTD:increases_cleavage\n      - CTD:increases_hydrolysis\n      - GOREL:0002004\n\n  degradation increased by:\n    deprecated: true\n    is_a: degradation affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases degradation of\n\n  decreases degradation of:\n    deprecated: true\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      decreases the rate of degradation of the other within a system of interest\n    is_a: affects degradation of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases degredation of\n    exact_mappings:\n      - CTD:decreases_degradation_of\n    narrow_mappings:\n      - CTD:decreases_cleavage\n      - CTD:decreases_hydrolysis\n\n  degradation decreased by:\n    deprecated: true\n    is_a: degradation affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases degradation of\n\n  affects mutation rate of:\n    deprecated: true\n    description: >-\n      holds between a chemical entity and a nucleic acid entity where the action or effect of the\n      chemical entity impacts the rate of mutation of the nucleic acid entity within a system of interest\n    is_a: affects\n    domain: chemical entity or gene or gene product\n    range: nucleic acid entity\n    broad_mappings:\n    # Term 'mutagenesis' generally speaks generally of the process of\n    # 'production of genetic mutations':  this term says it is affected\n    # but not specifically how\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_mutation_rate_of\n\n  mutation rate affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: chemical entity or gene or gene product\n    inverse: affects mutation rate of\n\n  increases mutation rate of:\n    deprecated: true\n    description: >-\n      holds between a chemical entity and a nucleic acid entity where the action or effect of the\n      chemical entity increases the rate of mutation of the nucleic acid entity within a system of interest\n    is_a: affects mutation rate of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity\n    range: nucleic acid entity\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases mutation rate of\n    exact_mappings:\n      - CTD:increases_mutation_rate_of\n    broad_mappings:\n      # See 'affects mutation rate of' above\n      - CTD:increases_mutagenesis\n\n  mutation rate increased by:\n    deprecated: true\n    is_a: mutation rate affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: chemical entity\n    inverse: increases mutation rate of\n\n  decreases mutation rate of:\n    deprecated: true\n    description: >-\n      holds between a chemical entity and a nucleic acid entity where the action or effect of the\n      chemical entity decreases the rate of mutation of the nucleic acid entity within a system of interest\n    is_a: affects mutation rate of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity\n    range: nucleic acid entity\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases mutation rate of\n    exact_mappings:\n      - CTD:decreases_mutation_rate_of\n    broad_mappings:\n      # See 'affects mutation rate of' above\n      - CTD:decreases_mutagenesis\n\n  mutation rate decreased by:\n    deprecated: true\n    is_a: mutation rate affected by\n    in_subset:\n      - translator_minimal\n    domain: nucleic acid entity\n    range: chemical entity\n    inverse: decreases mutation rate of\n\n  affects response to:\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: response affected by\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_response_to\n\n  response affected by:\n    description: >-\n      holds between two chemical entities where the susceptibility of a biological entity or system\n      (e.g. an organism, cell, cellular component, macromolecular machine mixin,\n      biological or pathological process) of one is affected by the action of the other.\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n\n  increases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      increases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases response to\n    exact_mappings:\n      - CTD:increases_response_to\n\n  response increased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases response to\n\n  decreases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      decreases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases response to\n    exact_mappings:\n      - CTD:decreases_response_to\n    narrow_mappings:\n      - CTD:decreases_response_to_substance\n      - GAMMA:desensitize_the_target\n\n  response decreased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases response to\n\n  affects splicing of:\n    deprecated: true\n    description: >-\n      holds between a chemical entity and an mRNA where the action or effect\n      of the chemical entity impacts the splicing of the mRNA\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: transcript\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_RNA_splicing\n    broad_mappings:\n      - CTD:affects_splicing_of\n\n  splicing affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: transcript\n    range: chemical entity or gene or gene product\n    inverse: affects splicing of\n\n  increases splicing of:\n    deprecated: true\n    description: >-\n      holds between a chemical entity and an mRNA where the action or effect\n      of the chemical entity increases the proper splicing of the mRNA\n    is_a: affects splicing of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: transcript\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases splicing of\n    exact_mappings:\n      - CTD:increases_RNA_splicing\n    broad_mappings:\n      - CTD:increases_splicing_of\n\n  splicing increased by:\n    deprecated: true\n    is_a: splicing affected by\n    in_subset:\n      - translator_minimal\n    domain: transcript\n    range: chemical entity or gene or gene product\n    inverse: increases splicing of\n\n  decreases splicing of:\n    deprecated: true\n    description: >-\n      holds between a chemical entity and an mRNA where the action or\n      effect of the chemical entity decreases the proper splicing of the mRNA\n    is_a: affects splicing of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: transcript\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases splicing of\n    exact_mappings:\n      - CTD:decreases_RNA_splicing\n    broad_mappings:\n      - CTD:decreases_splicing_of\n\n  splicing decreased by:\n    deprecated: true\n    is_a: splicing affected by\n    in_subset:\n      - translator_minimal\n    domain: transcript\n    range: chemical entity or gene or gene product\n    inverse: decreases splicing of\n\n  affects stability of:\n    deprecated: true\n    description: >-\n      holds between two entities where the action or effect of one impacts\n      the stability of the other within a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - GAMMA:stabilization\n\n  stability affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects stability of\n\n  increases stability of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one\n      increases the stability of the other within a system of interest\n    is_a: affects stability of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases stability of\n    close_mappings:\n      # agent of the action or effect, not the relationship\n      - CHEMBL.MECHANISM:stabiliser\n\n  stability increased by:\n    deprecated: true\n    is_a: stability affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases stability of\n\n  decreases stability of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one decreases\n      the stability of the other within a system of interest\n    is_a: affects stability of\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases stability of\n    exact_mappings:\n      - CTD:decreases_stability_of\n\n  stability decreased by:\n    deprecated: true\n    is_a: stability affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases stability of\n\n  affects transport of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one impacts\n      the rate of transport of the other across some boundary in a system of interest\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_transport_of\n    narrow_mappings:\n      - RO:0002313\n      - RO:0002340\n      - RO:0002345\n\n  transport affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects transport of\n\n  increases transport of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one\n      increases the rate of transport of the other across some boundary in a system of interest\n    is_a: affects transport of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases transport of\n    close_mappings:\n      - GAMMA:carrier\n      - GAMMA:transporter\n\n  transport increased by:\n    deprecated: true\n    is_a: transport affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases transport of\n\n  decreases transport of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one\n      decreases the rate of transport of the other across some boundary in a system of interest\n    is_a: affects transport of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases transport of\n    exact_mappings:\n      - CTD:decreases_transport_of\n\n  transport decreased by:\n    deprecated: true\n    is_a: transport affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases transport of\n\n  affects secretion of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one impacts the\n      rate of secretion of the other out of a cell, gland, or organ\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_secretion_of\n    broad_mappings:\n      # 'export' more general than 'secretion'\n      - CTD:affects_export\n\n  secretion affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects secretion of\n\n  increases secretion of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one increases the\n      rate of secretion of the other out of a cell, gland, or organ\n    is_a: affects secretion of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases secretion of\n    exact_mappings:\n      - CTD:increases_secretion_of\n    broad_mappings:\n      # 'export' more general than 'secretion'\n      - CTD:increases_export\n\n  secretion increased by:\n    deprecated: true\n    is_a: secretion affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases secretion of\n\n  decreases secretion of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one decreases the\n      rate of secretion of the other out of a cell, gland, or organ\n    is_a: affects secretion of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases secretion of\n    exact_mappings:\n      - CTD:decreases_secretion_of\n    broad_mappings:\n      # 'export' more general than 'secretion'\n      - CTD:decreases_export\n\n  secretion decreased by:\n    deprecated: true\n    is_a: secretion affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases secretion of\n\n  affects uptake of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one impacts the rate of\n      uptake of the other into of a cell, gland, or organ\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_uptake_of\n    broad_mappings:\n      # 'import' more general than 'uptake'\n      - CTD:affects_import\n\n  uptake affected by:\n    deprecated: true\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: affects uptake of\n\n  increases uptake of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect of one increases the rate of\n      uptake of the other into of a cell, gland, or organ\n    is_a: affects uptake of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - increases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases uptake of\n    exact_mappings:\n      - CTD:increases_uptake_of\n    broad_mappings:\n      # 'import' more general than 'uptake'\n      - CTD:increases_import\n\n  uptake increased by:\n    deprecated: true\n    is_a: uptake affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases uptake of\n\n  decreases uptake of:\n    deprecated: true\n    description: >-\n      holds between two chemical or gene/gene product entities  where the action or effect\n      of one decreases the rate of uptake of the other into of a cell, gland, or organ\n    is_a: affects uptake of\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    mixins:\n      - decreases amount or activity of\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases uptake of\n    exact_mappings:\n      - CTD:decreases_uptake_of\n    broad_mappings:\n      # 'import' more general than 'uptake'\n      - CTD:decreases_import\n\n  uptake decreased by:\n    deprecated: true\n    is_a: uptake affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases uptake of\n\n  regulates:\n    is_a: affects\n    description: >-\n      A more specific form of affects, that implies the effect results from a biologically evolved control mechanism.\n      Gene-affects-gene relationships will (almost) always involve regulation.  Chemical-affects-gene relationships \n      may in some cases be considered regulation (if the chemical is some endogenously produced signaling molecule \n      created to execute a certain function/activity), but exogenous/environmental chemical-affects-gene relationships \n      are usually not cases of regulation.\n    mixin: true\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - RO:0002334\n    exact_mappings:\n      - RO:0002211\n    narrow_mappings:\n      # https://www.wikidata.org/wiki/Property:P128 - regulates (molecular biology)\n      - WIKIDATA_PROPERTY:P128\n      - CHEMBL.MECHANISM:modulator\n      - RO:0002295\n      - RO:0002332\n      - RO:0002578\n\n  regulated by:\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    mixin: true\n    inverse: regulates\n\n  positively regulates:\n    deprecated: true\n    comments:\n      - This is a grouping for positive process-process and entity-entity regulation.\n    is_a: regulates\n    mixin: true\n    annotations:\n      opposite_of: negatively regulates\n    close_mappings:\n      # This RTX contributed term is tagged as a inverse of this Biolink predicate\n      - RO:0002336\n    exact_mappings:\n      - RO:0002213\n    narrow_mappings:\n      - CHEMBL.MECHANISM:activator\n      - DGIdb:activator\n      - RO:0004032\n      - RO:0004034\n      - RO:0002629\n\n  positively regulated by:\n    deprecated: true\n    is_a: regulated by\n    mixin: true\n    inverse: positively regulates\n\n  negatively regulates:\n    deprecated: true\n    comments:\n      - This is a grouping for negative process-process and entity-entity regulation.\n    is_a: regulates\n    mixin: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # This RTX contributed term is tagged as a inverse of this Biolink predicate\n      - RO:0002335\n    exact_mappings:\n      # Strict interpretation here is that entity A causally affects levels of B\n      - RO:0004035\n      - RO:0002212\n    broad_mappings:\n      # This term is slightly broader in that it includes that A acts within B as well\n      - RO:0004033\n    narrow_mappings:\n      - CHEMBL.MECHANISM:blocker\n      - CHEMBL.MECHANISM:inhibitor\n      - CHEMBL.MECHANISM:negative_allosteric_modulator\n      - CHEMBL.MECHANISM:negative_modulator\n      - RO:0002630\n\n  negatively regulated by:\n    deprecated: true\n    is_a: regulated by\n    mixin: true\n    inverse: negatively regulates\n\n  process regulates process:\n    deprecated: true\n    is_a: affects\n    mixins:\n      - regulates\n    domain: occurrent\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002211\n\n  process regulated by process:\n    deprecated: true\n    is_a: affected by\n    domain: occurrent\n    range: occurrent\n    inverse: process regulates process\n\n  process positively regulates process:\n    deprecated: true\n    is_a: process regulates process\n    mixins:\n      - positively regulates\n    annotations:\n      canonical_predicate: true\n      opposite_of: process negatively regulates process\n    exact_mappings:\n      - RO:0002213\n\n  process positively regulated by process:\n    deprecated: true\n    is_a: process regulated by process\n    inverse: process positively regulates process\n\n  process negatively regulates process:\n    deprecated: true\n    is_a: process regulates process\n    mixins:\n      - negatively regulates\n    annotations:\n      canonical_predicate: true\n      opposite_of: process positively regulates process\n    exact_mappings:\n      - RO:0002212\n\n  process negatively regulated by process:\n    deprecated: true\n    is_a: process regulated by process\n    inverse: process negatively regulates process\n\n  entity regulates entity:\n    deprecated: true\n    aliases: [ 'activity directly regulates activity of' ]\n    is_a: affects\n    mixins:\n      - regulates\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: entity regulated by entity\n    annotations:\n      canonical_predicate: true\n    local_names:\n      translator: regulates\n      ro: activity directly regulates activity of\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002448\n    narrow_mappings:\n      # Wikidata mapping copied over from 'regulates' above;\n      # considered a slightly narrower term since it applies to\n      # protein and RNA as subject regulator whereas molecular_entity\n      # may also be another class of chemical_substance?\n      - WIKIDATA_PROPERTY:P128\n\n  entity regulated by entity:\n    deprecated: true\n    is_a: affected by\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: entity regulates entity\n\n  entity positively regulates entity:\n    deprecated: true\n    aliases: [ 'activity directly positively regulates activity of', 'anatomy upregulates gene', 'disease upregulates gene' ]\n    is_a: entity regulates entity\n    mixins:\n      - positively regulates\n    annotations:\n      canonical_predicate: true\n      opposite_of: entity negatively regulates entity\n    local_names:\n      translator: positively regulates\n      ro: activity directly positively regulates activity of\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002450\n    broad_mappings:\n      # causally positive effect of A over B but not specific to nature of B\n      - RO:0004034\n    narrow_mappings:\n      # Defined more narrowly as increasing, facilitating the\n      # action or function of a \"substance interaction\", where \"substance\" is deemed a subclass of possible entity\n      - SEMMEDDB:STIMULATES\n      - SEMMEDDB:stimulates\n      - SEMMEDDB:augments\n\n  entity positively regulated by entity:\n    deprecated: true\n    is_a: entity regulated by entity\n    inverse: entity positively regulates entity\n\n  entity negatively regulates entity:\n    deprecated: true\n    aliases: [ 'activity directly negatively regulates activity of', 'anatomy downregulates gene', 'disease downregulates gene' ]\n    is_a: entity regulates entity\n    mixins:\n      - negatively regulates\n    annotations:\n      canonical_predicate: true\n      opposite_of: entity positively regulates entity\n    local_names:\n      translator: negatively regulates\n      ro: activity directly negatively regulates activity of\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002449\n    narrow_mappings:\n      # SemMedDb definition focuses on (chemical?) \"substance interactions\" which is a bit narrower?\n      - SEMMEDDB:INHIBITS\n      - SEMMEDDB:inhibits\n\n  entity negatively regulated by entity:\n    deprecated: true\n    is_a: entity regulated by entity\n    inverse: entity negatively regulates entity\n\n  disrupts:\n    is_a: affects\n    aliases: [ 'disease causes disruption of' ]\n    description: >-\n      describes a relationship where one entity degrades or interferes\n      with the structure, function, or occurrence of another.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: enables\n    exact_mappings:\n      - SEMMEDDB:DISRUPTS\n      - SEMMEDDB:disrupts\n      - CHEMBL.MECHANISM:disrupting_agent\n    narrow_mappings:\n      - RO:0004024\n      - RO:0004025\n\n  disrupted by:\n    is_a: affected by\n    description: >-\n      describes a relationship where the structure, function, or occurrence\n      of one entity is degraded or interfered with by another.\n    inverse: disrupts\n\n  gene product of:\n    is_a: related to at instance level\n    description: >-\n      definition x has gene product of y if and only if y is a gene (SO:0000704)\n      that participates in some gene expression process (GO:0010467) where the output of thatf\n      process is either y or something that is ribosomally translated from x\n    exact_mappings:\n      - RO:0002204\n    domain: gene product mixin\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: has gene product\n    in_subset:\n      - translator_minimal\n\n  has gene product:\n    is_a: related to at instance level\n    description: >-\n      holds between a gene and a transcribed and/or\n      translated product generated from it\n    domain: gene\n    range: gene product mixin\n    inverse: gene product of\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # RTX term tagged as inverse mapping\n      - PR:has_gene_template\n    exact_mappings:\n      - RO:0002205\n      - WIKIDATA_PROPERTY:P688\n      - NCIT:gene_encodes_gene_product\n    narrow_mappings:\n      - NCIT:R178\n\n  transcribed to:\n    is_a: related to at instance level\n    domain: gene\n    range: transcript\n    description: >-\n      inverse of transcribed from\n    inverse: transcribed from\n    annotations:\n      opposite_of: transcribed from\n    exact_mappings:\n      - RO:0002511\n      - SIO:010080\n\n  transcribed from:\n    is_a: related to at instance level\n    domain: transcript\n    range: gene\n    annotations:\n      canonical_predicate: true\n      opposite_of: transcribed to\n    description: >-\n      x is transcribed from y if and only if x is synthesized from template y\n    exact_mappings:\n      - RO:0002510\n      - SIO:010081\n\n  translates to:\n    is_a: related to at instance level\n    domain: transcript\n    range: protein\n    annotations:\n      canonical_predicate: true\n      opposite_of: translation of\n    description: >-\n      x (amino acid chain/polypeptide) is the ribosomal translation of y (transcript) if and only if a ribosome\n      reads y (transcript) through a series of triplet codon-amino acid adaptor activities (GO:0030533)\n      and produces x (amino acid chain/polypeptide)\n    close_mappings:\n      - RO:0002513\n      - SIO:010082\n\n  translation of:\n    is_a: related to at instance level\n    domain: protein\n    range: transcript\n    description: >-\n      inverse of translates to\n    inverse: translates to\n    close_mappings:\n      - RO:0002512\n      - SIO:010083\n    annotations:\n      opposite_of: translates to\n\n  homologous to:\n    is_a: similar to\n    aliases: [ 'in homology relationship with' ]\n    description: >-\n      holds between two biological entities that have common evolutionary origin\n    comments:\n      - typically used to describe homology relationships between genes or gene products\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000001\n      - SIO:010302\n    narrow_mappings:\n      # This is a tricky one to place; seems narrower than the RO mapping but that mapping, RO:0002158\n      - UBERON_CORE:sexually_homologous_to\n\n  paralogous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship that holds between entities (typically genes) that diverged after a duplication event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000011\n\n  orthologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship between entities (typically genes) that diverged after a speciation event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000017\n      - WIKIDATA_PROPERTY:P684\n\n  xenologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship characterized by an interspecies (horizontal) transfer since the common ancestor.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000018\n\n  coexists with:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities that are co-located in the same aggregate object, process, or spatio-temporal region\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SEMMEDDB:COEXISTS_WITH\n      - SEMMEDDB:coexists_with\n    narrow_mappings:\n      - BSPO:0000096\n      - BSPO:0000097\n      - BSPO:0000098\n      - BSPO:0000099\n      - BSPO:0000100\n      - BSPO:0000102\n      - BSPO:0000104\n      - BSPO:0000110\n      - BSPO:0000113\n      - BSPO:0015001\n      - BSPO:0015002\n      - BSPO:0015003\n      - BSPO:0015005\n      - BSPO:0015006\n      - BSPO:0015007\n      - BSPO:0015008\n      - BSPO:0015009\n      - BSPO:0015012\n      - BSPO:0015014\n      - BSPO:parallel_to\n      - UBERON_CORE:anastomoses_with\n      - UBERON_CORE:anteriorly_connected_to\n      - UBERON_CORE:posteriorly_connected_to\n      - UBERON_CORE:channel_for\n      - UBERON_CORE:channels_from\n      - UBERON_CORE:channels_into\n      - UBERON_CORE:conduit_for\n      - UBERON_CORE:distally_connected_to\n      - UBERON_CORE:extends_fibers_into\n      - UBERON_CORE:filtered_through\n      - UBERON_CORE:indirectly_supplies\n      - UBERON_CORE:proximally_connected_to\n      - UBERON_CORE:synapsed_by\n      - UBERON_CORE:transitively_anteriorly_connected_to\n      - UBERON_CORE:transitively_connected_to\n      - UBERON_CORE:transitively_distally_connected_to\n      - UBERON_CORE:transitively_proximally_connected_to\n      # RTX contributed Environmental Ontology term meaning \"partially surrounded by\"\n      - ENVO:01001307\n      - FMA:adjacent_to\n      - FMA:afferent_to\n      - FMA:anterior_to\n      - FMA:anteroinferior_to\n      - FMA:anterolateral_to\n      - FMA:anteromedial_to\n      - FMA:anterosuperior_to\n      # RTX contributed terms (also inverses to one another?) might better be mapped to another term with more precise functional semantics?\n      # Some of these terms also seem to be semantic inverses of one another, thus, perhaps not simple narrow_mappings to Biolink\n      - FMA:arterial_supply_of\n      - FMA:has_arterial_supply\n      - FMA:articulates_with\n      - FMA:attaches_to\n      - FMA:bounded_by\n      - FMA:bounds\n      - FMA:branch_of\n      - FMA:connection_type_of\n      - FMA:continuation_branch_of\n      - FMA:continuous_distally_with\n      - FMA:continuous_proximally_with\n      - FMA:corresponds_to\n      - FMA:development_type_of\n      - FMA:developmental_stage_of\n      - FMA:direct_cell_shape_of\n      - FMA:direct_left_of\n      - FMA:direct_right_of\n      - FMA:distal_to\n      - FMA:drains_into\n      - FMA:efferent_to\n      - FMA:external_to\n      - FMA:formed_by\n      - FMA:forms\n      # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:full_grown_phenotype_of\n      - FMA:has_full_grown_phenotype\n      # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:fuses_with\n      - FMA:fusion_of\n      - FMA:has_fusion\n      - FMA:germ_origin_of\n      - FMA:has_germ_origin\n      - FMA:has_adherent\n      - FMA:has_branch\n      - FMA:has_connection_type\n      - FMA:has_continuation_branch\n      - FMA:has_development_type\n      - FMA:has_developmental_stage\n      - FMA:has_direct_cell_shape\n      - FMA:has_inherent_3d_shape\n      - FMA:has_insertion\n      - FMA:has_lymphatic_drainage\n      - FMA:has_nerve_supply\n      - FMA:has_observed_anatomical_entity\n      - FMA:has_origin\n      - FMA:has_primary_segmental_supply\n      - FMA:has_projection\n      - FMA:has_regional_part\n      - FMA:has_related_developmental_entity\n      - FMA:has_secondary_segmental_supply\n      - FMA:has_segmental_composition\n      - FMA:has_segmental_supply\n      - FMA:has_tributary\n      - FMA:has_venous_drainage\n      - FMA:inferior_to\n      - FMA:inferolateral_to\n      - FMA:inferomedial_to\n      - FMA:inherent_3d_shape_of\n      - FMA:insertion_of\n      - FMA:internal_to\n      - FMA:lateral_to\n      - FMA:left_lateral_to\n      - FMA:left_medial_to\n      - FMA:lymphatic_drainage_of\n      - FMA:matures_from\n      - FMA:matures_into\n      - FMA:medial_to\n      - FMA:merges_with\n      - FMA:nerve_supply_of\n      - FMA:origin_of\n      - FMA:posterior_to\n      - FMA:posteroinferior_to\n      - FMA:posterolateral_to\n      - FMA:posteromedial_to\n      - FMA:posterosuperior_to\n      - FMA:primary_segmental_supply_of\n      - FMA:projects_from\n      - FMA:projects_to\n      - FMA:proximal_to\n      - FMA:receives_attachment_from\n      - FMA:receives_drainage_from\n      - FMA:receives_input_from\n      - FMA:receives_projection\n      - FMA:related_part\n      - FMA:right_lateral_to\n      - FMA:right_medial_to\n      - FMA:secondary_segmental_supply_of\n      - FMA:segmental_composition_of\n      - FMA:segmental_supply_of\n      - FMA:sends_output_to\n      - FMA:superior_to\n      - FMA:superolateral_to\n      - FMA:superomedial_to\n      - FMA:surrounded_by\n      - FMA:surrounds\n      - FMA:tributary_of\n      - FMA:venous_drainage_of\n      # These LOINC: terms contributed by RTX were only tagged as 'biolink:has_attribute'\n      # but seem more aligned to the FMA entries in this biolink term, so I leave them here for now\n      - LOINC:has_lateral_anatomic_location\n      - LOINC:has_lateral_location_presence\n      - UBERON_NONAMESPACE:distally_connected_to\n      - UBERON_NONAMESPACE:subdivision_of\n      # These RO terms seem similar to the FMA terms above, so I place them here rather than under 'biolink:related_to'\n      - RO:0002219\n      - RO:0002220\n      - RO:0002221\n      - SO:has_origin\n      # RTX mapped these UBERON terms all here\n      - UBERON:anastomoses_with\n      - UBERON:anteriorly_connected_to\n      - UBERON:channel_for\n      - UBERON:channels_from\n      - UBERON:channels_into\n      - UBERON:conduit_for\n      - UBERON:distally_connected_to\n      - UBERON:existence_starts_and_ends_during\n      - UBERON:extends_fibers_into\n      - UBERON:filtered_through\n      - UBERON:in_central_side_of\n      - UBERON:in_innermost_side_of\n      - UBERON:in_outermost_side_of\n      - UBERON:indirectly_supplies\n      - UBERON:posteriorly_connected_to\n      - UBERON:protects\n      - UBERON:proximally_connected_to\n      - UBERON:sexually_homologous_to\n\n  in pathway with:\n    description: >-\n      holds between two genes or gene products that are part of in the same biological pathway\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # generally pertains to membership of a (subject) component - gene,\n      # metabolite, etc? - in an (object) metabolic pathway\n      - SIO:010532\n\n  in complex with:\n    description: >-\n      holds between two genes or gene products that are part of (or code for\n      products that are part of) in the same macromolecular complex mixin\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # generally pertains to membership of a (subject) protein in an (object) protein complex (doesn't cover RNA-Protein, Lipid-Protein, etc complexes though)\n      - SIO:010497\n    broad_mappings:\n      # generally pertains to membership of any (subject) constituent molecule in an (object) molecular complex (might also generically cover RNA-Protein, Lipid-Protein, etc complexes)\n      - SIO:010285\n\n  in cell population with:\n    description: >-\n      holds between two genes or gene products that are expressed in the same cell type or population\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  colocalizes with:\n    description: >-\n      holds between two entities that are observed to be located in the same place.\n    is_a: coexists with\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:00002325\n\n  # Despite the name, note that this particular entity is\n  # NOT a biolink:Association but rather, a biolink:predicate\n  genetic association:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    description: >-\n      Co-occurrence of a certain allele of a genetic marker and the phenotype\n      of interest in the same individuals at above-chance level\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2293\n\n  gene associated with condition:\n    is_a: genetic association\n    description: >-\n      holds between a gene and a disease or phenotypic feature that the gene or its alleles/products may influence,\n      contribute to, or correlate with\n    domain: gene\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    broad_mappings:\n      - GENO:0000840 # broader than a single gene: 'genotype' pathogenic for condition\n      - GENO:0000841\n    narrow_mappings:\n      # narrower: just diseases, not phenotypic features as well\n      - NCIT:R38\n      - NCIT:R175\n      - NCIT:R48\n\n  condition associated with gene:\n    is_a: genetic association\n    aliases: [ 'disease associated with gene' ]\n    description: >-\n      holds between a gene and a disease or phenotypic feature that may be influenced, contribute to, or be correlated with the gene or its alleles/products\n    domain: disease or phenotypic feature\n    range: gene\n    in_subset:\n      - translator_minimal\n    inverse: gene associated with condition\n    narrow_mappings:\n      # narrower since just diseases, not phenotypic features as well\n      - NCIT:R176\n\n  affects risk for:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where exposure to one entity alters the chance of developing the other\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  risk affected by:\n    is_a: related to at instance level\n    inverse: affects risk for\n\n  predisposes:\n    is_a: affects risk for\n    description: >-\n      holds between two entities where exposure to one entity increases the chance of developing the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    exact_mappings:\n      - SEMMEDDB:predisposes\n\n  has predisposing factor:\n    inverse: predisposes\n    in_subset:\n      - translator_minimal\n\n  # TODO: inverse of predisposes\n\n  contributes to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes or contributes to the\n      occurrence or generation of the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # RTX contributed mapping tagged as 'inverse' of this Biolink predicate\n      - IDO:0000664\n    exact_mappings:\n      - RO:0002326\n    narrow_mappings:\n      - CTD:marker_mechanism\n      - MONDO:predisposes_towards\n      # RTX mapped this to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002255\n      # RTX term 'contributes to condition' mapped to 'biolink:causes' seems more suitable here\n      - RO:0003304\n\n  contribution from:\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    inverse: contributes to\n\n  causes:\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes the occurrence\n      or generation of the other\n    is_a: contributes to\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    exact_mappings:\n      - SEMMEDDB:CAUSES\n      - SEMMEDDB:causes\n      - WIKIDATA_PROPERTY:P1542\n      - SNOMED:cause_of\n      - RO:0003303\n    broad_mappings:\n      - RO:0002410\n      - RO:0002506\n    narrow_mappings:\n      - MONDO:disease_triggers\n      - GOREL:0000040\n      - MONDO:disease_causes_feature\n      - MONDO:disease_triggers\n      - NCIT:allele_has_abnormality\n      - NCIT:biological_process_has_result_biological_process\n      - NCIT:chemical_or_drug_has_physiologic_effect\n      # RTX mapped terms as 'biolink:part_of' but implied sequence of causality suggests 'biolink:causes'?\n      - NCIT:chemical_or_drug_initiates_biological_process\n      - NCIT:process_initiates_biological_process\n      - NCIT:chromosome_mapped_to_disease\n      - NCIT:disease_has_normal_tissue_origin\n      - NBO-PROPERTY:in_response_to\n      - ORPHA:317343\n      - ORPHA:317344\n      - ORPHA:317346\n      - ORPHA:410295\n      - ORPHA:410296\n      # RTX mapped this term to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002256\n      - RO:0002315\n      - RO:0002507\n      - RO:0002509\n      - RO:0004001\n      - SNOMED:causative_agent_of\n      - SNOMED:has_realization\n      - UMLS:has_physiologic_effect\n\n  caused by:\n    description: >-\n      holds between two entities where the occurrence, existence,\n      or activity of one is caused by the occurrence or generation of the other\n    is_a: related to at instance level\n    aliases: [ 'disease caused by disruption of', 'disease has basis in dysfunction of',\n               'realized in response to', 'realized in response to stimulus' ]\n    in_subset:\n      - translator_minimal\n    inverse: causes\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P828\n    narrow_mappings:\n      - RO:0001022\n      - RO:0002608\n      - RO:0004019\n      - RO:0004020\n      - RO:0004028\n      - RO:0009501\n\n  # TODO: ameliorates and exacerbates inverses.\n  ameliorates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a genotype,\n      genetic variation, chemical, or environmental exposure)\n      and a condition (a phenotype or disease), where the\n      presence of the entity reduces or eliminates some or\n      all aspects of the condition.\n    # 'biological entity' currently includes 'exposure event' which covers alot of related ground\n    domain: biological entity\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: exacerbates\n    exact_mappings:\n      - RO:0003307\n\n  is ameliorated by:\n    inverse: ameliorates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: biological entity\n\n  exacerbates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a chemical,\n      environmental exposure, or some form of genetic variation)\n      and a condition (a phenotype or disease), where the presence\n      of the entity worsens some or all aspects of the condition.\n    # 'biological entity' currently includes 'exposure event' which covers alot of related ground\n    domain: biological entity\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0003309\n    broad_mappings:\n      - SEMMEDDB:complicates\n\n  is exacerbated by:\n    inverse: exacerbates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: biological entity\n    in_subset:\n      - translator_minimal\n\n  treats:\n    aliases: [ 'is substance that treats', 'indicated for' ]\n    is_a: ameliorates\n    description: >-\n      holds between a therapeutic procedure or chemical entity\n      and a disease or phenotypic feature that it is used to treat\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: contraindicated for\n    in_subset:\n      - translator_minimal\n    related_mappings:\n      - MONDO:disease_responds_to\n    exact_mappings:\n      - DRUGBANK:treats\n      - SEMMEDDB:TREATS\n      - SEMMEDDB:treats\n      - WIKIDATA_PROPERTY:P2175\n    narrow_mappings:\n      # \"is substance that treats\" constrains statements to\n      # a subset of the universe of all possible treatments\n      - RO:0002606\n      - NCIT:regimen_has_accepted_use_for_disease\n      # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n      - SNOMED:plays_role\n\n  treated by:\n    is_a: is ameliorated by\n    description: >-\n      holds between a disease or phenotypic feature and a therapeutic\n      process or chemical entity that is used to treat the condition\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    # range: chemical or drug or treatement\n    in_subset:\n      - translator_minimal\n    inverse: treats\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2176\n      # RTX contributed term tagged as inverse of 'biolink:treats'\n      - MONDO:disease_responds_to\n    narrow_mappings:\n      # \"is treated by substance\" constrains statements to\n      # subset of the universe of all possible treatments\n      - RO:0002302\n\n  prevents:\n    is_a: affects risk for\n    description: >-\n      holds between an entity whose application or use reduces\n      the likelihood of a potential outcome. Typically used to associate\n      a chemical entity, exposure, activity, or medical intervention\n      that can prevent the onset a disease or phenotypic feature.\n    annotations:\n      canonical_predicate: true\n      opposite_of: predisposes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:PREVENTS\n      - SEMMEDDB:prevents\n    narrow_mappings:\n      # more restricted case of a material entity mitigating a pathological process\n      - RO:0002599\n\n  prevented by:\n    is_a: risk affected by\n    description: >-\n      holds between a potential outcome of which the likelihood\n      was reduced by the application or use of an entity.\n    inverse: prevents\n    annotations:\n      opposite_of: enabled by\n\n  correlated with:\n    is_a: associated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical dependence is \n      demonstrated using a correlation analysis method.\n    notes: >-\n      These concepts may map exactly to the statistical variables, or represent related entities for which the \n      variables serve as proxies in an Association (e.g. diseases, chemical entities or processes).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002610\n      - PATO:correlates_with\n\n  # proposed positive and negative semantic extensions to the general \"correlated with\" predicate\n\n  positively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation \n      is demonstrated, wherein variable values move together in the same direction (i.e. increased in one or \n      presence of one correlates with an increase or presence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: negatively correlated with\n    exact_mappings:\n      - CTD:positive_correlation\n\n  negatively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation \n      is demonstrated, wherein variable values move in opposite directions (i.e. increased in one or presence of \n      one correlates with a decrease or absence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: positively correlated with\n    exact_mappings:\n      - CTD:negative_correlation\n\n  occurs together in literature with:\n    is_a: correlated with\n    description: >-\n      holds between two entities where their co-occurrence is correlated by counts of publications\n      in which both occur, using some threshold of occurrence as defined by the edge provider.\n    domain: named thing\n    range: named thing\n    in_subset: translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  coexpressed with:\n    is_a: correlated with\n    description: >-\n      holds between any two genes or gene products, in which both are\n      generally expressed within a single defined experimental context.\n    domain: gene or gene product\n    range: gene or gene product\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  has biomarker:\n    is_a: correlated with\n    description: >-\n      holds between a disease or phenotypic feature and a measurable\n      chemical entity that is used as an indicator of the presence\n      or state of the disease or feature.\n      # metabolite\n    domain: disease or phenotypic feature\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    inverse: biomarker for\n    narrow_mappings:\n      # some RTX terms contributed as inverses of 'biolink:biomarker_for'\n      - NCIT:disease_has_molecular_abnormality\n      - NCIT:disease_is_marked_by_gene\n\n  biomarker for:\n    is_a: correlated with\n    description: >-\n      holds between a measurable chemical entity and a disease\n      or phenotypic feature, where the entity is used as an indicator\n      of the presence or state of the disease or feature.\n    domain: chemical entity or gene or gene product\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - NCIT:R39\n    broad_mappings:\n      # Generic marker definition not specific to biomarkers per say\n      - RO:0002607\n    narrow_mappings:\n      - NCIT:R47\n      # RTX term was tagged as 'biolink:actively_involved_in' but maps better here?\n      - NCIT:genetic_biomarker_related_to\n      - NCIT:is_molecular_abnormality_of_disease\n      - ORPHA:465410\n\n  # It may be helpful to introduce an intermediate predicate in between 'related_to' and 'expressed in'\n  # which would have a domain of 'biological entity' and range of 'anatomical entity', to map predicates\n  # which are biological which have manifestation in an anatomical site, e.g. RO:0004026, RO:0004027 and others\n  expressed in:\n    is_a: located in\n    description: >-\n      holds between a gene or gene product and an anatomical entity in which it is expressed\n    domain: gene or gene product\n    range: anatomical entity\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002206\n    narrow_mappings:\n      - NCIT:R49\n      - NCIT:R46\n\n  expresses:\n    is_a: location of\n    aliases: [ 'anatomy expresses gene' ]\n    description: >-\n      holds between an anatomical entity and gene or gene product that is expressed there\n    domain: anatomical entity\n    range: gene or gene product\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    inverse: expressed in\n    exact_mappings:\n      - RO:0002292\n\n  has phenotype:\n    is_a: related to at instance level\n    aliases: [ 'disease presents symptom' ]\n    description: >-\n      holds between a biological entity and a phenotype, where a phenotype\n      is construed broadly as any kind of quality of an organism part,\n      a collection of these qualities, or a change in quality or qualities\n      (e.g. abnormally increased temperature). In SNOMEDCT, disorders with keyword 'characterized by' should\n      translate into this predicate.\n    domain: biological entity\n    range: phenotypic feature\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    notes:\n      - check the range\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002200\n    broad_mappings:\n      - NCIT:R115\n      - NCIT:R108\n    narrow_mappings:\n      - NCIT:R89\n      - DOID-PROPERTY:has_symptom\n      - RO:0004022\n\n  phenotype of:\n    is_a: related to at instance level\n    description: >-\n      holds between a phenotype and a biological entity, where a phenotype\n      is construed broadly as any kind of quality of an organism part,\n      a collection of these qualities, or a change in quality or qualities\n      (e.g. abnormally increased temperature).\n    domain: phenotypic feature\n    range: biological entity\n    multivalued: true\n    inverse: has phenotype\n    notes:\n      - check the domain\n    in_subset:\n      - translator_minimal\n\n  # TODO: predicate inverse for occurs in\n  occurs in:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a material entity or site within which the process occurs\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # These RTX mapped terms tagged as the inverse of \"biolink:occurs_in\", i.e. Entity/Site contains Process\"\n      - BFO:0000067\n      - SNOMED:has_occurrence\n      - UBERON:site_of\n    exact_mappings:\n      - BFO:0000066\n      - PathWhiz:has_location\n      - SNOMED:occurs_in\n    narrow_mappings:\n      # SemMedDb term 'OCCURS_IN' constrained to something (other than process) occurring in a group or population\n      - SEMMEDDB:OCCURS_IN\n      - SEMMEDDB:occurs_in\n      # SemMedDb term 'PROCESS_IN' constrained specifically to a process occurring in the object concept entity\n      - SEMMEDDB:PROCESS_OF\n      - SEMMEDDB:process_of\n      # Uberon term constrained to a 'site' as object concept\n      - UBERON_CORE:site_of\n      - LOINC:has_imaged_location\n      - PathWhiz:in_species\n      - RO:0002231\n      - RO:0002232\n      - SNOMED:has_direct_procedure_site\n      - SNOMED:has_direct_site\n      - SNOMED:has_procedure_site\n\n  contains process:\n    is_a: related to at instance level\n    inverse: occurs in\n\n  located in:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a material entity or site\n      within which it is located (but of which it is not considered a part)\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0001025\n      - FMA:has_location\n    narrow_mappings:\n      - GOREL:0001004\n      - BSPO:0000107\n      - BSPO:0000108\n      - BSPO:0000120\n      - BSPO:0000121\n      - BSPO:0000122\n      - BSPO:0000123\n      - BSPO:0000124\n      - BSPO:0000125\n      - BSPO:0000126\n      - BSPO:0001100\n      - BSPO:0001101\n      - BSPO:0001107\n      - BSPO:0015101\n      - BSPO:0015102\n      - BSPO:0015202\n      - UBERON_CORE:in_central_side_of\n      - UBERON_CORE:in_innermost_side_of\n      - UBERON_CORE:in_outermost_side_of\n      - NCIT:R100\n      - EFO:0000784\n      - FMA:has_location\n      - HMDB:at_cellular_location\n      - HMDB:at_tissue\n      - HMDB:in_biospecimen\n      - LOINC:has_imaging_focus\n      - NCIT:R156\n      - NCIT:R155\n      - NCIT:R145\n      - NCIT:R40\n      - NCIT:R171\n      - NCIT:R167\n      - NCIT:R165\n      - NCIT:R169\n      - NCIT:R170\n      - NCIT:R166\n      - NCIT:R168\n      - RO:0002303\n      - SNOMED:has_finding_site\n      - SNOMED:has_indirect_procedure_site\n      - SNOMED:has_inherent_location\n    domain: named thing\n    range: named thing\n\n  location of:\n    is_a: related to at instance level\n    aliases: [ 'site of' ]\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between material entity or site and a material entity\n      that is located within it (but not considered a part of it)\n    in_subset:\n      - translator_minimal\n    inverse: located in\n    exact_mappings:\n      - RO:0001015\n      - SEMMEDDB:LOCATION_OF\n      - SEMMEDDB:location_of\n      - WIKIDATA_PROPERTY:P276\n      # RTX tagged this as an inverse of biolink:located_in\n      - FMA:location_of\n    narrow_mappings:\n      - SNOMED:inherent_location_of\n      - NCIT:Anatomic_Structure_Has_Location_Role\n\n  disease has location:\n    description: >-\n      A relationship between a disease and an anatomical entity where the\n      disease has one or more features that are located in that entity.\n    is_a: related to\n    exact_mappings:\n      - RO:0004026\n      - MONDO:disease_has_location\n\n  location of disease:\n    is_a: related to\n    inverse: disease has location\n\n  similar to:\n    is_a: related to at instance level\n    description: >-\n      holds between an entity and some other entity with similar features.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000000               #I don't understand this identifier, but I think it's equivalent\n      - SO:similar_to               #equivalent\n\n  chemically similar to:\n    is_a: similar to\n    description: >-\n      holds between one small molecule entity and another that it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - CHEBI:has_parent_hydride    #subproperty\n      - CHEBI:has_functional_parent #subproperty\n      - CHEBI:is_conjugate_acid_of  #subproperty\n      - CHEBI:is_conjugate_base_of  #subproperty\n      - CHEBI:is_enantiomer_of      #subproperty\n      - CHEBI:is_tautomer_of        #subproperty\n      - NCIT:has_salt_form\n\n  has sequence location:\n    is_a: related to at instance level\n    description: >-\n      holds between two nucleic acid entities when the subject can be localized\n      in sequence coordinates on the object. For example, between\n      an exon and a chromosome/contig.\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - faldo:location\n\n  sequence location of:\n    is_a: related to at instance level\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    inverse: has sequence location\n\n  model of:\n    is_a: related to at instance level\n    description: >-\n      holds between a thing and some other thing it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0003301\n    narrow_mappings:\n      - FOODON:00001301\n\n  models:\n    is_a: related to at instance level\n    inverse: model of\n\n  overlaps:\n    is_a: related to at instance level\n    description: >-\n      holds between entities that overlap in their extents (materials or processes)\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002131\n    narrow_mappings:\n      - BSPO:0005001\n      - CHEMBL.MECHANISM:overlaps_with\n      - RO:0002100\n      - RO:0002102\n      - RO:0002433\n\n  has part:\n    is_a: overlaps\n    annotations:\n      canonical_predicate: true\n      opposite_of: lacks part\n    description: >-\n      holds between wholes and their parts (material entities or processes)\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000051\n      # term name seems to be 'realizes' but RTX maps this term here\n      - BFO:0000055\n      - WIKIDATA_PROPERTY:P527\n      - RO:0001019\n      - RXNORM:consists_of\n      - RXNORM:has_part\n    broad_mappings:\n      # To 'contain' is 'to have something inside or include something as a part'; slightly broader?\n      - RO:0001019\n      - FMA:contains\n      - RXNORM:contains\n    narrow_mappings:\n      - BFO:0000117\n      # RTX term originally mapped to 'biolink:coexists_with'?\n      - FMA:has_constitutional_part\n      - FMA:has_part\n      # Several of the following RTX terms were originally mapped as inverses to 'biolink:part_of'?\n      - FMA:has_member\n      - FOODON:00001563\n      - FOODON:00002420\n      - LOINC:has_component\n      - LOINC:has_member\n      - MEDDRA:has_member\n      - MONDO:disease_has_major_feature\n      - NCIT:complex_has_physical_part\n      - NDDF:has_ingredient\n      - PathWhiz:has_element_in_bound\n      # This RTX contributed term was tagged as 'biolink:has_gene_product' but seems more compositional in nature\n      - NCIT:R50\n      - PathWhiz:has_protein_in_complex\n      - RO:0002104\n      - RO:0002180\n      - RO:0002351\n      - RO:0002473\n      - RO:0002524\n      - RO:0002551\n      - RXNORM:has_ingredient\n      - SNOMED:has_component\n      - UMLS:has_component\n\n  has plasma membrane part:\n    is_a: has part\n    description: >-\n      Holds between a cell c and a protein complex or protein p if\n      and only if that cell has as part a plasma_membrane[GO:0005886], and that plasma membrane has p as part.\n    exact_mappings:\n      - RO:0002104\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  composed primarily of:\n    is_a: related to\n    description: >-\n      x composed_primarily_of_y if:more than half of the mass of x is made from parts of y.\n    exact_mappings:\n      - RO:0002473\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  primarily composed of:\n    inverse: composed primarily of\n    is_a: related to\n\n  plasma membrane part of:\n    is_a: part of\n    inverse: has plasma membrane part\n\n  part of:\n    is_a: overlaps\n    description: >-\n      holds between parts and wholes (material entities or processes)\n    in_subset:\n      - translator_minimal\n    inverse: has part\n    exact_mappings:\n      - BFO:0000050\n      - SEMMEDDB:PART_OF\n      - SEMMEDDB:part_of\n      - WIKIDATA_PROPERTY:P361\n      - FMA:part_of\n      - RXNORM:constitutes\n      - RXNORM:part_of\n    broad_mappings:\n      # To 'contain' is 'to have something inside or include something as a part'\n      - RO:0001018\n      - FMA:contained_in\n      - RXNORM:contained_in\n    narrow_mappings:\n      - BSPO:0001106\n      - BSPO:0001108\n      - BSPO:0001113\n      - BSPO:0001115\n      - UBERON_CORE:layer_part_of\n      - UBERON_CORE:subdivision_of\n      - UBERON_CORE:trunk_part_of\n      - CHEBI:is_substituent_group_from\n      - CPT:panel_element_of\n      - CPT:panel_element_of_possibly_included\n      - DRUGBANK:component_of\n      - FMA:constitutional_part_of\n      - FMA:member_of\n      - FMA:regional_part_of\n      - FMA:related_developmental_entity_of\n      - LOINC:component_of\n      - LOINC:has_supersystem\n      - LOINC:member_of\n      - LOINC:multipart_of\n      - MEDDRA:member_of\n      - MONDO:part_of_progression_of_disease\n      - NCIT:R82\n      - NCIT:R27\n      - NCIT:is_component_of_chemotherapy_regimen\n      - NDDF:ingredient_of\n      - RO:0002007\n      - RO:0002350\n      - RO:0002376\n      - RO:0002380\n      - RO:0002571\n      - RO:0002572\n      - RO:0002576\n      - RXNORM:ingredient_of\n      - RXNORM:ingredients_of\n      - RXNORM:precise_ingredient_of\n      - SNOMED:active_ingredient_of\n      - SNOMED:basis_of_strength_substance_of\n      - SNOMED:component_of\n      - SNOMED:direct_substance_of\n      - SNOMED:during\n      - SNOMED:focus_of\n      - SNOMED:has_dependent\n      - SNOMED:part_anatomy_structure_of\n      - SNOMED:precise_active_ingredient_of\n      - UBERON:subdivision_of\n      - UMLS:component_of\n      - UMLS:has_owning_affiliate\n      - UMLS:owning_subsection_of\n      - VANDF:ingredient_of\n\n  has input:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an input into the process\n    domain: occurrent\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n      opposite_of: has output\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # RTX inverse mapping to to 'biolink:has_input'\n      - RO:0002352\n    exact_mappings:\n      - RO:0002233\n      - SEMMEDDB:USES\n      - SEMMEDDB:uses\n    narrow_mappings:\n      - LOINC:has_fragments_for_synonyms\n      - LOINC:has_system\n      - PathWhiz:has_left_element\n      - RO:0002590\n      - RO:0004009\n      - SNOMED:has_finding_method\n      - SNOMED:has_precondition\n      - SNOMED:has_specimen_source_identity\n      - SNOMED:has_specimen_substance\n      - SNOMED:uses_access_device\n      - SNOMED:uses_device\n      - SNOMED:uses_energy\n      - SNOMED:uses_substance\n\n  is input of:\n    is_a: participates in\n    domain: biological process or activity\n    range: occurrent\n    inverse: has input\n    in_subset:\n      - translator_minimal\n\n  has output:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an output of the process\n    domain: occurrent\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n      opposite_of: has input\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - RO:0002353\n      - RO:0002354\n    exact_mappings:\n      - RO:0002234\n    narrow_mappings:\n      - NCIT:R31\n      - OBI:0000299\n      - PathWhiz:has_right_element\n      - RO:0002296\n      - RO:0002297\n      - RO:0002298\n      - RO:0002299\n      - RO:0002588\n      - RO:0004008\n\n  is output of:\n    is_a: participates in\n    range: occurrent\n    domain: biological process or activity\n    inverse: has output\n    in_subset:\n      - translator_minimal\n\n  has participant:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a continuant, where the continuant is somehow involved in the process\n    domain: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - WIKIDATA_PROPERTY:P2283\n    exact_mappings:\n      - RO:0000057\n      - RO:has_participant\n    narrow_mappings:\n      - BFO:0000167\n      # Several of the following RTX terms tagged as inverse to 'biolink:participates_in'\n      - LOINC:has_subject\n      - NCIT:process_involves_gene\n      - NBO-PROPERTY:has_participant\n      - PathWhiz:has_bound\n      - PathWhiz:has_compound\n      - PathWhiz:has_element_collection\n      - PathWhiz:has_enzyme\n      - OBI:0000293\n      - PathWhiz:has_nucleic_acid\n      - PathWhiz:has_protein\n      - PathWhiz:has_reaction\n      - RO:0004007\n      - RO:0004020\n      - RO:0004021\n      - SNOMED:has_indirect_device\n      - SNOMED:has_procedure_device\n      - SNOMED:has_recipient_category\n\n  catalyzes:\n    is_a: participates in\n    # domain: nucleic acid entity\n    # range: molecular activity\n    annotations:\n      canonical_predicate: true\n\n  has catalyst:\n    is_a: has participant\n    inverse: catalyzes\n\n  has substrate:\n    is_a: has participant\n    # domain: molecular activity\n    # range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n\n  is substrate of:\n    is_a: participates in\n    inverse: has substrate\n\n  participates in:\n    is_a: related to at instance level\n    description: >-\n      holds between a continuant and a process, where the continuant is somehow involved\n      in the process\n    range: occurrent\n    inverse: has participant\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0000056\n      - BFO:0000056\n    narrow_mappings:\n      - DRUGBANK:pathway\n      - HMDB:in_pathway\n      - LOINC:is_given_pharmaceutical_substance_for\n      - NCIT:R130\n      - NCIT:R37\n      - NCIT:R131\n      - NCIT:R51\n      - NCIT:R53\n      - OBI:0000295\n      - RO:0002216\n      - RO:0002505\n      - RO:0002565\n      - SNOMED:has_direct_device\n\n  actively involved in:\n    is_a: participates in\n    aliases: [ 'involved in' ]\n    description: >-\n      holds between a continuant and a process or function, where\n      the continuant actively contributes to part or all of\n      the process or function it realizes\n    domain: molecular activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002331\n      - RO:0002432\n    narrow_mappings:\n      - NBO-PROPERTY:by_means\n      - ORPHA:317348\n      - ORPHA:317349\n      - ORPHA:327767\n      - RO:0002503\n\n  actively involves:\n    is_a: has participant\n    domain: occurrent\n    range: molecular activity\n    inverse: actively involved in\n    exact_mappings:\n      - RO:0002331\n    in_subset:\n      - translator_minimal\n\n  capable of:\n    is_a: actively involved in\n    description: >-\n      holds between a physical entity and process or function, where the\n      continuant alone has the ability to carry out the process or function.\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002215\n    narrow_mappings:\n      - NCIT:R52\n      - RO:0002500\n\n  has capability:\n    is_a: actively involves\n    inverse: capable of\n\n  enables:\n    is_a: participates in\n    description: >-\n      holds between a physical entity and a process, where the physical entity executes the process\n    domain: physical entity\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    in_subset:\n      - translator_minimal\n    inverse: enabled by\n    exact_mappings:\n      - RO:0002327\n\n  enabled by:\n    is_a: has participant\n    description: >-\n      holds between a process and a physical entity, where the physical entity executes the process\n    domain: biological process or activity\n    range: physical entity\n    in_subset:\n      - translator_minimal\n    inverse: enables\n    exact_mappings:\n      - RO:0002333\n    annotations:\n      opposite_of: prevented by\n\n  derives into:\n    is_a: related to at instance level\n    aliases: [ 'is normal cell origin of disease','may be normal cell origin of disease' ]\n    description: >-\n      holds between two distinct material entities, the old entity and\n      the new entity, in which the new entity begins to exist when\n      the old entity ceases to exist, and the new entity inherits\n      the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n    inverse: derives from\n    # TODO: fix this according to WG notes. Example of both opposite and inverse\n    annotations:\n      opposite_of: subclass of\n    exact_mappings:\n      - RO:0001001\n      - SEMMEDDB:CONVERTS_TO\n      - SEMMEDDB:converts_to\n      # RTX posted terms as inverse of 'biolink:derives_from'\n      - FMA:derives\n\n  derives from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    description: >-\n      holds between two distinct material entities, the new entity\n      and the old entity, in which the new entity begins to exist\n      when the old entity ceases to exist, and the new entity\n      inherits the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n      - samples\n    inverse: derives into\n    exact_mappings:\n      - RO:0001000\n      - FMA:derives_from\n      - DOID-PROPERTY:derives_from\n    narrow_mappings:\n      - CHEBI:has_functional_parent\n      - SNOMED:has_specimen_source_topography\n\n  is metabolite of:\n    is_a: derives from\n    description: >-\n      holds between two molecular entities in which the first one is derived\n      from the second one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    in_subset:\n      - translator_minimal\n    inverse: has metabolite\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  has metabolite:\n    is_a: derives into\n    description: >-\n      holds between two molecular entities in which the second one is derived from the first\n      one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  food component of:\n    is_a: part of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has food component\n    #mappings:\n    #  -\n\n  has food component:\n    is_a: has part\n    description: >-\n      holds between food and one or more chemical entities composing it,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  nutrient of:\n    is_a: food component of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has nutrient\n    #exact_mappings:\n    #  -\n\n  has nutrient:\n    is_a: has food component\n    description: >-\n      one or more nutrients which are growth factors for a living organism\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q181394\n\n  is active ingredient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug, in which the former\n      is a part of the latter, and is a biologically active component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has active ingredient\n    mappings:\n      - RO:0002249\n\n  has active ingredient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entity in which the latter\n      is a part of the former, and is a biologically active component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n      opposite_of: is excipient of\n    in_subset:\n      - translator_minimal\n    inverse: is active ingredient of\n    mappings:\n      - RO:0002248\n\n  is excipient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug in which the former is\n      a part of the latter, and is a biologically inactive component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has excipient\n    mappings:\n      - WIKIDATA:Q902638\n\n  has excipient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entities in which the latter\n      is a part of the former, and is a biologically inactive component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    mappings:\n      - WIKIDATA:Q902638\n\n  manifestation of:\n    is_a: related to at instance level\n    description: >-\n      that part of a phenomenon which is directly observable or\n      visibly expressed, or which gives evidence to the underlying\n      process; used in SemMedDB for linking things like dysfunctions\n      and processes to some disease or syndrome\n    range: disease\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:MANIFESTATION_OF\n      - SEMMEDDB:manifestation_of\n      - OMIM:manifestation_of\n    broad_mappings:\n      # Wikidata definition slightly broader: \"inherent and characteristic embodiment of a given concept\"\n      - WIKIDATA_PROPERTY:P1557\n    narrow_mappings:\n      - SNOMED:has_definitional_manifestation\n\n  has manifestation:\n    is_a: related to at instance level\n    domain: disease\n    inverse: manifestation of\n\n  mode of inheritance of:\n    is_a: manifestation of\n    domain: genetic inheritance\n    range: disease or phenotypic feature\n    inverse: has mode of inheritance\n\n  has mode of inheritance:\n    is_a: has manifestation\n    description: >-\n      Relates a disease or phenotypic feature to its observed genetic segregation and assumed\n      associated underlying DNA manifestation (i.e. autosomal, sex or mitochondrial chromosome).\n    domain: disease or phenotypic feature\n    range: genetic inheritance\n    annotations:\n      # This canonical order reverses that of its parent 'has manifestation' class\n      # but seems a more natural direction in the pertinent edge relationships.\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  produces:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a product that is generated\n      through the intentional actions or functioning of the material entity\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - GOREL:0001010\n    exact_mappings:\n      - RO:0003000\n      - WIKIDATA_PROPERTY:P1056\n      - SEMMEDDB:PRODUCES\n      - SEMMEDDB:produces\n    narrow_mappings:\n      - NCIT:R29\n      - SNOMED:has_process_output\n      - SNOMED:specimen_procedure_of\n\n  produced by:\n    is_a: related to at instance level\n    inverse: produces\n    exact_mappings:\n      - RO:0003001\n\n  consumes:\n    is_a: has input\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - RO:0004009\n\n  consumed by:\n    is_a: is input of\n    inverse: consumes\n\n  temporally related to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities with a temporal relationship\n    domain: occurrent\n    range: occurrent\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SNOMED:temporally_related_to\n    narrow_mappings:\n      # The These RTX mappings are temporal in nature, but not with precedes ordering, so mapped here\n      - RO:0002082\n      - RO:0002083\n      - RO:0002092\n      - RO:0002093\n      - RO:0002223\n      - RO:0002224\n      - RO:0002229\n      - RO:0002230\n      - RO:0002488\n      - RO:0002489\n      - RO:0002492\n      - RO:0002493\n      - RO:0002496\n      - RO:0002497\n\n  precedes:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where one completes before the other begins\n    domain: occurrent\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n      opposite_of: preceded by\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # the subject of these terms is a material entity, not a process,\n      # but affects a process which causes a second process to occur\n      - RO:0002263\n      - RO:0002264\n    exact_mappings:\n      - BFO:0000063\n      - SEMMEDDB:PRECEDES\n      - SEMMEDDB:precedes\n      - SNOMED:occurs_before\n    broad_mappings:\n      # the Wikidata definition is subtly broader, focusing on a series not strictly temporal in nature\n      - WIKIDATA_PROPERTY:P156\n    narrow_mappings:\n      - FMA:transforms_into\n      - RO:0002090\n      - RO:0002411\n      - RO:0002412\n\n  preceded by:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where the other is completed before the one begins\n    domain: occurrent\n    range: occurrent\n    inverse: precedes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000062\n    broad_mappings:\n      # Contributed by RTX as inverse of 'precedes'. Seems more generic to just processes, so we tag it as 'broad'?\n      - GENEPIO:0001739\n    narrow_mappings:\n      # RTX contributed mapping was given as the inverse of 'biolink:precedes'\n      - FMA:transforms_from\n      - RO:0002087\n      - RO:0002285\n\n  directly interacts with:\n    deprecated: true\n    is_a: interacts with\n    description: Holds between chemical entities that physically and directly interact\n      with each other\n    domain: chemical entity\n    range: chemical entity or gene or gene product\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - GAMMA:kd\n      - GAMMA:kb\n      - GAMMA:potency\n    exact_mappings:\n      - GAMMA:interacts_with\n    broad_mappings:\n      # Definition of this term is more generic than direct physical molecular interactions:\n      # A is connected to B iff there exists a fiat, material or temporal path between A and B.\n      - SIO:000203\n    narrow_mappings:\n      - PHAROS:drug_targets\n      - DRUGBANK:chelator\n      - GAMMA:antibody_binding\n      - GAMMA:pharmacological_chaperone\n      - GAMMA:releasing_agent\n      - GAMMA:pharmacological_chaperone\n      - GAMMA:releasing_agent\n      - GAMMA:binder\n      - GAMMA:binding\n      - GAMMA:ligand\n      - GAMMA:cofactor\n      - GAMMA:multitarget\n      - GAMMA:chaperone\n      - GAMMA:component\n      - GAMMA:adduct\n      - GAMMA:antibody\n      - CTD:affects_binding\n      - DGIdb:binder\n      - DGIdb:cofactor\n\n  affects expression in:\n    deprecated: true\n    is_a: affects\n    annotations:\n      canonical_predicate: true\n    description: Holds between a variant and an anatomical entity where the expression of the variant\n      is located in.\n    exact_mappings:\n      - GTEx:affects_expression_in\n\n  has variant part:\n    is_a: has part\n    description: holds between a nucleic acid entity and a nucleic acid entity that is a sub-component of it\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000382\n\n  variant part of:\n    is_a: part of\n    inverse: has variant part\n\n  related condition:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000790\n\n  ## Predicates relating variants to genes\n\n  is sequence variant of:\n    is_a: related to at instance level\n    aliases: [ 'gene product sequence variation encoded by gene mutant', 'allelic variant of', 'gene product variant of gene product' ]\n    description: holds between a sequence variant and a nucleic acid entity\n    domain: sequence variant\n    range: nucleic acid entity\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - WIKIDATA:P3433\n\n  has sequence variant:\n    is_a: related to at instance level\n    inverse: is sequence variant of\n    domain: nucleic acid entity\n    range: sequence variant\n\n  is missense variant of:\n    is_a: is sequence variant of\n    description: holds between a gene  and a sequence variant, such the sequence variant\n      results in a different amino acid sequence but where the length is preserved.\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001583\n\n  has missense variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is missense variant of\n\n  is synonymous variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the coding sequence of the gene, but results in the same amino acid sequence\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001819\n\n  has synonymous variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is synonymous variant of\n    aliases: [ 'stop gained' ]\n\n  is nonsense variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      results in a premature stop codon\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      # Term definition broader than nonsense codon: A sequence variant whereby\n      # the gene product has diminished or abolished function.\n      - SO:0002054\n\n  has nonsense variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is nonsense variant of\n\n  is frameshift variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      causes a disruption of the translational reading frame, because the number of\n      nucleotides inserted or deleted is not a multiple of three.\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001589\n    aliases: [ 'frameshift variant', 'start lost', 'stop lost' ]\n\n  has frameshift variant:\n    is_a: has sequence variant\n    inverse: is frameshift variant of\n    domain: gene\n    range: sequence variant\n    aliases: [ 'splice region variant', 'splice acceptor variant', 'splice donor variant' ]\n\n  is splice site variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the canonical splice site of one of the gene's exons.\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001629\n\n\n  has splice site variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is splice site variant of\n    aliases: [ 'downstream gene variant', 'upstream gene variant' ]\n\n  is nearby variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene sequence that the variant\n      is genomically close to.\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GAMMA:0000102\n\n  has nearby variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is nearby variant of\n    aliases: [ 'intron variant', '3 prime UTR variant', '5 prime UTR variant', '5 prime UTR premature start codon gain variant', 'non coding transcript exon variant' ]\n\n  is non coding variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, where the variant does\n      not affect the coding sequence\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GAMMA:0000103\n\n  has non coding variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is non coding variant of\n\n  # relating disease to process\n\n  disease has basis in:\n    description: A relation that holds between a disease and an entity where the state\n      of the entity has contribution to the disease.\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      # These two MONDO terms seem more particular than the predicate\n      - MONDO:disease_has_basis_in_development_of\n      - MONDO:disease_has_basis_in_accumulation_of\n\n  occurs in disease:\n    is_a: related to at instance level\n    inverse: disease has basis in\n\n\n  has adverse event:\n    is_a: affects\n    aliases: [ 'adverse effect']\n    description: >-\n      An untoward medical occurrence in a patient or clinical investigation subject that happens during treatment \n      with a therapeutic agent. Adverse events may be caused by something \n      other than the drug or therapy being given and may include abnormal laboratory finding, symptoms, or \n      diseases temporally associated with the treatment, whether or not considered related to the treatment. \n      Adverse events are unintended effects that occur when a medication is administered correctly.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n\n  adverse event of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has adverse event\n\n  has side effect:\n    aliases: [ 'adverse drug reaction']\n    is_a: affects\n    description: >-\n      An unintended, but predictable, secondary effect shown to be correlated with a therapeutic agent, drug or treatment.\n      Side effects happen at normal, recommended doses or treatments, and are unrelated to the intended purpose of \n      the medication.\n    notes: >-\n      Side effects are listed on drug labels. There can be positive side effects, while adverse events are always negative.\n      Aeolus, Sider are both resources that provide side effects.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C2861 # side effect\n\n  is side effect of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  contraindicated for:\n    is_a: related to at instance level\n    description: Holds between a drug and a disease or phenotype, such that a person\n      with that disease should not be treated with the drug.\n    domain: drug\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: treats\n    exact_mappings:\n      - NCIT:C37933\n\n  has contraindication:\n    is_a: related to at instance level\n    domain: disease or phenotypic feature\n    range: drug\n    inverse: contraindicated for\n\n  # The remaining new slots are here because we ran across them somewhere and\n  # they didn't seem to map well to anything else.\n\n  has not completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of,\n      but has not completed\n    exact_mappings:\n      - CL:has_not_completed\n    annotations:\n      opposite_of: has completed\n      canonical_predicate: true\n\n  not completed by:\n    is_a: related to at instance level\n    inverse: has not completed\n\n  has completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of\n      and has completed\n    annotations:\n      canonical_predicate: true\n      opposite_of: has not completed\n    exact_mappings:\n      - CL:has_completed\n\n  completed by:\n    is_a: related to at instance level\n    inverse: has completed\n\n  decreases molecular interaction:\n    deprecated: true\n    is_a: molecularly interacts with\n    description: indicates that the source decreases the molecular interaction between\n      the target and some other chemical entity\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases molecular interaction\n    exact_mappings:\n      - CTD:decreases_molecular_interaction_with\n    mixins:\n      - decreases amount or activity of\n\n  molecular interaction decreased by:\n    deprecated: true\n    is_a: molecularly interacts with\n    inverse: decreases molecular interaction\n\n  increases molecular interaction:\n    deprecated: true\n    is_a: molecularly interacts with\n    description: indicates that the source increases the molecular interaction between\n      the target and some other chemical entity\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases molecular interaction\n    exact_mappings:\n      - CTD:increases_molecular_interaction_with\n    mixins:\n      - increases amount or activity of\n\n  molecular interaction increased by:\n    deprecated: true\n    is_a: molecularly interacts with\n    inverse: increases molecular interaction\n\n  in linkage disequilibrium with:\n    is_a: related to at instance level\n    description: holds between two sequence variants, the presence of which are correlated\n      in a population\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C16798\n\n  has increased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has decreased amount\n    narrow_mappings:\n      - CL:has_high_plasma_membrane_amount\n\n  increased amount of:\n    is_a: related to at instance level\n    inverse: has increased amount\n\n  has decreased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has increased amount\n    narrow_mappings:\n      - CL:has_low_plasma_membrane_amount\n\n  decreased amount in:\n    is_a: related to at instance level\n    inverse: has decreased amount\n\n  lacks part:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has part\n    exact_mappings:\n      - CL:lacks_part\n      - PR:lacks_part\n    narrow_mappings:\n      - CL:lacks_plasma_membrane_part\n\n  missing from:\n    is_a: related to at instance level\n    inverse: lacks part\n\n  develops from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # RTX mapping seems to be inverse of 'biolink:develops_from'\n      - RO:0002203\n      - FMA:develops_into\n    exact_mappings:\n      - BTO:develops_from\n      - DDANAT:develops_from\n      - FMA:develops_from\n      - RO:0002202\n    narrow_mappings:\n      - RO:0002207\n      - RO:0002225 # x develops from part of y if and only if there exists some z such that x develops from z and z is part of y\n      - RO:0002226 # x develops_in y if x is located in y whilst x is developing\n\n  develops into:\n    is_a: related to at instance level\n    inverse: develops from\n\n  in taxon:\n    aliases: [ 'instance of', 'is organism source of gene product', 'organism has gene', 'gene found in organism',' gene product has organism source' ]\n    is_a: related to at instance level\n    domain: thing with taxon\n    range: organism taxon\n    annotations:\n      canonical_predicate: true\n    description: >-\n      connects an entity to its taxonomic classification. Only certain kinds\n      of entities can be taxonomically classified; see 'thing with taxon'\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002162\n      - WIKIDATA_PROPERTY:P703\n    narrow_mappings:\n      - RO:0002160\n\n  taxon of:\n    is_a: related to at instance level\n    inverse: in taxon\n    domain: organism taxon\n    range: thing with taxon\n\n  has molecular consequence:\n    is_a: related to at instance level\n    aliases: [ 'allele has activity' ]\n    description: >-\n      connects a sequence variant to a class describing the molecular\n      consequence. E.g.  SO:0001583\n    range: ontology class\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - NCIT:allele_has_activity\n\n  is molecular consequence of:\n    is_a: related to at instance level\n    domain: ontology class\n    inverse: has molecular consequence\n\n  ## --------------------\n  ## ASSOCIATION SLOTS\n  ## --------------------\n\n  association slot:\n    abstract: true\n    domain: association\n    aliases: [ 'edge property','statement property','node qualifier','edge qualifier','statement qualifier' ]\n    description: >-\n      any slot that relates an association to another entity\n\n  original subject:\n    is_a: association slot\n    description: >-\n      used to hold the original subject of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original object:\n    is_a: association slot\n    description: >-\n      used to hold the original object of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original predicate:\n    aliases: [ 'original relation', 'relation' ]\n    is_a: association slot\n    description: >-\n      used to hold the original relation/predicate that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n    id_prefixes:\n      - RO\n      - BSPO\n      - SIO\n    domain: association\n    range: uriorcurie\n\n  subject:\n    is_a: association slot\n    local_names:\n      ga4gh: annotation subject\n      neo4j: node with outgoing relationship\n    description: >-\n      connects an association to the subject of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    range: named thing\n    slot_uri: rdf:subject\n    exact_mappings:\n      - owl:annotatedSource\n      - OBAN:association_has_subject\n\n  object:\n    is_a: association slot\n    description: >-\n      connects an association to the object of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    range: named thing\n    local_names:\n      ga4gh: descriptor\n      neo4j: node with incoming relationship\n    slot_uri: rdf:object\n    exact_mappings:\n      - owl:annotatedTarget\n      - OBAN:association_has_object\n\n  predicate:\n    is_a: association slot\n    description: >-\n      A high-level grouping for the relationship type. AKA minimal predicate.\n      This is analogous to category for nodes.\n    domain: association\n    notes: >-\n      Has a value from the Biolink related_to hierarchy. In RDF,  this\n      corresponds to rdf:predicate and in Neo4j this corresponds to the\n      relationship type. The convention is for an edge label in snake_case\n      form. For example, biolink:related_to, biolink:causes, biolink:treats\n    range: predicate type\n    required: true\n    local_names:\n      ga4gh: annotation predicate\n      translator: predicate\n    slot_uri: rdf:predicate\n    exact_mappings:\n      - owl:annotatedProperty\n      - OBAN:association_has_predicate\n\n  logical interpretation:\n    is_a: association slot\n    required: false\n    domain: association\n    range: logical_interpretation_enum\n    exact_mappings:\n      - os:LogicalInterpretation\n\n  relation:\n    deprecated: true\n\n  negated:\n    is_a: association slot\n    range: boolean\n    description: >-\n      if set to true, then the association is negated i.e. is not true\n\n  has confidence level:\n    is_a: association slot\n    range: confidence level\n    description: >-\n      connects an association to a qualitative term denoting the level of confidence\n\n  has evidence:\n    is_a: association slot\n    range: evidence type\n    description: >-\n      connects an association to an instance of supporting evidence\n    exact_mappings:\n      - RO:0002558\n    multivalued: true\n\n  has supporting study result:\n    is_a: related to at instance level\n    description: >-\n      connects an association to an instance of supporting study result\n\n  mechanism of action:\n    is_a: association slot\n    range: boolean\n    description: >-\n      a boolean flag to indicate if the edge is part of a path or subgraph of a knowledge graph that constitutes\n      the mechanism of action for a result.\n    exact_mappings:\n      - NCIT:C54680\n      - MI:2044\n      - LOINC:MTHU019741\n\n  knowledge source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which the knowledge expressed in an Association was\n      retrieved, directly or indirectly. This can be any resource through which the\n      knowledge passed on its way to its currently serialized form. In practice,\n      implementers should use one of the more specific subtypes of this generic property.\n    range: information resource\n    close_mappings:\n      - pav:providedBy\n\n  source:\n    deprecated: true\n\n  provided by:\n    is_a: node property\n    description: >-\n      The value in this node property represents the knowledge provider that created or assembled the\n      node and all of its attributes.  Used internally to represent how a particular node made its way into a\n      knowledge provider or graph.\n    multivalued: true\n\n  primary knowledge source:\n    is_a: knowledge source\n    description: >-\n      The most upstream source of the knowledge expressed in an Association that an\n      implementer can identify.  Performing a rigorous analysis of upstream data providers is expected; every effort\n      is made to catalog the most upstream source of data in this property.  Only one data source should be declared\n      primary in any association.  \"aggregator knowledge source\" can be used to caputre non-primary sources.\n    range: information resource\n    notes: >-\n      For example: a single ChemicalToGene Edge originally curated by ClinicalTrials.org, is aggregated by ChEMBL, then \n      incorporated into the MolePro KP, then sent via TRAPI message to the ARAGORN ARA, and finally sent to \n      the NCATS ARS. The retrieval path for this Edge is as follows: \n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   MolePro  --retrieved_from--> ChEMBL --retrieved_from-->  ClinicalTrials.gov\n      The \"primary knowledge source\" for this edge is \"infores:clinical-trials-gov\".  \"infores:chembl\" and \"infores:molecular_data_provider\"\n      are listed in the \"aggregator knowledge source\" property.\n    multivalued: false\n\n  original knowledge source:\n    deprecated: true\n\n  aggregator knowledge source:\n    is_a: knowledge source\n    description: >-\n      An intermediate aggregator resource from which knowledge expressed in an Association was\n      retrieved downstream of the original source, on its path to its current serialized form.\n    range: information resource\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP, \n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse, \n      the Edge is passed to the Ranking Agent’s ARAGORN ARA, \n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of \n      data from which the knowledge was derived.   \n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which data was retrieved and subsequently used as\n      evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    range: information resource\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP, \n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse, \n      the Edge is passed to the Ranking Agent’s ARAGORN ARA, \n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of \n      data from which the knowledge was derived.   \n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data set:\n    is_a: association slot\n    description: >-\n      A set of data used as evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    range: information resource\n    multivalued: true\n\n  association type:\n    is_a: association slot\n    range: category type\n    deprecated: >-\n      This slot is deprecated in favor of 'category' slot.\n    deprecated_element_has_exact_replacement: category\n    description: >-\n      connects an association to the category of association (e.g. gene to phenotype)\n\n  chi squared statistic:\n    is_a: association slot\n    range: float\n    description: >-\n      represents the chi-squared statistic computed from observations\n    exact_mappings:\n      - STATO:0000030\n\n  p value:\n    aliases: ['unadjusted p value']\n    is_a: association slot\n    range: float\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    exact_mappings:\n      - OBI:0000175\n      - NCIT:C44185\n      - EDAM-DATA:1669\n\n  evidence count:\n    is_a: association slot\n    description: >-\n      The number of evidence instances that are connected to an association.\n    range: integer\n\n  concept count subject:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the subject slot of an association.\n    range: integer\n    examples:\n      - value: 489\n\n  concept count object:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the object slot of an association.\n    range: integer\n\n  concept pair count:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      both the subject and object concept of an association.\n    range: integer\n    examples:\n      - value: 1731\n\n  expected count:\n    is_a: association slot\n    description: >-\n      The expected (calculated) number of instances in a dataset/cohort whose records contain both the subject and \n      object concept of an association if the subject and object concepts are independent.\n\n  relative frequency subject:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in \n      records within a dataset/cohort, relative to the frequency at which the subject\n      concept appears in these same records.\n    range: float\n    examples:\n      - value: 0.01840490798\n\n  relative frequency object:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in \n      records within a dataset/cohort, relative to the frequency at which the object\n      concept appears in these same records.\n    range: string\n\n  relative frequency subject confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_subject calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  relative frequency object confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_object calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  adjusted p value:\n    is_a: p value\n    description: >-\n      The adjusted p-value is the probability of obtaining test results\n      at least as extreme as the results actually observed, under the assumption that\n      the null hypothesis is correct, adjusted for multiple comparisons.  \n      P is always italicized and capitalized. The actual P value* should be expressed (P=. 04) \n      rather than expressing a statement of inequality (P<. 05), unless P<.\n    range: float\n\n  bonferonni adjusted p value:\n    is_a: adjusted p value\n    description: >-\n      The Bonferroni correction is an adjustment made to P values when several dependent or independent \n      statistical tests are being performed simultaneously on a single data set. To perform a Bonferroni \n      correction, divide the critical P value (α) by the number of comparisons being made.  P is always italicized and \n      capitalized. The actual P value* should be expressed (P=. 04) rather than expressing a statement of inequality \n      (P<. 05), unless P<.\n    range: float\n    examples:\n      - value: 0.018\n\n  supporting text:\n    is_a: association slot\n    description: The segment of text from a document that supports the mined assertion.\n    range: string\n    examples:\n      - value: The administration of 50g/ml bupivacaine promoted maximum breast cancer.\n\n  supporting document:\n    is_a: association slot\n    description: >-\n      A publication or other document that reports the statement expressed in an Association, or \n      provides information used as evidence supporting this statement.\n    range: uriorcurie\n    examples:\n      - value: PMID:12345678\n\n  subject location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the subject concept of the extracted assertion.\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  object location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the object concept of the extracted assertion\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  extraction confidence score:\n    is_a: association slot\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    range: integer\n    examples:\n        - value: 15\n\n  supporting document type:\n    is_a: association slot\n    description: >-\n      The document type (e.g., Journal Article, Case Study, Preprint) for\n      the supporting document used in a Text Mining Result.\n    range: string\n    examples:\n      - value: Journal Article\n\n  supporting document year:\n    is_a: association slot\n    description: >-\n      The document year (typically the publication year) for the supporting\n      document used in a Text Mining Result.\n    range: integer\n    examples:\n      - value: 1999\n\n  supporting text section type:\n    is_a: association slot\n    description: >-\n      The section of the supporting text of a Text Mining Result within\n      the supporting document. This is in the form of the name of the document section\n      (e.g., Abstract, Introduction) that contains the supporting text.\n    range: string\n    examples:\n      - value: Introduction\n\n  ln ratio:\n    is_a: association slot\n    description: the natural log of the ratio of co-occurrence to expected\n    range: float\n    examples:\n      - value: 2.922827136\n\n  ln ratio confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the ln_ratio calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: float\n    examples:\n      - value: 2.922827136\n\n  interacting molecules category:\n    is_a: association slot\n    range: ontology class\n    exact_mappings:\n      - MI:1046\n    values_from:\n      - MI\n    examples:\n      - value: MI:1048\n        description: smallmolecule-protein\n\n  expression site:\n    description: >-\n      location in which gene or protein expression takes place.\n      May be cell, tissue, or organ.\n    is_a: association slot\n    range: anatomical entity\n    examples:\n      - value: UBERON:0002037\n        description: cerebellum\n\n  phenotypic state:\n    description: >-\n      in experiments (e.g. gene expression) assaying diseased or unhealthy\n      tissue, the phenotypic state can be put here, e.g. MONDO ID.\n      For healthy tissues, use XXX.\n    is_a: association slot\n    range: disease or phenotypic feature\n\n  publications:\n    singular_name: publication\n    description: >-\n      connects an association to publications supporting the association\n    is_a: association slot\n    multivalued: true\n    range: publication\n\n  associated environmental context:\n    is_a: association slot\n    description: >-\n      An attribute that can be applied to an association where the association holds between two entities\n      located or occurring in a particular environment. For example, two microbial taxa may interact in the context of\n      a human gut; a disease may give rise to a particular phenotype in a particular environmental exposure.\n      # TODO: add examples of values for this property.\n\n  sequence localization attribute:\n    is_a: association slot\n    domain: genomic sequence localization\n    description: >-\n      An attribute that can be applied to a genome sequence localization edge. These edges\n      connect a nucleic acid entity such as an exon to an entity such as a chromosome. Edge properties are used\n      to ascribe specific positional information and other metadata to the localization. In pragmatic terms\n      this can be thought of as columns in a GFF3 line.\n\n  interbase coordinate:\n    is_a: sequence localization attribute\n    aliases: [ 'zero-based', 'half-open', 'space-based' ]\n    description: >-\n      A position in interbase coordinates. Interbase coordinates start at position 0 instead of position 1.\n      This is applied to a sequence localization edge.\n    range: integer\n\n  start interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 0).\n    close_mappings:\n      - faldo:begin\n    annotations:\n      opposite_of: end interbase coordinate\n\n  end interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity ends\n      on the chromosome or other entity to which it is located on.\n    close_mappings:\n      - faldo:end\n    annotations:\n      opposite_of: start interbase coordinate\n\n  start coordinate:\n    is_a: base coordinate\n    aliases: [ 'start' ]\n    description: >-\n      The position at which the subject genomic entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 1).\n    exact_mappings:\n      - gff3:start\n    close_mappings:\n      - faldo:begin\n\n  end coordinate:\n    is_a: base coordinate\n    aliases: [ 'end' ]\n    description: >-\n      The position at which the subject genomic entity ends\n      on the chromosome or other entity to which it is located on.\n    exact_mappings:\n      - gff3:end\n    close_mappings:\n      - faldo:end\n\n  genome build:\n    is_a: sequence localization attribute\n    description: >-\n      The version of the genome on which a feature is located.\n      For example, GRCh38 for Homo sapiens.\n    range: strand_enum\n    exact_mappings:\n      - gff3:strand\n\n  strand:\n    is_a: sequence localization attribute\n    description: >-\n      The strand on which a feature is located. Has a value of '+'\n      (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).\n    range: strand_enum\n    exact_mappings:\n      - gff3:strand\n\n  phase:\n    is_a: sequence localization attribute\n    domain: coding sequence\n    description: >-\n      The phase for a coding sequence entity. For example, phase of a\n      CDS as represented in a GFF3 with a value of 0, 1 or 2.\n    range: phase_enum\n    exact_mappings:\n      - gff3:phase\n\n  FDA approval status:\n    is_a: association slot\n    description: >-\n    range: FDA_approval_status_enum\n\n\n\n  supporting study metadata:\n    is_a: association slot\n    description: >-\n      Information about a study used to generate information used as evidence to support the knowledge expressed in an \n      Association. In practice, data creators should use one of the more specific subtypes of this property.\n    abstract: true\n\n  supporting study method type:\n    is_a: supporting study metadata\n    description: >-\n      A type of method that was applied in a study used to generate the information used as evidence (e.g. a type of \n      experimental assay, or statistical calculation, or computational analysis).\n    range: uriorcurie\n\n  supporting study method description:\n    is_a: supporting study metadata\n    description: >-\n      A uri or curie pointing to information about the methodology used to generate data supporting an Association.\n    range: uriorcurie\n\n  supporting study size:\n    is_a: supporting study metadata\n    description: >-\n      The sample size used in a study that provided evidence for the association (e.g. 'n' of a cohort for a \n      clinical study).\n    range: integer\n\n  supporting study cohort:\n    is_a: supporting study metadata\n    description: >-\n      A description of a study population/cohort that was interrogated to provide evidence for the association \n      (e.g. the inclusion and exclusion criteria).\n    range: string\n\n  supporting study date range:\n    is_a: supporting study metadata\n    description: >-\n      The date range over which data was collected in a study that provided evidence for an Association.\n    range: string\n\n  supporting study context:\n    is_a: supporting study metadata\n    description: >-\n      A term or terms describing the experimental setting/context in which evidence supporting the Association was \n      generated ('context' may be defined by many factors, including taxon, model system (e.g. cell line type), tissue \n      type, disease, etc.).\n    range: string\n\nclasses:\n\n  ## ----------\n  ## ATTRIBUTES\n  ## ----------\n\n  ## Ontology Classes\n\n  ontology class:\n    mixin: true\n    slots:\n      - id\n    description: >-\n      a concept or class in an ontology, vocabulary or thesaurus. Note that nodes in\n      a biolink compatible KG can be considered both instances of biolink classes, and\n      OWL classes in their own right. In general you should not need to use this class directly.\n      Instead, use the appropriate biolink class. For example, for the GO concept of endocytosis (GO:0006897),\n      use bl:BiologicalProcess as the type.\n    exact_mappings:\n      - owl:Class\n      - schema:Class\n    comments:\n      - >-\n        This is modeled as a mixin. 'ontology class' should not be the primary type of a\n        node in the KG. Instead you should use an informative bioloink category, such as AnatomicalEntity\n        (for Uberon classes), ChemicalSubstance (for CHEBI or CHEMBL), etc\n      - >-\n        Note that formally this is a metaclass. Instances of this class are instances in the graph,\n        but can be the object of 'type' edges. For example, if we had a node in the graph representing\n        a specific brain of a specific patient (e.g brain001), this could have a category of bl:Sample,\n        and by typed more specifically with an ontology class UBERON:nnn, which has as category bl:AnatomicalEntity\n    see_also:\n      - https://github.com/biolink/biolink-model/issues/486\n    examples:\n      - value: UBERON:0000955\n        description: >-\n          the class 'brain' from the Uberon anatomy ontology\n    id_prefixes:\n      - MESH\n      - UMLS\n      - KEGG.BRITE ## br/ko number\n  \n  annotation:\n    description: >-\n      Biolink Model root class for entity annotations.\n    abstract: true\n\n  quantity value:\n    is_a: annotation\n    description: >-\n      A value of an attribute that is quantitative and measurable,\n      expressed as a combination of a unit and a numeric value\n    slots:\n      - has unit\n      - has numeric value\n\n  # Alignment attempted of the biolink:Attribute model\n  # to the proposed TRAPI Release 1.1 Attribute schema, i.e.\n  #\n  # attribute_name: \"assertionAuthoredBy\",\n  # attribute_type: SEPIO:0000130,\n  # value: \"ORCID:12345\",\n  # value_type: \"wd:Q51044\",\n  # value_type_name: \"ORCID ID\"\n  # url: https://orcid.org/12345\n  # source: ORCID\n\n  attribute:\n    is_a: named thing\n    mixins:\n      - ontology class\n    description: >-\n      A property or characteristic of an entity.\n      For example, an apple may have properties such as color, shape, age, crispiness.\n      An environmental sample may have attributes such as depth, lat, long, material.\n    slots:\n      - name                   # 'attribute_name'\n      - has attribute type     # 'attribute_type'\n      # 'value', 'value_type', 'value_type_name'\n      # extracted from either of the next two slots\n      - has quantitative value\n      - has qualitative value\n      - iri                    # 'url'\n      - source                 # 'source'\n    slot_usage:\n      name:\n        description: >-\n          The human-readable 'attribute name' can be set to a string which reflects its context of\n          interpretation, e.g. SEPIO evidence/provenance/confidence annotation or it can default\n          to the name associated with the 'has attribute type' slot ontology term.\n    id_prefixes:\n      - EDAM-DATA\n      - EDAM-FORMAT\n      - EDAM-OPERATION\n      - EDAM-TOPIC\n    exact_mappings:\n      - SIO:000614\n    in_subset:\n      - samples\n\n  chemical role:\n    is_a: attribute\n\n  biological sex:\n    is_a: attribute\n    exact_mappings:\n      - PATO:0000047\n\n  phenotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the phenotypic sex of the individual,\n      based upon the reproductive organs present.\n    exact_mappings:\n      - PATO:0001894\n\n  genotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the genotypic sex of the individual,\n      based upon genotypic composition of sex chromosomes.\n    exact_mappings:\n      - PATO:0020000\n\n  severity value:\n    is_a: attribute\n    description: >-\n      describes the severity of a phenotypic feature or disease\n\n  relationship quantifier:\n    mixin: true\n\n  sensitivity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  specificity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  pathognomonicity quantifier:\n    is_a: specificity quantifier\n    description: >-\n      A relationship quantifier between a variant or symptom and a disease, which is\n      high when the presence of the feature implies the existence of the disease\n    mixin: true\n\n  frequency quantifier:\n    is_a: relationship quantifier\n    mixin: true\n    slots:\n      - has count\n      - has total\n      - has quotient\n      - has percentage\n\n  chemical or drug or treatment:\n    mixin: true\n\n  ## ------\n  ## THINGS\n  ## ------\n\n  entity:\n    description: >-\n      Root Biolink Model class for all things and informational relationships, real or imagined.\n    abstract: true\n    slots:\n      - id\n      - iri\n      - category\n      - type   # rdf:type\n      - name\n      - description\n      - source\n      - has attribute\n      # evidence code(s)?\n\n  named thing:\n    is_a: entity\n    description: \"a databased entity or concept/class\"\n    slots:\n      - provided by\n      - xref\n    slot_usage:\n      category:\n        required: true\n        pattern: '^biolink:\\d+$'\n    exact_mappings:\n      - BFO:0000001\n      - WIKIDATA:Q35120\n      # UMLS Semantic Group \"Objects\"\n      - UMLSSG:OBJC\n      # Entity\n      - STY:T071\n      - dcid:Thing\n\n  relationship type:\n    is_a: ontology class\n    description: >-\n      An OWL property used as an edge label\n\n  gene ontology class:\n    deprecated: true\n\n  unclassified ontology class:\n    deprecated: true\n\n  taxonomic rank:\n    description: >-\n      A descriptor for the rank within a taxonomic classification.\n      Example instance: TAXRANK:0000017 (kingdom)\n    is_a: ontology class\n    id_prefixes:\n      - TAXRANK\n    mappings:\n      - WIKIDATA:Q427626\n\n  organism taxon:\n    aliases: [ 'taxon', 'taxonomic classification' ]\n    description: >-\n      A classification of a set of organisms. Example instances:\n      NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria).\n      Can also be used to represent strains or subspecies.\n    is_a: named thing\n    slot_usage:\n      has taxonomic rank:\n        range: taxonomic rank\n        multivalued: false\n        mappings:\n          - WIKIDATA:P105\n    values_from:\n      - NCBITaxon\n    exact_mappings:\n      - WIKIDATA:Q16521\n      - STY:T001\n      - bioschemas:Taxon\n    narrow_mappings:\n      - dcid:BiologicalSpecies\n    id_prefixes:\n      - NCBITaxon\n      - MESH\n      - UMLS\n    in_subset:\n      - model_organism_database\n  \n  ## Temporal Entities\n  \n  event:\n    is_a: named thing\n    description: >-\n      Something that happens at a given place and time.\n    exact_mappings:\n      - NCIT:C25499\n      # UMLS \"Event\"\n      - STY:T051\n\n  ## Administrative Entities\n\n  administrative entity:\n    is_a: named thing\n    abstract: true\n\n  study result:\n    abstract: true\n    description: >- \n      A collection of data items from a study that are about a particular study subject or experimental unit (the \n      'focus' of the Result) - optionally with context/provenance metadata that may be relevant to the interpretation\n      of this data as evidence.\n    notes:\n      The data/metadata included in a Study Result object are typically a subset of data from a larger study data set, \n      that are selected by a curator because they may be useful as evidence for deriving knowledge about a specific \n      focus of the study. The notion of a 'study' here is defined broadly to include any research activity at any \n      scale that is aimed at generating knowledge or hypotheses. This may include a single assay or computational \n      analyses, or a larger scale clinical trial or experimental research investigation.\n    is_a: information content entity\n\n  ## epc result sets\n  concept count analysis result:\n    is_a: study result\n    description: >-\n      A result of a concept count analysis.\n\n  observed expected frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a observed expected frequency analysis.\n\n  relative frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a relative frequency analysis.\n\n  text mining result:\n    is_a: study result\n    description: >-\n      A result of text mining.\n\n  chi squared analysis result:\n    is_a: study result\n    description: >-\n      A result of a chi squared analysis.\n\n  agent:\n    is_a: administrative entity\n    aliases: [ 'group' ]\n    description: >-\n      person, group, organization or project that provides\n      a piece of information (i.e. a knowledge association)\n    slots:\n      - affiliation\n      - address\n    exact_mappings:\n      - prov:Agent\n      - dct:Agent\n    narrow_mappings:\n      # Organization\n      - UMLSSG:ORGA\n      - STY:T092\n      # Health Care Related Organization\n      - STY:T093\n      # Professional Society\n      - STY:T094\n      # Self-help or Relief Organization\n      - STY:T095\n      # Group\n      - STY:T096\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Different classes of agents have distinct preferred identifiers.\n          For publishers, use the ISBN publisher code.\n          See https://grp.isbn-international.org/ for publisher code lookups.\n          For editors, authors and  individual providers, use the individual's\n          ORCID if available; Otherwise, a ScopusID, ResearchID or\n          Google Scholar ID ('GSID') may be used if the author ORCID is unknown.\n          Institutional agents could be identified by an\n          International Standard Name Identifier ('ISNI') code.\n        values_from:\n          # CURIE space for publishers\n          - isbn\n          # CURIE space for authors\n          - ORCID\n          - ScopusID\n          - ResearchID\n          - GSID\n          # Institutional agents\n          - isni\n      name:\n        description: >-\n          it is recommended that an author's 'name' property\n          be formatted as \"surname, firstname initial.\"\n    id_prefixes:\n      - isbn\n      - ORCID\n      - ScopusID\n      - ResearchID\n      - GSID\n      - isni\n\n  ## General Information Entities\n\n  information content entity:\n    aliases: [ 'information', 'information artefact', 'information entity' ]\n    abstract: true\n    is_a: named thing\n    description: >-\n      a piece of information that typically describes\n      some topic of discourse or is used as support.\n    slots:\n      - license\n      - rights\n      - format\n      - creation date\n    id_prefixes:\n      - doi\n    exact_mappings:\n      - IAO:0000030\n    narrow_mappings:\n      # UMLS Semantic Group \"Concepts & Ideas\"\n      - UMLSSG:CONC\n      # Conceptual Entity\n      - STY:T077\n      # Idea or Concept\n      - STY:T078\n      # Temporal Concept\n      - STY:T079\n      # Qualitative Concept\n      - STY:T080\n      # Quantitative Concept\n      - STY:T081\n      # Spatial Concept\n      - STY:T082\n      # Regulation or Law\n      - STY:T089\n      # Group Attribute\n      - STY:T102\n      # Functional Concept\n      - STY:T169\n      # Language\n      - STY:T171\n      # Classification\n      - STY:T185\n\n  dataset:\n    description: >-\n      an item that refers to a collection of data from a data source.\n    is_a: information content entity\n    exact_mappings:\n      - IAO:0000100\n      - dctypes:Dataset\n      - schema:dataset\n      - dcid:Dataset\n\n  dataset distribution:\n    is_a: information content entity\n    description: >-\n      an item that holds distribution level information about a dataset.\n    slots:\n      - distribution download url\n    exact_mappings:\n      - dcat:Distribution\n\n  dataset version:\n    description: >-\n      an item that holds version level information about a dataset.\n    is_a: information content entity\n    slots:\n      - has dataset\n      - ingest date\n      - has distribution\n\n  dataset summary:\n    description: >-\n      an item that holds summary level information about a dataset.\n    is_a: information content entity\n    slots:\n      - source web page\n      - source logo\n\n  confidence level:\n    is_a: information content entity\n    description: >-\n      Level of confidence in a statement\n    values_from:\n      - cio\n    exact_mappings:\n      - CIO:0000028\n      # statement confidence\n      - SEPIO:0000187\n    close_mappings:\n      # assertion confidence levels\n      - SEPIO:0000167\n\n  evidence type:\n    is_a: information content entity\n    aliases: [ 'evidence code' ]\n    description: >-\n      Class of evidence that supports an association\n    values_from:\n      - eco\n    exact_mappings:\n      - ECO:0000000\n\n  information resource:\n    is_a: information content entity\n    aliases: [ 'knowledgebase' ]\n    description: >-\n      A database or knowledgebase and its supporting ecosystem of interfaces \n      and services that deliver content to consumers (e.g. web portals, APIs, \n      query endpoints, streaming services, data downloads, etc.).\n      A single Information Resource by this definition may span many different datasets or\n      databases, and include many access endpoints and user\n      interfaces. Information Resources include project-specific resources\n      such as a Translator Knowledge Provider, and community knowledgebases like ChemBL, OMIM, or DGIdb.\n    in_subset:\n      - translator_minimal\n\n\n  ## Publications\n\n  # TODO: to review additional ontology relating to Publications, such as http://www.sparontologies.net/ontologies\n  publication:\n    is_a: information content entity\n    description: >-\n      Any published piece of information. Can refer to a whole publication,\n      its encompassing publication (i.e. journal or book) or to a part of a\n      publication, if of significant knowledge scope (e.g. a figure, figure\n      legend, or section highlighted by NLP). The scope is intended to be\n      general and include information published on the web, as well as printed\n      materials, either directly or in one of the Publication Biolink\n      category subclasses.\n    slots:\n      - authors\n      - pages\n      - summary\n      - keywords\n      - mesh terms\n      - xref\n    # In addition to embedded slots, instances of 'contributor association'\n    # may be used to more extensively document publisher, editor and author details\n    slot_usage:\n      id:\n        description: >-\n          Different kinds of publication subtypes will have different preferred\n          identifiers (curies when feasible). Precedence of identifiers for\n          scientific articles is as follows: PMID if available; DOI if not; actual\n          alternate CURIE otherwise. Enclosing publications (i.e. referenced by\n          'published in' node property) such as books and journals, should have\n          industry-standard identifier such as from ISBN and ISSN.\n      name:\n        description: >-\n          the 'title' of the publication is generally recorded in the 'name'\n          property (inherited from NamedThing). The field name 'title' is now also\n          tagged as an acceptable alias for the node property 'name' (just in case).\n      type:\n        slot_uri: dct:type\n        required: true\n        description: >-\n          Ontology term for publication type may be drawn from\n          Dublin Core types (https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/),\n          FRBR-aligned Bibliographic Ontology (https://sparontologies.github.io/fabio/current/fabio.html),\n          the MESH publication types (https://www.nlm.nih.gov/mesh/pubtypes.html),\n          the Confederation of Open Access Repositories (COAR) Controlled Vocabulary for Resource Type Genres\n          (http://vocabularies.coar-repositories.org/documentation/resource_types/),\n          Wikidata (https://www.wikidata.org/wiki/Wikidata:Publication_types), or\n          equivalent publication type ontology. When a given publication type ontology term\n          is used within a given knowledge graph, then the CURIE identified term must be\n          documented in the graph as a concept node of biolink:category biolink:OntologyClass.\n        values_from: # Not sure which takes precedence, if any...\n          - dctypes\n          - fabio\n          - MESH_PUB\n          - COAR_RESOURCE\n          - WIKIDATA\n      pages:\n        multivalued: true\n        description: >-\n          When a 2-tuple of page numbers are provided, they represent\n          the start and end page of the publication within its parent publication context.\n          For books, this may be set to the total number of pages of the book.\n    exact_mappings:\n      - IAO:0000311\n    narrow_mappings:\n      - IAO:0000013\n      # UMLS Semantic Type \"Intellectual Product\"\n      - STY:T170\n    id_prefixes:\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book:\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Books should have industry-standard identifier such as from ISBN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'book'.\n    id_prefixes:\n      - isbn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book chapter:\n    is_a: publication\n    slots:\n      - published in\n      - volume\n      - chapter\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent book containing the chapter\n          should have industry-standard identifier from ISBN.\n    in_subset:\n      - model_organism_database\n\n  serial:\n    aliases: [ 'journal' ]\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slots:\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Serials (journals) should have industry-standard identifier such as from ISSN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'serial' or 'journal'.\n    id_prefixes:\n      - issn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  article:\n    is_a: publication\n    slots:\n      - published in\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent serial containing the article should\n          have industry-standard identifier from ISSN.\n      iso abbreviation:\n        description: >-\n          Optional value, if used locally as a convenience, is set\n          to the iso abbreviation of the 'published in' parent.\n    id_prefixes:\n      # By inheritance, a DOI may be used as a publication identifier; there may be other relevant namespaces\n      - PMID\n    in_subset:\n      - model_organism_database\n\n  ## Top Level Abstractions of Material & Process Entities\n\n  physical essence or occurrent:\n    description: >-\n      Either a physical or processual entity.\n    mixin: true\n\n\n  physical essence:\n    description: >-\n      Semantic mixin concept.  Pertains to entities that have\n      physical properties such as mass, volume, or charge.\n    is_a: physical essence or occurrent\n    mixin: true\n\n  physical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n    description: >-\n      An entity that has material reality (a.k.a. physical essence).\n    exact_mappings:\n      # Physical Object\n      - STY:T072\n    narrow_mappings:\n      # Manufactured Object\n      - STY:T073\n\n  occurrent:\n    description: >-\n      A processual entity.\n    # biolink:Occurrent is most consistently used as a mixin thus it should\n    # be declared as such and cannot inherit from the non-mixin biolink:NamedThing\n    is_a: physical essence or occurrent\n    mixin: true\n    exact_mappings:\n      - BFO:0000003\n\n  activity and behavior:\n    is_a: occurrent\n    mixin: true\n    description: >-\n      Activity or behavior of any independent integral living,\n      organization or mechanical actor in the world\n    exact_mappings:\n      # Activities & Behaviors\n      - UMLSSG:ACTI\n\n  activity:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      An activity is something that occurs over a period of time and acts upon\n      or with entities; it may include consuming, processing, transforming,\n      modifying, relocating, using, or generating entities.\n    exact_mappings:\n      - prov:Activity\n      - NCIT:C43431\n      # Activity\n      - STY:T052\n    narrow_mappings:\n      # Daily or Recreational Activity\n      - STY:T056\n      # Occupational Activity\n      - STY:T057\n      # Governmental or Regulatory Activity\n      - STY:T064\n      # Machine Activity\n      - STY:T066\n      # Research Activity\n      - STY:T062\n      # Educational Activity\n      - STY:T065\n      # Health Care Activity\n      - STY:T058\n\n  procedure:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      A series of actions conducted in a certain order or manner\n    exact_mappings:\n      # Procedures\n      - UMLSSG:PROC\n      - dcid:MedicalProcedure\n    narrow_mappings:\n      # Laboratory Procedure\n      - STY:T059\n      # Diagnostic Procedure\n      - STY:T060\n      # Therapeutic or Preventive Procedure\n      - STY:T061\n      # Molecular Biology Research Technique\n      - STY:T063\n    id_prefixes:\n      - CPT\n\n  phenomenon:\n    is_a: named thing\n    mixins:\n      - occurrent\n    description: >-\n      a fact or situation that is observed to exist or happen,\n      especially one whose cause or explanation is in question\n    broad_mappings:\n      # the inclusion of 'process' in the definition of these\n      # terms broadens them, relative to 'phenomenon'\n      # Phenomenon or Process\n      - STY:T067\n      # Human-caused Phenomenon or Process\n      - STY:T068\n      # Natural Phenomenon or Process\n      - STY:T070\n    exact_mappings:\n      # Phenomena\n      - UMLSSG:PHEN\n    narrow_mappings:\n      # Laboratory or Test Result\n      - STY:T034\n      # Biologic Function\n      - STY:T038\n      # Environmental Effect of Humans\n      - STY:T069\n\n  device:\n    is_a: named thing\n    description: >-\n      A thing made or adapted for a particular purpose, especially\n      a piece of mechanical or electronic equipment\n    narrow_mappings:\n      # Devices\n      - UMLSSG:DEVI\n      # Medical Device\n      - STY:T074\n      # Research Device\n      - STY:T075\n      # Drug Delivery Device\n      - STY:T203\n      # Biomedical or Dental Material\n      - STY:T122\n\n  ## Scientific Studies\n\n  study population:\n    is_a: population of individual organisms\n    description: >-\n      A group of people banded together or treated as a group as participants in a research study.\n    close_mappings:\n      - WIKIDATA:Q7229825\n\n  subject of investigation:\n    mixin: true\n    description: >-\n      An entity that has the role of being studied in an investigation, study, or experiment\n\n  material sample:\n    aliases: [ 'biospecimen', 'sample', 'biosample', 'physical sample' ]\n    is_a: physical entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A sample is a limited quantity of something (e.g. an individual or set of individuals\n      from a population, or a portion of a substance) to be used for testing, analysis,\n      inspection, investigation, demonstration, or trial use. [SIO]\n    exact_mappings:\n      - OBI:0000747\n      - SIO:001050\n    id_prefixes:\n      - BIOSAMPLE\n      - GOLD.META\n\n  ## Earth Sciences\n\n  planetary entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists at the level of the whole planet\n\n  environmental process:\n    is_a: planetary entity\n    mixins:\n      - occurrent\n    exact_mappings:\n      - ENVO:02500000\n\n  environmental feature:\n    is_a: planetary entity\n    exact_mappings:\n      - ENVO:01000254\n\n  geographic location:\n    is_a: planetary entity\n    description: >-\n      a location that can be described in lat/long coordinates\n    slots:\n      - latitude\n      - longitude\n    exact_mappings:\n      # Geographic Areas\n      - UMLSSG:GEOG\n      # Geographic Area\n      - STY:T083\n\n  geographic location at time:\n    is_a: geographic location\n    description: >-\n      a location that can be described in lat/long coordinates, for a particular time\n    slots:\n      - timepoint\n\n  ## Biological Sciences\n\n  thing with taxon:\n    mixin: true\n    description: >-\n      A mixin that can be used on any entity that can be taxonomically classified.\n      This includes individual organisms; genes, their products and other molecular\n      entities; body parts; biological processes\n    slots:\n      - in taxon\n\n  biological entity:\n    is_a: named thing\n    aliases: [ 'bioentity' ]\n    abstract: true\n    mixins:\n      - thing with taxon\n    narrow_mappings:\n      - WIKIDATA:Q28845870\n      # UMLS Semantic Type \"Experimental Model of Disease\"\n      - STY:T050\n      # SIO term is 'biological entity' but less inclusive than the Biolink scope\n      - SIO:010046\n\n  genomic entity:\n    mixin: true\n    slots:\n      - has biological sequence\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - STY:T028   # Gene or Genome\n      - GENO:0000897  # Genomic Entity\n\n  molecular entity:\n    is_a: chemical entity\n    description: >-\n      A molecular entity is a chemical entity composed of individual or\n      covalently bonded atoms.\n    slots:\n      - is metabolite\n    narrow_mappings:\n      - STY:T088 # Carbohydrate\n      - STY:T085 # Molecular Sequence\n      - CHEBI:23367 # Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical,\n      # radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.\n      - bioschemas:MolecularEntity\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n\n  chemical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n      - chemical or drug or treatment # issue 701\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    description: >-\n      A chemical entity is a physical entity that pertains to chemistry or\n      biochemistry.\n    slots:\n      - trade name\n      - available from\n      - max tolerated dose\n      - is toxic\n      - has chemical role\n    exact_mappings:\n      - CHEBI:24431\n      - SIO:010004 # Chemical entity\n      - WIKIDATA:Q79529 # Chemical substance\n      - STY:T103 # Chemical\n    narrow_mappings:\n      - WIKIDATA:Q43460564\n      - STY:T129 # (imft, full name: Immunologic Factor\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - UNII\n      - MESH\n      - CAS #CAS numbers are given for things like plant extracts as well.\n      - UMLS\n      - ncats.drug\n\n  small molecule:\n    is_a: molecular entity\n    aliases: [ 'chemical substance' ]\n    description: >-\n      A small molecule entity is a molecular entity characterized by availability\n      in small-molecule databases of SMILES, InChI, IUPAC, or other\n      unambiguous representation of its precise chemical structure; for\n      convenience of representation, any valid chemical representation is\n      included, even if it is not strictly molecular (e.g., sodium ion).\n    narrow_mappings:\n      - STY:T196 # Element, Ion, or Isotope\n      - CHEBI:59999\n      - bioschemas:ChemicalSubstance\n      - STY:T123 #(bacs, full name: Biologically Active Substance)\n      - STY:T131 #(hops, full name: Hazardous or Poisonous Substance)\n      - STY:T125 #(horm, full name: Hormone)\n      - STY:T197 #(inch, full name: Inorganic Chemical)\n      - STY:T109 #(orch, full name: Organic Chemical)\n      - STY:T118 #(carb, full name: Carbohydrate) - note that this term is missing from newer SRDEF files (depreciated?), but is still used by the SEMMEDDB data files)\n      - STY:T111 #(eico, full name: Eicosanoid) - same note as above\n      - STY:T119 #(lipd, full name: Lipid) - same note as above\n      - STY:T124 #(nsba, full name: Neuroreactive Substance or Biogenic Amine) - same note as above\n      - STY:T115 #(opco, full name: Organophosphorus Compound) - same note as above\n      - STY:T110 #(strd, full name: Steroid) - same note as above\n      - STY:T127 # vitamin\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - BIGG.METABOLITE\n      - UMLS\n      - foodb.compound\n    slot_usage:\n      id:\n        examples:\n          - value: CHEBI:29101\n            description: sodium ion\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n\n\n  chemical mixture:\n    is_a: chemical entity\n    description: >-\n      A chemical mixture is a chemical entity composed of two or more\n      molecular entities.\n    slots:\n      - is supplement\n      - highest FDA approval status\n      - drug regulatory status world wide\n      - routes of delivery\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n    close_mappings:\n      - dcid:ChemicalCompound\n    narrow_mappings:\n      - NCIT:C20401 # monoclonal antibody\n      - SNOMEDCT:49616005 # monoclonal antibody (substance)\n\n  nucleic acid entity:\n    is_a: molecular entity\n    description: >-\n      A nucleic acid entity is a molecular entity characterized by\n      availability in gene databases of nucleotide-based sequence\n      representations of its precise sequence; for convenience of\n      representation, partial sequences of various kinds are included.\n    aliases: [ 'sequence feature', 'genomic entity' ]\n    mixins:\n      - genomic entity\n      - thing with taxon\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0000110\n    narrow_mappings:\n      - STY:T086   # Nucleotide Sequence\n      - STY:T114   # Nucleic Acid, Nucleoside, or Nucleotide\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  # G number\n      - KEGG.ENVIRON # E number\n\n  molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A molecular mixture is a chemical mixture composed of two or more\n      molecular entities with known concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n      - ncats.drug\n\n  complex molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A complex molecular mixture is a chemical mixture composed of two or\n      more molecular entities with unknown concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n\n  biological process or activity:\n    description: >-\n      Either an individual molecular activity, or a collection of\n      causally connected molecular activities in a biological system.\n    is_a: biological entity\n    mixins:\n      - occurrent\n      - ontology class\n    id_prefixes:\n      - GO\n      - REACT\n    slots:\n      - has input\n      - has output\n      - enabled by\n\n  molecular activity:\n    description: >-\n      An execution of a molecular function carried out by a\n      gene product or macromolecular complex.\n    is_a: biological process or activity\n    aliases: [ 'molecular function', 'molecular event', 'reaction' ]\n    mixins:\n      - occurrent\n      - ontology class\n    slot_usage:\n      has input:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the input for the reaction\n      has output:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the output for the reaction\n      enabled by:\n        range: macromolecular machine mixin\n        description: >-\n          The gene product, gene, or complex that catalyzes the reaction\n    exact_mappings:\n      - GO:0003674\n      # UMLS Semantic Type \"Molecular Function\"\n      - STY:T044\n    id_prefixes:\n      - GO\n      - REACT\n      - RHEA\n      - metacyc.reaction\n      - EC\n      - TCDB\n      - KEGG.REACTION  ## R number\n      - KEGG.RCLASS    ## RC number\n      - KEGG.ENZYME    ## EC number\n      - KEGG.ORTHOLOGY ## in particular for gut microbiome use case in issue #888\n      - UMLS\n      - BIGG.REACTION\n      - SEED.REACTION\n      - METANETX.REACTION\n\n  biological process:\n    is_a: biological process or activity\n    mixins:\n      - occurrent\n      - ontology class\n    description: >-\n      One or more causally connected executions of molecular functions\n    exact_mappings:\n      - GO:0008150\n      - SIO:000006\n      - WIKIDATA:Q2996394\n    broad_mappings:\n      - WIKIDATA:P682\n    id_prefixes:\n      - GO\n      - REACT\n      - metacyc.reaction\n      - KEGG.MODULE ## M number\n\n  pathway:\n    is_a: biological process\n    mixins:\n      - ontology class\n    exact_mappings:\n      - PW:0000001\n      - WIKIDATA:Q4915012\n    narrow_mappings:\n      - SIO:010526\n      - GO:0007165\n    id_prefixes:\n      - GO\n      - REACT\n      - KEGG\n      - SMPDB\n      - MSigDB\n      - PHARMGKB.PATHWAYS\n      - WIKIPATHWAYS\n      - FB  # FlyBase FBgg*\n      - PANTHER.PATHWAY\n      - KEGG.PATHWAY\n      - ncats.bioplanet\n\n  physiological process:\n    aliases: [ 'physiology' ]\n    is_a: biological process\n    mixins:\n      - ontology class\n    close_mappings:\n    exact_mappings:\n      # Physiologic Function\n      - STY:T039\n      - WIKIDATA:Q30892994\n    narrow_mappings:\n      # Organism Function\n      - STY:T040\n      # Organ or Tissue Function\n      - STY:T042\n      # Cell Function\n      - STY:T043\n      # Genetic Function\n      - STY:T045\n    id_prefixes:\n      - GO\n      - REACT\n\n  behavior:\n    is_a: biological process\n    mixins:\n      - ontology class\n      - activity and behavior\n    exact_mappings:\n      - GO:0007610\n      # Behavior\n      - STY:T053\n    narrow_mappings:\n      # Mental Process\n      - STY:T041\n      # Social Behavior\n      - STY:T054\n      # Individual Behavior\n      - STY:T055\n\n  ## (Bio)chemistry\n\n  processed material:\n    is_a: chemical mixture\n    description: >-\n      A chemical entity (often a mixture) processed\n      for consumption for nutritional, medical or technical use.\n      Is a material entity that is created or changed during material processing.\n    exact_mappings:\n      - OBI:0000047\n    id_prefixes:\n      - UMLS\n\n  drug:\n    is_a: molecular mixture\n    mixins:\n      - chemical or drug or treatment\n      - ontology class\n    description: >-\n      A substance intended for use in the diagnosis, cure,\n      mitigation, treatment, or prevention of disease\n    comments:\n      - The CHEBI ID represents a role rather than a substance\n    broad_mappings:\n      # Pharmacologic Substance: Any natural, endogenously-derived,\n      # synthetic or semi-synthetic compound with pharmacologic activity.\n      - STY:T121\n    exact_mappings:\n      - WIKIDATA:Q12140\n      - CHEBI:23888\n      # UMLS Semantic Type \"Clinical Drug\"\n      - STY:T200\n      - dcid:Drug\n    narrow_mappings:\n      # Antibiotic\n      - STY:T195\n    id_prefixes:\n      - ncats.drug\n      - RXCUI\n      - NDC\n      - UMLS\n\n  ## Food\n\n  environmental food contaminant:\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:78299\n\n  food additive:\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:64047\n\n  nutrient:\n    deprecated: true\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:33284\n\n  macronutrient:\n    deprecated: true\n    is_a: nutrient\n    related_mappings:\n      # substance role\n      - CHEBI:33937\n\n  micronutrient:\n    deprecated: true\n    is_a: nutrient\n    related_mappings:\n      # substance role\n      - CHEBI:27027\n\n  vitamin:\n    deprecated: true\n    is_a: micronutrient\n    related_mappings:\n      # substance role\n      - CHEBI:33229\n      # Vitamin\n      - STY:T127\n\n  food:\n    is_a: chemical mixture\n    description: >-\n      A substance consumed by a living organism as a source of nutrition\n    id_prefixes:\n      - foodb.food\n      - FOODON\n      - UMLS\n      - NCIT\n    exact_mappings:\n      # Food\n      - STY:T168\n\n  ## Biology and Biomedical Sciences\n\n  ## Biological Attributes\n\n  organism attribute:\n    is_a: attribute\n    description: >-\n      describes a characteristic of an organismal entity.\n    exact_mappings:\n      # Organism Attribute\n      - STY:T032\n\n  phenotypic quality:\n    aliases: [ 'phenotypic properties' ]\n    is_a: organism attribute\n    description: >-\n      A property of a phenotype\n    examples:\n      - value: weight\n\n    mappings:\n      - PATO:0000001\n\n  inheritance:\n    deprecated: true\n    is_a: organism attribute\n    description: >-\n      The name of this attribute and its inheritance from organism attribute, indeed,\n      its designation as an attribute is problematic. First, the isolated word 'inheritance'\n      is too ambiguous (especially when embedded inside an ontology with inheritance!).\n      'Genetic inheritance' would be more precise. Second, in terms of the scientific usage here,\n      genetic inheritance would not be a direct property at the topmost organism level, but rather\n      (as hinted in the definition) is more a commentary on the nature of phenotype (including \n      genetic disease as a characteristic set of associated phenotypes) against the (hidden)\n      context of (meiotic/somatic/mitochondrial) DNA segregation and expression.  Third, placing \n      the term in the attribute, rather than named thing category concept hierarchy, is perhaps\n      less flexible in terms of its usage as a first class concept for semantic queries.\n      Thus, we deprecate this term, moving it to the 'new' category of 'genetic inheritance', \n      as a child of 'biological entity' (to emphasize its biological conceptual nature).\n\n  genetic inheritance:\n    aliases: [ 'inheritance' ]\n    is_a: biological entity\n    description: >-\n      The pattern or 'mode' in which a particular genetic trait or disorder is passed from one\n      generation to the next, e.g. autosomal dominant, autosomal recessive, etc.\n    exact_mappings:\n      - HP:0000005\n      - GENO:0000141\n      - NCIT:C45827\n    close_mappings:\n      - STY:T045\n    id_prefixes:\n      - HP\n      - GENO\n      - NCIT\n\n  ## Biological Entities\n\n  organismal entity:\n    description: >-\n      A named entity that is either a part of an organism, a whole organism,\n      population or clade of organisms, excluding chemical entities\n    abstract: true\n    is_a: biological entity\n    slot_usage:\n      has attribute:\n        description: >-\n          may often be an organism attribute\n    exact_mappings:\n      - WIKIDATA:Q7239\n      # UMLS Semantic Group \"Living Beings\"\n      # Several of the associated semantic types here are probably not\n      # that relevant to the Biolink world but we keep them here for now.\n      - UMLSSG:LIVB\n      - CARO:0001010\n\n  virus:\n    is_a: organismal entity\n    description: >-\n      A virus is a microorganism that replicates itself as a microRNA\n      and infects the host cell.\n    exact_mappings:\n      - NCBITaxon:10239\n\n  cellular organism:\n    is_a: organismal entity\n    description: >-\n    exact_mappings:\n      - NCBITaxon:131567\n\n  life stage:\n    is_a: organismal entity\n    description: >-\n      A stage of development or growth of an organism,\n      including post-natal adult stages\n    exact_mappings:\n      - UBERON:0000105\n    narrow_mappings:\n      # constrained to human life cycles\n      - HsapDv:0000000\n    in_subset:\n      - model_organism_database\n    id_prefixes:\n      - HsapDv\n      - MmusDv\n      - ZFS\n      - FBdv\n      - WBls\n      - UBERON\n\n  individual organism:\n    aliases: [ 'organism' ]\n    description: >-\n      An instance of an organism. For example, Richard Nixon,\n      Charles Darwin, my pet cat. Example ID: ORCID:0000-0002-5355-2576\n    is_a: organismal entity\n    exact_mappings:\n      - SIO:010000\n      # Organism\n      - STY:T001\n    narrow_mappings:\n      # Wikidata considers its definition of 'individual' to be constrained to human persons?\n      - WIKIDATA:Q795052\n      - foaf:Person\n    id_prefixes:\n      - ORCID\n\n  population of individual organisms:\n    description: >-\n      A collection of individuals from the same taxonomic class\n      distinguished by one or more characteristics.  Characteristics can\n      include, but are not limited to, shared geographic location, genetics,\n      phenotypes.\n    local_names:\n      ga4gh: population\n    is_a: organismal entity\n    exact_mappings:\n      - PCO:0000001\n      - SIO:001061\n      # UMLS Semantic Type \"Population Group\"\n      - STY:T098\n      - OBI:0000181\n    id_prefixes:\n      - HANCESTRO\n    in_subset:\n      - model_organism_database\n\n  disease or phenotypic feature:\n    aliases: [ 'phenome' ]\n    is_a: biological entity\n    description: >-\n      Either one of a disease or an individual phenotypic feature.\n      Some knowledge resources such as Monarch treat these as\n      distinct, others such as MESH conflate.  Please see definitions of phenotypic feature and disease in this model\n      for their independent descriptions.  This class is helpful to enforce domains and ranges  \n      that may involve either a disease or a phenotypic feature.\n    union_of:\n      - disease\n      - phenotypic feature\n    narrow_mappings:\n      # UMLS Semantic Type \"Finding\" - more specialized use of 'disease or phenotypic feature'\n      - STY:T033\n\n  disease:\n    aliases: [ 'condition', 'disorder', 'medical condition' ]\n    description: >-\n      A disorder of structure or function, especially one that produces specific \n      signs, phenotypes or symptoms or that affects a specific location and is not simply a \n      direct result of physical injury.  A disposition to undergo pathological processes that exists in an \n      organism because of one or more disorders in that organism.\n    is_a: disease or phenotypic feature\n    exact_mappings:\n      - MONDO:0000001\n      - DOID:4\n      - NCIT:C2991\n      - WIKIDATA:Q12136\n      - SIO:010299\n      # UMLS Semantic Group \"Disorders\"\n      - UMLSSG:DISO\n      # Disease or Syndrome\n      - STY:T047\n      - dcid:Disease\n    narrow_mappings:\n      # Congenital Abnormality\n      - STY:T019\n      # Acquired Abnormality\n      - STY:T020\n      # Mental or Behavioral Dysfunction\n      - STY:T048\n      # Cell or Molecular Dysfunction\n      - STY:T049\n      # Anatomical Abnormality\n      - STY:T190\n      # Neoplastic Process\n      - STY:T191\n      # disease susceptibility\n      - MONDO:0042489\n    id_prefixes:\n      - MONDO\n      - DOID\n      - OMIM\n      - OMIM.PS\n      - ORPHANET\n      - EFO\n      - UMLS\n      - MESH\n      - MEDDRA\n      - NCIT\n      - SNOMEDCT\n      - medgen\n      - ICD10\n      - ICD9\n      - KEGG.DISEASE ## H number\n      - HP\n      - MP\n    in_subset:\n      - model_organism_database\n\n  phenotypic feature:\n    aliases: [ 'sign', 'symptom', 'phenotype', 'trait', 'endophenotype' ]\n    is_a: disease or phenotypic feature\n    description: >-\n      A combination of entity and quality that makes up a phenotyping statement. An observable characteristic of an \n      individual resulting from the interaction of its genotype with its molecular and physical environment.\n    examples:\n      - value: MP:0001262\n        description: decreased body weight\n    exact_mappings:\n      - UPHENO:0001001\n      - SIO:010056\n      - WIKIDATA:Q104053\n      - UMLS:C4021819\n      - NCIT:C16977\n      - SNOMEDCT:8116006 # documented as phenotypic finding and phenotype, also referred to as \"SCTID:8116006\" at SNOMEDCT\n      - MESH:D010641 # phenotype\n    narrow_mappings:\n      - STY:T184 # Sign or Symptom\n      - WIKIDATA:Q169872 # Sign or Symptom\n      # presentation of a disease in clinical medicine\n      - WIKIDATA:Q25203551\n      - ZP:00000000 # zebrafish phenotype\n      - FBcv:0001347 # fly phenotype\n      - HP:0000118 # human phenotype\n      - MP:0000001 # mouse phenotype\n      - WBPhenotype:0000886 # worm phenotype\n      - XPO:00000000 # frog phenotype\n      - FYPO:0000001 # fission yeast phenotype\n      - APO:0000017 # phenotype\n      - TO:0000387 # more narrowly defined here for plants; our definition conflates trait and phenotype.\n    broad_mappings:\n      - BFO:0000019 # quality\n      - PATO:0000001 # quality\n    id_prefixes:\n      - HP\n      - EFO # covered by BFO quality mapping\n      - NCIT\n      - UMLS\n      - MEDDRA # can not find a mapping\n      - MP\n      - ZP\n      - UPHENO\n      - APO\n      - FBcv\n      - WBPhenotype\n      - SNOMEDCT\n      - MESH\n      - XPO\n      - FYPO\n      - TO\n    in_subset:\n      - model_organism_database\n\n  behavioral feature:\n    description: >-\n      A phenotypic feature which is behavioral in nature.\n    is_a: phenotypic feature\n    exact_mappings:\n      - NBO:0000243\n\n  anatomical entity:\n    is_a: organismal entity\n    mixins:\n      - physical essence\n    description: >-\n      A subcellular location, cell type or gross anatomical part\n    exact_mappings:\n      - UBERON:0001062\n      - WIKIDATA:Q4936952\n      # UMLS Semantic Group \"Anatomy\"\n      - UMLSSG:ANAT\n      # UMLS Semantic Type \"Anatomical Structure\"\n      - STY:T017\n      - FMA:62955 # anatomical entity\n      - CARO:0000000  # anatomical entity\n      - SIO:001262 # anatomical entity\n    narrow_mappings:\n      - ZFA:0100000 # zebrafish anatomical entity\n      - FBbt:10000000 # fly anatomical entity\n      - EMAPA:0 # mouse anatomical entity\n      - MA:0000001 # mouse anatomical entity\n      - XAO:0000000 # frog anatomical entity\n      - WBbt:0000100 # c. elegans anatomical entity\n      - NCIT:C12219 # human anatomical entity\n      - GO:0110165 # cellular anatomical entity, also used directly in CL\n    related_mappings:\n      - SNOMEDCT:123037004 # body structure\n    id_prefixes:\n      - UBERON\n      - GO\n      - CL\n      - UMLS\n      - MESH\n      - NCIT\n      - EMAPA\n      - ZFA\n      - FBbt\n      - WBbt\n    in_subset:\n      - model_organism_database\n\n  cellular component:\n    aliases: [ 'cell component','cell part' ]\n    is_a: anatomical entity\n    description: >-\n      A location in or around a cell\n    exact_mappings:\n      - GO:0005575\n      - SIO:001400\n      - WIKIDATA:Q5058355\n      # Cell Component\n      - STY:T026\n    broad_mappings:\n      - WIKIDATA:P681\n    id_prefixes:\n      - GO\n      - MESH\n      - UMLS\n      - NCIT\n      - SNOMEDCT\n      - CL\n      - UBERON\n\n  cell:\n    is_a: anatomical entity\n    exact_mappings:\n      - GO:0005623\n      - CL:0000000\n      - SIO:010001\n      - WIKIDATA:Q7868\n      # UMLS Semantic Type \"Cell\"\n      - STY:T025\n      - MESH:D002477 # cells\n    id_prefixes:\n      - CL\n      - PO\n      - UMLS\n      - NCIT\n      - MESH\n      - UBERON\n      - SNOMEDCT\n      - MESH\n\n  cell line:\n    is_a: organismal entity\n    exact_mappings:\n      - CLO:0000031\n    id_prefixes:\n      - CLO\n\n  gross anatomical structure:\n    aliases: [ 'tissue', 'organ' ]\n    is_a: anatomical entity\n    exact_mappings:\n      - UBERON:0010000\n      - WIKIDATA:Q4936952\n    narrow_mappings:\n      # UMLS Semantic Type \"Body Part, Organ, or Organ Component\"\n      - STY:T023\n      # UMLS Semantic Type \"Tissue\"\n      - STY:T024\n      # Embryonic Structure\n      - STY:T018\n    id_prefixes:\n      - UBERON\n      - UMLS\n      - MESH\n      - NCIT\n      - PO\n      - FAO\n\n\n  ## entity mixins\n\n  chemical entity or gene or gene product:\n    description: >-\n      A union of chemical entities and children, and gene or gene product.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  chemical entity or protein or polypeptide:\n    description: >-\n      A union of chemical entities and children, and protein and polypeptide.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  macromolecular machine mixin:\n    description: >-\n      A union of gene locus, gene product, and macromolecular complex mixin. These are\n      the basic units of function in a cell. They either carry out individual\n      biological activities, or they encode molecules which do this.\n    mixin: true\n    slots:\n      - name\n    slot_usage:\n      name:\n        range: symbol type\n        description: >-\n          genes are typically designated by a short symbol and a full name.\n          We map the symbol to the default display name\n          and use an additional slot for full name\n\n  gene or gene product:\n    description: >-\n      A union of gene loci or gene products.\n      Frequently an identifier for one will be used as proxy for another\n    is_a: macromolecular machine mixin\n    mixin: true\n    id_prefixes:\n      - CHEMBL.TARGET\n      - IUPHAR.FAMILY\n\n  gene:\n    description: >-\n      A region (or regions) that includes all of the sequence elements\n      necessary to encode a functional transcript. A gene locus may include\n      regulatory regions, transcribed regions and/or other\n      functional sequence regions.\n    is_a: biological entity\n    mixins:\n      - gene or gene product\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    slots:\n      - symbol\n      - synonym\n      - xref\n    narrow_mappings:\n      - bioschemas:gene\n    broad_mappings:\n      - NCIT:C45822\n    exact_mappings:\n      - SO:0000704\n      - SIO:010035\n      - WIKIDATA:Q7187\n      - dcid:Gene\n    id_prefixes:\n      - NCBIGene\n      - ENSEMBL\n      - HGNC\n      - MGI\n      - ZFIN\n      - dictyBase\n      - WB\n      - WormBase # we have two prefixes here as wormbase supports WormBase:WBGene00000898\n      # and alliancegenome.org and identifiers.org supports WB:WBGene00000898.\n      - FB\n      - RGD\n      - SGD\n      - PomBase\n      - OMIM\n      - KEGG.GENE ## org:gene\n      - UMLS\n      - Xenbase\n      - AspGD\n    in_subset:\n      - model_organism_database\n\n  gene product mixin:\n    description: >-\n      The functional molecular product of a single gene locus.\n      Gene products are either proteins or functional RNA molecules.\n    is_a: gene or gene product\n    mixin: true\n    slots:\n      - synonym\n      - xref\n    exact_mappings:\n      - WIKIDATA:Q424689\n      - GENO:0000907\n      - NCIT:C26548\n    id_prefixes:\n      - UniProtKB\n      - gtpo\n      - PR\n\n  gene product isoform mixin:\n    description: >-\n      This is an abstract class that can be mixed in with different kinds of\n      gene products to indicate that the gene product is intended to represent\n      a specific isoform rather than a canonical or reference or generic\n      product. The designation of canonical or reference may be arbitrary,\n      or it may represent the superclass of all isoforms.\n    is_a: gene product mixin\n    mixin: true\n\n  macromolecular complex mixin:\n    description: >-\n      A stable assembly of two or more macromolecules, i.e. proteins,\n      nucleic acids, carbohydrates or lipids, in which at least one\n      component is a protein and the constituent parts function together.\n    is_a: macromolecular machine mixin\n    mixin: true\n    exact_mappings:\n      - GO:0032991\n      - WIKIDATA:Q22325163\n    id_prefixes:\n      - INTACT\n      - GO\n      - PR\n      - REACT\n    in_subset:\n      - model_organism_database\n\n  ## Genomic Classes\n\n  genome:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A genome is the sum of genetic material within a cell or virion.\n    exact_mappings:\n      - SO:0001026\n      - SIO:000984\n      - WIKIDATA:Q7020\n    close_mappings:\n      - dcid:GenomeAssemblyUnit\n    in_subset:\n      - model_organism_database\n\n  exon:\n    is_a: nucleic acid entity\n    description: >-\n      A region of the transcript sequence within a gene which is not\n      removed from the primary RNA transcript by RNA splicing.\n    exact_mappings:\n      - SO:0000147\n      - SIO:010445\n      - WIKIDATA:Q373027\n\n  transcript:\n    is_a: nucleic acid entity\n    description: >-\n      An RNA synthesized on a DNA or RNA template by an RNA polymerase.\n    exact_mappings:\n      - SO:0000673\n      - SIO:010450\n      - WIKIDATA:Q7243183\n      - dcid:RNATranscript\n    id_prefixes:\n      - ENSEMBL # ENSEMBL:ENST for human\n      - FB      # FlyBase:FBtr\n    in_subset:\n      - model_organism_database\n\n  coding sequence:\n    is_a: nucleic acid entity\n    exact_mappings:\n      - SO:0000316\n      - SIO:001390\n\n  polypeptide:\n    aliases: [ 'amino acid entity' ]\n    is_a: biological entity\n    description: >-\n      A polypeptide is a molecular entity characterized by availability\n      in protein databases of amino-acid-based sequence representations\n      of its precise primary structure; for convenience of representation,\n      partial sequences of various kinds are included, even if they do not\n      represent a physical molecule.\n    mixins:\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL # ENSEMBL:ENSP*\n      - FB      # FlyBase FBpp*\n      - UMLS\n    in_subset:\n      - model_organism_database\n    narrow_mappings:\n      - SO:0000104 # polypeptide definde in SO conflates protein and polypeptide\n      # Amino Acid, Peptide, or Protein\n      - STY:T116\n      # Amino Acid Sequence\n      - STY:T087\n\n  protein:\n    description: >-\n      A gene product that is composed of a chain of amino acid sequences\n      and is produced by ribosome-mediated translation of mRNA\n    is_a: polypeptide\n    mixins:\n      - gene product mixin\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL # ENSEMBL:ENSP*\n      - FB      # FlyBase FBpp*\n      - UMLS\n      - MESH\n      - ncats.drug\n    broad_mappings:\n      - bioschemas:Protein\n    exact_mappings:\n      - PR:000000001\n      - SIO:010043\n      - WIKIDATA:Q8054\n    narrow_mappings:\n      # Enzyme\n      - STY:T126\n      # Receptor\n      - STY:T192\n\n  protein isoform:\n    aliases: [ 'proteoform' ]\n    is_a: protein\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or\n      reference protein. See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4114032/\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - UniProtKB # UniProtKB:([A-Z0-9]+-\\d+)\n      - UNIPROT.ISOFORM\n      - PR\n      - ENSEMBL\n\n  protein domain:\n    is_a: biological entity\n    description: >-\n      A conserved part of protein sequence and (tertiary) structure that can evolve,\n      function, and exist independently of the rest of the protein chain.\n      Protein domains maintain their structure and function independently of the proteins in which they are found.\n      e.g. an SH3 domain.\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    exact_mappings:\n      - NCIT:C13379\n      - SIO:001379\n      - UMLS:C1514562\n\n  protein family:\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n\n  nucleic acid sequence motif:\n    aliases: [ 'consensus sequence' ]\n    is_a: biological entity\n    description: >-\n      A linear nucleotide sequence pattern that is widespread and has, or is conjectured to have,\n      a biological significance. e.g. the TATA box promoter motif, transcription factor binding\n      consensus sequences.\n\n  RNA product:\n    is_a: transcript\n    mixins:\n      - gene product mixin\n    exact_mappings:\n      - CHEBI:33697\n      # This SIO term here also mapped to 'biolink:Transcript'; however,\n      # since this 'biolink:RNAProduct' relates more to the biochemical\n      # essence of RNA, then map the SIO term instead to 'biolink:Transcript'\n      # - SIO:010450\n      - WIKIDATA:Q11053\n    id_prefixes:\n      - RNACENTRAL\n\n  RNA product isoform:\n    is_a: RNA product\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or reference RNA\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - RNACENTRAL\n\n  noncoding RNA product:\n    is_a: RNA product\n    id_prefixes:\n      - RNACENTRAL\n      - NCBIGene\n      - ENSEMBL\n    exact_mappings:\n      - SO:0000655\n      - SIO:001235\n\n  microRNA:\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000276\n      - SIO:001397\n      - WIKIDATA:Q310899\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  siRNA:\n    aliases: [ 'small interfering RNA', 'RNAi' ]\n    description: >-\n      A small RNA molecule that is the product of a longer exogenous or\n      endogenous dsRNA, which is either a bimolecular duplex or very long\n      hairpin, processed (via the Dicer pathway) such that numerous siRNAs\n      accumulate from both strands of the dsRNA. SRNAs trigger the cleavage\n      of their target molecules.\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000646\n      - WIKIDATA:Q203221\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  gene grouping mixin:\n    description: >-\n      any grouping of multiple genes or gene products\n    mixin: true\n    slots:\n      - has gene or gene product\n\n  gene family:\n    aliases: [ 'orthogroup','protein family' ]\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      # These term definitions focus only on proteins;\n      # the 'biolink:GeneFamily' term would be more inclusive\n      # to describe gene loci, non-coding RNA, etc.\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    description: >-\n      any grouping of multiple genes or gene products related by common descent\n    id_prefixes:\n      - PANTHER.FAMILY\n      - HGNC.FAMILY\n      - FB       # FlyBase FBgg*\n      - interpro # note: may be better to introduce a protein domain/family\n      - CATH\n      - CDD\n      - HAMAP\n      - PFAM\n      - PIRSF\n      - PRINTS\n      - PRODOM\n      - PROSITE\n      - SMART\n      - SUPFAM\n      - TIGRFAM\n      - CATH.SUPERFAMILY\n      - RFAM ## RNAs only\n      - KEGG.ORTHOLOGY ## aka KEGG.KO: K number\n      - EGGNOG\n      - COG\n    in_subset:\n      - model_organism_database\n\n  zygosity:\n    is_a: attribute\n    exact_mappings:\n      - GENO:0000133\n\n  genotype:\n    is_a: biological entity\n    mixins:\n      - physical essence\n      - genomic entity\n      - ontology class\n    description: >-\n      An information content entity that describes a genome by specifying the\n      total variation in genomic sequence and/or gene expression, relative to\n      some established background\n    comments:\n      - Consider renaming as genotypic entity\n    slots:\n      - has zygosity\n    exact_mappings:\n      - GENO:0000536\n      - SIO:001079\n    id_prefixes:\n      - ZFIN\n      - FB   # FlyBase FBba*\n    in_subset:\n      - model_organism_database\n\n  haplotype:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A set of zero or more Alleles on a single instance of a Sequence[VMC]\n    #    slots:\n    #      - completeness\n    exact_mappings:\n      - GENO:0000871\n      - SO:0001024\n      - VMC:Haplotype\n\n  sequence variant:\n    aliases: [ 'allele' ]\n    local_names:\n      agr: allele\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      An allele that varies in its sequence from what is considered\n      the reference allele at that locus.\n    comments:\n      - This class is for modeling the specific state at a locus.\n        A single DBSNP rs ID could correspond to more than one sequence variants\n        (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)\n    broad_mappings:\n      # slightly broader semantics than SO:0001059 - 'sequence alteration'\n      # describes a sequence feature that may have 1..* sequence alterations\n      - SO:0001060\n    exact_mappings:\n      - GENO:0000002\n      - WIKIDATA:Q15304597\n      - SIO:010277\n      - VMC:Allele\n      - SO:0001059\n    close_mappings:\n      - dcid:Allele\n    id_prefixes:\n      - CAID # ClinGen Allele Registry\n      - CLINVAR\n      - ClinVarVariant\n      - WIKIDATA\n      # - CIViC needs IRI mapping\n      - DBSNP\n      - MGI\n      - ZFIN\n      - FB\n      - RGD\n      - AGRKB\n      - SPDI\n      - WB\n      - WormBase\n    alt_descriptions:\n      AGR: >-\n        An entity that describes a single affected, endogenous allele.\n        These can be of any type that matches that definition\n      VMC: >-\n        A contiguous change at a Location\n    slots:\n      - has gene\n    slot_usage:\n      has gene:\n        multivalued: true\n        description: Each allele can be associated with any number of genes\n      has biological sequence:\n        description: >-\n          The state of the sequence w.r.t a reference sequence\n      id:\n        examples:\n          - value: ZFIN:ZDB-ALT-980203-1091\n            description: ti282a allele from ZFIN\n          - value: ClinVarVariant:17681\n            description: NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)\n    in_subset:\n      - model_organism_database\n\n  snv:\n    aliases: [ 'single nucleotide variant','single nucleotide polymorphism', 'snp' ]\n    is_a: sequence variant\n    description: >-\n      SNVs are single nucleotide positions in genomic DNA at\n      which different sequence alternatives exist\n    exact_mappings:\n      - SO:0001483\n\n  reagent targeted gene:\n    aliases: [ 'sequence targeting reagent' ]\n    is_a: biological entity\n    description: >-\n      A gene altered in its expression level in the context of some\n      experiment as a result of being targeted by gene-knockdown\n      reagent(s) such as a morpholino or RNAi.\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - GENO:0000504\n    in_subset:\n      - model_organism_database\n\n  ## --------------------\n  ## Clinical\n  ## Attributes, Cohort,\n  ## Exposures & Outcomes\n  ## --------------------\n\n  ## Clinical Attributes\n\n  clinical attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a clinical manifestation\n    exact_mappings:\n      # Clinical Attribute\n      - STY:T201\n\n  clinical measurement:\n    is_a: clinical attribute\n    description: >-\n      A clinical measurement is a special kind of attribute which results\n      from a laboratory observation from a subject individual or sample.\n      Measurements can be connected to their subject by the 'has attribute' slot.\n    slot_usage:\n      has attribute type:\n        required: true\n        multivalued: false\n        values_from:\n          - EFO\n          - LOINC\n    exact_mappings:\n      - EFO:0001444\n\n  clinical modifier:\n    is_a: clinical attribute\n    description: >-\n      Used to characterize and specify the phenotypic abnormalities\n      defined in the phenotypic abnormality sub-ontology, with respect\n      to severity, laterality, and other aspects\n    exact_mappings:\n      - HP:0012823\n\n  clinical course:\n    is_a: clinical attribute\n    description: >-\n      The course a disease typically takes from its onset, progression in time, and\n      eventual resolution or death of the affected individual\n    exact_mappings:\n      - HP:0031797\n\n  onset:\n    is_a: clinical course\n    description: >-\n      The age group in which (disease) symptom manifestations appear\n    exact_mappings:\n      - HP:0003674\n\n  clinical entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists in the clinical domain and outside the\n      biological realm. Diseases are placed under biological entities\n\n  clinical trial:\n    is_a: clinical entity\n\n  clinical intervention:\n    is_a: clinical entity\n\n  clinical finding:\n    is_a: phenotypic feature\n    description: >-\n      this category is currently considered broad enough to tag clinical lab\n      measurements and other biological attributes taken as 'clinical traits'\n      with some statistical score, for example, a p value in genetic associations.\n    slot_usage:\n      has attribute:\n        range: clinical attribute\n    id_prefixes:\n      - LOINC\n      - NCIT\n      - EFO\n\n  hospitalization:\n    is_a: clinical intervention\n    exact_mappings:\n      - SNOMEDCT:32485007\n      - WIKIDATA:Q3140971\n\n  socioeconomic attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a socioeconomic manifestation\n    #slot_usage:\n    # need a suitable qualifying socioeconomic ontology target here?\n    # Perhaps some subset of ECTO: https://github.com/EnvironmentOntology/environmental-exposure-ontology\n    #  has attribute type:\n    #     range: socioeconomic ontology\n    # exact_mappings:\n    #  - ??\n\n  ## Cohorts\n\n  case:\n    aliases: [ 'patient', 'proband' ]\n    is_a: individual organism\n    description: >-\n      An individual (human) organism that has a patient role in some clinical context.\n\n  cohort:\n    is_a: study population\n    description: >-\n      A group of people banded together or treated as a group who share common characteristics.\n      A cohort 'study' is a particular form of longitudinal study that samples a cohort,\n      performing a cross-section at intervals through time.\n    exact_mappings:\n      - WIKIDATA:Q1303415\n    narrow_mappings:\n      # Professional or Occupational Group\n      - STY:T097\n      # Family Group\n      - STY:T099\n      # Age Group\n      - STY:T100\n      # Patient or Disabled Group\n      - STY:T101\n\n  ## Exposures\n\n  exposure event:\n    is_a: named thing\n    aliases: [ 'exposure', 'experimental condition' ]\n    mixin: true\n    slots:\n      - timepoint\n    description: >-\n      A (possibly time bounded) incidence of a feature of the environment of an organism that\n      influences one or more phenotypic features of that organism, potentially mediated by genes\n    exact_mappings:\n      - XCO:0000000\n    in_subset:\n      - model_organism_database\n\n  # TODO - confirm that genomic backgrounds are exposures\n  genomic background exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - gene grouping mixin\n      - physical essence\n      - genomic entity\n      - thing with taxon\n      - ontology class\n    description: >-\n      A genomic background exposure is where an individual's specific genomic background\n      of genes, sequence variants or other pre-existing genomic conditions constitute\n      a kind of 'exposure' to the organism, leading to or influencing an outcome.\n\n  pathological entity mixin:\n    description: >-\n      A pathological (abnormal) structure or process.\n    mixin: true\n    exact_mappings:\n      - MPATH:0\n    narrow_mappings:\n      - HP:0000118\n\n  pathological process:\n    description: >-\n      A biologic function or a process having an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: biological process\n    mixins:\n      - pathological entity mixin\n    exact_mappings:\n      - OBI:1110122\n      - NCIT:C16956\n    narrow_mappings:\n      # metastasis\n      - NCIT:C19151\n      - EFO:0009708\n      - STY:T046\n      - STY:T037\n\n  pathological process exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A pathological process, when viewed as an exposure, representing\n      a precondition, leading to or influencing an outcome,\n      e.g. autoimmunity leading to disease.\n\n  pathological anatomical structure:\n    description: >-\n      An anatomical structure with the potential of have an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: anatomical entity\n    mixins:\n      - pathological entity mixin\n\n  pathological anatomical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      An abnormal anatomical structure, when viewed as an exposure,\n      representing an precondition, leading to or influencing an outcome,\n      e.g. thrombosis leading to an ischemic disease outcome.\n\n  disease or phenotypic feature exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - pathological entity mixin\n    description: >-\n      A disease or phenotypic feature state, when viewed as an exposure,\n      represents an precondition, leading to or influencing an outcome,\n      e.g. HIV predisposing an individual to infections; a relative deficiency\n      of skin pigmentation predisposing an individual to skin cancer.\n\n  chemical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    slots:\n      - has quantitative value\n    description: >-\n      A chemical exposure is an intake of a particular\n      chemical entity.\n    exact_mappings:\n      # this ECTO term is not visibly defined but\n      # the 9000000-series identifiers seems to be the\n      # numeric space of chemical exposure definitions\n      - ECTO:9000000\n      - SIO:001399\n\n  complex chemical exposure:\n    is_a: attribute\n    description: >-\n      A complex chemical exposure is an intake of a chemical\n      mixture (e.g. gasoline), other than a drug.\n\n  drug exposure:\n    is_a: chemical exposure\n    aliases: [ 'drug intake', 'drug dose', 'medication intake' ]\n    description: >-\n      A drug exposure is an intake of a particular drug.\n    mixins:\n      - exposure event\n    broad_mappings:\n      # slightly broader than just drug effects on a biological system\n      - SIO:001005\n    exact_mappings:\n      - ECTO:0000509\n\n  # TODO: deprecate?\n  drug to gene interaction exposure:\n    description: >-\n      drug to gene interaction exposure is a drug exposure is where the\n      interactions of the drug with specific genes are known to constitute\n      an 'exposure' to the organism, leading to or influencing an outcome.\n    is_a: drug exposure\n    mixins:\n      - gene grouping mixin\n\n  treatment:\n    aliases: [ 'medical action', 'medical intervention' ]\n    # 'named thing' seems too generic here but not sure what applies better here\n    is_a: named thing\n    mixins:\n      - exposure event\n      - chemical or drug or treatment\n    description: >-\n      A treatment is targeted at a disease or phenotype and may involve\n      multiple drug 'exposures', medical devices and/or procedures\n    slots:\n      - has drug\n      - has device\n      - has procedure\n    exact_mappings:\n      - OGMS:0000090\n      - SIO:001398\n    broad_mappings:\n      - MAXO:0000058\n\n  biotic exposure:\n    is_a: attribute\n    aliases: [ 'viral exposure','bacterial exposure' ]\n    mixins:\n      - exposure event\n    description: >-\n      An external biotic exposure is an intake of (sometimes pathological)\n      biological organisms (including viruses).\n\n  geographic exposure:\n    is_a: environmental exposure\n    mixins:\n      - exposure event\n    description: >-\n      A geographic exposure is a factor relating to geographic\n      proximity to some impactful entity.\n    close_mappings:\n      - dcid:GeologicalEvent\n    narrow_mappings:\n      - dcid:IceStoremEvent\n      - dcid:LakeEffectSnowEvent\n      - dcid:LandslideEvent\n      - dcid:MarineDenseFogEvent\n      - dcid:MarineLighteningEvent\n      - dcid:MarineStrongWindEvent\n      - dcid:MarineThunderstormWindEvent\n      - dcid:StormEvent\n      - dcid:StormSurgeTideEvent\n      - dcid:StrongWindEvent\n      - dcid:ThunderstormWindEvent\n      - dcid:TornadoEvent\n      - dcid:TropicalDepressionEvent\n      - dcid:WinterStoremEvent\n\n  environmental exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A environmental exposure is a factor relating to abiotic processes\n      in the environment including sunlight (UV-B), atmospheric (heat,\n      cold, general pollution) and water-born contaminants.\n\n  behavioral exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A behavioral exposure is a factor relating to behavior impacting an individual.\n\n  socioeconomic exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A socioeconomic exposure is a factor relating to social and\n      financial status of an affected individual (e.g. poverty).\n    slot_usage:\n      has attribute:\n        range: socioeconomic attribute\n        required: true\n\n  ## Outcomes\n\n  outcome:\n    mixin: true\n    description: >-\n      An entity that has the role of being the consequence of an exposure event.\n      This is an abstract mixin grouping of various categories of possible\n      biological or non-biological (e.g. clinical) outcomes.\n\n  pathological process outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of a pathological process.\n\n  pathological anatomical outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of an abnormal anatomical structure.\n\n  disease or phenotypic feature outcome:\n    mixins:\n      - outcome\n    description: >-\n      Physiological outcomes resulting from an exposure event which\n      is the manifestation of a disease or other characteristic phenotype.\n\n  behavioral outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the manifestation of human behavior.\n\n  hospitalization outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the increased manifestation of acute (e.g. emergency\n      room visit) or chronic (inpatient) hospitalization.\n\n  mortality outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome of death from resulting from an exposure event.\n\n  epidemiological outcome:\n    mixins:\n      - outcome\n    description: >-\n      An epidemiological outcome, such as societal disease\n      burden, resulting from an exposure event.\n    related_mappings:\n      - NCIT:C19291\n\n  socioeconomic outcome:\n    mixins:\n      - outcome\n    description: >-\n      An general social or economic outcome, such as\n      healthcare costs, utilization, etc., resulting from an exposure event\n\n  ## ------------\n  ## ASSOCIATIONS\n  ## ------------\n\n  association:\n    is_a: entity\n    description: >-\n      A typed association between two entities, supported by evidence\n    comments:\n      - This is roughly the model used by biolink and ontobio at the moment\n    slots:\n      - subject\n      - predicate\n      - object\n      - negated\n      - qualifiers\n      - publications\n      - has evidence\n      - knowledge source\n      - original knowledge source\n      - primary knowledge source\n      - aggregator knowledge source\n      - timepoint\n    slot_usage:\n      type:\n        description: rdf:type of biolink:Association should be fixed at rdf:Statement\n      category:\n        range: category type\n        required: false\n    exact_mappings:\n      - OBAN:association\n      - rdf:Statement\n      - owl:Axiom\n\n\n  chemical entity assesses named thing association:\n    is_a: association\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: assesses\n\n\n  contributor association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      Any association between an entity (such as a publication)\n      and various agents that contribute to its realisation\n    slot_usage:\n      subject:\n        range: information content entity\n        description: >-\n          information content entity which an agent has helped realise\n      predicate:\n        subproperty_of: contributor\n        description: >-\n          generally one of the predicate values 'provider', 'publisher', 'editor' or 'author'\n      object:\n        range: agent\n        description: >-\n          agent helping to realise the given entity (e.g. such as a publication)\n      qualifiers:\n        description: >-\n          this field can be used to annotate special characteristics of an\n          agent relationship, such as the fact that a given author agent of\n          a publication is the 'corresponding author'\n\n  genotype to genotype part association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a genotypic entity that is a sub-component of it\n    slot_usage:\n      predicate:\n        subproperty_of: has variant part\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: genotype\n        description: >-\n          child genotype\n\n  genotype to gene association:\n    description: >-\n      Any association between a genotype and a gene.\n      The genotype have have multiple variants in that gene or a single one.\n      There is no assumption of cardinality\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: gene\n        description: >-\n          gene implicated in genotype\n\n  genotype to variant association:\n    description: >-\n      Any association between a genotype and a sequence variant.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: sequence variant\n        description: >-\n          gene implicated in genotype\n\n  gene to gene association:\n    aliases: [ 'molecular or genetic interaction' ]\n    description: >-\n      abstract parent class for different kinds of gene-gene or gene product\n      to gene product relationships. Includes homology and interaction.\n    abstract: true\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          the subject gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n      object:\n        range: gene or gene product\n        description: >-\n          the object gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n\n  gene to gene homology association:\n    description: >-\n      A homology association between two genes. May be orthology (in which\n      case the species of subject and object should differ) or paralogy\n      (in which case the species may be the same)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n      predicate:\n        subproperty_of: homologous to\n        symmetric: true\n        description: >-\n          homology relationship type\n      object:\n        range: gene or gene product\n\n  gene expression mixin:\n    description: >-\n      Observed gene expression intensity, context (site, stage) and\n      associated phenotypic status within which the expression occurs.\n    mixin: true\n    slots:\n      - quantifier qualifier\n      - expression site\n      - stage qualifier\n      - phenotypic state\n    slot_usage:\n      quantifier qualifier:\n        description: >-\n          Optional quantitative value indicating degree of expression.\n\n  gene to gene coexpression association:\n    description: >-\n      Indicates that two genes are co-expressed,\n      generally under the same conditions.\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: coexpressed with\n        symmetric: true\n\n  pairwise gene to gene interaction:\n    description: >-\n      An interaction between two genes or two gene products.\n      May be physical (e.g. protein binding) or genetic (between genes).\n      May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      predicate:\n        subproperty_of: interacts with\n        symmetric: true\n        description: \"interaction relationship type\"\n    narrow_mappings:\n      - dcid:ProteinProteinInteraction\n\n  pairwise molecular interaction:\n    description: >-\n      An interaction at the molecular level between two physical entities\n    is_a: pairwise gene to gene interaction\n    slots:\n      - interacting molecules category\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: molecular entity\n      id:\n        description: >-\n          identifier for the interaction. This may come from an interaction database such as IMEX.\n        examples:\n          - value: WB:WBInteraction000538741\n        values_from:\n          - IMEX\n          - BioGRID\n      predicate:\n        subproperty_of: interacts with\n        description: \"interaction relationship type\"\n        examples:\n          - value: RO:0002447\n            description: the subject molecular phosphorylates the object molecule\n      object:\n        range: molecular entity\n\n  cell line to entity association mixin:\n    description: >-\n      An relationship between a cell line and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: cell line\n\n  # TODO: figure out what gives with subject range\n  cell line to disease or phenotypic feature association:\n    is_a: association\n    mixins:\n      - cell line to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    description: >-\n      An relationship between a cell line and a disease or a phenotype, where\n      the cell line is derived from an individual with that disease or phenotype.\n    slot_usage:\n      subject:\n        #        - range: cell line\n        #        - range: disease or phenotypic feature\n        range: disease or phenotypic feature\n\n  chemical entity to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity that is an interactor\"\n\n  drug to entity association mixin:\n    description: >-\n      An interaction between a drug and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: drug\n        description: \"the drug that is an interactor\"\n\n  chemical to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity or entity that is an interactor\"\n\n  case to entity association mixin:\n    description: >-\n      An abstract association for use where the case is the subject\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: case\n        description: \"the case (e.g. patient) that has the property\"\n\n  chemical to chemical association:\n    description: >-\n      A relationship between two chemical entities. This can encompass actual\n      interactions as well as temporal causal edges, e.g. one chemical converted to another.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      object:\n        range: chemical entity\n        description: \"the chemical element that is the target of the statement\"\n\n  reaction to participant association:\n    description:\n    is_a: chemical to chemical association\n    slots:\n      - stoichiometry\n      - reaction direction\n      - reaction side\n    slot_usage:\n      subject:\n        range: molecular entity\n    defining_slots:\n      - subject\n      - predicate\n      - object\n\n  reaction to catalyst association:\n    description:\n    is_a: reaction to participant association\n    slot_usage:\n      object:\n        range: gene or gene product\n\n  chemical to chemical derivation association:\n    description: >-\n      A causal relationship between two chemical entities, where the subject\n      represents the upstream entity and the object represents the downstream.\n      For any such association there is an implicit reaction:\n        IF\n        R has-input C1 AND\n        R has-output C2 AND\n        R enabled-by P AND\n        R type Reaction\n        THEN\n        C1 derives-into C2 <<catalyst qualifier P>>\n    is_a: chemical to chemical association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - catalyst qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: >-\n          the upstream chemical entity\n      object:\n        range: chemical entity\n        description: >-\n          the downstream chemical entity\n      predicate:\n        subproperty_of: derives into\n      catalyst qualifier:\n        description: >-\n          this connects the derivation edge to the chemical entity that\n          catalyzes the reaction that causes the subject chemical to\n          transform into the object chemical.\n\n  chemical to disease or phenotypic feature association:\n    description: >-\n      An interaction between a chemical entity and a phenotype or disease,\n      where the presence of the chemical gives rise to or exacerbates the phenotype.\n    is_a: association\n    narrow_mappings:\n      - SIO:000993\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"the disease or phenotype that is affected by the chemical\"\n\n  chemical or drug or treatment to disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary undesirable effect.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slots:\n      - FDA adverse event level\n    slot_usage:\n      predicate:\n        subproperty_of: has adverse event\n\n  chemical or drug or treatment side effect disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary, typically (but not always) undesirable effect.\n    is_a: chemical or drug or treatment to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has side effect\n\n  gene to pathway association:\n    description: >-\n      An interaction between a gene or gene product and a biological process or pathway.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"the gene or gene product entity that participates or influences the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that includes or is affected by the gene or gene product\"\n\n  molecular activity to pathway association:\n    description: >-\n      Association that holds the relationship between a reaction and the pathway it participates in.\n    is_a: association\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: pathway\n      predicate:\n        subproperty_of: part of\n\n  chemical to pathway association:\n    description: >-\n      An interaction between a chemical entity and a biological process or pathway.\n    is_a: association\n    exact_mappings:\n      - SIO:001250\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: \"the chemical entity that is affecting the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that is affected by the chemical\"\n\n  named thing associated with likelihood of named thing association:\n    # TODO: better name\n    description: >-\n    is_a: association\n    defining_slots:\n      - subject\n      - subject aspect qualifier\n      - subject context qualifier\n      - predicate\n      - object\n      - object aspect qualifier\n      - object context qualifier\n      - population context qualifier\n    slot_usage:\n      predicate:\n        subproperty_of: associated with\n      subject aspect qualifier:\n      # TODO: range\n      subject context qualifier:\n        range: ontology class\n      object aspect qualifier:\n      # TODO: range\n      object context qualifier:\n        range: ontology class\n\n  chemical to gene association:\n    deprecated: true\n    description: >-\n      An interaction between a chemical entity and a gene or gene product.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      object:\n        range: gene or gene product\n        description: >-\n          the gene or gene product that is affected by the chemical.\n\n  chemical gene interaction association:\n    description: >-\n      describes a physical interaction between a chemical entity and a gene or gene product. Any biological or chemical\n      effect resulting from such an interaction are out of scope, and covered by the ChemicalAffectsGeneAssociation type\n      (e.g. impact of a chemical on the abundance, activity, structure, etc, of either participant in the interaction)\n    is_a: association\n    exact_mappings:\n      - SIO:001257\n    mixins:\n      - chemical to entity association mixin\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object context qualifier\n      - anatomical context qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: gene or gene product\n      predicate:\n        subproperty_of: physically interacts with\n      subject form or variant qualifier:\n        range: chemical_or_gene_or_gene_product_form_enum\n      subject part qualifier:\n        range: gene_or_gene_product_or_chemical_part_qualifier_enum\n      subject derivative qualifier:\n        range: chemical_entity_derivative_enum\n      subject context qualifier:\n        range: anatomical entity\n      object form or variant qualifier:\n        range: chemical_or_gene_or_gene_product_form_enum\n      object part qualifier:\n        range: gene_or_gene_product_or_chemical_part_qualifier_enum\n      object context qualifier:\n        range: anatomical entity\n      anatomical context qualifier:\n        range: anatomical entity\n\n  chemical affects gene association:\n    description: >-\n      Describes an effect that a chemical has on a gene or gene product (e.g. an impact of on its abundance, activity,\n      localization, processing, expression, etc.)\n    is_a: association\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject aspect qualifier\n      - subject context qualifier\n      - subject direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object aspect qualifier\n      - object context qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - qualified predicate\n    slot_usage:\n      subject:\n        range: chemical entity\n      subject form or variant qualifier:\n        range: chemical_or_gene_or_gene_product_form_enum\n      subject part qualifier:\n        range: gene_or_gene_product_or_chemical_part_qualifier_enum\n      subject derivative qualifier:\n        range: chemical_entity_derivative_enum\n      subject aspect qualifier:\n        range: gene_or_gene_product_or_chemical_entity_aspect_enum\n      subject context qualifier:\n        range: anatomical entity\n      subject direction qualifier:\n        range: direction_qualifier_enum\n      predicate:\n        subproperty_of: affects\n      qualified predicate:\n        subproperty_of: causes\n      object:\n        range: gene or gene product\n      object form or variant qualifier:\n        range: chemical_or_gene_or_gene_product_form_enum\n      object part qualifier:\n        range: gene_or_gene_product_or_chemical_part_qualifier_enum\n      object aspect qualifier:\n        range: gene_or_gene_product_or_chemical_entity_aspect_enum\n      object context qualifier:\n        range: anatomical entity\n      object direction qualifier:\n        range: direction_qualifier_enum\n      causal mechanism qualifier:\n        range: causal_mechanism_qualifier_enum\n      anatomical context qualifier:\n        range: anatomical entity\n      species context qualifier:\n        range: organism taxon\n\n  drug to gene association:\n    description: >-\n      An interaction between a drug and a gene or gene product.\n    is_a: association\n    related_mappings:\n      - SIO:001257\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - drug to entity association mixin\n    slot_usage:\n      object:\n        range: gene or gene product\n        description: \"the gene or gene product that is affected by the drug\"\n\n  material sample to entity association mixin:\n    description: >-\n      An association between a material sample and something.\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n\n  material sample derivation association:\n    description: >-\n      An association between a material sample and\n      the material entity from which it is derived.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n      object:\n        description: >-\n          the material entity the sample was derived from. This may be another\n          material sample, or any other material entity, including for example\n          an organism, a geographic feature, or some environmental material.\n      predicate:\n        description: >-\n          derivation relationship\n        subproperty_of: derives from\n\n  material sample to disease or phenotypic feature association:\n    description: >-\n      An association between a material sample and a disease or phenotype.\n    is_a: association\n    mixins:\n      - material sample to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    defining_slots:\n      - subject\n      - object\n\n  disease to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease\n        description: \"disease class\"\n        values_from: [ 'mondo', 'omim', 'orphanet', 'ncit', 'doid' ]\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n\n  entity to exposure event association mixin:\n    description: >-\n      An association between some entity and an exposure event.\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: exposure event\n\n  disease to exposure event association:\n    description: >-\n      An association between an exposure event and a disease.\n    is_a: association\n    mixins:\n      - disease to entity association mixin\n      - entity to exposure event association mixin\n    defining_slots:\n      - subject\n      - object\n\n  exposure event to entity association mixin:\n    deprecated: true\n\n  entity to outcome association mixin:\n    description: >-\n      An association between some entity and an outcome\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: outcome\n\n  exposure event to outcome association:\n    description: >-\n      An association between an exposure event and an outcome.\n    is_a: association\n    mixins:\n      - exposure event to entity association mixin\n      - entity to outcome association mixin\n    slots:\n      - has population context\n      - has temporal context\n    defining_slots:\n      - subject\n      - object\n\n  frequency qualifier mixin:\n    mixin: true\n    description: >-\n      Qualifier for frequency type associations\n    slots:\n      - frequency qualifier\n\n  entity to feature or disease qualifiers mixin:\n    description: >-\n      Qualifiers for entity to disease or phenotype associations.\n    mixin: true\n    is_a: frequency qualifier mixin\n    slots:\n      - severity qualifier\n      - onset qualifier\n\n  entity to phenotypic feature association mixin:\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: phenotypic feature\n        values_from: [ 'upheno', 'hp', 'mp', 'wbphenotype' ]\n        examples:\n          - value: HP:0002487\n            description: Hyperkinesis\n          - value: WBPhenotype:0000180\n            description: axon morphology variant\n          - value: MP:0001569\n            description: abnormal circulating bilirubin level\n    slots:\n      - sex qualifier\n\n  information content entity to named thing association:\n    description: >-\n      association between a named thing and a information content entity where the specific context\n      of the relationship between that named thing and the publication is unknown. For\n      example, model organisms databases often capture the knowledge that a gene is found in a\n      journal article, but not specifically the context in which that gene was documented in the article.\n      In these cases, this association with the accompanying predicate 'mentions' could be used.\n      Conversely, for more specific associations (like 'gene to disease association', the publication should\n      be captured as an edge property).\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        domain: publication\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: mentions\n    in_subset:\n      - model_organism_database\n\n  entity to disease association mixin:\n    description: >-\n      mixin class for any association whose object (target node) is a disease\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease\n        description: \"disease\"\n        examples:\n          - value: MONDO:0020066\n            description: \"Ehlers-Danlos syndrome\"\n\n  disease or phenotypic feature to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  disease or phenotypic feature to location association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      an anatomical entity, where the disease/feature manifests in that site.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      object:\n        range: anatomical entity\n        description: >-\n          anatomical entity in which the disease or feature is found.\n        examples:\n          - value: UBERON:0002048\n            description: \"lung\"\n\n  disease or phenotypic feature to genetic inheritance association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      its mode of (genetic) inheritance.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has mode of inheritance\n      object:\n        range: genetic inheritance\n        description: >-\n          genetic inheritance associated with the specified disease or phenotypic feature.\n        examples:\n          - value: HP:0001417\n            description: \"X-linked inheritance\"\n\n  entity to disease or phenotypic feature association mixin:\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  genotype to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: genotype\n        description: \"genotype that is the subject of the association\"\n\n  genotype to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a phenotypic feature, where having\n      the genotype confers the phenotype, either in isolation or through environment\n    mixins:\n      - entity to phenotypic feature association mixin\n      - genotype to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has phenotype\n      subject:\n        range: genotype\n        description: >-\n          genotype that is associated with the phenotypic feature\n\n  # ie: smoke exposure to coughing phenotype? is this a denormalization?\n  exposure event to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between an environment and a phenotypic feature,\n      where being in the environment influences the phenotype.\n    mixins:\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: exposure event\n\n  disease to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      An association between a disease and a phenotypic feature in which the\n      phenotypic feature is associated with the disease in some way.\n    mixins:\n      - entity to phenotypic feature association mixin\n      - disease to entity association mixin\n    close_mappings:\n      - dcid:DiseaseSymptomAssociation\n    slot_usage:\n      subject:\n        range: disease\n      object:\n        range: phenotypic feature\n\n  case to phenotypic feature association:\n    description: >-\n      An association between a case (e.g. individual patient) and a phenotypic\n      feature in which the individual has or has had the phenotype.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - case to entity association mixin\n\n  behavior to behavioral feature association:\n    description: >-\n      An association between an mixture behavior and\n      a behavioral feature manifested by\n      the individual exhibited or has exhibited the behavior.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: behavior\n        description: >-\n          behavior that is the subject of the association\n      object:\n        range: behavioral feature\n        description: >-\n          behavioral feature that is the object of the association\n    mixins:\n      - entity to phenotypic feature association mixin\n\n  gene to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene that is the subject of the association\n\n  variant to entity association mixin:\n    local_names:\n      ga4gh: variant annotation\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is associated with some other entity\n        examples:\n          - value: ClinVar:38077\n            description: \"ClinVar representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)\"\n          - value: ClinGen:CA024716\n            description: \"chr13:g.32921033G>C (hg19) in ClinGen\"\n\n  gene to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n      - WBVocab:Gene-Phenotype-Association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"gene in which variation is correlated with the phenotypic feature\"\n        examples:\n          - value: HGNC:2197\n            description: \"COL1A1 (Human)\"\n      object:\n        range: phenotypic feature\n\n  gene to disease association:\n    is_a: association\n    comments:\n      - NCIT:R176 refers to the inverse relationship\n    exact_mappings:\n      - SIO:000983\n    close_mappings:\n      - dcid:DiseaseGeneAssociation\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease,\n          may be protective or causative or associative, or as a model\n      object:\n        range: disease\n\n  druggable gene to disease association:\n    is_a: gene to disease association\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease\n          in a protective manner, or if the product produced by the gene can be targeted by a small molecule and\n          this leads to a protective or improving disease state.\n      predicate:\n        subproperty_of: target for\n      has evidence:\n        range: druggable_gene_category_enum\n    defining_slots:\n      - subject\n      - object\n      - predicate\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n\n  variant to gene association:\n    description: >-\n      An association between a variant and a gene, where the variant has\n      a genetic association with the gene (i.e. is in linkage disequilibrium)\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - variant to entity association mixin\n    slot_usage:\n      object:\n        range: gene\n      predicate:\n        subproperty_of: genetic association\n\n  variant to gene expression association:\n    description: >-\n      An association between a variant and expression of a gene (i.e. e-QTL)\n    is_a: variant to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: affects expression of\n\n  variant to population association:\n    description: >-\n      An association between a variant and a population, where the variant has\n      particular frequency in the population\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - frequency quantifier\n      - frequency qualifier mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          an allele that has a certain frequency in a given population\n        examples:\n          - value: \"NC_000017.11:g.43051071A>T\"\n            description: >-\n              17:41203088 A/C in gnomad\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that is observed to have the frequency\n        examples:\n          - value: HANCESTRO:0010\n            description: African\n      has quotient:\n        description: >-\n          frequency of allele in population, expressed as a number with allele\n          divided by number in reference population, aka allele frequency\n        examples:\n          - value: \"0.0001666\"\n      has count:\n        description: >-\n          number in object population that carry a particular allele, aka allele count\n        examples:\n          - value: \"4\"\n            description: 4 individuals in gnomad set\n      has total:\n        description: >-\n          number all populations that carry a particular allele, aka allele number\n        examples:\n          - value: \"24014\"\n            description: 24014 individuals in gnomad set\n\n  population to population association:\n    description: >-\n      An association between a two populations\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: population of individual organisms\n        description: >-\n          the population that form the subject of the association\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that form the object of the association\n      predicate:\n        # subproperty_of: ???\n        description: >-\n          A relationship type that holds between the subject and object\n          populations. Standard mereological relations can be used.\n          E.g. subject part-of object, subject overlaps object.\n          Derivation relationships can also be used\n\n  variant to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is\n          associated in some way with the phenotype state\n\n  variant to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a sequence variant in which the allele state\n          is associated in some way with the disease state\n        examples:\n          - value: ClinVar:52241\n            description: \"NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)\"\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that variant\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  genotype to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - genotype to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a genotype that is associated in some way with a disease state\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that genotype\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  model to disease association mixin:\n    description: >-\n      This mixin is used for any association class for which the subject\n      (source node) plays the role of a 'model', in that it recapitulates some\n      features of the disease in a way that is useful for studying the disease\n      outside a patient carrying the disease\n    mixin: true\n    slot_usage:\n      subject:\n        description: >-\n          The entity that serves as the model of the disease. This may be\n          an organism, a strain of organism, a genotype or variant that exhibits\n          similar features, or a gene that when mutated exhibits features of the disease\n      predicate:\n        subproperty_of: model of\n        description: >-\n          The relationship to the disease\n\n  gene as a model of disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be a model\n          organism ortholog of a known disease gene, or it may be a gene whose\n          mutants recapitulate core features of the disease.\n\n  variant as a model of disease association:\n    is_a: variant to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          A variant that has a role in modeling the disease.\n\n  genotype as a model of disease association:\n    is_a: genotype to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: genotype\n        description: >-\n          A genotype that has a role in modeling the disease.\n\n  cell line as a model of disease association:\n    is_a: cell line to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: cell line\n        description: >-\n          A cell line derived from an organismal entity with a disease state that is used\n          as a model of that disease.\n\n  organismal entity as a model of disease association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: organismal entity\n        description: >-\n          A organismal entity (strain, breed) with a predisposition to a disease, or bred/created\n          specifically to model a disease.\n\n  organism to organism association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: individual organism\n      object:\n        range: individual organism\n        description: >-\n          An association between two individual organisms.\n\n  taxon to taxon association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n        description: >-\n          An association between individuals of different taxa.\n\n  gene has variant that contributes to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - sequence variant qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be\n          a model organism ortholog of a known disease gene, or it may be\n          a gene whose mutants recapitulate core features of the disease.\n\n  gene to expression site association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      An association between a gene and a gene expression site,\n      possibly qualified by stage/timing info.\n    notes:\n      - \"TBD: introduce subclasses for distinction between wild-type and experimental conditions?\"\n    see_also: \"https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee\"\n    slots:\n      - stage qualifier\n      - quantifier qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          Gene or gene product positively within the specified\n          anatomical entity (or subclass, i.e. cellular component) location.\n      object:\n        range: anatomical entity\n        description: \"location in which the gene is expressed\"\n        examples:\n          - value: UBERON:0002037\n            description: cerebellum\n      predicate:\n        description: \"expression relationship\"\n        subproperty_of: expressed in\n      stage qualifier:\n        range: life stage\n        description: \"stage at which the gene is expressed in the site\"\n        examples:\n          - value: UBERON:0000069\n            description: larval stage\n      quantifier qualifier:\n        description: >-\n          can be used to indicate magnitude, or also ranking\n\n  sequence variant modulates treatment association:\n    is_a: association\n    description: >-\n      An association between a sequence variant and a treatment or health intervention.\n      The treatment object itself encompasses both the disease and the drug used.\n    comments:\n      - An alternate way to model the same information could be via a qualifier\n    defining_slots:\n      - subject\n      - object\n    abstract: true\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: \"variant that modulates the treatment of some disease\"\n      object:\n        range: treatment\n        description: \"treatment whose efficacy is modulated by the subject variant\"\n\n  functional association:\n    is_a: association\n    description: >-\n      An association between a macromolecular machine mixin (gene, gene product or\n      complex of gene products) and either a molecular activity, a biological\n      process or a cellular location in which a function is executed.\n    slot_usage:\n      subject:\n        range: macromolecular machine mixin\n        description: >-\n          gene, product or macromolecular complex mixin that\n          has the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: gene ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n          - value: GO:0045211\n            description: postsynaptic membrane\n\n  macromolecular machine to entity association mixin:\n    description: >-\n      an association which has a macromolecular machine mixin as a subject\n    mixin: true\n    slot_usage:\n      subject:\n        domain: macromolecular machine mixin\n\n  macromolecular machine to molecular activity association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a molecular activity (as represented\n      in the GO molecular function branch), where the entity\n      carries out the activity, or contributes to its execution.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: molecular activity\n\n  macromolecular machine to biological process association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a biological process or pathway\n      (as represented in the GO biological process branch), where the entity\n      carries out some part of the process, regulates it, or acts upstream of it.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: biological process\n\n  macromolecular machine to cellular component association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a cellular component (as represented\n      in the GO cellular component branch), where the entity\n      carries out its function in the cellular component.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: cellular component\n\n  molecular activity to chemical entity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: chemical entity\n\n  molecular activity to molecular activity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: molecular activity\n\n\n  gene to go term association:\n    aliases: [ 'functional association' ]\n    is_a: functional association\n    exact_mappings:\n      - WBVocab:Gene-GO-Association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene\n        description: >-\n          gene, product or macromolecular complex that has\n          the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: gene ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n\n  entity to disease association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  entity to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  ## -----------------\n  ## SEQUENCE FEATURES\n  ## -----------------\n\n  sequence association:\n    is_a: association\n    description: >-\n      An association between a sequence feature and a nucleic acid entity it is localized to.\n\n  genomic sequence localization:\n    is_a: sequence association\n    description: >-\n      A relationship between a sequence feature and a nucleic acid entity\n      it is localized to. The reference entity may be a chromosome,\n      chromosome region or information entity such as a contig.\n    slot_usage:\n      subject:\n        aliases: [ 'sequence feature' ]\n        range: nucleic acid entity\n      object:\n        aliases: [ 'reference' ]\n        range: nucleic acid entity # typically a chromosome use monochrom\n      predicate:\n        subproperty_of: has sequence location\n    slots:\n      - start interbase coordinate\n      - end interbase coordinate\n      - genome build\n      - strand\n      - phase\n    broad_mappings:\n      - dcid:Chromosome\n    exact_mappings:\n      - dcid:GenomeAnnotation\n\n  sequence feature relationship:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      For example, a particular exon is part of a particular transcript or gene\n    slot_usage:\n      subject:\n        range: nucleic acid entity\n      object:\n        range: nucleic acid entity # typically a chromosome\n    exact_mappings:\n      - CHADO:feature_relationship\n\n  transcript to gene relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is a collection of transcripts\n    slot_usage:\n      subject:\n        range: transcript\n      object:\n        range: gene\n\n  gene to gene product relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is transcribed and potentially translated to a gene product\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene product mixin\n      predicate:\n        subproperty_of: has gene product\n\n  exon to transcript relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A transcript is formed from multiple exons\n    slot_usage:\n      subject:\n        range: exon\n      object:\n        range: transcript\n\n  gene regulatory relationship:\n    deprecated: true\n    is_a: association\n    description: >-\n      A regulatory relationship between two genes\n    slot_usage:\n      predicate:\n        description: >-\n          the direction is always from regulator to regulated\n      subject:\n        range: gene or gene product\n        role: regulatory gene\n      object:\n        range: gene or gene product\n        role: regulated gene\n\n  chemical entity or gene or gene product regulates gene association:\n    is_a: association\n    description: >-\n      A regulatory relationship between two genes\n    slots:\n      - object direction qualifier\n    slot_usage:\n      predicate:\n        description: >-\n          the direction is always from regulator to regulated\n        subproperty_of: regulates\n      subject:\n        range: chemical entity or gene or gene product\n        role: regulatory gene\n      object:\n        range: gene or gene product\n        role: regulated gene\n      object direction qualifier:\n        range: direction_qualifier_enum\n\n  anatomical entity to anatomical entity association: # schema: gocam\n    is_a: association\n    abstract: true\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: anatomical entity\n      object:\n        range: anatomical entity\n\n  anatomical entity to anatomical entity part of association:\n    #      schema: gocam\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is mereological, i.e the two entities are related by parthood. This\n      includes relationships between cellular components and cells, between\n      cells and tissues, tissues and whole organisms\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the part\n      object:\n        range: anatomical entity\n        description: >-\n          the whole\n      predicate:\n        subproperty_of: part of\n\n  anatomical entity to anatomical entity ontogenic association:\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is ontogenic, i.e. the two entities are related by development. A number\n      of different relationship types can be used to specify the precise\n      nature of the relationship.\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the structure at a later time\n      object:\n        range: anatomical entity\n        description: >-\n          the structure at an earlier time\n      predicate:\n        subproperty_of: develops from\n\n  organism taxon to entity association:\n    mixin: true\n    description: >-\n      An association between an organism taxon and another entity\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: organism taxon\n        description: >-\n          organism taxon that is the subject of the association\n\n  organism taxon to organism taxon association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    description: >-\n      A relationship between two organism taxon nodes\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n\n  organism taxon to organism taxon specialization:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      A child-parent relationship between two taxa.\n      For example: Homo sapiens subclass_of Homo\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: child taxon\n        description: >-\n          the more specific taxon\n      object:\n        range: organism taxon\n        role: parent taxon\n        description: >-\n          the more general taxon\n      predicate:\n        subproperty_of: subclass of\n\n  organism taxon to organism taxon interaction:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      An interaction relationship between two taxa. This may be a symbiotic\n      relationship (encompassing mutualism and parasitism), or it may be non-symbiotic.\n      Example: plague transmitted_by flea; cattle domesticated_by Homo sapiens; plague infects Homo sapiens\n    defining_slots:\n      - predicate\n    slots:\n      - associated environmental context\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        range: organism taxon\n        role: interactee taxon\n        description: >-\n          the taxon that is the subject of the association\n      predicate:\n        subproperty_of: interacts with\n      associated environmental context:\n        description: >-\n          the environment in which the two taxa interact\n\n  organism taxon to environment association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        role: environmental context\n        description: >-\n          the environment in which the organism occurs\n      predicate:\n        description: >-\n          predicate describing the relationship between the taxon and the environment\n\nenums:\n\n  anatomical_context_qualifier_enum:\n    reachable_from:\n      source_ontology: bioregistry:uberon\n      source_nodes:\n        - UBERON:0001062\n      is_direct: false\n      relationship_types:\n        - rdfs:subClassOf\n\n  direction_qualifier_enum:\n    permissible_values:\n      increased:\n      upregulated:\n        is_a: increased\n      decreased:\n      downregulated:\n        is_a: decreased\n\n  chemical_entity_derivative_enum:\n    permissible_values:\n      metabolite:\n\n  chemical_or_gene_or_gene_product_form_enum:\n    permissible_values:\n      modified form:\n      mutant form:\n      polymorphism:\n      SNP:\n      analog:\n\n  gene_or_gene_product_or_chemical_part_qualifier_enum:\n    permissible_values:\n      3' UTR:\n      5' UTR:\n      polyA tail:\n      promoter:\n      enhancer:\n      exon:\n      intron:\n\n  gene_or_gene_product_or_chemical_entity_aspect_enum:\n    permissible_values:\n      activity or abundance:\n        description: >- \n          Used in cases where the specificity of the relationship can not be determined to be either activity \n          or abundance.  In general, a more specific value from this enumeration should be used.\n      abundance:\n        is_a: activity or abundance\n      activity:\n        is_a: activity or abundance\n      expression:\n        is_a: abundance\n      synthesis:\n        is_a: abundance\n      degradation:\n        is_a: abundance # negate the direction qualifier necessary.\n      cleavage:\n        is_a: degradation\n      hydrolysis:\n        is_a: degradation\n      metabolic processing:\n      mutation rate:\n      stability:\n      localization:\n      transport:\n      secretion:\n        is_a: transport\n      uptake:\n        is_a: transport\n      molecular modification:\n      acetylation:\n        is_a: molecular modification\n      acylation:\n        is_a: molecular modification\n      alkylation:\n        is_a: molecular modification\n      amination:\n        is_a: molecular modification\n      carbamoylation:\n        is_a: molecular modification\n      ethylation:\n        is_a: molecular modification\n      glutathionylation:\n        is_a: molecular modification\n      glycation:\n        is_a: molecular modification\n      glycosylation:\n        is_a: molecular modification\n      glucuronidation:\n        is_a: molecular modification\n      N-linked glycosylation:\n        is_a: molecular modification\n      O-linked glycosylation:\n        is_a: molecular modification\n      hydroxylation:\n        is_a: molecular modification\n      lipidation:\n        is_a: molecular modification\n      farnesylation:\n        is_a: molecular modification\n      geranoylation:\n        is_a: molecular modification\n      myristoylation:\n        is_a: molecular modification\n      palmitoylation:\n        is_a: molecular modification\n      prenylation:\n        is_a: molecular modification\n      methylation:\n        is_a: molecular modification\n      nitrosation:\n        is_a: molecular modification\n      nucleotidylation:\n        is_a: molecular modification\n      phosphorylation:\n        is_a: molecular modification\n      ribosylation:\n        is_a: molecular modification\n      ADP-ribosylation:\n        is_a: molecular modification\n      sulfation:\n        is_a: molecular modification\n      sumoylation:\n        is_a: molecular modification\n      ubiquitination:\n        is_a: molecular modification\n      oxidation:\n        is_a: molecular modification\n      reduction:\n        is_a: molecular modification\n      carboxylation:\n        is_a: molecular modification\n\n  causal_mechanism_qualifier_enum:\n    permissible_values:\n      binding:\n        description: >-\n          A causal mechanism mediated by the direct contact between effector and target chemical or \n          biomolecular entity, which form a stable physical interaction.\n      inhibition:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to the target and negatively effects its normal function, \n          e.g. prevention of enzymatic reaction or activation of downstream pathway.\n      antibody inhibition:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which an antibody specifically binds to and interferes with the target.\n      antagonism:\n        is_a: inhibition\n        description: >-\n          A causal mecahnism in which the effector binds to a receptor and prevents activation by an agonist \n          through competing for the binding site.\n      molecular channel blockage:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and prevents or reduces \n          transport of ions through it.\n      inverse agonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to the same receptor-binding site as an agonist and antagonizes\n          its effects, often exerting the opposite effect of the agonist by suppressing spontaneous receptor signaling.\n      negative allosteric modulation:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector reduces or prevents the action of the endogenous ligand of a \n          receptor by binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n      agonism:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds and activates a receptor to mimic the effect of an \n          endogenous ligand.\n      molecular channel opening:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and facilitates transport of \n          ions through it.\n      positive allosteric modulation:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector enhances the action of the endogenous ligand of a receptor by \n          binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n      potentiation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector  binds to and enhances or intensifies the effect of some \n          other chemical or drug on its target.\n      activation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and positively affects the normal functioning of its target.\n      inducer:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and increases the activity/rate of an enzyme that \n          processes drugs in the body.\n      transcriptional regulation:\n        description: >-\n          A causal mechanism mediated by through the control of target gene transcription\n      signaling-mediated control:\n        description: >-\n          A causal mechanism mediated by the activation or control of signaling events that influence the some aspect \n          of the target entity (e.g. its activity, processing, transport, etc)\n\n  logical_interpretation_enum:\n    permissible_values:\n      SomeSome:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as a some-some statement\n        meaning: os:SomeSomeInterpretation\n      AllSome:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as an all-some statement.\n        meaning: os:AllSomeInterpretation\n      InverseAllSome:\n\n  reaction_direction_enum:\n    permissible_values:\n      left_to_right:\n      right_to_left:\n      bidirectional:\n      neutral:\n\n  reaction_side_enum:\n    permissible_values:\n      left:\n      right:\n\n  phase_enum:\n    description: phase\n    permissible_values:\n      0:\n      1:\n      2:\n\n  strand_enum:\n    description: strand\n    permissible_values:\n      \"+\":\n        description: Positive\n      \"-\":\n        description: Negative\n      \".\":\n        description: Unstranded\n      \"?\":\n        description: Unknown\n\n  sequence_enum:\n    description: type of sequence\n    permissible_values:\n      \"NA\":\n        description: nucleic acid\n      \"AA\":\n        description: amino acid\n\n  druggable_gene_category_enum:\n    permissible_values:\n      \"Tclin\":\n        description: >-\n          These targets have activities in DrugCentral (ie. approved drugs) with known mechanism of action.\n      \"Tbio\":\n        description: >-\n          These targets have activities in ChEMBL, Guide to Pharmacology or DrugCentral that satisfy\n          the activity thresholds detailed below.\n      \"Tchem\":\n        description: >-\n          These targets do not have known drug or small molecule activities that satisfy the activity\n          thresholds detailed below AND satisfy one or more of the following criteria:\n          target is above the cutoff criteria for Tdark\n          target is annotated with a Gene Ontology Molecular Function or Biological Process leaf term(s)\n          with an Experimental Evidence code\n      \"Tdark\":\n        description: >-\n          These are targets about which virtually nothing is known. They do not have known drug or small\n          molecule activities that satisfy the activity thresholds detailed below AND satisfy two or\n          more of the following criteria:\n          A PubMed text-mining score from Jensen Lab less than 5, greater than or equal TO 3 Gene RIFs, or\n          less than or equal to 50 Antibodies available according to http://antibodypedia.com.\n\n  drug_availability_enum:\n    description: >-\n    permissible_values:\n      \"over the counter\":\n        description: >-\n          chemical entity is available over the counter without a prescription.\n      \"prescription\":\n        description:\n          chemical entity is available by prescription.\n\n  drug_delivery_enum:\n    permissible_values:\n      \"inhalation\":\n      \"oral\":\n      \"absorbtion through the skin\":\n      \"intravenous injection\":\n\n  FDA_approval_status_enum:\n    description: >-\n    permissible_values:\n      \"Discovery & Development Phase\":\n        description: >-\n          Discovery & Development Phase. Discovery involves researchers finding new possibilities\n          for medication through testing molecular compounds, noting unexpected effects from existing treatments,\n          or the creation of new technology that allows novel ways of targeting medical products to sites in the body.\n          Drug development occurs after researchers identify potential compounds for experiments.\n      \"Preclinical Research Phase\":\n        description: >-\n          Preclinical Research Phase.  Once researchers have examined the possibilities a new drug may contain,\n          they must do preliminary research to determine its potential for harm (toxicity).\n          This is categorized as preclinical research and can be one of two types: in vitro or in vivo.\n      \"FDA Clinical Research Phase\":\n        description: >-\n          Clinical Research Phase. Clinical research involves trials of the drug on people,\n          and it is one of the most involved stages in the drug development and approval process.\n          Clinical trials must answer specific questions and follow a protocol determined by\n          the drug researcher or manufacturer.\n      \"FDA Review Phase 4\":\n        description: >-\n          FDA Review\n      \"FDA Post-Market Safety Monitoring\":\n        description: >-\n          FDA Post-Market Safety Monitoring.  The last phase of drug approval is an ongoing one\n          while the drug is on the marketplace. If a developer wants to change anything about the\n          drug formulation or approve it for a new use, they must apply with the FDA. The FDA also\n          frequently reviews the drug’s advertising and its manufacturing facility to make sure\n          everything involved in its creation and marketing is in compliance with regulations.\n      \"FDA Clinical Research Phase 1\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 1 involves 20 – 100 study participants and\n          lasts several months. This phase is used to determine the safety and dosage of the drug,\n          and about 70% of these drugs move on to the next clinical research phase.\n      \"FDA Clinical Research Phase 2\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 2 involves up to several hundred people,\n          who must have the disease or condition the drug supposes to treat. This phase can last\n          from a few months to two years, and its purpose is to monitor the efficacy of the drug,\n          as well as note side effects that may occur.\n      \"FDA Clinical Research Phase 3\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 3 involves 300 – 3000 volunteers\n          and can last up to four years. It is used to continue monitoring the efficacy of\n          the drug, as well as exploring any longer-term adverse reactions.\n      \"FDA Clinical Research Phase 4\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 4 involves several thousands of\n          volunteers who have the disease or condition and continues to monitor safety and efficacy.\n          If a drug passes this phase, it goes on to FDA review.\n      \"FDA Fast Track\":\n        description: >-\n          Fast track is a process designed to facilitate the development, and expedite the\n          review of drugs to treat serious conditions and fill an unmet medical need.\n          The purpose is to get important new drugs to the patient earlier. Fast Track\n          addresses a broad range of serious conditions. For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/fast-track\n      \"FDA Breakthrough Therapy\":\n        description: >-\n          Breakthrough Therapy designation is a process designed to expedite the\n          development and review of drugs that are intended to treat a serious\n          condition and preliminary clinical evidence indicates that the drug may\n          demonstrate substantial improvement over available therapy on a clinically significant endpoint(s).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/breakthrough-therapy\n      \"FDA Accelerated Approval\":\n        description: >-\n          When studying a new drug, it can sometimes take many years to learn whether a drug actually\n          provides a real effect on how a patient survives, feels, or functions. A positive therapeutic\n          effect that is clinically meaningful in the context of a given disease is known as “clinical benefit”.\n          Mindful of the fact that it may take an extended period of time to measure a drug’s intended clinical\n          benefit, in 1992 FDA instituted the Accelerated Approval regulations. These regulations allowed drugs\n          for serious conditions that filled an unmet medical need to be approved based on a surrogate endpoint.\n          Using a surrogate endpoint enabled the FDA to approve these drugs faster.\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/accelerated-approval\n      \"FDA Priority Review\":\n        description: >-\n          Prior to approval, each drug marketed in the United States must go through a detailed FDA review process.\n          In 1992, under the Prescription Drug User Act (PDUFA), FDA agreed to specific goals for improving\n          the drug review time and created a two-tiered system of review times – Standard Review and Priority\n          Review. A Priority Review designation means FDA’s goal is to take action on an application\n          within 6 months (compared to 10 months under standard review).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/priority-review\n      \"Regular FDA Approval\":\n      \"Post-Approval Withdrawal\":\n\n  FDA_IDA_adverse_event_enum:\n    description: >-\n      please consult with the FDA guidelines as proposed in this document:\n      https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/cfrsearch.cfm?fr=312.32\n    permissible_values:\n      \"Life-threatening adverse event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'life-threatening' if, in the view of either \n          the investigator or sponsor, its occurrence places the patient or subject at immediate risk of death. \n          It does not include an adverse event or suspected adverse reaction that, had it occurred in a more \n          severe form, might have caused death.\n      \"Serious adverse event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'serious' if, in the view of either the \n          investigator or sponsor, it results in any of the following outcomes: Death, a life-threatening adverse event,\n          inpatient hospitalization or prolongation of existing hospitalization, a persistent or significant incapacity \n          or substantial disruption of the ability to conduct normal life functions, or a congenital anomaly/birth \n          defect. Important medical events that may not result in death, be life-threatening, or require hospitalization\n          may be considered serious when, based upon appropriate medical judgment, they may jeopardize the patient or \n          subject and may require medical or surgical intervention to prevent one of the outcomes listed in this \n          definition. Examples of such medical events include allergic bronchospasm requiring intensive treatment \n          in an emergency room or at home, blood dyscrasias or convulsions that do not result in inpatient \n          hospitalization, or the development of drug dependency or drug abuse.\n      \"Suspected adverse reaction\":\n         description: >-\n           means any adverse event for which there is a reasonable possibility that the drug caused the adverse event. \n           For the purposes of IND safety reporting, 'reasonable possibility' means there is evidence to suggest a \n           causal relationship between the drug and the adverse event. Suspected adverse reaction implies a lesser \n           degree of certainty about causality than adverse reaction, which means any adverse event caused by a drug.\n      \"Unexpected adverse event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'unexpected' if it is not listed in the \n          investigator brochure or is not listed at the specificity or severity that has been observed; or, if an \n          investigator brochure is not required or available, is not consistent with the risk information described \n          in the general investigational plan or elsewhere in the current application, as amended. For example, \n          under this definition, hepatic necrosis would be unexpected (by virtue of greater severity) if the \n          investigator brochure referred only to elevated hepatic enzymes or hepatitis. Similarly, cerebral \n          thromboembolism and cerebral vasculitis would be unexpected (by virtue of greater specificity) if the \n          investigator brochure listed only cerebral vascular accidents. 'Unexpected,' as used in this definition, \n          also refers to adverse events or suspected adverse reactions that are mentioned in the investigator brochure\n          as occurring with a class of drugs or as anticipated from the pharmacological properties of the drug, but \n          are not specifically mentioned as occurring with the particular drug under investigation.\n"
  },
  {
    "path": "medikanren2/neo/neo-biolink/biolink_3_1_1/biolink-model.yaml",
    "content": "id: https://w3id.org/biolink/biolink-model\nname: Biolink-Model\ndescription: Entity and association taxonomy and datamodel for life-sciences data\nlicense: https://creativecommons.org/publicdomain/zero/1.0/\n\n# Version should be kept in sync with primary Git repository release tag\n\nversion: 3.1.1\n\n\n## ------------\n##\n## PREFIXES\n## ------------\n# CURIE namespaces (prefixes/base URI's) mappings of prefixes used in the body of the Biolink Model specification\n# are resolved using a specific precedence order, for use in the generation of the Biolink Model context.jsonld\n# mappings to namespaces. Any prefixes encountered in the Biolink Model but not resolved by the following\n# precedence sources, are anonymously declared by linkml as http://example.org/UNKNOWN/ rooted base URI's\n# which should ideally be repaired in one of the precedence lists.\n#\n# 1. The following 'prefixes:' delimited list has first precedence in resolution.\n#\nprefixes:\n  AGRKB: 'https://www.alliancegenome.org/'\n  apollo: 'https://github.com/GMOD/Apollo'\n  AspGD: 'http://www.aspergillusgenome.org/cgi-bin/locus.pl?dbid='\n  biolink: 'https://w3id.org/biolink/vocab/'\n  bioschemas: 'https://bioschemas.org/'\n  linkml: 'https://w3id.org/linkml/'\n  CAID: 'http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid='\n  # Placeholder: just points to GMOD Chado wiki\n  CHADO: 'http://gmod.org/wiki/Chado/'\n  # Placeholders: not sure how 'chembio'and CHEMBL.MECHANISM really resolve\n  ChemBank: 'http://chembank.broadinstitute.org/chemistry/viewMolecule.htm?cbid='\n  CHEMBL.MECHANISM: 'https://www.ebi.ac.uk/chembl/mechanism/inspect/'\n  CID: 'http://pubchem.ncbi.nlm.nih.gov/compound/'\n  CLINVAR: 'http://identifiers.org/clinvar'\n  COAR_RESOURCE: 'http://purl.org/coar/resource_type/'\n  COG: 'https://www.ncbi.nlm.nih.gov/research/cog-project/'\n  ComplexPortal: 'https://www.ebi.ac.uk/complexportal/complex/'\n  CPT: 'https://www.ama-assn.org/practice-management/cpt/'\n  CTD.CHEMICAL: 'http://ctdbase.org/detail.go?type=chem&acc='\n  CTD.DISEASE: 'http://ctdbase.org/detail.go?type=disease&db=MESH&acc='\n  CTD.GENE: 'http://ctdbase.org/detail.go?type=gene&acc='\n  CTD: 'http://ctdbase.org/'\n  DGIdb: 'https://www.dgidb.org/interaction_types'\n  dcat: 'http://www.w3.org/ns/dcat#'\n  dct: 'http://purl.org/dc/terms/'\n  dcid: 'https://datacommons.org/browser/'\n  doi: 'https://doi.org/'\n  DOID-PROPERTY: 'http://purl.obolibrary.org/obo/doid#'\n  DrugCentral: 'http://drugcentral.org/drugcard/'\n  ECTO: 'http://purl.obolibrary.org/obo/ECTO_'\n  EDAM-DATA: 'http://edamontology.org/data_'\n  EDAM-FORMAT: 'http://edamontology.org/format_'\n  EDAM-OPERATION: 'http://edamontology.org/operation_'\n  EDAM-TOPIC: 'http://edamontology.org/topic_'\n  EFO: 'http://www.ebi.ac.uk/efo/EFO_'\n  ExO: 'http://purl.obolibrary.org/obo/ExO_'\n  fabio: 'http://purl.org/spar/fabio/'\n  foaf: 'http://xmlns.com/foaf/0.1/'\n  foodb.food: 'http://foodb.ca/compounds/'\n  foodb.compound: 'http://foodb.ca/foods/'\n  FYECO: 'https://www.pombase.org/term/'\n  FYPO: 'http://purl.obolibrary.org/obo/FYPO_'  # Fission Yeast Phenotype Ontology\n  gff3: 'https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md#'\n  GOREL: 'http://purl.obolibrary.org/obo/GOREL_'\n  # GOP: Gene Ontology Property (not really a GO term but an associated metadatum)\n  GOP: 'http://purl.obolibrary.org/obo/go#'\n  gpi: 'https://github.com/geneontology/go-annotation/blob/master/specs/gpad-gpi-2-0.md#'\n  GSID: 'https://scholar.google.com/citations?user='\n  GTEx: 'https://www.gtexportal.org/home/gene/'\n  GTOPDB: 'https://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId='\n  gtpo: 'https://rdf.guidetopharmacology.org/ns/gtpo#'\n  HANCESTRO: 'http://www.ebi.ac.uk/ancestro/ancestro_'\n  HCPCS: 'http://purl.bioontology.org/ontology/HCPCS/'\n  HsapDv: 'http://purl.obolibrary.org/obo/HsapDv_'\n  ICD10: 'https://icd.codes/icd9cm/'\n  ICD9: 'http://translator.ncats.nih.gov/ICD9_'\n  interpro: 'https://www.ebi.ac.uk/interpro/entry/'\n  INO: 'http://purl.obolibrary.org/obo/INO_'\n  isbn: 'https://www.isbn-international.org/identifier/' # note: a resolvable base URI not available from isbn-international\n  isni: 'https://isni.org/isni/'\n  issn: 'https://portal.issn.org/resource/ISSN/'\n  ncats.drug: 'https://drugs.ncats.io/drug/'\n  KEGG.BRITE: 'http://www.kegg.jp/entry/'\n  KEGG.DGROUP: 'http://www.kegg.jp/entry/'\n  KEGG.ENZYME: 'http://www.kegg.jp/entry/'\n  KEGG.GENE: 'http://www.kegg.jp/entry/'\n  KEGG.PATHWAY: 'https://www.kegg.jp/entry/'\n  KEGG.RCLASS: 'http://www.kegg.jp/entry/'\n  LOINC: 'http://loinc.org/rdf/'\n  MAXO: 'http://purl.obolibrary.org/obo/MAXO_'\n  medgen: 'https://www.ncbi.nlm.nih.gov/medgen/'\n  metacyc.reaction: 'http://identifiers.org/metacyc.reaction:'\n  METANETX.REACTION: 'https://www.metanetx.org/equa_info/'\n  MESH: 'http://id.nlm.nih.gov/mesh/'\n  MI: 'http://purl.obolibrary.org/obo/MI_'\n  mirbase: 'http://identifiers.org/mirbase'\n  mmmp.biomaps: 'https://bioregistry.io/mmmp.biomaps:'\n  MmusDv: 'http://purl.obolibrary.org/obo/MMUSDV_'\n  MSigDB: 'https://www.gsea-msigdb.org/gsea/msigdb/'\n  NBO-PROPERTY: 'http://purl.obolibrary.org/obo/nbo#'\n  ncats.bioplanet: 'https://tripod.nih.gov/bioplanet/detail.jsp?pid='\n  NCBIGene: 'http://identifiers.org/ncbigene/'\n  NCIT-OBO: 'http://purl.obolibrary.org/obo/ncit#'\n  NDDF: 'http://purl.bioontology.org/ontology/NDDF/'\n  NLMID: 'https://www.ncbi.nlm.nih.gov/nlmcatalog/?term='\n  OBAN: 'http://purl.org/oban/'\n  oboformat: 'http://www.geneontology.org/formats/oboInOwl#'\n  OMIM.PS: 'https://www.omim.org/phenotypicSeries/'\n  ORCID: 'https://orcid.org/'\n  orphanet: 'http://www.orpha.net/ORDO/Orphanet_'\n  os: 'https://github.com/cmungall/owlstar/blob/master/owlstar.ttl'\n  PANTHER.FAMILY: 'http://www.pantherdb.org/panther/family.do?clsAccession='\n  PathWhiz: 'http://smpdb.ca/pathways/#'  # See also https://smpdb.ca/pathwhiz/\n  pav: 'http://purl.org/pav/'\n  PHAROS: 'http://pharos.nih.gov'\n  PomBase: 'https://www.pombase.org/gene/'\n  prov: 'http://www.w3.org/ns/prov#'\n  qud: 'http://qudt.org/1.1/schema/qudt#'\n  REPODB: 'http://apps.chiragjpgroup.org/repoDB/'\n  ResearchID: 'https://publons.com/researcher/'\n  RO: 'http://purl.obolibrary.org/obo/RO_'\n  RXNORM: 'http://purl.bioontology.org/ontology/RXNORM/'\n  RXCUI: 'https://mor.nlm.nih.gov/RxNav/search?searchBy=RXCUI&searchTerm='\n  schema: 'http://schema.org/'\n  ScopusID: 'https://www.scopus.com/authid/detail.uri?authorId='\n  SEED.REACTION: 'https://modelseed.org/biochem/reactions/'\n  SEMMEDDB: 'https://skr3.nlm.nih.gov/SemMedDB'\n  SIO: 'http://semanticscience.org/resource/SIO_'\n  SNOMEDCT: 'http://snomed.info/id/'\n  SPDI: 'https://api.ncbi.nlm.nih.gov/variation/v0/spdi/'\n  UBERGRAPH: 'http://translator.renci.org/ubergraph-axioms.ofn#'\n  UBERON_CORE: 'http://purl.obolibrary.org/obo/uberon/core#'\n  UBERON_NONAMESPACE: 'http://purl.obolibrary.org/obo/core#'\n  # The UMLS Semantic types and groups namespaces don't have a directly\n  # resolvable Base URI, but we point to a pair of sensible web documents\n  STY: 'http://purl.bioontology.org/ontology/STY/'\n  UMLSSG: 'https://lhncbc.nlm.nih.gov/semanticnetwork/download/sg_archive/SemGroups-v04.txt'\n  VANDF: 'https://www.nlm.nih.gov/research/umls/sourcereleasedocs/current/VANDF/'\n  UO-PROPERTY: 'http://purl.obolibrary.org/obo/uo#'\n  # The \"Variation Modelling Collaboration\" (VMC) is not (yet) a conventional namespace so we point to its Github repo\n  # See also: https://www.ga4gh.org/work_stream/genomic-knowledge-standards/#existing-standards and\n  # https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7153148/\n  VMC: 'https://github.com/ga4gh/vr-spec/'\n  WBls: 'http://purl.obolibrary.org/obo/WBBL_'\n  WBbt: 'http://purl.obolibrary.org/obo/WBBT_'\n  WBVocab: 'http://bio2rdf.org/wormbase_vocabulary'\n  WIKIDATA: 'https://www.wikidata.org/wiki/'            # Wikidata Entity\n  WIKIDATA_PROPERTY: 'https://www.wikidata.org/wiki/Property:'  # Wikidata Property - not a conventional namespace prefix\n  wgs: 'http://www.w3.org/2003/01/geo/wgs84_pos'\n  XPO: 'http://purl.obolibrary.org/obo/XPO_'  # Xenopus Phenotype Ontology\n  Xenbase: 'http://www.xenbase.org/gene/showgene.do?method=display&geneId='\n\ndefault_prefix: biolink\ndefault_range: string\n\n# 2. The following prefix maps are retrieved from the\n#    specified contexts defined at https://prefixcommons.org/\ndefault_curi_maps:\n  - obo_context\n  - idot_context\n  - monarch_context\n  - semweb_context\n\n# The following 'standard' prefixes are also used.\nemit_prefixes:\n  - rdf\n  - rdfs\n  - xsd\n  - skos\n  - OIO\n  - BIOGRID\n  - SO\n\n## ------------\n## SUBSETS\n## ------------\n\n\nsubsets:\n\n  model_organism_database:\n    description: >-\n      Subset that is relevant for a typical Model Organism Database (MOD)\n\n  translator_minimal:\n    description: >-\n      Minimum subset of translator work\n\n  samples:\n    description: >-\n      Sample/biosample datamodel\n\n  testing:\n    description: >-\n      TBD\n\n\n## ------------\n## TYPES\n## ------------\n\nimports:\n  - linkml:types\n\ntypes:\n\n  chemical formula value:\n    uri: xsd:string\n    base: str\n    description: A chemical formula\n    notes:\n      - Should be implemented as a stronger type\n\n  category type:\n    typeof: uriorcurie\n    description: >-\n      A primitive type in which the value denotes a class within the biolink model.\n      The value must be a URI or a CURIE. In a Neo4j representation, the value should\n      be the CURIE for the biolink class, for example biolink:Gene. For an RDF representation,\n      the value should be a URI such as https://w3id.org/biolink/vocab/Gene\n\n  iri type:\n    typeof: uriorcurie\n    description: >-\n      An IRI\n\n  label type:\n    typeof: string\n    description: >-\n      A string that provides a human-readable name for an entity\n\n  predicate type:\n    typeof: uriorcurie\n    description: >-\n      A CURIE from the biolink related_to hierarchy.\n      For example, biolink:related_to, biolink:causes, biolink:treats.\n\n  narrative text:\n    typeof: string\n    description: >-\n      A string that provides a human-readable description of something\n\n  symbol type:\n    typeof: string\n\n  frequency value:\n    typeof: string\n    uri: UO:0000105\n\n  percentage frequency value:\n    typeof: double\n    uri: UO:0000187\n\n  quotient:\n    aliases: [ 'ratio' ]\n    typeof: double\n    uri: UO:0010006\n\n  unit:\n    typeof: string\n    uri: UO:0000000\n    id_prefixes:\n      - UO\n    exact_mappings:\n      - qud:Unit\n\n  time type:\n    typeof: time\n\n  biological sequence:\n    typeof: string\n\n## ------------\n## SLOTS\n## ------------\n\nslots:\n\n  ## ---------------\n  ## ATTRIBUTE SLOTS\n  ## ---------------\n\n  has attribute:\n    description: >-\n      connects any entity to an attribute\n    domain: entity\n    range: attribute\n    multivalued: true\n    in_subset:\n      - samples\n    close_mappings:\n      # RTX term meaning 'specifies value of' tagged as inverse of 'biolink:has attribute'\n      - OBI:0001927\n    exact_mappings:\n      - SIO:000008\n    narrow_mappings:\n      # if 'has attribute' annotates a NamedThing as subject or\n      # object of an association, these OBAN mappings may apply\n      - OBAN:association_has_subject_property\n      - OBAN:association_has_object_property\n      - CPT:has_possibly_included_panel_element\n      - DRUGBANK:category\n      # RTX contributed terms. Could perhaps review for more semantically precise mappings?\n      - EFO:is_executed_in\n      - HANCESTRO:0301\n      - LOINC:has_action_guidance\n      - LOINC:has_adjustment\n      - LOINC:has_aggregation_view\n      - LOINC:has_approach_guidance\n      - LOINC:has_divisor\n      - LOINC:has_exam\n      - LOINC:has_method\n      - LOINC:has_modality_subtype\n      - LOINC:has_object_guidance\n      - LOINC:has_scale\n      - LOINC:has_suffix\n      - LOINC:has_time_aspect\n      - LOINC:has_time_modifier\n      - LOINC:has_timing_of\n      # disease is stage\n      - NCIT:R88\n      - NCIT:eo_disease_has_property_or_attribute\n      - NCIT:has_data_element\n      - NCIT:has_pharmaceutical_administration_method\n      - NCIT:has_pharmaceutical_basic_dose_form\n      - NCIT:has_pharmaceutical_intended_site\n      - NCIT:has_pharmaceutical_release_characteristics\n      - NCIT:has_pharmaceutical_state_of_matter\n      - NCIT:has_pharmaceutical_transformation\n      - NCIT:is_qualified_by\n      - NCIT:qualifier_applies_to\n      - NCIT:role_has_domain\n      - NCIT:role_has_range\n      - INO:0000154\n      - HANCESTRO:0308\n      - OMIM:has_inheritance_type\n      - orphanet:C016\n      - orphanet:C017\n      - RO:0000053\n      # RTX tagged a few RO terms as 'biolink:related_to' but semantics suggest a better mapping here\n      - RO:0000086\n      - RO:0000087\n      - SNOMED:has_access\n      - SNOMED:has_clinical_course\n      - SNOMED:has_count_of_base_of_active_ingredient\n      - SNOMED:has_dose_form_administration_method\n      - SNOMED:has_dose_form_release_characteristic\n      - SNOMED:has_dose_form_transformation\n      - SNOMED:has_finding_context\n      - SNOMED:has_finding_informer\n      - SNOMED:has_inherent_attribute\n      - SNOMED:has_intent\n      - SNOMED:has_interpretation\n      - SNOMED:has_laterality\n      - SNOMED:has_measurement_method\n      - SNOMED:has_method\n      - SNOMED:has_priority\n      - SNOMED:has_procedure_context\n      - SNOMED:has_process_duration\n      - SNOMED:has_property\n      - SNOMED:has_revision_status\n      - SNOMED:has_scale_type\n      - SNOMED:has_severity\n      - SNOMED:has_specimen\n      - SNOMED:has_state_of_matter\n      - SNOMED:has_subject_relationship_context\n      - SNOMED:has_surgical_approach\n      - SNOMED:has_technique\n      - SNOMED:has_temporal_context\n      - SNOMED:has_time_aspect\n      - SNOMED:has_units\n      - UMLS:has_structural_class\n      - UMLS:has_supported_concept_property\n      - UMLS:has_supported_concept_relationship\n      - UMLS:may_be_qualified_by\n\n  has attribute type:\n    description: >-\n      connects an attribute to a class that describes it\n    domain: attribute\n    range: ontology class\n    multivalued: false\n    required: true\n    in_subset:\n      - samples\n    narrow_mappings:\n      - LOINC:has_modality_type\n      - LOINC:has_view_type\n\n  # TRAPI Attribute schema alignment:\n  # value: NamedThing.name\n  # value_type: NamedThing.category\n  # value_type_name: quantity_value.NamedThing.name\n  has qualitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: named thing\n    multivalued: false\n    in_subset:\n      - samples\n\n  # TRAPI Attribute schema alignment:\n  # value: quantity_value.has_numeric_value[double] - may be a vector?\n  # value_type: quantity_value.has_unit.unit.uri\n  # value_type_name: quantity_value.has_unit.unit.name[string]\n  has quantitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: quantity value\n    multivalued: true\n    exact_mappings:\n      - qud:quantityValue\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_numerator_value\n      - SNOMED:has_presentation_strength_denominator_value\n      - SNOMED:has_presentation_strength_numerator_value\n    in_subset:\n      - samples\n\n  has numeric value:\n    description: >-\n      connects a quantity value to a number\n    domain: quantity value\n    range: double\n    multivalued: false\n    exact_mappings:\n      - qud:quantityValue\n    in_subset:\n      - samples\n\n  has unit:\n    description: >-\n      connects a quantity value to a unit\n    domain: quantity value\n    range: unit\n    multivalued: false\n    close_mappings:\n      # These RTX contributed terms mean \"is unit of\" which is the semantic inverse of this biolink:has_unit term\n      - EFO:0001697\n      - UO-PROPERTY:is_unit_of\n    exact_mappings:\n      - qud:unit\n      - IAO:0000039\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_denominator_unit\n      - SNOMED:has_concentration_strength_numerator_unit\n      - SNOMED:has_presentation_strength_denominator_unit\n      - SNOMED:has_presentation_strength_numerator_unit\n      - SNOMED:has_unit_of_presentation\n    in_subset:\n      - samples\n\n  base coordinate:\n    is_a: sequence localization attribute\n    aliases: [ 'one-based', 'fully-closed' ]\n    description: >-\n      A position in the base coordinate system.  Base coordinates start at position 1 instead of position 0.\n    range: integer\n\n  ## --------------------\n  ## NODE PROPERTY SLOTS\n  ## --------------------\n\n  node property:\n    description: >-\n      A grouping for any property that holds between a node and a value\n    domain: named thing\n\n  id:\n    identifier: true\n    description: >-\n      A unique identifier for an entity.\n      Must be either a CURIE shorthand for a URI or a complete URI\n    in_subset:\n      - translator_minimal\n    required: true\n    exact_mappings:\n      - AGRKB:primaryId\n      - gff3:ID\n      - gpi:DB_Object_ID\n\n  iri:\n    description: >-\n      An IRI for an entity. This is determined by the id using expansion rules.\n    range: iri type\n    in_subset:\n      - translator_minimal\n      - samples\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P854\n\n  type:\n    slot_uri: rdf:type\n    exact_mappings:\n      - AGRKB:soTermId\n      - gff3:type\n      - gpi:DB_Object_Type\n\n  category:\n    is_a: type\n    domain: entity\n    range: category type\n    designates_type: true\n    description: >-\n      Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the\n      biolink entity type class.\n       * In a neo4j database this MAY correspond to the neo4j label tag.\n       * In an RDF database it should be a biolink model class URI.\n      This field is multi-valued. It should include values for ancestors of the biolink class; for example,\n      a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`, ...\n\n      In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink\n      class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f`\n      may have a rdf:type assertion to a SO class such as TF_binding_site,\n      which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity,\n      biolink:MolecularEntity, biolink:NamedThing}\n    is_class_field: true\n    multivalued: true\n    in_subset:\n      - translator_minimal\n\n  name:\n    aliases: [ 'label', 'display name', 'title' ]\n    description: >-\n      A human-readable name for an attribute or entity.\n    range: label type\n    in_subset:\n      - translator_minimal\n      - samples\n    #\n    # linkML doesn't like this name slot to be \"required: true\".\n    # Besides, some entity nodes/attributes may not have names?\n    # required: true\n    slot_uri: rdfs:label\n    exact_mappings:\n      - gff3:Name\n      - gpi:DB_Object_Name\n    narrow_mappings:\n      - dct:title\n      - WIKIDATA_PROPERTY:P1476\n\n  stoichiometry:\n    description: >-\n      the relationship between the relative quantities of substances taking part in a reaction or\n      forming a compound, typically a ratio of whole integers.\n    is_a: association slot\n    range: integer\n\n  reaction direction:\n    description: >-\n      the direction of a reaction as constrained by the direction enum (ie: left_to_right, neutral, etc.)\n    is_a: association slot\n    range: ReactionDirectionEnum\n    narrow_mappings:\n      - NCIT:C42677\n\n  reaction balanced:\n    is_a: association slot\n    range: boolean\n\n  reaction side:\n    description: >-\n      the side of a reaction being modeled (ie: left or right)\n    is_a: association slot\n    range: ReactionSideEnum\n\n  symbol:\n    is_a: node property\n    domain: named thing\n    description: >-\n      Symbol for a particular thing\n    exact_mappings:\n      - AGRKB:symbol\n      - gpi:DB_Object_Symbol\n\n  synonym:\n    is_a: node property\n    aliases: [ 'alias' ]\n    domain: named thing\n    range: label type\n    description: >-\n      Alternate human-readable names for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      # there is an interesting debate here: are these terms \"narrower\" a.k.a. more specialized instances of\n      # 'biolink:synonym' or should they be binned into their respective namesake class of mappings?\n      # namely, is 'oboInOwl:hasExactSynonym' an instance 'exact_mappings', etc.\n      - skos:altLabel\n      - gff3:Alias\n      - AGRKB:synonyms\n      - gpi:DB_Object_Synonyms\n      # TODO: RTX contributed terms mapped here... May need review?\n      - HANCESTRO:0330\n      - IAO:0000136\n      - RXNORM:has_tradename\n\n  exact synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasExactSynonym\n\n  broad synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasBroadSynonym\n\n  narrow synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasNarrowSynonym\n\n  related synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasRelatedSynonym\n\n  has topic:\n    aliases: [ 'topic', 'descriptors' ]\n    is_a: node property\n    range: ontology class\n    exact_mappings:\n      - foaf:topic\n    description: >-\n      Connects a node to a vocabulary term or ontology class that describes some aspect of the entity. In general specific characterization is preferred.\n      See https://github.com/biolink/biolink-model/issues/238\n\n  xref:\n    is_a: node property\n    aliases: [ 'dbxref', 'Dbxref', 'DbXref' ]\n    domain: named thing\n    range: uriorcurie\n    description: >-\n      Alternate CURIEs for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - gff3:Dbxref\n      - gpi:DB_Xrefs\n\n  full name:\n    is_a: node property\n    domain: named thing\n    range: label type\n    description: >-\n      a long-form human readable name for a thing\n\n  description:\n    aliases: [ 'definition' ]\n    range: narrative text\n    description: >-\n      a human-readable description of an entity\n    in_subset:\n      - translator_minimal\n    slot_uri: dct:description\n    exact_mappings:\n      - IAO:0000115\n      - skos:definitions\n    narrow_mappings:\n      - gff3:Description\n\n  systematic synonym:\n    is_a: node property\n    domain: named thing\n    range: label type\n    multivalued: true\n    slot_uri: GOP:systematic_synonym\n    description: >-\n      more commonly used for gene symbols in yeast\n\n  affiliation:\n    is_a: node property\n    description: >-\n      a professional relationship between one provider (often a person) within another provider (often an organization).\n      Target provider identity should be specified by a CURIE. Providers may have multiple affiliations.\n    domain: agent\n    range: uriorcurie\n    multivalued: true\n\n  address:\n    is_a: node property\n    description: >-\n      the particulars of the place where someone or an organization is situated.  For now, this slot is a\n      simple text \"blob\" containing all relevant details of the given location for fitness of purpose.\n      For the moment, this \"address\" can include other contact details such as email and phone number(?).\n\n  ## Space\n\n  latitude:\n    is_a: node property\n    range: float\n    description: >-\n      latitude\n    exact_mappings:\n      - wgs:lat\n\n  longitude:\n    is_a: node property\n    range: float\n    description: >-\n      longitude\n    exact_mappings:\n      - wgs:long\n\n  ## Time\n\n  timepoint:\n    aliases: [ 'duration' ]\n    range: time type\n    description: >-\n      a point in time\n\n  creation date:\n    is_a: node property\n    aliases: [ 'publication date' ]\n    range: date\n    description: >-\n      date on which an entity was created. This can be applied to nodes or edges\n    exact_mappings:\n      - dct:createdOn\n      - WIKIDATA_PROPERTY:P577\n\n  update date:\n    is_a: node property\n    range: date\n    description: >-\n      date on which an entity was updated. This can be applied to nodes or edges\n\n  ## Statistics\n\n  aggregate statistic:\n    is_a: node property\n    abstract: true\n\n  has count:\n    description: >-\n      number of things with a particular property\n    is_a: aggregate statistic\n    range: integer\n    exact_mappings:\n      - LOINC:has_count\n\n  has total:\n    description: >-\n      total number of things in a particular reference set\n    is_a: aggregate statistic\n    range: integer\n\n  has quotient:\n    is_a: aggregate statistic\n    range: double\n\n  has percentage:\n    description: >-\n      equivalent to has quotient multiplied by 100\n    is_a: aggregate statistic\n    range: double\n\n  ## Properties for Information Content Entity and Publication Nodes\n\n  has taxonomic rank:\n    is_a: node property\n    range: taxonomic rank\n    multivalued: false\n    mappings:\n      - WIKIDATA:P105\n\n  has dataset:\n    is_a: node property\n    domain: dataset version\n    range: dataset\n    slot_uri: dct:source\n\n  source web page:\n    is_a: node property\n    domain: dataset summary\n    broad_mappings:\n      - dct:source\n\n  source logo:\n    is_a: node property\n    domain: dataset summary\n    slot_uri: schema:logo\n\n  retrieved on:\n    is_a: node property\n    domain: dataset\n    range: date\n    exact_mappings:\n      - pav:retrievedOn\n\n  version of:\n    is_a: node property\n    domain: dataset version\n    range: dataset summary\n    exact_mappings:\n      - dct:isVersionOf\n\n  version:\n    is_a: node property\n    domain: dataset\n    broad_mappings:\n      - pav:version\n      - owl:versionInfo\n\n  license:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:license\n    narrow_mappings:\n      - WIKIDATA_PROPERTY:P275\n\n  rights:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:rights\n\n  format:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:format\n      - WIKIDATA_PROPERTY:P2701\n\n  created with:\n    is_a: node property\n    domain: dataset\n    exact_mappings:\n      - pav:createdWith\n\n  download url:\n    is_a: node property\n    domain: information content entity\n    slot_uri: dcat:downloadURL\n\n  dataset download url:\n    is_a: node property\n    domain: dataset\n    slot_uri: dcat:downloadURL\n\n  distribution download url:\n    is_a: node property\n    domain: dataset distribution\n    exact_mappings:\n      - dcat:downloadURL\n\n  ingest date:\n    is_a: node property\n    domain: dataset version\n    slot_uri: pav:version\n\n  has distribution:\n    is_a: node property\n    domain: dataset version\n    range: dataset distribution\n    slot_uri: dct:distribution\n\n  published in:\n    is_a: node property\n    description: >-\n      CURIE identifier of a broader publication context within which the publication may be placed,\n      e.g. a specified book or journal.\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - NLMID\n      - issn\n      - isbn\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1433\n\n  iso abbreviation:\n    is_a: node property\n    description: >-\n      Standard abbreviation for periodicals in the International Organization for Standardization (ISO) 4 system\n      See https://www.issn.org/services/online-services/access-to-the-ltwa/. If the 'published in' property is set,\n      then the iso abbreviation pertains to the broader publication context (the journal) within which the given\n      publication node is embedded, not the publication itself.\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1160\n\n  authors:\n    is_a: node property\n    singular_name: author\n    description: >-\n      connects an publication to the list of authors who contributed to the publication.\n      This property should be a comma-delimited list of author names. It is recommended that an author's name\n      be formatted as \"surname, firstname initial.\".   Note that this property is a node annotation expressing\n      the citation list of authorship which might typically otherwise be more completely documented in\n      biolink:PublicationToProviderAssociation defined edges which point to full details about an author\n      and possibly, some qualifiers which clarify the specific status of a given author in the publication.\n    multivalued: true\n    domain: publication\n\n  volume:\n    is_a: node property\n    description: >-\n      volume of a book or music release in a collection/series or a published collection of journal issues in a serial publication\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P478\n\n  chapter:\n    is_a: node property\n    description: >-\n      chapter of a book\n    domain: book chapter\n    exact_mappings:\n      - WIKIDATA:Q1980247\n\n  issue:\n    is_a: node property\n    description: >-\n      issue of a newspaper, a scientific journal or magazine for reference purpose\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P433\n\n  pages:\n    is_a: node property\n    description: >-\n      page number of source referenced for statement or publication\n    domain: publication\n    multivalued: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P304\n\n  summary:\n    is_a: node property\n    # since 'abstract' is a linkML keyword denoting a non-instantiable class or slot,\n    # it is generally recommended that knowledge graphs use 'summary' instead to tag a Publication 'abstract'\n    aliases: [ 'abstract' ]\n    description: >-\n      executive  summary of a publication\n    domain: publication\n    exact_mappings:\n      - dct:abstract\n      - WIKIDATA:Q333291\n\n  keywords:\n    is_a: node property\n    description: >-\n      keywords tagging a publication\n    domain: publication\n    multivalued: true\n\n  mesh terms:\n    is_a: node property\n    description: >-\n      mesh terms tagging a publication\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - MESH\n    multivalued: true\n    exact_mappings:\n      - dcid:MeSHTerm\n\n  ## Biology\n\n  has biological sequence:\n    is_a: node property\n    description: >-\n      connects a genomic feature to its sequence\n    range: biological sequence\n\n  has gene or gene product:\n    is_a: node property\n    description: >-\n      connects an entity with one or more gene or gene products\n    range: gene\n    multivalued: true\n\n  has gene:\n    is_a: has gene or gene product\n    description: >-\n      connects an entity associated with one or more genes\n    range: gene\n    multivalued: true\n\n  has zygosity:\n    is_a: node property\n    domain: nucleic acid entity\n    range: zygosity\n\n  ## Chemistry, drugs and food\n\n  has chemical formula:\n    is_a: node property\n    range: chemical formula value\n    description: >-\n      description of chemical compound based on element symbols\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P274\n\n  is metabolite:\n    is_a: node property\n    domain: molecular entity\n    range: boolean\n    description: >-\n      indicates whether a molecular entity is a metabolite\n    exact_mappings:\n      - CHEBI:25212\n\n  has constituent:\n    description: >-\n      one or more molecular entities within a chemical mixture\n    is_a: node property\n    range: molecular entity\n    multivalued: true\n\n  has drug:\n    is_a: node property\n    description: >-\n      connects an entity to one or more drugs\n    range: drug\n    multivalued: true\n\n  has device:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) devices\n    range: device\n    multivalued: true\n\n  has procedure:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) procedures\n    range: procedure\n    multivalued: true\n\n  ## Clinical exposures\n\n  has receptor:\n    is_a: node property\n    domain: exposure event\n    range: organismal entity\n    description: >-\n      the organism or organism part being exposed\n    exact_mappings:\n      - ExO:0000001\n\n  has stressor:\n    is_a: node property\n    domain: exposure event\n    aliases: [ 'has stimulus' ]\n    description: >-\n      the process or entity that the receptor is being exposed to\n    exact_mappings:\n      - ExO:0000000\n\n  has route:\n    is_a: node property\n    domain: exposure event\n    description: >-\n      the process that results in the stressor coming into direct contact with the receptor\n    exact_mappings:\n      - ExO:0000055\n    narrow_mappings:\n      - LOINC:has_pharmaceutical_route\n      - SNOMED:has_dose_form_intended_site\n      - SNOMED:has_route_of_administration\n\n\n  population context qualifier:\n    description: >-\n      a biological population (general, study, cohort, etc.) with a specific\n      set of characteristics to constrain an association.\n    is_a: association slot\n    range: population of individual organisms\n\n  temporal context qualifier:\n    description: >-\n      a constraint of time placed upon the truth value of an association.\n      for time intervales, use temporal interval qualifier.\n    is_a: association slot\n    range: time type\n\n  temporal interval qualifier:\n    is_a: temporal context qualifier\n    description: >-\n      a constraint of a time interval placed upon the truth value of an\n      association.\n\n  is supplement:\n    description: >-\n    is_a: node property\n    range: chemical mixture\n\n  trade name:\n    description: >-\n    is_a: node property\n    range: chemical entity\n\n  available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: DrugAvailabilityEnum\n\n  is toxic:\n    description: >-\n    is_a: node property\n    multivalued: false\n    range: boolean\n\n  has chemical role:\n    is_a: node property\n    description: >-\n      A role is particular behaviour which a chemical entity may exhibit.\n    range: chemical role\n    multivalued: true\n\n  max tolerated dose:\n    description: >-\n      The highest dose of a drug or treatment that does not cause unacceptable side effects.\n      The maximum tolerated dose is determined in clinical trials by testing increasing doses\n      on different groups of people until the highest dose with acceptable side effects is\n      found. Also called MTD.\n    is_a: node property\n    multivalued: false\n    range: string\n\n  animal model available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: disease or phenotypic feature\n\n  FDA adverse event level:\n    description: >-\n    is_a: association slot\n    range: FDAIDAAdverseEventEnum\n\n  highest FDA approval status:\n    description: >-\n      Should be the highest level of FDA approval this chemical entity or device has, regardless of which\n      disease, condition or phenotype it is currently being reviewed to treat.  For specific levels of FDA\n      approval for a specific condition, disease, phenotype, etc., see the association slot, 'FDA approval status.'\n\n  drug regulatory status world wide:\n    aliases: [ 'max phase' ]\n    description: >-\n      An agglomeration of drug regulatory status worldwide. Not specific to FDA.\n    exact_mappings:\n      - NCIT:C172573\n    narrow_mappings:\n      - NCIT:R172\n      - NCIT:regimen_has_accepted_use_for_disease\n      # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n\n  routes of delivery:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    multivalued: true\n    range: DrugDeliveryEnum\n\n  ## -------------------\n  ## QUALIFIERS\n  ## -------------------\n\n  form or variant qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object concept to define a specific type, variant,\n      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.\n      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept\n      ‘a mutation of Gene X’.\n    examples:\n      - value: mutation\n      - value: late stage\n      - value: severe\n      - value: transplant\n      - value: chemical analong\n    notes: >-\n      please see the ChemicalOrGeneOrGeneProductFormOrVariantEnum (below) for examples of 'form or variant qualifier'\n      terms in the gene->chemical association space. \n      the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept ‘Mutated forms of Gene X’.\n      the qualifier ‘Late Stage’ combines with a core concept of ‘Disease X’ to express the  more specific concept ‘Late Stage forms of Disease X’\n      the qualifier ‘Severe’ combines with a core concept of ‘Bleeding’ to express the  more specific concept ‘Severe forms of Bleeding’\n      the qualifier ‘Liver’ combines with a core concept of ‘Surgical Transplant’ to express the composed concept ‘Liver Transplant’\n      the qualifier ‘Recombinant’ combines with a core concept of ‘FLT1 Gene’ to express the composed concept ‘Recombinant forms of the FLT1 gene’\n      the qualifier ‘chemical analog’ combines with a core concept of ‘Ditiocarb’ to express the composed concept ‘analog forms of Ditiocarb’\n\n\n  aspect qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which\n      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that\n      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an \n      'affects' association.\n    examples:\n      - value: stability\n      - value: abundance\n      - value: expression\n      - value: exposure\n    notes: >-\n      for good examples of aspects in the gene-> chemical space, please see the \n      GeneOrGeneProductOrChemicalEntityAspectEnum (below) which lists many aspects that can be used to qualify \n      the gene making the full subject a different ontological type.  \n      the qualifier ‘expression’ combines with a core concept of ‘Gene X’ to express the composed concept ‘expression of Gene X’ (Gene → Biological Process)\n      the qualifier ‘exposure’ combines with a core concept of ‘Chemical X’ to express the composed concept ‘exposure to Chemical X’ (Chemical → Exposure Process)\n      the qualifier ‘Activity’ combines with a core concept of ‘PPARG’ to express the concept ‘activity of PPARG’ (Gene → function/activity)\n      the qualifier ‘Emergency Department Visit’ combines with a core concept of ‘Disease X’ to express the concept ‘Emergency Department visits for Disease X’ (Disease → Clinical Event)\n      the qualifier ‘Infection’ combines with a core concept of ‘Giardia’ to express the concept ‘Infection with Giardia’ (Taxon → Biological / Pathological Process)\n      the qualifier ‘Severity’ combines with a core concept of ‘DILI’ to express the concept ‘the severity level of DILI’ (Disease → (intrinsic) Characteristic/Quality)\n      the qualifier ‘Abundance’ combines with a core concept of ‘BRCA2’ to express the concept ‘abundance of BRCA2’ (Gene → (extrinsic) characteristic/quality)\n\n  derivative qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object  concept to describe something that is derived from the\n      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express\n      the composed concept ‘a metabolite of Chemical X’.\n    examples:\n      - value: metabolite\n\n  part qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can\n      use to directly represent it, e.g. 'ESR1 transcript' q: polyA tail).\n    examples:\n      - value: polyA tail\n      - value: upstream control region\n\n  context qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Restricts the setting/context/location where the core concept (or qualified core concept) resides or occurs.\n    examples:\n      - value: cohort x\n      - value: blood\n      - value: gut microbiome\n    notes: >-\n      the context qualifier ‘hippocampus’ combines with a core concept of ‘neuron’ to express the composed concept ‘neuron in \n      the hippocampus’. The species_context_qualifier applies taxonomic context, e.g. species-specific molecular activity\n\n\n  direction qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.\n    notes: >-\n      the qualifier ‘increased’ combines with a core concept of ‘Gene X’ and an aspect of ‘expression’ to express the composed concept ‘increased expression of Gene X’   \n      the qualifier ‘decreased’ combines with a core concept of ‘Protein X’ and an aspect of ‘abundance’ to express the composed concept ‘decreased abundance of Protein X’\n\n  mapped predicate:\n    description: >-\n      The predicate that is being replaced by the fully qualified representation of predicate + subject and object \n      qualifiers.  Only to be used in test data and mapping data to help with the transition to the fully qualified\n      predicate model. Not to be used in knowledge graphs.\n\n  predicate mappings:\n    description: >- \n      A collection of relationships that are not used in biolink, but have biolink patterns that can \n      be used to replace them.  This is a temporary slot to help with the transition to the fully qualified predicate\n      model in Biolink3.\n    multivalued: true\n    range: predicate mapping\n    inlined_as_list: true\n\n  exact matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      an identical meaning. Such terms often describe the same concept from\n      different ontological perspectives.\n    multivalued: true\n\n  narrow matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      a narrower meaning. Such terms often describe a more specific concept\n      from different ontological perspectives.\n    multivalued: true\n\n  broad matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      a broader meaning. Such terms often describe a more general concept\n      from different ontological perspectives.\n    multivalued: true\n\n  subject aspect qualifier:\n    is_a: aspect qualifier\n\n  subject form or variant qualifier:\n    is_a: form or variant qualifier\n\n  subject part qualifier:\n    is_a: part qualifier\n\n  subject derivative qualifier:\n    is_a: derivative qualifier\n\n  subject context qualifier:\n    is_a: context qualifier\n\n  subject direction qualifier:\n    is_a: direction qualifier\n\n  object aspect qualifier:\n    is_a: aspect qualifier\n\n  object form or variant qualifier:\n    is_a: form or variant qualifier\n\n  object part qualifier:\n    is_a: part qualifier\n\n  object derivative qualifier:\n    is_a: derivative qualifier\n\n  object context qualifier:\n    is_a: context qualifier\n\n  object direction qualifier:\n    is_a: direction qualifier\n    range: DirectionQualifierEnum\n\n  qualified predicate:\n    is_a: association slot\n    description: >-\n      Predicate to be used in an association when subject and object qualifiers are present and the full\n      reading of the statement requires a qualification to the predicate in use in order to refine or \n      increase the specificity of the full statement reading.  This qualifier holds a relationship to be used instead of that \n      expressed by the primary predicate, in a ‘full statement’ reading of the association, where qualifier-based \n      semantics are included.  This is necessary only in cases where the primary predicate does not work in a \n      full statement reading.\n    notes: >-\n      to express the statement that “Chemical X causes increased expression of Gene Y”, the core triple is read \n      using the fields subject:ChemX, predicate:affects, object:GeneY . . . and the full statement is read using \n      the fields subject:ChemX, qualified_predicate:causes, object:GeneY, object_aspect: expression, \n      object_direction:increased. The predicate ‘affects’ is needed for the core triple reading, but doesnt make \n      sense in the full statement reading  (because “Chemical X affects increased expression of Gene Y'' is not \n      what we mean to say here: it causes increased expression of Gene Y)\n\n\n  statement qualifier:\n    is_a: association slot\n    description: >-\n\n  causal mechanism qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a type of molecular control mechanism through which an\n      effect of a chemical on a gene or gene product is mediated (e.g. 'agonism', 'inhibition',\n      'allosteric modulation', 'channel blocker')\n\n  anatomical context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing an anatomical location where an relationship expressed in an\n      association took place (can be a tissue, cell type, or subcellular location).\n    range: AnatomicalContextQualifierEnum\n    notes: >-\n      Anatomical context values can be any term from UBERON. See AnatomicalContextQualifierEnum for more\n      details.\n\n  species context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a taxonomic category of species in which a relationship\n      expressed in an association took place.\n    range: organism taxon\n\n  qualifiers:\n    singular_name: qualifier\n    description: >-\n      connects an association to qualifiers that modify or\n      qualify the meaning of that association\n    local_names:\n      ga4gh: annotation qualifier\n    is_a: association slot\n    multivalued: true\n    range: ontology class\n\n  frequency qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state how frequent the phenotype is observed in the subject\n    is_a: association slot\n    range: frequency value\n\n  severity qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      how severe the phenotype is in the subject\n    is_a: association slot\n    range: severity value\n\n  sex qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state whether\n      the association is specific to a particular sex.\n    is_a: association slot\n    range: biological sex\n\n  onset qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      when the phenotype appears is in the subject\n    is_a: association slot\n    range: onset\n\n  clinical modifier qualifier:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    is_a: association slot\n    range: clinical modifier\n\n  sequence variant qualifier:\n    description: >-\n      a qualifier used in an association with the variant\n    is_a: association slot\n    range: sequence variant\n\n  quantifier qualifier:\n    is_a: association slot\n    range: ontology class\n    description: >-\n      A measurable quantity for the object of the association\n    narrow_mappings:\n      # TODO: RTX contributed terms mapped here... May need review?\n      - LOINC:analyzes\n      - LOINC:measured_by\n      - LOINC:property_of\n      - SEMMEDDB:MEASURES\n      - UMLS:measures\n\n  catalyst qualifier:\n    is_a: association slot\n    multivalued: true\n    range: macromolecular machine mixin\n    description: >-\n      a qualifier that connects an association between two causally connected\n      entities (for example, two chemical entities, or a chemical entity in\n      that changes location) and the gene product, gene, or complex that\n      enables or catalyzes the change.\n\n  stage qualifier:\n    description: >-\n      stage during which gene or protein expression of takes place.\n    is_a: association slot\n    range: life stage\n    # path: \"object/during\"\n    examples:\n      - value: UBERON:0000069\n        description: larval stage\n\n  ## --------------------\n  ## PREDICATES/RELATIONS\n  ## --------------------\n\n  related to:\n    description: >-\n      A relationship that is asserted between two named things\n    domain: named thing\n    range: named thing\n    multivalued: true\n    inherited: true\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:relatedMatch\n      - UMLS:related_to\n    broad_mappings:\n      - owl:topObjectProperty\n    narrow_mappings:\n      - SEMMEDDB:ASSOCIATED_WITH\n      - SEMMEDDB:compared_with\n      - SEMMEDDB:higher_than\n      - SEMMEDDB:lower_than\n      - BFO:0000054\n      - UBERON_CORE:protects\n      - GOREL:0002005\n      - GOREL:0012006\n      # several of the following terms mapped here by RTX could merit upgrade to new Biolink terms\n      - BTO:related_to\n      - CHEBI:is_conjugate_acid_of\n      - CHEBI:is_conjugate_base_of\n      - CPT:has_add_on_code\n      - CPT:mapped_to\n      - EFO:0006351\n      - FMA:connected_to\n      - FMA:continuous_with\n      - FMA:homonym_of\n      - FMA:related_developmental_entity_of\n      - RO:0002093\n      - RO:0002092\n      - RO:0002084\n      - HCPCS:mapped_to\n      # RTX contributed terms, perhaps belong somewhere else with more precise semantics?\n      - HMDB:disease\n      - HMDB:has_protein_association\n      - IAO:0000136\n      - LOINC:has_answer\n      - LOINC:has_challenge\n      - LOINC:has_evaluation\n      - LOINC:mapped_to\n      - LOINC:mth_has_expanded_form\n      - MESH:RO\n      - MESH:has_mapping_qualifier\n      - MESH:mapped_to\n      - MONDO:disease_shares_features_of\n      - NCIT:disease_may_have_associated_disease\n      - NCIT:human_disease_maps_to_eo_disease\n      - NCIT:is_abnormal_cell_of_disease\n      - NCIT:is_related_to_endogenous_product\n      - UBERON_NONAMESPACE:connected_to\n      - UBERON_NONAMESPACE:innervated_by\n      - NBO-PROPERTY:is_about\n      - RO:0000053 # bearer_of\n      - PATO:reciprocal_of\n      - RO:0000052\n      - RO:0002001\n      - RO:0002002\n      - RO:0002003\n      - RO:0002008\n      - RO:0002134\n      - RO:0002150\n      - RO:0002159\n      - RO:0002176\n      - RO:0002177\n      - RO:0002178\n      - RO:0002179\n      - RO:0002314\n      - RO:0002322\n      # functionally related to\n      - RO:0002328\n      - RO:0002332\n      - RO:0002338\n      - RO:0002339\n      - RO:0002341\n      - RO:0002342\n      - RO:0002344\n      - RO:0002348\n      - RO:0002349\n      - RO:0002356\n      - RO:0002371\n      - RO:0002372\n      - RO:0002373\n      - RO:0002374\n      - RO:0002385\n      - RO:0002387\n      - RO:0002451\n      - RO:0002494\n      - RO:0002495\n      - RO:0002568\n      - RO:0002573\n      - RO:0004026\n      - RO:0004027\n      - RO:0009001\n      - RO:0009004\n      - RXNORM:has_form\n      - RXNORM:reformulated_to\n      - SNOMED:has_associated_morphology\n      - SNOMED:has_associated_procedure\n      - SNOMED:has_direct_morphology\n      - SNOMED:has_disposition\n      - SNOMED:has_indirect_morphology\n      - SNOMED:has_modification\n      - SNOMED:has_procedure_morphology\n      - SNOMED:has_specimen_source_morphology\n      - SNOMED:inheres_in\n      - SNOMED:is_interpreted_by\n      - SNOMED:relative_to_part_of\n      - UBERON:synapsed_by\n      - UMLS:RO\n      - UMLS:RQ\n      - UMLS:class_code_classified_by\n      - UMLS:exhibited_by\n      - UMLS:has_context_binding\n      - UMLS:has_form\n      - UMLS:has_mapping_qualifier\n      - UMLS:larger_than\n      - UMLS:mapped_to\n      - UMLS:owning_section_of\n\n  related to at concept level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between terminology components that describe the conceptual model of a domain.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  related to at instance level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between two instances of a data classes.  Much like an assertion component,\n      in an ABox, these represent facts associated with the conceptual model.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  associated with:\n    is_a: related to at instance level\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      (though not in all cases), and is weaker than its child, 'correlated with', but stronger than its parent,\n      'related to'. This relationship holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated.  E.g. the statement “Atrial Fibrillation (Afib) is associated with Myocardial \n      Infarction (MI)” asserts that having Afib is not statistically independent from whether a patient \n      will also have MI. Note that in Translator associations, the subject and object concepts may map exactly to \n      the statistical variables, or represent related entities for which the variables serve as proxies in an \n      Association (e.g. diseases, chemical entities or processes).\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    domain: named thing\n    range: named thing\n    narrow_mappings:\n      - RO:0004029\n      - SNOMEDCT:47429007\n\n  superclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a super class of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: True\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q66088480\n      - CHEMBL.MECHANISM:superset_of\n      - GO:inverse_isa\n      - MESH:inverse_isa\n      - RXNORM:inverse_isa\n      - VANDF:inverse_isa\n    narrow_mappings:\n      - NCIT:cdrh_parent_of\n      - NCIT:ctcae_5_parent_of\n      - NCIT:subset_includes_concept\n      - OMIM:has_manifestation\n      - SNOMED:has_basic_dose_form\n      - UMLS:RB\n\n  subclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a specialization of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: True\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # RTX\n      - LOINC:class_of\n      - LOINC:has_class\n    exact_mappings:\n      - rdfs:subClassOf\n      - SEMMEDDB:ISA\n      - WIKIDATA_PROPERTY:P279\n      - CHEMBL.MECHANISM:subset_of\n      - GO:isa\n      - MESH:isa\n      - RXNORM:isa\n      - VANDF:isa\n    narrow_mappings:\n      - CHEBI:has_parent_hydride\n      - LOINC:has_archetype\n      - LOINC:has_parent_group\n      - LOINC:is_presence_guidance_for\n      - NCIT:gene_product_has_chemical_classification\n      # RTX mapped terms classes for biomarkers\n      - NCIT:R36\n      - NCIT:R42\n      - NCIT:A16\n      - NCIT:A11\n      - NCIT:A14\n      - NCIT:A3\n      - NDDF:has_dose_form\n      - RXNORM:has_dose_form\n      - RXNORM:has_doseformgroup\n      - SNOMED:entire_anatomy_structure_of\n      - SNOMED:has_dose_form\n      # RTX mapping\n      - rdfs:subPropertyOf\n\n  same as:\n    is_a: exact match\n    description: >-\n      holds between two entities that are considered equivalent to each other\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # identical class extension with identical sets of individuals\n      - owl:equivalentClass\n    exact_mappings:\n      # identical individual, or identical class concept/meaning\n      - owl:sameAs\n      - skos:exactMatch\n      # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      # RTX suggests mapping this to proposed new \"biolink:close_match\" predicate instead\n      #- SEMMEDDB:same_as\n      - WIKIDATA_PROPERTY:P2888\n      - CHEMBL.MECHANISM:equivalent_to\n      - MONDO:equivalentTo\n    narrow_mappings:\n      - DRUGBANK:external-identifier\n\n  close match:\n    is_a: related to at concept level\n    description: >-\n      a list of terms from different schemas or terminology systems that have\n      a semantically similar but not strictly equivalent, broader, or narrower\n      meaning. Such terms often describe the same general concept from\n      different ontological perspectives (e.g. drug as a type of chemical\n      entity versus drug as a type of role borne by a chemical entity).\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:closeMatch\n      # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      - SEMMEDDB:same_as\n    narrow_mappings:\n      - CHEBI:is_enantiomer_of\n      - CHEBI:is_tautomer_of\n      - MEDDRA:classified_as\n      - OIO:hasDbXref\n      - oboformat:xref\n      - RXNORM:has_quantified_form\n      - UMLS:SY\n\n  exact match:\n    is_a: close match\n    description: >-\n      holds between two entities that have strictly equivalent\n      meanings, with a high degree of confidence\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:exactMatch\n      - WIKIDATA:Q39893449\n      - WIKIDATA:P2888\n\n  broad match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a broader, more general meaning. Broader terms are\n      typically shown as parents in a hierarchy or tree.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: narrow match\n    exact_mappings:\n      - skos:broadMatch\n      - WIKIDATA:Q39894595\n\n  narrow match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a narrower, more specific meaning. Narrower terms are\n      typically shown as children in a hierarchy or tree.\n    is_a: related to at concept level\n    inverse: broad match\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - skos:narrowMatch\n      - WIKIDATA:Q39893967\n    annotations:\n      opposite_of: broad match\n\n  member of:\n    description: >-\n      Defines a mereological relation between a item and a collection.\n    is_a: related to at concept level\n    inverse: has member\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002350\n    close_mappings:\n      - skos:member\n\n  has member:\n    description: >-\n      Defines a mereological relation between a collection and an item.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002351\n      - skos:member\n\n  opposite of:\n    description: >-\n      x is the opposite of y if there exists some distance metric M, and there exists\n      no z such as M(x,z) <= M(x,y) or M(y,z) <= M(y,x). (This description is from RO. Needs to be rephrased).\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002604\n    see_also:\n      - https://doi.org/10.1101/108977\n      - https://github.com/biolink/biolink-model/issues/657\n\n\n  associated with likelihood of:\n    is_a: associated with\n    description: >-\n      A a relationship that holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated, wherein the state or value of one variable predicts the future state \n      or value of the other.  E.g. the statement “An Atrial Fibrillation (Afib) diagnosis is associated \n      with likelihood of a Myocardial Infarction (MI) diagnosis” asserts that the state of having Afib \n      is associated with an increased or decreased likelihood that a patient will later exhibit MI.\n    annotations:\n      canonical_predicate: true\n\n  likelihood associated with:\n    is_a: associated with\n    description: >-\n    inverse: associated with likelihood of\n\n  associated with increased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is more probable.\n    annotations:\n      canonical_predicate: true\n\n  increased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with increased likelihood of\n\n  associated with decreased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is less probable.\n    annotations:\n      canonical_predicate: true\n\n  decreased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with decreased likelihood of\n\n  target for:\n    is_a: related to at instance level\n    description: >-\n      A gene is a target of a disease when its products are druggable and when a drug interaction with the gene\n      product could have a therapeutic effect\n    annotations:\n      canonical_predicate: true\n    domain: gene\n    range: disease\n\n  has target:\n    is_a: related to at instance level\n    inverse: target for\n    domain: disease\n    range: gene\n\n  active in:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: cellular component\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002432\n\n  has active component:\n    is_a: related to at instance level\n    inverse: active in\n    domain: cellular component\n    range: gene or gene product\n\n  acts upstream of:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002263\n\n  has upstream actor:\n    is_a: related to at instance level\n    inverse: acts upstream of\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004034\n\n  has positive upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004035\n\n  has negative upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of negative effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002264\n\n  has upstream or within actor:\n    is_a: has upstream actor\n    inverse: acts upstream of or within\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004032\n\n  has positive upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004033\n\n  has negative upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within negative effect\n    domain: biological process\n    range: gene or gene product\n\n    ## Publication related predicates\n  mentions:\n    description: >-\n      refers to is a relation between one information content entity and the named thing\n      that it makes reference to.\n    is_a: related to at instance level\n    exact_mappings:\n      - IAO:0000142\n    narrow_mappings:\n      - SIO:000628\n\n  mentioned by:\n    description: >-\n      refers to is a relation between one named thing and the information content entity\n      that it makes reference to.\n    is_a: related to at instance level\n    inverse: mentions\n\n  ## Publication related predicates\n\n  contributor:\n    is_a: related to at instance level\n    domain: agent\n    range: information content entity\n    comments:\n      - This is a grouping for predicates relating entities to their associated contributors realizing them\n    abstract: true\n    exact_mappings:\n      - dct:contributor\n\n  has contributor:\n    inverse: contributor\n    is_a: related to at instance level\n    domain: information content entity\n    range: agent\n\n  provider:\n    is_a: contributor\n    description: >-\n      person, group, organization or project that provides a piece of information (e.g. a knowledge association).\n\n  has provider:\n    inverse: provider\n    is_a: has contributor\n    domain: information content entity\n    range: agent\n\n  publisher:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      organization or person responsible for publishing books, periodicals, podcasts, games or software.\n      Note that in the case of publications which have a containing \"published in\" node property, the publisher\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the publisher agent of the encompassing publication\n      (e.g. only from the Journal referenced by the 'published_in' property of an journal article Publication node).\n    exact_mappings:\n      - dct:publisher\n      - WIKIDATA_PROPERTY:P123\n\n  has publisher:\n    is_a: has contributor\n    inverse: publisher\n    domain: publication\n    range: agent\n\n  editor:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      editor of a compiled work such as a book or a periodical (newspaper or an academic journal).\n      Note that in the case of publications which have a containing \"published in\" node property, the editor\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the editorial agent of the encompassing publication\n      (e.g. only from the Book referenced by the 'published_in' property of a book chapter Publication node).\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P98\n\n  has editor:\n    inverse: editor\n    is_a: has contributor\n    domain: publication\n    range: agent\n\n  author:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      an instance of one (co-)creator primarily responsible for a written work\n    exact_mappings:\n      - dct:creator\n      - WIKIDATA_PROPERTY:P50\n\n  has author:\n    inverse: author\n    is_a: has contributor\n    domain: publication\n    range: agent\n\n  ## end of Publication related predicates\n\n  assesses:\n    is_a: related to at instance level\n    aliases: [ 'was assayed against' ]\n    description: >-\n      The effect of a thing on a target was interrogated in some assay.\n      A relationship between some perturbing agent (usually a chemical compound) and some target entity,\n      where the affect of the perturbing agent on the target entity was interrogated in a particular assay.\n      The target might be a particular protein, tissue, phenotype, whole organism, cell line, or other type\n      of biological entity.\n    domain: named thing\n    range: named thing\n    annotations:\n      canonical_predicate: true\n\n  is assessed by:\n    is_a: related to at instance level\n    inverse: assesses\n    domain: named thing\n    range: named thing\n\n  interacts with:\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between any two entities that directly or indirectly interact with each other\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002434\n      - SEMMEDDB:INTERACTS_WITH\n    narrow_mappings:\n      # RO terms RTX mapped to 'biolink:related_to' but which imply a chemical interaction\n      - RO:0002103\n      - RO:0002120\n      - RO:0002130\n    notes: >-\n      please use a more specific child predicate of interacts with, either physically interacts with\n      or genetically interacts with. \n\n  physically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two entities that make physical contact as part of some interaction. \n      does not imply a causal relationship.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P129\n    close_mappings:\n      - CHEMBL.MECHANISM:binding_agent\n      - CHEMBL.MECHANISM:chelating_agent\n      - CHEMBL.MECHANISM:cross-linking_agent\n      - CHEMBL.MECHANISM:oxidative_enzyme\n      - CHEMBL.MECHANISM:sequestering_agent\n      - CHEMBL.MECHANISM:substrate\n      - DRUGBANK:target\n\n    narrow_mappings:\n      # Defined more narrowly as \"substance interaction\", thus specific applies to a subclass entities\n      - DRUGBANK:drug-interaction\n      - FMA:adheres_to\n      - NCIT:A7\n      - PR:non-covalently_bound_to\n\n  directly physically interacts with:\n    is_a: physically interacts with\n    description: >-\n      A causal mechanism mediated by a direct contact between the effector and target entities (this contact may \n      be weak or strong, transient or stable).\n    symmetric: true\n    exact_mappings:\n      - RO:0002436\n    broad_mappings:\n      # Definition of this term is more generic than direct physical molecular interactions:\n      # A is connected to B iff there exists a fiat, material or temporal path between A and B.\n      - SIO:000203\n      - RO:0002578\n    narrow_mappings:\n      - PHAROS:drug_targets\n      - DRUGBANK:chelator\n      - CTD:affects_binding\n      - DGIdb:cofactor\n    annotations:\n      canonical_predicate: true\n\n  binds:\n    is_a: directly physically interacts with\n    description: >-\n      A causal mechanism mediated by the direct contact between effector and target chemical or biomolecular entity, \n      which form a stable physical interaction.\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - DGIdb:binder\n\n  indirectly physically interacts with:\n    is_a: physically interacts with\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  genetically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two genes whose phenotypic effects are dependent on each\n      other in some way - such that their combined phenotypic effects are the\n      result of some interaction between the activity of their gene products.\n      Examples include epistasis and synthetic lethality.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    exact_mappings:\n      - RO:0002435\n\n  affects:\n    is_a: related to at instance level\n    description: >-\n      describes an entity that has a direct affect on the state or quality\n      of another existing entity. Use of the 'affects' predicate implies that\n      the affected entity already exists, unlike predicates such as\n      'affects risk for' and 'prevents, where the outcome is something\n      that may or may not come to be.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # Contributed by RTX. Seems possible that a new predicate \"biolink:in_pathway\" could be justified?\n      - DRUGBANK:pathway\n    exact_mappings:\n      - SEMMEDDB:AFFECTS\n      - DGIdb:affects\n    narrow_mappings:\n      - SEMMEDDB:ADMINISTERED_TO\n      - CTD:prediction_hypothesis\n      - GOREL:0001006\n      - CTD:inferred\n      - UPHENO:0000001\n      - RO:0002263\n      - RO:0002264\n      - NCIT:R158\n      - NCIT:R160\n      - NCIT:R30\n      - NCIT:R150\n      - NCIT:R72\n      - NCIT:R146\n      - NCIT:R124\n      - NCIT:R173\n      - NCIT:R100\n      - NCIT:R102\n      - NCIT:R101\n      - NCIT:R113\n      - NCIT:R23\n      - NCIT:R25\n      - NCIT:gene_mapped_to_disease\n      - NCIT:R133\n      - RO:0002343\n      - RO:0002355\n      - RO:0002591\n      - RO:0002592\n      - RO:0012003\n      - SNOMED:has_pathological_process\n      - UBERGRAPH:is_increase_of # talked to Jim Balhoff, this is a valid mapping\n      - UBERGRAPH:is_decrease_of # talked to Jim Balhoff, this is a valid mapping\n\n  affected by:\n    is_a: related to at instance level\n    description: >-\n      describes an entity of which the state or quality is affected by\n      another existing entity.\n    inverse: affects\n\n  associated with sensitivity to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of sensitivity to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - PATO:0000085 # sensitivity toward\n    narrow_mappings:\n      - SNOMEDCT:418038007 # propensity to adverse reaction\n\n  sensitivity associated with:\n    is_a: associated with\n    inverse: associated with sensitivity to\n    range: named thing\n    domain: chemical entity\n\n  associated with resistance to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of resistance to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n\n  resistance associated with:\n    is_a: associated with\n    inverse: associated with resistance to\n    range: named thing\n    domain: chemical entity\n\n  diagnoses:\n    is_a: related to at instance level\n    description: >-\n      a relationship that identifies the nature of (an illness or other problem) by examination of the symptoms.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - NCIT:C15220 # diagnosis\n      - SIO:001331 # diagnosis\n    exact_mappings:\n      - DrugCentral:5271\n      - SEMMEDDB:DIAGNOSES\n\n  is diagnosed by:\n    is_a: related to at instance level\n    inverse: diagnoses\n    range: chemical or drug or treatment\n    domain: disease or phenotypic feature\n\n  increases amount or activity of:\n    deprecated: true\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that increase the amount\n      or activity of the object.\n\n  amount or activity increased by:\n    deprecated: true\n    is_a: related to at instance level\n    inverse: increases amount or activity of\n\n  decreases amount or activity of:\n    deprecated: true\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that decrease the amount\n      or activity of the object.\n\n  amount or activity decreased by:\n    deprecated: true\n    is_a: related to at instance level\n    inverse: decreases amount or activity of\n\n  ## role mixins for use in tagging corresponding role predicates\n\n  chemical role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a chemical context.\n    mixin: true\n    exact_mappings:\n      - CHEBI:51086\n\n  biological role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a biological context.\n    mixin: true\n    narrow_mappings:\n      - CHEBI:24432\n\n  affects response to:\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: response affected by\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_response_to\n\n  response affected by:\n    description: >-\n      holds between two chemical entities where the susceptibility of a biological entity or system\n      (e.g. an organism, cell, cellular component, macromolecular machine mixin,\n      biological or pathological process) of one is affected by the action of the other.\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  increases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      increases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases response to\n    exact_mappings:\n      - CTD:increases_response_to\n\n  response increased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases response to\n\n  decreases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      decreases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases response to\n    exact_mappings:\n      - CTD:decreases_response_to\n    narrow_mappings:\n      - CTD:decreases_response_to_substance\n\n  response decreased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases response to\n\n  regulates:\n    is_a: affects\n    description: >-\n      A more specific form of affects, that implies the effect results from a biologically evolved control mechanism.\n      Gene-affects-gene relationships will (almost) always involve regulation.  Chemical-affects-gene relationships \n      may in some cases be considered regulation (if the chemical is some endogenously produced signaling molecule \n      created to execute a certain function/activity), but exogenous/environmental chemical-affects-gene relationships \n      are usually not cases of regulation.\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - RO:0002334\n    exact_mappings:\n      - RO:0002211\n    narrow_mappings:\n      # https://www.wikidata.org/wiki/Property:P128 - regulates (molecular biology)\n      - WIKIDATA_PROPERTY:P128\n      - CHEMBL.MECHANISM:modulator\n      - RO:0002295\n      - RO:0002332\n      - RO:0002211\n      - RO:0002448\n      - WIKIDATA_PROPERTY:P128\n\n  regulated by:\n    is_a: affected by\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    inverse: regulates\n\n  disrupts:\n    is_a: affects\n    aliases: [ 'disease causes disruption of' ]\n    description: >-\n      describes a relationship where one entity degrades or interferes\n      with the structure, function, or occurrence of another.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: enables\n    exact_mappings:\n      - SEMMEDDB:DISRUPTS\n      - CHEMBL.MECHANISM:disrupting_agent\n    narrow_mappings:\n      - RO:0004024\n      - RO:0004025\n\n  disrupted by:\n    is_a: affected by\n    description: >-\n      describes a relationship where the structure, function, or occurrence\n      of one entity is degraded or interfered with by another.\n    inverse: disrupts\n\n  gene product of:\n    is_a: related to at instance level\n    description: >-\n      definition x has gene product of y if and only if y is a gene (SO:0000704)\n      that participates in some gene expression process (GO:0010467) where the output of thatf\n      process is either y or something that is ribosomally translated from x\n    exact_mappings:\n      - RO:0002204\n    domain: gene product mixin\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: has gene product\n    in_subset:\n      - translator_minimal\n\n  has gene product:\n    is_a: related to at instance level\n    description: >-\n      holds between a gene and a transcribed and/or\n      translated product generated from it\n    domain: gene\n    range: gene product mixin\n    inverse: gene product of\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # RTX term tagged as inverse mapping\n      - PR:has_gene_template\n    exact_mappings:\n      - RO:0002205\n      - WIKIDATA_PROPERTY:P688\n      - NCIT:gene_encodes_gene_product\n    narrow_mappings:\n      - NCIT:R178\n\n  transcribed to:\n    is_a: related to at instance level\n    domain: gene\n    range: transcript\n    description: >-\n      inverse of transcribed from\n    inverse: transcribed from\n    exact_mappings:\n      - RO:0002511\n      - SIO:010080\n\n  transcribed from:\n    is_a: related to at instance level\n    domain: transcript\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: transcribed to\n    description: >-\n      x is transcribed from y if and only if x is synthesized from template y\n    exact_mappings:\n      - RO:0002510\n      - SIO:010081\n\n  translates to:\n    is_a: related to at instance level\n    domain: transcript\n    range: protein\n    annotations:\n      canonical_predicate: true\n    inverse: translation of\n    description: >-\n      x (amino acid chain/polypeptide) is the ribosomal translation of y (transcript) if and only if a ribosome\n      reads y (transcript) through a series of triplet codon-amino acid adaptor activities (GO:0030533)\n      and produces x (amino acid chain/polypeptide)\n    close_mappings:\n      - RO:0002513\n      - SIO:010082\n\n  translation of:\n    is_a: related to at instance level\n    domain: protein\n    range: transcript\n    description: >-\n      inverse of translates to\n    inverse: translates to\n    close_mappings:\n      - RO:0002512\n      - SIO:010083\n\n  homologous to:\n    is_a: similar to\n    aliases: [ 'in homology relationship with' ]\n    description: >-\n      holds between two biological entities that have common evolutionary origin\n    comments:\n      - typically used to describe homology relationships between genes or gene products\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000001\n      - SIO:010302\n    narrow_mappings:\n      # This is a tricky one to place; seems narrower than the RO mapping but that mapping, RO:0002158\n      - UBERON_CORE:sexually_homologous_to\n\n  paralogous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship that holds between entities (typically genes) that diverged after a duplication event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000011\n\n  orthologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship between entities (typically genes) that diverged after a speciation event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000017\n      - WIKIDATA_PROPERTY:P684\n\n  xenologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship characterized by an interspecies (horizontal) transfer since the common ancestor.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000018\n\n  coexists with:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities that are co-located in the same aggregate object, process, or spatio-temporal region\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SEMMEDDB:COEXISTS_WITH\n    narrow_mappings:\n      - BSPO:0000096\n      - BSPO:0000097\n      - BSPO:0000098\n      - BSPO:0000099\n      - BSPO:0000100\n      - BSPO:0000102\n      - BSPO:0000104\n      - BSPO:0000110\n      - BSPO:0000113\n      - BSPO:0015001\n      - BSPO:0015002\n      - BSPO:0015003\n      - BSPO:0015005\n      - BSPO:0015006\n      - BSPO:0015007\n      - BSPO:0015008\n      - BSPO:0015009\n      - BSPO:0015012\n      - BSPO:0015014\n      - BSPO:parallel_to\n      - UBERON_CORE:anastomoses_with\n      - UBERON_CORE:anteriorly_connected_to\n      - UBERON_CORE:posteriorly_connected_to\n      - UBERON_CORE:channel_for\n      - UBERON_CORE:channels_from\n      - UBERON_CORE:channels_into\n      - UBERON_CORE:conduit_for\n      - UBERON_CORE:distally_connected_to\n      - UBERON_CORE:extends_fibers_into\n      - UBERON_CORE:filtered_through\n      - UBERON_CORE:indirectly_supplies\n      - UBERON_CORE:proximally_connected_to\n      - UBERON_CORE:synapsed_by\n      - UBERON_CORE:transitively_anteriorly_connected_to\n      - UBERON_CORE:transitively_connected_to\n      - UBERON_CORE:transitively_distally_connected_to\n      - UBERON_CORE:transitively_proximally_connected_to\n      # RTX contributed Environmental Ontology term meaning \"partially surrounded by\"\n      - ENVO:01001307\n      - FMA:adjacent_to\n      - FMA:afferent_to\n      - FMA:anterior_to\n      - FMA:anteroinferior_to\n      - FMA:anterolateral_to\n      - FMA:anteromedial_to\n      - FMA:anterosuperior_to\n      # RTX contributed terms (also inverses to one another?) might better be mapped to another term with more precise functional semantics?\n      # Some of these terms also seem to be semantic inverses of one another, thus, perhaps not simple narrow_mappings to Biolink\n      - FMA:arterial_supply_of\n      - FMA:has_arterial_supply\n      - FMA:articulates_with\n      - FMA:attaches_to\n      - FMA:bounded_by\n      - FMA:bounds\n      - FMA:branch_of\n      - FMA:connection_type_of\n      - FMA:continuation_branch_of\n      - FMA:continuous_distally_with\n      - FMA:continuous_proximally_with\n      - FMA:corresponds_to\n      - FMA:development_type_of\n      - FMA:developmental_stage_of\n      - FMA:direct_cell_shape_of\n      - FMA:direct_left_of\n      - FMA:direct_right_of\n      - FMA:distal_to\n      - FMA:drains_into\n      - FMA:efferent_to\n      - FMA:external_to\n      - FMA:formed_by\n      - FMA:forms\n      # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:full_grown_phenotype_of\n      - FMA:has_full_grown_phenotype\n      # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:fuses_with\n      - FMA:fusion_of\n      - FMA:has_fusion\n      - FMA:germ_origin_of\n      - FMA:has_germ_origin\n      - FMA:has_adherent\n      - FMA:has_branch\n      - FMA:has_connection_type\n      - FMA:has_continuation_branch\n      - FMA:has_development_type\n      - FMA:has_developmental_stage\n      - FMA:has_direct_cell_shape\n      - FMA:has_inherent_3d_shape\n      - FMA:has_insertion\n      - FMA:has_lymphatic_drainage\n      - FMA:has_nerve_supply\n      - FMA:has_observed_anatomical_entity\n      - FMA:has_origin\n      - FMA:has_primary_segmental_supply\n      - FMA:has_projection\n      - FMA:has_regional_part\n      - FMA:has_related_developmental_entity\n      - FMA:has_secondary_segmental_supply\n      - FMA:has_segmental_composition\n      - FMA:has_segmental_supply\n      - FMA:has_tributary\n      - FMA:has_venous_drainage\n      - FMA:inferior_to\n      - FMA:inferolateral_to\n      - FMA:inferomedial_to\n      - FMA:inherent_3d_shape_of\n      - FMA:insertion_of\n      - FMA:internal_to\n      - FMA:lateral_to\n      - FMA:left_lateral_to\n      - FMA:left_medial_to\n      - FMA:lymphatic_drainage_of\n      - FMA:matures_from\n      - FMA:matures_into\n      - FMA:medial_to\n      - FMA:merges_with\n      - FMA:nerve_supply_of\n      - FMA:origin_of\n      - FMA:posterior_to\n      - FMA:posteroinferior_to\n      - FMA:posterolateral_to\n      - FMA:posteromedial_to\n      - FMA:posterosuperior_to\n      - FMA:primary_segmental_supply_of\n      - FMA:projects_from\n      - FMA:projects_to\n      - FMA:proximal_to\n      - FMA:receives_attachment_from\n      - FMA:receives_drainage_from\n      - FMA:receives_input_from\n      - FMA:receives_projection\n      - FMA:related_part\n      - FMA:right_lateral_to\n      - FMA:right_medial_to\n      - FMA:secondary_segmental_supply_of\n      - FMA:segmental_composition_of\n      - FMA:segmental_supply_of\n      - FMA:sends_output_to\n      - FMA:superior_to\n      - FMA:superolateral_to\n      - FMA:superomedial_to\n      - FMA:surrounded_by\n      - FMA:surrounds\n      - FMA:tributary_of\n      - FMA:venous_drainage_of\n      # These LOINC: terms contributed by RTX were only tagged as 'biolink:has_attribute'\n      # but seem more aligned to the FMA entries in this biolink term, so I leave them here for now\n      - LOINC:has_lateral_anatomic_location\n      - LOINC:has_lateral_location_presence\n      - UBERON_NONAMESPACE:distally_connected_to\n      - UBERON_NONAMESPACE:subdivision_of\n      # These RO terms seem similar to the FMA terms above, so I place them here rather than under 'biolink:related_to'\n      - RO:0002219\n      - RO:0002220\n      - RO:0002221\n      - SO:has_origin\n      # RTX mapped these UBERON terms all here\n      - UBERON:anastomoses_with\n      - UBERON:anteriorly_connected_to\n      - UBERON:channel_for\n      - UBERON:channels_from\n      - UBERON:channels_into\n      - UBERON:conduit_for\n      - UBERON:distally_connected_to\n      - UBERON:existence_starts_and_ends_during\n      - UBERON:extends_fibers_into\n      - UBERON:filtered_through\n      - UBERON:in_central_side_of\n      - UBERON:in_innermost_side_of\n      - UBERON:in_outermost_side_of\n      - UBERON:indirectly_supplies\n      - UBERON:posteriorly_connected_to\n      - UBERON:protects\n      - UBERON:proximally_connected_to\n      - UBERON:sexually_homologous_to\n\n  in pathway with:\n    description: >-\n      holds between two genes or gene products that are part of in the same biological pathway\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # generally pertains to membership of a (subject) component - gene,\n      # metabolite, etc? - in an (object) metabolic pathway\n      - SIO:010532\n\n  in complex with:\n    description: >-\n      holds between two genes or gene products that are part of (or code for\n      products that are part of) in the same macromolecular complex\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # generally pertains to membership of a (subject) protein in an (object) protein complex (doesn't cover RNA-Protein, Lipid-Protein, etc complexes though)\n      - SIO:010497\n    broad_mappings:\n      # generally pertains to membership of any (subject) constituent molecule in an (object) molecular complex (might also generically cover RNA-Protein, Lipid-Protein, etc complexes)\n      - SIO:010285\n\n  in cell population with:\n    description: >-\n      holds between two genes or gene products that are expressed in the same cell type or population\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  colocalizes with:\n    description: >-\n      holds between two entities that are observed to be located in the same place.\n    is_a: coexists with\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:00002325\n\n  # Despite the name, note that this particular entity is\n  # NOT a biolink:Association but rather, a biolink:predicate\n  genetic association:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    description: >-\n      Co-occurrence of a certain allele of a genetic marker and the phenotype\n      of interest in the same individuals at above-chance level\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2293\n\n  gene associated with condition:\n    is_a: genetic association\n    description: >-\n      holds between a gene and a disease or phenotypic feature that the gene or its alleles/products may influence,\n      contribute to, or correlate with\n    domain: disease or phenotypic feature\n    range: gene\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    broad_mappings:\n      - GENO:0000840 # broader than a single gene: 'genotype' pathogenic for condition\n      - GENO:0000841\n    narrow_mappings:\n      # narrower: just diseases, not phenotypic features as well\n      - NCIT:R38\n      - NCIT:R175\n      - NCIT:R48\n\n  condition associated with gene:\n    is_a: genetic association\n    aliases: [ 'disease associated with gene' ]\n    description: >-\n      holds between a gene and a disease or phenotypic feature that may be influenced, contribute to, or be correlated with the gene or its alleles/products\n    domain: gene\n    range: disease or phenotypic feature\n    in_subset:\n      - translator_minimal\n    inverse: gene associated with condition\n    narrow_mappings:\n      # narrower since just diseases, not phenotypic features as well\n      - NCIT:R176\n\n  affects risk for:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where exposure to one entity alters the chance of developing the other\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  risk affected by:\n    is_a: related to at instance level\n    inverse: affects risk for\n\n  predisposes:\n    is_a: affects risk for\n    description: >-\n      holds between two entities where exposure to one entity increases the chance of developing the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    exact_mappings:\n      - SEMMEDDB:PREDISPOSES\n\n  has predisposing factor:\n    is_a: risk affected by\n    inverse: predisposes\n    in_subset:\n      - translator_minimal\n\n  contributes to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes or contributes to the\n      occurrence or generation of the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # RTX contributed mapping tagged as 'inverse' of this Biolink predicate\n      - IDO:0000664\n    exact_mappings:\n      - RO:0002326\n    narrow_mappings:\n      - CTD:marker_mechanism\n      - MONDO:predisposes_towards\n      # RTX mapped this to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002255\n      # RTX term 'contributes to condition' mapped to 'biolink:causes' seems more suitable here\n      - RO:0003304\n\n  contribution from:\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    inverse: contributes to\n\n  causes:\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes the occurrence\n      or generation of the other\n    is_a: contributes to\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    exact_mappings:\n      - SEMMEDDB:CAUSES\n      - WIKIDATA_PROPERTY:P1542\n      - SNOMED:cause_of\n      - RO:0003303\n    broad_mappings:\n      - RO:0002410\n      - RO:0002506\n    narrow_mappings:\n      - MONDO:disease_triggers\n      - GOREL:0000040\n      - MONDO:disease_causes_feature\n      - MONDO:disease_triggers\n      - NCIT:allele_has_abnormality\n      - NCIT:biological_process_has_result_biological_process\n      - NCIT:chemical_or_drug_has_physiologic_effect\n      # RTX mapped terms as 'biolink:part_of' but implied sequence of causality suggests 'biolink:causes'?\n      - NCIT:chemical_or_drug_initiates_biological_process\n      - NCIT:process_initiates_biological_process\n      - NCIT:chromosome_mapped_to_disease\n      - NCIT:disease_has_normal_tissue_origin\n      - NBO-PROPERTY:in_response_to\n      - orphanet:317343\n      - orphanet:317344\n      - orphanet:317346\n      - orphanet:410295\n      - orphanet:410296\n      # RTX mapped this term to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002256\n      - RO:0002315\n      - RO:0002507\n      - RO:0002509\n      - RO:0004001\n      - SNOMED:causative_agent_of\n      - SNOMED:has_realization\n      - UMLS:has_physiologic_effect\n\n  caused by:\n    description: >-\n      holds between two entities where the occurrence, existence,\n      or activity of one is caused by the occurrence or generation of the other\n    is_a: related to at instance level\n    aliases: [ 'disease caused by disruption of', 'disease has basis in dysfunction of',\n               'realized in response to', 'realized in response to stimulus' ]\n    in_subset:\n      - translator_minimal\n    inverse: causes\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P828\n    narrow_mappings:\n      - RO:0001022\n      - RO:0002608\n      - RO:0004019\n      - RO:0004020\n      - RO:0004028\n      - RO:0009501\n\n  # TODO: ameliorates and exacerbates inverses.\n  ameliorates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a genotype,\n      genetic variation, chemical, or environmental exposure, clinical intervention)\n      and a condition (a phenotype or disease), where the\n      presence of the entity reduces or eliminates some or\n      all aspects of the condition.\n    # 'biological entity' currently includes 'exposure event' which covers alot of related ground\n    domain: named thing\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: exacerbates\n    exact_mappings:\n      - RO:0003307\n\n  is ameliorated by:\n    inverse: ameliorates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: named thing\n\n  exacerbates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a chemical,\n      environmental exposure, or some form of genetic variation)\n      and a condition (a phenotype or disease), where the presence\n      of the entity worsens some or all aspects of the condition.\n    # 'biological entity' currently includes 'exposure event' which covers alot of related ground\n    domain: biological entity\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0003309\n    broad_mappings:\n      - SEMMEDDB:COMPLICATES\n\n  is exacerbated by:\n    inverse: exacerbates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: biological entity\n    in_subset:\n      - translator_minimal\n\n  treats:\n    aliases: [ 'is substance that treats', 'indicated for' ]\n    is_a: ameliorates\n    description: >-\n      holds between a therapeutic procedure or chemical entity\n      and a disease or phenotypic feature that it is used to treat\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: contraindicated for\n    in_subset:\n      - translator_minimal\n    related_mappings:\n      - MONDO:disease_responds_to\n    exact_mappings:\n      - DRUGBANK:treats\n      - SEMMEDDB:TREATS\n      - WIKIDATA_PROPERTY:P2175\n    narrow_mappings:\n      # \"is substance that treats\" constrains statements to\n      # a subset of the universe of all possible treatments\n      - RO:0002606\n      - NCIT:regimen_has_accepted_use_for_disease\n      # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n      - SNOMED:plays_role\n\n  treated by:\n    is_a: is ameliorated by\n    description: >-\n      holds between a disease or phenotypic feature and a therapeutic\n      process or chemical entity that is used to treat the condition\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    # range: chemical or drug or treatement\n    in_subset:\n      - translator_minimal\n    inverse: treats\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2176\n      # RTX contributed term tagged as inverse of 'biolink:treats'\n      - MONDO:disease_responds_to\n    narrow_mappings:\n      # \"is treated by substance\" constrains statements to\n      # subset of the universe of all possible treatments\n      - RO:0002302\n\n  prevents:\n    is_a: affects risk for\n    description: >-\n      holds between an entity whose application or use reduces\n      the likelihood of a potential outcome. Typically used to associate\n      a chemical entity, exposure, activity, or medical intervention\n      that can prevent the onset a disease or phenotypic feature.\n    annotations:\n      canonical_predicate: true\n      opposite_of: predisposes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:PREVENTS\n    narrow_mappings:\n      # more restricted case of a material entity mitigating a pathological process\n      - RO:0002599\n\n  prevented by:\n    is_a: risk affected by\n    description: >-\n      holds between a potential outcome of which the likelihood\n      was reduced by the application or use of an entity.\n    inverse: prevents\n    annotations:\n      opposite_of: enabled by\n\n  correlated with:\n    is_a: associated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical dependence is \n      demonstrated using a correlation analysis method.\n    notes: >-\n      These concepts may map exactly to the statistical variables, or represent related entities for which the \n      variables serve as proxies in an Association (e.g. diseases, chemical entities or processes).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002610\n      - PATO:correlates_with\n\n  # proposed positive and negative semantic extensions to the general \"correlated with\" predicate\n\n  positively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation \n      is demonstrated, wherein variable values move together in the same direction (i.e. increased in one or \n      presence of one correlates with an increase or presence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: negatively correlated with\n    exact_mappings:\n      - CTD:positive_correlation\n\n  negatively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation \n      is demonstrated, wherein variable values move in opposite directions (i.e. increased in one or presence of \n      one correlates with a decrease or absence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: positively correlated with\n    exact_mappings:\n      - CTD:negative_correlation\n\n  occurs together in literature with:\n    is_a: correlated with\n    description: >-\n      holds between two entities where their co-occurrence is correlated by counts of publications\n      in which both occur, using some threshold of occurrence as defined by the edge provider.\n    domain: named thing\n    range: named thing\n    in_subset: translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  coexpressed with:\n    is_a: correlated with\n    description: >-\n      holds between any two genes or gene products, in which both are\n      generally expressed within a single defined experimental context.\n    domain: gene or gene product\n    range: gene or gene product\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  has biomarker:\n    is_a: correlated with\n    description: >-\n      holds between a disease or phenotypic feature and a measurable\n      chemical entity that is used as an indicator of the presence\n      or state of the disease or feature.\n      # metabolite\n    domain: disease or phenotypic feature\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    inverse: biomarker for\n    narrow_mappings:\n      # some RTX terms contributed as inverses of 'biolink:biomarker_for'\n      - NCIT:disease_has_molecular_abnormality\n      - NCIT:disease_is_marked_by_gene\n\n  biomarker for:\n    is_a: correlated with\n    description: >-\n      holds between a measurable chemical entity and a disease\n      or phenotypic feature, where the entity is used as an indicator\n      of the presence or state of the disease or feature.\n    domain: chemical entity or gene or gene product\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - NCIT:R39\n    broad_mappings:\n      # Generic marker definition not specific to biomarkers per say\n      - RO:0002607\n    narrow_mappings:\n      - NCIT:R47\n      # RTX term was tagged as 'biolink:actively_involved_in' but maps better here?\n      - NCIT:genetic_biomarker_related_to\n      - NCIT:is_molecular_abnormality_of_disease\n      - orphanet:465410\n\n  # It may be helpful to introduce an intermediate predicate in between 'related_to' and 'expressed in'\n  # which would have a domain of 'biological entity' and range of 'anatomical entity', to map predicates\n  # which are biological which have manifestation in an anatomical site, e.g. RO:0004026, RO:0004027 and others\n  expressed in:\n    is_a: located in\n    description: >-\n      holds between a gene or gene product and an anatomical entity in which it is expressed\n    domain: gene or gene product\n    range: anatomical entity\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002206\n    narrow_mappings:\n      - NCIT:R49\n      - NCIT:R46\n\n  expresses:\n    is_a: location of\n    aliases: [ 'anatomy expresses gene' ]\n    description: >-\n      holds between an anatomical entity and gene or gene product that is expressed there\n    domain: anatomical entity\n    range: gene or gene product\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    inverse: expressed in\n    exact_mappings:\n      - RO:0002292\n\n  has phenotype:\n    is_a: related to at instance level\n    aliases: [ 'disease presents symptom' ]\n    description: >-\n      holds between a biological entity and a phenotype, where a phenotype\n      is construed broadly as any kind of quality of an organism part,\n      a collection of these qualities, or a change in quality or qualities\n      (e.g. abnormally increased temperature). In SNOMEDCT, disorders with keyword 'characterized by' should\n      translate into this predicate.\n    domain: biological entity\n    range: phenotypic feature\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    notes:\n      - check the range\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002200\n    broad_mappings:\n      - NCIT:R115\n      - NCIT:R108\n    narrow_mappings:\n      - NCIT:R89\n      - DOID-PROPERTY:has_symptom\n      - RO:0004022\n\n  phenotype of:\n    is_a: related to at instance level\n    domain: phenotypic feature\n    range: biological entity\n    multivalued: true\n    inverse: has phenotype\n\n  # TODO: predicate inverse for occurs in\n  occurs in:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a material entity or site within which the process occurs\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # These RTX mapped terms tagged as the inverse of \"biolink:occurs_in\", i.e. Entity/Site contains Process\n      - BFO:0000067\n      - SNOMED:has_occurrence\n      - UBERON:site_of\n    exact_mappings:\n      - BFO:0000066\n      - PathWhiz:has_location\n      - SNOMED:occurs_in\n    narrow_mappings:\n      # SemMedDb term 'OCCURS_IN' constrained to something (other than process) occurring in a group or population\n      - SEMMEDDB:OCCURS_IN\n      # SemMedDb term 'PROCESS_IN' constrained specifically to a process occurring in the object concept entity\n      - SEMMEDDB:PROCESS_OF\n      # Uberon term constrained to a 'site' as object concept\n      - UBERON_CORE:site_of\n      - LOINC:has_imaged_location\n      - PathWhiz:in_species\n      - RO:0002231\n      - RO:0002232\n      - SNOMED:has_direct_procedure_site\n      - SNOMED:has_direct_site\n      - SNOMED:has_procedure_site\n\n  contains process:\n    is_a: related to at instance level\n    inverse: occurs in\n\n  located in:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a material entity or site\n      within which it is located (but of which it is not considered a part)\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0001025\n      - FMA:has_location\n    narrow_mappings:\n      - GOREL:0001004\n      - BSPO:0000107\n      - BSPO:0000108\n      - BSPO:0000120\n      - BSPO:0000121\n      - BSPO:0000122\n      - BSPO:0000123\n      - BSPO:0000124\n      - BSPO:0000125\n      - BSPO:0000126\n      - BSPO:0001100\n      - BSPO:0001101\n      - BSPO:0001107\n      - BSPO:0015101\n      - BSPO:0015102\n      - BSPO:0015202\n      - UBERON_CORE:in_central_side_of\n      - UBERON_CORE:in_innermost_side_of\n      - UBERON_CORE:in_outermost_side_of\n      - NCIT:R100\n      - EFO:0000784\n      - FMA:has_location\n      - HMDB:at_cellular_location\n      - HMDB:at_tissue\n      - HMDB:in_biospecimen\n      - LOINC:has_imaging_focus\n      - NCIT:R156\n      - NCIT:R155\n      - NCIT:R145\n      - NCIT:R40\n      - NCIT:R171\n      - NCIT:R167\n      - NCIT:R165\n      - NCIT:R169\n      - NCIT:R170\n      - NCIT:R166\n      - NCIT:R168\n      - RO:0002303\n      - SNOMED:has_finding_site\n      - SNOMED:has_indirect_procedure_site\n      - SNOMED:has_inherent_location\n    domain: named thing\n    range: named thing\n\n  location of:\n    is_a: related to at instance level\n    aliases: [ 'site of' ]\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between material entity or site and a material entity\n      that is located within it (but not considered a part of it)\n    in_subset:\n      - translator_minimal\n    inverse: located in\n    exact_mappings:\n      - RO:0001015\n      - SEMMEDDB:LOCATION_OF\n      - WIKIDATA_PROPERTY:P276\n      # RTX tagged this as an inverse of biolink:located_in\n      - FMA:location_of\n    narrow_mappings:\n      - SNOMED:inherent_location_of\n      - NCIT:Anatomic_Structure_Has_Location_Role\n\n  disease has location:\n    description: >-\n      A relationship between a disease and an anatomical entity where the\n      disease has one or more features that are located in that entity.\n    is_a: related to\n    exact_mappings:\n      - RO:0004026\n      - MONDO:disease_has_location\n\n  location of disease:\n    is_a: related to\n    inverse: disease has location\n\n  similar to:\n    is_a: related to at instance level\n    description: >-\n      holds between an entity and some other entity with similar features.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000000               #I don't understand this identifier, but I think it's equivalent\n      - SO:similar_to               #equivalent\n\n  chemically similar to:\n    is_a: similar to\n    description: >-\n      holds between one small molecule entity and another that it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - CHEBI:has_parent_hydride    #subproperty\n      - CHEBI:has_functional_parent #subproperty\n      - CHEBI:is_conjugate_acid_of  #subproperty\n      - CHEBI:is_conjugate_base_of  #subproperty\n      - CHEBI:is_enantiomer_of      #subproperty\n      - CHEBI:is_tautomer_of        #subproperty\n      - NCIT:has_salt_form\n\n  has sequence location:\n    is_a: related to at instance level\n    description: >-\n      holds between two nucleic acid entities when the subject can be localized\n      in sequence coordinates on the object. For example, between\n      an exon and a chromosome/contig.\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - faldo:location\n\n  sequence location of:\n    is_a: related to at instance level\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    inverse: has sequence location\n\n  model of:\n    is_a: related to at instance level\n    description: >-\n      holds between a thing and some other thing it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0003301\n    narrow_mappings:\n      - FOODON:00001301\n\n  models:\n    is_a: related to at instance level\n    inverse: model of\n\n  overlaps:\n    is_a: related to at instance level\n    description: >-\n      holds between entities that overlap in their extents (materials or processes)\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002131\n    narrow_mappings:\n      - BSPO:0005001\n      - CHEMBL.MECHANISM:overlaps_with\n      - RO:0002100\n      - RO:0002102\n      - RO:0002433\n\n  has part:\n    is_a: overlaps\n    annotations:\n      canonical_predicate: true\n      opposite_of: lacks part\n    description: >-\n      holds between wholes and their parts (material entities or processes)\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000051\n      # term name seems to be 'realizes' but RTX maps this term here\n      - BFO:0000055\n      - WIKIDATA_PROPERTY:P527\n      - RO:0001019\n      - RXNORM:consists_of\n      - RXNORM:has_part\n    broad_mappings:\n      # To 'contain' is 'to have something inside or include something as a part'; slightly broader?\n      - RO:0001019\n      - FMA:contains\n      - RXNORM:contains\n    narrow_mappings:\n      - BFO:0000117\n      # RTX term originally mapped to 'biolink:coexists_with'?\n      - FMA:has_constitutional_part\n      - FMA:has_part\n      # Several of the following RTX terms were originally mapped as inverses to 'biolink:part_of'?\n      - FMA:has_member\n      - FOODON:00001563\n      - FOODON:00002420\n      - LOINC:has_component\n      - LOINC:has_member\n      - MEDDRA:has_member\n      - MONDO:disease_has_major_feature\n      - NCIT:complex_has_physical_part\n      - NDDF:has_ingredient\n      - PathWhiz:has_element_in_bound\n      # This RTX contributed term was tagged as 'biolink:has_gene_product' but seems more compositional in nature\n      - NCIT:R50\n      - PathWhiz:has_protein_in_complex\n      - RO:0002104\n      - RO:0002180\n      - RO:0002351\n      - RO:0002473\n      - RO:0002524\n      - RO:0002551\n      - RXNORM:has_ingredient\n      - SNOMED:has_component\n      - UMLS:has_component\n\n  has plasma membrane part:\n    is_a: has part\n    description: >-\n      Holds between a cell c and a protein complex or protein p if\n      and only if that cell has as part a plasma_membrane[GO:0005886], and that plasma membrane has p as part.\n    exact_mappings:\n      - RO:0002104\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  composed primarily of:\n    is_a: related to\n    description: >-\n      x composed_primarily_of_y if:more than half of the mass of x is made from parts of y.\n    exact_mappings:\n      - RO:0002473\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  primarily composed of:\n    inverse: composed primarily of\n    is_a: related to\n\n  plasma membrane part of:\n    is_a: part of\n    inverse: has plasma membrane part\n\n  part of:\n    is_a: overlaps\n    description: >-\n      holds between parts and wholes (material entities or processes)\n    in_subset:\n      - translator_minimal\n    inverse: has part\n    exact_mappings:\n      - BFO:0000050\n      - SEMMEDDB:PART_OF\n      - WIKIDATA_PROPERTY:P361\n      - FMA:part_of\n      - RXNORM:constitutes\n      - RXNORM:part_of\n    broad_mappings:\n      # To 'contain' is 'to have something inside or include something as a part'\n      - RO:0001018\n      - FMA:contained_in\n      - RXNORM:contained_in\n    narrow_mappings:\n      - BSPO:0001106\n      - BSPO:0001108\n      - BSPO:0001113\n      - BSPO:0001115\n      - UBERON_CORE:layer_part_of\n      - UBERON_CORE:subdivision_of\n      - UBERON_CORE:trunk_part_of\n      - CHEBI:is_substituent_group_from\n      - CPT:panel_element_of\n      - CPT:panel_element_of_possibly_included\n      - DRUGBANK:component_of\n      - FMA:constitutional_part_of\n      - FMA:member_of\n      - FMA:regional_part_of\n      - FMA:related_developmental_entity_of\n      - LOINC:component_of\n      - LOINC:has_supersystem\n      - LOINC:member_of\n      - LOINC:multipart_of\n      - MEDDRA:member_of\n      - MONDO:part_of_progression_of_disease\n      - NCIT:R82\n      - NCIT:R27\n      - NCIT:is_component_of_chemotherapy_regimen\n      - NDDF:ingredient_of\n      - RO:0002007\n      - RO:0002350\n      - RO:0002376\n      - RO:0002380\n      - RO:0002571\n      - RO:0002572\n      - RO:0002576\n      - RXNORM:ingredient_of\n      - RXNORM:ingredients_of\n      - RXNORM:precise_ingredient_of\n      - SNOMED:active_ingredient_of\n      - SNOMED:basis_of_strength_substance_of\n      - SNOMED:component_of\n      - SNOMED:direct_substance_of\n      - SNOMED:during\n      - SNOMED:focus_of\n      - SNOMED:has_dependent\n      - SNOMED:part_anatomy_structure_of\n      - SNOMED:precise_active_ingredient_of\n      - UBERON:subdivision_of\n      - UMLS:component_of\n      - UMLS:has_owning_affiliate\n      - UMLS:owning_subsection_of\n      - VANDF:ingredient_of\n\n  has input:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an input into the process\n    domain: biological process or activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n      opposite_of: has output\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # RTX inverse mapping to 'biolink:has_input'\n      - RO:0002352\n    exact_mappings:\n      - RO:0002233\n      - SEMMEDDB:USES\n    narrow_mappings:\n      - LOINC:has_fragments_for_synonyms\n      - LOINC:has_system\n      - PathWhiz:has_left_element\n      - RO:0002590\n      - RO:0004009\n      - SNOMED:has_finding_method\n      - SNOMED:has_precondition\n      - SNOMED:has_specimen_source_identity\n      - SNOMED:has_specimen_substance\n      - SNOMED:uses_access_device\n      - SNOMED:uses_device\n      - SNOMED:uses_energy\n      - SNOMED:uses_substance\n\n  is input of:\n    is_a: participates in\n    domain: occurrent\n    range: biological process or activity\n    inverse: has input\n    in_subset:\n      - translator_minimal\n\n  has output:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an output of the process\n    domain: biological process or activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n      opposite_of: has input\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - RO:0002353\n      - RO:0002354\n    exact_mappings:\n      - RO:0002234\n    narrow_mappings:\n      - NCIT:R31\n      - OBI:0000299\n      - PathWhiz:has_right_element\n      - RO:0002296\n      - RO:0002297\n      - RO:0002298\n      - RO:0002299\n      - RO:0002588\n      - RO:0004008\n\n  is output of:\n    is_a: participates in\n    domain: occurrent\n    range: biological process or activity\n    inverse: has output\n    in_subset:\n      - translator_minimal\n\n  has participant:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a continuant, where the continuant is somehow involved in the process\n    domain: biological process or activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - WIKIDATA_PROPERTY:P2283\n    exact_mappings:\n      - RO:0000057\n      - RO:has_participant\n    narrow_mappings:\n      - BFO:0000167\n      # Several of the following RTX terms tagged as inverse to 'biolink:participates_in'\n      - LOINC:has_subject\n      - NCIT:process_involves_gene\n      - NBO-PROPERTY:has_participant\n      - PathWhiz:has_bound\n      - PathWhiz:has_compound\n      - PathWhiz:has_element_collection\n      - PathWhiz:has_enzyme\n      - OBI:0000293\n      - PathWhiz:has_nucleic_acid\n      - PathWhiz:has_protein\n      - PathWhiz:has_reaction\n      - RO:0004007\n      - RO:0004020\n      - RO:0004021\n      - SNOMED:has_indirect_device\n      - SNOMED:has_procedure_device\n      - SNOMED:has_recipient_category\n\n  catalyzes:\n    is_a: participates in\n    domain: nucleic acid entity\n    range: molecular activity\n    annotations:\n      canonical_predicate: true\n\n  has catalyst:\n    is_a: has participant\n    inverse: catalyzes\n    domain: molecular activity\n    range: nucleic acid entity\n\n  has substrate:\n    is_a: has participant\n    domain: molecular activity\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n\n  is substrate of:\n    is_a: participates in\n    inverse: has substrate\n    domain: chemical entity or gene or gene product\n    range: molecular activity\n\n  participates in:\n    is_a: related to at instance level\n    description: >-\n      holds between a continuant and a process, where the continuant is somehow involved\n      in the process\n    range: biological process or activity\n    domain: occurrent\n    inverse: has participant\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0000056\n      - BFO:0000056\n    narrow_mappings:\n      - DRUGBANK:pathway\n      - HMDB:in_pathway\n      - LOINC:is_given_pharmaceutical_substance_for\n      - NCIT:R130\n      - NCIT:R37\n      - NCIT:R131\n      - NCIT:R51\n      - NCIT:R53\n      - OBI:0000295\n      - RO:0002216\n      - RO:0002505\n      - RO:0002565\n      - SNOMED:has_direct_device\n\n  actively involved in:\n    is_a: participates in\n    aliases: [ 'involved in' ]\n    description: >-\n      holds between a continuant and a process or function, where\n      the continuant actively contributes to part or all of\n      the process or function it realizes\n    domain: occurrent\n    range: molecular activity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002331\n      - RO:0002432\n    narrow_mappings:\n      - NBO-PROPERTY:by_means\n      - orphanet:317348\n      - orphanet:317349\n      - orphanet:327767\n      - RO:0002503\n\n  actively involves:\n    is_a: has participant\n    domain: molecular activity\n    range: occurrent\n    inverse: actively involved in\n    exact_mappings:\n      - RO:0002331\n    in_subset:\n      - translator_minimal\n\n  capable of:\n    is_a: actively involved in\n    description: >-\n      holds between a physical entity and process or function, where the\n      continuant alone has the ability to carry out the process or function.\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002215\n    narrow_mappings:\n      - NCIT:R52\n      - RO:0002500\n\n  has capability:\n    is_a: actively involves\n    inverse: capable of\n    domain: occurrent\n\n  enables:\n    is_a: participates in\n    description: >-\n      holds between a physical entity and a process, where the physical entity executes the process\n    domain: physical entity\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    in_subset:\n      - translator_minimal\n    inverse: enabled by\n    exact_mappings:\n      - RO:0002327\n\n  enabled by:\n    is_a: has participant\n    description: >-\n      holds between a process and a physical entity, where the physical entity executes the process\n    domain: biological process or activity\n    range: physical entity\n    in_subset:\n      - translator_minimal\n    inverse: enables\n    exact_mappings:\n      - RO:0002333\n    annotations:\n      opposite_of: prevented by\n\n  derives into:\n    is_a: related to at instance level\n    aliases: [ 'is normal cell origin of disease', 'may be normal cell origin of disease' ]\n    description: >-\n      holds between two distinct material entities, the old entity and\n      the new entity, in which the new entity begins to exist when\n      the old entity ceases to exist, and the new entity inherits\n      the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n    inverse: derives from\n    # TODO: fix this according to WG notes. Example of both opposite and inverse\n    # Commenting as it feels very wrong. A good example with both opposite and inverse is `has active ingredient`\n    # annotations:\n    #   opposite_of: subclass of\n    exact_mappings:\n      - RO:0001001\n      - SEMMEDDB:CONVERTS_TO\n      # RTX posted terms as inverse of 'biolink:derives_from'\n      - FMA:derives\n\n  derives from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    description: >-\n      holds between two distinct material entities, the new entity\n      and the old entity, in which the new entity begins to exist\n      when the old entity ceases to exist, and the new entity\n      inherits the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n      - samples\n    inverse: derives into\n    exact_mappings:\n      - RO:0001000\n      - FMA:derives_from\n      - DOID-PROPERTY:derives_from\n    narrow_mappings:\n      - CHEBI:has_functional_parent\n      - SNOMED:has_specimen_source_topography\n\n  is metabolite of:\n    is_a: derives from\n    description: >-\n      holds between two molecular entities in which the first one is derived\n      from the second one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    in_subset:\n      - translator_minimal\n    inverse: has metabolite\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  has metabolite:\n    is_a: derives into\n    description: >-\n      holds between two molecular entities in which the second one is derived from the first\n      one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  food component of:\n    is_a: part of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has food component\n    #mappings:\n    #  -\n\n  has food component:\n    is_a: has part\n    description: >-\n      holds between food and one or more chemical entities composing it,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  nutrient of:\n    is_a: food component of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has nutrient\n    #exact_mappings:\n    #  -\n\n  has nutrient:\n    is_a: has food component\n    description: >-\n      one or more nutrients which are growth factors for a living organism\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q181394\n\n  is active ingredient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug, in which the former\n      is a part of the latter, and is a biologically active component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has active ingredient\n    mappings:\n      - RO:0002249\n\n  has active ingredient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entity in which the latter\n      is a part of the former, and is a biologically active component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n      opposite_of: is excipient of\n    in_subset:\n      - translator_minimal\n    inverse: is active ingredient of\n    mappings:\n      - RO:0002248\n\n  is excipient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug in which the former is\n      a part of the latter, and is a biologically inactive component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has excipient\n    mappings:\n      - WIKIDATA:Q902638\n\n  has excipient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entities in which the latter\n      is a part of the former, and is a biologically inactive component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    mappings:\n      - WIKIDATA:Q902638\n\n  manifestation of:\n    is_a: related to at instance level\n    description: >-\n      that part of a phenomenon which is directly observable or\n      visibly expressed, or which gives evidence to the underlying\n      process; used in SemMedDB for linking things like dysfunctions\n      and processes to some disease or syndrome\n    range: disease\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:MANIFESTATION_OF\n      - OMIM:manifestation_of\n    broad_mappings:\n      # Wikidata's definition is slightly broader: \"inherent and characteristic embodiment of a given concept\"\n      - WIKIDATA_PROPERTY:P1557\n    narrow_mappings:\n      - SNOMED:has_definitional_manifestation\n\n  has manifestation:\n    is_a: related to at instance level\n    domain: disease\n    inverse: manifestation of\n\n  mode of inheritance of:\n    is_a: manifestation of\n    domain: genetic inheritance\n    range: disease or phenotypic feature\n    inverse: has mode of inheritance\n\n  has mode of inheritance:\n    is_a: has manifestation\n    description: >-\n      Relates a disease or phenotypic feature to its observed genetic segregation and assumed\n      associated underlying DNA manifestation (i.e. autosomal, sex or mitochondrial chromosome).\n    domain: disease or phenotypic feature\n    range: genetic inheritance\n    annotations:\n      # This canonical order reverses that of its parent 'has manifestation' class\n      # but seems a more natural direction in the pertinent edge relationships.\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  produces:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a product that is generated\n      through the intentional actions or functioning of the material entity\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - GOREL:0001010\n    exact_mappings:\n      - RO:0003000\n      - WIKIDATA_PROPERTY:P1056\n      - SEMMEDDB:PRODUCES\n    narrow_mappings:\n      - NCIT:R29\n      - SNOMED:has_process_output\n      - SNOMED:specimen_procedure_of\n\n  produced by:\n    is_a: related to at instance level\n    inverse: produces\n    exact_mappings:\n      - RO:0003001\n\n  consumes:\n    is_a: has input\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - RO:0004009\n\n  consumed by:\n    is_a: is input of\n    inverse: consumes\n\n  temporally related to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities with a temporal relationship\n    domain: occurrent\n    range: occurrent\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SNOMED:temporally_related_to\n    narrow_mappings:\n      # The These RTX mappings are temporal in nature, but not with precedes ordering, so mapped here\n      - RO:0002082\n      - RO:0002083\n      - RO:0002092\n      - RO:0002093\n      - RO:0002223\n      - RO:0002224\n      - RO:0002229\n      - RO:0002230\n      - RO:0002488\n      - RO:0002489\n      - RO:0002492\n      - RO:0002493\n      - RO:0002496\n      - RO:0002497\n\n  precedes:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where one completes before the other begins\n    domain: occurrent\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    inverse: preceded by\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # the subject of these terms is a material entity, not a process,\n      # but affects a process which causes a second process to occur\n      - RO:0002263\n      - RO:0002264\n    exact_mappings:\n      - BFO:0000063\n      - SEMMEDDB:PRECEDES\n      - SNOMED:occurs_before\n    broad_mappings:\n      # the Wikidata definition is subtly broader, focusing on a series not strictly temporal in nature\n      - WIKIDATA_PROPERTY:P156\n    narrow_mappings:\n      - FMA:transforms_into\n      - RO:0002090\n      - RO:0002411\n      - RO:0002412\n\n  preceded by:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where the other is completed before the one begins\n    domain: occurrent\n    range: occurrent\n    inverse: precedes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000062\n    broad_mappings:\n      # Contributed by RTX as inverse of 'precedes'. Seems more generic to just processes, so we tag it as 'broad'?\n      - GENEPIO:0001739\n    narrow_mappings:\n      # RTX contributed mapping was given as the inverse of 'biolink:precedes'\n      - FMA:transforms_from\n      - RO:0002087\n      - RO:0002285\n\n  has variant part:\n    is_a: has part\n    description: holds between a nucleic acid entity and a nucleic acid entity that is a sub-component of it\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000382\n\n  variant part of:\n    is_a: part of\n    inverse: has variant part\n\n  related condition:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000790\n\n  ## Predicates relating variants to genes\n\n  is sequence variant of:\n    is_a: related to at instance level\n    aliases: [ 'gene product sequence variation encoded by gene mutant', 'allelic variant of', 'gene product variant of gene product' ]\n    description: holds between a sequence variant and a nucleic acid entity\n    domain: sequence variant\n    range: nucleic acid entity\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - WIKIDATA:P3433\n\n  has sequence variant:\n    is_a: related to at instance level\n    inverse: is sequence variant of\n    domain: nucleic acid entity\n    range: sequence variant\n\n  is missense variant of:\n    is_a: is sequence variant of\n    description: holds between a gene  and a sequence variant, such the sequence variant\n      results in a different amino acid sequence but where the length is preserved.\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001583\n\n  has missense variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is missense variant of\n\n  is synonymous variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the coding sequence of the gene, but results in the same amino acid sequence\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001819\n\n  has synonymous variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is synonymous variant of\n    aliases: [ 'stop gained' ]\n\n  is nonsense variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      results in a premature stop codon\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      # Term definition broader than nonsense codon: A sequence variant whereby\n      # the gene product has diminished or abolished function.\n      - SO:0002054\n\n  has nonsense variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is nonsense variant of\n\n  is frameshift variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      causes a disruption of the translational reading frame, because the number of\n      nucleotides inserted or deleted is not a multiple of three.\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001589\n    aliases: [ 'frameshift variant', 'start lost', 'stop lost' ]\n\n  has frameshift variant:\n    is_a: has sequence variant\n    inverse: is frameshift variant of\n    domain: gene\n    range: sequence variant\n    aliases: [ 'splice region variant', 'splice acceptor variant', 'splice donor variant' ]\n\n  is splice site variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the canonical splice site of one of the gene's exons.\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001629\n\n\n  has splice site variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is splice site variant of\n    aliases: [ 'downstream gene variant', 'upstream gene variant' ]\n\n  is nearby variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene sequence that the variant\n      is genomically close to.\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n\n  has nearby variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is nearby variant of\n    aliases: [ 'intron variant', '3 prime UTR variant', '5 prime UTR variant', '5 prime UTR premature start codon gain variant', 'non coding transcript exon variant' ]\n\n  is non coding variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, where the variant does\n      not affect the coding sequence\n    domain: sequence variant\n    range: gene\n    annotations:\n      canonical_predicate: true\n\n  has non coding variant:\n    is_a: has sequence variant\n    domain: gene\n    range: sequence variant\n    inverse: is non coding variant of\n\n  # relating disease to process\n\n  disease has basis in:\n    description: A relation that holds between a disease and an entity where the state\n      of the entity has contribution to the disease.\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      # These two MONDO terms seem more particular than the predicate\n      - MONDO:disease_has_basis_in_development_of\n      - MONDO:disease_has_basis_in_accumulation_of\n\n  occurs in disease:\n    is_a: related to at instance level\n    inverse: disease has basis in\n\n\n  has adverse event:\n    is_a: affects\n    aliases: [ 'adverse effect']\n    description: >-\n      An untoward medical occurrence in a patient or clinical investigation subject that happens during treatment \n      with a therapeutic agent. Adverse events may be caused by something \n      other than the drug or therapy being given and may include abnormal laboratory finding, symptoms, or \n      diseases temporally associated with the treatment, whether or not considered related to the treatment. \n      Adverse events are unintended effects that occur when a medication is administered correctly.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n\n  adverse event of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has adverse event\n\n  has side effect:\n    aliases: [ 'adverse drug reaction']\n    is_a: affects\n    description: >-\n      An unintended, but predictable, secondary effect shown to be correlated with a therapeutic agent, drug or treatment.\n      Side effects happen at normal, recommended doses or treatments, and are unrelated to the intended purpose of \n      the medication.\n    notes: >-\n      Side effects are listed on drug labels. There can be positive side effects, while adverse events are always negative.\n      Aeolus, Sider are both resources that provide side effects.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C2861 # side effect\n\n  is side effect of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has side effect\n\n  contraindicated for:\n    is_a: related to at instance level\n    description: Holds between a drug and a disease or phenotype, such that a person\n      with that disease should not be treated with the drug.\n    domain: drug\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: treats\n    exact_mappings:\n      - NCIT:C37933\n\n  has contraindication:\n    is_a: related to at instance level\n    domain: disease or phenotypic feature\n    range: drug\n    inverse: contraindicated for\n\n  # The remaining new slots are here because we ran across them somewhere and\n  # they didn't seem to map well to anything else.\n\n  has not completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of,\n      but has not completed\n    exact_mappings:\n      - CL:has_not_completed\n    annotations:\n      opposite_of: has completed\n      canonical_predicate: true\n\n  not completed by:\n    is_a: related to at instance level\n    inverse: has not completed\n\n  has completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of\n      and has completed\n    annotations:\n      canonical_predicate: true\n      opposite_of: has not completed\n    exact_mappings:\n      - CL:has_completed\n\n  completed by:\n    is_a: related to at instance level\n    inverse: has completed\n\n\n  in linkage disequilibrium with:\n    is_a: related to at instance level\n    description: holds between two sequence variants, the presence of which are correlated\n      in a population\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C16798\n\n  has increased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has decreased amount\n    narrow_mappings:\n      - CL:has_high_plasma_membrane_amount\n\n  increased amount of:\n    is_a: related to at instance level\n    inverse: has increased amount\n\n  has decreased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has increased amount\n    narrow_mappings:\n      - CL:has_low_plasma_membrane_amount\n\n  decreased amount in:\n    is_a: related to at instance level\n    inverse: has decreased amount\n\n  lacks part:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has part\n    exact_mappings:\n      - CL:lacks_part\n      - PR:lacks_part\n    narrow_mappings:\n      - CL:lacks_plasma_membrane_part\n\n  missing from:\n    is_a: related to at instance level\n    inverse: lacks part\n\n  develops from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # RTX mapping seems to be inverse of 'biolink:develops_from'\n      - RO:0002203\n      - FMA:develops_into\n    exact_mappings:\n      - BTO:develops_from\n      - DDANAT:develops_from\n      - FMA:develops_from\n      - RO:0002202\n    narrow_mappings:\n      - RO:0002207\n      - RO:0002225 # x develops from part of y if and only if there exists some z such that x develops from z and z is part of y\n      - RO:0002226 # x develops_in y if x is located in y whilst x is developing\n\n  develops into:\n    is_a: related to at instance level\n    inverse: develops from\n\n  in taxon:\n    aliases: [ 'instance of', 'is organism source of gene product', 'organism has gene', 'gene found in organism', 'gene product has organism source' ]\n    is_a: related to at instance level\n    domain: thing with taxon\n    range: organism taxon\n    annotations:\n      canonical_predicate: true\n    description: >-\n      connects an entity to its taxonomic classification. Only certain kinds\n      of entities can be taxonomically classified; see 'thing with taxon'\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002162\n      - WIKIDATA_PROPERTY:P703\n    narrow_mappings:\n      - RO:0002160\n\n  taxon of:\n    is_a: related to at instance level\n    inverse: in taxon\n    domain: organism taxon\n    range: thing with taxon\n\n  has molecular consequence:\n    is_a: related to at instance level\n    aliases: [ 'allele has activity' ]\n    description: >-\n      connects a sequence variant to a class describing the molecular\n      consequence. E.g.  SO:0001583\n    range: ontology class\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - NCIT:allele_has_activity\n\n  is molecular consequence of:\n    is_a: related to at instance level\n    domain: ontology class\n    inverse: has molecular consequence\n\n  ## --------------------\n  ## ASSOCIATION SLOTS\n  ## --------------------\n\n  association slot:\n    abstract: true\n    domain: association\n    aliases: [ 'edge property', 'statement property', 'node qualifier', 'edge qualifier', 'statement qualifier' ]\n    description: >-\n      any slot that relates an association to another entity\n\n  original subject:\n    is_a: association slot\n    description: >-\n      used to hold the original subject of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original object:\n    is_a: association slot\n    description: >-\n      used to hold the original object of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original predicate:\n    aliases: [ 'original relation', 'relation' ]\n    is_a: association slot\n    description: >-\n      used to hold the original relation/predicate that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n    id_prefixes:\n      - RO\n      - BSPO\n      - SIO\n    domain: association\n    range: uriorcurie\n\n  subject:\n    is_a: association slot\n    local_names:\n      ga4gh: annotation subject\n      neo4j: node with outgoing relationship\n    description: >-\n      connects an association to the subject of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    range: named thing\n    slot_uri: rdf:subject\n    exact_mappings:\n      - owl:annotatedSource\n      - OBAN:association_has_subject\n\n  object:\n    is_a: association slot\n    description: >-\n      connects an association to the object of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    range: named thing\n    local_names:\n      ga4gh: descriptor\n      neo4j: node with incoming relationship\n    slot_uri: rdf:object\n    exact_mappings:\n      - owl:annotatedTarget\n      - OBAN:association_has_object\n\n  predicate:\n    is_a: association slot\n    description: >-\n      A high-level grouping for the relationship type. AKA minimal predicate.\n      This is analogous to category for nodes.\n    domain: association\n    notes: >-\n      Has a value from the Biolink related_to hierarchy. In RDF,  this\n      corresponds to rdf:predicate and in Neo4j this corresponds to the\n      relationship type. The convention is for an edge label in snake_case\n      form. For example, biolink:related_to, biolink:causes, biolink:treats\n    range: predicate type\n    required: true\n    local_names:\n      ga4gh: annotation predicate\n      translator: predicate\n    slot_uri: rdf:predicate\n    exact_mappings:\n      - owl:annotatedProperty\n      - OBAN:association_has_predicate\n\n  logical interpretation:\n    is_a: association slot\n    required: false\n    domain: association\n    range: LogicalInterpretationEnum\n    exact_mappings:\n      - os:LogicalInterpretation\n\n  relation:\n    deprecated: true\n\n  negated:\n    is_a: association slot\n    range: boolean\n    description: >-\n      if set to true, then the association is negated i.e. is not true\n\n  has confidence level:\n    is_a: association slot\n    range: confidence level\n    description: >-\n      connects an association to a qualitative term denoting the level of confidence\n\n  has evidence:\n    is_a: association slot\n    range: evidence type\n    description: >-\n      connects an association to an instance of supporting evidence\n    exact_mappings:\n      - RO:0002558\n    multivalued: true\n\n  has supporting study result:\n    is_a: association slot\n    description: >-\n      connects an association to an instance of supporting study result\n    \n  mechanism of action:\n    is_a: association slot\n    range: boolean\n    description: >-\n      a boolean flag to indicate if the edge is part of a path or subgraph of a knowledge graph that constitutes\n      the mechanism of action for a result.\n    exact_mappings:\n      - NCIT:C54680\n      - MI:2044\n      - LOINC:MTHU019741\n\n  knowledge source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which the knowledge expressed in an Association was\n      retrieved, directly or indirectly. This can be any resource through which the\n      knowledge passed on its way to its currently serialized form. In practice,\n      implementers should use one of the more specific subtypes of this generic property.\n    range: information resource\n    close_mappings:\n      - pav:providedBy\n\n  provided by:\n    is_a: node property\n    description: >-\n      The value in this node property represents the knowledge provider that created or assembled the\n      node and all of its attributes.  Used internally to represent how a particular node made its way into a\n      knowledge provider or graph.\n    multivalued: true\n\n  primary knowledge source:\n    is_a: knowledge source\n    description: >-\n      The most upstream source of the knowledge expressed in an Association that an\n      implementer can identify.  Performing a rigorous analysis of upstream data providers is expected; every effort\n      is made to catalog the most upstream source of data in this property.  Only one data source should be declared\n      primary in any association.  \"aggregator knowledge source\" can be used to caputre non-primary sources.\n    range: information resource\n    notes: >-\n      For example: a single ChemicalToGene Edge originally curated by ClinicalTrials.org, is aggregated by ChEMBL, then \n      incorporated into the MolePro KP, then sent via TRAPI message to the ARAGORN ARA, and finally sent to \n      the NCATS ARS. The retrieval path for this Edge is as follows: \n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   MolePro  --retrieved_from--> ChEMBL --retrieved_from-->  ClinicalTrials.gov\n      The \"primary knowledge source\" for this edge is \"infores:clinical-trials-gov\".  \"infores:chembl\" and \"infores:molecular_data_provider\"\n      are listed in the \"aggregator knowledge source\" property.\n    multivalued: false\n\n  aggregator knowledge source:\n    is_a: knowledge source\n    description: >-\n      An intermediate aggregator resource from which knowledge expressed in an Association was\n      retrieved downstream of the original source, on its path to its current serialized form.\n    range: information resource\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP, \n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse, \n      the Edge is passed to the Ranking Agent’s ARAGORN ARA, \n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of \n      data from which the knowledge was derived.   \n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which data was retrieved and subsequently used as\n      evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    range: information resource\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP, \n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse, \n      the Edge is passed to the Ranking Agent’s ARAGORN ARA, \n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of \n      data from which the knowledge was derived.   \n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data set:\n    is_a: association slot\n    description: >-\n      A set of data used as evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    range: information resource\n    multivalued: true\n\n  chi squared statistic:\n    is_a: association slot\n    range: float\n    description: >-\n      represents the chi-squared statistic computed from observations\n    exact_mappings:\n      - STATO:0000030\n\n  p value:\n    aliases: ['unadjusted p value']\n    is_a: association slot\n    range: float\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    exact_mappings:\n      - OBI:0000175\n      - NCIT:C44185\n      - EDAM-DATA:1669\n\n  evidence count:\n    is_a: association slot\n    description: >-\n      The number of evidence instances that are connected to an association.\n    range: integer\n\n  concept count subject:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the subject slot of an association.\n    range: integer\n    examples:\n      - value: 489\n\n  concept count object:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the object slot of an association.\n    range: integer\n\n  concept pair count:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      both the subject and object concept of an association.\n    range: integer\n    examples:\n      - value: 1731\n\n  expected count:\n    is_a: association slot\n    description: >-\n      The expected (calculated) number of instances in a dataset/cohort whose records contain both the subject and \n      object concept of an association if the subject and object concepts are independent.\n\n  relative frequency subject:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in \n      records within a dataset/cohort, relative to the frequency at which the subject\n      concept appears in these same records.\n    range: float\n    examples:\n      - value: 0.01840490798\n\n  relative frequency object:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in \n      records within a dataset/cohort, relative to the frequency at which the object\n      concept appears in these same records.\n    range: string\n\n  relative frequency subject confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_subject calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  relative frequency object confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_object calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  adjusted p value:\n    is_a: p value\n    description: >-\n      The adjusted p-value is the probability of obtaining test results\n      at least as extreme as the results actually observed, under the assumption that\n      the null hypothesis is correct, adjusted for multiple comparisons.  \n      P is always italicized and capitalized. The actual P value* should be expressed (P=. 04) \n      rather than expressing a statement of inequality (P<. 05), unless P<.\n    range: float\n\n  bonferonni adjusted p value:\n    is_a: adjusted p value\n    description: >-\n      The Bonferroni correction is an adjustment made to P values when several dependent or independent \n      statistical tests are being performed simultaneously on a single data set. To perform a Bonferroni \n      correction, divide the critical P value (α) by the number of comparisons being made.  P is always italicized and \n      capitalized. The actual P value* should be expressed (P=. 04) rather than expressing a statement of inequality \n      (P<. 05), unless P<.\n    range: float\n    examples:\n      - value: 0.018\n\n  supporting text:\n    is_a: association slot\n    description: The segment of text from a document that supports the mined assertion.\n    multivalued: true\n    range: string\n    examples:\n      - value: The administration of 50g/ml bupivacaine promoted maximum breast cancer.\n\n  supporting documents:\n    is_a: association slot\n    description: >-\n      One or more referencable documents that report the statement expressed in an Association, or provide \n      information used as evidence supporting this statement.\n    range: uriorcurie\n    multivalued: true\n    examples:\n      - value: PMID:12345678\n\n  subject location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the subject concept of the extracted assertion.\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  object location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the object concept of the extracted assertion\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  extraction confidence score:\n    is_a: association slot\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    range: integer\n    examples:\n        - value: 15\n\n  supporting document type:\n    is_a: association slot\n    description: >-\n      The document type (e.g., Journal Article, Case Study, Preprint) for\n      the supporting document used in a Text Mining Result.\n    range: string\n    examples:\n      - value: Journal Article\n\n  supporting document year:\n    is_a: association slot\n    description: >-\n      The document year (typically the publication year) for the supporting\n      document used in a Text Mining Result.\n    range: integer\n    examples:\n      - value: 1999\n\n  supporting text section type:\n    is_a: association slot\n    description: >-\n      The section of the supporting text of a Text Mining Result within\n      the supporting document. This is in the form of the name of the document section\n      (e.g., Abstract, Introduction) that contains the supporting text.\n    range: string\n    examples:\n      - value: Introduction\n\n  ln ratio:\n    is_a: association slot\n    description: the natural log of the ratio of co-occurrence to expected\n    range: float\n    examples:\n      - value: 2.922827136\n\n  ln ratio confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the ln_ratio calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: float\n    examples:\n      - value: 2.922827136\n\n  interacting molecules category:\n    is_a: association slot\n    range: ontology class\n    exact_mappings:\n      - MI:1046\n    values_from:\n      - MI\n    examples:\n      - value: MI:1048\n        description: smallmolecule-protein\n\n  expression site:\n    description: >-\n      location in which gene or protein expression takes place.\n      May be cell, tissue, or organ.\n    is_a: association slot\n    range: anatomical entity\n    examples:\n      - value: UBERON:0002037\n        description: cerebellum\n\n  phenotypic state:\n    description: >-\n      in experiments (e.g. gene expression) assaying diseased or unhealthy\n      tissue, the phenotypic state can be put here, e.g. MONDO ID.\n      For healthy tissues, use XXX.\n    is_a: association slot\n    range: disease or phenotypic feature\n\n  publications:\n    aliases: [\"supporting publications\"]\n    singular_name: publication\n    description: >-\n      One or more publications that report the statement expressed in an Association, or provide information used as \n      evidence supporting this statement.\n    is_a: supporting documents\n    multivalued: true\n    range: publication\n\n  associated environmental context:\n    is_a: association slot\n    description: >-\n      An attribute that can be applied to an association where the association holds between two entities\n      located or occurring in a particular environment. For example, two microbial taxa may interact in the context of\n      a human gut; a disease may give rise to a particular phenotype in a particular environmental exposure.\n      # TODO: add examples of values for this property.\n\n  sequence localization attribute:\n    is_a: association slot\n    domain: genomic sequence localization\n    description: >-\n      An attribute that can be applied to a genome sequence localization edge. These edges\n      connect a nucleic acid entity such as an exon to an entity such as a chromosome. Edge properties are used\n      to ascribe specific positional information and other metadata to the localization. In pragmatic terms\n      this can be thought of as columns in a GFF3 line.\n\n  interbase coordinate:\n    is_a: sequence localization attribute\n    aliases: [ 'zero-based', 'half-open', 'space-based' ]\n    description: >-\n      A position in interbase coordinates. Interbase coordinates start at position 0 instead of position 1.\n      This is applied to a sequence localization edge.\n    range: integer\n\n  start interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 0).\n    close_mappings:\n      - faldo:begin\n    annotations:\n      opposite_of: end interbase coordinate\n\n  end interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity ends\n      on the chromosome or other entity to which it is located on.\n    close_mappings:\n      - faldo:end\n    annotations:\n      opposite_of: start interbase coordinate\n\n  start coordinate:\n    is_a: base coordinate\n    aliases: [ 'start' ]\n    description: >-\n      The position at which the subject genomic entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 1).\n    exact_mappings:\n      - gff3:start\n    close_mappings:\n      - faldo:begin\n\n  end coordinate:\n    is_a: base coordinate\n    aliases: [ 'end' ]\n    description: >-\n      The position at which the subject genomic entity ends\n      on the chromosome or other entity to which it is located on.\n    exact_mappings:\n      - gff3:end\n    close_mappings:\n      - faldo:end\n\n  genome build:\n    is_a: sequence localization attribute\n    description: >-\n      The version of the genome on which a feature is located.\n      For example, GRCh38 for Homo sapiens.\n    range: StrandEnum\n    exact_mappings:\n      - gff3:strand\n\n  strand:\n    is_a: sequence localization attribute\n    description: >-\n      The strand on which a feature is located. Has a value of '+'\n      (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).\n    range: StrandEnum\n    exact_mappings:\n      - gff3:strand\n\n  phase:\n    is_a: sequence localization attribute\n    domain: coding sequence\n    description: >-\n      The phase for a coding sequence entity. For example, phase of a\n      CDS as represented in a GFF3 with a value of 0, 1 or 2.\n    range: PhaseEnum\n    exact_mappings:\n      - gff3:phase\n\n  FDA approval status:\n    is_a: association slot\n    description: >-\n    range: FDAApprovalStatusEnum\n\n  supporting study metadata:\n    is_a: association slot\n    description: >-\n      Information about a study used to generate information used as evidence to support the knowledge expressed in an \n      Association. In practice, data creators should use one of the more specific subtypes of this property.\n    abstract: true\n\n  supporting study method type:\n    is_a: supporting study metadata\n    description: >-\n      A type of method that was applied in a study used to generate the information used as evidence (e.g. a type of \n      experimental assay, or statistical calculation, or computational analysis).\n    range: uriorcurie\n\n  supporting study method description:\n    is_a: supporting study metadata\n    description: >-\n      A uri or curie pointing to information about the methodology used to generate data supporting an Association.\n    range: uriorcurie\n\n  supporting study size:\n    is_a: supporting study metadata\n    description: >-\n      The sample size used in a study that provided evidence for the association (e.g. 'n' of a cohort for a \n      clinical study).\n    range: integer\n\n  supporting study cohort:\n    is_a: supporting study metadata\n    description: >-\n      A description of a study population/cohort that was interrogated to provide evidence for the association \n      (e.g. the inclusion and exclusion criteria).\n    range: string\n\n  supporting study date range:\n    is_a: supporting study metadata\n    description: >-\n      The date range over which data was collected in a study that provided evidence for an Association.\n    range: string\n\n  supporting study context:\n    is_a: supporting study metadata\n    description: >-\n      A term or terms describing the experimental setting/context in which evidence supporting the Association was \n      generated ('context' may be defined by many factors, including taxon, model system (e.g. cell line type), tissue \n      type, disease, etc.).\n    range: string\nclasses:\n\n  mapping collection:\n    description: >-\n      A collection of deprecated mappings.\n    abstract: true\n    slots:\n      - predicate mappings\n    tree_root: true\n\n  predicate mapping:\n    description: >-\n      A deprecated predicate mapping object contains the deprecated predicate and an example of the rewiring that should\n      be done to use a qualified statement in its place.\n    slots:\n      - mapped predicate\n      - subject aspect qualifier\n      - subject direction qualifier\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - predicate\n      - qualified predicate\n      - object aspect qualifier\n      - object direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object derivative qualifier\n      - object context qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - species context qualifier\n      - exact match\n      - narrow match\n      - broad match\n\n\n  ## ----------\n  ## ATTRIBUTES\n  ## ----------\n\n  ## Ontology Classes\n\n  ontology class:\n    mixin: true\n    slots:\n      - id\n    description: >-\n      a concept or class in an ontology, vocabulary or thesaurus. Note that nodes in\n      a biolink compatible KG can be considered both instances of biolink classes, and\n      OWL classes in their own right. In general you should not need to use this class directly.\n      Instead, use the appropriate biolink class. For example, for the GO concept of endocytosis (GO:0006897),\n      use bl:BiologicalProcess as the type.\n    exact_mappings:\n      - owl:Class\n      - schema:Class\n    comments:\n      - >-\n        This is modeled as a mixin. 'ontology class' should not be the primary type of a\n        node in the KG. Instead you should use an informative bioloink category, such as AnatomicalEntity\n        (for Uberon classes), ChemicalSubstance (for CHEBI or CHEMBL), etc\n      - >-\n        Note that formally this is a metaclass. Instances of this class are instances in the graph,\n        but can be the object of 'type' edges. For example, if we had a node in the graph representing\n        a specific brain of a specific patient (e.g brain001), this could have a category of bl:Sample,\n        and by typed more specifically with an ontology class UBERON:nnn, which has as category bl:AnatomicalEntity\n    see_also:\n      - https://github.com/biolink/biolink-model/issues/486\n    examples:\n      - value: UBERON:0000955\n        description: >-\n          the class 'brain' from the Uberon anatomy ontology\n    id_prefixes:\n      - MESH\n      - UMLS\n      - KEGG.BRITE ## br/ko number\n  \n  annotation:\n    description: >-\n      Biolink Model root class for entity annotations.\n    abstract: true\n\n  quantity value:\n    is_a: annotation\n    description: >-\n      A value of an attribute that is quantitative and measurable,\n      expressed as a combination of a unit and a numeric value\n    slots:\n      - has unit\n      - has numeric value\n\n  # Alignment attempted of the biolink:Attribute model\n  # to the proposed TRAPI Release 1.1 Attribute schema, i.e.\n  #\n  # attribute_name: \"assertionAuthoredBy\",\n  # attribute_type: SEPIO:0000130,\n  # value: \"ORCID:12345\",\n  # value_type: \"wd:Q51044\",\n  # value_type_name: \"ORCID ID\"\n  # url: https://orcid.org/12345\n  # source: ORCID\n\n  attribute:\n    is_a: named thing\n    mixins:\n      - ontology class\n    description: >-\n      A property or characteristic of an entity.\n      For example, an apple may have properties such as color, shape, age, crispiness.\n      An environmental sample may have attributes such as depth, lat, long, material.\n    slots:\n      - name                   # 'attribute_name'\n      - has attribute type     # 'attribute_type'\n      # 'value', 'value_type', 'value_type_name'\n      # extracted from either of the next two slots\n      - has quantitative value\n      - has qualitative value\n      - iri                    # 'url'\n    slot_usage:\n      name:\n        description: >-\n          The human-readable 'attribute name' can be set to a string which reflects its context of\n          interpretation, e.g. SEPIO evidence/provenance/confidence annotation or it can default\n          to the name associated with the 'has attribute type' slot ontology term.\n    id_prefixes:\n      - EDAM-DATA\n      - EDAM-FORMAT\n      - EDAM-OPERATION\n      - EDAM-TOPIC\n    exact_mappings:\n      - SIO:000614\n    in_subset:\n      - samples\n\n  chemical role:\n    is_a: attribute\n    description: >-\n      \tA role played by the molecular entity or part thereof within a chemical context.\n    id_prefixes:\n      - CHEBI\n    exact_mappings:\n      - CHEBI:51086\n    examples:\n      - value: CHEBI:35469 # antidepressant role\n\n  biological sex:\n    is_a: attribute\n    exact_mappings:\n      - PATO:0000047\n\n  phenotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the phenotypic sex of the individual,\n      based upon the reproductive organs present.\n    exact_mappings:\n      - PATO:0001894\n\n  genotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the genotypic sex of the individual,\n      based upon genotypic composition of sex chromosomes.\n    exact_mappings:\n      - PATO:0020000\n\n  severity value:\n    is_a: attribute\n    description: >-\n      describes the severity of a phenotypic feature or disease\n\n  relationship quantifier:\n    mixin: true\n\n  sensitivity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  specificity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  pathognomonicity quantifier:\n    is_a: specificity quantifier\n    description: >-\n      A relationship quantifier between a variant or symptom and a disease, which is\n      high when the presence of the feature implies the existence of the disease\n    mixin: true\n\n  frequency quantifier:\n    is_a: relationship quantifier\n    mixin: true\n    slots:\n      - has count\n      - has total\n      - has quotient\n      - has percentage\n\n  chemical or drug or treatment:\n    mixin: true\n\n  ## ------\n  ## THINGS\n  ## ------\n\n  entity:\n    description: >-\n      Root Biolink Model class for all things and informational relationships, real or imagined.\n    abstract: true\n    slots:\n      - id\n      - iri\n      - category\n      - type   # rdf:type\n      - name\n      - description\n      - has attribute\n      # evidence code(s)?\n\n  named thing:\n    is_a: entity\n    description: \"a databased entity or concept/class\"\n    slots:\n      - provided by\n      - xref\n    slot_usage:\n      category:\n        required: true\n        pattern: '^biolink:\\d+$'\n    exact_mappings:\n      - BFO:0000001\n      - WIKIDATA:Q35120\n      # UMLS Semantic Group \"Objects\"\n      - UMLSSG:OBJC\n      # Entity\n      - STY:T071\n      - dcid:Thing\n\n  relationship type:\n    is_a: ontology class\n    description: >-\n      An OWL property used as an edge label\n\n  taxonomic rank:\n    description: >-\n      A descriptor for the rank within a taxonomic classification.\n      Example instance: TAXRANK:0000017 (kingdom)\n    is_a: ontology class\n    id_prefixes:\n      - TAXRANK\n    mappings:\n      - WIKIDATA:Q427626\n\n  organism taxon:\n    aliases: [ 'taxon', 'taxonomic classification' ]\n    description: >-\n      A classification of a set of organisms. Example instances:\n      NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria).\n      Can also be used to represent strains or subspecies.\n    is_a: named thing\n    slot_usage:\n      has taxonomic rank:\n        range: taxonomic rank\n        multivalued: false\n        mappings:\n          - WIKIDATA:P105\n    values_from:\n      - NCBITaxon\n    exact_mappings:\n      - WIKIDATA:Q16521\n      - STY:T001\n      - bioschemas:Taxon\n    narrow_mappings:\n      - dcid:BiologicalSpecies\n    id_prefixes:\n      - NCBITaxon\n      - MESH\n      - UMLS\n    in_subset:\n      - model_organism_database\n  \n  ## Temporal Entities\n  \n  event:\n    is_a: named thing\n    description: >-\n      Something that happens at a given place and time.\n    exact_mappings:\n      - NCIT:C25499\n      # UMLS \"Event\"\n      - STY:T051\n\n  ## Administrative Entities\n\n  administrative entity:\n    is_a: named thing\n    abstract: true\n\n  study result:\n    abstract: true\n    description: >- \n      A collection of data items from a study that are about a particular study subject or experimental unit (the \n      'focus' of the Result) - optionally with context/provenance metadata that may be relevant to the interpretation\n      of this data as evidence.\n    notes:\n      The data/metadata included in a Study Result object are typically a subset of data from a larger study data set, \n      that are selected by a curator because they may be useful as evidence for deriving knowledge about a specific \n      focus of the study. The notion of a 'study' here is defined broadly to include any research activity at any \n      scale that is aimed at generating knowledge or hypotheses. This may include a single assay or computational \n      analyses, or a larger scale clinical trial or experimental research investigation.\n    is_a: information content entity\n\n  study:\n    description: a detailed investigation and/or analysis\n    is_a: information content entity\n    exact_mappings:\n      - NCIT:C63536\n    close_mappings:\n      - SIO:001066\n      - SEPIO:0000004\n    narrow_mappings:\n      - SIO:000994\n\n  study variable:\n    is_a: information content entity\n    description: a variable that is used as a measure in the investigation of a study\n    narrow_mappings:\n      - NCIT:C142192 # specifies clinical study\n    close_mappings:\n      - STATO:0000258\n      - SIO:000367\n\n  common data element:\n    is_a: information content entity\n    description: >- \n      A Common Data Element (CDE) is a standardized, precisely defined question, paired with a set of allowable \n      responses, used systematically across different sites, studies, or clinical trials to ensure consistent \n      data collection. Multiple CDEs (from one or more Collections) can be curated into Forms. \n      (https://cde.nlm.nih.gov/home)\n    close_mappings:\n      - NCIT:C19984\n\n  ## epc result sets\n  concept count analysis result:\n    is_a: study result\n    description: >-\n      A result of a concept count analysis.\n\n  observed expected frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a observed expected frequency analysis.\n\n  relative frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a relative frequency analysis.\n\n  text mining result:\n    is_a: study result\n    description: >-\n      A result of text mining.\n\n  chi squared analysis result:\n    is_a: study result\n    description: >-\n      A result of a chi squared analysis.\n\n  agent:\n    is_a: administrative entity\n    aliases: [ 'group' ]\n    description: >-\n      person, group, organization or project that provides\n      a piece of information (i.e. a knowledge association)\n    slots:\n      - affiliation\n      - address\n    exact_mappings:\n      - prov:Agent\n      - dct:Agent\n    narrow_mappings:\n      # Organization\n      - UMLSSG:ORGA\n      - STY:T092\n      # Health Care Related Organization\n      - STY:T093\n      # Professional Society\n      - STY:T094\n      # Self-help or Relief Organization\n      - STY:T095\n      # Group\n      - STY:T096\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Different classes of agents have distinct preferred identifiers.\n          For publishers, use the ISBN publisher code.\n          See https://grp.isbn-international.org/ for publisher code lookups.\n          For editors, authors and  individual providers, use the individual's\n          ORCID if available; Otherwise, a ScopusID, ResearchID or\n          Google Scholar ID ('GSID') may be used if the author ORCID is unknown.\n          Institutional agents could be identified by an\n          International Standard Name Identifier ('ISNI') code.\n        values_from:\n          # CURIE space for publishers\n          - isbn\n          # CURIE space for authors\n          - ORCID\n          - ScopusID\n          - ResearchID\n          - GSID\n          # Institutional agents\n          - isni\n      name:\n        description: >-\n          it is recommended that an author's 'name' property\n          be formatted as \"surname, firstname initial.\"\n    id_prefixes:\n      - isbn\n      - ORCID\n      - ScopusID\n      - ResearchID\n      - GSID\n      - isni\n\n  ## General Information Entities\n\n  information content entity:\n    aliases: [ 'information', 'information artefact', 'information entity' ]\n    abstract: true\n    is_a: named thing\n    description: >-\n      a piece of information that typically describes\n      some topic of discourse or is used as support.\n    slots:\n      - license\n      - rights\n      - format\n      - creation date\n    id_prefixes:\n      - doi\n    exact_mappings:\n      - IAO:0000030\n    narrow_mappings:\n      # UMLS Semantic Group \"Concepts & Ideas\"\n      - UMLSSG:CONC\n      # Conceptual Entity\n      - STY:T077\n      # Idea or Concept\n      - STY:T078\n      # Temporal Concept\n      - STY:T079\n      # Qualitative Concept\n      - STY:T080\n      # Quantitative Concept\n      - STY:T081\n      # Spatial Concept\n      - STY:T082\n      # Regulation or Law\n      - STY:T089\n      # Group Attribute\n      - STY:T102\n      # Functional Concept\n      - STY:T169\n      # Language\n      - STY:T171\n      # Classification\n      - STY:T185\n\n  dataset:\n    description: >-\n      an item that refers to a collection of data from a data source.\n    is_a: information content entity\n    exact_mappings:\n      - IAO:0000100\n      - dctypes:Dataset\n      - schema:dataset\n      - dcid:Dataset\n\n  dataset distribution:\n    is_a: information content entity\n    description: >-\n      an item that holds distribution level information about a dataset.\n    slots:\n      - distribution download url\n    exact_mappings:\n      - dcat:Distribution\n\n  dataset version:\n    description: >-\n      an item that holds version level information about a dataset.\n    is_a: information content entity\n    slots:\n      - has dataset\n      - ingest date\n      - has distribution\n\n  dataset summary:\n    description: >-\n      an item that holds summary level information about a dataset.\n    is_a: information content entity\n    slots:\n      - source web page\n      - source logo\n\n  confidence level:\n    is_a: information content entity\n    description: >-\n      Level of confidence in a statement\n    values_from:\n      - cio\n    exact_mappings:\n      - CIO:0000028\n      # statement confidence\n      - SEPIO:0000187\n    close_mappings:\n      # assertion confidence levels\n      - SEPIO:0000167\n\n  evidence type:\n    is_a: information content entity\n    aliases: [ 'evidence code' ]\n    description: >-\n      Class of evidence that supports an association\n    values_from:\n      - eco\n    exact_mappings:\n      - ECO:0000000\n\n  information resource:\n    is_a: information content entity\n    aliases: [ 'knowledgebase' ]\n    description: >-\n      A database or knowledgebase and its supporting ecosystem of interfaces \n      and services that deliver content to consumers (e.g. web portals, APIs, \n      query endpoints, streaming services, data downloads, etc.).\n      A single Information Resource by this definition may span many different datasets or\n      databases, and include many access endpoints and user\n      interfaces. Information Resources include project-specific resources\n      such as a Translator Knowledge Provider, and community knowledgebases like ChemBL, OMIM, or DGIdb.\n    in_subset:\n      - translator_minimal\n\n\n  ## Publications\n\n  # TODO: to review additional ontology relating to Publications, such as http://www.sparontologies.net/ontologies\n  publication:\n    is_a: information content entity\n    description: >-\n      Any published piece of information. Can refer to a whole publication,\n      its encompassing publication (i.e. journal or book) or to a part of a\n      publication, if of significant knowledge scope (e.g. a figure, figure\n      legend, or section highlighted by NLP). The scope is intended to be\n      general and include information published on the web, as well as printed\n      materials, either directly or in one of the Publication Biolink\n      category subclasses.\n    slots:\n      - authors\n      - pages\n      - summary\n      - keywords\n      - mesh terms\n      - xref\n    # In addition to embedded slots, instances of 'contributor association'\n    # may be used to more extensively document publisher, editor and author details\n    slot_usage:\n      id:\n        description: >-\n          Different kinds of publication subtypes will have different preferred\n          identifiers (curies when feasible). Precedence of identifiers for\n          scientific articles is as follows: PMID if available; DOI if not; actual\n          alternate CURIE otherwise. Enclosing publications (i.e. referenced by\n          'published in' node property) such as books and journals, should have\n          industry-standard identifier such as from ISBN and ISSN.\n      name:\n        description: >-\n          the 'title' of the publication is generally recorded in the 'name'\n          property (inherited from NamedThing). The field name 'title' is now also\n          tagged as an acceptable alias for the node property 'name' (just in case).\n      type:\n        slot_uri: dct:type\n        required: true\n        description: >-\n          Ontology term for publication type may be drawn from\n          Dublin Core types (https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/),\n          FRBR-aligned Bibliographic Ontology (https://sparontologies.github.io/fabio/current/fabio.html),\n          the MESH publication types (https://www.nlm.nih.gov/mesh/pubtypes.html),\n          the Confederation of Open Access Repositories (COAR) Controlled Vocabulary for Resource Type Genres\n          (http://vocabularies.coar-repositories.org/documentation/resource_types/),\n          Wikidata (https://www.wikidata.org/wiki/Wikidata:Publication_types), or\n          equivalent publication type ontology. When a given publication type ontology term\n          is used within a given knowledge graph, then the CURIE identified term must be\n          documented in the graph as a concept node of biolink:category biolink:OntologyClass.\n        values_from: # Not sure which takes precedence, if any...\n          - dctypes\n          - fabio\n          - MESH_PUB\n          - COAR_RESOURCE\n          - WIKIDATA\n      pages:\n        multivalued: true\n        description: >-\n          When a 2-tuple of page numbers are provided, they represent\n          the start and end page of the publication within its parent publication context.\n          For books, this may be set to the total number of pages of the book.\n    exact_mappings:\n      - IAO:0000311\n    narrow_mappings:\n      - IAO:0000013\n      # UMLS Semantic Type \"Intellectual Product\"\n      - STY:T170\n    id_prefixes:\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book:\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Books should have industry-standard identifier such as from ISBN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'book'.\n    id_prefixes:\n      - isbn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book chapter:\n    is_a: publication\n    slots:\n      - published in\n      - volume\n      - chapter\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent book containing the chapter\n          should have industry-standard identifier from ISBN.\n    in_subset:\n      - model_organism_database\n\n  serial:\n    aliases: [ 'journal' ]\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slots:\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Serials (journals) should have industry-standard identifier such as from ISSN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'serial' or 'journal'.\n    id_prefixes:\n      - issn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  article:\n    is_a: publication\n    slots:\n      - published in\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent serial containing the article should\n          have industry-standard identifier from ISSN.\n      iso abbreviation:\n        description: >-\n          Optional value, if used locally as a convenience, is set\n          to the iso abbreviation of the 'published in' parent.\n    id_prefixes:\n      # By inheritance, a DOI may be used as a publication identifier; there may be other relevant namespaces\n      - PMID\n    in_subset:\n      - model_organism_database\n\n  ## Top Level Abstractions of Material & Process Entities\n\n  physical essence or occurrent:\n    description: >-\n      Either a physical or processual entity.\n    mixin: true\n\n\n  physical essence:\n    description: >-\n      Semantic mixin concept.  Pertains to entities that have\n      physical properties such as mass, volume, or charge.\n    is_a: physical essence or occurrent\n    mixin: true\n\n  physical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n    description: >-\n      An entity that has material reality (a.k.a. physical essence).\n    exact_mappings:\n      # Physical Object\n      - STY:T072\n    narrow_mappings:\n      # Manufactured Object\n      - STY:T073\n\n  occurrent:\n    description: >-\n      A processual entity.\n    # biolink:Occurrent is most consistently used as a mixin thus it should\n    # be declared as such and cannot inherit from the non-mixin biolink:NamedThing\n    is_a: physical essence or occurrent\n    mixin: true\n    exact_mappings:\n      - BFO:0000003\n\n  activity and behavior:\n    is_a: occurrent\n    mixin: true\n    description: >-\n      Activity or behavior of any independent integral living,\n      organization or mechanical actor in the world\n    exact_mappings:\n      # Activities & Behaviors\n      - UMLSSG:ACTI\n\n  activity:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      An activity is something that occurs over a period of time and acts upon\n      or with entities; it may include consuming, processing, transforming,\n      modifying, relocating, using, or generating entities.\n    exact_mappings:\n      - prov:Activity\n      - NCIT:C43431\n      # Activity\n      - STY:T052\n    narrow_mappings:\n      # Daily or Recreational Activity\n      - STY:T056\n      # Occupational Activity\n      - STY:T057\n      # Governmental or Regulatory Activity\n      - STY:T064\n      # Machine Activity\n      - STY:T066\n      # Research Activity\n      - STY:T062\n      # Educational Activity\n      - STY:T065\n      # Health Care Activity\n      - STY:T058\n\n  procedure:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      A series of actions conducted in a certain order or manner\n    exact_mappings:\n      # Procedures\n      - UMLSSG:PROC\n      - dcid:MedicalProcedure\n    narrow_mappings:\n      # Laboratory Procedure\n      - STY:T059\n      # Diagnostic Procedure\n      - STY:T060\n      # Therapeutic or Preventive Procedure\n      - STY:T061\n      # Molecular Biology Research Technique\n      - STY:T063\n    id_prefixes:\n      - CPT\n\n  phenomenon:\n    is_a: named thing\n    mixins:\n      - occurrent\n    description: >-\n      a fact or situation that is observed to exist or happen,\n      especially one whose cause or explanation is in question\n    broad_mappings:\n      # the inclusion of 'process' in the definition of these\n      # terms broadens them, relative to 'phenomenon'\n      # Phenomenon or Process\n      - STY:T067\n      # Human-caused Phenomenon or Process\n      - STY:T068\n      # Natural Phenomenon or Process\n      - STY:T070\n    exact_mappings:\n      # Phenomena\n      - UMLSSG:PHEN\n    narrow_mappings:\n      # Laboratory or Test Result\n      - STY:T034\n      # Biologic Function\n      - STY:T038\n      # Environmental Effect of Humans\n      - STY:T069\n\n  device:\n    is_a: named thing\n    description: >-\n      A thing made or adapted for a particular purpose, especially\n      a piece of mechanical or electronic equipment\n    narrow_mappings:\n      # Devices\n      - UMLSSG:DEVI\n      # Medical Device\n      - STY:T074\n      # Research Device\n      - STY:T075\n      # Drug Delivery Device\n      - STY:T203\n      # Biomedical or Dental Material\n      - STY:T122\n\n  ## Scientific Studies\n\n  study population:\n    is_a: population of individual organisms\n    description: >-\n      A group of people banded together or treated as a group as participants in a research study.\n    close_mappings:\n      - WIKIDATA:Q7229825\n\n  subject of investigation:\n    mixin: true\n    description: >-\n      An entity that has the role of being studied in an investigation, study, or experiment\n\n  material sample:\n    aliases: [ 'biospecimen', 'sample', 'biosample', 'physical sample' ]\n    is_a: physical entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A sample is a limited quantity of something (e.g. an individual or set of individuals\n      from a population, or a portion of a substance) to be used for testing, analysis,\n      inspection, investigation, demonstration, or trial use. [SIO]\n    exact_mappings:\n      - OBI:0000747\n      - SIO:001050\n    id_prefixes:\n      - BIOSAMPLE\n      - GOLD.META\n\n  ## Earth Sciences\n\n  planetary entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists at the level of the whole planet\n\n  environmental process:\n    is_a: planetary entity\n    mixins:\n      - occurrent\n    exact_mappings:\n      - ENVO:02500000\n\n  environmental feature:\n    is_a: planetary entity\n    exact_mappings:\n      - ENVO:01000254\n\n  geographic location:\n    is_a: planetary entity\n    description: >-\n      a location that can be described in lat/long coordinates\n    slots:\n      - latitude\n      - longitude\n    exact_mappings:\n      # Geographic Areas\n      - UMLSSG:GEOG\n      # Geographic Area\n      - STY:T083\n\n  geographic location at time:\n    is_a: geographic location\n    description: >-\n      a location that can be described in lat/long coordinates, for a particular time\n    slots:\n      - timepoint\n\n  ## Biological Sciences\n\n  thing with taxon:\n    mixin: true\n    description: >-\n      A mixin that can be used on any entity that can be taxonomically classified.\n      This includes individual organisms; genes, their products and other molecular\n      entities; body parts; biological processes\n    slots:\n      - in taxon\n\n  biological entity:\n    is_a: named thing\n    aliases: [ 'bioentity' ]\n    abstract: true\n    mixins:\n      - thing with taxon\n    narrow_mappings:\n      - WIKIDATA:Q28845870\n      # UMLS Semantic Type \"Experimental Model of Disease\"\n      - STY:T050\n      # SIO term is 'biological entity' but less inclusive than the Biolink scope\n      - SIO:010046\n\n  genomic entity:\n    mixin: true\n    slots:\n      - has biological sequence\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - STY:T028   # Gene or Genome\n      - GENO:0000897  # Genomic Entity\n\n  epigenomic entity:\n      mixin: true\n      slots:\n        - has biological sequence\n      in_subset:\n        - translator_minimal\n      narrow_mappings:\n\n  molecular entity:\n    is_a: chemical entity\n    description: >-\n      A molecular entity is a chemical entity composed of individual or\n      covalently bonded atoms.\n    slots:\n      - is metabolite\n    narrow_mappings:\n      - STY:T088 # Carbohydrate\n      - STY:T085 # Molecular Sequence\n      - CHEBI:23367 # Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical,\n      # radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.\n      - bioschemas:MolecularEntity\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n\n  chemical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n      - chemical or drug or treatment # issue 701\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    description: >-\n      A chemical entity is a physical entity that pertains to chemistry or\n      biochemistry.\n    slots:\n      - trade name\n      - available from\n      - max tolerated dose\n      - is toxic\n      - has chemical role\n    exact_mappings:\n      - CHEBI:24431\n      - SIO:010004 # Chemical entity\n      - WIKIDATA:Q79529 # Chemical substance\n      - STY:T103 # Chemical\n    narrow_mappings:\n      - WIKIDATA:Q43460564\n      - STY:T129 # (imft, full name: Immunologic Factor\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS #CAS numbers are given for things like plant extracts as well.\n      - UMLS\n      - ncats.drug\n\n  small molecule:\n    is_a: molecular entity\n    aliases: [ 'chemical substance' ]\n    description: >-\n      A small molecule entity is a molecular entity characterized by availability\n      in small-molecule databases of SMILES, InChI, IUPAC, or other\n      unambiguous representation of its precise chemical structure; for\n      convenience of representation, any valid chemical representation is\n      included, even if it is not strictly molecular (e.g., sodium ion).\n    narrow_mappings:\n      - STY:T196 # Element, Ion, or Isotope\n      - CHEBI:59999\n      - bioschemas:ChemicalSubstance\n      - STY:T123 #(bacs, full name: Biologically Active Substance)\n      - STY:T131 #(hops, full name: Hazardous or Poisonous Substance)\n      - STY:T125 #(horm, full name: Hormone)\n      - STY:T197 #(inch, full name: Inorganic Chemical)\n      - STY:T109 #(orch, full name: Organic Chemical)\n      - STY:T118 #(carb, full name: Carbohydrate) - note that this term is missing from newer SRDEF files (depreciated?), but is still used by the SEMMEDDB data files)\n      - STY:T111 #(eico, full name: Eicosanoid) - same note as above\n      - STY:T119 #(lipd, full name: Lipid) - same note as above\n      - STY:T124 #(nsba, full name: Neuroreactive Substance or Biogenic Amine) - same note as above\n      - STY:T115 #(opco, full name: Organophosphorus Compound) - same note as above\n      - STY:T110 #(strd, full name: Steroid) - same note as above\n      - STY:T127 # vitamin\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - BIGG.METABOLITE\n      - UMLS\n      - foodb.compound\n    slot_usage:\n      id:\n        examples:\n          - value: CHEBI:29101\n            description: sodium ion\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n\n\n  chemical mixture:\n    is_a: chemical entity\n    description: >-\n      A chemical mixture is a chemical entity composed of two or more\n      molecular entities.\n    slots:\n      - is supplement\n      - highest FDA approval status\n      - drug regulatory status world wide\n      - routes of delivery\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n    close_mappings:\n      - dcid:ChemicalCompound\n    narrow_mappings:\n      - NCIT:C20401 # monoclonal antibody\n      - SNOMEDCT:49616005 # monoclonal antibody (substance)\n\n  nucleic acid entity:\n    is_a: molecular entity\n    description: >-\n      A nucleic acid entity is a molecular entity characterized by\n      availability in gene databases of nucleotide-based sequence\n      representations of its precise sequence; for convenience of\n      representation, partial sequences of various kinds are included.\n    aliases: [ 'sequence feature', 'genomic entity' ]\n    mixins:\n      - genomic entity\n      - thing with taxon\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0000110\n    narrow_mappings:\n      - STY:T086   # Nucleotide Sequence\n      - STY:T114   # Nucleic Acid, Nucleoside, or Nucleotide\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  # G number\n      - KEGG.ENVIRON # E number\n\n  molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A molecular mixture is a chemical mixture composed of two or more\n      molecular entities with known concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n      - ncats.drug\n\n  complex molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A complex molecular mixture is a chemical mixture composed of two or\n      more molecular entities with unknown concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n\n  biological process or activity:\n    description: >-\n      Either an individual molecular activity, or a collection of\n      causally connected molecular activities in a biological system.\n    is_a: biological entity\n    mixins:\n      - occurrent\n      - ontology class\n    id_prefixes:\n      - GO\n      - REACT\n    slots:\n      - has input\n      - has output\n      - enabled by\n\n  molecular activity:\n    description: >-\n      An execution of a molecular function carried out by a\n      gene product or macromolecular complex.\n    is_a: biological process or activity\n    aliases: [ 'molecular function', 'molecular event', 'reaction' ]\n    mixins:\n      - occurrent\n      - ontology class\n    slot_usage:\n      has input:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the input for the reaction\n      has output:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the output for the reaction\n      enabled by:\n        range: macromolecular machine mixin\n        description: >-\n          The gene product, gene, or complex that catalyzes the reaction\n    exact_mappings:\n      - GO:0003674\n      # UMLS Semantic Type \"Molecular Function\"\n      - STY:T044\n    id_prefixes:\n      - GO\n      - REACT\n      - RHEA\n      - metacyc.reaction\n      - EC\n      - TCDB\n      - KEGG.REACTION  ## R number\n      - KEGG.RCLASS    ## RC number\n      - KEGG.ENZYME    ## EC number\n      - KEGG.ORTHOLOGY ## in particular for gut microbiome use case in issue #888\n      - UMLS\n      - BIGG.REACTION\n      - SEED.REACTION\n      - METANETX.REACTION\n\n  biological process:\n    is_a: biological process or activity\n    mixins:\n      - occurrent\n      - ontology class\n    description: >-\n      One or more causally connected executions of molecular functions\n    exact_mappings:\n      - GO:0008150\n      - SIO:000006\n      - WIKIDATA:Q2996394\n    broad_mappings:\n      - WIKIDATA:P682\n    id_prefixes:\n      - GO\n      - REACT\n      - metacyc.reaction\n      - KEGG.MODULE ## M number\n\n  pathway:\n    is_a: biological process\n    mixins:\n      - ontology class\n    exact_mappings:\n      - PW:0000001\n      - WIKIDATA:Q4915012\n    narrow_mappings:\n      - SIO:010526\n      - GO:0007165\n    id_prefixes:\n      - GO\n      - REACT\n      - KEGG\n      - SMPDB\n      - MSigDB\n      - PHARMGKB.PATHWAYS\n      - WIKIPATHWAYS\n      - FB  # FlyBase FBgg*\n      - PANTHER.PATHWAY\n      - KEGG.PATHWAY\n      - ncats.bioplanet\n\n  physiological process:\n    aliases: [ 'physiology' ]\n    is_a: biological process\n    mixins:\n      - ontology class\n    close_mappings:\n    exact_mappings:\n      # Physiologic Function\n      - STY:T039\n      - WIKIDATA:Q30892994\n    narrow_mappings:\n      # Organism Function\n      - STY:T040\n      # Organ or Tissue Function\n      - STY:T042\n      # Cell Function\n      - STY:T043\n      # Genetic Function\n      - STY:T045\n    id_prefixes:\n      - GO\n      - REACT\n\n  behavior:\n    is_a: biological process\n    mixins:\n      - ontology class\n      - activity and behavior\n    exact_mappings:\n      - GO:0007610\n      # Behavior\n      - STY:T053\n    narrow_mappings:\n      # Mental Process\n      - STY:T041\n      # Social Behavior\n      - STY:T054\n      # Individual Behavior\n      - STY:T055\n\n  ## (Bio)chemistry\n\n  processed material:\n    is_a: chemical mixture\n    description: >-\n      A chemical entity (often a mixture) processed\n      for consumption for nutritional, medical or technical use.\n      Is a material entity that is created or changed during material processing.\n    exact_mappings:\n      - OBI:0000047\n    id_prefixes:\n      - UMLS\n\n  drug:\n    is_a: molecular mixture\n    mixins:\n      - chemical or drug or treatment\n      - ontology class\n    description: >-\n      A substance intended for use in the diagnosis, cure,\n      mitigation, treatment, or prevention of disease\n    comments:\n      - The CHEBI ID represents a role rather than a substance\n    broad_mappings:\n      # Pharmacologic Substance: Any natural, endogenously-derived,\n      # synthetic or semi synthetic compound with pharmacologic activity.\n      - STY:T121\n    exact_mappings:\n      - WIKIDATA:Q12140\n      - CHEBI:23888\n      # UMLS Semantic Type \"Clinical Drug\"\n      - STY:T200\n      - dcid:Drug\n    narrow_mappings:\n      # Antibiotic\n      - STY:T195\n    id_prefixes:\n      - ncats.drug\n      - RXCUI\n      - NDC\n      - UMLS\n\n  ## Food\n\n  environmental food contaminant:\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:78299\n\n  food additive:\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:64047\n\n  food:\n    is_a: chemical mixture\n    description: >-\n      A substance consumed by a living organism as a source of nutrition\n    id_prefixes:\n      - foodb.food\n      - FOODON\n      - UMLS\n      - NCIT\n    exact_mappings:\n      # Food\n      - STY:T168\n\n  ## Biology and Biomedical Sciences\n\n  ## Biological Attributes\n\n  organism attribute:\n    is_a: attribute\n    description: >-\n      describes a characteristic of an organismal entity.\n    exact_mappings:\n      # Organism Attribute\n      - STY:T032\n\n  phenotypic quality:\n    aliases: [ 'phenotypic properties' ]\n    is_a: organism attribute\n    description: >-\n      A property of a phenotype\n    examples:\n      - value: weight\n\n    mappings:\n      - PATO:0000001\n\n  genetic inheritance:\n    aliases: [ 'inheritance' ]\n    is_a: biological entity\n    description: >-\n      The pattern or 'mode' in which a particular genetic trait or disorder is passed from one\n      generation to the next, e.g. autosomal dominant, autosomal recessive, etc.\n    exact_mappings:\n      - HP:0000005\n      - GENO:0000141\n      - NCIT:C45827\n    close_mappings:\n      - STY:T045\n    id_prefixes:\n      - HP\n      - GENO\n      - NCIT\n\n  ## Biological Entities\n\n  organismal entity:\n    description: >-\n      A named entity that is either a part of an organism, a whole organism,\n      population or clade of organisms, excluding chemical entities\n    abstract: true\n    is_a: biological entity\n    mixins:\n      - subject of investigation\n    slot_usage:\n      has attribute:\n        description: >-\n          may often be an organism attribute\n    exact_mappings:\n      - WIKIDATA:Q7239\n      # UMLS Semantic Group \"Living Beings\"\n      # Several of the associated semantic types here are probably not\n      # that relevant to the Biolink world, but we keep them here for now.\n      - UMLSSG:LIVB\n      - CARO:0001010\n\n  virus:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A virus is a microorganism that replicates itself as a microRNA\n      and infects the host cell.\n    exact_mappings:\n      - NCBITaxon:10239\n\n  cellular organism:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    description: >-\n    exact_mappings:\n      - NCBITaxon:131567\n\n  life stage:\n    is_a: organismal entity\n    description: >-\n      A stage of development or growth of an organism,\n      including post-natal adult stages\n    exact_mappings:\n      - UBERON:0000105\n    narrow_mappings:\n      # constrained to human life cycles\n      - HsapDv:0000000\n    in_subset:\n      - model_organism_database\n    id_prefixes:\n      - HsapDv\n      - MmusDv\n      - ZFS\n      - FBdv\n      - WBls\n      - UBERON\n\n  individual organism:\n    aliases: [ 'organism' ]\n    description: >-\n      An instance of an organism. For example, Richard Nixon,\n      Charles Darwin, my pet cat. Example ID: ORCID:0000-0002-5355-2576\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - SIO:010000\n      # Organism\n      - STY:T001\n    narrow_mappings:\n      # Wikidata considers its definition of 'individual' to be constrained to human persons?\n      - WIKIDATA:Q795052\n      - foaf:Person\n    id_prefixes:\n      - ORCID\n\n  population of individual organisms:\n    description: >-\n      A collection of individuals from the same taxonomic class\n      distinguished by one or more characteristics.  Characteristics can\n      include, but are not limited to, shared geographic location, genetics,\n      phenotypes.\n    local_names:\n      ga4gh: population\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - PCO:0000001\n      - SIO:001061\n      # UMLS Semantic Type \"Population Group\"\n      - STY:T098\n      - OBI:0000181\n    id_prefixes:\n      - HANCESTRO\n    in_subset:\n      - model_organism_database\n\n  disease or phenotypic feature:\n    aliases: [ 'phenome' ]\n    is_a: biological entity\n    description: >-\n      Either one of a disease or an individual phenotypic feature.\n      Some knowledge resources such as Monarch treat these as\n      distinct, others such as MESH conflate.  Please see definitions of phenotypic feature and disease in this model\n      for their independent descriptions.  This class is helpful to enforce domains and ranges  \n      that may involve either a disease or a phenotypic feature.\n    union_of:\n      - disease\n      - phenotypic feature\n    narrow_mappings:\n      # UMLS Semantic Type \"Finding\" - more specialized use of 'disease or phenotypic feature'\n      - STY:T033\n\n  disease:\n    aliases: [ 'condition', 'disorder', 'medical condition' ]\n    description: >-\n      A disorder of structure or function, especially one that produces specific \n      signs, phenotypes or symptoms or that affects a specific location and is not simply a \n      direct result of physical injury.  A disposition to undergo pathological processes that exists in an \n      organism because of one or more disorders in that organism.\n    is_a: disease or phenotypic feature\n    exact_mappings:\n      - MONDO:0000001\n      - DOID:4\n      - NCIT:C2991\n      - WIKIDATA:Q12136\n      - SIO:010299\n      # UMLS Semantic Group \"Disorders\"\n      - UMLSSG:DISO\n      # Disease or Syndrome\n      - STY:T047\n      - dcid:Disease\n    narrow_mappings:\n      # Congenital Abnormality\n      - STY:T019\n      # Acquired Abnormality\n      - STY:T020\n      # Mental or Behavioral Dysfunction\n      - STY:T048\n      # Cell or Molecular Dysfunction\n      - STY:T049\n      # Anatomical Abnormality\n      - STY:T190\n      # Neoplastic Process\n      - STY:T191\n      # disease susceptibility\n      - MONDO:0042489\n    id_prefixes:\n      - MONDO\n      - DOID\n      - OMIM\n      - OMIM.PS\n      - orphanet\n      - EFO\n      - UMLS\n      - MESH\n      - MEDDRA\n      - NCIT\n      - SNOMEDCT\n      - medgen\n      - ICD10\n      - ICD9\n      - KEGG.DISEASE ## H number\n      - HP\n      - MP\n    in_subset:\n      - model_organism_database\n\n  phenotypic feature:\n    aliases: [ 'sign', 'symptom', 'phenotype', 'trait', 'endophenotype' ]\n    is_a: disease or phenotypic feature\n    description: >-\n      A combination of entity and quality that makes up a phenotyping statement. An observable characteristic of an \n      individual resulting from the interaction of its genotype with its molecular and physical environment.\n    examples:\n      - value: MP:0001262\n        description: decreased body weight\n    exact_mappings:\n      - UPHENO:0001001\n      - SIO:010056\n      - WIKIDATA:Q104053\n      - UMLS:C4021819\n      - NCIT:C16977\n      - SNOMEDCT:8116006 # documented as phenotypic finding and phenotype, also referred to as \"SCTID:8116006\" at SNOMEDCT\n      - MESH:D010641 # phenotype\n    narrow_mappings:\n      - STY:T184 # Sign or Symptom\n      - WIKIDATA:Q169872 # Sign or Symptom\n      # presentation of a disease in clinical medicine\n      - WIKIDATA:Q25203551\n      - ZP:00000000 # zebrafish phenotype\n      - FBcv:0001347 # fly phenotype\n      - HP:0000118 # human phenotype\n      - MP:0000001 # mouse phenotype\n      - WBPhenotype:0000886 # worm phenotype\n      - XPO:00000000 # frog phenotype\n      - FYPO:0000001 # fission yeast phenotype\n      - APO:0000017 # phenotype\n      - TO:0000387 # more narrowly defined here for plants; our definition conflates trait and phenotype.\n    broad_mappings:\n      - BFO:0000019 # quality\n      - PATO:0000001 # quality\n    id_prefixes:\n      - HP\n      - EFO # covered by BFO quality mapping\n      - NCIT\n      - UMLS\n      - MEDDRA # can not find a mapping\n      - MP\n      - ZP\n      - UPHENO\n      - APO\n      - FBcv\n      - WBPhenotype\n      - SNOMEDCT\n      - MESH\n      - XPO\n      - FYPO\n      - TO\n    in_subset:\n      - model_organism_database\n\n  behavioral feature:\n    description: >-\n      A phenotypic feature which is behavioral in nature.\n    is_a: phenotypic feature\n    exact_mappings:\n      - NBO:0000243\n\n  anatomical entity:\n    is_a: organismal entity\n    mixins:\n      - physical essence\n    description: >-\n      A subcellular location, cell type or gross anatomical part\n    exact_mappings:\n      - UBERON:0001062\n      - WIKIDATA:Q4936952\n      # UMLS Semantic Group \"Anatomy\"\n      - UMLSSG:ANAT\n      # UMLS Semantic Type \"Anatomical Structure\"\n      - STY:T017\n      - FMA:62955 # anatomical entity\n      - CARO:0000000  # anatomical entity\n      - SIO:001262 # anatomical entity\n    narrow_mappings:\n      - ZFA:0100000 # zebrafish anatomical entity\n      - FBbt:10000000 # fly anatomical entity\n      - EMAPA:0 # mouse anatomical entity\n      - MA:0000001 # mouse anatomical entity\n      - XAO:0000000 # frog anatomical entity\n      - WBbt:0000100 # c. elegans anatomical entity\n      - NCIT:C12219 # human anatomical entity\n      - GO:0110165 # cellular anatomical entity, also used directly in CL\n    related_mappings:\n      - SNOMEDCT:123037004 # body structure\n    id_prefixes:\n      - UBERON\n      - GO\n      - CL\n      - UMLS\n      - MESH\n      - NCIT\n      - EMAPA\n      - ZFA\n      - FBbt\n      - WBbt\n    in_subset:\n      - model_organism_database\n\n  cellular component:\n    aliases: [ 'cell component', 'cell part' ]\n    is_a: anatomical entity\n    description: >-\n      A location in or around a cell\n    exact_mappings:\n      - GO:0005575\n      - SIO:001400\n      - WIKIDATA:Q5058355\n      # Cell Component\n      - STY:T026\n    broad_mappings:\n      - WIKIDATA:P681\n    id_prefixes:\n      - GO\n      - MESH\n      - UMLS\n      - NCIT\n      - SNOMEDCT\n      - CL\n      - UBERON\n\n  cell:\n    is_a: anatomical entity\n    exact_mappings:\n      - GO:0005623\n      - CL:0000000\n      - SIO:010001\n      - WIKIDATA:Q7868\n      # UMLS Semantic Type \"Cell\"\n      - STY:T025\n      - MESH:D002477 # cells\n    id_prefixes:\n      - CL\n      - PO\n      - UMLS\n      - NCIT\n      - MESH\n      - UBERON\n      - SNOMEDCT\n      - MESH\n\n  cell line:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - CLO:0000031\n    id_prefixes:\n      - CLO\n\n  gross anatomical structure:\n    aliases: [ 'tissue', 'organ' ]\n    is_a: anatomical entity\n    exact_mappings:\n      - UBERON:0010000\n      - WIKIDATA:Q4936952\n    narrow_mappings:\n      # UMLS Semantic Type \"Body Part, Organ, or Organ Component\"\n      - STY:T023\n      # UMLS Semantic Type \"Tissue\"\n      - STY:T024\n      # Embryonic Structure\n      - STY:T018\n    id_prefixes:\n      - UBERON\n      - UMLS\n      - MESH\n      - NCIT\n      - PO\n      - FAO\n\n\n  ## entity mixins\n\n  chemical entity or gene or gene product:\n    description: >-\n      A union of chemical entities and children, and gene or gene product.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  chemical entity or protein or polypeptide:\n    description: >-\n      A union of chemical entities and children, and protein and polypeptide.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  macromolecular machine mixin:\n    description: >-\n      A union of gene locus, gene product, and macromolecular complex. These are\n      the basic units of function in a cell. They either carry out individual\n      biological activities, or they encode molecules which do this.\n    mixin: true\n    slots:\n      - name\n    slot_usage:\n      name:\n        range: symbol type\n        description: >-\n          genes are typically designated by a short symbol and a full name.\n          We map the symbol to the default display name\n          and use an additional slot for full name\n\n  gene or gene product:\n    description: >-\n      A union of gene loci or gene products.\n      Frequently an identifier for one will be used as proxy for another\n    is_a: macromolecular machine mixin\n    mixin: true\n    id_prefixes:\n      - CHEMBL.TARGET\n      - IUPHAR.FAMILY\n\n  gene:\n    description: >-\n      A region (or regions) that includes all of the sequence elements\n      necessary to encode a functional transcript. A gene locus may include\n      regulatory regions, transcribed regions and/or other\n      functional sequence regions.\n    is_a: biological entity\n    mixins:\n      - gene or gene product\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    slots:\n      - symbol\n      - synonym\n      - xref\n    narrow_mappings:\n      - bioschemas:gene\n    broad_mappings:\n      - NCIT:C45822\n    exact_mappings:\n      - SO:0000704\n      - SIO:010035\n      - WIKIDATA:Q7187\n      - dcid:Gene\n    id_prefixes:\n      - NCBIGene\n      - ENSEMBL\n      - HGNC\n      - MGI\n      - ZFIN\n      - dictyBase\n      - WB\n      - WormBase # we have two prefixes here as wormbase supports WormBase:WBGene00000898\n      # and alliancegenome.org and identifiers.org supports WB:WBGene00000898.\n      - FB\n      - RGD\n      - SGD\n      - PomBase\n      - OMIM\n      - KEGG.GENE ## org:gene\n      - UMLS\n      - Xenbase\n      - AspGD\n    in_subset:\n      - model_organism_database\n\n  gene product mixin:\n    description: >-\n      The functional molecular product of a single gene locus.\n      Gene products are either proteins or functional RNA molecules.\n    is_a: gene or gene product\n    mixin: true\n    slots:\n      - synonym\n      - xref\n    exact_mappings:\n      - WIKIDATA:Q424689\n      - GENO:0000907\n      - NCIT:C26548\n    id_prefixes:\n      - UniProtKB\n      - gtpo\n      - PR\n\n  gene product isoform mixin:\n    description: >-\n      This is an abstract class that can be mixed in with different kinds of\n      gene products to indicate that the gene product is intended to represent\n      a specific isoform rather than a canonical or reference or generic\n      product. The designation of canonical or reference may be arbitrary,\n      or it may represent the superclass of all isoforms.\n    is_a: gene product mixin\n    mixin: true\n\n  macromolecular complex:\n    description: >-\n      A stable assembly of two or more macromolecules, i.e. proteins,\n      nucleic acids, carbohydrates or lipids, in which at least one\n      component is a protein and the constituent parts function together.\n    is_a: biological entity\n    mixins:\n      - macromolecular machine mixin\n    exact_mappings:\n      - GO:0032991\n      - WIKIDATA:Q22325163\n    id_prefixes:\n      - INTACT\n      - GO\n      - PR\n      - REACT\n      - ComplexPortal\n    in_subset:\n      - model_organism_database\n\n  ## Genomic Classes\n  nucleosome modification:\n    is_a: biological entity\n    description: >-\n      A chemical modification of a histone protein within a nucleosome octomer or a substitution of a histone with a variant histone isoform.\n      e.g. Histone 4 Lysine 20 methylation (H4K20me), histone variant H2AZ substituting H2A.\n    mixins:\n      - gene product isoform mixin\n      - genomic entity\n      - epigenomic entity\n\n  genome:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A genome is the sum of genetic material within a cell or virion.\n    exact_mappings:\n      - SO:0001026\n      - SIO:000984\n      - WIKIDATA:Q7020\n    close_mappings:\n      - dcid:GenomeAssemblyUnit\n    in_subset:\n      - model_organism_database\n\n  exon:\n    is_a: nucleic acid entity\n    description: >-\n      A region of the transcript sequence within a gene which is not\n      removed from the primary RNA transcript by RNA splicing.\n    exact_mappings:\n      - SO:0000147\n      - SIO:010445\n      - WIKIDATA:Q373027\n\n  transcript:\n    is_a: nucleic acid entity\n    description: >-\n      An RNA synthesized on a DNA or RNA template by an RNA polymerase.\n    exact_mappings:\n      - SO:0000673\n      - SIO:010450\n      - WIKIDATA:Q7243183\n      - dcid:RNATranscript\n    id_prefixes:\n      - ENSEMBL # ENSEMBL:ENST for human\n      - FB      # FlyBase:FBtr\n    in_subset:\n      - model_organism_database\n\n  coding sequence:\n    is_a: nucleic acid entity\n    exact_mappings:\n      - SO:0000316\n      - SIO:001390\n\n  polypeptide:\n    aliases: [ 'amino acid entity' ]\n    is_a: biological entity\n    description: >-\n      A polypeptide is a molecular entity characterized by availability\n      in protein databases of amino-acid-based sequence representations\n      of its precise primary structure; for convenience of representation,\n      partial sequences of various kinds are included, even if they do not\n      represent a physical molecule.\n    mixins:\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL # ENSEMBL:ENSP*\n      - FB      # FlyBase FBpp*\n      - UMLS\n    in_subset:\n      - model_organism_database\n    narrow_mappings:\n      - SO:0000104 # polypeptide definde in SO conflates protein and polypeptide\n      # Amino Acid, Peptide, or Protein\n      - STY:T116\n      # Amino Acid Sequence\n      - STY:T087\n\n  protein:\n    description: >-\n      A gene product that is composed of a chain of amino acid sequences\n      and is produced by ribosome-mediated translation of mRNA\n    is_a: polypeptide\n    mixins:\n      - gene product mixin\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL # ENSEMBL:ENSP*\n      - FB      # FlyBase FBpp*\n      - UMLS\n      - MESH\n      - ncats.drug\n    broad_mappings:\n      - bioschemas:Protein\n    exact_mappings:\n      - PR:000000001\n      - SIO:010043\n      - WIKIDATA:Q8054\n    narrow_mappings:\n      # Enzyme\n      - STY:T126\n      # Receptor\n      - STY:T192\n\n  protein isoform:\n    aliases: [ 'proteoform' ]\n    is_a: protein\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or\n      reference protein. See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4114032/\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - UniProtKB # UniProtKB:([A-Z0-9]+-\\d+)\n      - UNIPROT.ISOFORM\n      - PR\n      - ENSEMBL\n\n  protein domain:\n    is_a: biological entity\n    description: >-\n      A conserved part of protein sequence and (tertiary) structure that can evolve,\n      function, and exist independently of the rest of the protein chain.\n      Protein domains maintain their structure and function independently of the proteins in which they are found.\n      e.g. an SH3 domain.\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    exact_mappings:\n      - NCIT:C13379\n      - SIO:001379\n      - UMLS:C1514562\n  \n  posttranslational modification:\n    is_a: biological entity\n    description: >-\n      A chemical modification of a polypeptide or protein that occurs after translation. \n      e.g. polypeptide cleavage to form separate proteins, methylation or acetylation of histone tail amino acids, \n      protein ubiquitination.\n    mixins:\n      - gene product isoform mixin\n  \n  protein family:\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n\n  nucleic acid sequence motif:\n    aliases: [ 'consensus sequence' ]\n    is_a: biological entity\n    description: >-\n      A linear nucleotide sequence pattern that is widespread and has, or is conjectured to have,\n      a biological significance. e.g. the TATA box promoter motif, transcription factor binding\n      consensus sequences.\n\n  RNA product:\n    is_a: transcript\n    mixins:\n      - gene product mixin\n    exact_mappings:\n      - CHEBI:33697\n      # This SIO term here also mapped to 'biolink:Transcript'; however,\n      # since this 'biolink:RNAProduct' relates more to the biochemical\n      # essence of RNA, then map the SIO term instead to 'biolink:Transcript'\n      # - SIO:010450\n      - WIKIDATA:Q11053\n    id_prefixes:\n      - RNACENTRAL\n\n  RNA product isoform:\n    is_a: RNA product\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or reference RNA\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - RNACENTRAL\n\n  noncoding RNA product:\n    is_a: RNA product\n    id_prefixes:\n      - RNACENTRAL\n      - NCBIGene\n      - ENSEMBL\n    exact_mappings:\n      - SO:0000655\n      - SIO:001235\n\n  microRNA:\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000276\n      - SIO:001397\n      - WIKIDATA:Q310899\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  siRNA:\n    aliases: [ 'small interfering RNA', 'RNAi' ]\n    description: >-\n      A small RNA molecule that is the product of a longer exogenous or\n      endogenous dsRNA, which is either a bimolecular duplex or very long\n      hairpin, processed (via the Dicer pathway) such that numerous siRNAs\n      accumulate from both strands of the dsRNA. SRNAs trigger the cleavage\n      of their target molecules.\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000646\n      - WIKIDATA:Q203221\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  gene grouping mixin:\n    description: >-\n      any grouping of multiple genes or gene products\n    mixin: true\n    slots:\n      - has gene or gene product\n\n  gene family:\n    aliases: [ 'orthogroup', 'protein family' ]\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      # These term definitions focus only on proteins;\n      # the 'biolink:GeneFamily' term would be more inclusive\n      # to describe gene loci, non-coding RNA, etc.\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    description: >-\n      any grouping of multiple genes or gene products related by common descent\n    id_prefixes:\n      - PANTHER.FAMILY\n      - HGNC.FAMILY\n      - FB       # FlyBase FBgg*\n      - interpro # note: may be better to introduce a protein domain/family\n      - CATH\n      - CDD\n      - HAMAP\n      - PFAM\n      - PIRSF\n      - PRINTS\n      - PRODOM\n      - PROSITE\n      - SMART\n      - SUPFAM\n      - TIGRFAM\n      - CATH.SUPERFAMILY\n      - RFAM ## RNAs only\n      - KEGG.ORTHOLOGY ## aka KEGG.KO: K number\n      - EGGNOG\n      - COG\n    in_subset:\n      - model_organism_database\n\n  zygosity:\n    is_a: attribute\n    exact_mappings:\n      - GENO:0000133\n\n  genotype:\n    is_a: biological entity\n    mixins:\n      - physical essence\n      - genomic entity\n      - ontology class\n    description: >-\n      An information content entity that describes a genome by specifying the\n      total variation in genomic sequence and/or gene expression, relative to\n      some established background\n    comments:\n      - Consider renaming as genotypic entity\n    slots:\n      - has zygosity\n    exact_mappings:\n      - GENO:0000536\n      - SIO:001079\n    id_prefixes:\n      - ZFIN\n      - FB   # FlyBase FBba*\n    in_subset:\n      - model_organism_database\n\n  haplotype:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A set of zero or more Alleles on a single instance of a Sequence[VMC]\n    #    slots:\n    #      - completeness\n    exact_mappings:\n      - GENO:0000871\n      - SO:0001024\n      - VMC:Haplotype\n\n  sequence variant:\n    aliases: [ 'allele' ]\n    local_names:\n      agr: allele\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A sequence_variant is a non exact copy of a sequence_feature or genome exhibiting one or more sequence_alteration.\n    comments:\n      - This class is for modeling the specific state at a locus.\n        A single DBSNP rs ID could correspond to more than one sequence variants\n        (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)\n    exact_mappings:\n      # slightly broader semantics than SO:0001059 - 'sequence alteration'\n      # describes a sequence feature that may have 1..* sequence alterations\n      - WIKIDATA:Q15304597\n    close_mappings:\n      - dcid:Allele\n      - SO:0001060\n      - VMC:Allele\n      - GENO:0000002\n      - SIO:010277\n      - SO:0001060\n    id_prefixes:\n      - CAID # ClinGen Allele Registry\n      - CLINVAR\n      - WIKIDATA\n      # - CIViC needs IRI mapping\n      - DBSNP\n      - MGI\n      - ZFIN\n      - FB\n      - RGD\n      - AGRKB\n      - SPDI\n      - WB\n      - WormBase\n    alt_descriptions:\n      AGR: >-\n        An entity that describes a single affected, endogenous allele.\n        These can be of any type that matches that definition\n      VMC: >-\n        A contiguous change at a Location\n    slots:\n      - has gene\n    slot_usage:\n      has gene:\n        multivalued: true\n        description: Each allele can be associated with any number of genes\n      has biological sequence:\n        description: >-\n          The state of the sequence w.r.t a reference sequence\n      id:\n        examples:\n          - value: ZFIN:ZDB-ALT-980203-1091\n            description: ti282a allele from ZFIN\n          - value: CLINVAR:17681\n            description: NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)\n    in_subset:\n      - model_organism_database\n\n  snv:\n    aliases: [ 'single nucleotide variant', 'single nucleotide polymorphism', 'snp' ]\n    is_a: sequence variant\n    description: >-\n      SNVs are single nucleotide positions in genomic DNA at\n      which different sequence alternatives exist\n    exact_mappings:\n      - SO:0001483\n\n  reagent targeted gene:\n    aliases: [ 'sequence targeting reagent' ]\n    is_a: biological entity\n    description: >-\n      A gene altered in its expression level in the context of some\n      experiment as a result of being targeted by gene-knockdown\n      reagent(s) such as a morpholino or RNAi.\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - GENO:0000504\n    in_subset:\n      - model_organism_database\n\n  ## --------------------\n  ## Clinical\n  ## Attributes, Cohort,\n  ## Exposures & Outcomes\n  ## --------------------\n\n  ## Clinical Attributes\n\n  clinical attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a clinical manifestation\n    exact_mappings:\n      # Clinical Attribute\n      - STY:T201\n\n  clinical measurement:\n    is_a: clinical attribute\n    description: >-\n      A clinical measurement is a special kind of attribute which results\n      from a laboratory observation from a subject individual or sample.\n      Measurements can be connected to their subject by the 'has attribute' slot.\n    slot_usage:\n      has attribute type:\n        required: true\n        multivalued: false\n        values_from:\n          - EFO\n          - LOINC\n    exact_mappings:\n      - EFO:0001444\n\n  clinical modifier:\n    is_a: clinical attribute\n    description: >-\n      Used to characterize and specify the phenotypic abnormalities\n      defined in the phenotypic abnormality sub-ontology, with respect\n      to severity, laterality, and other aspects\n    exact_mappings:\n\n\n  clinical course:\n    is_a: clinical attribute\n    description: >-\n      The course a disease typically takes from its onset, progression in time, and\n      eventual resolution or death of the affected individual\n    exact_mappings:\n      - HP:0031797\n\n  onset:\n    is_a: clinical course\n    description: >-\n      The age group in which (disease) symptom manifestations appear\n    exact_mappings:\n      - HP:0003674\n\n  clinical entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists in the clinical domain and outside the\n      biological realm. Diseases are placed under biological entities\n\n  clinical trial:\n    is_a: clinical entity\n\n  clinical intervention:\n    is_a: clinical entity\n\n  clinical finding:\n    is_a: phenotypic feature\n    description: >-\n      this category is currently considered broad enough to tag clinical lab\n      measurements and other biological attributes taken as 'clinical traits'\n      with some statistical score, for example, a p value in genetic associations.\n    slot_usage:\n      has attribute:\n        range: clinical attribute\n    id_prefixes:\n      - LOINC\n      - NCIT\n      - EFO\n\n  hospitalization:\n    is_a: clinical intervention\n    exact_mappings:\n      - SNOMEDCT:32485007\n      - WIKIDATA:Q3140971\n\n  socioeconomic attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a socioeconomic manifestation\n    #slot_usage:\n    # need a suitable qualifying socioeconomic ontology target here?\n    # Perhaps some subset of ECTO: https://github.com/EnvironmentOntology/environmental-exposure-ontology\n    #  has attribute type:\n    #     range: socioeconomic ontology\n    # exact_mappings:\n    #  - ??\n\n  ## Cohorts\n\n  case:\n    aliases: [ 'patient', 'proband' ]\n    is_a: individual organism\n    description: >-\n      An individual (human) organism that has a patient role in some clinical context.\n    mixins:\n      - subject of investigation\n\n  cohort:\n    is_a: study population\n    description: >-\n      A group of people banded together or treated as a group who share common characteristics.\n      A cohort 'study' is a particular form of longitudinal study that samples a cohort,\n      performing a cross-section at intervals through time.\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - WIKIDATA:Q1303415\n    narrow_mappings:\n      # Professional or Occupational Group\n      - STY:T097\n      # Family Group\n      - STY:T099\n      # Age Group\n      - STY:T100\n      # Patient or Disabled Group\n      - STY:T101\n\n  ## Exposures\n\n  exposure event:\n    is_a: ontology class\n    aliases: [ 'exposure', 'experimental condition' ]\n    mixin: true\n    slots:\n      - timepoint\n    description: >-\n      A (possibly time bounded) incidence of a feature of the environment of an organism that\n      influences one or more phenotypic features of that organism, potentially mediated by genes\n    exact_mappings:\n      - XCO:0000000\n    in_subset:\n      - model_organism_database\n\n  # TODO - confirm that genomic backgrounds are exposures\n  genomic background exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - gene grouping mixin\n      - physical essence\n      - genomic entity\n      - thing with taxon\n      - ontology class\n    description: >-\n      A genomic background exposure is where an individual's specific genomic background\n      of genes, sequence variants or other pre-existing genomic conditions constitute\n      a kind of 'exposure' to the organism, leading to or influencing an outcome.\n\n  pathological entity mixin:\n    description: >-\n      A pathological (abnormal) structure or process.\n    mixin: true\n    exact_mappings:\n      - MPATH:0\n    narrow_mappings:\n      - HP:0000118\n\n  pathological process:\n    description: >-\n      A biologic function or a process having an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: biological process\n    mixins:\n      - pathological entity mixin\n    exact_mappings:\n      - OBI:1110122\n      - NCIT:C16956\n    narrow_mappings:\n      # metastasis\n      - NCIT:C19151\n      - EFO:0009708\n      - STY:T046\n      - STY:T037\n\n  pathological process exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A pathological process, when viewed as an exposure, representing\n      a precondition, leading to or influencing an outcome,\n      e.g. autoimmunity leading to disease.\n\n  pathological anatomical structure:\n    description: >-\n      An anatomical structure with the potential of have an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: anatomical entity\n    mixins:\n      - pathological entity mixin\n\n  pathological anatomical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      An abnormal anatomical structure, when viewed as an exposure,\n      representing an precondition, leading to or influencing an outcome,\n      e.g. thrombosis leading to an ischemic disease outcome.\n\n  disease or phenotypic feature exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - pathological entity mixin\n    description: >-\n      A disease or phenotypic feature state, when viewed as an exposure,\n      represents an precondition, leading to or influencing an outcome,\n      e.g. HIV predisposing an individual to infections; a relative deficiency\n      of skin pigmentation predisposing an individual to skin cancer.\n\n  chemical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    slots:\n      - has quantitative value\n    description: >-\n      A chemical exposure is an intake of a particular\n      chemical entity.\n    exact_mappings:\n      # this ECTO term is not visibly defined but\n      # the 9000000-series identifiers seems to be the\n      # numeric space of chemical exposure definitions\n      - ECTO:9000000\n      - SIO:001399\n\n  complex chemical exposure:\n    is_a: attribute\n    description: >-\n      A complex chemical exposure is an intake of a chemical\n      mixture (e.g. gasoline), other than a drug.\n\n  drug exposure:\n    is_a: chemical exposure\n    aliases: [ 'drug intake', 'drug dose', 'medication intake' ]\n    description: >-\n      A drug exposure is an intake of a particular drug.\n    mixins:\n      - exposure event\n    broad_mappings:\n      # slightly broader than just drug effects on a biological system\n      - SIO:001005\n    exact_mappings:\n      - ECTO:0000509\n\n  # TODO: deprecate?\n  drug to gene interaction exposure:\n    description: >-\n      drug to gene interaction exposure is a drug exposure is where the\n      interactions of the drug with specific genes are known to constitute\n      an 'exposure' to the organism, leading to or influencing an outcome.\n    is_a: drug exposure\n    mixins:\n      - gene grouping mixin\n\n  treatment:\n    aliases: [ 'medical action', 'medical intervention' ]\n    # 'named thing' seems too generic here but not sure what applies better here\n    is_a: named thing\n    mixins:\n      - exposure event\n      - chemical or drug or treatment\n    description: >-\n      A treatment is targeted at a disease or phenotype and may involve\n      multiple drug 'exposures', medical devices and/or procedures\n    slots:\n      - has drug\n      - has device\n      - has procedure\n    exact_mappings:\n      - OGMS:0000090\n      - SIO:001398\n    broad_mappings:\n      - MAXO:0000058\n\n  biotic exposure:\n    is_a: attribute\n    aliases: [ 'viral exposure', 'bacterial exposure' ]\n    mixins:\n      - exposure event\n    description: >-\n      An external biotic exposure is an intake of (sometimes pathological)\n      biological organisms (including viruses).\n\n  geographic exposure:\n    is_a: environmental exposure\n    mixins:\n      - exposure event\n    description: >-\n      A geographic exposure is a factor relating to geographic\n      proximity to some impactful entity.\n    close_mappings:\n      - dcid:GeologicalEvent\n    narrow_mappings:\n      - dcid:IceStoremEvent\n      - dcid:LakeEffectSnowEvent\n      - dcid:LandslideEvent\n      - dcid:MarineDenseFogEvent\n      - dcid:MarineLighteningEvent\n      - dcid:MarineStrongWindEvent\n      - dcid:MarineThunderstormWindEvent\n      - dcid:StormEvent\n      - dcid:StormSurgeTideEvent\n      - dcid:StrongWindEvent\n      - dcid:ThunderstormWindEvent\n      - dcid:TornadoEvent\n      - dcid:TropicalDepressionEvent\n      - dcid:WinterStoremEvent\n\n  environmental exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A environmental exposure is a factor relating to abiotic processes\n      in the environment including sunlight (UV-B), atmospheric (heat,\n      cold, general pollution) and water-born contaminants.\n\n  behavioral exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A behavioral exposure is a factor relating to behavior impacting an individual.\n\n  socioeconomic exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A socioeconomic exposure is a factor relating to social and\n      financial status of an affected individual (e.g. poverty).\n    slot_usage:\n      has attribute:\n        range: socioeconomic attribute\n        required: true\n\n  ## Outcomes\n\n  outcome:\n    mixin: true\n    description: >-\n      An entity that has the role of being the consequence of an exposure event.\n      This is an abstract mixin grouping of various categories of possible\n      biological or non-biological (e.g. clinical) outcomes.\n\n  pathological process outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of a pathological process.\n\n  pathological anatomical outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of an abnormal anatomical structure.\n\n  disease or phenotypic feature outcome:\n    mixins:\n      - outcome\n    description: >-\n      Physiological outcomes resulting from an exposure event which\n      is the manifestation of a disease or other characteristic phenotype.\n\n  behavioral outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the manifestation of human behavior.\n\n  hospitalization outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the increased manifestation of acute (e.g. emergency\n      room visit) or chronic (inpatient) hospitalization.\n\n  mortality outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome of death from resulting from an exposure event.\n\n  epidemiological outcome:\n    mixins:\n      - outcome\n    description: >-\n      An epidemiological outcome, such as societal disease\n      burden, resulting from an exposure event.\n    related_mappings:\n      - NCIT:C19291\n\n  socioeconomic outcome:\n    mixins:\n      - outcome\n    description: >-\n      An general social or economic outcome, such as\n      healthcare costs, utilization, etc., resulting from an exposure event\n\n  ## ------------\n  ## ASSOCIATIONS\n  ## ------------\n\n  association:\n    is_a: entity\n    description: >-\n      A typed association between two entities, supported by evidence\n    comments:\n      - This is roughly the model used by biolink and ontobio at the moment\n    slots:\n      - subject\n      - predicate\n      - object\n      - negated\n      - qualifiers\n      - publications\n      - has evidence\n      - knowledge source\n      - primary knowledge source\n      - aggregator knowledge source\n      - timepoint\n      - original subject\n      - original predicate\n      - original object\n    slot_usage:\n      type:\n        description: rdf:type of biolink:Association should be fixed at rdf:Statement\n      category:\n        range: category type\n        required: false\n    exact_mappings:\n      - OBAN:association\n      - rdf:Statement\n      - owl:Axiom\n\n\n  chemical entity assesses named thing association:\n    is_a: association\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: assesses\n\n\n  contributor association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      Any association between an entity (such as a publication)\n      and various agents that contribute to its realisation\n    slot_usage:\n      subject:\n        range: information content entity\n        description: >-\n          information content entity which an agent has helped realise\n      predicate:\n        subproperty_of: contributor\n        description: >-\n          generally one of the predicate values 'provider', 'publisher', 'editor' or 'author'\n      object:\n        range: agent\n        description: >-\n          agent helping to realise the given entity (e.g. such as a publication)\n      qualifiers:\n        description: >-\n          this field can be used to annotate special characteristics of an\n          agent relationship, such as the fact that a given author agent of\n          a publication is the 'corresponding author'\n\n  genotype to genotype part association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a genotypic entity that is a sub-component of it\n    slot_usage:\n      predicate:\n        subproperty_of: has variant part\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: genotype\n        description: >-\n          child genotype\n\n  genotype to gene association:\n    description: >-\n      Any association between a genotype and a gene.\n      The genotype have have multiple variants in that gene or a single one.\n      There is no assumption of cardinality\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: gene\n        description: >-\n          gene implicated in genotype\n\n  genotype to variant association:\n    description: >-\n      Any association between a genotype and a sequence variant.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: sequence variant\n        description: >-\n          gene implicated in genotype\n\n  gene to gene association:\n    aliases: [ 'molecular or genetic interaction' ]\n    description: >-\n      abstract parent class for different kinds of gene-gene or gene product\n      to gene product relationships. Includes homology and interaction.\n    abstract: true\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          the subject gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n      object:\n        range: gene or gene product\n        description: >-\n          the object gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n\n  gene to gene homology association:\n    description: >-\n      A homology association between two genes. May be orthology (in which\n      case the species of subject and object should differ) or paralogy\n      (in which case the species may be the same)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n      predicate:\n        subproperty_of: homologous to\n        symmetric: true\n        description: >-\n          homology relationship type\n      object:\n        range: gene or gene product\n\n  gene to gene family association:\n    description: >-\n      Set membership of a gene in a family of genes related by common\n      evolutionary ancestry usually inferred by sequence comparisons.\n      The genes in a given family generally share common sequence motifs which\n      generally map onto shared gene product structure-function relationships.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene family\n      predicate:\n        subproperty_of: member of\n        symmetric: false\n        description: >-\n          membership of the gene in the given gene family.\n\n  gene expression mixin:\n    description: >-\n      Observed gene expression intensity, context (site, stage) and\n      associated phenotypic status within which the expression occurs.\n    mixin: true\n    slots:\n      - quantifier qualifier\n      - expression site\n      - stage qualifier\n      - phenotypic state\n    slot_usage:\n      quantifier qualifier:\n        description: >-\n          Optional quantitative value indicating degree of expression.\n\n  gene to gene coexpression association:\n    description: >-\n      Indicates that two genes are co-expressed,\n      generally under the same conditions.\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: coexpressed with\n        symmetric: true\n\n  pairwise gene to gene interaction:\n    description: >-\n      An interaction between two genes or two gene products.\n      May be physical (e.g. protein binding) or genetic (between genes).\n      May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      predicate:\n        subproperty_of: interacts with\n        symmetric: true\n        description: \"interaction relationship type\"\n    narrow_mappings:\n      - dcid:ProteinProteinInteraction\n\n  pairwise molecular interaction:\n    description: >-\n      An interaction at the molecular level between two physical entities\n    is_a: pairwise gene to gene interaction\n    slots:\n      - interacting molecules category\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: molecular entity\n      id:\n        description: >-\n          identifier for the interaction. This may come from an interaction database such as IMEX.\n        examples:\n          - value: WB:WBInteraction000538741\n        values_from:\n          - IMEX\n          - BioGRID\n      predicate:\n        subproperty_of: interacts with\n        description: \"interaction relationship type\"\n        examples:\n          - value: RO:0002447\n            description: the subject molecular phosphorylates the object molecule\n      object:\n        range: molecular entity\n\n  cell line to entity association mixin:\n    description: >-\n      An relationship between a cell line and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: cell line\n\n  # TODO: figure out what gives with subject range\n  cell line to disease or phenotypic feature association:\n    is_a: association\n    mixins:\n      - cell line to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    description: >-\n      An relationship between a cell line and a disease or a phenotype, where\n      the cell line is derived from an individual with that disease or phenotype.\n    slot_usage:\n      subject:\n        #        - range: cell line\n        #        - range: disease or phenotypic feature\n        range: disease or phenotypic feature\n\n  chemical entity to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity that is an interactor\"\n\n  drug to entity association mixin:\n    description: >-\n      An interaction between a drug and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: drug\n        description: \"the drug that is an interactor\"\n\n  chemical to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity or entity that is an interactor\"\n\n  case to entity association mixin:\n    description: >-\n      An abstract association for use where the case is the subject\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: case\n        description: \"the case (e.g. patient) that has the property\"\n\n  chemical to chemical association:\n    description: >-\n      A relationship between two chemical entities. This can encompass actual\n      interactions as well as temporal causal edges, e.g. one chemical converted to another.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      object:\n        range: chemical entity\n        description: \"the chemical element that is the target of the statement\"\n\n  reaction to participant association:\n    description:\n    is_a: chemical to chemical association\n    slots:\n      - stoichiometry\n      - reaction direction\n      - reaction side\n    slot_usage:\n      subject:\n        range: molecular entity\n    defining_slots:\n      - subject\n      - predicate\n      - object\n\n  reaction to catalyst association:\n    description:\n    is_a: reaction to participant association\n    slot_usage:\n      object:\n        range: gene or gene product\n\n  chemical to chemical derivation association:\n    description: >-\n      A causal relationship between two chemical entities, where the subject\n      represents the upstream entity and the object represents the downstream.\n      For any such association there is an implicit reaction:\n        IF\n        R has-input C1 AND\n        R has-output C2 AND\n        R enabled-by P AND\n        R type Reaction\n        THEN\n        C1 derives-into C2 <<catalyst qualifier P>>\n    is_a: chemical to chemical association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - catalyst qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: >-\n          the upstream chemical entity\n      object:\n        range: chemical entity\n        description: >-\n          the downstream chemical entity\n      predicate:\n        subproperty_of: derives into\n      catalyst qualifier:\n        description: >-\n          this connects the derivation edge to the chemical entity that\n          catalyzes the reaction that causes the subject chemical to\n          transform into the object chemical.\n\n  chemical to disease or phenotypic feature association:\n    description: >-\n      An interaction between a chemical entity and a phenotype or disease,\n      where the presence of the chemical gives rise to or exacerbates the phenotype.\n    is_a: association\n    narrow_mappings:\n      - SIO:000993\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"the disease or phenotype that is affected by the chemical\"\n\n  chemical or drug or treatment to disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary undesirable effect.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slots:\n      - FDA adverse event level\n    slot_usage:\n      predicate:\n        subproperty_of: has adverse event\n\n  chemical or drug or treatment side effect disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary, typically (but not always) undesirable effect.\n    is_a: chemical or drug or treatment to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has side effect\n\n  gene to pathway association:\n    description: >-\n      An interaction between a gene or gene product and a biological process or pathway.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"the gene or gene product entity that participates or influences the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that includes or is affected by the gene or gene product\"\n\n  molecular activity to pathway association:\n    description: >-\n      Association that holds the relationship between a reaction and the pathway it participates in.\n    is_a: association\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: pathway\n      predicate:\n        subproperty_of: part of\n\n  chemical to pathway association:\n    description: >-\n      An interaction between a chemical entity and a biological process or pathway.\n    is_a: association\n    exact_mappings:\n      - SIO:001250\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: \"the chemical entity that is affecting the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that is affected by the chemical\"\n\n  named thing associated with likelihood of named thing association:\n    # TODO: better name\n    description: >-\n    is_a: association\n    defining_slots:\n      - subject\n      - subject aspect qualifier\n      - subject context qualifier\n      - predicate\n      - object\n      - object aspect qualifier\n      - object context qualifier\n      - population context qualifier\n    slot_usage:\n      predicate:\n        subproperty_of: associated with\n      subject aspect qualifier:\n      # TODO: range\n      subject context qualifier:\n        range: ontology class\n      object aspect qualifier:\n      # TODO: range\n      object context qualifier:\n        range: ontology class\n\n  chemical gene interaction association:\n    description: >-\n      describes a physical interaction between a chemical entity and a gene or gene product. Any biological or chemical\n      effect resulting from such an interaction are out of scope, and covered by the ChemicalAffectsGeneAssociation type\n      (e.g. impact of a chemical on the abundance, activity, structure, etc, of either participant in the interaction)\n    is_a: association\n    exact_mappings:\n      - SIO:001257\n    mixins:\n      - chemical to entity association mixin\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object context qualifier\n      - anatomical context qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: gene or gene product\n      predicate:\n        subproperty_of: physically interacts with\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      subject context qualifier:\n        range: anatomical entity\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object context qualifier:\n        range: anatomical entity\n      anatomical context qualifier:\n        range: anatomical entity\n\n  chemical affects gene association:\n    description: >-\n      Describes an effect that a chemical has on a gene or gene product (e.g. an impact of on its abundance, activity,\n      localization, processing, expression, etc.)\n    is_a: association\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject aspect qualifier\n      - subject context qualifier\n      - subject direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object aspect qualifier\n      - object context qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - qualified predicate\n    slot_usage:\n      subject:\n        range: chemical entity\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      subject aspect qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject context qualifier:\n        range: anatomical entity\n      subject direction qualifier:\n        range: DirectionQualifierEnum\n      predicate:\n        subproperty_of: affects\n      qualified predicate:\n        subproperty_of: causes\n      object:\n        range: gene or gene product\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object aspect qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object context qualifier:\n        range: anatomical entity\n      object direction qualifier:\n        range: DirectionQualifierEnum\n      causal mechanism qualifier:\n        range: CausalMechanismQualifierEnum\n      anatomical context qualifier:\n        range: anatomical entity\n      species context qualifier:\n        range: organism taxon\n\n  drug to gene association:\n    description: >-\n      An interaction between a drug and a gene or gene product.\n    is_a: association\n    related_mappings:\n      - SIO:001257\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - drug to entity association mixin\n    slot_usage:\n      object:\n        range: gene or gene product\n        description: \"the gene or gene product that is affected by the drug\"\n\n  material sample to entity association mixin:\n    description: >-\n      An association between a material sample and something.\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n\n  material sample derivation association:\n    description: >-\n      An association between a material sample and\n      the material entity from which it is derived.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n      object:\n        description: >-\n          the material entity the sample was derived from. This may be another\n          material sample, or any other material entity, including for example\n          an organism, a geographic feature, or some environmental material.\n      predicate:\n        description: >-\n          derivation relationship\n        subproperty_of: derives from\n\n  material sample to disease or phenotypic feature association:\n    description: >-\n      An association between a material sample and a disease or phenotype.\n    is_a: association\n    mixins:\n      - material sample to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    defining_slots:\n      - subject\n      - object\n\n  disease to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease\n        description: \"disease class\"\n        values_from: [ 'mondo', 'omim', 'orphanet', 'ncit', 'doid' ]\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n\n  entity to exposure event association mixin:\n    description: >-\n      An association between some entity and an exposure event.\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: exposure event\n\n  disease to exposure event association:\n    description: >-\n      An association between an exposure event and a disease.\n    is_a: association\n    mixins:\n      - disease to entity association mixin\n      - entity to exposure event association mixin\n    defining_slots:\n      - subject\n      - object\n\n\n  entity to outcome association mixin:\n    description: >-\n      An association between some entity and an outcome\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: outcome\n\n  exposure event to outcome association:\n    description: >-\n      An association between an exposure event and an outcome.\n    is_a: association\n    mixins:\n      - entity to outcome association mixin\n    slots:\n      - population context qualifier\n      - temporal context qualifier\n    defining_slots:\n      - subject\n      - object\n\n  frequency qualifier mixin:\n    mixin: true\n    description: >-\n      Qualifier for frequency type associations\n    slots:\n      - frequency qualifier\n\n  entity to feature or disease qualifiers mixin:\n    description: >-\n      Qualifiers for entity to disease or phenotype associations.\n    mixin: true\n    is_a: frequency qualifier mixin\n    slots:\n      - severity qualifier\n      - onset qualifier\n\n  entity to phenotypic feature association mixin:\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    mixins:\n      - frequency quantifier\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: phenotypic feature\n        values_from: [ 'upheno', 'hp', 'mp', 'wbphenotype' ]\n        examples:\n          - value: HP:0002487\n            description: Hyperkinesis\n          - value: WBPhenotype:0000180\n            description: axon morphology variant\n          - value: MP:0001569\n            description: abnormal circulating bilirubin level\n    slots:\n      - sex qualifier\n\n  information content entity to named thing association:\n    description: >-\n      association between a named thing and a information content entity where the specific context\n      of the relationship between that named thing and the publication is unknown. For\n      example, model organisms databases often capture the knowledge that a gene is found in a\n      journal article, but not specifically the context in which that gene was documented in the article.\n      In these cases, this association with the accompanying predicate 'mentions' could be used.\n      Conversely, for more specific associations (like 'gene to disease association', the publication should\n      be captured as an edge property).\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        domain: publication\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: mentions\n    in_subset:\n      - model_organism_database\n\n  entity to disease association mixin:\n    description: >-\n      mixin class for any association whose object (target node) is a disease\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease\n        description: \"disease\"\n        examples:\n          - value: MONDO:0020066\n            description: \"Ehlers-Danlos syndrome\"\n\n  disease or phenotypic feature to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  disease or phenotypic feature to location association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      an anatomical entity, where the disease/feature manifests in that site.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      object:\n        range: anatomical entity\n        description: >-\n          anatomical entity in which the disease or feature is found.\n        examples:\n          - value: UBERON:0002048\n            description: \"lung\"\n\n  disease or phenotypic feature to genetic inheritance association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      its mode of (genetic) inheritance.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has mode of inheritance\n      object:\n        range: genetic inheritance\n        description: >-\n          genetic inheritance associated with the specified disease or phenotypic feature.\n        examples:\n          - value: HP:0001417\n            description: \"X-linked inheritance\"\n\n  entity to disease or phenotypic feature association mixin:\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  genotype to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: genotype\n        description: \"genotype that is the subject of the association\"\n\n  genotype to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a phenotypic feature, where having\n      the genotype confers the phenotype, either in isolation or through environment\n    mixins:\n      - entity to phenotypic feature association mixin\n      - genotype to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has phenotype\n      subject:\n        range: genotype\n        description: >-\n          genotype that is associated with the phenotypic feature\n\n  # ie: smoke exposure to coughing phenotype? is this a denormalization?\n  exposure event to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between an environment and a phenotypic feature,\n      where being in the environment influences the phenotype.\n    mixins:\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: exposure event\n\n  disease to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      An association between a disease and a phenotypic feature in which the\n      phenotypic feature is associated with the disease in some way.\n    mixins:\n      - entity to phenotypic feature association mixin\n      - disease to entity association mixin\n    close_mappings:\n      - dcid:DiseaseSymptomAssociation\n    slot_usage:\n      subject:\n        range: disease\n      object:\n        range: phenotypic feature\n\n  case to phenotypic feature association:\n    description: >-\n      An association between a case (e.g. individual patient) and a phenotypic\n      feature in which the individual has or has had the phenotype.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - case to entity association mixin\n\n  behavior to behavioral feature association:\n    description: >-\n      An association between an mixture behavior and\n      a behavioral feature manifested by\n      the individual exhibited or has exhibited the behavior.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: behavior\n        description: >-\n          behavior that is the subject of the association\n      object:\n        range: behavioral feature\n        description: >-\n          behavioral feature that is the object of the association\n    mixins:\n      - entity to phenotypic feature association mixin\n\n  gene to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene that is the subject of the association\n\n  variant to entity association mixin:\n    local_names:\n      ga4gh: variant annotation\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is associated with some other entity\n        examples:\n          - value: CLINVAR:38077\n            description: \"CLINVAR representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)\"\n          - value: ClinGen:CA024716\n            description: \"chr13:g.32921033G>C (hg19) in ClinGen\"\n\n  gene to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n      - WBVocab:Gene-Phenotype-Association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"gene in which variation is correlated with the phenotypic feature\"\n        examples:\n          - value: HGNC:2197\n            description: \"COL1A1 (Human)\"\n      object:\n        range: phenotypic feature\n\n  gene to disease association:\n    is_a: association\n    comments:\n      - NCIT:R176 refers to the inverse relationship\n    exact_mappings:\n      - SIO:000983\n    close_mappings:\n      - dcid:DiseaseGeneAssociation\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease,\n          may be protective or causative or associative, or as a model\n      object:\n        range: disease\n\n  druggable gene to disease association:\n    is_a: gene to disease association\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease\n          in a protective manner, or if the product produced by the gene can be targeted by a small molecule and\n          this leads to a protective or improving disease state.\n      predicate:\n        subproperty_of: target for\n      has evidence:\n        range: DruggableGeneCategoryEnum\n    defining_slots:\n      - subject\n      - object\n      - predicate\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n\n  variant to gene association:\n    description: >-\n      An association between a variant and a gene, where the variant has\n      a genetic association with the gene (i.e. is in linkage disequilibrium)\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - variant to entity association mixin\n    slot_usage:\n      object:\n        range: gene\n      predicate:\n        subproperty_of: genetic association\n\n  variant to gene expression association:\n    description: >-\n      An association between a variant and expression of a gene (i.e. e-QTL)\n    is_a: variant to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: affects\n\n  variant to population association:\n    description: >-\n      An association between a variant and a population, where the variant has\n      particular frequency in the population\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - frequency quantifier\n      - frequency qualifier mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          an allele that has a certain frequency in a given population\n        examples:\n          - value: \"NC_000017.11:g.43051071A>T\"\n            description: >-\n              17:41203088 A/C in gnomad\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that is observed to have the frequency\n        examples:\n          - value: HANCESTRO:0010\n            description: African\n      has quotient:\n        description: >-\n          frequency of allele in population, expressed as a number with allele\n          divided by number in reference population, aka allele frequency\n        examples:\n          - value: \"0.0001666\"\n      has count:\n        description: >-\n          number in object population that carry a particular allele, aka allele count\n        examples:\n          - value: \"4\"\n            description: 4 individuals in gnomad set\n      has total:\n        description: >-\n          number all populations that carry a particular allele, aka allele number\n        examples:\n          - value: \"24014\"\n            description: 24014 individuals in gnomad set\n\n  population to population association:\n    description: >-\n      An association between a two populations\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: population of individual organisms\n        description: >-\n          the population that form the subject of the association\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that form the object of the association\n      predicate:\n        # subproperty_of: ???\n        description: >-\n          A relationship type that holds between the subject and object\n          populations. Standard mereological relations can be used.\n          E.g. subject part-of object, subject overlaps object.\n          Derivation relationships can also be used\n\n  variant to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is\n          associated in some way with the phenotype state\n\n  variant to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a sequence variant in which the allele state\n          is associated in some way with the disease state\n        examples:\n          - value: CLINVAR:52241\n            description: \"NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)\"\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that variant\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  genotype to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - genotype to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a genotype that is associated in some way with a disease state\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that genotype\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  model to disease association mixin:\n    description: >-\n      This mixin is used for any association class for which the subject\n      (source node) plays the role of a 'model', in that it recapitulates some\n      features of the disease in a way that is useful for studying the disease\n      outside a patient carrying the disease\n    mixin: true\n    slot_usage:\n      subject:\n        description: >-\n          The entity that serves as the model of the disease. This may be\n          an organism, a strain of organism, a genotype or variant that exhibits\n          similar features, or a gene that when mutated exhibits features of the disease\n      predicate:\n        subproperty_of: model of\n        description: >-\n          The relationship to the disease\n\n  gene as a model of disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be a model\n          organism ortholog of a known disease gene, or it may be a gene whose\n          mutants recapitulate core features of the disease.\n\n  variant as a model of disease association:\n    is_a: variant to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          A variant that has a role in modeling the disease.\n\n  genotype as a model of disease association:\n    is_a: genotype to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: genotype\n        description: >-\n          A genotype that has a role in modeling the disease.\n\n  cell line as a model of disease association:\n    is_a: cell line to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: cell line\n        description: >-\n          A cell line derived from an organismal entity with a disease state that is used\n          as a model of that disease.\n\n  organismal entity as a model of disease association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: organismal entity\n        description: >-\n          A organismal entity (strain, breed) with a predisposition to a disease, or bred/created\n          specifically to model a disease.\n\n  organism to organism association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: individual organism\n      object:\n        range: individual organism\n        description: >-\n          An association between two individual organisms.\n\n  taxon to taxon association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n        description: >-\n          An association between individuals of different taxa.\n\n  gene has variant that contributes to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - sequence variant qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be\n          a model organism ortholog of a known disease gene, or it may be\n          a gene whose mutants recapitulate core features of the disease.\n\n  gene to expression site association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      An association between a gene and a gene expression site,\n      possibly qualified by stage/timing info.\n    notes:\n      - \"TBD: introduce subclasses for distinction between wild-type and experimental conditions?\"\n    see_also: \"https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee\"\n    slots:\n      - stage qualifier\n      - quantifier qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          Gene or gene product positively within the specified\n          anatomical entity (or subclass, i.e. cellular component) location.\n      object:\n        range: anatomical entity\n        description: \"location in which the gene is expressed\"\n        examples:\n          - value: UBERON:0002037\n            description: cerebellum\n      predicate:\n        description: \"expression relationship\"\n        subproperty_of: expressed in\n      stage qualifier:\n        range: life stage\n        description: \"stage at which the gene is expressed in the site\"\n        examples:\n          - value: UBERON:0000069\n            description: larval stage\n      quantifier qualifier:\n        description: >-\n          can be used to indicate magnitude, or also ranking\n\n  sequence variant modulates treatment association:\n    is_a: association\n    description: >-\n      An association between a sequence variant and a treatment or health intervention.\n      The treatment object itself encompasses both the disease and the drug used.\n    comments:\n      - An alternate way to model the same information could be via a qualifier\n    defining_slots:\n      - subject\n      - object\n    abstract: true\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: \"variant that modulates the treatment of some disease\"\n      object:\n        range: treatment\n        description: \"treatment whose efficacy is modulated by the subject variant\"\n\n  functional association:\n    is_a: association\n    description: >-\n      An association between a macromolecular machine mixin (gene, gene product or\n      complex of gene products) and either a molecular activity, a biological\n      process or a cellular location in which a function is executed.\n    slot_usage:\n      subject:\n        range: macromolecular machine mixin\n        description: >-\n          gene, product or macromolecular complex that\n          has the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n          - value: GO:0045211\n            description: postsynaptic membrane\n\n  macromolecular machine to entity association mixin:\n    description: >-\n      an association which has a macromolecular machine mixin as a subject\n    mixin: true\n    slot_usage:\n      subject:\n        domain: macromolecular machine mixin\n\n  macromolecular machine to molecular activity association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a molecular activity (as represented\n      in the GO molecular function branch), where the entity\n      carries out the activity, or contributes to its execution.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: molecular activity\n\n  macromolecular machine to biological process association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a biological process or pathway\n      (as represented in the GO biological process branch), where the entity\n      carries out some part of the process, regulates it, or acts upstream of it.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: biological process\n\n  macromolecular machine to cellular component association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a cellular component (as represented\n      in the GO cellular component branch), where the entity\n      carries out its function in the cellular component.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: cellular component\n\n  molecular activity to chemical entity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: chemical entity\n\n  molecular activity to molecular activity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: molecular activity\n\n\n  gene to go term association:\n    aliases: [ 'functional association' ]\n    is_a: functional association\n    exact_mappings:\n      - WBVocab:Gene-GO-Association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene\n        description: >-\n          gene, product or macromolecular complex that has\n          the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n\n  entity to disease association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  entity to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  ## -----------------\n  ## SEQUENCE FEATURES\n  ## -----------------\n\n  sequence association:\n    is_a: association\n    description: >-\n      An association between a sequence feature and a nucleic acid entity it is localized to.\n\n  genomic sequence localization:\n    is_a: sequence association\n    description: >-\n      A relationship between a sequence feature and a nucleic acid entity\n      it is localized to. The reference entity may be a chromosome,\n      chromosome region or information entity such as a contig.\n    slot_usage:\n      subject:\n        aliases: [ 'sequence feature' ]\n        range: nucleic acid entity\n      object:\n        aliases: [ 'reference' ]\n        range: nucleic acid entity # typically a chromosome use monochrom\n      predicate:\n        subproperty_of: has sequence location\n    slots:\n      - start interbase coordinate\n      - end interbase coordinate\n      - genome build\n      - strand\n      - phase\n    broad_mappings:\n      - dcid:Chromosome\n    exact_mappings:\n      - dcid:GenomeAnnotation\n\n  sequence feature relationship:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      For example, a particular exon is part of a particular transcript or gene\n    slot_usage:\n      subject:\n        range: nucleic acid entity\n      object:\n        range: nucleic acid entity # typically a chromosome\n    exact_mappings:\n      - CHADO:feature_relationship\n\n  transcript to gene relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is a collection of transcripts\n    slot_usage:\n      subject:\n        range: transcript\n      object:\n        range: gene\n\n  gene to gene product relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is transcribed and potentially translated to a gene product\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene product mixin\n      predicate:\n        subproperty_of: has gene product\n\n  exon to transcript relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A transcript is formed from multiple exons\n    slot_usage:\n      subject:\n        range: exon\n      object:\n        range: transcript\n\n  chemical entity or gene or gene product regulates gene association:\n    is_a: association\n    description: >-\n      A regulatory relationship between two genes\n    slots:\n      - object direction qualifier\n    slot_usage:\n      predicate:\n        description: >-\n          the direction is always from regulator to regulated\n        subproperty_of: regulates\n      subject:\n        range: chemical entity or gene or gene product\n        role: regulatory gene\n      object:\n        range: gene or gene product\n        role: regulated gene\n      object direction qualifier:\n        range: DirectionQualifierEnum\n\n  anatomical entity to anatomical entity association: # schema: gocam\n    is_a: association\n    abstract: true\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: anatomical entity\n      object:\n        range: anatomical entity\n\n  anatomical entity to anatomical entity part of association:\n    #      schema: gocam\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is mereological, i.e the two entities are related by parthood. This\n      includes relationships between cellular components and cells, between\n      cells and tissues, tissues and whole organisms\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the part\n      object:\n        range: anatomical entity\n        description: >-\n          the whole\n      predicate:\n        subproperty_of: part of\n\n  anatomical entity to anatomical entity ontogenic association:\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is ontogenic, i.e. the two entities are related by development. A number\n      of different relationship types can be used to specify the precise\n      nature of the relationship.\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the structure at a later time\n      object:\n        range: anatomical entity\n        description: >-\n          the structure at an earlier time\n      predicate:\n        subproperty_of: develops from\n\n  organism taxon to entity association:\n    mixin: true\n    description: >-\n      An association between an organism taxon and another entity\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: organism taxon\n        description: >-\n          organism taxon that is the subject of the association\n\n  organism taxon to organism taxon association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    description: >-\n      A relationship between two organism taxon nodes\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n\n  organism taxon to organism taxon specialization:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      A child-parent relationship between two taxa.\n      For example: Homo sapiens subclass_of Homo\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: child taxon\n        description: >-\n          the more specific taxon\n      object:\n        range: organism taxon\n        role: parent taxon\n        description: >-\n          the more general taxon\n      predicate:\n        subproperty_of: subclass of\n\n  organism taxon to organism taxon interaction:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      An interaction relationship between two taxa. This may be a symbiotic\n      relationship (encompassing mutualism and parasitism), or it may be non-symbiotic.\n      Example: plague transmitted_by flea; cattle domesticated_by Homo sapiens; plague infects Homo sapiens\n    defining_slots:\n      - predicate\n    slots:\n      - associated environmental context\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        range: organism taxon\n        role: interactee taxon\n        description: >-\n          the taxon that is the subject of the association\n      predicate:\n        subproperty_of: interacts with\n      associated environmental context:\n        description: >-\n          the environment in which the two taxa interact\n\n  organism taxon to environment association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        role: environmental context\n        description: >-\n          the environment in which the organism occurs\n      predicate:\n        description: >-\n          predicate describing the relationship between the taxon and the environment\n\nenums:\n\n  AnatomicalContextQualifierEnum:\n    reachable_from:\n      source_ontology: bioregistry:uberon\n      source_nodes:\n        - UBERON:0001062\n      is_direct: false\n      relationship_types:\n        - rdfs:subClassOf\n\n  DirectionQualifierEnum:\n    permissible_values:\n      increased:\n      upregulated:\n        is_a: increased\n        close_mappings:\n          - RO:0002336\n        exact_mappings:\n          - RO:0002213\n        narrow_mappings:\n          - RO:0004032\n          - RO:0004034\n          - RO:0002629\n      decreased:\n      downregulated:\n        is_a: decreased\n        exact_mappings:\n          - RO:0004035\n          - RO:0002212\n        close_mappings:\n          # This RTX contributed term is tagged as an inverse of this Biolink predicate\n          - RO:0002335\n        broad_mappings:\n          # This term is slightly broader in that it includes that A acts within B as well\n          - RO:0004033\n\n  ChemicalEntityDerivativeEnum:\n    permissible_values:\n      metabolite:\n\n  ChemicalOrGeneOrGeneProductFormOrVariantEnum:\n    permissible_values:\n      genetic_variant_form:\n        is_a: modified form\n      mutant_form:\n        is_a: genetic variant form\n      polymorphic_form:\n        is_a: mutant form\n      snp_form:\n        is_a: polymorphic form\n      analog_form:\n\n  GeneOrGeneProductOrChemicalPartQualifierEnum:\n    permissible_values:\n      3_prime_utr:\n      5_prime_utr:\n      polya_tail:\n      promoter:\n      enhancer:\n      exon:\n      intron:\n\n  GeneOrGeneProductOrChemicalEntityAspectEnum:\n    permissible_values:\n      activity_or_abundance:\n        description: >- \n          Used in cases where the specificity of the relationship can not be determined to be either activity \n          or abundance.  In general, a more specific value from this enumeration should be used.\n      abundance:\n        is_a: activity_or_abundance\n      activity:\n        is_a: activity_or_abundance\n      expression:\n        is_a: abundance\n      synthesis:\n        is_a: abundance\n      degradation:\n        is_a: abundance # negate the direction qualifier necessary.\n      cleavage:\n        is_a: degradation\n      hydrolysis:\n        is_a: degradation\n      metabolic_processing:\n      mutation_rate:\n      stability:\n      folding:\n      localization:\n      transport:\n      secretion:\n        is_a: transport\n      uptake:\n        is_a: transport\n      molecular_modification:\n      acetylation:\n        is_a: molecular_modification\n      acylation:\n        is_a: molecular_modification\n      alkylation:\n        is_a: molecular_modification\n      amination:\n        is_a: molecular_modification\n      carbamoylation:\n        is_a: molecular_modification\n      ethylation:\n        is_a: molecular_modification\n      glutathionylation:\n        is_a: molecular_modification\n      glycation:\n        is_a: molecular_modification\n      glycosylation:\n        is_a: molecular_modification\n      glucuronidation:\n        is_a: molecular_modification\n      n_linked_glycosylation:\n        is_a: molecular_modification\n      o_linked_glycosylation:\n        is_a: molecular_modification\n      hydroxylation:\n        is_a: molecular_modification\n      lipidation:\n        is_a: molecular_modification\n      farnesylation:\n        is_a: molecular_modification\n      geranoylation:\n        is_a: molecular_modification\n      myristoylation:\n        is_a: molecular_modification\n      palmitoylation:\n        is_a: molecular_modification\n      prenylation:\n        is_a: molecular_modification\n      methylation:\n        is_a: molecular_modification\n      nitrosation:\n        is_a: molecular_modification\n      nucleotidylation:\n        is_a: molecular_modification\n      phosphorylation:\n        is_a: molecular_modification\n      ribosylation:\n        is_a: molecular_modification\n      ADP-ribosylation:\n        is_a: molecular_modification\n      sulfation:\n        is_a: molecular_modification\n      sumoylation:\n        is_a: molecular_modification\n      ubiquitination:\n        is_a: molecular_modification\n      oxidation:\n        is_a: molecular_modification\n      reduction:\n        is_a: molecular_modification\n      carboxylation:\n        is_a: molecular_modification\n\n  CausalMechanismQualifierEnum:\n    permissible_values:\n      binding:\n        description: >-\n          A causal mechanism mediated by the direct contact between effector and target chemical or \n          biomolecular entity, which form a stable physical interaction.\n      inhibition:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to the target and negatively effects its normal function, \n          e.g. prevention of enzymatic reaction or activation of downstream pathway.\n        close_mappings:\n          - DGIdb:inhibitor\n          - SEMMEDDB:INHIBITS\n        narrow_mappings:\n          - DGIdb:blocker\n          - DGIdb:channel_blocker\n          - DGIdb:gating_inhibitor\n          - CHEMBL.MECHANISM:antisense_inhibitor\n          - CHEMBL.MECHANISM:blocker\n          - CHEMBL.MECHANISM:inhibitor\n          - CHEMBL.MECHANISM:negative_allosteric_modulator\n          - CHEMBL.MECHANISM:negative_modulator\n          - DGIdb:negative_modulator\n      antibody_inhibition:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which an antibody specifically binds to and interferes with the target.\n      antagonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a receptor and prevents activation by an agonist \n          through competing for the binding site.\n        close_mappings:\n          - DGIdb:antagonist\n          - CHEMBL.MECHANISM:antagonist\n        narrow_mappings:\n          - CHEMBL.MECHANISM:allosteric_antagonist\n      molecular_channel_blockage:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and prevents or reduces \n          transport of ions through it.\n      inverse_agonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to the same receptor-binding site as an agonist and antagonizes\n          its effects, often exerting the opposite effect of the agonist by suppressing spontaneous receptor signaling.\n        close_mappings:\n          - CHEMBL.MECHANISM:inverse_agonist\n          - DGIdb:inverse_agonist\n      negative_allosteric_modulation:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector reduces or prevents the action of the endogenous ligand of a \n          receptor by binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n        close_mappings:\n          - CHEMBL.MECHANISM:negative_allosteric_modulator\n          - DGIdb:inhibitory_allosteric_modulator\n        narrow_mappings:\n          - DGIdb:negative_modulator\n      agonism:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds and activates a receptor to mimic the effect of an \n          endogenous ligand.\n        close_mappings:\n          - CHEMBL.MECHANISM:agonist\n          - DGIdb:agonist\n        narrow_mappings:\n          - CHEMBL.MECHANISM:partial_agonist\n          - DGIdb:partial_agonist\n      molecular_channel_opening:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and facilitates transport of \n          ions through it.\n        close_mappings:\n          - CHEMBL.MECHANISM:opener\n      positive_allosteric_modulation:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector enhances the action of the endogenous ligand of a receptor by \n          binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n        close_mappings:\n          - CHEMBL.MECHANISM:positive_allosteric_modulator\n          - CHEMBL.MECHANISM:positive_modulator\n          - DGIdb:positive_allosteric_modulator\n        broad_mappings:\n          - DGIdb:modulator\n          - DGIdb:allosteric_modulator\n      potentiation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector  binds to and enhances or intensifies the effect of some \n          other chemical or drug on its target.\n        close_mappings:\n      activation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and positively affects the normal functioning of its target.\n        close_mappings:\n          - CHEMBL.MECHANISM:activator\n          - DGIdb:activator\n      inducer:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and increases the activity/rate of an enzyme that \n          processes drugs in the body.\n        close_mappings:\n          - DGIdb:inducer\n      transcriptional_regulation:\n        description: >-\n          A causal mechanism mediated by through the control of target gene transcription\n      signaling_mediated_control:\n        description: >-\n          A causal mechanism mediated by the activation or control of signaling events that influence the some aspect \n          of the target entity (e.g. its activity, processing, transport, etc)\n      stabilization:\n        is_a: activation\n        close_mappings:\n          - CHEMBL.MECHANISM:stabiliser\n      stimulation:\n        is_a: activation\n        close_mappings:\n          - DGIdb:stimulator\n          - SEMMEDDB:STIMULATES\n          - DGIdb:stimulator\n      releasing_activity:\n        is_a: activation\n        close_mappings:\n          - CHEMBL:MECHANISM:releasing_agent\n\n  LogicalInterpretationEnum:\n    permissible_values:\n      some_some:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as a some-some statement\n        meaning: os:SomeSomeInterpretation\n      all_some:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as an all-some statement.\n        meaning: os:AllSomeInterpretation\n      inverse_all_some:\n\n  ReactionDirectionEnum:\n    permissible_values:\n      left_to_right:\n      right_to_left:\n      bidirectional:\n      neutral:\n\n  ReactionSideEnum:\n    permissible_values:\n      left:\n      right:\n\n  PhaseEnum:\n    description: phase\n    permissible_values:\n      0:\n      1:\n      2:\n\n  StrandEnum:\n    description: strand\n    permissible_values:\n      \"+\":\n        description: Positive\n      \"-\":\n        description: Negative\n      \".\":\n        description: Unstranded\n      \"?\":\n        description: Unknown\n\n  SequenceEnum:\n    description: type of sequence\n    permissible_values:\n      \"na\":\n        description: nucleic acid\n      \"aa\":\n        description: amino acid\n\n  DruggableGeneCategoryEnum:\n    permissible_values:\n      \"tclin\":\n        description: >-\n          These targets have activities in DrugCentral (ie. approved drugs) with known mechanism of action.\n      \"tbio\":\n        description: >-\n          These targets have activities in ChEMBL, Guide to Pharmacology or DrugCentral that satisfy\n          the activity thresholds detailed below.\n      \"tchem\":\n        description: >-\n          These targets do not have known drug or small molecule activities that satisfy the activity\n          thresholds detailed below AND satisfy one or more of the following criteria:\n          target is above the cutoff criteria for Tdark\n          target is annotated with a Gene Ontology Molecular Function or Biological Process leaf term(s)\n          with an Experimental Evidence code\n      \"tdark\":\n        description: >-\n          These are targets about which virtually nothing is known. They do not have known drug or small\n          molecule activities that satisfy the activity thresholds detailed below AND satisfy two or\n          more of the following criteria:\n          A PubMed text-mining score from Jensen Lab less than 5, greater than or equal TO 3 Gene RIFs, or\n          less than or equal to 50 Antibodies available according to http://antibodypedia.com.\n\n  DrugAvailabilityEnum:\n    description: >-\n    permissible_values:\n      \"over_the_counter\":\n        description: >-\n          chemical entity is available over the counter without a prescription.\n      \"prescription\":\n        description:\n          chemical entity is available by prescription.\n\n  DrugDeliveryEnum:\n    permissible_values:\n      \"inhalation\":\n      \"oral\":\n      \"absorbtion_through_the_skin\":\n      \"intravenous_injection\":\n\n  FDAApprovalStatusEnum:\n    description: >-\n    permissible_values:\n      \"discovery_and_development_phase\":\n        description: >-\n          Discovery & Development Phase. Discovery involves researchers finding new possibilities\n          for medication through testing molecular compounds, noting unexpected effects from existing treatments,\n          or the creation of new technology that allows novel ways of targeting medical products to sites in the body.\n          Drug development occurs after researchers identify potential compounds for experiments.\n      \"preclinical_research_phase\":\n        description: >-\n          Preclinical Research Phase.  Once researchers have examined the possibilities a new drug may contain,\n          they must do preliminary research to determine its potential for harm (toxicity).\n          This is categorized as preclinical research and can be one of two types: in vitro or in vivo.\n      \"fda_clinical_research_phase\":\n        description: >-\n          Clinical Research Phase. Clinical research involves trials of the drug on people,\n          and it is one of the most involved stages in the drug development and approval process.\n          Clinical trials must answer specific questions and follow a protocol determined by\n          the drug researcher or manufacturer.\n      \"fda_review_phase_4\":\n        description: >-\n          FDA Review\n      \"fda_post_market_safety_review\":\n        description: >-\n          FDA Post-Market Safety Monitoring.  The last phase of drug approval is an ongoing one\n          while the drug is on the marketplace. If a developer wants to change anything about the\n          drug formulation or approve it for a new use, they must apply with the FDA. The FDA also\n          frequently reviews the drug’s advertising and its manufacturing facility to make sure\n          everything involved in its creation and marketing is in compliance with regulations.\n      \"fda_clinical_research_phase_1\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 1 involves 20 – 100 study participants and\n          lasts several months. This phase is used to determine the safety and dosage of the drug,\n          and about 70% of these drugs move on to the next clinical research phase.\n      \"fda_clinical_research_phase_2\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 2 involves up to several hundred people,\n          who must have the disease or condition the drug supposes to treat. This phase can last\n          from a few months to two years, and its purpose is to monitor the efficacy of the drug,\n          as well as note side effects that may occur.\n      \"fda_clinical_research_phase_3\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 3 involves 300 – 3000 volunteers\n          and can last up to four years. It is used to continue monitoring the efficacy of\n          the drug, as well as exploring any longer-term adverse reactions.\n      \"fda_clinical_research_phase_4\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 4 involves several thousands of\n          volunteers who have the disease or condition and continues to monitor safety and efficacy.\n          If a drug passes this phase, it goes on to FDA review.\n      \"fda_fast_track\":\n        description: >-\n          Fast track is a process designed to facilitate the development, and expedite the\n          review of drugs to treat serious conditions and fill an unmet medical need.\n          The purpose is to get important new drugs to the patient earlier. Fast Track\n          addresses a broad range of serious conditions. For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/fast-track\n      \"fda_breakthrough_therapy\":\n        description: >-\n          Breakthrough Therapy designation is a process designed to expedite the\n          development and review of drugs that are intended to treat a serious\n          condition and preliminary clinical evidence indicates that the drug may\n          demonstrate substantial improvement over available therapy on a clinically significant endpoint(s).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/breakthrough-therapy\n      \"fda_accelerated_approval\":\n        description: >-\n          When studying a new drug, it can sometimes take many years to learn whether a drug actually\n          provides a real effect on how a patient survives, feels, or functions. A positive therapeutic\n          effect that is clinically meaningful in the context of a given disease is known as “clinical benefit”.\n          Mindful of the fact that it may take an extended period of time to measure a drug’s intended clinical\n          benefit, in 1992 FDA instituted the Accelerated Approval regulations. These regulations allowed drugs\n          for serious conditions that filled an unmet medical need to be approved based on a surrogate endpoint.\n          Using a surrogate endpoint enabled the FDA to approve these drugs faster.\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/accelerated-approval\n      \"fda_priority_review\":\n        description: >-\n          Prior to approval, each drug marketed in the United States must go through a detailed FDA review process.\n          In 1992, under the Prescription Drug User Act (PDUFA), FDA agreed to specific goals for improving\n          the drug review time and created a two-tiered system of review times – Standard Review and Priority\n          Review. A Priority Review designation means FDA’s goal is to take action on an application\n          within 6 months (compared to 10 months under standard review).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/priority-review\n      \"regular_fda_approval\":\n        description: >-\n          Regular FDA Approval.  The last phase of drug approval is an ongoing one while the drug is on the marketplace.\n          If a developer wants to change anything about the drug formulation or approve it for a new use,\n          they must apply with the FDA. The FDA also frequently reviews the drug’s advertising and its\n          manufacturing facility to make sure everything involved in its creation and marketing is in compliance\n          with regulations.\n      \"post_approval_withdrawal\":\n\n  FDAIDAAdverseEventEnum:\n    description: >-\n      please consult with the FDA guidelines as proposed in this document:\n      https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/cfrsearch.cfm?fr=312.32\n    permissible_values:\n      \"life_threatening_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'life-threatening' if, in the view of either \n          the investigator or sponsor, its occurrence places the patient or subject at immediate risk of death. \n          It does not include an adverse event or suspected adverse reaction that, had it occurred in a more \n          severe form, might have caused death.\n      \"serious_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'serious' if, in the view of either the \n          investigator or sponsor, it results in any of the following outcomes: Death, a life-threatening adverse event,\n          inpatient hospitalization or prolongation of existing hospitalization, a persistent or significant incapacity \n          or substantial disruption of the ability to conduct normal life functions, or a congenital anomaly/birth \n          defect. Important medical events that may not result in death, be life-threatening, or require hospitalization\n          may be considered serious when, based upon appropriate medical judgment, they may jeopardize the patient or \n          subject and may require medical or surgical intervention to prevent one of the outcomes listed in this \n          definition. Examples of such medical events include allergic bronchospasm requiring intensive treatment \n          in an emergency room or at home, blood dyscrasias or convulsions that do not result in inpatient \n          hospitalization, or the development of drug dependency or drug abuse.\n      \"suspected_adverse_reaction\":\n         description: >-\n           means any adverse event for which there is a reasonable possibility that the drug caused the adverse event. \n           For the purposes of IND safety reporting, 'reasonable possibility' means there is evidence to suggest a \n           causal relationship between the drug and the adverse event. Suspected adverse reaction implies a lesser \n           degree of certainty about causality than adverse reaction, which means any adverse event caused by a drug.\n      \"unexpected_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'unexpected' if it is not listed in the \n          investigator brochure or is not listed at the specificity or severity that has been observed; or, if an \n          investigator brochure is not required or available, is not consistent with the risk information described \n          in the general investigational plan or elsewhere in the current application, as amended. For example, \n          under this definition, hepatic necrosis would be unexpected (by virtue of greater severity) if the \n          investigator brochure referred only to elevated hepatic enzymes or hepatitis. Similarly, cerebral \n          thromboembolism and cerebral vasculitis would be unexpected (by virtue of greater specificity) if the \n          investigator brochure listed only cerebral vascular accidents. 'Unexpected', as used in this definition, \n          also refers to adverse events or suspected adverse reactions that are mentioned in the investigator brochure\n          as occurring with a class of drugs or as anticipated from the pharmacological properties of the drug, but \n          are not specifically mentioned as occurring with the particular drug under investigation.\n"
  },
  {
    "path": "medikanren2/neo/neo-biolink/biolink_3_1_2/biolink-model.yaml",
    "content": "id: https://w3id.org/biolink/biolink-model\nname: Biolink-Model\ndescription: Entity and association taxonomy and datamodel for life-sciences data\nlicense: https://creativecommons.org/publicdomain/zero/1.0/\n\n# Version should be kept in sync with primary Git repository release tag\n\nversion: 3.1.2\n\n\n## ------------\n##\n## PREFIXES\n## ------------\n# CURIE namespaces (prefixes/base URI's) mappings of prefixes used in the body of the Biolink Model specification\n# are resolved using a specific precedence order, for use in the generation of the Biolink Model context.jsonld\n# mappings to namespaces. Any prefixes encountered in the Biolink Model but not resolved by the following\n# precedence sources, are anonymously declared by linkml as http://example.org/UNKNOWN/ rooted base URI's\n# which should ideally be repaired in one of the precedence lists.\n#\n# 1. The following 'prefixes:' delimited list has first precedence in resolution.\n#\nprefixes:\n  AGRKB: 'https://www.alliancegenome.org/'\n  apollo: 'https://github.com/GMOD/Apollo'\n  AspGD: 'http://www.aspergillusgenome.org/cgi-bin/locus.pl?dbid='\n  biolink: 'https://w3id.org/biolink/vocab/'\n  bioschemas: 'https://bioschemas.org/'\n  linkml: 'https://w3id.org/linkml/'\n  CAID: 'http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid='\n  # Placeholder: just points to GMOD Chado wiki\n  CHADO: 'http://gmod.org/wiki/Chado/'\n  # Placeholders: not sure how 'chembio'and CHEMBL.MECHANISM really resolve\n  ChemBank: 'http://chembank.broadinstitute.org/chemistry/viewMolecule.htm?cbid='\n  CHEMBL.MECHANISM: 'https://www.ebi.ac.uk/chembl/mechanism/inspect/'\n  CID: 'http://pubchem.ncbi.nlm.nih.gov/compound/'\n  CLINVAR: 'http://identifiers.org/clinvar'\n  COAR_RESOURCE: 'http://purl.org/coar/resource_type/'\n  COG: 'https://www.ncbi.nlm.nih.gov/research/cog-project/'\n  ComplexPortal: 'https://www.ebi.ac.uk/complexportal/complex/'\n  CPT: 'https://www.ama-assn.org/practice-management/cpt/'\n  CTD.CHEMICAL: 'http://ctdbase.org/detail.go?type=chem&acc='\n  CTD.DISEASE: 'http://ctdbase.org/detail.go?type=disease&db=MESH&acc='\n  CTD.GENE: 'http://ctdbase.org/detail.go?type=gene&acc='\n  CTD: 'http://ctdbase.org/'\n  DGIdb: 'https://www.dgidb.org/interaction_types'\n  dcat: 'http://www.w3.org/ns/dcat#'\n  dct: 'http://purl.org/dc/terms/'\n  dcid: 'https://datacommons.org/browser/'\n  doi: 'https://doi.org/'\n  DOID-PROPERTY: 'http://purl.obolibrary.org/obo/doid#'\n  DrugCentral: 'http://drugcentral.org/drugcard/'\n  ECTO: 'http://purl.obolibrary.org/obo/ECTO_'\n  EDAM-DATA: 'http://edamontology.org/data_'\n  EDAM-FORMAT: 'http://edamontology.org/format_'\n  EDAM-OPERATION: 'http://edamontology.org/operation_'\n  EDAM-TOPIC: 'http://edamontology.org/topic_'\n  EFO: 'http://www.ebi.ac.uk/efo/EFO_'\n  ExO: 'http://purl.obolibrary.org/obo/ExO_'\n  fabio: 'http://purl.org/spar/fabio/'\n  foaf: 'http://xmlns.com/foaf/0.1/'\n  foodb.food: 'http://foodb.ca/compounds/'\n  foodb.compound: 'http://foodb.ca/foods/'\n  FYECO: 'https://www.pombase.org/term/'\n  FYPO: 'http://purl.obolibrary.org/obo/FYPO_'  # Fission Yeast Phenotype Ontology\n  gff3: 'https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md#'\n  GOREL: 'http://purl.obolibrary.org/obo/GOREL_'\n  # GOP: Gene Ontology Property (not really a GO term but an associated metadatum)\n  GOP: 'http://purl.obolibrary.org/obo/go#'\n  gpi: 'https://github.com/geneontology/go-annotation/blob/master/specs/gpad-gpi-2-0.md#'\n  GSID: 'https://scholar.google.com/citations?user='\n  GTEx: 'https://www.gtexportal.org/home/gene/'\n  GTOPDB: 'https://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId='\n  gtpo: 'https://rdf.guidetopharmacology.org/ns/gtpo#'\n  HANCESTRO: 'http://www.ebi.ac.uk/ancestro/ancestro_'\n  HCPCS: 'http://purl.bioontology.org/ontology/HCPCS/'\n  HsapDv: 'http://purl.obolibrary.org/obo/HsapDv_'\n  ICD10: 'https://icd.codes/icd9cm/'\n  ICD9: 'http://translator.ncats.nih.gov/ICD9_'\n  interpro: 'https://www.ebi.ac.uk/interpro/entry/'\n  INO: 'http://purl.obolibrary.org/obo/INO_'\n  isbn: 'https://www.isbn-international.org/identifier/' # note: a resolvable base URI not available from isbn-international\n  isni: 'https://isni.org/isni/'\n  issn: 'https://portal.issn.org/resource/ISSN/'\n  ncats.drug: 'https://drugs.ncats.io/drug/'\n  KEGG.BRITE: 'http://www.kegg.jp/entry/'\n  KEGG.DGROUP: 'http://www.kegg.jp/entry/'\n  KEGG.ENZYME: 'http://www.kegg.jp/entry/'\n  KEGG.GENE: 'http://www.kegg.jp/entry/'\n  KEGG.PATHWAY: 'https://www.kegg.jp/entry/'\n  KEGG.RCLASS: 'http://www.kegg.jp/entry/'\n  LOINC: 'http://loinc.org/rdf/'\n  MAXO: 'http://purl.obolibrary.org/obo/MAXO_'\n  medgen: 'https://www.ncbi.nlm.nih.gov/medgen/'\n  metacyc.reaction: 'http://identifiers.org/metacyc.reaction:'\n  METANETX.REACTION: 'https://www.metanetx.org/equa_info/'\n  MESH: 'http://id.nlm.nih.gov/mesh/'\n  MI: 'http://purl.obolibrary.org/obo/MI_'\n  mirbase: 'http://identifiers.org/mirbase'\n  mmmp.biomaps: 'https://bioregistry.io/mmmp.biomaps:'\n  MmusDv: 'http://purl.obolibrary.org/obo/MMUSDV_'\n  MSigDB: 'https://www.gsea-msigdb.org/gsea/msigdb/'\n  NBO-PROPERTY: 'http://purl.obolibrary.org/obo/nbo#'\n  ncats.bioplanet: 'https://tripod.nih.gov/bioplanet/detail.jsp?pid='\n  NCBIGene: 'http://identifiers.org/ncbigene/'\n  NCIT-OBO: 'http://purl.obolibrary.org/obo/ncit#'\n  NDDF: 'http://purl.bioontology.org/ontology/NDDF/'\n  NLMID: 'https://www.ncbi.nlm.nih.gov/nlmcatalog/?term='\n  OBAN: 'http://purl.org/oban/'\n  oboformat: 'http://www.geneontology.org/formats/oboInOwl#'\n  OMIM.PS: 'https://www.omim.org/phenotypicSeries/'\n  ORCID: 'https://orcid.org/'\n  orphanet: 'http://www.orpha.net/ORDO/Orphanet_'\n  os: 'https://github.com/cmungall/owlstar/blob/master/owlstar.ttl'\n  PANTHER.FAMILY: 'http://www.pantherdb.org/panther/family.do?clsAccession='\n  PathWhiz: 'http://smpdb.ca/pathways/#'  # See also https://smpdb.ca/pathwhiz/\n  pav: 'http://purl.org/pav/'\n  PHAROS: 'http://pharos.nih.gov'\n  PomBase: 'https://www.pombase.org/gene/'\n  prov: 'http://www.w3.org/ns/prov#'\n  qud: 'http://qudt.org/1.1/schema/qudt#'\n  REPODB: 'http://apps.chiragjpgroup.org/repoDB/'\n  ResearchID: 'https://publons.com/researcher/'\n  RO: 'http://purl.obolibrary.org/obo/RO_'\n  RXNORM: 'http://purl.bioontology.org/ontology/RXNORM/'\n  RXCUI: 'https://mor.nlm.nih.gov/RxNav/search?searchBy=RXCUI&searchTerm='\n  schema: 'http://schema.org/'\n  ScopusID: 'https://www.scopus.com/authid/detail.uri?authorId='\n  SEED.REACTION: 'https://modelseed.org/biochem/reactions/'\n  SEMMEDDB: 'https://skr3.nlm.nih.gov/SemMedDB'\n  SIO: 'http://semanticscience.org/resource/SIO_'\n  SNOMEDCT: 'http://snomed.info/id/'\n  SPDI: 'https://api.ncbi.nlm.nih.gov/variation/v0/spdi/'\n  UBERGRAPH: 'http://translator.renci.org/ubergraph-axioms.ofn#'\n  UBERON_CORE: 'http://purl.obolibrary.org/obo/uberon/core#'\n  UBERON_NONAMESPACE: 'http://purl.obolibrary.org/obo/core#'\n  # The UMLS Semantic types and groups namespaces don't have a directly\n  # resolvable Base URI, but we point to a pair of sensible web documents\n  STY: 'http://purl.bioontology.org/ontology/STY/'\n  UMLSSG: 'https://lhncbc.nlm.nih.gov/semanticnetwork/download/sg_archive/SemGroups-v04.txt'\n  VANDF: 'https://www.nlm.nih.gov/research/umls/sourcereleasedocs/current/VANDF/'\n  UO-PROPERTY: 'http://purl.obolibrary.org/obo/uo#'\n  # The \"Variation Modelling Collaboration\" (VMC) is not (yet) a conventional namespace so we point to its Github repo\n  # See also: https://www.ga4gh.org/work_stream/genomic-knowledge-standards/#existing-standards and\n  # https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7153148/\n  VMC: 'https://github.com/ga4gh/vr-spec/'\n  WBls: 'http://purl.obolibrary.org/obo/WBBL_'\n  WBbt: 'http://purl.obolibrary.org/obo/WBBT_'\n  WBVocab: 'http://bio2rdf.org/wormbase_vocabulary'\n  WIKIDATA: 'https://www.wikidata.org/wiki/'            # Wikidata Entity\n  WIKIDATA_PROPERTY: 'https://www.wikidata.org/wiki/Property:'  # Wikidata Property - not a conventional namespace prefix\n  wgs: 'http://www.w3.org/2003/01/geo/wgs84_pos'\n  XPO: 'http://purl.obolibrary.org/obo/XPO_'  # Xenopus Phenotype Ontology\n  Xenbase: 'http://www.xenbase.org/gene/showgene.do?method=display&geneId='\n\ndefault_prefix: biolink\ndefault_range: string\n\n# 2. The following prefix maps are retrieved from the\n#    specified contexts defined at https://prefixcommons.org/\ndefault_curi_maps:\n  - obo_context\n  - idot_context\n  - monarch_context\n  - semweb_context\n\n# The following 'standard' prefixes are also used.\nemit_prefixes:\n  - rdf\n  - rdfs\n  - xsd\n  - skos\n  - OIO\n  - BIOGRID\n  - SO\n\n## ------------\n## SUBSETS\n## ------------\n\n\nsubsets:\n\n  model_organism_database:\n    description: >-\n      Subset that is relevant for a typical Model Organism Database (MOD)\n\n  translator_minimal:\n    description: >-\n      Minimum subset of translator work\n\n  samples:\n    description: >-\n      Sample/biosample datamodel\n\n  testing:\n    description: >-\n      TBD\n\n\n## ------------\n## TYPES\n## ------------\n\nimports:\n  - linkml:types\n\ntypes:\n\n  chemical formula value:\n    uri: xsd:string\n    base: str\n    description: A chemical formula\n    notes:\n      - Should be implemented as a stronger type\n\n  category type:\n    typeof: uriorcurie\n    description: >-\n      A primitive type in which the value denotes a class within the biolink model.\n      The value must be a URI or a CURIE. In a Neo4j representation, the value should\n      be the CURIE for the biolink class, for example biolink:Gene. For an RDF representation,\n      the value should be a URI such as https://w3id.org/biolink/vocab/Gene\n\n  iri type:\n    typeof: uriorcurie\n    description: >-\n      An IRI\n\n  label type:\n    typeof: string\n    description: >-\n      A string that provides a human-readable name for an entity\n\n  predicate type:\n    typeof: uriorcurie\n    description: >-\n      A CURIE from the biolink related_to hierarchy.\n      For example, biolink:related_to, biolink:causes, biolink:treats.\n\n  narrative text:\n    typeof: string\n    description: >-\n      A string that provides a human-readable description of something\n\n  symbol type:\n    typeof: string\n\n  frequency value:\n    typeof: string\n    uri: UO:0000105\n\n  percentage frequency value:\n    typeof: double\n    uri: UO:0000187\n\n  quotient:\n    aliases: [ 'ratio' ]\n    typeof: double\n    uri: UO:0010006\n\n  unit:\n    typeof: string\n    uri: UO:0000000\n    id_prefixes:\n      - UO\n    exact_mappings:\n      - qud:Unit\n\n  time type:\n    typeof: time\n\n  biological sequence:\n    typeof: string\n\n## ------------\n## SLOTS\n## ------------\n\nslots:\n\n  ## ---------------\n  ## ATTRIBUTE SLOTS\n  ## ---------------\n\n  has attribute:\n    description: >-\n      connects any entity to an attribute\n    domain: entity\n    range: attribute\n    multivalued: true\n    in_subset:\n      - samples\n    close_mappings:\n      # RTX term meaning 'specifies value of' tagged as inverse of 'biolink:has attribute'\n      - OBI:0001927\n    exact_mappings:\n      - SIO:000008\n    narrow_mappings:\n      # if 'has attribute' annotates a NamedThing as subject or\n      # object of an association, these OBAN mappings may apply\n      - OBAN:association_has_subject_property\n      - OBAN:association_has_object_property\n      - CPT:has_possibly_included_panel_element\n      - DRUGBANK:category\n      # RTX contributed terms. Could perhaps review for more semantically precise mappings?\n      - EFO:is_executed_in\n      - HANCESTRO:0301\n      - LOINC:has_action_guidance\n      - LOINC:has_adjustment\n      - LOINC:has_aggregation_view\n      - LOINC:has_approach_guidance\n      - LOINC:has_divisor\n      - LOINC:has_exam\n      - LOINC:has_method\n      - LOINC:has_modality_subtype\n      - LOINC:has_object_guidance\n      - LOINC:has_scale\n      - LOINC:has_suffix\n      - LOINC:has_time_aspect\n      - LOINC:has_time_modifier\n      - LOINC:has_timing_of\n      # disease is stage\n      - NCIT:R88\n      - NCIT:eo_disease_has_property_or_attribute\n      - NCIT:has_data_element\n      - NCIT:has_pharmaceutical_administration_method\n      - NCIT:has_pharmaceutical_basic_dose_form\n      - NCIT:has_pharmaceutical_intended_site\n      - NCIT:has_pharmaceutical_release_characteristics\n      - NCIT:has_pharmaceutical_state_of_matter\n      - NCIT:has_pharmaceutical_transformation\n      - NCIT:is_qualified_by\n      - NCIT:qualifier_applies_to\n      - NCIT:role_has_domain\n      - NCIT:role_has_range\n      - INO:0000154\n      - HANCESTRO:0308\n      - OMIM:has_inheritance_type\n      - orphanet:C016\n      - orphanet:C017\n      - RO:0000053\n      # RTX tagged a few RO terms as 'biolink:related_to' but semantics suggest a better mapping here\n      - RO:0000086\n      - RO:0000087\n      - SNOMED:has_access\n      - SNOMED:has_clinical_course\n      - SNOMED:has_count_of_base_of_active_ingredient\n      - SNOMED:has_dose_form_administration_method\n      - SNOMED:has_dose_form_release_characteristic\n      - SNOMED:has_dose_form_transformation\n      - SNOMED:has_finding_context\n      - SNOMED:has_finding_informer\n      - SNOMED:has_inherent_attribute\n      - SNOMED:has_intent\n      - SNOMED:has_interpretation\n      - SNOMED:has_laterality\n      - SNOMED:has_measurement_method\n      - SNOMED:has_method\n      - SNOMED:has_priority\n      - SNOMED:has_procedure_context\n      - SNOMED:has_process_duration\n      - SNOMED:has_property\n      - SNOMED:has_revision_status\n      - SNOMED:has_scale_type\n      - SNOMED:has_severity\n      - SNOMED:has_specimen\n      - SNOMED:has_state_of_matter\n      - SNOMED:has_subject_relationship_context\n      - SNOMED:has_surgical_approach\n      - SNOMED:has_technique\n      - SNOMED:has_temporal_context\n      - SNOMED:has_time_aspect\n      - SNOMED:has_units\n      - UMLS:has_structural_class\n      - UMLS:has_supported_concept_property\n      - UMLS:has_supported_concept_relationship\n      - UMLS:may_be_qualified_by\n\n  has attribute type:\n    description: >-\n      connects an attribute to a class that describes it\n    domain: attribute\n    range: ontology class\n    multivalued: false\n    required: true\n    in_subset:\n      - samples\n    narrow_mappings:\n      - LOINC:has_modality_type\n      - LOINC:has_view_type\n\n  # TRAPI Attribute schema alignment:\n  # value: NamedThing.name\n  # value_type: NamedThing.category\n  # value_type_name: quantity_value.NamedThing.name\n  has qualitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: named thing\n    multivalued: false\n    in_subset:\n      - samples\n\n  # TRAPI Attribute schema alignment:\n  # value: quantity_value.has_numeric_value[double] - may be a vector?\n  # value_type: quantity_value.has_unit.unit.uri\n  # value_type_name: quantity_value.has_unit.unit.name[string]\n  has quantitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: quantity value\n    multivalued: true\n    exact_mappings:\n      - qud:quantityValue\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_numerator_value\n      - SNOMED:has_presentation_strength_denominator_value\n      - SNOMED:has_presentation_strength_numerator_value\n    in_subset:\n      - samples\n\n  has numeric value:\n    description: >-\n      connects a quantity value to a number\n    domain: quantity value\n    range: double\n    multivalued: false\n    exact_mappings:\n      - qud:quantityValue\n    in_subset:\n      - samples\n\n  has unit:\n    description: >-\n      connects a quantity value to a unit\n    domain: quantity value\n    range: unit\n    multivalued: false\n    close_mappings:\n      # These RTX contributed terms mean \"is unit of\" which is the semantic inverse of this biolink:has_unit term\n      - EFO:0001697\n      - UO-PROPERTY:is_unit_of\n    exact_mappings:\n      - qud:unit\n      - IAO:0000039\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_denominator_unit\n      - SNOMED:has_concentration_strength_numerator_unit\n      - SNOMED:has_presentation_strength_denominator_unit\n      - SNOMED:has_presentation_strength_numerator_unit\n      - SNOMED:has_unit_of_presentation\n    in_subset:\n      - samples\n\n  base coordinate:\n    is_a: sequence localization attribute\n    aliases: [ 'one-based', 'fully-closed' ]\n    description: >-\n      A position in the base coordinate system.  Base coordinates start at position 1 instead of position 0.\n    range: integer\n\n  ## --------------------\n  ## NODE PROPERTY SLOTS\n  ## --------------------\n\n  node property:\n    description: >-\n      A grouping for any property that holds between a node and a value\n    domain: named thing\n\n  id:\n    identifier: true\n    description: >-\n      A unique identifier for an entity.\n      Must be either a CURIE shorthand for a URI or a complete URI\n    in_subset:\n      - translator_minimal\n    required: true\n    exact_mappings:\n      - AGRKB:primaryId\n      - gff3:ID\n      - gpi:DB_Object_ID\n\n  iri:\n    description: >-\n      An IRI for an entity. This is determined by the id using expansion rules.\n    range: iri type\n    in_subset:\n      - translator_minimal\n      - samples\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P854\n\n  type:\n    slot_uri: rdf:type\n    exact_mappings:\n      - AGRKB:soTermId\n      - gff3:type\n      - gpi:DB_Object_Type\n\n  category:\n    is_a: type\n    domain: entity\n    range: category type\n    designates_type: true\n    description: >-\n      Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the\n      biolink entity type class.\n       * In a neo4j database this MAY correspond to the neo4j label tag.\n       * In an RDF database it should be a biolink model class URI.\n      This field is multi-valued. It should include values for ancestors of the biolink class; for example,\n      a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`, ...\n\n      In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink\n      class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f`\n      may have a rdf:type assertion to a SO class such as TF_binding_site,\n      which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity,\n      biolink:MolecularEntity, biolink:NamedThing}\n    is_class_field: true\n    multivalued: true\n    in_subset:\n      - translator_minimal\n\n  name:\n    aliases: [ 'label', 'display name', 'title' ]\n    description: >-\n      A human-readable name for an attribute or entity.\n    range: label type\n    in_subset:\n      - translator_minimal\n      - samples\n    #\n    # linkML doesn't like this name slot to be \"required: true\".\n    # Besides, some entity nodes/attributes may not have names?\n    # required: true\n    slot_uri: rdfs:label\n    exact_mappings:\n      - gff3:Name\n      - gpi:DB_Object_Name\n    narrow_mappings:\n      - dct:title\n      - WIKIDATA_PROPERTY:P1476\n\n  stoichiometry:\n    description: >-\n      the relationship between the relative quantities of substances taking part in a reaction or\n      forming a compound, typically a ratio of whole integers.\n    is_a: association slot\n    range: integer\n\n  reaction direction:\n    description: >-\n      the direction of a reaction as constrained by the direction enum (ie: left_to_right, neutral, etc.)\n    is_a: association slot\n    range: ReactionDirectionEnum\n    narrow_mappings:\n      - NCIT:C42677\n\n  reaction balanced:\n    is_a: association slot\n    range: boolean\n\n  reaction side:\n    description: >-\n      the side of a reaction being modeled (ie: left or right)\n    is_a: association slot\n    range: ReactionSideEnum\n\n  symbol:\n    is_a: node property\n    domain: named thing\n    description: >-\n      Symbol for a particular thing\n    exact_mappings:\n      - AGRKB:symbol\n      - gpi:DB_Object_Symbol\n\n  synonym:\n    is_a: node property\n    aliases: [ 'alias' ]\n    domain: named thing\n    range: label type\n    description: >-\n      Alternate human-readable names for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      # there is an interesting debate here: are these terms \"narrower\" a.k.a. more specialized instances of\n      # 'biolink:synonym' or should they be binned into their respective namesake class of mappings?\n      # namely, is 'oboInOwl:hasExactSynonym' an instance 'exact_mappings', etc.\n      - skos:altLabel\n      - gff3:Alias\n      - AGRKB:synonyms\n      - gpi:DB_Object_Synonyms\n      # TODO: RTX contributed terms mapped here... May need review?\n      - HANCESTRO:0330\n      - IAO:0000136\n      - RXNORM:has_tradename\n\n  exact synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasExactSynonym\n\n  broad synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasBroadSynonym\n\n  narrow synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasNarrowSynonym\n\n  related synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasRelatedSynonym\n\n  has topic:\n    aliases: [ 'topic', 'descriptors' ]\n    is_a: node property\n    range: ontology class\n    exact_mappings:\n      - foaf:topic\n    description: >-\n      Connects a node to a vocabulary term or ontology class that describes some aspect of the entity. In general specific characterization is preferred.\n      See https://github.com/biolink/biolink-model/issues/238\n\n  xref:\n    is_a: node property\n    aliases: [ 'dbxref', 'Dbxref', 'DbXref' ]\n    domain: named thing\n    range: uriorcurie\n    description: >-\n      Alternate CURIEs for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - gff3:Dbxref\n      - gpi:DB_Xrefs\n\n  full name:\n    is_a: node property\n    domain: named thing\n    range: label type\n    description: >-\n      a long-form human readable name for a thing\n\n  description:\n    aliases: [ 'definition' ]\n    range: narrative text\n    description: >-\n      a human-readable description of an entity\n    in_subset:\n      - translator_minimal\n    slot_uri: dct:description\n    exact_mappings:\n      - IAO:0000115\n      - skos:definitions\n    narrow_mappings:\n      - gff3:Description\n\n  systematic synonym:\n    is_a: node property\n    domain: named thing\n    range: label type\n    multivalued: true\n    slot_uri: GOP:systematic_synonym\n    description: >-\n      more commonly used for gene symbols in yeast\n\n  affiliation:\n    is_a: node property\n    description: >-\n      a professional relationship between one provider (often a person) within another provider (often an organization).\n      Target provider identity should be specified by a CURIE. Providers may have multiple affiliations.\n    domain: agent\n    range: uriorcurie\n    multivalued: true\n\n  address:\n    is_a: node property\n    description: >-\n      the particulars of the place where someone or an organization is situated.  For now, this slot is a\n      simple text \"blob\" containing all relevant details of the given location for fitness of purpose.\n      For the moment, this \"address\" can include other contact details such as email and phone number(?).\n\n  ## Space\n\n  latitude:\n    is_a: node property\n    range: float\n    description: >-\n      latitude\n    exact_mappings:\n      - wgs:lat\n\n  longitude:\n    is_a: node property\n    range: float\n    description: >-\n      longitude\n    exact_mappings:\n      - wgs:long\n\n  ## Time\n\n  timepoint:\n    aliases: [ 'duration' ]\n    range: time type\n    description: >-\n      a point in time\n\n  creation date:\n    is_a: node property\n    aliases: [ 'publication date' ]\n    range: date\n    description: >-\n      date on which an entity was created. This can be applied to nodes or edges\n    exact_mappings:\n      - dct:createdOn\n      - WIKIDATA_PROPERTY:P577\n\n  update date:\n    is_a: node property\n    range: date\n    description: >-\n      date on which an entity was updated. This can be applied to nodes or edges\n\n  ## Statistics\n\n  aggregate statistic:\n    is_a: node property\n    abstract: true\n\n  has count:\n    description: >-\n      number of things with a particular property\n    is_a: aggregate statistic\n    range: integer\n    exact_mappings:\n      - LOINC:has_count\n\n  has total:\n    description: >-\n      total number of things in a particular reference set\n    is_a: aggregate statistic\n    range: integer\n\n  has quotient:\n    is_a: aggregate statistic\n    range: double\n\n  has percentage:\n    description: >-\n      equivalent to has quotient multiplied by 100\n    is_a: aggregate statistic\n    range: double\n\n  ## Properties for Information Content Entity and Publication Nodes\n\n  has taxonomic rank:\n    is_a: node property\n    range: taxonomic rank\n    multivalued: false\n    mappings:\n      - WIKIDATA:P105\n\n  has dataset:\n    is_a: node property\n    domain: dataset version\n    range: dataset\n    slot_uri: dct:source\n\n  source web page:\n    is_a: node property\n    domain: dataset summary\n    broad_mappings:\n      - dct:source\n\n  source logo:\n    is_a: node property\n    domain: dataset summary\n    slot_uri: schema:logo\n\n  retrieved on:\n    is_a: node property\n    domain: dataset\n    range: date\n    exact_mappings:\n      - pav:retrievedOn\n\n  version of:\n    is_a: node property\n    domain: dataset version\n    range: dataset summary\n    exact_mappings:\n      - dct:isVersionOf\n\n  version:\n    is_a: node property\n    domain: dataset\n    broad_mappings:\n      - pav:version\n      - owl:versionInfo\n\n  license:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:license\n    narrow_mappings:\n      - WIKIDATA_PROPERTY:P275\n\n  rights:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:rights\n\n  format:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:format\n      - WIKIDATA_PROPERTY:P2701\n\n  created with:\n    is_a: node property\n    domain: dataset\n    exact_mappings:\n      - pav:createdWith\n\n  download url:\n    is_a: node property\n    domain: information content entity\n    slot_uri: dcat:downloadURL\n\n  dataset download url:\n    is_a: node property\n    domain: dataset\n    slot_uri: dcat:downloadURL\n\n  distribution download url:\n    is_a: node property\n    domain: dataset distribution\n    exact_mappings:\n      - dcat:downloadURL\n\n  ingest date:\n    is_a: node property\n    domain: dataset version\n    slot_uri: pav:version\n\n  has distribution:\n    is_a: node property\n    domain: dataset version\n    range: dataset distribution\n    slot_uri: dct:distribution\n\n  published in:\n    is_a: node property\n    description: >-\n      CURIE identifier of a broader publication context within which the publication may be placed,\n      e.g. a specified book or journal.\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - NLMID\n      - issn\n      - isbn\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1433\n\n  iso abbreviation:\n    is_a: node property\n    description: >-\n      Standard abbreviation for periodicals in the International Organization for Standardization (ISO) 4 system\n      See https://www.issn.org/services/online-services/access-to-the-ltwa/. If the 'published in' property is set,\n      then the iso abbreviation pertains to the broader publication context (the journal) within which the given\n      publication node is embedded, not the publication itself.\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1160\n\n  authors:\n    is_a: node property\n    singular_name: author\n    description: >-\n      connects an publication to the list of authors who contributed to the publication.\n      This property should be a comma-delimited list of author names. It is recommended that an author's name\n      be formatted as \"surname, firstname initial.\".   Note that this property is a node annotation expressing\n      the citation list of authorship which might typically otherwise be more completely documented in\n      biolink:PublicationToProviderAssociation defined edges which point to full details about an author\n      and possibly, some qualifiers which clarify the specific status of a given author in the publication.\n    multivalued: true\n    domain: publication\n\n  volume:\n    is_a: node property\n    description: >-\n      volume of a book or music release in a collection/series or a published collection of journal issues in a serial publication\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P478\n\n  chapter:\n    is_a: node property\n    description: >-\n      chapter of a book\n    domain: book chapter\n    exact_mappings:\n      - WIKIDATA:Q1980247\n\n  issue:\n    is_a: node property\n    description: >-\n      issue of a newspaper, a scientific journal or magazine for reference purpose\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P433\n\n  pages:\n    is_a: node property\n    description: >-\n      page number of source referenced for statement or publication\n    domain: publication\n    multivalued: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P304\n\n  summary:\n    is_a: node property\n    # since 'abstract' is a linkML keyword denoting a non-instantiable class or slot,\n    # it is generally recommended that knowledge graphs use 'summary' instead to tag a Publication 'abstract'\n    aliases: [ 'abstract' ]\n    description: >-\n      executive  summary of a publication\n    domain: publication\n    exact_mappings:\n      - dct:abstract\n      - WIKIDATA:Q333291\n\n  keywords:\n    is_a: node property\n    description: >-\n      keywords tagging a publication\n    domain: publication\n    multivalued: true\n\n  mesh terms:\n    is_a: node property\n    description: >-\n      mesh terms tagging a publication\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - MESH\n    multivalued: true\n    exact_mappings:\n      - dcid:MeSHTerm\n\n  ## Biology\n\n  has biological sequence:\n    is_a: node property\n    description: >-\n      connects a genomic feature to its sequence\n    range: biological sequence\n\n  has gene or gene product:\n    is_a: node property\n    description: >-\n      connects an entity with one or more gene or gene products\n    range: gene\n    multivalued: true\n\n  has gene:\n    is_a: has gene or gene product\n    description: >-\n      connects an entity associated with one or more genes\n    range: gene\n    multivalued: true\n\n  has zygosity:\n    is_a: node property\n    domain: nucleic acid entity\n    range: zygosity\n\n  ## Chemistry, drugs and food\n\n  has chemical formula:\n    is_a: node property\n    range: chemical formula value\n    description: >-\n      description of chemical compound based on element symbols\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P274\n\n  is metabolite:\n    is_a: node property\n    domain: molecular entity\n    range: boolean\n    description: >-\n      indicates whether a molecular entity is a metabolite\n    exact_mappings:\n      - CHEBI:25212\n\n  has constituent:\n    description: >-\n      one or more molecular entities within a chemical mixture\n    is_a: node property\n    range: molecular entity\n    multivalued: true\n\n  has drug:\n    is_a: node property\n    description: >-\n      connects an entity to one or more drugs\n    range: drug\n    multivalued: true\n\n  has device:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) devices\n    range: device\n    multivalued: true\n\n  has procedure:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) procedures\n    range: procedure\n    multivalued: true\n\n  ## Clinical exposures\n\n  has receptor:\n    is_a: node property\n    domain: exposure event\n    range: organismal entity\n    description: >-\n      the organism or organism part being exposed\n    exact_mappings:\n      - ExO:0000001\n\n  has stressor:\n    is_a: node property\n    domain: exposure event\n    aliases: [ 'has stimulus' ]\n    description: >-\n      the process or entity that the receptor is being exposed to\n    exact_mappings:\n      - ExO:0000000\n\n  has route:\n    is_a: node property\n    domain: exposure event\n    description: >-\n      the process that results in the stressor coming into direct contact with the receptor\n    exact_mappings:\n      - ExO:0000055\n    narrow_mappings:\n      - LOINC:has_pharmaceutical_route\n      - SNOMED:has_dose_form_intended_site\n      - SNOMED:has_route_of_administration\n\n\n  population context qualifier:\n    description: >-\n      a biological population (general, study, cohort, etc.) with a specific\n      set of characteristics to constrain an association.\n    is_a: association slot\n    range: population of individual organisms\n\n  temporal context qualifier:\n    description: >-\n      a constraint of time placed upon the truth value of an association.\n      for time intervales, use temporal interval qualifier.\n    is_a: association slot\n    range: time type\n\n  temporal interval qualifier:\n    is_a: temporal context qualifier\n    description: >-\n      a constraint of a time interval placed upon the truth value of an\n      association.\n\n  is supplement:\n    description: >-\n    is_a: node property\n    range: chemical mixture\n\n  trade name:\n    description: >-\n    is_a: node property\n    range: chemical entity\n\n  available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: DrugAvailabilityEnum\n\n  is toxic:\n    description: >-\n    is_a: node property\n    multivalued: false\n    range: boolean\n\n  has chemical role:\n    is_a: related to at concept level\n    description: >-\n      A role is particular behaviour which a chemical entity may exhibit.\n    range: chemical role\n    multivalued: true\n\n  max tolerated dose:\n    description: >-\n      The highest dose of a drug or treatment that does not cause unacceptable side effects.\n      The maximum tolerated dose is determined in clinical trials by testing increasing doses\n      on different groups of people until the highest dose with acceptable side effects is\n      found. Also called MTD.\n    is_a: node property\n    multivalued: false\n    range: string\n\n  animal model available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: disease or phenotypic feature\n\n  FDA adverse event level:\n    description: >-\n    is_a: association slot\n    range: FDAIDAAdverseEventEnum\n\n  highest FDA approval status:\n    description: >-\n      Should be the highest level of FDA approval this chemical entity or device has, regardless of which\n      disease, condition or phenotype it is currently being reviewed to treat.  For specific levels of FDA\n      approval for a specific condition, disease, phenotype, etc., see the association slot, 'FDA approval status.'\n\n  drug regulatory status world wide:\n    aliases: [ 'max phase' ]\n    description: >-\n      An agglomeration of drug regulatory status worldwide. Not specific to FDA.\n    exact_mappings:\n      - NCIT:C172573\n    narrow_mappings:\n      - NCIT:R172\n      - NCIT:regimen_has_accepted_use_for_disease\n      # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n\n  routes of delivery:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    multivalued: true\n    range: DrugDeliveryEnum\n\n  ## -------------------\n  ## QUALIFIERS\n  ## -------------------\n\n  form or variant qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object concept to define a specific type, variant,\n      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.\n      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept\n      ‘a mutation of Gene X’.\n    examples:\n      - value: mutation\n      - value: late stage\n      - value: severe\n      - value: transplant\n      - value: chemical analog\n    notes: >-\n      please see the ChemicalOrGeneOrGeneProductFormOrVariantEnum (below) for examples of 'form or variant qualifier'\n      terms in the gene->chemical association space. \n      the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept ‘Mutated forms of Gene X’.\n      the qualifier ‘late stage’ combines with a core concept of ‘Disease X’ to express the  more specific concept ‘Late Stage forms of Disease X’\n      the qualifier ‘recombinant’ combines with a core concept of ‘FLT1 Gene’ to express the composed concept ‘Recombinant forms of the FLT1 gene’\n      the qualifier ‘chemical analog’ combines with a core concept of ‘Ditiocarb’ to express the composed concept ‘analog forms of Ditiocarb’\n\n\n  aspect qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which\n      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that\n      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an \n      'affects' association.\n    examples:\n      - value: stability\n      - value: abundance\n      - value: expression\n      - value: exposure\n    notes: >-\n      for good examples of aspects in the gene-> chemical space, please see the \n      GeneOrGeneProductOrChemicalEntityAspectEnum (below) which lists many aspects that can be used to qualify \n      the gene making the full subject a different ontological type.  \n      the qualifier ‘expression’ combines with a core concept of ‘Gene X’ to express the composed concept ‘expression of Gene X’ (Gene → Biological Process)\n      the qualifier ‘exposure’ combines with a core concept of ‘Chemical X’ to express the composed concept ‘exposure to Chemical X’ (Chemical → Exposure Process)\n      the qualifier ‘activity’ combines with a core concept of ‘PPARG’ to express the concept ‘activity of PPARG’ (Gene → function/activity)\n      the qualifier ‘emergency Department Visit’ combines with a core concept of ‘Disease X’ to express the concept ‘Emergency Department visits for Disease X’ (Disease → Clinical Event)\n      the qualifier ‘infection’ combines with a core concept of ‘Giardia’ to express the concept ‘Infection with Giardia’ (Taxon → Biological / Pathological Process)\n      the qualifier ‘severity’ combines with a core concept of ‘DILI’ to express the concept ‘the severity level of DILI’ (Disease → (intrinsic) Characteristic/Quality)\n      the qualifier ‘abundance’ combines with a core concept of ‘BRCA2’ to express the concept ‘abundance of BRCA2’ (Gene → (extrinsic) characteristic/quality)\n\n  derivative qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object  concept to describe something that is derived from the\n      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express\n      the composed concept ‘a metabolite of Chemical X’.\n    examples:\n      - value: metabolite\n\n  part qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can\n      use to directly represent it, e.g. 'ESR1 transcript' q: polyA tail).\n    examples:\n      - value: polyA tail\n      - value: upstream control region\n\n  context qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Restricts the setting/context/location where the core concept (or qualified core concept) resides or occurs.\n    examples:\n      - value: cohort x (e.g. a specific population, referenced by an identifier)\n      - value: gut microbiome # OHMI:0000020\n\n  direction qualifier:\n    is_a: association slot\n    abstract: true\n    description: >-\n      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.\n    notes: >-\n      the qualifier ‘increased’ combines with a core concept of ‘Gene X’ and an aspect of ‘expression’ to express the composed concept ‘increased expression of Gene X’   \n      the qualifier ‘decreased’ combines with a core concept of ‘Protein X’ and an aspect of ‘abundance’ to express the composed concept ‘decreased abundance of Protein X’\n\n  mapped predicate:\n    description: >-\n      The predicate that is being replaced by the fully qualified representation of predicate + subject and object \n      qualifiers.  Only to be used in test data and mapping data to help with the transition to the fully qualified\n      predicate model. Not to be used in knowledge graphs.\n\n  predicate mappings:\n    description: >- \n      A collection of relationships that are not used in biolink, but have biolink patterns that can \n      be used to replace them.  This is a temporary slot to help with the transition to the fully qualified predicate\n      model in Biolink3.\n    multivalued: true\n    range: predicate mapping\n    inlined_as_list: true\n\n  exact matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      an identical meaning. Such terms often describe the same concept from\n      different ontological perspectives.\n    multivalued: true\n\n  narrow matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      a narrower meaning. Such terms often describe a more specific concept\n      from different ontological perspectives.\n    multivalued: true\n\n  broad matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      a broader meaning. Such terms often describe a more general concept\n      from different ontological perspectives.\n    multivalued: true\n\n  subject aspect qualifier:\n    is_a: aspect qualifier\n\n  subject form or variant qualifier:\n    is_a: form or variant qualifier\n\n  subject part qualifier:\n    is_a: part qualifier\n\n  subject derivative qualifier:\n    is_a: derivative qualifier\n\n  subject context qualifier:\n    is_a: context qualifier\n\n  subject direction qualifier:\n    is_a: direction qualifier\n\n  object aspect qualifier:\n    is_a: aspect qualifier\n\n  object form or variant qualifier:\n    is_a: form or variant qualifier\n\n  object part qualifier:\n    is_a: part qualifier\n\n  object derivative qualifier:\n    is_a: derivative qualifier\n\n  object context qualifier:\n    is_a: context qualifier\n\n  object direction qualifier:\n    is_a: direction qualifier\n    range: DirectionQualifierEnum\n\n  qualified predicate:\n    is_a: association slot\n    description: >-\n      Predicate to be used in an association when subject and object qualifiers are present and the full\n      reading of the statement requires a qualification to the predicate in use in order to refine or \n      increase the specificity of the full statement reading.  This qualifier holds a relationship to be used instead of that \n      expressed by the primary predicate, in a ‘full statement’ reading of the association, where qualifier-based \n      semantics are included.  This is necessary only in cases where the primary predicate does not work in a \n      full statement reading.\n    notes: >-\n      to express the statement that “Chemical X causes increased expression of Gene Y”, the core triple is read \n      using the fields subject:ChemX, predicate:affects, object:GeneY . . . and the full statement is read using \n      the fields subject:ChemX, qualified_predicate:causes, object:GeneY, object_aspect: expression, \n      object_direction:increased. The predicate ‘affects’ is needed for the core triple reading, but doesnt make \n      sense in the full statement reading  (because “Chemical X affects increased expression of Gene Y'' is not \n      what we mean to say here: it causes increased expression of Gene Y)\n\n\n  statement qualifier:\n    is_a: association slot\n    description: >-\n\n  causal mechanism qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a type of molecular control mechanism through which an\n      effect of a chemical on a gene or gene product is mediated (e.g. 'agonism', 'inhibition',\n      'allosteric modulation', 'channel blocker')\n\n  anatomical context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing an anatomical location where an relationship expressed in an\n      association took place (can be a tissue, cell type, or sub-cellular location).\n    range: AnatomicalContextQualifierEnum\n    notes: >-\n      Anatomical context values can be any term from UBERON. For example, the context qualifier ‘cerebral cortext’ \n      combines with a core concept of ‘neuron’ \n      to express the composed concept ‘neuron in the cerebral cortext’. The species_context_qualifier applies \n      taxonomic context, e.g. species-specific molecular activity.  Ontology CURIEs are expected as values \n      here, the examples below are intended to help clarify the content of the CURIEs.\n    examples:\n      - value: blood # UBERON:0000178\n      - value: cerebral cortext # UBERON:0000956\n\n  species context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a taxonomic category of species in which a relationship\n      expressed in an association took place.\n    range: organism taxon\n    examples:\n      - value: zebrafish # NCBITaxon:7955\n      - value: human # NCBITaxon:9606\n    notes: >- \n      Ontology CURIEs are expected as values\n      here, the examples below are intended to help clarify the content of the CURIEs.\n\n  qualifiers:\n    singular_name: qualifier\n    description: >-\n      connects an association to qualifiers that modify or\n      qualify the meaning of that association\n    local_names:\n      ga4gh: annotation qualifier\n    is_a: association slot\n    multivalued: true\n    range: ontology class\n\n  frequency qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state how frequent the phenotype is observed in the subject\n    is_a: association slot\n    range: frequency value\n\n  severity qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      how severe the phenotype is in the subject\n    is_a: association slot\n    range: severity value\n\n  sex qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state whether\n      the association is specific to a particular sex.\n    is_a: association slot\n    range: biological sex\n\n  onset qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      when the phenotype appears is in the subject\n    is_a: association slot\n    range: onset\n\n  clinical modifier qualifier:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    is_a: association slot\n    range: clinical modifier\n\n  sequence variant qualifier:\n    description: >-\n      a qualifier used in an association with the variant\n    is_a: association slot\n    range: sequence variant\n\n  quantifier qualifier:\n    is_a: association slot\n    range: ontology class\n    description: >-\n      A measurable quantity for the object of the association\n    narrow_mappings:\n      # TODO: RTX contributed terms mapped here... May need review?\n      - LOINC:analyzes\n      - LOINC:measured_by\n      - LOINC:property_of\n      - SEMMEDDB:MEASURES\n      - UMLS:measures\n\n  catalyst qualifier:\n    is_a: association slot\n    multivalued: true\n    range: macromolecular machine mixin\n    description: >-\n      a qualifier that connects an association between two causally connected\n      entities (for example, two chemical entities, or a chemical entity in\n      that changes location) and the gene product, gene, or complex that\n      enables or catalyzes the change.\n\n  stage qualifier:\n    description: >-\n      stage during which gene or protein expression of takes place.\n    is_a: association slot\n    range: life stage\n    # path: \"object/during\"\n    examples:\n      - value: UBERON:0000069\n        description: larval stage\n\n  ## --------------------\n  ## PREDICATES/RELATIONS\n  ## --------------------\n\n  related to:\n    description: >-\n      A relationship that is asserted between two named things\n    domain: named thing\n    range: named thing\n    multivalued: true\n    inherited: true\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:relatedMatch\n      - UMLS:related_to\n    broad_mappings:\n      - owl:topObjectProperty\n    narrow_mappings:\n      - SEMMEDDB:ASSOCIATED_WITH\n      - SEMMEDDB:compared_with\n      - SEMMEDDB:higher_than\n      - SEMMEDDB:lower_than\n      - BFO:0000054\n      - UBERON_CORE:protects\n      - GOREL:0002005\n      - GOREL:0012006\n      # several of the following terms mapped here by RTX could merit upgrade to new Biolink terms\n      - BTO:related_to\n      - CHEBI:is_conjugate_acid_of\n      - CHEBI:is_conjugate_base_of\n      - CPT:has_add_on_code\n      - CPT:mapped_to\n      - EFO:0006351\n      - FMA:connected_to\n      - FMA:continuous_with\n      - FMA:homonym_of\n      - FMA:related_developmental_entity_of\n      - RO:0002093\n      - RO:0002092\n      - RO:0002084\n      - HCPCS:mapped_to\n      # RTX contributed terms, perhaps belong somewhere else with more precise semantics?\n      - HMDB:disease\n      - HMDB:has_protein_association\n      - IAO:0000136\n      - LOINC:has_answer\n      - LOINC:has_challenge\n      - LOINC:has_evaluation\n      - LOINC:mapped_to\n      - LOINC:mth_has_expanded_form\n      - MESH:RO\n      - MESH:has_mapping_qualifier\n      - MESH:mapped_to\n      - MONDO:disease_shares_features_of\n      - NCIT:disease_may_have_associated_disease\n      - NCIT:human_disease_maps_to_eo_disease\n      - NCIT:is_abnormal_cell_of_disease\n      - NCIT:is_related_to_endogenous_product\n      - UBERON_NONAMESPACE:connected_to\n      - UBERON_NONAMESPACE:innervated_by\n      - NBO-PROPERTY:is_about\n      - RO:0000053 # bearer_of\n      - PATO:reciprocal_of\n      - RO:0000052\n      - RO:0002001\n      - RO:0002002\n      - RO:0002003\n      - RO:0002008\n      - RO:0002134\n      - RO:0002150\n      - RO:0002159\n      - RO:0002176\n      - RO:0002177\n      - RO:0002178\n      - RO:0002179\n      - RO:0002314\n      - RO:0002322\n      # functionally related to\n      - RO:0002328\n      - RO:0002332\n      - RO:0002338\n      - RO:0002339\n      - RO:0002341\n      - RO:0002342\n      - RO:0002344\n      - RO:0002348\n      - RO:0002349\n      - RO:0002356\n      - RO:0002371\n      - RO:0002372\n      - RO:0002373\n      - RO:0002374\n      - RO:0002385\n      - RO:0002387\n      - RO:0002451\n      - RO:0002494\n      - RO:0002495\n      - RO:0002568\n      - RO:0002573\n      - RO:0004026\n      - RO:0004027\n      - RO:0009001\n      - RO:0009004\n      - RXNORM:has_form\n      - RXNORM:reformulated_to\n      - SNOMED:has_associated_morphology\n      - SNOMED:has_associated_procedure\n      - SNOMED:has_direct_morphology\n      - SNOMED:has_disposition\n      - SNOMED:has_indirect_morphology\n      - SNOMED:has_modification\n      - SNOMED:has_procedure_morphology\n      - SNOMED:has_specimen_source_morphology\n      - SNOMED:inheres_in\n      - SNOMED:is_interpreted_by\n      - SNOMED:relative_to_part_of\n      - UBERON:synapsed_by\n      - UMLS:RO\n      - UMLS:RQ\n      - UMLS:class_code_classified_by\n      - UMLS:exhibited_by\n      - UMLS:has_context_binding\n      - UMLS:has_form\n      - UMLS:has_mapping_qualifier\n      - UMLS:larger_than\n      - UMLS:mapped_to\n      - UMLS:owning_section_of\n\n  related to at concept level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between terminology components that describe the conceptual model of a domain.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  related to at instance level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between two instances of a data classes.  Much like an assertion component,\n      in an ABox, these represent facts associated with the conceptual model.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  associated with:\n    is_a: related to at instance level\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      (though not in all cases), and is weaker than its child, 'correlated with', but stronger than its parent,\n      'related to'. This relationship holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated.  E.g. the statement “Atrial Fibrillation (Afib) is associated with Myocardial \n      Infarction (MI)” asserts that having Afib is not statistically independent from whether a patient \n      will also have MI. Note that in Translator associations, the subject and object concepts may map exactly to \n      the statistical variables, or represent related entities for which the variables serve as proxies in an \n      Association (e.g. diseases, chemical entities or processes).\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    domain: named thing\n    range: named thing\n    narrow_mappings:\n      - RO:0004029\n      - SNOMEDCT:47429007\n\n  superclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a super class of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: True\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q66088480\n      - CHEMBL.MECHANISM:superset_of\n      - GO:inverse_isa\n      - MESH:inverse_isa\n      - RXNORM:inverse_isa\n      - VANDF:inverse_isa\n    narrow_mappings:\n      - NCIT:cdrh_parent_of\n      - NCIT:ctcae_5_parent_of\n      - NCIT:subset_includes_concept\n      - OMIM:has_manifestation\n      - SNOMED:has_basic_dose_form\n      - UMLS:RB\n\n  subclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a specialization of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: True\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # RTX\n      - LOINC:class_of\n      - LOINC:has_class\n    exact_mappings:\n      - rdfs:subClassOf\n      - SEMMEDDB:ISA\n      - WIKIDATA_PROPERTY:P279\n      - CHEMBL.MECHANISM:subset_of\n      - GO:isa\n      - MESH:isa\n      - RXNORM:isa\n      - VANDF:isa\n    narrow_mappings:\n      - CHEBI:has_parent_hydride\n      - LOINC:has_archetype\n      - LOINC:has_parent_group\n      - LOINC:is_presence_guidance_for\n      - NCIT:gene_product_has_chemical_classification\n      # RTX mapped terms classes for biomarkers\n      - NCIT:R36\n      - NCIT:R42\n      - NCIT:A16\n      - NCIT:A11\n      - NCIT:A14\n      - NCIT:A3\n      - NDDF:has_dose_form\n      - RXNORM:has_dose_form\n      - RXNORM:has_doseformgroup\n      - SNOMED:entire_anatomy_structure_of\n      - SNOMED:has_dose_form\n      # RTX mapping\n      - rdfs:subPropertyOf\n\n  same as:\n    is_a: exact match\n    description: >-\n      holds between two entities that are considered equivalent to each other\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # identical class extension with identical sets of individuals\n      - owl:equivalentClass\n    exact_mappings:\n      # identical individual, or identical class concept/meaning\n      - owl:sameAs\n      - skos:exactMatch\n      # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      # RTX suggests mapping this to proposed new \"biolink:close_match\" predicate instead\n      #- SEMMEDDB:same_as\n      - WIKIDATA_PROPERTY:P2888\n      - CHEMBL.MECHANISM:equivalent_to\n      - MONDO:equivalentTo\n    narrow_mappings:\n      - DRUGBANK:external-identifier\n\n  close match:\n    is_a: related to at concept level\n    description: >-\n      a list of terms from different schemas or terminology systems that have\n      a semantically similar but not strictly equivalent, broader, or narrower\n      meaning. Such terms often describe the same general concept from\n      different ontological perspectives (e.g. drug as a type of chemical\n      entity versus drug as a type of role borne by a chemical entity).\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:closeMatch\n      # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      - SEMMEDDB:same_as\n    narrow_mappings:\n      - CHEBI:is_enantiomer_of\n      - CHEBI:is_tautomer_of\n      - MEDDRA:classified_as\n      - OIO:hasDbXref\n      - oboformat:xref\n      - RXNORM:has_quantified_form\n      - UMLS:SY\n\n  exact match:\n    is_a: close match\n    description: >-\n      holds between two entities that have strictly equivalent\n      meanings, with a high degree of confidence\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:exactMatch\n      - WIKIDATA:Q39893449\n      - WIKIDATA:P2888\n\n  broad match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a broader, more general meaning. Broader terms are\n      typically shown as parents in a hierarchy or tree.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: narrow match\n    exact_mappings:\n      - skos:broadMatch\n      - WIKIDATA:Q39894595\n\n  narrow match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a narrower, more specific meaning. Narrower terms are\n      typically shown as children in a hierarchy or tree.\n    is_a: related to at concept level\n    inverse: broad match\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - skos:narrowMatch\n      - WIKIDATA:Q39893967\n    annotations:\n      opposite_of: broad match\n\n  member of:\n    description: >-\n      Defines a mereological relation between a item and a collection.\n    is_a: related to at concept level\n    inverse: has member\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002350\n    close_mappings:\n      - skos:member\n\n  has member:\n    description: >-\n      Defines a mereological relation between a collection and an item.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002351\n      - skos:member\n\n  opposite of:\n    description: >-\n      x is the opposite of y if there exists some distance metric M, and there exists\n      no z such as M(x,z) <= M(x,y) or M(y,z) <= M(y,x). (This description is from RO. Needs to be rephrased).\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002604\n    see_also:\n      - https://doi.org/10.1101/108977\n      - https://github.com/biolink/biolink-model/issues/657\n\n\n  associated with likelihood of:\n    is_a: associated with\n    description: >-\n      A a relationship that holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated, wherein the state or value of one variable predicts the future state \n      or value of the other.  E.g. the statement “An Atrial Fibrillation (Afib) diagnosis is associated \n      with likelihood of a Myocardial Infarction (MI) diagnosis” asserts that the state of having Afib \n      is associated with an increased or decreased likelihood that a patient will later exhibit MI.\n    annotations:\n      canonical_predicate: true\n\n  likelihood associated with:\n    is_a: associated with\n    description: >-\n    inverse: associated with likelihood of\n\n  associated with increased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is more probable.\n    annotations:\n      canonical_predicate: true\n\n  increased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with increased likelihood of\n\n  associated with decreased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is less probable.\n    annotations:\n      canonical_predicate: true\n\n  decreased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with decreased likelihood of\n\n  target for:\n    is_a: related to at instance level\n    description: >-\n      A gene is a target of a disease when its products are druggable and when a drug interaction with the gene\n      product could have a therapeutic effect\n    annotations:\n      canonical_predicate: true\n    domain: gene\n    range: disease\n\n  has target:\n    is_a: related to at instance level\n    inverse: target for\n    domain: disease\n    range: gene\n\n  active in:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: cellular component\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002432\n\n  has active component:\n    is_a: related to at instance level\n    inverse: active in\n    domain: cellular component\n    range: gene or gene product\n\n  acts upstream of:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002263\n\n  has upstream actor:\n    is_a: related to at instance level\n    inverse: acts upstream of\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004034\n\n  has positive upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004035\n\n  has negative upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of negative effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002264\n\n  has upstream or within actor:\n    is_a: has upstream actor\n    inverse: acts upstream of or within\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within positive effect:\n    is_a: acts upstream of or within\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004032\n\n  has positive upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within negative effect:\n    is_a: acts upstream of or within\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004033\n\n  has negative upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within negative effect\n    domain: biological process\n    range: gene or gene product\n\n    ## Publication related predicates\n  mentions:\n    description: >-\n      refers to is a relation between one information content entity and the named thing\n      that it makes reference to.\n    is_a: related to at instance level\n    exact_mappings:\n      - IAO:0000142\n    narrow_mappings:\n      - SIO:000628\n\n  mentioned by:\n    description: >-\n      refers to is a relation between one named thing and the information content entity\n      that it makes reference to.\n    is_a: related to at instance level\n    inverse: mentions\n\n  ## Publication related predicates\n\n  contributor:\n    is_a: related to at instance level\n    domain: agent\n    range: information content entity\n    comments:\n      - This is a grouping for predicates relating entities to their associated contributors realizing them\n    abstract: true\n    exact_mappings:\n      - dct:contributor\n\n  has contributor:\n    inverse: contributor\n    is_a: related to at instance level\n    domain: information content entity\n    range: agent\n\n  provider:\n    is_a: contributor\n    description: >-\n      person, group, organization or project that provides a piece of information (e.g. a knowledge association).\n\n  has provider:\n    inverse: provider\n    is_a: has contributor\n    domain: information content entity\n    range: agent\n\n  publisher:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      organization or person responsible for publishing books, periodicals, podcasts, games or software.\n      Note that in the case of publications which have a containing \"published in\" node property, the publisher\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the publisher agent of the encompassing publication\n      (e.g. only from the Journal referenced by the 'published_in' property of an journal article Publication node).\n    exact_mappings:\n      - dct:publisher\n      - WIKIDATA_PROPERTY:P123\n\n  has publisher:\n    is_a: has contributor\n    inverse: publisher\n    domain: publication\n    range: agent\n\n  editor:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      editor of a compiled work such as a book or a periodical (newspaper or an academic journal).\n      Note that in the case of publications which have a containing \"published in\" node property, the editor\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the editorial agent of the encompassing publication\n      (e.g. only from the Book referenced by the 'published_in' property of a book chapter Publication node).\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P98\n\n  has editor:\n    inverse: editor\n    is_a: has contributor\n    domain: publication\n    range: agent\n\n  author:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      an instance of one (co-)creator primarily responsible for a written work\n    exact_mappings:\n      - dct:creator\n      - WIKIDATA_PROPERTY:P50\n\n  has author:\n    inverse: author\n    is_a: has contributor\n    domain: publication\n    range: agent\n\n  ## end of Publication related predicates\n\n  assesses:\n    is_a: related to at instance level\n    aliases: [ 'was assayed against' ]\n    description: >-\n      The effect of a thing on a target was interrogated in some assay.\n      A relationship between some perturbing agent (usually a chemical compound) and some target entity,\n      where the affect of the perturbing agent on the target entity was interrogated in a particular assay.\n      The target might be a particular protein, tissue, phenotype, whole organism, cell line, or other type\n      of biological entity.\n    domain: named thing\n    range: named thing\n    annotations:\n      canonical_predicate: true\n\n  is assessed by:\n    is_a: related to at instance level\n    inverse: assesses\n    domain: named thing\n    range: named thing\n\n  interacts with:\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between any two entities that directly or indirectly interact with each other\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    mixin: true\n    exact_mappings:\n      - SEMMEDDB:INTERACTS_WITH\n    notes: >-\n      please use a more specific child predicate of interacts with, either physically interacts with\n      or genetically interacts with. \n\n  physically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two entities that make physical contact as part of some interaction. \n      does not imply a causal relationship.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - WIKIDATA_PROPERTY:P129\n    close_mappings:\n      - CHEMBL.MECHANISM:binding_agent\n      - CHEMBL.MECHANISM:chelating_agent\n      - CHEMBL.MECHANISM:cross-linking_agent\n      - CHEMBL.MECHANISM:oxidative_enzyme\n      - CHEMBL.MECHANISM:sequestering_agent\n      - CHEMBL.MECHANISM:substrate\n      - DRUGBANK:target\n    narrow_mappings:\n      # Defined more narrowly as \"substance interaction\", thus specific applies to a subclass entities\n      - DRUGBANK:drug-interaction\n      - FMA:adheres_to\n      - NCIT:A7\n      - PR:non-covalently_bound_to\n    mixins:\n      - interacts with\n\n  directly physically interacts with:\n    is_a: physically interacts with\n    description: >-\n      A causal mechanism mediated by a direct contact between the effector and target entities (this contact may \n      be weak or strong, transient or stable).\n    symmetric: true\n    exact_mappings:\n      - RO:0002436\n    broad_mappings:\n      # Definition of this term is more generic than direct physical molecular interactions:\n      # A is connected to B iff there exists a fiat, material or temporal path between A and B.\n      - SIO:000203\n      - RO:0002578\n    narrow_mappings:\n      - PHAROS:drug_targets\n      - DRUGBANK:chelator\n      - CTD:affects_binding\n      - DGIdb:cofactor\n    annotations:\n      canonical_predicate: true\n\n  binds:\n    deprecated: true\n    is_a: directly physically interacts with\n    description: >-\n      A causal mechanism mediated by the direct contact between effector and target chemical or biomolecular entity, \n      which form a stable physical interaction.\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - DGIdb:binder\n\n  indirectly physically interacts with:\n    is_a: physically interacts with\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  genetically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two genes whose phenotypic effects are dependent on each\n      other in some way - such that their combined phenotypic effects are the\n      result of some interaction between the activity of their gene products.\n      Examples include epistasis and synthetic lethality.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    exact_mappings:\n      - RO:0002435\n\n  affects:\n    is_a: related to at instance level\n    description: >-\n      describes an entity that has a direct affect on the state or quality\n      of another existing entity. Use of the 'affects' predicate implies that\n      the affected entity already exists, unlike predicates such as\n      'affects risk for' and 'prevents, where the outcome is something\n      that may or may not come to be.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # Contributed by RTX. Seems possible that a new predicate \"biolink:in_pathway\" could be justified?\n      - DRUGBANK:pathway\n    exact_mappings:\n      - SEMMEDDB:AFFECTS\n      - DGIdb:affects\n    narrow_mappings:\n      - SEMMEDDB:ADMINISTERED_TO\n      - CTD:prediction_hypothesis\n      - GOREL:0001006\n      - CTD:inferred\n      - UPHENO:0000001\n      - RO:0002263\n      - RO:0002264\n      - NCIT:R158\n      - NCIT:R160\n      - NCIT:R30\n      - NCIT:R150\n      - NCIT:R72\n      - NCIT:R146\n      - NCIT:R124\n      - NCIT:R173\n      - NCIT:R100\n      - NCIT:R102\n      - NCIT:R101\n      - NCIT:R113\n      - NCIT:R23\n      - NCIT:R25\n      - NCIT:gene_mapped_to_disease\n      - NCIT:R133\n      - RO:0002343\n      - RO:0002355\n      - RO:0002591\n      - RO:0002592\n      - RO:0012003\n      - SNOMED:has_pathological_process\n      - UBERGRAPH:is_increase_of # talked to Jim Balhoff, this is a valid mapping\n      - UBERGRAPH:is_decrease_of # talked to Jim Balhoff, this is a valid mapping\n\n  affected by:\n    is_a: related to at instance level\n    description: >-\n      describes an entity of which the state or quality is affected by\n      another existing entity.\n    inverse: affects\n\n  associated with sensitivity to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of sensitivity to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - PATO:0000085 # sensitivity toward\n    narrow_mappings:\n      - SNOMEDCT:418038007 # propensity to adverse reaction\n\n  sensitivity associated with:\n    is_a: associated with\n    inverse: associated with sensitivity to\n    range: named thing\n    domain: chemical entity\n\n  associated with resistance to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of resistance to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n\n  resistance associated with:\n    is_a: associated with\n    inverse: associated with resistance to\n    range: named thing\n    domain: chemical entity\n\n  diagnoses:\n    is_a: related to at instance level\n    description: >-\n      a relationship that identifies the nature of (an illness or other problem) by examination of the symptoms.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - NCIT:C15220 # diagnosis\n      - SIO:001331 # diagnosis\n    exact_mappings:\n      - DrugCentral:5271\n      - SEMMEDDB:DIAGNOSES\n\n  is diagnosed by:\n    is_a: related to at instance level\n    inverse: diagnoses\n    range: chemical or drug or treatment\n    domain: disease or phenotypic feature\n\n  increases amount or activity of:\n    deprecated: true\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that increase the amount\n      or activity of the object.\n\n  amount or activity increased by:\n    deprecated: true\n    is_a: related to at instance level\n    inverse: increases amount or activity of\n\n  decreases amount or activity of:\n    deprecated: true\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that decrease the amount\n      or activity of the object.\n\n  amount or activity decreased by:\n    deprecated: true\n    is_a: related to at instance level\n    inverse: decreases amount or activity of\n\n  ## role mixins for use in tagging corresponding role predicates\n\n  chemical role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a chemical context.\n    mixin: true\n    exact_mappings:\n      - CHEBI:51086\n\n  biological role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a biological context.\n    mixin: true\n    narrow_mappings:\n      - CHEBI:24432\n\n  affects response to:\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: response affected by\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_response_to\n\n  response affected by:\n    description: >-\n      holds between two chemical entities where the susceptibility of a biological entity or system\n      (e.g. an organism, cell, cellular component, macromolecular machine mixin,\n      biological or pathological process) of one is affected by the action of the other.\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  increases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      increases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases response to\n    exact_mappings:\n      - CTD:increases_response_to\n\n  response increased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases response to\n\n  decreases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      decreases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases response to\n    exact_mappings:\n      - CTD:decreases_response_to\n    narrow_mappings:\n      - CTD:decreases_response_to_substance\n\n  response decreased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases response to\n\n  regulates:\n    is_a: affects\n    description: >-\n      A more specific form of affects, that implies the effect results from a biologically evolved control mechanism.\n      Gene-affects-gene relationships will (almost) always involve regulation.  Exogenous/environmental chemical-affects-gene relationships \n      are not cases of regulation in this definition. Instead these would be captured using the 'affects' predicate, or\n      possibly one of the 'interacts with' predicates depending on the nature of the interaction.\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002448\n    broad_mappings:\n      # https://www.wikidata.org/wiki/Property:P128 - regulates (molecular biology)\n      - WIKIDATA_PROPERTY:P128\n      - CHEMBL.MECHANISM:modulator\n      - RO:0002295\n      - RO:0002332\n      - RO:0002448\n    notes: >-\n      The RO definition of 'directly regulates the activity of' is an exact_mapping here because \n      it describes genetic regulation from the point of view of one genetic entity regulating another, as opposed to\n      \"RO:0002211\" which describes process to process regulation.\n    mixins:\n      - interacts with\n\n  regulated by:\n    is_a: affected by\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    inverse: regulates\n\n  disrupts:\n    is_a: affects\n    aliases: [ 'disease causes disruption of' ]\n    description: >-\n      describes a relationship where one entity degrades or interferes\n      with the structure, function, or occurrence of another.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: enables\n    exact_mappings:\n      - SEMMEDDB:DISRUPTS\n      - CHEMBL.MECHANISM:disrupting_agent\n    narrow_mappings:\n      - RO:0004024\n      - RO:0004025\n\n  disrupted by:\n    is_a: affected by\n    description: >-\n      describes a relationship where the structure, function, or occurrence\n      of one entity is degraded or interfered with by another.\n    inverse: disrupts\n\n  gene product of:\n    is_a: related to at instance level\n    description: >-\n      definition x has gene product of y if and only if y is a gene (SO:0000704)\n      that participates in some gene expression process (GO:0010467) where the output of thatf\n      process is either y or something that is ribosomally translated from x\n    exact_mappings:\n      - RO:0002204\n    domain: gene product mixin\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: has gene product\n    in_subset:\n      - translator_minimal\n\n  has gene product:\n    is_a: related to at instance level\n    description: >-\n      holds between a gene and a transcribed and/or\n      translated product generated from it\n    domain: gene\n    range: gene product mixin\n    inverse: gene product of\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # RTX term tagged as inverse mapping\n      - PR:has_gene_template\n    exact_mappings:\n      - RO:0002205\n      - WIKIDATA_PROPERTY:P688\n      - NCIT:gene_encodes_gene_product\n    narrow_mappings:\n      - NCIT:R178\n\n  transcribed to:\n    is_a: related to at instance level\n    domain: gene\n    range: transcript\n    description: >-\n      inverse of transcribed from\n    inverse: transcribed from\n    exact_mappings:\n      - RO:0002511\n      - SIO:010080\n\n  transcribed from:\n    is_a: related to at instance level\n    domain: transcript\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: transcribed to\n    description: >-\n      x is transcribed from y if and only if x is synthesized from template y\n    exact_mappings:\n      - RO:0002510\n      - SIO:010081\n\n  translates to:\n    is_a: related to at instance level\n    domain: transcript\n    range: protein\n    annotations:\n      canonical_predicate: true\n    inverse: translation of\n    description: >-\n      x (amino acid chain/polypeptide) is the ribosomal translation of y (transcript) if and only if a ribosome\n      reads y (transcript) through a series of triplet codon-amino acid adaptor activities (GO:0030533)\n      and produces x (amino acid chain/polypeptide)\n    close_mappings:\n      - RO:0002513\n      - SIO:010082\n\n  translation of:\n    is_a: related to at instance level\n    domain: protein\n    range: transcript\n    description: >-\n      inverse of translates to\n    inverse: translates to\n    close_mappings:\n      - RO:0002512\n      - SIO:010083\n\n  homologous to:\n    is_a: similar to\n    aliases: [ 'in homology relationship with' ]\n    description: >-\n      holds between two biological entities that have common evolutionary origin\n    comments:\n      - typically used to describe homology relationships between genes or gene products\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000001\n      - SIO:010302\n    narrow_mappings:\n      # This is a tricky one to place; seems narrower than the RO mapping but that mapping, RO:0002158\n      - UBERON_CORE:sexually_homologous_to\n\n  paralogous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship that holds between entities (typically genes) that diverged after a duplication event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000011\n\n  orthologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship between entities (typically genes) that diverged after a speciation event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000017\n      - WIKIDATA_PROPERTY:P684\n\n  xenologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship characterized by an interspecies (horizontal) transfer since the common ancestor.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000018\n\n  coexists with:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities that are co-located in the same aggregate object, process, or spatio-temporal region\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SEMMEDDB:COEXISTS_WITH\n    narrow_mappings:\n      - BSPO:0000096\n      - BSPO:0000097\n      - BSPO:0000098\n      - BSPO:0000099\n      - BSPO:0000100\n      - BSPO:0000102\n      - BSPO:0000104\n      - BSPO:0000110\n      - BSPO:0000113\n      - BSPO:0015001\n      - BSPO:0015002\n      - BSPO:0015003\n      - BSPO:0015005\n      - BSPO:0015006\n      - BSPO:0015007\n      - BSPO:0015008\n      - BSPO:0015009\n      - BSPO:0015012\n      - BSPO:0015014\n      - BSPO:parallel_to\n      - UBERON_CORE:anastomoses_with\n      - UBERON_CORE:anteriorly_connected_to\n      - UBERON_CORE:posteriorly_connected_to\n      - UBERON_CORE:channel_for\n      - UBERON_CORE:channels_from\n      - UBERON_CORE:channels_into\n      - UBERON_CORE:conduit_for\n      - UBERON_CORE:distally_connected_to\n      - UBERON_CORE:extends_fibers_into\n      - UBERON_CORE:filtered_through\n      - UBERON_CORE:indirectly_supplies\n      - UBERON_CORE:proximally_connected_to\n      - UBERON_CORE:synapsed_by\n      - UBERON_CORE:transitively_anteriorly_connected_to\n      - UBERON_CORE:transitively_connected_to\n      - UBERON_CORE:transitively_distally_connected_to\n      - UBERON_CORE:transitively_proximally_connected_to\n      # RTX contributed Environmental Ontology term meaning \"partially surrounded by\"\n      - ENVO:01001307\n      - FMA:adjacent_to\n      - FMA:afferent_to\n      - FMA:anterior_to\n      - FMA:anteroinferior_to\n      - FMA:anterolateral_to\n      - FMA:anteromedial_to\n      - FMA:anterosuperior_to\n      # RTX contributed terms (also inverses to one another?) might better be mapped to another term with more precise functional semantics?\n      # Some of these terms also seem to be semantic inverses of one another, thus, perhaps not simple narrow_mappings to Biolink\n      - FMA:arterial_supply_of\n      - FMA:has_arterial_supply\n      - FMA:articulates_with\n      - FMA:attaches_to\n      - FMA:bounded_by\n      - FMA:bounds\n      - FMA:branch_of\n      - FMA:connection_type_of\n      - FMA:continuation_branch_of\n      - FMA:continuous_distally_with\n      - FMA:continuous_proximally_with\n      - FMA:corresponds_to\n      - FMA:development_type_of\n      - FMA:developmental_stage_of\n      - FMA:direct_cell_shape_of\n      - FMA:direct_left_of\n      - FMA:direct_right_of\n      - FMA:distal_to\n      - FMA:drains_into\n      - FMA:efferent_to\n      - FMA:external_to\n      - FMA:formed_by\n      - FMA:forms\n      # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:full_grown_phenotype_of\n      - FMA:has_full_grown_phenotype\n      # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:fuses_with\n      - FMA:fusion_of\n      - FMA:has_fusion\n      - FMA:germ_origin_of\n      - FMA:has_germ_origin\n      - FMA:has_adherent\n      - FMA:has_branch\n      - FMA:has_connection_type\n      - FMA:has_continuation_branch\n      - FMA:has_development_type\n      - FMA:has_developmental_stage\n      - FMA:has_direct_cell_shape\n      - FMA:has_inherent_3d_shape\n      - FMA:has_insertion\n      - FMA:has_lymphatic_drainage\n      - FMA:has_nerve_supply\n      - FMA:has_observed_anatomical_entity\n      - FMA:has_origin\n      - FMA:has_primary_segmental_supply\n      - FMA:has_projection\n      - FMA:has_regional_part\n      - FMA:has_related_developmental_entity\n      - FMA:has_secondary_segmental_supply\n      - FMA:has_segmental_composition\n      - FMA:has_segmental_supply\n      - FMA:has_tributary\n      - FMA:has_venous_drainage\n      - FMA:inferior_to\n      - FMA:inferolateral_to\n      - FMA:inferomedial_to\n      - FMA:inherent_3d_shape_of\n      - FMA:insertion_of\n      - FMA:internal_to\n      - FMA:lateral_to\n      - FMA:left_lateral_to\n      - FMA:left_medial_to\n      - FMA:lymphatic_drainage_of\n      - FMA:matures_from\n      - FMA:matures_into\n      - FMA:medial_to\n      - FMA:merges_with\n      - FMA:nerve_supply_of\n      - FMA:origin_of\n      - FMA:posterior_to\n      - FMA:posteroinferior_to\n      - FMA:posterolateral_to\n      - FMA:posteromedial_to\n      - FMA:posterosuperior_to\n      - FMA:primary_segmental_supply_of\n      - FMA:projects_from\n      - FMA:projects_to\n      - FMA:proximal_to\n      - FMA:receives_attachment_from\n      - FMA:receives_drainage_from\n      - FMA:receives_input_from\n      - FMA:receives_projection\n      - FMA:related_part\n      - FMA:right_lateral_to\n      - FMA:right_medial_to\n      - FMA:secondary_segmental_supply_of\n      - FMA:segmental_composition_of\n      - FMA:segmental_supply_of\n      - FMA:sends_output_to\n      - FMA:superior_to\n      - FMA:superolateral_to\n      - FMA:superomedial_to\n      - FMA:surrounded_by\n      - FMA:surrounds\n      - FMA:tributary_of\n      - FMA:venous_drainage_of\n      # These LOINC: terms contributed by RTX were only tagged as 'biolink:has_attribute'\n      # but seem more aligned to the FMA entries in this biolink term, so I leave them here for now\n      - LOINC:has_lateral_anatomic_location\n      - LOINC:has_lateral_location_presence\n      - UBERON_NONAMESPACE:distally_connected_to\n      - UBERON_NONAMESPACE:subdivision_of\n      # These RO terms seem similar to the FMA terms above, so I place them here rather than under 'biolink:related_to'\n      - RO:0002219\n      - RO:0002220\n      - RO:0002221\n      - SO:has_origin\n      # RTX mapped these UBERON terms all here\n      - UBERON:anastomoses_with\n      - UBERON:anteriorly_connected_to\n      - UBERON:channel_for\n      - UBERON:channels_from\n      - UBERON:channels_into\n      - UBERON:conduit_for\n      - UBERON:distally_connected_to\n      - UBERON:existence_starts_and_ends_during\n      - UBERON:extends_fibers_into\n      - UBERON:filtered_through\n      - UBERON:in_central_side_of\n      - UBERON:in_innermost_side_of\n      - UBERON:in_outermost_side_of\n      - UBERON:indirectly_supplies\n      - UBERON:posteriorly_connected_to\n      - UBERON:protects\n      - UBERON:proximally_connected_to\n      - UBERON:sexually_homologous_to\n\n  in pathway with:\n    description: >-\n      holds between two genes or gene products that are part of in the same biological pathway\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # generally pertains to membership of a (subject) component - gene,\n      # metabolite, etc? - in an (object) metabolic pathway\n      - SIO:010532\n\n  in complex with:\n    description: >-\n      holds between two genes or gene products that are part of (or code for\n      products that are part of) in the same macromolecular complex\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      # generally pertains to membership of a (subject) protein in an (object) protein complex (doesn't cover RNA-Protein, Lipid-Protein, etc complexes though)\n      - SIO:010497\n    broad_mappings:\n      # generally pertains to membership of any (subject) constituent molecule in an (object) molecular complex (might also generically cover RNA-Protein, Lipid-Protein, etc complexes)\n      - SIO:010285\n\n  in cell population with:\n    description: >-\n      holds between two genes or gene products that are expressed in the same cell type or population\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  colocalizes with:\n    description: >-\n      holds between two entities that are observed to be located in the same place.\n    is_a: coexists with\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:00002325\n\n  # Despite the name, note that this particular entity is\n  # NOT a biolink:Association but rather, a biolink:predicate\n  genetic association:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    description: >-\n      Co-occurrence of a certain allele of a genetic marker and the phenotype\n      of interest in the same individuals at above-chance level\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2293\n\n  gene associated with condition:\n    is_a: genetic association\n    description: >-\n      holds between a gene and a disease or phenotypic feature that the gene or its alleles/products may influence,\n      contribute to, or correlate with\n    domain: disease or phenotypic feature\n    range: gene\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    broad_mappings:\n      - GENO:0000840 # broader than a single gene: 'genotype' pathogenic for condition\n      - GENO:0000841\n    narrow_mappings:\n      # narrower: just diseases, not phenotypic features as well\n      - NCIT:R38\n      - NCIT:R175\n      - NCIT:R48\n\n  condition associated with gene:\n    is_a: genetic association\n    aliases: [ 'disease associated with gene' ]\n    description: >-\n      holds between a gene and a disease or phenotypic feature that may be influenced, contribute to, or be correlated with the gene or its alleles/products\n    domain: gene\n    range: disease or phenotypic feature\n    in_subset:\n      - translator_minimal\n    inverse: gene associated with condition\n    narrow_mappings:\n      # narrower since just diseases, not phenotypic features as well\n      - NCIT:R176\n\n  affects risk for:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where exposure to one entity alters the chance of developing the other\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  risk affected by:\n    is_a: related to at instance level\n    inverse: affects risk for\n\n  predisposes:\n    is_a: affects risk for\n    description: >-\n      holds between two entities where exposure to one entity increases the chance of developing the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    exact_mappings:\n      - SEMMEDDB:PREDISPOSES\n\n  has predisposing factor:\n    is_a: risk affected by\n    inverse: predisposes\n    in_subset:\n      - translator_minimal\n\n  contributes to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes or contributes to the\n      occurrence or generation of the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # RTX contributed mapping tagged as 'inverse' of this Biolink predicate\n      - IDO:0000664\n    exact_mappings:\n      - RO:0002326\n    narrow_mappings:\n      - CTD:marker_mechanism\n      - MONDO:predisposes_towards\n      # RTX mapped this to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002255\n      # RTX term 'contributes to condition' mapped to 'biolink:causes' seems more suitable here\n      - RO:0003304\n\n  contribution from:\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    inverse: contributes to\n\n  causes:\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes the occurrence\n      or generation of the other\n    is_a: contributes to\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    exact_mappings:\n      - SEMMEDDB:CAUSES\n      - WIKIDATA_PROPERTY:P1542\n      - SNOMED:cause_of\n      - RO:0003303\n    broad_mappings:\n      - RO:0002410\n      - RO:0002506\n    narrow_mappings:\n      - MONDO:disease_triggers\n      - GOREL:0000040\n      - MONDO:disease_causes_feature\n      - MONDO:disease_triggers\n      - NCIT:allele_has_abnormality\n      - NCIT:biological_process_has_result_biological_process\n      - NCIT:chemical_or_drug_has_physiologic_effect\n      # RTX mapped terms as 'biolink:part_of' but implied sequence of causality suggests 'biolink:causes'?\n      - NCIT:chemical_or_drug_initiates_biological_process\n      - NCIT:process_initiates_biological_process\n      - NCIT:chromosome_mapped_to_disease\n      - NCIT:disease_has_normal_tissue_origin\n      - NBO-PROPERTY:in_response_to\n      - orphanet:317343\n      - orphanet:317344\n      - orphanet:317346\n      - orphanet:410295\n      - orphanet:410296\n      # RTX mapped this term to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002256\n      - RO:0002315\n      - RO:0002507\n      - RO:0002509\n      - RO:0004001\n      - SNOMED:causative_agent_of\n      - SNOMED:has_realization\n      - UMLS:has_physiologic_effect\n\n  caused by:\n    description: >-\n      holds between two entities where the occurrence, existence,\n      or activity of one is caused by the occurrence or generation of the other\n    is_a: contribution from\n    aliases: [ 'disease caused by disruption of', 'disease has basis in dysfunction of',\n               'realized in response to', 'realized in response to stimulus' ]\n    in_subset:\n      - translator_minimal\n    inverse: causes\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P828\n    narrow_mappings:\n      - RO:0001022\n      - RO:0002608\n      - RO:0004019\n      - RO:0004020\n      - RO:0004028\n      - RO:0009501\n\n  # TODO: ameliorates and exacerbates inverses.\n  ameliorates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a genotype,\n      genetic variation, chemical, or environmental exposure, clinical intervention)\n      and a condition (a phenotype or disease), where the\n      presence of the entity reduces or eliminates some or\n      all aspects of the condition.\n    # 'biological entity' currently includes 'exposure event' which covers alot of related ground\n    domain: named thing\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: exacerbates\n    exact_mappings:\n      - RO:0003307\n\n  is ameliorated by:\n    inverse: ameliorates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: named thing\n\n  exacerbates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a chemical,\n      environmental exposure, or some form of genetic variation)\n      and a condition (a phenotype or disease), where the presence\n      of the entity worsens some or all aspects of the condition.\n    # 'biological entity' currently includes 'exposure event' which covers alot of related ground\n    domain: biological entity\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0003309\n    broad_mappings:\n      - SEMMEDDB:COMPLICATES\n\n  is exacerbated by:\n    inverse: exacerbates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: biological entity\n    in_subset:\n      - translator_minimal\n\n  treats:\n    aliases: [ 'is substance that treats', 'indicated for' ]\n    is_a: ameliorates\n    description: >-\n      holds between a therapeutic procedure or chemical entity\n      and a disease or phenotypic feature that it is used to treat\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: contraindicated for\n    in_subset:\n      - translator_minimal\n    related_mappings:\n      - MONDO:disease_responds_to\n    exact_mappings:\n      - DRUGBANK:treats\n      - SEMMEDDB:TREATS\n      - WIKIDATA_PROPERTY:P2175\n    narrow_mappings:\n      # \"is substance that treats\" constrains statements to\n      # a subset of the universe of all possible treatments\n      - RO:0002606\n      - NCIT:regimen_has_accepted_use_for_disease\n      # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n      - SNOMED:plays_role\n\n  treated by:\n    is_a: is ameliorated by\n    description: >-\n      holds between a disease or phenotypic feature and a therapeutic\n      process or chemical entity that is used to treat the condition\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    # range: chemical or drug or treatement\n    in_subset:\n      - translator_minimal\n    inverse: treats\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2176\n      # RTX contributed term tagged as inverse of 'biolink:treats'\n      - MONDO:disease_responds_to\n    narrow_mappings:\n      # \"is treated by substance\" constrains statements to\n      # subset of the universe of all possible treatments\n      - RO:0002302\n\n  prevents:\n    is_a: affects risk for\n    description: >-\n      holds between an entity whose application or use reduces\n      the likelihood of a potential outcome. Typically used to associate\n      a chemical entity, exposure, activity, or medical intervention\n      that can prevent the onset a disease or phenotypic feature.\n    annotations:\n      canonical_predicate: true\n      opposite_of: predisposes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:PREVENTS\n    narrow_mappings:\n      # more restricted case of a material entity mitigating a pathological process\n      - RO:0002599\n\n  prevented by:\n    is_a: risk affected by\n    description: >-\n      holds between a potential outcome of which the likelihood\n      was reduced by the application or use of an entity.\n    inverse: prevents\n    annotations:\n      opposite_of: enabled by\n\n  correlated with:\n    is_a: associated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical dependence is \n      demonstrated using a correlation analysis method.\n    notes: >-\n      These concepts may map exactly to the statistical variables, or represent related entities for which the \n      variables serve as proxies in an Association (e.g. diseases, chemical entities or processes).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002610\n      - PATO:correlates_with\n\n  # proposed positive and negative semantic extensions to the general \"correlated with\" predicate\n\n  positively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation \n      is demonstrated, wherein variable values move together in the same direction (i.e. increased in one or \n      presence of one correlates with an increase or presence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: negatively correlated with\n    exact_mappings:\n      - CTD:positive_correlation\n\n  negatively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation \n      is demonstrated, wherein variable values move in opposite directions (i.e. increased in one or presence of \n      one correlates with a decrease or absence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: positively correlated with\n    exact_mappings:\n      - CTD:negative_correlation\n\n  occurs together in literature with:\n    is_a: correlated with\n    description: >-\n      holds between two entities where their co-occurrence is correlated by counts of publications\n      in which both occur, using some threshold of occurrence as defined by the edge provider.\n    domain: named thing\n    range: named thing\n    in_subset: translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  coexpressed with:\n    is_a: correlated with\n    description: >-\n      holds between any two genes or gene products, in which both are\n      generally expressed within a single defined experimental context.\n    domain: gene or gene product\n    range: gene or gene product\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  has biomarker:\n    is_a: correlated with\n    description: >-\n      holds between a disease or phenotypic feature and a measurable\n      chemical entity that is used as an indicator of the presence\n      or state of the disease or feature.\n      # metabolite\n    domain: disease or phenotypic feature\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    inverse: biomarker for\n    narrow_mappings:\n      # some RTX terms contributed as inverses of 'biolink:biomarker_for'\n      - NCIT:disease_has_molecular_abnormality\n      - NCIT:disease_is_marked_by_gene\n\n  biomarker for:\n    is_a: correlated with\n    description: >-\n      holds between a measurable chemical entity and a disease\n      or phenotypic feature, where the entity is used as an indicator\n      of the presence or state of the disease or feature.\n    domain: chemical entity or gene or gene product\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - NCIT:R39\n    broad_mappings:\n      # Generic marker definition not specific to biomarkers per say\n      - RO:0002607\n    narrow_mappings:\n      - NCIT:R47\n      # RTX term was tagged as 'biolink:actively_involved_in' but maps better here?\n      - NCIT:genetic_biomarker_related_to\n      - NCIT:is_molecular_abnormality_of_disease\n      - orphanet:465410\n\n  # It may be helpful to introduce an intermediate predicate in between 'related_to' and 'expressed in'\n  # which would have a domain of 'biological entity' and range of 'anatomical entity', to map predicates\n  # which are biological which have manifestation in an anatomical site, e.g. RO:0004026, RO:0004027 and others\n  expressed in:\n    is_a: located in\n    description: >-\n      holds between a gene or gene product and an anatomical entity in which it is expressed\n    domain: gene or gene product\n    range: anatomical entity\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002206\n    narrow_mappings:\n      - NCIT:R49\n      - NCIT:R46\n\n  expresses:\n    is_a: location of\n    aliases: [ 'anatomy expresses gene' ]\n    description: >-\n      holds between an anatomical entity and gene or gene product that is expressed there\n    domain: anatomical entity\n    range: gene or gene product\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    inverse: expressed in\n    exact_mappings:\n      - RO:0002292\n\n  has phenotype:\n    is_a: related to at instance level\n    aliases: [ 'disease presents symptom' ]\n    description: >-\n      holds between a biological entity and a phenotype, where a phenotype\n      is construed broadly as any kind of quality of an organism part,\n      a collection of these qualities, or a change in quality or qualities\n      (e.g. abnormally increased temperature). In SNOMEDCT, disorders with keyword 'characterized by' should\n      translate into this predicate.\n    domain: biological entity\n    range: phenotypic feature\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    notes:\n      - check the range\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002200\n    broad_mappings:\n      - NCIT:R115\n      - NCIT:R108\n    narrow_mappings:\n      - NCIT:R89\n      - DOID-PROPERTY:has_symptom\n      - RO:0004022\n\n  phenotype of:\n    is_a: related to at instance level\n    domain: phenotypic feature\n    range: biological entity\n    multivalued: true\n    inverse: has phenotype\n\n  # TODO: predicate inverse for occurs in\n  occurs in:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a material entity or site within which the process occurs\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # These RTX mapped terms tagged as the inverse of \"biolink:occurs_in\", i.e. Entity/Site contains Process\n      - BFO:0000067\n      - SNOMED:has_occurrence\n      - UBERON:site_of\n    exact_mappings:\n      - BFO:0000066\n      - PathWhiz:has_location\n      - SNOMED:occurs_in\n    narrow_mappings:\n      # SemMedDb term 'OCCURS_IN' constrained to something (other than process) occurring in a group or population\n      - SEMMEDDB:OCCURS_IN\n      # SemMedDb term 'PROCESS_IN' constrained specifically to a process occurring in the object concept entity\n      - SEMMEDDB:PROCESS_OF\n      # Uberon term constrained to a 'site' as object concept\n      - UBERON_CORE:site_of\n      - LOINC:has_imaged_location\n      - PathWhiz:in_species\n      - RO:0002231\n      - RO:0002232\n      - SNOMED:has_direct_procedure_site\n      - SNOMED:has_direct_site\n      - SNOMED:has_procedure_site\n\n  contains process:\n    is_a: related to at instance level\n    inverse: occurs in\n\n  located in:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a material entity or site\n      within which it is located (but of which it is not considered a part)\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0001025\n      - FMA:has_location\n    narrow_mappings:\n      - GOREL:0001004\n      - BSPO:0000107\n      - BSPO:0000108\n      - BSPO:0000120\n      - BSPO:0000121\n      - BSPO:0000122\n      - BSPO:0000123\n      - BSPO:0000124\n      - BSPO:0000125\n      - BSPO:0000126\n      - BSPO:0001100\n      - BSPO:0001101\n      - BSPO:0001107\n      - BSPO:0015101\n      - BSPO:0015102\n      - BSPO:0015202\n      - UBERON_CORE:in_central_side_of\n      - UBERON_CORE:in_innermost_side_of\n      - UBERON_CORE:in_outermost_side_of\n      - NCIT:R100\n      - EFO:0000784\n      - FMA:has_location\n      - HMDB:at_cellular_location\n      - HMDB:at_tissue\n      - HMDB:in_biospecimen\n      - LOINC:has_imaging_focus\n      - NCIT:R156\n      - NCIT:R155\n      - NCIT:R145\n      - NCIT:R40\n      - NCIT:R171\n      - NCIT:R167\n      - NCIT:R165\n      - NCIT:R169\n      - NCIT:R170\n      - NCIT:R166\n      - NCIT:R168\n      - RO:0002303\n      - SNOMED:has_finding_site\n      - SNOMED:has_indirect_procedure_site\n      - SNOMED:has_inherent_location\n    domain: named thing\n    range: named thing\n\n  location of:\n    is_a: related to at instance level\n    aliases: [ 'site of' ]\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between material entity or site and a material entity\n      that is located within it (but not considered a part of it)\n    in_subset:\n      - translator_minimal\n    inverse: located in\n    exact_mappings:\n      - RO:0001015\n      - SEMMEDDB:LOCATION_OF\n      - WIKIDATA_PROPERTY:P276\n      # RTX tagged this as an inverse of biolink:located_in\n      - FMA:location_of\n    narrow_mappings:\n      - SNOMED:inherent_location_of\n      - NCIT:Anatomic_Structure_Has_Location_Role\n\n  disease has location:\n    description: >-\n      A relationship between a disease and an anatomical entity where the\n      disease has one or more features that are located in that entity.\n    is_a: related to\n    exact_mappings:\n      - RO:0004026\n      - MONDO:disease_has_location\n\n  location of disease:\n    is_a: related to\n    inverse: disease has location\n\n  similar to:\n    is_a: related to at instance level\n    description: >-\n      holds between an entity and some other entity with similar features.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000000               #I don't understand this identifier, but I think it's equivalent\n      - SO:similar_to               #equivalent\n\n  chemically similar to:\n    is_a: similar to\n    description: >-\n      holds between one small molecule entity and another that it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - CHEBI:has_parent_hydride    #subproperty\n      - CHEBI:has_functional_parent #subproperty\n      - CHEBI:is_conjugate_acid_of  #subproperty\n      - CHEBI:is_conjugate_base_of  #subproperty\n      - CHEBI:is_enantiomer_of      #subproperty\n      - CHEBI:is_tautomer_of        #subproperty\n      - NCIT:has_salt_form\n\n  has sequence location:\n    is_a: related to at instance level\n    description: >-\n      holds between two nucleic acid entities when the subject can be localized\n      in sequence coordinates on the object. For example, between\n      an exon and a chromosome/contig.\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - faldo:location\n\n  sequence location of:\n    is_a: related to at instance level\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    inverse: has sequence location\n\n  model of:\n    is_a: related to at instance level\n    description: >-\n      holds between a thing and some other thing it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0003301\n    narrow_mappings:\n      - FOODON:00001301\n\n  models:\n    is_a: related to at instance level\n    inverse: model of\n\n  overlaps:\n    is_a: related to at instance level\n    description: >-\n      holds between entities that overlap in their extents (materials or processes)\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002131\n    narrow_mappings:\n      - BSPO:0005001\n      - CHEMBL.MECHANISM:overlaps_with\n      - RO:0002100\n      - RO:0002102\n      - RO:0002433\n\n  has part:\n    is_a: overlaps\n    annotations:\n      canonical_predicate: true\n      opposite_of: lacks part\n    description: >-\n      holds between wholes and their parts (material entities or processes)\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000051\n      # term name seems to be 'realizes' but RTX maps this term here\n      - BFO:0000055\n      - WIKIDATA_PROPERTY:P527\n      - RO:0001019\n      - RXNORM:consists_of\n      - RXNORM:has_part\n    broad_mappings:\n      # To 'contain' is 'to have something inside or include something as a part'; slightly broader?\n      - RO:0001019\n      - FMA:contains\n      - RXNORM:contains\n    narrow_mappings:\n      - BFO:0000117\n      # RTX term originally mapped to 'biolink:coexists_with'?\n      - FMA:has_constitutional_part\n      - FMA:has_part\n      # Several of the following RTX terms were originally mapped as inverses to 'biolink:part_of'?\n      - FMA:has_member\n      - FOODON:00001563\n      - FOODON:00002420\n      - LOINC:has_component\n      - LOINC:has_member\n      - MEDDRA:has_member\n      - MONDO:disease_has_major_feature\n      - NCIT:complex_has_physical_part\n      - NDDF:has_ingredient\n      - PathWhiz:has_element_in_bound\n      # This RTX contributed term was tagged as 'biolink:has_gene_product' but seems more compositional in nature\n      - NCIT:R50\n      - PathWhiz:has_protein_in_complex\n      - RO:0002104\n      - RO:0002180\n      - RO:0002351\n      - RO:0002473\n      - RO:0002524\n      - RO:0002551\n      - RXNORM:has_ingredient\n      - SNOMED:has_component\n      - UMLS:has_component\n\n  has plasma membrane part:\n    is_a: has part\n    description: >-\n      Holds between a cell c and a protein complex or protein p if\n      and only if that cell has as part a plasma_membrane[GO:0005886], and that plasma membrane has p as part.\n    exact_mappings:\n      - RO:0002104\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  composed primarily of:\n    is_a: related to\n    description: >-\n      x composed_primarily_of_y if:more than half of the mass of x is made from parts of y.\n    exact_mappings:\n      - RO:0002473\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  primarily composed of:\n    inverse: composed primarily of\n    is_a: related to\n\n  plasma membrane part of:\n    is_a: part of\n    inverse: has plasma membrane part\n\n  part of:\n    is_a: overlaps\n    description: >-\n      holds between parts and wholes (material entities or processes)\n    in_subset:\n      - translator_minimal\n    inverse: has part\n    exact_mappings:\n      - BFO:0000050\n      - SEMMEDDB:PART_OF\n      - WIKIDATA_PROPERTY:P361\n      - FMA:part_of\n      - RXNORM:constitutes\n      - RXNORM:part_of\n    broad_mappings:\n      # To 'contain' is 'to have something inside or include something as a part'\n      - RO:0001018\n      - FMA:contained_in\n      - RXNORM:contained_in\n    narrow_mappings:\n      - BSPO:0001106\n      - BSPO:0001108\n      - BSPO:0001113\n      - BSPO:0001115\n      - UBERON_CORE:layer_part_of\n      - UBERON_CORE:subdivision_of\n      - UBERON_CORE:trunk_part_of\n      - CHEBI:is_substituent_group_from\n      - CPT:panel_element_of\n      - CPT:panel_element_of_possibly_included\n      - DRUGBANK:component_of\n      - FMA:constitutional_part_of\n      - FMA:member_of\n      - FMA:regional_part_of\n      - FMA:related_developmental_entity_of\n      - LOINC:component_of\n      - LOINC:has_supersystem\n      - LOINC:member_of\n      - LOINC:multipart_of\n      - MEDDRA:member_of\n      - MONDO:part_of_progression_of_disease\n      - NCIT:R82\n      - NCIT:R27\n      - NCIT:is_component_of_chemotherapy_regimen\n      - NDDF:ingredient_of\n      - RO:0002007\n      - RO:0002350\n      - RO:0002376\n      - RO:0002380\n      - RO:0002571\n      - RO:0002572\n      - RO:0002576\n      - RXNORM:ingredient_of\n      - RXNORM:ingredients_of\n      - RXNORM:precise_ingredient_of\n      - SNOMED:active_ingredient_of\n      - SNOMED:basis_of_strength_substance_of\n      - SNOMED:component_of\n      - SNOMED:direct_substance_of\n      - SNOMED:during\n      - SNOMED:focus_of\n      - SNOMED:has_dependent\n      - SNOMED:part_anatomy_structure_of\n      - SNOMED:precise_active_ingredient_of\n      - UBERON:subdivision_of\n      - UMLS:component_of\n      - UMLS:has_owning_affiliate\n      - UMLS:owning_subsection_of\n      - VANDF:ingredient_of\n\n  has input:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an input into the process\n    domain: biological process or activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n      opposite_of: has output\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # RTX inverse mapping to 'biolink:has_input'\n      - RO:0002352\n    exact_mappings:\n      - RO:0002233\n      - SEMMEDDB:USES\n    narrow_mappings:\n      - LOINC:has_fragments_for_synonyms\n      - LOINC:has_system\n      - PathWhiz:has_left_element\n      - RO:0002590\n      - RO:0004009\n      - SNOMED:has_finding_method\n      - SNOMED:has_precondition\n      - SNOMED:has_specimen_source_identity\n      - SNOMED:has_specimen_substance\n      - SNOMED:uses_access_device\n      - SNOMED:uses_device\n      - SNOMED:uses_energy\n      - SNOMED:uses_substance\n\n  is input of:\n    is_a: participates in\n    domain: occurrent\n    range: biological process or activity\n    inverse: has input\n    in_subset:\n      - translator_minimal\n\n  has output:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an output of the process\n    domain: biological process or activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n      opposite_of: has input\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - RO:0002353\n      - RO:0002354\n    exact_mappings:\n      - RO:0002234\n    narrow_mappings:\n      - NCIT:R31\n      - OBI:0000299\n      - PathWhiz:has_right_element\n      - RO:0002296\n      - RO:0002297\n      - RO:0002298\n      - RO:0002299\n      - RO:0002588\n      - RO:0004008\n\n  is output of:\n    is_a: participates in\n    domain: occurrent\n    range: biological process or activity\n    inverse: has output\n    in_subset:\n      - translator_minimal\n\n  has participant:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a continuant, where the continuant is somehow involved in the process\n    domain: biological process or activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - WIKIDATA_PROPERTY:P2283\n    exact_mappings:\n      - RO:0000057\n      - RO:has_participant\n    narrow_mappings:\n      - BFO:0000167\n      # Several of the following RTX terms tagged as inverse to 'biolink:participates_in'\n      - LOINC:has_subject\n      - NCIT:process_involves_gene\n      - NBO-PROPERTY:has_participant\n      - PathWhiz:has_bound\n      - PathWhiz:has_compound\n      - PathWhiz:has_element_collection\n      - PathWhiz:has_enzyme\n      - OBI:0000293\n      - PathWhiz:has_nucleic_acid\n      - PathWhiz:has_protein\n      - PathWhiz:has_reaction\n      - RO:0004007\n      - RO:0004020\n      - RO:0004021\n      - SNOMED:has_indirect_device\n      - SNOMED:has_procedure_device\n      - SNOMED:has_recipient_category\n\n  catalyzes:\n    is_a: participates in\n    domain: nucleic acid entity\n    range: molecular activity\n    annotations:\n      canonical_predicate: true\n\n  has catalyst:\n    is_a: has participant\n    inverse: catalyzes\n    domain: molecular activity\n    range: nucleic acid entity\n\n  has substrate:\n    is_a: has participant\n    domain: molecular activity\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n\n  is substrate of:\n    is_a: participates in\n    inverse: has substrate\n    domain: chemical entity or gene or gene product\n    range: molecular activity\n\n  participates in:\n    is_a: related to at instance level\n    description: >-\n      holds between a continuant and a process, where the continuant is somehow involved\n      in the process\n    range: biological process or activity\n    domain: occurrent\n    inverse: has participant\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0000056\n      - BFO:0000056\n    narrow_mappings:\n      - DRUGBANK:pathway\n      - HMDB:in_pathway\n      - LOINC:is_given_pharmaceutical_substance_for\n      - NCIT:R130\n      - NCIT:R37\n      - NCIT:R131\n      - NCIT:R51\n      - NCIT:R53\n      - OBI:0000295\n      - RO:0002216\n      - RO:0002505\n      - RO:0002565\n      - SNOMED:has_direct_device\n\n  actively involved in:\n    is_a: participates in\n    aliases: [ 'involved in' ]\n    description: >-\n      holds between a continuant and a process or function, where\n      the continuant actively contributes to part or all of\n      the process or function it realizes\n    domain: occurrent\n    range: molecular activity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002331\n      - RO:0002432\n    narrow_mappings:\n      - NBO-PROPERTY:by_means\n      - orphanet:317348\n      - orphanet:317349\n      - orphanet:327767\n      - RO:0002503\n\n  actively involves:\n    is_a: has participant\n    domain: molecular activity\n    range: occurrent\n    inverse: actively involved in\n    exact_mappings:\n      - RO:0002331\n    in_subset:\n      - translator_minimal\n\n  capable of:\n    is_a: actively involved in\n    description: >-\n      holds between a physical entity and process or function, where the\n      continuant alone has the ability to carry out the process or function.\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002215\n    narrow_mappings:\n      - NCIT:R52\n      - RO:0002500\n\n  can be carried out by:\n    is_a: actively involves\n    inverse: capable of\n    domain: occurrent\n\n  enables:\n    is_a: participates in\n    description: >-\n      holds between a physical entity and a process, where the physical entity executes the process\n    domain: physical entity\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    in_subset:\n      - translator_minimal\n    inverse: enabled by\n    exact_mappings:\n      - RO:0002327\n\n  enabled by:\n    is_a: has participant\n    description: >-\n      holds between a process and a physical entity, where the physical entity executes the process\n    domain: biological process or activity\n    range: physical entity\n    in_subset:\n      - translator_minimal\n    inverse: enables\n    exact_mappings:\n      - RO:0002333\n    annotations:\n      opposite_of: prevented by\n\n  derives into:\n    is_a: related to at instance level\n    aliases: [ 'is normal cell origin of disease', 'may be normal cell origin of disease' ]\n    description: >-\n      holds between two distinct material entities, the old entity and\n      the new entity, in which the new entity begins to exist when\n      the old entity ceases to exist, and the new entity inherits\n      the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n    inverse: derives from\n    # TODO: fix this according to WG notes. Example of both opposite and inverse\n    # Commenting as it feels very wrong. A good example with both opposite and inverse is `has active ingredient`\n    # annotations:\n    #   opposite_of: subclass of\n    exact_mappings:\n      - RO:0001001\n      - SEMMEDDB:CONVERTS_TO\n      # RTX posted terms as inverse of 'biolink:derives_from'\n      - FMA:derives\n\n  derives from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    description: >-\n      holds between two distinct material entities, the new entity\n      and the old entity, in which the new entity begins to exist\n      when the old entity ceases to exist, and the new entity\n      inherits the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n      - samples\n    inverse: derives into\n    exact_mappings:\n      - RO:0001000\n      - FMA:derives_from\n      - DOID-PROPERTY:derives_from\n    narrow_mappings:\n      - CHEBI:has_functional_parent\n      - SNOMED:has_specimen_source_topography\n\n  is metabolite of:\n    is_a: derives from\n    description: >-\n      holds between two molecular entities in which the first one is derived\n      from the second one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    in_subset:\n      - translator_minimal\n    inverse: has metabolite\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  has metabolite:\n    is_a: derives into\n    description: >-\n      holds between two molecular entities in which the second one is derived from the first\n      one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  food component of:\n    is_a: part of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has food component\n    #mappings:\n    #  -\n\n  has food component:\n    is_a: has part\n    description: >-\n      holds between food and one or more chemical entities composing it,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  nutrient of:\n    is_a: food component of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has nutrient\n    #exact_mappings:\n    #  -\n\n  has nutrient:\n    is_a: has food component\n    description: >-\n      one or more nutrients which are growth factors for a living organism\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q181394\n\n  is active ingredient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug, in which the former\n      is a part of the latter, and is a biologically active component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has active ingredient\n    mappings:\n      - RO:0002249\n\n  has active ingredient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entity in which the latter\n      is a part of the former, and is a biologically active component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n      opposite_of: is excipient of\n    in_subset:\n      - translator_minimal\n    inverse: is active ingredient of\n    mappings:\n      - RO:0002248\n\n  is excipient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug in which the former is\n      a part of the latter, and is a biologically inactive component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has excipient\n    mappings:\n      - WIKIDATA:Q902638\n\n  has excipient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entities in which the latter\n      is a part of the former, and is a biologically inactive component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    mappings:\n      - WIKIDATA:Q902638\n\n  manifestation of:\n    is_a: related to at instance level\n    description: >-\n      that part of a phenomenon which is directly observable or\n      visibly expressed, or which gives evidence to the underlying\n      process; used in SemMedDB for linking things like dysfunctions\n      and processes to some disease or syndrome\n    range: disease\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:MANIFESTATION_OF\n      - OMIM:manifestation_of\n    broad_mappings:\n      # Wikidata's definition is slightly broader: \"inherent and characteristic embodiment of a given concept\"\n      - WIKIDATA_PROPERTY:P1557\n    narrow_mappings:\n      - SNOMED:has_definitional_manifestation\n\n  has manifestation:\n    is_a: related to at instance level\n    domain: disease\n    inverse: manifestation of\n\n  mode of inheritance of:\n    is_a: manifestation of\n    domain: genetic inheritance\n    range: disease or phenotypic feature\n    inverse: has mode of inheritance\n\n  has mode of inheritance:\n    is_a: has manifestation\n    description: >-\n      Relates a disease or phenotypic feature to its observed genetic segregation and assumed\n      associated underlying DNA manifestation (i.e. autosomal, sex or mitochondrial chromosome).\n    domain: disease or phenotypic feature\n    range: genetic inheritance\n    annotations:\n      # This canonical order reverses that of its parent 'has manifestation' class\n      # but seems a more natural direction in the pertinent edge relationships.\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  produces:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a product that is generated\n      through the intentional actions or functioning of the material entity\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - GOREL:0001010\n    exact_mappings:\n      - RO:0003000\n      - WIKIDATA_PROPERTY:P1056\n      - SEMMEDDB:PRODUCES\n    narrow_mappings:\n      - NCIT:R29\n      - SNOMED:has_process_output\n      - SNOMED:specimen_procedure_of\n\n  produced by:\n    is_a: related to at instance level\n    inverse: produces\n    exact_mappings:\n      - RO:0003001\n\n  consumes:\n    is_a: has input\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - RO:0004009\n\n  consumed by:\n    is_a: is input of\n    inverse: consumes\n\n  temporally related to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities with a temporal relationship\n    domain: occurrent\n    range: occurrent\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SNOMED:temporally_related_to\n    narrow_mappings:\n      # The These RTX mappings are temporal in nature, but not with precedes ordering, so mapped here\n      - RO:0002082\n      - RO:0002083\n      - RO:0002092\n      - RO:0002093\n      - RO:0002223\n      - RO:0002224\n      - RO:0002229\n      - RO:0002230\n      - RO:0002488\n      - RO:0002489\n      - RO:0002492\n      - RO:0002493\n      - RO:0002496\n      - RO:0002497\n\n  precedes:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where one completes before the other begins\n    domain: occurrent\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    inverse: preceded by\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      # the subject of these terms is a material entity, not a process,\n      # but affects a process which causes a second process to occur\n      - RO:0002263\n      - RO:0002264\n    exact_mappings:\n      - BFO:0000063\n      - SEMMEDDB:PRECEDES\n      - SNOMED:occurs_before\n    broad_mappings:\n      # the Wikidata definition is subtly broader, focusing on a series not strictly temporal in nature\n      - WIKIDATA_PROPERTY:P156\n    narrow_mappings:\n      - FMA:transforms_into\n      - RO:0002090\n      - RO:0002411\n      - RO:0002412\n\n  preceded by:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where the other is completed before the one begins\n    domain: occurrent\n    range: occurrent\n    inverse: precedes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000062\n    broad_mappings:\n      # Contributed by RTX as inverse of 'precedes'. Seems more generic to just processes, so we tag it as 'broad'?\n      - GENEPIO:0001739\n    narrow_mappings:\n      # RTX contributed mapping was given as the inverse of 'biolink:precedes'\n      - FMA:transforms_from\n      - RO:0002087\n      - RO:0002285\n\n  has variant part:\n    is_a: has part\n    description: holds between a nucleic acid entity and a nucleic acid entity that is a sub-component of it\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000382\n\n  variant part of:\n    is_a: part of\n    inverse: has variant part\n\n  related condition:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000790\n\n  ## Predicates relating variants to genes\n\n  is sequence variant of:\n    is_a: related to at instance level\n    aliases: [ 'gene product sequence variation encoded by gene mutant', 'allelic variant of', 'gene product variant of gene product' ]\n    description: holds between a sequence variant and a nucleic acid entity\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - WIKIDATA:P3433\n\n  has sequence variant:\n    is_a: related to at instance level\n    inverse: is sequence variant of\n    domain: genomic entity\n    range: sequence variant\n\n  is missense variant of:\n    is_a: is sequence variant of\n    description: holds between a gene  and a sequence variant, such the sequence variant\n      results in a different amino acid sequence but where the length is preserved.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001583\n\n  has missense variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is missense variant of\n\n  is synonymous variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the coding sequence of the gene, but results in the same amino acid sequence\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001819\n\n  has synonymous variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is synonymous variant of\n    aliases: [ 'stop gained' ]\n\n  is nonsense variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      results in a premature stop codon\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      # Term definition broader than nonsense codon: A sequence variant whereby\n      # the gene product has diminished or abolished function.\n      - SO:0002054\n\n  has nonsense variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is nonsense variant of\n\n  is frameshift variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      causes a disruption of the translational reading frame, because the number of\n      nucleotides inserted or deleted is not a multiple of three.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001589\n    aliases: [ 'frameshift variant', 'start lost', 'stop lost' ]\n\n  has frameshift variant:\n    is_a: has sequence variant\n    inverse: is frameshift variant of\n    domain: genomic entity\n    range: sequence variant\n    aliases: [ 'splice region variant', 'splice acceptor variant', 'splice donor variant' ]\n\n  is splice site variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the canonical splice site of one of the gene's exons.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001629\n\n\n  has splice site variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is splice site variant of\n    aliases: [ 'downstream gene variant', 'upstream gene variant' ]\n\n  is nearby variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene sequence that the variant\n      is genomically close to.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n\n  has nearby variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is nearby variant of\n    aliases: [ 'intron variant', '3 prime UTR variant', '5 prime UTR variant', '5 prime UTR premature start codon gain variant', 'non coding transcript exon variant' ]\n\n  is non coding variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, where the variant does\n      not affect the coding sequence\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n\n  has non coding variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is non coding variant of\n\n  # relating disease to process\n\n  disease has basis in:\n    description: A relation that holds between a disease and an entity where the state\n      of the entity has contribution to the disease.\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      # These two MONDO terms seem more particular than the predicate\n      - MONDO:disease_has_basis_in_development_of\n      - MONDO:disease_has_basis_in_accumulation_of\n\n  occurs in disease:\n    is_a: related to at instance level\n    inverse: disease has basis in\n\n\n  has adverse event:\n    is_a: affects\n    aliases: [ 'adverse effect']\n    description: >-\n      An untoward medical occurrence in a patient or clinical investigation subject that happens during treatment \n      with a therapeutic agent. Adverse events may be caused by something \n      other than the drug or therapy being given and may include abnormal laboratory finding, symptoms, or \n      diseases temporally associated with the treatment, whether or not considered related to the treatment. \n      Adverse events are unintended effects that occur when a medication is administered correctly.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n\n  adverse event of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has adverse event\n\n  has side effect:\n    aliases: [ 'adverse drug reaction']\n    is_a: affects\n    description: >-\n      An unintended, but predictable, secondary effect shown to be correlated with a therapeutic agent, drug or treatment.\n      Side effects happen at normal, recommended doses or treatments, and are unrelated to the intended purpose of \n      the medication.\n    notes: >-\n      Side effects are listed on drug labels. There can be positive side effects, while adverse events are always negative.\n      Aeolus, Sider are both resources that provide side effects.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C2861 # side effect\n\n  is side effect of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has side effect\n\n  contraindicated for:\n    is_a: related to at instance level\n    description: Holds between a drug and a disease or phenotype, such that a person\n      with that disease should not be treated with the drug.\n    domain: drug\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: treats\n    exact_mappings:\n      - NCIT:C37933\n\n  has contraindication:\n    is_a: related to at instance level\n    domain: disease or phenotypic feature\n    range: drug\n    inverse: contraindicated for\n\n  # The remaining new slots are here because we ran across them somewhere and\n  # they didn't seem to map well to anything else.\n\n  has not completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of,\n      but has not completed\n    exact_mappings:\n      - CL:has_not_completed\n    annotations:\n      opposite_of: has completed\n      canonical_predicate: true\n\n  not completed by:\n    is_a: related to at instance level\n    inverse: has not completed\n\n  has completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of\n      and has completed\n    annotations:\n      canonical_predicate: true\n      opposite_of: has not completed\n    exact_mappings:\n      - CL:has_completed\n\n  completed by:\n    is_a: related to at instance level\n    inverse: has completed\n\n\n  in linkage disequilibrium with:\n    is_a: related to at instance level\n    description: holds between two sequence variants, the presence of which are correlated\n      in a population\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C16798\n\n  has increased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has decreased amount\n    narrow_mappings:\n      - CL:has_high_plasma_membrane_amount\n\n  increased amount of:\n    is_a: related to at instance level\n    inverse: has increased amount\n\n  has decreased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has increased amount\n    narrow_mappings:\n      - CL:has_low_plasma_membrane_amount\n\n  decreased amount in:\n    is_a: related to at instance level\n    inverse: has decreased amount\n\n  lacks part:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has part\n    exact_mappings:\n      - CL:lacks_part\n      - PR:lacks_part\n    narrow_mappings:\n      - CL:lacks_plasma_membrane_part\n\n  missing from:\n    is_a: related to at instance level\n    inverse: lacks part\n\n  develops from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      # RTX mapping seems to be inverse of 'biolink:develops_from'\n      - RO:0002203\n      - FMA:develops_into\n    exact_mappings:\n      - BTO:develops_from\n      - DDANAT:develops_from\n      - FMA:develops_from\n      - RO:0002202\n    narrow_mappings:\n      - RO:0002207\n      - RO:0002225 # x develops from part of y if and only if there exists some z such that x develops from z and z is part of y\n      - RO:0002226 # x develops_in y if x is located in y whilst x is developing\n\n  develops into:\n    is_a: related to at instance level\n    inverse: develops from\n\n  in taxon:\n    aliases: [ 'instance of', 'is organism source of gene product', 'organism has gene', 'gene found in organism', 'gene product has organism source' ]\n    is_a: related to at instance level\n    domain: thing with taxon\n    range: organism taxon\n    annotations:\n      canonical_predicate: true\n    description: >-\n      connects an entity to its taxonomic classification. Only certain kinds\n      of entities can be taxonomically classified; see 'thing with taxon'\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002162\n      - WIKIDATA_PROPERTY:P703\n    narrow_mappings:\n      - RO:0002160\n\n  taxon of:\n    is_a: related to at instance level\n    inverse: in taxon\n    domain: organism taxon\n    range: thing with taxon\n\n  has molecular consequence:\n    is_a: related to at instance level\n    aliases: [ 'allele has activity' ]\n    description: >-\n      connects a sequence variant to a class describing the molecular\n      consequence. E.g.  SO:0001583\n    range: ontology class\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - NCIT:allele_has_activity\n\n  is molecular consequence of:\n    is_a: related to at instance level\n    domain: ontology class\n    inverse: has molecular consequence\n\n  ## --------------------\n  ## ASSOCIATION SLOTS\n  ## --------------------\n\n  association slot:\n    abstract: true\n    domain: association\n    aliases: [ 'edge property', 'statement property', 'node qualifier', 'edge qualifier', 'statement qualifier' ]\n    description: >-\n      any slot that relates an association to another entity\n\n  original subject:\n    is_a: association slot\n    description: >-\n      used to hold the original subject of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original object:\n    is_a: association slot\n    description: >-\n      used to hold the original object of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original predicate:\n    aliases: [ 'original relation', 'relation' ]\n    is_a: association slot\n    description: >-\n      used to hold the original relation/predicate that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n    id_prefixes:\n      - RO\n      - BSPO\n      - SIO\n    domain: association\n    range: uriorcurie\n\n  subject:\n    is_a: association slot\n    local_names:\n      ga4gh: annotation subject\n      neo4j: node with outgoing relationship\n    description: >-\n      connects an association to the subject of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    range: named thing\n    slot_uri: rdf:subject\n    exact_mappings:\n      - owl:annotatedSource\n      - OBAN:association_has_subject\n\n  object:\n    is_a: association slot\n    description: >-\n      connects an association to the object of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    range: named thing\n    local_names:\n      ga4gh: descriptor\n      neo4j: node with incoming relationship\n    slot_uri: rdf:object\n    exact_mappings:\n      - owl:annotatedTarget\n      - OBAN:association_has_object\n\n  predicate:\n    is_a: association slot\n    description: >-\n      A high-level grouping for the relationship type. AKA minimal predicate.\n      This is analogous to category for nodes.\n    domain: association\n    notes: >-\n      Has a value from the Biolink related_to hierarchy. In RDF,  this\n      corresponds to rdf:predicate and in Neo4j this corresponds to the\n      relationship type. The convention is for an edge label in snake_case\n      form. For example, biolink:related_to, biolink:causes, biolink:treats\n    range: predicate type\n    required: true\n    local_names:\n      ga4gh: annotation predicate\n      translator: predicate\n    slot_uri: rdf:predicate\n    exact_mappings:\n      - owl:annotatedProperty\n      - OBAN:association_has_predicate\n\n  logical interpretation:\n    is_a: association slot\n    required: false\n    domain: association\n    range: LogicalInterpretationEnum\n    exact_mappings:\n      - os:LogicalInterpretation\n\n  relation:\n    deprecated: true\n\n  negated:\n    is_a: association slot\n    range: boolean\n    description: >-\n      if set to true, then the association is negated i.e. is not true\n\n  has confidence level:\n    is_a: association slot\n    range: confidence level\n    description: >-\n      connects an association to a qualitative term denoting the level of confidence\n\n  has evidence:\n    is_a: association slot\n    range: evidence type\n    description: >-\n      connects an association to an instance of supporting evidence\n    exact_mappings:\n      - RO:0002558\n    multivalued: true\n\n  has supporting study result:\n    is_a: association slot\n    description: >-\n      connects an association to an instance of supporting study result\n    \n  mechanism of action:\n    is_a: association slot\n    range: boolean\n    description: >-\n      a boolean flag to indicate if the edge is part of a path or subgraph of a knowledge graph that constitutes\n      the mechanism of action for a result.\n    exact_mappings:\n      - NCIT:C54680\n      - MI:2044\n      - LOINC:MTHU019741\n\n  knowledge source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which the knowledge expressed in an Association was\n      retrieved, directly or indirectly. This can be any resource through which the\n      knowledge passed on its way to its currently serialized form. In practice,\n      implementers should use one of the more specific subtypes of this generic property.\n    range: information resource\n    close_mappings:\n      - pav:providedBy\n\n  provided by:\n    is_a: node property\n    description: >-\n      The value in this node property represents the knowledge provider that created or assembled the\n      node and all of its attributes.  Used internally to represent how a particular node made its way into a\n      knowledge provider or graph.\n    multivalued: true\n\n  primary knowledge source:\n    is_a: knowledge source\n    description: >-\n      The most upstream source of the knowledge expressed in an Association that an\n      implementer can identify.  Performing a rigorous analysis of upstream data providers is expected; every effort\n      is made to catalog the most upstream source of data in this property.  Only one data source should be declared\n      primary in any association.  \"aggregator knowledge source\" can be used to caputre non-primary sources.\n    range: information resource\n    notes: >-\n      For example: a single ChemicalToGene Edge originally curated by ClinicalTrials.org, is aggregated by ChEMBL, then \n      incorporated into the MolePro KP, then sent via TRAPI message to the ARAGORN ARA, and finally sent to \n      the NCATS ARS. The retrieval path for this Edge is as follows: \n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   MolePro  --retrieved_from--> ChEMBL --retrieved_from-->  ClinicalTrials.gov\n      The \"primary knowledge source\" for this edge is \"infores:clinical-trials-gov\".  \"infores:chembl\" and \"infores:molecular_data_provider\"\n      are listed in the \"aggregator knowledge source\" property.\n    multivalued: false\n\n  aggregator knowledge source:\n    is_a: knowledge source\n    description: >-\n      An intermediate aggregator resource from which knowledge expressed in an Association was\n      retrieved downstream of the original source, on its path to its current serialized form.\n    range: information resource\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP, \n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse, \n      the Edge is passed to the Ranking Agent’s ARAGORN ARA, \n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of \n      data from which the knowledge was derived.   \n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which data was retrieved and subsequently used as\n      evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    range: information resource\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP, \n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse, \n      the Edge is passed to the Ranking Agent’s ARAGORN ARA, \n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of \n      data from which the knowledge was derived.   \n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data set:\n    is_a: association slot\n    description: >-\n      A set of data used as evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    range: information resource\n    multivalued: true\n\n  chi squared statistic:\n    is_a: association slot\n    range: float\n    description: >-\n      represents the chi-squared statistic computed from observations\n    exact_mappings:\n      - STATO:0000030\n\n  p value:\n    aliases: ['unadjusted p value']\n    is_a: association slot\n    range: float\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    exact_mappings:\n      - OBI:0000175\n      - NCIT:C44185\n      - EDAM-DATA:1669\n\n  evidence count:\n    is_a: association slot\n    description: >-\n      The number of evidence instances that are connected to an association.\n    range: integer\n\n  concept count subject:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the subject slot of an association.\n    range: integer\n    examples:\n      - value: 489\n\n  concept count object:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the object slot of an association.\n    range: integer\n\n  concept pair count:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      both the subject and object concept of an association.\n    range: integer\n    examples:\n      - value: 1731\n\n  expected count:\n    is_a: association slot\n    description: >-\n      The expected (calculated) number of instances in a dataset/cohort whose records contain both the subject and \n      object concept of an association if the subject and object concepts are independent.\n\n  relative frequency subject:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in \n      records within a dataset/cohort, relative to the frequency at which the subject\n      concept appears in these same records.\n    range: float\n    examples:\n      - value: 0.01840490798\n\n  relative frequency object:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in \n      records within a dataset/cohort, relative to the frequency at which the object\n      concept appears in these same records.\n    range: string\n\n  relative frequency subject confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_subject calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  relative frequency object confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_object calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  adjusted p value:\n    is_a: p value\n    description: >-\n      The adjusted p-value is the probability of obtaining test results\n      at least as extreme as the results actually observed, under the assumption that\n      the null hypothesis is correct, adjusted for multiple comparisons.  \n      P is always italicized and capitalized. The actual P value* should be expressed (P=. 04) \n      rather than expressing a statement of inequality (P<. 05), unless P<.\n    range: float\n\n  bonferonni adjusted p value:\n    is_a: adjusted p value\n    description: >-\n      The Bonferroni correction is an adjustment made to P values when several dependent or independent \n      statistical tests are being performed simultaneously on a single data set. To perform a Bonferroni \n      correction, divide the critical P value (α) by the number of comparisons being made.  P is always italicized and \n      capitalized. The actual P value* should be expressed (P=. 04) rather than expressing a statement of inequality \n      (P<. 05), unless P<.\n    range: float\n    examples:\n      - value: 0.018\n\n  supporting text:\n    is_a: association slot\n    description: The segment of text from a document that supports the mined assertion.\n    multivalued: true\n    range: string\n    examples:\n      - value: The administration of 50g/ml bupivacaine promoted maximum breast cancer.\n\n  supporting documents:\n    is_a: association slot\n    description: >-\n      One or more referencable documents that report the statement expressed in an Association, or provide \n      information used as evidence supporting this statement.\n    range: uriorcurie\n    multivalued: true\n    examples:\n      - value: PMID:12345678\n\n  subject location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the subject concept of the extracted assertion.\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  object location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the object concept of the extracted assertion\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  extraction confidence score:\n    is_a: association slot\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    range: integer\n    examples:\n        - value: 15\n\n  supporting document type:\n    is_a: association slot\n    description: >-\n      The document type (e.g., Journal Article, Case Study, Preprint) for\n      the supporting document used in a Text Mining Result.\n    range: string\n    examples:\n      - value: Journal Article\n\n  supporting document year:\n    is_a: association slot\n    description: >-\n      The document year (typically the publication year) for the supporting\n      document used in a Text Mining Result.\n    range: integer\n    examples:\n      - value: 1999\n\n  supporting text section type:\n    is_a: association slot\n    description: >-\n      The section of the supporting text of a Text Mining Result within\n      the supporting document. This is in the form of the name of the document section\n      (e.g., Abstract, Introduction) that contains the supporting text.\n    range: string\n    examples:\n      - value: Introduction\n\n  ln ratio:\n    is_a: association slot\n    description: the natural log of the ratio of co-occurrence to expected\n    range: float\n    examples:\n      - value: 2.922827136\n\n  ln ratio confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the ln_ratio calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: float\n    examples:\n      - value: 2.922827136\n\n  interacting molecules category:\n    is_a: association slot\n    range: ontology class\n    exact_mappings:\n      - MI:1046\n    values_from:\n      - MI\n    examples:\n      - value: MI:1048\n        description: smallmolecule-protein\n\n  expression site:\n    description: >-\n      location in which gene or protein expression takes place.\n      May be cell, tissue, or organ.\n    is_a: association slot\n    range: anatomical entity\n    examples:\n      - value: UBERON:0002037\n        description: cerebellum\n\n  phenotypic state:\n    description: >-\n      in experiments (e.g. gene expression) assaying diseased or unhealthy\n      tissue, the phenotypic state can be put here, e.g. MONDO ID.\n      For healthy tissues, use XXX.\n    is_a: association slot\n    range: disease or phenotypic feature\n\n  publications:\n    aliases: [\"supporting publications\"]\n    singular_name: publication\n    description: >-\n      One or more publications that report the statement expressed in an Association, or provide information used as \n      evidence supporting this statement.\n    is_a: supporting documents\n    multivalued: true\n    range: publication\n\n  associated environmental context:\n    is_a: association slot\n    description: >-\n      An attribute that can be applied to an association where the association holds between two entities\n      located or occurring in a particular environment. For example, two microbial taxa may interact in the context of\n      a human gut; a disease may give rise to a particular phenotype in a particular environmental exposure.\n      # TODO: add examples of values for this property.\n\n  sequence localization attribute:\n    is_a: association slot\n    domain: genomic sequence localization\n    description: >-\n      An attribute that can be applied to a genome sequence localization edge. These edges\n      connect a nucleic acid entity such as an exon to an entity such as a chromosome. Edge properties are used\n      to ascribe specific positional information and other metadata to the localization. In pragmatic terms\n      this can be thought of as columns in a GFF3 line.\n\n  interbase coordinate:\n    is_a: sequence localization attribute\n    aliases: [ 'zero-based', 'half-open', 'space-based' ]\n    description: >-\n      A position in interbase coordinates. Interbase coordinates start at position 0 instead of position 1.\n      This is applied to a sequence localization edge.\n    range: integer\n\n  start interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 0).\n    close_mappings:\n      - faldo:begin\n    annotations:\n      opposite_of: end interbase coordinate\n\n  end interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity ends\n      on the chromosome or other entity to which it is located on.\n    close_mappings:\n      - faldo:end\n    annotations:\n      opposite_of: start interbase coordinate\n\n  start coordinate:\n    is_a: base coordinate\n    aliases: [ 'start' ]\n    description: >-\n      The position at which the subject genomic entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 1).\n    exact_mappings:\n      - gff3:start\n    close_mappings:\n      - faldo:begin\n\n  end coordinate:\n    is_a: base coordinate\n    aliases: [ 'end' ]\n    description: >-\n      The position at which the subject genomic entity ends\n      on the chromosome or other entity to which it is located on.\n    exact_mappings:\n      - gff3:end\n    close_mappings:\n      - faldo:end\n\n  genome build:\n    is_a: sequence localization attribute\n    description: >-\n      The version of the genome on which a feature is located.\n      For example, GRCh38 for Homo sapiens.\n    range: StrandEnum\n    exact_mappings:\n      - gff3:strand\n\n  strand:\n    is_a: sequence localization attribute\n    description: >-\n      The strand on which a feature is located. Has a value of '+'\n      (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).\n    range: StrandEnum\n    exact_mappings:\n      - gff3:strand\n\n  phase:\n    is_a: sequence localization attribute\n    domain: coding sequence\n    description: >-\n      The phase for a coding sequence entity. For example, phase of a\n      CDS as represented in a GFF3 with a value of 0, 1 or 2.\n    range: PhaseEnum\n    exact_mappings:\n      - gff3:phase\n\n  FDA approval status:\n    is_a: association slot\n    description: >-\n    range: FDAApprovalStatusEnum\n\n  supporting study metadata:\n    is_a: association slot\n    description: >-\n      Information about a study used to generate information used as evidence to support the knowledge expressed in an \n      Association. In practice, data creators should use one of the more specific subtypes of this property.\n    abstract: true\n\n  supporting study method type:\n    is_a: supporting study metadata\n    description: >-\n      A type of method that was applied in a study used to generate the information used as evidence (e.g. a type of \n      experimental assay, or statistical calculation, or computational analysis).\n    range: uriorcurie\n\n  supporting study method description:\n    is_a: supporting study metadata\n    description: >-\n      A uri or curie pointing to information about the methodology used to generate data supporting an Association.\n    range: uriorcurie\n\n  supporting study size:\n    is_a: supporting study metadata\n    description: >-\n      The sample size used in a study that provided evidence for the association (e.g. 'n' of a cohort for a \n      clinical study).\n    range: integer\n\n  supporting study cohort:\n    is_a: supporting study metadata\n    description: >-\n      A description of a study population/cohort that was interrogated to provide evidence for the association \n      (e.g. the inclusion and exclusion criteria).\n    range: string\n\n  supporting study date range:\n    is_a: supporting study metadata\n    description: >-\n      The date range over which data was collected in a study that provided evidence for an Association.\n    range: string\n\n  supporting study context:\n    is_a: supporting study metadata\n    description: >-\n      A term or terms describing the experimental setting/context in which evidence supporting the Association was \n      generated ('context' may be defined by many factors, including taxon, model system (e.g. cell line type), tissue \n      type, disease, etc.).\n    range: string\nclasses:\n\n  mapping collection:\n    description: >-\n      A collection of deprecated mappings.\n    abstract: true\n    slots:\n      - predicate mappings\n    tree_root: true\n\n  predicate mapping:\n    description: >-\n      A deprecated predicate mapping object contains the deprecated predicate and an example of the rewiring that should\n      be done to use a qualified statement in its place.\n    slots:\n      - mapped predicate\n      - subject aspect qualifier\n      - subject direction qualifier\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - predicate\n      - qualified predicate\n      - object aspect qualifier\n      - object direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object derivative qualifier\n      - object context qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - species context qualifier\n      - exact match\n      - narrow match\n      - broad match\n\n\n  ## ----------\n  ## ATTRIBUTES\n  ## ----------\n\n  ## Ontology Classes\n\n  ontology class:\n    mixin: true\n    slots:\n      - id\n    description: >-\n      a concept or class in an ontology, vocabulary or thesaurus. Note that nodes in\n      a biolink compatible KG can be considered both instances of biolink classes, and\n      OWL classes in their own right. In general you should not need to use this class directly.\n      Instead, use the appropriate biolink class. For example, for the GO concept of endocytosis (GO:0006897),\n      use bl:BiologicalProcess as the type.\n    exact_mappings:\n      - owl:Class\n      - schema:Class\n    comments:\n      - >-\n        This is modeled as a mixin. 'ontology class' should not be the primary type of a\n        node in the KG. Instead you should use an informative bioloink category, such as AnatomicalEntity\n        (for Uberon classes), ChemicalSubstance (for CHEBI or CHEMBL), etc\n      - >-\n        Note that formally this is a metaclass. Instances of this class are instances in the graph,\n        but can be the object of 'type' edges. For example, if we had a node in the graph representing\n        a specific brain of a specific patient (e.g brain001), this could have a category of bl:Sample,\n        and by typed more specifically with an ontology class UBERON:nnn, which has as category bl:AnatomicalEntity\n    see_also:\n      - https://github.com/biolink/biolink-model/issues/486\n    examples:\n      - value: UBERON:0000955\n        description: >-\n          the class 'brain' from the Uberon anatomy ontology\n    id_prefixes:\n      - MESH\n      - UMLS\n      - KEGG.BRITE ## br/ko number\n  \n  annotation:\n    description: >-\n      Biolink Model root class for entity annotations.\n    abstract: true\n\n  quantity value:\n    is_a: annotation\n    description: >-\n      A value of an attribute that is quantitative and measurable,\n      expressed as a combination of a unit and a numeric value\n    slots:\n      - has unit\n      - has numeric value\n\n  # Alignment attempted of the biolink:Attribute model\n  # to the proposed TRAPI Release 1.1 Attribute schema, i.e.\n  #\n  # attribute_name: \"assertionAuthoredBy\",\n  # attribute_type: SEPIO:0000130,\n  # value: \"ORCID:12345\",\n  # value_type: \"wd:Q51044\",\n  # value_type_name: \"ORCID ID\"\n  # url: https://orcid.org/12345\n  # source: ORCID\n\n  attribute:\n    is_a: named thing\n    mixins:\n      - ontology class\n    description: >-\n      A property or characteristic of an entity.\n      For example, an apple may have properties such as color, shape, age, crispiness.\n      An environmental sample may have attributes such as depth, lat, long, material.\n    slots:\n      - name                   # 'attribute_name'\n      - has attribute type     # 'attribute_type'\n      # 'value', 'value_type', 'value_type_name'\n      # extracted from either of the next two slots\n      - has quantitative value\n      - has qualitative value\n      - iri                    # 'url'\n    slot_usage:\n      name:\n        description: >-\n          The human-readable 'attribute name' can be set to a string which reflects its context of\n          interpretation, e.g. SEPIO evidence/provenance/confidence annotation or it can default\n          to the name associated with the 'has attribute type' slot ontology term.\n    id_prefixes:\n      - EDAM-DATA\n      - EDAM-FORMAT\n      - EDAM-OPERATION\n      - EDAM-TOPIC\n    exact_mappings:\n      - SIO:000614\n    in_subset:\n      - samples\n\n  chemical role:\n    is_a: attribute\n    description: >-\n      \tA role played by the molecular entity or part thereof within a chemical context.\n    id_prefixes:\n      - CHEBI\n    exact_mappings:\n      - CHEBI:51086\n    examples:\n      - value: CHEBI:35469 # antidepressant role\n\n  biological sex:\n    is_a: attribute\n    exact_mappings:\n      - PATO:0000047\n\n  phenotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the phenotypic sex of the individual,\n      based upon the reproductive organs present.\n    exact_mappings:\n      - PATO:0001894\n\n  genotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the genotypic sex of the individual,\n      based upon genotypic composition of sex chromosomes.\n    exact_mappings:\n      - PATO:0020000\n\n  severity value:\n    is_a: attribute\n    description: >-\n      describes the severity of a phenotypic feature or disease\n\n  relationship quantifier:\n    mixin: true\n\n  sensitivity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  specificity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  pathognomonicity quantifier:\n    is_a: specificity quantifier\n    description: >-\n      A relationship quantifier between a variant or symptom and a disease, which is\n      high when the presence of the feature implies the existence of the disease\n    mixin: true\n\n  frequency quantifier:\n    is_a: relationship quantifier\n    mixin: true\n    slots:\n      - has count\n      - has total\n      - has quotient\n      - has percentage\n\n  chemical or drug or treatment:\n    mixin: true\n\n  ## ------\n  ## THINGS\n  ## ------\n\n  entity:\n    description: >-\n      Root Biolink Model class for all things and informational relationships, real or imagined.\n    abstract: true\n    slots:\n      - id\n      - iri\n      - category\n      - type   # rdf:type\n      - name\n      - description\n      - has attribute\n      # evidence code(s)?\n\n  named thing:\n    is_a: entity\n    description: \"a databased entity or concept/class\"\n    slots:\n      - provided by\n      - xref\n    slot_usage:\n      category:\n        required: true\n        pattern: '^biolink:\\d+$'\n    exact_mappings:\n      - BFO:0000001\n      - WIKIDATA:Q35120\n      # UMLS Semantic Group \"Objects\"\n      - UMLSSG:OBJC\n      # Entity\n      - STY:T071\n      - dcid:Thing\n\n  relationship type:\n    is_a: ontology class\n    description: >-\n      An OWL property used as an edge label\n\n  taxonomic rank:\n    description: >-\n      A descriptor for the rank within a taxonomic classification.\n      Example instance: TAXRANK:0000017 (kingdom)\n    is_a: ontology class\n    id_prefixes:\n      - TAXRANK\n    mappings:\n      - WIKIDATA:Q427626\n\n  organism taxon:\n    aliases: [ 'taxon', 'taxonomic classification' ]\n    description: >-\n      A classification of a set of organisms. Example instances:\n      NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria).\n      Can also be used to represent strains or subspecies.\n    is_a: named thing\n    slot_usage:\n      has taxonomic rank:\n        range: taxonomic rank\n        multivalued: false\n        mappings:\n          - WIKIDATA:P105\n    values_from:\n      - NCBITaxon\n    exact_mappings:\n      - WIKIDATA:Q16521\n      - STY:T001\n      - bioschemas:Taxon\n    narrow_mappings:\n      - dcid:BiologicalSpecies\n    id_prefixes:\n      - NCBITaxon\n      - MESH\n      - UMLS\n    in_subset:\n      - model_organism_database\n  \n  ## Temporal Entities\n  \n  event:\n    is_a: named thing\n    description: >-\n      Something that happens at a given place and time.\n    exact_mappings:\n      - NCIT:C25499\n      # UMLS \"Event\"\n      - STY:T051\n\n  ## Administrative Entities\n\n  administrative entity:\n    is_a: named thing\n    abstract: true\n\n  study result:\n    abstract: true\n    description: >- \n      A collection of data items from a study that are about a particular study subject or experimental unit (the \n      'focus' of the Result) - optionally with context/provenance metadata that may be relevant to the interpretation\n      of this data as evidence.\n    notes:\n      The data/metadata included in a Study Result object are typically a subset of data from a larger study data set, \n      that are selected by a curator because they may be useful as evidence for deriving knowledge about a specific \n      focus of the study. The notion of a 'study' here is defined broadly to include any research activity at any \n      scale that is aimed at generating knowledge or hypotheses. This may include a single assay or computational \n      analyses, or a larger scale clinical trial or experimental research investigation.\n    is_a: information content entity\n\n  study:\n    description: a detailed investigation and/or analysis\n    is_a: information content entity\n    exact_mappings:\n      - NCIT:C63536\n    close_mappings:\n      - SIO:001066\n      - SEPIO:0000004\n    narrow_mappings:\n      - SIO:000994\n\n  study variable:\n    is_a: information content entity\n    description: a variable that is used as a measure in the investigation of a study\n    narrow_mappings:\n      - NCIT:C142192 # specifies clinical study\n    close_mappings:\n      - STATO:0000258\n      - SIO:000367\n\n  common data element:\n    is_a: information content entity\n    description: >- \n      A Common Data Element (CDE) is a standardized, precisely defined question, paired with a set of allowable \n      responses, used systematically across different sites, studies, or clinical trials to ensure consistent \n      data collection. Multiple CDEs (from one or more Collections) can be curated into Forms. \n      (https://cde.nlm.nih.gov/home)\n    close_mappings:\n      - NCIT:C19984\n\n  ## epc result sets\n  concept count analysis result:\n    is_a: study result\n    description: >-\n      A result of a concept count analysis.\n\n  observed expected frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a observed expected frequency analysis.\n\n  relative frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a relative frequency analysis.\n\n  text mining result:\n    is_a: study result\n    description: >-\n      A result of text mining.\n\n  chi squared analysis result:\n    is_a: study result\n    description: >-\n      A result of a chi squared analysis.\n\n  agent:\n    is_a: administrative entity\n    aliases: [ 'group' ]\n    description: >-\n      person, group, organization or project that provides\n      a piece of information (i.e. a knowledge association)\n    slots:\n      - affiliation\n      - address\n    exact_mappings:\n      - prov:Agent\n      - dct:Agent\n    narrow_mappings:\n      # Organization\n      - UMLSSG:ORGA\n      - STY:T092\n      # Health Care Related Organization\n      - STY:T093\n      # Professional Society\n      - STY:T094\n      # Self-help or Relief Organization\n      - STY:T095\n      # Group\n      - STY:T096\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Different classes of agents have distinct preferred identifiers.\n          For publishers, use the ISBN publisher code.\n          See https://grp.isbn-international.org/ for publisher code lookups.\n          For editors, authors and  individual providers, use the individual's\n          ORCID if available; Otherwise, a ScopusID, ResearchID or\n          Google Scholar ID ('GSID') may be used if the author ORCID is unknown.\n          Institutional agents could be identified by an\n          International Standard Name Identifier ('ISNI') code.\n        values_from:\n          # CURIE space for publishers\n          - isbn\n          # CURIE space for authors\n          - ORCID\n          - ScopusID\n          - ResearchID\n          - GSID\n          # Institutional agents\n          - isni\n      name:\n        description: >-\n          it is recommended that an author's 'name' property\n          be formatted as \"surname, firstname initial.\"\n    id_prefixes:\n      - isbn\n      - ORCID\n      - ScopusID\n      - ResearchID\n      - GSID\n      - isni\n\n  ## General Information Entities\n\n  information content entity:\n    aliases: [ 'information', 'information artefact', 'information entity' ]\n    abstract: true\n    is_a: named thing\n    description: >-\n      a piece of information that typically describes\n      some topic of discourse or is used as support.\n    slots:\n      - license\n      - rights\n      - format\n      - creation date\n    id_prefixes:\n      - doi\n    exact_mappings:\n      - IAO:0000030\n    narrow_mappings:\n      # UMLS Semantic Group \"Concepts & Ideas\"\n      - UMLSSG:CONC\n      # Conceptual Entity\n      - STY:T077\n      # Idea or Concept\n      - STY:T078\n      # Temporal Concept\n      - STY:T079\n      # Qualitative Concept\n      - STY:T080\n      # Quantitative Concept\n      - STY:T081\n      # Spatial Concept\n      - STY:T082\n      # Regulation or Law\n      - STY:T089\n      # Group Attribute\n      - STY:T102\n      # Functional Concept\n      - STY:T169\n      # Language\n      - STY:T171\n      # Classification\n      - STY:T185\n\n  dataset:\n    description: >-\n      an item that refers to a collection of data from a data source.\n    is_a: information content entity\n    exact_mappings:\n      - IAO:0000100\n      - dctypes:Dataset\n      - schema:dataset\n      - dcid:Dataset\n\n  dataset distribution:\n    is_a: information content entity\n    description: >-\n      an item that holds distribution level information about a dataset.\n    slots:\n      - distribution download url\n    exact_mappings:\n      - dcat:Distribution\n\n  dataset version:\n    description: >-\n      an item that holds version level information about a dataset.\n    is_a: information content entity\n    slots:\n      - has dataset\n      - ingest date\n      - has distribution\n\n  dataset summary:\n    description: >-\n      an item that holds summary level information about a dataset.\n    is_a: information content entity\n    slots:\n      - source web page\n      - source logo\n\n  confidence level:\n    is_a: information content entity\n    description: >-\n      Level of confidence in a statement\n    values_from:\n      - cio\n    exact_mappings:\n      - CIO:0000028\n      # statement confidence\n      - SEPIO:0000187\n    close_mappings:\n      # assertion confidence levels\n      - SEPIO:0000167\n\n  evidence type:\n    is_a: information content entity\n    aliases: [ 'evidence code' ]\n    description: >-\n      Class of evidence that supports an association\n    values_from:\n      - eco\n    exact_mappings:\n      - ECO:0000000\n\n  information resource:\n    is_a: information content entity\n    aliases: [ 'knowledgebase' ]\n    description: >-\n      A database or knowledgebase and its supporting ecosystem of interfaces \n      and services that deliver content to consumers (e.g. web portals, APIs, \n      query endpoints, streaming services, data downloads, etc.).\n      A single Information Resource by this definition may span many different datasets or\n      databases, and include many access endpoints and user\n      interfaces. Information Resources include project-specific resources\n      such as a Translator Knowledge Provider, and community knowledgebases like ChemBL, OMIM, or DGIdb.\n    in_subset:\n      - translator_minimal\n\n\n  ## Publications\n\n  # TODO: to review additional ontology relating to Publications, such as http://www.sparontologies.net/ontologies\n  publication:\n    is_a: information content entity\n    description: >-\n      Any published piece of information. Can refer to a whole publication,\n      its encompassing publication (i.e. journal or book) or to a part of a\n      publication, if of significant knowledge scope (e.g. a figure, figure\n      legend, or section highlighted by NLP). The scope is intended to be\n      general and include information published on the web, as well as printed\n      materials, either directly or in one of the Publication Biolink\n      category subclasses.\n    slots:\n      - authors\n      - pages\n      - summary\n      - keywords\n      - mesh terms\n      - xref\n    # In addition to embedded slots, instances of 'contributor association'\n    # may be used to more extensively document publisher, editor and author details\n    slot_usage:\n      id:\n        description: >-\n          Different kinds of publication subtypes will have different preferred\n          identifiers (curies when feasible). Precedence of identifiers for\n          scientific articles is as follows: PMID if available; DOI if not; actual\n          alternate CURIE otherwise. Enclosing publications (i.e. referenced by\n          'published in' node property) such as books and journals, should have\n          industry-standard identifier such as from ISBN and ISSN.\n      name:\n        description: >-\n          the 'title' of the publication is generally recorded in the 'name'\n          property (inherited from NamedThing). The field name 'title' is now also\n          tagged as an acceptable alias for the node property 'name' (just in case).\n      type:\n        slot_uri: dct:type\n        required: true\n        description: >-\n          Ontology term for publication type may be drawn from\n          Dublin Core types (https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/),\n          FRBR-aligned Bibliographic Ontology (https://sparontologies.github.io/fabio/current/fabio.html),\n          the MESH publication types (https://www.nlm.nih.gov/mesh/pubtypes.html),\n          the Confederation of Open Access Repositories (COAR) Controlled Vocabulary for Resource Type Genres\n          (http://vocabularies.coar-repositories.org/documentation/resource_types/),\n          Wikidata (https://www.wikidata.org/wiki/Wikidata:Publication_types), or\n          equivalent publication type ontology. When a given publication type ontology term\n          is used within a given knowledge graph, then the CURIE identified term must be\n          documented in the graph as a concept node of biolink:category biolink:OntologyClass.\n        values_from: # Not sure which takes precedence, if any...\n          - dctypes\n          - fabio\n          - MESH_PUB\n          - COAR_RESOURCE\n          - WIKIDATA\n      pages:\n        multivalued: true\n        description: >-\n          When a 2-tuple of page numbers are provided, they represent\n          the start and end page of the publication within its parent publication context.\n          For books, this may be set to the total number of pages of the book.\n    exact_mappings:\n      - IAO:0000311\n    narrow_mappings:\n      - IAO:0000013\n      # UMLS Semantic Type \"Intellectual Product\"\n      - STY:T170\n    id_prefixes:\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book:\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Books should have industry-standard identifier such as from ISBN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'book'.\n    id_prefixes:\n      - isbn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book chapter:\n    is_a: publication\n    slots:\n      - published in\n      - volume\n      - chapter\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent book containing the chapter\n          should have industry-standard identifier from ISBN.\n    in_subset:\n      - model_organism_database\n\n  serial:\n    aliases: [ 'journal' ]\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slots:\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Serials (journals) should have industry-standard identifier such as from ISSN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'serial' or 'journal'.\n    id_prefixes:\n      - issn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  article:\n    is_a: publication\n    slots:\n      - published in\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent serial containing the article should\n          have industry-standard identifier from ISSN.\n      iso abbreviation:\n        description: >-\n          Optional value, if used locally as a convenience, is set\n          to the iso abbreviation of the 'published in' parent.\n    id_prefixes:\n      # By inheritance, a DOI may be used as a publication identifier; there may be other relevant namespaces\n      - PMID\n    in_subset:\n      - model_organism_database\n\n  ## Top Level Abstractions of Material & Process Entities\n\n  physical essence or occurrent:\n    description: >-\n      Either a physical or processual entity.\n    mixin: true\n\n\n  physical essence:\n    description: >-\n      Semantic mixin concept.  Pertains to entities that have\n      physical properties such as mass, volume, or charge.\n    is_a: physical essence or occurrent\n    mixin: true\n\n  physical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n    description: >-\n      An entity that has material reality (a.k.a. physical essence).\n    exact_mappings:\n      # Physical Object\n      - STY:T072\n    narrow_mappings:\n      # Manufactured Object\n      - STY:T073\n\n  occurrent:\n    description: >-\n      A processual entity.\n    # biolink:Occurrent is most consistently used as a mixin thus it should\n    # be declared as such and cannot inherit from the non-mixin biolink:NamedThing\n    is_a: physical essence or occurrent\n    mixin: true\n    exact_mappings:\n      - BFO:0000003\n\n  activity and behavior:\n    is_a: occurrent\n    mixin: true\n    description: >-\n      Activity or behavior of any independent integral living,\n      organization or mechanical actor in the world\n    exact_mappings:\n      # Activities & Behaviors\n      - UMLSSG:ACTI\n\n  activity:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      An activity is something that occurs over a period of time and acts upon\n      or with entities; it may include consuming, processing, transforming,\n      modifying, relocating, using, or generating entities.\n    exact_mappings:\n      - prov:Activity\n      - NCIT:C43431\n      # Activity\n      - STY:T052\n    narrow_mappings:\n      # Daily or Recreational Activity\n      - STY:T056\n      # Occupational Activity\n      - STY:T057\n      # Governmental or Regulatory Activity\n      - STY:T064\n      # Machine Activity\n      - STY:T066\n      # Research Activity\n      - STY:T062\n      # Educational Activity\n      - STY:T065\n      # Health Care Activity\n      - STY:T058\n\n  procedure:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      A series of actions conducted in a certain order or manner\n    exact_mappings:\n      # Procedures\n      - UMLSSG:PROC\n      - dcid:MedicalProcedure\n    narrow_mappings:\n      # Laboratory Procedure\n      - STY:T059\n      # Diagnostic Procedure\n      - STY:T060\n      # Therapeutic or Preventive Procedure\n      - STY:T061\n      # Molecular Biology Research Technique\n      - STY:T063\n    id_prefixes:\n      - CPT\n\n  phenomenon:\n    is_a: named thing\n    mixins:\n      - occurrent\n    description: >-\n      a fact or situation that is observed to exist or happen,\n      especially one whose cause or explanation is in question\n    broad_mappings:\n      # the inclusion of 'process' in the definition of these\n      # terms broadens them, relative to 'phenomenon'\n      # Phenomenon or Process\n      - STY:T067\n      # Human-caused Phenomenon or Process\n      - STY:T068\n      # Natural Phenomenon or Process\n      - STY:T070\n    exact_mappings:\n      # Phenomena\n      - UMLSSG:PHEN\n    narrow_mappings:\n      # Laboratory or Test Result\n      - STY:T034\n      # Biologic Function\n      - STY:T038\n      # Environmental Effect of Humans\n      - STY:T069\n\n  device:\n    is_a: named thing\n    description: >-\n      A thing made or adapted for a particular purpose, especially\n      a piece of mechanical or electronic equipment\n    narrow_mappings:\n      # Devices\n      - UMLSSG:DEVI\n      # Medical Device\n      - STY:T074\n      # Research Device\n      - STY:T075\n      # Drug Delivery Device\n      - STY:T203\n      # Biomedical or Dental Material\n      - STY:T122\n\n  ## Scientific Studies\n\n  study population:\n    is_a: population of individual organisms\n    description: >-\n      A group of people banded together or treated as a group as participants in a research study.\n    close_mappings:\n      - WIKIDATA:Q7229825\n\n  subject of investigation:\n    mixin: true\n    description: >-\n      An entity that has the role of being studied in an investigation, study, or experiment\n\n  material sample:\n    aliases: [ 'biospecimen', 'sample', 'biosample', 'physical sample' ]\n    is_a: physical entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A sample is a limited quantity of something (e.g. an individual or set of individuals\n      from a population, or a portion of a substance) to be used for testing, analysis,\n      inspection, investigation, demonstration, or trial use. [SIO]\n    exact_mappings:\n      - OBI:0000747\n      - SIO:001050\n    id_prefixes:\n      - BIOSAMPLE\n      - GOLD.META\n\n  ## Earth Sciences\n\n  planetary entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists at the level of the whole planet\n\n  environmental process:\n    is_a: planetary entity\n    mixins:\n      - occurrent\n    exact_mappings:\n      - ENVO:02500000\n\n  environmental feature:\n    is_a: planetary entity\n    exact_mappings:\n      - ENVO:01000254\n\n  geographic location:\n    is_a: planetary entity\n    description: >-\n      a location that can be described in lat/long coordinates\n    slots:\n      - latitude\n      - longitude\n    exact_mappings:\n      # Geographic Areas\n      - UMLSSG:GEOG\n      # Geographic Area\n      - STY:T083\n\n  geographic location at time:\n    is_a: geographic location\n    description: >-\n      a location that can be described in lat/long coordinates, for a particular time\n    slots:\n      - timepoint\n\n  ## Biological Sciences\n\n  thing with taxon:\n    mixin: true\n    description: >-\n      A mixin that can be used on any entity that can be taxonomically classified.\n      This includes individual organisms; genes, their products and other molecular\n      entities; body parts; biological processes\n    slots:\n      - in taxon\n\n  biological entity:\n    is_a: named thing\n    aliases: [ 'bioentity' ]\n    abstract: true\n    mixins:\n      - thing with taxon\n    narrow_mappings:\n      - WIKIDATA:Q28845870\n      # UMLS Semantic Type \"Experimental Model of Disease\"\n      - STY:T050\n      # SIO term is 'biological entity' but less inclusive than the Biolink scope\n      - SIO:010046\n\n  genomic entity:\n    mixin: true\n    slots:\n      - has biological sequence\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - STY:T028   # Gene or Genome\n      - GENO:0000897  # Genomic Entity\n\n  epigenomic entity:\n      mixin: true\n      slots:\n        - has biological sequence\n      in_subset:\n        - translator_minimal\n      narrow_mappings:\n\n  molecular entity:\n    is_a: chemical entity\n    description: >-\n      A molecular entity is a chemical entity composed of individual or\n      covalently bonded atoms.\n    slots:\n      - is metabolite\n    narrow_mappings:\n      - STY:T088 # Carbohydrate\n      - STY:T085 # Molecular Sequence\n      - CHEBI:23367 # Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical,\n      # radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.\n      - bioschemas:MolecularEntity\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n\n  chemical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n      - chemical or drug or treatment # issue 701\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    description: >-\n      A chemical entity is a physical entity that pertains to chemistry or\n      biochemistry.\n    slots:\n      - trade name\n      - available from\n      - max tolerated dose\n      - is toxic\n      - has chemical role\n    exact_mappings:\n      - CHEBI:24431\n      - SIO:010004 # Chemical entity\n      - WIKIDATA:Q79529 # Chemical substance\n      - STY:T103 # Chemical\n    narrow_mappings:\n      - WIKIDATA:Q43460564\n      - STY:T129 # (imft, full name: Immunologic Factor\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS #CAS numbers are given for things like plant extracts as well.\n      - UMLS\n      - ncats.drug\n\n  small molecule:\n    is_a: molecular entity\n    aliases: [ 'chemical substance' ]\n    description: >-\n      A small molecule entity is a molecular entity characterized by availability\n      in small-molecule databases of SMILES, InChI, IUPAC, or other\n      unambiguous representation of its precise chemical structure; for\n      convenience of representation, any valid chemical representation is\n      included, even if it is not strictly molecular (e.g., sodium ion).\n    narrow_mappings:\n      - STY:T196 # Element, Ion, or Isotope\n      - CHEBI:59999\n      - bioschemas:ChemicalSubstance\n      - STY:T123 #(bacs, full name: Biologically Active Substance)\n      - STY:T131 #(hops, full name: Hazardous or Poisonous Substance)\n      - STY:T125 #(horm, full name: Hormone)\n      - STY:T197 #(inch, full name: Inorganic Chemical)\n      - STY:T109 #(orch, full name: Organic Chemical)\n      - STY:T118 #(carb, full name: Carbohydrate) - note that this term is missing from newer SRDEF files (depreciated?), but is still used by the SEMMEDDB data files)\n      - STY:T111 #(eico, full name: Eicosanoid) - same note as above\n      - STY:T119 #(lipd, full name: Lipid) - same note as above\n      - STY:T124 #(nsba, full name: Neuroreactive Substance or Biogenic Amine) - same note as above\n      - STY:T115 #(opco, full name: Organophosphorus Compound) - same note as above\n      - STY:T110 #(strd, full name: Steroid) - same note as above\n      - STY:T127 # vitamin\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - BIGG.METABOLITE\n      - UMLS\n      - foodb.compound\n    slot_usage:\n      id:\n        examples:\n          - value: CHEBI:29101\n            description: sodium ion\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n\n\n  chemical mixture:\n    is_a: chemical entity\n    description: >-\n      A chemical mixture is a chemical entity composed of two or more\n      molecular entities.\n    slots:\n      - is supplement\n      - highest FDA approval status\n      - drug regulatory status world wide\n      - routes of delivery\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n    close_mappings:\n      - dcid:ChemicalCompound\n    narrow_mappings:\n      - NCIT:C20401 # monoclonal antibody\n      - SNOMEDCT:49616005 # monoclonal antibody (substance)\n\n  nucleic acid entity:\n    is_a: molecular entity\n    description: >-\n      A nucleic acid entity is a molecular entity characterized by\n      availability in gene databases of nucleotide-based sequence\n      representations of its precise sequence; for convenience of\n      representation, partial sequences of various kinds are included.\n    aliases: [ 'sequence feature', 'genomic entity' ]\n    mixins:\n      - genomic entity\n      - thing with taxon\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0000110\n    narrow_mappings:\n      - STY:T086   # Nucleotide Sequence\n      - STY:T114   # Nucleic Acid, Nucleoside, or Nucleotide\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  # G number\n      - KEGG.ENVIRON # E number\n\n  molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A molecular mixture is a chemical mixture composed of two or more\n      molecular entities with known concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n      - ncats.drug\n\n  complex molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A complex molecular mixture is a chemical mixture composed of two or\n      more molecular entities with unknown concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES  # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN  ## G number\n      - KEGG.DRUG    ## D number\n      - KEGG.DGROUP  ## DG number\n      - KEGG.ENVIRON ## E number\n      - UMLS\n\n  biological process or activity:\n    description: >-\n      Either an individual molecular activity, or a collection of\n      causally connected molecular activities in a biological system.\n    is_a: biological entity\n    mixins:\n      - occurrent\n      - ontology class\n    id_prefixes:\n      - GO\n      - REACT\n    slots:\n      - has input\n      - has output\n      - enabled by\n\n  molecular activity:\n    description: >-\n      An execution of a molecular function carried out by a\n      gene product or macromolecular complex.\n    is_a: biological process or activity\n    aliases: [ 'molecular function', 'molecular event', 'reaction' ]\n    mixins:\n      - occurrent\n      - ontology class\n    slot_usage:\n      has input:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the input for the reaction\n      has output:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the output for the reaction\n      enabled by:\n        range: macromolecular machine mixin\n        description: >-\n          The gene product, gene, or complex that catalyzes the reaction\n    exact_mappings:\n      - GO:0003674\n      # UMLS Semantic Type \"Molecular Function\"\n      - STY:T044\n    id_prefixes:\n      - GO\n      - REACT\n      - RHEA\n      - metacyc.reaction\n      - EC\n      - TCDB\n      - KEGG.REACTION  ## R number\n      - KEGG.RCLASS    ## RC number\n      - KEGG.ENZYME    ## EC number\n      - KEGG.ORTHOLOGY ## in particular for gut microbiome use case in issue #888\n      - UMLS\n      - BIGG.REACTION\n      - SEED.REACTION\n      - METANETX.REACTION\n\n  biological process:\n    is_a: biological process or activity\n    mixins:\n      - occurrent\n      - ontology class\n    description: >-\n      One or more causally connected executions of molecular functions\n    exact_mappings:\n      - GO:0008150\n      - SIO:000006\n      - WIKIDATA:Q2996394\n    broad_mappings:\n      - WIKIDATA:P682\n    id_prefixes:\n      - GO\n      - REACT\n      - metacyc.reaction\n      - KEGG.MODULE ## M number\n\n  pathway:\n    is_a: biological process\n    mixins:\n      - ontology class\n    exact_mappings:\n      - PW:0000001\n      - WIKIDATA:Q4915012\n    narrow_mappings:\n      - SIO:010526\n      - GO:0007165\n    id_prefixes:\n      - GO\n      - REACT\n      - KEGG\n      - SMPDB\n      - MSigDB\n      - PHARMGKB.PATHWAYS\n      - WIKIPATHWAYS\n      - FB  # FlyBase FBgg*\n      - PANTHER.PATHWAY\n      - KEGG.PATHWAY\n      - ncats.bioplanet\n\n  physiological process:\n    aliases: [ 'physiology' ]\n    is_a: biological process\n    mixins:\n      - ontology class\n    close_mappings:\n    exact_mappings:\n      # Physiologic Function\n      - STY:T039\n      - WIKIDATA:Q30892994\n    narrow_mappings:\n      # Organism Function\n      - STY:T040\n      # Organ or Tissue Function\n      - STY:T042\n      # Cell Function\n      - STY:T043\n      # Genetic Function\n      - STY:T045\n    id_prefixes:\n      - GO\n      - REACT\n\n  behavior:\n    is_a: biological process\n    mixins:\n      - ontology class\n      - activity and behavior\n    exact_mappings:\n      - GO:0007610\n      # Behavior\n      - STY:T053\n    narrow_mappings:\n      # Mental Process\n      - STY:T041\n      # Social Behavior\n      - STY:T054\n      # Individual Behavior\n      - STY:T055\n\n  ## (Bio)chemistry\n\n  processed material:\n    is_a: chemical mixture\n    description: >-\n      A chemical entity (often a mixture) processed\n      for consumption for nutritional, medical or technical use.\n      Is a material entity that is created or changed during material processing.\n    exact_mappings:\n      - OBI:0000047\n    id_prefixes:\n      - UMLS\n\n  drug:\n    is_a: molecular mixture\n    mixins:\n      - chemical or drug or treatment\n      - ontology class\n    description: >-\n      A substance intended for use in the diagnosis, cure,\n      mitigation, treatment, or prevention of disease\n    comments:\n      - The CHEBI ID represents a role rather than a substance\n    broad_mappings:\n      # Pharmacologic Substance: Any natural, endogenously-derived,\n      # synthetic or semi synthetic compound with pharmacologic activity.\n      - STY:T121\n    exact_mappings:\n      - WIKIDATA:Q12140\n      - CHEBI:23888\n      # UMLS Semantic Type \"Clinical Drug\"\n      - STY:T200\n      - dcid:Drug\n    narrow_mappings:\n      # Antibiotic\n      - STY:T195\n    id_prefixes:\n      - ncats.drug\n      - RXCUI\n      - NDC\n      - UMLS\n\n  ## Food\n\n  environmental food contaminant:\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:78299\n\n  food additive:\n    is_a: chemical entity\n    related_mappings:\n      # substance role\n      - CHEBI:64047\n\n  food:\n    is_a: chemical mixture\n    description: >-\n      A substance consumed by a living organism as a source of nutrition\n    id_prefixes:\n      - foodb.food\n      - FOODON\n      - UMLS\n      - NCIT\n    exact_mappings:\n      # Food\n      - STY:T168\n\n  ## Biology and Biomedical Sciences\n\n  ## Biological Attributes\n\n  organism attribute:\n    is_a: attribute\n    description: >-\n      describes a characteristic of an organismal entity.\n    exact_mappings:\n      # Organism Attribute\n      - STY:T032\n\n  phenotypic quality:\n    aliases: [ 'phenotypic properties' ]\n    is_a: organism attribute\n    description: >-\n      A property of a phenotype\n    examples:\n      - value: weight\n\n    mappings:\n      - PATO:0000001\n\n  genetic inheritance:\n    aliases: [ 'inheritance' ]\n    is_a: biological entity\n    description: >-\n      The pattern or 'mode' in which a particular genetic trait or disorder is passed from one\n      generation to the next, e.g. autosomal dominant, autosomal recessive, etc.\n    exact_mappings:\n      - HP:0000005\n      - GENO:0000141\n      - NCIT:C45827\n    close_mappings:\n      - STY:T045\n    id_prefixes:\n      - HP\n      - GENO\n      - NCIT\n\n  ## Biological Entities\n\n  organismal entity:\n    description: >-\n      A named entity that is either a part of an organism, a whole organism,\n      population or clade of organisms, excluding chemical entities\n    abstract: true\n    is_a: biological entity\n    mixins:\n      - subject of investigation\n    slot_usage:\n      has attribute:\n        description: >-\n          may often be an organism attribute\n    exact_mappings:\n      - WIKIDATA:Q7239\n      # UMLS Semantic Group \"Living Beings\"\n      # Several of the associated semantic types here are probably not\n      # that relevant to the Biolink world, but we keep them here for now.\n      - UMLSSG:LIVB\n      - CARO:0001010\n\n  virus:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A virus is a microorganism that replicates itself as a microRNA\n      and infects the host cell.\n    exact_mappings:\n      - NCBITaxon:10239\n\n  cellular organism:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    description: >-\n    exact_mappings:\n      - NCBITaxon:131567\n\n  life stage:\n    is_a: organismal entity\n    description: >-\n      A stage of development or growth of an organism,\n      including post-natal adult stages\n    exact_mappings:\n      - UBERON:0000105\n    narrow_mappings:\n      # constrained to human life cycles\n      - HsapDv:0000000\n    in_subset:\n      - model_organism_database\n    id_prefixes:\n      - HsapDv\n      - MmusDv\n      - ZFS\n      - FBdv\n      - WBls\n      - UBERON\n\n  individual organism:\n    aliases: [ 'organism' ]\n    description: >-\n      An instance of an organism. For example, Richard Nixon,\n      Charles Darwin, my pet cat. Example ID: ORCID:0000-0002-5355-2576\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - SIO:010000\n      # Organism\n      - STY:T001\n    narrow_mappings:\n      # Wikidata considers its definition of 'individual' to be constrained to human persons?\n      - WIKIDATA:Q795052\n      - foaf:Person\n    id_prefixes:\n      - ORCID\n\n  population of individual organisms:\n    description: >-\n      A collection of individuals from the same taxonomic class\n      distinguished by one or more characteristics.  Characteristics can\n      include, but are not limited to, shared geographic location, genetics,\n      phenotypes.\n    local_names:\n      ga4gh: population\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - PCO:0000001\n      - SIO:001061\n      # UMLS Semantic Type \"Population Group\"\n      - STY:T098\n      - OBI:0000181\n    id_prefixes:\n      - HANCESTRO\n    in_subset:\n      - model_organism_database\n\n  disease or phenotypic feature:\n    aliases: [ 'phenome' ]\n    is_a: biological entity\n    description: >-\n      Either one of a disease or an individual phenotypic feature.\n      Some knowledge resources such as Monarch treat these as\n      distinct, others such as MESH conflate.  Please see definitions of phenotypic feature and disease in this model\n      for their independent descriptions.  This class is helpful to enforce domains and ranges  \n      that may involve either a disease or a phenotypic feature.\n    union_of:\n      - disease\n      - phenotypic feature\n    narrow_mappings:\n      # UMLS Semantic Type \"Finding\" - more specialized use of 'disease or phenotypic feature'\n      - STY:T033\n\n  disease:\n    aliases: [ 'condition', 'disorder', 'medical condition' ]\n    description: >-\n      A disorder of structure or function, especially one that produces specific \n      signs, phenotypes or symptoms or that affects a specific location and is not simply a \n      direct result of physical injury.  A disposition to undergo pathological processes that exists in an \n      organism because of one or more disorders in that organism.\n    is_a: disease or phenotypic feature\n    exact_mappings:\n      - MONDO:0000001\n      - DOID:4\n      - NCIT:C2991\n      - WIKIDATA:Q12136\n      - SIO:010299\n      # UMLS Semantic Group \"Disorders\"\n      - UMLSSG:DISO\n      # Disease or Syndrome\n      - STY:T047\n      - dcid:Disease\n    narrow_mappings:\n      # Congenital Abnormality\n      - STY:T019\n      # Acquired Abnormality\n      - STY:T020\n      # Mental or Behavioral Dysfunction\n      - STY:T048\n      # Cell or Molecular Dysfunction\n      - STY:T049\n      # Anatomical Abnormality\n      - STY:T190\n      # Neoplastic Process\n      - STY:T191\n      # disease susceptibility\n      - MONDO:0042489\n    id_prefixes:\n      - MONDO\n      - DOID\n      - OMIM\n      - OMIM.PS\n      - orphanet\n      - EFO\n      - UMLS\n      - MESH\n      - MEDDRA\n      - NCIT\n      - SNOMEDCT\n      - medgen\n      - ICD10\n      - ICD9\n      - KEGG.DISEASE ## H number\n      - HP\n      - MP\n    in_subset:\n      - model_organism_database\n\n  phenotypic feature:\n    aliases: [ 'sign', 'symptom', 'phenotype', 'trait', 'endophenotype' ]\n    is_a: disease or phenotypic feature\n    description: >-\n      A combination of entity and quality that makes up a phenotyping statement. An observable characteristic of an \n      individual resulting from the interaction of its genotype with its molecular and physical environment.\n    examples:\n      - value: MP:0001262\n        description: decreased body weight\n    exact_mappings:\n      - UPHENO:0001001\n      - SIO:010056\n      - WIKIDATA:Q104053\n      - UMLS:C4021819\n      - NCIT:C16977\n      - SNOMEDCT:8116006 # documented as phenotypic finding and phenotype, also referred to as \"SCTID:8116006\" at SNOMEDCT\n      - MESH:D010641 # phenotype\n    narrow_mappings:\n      - STY:T184 # Sign or Symptom\n      - WIKIDATA:Q169872 # Sign or Symptom\n      # presentation of a disease in clinical medicine\n      - WIKIDATA:Q25203551\n      - ZP:00000000 # zebrafish phenotype\n      - FBcv:0001347 # fly phenotype\n      - HP:0000118 # human phenotype\n      - MP:0000001 # mouse phenotype\n      - WBPhenotype:0000886 # worm phenotype\n      - XPO:00000000 # frog phenotype\n      - FYPO:0000001 # fission yeast phenotype\n      - APO:0000017 # phenotype\n      - TO:0000387 # more narrowly defined here for plants; our definition conflates trait and phenotype.\n    broad_mappings:\n      - BFO:0000019 # quality\n      - PATO:0000001 # quality\n    id_prefixes:\n      - HP\n      - EFO # covered by BFO quality mapping\n      - NCIT\n      - UMLS\n      - MEDDRA # can not find a mapping\n      - MP\n      - ZP\n      - UPHENO\n      - APO\n      - FBcv\n      - WBPhenotype\n      - SNOMEDCT\n      - MESH\n      - XPO\n      - FYPO\n      - TO\n    in_subset:\n      - model_organism_database\n\n  behavioral feature:\n    description: >-\n      A phenotypic feature which is behavioral in nature.\n    is_a: phenotypic feature\n    exact_mappings:\n      - NBO:0000243\n\n  anatomical entity:\n    is_a: organismal entity\n    mixins:\n      - physical essence\n    description: >-\n      A subcellular location, cell type or gross anatomical part\n    exact_mappings:\n      - UBERON:0001062\n      - WIKIDATA:Q4936952\n      # UMLS Semantic Group \"Anatomy\"\n      - UMLSSG:ANAT\n      # UMLS Semantic Type \"Anatomical Structure\"\n      - STY:T017\n      - FMA:62955 # anatomical entity\n      - CARO:0000000  # anatomical entity\n      - SIO:001262 # anatomical entity\n    narrow_mappings:\n      - ZFA:0100000 # zebrafish anatomical entity\n      - FBbt:10000000 # fly anatomical entity\n      - EMAPA:0 # mouse anatomical entity\n      - MA:0000001 # mouse anatomical entity\n      - XAO:0000000 # frog anatomical entity\n      - WBbt:0000100 # c. elegans anatomical entity\n      - NCIT:C12219 # human anatomical entity\n      - GO:0110165 # cellular anatomical entity, also used directly in CL\n    related_mappings:\n      - SNOMEDCT:123037004 # body structure\n    id_prefixes:\n      - UBERON\n      - GO\n      - CL\n      - UMLS\n      - MESH\n      - NCIT\n      - EMAPA\n      - ZFA\n      - FBbt\n      - WBbt\n    in_subset:\n      - model_organism_database\n\n  cellular component:\n    aliases: [ 'cell component', 'cell part' ]\n    is_a: anatomical entity\n    description: >-\n      A location in or around a cell\n    exact_mappings:\n      - GO:0005575\n      - SIO:001400\n      - WIKIDATA:Q5058355\n      # Cell Component\n      - STY:T026\n    broad_mappings:\n      - WIKIDATA:P681\n    id_prefixes:\n      - GO\n      - MESH\n      - UMLS\n      - NCIT\n      - SNOMEDCT\n      - CL\n      - UBERON\n\n  cell:\n    is_a: anatomical entity\n    exact_mappings:\n      - GO:0005623\n      - CL:0000000\n      - SIO:010001\n      - WIKIDATA:Q7868\n      # UMLS Semantic Type \"Cell\"\n      - STY:T025\n      - MESH:D002477 # cells\n    id_prefixes:\n      - CL\n      - PO\n      - UMLS\n      - NCIT\n      - MESH\n      - UBERON\n      - SNOMEDCT\n      - MESH\n\n  cell line:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - CLO:0000031\n    id_prefixes:\n      - CLO\n\n  gross anatomical structure:\n    aliases: [ 'tissue', 'organ' ]\n    is_a: anatomical entity\n    exact_mappings:\n      - UBERON:0010000\n      - WIKIDATA:Q4936952\n    narrow_mappings:\n      # UMLS Semantic Type \"Body Part, Organ, or Organ Component\"\n      - STY:T023\n      # UMLS Semantic Type \"Tissue\"\n      - STY:T024\n      # Embryonic Structure\n      - STY:T018\n    id_prefixes:\n      - UBERON\n      - UMLS\n      - MESH\n      - NCIT\n      - PO\n      - FAO\n\n\n  ## entity mixins\n\n  chemical entity or gene or gene product:\n    description: >-\n      A union of chemical entities and children, and gene or gene product.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  chemical entity or protein or polypeptide:\n    description: >-\n      A union of chemical entities and children, and protein and polypeptide.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  macromolecular machine mixin:\n    description: >-\n      A union of gene locus, gene product, and macromolecular complex. These are\n      the basic units of function in a cell. They either carry out individual\n      biological activities, or they encode molecules which do this.\n    mixin: true\n    slots:\n      - name\n    slot_usage:\n      name:\n        range: symbol type\n        description: >-\n          genes are typically designated by a short symbol and a full name.\n          We map the symbol to the default display name\n          and use an additional slot for full name\n\n  gene or gene product:\n    description: >-\n      A union of gene loci or gene products.\n      Frequently an identifier for one will be used as proxy for another\n    is_a: macromolecular machine mixin\n    mixin: true\n    id_prefixes:\n      - CHEMBL.TARGET\n      - IUPHAR.FAMILY\n\n  gene:\n    description: >-\n      A region (or regions) that includes all of the sequence elements\n      necessary to encode a functional transcript. A gene locus may include\n      regulatory regions, transcribed regions and/or other\n      functional sequence regions.\n    is_a: biological entity\n    mixins:\n      - gene or gene product\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    slots:\n      - symbol\n      - synonym\n      - xref\n    exact_mappings:\n      - SO:0000704\n      - SIO:010035\n      - WIKIDATA:Q7187\n      - dcid:Gene\n    id_prefixes:\n      - NCBIGene\n      - ENSEMBL\n      - HGNC\n      - MGI\n      - ZFIN\n      - dictyBase\n      - WB\n      - WormBase # we have two prefixes here as wormbase supports WormBase:WBGene00000898\n      # and alliancegenome.org and identifiers.org supports WB:WBGene00000898.\n      - FB\n      - RGD\n      - SGD\n      - PomBase\n      - OMIM\n      - KEGG.GENE ## org:gene\n      - UMLS\n      - Xenbase\n      - AspGD\n    in_subset:\n      - translator_minimal\n      - model_organism_database\n    narrow_mappings:\n      - bioschemas:gene\n    broad_mappings:\n      - NCIT:C45822\n\n\n  gene product mixin:\n    description: >-\n      The functional molecular product of a single gene locus.\n      Gene products are either proteins or functional RNA molecules.\n    is_a: gene or gene product\n    mixin: true\n    slots:\n      - synonym\n      - xref\n    exact_mappings:\n      - WIKIDATA:Q424689\n      - GENO:0000907\n      - NCIT:C26548\n    id_prefixes:\n      - UniProtKB\n      - gtpo\n      - PR\n\n  gene product isoform mixin:\n    description: >-\n      This is an abstract class that can be mixed in with different kinds of\n      gene products to indicate that the gene product is intended to represent\n      a specific isoform rather than a canonical or reference or generic\n      product. The designation of canonical or reference may be arbitrary,\n      or it may represent the superclass of all isoforms.\n    is_a: gene product mixin\n    mixin: true\n\n  macromolecular complex:\n    description: >-\n      A stable assembly of two or more macromolecules, i.e. proteins,\n      nucleic acids, carbohydrates or lipids, in which at least one\n      component is a protein and the constituent parts function together.\n    is_a: biological entity\n    mixins:\n      - macromolecular machine mixin\n    exact_mappings:\n      - GO:0032991\n      - WIKIDATA:Q22325163\n    id_prefixes:\n      - INTACT\n      - GO\n      - PR\n      - REACT\n      - ComplexPortal\n    in_subset:\n      - model_organism_database\n\n  ## Genomic Classes\n  nucleosome modification:\n    is_a: biological entity\n    description: >-\n      A chemical modification of a histone protein within a nucleosome octomer or a substitution of a histone with a variant histone isoform.\n      e.g. Histone 4 Lysine 20 methylation (H4K20me), histone variant H2AZ substituting H2A.\n    mixins:\n      - gene product isoform mixin\n      - genomic entity\n      - epigenomic entity\n\n  genome:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A genome is the sum of genetic material within a cell or virion.\n    exact_mappings:\n      - SO:0001026\n      - SIO:000984\n      - WIKIDATA:Q7020\n    close_mappings:\n      - dcid:GenomeAssemblyUnit\n    in_subset:\n      - model_organism_database\n\n  exon:\n    is_a: nucleic acid entity\n    description: >-\n      A region of the transcript sequence within a gene which is not\n      removed from the primary RNA transcript by RNA splicing.\n    exact_mappings:\n      - SO:0000147\n      - SIO:010445\n      - WIKIDATA:Q373027\n\n  transcript:\n    is_a: nucleic acid entity\n    description: >-\n      An RNA synthesized on a DNA or RNA template by an RNA polymerase.\n    exact_mappings:\n      - SO:0000673\n      - SIO:010450\n      - WIKIDATA:Q7243183\n      - dcid:RNATranscript\n    id_prefixes:\n      - ENSEMBL # ENSEMBL:ENST for human\n      - FB      # FlyBase:FBtr\n    in_subset:\n      - model_organism_database\n\n  coding sequence:\n    is_a: nucleic acid entity\n    exact_mappings:\n      - SO:0000316\n      - SIO:001390\n\n  polypeptide:\n    aliases: [ 'amino acid entity' ]\n    is_a: biological entity\n    description: >-\n      A polypeptide is a molecular entity characterized by availability\n      in protein databases of amino-acid-based sequence representations\n      of its precise primary structure; for convenience of representation,\n      partial sequences of various kinds are included, even if they do not\n      represent a physical molecule.\n    mixins:\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL # ENSEMBL:ENSP*\n      - FB      # FlyBase FBpp*\n      - UMLS\n    in_subset:\n      - model_organism_database\n    narrow_mappings:\n      - SO:0000104 # polypeptide definde in SO conflates protein and polypeptide\n      # Amino Acid, Peptide, or Protein\n      - STY:T116\n      # Amino Acid Sequence\n      - STY:T087\n\n  protein:\n    description: >-\n      A gene product that is composed of a chain of amino acid sequences\n      and is produced by ribosome-mediated translation of mRNA\n    is_a: polypeptide\n    mixins:\n      - gene product mixin\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL # ENSEMBL:ENSP*\n      - FB      # FlyBase FBpp*\n      - UMLS\n      - MESH\n      - ncats.drug\n    broad_mappings:\n      - bioschemas:Protein\n    exact_mappings:\n      - PR:000000001\n      - SIO:010043\n      - WIKIDATA:Q8054\n    narrow_mappings:\n      # Enzyme\n      - STY:T126\n      # Receptor\n      - STY:T192\n\n  protein isoform:\n    aliases: [ 'proteoform' ]\n    is_a: protein\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or\n      reference protein. See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4114032/\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - UniProtKB # UniProtKB:([A-Z0-9]+-\\d+)\n      - UNIPROT.ISOFORM\n      - PR\n      - ENSEMBL\n\n  protein domain:\n    is_a: biological entity\n    description: >-\n      A conserved part of protein sequence and (tertiary) structure that can evolve,\n      function, and exist independently of the rest of the protein chain.\n      Protein domains maintain their structure and function independently of the proteins in which they are found.\n      e.g. an SH3 domain.\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    exact_mappings:\n      - NCIT:C13379\n      - SIO:001379\n      - UMLS:C1514562\n  \n  posttranslational modification:\n    is_a: biological entity\n    description: >-\n      A chemical modification of a polypeptide or protein that occurs after translation. \n      e.g. polypeptide cleavage to form separate proteins, methylation or acetylation of histone tail amino acids, \n      protein ubiquitination.\n    mixins:\n      - gene product isoform mixin\n  \n  protein family:\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n\n  nucleic acid sequence motif:\n    aliases: [ 'consensus sequence' ]\n    is_a: biological entity\n    description: >-\n      A linear nucleotide sequence pattern that is widespread and has, or is conjectured to have,\n      a biological significance. e.g. the TATA box promoter motif, transcription factor binding\n      consensus sequences.\n\n  RNA product:\n    is_a: transcript\n    mixins:\n      - gene product mixin\n    exact_mappings:\n      - CHEBI:33697\n      # This SIO term here also mapped to 'biolink:Transcript'; however,\n      # since this 'biolink:RNAProduct' relates more to the biochemical\n      # essence of RNA, then map the SIO term instead to 'biolink:Transcript'\n      # - SIO:010450\n      - WIKIDATA:Q11053\n    id_prefixes:\n      - RNACENTRAL\n\n  RNA product isoform:\n    is_a: RNA product\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or reference RNA\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - RNACENTRAL\n\n  noncoding RNA product:\n    is_a: RNA product\n    id_prefixes:\n      - RNACENTRAL\n      - NCBIGene\n      - ENSEMBL\n    exact_mappings:\n      - SO:0000655\n      - SIO:001235\n\n  microRNA:\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000276\n      - SIO:001397\n      - WIKIDATA:Q310899\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  siRNA:\n    aliases: [ 'small interfering RNA', 'RNAi' ]\n    description: >-\n      A small RNA molecule that is the product of a longer exogenous or\n      endogenous dsRNA, which is either a bimolecular duplex or very long\n      hairpin, processed (via the Dicer pathway) such that numerous siRNAs\n      accumulate from both strands of the dsRNA. SRNAs trigger the cleavage\n      of their target molecules.\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000646\n      - WIKIDATA:Q203221\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  gene grouping mixin:\n    description: >-\n      any grouping of multiple genes or gene products\n    mixin: true\n    slots:\n      - has gene or gene product\n\n  gene family:\n    aliases: [ 'orthogroup', 'protein family' ]\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      # These term definitions focus only on proteins;\n      # the 'biolink:GeneFamily' term would be more inclusive\n      # to describe gene loci, non-coding RNA, etc.\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    description: >-\n      any grouping of multiple genes or gene products related by common descent\n    id_prefixes:\n      - PANTHER.FAMILY\n      - HGNC.FAMILY\n      - FB       # FlyBase FBgg*\n      - interpro # note: may be better to introduce a protein domain/family\n      - CATH\n      - CDD\n      - HAMAP\n      - PFAM\n      - PIRSF\n      - PRINTS\n      - PRODOM\n      - PROSITE\n      - SMART\n      - SUPFAM\n      - TIGRFAM\n      - CATH.SUPERFAMILY\n      - RFAM ## RNAs only\n      - KEGG.ORTHOLOGY ## aka KEGG.KO: K number\n      - EGGNOG\n      - COG\n    in_subset:\n      - model_organism_database\n\n  zygosity:\n    is_a: attribute\n    exact_mappings:\n      - GENO:0000133\n\n  genotype:\n    is_a: biological entity\n    mixins:\n      - physical essence\n      - genomic entity\n      - ontology class\n    description: >-\n      An information content entity that describes a genome by specifying the\n      total variation in genomic sequence and/or gene expression, relative to\n      some established background\n    comments:\n      - Consider renaming as genotypic entity\n    slots:\n      - has zygosity\n    exact_mappings:\n      - GENO:0000536\n      - SIO:001079\n    id_prefixes:\n      - ZFIN\n      - FB   # FlyBase FBba*\n    in_subset:\n      - model_organism_database\n\n  haplotype:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A set of zero or more Alleles on a single instance of a Sequence[VMC]\n    #    slots:\n    #      - completeness\n    exact_mappings:\n      - GENO:0000871\n      - SO:0001024\n      - VMC:Haplotype\n\n  sequence variant:\n    aliases: [ 'allele' ]\n    local_names:\n      agr: allele\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A sequence_variant is a non exact copy of a sequence_feature or genome exhibiting one or more sequence_alteration.\n    comments:\n      - This class is for modeling the specific state at a locus.\n        A single DBSNP rs ID could correspond to more than one sequence variants\n        (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)\n    exact_mappings:\n      # slightly broader semantics than SO:0001059 - 'sequence alteration'\n      # describes a sequence feature that may have 1..* sequence alterations\n      - WIKIDATA:Q15304597\n    close_mappings:\n      - dcid:Allele\n      - SO:0001060\n      - VMC:Allele\n      - GENO:0000002\n      - SIO:010277\n      - SO:0001060\n    id_prefixes:\n      - CAID # ClinGen Allele Registry\n      - CLINVAR\n      - WIKIDATA\n      # - CIViC needs IRI mapping\n      - DBSNP\n      - MGI\n      - ZFIN\n      - FB\n      - RGD\n      - AGRKB\n      - SPDI\n      - WB\n      - WormBase\n    alt_descriptions:\n      AGR: >-\n        An entity that describes a single affected, endogenous allele.\n        These can be of any type that matches that definition\n      VMC: >-\n        A contiguous change at a Location\n    slots:\n      - has gene\n    slot_usage:\n      has gene:\n        multivalued: true\n        description: Each allele can be associated with any number of genes\n      has biological sequence:\n        description: >-\n          The state of the sequence w.r.t a reference sequence\n      id:\n        examples:\n          - value: ZFIN:ZDB-ALT-980203-1091\n            description: ti282a allele from ZFIN\n          - value: CLINVAR:17681\n            description: NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)\n    in_subset:\n      - model_organism_database\n\n  snv:\n    aliases: [ 'single nucleotide variant', 'single nucleotide polymorphism', 'snp' ]\n    is_a: sequence variant\n    description: >-\n      SNVs are single nucleotide positions in genomic DNA at\n      which different sequence alternatives exist\n    exact_mappings:\n      - SO:0001483\n\n  reagent targeted gene:\n    aliases: [ 'sequence targeting reagent' ]\n    is_a: biological entity\n    description: >-\n      A gene altered in its expression level in the context of some\n      experiment as a result of being targeted by gene-knockdown\n      reagent(s) such as a morpholino or RNAi.\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - GENO:0000504\n    in_subset:\n      - model_organism_database\n\n  ## --------------------\n  ## Clinical\n  ## Attributes, Cohort,\n  ## Exposures & Outcomes\n  ## --------------------\n\n  ## Clinical Attributes\n\n  clinical attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a clinical manifestation\n    exact_mappings:\n      # Clinical Attribute\n      - STY:T201\n\n  clinical measurement:\n    is_a: clinical attribute\n    description: >-\n      A clinical measurement is a special kind of attribute which results\n      from a laboratory observation from a subject individual or sample.\n      Measurements can be connected to their subject by the 'has attribute' slot.\n    slot_usage:\n      has attribute type:\n        required: true\n        multivalued: false\n        values_from:\n          - EFO\n          - LOINC\n    exact_mappings:\n      - EFO:0001444\n\n  clinical modifier:\n    is_a: clinical attribute\n    description: >-\n      Used to characterize and specify the phenotypic abnormalities\n      defined in the phenotypic abnormality sub-ontology, with respect\n      to severity, laterality, and other aspects\n    exact_mappings:\n\n\n  clinical course:\n    is_a: clinical attribute\n    description: >-\n      The course a disease typically takes from its onset, progression in time, and\n      eventual resolution or death of the affected individual\n    exact_mappings:\n      - HP:0031797\n\n  onset:\n    is_a: clinical course\n    description: >-\n      The age group in which (disease) symptom manifestations appear\n    exact_mappings:\n      - HP:0003674\n\n  clinical entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists in the clinical domain and outside the\n      biological realm. Diseases are placed under biological entities\n\n  clinical trial:\n    is_a: clinical entity\n\n  clinical intervention:\n    is_a: clinical entity\n\n  clinical finding:\n    is_a: phenotypic feature\n    description: >-\n      this category is currently considered broad enough to tag clinical lab\n      measurements and other biological attributes taken as 'clinical traits'\n      with some statistical score, for example, a p value in genetic associations.\n    slot_usage:\n      has attribute:\n        range: clinical attribute\n    id_prefixes:\n      - LOINC\n      - NCIT\n      - EFO\n\n  hospitalization:\n    is_a: clinical intervention\n    exact_mappings:\n      - SNOMEDCT:32485007\n      - WIKIDATA:Q3140971\n\n  socioeconomic attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a socioeconomic manifestation\n    #slot_usage:\n    # need a suitable qualifying socioeconomic ontology target here?\n    # Perhaps some subset of ECTO: https://github.com/EnvironmentOntology/environmental-exposure-ontology\n    #  has attribute type:\n    #     range: socioeconomic ontology\n    # exact_mappings:\n    #  - ??\n\n  ## Cohorts\n\n  case:\n    aliases: [ 'patient', 'proband' ]\n    is_a: individual organism\n    description: >-\n      An individual (human) organism that has a patient role in some clinical context.\n    mixins:\n      - subject of investigation\n\n  cohort:\n    is_a: study population\n    description: >-\n      A group of people banded together or treated as a group who share common characteristics.\n      A cohort 'study' is a particular form of longitudinal study that samples a cohort,\n      performing a cross-section at intervals through time.\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - WIKIDATA:Q1303415\n    narrow_mappings:\n      # Professional or Occupational Group\n      - STY:T097\n      # Family Group\n      - STY:T099\n      # Age Group\n      - STY:T100\n      # Patient or Disabled Group\n      - STY:T101\n\n  ## Exposures\n\n  exposure event:\n    is_a: ontology class\n    aliases: [ 'exposure', 'experimental condition' ]\n    mixin: true\n    slots:\n      - timepoint\n    description: >-\n      A (possibly time bounded) incidence of a feature of the environment of an organism that\n      influences one or more phenotypic features of that organism, potentially mediated by genes\n    exact_mappings:\n      - XCO:0000000\n    in_subset:\n      - model_organism_database\n\n  # TODO - confirm that genomic backgrounds are exposures\n  genomic background exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - gene grouping mixin\n      - physical essence\n      - genomic entity\n      - thing with taxon\n      - ontology class\n    description: >-\n      A genomic background exposure is where an individual's specific genomic background\n      of genes, sequence variants or other pre-existing genomic conditions constitute\n      a kind of 'exposure' to the organism, leading to or influencing an outcome.\n\n  pathological entity mixin:\n    description: >-\n      A pathological (abnormal) structure or process.\n    mixin: true\n    exact_mappings:\n      - MPATH:0\n    narrow_mappings:\n      - HP:0000118\n\n  pathological process:\n    description: >-\n      A biologic function or a process having an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: biological process\n    mixins:\n      - pathological entity mixin\n    exact_mappings:\n      - OBI:1110122\n      - NCIT:C16956\n    narrow_mappings:\n      # metastasis\n      - NCIT:C19151\n      - EFO:0009708\n      - STY:T046\n      - STY:T037\n\n  pathological process exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A pathological process, when viewed as an exposure, representing\n      a precondition, leading to or influencing an outcome,\n      e.g. autoimmunity leading to disease.\n\n  pathological anatomical structure:\n    description: >-\n      An anatomical structure with the potential of have an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: anatomical entity\n    mixins:\n      - pathological entity mixin\n\n  pathological anatomical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      An abnormal anatomical structure, when viewed as an exposure,\n      representing an precondition, leading to or influencing an outcome,\n      e.g. thrombosis leading to an ischemic disease outcome.\n\n  disease or phenotypic feature exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - pathological entity mixin\n    description: >-\n      A disease or phenotypic feature state, when viewed as an exposure,\n      represents an precondition, leading to or influencing an outcome,\n      e.g. HIV predisposing an individual to infections; a relative deficiency\n      of skin pigmentation predisposing an individual to skin cancer.\n\n  chemical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    slots:\n      - has quantitative value\n    description: >-\n      A chemical exposure is an intake of a particular\n      chemical entity.\n    exact_mappings:\n      # this ECTO term is not visibly defined but\n      # the 9000000-series identifiers seems to be the\n      # numeric space of chemical exposure definitions\n      - ECTO:9000000\n      - SIO:001399\n\n  complex chemical exposure:\n    is_a: attribute\n    description: >-\n      A complex chemical exposure is an intake of a chemical\n      mixture (e.g. gasoline), other than a drug.\n\n  drug exposure:\n    is_a: chemical exposure\n    aliases: [ 'drug intake', 'drug dose', 'medication intake' ]\n    description: >-\n      A drug exposure is an intake of a particular drug.\n    mixins:\n      - exposure event\n    broad_mappings:\n      # slightly broader than just drug effects on a biological system\n      - SIO:001005\n    exact_mappings:\n      - ECTO:0000509\n\n  # TODO: deprecate?\n  drug to gene interaction exposure:\n    description: >-\n      drug to gene interaction exposure is a drug exposure is where the\n      interactions of the drug with specific genes are known to constitute\n      an 'exposure' to the organism, leading to or influencing an outcome.\n    is_a: drug exposure\n    mixins:\n      - gene grouping mixin\n\n  treatment:\n    aliases: [ 'medical action', 'medical intervention' ]\n    # 'named thing' seems too generic here but not sure what applies better here\n    is_a: named thing\n    mixins:\n      - exposure event\n      - chemical or drug or treatment\n    description: >-\n      A treatment is targeted at a disease or phenotype and may involve\n      multiple drug 'exposures', medical devices and/or procedures\n    slots:\n      - has drug\n      - has device\n      - has procedure\n    exact_mappings:\n      - OGMS:0000090\n      - SIO:001398\n    broad_mappings:\n      - MAXO:0000058\n\n  biotic exposure:\n    is_a: attribute\n    aliases: [ 'viral exposure', 'bacterial exposure' ]\n    mixins:\n      - exposure event\n    description: >-\n      An external biotic exposure is an intake of (sometimes pathological)\n      biological organisms (including viruses).\n\n  geographic exposure:\n    is_a: environmental exposure\n    mixins:\n      - exposure event\n    description: >-\n      A geographic exposure is a factor relating to geographic\n      proximity to some impactful entity.\n    close_mappings:\n      - dcid:GeologicalEvent\n    narrow_mappings:\n      - dcid:IceStoremEvent\n      - dcid:LakeEffectSnowEvent\n      - dcid:LandslideEvent\n      - dcid:MarineDenseFogEvent\n      - dcid:MarineLighteningEvent\n      - dcid:MarineStrongWindEvent\n      - dcid:MarineThunderstormWindEvent\n      - dcid:StormEvent\n      - dcid:StormSurgeTideEvent\n      - dcid:StrongWindEvent\n      - dcid:ThunderstormWindEvent\n      - dcid:TornadoEvent\n      - dcid:TropicalDepressionEvent\n      - dcid:WinterStoremEvent\n\n  environmental exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A environmental exposure is a factor relating to abiotic processes\n      in the environment including sunlight (UV-B), atmospheric (heat,\n      cold, general pollution) and water-born contaminants.\n\n  behavioral exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A behavioral exposure is a factor relating to behavior impacting an individual.\n\n  socioeconomic exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A socioeconomic exposure is a factor relating to social and\n      financial status of an affected individual (e.g. poverty).\n    slot_usage:\n      has attribute:\n        range: socioeconomic attribute\n        required: true\n\n  ## Outcomes\n\n  outcome:\n    mixin: true\n    description: >-\n      An entity that has the role of being the consequence of an exposure event.\n      This is an abstract mixin grouping of various categories of possible\n      biological or non-biological (e.g. clinical) outcomes.\n\n  pathological process outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of a pathological process.\n\n  pathological anatomical outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of an abnormal anatomical structure.\n\n  disease or phenotypic feature outcome:\n    mixins:\n      - outcome\n    description: >-\n      Physiological outcomes resulting from an exposure event which\n      is the manifestation of a disease or other characteristic phenotype.\n\n  behavioral outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the manifestation of human behavior.\n\n  hospitalization outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the increased manifestation of acute (e.g. emergency\n      room visit) or chronic (inpatient) hospitalization.\n\n  mortality outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome of death from resulting from an exposure event.\n\n  epidemiological outcome:\n    mixins:\n      - outcome\n    description: >-\n      An epidemiological outcome, such as societal disease\n      burden, resulting from an exposure event.\n    related_mappings:\n      - NCIT:C19291\n\n  socioeconomic outcome:\n    mixins:\n      - outcome\n    description: >-\n      An general social or economic outcome, such as\n      healthcare costs, utilization, etc., resulting from an exposure event\n\n  ## ------------\n  ## ASSOCIATIONS\n  ## ------------\n\n  association:\n    is_a: entity\n    description: >-\n      A typed association between two entities, supported by evidence\n    comments:\n      - This is roughly the model used by biolink and ontobio at the moment\n    slots:\n      - subject\n      - predicate\n      - object\n      - negated\n      - qualifiers\n      - publications\n      - has evidence\n      - knowledge source\n      - primary knowledge source\n      - aggregator knowledge source\n      - timepoint\n      - original subject\n      - original predicate\n      - original object\n    slot_usage:\n      type:\n        description: rdf:type of biolink:Association should be fixed at rdf:Statement\n      category:\n        range: category type\n        required: false\n    exact_mappings:\n      - OBAN:association\n      - rdf:Statement\n      - owl:Axiom\n\n\n  chemical entity assesses named thing association:\n    is_a: association\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: assesses\n\n\n  contributor association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      Any association between an entity (such as a publication)\n      and various agents that contribute to its realisation\n    slot_usage:\n      subject:\n        range: information content entity\n        description: >-\n          information content entity which an agent has helped realise\n      predicate:\n        subproperty_of: contributor\n        description: >-\n          generally one of the predicate values 'provider', 'publisher', 'editor' or 'author'\n      object:\n        range: agent\n        description: >-\n          agent helping to realise the given entity (e.g. such as a publication)\n      qualifiers:\n        description: >-\n          this field can be used to annotate special characteristics of an\n          agent relationship, such as the fact that a given author agent of\n          a publication is the 'corresponding author'\n\n  genotype to genotype part association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a genotypic entity that is a sub-component of it\n    slot_usage:\n      predicate:\n        subproperty_of: has variant part\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: genotype\n        description: >-\n          child genotype\n\n  genotype to gene association:\n    description: >-\n      Any association between a genotype and a gene.\n      The genotype have have multiple variants in that gene or a single one.\n      There is no assumption of cardinality\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: gene\n        description: >-\n          gene implicated in genotype\n\n  genotype to variant association:\n    description: >-\n      Any association between a genotype and a sequence variant.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: sequence variant\n        description: >-\n          gene implicated in genotype\n\n  gene to gene association:\n    aliases: [ 'molecular or genetic interaction' ]\n    description: >-\n      abstract parent class for different kinds of gene-gene or gene product\n      to gene product relationships. Includes homology and interaction.\n    abstract: true\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          the subject gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n      object:\n        range: gene or gene product\n        description: >-\n          the object gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n\n  gene to gene homology association:\n    description: >-\n      A homology association between two genes. May be orthology (in which\n      case the species of subject and object should differ) or paralogy\n      (in which case the species may be the same)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n      predicate:\n        subproperty_of: homologous to\n        symmetric: true\n        description: >-\n          homology relationship type\n      object:\n        range: gene or gene product\n\n  gene to gene family association:\n    description: >-\n      Set membership of a gene in a family of genes related by common\n      evolutionary ancestry usually inferred by sequence comparisons.\n      The genes in a given family generally share common sequence motifs which\n      generally map onto shared gene product structure-function relationships.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene family\n      predicate:\n        subproperty_of: member of\n        symmetric: false\n        description: >-\n          membership of the gene in the given gene family.\n\n  gene expression mixin:\n    description: >-\n      Observed gene expression intensity, context (site, stage) and\n      associated phenotypic status within which the expression occurs.\n    mixin: true\n    slots:\n      - quantifier qualifier\n      - expression site\n      - stage qualifier\n      - phenotypic state\n    slot_usage:\n      quantifier qualifier:\n        description: >-\n          Optional quantitative value indicating degree of expression.\n\n  gene to gene coexpression association:\n    description: >-\n      Indicates that two genes are co-expressed,\n      generally under the same conditions.\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: coexpressed with\n        symmetric: true\n\n  pairwise gene to gene interaction:\n    description: >-\n      An interaction between two genes or two gene products.\n      May be physical (e.g. protein binding) or genetic (between genes).\n      May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      predicate:\n        subproperty_of: interacts with\n        symmetric: true\n        description: \"interaction relationship type\"\n    narrow_mappings:\n      - dcid:ProteinProteinInteraction\n\n  pairwise molecular interaction:\n    description: >-\n      An interaction at the molecular level between two physical entities\n    is_a: pairwise gene to gene interaction\n    slots:\n      - interacting molecules category\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: molecular entity\n      id:\n        description: >-\n          identifier for the interaction. This may come from an interaction database such as IMEX.\n        examples:\n          - value: WB:WBInteraction000538741\n        values_from:\n          - IMEX\n          - BioGRID\n      predicate:\n        subproperty_of: interacts with\n        description: \"interaction relationship type\"\n        examples:\n          - value: RO:0002447\n            description: the subject molecular phosphorylates the object molecule\n      object:\n        range: molecular entity\n\n  cell line to entity association mixin:\n    description: >-\n      An relationship between a cell line and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: cell line\n\n  # TODO: figure out what gives with subject range\n  cell line to disease or phenotypic feature association:\n    is_a: association\n    mixins:\n      - cell line to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    description: >-\n      An relationship between a cell line and a disease or a phenotype, where\n      the cell line is derived from an individual with that disease or phenotype.\n    slot_usage:\n      subject:\n        #        - range: cell line\n        #        - range: disease or phenotypic feature\n        range: disease or phenotypic feature\n\n  chemical entity to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity that is an interactor\"\n\n  drug to entity association mixin:\n    description: >-\n      An interaction between a drug and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: drug\n        description: \"the drug that is an interactor\"\n\n  chemical to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity or entity that is an interactor\"\n\n  case to entity association mixin:\n    description: >-\n      An abstract association for use where the case is the subject\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: case\n        description: \"the case (e.g. patient) that has the property\"\n\n  chemical to chemical association:\n    description: >-\n      A relationship between two chemical entities. This can encompass actual\n      interactions as well as temporal causal edges, e.g. one chemical converted to another.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      object:\n        range: chemical entity\n        description: \"the chemical element that is the target of the statement\"\n\n  reaction to participant association:\n    description:\n    is_a: chemical to chemical association\n    slots:\n      - stoichiometry\n      - reaction direction\n      - reaction side\n    slot_usage:\n      subject:\n        range: molecular entity\n    defining_slots:\n      - subject\n      - predicate\n      - object\n\n  reaction to catalyst association:\n    description:\n    is_a: reaction to participant association\n    slot_usage:\n      object:\n        range: gene or gene product\n\n  chemical to chemical derivation association:\n    description: >-\n      A causal relationship between two chemical entities, where the subject\n      represents the upstream entity and the object represents the downstream.\n      For any such association there is an implicit reaction:\n        IF\n        R has-input C1 AND\n        R has-output C2 AND\n        R enabled-by P AND\n        R type Reaction\n        THEN\n        C1 derives-into C2 <<catalyst qualifier P>>\n    is_a: chemical to chemical association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - catalyst qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: >-\n          the upstream chemical entity\n      object:\n        range: chemical entity\n        description: >-\n          the downstream chemical entity\n      predicate:\n        subproperty_of: derives into\n      catalyst qualifier:\n        description: >-\n          this connects the derivation edge to the chemical entity that\n          catalyzes the reaction that causes the subject chemical to\n          transform into the object chemical.\n\n  chemical to disease or phenotypic feature association:\n    description: >-\n      An interaction between a chemical entity and a phenotype or disease,\n      where the presence of the chemical gives rise to or exacerbates the phenotype.\n    is_a: association\n    narrow_mappings:\n      - SIO:000993\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"the disease or phenotype that is affected by the chemical\"\n\n  chemical or drug or treatment to disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary undesirable effect.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slots:\n      - FDA adverse event level\n    slot_usage:\n      predicate:\n        subproperty_of: has adverse event\n\n  chemical or drug or treatment side effect disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary, typically (but not always) undesirable effect.\n    is_a: chemical or drug or treatment to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has side effect\n\n  gene to pathway association:\n    description: >-\n      An interaction between a gene or gene product and a biological process or pathway.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"the gene or gene product entity that participates or influences the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that includes or is affected by the gene or gene product\"\n\n  molecular activity to pathway association:\n    description: >-\n      Association that holds the relationship between a reaction and the pathway it participates in.\n    is_a: association\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: pathway\n      predicate:\n        subproperty_of: part of\n\n  chemical to pathway association:\n    description: >-\n      An interaction between a chemical entity and a biological process or pathway.\n    is_a: association\n    exact_mappings:\n      - SIO:001250\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: \"the chemical entity that is affecting the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that is affected by the chemical\"\n\n  named thing associated with likelihood of named thing association:\n    # TODO: better name\n    description: >-\n    is_a: association\n    defining_slots:\n      - subject\n      - subject aspect qualifier\n      - subject context qualifier\n      - predicate\n      - object\n      - object aspect qualifier\n      - object context qualifier\n      - population context qualifier\n    slot_usage:\n      predicate:\n        subproperty_of: associated with\n      subject aspect qualifier:\n      # TODO: range\n      subject context qualifier:\n        range: ontology class\n      object aspect qualifier:\n      # TODO: range\n      object context qualifier:\n        range: ontology class\n\n  chemical gene interaction association:\n    description: >-\n      describes a physical interaction between a chemical entity and a gene or gene product. Any biological or chemical\n      effect resulting from such an interaction are out of scope, and covered by the ChemicalAffectsGeneAssociation type\n      (e.g. impact of a chemical on the abundance, activity, structure, etc, of either participant in the interaction)\n    is_a: association\n    exact_mappings:\n      - SIO:001257\n    mixins:\n      - chemical to entity association mixin\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object context qualifier\n      - anatomical context qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: gene or gene product\n      predicate:\n        subproperty_of: physically interacts with\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      subject context qualifier:\n        range: anatomical entity\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object context qualifier:\n        range: anatomical entity\n      anatomical context qualifier:\n        range: anatomical entity\n\n  chemical affects gene association:\n    description: >-\n      Describes an effect that a chemical has on a gene or gene product (e.g. an impact of on its abundance, activity,\n      localization, processing, expression, etc.)\n    is_a: association\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject aspect qualifier\n      - subject context qualifier\n      - subject direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object aspect qualifier\n      - object context qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - qualified predicate\n    slot_usage:\n      subject:\n        range: chemical entity\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      subject aspect qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject context qualifier:\n        range: anatomical entity\n      subject direction qualifier:\n        range: DirectionQualifierEnum\n      predicate:\n        subproperty_of: affects\n      qualified predicate:\n        subproperty_of: causes\n      object:\n        range: gene or gene product\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object aspect qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object context qualifier:\n        range: anatomical entity\n      object direction qualifier:\n        range: DirectionQualifierEnum\n      causal mechanism qualifier:\n        range: CausalMechanismQualifierEnum\n      anatomical context qualifier:\n        range: anatomical entity\n      species context qualifier:\n        range: organism taxon\n\n  drug to gene association:\n    description: >-\n      An interaction between a drug and a gene or gene product.\n    is_a: association\n    related_mappings:\n      - SIO:001257\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - drug to entity association mixin\n    slot_usage:\n      object:\n        range: gene or gene product\n        description: \"the gene or gene product that is affected by the drug\"\n\n  material sample to entity association mixin:\n    description: >-\n      An association between a material sample and something.\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n\n  material sample derivation association:\n    description: >-\n      An association between a material sample and\n      the material entity from which it is derived.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n      object:\n        description: >-\n          the material entity the sample was derived from. This may be another\n          material sample, or any other material entity, including for example\n          an organism, a geographic feature, or some environmental material.\n      predicate:\n        description: >-\n          derivation relationship\n        subproperty_of: derives from\n\n  material sample to disease or phenotypic feature association:\n    description: >-\n      An association between a material sample and a disease or phenotype.\n    is_a: association\n    mixins:\n      - material sample to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    defining_slots:\n      - subject\n      - object\n\n  disease to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease\n        description: \"disease class\"\n        values_from: [ 'mondo', 'omim', 'orphanet', 'ncit', 'doid' ]\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n\n  entity to exposure event association mixin:\n    description: >-\n      An association between some entity and an exposure event.\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: exposure event\n\n  disease to exposure event association:\n    description: >-\n      An association between an exposure event and a disease.\n    is_a: association\n    mixins:\n      - disease to entity association mixin\n      - entity to exposure event association mixin\n    defining_slots:\n      - subject\n      - object\n\n\n  entity to outcome association mixin:\n    description: >-\n      An association between some entity and an outcome\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: outcome\n\n  exposure event to outcome association:\n    description: >-\n      An association between an exposure event and an outcome.\n    is_a: association\n    mixins:\n      - entity to outcome association mixin\n    slots:\n      - population context qualifier\n      - temporal context qualifier\n    defining_slots:\n      - subject\n      - object\n\n  frequency qualifier mixin:\n    mixin: true\n    description: >-\n      Qualifier for frequency type associations\n    slots:\n      - frequency qualifier\n\n  entity to feature or disease qualifiers mixin:\n    description: >-\n      Qualifiers for entity to disease or phenotype associations.\n    mixin: true\n    is_a: frequency qualifier mixin\n    slots:\n      - severity qualifier\n      - onset qualifier\n\n  entity to phenotypic feature association mixin:\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    mixins:\n      - frequency quantifier\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: phenotypic feature\n        values_from: [ 'upheno', 'hp', 'mp', 'wbphenotype' ]\n        examples:\n          - value: HP:0002487\n            description: Hyperkinesis\n          - value: WBPhenotype:0000180\n            description: axon morphology variant\n          - value: MP:0001569\n            description: abnormal circulating bilirubin level\n    slots:\n      - sex qualifier\n\n  information content entity to named thing association:\n    description: >-\n      association between a named thing and a information content entity where the specific context\n      of the relationship between that named thing and the publication is unknown. For\n      example, model organisms databases often capture the knowledge that a gene is found in a\n      journal article, but not specifically the context in which that gene was documented in the article.\n      In these cases, this association with the accompanying predicate 'mentions' could be used.\n      Conversely, for more specific associations (like 'gene to disease association', the publication should\n      be captured as an edge property).\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        domain: publication\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: mentions\n    in_subset:\n      - model_organism_database\n\n  entity to disease association mixin:\n    description: >-\n      mixin class for any association whose object (target node) is a disease\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease\n        description: \"disease\"\n        examples:\n          - value: MONDO:0020066\n            description: \"Ehlers-Danlos syndrome\"\n\n  disease or phenotypic feature to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  disease or phenotypic feature to location association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      an anatomical entity, where the disease/feature manifests in that site.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      object:\n        range: anatomical entity\n        description: >-\n          anatomical entity in which the disease or feature is found.\n        examples:\n          - value: UBERON:0002048\n            description: \"lung\"\n\n  disease or phenotypic feature to genetic inheritance association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      its mode of (genetic) inheritance.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has mode of inheritance\n      object:\n        range: genetic inheritance\n        description: >-\n          genetic inheritance associated with the specified disease or phenotypic feature.\n        examples:\n          - value: HP:0001417\n            description: \"X-linked inheritance\"\n\n  entity to disease or phenotypic feature association mixin:\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  genotype to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: genotype\n        description: \"genotype that is the subject of the association\"\n\n  genotype to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a phenotypic feature, where having\n      the genotype confers the phenotype, either in isolation or through environment\n    mixins:\n      - entity to phenotypic feature association mixin\n      - genotype to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has phenotype\n      subject:\n        range: genotype\n        description: >-\n          genotype that is associated with the phenotypic feature\n\n  # ie: smoke exposure to coughing phenotype? is this a denormalization?\n  exposure event to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between an environment and a phenotypic feature,\n      where being in the environment influences the phenotype.\n    mixins:\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: exposure event\n\n  disease to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      An association between a disease and a phenotypic feature in which the\n      phenotypic feature is associated with the disease in some way.\n    mixins:\n      - entity to phenotypic feature association mixin\n      - disease to entity association mixin\n    close_mappings:\n      - dcid:DiseaseSymptomAssociation\n    slot_usage:\n      subject:\n        range: disease\n      object:\n        range: phenotypic feature\n\n  case to phenotypic feature association:\n    description: >-\n      An association between a case (e.g. individual patient) and a phenotypic\n      feature in which the individual has or has had the phenotype.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - case to entity association mixin\n\n  behavior to behavioral feature association:\n    description: >-\n      An association between an mixture behavior and\n      a behavioral feature manifested by\n      the individual exhibited or has exhibited the behavior.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: behavior\n        description: >-\n          behavior that is the subject of the association\n      object:\n        range: behavioral feature\n        description: >-\n          behavioral feature that is the object of the association\n    mixins:\n      - entity to phenotypic feature association mixin\n\n  gene to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene that is the subject of the association\n\n  variant to entity association mixin:\n    local_names:\n      ga4gh: variant annotation\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is associated with some other entity\n        examples:\n          - value: CLINVAR:38077\n            description: \"CLINVAR representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)\"\n          - value: ClinGen:CA024716\n            description: \"chr13:g.32921033G>C (hg19) in ClinGen\"\n\n  gene to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n      - WBVocab:Gene-Phenotype-Association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"gene in which variation is correlated with the phenotypic feature\"\n        examples:\n          - value: HGNC:2197\n            description: \"COL1A1 (Human)\"\n      object:\n        range: phenotypic feature\n\n  gene to disease association:\n    is_a: association\n    comments:\n      - NCIT:R176 refers to the inverse relationship\n    exact_mappings:\n      - SIO:000983\n    close_mappings:\n      - dcid:DiseaseGeneAssociation\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease,\n          may be protective or causative or associative, or as a model\n      object:\n        range: disease\n\n  druggable gene to disease association:\n    is_a: gene to disease association\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease\n          in a protective manner, or if the product produced by the gene can be targeted by a small molecule and\n          this leads to a protective or improving disease state.\n      predicate:\n        subproperty_of: target for\n      has evidence:\n        range: DruggableGeneCategoryEnum\n    defining_slots:\n      - subject\n      - object\n      - predicate\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n\n  variant to gene association:\n    description: >-\n      An association between a variant and a gene, where the variant has\n      a genetic association with the gene (i.e. is in linkage disequilibrium)\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - variant to entity association mixin\n    slot_usage:\n      object:\n        range: gene\n      predicate:\n        subproperty_of: genetic association\n\n  variant to gene expression association:\n    description: >-\n      An association between a variant and expression of a gene (i.e. e-QTL)\n    is_a: variant to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: affects\n\n  variant to population association:\n    description: >-\n      An association between a variant and a population, where the variant has\n      particular frequency in the population\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - frequency quantifier\n      - frequency qualifier mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          an allele that has a certain frequency in a given population\n        examples:\n          - value: \"NC_000017.11:g.43051071A>T\"\n            description: >-\n              17:41203088 A/C in gnomad\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that is observed to have the frequency\n        examples:\n          - value: HANCESTRO:0010\n            description: African\n      has quotient:\n        description: >-\n          frequency of allele in population, expressed as a number with allele\n          divided by number in reference population, aka allele frequency\n        examples:\n          - value: \"0.0001666\"\n      has count:\n        description: >-\n          number in object population that carry a particular allele, aka allele count\n        examples:\n          - value: \"4\"\n            description: 4 individuals in gnomad set\n      has total:\n        description: >-\n          number all populations that carry a particular allele, aka allele number\n        examples:\n          - value: \"24014\"\n            description: 24014 individuals in gnomad set\n\n  population to population association:\n    description: >-\n      An association between a two populations\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: population of individual organisms\n        description: >-\n          the population that form the subject of the association\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that form the object of the association\n      predicate:\n        # subproperty_of: ???\n        description: >-\n          A relationship type that holds between the subject and object\n          populations. Standard mereological relations can be used.\n          E.g. subject part-of object, subject overlaps object.\n          Derivation relationships can also be used\n\n  variant to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is\n          associated in some way with the phenotype state\n\n  variant to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a sequence variant in which the allele state\n          is associated in some way with the disease state\n        examples:\n          - value: CLINVAR:52241\n            description: \"NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)\"\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that variant\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  genotype to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - genotype to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a genotype that is associated in some way with a disease state\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that genotype\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  model to disease association mixin:\n    description: >-\n      This mixin is used for any association class for which the subject\n      (source node) plays the role of a 'model', in that it recapitulates some\n      features of the disease in a way that is useful for studying the disease\n      outside a patient carrying the disease\n    mixin: true\n    slot_usage:\n      subject:\n        description: >-\n          The entity that serves as the model of the disease. This may be\n          an organism, a strain of organism, a genotype or variant that exhibits\n          similar features, or a gene that when mutated exhibits features of the disease\n      predicate:\n        subproperty_of: model of\n        description: >-\n          The relationship to the disease\n\n  gene as a model of disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be a model\n          organism ortholog of a known disease gene, or it may be a gene whose\n          mutants recapitulate core features of the disease.\n\n  variant as a model of disease association:\n    is_a: variant to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          A variant that has a role in modeling the disease.\n\n  genotype as a model of disease association:\n    is_a: genotype to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: genotype\n        description: >-\n          A genotype that has a role in modeling the disease.\n\n  cell line as a model of disease association:\n    is_a: cell line to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: cell line\n        description: >-\n          A cell line derived from an organismal entity with a disease state that is used\n          as a model of that disease.\n\n  organismal entity as a model of disease association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: organismal entity\n        description: >-\n          A organismal entity (strain, breed) with a predisposition to a disease, or bred/created\n          specifically to model a disease.\n\n  organism to organism association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: individual organism\n      object:\n        range: individual organism\n        description: >-\n          An association between two individual organisms.\n\n  taxon to taxon association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n        description: >-\n          An association between individuals of different taxa.\n\n  gene has variant that contributes to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - subject form or variant qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be\n          a model organism ortholog of a known disease gene, or it may be\n          a gene whose mutants recapitulate core features of the disease.\n      object:\n        range: disease\n      predicate:\n        subproperty_of: contributes to\n\n  gene to expression site association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      An association between a gene and a gene expression site,\n      possibly qualified by stage/timing info.\n    notes:\n      - \"TBD: introduce subclasses for distinction between wild-type and experimental conditions?\"\n    see_also: \"https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee\"\n    slots:\n      - stage qualifier\n      - quantifier qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          Gene or gene product positively within the specified\n          anatomical entity (or subclass, i.e. cellular component) location.\n      object:\n        range: anatomical entity\n        description: \"location in which the gene is expressed\"\n        examples:\n          - value: UBERON:0002037\n            description: cerebellum\n      predicate:\n        description: \"expression relationship\"\n        subproperty_of: expressed in\n      stage qualifier:\n        range: life stage\n        description: \"stage at which the gene is expressed in the site\"\n        examples:\n          - value: UBERON:0000069\n            description: larval stage\n      quantifier qualifier:\n        description: >-\n          can be used to indicate magnitude, or also ranking\n\n  sequence variant modulates treatment association:\n    is_a: association\n    description: >-\n      An association between a sequence variant and a treatment or health intervention.\n      The treatment object itself encompasses both the disease and the drug used.\n    comments:\n      - An alternate way to model the same information could be via a qualifier\n    defining_slots:\n      - subject\n      - object\n    abstract: true\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: \"variant that modulates the treatment of some disease\"\n      object:\n        range: treatment\n        description: \"treatment whose efficacy is modulated by the subject variant\"\n\n  functional association:\n    is_a: association\n    description: >-\n      An association between a macromolecular machine mixin (gene, gene product or\n      complex of gene products) and either a molecular activity, a biological\n      process or a cellular location in which a function is executed.\n    slot_usage:\n      subject:\n        range: macromolecular machine mixin\n        description: >-\n          gene, product or macromolecular complex that\n          has the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n          - value: GO:0045211\n            description: postsynaptic membrane\n\n  macromolecular machine to entity association mixin:\n    description: >-\n      an association which has a macromolecular machine mixin as a subject\n    mixin: true\n    slot_usage:\n      subject:\n        domain: macromolecular machine mixin\n\n  macromolecular machine to molecular activity association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a molecular activity (as represented\n      in the GO molecular function branch), where the entity\n      carries out the activity, or contributes to its execution.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: molecular activity\n\n  macromolecular machine to biological process association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a biological process or pathway\n      (as represented in the GO biological process branch), where the entity\n      carries out some part of the process, regulates it, or acts upstream of it.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: biological process\n\n  macromolecular machine to cellular component association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a cellular component (as represented\n      in the GO cellular component branch), where the entity\n      carries out its function in the cellular component.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: cellular component\n\n  molecular activity to chemical entity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: chemical entity\n\n  molecular activity to molecular activity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: molecular activity\n\n\n  gene to go term association:\n    aliases: [ 'functional association' ]\n    is_a: functional association\n    exact_mappings:\n      - WBVocab:Gene-GO-Association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene\n        description: >-\n          gene, product or macromolecular complex that has\n          the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n\n  entity to disease association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  entity to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  ## -----------------\n  ## SEQUENCE FEATURES\n  ## -----------------\n\n  sequence association:\n    is_a: association\n    description: >-\n      An association between a sequence feature and a nucleic acid entity it is localized to.\n\n  genomic sequence localization:\n    is_a: sequence association\n    description: >-\n      A relationship between a sequence feature and a nucleic acid entity\n      it is localized to. The reference entity may be a chromosome,\n      chromosome region or information entity such as a contig.\n    slot_usage:\n      subject:\n        aliases: [ 'sequence feature' ]\n        range: nucleic acid entity\n      object:\n        aliases: [ 'reference' ]\n        range: nucleic acid entity # typically a chromosome use monochrom\n      predicate:\n        subproperty_of: has sequence location\n    slots:\n      - start interbase coordinate\n      - end interbase coordinate\n      - genome build\n      - strand\n      - phase\n    broad_mappings:\n      - dcid:Chromosome\n    exact_mappings:\n      - dcid:GenomeAnnotation\n\n  sequence feature relationship:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      For example, a particular exon is part of a particular transcript or gene\n    slot_usage:\n      subject:\n        range: nucleic acid entity\n      object:\n        range: nucleic acid entity # typically a chromosome\n    exact_mappings:\n      - CHADO:feature_relationship\n\n  transcript to gene relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is a collection of transcripts\n    slot_usage:\n      subject:\n        range: transcript\n      object:\n        range: gene\n\n  gene to gene product relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is transcribed and potentially translated to a gene product\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene product mixin\n      predicate:\n        subproperty_of: has gene product\n\n  exon to transcript relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A transcript is formed from multiple exons\n    slot_usage:\n      subject:\n        range: exon\n      object:\n        range: transcript\n\n  chemical entity or gene or gene product regulates gene association:\n    is_a: association\n    description: >-\n      A regulatory relationship between two genes\n    slots:\n      - object direction qualifier\n    slot_usage:\n      predicate:\n        description: >-\n          the direction is always from regulator to regulated\n        subproperty_of: regulates\n      subject:\n        range: chemical entity or gene or gene product\n        role: regulatory gene\n      object:\n        range: gene or gene product\n        role: regulated gene\n      object direction qualifier:\n        range: DirectionQualifierEnum\n\n  anatomical entity to anatomical entity association: # schema: gocam\n    is_a: association\n    abstract: true\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: anatomical entity\n      object:\n        range: anatomical entity\n\n  anatomical entity to anatomical entity part of association:\n    #      schema: gocam\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is mereological, i.e the two entities are related by parthood. This\n      includes relationships between cellular components and cells, between\n      cells and tissues, tissues and whole organisms\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the part\n      object:\n        range: anatomical entity\n        description: >-\n          the whole\n      predicate:\n        subproperty_of: part of\n\n  anatomical entity to anatomical entity ontogenic association:\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is ontogenic, i.e. the two entities are related by development. A number\n      of different relationship types can be used to specify the precise\n      nature of the relationship.\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the structure at a later time\n      object:\n        range: anatomical entity\n        description: >-\n          the structure at an earlier time\n      predicate:\n        subproperty_of: develops from\n\n  organism taxon to entity association:\n    mixin: true\n    description: >-\n      An association between an organism taxon and another entity\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: organism taxon\n        description: >-\n          organism taxon that is the subject of the association\n\n  organism taxon to organism taxon association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    description: >-\n      A relationship between two organism taxon nodes\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n\n  organism taxon to organism taxon specialization:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      A child-parent relationship between two taxa.\n      For example: Homo sapiens subclass_of Homo\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: child taxon\n        description: >-\n          the more specific taxon\n      object:\n        range: organism taxon\n        role: parent taxon\n        description: >-\n          the more general taxon\n      predicate:\n        subproperty_of: subclass of\n\n  organism taxon to organism taxon interaction:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      An interaction relationship between two taxa. This may be a symbiotic\n      relationship (encompassing mutualism and parasitism), or it may be non-symbiotic.\n      Example: plague transmitted_by flea; cattle domesticated_by Homo sapiens; plague infects Homo sapiens\n    defining_slots:\n      - predicate\n    slots:\n      - associated environmental context\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        range: organism taxon\n        role: interactee taxon\n        description: >-\n          the taxon that is the subject of the association\n      predicate:\n        subproperty_of: interacts with\n      associated environmental context:\n        description: >-\n          the environment in which the two taxa interact\n\n  organism taxon to environment association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        role: environmental context\n        description: >-\n          the environment in which the organism occurs\n      predicate:\n        description: >-\n          predicate describing the relationship between the taxon and the environment\n\nenums:\n\n  AnatomicalContextQualifierEnum:\n    reachable_from:\n      source_ontology: bioregistry:uberon\n      source_nodes:\n        - UBERON:0001062\n      is_direct: false\n      relationship_types:\n        - rdfs:subClassOf\n\n  DirectionQualifierEnum:\n    permissible_values:\n      increased:\n      upregulated:\n        is_a: increased\n        close_mappings:\n          - RO:0002336\n        exact_mappings:\n          - RO:0002213\n        narrow_mappings:\n          - RO:0004032\n          - RO:0004034\n          - RO:0002629\n      decreased:\n      downregulated:\n        is_a: decreased\n        exact_mappings:\n          - RO:0004035\n          - RO:0002212\n        close_mappings:\n          # This RTX contributed term is tagged as an inverse of this Biolink predicate\n          - RO:0002335\n        broad_mappings:\n          # This term is slightly broader in that it includes that A acts within B as well\n          - RO:0004033\n\n  ChemicalEntityDerivativeEnum:\n    permissible_values:\n      metabolite:\n\n  ChemicalOrGeneOrGeneProductFormOrVariantEnum:\n    permissible_values:\n      genetic_variant_form:\n        is_a: modified_form\n      modified_form:\n        is_a: genetic_variant_form\n      loss_of_function_variant_form:\n        is_a: genetic_variant_form\n      gain_of_function_variant_form:\n        is_a: genetic_variant_form\n      polymorphic_form:\n        is_a: genetic_variant_form\n      snp_form:\n        is_a: polymorphic_form\n      analog_form:\n        is_a: modified_form\n\n  GeneOrGeneProductOrChemicalPartQualifierEnum:\n    permissible_values:\n      3_prime_utr:\n      5_prime_utr:\n      polya_tail:\n      promoter:\n      enhancer:\n      exon:\n      intron:\n\n  GeneOrGeneProductOrChemicalEntityAspectEnum:\n    permissible_values:\n      activity_or_abundance:\n        description: >- \n          Used in cases where the specificity of the relationship can not be determined to be either activity \n          or abundance.  In general, a more specific value from this enumeration should be used.\n      abundance:\n        is_a: activity_or_abundance\n      activity:\n        is_a: activity_or_abundance\n      expression:\n        is_a: abundance\n      synthesis:\n        is_a: abundance\n      degradation:\n        is_a: abundance # negate the direction qualifier necessary.\n      cleavage:\n        is_a: degradation\n      hydrolysis:\n        is_a: degradation\n      metabolic_processing:\n      mutation_rate:\n      stability:\n      folding:\n      localization:\n      transport:\n      secretion:\n        is_a: transport\n      uptake:\n        is_a: transport\n      molecular_modification:\n      acetylation:\n        is_a: molecular_modification\n      acylation:\n        is_a: molecular_modification\n      alkylation:\n        is_a: molecular_modification\n      amination:\n        is_a: molecular_modification\n      carbamoylation:\n        is_a: molecular_modification\n      ethylation:\n        is_a: molecular_modification\n      glutathionylation:\n        is_a: molecular_modification\n      glycation:\n        is_a: molecular_modification\n      glycosylation:\n        is_a: molecular_modification\n      glucuronidation:\n        is_a: molecular_modification\n      n_linked_glycosylation:\n        is_a: molecular_modification\n      o_linked_glycosylation:\n        is_a: molecular_modification\n      hydroxylation:\n        is_a: molecular_modification\n      lipidation:\n        is_a: molecular_modification\n      farnesylation:\n        is_a: molecular_modification\n      geranoylation:\n        is_a: molecular_modification\n      myristoylation:\n        is_a: molecular_modification\n      palmitoylation:\n        is_a: molecular_modification\n      prenylation:\n        is_a: molecular_modification\n      methylation:\n        is_a: molecular_modification\n      nitrosation:\n        is_a: molecular_modification\n      nucleotidylation:\n        is_a: molecular_modification\n      phosphorylation:\n        is_a: molecular_modification\n      ribosylation:\n        is_a: molecular_modification\n      ADP-ribosylation:\n        is_a: molecular_modification\n      sulfation:\n        is_a: molecular_modification\n      sumoylation:\n        is_a: molecular_modification\n      ubiquitination:\n        is_a: molecular_modification\n      oxidation:\n        is_a: molecular_modification\n      reduction:\n        is_a: molecular_modification\n      carboxylation:\n        is_a: molecular_modification\n\n  CausalMechanismQualifierEnum:\n    permissible_values:\n      binding:\n        description: >-\n          A causal mechanism mediated by the direct contact between effector and target chemical or \n          biomolecular entity, which form a stable physical interaction.\n      inhibition:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to the target and negatively effects its normal function, \n          e.g. prevention of enzymatic reaction or activation of downstream pathway.\n        close_mappings:\n          - DGIdb:inhibitor\n          - SEMMEDDB:INHIBITS\n        narrow_mappings:\n          - DGIdb:blocker\n          - DGIdb:channel_blocker\n          - DGIdb:gating_inhibitor\n          - CHEMBL.MECHANISM:antisense_inhibitor\n          - CHEMBL.MECHANISM:blocker\n          - CHEMBL.MECHANISM:inhibitor\n          - CHEMBL.MECHANISM:negative_allosteric_modulator\n          - CHEMBL.MECHANISM:negative_modulator\n          - DGIdb:negative_modulator\n      antibody_inhibition:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which an antibody specifically binds to and interferes with the target.\n      antagonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a receptor and prevents activation by an agonist \n          through competing for the binding site.\n        close_mappings:\n          - DGIdb:antagonist\n          - CHEMBL.MECHANISM:antagonist\n        narrow_mappings:\n          - CHEMBL.MECHANISM:allosteric_antagonist\n      molecular_channel_blockage:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and prevents or reduces \n          transport of ions through it.\n      inverse_agonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to the same receptor-binding site as an agonist and antagonizes\n          its effects, often exerting the opposite effect of the agonist by suppressing spontaneous receptor signaling.\n        close_mappings:\n          - CHEMBL.MECHANISM:inverse_agonist\n          - DGIdb:inverse_agonist\n      negative_allosteric_modulation:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector reduces or prevents the action of the endogenous ligand of a \n          receptor by binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n        close_mappings:\n          - CHEMBL.MECHANISM:negative_allosteric_modulator\n          - DGIdb:inhibitory_allosteric_modulator\n        narrow_mappings:\n          - DGIdb:negative_modulator\n      agonism:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds and activates a receptor to mimic the effect of an \n          endogenous ligand.\n        close_mappings:\n          - CHEMBL.MECHANISM:agonist\n          - DGIdb:agonist\n        narrow_mappings:\n          - CHEMBL.MECHANISM:partial_agonist\n          - DGIdb:partial_agonist\n      molecular_channel_opening:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and facilitates transport of \n          ions through it.\n        close_mappings:\n          - CHEMBL.MECHANISM:opener\n      positive_allosteric_modulation:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector enhances the action of the endogenous ligand of a receptor by \n          binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n        close_mappings:\n          - CHEMBL.MECHANISM:positive_allosteric_modulator\n          - CHEMBL.MECHANISM:positive_modulator\n          - DGIdb:positive_allosteric_modulator\n        broad_mappings:\n          - DGIdb:modulator\n          - DGIdb:allosteric_modulator\n      potentiation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector  binds to and enhances or intensifies the effect of some \n          other chemical or drug on its target.\n        close_mappings:\n      activation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and positively affects the normal functioning of its target.\n        close_mappings:\n          - CHEMBL.MECHANISM:activator\n          - DGIdb:activator\n      inducer:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and increases the activity/rate of an enzyme that \n          processes drugs in the body.\n        close_mappings:\n          - DGIdb:inducer\n      transcriptional_regulation:\n        description: >-\n          A causal mechanism mediated by through the control of target gene transcription\n      signaling_mediated_control:\n        description: >-\n          A causal mechanism mediated by the activation or control of signaling events that influence the some aspect \n          of the target entity (e.g. its activity, processing, transport, etc)\n      stabilization:\n        is_a: activation\n        close_mappings:\n          - CHEMBL.MECHANISM:stabiliser\n      stimulation:\n        is_a: activation\n        close_mappings:\n          - DGIdb:stimulator\n          - SEMMEDDB:STIMULATES\n          - DGIdb:stimulator\n      releasing_activity:\n        is_a: activation\n        close_mappings:\n          - CHEMBL:MECHANISM:releasing_agent\n\n  LogicalInterpretationEnum:\n    permissible_values:\n      some_some:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as a some-some statement\n        meaning: os:SomeSomeInterpretation\n      all_some:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as an all-some statement.\n        meaning: os:AllSomeInterpretation\n      inverse_all_some:\n\n  ReactionDirectionEnum:\n    permissible_values:\n      left_to_right:\n      right_to_left:\n      bidirectional:\n      neutral:\n\n  ReactionSideEnum:\n    permissible_values:\n      left:\n      right:\n\n  PhaseEnum:\n    description: phase\n    permissible_values:\n      0:\n      1:\n      2:\n\n  StrandEnum:\n    description: strand\n    permissible_values:\n      \"+\":\n        description: Positive\n      \"-\":\n        description: Negative\n      \".\":\n        description: Unstranded\n      \"?\":\n        description: Unknown\n\n  SequenceEnum:\n    description: type of sequence\n    permissible_values:\n      \"na\":\n        description: nucleic acid\n      \"aa\":\n        description: amino acid\n\n  DruggableGeneCategoryEnum:\n    permissible_values:\n      \"tclin\":\n        description: >-\n          These targets have activities in DrugCentral (ie. approved drugs) with known mechanism of action.\n      \"tbio\":\n        description: >-\n          These targets have activities in ChEMBL, Guide to Pharmacology or DrugCentral that satisfy\n          the activity thresholds detailed below.\n      \"tchem\":\n        description: >-\n          These targets do not have known drug or small molecule activities that satisfy the activity\n          thresholds detailed below AND satisfy one or more of the following criteria:\n          target is above the cutoff criteria for Tdark\n          target is annotated with a Gene Ontology Molecular Function or Biological Process leaf term(s)\n          with an Experimental Evidence code\n      \"tdark\":\n        description: >-\n          These are targets about which virtually nothing is known. They do not have known drug or small\n          molecule activities that satisfy the activity thresholds detailed below AND satisfy two or\n          more of the following criteria:\n          A PubMed text-mining score from Jensen Lab less than 5, greater than or equal TO 3 Gene RIFs, or\n          less than or equal to 50 Antibodies available according to http://antibodypedia.com.\n\n  DrugAvailabilityEnum:\n    description: >-\n    permissible_values:\n      \"over_the_counter\":\n        description: >-\n          chemical entity is available over the counter without a prescription.\n      \"prescription\":\n        description:\n          chemical entity is available by prescription.\n\n  DrugDeliveryEnum:\n    permissible_values:\n      \"inhalation\":\n      \"oral\":\n      \"absorption_through_the_skin\":\n      \"intravenous_injection\":\n\n  FDAApprovalStatusEnum:\n    description: >-\n    permissible_values:\n      \"discovery_and_development_phase\":\n        description: >-\n          Discovery & Development Phase. Discovery involves researchers finding new possibilities\n          for medication through testing molecular compounds, noting unexpected effects from existing treatments,\n          or the creation of new technology that allows novel ways of targeting medical products to sites in the body.\n          Drug development occurs after researchers identify potential compounds for experiments.\n      \"preclinical_research_phase\":\n        description: >-\n          Preclinical Research Phase.  Once researchers have examined the possibilities a new drug may contain,\n          they must do preliminary research to determine its potential for harm (toxicity).\n          This is categorized as preclinical research and can be one of two types: in vitro or in vivo.\n      \"fda_clinical_research_phase\":\n        description: >-\n          Clinical Research Phase. Clinical research involves trials of the drug on people,\n          and it is one of the most involved stages in the drug development and approval process.\n          Clinical trials must answer specific questions and follow a protocol determined by\n          the drug researcher or manufacturer.\n      \"fda_review_phase_4\":\n        description: >-\n          FDA Review\n      \"fda_post_market_safety_review\":\n        description: >-\n          FDA Post-Market Safety Monitoring.  The last phase of drug approval is an ongoing one\n          while the drug is on the marketplace. If a developer wants to change anything about the\n          drug formulation or approve it for a new use, they must apply with the FDA. The FDA also\n          frequently reviews the drug’s advertising and its manufacturing facility to make sure\n          everything involved in its creation and marketing is in compliance with regulations.\n      \"fda_clinical_research_phase_1\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 1 involves 20 – 100 study participants and\n          lasts several months. This phase is used to determine the safety and dosage of the drug,\n          and about 70% of these drugs move on to the next clinical research phase.\n      \"fda_clinical_research_phase_2\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 2 involves up to several hundred people,\n          who must have the disease or condition the drug supposes to treat. This phase can last\n          from a few months to two years, and its purpose is to monitor the efficacy of the drug,\n          as well as note side effects that may occur.\n      \"fda_clinical_research_phase_3\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 3 involves 300 – 3000 volunteers\n          and can last up to four years. It is used to continue monitoring the efficacy of\n          the drug, as well as exploring any longer-term adverse reactions.\n      \"fda_clinical_research_phase_4\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 4 involves several thousands of\n          volunteers who have the disease or condition and continues to monitor safety and efficacy.\n          If a drug passes this phase, it goes on to FDA review.\n      \"fda_fast_track\":\n        description: >-\n          Fast track is a process designed to facilitate the development, and expedite the\n          review of drugs to treat serious conditions and fill an unmet medical need.\n          The purpose is to get important new drugs to the patient earlier. Fast Track\n          addresses a broad range of serious conditions. For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/fast-track\n      \"fda_breakthrough_therapy\":\n        description: >-\n          Breakthrough Therapy designation is a process designed to expedite the\n          development and review of drugs that are intended to treat a serious\n          condition and preliminary clinical evidence indicates that the drug may\n          demonstrate substantial improvement over available therapy on a clinically significant endpoint(s).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/breakthrough-therapy\n      \"fda_accelerated_approval\":\n        description: >-\n          When studying a new drug, it can sometimes take many years to learn whether a drug actually\n          provides a real effect on how a patient survives, feels, or functions. A positive therapeutic\n          effect that is clinically meaningful in the context of a given disease is known as “clinical benefit”.\n          Mindful of the fact that it may take an extended period of time to measure a drug’s intended clinical\n          benefit, in 1992 FDA instituted the Accelerated Approval regulations. These regulations allowed drugs\n          for serious conditions that filled an unmet medical need to be approved based on a surrogate endpoint.\n          Using a surrogate endpoint enabled the FDA to approve these drugs faster.\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/accelerated-approval\n      \"fda_priority_review\":\n        description: >-\n          Prior to approval, each drug marketed in the United States must go through a detailed FDA review process.\n          In 1992, under the Prescription Drug User Act (PDUFA), FDA agreed to specific goals for improving\n          the drug review time and created a two-tiered system of review times – Standard Review and Priority\n          Review. A Priority Review designation means FDA’s goal is to take action on an application\n          within 6 months (compared to 10 months under standard review).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/priority-review\n      \"regular_fda_approval\":\n        description: >-\n          Regular FDA Approval.  The last phase of drug approval is an ongoing one while the drug is on the marketplace.\n          If a developer wants to change anything about the drug formulation or approve it for a new use,\n          they must apply with the FDA. The FDA also frequently reviews the drug’s advertising and its\n          manufacturing facility to make sure everything involved in its creation and marketing is in compliance\n          with regulations.\n      \"post_approval_withdrawal\":\n\n  FDAIDAAdverseEventEnum:\n    description: >-\n      please consult with the FDA guidelines as proposed in this document:\n      https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/cfrsearch.cfm?fr=312.32\n    permissible_values:\n      \"life_threatening_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'life-threatening' if, in the view of either \n          the investigator or sponsor, its occurrence places the patient or subject at immediate risk of death. \n          It does not include an adverse event or suspected adverse reaction that, had it occurred in a more \n          severe form, might have caused death.\n      \"serious_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'serious' if, in the view of either the \n          investigator or sponsor, it results in any of the following outcomes: Death, a life-threatening adverse event,\n          inpatient hospitalization or prolongation of existing hospitalization, a persistent or significant incapacity \n          or substantial disruption of the ability to conduct normal life functions, or a congenital anomaly/birth \n          defect. Important medical events that may not result in death, be life-threatening, or require hospitalization\n          may be considered serious when, based upon appropriate medical judgment, they may jeopardize the patient or \n          subject and may require medical or surgical intervention to prevent one of the outcomes listed in this \n          definition. Examples of such medical events include allergic bronchospasm requiring intensive treatment \n          in an emergency room or at home, blood dyscrasias or convulsions that do not result in inpatient \n          hospitalization, or the development of drug dependency or drug abuse.\n      \"suspected_adverse_reaction\":\n         description: >-\n           means any adverse event for which there is a reasonable possibility that the drug caused the adverse event. \n           For the purposes of IND safety reporting, 'reasonable possibility' means there is evidence to suggest a \n           causal relationship between the drug and the adverse event. Suspected adverse reaction implies a lesser \n           degree of certainty about causality than adverse reaction, which means any adverse event caused by a drug.\n      \"unexpected_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'unexpected' if it is not listed in the \n          investigator brochure or is not listed at the specificity or severity that has been observed; or, if an \n          investigator brochure is not required or available, is not consistent with the risk information described \n          in the general investigational plan or elsewhere in the current application, as amended. For example, \n          under this definition, hepatic necrosis would be unexpected (by virtue of greater severity) if the \n          investigator brochure referred only to elevated hepatic enzymes or hepatitis. Similarly, cerebral \n          thromboembolism and cerebral vasculitis would be unexpected (by virtue of greater specificity) if the \n          investigator brochure listed only cerebral vascular accidents. 'Unexpected', as used in this definition, \n          also refers to adverse events or suspected adverse reactions that are mentioned in the investigator brochure\n          as occurring with a class of drugs or as anticipated from the pharmacological properties of the drug, but \n          are not specifically mentioned as occurring with the particular drug under investigation.\n"
  },
  {
    "path": "medikanren2/neo/neo-biolink/biolink_3_5_2/biolink-model.yaml",
    "content": "---\nid: https://w3id.org/biolink/biolink-model\nname: Biolink-Model\ndescription: Entity and association taxonomy and datamodel for life-sciences data\nlicense: https://creativecommons.org/publicdomain/zero/1.0/\n\n# Version should be kept in sync with primary Git repository release tag\n\nversion: 3.5.2\n\n\n## ------------\n##\n## PREFIXES\n## ------------\n# CURIE namespaces (prefixes/base URI's) mappings of prefixes used in the body of the Biolink Model specification\n# are resolved using a specific precedence order, for use in the generation of the Biolink Model context.jsonld\n# mappings to namespaces. Any prefixes encountered in the Biolink Model but not resolved by the following\n# precedence sources, are anonymously declared by linkml as http://example.org/UNKNOWN/ rooted base URI's\n# which should ideally be repaired in one of the precedence lists.\n#\n# 1. The following 'prefixes:' delimited list has first precedence in resolution.\n#\nprefixes:\n  AGRKB: 'https://www.alliancegenome.org/'\n  apollo: 'https://github.com/GMOD/Apollo'\n  AspGD: 'http://www.aspergillusgenome.org/cgi-bin/locus.pl?dbid='\n  biolink: 'https://w3id.org/biolink/vocab/'\n  bioschemas: 'https://bioschemas.org/'\n  linkml: 'https://w3id.org/linkml/'\n  CAID: 'http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid='\n   # Placeholder: just points to GMOD Chado wiki\n  CHADO: 'http://gmod.org/wiki/Chado/'\n   # Placeholders: not sure how 'chembio'and CHEMBL.MECHANISM really resolve\n  ChemBank: 'http://chembank.broadinstitute.org/chemistry/viewMolecule.htm?cbid='\n  CHEMBL.MECHANISM: 'https://www.ebi.ac.uk/chembl/mechanism/inspect/'\n  CID: 'http://pubchem.ncbi.nlm.nih.gov/compound/'\n  CLINVAR: 'http://identifiers.org/clinvar'\n  COAR_RESOURCE: 'http://purl.org/coar/resource_type/'\n  COG: 'https://www.ncbi.nlm.nih.gov/research/cog-project/'\n  ComplexPortal: 'https://www.ebi.ac.uk/complexportal/complex/'\n  CPT: 'https://www.ama-assn.org/practice-management/cpt/'\n  CTD.CHEMICAL: 'http://ctdbase.org/detail.go?type=chem&acc='\n  CTD.DISEASE: 'http://ctdbase.org/detail.go?type=disease&db=MESH&acc='\n  CTD.GENE: 'http://ctdbase.org/detail.go?type=gene&acc='\n  CTD: 'http://ctdbase.org/'\n  DGIdb: 'https://www.dgidb.org/interaction_types'\n  dcat: 'http://www.w3.org/ns/dcat#'\n  dct: 'http://purl.org/dc/terms/'\n  dcid: 'https://datacommons.org/browser/'\n  doi: 'https://doi.org/'\n  DOID-PROPERTY: 'http://purl.obolibrary.org/obo/doid#'\n  DrugCentral: 'http://drugcentral.org/drugcard/'\n  ECTO: 'http://purl.obolibrary.org/obo/ECTO_'\n  EDAM-DATA: 'http://edamontology.org/data_'\n  EDAM-FORMAT: 'http://edamontology.org/format_'\n  EDAM-OPERATION: 'http://edamontology.org/operation_'\n  EDAM-TOPIC: 'http://edamontology.org/topic_'\n  EFO: 'http://www.ebi.ac.uk/efo/EFO_'\n  ExO: 'http://purl.obolibrary.org/obo/ExO_'\n  fabio: 'http://purl.org/spar/fabio/'\n  foaf: 'http://xmlns.com/foaf/0.1/'\n  foodb.food: 'http://foodb.ca/compounds/'\n  foodb.compound: 'http://foodb.ca/foods/'\n  FYECO: 'https://www.pombase.org/term/'\n  FYPO: 'http://purl.obolibrary.org/obo/FYPO_'   # Fission Yeast Phenotype Ontology\n  gff3: 'https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md#'\n  GOREL: 'http://purl.obolibrary.org/obo/GOREL_'\n   # GOP: Gene Ontology Property (not really a GO term but an associated metadatum)\n  GOP: 'http://purl.obolibrary.org/obo/go#'\n  gpi: 'https://github.com/geneontology/go-annotation/blob/master/specs/gpad-gpi-2-0.md#'\n  GSID: 'https://scholar.google.com/citations?user='\n  GTEx: 'https://www.gtexportal.org/home/gene/'\n  GTOPDB: 'https://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId='\n  gtpo: 'https://rdf.guidetopharmacology.org/ns/gtpo#'\n  HANCESTRO: 'http://www.ebi.ac.uk/ancestro/ancestro_'\n  HCPCS: 'http://purl.bioontology.org/ontology/HCPCS/'\n  HsapDv: 'http://purl.obolibrary.org/obo/HsapDv_'\n  ICD10: 'https://icd.codes/icd9cm/'\n  ICD9: 'http://translator.ncats.nih.gov/ICD9_'\n  interpro: 'https://www.ebi.ac.uk/interpro/entry/'\n  INO: 'http://purl.obolibrary.org/obo/INO_'\n  isbn: 'https://www.isbn-international.org/identifier/'  # note: a resolvable base URI not available from isbn-international\n  isni: 'https://isni.org/isni/'\n  issn: 'https://portal.issn.org/resource/ISSN/'\n  ncats.drug: 'https://drugs.ncats.io/drug/'\n  KEGG.BRITE: 'https://bioregistry.io/kegg.brite:'\n  KEGG: 'http://www.kegg.jp/entry/'\n  KEGG.GENES: 'https://bioregistry.io/kegg.genes:bsu:'\n  KEGG.PATHWAY: 'https://bioregistry.io/kegg.pathway:'\n  KEGG.RCLASS: 'https://www.genome.jp/dbget-bin/www_bget?rc:'\n  LOINC: 'http://loinc.org/rdf/'\n  MAXO: 'http://purl.obolibrary.org/obo/MAXO_'\n  medgen: 'https://www.ncbi.nlm.nih.gov/medgen/'\n  metacyc.reaction: 'http://identifiers.org/metacyc.reaction:'\n  METANETX.REACTION: 'https://www.metanetx.org/equa_info/'\n  MESH: 'http://id.nlm.nih.gov/mesh/'\n  MI: 'http://purl.obolibrary.org/obo/MI_'\n  mirbase: 'http://identifiers.org/mirbase'\n  mmmp.biomaps: 'https://bioregistry.io/mmmp.biomaps:'\n  MmusDv: 'http://purl.obolibrary.org/obo/MMUSDV_'\n  MSigDB: 'https://www.gsea-msigdb.org/gsea/msigdb/'\n  NBO-PROPERTY: 'http://purl.obolibrary.org/obo/nbo#'\n  ncats.bioplanet: 'https://tripod.nih.gov/bioplanet/detail.jsp?pid='\n  NCBIGene: 'http://identifiers.org/ncbigene/'\n  NCIT-OBO: 'http://purl.obolibrary.org/obo/ncit#'\n  NDDF: 'http://purl.bioontology.org/ontology/NDDF/'\n  NLMID: 'https://www.ncbi.nlm.nih.gov/nlmcatalog/?term='\n  OBAN: 'http://purl.org/oban/'\n  OMIM.PS: 'https://www.omim.org/phenotypicSeries/'\n  ORCID: 'https://orcid.org/'\n  orphanet: 'http://www.orpha.net/ORDO/Orphanet_'\n  os: 'https://github.com/cmungall/owlstar/blob/master/owlstar.ttl'\n  PANTHER.FAMILY: 'http://www.pantherdb.org/panther/family.do?clsAccession='\n  PathWhiz: 'http://smpdb.ca/pathways/#'   #  See also https://smpdb.ca/pathwhiz/\n  pav: 'http://purl.org/pav/'\n  PHARMGKB.CHEMICAL: 'https://www.pharmgkb.org/chemical/'\n  PHARMGKB.DISEASE: 'https://www.pharmgkb.org/disease/'\n  PHARMGKB.GENE: 'https://www.pharmgkb.org/gene/'\n  PHARMGKB.PATHWAYS: 'https://www.pharmgkb.org/pathway/'\n  PHARMGKB.VARIANT: 'https://www.pharmgkb.org/variant/'\n  PHAROS: 'http://pharos.nih.gov'\n  PomBase: 'https://www.pombase.org/gene/'\n  prov: 'http://www.w3.org/ns/prov#'\n  qud: 'http://qudt.org/1.1/schema/qudt#'\n  REPODB: 'http://apps.chiragjpgroup.org/repoDB/'\n  ResearchID: 'https://publons.com/researcher/'\n  RO: 'http://purl.obolibrary.org/obo/RO_'\n  RXNORM: 'http://purl.bioontology.org/ontology/RXNORM/'\n  RXCUI: 'https://mor.nlm.nih.gov/RxNav/search?searchBy=RXCUI&searchTerm='\n  schema: 'http://schema.org/'\n  ScopusID: 'https://www.scopus.com/authid/detail.uri?authorId='\n  SEED.REACTION: 'https://modelseed.org/biochem/reactions/'\n  SEMMEDDB: 'https://skr3.nlm.nih.gov/SemMedDB'\n  SIO: 'http://semanticscience.org/resource/SIO_'\n  SNOMEDCT: 'http://snomed.info/id/'\n  SPDI: 'https://api.ncbi.nlm.nih.gov/variation/v0/spdi/'\n  UBERGRAPH: 'http://translator.renci.org/ubergraph-axioms.ofn#'\n  UBERON_CORE: 'http://purl.obolibrary.org/obo/uberon/core#'\n  UBERON_NONAMESPACE: 'http://purl.obolibrary.org/obo/core#'\n  STY: 'http://purl.bioontology.org/ontology/STY/'\n  UMLSSG: 'https://lhncbc.nlm.nih.gov/semanticnetwork/download/sg_archive/SemGroups-v04.txt'\n  UniProtKB: 'http://purl.uniprot.org/uniprot/'\n  UNIPROT.ISOFORM: 'http://purl.uniprot.org/isoforms/'\n  VANDF: 'https://www.nlm.nih.gov/research/umls/sourcereleasedocs/current/VANDF/'\n  UO-PROPERTY: 'http://purl.obolibrary.org/obo/uo#'\n  VMC: 'https://github.com/ga4gh/vr-spec/'\n  WBls: 'http://purl.obolibrary.org/obo/WBls_'\n  WBbt: 'http://purl.obolibrary.org/obo/WBbt_'\n  WBVocab: 'http://bio2rdf.org/wormbase_vocabulary'\n  WIKIDATA: 'https://www.wikidata.org/entity/'             #  Wikidata Entity\n  WIKIDATA_PROPERTY: 'https://www.wikidata.org/prop/'\n  wgs: 'http://www.w3.org/2003/01/geo/wgs84_pos'\n  XPO: 'http://purl.obolibrary.org/obo/XPO_'   #  Xenopus Phenotype Ontology\n  Xenbase: 'http://www.xenbase.org/gene/showgene.do?method=display&geneId='\n  PMC: 'http://europepmc.org/articles/PMC'\n\ndefault_prefix: biolink\ndefault_range: string\n\ndefault_curi_maps:\n  - obo_context\n  - idot_context\n  - monarch_context\n  - semweb_context\n\nemit_prefixes:\n  - rdf\n  - rdfs\n  - xsd\n  - skos\n  - oboInOwl\n  - BIOGRID\n  - SO\n\n## ------------\n## SUBSETS\n## ------------\n\n\nsubsets:\n\n  model_organism_database:\n    description: >-\n      Subset that is relevant for a typical Model Organism Database (MOD)\n\n  translator_minimal:\n    description: >-\n      Minimum subset of translator work\n\n  samples:\n    description: >-\n      Sample/biosample datamodel\n\n  testing:\n    description: >-\n      TBD\n\n\n## ------------\n## TYPES\n## ------------\n\nimports:\n  - linkml:types\n\ntypes:\n\n  chemical formula value:\n    uri: xsd:string\n    base: str\n    description: A chemical formula\n    notes:\n      - Should be implemented as a stronger type\n\n  category type:\n    typeof: uriorcurie\n    description: >-\n      A primitive type in which the value denotes a class within the biolink model.\n      The value must be a URI or a CURIE. In a Neo4j representation, the value should\n      be the CURIE for the biolink class, for example biolink:Gene. For an RDF representation,\n      the value should be a URI such as https://w3id.org/biolink/vocab/Gene\n\n  iri type:\n    typeof: uriorcurie\n    description: >-\n      An IRI\n\n  label type:\n    typeof: string\n    description: >-\n      A string that provides a human-readable name for an entity\n\n  predicate type:\n    typeof: uriorcurie\n    description: >-\n      A CURIE from the biolink related_to hierarchy.\n      For example, biolink:related_to, biolink:causes, biolink:treats.\n\n  narrative text:\n    typeof: string\n    description: >-\n      A string that provides a human-readable description of something\n\n  symbol type:\n    typeof: string\n\n  frequency value:\n    typeof: string\n    uri: UO:0000105\n\n  percentage frequency value:\n    typeof: double\n    uri: UO:0000187\n\n  quotient:\n    aliases: ['ratio']\n    typeof: double\n    uri: UO:0010006\n\n  unit:\n    typeof: string\n    uri: UO:0000000\n    id_prefixes:\n      - UO\n    exact_mappings:\n      - qud:Unit\n\n  time type:\n    typeof: time\n\n  biological sequence:\n    typeof: string\n\n## ------------\n## SLOTS\n## ------------\n\nslots:\n\n  has attribute:\n    description: >-\n      connects any entity to an attribute\n    domain: entity\n    range: attribute\n    multivalued: true\n    in_subset:\n      - samples\n    close_mappings:\n       # RTX term meaning 'specifies value of' tagged as inverse of 'biolink:has attribute'\n      - OBI:0001927\n    exact_mappings:\n      - SIO:000008\n    narrow_mappings:\n       # if 'has attribute' annotates a NamedThing as subject or\n       # object of an association, these OBAN mappings may apply\n      - OBAN:association_has_subject_property\n      - OBAN:association_has_object_property\n      - CPT:has_possibly_included_panel_element\n      - DRUGBANK:category\n       # RTX contributed terms. Could perhaps review for more semantically precise mappings?\n      - EFO:is_executed_in\n      - HANCESTRO:0301\n      - LOINC:has_action_guidance\n      - LOINC:has_adjustment\n      - LOINC:has_aggregation_view\n      - LOINC:has_approach_guidance\n      - LOINC:has_divisor\n      - LOINC:has_exam\n      - LOINC:has_method\n      - LOINC:has_modality_subtype\n      - LOINC:has_object_guidance\n      - LOINC:has_scale\n      - LOINC:has_suffix\n      - LOINC:has_time_aspect\n      - LOINC:has_time_modifier\n      - LOINC:has_timing_of\n       # disease is stage\n      - NCIT:R88\n      - NCIT:eo_disease_has_property_or_attribute\n      - NCIT:has_data_element\n      - NCIT:has_pharmaceutical_administration_method\n      - NCIT:has_pharmaceutical_basic_dose_form\n      - NCIT:has_pharmaceutical_intended_site\n      - NCIT:has_pharmaceutical_release_characteristics\n      - NCIT:has_pharmaceutical_state_of_matter\n      - NCIT:has_pharmaceutical_transformation\n      - NCIT:is_qualified_by\n      - NCIT:qualifier_applies_to\n      - NCIT:role_has_domain\n      - NCIT:role_has_range\n      - INO:0000154\n      - HANCESTRO:0308\n      - OMIM:has_inheritance_type\n      - orphanet:C016\n      - orphanet:C017\n      - RO:0000053\n       # RTX tagged a few RO terms as 'biolink:related_to' but semantics suggest a better mapping here\n      - RO:0000086\n      - RO:0000087\n      - SNOMED:has_access\n      - SNOMED:has_clinical_course\n      - SNOMED:has_count_of_base_of_active_ingredient\n      - SNOMED:has_dose_form_administration_method\n      - SNOMED:has_dose_form_release_characteristic\n      - SNOMED:has_dose_form_transformation\n      - SNOMED:has_finding_context\n      - SNOMED:has_finding_informer\n      - SNOMED:has_inherent_attribute\n      - SNOMED:has_intent\n      - SNOMED:has_interpretation\n      - SNOMED:has_laterality\n      - SNOMED:has_measurement_method\n      - SNOMED:has_method\n      - SNOMED:has_priority\n      - SNOMED:has_procedure_context\n      - SNOMED:has_process_duration\n      - SNOMED:has_property\n      - SNOMED:has_revision_status\n      - SNOMED:has_scale_type\n      - SNOMED:has_severity\n      - SNOMED:has_specimen\n      - SNOMED:has_state_of_matter\n      - SNOMED:has_subject_relationship_context\n      - SNOMED:has_surgical_approach\n      - SNOMED:has_technique\n      - SNOMED:has_temporal_context\n      - SNOMED:has_time_aspect\n      - SNOMED:has_units\n      - UMLS:has_structural_class\n      - UMLS:has_supported_concept_property\n      - UMLS:has_supported_concept_relationship\n      - UMLS:may_be_qualified_by\n\n  has attribute type:\n    description: >-\n      connects an attribute to a class that describes it\n    domain: attribute\n    range: ontology class\n    multivalued: false\n    required: true\n    in_subset:\n      - samples\n    narrow_mappings:\n      - LOINC:has_modality_type\n      - LOINC:has_view_type\n\n   # TRAPI Attribute schema alignment:\n   # value: NamedThing.name\n   # value_type: NamedThing.category\n   # value_type_name: quantity_value.NamedThing.name\n  has qualitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: named thing\n    multivalued: false\n    in_subset:\n      - samples\n\n   # TRAPI Attribute schema alignment:\n   # value: quantity_value.has_numeric_value[double] - may be a vector?\n   # value_type: quantity_value.has_unit.unit.uri\n   # value_type_name: quantity_value.has_unit.unit.name[string]\n  has quantitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: quantity value\n    multivalued: true\n    exact_mappings:\n      - qud:quantityValue\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_numerator_value\n      - SNOMED:has_presentation_strength_denominator_value\n      - SNOMED:has_presentation_strength_numerator_value\n    in_subset:\n      - samples\n\n  has numeric value:\n    description: >-\n      connects a quantity value to a number\n    domain: quantity value\n    range: double\n    multivalued: false\n    exact_mappings:\n      - qud:quantityValue\n    in_subset:\n      - samples\n\n  has unit:\n    description: >-\n      connects a quantity value to a unit\n    domain: quantity value\n    range: unit\n    multivalued: false\n    close_mappings:\n       # These RTX contributed terms mean \"is unit of\" which is the semantic inverse of this biolink:has_unit term\n      - EFO:0001697\n      - UO-PROPERTY:is_unit_of\n    exact_mappings:\n      - qud:unit\n      - IAO:0000039\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_denominator_unit\n      - SNOMED:has_concentration_strength_numerator_unit\n      - SNOMED:has_presentation_strength_denominator_unit\n      - SNOMED:has_presentation_strength_numerator_unit\n      - SNOMED:has_unit_of_presentation\n    in_subset:\n      - samples\n\n  base coordinate:\n    is_a: sequence localization attribute\n    aliases: ['one-based', 'fully-closed']\n    description: >-\n      A position in the base coordinate system.  Base coordinates start at position 1 instead of position 0.\n    range: integer\n\n   ## --------------------\n   ## NODE PROPERTY SLOTS\n   ## --------------------\n\n  node property:\n    description: >-\n      A grouping for any property that holds between a node and a value\n    domain: named thing\n\n  id:\n    identifier: true\n    domain: entity\n    description: >-\n      A unique identifier for an entity.\n      Must be either a CURIE shorthand for a URI or a complete URI\n    in_subset:\n      - translator_minimal\n    required: true\n    exact_mappings:\n      - AGRKB:primaryId\n      - gff3:ID\n      - gpi:DB_Object_ID\n\n  iri:\n    description: >-\n      An IRI for an entity. This is determined by the id using expansion rules.\n    range: iri type\n    in_subset:\n      - translator_minimal\n      - samples\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P854\n\n  type:\n    slot_uri: rdf:type\n    domain: entity\n    exact_mappings:\n      - AGRKB:soTermId\n      - gff3:type\n      - gpi:DB_Object_Type\n    multivalued: true\n\n  category:\n    is_a: type\n    domain: entity\n    range: category type\n    designates_type: true\n    description: >-\n      Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the\n      biolink entity type class.\n       * In a neo4j database this MAY correspond to the neo4j label tag.\n       * In an RDF database it should be a biolink model class URI.\n      This field is multi-valued. It should include values for ancestors of the biolink class; for example,\n      a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`, ...\n\n      In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink\n      class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f`\n      may have a rdf:type assertion to a SO class such as TF_binding_site,\n      which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity,\n      biolink:MolecularEntity, biolink:NamedThing}\n    is_class_field: true\n    multivalued: true\n    in_subset:\n      - translator_minimal\n\n  publication type:\n    slot_uri: dct:type\n    description: >-\n      Ontology term for publication type may be drawn from\n      Dublin Core types (https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/),\n      FRBR-aligned Bibliographic Ontology (https://sparontologies.github.io/fabio/current/fabio.html),\n      the MESH publication types (https://www.nlm.nih.gov/mesh/pubtypes.html),\n      the Confederation of Open Access Repositories (COAR) Controlled Vocabulary for Resource Type Genres\n      (http://vocabularies.coar-repositories.org/documentation/resource_types/),\n      Wikidata (https://www.wikidata.org/wiki/Wikidata:Publication_types), or\n      equivalent publication type ontology. When a given publication type ontology term\n      is used within a given knowledge graph, then the CURIE identified term must be\n      documented in the graph as a concept node of biolink:category biolink:OntologyClass.\n    values_from:  # Not sure which takes precedence, if any...\n      - dctypes\n      - fabio\n      - MESH_PUB\n      - COAR_RESOURCE\n      - WIKIDATA\n    multivalued: true\n\n  name:\n    aliases: ['label', 'display name', 'title']\n    description: >-\n      A human-readable name for an attribute or entity.\n    domain: entity\n    range: label type\n    in_subset:\n      - translator_minimal\n      - samples\n    slot_uri: rdfs:label\n    exact_mappings:\n      - gff3:Name\n      - gpi:DB_Object_Name\n    narrow_mappings:\n      - dct:title\n      - WIKIDATA_PROPERTY:P1476\n\n  stoichiometry:\n    description: >-\n      the relationship between the relative quantities of substances taking part in a reaction or\n      forming a compound, typically a ratio of whole integers.\n    is_a: association slot\n    range: integer\n\n  reaction direction:\n    description: >-\n      the direction of a reaction as constrained by the direction enum (ie: left_to_right, neutral, etc.)\n    is_a: association slot\n    range: ReactionDirectionEnum\n    narrow_mappings:\n      - NCIT:C42677\n\n  reaction balanced:\n    is_a: association slot\n    range: boolean\n\n  reaction side:\n    description: >-\n      the side of a reaction being modeled (ie: left or right)\n    is_a: association slot\n    range: ReactionSideEnum\n\n  symbol:\n    is_a: node property\n    domain: named thing\n    description: >-\n      Symbol for a particular thing\n    exact_mappings:\n      - AGRKB:symbol\n      - gpi:DB_Object_Symbol\n\n  synonym:\n    is_a: node property\n    aliases: ['alias']\n    domain: named thing\n    range: label type\n    description: >-\n      Alternate human-readable names for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n       # there is an interesting debate here: are these terms \"narrower\" a.k.a. more specialized instances of\n       # 'biolink:synonym' or should they be binned into their respective namesake class of mappings?\n       # namely, is 'oboInOwl:hasExactSynonym' an instance 'exact_mappings', etc.\n      - skos:altLabel\n      - gff3:Alias\n      - AGRKB:synonyms\n      - gpi:DB_Object_Synonyms\n       # TODO: RTX contributed terms mapped here... May need review?\n      - HANCESTRO:0330\n      - IAO:0000136\n      - RXNORM:has_tradename\n\n  exact synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasExactSynonym\n\n  broad synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasBroadSynonym\n\n  narrow synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasNarrowSynonym\n\n  related synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasRelatedSynonym\n\n  has topic:\n    aliases: ['topic', 'descriptors']\n    is_a: node property\n    range: ontology class\n    exact_mappings:\n      - foaf:topic\n    description: >-\n      Connects a node to a vocabulary term or ontology class that describes some aspect of the entity. In general specific characterization is preferred.\n      See https://github.com/biolink/biolink-model/issues/238\n\n  xref:\n    aliases: ['dbxref', 'Dbxref', 'DbXref', 'record_url', 'source_record_urls']\n    domain: named thing\n    range: uriorcurie\n    description: >-\n      A database cross reference or alternative identifier for a NamedThing or edge between two \n      NamedThings.  This property should point to a database record or webpage that supports the existence of the edge, or \n      gives more detail about the edge. This property can be used on a node or edge to provide multiple\n      URIs or CURIE cross references.\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - gff3:Dbxref\n      - gpi:DB_Xrefs\n\n  support graphs:\n    description: >-\n      A list of knowledge graphs that support the existence of this node.\n    multivalued: true\n    in_subset:\n      - translator_minimal\n  \n  resource id:\n    is_a: node property\n    description: >-\n      The CURIE for an Information Resource that served as a source\n      of knowledge expressed in an Edge, or a source of data used to\n      generate this knowledge.\n    domain: retrieval source\n    range: uriorcurie\n    in_subset:\n      - translator_minimal\n  \n  resource role:\n    is_a: node property\n    description: >-\n      The role played by the InformationResource in serving as a\n      source for an Edge. Note that a given Edge should have one\n      and only one 'primary' source, and may have any number of\n      'aggregator' or 'supporting data' sources.\n    domain: retrieval source\n    range: ResourceRoleEnum\n    in_subset:\n      - translator_minimal\n\n  retrieval source ids:\n    description: >-\n        A list of retrieval sources that served as a source of knowledge\n        expressed in an Edge, or a source of data used to generate this\n        knowledge.\n    multivalued: true\n    range: retrieval source\n    in_subset:\n      - translator_minimal\n\n  full name:\n    is_a: node property\n    domain: named thing\n    range: label type\n    description: >-\n      a long-form human readable name for a thing\n\n  upstream resource ids:\n    is_a: node property\n    description: >-\n      An upstream InformationResource from which the resource\n      being described directly retrieved a record of the knowledge\n      expressed in the Edge, or data used to generate this knowledge.\n      This is an array because there are cases where a merged Edge\n      holds knowledge that was retrieved from multiple sources. e.g.\n      an Edge provided by the ARAGORN ARA can expressing knowledge it\n      retrieved from both the automat-mychem-info and molepro KPs,\n      which both provided it with records of this single fact.\n    domain: retrieval source\n    range: uriorcurie\n\n  description:\n    aliases: ['definition']\n    range: narrative text\n    description: >-\n      a human-readable description of an entity\n    in_subset:\n      - translator_minimal\n    slot_uri: dct:description\n    exact_mappings:\n      - IAO:0000115\n      - skos:definitions\n    narrow_mappings:\n      - gff3:Description\n\n  systematic synonym:\n    is_a: node property\n    domain: named thing\n    range: label type\n    multivalued: true\n    slot_uri: GOP:systematic_synonym\n    description: >-\n      more commonly used for gene symbols in yeast\n\n  affiliation:\n    is_a: node property\n    description: >-\n      a professional relationship between one provider (often a person) within another provider (often an organization).\n      Target provider identity should be specified by a CURIE. Providers may have multiple affiliations.\n    domain: agent\n    range: uriorcurie\n    multivalued: true\n\n  address:\n    is_a: node property\n    description: >-\n      the particulars of the place where someone or an organization is situated.  For now, this slot is a\n      simple text \"blob\" containing all relevant details of the given location for fitness of purpose.\n      For the moment, this \"address\" can include other contact details such as email and phone number(?).\n\n   ## Space\n\n  latitude:\n    is_a: node property\n    range: float\n    description: >-\n      latitude\n    exact_mappings:\n      - wgs:lat\n\n  longitude:\n    is_a: node property\n    range: float\n    description: >-\n      longitude\n    exact_mappings:\n      - wgs:long\n\n   ## Time\n\n  timepoint:\n    aliases: ['duration']\n    range: time type\n    description: >-\n      a point in time\n\n  creation date:\n    is_a: node property\n    aliases: ['publication date']\n    range: date\n    description: >-\n      date on which an entity was created. This can be applied to nodes or edges\n    exact_mappings:\n      - dct:createdOn\n      - WIKIDATA_PROPERTY:P577\n\n  update date:\n    is_a: node property\n    range: date\n    description: >-\n      date on which an entity was updated. This can be applied to nodes or edges\n\n   ## Statistics\n\n  aggregate statistic:\n    is_a: node property\n    abstract: true\n\n  has count:\n    description: >-\n      number of things with a particular property\n    is_a: aggregate statistic\n    range: integer\n    exact_mappings:\n      - LOINC:has_count\n\n  has total:\n    description: >-\n      total number of things in a particular reference set\n    is_a: aggregate statistic\n    range: integer\n\n  has quotient:\n    is_a: aggregate statistic\n    range: double\n\n  has percentage:\n    description: >-\n      equivalent to has quotient multiplied by 100\n    is_a: aggregate statistic\n    range: double\n\n   ## Properties for Information Content Entity and Publication Nodes\n\n  has taxonomic rank:\n    is_a: node property\n    range: taxonomic rank\n    multivalued: false\n    mappings:\n      - WIKIDATA:P105\n\n  has dataset:\n    is_a: node property\n    domain: dataset version\n    range: dataset\n    broad_mappings:\n      - dct:source\n\n  source web page:\n    is_a: node property\n    domain: dataset summary\n    broad_mappings:\n      - dct:source\n\n  source logo:\n    is_a: node property\n    domain: dataset summary\n    slot_uri: schema:logo\n\n  retrieved on:\n    is_a: node property\n    domain: dataset\n    range: date\n    exact_mappings:\n      - pav:retrievedOn\n\n  version of:\n    is_a: node property\n    domain: dataset version\n    range: dataset summary\n    exact_mappings:\n      - dct:isVersionOf\n\n  version:\n    is_a: node property\n    domain: dataset\n    broad_mappings:\n      - pav:version\n      - owl:versionInfo\n\n  license:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:license\n    narrow_mappings:\n      - WIKIDATA_PROPERTY:P275\n\n  rights:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:rights\n\n  format:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:format\n      - WIKIDATA_PROPERTY:P2701\n\n  created with:\n    is_a: node property\n    domain: dataset\n    exact_mappings:\n      - pav:createdWith\n\n  download url:\n    is_a: node property\n    domain: information content entity\n    slot_uri: dcat:downloadURL\n\n  dataset download url:\n    is_a: node property\n    domain: dataset\n    slot_uri: dcat:downloadURL\n\n  distribution download url:\n    is_a: node property\n    domain: dataset distribution\n    exact_mappings:\n      - dcat:downloadURL\n\n  ingest date:\n    is_a: node property\n    domain: dataset version\n    broad_mappings:\n      - dct:issued\n\n  has distribution:\n    is_a: node property\n    domain: dataset version\n    range: dataset distribution\n    slot_uri: dct:distribution\n\n  published in:\n    is_a: node property\n    description: >-\n      CURIE identifier of a broader publication context within which the publication may be placed,\n      e.g. a specified book or journal.\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - NLMID\n      - issn\n      - isbn\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1433\n\n  iso abbreviation:\n    is_a: node property\n    description: >-\n      Standard abbreviation for periodicals in the International Organization for Standardization (ISO) 4 system\n      See https://www.issn.org/services/online-services/access-to-the-ltwa/. If the 'published in' property is set,\n      then the iso abbreviation pertains to the broader publication context (the journal) within which the given\n      publication node is embedded, not the publication itself.\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1160\n\n  authors:\n    is_a: node property\n    description: >-\n      connects an publication to the list of authors who contributed to the publication.\n      This property should be a comma-delimited list of author names. It is recommended that an author's name\n      be formatted as \"surname, firstname initial.\".   Note that this property is a node annotation expressing\n      the citation list of authorship which might typically otherwise be more completely documented in\n      biolink:PublicationToProviderAssociation defined edges which point to full details about an author\n      and possibly, some qualifiers which clarify the specific status of a given author in the publication.\n    multivalued: true\n    domain: publication\n    range: agent\n\n  volume:\n    is_a: node property\n    description: >-\n      volume of a book or music release in a collection/series or a published collection of journal issues in a serial publication\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P478\n\n  chapter:\n    is_a: node property\n    description: >-\n      chapter of a book\n    domain: book chapter\n    exact_mappings:\n      - WIKIDATA:Q1980247\n\n  issue:\n    is_a: node property\n    description: >-\n      issue of a newspaper, a scientific journal or magazine for reference purpose\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P433\n\n  pages:\n    is_a: node property\n    description: >-\n      page number of source referenced for statement or publication\n    domain: publication\n    multivalued: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P304\n\n  summary:\n    is_a: node property\n     # since 'abstract' is a linkML keyword denoting a non-instantiable class or slot,\n     # it is generally recommended that knowledge graphs use 'summary' instead to tag a Publication 'abstract'\n    aliases: ['abstract']\n    description: >-\n      executive  summary of a publication\n    domain: publication\n    exact_mappings:\n      - dct:abstract\n      - WIKIDATA:Q333291\n\n  keywords:\n    is_a: node property\n    description: >-\n      keywords tagging a publication\n    domain: publication\n    multivalued: true\n\n  mesh terms:\n    is_a: node property\n    description: >-\n      mesh terms tagging a publication\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - MESH\n    multivalued: true\n    exact_mappings:\n      - dcid:MeSHTerm\n\n   ## Biology\n\n  has biological sequence:\n    is_a: node property\n    description: >-\n      connects a genomic feature to its sequence\n    range: biological sequence\n\n  has gene or gene product:\n    is_a: node property\n    description: >-\n      connects an entity with one or more gene or gene products\n    range: gene\n    multivalued: true\n\n  has gene:\n    is_a: has gene or gene product\n    description: >-\n      connects an entity associated with one or more genes\n    range: gene\n    multivalued: true\n\n  has zygosity:\n    is_a: node property\n    domain: nucleic acid entity\n    range: zygosity\n\n   ## Chemistry, drugs and food\n\n  has chemical formula:\n    is_a: node property\n    range: chemical formula value\n    description: >-\n      description of chemical compound based on element symbols\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P274\n\n  is metabolite:\n    is_a: node property\n    domain: molecular entity\n    range: boolean\n    description: >-\n      indicates whether a molecular entity is a metabolite\n    exact_mappings:\n      - CHEBI:25212\n\n  has constituent:\n    description: >-\n      one or more molecular entities within a chemical mixture\n    is_a: node property\n    range: molecular entity\n    multivalued: true\n\n  has drug:\n    is_a: node property\n    description: >-\n      connects an entity to one or more drugs\n    range: drug\n    multivalued: true\n\n  has device:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) devices\n    range: device\n    multivalued: true\n\n  has procedure:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) procedures\n    range: procedure\n    multivalued: true\n\n   ## Clinical exposures\n\n  has receptor:\n    is_a: node property\n    domain: exposure event\n    range: organismal entity\n    description: >-\n      the organism or organism part being exposed\n    exact_mappings:\n      - ExO:0000001\n\n  has stressor:\n    is_a: node property\n    domain: exposure event\n    aliases: ['has stimulus']\n    description: >-\n      the process or entity that the receptor is being exposed to\n    exact_mappings:\n      - ExO:0000000\n\n  has route:\n    is_a: node property\n    domain: exposure event\n    description: >-\n      the process that results in the stressor coming into direct contact with the receptor\n    exact_mappings:\n      - ExO:0000055\n    narrow_mappings:\n      - LOINC:has_pharmaceutical_route\n      - SNOMED:has_dose_form_intended_site\n      - SNOMED:has_route_of_administration\n\n\n  population context qualifier:\n    description: >-\n      a biological population (general, study, cohort, etc.) with a specific\n      set of characteristics to constrain an association.\n    is_a: qualifier\n    range: population of individual organisms\n\n  temporal context qualifier:\n    description: >-\n      a constraint of time placed upon the truth value of an association.\n      for time intervales, use temporal interval qualifier.\n    is_a: qualifier\n    range: time type\n\n  temporal interval qualifier:\n    is_a: temporal context qualifier\n    description: >-\n      a constraint of a time interval placed upon the truth value of an\n      association.\n\n  is supplement:\n    description: >-\n    is_a: node property\n    range: chemical mixture\n\n  trade name:\n    description: >-\n    is_a: node property\n    range: chemical entity\n\n  available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: DrugAvailabilityEnum\n\n  is toxic:\n    description: >-\n    is_a: node property\n    multivalued: false\n    range: boolean\n\n  has chemical role:\n    is_a: related to at concept level\n    description: >-\n      A role is particular behaviour which a chemical entity may exhibit.\n    range: chemical role\n    multivalued: true\n    id_prefixes:\n      - CHEBI\n    comments: >-\n      We expect primarily to use CHEBI chemical roles here; however, we are looking for a mapping between\n      CHEBI And ATC codes to support this slot.\n\n  max tolerated dose:\n    description: >-\n      The highest dose of a drug or treatment that does not cause unacceptable side effects.\n      The maximum tolerated dose is determined in clinical trials by testing increasing doses\n      on different groups of people until the highest dose with acceptable side effects is\n      found. Also called MTD.\n    is_a: node property\n    multivalued: false\n    range: string\n\n  animal model available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: disease or phenotypic feature\n\n  FDA adverse event level:\n    description: >-\n    is_a: association slot\n    range: FDAIDAAdverseEventEnum\n\n  highest FDA approval status:\n    description: >-\n      Should be the highest level of FDA approval this chemical entity or device has, regardless of which\n      disease, condition or phenotype it is currently being reviewed to treat.  For specific levels of FDA\n      approval for a specific condition, disease, phenotype, etc., see the association slot, 'FDA approval status.'\n\n  drug regulatory status world wide:\n    aliases: ['max phase']\n    description: >-\n      An agglomeration of drug regulatory status worldwide. Not specific to FDA.\n    exact_mappings:\n      - NCIT:C172573\n    narrow_mappings:\n      - NCIT:R172\n      - NCIT:regimen_has_accepted_use_for_disease\n       # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n\n  routes of delivery:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    multivalued: true\n    range: DrugDeliveryEnum\n\n   ## -------------------\n   ## QUALIFIERS\n   ## -------------------\n\n  form or variant qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object concept to define a specific type, variant,\n      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.\n      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept\n      ‘a mutation of Gene X’.\n    examples:\n      - value: mutation\n      - value: late stage\n      - value: severe\n      - value: transplant\n      - value: chemical analog\n    notes: >-\n      please see the ChemicalOrGeneOrGeneProductFormOrVariantEnum (below) for examples of 'form or variant qualifier'\n      terms in the gene->chemical association space. \n      the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept ‘Mutated forms of Gene X’.\n      the qualifier ‘late stage’ combines with a core concept of ‘Disease X’ to express the  more specific concept ‘Late Stage forms of Disease X’\n      the qualifier ‘recombinant’ combines with a core concept of ‘FLT1 Gene’ to express the composed concept ‘Recombinant forms of the FLT1 gene’\n      the qualifier ‘chemical analog’ combines with a core concept of ‘Ditiocarb’ to express the composed concept ‘analog forms of Ditiocarb’\n    in_subset:\n      - translator_minimal\n\n  aspect qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which\n      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that\n      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an \n      'affects' association.\n    examples:\n      - value: stability\n      - value: abundance\n      - value: expression\n      - value: exposure\n    notes: >-\n      for good examples of aspects in the gene-> chemical space, please see the \n      GeneOrGeneProductOrChemicalEntityAspectEnum (below) which lists many aspects that can be used to qualify \n      the gene making the full subject a different ontological type.  \n      the qualifier ‘expression’ combines with a core concept of ‘Gene X’ to express the composed concept ‘expression of Gene X’ (Gene → Biological Process)\n      the qualifier ‘exposure’ combines with a core concept of ‘Chemical X’ to express the composed concept ‘exposure to Chemical X’ (Chemical → Exposure Process)\n      the qualifier ‘activity’ combines with a core concept of ‘PPARG’ to express the concept ‘activity of PPARG’ (Gene → function/activity)\n      the qualifier ‘emergency Department Visit’ combines with a core concept of ‘Disease X’ to express the concept ‘Emergency Department visits for Disease X’ (Disease → Clinical Event)\n      the qualifier ‘infection’ combines with a core concept of ‘Giardia’ to express the concept ‘Infection with Giardia’ (Taxon → Biological / Pathological Process)\n      the qualifier ‘severity’ combines with a core concept of ‘DILI’ to express the concept ‘the severity level of DILI’ (Disease → (intrinsic) Characteristic/Quality)\n      the qualifier ‘abundance’ combines with a core concept of ‘BRCA2’ to express the concept ‘abundance of BRCA2’ (Gene → (extrinsic) characteristic/quality)\n    in_subset:\n      - translator_minimal\n\n  derivative qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object  concept to describe something that is derived from the\n      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express\n      the composed concept ‘a metabolite of Chemical X’.\n    examples:\n      - value: metabolite\n    in_subset:\n      - translator_minimal\n\n  part qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can\n      use to directly represent it, e.g. 'ESR1 transcript' q: polyA tail).\n    examples:\n      - value: polyA tail\n      - value: upstream control region\n    in_subset:\n      - translator_minimal\n\n  context qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      Restricts the setting/context/location where the core concept (or qualified core concept) resides or occurs.\n    examples:\n      - value: cohort x (e.g. a specific population, referenced by an identifier)\n      - value: gut microbiome  # OHMI:0000020\n    in_subset:\n      - translator_minimal\n\n  direction qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.\n    notes: >-\n      the qualifier ‘increased’ combines with a core concept of ‘Gene X’ and an aspect of ‘expression’ to express the composed concept ‘increased expression of Gene X’   \n      the qualifier ‘decreased’ combines with a core concept of ‘Protein X’ and an aspect of ‘abundance’ to express the composed concept ‘decreased abundance of Protein X’\n    in_subset:\n      - translator_minimal\n\n  mapped predicate:\n    description: >-\n      The predicate that is being replaced by the fully qualified representation of predicate + subject and object \n      qualifiers.  Only to be used in test data and mapping data to help with the transition to the fully qualified\n      predicate model. Not to be used in knowledge graphs.\n\n  predicate mappings:\n    description: >- \n      A collection of relationships that are not used in biolink, but have biolink patterns that can \n      be used to replace them.  This is a temporary slot to help with the transition to the fully qualified predicate\n      model in Biolink3.\n    multivalued: true\n    range: predicate mapping\n    inlined_as_list: true\n\n  exact matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      an identical meaning. Such terms often describe the same concept from\n      different ontological perspectives.\n    multivalued: true\n\n  narrow matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      a narrower meaning. Such terms often describe a more specific concept\n      from different ontological perspectives.\n    multivalued: true\n\n  broad matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      a broader meaning. Such terms often describe a more general concept\n      from different ontological perspectives.\n    multivalued: true\n\n  subject aspect qualifier:\n    is_a: aspect qualifier\n    in_subset:\n      - translator_minimal\n\n  subject form or variant qualifier:\n    is_a: form or variant qualifier\n    in_subset:\n      - translator_minimal\n\n  subject part qualifier:\n    is_a: part qualifier\n    in_subset:\n      - translator_minimal\n\n  subject derivative qualifier:\n    is_a: derivative qualifier\n    in_subset:\n      - translator_minimal\n\n  subject context qualifier:\n    is_a: context qualifier\n    in_subset:\n      - translator_minimal\n\n  subject direction qualifier:\n    is_a: direction qualifier\n    range: DirectionQualifierEnum\n    in_subset:\n      - translator_minimal\n\n  object aspect qualifier:\n    is_a: aspect qualifier\n    in_subset:\n      - translator_minimal\n\n  object form or variant qualifier:\n    is_a: form or variant qualifier\n    in_subset:\n      - translator_minimal\n\n  object part qualifier:\n    is_a: part qualifier\n    in_subset:\n      - translator_minimal\n\n  object derivative qualifier:\n    is_a: derivative qualifier\n    in_subset:\n      - translator_minimal\n\n  object context qualifier:\n    is_a: context qualifier\n    in_subset:\n      - translator_minimal\n\n  object direction qualifier:\n    is_a: direction qualifier\n    range: DirectionQualifierEnum\n    in_subset:\n      - translator_minimal\n\n  qualified predicate:\n    is_a: qualifier\n    description: >-\n      Predicate to be used in an association when subject and object qualifiers are present and the full\n      reading of the statement requires a qualification to the predicate in use in order to refine or \n      increase the specificity of the full statement reading.  This qualifier holds a relationship to be used instead of that \n      expressed by the primary predicate, in a ‘full statement’ reading of the association, where qualifier-based \n      semantics are included.  This is necessary only in cases where the primary predicate does not work in a \n      full statement reading.\n    notes: >-\n      to express the statement that “Chemical X causes increased expression of Gene Y”, the core triple is read \n      using the fields subject:ChemX, predicate:affects, object:GeneY . . . and the full statement is read using \n      the fields subject:ChemX, qualified_predicate:causes, object:GeneY, object_aspect: expression, \n      object_direction:increased. The predicate ‘affects’ is needed for the core triple reading, but does not make \n      sense in the full statement reading  (because “Chemical X affects increased expression of Gene Y'' is not \n      what we mean to say here: it causes increased expression of Gene Y)\n\n  qualifier:\n    is_a: association slot\n    description: >- \n      grouping slot for all qualifiers on an edge.  useful for testing compliance with association classes\n    in_subset:\n      - translator_minimal\n\n  statement qualifier:\n    is_a: qualifier\n    description: >-\n    in_subset:\n      - translator_minimal\n\n  causal mechanism qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a type of molecular control mechanism through which an\n      effect of a chemical on a gene or gene product is mediated (e.g. 'agonism', 'inhibition',\n      'allosteric modulation', 'channel blocker')\n    range: CausalMechanismQualifierEnum\n    in_subset:\n      - translator_minimal\n\n  anatomical context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing an anatomical location where an relationship expressed in an\n      association took place (can be a tissue, cell type, or sub-cellular location).\n    notes: >-\n      Anatomical context values can be any term from UBERON. For example, the context qualifier ‘cerebral cortext’ \n      combines with a core concept of ‘neuron’ \n      to express the composed concept ‘neuron in the cerebral cortext’. The species_context_qualifier applies \n      taxonomic context, e.g. species-specific molecular activity.  Ontology CURIEs are expected as values \n      here, the examples below are intended to help clarify the content of the CURIEs.\n    examples:\n      - value: blood  # UBERON:0000178\n      - value: cerebral cortext  # UBERON:0000956\n    in_subset:\n      - translator_minimal\n\n  species context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a taxonomic category of species in which a relationship\n      expressed in an association took place.\n    range: organism taxon\n    examples:\n      - value: zebrafish  # NCBITaxon:7955\n      - value: human  # NCBITaxon:9606\n    notes: >- \n      Ontology CURIEs are expected as values\n      here, the examples below are intended to help clarify the content of the CURIEs.\n    in_subset:\n      - translator_minimal\n\n  qualifiers:\n    deprecated: true\n    description: >-\n      connects an association to qualifiers that modify or\n      qualify the meaning of that association\n    local_names:\n      ga4gh: annotation qualifier\n    is_a: association slot\n    multivalued: true\n    range: ontology class\n\n  frequency qualifier:\n    is_a: qualifier\n    description: >-\n      a qualifier used in a phenotypic association to state how frequent the phenotype is observed in the subject\n    range: frequency value\n    in_subset:\n      - translator_minimal\n\n  severity qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      how severe the phenotype is in the subject\n    is_a: qualifier\n    range: severity value\n    in_subset:\n      - translator_minimal\n\n  sex qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state whether\n      the association is specific to a particular sex.\n    is_a: qualifier\n    range: biological sex\n    in_subset:\n      - translator_minimal\n\n  onset qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      when the phenotype appears is in the subject\n    is_a: qualifier\n    range: onset\n    in_subset:\n      - translator_minimal\n\n  clinical modifier qualifier:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    is_a: association slot\n    range: clinical modifier\n\n  sequence variant qualifier:\n    description: >-\n      a qualifier used in an association with the variant\n    is_a: association slot\n    range: sequence variant\n\n  quantifier qualifier:\n    is_a: association slot\n    range: ontology class\n    description: >-\n      A measurable quantity for the object of the association\n    narrow_mappings:\n       # TODO: RTX contributed terms mapped here... May need review?\n      - LOINC:analyzes\n      - LOINC:measured_by\n      - LOINC:property_of\n      - SEMMEDDB:MEASURES\n      - UMLS:measures\n\n  catalyst qualifier:\n    is_a: association slot\n    multivalued: true\n    range: macromolecular machine mixin\n    description: >-\n      a qualifier that connects an association between two causally connected\n      entities (for example, two chemical entities, or a chemical entity in\n      that changes location) and the gene product, gene, or complex that\n      enables or catalyzes the change.\n\n  stage qualifier:\n    description: >-\n      stage during which gene or protein expression of takes place.\n    is_a: association slot\n    range: life stage\n     # path: \"object/during\"\n    examples:\n      - value: UBERON:0000069\n        description: larval stage\n    in_subset:\n      - translator_minimal\n\n   ## --------------------\n   ## PREDICATES/RELATIONS\n   ## --------------------\n\n  related to:\n    description: >-\n      A relationship that is asserted between two named things\n    domain: named thing\n    range: named thing\n    multivalued: true\n    inherited: true\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:relatedMatch\n      - UMLS:related_to\n      - SEMMEDDB:ASSOCIATED_WITH\n      - SEMMEDDB:ADMINISTERED_TO\n    broad_mappings:\n      - owl:topObjectProperty\n    narrow_mappings:\n      - SEMMEDDB:compared_with\n      - SEMMEDDB:higher_than\n      - SEMMEDDB:lower_than\n      - BFO:0000054\n      - UBERON_CORE:protects\n      - GOREL:0002005\n      - GOREL:0012006\n       # several of the following terms mapped here by RTX could merit upgrade to new Biolink terms\n      - BTO:related_to\n      - CHEBI:is_conjugate_acid_of\n      - CHEBI:is_conjugate_base_of\n      - CPT:has_add_on_code\n      - CPT:mapped_to\n      - EFO:0006351\n      - FMA:connected_to\n      - FMA:continuous_with\n      - FMA:homonym_of\n      - FMA:related_developmental_entity_of\n      - RO:0002093\n      - RO:0002092\n      - RO:0002084\n      - HCPCS:mapped_to\n       # RTX contributed terms, perhaps belong somewhere else with more precise semantics?\n      - HMDB:disease\n      - HMDB:has_protein_association\n      - IAO:0000136\n      - LOINC:has_answer\n      - LOINC:has_challenge\n      - LOINC:has_evaluation\n      - LOINC:mapped_to\n      - LOINC:mth_has_expanded_form\n      - MESH:RO\n      - MESH:has_mapping_qualifier\n      - MESH:mapped_to\n      - MONDO:disease_shares_features_of\n      - NCIT:disease_may_have_associated_disease\n      - NCIT:human_disease_maps_to_eo_disease\n      - NCIT:is_abnormal_cell_of_disease\n      - NCIT:is_related_to_endogenous_product\n      - UBERON_NONAMESPACE:connected_to\n      - UBERON_NONAMESPACE:innervated_by\n      - NBO-PROPERTY:is_about\n      - RO:0000053  # bearer_of\n      - PATO:reciprocal_of\n      - RO:0000052\n      - RO:0002001\n      - RO:0002002\n      - RO:0002003\n      - RO:0002008\n      - RO:0002134\n      - RO:0002150\n      - RO:0002159\n      - RO:0002176\n      - RO:0002177\n      - RO:0002178\n      - RO:0002179\n      - RO:0002314\n      - RO:0002322\n       # functionally related to\n      - RO:0002328\n      - RO:0002332\n      - RO:0002338\n      - RO:0002339\n      - RO:0002341\n      - RO:0002342\n      - RO:0002344\n      - RO:0002348\n      - RO:0002349\n      - RO:0002356\n      - RO:0002371\n      - RO:0002372\n      - RO:0002373\n      - RO:0002374\n      - RO:0002385\n      - RO:0002387\n      - RO:0002451\n      - RO:0002494\n      - RO:0002495\n      - RO:0002568\n      - RO:0002573\n      - RO:0004026\n      - RO:0004027\n      - RO:0009001\n      - RO:0009004\n      - RXNORM:has_form\n      - RXNORM:reformulated_to\n      - SNOMED:has_associated_morphology\n      - SNOMED:has_associated_procedure\n      - SNOMED:has_direct_morphology\n      - SNOMED:has_disposition\n      - SNOMED:has_indirect_morphology\n      - SNOMED:has_modification\n      - SNOMED:has_procedure_morphology\n      - SNOMED:has_specimen_source_morphology\n      - SNOMED:inheres_in\n      - SNOMED:is_interpreted_by\n      - SNOMED:relative_to_part_of\n      - UBERON:synapsed_by\n      - UMLS:RO\n      - UMLS:RQ\n      - UMLS:class_code_classified_by\n      - UMLS:exhibited_by\n      - UMLS:has_context_binding\n      - UMLS:has_form\n      - UMLS:has_mapping_qualifier\n      - UMLS:larger_than\n      - UMLS:mapped_to\n      - UMLS:owning_section_of\n\n  related to at concept level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between terminology components that describe the conceptual model of a domain.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  related to at instance level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between two instances of a data classes.  Much like an assertion component,\n      in an ABox, these represent facts associated with the conceptual model.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  associated with:\n    is_a: related to at instance level\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      (though not in all cases), and is weaker than its child, 'correlated with', but stronger than its parent,\n      'related to'. This relationship holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated.  E.g. the statement “Atrial Fibrillation (Afib) is associated with Myocardial \n      Infraction (MI)” asserts that having Afib is not statistically independent from whether a patient \n      will also have MI. Note that in Translator associations, the subject and object concepts may map exactly to \n      the statistical variables, or represent related entities for which the variables serve as proxies in an \n      Association (e.g. diseases, chemical entities or processes).\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    domain: named thing\n    range: named thing\n    narrow_mappings:\n      - RO:0004029\n      - SNOMEDCT:47429007\n\n  superclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a super class of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q66088480\n      - CHEMBL.MECHANISM:superset_of\n      - GO:inverse_isa\n      - RXNORM:inverse_isa\n      - MESH:inverse_isa\n      - VANDF:inverse_isa\n    narrow_mappings:\n      - NCIT:cdrh_parent_of\n      - NCIT:ctcae_5_parent_of\n      - NCIT:subset_includes_concept\n      - OMIM:has_manifestation\n      - SNOMED:has_basic_dose_form\n      - UMLS:RB\n\n  subclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a specialization of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # RTX\n      - LOINC:class_of\n      - LOINC:has_class\n    exact_mappings:\n      - rdfs:subClassOf\n      - SEMMEDDB:ISA\n      - WIKIDATA_PROPERTY:P279\n      - CHEMBL.MECHANISM:subset_of\n      - GO:isa\n      - MESH:isa\n      - RXNORM:isa\n      - VANDF:isa\n    narrow_mappings:\n      - CHEBI:has_parent_hydride\n      - LOINC:has_archetype\n      - LOINC:has_parent_group\n      - LOINC:is_presence_guidance_for\n      - NCIT:gene_product_has_chemical_classification\n       # RTX mapped terms classes for biomarkers\n      - NCIT:R36\n      - NCIT:R42\n      - NCIT:A16\n      - NCIT:A11\n      - NCIT:A14\n      - NCIT:A3\n      - NDDF:has_dose_form\n      - RXNORM:has_dose_form\n      - RXNORM:has_doseformgroup\n      - SNOMED:entire_anatomy_structure_of\n      - SNOMED:has_dose_form\n       # RTX mapping\n      - rdfs:subPropertyOf\n\n  same as:\n    is_a: exact match\n    description: >-\n      holds between two entities that are considered equivalent to each other\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # identical class extension with identical sets of individuals\n      - owl:equivalentClass\n    exact_mappings:\n       # identical individual, or identical class concept/meaning\n      - owl:sameAs\n      - skos:exactMatch\n       # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n       # RTX suggests mapping this to proposed new \"biolink:close_match\" predicate instead\n       # - SEMMEDDB:same_as\n      - WIKIDATA_PROPERTY:P2888\n      - CHEMBL.MECHANISM:equivalent_to\n      - MONDO:equivalentTo\n    narrow_mappings:\n      - DRUGBANK:external-identifier\n\n  close match:\n    is_a: related to at concept level\n    description: >-\n      a list of terms from different schemas or terminology systems that have\n      a semantically similar but not strictly equivalent, broader, or narrower\n      meaning. Such terms often describe the same general concept from\n      different ontological perspectives (e.g. drug as a type of chemical\n      entity versus drug as a type of role borne by a chemical entity).\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:closeMatch\n       # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      - SEMMEDDB:same_as\n    narrow_mappings:\n      - CHEBI:is_enantiomer_of\n      - CHEBI:is_tautomer_of\n      - MEDDRA:classified_as\n      - oboInOwl:hasDbXref\n      - RXNORM:has_quantified_form\n      - UMLS:SY\n\n  exact match:\n    is_a: close match\n    description: >-\n      holds between two entities that have strictly equivalent\n      meanings, with a high degree of confidence\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:exactMatch\n      - WIKIDATA:Q39893449\n      - WIKIDATA:P2888\n\n  broad match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a broader, more general meaning. Broader terms are\n      typically shown as parents in a hierarchy or tree.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: narrow match\n    exact_mappings:\n      - skos:broadMatch\n      - WIKIDATA:Q39894595\n\n  narrow match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a narrower, more specific meaning. Narrower terms are\n      typically shown as children in a hierarchy or tree.\n    is_a: related to at concept level\n    inverse: broad match\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - skos:narrowMatch\n      - WIKIDATA:Q39893967\n    annotations:\n      opposite_of: broad match\n\n  member of:\n    description: >-\n      Defines a mereological relation between a item and a collection.\n    is_a: related to at concept level\n    inverse: has member\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002350\n    close_mappings:\n      - skos:member\n\n  has member:\n    description: >-\n      Defines a mereological relation between a collection and an item.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002351\n      - skos:member\n\n  opposite of:\n    description: >-\n      x is the opposite of y if there exists some distance metric M, and there exists\n      no z such as M(x,z) <= M(x,y) or M(y,z) <= M(y,x). (This description is from RO. Needs to be rephrased).\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002604\n    see_also:\n      - https://doi.org/10.1101/108977\n      - https://github.com/biolink/biolink-model/issues/657\n\n\n  associated with likelihood of:\n    is_a: associated with\n    description: >-\n      A a relationship that holds between two concepts represented by variables for which a statistical \n      dependence is demonstrated, wherein the state or value of one variable predicts the future state \n      or value of the other.  E.g. the statement “An Atrial Fibrillation (Afib) diagnosis is associated \n      with likelihood of a Myocardial Infraction (MI) diagnosis” asserts that the state of having Afib \n      is associated with an increased or decreased likelihood that a patient will later exhibit MI.\n    annotations:\n      canonical_predicate: true\n\n  likelihood associated with:\n    is_a: associated with\n    description: >-\n    inverse: associated with likelihood of\n\n  associated with increased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is more probable.\n    annotations:\n      canonical_predicate: true\n\n  increased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with increased likelihood of\n\n  associated with decreased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is less probable.\n    annotations:\n      canonical_predicate: true\n\n  decreased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with decreased likelihood of\n\n  target for:\n    is_a: related to at instance level\n    description: >-\n      A gene is a target of a disease when its products are druggable and when a drug interaction with the gene\n      product could have a therapeutic effect\n    annotations:\n      canonical_predicate: true\n    domain: gene\n    range: disease\n\n  has target:\n    is_a: related to at instance level\n    inverse: target for\n    domain: disease\n    range: gene\n\n  active in:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: cellular component\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002432\n\n  has active component:\n    is_a: related to at instance level\n    inverse: active in\n    domain: cellular component\n    range: gene or gene product\n\n  acts upstream of:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002263\n\n  has upstream actor:\n    is_a: related to at instance level\n    inverse: acts upstream of\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004034\n\n  has positive upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004035\n\n  has negative upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of negative effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002264\n\n  has upstream or within actor:\n    is_a: has upstream actor\n    inverse: acts upstream of or within\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within positive effect:\n    is_a: acts upstream of or within\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004032\n\n  has positive upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within negative effect:\n    is_a: acts upstream of or within\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004033\n\n  has negative upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within negative effect\n    domain: biological process\n    range: gene or gene product\n\n     ## Publication related predicates\n  mentions:\n    description: >-\n      refers to is a relation between one information content entity and the named thing\n      that it makes reference to.\n    is_a: related to at instance level\n    exact_mappings:\n      - IAO:0000142\n    narrow_mappings:\n      - SIO:000628\n\n  mentioned by:\n    description: >-\n      refers to is a relation between one named thing and the information content entity\n      that it makes reference to.\n    is_a: related to at instance level\n    inverse: mentions\n\n   ## Publication related predicates\n\n  contributor:\n    is_a: related to at instance level\n    domain: agent\n    range: information content entity\n    comments:\n      - This is a grouping for predicates relating entities to their associated contributors realizing them\n    abstract: true\n    exact_mappings:\n      - dct:contributor\n\n  has contributor:\n    inverse: contributor\n    is_a: related to at instance level\n    domain: information content entity\n    range: agent\n\n  provider:\n    is_a: contributor\n    description: >-\n      person, group, organization or project that provides a piece of information (e.g. a knowledge association).\n\n  has provider:\n    inverse: provider\n    is_a: has contributor\n    domain: information content entity\n    range: agent\n\n  publisher:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      organization or person responsible for publishing books, periodicals, podcasts, games or software.\n      Note that in the case of publications which have a containing \"published in\" node property, the publisher\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the publisher agent of the encompassing publication\n      (e.g. only from the Journal referenced by the 'published_in' property of an journal article Publication node).\n    exact_mappings:\n      - dct:publisher\n      - WIKIDATA_PROPERTY:P123\n\n  has publisher:\n    is_a: has contributor\n    inverse: publisher\n    domain: publication\n    range: agent\n\n  editor:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      editor of a compiled work such as a book or a periodical (newspaper or an academic journal).\n      Note that in the case of publications which have a containing \"published in\" node property, the editor\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the editorial agent of the encompassing publication\n      (e.g. only from the Book referenced by the 'published_in' property of a book chapter Publication node).\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P98\n\n  has editor:\n    inverse: editor\n    is_a: has contributor\n    domain: publication\n    range: agent\n\n  author:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      an instance of one (co-)creator primarily responsible for a written work\n    exact_mappings:\n      - dct:creator\n      - WIKIDATA_PROPERTY:P50\n\n  has author:\n    inverse: author\n    is_a: has contributor\n    domain: publication\n    range: agent\n\n   ## end of Publication related predicates\n\n  assesses:\n    is_a: related to at instance level\n    aliases: ['was assayed against']\n    description: >-\n      The effect of a thing on a target was interrogated in some assay.\n      A relationship between some perturbing agent (usually a chemical compound) and some target entity,\n      where the affect of the perturbing agent on the target entity was interrogated in a particular assay.\n      The target might be a particular protein, tissue, phenotype, whole organism, cell line, or other type\n      of biological entity.\n    domain: named thing\n    range: named thing\n    annotations:\n      canonical_predicate: true\n\n  is assessed by:\n    is_a: related to at instance level\n    inverse: assesses\n    domain: named thing\n    range: named thing\n\n  interacts with:\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between any two entities that directly or indirectly interact with each other\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    mixin: true\n    exact_mappings:\n      - SEMMEDDB:INTERACTS_WITH\n    notes: >-\n      please use a more specific child predicate of interacts with, either physically interacts with\n      or genetically interacts with. \n\n  physically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two entities that make physical contact as part of some interaction. \n      does not imply a causal relationship.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - WIKIDATA_PROPERTY:P129\n    close_mappings:\n      - CHEMBL.MECHANISM:binding_agent\n      - CHEMBL.MECHANISM:chelating_agent\n      - CHEMBL.MECHANISM:cross-linking_agent\n      - CHEMBL.MECHANISM:oxidative_enzyme\n      - CHEMBL.MECHANISM:sequestering_agent\n      - CHEMBL.MECHANISM:substrate\n      - DRUGBANK:target\n    narrow_mappings:\n       # Defined more narrowly as \"substance interaction\", thus specific applies to a subclass entities\n      - DRUGBANK:drug-interaction\n      - FMA:adheres_to\n      - NCIT:A7\n      - PR:non-covalently_bound_to\n    mixins:\n      - interacts with\n\n  directly physically interacts with:\n    is_a: physically interacts with\n    description: >-\n      A causal mechanism mediated by a direct contact between the effector and target entities (this contact may \n      be weak or strong, transient or stable).\n    symmetric: true\n    exact_mappings:\n      - RO:0002436\n    broad_mappings:\n       # Definition of this term is more generic than direct physical molecular interactions:\n       # A is connected to B iff there exists a fiat, material or temporal path between A and B.\n      - SIO:000203\n      - RO:0002578\n    narrow_mappings:\n      - PHAROS:drug_targets\n      - DRUGBANK:chelator\n      - CTD:affects_binding\n      - DGIdb:cofactor\n    annotations:\n      canonical_predicate: true\n\n  binds:\n    deprecated: true\n    is_a: directly physically interacts with\n    description: >-\n      A causal mechanism mediated by the direct contact between effector and target chemical or biomolecular entity, \n      which form a stable physical interaction.\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - DGIdb:binder\n\n  indirectly physically interacts with:\n    is_a: physically interacts with\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  genetically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two genes whose phenotypic effects are dependent on each\n      other in some way - such that their combined phenotypic effects are the\n      result of some interaction between the activity of their gene products.\n      Examples include epistasis and synthetic lethality.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    exact_mappings:\n      - RO:0002435\n      \n  gene_fusion_with:\n    is_a: genetically interacts with\n    description: >-\n      holds between two independent genes that have fused through \n      translocation, interstitial deletion, or chromosomal inversion to \n      form a new, hybrid gene. Fusion genes are often implicated in various neoplasms\n      and cancers.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    \n  genetic_neighborhood_of:\n    is_a: genetically interacts with\n    description: >-\n      holds between two genes located nearby one another on a chromosome. \n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  affects:\n    is_a: related to at instance level\n    description: >-\n      describes an entity that has a direct affect on the state or quality\n      of another existing entity. Use of the 'affects' predicate implies that\n      the affected entity already exists, unlike predicates such as\n      'affects risk for' and 'prevents, where the outcome is something\n      that may or may not come to be.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n       # Contributed by RTX. Seems possible that a new predicate \"biolink:in_pathway\" could be justified?\n      - DRUGBANK:pathway\n    exact_mappings:\n      - SEMMEDDB:AFFECTS\n      - DGIdb:affects\n    narrow_mappings:\n      - CTD:prediction_hypothesis\n      - GOREL:0001006\n      - CTD:inferred\n      - UPHENO:0000001\n      - RO:0002263\n      - RO:0002264\n      - NCIT:R158\n      - NCIT:R160\n      - NCIT:R30\n      - NCIT:R150\n      - NCIT:R72\n      - NCIT:R146\n      - NCIT:R124\n      - NCIT:R173\n      - NCIT:R100\n      - NCIT:R102\n      - NCIT:R101\n      - NCIT:R113\n      - NCIT:R23\n      - NCIT:R25\n      - NCIT:gene_mapped_to_disease\n      - NCIT:R133\n      - RO:0002343\n      - RO:0002355\n      - RO:0002591\n      - RO:0002592\n      - RO:0012003\n      - SNOMED:has_pathological_process\n      - UBERGRAPH:is_increase_of  # talked to Jim Balhoff, this is a valid mapping\n      - UBERGRAPH:is_decrease_of  # talked to Jim Balhoff, this is a valid mapping\n\n  affected by:\n    is_a: related to at instance level\n    description: >-\n      describes an entity of which the state or quality is affected by\n      another existing entity.\n    inverse: affects\n\n  associated with sensitivity to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of sensitivity to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - PATO:0000085  # sensitivity toward\n    narrow_mappings:\n      - SNOMEDCT:418038007  # propensity to adverse reaction\n\n  sensitivity associated with:\n    is_a: associated with\n    inverse: associated with sensitivity to\n    range: named thing\n    domain: chemical entity\n\n  associated with resistance to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of resistance to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n\n  resistance associated with:\n    is_a: associated with\n    inverse: associated with resistance to\n    range: named thing\n    domain: chemical entity\n\n  diagnoses:\n    is_a: related to at instance level\n    description: >-\n      a relationship that identifies the nature of (an illness or other problem) by examination \n      of the symptoms.\n    domain: diagnostic aid\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - NCIT:C15220  # diagnosis\n      - SIO:001331  # diagnosis\n    exact_mappings:\n      - DrugCentral:5271\n      - SEMMEDDB:DIAGNOSES\n\n  is diagnosed by:\n    is_a: related to at instance level\n    inverse: diagnoses\n    domain: disease or phenotypic feature\n    range: diagnostic aid\n\n  increases amount or activity of:\n    deprecated: true\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that increase the amount\n      or activity of the object.\n\n  amount or activity increased by:\n    deprecated: true\n    is_a: related to at instance level\n    inverse: increases amount or activity of\n\n  decreases amount or activity of:\n    deprecated: true\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that decrease the amount\n      or activity of the object.\n\n  amount or activity decreased by:\n    deprecated: true\n    is_a: related to at instance level\n    inverse: decreases amount or activity of\n\n   ## role mixins for use in tagging corresponding role predicates\n\n  chemical role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a chemical context.\n    mixin: true\n    exact_mappings:\n      - CHEBI:51086\n\n  biological role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a biological context.\n    mixin: true\n    narrow_mappings:\n      - CHEBI:24432\n\n  affects response to:\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: response affected by\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_response_to\n\n  response affected by:\n    description: >-\n      holds between two chemical entities where the susceptibility of a biological entity or system\n      (e.g. an organism, cell, cellular component, macromolecular machine mixin,\n      biological or pathological process) of one is affected by the action of the other.\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  increases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      increases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases response to\n    exact_mappings:\n      - CTD:increases_response_to\n\n  response increased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases response to\n\n  decreases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      decreases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases response to\n    exact_mappings:\n      - CTD:decreases_response_to\n    narrow_mappings:\n      - CTD:decreases_response_to_substance\n\n  response decreased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases response to\n\n  regulates:\n    is_a: affects\n    description: >-\n      A more specific form of affects, that implies the effect results from a biologically evolved control mechanism.\n      Gene-affects-gene relationships will (almost) always involve regulation.  Exogenous/environmental chemical-affects-gene relationships \n      are not cases of regulation in this definition. Instead these would be captured using the 'affects' predicate, or\n      possibly one of the 'interacts with' predicates depending on the nature of the interaction.\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002448\n    broad_mappings:\n       # https://www.wikidata.org/wiki/Property:P128 - regulates (molecular biology)\n      - WIKIDATA_PROPERTY:P128\n      - CHEMBL.MECHANISM:modulator\n      - RO:0002295\n      - RO:0002332\n      - RO:0002448\n    notes: >-\n      The RO definition of 'directly regulates the activity of' is an exact_mapping here because \n      it describes genetic regulation from the point of view of one genetic entity regulating another, as opposed to\n      \"RO:0002211\" which describes process to process regulation.\n    mixins:\n      - interacts with\n\n  regulated by:\n    is_a: affected by\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    inverse: regulates\n\n  disrupts:\n    is_a: affects\n    aliases: ['disease causes disruption of']\n    description: >-\n      describes a relationship where one entity degrades or interferes\n      with the structure, function, or occurrence of another.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: enables\n    exact_mappings:\n      - SEMMEDDB:DISRUPTS\n      - CHEMBL.MECHANISM:disrupting_agent\n    narrow_mappings:\n      - RO:0004024\n      - RO:0004025\n\n  disrupted by:\n    is_a: affected by\n    description: >-\n      describes a relationship where the structure, function, or occurrence\n      of one entity is degraded or interfered with by another.\n    inverse: disrupts\n\n  gene product of:\n    is_a: related to at instance level\n    description: >-\n      definition x has gene product of y if and only if y is a gene (SO:0000704)\n      that participates in some gene expression process (GO:0010467) where the output of thatf\n      process is either y or something that is ribosomally translated from x\n    exact_mappings:\n      - RO:0002204\n    domain: gene product mixin\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: has gene product\n    in_subset:\n      - translator_minimal\n\n  has gene product:\n    is_a: related to at instance level\n    description: >-\n      holds between a gene and a transcribed and/or\n      translated product generated from it\n    domain: gene\n    range: gene product mixin\n    inverse: gene product of\n    in_subset:\n      - translator_minimal\n    close_mappings:\n       # RTX term tagged as inverse mapping\n      - PR:has_gene_template\n    exact_mappings:\n      - RO:0002205\n      - WIKIDATA_PROPERTY:P688\n      - NCIT:gene_encodes_gene_product\n    narrow_mappings:\n      - NCIT:R178\n\n  transcribed to:\n    is_a: related to at instance level\n    domain: gene\n    range: transcript\n    description: >-\n      inverse of transcribed from\n    inverse: transcribed from\n    exact_mappings:\n      - RO:0002511\n      - SIO:010080\n\n  transcribed from:\n    is_a: related to at instance level\n    domain: transcript\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: transcribed to\n    description: >-\n      x is transcribed from y if and only if x is synthesized from template y\n    exact_mappings:\n      - RO:0002510\n      - SIO:010081\n\n  translates to:\n    is_a: related to at instance level\n    domain: transcript\n    range: protein\n    annotations:\n      canonical_predicate: true\n    inverse: translation of\n    description: >-\n      x (amino acid chain/polypeptide) is the ribosomal translation of y (transcript) if and only if a ribosome\n      reads y (transcript) through a series of triplet codon-amino acid adaptor activities (GO:0030533)\n      and produces x (amino acid chain/polypeptide)\n    close_mappings:\n      - RO:0002513\n      - SIO:010082\n\n  translation of:\n    is_a: related to at instance level\n    domain: protein\n    range: transcript\n    description: >-\n      inverse of translates to\n    inverse: translates to\n    close_mappings:\n      - RO:0002512\n      - SIO:010083\n\n  homologous to:\n    is_a: similar to\n    aliases: ['in homology relationship with']\n    description: >-\n      holds between two biological entities that have common evolutionary origin\n    comments:\n      - typically used to describe homology relationships between genes or gene products\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000001\n      - SIO:010302\n    narrow_mappings:\n       # This is a tricky one to place; seems narrower than the RO mapping but that mapping, RO:0002158\n      - UBERON_CORE:sexually_homologous_to\n\n  paralogous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship that holds between entities (typically genes) that diverged after a duplication event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000011\n\n  orthologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship between entities (typically genes) that diverged after a speciation event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000017\n      - WIKIDATA_PROPERTY:P684\n\n  xenologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship characterized by an interspecies (horizontal) transfer since the common ancestor.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000018\n\n  coexists with:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities that are co-located in the same aggregate object, process, or spatio-temporal region\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - SEMMEDDB:COEXISTS_WITH\n    narrow_mappings:\n      - BSPO:0000096\n      - BSPO:0000097\n      - BSPO:0000098\n      - BSPO:0000099\n      - BSPO:0000100\n      - BSPO:0000102\n      - BSPO:0000104\n      - BSPO:0000110\n      - BSPO:0000113\n      - BSPO:0015001\n      - BSPO:0015002\n      - BSPO:0015003\n      - BSPO:0015005\n      - BSPO:0015006\n      - BSPO:0015007\n      - BSPO:0015008\n      - BSPO:0015009\n      - BSPO:0015012\n      - BSPO:0015014\n      - BSPO:parallel_to\n      - UBERON_CORE:anastomoses_with\n      - UBERON_CORE:anteriorly_connected_to\n      - UBERON_CORE:posteriorly_connected_to\n      - UBERON_CORE:channel_for\n      - UBERON_CORE:channels_from\n      - UBERON_CORE:channels_into\n      - UBERON_CORE:conduit_for\n      - UBERON_CORE:distally_connected_to\n      - UBERON_CORE:extends_fibers_into\n      - UBERON_CORE:filtered_through\n      - UBERON_CORE:indirectly_supplies\n      - UBERON_CORE:proximally_connected_to\n      - UBERON_CORE:synapsed_by\n      - UBERON_CORE:transitively_anteriorly_connected_to\n      - UBERON_CORE:transitively_connected_to\n      - UBERON_CORE:transitively_distally_connected_to\n      - UBERON_CORE:transitively_proximally_connected_to\n       # RTX contributed Environmental Ontology term meaning \"partially surrounded by\"\n      - ENVO:01001307\n      - FMA:adjacent_to\n      - FMA:afferent_to\n      - FMA:anterior_to\n      - FMA:anteroinferior_to\n      - FMA:anterolateral_to\n      - FMA:anteromedial_to\n      - FMA:anterosuperior_to\n       # RTX contributed terms (also inverses to one another?) might better be mapped to another term with more precise functional semantics?\n       # Some of these terms also seem to be semantic inverses of one another, thus, perhaps not simple narrow_mappings to Biolink\n      - FMA:arterial_supply_of\n      - FMA:has_arterial_supply\n      - FMA:articulates_with\n      - FMA:attaches_to\n      - FMA:bounded_by\n      - FMA:bounds\n      - FMA:branch_of\n      - FMA:connection_type_of\n      - FMA:continuation_branch_of\n      - FMA:continuous_distally_with\n      - FMA:continuous_proximally_with\n      - FMA:corresponds_to\n      - FMA:development_type_of\n      - FMA:developmental_stage_of\n      - FMA:direct_cell_shape_of\n      - FMA:direct_left_of\n      - FMA:direct_right_of\n      - FMA:distal_to\n      - FMA:drains_into\n      - FMA:efferent_to\n      - FMA:external_to\n      - FMA:formed_by\n      - FMA:forms\n       # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:full_grown_phenotype_of\n      - FMA:has_full_grown_phenotype\n       # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:fuses_with\n      - FMA:fusion_of\n      - FMA:has_fusion\n      - FMA:germ_origin_of\n      - FMA:has_germ_origin\n      - FMA:has_adherent\n      - FMA:has_branch\n      - FMA:has_connection_type\n      - FMA:has_continuation_branch\n      - FMA:has_development_type\n      - FMA:has_developmental_stage\n      - FMA:has_direct_cell_shape\n      - FMA:has_inherent_3d_shape\n      - FMA:has_insertion\n      - FMA:has_lymphatic_drainage\n      - FMA:has_nerve_supply\n      - FMA:has_observed_anatomical_entity\n      - FMA:has_origin\n      - FMA:has_primary_segmental_supply\n      - FMA:has_projection\n      - FMA:has_regional_part\n      - FMA:has_related_developmental_entity\n      - FMA:has_secondary_segmental_supply\n      - FMA:has_segmental_composition\n      - FMA:has_segmental_supply\n      - FMA:has_tributary\n      - FMA:has_venous_drainage\n      - FMA:inferior_to\n      - FMA:inferolateral_to\n      - FMA:inferomedial_to\n      - FMA:inherent_3d_shape_of\n      - FMA:insertion_of\n      - FMA:internal_to\n      - FMA:lateral_to\n      - FMA:left_lateral_to\n      - FMA:left_medial_to\n      - FMA:lymphatic_drainage_of\n      - FMA:matures_from\n      - FMA:matures_into\n      - FMA:medial_to\n      - FMA:merges_with\n      - FMA:nerve_supply_of\n      - FMA:origin_of\n      - FMA:posterior_to\n      - FMA:posteroinferior_to\n      - FMA:posterolateral_to\n      - FMA:posteromedial_to\n      - FMA:posterosuperior_to\n      - FMA:primary_segmental_supply_of\n      - FMA:projects_from\n      - FMA:projects_to\n      - FMA:proximal_to\n      - FMA:receives_attachment_from\n      - FMA:receives_drainage_from\n      - FMA:receives_input_from\n      - FMA:receives_projection\n      - FMA:related_part\n      - FMA:right_lateral_to\n      - FMA:right_medial_to\n      - FMA:secondary_segmental_supply_of\n      - FMA:segmental_composition_of\n      - FMA:segmental_supply_of\n      - FMA:sends_output_to\n      - FMA:superior_to\n      - FMA:superolateral_to\n      - FMA:superomedial_to\n      - FMA:surrounded_by\n      - FMA:surrounds\n      - FMA:tributary_of\n      - FMA:venous_drainage_of\n       # These LOINC: terms contributed by RTX were only tagged as 'biolink:has_attribute'\n       # but seem more aligned to the FMA entries in this biolink term, so I leave them here for now\n      - LOINC:has_lateral_anatomic_location\n      - LOINC:has_lateral_location_presence\n      - UBERON_NONAMESPACE:distally_connected_to\n      - UBERON_NONAMESPACE:subdivision_of\n       # These RO terms seem similar to the FMA terms above, so I place them here rather than under 'biolink:related_to'\n      - RO:0002219\n      - RO:0002220\n      - RO:0002221\n      - SO:has_origin\n       # RTX mapped these UBERON terms all here\n      - UBERON:anastomoses_with\n      - UBERON:anteriorly_connected_to\n      - UBERON:channel_for\n      - UBERON:channels_from\n      - UBERON:channels_into\n      - UBERON:conduit_for\n      - UBERON:distally_connected_to\n      - UBERON:existence_starts_and_ends_during\n      - UBERON:extends_fibers_into\n      - UBERON:filtered_through\n      - UBERON:in_central_side_of\n      - UBERON:in_innermost_side_of\n      - UBERON:in_outermost_side_of\n      - UBERON:indirectly_supplies\n      - UBERON:posteriorly_connected_to\n      - UBERON:protects\n      - UBERON:proximally_connected_to\n      - UBERON:sexually_homologous_to\n\n  in pathway with:\n    description: >-\n      holds between two genes or gene products that are part of in the same biological pathway\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n       # generally pertains to membership of a (subject) component - gene,\n       # metabolite, etc? - in an (object) metabolic pathway\n      - SIO:010532\n\n  in complex with:\n    description: >-\n      holds between two genes or gene products that are part of (or code for\n      products that are part of) in the same macromolecular complex\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n       # generally pertains to membership of a (subject) protein in an (object) protein complex (doesn't cover RNA-Protein, Lipid-Protein, etc complexes though)\n      - SIO:010497\n    broad_mappings:\n       # generally pertains to membership of any (subject) constituent molecule in an (object) molecular complex (might also generically cover RNA-Protein, Lipid-Protein, etc complexes)\n      - SIO:010285\n\n  in cell population with:\n    description: >-\n      holds between two genes or gene products that are expressed in the same cell type or population\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  colocalizes with:\n    description: >-\n      holds between two entities that are observed to be located in the same place.\n    is_a: coexists with\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002325\n\n   # Despite the name, note that this particular entity is\n   # NOT a biolink:Association but rather, a biolink:predicate\n  genetic association:\n    deprecated: true\n    deprecated_element_has_exact_replacement: biolink:genetically_associated_with\n    is_a: associated with\n    symmetric: true\n\n  genetically associated with:\n    is_a: associated with\n    description: >-\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      description: >-\n        Co-occurrence of a certain allele of a genetic marker and the phenotype\n        of interest in the same individuals at above-chance level\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2293\n    in_subset:\n      - translator_minimal\n\n  gene associated with condition:\n    is_a: genetically associated with\n    description: >-\n      holds between a gene and a disease or phenotypic feature that the gene or its alleles/products may influence,\n      contribute to, or correlate with\n    domain: disease or phenotypic feature\n    range: gene\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    broad_mappings:\n      - GENO:0000840  # broader than a single gene: 'genotype' pathogenic for condition\n      - GENO:0000841\n    narrow_mappings:\n       # narrower: just diseases, not phenotypic features as well\n      - NCIT:R38\n      - NCIT:R175\n      - NCIT:R48\n\n  condition associated with gene:\n    is_a: genetically associated with\n    aliases: ['disease associated with gene']\n    description: >-\n      holds between a gene and a disease or phenotypic feature that may be influenced, contribute to, or be correlated with the gene or its alleles/products\n    domain: gene\n    range: disease or phenotypic feature\n    in_subset:\n      - translator_minimal\n    inverse: gene associated with condition\n    narrow_mappings:\n       # narrower since just diseases, not phenotypic features as well\n      - NCIT:R176\n\n  affects risk for:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where exposure to one entity alters the chance of developing the other\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  risk affected by:\n    is_a: related to at instance level\n    inverse: affects risk for\n\n  predisposes:\n    is_a: affects risk for\n    description: >-\n      holds between two entities where exposure to one entity increases the chance of developing the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    exact_mappings:\n      - SEMMEDDB:PREDISPOSES\n\n  has predisposing factor:\n    is_a: risk affected by\n    inverse: predisposes\n    in_subset:\n      - translator_minimal\n\n  contributes to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one contributes to the\n      occurrence or generation of the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # RTX contributed mapping tagged as 'inverse' of this Biolink predicate\n      - IDO:0000664\n    exact_mappings:\n      - RO:0002326\n    narrow_mappings:\n      - CTD:marker_mechanism\n      - MONDO:predisposes_towards\n       # RTX mapped this to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002255\n       # RTX term 'contributes to condition' mapped to 'biolink:causes' seems more suitable here\n      - RO:0003304\n\n  contribution from:\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    inverse: contributes to\n\n  causes:\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes the occurrence\n      or generation of the other\n    is_a: contributes to\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    exact_mappings:\n      - SEMMEDDB:CAUSES\n      - WIKIDATA_PROPERTY:P1542\n      - SNOMED:cause_of\n      - RO:0003303\n    broad_mappings:\n      - RO:0002410\n      - RO:0002506\n    narrow_mappings:\n      - MONDO:disease_triggers\n      - GOREL:0000040\n      - MONDO:disease_causes_feature\n      - MONDO:disease_triggers\n      - NCIT:allele_has_abnormality\n      - NCIT:biological_process_has_result_biological_process\n      - NCIT:chemical_or_drug_has_physiologic_effect\n       # RTX mapped terms as 'biolink:part_of' but implied sequence of causality suggests 'biolink:causes'?\n      - NCIT:chemical_or_drug_initiates_biological_process\n      - NCIT:process_initiates_biological_process\n      - NCIT:chromosome_mapped_to_disease\n      - NCIT:disease_has_normal_tissue_origin\n      - NBO-PROPERTY:in_response_to\n      - orphanet:317343\n      - orphanet:317344\n      - orphanet:317346\n      - orphanet:410295\n      - orphanet:410296\n       # RTX mapped this term to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002256\n      - RO:0002315\n      - RO:0002507\n      - RO:0002509\n      - RO:0004001\n      - SNOMED:causative_agent_of\n      - SNOMED:has_realization\n      - UMLS:has_physiologic_effect\n\n  caused by:\n    description: >-\n      holds between two entities where the occurrence, existence,\n      or activity of one is caused by the occurrence or generation of the other\n    is_a: contribution from\n    aliases: ['disease caused by disruption of', 'disease has basis in dysfunction of',\n              'realized in response to', 'realized in response to stimulus']\n    in_subset:\n      - translator_minimal\n    inverse: causes\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P828\n    narrow_mappings:\n      - RO:0001022\n      - RO:0002608\n      - RO:0004019\n      - RO:0004020\n      - RO:0004028\n      - RO:0009501\n\n   # TODO: ameliorates and exacerbates inverses.\n  ameliorates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a genotype,\n      genetic variation, chemical, or environmental exposure, clinical intervention)\n      and a condition (a phenotype or disease), where the\n      presence of the entity reduces or eliminates some or\n      all aspects of the condition.\n     # 'biological entity' currently includes 'exposure event' which covers a lot of related ground\n    domain: named thing\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: exacerbates\n    exact_mappings:\n      - RO:0003307\n\n  is ameliorated by:\n    inverse: ameliorates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: named thing\n\n  exacerbates:\n    is_a: affects\n    description: >-\n      A relationship between an entity (e.g. a chemical,\n      environmental exposure, or some form of genetic variation)\n      and a condition (a phenotype or disease), where the presence\n      of the entity worsens some or all aspects of the condition.\n     # 'biological entity' currently includes 'exposure event' which covers a lot of related ground\n    domain: biological entity\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0003309\n    broad_mappings:\n      - SEMMEDDB:COMPLICATES\n\n  is exacerbated by:\n    inverse: exacerbates\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: biological entity\n    in_subset:\n      - translator_minimal\n\n  treats:\n    aliases: ['is substance that treats', 'indicated for']\n    is_a: ameliorates\n    description: >-\n      holds between a therapeutic procedure or chemical entity\n      and a disease or phenotypic feature that it is used to treat\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: contraindicated for\n    in_subset:\n      - translator_minimal\n    related_mappings:\n      - MONDO:disease_responds_to\n    exact_mappings:\n      - DRUGBANK:treats\n      - SEMMEDDB:TREATS\n      - WIKIDATA_PROPERTY:P2175\n    narrow_mappings:\n       # \"is substance that treats\" constrains statements to\n       # a subset of the universe of all possible treatments\n      - RO:0002606\n      - NCIT:regimen_has_accepted_use_for_disease\n       # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n      - SNOMED:plays_role\n\n  treated by:\n    is_a: is ameliorated by\n    description: >-\n      holds between a disease or phenotypic feature and a therapeutic\n      process or chemical entity that is used to treat the condition\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n     # range: chemical or drug or treatment\n    in_subset:\n      - translator_minimal\n    inverse: treats\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2176\n       # RTX contributed term tagged as inverse of 'biolink:treats'\n      - MONDO:disease_responds_to\n    narrow_mappings:\n       # \"is treated by substance\" constrains statements to\n       # subset of the universe of all possible treatments\n      - RO:0002302\n\n  prevents:\n    is_a: affects risk for\n    description: >-\n      holds between an entity whose application or use reduces\n      the likelihood of a potential outcome. Typically used to associate\n      a chemical entity, exposure, activity, or medical intervention\n      that can prevent the onset a disease or phenotypic feature.\n    annotations:\n      canonical_predicate: true\n      opposite_of: predisposes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:PREVENTS\n    narrow_mappings:\n       # more restricted case of a material entity mitigating a pathological process\n      - RO:0002599\n\n  prevented by:\n    is_a: risk affected by\n    description: >-\n      holds between a potential outcome of which the likelihood\n      was reduced by the application or use of an entity.\n    inverse: prevents\n    annotations:\n      opposite_of: enabled by\n\n  correlated with:\n    is_a: associated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical dependence is \n      demonstrated using a correlation analysis method.\n    notes: >-\n      These concepts may map exactly to the statistical variables, or represent related entities for which the \n      variables serve as proxies in an Association (e.g. diseases, chemical entities or processes).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002610\n      - PATO:correlates_with\n\n   # proposed positive and negative semantic extensions to the general \"correlated with\" predicate\n\n  positively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation \n      is demonstrated, wherein variable values move together in the same direction (i.e. increased in one or \n      presence of one correlates with an increase or presence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: negatively correlated with\n    exact_mappings:\n      - CTD:positive_correlation\n\n  negatively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation \n      is demonstrated, wherein variable values move in opposite directions (i.e. increased in one or presence of \n      one correlates with a decrease or absence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: positively correlated with\n    exact_mappings:\n      - CTD:negative_correlation\n\n  occurs together in literature with:\n    is_a: correlated with\n    description: >-\n      holds between two entities where their co-occurrence is correlated by counts of publications\n      in which both occur, using some threshold of occurrence as defined by the edge provider.\n    domain: named thing\n    range: named thing\n    in_subset: translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  coexpressed with:\n    is_a: correlated with\n    description: >-\n      holds between any two genes or gene products, in which both are\n      generally expressed within a single defined experimental context.\n    domain: gene or gene product\n    range: gene or gene product\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  has biomarker:\n    is_a: correlated with\n    description: >-\n      holds between a disease or phenotypic feature and a measurable\n      chemical entity that is used as an indicator of the presence\n      or state of the disease or feature.\n       # metabolite\n    domain: disease or phenotypic feature\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    inverse: biomarker for\n    narrow_mappings:\n       # some RTX terms contributed as inverses of 'biolink:biomarker_for'\n      - NCIT:disease_has_molecular_abnormality\n      - NCIT:disease_is_marked_by_gene\n\n  biomarker for:\n    is_a: correlated with\n    description: >-\n      holds between a measurable chemical entity and a disease\n      or phenotypic feature, where the entity is used as an indicator\n      of the presence or state of the disease or feature.\n    domain: chemical entity or gene or gene product\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - NCIT:R39\n    broad_mappings:\n       # Generic marker definition not specific to biomarkers per say\n      - RO:0002607\n    narrow_mappings:\n      - NCIT:R47\n       # RTX term was tagged as 'biolink:actively_involved_in' but maps better here?\n      - NCIT:genetic_biomarker_related_to\n      - NCIT:is_molecular_abnormality_of_disease\n      - orphanet:465410\n\n   # It may be helpful to introduce an intermediate predicate in between 'related_to' and 'expressed in'\n   # which would have a domain of 'biological entity' and range of 'anatomical entity', to map predicates\n   # which are biological which have manifestation in an anatomical site, e.g. RO:0004026, RO:0004027 and others\n  expressed in:\n    is_a: located in\n    description: >-\n      holds between a gene or gene product and an anatomical entity in which it is expressed\n    domain: gene or gene product\n    range: anatomical entity\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002206\n    narrow_mappings:\n      - NCIT:R49\n      - NCIT:R46\n\n  expresses:\n    is_a: location of\n    aliases: ['anatomy expresses gene']\n    description: >-\n      holds between an anatomical entity and gene or gene product that is expressed there\n    domain: anatomical entity\n    range: gene or gene product\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    inverse: expressed in\n    exact_mappings:\n      - RO:0002292\n\n  has phenotype:\n    is_a: related to at instance level\n    aliases: ['disease presents symptom']\n    description: >-\n      holds between a biological entity and a phenotype, where a phenotype\n      is construed broadly as any kind of quality of an organism part,\n      a collection of these qualities, or a change in quality or qualities\n      (e.g. abnormally increased temperature). In SNOMEDCT, disorders with keyword 'characterized by' should\n      translate into this predicate.\n    domain: biological entity\n    range: phenotypic feature\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    notes:\n      - check the range\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002200\n    broad_mappings:\n      - NCIT:R115\n      - NCIT:R108\n    narrow_mappings:\n      - NCIT:R89\n      - DOID-PROPERTY:has_symptom\n      - RO:0004022\n\n  phenotype of:\n    is_a: related to at instance level\n    domain: phenotypic feature\n    range: biological entity\n    multivalued: true\n    inverse: has phenotype\n\n   # TODO: predicate inverse for occurs in\n  occurs in:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a material entity or site within which the process occurs\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # These RTX mapped terms tagged as the inverse of \"biolink:occurs_in\", i.e. Entity/Site contains Process\n      - BFO:0000067\n      - SNOMED:has_occurrence\n      - UBERON:site_of\n    exact_mappings:\n      - BFO:0000066\n      - PathWhiz:has_location\n      - SNOMED:occurs_in\n    narrow_mappings:\n       # SemMedDb term 'OCCURS_IN' constrained to something (other than process) occurring in a group or population\n      - SEMMEDDB:OCCURS_IN\n       # SemMedDb term 'PROCESS_IN' constrained specifically to a process occurring in the object concept entity\n      - SEMMEDDB:PROCESS_OF\n       # Uberon term constrained to a 'site' as object concept\n      - UBERON_CORE:site_of\n      - LOINC:has_imaged_location\n      - PathWhiz:in_species\n      - RO:0002231\n      - RO:0002232\n      - SNOMED:has_direct_procedure_site\n      - SNOMED:has_direct_site\n      - SNOMED:has_procedure_site\n\n  contains process:\n    is_a: related to at instance level\n    inverse: occurs in\n\n  located in:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a material entity or site\n      within which it is located (but of which it is not considered a part)\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0001025\n      - FMA:has_location\n    narrow_mappings:\n      - GOREL:0001004\n      - BSPO:0000107\n      - BSPO:0000108\n      - BSPO:0000120\n      - BSPO:0000121\n      - BSPO:0000122\n      - BSPO:0000123\n      - BSPO:0000124\n      - BSPO:0000125\n      - BSPO:0000126\n      - BSPO:0001100\n      - BSPO:0001101\n      - BSPO:0001107\n      - BSPO:0015101\n      - BSPO:0015102\n      - BSPO:0015202\n      - UBERON_CORE:in_central_side_of\n      - UBERON_CORE:in_innermost_side_of\n      - UBERON_CORE:in_outermost_side_of\n      - NCIT:R100\n      - EFO:0000784\n      - FMA:has_location\n      - HMDB:at_cellular_location\n      - HMDB:at_tissue\n      - HMDB:in_biospecimen\n      - LOINC:has_imaging_focus\n      - NCIT:R156\n      - NCIT:R155\n      - NCIT:R145\n      - NCIT:R40\n      - NCIT:R171\n      - NCIT:R167\n      - NCIT:R165\n      - NCIT:R169\n      - NCIT:R170\n      - NCIT:R166\n      - NCIT:R168\n      - RO:0002303\n      - SNOMED:has_finding_site\n      - SNOMED:has_indirect_procedure_site\n      - SNOMED:has_inherent_location\n    domain: named thing\n    range: named thing\n\n  location of:\n    is_a: related to at instance level\n    aliases: ['site of']\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between material entity or site and a material entity\n      that is located within it (but not considered a part of it)\n    in_subset:\n      - translator_minimal\n    inverse: located in\n    exact_mappings:\n      - RO:0001015\n      - SEMMEDDB:LOCATION_OF\n      - WIKIDATA_PROPERTY:P276\n       # RTX tagged this as an inverse of biolink:located_in\n      - FMA:location_of\n    narrow_mappings:\n      - SNOMED:inherent_location_of\n      - NCIT:Anatomic_Structure_Has_Location_Role\n\n  disease has location:\n    description: >-\n      A relationship between a disease and an anatomical entity where the\n      disease has one or more features that are located in that entity.\n    is_a: related to\n    exact_mappings:\n      - RO:0004026\n      - MONDO:disease_has_location\n\n  location of disease:\n    is_a: related to\n    inverse: disease has location\n\n  similar to:\n    is_a: related to at instance level\n    description: >-\n      holds between an entity and some other entity with similar features.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000000\n      - SO:similar_to\n\n  chemically similar to:\n    is_a: similar to\n    description: >-\n      holds between one small molecule entity and another that it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - CHEBI:has_parent_hydride     # subproperty\n      - CHEBI:has_functional_parent  # subproperty\n      - CHEBI:is_conjugate_acid_of   # subproperty\n      - CHEBI:is_conjugate_base_of   # subproperty\n      - CHEBI:is_enantiomer_of       # subproperty\n      - CHEBI:is_tautomer_of         # subproperty\n      - NCIT:has_salt_form\n\n  has sequence location:\n    is_a: related to at instance level\n    description: >-\n      holds between two nucleic acid entities when the subject can be localized\n      in sequence coordinates on the object. For example, between\n      an exon and a chromosome/contig.\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - faldo:location\n\n  sequence location of:\n    is_a: related to at instance level\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    inverse: has sequence location\n\n  model of:\n    is_a: related to at instance level\n    description: >-\n      holds between a thing and some other thing it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0003301\n    narrow_mappings:\n      - FOODON:00001301\n\n  models:\n    is_a: related to at instance level\n    inverse: model of\n\n  overlaps:\n    is_a: related to at instance level\n    description: >-\n      holds between entities that overlap in their extents (materials or processes)\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002131\n    narrow_mappings:\n      - BSPO:0005001\n      - CHEMBL.MECHANISM:overlaps_with\n      - RO:0002100\n      - RO:0002102\n      - RO:0002433\n\n  has part:\n    is_a: overlaps\n    annotations:\n      canonical_predicate: true\n      opposite_of: lacks part\n    description: >-\n      holds between wholes and their parts (material entities or processes)\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000051\n       # term name seems to be 'realizes' but RTX maps this term here\n      - BFO:0000055\n      - WIKIDATA_PROPERTY:P527\n      - RO:0001019\n      - RXNORM:consists_of\n      - RXNORM:has_part\n    broad_mappings:\n       # To 'contain' is 'to have something inside or include something as a part'; slightly broader?\n      - RO:0001019\n      - FMA:contains\n      - RXNORM:contains\n    narrow_mappings:\n      - BFO:0000117\n       # RTX term originally mapped to 'biolink:coexists_with'?\n      - FMA:has_constitutional_part\n      - FMA:has_part\n       # Several of the following RTX terms were originally mapped as inverses to 'biolink:part_of'?\n      - FMA:has_member\n      - FOODON:00001563\n      - FOODON:00002420\n      - LOINC:has_component\n      - LOINC:has_member\n      - MEDDRA:has_member\n      - MONDO:disease_has_major_feature\n      - NCIT:complex_has_physical_part\n      - NDDF:has_ingredient\n      - PathWhiz:has_element_in_bound\n       # This RTX contributed term was tagged as 'biolink:has_gene_product' but seems more compositional in nature\n      - NCIT:R50\n      - PathWhiz:has_protein_in_complex\n      - RO:0002104\n      - RO:0002180\n      - RO:0002351\n      - RO:0002473\n      - RO:0002524\n      - RO:0002551\n      - RXNORM:has_ingredient\n      - SNOMED:has_component\n      - UMLS:has_component\n\n  has plasma membrane part:\n    is_a: has part\n    description: >-\n      Holds between a cell c and a protein complex or protein p if\n      and only if that cell has as part a plasma_membrane[GO:0005886], and that plasma membrane has p as part.\n    exact_mappings:\n      - RO:0002104\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  composed primarily of:\n    is_a: related to\n    description: >-\n      x composed_primarily_of_y if:more than half of the mass of x is made from parts of y.\n    exact_mappings:\n      - RO:0002473\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  primarily composed of:\n    inverse: composed primarily of\n    is_a: related to\n\n  plasma membrane part of:\n    is_a: part of\n    inverse: has plasma membrane part\n\n  part of:\n    is_a: overlaps\n    description: >-\n      holds between parts and wholes (material entities or processes)\n    in_subset:\n      - translator_minimal\n    inverse: has part\n    exact_mappings:\n      - BFO:0000050\n      - SEMMEDDB:PART_OF\n      - WIKIDATA_PROPERTY:P361\n      - FMA:part_of\n      - RXNORM:constitutes\n      - RXNORM:part_of\n    broad_mappings:\n       # To 'contain' is 'to have something inside or include something as a part'\n      - RO:0001018\n      - FMA:contained_in\n      - RXNORM:contained_in\n    narrow_mappings:\n      - BSPO:0001106\n      - BSPO:0001108\n      - BSPO:0001113\n      - BSPO:0001115\n      - UBERON_CORE:layer_part_of\n      - UBERON_CORE:subdivision_of\n      - UBERON_CORE:trunk_part_of\n      - CHEBI:is_substituent_group_from\n      - CPT:panel_element_of\n      - CPT:panel_element_of_possibly_included\n      - DRUGBANK:component_of\n      - FMA:constitutional_part_of\n      - FMA:member_of\n      - FMA:regional_part_of\n      - FMA:related_developmental_entity_of\n      - LOINC:component_of\n      - LOINC:has_supersystem\n      - LOINC:member_of\n      - LOINC:multipart_of\n      - MEDDRA:member_of\n      - MONDO:part_of_progression_of_disease\n      - NCIT:R82\n      - NCIT:R27\n      - NCIT:is_component_of_chemotherapy_regimen\n      - NDDF:ingredient_of\n      - RO:0002007\n      - RO:0002350\n      - RO:0002376\n      - RO:0002380\n      - RO:0002571\n      - RO:0002572\n      - RO:0002576\n      - RXNORM:ingredient_of\n      - RXNORM:ingredients_of\n      - RXNORM:precise_ingredient_of\n      - SNOMED:active_ingredient_of\n      - SNOMED:basis_of_strength_substance_of\n      - SNOMED:component_of\n      - SNOMED:direct_substance_of\n      - SNOMED:during\n      - SNOMED:focus_of\n      - SNOMED:has_dependent\n      - SNOMED:part_anatomy_structure_of\n      - SNOMED:precise_active_ingredient_of\n      - UBERON:subdivision_of\n      - UMLS:component_of\n      - UMLS:has_owning_affiliate\n      - UMLS:owning_subsection_of\n      - VANDF:ingredient_of\n\n  has input:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an input into the process\n    domain: biological process or activity\n    range: named thing\n    annotations:\n      canonical_predicate: true\n      opposite_of: has output\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002233\n      - SEMMEDDB:USES\n    narrow_mappings:\n      - LOINC:has_fragments_for_synonyms\n      - LOINC:has_system\n      - PathWhiz:has_left_element\n      - RO:0002590\n      - RO:0004009\n      - SNOMED:has_finding_method\n      - SNOMED:has_precondition\n      - SNOMED:has_specimen_source_identity\n      - SNOMED:has_specimen_substance\n      - SNOMED:uses_access_device\n      - SNOMED:uses_device\n      - SNOMED:uses_energy\n      - SNOMED:uses_substance\n\n  is input of:\n    is_a: participates in\n    domain: named thing\n    range: biological process or activity\n    inverse: has input\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002352\n\n  has output:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an output of the process\n    domain: biological process or activity\n    range: named thing\n    annotations:\n      canonical_predicate: true\n      opposite_of: has input\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002234\n    narrow_mappings:\n      - NCIT:R31\n      - OBI:0000299\n      - PathWhiz:has_right_element\n      - RO:0002296\n      - RO:0002297\n      - RO:0002298\n      - RO:0002299\n      - RO:0002588\n      - RO:0004008\n\n  is output of:\n    is_a: participates in\n    domain: named thing\n    range: biological process or activity\n    inverse: has output\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002353\n    narrow_mappings:\n      - RO:0002354\n\n  has participant:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a continuant, where the continuant is somehow involved in the process\n    domain: biological process or activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - WIKIDATA_PROPERTY:P2283\n    exact_mappings:\n      - RO:0000057\n      - RO:has_participant\n    narrow_mappings:\n      - BFO:0000167\n       # Several of the following RTX terms tagged as inverse to 'biolink:participates_in'\n      - LOINC:has_subject\n      - NCIT:process_involves_gene\n      - NBO-PROPERTY:has_participant\n      - PathWhiz:has_bound\n      - PathWhiz:has_compound\n      - PathWhiz:has_element_collection\n      - PathWhiz:has_enzyme\n      - OBI:0000293\n      - PathWhiz:has_nucleic_acid\n      - PathWhiz:has_protein\n      - PathWhiz:has_reaction\n      - RO:0002565\n      - RO:0004007\n      - RO:0004020\n      - RO:0004021\n      - SNOMED:has_indirect_device\n      - SNOMED:has_procedure_device\n      - SNOMED:has_recipient_category\n\n  catalyzes:\n    is_a: participates in\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002327\n\n  has catalyst:\n    is_a: has participant\n    inverse: catalyzes\n\n  has substrate:\n    is_a: has participant\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n\n  is substrate of:\n    is_a: participates in\n    inverse: has substrate\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  participates in:\n    is_a: related to at instance level\n    description: >-\n      holds between a continuant and a process, where the continuant is somehow involved\n      in the process\n    range: biological process or activity\n    domain: occurrent\n    inverse: has participant\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0000056\n      - BFO:0000056\n    narrow_mappings:\n      - DRUGBANK:pathway\n      - HMDB:in_pathway\n      - LOINC:is_given_pharmaceutical_substance_for\n      - NCIT:R130\n      - NCIT:R37\n      - NCIT:R131\n      - NCIT:R51\n      - NCIT:R53\n      - OBI:0000295\n      - RO:0002216\n      - RO:0002505\n      - SNOMED:has_direct_device\n\n  actively involved in:\n    is_a: participates in\n    aliases: ['involved in']\n    description: >-\n      holds between a continuant and a process or function, where\n      the continuant actively contributes to part or all of\n      the process or function it realizes\n    domain: named thing\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002331\n    narrow_mappings:\n      - NBO-PROPERTY:by_means\n      - orphanet:317348\n      - orphanet:317349\n      - orphanet:327767\n      - RO:0002503\n\n  actively involves:\n    is_a: has participant\n    domain: biological process or activity\n    range: named thing\n    inverse: actively involved in\n    in_subset:\n      - translator_minimal\n\n  capable of:\n    is_a: actively involved in\n    description: >-\n      holds between a physical entity and process or function, where the\n      continuant alone has the ability to carry out the process or function.\n    domain: named thing\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002215\n    narrow_mappings:\n      - NCIT:R52\n      - RO:0002500\n\n  can be carried out by:\n    is_a: actively involves\n    inverse: capable of\n    domain: occurrent\n    range: named thing\n\n  enables:\n    is_a: participates in\n    description: >-\n      holds between a physical entity and a process, where the physical entity executes the process\n    domain: physical entity\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n      opposite_of: prevents\n    in_subset:\n      - translator_minimal\n    inverse: enabled by\n    exact_mappings:\n      - RO:0002327\n\n  enabled by:\n    is_a: has participant\n    description: >-\n      holds between a process and a physical entity, where the physical entity executes the process\n    domain: biological process or activity\n    range: physical entity\n    in_subset:\n      - translator_minimal\n    inverse: enables\n    exact_mappings:\n      - RO:0002333\n    annotations:\n      opposite_of: prevented by\n\n  derives into:\n    is_a: related to at instance level\n    aliases: ['is normal cell origin of disease', 'may be normal cell origin of disease']\n    description: >-\n      holds between two distinct material entities, the old entity and\n      the new entity, in which the new entity begins to exist when\n      the old entity ceases to exist, and the new entity inherits\n      the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n    inverse: derives from\n     # TODO: fix this according to WG notes. Example of both opposite and inverse\n     # Commenting as it feels very wrong. A good example with both opposite and inverse is `has active ingredient`\n     # annotations:\n     #   opposite_of: subclass of\n    exact_mappings:\n      - RO:0001001\n      - SEMMEDDB:CONVERTS_TO\n       # RTX posted terms as inverse of 'biolink:derives_from'\n      - FMA:derives\n\n  derives from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    description: >-\n      holds between two distinct material entities, the new entity\n      and the old entity, in which the new entity begins to exist\n      when the old entity ceases to exist, and the new entity\n      inherits the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n      - samples\n    inverse: derives into\n    exact_mappings:\n      - RO:0001000\n      - FMA:derives_from\n      - DOID-PROPERTY:derives_from\n    narrow_mappings:\n      - CHEBI:has_functional_parent\n      - SNOMED:has_specimen_source_topography\n\n  is metabolite of:\n    is_a: derives from\n    description: >-\n      holds between two molecular entities in which the first one is derived\n      from the second one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    in_subset:\n      - translator_minimal\n    inverse: has metabolite\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  has metabolite:\n    is_a: derives into\n    description: >-\n      holds between two molecular entities in which the second one is derived from the first\n      one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  food component of:\n    is_a: part of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has food component\n\n  has food component:\n    is_a: has part\n    description: >-\n      holds between food and one or more chemical entities composing it,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  nutrient of:\n    is_a: food component of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has nutrient\n\n  has nutrient:\n    is_a: has food component\n    description: >-\n      one or more nutrients which are growth factors for a living organism\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q181394\n\n  is active ingredient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug, in which the former\n      is a part of the latter, and is a biologically active component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has active ingredient\n    mappings:\n      - RO:0002249\n\n  has active ingredient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entity in which the latter\n      is a part of the former, and is a biologically active component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n      opposite_of: is excipient of\n    in_subset:\n      - translator_minimal\n    inverse: is active ingredient of\n    mappings:\n      - RO:0002248\n\n  is excipient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug in which the former is\n      a part of the latter, and is a biologically inactive component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has excipient\n    mappings:\n      - WIKIDATA:Q902638\n\n  has excipient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entities in which the latter\n      is a part of the former, and is a biologically inactive component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    mappings:\n      - WIKIDATA:Q902638\n\n  manifestation of:\n    is_a: related to at instance level\n    description: >-\n      that part of a phenomenon which is directly observable or\n      visibly expressed, or which gives evidence to the underlying\n      process; used in SemMedDB for linking things like dysfunctions\n      and processes to some disease or syndrome\n    range: disease\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:MANIFESTATION_OF\n      - OMIM:manifestation_of\n    broad_mappings:\n       # Wikidata's definition is slightly broader: \"inherent and characteristic embodiment of a given concept\"\n      - WIKIDATA_PROPERTY:P1557\n    narrow_mappings:\n      - SNOMED:has_definitional_manifestation\n\n  has manifestation:\n    is_a: related to at instance level\n    domain: disease\n    inverse: manifestation of\n\n  mode of inheritance of:\n    is_a: manifestation of\n    domain: genetic inheritance\n    range: disease or phenotypic feature\n    inverse: has mode of inheritance\n\n  has mode of inheritance:\n    is_a: has manifestation\n    description: >-\n      Relates a disease or phenotypic feature to its observed genetic segregation and assumed\n      associated underlying DNA manifestation (i.e. autosomal, sex or mitochondrial chromosome).\n    domain: disease or phenotypic feature\n    range: genetic inheritance\n    annotations:\n       # This canonical order reverses that of its parent 'has manifestation' class\n       # but seems a more natural direction in the pertinent edge relationships.\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  produces:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a product that is generated\n      through the intentional actions or functioning of the material entity\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - GOREL:0001010\n    exact_mappings:\n      - RO:0003000\n      - WIKIDATA_PROPERTY:P1056\n      - SEMMEDDB:PRODUCES\n    narrow_mappings:\n      - NCIT:R29\n      - SNOMED:has_process_output\n      - SNOMED:specimen_procedure_of\n\n  produced by:\n    is_a: related to at instance level\n    inverse: produces\n    exact_mappings:\n      - RO:0003001\n\n  consumes:\n    is_a: has input\n    domain: named thing\n    range: named thing\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - RO:0004009\n\n  consumed by:\n    is_a: is input of\n    inverse: consumes\n    domain: named thing\n    range: named thing\n\n  temporally related to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities with a temporal relationship\n    domain: occurrent\n    range: occurrent\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SNOMED:temporally_related_to\n    narrow_mappings:\n       # The These RTX mappings are temporal in nature, but not with precedes ordering, so mapped here\n      - RO:0002082\n      - RO:0002083\n      - RO:0002092\n      - RO:0002093\n      - RO:0002223\n      - RO:0002224\n      - RO:0002229\n      - RO:0002230\n      - RO:0002488\n      - RO:0002489\n      - RO:0002492\n      - RO:0002493\n      - RO:0002496\n      - RO:0002497\n\n  precedes:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where one completes before the other begins\n    domain: occurrent\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    inverse: preceded by\n    in_subset:\n      - translator_minimal\n    close_mappings:\n       # the subject of these terms is a material entity, not a process,\n       # but affects a process which causes a second process to occur\n      - RO:0002263\n      - RO:0002264\n    exact_mappings:\n      - BFO:0000063\n      - SEMMEDDB:PRECEDES\n      - SNOMED:occurs_before\n    broad_mappings:\n       # the Wikidata definition is subtly broader, focusing on a series not strictly temporal in nature\n      - WIKIDATA_PROPERTY:P156\n    narrow_mappings:\n      - FMA:transforms_into\n      - RO:0002090\n      - RO:0002411\n      - RO:0002412\n\n  preceded by:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where the other is completed before the one begins\n    domain: occurrent\n    range: occurrent\n    inverse: precedes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000062\n    broad_mappings:\n       # Contributed by RTX as inverse of 'precedes'. Seems more generic to just processes, so we tag it as 'broad'?\n      - GENEPIO:0001739\n    narrow_mappings:\n       # RTX contributed mapping was given as the inverse of 'biolink:precedes'\n      - FMA:transforms_from\n      - RO:0002087\n      - RO:0002285\n\n  has variant part:\n    is_a: has part\n    description: holds between a nucleic acid entity and a nucleic acid entity that is a sub-component of it\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000382\n\n  variant part of:\n    is_a: part of\n    inverse: has variant part\n\n  related condition:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000790\n\n   ## Predicates relating variants to genes\n\n  is sequence variant of:\n    is_a: related to at instance level\n    aliases: ['gene product sequence variation encoded by gene mutant', 'allelic variant of', 'gene product variant of gene product']\n    description: holds between a sequence variant and a nucleic acid entity\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - WIKIDATA:P3433\n\n  has sequence variant:\n    is_a: related to at instance level\n    inverse: is sequence variant of\n    domain: genomic entity\n    range: sequence variant\n\n  is missense variant of:\n    is_a: is sequence variant of\n    description: holds between a gene  and a sequence variant, such the sequence variant\n      results in a different amino acid sequence but where the length is preserved.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001583\n\n  has missense variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is missense variant of\n\n  is synonymous variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the coding sequence of the gene, but results in the same amino acid sequence\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001819\n\n  has synonymous variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is synonymous variant of\n    aliases: ['stop gained']\n\n  is nonsense variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      results in a premature stop codon\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n       # Term definition broader than nonsense codon: A sequence variant whereby\n       # the gene product has diminished or abolished function.\n      - SO:0002054\n\n  has nonsense variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is nonsense variant of\n\n  is frameshift variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      causes a disruption of the translational reading frame, because the number of\n      nucleotides inserted or deleted is not a multiple of three.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001589\n    aliases: ['frameshift variant', 'start lost', 'stop lost']\n\n  has frameshift variant:\n    is_a: has sequence variant\n    inverse: is frameshift variant of\n    domain: genomic entity\n    range: sequence variant\n    aliases: ['splice region variant', 'splice acceptor variant', 'splice donor variant']\n\n  is splice site variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the canonical splice site of one of the gene's exons.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001629\n\n\n  has splice site variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is splice site variant of\n    aliases: ['downstream gene variant', 'upstream gene variant']\n\n  is nearby variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene sequence that the variant\n      is genomically close to.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n\n  has nearby variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is nearby variant of\n    aliases: ['intron variant', '3 prime UTR variant', '5 prime UTR variant', '5 prime UTR premature start codon gain variant', 'non coding transcript exon variant']\n\n  is non coding variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, where the variant does\n      not affect the coding sequence\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n\n  has non coding variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is non coding variant of\n\n   # relating disease to process\n\n  disease has basis in:\n    description: A relation that holds between a disease and an entity where the state\n      of the entity has contribution to the disease.\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n       # These two MONDO terms seem more particular than the predicate\n      - MONDO:disease_has_basis_in_development_of\n      - MONDO:disease_has_basis_in_accumulation_of\n\n  occurs in disease:\n    is_a: related to at instance level\n    inverse: disease has basis in\n\n\n  has adverse event:\n    is_a: affects\n    aliases: ['adverse effect']\n    description: >-\n      An untoward medical occurrence in a patient or clinical investigation subject that happens during treatment \n      with a therapeutic agent. Adverse events may be caused by something \n      other than the drug or therapy being given and may include abnormal laboratory finding, symptoms, or \n      diseases temporally associated with the treatment, whether or not considered related to the treatment. \n      Adverse events are unintended effects that occur when a medication is administered correctly.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n\n  adverse event of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has adverse event\n\n  has side effect:\n    aliases: ['adverse drug reaction']\n    is_a: affects\n    description: >-\n      An unintended, but predictable, secondary effect shown to be correlated with a therapeutic agent, drug or treatment.\n      Side effects happen at normal, recommended doses or treatments, and are unrelated to the intended purpose of \n      the medication.\n    notes: >-\n      Side effects are listed on drug labels. There can be positive side effects, while adverse events are always negative.\n      Aeolus, Sider are both resources that provide side effects.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C2861  # side effect\n\n  is side effect of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has side effect\n\n  contraindicated for:\n    is_a: related to at instance level\n    description: Holds between a drug and a disease or phenotype, such that a person\n      with that disease should not be treated with the drug.\n    domain: drug\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: treats\n    exact_mappings:\n      - NCIT:C37933\n\n  has contraindication:\n    is_a: related to at instance level\n    domain: disease or phenotypic feature\n    range: drug\n    inverse: contraindicated for\n\n   # The remaining new slots are here because we ran across them somewhere and\n   # they didn't seem to map well to anything else.\n\n  has not completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of,\n      but has not completed\n    exact_mappings:\n      - CL:has_not_completed\n    annotations:\n      opposite_of: has completed\n      canonical_predicate: true\n\n  not completed by:\n    is_a: related to at instance level\n    inverse: has not completed\n\n  has completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of\n      and has completed\n    annotations:\n      canonical_predicate: true\n      opposite_of: has not completed\n    exact_mappings:\n      - CL:has_completed\n\n  completed by:\n    is_a: related to at instance level\n    inverse: has completed\n\n\n  in linkage disequilibrium with:\n    is_a: related to at instance level\n    description: holds between two sequence variants, the presence of which are correlated\n      in a population\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C16798\n\n  has increased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has decreased amount\n    narrow_mappings:\n      - CL:has_high_plasma_membrane_amount\n\n  increased amount of:\n    is_a: related to at instance level\n    inverse: has increased amount\n\n  has decreased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has increased amount\n    narrow_mappings:\n      - CL:has_low_plasma_membrane_amount\n\n  decreased amount in:\n    is_a: related to at instance level\n    inverse: has decreased amount\n\n  lacks part:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has part\n    exact_mappings:\n      - CL:lacks_part\n      - PR:lacks_part\n    narrow_mappings:\n      - CL:lacks_plasma_membrane_part\n\n  missing from:\n    is_a: related to at instance level\n    inverse: lacks part\n\n  develops from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # RTX mapping seems to be inverse of 'biolink:develops_from'\n      - RO:0002203\n      - FMA:develops_into\n    exact_mappings:\n      - BTO:develops_from\n      - DDANAT:develops_from\n      - FMA:develops_from\n      - RO:0002202\n    narrow_mappings:\n      - RO:0002207\n      - RO:0002225  # x develops from part of y if and only if there exists some z such that x develops from z and z is part of y\n      - RO:0002226  # x develops_in y if x is located in y whilst x is developing\n\n  develops into:\n    is_a: related to at instance level\n    inverse: develops from\n\n  in taxon:\n    aliases: ['instance of', 'is organism source of gene product', 'organism has gene', 'gene found in organism', 'gene product has organism source']\n    is_a: related to at instance level\n    domain: thing with taxon\n    range: organism taxon\n    annotations:\n      canonical_predicate: true\n    description: >-\n      connects an entity to its taxonomic classification. Only certain kinds\n      of entities can be taxonomically classified; see 'thing with taxon'\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002162\n      - WIKIDATA_PROPERTY:P703\n    narrow_mappings:\n      - RO:0002160\n\n  in taxon label:\n    is_a: node property\n    domain: thing with taxon\n    range: label type\n    description: >-\n      The human readable scientific name for the taxon of the entity.\n    in_subset:\n      - translator_minimal\n    slot_uri: rdfs:label\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P225\n    annotations:\n      denormalized: true\n\n  taxon of:\n    is_a: related to at instance level\n    inverse: in taxon\n    domain: organism taxon\n    range: thing with taxon\n\n  has molecular consequence:\n    is_a: related to at instance level\n    aliases: ['allele has activity']\n    description: >-\n      connects a sequence variant to a class describing the molecular\n      consequence. E.g.  SO:0001583\n    range: ontology class\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - NCIT:allele_has_activity\n\n  is molecular consequence of:\n    is_a: related to at instance level\n    domain: ontology class\n    inverse: has molecular consequence\n\n   ## --------------------\n   ## ASSOCIATION SLOTS\n   ## --------------------\n\n  association slot:\n    abstract: true\n    domain: association\n    aliases: ['edge property', 'statement property', 'node qualifier', 'edge qualifier', 'statement qualifier']\n    description: >-\n      any slot that relates an association to another entity\n\n  original subject:\n    is_a: association slot\n    description: >-\n      used to hold the original subject of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original object:\n    is_a: association slot\n    description: >-\n      used to hold the original object of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original predicate:\n    aliases: ['original relation', 'relation']\n    is_a: association slot\n    description: >-\n      used to hold the original relation/predicate that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n    id_prefixes:\n      - RO\n      - BSPO\n      - SIO\n    domain: association\n    range: uriorcurie\n\n  subject closure:\n    is_a: association slot\n    description: >-\n      Used to hold the subject closure of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    annotations:\n      denormalized: true\n     \n  object closure:\n    is_a: association slot\n    description: >-\n      Used to hold the object closure of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    examples:\n      - value: [\"MONDO:0000167\", \"MONDO:0005395\"]\n        description: >-\n          The object closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          diseases that are ancestors of 'breast cancer' in the\n          MONDO ontology.  Note: typically the \"subclass of\" and \"part of\" \n          relations are used to construct the closure, but other relations\n          may be used as well.\n    annotations:\n      denormalized: true\n\n  subject category:\n    is_a: association slot\n    description: >-\n      Used to hold the biolink class/category of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: false\n    domain: association\n    range: ontology class\n    examples:\n      - value: \"biolink:Gene\"\n        description: >-\n          The subject category of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is 'biolink:Gene'.\n    annotations:\n      denormalized: true\n\n  object category:\n    is_a: association slot\n    description: >-\n      Used to hold the biolink class/category of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: false\n    domain: association\n    range: ontology class\n    examples:\n      - value: \"biolink:Disease\"\n        description: >-\n            The object category of the association between the gene\n            'BRCA1' and the disease 'breast cancer' is 'biolink:Disease'.\n    annotations:\n      denormalized: true\n\n  subject category closure:\n    is_a: association slot\n    description: >-\n      Used to hold the subject category closure of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    range: ontology class\n    examples:\n      - value: ['biolink:Gene\", \"biolink:NamedThing']\n        description: >-\n          The subject category closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          biolink classes that are ancestors of 'biolink:Gene' in the\n          biolink model.  Note: typically the \"subclass of\" and \"part of\" \n          relations are used to construct the closure, but other relations\n          may be used as well.\n    annotations:\n      denormalized: true\n\n  object category closure:\n    is_a: association slot\n    description: >-\n      Used to hold the object category closure of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    range: ontology class\n    examples:\n      - value: ['biolink:Disease\", \"biolink:NamedThing']\n        description: >-\n          The object category closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          biolink classes that are ancestors of 'biolink:Disease' in the\n          biolink model.  Note: typically the \"subclass of\" and \"part of\" \n          relations are used to construct the closure, but other relations\n          may be used as well.\n    annotations:\n      denormalized: true\n\n  subject label closure:\n    is_a: association slot\n    description: >-\n      Used to hold the subject label closure of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    range: string\n    examples:\n      - value: [\"BRACA1\"]\n        description: >-\n          The subject label closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          labels that are ancestors of 'BRCA1' in the\n          biolink model.\n    annotations:\n      denormalized: true\n\n  object label closure:\n    is_a: association slot\n    description: >-\n      Used to hold the object label closure of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    range: string\n    examples:\n      - value: [\"breast cancer\", \"cancer\"]\n        description: >-\n          The object label closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          labels that are ancestors of 'breast cancer' in the\n          biolink model.\n    annotations:\n      denormalized: true\n\n  subject namespace:\n    aliases: [\"subject prefix\"]\n    is_a: association slot\n    description: >-\n      Used to hold the subject namespace of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: false\n    domain: association\n    range: string\n    examples:\n      - value: \"NCBIGene\"\n        description: >-\n          The subject namespace of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is 'NCBIGene'.\n    annotations:\n      denormalized: true\n\n  object namespace:\n    aliases: [\"object prefix\"]\n    is_a: association slot\n    description: >-\n      Used to hold the object namespace of an association. This is a denormalized \n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: false\n    domain: association\n    range: string\n    examples:\n      - value: \"MONDO\"\n        description: >-\n          The object namespace of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is 'MONDO'.\n    annotations:\n      denormalized: true\n\n  subject:\n    is_a: association slot\n    local_names:\n      ga4gh: annotation subject\n      neo4j: node with outgoing relationship\n    description: >-\n      connects an association to the subject of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    domain: association\n    range: named thing\n    slot_uri: rdf:subject\n    exact_mappings:\n      - owl:annotatedSource\n      - OBAN:association_has_subject\n\n  object:\n    is_a: association slot\n    description: >-\n      connects an association to the object of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    domain: association\n    range: named thing\n    local_names:\n      ga4gh: descriptor\n      neo4j: node with incoming relationship\n    slot_uri: rdf:object\n    exact_mappings:\n      - owl:annotatedTarget\n      - OBAN:association_has_object\n\n  predicate:\n    is_a: association slot\n    description: >-\n      A high-level grouping for the relationship type. AKA minimal predicate.\n      This is analogous to category for nodes.\n    domain: association\n    notes: >-\n      Has a value from the Biolink related_to hierarchy. In RDF,  this\n      corresponds to rdf:predicate and in Neo4j this corresponds to the\n      relationship type. The convention is for an edge label in snake_case\n      form. For example, biolink:related_to, biolink:causes, biolink:treats\n    range: predicate type\n    required: true\n    local_names:\n      ga4gh: annotation predicate\n      translator: predicate\n    slot_uri: rdf:predicate\n    exact_mappings:\n      - owl:annotatedProperty\n      - OBAN:association_has_predicate\n\n  logical interpretation:\n    is_a: association slot\n    required: false\n    domain: association\n    range: LogicalInterpretationEnum\n    exact_mappings:\n      - os:LogicalInterpretation\n\n  relation:\n    deprecated: true\n\n  negated:\n    is_a: association slot\n    range: boolean\n    description: >-\n      if set to true, then the association is negated i.e. is not true\n\n  has confidence level:\n    is_a: association slot\n    range: confidence level\n    description: >-\n      connects an association to a qualitative term denoting the level of confidence\n\n  has evidence:\n    is_a: association slot\n    range: evidence type\n    description: >-\n      connects an association to an instance of supporting evidence\n    exact_mappings:\n      - RO:0002558\n    multivalued: true\n\n  has supporting study result:\n    is_a: association slot\n    description: >-\n      connects an association to an instance of supporting study result\n\n  log odds ratio:\n    is_a: association slot\n    description: >-\n      The logarithm of the odds ratio, or the ratio of the odds of event Y occurring in an exposed group versus the \n      odds of event Y occurring in a non-exposed group.\n    range: float\n\n  log odds ratio 95 ci:\n    is_a: association slot\n    description: >-\n      The ninety-five percent confidence range in which the true log odds ratio for the sample population falls.\n    range: float\n\n  total sample size:\n    is_a: dataset count\n    description: >-\n      The total number of patients or participants within a sample population.\n    range: integer\n\n\n  mechanism of action:\n    is_a: association slot\n    range: boolean\n    description: >-\n      a boolean flag to indicate if the edge is part of a path or subgraph of a knowledge graph that constitutes\n      the mechanism of action for a result.\n    exact_mappings:\n      - NCIT:C54680\n      - MI:2044\n      - LOINC:MTHU019741\n\n  knowledge source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which the knowledge expressed in an Association was\n      retrieved, directly or indirectly. This can be any resource through which the\n      knowledge passed on its way to its currently serialized form. In practice,\n      implementers should use one of the more specific subtypes of this generic property.\n    close_mappings:\n      - pav:providedBy\n\n  provided by:\n    is_a: node property\n    description: >-\n      The value in this node property represents the knowledge provider that created or assembled the\n      node and all of its attributes.  Used internally to represent how a particular node made its way into a\n      knowledge provider or graph.\n    multivalued: true\n\n  primary knowledge source:\n    is_a: knowledge source\n    description: >-\n      The most upstream source of the knowledge expressed in an Association that an\n      implementer can identify.  Performing a rigorous analysis of upstream data providers is expected; every effort\n      is made to catalog the most upstream source of data in this property.  Only one data source should be declared\n      primary in any association.  \"aggregator knowledge source\" can be used to capture non-primary sources.\n    notes: >-\n      For example: a single ChemicalToGene Edge originally curated by ClinicalTrials.org, is aggregated by ChEMBL, then \n      incorporated into the MolePro KP, then sent via TRAPI message to the ARAGORN ARA, and finally sent to \n      the NCATS ARS. The retrieval path for this Edge is as follows: \n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   MolePro  --retrieved_from--> ChEMBL --retrieved_from-->  ClinicalTrials.gov\n      The \"primary knowledge source\" for this edge is \"infores:clinical-trials-gov\".  \"infores:chembl\" and \"infores:molecular_data_provider\"\n      are listed in the \"aggregator knowledge source\" property.\n    multivalued: false\n\n  aggregator knowledge source:\n    is_a: knowledge source\n    description: >-\n      An intermediate aggregator resource from which knowledge expressed in an Association was\n      retrieved downstream of the original source, on its path to its current serialized form.\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP, \n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse, \n      the Edge is passed to the Ranking Agent’s ARAGORN ARA, \n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of \n      data from which the knowledge was derived.   \n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which data was retrieved and subsequently used as\n      evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP, \n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse, \n      the Edge is passed to the Ranking Agent’s ARAGORN ARA, \n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of \n      data from which the knowledge was derived.   \n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data set:\n    is_a: association slot\n    description: >-\n      A set of data used as evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    multivalued: true\n\n  chi squared statistic:\n    is_a: association slot\n    range: float\n    description: >-\n      represents the chi-squared statistic computed from observations\n    exact_mappings:\n      - STATO:0000030\n\n  p value:\n    aliases: ['unadjusted p value']\n    is_a: association slot\n    range: float\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    exact_mappings:\n      - OBI:0000175\n      - NCIT:C44185\n      - EDAM-DATA:1669\n\n  evidence count:\n    is_a: association slot\n    description: >-\n      The number of evidence instances that are connected to an association.\n    range: integer\n\n  dataset count:\n    is_a: association slot\n    description: >-\n      The total number of instances (e.g., number of patients, number of rows, etc) in a dataset/cohort.\n    range: integer\n    examples:\n      - value: 100000\n\n  concept count subject:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the subject slot of an association.\n    range: integer\n    examples:\n      - value: 489\n\n  concept count object:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the object slot of an association.\n    range: integer\n\n  concept pair count:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      both the subject and object concept of an association.\n    range: integer\n    examples:\n      - value: 1731\n\n  expected count:\n    is_a: association slot\n    description: >-\n      The expected (calculated) number of instances in a dataset/cohort whose records contain both the subject and \n      object concept of an association if the subject and object concepts are independent.\n\n  relative frequency subject:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in \n      records within a dataset/cohort, relative to the frequency at which the subject\n      concept appears in these same records.\n    range: float\n    examples:\n      - value: 0.01840490798\n\n  relative frequency object:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in \n      records within a dataset/cohort, relative to the frequency at which the object\n      concept appears in these same records.\n    range: string\n\n  relative frequency subject confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_subject calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  relative frequency object confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_object calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  adjusted p value:\n    is_a: p value\n    description: >-\n      The adjusted p-value is the probability of obtaining test results\n      at least as extreme as the results actually observed, under the assumption that\n      the null hypothesis is correct, adjusted for multiple comparisons.  \n      P is always italicized and capitalized. The actual P value* should be expressed (P=. 04) \n      rather than expressing a statement of inequality (P<. 05), unless P<.\n    range: float\n\n  bonferonni adjusted p value:\n    is_a: adjusted p value\n    description: >-\n      The Bonferroni correction is an adjustment made to P values when several dependent or independent \n      statistical tests are being performed simultaneously on a single data set. To perform a Bonferroni \n      correction, divide the critical P value (α) by the number of comparisons being made.  P is always italicized and \n      capitalized. The actual P value* should be expressed (P=. 04) rather than expressing a statement of inequality \n      (P<. 05), unless P<.\n    range: float\n    examples:\n      - value: 0.018\n\n  supporting text:\n    is_a: association slot\n    description: The segment of text from a document that supports the mined assertion.\n    multivalued: true\n    range: string\n    examples:\n      - value: The administration of 50g/ml bupivacaine promoted maximum breast cancer.\n\n  supporting documents:\n    deprecated: true\n    is_a: association slot\n    description: >-\n      One or more referenceable documents that report the statement expressed in an Association, or provide \n      information used as evidence supporting this statement.\n    range: uriorcurie\n    multivalued: true\n    examples:\n      - value: PMID:12345678\n\n  subject location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the subject concept of the extracted assertion.\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  object location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the object concept of the extracted assertion\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  extraction confidence score:\n    is_a: association slot\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    range: integer\n    examples:\n      - value: 15\n\n  supporting document type:\n    is_a: association slot\n    description: >-\n      The document type (e.g., Journal Article, Case Study, Preprint) for\n      the supporting document used in a Text Mining Result.\n    range: string\n    examples:\n      - value: Journal Article\n\n  supporting document year:\n    is_a: association slot\n    description: >-\n      The document year (typically the publication year) for the supporting\n      document used in a Text Mining Result.\n    range: integer\n    examples:\n      - value: 1999\n\n  supporting text section type:\n    is_a: association slot\n    description: >-\n      The section of the supporting text of a Text Mining Result within\n      the supporting document. This is in the form of the name of the document section\n      (e.g., Abstract, Introduction) that contains the supporting text.\n    range: string\n    examples:\n      - value: Introduction\n\n  ln ratio:\n    is_a: association slot\n    description: the natural log of the ratio of co-occurrence to expected\n    range: float\n    examples:\n      - value: 2.922827136\n\n  ln ratio confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the ln_ratio calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: float\n    examples:\n      - value: 2.922827136\n\n  interacting molecules category:\n    is_a: association slot\n    range: ontology class\n    exact_mappings:\n      - MI:1046\n    values_from:\n      - MI\n    examples:\n      - value: MI:1048\n        description: smallmolecule-protein\n\n  expression site:\n    description: >-\n      location in which gene or protein expression takes place.\n      May be cell, tissue, or organ.\n    is_a: association slot\n    range: anatomical entity\n    examples:\n      - value: UBERON:0002037\n        description: cerebellum\n\n  phenotypic state:\n    description: >-\n      in experiments (e.g. gene expression) assaying diseased or unhealthy\n      tissue, the phenotypic state can be put here, e.g. MONDO ID.\n      For healthy tissues, use XXX.\n    is_a: association slot\n    range: disease or phenotypic feature\n\n\n  publications:\n    aliases: ['supporting publications', 'supporting documents']\n    description: >-\n      One or more publications that report the statement expressed in an \n      Association, or provide information used as evidence supporting this statement.\n    comments: >-\n        The notion of a ‘Publication’ is considered broadly to include any \n        document made available for public consumption. It covers journal issues, \n        individual articles, and books - and also things like article pre-prints, \n        white papers, patents, drug labels, web pages, protocol documents, etc. \n    is_a: association slot\n    multivalued: true\n    range: publication\n\n  associated environmental context:\n    is_a: association slot\n    description: >-\n      An attribute that can be applied to an association where the association holds between two entities\n      located or occurring in a particular environment. For example, two microbial taxa may interact in the context of\n      a human gut; a disease may give rise to a particular phenotype in a particular environmental exposure.\n       # TODO: add examples of values for this property.\n\n  sequence localization attribute:\n    is_a: association slot\n    domain: genomic sequence localization\n    description: >-\n      An attribute that can be applied to a genome sequence localization edge. These edges\n      connect a nucleic acid entity such as an exon to an entity such as a chromosome. Edge properties are used\n      to ascribe specific positional information and other metadata to the localization. In pragmatic terms\n      this can be thought of as columns in a GFF3 line.\n\n  interbase coordinate:\n    is_a: sequence localization attribute\n    aliases: ['zero-based', 'half-open', 'space-based']\n    description: >-\n      A position in interbase coordinates. Interbase coordinates start at position 0 instead of position 1.\n      This is applied to a sequence localization edge.\n    range: integer\n\n  start interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 0).\n    close_mappings:\n      - faldo:begin\n    annotations:\n      opposite_of: end interbase coordinate\n\n  end interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity ends\n      on the chromosome or other entity to which it is located on.\n    close_mappings:\n      - faldo:end\n    annotations:\n      opposite_of: start interbase coordinate\n\n  start coordinate:\n    is_a: base coordinate\n    aliases: ['start']\n    description: >-\n      The position at which the subject genomic entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 1).\n    exact_mappings:\n      - gff3:start\n    close_mappings:\n      - faldo:begin\n\n  end coordinate:\n    is_a: base coordinate\n    aliases: ['end']\n    description: >-\n      The position at which the subject genomic entity ends\n      on the chromosome or other entity to which it is located on.\n    exact_mappings:\n      - gff3:end\n    close_mappings:\n      - faldo:end\n\n  genome build:\n    is_a: sequence localization attribute\n    description: >-\n      The version of the genome on which a feature is located.\n      For example, GRCh38 for Homo sapiens.\n    range: StrandEnum\n    exact_mappings:\n      - gff3:strand\n\n  strand:\n    is_a: sequence localization attribute\n    description: >-\n      The strand on which a feature is located. Has a value of '+'\n      (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).\n    range: StrandEnum\n    exact_mappings:\n      - gff3:strand\n\n  phase:\n    is_a: sequence localization attribute\n    domain: coding sequence\n    description: >-\n      The phase for a coding sequence entity. For example, phase of a\n      CDS as represented in a GFF3 with a value of 0, 1 or 2.\n    range: PhaseEnum\n    exact_mappings:\n      - gff3:phase\n\n  FDA approval status:\n    is_a: association slot\n    description: >-\n    range: FDAApprovalStatusEnum\n\n  supporting study metadata:\n    is_a: association slot\n    description: >-\n      Information about a study used to generate information used as evidence to support the knowledge expressed in an \n      Association. In practice, data creators should use one of the more specific subtypes of this property.\n    abstract: true\n\n  supporting study method type:\n    is_a: supporting study metadata\n    description: >-\n      A type of method that was applied in a study used to generate the information used as evidence (e.g. a type of \n      experimental assay, or statistical calculation, or computational analysis).\n    range: uriorcurie\n\n  supporting study method description:\n    is_a: supporting study metadata\n    description: >-\n      A uri or curie pointing to information about the methodology used to generate data supporting an Association.\n    range: uriorcurie\n\n  supporting study size:\n    is_a: supporting study metadata\n    description: >-\n      The sample size used in a study that provided evidence for the association (e.g. 'n' of a cohort for a \n      clinical study).\n    range: integer\n\n  supporting study cohort:\n    is_a: supporting study metadata\n    description: >-\n      A description of a study population/cohort that was interrogated to provide evidence for the association \n      (e.g. the inclusion and exclusion criteria).\n    range: string\n\n  supporting study date range:\n    is_a: supporting study metadata\n    description: >-\n      The date range over which data was collected in a study that provided evidence for an Association.\n    range: string\n\n  supporting study context:\n    is_a: supporting study metadata\n    description: >-\n      A term or terms describing the experimental setting/context in which evidence supporting the Association was \n      generated ('context' may be defined by many factors, including taxon, model system (e.g. cell line type), tissue \n      type, disease, etc.).\n    range: string\n\nclasses:\n\n  mapping collection:\n    description: >-\n      A collection of deprecated mappings.\n    abstract: true\n    slots:\n      - predicate mappings\n    tree_root: true\n\n  predicate mapping:\n    description: >-\n      A deprecated predicate mapping object contains the deprecated predicate and an example of the rewiring that should\n      be done to use a qualified statement in its place.\n    slots:\n      - mapped predicate\n      - subject aspect qualifier\n      - subject direction qualifier\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - predicate\n      - qualified predicate\n      - object aspect qualifier\n      - object direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object derivative qualifier\n      - object context qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - species context qualifier\n      - exact match\n      - narrow match\n      - broad match\n\n\n   ## ----------\n   ## ATTRIBUTES\n   ## ----------\n\n   ## Ontology Classes\n\n  ontology class:\n    mixin: true\n    slots:\n      - id\n    description: >-\n      a concept or class in an ontology, vocabulary or thesaurus. Note that nodes in\n      a biolink compatible KG can be considered both instances of biolink classes, and\n      OWL classes in their own right. In general you should not need to use this class directly.\n      Instead, use the appropriate biolink class. For example, for the GO concept of endocytosis (GO:0006897),\n      use bl:BiologicalProcess as the type.\n    exact_mappings:\n      - owl:Class\n      - schema:Class\n    comments:\n      - >-\n        This is modeled as a mixin. 'ontology class' should not be the primary type of a\n        node in the KG. Instead you should use an informative bioloink category, such as AnatomicalEntity\n        (for Uberon classes), ChemicalSubstance (for CHEBI or CHEMBL), etc\n      - >-\n        Note that formally this is a metaclass. Instances of this class are instances in the graph,\n        but can be the object of 'type' edges. For example, if we had a node in the graph representing\n        a specific brain of a specific patient (e.g brain001), this could have a category of bl:Sample,\n        and by typed more specifically with an ontology class UBERON:nnn, which has as category bl:AnatomicalEntity\n    see_also:\n      - https://github.com/biolink/biolink-model/issues/486\n    examples:\n      - value: UBERON:0000955\n        description: >-\n          the class 'brain' from the Uberon anatomy ontology\n    id_prefixes:\n      - MESH\n      - UMLS\n      - KEGG.BRITE  ## br/ko number\n  \n  annotation:\n    description: >-\n      Biolink Model root class for entity annotations.\n    abstract: true\n\n  quantity value:\n    is_a: annotation\n    description: >-\n      A value of an attribute that is quantitative and measurable,\n      expressed as a combination of a unit and a numeric value\n    slots:\n      - has unit\n      - has numeric value\n\n   # Alignment attempted of the biolink:Attribute model\n   # to the proposed TRAPI Release 1.1 Attribute schema, i.e.\n   #\n   # attribute_name: \"assertionAuthoredBy\",\n   # attribute_type: SEPIO:0000130,\n   # value: \"ORCID:12345\",\n   # value_type: \"wd:Q51044\",\n   # value_type_name: \"ORCID ID\"\n   # url: https://orcid.org/12345\n   # source: ORCID\n\n  attribute:\n    is_a: named thing\n    mixins:\n      - ontology class\n    description: >-\n      A property or characteristic of an entity.\n      For example, an apple may have properties such as color, shape, age, crispiness.\n      An environmental sample may have attributes such as depth, lat, long, material.\n    slots:\n      - name                    # 'attribute_name'\n      - has attribute type      # 'attribute_type'\n       # 'value', 'value_type', 'value_type_name'\n       # extracted from either of the next two slots\n      - has quantitative value\n      - has qualitative value\n      - iri                     # 'url'\n    slot_usage:\n      name:\n        description: >-\n          The human-readable 'attribute name' can be set to a string which reflects its context of\n          interpretation, e.g. SEPIO evidence/provenance/confidence annotation or it can default\n          to the name associated with the 'has attribute type' slot ontology term.\n    id_prefixes:\n      - EDAM-DATA\n      - EDAM-FORMAT\n      - EDAM-OPERATION\n      - EDAM-TOPIC\n    exact_mappings:\n      - SIO:000614\n    in_subset:\n      - samples\n\n  chemical role:\n    is_a: attribute\n    description: >-\n      \tA role played by the molecular entity or part thereof within a chemical context.\n    id_prefixes:\n      - CHEBI\n    exact_mappings:\n      - CHEBI:51086\n    examples:\n      - value: CHEBI:35469  # antidepressant role\n\n  biological sex:\n    is_a: attribute\n    exact_mappings:\n      - PATO:0000047\n\n  phenotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the phenotypic sex of the individual,\n      based upon the reproductive organs present.\n    exact_mappings:\n      - PATO:0001894\n\n  genotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the genotypic sex of the individual,\n      based upon genotypic composition of sex chromosomes.\n    exact_mappings:\n      - PATO:0020000\n\n  severity value:\n    is_a: attribute\n    description: >-\n      describes the severity of a phenotypic feature or disease\n\n  relationship quantifier:\n    mixin: true\n\n  sensitivity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  specificity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  pathognomonicity quantifier:\n    is_a: specificity quantifier\n    description: >-\n      A relationship quantifier between a variant or symptom and a disease, which is\n      high when the presence of the feature implies the existence of the disease\n    mixin: true\n\n  frequency quantifier:\n    is_a: relationship quantifier\n    mixin: true\n    slots:\n      - has count\n      - has total\n      - has quotient\n      - has percentage\n\n  chemical or drug or treatment:\n    mixin: true\n\n   ## ------\n   ## THINGS\n   ## ------\n\n  entity:\n    description: >-\n      Root Biolink Model class for all things and informational relationships, real or imagined.\n    abstract: true\n    slots:\n      - id\n      - iri\n      - category\n      - type    # rdf:type\n      - name\n      - description\n      - has attribute\n       # evidence code(s)?\n\n  named thing:\n    is_a: entity\n    description: \"a databased entity or concept/class\"\n    slots:\n      - provided by\n      - xref\n      - full name\n    slot_usage:\n      category:\n        required: true\n        pattern: '^biolink:[A-Z][A-Za-z]+$'\n    exact_mappings:\n      - BFO:0000001\n      - WIKIDATA:Q35120\n       # UMLS Semantic Group \"Objects\"\n      - UMLSSG:OBJC\n       # Entity\n      - STY:T071\n      - dcid:Thing\n\n  relationship type:\n    is_a: ontology class\n    description: >-\n      An OWL property used as an edge label\n\n  taxonomic rank:\n    description: >-\n      A descriptor for the rank within a taxonomic classification.\n      Example instance: TAXRANK:0000017 (kingdom)\n    is_a: ontology class\n    id_prefixes:\n      - TAXRANK\n    mappings:\n      - WIKIDATA:Q427626\n\n  organism taxon:\n    aliases: ['taxon', 'taxonomic classification']\n    description: >-\n      A classification of a set of organisms. Example instances:\n      NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria).\n      Can also be used to represent strains or subspecies.\n    is_a: named thing\n    slot_usage:\n      has taxonomic rank:\n        range: taxonomic rank\n        multivalued: false\n        mappings:\n          - WIKIDATA:P105\n    values_from:\n      - NCBITaxon\n    exact_mappings:\n      - WIKIDATA:Q16521\n      - STY:T001\n      - bioschemas:Taxon\n    narrow_mappings:\n      - dcid:BiologicalSpecies\n    id_prefixes:\n      - NCBITaxon\n      - MESH\n      - UMLS\n    in_subset:\n      - model_organism_database\n  \n   ## Temporal Entities\n  \n  event:\n    is_a: named thing\n    description: >-\n      Something that happens at a given place and time.\n    exact_mappings:\n      - NCIT:C25499\n       # UMLS \"Event\"\n      - STY:T051\n\n   ## Administrative Entities\n\n  administrative entity:\n    is_a: named thing\n    abstract: true\n\n  study result:\n    abstract: true\n    description: >- \n      A collection of data items from a study that are about a particular study subject or experimental unit (the \n      'focus' of the Result) - optionally with context/provenance metadata that may be relevant to the interpretation\n      of this data as evidence.\n    notes:\n      The data/metadata included in a Study Result object are typically a subset of data from a larger study data set, \n      that are selected by a curator because they may be useful as evidence for deriving knowledge about a specific \n      focus of the study. The notion of a 'study' here is defined broadly to include any research activity at any \n      scale that is aimed at generating knowledge or hypotheses. This may include a single assay or computational \n      analyses, or a larger scale clinical trial or experimental research investigation.\n    is_a: information content entity\n\n  study:\n    description: a detailed investigation and/or analysis\n    is_a: activity\n    exact_mappings:\n      - NCIT:C63536\n    close_mappings:\n      - SIO:001066\n      - SEPIO:0000004\n    narrow_mappings:\n      - SIO:000994\n\n  study variable:\n    is_a: information content entity\n    description: a variable that is used as a measure in the investigation of a study\n    narrow_mappings:\n      - NCIT:C142192  # specifies clinical study\n    close_mappings:\n      - STATO:0000258\n      - SIO:000367\n\n  common data element:\n    is_a: information content entity\n    description: >- \n      A Common Data Element (CDE) is a standardized, precisely defined question, paired with a set of allowable \n      responses, used systematically across different sites, studies, or clinical trials to ensure consistent \n      data collection. Multiple CDEs (from one or more Collections) can be curated into Forms. \n      (https://cde.nlm.nih.gov/home)\n    close_mappings:\n      - NCIT:C19984\n\n   ## epc result sets\n  concept count analysis result:\n    is_a: study result\n    description: >-\n      A result of a concept count analysis.\n\n  observed expected frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a observed expected frequency analysis.\n\n  relative frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a relative frequency analysis.\n\n  text mining result:\n    is_a: study result\n    description: >-\n      A result of text mining.\n\n  chi squared analysis result:\n    is_a: study result\n    description: >-\n      A result of a chi squared analysis.\n\n  log odds analysis result:\n    is_a: study result\n    description: >-\n      A result of a log odds ratio analysis.\n\n  agent:\n    is_a: administrative entity\n    aliases: ['group']\n    description: >-\n      person, group, organization or project that provides\n      a piece of information (i.e. a knowledge association)\n    slots:\n      - affiliation\n      - address\n    exact_mappings:\n      - prov:Agent\n      - dct:Agent\n    narrow_mappings:\n       # Organization\n      - UMLSSG:ORGA\n      - STY:T092\n       # Health Care Related Organization\n      - STY:T093\n       # Professional Society\n      - STY:T094\n       # Self-help or Relief Organization\n      - STY:T095\n       # Group\n      - STY:T096\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Different classes of agents have distinct preferred identifiers.\n          For publishers, use the ISBN publisher code.\n          See https://grp.isbn-international.org/ for publisher code lookups.\n          For editors, authors and  individual providers, use the individual's\n          ORCID if available; Otherwise, a ScopusID, ResearchID or\n          Google Scholar ID ('GSID') may be used if the author ORCID is unknown.\n          Institutional agents could be identified by an\n          International Standard Name Identifier ('ISNI') code.\n        values_from:\n           # CURIE space for publishers\n          - isbn\n           # CURIE space for authors\n          - ORCID\n          - ScopusID\n          - ResearchID\n          - GSID\n           # Institutional agents\n          - isni\n      name:\n        description: >-\n          it is recommended that an author's 'name' property\n          be formatted as \"surname, firstname initial.\"\n    id_prefixes:\n      - isbn\n      - ORCID\n      - ScopusID\n      - ResearchID\n      - GSID\n      - isni\n\n   ## General Information Entities\n\n  information content entity:\n    aliases: ['information', 'information artefact', 'information entity']\n    abstract: true\n    is_a: named thing\n    description: >-\n      a piece of information that typically describes\n      some topic of discourse or is used as support.\n    slots:\n      - license\n      - rights\n      - format\n      - creation date\n    id_prefixes:\n      - doi\n    exact_mappings:\n      - IAO:0000030\n    narrow_mappings:\n       # UMLS Semantic Group \"Concepts & Ideas\"\n      - UMLSSG:CONC\n       # Conceptual Entity\n      - STY:T077\n       # Idea or Concept\n      - STY:T078\n       # Temporal Concept\n      - STY:T079\n       # Qualitative Concept\n      - STY:T080\n       # Quantitative Concept\n      - STY:T081\n       # Spatial Concept\n      - STY:T082\n       # Regulation or Law\n      - STY:T089\n       # Group Attribute\n      - STY:T102\n       # Functional Concept\n      - STY:T169\n       # Language\n      - STY:T171\n       # Classification\n      - STY:T185\n\n  dataset:\n    description: >-\n      an item that refers to a collection of data from a data source.\n    is_a: information content entity\n    exact_mappings:\n      - IAO:0000100\n      - dctypes:Dataset\n      - schema:dataset\n      - dcid:Dataset\n\n  dataset distribution:\n    is_a: information content entity\n    description: >-\n      an item that holds distribution level information about a dataset.\n    slots:\n      - distribution download url\n    exact_mappings:\n      - dcat:Distribution\n\n  dataset version:\n    description: >-\n      an item that holds version level information about a dataset.\n    is_a: information content entity\n    slots:\n      - has dataset\n      - ingest date\n      - has distribution\n\n  dataset summary:\n    description: >-\n      an item that holds summary level information about a dataset.\n    is_a: information content entity\n    slots:\n      - source web page\n      - source logo\n\n  confidence level:\n    is_a: information content entity\n    description: >-\n      Level of confidence in a statement\n    values_from:\n      - cio\n    exact_mappings:\n      - CIO:0000028\n       # statement confidence\n      - SEPIO:0000187\n    close_mappings:\n       # assertion confidence levels\n      - SEPIO:0000167\n\n  evidence type:\n    is_a: information content entity\n    aliases: ['evidence code']\n    description: >-\n      Class of evidence that supports an association\n    values_from:\n      - eco\n    exact_mappings:\n      - ECO:0000000\n\n   ## Publications\n\n   # TODO: to review additional ontology relating to Publications, such as http://www.sparontologies.net/ontologies\n  publication:\n    is_a: information content entity\n    description: >-\n      Any ‘published’ piece of information. Publications are considered broadly \n      to include any document or document part made available in print or on the \n      web - which may include scientific journal issues, individual articles, and \n      books - as well as things like pre-prints, white papers, patents, drug \n      labels, web pages, protocol documents,  and even a part of a publication if \n      of significant knowledge scope (e.g. a figure, figure legend, or section \n      highlighted by NLP). \n    slots:\n      - authors\n      - pages\n      - summary\n      - keywords\n      - mesh terms\n      - xref\n     # In addition to embedded slots, instances of 'contributor association'\n     # may be used to more extensively document publisher, editor and author details\n    slot_usage:\n      id:\n        description: >-\n          Different kinds of publication subtypes will have different preferred\n          identifiers (curies when feasible). Precedence of identifiers for\n          scientific articles is as follows: PMID if available; DOI if not; actual\n          alternate CURIE otherwise. Enclosing publications (i.e. referenced by\n          'published in' node property) such as books and journals, should have\n          industry-standard identifier such as from ISBN and ISSN.\n      name:\n        description: >-\n          the 'title' of the publication is generally recorded in the 'name'\n          property (inherited from NamedThing). The field name 'title' is now also\n          tagged as an acceptable alias for the node property 'name' (just in case).\n      publication type:\n        required: true\n      pages:\n        multivalued: true\n        description: >-\n          When a 2-tuple of page numbers are provided, they represent\n          the start and end page of the publication within its parent publication context.\n          For books, this may be set to the total number of pages of the book.\n    exact_mappings:\n      - IAO:0000311\n    narrow_mappings:\n      - IAO:0000013\n       # UMLS Semantic Type \"Intellectual Product\"\n      - STY:T170\n    id_prefixes:\n      - PMID\n      - PMC\n      - doi\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book:\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Books should have industry-standard identifier such as from ISBN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'book'.\n    id_prefixes:\n      - isbn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book chapter:\n    is_a: publication\n    slots:\n      - published in\n      - volume\n      - chapter\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent book containing the chapter\n          should have industry-standard identifier from ISBN.\n    in_subset:\n      - model_organism_database\n\n  serial:\n    aliases: ['journal']\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slots:\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Serials (journals) should have industry-standard identifier such as from ISSN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'serial' or 'journal'.\n    id_prefixes:\n      - issn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  article:\n    is_a: publication\n    description: >-\n      a piece of writing on a particular topic presented as a stand-alone \n      section of a larger publication\t  \n    slots:\n      - published in\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent serial containing the article should\n          have industry-standard identifier from ISSN.\n      iso abbreviation:\n        description: >-\n          Optional value, if used locally as a convenience, is set\n          to the iso abbreviation of the 'published in' parent.\n    exact_mappings:\n      - SIO:000154\n      - fabio:article\n    id_prefixes:\n       # By inheritance, a DOI may be used as a publication identifier; there may be other relevant namespaces\n      - PMID\n    in_subset:\n      - model_organism_database\n\n  journal article:\n    is_a: article\n    description: >-\n      an article, typically presenting results of research, that is published \n      in an issue of a scientific journal.\n    exact_mappings:\n      - IAO:0000013\n      - fabio:JournalArticle\n    id_prefixes:\n      - PMID\n      - PMCID\n      - doi\n     \n  patent:\n    is_a: publication\n    description: >-\n      a legal document granted by a patent issuing authority which confers upon \n      the patenter the sole right to make, use and sell an invention for a set\n      period of time. \n    exact_mappings:\n      - SIO:000153\n      - IAO:0000313\n      - fabio:Patent\n\n  web page:\n    is_a: publication\n    description: >-\n      a document that is published according to World Wide Web standards, which \n      may incorporate text, graphics, sound, and/or other features.\n    exact_mappings:\n      - SIO:000302\n      - NCIT-OBO:C142749\n      - fabio:WebPage\n      \n  preprint publication:\n    is_a: publication\n    description: >-\n      a document reresenting an early version of an author's original scholarly work, \n      such as a research paper or a review, prior to formal peer review and publication \n      in a peer-reviewed scholarly or scientific journal.\n    exact_mappings:\n      - EFO:0010558\n      - fabio:Preprint\n\n  drug label:\n    is_a: publication\n    description: >-\n      a document accompanying a drug or its container that provides written, printed or\n      graphic information about the drug, including drug contents, specific instructions \n      or warnings for administration, storage and disposal instructions, etc. \n    broad_mappings:\n      - NCIT-OBO:C41203\n\n  retrieval source:\n    is_a: information content entity\n    description: >-\n      Provides information about how a particular InformationResource\n      served as a source from which knowledge expressed in an Edge, or\n      data used to generate this knowledge, was retrieved.\n    slots:\n      - resource id\n      - resource role\n      - upstream resource ids\n      - xref\n    slot_usage:\n      resource id:\n        required: true\n        description: >-\n          The InformationResource that served as a source for the\n          knowledge expressed in an Edge, or data used to generate this knowledge.\n      resource role:\n        required: true\n        description: >-\n            The role of the InformationResource in the retrieval of the\n            knowledge expressed in an Edge, or data used to generate this knowledge.\n      upstream resource ids:\n        description: >-\n          The InformationResources that served as a source for the\n          InformationResource that served as a source for the knowledge\n          expressed in an Edge, or data used to generate this knowledge.\n\n   ## Top Level Abstractions of Material & Process Entities\n\n  physical essence or occurrent:\n    description: >-\n      Either a physical or processual entity.\n    mixin: true\n\n  physical essence:\n    description: >-\n      Semantic mixin concept.  Pertains to entities that have\n      physical properties such as mass, volume, or charge.\n    is_a: physical essence or occurrent\n    mixin: true\n\n  physical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n    description: >-\n      An entity that has material reality (a.k.a. physical essence).\n    exact_mappings:\n       # Physical Object\n      - STY:T072\n    narrow_mappings:\n       # Manufactured Object\n      - STY:T073\n\n  occurrent:\n    description: >-\n      A processual entity.\n     # biolink:Occurrent is most consistently used as a mixin thus it should\n     # be declared as such and cannot inherit from the non-mixin biolink:NamedThing\n    is_a: physical essence or occurrent\n    mixin: true\n    exact_mappings:\n      - BFO:0000003\n\n  activity and behavior:\n    is_a: occurrent\n    mixin: true\n    description: >-\n      Activity or behavior of any independent integral living,\n      organization or mechanical actor in the world\n    exact_mappings:\n       # Activities & Behaviors\n      - UMLSSG:ACTI\n\n  activity:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      An activity is something that occurs over a period of time and acts upon\n      or with entities; it may include consuming, processing, transforming,\n      modifying, relocating, using, or generating entities.\n    exact_mappings:\n      - prov:Activity\n      - NCIT:C43431\n       # Activity\n      - STY:T052\n    narrow_mappings:\n       # Daily or Recreational Activity\n      - STY:T056\n       # Occupational Activity\n      - STY:T057\n       # Governmental or Regulatory Activity\n      - STY:T064\n       # Machine Activity\n      - STY:T066\n       # Research Activity\n      - STY:T062\n       # Educational Activity\n      - STY:T065\n       # Health Care Activity\n      - STY:T058\n\n  procedure:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      A series of actions conducted in a certain order or manner\n    exact_mappings:\n       # Procedures\n      - UMLSSG:PROC\n      - dcid:MedicalProcedure\n    narrow_mappings:\n       # Laboratory Procedure\n      - STY:T059\n       # Diagnostic Procedure\n      - STY:T060\n       # Therapeutic or Preventive Procedure\n      - STY:T061\n       # Molecular Biology Research Technique\n      - STY:T063\n    id_prefixes:\n      - CPT\n\n  phenomenon:\n    is_a: named thing\n    mixins:\n      - occurrent\n    description: >-\n      a fact or situation that is observed to exist or happen,\n      especially one whose cause or explanation is in question\n    broad_mappings:\n       # the inclusion of 'process' in the definition of these\n       # terms broadens them, relative to 'phenomenon'\n       # Phenomenon or Process\n      - STY:T067\n       # Human-caused Phenomenon or Process\n      - STY:T068\n       # Natural Phenomenon or Process\n      - STY:T070\n    exact_mappings:\n       # Phenomena\n      - UMLSSG:PHEN\n    narrow_mappings:\n       # Laboratory or Test Result\n      - STY:T034\n       # Biologic Function\n      - STY:T038\n       # Environmental Effect of Humans\n      - STY:T069\n\n  device:\n    is_a: named thing\n    description: >-\n      A thing made or adapted for a particular purpose, especially\n      a piece of mechanical or electronic equipment\n    narrow_mappings:\n      # Devices\n      - UMLSSG:DEVI\n      # Medical Device\n      - STY:T074\n      # Research Device\n      - STY:T075\n      # Drug Delivery Device\n      - STY:T203\n      # Biomedical or Dental Material\n      - STY:T122\n\n  diagnostic aid:\n    is_a: named thing\n    description: >-\n      A device or substance used to help diagnose disease or injury\n    exact_mappings:\n      - STY:T130  # Diagnostic Aid\n      - SNOMED:2949005  # Diagnostic aid\n\n   ## Scientific Studies\n\n  study population:\n    is_a: population of individual organisms\n    description: >-\n      A group of people banded together or treated as a group as participants in a research study.\n    close_mappings:\n      - WIKIDATA:Q7229825\n\n  subject of investigation:\n    mixin: true\n    description: >-\n      An entity that has the role of being studied in an investigation, study, or experiment\n\n  material sample:\n    aliases: ['biospecimen', 'sample', 'biosample', 'physical sample']\n    is_a: physical entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A sample is a limited quantity of something (e.g. an individual or set of individuals\n      from a population, or a portion of a substance) to be used for testing, analysis,\n      inspection, investigation, demonstration, or trial use. [SIO]\n    exact_mappings:\n      - OBI:0000747\n      - SIO:001050\n    id_prefixes:\n      - BIOSAMPLE\n      - GOLD.META\n\n   ## Earth Sciences\n\n  planetary entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists at the level of the whole planet\n\n  environmental process:\n    is_a: planetary entity\n    mixins:\n      - occurrent\n    exact_mappings:\n      - ENVO:02500000\n\n  environmental feature:\n    is_a: planetary entity\n    exact_mappings:\n      - ENVO:01000254\n\n  geographic location:\n    is_a: planetary entity\n    description: >-\n      a location that can be described in lat/long coordinates\n    slots:\n      - latitude\n      - longitude\n    exact_mappings:\n       # Geographic Areas\n      - UMLSSG:GEOG\n       # Geographic Area\n      - STY:T083\n\n  geographic location at time:\n    is_a: geographic location\n    description: >-\n      a location that can be described in lat/long coordinates, for a particular time\n    slots:\n      - timepoint\n\n   ## Biological Sciences\n\n  thing with taxon:\n    mixin: true\n    description: >-\n      A mixin that can be used on any entity that can be taxonomically classified.\n      This includes individual organisms; genes, their products and other molecular\n      entities; body parts; biological processes\n    slots:\n      - in taxon\n      - in taxon label\n\n  biological entity:\n    is_a: named thing\n    aliases: ['bioentity']\n    abstract: true\n    mixins:\n      - thing with taxon\n    narrow_mappings:\n      - WIKIDATA:Q28845870\n       # UMLS Semantic Type \"Experimental Model of Disease\"\n      - STY:T050\n       # SIO term is 'biological entity' but less inclusive than the Biolink scope\n      - SIO:010046\n      - STY:T129  # (imft, full name: Immunologic Factor\n\n  genomic entity:\n    mixin: true\n    slots:\n      - has biological sequence\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - STY:T028    # Gene or Genome\n      - GENO:0000897   # Genomic Entity\n\n  epigenomic entity:\n    mixin: true\n    slots:\n      - has biological sequence\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n\n  molecular entity:\n    is_a: chemical entity\n    description: >-\n      A molecular entity is a chemical entity composed of individual or\n      covalently bonded atoms.\n    slots:\n      - is metabolite\n    narrow_mappings:\n      - STY:T088  # Carbohydrate\n      - STY:T085  # Molecular Sequence\n      - CHEBI:23367  # Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical,\n       # radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.\n      - bioschemas:MolecularEntity\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.DRUG     # D number\n      - KEGG.ENVIRON  # E number\n      - KEGG\n      - UMLS\n\n  chemical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n      - chemical or drug or treatment  # issue 701\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    description: >-\n      A chemical entity is a physical entity that pertains to chemistry or\n      biochemistry.\n    slots:\n      - trade name\n      - available from\n      - max tolerated dose\n      - is toxic\n      - has chemical role\n    exact_mappings:\n      - CHEBI:24431\n      - SIO:010004  # Chemical entity\n      - WIKIDATA:Q79529  # Chemical substance\n      - STY:T103  # Chemical\n    narrow_mappings:\n      - WIKIDATA:Q43460564\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS  # CAS numbers are given for things like plant extracts as well.\n      - UMLS\n      - ncats.drug\n      - PHARMGKB.CHEMICAL\n\n  small molecule:\n    is_a: molecular entity\n    aliases: ['chemical substance']\n    description: >-\n      A small molecule entity is a molecular entity characterized by availability\n      in small-molecule databases of SMILES, InChI, IUPAC, or other\n      unambiguous representation of its precise chemical structure; for\n      convenience of representation, any valid chemical representation is\n      included, even if it is not strictly molecular (e.g., sodium ion).\n    narrow_mappings:\n      - STY:T196  # Element, Ion, or Isotope\n      - CHEBI:59999\n      - bioschemas:ChemicalSubstance\n      - STY:T123  # (bacs, full name: Biologically Active Substance)\n      - STY:T131  # (hops, full name: Hazardous or Poisonous Substance)\n      - STY:T125  # (horm, full name: Hormone)\n      - STY:T197  # (inch, full name: Inorganic Chemical)\n      - STY:T109  # (orch, full name: Organic Chemical)\n      - STY:T118  # (carb, full name: Carbohydrate) - note that this term is missing from newer SRDEF files (depreciated?), but is still used by the SEMMEDDB data files)\n      - STY:T111  # (eico, full name: Eicosanoid) - same note as above\n      - STY:T119  # (lipd, full name: Lipid) - same note as above\n      - STY:T124  # (nsba, full name: Neuroreactive Substance or Biogenic Amine) - same note as above\n      - STY:T115  # (opco, full name: Organophosphorus Compound) - same note as above\n      - STY:T110  # (strd, full name: Steroid) - same note as above\n      - STY:T127  # vitamin\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   ## G number\n      - KEGG.DRUG     ## D number\n      - KEGG.ENVIRON  ## E number\n      - KEGG\n      - BIGG.METABOLITE\n      - UMLS\n      - foodb.compound\n    slot_usage:\n      id:\n        examples:\n          - value: CHEBI:29101\n            description: sodium ion\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n\n\n  chemical mixture:\n    is_a: chemical entity\n    description: >-\n      A chemical mixture is a chemical entity composed of two or more\n      molecular entities.\n    slots:\n      - is supplement\n      - highest FDA approval status\n      - drug regulatory status world wide\n      - routes of delivery\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   ## G number\n      - KEGG.DRUG     ## D number\n      - KEGG\n      - KEGG.ENVIRON  ## E number\n      - UMLS\n    close_mappings:\n      - dcid:ChemicalCompound\n    narrow_mappings:\n      - NCIT:C20401  # monoclonal antibody\n      - SNOMEDCT:49616005  # monoclonal antibody (substance)\n\n  nucleic acid entity:\n    is_a: molecular entity\n    description: >-\n      A nucleic acid entity is a molecular entity characterized by\n      availability in gene databases of nucleotide-based sequence\n      representations of its precise sequence; for convenience of\n      representation, partial sequences of various kinds are included.\n    aliases: ['sequence feature', 'genomic entity']\n    mixins:\n      - genomic entity\n      - thing with taxon\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0000110\n    narrow_mappings:\n      - STY:T086    # Nucleotide Sequence\n      - STY:T114    # Nucleic Acid, Nucleoside, or Nucleotide\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.ENVIRON  # E number\n\n  regulatory region:\n    aliases: ['regulatory element']\n    description: >-\n      A region (or regions) of the genome that contains known or putative regulatory elements\n      that act in cis- or trans- to affect the transcription of gene\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0005836\n      - SIO:001225\n      - WIKIDATA:Q3238407\n\n  accessible dna region:\n    aliases: ['dnase-seq accessible region', 'atac-seq accessible region']\n    description: >-\n      A region (or regions) of a chromatinized genome that has been measured to be more\n      accessible to an enzyme such as DNase-I or Tn5 Transpose\n    is_a: regulatory region\n    mixins:\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0002231\n\n  transcription factor binding site:\n    aliases: ['tf binding site', 'binding site']\n    description: >-\n      A region (or regions) of the genome that contains a region of DNA known or predicted\n      to bind a protein that modulates gene transcription\n    is_a: regulatory region\n    mixins:\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0000235\n\n  molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A molecular mixture is a chemical mixture composed of two or more\n      molecular entities with known concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   ## G number\n      - KEGG.DRUG     ## D number\n      - KEGG\n      - KEGG.ENVIRON  ## E number\n      - UMLS\n      - ncats.drug\n\n  complex molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A complex molecular mixture is a chemical mixture composed of two or\n      more molecular entities with unknown concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   ## G number\n      - KEGG.DRUG     ## D number\n      - KEGG\n      - KEGG.ENVIRON  ## E number\n      - UMLS\n\n  biological process or activity:\n    description: >-\n      Either an individual molecular activity, or a collection of\n      causally connected molecular activities in a biological system.\n    is_a: biological entity\n    mixins:\n      - occurrent\n      - ontology class\n    id_prefixes:\n      - GO\n      - REACT\n    slots:\n      - has input\n      - has output\n      - enabled by\n\n  molecular activity:\n    description: >-\n      An execution of a molecular function carried out by a\n      gene product or macromolecular complex.\n    is_a: biological process or activity\n    aliases: ['molecular function', 'molecular event', 'reaction']\n    mixins:\n      - occurrent\n      - ontology class\n    slot_usage:\n      has input:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the input for the reaction\n      has output:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the output for the reaction\n      enabled by:\n        range: macromolecular machine mixin\n        description: >-\n          The gene product, gene, or complex that catalyzes the reaction\n    exact_mappings:\n      - GO:0003674\n      # UMLS Semantic Type \"Molecular Function\"\n      - STY:T044\n    broad_mappings:\n      - STY:T045  # Genetic Function\n    id_prefixes:\n      - GO\n      - REACT\n      - RHEA\n      - metacyc.reaction\n      - EC\n      - TCDB\n      - KEGG.REACTION   ## R number\n      - KEGG\n      - KEGG.ORTHOLOGY  ## in particular for gut microbiome use case in issue  #888\n      - UMLS\n      - BIGG.REACTION\n      - SEED.REACTION\n      - METANETX.REACTION\n\n  biological process:\n    is_a: biological process or activity\n    mixins:\n      - occurrent\n      - ontology class\n    description: >-\n      One or more causally connected executions of molecular functions\n    exact_mappings:\n      - GO:0008150\n      - SIO:000006\n      - WIKIDATA:Q2996394\n    broad_mappings:\n      - WIKIDATA:P682\n    id_prefixes:\n      - GO\n      - REACT\n      - metacyc.reaction\n      - KEGG.MODULE  ## M number\n      - KEGG\n\n  pathway:\n    is_a: biological process\n    mixins:\n      - ontology class\n    exact_mappings:\n      - PW:0000001\n      - WIKIDATA:Q4915012\n    narrow_mappings:\n      - SIO:010526\n      - GO:0007165\n    id_prefixes:\n      - GO\n      - REACT\n      - KEGG\n      - SMPDB\n      - MSigDB\n      - PHARMGKB.PATHWAYS\n      - WIKIPATHWAYS\n      - FB   # FlyBase FBgg*\n      - PANTHER.PATHWAY\n      - KEGG.PATHWAY\n      - ncats.bioplanet\n\n  physiological process:\n    aliases: ['physiology']\n    is_a: biological process\n    mixins:\n      - ontology class\n    close_mappings:\n    exact_mappings:\n       # Physiologic Function\n      - STY:T039\n      - WIKIDATA:Q30892994\n    narrow_mappings:\n       # Organism Function\n      - STY:T040\n       # Organ or Tissue Function\n      - STY:T042\n       # Cell Function\n      - STY:T043\n       # Genetic Function\n      - STY:T045\n    id_prefixes:\n      - GO\n      - REACT\n\n  behavior:\n    is_a: biological process\n    mixins:\n      - ontology class\n      - activity and behavior\n    exact_mappings:\n      - GO:0007610\n       # Behavior\n      - STY:T053\n    narrow_mappings:\n       # Mental Process\n      - STY:T041\n       # Social Behavior\n      - STY:T054\n       # Individual Behavior\n      - STY:T055\n\n   ## (Bio)chemistry\n\n  processed material:\n    is_a: chemical mixture\n    description: >-\n      A chemical entity (often a mixture) processed\n      for consumption for nutritional, medical or technical use.\n      Is a material entity that is created or changed during material processing.\n    exact_mappings:\n      - OBI:0000047\n    id_prefixes:\n      - UMLS\n\n  drug:\n    is_a: molecular mixture\n    mixins:\n      - chemical or drug or treatment\n      - ontology class\n    description: >-\n      A substance intended for use in the diagnosis, cure,\n      mitigation, treatment, or prevention of disease\n    comments:\n      - The CHEBI ID represents a role rather than a substance\n    broad_mappings:\n       # Pharmacologic Substance: Any natural, endogenously-derived,\n       # synthetic or semi synthetic compound with pharmacologic activity.\n      - STY:T121\n    exact_mappings:\n      - WIKIDATA:Q12140\n      - CHEBI:23888\n       # UMLS Semantic Type \"Clinical Drug\"\n      - STY:T200\n      - dcid:Drug\n    narrow_mappings:\n       # Antibiotic\n      - STY:T195\n    id_prefixes:\n      - ncats.drug\n      - RXCUI\n      - NDC\n      - UMLS\n\n   ## Food\n\n  environmental food contaminant:\n    is_a: chemical entity\n    related_mappings:\n       # substance role\n      - CHEBI:78299\n\n  food additive:\n    is_a: chemical entity\n    related_mappings:\n       # substance role\n      - CHEBI:64047\n\n  food:\n    is_a: chemical mixture\n    description: >-\n      A substance consumed by a living organism as a source of nutrition\n    id_prefixes:\n      - foodb.food\n      - FOODON\n      - UMLS\n      - NCIT\n    exact_mappings:\n       # Food\n      - STY:T168\n\n   ## Biology and Biomedical Sciences\n\n   ## Biological Attributes\n\n  organism attribute:\n    is_a: attribute\n    description: >-\n      describes a characteristic of an organismal entity.\n    exact_mappings:\n       # Organism Attribute\n      - STY:T032\n\n  phenotypic quality:\n    aliases: ['phenotypic properties']\n    is_a: organism attribute\n    description: >-\n      A property of a phenotype\n    examples:\n      - value: weight\n\n    mappings:\n      - PATO:0000001\n\n  genetic inheritance:\n    aliases: ['inheritance']\n    is_a: biological entity\n    description: >-\n      The pattern or 'mode' in which a particular genetic trait or disorder is passed from one\n      generation to the next, e.g. autosomal dominant, autosomal recessive, etc.\n    exact_mappings:\n      - HP:0000005\n      - GENO:0000141\n      - NCIT:C45827\n    close_mappings:\n      - STY:T045\n    id_prefixes:\n      - HP\n      - GENO\n      - NCIT\n\n    ## Biological Entities\n\n  organismal entity:\n    description: >-\n      A named entity that is either a part of an organism, a whole organism,\n      population or clade of organisms, excluding chemical entities\n    abstract: true\n    is_a: biological entity\n    mixins:\n      - subject of investigation\n    slot_usage:\n      has attribute:\n        description: >-\n          may often be an organism attribute\n    exact_mappings:\n      - WIKIDATA:Q7239\n        # UMLS Semantic Group \"Living Beings\"\n        # Several of the associated semantic types here are probably not\n      # that relevant to the Biolink world, but we keep them here for now.\n      - UMLSSG:LIVB\n      - CARO:0001010\n    narrow_mappings:\n      - STY:T008  # animal\n\n  bacterium:\n    is_a: organismal entity\n    description: >-\n      A member of a group of unicellular microorganisms lacking a nuclear membrane,\n      that reproduce by binary fission and are often motile.\n    exact_mappings:\n      - NCBITaxon:1869227\n      - STY:T007  # Bacterium\n\n  virus:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A virus is a microorganism that replicates itself as a microRNA\n      and infects the host cell.\n    exact_mappings:\n      - NCBITaxon:10239\n      - STY:T005  # Virus\n\n  cellular organism:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    description: >-\n    exact_mappings:\n      - NCBITaxon:131567\n\n  mammal:\n    is_a: cellular organism\n    mixins:\n      - subject of investigation\n    description: >-\n      A member of the class Mammalia, a clade of endothermic amniotes\n      distinguished from reptiles and birds by the possession of hair,\n      three middle ear bones, mammary glands, and a neocortex\n    exact_mappings:\n      - NCBITaxon:40674  # mammal\n      - STY:T015  # mammal\n      - NCIT:C14234  # Mamalia\n      - FOODON:03411134  # mammal\n\n  human:\n    is_a: mammal\n    mixins:\n      - subject of investigation\n    description: >-\n      A member of the the species Homo sapiens.\n    exact_mappings:\n      - STY:T016\n      - NCBITaxon:9606\n      - SIO:000485\n      - NCIT:C14225\n\n  plant:\n    is_a: cellular organism\n    description: >-\n    exact_mappings:\n      - NCIT:C14258  # plant\n      - STY:T002  # plant\n      - PO:0000003  # whole plant\n      - NCIT:C79659  # plant, whole\n\n  invertebrate:\n    is_a: cellular organism\n    description: >-\n      An animal lacking a vertebral column. This group consists of 98% of all animal species.\n    exact_mappings:\n      - NCIT:C14228  # invertebrate\n      - OMIT:0008565  # invertebrates\n      - FOODON:00002452  # invertebrate animals\n      - STY:T011\n    related_mappings:\n      - NCBITaxon:1767184  # unidentified invertebrate\n\n  vertebrate:\n    is_a: cellular organism\n    description: >-\n      A sub-phylum of animals consisting of those having a bony or cartilaginous vertebral column.\n    exact_mappings:\n      - STY:T010\n      - NCBITaxon:7742  # vertebrata\n      - OMIT:0015545  # vertebrates\n    related_mappings:\n      - NCBITaxon:2662825  # unclassified vertebrata (in:vertebrates)\n\n  fungus:\n    is_a: cellular organism\n    description: >-\n      A kingdom of eukaryotic, heterotrophic organisms that live as saprobes or parasites, \n      including mushrooms, yeasts, smuts, molds, etc. They reproduce either sexually or\n      asexually, and have life cycles that range from simple to complex. Filamentous \n      fungi refer to those that grow as multicellular colonies (mushrooms and molds).\n    exact_mappings:\n      - STY:T004\n      - NCIT:C14209\n      - FOODON:03411261\n    narrow_mappings:\n      - FOODON:03315605  # fungus (edible)\n      - NCBITaxon:1670606  # fungus metagenome\n\n  life stage:\n    is_a: organismal entity\n    description: >-\n      A stage of development or growth of an organism,\n      including post-natal adult stages\n    exact_mappings:\n      - UBERON:0000105\n    narrow_mappings:\n      # constrained to human life cycles\n      - HsapDv:0000000\n    in_subset:\n      - model_organism_database\n    id_prefixes:\n      - HsapDv\n      - MmusDv\n      - ZFS\n      - FBdv\n      - WBls\n      - UBERON\n\n  individual organism:\n    aliases: ['organism']\n    description: >-\n      An instance of an organism. For example, Richard Nixon,\n      Charles Darwin, my pet cat. Example ID: ORCID:0000-0002-5355-2576\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - SIO:010000\n      # Organism\n      - STY:T001\n    narrow_mappings:\n      # Wikidata considers its definition of 'individual' to be constrained to human persons?\n      - WIKIDATA:Q795052\n      - foaf:Person\n    id_prefixes:\n      - ORCID\n\n  population of individual organisms:\n    description: >-\n      A collection of individuals from the same taxonomic class\n      distinguished by one or more characteristics.  Characteristics can\n      include, but are not limited to, shared geographic location, genetics,\n      phenotypes.\n    local_names:\n      ga4gh: population\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - PCO:0000001\n      - SIO:001061\n      # UMLS Semantic Type \"Population Group\"\n      - STY:T098\n      - OBI:0000181\n    id_prefixes:\n      - HANCESTRO\n    in_subset:\n      - model_organism_database\n\n  disease or phenotypic feature:\n    aliases: ['phenome']\n    is_a: biological entity\n    description: >-\n      Either one of a disease or an individual phenotypic feature.\n      Some knowledge resources such as Monarch treat these as\n      distinct, others such as MESH conflate.  Please see definitions of phenotypic feature and disease in this model\n      for their independent descriptions.  This class is helpful to enforce domains and ranges  \n      that may involve either a disease or a phenotypic feature.\n    union_of:\n      - disease\n      - phenotypic feature\n    narrow_mappings:\n      # UMLS Semantic Type \"Finding\" - more specialized use of 'disease or phenotypic feature'\n      - STY:T033\n\n  disease:\n    aliases: ['condition', 'disorder', 'medical condition']\n    description: >-\n      A disorder of structure or function, especially one that produces specific \n      signs, phenotypes or symptoms or that affects a specific location and is not simply a \n      direct result of physical injury.  A disposition to undergo pathological processes that exists in an \n      organism because of one or more disorders in that organism.\n    is_a: disease or phenotypic feature\n    exact_mappings:\n      - MONDO:0000001\n      - DOID:4\n      - NCIT:C2991\n      - WIKIDATA:Q12136\n      - SIO:010299\n       # UMLS Semantic Group \"Disorders\"\n      - UMLSSG:DISO\n       # Disease or Syndrome\n      - STY:T047\n      - dcid:Disease\n    narrow_mappings:\n       # Congenital Abnormality\n      - STY:T019\n       # Acquired Abnormality\n      - STY:T020\n       # Mental or Behavioral Dysfunction\n      - STY:T048\n       # Cell or Molecular Dysfunction\n      - STY:T049\n       # Anatomical Abnormality\n      - STY:T190\n       # Neoplastic Process\n      - STY:T191\n       # disease susceptibility\n      - MONDO:0042489\n    id_prefixes:\n      - MONDO\n      - DOID\n      - OMIM\n      - OMIM.PS\n      - orphanet\n      - EFO\n      - UMLS\n      - MESH\n      - MEDDRA\n      - NCIT\n      - SNOMEDCT\n      - medgen\n      - ICD10\n      - ICD9\n      - KEGG.DISEASE  ## H number\n      - HP\n      - MP\n      - PHARMGKB.DISEASE\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n\n  phenotypic feature:\n    aliases: ['sign', 'symptom', 'phenotype', 'trait', 'endophenotype']\n    is_a: disease or phenotypic feature\n    description: >-\n      A combination of entity and quality that makes up a phenotyping statement. An observable characteristic of an \n      individual resulting from the interaction of its genotype with its molecular and physical environment.\n    examples:\n      - value: MP:0001262\n        description: decreased body weight\n    exact_mappings:\n      - UPHENO:0001001\n      - SIO:010056\n      - WIKIDATA:Q104053\n      - UMLS:C4021819\n      - NCIT:C16977\n      - SNOMEDCT:8116006  # documented as phenotypic finding and phenotype, also referred to as \"SCTID:8116006\" at SNOMEDCT\n      - MESH:D010641  # phenotype\n    narrow_mappings:\n      - STY:T184  # Sign or Symptom\n      - WIKIDATA:Q169872  # Sign or Symptom\n       # presentation of a disease in clinical medicine\n      - WIKIDATA:Q25203551\n      - ZP:00000000  # zebrafish phenotype\n      - FBcv:0001347  # fly phenotype\n      - HP:0000118  # human phenotype\n      - MP:0000001  # mouse phenotype\n      - WBPhenotype:0000886  # worm phenotype\n      - XPO:00000000  # frog phenotype\n      - FYPO:0000001  # fission yeast phenotype\n      - APO:0000017  # phenotype\n      - TO:0000387  # more narrowly defined here for plants; our definition conflates trait and phenotype.\n    broad_mappings:\n      - BFO:0000019  # quality\n      - PATO:0000001  # quality\n    id_prefixes:\n      - HP\n      - EFO  # covered by BFO quality mapping\n      - NCIT\n      - UMLS\n      - MEDDRA  # can not find a mapping\n      - MP\n      - ZP\n      - UPHENO\n      - APO\n      - FBcv\n      - WBPhenotype\n      - SNOMEDCT\n      - MESH\n      - XPO\n      - FYPO\n      - TO\n    in_subset:\n      - model_organism_database\n\n  behavioral feature:\n    description: >-\n      A phenotypic feature which is behavioral in nature.\n    is_a: phenotypic feature\n    exact_mappings:\n      - NBO:0000243\n\n  anatomical entity:\n    is_a: organismal entity\n    mixins:\n      - physical essence\n    description: >-\n      A subcellular location, cell type or gross anatomical part\n    exact_mappings:\n      - UBERON:0001062\n      - WIKIDATA:Q4936952\n       # UMLS Semantic Group \"Anatomy\"\n      - UMLSSG:ANAT\n       # UMLS Semantic Type \"Anatomical Structure\"\n      - STY:T017\n      - FMA:62955  # anatomical entity\n      - CARO:0000000   # anatomical entity\n      - SIO:001262  # anatomical entity\n      - STY:T029  # Body Location or Region\n      - STY:T030  # Body Space or Junction\n    narrow_mappings:\n      - ZFA:0100000  # zebrafish anatomical entity\n      - FBbt:10000000  # fly anatomical entity\n      - EMAPA:0  # mouse anatomical entity\n      - MA:0000001  # mouse anatomical entity\n      - XAO:0000000  # frog anatomical entity\n      - WBbt:0000100  # c. elegans anatomical entity\n      - NCIT:C12219  # human anatomical entity\n      - GO:0110165  # cellular anatomical entity, also used directly in CL\n      - STY:T031  # Body Substance\n    related_mappings:\n      - SNOMEDCT:123037004  # body structure\n    id_prefixes:\n      - UBERON\n      - GO\n      - CL\n      - UMLS\n      - MESH\n      - NCIT\n      - EMAPA\n      - ZFA\n      - FBbt\n      - WBbt\n    in_subset:\n      - model_organism_database\n\n  cellular component:\n    aliases: ['cell component', 'cell part']\n    is_a: anatomical entity\n    description: >-\n      A location in or around a cell\n    exact_mappings:\n      - GO:0005575\n      - SIO:001400\n      - WIKIDATA:Q5058355\n       # Cell Component\n      - STY:T026\n    broad_mappings:\n      - WIKIDATA:P681\n    id_prefixes:\n      - GO\n      - MESH\n      - UMLS\n      - NCIT\n      - SNOMEDCT\n      - CL\n      - UBERON\n\n  cell:\n    is_a: anatomical entity\n    exact_mappings:\n      - GO:0005623\n      - CL:0000000\n      - SIO:010001\n      - WIKIDATA:Q7868\n       # UMLS Semantic Type \"Cell\"\n      - STY:T025\n      - MESH:D002477  # cells\n    id_prefixes:\n      - CL\n      - PO\n      - UMLS\n      - NCIT\n      - MESH\n      - UBERON\n      - SNOMEDCT\n      - MESH\n\n  cell line:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - CLO:0000031\n    id_prefixes:\n      - CLO\n\n  gross anatomical structure:\n    aliases: ['tissue', 'organ']\n    is_a: anatomical entity\n    exact_mappings:\n      - UBERON:0010000\n      - WIKIDATA:Q4936952\n    narrow_mappings:\n       # UMLS Semantic Type \"Body Part, Organ, or Organ Component\"\n      - STY:T023\n       # UMLS Semantic Type \"Tissue\"\n      - STY:T024\n       # Embryonic Structure\n      - STY:T018\n    id_prefixes:\n      - UBERON\n      - UMLS\n      - MESH\n      - NCIT\n      - PO\n      - FAO\n\n\n   ## entity mixins\n\n  chemical entity or gene or gene product:\n    description: >-\n      A union of chemical entities and children, and gene or gene product.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  chemical entity or protein or polypeptide:\n    description: >-\n      A union of chemical entities and children, and protein and polypeptide.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  macromolecular machine mixin:\n    description: >-\n      A union of gene locus, gene product, and macromolecular complex. These are\n      the basic units of function in a cell. They either carry out individual\n      biological activities, or they encode molecules which do this.\n    mixin: true\n    slots:\n      - name\n    slot_usage:\n      name:\n        range: symbol type\n        description: >-\n          genes are typically designated by a short symbol and a full name.\n          We map the symbol to the default display name\n          and use an additional slot for full name\n\n  gene or gene product:\n    description: >-\n      A union of gene loci or gene products.\n      Frequently an identifier for one will be used as proxy for another\n    is_a: macromolecular machine mixin\n    mixin: true\n    id_prefixes:\n      - CHEMBL.TARGET\n      - IUPHAR.FAMILY\n\n  gene:\n    description: >-\n      A region (or regions) that includes all of the sequence elements\n      necessary to encode a functional transcript. A gene locus may include\n      regulatory regions, transcribed regions and/or other\n      functional sequence regions.\n    is_a: biological entity\n    mixins:\n      - gene or gene product\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    slots:\n      - symbol\n      - synonym\n      - xref\n    exact_mappings:\n      - SO:0000704\n      - SIO:010035\n      - WIKIDATA:Q7187\n      - dcid:Gene\n    id_prefixes:\n      - NCBIGene\n      - ENSEMBL\n      - HGNC\n      - MGI\n      - ZFIN\n      - dictyBase\n      - WB\n      - WormBase  # we have two prefixes here as wormbase supports WormBase:WBGene00000898\n       # and alliancegenome.org and identifiers.org supports WB:WBGene00000898.\n      - FB\n      - RGD\n      - SGD\n      - PomBase\n      - OMIM\n      - KEGG.GENES  ## org:gene\n      - UMLS\n      - Xenbase\n      - AspGD\n      - PHARMGKB.GENE\n    in_subset:\n      - translator_minimal\n      - model_organism_database\n    narrow_mappings:\n      - bioschemas:gene\n    broad_mappings:\n      - NCIT:C45822\n\n\n  gene product mixin:\n    description: >-\n      The functional molecular product of a single gene locus.\n      Gene products are either proteins or functional RNA molecules.\n    is_a: gene or gene product\n    mixin: true\n    slots:\n      - synonym\n      - xref\n    exact_mappings:\n      - WIKIDATA:Q424689\n      - GENO:0000907\n      - NCIT:C26548\n    id_prefixes:\n      - UniProtKB\n      - gtpo\n      - PR\n\n  gene product isoform mixin:\n    description: >-\n      This is an abstract class that can be mixed in with different kinds of\n      gene products to indicate that the gene product is intended to represent\n      a specific isoform rather than a canonical or reference or generic\n      product. The designation of canonical or reference may be arbitrary,\n      or it may represent the superclass of all isoforms.\n    is_a: gene product mixin\n    mixin: true\n\n  macromolecular complex:\n    description: >-\n      A stable assembly of two or more macromolecules, i.e. proteins,\n      nucleic acids, carbohydrates or lipids, in which at least one\n      component is a protein and the constituent parts function together.\n    is_a: biological entity\n    mixins:\n      - macromolecular machine mixin\n    exact_mappings:\n      - GO:0032991\n      - WIKIDATA:Q22325163\n    id_prefixes:\n      - INTACT\n      - GO\n      - PR\n      - REACT\n      - ComplexPortal\n    in_subset:\n      - model_organism_database\n\n   ## Genomic Classes\n  nucleosome modification:\n    is_a: biological entity\n    description: >-\n      A chemical modification of a histone protein within a nucleosome octomer or a substitution of a histone with a variant histone isoform.\n      e.g. Histone 4 Lysine 20 methylation (H4K20me), histone variant H2AZ substituting H2A.\n    mixins:\n      - gene product isoform mixin\n      - genomic entity\n      - epigenomic entity\n\n  genome:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A genome is the sum of genetic material within a cell or virion.\n    exact_mappings:\n      - SO:0001026\n      - SIO:000984\n      - WIKIDATA:Q7020\n    close_mappings:\n      - dcid:GenomeAssemblyUnit\n    in_subset:\n      - model_organism_database\n\n  exon:\n    is_a: nucleic acid entity\n    description: >-\n      A region of the transcript sequence within a gene which is not\n      removed from the primary RNA transcript by RNA splicing.\n    exact_mappings:\n      - SO:0000147\n      - SIO:010445\n      - WIKIDATA:Q373027\n\n  transcript:\n    is_a: nucleic acid entity\n    description: >-\n      An RNA synthesized on a DNA or RNA template by an RNA polymerase.\n    exact_mappings:\n      - SO:0000673\n      - SIO:010450\n      - WIKIDATA:Q7243183\n      - dcid:RNATranscript\n    id_prefixes:\n      - ENSEMBL  # ENSEMBL:ENST for human\n      - FB       # FlyBase:FBtr\n    in_subset:\n      - model_organism_database\n\n  coding sequence:\n    is_a: nucleic acid entity\n    exact_mappings:\n      - SO:0000316\n      - SIO:001390\n\n  polypeptide:\n    aliases: ['amino acid entity']\n    is_a: biological entity\n    description: >-\n      A polypeptide is a molecular entity characterized by availability\n      in protein databases of amino-acid-based sequence representations\n      of its precise primary structure; for convenience of representation,\n      partial sequences of various kinds are included, even if they do not\n      represent a physical molecule.\n    mixins:\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL  # ENSEMBL:ENSP*\n      - FB       # FlyBase FBpp*\n      - UMLS\n    in_subset:\n      - model_organism_database\n    narrow_mappings:\n      - SO:0000104  # polypeptide defined in SO conflates protein and polypeptide\n       # Amino Acid, Peptide, or Protein\n      - STY:T116\n       # Amino Acid Sequence\n      - STY:T087\n\n  protein:\n    description: >-\n      A gene product that is composed of a chain of amino acid sequences\n      and is produced by ribosome-mediated translation of mRNA\n    is_a: polypeptide\n    mixins:\n      - gene product mixin\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL  # ENSEMBL:ENSP*\n      - FB       # FlyBase FBpp*\n      - UMLS\n      - MESH\n      - ncats.drug\n    broad_mappings:\n      - bioschemas:Protein\n    exact_mappings:\n      - PR:000000001\n      - SIO:010043\n      - WIKIDATA:Q8054\n    narrow_mappings:\n       # Enzyme\n      - STY:T126\n       # Receptor\n      - STY:T192\n\n  protein isoform:\n    aliases: ['proteoform']\n    is_a: protein\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or\n      reference protein. See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4114032/\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - UniProtKB  # UniProtKB:([A-Z0-9]+-\\d+)\n      - UNIPROT.ISOFORM\n      - PR\n      - ENSEMBL\n\n  protein domain:\n    is_a: biological entity\n    description: >-\n      A conserved part of protein sequence and (tertiary) structure that can evolve,\n      function, and exist independently of the rest of the protein chain.\n      Protein domains maintain their structure and function independently of the proteins in which they are found.\n      e.g. an SH3 domain.\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    exact_mappings:\n      - NCIT:C13379\n      - SIO:001379\n      - UMLS:C1514562\n  \n  posttranslational modification:\n    is_a: biological entity\n    description: >-\n      A chemical modification of a polypeptide or protein that occurs after translation. \n      e.g. polypeptide cleavage to form separate proteins, methylation or acetylation of histone tail amino acids, \n      protein ubiquitination.\n    mixins:\n      - gene product isoform mixin\n  \n  protein family:\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n\n  nucleic acid sequence motif:\n    aliases: ['consensus sequence']\n    is_a: biological entity\n    description: >-\n      A linear nucleotide sequence pattern that is widespread and has, or is conjectured to have,\n      a biological significance. e.g. the TATA box promoter motif, transcription factor binding\n      consensus sequences.\n\n  RNA product:\n    is_a: transcript\n    mixins:\n      - gene product mixin\n    exact_mappings:\n      - CHEBI:33697\n       # This SIO term here also mapped to 'biolink:Transcript'; however,\n       # since this 'biolink:RNAProduct' relates more to the biochemical\n       # essence of RNA, then map the SIO term instead to 'biolink:Transcript'\n       # - SIO:010450\n      - WIKIDATA:Q11053\n    id_prefixes:\n      - RNACENTRAL\n\n  RNA product isoform:\n    is_a: RNA product\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or reference RNA\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - RNACENTRAL\n\n  noncoding RNA product:\n    is_a: RNA product\n    id_prefixes:\n      - RNACENTRAL\n      - NCBIGene\n      - ENSEMBL\n    exact_mappings:\n      - SO:0000655\n      - SIO:001235\n\n  microRNA:\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000276\n      - SIO:001397\n      - WIKIDATA:Q310899\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  siRNA:\n    aliases: ['small interfering RNA', 'RNAi']\n    description: >-\n      A small RNA molecule that is the product of a longer exogenous or\n      endogenous dsRNA, which is either a bimolecular duplex or very long\n      hairpin, processed (via the Dicer pathway) such that numerous siRNAs\n      accumulate from both strands of the dsRNA. SRNAs trigger the cleavage\n      of their target molecules.\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000646\n      - WIKIDATA:Q203221\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  gene grouping mixin:\n    description: >-\n      any grouping of multiple genes or gene products\n    mixin: true\n    slots:\n      - has gene or gene product\n\n  gene family:\n    aliases: ['orthogroup', 'protein family']\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n       # These term definitions focus only on proteins;\n       # the 'biolink:GeneFamily' term would be more inclusive\n       # to describe gene loci, non-coding RNA, etc.\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    description: >-\n      any grouping of multiple genes or gene products related by common descent\n    id_prefixes:\n      - PANTHER.FAMILY\n      - HGNC.FAMILY\n      - FB        # FlyBase FBgg*\n      - interpro  # note: may be better to introduce a protein domain/family\n      - CATH\n      - CDD\n      - HAMAP\n      - PFAM\n      - PIRSF\n      - PRINTS\n      - PRODOM\n      - PROSITE\n      - SMART\n      - SUPFAM\n      - TIGRFAM\n      - CATH.SUPERFAMILY\n      - RFAM  ## RNAs only\n      - KEGG.ORTHOLOGY  ## aka KEGG.KO: K number\n      - EGGNOG\n      - COG\n    in_subset:\n      - model_organism_database\n\n  zygosity:\n    is_a: attribute\n    exact_mappings:\n      - GENO:0000133\n\n  genotype:\n    is_a: biological entity\n    mixins:\n      - physical essence\n      - genomic entity\n      - ontology class\n    description: >-\n      An information content entity that describes a genome by specifying the\n      total variation in genomic sequence and/or gene expression, relative to\n      some established background\n    comments:\n      - Consider renaming as genotypic entity\n    slots:\n      - has zygosity\n    exact_mappings:\n      - GENO:0000536\n      - SIO:001079\n    id_prefixes:\n      - ZFIN\n      - FB    # FlyBase FBba*\n    in_subset:\n      - model_organism_database\n\n  haplotype:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A set of zero or more Alleles on a single instance of a Sequence[VMC]\n     #    slots:\n     #      - completeness\n    exact_mappings:\n      - GENO:0000871\n      - SO:0001024\n      - VMC:Haplotype\n\n  sequence variant:\n    aliases: ['allele']\n    local_names:\n      agr: allele\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A sequence_variant is a non exact copy of a sequence_feature or genome exhibiting one or more sequence_alteration.\n    comments:\n      - This class is for modeling the specific state at a locus.\n        A single DBSNP rs ID could correspond to more than one sequence variants\n        (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)\n    exact_mappings:\n       # slightly broader semantics than SO:0001059 - 'sequence alteration'\n       # describes a sequence feature that may have 1..* sequence alterations\n      - WIKIDATA:Q15304597\n    close_mappings:\n      - dcid:Allele\n      - SO:0001060\n      - VMC:Allele\n      - GENO:0000002\n      - SIO:010277\n      - SO:0001060\n    id_prefixes:\n      - CAID  # ClinGen Allele Registry\n      - CLINVAR\n      - WIKIDATA\n       # - CIViC needs IRI mapping\n      - DBSNP\n      - MGI\n      - ZFIN\n      - FB\n      - RGD\n      - AGRKB\n      - SPDI\n      - WB\n      - WormBase\n      - PHARMGKB.VARIANT\n    alt_descriptions:\n      AGR: >-\n        An entity that describes a single affected, endogenous allele.\n        These can be of any type that matches that definition\n      VMC: >-\n        A contiguous change at a Location\n    slots:\n      - has gene\n    slot_usage:\n      has gene:\n        multivalued: true\n        description: Each allele can be associated with any number of genes\n      has biological sequence:\n        description: >-\n          The state of the sequence w.r.t a reference sequence\n      id:\n        examples:\n          - value: ZFIN:ZDB-ALT-980203-1091\n            description: ti282a allele from ZFIN\n          - value: CLINVAR:17681\n            description: NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)\n    in_subset:\n      - model_organism_database\n\n  snv:\n    aliases: ['single nucleotide variant', 'single nucleotide polymorphism', 'snp']\n    is_a: sequence variant\n    description: >-\n      SNVs are single nucleotide positions in genomic DNA at\n      which different sequence alternatives exist\n    exact_mappings:\n      - SO:0001483\n\n  reagent targeted gene:\n    aliases: ['sequence targeting reagent']\n    is_a: biological entity\n    description: >-\n      A gene altered in its expression level in the context of some\n      experiment as a result of being targeted by gene-knockdown\n      reagent(s) such as a morpholino or RNAi.\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - GENO:0000504\n    in_subset:\n      - model_organism_database\n\n   ## --------------------\n   ## Clinical\n   ## Attributes, Cohort,\n   ## Exposures & Outcomes\n   ## --------------------\n\n   ## Clinical Attributes\n\n  clinical attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a clinical manifestation\n    exact_mappings:\n       # Clinical Attribute\n      - STY:T201\n\n  clinical measurement:\n    is_a: clinical attribute\n    description: >-\n      A clinical measurement is a special kind of attribute which results\n      from a laboratory observation from a subject individual or sample.\n      Measurements can be connected to their subject by the 'has attribute' slot.\n    slot_usage:\n      has attribute type:\n        required: true\n        multivalued: false\n        values_from:\n          - EFO\n          - LOINC\n    exact_mappings:\n      - EFO:0001444\n\n  clinical modifier:\n    is_a: clinical attribute\n    description: >-\n      Used to characterize and specify the phenotypic abnormalities\n      defined in the phenotypic abnormality sub-ontology, with respect\n      to severity, laterality, and other aspects\n    exact_mappings:\n\n\n  clinical course:\n    is_a: clinical attribute\n    description: >-\n      The course a disease typically takes from its onset, progression in time, and\n      eventual resolution or death of the affected individual\n    exact_mappings:\n      - HP:0031797\n\n  onset:\n    is_a: clinical course\n    description: >-\n      The age group in which (disease) symptom manifestations appear\n    exact_mappings:\n      - HP:0003674\n\n  clinical entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists in the clinical domain and outside the\n      biological realm. Diseases are placed under biological entities\n\n  clinical trial:\n    is_a: clinical entity\n\n  clinical intervention:\n    is_a: clinical entity\n\n  clinical finding:\n    is_a: phenotypic feature\n    description: >-\n      this category is currently considered broad enough to tag clinical lab\n      measurements and other biological attributes taken as 'clinical traits'\n      with some statistical score, for example, a p value in genetic associations.\n    slot_usage:\n      has attribute:\n        range: clinical attribute\n    id_prefixes:\n      - LOINC\n      - NCIT\n      - EFO\n\n  hospitalization:\n    is_a: clinical intervention\n    exact_mappings:\n      - SNOMEDCT:32485007\n      - WIKIDATA:Q3140971\n\n  socioeconomic attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a socioeconomic manifestation\n\n   ## Cohorts\n\n  case:\n    aliases: ['patient', 'proband']\n    is_a: individual organism\n    description: >-\n      An individual (human) organism that has a patient role in some clinical context.\n    mixins:\n      - subject of investigation\n\n  cohort:\n    is_a: study population\n    description: >-\n      A group of people banded together or treated as a group who share common characteristics.\n      A cohort 'study' is a particular form of longitudinal study that samples a cohort,\n      performing a cross-section at intervals through time.\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - WIKIDATA:Q1303415\n    narrow_mappings:\n       # Professional or Occupational Group\n      - STY:T097\n       # Family Group\n      - STY:T099\n       # Age Group\n      - STY:T100\n       # Patient or Disabled Group\n      - STY:T101\n\n   ## Exposures\n\n  exposure event:\n    is_a: ontology class\n    aliases: ['exposure', 'experimental condition']\n    mixin: true\n    slots:\n      - timepoint\n    description: >-\n      A (possibly time bounded) incidence of a feature of the environment of an organism that\n      influences one or more phenotypic features of that organism, potentially mediated by genes\n    exact_mappings:\n      - XCO:0000000\n    in_subset:\n      - model_organism_database\n\n   # TODO - confirm that genomic backgrounds are exposures\n  genomic background exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - gene grouping mixin\n      - physical essence\n      - genomic entity\n      - thing with taxon\n      - ontology class\n    description: >-\n      A genomic background exposure is where an individual's specific genomic background\n      of genes, sequence variants or other pre-existing genomic conditions constitute\n      a kind of 'exposure' to the organism, leading to or influencing an outcome.\n\n  pathological entity mixin:\n    description: >-\n      A pathological (abnormal) structure or process.\n    mixin: true\n    exact_mappings:\n      - MPATH:0\n    narrow_mappings:\n      - HP:0000118\n\n  pathological process:\n    description: >-\n      A biologic function or a process having an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: biological process\n    mixins:\n      - pathological entity mixin\n    exact_mappings:\n      - OBI:1110122\n      - NCIT:C16956\n      - MPATH:596\n    narrow_mappings:\n       # metastasis\n      - NCIT:C19151\n      - EFO:0009708\n      - STY:T046\n      - STY:T037\n\n  pathological process exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A pathological process, when viewed as an exposure, representing\n      a precondition, leading to or influencing an outcome,\n      e.g. autoimmunity leading to disease.\n\n  pathological anatomical structure:\n    description: >-\n      An anatomical structure with the potential of have an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: anatomical entity\n    mixins:\n      - pathological entity mixin\n    exact_mappings:\n      - MPATH:603\n\n  pathological anatomical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      An abnormal anatomical structure, when viewed as an exposure,\n      representing an precondition, leading to or influencing an outcome,\n      e.g. thrombosis leading to an ischemic disease outcome.\n\n  disease or phenotypic feature exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - pathological entity mixin\n    description: >-\n      A disease or phenotypic feature state, when viewed as an exposure,\n      represents an precondition, leading to or influencing an outcome,\n      e.g. HIV predisposing an individual to infections; a relative deficiency\n      of skin pigmentation predisposing an individual to skin cancer.\n\n  chemical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    slots:\n      - has quantitative value\n    description: >-\n      A chemical exposure is an intake of a particular\n      chemical entity.\n    exact_mappings:\n       # this ECTO term is not visibly defined but\n       # the 9000000-series identifiers seems to be the\n       # numeric space of chemical exposure definitions\n      - ECTO:9000000\n      - SIO:001399\n\n  complex chemical exposure:\n    is_a: attribute\n    description: >-\n      A complex chemical exposure is an intake of a chemical\n      mixture (e.g. gasoline), other than a drug.\n\n  drug exposure:\n    is_a: chemical exposure\n    aliases: ['drug intake', 'drug dose', 'medication intake']\n    description: >-\n      A drug exposure is an intake of a particular drug.\n    mixins:\n      - exposure event\n    broad_mappings:\n       # slightly broader than just drug effects on a biological system\n      - SIO:001005\n    exact_mappings:\n      - ECTO:0000509\n\n   # TODO: deprecate?\n  drug to gene interaction exposure:\n    description: >-\n      drug to gene interaction exposure is a drug exposure is where the\n      interactions of the drug with specific genes are known to constitute\n      an 'exposure' to the organism, leading to or influencing an outcome.\n    is_a: drug exposure\n    mixins:\n      - gene grouping mixin\n\n  treatment:\n    aliases: ['medical action', 'medical intervention']\n     # 'named thing' seems too generic here but not sure what applies better here\n    is_a: named thing\n    mixins:\n      - exposure event\n      - chemical or drug or treatment\n    description: >-\n      A treatment is targeted at a disease or phenotype and may involve\n      multiple drug 'exposures', medical devices and/or procedures\n    slots:\n      - has drug\n      - has device\n      - has procedure\n    exact_mappings:\n      - OGMS:0000090\n      - SIO:001398\n    broad_mappings:\n      - MAXO:0000058\n\n  biotic exposure:\n    is_a: attribute\n    aliases: ['viral exposure', 'bacterial exposure']\n    mixins:\n      - exposure event\n    description: >-\n      An external biotic exposure is an intake of (sometimes pathological)\n      biological organisms (including viruses).\n\n  geographic exposure:\n    is_a: environmental exposure\n    mixins:\n      - exposure event\n    description: >-\n      A geographic exposure is a factor relating to geographic\n      proximity to some impactful entity.\n    close_mappings:\n      - dcid:GeologicalEvent\n    narrow_mappings:\n      - dcid:IceStoremEvent\n      - dcid:LakeEffectSnowEvent\n      - dcid:LandslideEvent\n      - dcid:MarineDenseFogEvent\n      - dcid:MarineLighteningEvent\n      - dcid:MarineStrongWindEvent\n      - dcid:MarineThunderstormWindEvent\n      - dcid:StormEvent\n      - dcid:StormSurgeTideEvent\n      - dcid:StrongWindEvent\n      - dcid:ThunderstormWindEvent\n      - dcid:TornadoEvent\n      - dcid:TropicalDepressionEvent\n      - dcid:WinterStoremEvent\n\n  environmental exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A environmental exposure is a factor relating to abiotic processes\n      in the environment including sunlight (UV-B), atmospheric (heat,\n      cold, general pollution) and water-born contaminants.\n\n  behavioral exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A behavioral exposure is a factor relating to behavior impacting an individual.\n\n  socioeconomic exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A socioeconomic exposure is a factor relating to social and\n      financial status of an affected individual (e.g. poverty).\n    slot_usage:\n      has attribute:\n        range: socioeconomic attribute\n        required: true\n\n   ## Outcomes\n\n  outcome:\n    mixin: true\n    description: >-\n      An entity that has the role of being the consequence of an exposure event.\n      This is an abstract mixin grouping of various categories of possible\n      biological or non-biological (e.g. clinical) outcomes.\n\n  pathological process outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of a pathological process.\n\n  pathological anatomical outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of an abnormal anatomical structure.\n\n  disease or phenotypic feature outcome:\n    mixins:\n      - outcome\n    description: >-\n      Physiological outcomes resulting from an exposure event which\n      is the manifestation of a disease or other characteristic phenotype.\n\n  behavioral outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the manifestation of human behavior.\n\n  hospitalization outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the increased manifestation of acute (e.g. emergency\n      room visit) or chronic (inpatient) hospitalization.\n\n  mortality outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome of death from resulting from an exposure event.\n\n  epidemiological outcome:\n    mixins:\n      - outcome\n    description: >-\n      An epidemiological outcome, such as societal disease\n      burden, resulting from an exposure event.\n    related_mappings:\n      - NCIT:C19291\n\n  socioeconomic outcome:\n    mixins:\n      - outcome\n    description: >-\n      An general social or economic outcome, such as\n      healthcare costs, utilization, etc., resulting from an exposure event\n\n   ## ------------\n   ## ASSOCIATIONS\n   ## ------------\n\n  association:\n    is_a: entity\n    description: >-\n      A typed association between two entities, supported by evidence\n    comments:\n      - This is roughly the model used by biolink and ontobio at the moment\n    slots:\n      - subject\n      - predicate\n      - object\n      - negated\n      - qualifiers\n      - publications\n      - has evidence\n      - knowledge source\n      - primary knowledge source\n      - aggregator knowledge source\n      - timepoint\n      - original subject\n      - original predicate\n      - original object\n       # denormalized fields\n      - subject category\n      - object category\n      - subject closure\n      - object closure\n      - subject category closure\n      - object category closure\n      - subject namespace\n      - object namespace\n      - subject label closure\n      - object label closure\n      - retrieval source ids\n    slot_usage:\n      type:\n        description: rdf:type of biolink:Association should be fixed at rdf:Statement\n      category:\n        range: category type\n        required: false\n    exact_mappings:\n      - OBAN:association\n      - rdf:Statement\n      - owl:Axiom\n\n\n  chemical entity assesses named thing association:\n    is_a: association\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: assesses\n\n\n  contributor association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      Any association between an entity (such as a publication)\n      and various agents that contribute to its realisation\n    slot_usage:\n      subject:\n        range: information content entity\n        description: >-\n          information content entity which an agent has helped realise\n      predicate:\n        subproperty_of: contributor\n        description: >-\n          generally one of the predicate values 'provider', 'publisher', 'editor' or 'author'\n      object:\n        range: agent\n        description: >-\n          agent helping to realise the given entity (e.g. such as a publication)\n      qualifiers:\n        description: >-\n          this field can be used to annotate special characteristics of an\n          agent relationship, such as the fact that a given author agent of\n          a publication is the 'corresponding author'\n\n  genotype to genotype part association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a genotypic entity that is a sub-component of it\n    slot_usage:\n      predicate:\n        subproperty_of: has variant part\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: genotype\n        description: >-\n          child genotype\n\n  genotype to gene association:\n    description: >-\n      Any association between a genotype and a gene.\n      The genotype have have multiple variants in that gene or a single one.\n      There is no assumption of cardinality\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: gene\n        description: >-\n          gene implicated in genotype\n\n  genotype to variant association:\n    description: >-\n      Any association between a genotype and a sequence variant.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: sequence variant\n        description: >-\n          gene implicated in genotype\n\n  gene to gene association:\n    aliases: ['molecular or genetic interaction']\n    description: >-\n      abstract parent class for different kinds of gene-gene or gene product\n      to gene product relationships. Includes homology and interaction.\n    abstract: true\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          the subject gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n      object:\n        range: gene or gene product\n        description: >-\n          the object gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n\n  gene to gene homology association:\n    description: >-\n      A homology association between two genes. May be orthology (in which\n      case the species of subject and object should differ) or paralogy\n      (in which case the species may be the same)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n      predicate:\n        subproperty_of: homologous to\n        symmetric: true\n        description: >-\n          homology relationship type\n      object:\n        range: gene or gene product\n\n  gene to gene family association:\n    description: >-\n      Set membership of a gene in a family of genes related by common\n      evolutionary ancestry usually inferred by sequence comparisons.\n      The genes in a given family generally share common sequence motifs which\n      generally map onto shared gene product structure-function relationships.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene family\n      predicate:\n        subproperty_of: member of\n        symmetric: false\n        description: >-\n          membership of the gene in the given gene family.\n\n  gene expression mixin:\n    description: >-\n      Observed gene expression intensity, context (site, stage) and\n      associated phenotypic status within which the expression occurs.\n    mixin: true\n    slots:\n      - quantifier qualifier\n      - expression site\n      - stage qualifier\n      - phenotypic state\n    slot_usage:\n      quantifier qualifier:\n        description: >-\n          Optional quantitative value indicating degree of expression.\n\n  gene to gene coexpression association:\n    description: >-\n      Indicates that two genes are co-expressed,\n      generally under the same conditions.\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: coexpressed with\n        symmetric: true\n\n  pairwise gene to gene interaction:\n    description: >-\n      An interaction between two genes or two gene products.\n      May be physical (e.g. protein binding) or genetic (between genes).\n      May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      predicate:\n        subproperty_of: interacts with\n        symmetric: true\n        description: \"interaction relationship type\"\n    narrow_mappings:\n      - dcid:ProteinProteinInteraction\n\n  pairwise molecular interaction:\n    description: >-\n      An interaction at the molecular level between two physical entities\n    is_a: pairwise gene to gene interaction\n    slots:\n      - interacting molecules category\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: molecular entity\n      id:\n        description: >-\n          identifier for the interaction. This may come from an interaction database such as IMEX.\n        examples:\n          - value: WB:WBInteraction000538741\n        values_from:\n          - IMEX\n          - BioGRID\n      predicate:\n        subproperty_of: interacts with\n        description: \"interaction relationship type\"\n        examples:\n          - value: RO:0002447\n            description: the subject molecular phosphorylates the object molecule\n      object:\n        range: molecular entity\n\n  cell line to entity association mixin:\n    description: >-\n      An relationship between a cell line and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: cell line\n\n   # TODO: figure out what gives with subject range\n  cell line to disease or phenotypic feature association:\n    is_a: association\n    mixins:\n      - cell line to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    description: >-\n      An relationship between a cell line and a disease or a phenotype, where\n      the cell line is derived from an individual with that disease or phenotype.\n    slot_usage:\n      subject:\n         #        - range: cell line\n         #        - range: disease or phenotypic feature\n        range: disease or phenotypic feature\n\n  chemical entity to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity that is an interactor\"\n\n  drug to entity association mixin:\n    description: >-\n      An interaction between a drug and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: drug\n        description: \"the drug that is an interactor\"\n\n  chemical to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity or entity that is an interactor\"\n\n  case to entity association mixin:\n    description: >-\n      An abstract association for use where the case is the subject\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: case\n        description: \"the case (e.g. patient) that has the property\"\n\n  chemical to chemical association:\n    description: >-\n      A relationship between two chemical entities. This can encompass actual\n      interactions as well as temporal causal edges, e.g. one chemical converted to another.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      object:\n        range: chemical entity\n        description: \"the chemical element that is the target of the statement\"\n\n  reaction to participant association:\n    description:\n    is_a: chemical to chemical association\n    slots:\n      - stoichiometry\n      - reaction direction\n      - reaction side\n    slot_usage:\n      subject:\n        range: molecular entity\n    defining_slots:\n      - subject\n      - predicate\n      - object\n\n  reaction to catalyst association:\n    description:\n    is_a: reaction to participant association\n    slot_usage:\n      object:\n        range: gene or gene product\n\n  chemical to chemical derivation association:\n    description: >-\n      A causal relationship between two chemical entities, where the subject\n      represents the upstream entity and the object represents the downstream.\n      For any such association there is an implicit reaction:\n        IF\n        R has-input C1 AND\n        R has-output C2 AND\n        R enabled-by P AND\n        R type Reaction\n        THEN\n        C1 derives-into C2 <<catalyst qualifier P>>\n    is_a: chemical to chemical association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - catalyst qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: >-\n          the upstream chemical entity\n      object:\n        range: chemical entity\n        description: >-\n          the downstream chemical entity\n      predicate:\n        subproperty_of: derives into\n      catalyst qualifier:\n        description: >-\n          this connects the derivation edge to the chemical entity that\n          catalyzes the reaction that causes the subject chemical to\n          transform into the object chemical.\n\n  chemical to disease or phenotypic feature association:\n    description: >-\n      An interaction between a chemical entity and a phenotype or disease,\n      where the presence of the chemical gives rise to or exacerbates the phenotype.\n    is_a: association\n    narrow_mappings:\n      - SIO:000993\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"the disease or phenotype that is affected by the chemical\"\n\n  chemical or drug or treatment to disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary undesirable effect.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slots:\n      - FDA adverse event level\n    slot_usage:\n      predicate:\n        subproperty_of: has adverse event\n\n  chemical or drug or treatment side effect disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary, typically (but not always) undesirable effect.\n    is_a: chemical or drug or treatment to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has side effect\n\n  gene to pathway association:\n    description: >-\n      An interaction between a gene or gene product and a biological process or pathway.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"the gene or gene product entity that participates or influences the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that includes or is affected by the gene or gene product\"\n\n  molecular activity to pathway association:\n    description: >-\n      Association that holds the relationship between a reaction and the pathway it participates in.\n    is_a: association\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: pathway\n      predicate:\n        subproperty_of: part of\n\n  chemical to pathway association:\n    description: >-\n      An interaction between a chemical entity and a biological process or pathway.\n    is_a: association\n    exact_mappings:\n      - SIO:001250\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: \"the chemical entity that is affecting the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that is affected by the chemical\"\n\n  named thing associated with likelihood of named thing association:\n     # TODO: better name\n    description: >-\n    is_a: association\n    defining_slots:\n      - subject\n      - subject aspect qualifier\n      - subject context qualifier\n      - predicate\n      - object\n      - object aspect qualifier\n      - object context qualifier\n      - population context qualifier\n    slot_usage:\n      predicate:\n        subproperty_of: associated with\n      subject aspect qualifier:\n       # TODO: range\n      subject context qualifier:\n        range: ontology class\n      object aspect qualifier:\n       # TODO: range\n      object context qualifier:\n        range: ontology class\n\n  chemical gene interaction association:\n    description: >-\n      describes a physical interaction between a chemical entity and a gene or gene product. Any biological or chemical\n      effect resulting from such an interaction are out of scope, and covered by the ChemicalAffectsGeneAssociation type\n      (e.g. impact of a chemical on the abundance, activity, structure, etc, of either participant in the interaction)\n    is_a: association\n    exact_mappings:\n      - SIO:001257\n    mixins:\n      - chemical to entity association mixin\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object context qualifier\n      - anatomical context qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: gene or gene product\n      predicate:\n        subproperty_of: physically interacts with\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      subject context qualifier:\n        range: anatomical entity\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object context qualifier:\n        range: anatomical entity\n      anatomical context qualifier:\n        range: anatomical entity\n\n  chemical affects gene association:\n    description: >-\n      Describes an effect that a chemical has on a gene or gene product (e.g. an impact of on its abundance, activity,\n      localization, processing, expression, etc.)\n    is_a: association\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject aspect qualifier\n      - subject context qualifier\n      - subject direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object aspect qualifier\n      - object context qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - qualified predicate\n    slot_usage:\n      subject:\n        range: chemical entity\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      subject aspect qualifier:\n        range: GeneOrGeneProductOrChemicalEntityAspectEnum\n      subject context qualifier:\n        range: anatomical entity\n      subject direction qualifier:\n        range: DirectionQualifierEnum\n      predicate:\n        subproperty_of: affects\n      qualified predicate:\n        subproperty_of: causes\n      object:\n        range: gene or gene product\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object aspect qualifier:\n        range: GeneOrGeneProductOrChemicalEntityAspectEnum\n      object context qualifier:\n        range: anatomical entity\n      object direction qualifier:\n        range: DirectionQualifierEnum\n      causal mechanism qualifier:\n        range: CausalMechanismQualifierEnum\n      anatomical context qualifier:\n        range: anatomical entity\n      species context qualifier:\n        range: organism taxon\n\n  drug to gene association:\n    description: >-\n      An interaction between a drug and a gene or gene product.\n    is_a: association\n    related_mappings:\n      - SIO:001257\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - drug to entity association mixin\n    slot_usage:\n      object:\n        range: gene or gene product\n        description: \"the gene or gene product that is affected by the drug\"\n\n  material sample to entity association mixin:\n    description: >-\n      An association between a material sample and something.\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n\n  material sample derivation association:\n    description: >-\n      An association between a material sample and\n      the material entity from which it is derived.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n      object:\n        description: >-\n          the material entity the sample was derived from. This may be another\n          material sample, or any other material entity, including for example\n          an organism, a geographic feature, or some environmental material.\n      predicate:\n        description: >-\n          derivation relationship\n        subproperty_of: derives from\n\n  material sample to disease or phenotypic feature association:\n    description: >-\n      An association between a material sample and a disease or phenotype.\n    is_a: association\n    mixins:\n      - material sample to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    defining_slots:\n      - subject\n      - object\n\n  disease to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease\n        description: \"disease class\"\n        values_from: ['mondo', 'omim', 'orphanet', 'ncit', 'doid']\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n\n  entity to exposure event association mixin:\n    description: >-\n      An association between some entity and an exposure event.\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: exposure event\n\n  disease to exposure event association:\n    description: >-\n      An association between an exposure event and a disease.\n    is_a: association\n    mixins:\n      - disease to entity association mixin\n      - entity to exposure event association mixin\n    defining_slots:\n      - subject\n      - object\n\n\n  entity to outcome association mixin:\n    description: >-\n      An association between some entity and an outcome\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: outcome\n\n  exposure event to outcome association:\n    description: >-\n      An association between an exposure event and an outcome.\n    is_a: association\n    mixins:\n      - entity to outcome association mixin\n    slots:\n      - population context qualifier\n      - temporal context qualifier\n    defining_slots:\n      - subject\n      - object\n\n  frequency qualifier mixin:\n    mixin: true\n    description: >-\n      Qualifier for frequency type associations\n    slots:\n      - frequency qualifier\n\n  entity to feature or disease qualifiers mixin:\n    description: >-\n      Qualifiers for entity to disease or phenotype associations.\n    mixin: true\n    is_a: frequency qualifier mixin\n    slots:\n      - severity qualifier\n      - onset qualifier\n\n  entity to phenotypic feature association mixin:\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    mixins:\n      - frequency quantifier\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: phenotypic feature\n        values_from: ['upheno', 'hp', 'mp', 'wbphenotype']\n        examples:\n          - value: HP:0002487\n            description: Hyperkinesis\n          - value: WBPhenotype:0000180\n            description: axon morphology variant\n          - value: MP:0001569\n            description: abnormal circulating bilirubin level\n    slots:\n      - sex qualifier\n\n  information content entity to named thing association:\n    description: >-\n      association between a named thing and a information content entity where the specific context\n      of the relationship between that named thing and the publication is unknown. For\n      example, model organisms databases often capture the knowledge that a gene is found in a\n      journal article, but not specifically the context in which that gene was documented in the article.\n      In these cases, this association with the accompanying predicate 'mentions' could be used.\n      Conversely, for more specific associations (like 'gene to disease association', the publication should\n      be captured as an edge property).\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        domain: publication\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: mentions\n    in_subset:\n      - model_organism_database\n\n  entity to disease association mixin:\n    description: >-\n      mixin class for any association whose object (target node) is a disease\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease\n        description: \"disease\"\n        examples:\n          - value: MONDO:0020066\n            description: \"Ehlers-Danlos syndrome\"\n\n  disease or phenotypic feature to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  disease or phenotypic feature to location association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      an anatomical entity, where the disease/feature manifests in that site.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      object:\n        range: anatomical entity\n        description: >-\n          anatomical entity in which the disease or feature is found.\n        examples:\n          - value: UBERON:0002048\n            description: \"lung\"\n\n  disease or phenotypic feature to genetic inheritance association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      its mode of (genetic) inheritance.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has mode of inheritance\n      object:\n        range: genetic inheritance\n        description: >-\n          genetic inheritance associated with the specified disease or phenotypic feature.\n        examples:\n          - value: HP:0001417\n            description: \"X-linked inheritance\"\n\n  entity to disease or phenotypic feature association mixin:\n    mixin: true\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  genotype to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: genotype\n        description: \"genotype that is the subject of the association\"\n\n  genotype to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a phenotypic feature, where having\n      the genotype confers the phenotype, either in isolation or through environment\n    mixins:\n      - entity to phenotypic feature association mixin\n      - genotype to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has phenotype\n      subject:\n        range: genotype\n        description: >-\n          genotype that is associated with the phenotypic feature\n\n   # ie: smoke exposure to coughing phenotype? is this a denormalization?\n  exposure event to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between an environment and a phenotypic feature,\n      where being in the environment influences the phenotype.\n    mixins:\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: exposure event\n\n  disease to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      An association between a disease and a phenotypic feature in which the\n      phenotypic feature is associated with the disease in some way.\n    mixins:\n      - entity to phenotypic feature association mixin\n      - disease to entity association mixin\n    close_mappings:\n      - dcid:DiseaseSymptomAssociation\n    slot_usage:\n      subject:\n        range: disease\n      object:\n        range: phenotypic feature\n\n  case to phenotypic feature association:\n    description: >-\n      An association between a case (e.g. individual patient) and a phenotypic\n      feature in which the individual has or has had the phenotype.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - case to entity association mixin\n\n  behavior to behavioral feature association:\n    description: >-\n      An association between an mixture behavior and\n      a behavioral feature manifested by\n      the individual exhibited or has exhibited the behavior.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: behavior\n        description: >-\n          behavior that is the subject of the association\n      object:\n        range: behavioral feature\n        description: >-\n          behavioral feature that is the object of the association\n    mixins:\n      - entity to phenotypic feature association mixin\n\n  gene to entity association mixin:\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene that is the subject of the association\n\n  variant to entity association mixin:\n    local_names:\n      ga4gh: variant annotation\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is associated with some other entity\n        examples:\n          - value: CLINVAR:38077\n            description: \"CLINVAR representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)\"\n          - value: ClinGen:CA024716\n            description: \"chr13:g.32921033G>C (hg19) in ClinGen\"\n\n  gene to disease or phenotypic feature association:\n    is_a: association\n    mixins:\n      - entity to phenotypic feature association mixin\n      - gene to entity association mixin\n    narrow_mappings:\n      - WBVocab:Gene-Phenotype-Association\n      - dcid:DiseaseGeneAssociation\n      - SIO:000983\n    slots:\n      - subject aspect qualifier\n      - object direction qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"gene in which variation is correlated with the phenotypic feature\"\n        examples:\n          - value: HGNC:2197\n            description: \"COL1A1 (Human)\"\n      subject aspect qualifier:\n        range: GeneOrGeneProductOrChemicalEntityAspectEnum\n      object:\n        range: disease or phenotypic feature\n      object direction qualifier:\n        range: DirectionQualifierEnum\n      predicate:\n        subproperty_of: affects\n    comments:\n      - NCIT:R176 refers to the inverse relationship\n      - for use in describing the affect that the loss of function of a gene can have on exacerbating or ameliorating a symptom/phenotype\n      - if the relationship of the statement using this predicate is statistical in nature, please use `associated with likelihood` or one of its children.\n\n  gene to phenotypic feature association:\n    is_a: gene to disease or phenotypic feature association\n    exact_mappings:\n      - WBVocab:Gene-Phenotype-Association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"gene in which variation is correlated with the phenotypic feature\"\n        examples:\n          - value: HGNC:2197\n            description: \"COL1A1 (Human)\"\n      object:\n        range: phenotypic feature\n\n  gene to disease association:\n    is_a: gene to disease or phenotypic feature association\n    comments:\n      - NCIT:R176 refers to the inverse relationship\n    exact_mappings:\n      - SIO:000983\n    close_mappings:\n      - dcid:DiseaseGeneAssociation\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease,\n          may be protective or causative or associative, or as a model\n      object:\n        range: disease\n\n  causal gene to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is shown to cause the disease.\n      object:\n        range: disease\n\n  correlated gene to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is shown to correlate with the disease.\n      object:\n        range: disease\n\n  druggable gene to disease association:\n    is_a: gene to disease association\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease\n          in a protective manner, or if the product produced by the gene can be targeted by a small molecule and\n          this leads to a protective or improving disease state.\n      predicate:\n        subproperty_of: target for\n      has evidence:\n        range: DruggableGeneCategoryEnum\n    defining_slots:\n      - subject\n      - object\n      - predicate\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n\n  variant to gene association:\n    description: >-\n      An association between a variant and a gene, where the variant has\n      a genetic association with the gene (i.e. is in linkage disequilibrium)\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - variant to entity association mixin\n    slot_usage:\n      object:\n        range: gene\n      predicate:\n        subproperty_of: genetically associated with\n\n  variant to gene expression association:\n    description: >-\n      An association between a variant and expression of a gene (i.e. e-QTL)\n    is_a: variant to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: affects\n\n  variant to population association:\n    description: >-\n      An association between a variant and a population, where the variant has\n      particular frequency in the population\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - frequency quantifier\n      - frequency qualifier mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          an allele that has a certain frequency in a given population\n        examples:\n          - value: \"NC_000017.11:g.43051071A>T\"\n            description: >-\n              17:41203088 A/C in gnomad\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that is observed to have the frequency\n        examples:\n          - value: HANCESTRO:0010\n            description: African\n      has quotient:\n        description: >-\n          frequency of allele in population, expressed as a number with allele\n          divided by number in reference population, aka allele frequency\n        examples:\n          - value: \"0.0001666\"\n      has count:\n        description: >-\n          number in object population that carry a particular allele, aka allele count\n        examples:\n          - value: \"4\"\n            description: 4 individuals in gnomad set\n      has total:\n        description: >-\n          number all populations that carry a particular allele, aka allele number\n        examples:\n          - value: \"24014\"\n            description: 24014 individuals in gnomad set\n\n  population to population association:\n    description: >-\n      An association between a two populations\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: population of individual organisms\n        description: >-\n          the population that form the subject of the association\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that form the object of the association\n      predicate:\n         # subproperty_of: ???\n        description: >-\n          A relationship type that holds between the subject and object\n          populations. Standard mereological relations can be used.\n          E.g. subject part-of object, subject overlaps object.\n          Derivation relationships can also be used\n\n  variant to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is\n          associated in some way with the phenotype state\n\n  variant to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a sequence variant in which the allele state\n          is associated in some way with the disease state\n        examples:\n          - value: CLINVAR:52241\n            description: \"NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)\"\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that variant\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  genotype to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - genotype to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a genotype that is associated in some way with a disease state\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that genotype\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  model to disease association mixin:\n    description: >-\n      This mixin is used for any association class for which the subject\n      (source node) plays the role of a 'model', in that it recapitulates some\n      features of the disease in a way that is useful for studying the disease\n      outside a patient carrying the disease\n    mixin: true\n    slot_usage:\n      subject:\n        description: >-\n          The entity that serves as the model of the disease. This may be\n          an organism, a strain of organism, a genotype or variant that exhibits\n          similar features, or a gene that when mutated exhibits features of the disease\n      predicate:\n        subproperty_of: model of\n        description: >-\n          The relationship to the disease\n\n  gene as a model of disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be a model\n          organism ortholog of a known disease gene, or it may be a gene whose\n          mutants recapitulate core features of the disease.\n\n  variant as a model of disease association:\n    is_a: variant to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          A variant that has a role in modeling the disease.\n\n  genotype as a model of disease association:\n    is_a: genotype to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: genotype\n        description: >-\n          A genotype that has a role in modeling the disease.\n\n  cell line as a model of disease association:\n    is_a: cell line to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: cell line\n        description: >-\n          A cell line derived from an organismal entity with a disease state that is used\n          as a model of that disease.\n\n  organismal entity as a model of disease association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: organismal entity\n        description: >-\n          A organismal entity (strain, breed) with a predisposition to a disease, or bred/created\n          specifically to model a disease.\n\n  organism to organism association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: individual organism\n      object:\n        range: individual organism\n        description: >-\n          An association between two individual organisms.\n\n  taxon to taxon association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n        description: >-\n          An association between individuals of different taxa.\n\n  gene has variant that contributes to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - subject form or variant qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be\n          a model organism ortholog of a known disease gene, or it may be\n          a gene whose mutants recapitulate core features of the disease.\n      object:\n        range: disease\n      predicate:\n        subproperty_of: contributes to\n\n  gene to expression site association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      An association between a gene and a gene expression site,\n      possibly qualified by stage/timing info.\n    notes:\n      - \"TBD: introduce subclasses for distinction between wild-type and experimental conditions?\"\n    see_also: \"https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee\"\n    slots:\n      - stage qualifier\n      - quantifier qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          Gene or gene product positively within the specified\n          anatomical entity (or subclass, i.e. cellular component) location.\n      object:\n        range: anatomical entity\n        description: \"location in which the gene is expressed\"\n        examples:\n          - value: UBERON:0002037\n            description: cerebellum\n      predicate:\n        description: \"expression relationship\"\n        subproperty_of: expressed in\n      stage qualifier:\n        range: life stage\n        description: \"stage at which the gene is expressed in the site\"\n        examples:\n          - value: UBERON:0000069\n            description: larval stage\n      quantifier qualifier:\n        description: >-\n          can be used to indicate magnitude, or also ranking\n\n  sequence variant modulates treatment association:\n    is_a: association\n    description: >-\n      An association between a sequence variant and a treatment or health intervention.\n      The treatment object itself encompasses both the disease and the drug used.\n    comments:\n      - An alternate way to model the same information could be via a qualifier\n    defining_slots:\n      - subject\n      - object\n    abstract: true\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: \"variant that modulates the treatment of some disease\"\n      object:\n        range: treatment\n        description: \"treatment whose efficacy is modulated by the subject variant\"\n\n  functional association:\n    is_a: association\n    description: >-\n      An association between a macromolecular machine mixin (gene, gene product or\n      complex of gene products) and either a molecular activity, a biological\n      process or a cellular location in which a function is executed.\n    slot_usage:\n      subject:\n        range: macromolecular machine mixin\n        description: >-\n          gene, product or macromolecular complex that\n          has the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n          - value: GO:0045211\n            description: postsynaptic membrane\n\n  macromolecular machine to entity association mixin:\n    description: >-\n      an association which has a macromolecular machine mixin as a subject\n    mixin: true\n    slot_usage:\n      subject:\n        domain: macromolecular machine mixin\n\n  macromolecular machine to molecular activity association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a molecular activity (as represented\n      in the GO molecular function branch), where the entity\n      carries out the activity, or contributes to its execution.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: molecular activity\n\n  macromolecular machine to biological process association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a biological process or pathway\n      (as represented in the GO biological process branch), where the entity\n      carries out some part of the process, regulates it, or acts upstream of it.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: biological process\n\n  macromolecular machine to cellular component association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a cellular component (as represented\n      in the GO cellular component branch), where the entity\n      carries out its function in the cellular component.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: cellular component\n\n  molecular activity to chemical entity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: chemical entity\n\n  molecular activity to molecular activity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: molecular activity\n\n\n  gene to go term association:\n    aliases: ['functional association']\n    is_a: functional association\n    exact_mappings:\n      - WBVocab:Gene-GO-Association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene\n        description: >-\n          gene, product or macromolecular complex that has\n          the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n\n  entity to disease association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n  entity to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - FDA approval status\n    defining_slots:\n      - subject\n      - object\n\n   ## -----------------\n   ## SEQUENCE FEATURES\n   ## -----------------\n\n  sequence association:\n    is_a: association\n    description: >-\n      An association between a sequence feature and a nucleic acid entity it is localized to.\n\n  genomic sequence localization:\n    is_a: sequence association\n    description: >-\n      A relationship between a sequence feature and a nucleic acid entity\n      it is localized to. The reference entity may be a chromosome,\n      chromosome region or information entity such as a contig.\n    slot_usage:\n      subject:\n        aliases: ['sequence feature']\n        range: nucleic acid entity\n      object:\n        aliases: ['reference']\n        range: nucleic acid entity   # typically a chromosome use monochrom\n      predicate:\n        subproperty_of: has sequence location\n    slots:\n      - start interbase coordinate\n      - end interbase coordinate\n      - genome build\n      - strand\n      - phase\n    broad_mappings:\n      - dcid:Chromosome\n    exact_mappings:\n      - dcid:GenomeAnnotation\n\n  sequence feature relationship:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      For example, a particular exon is part of a particular transcript or gene\n    slot_usage:\n      subject:\n        range: nucleic acid entity\n      object:\n        range: nucleic acid entity   # typically a chromosome\n    exact_mappings:\n      - CHADO:feature_relationship\n\n  transcript to gene relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is a collection of transcripts\n    slot_usage:\n      subject:\n        range: transcript\n      object:\n        range: gene\n\n  gene to gene product relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is transcribed and potentially translated to a gene product\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene product mixin\n      predicate:\n        subproperty_of: has gene product\n\n  exon to transcript relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A transcript is formed from multiple exons\n    slot_usage:\n      subject:\n        range: exon\n      object:\n        range: transcript\n\n  chemical entity or gene or gene product regulates gene association:\n    is_a: association\n    description: >-\n      A regulatory relationship between two genes\n    slots:\n      - object direction qualifier\n    slot_usage:\n      predicate:\n        description: >-\n          the direction is always from regulator to regulated\n        subproperty_of: regulates\n      subject:\n        range: chemical entity or gene or gene product\n        role: regulatory gene\n      object:\n        range: gene or gene product\n        role: regulated gene\n      object direction qualifier:\n        range: DirectionQualifierEnum\n\n  anatomical entity to anatomical entity association:   # schema: gocam\n    is_a: association\n    abstract: true\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: anatomical entity\n      object:\n        range: anatomical entity\n\n  anatomical entity to anatomical entity part of association:\n     #      schema: gocam\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is mereological, i.e the two entities are related by parthood. This\n      includes relationships between cellular components and cells, between\n      cells and tissues, tissues and whole organisms\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the part\n      object:\n        range: anatomical entity\n        description: >-\n          the whole\n      predicate:\n        subproperty_of: part of\n\n  anatomical entity to anatomical entity ontogenic association:\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is ontogenic, i.e. the two entities are related by development. A number\n      of different relationship types can be used to specify the precise\n      nature of the relationship.\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the structure at a later time\n      object:\n        range: anatomical entity\n        description: >-\n          the structure at an earlier time\n      predicate:\n        subproperty_of: develops from\n\n  organism taxon to entity association:\n    mixin: true\n    description: >-\n      An association between an organism taxon and another entity\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: organism taxon\n        description: >-\n          organism taxon that is the subject of the association\n\n  organism taxon to organism taxon association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    description: >-\n      A relationship between two organism taxon nodes\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n\n  organism taxon to organism taxon specialization:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      A child-parent relationship between two taxa.\n      For example: Homo sapiens subclass_of Homo\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: child taxon\n        description: >-\n          the more specific taxon\n      object:\n        range: organism taxon\n        role: parent taxon\n        description: >-\n          the more general taxon\n      predicate:\n        subproperty_of: subclass of\n\n  organism taxon to organism taxon interaction:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      An interaction relationship between two taxa. This may be a symbiotic\n      relationship (encompassing mutualism and parasitism), or it may be non-symbiotic.\n      Example: plague transmitted_by flea; cattle domesticated_by Homo sapiens; plague infects Homo sapiens\n    defining_slots:\n      - predicate\n    slots:\n      - associated environmental context\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        range: organism taxon\n        role: interactee taxon\n        description: >-\n          the taxon that is the subject of the association\n      predicate:\n        subproperty_of: interacts with\n      associated environmental context:\n        description: >-\n          the environment in which the two taxa interact\n\n  organism taxon to environment association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        role: environmental context\n        description: >-\n          the environment in which the organism occurs\n      predicate:\n        description: >-\n          predicate describing the relationship between the taxon and the environment\n\n\nenums:\n\n  DirectionQualifierEnum:\n    permissible_values:\n      increased:\n      upregulated:\n        is_a: increased\n        close_mappings:\n          - RO:0002336\n        exact_mappings:\n          - RO:0002213\n        narrow_mappings:\n          - RO:0004032\n          - RO:0004034\n          - RO:0002629\n      decreased:\n      downregulated:\n        is_a: decreased\n        exact_mappings:\n          - RO:0004035\n          - RO:0002212\n        close_mappings:  # This RTX contributed term is tagged as an inverse of this Biolink predicate\n          - RO:0002335\n        broad_mappings:  # This term is slightly broader in that it includes that A acts within B as well\n          - RO:0004033\n\n  ChemicalEntityDerivativeEnum:\n    permissible_values:\n      metabolite:\n\n  ChemicalOrGeneOrGeneProductFormOrVariantEnum:\n    permissible_values:\n      genetic_variant_form:\n        is_a: modified_form\n      modified_form:\n      loss_of_function_variant_form:\n        is_a: genetic_variant_form\n      gain_of_function_variant_form:\n        is_a: genetic_variant_form\n      polymorphic_form:\n        is_a: genetic_variant_form\n      snp_form:\n        is_a: polymorphic_form\n      analog_form:\n        is_a: modified_form\n\n  GeneOrGeneProductOrChemicalPartQualifierEnum:\n    permissible_values:\n      3_prime_utr:\n      5_prime_utr:\n      polya_tail:\n      promoter:\n      enhancer:\n      exon:\n      intron:\n\n  GeneOrGeneProductOrChemicalEntityAspectEnum:\n    permissible_values:\n      activity_or_abundance:\n        description: >- \n          Used in cases where the specificity of the relationship can not be determined to be either activity \n          or abundance.  In general, a more specific value from this enumeration should be used.\n      abundance:\n        is_a: activity_or_abundance\n      activity:\n        is_a: activity_or_abundance\n      expression:\n        is_a: abundance\n      synthesis:\n        is_a: abundance\n      degradation:\n      cleavage:\n        is_a: degradation\n      hydrolysis:\n        is_a: degradation\n      metabolic_processing:\n      mutation_rate:\n      stability:\n      folding:\n      localization:\n      transport:\n      secretion:\n        is_a: transport\n      uptake:\n        is_a: transport\n      molecular_modification:\n      acetylation:\n        is_a: molecular_modification\n      acylation:\n        is_a: molecular_modification\n      alkylation:\n        is_a: molecular_modification\n      amination:\n        is_a: molecular_modification\n      carbamoylation:\n        is_a: molecular_modification\n      ethylation:\n        is_a: molecular_modification\n      glutathionylation:\n        is_a: molecular_modification\n      glycation:\n        is_a: molecular_modification\n      glycosylation:\n        is_a: molecular_modification\n      glucuronidation:\n        is_a: molecular_modification\n      n_linked_glycosylation:\n        is_a: molecular_modification\n      o_linked_glycosylation:\n        is_a: molecular_modification\n      hydroxylation:\n        is_a: molecular_modification\n      lipidation:\n        is_a: molecular_modification\n      farnesylation:\n        is_a: molecular_modification\n      geranoylation:\n        is_a: molecular_modification\n      myristoylation:\n        is_a: molecular_modification\n      palmitoylation:\n        is_a: molecular_modification\n      prenylation:\n        is_a: molecular_modification\n      methylation:\n        is_a: molecular_modification\n      nitrosation:\n        is_a: molecular_modification\n      nucleotidylation:\n        is_a: molecular_modification\n      phosphorylation:\n        is_a: molecular_modification\n      ribosylation:\n        is_a: molecular_modification\n      ADP-ribosylation:\n        is_a: molecular_modification\n      sulfation:\n        is_a: molecular_modification\n      sumoylation:\n        is_a: molecular_modification\n      ubiquitination:\n        is_a: molecular_modification\n      oxidation:\n        is_a: molecular_modification\n      reduction:\n        is_a: molecular_modification\n      carboxylation:\n        is_a: molecular_modification\n\n  CausalMechanismQualifierEnum:\n    permissible_values:\n      binding:\n        description: >-\n          A causal mechanism mediated by the direct contact between effector and target chemical or \n          biomolecular entity, which form a stable physical interaction.\n      inhibition:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to the target and negatively effects its normal function, \n          e.g. prevention of enzymatic reaction or activation of downstream pathway.\n        close_mappings:\n          - DGIdb:inhibitor\n          - SEMMEDDB:INHIBITS\n        narrow_mappings:\n          - DGIdb:blocker\n          - DGIdb:channel_blocker\n          - DGIdb:gating_inhibitor\n          - CHEMBL.MECHANISM:antisense_inhibitor\n          - CHEMBL.MECHANISM:blocker\n          - CHEMBL.MECHANISM:inhibitor\n          - CHEMBL.MECHANISM:negative_allosteric_modulator\n          - CHEMBL.MECHANISM:negative_modulator\n          - DGIdb:negative_modulator\n      antibody_inhibition:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which an antibody specifically binds to and interferes with the target.\n      antagonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a receptor and prevents activation by an agonist \n          through competing for the binding site.\n        close_mappings:\n          - DGIdb:antagonist\n          - CHEMBL.MECHANISM:antagonist\n        narrow_mappings:\n          - CHEMBL.MECHANISM:allosteric_antagonist\n      molecular_channel_blockage:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and prevents or reduces \n          transport of ions through it.\n      inverse_agonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to the same receptor-binding site as an agonist and antagonizes\n          its effects, often exerting the opposite effect of the agonist by suppressing spontaneous receptor signaling.\n        close_mappings:\n          - CHEMBL.MECHANISM:inverse_agonist\n          - DGIdb:inverse_agonist\n      negative_allosteric_modulation:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector reduces or prevents the action of the endogenous ligand of a \n          receptor by binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n        close_mappings:\n          - CHEMBL.MECHANISM:negative_allosteric_modulator\n          - DGIdb:inhibitory_allosteric_modulator\n        narrow_mappings:\n          - DGIdb:negative_modulator\n      agonism:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds and activates a receptor to mimic the effect of an \n          endogenous ligand.\n        close_mappings:\n          - CHEMBL.MECHANISM:agonist\n          - DGIdb:agonist\n        narrow_mappings:\n          - CHEMBL.MECHANISM:partial_agonist\n          - DGIdb:partial_agonist\n      molecular_channel_opening:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and facilitates transport of \n          ions through it.\n        close_mappings:\n          - CHEMBL.MECHANISM:opener\n      positive_allosteric_modulation:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector enhances the action of the endogenous ligand of a receptor by \n          binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n        close_mappings:\n          - CHEMBL.MECHANISM:positive_allosteric_modulator\n          - CHEMBL.MECHANISM:positive_modulator\n          - DGIdb:positive_allosteric_modulator\n        broad_mappings:\n          - DGIdb:modulator\n          - DGIdb:allosteric_modulator\n      potentiation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector  binds to and enhances or intensifies the effect of some \n          other chemical or drug on its target.\n        close_mappings:\n      activation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and positively affects the normal functioning of its target.\n        close_mappings:\n          - CHEMBL.MECHANISM:activator\n          - DGIdb:activator\n      inducer:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and increases the activity/rate of an enzyme that \n          processes drugs in the body.\n        close_mappings:\n          - DGIdb:inducer\n      transcriptional_regulation:\n        description: >-\n          A causal mechanism mediated by through the control of target gene transcription\n      signaling_mediated_control:\n        description: >-\n          A causal mechanism mediated by the activation or control of signaling events that influence the some aspect \n          of the target entity (e.g. its activity, processing, transport, etc)\n      stabilization:\n        is_a: activation\n        close_mappings:\n          - CHEMBL.MECHANISM:stabiliser\n      stimulation:\n        is_a: activation\n        close_mappings:\n          - DGIdb:stimulator\n          - SEMMEDDB:STIMULATES\n          - DGIdb:stimulator\n      releasing_activity:\n        is_a: activation\n        close_mappings:\n          - CHEMBL:MECHANISM:releasing_agent\n\n  LogicalInterpretationEnum:\n    permissible_values:\n      some_some:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as a some-some statement\n        meaning: os:SomeSomeInterpretation\n      all_some:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as an all-some statement.\n        meaning: os:AllSomeInterpretation\n      inverse_all_some:\n\n  ReactionDirectionEnum:\n    permissible_values:\n      left_to_right:\n      right_to_left:\n      bidirectional:\n      neutral:\n\n  ReactionSideEnum:\n    permissible_values:\n      left:\n      right:\n\n  PhaseEnum:\n    description: phase\n    permissible_values:\n      0:\n      1:\n      2:\n\n  StrandEnum:\n    description: strand\n    permissible_values:\n      \"+\":\n        description: Positive\n      \"-\":\n        description: Negative\n      \".\":\n        description: Unstranded\n      \"?\":\n        description: Unknown\n\n  SequenceEnum:\n    description: type of sequence\n    permissible_values:\n      \"na\":\n        description: nucleic acid\n      \"aa\":\n        description: amino acid\n\n  DruggableGeneCategoryEnum:\n    permissible_values:\n      \"tclin\":\n        description: >-\n          These targets have activities in DrugCentral (ie. approved drugs) with known mechanism of action.\n      \"tbio\":\n        description: >-\n          These targets have activities in ChEMBL, Guide to Pharmacology or DrugCentral that satisfy\n          the activity thresholds detailed below.\n      \"tchem\":\n        description: >-\n          These targets do not have known drug or small molecule activities that satisfy the activity\n          thresholds detailed below AND satisfy one or more of the following criteria:\n          target is above the cutoff criteria for Tdark\n          target is annotated with a Gene Ontology Molecular Function or Biological Process leaf term(s)\n          with an Experimental Evidence code\n      \"tdark\":\n        description: >-\n          These are targets about which virtually nothing is known. They do not have known drug or small\n          molecule activities that satisfy the activity thresholds detailed below AND satisfy two or\n          more of the following criteria:\n          A PubMed text-mining score from Jensen Lab less than 5, greater than or equal TO 3 Gene RIFs, or\n          less than or equal to 50 Antibodies available according to http://antibodypedia.com.\n\n  DrugAvailabilityEnum:\n    description: >-\n    permissible_values:\n      \"over_the_counter\":\n        description: >-\n          chemical entity is available over the counter without a prescription.\n      \"prescription\":\n        description:\n          chemical entity is available by prescription.\n\n  DrugDeliveryEnum:\n    permissible_values:\n      \"inhalation\":\n      \"oral\":\n      \"absorption_through_the_skin\":\n      \"intravenous_injection\":\n        \n  ResourceRoleEnum:\n    description: >-\n      The role played by the information reource in serving as a\n      source for an edge in a TRAPI message. Note that a given Edge should have one\n      and only one 'primary' source, and may have any number of\n      'aggregator' or 'supporting data' sources.  This enumeration\n      is found in Biolink Model, but is repeated here for convenience.\n    permissible_values:\n      \"primary_knowledge_source\":\n      \"aggregator_knowledge_source\":\n      \"supporting_data_source\":\n    in_subset:\n      - translator_minimal\n\n  FDAApprovalStatusEnum:\n    description: >-\n    permissible_values:\n      \"discovery_and_development_phase\":\n        description: >-\n          Discovery & Development Phase. Discovery involves researchers finding new possibilities\n          for medication through testing molecular compounds, noting unexpected effects from existing treatments,\n          or the creation of new technology that allows novel ways of targeting medical products to sites in the body.\n          Drug development occurs after researchers identify potential compounds for experiments.\n      \"preclinical_research_phase\":\n        description: >-\n          Preclinical Research Phase.  Once researchers have examined the possibilities a new drug may contain,\n          they must do preliminary research to determine its potential for harm (toxicity).\n          This is categorized as preclinical research and can be one of two types: in vitro or in vivo.\n      \"fda_clinical_research_phase\":\n        description: >-\n          Clinical Research Phase. Clinical research involves trials of the drug on people,\n          and it is one of the most involved stages in the drug development and approval process.\n          Clinical trials must answer specific questions and follow a protocol determined by\n          the drug researcher or manufacturer.\n      \"fda_review_phase_4\":\n        description: >-\n          FDA Review\n      \"fda_post_market_safety_review\":\n        description: >-\n          FDA Post-Market Safety Monitoring.  The last phase of drug approval is an ongoing one\n          while the drug is on the marketplace. If a developer wants to change anything about the\n          drug formulation or approve it for a new use, they must apply with the FDA. The FDA also\n          frequently reviews the drug’s advertising and its manufacturing facility to make sure\n          everything involved in its creation and marketing is in compliance with regulations.\n      \"fda_clinical_research_phase_1\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 1 involves 20 – 100 study participants and\n          lasts several months. This phase is used to determine the safety and dosage of the drug,\n          and about 70% of these drugs move on to the next clinical research phase.\n      \"fda_clinical_research_phase_2\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 2 involves up to several hundred people,\n          who must have the disease or condition the drug supposes to treat. This phase can last\n          from a few months to two years, and its purpose is to monitor the efficacy of the drug,\n          as well as note side effects that may occur.\n      \"fda_clinical_research_phase_3\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 3 involves 300 – 3000 volunteers\n          and can last up to four years. It is used to continue monitoring the efficacy of\n          the drug, as well as exploring any longer-term adverse reactions.\n      \"fda_clinical_research_phase_4\":\n        description: >-\n          In the FDA Clinical Research Phase, the Clinical Research Phase 4 involves several thousands of\n          volunteers who have the disease or condition and continues to monitor safety and efficacy.\n          If a drug passes this phase, it goes on to FDA review.\n      \"fda_fast_track\":\n        description: >-\n          Fast track is a process designed to facilitate the development, and expedite the\n          review of drugs to treat serious conditions and fill an unmet medical need.\n          The purpose is to get important new drugs to the patient earlier. Fast Track\n          addresses a broad range of serious conditions. For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/fast-track\n      \"fda_breakthrough_therapy\":\n        description: >-\n          Breakthrough Therapy designation is a process designed to expedite the\n          development and review of drugs that are intended to treat a serious\n          condition and preliminary clinical evidence indicates that the drug may\n          demonstrate substantial improvement over available therapy on a clinically significant endpoint(s).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/breakthrough-therapy\n      \"fda_accelerated_approval\":\n        description: >-\n          When studying a new drug, it can sometimes take many years to learn whether a drug actually\n          provides a real effect on how a patient survives, feels, or functions. A positive therapeutic\n          effect that is clinically meaningful in the context of a given disease is known as “clinical benefit”.\n          Mindful of the fact that it may take an extended period of time to measure a drug’s intended clinical\n          benefit, in 1992 FDA instituted the Accelerated Approval regulations. These regulations allowed drugs\n          for serious conditions that filled an unmet medical need to be approved based on a surrogate endpoint.\n          Using a surrogate endpoint enabled the FDA to approve these drugs faster.\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/accelerated-approval\n      \"fda_priority_review\":\n        description: >-\n          Prior to approval, each drug marketed in the United States must go through a detailed FDA review process.\n          In 1992, under the Prescription Drug User Act (PDUFA), FDA agreed to specific goals for improving\n          the drug review time and created a two-tiered system of review times – Standard Review and Priority\n          Review. A Priority Review designation means FDA’s goal is to take action on an application\n          within 6 months (compared to 10 months under standard review).\n          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/priority-review\n      \"regular_fda_approval\":\n        description: >-\n          Regular FDA Approval.  The last phase of drug approval is an ongoing one while the drug is on the marketplace.\n          If a developer wants to change anything about the drug formulation or approve it for a new use,\n          they must apply with the FDA. The FDA also frequently reviews the drug’s advertising and its\n          manufacturing facility to make sure everything involved in its creation and marketing is in compliance\n          with regulations.\n      \"post_approval_withdrawal\":\n\n  FDAIDAAdverseEventEnum:\n    description: >-\n      please consult with the FDA guidelines as proposed in this document:\n      https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/cfrsearch.cfm?fr=312.32\n    permissible_values:\n      \"life_threatening_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'life-threatening' if, in the view of either \n          the investigator or sponsor, its occurrence places the patient or subject at immediate risk of death. \n          It does not include an adverse event or suspected adverse reaction that, had it occurred in a more \n          severe form, might have caused death.\n      \"serious_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'serious' if, in the view of either the \n          investigator or sponsor, it results in any of the following outcomes: Death, a life-threatening adverse event,\n          inpatient hospitalization or prolongation of existing hospitalization, a persistent or significant incapacity \n          or substantial disruption of the ability to conduct normal life functions, or a congenital anomaly/birth \n          defect. Important medical events that may not result in death, be life-threatening, or require hospitalization\n          may be considered serious when, based upon appropriate medical judgment, they may jeopardize the patient or \n          subject and may require medical or surgical intervention to prevent one of the outcomes listed in this \n          definition. Examples of such medical events include allergic bronchospasm requiring intensive treatment \n          in an emergency room or at home, blood dyscrasias or convulsions that do not result in inpatient \n          hospitalization, or the development of drug dependency or drug abuse.\n      \"suspected_adverse_reaction\":\n        description: >-\n           means any adverse event for which there is a reasonable possibility that the drug caused the adverse event. \n           For the purposes of IND safety reporting, 'reasonable possibility' means there is evidence to suggest a \n           causal relationship between the drug and the adverse event. Suspected adverse reaction implies a lesser \n           degree of certainty about causality than adverse reaction, which means any adverse event caused by a drug.\n      \"unexpected_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'unexpected' if it is not listed in the \n          investigator brochure or is not listed at the specificity or severity that has been observed; or, if an \n          investigator brochure is not required or available, is not consistent with the risk information described \n          in the general investigational plan or elsewhere in the current application, as amended. For example, \n          under this definition, hepatic necrosis would be unexpected (by virtue of greater severity) if the \n          investigator brochure referred only to elevated hepatic enzymes or hepatitis. Similarly, cerebral \n          thromboembolism and cerebral vasculitis would be unexpected (by virtue of greater specificity) if the \n          investigator brochure listed only cerebral vascular accidents. 'Unexpected', as used in this definition, \n          also refers to adverse events or suspected adverse reactions that are mentioned in the investigator brochure\n          as occurring with a class of drugs or as anticipated from the pharmacological properties of the drug, but \n          are not specifically mentioned as occurring with the particular drug under investigation.\n"
  },
  {
    "path": "medikanren2/neo/neo-biolink/biolink_3_5_2/semmed-exclude-list-model.yaml",
    "content": "---\nid: https://w3id.org/biolink/biolink-model\nname: semmed-exclude-list-model\ndescription: Model that represents a semmed exclude list object\nlicense: https://creativecommons.org/publicdomain/zero/1.0/\n\n# Version should be kept in sync with primary Git repository release tag\n\nversion: 3.5.2\n\n## ------------\n##\n## PREFIXES\n## ------------\n# CURIE namespaces (prefixes/base URI's) mappings of prefixes used in the body of the Biolink Model specification\n# are resolved using a specific precedence order, for use in the generation of the Biolink Model context.jsonld\n# mappings to namespaces. Any prefixes encountered in the Biolink Model but not resolved by the following\n# precedence sources, are anonymously declared by linkml as http://example.org/UNKNOWN/ rooted base URI's\n# which should ideally be repaired in one of the precedence lists.\n#\n# 1. The following 'prefixes:' delimited list has first precedence in resolution.\n#\nprefixes:\n  biolink: 'https://w3id.org/biolink/vocab/'\n  linkml: 'https://w3id.org/linkml/'\n  infores: 'https://w3id.org/biolink/vocab/'\n  sel: 'https://w3id.org/biolink/vocab/'\n\n\nimports:\n  - linkml:types\n\ndefault_prefix: sel\ndefault_range: string\n\ndefault_curi_maps:\n  - obo_context\n  - idot_context\n  - monarch_context\n  - semweb_context\n\nemit_prefixes:\n  - rdf\n  - rdfs\n  - xsd\n  - skos\n  - oboInOwl\n\nclasses:\n  ExcludeListContainer:\n    tree_root: true\n    description: >-\n      A collection of exclusion objects\n    slots:\n      - excluded_semmedb_records\n\n  ExcludedSemmedbRecord:\n    slots:\n      - semmed_subject_code\n      - semmed_subject_t_code\n      - semmed_predicate\n      - semmed_object_code\n      - semmed_object_t_code\n      - exclusion_type\n\nslots:\n\n  semmed_subject_code:\n    description: >-\n      The subject code of the semmeddb record\n    range: string\n\n  semmed_subject_t_code:\n    description: >-\n      The subject t code of the semmeddb record\n    range: string\n\n  semmed_predicate:\n    description: >-\n      The predicate of the semmeddb record\n    range: string\n\n  semmed_object_code:\n    description: >-\n      The object code of the semmeddb record\n    range: string\n\n  semmed_object_t_code:\n    description: >-\n      The object t code of the semmeddb record\n    range: string\n\n  exclusion_type:\n    description: >-\n      The notes describing the kind of exclusion that generated this record.\n    range: string\n\n  excluded_semmedb_records:\n    description: >-\n      The list of semmeddb records that are excluded\n    multivalued: true\n    range: ExcludedSemmedbRecord\n    inlined_as_list: true"
  },
  {
    "path": "medikanren2/neo/neo-biolink/biolink_3_5_2/semmed-exclude-list.yaml",
    "content": "---\nexcluded_semmedb_records:\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: mosq\n  semmed_subject_t_code: T085\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: mosq\n  semmed_object_t_code: T085\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: acty\n  semmed_subject_t_code: T052\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: acty\n  semmed_object_t_code: T052\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: ffas\n  semmed_subject_t_code: T021\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: resd\n  semmed_subject_t_code: T075\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: resd\n  semmed_object_t_code: T075\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: amph\n  semmed_subject_t_code: T011\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: bhvr\n  semmed_subject_t_code: T053\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: bhvr\n  semmed_object_t_code: T053\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: bird\n  semmed_subject_t_code: T012\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: bmod\n  semmed_subject_t_code: T091\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: bmod\n  semmed_object_t_code: T091\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: clas\n  semmed_subject_t_code: T185\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: clas\n  semmed_object_t_code: T185\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: cnce\n  semmed_subject_t_code: T077\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: cnce\n  semmed_object_t_code: T077\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: crbs\n  semmed_subject_t_code: T088\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: crbs\n  semmed_object_t_code: T088\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: edac\n  semmed_object_t_code: T065\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: enty\n  semmed_subject_t_code: T071\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: enty\n  semmed_object_t_code: T071\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: evnt\n  semmed_subject_t_code: T051\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: evnt\n  semmed_object_t_code: T051\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: geoa\n  semmed_subject_t_code: T083\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: gora\n  semmed_subject_t_code: T064\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: gora\n  semmed_object_t_code: T064\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: grpa\n  semmed_subject_t_code: T102\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: grpa\n  semmed_object_t_code: T102\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: hcpp\n  semmed_subject_t_code: T068\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: hcpp\n  semmed_object_t_code: T068\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: hcro\n  semmed_subject_t_code: T093\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: lang\n  semmed_subject_t_code: T171\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: lang\n  semmed_object_t_code: T171\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: mcha\n  semmed_subject_t_code: T066\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: mcha\n  semmed_object_t_code: T066\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: ocac\n  semmed_subject_t_code: T057\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: ocac\n  semmed_object_t_code: T057\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: ocdi\n  semmed_subject_t_code: T090\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: ocdi\n  semmed_object_t_code: T090\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: orgt\n  semmed_subject_t_code: T092\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: orgt\n  semmed_object_t_code: T092\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: phob\n  semmed_subject_t_code: T072\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: phob\n  semmed_object_t_code: T072\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: pros\n  semmed_subject_t_code: T094\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: pros\n  semmed_object_t_code: T094\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: qlco\n  semmed_object_t_code: T080\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: rept\n  semmed_subject_t_code: T014\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: rnlw\n  semmed_subject_t_code: T089\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: rnlw\n  semmed_object_t_code: T089\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: shro\n  semmed_subject_t_code: T095\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: shro\n  semmed_object_t_code: T095\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: vtbt\n  semmed_subject_t_code: T010\n  semmed_predicate: N/A\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: N/A\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: semantic type exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: genf\n  semmed_subject_t_code: T045\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: diap\n  semmed_subject_t_code: T060\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: celc\n  semmed_subject_t_code: T026\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: irda\n  semmed_subject_t_code: T130\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bodm\n  semmed_subject_t_code: T122\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: emod\n  semmed_subject_t_code: T050\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rnlw\n  semmed_subject_t_code: T089\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bhvr\n  semmed_subject_t_code: T053\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: evnt\n  semmed_subject_t_code: T051\n  semmed_predicate: AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bird\n  semmed_subject_t_code: T012\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: AUGMENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: AUGMENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: AUGMENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: AUGMENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: genf\n  semmed_subject_t_code: T045\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fndg\n  semmed_subject_t_code: T033\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resd\n  semmed_subject_t_code: T075\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: aggp\n  semmed_subject_t_code: T100\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: emod\n  semmed_subject_t_code: T050\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: medd\n  semmed_subject_t_code: T074\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clas\n  semmed_subject_t_code: T185\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: geoa\n  semmed_subject_t_code: T083\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lang\n  semmed_subject_t_code: T171\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clas\n  semmed_subject_t_code: T185\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: orgt\n  semmed_subject_t_code: T092\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hcro\n  semmed_subject_t_code: T093\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: acty\n  semmed_subject_t_code: T052\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resd\n  semmed_subject_t_code: T075\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: cnce\n  semmed_subject_t_code: T077\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: COMPLICATES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: CONVERTS_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: CONVERTS_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: genf\n  semmed_subject_t_code: T045\n  semmed_predicate: DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: neop\n  semmed_subject_t_code: T191\n  semmed_predicate: DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fndg\n  semmed_subject_t_code: T033\n  semmed_predicate: DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: geoa\n  semmed_subject_t_code: T083\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: acty\n  semmed_subject_t_code: T052\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lang\n  semmed_subject_t_code: T171\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clas\n  semmed_subject_t_code: T185\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: INHIBITS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: INHIBITS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: amph\n  semmed_subject_t_code: T011\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rept\n  semmed_subject_t_code: T014\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: vtbt\n  semmed_subject_t_code: T010\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bird\n  semmed_subject_t_code: T012\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: food\n  semmed_subject_t_code: T168\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: aggp\n  semmed_subject_t_code: T100\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: topp\n  semmed_subject_t_code: T061\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: medd\n  semmed_subject_t_code: T074\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: eehu\n  semmed_subject_t_code: T069\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mosq\n  semmed_subject_t_code: T085\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: geoa\n  semmed_subject_t_code: T083\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bird\n  semmed_subject_t_code: T012\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bmod\n  semmed_subject_t_code: T091\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rept\n  semmed_subject_t_code: T014\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: amph\n  semmed_subject_t_code: T011\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ocdi\n  semmed_subject_t_code: T090\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hcro\n  semmed_subject_t_code: T093\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: orgt\n  semmed_subject_t_code: T092\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ocac\n  semmed_subject_t_code: T057\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: vtbt\n  semmed_subject_t_code: T010\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: acty\n  semmed_subject_t_code: T052\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bhvr\n  semmed_subject_t_code: T053\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: gora\n  semmed_subject_t_code: T064\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: pros\n  semmed_subject_t_code: T094\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phob\n  semmed_subject_t_code: T072\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mcha\n  semmed_subject_t_code: T066\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: shro\n  semmed_subject_t_code: T095\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: evnt\n  semmed_subject_t_code: T051\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resd\n  semmed_subject_t_code: T075\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clas\n  semmed_subject_t_code: T185\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mosq\n  semmed_subject_t_code: T085\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hcro\n  semmed_subject_t_code: T093\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: orgt\n  semmed_subject_t_code: T092\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: vtbt\n  semmed_subject_t_code: T010\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: aggp\n  semmed_subject_t_code: T100\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ffas\n  semmed_subject_t_code: T021\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: shro\n  semmed_subject_t_code: T095\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: pros\n  semmed_subject_t_code: T094\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: emod\n  semmed_subject_t_code: T050\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bacs\n  semmed_subject_t_code: T123\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bird\n  semmed_subject_t_code: T012\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phsu\n  semmed_subject_t_code: T121\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: amph\n  semmed_subject_t_code: T011\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: nnon\n  semmed_subject_t_code: T114\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: dsyn\n  semmed_subject_t_code: T047\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rept\n  semmed_subject_t_code: T014\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mosq\n  semmed_subject_t_code: T085\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: emod\n  semmed_subject_t_code: T050\n  semmed_predicate: MANIFESTATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inbe\n  semmed_subject_t_code: T055\n  semmed_predicate: MANIFESTATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bhvr\n  semmed_subject_t_code: T053\n  semmed_predicate: MANIFESTATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: MANIFESTATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: MANIFESTATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: MANIFESTATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: MEASUREMENT_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: MEASUREMENT_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mcha\n  semmed_subject_t_code: T066\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ocac\n  semmed_subject_t_code: T057\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: gora\n  semmed_subject_t_code: T064\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rnlw\n  semmed_subject_t_code: T089\n  semmed_predicate: METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rnlw\n  semmed_subject_t_code: T089\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bhvr\n  semmed_subject_t_code: T053\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: NEG_ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: NEG_ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: NEG_ASSOCIATED_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: NEG_AUGMENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_AUGMENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resd\n  semmed_subject_t_code: T075\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: NEG_DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: NEG_DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: NEG_DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: NEG_DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: NEG_DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_DIAGNOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_DISRUPTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_INHIBITS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_INHIBITS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: amph\n  semmed_subject_t_code: T011\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: vtbt\n  semmed_subject_t_code: T010\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rept\n  semmed_subject_t_code: T014\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bird\n  semmed_subject_t_code: T012\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: geoa\n  semmed_subject_t_code: T083\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bmod\n  semmed_subject_t_code: T091\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bird\n  semmed_subject_t_code: T012\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ocdi\n  semmed_subject_t_code: T090\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rept\n  semmed_subject_t_code: T014\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: orgt\n  semmed_subject_t_code: T092\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hcro\n  semmed_subject_t_code: T093\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: amph\n  semmed_subject_t_code: T011\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ocac\n  semmed_subject_t_code: T057\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: vtbt\n  semmed_subject_t_code: T010\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: acty\n  semmed_subject_t_code: T052\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bhvr\n  semmed_subject_t_code: T053\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: evnt\n  semmed_subject_t_code: T051\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: pros\n  semmed_subject_t_code: T094\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mcha\n  semmed_subject_t_code: T066\n  semmed_predicate: NEG_ISA\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mamm\n  semmed_subject_t_code: T015\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hcro\n  semmed_subject_t_code: T093\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: anim\n  semmed_subject_t_code: T008\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: orgt\n  semmed_subject_t_code: T092\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: vtbt\n  semmed_subject_t_code: T010\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ffas\n  semmed_subject_t_code: T021\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: shro\n  semmed_subject_t_code: T095\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: pros\n  semmed_subject_t_code: T094\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: fish\n  semmed_subject_t_code: T013\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: amph\n  semmed_subject_t_code: T011\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bird\n  semmed_subject_t_code: T012\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rept\n  semmed_subject_t_code: T014\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: NEG_LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_LOWER_THAN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bhvr\n  semmed_subject_t_code: T053\n  semmed_predicate: NEG_MANIFESTATION_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: NEG_MEASUREMENT_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: NEG_MEASUREMENT_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ocac\n  semmed_subject_t_code: T057\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mcha\n  semmed_subject_t_code: T066\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: gora\n  semmed_subject_t_code: T064\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ffas\n  semmed_subject_t_code: T021\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: NEG_PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: NEG_PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: NEG_PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: NEG_PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hcro\n  semmed_subject_t_code: T093\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ffas\n  semmed_subject_t_code: T021\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: orgt\n  semmed_subject_t_code: T092\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_STIMULATES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: NEG_USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: NOM\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phpr\n  semmed_subject_t_code: T067\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: elii\n  semmed_subject_t_code: T196\n  semmed_predicate: PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: horm\n  semmed_subject_t_code: T125\n  semmed_predicate: PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ffas\n  semmed_subject_t_code: T021\n  semmed_predicate: PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mosq\n  semmed_subject_t_code: T085\n  semmed_predicate: PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: PART_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: PRECEDES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: PRECEDES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: PRECEDES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: PRECEDES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: PRECEDES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: nusq\n  semmed_subject_t_code: T086\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: diap\n  semmed_subject_t_code: T060\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: irda\n  semmed_subject_t_code: T130\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resd\n  semmed_subject_t_code: T075\n  semmed_predicate: PREVENTS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: socb\n  semmed_subject_t_code: T054\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: acty\n  semmed_subject_t_code: T052\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bhvr\n  semmed_subject_t_code: T053\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ocac\n  semmed_subject_t_code: T057\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clas\n  semmed_subject_t_code: T185\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: evnt\n  semmed_subject_t_code: T051\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: spco\n  semmed_subject_t_code: T082\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: dsyn\n  semmed_subject_t_code: T047\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: genf\n  semmed_subject_t_code: T045\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: aggp\n  semmed_subject_t_code: T100\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hcro\n  semmed_subject_t_code: T093\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: orgt\n  semmed_subject_t_code: T092\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ffas\n  semmed_subject_t_code: T021\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: pros\n  semmed_subject_t_code: T094\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clna\n  semmed_subject_t_code: T201\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: menp\n  semmed_subject_t_code: T041\n  semmed_predicate: PRODUCES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: tmco\n  semmed_subject_t_code: T079\n  semmed_predicate: SAME_AS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: nusq\n  semmed_subject_t_code: T086\n  semmed_predicate: STIMULATES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: STIMULATES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: STIMULATES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: STIMULATES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: STIMULATES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: STIMULATES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: diap\n  semmed_subject_t_code: T060\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hops\n  semmed_subject_t_code: T131\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: irda\n  semmed_subject_t_code: T130\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: gngm\n  semmed_subject_t_code: T028\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bodm\n  semmed_subject_t_code: T122\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chem\n  semmed_subject_t_code: T103\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: gora\n  semmed_subject_t_code: T064\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ortf\n  semmed_subject_t_code: T042\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: celc\n  semmed_subject_t_code: T026\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ftcn\n  semmed_subject_t_code: T169\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mcha\n  semmed_subject_t_code: T066\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mnob\n  semmed_subject_t_code: T073\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: ocac\n  semmed_subject_t_code: T057\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resd\n  semmed_subject_t_code: T075\n  semmed_predicate: TREATS\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lbpr\n  semmed_subject_t_code: T059\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: resa\n  semmed_subject_t_code: T062\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hlca\n  semmed_subject_t_code: T058\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: popg\n  semmed_subject_t_code: T098\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: podg\n  semmed_subject_t_code: T101\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: mbrt\n  semmed_subject_t_code: T063\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: prog\n  semmed_subject_t_code: T097\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: aggp\n  semmed_subject_t_code: T100\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: grup\n  semmed_subject_t_code: T096\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: famg\n  semmed_subject_t_code: T099\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: aapp\n  semmed_subject_t_code: T116\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: orch\n  semmed_subject_t_code: T109\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: humn\n  semmed_subject_t_code: T016\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: bacs\n  semmed_subject_t_code: T123\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: gngm\n  semmed_subject_t_code: T028\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: horm\n  semmed_subject_t_code: T125\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: phsu\n  semmed_subject_t_code: T121\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: imft\n  semmed_subject_t_code: T129\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: nnon\n  semmed_subject_t_code: T114\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inch\n  semmed_subject_t_code: T197\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: nsba\n  semmed_subject_t_code: not_found\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: antb\n  semmed_subject_t_code: T195\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: enzy\n  semmed_subject_t_code: T126\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: hops\n  semmed_subject_t_code: T131\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: opco\n  semmed_subject_t_code: not_found\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: carb\n  semmed_subject_t_code: not_found\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: eico\n  semmed_subject_t_code: not_found\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: lipd\n  semmed_subject_t_code: not_found\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: clnd\n  semmed_subject_t_code: T200\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: elii\n  semmed_subject_t_code: T196\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: inpr\n  semmed_subject_t_code: T170\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qnco\n  semmed_subject_t_code: T081\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: dora\n  semmed_subject_t_code: T056\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvf\n  semmed_subject_t_code: T120\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: npop\n  semmed_subject_t_code: T070\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: genf\n  semmed_subject_t_code: T045\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: irda\n  semmed_subject_t_code: T130\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: edac\n  semmed_subject_t_code: T065\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: plnt\n  semmed_subject_t_code: T002\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: virs\n  semmed_subject_t_code: T005\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: chvs\n  semmed_subject_t_code: T104\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: idcn\n  semmed_subject_t_code: T078\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: qlco\n  semmed_subject_t_code: T080\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: rcpt\n  semmed_subject_t_code: T192\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: strd\n  semmed_subject_t_code: not_found\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: vita\n  semmed_subject_t_code: T127\n  semmed_predicate: USES\n  semmed_object_code: N/A\n  semmed_object_t_code: N/A\n  exclusion_type: Domain exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: invt\n  semmed_object_t_code: not_found\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: bact\n  semmed_object_t_code: T007\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: fngs\n  semmed_object_t_code: T004\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: plnt\n  semmed_object_t_code: T002\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: virs\n  semmed_object_t_code: T005\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: neop\n  semmed_object_t_code: T191\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: arch\n  semmed_object_t_code: T194\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: alga\n  semmed_object_t_code: not_found\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: rich\n  semmed_object_t_code: not_found\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ADMINISTERED_TO\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: orgm\n  semmed_object_t_code: T001\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: aggp\n  semmed_object_t_code: T100\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: bhvr\n  semmed_object_t_code: T053\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: orgt\n  semmed_object_t_code: T092\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: diap\n  semmed_object_t_code: T060\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: shro\n  semmed_object_t_code: T095\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: pros\n  semmed_object_t_code: T094\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: qlco\n  semmed_object_t_code: T080\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: acty\n  semmed_object_t_code: T052\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AFFECTS\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ASSOCIATED_WITH\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AUGMENTS\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AUGMENTS\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AUGMENTS\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AUGMENTS\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AUGMENTS\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AUGMENTS\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AUGMENTS\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: AUGMENTS\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: fndg\n  semmed_object_t_code: T033\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: emod\n  semmed_object_t_code: T050\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: lbtr\n  semmed_object_t_code: T034\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: orga\n  semmed_object_t_code: T032\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CAUSES\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: medd\n  semmed_object_t_code: T074\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: edac\n  semmed_object_t_code: T065\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COEXISTS_WITH\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: qlco\n  semmed_object_t_code: T080\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: lang\n  semmed_object_t_code: T171\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: clas\n  semmed_object_t_code: T185\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: COMPARED_WITH\n  semmed_object_code: orgt\n  semmed_object_t_code: T092\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CONVERTS_TO\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: CONVERTS_TO\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DIAGNOSES\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: fndg\n  semmed_object_t_code: T033\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: DISRUPTS\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: qlco\n  semmed_object_t_code: T080\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: lang\n  semmed_object_t_code: T171\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: HIGHER_THAN\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INHIBITS\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INHIBITS\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INHIBITS\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: food\n  semmed_object_t_code: T168\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: aggp\n  semmed_object_t_code: T100\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: medd\n  semmed_object_t_code: T074\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: topp\n  semmed_object_t_code: T061\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: eehu\n  semmed_object_t_code: T069\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: INTERACTS_WITH\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: ocdi\n  semmed_object_t_code: T090\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: edac\n  semmed_object_t_code: T065\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: bmod\n  semmed_object_t_code: T091\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: evnt\n  semmed_object_t_code: T051\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: orgt\n  semmed_object_t_code: T092\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: acty\n  semmed_object_t_code: T052\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: ocac\n  semmed_object_t_code: T057\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: hcpp\n  semmed_object_t_code: T068\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: mosq\n  semmed_object_t_code: T085\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: gora\n  semmed_object_t_code: T064\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: bhvr\n  semmed_object_t_code: T053\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: mcha\n  semmed_object_t_code: T066\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: pros\n  semmed_object_t_code: T094\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: resd\n  semmed_object_t_code: T075\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: shro\n  semmed_object_t_code: T095\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: ISA\n  semmed_object_code: phob\n  semmed_object_t_code: T072\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: genf\n  semmed_object_t_code: T045\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: medd\n  semmed_object_t_code: T074\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: hops\n  semmed_object_t_code: T131\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: edac\n  semmed_object_t_code: T065\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: ocac\n  semmed_object_t_code: T057\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: qlco\n  semmed_object_t_code: T080\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: ocdi\n  semmed_object_t_code: T090\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: mcha\n  semmed_object_t_code: T066\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: clas\n  semmed_object_t_code: T185\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOCATION_OF\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: LOWER_THAN\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MANIFESTATION_OF\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MANIFESTATION_OF\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASUREMENT_OF\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASUREMENT_OF\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: qlco\n  semmed_object_t_code: T080\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: MEASURES\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: bmod\n  semmed_object_t_code: T091\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: ocdi\n  semmed_object_t_code: T090\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: mcha\n  semmed_object_t_code: T066\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: METHOD_OF\n  semmed_object_code: ocac\n  semmed_object_t_code: T057\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ADMINISTERED_TO\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: bhvr\n  semmed_object_t_code: T053\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: orgt\n  semmed_object_t_code: T092\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: qlco\n  semmed_object_t_code: T080\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: acty\n  semmed_object_t_code: T052\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AFFECTS\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ASSOCIATED_WITH\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ASSOCIATED_WITH\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ASSOCIATED_WITH\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AUGMENTS\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AUGMENTS\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_AUGMENTS\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_CAUSES\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_COEXISTS_WITH\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_DISRUPTS\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_DISRUPTS\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_DISRUPTS\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_DISRUPTS\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_HIGHER_THAN\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INHIBITS\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_INTERACTS_WITH\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: ocdi\n  semmed_object_t_code: T090\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: evnt\n  semmed_object_t_code: T051\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: bmod\n  semmed_object_t_code: T091\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: edac\n  semmed_object_t_code: T065\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: orgt\n  semmed_object_t_code: T092\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: acty\n  semmed_object_t_code: T052\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: hcpp\n  semmed_object_t_code: T068\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: ocac\n  semmed_object_t_code: T057\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: mosq\n  semmed_object_t_code: T085\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_ISA\n  semmed_object_code: bhvr\n  semmed_object_t_code: T053\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: edac\n  semmed_object_t_code: T065\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: ocac\n  semmed_object_t_code: T057\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOCATION_OF\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOWER_THAN\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOWER_THAN\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOWER_THAN\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_LOWER_THAN\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASUREMENT_OF\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASUREMENT_OF\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_MEASURES\n  semmed_object_code: phpr\n  semmed_object_t_code: T067\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: ocdi\n  semmed_object_t_code: T090\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: bmod\n  semmed_object_t_code: T091\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_METHOD_OF\n  semmed_object_code: mcha\n  semmed_object_t_code: T066\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_OCCURS_IN\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PART_OF\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRECEDES\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRECEDES\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRECEDES\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PROCESS_OF\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: clas\n  semmed_object_t_code: T185\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: resd\n  semmed_object_t_code: T075\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: rnlw\n  semmed_object_t_code: T089\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_PRODUCES\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_SAME_AS\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_STIMULATES\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_TREATS\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: resd\n  semmed_object_t_code: T075\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: clas\n  semmed_object_t_code: T185\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: rnlw\n  semmed_object_t_code: T089\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: NEG_USES\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: OCCURS_IN\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: ffas\n  semmed_object_t_code: T021\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PART_OF\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: hlca\n  semmed_object_t_code: T058\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: edac\n  semmed_object_t_code: T065\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRECEDES\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PREDISPOSES\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PREP\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PREVENTS\n  semmed_object_code: fndg\n  semmed_object_t_code: T033\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PREVENTS\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: anim\n  semmed_object_t_code: T008\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: fish\n  semmed_object_t_code: T013\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: vtbt\n  semmed_object_t_code: T010\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: rept\n  semmed_object_t_code: T014\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: amph\n  semmed_object_t_code: T011\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PROCESS_OF\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: medd\n  semmed_object_t_code: T074\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: clas\n  semmed_object_t_code: T185\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: resd\n  semmed_object_t_code: T075\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: rnlw\n  semmed_object_t_code: T089\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: PRODUCES\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: chem\n  semmed_object_t_code: T103\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: geoa\n  semmed_object_t_code: T083\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: SAME_AS\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: STIMULATES\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: STIMULATES\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: STIMULATES\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: podg\n  semmed_object_t_code: T101\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: mamm\n  semmed_object_t_code: T015\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: humn\n  semmed_object_t_code: T016\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: fndg\n  semmed_object_t_code: T033\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: popg\n  semmed_object_t_code: T098\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: aggp\n  semmed_object_t_code: T100\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: bact\n  semmed_object_t_code: T007\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: orga\n  semmed_object_t_code: T032\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: famg\n  semmed_object_t_code: T099\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: emod\n  semmed_object_t_code: T050\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: prog\n  semmed_object_t_code: T097\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: grup\n  semmed_object_t_code: T096\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: plnt\n  semmed_object_t_code: T002\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: ftcn\n  semmed_object_t_code: T169\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: menp\n  semmed_object_t_code: T041\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: euka\n  semmed_object_t_code: T204\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: nnon\n  semmed_object_t_code: T114\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: tmco\n  semmed_object_t_code: T079\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: bpoc\n  semmed_object_t_code: T023\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: clna\n  semmed_object_t_code: T201\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: idcn\n  semmed_object_t_code: T078\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: qlco\n  semmed_object_t_code: T080\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: bird\n  semmed_object_t_code: T012\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: dora\n  semmed_object_t_code: T056\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: socb\n  semmed_object_t_code: T054\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: TREATS\n  semmed_object_code: spco\n  semmed_object_t_code: T082\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: lbpr\n  semmed_object_t_code: T059\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: resd\n  semmed_object_t_code: T075\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: mnob\n  semmed_object_t_code: T073\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: mbrt\n  semmed_object_t_code: T063\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: rnlw\n  semmed_object_t_code: T089\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: clas\n  semmed_object_t_code: T185\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: chvf\n  semmed_object_t_code: T120\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: gngm\n  semmed_object_t_code: T028\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: inpr\n  semmed_object_t_code: T170\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: qnco\n  semmed_object_t_code: T081\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: hcro\n  semmed_object_t_code: T093\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: resa\n  semmed_object_t_code: T062\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: chvs\n  semmed_object_t_code: T104\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: npop\n  semmed_object_t_code: T070\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: gora\n  semmed_object_t_code: T064\n  exclusion_type: Range exclusion\n- semmed_subject_code: N/A\n  semmed_subject_t_code: N/A\n  semmed_predicate: USES\n  semmed_object_code: orgt\n  semmed_object_t_code: T092\n  exclusion_type: Range exclusion\n"
  },
  {
    "path": "medikanren2/neo/neo-biolink/biolink_4_2_1/biolink-model.yaml",
    "content": "---\nid: https://w3id.org/biolink/biolink-model\nname: Biolink-Model\ndescription: Entity and association taxonomy and datamodel for life-sciences data\nlicense: https://creativecommons.org/publicdomain/zero/1.0/\n\n# Version should be kept in sync with primary Git repository release tag\n\nversion: 4.2.1\n\n## ------------\n##\n## PREFIXES\n## ------------\n# CURIE namespaces (prefixes/base URI's) mappings of prefixes used in the body of the Biolink Model specification\n# are resolved using a specific precedence order, for use in the generation of the Biolink Model context.jsonld\n# mappings to namespaces. Any prefixes encountered in the Biolink Model but not resolved by the following\n# precedence sources, are anonymously declared by linkml as http://example.org/UNKNOWN/ rooted base URI's\n# which should ideally be repaired in one of the precedence lists.\n#\n# 1. The following 'prefixes:' delimited list has first precedence in resolution.\n#\nprefixes:\n  AGRKB: 'https://www.alliancegenome.org/'\n  apollo: 'https://github.com/GMOD/Apollo'\n  AspGD: 'http://www.aspergillusgenome.org/cgi-bin/locus.pl?dbid='\n  biolink: 'https://w3id.org/biolink/vocab/'\n  bioschemas: 'https://bioschemas.org/'\n  linkml: 'https://w3id.org/linkml/'\n  CAID: 'http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid='\n   # Placeholder: just points to GMOD Chado wiki\n  CHADO: 'http://gmod.org/wiki/Chado/'\n   # Placeholders: not sure how 'chembio'and CHEMBL.MECHANISM really resolve\n  ChemBank: 'http://chembank.broadinstitute.org/chemistry/viewMolecule.htm?cbid='\n  CHEMBL.MECHANISM: 'https://www.ebi.ac.uk/chembl/mechanism/inspect/'\n  CID: 'http://pubchem.ncbi.nlm.nih.gov/compound/'\n  CLINVAR: 'http://identifiers.org/clinvar'\n  COAR_RESOURCE: 'http://purl.org/coar/resource_type/'\n  COG: 'https://www.ncbi.nlm.nih.gov/research/cog-project/'\n  ComplexPortal: 'https://www.ebi.ac.uk/complexportal/complex/'\n  CPT: 'https://www.ama-assn.org/practice-management/cpt/'\n  CTD.CHEMICAL: 'http://ctdbase.org/detail.go?type=chem&acc='\n  CTD.DISEASE: 'http://ctdbase.org/detail.go?type=disease&db=MESH&acc='\n  CTD.GENE: 'http://ctdbase.org/detail.go?type=gene&acc='\n  CTD: 'http://ctdbase.org/'\n  DGIdb: 'https://www.dgidb.org/interaction_types'\n  dcat: 'http://www.w3.org/ns/dcat#'\n  dct: 'http://purl.org/dc/terms/'\n  dcid: 'https://datacommons.org/browser/'\n  doi: 'https://doi.org/'\n  DOID-PROPERTY: 'http://purl.obolibrary.org/obo/doid#'\n  DrugCentral: 'http://drugcentral.org/drugcard/'\n  ECTO: 'http://purl.obolibrary.org/obo/ECTO_'\n  EDAM-DATA: 'http://edamontology.org/data_'\n  EDAM-FORMAT: 'http://edamontology.org/format_'\n  EDAM-OPERATION: 'http://edamontology.org/operation_'\n  EDAM-TOPIC: 'http://edamontology.org/topic_'\n  EFO: 'http://www.ebi.ac.uk/efo/EFO_'\n  ExO: 'http://purl.obolibrary.org/obo/ExO_'\n  fabio: 'http://purl.org/spar/fabio/'\n  foaf: 'http://xmlns.com/foaf/0.1/'\n  foodb.compound: 'http://foodb.ca/compounds/'\n  foodb.food: 'http://foodb.ca/foods/'\n  FYECO: 'https://www.pombase.org/term/'\n  FYPO: 'http://purl.obolibrary.org/obo/FYPO_'   # Fission Yeast Phenotype Ontology\n  gff3: 'https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md#'\n  GOREL: 'http://purl.obolibrary.org/obo/GOREL_'\n   # GOP: Gene Ontology Property (not really a GO term but an associated metadatum)\n  GOP: 'http://purl.obolibrary.org/obo/go#'\n  gpi: 'https://github.com/geneontology/go-annotation/blob/master/specs/gpad-gpi-2-0.md#'\n  GSID: 'https://scholar.google.com/citations?user='\n  GTEx: 'https://www.gtexportal.org/home/gene/'\n  GTOPDB: 'https://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId='\n  gtpo: 'https://rdf.guidetopharmacology.org/ns/gtpo#'\n  HANCESTRO: 'http://www.ebi.ac.uk/ancestro/ancestro_'\n  HCPCS: 'http://purl.bioontology.org/ontology/HCPCS/'\n  HsapDv: 'http://purl.obolibrary.org/obo/HsapDv_'\n  ICD10: 'https://icd.codes/icd9cm/'\n  ICD9: 'http://translator.ncats.nih.gov/ICD9_'\n  interpro: 'https://www.ebi.ac.uk/interpro/entry/'\n  INO: 'http://purl.obolibrary.org/obo/INO_'\n  isbn: 'https://www.isbn-international.org/identifier/'  # note: a resolvable base URI not available from isbn-international\n  isni: 'https://isni.org/isni/'\n  issn: 'https://portal.issn.org/resource/ISSN/'\n  ncats.drug: 'https://drugs.ncats.io/drug/'\n  KEGG.BRITE: 'https://bioregistry.io/kegg.brite:'\n  KEGG: 'http://www.kegg.jp/entry/'\n  KEGG.GENES: 'https://bioregistry.io/kegg.genes:bsu:'\n  KEGG.PATHWAY: 'https://bioregistry.io/kegg.pathway:'\n  KEGG.RCLASS: 'https://www.genome.jp/dbget-bin/www_bget?rc:'\n  LOINC: 'http://loinc.org/rdf/'\n  MAXO: 'http://purl.obolibrary.org/obo/MAXO_'\n  medgen: 'https://www.ncbi.nlm.nih.gov/medgen/'\n  metacyc.reaction: 'http://identifiers.org/metacyc.reaction:'\n  METANETX.REACTION: 'https://www.metanetx.org/equa_info/'\n  MESH: 'http://id.nlm.nih.gov/mesh/'\n  MI: 'http://purl.obolibrary.org/obo/MI_'\n  mirbase: 'http://identifiers.org/mirbase'\n  mmmp.biomaps: 'https://bioregistry.io/mmmp.biomaps:'\n  MmusDv: 'http://purl.obolibrary.org/obo/MMUSDV_'\n  MSigDB: 'https://www.gsea-msigdb.org/gsea/msigdb/'\n  NBO-PROPERTY: 'http://purl.obolibrary.org/obo/nbo#'\n  ncats.bioplanet: 'https://tripod.nih.gov/bioplanet/detail.jsp?pid='\n  NCBIGene: 'http://identifiers.org/ncbigene/'\n  NCIT-OBO: 'http://purl.obolibrary.org/obo/ncit#'\n  NDDF: 'http://purl.bioontology.org/ontology/NDDF/'\n  NLMID: 'https://www.ncbi.nlm.nih.gov/nlmcatalog/?term='\n  OBAN: 'http://purl.org/oban/'\n  OMIM.PS: 'https://www.omim.org/phenotypicSeries/'\n  ORCID: 'https://orcid.org/'\n  orphanet: 'http://www.orpha.net/ORDO/Orphanet_'\n  os: 'https://github.com/cmungall/owlstar/blob/master/owlstar.ttl'\n  PANTHER.FAMILY: 'http://www.pantherdb.org/panther/family.do?clsAccession='\n  PathWhiz: 'http://smpdb.ca/pathways/#'   #  See also https://smpdb.ca/pathwhiz/\n  pav: 'http://purl.org/pav/'\n  PHARMGKB.CHEMICAL: 'https://www.pharmgkb.org/chemical/'\n  PHARMGKB.DISEASE: 'https://www.pharmgkb.org/disease/'\n  PHARMGKB.GENE: 'https://www.pharmgkb.org/gene/'\n  PHARMGKB.PATHWAYS: 'https://www.pharmgkb.org/pathway/'\n  PHARMGKB.VARIANT: 'https://www.pharmgkb.org/variant/'\n  PHAROS: 'http://pharos.nih.gov'\n  PomBase: 'https://www.pombase.org/gene/'\n  prov: 'http://www.w3.org/ns/prov#'\n  qud: 'http://qudt.org/1.1/schema/qudt#'\n  REPODB: 'http://apps.chiragjpgroup.org/repoDB/'\n  ResearchID: 'https://publons.com/researcher/'\n  RO: 'http://purl.obolibrary.org/obo/RO_'\n  RXNORM: 'http://purl.bioontology.org/ontology/RXNORM/'\n  RXCUI: 'https://mor.nlm.nih.gov/RxNav/search?searchBy=RXCUI&searchTerm='\n  schema: 'http://schema.org/'\n  ScopusID: 'https://www.scopus.com/authid/detail.uri?authorId='\n  SEED.REACTION: 'https://modelseed.org/biochem/reactions/'\n  SEMMEDDB: 'https://skr3.nlm.nih.gov/SemMedDB'\n  SIO: 'http://semanticscience.org/resource/SIO_'\n  SNOMEDCT: 'http://snomed.info/id/'\n  SPDI: 'https://api.ncbi.nlm.nih.gov/variation/v0/spdi/'\n  UBERGRAPH: 'http://translator.renci.org/ubergraph-axioms.ofn#'\n  UBERON_CORE: 'http://purl.obolibrary.org/obo/uberon/core#'\n  UBERON_NONAMESPACE: 'http://purl.obolibrary.org/obo/core#'\n  STY: 'http://purl.bioontology.org/ontology/STY/'\n  UMLSSG: 'https://lhncbc.nlm.nih.gov/semanticnetwork/download/sg_archive/SemGroups-v04.txt'\n  UniProtKB: 'http://purl.uniprot.org/uniprot/'\n  UNIPROT.ISOFORM: 'http://purl.uniprot.org/isoforms/'\n  VANDF: 'https://www.nlm.nih.gov/research/umls/sourcereleasedocs/current/VANDF/'\n  UO-PROPERTY: 'http://purl.obolibrary.org/obo/uo#'\n  VMC: 'https://github.com/ga4gh/vr-spec/'\n  WBls: 'http://purl.obolibrary.org/obo/WBls_'\n  WBbt: 'http://purl.obolibrary.org/obo/WBbt_'\n  WBVocab: 'http://bio2rdf.org/wormbase_vocabulary'\n  WIKIDATA: 'https://www.wikidata.org/entity/'             #  Wikidata Entity\n  WIKIDATA_PROPERTY: 'https://www.wikidata.org/prop/'\n  wgs: 'http://www.w3.org/2003/01/geo/wgs84_pos'\n  XPO: 'http://purl.obolibrary.org/obo/XPO_'   #  Xenopus Phenotype Ontology\n  Xenbase: 'http://www.xenbase.org/gene/showgene.do?method=display&geneId='\n  PMC: 'http://europepmc.org/articles/PMC'\n\ndefault_prefix: biolink\ndefault_range: string\n\ndefault_curi_maps:\n  - obo_context\n  - idot_context\n  - monarch_context\n  - semweb_context\n\nemit_prefixes:\n  - rdf\n  - rdfs\n  - xsd\n  - skos\n  - oboInOwl\n  - BIOGRID\n  - SO\n\n## ------------\n## SUBSETS\n## ------------\n\n\nsubsets:\n\n  model_organism_database:\n    description: >-\n      Subset that is relevant for a typical Model Organism Database (MOD)\n\n  translator_minimal:\n    description: >-\n      Minimum subset of translator work\n\n  samples:\n    description: >-\n      Sample/biosample datamodel\n\n  testing:\n    description: >-\n      TBD\n\n\n## ------------\n## TYPES\n## ------------\n\nimports:\n  - linkml:types\n\ntypes:\n\n  chemical formula value:\n    uri: xsd:string\n    base: str\n    description: A chemical formula\n    notes:\n      - Should be implemented as a stronger type\n\n  iri type:\n    typeof: uriorcurie\n    description: >-\n      An IRI\n\n  label type:\n    typeof: string\n    description: >-\n      A string that provides a human-readable name for an entity\n\n  predicate type:\n    typeof: uriorcurie\n    description: >-\n      A CURIE from the biolink related_to hierarchy.\n      For example, biolink:related_to, biolink:causes, biolink:treats.\n\n  narrative text:\n    typeof: string\n    description: >-\n      A string that provides a human-readable description of something\n\n  symbol type:\n    typeof: string\n\n  frequency value:\n    typeof: string\n    uri: UO:0000105\n\n  percentage frequency value:\n    typeof: double\n    uri: UO:0000187\n\n  quotient:\n    aliases: ['ratio']\n    typeof: double\n    uri: UO:0010006\n\n  unit:\n    typeof: string\n    uri: UO:0000000\n    id_prefixes:\n      - UO\n    exact_mappings:\n      - qud:Unit\n\n  time type:\n    typeof: time\n\n  biological sequence:\n    typeof: string\n\n## ------------\n## SLOTS\n## ------------\n\nslots:\n\n  has attribute:\n    description: >-\n      connects any entity to an attribute\n    domain: entity\n    range: attribute\n    multivalued: true\n    in_subset:\n      - samples\n    close_mappings:\n       # RTX term meaning 'specifies value of' tagged as inverse of 'biolink:has attribute'\n      - OBI:0001927\n    exact_mappings:\n      - SIO:000008\n    narrow_mappings:\n       # if 'has attribute' annotates a NamedThing as subject or\n       # object of an association, these OBAN mappings may apply\n      - OBAN:association_has_subject_property\n      - OBAN:association_has_object_property\n      - CPT:has_possibly_included_panel_element\n      - DRUGBANK:category\n       # RTX contributed terms. Could perhaps review for more semantically precise mappings?\n      - EFO:is_executed_in\n      - HANCESTRO:0301\n      - LOINC:has_action_guidance\n      - LOINC:has_adjustment\n      - LOINC:has_aggregation_view\n      - LOINC:has_approach_guidance\n      - LOINC:has_divisor\n      - LOINC:has_exam\n      - LOINC:has_method\n      - LOINC:has_modality_subtype\n      - LOINC:has_object_guidance\n      - LOINC:has_scale\n      - LOINC:has_suffix\n      - LOINC:has_time_aspect\n      - LOINC:has_time_modifier\n      - LOINC:has_timing_of\n       # disease is stage\n      - NCIT:R88\n      - NCIT:eo_disease_has_property_or_attribute\n      - NCIT:has_data_element\n      - NCIT:has_pharmaceutical_administration_method\n      - NCIT:has_pharmaceutical_basic_dose_form\n      - NCIT:has_pharmaceutical_intended_site\n      - NCIT:has_pharmaceutical_release_characteristics\n      - NCIT:has_pharmaceutical_state_of_matter\n      - NCIT:has_pharmaceutical_transformation\n      - NCIT:is_qualified_by\n      - NCIT:qualifier_applies_to\n      - NCIT:role_has_domain\n      - NCIT:role_has_range\n      - INO:0000154\n      - HANCESTRO:0308\n      - OMIM:has_inheritance_type\n      - orphanet:C016\n      - orphanet:C017\n      - RO:0000053\n       # RTX tagged a few RO terms as 'biolink:related_to' but semantics suggest a better mapping here\n      - RO:0000086\n      - RO:0000087\n      - SNOMED:has_access\n      - SNOMED:has_clinical_course\n      - SNOMED:has_count_of_base_of_active_ingredient\n      - SNOMED:has_dose_form_administration_method\n      - SNOMED:has_dose_form_release_characteristic\n      - SNOMED:has_dose_form_transformation\n      - SNOMED:has_finding_context\n      - SNOMED:has_finding_informer\n      - SNOMED:has_inherent_attribute\n      - SNOMED:has_intent\n      - SNOMED:has_interpretation\n      - SNOMED:has_laterality\n      - SNOMED:has_measurement_method\n      - SNOMED:has_method\n      - SNOMED:has_priority\n      - SNOMED:has_procedure_context\n      - SNOMED:has_process_duration\n      - SNOMED:has_property\n      - SNOMED:has_revision_status\n      - SNOMED:has_scale_type\n      - SNOMED:has_severity\n      - SNOMED:has_specimen\n      - SNOMED:has_state_of_matter\n      - SNOMED:has_subject_relationship_context\n      - SNOMED:has_surgical_approach\n      - SNOMED:has_technique\n      - SNOMED:has_temporal_context\n      - SNOMED:has_time_aspect\n      - SNOMED:has_units\n      - UMLS:has_structural_class\n      - UMLS:has_supported_concept_property\n      - UMLS:has_supported_concept_relationship\n      - UMLS:may_be_qualified_by\n\n  has attribute type:\n    description: >-\n      connects an attribute to a class that describes it\n    domain: attribute\n    range: ontology class\n    multivalued: false\n    required: true\n    in_subset:\n      - samples\n    narrow_mappings:\n      - LOINC:has_modality_type\n      - LOINC:has_view_type\n\n   # TRAPI Attribute schema alignment:\n   # value: NamedThing.name\n   # value_type: NamedThing.category\n   # value_type_name: quantity_value.NamedThing.name\n  has qualitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: named thing\n    multivalued: false\n    in_subset:\n      - samples\n\n   # TRAPI Attribute schema alignment:\n   # value: quantity_value.has_numeric_value[double] - may be a vector?\n   # value_type: quantity_value.has_unit.unit.uri\n   # value_type_name: quantity_value.has_unit.unit.name[string]\n  has quantitative value:\n    description: >-\n      connects an attribute to a value\n    domain: attribute\n    range: quantity value\n    multivalued: true\n    exact_mappings:\n      - qud:quantityValue\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_numerator_value\n      - SNOMED:has_presentation_strength_denominator_value\n      - SNOMED:has_presentation_strength_numerator_value\n    in_subset:\n      - samples\n\n  has numeric value:\n    description: >-\n      connects a quantity value to a number\n    domain: quantity value\n    range: double\n    multivalued: false\n    exact_mappings:\n      - qud:quantityValue\n    in_subset:\n      - samples\n\n  has unit:\n    description: >-\n      connects a quantity value to a unit\n    domain: quantity value\n    range: unit\n    multivalued: false\n    close_mappings:\n       # These RTX contributed terms mean \"is unit of\" which is the semantic inverse of this biolink:has_unit term\n      - EFO:0001697\n      - UO-PROPERTY:is_unit_of\n    exact_mappings:\n      - qud:unit\n      - IAO:0000039\n    narrow_mappings:\n      - SNOMED:has_concentration_strength_denominator_unit\n      - SNOMED:has_concentration_strength_numerator_unit\n      - SNOMED:has_presentation_strength_denominator_unit\n      - SNOMED:has_presentation_strength_numerator_unit\n      - SNOMED:has_unit_of_presentation\n    in_subset:\n      - samples\n\n  base coordinate:\n    is_a: sequence localization attribute\n    aliases: ['one-based', 'fully-closed']\n    description: >-\n      A position in the base coordinate system.  Base coordinates start at position 1 instead of position 0.\n    range: integer\n\n   ## --------------------\n   ## NODE PROPERTY SLOTS\n   ## --------------------\n\n  node property:\n    description: >-\n      A grouping for any property that holds between a node and a value\n    domain: named thing\n\n  id:\n    identifier: true\n    domain: entity\n    description: >-\n      A unique identifier for an entity.\n      Must be either a CURIE shorthand for a URI or a complete URI\n    in_subset:\n      - translator_minimal\n    required: true\n    exact_mappings:\n      - AGRKB:primaryId\n      - gff3:ID\n      - gpi:DB_Object_ID\n\n  iri:\n    description: >-\n      An IRI for an entity. This is determined by the id using expansion rules.\n    range: iri type\n    in_subset:\n      - translator_minimal\n      - samples\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P854\n\n  type:\n    slot_uri: rdf:type\n    domain: entity\n    exact_mappings:\n      - gff3:type\n      - gpi:DB_Object_Type\n    multivalued: true\n\n  category:\n    is_a: type\n    domain: entity\n    range: uriorcurie\n    designates_type: true\n    description: >-\n      Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the\n      biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI.\n      This field is multi-valued. It should include values for ancestors of the biolink class; for example,\n      a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`.\n      In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink\n      class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f`\n      may have a rdf:type assertion to a SO class such as TF_binding_site,\n      which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity,\n      biolink:MolecularEntity, biolink:NamedThing}\n    is_class_field: true\n    multivalued: true\n    in_subset:\n      - translator_minimal\n\n  publication type:\n    slot_uri: dct:type\n    description: >-\n      Ontology term for publication type may be drawn from\n      Dublin Core types (https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/),\n      FRBR-aligned Bibliographic Ontology (https://sparontologies.github.io/fabio/current/fabio.html),\n      the MESH publication types (https://www.nlm.nih.gov/mesh/pubtypes.html),\n      the Confederation of Open Access Repositories (COAR) Controlled Vocabulary for Resource Type Genres\n      (http://vocabularies.coar-repositories.org/documentation/resource_types/),\n      Wikidata (https://www.wikidata.org/wiki/Wikidata:Publication_types), or\n      equivalent publication type ontology. When a given publication type ontology term\n      is used within a given knowledge graph, then the CURIE identified term must be\n      documented in the graph as a concept node of biolink:category biolink:OntologyClass.\n    values_from:  # Not sure which takes precedence, if any...\n      - dctypes\n      - fabio\n      - MESH_PUB\n      - COAR_RESOURCE\n      - WIKIDATA\n    multivalued: true\n\n  name:\n    aliases: ['label', 'display name', 'title']\n    description: >-\n      A human-readable name for an attribute or entity.\n    domain: entity\n    range: label type\n    in_subset:\n      - translator_minimal\n      - samples\n    slot_uri: rdfs:label\n    exact_mappings:\n      - gff3:Name\n      - gpi:DB_Object_Name\n    narrow_mappings:\n      - dct:title\n      - WIKIDATA_PROPERTY:P1476\n\n  stoichiometry:\n    description: >-\n      the relationship between the relative quantities of substances taking part in a reaction or\n      forming a compound, typically a ratio of whole integers.\n    is_a: association slot\n    range: integer\n\n  reaction direction:\n    description: >-\n      the direction of a reaction as constrained by the direction enum (ie: left_to_right, neutral, etc.)\n    is_a: association slot\n    range: ReactionDirectionEnum\n    narrow_mappings:\n      - NCIT:C42677\n\n  reaction balanced:\n    is_a: association slot\n    range: boolean\n\n  reaction side:\n    description: >-\n      the side of a reaction being modeled (ie: left or right)\n    is_a: association slot\n    range: ReactionSideEnum\n\n  symbol:\n    is_a: node property\n    domain: named thing\n    description: >-\n      Symbol for a particular thing\n    exact_mappings:\n      - AGRKB:symbol\n      - gpi:DB_Object_Symbol\n\n  synonym:\n    is_a: node property\n    aliases: ['alias']\n    domain: named thing\n    range: label type\n    description: >-\n      Alternate human-readable names for a thing\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n       # there is an interesting debate here: are these terms \"narrower\" a.k.a. more specialized instances of\n       # 'biolink:synonym' or should they be binned into their respective namesake class of mappings?\n       # namely, is 'oboInOwl:hasExactSynonym' an instance 'exact_mappings', etc.\n      - skos:altLabel\n      - gff3:Alias\n      - AGRKB:synonyms\n      - gpi:DB_Object_Synonyms\n       # TODO: RTX contributed terms mapped here... May need review?\n      - HANCESTRO:0330\n      - IAO:0000136\n      - RXNORM:has_tradename\n\n  exact synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasExactSynonym\n\n  broad synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasBroadSynonym\n\n  narrow synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasNarrowSynonym\n\n  related synonym:\n    is_a: synonym\n    exact_mappings:\n      - oboInOwl:hasRelatedSynonym\n\n  deprecated:\n    range: boolean\n    exact_mappings:\n      - oboInOwl:ObsoleteClass\n    description: >-\n      A boolean flag indicating that an entity is no longer considered current or valid.\n\n  has topic:\n    aliases: ['topic', 'descriptors']\n    is_a: node property\n    range: ontology class\n    exact_mappings:\n      - foaf:topic\n    description: >-\n      Connects a node to a vocabulary term or ontology class that describes some aspect of the entity. In general specific characterization is preferred.\n      See https://github.com/biolink/biolink-model/issues/238\n\n  xref:\n    aliases: ['dbxref', 'Dbxref', 'DbXref', 'record_url', 'source_record_urls']\n    domain: named thing\n    range: uriorcurie\n    description: >-\n      A database cross reference or alternative identifier for a NamedThing or edge between two\n      NamedThings.  This property should point to a database record or webpage that supports the existence of the edge, or\n      gives more detail about the edge. This property can be used on a node or edge to provide multiple\n      URIs or CURIE cross references.\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - gff3:Dbxref\n      - gpi:DB_Xrefs\n\n  semmed agreement count:\n    is_a: association slot\n    range: integer\n    description: >-\n      The number of times this concept has been asserted in the SemMedDB literature database.\n    in_subset:\n      - translator_minimal\n\n  support graphs:\n    description: >-\n      A list of knowledge graphs that support the existence of this association.\n    multivalued: true\n    is_a: association slot\n    in_subset:\n      - translator_minimal\n\n  resource id:\n    is_a: node property\n    description: >-\n      The CURIE for an Information Resource that served as a source\n      of knowledge expressed in an Edge, or a source of data used to\n      generate this knowledge.\n    domain: retrieval source\n    range: uriorcurie\n    in_subset:\n      - translator_minimal\n\n  resource role:\n    is_a: node property\n    description: >-\n      The role played by the InformationResource in serving as a\n      source for an Edge. Note that a given Edge should have one\n      and only one 'primary' source, and may have any number of\n      'aggregator' or 'supporting data' sources.\n    domain: retrieval source\n    range: ResourceRoleEnum\n    in_subset:\n      - translator_minimal\n\n  retrieval source ids:\n    description: >-\n        A list of retrieval sources that served as a source of knowledge\n        expressed in an Edge, or a source of data used to generate this\n        knowledge.\n    multivalued: true\n    range: retrieval source\n    in_subset:\n      - translator_minimal\n\n  full name:\n    is_a: node property\n    domain: named thing\n    range: label type\n    description: >-\n      a long-form human readable name for a thing\n\n  upstream resource ids:\n    is_a: node property\n    description: >-\n      An upstream InformationResource from which the resource\n      being described directly retrieved a record of the knowledge\n      expressed in the Edge, or data used to generate this knowledge.\n      This is an array because there are cases where a merged Edge\n      holds knowledge that was retrieved from multiple sources. e.g.\n      an Edge provided by the ARAGORN ARA can expressing knowledge it\n      retrieved from both the automat-mychem-info and molepro KPs,\n      which both provided it with records of this single fact.\n    domain: retrieval source\n    range: uriorcurie\n\n  description:\n    aliases: ['definition']\n    range: narrative text\n    description: >-\n      a human-readable description of an entity\n    in_subset:\n      - translator_minimal\n    slot_uri: dct:description\n    exact_mappings:\n      - IAO:0000115\n      - skos:definitions\n    narrow_mappings:\n      - gff3:Description\n\n  systematic synonym:\n    is_a: node property\n    domain: named thing\n    range: label type\n    multivalued: true\n    slot_uri: GOP:systematic_synonym\n    description: >-\n      more commonly used for gene symbols in yeast\n\n  affiliation:\n    is_a: node property\n    description: >-\n      a professional relationship between one provider (often a person) within another provider (often an organization).\n      Target provider identity should be specified by a CURIE. Providers may have multiple affiliations.\n    domain: agent\n    range: uriorcurie\n    multivalued: true\n\n  address:\n    is_a: node property\n    description: >-\n      the particulars of the place where someone or an organization is situated.  For now, this slot is a\n      simple text \"blob\" containing all relevant details of the given location for fitness of purpose.\n      For the moment, this \"address\" can include other contact details such as email and phone number(?).\n\n   ## Space\n\n  latitude:\n    is_a: node property\n    range: float\n    description: >-\n      latitude\n    exact_mappings:\n      - wgs:lat\n\n  longitude:\n    is_a: node property\n    range: float\n    description: >-\n      longitude\n    exact_mappings:\n      - wgs:long\n\n   ## Time\n\n  timepoint:\n    aliases: ['duration']\n    range: time type\n    description: >-\n      a point in time\n\n  creation date:\n    is_a: node property\n    aliases: ['publication date']\n    range: date\n    description: >-\n      date on which an entity was created. This can be applied to nodes or edges\n    exact_mappings:\n      - dct:createdOn\n      - WIKIDATA_PROPERTY:P577\n\n  update date:\n    is_a: node property\n    range: date\n    description: >-\n      date on which an entity was updated. This can be applied to nodes or edges\n\n   ## Statistics\n\n  aggregate statistic:\n    is_a: node property\n    abstract: true\n\n  has count:\n    description: >-\n      number of things with a particular property\n    is_a: aggregate statistic\n    range: integer\n    exact_mappings:\n      - LOINC:has_count\n\n  has total:\n    description: >-\n      total number of things in a particular reference set\n    is_a: aggregate statistic\n    range: integer\n\n  has quotient:\n    is_a: aggregate statistic\n    range: double\n\n  has percentage:\n    description: >-\n      equivalent to has quotient multiplied by 100\n    is_a: aggregate statistic\n    range: double\n\n   ## Properties for Information Content Entity and Publication Nodes\n\n  has taxonomic rank:\n    is_a: node property\n    range: taxonomic rank\n    multivalued: false\n    mappings:\n      - WIKIDATA:P105\n\n  has dataset:\n    is_a: node property\n    domain: dataset version\n    range: dataset\n    broad_mappings:\n      - dct:source\n\n  source web page:\n    is_a: node property\n    domain: dataset summary\n    broad_mappings:\n      - dct:source\n\n  source logo:\n    is_a: node property\n    domain: dataset summary\n    slot_uri: schema:logo\n\n  retrieved on:\n    is_a: node property\n    domain: dataset\n    range: date\n    exact_mappings:\n      - pav:retrievedOn\n\n  version of:\n    is_a: node property\n    domain: dataset version\n    range: dataset summary\n    exact_mappings:\n      - dct:isVersionOf\n\n  version:\n    is_a: node property\n    domain: dataset\n    broad_mappings:\n      - pav:version\n      - owl:versionInfo\n\n  license:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:license\n    narrow_mappings:\n      - WIKIDATA_PROPERTY:P275\n\n  rights:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:rights\n\n  format:\n    is_a: node property\n    domain: information content entity\n    exact_mappings:\n      - dct:format\n      - WIKIDATA_PROPERTY:P2701\n\n  created with:\n    is_a: node property\n    domain: dataset\n    exact_mappings:\n      - pav:createdWith\n\n  download url:\n    is_a: node property\n    domain: information content entity\n    slot_uri: dcat:downloadURL\n\n  dataset download url:\n    is_a: node property\n    domain: dataset\n    slot_uri: dcat:downloadURL\n\n  distribution download url:\n    is_a: node property\n    domain: dataset distribution\n    exact_mappings:\n      - dcat:downloadURL\n\n  ingest date:\n    is_a: node property\n    domain: dataset version\n    broad_mappings:\n      - dct:issued\n\n  has distribution:\n    is_a: node property\n    domain: dataset version\n    range: dataset distribution\n    slot_uri: dct:distribution\n\n  published in:\n    is_a: node property\n    description: >-\n      CURIE identifier of a broader publication context within which the publication may be placed,\n      e.g. a specified book or journal.\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - NLMID\n      - issn\n      - isbn\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1433\n\n  iso abbreviation:\n    is_a: node property\n    description: >-\n      Standard abbreviation for periodicals in the International Organization for Standardization (ISO) 4 system\n      See https://www.issn.org/services/online-services/access-to-the-ltwa/. If the 'published in' property is set,\n      then the iso abbreviation pertains to the broader publication context (the journal) within which the given\n      publication node is embedded, not the publication itself.\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P1160\n\n  authors:\n    is_a: node property\n    description: >-\n      connects an publication to the list of authors who contributed to the publication.\n      This property should be a comma-delimited list of author names. It is recommended that an author's name\n      be formatted as \"surname, firstname initial.\".   Note that this property is a node annotation expressing\n      the citation list of authorship which might typically otherwise be more completely documented in\n      biolink:PublicationToProviderAssociation defined edges which point to full details about an author\n      and possibly, some qualifiers which clarify the specific status of a given author in the publication.\n    multivalued: true\n    domain: publication\n    range: agent\n\n  volume:\n    is_a: node property\n    description: >-\n      volume of a book or music release in a collection/series or a published collection of journal issues in a serial publication\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P478\n\n  chapter:\n    is_a: node property\n    description: >-\n      chapter of a book\n    domain: book chapter\n    exact_mappings:\n      - WIKIDATA:Q1980247\n\n  issue:\n    is_a: node property\n    description: >-\n      issue of a newspaper, a scientific journal or magazine for reference purpose\n    domain: publication\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P433\n\n  pages:\n    is_a: node property\n    description: >-\n      page number of source referenced for statement or publication\n    domain: publication\n    multivalued: true\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P304\n\n  summary:\n    is_a: node property\n     # since 'abstract' is a linkML keyword denoting a non-instantiable class or slot,\n     # it is generally recommended that knowledge graphs use 'summary' instead to tag a Publication 'abstract'\n    aliases: ['abstract']\n    description: >-\n      executive  summary of a publication\n    domain: publication\n    exact_mappings:\n      - dct:abstract\n      - WIKIDATA:Q333291\n\n  keywords:\n    is_a: node property\n    description: >-\n      keywords tagging a publication\n    domain: publication\n    multivalued: true\n\n  mesh terms:\n    is_a: node property\n    description: >-\n      mesh terms tagging a publication\n    domain: publication\n    range: uriorcurie\n    values_from:\n      - MESH\n    multivalued: true\n    exact_mappings:\n      - dcid:MeSHTerm\n\n   ## Biology\n\n  has biological sequence:\n    is_a: node property\n    description: >-\n      connects a genomic feature to its sequence\n    range: biological sequence\n\n  has gene or gene product:\n    is_a: node property\n    description: >-\n      connects an entity with one or more gene or gene products\n    range: gene\n    multivalued: true\n\n  has gene:\n    is_a: has gene or gene product\n    description: >-\n      connects an entity associated with one or more genes\n    range: gene\n    multivalued: true\n\n  has zygosity:\n    is_a: node property\n    domain: nucleic acid entity\n    range: zygosity\n\n   ## Chemistry, drugs and food\n\n  has chemical formula:\n    is_a: node property\n    range: chemical formula value\n    description: >-\n      description of chemical compound based on element symbols\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P274\n\n  is metabolite:\n    is_a: node property\n    domain: molecular entity\n    range: boolean\n    description: >-\n      indicates whether a molecular entity is a metabolite\n    exact_mappings:\n      - CHEBI:25212\n\n  has constituent:\n    description: >-\n      one or more molecular entities within a chemical mixture\n    is_a: node property\n    range: molecular entity\n    multivalued: true\n\n  has drug:\n    is_a: node property\n    description: >-\n      connects an entity to one or more drugs\n    range: drug\n    multivalued: true\n\n  has device:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) devices\n    range: device\n    multivalued: true\n\n  has procedure:\n    is_a: node property\n    description: >-\n      connects an entity to one or more (medical) procedures\n    range: procedure\n    multivalued: true\n\n   ## Clinical exposures\n\n  has receptor:\n    is_a: node property\n    domain: exposure event\n    range: organismal entity\n    description: >-\n      the organism or organism part being exposed\n    exact_mappings:\n      - ExO:0000001\n\n  has stressor:\n    is_a: node property\n    domain: exposure event\n    aliases: ['has stimulus']\n    description: >-\n      the process or entity that the receptor is being exposed to\n    exact_mappings:\n      - ExO:0000000\n\n  has route:\n    is_a: node property\n    domain: exposure event\n    description: >-\n      the process that results in the stressor coming into direct contact with the receptor\n    exact_mappings:\n      - ExO:0000055\n    narrow_mappings:\n      - LOINC:has_pharmaceutical_route\n      - SNOMED:has_dose_form_intended_site\n      - SNOMED:has_route_of_administration\n\n\n  population context qualifier:\n    description: >-\n      a biological population (general, study, cohort, etc.) with a specific\n      set of characteristics to constrain an association.\n    is_a: qualifier\n    range: population of individual organisms\n\n  temporal context qualifier:\n    description: >-\n      a constraint of time placed upon the truth value of an association.\n      for time intervales, use temporal interval qualifier.\n    is_a: qualifier\n    range: time type\n\n  temporal interval qualifier:\n    is_a: temporal context qualifier\n    description: >-\n      a constraint of a time interval placed upon the truth value of an\n      association.\n\n  is supplement:\n    description: >-\n    is_a: node property\n    domain: chemical mixture\n\n  trade name:\n    description: >-\n    is_a: node property\n    domain: chemical entity\n\n  available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: DrugAvailabilityEnum\n\n  is toxic:\n    description: >-\n    is_a: node property\n    multivalued: false\n    range: boolean\n\n  has chemical role:\n    is_a: related to at concept level\n    description: >-\n      A role is particular behaviour which a chemical entity may exhibit.\n    range: chemical role\n    multivalued: true\n    id_prefixes:\n      - CHEBI\n    comments: >-\n      We expect primarily to use CHEBI chemical roles here; however, we are looking for a mapping between\n      CHEBI And ATC codes to support this slot.\n\n  max tolerated dose:\n    description: >-\n      The highest dose of a drug or treatment that does not cause unacceptable side effects.\n      The maximum tolerated dose is determined in clinical trials by testing increasing doses\n      on different groups of people until the highest dose with acceptable side effects is\n      found. Also called MTD.\n    is_a: node property\n    multivalued: false\n    range: string\n\n  animal model available from:\n    description: >-\n    is_a: node property\n    multivalued: true\n    range: disease or phenotypic feature\n\n  FDA adverse event level:\n    description: >-\n    is_a: association slot\n    range: FDAIDAAdverseEventEnum\n\n  highest FDA approval status:\n    description: >-\n      Should be the highest level of FDA approval this chemical entity or device has, regardless of which\n      disease, condition or phenotype it is currently being reviewed to treat.  For specific levels of FDA\n      approval for a specific condition, disease, phenotype, etc., see the association slot, 'clinical approval status.'\n\n  drug regulatory status world wide:\n    aliases: ['max phase']\n    description: >-\n      An agglomeration of drug regulatory status worldwide. Not specific to FDA.\n    exact_mappings:\n      - NCIT:C172573\n    narrow_mappings:\n      - NCIT:R172\n      - NCIT:regimen_has_accepted_use_for_disease\n       # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n\n  routes of delivery:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    multivalued: true\n    range: DrugDeliveryEnum\n\n   ## -------------------\n   ## QUALIFIERS\n   ## -------------------\n\n  form or variant qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object concept to define a specific type, variant,\n      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.\n      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept\n      ‘a mutation of Gene X’.\n    examples:\n      - value: mutation\n      - value: late stage\n      - value: severe\n      - value: transplant\n      - value: chemical analog\n    notes: >-\n      please see the ChemicalOrGeneOrGeneProductFormOrVariantEnum (below) for examples of 'form or variant qualifier'\n      terms in the gene->chemical association space.\n      the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept ‘Mutated forms of Gene X’.\n      the qualifier ‘late stage’ combines with a core concept of ‘Disease X’ to express the  more specific concept ‘Late Stage forms of Disease X’\n      the qualifier ‘recombinant’ combines with a core concept of ‘FLT1 Gene’ to express the composed concept ‘Recombinant forms of the FLT1 gene’\n      the qualifier ‘chemical analog’ combines with a core concept of ‘Ditiocarb’ to express the composed concept ‘analog forms of Ditiocarb’\n    in_subset:\n      - translator_minimal\n\n  aspect qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which\n      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that\n      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an\n      'affects' association.\n    examples:\n      - value: stability\n      - value: abundance\n      - value: expression\n      - value: exposure\n    notes: >-\n      for good examples of aspects in the gene-> chemical space, please see the\n      GeneOrGeneProductOrChemicalEntityAspectEnum (below) which lists many aspects that can be used to qualify\n      the gene making the full subject a different ontological type.\n      the qualifier ‘expression’ combines with a core concept of ‘Gene X’ to express the composed concept ‘expression of Gene X’ (Gene → Biological Process)\n      the qualifier ‘exposure’ combines with a core concept of ‘Chemical X’ to express the composed concept ‘exposure to Chemical X’ (Chemical → Exposure Process)\n      the qualifier ‘activity’ combines with a core concept of ‘PPARG’ to express the concept ‘activity of PPARG’ (Gene → function/activity)\n      the qualifier ‘emergency Department Visit’ combines with a core concept of ‘Disease X’ to express the concept ‘Emergency Department visits for Disease X’ (Disease → Clinical Event)\n      the qualifier ‘infection’ combines with a core concept of ‘Giardia’ to express the concept ‘Infection with Giardia’ (Taxon → Biological / Pathological Process)\n      the qualifier ‘severity’ combines with a core concept of ‘DILI’ to express the concept ‘the severity level of DILI’ (Disease → (intrinsic) Characteristic/Quality)\n      the qualifier ‘abundance’ combines with a core concept of ‘BRCA2’ to express the concept ‘abundance of BRCA2’ (Gene → (extrinsic) characteristic/quality)\n    in_subset:\n      - translator_minimal\n\n  derivative qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      A qualifier that composes with a core subject/object  concept to describe something that is derived from the\n      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express\n      the composed concept ‘a metabolite of Chemical X’.\n    examples:\n      - value: metabolite\n    in_subset:\n      - translator_minimal\n\n  part qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can\n      use to directly represent it, e.g. 'ESR1 transcript' q: polyA tail).\n    examples:\n      - value: polyA tail\n      - value: upstream control region\n    in_subset:\n      - translator_minimal\n\n  context qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      Restricts the setting/context/location where the core concept (or qualified core concept) resides or occurs.\n    examples:\n      - value: cohort x (e.g. a specific population, referenced by an identifier)\n      - value: gut microbiome  # OHMI:0000020\n    in_subset:\n      - translator_minimal\n\n  direction qualifier:\n    is_a: qualifier\n    abstract: true\n    description: >-\n      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.\n    notes: >-\n      the qualifier ‘increased’ combines with a core concept of ‘Gene X’ and an aspect of ‘expression’ to express the composed concept ‘increased expression of Gene X’\n      the qualifier ‘decreased’ combines with a core concept of ‘Protein X’ and an aspect of ‘abundance’ to express the composed concept ‘decreased abundance of Protein X’\n    in_subset:\n      - translator_minimal\n\n  mapped predicate:\n    description: >-\n      The predicate that is being replaced by the fully qualified representation of predicate + subject and object\n      qualifiers.  Only to be used in test data and mapping data to help with the transition to the fully qualified\n      predicate model. Not to be used in knowledge graphs.\n\n  predicate mappings:\n    description: >-\n      A collection of relationships that are not used in biolink, but have biolink patterns that can\n      be used to replace them.  This is a temporary slot to help with the transition to the fully qualified predicate\n      model in Biolink3.\n    multivalued: true\n    range: predicate mapping\n    inlined_as_list: true\n\n  exact matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      an identical meaning. Such terms often describe the same concept from\n      different ontological perspectives.\n    multivalued: true\n\n  narrow matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      a narrower meaning. Such terms often describe a more specific concept\n      from different ontological perspectives.\n    multivalued: true\n\n  broad matches:\n    description: >-\n      A list of terms from different schemas or terminology systems that have\n      a broader meaning. Such terms often describe a more general concept\n      from different ontological perspectives.\n    multivalued: true\n\n  subject aspect qualifier:\n    description: >-\n      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which\n      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that\n      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an\n      'affects' association.  This qualifier specifies a change in the subject of an association (aka: statement).\n    examples:\n      - value: stability\n      - value: abundance\n      - value: expression\n      - value: exposure\n    is_a: aspect qualifier\n    in_subset:\n      - translator_minimal\n\n  subject form or variant qualifier:\n    description: >-\n      A qualifier that composes with a core subject/object concept to define a specific type, variant,\n      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.\n      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept\n      ‘a mutation of Gene X’.  This qualifier specifies a change in the subject of an association (aka: statement).\n    examples:\n      - value: mutation\n      - value: late stage\n      - value: severe\n      - value: transplant\n      - value: chemical analog\n    is_a: form or variant qualifier\n    in_subset:\n      - translator_minimal\n\n  subject part qualifier:\n    description: >-\n      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can\n      use to directly represent it, e.g. 'ESR1 transcript' q: polyA tail).  This qualifier is for the \n      subject of an association (or statement).\n    is_a: part qualifier\n    in_subset:\n      - translator_minimal\n\n  subject derivative qualifier:\n    description: >-\n      A qualifier that composes with a core subject/object  concept to describe something that is derived from the\n      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express\n      the composed concept ‘a metabolite of Chemical X’.  This qualifier is for the subject of an association \n      (or statement).\n    examples:\n      - value: metabolite\n    is_a: derivative qualifier\n    in_subset:\n      - translator_minimal\n\n  subject context qualifier:\n    is_a: context qualifier\n    in_subset:\n      - translator_minimal\n\n  subject direction qualifier:\n    description: >-\n      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.\n      This qualifier qualifies the subject of an association (aka: statement).\n    is_a: direction qualifier\n    range: DirectionQualifierEnum\n    in_subset:\n      - translator_minimal\n\n  object aspect qualifier:\n    description: >-\n      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which\n      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that\n      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an\n      'affects' association.  This qualifier specifies a change in the object of an association (aka: statement).\n    examples:\n      - value: stability\n      - value: abundance\n      - value: expression\n      - value: exposure\n    is_a: aspect qualifier\n    in_subset:\n      - translator_minimal\n\n  object form or variant qualifier:\n    description: >-\n      A qualifier that composes with a core subject/object concept to define a specific type, variant,\n      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.\n      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept\n      ‘a mutation of Gene X’.  This qualifier specifies a change in the object of an association (aka: statement).\n    examples:\n      - value: mutation\n      - value: late stage\n      - value: severe\n      - value: transplant\n      - value: chemical analog\n    is_a: form or variant qualifier\n    in_subset:\n      - translator_minimal\n\n  object part qualifier:\n    description: >-\n      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can\n      use to directly represent it, e.g. 'ESR1 transcript' q: polyA tail).  This qualifier is for the \n      object of an association (or statement).\n    is_a: part qualifier\n    in_subset:\n      - translator_minimal\n\n  object derivative qualifier:\n    description: >-\n      A qualifier that composes with a core subject/object  concept to describe something that is derived from the\n      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express\n      the composed concept ‘a metabolite of Chemical X’.  This qualifier is for the object of an association \n      (or statement).\n    examples:\n      - value: metabolite\n    is_a: derivative qualifier\n    in_subset:\n      - translator_minimal\n\n  object context qualifier:\n    is_a: context qualifier\n    in_subset:\n      - translator_minimal\n\n  object direction qualifier:\n    description: >-\n      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.\n      This qualifier qualifies the object of an association (aka: statement).\n    is_a: direction qualifier\n    range: DirectionQualifierEnum\n    in_subset:\n      - translator_minimal\n\n  qualified predicate:\n    is_a: qualifier\n    description: >-\n      Predicate to be used in an association when subject and object qualifiers are present and the full\n      reading of the statement requires a qualification to the predicate in use in order to refine or\n      increase the specificity of the full statement reading.  This qualifier holds a relationship to be used instead of that\n      expressed by the primary predicate, in a ‘full statement’ reading of the association, where qualifier-based\n      semantics are included.  This is necessary only in cases where the primary predicate does not work in a\n      full statement reading.\n    notes: >-\n      to express the statement that “Chemical X causes increased expression of Gene Y”, the core triple is read\n      using the fields subject:ChemX, predicate:affects, object:GeneY . . . and the full statement is read using\n      the fields subject:ChemX, qualified_predicate:causes, object:GeneY, object_aspect: expression,\n      object_direction:increased. The predicate ‘affects’ is needed for the core triple reading, but does not make\n      sense in the full statement reading  (because “Chemical X affects increased expression of Gene Y'' is not\n      what we mean to say here: it causes increased expression of Gene Y)\n\n  statement qualifier:\n    is_a: qualifier\n    description: >-\n      A property that qualifies the entirety of the statement made in an association.  It applies to both\n      a fully qualified subject and a fully qualified object as well as the predicate and qualified predicate\n      in an association.\n    in_subset:\n      - translator_minimal\n\n  causal mechanism qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a type of molecular control mechanism through which an\n      effect of a chemical on a gene or gene product is mediated (e.g. 'agonism', 'inhibition',\n      'allosteric modulation', 'channel blocker')\n    range: CausalMechanismQualifierEnum\n    in_subset:\n      - translator_minimal\n\n  anatomical context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing an anatomical location where an relationship expressed in an\n      association took place (can be a tissue, cell type, or sub-cellular location).\n    notes: >-\n      Anatomical context values can be any term from UBERON. For example, the context qualifier ‘cerebral cortext’\n      combines with a core concept of ‘neuron’\n      to express the composed concept ‘neuron in the cerebral cortext’. The species_context_qualifier applies\n      taxonomic context, e.g. species-specific molecular activity.  Ontology CURIEs are expected as values\n      here, the examples below are intended to help clarify the content of the CURIEs.\n    examples:\n      - value: blood  # UBERON:0000178\n      - value: cerebral cortext  # UBERON:0000956\n    in_subset:\n      - translator_minimal\n\n  species context qualifier:\n    is_a: statement qualifier\n    description: >-\n      A statement qualifier representing a taxonomic category of species in which a relationship\n      expressed in an association took place.\n    range: organism taxon\n    examples:\n      - value: zebrafish  # NCBITaxon:7955\n      - value: human  # NCBITaxon:9606\n    notes:\n      - Ontology CURIEs are expected as values here, the examples below are intended to help clarify the content of the CURIEs.\n    in_subset:\n      - translator_minimal\n\n  qualifiers:\n    deprecated: true\n    description: >-\n      connects an association to qualifiers that modify or\n      qualify the meaning of that association\n    local_names:\n      ga4gh: annotation qualifier\n    is_a: association slot\n    multivalued: true\n    range: ontology class\n\n  frequency qualifier:\n    is_a: qualifier\n    description: >-\n      a qualifier used in a phenotypic association to state how frequent the phenotype is observed in the subject\n    range: frequency value\n    in_subset:\n      - translator_minimal\n\n  severity qualifier:\n    deprecated: true\n    description: >-\n      a qualifier used in a phenotypic association to state\n      how severe the phenotype is in the subject\n    is_a: qualifier\n    range: severity value\n    in_subset:\n      - translator_minimal\n\n  sex qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state whether\n      the association is specific to a particular sex.\n    is_a: qualifier\n    range: biological sex\n    in_subset:\n      - translator_minimal\n\n  onset qualifier:\n    description: >-\n      a qualifier used in a phenotypic association to state\n      when the phenotype appears is in the subject.\n    notes: >-\n      This  is in Biolink to support HP ontology annotations which use \"onset\" (with terms from HP) \n      as an annotation on a disease to phenotypic feature association.  Please only use it for this\n      purpose.  If the intent is to describe the onset of a disease in the context of a treatment, \n      use object_aspect_qualifier and object_direction_qualifier to capture \"delayed onset\" or \"exacerbated onset\"\n      slot.\n    is_a: qualifier\n    range: onset\n    in_subset:\n      - translator_minimal\n\n  clinical modifier qualifier:\n    description: >-\n      the method or process of administering a pharmaceutical compound to achieve a therapeutic\n      effect in humans or animals.\n    is_a: association slot\n    range: clinical modifier\n\n  sequence variant qualifier:\n    description: >-\n      a qualifier used in an association with the variant\n    is_a: association slot\n    range: sequence variant\n\n  quantifier qualifier:\n    is_a: association slot\n    range: ontology class\n    description: >-\n      A measurable quantity for the object of the association\n    narrow_mappings:\n       # TODO: RTX contributed terms mapped here... May need review?\n      - LOINC:analyzes\n      - LOINC:measured_by\n      - LOINC:property_of\n      - SEMMEDDB:MEASURES\n      - UMLS:measures\n\n  catalyst qualifier:\n    is_a: association slot\n    multivalued: true\n    range: macromolecular machine mixin\n    description: >-\n      a qualifier that connects an association between two causally connected\n      entities (for example, two chemical entities, or a chemical entity in\n      that changes location) and the gene product, gene, or complex that\n      enables or catalyzes the change.\n\n  stage qualifier:\n    description: >-\n      stage during which gene or protein expression of takes place.\n    is_a: statement qualifier\n    range: life stage\n     # path: \"object/during\"\n    examples:\n      - value: UBERON:0000069\n        description: larval stage\n    in_subset:\n      - translator_minimal\n\n   ## --------------------\n   ## PREDICATES/RELATIONS\n   ## --------------------\n\n  related to:\n    description: >-\n      A relationship that is asserted between two named things\n    domain: named thing\n    range: named thing\n    multivalued: true\n    inherited: true\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - UMLS:related_to\n    broad_mappings:\n      - owl:topObjectProperty\n    narrow_mappings:\n      - SEMMEDDB:compared_with\n      - SEMMEDDB:higher_than\n      - SEMMEDDB:lower_than\n      - SEMMEDDB:ADMINISTERED_TO\n      - SEMMEDDB:ASSOCIATED_WITH\n      - BFO:0000054\n      - UBERON_CORE:protects\n      - GOREL:0002005\n      - GOREL:0012006\n       # several of the following terms mapped here by RTX could merit upgrade to new Biolink terms\n      - BTO:related_to\n      - CHEBI:is_conjugate_acid_of\n      - CHEBI:is_conjugate_base_of\n      - CPT:has_add_on_code\n      - CPT:mapped_to\n      - EFO:0006351\n      - FMA:connected_to\n      - FMA:continuous_with\n      - FMA:homonym_of\n      - FMA:related_developmental_entity_of\n      - RO:0002093\n      - RO:0002092\n      - RO:0002084\n      - HCPCS:mapped_to\n       # RTX contributed terms, perhaps belong somewhere else with more precise semantics?\n      - HMDB:disease\n      - HMDB:has_protein_association\n      - IAO:0000136\n      - LOINC:has_answer\n      - LOINC:has_challenge\n      - LOINC:has_evaluation\n      - LOINC:mapped_to\n      - LOINC:mth_has_expanded_form\n      - MESH:RO\n      - MESH:has_mapping_qualifier\n      - MESH:mapped_to\n      - MONDO:disease_shares_features_of\n      - NCIT:disease_may_have_associated_disease\n      - NCIT:human_disease_maps_to_eo_disease\n      - NCIT:is_abnormal_cell_of_disease\n      - NCIT:is_related_to_endogenous_product\n      - UBERON_NONAMESPACE:connected_to\n      - UBERON_NONAMESPACE:innervated_by\n      - NBO-PROPERTY:is_about\n      - RO:0000053  # bearer_of\n      - PATO:reciprocal_of\n      - RO:0000052\n      - RO:0002001\n      - RO:0002002\n      - RO:0002003\n      - RO:0002008\n      - RO:0002134\n      - RO:0002150\n      - RO:0002159\n      - RO:0002176\n      - RO:0002177\n      - RO:0002178\n      - RO:0002179\n      - RO:0002314\n      - RO:0002322\n       # functionally related to\n      - RO:0002328\n      - RO:0002332\n      - RO:0002338\n      - RO:0002339\n      - RO:0002341\n      - RO:0002342\n      - RO:0002344\n      - RO:0002348\n      - RO:0002349\n      - RO:0002356\n      - RO:0002371\n      - RO:0002372\n      - RO:0002373\n      - RO:0002374\n      - RO:0002385\n      - RO:0002387\n      - RO:0002451\n      - RO:0002494\n      - RO:0002495\n      - RO:0002568\n      - RO:0002573\n      - RO:0004026\n      - RO:0004027\n      - RO:0009001\n      - RO:0009004\n      - RXNORM:has_form\n      - RXNORM:reformulated_to\n      - SNOMED:has_associated_morphology\n      - SNOMED:has_associated_procedure\n      - SNOMED:has_direct_morphology\n      - SNOMED:has_disposition\n      - SNOMED:has_indirect_morphology\n      - SNOMED:has_modification\n      - SNOMED:has_procedure_morphology\n      - SNOMED:has_specimen_source_morphology\n      - SNOMED:inheres_in\n      - SNOMED:is_interpreted_by\n      - SNOMED:relative_to_part_of\n      - UBERON:synapsed_by\n      - UMLS:RO\n      - UMLS:RQ\n      - UMLS:class_code_classified_by\n      - UMLS:exhibited_by\n      - UMLS:has_context_binding\n      - UMLS:has_form\n      - UMLS:has_mapping_qualifier\n      - UMLS:larger_than\n      - UMLS:mapped_to\n      - UMLS:owning_section_of\n\n  related to at concept level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between terminology components that describe the conceptual model of a domain.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  related to at instance level:\n    is_a: related to\n    description: >-\n      Represents a relationship held between two instances of a data classes.  Much like an assertion component,\n      in an ABox, these represent facts associated with the conceptual model.\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  associated with:\n    is_a: related to at instance level\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      (though not in all cases), and is weaker than its child, 'correlated with', but stronger than its parent,\n      'related to'. This relationship holds between two concepts represented by variables for which a statistical\n      dependence is demonstrated.  E.g. the statement “Atrial Fibrillation (Afib) is associated with Myocardial\n      Infraction (MI)” asserts that having Afib is not statistically independent from whether a patient\n      will also have MI. Note that in Translator associations, the subject and object concepts may map exactly to\n      the statistical variables, or represent related entities for which the variables serve as proxies in an\n      Association (e.g. diseases, chemical entities or processes).\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    domain: named thing\n    range: named thing\n    narrow_mappings:\n      - RO:0004029\n      - SNOMEDCT:47429007\n\n  superclass of:\n    is_a: related to at concept level\n    inverse: subclass of\n    description: >-\n      holds between two classes where the domain class is a super class of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q66088480\n      - CHEMBL.MECHANISM:superset_of\n      - GO:inverse_isa\n      - RXNORM:inverse_isa\n      - MESH:inverse_isa\n      - VANDF:inverse_isa\n    narrow_mappings:\n      - NCIT:cdrh_parent_of\n      - NCIT:ctcae_5_parent_of\n      - NCIT:subset_includes_concept\n      - OMIM:has_manifestation\n      - SNOMED:has_basic_dose_form\n      - UMLS:RB\n\n  subclass of:\n    is_a: related to at concept level\n    description: >-\n      holds between two classes where the domain class is a specialization of the range class\n    domain: ontology class\n    range: ontology class\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # RTX\n      - LOINC:class_of\n      - LOINC:has_class\n    exact_mappings:\n      - rdfs:subClassOf\n      - SEMMEDDB:ISA\n      - WIKIDATA_PROPERTY:P279\n      - CHEMBL.MECHANISM:subset_of\n      - GO:isa\n      - MESH:isa\n      - RXNORM:isa\n      - VANDF:isa\n    narrow_mappings:\n      - CHEBI:has_parent_hydride\n      - LOINC:has_archetype\n      - LOINC:has_parent_group\n      - LOINC:is_presence_guidance_for\n      - NCIT:gene_product_has_chemical_classification\n       # RTX mapped terms classes for biomarkers\n      - NCIT:R36\n      - NCIT:R42\n      - NCIT:A16\n      - NCIT:A11\n      - NCIT:A14\n      - NCIT:A3\n      - NDDF:has_dose_form\n      - RXNORM:has_dose_form\n      - RXNORM:has_doseformgroup\n      - SNOMED:entire_anatomy_structure_of\n      - SNOMED:has_dose_form\n       # RTX mapping\n      - rdfs:subPropertyOf\n\n  same as:\n    is_a: exact match\n    description: >-\n      holds between two entities that are considered equivalent to each other\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # identical class extension with identical sets of individuals\n      - owl:equivalentClass\n    exact_mappings:\n       # identical individual, or identical class concept/meaning\n      - owl:sameAs\n      - skos:exactMatch\n       # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n       # RTX suggests mapping this to proposed new \"biolink:close_match\" predicate instead\n       # - SEMMEDDB:same_as\n      - WIKIDATA_PROPERTY:P2888\n      - CHEMBL.MECHANISM:equivalent_to\n      - MONDO:equivalentTo\n    narrow_mappings:\n      - DRUGBANK:external-identifier\n\n  close match:\n    is_a: related to at concept level\n    description: >-\n      a list of terms from different schemas or terminology systems that have\n      a semantically similar but not strictly equivalent, broader, or narrower\n      meaning. Such terms often describe the same general concept from\n      different ontological perspectives (e.g. drug as a type of chemical\n      entity versus drug as a type of role borne by a chemical entity).\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:closeMatch\n       # Semantic Medline definition: \"comparative predicate\" where the equivalence could simply be functional\n      - SEMMEDDB:same_as\n    narrow_mappings:\n      - CHEBI:is_enantiomer_of\n      - CHEBI:is_tautomer_of\n      - MEDDRA:classified_as\n      - oboInOwl:hasDbXref\n      - RXNORM:has_quantified_form\n      - UMLS:SY\n\n  exact match:\n    is_a: close match\n    description: >-\n      holds between two entities that have strictly equivalent\n      meanings, with a high degree of confidence\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - skos:exactMatch\n      - WIKIDATA:Q39893449\n      - WIKIDATA:P2888\n\n  broad match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a broader, more general meaning. Broader terms are\n      typically shown as parents in a hierarchy or tree.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: narrow match\n    exact_mappings:\n      - skos:broadMatch\n      - WIKIDATA:Q39894595\n\n  narrow match:\n    description: >-\n      a list of terms from different schemas or terminology systems\n      that have a narrower, more specific meaning. Narrower terms are\n      typically shown as children in a hierarchy or tree.\n    is_a: related to at concept level\n    inverse: broad match\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - skos:narrowMatch\n      - WIKIDATA:Q39893967\n    annotations:\n      opposite_of: broad match\n\n  member of:\n    description: >-\n      Defines a mereological relation between a item and a collection.\n    is_a: related to at concept level\n    inverse: has member\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002350\n    close_mappings:\n      - skos:member\n\n  has member:\n    description: >-\n      Defines a mereological relation between a collection and an item.\n    is_a: related to at concept level\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002351\n      - skos:member\n\n  opposite of:\n    description: >-\n      x is the opposite of y if there exists some distance metric M, and there exists\n      no z such as M(x,z) <= M(x,y) or M(y,z) <= M(y,x). (This description is from RO. Needs to be rephrased).\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002604\n    see_also:\n      - https://doi.org/10.1101/108977\n      - https://github.com/biolink/biolink-model/issues/657\n\n  affects likelihood of:\n    is_a: related to at instance level\n    description: >-\n      Holds between two entities where the presence or application of one alters the chance that the other will come\n      to be.\n    notes: >- \n      - This predicate implies causation, where the 'affected' entity is something that does not yet exist, and the \n      actions/execution of effector impact the likelihood that this entity may come to be. It is NOT to be used\n      for a statistical associations that describe correlations between two feature variables (use predicates\n      in the 'associated with likelihood of' hierarchy here.)\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  likelihood affected by:\n    is_a: related to at instance level\n    inverse: affects likelihood of\n\n  associated with likelihood of:\n    is_a: associated with\n    description: >-\n      A a relationship that holds between two concepts represented by variables for which a statistical\n      dependence is demonstrated, wherein the state or value of one variable predicts the future state\n      or value of the other.  E.g. the statement “An Atrial Fibrillation (Afib) diagnosis is associated\n      with likelihood of a Myocardial Infraction (MI) diagnosis” asserts that the state of having Afib\n      is associated with an increased or decreased likelihood that a patient will later exhibit MI.\n    annotations:\n      canonical_predicate: true\n\n  likelihood associated with:\n    is_a: associated with\n    description: >-\n    inverse: associated with likelihood of\n\n  associated with increased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is more probable.\n    annotations:\n      canonical_predicate: true\n\n  increased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with increased likelihood of\n\n  associated with decreased likelihood of:\n    is_a: associated with likelihood of\n    description: >-\n      Expresses a relationship between two named things where the relationship is typically generated statistically\n      and the state or fact of something is less probable.\n    annotations:\n      canonical_predicate: true\n\n  decreased likelihood associated with:\n    is_a: likelihood associated with\n    description: >-\n    inverse: associated with decreased likelihood of\n\n  target for:\n    is_a: related to at instance level\n    description: >-\n      A gene is a target of a disease when its products are druggable and when a drug interaction with the gene\n      product could have a therapeutic effect\n    annotations:\n      canonical_predicate: true\n    domain: gene\n    range: disease\n\n  has target:\n    is_a: related to at instance level\n    inverse: target for\n    domain: disease\n    range: gene\n\n  active in:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: cellular component\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002432\n\n  has active component:\n    is_a: related to at instance level\n    inverse: active in\n    domain: cellular component\n    range: gene or gene product\n\n  acts upstream of:\n    is_a: related to at instance level\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002263\n\n  has upstream actor:\n    is_a: related to at instance level\n    inverse: acts upstream of\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of positive effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004034\n\n  has positive upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of negative effect:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004035\n\n  has negative upstream actor:\n    is_a: has upstream actor\n    inverse: acts upstream of negative effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within:\n    is_a: acts upstream of\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002264\n\n  has upstream or within actor:\n    is_a: has upstream actor\n    inverse: acts upstream of or within\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within positive effect:\n    is_a: acts upstream of or within\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004032\n\n  has positive upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within positive effect\n    domain: biological process\n    range: gene or gene product\n\n  acts upstream of or within negative effect:\n    is_a: acts upstream of or within\n    domain: gene or gene product\n    range: biological process\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0004033\n\n  has negative upstream or within actor:\n    is_a: has upstream or within actor\n    inverse: acts upstream of or within negative effect\n    domain: biological process\n    range: gene or gene product\n\n     ## Publication related predicates\n  mentions:\n    description: >-\n      refers to is a relation between one information content entity and the named thing\n      that it makes reference to.\n    is_a: related to at instance level\n    exact_mappings:\n      - IAO:0000142\n    narrow_mappings:\n      - SIO:000628\n\n  mentioned by:\n    description: >-\n      refers to is a relation between one named thing and the information content entity\n      that it makes reference to.\n    is_a: related to at instance level\n    inverse: mentions\n\n   ## Publication related predicates\n\n  contributor:\n    is_a: related to at instance level\n    domain: agent\n    range: information content entity\n    comments:\n      - This is a grouping for predicates relating entities to their associated contributors realizing them\n    abstract: true\n    exact_mappings:\n      - dct:contributor\n\n  has contributor:\n    inverse: contributor\n    is_a: related to at instance level\n    domain: information content entity\n    range: agent\n\n  provider:\n    is_a: contributor\n    description: >-\n      person, group, organization or project that provides a piece of information (e.g. a knowledge association).\n\n  has provider:\n    inverse: provider\n    is_a: has contributor\n    domain: information content entity\n    range: agent\n\n  publisher:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      organization or person responsible for publishing books, periodicals, podcasts, games or software.\n      Note that in the case of publications which have a containing \"published in\" node property, the publisher\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the publisher agent of the encompassing publication\n      (e.g. only from the Journal referenced by the 'published_in' property of an journal article Publication node).\n    exact_mappings:\n      - dct:publisher\n      - WIKIDATA_PROPERTY:P123\n\n  has publisher:\n    is_a: has contributor\n    inverse: publisher\n    domain: publication\n    range: agent\n\n  editor:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      editor of a compiled work such as a book or a periodical (newspaper or an academic journal).\n      Note that in the case of publications which have a containing \"published in\" node property, the editor\n      association may not be attached directly to the embedded child publication, but only made in between the\n      parent's publication node and the editorial agent of the encompassing publication\n      (e.g. only from the Book referenced by the 'published_in' property of a book chapter Publication node).\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P98\n\n  has editor:\n    inverse: editor\n    is_a: has contributor\n    domain: publication\n    range: agent\n\n  author:\n    is_a: contributor\n    domain: agent\n    range: publication\n    description: >-\n      an instance of one (co-)creator primarily responsible for a written work\n    exact_mappings:\n      - dct:creator\n      - WIKIDATA_PROPERTY:P50\n\n  has author:\n    inverse: author\n    is_a: has contributor\n    domain: publication\n    range: agent\n\n   ## end of Publication related predicates\n\n  assesses:\n    is_a: related to at instance level\n    aliases: ['was assayed against']\n    description: >-\n      The effect of a thing on a target was interrogated in some assay.\n      A relationship between some perturbing agent (usually a chemical compound) and some target entity,\n      where the affect of the perturbing agent on the target entity was interrogated in a particular assay.\n      The target might be a particular protein, tissue, phenotype, whole organism, cell line, or other type\n      of biological entity.\n    domain: named thing\n    range: named thing\n    annotations:\n      canonical_predicate: true\n\n  is assessed by:\n    is_a: related to at instance level\n    inverse: assesses\n    domain: named thing\n    range: named thing\n\n  interacts with:\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between any two entities that directly or indirectly interact with each other\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    mixin: true\n    exact_mappings:\n      - SEMMEDDB:INTERACTS_WITH\n    notes: >-\n      please use a more specific child predicate of interacts with, either physically interacts with\n      or genetically interacts with.\n\n  physically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two entities that make physical contact as part of some interaction.\n      does not imply a causal relationship.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - WIKIDATA_PROPERTY:P129\n    close_mappings:\n      - CHEMBL.MECHANISM:binding_agent\n      - CHEMBL.MECHANISM:chelating_agent\n      - CHEMBL.MECHANISM:cross-linking_agent\n      - CHEMBL.MECHANISM:oxidative_enzyme\n      - CHEMBL.MECHANISM:sequestering_agent\n      - CHEMBL.MECHANISM:substrate\n      - DRUGBANK:target\n    narrow_mappings:\n       # Defined more narrowly as \"substance interaction\", thus specific applies to a subclass entities\n      - DRUGBANK:drug-interaction\n      - FMA:adheres_to\n      - NCIT:A7\n      - PR:non-covalently_bound_to\n    mixins:\n      - interacts with\n\n  directly physically interacts with:\n    is_a: physically interacts with\n    description: >-\n      A causal mechanism mediated by a direct contact between the effector and target entities (this contact may\n      be weak or strong, transient or stable).\n    symmetric: true\n    exact_mappings:\n      - RO:0002436\n    broad_mappings:\n       # Definition of this term is more generic than direct physical molecular interactions:\n       # A is connected to B iff there exists a fiat, material or temporal path between A and B.\n      - SIO:000203\n      - RO:0002578\n    narrow_mappings:\n      - PHAROS:drug_targets\n      - DRUGBANK:chelator\n      - CTD:affects_binding\n      - DGIdb:cofactor\n    annotations:\n      canonical_predicate: true\n\n  binds:\n    deprecated: true\n    is_a: directly physically interacts with\n    description: >-\n      A causal mechanism mediated by the direct contact between effector and target chemical or biomolecular entity,\n      which form a stable physical interaction.\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - DGIdb:binder\n\n  indirectly physically interacts with:\n    is_a: physically interacts with\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  genetically interacts with:\n    is_a: interacts with\n    description: >-\n      holds between two genes whose phenotypic effects are dependent on each\n      other in some way - such that their combined phenotypic effects are the\n      result of some interaction between the activity of their gene products.\n      Examples include epistasis and synthetic lethality.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n    exact_mappings:\n      - RO:0002435\n\n  gene_fusion_with:\n    is_a: genetically interacts with\n    description: >-\n      holds between two independent genes that have fused through\n      translocation, interstitial deletion, or chromosomal inversion to\n      form a new, hybrid gene. Fusion genes are often implicated in various neoplasms\n      and cancers.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  genetic_neighborhood_of:\n    is_a: genetically interacts with\n    description: >-\n      holds between two genes located nearby one another on a chromosome.\n    domain: gene\n    range: gene\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    symmetric: true\n\n  affects:\n    is_a: related to at instance level\n    description: >-\n      Describes an entity that has an effect on the state or quality of another existing entity.\n    notes: >-\n      Use of the 'affects' predicate implies that the affected entity already exists, unlike predicates such as\n      'affects likelihood of' and 'prevents' where the effect concerns whether or when something may or\n      may not come into existence.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n       # Contributed by RTX. Seems possible that a new predicate \"biolink:in_pathway\" could be justified?\n      - DRUGBANK:pathway\n    exact_mappings:\n      - SEMMEDDB:AFFECTS\n      - DGIdb:affects\n    narrow_mappings:\n      - CTD:prediction_hypothesis\n      - GOREL:0001006\n      - CTD:inferred\n      - UPHENO:0000001\n      - RO:0002263\n      - RO:0002264\n      - NCIT:R158\n      - NCIT:R160\n      - NCIT:R30\n      - NCIT:R150\n      - NCIT:R72\n      - NCIT:R146\n      - NCIT:R124\n      - NCIT:R173\n      - NCIT:R100\n      - NCIT:R102\n      - NCIT:R101\n      - NCIT:R113\n      - NCIT:R23\n      - NCIT:R25\n      - NCIT:gene_mapped_to_disease\n      - NCIT:R133\n      - RO:0002343\n      - RO:0002355\n      - RO:0002591\n      - RO:0002592\n      - RO:0012003\n      - SNOMED:has_pathological_process\n      - UBERGRAPH:is_increase_of  # talked to Jim Balhoff, this is a valid mapping\n      - UBERGRAPH:is_decrease_of  # talked to Jim Balhoff, this is a valid mapping\n\n  affected by:\n    is_a: related to at instance level\n    description: >-\n      describes an entity of which the state or quality is affected by\n      another existing entity.\n    inverse: affects\n\n  associated with sensitivity to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of sensitivity to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - PATO:0000085  # sensitivity toward\n    narrow_mappings:\n      - SNOMEDCT:418038007  # propensity to adverse reaction\n\n  sensitivity associated with:\n    is_a: associated with\n    inverse: associated with sensitivity to\n    range: named thing\n    domain: chemical entity\n\n  associated with resistance to:\n    is_a: associated with\n    description: >-\n      A relation that holds between a named thing and a chemical\n      that specifies that the change in the named\n      thing is found to be associated with the degree of resistance to treatment by the chemical.\n    domain: named thing\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n\n  resistance associated with:\n    is_a: associated with\n    inverse: associated with resistance to\n    range: named thing\n    domain: chemical entity\n\n  diagnoses:\n    is_a: related to at instance level\n    description: >-\n      a relationship that identifies the nature of (an illness or other problem) by examination\n      of the symptoms.\n    domain: diagnostic aid\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n      - NCIT:C15220  # diagnosis\n      - SIO:001331  # diagnosis\n    exact_mappings:\n      - DrugCentral:5271\n      - SEMMEDDB:DIAGNOSES\n\n  is diagnosed by:\n    is_a: related to at instance level\n    inverse: diagnoses\n    domain: disease or phenotypic feature\n    range: diagnostic aid\n\n  increases amount or activity of:\n    deprecated: true\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that increase the amount\n      or activity of the object.\n\n  amount or activity increased by:\n    deprecated: true\n    is_a: related to at instance level\n    inverse: increases amount or activity of\n\n  decreases amount or activity of:\n    deprecated: true\n    is_a: related to at instance level\n    mixin: true\n    description: >-\n      A grouping mixin to help with searching for all the predicates that decrease the amount\n      or activity of the object.\n\n  amount or activity decreased by:\n    deprecated: true\n    is_a: related to at instance level\n    inverse: decreases amount or activity of\n\n   ## role mixins for use in tagging corresponding role predicates\n\n  chemical role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a chemical context.\n    mixin: true\n    exact_mappings:\n      - CHEBI:51086\n\n  biological role mixin:\n    description: >-\n      A role played by the chemical entity or part thereof within a biological context.\n    mixin: true\n    narrow_mappings:\n      - CHEBI:24432\n\n  affects response to:\n    is_a: affects\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: response affected by\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - CTD:affects_response_to\n\n  response affected by:\n    description: >-\n      holds between two chemical entities where the susceptibility of a biological entity or system\n      (e.g. an organism, cell, cellular component, macromolecular machine mixin,\n      biological or pathological process) of one is affected by the action of the other.\n    is_a: affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  increases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      increases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: decreases response to\n    exact_mappings:\n      - CTD:increases_response_to\n\n  response increased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: increases response to\n\n  decreases response to:\n    description: >-\n      holds between two chemical entities where the action or effect of one\n      decreases the susceptibility of a biological entity or system (e.g. an\n      organism, cell, cellular component, macromolecular machine mixin, biological\n      or pathological process) to the other\n    is_a: affects response to\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n      opposite_of: increases response to\n    exact_mappings:\n      - CTD:decreases_response_to\n    narrow_mappings:\n      - CTD:decreases_response_to_substance\n\n  response decreased by:\n    is_a: response affected by\n    in_subset:\n      - translator_minimal\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    inverse: decreases response to\n\n  regulates:\n    is_a: affects\n    description: >-\n      A more specific form of affects, that implies the effect results from a biologically evolved control mechanism.\n      Gene-affects-gene relationships will (almost) always involve regulation.  Exogenous/environmental chemical-affects-gene relationships\n      are not cases of regulation in this definition. Instead these would be captured using the 'affects' predicate, or\n      possibly one of the 'interacts with' predicates depending on the nature of the interaction.\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002448\n    broad_mappings:\n       # https://www.wikidata.org/wiki/Property:P128 - regulates (molecular biology)\n      - WIKIDATA_PROPERTY:P128\n      - CHEMBL.MECHANISM:modulator\n      - RO:0002295\n      - RO:0002332\n      - RO:0002448\n    notes: >-\n      The RO definition of 'directly regulates the activity of' is an exact_mapping here because\n      it describes genetic regulation from the point of view of one genetic entity regulating another, as opposed to\n      \"RO:0002211\" which describes process to process regulation.\n    mixins:\n      - interacts with\n\n  regulated by:\n    is_a: affected by\n    domain: physical essence or occurrent\n    range: physical essence or occurrent\n    inverse: regulates\n\n  disrupts:\n    is_a: affects\n    aliases: ['disease causes disruption of']\n    description: >-\n      describes a relationship where one entity degrades or interferes\n      with the structure, function, or occurrence of another.\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n      opposite_of: enables\n    exact_mappings:\n      - SEMMEDDB:DISRUPTS\n      - CHEMBL.MECHANISM:disrupting_agent\n    narrow_mappings:\n      - RO:0004024\n      - RO:0004025\n\n  disrupted by:\n    is_a: affected by\n    description: >-\n      describes a relationship where the structure, function, or occurrence\n      of one entity is degraded or interfered with by another.\n    inverse: disrupts\n\n  gene product of:\n    is_a: related to at instance level\n    description: >-\n      definition x has gene product of y if and only if y is a gene (SO:0000704)\n      that participates in some gene expression process (GO:0010467) where the output of thatf\n      process is either y or something that is ribosomally translated from x\n    exact_mappings:\n      - RO:0002204\n    domain: gene product mixin\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: has gene product\n    in_subset:\n      - translator_minimal\n\n  has gene product:\n    is_a: related to at instance level\n    description: >-\n      holds between a gene and a transcribed and/or\n      translated product generated from it\n    domain: gene\n    range: gene product mixin\n    inverse: gene product of\n    in_subset:\n      - translator_minimal\n    close_mappings:\n       # RTX term tagged as inverse mapping\n      - PR:has_gene_template\n    exact_mappings:\n      - RO:0002205\n      - WIKIDATA_PROPERTY:P688\n      - NCIT:gene_encodes_gene_product\n    narrow_mappings:\n      - NCIT:R178\n\n  transcribed to:\n    is_a: related to at instance level\n    domain: gene\n    range: transcript\n    description: >-\n      inverse of transcribed from\n    inverse: transcribed from\n    exact_mappings:\n      - RO:0002511\n      - SIO:010080\n\n  transcribed from:\n    is_a: related to at instance level\n    domain: transcript\n    range: gene\n    annotations:\n      canonical_predicate: true\n    inverse: transcribed to\n    description: >-\n      x is transcribed from y if and only if x is synthesized from template y\n    exact_mappings:\n      - RO:0002510\n      - SIO:010081\n\n  translates to:\n    is_a: related to at instance level\n    domain: transcript\n    range: protein\n    annotations:\n      canonical_predicate: true\n    inverse: translation of\n    description: >-\n      x (amino acid chain/polypeptide) is the ribosomal translation of y (transcript) if and only if a ribosome\n      reads y (transcript) through a series of triplet codon-amino acid adaptor activities (GO:0030533)\n      and produces x (amino acid chain/polypeptide)\n    close_mappings:\n      - RO:0002513\n      - SIO:010082\n\n  translation of:\n    is_a: related to at instance level\n    domain: protein\n    range: transcript\n    description: >-\n      inverse of translates to\n    inverse: translates to\n    close_mappings:\n      - RO:0002512\n      - SIO:010083\n\n  homologous to:\n    is_a: similar to\n    aliases: ['in homology relationship with']\n    description: >-\n      holds between two biological entities that have common evolutionary origin\n    comments:\n      - typically used to describe homology relationships between genes or gene products\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000001\n      - SIO:010302\n    narrow_mappings:\n       # This is a tricky one to place; seems narrower than the RO mapping but that mapping, RO:0002158\n      - UBERON_CORE:sexually_homologous_to\n\n  paralogous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship that holds between entities (typically genes) that diverged after a duplication event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000011\n\n  orthologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship between entities (typically genes) that diverged after a speciation event.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000017\n      - WIKIDATA_PROPERTY:P684\n\n  xenologous to:\n    is_a: homologous to\n    description: >-\n      a homology relationship characterized by an interspecies (horizontal) transfer since the common ancestor.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000018\n\n  coexists with:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities that are co-located in the same aggregate object, process, or spatio-temporal region\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n      - SEMMEDDB:COEXISTS_WITH\n    narrow_mappings:\n      - BSPO:0000096\n      - BSPO:0000097\n      - BSPO:0000098\n      - BSPO:0000099\n      - BSPO:0000100\n      - BSPO:0000102\n      - BSPO:0000104\n      - BSPO:0000110\n      - BSPO:0000113\n      - BSPO:0015001\n      - BSPO:0015002\n      - BSPO:0015003\n      - BSPO:0015005\n      - BSPO:0015006\n      - BSPO:0015007\n      - BSPO:0015008\n      - BSPO:0015009\n      - BSPO:0015012\n      - BSPO:0015014\n      - BSPO:parallel_to\n      - UBERON_CORE:anastomoses_with\n      - UBERON_CORE:anteriorly_connected_to\n      - UBERON_CORE:posteriorly_connected_to\n      - UBERON_CORE:channel_for\n      - UBERON_CORE:channels_from\n      - UBERON_CORE:channels_into\n      - UBERON_CORE:conduit_for\n      - UBERON_CORE:distally_connected_to\n      - UBERON_CORE:extends_fibers_into\n      - UBERON_CORE:filtered_through\n      - UBERON_CORE:indirectly_supplies\n      - UBERON_CORE:proximally_connected_to\n      - UBERON_CORE:synapsed_by\n      - UBERON_CORE:transitively_anteriorly_connected_to\n      - UBERON_CORE:transitively_connected_to\n      - UBERON_CORE:transitively_distally_connected_to\n      - UBERON_CORE:transitively_proximally_connected_to\n       # RTX contributed Environmental Ontology term meaning \"partially surrounded by\"\n      - ENVO:01001307\n      - FMA:adjacent_to\n      - FMA:afferent_to\n      - FMA:anterior_to\n      - FMA:anteroinferior_to\n      - FMA:anterolateral_to\n      - FMA:anteromedial_to\n      - FMA:anterosuperior_to\n       # RTX contributed terms (also inverses to one another?) might better be mapped to another term with more precise functional semantics?\n       # Some of these terms also seem to be semantic inverses of one another, thus, perhaps not simple narrow_mappings to Biolink\n      - FMA:arterial_supply_of\n      - FMA:has_arterial_supply\n      - FMA:articulates_with\n      - FMA:attaches_to\n      - FMA:bounded_by\n      - FMA:bounds\n      - FMA:branch_of\n      - FMA:connection_type_of\n      - FMA:continuation_branch_of\n      - FMA:continuous_distally_with\n      - FMA:continuous_proximally_with\n      - FMA:corresponds_to\n      - FMA:development_type_of\n      - FMA:developmental_stage_of\n      - FMA:direct_cell_shape_of\n      - FMA:direct_left_of\n      - FMA:direct_right_of\n      - FMA:distal_to\n      - FMA:drains_into\n      - FMA:efferent_to\n      - FMA:external_to\n      - FMA:formed_by\n      - FMA:forms\n       # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:full_grown_phenotype_of\n      - FMA:has_full_grown_phenotype\n       # these next two RTX mapped terms also seem to be inverses of one another\n      - FMA:fuses_with\n      - FMA:fusion_of\n      - FMA:has_fusion\n      - FMA:germ_origin_of\n      - FMA:has_germ_origin\n      - FMA:has_adherent\n      - FMA:has_branch\n      - FMA:has_connection_type\n      - FMA:has_continuation_branch\n      - FMA:has_development_type\n      - FMA:has_developmental_stage\n      - FMA:has_direct_cell_shape\n      - FMA:has_inherent_3d_shape\n      - FMA:has_insertion\n      - FMA:has_lymphatic_drainage\n      - FMA:has_nerve_supply\n      - FMA:has_observed_anatomical_entity\n      - FMA:has_origin\n      - FMA:has_primary_segmental_supply\n      - FMA:has_projection\n      - FMA:has_regional_part\n      - FMA:has_related_developmental_entity\n      - FMA:has_secondary_segmental_supply\n      - FMA:has_segmental_composition\n      - FMA:has_segmental_supply\n      - FMA:has_tributary\n      - FMA:has_venous_drainage\n      - FMA:inferior_to\n      - FMA:inferolateral_to\n      - FMA:inferomedial_to\n      - FMA:inherent_3d_shape_of\n      - FMA:insertion_of\n      - FMA:internal_to\n      - FMA:lateral_to\n      - FMA:left_lateral_to\n      - FMA:left_medial_to\n      - FMA:lymphatic_drainage_of\n      - FMA:matures_from\n      - FMA:matures_into\n      - FMA:medial_to\n      - FMA:merges_with\n      - FMA:nerve_supply_of\n      - FMA:origin_of\n      - FMA:posterior_to\n      - FMA:posteroinferior_to\n      - FMA:posterolateral_to\n      - FMA:posteromedial_to\n      - FMA:posterosuperior_to\n      - FMA:primary_segmental_supply_of\n      - FMA:projects_from\n      - FMA:projects_to\n      - FMA:proximal_to\n      - FMA:receives_attachment_from\n      - FMA:receives_drainage_from\n      - FMA:receives_input_from\n      - FMA:receives_projection\n      - FMA:related_part\n      - FMA:right_lateral_to\n      - FMA:right_medial_to\n      - FMA:secondary_segmental_supply_of\n      - FMA:segmental_composition_of\n      - FMA:segmental_supply_of\n      - FMA:sends_output_to\n      - FMA:superior_to\n      - FMA:superolateral_to\n      - FMA:superomedial_to\n      - FMA:surrounded_by\n      - FMA:surrounds\n      - FMA:tributary_of\n      - FMA:venous_drainage_of\n       # These LOINC: terms contributed by RTX were only tagged as 'biolink:has_attribute'\n       # but seem more aligned to the FMA entries in this biolink term, so I leave them here for now\n      - LOINC:has_lateral_anatomic_location\n      - LOINC:has_lateral_location_presence\n      - UBERON_NONAMESPACE:distally_connected_to\n      - UBERON_NONAMESPACE:subdivision_of\n       # These RO terms seem similar to the FMA terms above, so I place them here rather than under 'biolink:related_to'\n      - RO:0002219\n      - RO:0002220\n      - RO:0002221\n      - SO:has_origin\n       # RTX mapped these UBERON terms all here\n      - UBERON:anastomoses_with\n      - UBERON:anteriorly_connected_to\n      - UBERON:channel_for\n      - UBERON:channels_from\n      - UBERON:channels_into\n      - UBERON:conduit_for\n      - UBERON:distally_connected_to\n      - UBERON:existence_starts_and_ends_during\n      - UBERON:extends_fibers_into\n      - UBERON:filtered_through\n      - UBERON:in_central_side_of\n      - UBERON:in_innermost_side_of\n      - UBERON:in_outermost_side_of\n      - UBERON:indirectly_supplies\n      - UBERON:posteriorly_connected_to\n      - UBERON:protects\n      - UBERON:proximally_connected_to\n      - UBERON:sexually_homologous_to\n\n  in pathway with:\n    description: >-\n      holds between two genes or gene products that are part of in the same biological pathway\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n       # generally pertains to membership of a (subject) component - gene,\n       # metabolite, etc? - in an (object) metabolic pathway\n      - SIO:010532\n\n  in complex with:\n    description: >-\n      holds between two genes or gene products that are part of (or code for\n      products that are part of) in the same macromolecular complex\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n       # generally pertains to membership of a (subject) protein in an (object) protein complex (doesn't cover RNA-Protein, Lipid-Protein, etc complexes though)\n      - SIO:010497\n    broad_mappings:\n       # generally pertains to membership of any (subject) constituent molecule in an (object) molecular complex (might also generically cover RNA-Protein, Lipid-Protein, etc complexes)\n      - SIO:010285\n\n  in cell population with:\n    description: >-\n      holds between two genes or gene products that are expressed in the same cell type or population\n    is_a: coexists with\n    domain: gene or gene product\n    range: gene or gene product\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  colocalizes with:\n    description: >-\n      holds between two entities that are observed to be located in the same place.\n    is_a: coexists with\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002325\n\n   # Despite the name, note that this particular entity is\n   # NOT a biolink:Association but rather, a biolink:predicate\n  genetic association:\n    deprecated: true\n    deprecated_element_has_exact_replacement: biolink:genetically_associated_with\n    is_a: associated with\n    symmetric: true\n\n  genetically associated with:\n    is_a: associated with\n    description: >-\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      description: >-\n        Co-occurrence of a certain allele of a genetic marker and the phenotype\n        of interest in the same individuals at above-chance level\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2293\n    in_subset:\n      - translator_minimal\n\n  gene associated with condition:\n    is_a: genetically associated with\n    description: >-\n      holds between a gene and a disease or phenotypic feature that the gene or its alleles/products may influence,\n      contribute to, or correlate with\n    domain: gene\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    broad_mappings:\n      - GENO:0000840  # broader than a single gene: 'genotype' pathogenic for condition\n      - GENO:0000841\n    narrow_mappings:\n       # narrower: just diseases, not phenotypic features as well\n      - NCIT:R38\n      - NCIT:R175\n      - NCIT:R48\n\n  condition associated with gene:\n    is_a: genetically associated with\n    aliases: ['disease associated with gene']\n    description: >-\n      holds between a gene and a disease or phenotypic feature that may be influenced, contribute to, or be correlated with the gene or its alleles/products\n    domain: disease or phenotypic feature\n    range: gene\n    in_subset:\n      - translator_minimal\n    inverse: gene associated with condition\n    narrow_mappings:\n       # RO term implies causality making it narrower\n      - RO:0004000\n       # narrower since just diseases, not phenotypic features as well\n      - NCIT:R176\n\n\n  contributes to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one contributes to the\n      occurrence or generation of the other\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # RTX contributed mapping tagged as 'inverse' of this Biolink predicate\n      - IDO:0000664\n    exact_mappings:\n      - RO:0002326\n    narrow_mappings:\n      - CTD:marker_mechanism\n      - MONDO:predisposes_towards\n       # RTX mapped this to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002255\n       # RTX term 'contributes to condition' mapped to 'biolink:causes' seems more suitable here\n      - RO:0003304\n\n  contribution from:\n    is_a: related to at instance level\n    in_subset:\n      - translator_minimal\n    inverse: contributes to\n\n  causes:\n    description: >-\n      holds between two entities where the occurrence, existence, or activity of one causes the occurrence\n      or generation of the other\n    is_a: contributes to\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SEMMEDDB:CAUSES\n      - WIKIDATA_PROPERTY:P1542\n      - SNOMED:cause_of\n      - RO:0003303\n    broad_mappings:\n      - RO:0002410\n      - RO:0002506\n    narrow_mappings:\n      - MONDO:disease_triggers\n      - GOREL:0000040\n      - MONDO:disease_causes_feature\n      - NCIT:allele_has_abnormality\n      - NCIT:biological_process_has_result_biological_process\n      - NCIT:chemical_or_drug_has_physiologic_effect\n       # RTX mapped terms as 'biolink:part_of' but implied sequence of causality suggests 'biolink:causes'?\n      - NCIT:chemical_or_drug_initiates_biological_process\n      - NCIT:process_initiates_biological_process\n      - NCIT:chromosome_mapped_to_disease\n      - NCIT:disease_has_normal_tissue_origin\n      - NBO-PROPERTY:in_response_to\n      - orphanet:317343\n      - orphanet:317344\n      - orphanet:317346\n      - orphanet:410295\n      - orphanet:410296\n       # RTX mapped this term to 'biolink:related_to' but this term seems a more precise mapping\n      - RO:0002256\n      - RO:0002315\n      - RO:0002507\n      - RO:0002509\n      - RO:0004001\n      - SNOMED:causative_agent_of\n      - SNOMED:has_realization\n      - UMLS:has_physiologic_effect\n\n  caused by:\n    description: >-\n      holds between two entities where the occurrence, existence,\n      or activity of one is caused by the occurrence or generation of the other\n    is_a: contribution from\n    aliases: ['disease caused by disruption of', 'disease has basis in dysfunction of',\n              'realized in response to', 'realized in response to stimulus']\n    in_subset:\n      - translator_minimal\n    inverse: causes\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P828\n    narrow_mappings:\n      - RO:0001022\n      - RO:0002608\n      - RO:0004019\n      - RO:0004020\n      - RO:0004028\n      - RO:0009501\n\n   # TODO: ameliorates and exacerbates inverses.\n  ameliorates condition:\n    aliases: ['ameliorates', 'beneficial for condition', 'therapeutic for condition']\n    is_a: affects\n    description: >-\n      Holds between an entity and an existing medical condition (disease or phenotypic feature) where the entity is\n      able to ameliorate symptoms, stabilize progression, or cure the condition.\n    notes: >-\n      This predicate describes a narrower view of 'treats' - that covers interventions that are beneficial for existing\n      disease, and excludes interventions that prevent/reduce risk of developing a condition in the future.\n    mixins:\n      - treats\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: exacerbates condition\n    exact_mappings:\n      - RO:0003307\n\n  condition ameliorated by:\n    inverse: ameliorates condition\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  preventative for condition:\n    aliases: ['prophylactic for', 'prevents']\n    is_a: affects likelihood of\n    mixins:\n      - treats\n    description: >-\n      Holds between a substance, procedure, or activity and a medical condition (disease or phenotypic feature),\n      and states that the  substance, procedure, or activity is able to prevent it manifesting in the first place.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: promotes condition\n    in_subset:\n      - translator_minimal\n    broad_mappings:\n      - SEMMEDDB:PREVENTS\n\n  condition prevented by:\n    inverse: preventative for condition\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  promotes condition:\n    mixin: true\n    is_a: related to at instance level\n    description: >-\n      Holds between a substance, procedure, or activity and a medical condition (disease or phenotypic feature),\n      and states that the  substance, procedure, or activity is able to promote it manifesting in the first place.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: preventative for condition\n    in_subset:\n      - translator_minimal\n\n  condition promoted by:\n    is_a: likelihood affected by\n    inverse: promotes condition\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  predisposes to condition:\n    aliases: ['risk factor for']\n    is_a: affects likelihood of\n    mixins:\n      - promotes condition\n    description: >-\n      Holds between two entities where the presence or application of one increases the chance that the\n      other will come to be.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    broad_mappings:\n      - SEMMEDDB:PREDISPOSES\n\n  condition predisposed by:\n    is_a: likelihood affected by\n    inverse: predisposes to condition\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  exacerbates condition:\n    aliases: ['exacerbates', 'detrimental for condition']\n    is_a: affects\n    description: >-\n       Holds between a substance, procedure, or activity and an existing medical condition (disease or phenotypic\n        feature) where the substance, procedure, or activity worsens some or all aspects of the condition.\n    mixins:\n      - promotes condition\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n      opposite_of: ameliorates condition\n    exact_mappings:\n      - RO:0003309\n    broad_mappings:\n      - SEMMEDDB:COMPLICATES\n\n  condition exacerbated by:\n    inverse: exacerbates condition\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    in_subset:\n      - translator_minimal\n\n  treats:\n    is_a: treats or applied or studied to treat\n    mixin: true\n    aliases: ['is substance that treats', 'indicated for', 'ameliorates or prevents condition']\n    description: >-\n      Holds between an intervention (substance, procedure, or activity) and a medical condition\n      (disease or phenotypic feature), and states that the intervention is able to ameliorate,\n      stabilize, or cure the condition or delay, prevent, or reduce the risk of it manifesting\n      in the first place.\n      ‘Treats’ edges should be asserted (knowledge_level: assertion) only in cases where there\n      is strong supporting evidence - i.e. the intervention is approved for the condition, passed\n      phase 3 or in phase 4 trials for the condition, or is an otherwise established \n      treatment in the medical community (e.g. a widely-accepted or formally recommended \n      off-label use). In the absence of such evidence, weaker predicates should be used in \n      asserted edges (e.g. ‘in clinical trials for’ or ‘beneficial in models of’). ‘Treats’ edges\n      based on weaker or indirect forms of evidence can however be created as predictions \n      (knowledge_level: prediction) and should point to the more foundational asserted edges that \n      support them.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    related_mappings:\n      - MONDO:disease_responds_to\n    exact_mappings:\n      - DRUGBANK:treats\n      - WIKIDATA_PROPERTY:P2175\n    narrow_mappings:\n       # \"is substance that treats\" constrains statements to\n       # a subset of the universe of all possible treatments\n      - RO:0002606\n      - NCIT:regimen_has_accepted_use_for_disease\n       # RTX mapped REPODB terms\n      - REPODB:clinically_tested_approved_unknown_phase\n      - REPODB:clinically_tested_suspended_phase_0\n      - REPODB:clinically_tested_suspended_phase_1\n      - REPODB:clinically_tested_suspended_phase_1_or_phase_2\n      - REPODB:clinically_tested_suspended_phase_2\n      - REPODB:clinically_tested_suspended_phase_2_or_phase_3\n      - REPODB:clinically_tested_suspended_phase_3\n      - REPODB:clinically_tested_terminated_phase_0\n      - REPODB:clinically_tested_terminated_phase_1\n      - REPODB:clinically_tested_terminated_phase_1_or_phase_2\n      - REPODB:clinically_tested_terminated_phase_2\n      - REPODB:clinically_tested_terminated_phase_2_or_phase_3\n      - REPODB:clinically_tested_terminated_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_0\n      - REPODB:clinically_tested_withdrawn_phase_1\n      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2\n      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\n      - REPODB:clinically_tested_withdrawn_phase_3\n      - SNOMED:plays_role\n    broad_mappings:\n      - DRUGBANK:treats\n      - SEMMEDDB:TREATS\n      - WIKIDATA_PROPERTY:P2175\n      - MONDO:disease_responds_to\n\n  treated by:\n    mixin: true\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    # range: chemical or drug or treatment\n    in_subset:\n      - translator_minimal\n    inverse: treats\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P2176\n      # RTX contributed term tagged as inverse of 'biolink:treats'\n      - MONDO:disease_responds_to\n    narrow_mappings:\n      # \"is treated by substance\" constrains statements to\n      # subset of the universe of all possible treatments\n      - RO:0002302\n\n  studied to treat:\n    is_a: related to at instance level\n    description: >-\n      Holds between an  substance, procedure, or activity and a medical condition, and reports that one or more\n      scientific study has been performed to specifically test the potential of the  substance, procedure, or\n      activity to treat the medical condition  (i.e. to ameliorate, stabilize, or cure the condition, or to delay,\n      prevent, or reduce the risk of it manifesting in the first place).\n    notes: >-\n      Predicates in this hierarchy are used in practice when a source reports performance of a study, but there is\n      not sufficient evidence or demonstrated efficacy against the condition to warrant creating a ‘treats’ assertion\n      edge. Note however that a 'studied to treat' edge may be used as evidence to support creation of a separate\n      'treats' prediction edge.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    mixins:\n      - treats or applied or studied to treat\n    annotations:\n      canonical_predicate: true\n\n  in clinical trials for:\n    is_a: studied to treat\n    description: >-\n      Holds between an intervention and a medical condition, and reports that a clinical trial  is being or has been\n      performed in human patients to test the potential of the intervention to treat the medical condition\n      (e.g. to ameliorate, stabilize, or cure the condition, or to delay, prevent, or reduce the risk of it\n      manifesting in the first place).\n    notes: >-\n      This predicate should be used when a source reports a clinical trial where the intervention is being or was\n      interrogated, regardless of the phase of the trial, or its ultimate outcome.  Information about phase and outcome\n      can be capture using other modeling elements.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    mixins:\n      - treats or applied or studied to treat\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n  # TODO: add inverse\n\n  tested by clinical trials of:\n    is_a: treated in studies by\n    inverse: in clinical trials for\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  treated in studies by:\n    is_a: treated by\n    inverse: studied to treat\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  tested by preclinical trials of:\n    is_a: treated in studies by\n    inverse: in preclinical trials for\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  in preclinical trials for:\n    is_a: studied to treat\n    description: >-\n      Holds between an  substance, procedure, or activity and a medical condition, and reports that a pre-clinical\n      study has been performed specifically to test the potential of the  substance, procedure, or activity to treat\n      the medical condition  (i.e. to ameliorate, stabilize, or cure the condition, or to delay, prevent, or reduce\n      the risk of it manifesting in the first place).\n    mixins:\n      - treats or applied or studied to treat\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    # TODO: inverse of in_preclincal_trials_for needed\n\n  beneficial in models for:\n    is_a: in preclinical trials for\n    description: >-\n      Holds between an  substance, procedure, or activity and a medical condition, and reports that the  substance,\n      procedure, or activity has been shown to be effective in alleviating, preventing, or delaying symptoms/\n      phenotypes associated with a disease, in a model system for that disease (e.g. a mouse, fly, cell line, etc).\n    notes: >-\n      This predicate would be used to represent Model Organism Database (MOD) records reporting that an intervention\n      alleviated phenotypes associated with a human disease in a model organism designated as a model of that disease.\n      (e.g. a ZFIN record reporting that treatment with Braf Inhibitors reduced the abnormal brain cell proliferation\n      phenotype of zebrafish used to model the human disease Kabuki Syndrome) .\n    mixins:\n      - treats or applied or studied to treat\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    # TODO: need inverse of beneficial_in_models_for\n\n  models demonstrating benefits for:\n    is_a: tested by preclinical trials of\n    inverse: beneficial in models for\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  applied to treat:\n    aliases: ['administered to treat', 'used to treat', 'given to treat']\n    is_a: related to at instance level\n    description: >-\n      Holds between an  substance, procedure, or activity and a medical condition, and reports that the  substance,\n      procedure, or activity was actually taken by one or more patients with the intent of treating the condition.\n    notes: >-\n      This predicate is used simply to report observations of use in the real world, and is agnostic to whether the\n      treatment is approved for or might be effective in treating the condition. The treatment could be taken by a\n      patient on their own accord or prescribed by a clinician, as an off-label or an approved intervention. In\n      practice, it would be used to represent records/statements from patient self-reporting sources like FAERS / AEOLUS\n      where patients directly report the condition for which they took a drug, or statements from a database cataloging\n      instances of off-label prescription of drugs for specific conditions (e.g. here, here, here).\n    mixins:\n      - treats or applied or studied to treat\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n   # TODO: need an inverse for taken to treat\n\n  treatment applications from:\n    is_a: related to at instance level\n    inverse: applied to treat\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n\n  treats or applied or studied to treat:\n    mixin: true\n    description: >-\n      Holds between an substance, procedure, or activity and a medical condition (disease or phenotypic feature),\n      and states that the substance, procedure, or activity is able to treat the condition, has been observed to be\n      taken/prescribed in practice with the intent of treating the condition, or has been interrogated in a scientific\n      study that hypothesized an ability to treat the condition (in humans or other biological systems/organisms).\n    notes: >-\n      This predicate is helpful both as a grouping predicate to aid in searching for broader senses of treating a\n      condition, and as a catch-all for representing sources that are not clear about the sense of treats that is\n      being reported. For example, text-mined statements concerning treatments for disease are based on sentences\n      that can report treatment in any of these different senses and thus require a broader predicate such as\n      this to safely report statement semantics.\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:TREATS\n\n  subject of treatment application or study for treatment by:\n    mixin: true\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: treats or applied or studied to treat\n\n  correlated with:\n    is_a: associated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical dependence is\n      demonstrated using a correlation analysis method.\n    notes: >-\n      These concepts may map exactly to the statistical variables, or represent related entities for which the\n      variables serve as proxies in an Association (e.g. diseases, chemical entities or processes).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002610\n      - PATO:correlates_with\n\n   # proposed positive and negative semantic extensions to the general \"correlated with\" predicate\n\n  positively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation\n      is demonstrated, wherein variable values move together in the same direction (i.e. increased in one or\n      presence of one correlates with an increase or presence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: negatively correlated with\n    exact_mappings:\n      - CTD:positive_correlation\n\n  negatively correlated with:\n    is_a: correlated with\n    description: >-\n      A relationship that holds between two concepts represented by variables for which a statistical correlation\n      is demonstrated, wherein variable values move in opposite directions (i.e. increased in one or presence of\n      one correlates with a decrease or absence of the other).\n    domain: named thing\n    range: named thing\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n      opposite_of: positively correlated with\n    exact_mappings:\n      - CTD:negative_correlation\n\n  occurs together in literature with:\n    is_a: correlated with\n    description: >-\n      holds between two entities where their co-occurrence is correlated by counts of publications\n      in which both occur, using some threshold of occurrence as defined by the edge provider.\n    domain: named thing\n    range: named thing\n    in_subset: translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  coexpressed with:\n    is_a: correlated with\n    description: >-\n      holds between any two genes or gene products, in which both are\n      generally expressed within a single defined experimental context.\n    domain: gene or gene product\n    range: gene or gene product\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n\n  has biomarker:\n    is_a: correlated with\n    description: >-\n      holds between a disease or phenotypic feature and a measurable\n      chemical entity that is used as an indicator of the presence\n      or state of the disease or feature.\n       # metabolite\n    domain: disease or phenotypic feature\n    range: chemical entity or gene or gene product\n    in_subset:\n      - translator_minimal\n    inverse: biomarker for\n    narrow_mappings:\n       # some RTX terms contributed as inverses of 'biolink:biomarker_for'\n      - NCIT:disease_has_molecular_abnormality\n      - NCIT:disease_is_marked_by_gene\n\n  biomarker for:\n    is_a: correlated with\n    description: >-\n      holds between a measurable chemical entity and a disease\n      or phenotypic feature, where the entity is used as an indicator\n      of the presence or state of the disease or feature.\n    domain: chemical entity or gene or gene product\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - NCIT:R39\n    broad_mappings:\n       # Generic marker definition not specific to biomarkers per say\n      - RO:0002607\n    narrow_mappings:\n      - NCIT:R47\n       # RTX term was tagged as 'biolink:actively_involved_in' but maps better here?\n      - NCIT:genetic_biomarker_related_to\n      - NCIT:is_molecular_abnormality_of_disease\n      - orphanet:465410\n\n   # It may be helpful to introduce an intermediate predicate in between 'related_to' and 'expressed in'\n   # which would have a domain of 'biological entity' and range of 'anatomical entity', to map predicates\n   # which are biological which have manifestation in an anatomical site, e.g. RO:0004026, RO:0004027 and others\n  expressed in:\n    is_a: located in\n    description: >-\n      holds between a gene or gene product and an anatomical entity in which it is expressed\n    domain: gene or gene product\n    range: anatomical entity\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002206\n    narrow_mappings:\n      - NCIT:R49\n      - NCIT:R46\n\n  expresses:\n    is_a: location of\n    aliases: ['anatomy expresses gene']\n    description: >-\n      holds between an anatomical entity and gene or gene product that is expressed there\n    domain: anatomical entity\n    range: gene or gene product\n    multivalued: true\n    in_subset:\n      - translator_minimal\n    inverse: expressed in\n    exact_mappings:\n      - RO:0002292\n\n  has phenotype:\n    is_a: related to at instance level\n    aliases: ['disease presents symptom']\n    description: >-\n      holds between a biological entity and a phenotype, where a phenotype\n      is construed broadly as any kind of quality of an organism part,\n      a collection of these qualities, or a change in quality or qualities\n      (e.g. abnormally increased temperature). In SNOMEDCT, disorders with keyword 'characterized by' should\n      translate into this predicate.\n    domain: biological entity\n    range: phenotypic feature\n    multivalued: true\n    annotations:\n      canonical_predicate: true\n    notes:\n      - check the range\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002200\n    broad_mappings:\n      - NCIT:R115\n      - NCIT:R108\n    narrow_mappings:\n      - NCIT:R89\n      - DOID-PROPERTY:has_symptom\n      - RO:0004022\n      - RO:0004029\n\n  phenotype of:\n    is_a: related to at instance level\n    domain: phenotypic feature\n    range: biological entity\n    multivalued: true\n    inverse: has phenotype\n\n   # TODO: predicate inverse for occurs in\n  occurs in:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a material entity or site within which the process occurs\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # These RTX mapped terms tagged as the inverse of \"biolink:occurs_in\", i.e. Entity/Site contains Process\n      - BFO:0000067\n      - SNOMED:has_occurrence\n      - UBERON:site_of\n    exact_mappings:\n      - BFO:0000066\n      - PathWhiz:has_location\n      - SNOMED:occurs_in\n    narrow_mappings:\n       # SemMedDb term 'OCCURS_IN' constrained to something (other than process) occurring in a group or population\n      - SEMMEDDB:OCCURS_IN\n       # SemMedDb term 'PROCESS_IN' constrained specifically to a process occurring in the object concept entity\n      - SEMMEDDB:PROCESS_OF\n       # Uberon term constrained to a 'site' as object concept\n      - UBERON_CORE:site_of\n      - LOINC:has_imaged_location\n      - PathWhiz:in_species\n      - RO:0002231\n      - RO:0002232\n      - SNOMED:has_direct_procedure_site\n      - SNOMED:has_direct_site\n      - SNOMED:has_procedure_site\n\n  contains process:\n    is_a: related to at instance level\n    inverse: occurs in\n\n  located in:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a material entity or site\n      within which it is located (but of which it is not considered a part)\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0001025\n      - FMA:has_location\n    narrow_mappings:\n      - GOREL:0001004\n      - BSPO:0000107\n      - BSPO:0000108\n      - BSPO:0000120\n      - BSPO:0000121\n      - BSPO:0000122\n      - BSPO:0000123\n      - BSPO:0000124\n      - BSPO:0000125\n      - BSPO:0000126\n      - BSPO:0001100\n      - BSPO:0001101\n      - BSPO:0001107\n      - BSPO:0015101\n      - BSPO:0015102\n      - BSPO:0015202\n      - UBERON_CORE:in_central_side_of\n      - UBERON_CORE:in_innermost_side_of\n      - UBERON_CORE:in_outermost_side_of\n      - NCIT:R100\n      - EFO:0000784\n      - FMA:has_location\n      - HMDB:at_cellular_location\n      - HMDB:at_tissue\n      - HMDB:in_biospecimen\n      - LOINC:has_imaging_focus\n      - NCIT:R156\n      - NCIT:R155\n      - NCIT:R145\n      - NCIT:R40\n      - NCIT:R171\n      - NCIT:R167\n      - NCIT:R165\n      - NCIT:R169\n      - NCIT:R170\n      - NCIT:R166\n      - NCIT:R168\n      - RO:0002303\n      - SNOMED:has_finding_site\n      - SNOMED:has_indirect_procedure_site\n      - SNOMED:has_inherent_location\n    domain: named thing\n    range: named thing\n\n  location of:\n    is_a: related to at instance level\n    aliases: ['site of']\n    domain: named thing\n    range: named thing\n    description: >-\n      holds between material entity or site and a material entity\n      that is located within it (but not considered a part of it)\n    in_subset:\n      - translator_minimal\n    inverse: located in\n    exact_mappings:\n      - RO:0001015\n      - SEMMEDDB:LOCATION_OF\n      - WIKIDATA_PROPERTY:P276\n       # RTX tagged this as an inverse of biolink:located_in\n      - FMA:location_of\n    narrow_mappings:\n      - SNOMED:inherent_location_of\n      - NCIT:Anatomic_Structure_Has_Location_Role\n\n  disease has location:\n    description: >-\n      A relationship between a disease and an anatomical entity where the\n      disease has one or more features that are located in that entity.\n    is_a: related to\n    exact_mappings:\n      - RO:0004026\n      - MONDO:disease_has_location\n\n  location of disease:\n    is_a: related to\n    inverse: disease has location\n\n  similar to:\n    is_a: related to at instance level\n    description: >-\n      holds between an entity and some other entity with similar features.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:HOM0000000\n      - SO:similar_to\n\n  chemically similar to:\n    is_a: similar to\n    description: >-\n      holds between one small molecule entity and another that it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - CHEBI:has_parent_hydride     # subproperty\n      - CHEBI:has_functional_parent  # subproperty\n      - CHEBI:is_conjugate_acid_of   # subproperty\n      - CHEBI:is_conjugate_base_of   # subproperty\n      - CHEBI:is_enantiomer_of       # subproperty\n      - CHEBI:is_tautomer_of         # subproperty\n      - NCIT:has_salt_form\n\n  has sequence location:\n    is_a: related to at instance level\n    description: >-\n      holds between two nucleic acid entities when the subject can be localized\n      in sequence coordinates on the object. For example, between\n      an exon and a chromosome/contig.\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - faldo:location\n\n  sequence location of:\n    is_a: related to at instance level\n    domain: nucleic acid entity\n    range: nucleic acid entity\n    inverse: has sequence location\n\n  model of:\n    is_a: related to at instance level\n    description: >-\n      holds between a thing and some other thing it approximates\n      for purposes of scientific study, in virtue of its exhibiting\n      similar features of the studied entity.\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0003301\n    narrow_mappings:\n      - FOODON:00001301\n\n  models:\n    is_a: related to at instance level\n    inverse: model of\n\n  overlaps:\n    is_a: related to at instance level\n    description: >-\n      holds between entities that overlap in their extents (materials or processes)\n    in_subset:\n      - translator_minimal\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002131\n    narrow_mappings:\n      - BSPO:0005001\n      - CHEMBL.MECHANISM:overlaps_with\n      - RO:0002100\n      - RO:0002102\n      - RO:0002433\n\n  has part:\n    is_a: overlaps\n    annotations:\n      canonical_predicate: true\n      opposite_of: lacks part\n    description: >-\n      holds between wholes and their parts (material entities or processes)\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000051\n       # term name seems to be 'realizes' but RTX maps this term here\n      - BFO:0000055\n      - WIKIDATA_PROPERTY:P527\n      - RO:0001019\n      - RXNORM:consists_of\n      - RXNORM:has_part\n    broad_mappings:\n       # To 'contain' is 'to have something inside or include something as a part'; slightly broader?\n      - RO:0001019\n      - FMA:contains\n      - RXNORM:contains\n    narrow_mappings:\n      - BFO:0000117\n       # RTX term originally mapped to 'biolink:coexists_with'?\n      - FMA:has_constitutional_part\n      - FMA:has_part\n       # Several of the following RTX terms were originally mapped as inverses to 'biolink:part_of'?\n      - FMA:has_member\n      - FOODON:00001563\n      - FOODON:00002420\n      - LOINC:has_component\n      - LOINC:has_member\n      - MEDDRA:has_member\n      - MONDO:disease_has_major_feature\n      - NCIT:complex_has_physical_part\n      - NDDF:has_ingredient\n      - PathWhiz:has_element_in_bound\n       # This RTX contributed term was tagged as 'biolink:has_gene_product' but seems more compositional in nature\n      - NCIT:R50\n      - PathWhiz:has_protein_in_complex\n      - RO:0002104\n      - RO:0002180\n      - RO:0002351\n      - RO:0002473\n      - RO:0002524\n      - RO:0002551\n      - RXNORM:has_ingredient\n      - SNOMED:has_component\n      - UMLS:has_component\n\n  has plasma membrane part:\n    is_a: has part\n    description: >-\n      Holds between a cell c and a protein complex or protein p if\n      and only if that cell has as part a plasma_membrane[GO:0005886], and that plasma membrane has p as part.\n    exact_mappings:\n      - RO:0002104\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  composed primarily of:\n    is_a: related to\n    description: >-\n      x composed_primarily_of_y if:more than half of the mass of x is made from parts of y.\n    exact_mappings:\n      - RO:0002473\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  primarily composed of:\n    inverse: composed primarily of\n    is_a: related to\n\n  plasma membrane part of:\n    is_a: part of\n    inverse: has plasma membrane part\n\n  part of:\n    is_a: overlaps\n    description: >-\n      holds between parts and wholes (material entities or processes)\n    in_subset:\n      - translator_minimal\n    inverse: has part\n    exact_mappings:\n      - BFO:0000050\n      - SEMMEDDB:PART_OF\n      - WIKIDATA_PROPERTY:P361\n      - FMA:part_of\n      - RXNORM:constitutes\n      - RXNORM:part_of\n    broad_mappings:\n       # To 'contain' is 'to have something inside or include something as a part'\n      - RO:0001018\n      - FMA:contained_in\n      - RXNORM:contained_in\n    narrow_mappings:\n      - BSPO:0001106\n      - BSPO:0001108\n      - BSPO:0001113\n      - BSPO:0001115\n      - UBERON_CORE:layer_part_of\n      - UBERON_CORE:subdivision_of\n      - UBERON_CORE:trunk_part_of\n      - CHEBI:is_substituent_group_from\n      - CPT:panel_element_of\n      - CPT:panel_element_of_possibly_included\n      - DRUGBANK:component_of\n      - FMA:constitutional_part_of\n      - FMA:member_of\n      - FMA:regional_part_of\n      - FMA:related_developmental_entity_of\n      - LOINC:component_of\n      - LOINC:has_supersystem\n      - LOINC:member_of\n      - LOINC:multipart_of\n      - MEDDRA:member_of\n      - MONDO:part_of_progression_of_disease\n      - NCIT:R82\n      - NCIT:R27\n      - NCIT:is_component_of_chemotherapy_regimen\n      - NDDF:ingredient_of\n      - RO:0002007\n      - RO:0002350\n      - RO:0002376\n      - RO:0002380\n      - RO:0002571\n      - RO:0002572\n      - RO:0002576\n      - RXNORM:ingredient_of\n      - RXNORM:ingredients_of\n      - RXNORM:precise_ingredient_of\n      - SNOMED:active_ingredient_of\n      - SNOMED:basis_of_strength_substance_of\n      - SNOMED:component_of\n      - SNOMED:direct_substance_of\n      - SNOMED:during\n      - SNOMED:focus_of\n      - SNOMED:has_dependent\n      - SNOMED:part_anatomy_structure_of\n      - SNOMED:precise_active_ingredient_of\n      - UBERON:subdivision_of\n      - UMLS:component_of\n      - UMLS:has_owning_affiliate\n      - UMLS:owning_subsection_of\n      - VANDF:ingredient_of\n\n  has input:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an input into the process\n    domain: biological process or activity\n    range: named thing\n    annotations:\n      canonical_predicate: true\n      opposite_of: has output\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002233\n      - SEMMEDDB:USES\n    narrow_mappings:\n      - LOINC:has_fragments_for_synonyms\n      - LOINC:has_system\n      - PathWhiz:has_left_element\n      - RO:0002590\n      - RO:0004009\n      - SNOMED:has_finding_method\n      - SNOMED:has_precondition\n      - SNOMED:has_specimen_source_identity\n      - SNOMED:has_specimen_substance\n      - SNOMED:uses_access_device\n      - SNOMED:uses_device\n      - SNOMED:uses_energy\n      - SNOMED:uses_substance\n\n  is input of:\n    is_a: participates in\n    domain: named thing\n    range: biological process or activity\n    inverse: has input\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002352\n\n  has output:\n    is_a: has participant\n    description: >-\n      holds between a process and a continuant, where the continuant is an output of the process\n    domain: biological process or activity\n    range: named thing\n    annotations:\n      canonical_predicate: true\n      opposite_of: has input\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002234\n    narrow_mappings:\n      - NCIT:R31\n      - OBI:0000299\n      - PathWhiz:has_right_element\n      - RO:0002296\n      - RO:0002297\n      - RO:0002298\n      - RO:0002299\n      - RO:0002588\n      - RO:0004008\n\n  is output of:\n    is_a: participates in\n    domain: named thing\n    range: biological process or activity\n    inverse: has output\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002353\n    narrow_mappings:\n      - RO:0002354\n\n  has participant:\n    is_a: related to at instance level\n    description: >-\n      holds between a process and a continuant, where the continuant is somehow involved in the process\n    domain: biological process or activity\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    close_mappings:\n      - WIKIDATA_PROPERTY:P2283\n    exact_mappings:\n      - RO:0000057\n      - RO:has_participant\n    narrow_mappings:\n      - BFO:0000167\n       # Several of the following RTX terms tagged as inverse to 'biolink:participates_in'\n      - LOINC:has_subject\n      - NCIT:process_involves_gene\n      - NBO-PROPERTY:has_participant\n      - PathWhiz:has_bound\n      - PathWhiz:has_compound\n      - PathWhiz:has_element_collection\n      - PathWhiz:has_enzyme\n      - OBI:0000293\n      - PathWhiz:has_nucleic_acid\n      - PathWhiz:has_protein\n      - PathWhiz:has_reaction\n      - RO:0002565\n      - RO:0004007\n      - RO:0004020\n      - RO:0004021\n      - SNOMED:has_indirect_device\n      - SNOMED:has_procedure_device\n      - SNOMED:has_recipient_category\n\n  catalyzes:\n    is_a: participates in\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - RO:0002327\n\n  has catalyst:\n    is_a: has participant\n    inverse: catalyzes\n\n  has substrate:\n    is_a: has participant\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n    annotations:\n      canonical_predicate: true\n\n  is substrate of:\n    is_a: participates in\n    inverse: has substrate\n    domain: chemical entity or gene or gene product\n    range: chemical entity or gene or gene product\n\n  participates in:\n    is_a: related to at instance level\n    description: >-\n      holds between a continuant and a process, where the continuant is somehow involved\n      in the process\n    range: biological process or activity\n    domain: occurrent\n    inverse: has participant\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0000056\n      - BFO:0000056\n    narrow_mappings:\n      - DRUGBANK:pathway\n      - HMDB:in_pathway\n      - LOINC:is_given_pharmaceutical_substance_for\n      - NCIT:R130\n      - NCIT:R37\n      - NCIT:R131\n      - NCIT:R51\n      - NCIT:R53\n      - OBI:0000295\n      - RO:0002216\n      - RO:0002505\n      - SNOMED:has_direct_device\n\n  actively involved in:\n    is_a: participates in\n    aliases: ['involved in']\n    description: >-\n      holds between a continuant and a process or function, where\n      the continuant actively contributes to part or all of\n      the process or function it realizes\n    domain: named thing\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002331\n    narrow_mappings:\n      - NBO-PROPERTY:by_means\n      - orphanet:317348\n      - orphanet:317349\n      - orphanet:327767\n      - RO:0002503\n\n  actively involves:\n    is_a: has participant\n    domain: biological process or activity\n    range: named thing\n    inverse: actively involved in\n    in_subset:\n      - translator_minimal\n\n  capable of:\n    is_a: actively involved in\n    description: >-\n      holds between a physical entity and process or function, where the\n      continuant alone has the ability to carry out the process or function.\n    domain: named thing\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002215\n    narrow_mappings:\n      - NCIT:R52\n      - RO:0002500\n\n  can be carried out by:\n    is_a: actively involves\n    inverse: capable of\n    domain: occurrent\n    range: named thing\n\n  enables:\n    is_a: participates in\n    description: >-\n      holds between a physical entity and a process, where the physical entity executes the process\n    domain: physical entity\n    range: biological process or activity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    inverse: enabled by\n    exact_mappings:\n      - RO:0002327\n\n  enabled by:\n    is_a: has participant\n    description: >-\n      holds between a process and a physical entity, where the physical entity executes the process\n    domain: biological process or activity\n    range: physical entity\n    in_subset:\n      - translator_minimal\n    inverse: enables\n    exact_mappings:\n      - RO:0002333\n    annotations:\n      opposite_of: prevented by\n\n  derives into:\n    is_a: related to at instance level\n    aliases: ['is normal cell origin of disease', 'may be normal cell origin of disease']\n    description: >-\n      holds between two distinct material entities, the old entity and\n      the new entity, in which the new entity begins to exist when\n      the old entity ceases to exist, and the new entity inherits\n      the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n    inverse: derives from\n    exact_mappings:\n      - RO:0001001\n      - SEMMEDDB:CONVERTS_TO\n       # RTX posted terms as inverse of 'biolink:derives_from'\n      - FMA:derives\n\n  derives from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    description: >-\n      holds between two distinct material entities, the new entity\n      and the old entity, in which the new entity begins to exist\n      when the old entity ceases to exist, and the new entity\n      inherits the significant portion of the matter of the old entity\n    in_subset:\n      - translator_minimal\n      - samples\n    inverse: derives into\n    exact_mappings:\n      - RO:0001000\n      - FMA:derives_from\n      - DOID-PROPERTY:derives_from\n    narrow_mappings:\n      - CHEBI:has_functional_parent\n      - SNOMED:has_specimen_source_topography\n\n  is metabolite of:\n    is_a: derives from\n    description: >-\n      holds between two molecular entities in which the first one is derived\n      from the second one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    in_subset:\n      - translator_minimal\n    inverse: has metabolite\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  has metabolite:\n    is_a: derives into\n    description: >-\n      holds between two molecular entities in which the second one is derived from the first\n      one as a product of metabolism\n    domain: molecular entity\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    comments:\n      - The CHEBI ID represents a role rather than a predicate\n    exact_mappings:\n      - CHEBI:25212\n\n  food component of:\n    is_a: part of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has food component\n\n  has food component:\n    is_a: has part\n    description: >-\n      holds between food and one or more chemical entities composing it,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  nutrient of:\n    is_a: food component of\n    description: >-\n      holds between a one or more chemical entities present in food,\n      irrespective of nutritional value (i.e. could also be a contaminant or additive)\n    domain: chemical entity\n    range: chemical entity\n    in_subset:\n      - translator_minimal\n    inverse: has nutrient\n\n  has nutrient:\n    is_a: has food component\n    description: >-\n      one or more nutrients which are growth factors for a living organism\n    domain: chemical entity\n    range: chemical entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA:Q181394\n\n  is active ingredient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug, in which the former\n      is a part of the latter, and is a biologically active component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has active ingredient\n    mappings:\n      - RO:0002249\n\n  has active ingredient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entity in which the latter\n      is a part of the former, and is a biologically active component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n      opposite_of: is excipient of\n    in_subset:\n      - translator_minimal\n    inverse: is active ingredient of\n    mappings:\n      - RO:0002248\n\n  is excipient of:\n    is_a: part of\n    description: >-\n      holds between a molecular entity and a drug in which the former is\n      a part of the latter, and is a biologically inactive component\n    domain: molecular entity\n    range: drug\n    in_subset:\n      - translator_minimal\n    inverse: has excipient\n    mappings:\n      - WIKIDATA:Q902638\n\n  has excipient:\n    is_a: has part\n    description: >-\n      holds between a drug and a molecular entities in which the latter\n      is a part of the former, and is a biologically inactive component\n    domain: drug\n    range: molecular entity\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    mappings:\n      - WIKIDATA:Q902638\n\n  manifestation of:\n    is_a: related to at instance level\n    description: >-\n      that part of a phenomenon which is directly observable or\n      visibly expressed, or which gives evidence to the underlying\n      process; used in SemMedDB for linking things like dysfunctions\n      and processes to some disease or syndrome\n    range: disease\n    annotations:\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - SEMMEDDB:MANIFESTATION_OF\n      - OMIM:manifestation_of\n    broad_mappings:\n       # Wikidata's definition is slightly broader: \"inherent and characteristic embodiment of a given concept\"\n      - WIKIDATA_PROPERTY:P1557\n    narrow_mappings:\n      - SNOMED:has_definitional_manifestation\n\n  has manifestation:\n    is_a: related to at instance level\n    domain: disease\n    inverse: manifestation of\n\n  mode of inheritance of:\n    is_a: manifestation of\n    domain: genetic inheritance\n    range: disease or phenotypic feature\n    inverse: has mode of inheritance\n\n  has mode of inheritance:\n    is_a: has manifestation\n    description: >-\n      Relates a disease or phenotypic feature to its observed genetic segregation and assumed\n      associated underlying DNA manifestation (i.e. autosomal, sex or mitochondrial chromosome).\n    domain: disease or phenotypic feature\n    range: genetic inheritance\n    annotations:\n       # This canonical order reverses that of its parent 'has manifestation' class\n       # but seems a more natural direction in the pertinent edge relationships.\n      canonical_predicate: true\n    in_subset:\n      - translator_minimal\n\n  produces:\n    is_a: related to at instance level\n    description: >-\n      holds between a material entity and a product that is generated\n      through the intentional actions or functioning of the material entity\n    in_subset:\n      - translator_minimal\n    annotations:\n      canonical_predicate: true\n    related_mappings:\n      - GOREL:0001010\n    exact_mappings:\n      - RO:0003000\n      - WIKIDATA_PROPERTY:P1056\n      - SEMMEDDB:PRODUCES\n    narrow_mappings:\n      - NCIT:R29\n      - SNOMED:has_process_output\n      - SNOMED:specimen_procedure_of\n\n  produced by:\n    is_a: related to at instance level\n    inverse: produces\n    exact_mappings:\n      - RO:0003001\n\n  consumes:\n    is_a: has input\n    domain: named thing\n    range: named thing\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - RO:0004009\n\n  consumed by:\n    is_a: is input of\n    inverse: consumes\n    domain: named thing\n    range: named thing\n\n  temporally related to:\n    is_a: related to at instance level\n    description: >-\n      holds between two entities with a temporal relationship\n    domain: occurrent\n    range: occurrent\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SNOMED:temporally_related_to\n    narrow_mappings:\n       # The These RTX mappings are temporal in nature, but not with precedes ordering, so mapped here\n      - RO:0002082\n      - RO:0002083\n      - RO:0002092\n      - RO:0002093\n      - RO:0002223\n      - RO:0002224\n      - RO:0002229\n      - RO:0002230\n      - RO:0002488\n      - RO:0002489\n      - RO:0002492\n      - RO:0002493\n      - RO:0002496\n      - RO:0002497\n\n  precedes:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where one completes before the other begins\n    domain: occurrent\n    range: occurrent\n    annotations:\n      canonical_predicate: true\n    inverse: preceded by\n    in_subset:\n      - translator_minimal\n    close_mappings:\n       # the subject of these terms is a material entity, not a process,\n       # but affects a process which causes a second process to occur\n      - RO:0002263\n      - RO:0002264\n    exact_mappings:\n      - BFO:0000063\n      - SEMMEDDB:PRECEDES\n      - SNOMED:occurs_before\n    broad_mappings:\n       # the Wikidata definition is subtly broader, focusing on a series not strictly temporal in nature\n      - WIKIDATA_PROPERTY:P156\n    narrow_mappings:\n      - FMA:transforms_into\n      - RO:0002090\n      - RO:0002411\n      - RO:0002412\n\n  preceded by:\n    is_a: temporally related to\n    description: >-\n      holds between two processes, where the other is completed before the one begins\n    domain: occurrent\n    range: occurrent\n    inverse: precedes\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - BFO:0000062\n    broad_mappings:\n       # Contributed by RTX as inverse of 'precedes'. Seems more generic to just processes, so we tag it as 'broad'?\n      - GENEPIO:0001739\n    narrow_mappings:\n       # RTX contributed mapping was given as the inverse of 'biolink:precedes'\n      - FMA:transforms_from\n      - RO:0002087\n      - RO:0002285\n\n  has variant part:\n    is_a: has part\n    description: holds between a nucleic acid entity and a nucleic acid entity that is a sub-component of it\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000382\n\n  variant part of:\n    is_a: part of\n    inverse: has variant part\n\n  related condition:\n    is_a: related to at instance level\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - GENO:0000790\n\n   ## Predicates relating variants to genes\n\n  is sequence variant of:\n    is_a: related to at instance level\n    aliases: ['gene product sequence variation encoded by gene mutant', 'allelic variant of', 'gene product variant of gene product']\n    description: holds between a sequence variant and a nucleic acid entity\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - WIKIDATA:P3433\n\n  has sequence variant:\n    is_a: related to at instance level\n    inverse: is sequence variant of\n    domain: genomic entity\n    range: sequence variant\n\n  is missense variant of:\n    is_a: is sequence variant of\n    description: holds between a gene  and a sequence variant, such the sequence variant\n      results in a different amino acid sequence but where the length is preserved.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001583\n\n  has missense variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is missense variant of\n\n  is synonymous variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the coding sequence of the gene, but results in the same amino acid sequence\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001819\n\n  has synonymous variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is synonymous variant of\n    aliases: ['stop gained']\n\n  is nonsense variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      results in a premature stop codon\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    broad_mappings:\n       # Term definition broader than nonsense codon: A sequence variant whereby\n       # the gene product has diminished or abolished function.\n      - SO:0002054\n\n  has nonsense variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is nonsense variant of\n\n  is frameshift variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      causes a disruption of the translational reading frame, because the number of\n      nucleotides inserted or deleted is not a multiple of three.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001589\n    aliases: ['frameshift variant', 'start lost', 'stop lost']\n\n  has frameshift variant:\n    is_a: has sequence variant\n    inverse: is frameshift variant of\n    domain: genomic entity\n    range: sequence variant\n    aliases: ['splice region variant', 'splice acceptor variant', 'splice donor variant']\n\n  is splice site variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, such the sequence variant\n      is in the canonical splice site of one of the gene's exons.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - SO:0001629\n\n\n  has splice site variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is splice site variant of\n    aliases: ['downstream gene variant', 'upstream gene variant']\n\n  is nearby variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene sequence that the variant\n      is genomically close to.\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n\n  has nearby variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is nearby variant of\n    aliases: ['intron variant', '3 prime UTR variant', '5 prime UTR variant', '5 prime UTR premature start codon gain variant', 'non coding transcript exon variant']\n\n  is non coding variant of:\n    is_a: is sequence variant of\n    description: holds between a sequence variant and a gene, where the variant does\n      not affect the coding sequence\n    domain: sequence variant\n    range: genomic entity\n    annotations:\n      canonical_predicate: true\n\n  has non coding variant:\n    is_a: has sequence variant\n    domain: genomic entity\n    range: sequence variant\n    inverse: is non coding variant of\n\n   # relating disease to process\n\n  disease has basis in:\n    description: A relation that holds between a disease and an entity where the state\n      of the entity has contribution to the disease.\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n       # These two MONDO terms seem more particular than the predicate\n      - MONDO:disease_has_basis_in_development_of\n      - MONDO:disease_has_basis_in_accumulation_of\n\n  occurs in disease:\n    is_a: related to at instance level\n    inverse: disease has basis in\n\n\n  has adverse event:\n    is_a: affects\n    aliases: ['adverse effect']\n    description: >-\n      An untoward medical occurrence in a patient or clinical investigation subject that happens during treatment\n      with a therapeutic agent. Adverse events may be caused by something\n      other than the drug or therapy being given and may include abnormal laboratory finding, symptoms, or\n      diseases temporally associated with the treatment, whether or not considered related to the treatment.\n      Adverse events are unintended effects that occur when a medication is administered correctly.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n\n  adverse event of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has adverse event\n\n  has side effect:\n    aliases: ['adverse drug reaction']\n    is_a: affects\n    description: >-\n      An unintended, but predictable, secondary effect shown to be correlated with a therapeutic agent, drug or treatment.\n      Side effects happen at normal, recommended doses or treatments, and are unrelated to the intended purpose of\n      the medication.\n    notes: >-\n      Side effects are listed on drug labels. There can be positive side effects, while adverse events are always negative.\n      Aeolus, Sider are both resources that provide side effects.\n    domain: chemical or drug or treatment\n    range: disease or phenotypic feature\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C2861  # side effect\n\n  is side effect of:\n    is_a: affected by\n    domain: disease or phenotypic feature\n    range: chemical or drug or treatment\n    inverse: has side effect\n\n  contraindicated in:\n    is_a: related to at instance level\n    description: >-\n      Holds between a substance, procedure, or activity and a medical condition or circumstance, where an authority\n      has established that the substance, procedure, or activity should not be applied as an intervention in patients\n      with the condition or circumstance because it can result in detrimental outcomes.\n    notes: >-\n      This predicate relates the intervention with a specific disease, phenotype, or other medical circumstance that\n      puts patients at high risk for detrimental outcomes.  This may be a different condition from the one that the\n      drug would be used to treat (e.g. pseudoephedrine is contraindicated in people with high-blood pressure as\n      a treatment for nasal congestion), a biological state (e.g. isotretinoin is contraindicated in people who\n      are pregnant as a treatment for acne), or being on a different medication (e.g. aspirin is contraindicated\n      in people taking warfarin as a preventative treatment for stroke).\n    domain: chemical or drug or treatment\n    range: biological entity\n    annotations:\n      canonical_predicate: true\n      opposite_of: treats\n    exact_mappings:\n      - NCIT:C37933\n\n  chemical entity or drug or treatment:\n    description: >-\n      A union of chemical entities and children, and drug or treatment.\n    mixin: true\n\n  has contraindication:\n    is_a: related to at instance level\n    domain: biological entity\n    range: chemical or drug or treatment\n    inverse: contraindicated in\n\n   # The remaining new slots are here because we ran across them somewhere and\n   # they didn't seem to map well to anything else.\n\n  has not completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of,\n      but has not completed\n    exact_mappings:\n      - CL:has_not_completed\n    annotations:\n      opposite_of: has completed\n      canonical_predicate: true\n\n  not completed by:\n    is_a: related to at instance level\n    inverse: has not completed\n\n  has completed:\n    is_a: related to at instance level\n    description: holds between an entity and a process that the entity is capable of\n      and has completed\n    annotations:\n      canonical_predicate: true\n      opposite_of: has not completed\n    exact_mappings:\n      - CL:has_completed\n\n  completed by:\n    is_a: related to at instance level\n    inverse: has completed\n\n\n  in linkage disequilibrium with:\n    is_a: related to at instance level\n    description: holds between two sequence variants, the presence of which are correlated\n      in a population\n    symmetric: true\n    annotations:\n      canonical_predicate: true\n    exact_mappings:\n      - NCIT:C16798\n\n  has increased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has decreased amount\n    narrow_mappings:\n      - CL:has_high_plasma_membrane_amount\n\n  increased amount of:\n    is_a: related to at instance level\n    inverse: has increased amount\n\n  has decreased amount:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has increased amount\n    narrow_mappings:\n      - CL:has_low_plasma_membrane_amount\n\n  decreased amount in:\n    is_a: related to at instance level\n    inverse: has decreased amount\n\n  lacks part:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n      opposite_of: has part\n    exact_mappings:\n      - CL:lacks_part\n      - PR:lacks_part\n    narrow_mappings:\n      - CL:lacks_plasma_membrane_part\n\n  missing from:\n    is_a: related to at instance level\n    inverse: lacks part\n\n  develops from:\n    is_a: related to at instance level\n    annotations:\n      canonical_predicate: true\n    close_mappings:\n       # RTX mapping seems to be inverse of 'biolink:develops_from'\n      - RO:0002203\n      - FMA:develops_into\n    exact_mappings:\n      - BTO:develops_from\n      - DDANAT:develops_from\n      - FMA:develops_from\n      - RO:0002202\n    narrow_mappings:\n      - RO:0002207\n      - RO:0002225  # x develops from part of y if and only if there exists some z such that x develops from z and z is part of y\n      - RO:0002226  # x develops_in y if x is located in y whilst x is developing\n\n  develops into:\n    is_a: related to at instance level\n    inverse: develops from\n\n  in taxon:\n    aliases: ['instance of', 'is organism source of gene product', 'organism has gene', 'gene found in organism', 'gene product has organism source']\n    is_a: related to at instance level\n    domain: thing with taxon\n    range: organism taxon\n    annotations:\n      canonical_predicate: true\n    description: >-\n      connects an entity to its taxonomic classification. Only certain kinds\n      of entities can be taxonomically classified; see 'thing with taxon'\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - RO:0002162\n      - WIKIDATA_PROPERTY:P703\n    narrow_mappings:\n      - RO:0002160\n\n  in taxon label:\n    is_a: node property\n    domain: thing with taxon\n    range: label type\n    description: >-\n      The human readable scientific name for the taxon of the entity.\n    in_subset:\n      - translator_minimal\n    exact_mappings:\n      - WIKIDATA_PROPERTY:P225\n    annotations:\n      denormalized: true\n\n  taxon of:\n    is_a: related to at instance level\n    inverse: in taxon\n    domain: organism taxon\n    range: thing with taxon\n\n  has molecular consequence:\n    is_a: related to at instance level\n    aliases: ['allele has activity']\n    description: >-\n      connects a sequence variant to a class describing the molecular\n      consequence. E.g.  SO:0001583\n    range: ontology class\n    annotations:\n      canonical_predicate: true\n    narrow_mappings:\n      - NCIT:allele_has_activity\n\n  is molecular consequence of:\n    is_a: related to at instance level\n    domain: ontology class\n    inverse: has molecular consequence\n\n   ## --------------------\n   ## ASSOCIATION SLOTS\n   ## --------------------\n\n  association slot:\n    abstract: true\n    domain: association\n    aliases: ['edge property', 'statement property', 'node qualifier', 'edge qualifier', 'statement qualifier']\n    description: >-\n      any slot that relates an association to another entity\n\n  qualifier:\n    is_a: association slot\n    description: >-\n      grouping slot for all qualifiers on an edge.  useful for testing compliance with association classes\n    in_subset:\n      - translator_minimal\n\n  original subject:\n    is_a: association slot\n    description: >-\n      used to hold the original subject of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original object:\n    is_a: association slot\n    description: >-\n      used to hold the original object of a relation (or predicate) that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n\n  original predicate:\n    aliases: ['original relation', 'relation']\n    is_a: association slot\n    description: >-\n      used to hold the original relation/predicate that an external knowledge\n      source uses before transformation to match the biolink-model specification.\n    id_prefixes:\n      - RO\n      - BSPO\n      - SIO\n    domain: association\n    range: uriorcurie\n\n  subject closure:\n    is_a: association slot\n    description: >-\n      Used to hold the subject closure of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    annotations:\n      denormalized: true\n\n  object closure:\n    is_a: association slot\n    description: >-\n      Used to hold the object closure of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    examples:\n      - value: [\"MONDO:0000167\", \"MONDO:0005395\"]\n        description: >-\n          The object closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          diseases that are ancestors of 'breast cancer' in the\n          MONDO ontology.  Note: typically the \"subclass of\" and \"part of\"\n          relations are used to construct the closure, but other relations\n          may be used as well.\n    annotations:\n      denormalized: true\n\n  subject category:\n    is_a: association slot\n    description: >-\n      Used to hold the biolink class/category of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: false\n    domain: association\n    range: ontology class\n    examples:\n      - value: \"biolink:Gene\"\n        description: >-\n          The subject category of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is 'biolink:Gene'.\n    annotations:\n      denormalized: true\n\n  object category:\n    is_a: association slot\n    description: >-\n      Used to hold the biolink class/category of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: false\n    domain: association\n    range: ontology class\n    examples:\n      - value: \"biolink:Disease\"\n        description: >-\n            The object category of the association between the gene\n            'BRCA1' and the disease 'breast cancer' is 'biolink:Disease'.\n    annotations:\n      denormalized: true\n\n  subject category closure:\n    is_a: association slot\n    description: >-\n      Used to hold the subject category closure of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    range: ontology class\n    examples:\n      - value: ['biolink:Gene\", \"biolink:NamedThing']\n        description: >-\n          The subject category closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          biolink classes that are ancestors of 'biolink:Gene' in the\n          biolink model.  Note: typically the \"subclass of\" and \"part of\"\n          relations are used to construct the closure, but other relations\n          may be used as well.\n    annotations:\n      denormalized: true\n\n  object category closure:\n    is_a: association slot\n    description: >-\n      Used to hold the object category closure of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    range: ontology class\n    examples:\n      - value: ['biolink:Disease\", \"biolink:NamedThing']\n        description: >-\n          The object category closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          biolink classes that are ancestors of 'biolink:Disease' in the\n          biolink model.  Note: typically the \"subclass of\" and \"part of\"\n          relations are used to construct the closure, but other relations\n          may be used as well.\n    annotations:\n      denormalized: true\n\n  subject label closure:\n    is_a: association slot\n    description: >-\n      Used to hold the subject label closure of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    range: string\n    examples:\n      - value: [\"BRACA1\"]\n        description: >-\n          The subject label closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          labels that are ancestors of 'BRCA1' in the\n          biolink model.\n    annotations:\n      denormalized: true\n\n  object label closure:\n    is_a: association slot\n    description: >-\n      Used to hold the object label closure of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: true\n    domain: association\n    range: string\n    examples:\n      - value: \"breast cancer\"\n        description: >-\n          The object label closure of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is the set of all\n          labels that are ancestors of 'breast cancer' in the\n          biolink model.\n      - value: \"cancer\"\n    annotations:\n      denormalized: true\n\n  subject namespace:\n    aliases: [\"subject prefix\"]\n    is_a: association slot\n    description: >-\n      Used to hold the subject namespace of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: false\n    domain: association\n    range: string\n    examples:\n      - value: \"NCBIGene\"\n        description: >-\n          The subject namespace of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is 'NCBIGene'.\n    annotations:\n      denormalized: true\n\n  object namespace:\n    aliases: [\"object prefix\"]\n    is_a: association slot\n    description: >-\n      Used to hold the object namespace of an association. This is a denormalized\n      field used primarily in the SQL serialization of a knowledge graph via KGX.\n    multivalued: false\n    domain: association\n    range: string\n    examples:\n      - value: \"MONDO\"\n        description: >-\n          The object namespace of the association between the gene\n          'BRCA1' and the disease 'breast cancer' is 'MONDO'.\n    annotations:\n      denormalized: true\n\n  subject:\n    is_a: association slot\n    local_names:\n      ga4gh: annotation subject\n      neo4j: node with outgoing relationship\n    description: >-\n      connects an association to the subject of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    domain: association\n    range: named thing\n    slot_uri: rdf:subject\n    exact_mappings:\n      - owl:annotatedSource\n      - OBAN:association_has_subject\n\n  object:\n    is_a: association slot\n    description: >-\n      connects an association to the object of the association.\n      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.\n    required: true\n    domain: association\n    range: named thing\n    local_names:\n      ga4gh: descriptor\n      neo4j: node with incoming relationship\n    slot_uri: rdf:object\n    exact_mappings:\n      - owl:annotatedTarget\n      - OBAN:association_has_object\n\n  predicate:\n    is_a: association slot\n    description: >-\n      A high-level grouping for the relationship type. AKA minimal predicate.\n      This is analogous to category for nodes.\n    domain: association\n    notes: >-\n      Has a value from the Biolink related_to hierarchy. In RDF,  this\n      corresponds to rdf:predicate and in Neo4j this corresponds to the\n      relationship type. The convention is for an edge label in snake_case\n      form. For example, biolink:related_to, biolink:causes, biolink:treats\n    range: predicate type\n    required: true\n    local_names:\n      ga4gh: annotation predicate\n      translator: predicate\n    slot_uri: rdf:predicate\n    exact_mappings:\n      - owl:annotatedProperty\n      - OBAN:association_has_predicate\n\n  logical interpretation:\n    is_a: association slot\n    required: false\n    domain: association\n    range: LogicalInterpretationEnum\n    exact_mappings:\n      - os:LogicalInterpretation\n\n  relation:\n    deprecated: true\n\n  negated:\n    is_a: association slot\n    range: boolean\n    description: >-\n      if set to true, then the association is negated i.e. is not true\n\n  has confidence level:\n    is_a: association slot\n    range: confidence level\n    description: >-\n      connects an association to a qualitative term denoting the level of confidence\n\n  has evidence:\n    is_a: association slot\n    range: evidence type\n    description: >-\n      connects an association to an instance of supporting evidence\n    exact_mappings:\n      - RO:0002558\n    multivalued: true\n\n  has supporting study result:\n    is_a: association slot\n    description: >-\n      connects an association to an instance of supporting study result\n\n  log odds ratio:\n    is_a: association slot\n    description: >-\n      The logarithm of the odds ratio, or the ratio of the odds of event Y occurring in an exposed group versus the\n      odds of event Y occurring in a non-exposed group.\n    range: float\n\n  log odds ratio 95 ci:\n    is_a: association slot\n    description: >-\n      The ninety-five percent confidence range in which the true log odds ratio for the sample population falls.\n    range: float\n\n  total sample size:\n    is_a: dataset count\n    description: >-\n      The total number of patients or participants within a sample population.\n    range: integer\n\n\n  mechanism of action:\n    is_a: association slot\n    range: boolean\n    description: >-\n      a boolean flag to indicate if the edge is part of a path or subgraph of a knowledge graph that constitutes\n      the mechanism of action for a result.\n    exact_mappings:\n      - NCIT:C54680\n      - MI:2044\n      - LOINC:MTHU019741\n\n  knowledge source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which the knowledge expressed in an Association was\n      retrieved, directly or indirectly. This can be any resource through which the\n      knowledge passed on its way to its currently serialized form. In practice,\n      implementers should use one of the more specific subtypes of this generic property.\n    close_mappings:\n      - pav:providedBy\n\n  provided by:\n    is_a: node property\n    description: >-\n      The value in this node property represents the knowledge provider that created or assembled the\n      node and all of its attributes.  Used internally to represent how a particular node made its way into a\n      knowledge provider or graph.\n    multivalued: true\n\n  primary knowledge source:\n    is_a: knowledge source\n    description: >-\n      The most upstream source of the knowledge expressed in an Association that an\n      implementer can identify.  Performing a rigorous analysis of upstream data providers is expected; every effort\n      is made to catalog the most upstream source of data in this property.  Only one data source should be declared\n      primary in any association.  \"aggregator knowledge source\" can be used to capture non-primary sources.\n    notes: >-\n      For example: a single ChemicalToGene Edge originally curated by ClinicalTrials.org, is aggregated by ChEMBL, then\n      incorporated into the MolePro KP, then sent via TRAPI message to the ARAGORN ARA, and finally sent to\n      the NCATS ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   MolePro  --retrieved_from--> ChEMBL --retrieved_from-->  ClinicalTrials.gov\n      The \"primary knowledge source\" for this edge is \"infores:clinical-trials-gov\".  \"infores:chembl\" and \"infores:molecular_data_provider\"\n      are listed in the \"aggregator knowledge source\" property.\n    multivalued: false\n\n  aggregator knowledge source:\n    is_a: knowledge source\n    description: >-\n      An intermediate aggregator resource from which knowledge expressed in an Association was\n      retrieved downstream of the original source, on its path to its current serialized form.\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP,\n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse,\n      the Edge is passed to the Ranking Agent’s ARAGORN ARA,\n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of\n      data from which the knowledge was derived.\n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data source:\n    is_a: association slot\n    description: >-\n      An Information Resource from which data was retrieved and subsequently used as\n      evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    multivalued: true\n    notes: >-\n      For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP,\n      through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse,\n      the Edge is passed to the Ranking Agent’s ARAGORN ARA,\n      and then on to the ARS. The retrieval path for this Edge is as follows:\n      ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse\n      This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of\n      data from which the knowledge was derived.\n      The \"primary knowledge source\" for this edge is \"infores:icees-asthma\". A \"supporting data source\" for this KP-\n      generated knowledge is \"infores:unc-cdw-health.\"  The \"aggregator knowledge source\" for this data is \"infores:aragorn-ara\"\n\n  supporting data set:\n    is_a: association slot\n    description: >-\n      A set of data used as evidence to generate the knowledge expressed in an Association (e.g. through\n      computation on, reasoning or inference over the retrieved data).\n    multivalued: true\n\n  chi squared statistic:\n    is_a: association slot\n    range: float\n    description: >-\n      represents the chi-squared statistic computed from observations\n    exact_mappings:\n      - STATO:0000030\n\n  p value:\n    aliases: ['unadjusted p value']\n    is_a: association slot\n    range: float\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    exact_mappings:\n      - OBI:0000175\n      - NCIT:C44185\n      - EDAM-DATA:1669\n\n  evidence count:\n    is_a: association slot\n    description: >-\n      The number of evidence instances that are connected to an association.\n    range: integer\n\n  dataset count:\n    is_a: association slot\n    description: >-\n      The total number of instances (e.g., number of patients, number of rows, etc) in a dataset/cohort.\n    range: integer\n    examples:\n      - value: 100000\n\n  concept count subject:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the subject slot of an association.\n    range: integer\n    examples:\n      - value: 489\n\n  concept count object:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      the concept in the object slot of an association.\n    range: integer\n\n  concept pair count:\n    is_a: association slot\n    description: >-\n      The number of instances in a dataset/cohort whose records contain\n      both the subject and object concept of an association.\n    range: integer\n    examples:\n      - value: 1731\n\n  expected count:\n    is_a: association slot\n    description: >-\n      The expected (calculated) number of instances in a dataset/cohort whose records contain both the subject and\n      object concept of an association if the subject and object concepts are independent.\n\n  relative frequency subject:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in\n      records within a dataset/cohort, relative to the frequency at which the subject\n      concept appears in these same records.\n    range: float\n    examples:\n      - value: 0.01840490798\n\n  relative frequency object:\n    is_a: association slot\n    description: >-\n      The frequency at which subject and object concepts co-occur in\n      records within a dataset/cohort, relative to the frequency at which the object\n      concept appears in these same records.\n    range: string\n\n  relative frequency subject confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_subject calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  relative frequency object confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the relative_frequency_object calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: string\n\n  adjusted p value:\n    is_a: p value\n    description: >-\n      The adjusted p-value is the probability of obtaining test results\n      at least as extreme as the results actually observed, under the assumption that\n      the null hypothesis is correct, adjusted for multiple comparisons.\n      P is always italicized and capitalized. The actual P value* should be expressed (P=. 04)\n      rather than expressing a statement of inequality (P<. 05), unless P<.\n    range: float\n\n  bonferonni adjusted p value:\n    is_a: adjusted p value\n    description: >-\n      The Bonferroni correction is an adjustment made to P values when several dependent or independent\n      statistical tests are being performed simultaneously on a single data set. To perform a Bonferroni\n      correction, divide the critical P value (α) by the number of comparisons being made.  P is always italicized and\n      capitalized. The actual P value* should be expressed (P=. 04) rather than expressing a statement of inequality\n      (P<. 05), unless P<.\n    range: float\n    examples:\n      - value: 0.018\n\n  supporting text:\n    is_a: association slot\n    description: The segment of text from a document that supports the mined assertion.\n    multivalued: true\n    range: string\n    examples:\n      - value: The administration of 50g/ml bupivacaine promoted maximum breast cancer.\n\n  supporting documents:\n    deprecated: true\n    is_a: association slot\n    description: >-\n      One or more referenceable documents that report the statement expressed in an Association, or provide\n      information used as evidence supporting this statement.\n    range: uriorcurie\n    multivalued: true\n    examples:\n      - value: PMID:12345678\n\n  subject location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the subject concept of the extracted assertion.\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  object location in text:\n    is_a: association slot\n    description: >-\n      Character offsets for the text span(s) in the supporting text corresponding\n      to the object concept of the extracted assertion\n    range: integer\n    examples:\n      - value: 15\n    multivalued: true\n\n  extraction confidence score:\n    is_a: association slot\n    description: >-\n      A quantitative confidence value that represents the probability of\n      obtaining a result at least as extreme as that actually obtained,\n      assuming that the actual value was the result of chance alone.\n    range: integer\n    examples:\n      - value: 15\n\n  supporting document type:\n    is_a: association slot\n    description: >-\n      The document type (e.g., Journal Article, Case Study, Preprint) for\n      the supporting document used in a Text Mining Result.\n    range: string\n    examples:\n      - value: Journal Article\n\n  supporting document year:\n    is_a: association slot\n    description: >-\n      The document year (typically the publication year) for the supporting\n      document used in a Text Mining Result.\n    range: integer\n    examples:\n      - value: 1999\n\n  supporting text section type:\n    is_a: association slot\n    description: >-\n      The section of the supporting text of a Text Mining Result within\n      the supporting document. This is in the form of the name of the document section\n      (e.g., Abstract, Introduction) that contains the supporting text.\n    range: string\n    examples:\n      - value: Introduction\n\n  ln ratio:\n    is_a: association slot\n    description: the natural log of the ratio of co-occurrence to expected\n    range: float\n    examples:\n      - value: 2.922827136\n\n  ln ratio confidence interval:\n    is_a: association slot\n    description: >-\n      The 99% confidence interval for the ln_ratio calculation\n      (i.e. the range of values within which the true value has a 99% chance of falling)\n    range: float\n    examples:\n      - value: 2.922827136\n\n  interacting molecules category:\n    is_a: association slot\n    range: ontology class\n    exact_mappings:\n      - MI:1046\n    values_from:\n      - MI\n    examples:\n      - value: MI:1048\n        description: smallmolecule-protein\n\n  expression site:\n    description: >-\n      location in which gene or protein expression takes place.\n      May be cell, tissue, or organ.\n    is_a: association slot\n    range: anatomical entity\n    examples:\n      - value: UBERON:0002037\n        description: cerebellum\n\n  phenotypic state:\n    description: >-\n      in experiments (e.g. gene expression) assaying diseased or unhealthy\n      tissue, the phenotypic state can be put here, e.g. MONDO ID.\n      For healthy tissues, use XXX.\n    is_a: association slot\n    range: disease or phenotypic feature\n\n\n  publications:\n    aliases: ['supporting publications', 'supporting documents']\n    description: >-\n      One or more publications that report the statement expressed in an\n      Association, or provide information used as evidence supporting this statement.\n    comments: >-\n        The notion of a ‘Publication’ is considered broadly to include any\n        document made available for public consumption. It covers journal issues,\n        individual articles, and books - and also things like article pre-prints,\n        white papers, patents, drug labels, web pages, protocol documents, etc.\n    is_a: association slot\n    multivalued: true\n    range: publication\n\n  associated environmental context:\n    is_a: association slot\n    description: >-\n      An attribute that can be applied to an association where the association holds between two entities\n      located or occurring in a particular environment. For example, two microbial taxa may interact in the context of\n      a human gut; a disease may give rise to a particular phenotype in a particular environmental exposure.\n       # TODO: add examples of values for this property.\n\n  sequence localization attribute:\n    is_a: association slot\n    domain: genomic sequence localization\n    description: >-\n      An attribute that can be applied to a genome sequence localization edge. These edges\n      connect a nucleic acid entity such as an exon to an entity such as a chromosome. Edge properties are used\n      to ascribe specific positional information and other metadata to the localization. In pragmatic terms\n      this can be thought of as columns in a GFF3 line.\n\n  interbase coordinate:\n    is_a: sequence localization attribute\n    aliases: ['zero-based', 'half-open', 'space-based']\n    description: >-\n      A position in interbase coordinates. Interbase coordinates start at position 0 instead of position 1.\n      This is applied to a sequence localization edge.\n    range: integer\n\n  start interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 0).\n    close_mappings:\n      - faldo:begin\n    annotations:\n      opposite_of: end interbase coordinate\n\n  end interbase coordinate:\n    is_a: interbase coordinate\n    description: >-\n      The position at which the subject nucleic acid entity ends\n      on the chromosome or other entity to which it is located on.\n    close_mappings:\n      - faldo:end\n    annotations:\n      opposite_of: start interbase coordinate\n\n  start coordinate:\n    is_a: base coordinate\n    aliases: ['start']\n    description: >-\n      The position at which the subject genomic entity starts\n      on the chromosome or other entity to which it is located on.\n      (ie: the start of the sequence being referenced is 1).\n    exact_mappings:\n      - gff3:start\n    close_mappings:\n      - faldo:begin\n\n  end coordinate:\n    is_a: base coordinate\n    aliases: ['end']\n    description: >-\n      The position at which the subject genomic entity ends\n      on the chromosome or other entity to which it is located on.\n    exact_mappings:\n      - gff3:end\n    close_mappings:\n      - faldo:end\n\n  genome build:\n    is_a: sequence localization attribute\n    description: >-\n      The version of the genome on which a feature is located.\n      For example, GRCh38 for Homo sapiens.\n    range: StrandEnum\n    exact_mappings:\n      - gff3:strand\n\n  strand:\n    is_a: sequence localization attribute\n    description: >-\n      The strand on which a feature is located. Has a value of '+'\n      (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).\n    range: StrandEnum\n    exact_mappings:\n      - gff3:strand\n\n  phase:\n    is_a: sequence localization attribute\n    domain: coding sequence\n    description: >-\n      The phase for a coding sequence entity. For example, phase of a\n      CDS as represented in a GFF3 with a value of 0, 1 or 2.\n    range: PhaseEnum\n    exact_mappings:\n      - gff3:phase\n\n  clinical approval status:\n    is_a: association slot\n    description: >-\n    range: ClinicalApprovalStatusEnum\n\n  max research phase:\n    is_a: association slot\n    range: MaxResearchPhaseEnum\n\n  supporting study metadata:\n    is_a: association slot\n    description: >-\n      Information about a study used to generate information used as evidence to support the knowledge expressed in an\n      Association. In practice, data creators should use one of the more specific subtypes of this property.\n    abstract: true\n\n  supporting study method type:\n    is_a: supporting study metadata\n    description: >-\n      A type of method that was applied in a study used to generate the information used as evidence (e.g. a type of\n      experimental assay, or statistical calculation, or computational analysis).\n    range: uriorcurie\n\n  supporting study method description:\n    is_a: supporting study metadata\n    description: >-\n      A uri or curie pointing to information about the methodology used to generate data supporting an Association.\n    range: uriorcurie\n\n  supporting study size:\n    is_a: supporting study metadata\n    description: >-\n      The sample size used in a study that provided evidence for the association (e.g. 'n' of a cohort for a\n      clinical study).\n    range: integer\n\n  supporting study cohort:\n    is_a: supporting study metadata\n    description: >-\n      A description of a study population/cohort that was interrogated to provide evidence for the association\n      (e.g. the inclusion and exclusion criteria).\n    range: string\n\n  supporting study date range:\n    is_a: supporting study metadata\n    description: >-\n      The date range over which data was collected in a study that provided evidence for an Association.\n    range: string\n\n  supporting study context:\n    is_a: supporting study metadata\n    description: >-\n      A term or terms describing the experimental setting/context in which evidence supporting the Association was\n      generated ('context' may be defined by many factors, including taxon, model system (e.g. cell line type), tissue\n      type, disease, etc.).\n    range: string\n\n  knowledge level:\n    aliases: ['knowledge type']\n    is_a: association slot\n    description: >-\n      Describes the level of knowledge expressed in a statement, based on the\n      reasoning or analysis methods used to generate the statement, or the\n      scope or specificity of what the statement expresses to be true.\n    notes: >-\n      The notion of a 'level' of knowledge can in one sense relate to the strength \n      of a statement - i.e. how confident we are that it says something true about\n      our domain of discourse. Here, we can generally consider Assertions to be \n      stronger than Entailments to be stronger than Predictions. \n      But in another sense, 'level' of knowledge can refer to the scope or specificity of\n      what a statement expresses - on a spectrum from context-specific results of a data\n      analysis, to generalized assertions of knowledge or fact. Here, Statistical \n      Associations and  Observations represent more foundational statements that are only \n      slightly removed from the data on which they are based (the former reporting the \n      direct results of  an analysis in terms of correlations between variables in the data,\n      and the latter describing phenomena that were observed/reported to have occurred).\n    domain: association\n    range: KnowledgeLevelEnum\n    multivalued: false\n    required: true\n    ifabsent: string(not_provided)\n    examples:\n      - value: knowledge_assertion\n      - value: prediction\n      - value: statistical_association\n\n  agent type:\n    is_a: association slot\n    description: >-\n        Describes the high-level category of agent who originally generated a \n        statement of knowledge or other type of information.\n    notes: >-\n        Note that this property indicates the type of agent who produced a \n        final statement of knowledge, which is often different from the \n        agent oragents who produced information used as evidence to \n        support generation of this knowledge. For example, if a human curator\n        concludes that a particular gene variant causes a medical condition -\n        based on their interpretation of information produced by computational \n        modeling tools, automated data analysis pipelines, and robotic laboratory\n        assay systems - the agent_type for this statement is 'manual agent' - \n        despite all of the evidence being created by automated agents. But if any\n        of these systems is programmed to generate knowledge statements \n        directly and without human assistance, the statement would be attributed \n        to an 'automated_agent'.\n    domain: association\n    range: AgentTypeEnum\n    multivalued: false\n    required: true\n    ifabsent: string(not_provided)\n    examples:\n      - value: manual_agent\n      - value: automated_agent\n      - value: computational_model\n      - value: text_mining_agent\n\nclasses:\n\n  mapping collection:\n    description: >-\n      A collection of deprecated mappings.\n    abstract: true\n    slots:\n      - predicate mappings\n    tree_root: true\n\n  predicate mapping:\n    description: >-\n      A deprecated predicate mapping object contains the deprecated predicate and an example of the rewiring that should\n      be done to use a qualified statement in its place.\n    slots:\n      - mapped predicate\n      - subject aspect qualifier\n      - subject direction qualifier\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - predicate\n      - qualified predicate\n      - object aspect qualifier\n      - object direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object derivative qualifier\n      - object context qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - species context qualifier\n      - exact match\n      - narrow match\n      - broad match\n\n\n   ## ----------\n   ## ATTRIBUTES\n   ## ----------\n\n   ## Ontology Classes\n\n  ontology class:\n    mixin: true\n    slots:\n      - id\n    description: >-\n      a concept or class in an ontology, vocabulary or thesaurus. Note that nodes in\n      a biolink compatible KG can be considered both instances of biolink classes, and\n      OWL classes in their own right. In general you should not need to use this class directly.\n      Instead, use the appropriate biolink class. For example, for the GO concept of endocytosis (GO:0006897),\n      use bl:BiologicalProcess as the type.\n    exact_mappings:\n      - owl:Class\n      - schema:Class\n    comments:\n      - >-\n        This is modeled as a mixin. 'ontology class' should not be the primary type of a\n        node in the KG. Instead you should use an informative bioloink category, such as AnatomicalEntity\n        (for Uberon classes), ChemicalSubstance (for CHEBI or CHEMBL), etc\n      - >-\n        Note that formally this is a metaclass. Instances of this class are instances in the graph,\n        but can be the object of 'type' edges. For example, if we had a node in the graph representing\n        a specific brain of a specific patient (e.g brain001), this could have a category of bl:Sample,\n        and by typed more specifically with an ontology class UBERON:nnn, which has as category bl:AnatomicalEntity\n    see_also:\n      - https://github.com/biolink/biolink-model/issues/486\n    examples:\n      - value: UBERON:0000955\n        description: >-\n          the class 'brain' from the Uberon anatomy ontology\n    id_prefixes:\n      - MESH\n      - UMLS\n      - KEGG.BRITE  ## br/ko number\n\n  annotation:\n    description: >-\n      Biolink Model root class for entity annotations.\n    abstract: true\n\n  quantity value:\n    is_a: annotation\n    description: >-\n      A value of an attribute that is quantitative and measurable,\n      expressed as a combination of a unit and a numeric value\n    slots:\n      - has unit\n      - has numeric value\n\n   # Alignment attempted of the biolink:Attribute model\n   # to the proposed TRAPI Release 1.1 Attribute schema, i.e.\n   #\n   # attribute_name: \"assertionAuthoredBy\",\n   # attribute_type: SEPIO:0000130,\n   # value: \"ORCID:12345\",\n   # value_type: \"wd:Q51044\",\n   # value_type_name: \"ORCID ID\"\n   # url: https://orcid.org/12345\n   # source: ORCID\n\n  attribute:\n    is_a: named thing\n    mixins:\n      - ontology class\n    description: >-\n      A property or characteristic of an entity.\n      For example, an apple may have properties such as color, shape, age, crispiness.\n      An environmental sample may have attributes such as depth, lat, long, material.\n    slots:\n      - name                    # 'attribute_name'\n      - has attribute type      # 'attribute_type'\n       # 'value', 'value_type', 'value_type_name'\n       # extracted from either of the next two slots\n      - has quantitative value\n      - has qualitative value\n      - iri                     # 'url'\n    slot_usage:\n      name:\n        description: >-\n          The human-readable 'attribute name' can be set to a string which reflects its context of\n          interpretation, e.g. SEPIO evidence/provenance/confidence annotation or it can default\n          to the name associated with the 'has attribute type' slot ontology term.\n    id_prefixes:\n      - EDAM-DATA\n      - EDAM-FORMAT\n      - EDAM-OPERATION\n      - EDAM-TOPIC\n    exact_mappings:\n      - SIO:000614\n    in_subset:\n      - samples\n\n  chemical role:\n    is_a: attribute\n    description: >-\n      A role played by the molecular entity or part thereof within a chemical context.\n    id_prefixes:\n      - CHEBI\n    exact_mappings:\n      - CHEBI:51086\n    examples:\n      - value: CHEBI:35469  # antidepressant role\n\n  biological sex:\n    is_a: attribute\n    exact_mappings:\n      - PATO:0000047\n\n  phenotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the phenotypic sex of the individual,\n      based upon the reproductive organs present.\n    exact_mappings:\n      - PATO:0001894\n\n  genotypic sex:\n    is_a: biological sex\n    description: >-\n      An attribute corresponding to the genotypic sex of the individual,\n      based upon genotypic composition of sex chromosomes.\n    exact_mappings:\n      - PATO:0020000\n\n  severity value:\n    deprecated: true\n    is_a: attribute\n    description: >-\n      describes the severity of a phenotypic feature or disease\n\n  relationship quantifier:\n    mixin: true\n\n  sensitivity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  specificity quantifier:\n    is_a: relationship quantifier\n    mixin: true\n\n  pathognomonicity quantifier:\n    is_a: specificity quantifier\n    description: >-\n      A relationship quantifier between a variant or symptom and a disease, which is\n      high when the presence of the feature implies the existence of the disease\n    mixin: true\n\n  frequency quantifier:\n    is_a: relationship quantifier\n    mixin: true\n    slots:\n      - has count\n      - has total\n      - has quotient\n      - has percentage\n\n  chemical or drug or treatment:\n    mixin: true\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - CHEBI\n      - MAXO\n\n   ## ------\n   ## THINGS\n   ## ------\n\n  entity:\n    description: >-\n      Root Biolink Model class for all things and informational relationships, real or imagined.\n    abstract: true\n    slots:\n      - id\n      - iri\n      - category\n      - type    # rdf:type\n      - name\n      - description\n      - has attribute\n      - deprecated\n       # evidence code(s)?\n\n  named thing:\n    is_a: entity\n    description: \"a databased entity or concept/class\"\n    slots:\n      - provided by\n      - xref\n      - full name\n      - synonym\n    slot_usage:\n      category:\n        required: true\n    exact_mappings:\n      - BFO:0000001\n      - WIKIDATA:Q35120\n       # UMLS Semantic Group \"Objects\"\n      - UMLSSG:OBJC\n       # Entity\n      - STY:T071\n      - dcid:Thing\n\n  relationship type:\n    is_a: ontology class\n    description: >-\n      An OWL property used as an edge label\n\n  taxonomic rank:\n    description: >-\n      A descriptor for the rank within a taxonomic classification.\n      Example instance: TAXRANK:0000017 (kingdom)\n    is_a: ontology class\n    id_prefixes:\n      - TAXRANK\n    mappings:\n      - WIKIDATA:Q427626\n\n  organism taxon:\n    aliases: ['taxon', 'taxonomic classification']\n    description: >-\n      A classification of a set of organisms. Example instances:\n      NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria).\n      Can also be used to represent strains or subspecies.\n    is_a: named thing\n    slots:\n      - has taxonomic rank\n    slot_usage:\n      has taxonomic rank:\n        range: taxonomic rank\n        multivalued: false\n        mappings:\n          - WIKIDATA:P105\n    values_from:\n      - NCBITaxon\n    exact_mappings:\n      - WIKIDATA:Q16521\n      - STY:T001\n      - bioschemas:Taxon\n    narrow_mappings:\n      - dcid:BiologicalSpecies\n    id_prefixes:\n      - NCBITaxon\n      - MESH\n      - UMLS\n    in_subset:\n      - model_organism_database\n\n   ## Temporal Entities\n\n  event:\n    is_a: named thing\n    description: >-\n      Something that happens at a given place and time.\n    exact_mappings:\n      - NCIT:C25499\n       # UMLS \"Event\"\n      - STY:T051\n\n   ## Administrative Entities\n\n  administrative entity:\n    is_a: named thing\n    abstract: true\n\n  study result:\n    abstract: true\n    description: >-\n      A collection of data items from a study that are about a particular study subject or experimental unit (the\n      'focus' of the Result) - optionally with context/provenance metadata that may be relevant to the interpretation\n      of this data as evidence.\n    notes:\n      The data/metadata included in a Study Result object are typically a subset of data from a larger study data set,\n      that are selected by a curator because they may be useful as evidence for deriving knowledge about a specific\n      focus of the study. The notion of a 'study' here is defined broadly to include any research activity at any\n      scale that is aimed at generating knowledge or hypotheses. This may include a single assay or computational\n      analyses, or a larger scale clinical trial or experimental research investigation.\n    is_a: information content entity\n\n  study:\n    description: a detailed investigation and/or analysis\n    is_a: activity\n    exact_mappings:\n      - NCIT:C63536\n    close_mappings:\n      - SIO:001066\n      - SEPIO:0000004\n    narrow_mappings:\n      - SIO:000994\n\n  study variable:\n    is_a: information content entity\n    description: a variable that is used as a measure in the investigation of a study\n    narrow_mappings:\n      - NCIT:C142192  # specifies clinical study\n    close_mappings:\n      - STATO:0000258\n      - SIO:000367\n\n  common data element:\n    is_a: information content entity\n    description: >-\n      A Common Data Element (CDE) is a standardized, precisely defined question, paired with a set of allowable\n      responses, used systematically across different sites, studies, or clinical trials to ensure consistent\n      data collection. Multiple CDEs (from one or more Collections) can be curated into Forms.\n      (https://cde.nlm.nih.gov/home)\n    close_mappings:\n      - NCIT:C19984\n\n   ## epc result sets\n  concept count analysis result:\n    is_a: study result\n    description: >-\n      A result of a concept count analysis.\n\n  observed expected frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a observed expected frequency analysis.\n\n  relative frequency analysis result:\n    is_a: study result\n    description: >-\n      A result of a relative frequency analysis.\n\n  text mining result:\n    is_a: study result\n    description: >-\n      A result of text mining.\n\n  chi squared analysis result:\n    is_a: study result\n    description: >-\n      A result of a chi squared analysis.\n\n  log odds analysis result:\n    is_a: study result\n    description: >-\n      A result of a log odds ratio analysis.\n\n  agent:\n    is_a: administrative entity\n    aliases: ['group']\n    description: >-\n      person, group, organization or project that provides\n      a piece of information (i.e. a knowledge association)\n    slots:\n      - affiliation\n      - address\n    exact_mappings:\n      - prov:Agent\n      - dct:Agent\n    narrow_mappings:\n       # Organization\n      - UMLSSG:ORGA\n      - STY:T092\n       # Health Care Related Organization\n      - STY:T093\n       # Professional Society\n      - STY:T094\n       # Self-help or Relief Organization\n      - STY:T095\n       # Group\n      - STY:T096\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Different classes of agents have distinct preferred identifiers.\n          For publishers, use the ISBN publisher code.\n          See https://grp.isbn-international.org/ for publisher code lookups.\n          For editors, authors and  individual providers, use the individual's\n          ORCID if available; Otherwise, a ScopusID, ResearchID or\n          Google Scholar ID ('GSID') may be used if the author ORCID is unknown.\n          Institutional agents could be identified by an\n          International Standard Name Identifier ('ISNI') code.\n        values_from:\n           # CURIE space for publishers\n          - isbn\n           # CURIE space for authors\n          - ORCID\n          - ScopusID\n          - ResearchID\n          - GSID\n           # Institutional agents\n          - isni\n      name:\n        description: >-\n          it is recommended that an author's 'name' property\n          be formatted as \"surname, firstname initial.\"\n    id_prefixes:\n      - isbn\n      - ORCID\n      - ScopusID\n      - ResearchID\n      - GSID\n      - isni\n\n   ## General Information Entities\n\n  information content entity:\n    aliases: ['information', 'information artefact', 'information entity']\n    abstract: true\n    is_a: named thing\n    description: >-\n      a piece of information that typically describes\n      some topic of discourse or is used as support.\n    slots:\n      - license\n      - rights\n      - format\n      - creation date\n    id_prefixes:\n      - doi\n    exact_mappings:\n      - IAO:0000030\n    narrow_mappings:\n       # UMLS Semantic Group \"Concepts & Ideas\"\n      - UMLSSG:CONC\n       # Conceptual Entity\n      - STY:T077\n       # Idea or Concept\n      - STY:T078\n       # Temporal Concept\n      - STY:T079\n       # Qualitative Concept\n      - STY:T080\n       # Quantitative Concept\n      - STY:T081\n       # Spatial Concept\n      - STY:T082\n       # Regulation or Law\n      - STY:T089\n       # Group Attribute\n      - STY:T102\n       # Functional Concept\n      - STY:T169\n       # Language\n      - STY:T171\n       # Classification\n      - STY:T185\n\n  dataset:\n    description: >-\n      an item that refers to a collection of data from a data source.\n    is_a: information content entity\n    exact_mappings:\n      - IAO:0000100\n      - dctypes:Dataset\n      - schema:dataset\n      - dcid:Dataset\n\n  dataset distribution:\n    is_a: information content entity\n    description: >-\n      an item that holds distribution level information about a dataset.\n    slots:\n      - distribution download url\n    exact_mappings:\n      - dcat:Distribution\n\n  dataset version:\n    description: >-\n      an item that holds version level information about a dataset.\n    is_a: information content entity\n    slots:\n      - has dataset\n      - ingest date\n      - has distribution\n\n  dataset summary:\n    description: >-\n      an item that holds summary level information about a dataset.\n    is_a: information content entity\n    slots:\n      - source web page\n      - source logo\n\n  confidence level:\n    is_a: information content entity\n    description: >-\n      Level of confidence in a statement\n    values_from:\n      - cio\n    exact_mappings:\n      - CIO:0000028\n       # statement confidence\n      - SEPIO:0000187\n    close_mappings:\n       # assertion confidence levels\n      - SEPIO:0000167\n\n  evidence type:\n    is_a: information content entity\n    aliases: ['evidence code']\n    description: >-\n      Class of evidence that supports an association\n    values_from:\n      - eco\n    exact_mappings:\n      - ECO:0000000\n\n   ## Publications\n\n   # TODO: to review additional ontology relating to Publications, such as http://www.sparontologies.net/ontologies\n  publication:\n    is_a: information content entity\n    description: >-\n      Any ‘published’ piece of information. Publications are considered broadly\n      to include any document or document part made available in print or on the\n      web - which may include scientific journal issues, individual articles, and\n      books - as well as things like pre-prints, white papers, patents, drug\n      labels, web pages, protocol documents,  and even a part of a publication if\n      of significant knowledge scope (e.g. a figure, figure legend, or section\n      highlighted by NLP).\n    slots:\n      - authors\n      - pages\n      - summary\n      - keywords\n      - mesh terms\n      - xref\n      - publication type\n     # In addition to embedded slots, instances of 'contributor association'\n     # may be used to more extensively document publisher, editor and author details\n    slot_usage:\n      id:\n        description: >-\n          Different kinds of publication subtypes will have different preferred\n          identifiers (curies when feasible). Precedence of identifiers for\n          scientific articles is as follows: PMID if available; DOI if not; actual\n          alternate CURIE otherwise. Enclosing publications (i.e. referenced by\n          'published in' node property) such as books and journals, should have\n          industry-standard identifier such as from ISBN and ISSN.\n      name:\n        description: >-\n          the 'title' of the publication is generally recorded in the 'name'\n          property (inherited from NamedThing). The field name 'title' is now also\n          tagged as an acceptable alias for the node property 'name' (just in case).\n      publication type:\n        required: true\n      pages:\n        multivalued: true\n        description: >-\n          When a 2-tuple of page numbers are provided, they represent\n          the start and end page of the publication within its parent publication context.\n          For books, this may be set to the total number of pages of the book.\n    exact_mappings:\n      - IAO:0000311\n    narrow_mappings:\n      - IAO:0000013\n       # UMLS Semantic Type \"Intellectual Product\"\n      - STY:T170\n    id_prefixes:\n      - PMID\n      - PMC\n      - doi\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book:\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Books should have industry-standard identifier such as from ISBN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'book'.\n    id_prefixes:\n      - isbn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  book chapter:\n    is_a: publication\n    slots:\n      - published in\n      - volume\n      - chapter\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent book containing the chapter\n          should have industry-standard identifier from ISBN.\n    in_subset:\n      - model_organism_database\n\n  serial:\n    aliases: ['journal']\n    is_a: publication\n    description: >-\n      This class may rarely be instantiated except if use cases\n      of a given knowledge graph support its utility.\n    slots:\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      id:\n        required: true\n        description: >-\n          Serials (journals) should have industry-standard identifier such as from ISSN.\n      type:\n        description: >-\n          Should generally be set to an ontology class defined term for 'serial' or 'journal'.\n    id_prefixes:\n      - issn\n      - NLMID\n    in_subset:\n      - model_organism_database\n\n  article:\n    is_a: publication\n    description: >-\n      a piece of writing on a particular topic presented as a stand-alone\n      section of a larger publication\n    slots:\n      - published in\n      - iso abbreviation\n      - volume\n      - issue\n    slot_usage:\n      published in:\n        required: true\n        description: >-\n          The enclosing parent serial containing the article should\n          have industry-standard identifier from ISSN.\n      iso abbreviation:\n        description: >-\n          Optional value, if used locally as a convenience, is set\n          to the iso abbreviation of the 'published in' parent.\n    exact_mappings:\n      - SIO:000154\n      - fabio:article\n    id_prefixes:\n       # By inheritance, a DOI may be used as a publication identifier; there may be other relevant namespaces\n      - PMID\n    in_subset:\n      - model_organism_database\n\n  journal article:\n    is_a: article\n    description: >-\n      an article, typically presenting results of research, that is published\n      in an issue of a scientific journal.\n    exact_mappings:\n      - IAO:0000013\n      - fabio:JournalArticle\n    id_prefixes:\n      - PMID\n      - PMCID\n      - doi\n\n  patent:\n    is_a: publication\n    description: >-\n      a legal document granted by a patent issuing authority which confers upon\n      the patenter the sole right to make, use and sell an invention for a set\n      period of time.\n    exact_mappings:\n      - SIO:000153\n      - IAO:0000313\n      - fabio:Patent\n\n  web page:\n    is_a: publication\n    description: >-\n      a document that is published according to World Wide Web standards, which\n      may incorporate text, graphics, sound, and/or other features.\n    exact_mappings:\n      - SIO:000302\n      - NCIT-OBO:C142749\n      - fabio:WebPage\n\n  preprint publication:\n    is_a: publication\n    description: >-\n      a document reresenting an early version of an author's original scholarly work,\n      such as a research paper or a review, prior to formal peer review and publication\n      in a peer-reviewed scholarly or scientific journal.\n    exact_mappings:\n      - EFO:0010558\n      - fabio:Preprint\n\n  drug label:\n    is_a: publication\n    description: >-\n      a document accompanying a drug or its container that provides written, printed or\n      graphic information about the drug, including drug contents, specific instructions\n      or warnings for administration, storage and disposal instructions, etc.\n    broad_mappings:\n      - NCIT-OBO:C41203\n\n  retrieval source:\n    is_a: information content entity\n    description: >-\n      Provides information about how a particular InformationResource\n      served as a source from which knowledge expressed in an Edge, or\n      data used to generate this knowledge, was retrieved.\n    slots:\n      - resource id\n      - resource role\n      - upstream resource ids\n      - xref\n    slot_usage:\n      resource id:\n        required: true\n        description: >-\n          The InformationResource that served as a source for the\n          knowledge expressed in an Edge, or data used to generate this knowledge.\n      resource role:\n        required: true\n        description: >-\n            The role of the InformationResource in the retrieval of the\n            knowledge expressed in an Edge, or data used to generate this knowledge.\n      upstream resource ids:\n        description: >-\n          The InformationResources that served as a source for the\n          InformationResource that served as a source for the knowledge\n          expressed in an Edge, or data used to generate this knowledge.\n\n   ## Top Level Abstractions of Material & Process Entities\n\n  physical essence or occurrent:\n    description: >-\n      Either a physical or processual entity.\n    mixin: true\n\n  physical essence:\n    description: >-\n      Semantic mixin concept.  Pertains to entities that have\n      physical properties such as mass, volume, or charge.\n    is_a: physical essence or occurrent\n    mixin: true\n\n  physical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n    description: >-\n      An entity that has material reality (a.k.a. physical essence).\n    exact_mappings:\n       # Physical Object\n      - STY:T072\n    narrow_mappings:\n       # Manufactured Object\n      - STY:T073\n\n  occurrent:\n    description: >-\n      A processual entity.\n     # biolink:Occurrent is most consistently used as a mixin thus it should\n     # be declared as such and cannot inherit from the non-mixin biolink:NamedThing\n    is_a: physical essence or occurrent\n    mixin: true\n    exact_mappings:\n      - BFO:0000003\n\n  activity and behavior:\n    is_a: occurrent\n    mixin: true\n    description: >-\n      Activity or behavior of any independent integral living,\n      organization or mechanical actor in the world\n    exact_mappings:\n       # Activities & Behaviors\n      - UMLSSG:ACTI\n\n  activity:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      An activity is something that occurs over a period of time and acts upon\n      or with entities; it may include consuming, processing, transforming,\n      modifying, relocating, using, or generating entities.\n    exact_mappings:\n      - prov:Activity\n      - NCIT:C43431\n       # Activity\n      - STY:T052\n    narrow_mappings:\n       # Daily or Recreational Activity\n      - STY:T056\n       # Occupational Activity\n      - STY:T057\n       # Governmental or Regulatory Activity\n      - STY:T064\n       # Machine Activity\n      - STY:T066\n       # Research Activity\n      - STY:T062\n       # Educational Activity\n      - STY:T065\n       # Health Care Activity\n      - STY:T058\n\n  procedure:\n    is_a: named thing\n    mixins:\n      - activity and behavior\n    description: >-\n      A series of actions conducted in a certain order or manner\n    exact_mappings:\n       # Procedures\n      - UMLSSG:PROC\n      - dcid:MedicalProcedure\n    narrow_mappings:\n       # Laboratory Procedure\n      - STY:T059\n       # Diagnostic Procedure\n      - STY:T060\n       # Therapeutic or Preventive Procedure\n      - STY:T061\n       # Molecular Biology Research Technique\n      - STY:T063\n    id_prefixes:\n      - CPT\n\n  phenomenon:\n    is_a: named thing\n    mixins:\n      - occurrent\n    description: >-\n      a fact or situation that is observed to exist or happen,\n      especially one whose cause or explanation is in question\n    broad_mappings:\n       # the inclusion of 'process' in the definition of these\n       # terms broadens them, relative to 'phenomenon'\n       # Phenomenon or Process\n      - STY:T067\n       # Human-caused Phenomenon or Process\n      - STY:T068\n       # Natural Phenomenon or Process\n      - STY:T070\n    exact_mappings:\n       # Phenomena\n      - UMLSSG:PHEN\n    narrow_mappings:\n       # Laboratory or Test Result\n      - STY:T034\n       # Biologic Function\n      - STY:T038\n       # Environmental Effect of Humans\n      - STY:T069\n\n  device:\n    is_a: named thing\n    description: >-\n      A thing made or adapted for a particular purpose, especially\n      a piece of mechanical or electronic equipment\n    narrow_mappings:\n      # Devices\n      - UMLSSG:DEVI\n      # Medical Device\n      - STY:T074\n      # Research Device\n      - STY:T075\n      # Drug Delivery Device\n      - STY:T203\n      # Biomedical or Dental Material\n      - STY:T122\n\n  diagnostic aid:\n    is_a: named thing\n    description: >-\n      A device or substance used to help diagnose disease or injury\n    exact_mappings:\n      - STY:T130  # Diagnostic Aid\n      - SNOMED:2949005  # Diagnostic aid\n\n   ## Scientific Studies\n\n  study population:\n    is_a: population of individual organisms\n    description: >-\n      A group of people banded together or treated as a group as participants in a research study.\n    close_mappings:\n      - WIKIDATA:Q7229825\n\n  subject of investigation:\n    mixin: true\n    description: >-\n      An entity that has the role of being studied in an investigation, study, or experiment\n\n  material sample:\n    aliases: ['biospecimen', 'sample', 'biosample', 'physical sample']\n    is_a: physical entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A sample is a limited quantity of something (e.g. an individual or set of individuals\n      from a population, or a portion of a substance) to be used for testing, analysis,\n      inspection, investigation, demonstration, or trial use. [SIO]\n    exact_mappings:\n      - OBI:0000747\n      - SIO:001050\n    id_prefixes:\n      - BIOSAMPLE\n      - GOLD.META\n\n   ## Earth Sciences\n\n  planetary entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists at the level of the whole planet\n\n  environmental process:\n    is_a: planetary entity\n    mixins:\n      - occurrent\n    exact_mappings:\n      - ENVO:02500000\n\n  environmental feature:\n    is_a: planetary entity\n    exact_mappings:\n      - ENVO:01000254\n\n  geographic location:\n    is_a: planetary entity\n    description: >-\n      a location that can be described in lat/long coordinates\n    slots:\n      - latitude\n      - longitude\n    exact_mappings:\n       # Geographic Areas\n      - UMLSSG:GEOG\n       # Geographic Area\n      - STY:T083\n\n  geographic location at time:\n    is_a: geographic location\n    description: >-\n      a location that can be described in lat/long coordinates, for a particular time\n    slots:\n      - timepoint\n\n   ## Biological Sciences\n\n  thing with taxon:\n    mixin: true\n    description: >-\n      A mixin that can be used on any entity that can be taxonomically classified.\n      This includes individual organisms; genes, their products and other molecular\n      entities; body parts; biological processes\n    slots:\n      - in taxon\n      - in taxon label\n\n  biological entity:\n    is_a: named thing\n    aliases: ['bioentity']\n    abstract: true\n    mixins:\n      - thing with taxon\n    narrow_mappings:\n      - WIKIDATA:Q28845870\n       # UMLS Semantic Type \"Experimental Model of Disease\"\n      - STY:T050\n       # SIO term is 'biological entity' but less inclusive than the Biolink scope\n      - SIO:010046\n      - STY:T129  # (imft, full name: Immunologic Factor\n\n  genomic entity:\n    mixin: true\n    slots:\n      - has biological sequence\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n      - STY:T028    # Gene or Genome\n      - GENO:0000897   # Genomic Entity\n\n  epigenomic entity:\n    mixin: true\n    slots:\n      - has biological sequence\n    in_subset:\n      - translator_minimal\n    narrow_mappings:\n\n  molecular entity:\n    is_a: chemical entity\n    description: >-\n      A molecular entity is a chemical entity composed of individual or\n      covalently bonded atoms.\n    slots:\n      - is metabolite\n    narrow_mappings:\n      - STY:T088  # Carbohydrate\n      - STY:T085  # Molecular Sequence\n      - CHEBI:23367  # Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical,\n       # radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.\n      - bioschemas:MolecularEntity\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.DRUG     # D number\n      - KEGG.ENVIRON  # E number\n      - KEGG\n      - UMLS\n\n  chemical entity:\n    is_a: named thing\n    mixins:\n      - physical essence\n      - chemical or drug or treatment  # issue 701\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    description: >-\n      A chemical entity is a physical entity that pertains to chemistry or\n      biochemistry.\n    slots:\n      - trade name\n      - available from\n      - max tolerated dose\n      - is toxic\n      - has chemical role\n    exact_mappings:\n      - CHEBI:24431\n      - SIO:010004  # Chemical entity\n      - WIKIDATA:Q79529  # Chemical substance\n      - STY:T103  # Chemical\n    broad_mappings:\n      - STY:T167  # Substance, children include food, body substance, chemical.\n    narrow_mappings:\n      - WIKIDATA:Q43460564\n      - STY:T123  # (bacs, full name: Biologically Active Substance)\n      - STY:T131  # (hops, full name: Hazardous or Poisonous Substance)\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS  # CAS numbers are given for things like plant extracts as well.\n      - ncats.drug\n      - PHARMGKB.CHEMICAL\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n      # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.DRUG     # D number\n      - KEGG.ENVIRON  # E number\n      - KEGG\n      - UMLS\n\n  small molecule:\n    is_a: molecular entity\n    aliases: ['chemical substance']\n    description: >-\n      A small molecule entity is a molecular entity characterized by availability\n      in small-molecule databases of SMILES, InChI, IUPAC, or other\n      unambiguous representation of its precise chemical structure; for\n      convenience of representation, any valid chemical representation is\n      included, even if it is not strictly molecular (e.g., sodium ion).\n    narrow_mappings:\n      - STY:T196  # Element, Ion, or Isotope\n      - CHEBI:59999\n      - bioschemas:ChemicalSubstance\n      - STY:T125  # (horm, full name: Hormone)\n      - STY:T197  # (inch, full name: Inorganic Chemical)\n      - STY:T109  # (orch, full name: Organic Chemical)\n      - STY:T118  # (carb, full name: Carbohydrate) - note that this term is missing from newer SRDEF files (depreciated?), but is still used by the SEMMEDDB data files)\n      - STY:T111  # (eico, full name: Eicosanoid) - same note as above\n      - STY:T119  # (lipd, full name: Lipid) - same note as above\n      - STY:T124  # (nsba, full name: Neuroreactive Substance or Biogenic Amine) - same note as above\n      - STY:T115  # (opco, full name: Organophosphorus Compound) - same note as above\n      - STY:T110  # (strd, full name: Steroid) - same note as above\n      - STY:T127  # vitamin\n    id_prefixes:\n      - CHEBI\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - BIGG.METABOLITE\n      - UMLS\n      - foodb.compound\n      - KEGG.GLYCAN   # G number\n      - KEGG.DRUG     # D number\n      - KEGG.ENVIRON  # E number\n      - KEGG\n      - UMLS\n    slot_usage:\n      id:\n        examples:\n          - value: CHEBI:29101\n            description: sodium ion\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n\n\n  chemical mixture:\n    is_a: chemical entity\n    description: >-\n      A chemical mixture is a chemical entity composed of two or more\n      molecular entities.\n    slots:\n      - is supplement\n      - highest FDA approval status\n      - drug regulatory status world wide\n      - routes of delivery\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   ## G number\n      - KEGG.DRUG     ## D number\n      - KEGG\n      - KEGG.ENVIRON  ## E number\n      - UMLS\n    close_mappings:\n      - dcid:ChemicalCompound\n    narrow_mappings:\n      - NCIT:C20401  # monoclonal antibody\n      - SNOMEDCT:49616005  # monoclonal antibody (substance)\n\n  nucleic acid entity:\n    is_a: molecular entity\n    description: >-\n      A nucleic acid entity is a molecular entity characterized by\n      availability in gene databases of nucleotide-based sequence\n      representations of its precise sequence; for convenience of\n      representation, partial sequences of various kinds are included.\n    aliases: ['sequence feature', 'genomic entity']\n    mixins:\n      - genomic entity\n      - thing with taxon\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0000110\n    narrow_mappings:\n      - STY:T086    # Nucleotide Sequence\n      - STY:T114    # Nucleic Acid, Nucleoside, or Nucleotide\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.ENVIRON  # E number\n      - ChemBank\n      - SIDER.DRUG\n      - BIGG.METABOLITE\n      - foodb.compound\n      - UMLS\n\n  regulatory region:\n    aliases: ['regulatory element']\n    description: >-\n      A region (or regions) of the genome that contains known or putative regulatory elements\n      that act in cis- or trans- to affect the transcription of gene\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0005836\n      - SIO:001225\n      - WIKIDATA:Q3238407\n\n  accessible dna region:\n    aliases: ['dnase-seq accessible region', 'atac-seq accessible region']\n    description: >-\n      A region (or regions) of a chromatinized genome that has been measured to be more\n      accessible to an enzyme such as DNase-I or Tn5 Transpose\n    is_a: regulatory region\n    mixins:\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0002231\n\n  transcription factor binding site:\n    aliases: ['tf binding site', 'binding site']\n    description: >-\n      A region (or regions) of the genome that contains a region of DNA known or predicted\n      to bind a protein that modulates gene transcription\n    is_a: regulatory region\n    mixins:\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - SO:0000235\n\n  molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A molecular mixture is a chemical mixture composed of two or more\n      molecular entities with known concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   ## G number\n      - KEGG.DRUG     ## D number\n      - KEGG\n      - KEGG.ENVIRON  ## E number\n      - UMLS\n      - ncats.drug\n\n  complex molecular mixture:\n    is_a: chemical mixture\n    description: >-\n      A complex molecular mixture is a chemical mixture composed of two or\n      more molecular entities with unknown concentration and stoichiometry.\n    in_subset:\n      - translator_minimal\n    id_prefixes:\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - DRUGBANK\n      - MESH\n      - CAS\n      - DrugCentral\n      - GTOPDB\n      - HMDB\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - SIDER.DRUG\n      - INCHI\n      - INCHIKEY\n       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   ## G number\n      - KEGG.DRUG     ## D number\n      - KEGG\n      - KEGG.ENVIRON  ## E number\n      - UMLS\n\n  biological process or activity:\n    description: >-\n      Either an individual molecular activity, or a collection of\n      causally connected molecular activities in a biological system.\n    is_a: biological entity\n    mixins:\n      - occurrent\n      - ontology class\n    id_prefixes:\n      - GO\n      - REACT\n    slots:\n      - has input\n      - has output\n      - enabled by\n\n  molecular activity:\n    description: >-\n      An execution of a molecular function carried out by a\n      gene product or macromolecular complex.\n    is_a: biological process or activity\n    aliases: ['molecular function', 'molecular event', 'reaction']\n    mixins:\n      - occurrent\n      - ontology class\n    slot_usage:\n      has input:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the input for the reaction\n      has output:\n        range: molecular entity\n        description: >-\n          A chemical entity that is the output for the reaction\n      enabled by:\n        range: macromolecular machine mixin\n        description: >-\n          The gene product, gene, or complex that catalyzes the reaction\n    exact_mappings:\n      - GO:0003674\n      # UMLS Semantic Type \"Molecular Function\"\n      - STY:T044\n    broad_mappings:\n      - STY:T045  # Genetic Function\n    id_prefixes:\n      - GO\n      - REACT\n      - RHEA\n      - metacyc.reaction\n      - EC\n      - TCDB\n      - KEGG.REACTION   ## R number\n      - KEGG\n      - KEGG.ORTHOLOGY  ## in particular for gut microbiome use case in issue  #888\n      - UMLS\n      - BIGG.REACTION\n      - SEED.REACTION\n      - METANETX.REACTION\n\n  biological process:\n    is_a: biological process or activity\n    mixins:\n      - occurrent\n      - ontology class\n    description: >-\n      One or more causally connected executions of molecular functions\n    exact_mappings:\n      - GO:0008150\n      - SIO:000006\n      - WIKIDATA:Q2996394\n    broad_mappings:\n      - WIKIDATA:P682\n    id_prefixes:\n      - GO\n      - REACT\n      - metacyc.reaction\n      - KEGG.MODULE  ## M number\n      - KEGG\n\n  pathway:\n    is_a: biological process\n    mixins:\n      - ontology class\n    exact_mappings:\n      - PW:0000001\n      - WIKIDATA:Q4915012\n    narrow_mappings:\n      - SIO:010526\n      - GO:0007165\n    id_prefixes:\n      - GO\n      - REACT\n      - KEGG\n      - SMPDB\n      - MSigDB\n      - PHARMGKB.PATHWAYS\n      - WIKIPATHWAYS\n      - FB   # FlyBase FBgg*\n      - PANTHER.PATHWAY\n      - KEGG.PATHWAY\n      - ncats.bioplanet\n\n  physiological process:\n    aliases: ['physiology']\n    is_a: biological process\n    mixins:\n      - ontology class\n    close_mappings:\n    exact_mappings:\n       # Physiologic Function\n      - STY:T039\n      - WIKIDATA:Q30892994\n    narrow_mappings:\n       # Organism Function\n      - STY:T040\n       # Organ or Tissue Function\n      - STY:T042\n       # Cell Function\n      - STY:T043\n       # Genetic Function\n      - STY:T045\n    id_prefixes:\n      - GO\n      - REACT\n\n  behavior:\n    is_a: biological process\n    mixins:\n      - ontology class\n      - activity and behavior\n    exact_mappings:\n      - GO:0007610\n       # Behavior\n      - STY:T053\n    narrow_mappings:\n       # Mental Process\n      - STY:T041\n       # Social Behavior\n      - STY:T054\n       # Individual Behavior\n      - STY:T055\n\n   ## (Bio)chemistry\n\n  processed material:\n    is_a: chemical mixture\n    description: >-\n      A chemical entity (often a mixture) processed\n      for consumption for nutritional, medical or technical use.\n      Is a material entity that is created or changed during material processing.\n    exact_mappings:\n      - OBI:0000047\n    id_prefixes:\n      - UMLS\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.ENVIRON  # E number\n      - ChemBank\n      - SIDER.DRUG\n      - BIGG.METABOLITE\n      - foodb.compound\n      - UMLS\n      - foodb.food\n\n  drug:\n    is_a: molecular mixture\n    mixins:\n      - chemical or drug or treatment\n      - ontology class\n    description: >-\n      A substance intended for use in the diagnosis, cure,\n      mitigation, treatment, or prevention of disease\n    comments:\n      - The CHEBI ID represents a role rather than a substance\n    broad_mappings:\n       # Pharmacologic Substance: Any natural, endogenously-derived,\n       # synthetic or semi synthetic compound with pharmacologic activity.\n      - STY:T121\n    exact_mappings:\n      - WIKIDATA:Q12140\n      - CHEBI:23888\n       # UMLS Semantic Type \"Clinical Drug\"\n      - STY:T200\n      - dcid:Drug\n    narrow_mappings:\n       # Antibiotic\n      - STY:T195\n    id_prefixes:\n      - ncats.drug\n      - RXCUI\n      - NDC\n      - UMLS\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.ENVIRON  # E number\n      - ChemBank\n      - SIDER.DRUG\n      - BIGG.METABOLITE\n      - foodb.compound\n\n   ## Food\n\n  environmental food contaminant:\n    is_a: chemical entity\n    related_mappings:\n       # substance role\n      - CHEBI:78299\n    id_prefixes:\n      - ncats.drug\n      - RXCUI\n      - NDC\n      - UMLS\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.ENVIRON  # E number\n      - ChemBank\n      - SIDER.DRUG\n      - BIGG.METABOLITE\n      - foodb.compound\n\n  food additive:\n    is_a: chemical entity\n    related_mappings:\n       # substance role\n      - CHEBI:64047\n    id_prefixes:\n      - ncats.drug\n      - RXCUI\n      - NDC\n      - UMLS\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.ENVIRON  # E number\n      - ChemBank\n      - SIDER.DRUG\n      - BIGG.METABOLITE\n      - foodb.compound\n\n  food:\n    is_a: chemical mixture\n    description: >-\n      A substance consumed by a living organism as a source of nutrition\n    id_prefixes:\n      - foodb.food\n      - foodb.compound\n      - FOODON\n      - UMLS\n      - NCIT\n      - PUBCHEM.COMPOUND\n      - CHEMBL.COMPOUND\n      - UNII\n      - CHEBI\n      - MESH\n      - CAS\n      - GTOPDB\n      - HMDB\n      - KEGG\n      - KEGG.COMPOUND\n      - ChemBank\n      - PUBCHEM.SUBSTANCE\n      - INCHI\n      - INCHIKEY\n      # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry\n      # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry\n      - KEGG.GLYCAN   # G number\n      - KEGG.ENVIRON  # E number\n      - ChemBank\n      - SIDER.DRUG\n      - BIGG.METABOLITE\n    exact_mappings:\n       # Food\n      - STY:T168\n\n   ## Biology and Biomedical Sciences\n\n   ## Biological Attributes\n\n  organism attribute:\n    is_a: attribute\n    description: >-\n      describes a characteristic of an organismal entity.\n    exact_mappings:\n       # Organism Attribute\n      - STY:T032\n\n  phenotypic quality:\n    aliases: ['phenotypic properties']\n    is_a: organism attribute\n    description: >-\n      A property of a phenotype\n    examples:\n      - value: weight\n    mappings:\n      - PATO:0000001\n\n  genetic inheritance:\n    aliases: ['inheritance']\n    is_a: biological entity\n    description: >-\n      The pattern or 'mode' in which a particular genetic trait or disorder is passed from one\n      generation to the next, e.g. autosomal dominant, autosomal recessive, etc.\n    exact_mappings:\n      - HP:0000005\n      - GENO:0000141\n      - NCIT:C45827\n    close_mappings:\n      - STY:T045\n    id_prefixes:\n      - HP\n      - GENO\n      - NCIT\n\n    ## Biological Entities\n\n  organismal entity:\n    description: >-\n      A named entity that is either a part of an organism, a whole organism,\n      population or clade of organisms, excluding chemical entities\n    abstract: true\n    is_a: biological entity\n    mixins:\n      - subject of investigation\n    slot_usage:\n      has attribute:\n        description: >-\n          may often be an organism attribute\n    exact_mappings:\n      - WIKIDATA:Q7239\n        # UMLS Semantic Group \"Living Beings\"\n        # Several of the associated semantic types here are probably not\n      # that relevant to the Biolink world, but we keep them here for now.\n      - UMLSSG:LIVB\n      - CARO:0001010\n    narrow_mappings:\n      - STY:T008  # animal\n\n  bacterium:\n    is_a: organismal entity\n    description: >-\n      A member of a group of unicellular microorganisms lacking a nuclear membrane,\n      that reproduce by binary fission and are often motile.\n    exact_mappings:\n      - NCBITaxon:1869227\n      - STY:T007  # Bacterium\n\n  virus:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    description: >-\n      A virus is a microorganism that replicates itself as a microRNA\n      and infects the host cell.\n    exact_mappings:\n      - NCBITaxon:10239\n      - STY:T005  # Virus\n\n  cellular organism:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    description: >-\n    exact_mappings:\n      - NCBITaxon:131567\n\n  mammal:\n    is_a: cellular organism\n    mixins:\n      - subject of investigation\n    description: >-\n      A member of the class Mammalia, a clade of endothermic amniotes\n      distinguished from reptiles and birds by the possession of hair,\n      three middle ear bones, mammary glands, and a neocortex\n    exact_mappings:\n      - NCBITaxon:40674  # mammal\n      - STY:T015  # mammal\n      - NCIT:C14234  # Mamalia\n      - FOODON:03411134  # mammal\n\n  human:\n    is_a: mammal\n    mixins:\n      - subject of investigation\n    description: >-\n      A member of the the species Homo sapiens.\n    exact_mappings:\n      - STY:T016\n      - NCBITaxon:9606\n      - SIO:000485\n      - NCIT:C14225\n\n  plant:\n    is_a: cellular organism\n    description: >-\n    exact_mappings:\n      - NCIT:C14258  # plant\n      - STY:T002  # plant\n      - PO:0000003  # whole plant\n      - NCIT:C79659  # plant, whole\n\n  invertebrate:\n    is_a: cellular organism\n    description: >-\n      An animal lacking a vertebral column. This group consists of 98% of all animal species.\n    exact_mappings:\n      - NCIT:C14228  # invertebrate\n      - OMIT:0008565  # invertebrates\n      - FOODON:00002452  # invertebrate animals\n      - STY:T011\n    related_mappings:\n      - NCBITaxon:1767184  # unidentified invertebrate\n\n  vertebrate:\n    is_a: cellular organism\n    description: >-\n      A sub-phylum of animals consisting of those having a bony or cartilaginous vertebral column.\n    exact_mappings:\n      - STY:T010\n      - NCBITaxon:7742  # vertebrata\n      - OMIT:0015545  # vertebrates\n    related_mappings:\n      - NCBITaxon:2662825  # unclassified vertebrata (in:vertebrates)\n\n  fungus:\n    is_a: cellular organism\n    description: >-\n      A kingdom of eukaryotic, heterotrophic organisms that live as saprobes or parasites,\n      including mushrooms, yeasts, smuts, molds, etc. They reproduce either sexually or\n      asexually, and have life cycles that range from simple to complex. Filamentous\n      fungi refer to those that grow as multicellular colonies (mushrooms and molds).\n    exact_mappings:\n      - STY:T004\n      - NCIT:C14209\n      - FOODON:03411261\n    narrow_mappings:\n      - FOODON:03315605  # fungus (edible)\n      - NCBITaxon:1670606  # fungus metagenome\n\n  life stage:\n    is_a: organismal entity\n    description: >-\n      A stage of development or growth of an organism,\n      including post-natal adult stages\n    exact_mappings:\n      - UBERON:0000105\n    narrow_mappings:\n      # constrained to human life cycles\n      - HsapDv:0000000\n    in_subset:\n      - model_organism_database\n    id_prefixes:\n      - HsapDv\n      - MmusDv\n      - ZFS\n      - FBdv\n      - WBls\n      - UBERON\n\n  individual organism:\n    aliases: ['organism']\n    description: >-\n      An instance of an organism. For example, Richard Nixon,\n      Charles Darwin, my pet cat. Example ID: ORCID:0000-0002-5355-2576\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - SIO:010000\n      # Organism\n      - STY:T001\n    narrow_mappings:\n      # Wikidata considers its definition of 'individual' to be constrained to human persons?\n      - WIKIDATA:Q795052\n      - foaf:Person\n    id_prefixes:\n      - ORCID\n\n  population of individual organisms:\n    description: >-\n      A collection of individuals from the same taxonomic class\n      distinguished by one or more characteristics.  Characteristics can\n      include, but are not limited to, shared geographic location, genetics,\n      phenotypes.\n    local_names:\n      ga4gh: population\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - PCO:0000001\n      - SIO:001061\n      # UMLS Semantic Type \"Population Group\"\n      - STY:T098\n      - OBI:0000181\n    id_prefixes:\n      - HANCESTRO\n    in_subset:\n      - model_organism_database\n\n  disease or phenotypic feature:\n    aliases: ['phenome']\n    is_a: biological entity\n    description: >-\n      Either one of a disease or an individual phenotypic feature.\n      Some knowledge resources such as Monarch treat these as\n      distinct, others such as MESH conflate.  Please see definitions of phenotypic feature and disease in this model\n      for their independent descriptions.  This class is helpful to enforce domains and ranges\n      that may involve either a disease or a phenotypic feature.\n    union_of:\n      - disease\n      - phenotypic feature\n    narrow_mappings:\n      # UMLS Semantic Type \"Finding\" - more specialized use of 'disease or phenotypic feature'\n      - STY:T033\n\n  disease:\n    aliases: ['condition', 'disorder', 'medical condition']\n    description: >-\n      A disorder of structure or function, especially one that produces specific\n      signs, phenotypes or symptoms or that affects a specific location and is not simply a\n      direct result of physical injury.  A disposition to undergo pathological processes that exists in an\n      organism because of one or more disorders in that organism.\n    is_a: disease or phenotypic feature\n    exact_mappings:\n      - MONDO:0000001\n      - DOID:4\n      - NCIT:C2991\n      - WIKIDATA:Q12136\n      - SIO:010299\n      - UMLSSG:DISO\n      - STY:T047\n      - dcid:Disease\n    narrow_mappings:\n      - STY:T019\n       # Acquired Abnormality\n      - STY:T020\n       # Mental or behavioral disfunction\n      - STY:T048\n      # (Cell or Molecular Dysfunction)\n      - STY:T049\n      # (Neoplastic Process)\n      - STY:T191\n      # disease susceptibility\n      - MONDO:0042489\n    id_prefixes:\n      - MONDO\n      - DOID\n      - OMIM\n      - OMIM.PS\n      - orphanet\n      - EFO\n      - UMLS\n      - MESH\n      - MEDDRA\n      - NCIT\n      - SNOMEDCT\n      - medgen\n      - ICD10\n      - ICD9\n      - KEGG.DISEASE  ## H number\n      - HP\n      - MP\n      - PHARMGKB.DISEASE\n    in_subset:\n      - model_organism_database\n      - translator_minimal\n\n  phenotypic feature:\n    aliases: ['sign', 'symptom', 'phenotype', 'trait', 'endophenotype']\n    is_a: disease or phenotypic feature\n    description: >-\n      A combination of entity and quality that makes up a phenotyping statement. An observable characteristic of an\n      individual resulting from the interaction of its genotype with its molecular and physical environment.\n    examples:\n      - value: MP:0001262\n        description: decreased body weight\n    exact_mappings:\n      - UPHENO:0001001\n      - SIO:010056\n      - WIKIDATA:Q104053\n      - UMLS:C4021819\n      - NCIT:C16977\n      - SNOMEDCT:8116006  # documented as phenotypic finding and phenotype, also referred to as \"SCTID:8116006\" at SNOMEDCT\n      - MESH:D010641  # phenotype\n    narrow_mappings:\n      - STY:T184  # Sign or Symptom\n      - WIKIDATA:Q169872  # Sign or Symptom\n       # presentation of a disease in clinical medicine\n      - WIKIDATA:Q25203551\n      - ZP:00000000  # zebrafish phenotype\n      - FBcv:0001347  # fly phenotype\n      - HP:0000118  # human phenotype\n      - MP:0000001  # mouse phenotype\n      - WBPhenotype:0000886  # worm phenotype\n      - XPO:00000000  # frog phenotype\n      - FYPO:0000001  # fission yeast phenotype\n      - APO:0000017  # phenotype\n      - TO:0000387  # more narrowly defined here for plants; our definition conflates trait and phenotype.\n      - STY:T190\n    broad_mappings:\n      - BFO:0000019  # quality\n      - PATO:0000001  # quality\n    id_prefixes:\n      - HP\n      - EFO  # covered by BFO quality mapping\n      - NCIT\n      - UMLS\n      - MEDDRA  # can not find a mapping\n      - MP\n      - ZP\n      - UPHENO\n      - APO\n      - FBcv\n      - WBPhenotype\n      - SNOMEDCT\n      - MESH\n      - XPO\n      - FYPO\n      - TO\n    in_subset:\n      - model_organism_database\n\n  behavioral feature:\n    description: >-\n      A phenotypic feature which is behavioral in nature.\n    is_a: phenotypic feature\n    exact_mappings:\n      - NBO:0000243\n\n  anatomical entity:\n    is_a: organismal entity\n    mixins:\n      - physical essence\n    description: >-\n      A subcellular location, cell type or gross anatomical part\n    exact_mappings:\n      - UBERON:0001062\n      - WIKIDATA:Q4936952\n       # UMLS Semantic Group \"Anatomy\"\n      - UMLSSG:ANAT\n       # UMLS Semantic Type \"Anatomical Structure\"\n      - STY:T017\n      - FMA:62955  # anatomical entity\n      - CARO:0000000   # anatomical entity\n      - SIO:001262  # anatomical entity\n      - STY:T029  # Body Location or Region\n      - STY:T030  # Body Space or Junction\n    narrow_mappings:\n      - ZFA:0100000  # zebrafish anatomical entity\n      - FBbt:10000000  # fly anatomical entity\n      - EMAPA:0  # mouse anatomical entity\n      - MA:0000001  # mouse anatomical entity\n      - XAO:0000000  # frog anatomical entity\n      - WBbt:0000100  # c. elegans anatomical entity\n      - NCIT:C12219  # human anatomical entity\n      - GO:0110165  # cellular anatomical entity, also used directly in CL\n      - STY:T031  # Body Substance\n    related_mappings:\n      - SNOMEDCT:123037004  # body structure\n    id_prefixes:\n      - UBERON\n      - GO\n      - CL\n      - UMLS\n      - MESH\n      - NCIT\n      - EMAPA\n      - ZFA\n      - FBbt\n      - WBbt\n    in_subset:\n      - model_organism_database\n\n  cellular component:\n    aliases: ['cell component', 'cell part']\n    is_a: anatomical entity\n    description: >-\n      A location in or around a cell\n    exact_mappings:\n      - GO:0005575\n      - SIO:001400\n      - WIKIDATA:Q5058355\n       # Cell Component\n      - STY:T026\n    broad_mappings:\n      - WIKIDATA:P681\n    id_prefixes:\n      - GO\n      - MESH\n      - UMLS\n      - NCIT\n      - SNOMEDCT\n      - CL\n      - UBERON\n\n  cell:\n    is_a: anatomical entity\n    exact_mappings:\n      - GO:0005623\n      - CL:0000000\n      - SIO:010001\n      - WIKIDATA:Q7868\n       # UMLS Semantic Type \"Cell\"\n      - STY:T025\n      - MESH:D002477  # cells\n    id_prefixes:\n      - CL\n      - PO\n      - UMLS\n      - NCIT\n      - MESH\n      - UBERON\n      - SNOMEDCT\n      - MESH\n\n  cell line:\n    is_a: organismal entity\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - CLO:0000031\n    id_prefixes:\n      - CLO\n\n  gross anatomical structure:\n    aliases: ['tissue', 'organ']\n    is_a: anatomical entity\n    exact_mappings:\n      - UBERON:0010000\n      - WIKIDATA:Q4936952\n    narrow_mappings:\n       # UMLS Semantic Type \"Body Part, Organ, or Organ Component\"\n      - STY:T023\n       # UMLS Semantic Type \"Tissue\"\n      - STY:T024\n       # Embryonic Structure\n      - STY:T018\n    id_prefixes:\n      - UBERON\n      - UMLS\n      - MESH\n      - NCIT\n      - PO\n      - FAO\n\n\n   ## entity mixins\n\n  chemical entity or gene or gene product:\n    description: >-\n      A union of chemical entities and children, and gene or gene product.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  chemical entity or protein or polypeptide:\n    description: >-\n      A union of chemical entities and children, and protein and polypeptide.\n      This mixin is helpful to use when searching across\n      chemical entities that must include genes and their children as chemical entities.\n    mixin: true\n\n  macromolecular machine mixin:\n    description: >-\n      A union of gene locus, gene product, and macromolecular complex. These are\n      the basic units of function in a cell. They either carry out individual\n      biological activities, or they encode molecules which do this.\n    mixin: true\n    slots:\n      - name\n    slot_usage:\n      name:\n        range: symbol type\n        description: >-\n          genes are typically designated by a short symbol and a full name.\n          We map the symbol to the default display name\n          and use an additional slot for full name\n\n  gene or gene product:\n    description: >-\n      A union of gene loci or gene products.\n      Frequently an identifier for one will be used as proxy for another\n    is_a: macromolecular machine mixin\n    mixin: true\n    id_prefixes:\n      - CHEMBL.TARGET\n      - IUPHAR.FAMILY\n\n  gene:\n    description: >-\n      A region (or regions) that includes all of the sequence elements\n      necessary to encode a functional transcript. A gene locus may include\n      regulatory regions, transcribed regions and/or other\n      functional sequence regions.\n    is_a: biological entity\n    mixins:\n      - gene or gene product\n      - genomic entity\n      - chemical entity or gene or gene product\n      - physical essence\n      - ontology class\n    slots:\n      - symbol\n      - xref\n    exact_mappings:\n      - SO:0000704\n      - SIO:010035\n      - WIKIDATA:Q7187\n      - dcid:Gene\n    id_prefixes:\n      - NCBIGene\n      - ENSEMBL\n      - HGNC\n      - MGI\n      - ZFIN\n      - dictyBase\n      - WB\n      - WormBase  # we have two prefixes here as wormbase supports WormBase:WBGene00000898\n       # and alliancegenome.org and identifiers.org supports WB:WBGene00000898.\n      - FB\n      - RGD\n      - SGD\n      - PomBase\n      - OMIM\n      - KEGG.GENES  ## org:gene\n      - UMLS\n      - Xenbase\n      - AspGD\n      - PHARMGKB.GENE\n    in_subset:\n      - translator_minimal\n      - model_organism_database\n    narrow_mappings:\n      - bioschemas:gene\n    broad_mappings:\n      - NCIT:C45822\n\n\n  gene product mixin:\n    description: >-\n      The functional molecular product of a single gene locus.\n      Gene products are either proteins or functional RNA molecules.\n    is_a: gene or gene product\n    mixin: true\n    slots:\n      - synonym\n      - xref\n    exact_mappings:\n      - WIKIDATA:Q424689\n      - GENO:0000907\n      - NCIT:C26548\n    id_prefixes:\n      - UniProtKB\n      - gtpo\n      - PR\n\n  gene product isoform mixin:\n    description: >-\n      This is an abstract class that can be mixed in with different kinds of\n      gene products to indicate that the gene product is intended to represent\n      a specific isoform rather than a canonical or reference or generic\n      product. The designation of canonical or reference may be arbitrary,\n      or it may represent the superclass of all isoforms.\n    is_a: gene product mixin\n    mixin: true\n\n  macromolecular complex:\n    description: >-\n      A stable assembly of two or more macromolecules, i.e. proteins,\n      nucleic acids, carbohydrates or lipids, in which at least one\n      component is a protein and the constituent parts function together.\n    is_a: biological entity\n    mixins:\n      - macromolecular machine mixin\n    exact_mappings:\n      - GO:0032991\n      - WIKIDATA:Q22325163\n    id_prefixes:\n      - INTACT\n      - GO\n      - PR\n      - REACT\n      - ComplexPortal\n    in_subset:\n      - model_organism_database\n\n   ## Genomic Classes\n  nucleosome modification:\n    is_a: biological entity\n    description: >-\n      A chemical modification of a histone protein within a nucleosome octomer or a substitution of a histone with a variant histone isoform.\n      e.g. Histone 4 Lysine 20 methylation (H4K20me), histone variant H2AZ substituting H2A.\n    mixins:\n      - gene product isoform mixin\n      - genomic entity\n      - epigenomic entity\n\n  genome:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A genome is the sum of genetic material within a cell or virion.\n    exact_mappings:\n      - SO:0001026\n      - SIO:000984\n      - WIKIDATA:Q7020\n    close_mappings:\n      - dcid:GenomeAssemblyUnit\n    in_subset:\n      - model_organism_database\n\n  exon:\n    is_a: biological entity\n    description: >-\n      A region of the transcript sequence within a gene which is not\n      removed from the primary RNA transcript by RNA splicing.\n    exact_mappings:\n      - SO:0000147\n      - SIO:010445\n      - WIKIDATA:Q373027\n\n  transcript:\n    is_a: biological entity\n    description: >-\n      An RNA synthesized on a DNA or RNA template by an RNA polymerase.\n    exact_mappings:\n      - SO:0000673\n      - SIO:010450\n      - WIKIDATA:Q7243183\n      - dcid:RNATranscript\n    id_prefixes:\n      - ENSEMBL  # ENSEMBL:ENST for human\n      - FB       # FlyBase:FBtr\n    in_subset:\n      - model_organism_database\n\n  coding sequence:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n    exact_mappings:\n      - SO:0000316\n      - SIO:001390\n\n  polypeptide:\n    aliases: ['amino acid entity']\n    is_a: biological entity\n    description: >-\n      A polypeptide is a molecular entity characterized by availability\n      in protein databases of amino-acid-based sequence representations\n      of its precise primary structure; for convenience of representation,\n      partial sequences of various kinds are included, even if they do not\n      represent a physical molecule.\n    mixins:\n      - chemical entity or gene or gene product\n      - chemical entity or protein or polypeptide\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL  # ENSEMBL:ENSP*\n      - FB       # FlyBase FBpp*\n      - UMLS\n    in_subset:\n      - model_organism_database\n    narrow_mappings:\n      - SO:0000104  # polypeptide defined in SO conflates protein and polypeptide\n       # Amino Acid, Peptide, or Protein\n      - STY:T116\n       # Amino Acid Sequence\n      - STY:T087\n\n  protein:\n    description: >-\n      A gene product that is composed of a chain of amino acid sequences\n      and is produced by ribosome-mediated translation of mRNA\n    is_a: polypeptide\n    mixins:\n      - gene product mixin\n    id_prefixes:\n      - UniProtKB\n      - PR\n      - ENSEMBL  # ENSEMBL:ENSP*\n      - FB       # FlyBase FBpp*\n      - UMLS\n      - MESH\n      - ncats.drug\n    broad_mappings:\n      - bioschemas:Protein\n    exact_mappings:\n      - PR:000000001\n      - SIO:010043\n      - WIKIDATA:Q8054\n    narrow_mappings:\n       # Enzyme\n      - STY:T126\n       # Receptor\n      - STY:T192\n\n  protein isoform:\n    aliases: ['proteoform']\n    is_a: protein\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or\n      reference protein. See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4114032/\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - UniProtKB  # UniProtKB:([A-Z0-9]+-\\d+)\n      - UNIPROT.ISOFORM\n      - PR\n      - ENSEMBL\n\n  protein domain:\n    is_a: biological entity\n    description: >-\n      A conserved part of protein sequence and (tertiary) structure that can evolve,\n      function, and exist independently of the rest of the protein chain.\n      Protein domains maintain their structure and function independently of the proteins in which they are found.\n      e.g. an SH3 domain.\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    exact_mappings:\n      - NCIT:C13379\n      - SIO:001379\n      - UMLS:C1514562\n\n  posttranslational modification:\n    is_a: biological entity\n    description: >-\n      A chemical modification of a polypeptide or protein that occurs after translation.\n      e.g. polypeptide cleavage to form separate proteins, methylation or acetylation of histone tail amino acids,\n      protein ubiquitination.\n    mixins:\n      - gene product isoform mixin\n\n  protein family:\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n\n  nucleic acid sequence motif:\n    aliases: ['consensus sequence']\n    is_a: biological entity\n    description: >-\n      A linear nucleotide sequence pattern that is widespread and has, or is conjectured to have,\n      a biological significance. e.g. the TATA box promoter motif, transcription factor binding\n      consensus sequences.\n\n  RNA product:\n    is_a: transcript\n    mixins:\n      - gene product mixin\n    exact_mappings:\n      - CHEBI:33697\n       # This SIO term here also mapped to 'biolink:Transcript'; however,\n       # since this 'biolink:RNAProduct' relates more to the biochemical\n       # essence of RNA, then map the SIO term instead to 'biolink:Transcript'\n       # - SIO:010450\n      - WIKIDATA:Q11053\n    id_prefixes:\n      - RNACENTRAL\n\n  RNA product isoform:\n    is_a: RNA product\n    description: >-\n      Represents a protein that is a specific isoform of the canonical or reference RNA\n    mixins:\n      - gene product isoform mixin\n    id_prefixes:\n      - RNACENTRAL\n\n  noncoding RNA product:\n    is_a: RNA product\n    id_prefixes:\n      - RNACENTRAL\n      - NCBIGene\n      - ENSEMBL\n    exact_mappings:\n      - SO:0000655\n      - SIO:001235\n\n  microRNA:\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000276\n      - SIO:001397\n      - WIKIDATA:Q310899\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  siRNA:\n    aliases: ['small interfering RNA', 'RNAi']\n    description: >-\n      A small RNA molecule that is the product of a longer exogenous or\n      endogenous dsRNA, which is either a bimolecular duplex or very long\n      hairpin, processed (via the Dicer pathway) such that numerous siRNAs\n      accumulate from both strands of the dsRNA. SRNAs trigger the cleavage\n      of their target molecules.\n    is_a: noncoding RNA product\n    exact_mappings:\n      - SO:0000646\n      - WIKIDATA:Q203221\n    id_prefixes:\n      - MIR\n      - HGNC\n      - WormBase\n    in_subset:\n      - model_organism_database\n\n  gene grouping mixin:\n    description: >-\n      any grouping of multiple genes or gene products\n    mixin: true\n    slots:\n      - has gene or gene product\n\n  gene family:\n    aliases: ['orthogroup', 'protein family']\n    is_a: biological entity\n    exact_mappings:\n      - NCIT:C26004\n      - WIKIDATA:Q2278983\n    narrow_mappings:\n       # These term definitions focus only on proteins;\n       # the 'biolink:GeneFamily' term would be more inclusive\n       # to describe gene loci, non-coding RNA, etc.\n      - SIO:001380\n      - NCIT:C20130\n      - WIKIDATA:Q417841\n    mixins:\n      - gene grouping mixin\n      - chemical entity or gene or gene product\n    description: >-\n      any grouping of multiple genes or gene products related by common descent\n    id_prefixes:\n      - PANTHER.FAMILY\n      - HGNC.FAMILY\n      - FB        # FlyBase FBgg*\n      - interpro  # note: may be better to introduce a protein domain/family\n      - CATH\n      - CDD\n      - HAMAP\n      - PFAM\n      - PIRSF\n      - PRINTS\n      - PRODOM\n      - PROSITE\n      - SMART\n      - SUPFAM\n      - TIGRFAM\n      - CATH.SUPERFAMILY\n      - RFAM  ## RNAs only\n      - KEGG.ORTHOLOGY  ## aka KEGG.KO: K number\n      - EGGNOG\n      - COG\n    in_subset:\n      - model_organism_database\n\n  zygosity:\n    is_a: attribute\n    exact_mappings:\n      - GENO:0000133\n\n  genotype:\n    is_a: biological entity\n    mixins:\n      - physical essence\n      - genomic entity\n      - ontology class\n    description: >-\n      An information content entity that describes a genome by specifying the\n      total variation in genomic sequence and/or gene expression, relative to\n      some established background\n    comments:\n      - Consider renaming as genotypic entity\n    slots:\n      - has zygosity\n    exact_mappings:\n      - GENO:0000536\n      - SIO:001079\n    id_prefixes:\n      - ZFIN\n      - FB    # FlyBase FBba*\n    in_subset:\n      - model_organism_database\n\n  haplotype:\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A set of zero or more Alleles on a single instance of a Sequence[VMC]\n     #    slots:\n     #      - completeness\n    exact_mappings:\n      - GENO:0000871\n      - SO:0001024\n      - VMC:Haplotype\n\n  sequence variant:\n    aliases: ['allele']\n    local_names:\n      agr: allele\n    is_a: biological entity\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    description: >-\n      A sequence_variant is a non exact copy of a sequence_feature or genome exhibiting one or more sequence_alteration.\n    comments:\n      - This class is for modeling the specific state at a locus.\n        A single DBSNP rs ID could correspond to more than one sequence variants\n        (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)\n    exact_mappings:\n       # slightly broader semantics than SO:0001059 - 'sequence alteration'\n       # describes a sequence feature that may have 1..* sequence alterations\n      - WIKIDATA:Q15304597\n    close_mappings:\n      - dcid:Allele\n      - SO:0001060\n      - VMC:Allele\n      - GENO:0000002\n      - SIO:010277\n      - SO:0001060\n    id_prefixes:\n      - CAID  # ClinGen Allele Registry\n      - CLINVAR\n      - WIKIDATA\n       # - CIViC needs IRI mapping\n      - DBSNP\n      - MGI\n      - ZFIN\n      - FB\n      - RGD\n      - AGRKB\n      - SPDI\n      - WB\n      - WormBase\n      - PHARMGKB.VARIANT\n    alt_descriptions:\n      AGR: >-\n        An entity that describes a single affected, endogenous allele.\n        These can be of any type that matches that definition\n      VMC: >-\n        A contiguous change at a Location\n    slots:\n      - has gene\n    slot_usage:\n      has gene:\n        multivalued: true\n        description: Each allele can be associated with any number of genes\n      has biological sequence:\n        description: >-\n          The state of the sequence w.r.t a reference sequence\n      id:\n        examples:\n          - value: ZFIN:ZDB-ALT-980203-1091\n            description: ti282a allele from ZFIN\n          - value: CLINVAR:17681\n            description: NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)\n    in_subset:\n      - model_organism_database\n\n  snv:\n    aliases: ['single nucleotide variant', 'single nucleotide polymorphism', 'snp']\n    is_a: sequence variant\n    description: >-\n      SNVs are single nucleotide positions in genomic DNA at\n      which different sequence alternatives exist\n    exact_mappings:\n      - SO:0001483\n\n  reagent targeted gene:\n    aliases: ['sequence targeting reagent']\n    is_a: biological entity\n    description: >-\n      A gene altered in its expression level in the context of some\n      experiment as a result of being targeted by gene-knockdown\n      reagent(s) such as a morpholino or RNAi.\n    mixins:\n      - genomic entity\n      - physical essence\n      - ontology class\n    exact_mappings:\n      - GENO:0000504\n    in_subset:\n      - model_organism_database\n\n   ## --------------------\n   ## Clinical\n   ## Attributes, Cohort,\n   ## Exposures & Outcomes\n   ## --------------------\n\n   ## Clinical Attributes\n\n  clinical attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a clinical manifestation\n    exact_mappings:\n       # Clinical Attribute\n      - STY:T201\n\n  clinical measurement:\n    is_a: clinical attribute\n    description: >-\n      A clinical measurement is a special kind of attribute which results\n      from a laboratory observation from a subject individual or sample.\n      Measurements can be connected to their subject by the 'has attribute' slot.\n    slot_usage:\n      has attribute type:\n        required: true\n        multivalued: false\n        values_from:\n          - EFO\n          - LOINC\n    exact_mappings:\n      - EFO:0001444\n\n  clinical modifier:\n    is_a: clinical attribute\n    description: >-\n      Used to characterize and specify the phenotypic abnormalities\n      defined in the phenotypic abnormality sub-ontology, with respect\n      to severity, laterality, and other aspects\n    exact_mappings:\n\n\n  clinical course:\n    is_a: clinical attribute\n    description: >-\n      The course a disease typically takes from its onset, progression in time, and\n      eventual resolution or death of the affected individual\n    exact_mappings:\n      - HP:0031797\n\n  onset:\n    is_a: clinical course\n    description: >-\n      The age group in which (disease) symptom manifestations appear.\n    notes: >-\n      This class is in Biolink to support HP ontology annotations which use \"onset\" (with terms from HP) \n      as an annotation on a disease to phenotypic feature association.  This should be the primary use\n      case for this class.\n    exact_mappings:\n      - HP:0003674\n\n  clinical entity:\n    is_a: named thing\n    description: >-\n      Any entity or process that exists in the clinical domain and outside the\n      biological realm. Diseases are placed under biological entities\n\n  clinical trial:\n    is_a: clinical entity\n\n  clinical intervention:\n    is_a: clinical entity\n\n  clinical finding:\n    is_a: phenotypic feature\n    description: >-\n      this category is currently considered broad enough to tag clinical lab\n      measurements and other biological attributes taken as 'clinical traits'\n      with some statistical score, for example, a p value in genetic associations.\n    slot_usage:\n      has attribute:\n        range: clinical attribute\n    id_prefixes:\n      - LOINC\n      - NCIT\n      - EFO\n\n  hospitalization:\n    is_a: clinical intervention\n    exact_mappings:\n      - SNOMEDCT:32485007\n      - WIKIDATA:Q3140971\n\n  socioeconomic attribute:\n    is_a: attribute\n    description: >-\n      Attributes relating to a socioeconomic manifestation\n\n   ## Cohorts\n\n  case:\n    aliases: ['patient', 'proband']\n    is_a: individual organism\n    description: >-\n      An individual (human) organism that has a patient role in some clinical context.\n    mixins:\n      - subject of investigation\n\n  cohort:\n    is_a: study population\n    description: >-\n      A group of people banded together or treated as a group who share common characteristics.\n      A cohort 'study' is a particular form of longitudinal study that samples a cohort,\n      performing a cross-section at intervals through time.\n    mixins:\n      - subject of investigation\n    exact_mappings:\n      - WIKIDATA:Q1303415\n    narrow_mappings:\n       # Professional or Occupational Group\n      - STY:T097\n       # Family Group\n      - STY:T099\n       # Age Group\n      - STY:T100\n       # Patient or Disabled Group\n      - STY:T101\n\n   ## Exposures\n\n  exposure event:\n    is_a: ontology class\n    aliases: ['exposure', 'experimental condition']\n    mixin: true\n    slots:\n      - timepoint\n    description: >-\n      A (possibly time bounded) incidence of a feature of the environment of an organism that\n      influences one or more phenotypic features of that organism, potentially mediated by genes\n    exact_mappings:\n      - XCO:0000000\n    in_subset:\n      - model_organism_database\n\n   # TODO - confirm that genomic backgrounds are exposures\n  genomic background exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - gene grouping mixin\n      - physical essence\n      - genomic entity\n      - thing with taxon\n      - ontology class\n    description: >-\n      A genomic background exposure is where an individual's specific genomic background\n      of genes, sequence variants or other pre-existing genomic conditions constitute\n      a kind of 'exposure' to the organism, leading to or influencing an outcome.\n\n  pathological entity mixin:\n    description: >-\n      A pathological (abnormal) structure or process.\n    mixin: true\n    exact_mappings:\n      - MPATH:0\n    narrow_mappings:\n      - HP:0000118\n\n  pathological process:\n    description: >-\n      A biologic function or a process having an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: biological process\n    mixins:\n      - pathological entity mixin\n    exact_mappings:\n      - OBI:1110122\n      - NCIT:C16956\n      - MPATH:596\n    narrow_mappings:\n       # metastasis\n      - NCIT:C19151\n      - EFO:0009708\n      - STY:T046\n      - STY:T037\n\n  pathological process exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A pathological process, when viewed as an exposure, representing\n      a precondition, leading to or influencing an outcome,\n      e.g. autoimmunity leading to disease.\n\n  pathological anatomical structure:\n    description: >-\n      An anatomical structure with the potential of have an abnormal or deleterious\n      effect at the subcellular, cellular, multicellular, or organismal level.\n    is_a: anatomical entity\n    mixins:\n      - pathological entity mixin\n    exact_mappings:\n      - MPATH:603\n\n  pathological anatomical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      An abnormal anatomical structure, when viewed as an exposure,\n      representing an precondition, leading to or influencing an outcome,\n      e.g. thrombosis leading to an ischemic disease outcome.\n\n  disease or phenotypic feature exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n      - pathological entity mixin\n    description: >-\n      A disease or phenotypic feature state, when viewed as an exposure,\n      represents an precondition, leading to or influencing an outcome,\n      e.g. HIV predisposing an individual to infections; a relative deficiency\n      of skin pigmentation predisposing an individual to skin cancer.\n\n  chemical exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    slots:\n      - has quantitative value\n    description: >-\n      A chemical exposure is an intake of a particular\n      chemical entity.\n    exact_mappings:\n       # this ECTO term is not visibly defined but\n       # the 9000000-series identifiers seems to be the\n       # numeric space of chemical exposure definitions\n      - ECTO:9000000\n      - SIO:001399\n\n  complex chemical exposure:\n    is_a: attribute\n    description: >-\n      A complex chemical exposure is an intake of a chemical\n      mixture (e.g. gasoline), other than a drug.\n\n  drug exposure:\n    is_a: chemical exposure\n    aliases: ['drug intake', 'drug dose', 'medication intake']\n    description: >-\n      A drug exposure is an intake of a particular drug.\n    mixins:\n      - exposure event\n    broad_mappings:\n       # slightly broader than just drug effects on a biological system\n      - SIO:001005\n    exact_mappings:\n      - ECTO:0000509\n\n   # TODO: deprecate?\n  drug to gene interaction exposure:\n    description: >-\n      drug to gene interaction exposure is a drug exposure is where the\n      interactions of the drug with specific genes are known to constitute\n      an 'exposure' to the organism, leading to or influencing an outcome.\n    is_a: drug exposure\n    mixins:\n      - gene grouping mixin\n\n  treatment:\n    aliases: ['medical action', 'medical intervention']\n     # 'named thing' seems too generic here but not sure what applies better here\n    is_a: named thing\n    mixins:\n      - exposure event\n      - chemical or drug or treatment\n    description: >-\n      A treatment is targeted at a disease or phenotype and may involve\n      multiple drug 'exposures', medical devices and/or procedures\n    slots:\n      - has drug\n      - has device\n      - has procedure\n    exact_mappings:\n      - OGMS:0000090\n      - SIO:001398\n    broad_mappings:\n      - MAXO:0000058\n\n  biotic exposure:\n    is_a: attribute\n    aliases: ['viral exposure', 'bacterial exposure']\n    mixins:\n      - exposure event\n    description: >-\n      An external biotic exposure is an intake of (sometimes pathological)\n      biological organisms (including viruses).\n\n  geographic exposure:\n    is_a: environmental exposure\n    mixins:\n      - exposure event\n    description: >-\n      A geographic exposure is a factor relating to geographic\n      proximity to some impactful entity.\n    close_mappings:\n      - dcid:GeologicalEvent\n    narrow_mappings:\n      - dcid:IceStoremEvent\n      - dcid:LakeEffectSnowEvent\n      - dcid:LandslideEvent\n      - dcid:MarineDenseFogEvent\n      - dcid:MarineLighteningEvent\n      - dcid:MarineStrongWindEvent\n      - dcid:MarineThunderstormWindEvent\n      - dcid:StormEvent\n      - dcid:StormSurgeTideEvent\n      - dcid:StrongWindEvent\n      - dcid:ThunderstormWindEvent\n      - dcid:TornadoEvent\n      - dcid:TropicalDepressionEvent\n      - dcid:WinterStoremEvent\n\n  environmental exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A environmental exposure is a factor relating to abiotic processes\n      in the environment including sunlight (UV-B), atmospheric (heat,\n      cold, general pollution) and water-born contaminants.\n\n  behavioral exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A behavioral exposure is a factor relating to behavior impacting an individual.\n\n  socioeconomic exposure:\n    is_a: attribute\n    mixins:\n      - exposure event\n    description: >-\n      A socioeconomic exposure is a factor relating to social and\n      financial status of an affected individual (e.g. poverty).\n    slot_usage:\n      has attribute:\n        range: socioeconomic attribute\n        required: true\n\n   ## Outcomes\n\n  outcome:\n    mixin: true\n    description: >-\n      An entity that has the role of being the consequence of an exposure event.\n      This is an abstract mixin grouping of various categories of possible\n      biological or non-biological (e.g. clinical) outcomes.\n\n  pathological process outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of a pathological process.\n\n  pathological anatomical outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which\n      is the manifestation of an abnormal anatomical structure.\n\n  disease or phenotypic feature outcome:\n    mixins:\n      - outcome\n    description: >-\n      Physiological outcomes resulting from an exposure event which\n      is the manifestation of a disease or other characteristic phenotype.\n\n  behavioral outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the manifestation of human behavior.\n\n  hospitalization outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome resulting from an exposure event which is\n      the increased manifestation of acute (e.g. emergency\n      room visit) or chronic (inpatient) hospitalization.\n\n  mortality outcome:\n    mixins:\n      - outcome\n    description: >-\n      An outcome of death from resulting from an exposure event.\n\n  epidemiological outcome:\n    mixins:\n      - outcome\n    description: >-\n      An epidemiological outcome, such as societal disease\n      burden, resulting from an exposure event.\n    related_mappings:\n      - NCIT:C19291\n\n  socioeconomic outcome:\n    mixins:\n      - outcome\n    description: >-\n      An general social or economic outcome, such as\n      healthcare costs, utilization, etc., resulting from an exposure event\n\n   ## ------------\n   ## ASSOCIATIONS\n   ## ------------\n\n  association:\n    is_a: entity\n    description: >-\n      A typed association between two entities, supported by evidence\n    comments:\n      - This is roughly the model used by biolink and ontobio at the moment\n    slots:\n      - subject\n      - predicate\n      - object\n      - negated\n      - qualifier\n      - qualifiers  # deprecated\n      - publications\n      - has evidence\n      - knowledge source\n      - primary knowledge source\n      - aggregator knowledge source\n      - knowledge level\n      - agent type\n      - timepoint\n      - original subject\n      - original predicate\n      - original object\n       # denormalized fields\n      - subject category\n      - object category\n      - subject closure\n      - object closure\n      - subject category closure\n      - object category closure\n      - subject namespace\n      - object namespace\n      - subject label closure\n      - object label closure\n      - retrieval source ids\n    slot_usage:\n      type:\n        description: rdf:type of biolink:Association should be fixed at rdf:Statement\n      category:\n        range: uriorcurie\n        required: false\n    exact_mappings:\n      - OBAN:association\n      - rdf:Statement\n      - owl:Axiom\n\n\n  chemical entity assesses named thing association:\n    is_a: association\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: assesses\n\n\n  contributor association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      Any association between an entity (such as a publication)\n      and various agents that contribute to its realisation\n    slot_usage:\n      subject:\n        range: information content entity\n        description: >-\n          information content entity which an agent has helped realise\n      predicate:\n        subproperty_of: contributor\n        description: >-\n          generally one of the predicate values 'provider', 'publisher', 'editor' or 'author'\n      object:\n        range: agent\n        description: >-\n          agent helping to realise the given entity (e.g. such as a publication)\n      qualifiers:\n        description: >-\n          this field can be used to annotate special characteristics of an\n          agent relationship, such as the fact that a given author agent of\n          a publication is the 'corresponding author'\n\n  genotype to genotype part association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a genotypic entity that is a sub-component of it\n    slot_usage:\n      predicate:\n        subproperty_of: has variant part\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: genotype\n        description: >-\n          child genotype\n\n  genotype to gene association:\n    description: >-\n      Any association between a genotype and a gene.\n      The genotype have have multiple variants in that gene or a single one.\n      There is no assumption of cardinality\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: gene\n        description: >-\n          gene implicated in genotype\n\n  genotype to variant association:\n    description: >-\n      Any association between a genotype and a sequence variant.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      predicate:\n        description: >-\n          the relationship type used to connect genotype to gene\n      subject:\n        range: genotype\n        description: >-\n          parent genotype\n      object:\n        range: sequence variant\n        description: >-\n          gene implicated in genotype\n\n  gene to gene association:\n    aliases: ['molecular or genetic interaction']\n    description: >-\n      abstract parent class for different kinds of gene-gene or gene product\n      to gene product relationships. Includes homology and interaction.\n    abstract: true\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          the subject gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n      object:\n        range: gene or gene product\n        description: >-\n          the object gene in the association. If the relation is symmetric,\n          subject vs object is arbitrary. We allow a gene product to stand\n          as a proxy for the gene or vice versa.\n\n  gene to gene homology association:\n    description: >-\n      A homology association between two genes. May be orthology (in which\n      case the species of subject and object should differ) or paralogy\n      (in which case the species may be the same)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene or gene product\n      predicate:\n        subproperty_of: homologous to\n        symmetric: true\n        description: >-\n          homology relationship type\n      object:\n        range: gene or gene product\n\n  gene to gene family association:\n    description: >-\n      Set membership of a gene in a family of genes related by common\n      evolutionary ancestry usually inferred by sequence comparisons.\n      The genes in a given family generally share common sequence motifs which\n      generally map onto shared gene product structure-function relationships.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene family\n      predicate:\n        subproperty_of: member of\n        symmetric: false\n        description: >-\n          membership of the gene in the given gene family.\n\n  gene expression mixin:\n    description: >-\n      Observed gene expression intensity, context (site, stage) and\n      associated phenotypic status within which the expression occurs.\n    mixin: true\n    slots:\n      - quantifier qualifier\n      - expression site\n      - stage qualifier\n      - phenotypic state\n    slot_usage:\n      quantifier qualifier:\n        description: >-\n          Optional quantitative value indicating degree of expression.\n\n  gene to gene coexpression association:\n    description: >-\n      Indicates that two genes are co-expressed,\n      generally under the same conditions.\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: coexpressed with\n        symmetric: true\n\n  pairwise gene to gene interaction:\n    description: >-\n      An interaction between two genes or two gene products.\n      May be physical (e.g. protein binding) or genetic (between genes).\n      May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)\n    is_a: gene to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      predicate:\n        subproperty_of: interacts with\n        symmetric: true\n        description: \"interaction relationship type\"\n    narrow_mappings:\n      - dcid:ProteinProteinInteraction\n\n  pairwise molecular interaction:\n    description: >-\n      An interaction at the molecular level between two physical entities\n    is_a: pairwise gene to gene interaction\n    slots:\n      - interacting molecules category\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: molecular entity\n      id:\n        description: >-\n          identifier for the interaction. This may come from an interaction database such as IMEX.\n        examples:\n          - value: WB:WBInteraction000538741\n        values_from:\n          - IMEX\n          - BioGRID\n      predicate:\n        subproperty_of: interacts with\n        description: \"interaction relationship type\"\n        examples:\n          - value: RO:0002447\n            description: the subject molecular phosphorylates the object molecule\n      object:\n        range: molecular entity\n\n  cell line to entity association mixin:\n    description: >-\n      An relationship between a cell line and another entity\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: cell line\n\n   # TODO: figure out what gives with subject range\n  cell line to disease or phenotypic feature association:\n    is_a: association\n    mixins:\n      - cell line to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    description: >-\n      An relationship between a cell line and a disease or a phenotype, where\n      the cell line is derived from an individual with that disease or phenotype.\n    slot_usage:\n      subject:\n         #        - range: cell line\n         #        - range: disease or phenotypic feature\n        range: disease or phenotypic feature\n\n  chemical entity to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity that is an interactor\"\n\n  drug to entity association mixin:\n    description: >-\n      An interaction between a drug and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: drug\n        description: \"the drug that is an interactor\"\n\n  chemical to entity association mixin:\n    description: >-\n      An interaction between a chemical entity and another entity\n    is_a: chemical entity to entity association mixin\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: chemical entity or gene or gene product\n        description: \"the chemical entity or entity that is an interactor\"\n\n  case to entity association mixin:\n    description: >-\n      An abstract association for use where the case is the subject\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: case\n        description: \"the case (e.g. patient) that has the property\"\n\n  chemical to chemical association:\n    description: >-\n      A relationship between two chemical entities. This can encompass actual\n      interactions as well as temporal causal edges, e.g. one chemical converted to another.\n    is_a: association\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      object:\n        range: chemical entity\n        description: \"the chemical element that is the target of the statement\"\n\n  reaction to participant association:\n    description:\n    is_a: chemical to chemical association\n    slots:\n      - stoichiometry\n      - reaction direction\n      - reaction side\n    slot_usage:\n      subject:\n        range: molecular entity\n    defining_slots:\n      - subject\n      - predicate\n      - object\n\n  reaction to catalyst association:\n    description:\n    is_a: reaction to participant association\n    slot_usage:\n      object:\n        range: gene or gene product\n\n  chemical to chemical derivation association:\n    description: >-\n      A causal relationship between two chemical entities, where the subject\n      represents the upstream entity and the object represents the downstream.\n      For any such association there is an implicit reaction: IF R has-input C1 AND\n      R has-output C2 AND R enabled-by P AND\n      R type Reaction THEN C1 derives-into C2 catalyst qualifier P\n    is_a: chemical to chemical association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - catalyst qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: >-\n          the upstream chemical entity\n      object:\n        range: chemical entity\n        description: >-\n          the downstream chemical entity\n      predicate:\n        subproperty_of: derives into\n      catalyst qualifier:\n        description: >-\n          this connects the derivation edge to the chemical entity that\n          catalyzes the reaction that causes the subject chemical to\n          transform into the object chemical.\n\n  chemical to disease or phenotypic feature association:\n    description: >-\n      An interaction between a chemical entity and a phenotype or disease,\n      where the presence of the chemical gives rise to or exacerbates the phenotype.\n    is_a: association\n    narrow_mappings:\n      - SIO:000993\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"the disease or phenotype that is affected by the chemical\"\n\n  chemical or drug or treatment to disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary undesirable effect.\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slots:\n      - FDA adverse event level\n    slot_usage:\n      predicate:\n        subproperty_of: has adverse event\n\n  chemical or drug or treatment side effect disease or phenotypic feature association:\n    description: >-\n      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature\n      where the disesae or phenotypic feature is a secondary, typically (but not always) undesirable effect.\n    is_a: chemical or drug or treatment to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - chemical to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has side effect\n\n  gene to pathway association:\n    description: >-\n      An interaction between a gene or gene product and a biological process or pathway.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"the gene or gene product entity that participates or influences the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that includes or is affected by the gene or gene product\"\n\n  molecular activity to pathway association:\n    description: >-\n      Association that holds the relationship between a reaction and the pathway it participates in.\n    is_a: association\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: pathway\n      predicate:\n        subproperty_of: part of\n\n  chemical to pathway association:\n    description: >-\n      An interaction between a chemical entity and a biological process or pathway.\n    is_a: association\n    exact_mappings:\n      - SIO:001250\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - chemical to entity association mixin\n    slot_usage:\n      subject:\n        range: chemical entity\n        description: \"the chemical entity that is affecting the pathway\"\n      object:\n        range: pathway\n        description: \"the pathway that is affected by the chemical\"\n\n  named thing associated with likelihood of named thing association:\n     # TODO: better name\n    description: >-\n    is_a: association\n    slots:\n      - subject\n      - subject aspect qualifier\n      - subject context qualifier\n      - predicate\n      - object\n      - object aspect qualifier\n      - object context qualifier\n      - population context qualifier\n    defining_slots:\n      - subject\n      - subject aspect qualifier\n      - subject context qualifier\n      - predicate\n      - object\n      - object aspect qualifier\n      - object context qualifier\n      - population context qualifier\n    slot_usage:\n      predicate:\n        subproperty_of: associated with\n      subject aspect qualifier:\n       # TODO: range\n      subject context qualifier:\n        range: ontology class\n      object aspect qualifier:\n       # TODO: range\n      object context qualifier:\n        range: ontology class\n\n  chemical gene interaction association:\n    description: >-\n      describes a physical interaction between a chemical entity and a gene or gene product. Any biological or chemical\n      effect resulting from such an interaction are out of scope, and covered by the ChemicalAffectsGeneAssociation type\n      (e.g. impact of a chemical on the abundance, activity, structure, etc, of either participant in the interaction)\n    is_a: association\n    exact_mappings:\n      - SIO:001257\n    mixins:\n      - chemical to entity association mixin\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject context qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object context qualifier\n      - anatomical context qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n      object:\n        range: gene or gene product\n      predicate:\n        subproperty_of: physically interacts with\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      subject context qualifier:\n        range: anatomical entity\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object context qualifier:\n        range: anatomical entity\n      anatomical context qualifier:\n        range: anatomical entity\n\n  chemical affects gene association:\n    description: >-\n      Describes an effect that a chemical has on a gene or gene product (e.g. an impact\n      of on its abundance, activity,localization, processing, expression, etc.)\n    is_a: association\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject aspect qualifier\n      - subject context qualifier\n      - subject direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object aspect qualifier\n      - object context qualifier\n      - object direction qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - qualified predicate\n      - species context qualifier\n    slot_usage:\n      subject:\n        range: chemical entity\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      subject aspect qualifier:\n        range: GeneOrGeneProductOrChemicalEntityAspectEnum\n      subject context qualifier:\n        range: anatomical entity\n      subject direction qualifier:\n        range: DirectionQualifierEnum\n      predicate:\n        subproperty_of: affects\n      qualified predicate:\n        subproperty_of: causes\n      object:\n        range: gene or gene product\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object aspect qualifier:\n        range: GeneOrGeneProductOrChemicalEntityAspectEnum\n      object context qualifier:\n        range: anatomical entity\n      object direction qualifier:\n        range: DirectionQualifierEnum\n      causal mechanism qualifier:\n        range: CausalMechanismQualifierEnum\n      anatomical context qualifier:\n        range: anatomical entity\n      species context qualifier:\n        range: organism taxon\n\n  gene affects chemical association:\n    description: >-\n      Describes an effect that a gene or gene product has on a chemical entity (e.g. an impact\n      of on its abundance, activity, localization, processing, transport, etc.)\n    examples:\n      value:\n        subject: TRPC4\n        predicate: affects\n        qualified_predicte: causes\n        object: Barium\n        object_aspect_qualifier: transport\n        object_direction_qualifier: increased\n    is_a: association\n    slots:\n      - subject form or variant qualifier\n      - subject part qualifier\n      - subject derivative qualifier\n      - subject aspect qualifier\n      - subject context qualifier\n      - subject direction qualifier\n      - object form or variant qualifier\n      - object part qualifier\n      - object aspect qualifier\n      - object context qualifier\n      - object direction qualifier\n      - object derivative qualifier\n      - causal mechanism qualifier\n      - anatomical context qualifier\n      - qualified predicate\n      - species context qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n      subject form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      subject part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      subject aspect qualifier:\n        range: GeneOrGeneProductOrChemicalEntityAspectEnum\n      subject context qualifier:\n        range: anatomical entity\n      subject direction qualifier:\n        range: DirectionQualifierEnum\n      predicate:\n        subproperty_of: affects\n      qualified predicate:\n        subproperty_of: causes\n      object:\n        range: chemical entity\n      object form or variant qualifier:\n        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum\n      object part qualifier:\n        range: GeneOrGeneProductOrChemicalPartQualifierEnum\n      object derivative qualifier:\n        range: ChemicalEntityDerivativeEnum\n      object aspect qualifier:\n        range: GeneOrGeneProductOrChemicalEntityAspectEnum\n      object context qualifier:\n        range: anatomical entity\n      object direction qualifier:\n        range: DirectionQualifierEnum\n      causal mechanism qualifier:\n        range: CausalMechanismQualifierEnum\n      anatomical context qualifier:\n        range: anatomical entity\n      species context qualifier:\n        range: organism taxon\n\n  drug to gene association:\n    description: >-\n      An interaction between a drug and a gene or gene product.\n    is_a: association\n    related_mappings:\n      - SIO:001257\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - drug to entity association mixin\n    slot_usage:\n      object:\n        range: gene or gene product\n        description: \"the gene or gene product that is affected by the drug\"\n\n  material sample to entity association mixin:\n    description: >-\n      An association between a material sample and something.\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n\n  material sample derivation association:\n    description: >-\n      An association between a material sample and\n      the material entity from which it is derived.\n    is_a: association\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n      - predicate\n    slot_usage:\n      subject:\n        range: material sample\n        description: >-\n          the material sample being described\n      object:\n        description: >-\n          the material entity the sample was derived from. This may be another\n          material sample, or any other material entity, including for example\n          an organism, a geographic feature, or some environmental material.\n      predicate:\n        description: >-\n          derivation relationship\n        subproperty_of: derives from\n\n  material sample to disease or phenotypic feature association:\n    description: >-\n      An association between a material sample and a disease or phenotype.\n    is_a: association\n    mixins:\n      - material sample to entity association mixin\n      - entity to disease or phenotypic feature association mixin\n    defining_slots:\n      - subject\n      - object\n\n  disease to entity association mixin:\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease\n        description: \"disease class\"\n        values_from: ['mondo', 'omim', 'orphanet', 'ncit', 'doid']\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n\n  entity to exposure event association mixin:\n    description: >-\n      An association between some entity and an exposure event.\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: exposure event\n\n  disease to exposure event association:\n    description: >-\n      An association between an exposure event and a disease.\n    is_a: association\n    mixins:\n      - disease to entity association mixin\n      - entity to exposure event association mixin\n    defining_slots:\n      - subject\n      - object\n\n\n  entity to outcome association mixin:\n    description: >-\n      An association between some entity and an outcome\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: outcome\n\n  exposure event to outcome association:\n    description: >-\n      An association between an exposure event and an outcome.\n    is_a: association\n    mixins:\n      - entity to outcome association mixin\n    slots:\n      - population context qualifier\n      - temporal context qualifier\n    defining_slots:\n      - subject\n      - object\n\n  frequency qualifier mixin:\n    mixin: true\n    description: >-\n      Qualifier for frequency type associations\n    slots:\n      - frequency qualifier\n      - subject\n      - predicate\n      - object\n\n  entity to feature or disease qualifiers mixin:\n    description: >-\n      Qualifiers for entity to disease or phenotype associations.\n    mixin: true\n    is_a: frequency qualifier mixin\n    slots:\n      - subject aspect qualifier\n      - subject direction qualifier\n      - object aspect qualifier\n      - object direction qualifier\n      - qualified predicate\n\n  feature or disease qualifiers to entity mixin:\n    description: >-\n      Qualifiers for disease or phenotype to entity associations.\n    mixin: true\n    is_a: frequency qualifier mixin\n    slots:\n      - subject aspect qualifier\n      - subject direction qualifier\n      - object aspect qualifier\n      - object direction qualifier\n      - qualified predicate\n\n  entity to phenotypic feature association mixin:\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    mixins:\n      - frequency quantifier\n    slots:\n      - subject\n      - predicate\n      - object\n      - sex qualifier\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: phenotypic feature\n        values_from: ['upheno', 'hp', 'mp', 'wbphenotype']\n        examples:\n          - value: HP:0002487\n            description: Hyperkinesis\n          - value: WBPhenotype:0000180\n            description: axon morphology variant\n          - value: MP:0001569\n            description: abnormal circulating bilirubin level\n\n  phenotypic feature to entity association mixin:\n    mixin: true\n    is_a: feature or disease qualifiers to entity mixin\n    mixins:\n      - frequency quantifier\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: phenotypic feature\n        values_from: ['upheno', 'hp', 'mp', 'wbphenotype']\n        examples:\n          - value: HP:0002487\n            description: Hyperkinesis\n          - value: WBPhenotype:0000180\n            description: axon morphology variant\n          - value: MP:0001569\n            description: abnormal circulating bilirubin level\n    slots:\n      - sex qualifier\n\n  information content entity to named thing association:\n    description: >-\n      association between a named thing and a information content entity where the specific context\n      of the relationship between that named thing and the publication is unknown. For\n      example, model organisms databases often capture the knowledge that a gene is found in a\n      journal article, but not specifically the context in which that gene was documented in the article.\n      In these cases, this association with the accompanying predicate 'mentions' could be used.\n      Conversely, for more specific associations (like 'gene to disease association', the publication should\n      be captured as an edge property).\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        domain: publication\n      object:\n        range: named thing\n      predicate:\n        subproperty_of: mentions\n    in_subset:\n      - model_organism_database\n\n  entity to disease association mixin:\n    description: >-\n      mixin class for any association whose object (target node) is a disease\n    mixin: true\n    is_a: entity to feature or disease qualifiers mixin\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease\n        description: \"disease\"\n        examples:\n          - value: MONDO:0020066\n            description: \"Ehlers-Danlos syndrome\"\n\n  disease or phenotypic feature to entity association mixin:\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  disease or phenotypic feature to location association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      an anatomical entity, where the disease/feature manifests in that site.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      object:\n        range: anatomical entity\n        description: >-\n          anatomical entity in which the disease or feature is found.\n        examples:\n          - value: UBERON:0002048\n            description: \"lung\"\n\n  disease or phenotypic feature to genetic inheritance association:\n    description: >-\n      An association between either a disease or a phenotypic feature and\n      its mode of (genetic) inheritance.\n    is_a: association\n    mixins:\n      - disease or phenotypic feature to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has mode of inheritance\n      object:\n        range: genetic inheritance\n        description: >-\n          genetic inheritance associated with the specified disease or phenotypic feature.\n        examples:\n          - value: HP:0001417\n            description: \"X-linked inheritance\"\n\n  entity to disease or phenotypic feature association mixin:\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - object\n    slot_usage:\n      object:\n        range: disease or phenotypic feature\n        description: \"disease or phenotype\"\n        examples:\n          - value: MONDO:0017314\n            description: \"Ehlers-Danlos syndrome, vascular type\"\n          - value: MP:0013229\n            description: \"abnormal brain ventricle size\"\n\n  genotype to entity association mixin:\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: genotype\n        description: \"genotype that is the subject of the association\"\n\n  genotype to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between one genotype and a phenotypic feature, where having\n      the genotype confers the phenotype, either in isolation or through environment\n    mixins:\n      - entity to phenotypic feature association mixin\n      - genotype to entity association mixin\n    slot_usage:\n      predicate:\n        subproperty_of: has phenotype\n      subject:\n        range: genotype\n        description: >-\n          genotype that is associated with the phenotypic feature\n\n   # ie: smoke exposure to coughing phenotype? is this a denormalization?\n  exposure event to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      Any association between an environment and a phenotypic feature,\n      where being in the environment influences the phenotype.\n    mixins:\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: exposure event\n\n  disease to phenotypic feature association:\n    is_a: association\n    slots:\n      - onset qualifier\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      An association between a disease and a phenotypic feature in which the\n      phenotypic feature is associated with the disease in some way.\n    mixins:\n      - frequency quantifier\n      - entity to phenotypic feature association mixin\n      - disease to entity association mixin\n    close_mappings:\n      - dcid:DiseaseSymptomAssociation\n    slot_usage:\n      subject:\n        range: disease\n      object:\n        range: phenotypic feature\n\n  case to phenotypic feature association:\n    description: >-\n      An association between a case (e.g. individual patient) and a phenotypic\n      feature in which the individual has or has had the phenotype.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - case to entity association mixin\n\n  behavior to behavioral feature association:\n    description: >-\n      An association between an mixture behavior and\n      a behavioral feature manifested by\n      the individual exhibited or has exhibited the behavior.\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: behavior\n        description: >-\n          behavior that is the subject of the association\n      object:\n        range: behavioral feature\n        description: >-\n          behavioral feature that is the object of the association\n    mixins:\n      - entity to phenotypic feature association mixin\n\n  gene to entity association mixin:\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene that is the subject of the association\n\n  variant to entity association mixin:\n    slots:\n      - subject\n      - predicate\n      - object\n    local_names:\n      ga4gh: variant annotation\n    mixin: true\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is associated with some other entity\n        examples:\n          - value: CLINVAR:38077\n            description: \"CLINVAR representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)\"\n          - value: ClinGen:CA024716\n            description: \"chr13:g.32921033G>C (hg19) in ClinGen\"\n\n  gene to disease or phenotypic feature association:\n    is_a: association\n    mixins:\n      - entity to phenotypic feature association mixin\n      - gene to entity association mixin\n    narrow_mappings:\n      - WBVocab:Gene-Phenotype-Association\n      - dcid:DiseaseGeneAssociation\n      - SIO:000983\n    slots:\n      - subject aspect qualifier\n      - object direction qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"gene in which variation is correlated with the phenotypic feature\"\n        examples:\n          - value: HGNC:2197\n            description: \"COL1A1 (Human)\"\n      subject aspect qualifier:\n        range: GeneOrGeneProductOrChemicalEntityAspectEnum\n      object:\n        range: disease or phenotypic feature\n      object direction qualifier:\n        range: DirectionQualifierEnum\n      predicate:\n        subproperty_of: affects\n    comments:\n      - NCIT:R176 refers to the inverse relationship\n      - for use in describing the affect that the loss of function of a gene can have on exacerbating or ameliorating a symptom/phenotype\n      - if the relationship of the statement using this predicate is statistical in nature, please use `associated with likelihood` or one of its children.\n\n  gene to phenotypic feature association:\n    is_a: gene to disease or phenotypic feature association\n    exact_mappings:\n      - WBVocab:Gene-Phenotype-Association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to phenotypic feature association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: \"gene in which variation is correlated with the phenotypic feature\"\n        examples:\n          - value: HGNC:2197\n            description: \"COL1A1 (Human)\"\n      object:\n        range: phenotypic feature\n\n  gene to disease association:\n    is_a: gene to disease or phenotypic feature association\n    comments:\n      - NCIT:R176 refers to the inverse relationship\n    exact_mappings:\n      - SIO:000983\n    close_mappings:\n      - dcid:DiseaseGeneAssociation\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease,\n          may be protective or causative or associative, or as a model\n      object:\n        range: disease\n\n  causal gene to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is shown to cause the disease.\n      object:\n        range: disease\n\n  correlated gene to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is shown to correlate with the disease.\n      object:\n        range: disease\n\n  druggable gene to disease association:\n    is_a: gene to disease association\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          gene in which variation is correlated with the disease\n          in a protective manner, or if the product produced by the gene can be targeted by a small molecule and\n          this leads to a protective or improving disease state.\n      predicate:\n        subproperty_of: target for\n      has evidence:\n        range: DruggableGeneCategoryEnum\n    defining_slots:\n      - subject\n      - object\n      - predicate\n    mixins:\n      - entity to disease association mixin\n      - gene to entity association mixin\n\n  phenotypic feature to disease association:\n    is_a: association\n    slot_usage:\n      predicate:\n        subproperty_of: associated with\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - entity to disease association mixin\n      - phenotypic feature to entity association mixin\n\n  variant to gene association:\n    description: >-\n      An association between a variant and a gene, where the variant has\n      a genetic association with the gene (i.e. is in linkage disequilibrium)\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - variant to entity association mixin\n    slot_usage:\n      object:\n        range: gene\n      predicate:\n        subproperty_of: genetically associated with\n\n  variant to gene expression association:\n    description: >-\n      An association between a variant and expression of a gene (i.e. e-QTL)\n    is_a: variant to gene association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - gene expression mixin\n    slot_usage:\n      predicate:\n        subproperty_of: affects\n\n  variant to population association:\n    description: >-\n      An association between a variant and a population, where the variant has\n      particular frequency in the population\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - frequency quantifier\n      - frequency qualifier mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          an allele that has a certain frequency in a given population\n        examples:\n          - value: \"NC_000017.11:g.43051071A>T\"\n            description: >-\n              17:41203088 A/C in gnomad\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that is observed to have the frequency\n        examples:\n          - value: HANCESTRO:0010\n            description: African\n      has quotient:\n        description: >-\n          frequency of allele in population, expressed as a number with allele\n          divided by number in reference population, aka allele frequency\n        examples:\n          - value: \"0.0001666\"\n      has count:\n        description: >-\n          number in object population that carry a particular allele, aka allele count\n        examples:\n          - value: \"4\"\n            description: 4 individuals in gnomad set\n      has total:\n        description: >-\n          number all populations that carry a particular allele, aka allele number\n        examples:\n          - value: \"24014\"\n            description: 24014 individuals in gnomad set\n\n  population to population association:\n    description: >-\n      An association between a two populations\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: population of individual organisms\n        description: >-\n          the population that form the subject of the association\n      object:\n        range: population of individual organisms\n        description: >-\n          the population that form the object of the association\n      predicate:\n         # subproperty_of: ???\n        description: >-\n          A relationship type that holds between the subject and object\n          populations. Standard mereological relations can be used.\n          E.g. subject part-of object, subject overlaps object.\n          Derivation relationships can also be used\n\n  variant to phenotypic feature association:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to phenotypic feature association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          a sequence variant in which the allele state is\n          associated in some way with the phenotype state\n\n  variant to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - variant to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a sequence variant in which the allele state\n          is associated in some way with the disease state\n        examples:\n          - value: CLINVAR:52241\n            description: \"NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)\"\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that variant\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  genotype to disease association:\n    is_a: association\n    comments:\n      - TODO decide no how to model pathogenicity\n    defining_slots:\n      - subject\n      - object\n    mixins:\n      - genotype to entity association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        description: >-\n          a genotype that is associated in some way with a disease state\n      predicate:\n        description: >-\n          E.g. is pathogenic for\n        subproperty_of: related condition\n      object:\n        description: >-\n          a disease that is associated with that genotype\n        examples:\n          - value: MONDO:0016419\n            description: hereditary breast cancer\n\n  model to disease association mixin:\n    description: >-\n      This mixin is used for any association class for which the subject\n      (source node) plays the role of a 'model', in that it recapitulates some\n      features of the disease in a way that is useful for studying the disease\n      outside a patient carrying the disease\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        description: >-\n          The entity that serves as the model of the disease. This may be\n          an organism, a strain of organism, a genotype or variant that exhibits\n          similar features, or a gene that when mutated exhibits features of the disease\n      predicate:\n        subproperty_of: model of\n        description: >-\n          The relationship to the disease\n\n  gene as a model of disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be a model\n          organism ortholog of a known disease gene, or it may be a gene whose\n          mutants recapitulate core features of the disease.\n\n  variant as a model of disease association:\n    is_a: variant to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: >-\n          A variant that has a role in modeling the disease.\n\n  genotype as a model of disease association:\n    is_a: genotype to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: genotype\n        description: >-\n          A genotype that has a role in modeling the disease.\n\n  cell line as a model of disease association:\n    is_a: cell line to disease or phenotypic feature association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: cell line\n        description: >-\n          A cell line derived from an organismal entity with a disease state that is used\n          as a model of that disease.\n\n  organismal entity as a model of disease association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    mixins:\n      - model to disease association mixin\n      - entity to disease association mixin\n    slot_usage:\n      subject:\n        range: organismal entity\n        description: >-\n          A organismal entity (strain, breed) with a predisposition to a disease, or bred/created\n          specifically to model a disease.\n\n  organism to organism association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: individual organism\n      object:\n        range: individual organism\n        description: >-\n          An association between two individual organisms.\n\n  taxon to taxon association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n        description: >-\n          An association between individuals of different taxa.\n\n  gene has variant that contributes to disease association:\n    is_a: gene to disease association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    slots:\n      - subject form or variant qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          A gene that has a role in modeling the disease. This may be\n          a model organism ortholog of a known disease gene, or it may be\n          a gene whose mutants recapitulate core features of the disease.\n      object:\n        range: disease\n      predicate:\n        subproperty_of: contributes to\n\n  gene to expression site association:\n    is_a: association\n    defining_slots:\n      - subject\n      - predicate\n      - object\n    description: >-\n      An association between a gene and a gene expression site,\n      possibly qualified by stage/timing info.\n    notes:\n      - \"TBD: introduce subclasses for distinction between wild-type and experimental conditions?\"\n    see_also: \"https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee\"\n    slots:\n      - stage qualifier\n      - quantifier qualifier\n    slot_usage:\n      subject:\n        range: gene or gene product\n        description: >-\n          Gene or gene product positively within the specified\n          anatomical entity (or subclass, i.e. cellular component) location.\n      object:\n        range: anatomical entity\n        description: \"location in which the gene is expressed\"\n        examples:\n          - value: UBERON:0002037\n            description: cerebellum\n      predicate:\n        description: \"expression relationship\"\n        subproperty_of: expressed in\n      stage qualifier:\n        range: life stage\n        description: \"stage at which the gene is expressed in the site\"\n        examples:\n          - value: UBERON:0000069\n            description: larval stage\n      quantifier qualifier:\n        description: >-\n          can be used to indicate magnitude, or also ranking\n\n  sequence variant modulates treatment association:\n    is_a: association\n    description: >-\n      An association between a sequence variant and a treatment or health intervention.\n      The treatment object itself encompasses both the disease and the drug used.\n    comments:\n      - An alternate way to model the same information could be via a qualifier\n    defining_slots:\n      - subject\n      - object\n    abstract: true\n    slot_usage:\n      subject:\n        range: sequence variant\n        description: \"variant that modulates the treatment of some disease\"\n      object:\n        range: treatment\n        description: \"treatment whose efficacy is modulated by the subject variant\"\n\n  functional association:\n    is_a: association\n    description: >-\n      An association between a macromolecular machine mixin (gene, gene product or\n      complex of gene products) and either a molecular activity, a biological\n      process or a cellular location in which a function is executed.\n    slot_usage:\n      subject:\n        range: macromolecular machine mixin\n        description: >-\n          gene, product or macromolecular complex that\n          has the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n          - value: GO:0045211\n            description: postsynaptic membrane\n\n  macromolecular machine to entity association mixin:\n    description: >-\n      an association which has a macromolecular machine mixin as a subject\n    mixin: true\n    slots:\n      - subject\n      - predicate\n      - object\n    slot_usage:\n      subject:\n        domain: macromolecular machine mixin\n\n  macromolecular machine to molecular activity association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a molecular activity (as represented\n      in the GO molecular function branch), where the entity\n      carries out the activity, or contributes to its execution.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: molecular activity\n\n  macromolecular machine to biological process association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a biological process or pathway\n      (as represented in the GO biological process branch), where the entity\n      carries out some part of the process, regulates it, or acts upstream of it.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: biological process\n\n  macromolecular machine to cellular component association:\n    description: >-\n      A functional association between a macromolecular machine (gene,\n      gene product or complex) and a cellular component (as represented\n      in the GO cellular component branch), where the entity\n      carries out its function in the cellular component.\n    is_a: functional association\n    mixins:\n      - macromolecular machine to entity association mixin\n    slot_usage:\n      object:\n        range: cellular component\n\n  molecular activity to chemical entity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: chemical entity\n\n  molecular activity to molecular activity association:\n    is_a: association\n    description: >-\n      Added in response to capturing relationship between microbiome activities as measured via\n      measurements of blood analytes as collected via blood and stool samples\n    slot_usage:\n      subject:\n        range: molecular activity\n      object:\n        range: molecular activity\n\n\n  gene to go term association:\n    aliases: ['functional association']\n    is_a: functional association\n    exact_mappings:\n      - WBVocab:Gene-GO-Association\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: gene\n        description: >-\n          gene, product or macromolecular complex that has\n          the function associated with the GO term\n        examples:\n          - value: ZFIN:ZDB-GENE-050417-357\n            description: twist1b\n      object:\n        range: ontology class\n        description: >-\n          class describing the activity, process or\n          localization of the gene product\n        values_from:\n          - go\n        examples:\n          - value: GO:0016301\n            description: kinase activity\n\n  entity to disease association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - clinical approval status\n      - max research phase\n    defining_slots:\n      - subject\n      - object\n\n  entity to phenotypic feature association:\n    is_a: association\n    exact_mappings:\n    slots:\n      - clinical approval status\n      - max research phase\n    defining_slots:\n      - subject\n      - object\n\n   ## -----------------\n   ## SEQUENCE FEATURES\n   ## -----------------\n\n  sequence association:\n    is_a: association\n    description: >-\n      An association between a sequence feature and a nucleic acid entity it is localized to.\n\n  genomic sequence localization:\n    is_a: sequence association\n    description: >-\n      A relationship between a sequence feature and a nucleic acid entity\n      it is localized to. The reference entity may be a chromosome,\n      chromosome region or information entity such as a contig.\n    slot_usage:\n      subject:\n        aliases: ['sequence feature']\n        range: nucleic acid entity\n      object:\n        aliases: ['reference']\n        range: nucleic acid entity   # typically a chromosome use monochrom\n      predicate:\n        subproperty_of: has sequence location\n    slots:\n      - start interbase coordinate\n      - end interbase coordinate\n      - genome build\n      - strand\n      - phase\n    broad_mappings:\n      - dcid:Chromosome\n    exact_mappings:\n      - dcid:GenomeAnnotation\n\n  sequence feature relationship:\n    is_a: association\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      For example, a particular exon is part of a particular transcript or gene\n    slot_usage:\n      subject:\n        range: nucleic acid entity\n      object:\n        range: nucleic acid entity   # typically a chromosome\n    exact_mappings:\n      - CHADO:feature_relationship\n\n  transcript to gene relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is a collection of transcripts\n    slot_usage:\n      subject:\n        range: transcript\n      object:\n        range: gene\n\n  gene to gene product relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A gene is transcribed and potentially translated to a gene product\n    slot_usage:\n      subject:\n        range: gene\n      object:\n        range: gene product mixin\n      predicate:\n        subproperty_of: has gene product\n\n  exon to transcript relationship:\n    is_a: sequence feature relationship\n    defining_slots:\n      - subject\n      - object\n    description: >-\n      A transcript is formed from multiple exons\n    slot_usage:\n      subject:\n        range: exon\n      object:\n        range: transcript\n\n  chemical entity or gene or gene product regulates gene association:\n    is_a: association\n    description: >-\n      A regulatory relationship between two genes\n    slots:\n      - object direction qualifier\n    slot_usage:\n      predicate:\n        description: >-\n          the direction is always from regulator to regulated\n        subproperty_of: regulates\n      subject:\n        range: chemical entity or gene or gene product\n        role: regulatory gene\n      object:\n        range: gene or gene product\n        role: regulated gene\n      object direction qualifier:\n        range: DirectionQualifierEnum\n\n  anatomical entity to anatomical entity association:   # schema: gocam\n    is_a: association\n    abstract: true\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: anatomical entity\n      object:\n        range: anatomical entity\n\n  anatomical entity to anatomical entity part of association:\n     #      schema: gocam\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is mereological, i.e the two entities are related by parthood. This\n      includes relationships between cellular components and cells, between\n      cells and tissues, tissues and whole organisms\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the part\n      object:\n        range: anatomical entity\n        description: >-\n          the whole\n      predicate:\n        subproperty_of: part of\n\n  anatomical entity to anatomical entity ontogenic association:\n    is_a: anatomical entity to anatomical entity association\n    description: >-\n      A relationship between two anatomical entities where the relationship\n      is ontogenic, i.e. the two entities are related by development. A number\n      of different relationship types can be used to specify the precise\n      nature of the relationship.\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: anatomical entity\n        description: >-\n          the structure at a later time\n      object:\n        range: anatomical entity\n        description: >-\n          the structure at an earlier time\n      predicate:\n        subproperty_of: develops from\n\n  organism taxon to entity association:\n    mixin: true\n    description: >-\n      An association between an organism taxon and another entity\n    slots:\n      - subject\n      - predicate\n      - object\n    defining_slots:\n      - subject\n    slot_usage:\n      subject:\n        range: organism taxon\n        description: >-\n          organism taxon that is the subject of the association\n\n  organism taxon to organism taxon association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    description: >-\n      A relationship between two organism taxon nodes\n    defining_slots:\n      - subject\n      - object\n    slot_usage:\n      subject:\n        range: organism taxon\n      object:\n        range: organism taxon\n\n  organism taxon to organism taxon specialization:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      A child-parent relationship between two taxa.\n      For example: Homo sapiens subclass_of Homo\n    defining_slots:\n      - predicate\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: child taxon\n        description: >-\n          the more specific taxon\n      object:\n        range: organism taxon\n        role: parent taxon\n        description: >-\n          the more general taxon\n      predicate:\n        subproperty_of: subclass of\n\n  organism taxon to organism taxon interaction:\n    is_a: organism taxon to organism taxon association\n    description: >-\n      An interaction relationship between two taxa. This may be a symbiotic\n      relationship (encompassing mutualism and parasitism), or it may be non-symbiotic.\n      Example: plague transmitted_by flea; cattle domesticated_by Homo sapiens; plague infects Homo sapiens\n    defining_slots:\n      - predicate\n    slots:\n      - associated environmental context\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        range: organism taxon\n        role: interactee taxon\n        description: >-\n          the taxon that is the subject of the association\n      predicate:\n        subproperty_of: interacts with\n      associated environmental context:\n        description: >-\n          the environment in which the two taxa interact\n\n  organism taxon to environment association:\n    is_a: association\n    abstract: true\n    mixins:\n      - organism taxon to entity association\n    slot_usage:\n      subject:\n        range: organism taxon\n        role: interactor taxon\n        description: >-\n          the taxon that is the subject of the association\n      object:\n        role: environmental context\n        description: >-\n          the environment in which the organism occurs\n      predicate:\n        description: >-\n          predicate describing the relationship between the taxon and the environment\n\n\nenums:\n\n  ClinicalApprovalStatusEnum:\n    description:\n    permissible_values:\n      approved_for_condition:\n      fda_approved_for_condition:\n        is_a: approved_for_condition\n      not_approved_for_condition:\n      post_approval_withdrawal:\n        is_a: not_approved_for_condition\n      off_label_use:\n        is_a: not_approved_for_condition\n      not_provided:\n\n  MaxResearchPhaseEnum:\n    permissible_values:\n      pre_clinical_research_phase:\n        description: >-\n          Biolink 'pre_clinical_research' is the union of both the `FDA discovery and development phase` and\n          `FDA preclinical research phase`. Discovery involves researchers finding new possibilities for medication\n          through testing molecular compounds, noting unexpected effects from existing treatments, or the creation of\n          new technology that allows novel ways of targeting medical products to sites in the body. Drug development\n          occurs after researchers identify potential compounds for experiments Preclinical Research Phase.\n          Once researchers have examined the possibilities a new drug may contain, they must do preliminary research\n          to determine its potential for harm (toxicity). This is categorized as preclinical research and can be one of\n          two types: in vitro or in vivo.\n        notes: >-\n          DrugBank calls this 'experimental'.\n      clinical_trial_phase:\n        description: >-\n          Clinical research involves trials of the drug on people,\n          and it is one of the most involved stages in the drug development and approval process.\n          Clinical trials must answer specific questions and follow a protocol determined by\n          the drug researcher or manufacturer.\n      clinical_trial_phase_1:\n        is_a: clinical_trial_phase\n        description: >-\n          In the FDA Clinical Trial Phase, the Clinical Trial Phase 1 involves 20 – 100 study participants and\n          lasts several months. This phase is used to determine the safety and dosage of the drug,\n          and about 70% of these drugs move on to the next clinical research phase.\n      clinical_trial_phase_2:\n        is_a: clinical_trial_phase\n        description: >-\n          In the FDA Clinical Trial Phase, the Clinical Trial Phase 2 involves up to several hundred people,\n          who must have the disease or condition the drug supposes to treat. This phase can last\n          from a few months to two years, and its purpose is to monitor the efficacy of the drug,\n          as well as note side effects that may occur.\n      clinical_trial_phase_3:\n        is_a: clinical_trial_phase\n        description: >-\n          In the FDA Clinical Trial Phase, the Clinical Trial Phase 3 involves 300 – 3000 volunteers\n          and can last up to four years. It is used to continue monitoring the efficacy of\n          the drug, as well as exploring any longer-term adverse reactions.\n      clinical_trial_phase_4:\n        is_a: clinical_trial_phase\n        description: >-\n          In the FDA Clinical Trial Phase, the Clinical Trial Phase 4 involves several thousands of\n          volunteers who have the disease or condition and continues to monitor safety and efficacy.\n          If a drug passes this phase, it goes on to FDA review.\n      not_provided:\n\n  DirectionQualifierEnum:\n    permissible_values:\n      increased:\n      upregulated:\n        is_a: increased\n        close_mappings:\n          - RO:0002336\n        exact_mappings:\n          - RO:0002213\n        narrow_mappings:\n          - RO:0004032\n          - RO:0004034\n          - RO:0002629\n      decreased:\n      downregulated:\n        is_a: decreased\n        exact_mappings:\n          - RO:0004035\n          - RO:0002212\n        close_mappings:\n          - RO:0002335\n        broad_mappings:\n          - RO:0004033\n\n  ChemicalEntityDerivativeEnum:\n    permissible_values:\n      metabolite:\n\n  ChemicalOrGeneOrGeneProductFormOrVariantEnum:\n    permissible_values:\n      genetic_variant_form:\n        is_a: modified_form\n      modified_form:\n      loss_of_function_variant_form:\n        is_a: genetic_variant_form\n      gain_of_function_variant_form:\n        is_a: genetic_variant_form\n      polymorphic_form:\n        is_a: genetic_variant_form\n      snp_form:\n        is_a: polymorphic_form\n      analog_form:\n        is_a: modified_form\n\n  GeneOrGeneProductOrChemicalPartQualifierEnum:\n    permissible_values:\n      3_prime_utr:\n      5_prime_utr:\n      polya_tail:\n      promoter:\n      enhancer:\n      exon:\n      intron:\n\n  GeneOrGeneProductOrChemicalEntityAspectEnum:\n    permissible_values:\n      activity_or_abundance:\n        description: >-\n          Used in cases where the specificity of the relationship can not be determined to be either activity\n          or abundance.  In general, a more specific value from this enumeration should be used.\n      abundance:\n        is_a: activity_or_abundance\n      activity:\n        is_a: activity_or_abundance\n      expression:\n        is_a: abundance\n      synthesis:\n        is_a: abundance\n      degradation:\n      cleavage:\n        is_a: degradation\n      hydrolysis:\n        is_a: degradation\n      metabolic_processing:\n      mutation_rate:\n      stability:\n      folding:\n      localization:\n      transport:\n      secretion:\n        is_a: transport\n      uptake:\n        is_a: transport\n      splicing:\n      molecular_interaction:\n      molecular_modification:\n      acetylation:\n        is_a: molecular_modification\n      acylation:\n        is_a: molecular_modification\n      alkylation:\n        is_a: molecular_modification\n      amination:\n        is_a: molecular_modification\n      carbamoylation:\n        is_a: molecular_modification\n      ethylation:\n        is_a: molecular_modification\n      glutathionylation:\n        is_a: molecular_modification\n      glycation:\n        is_a: molecular_modification\n      glycosylation:\n        is_a: molecular_modification\n      glucuronidation:\n        is_a: molecular_modification\n      n_linked_glycosylation:\n        is_a: molecular_modification\n      o_linked_glycosylation:\n        is_a: molecular_modification\n      hydroxylation:\n        is_a: molecular_modification\n      lipidation:\n        is_a: molecular_modification\n      farnesylation:\n        is_a: molecular_modification\n      geranoylation:\n        is_a: molecular_modification\n      myristoylation:\n        is_a: molecular_modification\n      palmitoylation:\n        is_a: molecular_modification\n      prenylation:\n        is_a: molecular_modification\n      methylation:\n        is_a: molecular_modification\n      nitrosation:\n        is_a: molecular_modification\n      nucleotidylation:\n        is_a: molecular_modification\n      phosphorylation:\n        is_a: molecular_modification\n      ribosylation:\n        is_a: molecular_modification\n      ADP-ribosylation:\n        is_a: molecular_modification\n      sulfation:\n        is_a: molecular_modification\n      sumoylation:\n        is_a: molecular_modification\n      ubiquitination:\n        is_a: molecular_modification\n      oxidation:\n        is_a: molecular_modification\n      reduction:\n        is_a: molecular_modification\n      carboxylation:\n        is_a: molecular_modification\n\n  CausalMechanismQualifierEnum:\n    permissible_values:\n      binding:\n        description: >-\n          A causal mechanism mediated by the direct contact between effector and target chemical or\n          biomolecular entity, which form a stable physical interaction.\n      inhibition:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to the target and negatively effects its normal function,\n          e.g. prevention of enzymatic reaction or activation of downstream pathway.\n        close_mappings:\n          - DGIdb:inhibitor\n          - SEMMEDDB:INHIBITS\n        narrow_mappings:\n          - DGIdb:blocker\n          - DGIdb:channel_blocker\n          - DGIdb:gating_inhibitor\n          - CHEMBL.MECHANISM:antisense_inhibitor\n          - CHEMBL.MECHANISM:blocker\n          - CHEMBL.MECHANISM:inhibitor\n          - CHEMBL.MECHANISM:negative_allosteric_modulator\n          - CHEMBL.MECHANISM:negative_modulator\n          - DGIdb:negative_modulator\n      antibody_inhibition:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which an antibody specifically binds to and interferes with the target.\n      antagonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a receptor and prevents activation by an agonist\n          through competing for the binding site.\n        close_mappings:\n          - DGIdb:antagonist\n          - CHEMBL.MECHANISM:antagonist\n        narrow_mappings:\n          - CHEMBL.MECHANISM:allosteric_antagonist\n      molecular_channel_blockage:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and prevents or reduces\n          transport of ions through it.\n      inverse_agonism:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector binds to the same receptor-binding site as an agonist and antagonizes\n          its effects, often exerting the opposite effect of the agonist by suppressing spontaneous receptor signaling.\n        close_mappings:\n          - CHEMBL.MECHANISM:inverse_agonist\n          - DGIdb:inverse_agonist\n      negative_allosteric_modulation:\n        is_a: inhibition\n        description: >-\n          A causal mechanism in which the effector reduces or prevents the action of the endogenous ligand of a\n          receptor by binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n        close_mappings:\n          - CHEMBL.MECHANISM:negative_allosteric_modulator\n          - DGIdb:inhibitory_allosteric_modulator\n        narrow_mappings:\n          - DGIdb:negative_modulator\n      agonism:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds and activates a receptor to mimic the effect of an\n          endogenous ligand.\n        close_mappings:\n          - CHEMBL.MECHANISM:agonist\n          - DGIdb:agonist\n        narrow_mappings:\n          - CHEMBL.MECHANISM:partial_agonist\n          - DGIdb:partial_agonist\n      molecular_channel_opening:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector binds to a molecular channel and facilitates transport of\n          ions through it.\n        close_mappings:\n          - CHEMBL.MECHANISM:opener\n      positive_allosteric_modulation:\n        is_a: activation\n        description: >-\n          A causal mechanism in which the effector enhances the action of the endogenous ligand of a receptor by\n          binding to a site distinct from that ligand (i.e. non-competitive inhibition)\n        close_mappings:\n          - CHEMBL.MECHANISM:positive_allosteric_modulator\n          - CHEMBL.MECHANISM:positive_modulator\n          - DGIdb:positive_allosteric_modulator\n        broad_mappings:\n          - DGIdb:modulator\n          - DGIdb:allosteric_modulator\n      potentiation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector  binds to and enhances or intensifies the effect of some\n          other chemical or drug on its target.\n        close_mappings:\n      activation:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and positively affects the normal functioning of its target.\n        close_mappings:\n          - CHEMBL.MECHANISM:activator\n          - DGIdb:activator\n      inducer:\n        is_a: binding\n        description: >-\n          A causal mechanism in which the effector binds to and increases the activity/rate of an enzyme that\n          processes drugs in the body.\n        close_mappings:\n          - DGIdb:inducer\n      transcriptional_regulation:\n        description: >-\n          A causal mechanism mediated by through the control of target gene transcription\n      signaling_mediated_control:\n        description: >-\n          A causal mechanism mediated by the activation or control of signaling events that influence the some aspect\n          of the target entity (e.g. its activity, processing, transport, etc)\n      stabilization:\n        is_a: activation\n        close_mappings:\n          - CHEMBL.MECHANISM:stabiliser\n      stimulation:\n        is_a: activation\n        close_mappings:\n          - DGIdb:stimulator\n          - SEMMEDDB:STIMULATES\n          - DGIdb:stimulator\n      releasing_activity:\n        is_a: activation\n        close_mappings:\n          - CHEMBL:MECHANISM:releasing_agent\n\n  LogicalInterpretationEnum:\n    permissible_values:\n      some_some:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as a some-some statement\n        meaning: os:SomeSomeInterpretation\n      all_some:\n        description: >-\n          A modifier on a triple that causes the triple to be interpreted as an all-some statement.\n        meaning: os:AllSomeInterpretation\n      inverse_all_some:\n\n  ReactionDirectionEnum:\n    permissible_values:\n      left_to_right:\n      right_to_left:\n      bidirectional:\n      neutral:\n\n  ReactionSideEnum:\n    permissible_values:\n      left:\n      right:\n\n  PhaseEnum:\n    description: phase\n    permissible_values:\n      0:\n      1:\n      2:\n\n  StrandEnum:\n    description: strand\n    permissible_values:\n      \"+\":\n        description: Positive\n      \"-\":\n        description: Negative\n      \".\":\n        description: Unstranded\n      \"?\":\n        description: Unknown\n\n  SequenceEnum:\n    description: type of sequence\n    permissible_values:\n      \"na\":\n        description: nucleic acid\n      \"aa\":\n        description: amino acid\n\n  DruggableGeneCategoryEnum:\n    permissible_values:\n      \"tclin\":\n        description: >-\n          These targets have activities in DrugCentral (ie. approved drugs) with known mechanism of action.\n      \"tbio\":\n        description: >-\n          These targets have activities in ChEMBL, Guide to Pharmacology or DrugCentral that satisfy\n          the activity thresholds detailed below.\n      \"tchem\":\n        description: >-\n          These targets do not have known drug or small molecule activities that satisfy the activity\n          thresholds detailed below AND satisfy one or more of the following criteria:\n          target is above the cutoff criteria for Tdark\n          target is annotated with a Gene Ontology Molecular Function or Biological Process leaf term(s)\n          with an Experimental Evidence code\n      \"tdark\":\n        description: >-\n          These are targets about which virtually nothing is known. They do not have known drug or small\n          molecule activities that satisfy the activity thresholds detailed below AND satisfy two or\n          more of the following criteria:\n          A PubMed text-mining score from Jensen Lab less than 5, greater than or equal TO 3 Gene RIFs, or\n          less than or equal to 50 Antibodies available according to http://antibodypedia.com.\n\n  DrugAvailabilityEnum:\n    description: >-\n    permissible_values:\n      \"over_the_counter\":\n        description: >-\n          chemical entity is available over the counter without a prescription.\n      \"prescription\":\n        description:\n          chemical entity is available by prescription.\n\n  DrugDeliveryEnum:\n    permissible_values:\n      \"inhalation\":\n      \"oral\":\n      \"absorption_through_the_skin\":\n      \"intravenous_injection\":\n\n  ResourceRoleEnum:\n    description: >-\n      The role played by the information reource in serving as a\n      source for an edge in a TRAPI message. Note that a given Edge should have one\n      and only one 'primary' source, and may have any number of\n      'aggregator' or 'supporting data' sources.  This enumeration\n      is found in Biolink Model, but is repeated here for convenience.\n    permissible_values:\n      \"primary_knowledge_source\":\n      \"aggregator_knowledge_source\":\n      \"supporting_data_source\":\n    in_subset:\n      - translator_minimal\n\n\n  FDAIDAAdverseEventEnum:\n    description: >-\n      please consult with the FDA guidelines as proposed in this document:\n      https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/cfrsearch.cfm?fr=312.32\n    permissible_values:\n      \"life_threatening_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'life-threatening' if, in the view of either\n          the investigator or sponsor, its occurrence places the patient or subject at immediate risk of death.\n          It does not include an adverse event or suspected adverse reaction that, had it occurred in a more\n          severe form, might have caused death.\n      \"serious_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'serious' if, in the view of either the\n          investigator or sponsor, it results in any of the following outcomes: Death, a life-threatening adverse event,\n          inpatient hospitalization or prolongation of existing hospitalization, a persistent or significant incapacity\n          or substantial disruption of the ability to conduct normal life functions, or a congenital anomaly/birth\n          defect. Important medical events that may not result in death, be life-threatening, or require hospitalization\n          may be considered serious when, based upon appropriate medical judgment, they may jeopardize the patient or\n          subject and may require medical or surgical intervention to prevent one of the outcomes listed in this\n          definition. Examples of such medical events include allergic bronchospasm requiring intensive treatment\n          in an emergency room or at home, blood dyscrasias or convulsions that do not result in inpatient\n          hospitalization, or the development of drug dependency or drug abuse.\n      \"suspected_adverse_reaction\":\n        description: >-\n           means any adverse event for which there is a reasonable possibility that the drug caused the adverse event.\n           For the purposes of IND safety reporting, 'reasonable possibility' means there is evidence to suggest a\n           causal relationship between the drug and the adverse event. Suspected adverse reaction implies a lesser\n           degree of certainty about causality than adverse reaction, which means any adverse event caused by a drug.\n      \"unexpected_adverse_event\":\n        description: >-\n          An adverse event or suspected adverse reaction is considered 'unexpected' if it is not listed in the\n          investigator brochure or is not listed at the specificity or severity that has been observed; or, if an\n          investigator brochure is not required or available, is not consistent with the risk information described\n          in the general investigational plan or elsewhere in the current application, as amended. For example,\n          under this definition, hepatic necrosis would be unexpected (by virtue of greater severity) if the\n          investigator brochure referred only to elevated hepatic enzymes or hepatitis. Similarly, cerebral\n          thromboembolism and cerebral vasculitis would be unexpected (by virtue of greater specificity) if the\n          investigator brochure listed only cerebral vascular accidents. 'Unexpected', as used in this definition,\n          also refers to adverse events or suspected adverse reactions that are mentioned in the investigator brochure\n          as occurring with a class of drugs or as anticipated from the pharmacological properties of the drug, but\n          are not specifically mentioned as occurring with the particular drug under investigation.\n    in_subset:\n      - translator_minimal\n\n  AgentTypeEnum:\n    permissible_values:\n      manual_agent:\n        description: >-\n          A human agent who is responsible for generating a statement of\n          knowledge. The human may utilize computationally generated\n          information as evidence for the resulting knowledge, \n          but the human is the one who ultimately interprets/reasons with \n          this evidence to produce a statement of knowledge.\n      automated_agent:\n        description: >-\n          An automated agent, typically a software program or tool, that is \n          responsible for generating a statement of knowledge. Human contribution \n          to the knowledge creation process ends with the definition and coding\n          of algorithms or analysis pipelines that get executed by the automated\n          agent.\n      data_analysis_pipeline:\n        is_a: automated_agent\n        description: >-\n          An automated agent that executes an analysis workflow over data and \n          reports the direct results of the analysis. These typically report \n          statistical associations/correlations between variables in the input\n          dataset, and do not interpret/infer broader conclusions from associations\n          the analysis reveals in the data.\n        notes: >-\n          If an analysis pipeline includes any rules for generating broader \n          conclusions based on the dataset-specific statistical correlations\n          it calculates (e.g. create a 'treats' edge when the analysis reveals a \n          drug-disease correlation in the data with statistical scores that meet a \n          certain threshold) - we would consider this agent to be a Computational Model\n          rather than just a Data Analysis Pipeline.\n      computational_model:\n        is_a: automated_agent\n        description: >-\n          An automated agent that generates knowledge statements (typically\n          predictions) based on rules/logic explicitly encoded in an algorithm\n          (e.g. heuristic models, supervised classifiers), or learned from patterns \n          observed in data (e.g. ML models, unsupervised classifiers).\n        notes: >-\n          The bar is quite low relatively for what is considered to be a \n          ‘computational model’ by our definition. Even agents/tools that apply \n          simple rules or logic to the output of an ingest or analysis pipeline\n          to allow for a stronger or more general conclusion to be stated can \n          qualify an agent as a model. For example, an ingest pipeline that applies rules to its ingest of \n          clinical trials data to create a 'treats' prediction edge when the \n          source reports a drug to be in phase 2 or 3 trials represents a\n          computational model because it is automatically drawing a stronger\n          conclusion than the source reports, based on logic encoded in the ingest\n          pipeline. Similarly, a data analysis pipeline that is extended with rules to \n          automatically generate broader conclusions based on dataset-specific\n          statistical correlations (e.g. create a 'treats' edge when the analysis\n          reveals a drug-disease correlation in the data with statistical scores \n          that meet a certain threshold), would also qualify as a computational \n          model by our definition.\n      text_mining_agent:\n        is_a: automated_agent\n        description: >-\n          An automated agent that uses Natural Language Processing to recognize\n          concepts and/or relationships in text, and report them using formally\n          encoded semantics (e.g. as an edge in a knowledge graph).\n        notes: >-\n          The original statement in the source text is typically made by a human / \n          manual agent, but if a specific encoding of this knowledge is produced\n          by a text-mining tool, it has an agent_type of 'text_mining_agent'.\n          Examples of text mining agents include SemmedDB, and the Translator\n          Text-Mining Knowledge Provider. Note that text-mining tools are prone to erroneous interpretation of \n          concepts and relationships, and can fail to provide important details \n          about the context in which the original knowledge was reported - so\n          users should always consult the source text for a text-mined statement\n          to assess its veracity and relevance.\n      image_processing_agent:\n        is_a: automated_agent\n        description: >-\n          An automated agent that processes images to generate textual statements of \n          knowledge derived from the image and/or expressed in text the image \n          depicts (e.g. via OCR).\n      manual_validation_of_automated_agent:\n        description: >-\n          A human agent reviews and validates/approves the veracity of knowledge \n          that is initially generated by an automated agent.\n        notes: >-\n          This term applies when a human was only involved in evaluating the veracity\n          of a knowledge statement that was generated by an automated agent. It is \n          important to indicate when such manual review has occurred, because it can\n          give a user more confidence in an automated statement.\n      not_provided:\n        description: >-\n          The agent type is not provided, typically because it cannot be determined\n          from available information if the agent that generated the knowledge is \n          manual or automated.\n    in_subset:\n      - translator_minimal\n\n  KnowledgeLevelEnum:\n    permissible_values:\n      knowledge_assertion:\n        aliases: ['assertion']\n        description: >-\n          A statement of purported fact that is put forth by an agent as true,\n          based on assessment of direct evidence. Assertions are likely but not \n          definitively true.\n        notes: >-\n          Knowledge Assertions are supported by direct evidence deemed sufficient\n          by some agent to support a confidence assertion of truth. Our certainty \n          in this truth is not absolute, but is typically higher than for Predictions.\n      logical_entailment:\n        aliases: ['deductive_inference']\n        description: >-\n          A statement reporting a conclusion that follows logically from premises\n          representing established facts or knowledge assertions (e.g. fingernail\n          part of finger, finger part of hand --> fingernail part of hand).\n        notes: >-\n          These statements report entailed conclusions derived through dedictive inference.\n          They are not directly asserted by a source, but logically follow from statement(s) \n          a source does make - and are necessarily true if their supporting premises are true. \n          In practice, these will primarily be entailments based on logic encoded in ontologies. \n          Examples include propagation of annotated knowledge to hierarchically-related concepts,\n          across paths through a graph constructed from transitive relationships, or sets of \n          relationships that support property chain inference.\n      prediction:\n        aliases: ['hypothesis']\n        description: >-\n          A statement of a possible fact based on probabilistic forms of reasoning over\n          more indirect forms of evidence, that lead to more speculative conclusions.\n        notes: >-\n          Predictions typically result from non-deductive forms of reasoning - e.g.\n          inductive and deductive inference, or statistical inference where conclusions\n          are drawn about a broader/global population based on data from a representative\n          cohort. For example, a prediction that a drug may treat a particular disease based on its chemical\n          similarity to known drugs that treat the disease, and the fact that it can inhibit proteins \n          in a pathway that is associated with the disease\n          As Predictions are based on weaker forms of inference and evidence, they are typically \n          considered lower confidence statements as compared to Knowledge Assertions and Logical\n          Entailments.\n      statistical_association:\n        description: >-\n          A statement that reports concepts representing variables in a dataset to be statistically\n          associated with each other in a particular cohort (e.g. 'Metformin Treatment (variable 1)\n          is correlated with Diabetes Diagnosis (variable 2) in EHR dataset X').\n        notes: >-\n          Such statements report the direct results of some statistical analysis. Their scope is limited\n          tp the cohort/dataset interrogated in the analysis, and they do not make broader claims or draw \n          more meaningful conclusions about the domain of discourse. Note however that such Statistical \n          Associations can be used as evidence to support a more pointed/precise Prediction or Assertion \n          of knowledge. For example, e.g. a Statistical Association between 'Metformin Prescription' and\n          'Diabetes Diagnosis' in EHR records could support a Prediction that 'Metformin treats Diabetes', \n          or 'Metformin causes Diabetes'. This 'treats' edge may have a knowledge_level of 'Prediction', \n          but the provider could use the 'evidence_type' edge property to indicate that this prediction is \n          based on a 'Statistical Association'. Because Statistical Associations directly report analysis-specific \n          results, we can consider them to be inherently true statements, whose broader utility is dependent on \n          subsequent generalization of the reported result to a broader population, and/or interpretation of the \n          result as support for a more meaningful statements about the domain of discourse.\n      observation:\n        description: >-\n          A statement reporting (and possibly quantifying) a phenomenon that was observed to occur - \n          absent any analysis or interpretation that generates a statistical association or supports\n          a broader conclusion or inference.\n        notes: >-\n          An observation that \"56362 people self-reported taking melatonin to treat migraines\"\n          is agnostic to whether melatonin is an effective or approved treatment - it only claims that it was\n          taken for this purpose. Such observations, however, may be used as the basis for predicting that a \n          drug may be efficacious against a disease.\n      not_provided:\n        description: >-\n          The knowledge level is not provided, typically because it cannot be determined from available.\n          information.\n        notes: >-\n          This term is most often applied for text-mined edges, as NLP tools are typically not able to detect\n          a specific knowledge level for the concept relationships they extract (e.g. whether the author \n          was predicting or asserting a relationship, or merely observed it to occur).\n    in_subset:\n      - translator_minimal\n"
  },
  {
    "path": "medikanren2/neo/neo-command-line-interface/README.md",
    "content": "# mediKanren Command-Line Interface\n\nThis command-line interface (CLI) allows users to query the mediKanren biomedical reasoning system to explore relationships between medical concepts, such as identifying drug targets that activate or inhibit specific genes.\n\n## Prerequisites\n\n- [Racket](https://racket-lang.org/) programming language installed on your system.\n- Access to the mediKanren knowledge graph database.\n\n## Installation\n\n1. **Clone the Repository**:\n   ```bash\n   git clone https://github.com/webyrd/mediKanren.git \n   ```\n2. **Navigate to the Directory**:\n   ```bash\n   cd mediKanren/medikanren2/neo/neo-command-line-interface\n   ```\n3. **Run the Script**:\n   ```bash\n   racket command-line-interface.rkt\n   ```\n\n## Usage\n\nUpon running the script, you'll be prompted to enter commands. The available commands are:\n\n- `activates CURIE ... > output-file`: Identifies entities that activate the specified CURIE(s).\n- `inhibits CURIE ... > output-file`: Identifies entities that inhibit the specified CURIE(s).\n- `synonyms CURIE ...`: Retrieves synonyms for the specified CURIE(s).\n- `all relations CURIE ... > output-file`: Retrieves all relations for the specified CURIE(s).\n- `with predicates -predicate PREDICATE ... -curie CURIE ... > output-file`: Retrieves relations for the specified CURIE(s) with given predicates.\n\n## Example Query\n\nTo identify drug targets that activate or inhibit a gene of interest:\n\n1. **Identify the CURIE for the Gene**: Determine the CURIE for the gene. For example, the CURIE for the gene *TP53* might be `HGNC:11998`.\n\n2. **Run the `synonyms` Command**:\n   ```bash\n   synonyms HGNC:11998\n   ```\n   **Expected Output**:\n   ```\n   The synonyms of (HGNC:11998) are (HGNC:11998 NCBIGene:7157 UMLS:C0079419 OMIM:191170 REACT:R-HSA-6797244 ENSEMBL:LRG_321 ENSEMBL:ENSG00000141510)\n   ```\n   You may find the details about the returned entities in the file `synonyms-details.tsv` under the same directory.\n\n3. **Run the `activates` Command**:\n   ```bash\n   activates HGNC:11998 NCBIGene:7157 UMLS:C0079419 OMIM:191170 REACT:R-HSA-6797244 ENSEMBL:LRG_321 ENSEMBL:ENSG00000141510 > activates_TP53.tsv\n   ```\n   This command will generate a file named `activates_TP53.tsv` containing entities that activate *TP53* with information about the enities and the relationships.\n\n   *Please note that `HGNC:11998` and all its synonyms retrieved via the `synonyms` command are included in the command.* \n\n5. **Run the `inhibits` Command**:\n   ```bash\n   inhibits HGNC:11998 NCBIGene:7157 UMLS:C0079419 OMIM:191170 REACT:R-HSA-6797244 ENSEMBL:LRG_321 ENSEMBL:ENSG00000141510 > inhibits_TP53.tsv\n   ```\n   This command will generate a file named `inhibits_TP53.tsv` containing entities that inhibit *TP53*.\n"
  },
  {
    "path": "medikanren2/neo/neo-command-line-interface/command-line-interface.rkt",
    "content": "#lang racket\n\n(require\n  \"../neo-low-level/query-low-level-multi-db.rkt\"\n  \"utils.rkt\"\n  racket/string\n  readline\n  )\n\n;; TODO:\n;; sentence column in output\n\n(define (mediKanren-activates curie* path)\n  (write-out-prepared-answers\n   (filter\n    activate-edge-filter\n   (query:X->Known\n    #f\n    '(\"biolink:has_increased_amount\"\n      \"biolink:affects\"\n      \"biolink:produces\"\n      \"biolink:regulates\"\n      \"biolink:regulates\"\n      \"biolink:enables\"\n      \"biolink:treats\"\n      \"biolink:positively_correlated_with\"\n      \"biolink:produces\"\n      \"biolink:ameliorates\")\n    curie*))\n   path))\n\n(define (mediKanren-inhibits curie* path)\n  (write-out-prepared-answers\n   (filter\n    inhibite-edge-filter\n    (query:X->Known\n     #f\n     '(\"biolink:prevents\"\n       \"biolink:affects\"\n       \"biolink:regulates\"\n       \"biolink:has_decreased_amount\"\n       \"biolink:disrupts\"\n       \"biolink:negatively_correlated_with\")\n     curie*))\n   path))\n\n(define (mediKanren-all-relations curie* path)\n  (write-out-prepared-answers\n   (append\n    (query:X->Known\n     #f\n     #f\n     curie*)\n    (query:Known->X\n     curie*\n     #f\n     #f))\n   path))\n\n(define (mediKanren-with-predicates curie* predicate* path)\n  (write-out-prepared-answers\n   (append\n    (query:X->Known\n     #f\n     predicate*\n     curie*)\n    (query:Known->X\n     curie*\n     predicate*\n     #f))\n   path))   \n\n(define (mediKanren-synonyms curie*)\n  (write-list-to-tsv\n   '(\"curie\" \"curie-name\" \"curie-properties\")\n   (synonym-format curie*)\n   \"synonyms-details.tsv\"))\n\n; Main loop for CLI\n(define (main-loop)\n  (display \"Enter your command: \")\n  (let ([input (read-line)])\n    (cond\n      [(string-prefix? input \"activates\")\n       (let ([arug* (string-split (substring input (string-length \"activates\")))])\n         (match arug*\n           [`(,c ... \">\" ,file-name)\n            (let ((curie* c)\n                  (path file-name))\n              (printf \"The input curies are ~a\\n\" c)\n              (mediKanren-activates curie* path)\n              (printf \"The results are written in file ~a\\n\" path)\n              )]\n           [else\n            (displayln \"Incomplete command. Please use 'activates CURIE ... > name-of-the-file'\")]))]\n      [(string-prefix? input \"inhibits\")\n       (let ([arug* (string-split (substring input (string-length \"inhibits\")))])\n         (match arug*\n           [`(,c ... \">\" ,file-name)\n            (let ((curie* c)\n                  (path file-name))\n              (printf \"The input curies are ~a\\n\" c)\n              (mediKanren-inhibits curie* path)\n              (printf \"The results are written in file ~a\\n\" path)\n              )]\n           [else\n            (displayln \"Incomplete command. Please use 'inhibits CURIE ... > name-of-the-file'\")]))]\n      [(string-prefix? input \"synonyms\")\n       (let* ([arug* (string-split (substring input (string-length \"synonyms\")))])\n         (match arug*\n           [`(,c ,c* ...) \n            (let* ((synonym* (curies->synonyms (list* c c*)))\n                   (synonym* (curie->gene/protein-conflation synonym*)))\n              (printf \"The synonyms of ~a are ~a\\n\" arug* synonym*)\n              (mediKanren-synonyms synonym*)\n              (printf \"You may find the details in the file synonyms-details.tsv.\\n\"))]\n           [else (displayln \"Incomplete command. Please use 'synonyms CURIE ...'\")]))]\n      [(string-prefix? input \"all relations\")\n       (let* ([arug* (string-split (substring input (string-length \"all relations\")))])\n         (match arug*\n           [`(,c ... \">\" ,file-name)\n            (let ((curie* c)\n                  (path file-name))\n              (printf \"The input curies are ~a\\n\" c)\n              (mediKanren-all-relations curie* path)\n              (printf \"The results are written in file ~a\\n\" path)\n              )]\n           [else\n            (displayln \"Incomplete command. Please use 'all relations CURIE ... > name-of-the-file'\")]))]\n      [(string-prefix? input \"with predicates\")\n       (let* ([arug* (string-split (substring input (string-length \"with predicates\")))])\n         (match arug*\n           [`(\"-predicate\",p ... \"-curie\" ,c ... \">\" ,file-name)\n            (let ((curie* c)\n                  (predicate* p)\n                  (path file-name))\n              (printf \"The input predicates are ~a and the input curies are ~a\\n\" p c)\n              (mediKanren-with-predicates curie* predicate* path)\n              (printf \"The results are written in file ~a\\n\" path)\n              )]\n           [else\n            (displayln \"Incomplete command. Please use 'with predicates -predicate PREDICATE ... -curie CURIE ... > name-of-the-file'\")]))]\n      [else (displayln \"Unknown command. Please use\n'activates CURIE ... > name-of-the-file' or\n'inhibits CURIE ... > name-of-the-file' or\n'synonyms CURIE ...' or\n'all relations CURIE ... > name-of-the-file'\n'with predicates -predicate PREDICATE ... -curie CURIE ... > name-of-the-file'\")])\n    (main-loop)))\n\n; Start the program\n(main-loop)"
  },
  {
    "path": "medikanren2/neo/neo-command-line-interface/utils.rkt",
    "content": "#lang racket/base\n\n(require\n  \"../neo-low-level/query-low-level-multi-db.rkt\"\n  \"../neo-utils/neo-helpers-without-db.rkt\"\n  racket/string\n  racket/list\n  racket/match\n  racket/set\n  )\n\n(provide get-publications\n         write-out-prepared-answers\n         activate-edge-filter\n         inhibite-edge-filter\n         write-list-to-tsv\n         curie->gene/protein-conflation\n         synonym-format\n         curie->name-remember\n         get-assoc\n         curie->categories-remember\n         )\n\n(define (get-assoc k m)\n  (let ((r (assoc k m)))\n    (if r\n        (cadr r)\n        #f)))\n\n(define (list-assoc k m)\n  (let ((r (assoc k m)))\n    (if r\n        (cdr r)\n        '())))\n\n(define get-publications\n  (lambda props\n    (define (helper props pubs)\n      (cond\n        [(null? props) pubs]\n        [else\n         (let ((publication (or (get-assoc \"publications\" (car props))\n                                (get-assoc \"supporting_publications\" (car props))\n                                (get-assoc \"publications:string[]\" (car props)))))\n           (if publication\n               (helper (cdr props)\n                       (append \n                        (cond\n                          [(string-prefix? publication \"(\")\n                           (string-split (string-trim (string-trim publication \"(\") \")\"))]\n                          [(string-contains? publication \"|\") (string-split publication \"|\")]\n                          [(string-contains? publication \";\") (string-split publication \"; \")]\n                          [else (string-split publication)])\n                        pubs))\n               (helper (cdr props) pubs)))]))\n    (define pubs (filter\n                  (lambda (p) (not (equal? \"PMID:\" p)))\n                  (remove-duplicates (helper props '()))))\n    pubs))\n\n(define (get-mediKanren-score props)\n  (string->number (get-assoc \"mediKanren-score\" props)))\n\n(define write-list-to-tsv\n  (lambda (header-ls lol path)\n    (with-output-to-file path\n      ;; thunk -- procedure that takes no arguments\n      (lambda ()\n        (for-each\n          (lambda (l)\n            (let loop ([l l])\n              (cond\n                ((null? l)\n                 (error 'output-to-tsv \"where's the data!?\"))\n                ((null? (cdr l)) ;; l contains exactly 1 element\n                 (display (car l))\n                 (display #\\newline))\n                (else\n                 (display (car l))\n                 (display #\\tab)\n                 (loop (cdr l))))))\n          (cons header-ls lol)))\n      #:mode 'text\n      #:exists 'replace)))\n\n(define (concept->name curie)\n  (let ((id-name-val\n         (remove-duplicates (filter (lambda (cl)\n                                      (and (equal? (car cl) curie)\n                                           (equal? (cadr cl) \"name\")))\n                                    (query:Concept (list curie))))))\n        (if (null? id-name-val)\n            curie\n            (caddar id-name-val))))\n\n(define (concept->categories curie)\n  (let* ((props (curie->properties curie))\n         (categories (list-assoc \"category\" props)))\n    categories))\n\n(define build-remember\n  (lambda (curie->b hash)\n    (lambda (curie)\n      (let ((b (hash-ref hash curie #f)))\n        (if b\n            b\n            (let ((b^ (curie->b curie)))\n              (if (> (hash-count hash) 10000)\n                  (begin (set! hash (make-hash)) b^)\n                  (begin (hash-set! hash curie b^) b^))))))))\n\n(define curie-names (make-hash))\n(define curie->name-remember (build-remember concept->name curie-names))\n\n(define curie-categories (make-hash))\n(define curie->categories-remember (build-remember concept->categories curie-categories))\n\n\n(define (write-out-prepared-answers edge* path)\n  (write-list-to-tsv\n   '(\"subject\"\n     \"subject properties\"\n     \"predicate\"\n     \"object\"\n     \"object properties\"\n     \"publications\"\n     \"mediKanren score\"\n     \"edge properties\")\n   (map (lambda (e)\n          (match e\n            [`(,sub ,pred ,obj . ,prop)\n             (list* (curie->name-remember sub)\n                    (curie->properties sub)\n                    pred\n                    (curie->name-remember obj)\n                    (curie->properties obj)\n                    (get-publications prop)\n                    (get-mediKanren-score prop)\n                    prop)]\n            [else '()]))\n        (remove-duplicates edge*))\n   path))\n\n(define activate-edge-filter\n  (lambda (e)\n    (match e\n      [`(,sub ,pred ,obj . ,prop)\n       (let ((qualified-pred (get-assoc \"qualified_predicate\" prop))\n             (object-aspect-qualifier\n              (or (get-assoc \"object_aspect_qualifier\" prop)\n                  (get-assoc \"qualified_object_aspect\" prop)))\n             (object-direction-qualifier\n              (or (get-assoc \"object_direction_qualifier\" prop)\n                  (get-assoc \"qualified_object_direction\" prop))))\n         (if (member pred (list \"biolink:affects\" \"biolink:regulates\"))\n             (member (list pred qualified-pred object-aspect-qualifier object-direction-qualifier)\n                     (list (list \"biolink:regulates\" #f #f \"upregulated\")\n                           (list \"biolink:regulates\" \"biolink:causes\" \"expression\" \"increased\")\n                           (list \"biolink:regulates\" \"biolink:causes\" #f \"increased\")\n                           (list \"biolink:regulates\" \"biolink:causes\" #f \"upregulated\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"expression\" #f)\n                           (list \"biolink:affects\" \"biolink:causes\" \"expression\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"transport\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"activity_or_abundance\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"activity\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"secretion\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"synthesis\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"molecular_interaction\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"degradation\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"localization\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"uptake\" \"increased\")))\n             #t))]\n      [else (error \"the edge format seems not correct\")])))\n\n(define inhibite-edge-filter\n  (lambda (e)\n    (match e\n      [`(,sub ,pred ,obj . ,prop)\n       (let ((qualified-pred (get-assoc \"qualified_predicate\" prop))\n             (object-aspect-qualifier\n              (or (get-assoc \"object_aspect_qualifier\" prop)\n                  (get-assoc \"qualified_object_aspect\" prop)))\n             (object-direction-qualifier\n              (or (get-assoc \"object_direction_qualifier\" prop)\n                  (get-assoc \"qualified_object_direction\" prop))))\n         (if (member pred (list \"biolink:affects\" \"biolink:regulates\"))\n             (member (list pred qualified-pred object-aspect-qualifier object-direction-qualifier)\n                     (list (list \"biolink:regulates\" #f\t#f \"decreased\")\n                           (list \"biolink:regulates\" \"biolink:causes\" #f \"decreased\")\n                           (list \"biolink:regulates\" \"biolink:causes\" #f \"downregulated\")\n                           (list \"biolink:regulates\" #f\t#f \"downregulated\")\n                           (list \"biolink:regulates\" \"biolink:causes\" \"expression\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"degradation\" #f)\n                           (list \"biolink:affects\" \"biolink:causes\" \"expression\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"activity\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"activity_or_abundance\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"secretion\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"molecular_interaction\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"degradation\" \"increased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"transport\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"localization\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"synthesis\" \"decreased\")\n                           (list \"biolink:affects\" \"biolink:causes\" \"uptake\" \"decreased\")))       \n             #t))]\n      [else (error \"the edge format seems not correct\")])))\n\n(define (curie->gene/protein-conflation curies)\n  (set->list \n   (set-union (list->set curies)\n              (set-fixed-point\n               (list->set\n                (curies->synonyms \n                 (append \n                  (map car\n                       (query:X->Known-scored\n                        #f\n                        '(\"biolink:gene_product_of\")\n                        curies\n                        (list (list 1112) #f (list 0))))\n                  (map caddr\n                       (query:Known->X-scored\n                        curies\n                        '(\"biolink:gene_product_of\")\n                        #f\n                        (list (list 1112) #f (list 0)))))))\n               (lambda (new-curies)\n                 (list->set\n                  (curies->synonyms \n                   (append \n                    (map car\n                         (query:X->Known-scored\n                          #f\n                          '(\"biolink:gene_product_of\")\n                          (set->list curies)\n                          (list (list 1112) #f (list 0))))\n                    (map caddr\n                         (query:Known->X-scored\n                          (set->list curies)\n                          '(\"biolink:gene_product_of\")\n                          #f\n                          (list (list 1112) #f (list 0))))))))))))\n\n(define (synonym-format curie*)\n  (map (lambda (c)\n          (list* c (curie->name-remember c) (curie->properties c)))\n        curie*))\n  \n           \n      \n  "
  },
  {
    "path": "medikanren2/neo/neo-data/place_processed_data_here.txt",
    "content": "place processed data in this directory!\n\nFor example, this directory (`neo-data`) might contain:\n\nkgx-synonym.db/\n\nand\n\nrtx-kg2pre_7.6.db/\n"
  },
  {
    "path": "medikanren2/neo/neo-data/raw_downloads_from_kge_archive/place_raw_2tsv_kge_downloads_here.txt",
    "content": "place raw 2tsv kge downloads in this directory!\n\nfor example, the uncompressed `rtx-kg2pre_7.6` directory, containing `edges.tsv` and `nodes.tsv`\n"
  },
  {
    "path": "medikanren2/neo/neo-data/raw_downloads_from_kge_archive_transformed_to_4tsv/4tsv_versions_of_kgs_will_be_generated_here.txt",
    "content": "Running the transformation scripts in `neo/neo-data-import/transform-2tsv-to-4tsv-kgs/` will generate directories (in this directory) containing 4 TSV files, which in turn can be processed using the scripts in `neo/neo-data-import/build-mediKanren2-kg-from-4tsv/`.\n\n\nFor example, running the script\n\nneo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-rtx-kg2pre_7.6.rkt\n\nwill transform the 2 TSV rtx-kg2pre_7.6 files here:\n\nneo-data/\n  raw_downloads_from_kge_archive/\n    rtx-kg2pre_7.6/\n      edges.tsv\n      nodes.tsv\n      ...\n\ninto the 4 TSV files here:\n\nneo-data/\n  raw_downloads_from_kge_archive_transformed_to_4tsv/\n    rtx-kg2pre_7.6/\n      rtx-kg2pre_7.6.edge.tsv\n      rtx-kg2pre_7.6.edgeprop.tsv\n      rtx-kg2pre_7.6.node.tsv\n      rtx-kg2pre_7.6.nodeprop.tsv\n\n\nAfterwards, running the script\n\nneo/neo-data-import/build-mediKanren2-kg-from-4tsv/import-rtx-kg2pre_7.6.rkt\n\nwill generate the fully-processed dbKanren database here:\n\n\nneo-data/\n  rtx-kg2pre_7.6.db/\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/an_important_note_on_pre_processing_kgs.txt",
    "content": "There is an issue with the data in `rtx-kg2pre_7.6`, and perhaps in\nother KGs.\n\nIn the `nodes.tsv` file of `rtx-kg2pre_7.6`, some lines contain the\ncarriage return character ^M, presumably from DOS.\n\nAlas, the mediKanren processing scripts for the KGs do not handle this\nproperly, which can result in a \"wrong number of columns\" error during\nprocessing or use of the KG.\n\nSo, we must remove the offending carriage return characters before\nrunning a script in `../neo-data-import/transform-2tsv-to-4tsv-kgs/`\nto transform the 2 TSV KG into the 4 TSV format (which then will be\nimported into a dbKanren-compatible database).\n\nThese two pages describe the ^M carriage return character:\n\nhttps://www.atechtown.com/remove-ctrl-m-character/\n\nhttps://stackoverflow.com/questions/2613800/how-to-convert-dos-windows-newline-crlf-to-unix-newline-lf\n\n***\nImportant: the standard `dos2unix` utility does *not* appear to process the file correctly!\nWhich is why we use the `sed` approach instead.\n***\n\n\nTo check if a file contains the offending carriage return character, you can run from the terminal (in the directory containing the TSV files):\n\n```\nack ^M <file name>\n```\n\nFor example, `ack ^M nodes.tsv`\n\nHowever, you need to enter the ^M character correctly on the command line, as control-v followed by control-m\n\n\nIf the file contains the offending carriage return character, we must create a version of the TSV file without the carriage return:\n\n```\nsed  -e \"s/^M//g\" nodes.tsv > nodes_dos_free.tsv\n```\n\nOnce again, you need to enter the ^M character correctly on the command line, as control-v followed by control-m\n\nAfter running the `sed` script, the command\n\n```\nack ^M nodes_dos_free.tsv\n```\n\nshould not find any lines with the offending carriage return (once again, please enter ^M as command-v followed by command-m)\n\nAlso, we should check that the only difference between the two versions of the TSV files are the lines containing ^M:\n\n```\ndiff nodes.tsv nodes_dos_free.tsv > out.diff.txt\n```\n\n\nThe script\n\n`./transform-2tsv-to-4tsv-kgs/transform-rtx-kg2pre_7.6.rkt`\n\nlooks for the file `edges.tsv`, but looks for `nodes_dos_free.tsv` rather than `nodes.tsv`.\n\n\nIt would be good to automate this checking/fixing of the TSV files, as part of automated KG processing.\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/bucket-setting/README.md",
    "content": "The Bash script, **`run.sh`**, performs the following tasks in order:\n\n1. Runs a Racket file (`rtx-kg2-publication-distribution.rkt`).\n2. Checks if the Python package `pandas` is installed; if not, installs it.\n3. Runs a Python file (`generate-publication-dist.py`).\n\nUse this script to automate your workflow without having to manually execute each command.\n\n---\n\n## Prerequisites\n\n- **Bash** (or a Bash-compatible shell)  \n  - If you’re on macOS or a Linux distribution, Bash is usually installed by default.  \n  - On Windows, you can use [Git Bash](https://git-scm.com/downloads) or the Windows Subsystem for Linux (WSL).\n- **Racket**  \n  - Make sure the `racket` command is available on your system path.\n- **Python 3**  \n  - Confirm you can run `python3` in your terminal.\n- **pip3**  \n  - If you can run `pip3 --version`, it’s installed.\n\n---\n\n## Getting Started\n\n1. **Ensure the data is ready:** Please ensure that the data is stored in the directories specified in the Racket and Python files.\n\n2. **Make the script executable** (if it isn’t already):\n   ```bash\n   chmod +x run.sh\n\n3. **Run the script:**\n   ```bash\n   ./run.sh\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/bucket-setting/generate-publication-dist.py",
    "content": "import pandas as pd\nimport math\nimport csv\n\nfile_base = '../../neo-data/raw_downloads_from_kge_archive/rtx-kg2-v2.10.0/'\n\nfile_path = file_base + 'scores.tsv'\nmax_bucket_size_percentage = 0.02\nmin_bucket_size_percentage = max_bucket_size_percentage * 0.7\nmax_bucket_size_min = 20000\nmin_bucket_size_min = max_bucket_size_min * 0.7\n\ndef export_to_tsv(data, filename):\n    with open(filename, 'w', newline='') as file:\n        writer = csv.writer(file, delimiter='\\t')\n\n        for record, nested_dict in data.items():\n            for column, value in nested_dict.items():\n                writer.writerow([record, column, value])\n\n# Load the TSV file\ndata = pd.read_csv(file_path, sep='\\t')\n\n# Calculate the total number of edges for each predicate\ntotal_edges_per_predicate = data.groupby('predicate')['num-edges'].sum()\n\n# Define the maximum and minimum bucket size thresholds\nmax_bucket_size = total_edges_per_predicate.apply(lambda x: max(x * max_bucket_size_percentage, max_bucket_size_min))\nmin_bucket_size = total_edges_per_predicate.apply(lambda x: max(x * min_bucket_size_percentage, min_bucket_size_min))\n\n# Calculate the number of buckets needed for each score of each predicate\nbuckets_needed = {}\n\nfor predicate, group in data.groupby('predicate'):\n    scores_sorted = group.sort_values('score').reset_index(drop=True)\n    handled_scores = set()  # To keep track of scores that have been handled\n\n    for index, row in scores_sorted.iterrows():\n        score = row['score']\n        num_edges = row['num-edges']\n\n        if score in handled_scores:\n            continue  # Skip this score because it's already been handled\n\n        if num_edges > max_bucket_size[predicate]:\n            # Split into multiple buckets if more than 5% of the total edges\n            num_buckets = math.ceil(num_edges / max_bucket_size[predicate])\n            buckets_needed.setdefault(predicate, {})[score] = num_buckets\n        elif num_edges >= min_bucket_size[predicate]:\n            # Assign a single bucket if between 3.5% and 5%\n            buckets_needed.setdefault(predicate, {})[score] = 1\n        else:\n            # Attempt to combine with subsequent scores if less than 3.5%\n            current_total = num_edges\n            start_score = score  # Track the starting score of the bucket\n\n            for j in range(index + 1, len(scores_sorted)):\n                next_score = scores_sorted.at[j, 'score']\n                next_num_edges = scores_sorted.at[j, 'num-edges']\n\n                if next_score in handled_scores:\n                    continue  # Skip already handled scores\n\n                if current_total + next_num_edges <= max_bucket_size[predicate]:\n                    current_total += next_num_edges\n                    handled_scores.add(next_score)  # Mark this score as handled\n                    buckets_needed.setdefault(predicate, {})[next_score] = 0\n\n                    if current_total >= min_bucket_size[predicate]:\n                        break  # Stop combining if we reach the minimum size\n\n            # Assign a bucket to the starting score of the combination\n            buckets_needed.setdefault(predicate, {})[start_score] = 1\n            handled_scores.add(start_score)  # Mark the starting score as handled\n\nstart_bucket_numbers = {predicate: {} for predicate in buckets_needed.keys()}\nfor predicate, scores in buckets_needed.items():\n    start_number = 1\n    last_start_number = start_number\n    for score, num_buckets in sorted(scores.items(), key=lambda x: x[0]):\n        if num_buckets==0:\n            start_bucket_numbers[predicate][score] = last_start_number\n        else:\n            start_bucket_numbers[predicate][score] = start_number\n            last_start_number = start_number\n        start_number += num_buckets\n\nexport_to_tsv(buckets_needed, file_base + \"buckets-needed.tsv\")\nexport_to_tsv(start_bucket_numbers, file_base + \"start-bucket-numbers.tsv\")\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/bucket-setting/predicate-publication-statistics.rkt",
    "content": "#lang racket\n\n(require json\n         \"../transform-2tsv-to-4tsv-kgs/transform-utils.rkt\")\n\n(provide get-pub-dist-tsv\n         get-pred-tsv\n         get-pub-dist-jsonl\n         get-pubs-counts-jsonl\n         get-pred-jsonl)\n\n\n(define get-pub-dist-tsv\n  (lambda (tsv factor?)\n    (define pub (make-hash))\n    (define in (open-input-file tsv))\n    (define header (efficient-no-trim-tab-string-split (read-line in 'any)))\n    (define (helper i)\n      (when (zero? (modulo i 1000000))\n          (printf \"processing edges line ~s\\n\" i))\n      (define line-str (read-line in 'any))\n      (when (not (eof-object? line-str))\n        (define line (efficient-no-trim-tab-string-split line-str))\n\n        (define pub-idx (find-index header \"publications\"))\n        (define pred-idx (find-index header \"predicate\"))\n        (define factor-idx (if factor? (find-index header \"score\") #f))\n        (define pubs (list-ref line pub-idx))\n        (define pred (list-ref line pred-idx))\n        (define factor (if factor? (list-ref line factor-idx) 1))\n\n        (if (equal? pubs \"\")\n            (hash-update! pub pred (lambda (oldh) (hash-update oldh 0 add1 0)) (hash))\n            (let ((pub-len (length (string-split pubs \"|\"))))\n              (hash-update! pub\n                            pred\n                            (lambda (oldh)\n                              (hash-update oldh\n                                           (exact-round (* factor pub-len))\n                                           add1\n                                           0))\n                            (hash))))\n        (helper (add1 i))))\n    (helper 1)\n    (close-input-port in)\n    (hash->list pub)))\n\n(define get-pred-tsv\n  (lambda (jsonl)\n    (define pred-t (make-hash))\n    (define in (open-input-file jsonl))\n    (define (helper i)\n      (when (zero? (modulo i 1000000))\n          (printf \"processing edges line ~s\\n\" i))\n      (define line-str (read-line in 'any))\n      (when (not (eof-object? line-str))\n        (define line (efficient-no-trim-tab-string-split line-str))\n        #|\n        (define pred (list-ref line 1)) ;text mining\n        (define qualified-pred (list-ref line 3)) ;text mining\n        (define object-direction-qualifier (list-ref line 9)) ;text mining\n        (define object-aspect-qualifier (list-ref line 8)) ;text mining\n        |#\n        (define pred (list-ref line 15)) ;rtx-kg2\n        (define qualified-pred (list-ref line 10)) ;rtx-kg2\n        (define object-direction-qualifier (list-ref line 9)) ;rtx-kg2\n        (define object-aspect-qualifier (list-ref line 8)) ;rtx-kg2\n        (when pred\n            (hash-update! pred-t\n                          pred\n                          (lambda (accu)\n                            (remove-duplicates\n                             (cons\n                              (list qualified-pred object-aspect-qualifier object-direction-qualifier)\n                              accu)))\n                          '()))\n        (helper (add1 i))))\n    (helper 1)\n    (close-input-port in)\n    (hash->list pred-t)))\n\n(define get-pub-dist-jsonl\n  (lambda (jsonl)\n    (define pub (make-hash))\n    (define in (open-input-file jsonl))\n    (define (helper i)\n      (when (zero? (modulo i 1000000))\n          (printf \"processing edges line ~s\\n\" i))\n      (define line (read-json in))\n      (when (not (eof-object? line))\n        (define pubs (hash-ref line 'publications #f))\n        (define pred (hash-ref line 'predicate #f))\n        (if pubs\n            (let ((pub-len (cond\n                             [(string? pubs) 1]\n                             [(list? pubs) (length pubs)]\n                             [else (display pubs) \"not seen\"])))\n              (hash-update! pub\n                            pred\n                            (lambda (oldh)\n                              (hash-update oldh\n                                           pub-len \n                                           add1\n                                           0))\n                            (hash)))\n            (hash-update! pub pred (lambda (oldh) (hash-update oldh 0 add1 0)) (hash)))\n        (helper (add1 i))))\n    (helper 1)\n    (close-input-port in)\n    (hash->list pub)))\n\n(define get-pubs-counts-jsonl\n  (lambda (jsonl pub-sym)\n    (define pub-count-dict (make-hash))\n    (define in (open-input-file jsonl))\n    (define helper\n      (lambda ()\n        (define json (read-json in))\n        (when (not (eof-object? json))    \n          (define pubs (hash-ref json pub-sym #f))\n          (if pubs\n              (let ((pub-len (cond\n                               [(string? pubs)\n                                 (max (length (string-split pubs \"|\")) (length (string-split pubs)))]\n                               [(list? pubs) (length pubs)]\n                               [else (display pubs) \"not seen\"])))\n                (hash-update! pub-count-dict pub-len add1 0))\n              (hash-update! pub-count-dict 0 add1 0))\n          (helper))))\n    (helper)\n    (close-input-port in)\n    (hash->list pub-count-dict)))\n\n(define get-pred-jsonl\n  (lambda (jsonl)\n    (define pred-t (make-hash))\n    (define in (open-input-file jsonl))\n    (define (helper i)\n      (when (zero? (modulo i 1000000)) ;; print the lines and number after 73000000\n          (printf \"processing edges line ~s\\n\" i))\n      (define line (read-json in))\n      (when (not (eof-object? line))\n        (define pred (hash-ref line 'predicate \"\"))\n        (define qualified-pred (hash-ref line 'qualified_predicate \"\"))\n        (define object-direction-qualifier (hash-ref line 'object_direction_qualifier \"\"))\n        (define object-aspect-qualifier (hash-ref line  'object_aspect_qualifier \"\"))\n        (when pred\n            (hash-update! pred-t\n                          pred\n                          (lambda (accu)\n                            (remove-duplicates\n                             (cons\n                              (list qualified-pred object-aspect-qualifier object-direction-qualifier)\n                              accu)))\n                          '()))\n        (helper (add1 i))))\n    (helper 1)\n    (close-input-port in)\n    (hash->list pred-t)))\n\n\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/bucket-setting/rtx-kg2-publication-distribution.rkt",
    "content": "#lang racket\n\n(require \"predicate-publication-statistics.rkt\"\n         \"../transform-2tsv-to-4tsv-kgs/transform-utils.rkt\")\n\n(define KG_DIRECTORY \"../../neo-data/raw_downloads_from_kge_archive/rtx-kg2-v2.10.0/\")\n(define KG_EDGE_File \"data_01_RAW_KGs_rtx_kg2_v2.10.0_validated_rtx-kg2_2.10.0_edges.tsv\")\n(define KG_PATH (string-append KG_DIRECTORY KG_EDGE_File))\n(define FILE_TYPE \"tsv\")\n(define SCORE_FACTOR #f)\n\n(define pub-distribution\n  (cond\n    ((equal? FILE_TYPE \"jsonl\") (get-pub-dist-jsonl KG_PATH))\n    ((equal? FILE_TYPE \"tsv\") (get-pub-dist-tsv KG_PATH SCORE_FACTOR))\n    (else (error \"mediKanren does not support the file type ~a.\" FILE_TYPE))))\n\n(define formated-pub-distribution\n  (unwrap (map (lambda (p)\n                 (map\n                  (lambda (pub/count)\n                    (list (car p) (car pub/count) (cdr pub/count)))\n                  (hash->list (cdr p))))\n               pub-distribution)))\n\n(write-list-to-tsv\n '(\"predicate\"\n   \"score\"\n   \"num-edges\")\n formated-pub-distribution\n (string-append KG_DIRECTORY \"scores.tsv\"))"
  },
  {
    "path": "medikanren2/neo/neo-data-import/bucket-setting/run.sh",
    "content": "#!/usr/bin/env bash\n\n# Exit immediately if a command exits with a non-zero status\nset -e\n\necho \"===== Step 1: Calculating the predicate and score distribution for RTX-KG2=====\"\nracket rtx-kg2-publication-distribution.rkt\n\necho \"===== Step 2: Checking for pandas in Python =====\"\n# Check if pandas is installed\nif ! python3 -c \"import pandas\" &> /dev/null; then\n  echo \"pandas is not installed. Installing now...\"\n  pip3 install pandas\nelse\n  echo \"pandas is already installed.\"\nfi\n\necho \"===== Step 3: Assigning buckets =====\"\npython3 generate-publication-dist.py\n\necho \"===== The bucket setting is completed. =====\"\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/build-mediKanren2-kg-from-4tsv/import-full-Robokop.rkt",
    "content": "#lang racket/base\n(require \"../../dbKanren/dbk/database.rkt\"\n         racket/list racket/pretty racket/runtime-path)\n\n(define BASE \"../../neo-data/raw_downloads_from_kge_archive_transformed_to_4tsv/robokop-july-31-2024/\")\n\n(define EDGEPROP_PATH (string-append BASE \"Robokop.edgeprop.tsv\"))\n(define EDGE_PATH (string-append BASE \"Robokop.edge.tsv\"))\n(define SCORED_EDGE_PATH (string-append BASE \"Robokop.scorededge.tsv\"))\n(define NODEPROP_PATH (string-append BASE \"Robokop.nodeprop.tsv\"))\n;;\n(define OUTPUT_DATABASE_PATH \"../../neo-data/robokop.db\")\n\n(define-runtime-path path.here \".\")\n\n(pretty-write `(current-batch-size: ,(current-batch-size)))\n\n(define relation-specs `(\n                         (eprop\n                           ,EDGEPROP_PATH\n                           (int text text)\n                           (eid key value)\n                           ((eid key value)\n                            (key value eid)))\n                         (edge\n                           ,EDGE_PATH\n                           (int text text)\n                           (eid subject object)\n                           ((eid)\n                            (subject object)\n                            (object  subject)\n                            (subject eid object)\n                            (object  eid subject)))\n                         (scored-edge\n                           ,SCORED_EDGE_PATH\n                           (int text text text int)\n                           (eid predicate subject object score)\n                           ((score predicate subject object eid)\n                            (score predicate object subject eid)\n                            #;(predicate score subject object eid)\n                            #;(predicate score object subject eid)))\n                         (cprop\n                           ,NODEPROP_PATH\n                           (text text text)\n                           (curie key value)\n                           ((curie key value)\n                            (key value curie)))\n                         ))\n(pretty-write `(relation-specs: . ,relation-specs))\n\n(define db (database (build-path path.here OUTPUT_DATABASE_PATH)))\n\n(define relation-names   (map car             relation-specs))\n(define relation-files   (map cadr            relation-specs))\n(define relation-types   (map caddr           relation-specs))\n(define relation-attrs   (map cadddr          relation-specs))\n(define relation-indexes (map car (map cddddr relation-specs)))\n\n(for-each (lambda (name file-name type attrs)\n            (unless (database-relation-name? db name)\n              (pretty-write `(building ,name from ,file-name))\n              (define R (build-tsv-relation db type file-name))\n              (relation-name-set! R name)\n              (relation-attributes-set! R attrs)\n              (database-commit! db)))\n          relation-names\n          relation-files\n          relation-types\n          relation-attrs)\n(database-trash-empty! db)\n\n(pretty-write '(compacting full database))\n(for-each (lambda (name)\n            (define R (database-relation db name))\n            (relation-full-compact! R))\n          relation-names)\n(database-commit! db)\n(database-trash-empty! db)\n\n(for-each (lambda (name indexes)\n            (define R (database-relation db name))\n            (for-each (lambda (index)\n                        (pretty-write `(indexing ,name for ,index))\n                        (relation-index-add! R index)\n                        (database-commit! db))\n                      indexes))\n          relation-names\n          relation-indexes)\n(database-trash-empty! db)\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/build-mediKanren2-kg-from-4tsv/import-rtx-kg2.rkt",
    "content": "#lang racket/base\n(require \"../../dbKanren/dbk/database.rkt\"\n         racket/list racket/pretty racket/runtime-path)\n\n(define BASE \"../../neo-data/raw_downloads_from_kge_archive_transformed_to_4tsv/rtx-kg2-v2.10.0/\")\n\n(define EDGEPROP_PATH (string-append BASE \"rtx_kg2.edgeprop.tsv\"))\n(define EDGE_PATH (string-append BASE \"rtx_kg2.edge.tsv\"))\n(define SCORED_EDGE_PATH (string-append BASE  \"rtx_kg2.scorededge.tsv\"))\n(define NODEPROP_PATH (string-append BASE \"rtx_kg2.nodeprop.tsv\"))\n;;\n(define OUTPUT_DATABASE_PATH \"../../neo-data/rtx-kg2.db\")\n\n(define-runtime-path path.here \".\")\n\n(pretty-write `(current-batch-size: ,(current-batch-size)))\n\n(define relation-specs `(\n                         (eprop\n                           ,EDGEPROP_PATH\n                           (int text text)\n                           (eid key value)\n                           ((eid key value)\n                            (key value eid)))\n                         (edge\n                           ,EDGE_PATH\n                           (int text text)\n                           (eid subject object)\n                           ((eid)\n                            (subject object)\n                            (object  subject)\n                            (subject eid object)\n                            (object  eid subject)))\n                         (scored-edge\n                           ,SCORED_EDGE_PATH\n                           (int text text text int)\n                           (eid predicate subject object score)\n                           ((score predicate subject object eid)\n                            (score predicate object subject eid)\n                            #;(predicate score subject object eid)\n                            #;(predicate score object subject eid)))\n                         (cprop\n                           ,NODEPROP_PATH\n                           (text text text)\n                           (curie key value)\n                           ((curie key value)\n                            (key value curie)))\n                         ))\n(pretty-write `(relation-specs: . ,relation-specs))\n\n(define db (database (build-path path.here OUTPUT_DATABASE_PATH)))\n\n(define relation-names   (map car             relation-specs))\n(define relation-files   (map cadr            relation-specs))\n(define relation-types   (map caddr           relation-specs))\n(define relation-attrs   (map cadddr          relation-specs))\n(define relation-indexes (map car (map cddddr relation-specs)))\n\n(for-each (lambda (name file-name type attrs)\n            (unless (database-relation-name? db name)\n              (pretty-write `(building ,name from ,file-name))\n              (define R (build-tsv-relation db type file-name))\n              (relation-name-set! R name)\n              (relation-attributes-set! R attrs)\n              (database-commit! db)))\n          relation-names\n          relation-files\n          relation-types\n          relation-attrs)\n(database-trash-empty! db)\n\n(pretty-write '(compacting full database))\n(for-each (lambda (name)\n            (define R (database-relation db name))\n            (relation-full-compact! R))\n          relation-names)\n(database-commit! db)\n(database-trash-empty! db)\n\n(for-each (lambda (name indexes)\n            (define R (database-relation db name))\n            (for-each (lambda (index)\n                        (pretty-write `(indexing ,name for ,index))\n                        (relation-index-add! R index)\n                        (database-commit! db))\n                      indexes))\n          relation-names\n          relation-indexes)\n(database-trash-empty! db)\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/build-mediKanren2-kg-from-4tsv/import-text_mining.rkt",
    "content": "#lang racket/base\n(require \"../../dbKanren/dbk/database.rkt\"\n         racket/pretty racket/runtime-path)\n\n(define BASE \"../../neo-data/raw_downloads_from_kge_archive_transformed_to_4tsv/text-mining-aug-5-2024/\")\n\n(define EDGEPROP_PATH (string-append BASE \"text_mining.edgeprop.tsv\"))\n(define EDGE_PATH (string-append BASE \"text_mining.edge.tsv\"))\n(define SCORED_EDGE_PATH (string-append BASE \"text_mining.scorededge.tsv\"))\n(define NODEPROP_PATH (string-append BASE \"text_mining.nodeprop.tsv\"))\n;;\n(define OUTPUT_DATABASE_PATH \"../../neo-data/text_mining.db\")\n\n(define-runtime-path path.here \".\")\n\n(pretty-write `(current-batch-size: ,(current-batch-size)))\n\n(define relation-specs `(\n                         (eprop\n                           ,EDGEPROP_PATH\n                           (int text text)\n                           (eid key value)\n                           ((eid key value)\n                            (key value eid)))\n                         (edge\n                           ,EDGE_PATH\n                           (int text text)\n                           (eid subject object)\n                           ((eid)\n                            (subject object)\n                            (object  subject)\n                            (subject eid object)\n                            (object  eid subject)))\n                         (scored-edge\n                           ,SCORED_EDGE_PATH\n                           (int text text text int)\n                           (eid predicate subject object score)\n                           ((score predicate subject object eid)\n                            (score predicate object subject eid)\n                            #;(predicate score subject object eid)\n                            #;(predicate score object subject eid)))\n                         (cprop\n                           ,NODEPROP_PATH\n                           (text text text)\n                           (curie key value)\n                           ((curie key value)\n                            (key value curie)))\n                         ))\n(pretty-write `(relation-specs: . ,relation-specs))\n\n(define db (database (build-path path.here OUTPUT_DATABASE_PATH)))\n\n(define relation-names   (map car             relation-specs))\n(define relation-files   (map cadr            relation-specs))\n(define relation-types   (map caddr           relation-specs))\n(define relation-attrs   (map cadddr          relation-specs))\n(define relation-indexes (map car (map cddddr relation-specs)))\n\n(for-each (lambda (name file-name type attrs)\n            (unless (database-relation-name? db name)\n              (pretty-write `(building ,name from ,file-name))\n              (define R (build-tsv-relation db type file-name))\n              (relation-name-set! R name)\n              (relation-attributes-set! R attrs)\n              (database-commit! db)))\n          relation-names\n          relation-files\n          relation-types\n          relation-attrs)\n(database-trash-empty! db)\n\n(pretty-write '(compacting full database))\n(for-each (lambda (name)\n            (define R (database-relation db name))\n            (relation-full-compact! R))\n          relation-names)\n(database-commit! db)\n(database-trash-empty! db)\n\n(for-each (lambda (name indexes)\n            (define R (database-relation db name))\n            (for-each (lambda (index)\n                        (pretty-write `(indexing ,name for ,index))\n                        (relation-index-add! R index)\n                        (database-commit! db))\n                      indexes))\n          relation-names\n          relation-indexes)\n(database-trash-empty! db)\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-edge-jsonl.rkt",
    "content": "#lang racket\n\n(require json\n         \"transform-utils.rkt\")\n(provide transform-edge-jsonl)\n\n#|\nOutput edge and edge-props file formats:\n<name-file>.edge.tsv\n:ID :START :END\nex-row: 1 ENSEMBL:ENSG00000004059 ENSEMBL:ENSP00000000233\n\n<name-file>.edgeprops.tsv\n:ID propname value\nex-rows:\n1\tid\tdf6920caa6087ee642b8016b55776432\n1\tsubject\tGO:0061729\n1\tpredicate\tbiolink:same_as\n1\tobject\tREACT:R-HSA-446205\n\n<name-file>.scorededge.tsv\n:ID predicate subject object score\n|#\n\n\n(define counters (hash))\n(define build-buckets-with-distribution\n  (lambda (predicate score buckets-needed start-bucket-numbers)\n    (set! counters\n          (hash-update counters\n                       predicate\n                       (lambda(pred-h)\n                         (hash-update pred-h score add1 0))\n                       (hash)))\n    (let* ((edge-count (hash-ref (hash-ref counters predicate) score))\n           (num-buckets (hash-ref (hash-ref buckets-needed predicate) score))\n           (start-bucket-number (hash-ref (hash-ref start-bucket-numbers predicate) score))\n           (specific-bucket (modulo (- edge-count 1) (max num-buckets 1)))\n           (bucket-assignment (+ start-bucket-number specific-bucket)))\n      bucket-assignment)))  \n\n(define transform-edge-jsonl\n  (lambda (edges-file-import-path\n           bucket-needed-path\n           start-bucket-numbers-path\n           edge-file-export-path\n           edge-props-file-export-path\n           scored-edge-file-export-path\n           which-kg)\n\n    (define buckets-needed (build-pred-score-amount-hash bucket-needed-path))\n     \n    (define start-bucket-numbers (build-pred-score-amount-hash start-bucket-numbers-path))\n\n    (printf \"transform-edge-jsonl called\\n\")\n    (printf \"input edges jsonl: ~s\\n\" edges-file-import-path)\n    (printf \"output edge tsv: ~s\\n\" edge-file-export-path)\n    (printf \"output edge props tsv: ~s\\n\" edge-props-file-export-path)\n    (printf \"output edge tsv: ~s\\n\" scored-edge-file-export-path)\n\n    (define edges-export-out\n      (open-output-file edge-file-export-path))\n    (fprintf edges-export-out \":ID\\t:START\\t:END\\n\")\n    (define edge-props-out\n      (open-output-file edge-props-file-export-path))\n    (fprintf edge-props-out \":ID\\tpropname\\tvalue\\n\")\n    (define scored-edge-out\n      (open-output-file scored-edge-file-export-path))\n    (fprintf scored-edge-out \":ID\\tpredicate\\tsubject\\tobject\\tscore\\n\")\n\n    (define edges-in\n      (open-input-file edges-file-import-path))\n\n    (let loop ((id 0)\n               (line (read-json edges-in)))\n      (when (zero? (modulo id 100000))\n        (printf \"processing edges line ~s\\n\" id))\n      (cond\n        [(eof-object? line)\n         (close-input-port edges-in)\n         (close-output-port edges-export-out)\n         (close-output-port edge-props-out)\n         (close-output-port scored-edge-out)\n         (printf \"finished processing edges\\n\")\n         (printf \"the current counters ~s\\n\\n\" counters)]\n        [else\n         (let* ((subject (hash-ref line 'subject #f))\n                (object (hash-ref line 'object #f))\n                (predicate (hash-ref line 'predicate #f))\n                ; the following line is for a fix for rtx-kg2 2.10.1pre\n                (predicate (if (and (string? predicate) (string-contains? predicate \"biolink:biolink_\"))\n                               (string-replace predicate \"biolink:biolink_\" \"biolink:\")\n                               predicate)) \n                (robokop-primary_knowledge_source (hash-ref line 'primary_knowledge_source #f)))\n           (if (equal? robokop-primary_knowledge_source \"infores:text-mining-provider-targeted\")\n               (loop id (read-json edges-in))\n               (begin\n                 (when (and subject object predicate)\n                   (fprintf edges-export-out \"~a\\t~a\\t~a\\n\" id subject object)\n                   (let* ((pubs (hash-ref line 'publications #f))\n                          (score (cond\n                                   [(not pubs) 0]\n                                   [(string? pubs) 1]\n                                   [(list? pubs) (length pubs)]\n                                   [else (error \"not seen\")]))\n                          (bucket-num\n                           (cond\n                             [(equal? predicate \"biolink:subclass_of\") 1111]\n                             [(equal? predicate \"biolink:gene_product_of\") 1112]\n                             [else (build-buckets-with-distribution\n                                    predicate score buckets-needed start-bucket-numbers)])))\n                     (fprintf scored-edge-out \"~a\\t~a\\t~a\\t~a\\t~a\\n\"\n                              id predicate subject object bucket-num)\n                     (let loop-inner (;; all the properties, including the subject and onbject. The order might be various.\n                                      (propnames (hash-keys line)))\n                       (when (not (null? propnames))\n                         (let* ((propname (car propnames))\n                                (value (hash-ref line propname))\n                                (value (if (hash? value)\n                                           (jsexpr->string value)\n                                           value)))\n                           (unless (or (equal? \"\" value) (equal? 'null value))\n                             (cond\n                               ; the following line is for a fix for rtx-kg2 2.10.1pre\n                               ((and (equal? propname 'predicate) (string-contains? value \"biolink:biolink_\"))\n                                (fprintf edge-props-out \"~a\\t~a\\t~a\\n\" id propname (string-replace value \"biolink:biolink_\" \"biolink:\")))\n                               ((equal? propname 'qualified_object_aspect)\n                                (fprintf edge-props-out \"~a\\tobject_aspect_qualifier\\t~a\\n\" id value))\n                               ((equal? propname 'qualified_object_direction)\n                                (fprintf edge-props-out \"~a\\tobject_direction_qualifier\\t~a\\n\" id value))\n                               ((equal? propname 'biolink:primary_knowledge_source)\n                                (fprintf edge-props-out \"~a\\tprimary_knowledge_source\\t~a\\n\" id value))\n                               (else\n                                (fprintf edge-props-out \"~a\\t~a\\t~a\\n\" id propname value)))))\n                         (loop-inner (cdr propnames))))\n                     (fprintf edge-props-out \"~a\\tmediKanren-score\\t~a\\n\" id score)))\n                 (loop\n                  (add1 id)\n                  (read-json edges-in)))))]))))\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-edge-tsv.rkt",
    "content": "#lang racket\n(require \"transform-utils.rkt\")\n(provide transform-edge-tsv)\n\n#|\nOutput edge and edge-props file formats:\n\n<name-file>.edge.tsv\n:ID :START :END\n\n<name-file>.edge-props.tsv\n:ID propname value\n\n<name-file>.qualifiededge.tsv\n:ID predicate object-aspect object-direction subject object\n\n|#\n\n\n(define counters (hash))\n(define build-buckets-with-distribution\n  (lambda (predicate score buckets-needed start-bucket-numbers)\n    (set! counters\n          (hash-update counters\n                       predicate\n                       (lambda(pred-h)\n                         (hash-update pred-h score add1 0))\n                       (hash)))\n    (let* ((edge-count (hash-ref (hash-ref counters predicate) score))\n           (num-buckets (hash-ref (hash-ref buckets-needed predicate) score))\n           (start-bucket-number (hash-ref (hash-ref start-bucket-numbers predicate) score))\n           (specific-bucket (modulo (- edge-count 1) (max num-buckets 1)))\n           (bucket-assignment (+ start-bucket-number specific-bucket)))\n      bucket-assignment)))\n\n(define transform-edge-tsv\n  (lambda (edges-file-import-path\n           bucket-needed-path\n           start-bucket-numbers-path\n           edge-file-export-path\n           edge-props-file-export-path\n           scored-edge-file-export-path\n           which-kg)\n    \n    (define buckets-needed (build-pred-score-amount-hash bucket-needed-path))\n\n    (define start-bucket-numbers (build-pred-score-amount-hash start-bucket-numbers-path))\n\n    (printf \"transform-edge-tsv\\n\")\n    (printf \"transform-edge-tsv called\\n\")\n    (printf \"input edges tsv: ~s\\n\" edges-file-import-path)\n    (printf \"output edge tsv: ~s\\n\" edge-file-export-path)\n    (printf \"output edge props tsv: ~s\\n\" edge-props-file-export-path)\n    (printf \"output scored edge tsv: ~s\\n\" scored-edge-file-export-path)\n    \n    (define edges-export-out\n      (open-output-file edge-file-export-path))\n    (fprintf edges-export-out \":ID\\t:START\\t:END\\n\")\n    (define edge-props-out\n      (open-output-file edge-props-file-export-path))\n    (fprintf edge-props-out \":ID\\tpropname\\tvalue\\n\")\n    (define scored-edge-out\n      (open-output-file scored-edge-file-export-path))\n    (fprintf scored-edge-out \":ID\\tpredicate\\tsubject\\tobject\\tscore\\n\")\n\n    (define edges-in\n      (open-input-file edges-file-import-path))\n    \n    (let* ((header (read-line edges-in 'any))\n           (header (string-split header \"\\t\" #:trim? #f)))\n      (let loop ((id 0)\n                 (line-str (read-line edges-in 'any)))\n        (when (zero? (modulo id 100000))\n          (printf \"processing edges line ~s\\n\" id))\n        (cond\n          ((eof-object? line-str)\n           (close-input-port edges-in)\n           (close-output-port edges-export-out)\n           (close-output-port edge-props-out)\n           (close-output-port scored-edge-out)\n           (printf \"finished processing edges\\n\\n\")\n           (printf \"the current counters ~s\\n\" counters))\n          (else\n           (let ((line (efficient-no-trim-tab-string-split line-str)))\n             (match-define (list predicate subject object score bucket-num)\n               (cond\n                 [(eq? which-kg 'text-mining)\n                  (let* ((predicate (list-ref line 1))\n                         (subject (list-ref line 0))\n                         (object (list-ref line 2))\n                         (pubs (list-ref line 17))\n                         (pub-len (if (equal? pubs \"\")\n                                    0\n                                    (length (string-split pubs \"|\"))))\n                         (TM-score (string->number (list-ref line 15)))\n                         (score (exact-round (* TM-score pub-len)))\n                         (bucket-num (build-buckets-with-distribution\n                                      predicate score buckets-needed start-bucket-numbers)))\n                    (list predicate subject object score bucket-num))]\n                 [(eq? which-kg 'rtx-kg2)\n                  (let* ((predicate (list-ref line (find-index header \"predicate\")))\n                         (subject (list-ref line (find-index header \"subject\")))\n                         (object (list-ref line (find-index header \"object\")))\n                         (pubs (list-ref line (find-index header \"publications\")))\n                         (score (if (equal? pubs \"\")\n                                    0\n                                    (length (string-split pubs \"|\"))))\n                         (bucket-num (cond\n                                       [(equal? predicate \"biolink:subclass_of\") 1111]\n                                       [(equal? predicate \"biolink:gene_product_of\") 1112]\n                                       [else (build-buckets-with-distribution\n                                              predicate score buckets-needed start-bucket-numbers)])))\n                    (list predicate subject object score bucket-num))]\n                 [else (error \"unknown KG\")]))\n             (unless (or (string=? \"\" subject) (string=? \"\" object))\n               (fprintf edges-export-out \"~a\\t~a\\t~a\\n\" id subject object)\n               (unless (string=? \"\" predicate)\n                 (fprintf scored-edge-out \"~a\\t~a\\t~a\\t~a\\t~a\\n\" id predicate subject object bucket-num)))\n               \n             (let loop-inner ((props line) ;; all the properties, including the subject and object\n                              (headers header))\n               (when (not (null? props))\n                 (unless (string=? \"\" (car props))\n                   (let ((propname (car headers))\n                         (value (car props)))\n                     (fprintf edge-props-out \"~a\\t~a\\t~a\\n\" id propname value)))\n                 (loop-inner (cdr props) (cdr headers))))\n             (fprintf edge-props-out \"~a\\tmediKanren-score\\t~a\\n\" id score)\n             #;(fprintf edge-props-out \"~a\\tprimary_knowledge_source\\tinfores:text-mining-provider-targeted\\n\" id)\n             (loop\n              (add1 id)\n              (read-line edges-in 'any)))))))))\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-full-Robokop.rkt",
    "content": "#lang racket\n\n(require \"transform-generic.rkt\"\n         \"transform-edge-jsonl.rkt\"\n         json\n         \"../../neo-reasoning/neo-biolink-reasoning-low-level.rkt\")\n\n(define transform-node-jsonl\n  (lambda (nodes-file-import-path\n           node-file-export-path\n           node-props-file-export-path\n           which-kg)\n\n    (printf \"transform-node-jsonl called\\n\")\n    (printf \"input nodes jsonl: ~s\\n\" nodes-file-import-path)\n    (printf \"output node tsv: ~s\\n\" node-file-export-path)\n    (printf \"output node props tsv: ~s\\n\" node-props-file-export-path)\n    \n    (define node-out\n      (open-output-file node-file-export-path))\n    (fprintf node-out \":ID\\n\")\n    (define node-props-out\n      (open-output-file node-props-file-export-path))\n    (fprintf node-props-out \":ID\\tpropname\\tvalue\\n\")\n\n    (define nodes-in\n      (open-input-file nodes-file-import-path))\n\n    (let loop ((i 0)\n               (seen-nodes (set))\n               (line-json (read-json nodes-in)))\n      (when (zero? (modulo i 100000))\n        (printf \"processing nodes line ~s\\n\" i))\n\n      (cond\n        [(eof-object? line-json)\n         (close-input-port nodes-in)\n         (close-output-port node-out)\n         (close-output-port node-props-out)\n         (printf \"finished processing nodes\\n\\n\")]\n        [else\n         (let ((id (hash-ref line-json 'id #f)))\n           (if id\n               (begin\n                 (when (set-member? seen-nodes id)\n                   (error 'make-kg-node (format \"already seen node: ~a\" id)))\n                 (fprintf node-out \"~a\\n\" id)\n                 (let* ((name (hash-ref line-json 'name \"N/A\"))\n                        (categories (hash-ref line-json 'category #f))\n                        (categories-smallest-nonmixin (and categories\n                                                           (list? categories)\n                                                           (get-smallest-nonmixin-class* categories))))\n                   (fprintf node-props-out \"~a\\tname\\t~a\\n\" id name)\n                   (cond\n                     ((and categories-smallest-nonmixin\n                           (not (null? categories-smallest-nonmixin)))\n                      (for-each\n                       (lambda (c)\n                         (fprintf node-props-out \"~a\\tcategory\\t~a\\n\" id c))\n                       categories-smallest-nonmixin))\n                     ((and categories-smallest-nonmixin\n                           (null? categories-smallest-nonmixin))\n                      (let ((categories-samllest (find-leaf-classes categories)))\n                        (for-each\n                         (lambda (c)\n                           (fprintf node-props-out \"~a\\tcategory\\t~a\\n\" id c))\n                         categories-samllest)))\n                     ((and categories (string? categories))\n                      (fprintf node-props-out \"~a\\tcategory\\t~a\\n\" id categories))\n                     (else\n                      (printf \"unseen format\" categories))))\n                 (loop\n                  (add1 i)\n                  (set-add seen-nodes id)\n                  (read-json nodes-in)))\n               (loop\n                (add1 i)\n                seen-nodes\n                (read-json nodes-in))))]))))\n\n(define BASE \"robokop-july-31-2024/\")\n\n(transform-generic\n (string-append \"../../neo-data/raw_downloads_from_kge_archive/\" BASE)\n (string-append \"../../neo-data/raw_downloads_from_kge_archive_transformed_to_4tsv/\" BASE)\n \"nodes.jsonl\"\n \"edges.jsonl\"\n \"Robokop\"\n 'robokop\n (cons transform-node-jsonl transform-edge-jsonl))\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-generic.rkt",
    "content": "#lang racket/base\n\n(provide transform-generic)\n\n;; transform-node-and-edge is a pair (transform-node . transform-edge) containing\n;; - a transform node function/procedure (transform-node-jsonl or transform-node-tsv)\n;; - a transform edge function/procedure (transform-edge-jsonl or transform-edge-tsv)\n\n(define transform-generic\n  (lambda (import-directory-path\n           export-directory-path\n           nodes-import-file-name\n           edges-import-file-name\n           export-base-file-name\n           which-kg\n           transform-node-and-edge)\n    \n    (define node-export-file-name\n      (string-append\n       export-base-file-name\n       \".node.tsv\"))\n    (define node-props-export-file-name\n      (string-append\n       export-base-file-name\n       \".nodeprop.tsv\"))\n\n    (define edge-export-file-name\n      (string-append\n       export-base-file-name\n       \".edge.tsv\"))\n    (define edge-props-export-file-name\n      (string-append\n       export-base-file-name\n       \".edgeprop.tsv\"))\n    (define scored-edge-export-file-name\n      (string-append\n       export-base-file-name\n       \".scorededge.tsv\"))\n\n        ;; --- nodes ---\n    (define nodes-file-import-path\n      (string-append\n       import-directory-path\n       nodes-import-file-name))\n\n    (define node-file-export-path\n      (string-append\n       export-directory-path\n       node-export-file-name))\n    (define node-props-file-export-path\n      (string-append\n       export-directory-path\n       node-props-export-file-name))\n\n        ;; --- edges ---\n    (define edges-file-import-path\n      (string-append\n       import-directory-path\n       edges-import-file-name))\n\n    (define edge-file-export-path\n      (string-append\n       export-directory-path\n       edge-export-file-name))\n    (define edge-props-file-export-path\n      (string-append\n       export-directory-path\n       edge-props-export-file-name))\n    (define scored-edge-file-export-path\n      (string-append\n       export-directory-path\n       scored-edge-export-file-name))\n\n    ;; --- precomputed distribution ---\n    (define bucket-needed-path\n      (string-append\n       import-directory-path\n       \"buckets-needed.tsv\"))\n\n    (define start-bucket-numbers-path\n      (string-append\n       import-directory-path\n       \"start-bucket-numbers.tsv\"))\n\n    (let ((transform-node (car transform-node-and-edge))\n          (transform-edge (cdr transform-node-and-edge)))\n      (transform-node nodes-file-import-path\n                      node-file-export-path\n                      node-props-file-export-path\n                      which-kg)\n\n      (transform-edge edges-file-import-path\n                      bucket-needed-path\n                      start-bucket-numbers-path\n                      edge-file-export-path\n                      edge-props-file-export-path\n                      scored-edge-file-export-path\n                      which-kg)\n\n    )))"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-node-jsonl.rkt",
    "content": "#lang racket\n\n(require json)\n(provide transform-node-jsonl)\n\n#|\nOutput node and node-props file formats:\n<name-file>.node.scm\n:ID\n<name-file>.node-props.scm\n:ID propname value\n|#\n\n(define (sanitize-string str)\n  (regexp-replace* #rx\"\\t|\\n|\\r\" str \" \"))\n\n(define transform-node-jsonl\n  (lambda (nodes-file-import-path\n           node-file-export-path\n           node-props-file-export-path\n           which-kg)\n\n    (printf \"transform-node-jsonl called\\n\")\n    (printf \"input nodes jsonl: ~s\\n\" nodes-file-import-path)\n    (printf \"output node tsv: ~s\\n\" node-file-export-path)\n    (printf \"output node props tsv: ~s\\n\" node-props-file-export-path)\n    \n    (define node-out\n      (open-output-file node-file-export-path))\n    (fprintf node-out \":ID\\n\")\n    (define node-props-out\n      (open-output-file node-props-file-export-path))\n    (fprintf node-props-out \":ID\\tpropname\\tvalue\\n\")\n\n    (define nodes-in\n      (open-input-file nodes-file-import-path))\n\n    (let loop ((i 0)\n               (seen-nodes (set))\n               (line-json (read-json nodes-in)))\n      (when (zero? (modulo i 100000))\n        (printf \"processing nodes line ~s\\n\" i))\n\n      (cond\n        [(eof-object? line-json)\n         (close-input-port nodes-in)\n         (close-output-port node-out)\n         (close-output-port node-props-out)\n         (printf \"finished processing nodes\\n\\n\")]\n        [else\n         (let ((id (hash-ref line-json 'id #f)))\n           (when id\n             (when (set-member? seen-nodes id)\n               (error 'make-kg-node (format \"already seen node: ~a\" id)))\n             (fprintf node-out \"~a\\n\" id)\n             (let loop-inner ((propnames (remove 'id (hash-keys line-json))))\n               (when (not (null? propnames)) \n                 (let* ((propname (car propnames))\n                        (value (hash-ref line-json propname #f))\n                        (value (cond\n                                 ((string? value) (sanitize-string value))\n                                 ((list? value) (if (andmap string? value)\n                                                    (map sanitize-string value)\n                                                    value))\n                                 (else value))))\n                   (unless (equal? \"\" value)\n                     (fprintf node-props-out \"~a\\t~a\\t~a\\n\" id propname value)))\n                 (loop-inner (cdr propnames)))))\n           (loop\n            (add1 i)\n            (set-add seen-nodes id)\n            (read-json nodes-in)))]))))\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-node-tsv.rkt",
    "content": "#lang racket\n(require \"transform-utils.rkt\")\n(provide transform-node-tsv)\n\n#|\nOutput node and node-props file formats:\n\n<name-file>.node.scm\n:ID\n\n<name-file>.node-props.scm\n:ID propname value\n|#\n\n(define transform-node-tsv\n  (lambda (nodes-file-import-path\n           node-file-export-path\n           node-props-file-export-path\n           which-kg)\n\n    (printf \"transform-node-tsv called\\n\")\n    (printf \"input nodes tsv: ~s\\n\" nodes-file-import-path)\n    (printf \"output node tsv: ~s\\n\" node-file-export-path)\n    (printf \"output node props tsv: ~s\\n\" node-props-file-export-path)\n    \n    (define node-out\n      (open-output-file node-file-export-path))\n    (fprintf node-out \":ID\\n\")\n    (define node-props-out\n      (open-output-file node-props-file-export-path))\n    (fprintf node-props-out \":ID\\tpropname\\tvalue\\n\")\n\n    (define nodes-in\n      (open-input-file nodes-file-import-path))\n    \n    (let* ((header (read-line nodes-in 'any))\n           (header (string-split header \"\\t\" #:trim? #f)))\n      (let loop ((i 0)\n                 (seen-nodes (set))\n                 (line-str (read-line nodes-in 'any)))\n        (when (zero? (modulo i 100000))\n          (printf \"processing nodes line ~s\\n\" i))\n\n        (cond\n          ((eof-object? line-str)\n           (close-input-port nodes-in)\n           (close-output-port node-out)\n           (close-output-port node-props-out)\n           (printf \"finished processing nodes\\n\\n\"))\n          (else\n           (let ((line (efficient-no-trim-tab-string-split line-str)))               \n             (let ((id (cond\n                         [(eq? which-kg 'text-mining) (car line)]\n                         [(eq? which-kg 'rtx-kg2) (list-ref line 7)])))\n               (when (set-member? seen-nodes id)\n                 (error 'make-kg-node (format \"already seen node: ~a\" id)))\n               (fprintf node-out \"~a\\n\" id)\n               (let loop-inner ((props (cdr line))\n                                (headers (cdr header)))                   \n                 (when (not (null? props))\n                   (unless (string=? \"\" (car props))\n                     (let ((propname (car headers))\n                           (value (car props)))\n                       (fprintf node-props-out \"~a\\t~a\\t~a\\n\" id propname value)))\n                   (loop-inner (cdr props) (cdr headers))))\n               (loop\n                (add1 i)\n                (set-add seen-nodes id)\n                (read-line nodes-in 'any))))))))))\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-rtx-kg2.rkt",
    "content": "#lang racket\n\n(require \"transform-generic.rkt\"\n         \"transform-edge-tsv.rkt\"\n         \"transform-node-tsv.rkt\")\n\n(define BASE \"rtx-kg2-v2.10.0/\")\n\n(transform-generic (string-append \"../../neo-data/raw_downloads_from_kge_archive/\" BASE)\n                   (string-append \"../../neo-data/raw_downloads_from_kge_archive_transformed_to_4tsv/\" BASE)\n                   \"data_01_RAW_KGs_rtx_kg2_v2.10.0_validated_rtx-kg2_2.10.0_nodes.tsv\"\n                   \"data_01_RAW_KGs_rtx_kg2_v2.10.0_validated_rtx-kg2_2.10.0_edges.tsv\"\n                   \"rtx_kg2\"\n                   'rtx-kg2\n                   (cons transform-node-tsv transform-edge-tsv))\n"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-text_mining.rkt",
    "content": "#lang racket\n\n(require \"transform-generic.rkt\"\n         \"transform-edge-tsv.rkt\"\n         \"transform-node-tsv.rkt\")\n\n(define BASE \"text-mining-aug-5-2024/\")\n\n(transform-generic (string-append \"../../neo-data/raw_downloads_from_kge_archive/\" BASE)\n                   (string-append \"../../neo-data/raw_downloads_from_kge_archive_transformed_to_4tsv/\" BASE)\n                   \"nodes_with_header.tsv\"\n                   \"edges_with_header.tsv\"\n                   \"text_mining\"\n                   'text-mining\n                   (cons transform-node-tsv transform-edge-tsv))"
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform-utils.rkt",
    "content": "#lang racket\n(provide efficient-no-trim-tab-string-split\n         build-pred-score-amount-hash\n         find-index\n         write-list-to-tsv\n         unwrap)\n\n#|\n\nRacket's `string-split` function has lots of functionality, but can be\n*extremely* slow for very long strings (with millions of characters, for\nexample):\n\nhttps://docs.racket-lang.org/reference/strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-split%29%29\n\nFor example, splitting a single extremely long string may take minutes\nor even hours.\n\nInstead of using `string-split`, the KG TSV processing code for the\nneo server uses a more limited, but far more efficient, function for\nsplitting a string into substrings, based on the tab character as a\ndelimiter.\n\n|#\n\n(define efficient-no-trim-tab-string-split\n  (lambda (str)\n    (let ((len (string-length str)))\n      (let loop ((i 0)\n                 (indices '(-1)))\n        (cond\n          [(= i len)\n           ;; create substrings from the numeric offsets, and return a\n           ;; list of these substrings\n           (let inner-loop ((indices (reverse (cons (string-length str) indices)))\n                            (strings '()))\n             (cond\n               [(null? indices)\n                (error 'efficient-no-trim-tab-string-split\n                       (format \"unexpected unmatched indices\"))]\n               [(null? (cdr indices))\n                (reverse strings)]\n               [else\n                (inner-loop\n                 (cdr indices)\n                 (cons (substring str (add1 (car indices)) (cadr indices))\n                       strings))]))]\n          [(char=? (string-ref str i) #\\tab)\n           (loop\n            (add1 i)\n            (cons i indices))]\n          [else\n           (loop\n            (add1 i)\n            indices)])))))\n\n(define (build-pred-score-amount-hash path)\n  (define in\n      (open-input-file path))\n  (define return (make-hash))\n  (let loop ((line (read-line in 'any)))\n    (cond\n      ((eof-object? line)\n       (close-input-port in)\n        return)\n      (else\n        (let* ((line (efficient-no-trim-tab-string-split line))\n               (predicate (list-ref line 0))\n               (score (string->number  (list-ref line 1)))\n               (amount (string->number (list-ref line 2))))\n          (hash-set! return predicate (hash-set (hash-ref return predicate (hash))\n                                                score\n                                                amount))\n          (loop (read-line in 'any)))))))\n                                \n\n(define (find-index lst ele)\n  (let loop ((lst lst) (idx 0))\n    (cond\n      [(null? lst) #f]\n      [(equal? (car lst) ele) idx]\n      [else (loop (cdr lst) (add1 idx))])))\n\n(define write-list-to-tsv\n  (lambda (header-ls lol path)\n    (with-output-to-file path\n      ;; thunk -- procedure that takes no arguments\n      (lambda ()\n        (for-each\n          (lambda (l)\n            (let loop ([l l])\n              (cond\n                ((null? l)\n                 (error 'output-to-tsv \"where's the data!?\"))\n                ((null? (cdr l)) ;; l contains exactly 1 element\n                 (display (car l))\n                 (display #\\newline))\n                (else\n                 (display (car l))\n                 (display #\\tab)\n                 (loop (cdr l))))))\n          (cons header-ls lol)))\n      #:mode 'text\n      #:exists 'replace)))\n\n(define unwrap\n  (lambda (lol)\n    (let loop ((lol lol) (accu '()))\n      (cond\n        ((null? lol) accu)\n        ((not (pair? (car lol))) (cons lol accu))\n        (else (append (loop (car lol) accu) (loop (cdr lol) accu)))))))\n             \n    "
  },
  {
    "path": "medikanren2/neo/neo-data-import/transform-2tsv-to-4tsv-kgs/transform.rkt",
    "content": "#lang racket\n(provide transform)\n(require \"transform-node-tsv.rkt\"\n         \"transform-edge-tsv.rkt\")\n\n(define transform\n  (lambda (import-directory-path\n           export-directory-path\n           nodes-import-file-name\n           edges-import-file-name\n           export-base-file-name)\n\n    (define node-export-file-name\n      (string-append\n       export-base-file-name\n       \".node.tsv\"))\n    (define node-props-export-file-name\n      (string-append\n       export-base-file-name\n       \".nodeprop.tsv\"))\n\n    (define edge-export-file-name\n      (string-append\n       export-base-file-name\n       \".edge.tsv\"))\n    (define edge-props-export-file-name\n      (string-append\n       export-base-file-name\n       \".edgeprop.tsv\"))\n\n    ;; --- nodes ---\n    (define nodes-file-import-path\n      (string-append\n       import-directory-path\n       nodes-import-file-name))\n\n    (define node-file-export-path\n      (string-append\n       export-directory-path\n       node-export-file-name))\n    (define node-props-file-export-path\n      (string-append\n       export-directory-path\n       node-props-export-file-name))\n\n\n    ;; --- edges ---\n    (define edges-file-import-path\n      (string-append\n       import-directory-path\n       edges-import-file-name))\n\n    (define edge-file-export-path\n      (string-append\n       export-directory-path\n       edge-export-file-name))\n    (define edge-props-file-export-path\n      (string-append\n       export-directory-path\n       edge-props-export-file-name))\n\n    (transform-node-tsv nodes-file-import-path\n                        node-file-export-path\n                        node-props-file-export-path)\n\n    (transform-edge-tsv edges-file-import-path\n                        edge-file-export-path\n                        edge-props-file-export-path)\n\n    ))\n\n"
  },
  {
    "path": "medikanren2/neo/neo-low-level/make-query-low-level.rkt",
    "content": "#lang racket/base\n\n;; adapted from\n;;\n;; https://github.com/gregr/dbKanren/blob/master/test/test-low-level.rkt\n\n(provide\n make-query-low-level)\n(require\n  \"../dbKanren/dbk/database.rkt\"\n  \"../dbKanren/dbk/enumerator.rkt\"\n  \"../dbKanren/dbk/logging.rkt\"\n  \"../dbKanren/dbk/stream.rkt\"\n  \"../neo-utils/neo-helpers-without-db.rkt\"\n  racket/fixnum racket/match racket/pretty racket/runtime-path racket/set racket/list)\n\n(define-runtime-path path.here \"../neo-data\")\n\n(define NAME_NOT_FOUND_STRING \"N/A\")\n\n\n(define (make-query-low-level\n         db-path-under-parent ;; for example, \"rtx-kg2/pre_2.8.0/rtx-kg2pre_2.8.0.db\"\n         kg-infores\n         )\n\n  (pretty-log `(In make-query-low-level for)\n              db-path-under-parent)\n  \n  (define str.predicate \"predicate\")\n  ;;(define str.predicate \"edge_label\")\n\n  (define (curie-in-db? curie)\n    (initialize-text!)\n    (dict-ref (thread-cell-ref tcell.text=>id)\n              (string->bytes/utf-8 curie)\n              (lambda (id) #t)\n              (lambda () #f)))\n\n  (define (curies-in-db curie*)\n    (initialize-text!)\n    (define curie-text*=>1\n      (let* ((text* (map string->bytes/utf-8 curie*))\n             (text* (list->vector (sort (remove-duplicates text*) bytes<?))))\n        (dict:ref (lambda (i) (vector-ref text* i)) bytes<?\n                  (lambda (_) '()) 0 (vector-length text*))))\n    (define (helper yield)\n      ((merge-join bytes<? curie-text*=>1 (thread-cell-ref tcell.text=>id))\n       (lambda (text.curie __ ___)\n         (yield (bytes->string/utf-8 text.curie)))))\n    (enumerator->rlist helper))\n\n  (define (dict-get d key)\n    (dict-ref d key (lambda (v) v) (lambda () (error \"dict-get failed\" key))))\n\n  (define (dict-get-safe d key not-found-value)\n    (dict-ref d key (lambda (v) v) (lambda () not-found-value)))\n\n  (define (get-name-from-dict-safe d k)\n    (if d\n        (let* ((name? (dict-get-safe d k #f))\n               (name (if name? (dict-min name?) #f)))\n          (if name (id->string name) NAME_NOT_FOUND_STRING))\n        NAME_NOT_FOUND_STRING))\n  \n  (define (string*->id=>1 str*) (bytes*->id=>1 (map string->bytes/utf-8 str*)))\n  (define (bytes*->id=>1 text*)\n    (let* ((text* (sort (set->list (list->set text*)) bytes<?))\n           (id*   (list->vector (map text->id text*))))\n      (dict:ref (lambda (i) (vector-ref id* i)) fx<\n                (lambda (_) '()) 0 (vector-length id*))))\n\n  (define (int*->id=>1 int*)\n    (let ((id* (list->vector (sort (remove-duplicates int*) fx<))))\n      (dict:ref (lambda (i) (vector-ref id* i)) fx<\n                (lambda (_) '()) 0 (vector-length id*))))\n\n  (define (string->id str) (text->id (string->bytes/utf-8 str)))\n  (define (id->string id)  (bytes->string/utf-8 (id->text id)))\n  (define (text->id   b)   (initialize-text!) (dict-get (thread-cell-ref tcell.text=>id) b))\n  (define (id->text   id)  (initialize-text!) (dict-get (thread-cell-ref tcell.id=>text) id))\n\n  (define (concept-properties)          (map id->string (enumerator->list\n                                                         (dict-key-enumerator ckey=>cvalue=>curie=>1))))\n  (define (edge-properties)             (map id->string (enumerator->list\n                                                         (dict-key-enumerator ekey=>evalue=>eid=>1))))\n  (define (concept-property-values key) (s-map id->string (enumerator->s\n                                                           (dict-key-enumerator\n                                                            (dict-get ckey=>cvalue=>curie=>1\n                                                                      (string->id key))))))\n  (define (edge-property-values    key) (s-map id->string (enumerator->s\n                                                           (dict-key-enumerator\n                                                            (dict-get ekey=>evalue=>eid=>1\n                                                                      (string->id key))))))\n  (define (curie->properties curie)\n    (enumerator->list\n     (lambda (yield)\n       ((dict-enumerator (dict-get-safe curie=>ckey=>cvalue=>1 (string->id curie) dict.empty))\n        (lambda (ckey cvalue=>1)\n          (yield (map id->string (cons ckey (enumerator->list\n                                             (dict-key-enumerator cvalue=>1))))))))))\n  (define (edge-id->properties eid)\n    (cons (list \"upstream_resource_ids\" (list kg-infores))\n          (enumerator->list\n           (lambda (yield)\n             ((dict-enumerator (dict-get eid=>ekey=>evalue=>1 eid))\n              (lambda (ekey evalue=>1)\n                (yield (map id->string (cons ekey (enumerator->list\n                                                   (dict-key-enumerator evalue=>1)))))))))))\n\n  (define (query:Known->X curie*.K predicate*.K->X category*.X)\n    (define (query. yield)\n      (let* ((ekey.predicate (string->id str.predicate))\n             (K=>1           (string*->id=>1 curie*.K)))\n        ((merge-join fx< K=>1 subject=>object=>eid=>1)\n         (lambda (id.K __ X=>eid=>1)\n           (let* ((K      (id->string id.K)))\n             ((dict-enumerator X=>eid=>1)\n              (lambda (id.X eid=>1)\n                (let* ((X      (id->string id.X)))\n                  ((dict-key-enumerator eid=>1)\n                   (lambda (eid)\n                     (let ((predicate.K->X\n                            (id->string (dict-min (dict-get (dict-get eid=>ekey=>evalue=>1 eid)\n                                                            ekey.predicate)))))\n                       (yield (list* K predicate.K->X X (edge-id->properties eid))))))))))))))\n    (define (query.c yield)\n      (let* ((ekey.predicate     (string->id str.predicate))\n             (ckey.category      (string->id \"category\"))\n             (K=>1               (string*->id=>1 curie*.K))\n             (category=>1        (string*->id=>1 category*.X))\n             (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n        ((merge-join fx< K=>1 subject=>object=>eid=>1)\n         (lambda (id.K __ X=>eid=>1)\n           (let* ((K      (id->string id.K)))\n             ((merge-join fx< category=>1 category=>curie=>1)\n              (lambda (__ ___ X=>1.cprop)\n                ((merge-join fx< X=>eid=>1 X=>1.cprop)\n                 (lambda (id.X eid=>1 __)\n                   (let* ((X      (id->string id.X)))\n                     ((dict-key-enumerator eid=>1)\n                      (lambda (eid)\n                        (let ((predicate.K->X\n                               (id->string (dict-min (dict-get (dict-get eid=>ekey=>evalue=>1 eid)\n                                                               ekey.predicate)))))\n                          (yield (list* K predicate.K->X X (edge-id->properties eid))))))))))))))))\n    (define (query.p yield)\n      (let* ((ekey.predicate     (string->id str.predicate))\n             (K=>1               (string*->id=>1 curie*.K))\n             (predicate=>1       (string*->id=>1 predicate*.K->X))\n             (predicate=>eid=>1  (dict-get ekey=>evalue=>eid=>1 ekey.predicate)))\n        ((merge-join fx< K=>1 subject=>eid=>object=>1)\n         (lambda (id.K __ eid=>X=>1)\n           (let* ((K         (id->string id.K)))\n             ((merge-join fx< predicate=>1 predicate=>eid=>1)\n              (lambda (id.predicate.K->X __ eid=>1)\n                (let ((predicate.K->X (id->string id.predicate.K->X)))\n                  ((merge-join fx< eid=>1 eid=>X=>1)\n                   (lambda (eid __ X=>1.edge)\n                     ((dict-key-enumerator X=>1.edge)\n                      (lambda (id.X)\n                        (let* ((X      (id->string id.X)))\n                          (yield (list* K predicate.K->X X (edge-id->properties eid))))))))))))))))\n    (define (query.p&c yield)\n      (let* ((ekey.predicate     (string->id str.predicate))\n             (ckey.category      (string->id \"category\"))\n             (K=>1               (string*->id=>1 curie*.K))\n             (predicate=>1       (string*->id=>1 predicate*.K->X))\n             (category=>1        (string*->id=>1 category*.X))\n             (predicate=>eid=>1  (dict-get ekey=>evalue=>eid=>1   ekey.predicate))\n             (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n        ((merge-join fx< K=>1 subject=>eid=>object=>1)\n         (lambda (id.K __ eid=>X=>1)\n           (let* ((K         (id->string id.K)))\n             ((merge-join fx< predicate=>1 predicate=>eid=>1)\n              (lambda (id.predicate.K->X __ eid=>1)\n                (let ((predicate.K->X (id->string id.predicate.K->X)))\n                  ((merge-join fx< eid=>1 eid=>X=>1)\n                   (lambda (eid __ X=>1.edge)\n                     ((merge-join fx< category=>1 category=>curie=>1)\n                      (lambda (__ ___ X=>1.cprop)\n                        ((merge-join fx< X=>1.cprop X=>1.edge)\n                         (lambda (id.X __ ___)\n                           (let* ((X      (id->string id.X)))\n                             (yield (list* K predicate.K->X X (edge-id->properties eid))))))))))))))))))\n    (maybe-time (enumerator->rlist (if predicate*.K->X\n                                       (if category*.X query.p&c query.p)\n                                       (if category*.X query.c   query.)))))\n\n  (define (query:Known->X-scored curie*.K predicate*.K->X category*.X score*)\n\n    (define (query.p yield)\n      (let* ((K=>1               (string*->id=>1 curie*.K))\n             (predicate=>1       (string*->id=>1 predicate*.K->X))\n             (score=>1           (int*->id=>1 score*)))\n        ((merge-join fx< score=>1 score=>pred=>sub=>obj=>eid=>1)\n         (lambda (__ ___ pred=>sub=>obj=>eid=>1)\n           ((merge-join fx< predicate=>1 pred=>sub=>obj=>eid=>1)\n            (lambda (id.predicate.K->X __ sub=>obj=>eid=>1)\n              (let ((predicate.K->X (id->string id.predicate.K->X)))\n                ((merge-join fx< K=>1 sub=>obj=>eid=>1)\n                 (lambda (id.K __ obj=>eid=>1)\n                   (let ((K         (id->string id.K)))\n                     ((dict-enumerator obj=>eid=>1)\n                      (lambda (id.X eid=>1)\n                        (let ((X      (id->string id.X)))\n                          ((dict-key-enumerator eid=>1)\n                              (lambda (eid)\n                                (yield (list* K predicate.K->X X (edge-id->properties eid))))))))))))))))))\n    (define (query.p&c yield)\n      (let* ((ckey.category      (string->id \"category\"))\n             (K=>1               (string*->id=>1 curie*.K))\n             (predicate=>1       (string*->id=>1 predicate*.K->X))\n             (score=>1           (int*->id=>1 score*))\n             (category=>1        (string*->id=>1 category*.X))\n             (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n        ((merge-join fx< score=>1 score=>pred=>sub=>obj=>eid=>1)\n         (lambda (__ ___ pred=>sub=>obj=>eid=>1)\n           ((merge-join fx< predicate=>1 pred=>sub=>obj=>eid=>1)\n            (lambda (id.predicate.K->X __ sub=>obj=>eid=>1)\n              (let* ((predicate.K->X (id->string id.predicate.K->X)))\n                ((merge-join fx< K=>1 sub=>obj=>eid=>1)\n                    (lambda (id.K __ obj=>eid=>1)\n                      (let* ((K         (id->string id.K)))\n                        ((merge-join fx< category=>1 category=>curie=>1)\n                         (lambda (__ ___ X=>1.cprop)\n                           ((merge-join fx< X=>1.cprop obj=>eid=>1)\n                            (lambda (id.X __ eid=>1)\n                              (let* ((X      (id->string id.X)))\n                                ((dict-key-enumerator eid=>1)\n                                 (lambda (eid)\n                                   (yield (list* K predicate.K->X X (edge-id->properties eid))))))))))))))))))))\n    (if score*\n        (if category*.X\n            (maybe-time (enumerator->rlist query.p&c))\n            (maybe-time (enumerator->rlist query.p)))\n        '()))\n\n  (define (query:X->Known category*.X predicate*.X->K curie*.K)\n    (define (query. yield)\n      (let* ((ekey.predicate (string->id str.predicate))\n             (K=>1           (string*->id=>1 curie*.K)))\n        ((merge-join fx< K=>1 object=>subject=>eid=>1)\n         (lambda (id.K __ X=>eid=>1)\n           (let* ((K      (id->string id.K)))\n             ((dict-enumerator X=>eid=>1)\n              (lambda (id.X eid=>1)\n                (let* ((X      (id->string id.X)))\n                  ((dict-key-enumerator eid=>1)\n                   (lambda (eid)\n                     (let ((predicate.X->K\n                            (id->string (dict-min (dict-get (dict-get eid=>ekey=>evalue=>1 eid)\n                                                            ekey.predicate)))))\n                       (yield (list* X predicate.X->K K (edge-id->properties eid))))))))))))))\n    (define (query.c yield)\n      (let* ((ekey.predicate     (string->id str.predicate))\n             (ckey.category      (string->id \"category\"))\n             (K=>1               (string*->id=>1 curie*.K))\n             (category=>1        (string*->id=>1 category*.X))\n             (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n        ((merge-join fx< K=>1 object=>subject=>eid=>1)\n         (lambda (id.K __ X=>eid=>1)\n           (let* ((K      (id->string id.K)))\n             ((merge-join fx< category=>1 category=>curie=>1)\n              (lambda (__ ___ X=>1.cprop)\n                ((merge-join fx< X=>eid=>1 X=>1.cprop)\n                 (lambda (id.X eid=>1 __)\n                   (let* ((X      (id->string id.X)))\n                     ((dict-key-enumerator eid=>1)\n                      (lambda (eid)\n                        (let ((predicate.X->K\n                               (id->string (dict-min (dict-get (dict-get eid=>ekey=>evalue=>1 eid)\n                                                               ekey.predicate)))))\n                          (yield (list* X predicate.X->K K (edge-id->properties eid))))))))))))))))\n    (define (query.p yield)\n      (let* ((ekey.predicate     (string->id str.predicate))\n             (K=>1               (string*->id=>1 curie*.K))\n             (predicate=>1       (string*->id=>1 predicate*.X->K))\n             (predicate=>eid=>1  (dict-get ekey=>evalue=>eid=>1   ekey.predicate)))\n        ((merge-join fx< K=>1 object=>eid=>subject=>1)\n         (lambda (id.K __ eid=>X=>1)\n           (let* ((K      (id->string id.K)))\n             ((merge-join fx< predicate=>1 predicate=>eid=>1)\n              (lambda (id.predicate.X->K __ eid=>1)\n                (let ((predicate.X->K (id->string id.predicate.X->K)))\n                  ((merge-join fx< eid=>1 eid=>X=>1)\n                   (lambda (eid __ X=>1.edge)\n                     ((dict-key-enumerator X=>1.edge)\n                      (lambda (id.X)\n                        (let* ((X      (id->string id.X)))\n                          (yield (list* X predicate.X->K K (edge-id->properties eid))))))))))))))))\n    (define (query.p&c yield)\n      (let* ((ekey.predicate     (string->id str.predicate))\n             (ckey.category      (string->id \"category\"))\n             (K=>1               (string*->id=>1 curie*.K))\n             (predicate=>1       (string*->id=>1 predicate*.X->K))\n             (category=>1        (string*->id=>1 category*.X))\n             (predicate=>eid=>1  (dict-get ekey=>evalue=>eid=>1   ekey.predicate))\n             (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n        ((merge-join fx< K=>1 object=>eid=>subject=>1)\n         (lambda (id.K __ eid=>X=>1)\n           (let* ((K      (id->string id.K)))\n             ((merge-join fx< predicate=>1 predicate=>eid=>1)\n              (lambda (id.predicate.X->K __ eid=>1)\n                (let ((predicate.X->K (id->string id.predicate.X->K)))\n                  ((merge-join fx< eid=>1 eid=>X=>1)\n                   (lambda (eid __ X=>1.edge)\n                     ((merge-join fx< category=>1 category=>curie=>1)\n                      (lambda (__ ___ X=>1.cprop)\n                        ((merge-join fx< X=>1.cprop X=>1.edge)\n                         (lambda (id.X __ ___)\n                           (let* ((X      (id->string id.X)))\n                             (yield (list* X predicate.X->K K (edge-id->properties eid))))))))))))))))))\n    (maybe-time (enumerator->rlist (if predicate*.X->K\n                                       (if category*.X query.p&c query.p)\n                                       (if category*.X query.c   query.)))))\n\n  (define (query:X->Known-scored category*.X predicate*.X->K curie*.K score*)\n    (define (query.p yield)\n      (let* ((K=>1               (string*->id=>1 curie*.K))\n             (predicate=>1       (string*->id=>1 predicate*.X->K))\n             (score=>1           (int*->id=>1 score*)))\n        ((merge-join fx< score=>1 score=>pred=>obj=>sub=>eid=>1)\n         (lambda (__ ___ pred=>obj=>sub=>eid=>1)\n           ((merge-join fx< predicate=>1 pred=>obj=>sub=>eid=>1)\n            (lambda (id.predicate.X->K __ obj=>sub=>eid=>1)\n              (let ((predicate.X->K (id->string id.predicate.X->K)))\n                ((merge-join fx< K=>1 obj=>sub=>eid=>1)\n                 (lambda (id.K __ sub=>eid=>1)\n                   (let ((K         (id->string id.K)))\n                     ((dict-enumerator sub=>eid=>1)\n                      (lambda (id.X eid=>1)\n                        (let ((X      (id->string id.X)))\n                          ((dict-key-enumerator eid=>1)\n                              (lambda (eid)\n                                (yield (list* X predicate.X->K K (edge-id->properties eid))))))))))))))))))\n    (define (query.p&c yield)\n      (let* ((ckey.category      (string->id \"category\"))\n             (K=>1               (string*->id=>1 curie*.K))\n             (predicate=>1       (string*->id=>1 predicate*.X->K))\n             (score=>1           (int*->id=>1 score*))\n             (category=>1        (string*->id=>1 category*.X))\n             (category=>curie=>1 (dict-get ckey=>cvalue=>curie=>1 ckey.category)))\n        ((merge-join fx< score=>1 score=>pred=>obj=>sub=>eid=>1)\n         (lambda (__ ___ pred=>obj=>sub=>eid=>1)\n           ((merge-join fx< predicate=>1 pred=>obj=>sub=>eid=>1)\n            (lambda (id.predicate.X->K __ obj=>sub=>eid=>1)\n              (let ((predicate.X->K (id->string id.predicate.X->K)))\n                ((merge-join fx< K=>1 obj=>sub=>eid=>1)\n                 (lambda (id.K __ sub=>eid=>1)\n                   (let ((K         (id->string id.K)))\n                     ((merge-join fx< category=>1 category=>curie=>1)\n                      (lambda (__ ___ X=>1.cprop)\n                        ((merge-join fx< X=>1.cprop sub=>eid=>1)\n                         (lambda (id.X __ eid=>1)\n                           (let ((X      (id->string id.X)))\n                             ((dict-key-enumerator eid=>1)\n                              (lambda (eid)\n                                (yield (list* X predicate.X->K K (edge-id->properties eid))))))))))))))))))))\n    (if score*\n        (if category*.X\n            (maybe-time (enumerator->rlist query.p&c))\n            (maybe-time (enumerator->rlist query.p)))\n        '()))\n\n\n  (define (query:Known<-X->Known curie*.K1 predicate*.K1<-X category*.X predicate*.X->K2 curie*.K2)\n    (error 'query:Known<-X->Known \"obsolete\"))\n\n  (define (query:Known->X->Known curie*.K1 predicate*.K1->X category*.X predicate*.X->K2 curie*.K2)\n    (error 'query:Known->X->Known \"obsolete\"))\n\n  (define (query:X->Y->Known category*.X predicate*.X->Y category*.Y predicate*.Y->K curie*.K)\n    (error 'query:X->Y->Known \"obsolete\"))\n\n  (define (query:Known->Known curie*.S predicate*.S->O curie*.O)\n    (if (> (length curie*.S) (length curie*.O))\n        (query:dict.Known->dict.Known\n         (string*->id=>1 curie*.S) predicate*.S->O (string*->id=>1 curie*.O) 'obj->sub)\n        (query:dict.Known->dict.Known\n         (string*->id=>1 curie*.S) predicate*.S->O (string*->id=>1 curie*.O) 'sub->obj)))\n\n  (define (query:dict.Known->dict.Known curie=>1.S predicate*.S->O curie=>1.O direction-tag)\n    (define (query.sub->obj yield)\n      (let* ((ekey.predicate    (string->id str.predicate))\n             (predicate=>1      (string*->id=>1 predicate*.S->O))\n             (predicate=>eid=>1 (dict-get ekey=>evalue=>eid=>1 ekey.predicate)))\n        ((merge-join fx< curie=>1.S subject=>eid=>object=>1)\n         (lambda (id.S __ eid=>O=>1)\n           (let* ((S      (id->string id.S)))\n             ((merge-join fx< predicate=>1 predicate=>eid=>1)\n              (lambda (id.predicate.S->O __ eid=>1)\n                (let ((predicate.S->O (id->string id.predicate.S->O)))\n                  ((merge-join fx< eid=>1 eid=>O=>1)\n                   (lambda (eid __ O=>1)\n                     ((merge-join fx< curie=>1.O O=>1)\n                      (lambda (id.O __ ___)\n                        (let* ((O      (id->string id.O)))\n                          (yield (list* S predicate.S->O O (edge-id->properties eid))))))))))))))))\n    (define (query.obj->sub yield)\n      (let* ((ekey.predicate    (string->id str.predicate))\n             (predicate=>1      (string*->id=>1 predicate*.S->O))\n             (predicate=>eid=>1 (dict-get ekey=>evalue=>eid=>1 ekey.predicate)))\n        ((merge-join fx< curie=>1.O object=>eid=>subject=>1)\n         (lambda (id.O __ eid=>S=>1)\n           (let* ((O      (id->string id.O)))\n             ((merge-join fx< predicate=>1 predicate=>eid=>1)\n              (lambda (id.predicate.O->S __ eid=>1)\n                (let ((predicate.O->S (id->string id.predicate.O->S)))\n                  ((merge-join fx< eid=>1 eid=>S=>1)\n                   (lambda (eid __ S=>1)\n                     ((merge-join fx< curie=>1.S S=>1)\n                      (lambda (id.S __ ___)\n                        (let* ((S      (id->string id.S)))\n                          (yield (list* S predicate.O->S O (edge-id->properties eid))))))))))))))))\n    (cond\n      [(eq? direction-tag 'obj->sub) (maybe-time (enumerator->rlist query.obj->sub))]\n      [(eq? direction-tag 'sub->obj) maybe-time (enumerator->rlist query.sub->obj)]\n      [else (error \"unknown direction tag\")]))\n\n  (define (query:Concept curie*)\n    (define (query yield)\n      (let ((curie=>1 (string*->id=>1 curie*)))\n        ((merge-join fx< curie=>1 curie=>ckey=>cvalue=>1)\n         (lambda (id.curie _ ckey=>cvalue=>1)\n           (let ((curie (id->string id.curie)))\n             ((dict-enumerator ckey=>cvalue=>1)\n              (lambda (id.key cvalue=>1)\n                (yield (list curie (id->string id.key) (id->string (dict-min cvalue=>1)))))))))))\n    (maybe-time (enumerator->list query)))\n\n  (define (get-highest-bucket-number)\n    (define (helper yield)\n      ((dict-key-enumerator score=>pred=>sub=>obj=>eid=>1)\n       (lambda (score)\n         (yield (list score)))))\n    (let* ((score* (remove-duplicates (enumerator->rlist helper)))\n           (score* (sort (apply append score*) >)))\n      (let loop ((s* score*))\n        (if (or (eq? (car s*) 1111) (eq? (car s*) 1112))\n            (loop (cdr s*))\n            (car s*)))))\n\n  (pretty-log `(defining db for)\n              path.here\n              db-path-under-parent)\n  (define db (database (build-path path.here db-path-under-parent)))\n  (pretty-log `(defined db for)\n              path.here\n              db-path-under-parent)\n\n\n  (pretty-log `(defining r.cprop for)\n              path.here\n              db-path-under-parent)\n  (define r.cprop (database-relation db 'cprop))\n  (pretty-log `(defining r.edge for)\n              path.here\n              db-path-under-parent)  \n  (define r.edge  (database-relation db 'edge))\n  (pretty-log `(defining r.eprop for)\n              path.here\n              db-path-under-parent)\n  (define r.eprop (database-relation db 'eprop))\n\n  (define r.scored-edge (database-relation db 'scored-edge))  \n\n  (pretty-log `(defining tcells for)\n              path.here\n              db-path-under-parent)\n  (define tcell.text=>id (make-thread-cell #f))\n  (define tcell.id=>text (make-thread-cell #f))\n\n  (define (initialize-text!)\n    (unless (thread-cell-ref tcell.text=>id)\n      (define-values (text=>id id=>text) (relation-text-dicts r.cprop #f))\n      (thread-cell-set! tcell.text=>id text=>id)\n      (thread-cell-set! tcell.id=>text id=>text)))\n  \n  (pretty-log `(loading relation index dictionaries for db)\n              path.here\n              db-path-under-parent)\n  (define subject=>object=>eid=>1 (maybe-time (relation-index-dict r.edge  '(subject object eid) #f))) ;; #f\n  (define object=>subject=>eid=>1 (maybe-time (relation-index-dict r.edge  '(object subject eid) #f))) ;; #f\n  (define subject=>eid=>object=>1 (maybe-time (relation-index-dict r.edge  '(subject eid object) #f))) ;; #t\n  (define object=>eid=>subject=>1 (maybe-time (relation-index-dict r.edge  '(object eid subject) #f))) ;; #t\n  (define ekey=>evalue=>eid=>1    (maybe-time (relation-index-dict r.eprop '(key value eid)      #f))) ;; #f\n  (define eid=>ekey=>evalue=>1    (maybe-time (relation-index-dict r.eprop '(eid key value)      #f))) ;; #f\n  (define ckey=>cvalue=>curie=>1  (maybe-time (relation-index-dict r.cprop '(key value curie)    #t))) ;; #t\n  (define curie=>ckey=>cvalue=>1  (maybe-time (relation-index-dict r.cprop '(curie key value)    #f))) ;; #f\n  (define score=>pred=>sub=>obj=>eid=>1 (maybe-time\n                                         (relation-index-dict r.scored-edge '(score predicate subject object eid) #t)))\n  (define score=>pred=>obj=>sub=>eid=>1 (maybe-time\n                                         (relation-index-dict r.scored-edge '(score predicate object subject eid) #t)))\n  (pretty-log `(loaded relation index dictionaries for db)\n              path.here\n              db-path-under-parent)\n \n  (list\n   query:Known->Known\n   query:Known->X-scored\n   query:Known->X\n   query:X->Known-scored\n   query:X->Known\n   query:Known<-X->Known\n   query:Known->X->Known\n   query:X->Y->Known\n   query:Concept\n   concept-properties\n   concept-property-values\n   curie-in-db?\n   curies-in-db\n   curie->properties\n   edge-properties\n   edge-property-values\n   edge-id->properties\n   get-highest-bucket-number\n   )\n  )\n"
  },
  {
    "path": "medikanren2/neo/neo-low-level/query-low-level-equivalence.rkt",
    "content": "#lang racket/base\n\n(require \"../dbKanren/dbk/database.rkt\"\n         \"../dbKanren/dbk/enumerator.rkt\"\n         \"../dbKanren/dbk/logging.rkt\"\n         racket/runtime-path\n         racket/fixnum\n         racket/list\n         racket/set)\n\n(provide curie->representative\n         curies->synonyms\n         curie->synonyms\n         build-curies-representative-hash\n         add-curies-representative-to-hash)\n\n(define (curie->representative curie)\n  (define (helper yield)\n    (let* ((id.curie (string->id curie))\n           (representative=>1 (dict-get curie=>representative=>1 id.curie)))\n      ((dict-key-enumerator representative=>1)\n       (lambda (id.representative)\n         (let ((representative (id->string id.representative)))\n           (yield representative))))))\n  (if (null? (curies-in-db (list curie)))\n      curie\n      (car (enumerator->rlist helper))))\n\n(define (curies->synonyms curie*)\n  (define (helper yield)\n    (let ((curie*=>1 (string*->id=>1\n                      (curies-in-db curie*)\n                      #;(filter curie-in-db? curie*))))\n      ((merge-join fx< curie*=>1 curie=>representative=>1)\n       (lambda (__ ___ representative=>1)\n         ((merge-join fx< representative=>1 representative=>curie=>1)\n          (lambda (__ ___ curie=>1)\n            ((dict-key-enumerator curie=>1)\n             (lambda (id.curie)\n               (let ((curie (id->string id.curie)))\n                 (yield curie))))))))))\n  (let ((synonyms (enumerator->rlist helper)))\n    (remove-duplicates (append curie* synonyms))))\n\n(define (curie->synonyms curie)\n  (curies->synonyms (list curie)))\n\n(define build-curie-representative-hash\n      (lambda (hash curie)\n        (if (hash-has-key? hash curie)\n            hash\n            (let* ((synonyms (curie->synonyms curie))\n                   (representative (find-smallest-string synonyms)))\n              (let loop ((h hash) (s* synonyms))\n                (cond\n                  ((null? s*) h)\n                  (else (loop (hash-set h (car s*) representative) (cdr s*)))))))))\n\n(define build-curies-representative-hash\n  (lambda (curie*)\n    (let loop ((h (hash)) (c* curie*))\n      (cond\n        ((null? c*) h)\n        (else (loop (build-curie-representative-hash h (car c*)) (cdr c*)))))))\n\n(define add-curies-representative-to-hash\n  (lambda (representative-hash curie*)\n    (let loop ((h representative-hash) (c* curie*))\n      (cond\n        ((null? c*) h)\n        (else (loop (build-curie-representative-hash h (car c*)) (cdr c*)))))))\n\n(define find-smallest-string\n  (lambda (string*)\n    (let loop ((s* (cdr string*)) (smallest (car string*)))\n      (cond\n        ((null? s*) smallest)\n        (else\n         (if (string<? (car s*) smallest)\n             (loop (cdr s*) (car s*))\n             (loop (cdr s*) smallest)))))))\n    \n(define (curie-in-db? curie)\n    (dict-ref text=>id\n              (string->bytes/utf-8 curie)\n              (lambda (id) #t)\n              (lambda () #f)))\n\n(define (curies-in-db curie*)\n    (define curie-text*=>1\n      (let* ((text* (map string->bytes/utf-8 curie*))\n             (text* (list->vector (sort (remove-duplicates text*) bytes<?))))\n        (dict:ref (lambda (i) (vector-ref text* i)) bytes<?\n                  (lambda (_) '()) 0 (vector-length text*))))\n    (define (helper yield)\n      ((merge-join bytes<? curie-text*=>1 text=>id)\n       (lambda (text.curie __ ___)\n         (yield (bytes->string/utf-8 text.curie)))))\n    (enumerator->rlist helper))                      \n\n(define (dict-get d key)\n    (dict-ref d key (lambda (v) v) (lambda () (error \"dict-get failed\" key))))\n\n\n\n(define-runtime-path path.here \"../neo-data\")\n(define db-path-under-parent \"equivalence-dec-6-2023/dec_3_2023/equivalence.db\")\n(pretty-log `(loading relation index dictionaries for db)\n              path.here\n              db-path-under-parent)\n(define name.equiv-class-member 'equivalence-class-member)\n(define db.equiv (database (build-path path.here db-path-under-parent)))\n(define r.equiv-class-member (database-relation db.equiv name.equiv-class-member))\n(define representative=>curie=>1 (relation-index-dict r.equiv-class-member '(representative member) #f))\n(define curie=>representative=>1 (relation-index-dict r.equiv-class-member '(member representative) #f))\n\n(define-values (text=>id id=>text) (relation-text-dicts r.equiv-class-member #f))\n(define (text->id text) (dict-ref text=>id text (lambda (v) v)\n                                  (lambda () (error \"invalid text\" text))))\n(define (id->text id)   (dict-ref id=>text id (lambda (v) v)\n                                  (lambda () (error \"invalid text id\" id))))\n\n(define (string*->id=>1 str*) (bytes*->id=>1 (map string->bytes/utf-8 str*)))\n(define (bytes*->id=>1 text*)\n    (let* ((text* (sort (set->list (list->set text*)) bytes<?))\n           (id*   (list->vector (map text->id text*))))\n      (dict:ref (lambda (i) (vector-ref id* i)) fx<\n                (lambda (_) '()) 0 (vector-length id*))))\n\n(define (string->id str) (text->id (string->bytes/utf-8 str)))\n(define (id->string id)  (bytes->string/utf-8 (id->text id)))\n"
  },
  {
    "path": "medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt",
    "content": "#lang racket/base\n\n(provide\n query:Known->Known\n query:Known->X\n query:Known->X-scored\n query:X->Known\n query:X->Known-scored\n query:Known<-X->Known\n query:Known->X->Known\n query:X->Y->Known\n query:X->Y->Known-scored\n query:Known->Y->X\n query:Known->Y->X-scored\n query:Concept\n concept-properties\n ;;concept-property-values\n curie-in-db?\n curies-in-db\n curie->properties\n edge-properties\n ;;edge-property-values\n ;;edge-id->properties\n curie->synonyms\n curies->synonyms\n curie->representative\n build-curies-representative-hash\n add-curies-representative-to-hash\n query:Known->Y->X-auto-grow\n query:X->Y->Known-auto-grow\n get-highest-bucket-number-robokop\n get-highest-bucket-number-text-mining\n get-highest-bucket-number-rtx-kg2\n)\n\n(require\n\n  (rename-in \"query-low-level-robokop.rkt\"\n             (query:Known->Known query:Known->Known-robokop)\n             (query:Known->X query:Known->X-robokop)\n             (query:Known->X-scored query:Known->X-scored-robokop)\n             (query:X->Known query:X->Known-robokop)\n             (query:X->Known-scored  query:X->Known-scored-robokop)\n             (query:Known<-X->Known query:Known<-X->Known-robokop)\n             (query:Known->X->Known query:Known->X->Known-robokop)\n             (query:X->Y->Known query:X->Y->Known-robokop)\n             (query:Concept query:Concept-robokop)\n             (concept-properties concept-properties-robokop)\n             (concept-property-values concept-property-values-robokop)\n             (curie-in-db? curie-in-db?-robokop)\n             (curies-in-db curies-in-db-robokop)\n             (curie->properties curie->properties-robokop)\n             (edge-properties edge-properties-robokop)\n             (edge-property-values edge-property-values-robokop)\n             (edge-id->properties edge-id->properties-robokop)\n             (get-highest-bucket-number get-highest-bucket-number-robokop)\n             )\n\n  (rename-in \"query-low-level-text-mining.rkt\"\n             (query:Known->Known query:Known->Known-text-mining)\n             (query:Known->X query:Known->X-text-mining)\n             (query:Known->X-scored query:Known->X-scored-text-mining)\n             (query:X->Known query:X->Known-text-mining)\n             (query:X->Known-scored  query:X->Known-scored-text-mining)\n             (query:Known<-X->Known query:Known<-X->Known-text-mining)\n             (query:Known->X->Known query:Known->X->Known-text-mining)\n             (query:X->Y->Known query:X->Y->Known-text-mining)\n             (query:Concept query:Concept-text-mining)\n             (concept-properties concept-properties-text-mining)\n             (concept-property-values concept-property-values-text-mining)\n             (curie-in-db? curie-in-db?-text-mining)\n             (curies-in-db curies-in-db-text-mining)\n             (curie->properties curie->properties-text-mining)\n             (edge-properties edge-properties-text-mining)\n             (edge-property-values edge-property-values-text-mining)\n             (edge-id->properties edge-id->properties-text-mining)\n             (get-highest-bucket-number get-highest-bucket-number-text-mining)\n             )\n\n  (rename-in \"query-low-level-rtx-kg2.rkt\"\n             (query:Known->Known query:Known->Known-rtx-kg2)\n             (query:Known->X query:Known->X-rtx-kg2)\n             (query:Known->X-scored query:Known->X-scored-rtx-kg2)\n             (query:X->Known query:X->Known-rtx-kg2)\n             (query:X->Known-scored  query:X->Known-scored-rtx-kg2)\n             (query:Known<-X->Known query:Known<-X->Known-rtx-kg2)\n             (query:Known->X->Known query:Known->X->Known-rtx-kg2)\n             (query:X->Y->Known query:X->Y->Known-rtx-kg2)\n             (query:Concept query:Concept-rtx-kg2)\n             (concept-properties concept-properties-rtx-kg2)\n             (concept-property-values concept-property-values-rtx-kg2)\n             (curie-in-db? curie-in-db?-rtx-kg2)\n             (curies-in-db curies-in-db-rtx-kg2)\n             (curie->properties curie->properties-rtx-kg2)\n             (edge-properties edge-properties-rtx-kg2)\n             (edge-property-values edge-property-values-rtx-kg2)\n             (edge-id->properties edge-id->properties-rtx-kg2)\n             (get-highest-bucket-number get-highest-bucket-number-rtx-kg2)\n             )\n  \"query-low-level-equivalence.rkt\"\n  \"../neo-utils/neo-helpers-without-db.rkt\"\n  \"../dbKanren/dbk/database.rkt\"\n  \"../dbKanren/dbk/enumerator.rkt\"\n  \"../dbKanren/dbk/stream.rkt\"\n  ;;racket/fixnum\n  racket/match\n  racket/math\n  racket/set\n  racket/list\n  )\n\n(define (query:Known->Known curie*.S predicate*.S->O curie*.O)\n  (append\n   (query:Known->Known-robokop\n    (curies-in-db-robokop curie*.S)\n    (curies-in-db-robokop predicate*.S->O)\n    (curies-in-db-robokop curie*.O))\n   (query:Known->Known-text-mining\n    (curies-in-db-text-mining curie*.S)\n    (curies-in-db-text-mining predicate*.S->O)\n    (curies-in-db-text-mining curie*.O))\n   (query:Known->Known-rtx-kg2\n    (curies-in-db-rtx-kg2 curie*.S)\n    (curies-in-db-rtx-kg2 predicate*.S->O)\n    (curies-in-db-rtx-kg2 curie*.O))))\n\n(define (query:Known->X curie*.K predicate*.K->X category*.X)\n  (append\n   (query:Known->X-robokop\n    (curies-in-db-robokop curie*.K)\n    (and predicate*.K->X\n         (curies-in-db-robokop predicate*.K->X))\n    (and category*.X\n         (curies-in-db-robokop category*.X)))\n   (query:Known->X-text-mining\n    (curies-in-db-text-mining curie*.K)\n    (and predicate*.K->X\n         (curies-in-db-text-mining predicate*.K->X))\n    (and category*.X\n         (curies-in-db-text-mining category*.X)))\n   (query:Known->X-rtx-kg2\n    (curies-in-db-rtx-kg2 curie*.K)\n    (and predicate*.K->X\n         (curies-in-db-rtx-kg2 predicate*.K->X))\n    (and category*.X\n         (curies-in-db-rtx-kg2 category*.X)))))\n\n(define (query:Known->X-scored curie*.K predicate*.K->X category*.X score*)\n  (append\n   (query:Known->X-scored-robokop\n    (curies-in-db-robokop curie*.K)\n    (curies-in-db-robokop predicate*.K->X)\n    (and category*.X\n         (curies-in-db-robokop category*.X))\n    (list-ref score* 0))\n   (query:Known->X-scored-text-mining\n    (curies-in-db-text-mining curie*.K)\n    (curies-in-db-text-mining predicate*.K->X)\n    (and category*.X\n         (curies-in-db-text-mining category*.X))\n    (list-ref score* 1))\n   (query:Known->X-scored-rtx-kg2\n    (curies-in-db-rtx-kg2 curie*.K)\n    (curies-in-db-rtx-kg2 predicate*.K->X)\n    (and category*.X\n         (curies-in-db-rtx-kg2 category*.X))\n    (list-ref score* 2))))\n\n(define (query:X->Known category*.X predicate*.X->K curie*.K)\n  (append\n   (query:X->Known-robokop\n    (and category*.X\n         (curies-in-db-robokop category*.X))\n    (and predicate*.X->K\n         (curies-in-db-robokop predicate*.X->K))\n    (curies-in-db-robokop curie*.K))\n   (query:X->Known-text-mining\n    (and category*.X\n         (curies-in-db-text-mining category*.X))\n    (and predicate*.X->K\n         (curies-in-db-text-mining predicate*.X->K))\n    (curies-in-db-text-mining curie*.K))\n   (query:X->Known-rtx-kg2\n    (and category*.X\n         (curies-in-db-rtx-kg2 category*.X))\n    (and predicate*.X->K\n         (curies-in-db-rtx-kg2 predicate*.X->K))\n    (curies-in-db-rtx-kg2 curie*.K))))\n\n(define (query:X->Known-scored category*.X predicate*.X->K curie*.K score*)\n  (append\n   (query:X->Known-scored-robokop\n    (and category*.X\n         (curies-in-db-robokop category*.X))\n    (curies-in-db-robokop predicate*.X->K)\n    (curies-in-db-robokop curie*.K)\n    (list-ref score* 0))\n   (query:X->Known-scored-text-mining\n    (and category*.X\n         (curies-in-db-text-mining category*.X))\n    (curies-in-db-text-mining predicate*.X->K)\n    (curies-in-db-text-mining curie*.K)\n    (list-ref score* 1))\n   (query:X->Known-scored-rtx-kg2\n    (and category*.X\n         (curies-in-db-rtx-kg2 category*.X))\n    (curies-in-db-rtx-kg2 predicate*.X->K)\n    (curies-in-db-rtx-kg2 curie*.K)\n    (list-ref score* 2))))\n\n;; query:Known<-X->Known is analogous to a miniKanren-style query with this shape:\n;;(run* (K1 name.K1 predicates.K1<-X X name.X predicates.X->K1 K2 name.K2)\n;;  (fresh (id1 id2 category.X)\n;;    (edge id1 X K1)\n;;    (edge id2 X K2)\n;;    (cprop X   \"category\" category.X)\n;;    (cprop X   \"name\" name.X)\n;;    (cprop K1  \"name\" name.K1)\n;;    (cprop K2  \"name\" name.K2)\n;;    (eprop id1 \"predicate\" K1<-X)\n;;    (eprop id2 \"predicate\" X->K2)\n;;    (membero category.X categories.X)\n;;    (membero K1         curies.K1)\n;;    (membero K1<-X      predicates.K1<-X)\n;;    (membero K2         curies.K2)\n;;    (membero X->K2      predicates.X->K2)))\n\n;; Question:  Are we missing potential answers, either between KGs or within a single KG,\n;; due to 'X' using more than one CURIE (HGNC vs. ENSMBL, for example)?\n(define (query:Known<-X->Known curie*.K1 predicate*.K1<-X category*.X predicate*.X->K2 curie*.K2)\n  (query:Known<-X->Known-helper\n   (filter curie-in-db? curie*.K1)\n   (filter curie-in-db? predicate*.K1<-X)\n   (and category*.X\n        (filter curie-in-db? category*.X))\n   (filter curie-in-db? predicate*.X->K2)\n   (filter curie-in-db? curie*.K2)))\n\n(define (query:Known<-X->Known-helper curie*.K1 predicate*.K1<-X category*.X predicate*.X->K2 curie*.K2)\n  (define (candidate*->dict candidate*)\n    (let* ((candidate* (sort candidate* (lambda (a b) (string<? (car a) (car b)))))\n           (group*     (list->vector (s-group candidate* equal? car)))\n           (ref.value  (lambda (i) (vector-ref group* i))))\n      (dict:ref (lambda (i) (caar (ref.value i))) string<?\n                ref.value 0 (vector-length group*))))\n  (let* ((X=>XK1=>1 (candidate*->dict (query:X->Known category*.X predicate*.K1<-X curie*.K1)))\n         (X=>XK2=>1 (candidate*->dict (query:X->Known category*.X predicate*.X->K2 curie*.K2))))\n    (maybe-time (enumerator->list\n                 (lambda (yield)\n                   ((merge-join string<? X=>XK1=>1 X=>XK2=>1)\n                    (lambda (X XK1* XK2*)\n                      (for-each\n                       (lambda (XK1)\n                         (match-define (list* _ predicate.X->K1 K1 props1) XK1)\n                         (for-each\n                          (lambda (XK2)\n                            (match-define (list* _ X->K2 K2 props2) XK2)\n                            (yield (append (list K1 predicate.X->K1 X X->K2 K2)\n                                           (append props1 props2))))\n                          XK2*))\n                       XK1*))))))))\n\n\n(define (query:Known->X->Known curie*.K1 predicate*.K1->X category*.X predicate*.X->K2 curie*.K2)\n  (query:Known->X->Known-helper\n   (filter curie-in-db? curie*.K1)\n   (filter curie-in-db? predicate*.K1->X)\n   (and category*.X\n        (filter curie-in-db? category*.X))\n   (filter curie-in-db? predicate*.X->K2)\n   (filter curie-in-db? curie*.K2)))\n\n(define (query:Known->X->Known-helper curie*.K1 predicate*.K1->X category*.X predicate*.X->K2 curie*.K2)\n  (define (KX*->dict candidate*)\n    (let* ((candidate* (sort candidate* (lambda (a b) (string<? (caddr a) (caddr b)))))\n           (group*     (list->vector (s-group candidate* equal? caddr)))\n           (ref.value  (lambda (i) (vector-ref group* i))))\n      (dict:ref (lambda (i) (caddr (car (ref.value i)))) string<?\n                ref.value 0 (vector-length group*))))\n  (define (XK*->dict candidate*)\n    (let* ((candidate* (sort candidate* (lambda (a b) (string<? (car a) (car b)))))\n           (group*     (list->vector (s-group candidate* equal? car)))\n           (ref.value  (lambda (i) (vector-ref group* i))))\n      (dict:ref (lambda (i) (caar (ref.value i))) string<?\n                ref.value 0 (vector-length group*))))\n  (let* ((X=>K1X* (KX*->dict (query:Known->X curie*.K1 predicate*.K1->X category*.X)))\n         (X=>XK2* (XK*->dict (query:X->Known category*.X predicate*.X->K2 curie*.K2))))\n    (maybe-time (enumerator->list\n                 (lambda (yield)\n                   ((merge-join string<? X=>K1X* X=>XK2*)\n                    (lambda (X K1X* XK2*)\n                      (for-each\n                       (lambda (K1X)\n                         (match-define (list* K1 predicate.X->K1 _ props1) K1X)\n                         (for-each\n                          (lambda (XK2)\n                            (match-define (list* _ X->K2 K2 props2) XK2)\n                            (yield (append (list K1 predicate.X->K1 X X->K2 K2)\n                                           (append props1 props2))))\n                          XK2*))\n                       K1X*))))))))\n\n(define (result*->dict key result* curie-rep-hash)\n    (let* ((get-representative (lambda (tuple) (hash-ref curie-rep-hash (key tuple))))\n           (rep/result* (map (lambda (tuple) (cons (get-representative tuple) tuple)) result*))\n           (rep/key car)\n           (rep/result*  (sort rep/result* (lambda (a b) (string<? (rep/key a) (rep/key b)))))\n           (group*    (list->vector (s-group rep/result* equal? rep/key)))\n           (ref.value (lambda (i) (vector-ref group* i))))\n      (dict:ref (lambda (i) (rep/key (car (ref.value i)))) string<?\n                ref.value 0 (vector-length group*))))\n\n(define (query:X->Y->Known category*.X predicate*.X->Y category*.Y predicate*.Y->K curie*.K)\n  (query:X->Y->Known-helper\n   (and category*.X\n        (curies-in-db category*.X))\n   (and predicate*.X->Y\n        (curies-in-db predicate*.X->Y))\n   (and category*.Y\n        (curies-in-db category*.Y))\n   (and predicate*.Y->K\n        (curies-in-db predicate*.Y->K))\n   (curies-in-db curie*.K)\n   #f))\n\n(define (query:X->Y->Known-scored category*.X predicate*.X->Y category*.Y predicate*.Y->K curie*.K score*)\n  (query:X->Y->Known-helper\n   (and category*.X\n        (curies-in-db category*.X))\n   (curies-in-db predicate*.X->Y)\n   (and category*.Y\n        (curies-in-db category*.Y))\n   (curies-in-db predicate*.Y->K)\n   (curies-in-db curie*.K)\n   score*))\n\n(define (query:X->Y->Known-helper category*.X predicate*.X->Y category*.Y predicate*.Y->K curie*.K score*)\n  (let* ((YK (if score*\n                 (query:X->Known-scored category*.Y predicate*.Y->K curie*.K score*)\n                 (query:X->Known category*.Y predicate*.Y->K curie*.K)))\n         (curie-rep-hash (build-curies-representative-hash (remove-duplicates (map car YK))))\n         (Y=>YK=>1 (result*->dict car YK curie-rep-hash))\n         (curie*.Y (hash-keys curie-rep-hash))\n         (XY (if score*\n                 (query:X->Known-scored category*.X predicate*.X->Y curie*.Y score*)\n                 (query:X->Known category*.X predicate*.X->Y curie*.Y)))\n         (Y=>XY=>1 (result*->dict caddr XY curie-rep-hash)))\n    (maybe-time (enumerator->list\n                 (lambda (yield)\n                   ((merge-join string<? Y=>XY=>1 Y=>YK=>1)\n                    (lambda (rep XY* YK*)\n                      (for-each\n                       (lambda (XY)\n                         (match-define (list* _ X predicate.X->Y _ props.X->Y) XY)\n                         (for-each\n                          (lambda (YK)\n                            (match-define (list* _ Y Y->K K props.Y->K) YK)\n                            (yield (list X predicate.X->Y Y Y->K K props.X->Y props.Y->K)))\n                          YK*))\n                       XY*))))))))\n\n(define (query:Known->Y->X curie*.K predicate*.K->Y category*.Y predicate*.Y->X category*.X)\n  (query:Known->Y->X-helper\n   (curies-in-db curie*.K)\n   (and predicate*.K->Y\n        (curies-in-db predicate*.K->Y))\n   (and category*.Y\n        (curies-in-db category*.Y))\n   (and predicate*.Y->X\n        (curies-in-db predicate*.Y->X))\n   (and category*.X\n        (curies-in-db category*.X))\n   #f))\n\n(define (query:Known->Y->X-scored curie*.K predicate*.K->Y category*.Y predicate*.Y->X category*.X score*)\n  (query:Known->Y->X-helper\n   (curies-in-db curie*.K)\n   (curies-in-db predicate*.K->Y)\n   (and category*.Y\n        (curies-in-db category*.Y))\n   (curies-in-db predicate*.Y->X)\n   (and category*.X\n        (curies-in-db category*.X))\n   score*))\n\n(define (query:Known->Y->X-helper curie*.K predicate*.K->Y category*.Y predicate*.Y->X category*.X score*)\n  (let* ((KY (if score*\n                 (query:Known->X-scored curie*.K predicate*.K->Y category*.Y score*)\n                 (query:Known->X curie*.K predicate*.K->Y category*.Y)))\n         (curie-rep-hash (build-curies-representative-hash (remove-duplicates (map caddr KY))))\n         (Y=>KY=>1 (result*->dict caddr KY curie-rep-hash))\n         (curie*.Y (hash-keys curie-rep-hash))\n         (YX (if score*\n                 (query:Known->X-scored curie*.Y predicate*.Y->X category*.X score*)\n                 (query:Known->X curie*.Y predicate*.Y->X category*.X)))\n         (Y=>YX=>1 (result*->dict car YX curie-rep-hash)))\n    (maybe-time (enumerator->list\n                 (lambda (yield)\n                   ((merge-join string<? Y=>YX=>1 Y=>KY=>1)\n                    (lambda (rep YX* KY*)\n                      (for-each\n                       (lambda (YX)\n                         (match-define (list* _ _ predicate.Y->X X props.Y->X) YX)\n                         (for-each\n                          (lambda (KY)\n                            (match-define (list* _ K K->Y Y props.K->Y) KY)\n                            (yield (list K K->Y Y predicate.Y->X X props.K->Y props.Y->X)))\n                          KY*))\n                       YX*))))))))\n\n(define (query:X->Y->Known-auto-grow\n         category*.X predicate*.X->Y category*.Y predicate*.Y->K curie*.K score* result_amount result-filter)\n  (define (helper YK XY curie-rep-hash score*)\n    (let* ((Y=>YK=>1 (result*->dict car YK curie-rep-hash))\n           (Y=>XY=>1 (result*->dict caddr XY curie-rep-hash))\n           (result (enumerator->list\n                    (lambda (yield)\n                      ((merge-join string<? Y=>XY=>1 Y=>YK=>1)\n                       (lambda (rep XY* YK*)\n                         (for-each\n                          (lambda (XY)\n                            (match-define (list* _ X predicate.X->Y _ props.X->Y) XY)\n                            (for-each\n                             (lambda (YK)\n                               (match-define (list* _ Y Y->K K props.Y->K) YK)\n                               (yield (list X predicate.X->Y Y Y->K K props.X->Y props.Y->K)))\n                             YK*))\n                          XY*))))))\n           (result (result-filter result)))\n      (cond\n        [(> (length result) result_amount)\n         (printf \"return ~a answers\\n\" (length result))\n         result]\n        [(andmap not score*)\n         (printf \"return ~a answers\\n\" (length result))\n         result]\n        [else\n         (let* ((score* (list (minus-one-before-zero (list-ref score* 0))\n                              (minus-one-before-zero (list-ref score* 1))\n                              (minus-one-before-zero (list-ref score* 2))))\n                (YK-new (query:X->Known-scored category*.Y predicate*.Y->K curie*.K score*))\n                (YK (append YK YK-new))\n                (curie-rep-hash (add-curies-representative-to-hash curie-rep-hash (remove-duplicates (map car YK-new))))\n                (curie*.Y (hash-keys curie-rep-hash))\n                (XY (append XY (query:X->Known-scored category*.X predicate*.X->Y curie*.Y score*))))\n           (helper YK XY curie-rep-hash score*))])))\n  (let* ((YK (query:X->Known-scored category*.Y predicate*.Y->K curie*.K score*))\n         (curie-rep-hash (build-curies-representative-hash (remove-duplicates (map car YK))))\n         (curie*.Y (hash-keys curie-rep-hash))\n         (XY (query:X->Known-scored category*.X predicate*.X->Y curie*.Y score*)))\n    (helper YK XY curie-rep-hash score*)))\n\n(define (query:Known->Y->X-auto-grow\n         curie*.K predicate*.K->Y category*.Y predicate*.Y->X category*.X score* result_amount result-filter)\n  (define (helper KY YX curie-rep-hash score*)\n    (let* ((Y=>KY=>1 (result*->dict caddr KY curie-rep-hash))\n           (Y=>YX=>1 (result*->dict car YX curie-rep-hash))\n           (result (enumerator->list\n                    (lambda (yield)\n                      ((merge-join string<? Y=>YX=>1 Y=>KY=>1)\n                       (lambda (rep YX* KY*)\n                         (for-each\n                          (lambda (YX)\n                            (match-define (list* _ _ predicate.Y->X X props.Y->X) YX)\n                            (for-each\n                             (lambda (KY)\n                               (match-define (list* _ K K->Y Y props.K->Y) KY)\n                               (yield (list K K->Y Y predicate.Y->X X props.K->Y props.Y->X)))\n                             KY*))\n                          YX*))))))\n           (result (result-filter result)))\n      (cond\n        [(> (length result) result_amount)\n         (printf \"return ~a answers\\n\" (length result))\n         result]\n        [(andmap not score*)\n         (printf \"return ~a answers\\n\" (length result))\n         result]\n        [else\n         (let* ((score* (list (minus-one-before-zero (list-ref score* 0))\n                              (minus-one-before-zero (list-ref score* 1))\n                              (minus-one-before-zero (list-ref score* 2))))\n                (KY-new (query:Known->X-scored curie*.K predicate*.K->Y category*.Y score*))\n                (KY (append KY KY-new))\n                (curie-rep-hash (add-curies-representative-to-hash curie-rep-hash (remove-duplicates (map caddr KY-new))))\n                (curie*.Y (hash-keys curie-rep-hash))\n                (YX (append YX (query:Known->X-scored curie*.Y predicate*.Y->X category*.X score*))))\n           (helper KY YX curie-rep-hash score*))])))\n  (let* ((KY (query:Known->X-scored curie*.K predicate*.K->Y category*.Y score*))\n         (curie-rep-hash (build-curies-representative-hash (remove-duplicates (map caddr KY))))\n         (curie*.Y (hash-keys curie-rep-hash))\n         (YX (query:Known->X-scored curie*.Y predicate*.Y->X category*.X score*)))\n    (helper KY YX curie-rep-hash score*)))\n\n(define (query:Concept curie*)\n  (append\n   (query:Concept-robokop (filter curie-in-db?-robokop curie*))\n   (query:Concept-text-mining (filter curie-in-db?-text-mining curie*))\n   (query:Concept-rtx-kg2 (filter curie-in-db?-rtx-kg2 curie*))))\n\n(define (concept-properties)\n  (append\n   (concept-properties-robokop)\n   (concept-properties-text-mining)\n   (concept-properties-rtx-kg2)))\n\n;;(define (concept-property-values key) 'TODO)\n\n(define (curie-in-db? curie)\n  (or\n   (curie-in-db?-robokop curie)\n   (curie-in-db?-text-mining curie)\n   (curie-in-db?-rtx-kg2 curie)))\n\n(define (curies-in-db curie*)\n  (remove-duplicates\n   (append\n    (curies-in-db-robokop curie*)\n    (curies-in-db-text-mining curie*)\n    (curies-in-db-rtx-kg2 curie*))))\n\n(define (curie->properties curie)\n  (append\n   (if (curie-in-db?-text-mining curie)\n       (curie->properties-text-mining curie)\n       '())\n   (if (curie-in-db?-rtx-kg2 curie)\n       (curie->properties-rtx-kg2 curie)\n       '())\n   (if (curie-in-db?-robokop curie)\n       (curie->properties-robokop curie)\n       '())))\n\n(define (edge-properties)\n  (append\n   (edge-properties-robokop)\n   (edge-properties-text-mining)\n   (edge-properties-rtx-kg2)))\n\n;;(define (edge-property-values key) 'TODO)\n;;(define (edge-id->properties eid) 'TODO)\n"
  },
  {
    "path": "medikanren2/neo/neo-low-level/query-low-level-node-normalization.rkt",
    "content": "#lang racket/base\n\n(provide\n  query:Known->X\n  query:X->Known  \n  curie-in-db?\n  )\n(require\n \"make-query-low-level.rkt\"\n racket/match)\n\n(define db-path-under-parent \"kgx-synonym/neo/node_normalization.db\")\n\n(match-define\n  (list\n    query:Known->Known\n    query:Known->X\n    query:X->Known\n    query:Known<-X->Known\n    query:Known->X->Known\n    query:X->Y->Known\n    query:Concept\n    concept-properties\n    concept-property-values\n    curie-in-db?\n    curie->properties\n    edge-properties\n    edge-property-values\n    edge-id->properties)\n  (make-query-low-level db-path-under-parent))"
  },
  {
    "path": "medikanren2/neo/neo-low-level/query-low-level-robokop.rkt",
    "content": "#lang racket/base\n\n(provide\n  query:Known->Known\n  query:Known->X\n  query:Known->X-scored\n  query:X->Known\n  query:X->Known-scored\n  query:Known<-X->Known\n  query:Known->X->Known\n  query:X->Y->Known\n  query:Concept\n  concept-properties\n  concept-property-values\n  curie-in-db?\n  curies-in-db\n  curie->properties\n  edge-properties\n  edge-property-values\n  edge-id->properties\n  get-highest-bucket-number)\n(require\n \"make-query-low-level.rkt\"\n racket/match)\n \n#;(define db-path-under-parent \"robokop-may-9-2024/march-7-2024/robokop.db\")\n(define db-path-under-parent \"robokop-aug-6-2024/july-31-2024/robokop.db\")\n\n(match-define\n  (list\n   query:Known->Known\n   query:Known->X-scored\n   query:Known->X\n   query:X->Known-scored\n   query:X->Known\n   query:Known<-X->Known\n   query:Known->X->Known\n   query:X->Y->Known\n   query:Concept\n   concept-properties\n   concept-property-values\n   curie-in-db?\n   curies-in-db\n   curie->properties\n   edge-properties\n   edge-property-values\n   edge-id->properties\n   get-highest-bucket-number\n   )\n  (make-query-low-level db-path-under-parent \"infores:robokop-kg\"))\n"
  },
  {
    "path": "medikanren2/neo/neo-low-level/query-low-level-rtx-kg2.rkt",
    "content": "#lang racket/base\n\n(provide\n  query:Known->Known\n  query:Known->X\n  query:Known->X-scored\n  query:X->Known\n  query:X->Known-scored\n  query:Known<-X->Known\n  query:Known->X->Known\n  query:X->Y->Known\n  query:Concept\n  concept-properties\n  concept-property-values\n  curie-in-db?\n  curies-in-db\n  curie->properties\n  edge-properties\n  edge-property-values\n  edge-id->properties\n  get-highest-bucket-number)\n(require\n \"make-query-low-level.rkt\"\n racket/match)\n\n#;(define db-path-under-parent \"rtx-kg2-may-9-2024/rtx-kg2-2.9.0pre/rtx-kg2.db\")\n(define db-path-under-parent \"rtx-kg2-oct-30-2024/rtx-kg2-2.10.1pre/rtx-kg2.db\")\n\n(match-define\n  (list\n   query:Known->Known\n   query:Known->X-scored\n   query:Known->X\n   query:X->Known-scored\n   query:X->Known\n   query:Known<-X->Known\n   query:Known->X->Known\n   query:X->Y->Known\n   query:Concept\n   concept-properties\n   concept-property-values\n   curie-in-db?\n   curies-in-db\n   curie->properties\n   edge-properties\n   edge-property-values\n   edge-id->properties\n   get-highest-bucket-number\n   )\n  (make-query-low-level db-path-under-parent \"infores:rtx-kg2\"))\n"
  },
  {
    "path": "medikanren2/neo/neo-low-level/query-low-level-text-mining.rkt",
    "content": "#lang racket/base\n\n(provide\n  query:Known->Known\n  query:Known->X\n  query:Known->X-scored\n  query:X->Known\n  query:X->Known-scored\n  query:Known<-X->Known\n  query:Known->X->Known\n  query:X->Y->Known\n  query:Concept\n  concept-properties\n  concept-property-values\n  curie-in-db?\n  curies-in-db\n  curie->properties\n  edge-properties\n  edge-property-values\n  edge-id->properties\n  get-highest-bucket-number)\n(require\n \"make-query-low-level.rkt\"\n racket/match)\n\n(define db-path-under-parent \"text-mining-aug-5-2024/aug_5_2024/text_mining.db\")\n#;(define db-path-under-parent \"text-mining-apr-5-2024/apr_2_2024/text_mining.db\")\n\n(match-define\n  (list\n   query:Known->Known\n   query:Known->X-scored\n   query:Known->X\n   query:X->Known-scored\n   query:X->Known\n   query:Known<-X->Known\n   query:Known->X->Known\n   query:X->Y->Known\n   query:Concept\n   concept-properties\n   concept-property-values\n   curie-in-db?\n   curies-in-db\n   curie->properties\n   edge-properties\n   edge-property-values\n   edge-id->properties\n   get-highest-bucket-number\n   )\n  (make-query-low-level db-path-under-parent  \"infores:text-mining-provider-targeted\"))\n"
  },
  {
    "path": "medikanren2/neo/neo-open-api/mediKanrenSmartAPI_1_4.json",
    "content": "{\n  \"openapi\": \"3.0.3\",\n  \"info\": {\n    \"contact\": {\n      \"email\": \"webyrd@gmail.com\",\n      \"name\": \"William E. Byrd\",\n      \"url\": \"https://github.com/webyrd\",\n      \"x-role\": \"responsible developer\"\n    },\n    \"description\": \"TRAPI 1.4 Endpoint for Team Unsecret Agent's mediKanren ARA\",\n    \"license\": {\n      \"name\": \"MIT License\",\n      \"url\": \"https://github.com/webyrd/mediKanren/blob/master/LICENSE\"\n    },\n    \"title\": \"mediKanren\",\n    \"version\": \"2.0 neo TRAPI 1.4\",\n    \"x-translator\": {\n      \"biolink-version\": \"3.1.2\",\n      \"component\": \"ARA\",\n      \"externalDocs\": {\n        \"description\": \"The values for component and team are restricted according to this external JSON schema. See schema and examples at url\",\n        \"url\": \"https://github.com/NCATSTranslator/translator_extensions/blob/\\\\ production/x-translator/\"\n      },\n      \"infores\": \"infores:unsecret-agent\",\n      \"team\": [\n        \"Unsecret Agent\"\n      ]\n    },\n    \"x-trapi\": {\n      \"asyncquery\": false,\n      \"batch_size_limit\": 500,\n      \"externalDocs\": {\n        \"description\": \"The values for version are restricted according to the regex in this external JSON schema. See schema and examples at url\",\n        \"url\": \"https://github.com/NCATSTranslator/translator_extensions/blob/\\\\ production/x-trapi/\"\n      },\n      \"operations\": [\n        \"lookup\"\n      ],\n      \"version\": \"1.4.0\"\n    }\n  },\n  \"servers\": [\n    {\n      \"description\": \"Team Unsecret Agent mediKanren 1.4 Production server\",\n      \"url\": \"https://medikanren-trapi.transltr.io\",\n      \"x-location\": \"ITRB\",\n      \"x-maturity\": \"production\"\n    },\n    {\n      \"description\": \"Team Unsecret Agent mediKanren 1.4 Test server\",\n      \"url\": \"https://medikanren-trapi.test.transltr.io\",\n      \"x-location\": \"ITRB\",\n      \"x-maturity\": \"testing\"\n    }\n  ],\n  \"externalDocs\": {\n    \"description\": \"Documentation for the NCATS Biomedical Translator Reasoners web services\",\n    \"url\": \"https://github.com/NCATSTranslator/ReasonerAPI\"\n  },\n  \"tags\": [\n    {\n      \"description\": \"Initiate a query and wait to receive the response\",\n      \"name\": \"query\"\n    },\n    {\n      \"description\": \"Required for SmartAPI validation of x-translator\",\n      \"name\": \"translator\"\n    },\n    {\n      \"description\": \"Required for SmartAPI validation of x-trapi\",\n      \"name\": \"trapi\"\n    }\n  ],\n  \"paths\": {\n    \"/query\": {\n      \"post\": {\n        \"description\": \"Query Team Unsecret Agent's mediKanren ARA API following the [NCATS Translator Reasoner Standard API](https://github.com/NCATSTranslator/ReasonerAPI).\",\n        \"operationId\": \"query\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": \"{\\\"message\\\": {\\\"query_graph\\\": {\\\"nodes\\\": {\\\"n0\\\": {\\\"ids\\\": [\\\"MONDO:0004975\\\"], \\\"categories\\\": [\\\"biolink:Disease\\\"]}, \\\"n1\\\": {\\\"categories\\\":[\\\"biolink:ChemicalEntity\\\"]}}, \\\"edges\\\": {\\\"e0\\\": {\\\"subject\\\": \\\"n1\\\", \\\"object\\\": \\\"n0\\\", \\\"predicates\\\":[\\\"biolink:treats\\\"], \\\"knowledge_type\\\": \\\"inferred\\\"}}}}}\",\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Query\"\n              }\n            }\n          },\n          \"description\": \"Query information to be submitted\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Response\"\n                }\n              }\n            },\n            \"description\": \"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized.\"\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"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).\"\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"description\": \"Internal server error.\"\n          },\n          \"501\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"description\": \"Not implemented.\"\n          }\n        },\n        \"summary\": \"Initiate a query and wait to receive a Response\",\n        \"tags\": [\n          \"query\"\n        ],\n        \"x-swagger-router-controller\": \"swagger_server.controllers.query_controller\"\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"AsyncQuery\": {\n        \"additionalProperties\": true,\n        \"description\": \"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.\",\n        \"properties\": {\n          \"callback\": {\n            \"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.\",\n            \"format\": \"uri\",\n            \"pattern\": \"^https?://\",\n            \"type\": \"string\"\n          },\n          \"log_level\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/LogLevel\"\n              }\n            ],\n            \"description\": \"The least critical level of logs to return\",\n            \"nullable\": true\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\",\n            \"description\": \"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.\"\n          },\n          \"workflow\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n              }\n            ],\n            \"description\": \"List of workflow steps to be executed.\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [\n          \"callback\",\n          \"message\"\n        ],\n        \"type\": \"object\",\n        \"x-body-name\": \"request_body\"\n      },\n      \"Attribute\": {\n        \"additionalProperties\": false,\n        \"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 a SubAttribute (for example to provide confidence intervals on a value).\",\n        \"properties\": {\n          \"attribute_source\": {\n            \"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.\",\n            \"example\": \"UniProtKB\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"attribute_type_id\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.\",\n            \"example\": \"Biolink:has_p-value_evidence, Biolink:has_original_source\"\n          },\n          \"attributes\": {\n            \"description\": \"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/SubAttribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"description\": {\n            \"description\": \"Human-readable description for the attribute and its value.\",\n            \"example\": \"Assertion Authored By Dr. Trans L. Ator\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"original_attribute_name\": {\n            \"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.\",\n            \"example\": \"p-value\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"Value of the attribute. May be any data type, including a list.\",\n            \"example\": 0.000153\n          },\n          \"value_type_id\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/CURIE\"\n              }\n            ],\n            \"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.\",\n            \"example\": \"EDAM:data_1187\",\n            \"nullable\": true\n          },\n          \"value_url\": {\n            \"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).\",\n            \"example\": \"https://pubmed.ncbi.nlm.nih.gov/32529952\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"attribute_type_id\",\n          \"value\"\n        ],\n        \"type\": \"object\"\n      },\n      \"BiolinkEntity\": {\n        \"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.\",\n        \"example\": \"biolink:PhenotypicFeature\",\n        \"externalDocs\": {\n          \"description\": \"Biolink model entities\",\n          \"url\": \"https://biolink.github.io/biolink-model/docs/NamedThing.html\"\n        },\n        \"pattern\": \"^biolink:[A-Z][a-zA-Z]*$\",\n        \"type\": \"string\"\n      },\n      \"BiolinkPredicate\": {\n        \"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.\",\n        \"example\": \"biolink:interacts_with\",\n        \"externalDocs\": {\n          \"description\": \"Biolink model predicates\",\n          \"url\": \"https://biolink.github.io/biolink-model/docs/related_to.html\"\n        },\n        \"pattern\": \"^biolink:[a-z][a-z_]*$\",\n        \"type\": \"string\"\n      },\n      \"CURIE\": {\n        \"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.\",\n        \"externalDocs\": {\n          \"url\": \"https://www.w3.org/TR/2010/NOTE-curie-20101216/\"\n        },\n        \"type\": \"string\"\n      },\n      \"Edge\": {\n        \"additionalProperties\": false,\n        \"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.\",\n        \"properties\": {\n          \"attributes\": {\n            \"description\": \"A list of additional attributes for this edge\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Attribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"object\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"Corresponds to the map key CURIE of the object concept node of this relationship edge.\",\n            \"example\": \"UniProtKB:P00738\"\n          },\n          \"predicate\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n              }\n            ],\n            \"nullable\": true\n          },\n          \"subject\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"Corresponds to the map key CURIE of the subject concept node of this relationship edge.\",\n            \"example\": \"OMIM:603903\"\n          }\n        },\n        \"required\": [\n          \"subject\",\n          \"object\"\n        ],\n        \"type\": \"object\"\n      },\n      \"EdgeBinding\": {\n        \"additionalProperties\": true,\n        \"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).\",\n        \"properties\": {\n          \"attributes\": {\n            \"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.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Attribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"id\": {\n            \"description\": \"The key identifier of a specific KnowledgeGraph Edge.\",\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"id\"\n        ],\n        \"type\": \"object\"\n      },\n      \"KnowledgeGraph\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"edges\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/Edge\"\n            },\n            \"description\": \"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.\",\n            \"type\": \"object\"\n          },\n          \"nodes\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/Node\"\n            },\n            \"description\": \"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.\",\n            \"type\": \"object\"\n          }\n        },\n        \"required\": [\n          \"nodes\",\n          \"edges\"\n        ],\n        \"type\": \"object\"\n      },\n      \"LogEntry\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"code\": {\n            \"description\": \"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"level\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/LogLevel\"\n              }\n            ],\n            \"nullable\": true\n          },\n          \"message\": {\n            \"description\": \"A human-readable log message\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"timestamp\": {\n            \"description\": \"Timestamp in ISO 8601 format\",\n            \"example\": \"2020-09-03T18:13:49+00:00\",\n            \"format\": \"date-time\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"LogLevel\": {\n        \"description\": \"Logging level\",\n        \"enum\": [\n          \"ERROR\",\n          \"WARNING\",\n          \"INFO\",\n          \"DEBUG\"\n        ],\n        \"type\": \"string\"\n      },\n      \"Message\": {\n        \"additionalProperties\": false,\n        \"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.\",\n        \"properties\": {\n          \"knowledge_graph\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/KnowledgeGraph\"\n              }\n            ],\n            \"description\": \"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message\",\n            \"nullable\": true\n          },\n          \"query_graph\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/QueryGraph\"\n              }\n            ],\n            \"description\": \"QueryGraph object that contains a serialization of a query in the form of a graph\",\n            \"nullable\": true\n          },\n          \"results\": {\n            \"description\": \"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property,\\n if present, MAY be used to infer result rankings.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Result\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"MetaAttribute\": {\n        \"properties\": {\n          \"attribute_source\": {\n            \"description\": \"Source of an attribute provided by this TRAPI web service.\",\n            \"example\": \"infores:chembl\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"attribute_type_id\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)\",\n            \"example\": \"biolink:p_value\"\n          },\n          \"constraint_name\": {\n            \"description\": \"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.\",\n            \"example\": \"p-value\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"constraint_use\": {\n            \"default\": false,\n            \"description\": \"Indicates whether this attribute can be used as a query constraint.\",\n            \"type\": \"boolean\"\n          },\n          \"original_attribute_names\": {\n            \"description\": \"Names of an the attribute as provided by the source.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"minItems\": 1,\n            \"nullable\": true,\n            \"type\": \"array\"\n          }\n        },\n        \"required\": [\n          \"attribute_type_id\"\n        ],\n        \"type\": \"object\"\n      },\n      \"MetaEdge\": {\n        \"additionalProperties\": false,\n        \"description\": \"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.\",\n        \"properties\": {\n          \"attributes\": {\n            \"description\": \"Edge attributes provided by this TRAPI web service.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MetaAttribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"object\": {\n            \"$ref\": \"#/components/schemas/BiolinkEntity\",\n            \"description\": \"Object node category of this relationship edge.\",\n            \"example\": \"biolink:Protein\"\n          },\n          \"predicate\": {\n            \"$ref\": \"#/components/schemas/BiolinkPredicate\",\n            \"description\": \"Biolink relationship between the subject and object categories.\",\n            \"example\": \"biolink:affects\"\n          },\n          \"subject\": {\n            \"$ref\": \"#/components/schemas/BiolinkEntity\",\n            \"description\": \"Subject node category of this relationship edge.\",\n            \"example\": \"biolink:ChemicalSubstance\"\n          }\n        },\n        \"required\": [\n          \"subject\",\n          \"predicate\",\n          \"object\"\n        ],\n        \"type\": \"object\"\n      },\n      \"MetaKnowledgeGraph\": {\n        \"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.\",\n        \"properties\": {\n          \"edges\": {\n            \"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.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MetaEdge\"\n            },\n            \"type\": \"array\"\n          },\n          \"nodes\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/MetaNode\"\n            },\n            \"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.\",\n            \"type\": \"object\"\n          }\n        },\n        \"required\": [\n          \"nodes\",\n          \"edges\"\n        ],\n        \"type\": \"object\"\n      },\n      \"MetaNode\": {\n        \"additionalProperties\": false,\n        \"description\": \"Description of a node category provided by this TRAPI web service.\",\n        \"properties\": {\n          \"attributes\": {\n            \"description\": \"Node attributes provided by this TRAPI web service.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MetaAttribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"id_prefixes\": {\n            \"description\": \"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.\",\n            \"example\": [\n              \"CHEMBL.COMPOUND\",\n              \"INCHIKEY\"\n            ],\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"minItems\": 1,\n            \"type\": \"array\"\n          }\n        },\n        \"required\": [\n          \"id_prefixes\"\n        ],\n        \"type\": \"object\"\n      },\n      \"Node\": {\n        \"additionalProperties\": false,\n        \"description\": \"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.\",\n        \"properties\": {\n          \"attributes\": {\n            \"description\": \"A list of attributes describing the node\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Attribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"categories\": {\n            \"items\": {\n              \"$ref\": \"#/components/schemas/BiolinkEntity\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"name\": {\n            \"description\": \"Formal name of the entity\",\n            \"example\": \"Haptoglobin\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"NodeBinding\": {\n        \"additionalProperties\": true,\n        \"properties\": {\n          \"id\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"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 (such annotation is not yet fully standardized).\"\n          }\n        },\n        \"required\": [\n          \"id\"\n        ],\n        \"type\": \"object\"\n      },\n      \"QEdge\": {\n        \"additionalProperties\": true,\n        \"description\": \"An edge in the QueryGraph used as an 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.\",\n        \"properties\": {\n          \"constraints\": {\n            \"default\": [],\n            \"description\": \"A list of contraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/QueryConstraint\"\n            },\n            \"type\": \"array\"\n          },\n          \"object\": {\n            \"description\": \"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.\",\n            \"example\": \"https://www.uniprot.org/uniprot/P00738\",\n            \"type\": \"string\"\n          },\n          \"predicates\": {\n            \"items\": {\n              \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n            },\n            \"minItems\": 1,\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"subject\": {\n            \"description\": \"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.\",\n            \"example\": \"https://omim.org/entry/603903\",\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"subject\",\n          \"object\"\n        ],\n        \"type\": \"object\"\n      },\n      \"QNode\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"categories\": {\n            \"items\": {\n              \"$ref\": \"#/components/schemas/BiolinkEntity\"\n            },\n            \"minItems\": 1,\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"constraints\": {\n            \"default\": [],\n            \"description\": \"A list of contraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/QueryConstraint\"\n            },\n            \"type\": \"array\"\n          },\n          \"ids\": {\n            \"description\": \"CURIE identifier for this node\",\n            \"example\": [\n              \"OMIM:603903\"\n            ],\n            \"items\": {\n              \"$ref\": \"#/components/schemas/CURIE\"\n            },\n            \"minItems\": 1,\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"is_set\": {\n            \"default\": false,\n            \"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.\",\n            \"type\": \"boolean\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"Query\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"log_level\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/LogLevel\"\n              }\n            ],\n            \"description\": \"The least critical level of logs to return\",\n            \"nullable\": true\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\",\n            \"description\": \"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.\"\n          },\n          \"workflow\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n              }\n            ],\n            \"description\": \"List of workflow steps to be executed.\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [\n          \"message\"\n        ],\n        \"type\": \"object\",\n        \"x-body-name\": \"request_body\"\n      },\n      \"QueryConstraint\": {\n        \"additionalProperties\": false,\n        \"description\": \"Generic query constraint for a query node or query edge\",\n        \"properties\": {\n          \"id\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/CURIE\"\n              }\n            ],\n            \"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.\",\n            \"example\": \"EDAM:data_0844\"\n          },\n          \"name\": {\n            \"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.\",\n            \"example\": \"molecular mass\",\n            \"type\": \"string\"\n          },\n          \"not\": {\n            \"default\": false,\n            \"type\": \"boolean\"\n          },\n          \"operator\": {\n            \"description\": \"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is exactly 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. 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 >=, and not matches means does not match. The '==' operator SHOULD NOT be used in a manner that describes an \\\"is a\\\" subclass relationship for the parent QNode.\",\n            \"enum\": [\n              \"==\",\n              \">\",\n              \"<\",\n              \"matches\"\n            ],\n            \"type\": \"string\"\n          },\n          \"unit_id\": {\n            \"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.\",\n            \"example\": \"UO:0000222\",\n            \"nullable\": true\n          },\n          \"unit_name\": {\n            \"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.\",\n            \"example\": \"kilodalton\",\n            \"nullable\": true\n          },\n          \"value\": {\n            \"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). 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.\",\n            \"example\": 57\n          }\n        },\n        \"required\": [\n          \"name\",\n          \"id\",\n          \"operator\",\n          \"value\"\n        ],\n        \"type\": \"object\"\n      },\n      \"QueryGraph\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"edges\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/QEdge\"\n            },\n            \"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.\",\n            \"type\": \"object\"\n          },\n          \"nodes\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/QNode\"\n            },\n            \"description\": \"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.\",\n            \"type\": \"object\"\n          }\n        },\n        \"required\": [\n          \"nodes\",\n          \"edges\"\n        ],\n        \"type\": \"object\"\n      },\n      \"Response\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"description\": {\n            \"description\": \"A brief human-readable description of the outcome\",\n            \"example\": \"Success. 42 results found.\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"logs\": {\n            \"description\": \"Log entries containing errors, warnings, debugging information, etc\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/LogEntry\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\",\n            \"description\": \"Contains the knowledge of the response (query graph, knowledge graph, and results).\"\n          },\n          \"status\": {\n            \"description\": \"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable\",\n            \"example\": \"Success\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"workflow\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n              }\n            ],\n            \"description\": \"List of workflow steps that were executed.\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [\n          \"message\"\n        ],\n        \"type\": \"object\"\n      },\n      \"Result\": {\n        \"additionalProperties\": true,\n        \"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).\",\n        \"properties\": {\n          \"edge_bindings\": {\n            \"additionalProperties\": {\n              \"items\": {\n                \"$ref\": \"#/components/schemas/EdgeBinding\"\n              },\n              \"type\": \"array\"\n            },\n            \"description\": \"The dictionary of Input Query Graph to Result 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 in the result.\",\n            \"type\": \"object\"\n          },\n          \"node_bindings\": {\n            \"additionalProperties\": {\n              \"items\": {\n                \"$ref\": \"#/components/schemas/NodeBinding\"\n              },\n              \"type\": \"array\"\n            },\n            \"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.\",\n            \"type\": \"object\"\n          },\n          \"score\": {\n            \"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.\",\n            \"example\": 163.233,\n            \"format\": \"float\",\n            \"nullable\": true,\n            \"type\": \"number\"\n          }\n        },\n        \"required\": [\n          \"node_bindings\",\n          \"edge_bindings\"\n        ],\n        \"type\": \"object\"\n      },\n      \"SubAttribute\": {\n        \"additionalProperties\": false,\n        \"description\": \"Second-level attribute that can be used to qualify information contained in a primary Attribute attached to a Node or Edge.\",\n        \"properties\": {\n          \"attribute_source\": {\n            \"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.\",\n            \"example\": \"UniProtKB\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"attribute_type_id\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.\",\n            \"example\": \"Biolink:has_p-value_evidence, Biolink:has_original_source\"\n          },\n          \"description\": {\n            \"description\": \"Human-readable description for the attribute and its value.\",\n            \"example\": \"Assertion Authored By Dr. Trans L. Ator\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"original_attribute_name\": {\n            \"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.\",\n            \"example\": \"p-value\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"Value of the attribute. May be any data type, including a list.\",\n            \"example\": 0.000153\n          },\n          \"value_type_id\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/CURIE\"\n              }\n            ],\n            \"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.\",\n            \"example\": \"EDAM:data_1187\",\n            \"nullable\": true\n          },\n          \"value_url\": {\n            \"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).\",\n            \"example\": \"https://pubmed.ncbi.nlm.nih.gov/32529952\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"attribute_type_id\",\n          \"value\"\n        ],\n        \"type\": \"object\"\n      }\n    }\n  }\n}"
  },
  {
    "path": "medikanren2/neo/neo-open-api/mediKanrenSmartAPI_1_4.yaml",
    "content": "openapi: 3.0.3\ninfo:\n  contact:\n    email: webyrd@gmail.com\n    name: William E. Byrd\n    url: https://github.com/webyrd\n    x-role: responsible developer\n  description: TRAPI 1.4 Endpoint for Team Unsecret Agent's mediKanren ARA\n  license:\n    name: MIT License\n    url: https://github.com/webyrd/mediKanren/blob/master/LICENSE\n  title: mediKanren\n  version: '2.0 neo TRAPI 1.4'\n  x-translator:\n    biolink-version: 3.1.2\n    component: ARA\n    externalDocs:\n      description: The values for component and team are restricted according to this\n        external JSON schema. See schema and examples at url\n      url: https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-translator/    \n    infores: infores:unsecret-agent\n    team:\n    - Unsecret Agent\n  x-trapi:\n    asyncquery: false\n    batch_size_limit: 500\n    externalDocs:\n      description: The values for version are restricted according to the regex in\n        this external JSON schema. See schema and examples at url\n      url: https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-trapi/    \n    operations:\n    - lookup\n    version: 1.4.0\nservers:\n- description: Team Unsecret Agent mediKanren 1.4 Production server\n  url: https://medikanren-trapi.transltr.io\n  x-location: ITRB\n  x-maturity: production\n- description: Team Unsecret Agent mediKanren 1.4 Test server\n  url: https://medikanren-trapi.test.transltr.io\n  x-location: ITRB\n  x-maturity: testing\nexternalDocs:\n  description: Documentation for the NCATS Biomedical Translator Reasoners web services\n  url: https://github.com/NCATSTranslator/ReasonerAPI\ntags:\n- description: Initiate a query and wait to receive the response\n  name: query\n- description: Required for SmartAPI validation of x-translator\n  name: translator\n- description: Required for SmartAPI validation of x-trapi\n  name: trapi\npaths:\n  /query:\n    post:\n      description: \"Query Team Unsecret Agent's mediKanren ARA API following the [NCATS Translator Reasoner Standard API](https://github.com/NCATSTranslator/ReasonerAPI).\"\n      operationId: query\n      requestBody:\n        content:\n          application/json:\n            example: \"{\\\"message\\\": {\\\"query_graph\\\": {\\\"nodes\\\": {\\\"n0\\\": {\\\"ids\\\": [\\\"MONDO:0004975\\\"], \\\"categories\\\": [\\\"biolink:Disease\\\"]}, \\\"n1\\\": {\\\"categories\\\":[\\\"biolink:ChemicalEntity\\\"]}}, \\\"edges\\\": {\\\"e0\\\": {\\\"subject\\\": \\\"n1\\\", \\\"object\\\": \\\"n0\\\", \\\"predicates\\\":[\\\"biolink:treats\\\"], \\\"knowledge_type\\\": \\\"inferred\\\"}}}}}\"\n            schema:\n              $ref: '#/components/schemas/Query'\n        description: Query information to be submitted\n        required: true\n      responses:\n        '200':\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Response'\n          description: OK. There may or may not be results. Note that some of the\n            provided identifiers may not have been recognized.\n        '400':\n          content:\n            application/json:\n              schema:\n                type: string\n          description: Bad request. The request is invalid according to this OpenAPI\n            schema OR a specific identifier is believed to be invalid somehow (not\n            just unrecognized).\n        '500':\n          content:\n            application/json:\n              schema:\n                type: string\n          description: Internal server error.\n        '501':\n          content:\n            application/json:\n              schema:\n                type: string\n          description: Not implemented.\n      summary: Initiate a query and wait to receive a Response\n      tags:\n      - query\n      x-swagger-router-controller: swagger_server.controllers.query_controller\ncomponents:\n  schemas:\n    AsyncQuery:\n      additionalProperties: true\n      description: The AsyncQuery class is effectively the same as the Query class\n        but it requires a callback property.\n      properties:\n        callback:\n          description: 'Upon completion, this server will send a POST request to the\n            callback URL with `Content-Type: application/json` header and request\n            body containing a JSON-encoded `Response` object. The server MAY POST\n            `Response` objects before work is fully complete to provide interim results\n            with a Response.status value of ''Running''. If a POST operation to the\n            callback URL does not succeed, the server SHOULD retry the POST at least\n            once.'\n          format: uri\n          pattern: ^https?://\n          type: string\n        log_level:\n          allOf:\n          - $ref: '#/components/schemas/LogLevel'\n          description: The least critical level of logs to return\n          nullable: true\n        message:\n          $ref: '#/components/schemas/Message'\n          description: The query Message is a serialization of the user request. Content\n            of the Message object depends on the intended TRAPI operation. For example,\n            the fill operation requires a non-empty query_graph field as part of the\n            Message, whereas other operations, e.g. overlay, require non-empty results\n            and knowledge_graph fields.\n        workflow:\n          allOf:\n          - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          description: List of workflow steps to be executed.\n          nullable: true\n      required:\n      - callback\n      - message\n      type: object\n      x-body-name: request_body\n    Attribute:\n      additionalProperties: false\n      description: Generic attribute for a node or an edge that expands the key-value\n        pair concept by including fields for additional metadata. These fields can\n        be used to describe the source of the statement made in a key-value pair of\n        the attribute object, or describe the attribute's value itself including its\n        semantic type, or a url providing additional information about it. An attribute\n        may be further qualified with a SubAttribute (for example to provide confidence\n        intervals on a value).\n      properties:\n        attribute_source:\n          description: The source of the core assertion made by the key-value pair\n            of an attribute object. Use a CURIE or namespace designator for this resource\n            where possible.\n          example: UniProtKB\n          nullable: true\n          type: string\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: The 'key' of the attribute object, holding a CURIE of an ontology\n            property defining the attribute (preferably the CURIE of a Biolink association\n            slot). This property captures the relationship asserted to hold between\n            the value of the attribute, and the node or edge from  which it hangs.\n            For example, that a value of '0.000153' represents a p-value supporting\n            an edge, or that a value of 'ChEMBL' represents the original source of\n            the knowledge expressed in the edge.\n          example: Biolink:has_p-value_evidence, Biolink:has_original_source\n        attributes:\n          description: A list of attributes providing further information about the\n            parent attribute (for example to provide provenance information about\n            the parent attribute).\n          items:\n            $ref: '#/components/schemas/SubAttribute'\n          nullable: true\n          type: array\n        description:\n          description: Human-readable description for the attribute and its value.\n          example: Assertion Authored By Dr. Trans L. Ator\n          nullable: true\n          type: string\n        original_attribute_name:\n          description: The term used by the original source of an attribute to describe\n            the meaning or significance of the value it captures. This may be a column\n            name in a source tsv file, or a key in a source json document for the\n            field in the data that held the attribute's value. Capturing this information  where\n            possible lets us preserve what the original source said. Note that the\n            data type is string' but the contents of the field could also be a CURIE\n            of a third party ontology term.\n          example: p-value\n          nullable: true\n          type: string\n        value:\n          description: Value of the attribute. May be any data type, including a list.\n          example: 0.000153\n        value_type_id:\n          allOf:\n          - $ref: '#/components/schemas/CURIE'\n          description: CURIE describing the semantic type of an  attribute's value.\n            Use a Biolink class if possible, otherwise a term from an external ontology.\n            If a suitable CURIE/identifier does not exist, enter a descriptive phrase\n            here and submit the new type for consideration by the appropriate authority.\n          example: EDAM:data_1187\n          nullable: true\n        value_url:\n          description: Human-consumable URL linking to a web document that provides\n            additional information about an  attribute's value (not the node or the\n            edge fom which it hangs).\n          example: https://pubmed.ncbi.nlm.nih.gov/32529952\n          nullable: true\n          type: string\n      required:\n      - attribute_type_id\n      - value\n      type: object\n    BiolinkEntity:\n      description: Compact URI (CURIE) for a Biolink class, biolink:NamedThing or\n        a child thereof. The CURIE must use the prefix 'biolink:' followed by the\n        PascalCase class name.\n      example: biolink:PhenotypicFeature\n      externalDocs:\n        description: Biolink model entities\n        url: https://biolink.github.io/biolink-model/docs/NamedThing.html\n      pattern: ^biolink:[A-Z][a-zA-Z]*$\n      type: string\n    BiolinkPredicate:\n      description: CURIE for a Biolink 'predicate' slot, taken from the Biolink slot\n        ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate\n        defines the Biolink relationship between the subject and object nodes of a\n        biolink:Association defining a knowledge graph edge.\n      example: biolink:interacts_with\n      externalDocs:\n        description: Biolink model predicates\n        url: https://biolink.github.io/biolink-model/docs/related_to.html\n      pattern: ^biolink:[a-z][a-z_]*$\n      type: string\n    CURIE:\n      description: A Compact URI, consisting of a prefix and a reference separated\n        by a colon, such as UniProtKB:P00738. Via an external context definition,\n        the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/,\n        to form a full URI.\n      externalDocs:\n        url: https://www.w3.org/TR/2010/NOTE-curie-20101216/\n      type: string\n    Edge:\n      additionalProperties: false\n      description: A specification of the semantic relationship linking two concepts\n        that are expressed as nodes in the knowledge \"thought\" graph resulting from\n        a query upon the underlying knowledge source.\n      properties:\n        attributes:\n          description: A list of additional attributes for this edge\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n          type: array\n        object:\n          $ref: '#/components/schemas/CURIE'\n          description: Corresponds to the map key CURIE of the object concept node\n            of this relationship edge.\n          example: UniProtKB:P00738\n        predicate:\n          allOf:\n          - $ref: '#/components/schemas/BiolinkPredicate'\n          nullable: true\n        subject:\n          $ref: '#/components/schemas/CURIE'\n          description: Corresponds to the map key CURIE of the subject concept node\n            of this relationship edge.\n          example: OMIM:603903\n      required:\n      - subject\n      - object\n      type: object\n    EdgeBinding:\n      additionalProperties: true\n      description: A instance of EdgeBinding is a single KnowledgeGraph Edge mapping,\n        identified by the corresponding 'id' object key identifier of the Edge within\n        the Knowledge Graph. Instances of EdgeBinding may include extra annotation\n        (such annotation is not yet fully standardized).\n      properties:\n        attributes:\n          description: A list of attributes providing further information about the\n            edge binding. This is not intended for capturing edge attributes and should\n            only be used for properties that vary from result to result.\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n          type: array\n        id:\n          description: The key identifier of a specific KnowledgeGraph Edge.\n          type: string\n      required:\n      - id\n      type: object\n    KnowledgeGraph:\n      additionalProperties: true\n      description: The knowledge graph associated with a set of results. The instances\n        of Node and Edge defining this graph represent instances of biolink:NamedThing\n        (concept nodes) and biolink:Association (relationship edges) representing\n        (Attribute) annotated knowledge returned from the knowledge sources and inference\n        agents wrapped by the given TRAPI implementation.\n      properties:\n        edges:\n          additionalProperties:\n            $ref: '#/components/schemas/Edge'\n          description: Dictionary of Edge instances used in the KnowledgeGraph, referenced\n            elsewhere in the TRAPI output by the dictionary key.\n          type: object\n        nodes:\n          additionalProperties:\n            $ref: '#/components/schemas/Node'\n          description: Dictionary of Node instances used in the KnowledgeGraph, referenced\n            elsewhere in the TRAPI output by the dictionary key.\n          type: object\n      required:\n      - nodes\n      - edges\n      type: object\n    LogEntry:\n      additionalProperties: true\n      description: The LogEntry object contains information useful for tracing and\n        debugging across Translator components.  Although an individual component\n        (for example, an ARA or KP) may have its own logging and debugging infrastructure,\n        this internal information is not, in general, available to other components.\n        In addition to a timestamp and logging level, LogEntry includes a string intended\n        to be read by a human, along with one of a standardized set of codes describing\n        the condition of the component sending the message.\n      properties:\n        code:\n          description: One of a standardized set of short codes e.g. QueryNotTraversable,\n            KPNotAvailable, KPResponseMalformed\n          nullable: true\n          type: string\n        level:\n          allOf:\n          - $ref: '#/components/schemas/LogLevel'\n          nullable: true\n        message:\n          description: A human-readable log message\n          nullable: true\n          type: string\n        timestamp:\n          description: Timestamp in ISO 8601 format\n          example: '2020-09-03T18:13:49+00:00'\n          format: date-time\n          nullable: true\n          type: string\n      type: object\n    LogLevel:\n      description: Logging level\n      enum:\n      - ERROR\n      - WARNING\n      - INFO\n      - DEBUG\n      type: string\n    Message:\n      additionalProperties: false\n      description: 'The message object holds the main content of a Query or a Response\n        in three properties: query_graph, results, and knowledge_graph. The query_graph\n        property contains the query configuration, the results property contains any\n        answers that are returned by the service, and knowledge_graph property contains\n        lists of edges and nodes in the thought graph corresponding to this message.\n        The content of these properties is context-dependent to the encompassing object\n        and the TRAPI operation requested.'\n      properties:\n        knowledge_graph:\n          allOf:\n          - $ref: '#/components/schemas/KnowledgeGraph'\n          description: KnowledgeGraph object that contains lists of nodes and edges\n            in the thought graph corresponding to the message\n          nullable: true\n        query_graph:\n          allOf:\n          - $ref: '#/components/schemas/QueryGraph'\n          description: QueryGraph object that contains a serialization of a query\n            in the form of a graph\n          nullable: true\n        results:\n          description: \"List of all returned Result objects for the query posed. The\\\n            \\ list SHOULD NOT be assumed to be ordered. The 'score' property,\\n if\\\n            \\ present, MAY be used to infer result rankings.\"\n          items:\n            $ref: '#/components/schemas/Result'\n          nullable: true\n          type: array\n      type: object\n    MetaAttribute:\n      properties:\n        attribute_source:\n          description: Source of an attribute provided by this TRAPI web service.\n          example: infores:chembl\n          nullable: true\n          type: string\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: Type of an attribute provided by this TRAPI web service (preferably\n            the CURIE of a Biolink association slot)\n          example: biolink:p_value\n        constraint_name:\n          description: Human-readable name or label for the constraint concept. Required\n            whenever constraint_use is true.\n          example: p-value\n          nullable: true\n          type: string\n        constraint_use:\n          default: false\n          description: Indicates whether this attribute can be used as a query constraint.\n          type: boolean\n        original_attribute_names:\n          description: Names of an the attribute as provided by the source.\n          items:\n            type: string\n          minItems: 1\n          nullable: true\n          type: array\n      required:\n      - attribute_type_id\n      type: object\n    MetaEdge:\n      additionalProperties: false\n      description: Edge in a meta knowledge map describing relationship between a\n        subject Biolink class and an object Biolink class.\n      properties:\n        attributes:\n          description: Edge attributes provided by this TRAPI web service.\n          items:\n            $ref: '#/components/schemas/MetaAttribute'\n          nullable: true\n          type: array\n        object:\n          $ref: '#/components/schemas/BiolinkEntity'\n          description: Object node category of this relationship edge.\n          example: biolink:Protein\n        predicate:\n          $ref: '#/components/schemas/BiolinkPredicate'\n          description: Biolink relationship between the subject and object categories.\n          example: biolink:affects\n        subject:\n          $ref: '#/components/schemas/BiolinkEntity'\n          description: Subject node category of this relationship edge.\n          example: biolink:ChemicalSubstance\n      required:\n      - subject\n      - predicate\n      - object\n      type: object\n    MetaKnowledgeGraph:\n      description: Knowledge-map representation of this TRAPI web service. The meta\n        knowledge graph is composed of the union of most specific categories and predicates\n        for each node and edge.\n      properties:\n        edges:\n          description: List of the most specific edges/predicates provided by this\n            TRAPI web service. A predicate is only exposed here if there is an edge\n            for which the predicate is the most specific available.\n          items:\n            $ref: '#/components/schemas/MetaEdge'\n          type: array\n        nodes:\n          additionalProperties:\n            $ref: '#/components/schemas/MetaNode'\n          description: Collection of the most specific node categories provided by\n            this TRAPI web service, indexed by Biolink class CURIEs. A node category\n            is only exposed here if there is node for which that is the most specific\n            category available.\n          type: object\n      required:\n      - nodes\n      - edges\n      type: object\n    MetaNode:\n      additionalProperties: false\n      description: Description of a node category provided by this TRAPI web service.\n      properties:\n        attributes:\n          description: Node attributes provided by this TRAPI web service.\n          items:\n            $ref: '#/components/schemas/MetaAttribute'\n          nullable: true\n          type: array\n        id_prefixes:\n          description: List of CURIE prefixes for the node category that this TRAPI\n            web service understands and accepts on the input.\n          example:\n          - CHEMBL.COMPOUND\n          - INCHIKEY\n          items:\n            type: string\n          minItems: 1\n          type: array\n      required:\n      - id_prefixes\n      type: object\n    Node:\n      additionalProperties: false\n      description: A node in the KnowledgeGraph which represents some biomedical concept.\n        Nodes are identified by the keys in the KnowledgeGraph Node mapping.\n      properties:\n        attributes:\n          description: A list of attributes describing the node\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n          type: array\n        categories:\n          items:\n            $ref: '#/components/schemas/BiolinkEntity'\n          nullable: true\n          type: array\n        name:\n          description: Formal name of the entity\n          example: Haptoglobin\n          nullable: true\n          type: string\n      type: object\n    NodeBinding:\n      additionalProperties: true\n      properties:\n        id:\n          $ref: '#/components/schemas/CURIE'\n          description: An instance of NodeBinding is a single KnowledgeGraph Node\n            mapping, identified by the corresponding 'id' object key identifier of\n            the Node within the Knowledge Graph. Instances of NodeBinding may include\n            extra annotation (such annotation is not yet fully standardized).\n      required:\n      - id\n      type: object\n    QEdge:\n      additionalProperties: true\n      description: An edge in the QueryGraph used as an filter pattern specification\n        in a query. If the optional predicate property is not specified, it is assumed\n        to be a wildcard match to the target knowledge space. If specified, the ontological\n        inheritance hierarchy associated with the term provided is assumed, such that\n        edge bindings returned may be an exact match to the given QEdge predicate\n        term, or to a term that is a descendant of the QEdge predicate term.\n      properties:\n        constraints:\n          default: []\n          description: A list of contraints applied to a query edge. If there are\n            multiple items, they must all be true (equivalent to AND)\n          items:\n            $ref: '#/components/schemas/QueryConstraint'\n          type: array\n        object:\n          description: Corresponds to the map key identifier of the object concept\n            node anchoring the query filter pattern for the query relationship edge.\n          example: https://www.uniprot.org/uniprot/P00738\n          type: string\n        predicates:\n          items:\n            $ref: '#/components/schemas/BiolinkPredicate'\n          minItems: 1\n          nullable: true\n          type: array\n        subject:\n          description: Corresponds to the map key identifier of the subject concept\n            node anchoring the query filter pattern for the query relationship edge.\n          example: https://omim.org/entry/603903\n          type: string\n      required:\n      - subject\n      - object\n      type: object\n    QNode:\n      additionalProperties: true\n      description: A node in the QueryGraph used to represent an entity in a query.\n        If a CURIE is not specified, any nodes matching the category of the QNode\n        will be returned in the Results.\n      properties:\n        categories:\n          items:\n            $ref: '#/components/schemas/BiolinkEntity'\n          minItems: 1\n          nullable: true\n          type: array\n        constraints:\n          default: []\n          description: A list of contraints applied to a query node. If there are\n            multiple items, they must all be true (equivalent to AND)\n          items:\n            $ref: '#/components/schemas/QueryConstraint'\n          type: array\n        ids:\n          description: CURIE identifier for this node\n          example:\n          - OMIM:603903\n          items:\n            $ref: '#/components/schemas/CURIE'\n          minItems: 1\n          nullable: true\n          type: array\n        is_set:\n          default: false\n          description: Boolean that if set to true, indicates that this QNode MAY\n            have multiple KnowledgeGraph Nodes bound to it within each Result. The\n            nodes in a set should be considered as a set of independent nodes, rather\n            than a set of dependent nodes, i.e., the answer would still be valid if\n            the nodes in the set were instead returned individually. Multiple QNodes\n            may have is_set=True. If a QNode (n1) with is_set=True is connected to\n            a QNode (n2) with is_set=False, each n1 must be connected to n2. If a\n            QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True,\n            each n1 must be connected to at least one n2.\n          type: boolean\n      type: object\n    Query:\n      additionalProperties: true\n      description: The Query class is used to package a user request for information.\n        A Query object consists of a required Message object with optional additional\n        properties. Additional properties are intended to convey implementation-specific\n        or query-independent parameters. For example, an additional property specifying\n        a log level could allow a user to override the default log level in order\n        to receive more fine-grained log information when debugging an issue.\n      properties:\n        log_level:\n          allOf:\n          - $ref: '#/components/schemas/LogLevel'\n          description: The least critical level of logs to return\n          nullable: true\n        message:\n          $ref: '#/components/schemas/Message'\n          description: The query Message is a serialization of the user request. Content\n            of the Message object depends on the intended TRAPI operation. For example,\n            the fill operation requires a non-empty query_graph field as part of the\n            Message, whereas other operations, e.g. overlay, require non-empty results\n            and knowledge_graph fields.\n        workflow:\n          allOf:\n          - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          description: List of workflow steps to be executed.\n          nullable: true\n      required:\n      - message\n      type: object\n      x-body-name: request_body\n    QueryConstraint:\n      additionalProperties: false\n      description: Generic query constraint for a query node or query edge\n      properties:\n        id:\n          allOf:\n          - $ref: '#/components/schemas/CURIE'\n          description: CURIE of the concept being constrained. For properties defined\n            by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible,\n            from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive\n            phrase here and submit the new type for consideration by the appropriate\n            authority.\n          example: EDAM:data_0844\n        name:\n          description: Human-readable name or label for the constraint concept. If\n            appropriate, it SHOULD be the term name of the CURIE used as the 'id'.\n            This is redundant but required for human readability.\n          example: molecular mass\n          type: string\n        not:\n          default: false\n          type: boolean\n        operator:\n          description: Relationship between the database value and the constraint\n            value for the specified id. The operators ==, >, and < mean is exactly\n            equal to, is greater than, and is less than, respectively. The 'matches'\n            operator indicates that the value is a regular expression to be evaluated.\n            If value is a list type, then at least one evaluation must be true (equivalent\n            to OR). This means that the == operator with a list acts like a SQL 'IN'\n            clause. The 'not' property negates the operator such that not and == means\n            'not equal to' (or 'not in' for a list), and not > means <=, and not <\n            means >=, and not matches means does not match. The '==' operator SHOULD\n            NOT be used in a manner that describes an \"is a\" subclass relationship\n            for the parent QNode.\n          enum:\n          - ==\n          - '>'\n          - <\n          - matches\n          type: string\n        unit_id:\n          description: CURIE of the units of the value or list of values in the 'value'\n            property. The Units of Measurement Ontology (UO) should be used if possible.\n            The unit_id MUST be provided for (lists of) numerical values that correspond\n            to a quantity that has units.\n          example: UO:0000222\n          nullable: true\n        unit_name:\n          description: Term name that is associated with the CURIE of the units of\n            the value or list of values in the 'value' property. The Units of Measurement\n            Ontology (UO) SHOULD be used if possible. This property SHOULD be provided\n            if a unit_id is provided. This is redundant but recommended for human\n            readability.\n          example: kilodalton\n          nullable: true\n        value:\n          description: Value of the attribute. May be any data type, including a list.\n            If the value is a list and there are multiple items, at least one comparison\n            must be true (equivalent to OR). If 'value' is of data type 'object',\n            the keys of the object MAY be treated as a list. A 'list' data type paired\n            with the '>' or '<' operators will encode extraneous comparisons, but\n            this is permitted as it is in SQL and other languages.\n          example: 57.0\n      required:\n      - name\n      - id\n      - operator\n      - value\n      type: object\n    QueryGraph:\n      additionalProperties: true\n      description: A graph representing a biomedical question. It serves as a template\n        for each result (answer), where each bound knowledge graph node/edge is expected\n        to obey the constraints of the associated query graph element.\n      properties:\n        edges:\n          additionalProperties:\n            $ref: '#/components/schemas/QEdge'\n          description: The edge specifications. The keys of this map are unique edge\n            identifiers and the corresponding values include the constraints on bound\n            edges, in addition to specifying the subject and object QNodes.\n          type: object\n        nodes:\n          additionalProperties:\n            $ref: '#/components/schemas/QNode'\n          description: The node specifications. The keys of this map are unique node\n            identifiers and the corresponding values include the constraints on bound\n            nodes.\n          type: object\n      required:\n      - nodes\n      - edges\n      type: object\n    Response:\n      additionalProperties: true\n      description: The Response object contains the main payload when a TRAPI query\n        endpoint interprets and responds to the submitted query successfully (i.e.,\n        HTTP Status Code 200). The message property contains the knowledge of the\n        response (query graph, knowledge graph, and results). The status, description,\n        and logs properties provide additional details about the response.\n      properties:\n        description:\n          description: A brief human-readable description of the outcome\n          example: Success. 42 results found.\n          nullable: true\n          type: string\n        logs:\n          description: Log entries containing errors, warnings, debugging information,\n            etc\n          items:\n            $ref: '#/components/schemas/LogEntry'\n          nullable: true\n          type: array\n        message:\n          $ref: '#/components/schemas/Message'\n          description: Contains the knowledge of the response (query graph, knowledge\n            graph, and results).\n        status:\n          description: One of a standardized set of short codes, e.g. Success, QueryNotTraversable,\n            KPsNotAvailable\n          example: Success\n          nullable: true\n          type: string\n        workflow:\n          allOf:\n          - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          description: List of workflow steps that were executed.\n          nullable: true\n      required:\n      - message\n      type: object\n    Result:\n      additionalProperties: true\n      description: A Result object specifies the nodes and edges in the knowledge\n        graph that satisfy the structure or conditions of a user-submitted query graph.\n        It must contain a NodeBindings object (list of query graph node to knowledge\n        graph node mappings) and an EdgeBindings object (list of query graph edge\n        to knowledge graph edge mappings).\n      properties:\n        edge_bindings:\n          additionalProperties:\n            items:\n              $ref: '#/components/schemas/EdgeBinding'\n            type: array\n          description: The dictionary of Input Query Graph to Result Knowledge Graph\n            edge bindings where the dictionary keys are the key identifiers of the\n            Query Graph edges and the associated values of those keys are instances\n            of EdgeBinding schema type (see below). This value is an array of EdgeBindings\n            since a given query edge may resolve to multiple knowledge graph edges\n            in the result.\n          type: object\n        node_bindings:\n          additionalProperties:\n            items:\n              $ref: '#/components/schemas/NodeBinding'\n            type: array\n          description: The dictionary of Input Query Graph to Result Knowledge Graph\n            node bindings where the dictionary keys are the key identifiers of the\n            Query Graph nodes and the associated values of those keys are instances\n            of NodeBinding schema type (see below). This value is an array of NodeBindings\n            since a given query node may have multiple knowledge graph Node bindings\n            in the result.\n          type: object\n        score:\n          description: A numerical score associated with this result indicating the\n            relevance or confidence of this result relative to others in the returned\n            set. Higher MUST be better.\n          example: 163.233\n          format: float\n          nullable: true\n          type: number\n      required:\n      - node_bindings\n      - edge_bindings\n      type: object\n    SubAttribute:\n      additionalProperties: false\n      description: Second-level attribute that can be used to qualify information\n        contained in a primary Attribute attached to a Node or Edge.\n      properties:\n        attribute_source:\n          description: The source of the core assertion made by the key-value pair\n            of an attribute object. Use a CURIE or namespace designator for this resource\n            where possible.\n          example: UniProtKB\n          nullable: true\n          type: string\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: The 'key' of the attribute object, holding a CURIE of an ontology\n            property defining the attribute (preferably the CURIE of a Biolink association\n            slot). This property captures the relationship asserted to hold between\n            the value of the attribute, and the node or edge from  which it hangs.\n            For example, that a value of '0.000153' represents a p-value supporting\n            an edge, or that a value of 'ChEMBL' represents the original source of\n            the knowledge expressed in the edge.\n          example: Biolink:has_p-value_evidence, Biolink:has_original_source\n        description:\n          description: Human-readable description for the attribute and its value.\n          example: Assertion Authored By Dr. Trans L. Ator\n          nullable: true\n          type: string\n        original_attribute_name:\n          description: The term used by the original source of an attribute to describe\n            the meaning or significance of the value it captures. This may be a column\n            name in a source tsv file, or a key in a source json document for the\n            field in the data that held the attribute's value. Capturing this information  where\n            possible lets us preserve what the original source said. Note that the\n            data type is string' but the contents of the field could also be a CURIE\n            of a third party ontology term.\n          example: p-value\n          nullable: true\n          type: string\n        value:\n          description: Value of the attribute. May be any data type, including a list.\n          example: 0.000153\n        value_type_id:\n          allOf:\n          - $ref: '#/components/schemas/CURIE'\n          description: CURIE describing the semantic type of an  attribute's value.\n            Use a Biolink class if possible, otherwise a term from an external ontology.\n            If a suitable CURIE/identifier does not exist, enter a descriptive phrase\n            here and submit the new type for consideration by the appropriate authority.\n          example: EDAM:data_1187\n          nullable: true\n        value_url:\n          description: Human-consumable URL linking to a web document that provides\n            additional information about an  attribute's value (not the node or the\n            edge fom which it hangs).\n          example: https://pubmed.ncbi.nlm.nih.gov/32529952\n          nullable: true\n          type: string\n      required:\n      - attribute_type_id\n      - value\n      type: object\n"
  },
  {
    "path": "medikanren2/neo/neo-open-api/mediKanrenSmartAPI_1_5.json",
    "content": "{\n  \"openapi\": \"3.0.3\",\n  \"info\": {\n    \"contact\": {\n      \"email\": \"webyrd@gmail.com\",\n      \"name\": \"William E. Byrd\",\n      \"url\": \"https://github.com/webyrd\",\n      \"x-role\": \"responsible developer\"\n    },\n    \"description\": \"TRAPI 1.5 Endpoint for Team Unsecret Agent's mediKanren ARA\",\n    \"license\": {\n      \"name\": \"MIT License\",\n      \"url\": \"https://github.com/webyrd/mediKanren/blob/master/LICENSE\"\n    },\n    \"title\": \"mediKanren\",\n    \"version\": \"2.0 neo TRAPI 1.5\",\n    \"x-translator\": {\n      \"biolink-version\": \"3.1.2\",\n      \"component\": \"ARA\",\n      \"externalDocs\": {\n        \"description\": \"The values for component and team are restricted according to this external JSON schema. See schema and examples at url\",\n        \"url\": \"https://github.com/NCATSTranslator/translator_extensions/blob/\\\\ production/x-translator/\"\n      },\n      \"infores\": \"infores:unsecret-agent\",\n      \"team\": [\n        \"Unsecret Agent\"\n      ]\n    },\n    \"x-trapi\": {\n      \"asyncquery\": false,\n      \"batch_size_limit\": 500,\n      \"externalDocs\": {\n        \"description\": \"The values for version are restricted according to the regex in this external JSON schema. See schema and examples at url\",\n        \"url\": \"https://github.com/NCATSTranslator/translator_extensions/blob/\\\\ production/x-trapi/\"\n      },\n      \"operations\": [\n        \"lookup\"\n      ],\n      \"version\": \"1.5.0\"\n    }\n  },\n  \"servers\": [\n    {\n      \"description\": \"Team Unsecret Agent mediKanren 1.5 Production server\",\n      \"url\": \"https://medikanren-trapi.transltr.io\",\n      \"x-location\": \"ITRB\",\n      \"x-maturity\": \"production\"\n    },\n    {\n      \"description\": \"Team Unsecret Agent mediKanren 1.5 Test server\",\n      \"url\": \"https://medikanren-trapi.test.transltr.io\",\n      \"x-location\": \"ITRB\",\n      \"x-maturity\": \"testing\"\n    },\n    {\n      \"description\": \"Team Unsecret Agent mediKanren 1.5 CI server\",\n      \"url\": \"https://medikanren-trapi.ci.transltr.io\",\n      \"x-location\": \"ITRB\",\n      \"x-maturity\": \"staging\"\n    }\n  ],\n  \"externalDocs\": {\n    \"description\": \"Documentation for the NCATS Biomedical Translator Reasoners web services\",\n    \"url\": \"https://github.com/NCATSTranslator/ReasonerAPI\"\n  },\n  \"tags\": [\n    {\n      \"description\": \"Initiate a query and wait to receive the response\",\n      \"name\": \"query\"\n    },\n    {\n      \"description\": \"Required for SmartAPI validation of x-translator\",\n      \"name\": \"translator\"\n    },\n    {\n      \"description\": \"Required for SmartAPI validation of x-trapi\",\n      \"name\": \"trapi\"\n    }\n  ],\n  \"paths\": {\n    \"/query\": {\n      \"post\": {\n        \"description\": \"Query Team Unsecret Agent's mediKanren ARA API following the [NCATS Translator Reasoner Standard API](https://github.com/NCATSTranslator/ReasonerAPI).\",\n        \"operationId\": \"query\",\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"example\": \"{\\\"message\\\": {\\\"query_graph\\\": {\\\"nodes\\\": {\\\"n0\\\": {\\\"ids\\\": [\\\"MONDO:0004975\\\"], \\\"categories\\\": [\\\"biolink:Disease\\\"]}, \\\"n1\\\": {\\\"categories\\\":[\\\"biolink:ChemicalEntity\\\"]}}, \\\"edges\\\": {\\\"e0\\\": {\\\"subject\\\": \\\"n1\\\", \\\"object\\\": \\\"n0\\\", \\\"predicates\\\":[\\\"biolink:treats\\\"], \\\"knowledge_type\\\": \\\"inferred\\\"}}}}}\",\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/Query\"\n              }\n            }\n          },\n          \"description\": \"Query information to be submitted\",\n          \"required\": true\n        },\n        \"responses\": {\n          \"200\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Response\"\n                }\n              }\n            },\n            \"description\": \"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized.\"\n          },\n          \"400\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"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).\"\n          },\n          \"500\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"description\": \"Internal server error.\"\n          },\n          \"501\": {\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"description\": \"Not implemented.\"\n          }\n        },\n        \"summary\": \"Initiate a query and wait to receive a Response\",\n        \"tags\": [\n          \"query\"\n        ],\n        \"x-swagger-router-controller\": \"swagger_server.controllers.query_controller\"\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"AsyncQuery\": {\n        \"additionalProperties\": true,\n        \"description\": \"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.\",\n        \"properties\": {\n          \"callback\": {\n            \"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.\",\n            \"format\": \"uri\",\n            \"pattern\": \"^https?://\",\n            \"type\": \"string\"\n          },\n          \"log_level\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/LogLevel\"\n              }\n            ],\n            \"description\": \"The least critical level of logs to return\",\n            \"nullable\": true\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\",\n            \"description\": \"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.\"\n          },\n          \"workflow\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n              }\n            ],\n            \"description\": \"List of workflow steps to be executed.\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [\n          \"callback\",\n          \"message\"\n        ],\n        \"type\": \"object\",\n        \"x-body-name\": \"request_body\"\n      },\n      \"Attribute\": {\n        \"additionalProperties\": false,\n        \"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 a SubAttribute (for example to provide confidence intervals on a value).\",\n        \"properties\": {\n          \"attribute_source\": {\n            \"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.\",\n            \"example\": \"UniProtKB\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"attribute_type_id\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.\",\n            \"example\": \"Biolink:has_p-value_evidence, Biolink:has_original_source\"\n          },\n          \"attributes\": {\n            \"description\": \"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/SubAttribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"description\": {\n            \"description\": \"Human-readable description for the attribute and its value.\",\n            \"example\": \"Assertion Authored By Dr. Trans L. Ator\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"original_attribute_name\": {\n            \"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.\",\n            \"example\": \"p-value\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"Value of the attribute. May be any data type, including a list.\",\n            \"example\": 0.000153\n          },\n          \"value_type_id\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/CURIE\"\n              }\n            ],\n            \"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.\",\n            \"example\": \"EDAM:data_1187\",\n            \"nullable\": true\n          },\n          \"value_url\": {\n            \"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).\",\n            \"example\": \"https://pubmed.ncbi.nlm.nih.gov/32529952\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"attribute_type_id\",\n          \"value\"\n        ],\n        \"type\": \"object\"\n      },\n      \"BiolinkEntity\": {\n        \"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.\",\n        \"example\": \"biolink:PhenotypicFeature\",\n        \"externalDocs\": {\n          \"description\": \"Biolink model entities\",\n          \"url\": \"https://biolink.github.io/biolink-model/docs/NamedThing.html\"\n        },\n        \"pattern\": \"^biolink:[A-Z][a-zA-Z]*$\",\n        \"type\": \"string\"\n      },\n      \"BiolinkPredicate\": {\n        \"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.\",\n        \"example\": \"biolink:interacts_with\",\n        \"externalDocs\": {\n          \"description\": \"Biolink model predicates\",\n          \"url\": \"https://biolink.github.io/biolink-model/docs/related_to.html\"\n        },\n        \"pattern\": \"^biolink:[a-z][a-z_]*$\",\n        \"type\": \"string\"\n      },\n      \"CURIE\": {\n        \"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.\",\n        \"externalDocs\": {\n          \"url\": \"https://www.w3.org/TR/2010/NOTE-curie-20101216/\"\n        },\n        \"type\": \"string\"\n      },\n      \"Edge\": {\n        \"additionalProperties\": false,\n        \"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.\",\n        \"properties\": {\n          \"attributes\": {\n            \"description\": \"A list of additional attributes for this edge\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Attribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"object\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"Corresponds to the map key CURIE of the object concept node of this relationship edge.\",\n            \"example\": \"UniProtKB:P00738\"\n          },\n          \"predicate\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n              }\n            ],\n            \"nullable\": true\n          },\n          \"subject\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"Corresponds to the map key CURIE of the subject concept node of this relationship edge.\",\n            \"example\": \"OMIM:603903\"\n          }\n        },\n        \"required\": [\n          \"subject\",\n          \"object\"\n        ],\n        \"type\": \"object\"\n      },\n      \"EdgeBinding\": {\n        \"additionalProperties\": true,\n        \"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).\",\n        \"properties\": {\n          \"attributes\": {\n            \"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.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Attribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"id\": {\n            \"description\": \"The key identifier of a specific KnowledgeGraph Edge.\",\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"id\"\n        ],\n        \"type\": \"object\"\n      },\n      \"KnowledgeGraph\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"edges\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/Edge\"\n            },\n            \"description\": \"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.\",\n            \"type\": \"object\"\n          },\n          \"nodes\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/Node\"\n            },\n            \"description\": \"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.\",\n            \"type\": \"object\"\n          }\n        },\n        \"required\": [\n          \"nodes\",\n          \"edges\"\n        ],\n        \"type\": \"object\"\n      },\n      \"LogEntry\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"code\": {\n            \"description\": \"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"level\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/LogLevel\"\n              }\n            ],\n            \"nullable\": true\n          },\n          \"message\": {\n            \"description\": \"A human-readable log message\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"timestamp\": {\n            \"description\": \"Timestamp in ISO 8601 format\",\n            \"example\": \"2020-09-03T18:13:49+00:00\",\n            \"format\": \"date-time\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"LogLevel\": {\n        \"description\": \"Logging level\",\n        \"enum\": [\n          \"ERROR\",\n          \"WARNING\",\n          \"INFO\",\n          \"DEBUG\"\n        ],\n        \"type\": \"string\"\n      },\n      \"Message\": {\n        \"additionalProperties\": false,\n        \"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.\",\n        \"properties\": {\n          \"knowledge_graph\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/KnowledgeGraph\"\n              }\n            ],\n            \"description\": \"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message\",\n            \"nullable\": true\n          },\n          \"query_graph\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/QueryGraph\"\n              }\n            ],\n            \"description\": \"QueryGraph object that contains a serialization of a query in the form of a graph\",\n            \"nullable\": true\n          },\n          \"results\": {\n            \"description\": \"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property,\\n if present, MAY be used to infer result rankings.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Result\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"MetaAttribute\": {\n        \"properties\": {\n          \"attribute_source\": {\n            \"description\": \"Source of an attribute provided by this TRAPI web service.\",\n            \"example\": \"infores:chembl\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"attribute_type_id\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)\",\n            \"example\": \"biolink:p_value\"\n          },\n          \"constraint_name\": {\n            \"description\": \"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.\",\n            \"example\": \"p-value\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"constraint_use\": {\n            \"default\": false,\n            \"description\": \"Indicates whether this attribute can be used as a query constraint.\",\n            \"type\": \"boolean\"\n          },\n          \"original_attribute_names\": {\n            \"description\": \"Names of an the attribute as provided by the source.\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"minItems\": 1,\n            \"nullable\": true,\n            \"type\": \"array\"\n          }\n        },\n        \"required\": [\n          \"attribute_type_id\"\n        ],\n        \"type\": \"object\"\n      },\n      \"MetaEdge\": {\n        \"additionalProperties\": false,\n        \"description\": \"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.\",\n        \"properties\": {\n          \"attributes\": {\n            \"description\": \"Edge attributes provided by this TRAPI web service.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MetaAttribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"object\": {\n            \"$ref\": \"#/components/schemas/BiolinkEntity\",\n            \"description\": \"Object node category of this relationship edge.\",\n            \"example\": \"biolink:Protein\"\n          },\n          \"predicate\": {\n            \"$ref\": \"#/components/schemas/BiolinkPredicate\",\n            \"description\": \"Biolink relationship between the subject and object categories.\",\n            \"example\": \"biolink:affects\"\n          },\n          \"subject\": {\n            \"$ref\": \"#/components/schemas/BiolinkEntity\",\n            \"description\": \"Subject node category of this relationship edge.\",\n            \"example\": \"biolink:ChemicalSubstance\"\n          }\n        },\n        \"required\": [\n          \"subject\",\n          \"predicate\",\n          \"object\"\n        ],\n        \"type\": \"object\"\n      },\n      \"MetaKnowledgeGraph\": {\n        \"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.\",\n        \"properties\": {\n          \"edges\": {\n            \"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.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MetaEdge\"\n            },\n            \"type\": \"array\"\n          },\n          \"nodes\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/MetaNode\"\n            },\n            \"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.\",\n            \"type\": \"object\"\n          }\n        },\n        \"required\": [\n          \"nodes\",\n          \"edges\"\n        ],\n        \"type\": \"object\"\n      },\n      \"MetaNode\": {\n        \"additionalProperties\": false,\n        \"description\": \"Description of a node category provided by this TRAPI web service.\",\n        \"properties\": {\n          \"attributes\": {\n            \"description\": \"Node attributes provided by this TRAPI web service.\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/MetaAttribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"id_prefixes\": {\n            \"description\": \"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.\",\n            \"example\": [\n              \"CHEMBL.COMPOUND\",\n              \"INCHIKEY\"\n            ],\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"minItems\": 1,\n            \"type\": \"array\"\n          }\n        },\n        \"required\": [\n          \"id_prefixes\"\n        ],\n        \"type\": \"object\"\n      },\n      \"Node\": {\n        \"additionalProperties\": false,\n        \"description\": \"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.\",\n        \"properties\": {\n          \"attributes\": {\n            \"description\": \"A list of attributes describing the node\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/Attribute\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"categories\": {\n            \"items\": {\n              \"$ref\": \"#/components/schemas/BiolinkEntity\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"name\": {\n            \"description\": \"Formal name of the entity\",\n            \"example\": \"Haptoglobin\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"NodeBinding\": {\n        \"additionalProperties\": true,\n        \"properties\": {\n          \"id\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"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 (such annotation is not yet fully standardized).\"\n          }\n        },\n        \"required\": [\n          \"id\"\n        ],\n        \"type\": \"object\"\n      },\n      \"QEdge\": {\n        \"additionalProperties\": true,\n        \"description\": \"An edge in the QueryGraph used as an 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.\",\n        \"properties\": {\n          \"constraints\": {\n            \"default\": [],\n            \"description\": \"A list of contraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/QueryConstraint\"\n            },\n            \"type\": \"array\"\n          },\n          \"object\": {\n            \"description\": \"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.\",\n            \"example\": \"https://www.uniprot.org/uniprot/P00738\",\n            \"type\": \"string\"\n          },\n          \"predicates\": {\n            \"items\": {\n              \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n            },\n            \"minItems\": 1,\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"subject\": {\n            \"description\": \"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.\",\n            \"example\": \"https://omim.org/entry/603903\",\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"subject\",\n          \"object\"\n        ],\n        \"type\": \"object\"\n      },\n      \"QNode\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"categories\": {\n            \"items\": {\n              \"$ref\": \"#/components/schemas/BiolinkEntity\"\n            },\n            \"minItems\": 1,\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"constraints\": {\n            \"default\": [],\n            \"description\": \"A list of contraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/QueryConstraint\"\n            },\n            \"type\": \"array\"\n          },\n          \"ids\": {\n            \"description\": \"CURIE identifier for this node\",\n            \"example\": [\n              \"OMIM:603903\"\n            ],\n            \"items\": {\n              \"$ref\": \"#/components/schemas/CURIE\"\n            },\n            \"minItems\": 1,\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"is_set\": {\n            \"default\": false,\n            \"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.\",\n            \"type\": \"boolean\"\n          }\n        },\n        \"type\": \"object\"\n      },\n      \"Query\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"log_level\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/LogLevel\"\n              }\n            ],\n            \"description\": \"The least critical level of logs to return\",\n            \"nullable\": true\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\",\n            \"description\": \"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.\"\n          },\n          \"workflow\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n              }\n            ],\n            \"description\": \"List of workflow steps to be executed.\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [\n          \"message\"\n        ],\n        \"type\": \"object\",\n        \"x-body-name\": \"request_body\"\n      },\n      \"QueryConstraint\": {\n        \"additionalProperties\": false,\n        \"description\": \"Generic query constraint for a query node or query edge\",\n        \"properties\": {\n          \"id\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/CURIE\"\n              }\n            ],\n            \"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.\",\n            \"example\": \"EDAM:data_0844\"\n          },\n          \"name\": {\n            \"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.\",\n            \"example\": \"molecular mass\",\n            \"type\": \"string\"\n          },\n          \"not\": {\n            \"default\": false,\n            \"type\": \"boolean\"\n          },\n          \"operator\": {\n            \"description\": \"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is exactly 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. 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 >=, and not matches means does not match. The '==' operator SHOULD NOT be used in a manner that describes an \\\"is a\\\" subclass relationship for the parent QNode.\",\n            \"enum\": [\n              \"==\",\n              \">\",\n              \"<\",\n              \"matches\"\n            ],\n            \"type\": \"string\"\n          },\n          \"unit_id\": {\n            \"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.\",\n            \"example\": \"UO:0000222\",\n            \"nullable\": true\n          },\n          \"unit_name\": {\n            \"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.\",\n            \"example\": \"kilodalton\",\n            \"nullable\": true\n          },\n          \"value\": {\n            \"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). 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.\",\n            \"example\": 57\n          }\n        },\n        \"required\": [\n          \"name\",\n          \"id\",\n          \"operator\",\n          \"value\"\n        ],\n        \"type\": \"object\"\n      },\n      \"QueryGraph\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"edges\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/QEdge\"\n            },\n            \"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.\",\n            \"type\": \"object\"\n          },\n          \"nodes\": {\n            \"additionalProperties\": {\n              \"$ref\": \"#/components/schemas/QNode\"\n            },\n            \"description\": \"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.\",\n            \"type\": \"object\"\n          }\n        },\n        \"required\": [\n          \"nodes\",\n          \"edges\"\n        ],\n        \"type\": \"object\"\n      },\n      \"Response\": {\n        \"additionalProperties\": true,\n        \"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.\",\n        \"properties\": {\n          \"description\": {\n            \"description\": \"A brief human-readable description of the outcome\",\n            \"example\": \"Success. 42 results found.\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"logs\": {\n            \"description\": \"Log entries containing errors, warnings, debugging information, etc\",\n            \"items\": {\n              \"$ref\": \"#/components/schemas/LogEntry\"\n            },\n            \"nullable\": true,\n            \"type\": \"array\"\n          },\n          \"message\": {\n            \"$ref\": \"#/components/schemas/Message\",\n            \"description\": \"Contains the knowledge of the response (query graph, knowledge graph, and results).\"\n          },\n          \"status\": {\n            \"description\": \"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable\",\n            \"example\": \"Success\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"workflow\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n              }\n            ],\n            \"description\": \"List of workflow steps that were executed.\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [\n          \"message\"\n        ],\n        \"type\": \"object\"\n      },\n      \"Result\": {\n        \"additionalProperties\": true,\n        \"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).\",\n        \"properties\": {\n          \"edge_bindings\": {\n            \"additionalProperties\": {\n              \"items\": {\n                \"$ref\": \"#/components/schemas/EdgeBinding\"\n              },\n              \"type\": \"array\"\n            },\n            \"description\": \"The dictionary of Input Query Graph to Result 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 in the result.\",\n            \"type\": \"object\"\n          },\n          \"node_bindings\": {\n            \"additionalProperties\": {\n              \"items\": {\n                \"$ref\": \"#/components/schemas/NodeBinding\"\n              },\n              \"type\": \"array\"\n            },\n            \"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.\",\n            \"type\": \"object\"\n          },\n          \"score\": {\n            \"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.\",\n            \"example\": 163.233,\n            \"format\": \"float\",\n            \"nullable\": true,\n            \"type\": \"number\"\n          }\n        },\n        \"required\": [\n          \"node_bindings\",\n          \"edge_bindings\"\n        ],\n        \"type\": \"object\"\n      },\n      \"SubAttribute\": {\n        \"additionalProperties\": false,\n        \"description\": \"Second-level attribute that can be used to qualify information contained in a primary Attribute attached to a Node or Edge.\",\n        \"properties\": {\n          \"attribute_source\": {\n            \"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.\",\n            \"example\": \"UniProtKB\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"attribute_type_id\": {\n            \"$ref\": \"#/components/schemas/CURIE\",\n            \"description\": \"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.\",\n            \"example\": \"Biolink:has_p-value_evidence, Biolink:has_original_source\"\n          },\n          \"description\": {\n            \"description\": \"Human-readable description for the attribute and its value.\",\n            \"example\": \"Assertion Authored By Dr. Trans L. Ator\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"original_attribute_name\": {\n            \"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.\",\n            \"example\": \"p-value\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          },\n          \"value\": {\n            \"description\": \"Value of the attribute. May be any data type, including a list.\",\n            \"example\": 0.000153\n          },\n          \"value_type_id\": {\n            \"allOf\": [\n              {\n                \"$ref\": \"#/components/schemas/CURIE\"\n              }\n            ],\n            \"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.\",\n            \"example\": \"EDAM:data_1187\",\n            \"nullable\": true\n          },\n          \"value_url\": {\n            \"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).\",\n            \"example\": \"https://pubmed.ncbi.nlm.nih.gov/32529952\",\n            \"nullable\": true,\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\n          \"attribute_type_id\",\n          \"value\"\n        ],\n        \"type\": \"object\"\n      }\n    }\n  }\n}"
  },
  {
    "path": "medikanren2/neo/neo-open-api/mediKanrenSmartAPI_1_5.yaml",
    "content": "openapi: 3.0.3\ninfo:\n  contact:\n    email: webyrd@gmail.com\n    name: William E. Byrd\n    url: https://github.com/webyrd\n    x-role: responsible developer\n  description: TRAPI 1.5 Endpoint for Team Unsecret Agent's mediKanren ARA\n  license:\n    name: MIT License\n    url: https://github.com/webyrd/mediKanren/blob/master/LICENSE\n  title: mediKanren\n  version: '2.0 neo TRAPI 1.5'\n  x-translator:\n    biolink-version: 3.1.2\n    component: ARA\n    externalDocs:\n      description: The values for component and team are restricted according to this\n        external JSON schema. See schema and examples at url\n      url: https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-translator/    \n    infores: infores:unsecret-agent\n    team:\n    - Unsecret Agent\n  x-trapi:\n    asyncquery: false\n    batch_size_limit: 500\n    externalDocs:\n      description: The values for version are restricted according to the regex in\n        this external JSON schema. See schema and examples at url\n      url: https://github.com/NCATSTranslator/translator_extensions/blob/\\ production/x-trapi/    \n    operations:\n    - lookup\n    version: 1.5.0\nservers:\n- description: Team Unsecret Agent mediKanren 1.5 Production server\n  url: https://medikanren-trapi.transltr.io\n  x-location: ITRB\n  x-maturity: production\n- description: Team Unsecret Agent mediKanren 1.5 Test server\n  url: https://medikanren-trapi.test.transltr.io\n  x-location: ITRB\n  x-maturity: testing\n- description: Team Unsecret Agent mediKanren 1.5 CI server\n  url: https://medikanren-trapi.ci.transltr.io\n  x-location: ITRB\n  x-maturity: staging\nexternalDocs:\n  description: Documentation for the NCATS Biomedical Translator Reasoners web services\n  url: https://github.com/NCATSTranslator/ReasonerAPI\ntags:\n- description: Initiate a query and wait to receive the response\n  name: query\n- description: Required for SmartAPI validation of x-translator\n  name: translator\n- description: Required for SmartAPI validation of x-trapi\n  name: trapi\npaths:\n  /query:\n    post:\n      description: \"Query Team Unsecret Agent's mediKanren ARA API following the [NCATS Translator Reasoner Standard API](https://github.com/NCATSTranslator/ReasonerAPI).\"\n      operationId: query\n      requestBody:\n        content:\n          application/json:\n            example: \"{\\\"message\\\": {\\\"query_graph\\\": {\\\"nodes\\\": {\\\"n0\\\": {\\\"ids\\\": [\\\"MONDO:0004975\\\"], \\\"categories\\\": [\\\"biolink:Disease\\\"]}, \\\"n1\\\": {\\\"categories\\\":[\\\"biolink:ChemicalEntity\\\"]}}, \\\"edges\\\": {\\\"e0\\\": {\\\"subject\\\": \\\"n1\\\", \\\"object\\\": \\\"n0\\\", \\\"predicates\\\":[\\\"biolink:treats\\\"], \\\"knowledge_type\\\": \\\"inferred\\\"}}}}}\"\n            schema:\n              $ref: '#/components/schemas/Query'\n        description: Query information to be submitted\n        required: true\n      responses:\n        '200':\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Response'\n          description: OK. There may or may not be results. Note that some of the\n            provided identifiers may not have been recognized.\n        '400':\n          content:\n            application/json:\n              schema:\n                type: string\n          description: Bad request. The request is invalid according to this OpenAPI\n            schema OR a specific identifier is believed to be invalid somehow (not\n            just unrecognized).\n        '500':\n          content:\n            application/json:\n              schema:\n                type: string\n          description: Internal server error.\n        '501':\n          content:\n            application/json:\n              schema:\n                type: string\n          description: Not implemented.\n      summary: Initiate a query and wait to receive a Response\n      tags:\n      - query\n      x-swagger-router-controller: swagger_server.controllers.query_controller\ncomponents:\n  schemas:\n    AsyncQuery:\n      additionalProperties: true\n      description: The AsyncQuery class is effectively the same as the Query class\n        but it requires a callback property.\n      properties:\n        callback:\n          description: 'Upon completion, this server will send a POST request to the\n            callback URL with `Content-Type: application/json` header and request\n            body containing a JSON-encoded `Response` object. The server MAY POST\n            `Response` objects before work is fully complete to provide interim results\n            with a Response.status value of ''Running''. If a POST operation to the\n            callback URL does not succeed, the server SHOULD retry the POST at least\n            once.'\n          format: uri\n          pattern: ^https?://\n          type: string\n        log_level:\n          allOf:\n          - $ref: '#/components/schemas/LogLevel'\n          description: The least critical level of logs to return\n          nullable: true\n        message:\n          $ref: '#/components/schemas/Message'\n          description: The query Message is a serialization of the user request. Content\n            of the Message object depends on the intended TRAPI operation. For example,\n            the fill operation requires a non-empty query_graph field as part of the\n            Message, whereas other operations, e.g. overlay, require non-empty results\n            and knowledge_graph fields.\n        workflow:\n          allOf:\n          - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          description: List of workflow steps to be executed.\n          nullable: true\n      required:\n      - callback\n      - message\n      type: object\n      x-body-name: request_body\n    Attribute:\n      additionalProperties: false\n      description: Generic attribute for a node or an edge that expands the key-value\n        pair concept by including fields for additional metadata. These fields can\n        be used to describe the source of the statement made in a key-value pair of\n        the attribute object, or describe the attribute's value itself including its\n        semantic type, or a url providing additional information about it. An attribute\n        may be further qualified with a SubAttribute (for example to provide confidence\n        intervals on a value).\n      properties:\n        attribute_source:\n          description: The source of the core assertion made by the key-value pair\n            of an attribute object. Use a CURIE or namespace designator for this resource\n            where possible.\n          example: UniProtKB\n          nullable: true\n          type: string\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: The 'key' of the attribute object, holding a CURIE of an ontology\n            property defining the attribute (preferably the CURIE of a Biolink association\n            slot). This property captures the relationship asserted to hold between\n            the value of the attribute, and the node or edge from  which it hangs.\n            For example, that a value of '0.000153' represents a p-value supporting\n            an edge, or that a value of 'ChEMBL' represents the original source of\n            the knowledge expressed in the edge.\n          example: Biolink:has_p-value_evidence, Biolink:has_original_source\n        attributes:\n          description: A list of attributes providing further information about the\n            parent attribute (for example to provide provenance information about\n            the parent attribute).\n          items:\n            $ref: '#/components/schemas/SubAttribute'\n          nullable: true\n          type: array\n        description:\n          description: Human-readable description for the attribute and its value.\n          example: Assertion Authored By Dr. Trans L. Ator\n          nullable: true\n          type: string\n        original_attribute_name:\n          description: The term used by the original source of an attribute to describe\n            the meaning or significance of the value it captures. This may be a column\n            name in a source tsv file, or a key in a source json document for the\n            field in the data that held the attribute's value. Capturing this information  where\n            possible lets us preserve what the original source said. Note that the\n            data type is string' but the contents of the field could also be a CURIE\n            of a third party ontology term.\n          example: p-value\n          nullable: true\n          type: string\n        value:\n          description: Value of the attribute. May be any data type, including a list.\n          example: 0.000153\n        value_type_id:\n          allOf:\n          - $ref: '#/components/schemas/CURIE'\n          description: CURIE describing the semantic type of an  attribute's value.\n            Use a Biolink class if possible, otherwise a term from an external ontology.\n            If a suitable CURIE/identifier does not exist, enter a descriptive phrase\n            here and submit the new type for consideration by the appropriate authority.\n          example: EDAM:data_1187\n          nullable: true\n        value_url:\n          description: Human-consumable URL linking to a web document that provides\n            additional information about an  attribute's value (not the node or the\n            edge fom which it hangs).\n          example: https://pubmed.ncbi.nlm.nih.gov/32529952\n          nullable: true\n          type: string\n      required:\n      - attribute_type_id\n      - value\n      type: object\n    BiolinkEntity:\n      description: Compact URI (CURIE) for a Biolink class, biolink:NamedThing or\n        a child thereof. The CURIE must use the prefix 'biolink:' followed by the\n        PascalCase class name.\n      example: biolink:PhenotypicFeature\n      externalDocs:\n        description: Biolink model entities\n        url: https://biolink.github.io/biolink-model/docs/NamedThing.html\n      pattern: ^biolink:[A-Z][a-zA-Z]*$\n      type: string\n    BiolinkPredicate:\n      description: CURIE for a Biolink 'predicate' slot, taken from the Biolink slot\n        ('is_a') hierarchy rooted in biolink:related_to (snake_case). This predicate\n        defines the Biolink relationship between the subject and object nodes of a\n        biolink:Association defining a knowledge graph edge.\n      example: biolink:interacts_with\n      externalDocs:\n        description: Biolink model predicates\n        url: https://biolink.github.io/biolink-model/docs/related_to.html\n      pattern: ^biolink:[a-z][a-z_]*$\n      type: string\n    CURIE:\n      description: A Compact URI, consisting of a prefix and a reference separated\n        by a colon, such as UniProtKB:P00738. Via an external context definition,\n        the CURIE prefix and colon may be replaced by a URI prefix, such as http://identifiers.org/uniprot/,\n        to form a full URI.\n      externalDocs:\n        url: https://www.w3.org/TR/2010/NOTE-curie-20101216/\n      type: string\n    Edge:\n      additionalProperties: false\n      description: A specification of the semantic relationship linking two concepts\n        that are expressed as nodes in the knowledge \"thought\" graph resulting from\n        a query upon the underlying knowledge source.\n      properties:\n        attributes:\n          description: A list of additional attributes for this edge\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n          type: array\n        object:\n          $ref: '#/components/schemas/CURIE'\n          description: Corresponds to the map key CURIE of the object concept node\n            of this relationship edge.\n          example: UniProtKB:P00738\n        predicate:\n          allOf:\n          - $ref: '#/components/schemas/BiolinkPredicate'\n          nullable: true\n        subject:\n          $ref: '#/components/schemas/CURIE'\n          description: Corresponds to the map key CURIE of the subject concept node\n            of this relationship edge.\n          example: OMIM:603903\n      required:\n      - subject\n      - object\n      type: object\n    EdgeBinding:\n      additionalProperties: true\n      description: A instance of EdgeBinding is a single KnowledgeGraph Edge mapping,\n        identified by the corresponding 'id' object key identifier of the Edge within\n        the Knowledge Graph. Instances of EdgeBinding may include extra annotation\n        (such annotation is not yet fully standardized).\n      properties:\n        attributes:\n          description: A list of attributes providing further information about the\n            edge binding. This is not intended for capturing edge attributes and should\n            only be used for properties that vary from result to result.\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n          type: array\n        id:\n          description: The key identifier of a specific KnowledgeGraph Edge.\n          type: string\n      required:\n      - id\n      type: object\n    KnowledgeGraph:\n      additionalProperties: true\n      description: The knowledge graph associated with a set of results. The instances\n        of Node and Edge defining this graph represent instances of biolink:NamedThing\n        (concept nodes) and biolink:Association (relationship edges) representing\n        (Attribute) annotated knowledge returned from the knowledge sources and inference\n        agents wrapped by the given TRAPI implementation.\n      properties:\n        edges:\n          additionalProperties:\n            $ref: '#/components/schemas/Edge'\n          description: Dictionary of Edge instances used in the KnowledgeGraph, referenced\n            elsewhere in the TRAPI output by the dictionary key.\n          type: object\n        nodes:\n          additionalProperties:\n            $ref: '#/components/schemas/Node'\n          description: Dictionary of Node instances used in the KnowledgeGraph, referenced\n            elsewhere in the TRAPI output by the dictionary key.\n          type: object\n      required:\n      - nodes\n      - edges\n      type: object\n    LogEntry:\n      additionalProperties: true\n      description: The LogEntry object contains information useful for tracing and\n        debugging across Translator components.  Although an individual component\n        (for example, an ARA or KP) may have its own logging and debugging infrastructure,\n        this internal information is not, in general, available to other components.\n        In addition to a timestamp and logging level, LogEntry includes a string intended\n        to be read by a human, along with one of a standardized set of codes describing\n        the condition of the component sending the message.\n      properties:\n        code:\n          description: One of a standardized set of short codes e.g. QueryNotTraversable,\n            KPNotAvailable, KPResponseMalformed\n          nullable: true\n          type: string\n        level:\n          allOf:\n          - $ref: '#/components/schemas/LogLevel'\n          nullable: true\n        message:\n          description: A human-readable log message\n          nullable: true\n          type: string\n        timestamp:\n          description: Timestamp in ISO 8601 format\n          example: '2020-09-03T18:13:49+00:00'\n          format: date-time\n          nullable: true\n          type: string\n      type: object\n    LogLevel:\n      description: Logging level\n      enum:\n      - ERROR\n      - WARNING\n      - INFO\n      - DEBUG\n      type: string\n    Message:\n      additionalProperties: false\n      description: 'The message object holds the main content of a Query or a Response\n        in three properties: query_graph, results, and knowledge_graph. The query_graph\n        property contains the query configuration, the results property contains any\n        answers that are returned by the service, and knowledge_graph property contains\n        lists of edges and nodes in the thought graph corresponding to this message.\n        The content of these properties is context-dependent to the encompassing object\n        and the TRAPI operation requested.'\n      properties:\n        knowledge_graph:\n          allOf:\n          - $ref: '#/components/schemas/KnowledgeGraph'\n          description: KnowledgeGraph object that contains lists of nodes and edges\n            in the thought graph corresponding to the message\n          nullable: true\n        query_graph:\n          allOf:\n          - $ref: '#/components/schemas/QueryGraph'\n          description: QueryGraph object that contains a serialization of a query\n            in the form of a graph\n          nullable: true\n        results:\n          description: \"List of all returned Result objects for the query posed. The\\\n            \\ list SHOULD NOT be assumed to be ordered. The 'score' property,\\n if\\\n            \\ present, MAY be used to infer result rankings.\"\n          items:\n            $ref: '#/components/schemas/Result'\n          nullable: true\n          type: array\n      type: object\n    MetaAttribute:\n      properties:\n        attribute_source:\n          description: Source of an attribute provided by this TRAPI web service.\n          example: infores:chembl\n          nullable: true\n          type: string\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: Type of an attribute provided by this TRAPI web service (preferably\n            the CURIE of a Biolink association slot)\n          example: biolink:p_value\n        constraint_name:\n          description: Human-readable name or label for the constraint concept. Required\n            whenever constraint_use is true.\n          example: p-value\n          nullable: true\n          type: string\n        constraint_use:\n          default: false\n          description: Indicates whether this attribute can be used as a query constraint.\n          type: boolean\n        original_attribute_names:\n          description: Names of an the attribute as provided by the source.\n          items:\n            type: string\n          minItems: 1\n          nullable: true\n          type: array\n      required:\n      - attribute_type_id\n      type: object\n    MetaEdge:\n      additionalProperties: false\n      description: Edge in a meta knowledge map describing relationship between a\n        subject Biolink class and an object Biolink class.\n      properties:\n        attributes:\n          description: Edge attributes provided by this TRAPI web service.\n          items:\n            $ref: '#/components/schemas/MetaAttribute'\n          nullable: true\n          type: array\n        object:\n          $ref: '#/components/schemas/BiolinkEntity'\n          description: Object node category of this relationship edge.\n          example: biolink:Protein\n        predicate:\n          $ref: '#/components/schemas/BiolinkPredicate'\n          description: Biolink relationship between the subject and object categories.\n          example: biolink:affects\n        subject:\n          $ref: '#/components/schemas/BiolinkEntity'\n          description: Subject node category of this relationship edge.\n          example: biolink:ChemicalSubstance\n      required:\n      - subject\n      - predicate\n      - object\n      type: object\n    MetaKnowledgeGraph:\n      description: Knowledge-map representation of this TRAPI web service. The meta\n        knowledge graph is composed of the union of most specific categories and predicates\n        for each node and edge.\n      properties:\n        edges:\n          description: List of the most specific edges/predicates provided by this\n            TRAPI web service. A predicate is only exposed here if there is an edge\n            for which the predicate is the most specific available.\n          items:\n            $ref: '#/components/schemas/MetaEdge'\n          type: array\n        nodes:\n          additionalProperties:\n            $ref: '#/components/schemas/MetaNode'\n          description: Collection of the most specific node categories provided by\n            this TRAPI web service, indexed by Biolink class CURIEs. A node category\n            is only exposed here if there is node for which that is the most specific\n            category available.\n          type: object\n      required:\n      - nodes\n      - edges\n      type: object\n    MetaNode:\n      additionalProperties: false\n      description: Description of a node category provided by this TRAPI web service.\n      properties:\n        attributes:\n          description: Node attributes provided by this TRAPI web service.\n          items:\n            $ref: '#/components/schemas/MetaAttribute'\n          nullable: true\n          type: array\n        id_prefixes:\n          description: List of CURIE prefixes for the node category that this TRAPI\n            web service understands and accepts on the input.\n          example:\n          - CHEMBL.COMPOUND\n          - INCHIKEY\n          items:\n            type: string\n          minItems: 1\n          type: array\n      required:\n      - id_prefixes\n      type: object\n    Node:\n      additionalProperties: false\n      description: A node in the KnowledgeGraph which represents some biomedical concept.\n        Nodes are identified by the keys in the KnowledgeGraph Node mapping.\n      properties:\n        attributes:\n          description: A list of attributes describing the node\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n          type: array\n        categories:\n          items:\n            $ref: '#/components/schemas/BiolinkEntity'\n          nullable: true\n          type: array\n        name:\n          description: Formal name of the entity\n          example: Haptoglobin\n          nullable: true\n          type: string\n      type: object\n    NodeBinding:\n      additionalProperties: true\n      properties:\n        id:\n          $ref: '#/components/schemas/CURIE'\n          description: An instance of NodeBinding is a single KnowledgeGraph Node\n            mapping, identified by the corresponding 'id' object key identifier of\n            the Node within the Knowledge Graph. Instances of NodeBinding may include\n            extra annotation (such annotation is not yet fully standardized).\n      required:\n      - id\n      type: object\n    QEdge:\n      additionalProperties: true\n      description: An edge in the QueryGraph used as an filter pattern specification\n        in a query. If the optional predicate property is not specified, it is assumed\n        to be a wildcard match to the target knowledge space. If specified, the ontological\n        inheritance hierarchy associated with the term provided is assumed, such that\n        edge bindings returned may be an exact match to the given QEdge predicate\n        term, or to a term that is a descendant of the QEdge predicate term.\n      properties:\n        constraints:\n          default: []\n          description: A list of contraints applied to a query edge. If there are\n            multiple items, they must all be true (equivalent to AND)\n          items:\n            $ref: '#/components/schemas/QueryConstraint'\n          type: array\n        object:\n          description: Corresponds to the map key identifier of the object concept\n            node anchoring the query filter pattern for the query relationship edge.\n          example: https://www.uniprot.org/uniprot/P00738\n          type: string\n        predicates:\n          items:\n            $ref: '#/components/schemas/BiolinkPredicate'\n          minItems: 1\n          nullable: true\n          type: array\n        subject:\n          description: Corresponds to the map key identifier of the subject concept\n            node anchoring the query filter pattern for the query relationship edge.\n          example: https://omim.org/entry/603903\n          type: string\n      required:\n      - subject\n      - object\n      type: object\n    QNode:\n      additionalProperties: true\n      description: A node in the QueryGraph used to represent an entity in a query.\n        If a CURIE is not specified, any nodes matching the category of the QNode\n        will be returned in the Results.\n      properties:\n        categories:\n          items:\n            $ref: '#/components/schemas/BiolinkEntity'\n          minItems: 1\n          nullable: true\n          type: array\n        constraints:\n          default: []\n          description: A list of contraints applied to a query node. If there are\n            multiple items, they must all be true (equivalent to AND)\n          items:\n            $ref: '#/components/schemas/QueryConstraint'\n          type: array\n        ids:\n          description: CURIE identifier for this node\n          example:\n          - OMIM:603903\n          items:\n            $ref: '#/components/schemas/CURIE'\n          minItems: 1\n          nullable: true\n          type: array\n        is_set:\n          default: false\n          description: Boolean that if set to true, indicates that this QNode MAY\n            have multiple KnowledgeGraph Nodes bound to it within each Result. The\n            nodes in a set should be considered as a set of independent nodes, rather\n            than a set of dependent nodes, i.e., the answer would still be valid if\n            the nodes in the set were instead returned individually. Multiple QNodes\n            may have is_set=True. If a QNode (n1) with is_set=True is connected to\n            a QNode (n2) with is_set=False, each n1 must be connected to n2. If a\n            QNode (n1) with is_set=True is connected to a QNode (n2) with is_set=True,\n            each n1 must be connected to at least one n2.\n          type: boolean\n      type: object\n    Query:\n      additionalProperties: true\n      description: The Query class is used to package a user request for information.\n        A Query object consists of a required Message object with optional additional\n        properties. Additional properties are intended to convey implementation-specific\n        or query-independent parameters. For example, an additional property specifying\n        a log level could allow a user to override the default log level in order\n        to receive more fine-grained log information when debugging an issue.\n      properties:\n        log_level:\n          allOf:\n          - $ref: '#/components/schemas/LogLevel'\n          description: The least critical level of logs to return\n          nullable: true\n        message:\n          $ref: '#/components/schemas/Message'\n          description: The query Message is a serialization of the user request. Content\n            of the Message object depends on the intended TRAPI operation. For example,\n            the fill operation requires a non-empty query_graph field as part of the\n            Message, whereas other operations, e.g. overlay, require non-empty results\n            and knowledge_graph fields.\n        workflow:\n          allOf:\n          - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          description: List of workflow steps to be executed.\n          nullable: true\n      required:\n      - message\n      type: object\n      x-body-name: request_body\n    QueryConstraint:\n      additionalProperties: false\n      description: Generic query constraint for a query node or query edge\n      properties:\n        id:\n          allOf:\n          - $ref: '#/components/schemas/CURIE'\n          description: CURIE of the concept being constrained. For properties defined\n            by the Biolink model this SHOULD be a biolink CURIE. otherwise, if possible,\n            from the EDAM ontology. If a suitable CURIE does not exist, enter a descriptive\n            phrase here and submit the new type for consideration by the appropriate\n            authority.\n          example: EDAM:data_0844\n        name:\n          description: Human-readable name or label for the constraint concept. If\n            appropriate, it SHOULD be the term name of the CURIE used as the 'id'.\n            This is redundant but required for human readability.\n          example: molecular mass\n          type: string\n        not:\n          default: false\n          type: boolean\n        operator:\n          description: Relationship between the database value and the constraint\n            value for the specified id. The operators ==, >, and < mean is exactly\n            equal to, is greater than, and is less than, respectively. The 'matches'\n            operator indicates that the value is a regular expression to be evaluated.\n            If value is a list type, then at least one evaluation must be true (equivalent\n            to OR). This means that the == operator with a list acts like a SQL 'IN'\n            clause. The 'not' property negates the operator such that not and == means\n            'not equal to' (or 'not in' for a list), and not > means <=, and not <\n            means >=, and not matches means does not match. The '==' operator SHOULD\n            NOT be used in a manner that describes an \"is a\" subclass relationship\n            for the parent QNode.\n          enum:\n          - ==\n          - '>'\n          - <\n          - matches\n          type: string\n        unit_id:\n          description: CURIE of the units of the value or list of values in the 'value'\n            property. The Units of Measurement Ontology (UO) should be used if possible.\n            The unit_id MUST be provided for (lists of) numerical values that correspond\n            to a quantity that has units.\n          example: UO:0000222\n          nullable: true\n        unit_name:\n          description: Term name that is associated with the CURIE of the units of\n            the value or list of values in the 'value' property. The Units of Measurement\n            Ontology (UO) SHOULD be used if possible. This property SHOULD be provided\n            if a unit_id is provided. This is redundant but recommended for human\n            readability.\n          example: kilodalton\n          nullable: true\n        value:\n          description: Value of the attribute. May be any data type, including a list.\n            If the value is a list and there are multiple items, at least one comparison\n            must be true (equivalent to OR). If 'value' is of data type 'object',\n            the keys of the object MAY be treated as a list. A 'list' data type paired\n            with the '>' or '<' operators will encode extraneous comparisons, but\n            this is permitted as it is in SQL and other languages.\n          example: 57.0\n      required:\n      - name\n      - id\n      - operator\n      - value\n      type: object\n    QueryGraph:\n      additionalProperties: true\n      description: A graph representing a biomedical question. It serves as a template\n        for each result (answer), where each bound knowledge graph node/edge is expected\n        to obey the constraints of the associated query graph element.\n      properties:\n        edges:\n          additionalProperties:\n            $ref: '#/components/schemas/QEdge'\n          description: The edge specifications. The keys of this map are unique edge\n            identifiers and the corresponding values include the constraints on bound\n            edges, in addition to specifying the subject and object QNodes.\n          type: object\n        nodes:\n          additionalProperties:\n            $ref: '#/components/schemas/QNode'\n          description: The node specifications. The keys of this map are unique node\n            identifiers and the corresponding values include the constraints on bound\n            nodes.\n          type: object\n      required:\n      - nodes\n      - edges\n      type: object\n    Response:\n      additionalProperties: true\n      description: The Response object contains the main payload when a TRAPI query\n        endpoint interprets and responds to the submitted query successfully (i.e.,\n        HTTP Status Code 200). The message property contains the knowledge of the\n        response (query graph, knowledge graph, and results). The status, description,\n        and logs properties provide additional details about the response.\n      properties:\n        description:\n          description: A brief human-readable description of the outcome\n          example: Success. 42 results found.\n          nullable: true\n          type: string\n        logs:\n          description: Log entries containing errors, warnings, debugging information,\n            etc\n          items:\n            $ref: '#/components/schemas/LogEntry'\n          nullable: true\n          type: array\n        message:\n          $ref: '#/components/schemas/Message'\n          description: Contains the knowledge of the response (query graph, knowledge\n            graph, and results).\n        status:\n          description: One of a standardized set of short codes, e.g. Success, QueryNotTraversable,\n            KPsNotAvailable\n          example: Success\n          nullable: true\n          type: string\n        workflow:\n          allOf:\n          - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          description: List of workflow steps that were executed.\n          nullable: true\n      required:\n      - message\n      type: object\n    Result:\n      additionalProperties: true\n      description: A Result object specifies the nodes and edges in the knowledge\n        graph that satisfy the structure or conditions of a user-submitted query graph.\n        It must contain a NodeBindings object (list of query graph node to knowledge\n        graph node mappings) and an EdgeBindings object (list of query graph edge\n        to knowledge graph edge mappings).\n      properties:\n        edge_bindings:\n          additionalProperties:\n            items:\n              $ref: '#/components/schemas/EdgeBinding'\n            type: array\n          description: The dictionary of Input Query Graph to Result Knowledge Graph\n            edge bindings where the dictionary keys are the key identifiers of the\n            Query Graph edges and the associated values of those keys are instances\n            of EdgeBinding schema type (see below). This value is an array of EdgeBindings\n            since a given query edge may resolve to multiple knowledge graph edges\n            in the result.\n          type: object\n        node_bindings:\n          additionalProperties:\n            items:\n              $ref: '#/components/schemas/NodeBinding'\n            type: array\n          description: The dictionary of Input Query Graph to Result Knowledge Graph\n            node bindings where the dictionary keys are the key identifiers of the\n            Query Graph nodes and the associated values of those keys are instances\n            of NodeBinding schema type (see below). This value is an array of NodeBindings\n            since a given query node may have multiple knowledge graph Node bindings\n            in the result.\n          type: object\n        score:\n          description: A numerical score associated with this result indicating the\n            relevance or confidence of this result relative to others in the returned\n            set. Higher MUST be better.\n          example: 163.233\n          format: float\n          nullable: true\n          type: number\n      required:\n      - node_bindings\n      - edge_bindings\n      type: object\n    SubAttribute:\n      additionalProperties: false\n      description: Second-level attribute that can be used to qualify information\n        contained in a primary Attribute attached to a Node or Edge.\n      properties:\n        attribute_source:\n          description: The source of the core assertion made by the key-value pair\n            of an attribute object. Use a CURIE or namespace designator for this resource\n            where possible.\n          example: UniProtKB\n          nullable: true\n          type: string\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: The 'key' of the attribute object, holding a CURIE of an ontology\n            property defining the attribute (preferably the CURIE of a Biolink association\n            slot). This property captures the relationship asserted to hold between\n            the value of the attribute, and the node or edge from  which it hangs.\n            For example, that a value of '0.000153' represents a p-value supporting\n            an edge, or that a value of 'ChEMBL' represents the original source of\n            the knowledge expressed in the edge.\n          example: Biolink:has_p-value_evidence, Biolink:has_original_source\n        description:\n          description: Human-readable description for the attribute and its value.\n          example: Assertion Authored By Dr. Trans L. Ator\n          nullable: true\n          type: string\n        original_attribute_name:\n          description: The term used by the original source of an attribute to describe\n            the meaning or significance of the value it captures. This may be a column\n            name in a source tsv file, or a key in a source json document for the\n            field in the data that held the attribute's value. Capturing this information  where\n            possible lets us preserve what the original source said. Note that the\n            data type is string' but the contents of the field could also be a CURIE\n            of a third party ontology term.\n          example: p-value\n          nullable: true\n          type: string\n        value:\n          description: Value of the attribute. May be any data type, including a list.\n          example: 0.000153\n        value_type_id:\n          allOf:\n          - $ref: '#/components/schemas/CURIE'\n          description: CURIE describing the semantic type of an  attribute's value.\n            Use a Biolink class if possible, otherwise a term from an external ontology.\n            If a suitable CURIE/identifier does not exist, enter a descriptive phrase\n            here and submit the new type for consideration by the appropriate authority.\n          example: EDAM:data_1187\n          nullable: true\n        value_url:\n          description: Human-consumable URL linking to a web document that provides\n            additional information about an  attribute's value (not the node or the\n            edge fom which it hangs).\n          example: https://pubmed.ncbi.nlm.nih.gov/32529952\n          nullable: true\n          type: string\n      required:\n      - attribute_type_id\n      - value\n      type: object\n"
  },
  {
    "path": "medikanren2/neo/neo-open-api/neo-api-query.rkt",
    "content": "#lang racket\n(provide\n ;;\n api-query\n path.query\n ;;\n url.genetics.prod\n url.genetics.test\n url.genetics.ci\n ;;\n )\n(require\n json\n net/url)\n\n(define url.genetics.prod\n  \"https://genetics-kp.transltr.io/genetics_provider/trapi/v1.3\")\n(define url.genetics.test\n  \"https://genetics-kp.test.transltr.io/genetics_provider/trapi/v1.3\")\n(define url.genetics.ci\n  \"https://genetics-kp.ci.transltr.io/genetics_provider/trapi/v1.3\")\n\n(define path.query\n  \"/query\")\n\n\n(define (api-query url-string (optional-post-jsexpr (void)))\n  (printf \"##### making api-query call to url:\\n~s\\n\" url-string) \n  (define-values (status headers in)\n    (time (if (void? optional-post-jsexpr)\n              (http-sendrecv/url\n               (string->url url-string)\n               #:method \"GET\")\n              (http-sendrecv/url\n               (string->url url-string)\n               #:method \"POST\"\n               #:data (jsexpr->string optional-post-jsexpr)\n               #:headers '(\"Content-Type: application/json; charset=utf-8\")))))\n  (define response-string (time (port->string in)))\n  (printf \"status:\\n~s\\n\" status)\n  (define OK-status? (bytes=? #\"HTTP/1.1 200 OK\" status))\n  (if OK-status?\n      (hash 'status status\n            'headers headers\n            'response (string->jsexpr response-string))\n      (begin\n        (printf \"!!!!!! unexpected non-OK status returned from ~s:\\n\" url-string)\n        (pretty-print `(,status ,headers ,response-string))\n        (hash 'status status\n              'headers headers\n              'response (hash)))))\n(define (js-query edges nodes)\n  (hash 'message\n        (hash 'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n"
  },
  {
    "path": "medikanren2/neo/neo-open-api/unsecret-source-consume.yaml",
    "content": "'ROBOKOP KG':\n  infores_curie: infores:robokop-kg\n'Text Mining KG':\n  infores_curie: infores:text-mining-provider-targeted\n'RTX-KG2 KG':\n  infores_curie: infores:rtx-kg2\n"
  },
  {
    "path": "medikanren2/neo/neo-open-api/unsecret_metaKG.json",
    "content": "{\n \"edges\": [\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MicroRNA\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Exon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:CellLine\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:condition_associated_with_gene\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:lacks_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:lacks_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:lacks_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:examples\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_molecular_modification_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_increased_amount\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_increased_amount\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_completed\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Transcript\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_activity_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_degradation_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BehavioralFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BehavioralFeature\"\n  },\n  {\n   \"object\": \"biolink:BehavioralFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BehavioralFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:associated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:associated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:associated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:condition_associated_with_gene\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_expression_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Exon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_expression_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:enables\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:enables\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:increases_metabolic_processing_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:increases_metabolic_processing_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:MicroRNA\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:catalyzes\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:translates_to\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disease_has_location\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disease_has_location\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:colocalizes_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:colocalizes_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:transcribed_from\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:model_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:molecularly_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:molecularly_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:molecularly_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_real_world_evidence_of_association_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:molecularly_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Treatment\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Transcript\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:is_sequence_variant_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_sequence_variant_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_degradation_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_not_completed\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_real_world_evidence_of_association_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Treatment\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Transcript\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_expression_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:decreases_expression_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_expression_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Treatment\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_plasma_membrane_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_plasma_membrane_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_molecular_consequence\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_molecular_modification_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects_localization_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Transcript\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MicroRNA\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:MicroRNA\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellLine\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:local_names\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_sequence_variant_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:increases_stability_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_stability_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_stability_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Treatment\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disease_has_basis_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:disease_has_basis_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_metabolite\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:part_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_decreased_amount\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_decreased_amount\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:lacks_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Drug\"\n  }\n ],\n \"nodes\": {\n  \"biolink:Activity\": {\n   \"id_prefixes\": [\n    \"ICD10PCS\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NBO\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Agent\": {\n   \"id_prefixes\": [\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:AnatomicalEntity\": {\n   \"id_prefixes\": [\n    \"AEO\",\n    \"ATC\",\n    \"BTO\",\n    \"CARO\",\n    \"CEPH\",\n    \"CHEBI\",\n    \"CHEMBL.TARGET\",\n    \"CL\",\n    \"CLO\",\n    \"DDANAT\",\n    \"EFO\",\n    \"EHDAA2\",\n    \"FAO\",\n    \"FBbt\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"ICD10PCS\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MA\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"OBI\",\n    \"OPL\",\n    \"PO\",\n    \"PSY\",\n    \"UBERON\",\n    \"UMLS\",\n    \"VANDF\",\n    \"ZEA\",\n    \"ZFA\"\n   ]\n  },\n  \"biolink:Behavior\": {\n   \"id_prefixes\": [\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:BehavioralFeature\": {\n   \"id_prefixes\": [\n    \"NBO\"\n   ]\n  },\n  \"biolink:BiologicalEntity\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"BTO\",\n    \"CHEBI\",\n    \"DRUGBANK\",\n    \"EFO\",\n    \"ENVO\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"LOINC\",\n    \"MESH\",\n    \"MPATH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"REACT\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:BiologicalProcess\": {\n   \"id_prefixes\": [\n    \"BFO\",\n    \"CHEBI\",\n    \"EFO\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"GO\",\n    \"MESH\",\n    \"MONDO\",\n    \"NBO\",\n    \"NCIT\",\n    \"OGMS\",\n    \"ORPHANET\",\n    \"PCO\",\n    \"REACT\"\n   ]\n  },\n  \"biolink:BiologicalProcessOrActivity\": {\n   \"id_prefixes\": [\n    \"MESH\"\n   ]\n  },\n  \"biolink:Cell\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"BTO\",\n    \"CLO\",\n    \"DRUGBANK\",\n    \"EFO\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PO\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:CellLine\": {\n   \"id_prefixes\": [\n    \"CHEMBL.TARGET\"\n   ]\n  },\n  \"biolink:CellularComponent\": {\n   \"id_prefixes\": [\n    \"CHEMBL.TARGET\",\n    \"CP\",\n    \"EFO\",\n    \"GO\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:ChemicalEntity\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"CHEBI\",\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"DrugCentral\",\n    \"EFO\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"REACT\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:ChemicalMixture\": {\n   \"id_prefixes\": [\n    \"CHEBI\",\n    \"DRUGBANK\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:ClinicalIntervention\": {\n   \"id_prefixes\": [\n    \"ARO\",\n    \"GENEPIO\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:Cohort\": {\n   \"id_prefixes\": [\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Device\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"DRUGBANK\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:Disease\": {\n   \"id_prefixes\": [\n    \"SNOMEDCT\",\n    \"UMLS\",\n    \"GENEPIO\",\n    \"PSY\",\n    \"MONDO\",\n    \"EFO\",\n    \"MESH\",\n    \"PDQ\",\n    \"ORPHANET\",\n    \"ICD9\",\n    \"NCIT\",\n    \"LOINC\",\n    \"HP\",\n    \"DOID\"\n   ]\n  },\n  \"biolink:DiseaseOrPhenotypicFeature\": {\n   \"id_prefixes\": [\n    \"HP\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Drug\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"CHEBI\",\n    \"DRUGBANK\",\n    \"EFO\",\n    \"KEGG.DRUG\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"RXNORM\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:EnvironmentalFeature\": {\n   \"id_prefixes\": [\n    \"ENVO\"\n   ]\n  },\n  \"biolink:EnvironmentalProcess\": {\n   \"id_prefixes\": [\n    \"ECOCORE\",\n    \"ENVO\"\n   ]\n  },\n  \"biolink:Event\": {\n   \"id_prefixes\": [\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Exon\": {\n   \"id_prefixes\": [\n    \"EFO\"\n   ]\n  },\n  \"biolink:Food\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"DRUGBANK\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:Gene\": {\n   \"id_prefixes\": [\n    \"ecogene\",\n    \"CGNC\",\n    \"MGI\",\n    \"ORPHANET\",\n    \"HGNC\",\n    \"dictybase.gene\",\n    \"wb\",\n    \"NCIT\",\n    \"OMIM\",\n    \"FBgn\",\n    \"AraPort\",\n    \"NCBIGene\",\n    \"SO\",\n    \"UMLS\",\n    \"PomBase\",\n    \"RGD\",\n    \"EnsemblGenomes\",\n    \"UniProtKB\",\n    \"ENSEMBL\"\n   ]\n  },\n  \"biolink:GeneFamily\": {\n   \"id_prefixes\": [\n    \"CHEMBL.TARGET\"\n   ]\n  },\n  \"biolink:GeographicLocation\": {\n   \"id_prefixes\": [\n    \"FOODON\",\n    \"GAZ\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:GrossAnatomicalStructure\": {\n   \"id_prefixes\": [\n    \"FMA\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:IndividualOrganism\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"OGMS\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:InformationContentEntity\": {\n   \"id_prefixes\": [\n    \"ARO\",\n    \"ATC\",\n    \"BFO\",\n    \"BSPO\",\n    \"BTO\",\n    \"CHEBI\",\n    \"CL\",\n    \"CVDO\",\n    \"DDANAT\",\n    \"DRUGBANK\",\n    \"ECO\",\n    \"EDAM\",\n    \"EFO\",\n    \"ENVO\",\n    \"EO\",\n    \"ExO\",\n    \"FIX\",\n    \"FLU\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"GEO\",\n    \"GO\",\n    \"GOREL\",\n    \"HANCESTRO\",\n    \"HCPCS\",\n    \"HGNC\",\n    \"HP\",\n    \"IAO\",\n    \"ICD10PCS\",\n    \"ICD9\",\n    \"IDO\",\n    \"LOINC\",\n    \"MAXO\",\n    \"MESH\",\n    \"MI\",\n    \"MONDO\",\n    \"NCBITaxon\",\n    \"NCIT\",\n    \"NCRO\",\n    \"NDDF\",\n    \"OBAN\",\n    \"OBI\",\n    \"OBO\",\n    \"OGMS\",\n    \"OIO\",\n    \"OMIABIS\",\n    \"OMIT\",\n    \"OMP\",\n    \"ORPHANET\",\n    \"PATO\",\n    \"PDQ\",\n    \"PR\",\n    \"PSY\",\n    \"RO\",\n    \"RXNORM\",\n    \"SIO\",\n    \"SO\",\n    \"STATO\",\n    \"TypOn\",\n    \"UBERON\",\n    \"UBERON_CORE\",\n    \"UBPROP\",\n    \"UMLS\",\n    \"UO\",\n    \"VANDF\",\n    \"VCARD\",\n    \"VT\",\n    \"biolink\",\n    \"dc\",\n    \"dct\",\n    \"doap\",\n    \"foaf\",\n    \"owl\",\n    \"rdfs\",\n    \"skos\"\n   ]\n  },\n  \"biolink:InformationResource\": {\n   \"id_prefixes\": [\n    \"EFO\",\n    \"OBO\",\n    \"RTX\",\n    \"biolink_download_source\",\n    \"identifiers_org_registry\",\n    \"umls_source\"\n   ]\n  },\n  \"biolink:LifeStage\": {\n   \"id_prefixes\": [\n    \"OPL\",\n    \"ORPHANET\",\n    \"UBERON\"\n   ]\n  },\n  \"biolink:MaterialSample\": {\n   \"id_prefixes\": [\n    \"EFO\",\n    \"GENEPIO\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:MicroRNA\": {\n   \"id_prefixes\": [\n    \"miRBase\"\n   ]\n  },\n  \"biolink:MolecularActivity\": {\n   \"id_prefixes\": [\n    \"EFO\",\n    \"GO\",\n    \"KEGG.REACTION\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PSY\",\n    \"PathWhiz.Reaction\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:MolecularEntity\": {\n   \"id_prefixes\": [\n    \"BAO\",\n    \"CHEBI\",\n    \"CHEMBL.TARGET\",\n    \"EFO\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"IDO\",\n    \"KEGG.ENZYME\",\n    \"NCIT\",\n    \"OBI\",\n    \"OMIT\",\n    \"PathWhiz.Bound\",\n    \"PathWhiz.ElementCollection\",\n    \"PathWhiz.ProteinComplex\"\n   ]\n  },\n  \"biolink:NamedThing\": {\n   \"id_prefixes\": [\n    \"AEO\",\n    \"ARO\",\n    \"ATC\",\n    \"BFO\",\n    \"BSPO\",\n    \"BTO\",\n    \"CARO\",\n    \"CHEBI\",\n    \"CHEMBL.MECHANISM\",\n    \"CHMO\",\n    \"CLO\",\n    \"CP\",\n    \"ECO\",\n    \"ECOCORE\",\n    \"ECTO\",\n    \"EFO\",\n    \"ENVO\",\n    \"EO\",\n    \"EPO\",\n    \"ERO\",\n    \"ExO\",\n    \"FBbt\",\n    \"FBdv\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"GENO\",\n    \"GO\",\n    \"HANCESTRO\",\n    \"HP\",\n    \"ICD9\",\n    \"IDO\",\n    \"LOINC\",\n    \"MAXO\",\n    \"MESH\",\n    \"MF\",\n    \"MFOMD\",\n    \"MMO\",\n    \"MONDO\",\n    \"MP\",\n    \"MPATH\",\n    \"NBO\",\n    \"NCIT\",\n    \"NDDF\",\n    \"OAE\",\n    \"OBA\",\n    \"OBI\",\n    \"OBO\",\n    \"OGMS\",\n    \"OMIM\",\n    \"OMIT\",\n    \"OMRSE\",\n    \"OPL\",\n    \"ORPHANET\",\n    \"PATO\",\n    \"PDQ\",\n    \"PECO\",\n    \"PO\",\n    \"PSY\",\n    \"RO\",\n    \"SEMMEDDB\",\n    \"SIO\",\n    \"SNOMED\",\n    \"SO\",\n    \"STATO\",\n    \"STY\",\n    \"TO\",\n    \"TRANS\",\n    \"UMLS\",\n    \"UO\",\n    \"VANDF\",\n    \"VT\",\n    \"XCO\",\n    \"ZFA\",\n    \"biolink\",\n    \"foaf\",\n    \"owl\"\n   ]\n  },\n  \"biolink:NoncodingRNAProduct\": {\n   \"id_prefixes\": [\n    \"NCIT\",\n    \"ORPHANET\"\n   ]\n  },\n  \"biolink:NucleicAcidEntity\": {\n   \"id_prefixes\": [\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCBIGene\",\n    \"NCIT\",\n    \"NDDF\",\n    \"ORPHANET\",\n    \"PDQ\",\n    \"PSY\",\n    \"PathWhiz.NucleicAcid\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:OrganismTaxon\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"EFO\",\n    \"EO\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCBITaxon\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:OrganismalEntity\": {\n   \"id_prefixes\": [\n    \"MESH\"\n   ]\n  },\n  \"biolink:PathologicalProcess\": {\n   \"id_prefixes\": [\n    \"EFO\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"OBI\",\n    \"PDQ\",\n    \"PSY\",\n    \"REACT\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Pathway\": {\n   \"id_prefixes\": [\n    \"REACT\",\n    \"PathWhiz\",\n    \"NCIT\",\n    \"KEGG\",\n    \"SMPDB\",\n    \"BIOCARTA\",\n    \"GO\",\n    \"PW\",\n    \"WP\"\n   ]\n  },\n  \"biolink:Phenomenon\": {\n   \"id_prefixes\": [\n    \"FMA\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:PhenotypicFeature\": {\n   \"id_prefixes\": [\n    \"SNOMEDCT\",\n    \"UMLS\",\n    \"GENEPIO\",\n    \"SYMP\",\n    \"LOINC\",\n    \"OBA\",\n    \"UPHENO\",\n    \"PSY\",\n    \"MONDO\",\n    \"FOODON\",\n    \"HP\",\n    \"OMIM\",\n    \"ENVO\",\n    \"MP\",\n    \"DOID\",\n    \"EFO\",\n    \"MESH\",\n    \"PDQ\",\n    \"PCO\",\n    \"CHEMBL.TARGET\",\n    \"PATO\",\n    \"ORPHANET\",\n    \"ICD9\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:PhysicalEntity\": {\n   \"id_prefixes\": [\n    \"ARO\",\n    \"ATC\",\n    \"BAO\",\n    \"BFO\",\n    \"BTO\",\n    \"CARO\",\n    \"CEPH\",\n    \"CHMO\",\n    \"CLO\",\n    \"EFO\",\n    \"ENVO\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"GEO\",\n    \"HANCESTRO\",\n    \"ICO\",\n    \"IDO\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"OBI\",\n    \"OGG\",\n    \"PCO\",\n    \"PO\",\n    \"PSY\",\n    \"SO\",\n    \"UMLS\",\n    \"VANDF\",\n    \"VCARD\",\n    \"dbpedia\"\n   ]\n  },\n  \"biolink:PhysiologicalProcess\": {\n   \"id_prefixes\": [\n    \"FMA\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"MF\",\n    \"MFOMD\",\n    \"NCIT\",\n    \"OGMS\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Polypeptide\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"DRUGBANK\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:PopulationOfIndividualOrganisms\": {\n   \"id_prefixes\": [\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Procedure\": {\n   \"id_prefixes\": [\n    \"HCPCS\",\n    \"ICD10PCS\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Protein\": {\n   \"id_prefixes\": [\n    \"CHEBI\",\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"FMA\",\n    \"LOINC\",\n    \"MESH\",\n    \"MOD\",\n    \"NCIT\",\n    \"OBI\",\n    \"OMIT\",\n    \"PR\",\n    \"REACT\",\n    \"SO\",\n    \"UMLS\",\n    \"UniProtKB\"\n   ]\n  },\n  \"biolink:ProteinDomain\": {\n   \"id_prefixes\": [\n    \"NCIT\"\n   ]\n  },\n  \"biolink:ProteinFamily\": {\n   \"id_prefixes\": [\n    \"NCIT\"\n   ]\n  },\n  \"biolink:Publication\": {\n   \"id_prefixes\": [\n    \"FMA\",\n    \"HP\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:RNAProduct\": {\n   \"id_prefixes\": [\n    \"CHEBI\",\n    \"EFO\",\n    \"SO\"\n   ]\n  },\n  \"biolink:SmallMolecule\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"CHEBI\",\n    \"CHEMBL.COMPOUND\",\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"FOODON\",\n    \"HMDB\",\n    \"KEGG.COMPOUND\",\n    \"KEGG.GLYCAN\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PSY\",\n    \"PathWhiz.Compound\",\n    \"REACT\",\n    \"UMLS\",\n    \"VANDF\",\n    \"ttd.target\"\n   ]\n  },\n  \"biolink:Transcript\": {\n   \"id_prefixes\": [\n    \"ENSEMBL\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:Treatment\": {\n   \"id_prefixes\": [\n    \"MAXO\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:Vitamin\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  }\n }\n}"
  },
  {
    "path": "medikanren2/neo/neo-open-api/unsecret_metaKG_May_2023.json",
    "content": "{\n \"edges\": [\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MicroRNA\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Exon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:CellLine\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:condition_associated_with_gene\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:lacks_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:lacks_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:lacks_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:examples\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_molecular_modification_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_increased_amount\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_increased_amount\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_completed\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Transcript\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_activity_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcessOrActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_degradation_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BehavioralFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BehavioralFeature\"\n  },\n  {\n   \"object\": \"biolink:BehavioralFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BehavioralFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:associated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:associated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:associated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:condition_associated_with_gene\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_expression_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Exon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_expression_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:enables\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:enables\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:increases_metabolic_processing_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:increases_metabolic_processing_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:MicroRNA\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:catalyzes\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:translates_to\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disease_has_location\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disease_has_location\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:colocalizes_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:colocalizes_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:transcribed_from\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:model_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:molecularly_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:molecularly_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:molecularly_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_real_world_evidence_of_association_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GeographicLocation\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:molecularly_interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Treatment\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Transcript\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:ProteinDomain\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:is_sequence_variant_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_sequence_variant_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Transcript\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Treatment\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinDomain\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_degradation_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_not_completed\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_real_world_evidence_of_association_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:affects_transport_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Treatment\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_activity_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Transcript\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_expression_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:decreases_expression_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_expression_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Treatment\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_plasma_membrane_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_plasma_membrane_part\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_molecular_consequence\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_molecular_modification_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects_localization_of\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Transcript\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MicroRNA\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:MicroRNA\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:ClinicalIntervention\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:OrganismalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellLine\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:OrganismalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_negatively_regulates_process\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:local_names\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_sequence_variant_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Vitamin\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Procedure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:LifeStage\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:increases_stability_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_stability_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularEntity\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:ProteinFamily\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_stability_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:process_regulates_process\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:chemically_similar_to\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:increases_degradation_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Treatment\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MaterialSample\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_regulates_entity\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:diagnoses\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Event\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ProteinFamily\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:disease_has_basis_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:disease_has_basis_in\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Phenomenon\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Cohort\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:process_positively_regulates_process\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:NoncodingRNAProduct\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:NoncodingRNAProduct\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:EnvironmentalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:EnvironmentalProcess\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PopulationOfIndividualOrganisms\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:predisposes\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcessOrActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_activity_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:RNAProduct\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:IndividualOrganism\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:RNAProduct\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_metabolite\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:part_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:entity_positively_regulates_entity\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:NucleicAcidEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Publication\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:InformationContentEntity\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Activity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:entity_negatively_regulates_entity\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:gene_product_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:LifeStage\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ClinicalIntervention\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Vitamin\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GeographicLocation\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:close_match\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Agent\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularEntity\",\n   \"predicate\": \"biolink:physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Food\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:produces\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Food\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_interacts_with\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:PathologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:manifestation_of\",\n   \"subject\": \"biolink:DiseaseOrPhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:IndividualOrganism\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Publication\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NucleicAcidEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Event\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Agent\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PopulationOfIndividualOrganisms\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Cohort\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:MaterialSample\"\n  },\n  {\n   \"object\": \"biolink:Phenomenon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:DiseaseOrPhenotypicFeature\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:PathologicalProcess\",\n   \"predicate\": \"biolink:prevents\",\n   \"subject\": \"biolink:Device\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_decreased_amount\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_decreased_amount\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:lacks_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:same_as\",\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Drug\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_non_coding_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_splice_site_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_synonymous_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_nearby_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_frameshift_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_missense_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:is_nonsense_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_non_coding_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_splice_site_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_synonymous_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_nearby_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_frameshift_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_missense_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:is_nonsense_variant_of\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:SequenceVariant\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_adverse_event\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_adverse_event\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ClinicalAttribute\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ClinicalAttribute\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Annotation\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Annotation\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:GeneticInheritance\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Device\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_adverse_event\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_adverse_event\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Activity\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ClinicalAttribute\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Annotation\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:InformationContentEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_adverse_event\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_adverse_event\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ClinicalAttribute\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Annotation\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ChemicalMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:Polypeptide\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:ameliorates\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:ComplexMolecularMixture\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:derives_from\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:associated_with\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Cell\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:orthologous_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexpressed_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:orthologous_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexpressed_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of_negative_effect\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of_or_within_negative_effect\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of_or_within_positive_effect\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of_positive_effect\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:enables\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:active_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:acts_upstream_of_or_within_negative_effect\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:acts_upstream_of_or_within_positive_effect\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:acts_upstream_of\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:acts_upstream_of_positive_effect\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:OrganismAttribute\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Annotation\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:ClinicalAttribute\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:SequenceVariant\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Gene\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:similar_to\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:gene_associated_with_condition\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:disrupts\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:orthologous_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:coexpressed_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:orthologous_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:coexpressed_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:biomarker_for\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of_negative_effect\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of_or_within_negative_effect\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of_or_within_positive_effect\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:acts_upstream_of_positive_effect\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_adverse_event\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contraindicated_for\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_adverse_event\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:active_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:acts_upstream_of_or_within_negative_effect\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:acts_upstream_of_or_within_positive_effect\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:acts_upstream_of\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:acts_upstream_of_positive_effect\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalEntity\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:directly_physically_interacts_with\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:affects_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:binds\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:increases_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:decreases_response_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:PhysiologicalProcess\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:OrganismAttribute\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Annotation\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:expressed_in\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Behavior\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ClinicalAttribute\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Drug\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:Procedure\",\n   \"predicate\": \"biolink:treats\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:SequenceVariant\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:BiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalMixture\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:MolecularActivity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:CellularComponent\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:subclass_of\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:has_input\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:has_participant\",\n   \"subject\": \"biolink:Pathway\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:GeneFamily\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:MolecularActivity\",\n   \"predicate\": \"biolink:enables\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:actively_involved_in\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:located_in\",\n   \"subject\": \"biolink:GeneFamily\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_phenotype\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:associated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:has_part\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Polypeptide\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:negatively_correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:positively_correlated_with\",\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:OrganismTaxon\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:affects\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:AnatomicalEntity\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:GrossAnatomicalStructure\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:homologous_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:precedes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:AnatomicalEntity\",\n   \"predicate\": \"biolink:causes\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:capable_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:occurs_in\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:temporally_related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:BiologicalProcess\",\n   \"predicate\": \"biolink:has_output\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:OrganismTaxon\",\n   \"predicate\": \"biolink:in_taxon\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:develops_from\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Cell\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:coexists_with\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:CellularComponent\",\n   \"predicate\": \"biolink:overlaps\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:composed_primarily_of\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:regulates\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Pathway\",\n   \"predicate\": \"biolink:related_to\",\n   \"subject\": \"biolink:GrossAnatomicalStructure\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:PhysiologicalProcess\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Behavior\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:ClinicalAttribute\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:ClinicalAttribute\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Annotation\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:Annotation\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:BiologicalEntity\"\n  },\n  {\n   \"object\": \"biolink:Gene\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:OrganismAttribute\"\n  },\n  {\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:genetic_association\",\n   \"subject\": \"biolink:OrganismAttribute\"\n  },\n  {\n   \"count\": 534455,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 534455\n    }\n   },\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"count\": 93702,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 93702\n    }\n   },\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"count\": 307764,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 307764\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:GeneRegulatoryRelationship\",\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"count\": 417761,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 417761\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:GeneToDiseaseAssociation\",\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 2726,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 2726\n    }\n   },\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 304627,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 304627\n    }\n   },\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 35070,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 35070\n    }\n   },\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 12432,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 12432\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:GeneToDiseaseAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 57313,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 57313\n    }\n   },\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"count\": 115835,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 115835\n    }\n   },\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 4935,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 4935\n    }\n   },\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 34470,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 34470\n    }\n   },\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 20441,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 20441\n    }\n   },\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"count\": 15681,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 15681\n    }\n   },\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\",\n    \"biolink:GeneToDiseaseAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 7807,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 7807\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:GeneToDiseaseAssociation\",\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 602,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 602\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:GeneToDiseaseAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 15911,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 15911\n    }\n   },\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 13133,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 13133\n    }\n   },\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 10296,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 10296\n    }\n   },\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 7809,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 7809\n    }\n   },\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 3974,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 3974\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:GeneToDiseaseAssociation\",\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 1471,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 1471\n    }\n   },\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 4373,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 4373\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 1009,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 1009\n    }\n   },\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 748,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 748\n    }\n   },\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 451,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 451\n    }\n   },\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 861,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 861\n    }\n   },\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 69,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 69\n    }\n   },\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 231,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 231\n    }\n   },\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"count\": 720,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 720\n    }\n   },\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 95,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 95\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 120,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 120\n    }\n   },\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 74,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 74\n    }\n   },\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 229,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 229\n    }\n   },\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 18,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 18\n    }\n   },\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"count\": 370,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 370\n    }\n   },\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 266,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 266\n    }\n   },\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"count\": 69,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 69\n    }\n   },\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:Disease\"\n  },\n  {\n   \"count\": 132,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 132\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"count\": 43,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 43\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 341,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 341\n    }\n   },\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 194,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 194\n    }\n   },\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 328,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 328\n    }\n   },\n   \"object\": \"biolink:ChemicalEntity\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 134,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 134\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:GeneToDiseaseAssociation\",\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 23,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 23\n    }\n   },\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:GeneToDiseaseAssociation\"\n   ],\n   \"subject\": \"biolink:Protein\"\n  },\n  {\n   \"count\": 5,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 5\n    }\n   },\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 7,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 7\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"count\": 48,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 48\n    }\n   },\n   \"object\": \"biolink:MolecularMixture\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 6,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 6\n    }\n   },\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 3,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 3\n    }\n   },\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:PhenotypicFeature\"\n  },\n  {\n   \"count\": 2,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 2\n    }\n   },\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 3,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 3\n    }\n   },\n   \"object\": \"biolink:Protein\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"count\": 11,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 11\n    }\n   },\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"count\": 1,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 1\n    }\n   },\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"count\": 1,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 1\n    }\n   },\n   \"object\": \"biolink:ComplexMolecularMixture\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 1,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 1\n    }\n   },\n   \"object\": \"biolink:PhenotypicFeature\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:SmallMolecule\"\n  },\n  {\n   \"count\": 6,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 6\n    }\n   },\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:treats\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:ChemicalEntity\"\n  },\n  {\n   \"count\": 1,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 1\n    }\n   },\n   \"object\": \"biolink:Disease\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:MolecularMixture\"\n  },\n  {\n   \"count\": 1,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 1\n    }\n   },\n   \"object\": \"biolink:SmallMolecule\",\n   \"predicate\": \"biolink:affects\",\n   \"relations\": [\n    \"biolink:ChemicalToGeneAssociation\"\n   ],\n   \"subject\": \"biolink:NamedThing\"\n  },\n  {\n   \"count\": 1,\n   \"count_by_source\": {\n    \"primary_knowledge_source\": {\n     \"infores:text-mining-provider-targeted\": 1\n    }\n   },\n   \"object\": \"biolink:NamedThing\",\n   \"predicate\": \"biolink:contributes_to\",\n   \"relations\": [\n    \"biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation\"\n   ],\n   \"subject\": \"biolink:SmallMolecule\"\n  }\n ],\n \"nodes\": {\n  \"biolink:Activity\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ICD10PCS\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NBO\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Agent\": {\n   \"id_prefixes\": [\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:AnatomicalEntity\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"AEO\",\n    \"ATC\",\n    \"BTO\",\n    \"CARO\",\n    \"CEPH\",\n    \"CHEBI\",\n    \"CHEMBL.TARGET\",\n    \"CL\",\n    \"CLO\",\n    \"DDANAT\",\n    \"EFO\",\n    \"EHDAA2\",\n    \"FAO\",\n    \"FBbt\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"ICD10PCS\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MA\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"OBI\",\n    \"OPL\",\n    \"PO\",\n    \"PSY\",\n    \"UBERON\",\n    \"UMLS\",\n    \"VANDF\",\n    \"ZEA\",\n    \"ZFA\",\n    \"GO\"\n   ]\n  },\n  \"biolink:Annotation\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Behavior\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:BehavioralFeature\": {\n   \"id_prefixes\": [\n    \"NBO\"\n   ]\n  },\n  \"biolink:BiologicalEntity\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biological_pigment\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiac_rhythm_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_thyroid_gland_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_marrow_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_gram-negative_bacterial_infections\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_prelingual_non-syndromic_genetic_hearing_loss\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nongerminomatous_germ_cell_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cancer_or_benign_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_auditory_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_renal_tubule_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_fungal_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neurocristopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphoid_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_cerebellar_ataxia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_rheumatic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-syndromic_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_palsy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_marrow_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pro_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_glycosylation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_malignant_germ_cell_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_interstitial_lung_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_blood_platelet_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_anomaly_of_puberty_or/and_menstrual_cycle_of_genetic_origin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_psychiatric_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_metabolic_epilepsy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_blood_coagulation_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_brain_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_neoplastic_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_and_epileptic_encephalopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_disorder_caused_by_infection\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mesenchymal_cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dysostosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_marrow_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_ear\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_kidney_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glomerular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_GPI_anchor_biosynthesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epidermal_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_breast_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ciliopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_paraplegia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_Mendelian_neurodevelopmental_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Coexpression\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_peripheral_nervous_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eyelid_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_immune_deficiency_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epithelial_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_error_of_immunity\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hypertensive_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_infectious_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_development_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hematopoietic_and_lymphoid_cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_familial_dilated_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_defect_during_embryogenesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_c_Jun_N_terminal_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_infertility_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neurodegenerative_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_limb_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Experiments\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ligand\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hypertrophic_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_colorectal_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_anomaly_of_puberty_or/and_menstrual_cycle\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_childhood-onset_epilepsy_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_3+_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_proteostasis_deficiencies\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_urinary_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_infectious_disorder_of_the_nervous_system\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_palmoplantar_keratosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autoimmune_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_multiple_congenital_anomalies/dysmorphic_syndrome_without_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_dominant_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_tooth_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nervous_system_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_defect_of_the_eye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_reproductive_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_retinal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acute_diarrhea\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_atactic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Textmining\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_multiple_congenital_anomalies/dysmorphic_syndrome-intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_overgrowth/obesity_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_X-linked_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lens_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"mrdef\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-acquired_pituitary_hormone_deficiency\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neurovascular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_disorder_of_amino_acid_and_other_organic_acid_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_myopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_poison\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_arthropathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_familial_hypertrophic_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hemorrhagic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_disorder_of_amino_acid_transport\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_parasitic_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.24_mitogen_activated_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_dementia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_metabolite_absorption_and_transport\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_soft_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"fda_labels\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_arterial_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ectodermal_dysplasia_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_retinitis_pigmentosa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_high_grade_malignant_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_pancreas_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_gastrointestinal_mucositis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skull_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7_P_containing_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_appendage_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_encephalomyelitis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_connective_tissue_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_adenoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_carcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dementia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_soft_tissue_sarcoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_thoracic_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intestinal_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_perceptual_disorders\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myeloid_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_posterior_fossa_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_head_and_neck_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inflammatory_diarrhea\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lower_respiratory_tract_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ovarian_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mental_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hypogonadism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_vitreous-retinal_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_stomach_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_male_reproductive_organ_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ichthyosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_childhood_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mammalian_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_tumor_of_uterus\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"NCBITaxon\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Experiments_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_molweight\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_primary_bacterial_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_extragonadal_germ_cell_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_diabetes_mellitus\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dysentery\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_simple_vascular_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_leukodystrophy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neoplastic_disease_or_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_muscular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_breast_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_anemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nervous_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_primary_immunodeficiency_due_to_a_defect_in_adaptive_immunity\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cognitive_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dermis_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hearing_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myeloid_hemopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Cooccurance\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiovascular_organ_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cerebellar_ataxia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vascular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_keratinization_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mouse_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_syndromic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_infectious_disease_or_post-infectious_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myomatous_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mineral_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_corneal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epilepsy_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_syndrome_caused_by_partial_chromosomal_duplication\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-Hodgkin_lymphoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_immune_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skeletal_muscle_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Aspergillus_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biophysical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_lipid_metabolism_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_motor_neuron_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_carbohydrate_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_toxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-syndromic_limb_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neoplasm_of_thorax\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_postlingual_non-syndromic_genetic_hearing_loss\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_formula\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_disorder_of_energy_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hematopoietic_and_lymphoid_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_progressive_muscular_dystrophy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_uterine_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_pigmentation_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiovascular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_squamous_cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_endocrine_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_kidney_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiinfective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuroepithelial_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_peripheral_nervous_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": null,\n     \"original_attribute_names\": [\n      \"taxon\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_amino_acid_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_respiratory_or_thoracic_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neoplastic_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epilepsy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mycotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_development_or_morphogenesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_auditory_system_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hepatobiliary_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_disease_susceptibility\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_movement_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_osteochondrodysplasia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cerebellar_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ovarian_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_visual_system\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_male_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autoinflammatory_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hemolytic_anemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_musculoskeletal_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_liver_and_intrahepatic_bile_duct_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_disorder_of_connective_tissue\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myeloid_leukemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_peripheral_neuropathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparasitic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dermatitis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_muscle_tissue_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_blood_serum_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_upper_respiratory_tract_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Database_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_retinal_degeneration\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyanotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coenzyme\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dystonic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_respiratory_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_precancerous_condition\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphoid_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_remodeling_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glycoprotein_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_syndromic_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_keratosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disease_susceptibility\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_nervous_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nervous_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_disorder_of_glycosylation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_small_intestine_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_Mendelian_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiovascular_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epidermal_appendage_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_spinal_cord_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_connective_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_anomaly_of_cardiovascular_system\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_retinal_dystrophy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_urinary_bladder_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_multiple_congenital_anomalies/dysmorphic_syndrome-variable_intellectual_disability_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_connective_and_soft_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_heart_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_endocrine_pancreas_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eye_adnexa_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_integumentary_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_liver_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_epidermal_appendage_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aetiopathogenetic_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hepatobiliary_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiovascular_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_errors_of_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-human_animal_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nutritional_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mucositis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intestinal_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_female_infertility\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acute_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_genetic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphoid_hemopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dilated_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Saccharomyces_cerevisiae_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epilepsy,_idiopathic_generalized\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_immune_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_motor_neuron_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_multiple_congenital_anomalies/dysmorphic_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_muscular_dystrophy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasoconstrictor_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_uveal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_human_disease_or_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Combined_score\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_sarcoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_otorhinolaryngologic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_musculoskeletal_system_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_synostosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_infectious_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_biliary_tract_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"locus_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nephropathy_secondary_to_a_storage_or_other_metabolic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_mitochondrial_metabolism_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_idiopathic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_malignant_endocrine_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_craniosynostosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"location\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_post-infectious_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_heart_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_leukocyte_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lung_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_germ_cell_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_melanocytic_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vascular_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_pituitary_gland_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_primary_immunodeficiency_due_to_a_genetic_defect_in_innate_immunity\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_ataxia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_musculoskeletal_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_uterine_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphatic_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glucose_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glioma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_female_reproductive_organ_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_tract_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_endocrine_gland_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuroendocrine_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_X-linked_syndromic_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_adenocarcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_recessive_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_female_reproductive_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_peripheral_neuropathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_tumor_of_meninges\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vector-borne_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_head_and_neck_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cerebral_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_neoplasm_of_skin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_post-viral_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_recessive_cerebellar_ataxia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_head_and_neck_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pheromone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Textmining_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vitreous_body_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_organic_aciduria\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eye_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_ichthyosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skull_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuroendocrine_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_blood_coagulation_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prokaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_familial_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cerebrovascular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_diarrheal_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_B-cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_embryonal_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hearing_loss,_autosomal_recessive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eye_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_endocrine_growth_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_X-linked_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_female_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_organic_acid_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_sexual_differentiation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hearing_loss_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skeletal_dysplasia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bile_duct_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_vascular_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_primary_viral_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"tpsa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": null,\n     \"original_attribute_names\": [\n      \"symbol\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_papillary_epithelial_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_qualitative_or_quantitative_protein_defects_in_neuromuscular_diseases\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disease_or_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anthelminthic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_facial_skeleton\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_chromosomal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_anomaly_of_metabolic_origin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_respiratory_tract_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cofactor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_respiratory_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_tumor_of_hematopoietic_and_lymphoid_tissues\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_colorectal_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_integumentary_system_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myeloproliferative_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11_protein_serine/threonine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuromuscular_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_carbohydrate_metabolic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vesiculobullous_skin_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mouth_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_complex_neurodevelopmental_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_malignant_soft_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prodrug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neurodevelopmental_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_orbital_region\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Escherichia_coli_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_colonic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_connective_and_soft_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acute_leukemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Coexpression_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_large_intestine_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mitochondrial_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vascular_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_smooth_muscle_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nonsyndromic_genetic_hearing_loss\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mitochondrial_oxidative_phosphorylation_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_renal_tubular_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholecystokinin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_heart_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_metabolic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_malignant_urinary_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_sensory_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_urogenital_tract_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_structural_myopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acquired\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmacological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_brain_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_leukemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eye_degenerative_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_adrenal_gland_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_pituitary_deficiency\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intestinal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vision_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nervous_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_female_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cranial_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glandular_cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_integumentary_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_spastic_paraplegia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_neurodegenerative_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_cardiac_rhythm_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hematologic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intrinsic_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_membrane_transport_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_erythropeotin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_siderophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cranial_nerve_neuropathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_molecular_messenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dermis_elastic_tissue_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_male_reproductive_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Database\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_gastroenteritis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_syndrome_caused_by_partial_chromosomal_deletion\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_premature_aging_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_reproductive_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_hematological_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neonatal/infantile_epilepsy_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inflammatory_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_venom\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_urinary_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_viral_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antineoplastic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_blood_vessel_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dysostosis_of_genetic_origin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_male_infertility\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_immunodeficiency_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-syndromic_limb_reduction_defect\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lung_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuro-ophthalmological_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eyelids_malposition_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_viral_disease_or_post-viral_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_semiochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bacterial_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_disorder_of_mental_health\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_head_and_neck_carcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epithelial_skin_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_Charcot-Marie-Tooth_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_squamous_cell_carcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_breast_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_epithelial_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_pilosebaceous_unit\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_sex-linked_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_carcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_corticotropin_releasing_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_gonadal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropeptide_Y2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lysosomal_storage_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_blood_vessel_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_anterior_horn_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_normocytic_anemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skeletal_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intestinal_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acute_myeloid_leukemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bacterial_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_virus_associated_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_otorhinolaryngologic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_disorder_of_amino_acid_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ATC\",\n    \"BTO\",\n    \"CHEBI\",\n    \"DRUGBANK\",\n    \"EFO\",\n    \"ENVO\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"LOINC\",\n    \"MESH\",\n    \"MPATH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"REACT\",\n    \"UMLS\",\n    \"PANTHER.PATHWAY\",\n    \"OMIM\",\n    \"CAID\",\n    \"MGI\",\n    \"PANTHER.FAMILY\",\n    \"HP\",\n    \"ORPHANET\",\n    \"GO\",\n    \"DOID\",\n    \"HGNC.FAMILY\",\n    \"ENSEMBL\",\n    \"PUBCHEM.COMPOUND\",\n    \"UniProtKB\",\n    \"MONDO\",\n    \"HGNC\",\n    \"WormBase\",\n    \"RGD\",\n    \"SMPDB\",\n    \"CL\",\n    \"NCBIGene\",\n    \"ZFIN\",\n    \"UBERON\",\n    \"PR\"\n   ]\n  },\n  \"biolink:BiologicalProcess\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"BFO\",\n    \"CHEBI\",\n    \"EFO\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"GO\",\n    \"MESH\",\n    \"MONDO\",\n    \"NBO\",\n    \"NCIT\",\n    \"OGMS\",\n    \"ORPHANET\",\n    \"PCO\",\n    \"REACT\",\n    \"UMLS\",\n    \"PANTHER.PATHWAY\",\n    \"SMPDB\"\n   ]\n  },\n  \"biolink:BiologicalProcessOrActivity\": {\n   \"id_prefixes\": [\n    \"MESH\"\n   ]\n  },\n  \"biolink:Cell\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ATC\",\n    \"BTO\",\n    \"CLO\",\n    \"DRUGBANK\",\n    \"EFO\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PO\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\",\n    \"CL\"\n   ]\n  },\n  \"biolink:CellLine\": {\n   \"id_prefixes\": [\n    \"CHEMBL.TARGET\"\n   ]\n  },\n  \"biolink:CellularComponent\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"CHEMBL.TARGET\",\n    \"CP\",\n    \"EFO\",\n    \"GO\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:ChemicalEntity\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biological_pigment\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ectoparasiticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.2.2_quinol_cytochrome_c_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protophilic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1.3_[DNA_topoisomerase_ATP_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Bronsted_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nasal_decongestant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5_hydrolases_acting_on_GTP;_involved_in_cellular_and_subcellular_movement_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.4_monoamine_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropeptide_Y_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_component\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1.11_aspartate_semialdehyde_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_repellent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_release_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antispermatogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurokinin_3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_capsaicin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.4_dihydrolipoyl_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10.1_receptor_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_algal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.151_inositol_polyphosphate_multikinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_blood_substitute\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.159_7alpha_hydroxysteroid_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucocorticoid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_interferon_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_urinary_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.99_fatty_acid_amide_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.4_[asparagine_synthase_glutamine_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_sarin_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_asthmatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.40_pyruvate_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diuretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.3_triacylglycerol_lipase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MTP_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_macrophage_migration_inhibitory_factor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7_nucleotidyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neoglycolipid_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPM4_channel_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ligand\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pathway_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrimidine_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_secretase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_3+_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticoronaviral_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.52_calpain_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.70_Delta_14_sterol_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_S100_calcium_binding_protein_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_epidermal_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_aggregation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.189_prostaglandin_E2_9_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_receptor_D2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.3_oxidoreductase_acting_on_diphenols_and_related_substances_as_donors_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oral_contraceptive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_persistent_organic_pollutant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.91_sphingosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fibroblast_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_orexin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cytochrome_bc1_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihypotensive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.11_aminopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2.2_phosphoribosylglycinamide_formyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonnucleoside_hepatitis_C_virus_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABAA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.53_3',5'_cyclic_AMP_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_one_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10_oxidoreductase_acting_on_diphenols_and_related_substances_as_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscle_relaxant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_renal_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.7_DNA_directed_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_mimic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_progesterone_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.12_trypanothione_disulfide_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"status\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_Tat_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thrombopoietin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cell_dedifferentiation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.41_4_nitrophenylphosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3_oxidoreductase_acting_on_donor_CH_CH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.4.10_non_chaperonin_molecular_chaperone_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.44_xenobiotic_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bradykinin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_leprostatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coral_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.53_calpain_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.1.1_triose_phosphate_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_endocrine_disruptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"alogs\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6_oxidoreductase_acting_on_NADH_or_NADPH_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.64_alpha,alpha_trehalose_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_molweight\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_initiation_factor_4F_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thromboxane_A2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_necroptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropilin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lepidopteran_inhibitor_of_chitin_biosynthesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.1_racemase/epimerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPV1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.1_prostaglandin_endoperoxide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.1_unspecific_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.15.1_peptidyl_dipeptidase_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.1_oxidoreductase_acting_on_donor_CH_NH2_group;_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_female_contraceptive_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.8_transferases_for_other_substituted_phosphate_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_propellant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiglaucoma_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.58_protein_farnesyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_gamma_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22_cysteine_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.3_carboxy_and_carbamoyltransferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasopressin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunomodulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carbamylphosphate_synthetase_I_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nodulation_factor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_K_ATP_channel_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electron_acceptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lichen_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phenothiazine_antipsychotic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.2_oxidoreductase_acting_on_diphenols_and_related_substances_as_donors_with_a_cytochrome_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_toxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_respiratory_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.44_NADP_+_dependent_decarboxylating_phosphogluconate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_gamma_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.3.5_cholestenol_Delta_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.8.15_UDP_N_acetylglucosamine_dolichyl_phosphate_N_acetylglucosaminephosphotransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_allelochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.15.6_cholesterol_monooxygenase_side_chain_cleaving_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Aurora_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hedgehog_signaling_pathway_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mycotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_signalling_molecule\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.2_[GMP_synthase_glutamine_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptide_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_second_generation_antipsychotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flame_retardant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tolerogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytosiderophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bromodomain_containing_protein_4_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.8_hypoxanthine_phosphoribosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticoagulant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonstructural_protein_5A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autoinducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_stimulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_local_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_retardant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardioprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.98_histone_deacetylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_IP3_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_two_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tranquilizing_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14.2_dipeptidyl_peptidase_II_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.9_riboflavin_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_respiratory_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.5_lysophospholipase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.20_diacylglycerol_O_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coenzyme\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_narcotic_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.37_[DNA_cytosine_5_methyltransferase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_disinfectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calpain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sympathomimetic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitreponemal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cis_Golgi_ArfGEF_GBF_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.85_fatty_acid_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reactive_oxygen_species_generator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescent_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4_hydrolases_acting_on_peptide_bond_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pronematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_elicitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.2_oxidoreductase_with_H2O2_as_acceptor,_incorporating_1_O_atom_into_product_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.4.2_[glycine_dehydrogenase_aminomethyl_transferring_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aetiopathogenetic_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_partial_prostacyclin_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.1_carboxylesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.35_3',5'_cyclic_GMP_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_propellant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Saccharomyces_cerevisiae_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.188_prostaglandin_F_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_RUNX1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13_[oxidoreductase_acting_on_single_donors_with_incorporation_of_molecular_oxygen_oxygenases_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_sensitizing_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.99.2_[ribosyldihydronicotinamide_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.8_histamine_N_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mycoestrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_transporter_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flavouring_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPA1_channel_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.4.1.11_methionine_gamma_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_macronutrient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiemetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phosphoantigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.94_scytalone_dehydratase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.49_channel_conductance_controlling_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoid_X_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ERK_dimerisation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dermatologic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Arabidopsis_thaliana_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_alpha/beta_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.6_lysine_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glutamine_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.19_nicotinamidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.6_coagulation_factor_Xa_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6_nitrogenous_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostaglandin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.1_phospholipid_translocating_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_compatible_osmolytes\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_pulex_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ether_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.10_oligo_1,6_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.20_alpha_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_benzodiazepine_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ethylene_releasers\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.21_polo_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.6_methionine_adenosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1_hydro_lyases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.14_aromatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenobiotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiviral_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1_non_methyl_alkyl_or_aryl_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.3.2_xanthine_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8_oxidoreductase_acting_on_sulfur_group_of_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.1_chymotrypsin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.2_[pyruvate_dehydrogenase_acetyl_transferring_]_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenoantigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_uncoupling_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenylate_cyclase_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_releasing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_depigmentation_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.45_thymidylate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calmodulin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.48_sucrose_alpha_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.1.3.2_UDP_glucose_4_epimerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sigma_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.8_cholinesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thyroid_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunological_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_corrosion_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.11.2_procollagen_proline_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemosterilant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.1.6_catalase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proacaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_acidity_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_capsaicin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.255_protein_O_GlcNAc_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vascular_endothelial_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_uricosuric_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3_intramolecular_oxidoreductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_osmotic_diuretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pediculicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11_protein_serine/threonine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_emulsifier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CPSF3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.11.1_hydrolases_acting_on_C_P_bonds_of_phosphono_acetaldehyde,_acetate,_or_pyruvate_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.5_hydrolase_acting_on_C_N_bonds_in_nitriles_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2_aldehyde_or_ketone_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.5_urease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.2.1.45_E1_ubiquitin_activating_enzyme_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prodrug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.2.2_myeloperoxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neoantigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inorganic_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1.88_L_glutamate_gamma_semialdehyde_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.153_[sepiapterin_reductase_L_erythro_7,8_dihydrobiopterin_forming_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Maillard_reaction_product\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.48_histone_acetyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_laxative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholecystokinin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_quinol_oxidation_site_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.9_steroid_17alpha_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescence_quencher\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiatherosclerotic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunosuppressive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.2_glutaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_voltage_gated_sodium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prosafener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_amphiphile\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.132_squalene_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_activating_factor_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_antioxidant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.11.1.3_phosphonopyruvate_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.3.2_lysine_2,3_aminomutase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.154_sterol_14alpha_demethylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiation_protective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_membrane_transport_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostaglandin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acaricide_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_guanylate_cyclase_2C_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alkylating_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1.3_[aldehyde_dehydrogenase_NAD_+_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.79_cyclopropane_fatty_acyl_phospholipid_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antineoplastic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.1_intramolecular_oxidoreductase_interconverting_aldoses_and_ketoses_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CB2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitrichomonal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.19_omega_peptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.91_trans_cinnamate_4_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cannabinoid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hsp90_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nuclear_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_semiochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1_hexosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chiral_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_C5a_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21_serine_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.3.8_ATP_citrate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P2Y2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4.4_adenosine_deaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_precocenes\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.11_hydrolases_acting_on_C_P_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.28_alpha,alpha_trehalase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.2.1.3_long_chain_fatty_acid_CoA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5_oxidoreductase_acting_on_CH_CH_of_donor_with_a_quinone_or_related_compound_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_SMO_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.1.3_{glutamate_dehydrogenase_[NAD_P_+_]}_inhibitor:boolean\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_corticotropin_releasing_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1_C_C_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.11_fructose_bisphosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.15_diaminopropionate_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fossil_fuel\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tropomyosin_related_kinase_B_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bacterial_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2_pentosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.2_C_S_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1_non_peptide_linear_amide_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_uremic_toxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AKT1_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.70_sterol_14alpha_demethylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioopaque_medium\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_osteogenesis_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serine_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.5_oxidoreductase_acting_on_donor_CH_OH_group,_quinone_or_similar_compound_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11_oxidoreductase_acting_on_single_donors_and_incorporating_2_O_atoms_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Penicillium_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_UDP_glucuronosyltransferase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.5_phosphoric_ester_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1_phosphotransferases_with_an_alcohol_group_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_SMO_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_integrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pro_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6_hydrolases_acting_on_acid_anhydrides_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_collagen_cross_linking_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.109_dolichyl_phosphate_mannose_protein_mannosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5.2_[NAD_P_H_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRP_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.43_arogenate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1_oxidoreductase_acting_on_donor_CH_OH_group,_NAD_+_or_NADP_+_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"rotb\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_piezo1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.99_oxidoreductase_acting_on_donor_CH_CH_group,_with_other_acceptors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excitatory_amino_acid_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14_dipeptidyl_and_tripeptidyl_peptidases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_microtubule_destabilising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aryl_hydrocarbon_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_melatonin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.11_serine_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.184_[carbonyl_reductase_NADPH_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonin_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_denaturant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_steatosis_inducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fragrance\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiprotozoal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antilipemic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.2.27_sphinganine_1_phosphate_aldolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuromuscular_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acceptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.4_leucine_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopaminergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimycobacterial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1.2_acetyl_CoA_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_LIM_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.24_quercetin_2,3_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phase_transfer_catalyst\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2B_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.105_6_phosphofructo_2_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nucleophilic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tankyrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.4_C_S_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.1.3_adenosinetriphosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_specialised_pro_resolving_mediator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.19_3_phosphoshikimate_1_carboxyvinyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.46_deoxyhypusine_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.117_homogentisate_solanesyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Lewis_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electron_transport_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_physiological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.5.1.1_[DNA_ligase_ATP_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"mrdef\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.2_alanine_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17_oxidoreductase_acting_on_CH_or_CH2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2C_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fundamental_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_3_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.99_oxidoreductases_acting_on_diphenols_and_related_substances_as_donors,_other_acceptors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"fda_labels\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.23_beta_galactosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.25_inositol_phosphate_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.11_cAMP_dependent_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_apoptosis_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.31_arachidonate_12_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.16_glutamine_fructose_6_phosphate_transaminase_isomerizing_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_antifoaming_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fumigant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hsp70_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitrification_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.129_peptidoglycan_glycosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gut_flora_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_herbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparathyroid_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_environmental_contaminant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5.1_[succinate_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10.2_non_specific_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.5_arylamine_N_acetyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipsoriatic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.18_oxidoreductase_acting_on_paired_donors,_miscellaneous_compound_as_one_donor,_incorporating_1_atom_of_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathepsin_L_EC_3.4.22.15_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.2_L_amino_acid_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_keratolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropeptide_FF_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inositol_phosphorylceramide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.21_carnitine_O_palmitoyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifouling_biocide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp2_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.4.1_C_S_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ovicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mammalian_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.13_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.2_acid_D_amino_acid_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.4_trypsin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_LRH_1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.12_aspartate_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.3_D_amino_acid_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nerve_growth_factor_stimulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"clogp\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_explosive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9_oxidoreductase_acting_on_donor_heme_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.17_Ca_2+_/calmodulin_dependent_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_tenebrosa_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatic_steatosis_inducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1.2_DNA_topoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_pesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tetrazine_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fumigant_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.122_[_S_tetrahydroprotoberberine_N_methyltransferase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nucleoside_antibiotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MRI_contrast_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_bulking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PPARbeta/delta_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.205_IMP_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sialyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_secreted_frizzled_related_protein_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ceramide_mimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mouse_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_melanin_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agrochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.13.19_membrane_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucagon_like_peptide_1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_opener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24_metalloendopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_volatile_oil_component\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_crystallisation_adjutant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_juvenile_hormone_antagonists\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_amphiprotic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_gelling_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aryl_hydrocarbon_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_formula\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.1_dimethylallyltranstransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinesterase_reactivator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histone_acetyltransferase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.11.18_methionyl_aminopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiinfective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_monolignol\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.4_thymidine_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_2_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reproductive_control_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Brassica_napus_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_agrochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_paracetamol_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_dependent_Pi_transporter_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_expectorant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Jacobaea_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5.5_dynamin_GTPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antioxidant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_spin_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chitin_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1_miscellaneous_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.9_thioredoxin_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carotenoid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5.2_[dihydroorotate_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_first_generation_antipsychotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_spin_label\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatitis_C_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimanic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_stabiliser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.26_endoribonucleases_producing_5'_phosphomonoesters_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13_oxidoreductase_acting_on_paired_donors,_incorporating_1_atom_of_oxygen,_with_NADH_or_NADPH_as_one_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparasitic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kairomone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.116_[3'_hydroxy_N_methyl_S_coclaurine_4'_O_methyltransferase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.21.3_oxidoreductase_acting_on_X_H_and_Y_H_to_form_an_X_Y_bond,_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytoestrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sigma_2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.11.29_hypoxia_inducible_factor_proline_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.7.1_[glutamate_synthase_ferredoxin_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitussive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_translation_elongation_factor_1alpha_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gastrointestinal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ATP_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_forkhead_box_protein_O1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P2Y12_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carbamate_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitric_oxide_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mite_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifoaming_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.43_enhancer_of_zeste_homolog_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytochrome_chromophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_skin_lightening_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_LRH_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_G_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenoestrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.12_sphingomyelin_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_inflammatory_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_T_cell_proliferation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_farnesoid_X_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_spin_trapping_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ester_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_2_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.2.1_acid_thiol_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3_C_N_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.108_UDP_3_O_acyl_N_acetylglucosamine_deacetylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coccidiostat\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99_miscellaneous_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABAB_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wiskott_Aldrich_syndrome_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phenoxy_herbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_juvenile_hormone_mimic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.4_hydrolases_acting_on_ATP;_involved_in_cellular_and_subcellular_movement_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GnRH_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anabolic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.3.1._[NAD_P_H_oxidase_H2O2_forming_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasoconstrictor_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_D_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipopolysaccharide_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.99_intramolecular_transferase_transferring_other_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3_acid_anhydride_hydrolase_catalysing_transmembrane_movement_of_substances_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemical_hybridisation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ophthalmology_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ether_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.23.46_memapsin_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bradykinin_receptor_B2_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_abscisic_acid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifolate\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.16_oxidoreductase_acting_on_paired_donors,_reduced_pteridine_as_one_donor,_incorporating_1_atom_of_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipid_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_fusion_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electrophilic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_stimulant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H4_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_breast_cancer_resistance_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.1_purine_nucleoside_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_water_soluble_vitamin_role_\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_C_X_C_chemokine_receptor_type_4_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_axin_stabilizer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_demethylation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptide_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_squaraine_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P450_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_acetylcholine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14.5_dipeptidyl_peptidase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6_P_O_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.72_[site_specific_DNA_methyltransferase_adenine_specific_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antirheumatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.3_oxidoreductase_acting_on_donor_CH_CH_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hallucinogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bradykinin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alarm_pheromone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5_non_methyl_alkyl_or_aryl_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sex_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_spectrophotometric_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2.1_transketolase/transaldolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CB1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifibrinolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.146_11beta_hydroxysteroid_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bile_therapy_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidepressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_activating_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_c_Met_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.72_methylsterol_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_polar_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_sequencing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.8_[acyl_CoA_dehydrogenase_NADP_+_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_G_protein_coupled_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.3_oxidoreductase_acting_on_CH_or_CH2_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_colorimetric_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimitotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_allergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.3_ether_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiotensin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autophagy_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiseptic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"tpsa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.72_Delta_24_sterol_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.11.14_cytosol_alanyl_aminopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_liver_X_receptor_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5_hydrolases_acting_on_non_peptide_C_N_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.21.3.3_reticuline_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_odorant_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.45_glucosylceramidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GHB_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neonicotinoid_insectide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurokinin_1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_profungicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_soluble_guanylate_cyclase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscarinic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.3.1_aldehyde_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_propesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_schistosomicide_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alicyclic_antibiotics\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_orphan_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_archaeal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mTOR_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1_oxidoreductase_acting_on_donor_CH_OH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5_oxidoreductase_acting_on_donor_CH_NH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dinitrophenol_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatoprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6.1.1_adenylate_cyclase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glutathione_depleting_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.52_indoleamine_2,3_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.4_acetylserotonin_O_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bone_density_conservation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autophagy_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.31_{[hydroxymethylglutaryl_CoA_reductase_NADPH_]_kinase}_activator:boolean\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmacological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.170_[3beta_hydroxysteroid_4alpha_carboxylate_3_dehydrogenase_decarboxylating_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phosphate_protecting_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CB1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.3_oxidoreductase_acting_on_donor_CH_OH_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ATPase_motor_cytoplasmic_dynein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.181_13_deoxydaunorubicin_hydroxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabotropic_glutamate_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.15.1.1_superoxide_dismutase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sweetening_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glutamate_transporter_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mordant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_A_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"o_n\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fertilizer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.19_4_aminobutyrate_2_oxoglutarate_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_progestogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucagon_like_peptide_2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_siderophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_erythropeotin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_luciferin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitric_oxide_synthase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Papio_hamadryas_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6.1.2_guanylate_cyclase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_thickening_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.98.1_[dihydroorotate_oxidase_fumarate_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostaglandin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_marine_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptidomimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.7_acetylcholinesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.40_[_R_3_amino_2_methylpropionate_pyruvate_transaminase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_curare_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_venom\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A3_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bronchoconstrictor_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.35_gelatinase_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosystem_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.17_3',5'_cyclic_nucleotide_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bolaamphiphile\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androgen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_IP3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_cyanide_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropeptide_FF_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitubercular_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_quorum_sensing_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gibberellin_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3_oxidoreductase_acting_on_donor_CH_NH2_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1_glycosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.5_thrombin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_humectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathepsin_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Good's_buffer_substance\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.11.1_gamma_butyrobetaine_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_provitamin_A\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.4.2_[CTP_synthase_glutamine_hydrolyzing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_liver_X_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.15_oxidoreductase_acting_on_paired_donors,_with_reduced_Fe_S_protein_as_one_donor,_incorporating_1_O_atom_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.23.15_renin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thermal_degradation_product\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Bronsted_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.19.3_pyroglutamyl_peptidase_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1_oxidoreductase_acting_on_donor_CH_CH_group,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Camellia_sinensis_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_film_forming_compound\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_sterilant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.5.4_sulfide:quinone_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.48_cystathionine_gamma_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glioma_associated_oncogene_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_loop_diuretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_K_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Streptococcus_pneumoniae_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibacterial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.4_oxidoreductase_acting_on_CH_or_CH2_with_a_disulfide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ceramide_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.48_protein_tyrosine_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CB2_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.49_RNA_directed_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acyl_CoA:cholesterol_acyltransferase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2.2_gamma_glutamyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonionic_surfactant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABAA_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_RhoA_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_C_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiogenesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_elastin_laminin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.1_carbonic_anhydrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_dependent_antibiotics\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_general_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A2A_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiosensitizing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Chaetomium_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_firming_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.50_adenosylmethionine_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_physical_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_c_Jun_N_terminal_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.3.1_[citrate_Si_synthase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2A_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.12_cGMP_dependent_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lachrymator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.6_RNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Sir1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_affinity_label\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4_intramolecular_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiotonic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.1_acid_ammonia/amine_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_G_protein_coupled_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_label\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_label\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.9_Na_+_/K_+_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.1_hexokinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_rodenticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TGFbeta_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ergosterol_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antileishmanial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_rat_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.15_dihydropteroate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hyperglycemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_poison\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemokine_receptor_5_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.21_oxidoreductase_acting_on_X_H_and_Y_H_to_form_an_X_Y_bond_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hyaluronan_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hapten\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A2A_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PPARalpha_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_p53_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_virulence_factor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_detergent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.61_kexin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.18_exo_alpha_sialidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.3.2_creatine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_environmental_food_contaminant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPV4_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histaminergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anxiolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_anaemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"oh_nh\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.27.3_ribonuclease_T1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hypoglycemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathartic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.4_phosphotransferases_with_a_phosphate_group_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tau_aggregation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proteasome_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiotensin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_colour_retention_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_genotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.22_cyclin_dependent_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimetabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_synthetic_auxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phospholipid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.2_papain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_receptor_D1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_attractant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2.52_beta_N_acetylhexosaminidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nootropic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2_hydroxymethyl_,_formyl_and_related_transferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PPAR_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.1_alkaline_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2_aminoacyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nematode_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prosthetic_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRP_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.10_H_+_/K_+_exchanging_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_actin_polymerisation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_secretagogue\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.4_other_carbon_nitrogen_ligases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_like_growth_factor_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_imaging_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_effector\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.1.2_glutamate_ammonia_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PPARgamma_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ecdysone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticholesteremic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_surfactant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiatherogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.23_orotidine_5'_phosphate_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1_C_O_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lysophosphatidic_acid_receptor_3_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_isotopic_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4.1_cytosine_deaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Mycoplasma_genitalium_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_activated_receptor_2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99_other_isomerases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephrotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topical_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lysophosphatidic_acid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.39_ribulose_bisphosphate_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biomarker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Aspergillus_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_crustacean_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acid_base_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fat_soluble_vitamin_role_\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidyskinesia_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4_C_C_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxidising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proinsecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.2.2_glutamate_cysteine_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thioredoxin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_substance_P_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_barbiturate_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_parasympatholytic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_opioid_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.30_NAD_+_ADP_ribosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vibriostatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_survivin_suppressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_brassinosteroid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2A_receptor_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oneirogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.1.9_glutathione_peroxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Smad3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eugeroic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_microtubule_stabilising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5.1.3_dihydrofolate_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2_oxidoreductase_acting_on_donor_aldehyde/oxo_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2.1_glycine_hydroxymethyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.97_taurochenodeoxycholate_6alpha_hydroxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_melatonin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_humectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.99.29_[phytoene_desaturase_zeta_carotene_forming_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_steroidal_anti_inflammatory_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_polymerisation_monomer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_endothelin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxytocic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.3_histidine_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.1_[NAD_+_synthase_glutamine_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2.13_protein_glutamine_gamma_glutamyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.14_H_+_transporting_two_sector_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.34_arachidonate_5_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.8_Ca_2+_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_1_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromatographic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.4_phospholipase_A2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_buffer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_secretagogue\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.31_beta_glucuronidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimutagen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AMPA_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14_oxidoreductase_acting_on_paired_donors,_incorporating_of_1_atom_of_oxygen,_with_reduced_flavin_or_flavoprotein_as_one_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_trypanocidal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_reuptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Lewis_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cytochrome_b6f_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.30_receptor_protein_serine/threonine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.17.23_angiotensin_converting_enzyme_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.15_peptidyl_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_signal_transducer_and_activator_of_transcription_5_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPV_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anaesthesia_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excipient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihypertensive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifeedant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.267_1_deoxy_D_xylulose_5_phosphate_reductoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1_methyltransferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_miotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.3.1_catechol_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_activated_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.26_sterol_O_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vesicant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.16_chitin_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.31_{[hydroxymethylglutaryl_CoA_reductase_NADPH_]_kinase}_inhibitor:boolean\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.28_aromatic_L_amino_acid_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimineralocorticoid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fibrin_modulating_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_leukotriene_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.18_glutathione_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1.12_[glyceraldehyde_3_phosphate_dehydrogenase_phosphorylating_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sequestrant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.5.1_DNA/RNA_repair_enzymes_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscarinic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_purinergic_receptor_P2X_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.9_[enoyl_[acyl_carrier_protein]_reductase_NADH_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosynthetic_electron_transport_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.11_oxidoreductase_acting_on_paired_donors,_2_oxoglutarate_as_one_donor,_incorporating_1_atom_each_of_oxygen_into_both_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.88_peptide_deformylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flour_treatment_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4_non_peptide_cyclic_amidine_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.22_[3_oxo_5alpha_steroid_4_dehydrogenase_NADP_+_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.11_acetylornithine_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp3_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nutraceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephrotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NF_kappaB_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.64_peptidase_K_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_enhancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cosmetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prokaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mucolytic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycerophosphoinositol_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_microarray_analysis_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.1.3_racemases_acting_on_carbohydrates_and_derivatives_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protecting_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.23_ceramidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.36_pancreatic_elastase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"rgb\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.7_UDP_N_acetylglucosamine_1_carboxyvinyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_organophosphate_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hyaluronic_acid_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_DNA_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carotogenesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.26_prolyl_oligopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_glycoprotein_IIb/IIIa_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_intravenous_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatitis_C_virus_nonstructural_protein_5A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_polar_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_food_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.13_protein_kinase_C_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cannabinoid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_glucose_transport_protein_subtype_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_apoptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pesticide_synergist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_erythropoietin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticonvulsant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kisspeptin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.10_IkappaB_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anthelminthic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sulfite_ester_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carbohydrate_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"smiles\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.2_non_peptide_cyclic_amide_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.94_leukotriene_B4_20_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cofactor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.17*_metallocarboxypeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1_acyltransferase_transferring_other_than_amino_acyl_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.83_anthrax_lethal_factor_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.18_meprin_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescent_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_arrhythmia_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptide_coupling_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.3.13_alcohol_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.23_aspartic_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_colouring\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Escherichia_coli_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fatty_acid_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pro_angiogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucocorticoid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"lipinski\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_avicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_B_cell_lymphoma_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.4_oxidoreductase_acting_on_donor_CH_NH2_group,_a_disulfide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AP_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_teratogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosensitizing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2_C_O_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androgen_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticaking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.49_O_acetylhomoserine_aminocarboxypropyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.69_SARS_coronavirus_main_proteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.99.7_lanosterol_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_reverse_transcriptase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_acid_adenine_dinucleotide_phosphate_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter_transporter_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_growth_promotant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiamoebic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"hetero_sp2_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radical_scavenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5.1_oxidoreductase_acting_on_donor_CH_NH_group,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.20_elongation_factor_2_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cross_linking_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carcinogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiplasmodial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antisense_oligonucleotide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_epitope\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.3_phosphotransferases_with_a_nitrogenous_group_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_odorant_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vulnerary\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosystem_II_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hydrogen_acceptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha1B_adrenoceptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_voltage_dependent_anion_channel_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.3.2.10_soluble_epoxide_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.16.2_tyrosine_3_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.24_sphingosine_N_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_herbicide_safener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.42_isocitrate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostacyclin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chain_carrier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_obesity_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CETP_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2.1.6_acetolactate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_provitamin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiseborrheic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MAIT_cell_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.3_phosphoribosylformylglycinamidine_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.1_alcohol_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipyretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thromboxane_A2_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_emulsifier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sensitiser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.56_caspase_3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiplatyhelmintic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_packaging_gas\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_anticaking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_visual_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acyl_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_teichoic_acid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_alpha_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcimimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_synthetic_oral_contraceptive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1_oxidoreductase_acting_on_sulfur_group_of_donors,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gonadotropin_releasing_hormone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.141_[15_hydroxyprostaglandin_dehydrogenase_NAD_+_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peripheral_nervous_system_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.348_mRNA_m6A_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytoalexin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_reactivator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1_carboxylic_ester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antacid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gamma_secretase_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mutagen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.137_phosphatidylinositol_3_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carboxylic_acid_protecting_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cellulose_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ultraviolet_filter\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_homopteran_inhibitor_of_chitin_biosynthesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HBV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_VEGF_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hydrogen_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.4.1_ribonucleoside_diphosphate_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_SERCA_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.50_serine_C_palmitoyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reaction_intermediate\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.3.3_ornithine_carbamoyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.3.4_protoporphyrinogen_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.36_caspase_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorochrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aprotic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CFTR_potentiator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.2_tryptophan_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.97_glycylpeptide_N_tetradecanoyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_raising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.26_tau_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.26.13_retroviral_ribonuclease_H_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3_phosphoric_monoester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.4_amidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.3.2_laccase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diagnostic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4_phosphoric_diester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.17_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_and_with_reduced_ascorbate_as_one_donor,_and_incorporation_of_one_atom_of_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_inflammatory_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.5_oxidoreductase_acting_on_sulfur_group_donors,_quinone_or_similar_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tropomyosin_related_kinase_B_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ultrasound_contrast_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_NADH:ubiquinone_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1_ligases_forming_aminoacyl_tRNA_and_related_compounds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serine_proteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytogenic_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.18.1_tyrosinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mimotope\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gout_suppressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.31_{ditrans,polycis_undecaprenyl_diphosphate_synthase_[_2E,6E_farnesyl_diphosphate_specific]}_inhibitor:boolean\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tocolytic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.17_glucuronosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.24_mitogen_activated_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fuel_additive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H3_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.17_ornithine_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_triazine_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.33_pantothenate_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7_P_containing_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.24_gelatinase_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bile_acid_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_refrigerant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plasticiser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androstane_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.14_amidophosphoribosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_cosmetic_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"arom_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.231_[alpha,alpha_trehalose_phosphorylase_configuration_retaining_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.12.2_mitogen_activated_protein_kinase_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_estrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_contraceptive_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.38_cathepsin_K_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MALDI_matrix_material\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.66_lysine_specific_histone_demethylase_1A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_purinergic_receptor_P2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bleaching_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inhalation_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiauxins\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_greenhouse_gas\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_intercalator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_role_\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Toll_like_receptor_2_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.3_aconitate_hydratase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.33_arachidonate_15_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electron_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_piscicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.5.3_glycerol_3_phosphate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_maturation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.210_[3beta_or_20alpha_hydroxysteroid_dehydrogenase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hematologic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipsychotic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antisyphilitic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.3_acyltransferase_converting_acyl_to_alkyl_group_on_transfer_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxidative_phosphorylation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bone_morphogenetic_protein_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_auxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2_glycosylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4_glycosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxidized_luciferins\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PAR2_negative_allosteric_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.92_endopeptidase_Clp_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biophysical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.37_leukocyte_elastase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.15.3_alkane_1_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fuel\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_beta_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.21_aldehyde_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5.3_[NADH:ubiquinone_reductase_H_+_translocating_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasopressin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_gated_chloride_channel_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.2.6_beta_lactamase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_additive_carrier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.3_oxidoreductase_acting_on_donor_aldehyde/oxo_group_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1.1_pyruvate_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_astringent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Caenorhabditis_elegans_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fixative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromogenic_compound\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bronchodilator_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_B_Raf_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_transporter_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemokine_receptor_2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photobiochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.4.6_nucleoside_diphosphate_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.15_oxidoreductase_acting_on_superoxide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Sir2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.15.4_steroid_11beta_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gap_junctional_intercellular_communication_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_RhoC_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pregnane_X_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_scabicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.5.1_nitrilase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.24_phenylalanine_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sympatholytic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9.3_oxidoreductase_acting_on_donor_heme_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diagnostic_imaging_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephroprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3_C_N_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.11_phosphoinositide_phospholipase_C_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_blood_serum_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_asthmatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_psychotropic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyanotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1_oxidoreductase_acting_on_donor_aldehyde/oxo_group_with_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMDA_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_melanin_concentrating_hormone_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lymphocyte_function_associated_antigen_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bridged_diphenyl_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.3_microbial_collagenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.80_ceramide_glucosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_copper_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_STAT3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiovascular_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.11_neprilysin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PERK_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.1_peroxidases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimalarial\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_1_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5_oxidoreductase_acting_on_NADH_or_NADPH_with_a_quinone_or_similar_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.48_RNA_directed_RNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_marine_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_impurity\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.2.19_ubiquitin_protein_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prohormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proherbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.39_chymase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sedative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.3_intramolecular_oxidase_transposing_C=C_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibacterial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.21_squalene_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aldosterone_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.78_ent_kaurene_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_catalyst\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1_ester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.98_oxidoreductase_acting_on_donor_CH_CH_group,_with_other,_known,_acceptors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_abortifacient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5.2_small_monomeric_GTPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nutrient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.4.1.14_1_aminocyclopropane_1_carboxylate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihyperplasia_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phosphodiesterase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5_carbon_nitrogen_ligases_with_glutamine_as_amido_N_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.114_mannosyl_oligosaccharide_1,3_1,6_alpha_mannosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.24_alpha_mannosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMDA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.64_retinoid_isomerohydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hypoxia_inducible_factor_pathway_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ion_transport_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiopharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.71_endothelin_converting_enzyme_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"halogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.27_endoribonucleases_producing_other_than_5'_phosphomonoesters_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_geroprotector\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cytokinin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cysteine_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ester_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.127_inositol_trisphosphate_3_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.67_quinine_3_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antithyroid_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4_oxidoreductase_acting_on_donor_CH_NH2_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.17.1_dopamine_beta_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antinematodal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A2B_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.2_aldehyde_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fatty_acid_oxidation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_methionine_aminopeptidase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.10_serine_sulfate_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pheromone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_actin_polymerisation_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.18_myosin_light_chain_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ATP/ADP_translocase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wnt_signalling_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.34/EC_1.1.1.88_hydroxymethylglutaryl_CoA_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.22_diamine_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_ulcer_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.3_intramolecular_transferase_transferring_amino_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tissue_adhesive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipruritic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.166_heparanase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.15_glutamate_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_provitamin_B1\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.37_malate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_progestin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.19_arginine_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_micronutrient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_progesterone_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.1.11_L_ascorbate_peroxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_molluscicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9.3.1_cytochrome_c_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.29_geranylgeranyl_diphosphate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurokinin_1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_bleaching_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_emetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1_oxidoreductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histological_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidiarrhoeal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_incretin_mimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.25_shikimate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_magna_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.16_phosphoprotein_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tubulin_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_jasmonates\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sclerotherapy_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1_C1_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.27_4_hydroxyphenylpyruvate_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.1_hydrolases_acting_on_acid_anhydrides_in_P_containing_anhydrides_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_polar_aprotic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_II_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_suppressor_protein_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antispasmodic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.1_glycogen_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabotropic_glutamate_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_formyl_peptide_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excitatory_amino_acid_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_galeata_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.39_nitric_oxide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_curing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.6_catechol_O_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11_oxidoreductase_acting_on_peroxide_as_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.12_[dual_specificity_kinases_those_acting_on_Ser/Thr_and_Tyr_residues_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AMPA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_steroid_receptor_coactivator_stimulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wnt_signalling_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopaminergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_nematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMR_shift_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bacterial_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.22_cystathionine_beta_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_osmolyte\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_molecular_messenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiogenesis_modulating_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.1.1_racemases_acting_on_amino_acids_and_derivatives_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.99_glycosyltransferases_transferring_other_glycosyl_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tumour_antigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_defoliant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.75_furin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasodilator_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_somatostatin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_cytochrome_bc1_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.3_oxidoreductase_acting_on_NADH_or_NADPH_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mydriatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_matrix_metalloproteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucagon_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuroprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_survivin_dimerisation_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_transporter_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.5_[carbamoyl_phosphate_synthase_glutamine_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vesicular_glutamate_transport_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.20_tryptophan_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_B1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_quinone_outside_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anxiogenic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.11_tryptophan_2,3_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1_carboxy_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_additive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.1_alpha_amylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Grignard_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.1_non_specific_serine/threonine_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H2_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_salt_inducible_kinase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.59_protein_geranylgeranyltransferase_type_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiviral_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparkinson_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ATC\",\n    \"CHEBI\",\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"DrugCentral\",\n    \"EFO\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"REACT\",\n    \"UMLS\",\n    \"VANDF\",\n    \"UNII\",\n    \"GTOPDB\",\n    \"HMDB\",\n    \"CHEMBL.COMPOUND\",\n    \"PUBCHEM.COMPOUND\"\n   ]\n  },\n  \"biolink:ChemicalMixture\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biological_pigment\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sensitiser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1_non_peptide_linear_amide_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiplatyhelmintic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.70_sterol_14alpha_demethylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioopaque_medium\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serine_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1.3_[DNA_topoisomerase_ATP_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_osteogenesis_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_K_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_anticaking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibacterial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11_oxidoreductase_acting_on_single_donors_and_incorporating_2_O_atoms_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nasal_decongestant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5_hydrolases_acting_on_GTP;_involved_in_cellular_and_subcellular_movement_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Penicillium_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.4_monoamine_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_visual_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1_phosphotransferases_with_an_alcohol_group_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.4_oxidoreductase_acting_on_CH_or_CH2_with_a_disulfide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_SMO_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.48_protein_tyrosine_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcimimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_integrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_component\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.49_RNA_directed_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pro_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6_hydrolases_acting_on_acid_anhydrides_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_repellent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1_oxidoreductase_acting_on_sulfur_group_of_donors,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_collagen_cross_linking_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gonadotropin_releasing_hormone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABAA_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5.2_[NAD_P_H_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peripheral_nervous_system_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRP_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10.1_receptor_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiogenesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_reactivator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.1_carbonic_anhydrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1_oxidoreductase_acting_on_donor_CH_OH_group,_NAD_+_or_NADP_+_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_algal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1_carboxylic_ester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"rotb\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antacid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mutagen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucocorticoid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.137_phosphatidylinositol_3_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excitatory_amino_acid_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14_dipeptidyl_and_tripeptidyl_peptidases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_interferon_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_microtubule_destabilising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_general_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cellulose_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiosensitizing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonin_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_sarin_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_asthmatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diuretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_firming_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_denaturant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.3_triacylglycerol_lipase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_VEGF_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_steatosis_inducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiprotozoal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MTP_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antilipemic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.50_adenosylmethionine_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuromuscular_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.4.1_ribonucleoside_diphosphate_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7_nucleotidyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acceptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_physical_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopaminergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimycobacterial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1.2_acetyl_CoA_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2A_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phase_transfer_catalyst\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ligand\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.3.4_protoporphyrinogen_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorochrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pathway_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CFTR_potentiator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Sir1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrimidine_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4_intramolecular_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiotonic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.1_acid_ammonia/amine_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_G_protein_coupled_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nucleophilic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_raising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticoronaviral_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_rodenticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.26.13_retroviral_ribonuclease_H_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3_phosphoric_monoester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.70_Delta_14_sterol_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ergosterol_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_epidermal_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_aggregation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diagnostic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4_phosphoric_diester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.15_dihydropteroate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electron_transport_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_physiological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_inflammatory_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Lewis_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_receptor_D2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_NADH:ubiquinone_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"mrdef\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gout_suppressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17_oxidoreductase_acting_on_CH_or_CH2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_poison\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fibroblast_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tocolytic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cytochrome_bc1_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihypotensive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fundamental_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.24_mitogen_activated_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2.2_phosphoribosylglycinamide_formyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonnucleoside_hepatitis_C_virus_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hapten\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"fda_labels\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_detergent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fuel_additive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H3_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.11_cAMP_dependent_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.18_exo_alpha_sialidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_apoptosis_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_one_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.33_pantothenate_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histaminergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscle_relaxant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anxiolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7_P_containing_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_anaemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_antifoaming_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"oh_nh\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fumigant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hypoglycemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitrification_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathartic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.7_DNA_directed_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.12_trypanothione_disulfide_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"arom_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_herbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"status\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_environmental_contaminant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5.1_[succinate_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiotensin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_colour_retention_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_genotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.22_cyclin_dependent_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10.2_non_specific_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_estrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipsoriatic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimetabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_synthetic_auxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3_oxidoreductase_acting_on_donor_CH_CH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.4.10_non_chaperonin_molecular_chaperone_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_receptor_D1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_keratolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.44_xenobiotic_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MALDI_matrix_material\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.66_lysine_specific_histone_demethylase_1A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bradykinin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nootropic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifouling_biocide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_purinergic_receptor_P2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2_hydroxymethyl_,_formyl_and_related_transferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp2_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bleaching_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mammalian_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.13_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.4_trypsin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.1_alkaline_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"alogs\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6_oxidoreductase_acting_on_NADH_or_NADPH_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2_aminoacyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_molweight\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prosthetic_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRP_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thromboxane_A2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.10_H_+_/K_+_exchanging_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_intercalator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"clogp\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_explosive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9_oxidoreductase_acting_on_donor_heme_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_like_growth_factor_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.33_arachidonate_15_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatic_steatosis_inducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1.2_DNA_topoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_imaging_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_pesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_effector\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.1.2_glutamate_ammonia_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MRI_contrast_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.1_prostaglandin_endoperoxide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticholesteremic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.1_unspecific_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.15.1_peptidyl_dipeptidase_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_surfactant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.205_IMP_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hematologic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiglaucoma_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipsychotic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.58_protein_farnesyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99_other_isomerases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mouse_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antisyphilitic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agrochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephrotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22_cysteine_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.13.19_membrane_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topical_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_auxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lysophosphatidic_acid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasopressin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_opener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2_glycosylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunomodulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24_metalloendopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4_glycosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biomarker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_crustacean_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acid_base_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.92_endopeptidase_Clp_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biophysical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lichen_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fuel\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phenothiazine_antipsychotic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidyskinesia_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_respiratory_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_gelling_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4_C_C_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5.3_[NADH:ubiquinone_reductase_H_+_translocating_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxidising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proinsecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_formula\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.1_dimethylallyltranstransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinesterase_reactivator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_gated_chloride_channel_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.2.6_beta_lactamase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.3.5_cholestenol_Delta_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiinfective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.4_thymidine_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.3_oxidoreductase_acting_on_donor_aldehyde/oxo_group_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_astringent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reproductive_control_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fixative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_barbiturate_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hedgehog_signaling_pathway_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_parasympatholytic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromogenic_compound\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_agrochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_opioid_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bronchodilator_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_expectorant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.30_NAD_+_ADP_ribosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_survivin_suppressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antioxidant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_B_Raf_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_second_generation_antipsychotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1_miscellaneous_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2A_receptor_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flame_retardant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.9_thioredoxin_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carotenoid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oneirogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Smad3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.15_oxidoreductase_acting_on_superoxide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5.2_[dihydroorotate_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticoagulant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_first_generation_antipsychotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonstructural_protein_5A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatitis_C_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimanic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_scabicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_stabiliser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.26_endoribonucleases_producing_5'_phosphomonoesters_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13_oxidoreductase_acting_on_paired_donors,_incorporating_1_atom_of_oxygen,_with_NADH_or_NADPH_as_one_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_local_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5.1.3_dihydrofolate_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sympatholytic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9.3_oxidoreductase_acting_on_donor_heme_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparasitic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diagnostic_imaging_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephroprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_retardant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytoestrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2_oxidoreductase_acting_on_donor_aldehyde/oxo_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardioprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3_C_N_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.98_histone_deacetylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitussive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_two_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tranquilizing_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gastrointestinal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_asthmatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ATP_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_psychotropic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_humectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_respiratory_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coenzyme\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_steroidal_anti_inflammatory_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P2Y12_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_narcotic_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitric_oxide_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifoaming_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_disinfectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.3_histidine_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxytocic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2.13_protein_glutamine_gamma_glutamyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.34_arachidonate_5_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.8_Ca_2+_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.80_ceramide_glucosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calpain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sympathomimetic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitreponemal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_1_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromatographic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_copper_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.85_fatty_acid_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiovascular_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_G_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescent_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_buffer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4_hydrolases_acting_on_peptide_bond_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pronematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_inflammatory_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.2_oxidoreductase_with_H2O2_as_acceptor,_incorporating_1_O_atom_into_product_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14_oxidoreductase_acting_on_paired_donors,_incorporating_of_1_atom_of_oxygen,_with_reduced_flavin_or_flavoprotein_as_one_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_trypanocidal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_reuptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ester_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Lewis_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_2_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aetiopathogenetic_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimalarial\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_1_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5_oxidoreductase_acting_on_NADH_or_NADPH_with_a_quinone_or_similar_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3_C_N_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.35_3',5'_cyclic_GMP_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_marine_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.15_peptidyl_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Saccharomyces_cerevisiae_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coccidiostat\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proherbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99_miscellaneous_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13_[oxidoreductase_acting_on_single_donors_with_incorporation_of_molecular_oxygen_oxygenases_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wiskott_Aldrich_syndrome_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phenoxy_herbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sedative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.3_intramolecular_oxidase_transposing_C=C_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anaesthesia_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excipient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibacterial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.4_hydrolases_acting_on_ATP;_involved_in_cellular_and_subcellular_movement_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GnRH_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihypertensive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.78_ent_kaurene_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1_methyltransferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_catalyst\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasoconstrictor_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_miotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.3.1._[NAD_P_H_oxidase_H2O2_forming_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1_ester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flavouring_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_abortifacient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5.2_small_monomeric_GTPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_activated_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.99_intramolecular_transferase_transferring_other_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3_acid_anhydride_hydrolase_catalysing_transmembrane_movement_of_substances_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMDA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemical_hybridisation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ophthalmology_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiemetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ether_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.28_aromatic_L_amino_acid_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fibrin_modulating_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiopharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dermatologic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifolate\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipid_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sequestrant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"halogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscarinic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_purinergic_receptor_P2X_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_stimulant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_geroprotector\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H4_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosynthetic_electron_transport_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cysteine_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.6_coagulation_factor_Xa_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ester_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6_nitrogenous_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antithyroid_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flour_treatment_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostaglandin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4_oxidoreductase_acting_on_donor_CH_NH2_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.1_phospholipid_translocating_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antinematodal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4_non_peptide_cyclic_amidine_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_demethylation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp3_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P450_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.10_oligo_1,6_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.20_alpha_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_acetylcholine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14.5_dipeptidyl_peptidase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6_P_O_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nutraceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antirheumatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.3_oxidoreductase_acting_on_donor_CH_CH_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pheromone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephrotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.21_polo_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cosmetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alarm_pheromone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5_non_methyl_alkyl_or_aryl_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1_hydro_lyases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sex_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prokaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mucolytic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2.1_transketolase/transaldolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenobiotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiviral_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1_non_methyl_alkyl_or_aryl_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifibrinolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.18_myosin_light_chain_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidepressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"rgb\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8_oxidoreductase_acting_on_sulfur_group_of_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_DNA_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_polar_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_ulcer_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.26_prolyl_oligopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_glycoprotein_IIb/IIIa_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipruritic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenylate_cyclase_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_G_protein_coupled_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_intravenous_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.45_thymidylate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_food_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_colorimetric_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimitotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.48_sucrose_alpha_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.13_protein_kinase_C_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_glucose_transport_protein_subtype_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_apoptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_allergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autophagy_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.8_cholinesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thyroid_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiseptic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"tpsa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunological_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.72_Delta_24_sterol_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticonvulsant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_acidity_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_capsaicin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5_hydrolases_acting_on_non_peptide_C_N_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anthelminthic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"smiles\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.2_non_peptide_cyclic_amide_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vascular_endothelial_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cofactor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.45_glucosylceramidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3_intramolecular_oxidoreductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pediculicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9.3.1_cytochrome_c_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11_protein_serine/threonine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_emulsifier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1_acyltransferase_transferring_other_than_amino_acyl_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.83_anthrax_lethal_factor_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.18_meprin_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurokinin_1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_emetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1_oxidoreductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histological_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_profungicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidiarrhoeal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CPSF3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.3.1_aldehyde_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_arrhythmia_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescent_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscarinic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2_aldehyde_or_ketone_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_propesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_schistosomicide_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_magna_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prodrug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_orphan_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mTOR_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_colouring\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.2.2_myeloperoxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Escherichia_coli_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tubulin_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1_oxidoreductase_acting_on_donor_CH_OH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5_oxidoreductase_acting_on_donor_CH_NH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sclerotherapy_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fatty_acid_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1_C1_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.27_4_hydroxyphenylpyruvate_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_laxative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatoprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antispasmodic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholecystokinin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucocorticoid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"lipinski\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bone_density_conservation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiatherosclerotic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabotropic_glutamate_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunosuppressive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autophagy_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_avicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_voltage_gated_sodium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmacological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prosafener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_amphiphile\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_teratogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosensitizing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.39_nitric_oxide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.132_squalene_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2_C_O_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_antioxidant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11_oxidoreductase_acting_on_peroxide_as_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabotropic_glutamate_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androgen_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.15.1.1_superoxide_dismutase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticaking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AMPA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.69_SARS_coronavirus_main_proteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wnt_signalling_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopaminergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_reverse_transcriptase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mordant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_nematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMR_shift_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.99.7_lanosterol_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"o_n\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fertilizer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.19_4_aminobutyrate_2_oxoglutarate_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_growth_promotant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"hetero_sp2_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radical_scavenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5.1_oxidoreductase_acting_on_donor_CH_NH_group,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_membrane_transport_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiation_protective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiamoebic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_molecular_messenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acaricide_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiogenesis_modulating_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_thickening_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cross_linking_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6.1.2_guanylate_cyclase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carcinogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alkylating_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_marine_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptidomimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.7_acetylcholinesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiplasmodial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antineoplastic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.35_gelatinase_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosystem_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_epitope\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasodilator_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitrichomonal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androgen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_cyanide_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_cytochrome_bc1_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha1B_adrenoceptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hsp90_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.3_oxidoreductase_acting_on_NADH_or_NADPH_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_semiochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1_hexosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mydriatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_matrix_metalloproteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitubercular_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21_serine_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_herbicide_safener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuroprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gibberellin_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3_oxidoreductase_acting_on_donor_CH_NH2_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1_glycosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4.4_adenosine_deaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.5_thrombin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_humectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_B1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathepsin_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5_oxidoreductase_acting_on_CH_CH_of_donor_with_a_quinone_or_related_compound_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_obesity_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CETP_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2.1.6_acetolactate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1_carboxy_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiseborrheic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_additive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1_C_C_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Grignard_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.1_non_specific_serine/threonine_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H2_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Bronsted_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipyretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_emulsifier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.59_protein_geranylgeranyltransferase_type_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiviral_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bacterial_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1_oxidoreductase_acting_on_donor_CH_CH_group,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparkinson_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2_pentosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"CHEBI\",\n    \"DRUGBANK\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"UMLS\",\n    \"VANDF\",\n    \"PUBCHEM.COMPOUND\",\n    \"CHEMBL.COMPOUND\",\n    \"UNII\"\n   ]\n  },\n  \"biolink:ClinicalAttribute\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"UMLS\"\n   ]\n  },\n  \"biolink:ClinicalIntervention\": {\n   \"id_prefixes\": [\n    \"ARO\",\n    \"GENEPIO\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:Cohort\": {\n   \"id_prefixes\": [\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:ComplexMolecularMixture\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"UNII\",\n    \"CHEBI\",\n    \"DRUGBANK\",\n    \"MESH\"\n   ]\n  },\n  \"biolink:Device\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ATC\",\n    \"DRUGBANK\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:Disease\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiac_rhythm_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_thyroid_gland_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_marrow_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_gram-negative_bacterial_infections\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_prelingual_non-syndromic_genetic_hearing_loss\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nongerminomatous_germ_cell_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cancer_or_benign_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_auditory_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_renal_tubule_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_fungal_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neurocristopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphoid_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_cerebellar_ataxia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_rheumatic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-syndromic_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_palsy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_marrow_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_glycosylation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_malignant_germ_cell_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_interstitial_lung_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_blood_platelet_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_anomaly_of_puberty_or/and_menstrual_cycle_of_genetic_origin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_psychiatric_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_metabolic_epilepsy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_blood_coagulation_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_brain_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_neoplastic_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_and_epileptic_encephalopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_disorder_caused_by_infection\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mesenchymal_cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dysostosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_marrow_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_ear\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_kidney_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glomerular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_GPI_anchor_biosynthesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epidermal_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_breast_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ciliopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_paraplegia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_Mendelian_neurodevelopmental_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_peripheral_nervous_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eyelid_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_immune_deficiency_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epithelial_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_error_of_immunity\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hypertensive_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_infectious_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_development_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hematopoietic_and_lymphoid_cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_familial_dilated_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_defect_during_embryogenesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_infertility_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neurodegenerative_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_limb_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hypertrophic_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_colorectal_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_anomaly_of_puberty_or/and_menstrual_cycle\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_childhood-onset_epilepsy_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_proteostasis_deficiencies\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_urinary_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_infectious_disorder_of_the_nervous_system\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_palmoplantar_keratosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autoimmune_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_multiple_congenital_anomalies/dysmorphic_syndrome_without_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_dominant_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_tooth_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nervous_system_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_defect_of_the_eye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_reproductive_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_retinal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acute_diarrhea\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_atactic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_multiple_congenital_anomalies/dysmorphic_syndrome-intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_overgrowth/obesity_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_X-linked_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lens_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-acquired_pituitary_hormone_deficiency\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neurovascular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_disorder_of_amino_acid_and_other_organic_acid_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_myopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_arthropathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_familial_hypertrophic_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hemorrhagic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_disorder_of_amino_acid_transport\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_parasitic_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_dementia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_metabolite_absorption_and_transport\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_soft_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_arterial_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ectodermal_dysplasia_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_retinitis_pigmentosa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_high_grade_malignant_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_pancreas_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_gastrointestinal_mucositis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skull_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_appendage_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_encephalomyelitis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_connective_tissue_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_adenoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dementia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_carcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_soft_tissue_sarcoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_thoracic_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intestinal_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_perceptual_disorders\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myeloid_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_posterior_fossa_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_head_and_neck_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inflammatory_diarrhea\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lower_respiratory_tract_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ovarian_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mental_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hypogonadism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_vitreous-retinal_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_stomach_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_male_reproductive_organ_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ichthyosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_childhood_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_tumor_of_uterus\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_primary_bacterial_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_extragonadal_germ_cell_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_diabetes_mellitus\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dysentery\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_simple_vascular_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_leukodystrophy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neoplastic_disease_or_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_muscular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_breast_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_anemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nervous_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_primary_immunodeficiency_due_to_a_defect_in_adaptive_immunity\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cognitive_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dermis_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hearing_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myeloid_hemopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiovascular_organ_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cerebellar_ataxia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vascular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_keratinization_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_syndromic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_infectious_disease_or_post-infectious_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myomatous_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mineral_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_corneal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epilepsy_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_syndrome_caused_by_partial_chromosomal_duplication\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-Hodgkin_lymphoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_immune_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skeletal_muscle_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_carbohydrate_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_lipid_metabolism_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_motor_neuron_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-syndromic_limb_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neoplasm_of_thorax\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_postlingual_non-syndromic_genetic_hearing_loss\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_disorder_of_energy_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hematopoietic_and_lymphoid_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_progressive_muscular_dystrophy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_uterine_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_pigmentation_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiovascular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_squamous_cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_endocrine_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_kidney_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuroepithelial_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_peripheral_nervous_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_amino_acid_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_respiratory_or_thoracic_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neoplastic_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epilepsy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_development_or_morphogenesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_auditory_system_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hepatobiliary_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_disease_susceptibility\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_movement_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_osteochondrodysplasia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cerebellar_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_ovarian_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_visual_system\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_male_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autoinflammatory_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hemolytic_anemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_musculoskeletal_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_liver_and_intrahepatic_bile_duct_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_disorder_of_connective_tissue\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myeloid_leukemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_peripheral_neuropathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dermatitis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_muscle_tissue_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_upper_respiratory_tract_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_retinal_degeneration\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dystonic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_respiratory_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_precancerous_condition\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphoid_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_remodeling_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glycoprotein_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_syndromic_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_keratosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disease_susceptibility\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_nervous_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nervous_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_disorder_of_glycosylation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_small_intestine_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_Mendelian_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epidermal_appendage_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_spinal_cord_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_connective_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_anomaly_of_cardiovascular_system\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_retinal_dystrophy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_urinary_bladder_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_multiple_congenital_anomalies/dysmorphic_syndrome-variable_intellectual_disability_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_connective_and_soft_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_heart_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_endocrine_pancreas_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eye_adnexa_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_integumentary_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_liver_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_epidermal_appendage_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hepatobiliary_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cardiovascular_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_errors_of_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-human_animal_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nutritional_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mucositis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intestinal_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_female_infertility\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dilated_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphoid_hemopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_genetic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acute_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epilepsy,_idiopathic_generalized\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_immune_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_motor_neuron_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_multiple_congenital_anomalies/dysmorphic_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_muscular_dystrophy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_uveal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_human_disease_or_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_sarcoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_otorhinolaryngologic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_musculoskeletal_system_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_synostosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_infectious_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_biliary_tract_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nephropathy_secondary_to_a_storage_or_other_metabolic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_mitochondrial_metabolism_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_idiopathic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_malignant_endocrine_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_craniosynostosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_post-infectious_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_heart_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_leukocyte_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lung_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_germ_cell_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_melanocytic_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vascular_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_pituitary_gland_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_primary_immunodeficiency_due_to_a_genetic_defect_in_innate_immunity\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_ataxia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_musculoskeletal_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_uterine_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphatic_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glucose_metabolism_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glioma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_female_reproductive_organ_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_tract_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_endocrine_gland_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuroendocrine_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_X-linked_syndromic_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_adenocarcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_recessive_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_female_reproductive_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_peripheral_neuropathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_tumor_of_meninges\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vector-borne_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_head_and_neck_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cerebral_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_neoplasm_of_skin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_post-viral_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_autosomal_recessive_cerebellar_ataxia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_head_and_neck_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vitreous_body_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_organic_aciduria\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eye_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_ichthyosis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skull_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuroendocrine_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_blood_coagulation_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_familial_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cerebrovascular_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_diarrheal_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_B-cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_embryonal_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hearing_loss,_autosomal_recessive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eye_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_endocrine_growth_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_X-linked_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_female_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_organic_acid_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_sexual_differentiation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hearing_loss_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skeletal_dysplasia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bile_duct_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_vascular_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_primary_viral_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_papillary_epithelial_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_qualitative_or_quantitative_protein_defects_in_neuromuscular_diseases\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disease_or_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_facial_skeleton\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_chromosomal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_anomaly_of_metabolic_origin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_respiratory_tract_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_colorectal_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_respiratory_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_tumor_of_hematopoietic_and_lymphoid_tissues\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_integumentary_system_benign_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_myeloproliferative_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuromuscular_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_carbohydrate_metabolic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vesiculobullous_skin_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mouth_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_complex_neurodevelopmental_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_malignant_soft_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neurodevelopmental_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_orbital_region\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_colonic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_connective_and_soft_tissue_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acute_leukemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_large_intestine_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mitochondrial_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vascular_anomaly\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_smooth_muscle_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nonsyndromic_genetic_hearing_loss\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_mitochondrial_oxidative_phosphorylation_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_renal_tubular_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_heart_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_metabolic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_malignant_urinary_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_sensory_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_urogenital_tract_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_structural_myopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acquired\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_brain_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_leukemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eye_degenerative_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_adrenal_gland_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_pituitary_deficiency\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intestinal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_vision_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intellectual_disability\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_nervous_system_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_female_reproductive_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cranial_malformation\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_glandular_cell_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_integumentary_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hereditary_spastic_paraplegia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inherited_neurodegenerative_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_genetic_cardiac_rhythm_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_hematologic_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intrinsic_cardiomyopathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lymphoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_cranial_nerve_neuropathy\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dermis_elastic_tissue_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_male_reproductive_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_gastroenteritis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_syndrome_caused_by_partial_chromosomal_deletion\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_premature_aging_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_reproductive_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_congenital_hematological_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neonatal/infantile_epilepsy_syndrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inflammatory_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_urinary_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_viral_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_blood_vessel_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_dysostosis_of_genetic_origin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_male_infertility\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_immunodeficiency_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_non-syndromic_limb_reduction_defect\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lung_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_neuro-ophthalmological_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_eyelids_malposition_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_viral_disease_or_post-viral_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bacterial_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_developmental_disorder_of_mental_health\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_head_and_neck_carcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_epithelial_skin_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_bone_cancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_Charcot-Marie-Tooth_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_squamous_cell_carcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_breast_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_benign_epithelial_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_disorder_of_pilosebaceous_unit\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_sex-linked_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_digestive_system_carcinoma\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_gonadal_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skin_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_lysosomal_storage_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_blood_vessel_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_anterior_horn_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_central_nervous_system_neoplasm\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_normocytic_anemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_skeletal_system_disorder\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_intestinal_infectious_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_acute_myeloid_leukemia\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_virus_associated_tumor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_otorhinolaryngologic_disease\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"MONDO_SUPERCLASS_inborn_disorder_of_amino_acid_metabolism\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"SNOMEDCT\",\n    \"UMLS\",\n    \"GENEPIO\",\n    \"PSY\",\n    \"MONDO\",\n    \"EFO\",\n    \"MESH\",\n    \"PDQ\",\n    \"ORPHANET\",\n    \"ICD9\",\n    \"NCIT\",\n    \"LOINC\",\n    \"HP\",\n    \"DOID\",\n    \"OMIM\"\n   ]\n  },\n  \"biolink:DiseaseOrPhenotypicFeature\": {\n   \"id_prefixes\": [\n    \"HP\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Drug\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ATC\",\n    \"CHEBI\",\n    \"DRUGBANK\",\n    \"EFO\",\n    \"KEGG.DRUG\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"RXNORM\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:EnvironmentalFeature\": {\n   \"id_prefixes\": [\n    \"ENVO\"\n   ]\n  },\n  \"biolink:EnvironmentalProcess\": {\n   \"id_prefixes\": [\n    \"ECOCORE\",\n    \"ENVO\"\n   ]\n  },\n  \"biolink:Event\": {\n   \"id_prefixes\": [\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Exon\": {\n   \"id_prefixes\": [\n    \"EFO\"\n   ]\n  },\n  \"biolink:Food\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"DRUGBANK\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:Gene\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Experiments\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Textmining_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"location\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Coexpression_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Cooccurance\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": null,\n     \"original_attribute_names\": [\n      \"symbol\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Database\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": null,\n     \"original_attribute_names\": [\n      \"taxon\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"NCBITaxon\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Combined_score\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Experiments_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Coexpression\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Database_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Textmining\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"locus_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ecogene\",\n    \"CGNC\",\n    \"MGI\",\n    \"ORPHANET\",\n    \"HGNC\",\n    \"dictybase.gene\",\n    \"wb\",\n    \"NCIT\",\n    \"OMIM\",\n    \"FBgn\",\n    \"AraPort\",\n    \"NCBIGene\",\n    \"SO\",\n    \"UMLS\",\n    \"PomBase\",\n    \"RGD\",\n    \"EnsemblGenomes\",\n    \"UniProtKB\",\n    \"ENSEMBL\",\n    \"ZFIN\",\n    \"WormBase\"\n   ]\n  },\n  \"biolink:GeneFamily\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"CHEMBL.TARGET\",\n    \"PANTHER.FAMILY\",\n    \"HGNC.FAMILY\"\n   ]\n  },\n  \"biolink:GeneticInheritance\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"UMLS\"\n   ]\n  },\n  \"biolink:GeographicLocation\": {\n   \"id_prefixes\": [\n    \"FOODON\",\n    \"GAZ\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:GrossAnatomicalStructure\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"FMA\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PSY\",\n    \"UMLS\",\n    \"UBERON\"\n   ]\n  },\n  \"biolink:IndividualOrganism\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"OGMS\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:InformationContentEntity\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ARO\",\n    \"ATC\",\n    \"BFO\",\n    \"BSPO\",\n    \"BTO\",\n    \"CHEBI\",\n    \"CL\",\n    \"CVDO\",\n    \"DDANAT\",\n    \"DRUGBANK\",\n    \"ECO\",\n    \"EDAM\",\n    \"EFO\",\n    \"ENVO\",\n    \"EO\",\n    \"ExO\",\n    \"FIX\",\n    \"FLU\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"GEO\",\n    \"GO\",\n    \"GOREL\",\n    \"HANCESTRO\",\n    \"HCPCS\",\n    \"HGNC\",\n    \"HP\",\n    \"IAO\",\n    \"ICD10PCS\",\n    \"ICD9\",\n    \"IDO\",\n    \"LOINC\",\n    \"MAXO\",\n    \"MESH\",\n    \"MI\",\n    \"MONDO\",\n    \"NCBITaxon\",\n    \"NCIT\",\n    \"NCRO\",\n    \"NDDF\",\n    \"OBAN\",\n    \"OBI\",\n    \"OBO\",\n    \"OGMS\",\n    \"OIO\",\n    \"OMIABIS\",\n    \"OMIT\",\n    \"OMP\",\n    \"ORPHANET\",\n    \"PATO\",\n    \"PDQ\",\n    \"PR\",\n    \"PSY\",\n    \"RO\",\n    \"RXNORM\",\n    \"SIO\",\n    \"SO\",\n    \"STATO\",\n    \"TypOn\",\n    \"UBERON\",\n    \"UBERON_CORE\",\n    \"UBPROP\",\n    \"UMLS\",\n    \"UO\",\n    \"VANDF\",\n    \"VCARD\",\n    \"VT\",\n    \"biolink\",\n    \"dc\",\n    \"dct\",\n    \"doap\",\n    \"foaf\",\n    \"owl\",\n    \"rdfs\",\n    \"skos\"\n   ]\n  },\n  \"biolink:InformationResource\": {\n   \"id_prefixes\": [\n    \"EFO\",\n    \"OBO\",\n    \"RTX\",\n    \"biolink_download_source\",\n    \"identifiers_org_registry\",\n    \"umls_source\"\n   ]\n  },\n  \"biolink:LifeStage\": {\n   \"id_prefixes\": [\n    \"OPL\",\n    \"ORPHANET\",\n    \"UBERON\"\n   ]\n  },\n  \"biolink:MaterialSample\": {\n   \"id_prefixes\": [\n    \"EFO\",\n    \"GENEPIO\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:MicroRNA\": {\n   \"id_prefixes\": [\n    \"miRBase\"\n   ]\n  },\n  \"biolink:MolecularActivity\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"EFO\",\n    \"GO\",\n    \"KEGG.REACTION\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PSY\",\n    \"PathWhiz.Reaction\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:MolecularEntity\": {\n   \"id_prefixes\": [\n    \"BAO\",\n    \"CHEBI\",\n    \"CHEMBL.TARGET\",\n    \"EFO\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"IDO\",\n    \"KEGG.ENZYME\",\n    \"NCIT\",\n    \"OBI\",\n    \"OMIT\",\n    \"PathWhiz.Bound\",\n    \"PathWhiz.ElementCollection\",\n    \"PathWhiz.ProteinComplex\"\n   ]\n  },\n  \"biolink:MolecularMixture\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sensitiser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1_non_peptide_linear_amide_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiplatyhelmintic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.70_sterol_14alpha_demethylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioopaque_medium\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serine_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1.3_[DNA_topoisomerase_ATP_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_osteogenesis_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_K_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_anticaking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibacterial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11_oxidoreductase_acting_on_single_donors_and_incorporating_2_O_atoms_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nasal_decongestant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5_hydrolases_acting_on_GTP;_involved_in_cellular_and_subcellular_movement_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Penicillium_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.4_monoamine_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_visual_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1_phosphotransferases_with_an_alcohol_group_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.4_oxidoreductase_acting_on_CH_or_CH2_with_a_disulfide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_SMO_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.48_protein_tyrosine_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcimimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_integrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_component\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.49_RNA_directed_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pro_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6_hydrolases_acting_on_acid_anhydrides_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_repellent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1_oxidoreductase_acting_on_sulfur_group_of_donors,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_collagen_cross_linking_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gonadotropin_releasing_hormone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABAA_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5.2_[NAD_P_H_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peripheral_nervous_system_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRP_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10.1_receptor_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiogenesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_reactivator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.1_carbonic_anhydrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1_oxidoreductase_acting_on_donor_CH_OH_group,_NAD_+_or_NADP_+_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_algal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1_carboxylic_ester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"rotb\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antacid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mutagen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucocorticoid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.137_phosphatidylinositol_3_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excitatory_amino_acid_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14_dipeptidyl_and_tripeptidyl_peptidases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_interferon_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_microtubule_destabilising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_general_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cellulose_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiosensitizing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonin_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_sarin_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_asthmatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diuretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_firming_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_denaturant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.3_triacylglycerol_lipase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_VEGF_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_steatosis_inducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiprotozoal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MTP_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antilipemic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.50_adenosylmethionine_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuromuscular_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.4.1_ribonucleoside_diphosphate_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7_nucleotidyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acceptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_physical_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopaminergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimycobacterial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1.2_acetyl_CoA_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2A_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phase_transfer_catalyst\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ligand\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.3.4_protoporphyrinogen_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorochrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pathway_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Sir1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrimidine_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4_intramolecular_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiotonic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.1_acid_ammonia/amine_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_G_protein_coupled_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nucleophilic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_raising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticoronaviral_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_rodenticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.26.13_retroviral_ribonuclease_H_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3_phosphoric_monoester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.70_Delta_14_sterol_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ergosterol_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_epidermal_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_aggregation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4_phosphoric_diester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diagnostic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.15_dihydropteroate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electron_transport_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_inflammatory_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_physiological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Lewis_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_receptor_D2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_NADH:ubiquinone_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"mrdef\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gout_suppressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17_oxidoreductase_acting_on_CH_or_CH2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_poison\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fibroblast_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tocolytic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cytochrome_bc1_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihypotensive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fundamental_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.24_mitogen_activated_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2.2_phosphoribosylglycinamide_formyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonnucleoside_hepatitis_C_virus_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hapten\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"fda_labels\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_detergent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fuel_additive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H3_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.11_cAMP_dependent_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.18_exo_alpha_sialidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_apoptosis_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_one_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.33_pantothenate_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histaminergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscle_relaxant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anxiolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7_P_containing_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_anaemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"oh_nh\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitrification_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hypoglycemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathartic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.7_DNA_directed_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.12_trypanothione_disulfide_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"arom_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_herbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"status\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_environmental_contaminant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5.1_[succinate_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiotensin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_colour_retention_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_genotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.22_cyclin_dependent_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10.2_non_specific_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_estrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipsoriatic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimetabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_synthetic_auxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3_oxidoreductase_acting_on_donor_CH_CH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.4.10_non_chaperonin_molecular_chaperone_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_receptor_D1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_keratolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.44_xenobiotic_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MALDI_matrix_material\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.66_lysine_specific_histone_demethylase_1A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bradykinin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nootropic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifouling_biocide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_purinergic_receptor_P2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2_hydroxymethyl_,_formyl_and_related_transferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp2_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bleaching_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mammalian_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.13_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.4_trypsin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.1_alkaline_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"alogs\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6_oxidoreductase_acting_on_NADH_or_NADPH_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2_aminoacyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_molweight\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prosthetic_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRP_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thromboxane_A2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.10_H_+_/K_+_exchanging_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_intercalator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"clogp\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_explosive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9_oxidoreductase_acting_on_donor_heme_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_like_growth_factor_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.33_arachidonate_15_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatic_steatosis_inducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1.2_DNA_topoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_imaging_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_effector\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_pesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.1.2_glutamate_ammonia_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MRI_contrast_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.1_prostaglandin_endoperoxide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticholesteremic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.1_unspecific_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.15.1_peptidyl_dipeptidase_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_surfactant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.205_IMP_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hematologic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiglaucoma_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipsychotic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.58_protein_farnesyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99_other_isomerases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mouse_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antisyphilitic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agrochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephrotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22_cysteine_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.13.19_membrane_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topical_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_auxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lysophosphatidic_acid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasopressin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_opener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2_glycosylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunomodulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24_metalloendopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4_glycosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biomarker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_crustacean_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acid_base_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.92_endopeptidase_Clp_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biophysical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phenothiazine_antipsychotic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidyskinesia_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_respiratory_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4_C_C_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5.3_[NADH:ubiquinone_reductase_H_+_translocating_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxidising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proinsecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_formula\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.1_dimethylallyltranstransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinesterase_reactivator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_gated_chloride_channel_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.2.6_beta_lactamase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.3.5_cholestenol_Delta_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiinfective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.4_thymidine_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.3_oxidoreductase_acting_on_donor_aldehyde/oxo_group_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_astringent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reproductive_control_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_barbiturate_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hedgehog_signaling_pathway_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_parasympatholytic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromogenic_compound\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_agrochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_opioid_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bronchodilator_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_expectorant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.30_NAD_+_ADP_ribosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_survivin_suppressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antioxidant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_second_generation_antipsychotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_B_Raf_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1_miscellaneous_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2A_receptor_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flame_retardant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.9_thioredoxin_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carotenoid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oneirogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Smad3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.15_oxidoreductase_acting_on_superoxide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5.2_[dihydroorotate_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticoagulant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_first_generation_antipsychotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonstructural_protein_5A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimanic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_scabicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_stabiliser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13_oxidoreductase_acting_on_paired_donors,_incorporating_1_atom_of_oxygen,_with_NADH_or_NADPH_as_one_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.26_endoribonucleases_producing_5'_phosphomonoesters_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_local_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5.1.3_dihydrofolate_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sympatholytic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9.3_oxidoreductase_acting_on_donor_heme_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparasitic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diagnostic_imaging_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephroprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_retardant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytoestrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2_oxidoreductase_acting_on_donor_aldehyde/oxo_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardioprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3_C_N_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.98_histone_deacetylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitussive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_two_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tranquilizing_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gastrointestinal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_asthmatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_humectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_psychotropic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ATP_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_respiratory_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_steroidal_anti_inflammatory_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coenzyme\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P2Y12_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_narcotic_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitric_oxide_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_disinfectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.3_histidine_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxytocic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2.13_protein_glutamine_gamma_glutamyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.34_arachidonate_5_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.8_Ca_2+_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.80_ceramide_glucosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calpain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sympathomimetic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitreponemal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_1_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromatographic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_copper_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.85_fatty_acid_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiovascular_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_G_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescent_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_buffer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4_hydrolases_acting_on_peptide_bond_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pronematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_inflammatory_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.2_oxidoreductase_with_H2O2_as_acceptor,_incorporating_1_O_atom_into_product_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14_oxidoreductase_acting_on_paired_donors,_incorporating_of_1_atom_of_oxygen,_with_reduced_flavin_or_flavoprotein_as_one_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_trypanocidal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_reuptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ester_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Lewis_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_2_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aetiopathogenetic_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimalarial\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_1_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5_oxidoreductase_acting_on_NADH_or_NADPH_with_a_quinone_or_similar_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3_C_N_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.35_3',5'_cyclic_GMP_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_marine_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.15_peptidyl_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Saccharomyces_cerevisiae_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coccidiostat\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proherbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99_miscellaneous_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13_[oxidoreductase_acting_on_single_donors_with_incorporation_of_molecular_oxygen_oxygenases_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wiskott_Aldrich_syndrome_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phenoxy_herbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sedative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.3_intramolecular_oxidase_transposing_C=C_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anaesthesia_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excipient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibacterial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.4_hydrolases_acting_on_ATP;_involved_in_cellular_and_subcellular_movement_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GnRH_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihypertensive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.78_ent_kaurene_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1_methyltransferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_catalyst\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasoconstrictor_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_miotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.3.1._[NAD_P_H_oxidase_H2O2_forming_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1_ester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flavouring_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_abortifacient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5.2_small_monomeric_GTPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_activated_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.99_intramolecular_transferase_transferring_other_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3_acid_anhydride_hydrolase_catalysing_transmembrane_movement_of_substances_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMDA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemical_hybridisation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ophthalmology_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiemetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ether_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.28_aromatic_L_amino_acid_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fibrin_modulating_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiopharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dermatologic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifolate\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipid_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sequestrant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"halogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscarinic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_purinergic_receptor_P2X_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_stimulant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_geroprotector\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H4_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosynthetic_electron_transport_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cysteine_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.6_coagulation_factor_Xa_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ester_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6_nitrogenous_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antithyroid_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flour_treatment_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostaglandin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4_oxidoreductase_acting_on_donor_CH_NH2_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.1_phospholipid_translocating_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antinematodal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4_non_peptide_cyclic_amidine_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_demethylation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp3_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P450_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.10_oligo_1,6_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.20_alpha_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_acetylcholine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14.5_dipeptidyl_peptidase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6_P_O_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nutraceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antirheumatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.3_oxidoreductase_acting_on_donor_CH_CH_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephrotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.21_polo_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cosmetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5_non_methyl_alkyl_or_aryl_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1_hydro_lyases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sex_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prokaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mucolytic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2.1_transketolase/transaldolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenobiotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiviral_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1_non_methyl_alkyl_or_aryl_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifibrinolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.18_myosin_light_chain_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidepressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"rgb\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8_oxidoreductase_acting_on_sulfur_group_of_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_DNA_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_polar_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_ulcer_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.26_prolyl_oligopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_glycoprotein_IIb/IIIa_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipruritic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenylate_cyclase_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_G_protein_coupled_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_intravenous_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.45_thymidylate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_food_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_colorimetric_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimitotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.48_sucrose_alpha_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.13_protein_kinase_C_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_glucose_transport_protein_subtype_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_apoptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_allergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autophagy_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.8_cholinesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"tpsa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiseptic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunological_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.72_Delta_24_sterol_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticonvulsant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_acidity_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_capsaicin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5_hydrolases_acting_on_non_peptide_C_N_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anthelminthic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"smiles\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.2_non_peptide_cyclic_amide_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vascular_endothelial_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cofactor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.45_glucosylceramidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3_intramolecular_oxidoreductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pediculicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9.3.1_cytochrome_c_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11_protein_serine/threonine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_emulsifier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1_acyltransferase_transferring_other_than_amino_acyl_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.83_anthrax_lethal_factor_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.18_meprin_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurokinin_1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_emetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1_oxidoreductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histological_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_profungicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidiarrhoeal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CPSF3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.3.1_aldehyde_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_arrhythmia_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescent_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscarinic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2_aldehyde_or_ketone_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_propesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_schistosomicide_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_magna_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prodrug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_orphan_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mTOR_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_colouring\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.2.2_myeloperoxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Escherichia_coli_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tubulin_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1_oxidoreductase_acting_on_donor_CH_OH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5_oxidoreductase_acting_on_donor_CH_NH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sclerotherapy_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fatty_acid_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1_C1_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.27_4_hydroxyphenylpyruvate_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_laxative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antispasmodic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholecystokinin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucocorticoid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"lipinski\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bone_density_conservation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiatherosclerotic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabotropic_glutamate_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunosuppressive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autophagy_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_avicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_voltage_gated_sodium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmacological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prosafener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_amphiphile\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_teratogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosensitizing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.39_nitric_oxide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.132_squalene_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2_C_O_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_antioxidant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11_oxidoreductase_acting_on_peroxide_as_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabotropic_glutamate_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androgen_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.15.1.1_superoxide_dismutase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticaking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AMPA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.69_SARS_coronavirus_main_proteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wnt_signalling_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopaminergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_reverse_transcriptase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mordant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_nematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMR_shift_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.99.7_lanosterol_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"o_n\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fertilizer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.19_4_aminobutyrate_2_oxoglutarate_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_growth_promotant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"hetero_sp2_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5.1_oxidoreductase_acting_on_donor_CH_NH_group,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radical_scavenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_membrane_transport_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiation_protective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiamoebic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_molecular_messenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiogenesis_modulating_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_thickening_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cross_linking_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6.1.2_guanylate_cyclase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carcinogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alkylating_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_marine_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptidomimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.7_acetylcholinesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiplasmodial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antineoplastic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.35_gelatinase_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosystem_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_epitope\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasodilator_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitrichomonal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androgen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_cyanide_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_cytochrome_bc1_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha1B_adrenoceptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hsp90_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.3_oxidoreductase_acting_on_NADH_or_NADPH_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1_hexosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mydriatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_matrix_metalloproteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitubercular_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21_serine_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_herbicide_safener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gibberellin_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuroprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3_oxidoreductase_acting_on_donor_CH_NH2_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1_glycosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4.4_adenosine_deaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.5_thrombin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_humectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_B1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathepsin_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5_oxidoreductase_acting_on_CH_CH_of_donor_with_a_quinone_or_related_compound_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_obesity_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CETP_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2.1.6_acetolactate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1_carboxy_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiseborrheic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_additive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1_C_C_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Grignard_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.1_non_specific_serine/threonine_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H2_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Bronsted_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipyretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_emulsifier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.59_protein_geranylgeranyltransferase_type_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiviral_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bacterial_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1_oxidoreductase_acting_on_donor_CH_CH_group,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparkinson_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2_pentosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"PUBCHEM.COMPOUND\",\n    \"CHEMBL.COMPOUND\",\n    \"UNII\",\n    \"CHEBI\",\n    \"UMLS\",\n    \"DRUGBANK\"\n   ]\n  },\n  \"biolink:NamedThing\": {\n   \"id_prefixes\": [\n    \"AEO\",\n    \"ARO\",\n    \"ATC\",\n    \"BFO\",\n    \"BSPO\",\n    \"BTO\",\n    \"CARO\",\n    \"CHEBI\",\n    \"CHEMBL.MECHANISM\",\n    \"CHMO\",\n    \"CLO\",\n    \"CP\",\n    \"ECO\",\n    \"ECOCORE\",\n    \"ECTO\",\n    \"EFO\",\n    \"ENVO\",\n    \"EO\",\n    \"EPO\",\n    \"ERO\",\n    \"ExO\",\n    \"FBbt\",\n    \"FBdv\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"GENO\",\n    \"GO\",\n    \"HANCESTRO\",\n    \"HP\",\n    \"ICD9\",\n    \"IDO\",\n    \"LOINC\",\n    \"MAXO\",\n    \"MESH\",\n    \"MF\",\n    \"MFOMD\",\n    \"MMO\",\n    \"MONDO\",\n    \"MP\",\n    \"MPATH\",\n    \"NBO\",\n    \"NCIT\",\n    \"NDDF\",\n    \"OAE\",\n    \"OBA\",\n    \"OBI\",\n    \"OBO\",\n    \"OGMS\",\n    \"OMIM\",\n    \"OMIT\",\n    \"OMRSE\",\n    \"OPL\",\n    \"ORPHANET\",\n    \"PATO\",\n    \"PDQ\",\n    \"PECO\",\n    \"PO\",\n    \"PSY\",\n    \"RO\",\n    \"SEMMEDDB\",\n    \"SIO\",\n    \"SNOMED\",\n    \"SO\",\n    \"STATO\",\n    \"STY\",\n    \"TO\",\n    \"TRANS\",\n    \"UMLS\",\n    \"UO\",\n    \"VANDF\",\n    \"VT\",\n    \"XCO\",\n    \"ZFA\",\n    \"biolink\",\n    \"foaf\",\n    \"owl\"\n   ]\n  },\n  \"biolink:NoncodingRNAProduct\": {\n   \"id_prefixes\": [\n    \"NCIT\",\n    \"ORPHANET\"\n   ]\n  },\n  \"biolink:NucleicAcidEntity\": {\n   \"id_prefixes\": [\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCBIGene\",\n    \"NCIT\",\n    \"NDDF\",\n    \"ORPHANET\",\n    \"PDQ\",\n    \"PSY\",\n    \"PathWhiz.NucleicAcid\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:OrganismAttribute\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"UMLS\"\n   ]\n  },\n  \"biolink:OrganismTaxon\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ATC\",\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"EFO\",\n    \"EO\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCBITaxon\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:OrganismalEntity\": {\n   \"id_prefixes\": [\n    \"MESH\"\n   ]\n  },\n  \"biolink:PathologicalProcess\": {\n   \"id_prefixes\": [\n    \"EFO\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"OBI\",\n    \"PDQ\",\n    \"PSY\",\n    \"REACT\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Pathway\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"REACT\",\n    \"PathWhiz\",\n    \"NCIT\",\n    \"KEGG\",\n    \"SMPDB\",\n    \"BIOCARTA\",\n    \"GO\",\n    \"PW\",\n    \"WP\",\n    \"PANTHER.PATHWAY\"\n   ]\n  },\n  \"biolink:Phenomenon\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"FMA\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:PhenotypicFeature\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"SNOMEDCT\",\n    \"UMLS\",\n    \"GENEPIO\",\n    \"SYMP\",\n    \"LOINC\",\n    \"OBA\",\n    \"UPHENO\",\n    \"PSY\",\n    \"MONDO\",\n    \"FOODON\",\n    \"HP\",\n    \"OMIM\",\n    \"ENVO\",\n    \"MP\",\n    \"DOID\",\n    \"EFO\",\n    \"MESH\",\n    \"PDQ\",\n    \"PCO\",\n    \"CHEMBL.TARGET\",\n    \"PATO\",\n    \"ORPHANET\",\n    \"ICD9\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:PhysicalEntity\": {\n   \"id_prefixes\": [\n    \"ARO\",\n    \"ATC\",\n    \"BAO\",\n    \"BFO\",\n    \"BTO\",\n    \"CARO\",\n    \"CEPH\",\n    \"CHMO\",\n    \"CLO\",\n    \"EFO\",\n    \"ENVO\",\n    \"FMA\",\n    \"FOODON\",\n    \"GENEPIO\",\n    \"GEO\",\n    \"HANCESTRO\",\n    \"ICO\",\n    \"IDO\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"OBI\",\n    \"OGG\",\n    \"PCO\",\n    \"PO\",\n    \"PSY\",\n    \"SO\",\n    \"UMLS\",\n    \"VANDF\",\n    \"VCARD\",\n    \"dbpedia\"\n   ]\n  },\n  \"biolink:PhysiologicalProcess\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"FMA\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"MF\",\n    \"MFOMD\",\n    \"NCIT\",\n    \"OGMS\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Polypeptide\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coenzyme\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biological_pigment\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"tpsa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": null,\n     \"original_attribute_names\": [\n      \"symbol\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiovascular_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anthelminthic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mammalian_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cofactor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pro_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"NCBITaxon\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Experiments_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11_protein_serine/threonine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_molweight\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aetiopathogenetic_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prodrug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Escherichia_coli_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Saccharomyces_cerevisiae_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Coexpression_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Cooccurance\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholecystokinin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasoconstrictor_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mouse_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Coexpression\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Combined_score\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmacological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Aspergillus_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biophysical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"locus_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_toxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_c_Jun_N_terminal_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Experiments\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ligand\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"location\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_formula\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_membrane_transport_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_erythropeotin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_siderophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_molecular_messenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Database\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiinfective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": null,\n     \"original_attribute_names\": [\n      \"taxon\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_3+_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_venom\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antineoplastic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mycotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Textmining\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_semiochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"mrdef\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pheromone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Textmining_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_poison\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.24_mitogen_activated_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prokaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"fda_labels\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_corticotropin_releasing_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparasitic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropeptide_Y2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7_P_containing_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_blood_serum_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Database_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bacterial_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyanotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ATC\",\n    \"DRUGBANK\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\",\n    \"UniProtKB\",\n    \"PR\",\n    \"ENSEMBL\",\n    \"CHEBI\",\n    \"NCBIGene\",\n    \"PUBCHEM.COMPOUND\"\n   ]\n  },\n  \"biolink:PopulationOfIndividualOrganisms\": {\n   \"id_prefixes\": [\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Procedure\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"HCPCS\",\n    \"ICD10PCS\",\n    \"ICD9\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PDQ\",\n    \"PSY\",\n    \"UMLS\"\n   ]\n  },\n  \"biolink:Protein\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"mrdef\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Experiments\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Textmining_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"location\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Coexpression_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_formula\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"tpsa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Cooccurance\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": null,\n     \"original_attribute_names\": [\n      \"symbol\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"fda_labels\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Database\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": null,\n     \"original_attribute_names\": [\n      \"taxon\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"NCBITaxon\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Combined_score\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Experiments_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Coexpression\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_molweight\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Database_transferred\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"Textmining\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"locus_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"CHEBI\",\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"FMA\",\n    \"LOINC\",\n    \"MESH\",\n    \"MOD\",\n    \"NCIT\",\n    \"OBI\",\n    \"OMIT\",\n    \"PR\",\n    \"REACT\",\n    \"SO\",\n    \"UMLS\",\n    \"UniProtKB\",\n    \"ENSEMBL\",\n    \"NCBIGene\"\n   ]\n  },\n  \"biolink:ProteinDomain\": {\n   \"id_prefixes\": [\n    \"NCIT\"\n   ]\n  },\n  \"biolink:ProteinFamily\": {\n   \"id_prefixes\": [\n    \"NCIT\"\n   ]\n  },\n  \"biolink:Publication\": {\n   \"id_prefixes\": [\n    \"FMA\",\n    \"HP\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"PSY\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  },\n  \"biolink:RNAProduct\": {\n   \"id_prefixes\": [\n    \"CHEBI\",\n    \"EFO\",\n    \"SO\"\n   ]\n  },\n  \"biolink:SequenceVariant\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"CAID\"\n   ]\n  },\n  \"biolink:SmallMolecule\": {\n   \"attributes\": [\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biological_pigment\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ectoparasiticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.2.2_quinol_cytochrome_c_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protophilic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1.3_[DNA_topoisomerase_ATP_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Bronsted_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nasal_decongestant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5_hydrolases_acting_on_GTP;_involved_in_cellular_and_subcellular_movement_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.4_monoamine_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropeptide_Y_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_component\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1.11_aspartate_semialdehyde_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_repellent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_release_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antispermatogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurokinin_3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_capsaicin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.4_dihydrolipoyl_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10.1_receptor_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_algal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.151_inositol_polyphosphate_multikinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_blood_substitute\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.159_7alpha_hydroxysteroid_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucocorticoid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_interferon_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_urinary_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.99_fatty_acid_amide_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.4_[asparagine_synthase_glutamine_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_sarin_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_asthmatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.40_pyruvate_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diuretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.3_triacylglycerol_lipase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MTP_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_macrophage_migration_inhibitory_factor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7_nucleotidyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neoglycolipid_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPM4_channel_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ligand\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pathway_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrimidine_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_secretase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_3+_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticoronaviral_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.52_calpain_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.70_Delta_14_sterol_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_S100_calcium_binding_protein_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_epidermal_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_aggregation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_receptor_D2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.3_oxidoreductase_acting_on_diphenols_and_related_substances_as_donors_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oral_contraceptive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_persistent_organic_pollutant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.91_sphingosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fibroblast_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_orexin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cytochrome_bc1_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihypotensive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.11_aminopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2.2_phosphoribosylglycinamide_formyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonnucleoside_hepatitis_C_virus_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABAA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.53_3',5'_cyclic_AMP_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_one_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10_oxidoreductase_acting_on_diphenols_and_related_substances_as_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscle_relaxant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_renal_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.7_DNA_directed_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_mimic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_progesterone_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.12_trypanothione_disulfide_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"status\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_Tat_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thrombopoietin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cell_dedifferentiation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.41_4_nitrophenylphosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3_oxidoreductase_acting_on_donor_CH_CH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.4.10_non_chaperonin_molecular_chaperone_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.44_xenobiotic_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bradykinin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_leprostatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coral_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.53_calpain_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.1.1_triose_phosphate_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"alogs\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_endocrine_disruptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6_oxidoreductase_acting_on_NADH_or_NADPH_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.64_alpha,alpha_trehalose_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_molweight\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_initiation_factor_4F_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thromboxane_A2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_necroptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropilin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.1_racemase/epimerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPV1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.1_prostaglandin_endoperoxide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.1_unspecific_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.15.1_peptidyl_dipeptidase_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.1_oxidoreductase_acting_on_donor_CH_NH2_group;_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_female_contraceptive_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.8_transferases_for_other_substituted_phosphate_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_propellant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiglaucoma_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.58_protein_farnesyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_gamma_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22_cysteine_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.3_carboxy_and_carbamoyltransferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasopressin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunomodulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carbamylphosphate_synthetase_I_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_K_ATP_channel_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electron_acceptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lichen_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phenothiazine_antipsychotic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.2_oxidoreductase_acting_on_diphenols_and_related_substances_as_donors_with_a_cytochrome_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_toxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_respiratory_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.44_NADP_+_dependent_decarboxylating_phosphogluconate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_gamma_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.3.5_cholestenol_Delta_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.8.15_UDP_N_acetylglucosamine_dolichyl_phosphate_N_acetylglucosaminephosphotransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_allelochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.15.6_cholesterol_monooxygenase_side_chain_cleaving_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Aurora_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hedgehog_signaling_pathway_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mycotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_signalling_molecule\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.2_[GMP_synthase_glutamine_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptide_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_second_generation_antipsychotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flame_retardant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tolerogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytosiderophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bromodomain_containing_protein_4_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.8_hypoxanthine_phosphoribosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticoagulant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonstructural_protein_5A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autoinducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_stimulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_local_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_growth_retardant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardioprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.98_histone_deacetylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_IP3_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_two_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tranquilizing_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14.2_dipeptidyl_peptidase_II_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.9_riboflavin_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_respiratory_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.5_lysophospholipase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.20_diacylglycerol_O_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coenzyme\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_narcotic_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.37_[DNA_cytosine_5_methyltransferase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_disinfectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calpain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sympathomimetic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cis_Golgi_ArfGEF_GBF_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.85_fatty_acid_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reactive_oxygen_species_generator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescent_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4_hydrolases_acting_on_peptide_bond_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pronematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_elicitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.2_oxidoreductase_with_H2O2_as_acceptor,_incorporating_1_O_atom_into_product_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.4.2_[glycine_dehydrogenase_aminomethyl_transferring_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aetiopathogenetic_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_partial_prostacyclin_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.1_carboxylesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.35_3',5'_cyclic_GMP_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_propellant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Saccharomyces_cerevisiae_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.188_prostaglandin_F_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_RUNX1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13_[oxidoreductase_acting_on_single_donors_with_incorporation_of_molecular_oxygen_oxygenases_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_sensitizing_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.99.2_[ribosyldihydronicotinamide_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.8_histamine_N_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mycoestrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_transporter_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flavouring_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPA1_channel_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.4.1.11_methionine_gamma_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_macronutrient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:same_as\",\n     \"original_attribute_names\": [\n      \"equivalent_identifiers\"\n     ],\n     \"value_type_id\": \"metatype:uriorcurie\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiemetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phosphoantigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.94_scytalone_dehydratase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.49_channel_conductance_controlling_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoid_X_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ERK_dimerisation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dermatologic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Arabidopsis_thaliana_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_alpha/beta_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.6_lysine_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glutamine_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.19_nicotinamidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.6_coagulation_factor_Xa_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6_nitrogenous_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostaglandin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_compatible_osmolytes\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_pulex_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ether_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.10_oligo_1,6_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.20_alpha_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_benzodiazepine_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ethylene_releasers\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.6_methionine_adenosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.21_polo_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1_hydro_lyases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.14_aromatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenobiotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiviral_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1_non_methyl_alkyl_or_aryl_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.3.2_xanthine_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8_oxidoreductase_acting_on_sulfur_group_of_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.1_chymotrypsin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.2_[pyruvate_dehydrogenase_acetyl_transferring_]_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenoantigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_uncoupling_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenylate_cyclase_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histamine_releasing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_depigmentation_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.45_thymidylate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calmodulin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.48_sucrose_alpha_glucosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.1.3.2_UDP_glucose_4_epimerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sigma_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.8_cholinesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thyroid_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunological_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_corrosion_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.11.2_procollagen_proline_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemosterilant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.1.6_catalase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proacaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_acidity_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_capsaicin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.255_protein_O_GlcNAc_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vascular_endothelial_growth_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_uricosuric_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3_intramolecular_oxidoreductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_osmotic_diuretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pediculicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11_protein_serine/threonine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_emulsifier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CPSF3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.11.1_hydrolases_acting_on_C_P_bonds_of_phosphono_acetaldehyde,_acetate,_or_pyruvate_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.5_hydrolase_acting_on_C_N_bonds_in_nitriles_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2_aldehyde_or_ketone_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.5_urease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.2.1.45_E1_ubiquitin_activating_enzyme_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prodrug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.2.2_myeloperoxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neoantigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inorganic_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1.88_L_glutamate_gamma_semialdehyde_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.153_[sepiapterin_reductase_L_erythro_7,8_dihydrobiopterin_forming_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Maillard_reaction_product\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.48_histone_acetyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_laxative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholecystokinin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_quinol_oxidation_site_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.9_steroid_17alpha_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescence_quencher\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiatherosclerotic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_immunosuppressive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.2_glutaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_voltage_gated_sodium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_amphiphile\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.132_squalene_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_activating_factor_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_antioxidant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.11.1.3_phosphonopyruvate_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.3.2_lysine_2,3_aminomutase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.154_sterol_14alpha_demethylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiation_protective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_membrane_transport_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostaglandin_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_guanylate_cyclase_2C_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alkylating_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1.3_[aldehyde_dehydrogenase_NAD_+_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.79_cyclopropane_fatty_acyl_phospholipid_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antineoplastic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.1_intramolecular_oxidoreductase_interconverting_aldoses_and_ketoses_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CB2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitrichomonal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.19_omega_peptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.91_trans_cinnamate_4_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cannabinoid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hsp90_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nuclear_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_semiochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1_hexosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chiral_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_C5a_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21_serine_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.3.8_ATP_citrate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P2Y2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_precocenes\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4.4_adenosine_deaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.11_hydrolases_acting_on_C_P_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.28_alpha,alpha_trehalase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.2.1.3_long_chain_fatty_acid_CoA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_SMO_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5_oxidoreductase_acting_on_CH_CH_of_donor_with_a_quinone_or_related_compound_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.1.3_{glutamate_dehydrogenase_[NAD_P_+_]}_inhibitor:boolean\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_corticotropin_releasing_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1_C_C_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.11_fructose_bisphosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.15_diaminopropionate_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fossil_fuel\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tropomyosin_related_kinase_B_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bacterial_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2_pentosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.2_C_S_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1_non_peptide_linear_amide_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_uremic_toxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AKT1_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.70_sterol_14alpha_demethylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioopaque_medium\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_osteogenesis_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serine_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.5_oxidoreductase_acting_on_donor_CH_OH_group,_quinone_or_similar_compound_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Penicillium_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11_oxidoreductase_acting_on_single_donors_and_incorporating_2_O_atoms_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_UDP_glucuronosyltransferase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.5_phosphoric_ester_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1_phosphotransferases_with_an_alcohol_group_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_SMO_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_integrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pro_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6_hydrolases_acting_on_acid_anhydrides_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_collagen_cross_linking_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.109_dolichyl_phosphate_mannose_protein_mannosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5.2_[NAD_P_H_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRP_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.43_arogenate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1_oxidoreductase_acting_on_donor_CH_OH_group,_NAD_+_or_NADP_+_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"rotb\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_piezo1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.99_oxidoreductase_acting_on_donor_CH_CH_group,_with_other_acceptors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excitatory_amino_acid_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14_dipeptidyl_and_tripeptidyl_peptidases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_microtubule_destabilising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aryl_hydrocarbon_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_melatonin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.11_serine_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_drug_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.184_[carbonyl_reductase_NADPH_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonin_uptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_steatosis_inducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiprotozoal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fragrance\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antilipemic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.2.27_sphinganine_1_phosphate_aldolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuromuscular_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acceptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.4_leucine_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopaminergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimycobacterial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1.2_acetyl_CoA_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_LIM_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.24_quercetin_2,3_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phase_transfer_catalyst\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2B_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.105_6_phosphofructo_2_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nucleophilic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tankyrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.4_C_S_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.1.3_adenosinetriphosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_specialised_pro_resolving_mediator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.19_3_phosphoshikimate_1_carboxyvinyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.46_deoxyhypusine_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.117_homogentisate_solanesyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Lewis_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electron_transport_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_physiological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.5.1.1_[DNA_ligase_ATP_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"mrdef\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.2_alanine_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17_oxidoreductase_acting_on_CH_or_CH2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2C_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fundamental_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_3_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.99_oxidoreductases_acting_on_diphenols_and_related_substances_as_donors,_other_acceptors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"fda_labels\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.23_beta_galactosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.25_inositol_phosphate_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.11_cAMP_dependent_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_apoptosis_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.31_arachidonate_12_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.16_glutamine_fructose_6_phosphate_transaminase_isomerizing_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fumigant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Hsp70_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitrification_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.129_peptidoglycan_glycosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gut_flora_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_herbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparathyroid_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_environmental_contaminant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5.1_[succinate_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10.2_non_specific_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.5_arylamine_N_acetyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipsoriatic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.18_oxidoreductase_acting_on_paired_donors,_miscellaneous_compound_as_one_donor,_incorporating_1_atom_of_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathepsin_L_EC_3.4.22.15_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.2_L_amino_acid_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_keratolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropeptide_FF_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inositol_phosphorylceramide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.21_carnitine_O_palmitoyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifouling_biocide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp2_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.4.1_C_S_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ovicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mammalian_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.13_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.2_acid_D_amino_acid_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_LRH_1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.4_trypsin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.12_aspartate_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.3_D_amino_acid_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nerve_growth_factor_stimulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"clogp\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_explosive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_ionophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9_oxidoreductase_acting_on_donor_heme_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.17_Ca_2+_/calmodulin_dependent_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_tenebrosa_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatic_steatosis_inducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1.2_DNA_topoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_pesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tetrazine_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fumigant_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.122_[_S_tetrahydroprotoberberine_N_methyltransferase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nucleoside_antibiotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MRI_contrast_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_bulking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PPARbeta/delta_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_depressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.205_IMP_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sialyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_secreted_frizzled_related_protein_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ceramide_mimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mouse_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_melanin_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agrochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.13.19_membrane_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucagon_like_peptide_1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_opener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24_metalloendopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_volatile_oil_component\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_crystallisation_adjutant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_juvenile_hormone_antagonists\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_amphiprotic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_gelling_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aryl_hydrocarbon_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"cd_formula\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.1_dimethylallyltranstransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinesterase_reactivator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histone_acetyltransferase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.11.18_methionyl_aminopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiinfective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_monolignol\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.4_thymidine_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_2_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reproductive_control_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Brassica_napus_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_agrochemical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_paracetamol_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_dependent_Pi_transporter_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Jacobaea_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_expectorant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5.5_dynamin_GTPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antioxidant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_spin_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chitin_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99.1_miscellaneous_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1.9_thioredoxin_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carotenoid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.5.2_[dihydroorotate_dehydrogenase_quinone_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_first_generation_antipsychotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_spin_label\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatitis_C_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimanic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_stabiliser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13_oxidoreductase_acting_on_paired_donors,_incorporating_1_atom_of_oxygen,_with_NADH_or_NADPH_as_one_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.26_endoribonucleases_producing_5'_phosphomonoesters_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparasitic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kairomone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.116_[3'_hydroxy_N_methyl_S_coclaurine_4'_O_methyltransferase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.21.3_oxidoreductase_acting_on_X_H_and_Y_H_to_form_an_X_Y_bond,_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytoestrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sigma_2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.11.29_hypoxia_inducible_factor_proline_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.7.1_[glutamate_synthase_ferredoxin_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitussive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_translation_elongation_factor_1alpha_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gastrointestinal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ATP_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_forkhead_box_protein_O1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P2Y12_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carbamate_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitric_oxide_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mite_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.43_enhancer_of_zeste_homolog_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytochrome_chromophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_skin_lightening_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_LRH_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_G_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenoestrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.12_sphingomyelin_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_inflammatory_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_T_cell_proliferation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_farnesoid_X_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_spin_trapping_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ester_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_2_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.2.1_acid_thiol_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3_C_N_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.108_UDP_3_O_acyl_N_acetylglucosamine_deacetylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_coccidiostat\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99_miscellaneous_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABAB_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phenoxy_herbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_juvenile_hormone_mimic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.4_hydrolases_acting_on_ATP;_involved_in_cellular_and_subcellular_movement_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GnRH_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anabolic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.3.1._[NAD_P_H_oxidase_H2O2_forming_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasoconstrictor_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_D_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipopolysaccharide_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.99_intramolecular_transferase_transferring_other_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3_acid_anhydride_hydrolase_catalysing_transmembrane_movement_of_substances_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemical_hybridisation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ophthalmology_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ether_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.23.46_memapsin_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bradykinin_receptor_B2_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_abscisic_acid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifolate\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.16_oxidoreductase_acting_on_paired_donors,_reduced_pteridine_as_one_donor,_incorporating_1_atom_of_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipid_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_fusion_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electrophilic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_central_nervous_system_stimulant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_breast_cancer_resistance_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H4_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.1_purine_nucleoside_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_water_soluble_vitamin_role_\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_C_X_C_chemokine_receptor_type_4_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_axin_stabilizer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_demethylation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptide_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_squaraine_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_P450_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_acetylcholine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.14.5_dipeptidyl_peptidase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6_P_O_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.72_[site_specific_DNA_methyltransferase_adenine_specific_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antirheumatic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.3_oxidoreductase_acting_on_donor_CH_CH_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hallucinogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bradykinin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alarm_pheromone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5_non_methyl_alkyl_or_aryl_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sex_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_spectrophotometric_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2.1_transketolase/transaldolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CB1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifibrinolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.146_11beta_hydroxysteroid_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bile_therapy_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidepressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_activating_factor_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_c_Met_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.72_methylsterol_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_polar_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibiotic_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_sequencing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.8_[acyl_CoA_dehydrogenase_NADP_+_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_G_protein_coupled_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.3_oxidoreductase_acting_on_CH_or_CH2_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_colorimetric_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimitotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_allergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.3_ether_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiotensin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autophagy_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiseptic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"tpsa\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.72_Delta_24_sterol_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.11.14_cytosol_alanyl_aminopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_liver_X_receptor_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5_hydrolases_acting_on_non_peptide_C_N_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.21.3.3_reticuline_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_odorant_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GHB_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.45_glucosylceramidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neonicotinoid_insectide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurokinin_1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_profungicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.3.1_aldehyde_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_soluble_guanylate_cyclase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscarinic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_schistosomicide_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_propesticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_orphan_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_archaeal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mTOR_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1_oxidoreductase_acting_on_donor_CH_OH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eukaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5_oxidoreductase_acting_on_donor_CH_NH_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dinitrophenol_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatoprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6.1.1_adenylate_cyclase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glutathione_depleting_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.52_indoleamine_2,3_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.4_acetylserotonin_O_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bone_density_conservation_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_autophagy_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.31_{[hydroxymethylglutaryl_CoA_reductase_NADPH_]_kinase}_activator:boolean\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pharmacological_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.170_[3beta_hydroxysteroid_4alpha_carboxylate_3_dehydrogenase_decarboxylating_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phosphate_protecting_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CB1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.3_oxidoreductase_acting_on_donor_CH_OH_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ATPase_motor_cytoplasmic_dynein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.181_13_deoxydaunorubicin_hydroxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabotropic_glutamate_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sweetening_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glutamate_transporter_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_A_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"o_n\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fertilizer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_progestogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.19_4_aminobutyrate_2_oxoglutarate_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucagon_like_peptide_2_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_siderophore\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_luciferin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nitric_oxide_synthase_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Papio_hamadryas_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.6.1.2_guanylate_cyclase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_thickening_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.98.1_[dihydroorotate_oxidase_fumarate_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostaglandin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_marine_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptidomimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.7_acetylcholinesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.40_[_R_3_amino_2_methylpropionate_pyruvate_transaminase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_curare_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_venom\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A3_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bronchoconstrictor_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.35_gelatinase_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.17_3',5'_cyclic_nucleotide_phosphodiesterase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bolaamphiphile\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androgen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_IP3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_cyanide_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuropeptide_FF_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antitubercular_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_quorum_sensing_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gibberellin_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3_oxidoreductase_acting_on_donor_CH_NH2_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1_glycosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.5_thrombin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_humectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathepsin_B_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Good's_buffer_substance\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.11.1_gamma_butyrobetaine_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_provitamin_A\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.4.2_[CTP_synthase_glutamine_hydrolyzing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_liver_X_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.15_oxidoreductase_acting_on_paired_donors,_with_reduced_Fe_S_protein_as_one_donor,_incorporating_1_O_atom_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.23.15_renin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thermal_degradation_product\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Bronsted_acid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.19.3_pyroglutamyl_peptidase_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1_oxidoreductase_acting_on_donor_CH_CH_group,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Camellia_sinensis_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_film_forming_compound\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_sterilant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.5.4_sulfide:quinone_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.48_cystathionine_gamma_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glioma_associated_oncogene_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_loop_diuretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_K_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Streptococcus_pneumoniae_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibacterial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.4_oxidoreductase_acting_on_CH_or_CH2_with_a_disulfide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ceramide_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.48_protein_tyrosine_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CB2_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.49_RNA_directed_DNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acyl_CoA:cholesterol_acyltransferase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2.2_gamma_glutamyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nonionic_surfactant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABAA_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_RhoA_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_C_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiogenesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_elastin_laminin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.1_carbonic_anhydrase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_dependent_antibiotics\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_general_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A2A_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiosensitizing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Chaetomium_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ryanodine_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.50_adenosylmethionine_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_c_Jun_N_terminal_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.3.1_[citrate_Si_synthase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2A_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.12_cGMP_dependent_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lachrymator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.6_RNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Sir1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_affinity_label\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4_intramolecular_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiotonic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.1_acid_ammonia/amine_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_G_protein_coupled_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_label\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_label\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.9_Na_+_/K_+_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.1_hexokinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_rodenticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TGFbeta_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ergosterol_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antileishmanial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_rat_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.15_dihydropteroate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hyperglycemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_poison\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemokine_receptor_5_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.21_oxidoreductase_acting_on_X_H_and_Y_H_to_form_an_X_Y_bond_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hyaluronan_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hapten\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A2A_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PPARalpha_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_p53_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_virulence_factor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_detergent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.61_kexin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.18_exo_alpha_sialidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.3.2_creatine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_environmental_food_contaminant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPV4_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histaminergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anxiolytic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_anaemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"oh_nh\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.27.3_ribonuclease_T1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hypoglycemic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cathartic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.4_phosphotransferases_with_a_phosphate_group_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tau_aggregation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proteasome_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiotensin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_genotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.22_cyclin_dependent_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimetabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_synthetic_auxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phospholipid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.2_papain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopamine_receptor_D1_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insect_attractant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2.52_beta_N_acetylhexosaminidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nootropic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2_hydroxymethyl_,_formyl_and_related_transferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PPAR_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.1_alkaline_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2_aminoacyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nematode_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prosthetic_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRP_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_actin_polymerisation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.10_H_+_/K_+_exchanging_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_secretagogue\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.4_other_carbon_nitrogen_ligases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_like_growth_factor_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radioactive_imaging_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_effector\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.1.2_glutamate_ammonia_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PPARgamma_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ecdysone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticholesteremic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_surfactant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiatherogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.23_orotidine_5'_phosphate_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1_C_O_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lysophosphatidic_acid_receptor_3_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_isotopic_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4.1_cytosine_deaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Mycoplasma_genitalium_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_activated_receptor_2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.99_other_isomerases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephrotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topical_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"information_content\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.39_ribulose_bisphosphate_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biomarker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Aspergillus_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_crustacean_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acid_base_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fat_soluble_vitamin_role_\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidyskinesia_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4_C_C_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxidising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proinsecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.2.2_glutamate_cysteine_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thioredoxin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_substance_P_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_parasympatholytic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_opioid_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.30_NAD_+_ADP_ribosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vibriostatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_brassinosteroid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_5_hydroxytryptamine_2A_receptor_inverse_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oneirogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.1.9_glutathione_peroxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Smad3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_eugeroic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_microtubule_stabilising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.10_protein_tyrosine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5.1.3_dihydrofolate_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2_oxidoreductase_acting_on_donor_aldehyde/oxo_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.2.1_glycine_hydroxymethyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.97_taurochenodeoxycholate_6alpha_hydroxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_melatonin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_humectant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.99.29_[phytoene_desaturase_zeta_carotene_forming_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_steroidal_anti_inflammatory_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_polymerisation_monomer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_endothelin_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxytocic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.3_histidine_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.1_[NAD_+_synthase_glutamine_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.2.13_protein_glutamine_gamma_glutamyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.14_H_+_transporting_two_sector_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.34_arachidonate_5_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.3.8_Ca_2+_transporting_ATPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_1_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromatographic_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifungal_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.4_phospholipase_A2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_buffer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_insulin_secretagogue\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.31_beta_glucuronidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimutagen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AMPA_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14_oxidoreductase_acting_on_paired_donors,_incorporating_of_1_atom_of_oxygen,_with_reduced_flavin_or_flavoprotein_as_one_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_trypanocidal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_reuptake_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Lewis_base\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plant_hormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cytochrome_b6f_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.30_receptor_protein_serine/threonine_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.17.23_angiotensin_converting_enzyme_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.15_peptidyl_dipeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_signal_transducer_and_activator_of_transcription_5_protein_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HIV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_TRPV_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anaesthesia_adjuvant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excipient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihypertensive_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antifeedant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.267_1_deoxy_D_xylulose_5_phosphate_reductoisomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1_methyltransferases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_miotic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.3.1_catechol_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protease_activated_receptor_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.26_sterol_O_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_beta_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vesicant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.16_chitin_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.31_{[hydroxymethylglutaryl_CoA_reductase_NADPH_]_kinase}_inhibitor:boolean\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.28_aromatic_L_amino_acid_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimineralocorticoid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fibrin_modulating_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_growth_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_leukotriene_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.18_glutathione_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1.12_[glyceraldehyde_3_phosphate_dehydrogenase_phosphorylating_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.5.1_DNA/RNA_repair_enzymes_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_muscarinic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_purinergic_receptor_P2X_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.9_[enoyl_[acyl_carrier_protein]_reductase_NADH_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosynthetic_electron_transport_chain_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.11_oxidoreductase_acting_on_paired_donors,_2_oxoglutarate_as_one_donor,_incorporating_1_atom_each_of_oxygen_into_both_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.88_peptide_deformylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_flour_treatment_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.4_non_peptide_cyclic_amidine_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.1.22_[3_oxo_5alpha_steroid_4_dehydrogenase_NADP_+_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.6.1.11_acetylornithine_transaminase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"sp3_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nutraceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephrotoxic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NF_kappaB_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.64_peptidase_K_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_enhancer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cosmetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prokaryotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mucolytic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycerophosphoinositol_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_microarray_analysis_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.1.3_racemases_acting_on_carbohydrates_and_derivatives_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nematicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protecting_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.23_ceramidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.36_pancreatic_elastase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"rgb\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.7_UDP_N_acetylglucosamine_1_carboxyvinyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidote_to_organophosphate_poisoning\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hyaluronic_acid_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_DNA_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carotogenesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.26_prolyl_oligopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_platelet_glycoprotein_IIb/IIIa_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_intravenous_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hepatitis_C_virus_nonstructural_protein_5A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_non_polar_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_food_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.13_protein_kinase_C_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cannabinoid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_glucose_transport_protein_subtype_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_apoptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pesticide_synergist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_erythropoietin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticonvulsant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kisspeptin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.10_IkappaB_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anthelminthic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sulfite_ester_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carbohydrate_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"smiles\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.2_non_peptide_cyclic_amide_C_N_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.14.94_leukotriene_B4_20_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cofactor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A3_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.17*_metallocarboxypeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1_acyltransferase_transferring_other_than_amino_acyl_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.83_anthrax_lethal_factor_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorescent_probe\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_arrhythmia_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peptide_coupling_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.3.13_alcohol_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.23_aspartic_endopeptidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_colouring\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Escherichia_coli_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fatty_acid_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pro_angiogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucocorticoid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"lipinski\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_avicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_B_cell_lymphoma_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.4_oxidoreductase_acting_on_donor_CH_NH2_group,_a_disulfide_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AP_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_teratogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosensitizing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2_C_O_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androgen_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anticaking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.49_O_acetylhomoserine_aminocarboxypropyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.69_SARS_coronavirus_main_proteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.99.7_lanosterol_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reducing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_reverse_transcriptase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nicotinic_acid_adenine_dinucleotide_phosphate_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurotransmitter_transporter_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_animal_growth_promotant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"hetero_sp2_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiamoebic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radical_scavenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.5.1_oxidoreductase_acting_on_donor_CH_NH_group,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.20_elongation_factor_2_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cross_linking_reagent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carcinogenic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiplasmodial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antisense_oligonucleotide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_epitope\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.3_phosphotransferases_with_a_nitrogenous_group_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_odorant_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vulnerary\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photosystem_II_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hydrogen_acceptor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_voltage_dependent_anion_channel_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_iron_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyclooxygenase_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.3.2.10_soluble_epoxide_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.16.2_tyrosine_3_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.24_sphingosine_N_acyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_herbicide_safener\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.42_isocitrate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prostacyclin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chain_carrier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_obesity_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CETP_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.2.1.6_acetolactate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_provitamin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiseborrheic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MAIT_cell_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.3_phosphoribosylformylglycinamidine_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.1_alcohol_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipyretic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_thromboxane_A2_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_emulsifier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sensitiser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.56_caspase_3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiplatyhelmintic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_packaging_gas\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_anticaking_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_visual_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_acyl_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_teichoic_acid_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_alpha_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcimimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_delta_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_synthetic_oral_contraceptive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.1_oxidoreductase_acting_on_sulfur_group_of_donors,_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gonadotropin_releasing_hormone_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.141_[15_hydroxyprostaglandin_dehydrogenase_NAD_+_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_peripheral_nervous_system_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.348_mRNA_m6A_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytoalexin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_enzyme_reactivator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1_carboxylic_ester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antacid\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gamma_secretase_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mutagen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.137_phosphatidylinositol_3_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_carboxylic_acid_protecting_group\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cellulose_synthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ultraviolet_filter\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_homopteran_inhibitor_of_chitin_biosynthesis\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HBV_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_VEGF_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hydrogen_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.17.4.1_ribonucleoside_diphosphate_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protein_kinase_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_SERCA_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.50_serine_C_palmitoyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_reaction_intermediate\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.3.3_ornithine_carbamoyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.3.4_protoporphyrinogen_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.36_caspase_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorochrome\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aprotic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_CFTR_potentiator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1.2_tryptophan_tRNA_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.1.97_glycylpeptide_N_tetradecanoyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_raising_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.26_tau_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.26.13_retroviral_ribonuclease_H_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3_phosphoric_monoester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_colour_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.10.3.2_laccase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.1.4_amidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diagnostic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4_phosphoric_diester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.17_oxidoreductase_acting_on_paired_donors,_with_incorporation_or_reduction_of_molecular_oxygen_and_with_reduced_ascorbate_as_one_donor,_and_incorporation_of_one_atom_of_oxygen_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_inflammatory_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.8.5_oxidoreductase_acting_on_sulfur_group_donors,_quinone_or_similar_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tropomyosin_related_kinase_B_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ultrasound_contrast_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_NADH:ubiquinone_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.1.1_ligases_forming_aminoacyl_tRNA_and_related_compounds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serine_proteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytogenic_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.18.1_tyrosinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mimotope\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gout_suppressant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.31_{ditrans,polycis_undecaprenyl_diphosphate_synthase_[_2E,6E_farnesyl_diphosphate_specific]}_inhibitor:boolean\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tocolytic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.17_glucuronosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adrenergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.24_mitogen_activated_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fuel_additive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H3_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.17_ornithine_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_triazine_insecticide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.33_pantothenate_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mu_opioid_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7_P_containing_group_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.24_gelatinase_A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bile_acid_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_refrigerant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_plasticiser\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_androstane_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.2.14_amidophosphoribosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimicrobial_cosmetic_preservative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"arom_c\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.231_[alpha,alpha_trehalose_phosphorylase_configuration_retaining_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.12.2_mitogen_activated_protein_kinase_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_estrogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_contraceptive_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.22.38_cathepsin_K_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_MALDI_matrix_material\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.99.66_lysine_specific_histone_demethylase_1A_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_purinergic_receptor_P2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bleaching_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_potassium_channel_blocker\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inhalation_anaesthetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiauxins\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_greenhouse_gas\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_intercalator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_role_\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Toll_like_receptor_2_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.3_aconitate_hydratase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.33_arachidonate_15_lipoxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_electron_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_piscicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.5.3_glycerol_3_phosphate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_HIV_1_maturation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.210_[3beta_or_20alpha_hydroxysteroid_dehydrogenase]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hematologic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipsychotic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.3.3_acyltransferase_converting_acyl_to_alkyl_group_on_transfer_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxidative_phosphorylation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bone_morphogenetic_protein_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_auxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phytotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2_glycosylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4_glycosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_oxidized_luciferins\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PAR2_negative_allosteric_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biophysical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.37_leukocyte_elastase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.15.3_alkane_1_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fuel\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_retinoic_acid_receptor_beta_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.21_aldehyde_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5.3_[NADH:ubiquinone_reductase_H_+_translocating_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasopressin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_gated_chloride_channel_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.2.6_beta_lactamase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_additive_carrier\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.3_oxidoreductase_acting_on_donor_aldehyde/oxo_group_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.4.1.1_pyruvate_carboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_astringent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Caenorhabditis_elegans_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fixative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chromogenic_compound\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bronchodilator_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sphingosine_1_phosphate_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fluorogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_B_Raf_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_transporter_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_chemokine_receptor_2_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photobiochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.4.6_nucleoside_diphosphate_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Sir2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.15.4_steroid_11beta_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_gap_junctional_intercellular_communication_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_RhoC_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pregnane_X_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_scabicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.5.5.1_nitrilase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.24_phenylalanine_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sympatholytic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9.3_oxidoreductase_acting_on_donor_heme_group,_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_diagnostic_imaging_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nephroprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3_C_N_bond_forming_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.4.11_phosphoinositide_phospholipase_C_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_human_blood_serum_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_asthmatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cyanotoxin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_psychotropic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.2.1_oxidoreductase_acting_on_donor_aldehyde/oxo_group_with_NAD_+_or_NADP_+_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMDA_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_melanin_concentrating_hormone_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_lymphocyte_function_associated_antigen_1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bridged_diphenyl_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.3_microbial_collagenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.80_ceramide_glucosyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_copper_chelator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_STAT3_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cardiovascular_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.11_neprilysin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5_isomerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_PERK_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.1_peroxidases_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antimalarial\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_HSV_1_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.5_oxidoreductase_acting_on_NADH_or_NADPH_with_a_quinone_or_similar_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_GABA_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.7.48_RNA_directed_RNA_polymerase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_marine_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_impurity\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.2.19_ubiquitin_protein_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_prohormone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_proherbicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.39_chymase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sedative\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.3.3_intramolecular_oxidase_transposing_C=C_bonds_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antibacterial_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.21_squalene_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_aldosterone_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.78_ent_kaurene_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_catalyst\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1_ester_hydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.3.98_oxidoreductase_acting_on_donor_CH_CH_group,_with_other,_known,_acceptors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_abortifacient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.5.2_small_monomeric_GTPase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_nutrient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.4.1.14_1_aminocyclopropane_1_carboxylate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antihyperplasia_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_phosphodiesterase_IV_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5_carbon_nitrogen_ligases_with_glutamine_as_amido_N_donor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.114_mannosyl_oligosaccharide_1,3_1,6_alpha_mannosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.24_alpha_mannosidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_NMDA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.1.64_retinoid_isomerohydrolase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hypoxia_inducible_factor_pathway_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ion_transport_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_allergen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_radiopharmaceutical\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.24.71_endothelin_converting_enzyme_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"halogen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.27_endoribonucleases_producing_other_than_5'_phosphomonoesters_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_geroprotector\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cytokinin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cysteine_protease_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pyrethroid_ester_acaricide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.1.127_inositol_trisphosphate_3_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_cholinergic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.67_quinine_3_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antithyroid_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4_oxidoreductase_acting_on_donor_CH_NH2_group_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.17.1_dopamine_beta_monooxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antinematodal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_adenosine_A2B_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.2_aldehyde_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fatty_acid_oxidation_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_methionine_aminopeptidase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.3.1.10_serine_sulfate_ammonia_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_pheromone\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_biochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_actin_polymerisation_inducer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.18_myosin_light_chain_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_protective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_estrogen_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ATP/ADP_translocase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wnt_signalling_activator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.34/EC_1.1.1.88_hydroxymethylglutaryl_CoA_reductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.4.3.22_diamine_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anti_ulcer_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.4.3_intramolecular_transferase_transferring_amino_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tissue_adhesive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antipruritic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.166_heparanase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.15_glutamate_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_provitamin_B1\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_calcium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.37_malate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_progestin\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1.19_arginine_decarboxylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_micronutrient\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tracer\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_progesterone_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11.1.11_L_ascorbate_peroxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_molluscicide\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.9.3.1_cytochrome_c_oxidase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.29_geranylgeranyl_diphosphate_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neurokinin_1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_bleaching_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_emetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1_oxidoreductase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_histological_dye\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antidiarrhoeal_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_incretin_mimetic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.1.1.25_shikimate_dehydrogenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_donor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_magna_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_indicator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.1.3.16_phosphoprotein_phosphatase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tubulin_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_jasmonates\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sclerotherapy_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1_C1_transferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H1_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.27_4_hydroxyphenylpyruvate_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.6.1_hydrolases_acting_on_acid_anhydrides_in_P_containing_anhydrides_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_polar_aprotic_solvent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_topoisomerase_II_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_ferroptosis_suppressor_protein_1_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antispasmodic_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.1.1_glycogen_phosphorylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_hormone_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_metabotropic_glutamate_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_photochemical_role\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_formyl_peptide_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_excitatory_amino_acid_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_galeata_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.14.13.39_nitric_oxide_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_curing_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.1.1.6_catechol_O_methyltransferase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H1_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.11_oxidoreductase_acting_on_peroxide_as_donors_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.12_[dual_specificity_kinases_those_acting_on_Ser/Thr_and_Tyr_residues_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_AMPA_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_steroid_receptor_coactivator_stimulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Wnt_signalling_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_dopaminergic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_opioid_analgesic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_bacterial_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6_ligase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_serotonergic_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.22_cystathionine_beta_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_appetite_regulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_osmolyte\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_molecular_messenger\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_angiogenesis_modulating_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_5.1.1_racemases_acting_on_amino_acids_and_derivatives_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.4.99_glycosyltransferases_transferring_other_glycosyl_groups_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_tumour_antigen\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_defoliant\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.4.21.75_furin_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vasodilator_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_fungal_xenobiotic_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_somatostatin_receptor_agonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mitochondrial_cytochrome_bc1_complex_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.6.3_oxidoreductase_acting_on_NADH_or_NADPH_with_oxygen_as_acceptor_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_kappa_opioid_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_mydriatic_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_matrix_metalloproteinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glucagon_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_alpha_adrenergic_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_neuroprotective_agent\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_survivin_dimerisation_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_glycine_transporter_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_6.3.5.5_[carbamoyl_phosphate_synthase_glutamine_hydrolysing_]_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vesicular_glutamate_transport_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.2.1.20_tryptophan_synthase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_vitamin_B1_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_quinone_outside_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_anxiogenic\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_Daphnia_metabolite\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_1.13.11.11_tryptophan_2,3_dioxygenase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_4.1.1_carboxy_lyase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_food_additive\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_3.2.1.1_alpha_amylase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sodium_channel_modulator\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.7.11.1_non_specific_serine/threonine_protein_kinase_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_H2_receptor_antagonist\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_salt_inducible_kinase_2_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_EC_2.5.1.59_protein_geranylgeranyltransferase_type_I_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiviral_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_antiparkinson_drug\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    },\n    {\n     \"attribute_type_id\": \"biolink:Attribute\",\n     \"original_attribute_names\": [\n      \"CHEBI_ROLE_sterol_biosynthesis_inhibitor\"\n     ],\n     \"value_type_id\": \"EDAM:data_0006\"\n    }\n   ],\n   \"id_prefixes\": [\n    \"ATC\",\n    \"CHEBI\",\n    \"CHEMBL.COMPOUND\",\n    \"CHEMBL.TARGET\",\n    \"DRUGBANK\",\n    \"FOODON\",\n    \"HMDB\",\n    \"KEGG.COMPOUND\",\n    \"KEGG.GLYCAN\",\n    \"LOINC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"PSY\",\n    \"PathWhiz.Compound\",\n    \"REACT\",\n    \"UMLS\",\n    \"VANDF\",\n    \"ttd.target\",\n    \"PUBCHEM.COMPOUND\",\n    \"UNII\",\n    \"DrugCentral\",\n    \"GTOPDB\"\n   ]\n  },\n  \"biolink:Transcript\": {\n   \"id_prefixes\": [\n    \"ENSEMBL\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:Treatment\": {\n   \"id_prefixes\": [\n    \"MAXO\",\n    \"NCIT\"\n   ]\n  },\n  \"biolink:Vitamin\": {\n   \"id_prefixes\": [\n    \"ATC\",\n    \"MESH\",\n    \"NCIT\",\n    \"NDDF\",\n    \"UMLS\",\n    \"VANDF\"\n   ]\n  }\n }\n}"
  },
  {
    "path": "medikanren2/neo/neo-reasoning/neo-biolink-reasoning-low-level.rkt",
    "content": "#lang racket/base\n(provide\n ;;\n get-biolink-version\n ;;\n predicate-deprecated?\n class-deprecated?\n predicate-mixin?\n predicate-abstract?\n class-mixin?\n class-abstract?\n predicate-symmetric?\n ;;\n all-predicates\n all-classes\n ;;\n get-inverse-predicate\n ;;\n get-predicate-children\n get-class-children\n ;;\n get-predicate-descendents \n get-class-descendents\n ;;\n get-predicate-descendents*\n get-class-descendents*\n ;;\n get-predicate-proper-descendents \n get-class-proper-descendents\n ;;\n get-predicates-from-mixin\n get-classes-from-mixin\n ;;\n get-mixed-ins-and-descendent-predicates*\n ;;\n get-mixed-ins-and-descendent-classes*\n ;;\n UMLS-biolink-class-mapper\n UMLS-biolink-pred-mapper\n ;;\n find-leaf-classes\n get-smallest-nonmixin-class*\n )\n(require\n racket/pretty\n racket/runtime-path\n racket/set\n racket/string\n yaml\n \"../neo-utils/neo-helpers-without-db.rkt\")\n\n;; (define BIOLINK_YAML_FILE \"../neo-biolink/biolink_2_4_8/biolink-model.yaml\")\n;; (define BIOLINK_YAML_FILE \"../neo-biolink/biolink_3_0_3/biolink-model.yaml\")\n;; (define BIOLINK_YAML_FILE \"../neo-biolink/biolink_3_1_1/biolink-model.yaml\")\n;;(define BIOLINK_YAML_FILE \"../neo-biolink/biolink_3_1_2/biolink-model.yaml\")\n;;(define BIOLINK_YAML_FILE \"../neo-biolink/biolink_3_5_2/biolink-model.yaml\")\n(define BIOLINK_YAML_FILE \"../neo-biolink/biolink_4_2_1/biolink-model.yaml\")\n\n(define-runtime-path path.here \".\")\n(define bl-path (build-path path.here BIOLINK_YAML_FILE))\n\n(printf \"loading biolink YAML file from '~s'...\\n\" bl-path)\n\n(define ip (open-input-file bl-path))\n(define biolink (time (read-yaml ip)))\n\n(define (get-biolink-version)\n  (hash-ref biolink \"version\"))\n\n(printf \"finished loading biolink YAML file from '~s'\\n\" BIOLINK_YAML_FILE)\n(printf \"loaded biolink version '~s'\\n\" (get-biolink-version))\n\n(define yaml-predicate-name-to-biolink-name\n  (lambda (str)\n    (string-append \"biolink:\" (string-replace str \" \" \"_\"))))\n\n(define (string-titlecase-title-only str)\n  (if (string? str)\n      (string-append (string-upcase (substring str 0 1))\n                     (substring str 1 (string-length str)))\n      (error \"invalid string\" str)))\n\n(define yaml-class-name-to-biolink-name\n  (lambda (str)\n    (apply string-append (cons \"biolink:\" (map string-titlecase-title-only (string-split str))))))\n\n#;(define yaml-class-name-to-biolink-name\n  (lambda (str)\n    (string-append \"biolink:\" (string-replace (string-titlecase str) \" \" \"\"))))\n\n(define slots-h (hash-ref biolink \"slots\"))\n(define classes-h (hash-ref biolink \"classes\"))\n\n;; list of predicates\n(define slots (hash-keys slots-h))\n\n;; list of classes\n(define classes (hash-keys classes-h))\n\n(define all-predicates (list->set (map yaml-predicate-name-to-biolink-name slots)))\n(define all-classes (list->set (map yaml-class-name-to-biolink-name classes)))\n\n(define predicate-deprecated?\n  (let ((predicate-deprecated-hash (make-hash)))\n    (for-each\n      (lambda (pred-yaml-str)\n        (let ((deprecated-flag (hash-ref (hash-ref (hash-ref biolink \"slots\") pred-yaml-str) \"deprecated\" #f)))\n          (when deprecated-flag\n            (let ((pred-biolink-name (yaml-predicate-name-to-biolink-name pred-yaml-str)))\n              (hash-set! predicate-deprecated-hash pred-biolink-name #t)))))\n      slots)\n    (lambda (pred)\n      (hash-ref predicate-deprecated-hash pred #f))))\n\n(define class-deprecated?\n  (let ((class-deprecated-hash (make-hash)))\n    (for-each\n      (lambda (class-yaml-str)\n        (let ((deprecated-flag (hash-ref (hash-ref (hash-ref biolink \"classes\") class-yaml-str) \"deprecated\" #f)))\n          (when deprecated-flag\n            (let ((class-biolink-name (yaml-class-name-to-biolink-name class-yaml-str)))\n              (hash-set! class-deprecated-hash class-biolink-name #t)))))\n      classes)\n    (lambda (class)\n      (hash-ref class-deprecated-hash class #f))))\n\n(define predicate-mixin?\n  (let ((predicate-mixin-hash (make-hash)))\n    (for-each\n      (lambda (pred-yaml-str)\n        (let ((mixin-flag (hash-ref (hash-ref (hash-ref biolink \"slots\") pred-yaml-str) \"mixin\" #f)))\n          (when mixin-flag\n            (let ((pred-biolink-name (yaml-predicate-name-to-biolink-name pred-yaml-str)))\n              (hash-set! predicate-mixin-hash pred-biolink-name #t)))))\n      slots)\n    (lambda (pred)\n      (hash-ref predicate-mixin-hash pred #f))))\n\n(define predicate-abstract?\n  (let ((predicate-abstract-hash (make-hash)))\n    (for-each\n      (lambda (pred-yaml-str)\n        (let ((abstract-flag (hash-ref (hash-ref (hash-ref biolink \"slots\") pred-yaml-str) \"abstract\" #f)))\n          (when abstract-flag\n            (let ((pred-biolink-name (yaml-predicate-name-to-biolink-name pred-yaml-str)))\n              (hash-set! predicate-abstract-hash pred-biolink-name #t)))))\n      slots)\n    (lambda (pred)\n      (hash-ref predicate-abstract-hash pred #f))))\n\n(define class-mixin-hash\n  (let ((class-mixin-hash (make-hash)))\n    (for-each\n      (lambda (class-yaml-str)\n        (let ((mixin-flag (hash-ref (hash-ref (hash-ref biolink \"classes\") class-yaml-str) \"mixin\" #f)))\n          (when mixin-flag\n            (let ((class-biolink-name (yaml-class-name-to-biolink-name class-yaml-str)))\n              (hash-set! class-mixin-hash class-biolink-name #t)))))\n      classes)\n    class-mixin-hash))\n\n(define class-mixin?\n    (lambda (class)\n      (hash-ref class-mixin-hash class #f)))\n\n(define class-abstract?\n  (let ((class-abstract-hash (make-hash)))\n    (for-each\n      (lambda (class-yaml-str)\n        (let ((abstract-flag (hash-ref (hash-ref (hash-ref biolink \"classes\") class-yaml-str) \"abstract\" #f)))\n          (when abstract-flag\n            (let ((class-biolink-name (yaml-class-name-to-biolink-name class-yaml-str)))\n              (hash-set! class-abstract-hash class-biolink-name #t)))))\n      classes)\n    (lambda (class)\n      (hash-ref class-abstract-hash class #f))))\n\n(define predicate-symmetric?\n  (let ((predicate-symmetric-hash (make-hash)))\n    (for-each\n      (lambda (pred-yaml-str)\n        (let ((symmetric-flag (hash-ref (hash-ref (hash-ref biolink \"slots\") pred-yaml-str) \"symmetric\" #f)))\n          (when symmetric-flag\n            (let ((pred-biolink-name (yaml-predicate-name-to-biolink-name pred-yaml-str)))\n              (hash-set! predicate-symmetric-hash pred-biolink-name #t)))))\n      slots)\n    (lambda (pred)\n      (hash-ref predicate-symmetric-hash pred #f))))\n\n(define get-inverse-predicate\n  (let ((inverse-predicate-hash (make-hash)))\n    (for-each\n      (lambda (pred-yaml-str)\n        (let ((inverse-pred-yaml-str (hash-ref (hash-ref (hash-ref biolink \"slots\") pred-yaml-str) \"inverse\" #f)))\n          (when inverse-pred-yaml-str\n            (let ((pred-biolink-name (yaml-predicate-name-to-biolink-name pred-yaml-str))\n                  (inverse-pred-biolink-name (yaml-predicate-name-to-biolink-name inverse-pred-yaml-str)))\n              (hash-set! inverse-predicate-hash pred-biolink-name inverse-pred-biolink-name)\n              (hash-set! inverse-predicate-hash inverse-pred-biolink-name pred-biolink-name)))))\n      slots)\n    (lambda (pred)\n      (hash-ref inverse-predicate-hash pred #f))))\n\n(define get-predicate-children\n  (let ((predicate-children-hash (make-hash)))\n    (for-each\n      (lambda (child-yaml-str)\n        (let ((parent-yaml-str (hash-ref (hash-ref (hash-ref biolink \"slots\") child-yaml-str) \"is_a\" #f)))\n          (when parent-yaml-str\n            (let ((child-biolink-name (yaml-predicate-name-to-biolink-name child-yaml-str))\n                  (parent-biolink-name (yaml-predicate-name-to-biolink-name parent-yaml-str)))\n              (let ((children-set (hash-ref predicate-children-hash parent-biolink-name (set))))\n                (hash-set! predicate-children-hash parent-biolink-name\n                           (set-union (set child-biolink-name) children-set)))))))\n      slots)\n    (lambda (pred)\n      (hash-ref predicate-children-hash pred (set)))))\n\n(define get-predicate-descendents*\n  (lambda (preds)\n    (let loop ((preds preds)\n               (desc (set)))\n      (cond\n        [(null? preds) desc]\n        [else (let ((pred (car preds)))\n                (let ((d (get-predicate-descendents pred)))\n                  (loop (cdr preds) (set-union d desc))))]))))\n\n(define get-predicate-descendents\n  (lambda (pred)\n    (set-add\n     (get-predicate-proper-descendents pred)\n     pred)))\n\n(define get-predicate-proper-descendents\n  (let ((predicate-proper-descendents-hash (make-hash)))\n    (for-each\n      (lambda (parent-yaml-str)\n        (let ((parent-biolink-name (yaml-predicate-name-to-biolink-name parent-yaml-str)))\n          (let loop ((to-process-set (get-predicate-children parent-biolink-name))\n                     (processed-set (set parent-biolink-name))\n                     (descendents-set (set)))\n            (cond\n              [(set-empty? to-process-set)\n               (hash-set! predicate-proper-descendents-hash parent-biolink-name descendents-set)]\n              [else\n               (let ((process-element (set-first to-process-set))\n                     (to-process-set (set-rest to-process-set)))\n                 (cond\n                   [(set-member? processed-set process-element)\n                    (loop to-process-set processed-set descendents-set)]\n                   [else\n                    (let ((children-set (get-predicate-children process-element))\n                          (descendents-set (set-add descendents-set process-element)))\n                      (let ((to-process-set\n                             (set-union\n                              (set-subtract children-set processed-set)\n                              to-process-set)))\n                        (loop to-process-set\n                              (set-add processed-set process-element)\n                              descendents-set)))]))]))))\n      slots)\n    (lambda (pred)\n      (hash-ref predicate-proper-descendents-hash pred (set)))))\n\n(define class-children-hash\n  (let ((class-children-hash (make-hash)))\n    (for-each\n      (lambda (child-yaml-str)\n        (let ((parent-yaml-str (hash-ref (hash-ref (hash-ref biolink \"classes\") child-yaml-str) \"is_a\" #f)))\n          (when parent-yaml-str\n            (let ((child-biolink-name (yaml-class-name-to-biolink-name child-yaml-str))\n                  (parent-biolink-name (yaml-class-name-to-biolink-name parent-yaml-str)))\n              (let ((children-set (hash-ref class-children-hash parent-biolink-name (set))))\n                (hash-set! class-children-hash parent-biolink-name\n                           (set-union (set child-biolink-name) children-set)))))))\n      classes)\n    class-children-hash))\n\n(define get-class-children\n  (lambda (class)\n    (hash-ref class-children-hash class (set))))\n\n(define (find-leaf-classes class*)\n  (let ((sub-hierarchy (make-hash)))\n    (for-each\n     (lambda (class)\n       (let* ((child* (set->list (hash-ref class-children-hash class (set))))\n              (child* (filter (lambda (c) (member c class*)) child*)))\n        (hash-set! sub-hierarchy class child*)))\n     class*)\n    (filter (lambda (class) (null? (hash-ref sub-hierarchy class)))\n            (hash-keys sub-hierarchy))))\n\n(define (get-smallest-nonmixin-class* class*)\n  (find-leaf-classes (filter (lambda (c) (not (class-mixin? c))) class*)))\n\n(define get-class-descendents*\n  (lambda (classes)\n    (let loop ((classes classes)\n               (desc (set)))\n      (cond\n        [(null? classes) desc]\n        [else (let ((class (car classes)))\n                (let ((d (get-class-descendents class)))\n                  (loop (cdr classes) (set-union d desc))))]))))\n\n(define get-class-descendents\n  (lambda (class)\n    (set-add\n     (get-class-proper-descendents class)\n     class)))\n\n(define get-class-proper-descendents\n  (let ((class-proper-descendents-hash (make-hash)))\n    (for-each\n      (lambda (parent-yaml-str)\n        (let ((parent-biolink-name (yaml-class-name-to-biolink-name parent-yaml-str)))\n          (let loop ((to-process-set (get-class-children parent-biolink-name))\n                     (processed-set (set parent-biolink-name))\n                     (descendents-set (set)))\n            (cond\n              [(set-empty? to-process-set)\n               (hash-set! class-proper-descendents-hash parent-biolink-name descendents-set)]\n              [else\n               (let ((process-element (set-first to-process-set))\n                     (to-process-set (set-rest to-process-set)))\n                 (cond\n                   [(set-member? processed-set process-element)\n                    (loop to-process-set processed-set descendents-set)]\n                   [else\n                    (let ((children-set (get-class-children process-element))\n                          (descendents-set (set-add descendents-set process-element)))\n                      (let ((to-process-set\n                             (set-union\n                              (set-subtract children-set processed-set)\n                              to-process-set)))\n                        (loop to-process-set\n                              (set-add processed-set process-element)\n                              descendents-set)))]))]))))\n      classes)\n    (lambda (class)\n      (hash-ref class-proper-descendents-hash class (set)))))\n\n\n(define get-predicates-from-mixin\n  (let ((predicates-from-mixin (make-hash)))\n    (for-each\n      (lambda (pred-yaml-str)\n        (let ((mixins (hash-ref (hash-ref (hash-ref biolink \"slots\") pred-yaml-str) \"mixins\" #f)))\n          (when mixins\n            (let ((pred-biolink-name (yaml-predicate-name-to-biolink-name pred-yaml-str))\n                  (mixin* (map yaml-predicate-name-to-biolink-name mixins)))\n              (for-each\n                (lambda (mixin-biolink-name)\n                  (let ((pred-set-for-mixin (hash-ref predicates-from-mixin mixin-biolink-name (set))))\n                    (hash-set! predicates-from-mixin mixin-biolink-name\n                               (set-union (set pred-biolink-name) pred-set-for-mixin))))\n                mixin*)))))\n      slots)\n    (lambda (pred)\n      (hash-ref predicates-from-mixin pred (set)))))\n\n\n(define get-classes-from-mixin\n  (let ((classes-from-mixin (make-hash)))\n    (for-each\n      (lambda (class-yaml-str)\n        (let ((mixins (hash-ref (hash-ref (hash-ref biolink \"classes\") class-yaml-str) \"mixins\" #f)))\n          (when mixins\n            (let ((class-biolink-name (yaml-class-name-to-biolink-name class-yaml-str))\n                  (mixin* (map yaml-class-name-to-biolink-name mixins)))\n              (for-each\n                (lambda (mixin-biolink-name)\n                  (let ((class-set-for-mixin (hash-ref classes-from-mixin mixin-biolink-name (set))))\n                    (hash-set! classes-from-mixin mixin-biolink-name\n                               (set-union (set class-biolink-name) class-set-for-mixin))))\n                mixin*)))))\n      classes)\n    (lambda (class)\n      (hash-ref classes-from-mixin class (set)))))\n\n\n;; Return descendent predicates and mixins,\n;; and predicates that include any of those\n;; mixins, from a given list of predicates\n;; and/or mixins.\n(define get-mixed-ins-and-descendent-predicates*\n  (lambda (predicate*)\n    (set-fixed-point\n     (set-intersect\n      (list->set predicate*)\n      all-predicates)\n     (lambda (new-predicate-set)\n       (let ((updated-set\n              (apply set-union\n                     (set->list\n                      (for/set ([c new-predicate-set])\n                               (if (predicate-mixin? c)\n                                   (set-union\n                                    (get-predicates-from-mixin c)\n                                    (get-predicate-descendents c))\n                                   (get-predicate-descendents c)))))))\n         (set-subtract updated-set new-predicate-set))))))\n\n;; Return descendent classes and mixins,\n;; and classes that include any of those\n;; mixins, from a given list of classes\n;; and/or mixins.\n(define get-mixed-ins-and-descendent-classes*\n  (lambda (class*)\n    (set-fixed-point\n      (set-intersect\n       (list->set class*)\n       all-classes)\n      (lambda (new-class-set)\n        (let ((updated-set\n               (apply set-union\n                      (set->list\n                       (for/set ([c new-class-set])\n                                (if (class-mixin? c)\n                                    (set-union\n                                     (get-classes-from-mixin c)\n                                     (get-class-descendents c))\n                                    (get-class-descendents c)))))))\n          (set-subtract updated-set new-class-set))))))\n\n\n\n(define build-UMLS-biolink-hash\n  (lambda (kind)\n    (define return (make-hash))\n    (define (helper! kind-hash name-mapper prefix)\n      (for-each\n       (lambda (k)\n         #;(displayln k)\n         (let* ((v (hash-ref kind-hash k))\n                (exact-map-code* (hash-ref v \"exact_mappings\" '()))\n                (exact-map-code* (if (eq? exact-map-code* 'null) '() exact-map-code*))\n                (close-map-code* (hash-ref v \"close_mappings\" '()))\n                (close-map-code* (if (eq? close-map-code* 'null) '() close-map-code*))\n                (narrow-map-code* (hash-ref v \"narrow_mappings\" '()))\n                (narrow-map-code* (if (eq? narrow-map-code* 'null) '() narrow-map-code*))\n                (umls-code* (filter\n                             (lambda (code) (string-prefix? code prefix))\n                             (append exact-map-code* close-map-code* narrow-map-code*))))\n           (for-each\n            (lambda (code)\n              (hash-set! return\n                         (string-trim code prefix)\n                         (name-mapper k)))\n            umls-code*)))\n       (hash-keys kind-hash)))\n    (cond\n      ((eq? kind 'predicate) (helper! slots-h yaml-predicate-name-to-biolink-name \"SEMMEDDB:\"))\n      ((eq? kind 'class) (helper! classes-h yaml-class-name-to-biolink-name \"STY:\"))\n      (else (error \"unknown kind\" kind)))\n    return))\n    \n(define UMLS-biolink-class-hash (build-UMLS-biolink-hash 'class))\n(define (UMLS-biolink-class-mapper class) (hash-ref UMLS-biolink-class-hash class #f))\n(define UMLS-biolink-pred-hash (build-UMLS-biolink-hash 'predicate))\n(define (UMLS-biolink-pred-mapper predicate) (hash-ref UMLS-biolink-pred-hash predicate #f))\n\n"
  },
  {
    "path": "medikanren2/neo/neo-reasoning/neo-biolink-reasoning.rkt",
    "content": "#lang racket/base\n(provide\n ;;\n get-biolink-version\n ;;\n class-deprecated?\n predicate-mixin?\n predicate-abstract?\n class-mixin?\n class-abstract?\n predicate-symmetric?\n ;;\n all-predicates\n all-classes\n ;;\n get-inverse-predicate\n ;;\n get-non-deprecated-mixed-ins-and-descendent-predicates*\n ;;\n get-non-deprecated-mixed-ins-and-descendent-classes*\n ;;\n )\n(require\n racket/set\n \"../neo-utils/neo-helpers-without-db.rkt\"\n \"neo-biolink-reasoning-low-level.rkt\")\n\n;; Return non-deprecated descendent predicates and mixins, and\n;; non-deprecated predicates that include any of those mixins, from a\n;; given list of predicates and/or mixins.\n(define get-non-deprecated-mixed-ins-and-descendent-predicates*\n  (lambda (predicate*)\n    (list->set\n     (filter (lambda (c) (not (predicate-deprecated? c)))\n             (set->list (get-mixed-ins-and-descendent-predicates* predicate*))))))\n\n;; Return non-deprecated descendent classes and mixins, and\n;; non-deprecated classes that include any of those mixins, from a\n;; given list of classes and/or mixins.\n(define get-non-deprecated-mixed-ins-and-descendent-classes*\n  (lambda (class*)\n    (list->set\n     (filter (lambda (c) (not (class-deprecated? c)))\n             (set->list (get-mixed-ins-and-descendent-classes* class*))))))\n"
  },
  {
    "path": "medikanren2/neo/neo-reasoning/semmed-exclude.rkt",
    "content": "#lang racket/base\n\n(provide semantic-exclude* domain-exclude* range-exclude*)\n\n(require racket/runtime-path\n         yaml\n         racket/match\n         racket/list\n         \"neo-biolink-reasoning-low-level.rkt\")\n\n(define SEMMED_EXCLUDE_LIST_FILE \"../neo-biolink/biolink_3_5_2/semmed-exclude-list.yaml\")\n\n(define-runtime-path path.here \".\")\n(define semmed-exclude-path (build-path path.here SEMMED_EXCLUDE_LIST_FILE))\n\n(printf \"loading semmed exclude list YAML file from '~s'...\\n\" semmed-exclude-path)\n\n(define ip (open-input-file semmed-exclude-path))\n(define exclude-orig (time (read-yaml ip)))\n(define exclude-recd* (hash-ref exclude-orig \"excluded_semmedb_records\"))\n\n(match-define-values (semantic-exclude* domain-exclude* range-exclude*)\n  (let loop ((h exclude-recd*) (s '()) (d '()) (r '()))\n    (if (null? h)\n        (values (remove-duplicates s)\n                (remove-duplicates d)\n                (remove-duplicates r))\n        (let* ((hs (car h))\n               (type (hash-ref hs \"exclusion_type\"))\n               (sub-t (hash-ref hs \"semmed_subject_t_code\"))\n               (pred (hash-ref hs \"semmed_predicate\"))\n               (obj-t (hash-ref hs \"semmed_object_t_code\")))\n          (cond\n            ((equal? type \"semantic type exclusion\")\n             (let ((sub-b (UMLS-biolink-class-mapper sub-t))\n                   (obj-b (UMLS-biolink-class-mapper obj-t)))\n               (if (or sub-b obj-b)\n                   (loop (cdr h) (cons (list sub-b #f obj-b) s) d r)\n                   (loop (cdr h) s d r))))\n            ((equal? type \"Domain exclusion\")\n             (let ((sub-b (UMLS-biolink-class-mapper sub-t))\n                   (pred-b (UMLS-biolink-pred-mapper pred)))\n               (if (and sub-b pred-b)\n                   (loop (cdr h) s (cons (list sub-b pred-b #f) d) r)\n                   (loop (cdr h) s d r))))\n            ((equal? type \"Range exclusion\")\n             (let ((obj-b (UMLS-biolink-class-mapper obj-t))\n                   (pred-b (UMLS-biolink-pred-mapper pred)))\n               (if (and pred-b obj-b)\n                   (loop (cdr h) s d (cons (list #f pred-b obj-b) r))\n                   (loop (cdr h) s d r)))))))))\n           \n \n\n\n"
  },
  {
    "path": "medikanren2/neo/neo-server/experiments/experiment-1.rkt",
    "content": ";; Custodian, thread, channel experiments\n\n;; This version does successfully kill thread t1 by calling\n;; kill-thread\n\n(define n 0)\n\n(printf \"*** 1 n: ~s\\n\" n)\n(define t1-thunk\n  (lambda ()\n    (let loop ()\n      (set! n (add1 n))\n      (loop))))\n\n(printf \"*** 2 n: ~s\\n\" n)\n(define t1\n  (thread t1-thunk))\n\n(printf \"*** 3 n: ~s\\n\" n)\n(sleep 1)\n(printf \"*** 4 n: ~s\\n\" n)\n(kill-thread t1)\n(printf \"*** 5 n: ~s\\n\" n)\n(sleep 1)\n(printf \"*** 6 n: ~s\\n\" n)\n"
  },
  {
    "path": "medikanren2/neo/neo-server/experiments/experiment-2.rkt",
    "content": ";; Custodian, thread, channel experiments\n\n;; This version *does not* shut down the infinite loop!\n\n(define *n* 0)\n(define *cust* #f)\n\n(printf \"*** 1 *n*: ~s\\n\" *n*)\n(define t1-thunk\n  (lambda ()\n    (define t1-thunk-cust (make-custodian))\n    (set! *cust* t1-thunk-cust)\n    (parameterize ((current-custodian t1-thunk-cust))\n      (let loop ()\n        (set! *n* (add1 *n*))\n        (loop)))))\n\n(printf \"*** 2 *n*: ~s\\n\" *n*)\n(define t1\n  (thread t1-thunk))\n\n(printf \"*** 3 *n*: ~s\\n\" *n*)\n(sleep 1)\n(printf \"*** 4 *n*: ~s\\n\" *n*)\n(custodian-shutdown-all *cust*)\n(printf \"*** 5 *n*: ~s\\n\" *n*)\n(sleep 1)\n(printf \"*** 6 *n*: ~s\\n\" *n*)\n"
  },
  {
    "path": "medikanren2/neo/neo-server/experiments/experiment-3.rkt",
    "content": ";; Custodian, thread, channel experiments\n\n;; This version seems to successfully kill the t1 thread by shutting\n;; down the custodian *cust*\n\n(define *n* 0)\n(define *cust* #f)\n\n(printf \"*** 1 *n*: ~s\\n\" *n*)\n(define t1-thunk\n  (lambda ()\n    (let loop ()\n      (set! *n* (add1 *n*))\n      (loop))))\n\n(printf \"*** 2 *n*: ~s\\n\" *n*)\n(define t1\n  (let ()\n    (define t1-thunk-cust (make-custodian))\n    (set! *cust* t1-thunk-cust)\n    (parameterize ((current-custodian t1-thunk-cust))\n      (thread t1-thunk))))\n\n(printf \"*** 3 *n*: ~s\\n\" *n*)\n(sleep 1)\n(printf \"*** 4 *n*: ~s\\n\" *n*)\n(custodian-shutdown-all *cust*)\n(printf \"*** 5 *n*: ~s\\n\" *n*)\n(sleep 1)\n(printf \"*** 6 *n*: ~s\\n\" *n*)\n"
  },
  {
    "path": "medikanren2/neo/neo-server/experiments/experiment-4.rkt",
    "content": ";; Custodian, thread, channel experiments\n\n;; This version seems to successfully kill the t1 thread by shutting\n;; down the custodian cust\n\n(define *n* 0)\n\n(printf \"*** 1 *n*: ~s\\n\" *n*)\n(define t1-thunk\n  (lambda ()\n    (let loop ()\n      (set! *n* (add1 *n*))\n      (loop))))\n\n(printf \"*** 2 *n*: ~s\\n\" *n*)\n(define-values (t1 cust)\n  (let ()\n    (define t1-thunk-cust (make-custodian))\n    (parameterize ((current-custodian t1-thunk-cust))\n      (values (thread t1-thunk) t1-thunk-cust))))\n\n(printf \"*** 3 *n*: ~s\\n\" *n*)\n(sleep 1)\n(printf \"*** 4 *n*: ~s\\n\" *n*)\n(custodian-shutdown-all cust)\n(printf \"*** 5 *n*: ~s\\n\" *n*)\n(sleep 1)\n(printf \"*** 6 *n*: ~s\\n\" *n*)\n"
  },
  {
    "path": "medikanren2/neo/neo-server/experiments/experiment-5.rkt",
    "content": ";; Custodian, thread, channel experiments\n\n;; This version seems to successfully kill the t1 thread by shutting\n;; down the custodian cust, and shut down the t2 thread as well.\n;; The done! message is never displayed.\n\n(define *chan* (make-channel))\n(define *n* 0)\n\n(printf \"*** 1 *n*: ~s\\n\" *n*)\n(define t1-thunk\n  (lambda ()\n    (printf \"t1-thunk invoked\\n\")\n    (let loop ()\n      (set! *n* (add1 *n*))\n      (loop))))\n\n(printf \"*** 2 *n*: ~s\\n\" *n*)\n\n(define t1\n  (let ()\n    (define t1-thunk-cust (make-custodian))    \n    (parameterize ((current-custodian t1-thunk-cust))\n      (thread (lambda ()\n                (printf \"about to put t1-thunk-cust into channel *chan*\\n\")\n                (channel-put *chan* t1-thunk-cust)\n                (printf \"done putting t1-thunk-cust into channel *chan*\\n\")\n                (t1-thunk))))))\n\n(define-values (t2 cust)\n  (let ()\n    (define t2-cust (make-custodian))\n    (parameterize ((current-custodian t2-cust))\n      (values\n        (thread\n         (lambda ()\n           (printf \"*** 3 *n*: ~s\\n\" *n*)\n           (sleep 1)\n           (printf \"*** 4 *n*: ~s\\n\" *n*)\n           (define cust (channel-get *chan*))\n           (printf \"*** 5 *n*: ~s\\n\" *n*)\n           (sleep 1)\n           (printf \"*** 6 *n*: ~s\\n\" *n*)\n           (custodian-shutdown-all cust)\n           (printf \"*** 7 *n*: ~s\\n\" *n*)\n           (sleep 1)\n           (printf \"*** 8 *n*: ~s\\n\" *n*)\n           (printf \"shutting down t2 cust\\n\")\n           (custodian-shutdown-all t2-cust)\n           (printf \"done!\\n\")))\n        t2-cust))))\n"
  },
  {
    "path": "medikanren2/neo/neo-server/experiments/experiment-6.rkt",
    "content": ";; Custodian, thread, channel experiments\n\n;; This version seems nice!\n\n#|\nWelcome to Racket v8.6 [cs].\n> (load \"experiment-6.rkt\")\n*** 1 *n*: 0\n*** 2 *n*: 0\nabout to put t1-thunk-cust into channel *chan*\nabout to sleep\n*** 3 *n*: 0\n*** 4 *n*: 0\n*** 5 *n*: 0\ndone putting t1-thunk-cust into channel *chan*\nt1-thunk invoked\n*** 6 *n*: 201695745\n*** 7 *n*: 201695745\n*** 8 *n*: 201695745\n*** 9 (looping) *n*: 201695745\n*** 9 (looping) *n*: 201695745\n*** 9 (looping) *n*: 201695745\nshutting down t2 cust\ndone!\n> \n|#\n\n(define *chan* (make-channel))\n(define *n* 0)\n\n(printf \"*** 1 *n*: ~s\\n\" *n*)\n(define t1-thunk\n  (lambda ()\n    (printf \"t1-thunk invoked\\n\")\n    (let loop ()\n      (set! *n* (add1 *n*))\n      (loop))))\n\n(printf \"*** 2 *n*: ~s\\n\" *n*)\n\n(define t1\n  (let ()\n    (define t1-thunk-cust (make-custodian))    \n    (parameterize ((current-custodian t1-thunk-cust))\n      (thread (lambda ()\n                (printf \"about to put t1-thunk-cust into channel *chan*\\n\")\n                (channel-put *chan* t1-thunk-cust)\n                (printf \"done putting t1-thunk-cust into channel *chan*\\n\")\n                (t1-thunk))))))\n\n(define-values (t2 cust)\n  (let ()\n    (define t2-cust (make-custodian))\n    (parameterize ((current-custodian t2-cust))\n      (values\n        (thread\n         (lambda ()\n           (printf \"*** 3 *n*: ~s\\n\" *n*)\n           (sleep 1)\n           (printf \"*** 4 *n*: ~s\\n\" *n*)\n           (define cust (channel-get *chan*))\n           (printf \"*** 5 *n*: ~s\\n\" *n*)\n           (sleep 1)\n           (printf \"*** 6 *n*: ~s\\n\" *n*)\n           (custodian-shutdown-all cust)\n           (printf \"*** 7 *n*: ~s\\n\" *n*)\n           (sleep 1)\n           (printf \"*** 8 *n*: ~s\\n\" *n*)\n           (let loop ()\n             (printf \"*** 9 (looping) *n*: ~s\\n\" *n*)\n             (sleep 1)\n             (loop))))\n        t2-cust))))\n\n(printf \"about to sleep\\n\")\n(sleep 6)\n(printf \"shutting down t2 cust\\n\")\n(custodian-shutdown-all cust)\n(printf \"done!\\n\")\n"
  },
  {
    "path": "medikanren2/neo/neo-server/experiments/experiment-7.rkt",
    "content": ";; Custodian, thread, channel experiments\n\n(define CONNECTION_TIMEOUT_SECONDS 10)\n\n;; Beware!  Various Racket time operations, such as syncing on alarm\n;; events, uses elapsed CPU time, rather than elapsed real time (\"wall\n;; clock\" time/\"walltime\").\n;;\n;; When a job is in a queue waiting to be run, the CPU time doesn't\n;; advance, which can lead to apparently bizarre timeout behavior.\n;;\n;; For Translator timeouts, we should use walltime.\n\n(thread\n (lambda ()\n   (printf \"@@@ hello from watcher-thread\\n\")\n   (define alarm (alarm-evt (+ (current-inexact-milliseconds)\n                               (* CONNECTION_TIMEOUT_SECONDS 1000))))\n   (let ((evt (sync (thread-dead-evt handler-thread)\n                    alarm)))\n     (cond\n       (evt\n        (cond\n          ((eq? (thread-dead-evt handler-thread) evt)\n           (printf \"@@@ Watcher thread got a thread-dead-evt for handler-thread\\n\")\n           (semaphore-post sem))\n          ((eq? alarm evt)\n           (printf \"!!! Watcher thread got an alarm event after ~s seconds\\n\"\n                   CONNECTION_TIMEOUT_SECONDS)\n           (semaphore-post sem))\n          (else\n           (printf \"!!! Watcher thread received unexpected event ~s\\n\" evt)\n           (semaphore-post sem))))\n       (else\n        (printf \"!!! Watcher thread received unexpected #f value\\n\")\n        (semaphore-post sem))))))\n"
  },
  {
    "path": "medikanren2/neo/neo-server/neo-server-utils.rkt",
    "content": "#lang racket/base\n\n(provide get-assoc\n         list-assoc\n         get-publications\n         mvp2-1hop-filter\n         mvp2-2hop-filter\n         merge-list\n         merge-hash\n         minus-one-before-zero\n         find-max-number\n         get-source\n         UNSECRET-SOURCE\n         num-pubs\n         get-score-from-result\n         set-score-in-result\n         normalize-scores\n         edge-has-source?\n         publication-attributes\n         auxiliary-graph-attribute\n         qualifier-attribute*\n         merge-trapi-responses\n         semantic-exclude*\n         domain-exclude*\n         range-exclude*\n         get-object\n         get-and-print-qualifiers\n         Unsecret-agent-type-attribute\n         Unsecret-knowledge-level-attribute\n         agent-type-attribute\n         knowledge-level-attribute\n         )\n\n(require racket/list\n         racket/math\n         racket/string\n         json\n         racket/match\n         \"../neo-reasoning/semmed-exclude.rkt\"\n         \"../neo-utils/neo-helpers-without-db.rkt\"\n         )\n\n(define (merge-list xs ys)\n  (if (null? xs)\n      ys\n      (cons (car xs) (merge-list ys (cdr xs)))))\n\n(define (merge-hash h1 h2)\n  (define h h2)\n  (hash-for-each h1 (lambda (k v) (set! h (hash-set h k v))))\n  h)\n\n(define (get-assoc k m)\n  (let ((r (assoc k m)))\n    (if r\n        (cadr r)\n        #f)))\n\n(define (list-assoc k m)\n  (let ((r (assoc k m)))\n    (if r\n        (cdr r)\n        '())))\n\n(define mvp2-filter\n  (lambda (target-eprop direction care-aspect?)\n    (let* ((aspect (get-assoc \"object_aspect_qualifier\" target-eprop))\n           (direction^ (get-assoc \"object_direction_qualifier\" target-eprop)))\n      (if care-aspect?\n          (and\n           aspect\n           direction^\n           (member aspect '(\"activity\" \"abundance\" \"activity_or_abundance\" \"expression\" \"synthesis\"))\n           (equal? direction direction^))\n          (and\n           direction^\n           (equal? direction direction^))))))\n\n#|\nA increases B increases C = A increases C\nA decreases B deceases C = A increases C\nA increases B decreases C = A decreases C\nA decreases B increases C = A decreases C\n|#\n\n(define mvp2-2hop-filter\n  (lambda (e* direction)\n    (filter\n     (lambda (e)\n       (match e\n         [`(,curie_x\n            ,pred_xy\n            ,curie_y\n            ,(? string? pred_yz)\n            ,(? string? curie_z)\n            ,props_xy\n            ,props_yz)\n          (if (equal? pred_xy \"biolink:affects\")\n              (if (equal? direction \"increased\")\n                  (or\n                   (and (mvp2-filter props_xy \"increased\" #f)\n                        (mvp2-filter props_yz \"increased\" #t))\n                   (and (mvp2-filter props_xy \"decreased\" #f)\n                        (mvp2-filter props_yz \"decreased\" #t)))\n                  (or\n                   (and (mvp2-filter props_xy \"increased\" #f)\n                        (mvp2-filter props_yz \"decreased\" #t))\n                   (and (mvp2-filter props_xy \"decreased\" #f)\n                        (mvp2-filter props_yz \"increased\" #t))))\n              (if (equal? direction \"increased\")\n                  (mvp2-filter props_yz \"increased\" #t)\n                  (mvp2-filter props_yz \"decreased\" #t)))]\n         [else #f]))\n     e*)))\n\n(define mvp2-1hop-filter\n  (lambda (q direction)\n    (filter\n     (lambda (e)\n       (let-values ([(_ eprop) (split-at e 3)])\n         (mvp2-filter eprop direction #t)))\n     q)))\n\n(define find-max-number\n  (lambda (num*)\n    (let loop ((n* (cdr num*)) (greatest (car num*)))\n      (cond\n        ((null? n*) greatest)\n        (else\n         (if (> (car n*) greatest)\n             (loop (cdr n*) (car n*))\n             (loop (cdr n*) greatest)))))))\n\n(define (get-source-helper props)\n  (get-assoc \"primary_knowledge_source\" props))\n\n(define (get-source props)\n  (hash\n   'type \"biolink:RetrievalSource\"\n   'resource_id (get-source-helper props)\n   'resource_role \"primary_knowledge_source\"))\n\n(define (num-pubs props)\n  (let ((score (string->number (get-assoc \"mediKanren-score\" props)))\n        (source (get-source-helper props)))\n    (cond\n      ((equal? source \"infores:semmeddb\") (* 0.1 score))\n      ((equal? source \"infores:text-mining-provider-targeted\") (* 10 score))\n      (else score))))\n\n(define (UNSECRET-SOURCE prop)\n  (hash\n   'type \"biolink:RetrievalSource\"\n   'resource_id \"infores:unsecret-agent\"\n   'resource_role \"aggregator_knowledge_source\"\n   'upstream_resource_ids (get-assoc \"upstream_resource_ids\" prop)))\n\n(define (get-score-from-result result)\n  (let ((analyses (hash-ref result 'analyses #f)))\n    (if analyses\n        (hash-ref (car analyses) 'score)\n        (error \"check the implementation of results.analyses\"))))\n\n(define (set-score-in-result result score)\n  (let ((analyses (hash-ref result 'analyses #f)))\n    (if analyses\n        (hash-set result 'analyses\n                  (map (lambda (a) (hash-set a 'score score)) analyses))\n        (error \"check the implementation of results.analyses\"))))\n\n\n\n(define (normalize-scores results)\n  (if (null? results)\n      results\n      (let ((max-score (get-score-from-result (car results))))\n        (if (zero? max-score)\n            results\n            (map (lambda (x) (set-score-in-result x (/ (get-score-from-result x) (* 1.0 max-score)))) results)))))\n\n(define (edge-has-source? props)\n  (get-source-helper props))\n\n(define (publication-attributes props has-pub?)\n  (if has-pub?\n    (list (get-publications props))\n    (list)))\n\n(define get-publications\n  (lambda props\n    (define (helper props pubs)\n      (cond\n        [(null? props) pubs]\n        [else\n         (let ((publication (get-assoc \"publications\" (car props))))\n           (helper (cdr props)\n                   (append \n                    (cond\n                      [(string-prefix? publication \"(\")\n                       (string-split (string-trim (string-trim publication \"(\") \")\"))] ;rtx-kg2 & robokop\n                      [(string-contains? publication \"|\") (string-split publication \"|\")] ;text-mining\n                      [(string-contains? publication \";\") (string-split publication \"; \")]\n                      [else (string-split publication)])\n                    pubs)))]))\n    (define pubs (filter\n                  (lambda (p) (not (equal? \"PMID:\" p)))\n                  (remove-duplicates (helper props '()))))\n    (hash\n     'attribute_type_id \"biolink:publications\"\n     'value pubs\n     'value_type_id \"biolink:Uriorcurie\")))\n\n(define auxiliary-graph-attribute\n  (lambda (id)\n    (hash\n     'attribute_type_id \"biolink:support_graphs\"\n     'value (list id))))\n\n(define (qualifier-attribute* qualifier-name props)\n  (let ((qualifer (get-assoc qualifier-name props)))\n    (if qualifer\n        (list (hash 'qualifier_type_id (string-append \"biolink:\" qualifier-name)\n              'qualifier_value qualifer))\n        '())))\n        \n\n(define Unsecret-agent-type-attribute\n  (hash\n   'attribute_type_id \"biolink:agent_type\"\n   'value \"computational_model\"\n   'attribute_source \"infores:unsecret-agent\"))\n\n(define Unsecret-knowledge-level-attribute\n  (hash\n   'attribute_type_id \"biolink:knowledge_level\"\n   'value \"prediction\"\n   'attribute_source \"infores:unsecret-agent\"))\n\n(define (agent-type-attribute prop)\n  (let* ((edge-from-tmkg? (get-assoc \"json_attributes\" prop))\n         (agent-type (if edge-from-tmkg? \"text_mining_agent\" (get-assoc \"agent_type\" prop))))\n        (hash\n         'attribute_type_id \"biolink:agent_type\"\n         'value agent-type)))\n\n(define (knowledge-level-attribute prop)\n  (let* ((edge-from-tmkg? (get-assoc \"json_attributes\" prop))\n         (knowledge-level (if edge-from-tmkg? \"not_provided\" (get-assoc \"knowledge_level\" prop))))\n        (hash\n         'attribute_type_id \"biolink:knowledge_level\"\n         'value knowledge-level)))\n\n;; TODO: test it with calling out Genetics KP\n(define (merge-trapi-responses r1 r2 original-query_graph)\n  (let* ((message1 (hash-ref r1 'message))\n         (message2 (hash-ref r2 'message))\n         (auxiliary_graphs1 (hash-ref message1 'auxiliary_graphs))\n         (auxiliary_graphs2 (hash-ref message2 'auxiliary_graphs))\n         (knowledge_graph1 (hash-ref message1 'knowledge_graph))\n         (knowledge_graph2 (hash-ref message2 'knowledge_graph))\n         (nodes1 (hash-ref knowledge_graph1 'nodes))\n         (nodes2 (hash-ref knowledge_graph2 'nodes))\n         (edges1 (hash-ref knowledge_graph1 'edges))\n         (edges2 (hash-ref knowledge_graph2 'edges))\n         (results1 (hash-ref message1 'results))\n         (results2 (hash-ref message2 'results)))\n    ;; POSSIBLE TODO\n    ;; Might want to check that 'original-query_graph'\n    ;; is 'equal?' to the 'query_graph' in 'r1' and the\n    ;; 'query_graph' in 'r2' (to ensure we aren't trying\n    ;; to merge a response that modifies the 'query_graph'\n    ;; in creative mode, for example).\n    (hash 'message\n          (hash\n           ;;\n           'query_graph\n           original-query_graph\n           ;;\n           'knowledge_graph\n           (hash\n            'edges (merge-hash edges1 edges2)\n            ;;\n            'nodes (merge-hash nodes1 nodes2))\n           ;;\n           'auxiliary_graphs\n           (merge-hash auxiliary_graphs1 auxiliary_graphs2)\n           ;; TODO: merge results when they have the same node binding sub/obj depends on mvp\n           ;; similar with the metaKG merge\n           'results\n           (merge-list results1 results2)\n           ))))\n\n(define get-object\n  (lambda (e)\n    (match e\n      [`(,score\n         ,curie_x\n         ,pred_xy\n         ,curie_y\n         ,(? string? pred_yz)\n         ,(? string? curie_z)\n         ,props_xy\n         ,props_yz)\n       curie_z]\n      [`(,score\n         ,curie_x\n         ,pred_xy\n         ,curie_y\n         .\n         ,props_xy)\n       curie_y]\n      [else (error \"invalid form of returned edge\" e)])))\n\n(define (get-and-print-qualifiers qualifier)\n  (define qualifier-type (hash-ref qualifier 'qualifier_type_id #f))\n  (printf \"qualifier-type: ~s\\n\" qualifier-type)\n  (define qualifier-value (hash-ref qualifier 'qualifier_value #f))\n  (printf \"qualifier-value: ~s\\n\" qualifier-value)\n  (list qualifier-type qualifier-value))\n\n  \n  \n"
  },
  {
    "path": "medikanren2/neo/neo-server/neo-server.rkt",
    "content": "#lang racket/base\n\n(provide serve\n         DEFAULT_PORT)\n(require\n  \"../../logging2.rkt\"\n  \"../neo-low-level/query-low-level-multi-db.rkt\"\n  \"../neo-open-api/neo-api-query.rkt\"\n  \"../neo-reasoning/neo-biolink-reasoning.rkt\"\n  \"../neo-utils/neo-helpers-multi-db.rkt\"\n  \"neo-server-utils.rkt\"\n  racket/file\n  racket/match\n  racket/engine\n  racket/set\n  racket/port\n  racket/pretty\n  racket/runtime-path\n  racket/string\n  racket/tcp\n  json\n  xml\n  net/url\n  racket/list\n  racket/math\n  )\n\n;; Team Unsecret Agent mediKanren 2 neo server\n\n(define DEFAULT_PORT 8384)\n\n(define NEO_SERVER_VERSION \"1.54\")\n\n;; Maximum number of results to be returned from *each individual* KP,\n;; or from mediKanren itself.\n(define MAX_RESULTS_FROM_COMPONENT 250)\n\n;; Maximum number of results to score and then sort.\n(define MAX_RESULTS_TO_SCORE_AND_SORT 100000)\n\n(define MAX_DESCENDENT 100)\n\n;; Number of seconds before a connection times out, collecting all\n;; resources from the connection (was 10 seconds in the original\n;; tutorial).\n(define CONNECTION_TIMEOUT_SECONDS (* 58 60))\n(define API_CALL_CONNECTION_TIMEOUT_SECONDS (* 1 60))\n\n;; Numbers of the top bucket of the RoboKop KG, Text Mining KG, and RTX-KG2 KG.\n(define TOP_BUCKET_NUMBERS (list (list (get-highest-bucket-number-robokop))\n                                 (list (get-highest-bucket-number-text-mining))\n                                 (list (get-highest-bucket-number-rtx-kg2))))\n\n(define GENERAL-NODES\n  (curies->synonyms\n   '(\"UMLS:C0017337\" ; Genes\n     \"UMLS:C0005522\" ; Biological Products\n     \"UMLS:C1611640\" ; Therapeutic agent (substance)\n     \"MESH:D020218\" ; Response elements\n     \"UMLS:C0162327\" ; RNA Sequence\n     \"PUBCHEM.COMPOUND:135499568\" ; Double stranded RNA\n     \"UMLS:C1099354\" ; RNA, Small Interfering\n     \"UMLS:C0376613\" ; \"Vaccines, DNA\"\n     \"MESH:D004798\" ; Enzymes\n     )))\n\n;; Unsecret-level excluded MVP1 results - answers that is obviously wrong/useless\n(define UNWELCOME-TREATMENT\n  (append \n   (curies->synonyms\n    '(\n      \"MESH:D001335\" ; Vehicle emissions\n      \"UMLS:C0013227\" ; Pharmaceutical preparations\n      \"MESH:D014028\" ; tobacco smoke pollution\n      ))\n   GENERAL-NODES\n   ))\n\n\n\n\n;; ** `tcp-listen` settings **\n;;\n;; From the Racket documentation for `tcp-listen` in\n;; https://docs.racket-lang.org/reference/tcp.html:\n;;\n;; \"The max-allow-wait argument determines the maximum number of\n;; client connections that can be waiting for acceptance. (When\n;; max-allow-wait clients are waiting acceptance, no new client\n;; connections can be made.)\"\n(define MAX_ALLOW_WAIT 5)\n;; \"If the reuse? argument is true, then tcp-listen will create a\n;; listener even if the port is involved in a TIME_WAIT state. Such a\n;; use of reuse? defeats certain guarantees of the TCP protocol; see\n;; Stevens’s book for details. Furthermore, on many modern platforms,\n;; a true value for reuse? overrides TIME_WAIT only if the listener\n;; was previously created with a true value for reuse?.\"\n(define REUSE_LISTENER_WHILE_IN_TIME_WAIT_STATE #f)\n;; \"If hostname is #f (the default), then the listener accepts\n;; connections to all of the listening machine’s addresses. Otherwise,\n;; the listener accepts connections only at the interface(s)\n;; associated with the given hostname. For example, providing\n;; \"127.0.0.1\" as hostname creates a listener that accepts only\n;; connections to \"127.0.0.1\" (the loopback interface) from the local\n;; machine.\"\n(define ONLY_ACCEPT_CONNECTIONS_FROM_GIVEN_HOSTNAME #f)\n\n(define MAX_POST_REQUEST_CONTENT_LENGTH 100000)\n\n;; HTTP header strings\n(define HTTP_VERSION_STRING \"HTTP/1.0\")\n(define SERVER_STRING \"Server: k\")\n(define 200_OK_STRING \"200 OK\")\n(define 408_ERROR_STRING \"408 Request Timeout\")\n(define 500_ERROR_STRING \"500 Internal Server Error\")\n(define 501_ERROR_STRING \"501 Not Implemented Error\")\n\n(define-runtime-path path:root \".\")\n(define (path/root relative-path) (build-path path:root relative-path))\n\n(define schema.json.txt\n  (file->string (path/root \"../neo-open-api/mediKanrenSmartAPI_1_4.json\")))\n(define schema.yaml.txt\n  (file->string (path/root \"../neo-open-api/mediKanrenSmartAPI_1_4.yaml\")))\n(define metaKG.json.txt\n  (file->string (path/root \"../neo-open-api/unsecret_metaKG_May_2023.json\")))\n\n;; Environment variables (contained in boxes)\n(define ENVIRONMENT_TAG_BOX (box #f)) ;; Should be one of \"CI\", \"TEST\", or \"PROD\", if not #f\n(define MK_STAGE_BOX (box #f)) ;; deprecated (5 April 2023)\n;; (should be removed, once ENVIRONMENT_TAG_BOX is shown to work)\n\n(struct job-failure (message))\n\n(define job-request (make-channel))\n(define *jobs-waiting* 0)\n\n(define (work-safely work)\n  (printf \"entered work-safely\\n\")\n  (let ((result (work)))\n    ;; (printf \"work-safely returning result ~s\\n\" result)\n    result))\n\n;; Run multiple jobs concurrently\n;(define (job work) (work-safely work))\n\n;; Run multiple jobs sequentially\n(define (job work)\n  (define job-response (make-channel))\n  (printf \"job is calling channel-put on job-request channel\\n\")\n  (set! *jobs-waiting* (add1 *jobs-waiting*))\n  (printf \"^ ~s job(s) in job queue\\n\"\n          *jobs-waiting*)\n  (channel-put job-request (cons job-response work))\n  (printf \"job is calling channel-get on job-response channel\\n\")\n  (let ((response (channel-get job-response)))\n    (set! *jobs-waiting* (sub1 *jobs-waiting*))\n    (printf \"work returned response from job-reponse channel\\n\")\n    (printf \"^ ~s job(s) remaining in job queue\\n\"\n            *jobs-waiting*)\n    response))\n\n(define (serve port-no)\n  (define listener\n    (tcp-listen port-no\n                MAX_ALLOW_WAIT\n                REUSE_LISTENER_WHILE_IN_TIME_WAIT_STATE\n                ONLY_ACCEPT_CONNECTIONS_FROM_GIVEN_HOSTNAME))\n  (define (worker)\n    (let loop ()\n      (printf \"worker is about to call channel-get on job-request\\n\")\n      (match-define (cons job-response work) (channel-get job-request))\n      (printf \"worker is about to call channel-put on job-response\\n\")\n      (channel-put job-response (work-safely work))\n      (loop)))\n  (define (loop)\n    (accept-and-handle listener)\n    (loop))\n  (thread worker)\n  (thread loop))\n\n(define (accept-and-handle listener)\n  (define cust.accept-and-handle (make-custodian))\n  (parameterize ((current-custodian cust.accept-and-handle))\n    (define-values (in out) (tcp-accept listener))\n    (printf \"\\ntcp-accept accepted connection\\n\")\n\n    ;; main accept-and-handle thread\n    (thread\n     (lambda ()\n\n       (define start-time-ms-realtime (current-inexact-milliseconds))\n       (define timeout-ms-realtime\n         (+ start-time-ms-realtime (* CONNECTION_TIMEOUT_SECONDS 1000)))\n\n       (let ((result\n              (call/cc\n               (lambda (break)\n                 (with-handlers\n                     ;; Don't send HTTP replies with these\n                     ;; unexpected errors, to avoid errors from\n                     ;; writing to ports which are closed.\n                     ((exn:fail:network:errno?\n                       (lambda (ex)\n                         (cond\n                           ((equal? '(110 . posix) (exn:fail:network:errno-errno ex))\n                            (printf \"!!! Error: TCP keepalive failed.\\n\")\n                            (printf \"    Presuming half-open TCP connection.\\n\")\n                            (break 'tcp-keepalive-failed))\n                           (else\n                            (printf \"!!! Error: Unknown network error ~a.\\n\" ex)\n                            (break 'unknown-network-error)))))\n                      (exn:fail?\n                       (lambda (v)\n                         (printf \"!! exn:fail? handler called\\n\")\n                         ((error-display-handler) (exn-message v) v)\n                         (break 'exn:fail?-handler-called)))\n                      ((lambda _ #t)\n                       (lambda (v)\n                         (printf \"!! Unknown error handler called from job engine\\n\")\n                         (printf \"Unknown error: ~s\\n\" v)\n                         (break 'unknown-error))))\n                   (let ((result\n                          (handle in out\n                                  start-time-ms-realtime\n                                  timeout-ms-realtime\n                                  (lambda ()\n                                    (printf \"** Connection failure continuation invoked!\\n\")\n                                    (break 'connection-failure))\n                                  (lambda ()\n                                    (printf \"** Request failure continuation invoked!\\n\")\n                                    (break 'request-failure)))))\n                     (printf \"`handle` call in `engine-proc` finished cleanly\\n\")\n                     result))))))\n\n         (printf \"handle returned result ~s\\n\" result)\n\n         (printf \"(current-memory-use): ~s\\n\"\n                 (current-memory-use))\n         (printf \"calling (collect-garbage)\\n\")\n         (collect-garbage)\n         (printf \"(current-memory-use): ~s\\n\"\n                 (current-memory-use))\n\n         (printf \"main accept-and-handle thread about to shut-down cust.accept-and-handle\\n\")\n         (custodian-shutdown-all cust.accept-and-handle)\n\n         (printf \"(current-memory-use): ~s\\n\"\n                 (current-memory-use))\n         (printf \"calling (collect-garbage)\\n\")\n         (collect-garbage)\n         (printf \"(current-memory-use): ~s\\n\"\n                 (current-memory-use)))))))\n\n(define (get-request-headers in)\n  (define request-headers (make-hash))\n  (printf \"getting request headers\\n\")\n  (let loop ()\n    (define current-line-match (regexp-match #rx\"[^\\r\\n]*\\r\\n\" in))\n    (if (not current-line-match)\n        (begin\n          (printf \"** error parsing request headers: current line doesn't end properly\\n\")\n          #f)\n        (let ((current-line (list-ref current-line-match 0)))\n          (printf \"current-line:\\n~s\\n\" current-line)\n          (cond\n            [(regexp-match #rx\"^([^:]+:) (.+)\\r\\n\" current-line)\n             =>\n             (lambda (header)\n               ;(printf \"== header:\\n~s\\n\" header)\n               ;(printf \"== (list-ref header 1):\\n~s\\n\" (list-ref header 1))\n               ;(printf \"== (list-ref header 2):\\n~s\\n\" (list-ref header 1))\n               (hash-set! request-headers\n                          (bytes->string/utf-8 (list-ref header 1))\n                          (bytes->string/utf-8 (list-ref header 2)))\n               (printf \"== request-headers:\\n~s\\n\\n\" request-headers)\n               (loop))]\n            [(regexp-match #px\"^[[:space:]]*\\r\\n\" current-line)\n             (printf \"parsed request headers:\\n~s\\n\" request-headers)\n             request-headers]\n            [else\n             (printf \"** error parsing request headers: ~s\\n\" current-line)\n             #f])))))\n\n(define (get-request-body in content-length)\n  (define bytes (read-bytes content-length in))\n  (if (eof-object? bytes)\n      #f\n      (bytes->string/utf-8 bytes)))\n\n(define (send-reply dispatch-result out)\n  (begin\n    (match dispatch-result\n      [`(text ,respose-code ,text)\n       (printf \"sending text reply\\n\")\n       (display HTTP_VERSION_STRING out)\n       (display \" \" out)\n       (display respose-code out)\n       (display \"\\r\\n\" out)\n       (display SERVER_STRING out)\n       (display \"\\r\\n\" out)\n       (display \"Content-Type: text/plain\\r\\n\\r\\n\" out)\n       (display text out)]\n      [`(json ,respose-code ,jsexpr)\n       (printf \"sending JSON reply\\n\")\n       (display HTTP_VERSION_STRING out)\n       (display \" \" out)\n       (display respose-code out)\n       (display \"\\r\\n\" out)\n       (display SERVER_STRING out)\n       (display \"\\r\\n\" out)\n       (display \"Content-Type: application/json\\r\\n\\r\\n\" out)\n       (display (jsexpr->string jsexpr) out)\n       #;(pretty-print-json-string (jsexpr->string jsexpr) out)]\n      [`(xexpr ,respose-code ,xexpr)\n       (printf \"sending HTML reply\\n\")\n       (display HTTP_VERSION_STRING out)\n       (display \" \" out)\n       (display respose-code out)\n       (display \"\\r\\n\" out)\n       (display SERVER_STRING out)\n       (display \"\\r\\n\" out)\n       (display \"Content-Type: text/html\\r\\n\\r\\n\" out)\n       (display (xexpr->string xexpr) out)]\n      [else\n       (printf \"unknown dispatch-result type:\\n~s\\n\" dispatch-result)\n       (display HTTP_VERSION_STRING out)\n       (display \" \" out)\n       (display 500_ERROR_STRING out)\n       (display \"\\r\\n\" out)])\n    (flush-output out)))\n\n;; Try to get the value for a given key from the hash table of\n;; headers.  This is a little subtle, since the header keys are case\n;; insensitive, yet hash table lookup is case senstitive.  This\n;; function returns #f if no entry could be found for the given key\n;; string (in a case-insensitive manner).  Otherwise, the function\n;; returns the value.\n(define (get-key/value-from-headers key-name-str req-headers-hash)\n  (define keys (hash-keys req-headers-hash))\n  (define lowercase/original-keys\n    (map (lambda (key) (cons (string-downcase key) key)) keys))\n  (define pr (assoc (string-downcase key-name-str) lowercase/original-keys))\n  (if pr\n      (let ((actual-key (cdr pr)))\n        (let ((value (hash-ref req-headers-hash actual-key)))\n          value))\n      #f))\n\n;; `conn-fk` is a failure continuation to be invoked upon unexpected\n;; closing of the TCP connection, or due to a networking error.  The\n;; failure continuation should not be invoked for request that can not\n;; be handled due to an unknown request type or to a failure to\n;; respond to the request that can be handled gracefully (with a\n;; response error code and message).\n;;\n;; `request-fk` is a failure continuation to be invoked if the request\n;; is malformed, incomplete, or non-sensical, such as a request not\n;; being parsable, or a `query` POST not containing `Content-Type` or\n;; `Content-Length` information, `Content-Length` that isn't legal, or\n;; a body that can't be parsed as JSON.\n(define (handle in out\n                start-time-ms-realtime\n                timeout-ms-realtime\n                conn-fk request-fk)\n  (define first-input-line (read-line in))\n  (printf \"handling request:\\n~s\\n\" first-input-line)\n\n  (define get/post-req\n    (regexp-match #rx\"^(GET|POST) (.+) HTTP/[0-9]+\\\\.[0-9]+\"\n                  first-input-line))\n\n  (when get/post-req\n    (let ((request-type (list-ref get/post-req 1))\n          (str-path (list-ref get/post-req 2)))\n      (define req-headers (get-request-headers in))\n      (when req-headers\n        ;; Detect half-closed TCP connections with eof-evt on the input port\n        (with-handlers\n            ((exn:fail:network:errno?\n              (lambda (ex)\n                (cond\n                  ((equal? '(110 . posix) (exn:fail:network:errno-errno ex))\n                   (printf \"Error: TCP keepalive failed.  Presuming half-open TCP connection.\\n\")\n                   (conn-fk))\n                  (else\n                   (printf \"Error: Unknown network error ~a.\\n\" ex)\n                   (conn-fk))))))\n          (match request-type\n            [\"GET\"\n             ;; Dispatch GET request:\n             (let ([dispatch-result (dispatch-request 'GET\n                                                      str-path\n                                                      req-headers\n                                                      in out\n                                                      start-time-ms-realtime\n                                                      timeout-ms-realtime\n                                                      request-fk)])\n               (printf \"dispatch-result:\\n~s\\n\" dispatch-result)\n\n               ;; Send reply:\n               (send-reply dispatch-result out))]\n            [\"POST\"\n             (printf \"handling POST request\\n\")\n\n             (printf \"req-headers:\\n~s\\n\" req-headers)\n\n             (define content-length-string\n               (get-key/value-from-headers \"Content-Length:\" req-headers))\n\n             (unless content-length-string\n               (printf \"** error: POST request doesn't include 'Content-Length:'\\n\")\n               (request-fk))\n\n             (define content-length (string->number content-length-string))\n             (printf \"Content-Length as a number:\\n~s\\n\" content-length)\n\n             (unless (and (integer? content-length)\n                          (<= 0 content-length)\n                          (<= content-length MAX_POST_REQUEST_CONTENT_LENGTH))\n               (printf \"** error: bad POST content length: ~s\\n\" content-length)\n               (request-fk))\n\n             (define content-type-string\n               (get-key/value-from-headers \"Content-Type:\" req-headers))\n\n             (unless content-type-string\n               (printf \"** error: POST request doesn't include 'Content-Type:'\\n\")\n               (request-fk))\n\n             (printf \"Content-Type:\\n~s\\n\" content-type-string)\n\n             (define body-str (get-request-body in content-length))\n             (printf \"body-str:\\n~s\\n\" body-str)\n\n             (unless body-str\n               (printf \"** error: unable to get the body of POST request\\n\")\n               (request-fk))\n\n             (let ([dispatch-result (dispatch-request 'POST\n                                                      str-path\n                                                      req-headers\n                                                      in out\n                                                      start-time-ms-realtime\n                                                      timeout-ms-realtime\n                                                      request-fk\n                                                      ;;\n                                                      content-type-string\n                                                      content-length-string\n                                                      body-str)])\n               ;; (printf \"dispatch-result:\\n~s\\n\" dispatch-result)\n               (printf \"about to send reply\\n\")\n\n               ;; Send reply:\n               (send-reply dispatch-result out))]))))))\n\n;; dispatch for HTTP GET and POST requests\n(define (dispatch-request request-type\n                          str-path\n                          req-headers\n                          in out\n                          start-time-ms-realtime\n                          timeout-ms-realtime\n                          request-fk\n                          . rest-args)\n\n  ;; Parse the request as a URL:\n  (define url (string->url str-path))\n  ;; Extract the path part:\n  (define path (map path/param-path (url-path url)))\n  ;; Find a handler based on the path's first element:\n  (define dispatch-key (list request-type (car path)))\n  (define h/safe? (hash-ref dispatch-table dispatch-key #f))\n  (define h (and h/safe? (car h/safe?)))\n  (define safe-for-concurrent-use?\n    (and h/safe?\n         (eq? (cdr h/safe?) 'safe-for-concurrent-use)))\n  (printf \"dispatch-key: ~s\\n\" dispatch-key)\n  ;(printf \"dispatch-table: ~s\\n\" dispatch-table)\n  (printf \"h/safe?: ~s\\n\" h/safe?)\n  (printf \"h: ~s\\n\" h)\n  (printf \"safe-for-concurrent-use?: ~s\\n\" safe-for-concurrent-use?)\n  (printf \"url: ~s\\n\" url)\n  (printf \"path: ~s\\n\" path)\n  (printf \"url-query: ~s\\n\" (url-query url))\n  ;(printf \"req-headers: ~s\\n\" req-headers)\n  ;(printf \"rest-args: ~s\\n\" rest-args)\n  (newline)\n\n  (cond\n    ((not h)\n     (printf \"!! No handler found !!\\n\")\n     (list\n       'xexpr\n       `(html (head (title \"Error\"))\n              (body\n               (font ((color \"red\"))\n                     \"Unknown page: \"\n                     ,str-path)))))\n    (safe-for-concurrent-use?\n     (printf \"handler is safe for concurrent use\\n\")\n     ;; Call the handler, without using the job channels:\n     (apply h (url-query url) req-headers request-fk rest-args))\n    (else\n     (printf \"handler is *not* safe for concurrent use\\n\")\n     ;; Call the handler, using the job channels:\n     (define result/cust.job\n       (job\n        (lambda ()\n          (printf \"job-thunk invoked\\n\")\n\n          (printf \"(current-memory-use): ~s\\n\"\n                  (current-memory-use))\n          (printf \"calling (collect-garbage)\\n\")\n          (collect-garbage)\n          (printf \"(current-memory-use): ~s\\n\"\n                  (current-memory-use))\n\n          (define cust.job (make-custodian))\n          (parameterize ((current-custodian cust.job))\n\n            (define ENGINE_GAS_MS (* 1 1000))\n\n            (define eng\n              (engine\n               (lambda (suspend-proc)\n                 ;; apply the request handler\n                 (apply h (url-query url) req-headers request-fk rest-args))))\n\n            (with-handlers\n                ((exn:fail:network:errno?\n                  (lambda (ex)\n                    (cond\n                      ((equal? '(110 . posix) (exn:fail:network:errno-errno ex))\n                       (printf \"!!! Error: TCP keepalive failed.\\n\")\n                       (printf \"    Presuming half-open TCP connection.\\n\")\n                       (engine-kill eng)\n                       (cons\n                        (list\n                          'xexpr\n                          `(html (head (title \"Error\"))\n                                 (body\n                                  (font ((color \"red\"))\n                                        \"Error: TCP keepalive failed for: \"\n                                        ,str-path))))\n                        cust.job))\n                      (else\n                       (printf \"!!! Error: Unknown network error ~a.\\n\" ex)\n                       (engine-kill eng)\n                       (cons\n                        (list\n                          'xexpr\n                          `(html (head (title \"Error\"))\n                                 (body\n                                  (font ((color \"red\"))\n                                        \"Unknown network error for: \"\n                                        ,str-path))))\n                        cust.job)))\n                    ))\n                 (exn:fail?\n                  (lambda (v)\n                    (printf \"!! exn:fail? handler called from job engine\\n\")\n                    ((error-display-handler) (exn-message v) v)\n                    (engine-kill eng)\n                    (cons\n                     (list\n                       'xexpr\n                       `(html (head (title \"Error\"))\n                              (body\n                               (font ((color \"red\"))\n                                     \"Internal error for: \"\n                                     ,str-path))))\n                     cust.job)))\n                 ((lambda _ #t)\n                  (lambda (v)\n                    (printf \"!! Unknown error handler called from job engine\\n\")\n                    (printf \"Unknown error: ~s\\n\" v)\n                    (engine-kill eng)\n                    (cons\n                     (list\n                       'xexpr\n                       `(html (head (title \"Error\"))\n                              (body\n                               (font ((color \"red\"))\n                                     \"Internal error for: \"\n                                     ,str-path))))\n                     cust.job))))\n\n              (define unexpected-eof-evt\n                (eof-evt in))\n\n              (let loop-forever ()\n\n                (define engine-ran-out-of-gas-evt\n                  (alarm-evt (+ (current-inexact-milliseconds)\n                                ENGINE_GAS_MS)))\n\n                (define end-evt\n                  (choice-evt\n                   unexpected-eof-evt\n                   engine-ran-out-of-gas-evt))\n\n                (let* ((finished? (engine-run end-evt eng))\n                       (now-ms-realtime (current-inexact-milliseconds))\n                       (elapsed-seconds-realtime\n                        (inexact->exact\n                         (round\n                          (/ (- now-ms-realtime start-time-ms-realtime) 1000.0))))\n                       (current-mem (current-memory-use)))\n                  (cond\n                    (finished?\n                     (printf \"- Engine ran to completion (~s ~s)\\n\"\n                             elapsed-seconds-realtime\n                             current-mem)\n                     ;; Make sure to stop the engine.\n                     (engine-kill eng)\n                     (cons (engine-result eng) cust.job))\n                    (else\n                     ;; Engine returned because an event in\n                     ;; end-evt became ready for\n                     ;; synchronization, rather than from the\n                     ;; engine's procedure running to\n                     ;; completion.  Perform a case analysis on\n                     ;; the event that became ready for\n                     ;; synchronization.\n                     (let ((evt (sync end-evt)))\n                       (cond\n                         ((or (eof-object? evt)\n                              (eq? unexpected-eof-evt evt))\n                          (printf\n                           \"!!! Error: Detected half-closed TCP connection (~s ~s)\\n\"\n                           elapsed-seconds-realtime\n                           current-mem)\n                          (engine-kill eng)\n                          (cons\n                           (list\n                             'xexpr\n                             500_ERROR_STRING\n                             `(html\n                               (body\n                                \"Error: TCP keepalive failed.  Presuming half-open TCP connection.\")))\n                           cust.job))\n                         ((eq? engine-ran-out-of-gas-evt evt)\n                          (cond\n                            ((> now-ms-realtime timeout-ms-realtime)\n                             (printf\n                              \"!!! Computation timed out (~s ~s)\\n\"\n                              elapsed-seconds-realtime\n                              current-mem)\n                             (engine-kill eng)\n                             (cons\n                              (list\n                                'xexpr\n                                408_ERROR_STRING\n                                `(html\n                                  (body\n                                   \"Error: Request timeout.\")))\n                              cust.job))\n                            (else\n                             (printf \".(~s ~s) \"\n                                     elapsed-seconds-realtime\n                                     current-mem)\n                             (flush-output)\n                             (loop-forever))))\n                         (else\n                          (printf \"Unexpected value of `(sync end-evt)` (~s ~s): ~s\"\n                                  elapsed-seconds-realtime\n                                  current-mem\n                                  evt)\n                          (engine-kill eng)\n                          (cons\n                           (list\n                             'xexpr\n                             `(html (head (title \"Error\"))\n                                    (body\n                                     (font ((color \"red\"))\n                                           \"Internal error for: \"\n                                           ,str-path))))\n                           cust.job)))))))))))))\n     (define result (car result/cust.job))\n     (define cust.job (cdr result/cust.job))\n     (printf \"about to call (custodian-shutdown-all cust.job)\\n\")\n     (custodian-shutdown-all cust.job)\n     (if result\n         result\n         (begin\n           (printf \"job returned #f as the result\\n\")\n           (list\n             'xexpr\n             `(html (head (title \"Error\"))\n                    (body\n                     (font ((color \"red\"))\n                           \"Internal error for : \"\n                           ,str-path)))))))))\n\n(define (mvp-creative-query? edges nodes)\n\n  (define edge* (hash->list edges))\n  (printf \"edge*: ~s\\n\" edge*)\n\n  (match edge*\n    ;; exactly one edge\n    [`((,edge-id . ,edge-hash))\n     (define knowledge_type (hash-ref edge-hash 'knowledge_type #f))\n     (printf \"knowledge_type: ~s\\n\" knowledge_type)\n\n     (define predicates (hash-ref edge-hash 'predicates #f))\n     (printf \"predicates: ~s\\n\" predicates)\n\n     (define subject-id (hash-ref edge-hash 'subject #f))\n     (define object-id (hash-ref edge-hash 'object #f))\n\n     (define subject-node (hash-ref nodes (string->symbol subject-id) #f))\n     (define object-node (hash-ref nodes (string->symbol object-id) #f))\n\n     (printf \"subject-node: ~s\\n\" subject-node)\n     (printf \"object-node: ~s\\n\" object-node)\n\n     (cond\n       [(and (equal? \"inferred\" knowledge_type)\n             (list? predicates)\n             (member \"biolink:treats\" predicates)\n             subject-node\n             object-node\n             (let ()\n               (define object-ids (hash-ref object-node 'ids #f))\n               (printf \"object-ids: ~s\\n\" object-ids)\n               (and (list? object-ids)\n                    (not (null? object-ids))\n                    (let ()\n                      (define subject-categories (hash-ref subject-node 'categories #f))\n                      (printf \"subject-categories: ~s\\n\" subject-categories)\n                      (and (list? subject-categories)\n                           (member \"biolink:ChemicalEntity\" subject-categories)\n                           (let ()\n                             (define object-categories (hash-ref object-node 'categories #f))\n                             (printf \"object-categories: ~s\\n\" object-categories)\n\n                             (or (not object-categories)\n                                 (and (list? object-categories)\n                                      (member \"biolink:Disease\" object-categories)))))))))\n        'mvp1]\n       [(and (equal? \"inferred\" knowledge_type)\n             (list? predicates)\n             (member \"biolink:affects\" predicates)\n             subject-node\n             object-node\n             (let ()\n               (define object-ids (hash-ref object-node 'ids #f))\n               (and (list? object-ids)\n                    (not (null? object-ids))\n                    (let ()\n                      (printf \"object-ids: ~s\\n\" object-ids)\n                      (define subject-categories (hash-ref subject-node 'categories #f))\n                      (printf \"subject-categories: ~s\\n\" subject-categories)\n\n                      (and (list? subject-categories)\n                           (member \"biolink:ChemicalEntity\" subject-categories)\n                           (let ()\n                             (define object-categories (hash-ref object-node 'categories #f))\n                             (printf \"object-categories: ~s\\n\" object-categories)\n                             (and (list? object-categories)\n                                  (member \"biolink:Gene\" object-categories)\n                                  (let ()\n                                    (define qualifier-constraints (hash-ref edge-hash 'qualifier_constraints #f))\n                                    (and qualifier-constraints\n                                         (list? qualifier-constraints)\n                                         ; only one type of qualifier-constraints and it is the qualifer set\n                                         (eq? 1 (length qualifier-constraints))\n                                         (let ()\n                                           (define qualifier-set (hash-ref (car qualifier-constraints) 'qualifier_set #f))\n                                           (and qualifier-set\n                                                (list? qualifier-set)\n                                                (eq? 3 (length qualifier-set))\n                                                (let ()\n                                                  (match-define\n                                                    (list qualifier-a-type qualifier-a-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 0)))\n                                                  (match-define\n                                                    (list qualifier-b-type qualifier-b-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 1)))\n                                                  (match-define\n                                                    (list qualifier-c-type qualifier-c-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 2)))\n                                                  (define expected-qualifiers (list \"biolink:object_aspect_qualifier\"\n                                                                                    \"biolink:object_direction_qualifier\"\n                                                                                    \"biolink:qualified_predicate\"))\n                                                  (and qualifier-a-type\n                                                       qualifier-a-value\n                                                       qualifier-b-type\n                                                       qualifier-b-value\n                                                       qualifier-c-type\n                                                       qualifier-c-value\n                                                       (member qualifier-a-type expected-qualifiers)\n                                                       (member qualifier-b-type expected-qualifiers)\n                                                       (member qualifier-c-type expected-qualifiers))))))))))))))\n        'mvp2-gene]\n       [(and (equal? \"inferred\" knowledge_type)\n             (list? predicates)\n             (member \"biolink:affects\" predicates)\n             subject-node\n             object-node\n             (let ()\n               (define object-ids (hash-ref object-node 'ids #f))\n               (and (list? object-ids)\n                    (not (null? object-ids))\n                    (let ()\n                      (printf \"object-ids: ~s\\n\" object-ids)\n                      (define subject-categories (hash-ref subject-node 'categories #f))\n                      (printf \"subject-categories: ~s\\n\" subject-categories)\n\n                      (and (list? subject-categories)\n                           (member \"biolink:ChemicalEntity\" subject-categories)\n                           (let ()\n                             (define object-categories (hash-ref object-node 'categories #f))\n                             (printf \"object-categories: ~s\\n\" object-categories)\n                             (and (list? object-categories)\n                                  (member \"biolink:Gene\" object-categories)\n                                  (let ()\n                                    (define qualifier-constraints (hash-ref edge-hash 'qualifier_constraints #f))\n                                    (and qualifier-constraints\n                                         (list? qualifier-constraints)\n                                         ; only one type of qualifier-constraints and it is the qualifer set\n                                         (eq? 1 (length qualifier-constraints))\n                                         (let ()\n                                           (define qualifier-set (hash-ref (car qualifier-constraints) 'qualifier_set #f))\n                                           (and qualifier-set\n                                                (list? qualifier-set)\n                                                (eq? 2 (length qualifier-set))\n                                                (let ()\n                                                  (match-define\n                                                    (list qualifier-a-type qualifier-a-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 0)))\n                                                  (match-define\n                                                    (list qualifier-b-type qualifier-b-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 1)))\n                                                  (define expected-qualifiers (list \"biolink:object_aspect_qualifier\"\n                                                                                    \"biolink:object_direction_qualifier\"))\n                                                  (and qualifier-a-type\n                                                       qualifier-a-value\n                                                       qualifier-b-type\n                                                       qualifier-b-value\n                                                       (member qualifier-a-type expected-qualifiers)\n                                                       (member qualifier-b-type expected-qualifiers))))))))))))))\n        'mvp2-gene]\n       [(and (equal? \"inferred\" knowledge_type)\n             (list? predicates)\n             (member \"biolink:affects\" predicates)\n             subject-node\n             object-node\n             (let ()\n               (define subject-ids (hash-ref subject-node 'ids #f))\n               (and (list? subject-ids)\n                    (not (null? subject-ids))\n                    (let ()\n                      (printf \"subject-ids: ~s\\n\" subject-ids)\n                      (define subject-categories (hash-ref subject-node 'categories #f))\n                      (printf \"subject-categories: ~s\\n\" subject-categories)\n\n                      (and (list? subject-categories)\n                           (member \"biolink:ChemicalEntity\" subject-categories)\n                           (let ()\n                             (define object-categories (hash-ref object-node 'categories #f))\n                             (printf \"object-categories: ~s\\n\" object-categories)\n\n                             (and (list? object-categories)\n                                  (member \"biolink:Gene\" object-categories)\n                                  (let ()\n                                    (define qualifier-constraints (hash-ref edge-hash 'qualifier_constraints #f))\n                                    (and qualifier-constraints\n                                         (list? qualifier-constraints)\n                                         ; only one type of qualifier-constraints and it is the qualifer set\n                                         (eq? 1 (length qualifier-constraints))\n                                         (let ()\n                                           (define qualifier-set (hash-ref (car qualifier-constraints) 'qualifier_set #f))\n                                           (and qualifier-set\n                                                (list? qualifier-set)\n                                                (eq? 3 (length qualifier-set))\n                                                (let ()\n                                                  (match-define\n                                                    (list qualifier-a-type qualifier-a-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 0)))\n                                                  (match-define\n                                                    (list qualifier-b-type qualifier-b-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 1)))\n                                                  (match-define\n                                                    (list qualifier-c-type qualifier-c-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 2)))\n                                                  (define expected-qualifiers (list \"biolink:object_aspect_qualifier\"\n                                                                                    \"biolink:object_direction_qualifier\"\n                                                                                    \"biolink:qualified_predicate\"))       \n                                                  (and qualifier-a-type\n                                                       qualifier-a-value\n                                                       qualifier-b-type\n                                                       qualifier-b-value\n                                                       qualifier-c-type\n                                                       qualifier-c-value\n                                                       (member qualifier-a-type expected-qualifiers)\n                                                       (member qualifier-b-type expected-qualifiers)\n                                                       (member qualifier-c-type expected-qualifiers))))))))))))))\n        'mvp2-chem]\n       [(and (equal? \"inferred\" knowledge_type)\n             (list? predicates)\n             (member \"biolink:affects\" predicates)\n             subject-node\n             object-node\n             (let ()\n               (define subject-ids (hash-ref subject-node 'ids #f))\n               (and (list? subject-ids)\n                    (not (null? subject-ids))\n                    (let ()\n                      (printf \"subject-ids: ~s\\n\" subject-ids)\n                      (define subject-categories (hash-ref subject-node 'categories #f))\n                      (printf \"subject-categories: ~s\\n\" subject-categories)\n\n                      (and (list? subject-categories)\n                           (member \"biolink:ChemicalEntity\" subject-categories)\n                           (let ()\n                             (define object-categories (hash-ref object-node 'categories #f))\n                             (printf \"object-categories: ~s\\n\" object-categories)\n\n                             (and (list? object-categories)\n                                  (member \"biolink:Gene\" object-categories)\n                                  (let ()\n                                    (define qualifier-constraints (hash-ref edge-hash 'qualifier_constraints #f))\n                                    (and qualifier-constraints\n                                         (list? qualifier-constraints)\n                                         ; only one type of qualifier-constraints and it is the qualifer set\n                                         (eq? 1 (length qualifier-constraints))\n                                         (let ()\n                                           (define qualifier-set (hash-ref (car qualifier-constraints) 'qualifier_set #f))\n                                           (and qualifier-set\n                                                (list? qualifier-set)\n                                                (eq? 2 (length qualifier-set))\n                                                (let ()\n                                                  (match-define\n                                                    (list qualifier-a-type qualifier-a-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 0)))\n                                                  (match-define\n                                                    (list qualifier-b-type qualifier-b-value)\n                                                    (get-and-print-qualifiers (list-ref qualifier-set 1)))\n                                                  (define expected-qualifiers (list \"biolink:object_aspect_qualifier\"\n                                                                                    \"biolink:object_direction_qualifier\"))\n                                                  (and qualifier-a-type\n                                                       qualifier-a-value\n                                                       qualifier-b-type\n                                                       qualifier-b-value\n                                                       (member qualifier-a-type expected-qualifiers)\n                                                       (member qualifier-b-type expected-qualifiers))))))))))))))\n        'mvp2-chem]\n       [else #f])]\n\n    [else #f]))\n\n(define (make-empty-trapi-response)\n    (hash\n     'message\n     (hash\n      ;;\n      'auxiliary_graphs\n      (hash)\n      ;;\n      'query_graph\n      (hash)\n      ;;\n      'knowledge_graph\n      (hash 'nodes (hash)\n            'edges (hash))\n      ;;\n      ;;'results\n      ;;'()\n      )))\n\n(define (make-score-result num-results)\n  (lambda (result index)\n    (- num-results index)))\n\n(define (score-results results)\n  (let ((n (length results)))\n    (let ((score-one-result (make-score-result n)))\n      (map (lambda (h i) (set-score-in-result h (score-one-result h i))) results (iota n)))))\n\n(define (excluded-semmed-edge? prop)\n  (let ((source (get-assoc \"primary_knowledge_source\" prop))) ;only rkx-kg2 has semmed edge\n    (and (equal? source \"infores:semmeddb\")\n         (let* ((sub (get-assoc \"subject\" prop))\n                (sub-cat (car (list-assoc \"category\" (curie->properties sub))))\n                (obj (get-assoc \"object\" prop))\n                (obj-cat (car (list-assoc \"category\" (curie->properties obj))))\n                (pred (get-assoc \"predicate\" prop))\n                (semantic-pat-obj (list #f #f obj-cat))\n                (semantic-pat-sub (list sub-cat #f #f))\n                (domain-pat (list sub-cat pred #f))\n                (range-pat (list #f pred obj-cat)))\n           (or (member semantic-pat-obj semantic-exclude*)\n               (member semantic-pat-sub semantic-exclude*)\n               (member domain-pat domain-exclude*)\n               (member range-pat range-exclude*))))))\n\n(define (not-semmed-excluded? e)\n  (match e\n    [`(,curie_x\n       ,pred_xy\n       ,curie_y\n       ,(? string? pred_yz)\n       ,(? string? curie_z)\n       ,props_xy\n       ,props_yz)\n     (and (not (excluded-semmed-edge? props_xy))\n          (not (excluded-semmed-edge? props_yz)))]\n    [`(,curie_x\n       ,pred_xy\n       ,curie_y\n       .\n       ,props_xy)\n     (not (excluded-semmed-edge? props_xy))]))\n\n(define (not-general-connector? e)\n  (match e\n    [`(,curie_x\n       ,pred_xy\n       ,curie_y\n       ,(? string? pred_yz)\n       ,(? string? curie_z)\n       ,props_xy\n       ,props_yz)\n     (not (member curie_y GENERAL-NODES))]))\n\n(define (not-unwelcome-answer-as-subject? e)\n  (not (member (car e) UNWELCOME-TREATMENT)))\n\n(define (not-unwelcome-answer-as-object? e)\n  (let ((object (match e\n                  [`(,curie_x\n                     ,pred_xy\n                     ,curie_y\n                     ,(? string? pred_yz)\n                     ,(? string? curie_z)\n                     ,props_xy\n                     ,props_yz)\n                   curie_z]\n                  [`(,score\n                     ,curie_x\n                     ,pred_xy\n                     ,curie_y\n                     .\n                     ,props_xy)\n                   curie_y]\n                  [else \"UMLS:C0017337\"])))\n    (not (member object GENERAL-NODES))))\n\n(define (node-has-cat? curie)\n  (let* ((props (curie->properties curie))\n         (categories (list-assoc \"category\" props))\n         (categories (filter\n                      (lambda (c)\n                        (not (or\n                              (class-mixin? c)\n                              (class-abstract? c))))\n                      categories)))\n    (not (null? categories))))\n\n(define (same-concept? c1 c2)\n  (equal? (curie->representative c1) (curie->representative c2)))\n\n(define (handle-mvp-creative-query body-json message query_graph edges nodes which-mvp)\n\n  (printf \"++ handling MVP mode creative query for Neo Server ~a\\n\" NEO_SERVER_VERSION)\n\n  (define disable-external-requests\n    (hash-ref message 'disable_external_requests #f))\n\n  (define our-trapi-response\n    (let ()\n\n      (define query_graph (hash-ref message 'query_graph))\n      (define qg_nodes (hash-ref query_graph 'nodes))\n      (define qg_edges (hash-ref query_graph 'edges))\n      (define qg_edge* (hash->list qg_edges))\n\n      (match-define (list qg_edge-id qg_edge-hash)\n        (match qg_edge*\n          ;; exactly one edge\n          [`((,edge-id . ,edge-hash))\n           (list edge-id edge-hash)]))\n\n      (define qg_object-node-str (hash-ref qg_edge-hash 'object))\n      (define qg_object-node-id (string->symbol qg_object-node-str))\n\n      (define qg_subject-node-str (hash-ref qg_edge-hash 'subject))\n      (define qg_subject-node-id (string->symbol qg_subject-node-str))\n\n      ; TODO: Would new mvp support more than one predicates?\n      (define qg_predicate-str (car (hash-ref qg_edge-hash 'predicates)))\n\n      (match-define (list input-id* q-1hop-results q-2hop-results)\n        (time\n         (cond\n           [(eq? 'mvp1 which-mvp)\n            ;;\n            (define disease-ids\n              ;; TODO write a chainer in utils, and also check for errors\n              (hash-ref (hash-ref qg_nodes qg_object-node-id) 'ids))\n            (define disease-ids+ (curies->synonyms-in-db disease-ids))\n            \n            (define chemical-catogory+\n              (set->list\n               (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n                '(\"biolink:ChemicalEntity\"))))\n            ;;\n            (define 1-hop-proc\n              (lambda (curies)\n                (lambda (score*)\n                  (filter (lambda (r)\n                            (and (not-semmed-excluded? r)\n                                 (not-unwelcome-answer-as-subject? r)))\n                          (query:X->Known-scored\n                           chemical-catogory+\n                           '(\"biolink:treats\"\n                             \"biolink:treats_or_applied_or_studied_to_treat\"\n                             \"biolink:ameliorates_condition\")\n                           curies\n                           score*)))))\n            (define 2-hop-proc\n              (lambda (curies)\n                (lambda (score* result-amount)\n                  (query:X->Y->Known-auto-grow\n                   chemical-catogory+\n                   '(\"biolink:affects\" \"biolink:regulates\")\n                   (set->list\n                    (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n                     '(\"biolink:Gene\" \"biolink:GeneOrGeneProduct\" \"biolink:Protein\")))\n                   '(\"biolink:contributes_to\"\n                     \"biolink:gene_associated_with_condition\"\n                     \"biolink:causes\"\n                     \"biolink:target_for\")\n                   curies\n                   score*\n                   result-amount\n                   (lambda (r*) (filter (lambda (r)\n                                          (and (not-semmed-excluded? r)\n                                               (not-general-connector? r)\n                                               (not-unwelcome-answer-as-subject? r)))\n                                        r*))))))\n            ;;\n            (let ((q-1hop (auto-grow-with-class-hierarchy #t 1-hop-proc TOP_BUCKET_NUMBERS disease-ids+ (exact-round (/ MAX_RESULTS_FROM_COMPONENT 2))))\n                  (q-2hop (auto-grow-with-class-hierarchy #f 2-hop-proc TOP_BUCKET_NUMBERS disease-ids+ (exact-round (/ MAX_RESULTS_FROM_COMPONENT 2)))))\n              (list disease-ids q-1hop q-2hop))]\n           [(eq? 'mvp2-chem which-mvp)\n            ;;\n            (define chemical-ids\n              (hash-ref (hash-ref qg_nodes qg_subject-node-id) 'ids))\n            (define chemical-ids+ (curies->synonyms-in-db chemical-ids))\n            \n            (define direction\n              (let ((qualifer-set\n                     (hash-ref (car (hash-ref qg_edge-hash 'qualifier_constraints)) 'qualifier_set)))\n                (let loop ((l qualifer-set))\n                  (if (equal? (hash-ref (car l) 'qualifier_type_id) \"biolink:object_direction_qualifier\")\n                      (hash-ref (car l) 'qualifier_value)\n                      (loop (cdr l))))))\n            (define gene-category+\n              (set->list\n               (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n                '(\"biolink:Gene\" \"biolink:Protein\"))))\n            ;;\n            (define 1-hop-proc\n              (lambda (curies)\n                (lambda (score*)\n                  (filter (lambda (r)\n                            (and (not-semmed-excluded? r)\n                                 (not-unwelcome-answer-as-object? r)))\n                          (mvp2-1hop-filter\n                           (query:Known->X-scored\n                            curies\n                            '(\"biolink:affects\")\n                            gene-category+\n                            score*)\n                           direction)))))\n            (define 2-hop-proc\n              (lambda (curies)\n                (lambda (score* result-amount)\n                  (query:Known->Y->X-auto-grow\n                   curies\n                   '(\"biolink:affects\"\n                     \"biolink:physically_interacts_with\"\n                     \"biolink:indirectly_physically_interacts_with\"\n                     \"biolink:directly_physically_interacts_with\")\n                   (set->list\n                    (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n                     '(\"biolink:Gene\" \"biolink:GeneOrGeneProduct\" \"biolink:Protein\")))\n                   '(\"biolink:affects\")\n                   gene-category+\n                   score*\n                   result-amount\n                   (lambda (r*) (filter (lambda (r) (and (not-semmed-excluded? r)\n                                                         (not-general-connector? r)\n                                                         (not-unwelcome-answer-as-object? r)))\n                                        (mvp2-2hop-filter r* direction)))))))\n  \n            (let* ((qualified-q-1hop (auto-grow-with-class-hierarchy #t 1-hop-proc TOP_BUCKET_NUMBERS chemical-ids+ (exact-round (/ MAX_RESULTS_FROM_COMPONENT 2))))\n                   (qualified-q-2hop (auto-grow-with-class-hierarchy #f 2-hop-proc TOP_BUCKET_NUMBERS chemical-ids+ (exact-round (/ MAX_RESULTS_FROM_COMPONENT 2)))))\n              (list chemical-ids qualified-q-1hop qualified-q-2hop))]\n           [(eq? 'mvp2-gene which-mvp)\n            ;;\n            (define gene-ids\n              (hash-ref (hash-ref qg_nodes qg_object-node-id) 'ids))\n            (define gene-ids-syns (curies->synonyms-in-db gene-ids))\n            (define protein-ids\n              (remove-duplicates\n               (map car\n                    (query:X->Known-scored\n                     (set->list\n                      (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n                       '(\"biolink:Protein\")))\n                     '(\"biolink:gene_product_of\")\n                     gene-ids-syns\n                     (list (list 1112) #f (list 1112))))))\n            (define gene-ids+ (remove-duplicates (append gene-ids-syns (curies->synonyms-in-db protein-ids))))\n            \n            (define chemical-catogory+\n              (set->list\n               (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n                '(\"biolink:ChemicalEntity\"))))\n            (define direction\n              (let ((qualifer-set\n                     (hash-ref (car (hash-ref qg_edge-hash 'qualifier_constraints)) 'qualifier_set)))\n                (let loop ((l qualifer-set))\n                  (if (equal? (hash-ref (car l) 'qualifier_type_id) \"biolink:object_direction_qualifier\")\n                      (hash-ref (car l) 'qualifier_value)\n                      (loop (cdr l))))))\n            ;;\n            (define 1-hop-proc\n              (lambda (curies)\n                (lambda (score*)\n                  (filter (lambda (r)\n                            (and (not-semmed-excluded? r)\n                                 (not-unwelcome-answer-as-subject? r)))\n                          (mvp2-1hop-filter\n                           (query:X->Known-scored\n                            chemical-catogory+\n                            '(\"biolink:affects\")\n                            curies\n                            score*)\n                           direction)))))\n            (define 2-hop-proc\n              (lambda (curies)\n                (lambda (score* result-amount)\n                  (query:X->Y->Known-auto-grow\n                   chemical-catogory+\n                   '(\"biolink:affects\"\n                     \"biolink:physically_interacts_with\"\n                     \"biolink:indirectly_physically_interacts_with\"\n                     \"biolink:directly_physically_interacts_with\")\n                   (set->list\n                    (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n                     '(\"biolink:Gene\" \"biolink:GeneOrGeneProduct\" \"biolink:Protein\")))\n                   '(\"biolink:affects\")\n                   curies\n                   score*\n                   result-amount\n                   (lambda (r*) (filter (lambda (r)\n                                          (and (not-semmed-excluded? r)\n                                               (not-general-connector? r)\n                                               (not-unwelcome-answer-as-subject? r)))\n                                        (mvp2-2hop-filter r* direction)))))))\n            ;;\n            (let* ((qualified-q-1hop (auto-grow-with-class-hierarchy #t 1-hop-proc TOP_BUCKET_NUMBERS gene-ids+ (exact-round (/ MAX_RESULTS_FROM_COMPONENT 2))))\n                   (qualified-q-2hop (auto-grow-with-class-hierarchy #f 2-hop-proc TOP_BUCKET_NUMBERS gene-ids+ (exact-round (/ MAX_RESULTS_FROM_COMPONENT 2)))))\n              (list gene-ids qualified-q-1hop qualified-q-2hop))])))\n\n      (define q-1hop-unique-results (remove-duplicates q-1hop-results))\n      (define q-2hop-unique-results (remove-duplicates q-2hop-results))\n\n      (printf \"computed ~s look-up edges and ~s inferred edges for MVP mode creative query\\n\"\n              (length q-1hop-unique-results) (length q-2hop-unique-results))\n\n      #|\n       weights = {\n        'class-hierarchy': 0.3,\n        'edge-score: 0.3,\n        'hop-count': 0.2,\n        'predicate-type': 0.2\n       }\n      class-hierarchy-values = 10 * 1/level. self: 10*1/1=10; child: 10*1/2=5; grandchild: 10*1/3=3.33 ...\n      hop-count-values = mvp1: {'look-up': 3, '1 hops': 2, ' 2 hops': 1}\n                         mvp2: {'look-up': 50, '1 hops': 40, ' 2 hops': 1}\n      predicate-type-values = {'causation': 3, 'association': 2, 'other': 1}\n      |#\n      (define causation-prediates (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db '(\"biolink:contributes_to\" \"biolink:affects\" \"biolink:target_for\")))\n      (define association-predicates (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db '(\"biolink:gene_associated_with_condition\" \"biolink:interacts_with\")))\n      (define (score-mvp-edge e)\n        (match e\n          [`(,hierarchy\n             ,curie_x\n             ,pred_xy\n             ,curie_y\n             ,(? string? pred_yz)\n             ,(? string? curie_z)\n             ,props_xy\n             ,props_yz)\n           (if (and (edge-has-source? props_xy)\n                    (edge-has-source? props_yz))\n               (let ((class-hierarchy-values (* 10 (/ 1  hierarchy)))\n                     (hop-count-values 1)\n                     (predicate-type-values (if (eq? which-mvp 'mvp1)\n                                                (cond\n                                                  [(set-member? causation-prediates pred_yz) 3]\n                                                  [(set-member? association-predicates pred_yz) 2]\n                                                  [else 1])\n                                                (cond\n                                                  [(set-member? causation-prediates pred_xy) 3]\n                                                  [(set-member? association-predicates pred_xy) 2]\n                                                  [else 1])))\n                     (edge-score (sqrt (* (num-pubs props_xy) (num-pubs props_yz)))))\n                 (+ (* 0.3 class-hierarchy-values) (* 0.3 edge-score) (* 0.2 hop-count-values) (* 0.2 predicate-type-values)))\n               #f)]\n          [`(,hierarchy\n             ,curie_x\n             ,pred_xy\n             ,curie_y\n             .\n             ,props_xy)\n           (if (edge-has-source? props_xy)\n               (let ((class-hierarchy-values (* 10 (/ 1  hierarchy)))\n                     (hop-count-values\n                      (if (eq? which-mvp 'mvp1)\n                          (if (equal? pred_xy qg_predicate-str) 3 2)\n                          (let ((aspect (get-assoc \"object_aspect_qualifier\" props_xy)))\n                            (if (member aspect '(\"activity\" \"abundance\" \"activity_or_abundance\")) 50 40))))                  \n                     (predicate-type-values 3)\n                     (edge-score (num-pubs props_xy)))\n                 (+ (* 0.3 class-hierarchy-values) (* 0.3 edge-score) (* 0.2 hop-count-values) (* 0.2 predicate-type-values)))\n               #f)]))\n\n      (define scored/q-1hop-unsorted-long\n        (filter (lambda (scored/r) (car scored/r))\n                (map\n                 (lambda (e) (cons (score-mvp-edge e) (cdr e)))\n                 q-1hop-unique-results)))\n\n      (define scored/q-2hop-unsorted-long\n        (filter (lambda (scored/r) (car scored/r))\n                (map\n                 (lambda (e) (cons (score-mvp-edge e) (cdr e)))\n                 q-2hop-unique-results)))\n\n      (define by-score\n        (lambda (score1/e1 score2/e2)\n          (let ((score1 (car score1/e1))\n                (score2 (car score2/e2)))\n            (> score1 score2))))\n\n      (define scored/q-1hop-sorted-long\n        (sort scored/q-1hop-unsorted-long by-score))\n\n      (define scored/q-2hop-sorted-long\n        (sort scored/q-2hop-unsorted-long by-score))\n\n      (define scored/q-1hop-sorted-short (take-at-most scored/q-1hop-sorted-long (exact-round (/ MAX_RESULTS_FROM_COMPONENT 2.0))))\n      (define scored/q-2hop-sorted-short (take-at-most scored/q-2hop-sorted-long (exact-round (/ MAX_RESULTS_FROM_COMPONENT 2.0))))\n\n      (printf \"computed ~s valid 1 hop edges for MVP mode creative query\\n\" (length scored/q-1hop-sorted-short))\n      (printf \"computed ~s valid 2 hop edges for MVP mode creative query\\n\" (length scored/q-2hop-sorted-short))\n\n      (define scored/q-unsorted-short (append scored/q-1hop-sorted-short scored/q-2hop-sorted-short))\n\n      (printf \"computed total ~s valid edges for MVP mode creative query\\n\"\n              (length scored/q-unsorted-short))\n\n      (define old-scored/q-sorted-short\n        (sort scored/q-unsorted-short by-score))\n\n      #;(define old-scored/q-sorted-short (take-at-most scored/q-sorted-long MAX_RESULTS_FROM_COMPONENT))\n\n      (define subjs-from-2hop-results (remove-duplicates (map cadr scored/q-2hop-sorted-short)))\n      (define objs-from-2hop-results (remove-duplicates (map (lambda (e) (get-object e)) scored/q-2hop-sorted-short)))\n      \n      (when (eq? which-mvp 'mvp1)\n        (let* ((chemicals (remove-duplicates (curies->synonyms-in-db subjs-from-2hop-results)))\n               (disease-id+ (remove-duplicates (curies->synonyms-in-db objs-from-2hop-results)))\n               (chem-worsen-disease (remove-duplicates\n                                     (curies->synonyms-in-db\n                                      (map car \n                                           (time (query:Known->Known\n                                            chemicals\n                                            '(\"biolink:causes\"\n                                              \"biolink:exacerbates\"\n                                              \"biolink:has_adverse_event\"\n                                              \"biolink:contributes_to\")\n                                            disease-id+))))))\n               (not-cause-old-scored/q-sorted-short\n                (filter (lambda (e) (not (member (cadr e) chem-worsen-disease))) old-scored/q-sorted-short)))\n          (set! old-scored/q-sorted-short not-cause-old-scored/q-sorted-short)))\n\n      (printf \"Toke the best ~s edges for MVP mode creative query\\n\"\n              (length old-scored/q-sorted-short))\n\n      (define subjs-from-results (remove-duplicates (map cadr old-scored/q-sorted-short)))\n      (define objs-from-results (remove-duplicates (map (lambda (e) (get-object e)) old-scored/q-sorted-short)))\n      \n      (define curie-representative-table (add-curies-representative-to-hash\n                                          (build-curies-representative-hash subjs-from-results)\n                                          objs-from-results))\n\n      (define representative-canonical-table\n        (let ((t (make-hash)))\n          (define helper\n            (lambda (c*)\n                (cond\n                  ((null? c*) t)\n                  ((hash-has-key? t (hash-ref curie-representative-table (car c*)))\n                   (helper (cdr c*)))\n                  (else\n                    (hash-set! t (hash-ref curie-representative-table (car c*)) (car c*))\n                    (helper (cdr c*))))))\n           (helper (append subjs-from-results objs-from-results))))\n\n      (define curie->canonical\n        (lambda (c)\n          (hash-ref representative-canonical-table\n                    (hash-ref curie-representative-table c))))\n\n      (define scored/q-sorted-short\n        (map\n         (lambda (e)\n                 (match e\n                   [`(,score\n                      ,curie_x\n                      ,pred_xy\n                      ,curie_y\n                      ,(? string? pred_yz)\n                      ,(? string? curie_z)\n                      ,props_xy\n                      ,props_yz)\n                    (list score\n                          (curie->canonical curie_x)\n                          pred_xy\n                          curie_y\n                          pred_yz\n                          (curie->canonical curie_z)\n                          props_xy\n                          props_yz)]\n                   [`(,score\n                      ,curie_x\n                      ,pred_xy\n                      ,curie_y\n                      .\n                      ,props_xy)\n                    (list* score\n                           (curie->canonical curie_x)\n                           pred_xy\n                           (curie->canonical curie_y)\n                           props_xy)]\n                   [else (error \"invalid form of returned edge\" e)]))\n         old-scored/q-sorted-short))\n\n      (define representative-score-table\n        (cond\n          [(or (eq? which-mvp 'mvp1) (eq? which-mvp 'mvp2-gene))\n            (let ((subject-score-table (make-hash)))\n              (for-each\n               (lambda (e)\n                 (hash-update! subject-score-table\n                               (hash-ref curie-representative-table (cadr e))\n                               (lambda (old-socre)\n                                 (+ (car e) old-socre))\n                               0))\n               scored/q-sorted-short)\n              subject-score-table)]\n          [(eq? which-mvp 'mvp2-chem)\n           (let ((object-score-table (make-hash)))\n             (for-each\n              (lambda (e)\n                (hash-update! object-score-table\n                              (hash-ref curie-representative-table (get-object e))\n                              (lambda (old-socre)\n                                (+ (car e) old-socre))\n                              0))\n              scored/q-sorted-short)\n             object-score-table)]\n          [else (error \"unknown MVP\" which-mvp)]))\n\n      (printf \"There are ~a unique results/entities for the MVP query.\\n\" (hash-count representative-score-table))\n\n      (define nodes (make-hash))\n\n      (define edges (make-hash))\n\n      (define auxiliary-graph (make-hash))\n\n      (define unmerged-results (make-hash))\n\n      (define (add-node! curie)\n        (let ((props (curie->properties curie)))\n          (let* ((categories (list-assoc \"category\" props))\n                 (categories (filter\n                              (lambda (c)\n                                (not (or\n                                      (class-mixin? c)\n                                      (class-abstract? c))))\n                              categories))\n                 (name (get-assoc \"name\" props)))\n            (if name\n                (hash-set! nodes (string->symbol curie)\n                           (hash 'categories categories\n                                 'name name\n                                 'attributes (list)))\n                (hash-set! nodes (string->symbol curie)\n                           (hash 'categories categories\n                                 'attributes (list)\n                                 ))))))\n\n      (define (add-edge! subj obj props n)\n        (let* ((id (number->string n))\n               (id (string-append \"medik:edge#\" id))\n               (id-sym (string->symbol id))\n               (object obj)\n               (subject subj)\n               (predicate (get-assoc \"predicate\" props))\n               (aspect-qualifier (qualifier-attribute* \"object_aspect_qualifier\" props))\n               (direction-qualifier (qualifier-attribute* \"object_direction_qualifier\" props))\n               (qualifed-predicate (qualifier-attribute* \"qualified_predicate\" props))\n               (qualifiers-attr* (append aspect-qualifier direction-qualifier qualifed-predicate))\n               (has-pub? (> (num-pubs props) 0)))\n          (add-node! object)\n          (add-node! subject)\n          (if (not (null? qualifiers-attr*))\n              (hash-set! edges id-sym\n                         (hash 'attributes\n                               (or\n                                #;(and (get-assoc \"json_attributes\" props)\n                                     (string->jsexpr (get-assoc \"json_attributes\" props)))\n                                (list* (agent-type-attribute props)\n                                       (knowledge-level-attribute props)\n                                       (publication-attributes props has-pub?)))\n                               'object object\n                               'predicate predicate\n                               'subject subject\n                               'sources (list (get-source props) (UNSECRET-SOURCE props))\n                               'qualifiers qualifiers-attr*))\n              (hash-set! edges id-sym\n                         (hash 'attributes\n                               (or\n                                #;(and (get-assoc \"json_attributes\" props)\n                                     (string->jsexpr (get-assoc \"json_attributes\" props)))\n                                (list* (agent-type-attribute props)\n                                       (knowledge-level-attribute props)\n                                       (publication-attributes props has-pub?)))\n                               'object object\n                               'predicate predicate\n                               'subject subject\n                               'sources (list (get-source props) (UNSECRET-SOURCE props)))))\n          id))\n\n      (define (add-creative-edge! sub obj pred n aux-id)\n        (let ((id (string-append \"medik:creative_edge#\" (number->string n))))\n          (if (or (eq? which-mvp 'mvp2-gene) (eq? which-mvp 'mvp2-chem))\n              (hash-set! edges (string->symbol id)\n                         (hash 'attributes\n                               (list\n                                (auxiliary-graph-attribute aux-id)\n                                Unsecret-agent-type-attribute\n                                Unsecret-knowledge-level-attribute)\n                               'object obj\n                               'predicate pred\n                               'subject sub\n                               'qualifiers\n                               (let ((exist-qualifiers (hash-ref (car (hash-ref qg_edge-hash 'qualifier_constraints)) 'qualifier_set))\n                                     (qualified_pred (hash 'qualifier_type_id \"biolink:qualified_predicate\"\n                                                           'qualifier_value \"biolink:causes\")))\n                                 (if (member qualified_pred exist-qualifiers)\n                                     exist-qualifiers\n                                     (cons qualified_pred exist-qualifiers)))\n                               'sources (list\n                                         (hash\n                                          'resource_id \"infores:unsecret-agent\"\n                                          'resource_role \"primary_knowledge_source\"))))\n              (hash-set! edges (string->symbol id)\n                         (hash 'attributes\n                               (list\n                                (auxiliary-graph-attribute aux-id)\n                                Unsecret-agent-type-attribute\n                                Unsecret-knowledge-level-attribute)\n                               'object obj\n                               'predicate pred\n                               'subject sub\n                               'sources (list\n                                         (hash\n                                          'resource_id \"infores:unsecret-agent\"\n                                          'resource_role \"primary_knowledge_source\")))))\n          id))\n\n      (define (add-auxiliary! edge* n)\n        (let ((id (string-append \"medik:auxiliary_graph#\" (number->string n))))\n          (hash-set! auxiliary-graph (string->symbol id)\n                     (hash 'edges edge*\n                           'attributes (list)))\n          id))\n\n      (define (add-unmerged-result! r)\n        (hash-update! unmerged-results (hash-ref r 'result_id)\n                      (lambda (r-old)\n                        (let* ((a*-old (hash-ref r-old 'analyses))\n                               (a-old (car a*-old))\n                               (edge-old (hash-ref (hash-ref a-old 'edge_bindings) qg_edge-id))\n                               (edge-new (hash-ref  (hash-ref r 'edge_bindings) qg_edge-id)))\n                          (hash-set r-old 'analyses\n                                    (list (hash-set (car (hash-ref r-old 'analyses))\n                                                    'edge_bindings\n                                                    (hash qg_edge-id (remove-duplicates (append edge-old edge-new))))))))\n                      (hash\n                       'node_bindings (hash-ref r 'node_bindings)\n                       'analyses (list (hash 'edge_bindings (hash-ref r 'edge_bindings)\n                                             'resource_id \"infores:unsecret-agent\"\n                                             'score (hash-ref representative-score-table (hash-ref r 'score_id)))))))\n\n      (let loop ((en 0) (an 0) (score*/e* scored/q-sorted-short))\n        (cond\n          ((null? score*/e*) '())\n          (else\n           (define score/e (car score*/e*))\n           (define score (car score/e))\n           (define e (cdr score/e))\n           (match e\n             [`(,curie_x\n                ,pred_xy\n                ,curie_y\n                ,(? string? pred_yz)\n                ,(? string? curie_z)\n                ,props_xy\n                ,props_yz)\n              (if (and (node-has-cat? curie_x)\n                       (node-has-cat? curie_y)\n                       (node-has-cat? curie_z)\n                       (not (same-concept? curie_y curie_z)))\n                  (let* ((edge_xy (add-edge! curie_x curie_y props_xy en))\n                         (edge_yz (add-edge! curie_y curie_z props_yz (+ en 1)))\n                         (auxiliary_id (add-auxiliary! (list edge_xy edge_yz) an))\n                         (edge_creative (add-creative-edge! curie_x\n                                                            curie_z\n                                                            qg_predicate-str\n                                                            an\n                                                            auxiliary_id)))\n                    (add-unmerged-result!\n                     (cond\n                       [(or (eq? which-mvp 'mvp1) (eq? which-mvp 'mvp2-gene))\n                        (hash 'node_bindings\n                              (if (equal? curie_z (car input-id*))\n                                  (hash\n                                   qg_subject-node-id (list (hash 'id curie_x\n                                                                  'attributes (list)))\n                                   qg_object-node-id (list (hash 'id curie_z\n                                                                 'attributes (list))))\n                                  (hash\n                                   qg_subject-node-id (list (hash 'id curie_x\n                                                                  'attributes (list)))\n                                   qg_object-node-id (list (hash 'id curie_z\n                                                                 'query_id (car input-id*)\n                                                                 'attributes (list)))))\n                              'result_id (string-append curie_x curie_z)\n                              'score_id (hash-ref curie-representative-table curie_x)\n                              'edge_bindings (hash qg_edge-id (list (hash 'id edge_creative\n                                                                          'attributes (list))))\n                              )]\n                       [(eq? which-mvp 'mvp2-chem)\n                        (hash 'node_bindings\n                              (if (equal? curie_x (car input-id*))\n                                  (hash\n                                   qg_subject-node-id (list (hash 'id curie_x\n                                                                  'attributes (list)))\n                                   qg_object-node-id (list (hash 'id curie_z\n                                                                 'attributes (list))))\n                                  (hash\n                                   qg_subject-node-id (list (hash 'id curie_x\n                                                                  'query_id (car input-id*)\n                                                                  'attributes (list)))\n                                   qg_object-node-id (list (hash 'id curie_z\n                                                                 'attributes (list)))))\n                              'result_id (string-append curie_x curie_z)\n                              'score_id (hash-ref curie-representative-table curie_z)\n                              'edge_bindings (hash qg_edge-id (list (hash 'id edge_creative\n                                                                          'attributes (list))))\n                              )]\n                       [else (error \"unknown MVP\" which-mvp)]))\n                    (loop (+ en 2) (+ an 1) (cdr score*/e*)))\n                  (loop en an (cdr score*/e*)))]\n             [`(,curie_x\n                ,pred_xy\n                ,curie_y\n                .\n                ,props_xy)\n              (if (and (node-has-cat? curie_x)\n                       (node-has-cat? curie_y))\n                  (let ((edge_xy (add-edge! curie_x curie_y props_xy en)))\n                    (add-unmerged-result!\n                     (cond\n                       [(and (eq? which-mvp 'mvp1) (not (equal? pred_xy qg_predicate-str)))\n                        (let* ((auxiliary_id (add-auxiliary! (list edge_xy) an))\n                               (edge_creative (add-creative-edge! curie_x\n                                                                  curie_y\n                                                                  qg_predicate-str\n                                                                  an\n                                                                  auxiliary_id)))\n                          (hash 'node_bindings\n                                (if (equal? curie_y (car input-id*))\n                                    (hash\n                                     qg_subject-node-id (list (hash 'id curie_x\n                                                                    'attributes (list)))\n                                     qg_object-node-id (list (hash 'id curie_y\n                                                                   'attributes (list))))\n                                    (hash\n                                     qg_subject-node-id (list (hash 'id curie_x\n                                                                    'attributes (list)))\n                                     qg_object-node-id (list (hash 'id curie_y\n                                                                   'query_id (car input-id*)\n                                                                   'attributes (list)))))\n                                'result_id (string-append curie_x curie_y)\n                                'score_id (hash-ref curie-representative-table curie_x)\n                                'edge_bindings (hash qg_edge-id (list (hash 'id edge_creative\n                                                                            'attributes (list))))\n                                ))]\n                       [(or (and (eq? which-mvp 'mvp1) (equal? pred_xy qg_predicate-str))\n                            (eq? which-mvp 'mvp2-gene))\n                        (hash 'node_bindings\n                              (if (equal? curie_y (car input-id*))\n                                  (hash\n                                   qg_subject-node-id (list (hash 'id curie_x\n                                                                  'attributes (list)))\n                                   qg_object-node-id (list (hash 'id curie_y\n                                                                 'attributes (list))))\n                                  (hash\n                                   qg_subject-node-id (list (hash 'id curie_x\n                                                                  'attributes (list)))\n                                   qg_object-node-id (list (hash 'id curie_y\n                                                                 'query_id (car input-id*)\n                                                                 'attributes (list)))))\n                              'result_id (string-append curie_x curie_y)\n                              'score_id (hash-ref curie-representative-table curie_x)\n                              'edge_bindings (hash qg_edge-id (list (hash 'id edge_xy\n                                                                          'attributes (list))))\n                              )]\n                       [(eq? which-mvp 'mvp2-chem)\n                        (hash 'node_bindings\n                              (if (equal? curie_x (car input-id*))\n                                  (hash\n                                   qg_subject-node-id (list (hash 'id curie_x\n                                                                  'attributes (list)))\n                                   qg_object-node-id (list (hash 'id curie_y\n                                                                 'attributes (list))))\n                                  (hash\n                                   qg_subject-node-id (list (hash 'id curie_x\n                                                                  'query_id (car input-id*)\n                                                                  'attributes (list)))\n                                   qg_object-node-id (list (hash 'id curie_y\n                                                                 'attributes (list)))))\n                              'result_id (string-append curie_x curie_y)\n                              'score_id (hash-ref curie-representative-table curie_y)\n                              'edge_bindings (hash qg_edge-id (list (hash 'id edge_xy\n                                                                          'attributes (list))))\n                              )]))\n                    (if (equal? pred_xy qg_predicate-str)\n                        (loop (+ en 1) an (cdr score*/e*))\n                        (loop (+ en 1) (+ an 1) (cdr score*/e*))))\n                  (loop en an (cdr score*/e*)))]\n             ))))\n\n      (define merged-results\n        (let loop ((id* (hash-keys unmerged-results))\n                   (r '()))\n          (cond\n            [(null? id*) r]\n            [else (loop (cdr id*)\n                        (cons (hash-ref unmerged-results (car id*)) r))])))\n\n      (define results (sort merged-results (lambda (a b) (> (get-score-from-result a) (get-score-from-result b)))))\n\n      ;; add the input curie/id from query graph to nodes if mediKanren returns answer\n      (unless (null? results)\n        (add-node! (car input-id*)))\n\n      (hash\n       'message\n       (hash\n        ;;\n        'query_graph\n        query_graph\n        ;;\n        'knowledge_graph\n        (hash 'edges edges\n              'nodes nodes)\n        ;;\n        'auxiliary_graphs\n        auxiliary-graph\n        ;;\n        'results\n        (normalize-scores results)))\n      ))\n\n  (define gp-trapi-response\n    ;; Disable Genetics Provider TRAPI calls for now, until Genetics\n    ;; Provider KP is handling TRAPI 1.4 Creative Mode queries.\n    #f\n    #;(if disable-external-requests\n          #f\n          (let ()\n\n            (define res #f)\n\n            (printf \"making sync/timeout API call with timeout of ~s seconds\\n\"\n                    API_CALL_CONNECTION_TIMEOUT_SECONDS)\n\n            (sync/timeout\n             API_CALL_CONNECTION_TIMEOUT_SECONDS\n             (thread\n              (lambda ()\n                ;; use 'url.genetics.prod', 'url.genetics.test', or 'url.genetics.ci'\n                ;; based on the environment the Unsecret server is running in.\n                (let ((kp-url (case (unbox ENVIRONMENT_TAG_BOX)\n                                ((\"CI\") url.genetics.ci)\n                                ((\"TEST\") url.genetics.test)\n                                ((\"PROD\") url.genetics.prod)\n                                (else\n                                 (lognew-info\n                                  (hash 'event\n                                        (format\n                                         \"unexpected ENVIRONMENT_TAG_BOX value: '~s'\"\n                                         (unbox ENVIRONMENT_TAG_BOX))))\n                                 url.genetics.prod))))\n                  (lognew-info\n                   (hash 'event (format \"kp-url for Genetics Provider call: '~s'\" kp-url)))\n                  (set! res\n                        (api-query (string-append kp-url path.query)\n                                   body-json))))))\n\n            (if res\n                (printf \"API call returned\\n\")\n                (printf \"API call timed out\\n\"))\n\n            (if (hash? res)\n                (let ()\n                  (define upstream-status\n                    (hash-ref res 'status #f))\n\n                  (printf \"status from API call:\\n~s\\n\" upstream-status)\n\n                  (if upstream-status\n                      (let ()\n                        (define upstream-headers\n                          (hash-ref res 'headers #f))\n\n                        (printf \"headers from API call:\\n~s\\n\" upstream-headers)\n\n                        (if (string-contains?\n                             (bytes->string/utf-8 upstream-status)\n                             200_OK_STRING)\n                            (let ()\n                              (printf \"API returned an OK status...processing results\\n\")\n\n                              (define upstream-response\n                                (hash-ref res 'response #f))\n\n                              (define res-message\n                                (hash-ref upstream-response 'message))\n\n                              (define results\n                                (let ((results\n                                       (hash-ref res-message 'results)))\n                                  (take-at-most results MAX_RESULTS_FROM_COMPONENT)))\n\n                              (define scored-results\n                                (score-results results))\n\n                              (define knowledge_graph\n                                (hash-ref res-message 'knowledge_graph))\n\n                              (define edges\n                                (hash-ref knowledge_graph 'edges))\n\n                              (define stamped-edges\n                                (hash-map/copy\n                                 edges\n                                 (lambda (k v)\n                                   (values\n                                    k\n                                    (hash-set v\n                                              'sources\n                                              (cons unsecret-source\n                                                    (hash-ref v 'sources)))))))\n\n                              (define stamped-knowledge_graph\n                                (hash-set knowledge_graph 'edges stamped-edges))\n\n                              (hash-set upstream-response\n                                        'message\n                                        (hash-set (hash-set res-message\n                                                            'results\n                                                            (normalize-scores scored-results))\n                                                  'knowledge_graph\n                                                  stamped-knowledge_graph)))\n                            (begin\n                              (printf \"API returned a non-OK status...ignoring results\\n\")\n                              #f)))\n                      #f))\n                #f))))\n\n  (define trapi-response\n    (if gp-trapi-response\n        (merge-trapi-responses our-trapi-response gp-trapi-response query_graph)\n        our-trapi-response))\n\n  (define merged-results\n    (hash-ref (hash-ref trapi-response 'message) 'results))\n\n  (define merged-scored-results\n    (normalize-scores (score-results merged-results)))\n\n  (define scored-trapi-response\n    (hash-set trapi-response 'message\n              (hash-set (hash-ref trapi-response 'message)\n                        'results merged-scored-results)))\n\n  (define versioned-trapi-response\n    (hash-set* scored-trapi-response\n               'logs (list)\n               'schema_version \"1.5.0\"\n               'biolink_version (get-biolink-version)))\n\n  (list\n   'json\n   200_OK_STRING\n   versioned-trapi-response)\n  )\n\n\n(define (handle-trapi-query body-json request-fk)\n\n  (define (empty-reply)\n    (let ()\n\n      (printf \"-- handling non-MVP mode query\\n\")\n\n      (define trapi-response\n        (make-empty-trapi-response))\n\n      (list\n       'json\n       501_ERROR_STRING\n       trapi-response)\n      ))\n\n  (define message (hash-ref body-json 'message #f))\n  (if message\n      (let()\n        (define query_graph (hash-ref message 'query_graph #f))\n        (if query_graph\n            (let ()\n              (define edges (hash-ref query_graph 'edges #f))\n              (define nodes (hash-ref query_graph 'nodes #f))\n              (if (and edges nodes)\n                  (let ()\n                    (define creative-mvp? (mvp-creative-query? edges nodes))\n                    (printf \"creative-mvp?: ~s\\n\" creative-mvp?)\n                    (if creative-mvp?\n                        (handle-mvp-creative-query body-json message query_graph edges nodes creative-mvp?)\n                        (empty-reply)))\n                  (let ()\n                    (printf \"** missing `nodes` or `edges` in `query_graph`: ~s\\n\" query_graph)\n                    (empty-reply))))\n            (let ()\n              (printf \"** missing `query_graph` in `message`: ~s\\n\" message)\n              (empty-reply))))\n      (let ()\n        (printf \"** missing `message` in `body-json`: ~s\\n\" body-json)\n        (empty-reply)))\n  )\n\n(define (handle-trapi-asyncquery body-json request-fk)\n\n  (define (empty-reply)\n    (let ()\n\n      (printf \"-- handling non-MVP mode asyncquery\\n\")\n\n      (define trapi-response\n        (make-empty-trapi-response))\n\n      (list\n       'json\n       501_ERROR_STRING\n       trapi-response)\n      ))\n\n  (define message (hash-ref body-json 'message #f))\n  (if message\n      (let()\n        (define query_graph (hash-ref message 'query_graph #f))\n        (if query_graph\n            (let ()\n              (define edges (hash-ref query_graph 'edges #f))\n              (define nodes (hash-ref query_graph 'nodes #f))\n              (if (and edges nodes)\n                  (let ()\n                    (define creative-mvp? (mvp-creative-query? edges nodes))\n                    (printf \"creative-mvp?: ~s\\n\" creative-mvp?)\n                    (if creative-mvp?\n                        (handle-mvp-creative-query body-json message query_graph edges nodes creative-mvp?)\n                        (empty-reply)))\n                  (let ()\n                    (printf \"** missing `nodes` or `edges` in `query_graph`: ~s\\n\" query_graph)\n                    (empty-reply))))\n            (let ()\n              (printf \"** missing `query_graph` in `message`: ~s\\n\" message)\n              (empty-reply))))\n      (let ()\n        (printf \"** missing `message` in `body-json`: ~s\\n\" body-json)\n        (empty-reply)))\n  )\n\n\n\n\n(define dispatch-table (make-hash))\n\n;; servlet stuff\n\n;; dispatch functions\n(define (query query\n               headers\n               request-fk\n               ;;\n               content-type-string\n               content-length-string\n               body-str)\n  (printf \"received TRAPI `query` POST request\\n\")\n\n  (unless (string-contains? (string-downcase content-type-string) \"application/json\")\n    (printf \"** unexpected content-type-string for query\\nexpected 'application/json', received '~s'\\n\"\n            content-type-string)\n    (request-fk))\n\n  (define body-json (string->jsexpr body-str))\n  ;(printf \"body-json:\\n~s\\n\" body-json)\n\n  (handle-trapi-query body-json request-fk))\n\n\n(define (asyncquery query\n                    headers\n                    request-fk\n                    ;;\n                    content-type-string\n                    content-length-string\n                    body-str)\n  (printf \"received TRAPI `asyncquery` POST request\\n\")\n\n  (unless (string-contains? (string-downcase content-type-string) \"application/json\")\n    (printf \"** unexpected content-type-string for query\\nexpected 'application/json', received '~s'\\n\"\n            content-type-string)\n    (request-fk))\n\n  (define body-json (string->jsexpr body-str))\n  (printf \"body-json:\\n~s\\n\" body-json)\n\n  (handle-trapi-asyncquery body-json request-fk))\n\n\n(define (meta_knowledge_graph query headers request-fk)\n  (printf \"received TRAPI meta knowledge graph query:\\n~s\\n\" query)\n  (list\n   'text\n   200_OK_STRING\n   metaKG.json.txt))\n\n(define (health query headers request-fk)\n  (printf \"received health status query:\\n~s\\n\" query)\n  (list\n   'json\n   200_OK_STRING\n   (string->jsexpr \"{}\")))\n\n(define (schema.json query headers request-fk)\n  (printf \"received GET request for schema.json:\\n~s\\n\" query)\n  (list\n   'text\n   200_OK_STRING\n   schema.json.txt))\n\n(define (schema.yaml query headers request-fk)\n  (printf \"received GET request for schema.yaml:\\n~s\\n\" query)\n  (list\n   'text\n   200_OK_STRING\n   schema.yaml.txt))\n\n\n;; Dispatch table request handlers that are safe for concurrent use,\n;; without synchronization through the job channels:\n(hash-set! dispatch-table '(GET \"schema.json\") (cons schema.json 'safe-for-concurrent-use))\n(hash-set! dispatch-table '(GET \"schema.yaml\") (cons schema.yaml 'safe-for-concurrent-use))\n\n(hash-set! dispatch-table '(GET \"meta_knowledge_graph\")\n           (cons meta_knowledge_graph 'safe-for-concurrent-use))\n\n(hash-set! dispatch-table '(GET \"health\") (cons health 'safe-for-concurrent-use))\n\n(hash-set!\n dispatch-table\n '(GET \"hello\")\n (cons\n   (lambda (query headers request-fk)\n     (printf \"received hello query:\\n~s\\n\" query)\n     (list\n       'xexpr\n       200_OK_STRING\n       `(html (body ,(format \"Hello, World! from Neo Server ~a. Current amount of jobs waiting: ~a\" NEO_SERVER_VERSION *jobs-waiting*)))))\n   'safe-for-concurrent-use))\n\n\n;; Dispatch table request handlers that are *not* safe for concurrent\n;; use, and whose use must be synchronized through the job channels:\n(hash-set! dispatch-table '(POST \"query\") (cons query #f))\n(hash-set! dispatch-table '(POST \"asyncquery\") (cons asyncquery #f))\n\n(hash-set!\n dispatch-table\n '(GET \"syn\")\n (cons\n   (lambda (query headers request-fk)\n     (printf \"received syn query:\\n~s\\n\" query)\n     (list\n       'xexpr\n       200_OK_STRING\n       `(html\n         (body\n          ,(format\n            \"~s\"\n            (curie->synonyms-in-db \"HGNC:1101\"))))))\n   #f))\n\n(hash-set!\n dispatch-table\n '(GET \"simple\")\n (cons\n   (lambda (query headers request-fk)\n     (printf \"received simple query:\\n~s\\n\" query)\n     (list\n       'xexpr\n       200_OK_STRING\n       `(html\n         (body\n          ,(format\n            \"~s\"\n            (car\n             (query:X->Known\n              (set->list\n               (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n                '(\"biolink:ChemicalEntity\")))\n              (set->list\n               (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db\n                '(\"biolink:treats\")))\n              (set->list\n               (get-n-descendent-curies*-in-db\n                (curie->synonyms-in-db \"DOID:9351\")\n                MAX_DESCENDENT)))))))))\n   #f))\n\n(module+ main\n  (lognew-info\n   (hash 'event \"About to check server environment variables\"))\n  (set-box! ENVIRONMENT_TAG_BOX (getenv \"ENVIRONMENT_TAG\"))\n  (lognew-info\n   (hash 'event (format \"ENVIRONMENT_TAG_BOX value = '~s'\" (unbox ENVIRONMENT_TAG_BOX))))\n  (set-box! MK_STAGE_BOX (getenv \"MK_STAGE\"))\n  (lognew-info\n   (hash 'event (format \"MK_STAGE_BOX value = '~s'\" (unbox MK_STAGE_BOX))))\n  (lognew-info\n   (hash 'event \"starting_server\"))\n  (lognew-info\n   (hash 'event (format \"(Neo Server ~a)\" NEO_SERVER_VERSION)))\n  (serve DEFAULT_PORT)\n  (lognew-info\n   (hash 'event \"started_server\"))\n  (let forever ()\n    (sleep 10)\n    (forever)))\n\n\n\n;;; Ensure the data is loaded by running an example query:\n(define q3 (query:X->Known-scored\n            (set->list\n             (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n              '(\"biolink:ChemicalEntity\")))\n            (set->list\n             (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db\n              '(\"biolink:treats\")))\n            (set->list\n             (get-n-descendent-curies*-in-db\n              (curie->synonyms-in-db \"MONDO:0007827\")\n              MAX_DESCENDENT))\n            TOP_BUCKET_NUMBERS))\n\n(length q3)\n(length UNWELCOME-TREATMENT)\n(length GENERAL-NODES)\n"
  },
  {
    "path": "medikanren2/neo/neo-tests/test-mvps-TRAPI-response.rkt",
    "content": "#lang racket\n\n(require\n  net/url\n  json\n  rackunit)\n\n(define MEDIKANREN-LOCAL-URL (string->url \"http://127.0.0.1:8384/query\"))\n\n(define HEADER\n  (list \"accept: application/json\" \n        \"Content-Type: application/json\"))\n\n(define build-mvp-query\n  (lambda (which-mvp known-id direction)\n    (cond\n      [(eq? which-mvp 'mvp1)\n       (hash 'message\n             (hash \n              'disable_external_requests \"true\"\n              'query_graph (hash\n                            'nodes (hash \n                                    'n0 (hash\n                                         'ids (list known-id)\n                                         'categories (list \"biolink:Disease\"))\n                                    'n1 (hash\n                                         'categories (list \"biolink:ChemicalEntity\")))\n                            'edges (hash\n                                    'e0 (hash\n                                         'subject \"n1\"\n                                         'object \"n0\"\n                                         'predicates (list \"biolink:treats\")\n                                         'knowledge_type \"inferred\")))))]\n      [(eq? which-mvp 'mvp2-gene)\n       (hash 'message\n             (hash\n              'disable_external_requests \"true\"\n              'query_graph\n              (hash 'edges\n                    (hash 't_edge\n                          (hash 'knowledge_type \"inferred\"\n                                'object \"gene\"\n                                'predicates (list \"biolink:affects\")\n                                'qualifier_constraints\n                                (list (hash\n                                       'qualifier_set\n                                       (list\n                                        (hash 'qualifier_type_id \"biolink:object_aspect_qualifier\"\n                                              'qualifier_value \"activity_or_abundance\")\n                                        (hash 'qualifier_type_id \"biolink:object_direction_qualifier\"\n                                              'qualifier_value direction))))\n                                'subject \"chemical\"))\n                    'nodes (hash\n                            'chemical (hash\n                                       'categories (list \"biolink:ChemicalEntity\"))\n                            'gene (hash 'categories (list \"biolink:Gene\")\n                                        'ids (list known-id))))))]\n      [(eq? which-mvp 'mvp2-chem)\n       (hash 'message\n             (hash\n              'disable_external_requests \"true\"\n              'query_graph\n              (hash 'edges\n                    (hash 't_edge\n                          (hash 'knowledge_type \"inferred\"\n                                'object \"gene\"\n                                'predicates (list \"biolink:affects\")\n                                'qualifier_constraints\n                                (list (hash\n                                       'qualifier_set\n                                       (list\n                                        (hash 'qualifier_type_id \"biolink:object_aspect_qualifier\"\n                                              'qualifier_value \"activity_or_abundance\")\n                                        (hash 'qualifier_type_id \"biolink:object_direction_qualifier\"\n                                              'qualifier_value direction))))\n                                'subject \"chemical\"))\n                    'nodes (hash\n                            'chemical (hash\n                                       'categories (list \"biolink:ChemicalEntity\")\n                                       'ids (list known-id))\n                            'gene (hash 'categories (list \"biolink:Gene\")\n                                        )))))]\n      [else (error \"unknown mvp\")])))\n\n\n;; TODO: how to get the body and http_code for one call\n;; https://gist.github.com/branneman/8a018e39e993328be1cf25cf9035e7d6\n(define get-response\n  (lambda (which-mvp known-id direction)\n    (call/input-url\n     MEDIKANREN-LOCAL-URL\n     (lambda (url) (post-pure-port\n                    url\n                    (jsexpr->bytes (build-mvp-query which-mvp known-id direction))\n                    HEADER))\n     read-json)))\n\n(define (check-X-in-list X)\n    (lambda (lt) (member X lt)))\n\n(define (missing-string x)\n  (if (string? x)\n      (string-append x \" is missing\")\n      (error \"x is missing and x should be a string\")))\n\n(define (test-reply response)\n\n  (check-pred (check-X-in-list 'message) (hash-keys response) (missing-string \"\\\"message\\\"\"))\n  (define message-from-response (hash-ref response 'message (hash)))\n  (define message-key* (hash-keys message-from-response))\n  (check-pred (check-X-in-list 'results) message-key* (missing-string \"\\\"results\\\"\"))\n  (check-pred (check-X-in-list 'query_graph) message-key* (missing-string \"\\\"query_graph\\\"\"))\n  (check-pred (check-X-in-list 'knowledge_graph) message-key* (missing-string \"\\\"knowledge_graph\\\"\"))\n  (check-pred (check-X-in-list 'auxiliary_graphs) message-key* (missing-string \"\\\"auxiliary_graphs\\\"\"))\n\n\n  (define query-graph-from-response (hash-ref message-from-response 'query_graph (hash)))\n  (define query-graph-key* (hash-keys query-graph-from-response))\n  (check-pred (check-X-in-list 'nodes) query-graph-key* (missing-string \"\\\"query_graph.nodes\\\"\"))\n  (check-pred (check-X-in-list 'edges) query-graph-key* (missing-string \"\\\"query_graph.edges\\\"\"))\n\n  (define Qedge-from-response (hash-ref query-graph-from-response 'edges (hash)))\n  (for-each\n   (lambda (Qedge-key)\n     (define Qedge-dic (hash-ref Qedge-from-response Qedge-key))\n     (check-pred (check-X-in-list 'subject) (hash-keys Qedge-dic) (missing-string \"\\\"query_graph.edges.subject\\\"\"))\n     (check-pred (check-X-in-list 'object) (hash-keys Qedge-dic) (missing-string \"\\\"query_graph.edges.object\\\"\"))\n     )\n   (hash-keys Qedge-from-response))\n\n  (define auxiliary-graphs-from-response (hash-ref message-from-response 'auxiliary_graphs (hash)))\n  (for-each\n   (lambda (auxiliary_graph-key)\n     (define auxiliary_graph (hash-ref auxiliary-graphs-from-response auxiliary_graph-key))\n     (check-pred (check-X-in-list 'edges) (hash-keys auxiliary_graph) (missing-string \"\\\"auxiliary_graphs.edges\\\"\")))\n   (hash-keys auxiliary-graphs-from-response))\n\n  (define knowledge-graph-from-response (hash-ref message-from-response 'knowledge_graph (hash)))\n  (define knowledge-graph-key* (hash-keys knowledge-graph-from-response))\n  (check-pred (check-X-in-list 'nodes) knowledge-graph-key* (missing-string \"\\\"knowledge_graph.nodes\\\"\"))\n  (check-pred (check-X-in-list 'edges) knowledge-graph-key* (missing-string \"\\\"knowledge_graph.edges\\\"\"))\n\n  (define Kedge-from-response (hash-ref knowledge-graph-from-response 'edges (hash)))\n  (for-each\n   (lambda (Kedge-key)\n     (define Kedge-dic (hash-ref Kedge-from-response Kedge-key))\n     (check-pred (check-X-in-list 'subject) (hash-keys Kedge-dic) (missing-string \"\\\"knowledge_graph.edges.subject\\\"\"))\n     (check-pred (check-X-in-list 'object) (hash-keys Kedge-dic) (missing-string \"\\\"knowledge_graph.edges.object\\\"\"))\n     (check-pred (check-X-in-list 'predicate) (hash-keys Kedge-dic) (missing-string \"\\\"knowledge_graph.edges.predicate\\\"\"))\n     (check-pred (check-X-in-list 'sources) (hash-keys Kedge-dic) (missing-string \"\\\"knowledge_graph.edges.sources\\\"\")))\n   (hash-keys Kedge-from-response))\n\n  (define result*-from-response (hash-ref message-from-response 'results '()))\n  (for-each \n   (lambda (result-from-response)\n     (define results-key* (hash-keys result-from-response))\n     (check-pred (check-X-in-list 'node_bindings) results-key* (missing-string \"\\\"results.node_bindings\\\"\"))\n     (check-pred (check-X-in-list 'analyses) results-key* (missing-string \"\\\"results.analyses\\\"\"))\n     (for-each\n      (lambda (analyses)\n        (define analyses-key* (hash-keys analyses))\n        (check-pred (check-X-in-list 'resource_id) analyses-key*\n                    (missing-string \"\\\"results.analyses.resource_id\\\"\"))\n        (check-pred (check-X-in-list 'edge_bindings) analyses-key*\n                    (missing-string \"\\\"results.analyses.edge_bindings\\\"\"))\n        (define edge_bindings (hash-ref analyses 'edge_bindings (hash)))\n        (for-each\n         (lambda (edge-binding-key)\n           (define edge_binding* (hash-ref edge_bindings edge-binding-key))\n           (for-each\n            (lambda (edge_binding)\n              (check-pred (check-X-in-list 'id) (hash-keys edge_binding) (missing-string \"\\\"results.analyses.edge_bindings.id\\\"\")))\n            edge_binding*))\n         (hash-keys edge_bindings))\n        (define node_bindings (hash-ref result-from-response 'node_bindings))\n        (for-each\n         (lambda (node-binding-key)\n           (define node-binding* (hash-ref node_bindings node-binding-key))\n           (for-each\n            (lambda (node-binding)\n              (check-pred (check-X-in-list 'id) (hash-keys node-binding)\n                          (missing-string \"\\\"results.node_bindings.id\\\"\")))\n            node-binding*))\n         (hash-keys node_bindings)))\n      (hash-ref result-from-response 'analyses '()))\n     )\n   result*-from-response)\n  )\n\n(define (test-and-timer which-mvp known-id)\n  (printf \"About to call the ~a query with input id ~a\\n\" which-mvp known-id)\n  (if (or (eq? which-mvp 'mvp2-chem) (eq? which-mvp 'mvp2-gene))\n      (begin\n        (printf \"increased: \")\n        (test-reply (time (get-response which-mvp known-id \"increased\")))\n        (printf \"decreased: \")\n        (test-reply (time (get-response which-mvp known-id \"decreased\"))))\n      (test-reply (time (get-response which-mvp known-id #f)))))\n\n#|\n(test-and-timer 'mvp2-chem \"PUBCHEM.COMPOUND:3007\") ;Amphetamine ;Amphetamine\n(test-and-timer 'mvp2-chem \"PUBCHEM.COMPOUND:5826\") ;Dextroamphetamine\n(test-and-timer 'mvp2-chem \"PUBCHEM.COMPOUND:44246724\") ;Methylphenidate\n(test-and-timer 'mvp2-gene \"NCBIGene:1594\") ;P450\n(test-and-timer 'mvp2-gene \"NCBIGene:3075\") ;FHL1\n(test-and-timer 'mvp2-gene \"NCBIGene:7157\") ;TP53\n(test-and-timer 'mvp1 \"MONDO:0005148\") ;\"type 2 diabetes mellitus\"\n(test-and-timer 'mvp1 \"MONDO:0005302\") ;\"attention deficit hyperactivity disorder, inattentive type\"\n(test-and-timer 'mvp1 \"MONDO:0018956\") ;\"idiopathic bronchiectasis\"\n(test-and-timer 'mvp1 \"MONDO:0007254\") ;breast cancer\n(test-and-timer 'mvp1 \"MONDO:0005147\") ;type 1 diabetes mellitus\n(test-and-timer 'mvp1 \"MONDO:0020066\") ;Ehlers-Danlos syndrome\n(test-and-timer 'mvp1 \"MONDO:0007827\") ;inclusion body myositis\n(test-and-timer 'mvp1 \"MONDO:0001302\") ;hypertensive heart disease\n|#\n\n(test-and-timer 'mvp1 \"MONDO:0005301\")\n(test-and-timer 'mvp1 \"MONDO:0015564\")\n(test-and-timer 'mvp1 \"MONDO:0100345\")\n(test-and-timer 'mvp1 \"MONDO:0005799\")\n(test-and-timer 'mvp1 \"MONDO:0009265\")\n(test-and-timer 'mvp1 \"MONDO:0018982\")\n\n(test-and-timer 'mvp2-gene \"NCBIGene:1636\")\n(test-and-timer 'mvp2-gene \"NCBIGene:1565\")\n(test-and-timer 'mvp2-gene \"NCBIGene:154\")\n\n(test-and-timer 'mvp2-chem \"CHEBI:34648\")\n(test-and-timer 'mvp2-chem \"CHEBI:34911\")\n(test-and-timer 'mvp2-chem \"CHEBI:167574\")"
  },
  {
    "path": "medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt",
    "content": "#lang racket/base\n\n(provide\n curie->synonyms-in-db\n curies->synonyms-in-db\n ;;\n all-predicates-in-db\n all-classes-in-db\n ;;\n get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db\n get-non-deprecated-mixed-ins-and-descendent-classes*-in-db\n ;;\n get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db\n get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db\n ;;\n get-descendent-curies-in-db\n get-descendent-curies*-in-db\n get-n-descendent-curies*-in-db\n ;;\n iota\n pretty-print-json-string\n take-at-most\n ;;\n auto-grow\n auto-grow-with-class-hierarchy\n )\n(require\n \"../neo-low-level/query-low-level-multi-db.rkt\"\n \"../neo-reasoning/neo-biolink-reasoning.rkt\"\n racket/set\n \"neo-helpers-without-db.rkt\"\n racket/list\n racket/string)\n\n(define (curie->synonyms-in-db curie)\n  (curies-in-db (curie->synonyms curie)))\n\n(define (curies->synonyms-in-db curies)\n  (curies-in-db (curies->synonyms curies)))\n\n(define all-predicates-in-db\n  (list->set\n    (filter curie-in-db?\n            (set->list all-predicates))))\n(define all-classes-in-db\n  (list->set\n    (filter curie-in-db?\n            (set->list all-classes))))\n\n(define (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db preds)\n  (list->set\n   (curies-in-db\n    (set->list\n     (get-non-deprecated-mixed-ins-and-descendent-predicates* preds)))))\n\n(define (get-non-deprecated/mixin/abstract-ins-and-descendent-predicates*-in-db preds)\n  (list->set\n   (filter (lambda (p)\n             (not (or\n                   (predicate-mixin? p)\n                   (predicate-abstract? p))))\n           (set->list (get-non-deprecated-mixed-ins-and-descendent-predicates*-in-db preds)))))\n\n(define (get-non-deprecated-mixed-ins-and-descendent-classes*-in-db classes)\n  (list->set\n    (curies-in-db\n            (set->list\n              (get-non-deprecated-mixed-ins-and-descendent-classes* classes)))))\n\n(define (get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db classes)\n  (list->set\n   (filter (lambda (c)\n             (not (or\n                   (class-mixin? c)\n                   (class-abstract? c))))\n           (set->list (get-non-deprecated-mixed-ins-and-descendent-classes*-in-db classes)))))\n\n(define (get-descendent-curies-in-db curie)\n  (get-descendent-curies*-in-db (list curie)))\n\n(define (get-descendent-curies*-in-db curies)\n  (set-union (list->set curies)\n   (set-fixed-point\n    (list->set\n     (map car\n          (query:X->Known-scored\n           #f\n           (list \"biolink:subclass_of\")\n           curies\n           (list (list 1111) #f (list 1111)))))\n    (lambda (new-curies)\n      (list->set\n       (map car\n            (query:X->Known-scored\n             #f\n             (list \"biolink:subclass_of\")\n             (set->list new-curies)\n             (list (list 1111) #f (list 1111)))))))))\n\n(define (curie-is-type? curie type)\n  (let* ((node-prop (curie->properties curie))\n        (umls-description (assoc \"description\" node-prop)))\n    (and umls-description (string-contains? (cadr umls-description) type))))\n\n(define (edge-from-source edge source^)\n  (let* ((props (cdddr edge))\n         (source (assoc \"primary_knowledge_source\" props))\n         (source (and source (cadr source))))\n    (and source (equal? source source^))))\n\n(define (get-n-descendent-curies*-in-db curies n)\n  (list->set\n   (append curies\n           (let loop ((r '()) (c curies))\n             (if (or (> (length r) n) (= (length r) n))\n                 r\n                 (let* ((children (remove-duplicates\n                                   (map car\n                                        (filter\n                                         (lambda (e) (not (edge-from-source e \"infores:medrt-umls\")))\n                                         (query:X->Known-scored\n                                          #f\n                                          (list \"biolink:subclass_of\")\n                                          c\n                                          (list (list 1111) #f (list 1111)))))))\n                        (not-classification-type (filter (lambda (c) (not (curie-is-type? c \"STY:T185\"))) children))\n                        (new-r (remove-duplicates (append r not-classification-type))))\n                   (if (= (length r) (length new-r))\n                       r\n                       (loop new-r not-classification-type))))))))\n\n(define (get-next-descendent-curies* curies)\n  (let* ((children (remove-duplicates\n                    (map car\n                         (filter\n                          (lambda (e) (not (edge-from-source e \"infores:medrt-umls\")))\n                          (query:X->Known-scored\n                           #f\n                           (list \"biolink:subclass_of\")\n                           curies\n                           (list (list 1111) #f (list 1111)))))))\n         (not-classification-type-children (filter (lambda (c) (not (curie-is-type? c \"STY:T185\"))) children)))\n    not-classification-type-children))\n\n(define (auto-grow-with-class-hierarchy 1hop? proc-template score* self-curie* result-amount)\n  (let loop ((r '()) (hierarchy 1) (desired-size result-amount) (c* self-curie*) (seen-curies '()))\n    (cond\n      [(or (< desired-size 0) (= desired-size 0)) r]\n      [(null? c*) r]\n      [else\n       (let* ((proc (proc-template c*))\n              (new-results (if 1hop? (auto-grow proc score* desired-size) (proc score* desired-size)))\n              (new-results-with-hierarchy-property (map (lambda (r) (cons hierarchy r)) new-results))\n              (new-results-size (length new-results-with-hierarchy-property))\n              (next-descendent (get-next-descendent-curies* c*))\n              (next-descendent (filter (lambda (c) (not (member c seen-curies))) next-descendent)))\n         (loop (append r new-results-with-hierarchy-property)\n               (+ hierarchy 1)\n               (- desired-size new-results-size)\n               next-descendent\n               (append seen-curies next-descendent)\n               ))])))\n"
  },
  {
    "path": "medikanren2/neo/neo-utils/neo-helpers-without-db.rkt",
    "content": "#lang racket/base\n\n(require\n racket/set\n racket/unsafe/ops\n racket/list)\n\n(provide\n maybe-time\n iota\n pretty-print-json-string\n take-at-most\n ;;\n bytes<=?\n set-fixed-point\n unsafe-bytes-split-tab\n bytes-base10->fxnat\n ;;\n minus-one-before-zero\n auto-grow)\n\n;; Use the second definition of 'maybe-time' to see the time use for\n;; low-level query calls.\n(define maybe-time (lambda (x) x)) ;; no-op\n;; (define maybe-time time)\n\n\n(define (iota n)\n  (define (iter i)\n    (if (>= i n)\n        '()\n        (cons i (iter (+ 1 i)))))\n  (iter 0))\n\n(define (pretty-print-json-string json-string port)\n  (define len (string-length json-string))\n  (define (display-indent-spaces n port)\n    (let loop ([i 0])\n      (cond\n        [(< i n)\n         (display #\\space port)\n         (loop (add1 i))]\n        [else (void)])))\n  (let loop ([i 0]\n             [indent 0]\n             [in-quote #f])\n    (cond\n      [(< i len)\n       (let ((c (string-ref json-string i)))\n         (case c\n           [(#\\\")\n            (display c port)\n            (loop (add1 i) indent (not in-quote))]\n           ;;\n           [(#\\:)\n            (display c port)\n            (unless in-quote\n              (display #\\space port))\n            (loop (add1 i) indent in-quote)]\n           ;;\n           [(#\\,)\n            (display c port)\n            (unless in-quote\n              (newline port)\n              (display-indent-spaces indent port))\n            (loop (add1 i) indent in-quote)]\n           ;;\n           [(#\\{ #\\[)\n            (display c port)\n            (if in-quote\n                (loop (add1 i) indent in-quote)                \n                (let ((indent (add1 indent)))\n                  (newline port)\n                  (display-indent-spaces indent port)\n                  (loop (add1 i) indent in-quote)))]\n           ;;\n           [(#\\} #\\])\n            (if in-quote\n                (begin\n                  (display c port)\n                  (loop (add1 i) indent in-quote))\n                (let ((indent (sub1 indent)))\n                  (newline port)\n                  (display-indent-spaces indent port)\n                  (display c port)\n                  (loop (add1 i) indent in-quote)))]\n           ;;\n           [else\n            (display c port)\n            (loop (add1 i) indent in-quote)]))]\n      [else (void)])))\n\n(define (take-at-most ls n)\n  (if (<= (length ls) n)\n      ls\n      (let loop ((ls ls)\n                 (n n))\n        (cond\n          [(<= n 0) '()]\n          [(null? ls) '()]\n          [else\n           (cons (car ls)\n                 (loop (cdr ls) (sub1 n)))]))))\n\n;; copied from 'database.rkt'\n(define (bytes<=? a b) (not (bytes<? b a)))\n\n;; copied from 'database.rkt'\n(define (set-fixed-point xs.initial step)\n  (let loop ((current (set))\n             (next    xs.initial))\n    (let ((new (set-subtract next current)))\n      (if (set-empty? new)\n        current\n        (loop (set-union current new)\n              (step      new))))))\n\n(define (unsafe-bytes-split-tab bs)\n  (let loop ((end    (unsafe-bytes-length bs))\n             (i      (unsafe-fx- (unsafe-bytes-length bs) 1))\n             (fields '()))\n    (cond ((unsafe-fx< i 0)                       (cons (subbytes bs 0 end) fields))\n          ((unsafe-fx= (unsafe-bytes-ref bs i) 9) (loop i   (unsafe-fx- i 1) (cons (subbytes bs (+ i 1) end) fields)))\n          (else                                   (loop end (unsafe-fx- i 1) fields)))))\n\n(define (bytes-base10->fxnat bs)\n  (define len (bytes-length bs))\n  (unless (< 0 len 19)\n    (when (= len 0)  (error \"natural number must contain at least one digit\" bs))\n    (when (< 18 len) (error \"natural number must contain at most 18 digits (to safely fit in a fixnum)\" bs)))\n  (let loop ((i 0) (n 0))\n    (if (unsafe-fx< i len)\n      (let ((b (unsafe-bytes-ref bs i)))\n        (unless (unsafe-fx<= 48 b 57)\n          (error \"natural number must contain only base10 digits\" bs))\n        (loop (unsafe-fx+ i 1)\n              (unsafe-fx+ (unsafe-fx* n 10)\n                          (unsafe-fx- b 48))))\n      n)))\n\n(define minus-one-before-zero\n  (lambda (n*)\n    (and n*\n        (if (eq? (car n*) 0)\n            #f\n            (list (- (car n*) 1))))))\n\n(define (auto-grow hop-proc score* result_amount)\n  (let loop ((r '()) (sl score*))\n    (cond\n      [(> (length r) result_amount)\n       (printf \"return ~a answers\\n\" (length r))\n       r]\n      [(andmap not sl)\n       (printf \"return ~a answers\\n\" (length r))\n       r]\n      [else\n       #;(printf \"number of answers: ~a, take next round\\n\" (length r))\n       (loop (remove-duplicates  (append r (hop-proc sl)))\n             (list (minus-one-before-zero (list-ref sl 0))\n                   (minus-one-before-zero (list-ref sl 1))\n                   (minus-one-before-zero (list-ref sl 2))))])))\n"
  },
  {
    "path": "medikanren2/neo/readme.md",
    "content": "# mediKanren 2 neo TRAPI server\n\nThis directory contains the new, or `neo`, server for mediKanren 2, supporting the Translator Reasoner API (TRAPI) described at https://github.com/NCATSTranslator/ReasonerAPI\n\n\n## Racket install and raco package install\n\nLike the rest of mediKanren, the neo server requires that [DrRacket](https://racket-lang.org) be installed.  As of September 12, 2022, we are using Racket 8.6 on production.\n\nYou may receive an error from Racket when trying to start the neo server, saying that a required package is missing.  If so, you will need to install the package using the `raco` command-line tool.  For example, to install the `yaml` package, you can run the `raco` command:\n\n```\nraco pkg install yaml\n```\n\n(You will need to ensure that `raco` is on your `$PATH`)\n\nYou can see the packages already installed using `raco pkg show`.  On Will's laptop, these packages are installed:\n\n```\nwebyrd@Williams-MacBook-Pro neo % raco pkg show\nInstallation-wide:\n Package            Checksum             Source\n main-distribution  9481f7ced1cb2dea...  catalog...tribution\n racket-lib         9019e19592f3c3fd...  catalog racket-lib\n [205 auto-installed packages not shown]\nUser-specific for installation \"8.6\":\n Package         Checksum              Source\n aws             94a16a6875ac585a1...  catalog...aws/master\n chk             32fb635e19fa2dc2d...  catalog...k?path=chk\n memoize         02a647d7fec308f84...  catalog...ize#master\n shell-pipeline  116529759e06c850b...  catalog...l-pipeline\n yaml            b60a1e4a01979ed44...  catalog...aml/master\n [7 auto-installed packages not shown]\n```\n\n## dbKanren\n\nThe neo server uses the the dbKanren engine from `https://github.com/gregr/dbKanren`\n\nFor now, a snapshot of dbKanren is included in the top-level `neo` directory.  It may be better to use a symlink and to checkout from `git` a specific version of dbKanren.  For simplicity of deployment, though, it is easier to just include the correct `dbKanren` code locally.\n\n\n## Basic organization\n\nTODO\n\n\n## Data and \n\nThe neo server expects processed data to be located in the `neo-data` directory:\n\n`mediKanren/medikanren2/neo/neo-data/`\n\n\n## Processing of raw downloaded 2-TSV-file KGX formatted KGs from KGE\n\nTo process a \"raw\" 2-TSV-file KGX formatted KGs from KGE, first download the and uncompress the KG in the\n\n`neo-data/raw_downloads_from_kge_archive/`\n\ndirectory.  For example,\n\n`neo-data/raw_downloads_from_kge_archive/rtx-kg2pre_7.6/`\n\n\nNext, please read and follow the instructions in \n\n`./neo-data-import/an_important_note_on_pre_processing_kgs.txt`\n\nbefore running any of the scripts in `./neo-data-import/transform-2tsv-to-4tsv-kgs/` on a KG, to detect and fix a possible problem with DOS-style carriage returns (^M) that can appear in some of the KG TSVs.  This is critical, in order to avoid import errors.\n\n\nThen, running the transformation script in `neo/neo-data-import/transform-2tsv-to-4tsv-kgs/` to generate a directory containing 4 TSV files, which in turn can be processed using the scripts in `neo/neo-data-import/build-mediKanren2-kg-from-4tsv/`.\n\nFor example, running the script\n\n`./neo-data-import/transform-2tsv-to-4tsv-kgs/transform-rtx-kg2pre_7.6.rkt`\n\nwill transform the 2 TSV `rtx-kg2pre_7.6` files here:\n\n```\nneo-data/\n  raw_downloads_from_kge_archive/\n    rtx-kg2pre_7.6/\n      edges.tsv\n      nodes.tsv\n      ...\n```\n\ninto the 4 TSV files here:\n\n```\nneo-data/\n  raw_downloads_from_kge_archive_transformed_to_4tsv/\n    rtx-kg2pre_7.6/\n      rtx-kg2pre_7.6.edge.tsv\n      rtx-kg2pre_7.6.edgeprop.tsv\n      rtx-kg2pre_7.6.node.tsv\n      rtx-kg2pre_7.6.nodeprop.tsv\n```\n\nAfterwards, running the script\n\n`./neo-data-import/build-mediKanren2-kg-from-4tsv/import-rtx-kg2pre_7.6.rkt`\n\nwill generate the fully-processed dbKanren database here:\n\n```\nneo-data/\n  rtx-kg2pre_7.6.db/\n```\n\n\n## Starting the server\n\nTODO\n\n`neo-server.rkt` in `./neo-server/`\n\n\n`racket neo-server.rkt`\n\n```\n> (require \"neo-server.rkt\")\n```\n\n```\n> ,en neo-server.rkt\n```\n\n```\n> (stop)\n```\n\n```\n> (define stop (serve DEFAULT_PORT))\n```\n\n```\n> (stop)\n```\n"
  },
  {
    "path": "medikanren2/open-api/ISB-KG-api.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require net/url)\n(require net/http-client)\n(require json)\n\n(define api-query\n  (lambda (api-url)\n    (call/input-url\n     (string->url api-url)\n     get-pure-port\n     (lambda (port)\n       (string->jsexpr (port->string port))))))\n\n;; ISB KP\n(define url-ISB\n  \"https://biothings.ncats.io/tcga_mut_freq_kp/metadata/fields\")\n\n(define ISB-query1\n  \"https://biothings.ncats.io/drug_response_kp/query?q=subject.SYMBOL:EGFR%20AND%20association.effect_size:%3C0%20AND%20association.pvalue:%3C0.05%20AND%20association.median_ic50_mut:%3C0&size=1000\")\n\n(api-query ISB-query1)\n\n#|\nTODO: modify Greg's code below to query ISB with structured\ncontents Subject, Object, pvalue, ic50\n\n;; Broad Institute KP\n(define url.broad\n  \"https://translator.broadinstitute.org/molepro_reasoner\")\n(define url.unsecret\n  \"https://unsecret.ncats.io\")\n(define path.predicates\n  \"/predicates\")\n(define path.query\n  \"/query\")\n\n(define (api-query url-string (optional-post-jsexpr (void)))\n  (define-values (status headers in)\n    (if (void? optional-post-jsexpr)\n      (http-sendrecv/url\n        (string->url url-string)\n        #:method \"GET\")\n      (http-sendrecv/url\n        (string->url url-string)\n        #:method \"POST\"\n        #:data (jsexpr->string optional-post-jsexpr)\n        #:headers '(\"Content-Type: application/json; charset=utf-8\"))))\n  (hash 'status status\n        'headers headers\n        'response (string->jsexpr (port->string in))))\n\n(define (js-query edges nodes)\n  (hash 'message\n        (hash 'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n\n;; test predicates available on Broad Institute KG\n;(pretty-print\n  ;(api-query (string-append url.broad path.predicates)))\n\n;(pretty-print\n  ;(api-query (string-append url.broad path.query)\n             ;(js-query (list (hash 'id        \"e00\"\n                                   ;'source_id \"n00\"\n                                   ;'target_id \"n01\"\n                                   ;'type      \"affects\"))\n                       ;(list (hash 'curie \"CID:2244\"\n                                   ;'id    \"n00\"\n                                   ;'type  \"chemical_substance\")\n                             ;(hash 'id    \"n01\"\n                                   ;'type  \"gene\")))))\n\n;(pretty-print\n  ;(api-query (string-append url.unsecret path.predicates)))\n\n(pretty-print\n  (api-query (string-append url.unsecret path.query)\n             (js-query (list (hash 'id        \"e00\"\n                                   'source_id \"n00\"\n                                   'target_id \"n01\"\n                                   'type      \"affects\"))\n                       (list (hash 'curie \"CHEBI:15365\"\n                                   'id    \"n00\"\n                                   'type  \"chemical_substance\")\n                             (hash 'id    \"n01\"\n                                   'type  \"gene\")))))\n\n\ndef buildQuery(genes):\n    # empty response\n    response = { \"query_graph\": dict(),\n                 \"knowledge_graph\": dict(),\n                 \"response\": dict()\n               }\n\n    # empty query graph\n    response[\"query_graph\"] = { \"edges\": [],\n                                \"nodes\": []\n                              }\n\n    # empty knowledge graph\n    response[\"knowledge_graph\"] = { \"edges\": [],\n                                    \"nodes\": []\n                                  }\n\n    # empty response graph\n    response[\"results\"] = { \"node_bindings\": [],\n                            \"edge_bindings\": []\n                          }\n\n    # nodes\n    nodeCount = 0\n    # edges\n    edgeCount = 0\n\n    # add in evidence genes\n    \n    for g in genes:\n        response['query_graph']['nodes'].append({ 'id':'n{}'.format(nodeCount),\n                                                  'type':'Gene',\n                                                  'name':'{}'.format(g[0]),\n                                                  'curie':'{}'.format(g[1])\n                                               })\n        nodeCount += 1\n\n    # grouping for genes\n    response['query_graph']['nodes'].append({ 'id':'n{}'.format(nodeCount),\n                                              'type':'gene_grouping'\n                                           })\n    nodeCount += 1\n    \n    # link genes over grouping\n    for n in response['query_graph']['nodes'][:-1]:\n        response['query_graph']['edges'].append({ 'id':'e{}'.format(edgeCount),\n                                                  'type':'part_of',\n                                                  'curie':['SEMMEDDB:PART_OF'],\n                                                  'source_id':n['id'],\n                                                  'target_id':'n{}'.format(nodeCount-1)\n                                               })\n        edgeCount += 1\n\n    # patient node\n    response['query_graph']['nodes'].append({ 'id':'n{}'.format(nodeCount),\n                                              'type':'patient',\n                                              'curie':['UMLSSC:T101']\n                                           })\n    nodeCount += 1\n\n    # link gene group to patient\n    response['query_graph']['edges'].append({ 'id':'e{}'.format(edgeCount),\n                                              'type':'expressed_in',\n                                              'curie':['RO:0002206'],\n                                              'source_id':'n{}'.format(nodeCount-2),\n                                              'target_id':'n{}'.format(nodeCount-1)\n                                           })\n    edgeCount += 1\n\n    # survival node\n    response['query_graph']['nodes'].append({ 'id': 'n{}'.format(nodeCount),\n                                              'type': 'PhenotypicFeature',\n                                              'curie': 'CHPDART:SURVIVAL',\n                                              'operator': '>=',\n                                              'value': '1000'\n                                           })\n    nodeCount += 1\n\n    # link patient to survival\n    response['query_graph']['edges'].append({ 'id':'e{}'.format(edgeCount),\n                                              'type':'has_phenotype',\n                                              'source_id':'n{}'.format(nodeCount-2),\n                                              'target_id':'n{}'.format(nodeCount-1)\n                                           })\n    edgeCount += 1\n\n    # BKB target\n    response['probability_targets'] = [('Survival_Time', '>=', 1000)]\n\n    return response\n\n\n\n\n\n\n|#\n"
  },
  {
    "path": "medikanren2/open-api/TranslatorReasonersAPI.json",
    "content": "{\n    \"openapi\": \"3.0.3\",\n    \"info\": {\n        \"contact\": {\n            \"email\": \"webyrd@gmail.com\",\n            \"name\": \"William E. Byrd\",\n            \"url\": \"https://github.com/webyrd\"\n        },\n        \"description\": \"A ReasonerStdAPI for mediKanren\",\n        \"license\": {\n            \"name\": \"MIT License\",\n            \"url\": \"https://github.com/webyrd/mediKanren/blob/master/LICENSE\"\n        },\n        \"title\": \"mediKanren\",\n        \"version\": \"2.0-alpha\",\n        \"x-trapi\": {\n            \"version\": \"1.1.0\",\n            \"operations\": [\n                \"lookup\"\n            ]\n        },\n        \"x-translator\": {\n            \"infores\": \"infores:unsecret-agent\",\n            \"biolink-version\": \"2.2.11\",\n            \"component\": \"ARA\",\n            \"team\": [\n                \"Unsecret Agent\"\n            ]\n        }\n    },\n    \"servers\": [\n        {\n            \"url\": \"https://medikanren-trapi.ci.transltr.io/v2\",\n            \"description\": \"Production server\",\n            \"x-maturity\": \"production\"\n        }\n    ],\n    \"tags\": [\n        {\n            \"name\": \"query\"\n        },\n        {\n            \"name\": \"translator\"\n        },\n        {\n            \"name\": \"trapi\"\n        }\n    ],\n    \"paths\": {\n        \"/query\": {\n            \"post\": {\n                \"tags\": [\n                    \"query\"\n                ],\n                \"summary\": \"Initiate a query and wait to receive a Response\",\n                \"description\": \"\",\n                \"requestBody\": {\n                    \"description\": \"Query information to be submitted\",\n                    \"required\": true,\n                    \"content\": {\n                        \"application/json\": {\n                            \"example\": {\n                                \"message\": {\n                                    \"disable_external_requests\": true,\n                                    \"query_graph\": {\n                                        \"edges\": {\n                                            \"e00\": {\n                                                \"object\": \"n01\",\n                                                \"subject\": \"n00\",\n                                                \"predicates\": [\n                                                    \"biolink:physically_interacts_with\"\n                                                ]\n                                            }\n                                        },\n                                        \"nodes\": {\n                                            \"n00\": {\n                                                \"ids\": [\n                                                    \"CHEMBL.COMPOUND:CHEMBL112\"\n                                                ]\n                                            },\n                                            \"n01\": {\n                                                \"categories\": [\n                                                    \"biolink:Protein\"\n                                                ]\n                                            }\n                                        }\n                                    }\n                                }\n                            },\n                            \"schema\": {\n                                \"$ref\": \"#/components/schemas/Query\"\n                            }\n                        }\n                    }\n                },\n                \"responses\": {\n                    \"200\": {\n                        \"description\": \"OK. There may or may not be results. Note that some of the provided identifiers may not have been recognized.\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"$ref\": \"#/components/schemas/Response\"\n                                }\n                            }\n                        }\n                    },\n                    \"400\": {\n                        \"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).\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    },\n                    \"500\": {\n                        \"description\": \"Internal server error.\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    },\n                    \"501\": {\n                        \"description\": \"Not implemented.\",\n                        \"content\": {\n                            \"application/json\": {\n                                \"schema\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        }\n                    }\n                },\n                \"x-swagger-router-controller\": \"swagger_server.controllers.query_controller\"\n            }\n        }\n    },\n    \"components\": {\n        \"schemas\": {\n            \"Query\": {\n                \"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.\",\n                \"x-body-name\": \"request_body\",\n                \"type\": \"object\",\n                \"properties\": {\n                    \"message\": {\n                        \"$ref\": \"#/components/schemas/Message\",\n                        \"description\": \"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.\"\n                    },\n                    \"log_level\": {\n                        \"description\": \"The least critical level of logs to return\",\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/LogLevel\"\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"workflow\": {\n                        \"description\": \"List of workflow steps to be executed.\",\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n                            }\n                        ],\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"message\"\n                ]\n            },\n            \"AsyncQuery\": {\n                \"description\": \"The AsyncQuery class is effectively the same as the Query class but it requires a callback property.\",\n                \"x-body-name\": \"request_body\",\n                \"type\": \"object\",\n                \"properties\": {\n                    \"callback\": {\n                        \"type\": \"string\",\n                        \"format\": \"uri\",\n                        \"pattern\": \"^https?://\",\n                        \"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.\"\n                    },\n                    \"message\": {\n                        \"$ref\": \"#/components/schemas/Message\",\n                        \"description\": \"The query Message is a serialization of the user request. Content of the Message object depends on the intended TRAPI operation. For example, the fill operation requires a non-empty query_graph field as part of the Message, whereas other operations, e.g. overlay, require non-empty results and knowledge_graph fields.\"\n                    },\n                    \"log_level\": {\n                        \"description\": \"The least critical level of logs to return\",\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/LogLevel\"\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"workflow\": {\n                        \"description\": \"List of workflow steps to be executed.\",\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n                            }\n                        ],\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"callback\",\n                    \"message\"\n                ]\n            },\n            \"Response\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"message\": {\n                        \"description\": \"Contains the knowledge of the response (query graph, knowledge graph, and results).\",\n                        \"$ref\": \"#/components/schemas/Message\"\n                    },\n                    \"status\": {\n                        \"description\": \"One of a standardized set of short codes, e.g. Success, QueryNotTraversable, KPsNotAvailable\",\n                        \"type\": \"string\",\n                        \"example\": \"Success\",\n                        \"nullable\": true\n                    },\n                    \"description\": {\n                        \"description\": \"A brief human-readable description of the outcome\",\n                        \"type\": \"string\",\n                        \"example\": \"Success. 42 results found.\",\n                        \"nullable\": true\n                    },\n                    \"logs\": {\n                        \"description\": \"Log entries containing errors, warnings, debugging information, etc\",\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/LogEntry\"\n                        },\n                        \"nullable\": true\n                    },\n                    \"workflow\": {\n                        \"description\": \"List of workflow steps that were executed.\",\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"http://standards.ncats.io/workflow/1.0.0/schema\"\n                            }\n                        ],\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"message\"\n                ]\n            },\n            \"Message\": {\n                \"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.\",\n                \"type\": \"object\",\n                \"properties\": {\n                    \"results\": {\n                        \"description\": \"List of all returned Result objects for the query posed. The list SHOULD NOT be assumed to be ordered. The 'score' property,\\n if present, MAY be used to infer result rankings.\",\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Result\"\n                        },\n                        \"nullable\": true\n                    },\n                    \"query_graph\": {\n                        \"description\": \"QueryGraph object that contains a serialization of a query in the form of a graph\",\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/QueryGraph\"\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"knowledge_graph\": {\n                        \"description\": \"KnowledgeGraph object that contains lists of nodes and edges in the thought graph corresponding to the message\",\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/KnowledgeGraph\"\n                            }\n                        ],\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": false\n            },\n            \"LogEntry\": {\n                \"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.\",\n                \"type\": \"object\",\n                \"properties\": {\n                    \"timestamp\": {\n                        \"type\": \"string\",\n                        \"format\": \"date-time\",\n                        \"description\": \"Timestamp in ISO 8601 format\",\n                        \"example\": \"2020-09-03T18:13:49+00:00\",\n                        \"nullable\": true\n                    },\n                    \"level\": {\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/LogLevel\"\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"code\": {\n                        \"type\": \"string\",\n                        \"description\": \"One of a standardized set of short codes e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed\",\n                        \"nullable\": true\n                    },\n                    \"message\": {\n                        \"type\": \"string\",\n                        \"description\": \"A human-readable log message\",\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": true\n            },\n            \"LogLevel\": {\n                \"type\": \"string\",\n                \"description\": \"Logging level\",\n                \"enum\": [\n                    \"ERROR\",\n                    \"WARNING\",\n                    \"INFO\",\n                    \"DEBUG\"\n                ]\n            },\n            \"Result\": {\n                \"type\": \"object\",\n                \"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).\",\n                \"properties\": {\n                    \"node_bindings\": {\n                        \"type\": \"object\",\n                        \"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.\",\n                        \"additionalProperties\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                                \"$ref\": \"#/components/schemas/NodeBinding\"\n                            }\n                        }\n                    },\n                    \"edge_bindings\": {\n                        \"type\": \"object\",\n                        \"description\": \"The dictionary of Input Query Graph to Result 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 in the result.\",\n                        \"additionalProperties\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                                \"$ref\": \"#/components/schemas/EdgeBinding\"\n                            }\n                        }\n                    },\n                    \"score\": {\n                        \"type\": \"number\",\n                        \"format\": \"float\",\n                        \"example\": 163.233,\n                        \"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.\",\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"node_bindings\",\n                    \"edge_bindings\"\n                ]\n            },\n            \"NodeBinding\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"id\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"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 (such annotation is not yet fully standardized).\"\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"id\"\n                ]\n            },\n            \"EdgeBinding\": {\n                \"type\": \"object\",\n                \"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).\",\n                \"properties\": {\n                    \"id\": {\n                        \"type\": \"string\",\n                        \"description\": \"The key identifier of a specific KnowledgeGraph Edge.\"\n                    },\n                    \"attributes\": {\n                        \"type\": \"array\",\n                        \"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.\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Attribute\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"id\"\n                ]\n            },\n            \"KnowledgeGraph\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"nodes\": {\n                        \"type\": \"object\",\n                        \"description\": \"Dictionary of Node instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/Node\"\n                        }\n                    },\n                    \"edges\": {\n                        \"type\": \"object\",\n                        \"description\": \"Dictionary of Edge instances used in the KnowledgeGraph, referenced elsewhere in the TRAPI output by the dictionary key.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/Edge\"\n                        }\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"nodes\",\n                    \"edges\"\n                ]\n            },\n            \"QueryGraph\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"nodes\": {\n                        \"type\": \"object\",\n                        \"description\": \"The node specifications. The keys of this map are unique node identifiers and the corresponding values include the constraints on bound nodes.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/QNode\"\n                        }\n                    },\n                    \"edges\": {\n                        \"type\": \"object\",\n                        \"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.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/QEdge\"\n                        }\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"nodes\",\n                    \"edges\"\n                ]\n            },\n            \"QNode\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"ids\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/CURIE\"\n                        },\n                        \"minItems\": 1,\n                        \"example\": [\n                            \"OMIM:603903\"\n                        ],\n                        \"description\": \"CURIE identifier for this node\",\n                        \"nullable\": true\n                    },\n                    \"categories\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/BiolinkEntity\"\n                        },\n                        \"minItems\": 1,\n                        \"nullable\": true\n                    },\n                    \"is_set\": {\n                        \"type\": \"boolean\",\n                        \"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.\",\n                        \"default\": false\n                    },\n                    \"constraints\": {\n                        \"type\": \"array\",\n                        \"description\": \"A list of contraints applied to a query node. If there are multiple items, they must all be true (equivalent to AND)\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/QueryConstraint\"\n                        },\n                        \"default\": []\n                    }\n                },\n                \"additionalProperties\": true\n            },\n            \"QEdge\": {\n                \"type\": \"object\",\n                \"description\": \"An edge in the QueryGraph used as an 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.\",\n                \"properties\": {\n                    \"predicates\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n                        },\n                        \"minItems\": 1,\n                        \"nullable\": true\n                    },\n                    \"subject\": {\n                        \"type\": \"string\",\n                        \"example\": \"https://omim.org/entry/603903\",\n                        \"description\": \"Corresponds to the map key identifier of the subject concept node anchoring the query filter pattern for the query relationship edge.\"\n                    },\n                    \"object\": {\n                        \"type\": \"string\",\n                        \"example\": \"https://www.uniprot.org/uniprot/P00738\",\n                        \"description\": \"Corresponds to the map key identifier of the object concept node anchoring the query filter pattern for the query relationship edge.\"\n                    },\n                    \"constraints\": {\n                        \"type\": \"array\",\n                        \"description\": \"A list of contraints applied to a query edge. If there are multiple items, they must all be true (equivalent to AND)\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/QueryConstraint\"\n                        },\n                        \"default\": []\n                    }\n                },\n                \"additionalProperties\": true,\n                \"required\": [\n                    \"subject\",\n                    \"object\"\n                ]\n            },\n            \"Node\": {\n                \"type\": \"object\",\n                \"description\": \"A node in the KnowledgeGraph which represents some biomedical concept. Nodes are identified by the keys in the KnowledgeGraph Node mapping.\",\n                \"properties\": {\n                    \"name\": {\n                        \"type\": \"string\",\n                        \"example\": \"Haptoglobin\",\n                        \"description\": \"Formal name of the entity\",\n                        \"nullable\": true\n                    },\n                    \"categories\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/BiolinkEntity\"\n                        },\n                        \"nullable\": true\n                    },\n                    \"attributes\": {\n                        \"type\": \"array\",\n                        \"description\": \"A list of attributes describing the node\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Attribute\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": false\n            },\n            \"Attribute\": {\n                \"type\": \"object\",\n                \"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 a SubAttribute (for example to provide confidence intervals on a value).\",\n                \"properties\": {\n                    \"attribute_type_id\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"description\": \"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.\",\n                        \"example\": \"Biolink:has_p-value_evidence, Biolink:has_original_source\"\n                    },\n                    \"original_attribute_name\": {\n                        \"type\": \"string\",\n                        \"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.\",\n                        \"example\": \"p-value\",\n                        \"nullable\": true\n                    },\n                    \"value\": {\n                        \"description\": \"Value of the attribute. May be any data type, including a list.\",\n                        \"example\": 0.000153\n                    },\n                    \"value_type_id\": {\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/CURIE\"\n                            }\n                        ],\n                        \"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.\",\n                        \"example\": \"EDAM:data_1187\",\n                        \"nullable\": true\n                    },\n                    \"attribute_source\": {\n                        \"type\": \"string\",\n                        \"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.\",\n                        \"example\": \"UniProtKB\",\n                        \"nullable\": true\n                    },\n                    \"value_url\": {\n                        \"type\": \"string\",\n                        \"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).\",\n                        \"example\": \"https://pubmed.ncbi.nlm.nih.gov/32529952\",\n                        \"nullable\": true\n                    },\n                    \"description\": {\n                        \"type\": \"string\",\n                        \"description\": \"Human-readable description for the attribute and its value.\",\n                        \"example\": \"Assertion Authored By Dr. Trans L. Ator\",\n                        \"nullable\": true\n                    },\n                    \"attributes\": {\n                        \"type\": \"array\",\n                        \"description\": \"A list of attributes providing further information about the parent attribute (for example to provide provenance information about the parent attribute).\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/SubAttribute\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"required\": [\n                    \"attribute_type_id\",\n                    \"value\"\n                ],\n                \"additionalProperties\": false\n            },\n            \"SubAttribute\": {\n                \"type\": \"object\",\n                \"description\": \"Second-level attribute that can be used to qualify information contained in a primary Attribute attached to a Node or Edge.\",\n                \"properties\": {\n                    \"attribute_type_id\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"description\": \"The 'key' of the attribute object, holding a CURIE of an ontology property defining the attribute (preferably the CURIE of a Biolink association slot). This property captures the relationship asserted to hold between the value of the attribute, and the node or edge from  which it hangs. For example, that a value of '0.000153' represents a p-value supporting an edge, or that a value of 'ChEMBL' represents the original source of the knowledge expressed in the edge.\",\n                        \"example\": \"Biolink:has_p-value_evidence, Biolink:has_original_source\"\n                    },\n                    \"original_attribute_name\": {\n                        \"type\": \"string\",\n                        \"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.\",\n                        \"example\": \"p-value\",\n                        \"nullable\": true\n                    },\n                    \"value\": {\n                        \"description\": \"Value of the attribute. May be any data type, including a list.\",\n                        \"example\": 0.000153\n                    },\n                    \"value_type_id\": {\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/CURIE\"\n                            }\n                        ],\n                        \"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.\",\n                        \"example\": \"EDAM:data_1187\",\n                        \"nullable\": true\n                    },\n                    \"attribute_source\": {\n                        \"type\": \"string\",\n                        \"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.\",\n                        \"example\": \"UniProtKB\",\n                        \"nullable\": true\n                    },\n                    \"value_url\": {\n                        \"type\": \"string\",\n                        \"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).\",\n                        \"example\": \"https://pubmed.ncbi.nlm.nih.gov/32529952\",\n                        \"nullable\": true\n                    },\n                    \"description\": {\n                        \"type\": \"string\",\n                        \"description\": \"Human-readable description for the attribute and its value.\",\n                        \"example\": \"Assertion Authored By Dr. Trans L. Ator\",\n                        \"nullable\": true\n                    }\n                },\n                \"required\": [\n                    \"attribute_type_id\",\n                    \"value\"\n                ],\n                \"additionalProperties\": false\n            },\n            \"Edge\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"predicate\": {\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/BiolinkPredicate\"\n                            }\n                        ],\n                        \"nullable\": true\n                    },\n                    \"subject\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"example\": \"OMIM:603903\",\n                        \"description\": \"Corresponds to the map key CURIE of the subject concept node of this relationship edge.\"\n                    },\n                    \"object\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"example\": \"UniProtKB:P00738\",\n                        \"description\": \"Corresponds to the map key CURIE of the object concept node of this relationship edge.\"\n                    },\n                    \"attributes\": {\n                        \"type\": \"array\",\n                        \"description\": \"A list of additional attributes for this edge\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/Attribute\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"additionalProperties\": false,\n                \"required\": [\n                    \"subject\",\n                    \"object\"\n                ]\n            },\n            \"BiolinkEntity\": {\n                \"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.\",\n                \"type\": \"string\",\n                \"pattern\": \"^biolink:[A-Z][a-zA-Z]*$\",\n                \"externalDocs\": {\n                    \"description\": \"Biolink model entities\",\n                    \"url\": \"https://biolink.github.io/biolink-model/docs/NamedThing.html\"\n                },\n                \"example\": \"biolink:PhenotypicFeature\"\n            },\n            \"BiolinkPredicate\": {\n                \"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.\",\n                \"type\": \"string\",\n                \"pattern\": \"^biolink:[a-z][a-z_]*$\",\n                \"externalDocs\": {\n                    \"description\": \"Biolink model predicates\",\n                    \"url\": \"https://biolink.github.io/biolink-model/docs/related_to.html\"\n                },\n                \"example\": \"biolink:interacts_with\"\n            },\n            \"CURIE\": {\n                \"type\": \"string\",\n                \"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.\",\n                \"externalDocs\": {\n                    \"url\": \"https://www.w3.org/TR/2010/NOTE-curie-20101216/\"\n                }\n            },\n            \"MetaKnowledgeGraph\": {\n                \"type\": \"object\",\n                \"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.\",\n                \"properties\": {\n                    \"nodes\": {\n                        \"type\": \"object\",\n                        \"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.\",\n                        \"additionalProperties\": {\n                            \"$ref\": \"#/components/schemas/MetaNode\"\n                        }\n                    },\n                    \"edges\": {\n                        \"type\": \"array\",\n                        \"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.\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/MetaEdge\"\n                        }\n                    }\n                },\n                \"required\": [\n                    \"nodes\",\n                    \"edges\"\n                ]\n            },\n            \"MetaNode\": {\n                \"type\": \"object\",\n                \"description\": \"Description of a node category provided by this TRAPI web service.\",\n                \"properties\": {\n                    \"id_prefixes\": {\n                        \"type\": \"array\",\n                        \"description\": \"List of CURIE prefixes for the node category that this TRAPI web service understands and accepts on the input.\",\n                        \"items\": {\n                            \"type\": \"string\"\n                        },\n                        \"minItems\": 1,\n                        \"example\": [\n                            \"CHEMBL.COMPOUND\",\n                            \"INCHIKEY\"\n                        ]\n                    },\n                    \"attributes\": {\n                        \"type\": \"array\",\n                        \"description\": \"Node attributes provided by this TRAPI web service.\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/MetaAttribute\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"required\": [\n                    \"id_prefixes\"\n                ],\n                \"additionalProperties\": false\n            },\n            \"MetaEdge\": {\n                \"type\": \"object\",\n                \"description\": \"Edge in a meta knowledge map describing relationship between a subject Biolink class and an object Biolink class.\",\n                \"properties\": {\n                    \"subject\": {\n                        \"$ref\": \"#/components/schemas/BiolinkEntity\",\n                        \"description\": \"Subject node category of this relationship edge.\",\n                        \"example\": \"biolink:ChemicalSubstance\"\n                    },\n                    \"predicate\": {\n                        \"$ref\": \"#/components/schemas/BiolinkPredicate\",\n                        \"description\": \"Biolink relationship between the subject and object categories.\",\n                        \"example\": \"biolink:affects\"\n                    },\n                    \"object\": {\n                        \"$ref\": \"#/components/schemas/BiolinkEntity\",\n                        \"description\": \"Object node category of this relationship edge.\",\n                        \"example\": \"biolink:Protein\"\n                    },\n                    \"attributes\": {\n                        \"type\": \"array\",\n                        \"description\": \"Edge attributes provided by this TRAPI web service.\",\n                        \"items\": {\n                            \"$ref\": \"#/components/schemas/MetaAttribute\"\n                        },\n                        \"nullable\": true\n                    }\n                },\n                \"required\": [\n                    \"subject\",\n                    \"predicate\",\n                    \"object\"\n                ],\n                \"additionalProperties\": false\n            },\n            \"MetaAttribute\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"attribute_type_id\": {\n                        \"$ref\": \"#/components/schemas/CURIE\",\n                        \"description\": \"Type of an attribute provided by this TRAPI web service (preferably the CURIE of a Biolink association slot)\",\n                        \"example\": \"biolink:p_value\"\n                    },\n                    \"attribute_source\": {\n                        \"type\": \"string\",\n                        \"description\": \"Source of an attribute provided by this TRAPI web service.\",\n                        \"example\": \"infores:chembl\",\n                        \"nullable\": true\n                    },\n                    \"original_attribute_names\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"string\"\n                        },\n                        \"description\": \"Names of an the attribute as provided by the source.\",\n                        \"nullable\": true,\n                        \"minItems\": 1\n                    },\n                    \"constraint_use\": {\n                        \"type\": \"boolean\",\n                        \"description\": \"Indicates whether this attribute can be used as a query constraint.\",\n                        \"default\": false\n                    },\n                    \"constraint_name\": {\n                        \"type\": \"string\",\n                        \"description\": \"Human-readable name or label for the constraint concept. Required whenever constraint_use is true.\",\n                        \"example\": \"p-value\",\n                        \"nullable\": true\n                    }\n                },\n                \"required\": [\n                    \"attribute_type_id\"\n                ]\n            },\n            \"QueryConstraint\": {\n                \"type\": \"object\",\n                \"description\": \"Generic query constraint for a query node or query edge\",\n                \"properties\": {\n                    \"id\": {\n                        \"allOf\": [\n                            {\n                                \"$ref\": \"#/components/schemas/CURIE\"\n                            }\n                        ],\n                        \"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.\",\n                        \"example\": \"EDAM:data_0844\"\n                    },\n                    \"name\": {\n                        \"type\": \"string\",\n                        \"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.\",\n                        \"example\": \"molecular mass\"\n                    },\n                    \"not\": {\n                        \"type\": \"boolean\",\n                        \"default\": false\n                    },\n                    \"operator\": {\n                        \"type\": \"string\",\n                        \"description\": \"Relationship between the database value and the constraint value for the specified id. The operators ==, >, and < mean is exactly 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. 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 >=, and not matches means does not match. The '==' operator SHOULD NOT be used in a manner that describes an \\\"is a\\\" subclass relationship for the parent QNode.\",\n                        \"enum\": [\n                            \"==\",\n                            \">\",\n                            \"<\",\n                            \"matches\"\n                        ]\n                    },\n                    \"value\": {\n                        \"example\": 57.0,\n                        \"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). 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.\"\n                    },\n                    \"unit_id\": {\n                        \"example\": \"UO:0000222\",\n                        \"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.\",\n                        \"nullable\": true\n                    },\n                    \"unit_name\": {\n                        \"example\": \"kilodalton\",\n                        \"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.\",\n                        \"nullable\": true\n                    }\n                },\n                \"required\": [\n                    \"name\",\n                    \"id\",\n                    \"operator\",\n                    \"value\"\n                ],\n                \"additionalProperties\": false\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "medikanren2/open-api/TranslatorReasonersAPI.yaml",
    "content": "openapi: 3.0.3\ninfo:\n  contact:\n    email: webyrd@gmail.com\n    name: William E. Byrd\n    url: https://github.com/webyrd\n  description: A ReasonerStdAPI for mediKanren\n  license:\n    name: MIT License\n    url: https://github.com/webyrd/mediKanren/blob/master/LICENSE\n  title: mediKanren \n  version: \"2.0-alpha\"\n  x-trapi:\n    ## there's a plan to update the trapi server to fit the latest spec\n    version: 1.1.0\n    operations:\n      - lookup\n  x-translator:\n    infores: \"infores:unsecret-agent\"\n    ## using biolink version from rtx-kg2 so look there\n    biolink-version: \"2.2.11\"\n    component: ARA\n    team:\n      - Unsecret Agent\nservers:\n- url: https://medikanren-trapi.ci.transltr.io/v2\n  description: Production server\n  x-maturity: production\ntags:\n#- name: meta_knowledge_graph\n- name: query\n- name: translator\n- name: trapi\npaths:\n#  /meta_knowledge_graph:\n#    get:\n#      tags:\n#        - meta_knowledge_graph\n#      summary: Meta knowledge graph representation of this TRAPI web service.\n#      description: Returns meta knowledge graph representation of this TRAPI web service.\n#      responses:\n#        '200':\n#          description: Successful Response\n#          content:\n#            application/json:\n#              schema:\n#                $ref: '#/components/schemas/MetaKnowledgeGraph'\n  /query:\n    post:\n      tags:\n        - query\n      summary: Initiate a query and wait to receive a Response\n      description: ''\n      requestBody:\n        description: Query information to be submitted\n        required: true\n        content:\n          application/json:\n            ## used for registry's uptime status so should be a quick one\n            example:\n              message:\n                disable_external_requests: true\n                query_graph:\n                  edges:\n                    e00:\n                      object: \"n01\"\n                      subject: \"n00\"\n                      predicates:\n                      - \"biolink:physically_interacts_with\"\n                  nodes:\n                    n00:\n                      ids:\n                      - \"CHEMBL.COMPOUND:CHEMBL112\"\n                    n01:\n                      categories:\n                      - \"biolink:Protein\"\n            schema:\n              $ref: '#/components/schemas/Query'\n      responses:\n        '200':\n          description: >-\n            OK. There may or may not be results. Note that some of the provided\n            identifiers may not have been recognized.\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Response'\n        '400':\n          description: >-\n            Bad request. The request is invalid according to this OpenAPI\n            schema OR a specific identifier is believed to be invalid somehow\n            (not just unrecognized).\n          content:\n            application/json:\n              schema:\n                type: string\n        '500':\n          description: >-\n            Internal server error.\n          content:\n            application/json:\n              schema:\n                type: string\n        '501':\n          description: >-\n            Not implemented.\n          content:\n            application/json:\n              schema:\n                type: string\n      x-swagger-router-controller: swagger_server.controllers.query_controller\ncomponents:\n  schemas:\n    Query:\n      description: >-\n        The Query class is used to package a user request for information. A\n        Query object consists of a required Message object with optional\n        additional properties. Additional properties are intended to convey\n        implementation-specific or query-independent parameters. For example,\n        an additional property specifying a log level could allow a user to\n        override the default log level in order to receive more fine-grained\n        log information when debugging an issue.\n      x-body-name: request_body\n      type: object\n      properties:\n        message:\n          $ref: '#/components/schemas/Message'\n          description: >-\n            The query Message is a serialization of the user request. Content\n            of the Message object depends on the intended TRAPI operation. For\n            example, the fill operation requires a non-empty query_graph field\n            as part of the Message, whereas other operations, e.g. overlay,\n            require non-empty results and knowledge_graph fields.\n        log_level:\n          description: The least critical level of logs to return\n          allOf:\n            - $ref: '#/components/schemas/LogLevel'\n          nullable: true\n        workflow:\n          description: List of workflow steps to be executed.\n          allOf:\n            - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          nullable: true\n      additionalProperties: true\n      required:\n        - message\n    AsyncQuery:\n      description: >-\n        The AsyncQuery class is effectively the same as the Query class but\n        it requires a callback property.\n      x-body-name: request_body\n      type: object\n      properties:\n        callback:\n          type: string\n          format: uri\n          pattern: ^https?://\n          description: >-\n            Upon completion, this server will send a POST request to the\n            callback URL with `Content-Type: application/json` header and\n            request body containing a JSON-encoded `Response` object.\n            The server MAY POST `Response` objects before work is fully\n            complete to provide interim results with a Response.status\n            value of 'Running'. If a POST operation to the callback URL\n            does not succeed, the server SHOULD retry the POST at least\n            once.\n        message:\n          $ref: '#/components/schemas/Message'\n          description: >-\n            The query Message is a serialization of the user request. Content\n            of the Message object depends on the intended TRAPI operation. For\n            example, the fill operation requires a non-empty query_graph field\n            as part of the Message, whereas other operations, e.g. overlay,\n            require non-empty results and knowledge_graph fields.\n        log_level:\n          description: The least critical level of logs to return\n          allOf:\n            - $ref: '#/components/schemas/LogLevel'\n          nullable: true\n        workflow:\n          description: List of workflow steps to be executed.\n          allOf:\n            - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          nullable: true\n      additionalProperties: true\n      required:\n        - callback\n        - message\n    Response:\n      type: object\n      description: >-\n        The Response object contains the main payload when a TRAPI query\n        endpoint interprets and responds to the submitted query successfully\n        (i.e., HTTP Status Code 200). The message property contains the\n        knowledge of the response (query graph, knowledge graph, and results).\n        The status, description, and logs properties provide additional details\n        about the response.\n      properties:\n        message:\n          description: >-\n            Contains the knowledge of the response (query graph, knowledge\n            graph, and results).\n          $ref: '#/components/schemas/Message'\n        status:\n          description: >-\n            One of a standardized set of short codes,\n            e.g. Success, QueryNotTraversable, KPsNotAvailable\n          type: string\n          example: Success\n          nullable: true\n        description:\n          description: A brief human-readable description of the outcome\n          type: string\n          example: Success. 42 results found.\n          nullable: true\n        logs:\n          description: >-\n            Log entries containing errors, warnings, debugging information, etc\n          type: array\n          items:\n            $ref: '#/components/schemas/LogEntry'\n          nullable: true\n        workflow:\n          description: List of workflow steps that were executed.\n          allOf:\n            - $ref: http://standards.ncats.io/workflow/1.0.0/schema\n          nullable: true\n      additionalProperties: true\n      required:\n        - message\n    Message:\n      description: >-\n        The message object holds the main content of a Query or a Response in\n        three properties: query_graph, results, and knowledge_graph.\n        The query_graph property contains the query configuration, the results\n        property contains any answers that are returned by the service,\n        and knowledge_graph property contains lists of edges and nodes in the\n        thought graph corresponding to this message. The content of these\n        properties is context-dependent to the encompassing object and\n        the TRAPI operation requested.\n      type: object\n      properties:\n        results:\n          description: >-\n            List of all returned Result objects for the query posed.\n            The list SHOULD NOT be assumed to be ordered. The 'score' property,\n             if present, MAY be used to infer result rankings.\n          type: array\n          items:\n            $ref: '#/components/schemas/Result'\n          nullable: true\n        query_graph:\n          description: >-\n            QueryGraph object that contains a serialization of a query in the\n            form of a graph\n          allOf:\n            - $ref: '#/components/schemas/QueryGraph'\n          nullable: true\n        knowledge_graph:\n          description: >-\n            KnowledgeGraph object that contains lists of nodes and edges\n            in the thought graph corresponding to the message\n          allOf:\n            - $ref: '#/components/schemas/KnowledgeGraph'\n          nullable: true\n      additionalProperties: false\n    LogEntry:\n      description: >-\n        The LogEntry object contains information useful for tracing\n        and debugging across Translator components.  Although an\n        individual component (for example, an ARA or KP) may have its\n        own logging and debugging infrastructure, this internal\n        information is not, in general, available to other components.\n        In addition to a timestamp and logging level, LogEntry\n        includes a string intended to be read by a human, along with\n        one of a standardized set of codes describing the condition of\n        the component sending the message.\n      type: object\n      properties:\n        timestamp:\n          type: string\n          format: date-time\n          description: Timestamp in ISO 8601 format\n          example: '2020-09-03T18:13:49+00:00'\n          nullable: true\n        level:\n          allOf:\n            - $ref: '#/components/schemas/LogLevel'\n          nullable: true\n        code:\n          type: string\n          description: >-\n            One of a standardized set of short codes\n            e.g. QueryNotTraversable, KPNotAvailable, KPResponseMalformed\n          nullable: true\n        message:\n          type: string\n          description: A human-readable log message\n          nullable: true\n      additionalProperties: true\n    LogLevel:\n      type: string\n      description: Logging level\n      enum:\n        - ERROR\n        - WARNING\n        - INFO\n        - DEBUG\n    Result:\n      type: object\n      description: >-\n        A Result object specifies the nodes and edges in the knowledge graph\n        that satisfy the structure or conditions of a user-submitted query\n        graph. It must contain a NodeBindings object (list of query graph node\n        to knowledge graph node mappings) and an EdgeBindings object (list of\n        query graph edge to knowledge graph edge mappings).\n      properties:\n        node_bindings:\n          type: object\n          description: >-\n            The dictionary of Input Query Graph to Result Knowledge Graph node\n            bindings where the dictionary keys are the key identifiers of the\n            Query Graph nodes and the associated values of those keys are\n            instances of NodeBinding schema type (see below). This value is an\n            array of NodeBindings since a given query node may have multiple\n            knowledge graph Node bindings in the result.\n          additionalProperties:\n            type: array\n            items:\n              $ref: '#/components/schemas/NodeBinding'\n        edge_bindings:\n          type: object\n          description: >-\n            The dictionary of Input Query Graph to Result Knowledge Graph edge\n            bindings where the dictionary keys are the key identifiers of the\n            Query Graph edges and the associated values of those keys are\n            instances of EdgeBinding schema type (see below). This value is an\n            array of EdgeBindings since a given query edge may resolve to\n            multiple knowledge graph edges in the result.\n          additionalProperties:\n            type: array\n            items:\n              $ref: '#/components/schemas/EdgeBinding'\n        score:\n          type: number\n          format: float\n          example: 163.233\n          description: >-\n            A numerical score associated with this result indicating the\n            relevance or confidence of this result relative to others in the\n            returned set. Higher MUST be better.\n          nullable: true\n      additionalProperties: true\n      required:\n        - node_bindings\n        - edge_bindings\n    NodeBinding:\n      type: object\n      properties:\n        id:\n          $ref: '#/components/schemas/CURIE'\n          description: >-\n            An instance of NodeBinding is a single KnowledgeGraph Node mapping,\n            identified by the corresponding 'id' object key identifier of the\n            Node within the Knowledge Graph. Instances of NodeBinding may\n            include extra annotation (such annotation is not yet fully\n            standardized).\n      additionalProperties: true\n      required:\n        - id\n    EdgeBinding:\n      type: object\n      description: >-\n        A instance of EdgeBinding is a single KnowledgeGraph Edge mapping,\n        identified by the corresponding 'id' object key identifier of the\n        Edge within the Knowledge Graph. Instances of EdgeBinding may include\n        extra annotation (such annotation is not yet fully standardized).\n      properties:\n        id:\n          type: string\n          description: The key identifier of a specific KnowledgeGraph Edge.\n        attributes:\n          type: array\n          description: >-\n            A list of attributes providing further information about the\n            edge binding. This is not intended for capturing edge attributes\n            and should only be used for properties that vary from result to\n            result.\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n      additionalProperties: true\n      required:\n        - id\n    KnowledgeGraph:\n      type: object\n      description: >-\n        The knowledge graph associated with a set of results. The instances\n        of Node and Edge defining this graph represent instances of\n        biolink:NamedThing (concept nodes) and biolink:Association\n        (relationship edges) representing (Attribute) annotated knowledge\n        returned from the knowledge sources and inference agents wrapped by\n        the given TRAPI implementation.\n      properties:\n        nodes:\n          type: object\n          description: >-\n            Dictionary of Node instances used in the KnowledgeGraph,\n            referenced elsewhere in the TRAPI output by the dictionary key.\n          additionalProperties:\n            $ref: '#/components/schemas/Node'\n        edges:\n          type: object\n          description: >-\n            Dictionary of Edge instances used in the KnowledgeGraph,\n            referenced elsewhere in the TRAPI output by the dictionary key.\n          additionalProperties:\n            $ref: '#/components/schemas/Edge'\n      additionalProperties: true\n      required:\n        - nodes\n        - edges\n    QueryGraph:\n      type: object\n      description: >-\n        A graph representing a biomedical question. It serves as a template for\n        each result (answer), where each bound knowledge graph node/edge is\n        expected to obey the constraints of the associated query graph element.\n      properties:\n        nodes:\n          type: object\n          description: >-\n            The node specifications. The keys of this map are unique node\n            identifiers and the corresponding values include the constraints\n            on bound nodes.\n          additionalProperties:\n            $ref: '#/components/schemas/QNode'\n        edges:\n          type: object\n          description: >-\n            The edge specifications. The keys of this map are unique edge\n            identifiers and the corresponding values include the constraints\n            on bound edges, in addition to specifying the subject and object\n            QNodes.\n          additionalProperties:\n            $ref: '#/components/schemas/QEdge'\n      additionalProperties: true\n      required:\n        - nodes\n        - edges\n    QNode:\n      type: object\n      description: A node in the QueryGraph used to represent an entity in a\n        query. If a CURIE is not specified, any nodes matching the category\n        of the QNode will be returned in the Results.\n      properties:\n        ids:\n          type: array\n          items:\n            $ref: '#/components/schemas/CURIE'\n          minItems: 1\n          example: [OMIM:603903]\n          description: CURIE identifier for this node\n          nullable: true\n        categories:\n          type: array\n          items:\n            $ref: '#/components/schemas/BiolinkEntity'\n          minItems: 1\n          nullable: true\n        is_set:\n          type: boolean\n          description: >-\n            Boolean that if set to true, indicates that this QNode MAY have\n            multiple KnowledgeGraph Nodes bound to it within each Result.\n            The nodes in a set should be considered as a set of independent\n            nodes, rather than a set of dependent nodes, i.e., the answer\n            would still be valid if the nodes in the set were instead returned\n            individually. Multiple QNodes may have is_set=True. If a QNode\n            (n1) with is_set=True is connected to a QNode (n2) with\n            is_set=False, each n1 must be connected to n2. If a QNode (n1)\n            with is_set=True is connected to a QNode (n2) with is_set=True,\n            each n1 must be connected to at least one n2.\n          default: false\n        constraints:\n          type: array\n          description: >-\n            A list of contraints applied to a query node.\n            If there are multiple items, they must all be true (equivalent\n            to AND)\n          items:\n            $ref: '#/components/schemas/QueryConstraint'\n          default: []\n      additionalProperties: true\n    QEdge:\n      type: object\n      description: >-\n        An edge in the QueryGraph used as an filter pattern specification in a\n        query. If the optional predicate property is not specified,\n        it is assumed to be a wildcard match to the target knowledge space.\n        If specified, the ontological inheritance hierarchy associated with\n        the term provided is assumed, such that edge bindings returned may be\n        an exact match to the given QEdge predicate term,\n        or to a term that is a descendant of the QEdge predicate term.\n      properties:\n        predicates:\n          type: array\n          items:\n            $ref: '#/components/schemas/BiolinkPredicate'\n          minItems: 1\n          nullable: true\n        subject:\n          type: string\n          example: https://omim.org/entry/603903\n          description: >-\n            Corresponds to the map key identifier of the\n            subject concept node anchoring the query filter\n            pattern for the query relationship edge.\n        object:\n          type: string\n          example: https://www.uniprot.org/uniprot/P00738\n          description: >-\n            Corresponds to the map key identifier of the\n            object concept node anchoring the query filter\n            pattern for the query relationship edge.\n        constraints:\n          type: array\n          description: >-\n            A list of contraints applied to a query edge.\n            If there are multiple items, they must all be true (equivalent\n            to AND)\n          items:\n            $ref: '#/components/schemas/QueryConstraint'\n          default: []\n      additionalProperties: true\n      required:\n        - subject\n        - object\n    Node:\n      type: object\n      description: >-\n        A node in the KnowledgeGraph which represents some biomedical\n        concept. Nodes are identified by the keys in the KnowledgeGraph\n        Node mapping.\n      properties:\n        name:\n          type: string\n          example: Haptoglobin\n          description: Formal name of the entity\n          nullable: true\n        categories:\n          type: array\n          items:\n            $ref: '#/components/schemas/BiolinkEntity'\n          nullable: true\n        attributes:\n          type: array\n          description: A list of attributes describing the node\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n      additionalProperties: false\n    Attribute:\n      type: object\n      description: >-\n        Generic attribute for a node or an edge that expands the key-value\n        pair concept by including fields for additional metadata. These fields\n        can be used to describe the source of the statement made in a key-value\n        pair of the attribute object, or describe the attribute's value itself\n        including its semantic type, or a url providing additional information\n        about it. An attribute may be further qualified with a SubAttribute\n        (for example to provide confidence intervals on a value).\n      properties:\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: >-\n            The 'key' of the attribute object, holding a CURIE of an ontology\n            property defining the attribute (preferably the CURIE of a\n            Biolink association slot). This property captures the relationship\n            asserted to hold between the value of the attribute, and the node\n            or edge from  which it hangs. For example, that a value of\n            '0.000153' represents a p-value supporting an edge, or that\n            a value of 'ChEMBL' represents the original source of the knowledge\n            expressed in the edge.\n          example: Biolink:has_p-value_evidence, Biolink:has_original_source\n        original_attribute_name:\n          type: string\n          description: >-\n            The term used by the original source of an attribute to describe\n            the meaning or significance of the value it captures. This may be\n            a column name in a source tsv file, or a key in a source json\n            document for the field in the data that held the attribute's\n            value. Capturing this information  where possible lets us preserve\n            what the original source said. Note that the data type is string'\n            but the contents of the field could also be a CURIE of a third\n            party ontology term.\n          example: p-value\n          nullable: true\n        value:\n          description: >-\n            Value of the attribute. May be any data type, including a list.\n          example: 0.000153\n        value_type_id:\n          allOf:\n            - $ref: '#/components/schemas/CURIE'\n          description: >-\n            CURIE describing the semantic type of an  attribute's value. Use\n            a Biolink class if possible, otherwise a term from an external\n            ontology. If a suitable CURIE/identifier does not exist, enter a\n            descriptive phrase here and submit the new type for consideration\n            by the appropriate authority.\n          example: EDAM:data_1187\n          nullable: true\n        attribute_source:\n          type: string\n          description: >-\n            The source of the core assertion made by the key-value pair of an\n            attribute object. Use a CURIE or namespace designator for this\n            resource where possible.\n          example: UniProtKB\n          nullable: true\n        value_url:\n          type: string\n          description: >-\n            Human-consumable URL linking to a web document that provides\n            additional information about an  attribute's value (not the node\n            or the edge fom which it hangs).\n          example: https://pubmed.ncbi.nlm.nih.gov/32529952\n          nullable: true\n        description:\n          type: string\n          description: >-\n            Human-readable description for the attribute and its value.\n          example: Assertion Authored By Dr. Trans L. Ator\n          nullable: true\n        attributes:\n          type: array\n          description: >-\n            A list of attributes providing further information about the\n            parent attribute (for example to provide provenance\n            information about the parent attribute).\n          items:\n            $ref: '#/components/schemas/SubAttribute'\n          nullable: true\n      required:\n        - attribute_type_id\n        - value\n      additionalProperties: false\n    SubAttribute:\n      type: object\n      description: >-\n        Second-level attribute that can be used to qualify information\n        contained in a primary Attribute attached to a Node or Edge.\n      properties:\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: >-\n            The 'key' of the attribute object, holding a CURIE of an ontology\n            property defining the attribute (preferably the CURIE of a\n            Biolink association slot). This property captures the relationship\n            asserted to hold between the value of the attribute, and the node\n            or edge from  which it hangs. For example, that a value of\n            '0.000153' represents a p-value supporting an edge, or that\n            a value of 'ChEMBL' represents the original source of the knowledge\n            expressed in the edge.\n          example: Biolink:has_p-value_evidence, Biolink:has_original_source\n        original_attribute_name:\n          type: string\n          description: >-\n            The term used by the original source of an attribute to describe\n            the meaning or significance of the value it captures. This may be\n            a column name in a source tsv file, or a key in a source json\n            document for the field in the data that held the attribute's\n            value. Capturing this information  where possible lets us preserve\n            what the original source said. Note that the data type is string'\n            but the contents of the field could also be a CURIE of a third\n            party ontology term.\n          example: p-value\n          nullable: true\n        value:\n          description: >-\n            Value of the attribute. May be any data type, including a list.\n          example: 0.000153\n        value_type_id:\n          allOf:\n            - $ref: '#/components/schemas/CURIE'\n          description: >-\n            CURIE describing the semantic type of an  attribute's value. Use\n            a Biolink class if possible, otherwise a term from an external\n            ontology. If a suitable CURIE/identifier does not exist, enter a\n            descriptive phrase here and submit the new type for consideration\n            by the appropriate authority.\n          example: EDAM:data_1187\n          nullable: true\n        attribute_source:\n          type: string\n          description: >-\n            The source of the core assertion made by the key-value pair of an\n            attribute object. Use a CURIE or namespace designator for this\n            resource where possible.\n          example: UniProtKB\n          nullable: true\n        value_url:\n          type: string\n          description: >-\n            Human-consumable URL linking to a web document that provides\n            additional information about an  attribute's value (not the node\n            or the edge fom which it hangs).\n          example: https://pubmed.ncbi.nlm.nih.gov/32529952\n          nullable: true\n        description:\n          type: string\n          description: >-\n            Human-readable description for the attribute and its value.\n          example: Assertion Authored By Dr. Trans L. Ator\n          nullable: true\n      required:\n        - attribute_type_id\n        - value\n      additionalProperties: false\n    Edge:\n      type: object\n      description: >-\n        A specification of the semantic relationship linking two concepts\n        that are expressed as nodes in the knowledge \"thought\" graph\n        resulting from a query upon the underlying knowledge source.\n      properties:\n        predicate:\n          allOf:\n            - $ref: '#/components/schemas/BiolinkPredicate'\n          nullable: true\n        subject:\n          $ref: '#/components/schemas/CURIE'\n          example: OMIM:603903\n          description: >-\n            Corresponds to the map key CURIE of the\n            subject concept node of this relationship edge.\n        object:\n          $ref: '#/components/schemas/CURIE'\n          example: UniProtKB:P00738\n          description: >-\n            Corresponds to the map key CURIE of the\n            object concept node of this relationship edge.\n        attributes:\n          type: array\n          description: A list of additional attributes for this edge\n          items:\n            $ref: '#/components/schemas/Attribute'\n          nullable: true\n      additionalProperties: false\n      required:\n        - subject\n        - object\n    BiolinkEntity:\n      description: >-\n        Compact URI (CURIE) for a Biolink class, biolink:NamedThing\n        or a child thereof. The CURIE must use the prefix 'biolink:'\n        followed by the PascalCase class name.\n      type: string\n      pattern: ^biolink:[A-Z][a-zA-Z]*$\n      externalDocs:\n        description: Biolink model entities\n        url: https://biolink.github.io/biolink-model/docs/NamedThing.html\n      example: biolink:PhenotypicFeature\n    BiolinkPredicate:\n      description: >-\n        CURIE for a Biolink 'predicate' slot, taken from the Biolink slot\n        ('is_a') hierarchy rooted in biolink:related_to (snake_case). This\n        predicate defines the Biolink relationship between the subject and\n        object nodes of a biolink:Association defining a knowledge graph edge.\n      type: string\n      pattern: ^biolink:[a-z][a-z_]*$\n      externalDocs:\n        description: Biolink model predicates\n        url: https://biolink.github.io/biolink-model/docs/related_to.html\n      example: biolink:interacts_with\n    CURIE:\n      type: string\n      description: >-\n        A Compact URI, consisting of a prefix and a reference separated\n        by a colon, such as UniProtKB:P00738. Via an external context\n        definition, the CURIE prefix and colon may be replaced by a URI\n        prefix, such as http://identifiers.org/uniprot/, to form a full\n        URI.\n      externalDocs:\n        url: https://www.w3.org/TR/2010/NOTE-curie-20101216/\n    MetaKnowledgeGraph:\n      type: object\n      description: >-\n        Knowledge-map representation of this TRAPI web service. The meta\n        knowledge graph is composed of the union of most specific categories\n        and predicates for each node and edge.\n      properties:\n        nodes:\n          type: object\n          description: >-\n            Collection of the most specific node categories provided by\n            this TRAPI web service, indexed by Biolink class CURIEs.\n            A node category is only exposed here if there is\n            node for which that is the most specific category available.\n          additionalProperties:\n            $ref: '#/components/schemas/MetaNode'\n        edges:\n          type: array\n          description: >-\n            List of the most specific edges/predicates provided by this TRAPI\n            web service. A predicate is only exposed here if there is an edge\n            for which the predicate is the most specific available.\n          items:\n            $ref: '#/components/schemas/MetaEdge'\n      required:\n        - nodes\n        - edges\n    MetaNode:\n      type: object\n      description: >-\n        Description of a node category provided by this TRAPI web service.\n      properties:\n        id_prefixes:\n          type: array\n          description: >-\n            List of CURIE prefixes for the node category that this TRAPI web\n            service understands and accepts on the input.\n          items:\n            type: string\n          minItems: 1\n          example: [CHEMBL.COMPOUND, INCHIKEY]\n        attributes:\n          type: array\n          description: >-\n            Node attributes provided by this TRAPI web service.\n          items:\n            $ref: '#/components/schemas/MetaAttribute'\n          nullable: true\n      required:\n        - id_prefixes\n      additionalProperties: false\n    MetaEdge:\n      type: object\n      description: >-\n        Edge in a meta knowledge map describing relationship between a subject\n        Biolink class and an object Biolink class.\n      properties:\n        subject:\n          $ref: '#/components/schemas/BiolinkEntity'\n          description: >-\n            Subject node category of this relationship edge.\n          example: biolink:ChemicalSubstance\n        predicate:\n          $ref: '#/components/schemas/BiolinkPredicate'\n          description: >-\n            Biolink relationship between the subject and object categories.\n          example: biolink:affects\n        object:\n          $ref: '#/components/schemas/BiolinkEntity'\n          description: >-\n            Object node category of this relationship edge.\n          example: biolink:Protein\n        attributes:\n          type: array\n          description: >-\n            Edge attributes provided by this TRAPI web service.\n          items:\n            $ref: '#/components/schemas/MetaAttribute'\n          nullable: true\n      required:\n        - subject\n        - predicate\n        - object\n      additionalProperties: false\n    MetaAttribute:\n      type: object\n      properties:\n        attribute_type_id:\n          $ref: '#/components/schemas/CURIE'\n          description: >-\n            Type of an attribute provided by this TRAPI web service\n            (preferably the CURIE of a Biolink association slot)\n          example: biolink:p_value\n        attribute_source:\n          type: string\n          description: >-\n            Source of an attribute provided by this TRAPI web service.\n          example: infores:chembl\n          nullable: true\n        original_attribute_names:\n          type: array\n          items:\n            type: string\n          description: >-\n            Names of an the attribute as provided by the source.\n          nullable: true\n          minItems: 1\n        constraint_use:\n          type: boolean\n          description: >-\n            Indicates whether this attribute can be used as a query\n            constraint.\n          default: false\n        constraint_name:\n          type: string\n          description: >-\n            Human-readable name or label for the constraint concept.\n            Required whenever constraint_use is true.\n          example: p-value\n          nullable: true\n      required:\n        - attribute_type_id\n    QueryConstraint:\n      type: object\n      description: >-\n        Generic query constraint for a query node or query edge\n      properties:\n        id:\n          allOf:\n            - $ref: '#/components/schemas/CURIE'\n          description: >-\n            CURIE of the concept being constrained. For properties\n            defined by the Biolink model this SHOULD be a biolink CURIE.\n            otherwise, if possible, from the EDAM ontology. If a suitable\n            CURIE does not exist, enter a descriptive phrase here and\n            submit the new type for consideration by the appropriate\n            authority.\n          example: EDAM:data_0844\n        name:\n          type: string\n          description: >-\n            Human-readable name or label for the constraint concept.\n            If appropriate, it SHOULD be the term name of the CURIE used\n            as the 'id'. This is redundant but required for human\n            readability.\n          example: molecular mass\n        not:\n          type: boolean\n          default: false\n        operator:\n          type: string\n          description: >-\n            Relationship between the database value and the constraint value\n            for the specified id. The operators ==, >, and < mean\n            is exactly equal to, is greater than, and is less than,\n            respectively. The 'matches' operator indicates that the value\n            is a regular expression to be evaluated. If value is a list type,\n            then at least one evaluation must be true (equivalent to OR).\n            This means that the == operator with a list acts like a SQL 'IN'\n            clause. The 'not' property negates the operator such that not\n            and == means 'not equal to' (or 'not in' for a list), and not >\n            means <=, and not < means >=, and not matches means does not\n            match. The '==' operator SHOULD NOT be used in a manner that\n            describes an \"is a\" subclass relationship for the parent QNode.\n          enum:\n            - ==\n            - '>'\n            - <\n            - matches\n        value:\n          example: 57.0\n          description: >-\n            Value of the attribute. May be any data type, including a list.\n            If the value is a list and there are multiple items, at least one\n            comparison must be true (equivalent to OR). If 'value' is of data\n            type 'object', the keys of the object MAY be treated as a list.\n            A 'list' data type paired with the '>' or '<' operators will\n            encode extraneous comparisons, but this is permitted as it is in\n            SQL and other languages.\n        unit_id:\n          example: UO:0000222\n          description: >-\n            CURIE of the units of the value or list of values in the 'value'\n            property. The Units of Measurement Ontology (UO) should be used\n            if possible. The unit_id MUST be provided for (lists of)\n            numerical values that correspond to a quantity that has units.\n          nullable: true\n        unit_name:\n          example: kilodalton\n          description: >-\n            Term name that is associated with the CURIE of the units\n            of the value or list of values in the 'value'\n            property. The Units of Measurement Ontology (UO) SHOULD be used\n            if possible. This property SHOULD be provided if a unit_id is\n            provided. This is redundant but recommended for human readability.\n          nullable: true\n      required:\n        - name\n        - id\n        - operator\n        - value\n      additionalProperties: false\n"
  },
  {
    "path": "medikanren2/open-api/api-query.rkt",
    "content": "#lang racket\n(provide (all-defined-out))\n(require \"../common.rkt\" json net/url)\n\n(define (js-count js)\n  (cond ((pair? js) (foldl + 0 (map js-count js)))\n        ((hash? js) (foldl + 0 (hash-map js (lambda (k v) (js-count v)))))\n        (else       1)))\n\n;; BKB Pathway Provider (currently uses a non-standard query path)\n(define url.bkbp-query\n  \"http://chp.thayer.dartmouth.edu/submitQuery/\")\n\n;; Broad Institute KP\n(define url.broad\n  \"https://translator.broadinstitute.org/molepro/trapi/v1.1\")\n\n;; Broad Institute KP specific for CHEMBL queries\n(define url.broad_chembl\n  \"https://translator.broadinstitute.org/chembl\")\n\n(define chembl-drug-indications/transform\n  \"/indications/transform\")\n\n(define url.unsecret\n  \"https://unsecret.ncats.io\")\n(define path.predicates\n  \"/predicates\")\n(define path.query\n  \"/query\")\n\n\n(define (api-query url-string (optional-post-jsexpr (void)))\n  (printf \"##### making api-query call to url:\\n~s\\n\" url-string) \n  (define-values (status headers in)\n    (time (if (void? optional-post-jsexpr)\n              (http-sendrecv/url\n               (string->url url-string)\n               #:method \"GET\")\n              (http-sendrecv/url\n               (string->url url-string)\n               #:method \"POST\"\n               #:data (jsexpr->string optional-post-jsexpr)\n               #:headers '(\"Content-Type: application/json; charset=utf-8\")))))\n  (define response-string (time (port->string in)))\n  (printf \"status:\\n~s\\n\" status)\n  (define OK-status? (bytes=? #\"HTTP/1.1 200 OK\" status))\n  (if OK-status?\n      (hash 'status status\n            'headers headers\n            'response (string->jsexpr response-string))\n      (begin\n        (printf \"!!!!!! unexpected non-OK status returned from ~s:\\n\" url-string)\n        (pretty-print `(,status ,headers ,response-string))\n        (hash 'status status\n              'headers headers\n              'response (hash)))))\n(define (js-query edges nodes)\n  (hash 'message\n        (hash 'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n\n(define (js-query/bkbp edges nodes)\n  (hash 'query\n        (hash 'reasoner_id \"unsecret\"\n              'query_graph\n              (hash 'edges edges\n                    'nodes nodes))))\n(define (bkbp-query edges nodes)\n  (api-query url.bkbp-query (js-query/bkbp edges nodes)))\n\n(define (bkbp-g2d e s o)  (hash 'id e  'type \"gene_to_disease_association\"      'source_id s 'target_id o))\n(define (bkbp-d2p e s o)  (hash 'id e  'type \"disease_to_phenotype_association\" 'source_id s 'target_id o 'value 1000))\n(define (bkbp-g id curie) (hash 'id id 'type \"Gene\"              'curie curie))\n(define (bkbp-d id curie) (hash 'id id 'type \"disease\"           'curie curie))\n(define (bkbp-p id curie) (hash 'id id 'type \"PhenotypicFeature\" 'curie curie))\n\n;{'query':\n;  {'query_graph':\n;    {'edges':\n;      [{'id': 'e0', 'type': 'gene_to_disease_association', 'source_id': 'n0', 'target_id': 'n2'},\n;       {'id': 'e1', 'type': 'gene_to_disease_association', 'source_id': 'n1', 'target_id': 'n2'},\n;       {'id': 'e2', 'type': 'disease_to_phenotype_association', 'value': 1000, 'source_id': 'n2', 'target_id': 'n3'}],\n;     'nodes':\n;      [{'id': 'n0', 'type': 'Gene', 'curie':              'ENSEMBL:ENSG00000132155'},\n;       {'id': 'n1', 'type': 'Gene', 'curie':              'ENSEMBL:ENSG00000073803'},\n;       {'id': 'n2', 'type': 'disease', 'curie':           'MONDO:0007254'},\n;       {'id': 'n3', 'type': 'PhenotypicFeature', 'curie': 'EFO:0000714'}]},\n;  'reasoner_id': 'unsecret'}}\n(define bkbp-edges\n  (list (bkbp-g2d \"e0\" \"n0\" \"n2\")\n        (bkbp-g2d \"e1\" \"n1\" \"n2\")\n        (bkbp-d2p \"e2\" \"n2\" \"n3\")))\n(define bkbp-nodes\n  (list (bkbp-g \"n0\" \"ENSEMBL:ENSG00000132155\")\n        (bkbp-g \"n1\" \"ENSEMBL:ENSG00000073803\")\n        (bkbp-d \"n2\" \"MONDO:0007254\")\n        (bkbp-p \"n3\" \"EFO:0000714\")))\n;(define response (bkbp-query bkbp-edges bkbp-nodes))\n\n;\n;{\"query\":\n;  {\"query_graph\":\n;    {\"edges\":\n;      [{\"target_id\":\"d00\",\"type\":\"gene_to_disease_association\",\"source_id\":\"g00\",\"id\":\"e00\"}],\n;     \"nodes\":\n;      [{\"type\":\"Gene\",\"curie\":\"ENSEMBLE:ENSG00000132155\",\"id\":\"g00\"},\n;       {\"type\":\"disease\",\"curie\":\"MONDO:0007254\",\"id\":\"d00\"}]},\n;  \"reasoner_id\": \"unsecret\"}}\n\n;; (define RAF1 (hash 'id \"g00\" 'type \"Gene\" 'curie \"ENSEMBLE:ENSG00000132155\"))\n;; (define (g2d e s o) (hash 'id e 'type \"gene_to_disease_association\" 'source_id s 'target_id o))\n;; (define breast-cancer (hash 'id \"d00\" 'type \"disease\" 'curie \"MONDO:0007254\"))\n;; (define MAP3K13 (hash 'id \"g01\" 'type \"Gene\" 'curie \"ENSEMBL:ENSG00000073803\"))\n;; (displayln (jsexpr->string (apply js-query/bkbp (reverse (list (list RAF1 breast-cancer) (list (g2d \"e00\" \"g00\" \"d00\")))))))\n;; (bkbp-query (list (g2d \"e00\" \"g00\" \"d00\") (list RAF1 breast-cancer))\n\n;(define (bkb-pathwayo subject subject-type verb object object-type)\n  ;(project (subject subject-type verb object object-type)\n    ;(let ()\n      ;(when (or (var? verb) (var? subject-type) (var? object-type)\n                ;(and (var? subject) (var? object)))\n        ;(error \"verb, types, and subject or object curie must be ground\"))\n      ;(define edges (list (hash 'id        \"e00\"\n                                ;'source_id \"n00\"\n                                ;'target_id \"n01\"\n                                ;'type      verb)))\n      ;(define subject-node\n        ;(make-immutable-hash\n          ;(append (if (var? subject) '() `((curie . ,subject)))\n                  ;`((id . \"n00\") (type . ,subject-type)))))\n      ;(define object-node\n        ;(make-immutable-hash\n          ;(append (if (var? object) '() `((curie . ,object)))\n                  ;`((id . \"n01\") (type . ,object-type)))))\n      ;(define nodes (list subject-node object-node))\n      ;(define results\n        ;(hash-ref\n          ;(hash-ref\n            ;(hash-ref (api-query (string-append url.broad path.query)\n                                 ;(js-query edges nodes))\n                      ;'response)\n            ;'knowledge_graph)\n          ;'edges))\n      ;;(pretty-print results)\n      ;;(pretty-print edges)\n      ;;(pretty-print nodes)\n      ;(let loop ((results results))\n        ;(if (null? results) (== #t #f)\n          ;(let ((e (car results)))\n            ;;; NOTE: this conditional equality constraint is due to the fact\n            ;;; that molepro doesn't return the same curies you put in.\n            ;(conde ((if (var? subject) (== subject (hash-ref e 'source_id))\n                      ;(== #t #t))\n                    ;(if (var? object) (== object  (hash-ref e 'target_id))\n                      ;(== #t #t)))\n                   ;((loop (cdr results))))))))))\n\n;; (define (molepro-edgeo subject subject-type verb object object-type)\n;;   (project (subject subject-type verb object object-type)\n;;     (let ()\n;;       (when (or (var? verb) (var? subject-type) (var? object-type)\n;;                 (and (var? subject) (var? object)))\n;;         (error \"verb, types, and subject or object curie must be ground\"))\n;;       (define edges (list (hash 'id        \"e00\"\n;;                                 'source_id \"n00\"\n;;                                 'target_id \"n01\"\n;;                                 'type      verb)))\n;;       (define subject-node\n;;         (make-immutable-hash\n;;           (append (if (var? subject) '() `((curie . ,subject)))\n;;                   `((id . \"n00\") (type . ,subject-type)))))\n;;       (define object-node\n;;         (make-immutable-hash\n;;           (append (if (var? object) '() `((curie . ,object)))\n;;                   `((id . \"n01\") (type . ,object-type)))))\n;;       (define nodes (list subject-node object-node))\n;;       (define results\n;;         (hash-ref\n;;           (hash-ref\n;;             (hash-ref (api-query (string-append url.broad path.query)\n;;                                  (js-query edges nodes))\n;;                       'response)\n;;             'knowledge_graph)\n;;           'edges))\n;;       ;(pretty-print results)\n;;       ;(pretty-print edges)\n;;       ;(pretty-print nodes)\n;;       (let loop ((results results))\n;;         (if (null? results) (== #t #f)\n;;           (let ((e (car results)))\n;;             ;; NOTE: this conditional equality constraint is due to the fact\n;;             ;; that molepro doesn't return the same curies you put in.\n;;             (conde ((if (var? subject) (== subject (hash-ref e 'source_id))\n;;                       (== #t #t))\n;;                     (if (var? object) (== object  (hash-ref e 'target_id))\n;;                       (== #t #t)))\n;;                    ((loop (cdr results))))))))))\n\n;; (module+ main\n;;   (pretty-print (api-query (string-append url.broad path.predicates)))\n\n;;   (run* (g) (molepro-edgeo \"CID:2244\" \"chemical_substance\" \"affects\" g \"gene\"))\n;;   ;(run 1 (g) (molepro-edgeo \"CHEBI:15365\" \"chemical_substance\" \"affects\" g \"gene\"))\n;;   ;(run 1 (c) (molepro-edgeo c \"chemical_substance\" \"affects\" \"HGNC:7645\" \"gene\"))\n;;   (run* (c) (molepro-edgeo \"HGNC:7645\" \"gene\" \"affected_by\" c \"chemical_substance\"))\n\n;;   ;(pretty-print\n;;      ;(api-query (string-append url.broad path.query)\n;;               ;(js-query (list (hash 'id        \"e00\"\n;;                                     ;'source_id \"n00\"\n;;                                     ;'target_id \"n01\"\n;;                                     ;'type      \"affects\"))\n;;                         ;(list (hash 'curie \"CID:2244\"\n;;                                     ;'id    \"n00\"\n;;                                     ;'type  \"chemical_substance\"\n;;                                     ;)\n;;                               ;(hash 'id    \"n01\"\n;;                                     ;'type  \"gene\")))))\n;;   )\n\n;; (module+ old-main\n;;   ;; test predicates available on Broad Institute KG\n;;  #;(pretty-print\n;;    (api-query (string-append url.broad path.predicates)))\n\n;;   #;(pretty-print\n;;      (api-query (string-append url.broad path.query)\n;;               (js-query (list (hash 'id        \"e00\"\n;;                                     'source_id \"n00\"\n;;                                     'target_id \"n01\"\n;;                                     'type      \"affects\"))\n;;                         (list (hash 'curie \"CID:2244\"\n;;                                     'id    \"n00\"\n;;                                     'type  \"chemical_substance\")\n;;                               (hash 'id    \"n01\"\n;;                                     'type  \"gene\")))))\n\n;;   #;(js-count\n;;     (time (api-query (string-append url.unsecret path.predicates))))\n\n;;   #;(pretty-print\n;;     (time\n;;       (api-query (string-append url.unsecret path.query)\n;;                 (js-query (list (hash 'id        \"e00\"\n;;                                        'source_id \"n00\"\n;;                                        'target_id \"n01\"\n;;                                        'type      \"causes\"))\n;;                            (list (hash 'curie \"UMLS:C0004096\"\n;;                                        'id    \"n01\"\n;;                                        'type  \"disease\")\n;;                                  (hash 'id    \"n00\"\n;;                                        'type  \"gene\"))))))\n\n;;   #;(pretty-print\n;;     (time\n;;        (api-query (string-append url.broad path.query)\n;;                   (js-query (list (hash 'id        \"e00\"\n;;                                         'source_id \"n00\"\n;;                                         'target_id \"n01\"\n;;                                         'type      \"causes\"))\n;;                             (list (hash 'curie \"UMLS:C0004096\"\n;;                                         'id    \"n01\"\n;;                                         'type  \"disease\")\n;;                                   (hash 'id    \"n00\"\n;;                                         'type  \"gene\"))))))\n\n;;   #;(pretty-print\n;;     (time (api-query (string-append url.unsecret path.query)\n;;                      (js-query (list (hash 'id        \"e00\"\n;;                                            'source_id \"n00\"\n;;                                            'target_id \"n01\"\n;;                                            'type      \"affects\"))\n;;                                (list (hash 'curie \"CID:2244\"\n;;                                            'id    \"n00\"\n;;                                            'type  \"chemical_substance\")\n;;                                      (hash 'id    \"n01\"\n;;                                            'type  \"gene\"))))))\n\n\n\n;; #|NOTES FOR SEPTEMBER 2020 RELAY API CALLS|#\n\n;; #|\n\n;; 1. all \"NO-evidence/provenance\" queries are to the base broad.url\n;; \"https://translator.broadinstitute.org/molepro_reasoner\n\n;; 2. all \"LIMITED evidence/provenance\" queries are to the chembl url\n;; \"https://translator.broadinstitute.org/chembl\"\n\n;; |#\n\n;; ;;MOLEPRO drug --treats--> disease query w/ NO EVIDENCE\n;; (pretty-print\n;;  (time (api-query (string-append url.broad path.query)\n;;                   (js-query (list (hash 'id        \"e00\"\n;;                                         'source_id \"n00\"\n;;                                         'target_id \"n01\"\n;;                                         'type      \"treats\"))\n;;                             (list (hash 'curie \"ChEMBL:CHEMBL25\"\n;;                                         'id    \"n00\"\n;;                                         'type  \"chemical_substance\")\n;;                                   (hash 'id    \"n01\"\n;;                                         'type  \"disease\"))))))\n\n;; ;; new query structure for chembl specific provenance/evidence queries\n;; (define (js-query/transform curie)\n;;   (hash 'collection\n;;         (list\n;;          (hash\n;;           'id \"\"\n;;           'identifiers\n;;           (hash\n;;            'chembl curie)))\n;;         'controls '()))\n\n;; #|\n;; ;; {} = hash                            ;\n;; ;; [] = list                            ;\n;; ;; key:value                            ;\n;;                                         ;\n;; QUERY/TRANSFORM QUERY STRUCTURE         ;\n;; ------------------------------\n\n;; query = {\n;;     'collection': [{\n;;             'id':'',\n;;             'identifiers': {'chembl':'ChEMBL:CHEMBL25'}\n;;         }],\n;;     'controls':[]\n;; }\n;; |#\n\n;; ;; addition provenance/evidence for drug indication query\n;; (pretty-print\n;;  (time\n;;   (api-query\n;;    (string-append (string-append url.broad_chembl chembl-drug-indications/transform))\n;;    (js-query/transform\n;;     \"ChEMBL:CHEMBL25\"))))\n\n\n;; ;; STRING gene->gene edge\n;; (pretty-print\n;;  (time (api-query (string-append url.broad path.query)\n;;                   (js-query (list (hash 'id        \"e00\"\n;;                                         'source_id \"n00\"\n;;                                         'target_id \"n01\"\n;;                                         'type      \"related_to\"))\n;;                             (list (hash 'curie \"HGNC:4556\"\n;;                                         'id    \"n00\"\n;;                                         'type  \"gene\")\n;;                                   (hash 'id    \"n01\"\n;;                                         'type  \"gene\"))))))\n\n;; ;; CMAP gene-to-compound query\n;; (pretty-print\n;;  (time (api-query (string-append url.broad path.query)\n;;                   (js-query (list (hash 'id        \"e00\"\n;;                                         'source_id \"n00\"\n;;                                         'target_id \"n01\"\n;;                                         'type      \"correlated_with\"))\n;;                             (list (hash 'curie \"HGNC:4556\"\n;;                                         'id    \"n00\"\n;;                                         'type  \"gene\")\n;;                                   (hash 'id    \"n01\"\n;;                                         'type  \"chemical_substance\"))))))\n\n;; ;; CMAP gene-to-gene query\n;; (pretty-print\n;;  (time (api-query (string-append url.broad path.query)\n;;                   (js-query (list (hash 'id        \"e00\"\n;;                                         'source_id \"n00\"\n;;                                         'target_id \"n01\"\n;;                                         'type      \"correlated_with\"))\n;;                             (list (hash 'curie \"HGNC:4556\"\n;;                                         'id    \"n00\"\n;;                                         'type  \"gene\")\n;;                                   (hash 'id    \"n01\"\n;;                                         'type  \"gene\"))))))\n\n;; ;; CMAP gene-to-gene query\n;; (pretty-print\n;;  (time (api-query (string-append url.broad path.query)\n;;                   (js-query (list (hash 'id        \"e00\"\n;;                                         'source_id \"n00\"\n;;                                         'target_id \"n01\"\n;;                                         'type      \"correlated_with\"))\n;;                             (list (hash 'curie \"HGNC:4556\"\n;;                                         'id    \"n00\"\n;;                                         'type  \"gene\")\n;;                                   (hash 'id    \"n01\"\n;;                                         'type  \"gene\"))))))\n\n;; )\n"
  },
  {
    "path": "medikanren2/open-api/yaml-to-json.sh",
    "content": "#!/bin/bash\nset -eufo pipefail\n\nhere=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\npython3 \"$here/yaml2json.py\" < \"$here/TranslatorReasonersAPI.yaml\" > \"$here/TranslatorReasonersAPI.json\"\n"
  },
  {
    "path": "medikanren2/open-api/yaml2json.py",
    "content": "import sys, json, yaml\n\ndata = yaml.load(sys.stdin, Loader=yaml.SafeLoader)\nprint(json.dumps(data, indent=4))\n"
  },
  {
    "path": "medikanren2/readme.md",
    "content": "# mediKanren 2\n\n## Prerequisites\n\n## Loading databases\n\n## Running queries\n\n## Lightweight reasoning\n\nRelations for lightweight reasoning are defined in `lw-reasoning.rkt`, and are currently under development and subject to change.\n\nHere is an example of getting synonyms and subclasses:\n\n```\n(require \"lw-reasoning.rkt\")\n\n(define meformin \"CHEBI:6801\")\n\n;; get diseases/phenotypes treated by meformin and its synonyms\n(define treated-diseases\n  (run* disease-or-phen\n    (fresh (drug)\n      (kgx-synonym drug meformin)\n      (triple drug \"biolink:treats\" disease-or-phen)\n      (conde ((is-a disease-or-phen \"biolink:PhenotypicFeature\")) ; *\n             ((is-a disease-or-phen \"biolink:Disease\"))))))\n\n(get-names-ls treated-diseases)\n\n;; get subclasses\n(get-names-ls\n (apply append\n        (map (lambda (disease)\n               (run* d (subclass-of+ d disease)))\n             treated-diseases)))\n\n```\n\n## TRAPI service\n\nRunning the [TRAPI](https://github.com/NCATSTranslator/ReasonerAPI)  service:\n\n```\nracket server.rkt\n```\n\nexposes the following endpoints on port `8384`:\n\n**/pmi/v1/query**, duplicated on **/query**\n\nMain TRAPI endpoint, accepts [TRAPI 1.1](https://github.com/NCATSTranslator/ReasonerAPI) requests. Requests are run one at a time, on a first-received basis, and are limited to 10 minutes query time.\n\n**/**\n\nSimple Web UI for testing queries.\n\n**/health**\n\nSimple health check: runs a trivial query and reports on query time. If other queries are running and/or queued to be run, this query will return only after the others have terminated or timed out.\n\n"
  },
  {
    "path": "medikanren2/server.rkt",
    "content": "#lang racket/base\n(require\n \"common.rkt\"   \n  \"trapi.rkt\"\n  \"logging2.rkt\"\n  \"lw-reasoning.rkt\"\n  \"open-api/api-query.rkt\"\n  \"ingest-pipeline-status.rkt\"\n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/port\n  racket/pretty\n  racket/format\n  racket/date\n  racket/runtime-path\n  racket/string\n  json\n  web-server/servlet\n  web-server/servlet-env\n  web-server/managers/none\n  web-server/private/gzip\n  xml\n  web-server/safety-limits\n  racket/sandbox\n  )\n\n(define query-time-limit (make-parameter 600))\n\n(define (alist-ref alist key default)\n  (define kv (assoc key alist))\n  (if kv (cdr kv) default))\n\n(print-as-expression #f)\n(pretty-print-abbreviate-read-macros #f)\n(define argv (current-command-line-arguments))\n(define argv-optional '#(CONFIG_FILE))\n(when (not (<= (vector-length argv) (vector-length argv-optional)))\n  (error (format \"optional arguments ~s; given ~s\" argv-optional argv)))\n;; Loading will occur at first use if not explicitly forced like this.\n(load-config #t)\n;; (load-databases #t)\n\n(define-runtime-path path:root \".\")\n(define (path/root relative-path) (build-path path:root relative-path))\n\n(define schema.json.txt\n  (file->string (path/root \"open-api/TranslatorReasonersAPI.json\")))\n(define schema.yaml.txt\n  (file->string (path/root \"open-api/TranslatorReasonersAPI.yaml\")))\n(define schema.json\n  (call-with-input-file (path/root \"open-api/TranslatorReasonersAPI.json\")\n                        read-json))\n\n;; (pretty-print (list 'openapi:      (hash-ref schema.json 'openapi)))\n;; (pretty-print (list 'info:         (hash-ref schema.json 'info)))\n;; (pretty-print (list 'externalDocs: (hash-ref schema.json 'externalDocs)))\n;; (pretty-print (list 'tags:         (hash-ref schema.json 'tags)))\n;; (pretty-print (list 'paths:        (hash-keys (hash-ref schema.json 'paths))))\n;; (pretty-print (list 'components:   (hash-keys (hash-ref schema.json 'components))))\n\n(define (xexpr->html-string xe)\n  (string-append \"<!doctype html>\" (xexpr->string xe)))\n(define mime:text (string->bytes/utf-8 \"text/plain;charset=utf-8\"))\n(define mime:html (string->bytes/utf-8 \"text/html; charset=utf-8\"))\n(define mime:js   (string->bytes/utf-8 \"text/javascript;charset=utf-8\"))\n(define mime:json (string->bytes/utf-8 \"application/json; charset=utf-8\"))\n\n(define index.js \"\nwindow.addEventListener('load', function(){\nvar find_concepts_form           = document.getElementById('find-concepts-form');\nvar find_concepts_text           = document.getElementById('find-concepts-text');\nvar find_concepts_submit         = document.getElementById('find-concepts-submit');\nvar find_concepts_result         = document.getElementById('find-concepts-result');\nvar find_concepts_result_clear   = document.getElementById('find-concepts-result-clear');\nvar find_categories_form         = document.getElementById('find-categories-form');\nvar find_categories_text         = document.getElementById('find-categories-text');\nvar find_categories_submit       = document.getElementById('find-categories-submit');\nvar find_categories_result       = document.getElementById('find-categories-result');\nvar find_categories_result_clear = document.getElementById('find-categories-result-clear');\nvar find_predicates_form         = document.getElementById('find-predicates-form');\nvar find_predicates_text         = document.getElementById('find-predicates-text');\nvar find_predicates_submit       = document.getElementById('find-predicates-submit');\nvar find_predicates_result       = document.getElementById('find-predicates-result');\nvar find_predicates_result_clear = document.getElementById('find-predicates-result-clear');\nvar query_result       = document.getElementById('query-result');\nvar query_form         = document.getElementById('query-form');\nvar query_text         = document.getElementById('query-text');\nvar query_submit       = document.getElementById('query-submit');\nfunction pretty_json(json_text) {\n  try { return JSON.stringify(JSON.parse(json_text), null, 2); }\n  catch (_) { return json_text; }\n}\nfunction show(element, result) { element.textContent = pretty_json(result); }\n\nfunction find_concepts_show(result)     { show(find_concepts_result,   result); }\nfunction find_categories_show(result)   { show(find_categories_result, result); }\nfunction find_predicates_show(result)   { show(find_predicates_result, result); }\nfunction find_concepts_clear_result()   { find_concepts_result.textContent = ''; }\nfunction find_categories_clear_result() { find_categories_result.textContent = ''; }\nfunction find_predicates_clear_result() { find_predicates_result.textContent = ''; }\nfunction find_concepts(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ find_concepts_show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ find_concepts_show('POST error'); });\n  xhr.open('POST', '/find-concepts');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfunction find_categories(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ find_categories_show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ find_categories_show('POST error'); });\n  xhr.open('POST', '/find-categories');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfunction find_predicates(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ find_predicates_show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ find_predicates_show('POST error'); });\n  xhr.open('POST', '/find-predicates');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfind_concepts_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  find_concepts('\\\"'+find_concepts_text.value+'\\\"');\n}, false);\nfind_categories_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  find_categories('\\\"'+find_categories_text.value+'\\\"');\n}, false);\nfind_predicates_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  find_predicates('\\\"'+find_predicates_text.value+'\\\"');\n}, false);\nfind_concepts_result_clear.addEventListener('click', function(){\n  find_concepts_clear_result();\n}, false);\nfind_categories_result_clear.addEventListener('click', function(){\n  find_categories_clear_result();\n}, false);\nfind_predicates_result_clear.addEventListener('click', function(){\n  find_predicates_clear_result();\n}, false);\n\nfunction query(data) {\n  var xhr = new XMLHttpRequest();\n  xhr.addEventListener('load',  function(event){ query_show(xhr.responseText); });\n  xhr.addEventListener('error', function(event){ query_show('POST error'); });\n  xhr.open('POST', '/pmi/v2/query');\n  xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');\n  xhr.send(data);\n}\nfunction query_show(result)   { show(query_result, result); }\nfunction query_clear_result() { query_result.textContent = ''; }\nquery_text.textContent = pretty_json(query_text.textContent);\nquery_form.addEventListener('submit', function(event){\n  event.preventDefault();\n  query_result.textContent = 'Querying...';\n  query(query_text.value);\n}, false);\nquery_result_clear.addEventListener('click', function(){\n  query_clear_result();\n}, false);\n\n});\")\n(define (not-found.html uri)\n  `(html (head (title \"mediKanren: 404\"))\n         (body (h1 \"What are you looking for?\")\n               (p \"There was nothing found at\")\n               (pre ,uri))))\n(define index.html\n  `(html (head (title \"mediKanren Reasoner API\")\n               (script ((src \"/index.js\"))))\n         (body (h1 \"mediKanren Reasoner API\")\n               (p (a ((href \"https://github.com/NCATS-Tangerine/NCATS-ReasonerStdAPI\"))\n                     \"NCATS Biomedical Translator Reasoners Standard API\"))\n               (ul (li (a ((href \"/schema.yaml\")) \"schema.yaml\"))\n                   (li (a ((href \"/schema.json\")) \"schema.json\")))\n               (div ((style \"display:none\"))\n                    (form ((method \"post\") (id \"find-concepts-form\"))\n                          (div (input ((type \"text\")\n                                       (id \"find-concepts-text\")\n                                       (value \"UMLS:C0935989\"))))\n                          (div (button ((type \"submit\") (id \"find-concepts-submit\"))\n                                       \"Find concepts\")))\n                    (div (button ((id \"find-concepts-result-clear\")) \"Clear\"))\n                    (div (pre ((id \"find-concepts-result\")) \"Concepts will appear here.\"))\n                    (form ((method \"post\") (id \"find-categories-form\"))\n                          (div (input ((type \"text\")\n                                       (id \"find-categories-text\")\n                                       (value \"gene\"))))\n                          (div (button ((type \"submit\") (id \"find-categories-submit\"))\n                                       \"Find categories\")))\n                    (div (button ((id \"find-categories-result-clear\")) \"Clear\"))\n                    (div (pre ((id \"find-categories-result\")) \"Categories will appear here.\"))\n                    (form ((method \"post\") (id \"find-predicates-form\"))\n                          (div (input ((type \"text\")\n                                       (id \"find-predicates-text\")\n                                       (value \"negatively_regulates\"))))\n                          (div (button ((type \"submit\") (id \"find-predicates-submit\"))\n                                       \"Find predicates\")))\n                    (div (button ((id \"find-predicates-result-clear\")) \"Clear\"))\n                    (div (pre ((id \"find-predicates-result\")) \"Predicates will appear here.\"))\n                    (p (a ((href \"/predicates\")) \"GET /predicates\")))\n               (form ((method \"post\") (action \"/pmi/v2/query\") (id \"query-form\"))\n                     (div (textarea\n                            ((id \"query-text\")(rows \"40\") (cols \"60\"))\n                            #<<EOS\n{\n   \"message\":{\n      \"query_graph\":{\n         \"nodes\":{\n            \"n0\":{\n               \"ids\":[\"UMLS:C0221347\"],\n               \"categories\":[\"biolink:PhenotypicFeature\"]\n            },\n            \"n1\":{\n               \"categories\":[\"biolink:NamedThing\"]\n            }\n         },\n         \"edges\":{\n            \"e01\":{\n               \"subject\":\"n0\",\n               \"object\":\"n1\"\n            }\n         }\n      }\n   }\n}\nEOS\n         ))\n                     (div (button ((type \"submit\") (id \"query-submit\"))\n                                  \"POST /pmi/v2/query\")))\n               (div (pre ((id \"query-result\")) \"Result will appear here.\")))))\n\n(define hash-empty (hash))\n(define (str   v) (if (string? v) v (error (format \"invalid string:\" v))))\n(define (olift v) (if (hash?   v) v (error (format \"invalid object:\" v))))\n(define (slift v) (cond ((pair?   v) v)\n                        ((string? v) (list v))\n                        ((null?   v) '())\n                        (else        (error (format \"invalid string or list of strings:\" v)))))\n\n(define (alist->attributes alist)\n  ;; TODO: provide standard types for\n  ;; * negated, publications, provided_by\n  ;; * ngd_score, association_type, id\n  ;; * update_date, publications_info\n  ;; * is_defined_by, pmids, n_pmids, SEMMED_PRED\n  (map (lambda (kv) (hash 'name  (car kv)\n                          'type  \"miscellaneous\"\n                          'value (cdr kv)))\n       alist))\n\n;; (define (concept->result c)\n;;   (define attrs\n;;     (alist->attributes\n;;       (cons (cons \"mediKanren-source\" (symbol->string (concept->dbname c)))\n;;             (concept->props c))))\n;;   (cons (string->symbol (concept->curie c))\n;;         (hash 'name       (concept->name c)\n;;               'category   (cdr (concept->category c))\n;;               'attributes attrs)))\n;; (define (edge->result e)\n;;   (define id (string-append (symbol->string (edge->dbname e)) \".\"\n;;                             (number->string (edge->eid e))))\n;;   (define props (make-immutable-hash (edge->props e)))\n;;   (define relation (hash-ref props \"relation\" #f))\n;;   (define attrs\n;;     (alist->attributes\n;;       (hash->list\n;;         (foldl (lambda (k ps) (hash-remove ps k)) props\n;;                '(\"relation\" \"subject\" \"object\"\n;;                  \"simplified_relation\" \"simplified_edge_label\")))))\n;;   (define obj\n;;     (hash 'predicate  (cdr (edge->pred e))\n;;           'subject    (concept->curie (edge->subject e))\n;;           'object     (concept->curie (edge->object e))\n;;           'attributes attrs))\n;;   (cons (string->symbol id) (if relation\n;;                               (hash-set obj 'relation relation)\n;;                               obj)))\n\n\n(define (message->response msg)\n  (define broad-response (if (or\n                                (hash-ref msg 'disable_external_requests #f)\n                                (not (cfg:config-ref 'trapi-enable-external-requests?)))\n                             (hash 'response hash-empty 'status #\"disabled\" 'headers '())\n                             (time (api-query (string-append url.broad path.query)\n                                              (hash 'message msg)))))\n  (define broad-results (hash-ref broad-response 'response))\n  (define broad-results-count (length (hash-ref (hash-ref broad-results 'message hash-empty) 'results '())))\n  (define broad-error-message (hash-ref broad-results 'detail #f)) ; not sure if this is stable - it isn't TRAPI\n  (lognew-info\n    (hasheq\n      'event \"broad-response\"\n      'status (bytes->string/utf-8 (hash-ref broad-response 'status))\n      'headers (map bytes->string/utf-8 (hash-ref broad-response 'headers))\n      'result-size broad-results-count))\n\n  ;; (log-info log-key (format \"Broad results: ~s\" broad-results))\n  \n  ;; (with-handlers ((exn:fail? (lambda (exn) \n  ;;                              (hash 'error (exn-message exn)))))\n  (lognew-info\n      (hasheq 'event \"query_received\"\n              'msg msg))\n\n  (with-handlers ((exn:fail:resource?\n                   (lambda (exn) \n                     (lognew-error (format \"Error: ~a\" exn))\n                     (error \"Max query time exceded\"))))\n    (call-with-limits (query-time-limit) #f\n      (lambda ()\n        (let-values (((result cpu real gc) (time-apply (lambda () (trapi-response msg)) '())))\n          (let* ((local-results (car result))\n                 (length-local (length (hash-ref  local-results 'results '()))))\n            (lognew-info\n              (hasheq\n                'event \"query_finished\"\n                'cpu-time cpu\n                'real-time real\n                'num-results length-local))\n            (values (hash-set*\n                     (merge-results\n                      (list (hash-ref (olift broad-results) 'message hash-empty)\n                            local-results)))\n                    (list (hash 'level \"INFO\"\n                                'message (format \"Query time: ~ams\" cpu))\n                          (if broad-error-message\n                              (hash 'level \"WARNING\"\n                                    'message (format \"MolePro error: ~s\" broad-error-message))\n                              (hash 'level \"INFO\"\n                                    'message (format \"MolePro results: ~a\" broad-results-count)))\n                          (hash 'level \"INFO\"\n                                'message (format \"MolePro response status: ~s\" (hash-ref broad-response 'status)))\n                          ))))))))\n    \n(define (merge-results rs)\n  (let loop ((rs rs) (results '()) (nodes '()) (edges '()))\n    (cond ((null? rs) (hash 'results         results\n                            'knowledge_graph (hash 'nodes (make-immutable-hash nodes)\n                                                   'edges (make-immutable-hash edges))))\n          (else (define r (car rs))\n                (define kg (hash-ref r 'knowledge_graph hash-empty))\n                (loop (cdr rs)\n                      (append (hash-ref r 'results '()) results)\n                      (append (hash->list (hash-ref kg 'nodes hash-empty))\n                              nodes)\n                      (append (hash->list (hash-ref kg 'edges hash-empty))\n                              edges))))))\n\n;; (define (predicates)\n;;   ;; TODO: at greater expense, we could restrict each list of predicates\n;;   ;; to those reflected by existing edges for the corresponding categories.\n;;   (define cs (run* (c) (categoryo c)))\n;;   (define ps (run* (p) (predicateo p)))\n;;   (define dbs (map car cs))\n;;   (make-immutable-hash\n;;     (append*\n;;       (map (lambda (db)\n;;              (define dcs\n;;                (filter-not\n;;                  not (map (lambda (c) (and (eq? (car c) db) (cddr c)))\n;;                           cs)))\n;;              (define dps\n;;                (filter-not\n;;                  not (map (lambda (p) (and (eq? (car p) db) (cddr p)))\n;;                           ps)))\n;;              (define dcps\n;;                (make-immutable-hash\n;;                  (map (lambda (c) (cons (string->symbol c) dps)) dcs)))\n;;              (map (lambda (c) (cons (string->symbol c) dcps)) dcs))\n;;            dbs))))\n\n;; (define predicates-cached (string->bytes/utf-8 (jsexpr->string (predicates))))\n;; (define predicates-cached-gzip (gzip/bytes predicates-cached))\n\n(define (query-impl jsdata)\n  (cond ((or (eof-object? jsdata) (not (hash? jsdata))) 'null)\n        (else (let* ((data (olift jsdata))\n                     (request-msg (olift (hash-ref data 'message hash-empty))))\n                (let-values (((message logs) (message->response request-msg)))\n                  (let ((length-local (length (hash-ref message 'results))))\n                    (hash 'message message\n                          'query_graph (hash-ref request-msg 'query_graph '#hash())\n                          'status \"Success\"\n                          'description (format \"Success. ~s result~a.\" length-local (if (= length-local 1) \"\" \"s\"))\n                          'logs logs)))))))\n(define ((query requestid0) jsdata)\n  (parameterize ((requestid requestid0))\n    (query-impl jsdata)))\n\n;; Load balancer health checks can be very numerous and drown out useful logs\n(define (squelch-noisy-request-log? req)\n  (define path (url->string (request-uri req)))\n  (cond\n    ((equal? path \"/health\") #t)\n    (else #f)))\n\n; Loosely adapted from:\n;   https://stackoverflow.com/questions/53911162/how-to-show-http-status-code-in-web-server-logs\n(define (headers->hasheq hs)\n  (for/hasheq ([h (in-list hs)])\n    (values (string->symbol (~a (header-field h)))\n            (~a (header-value h)))))\n(define (dict-request-fields req)\n    (hasheq 'method  (~a (request-method req))\n            'ip      (request-client-ip req)\n            'path    (url->string (request-uri req))\n            'headers (headers->hasheq (request-headers/raw req))))\n(define (logwrap-lazy-impl handler req t0 requestid0)\n  (define resp\n    (parameterize ((requestid requestid0))\n      (handler req)))\n  (unless (squelch-noisy-request-log? req)\n    (lognew-info\n        (hasheq 'request  (dict-request-fields req))))\n\n  (struct-copy response resp (output\n    (lambda (fd)\n      (define tmp\n        (parameterize ((requestid requestid0))\n          ((response-output resp) fd)))\n      (define t1 (current-milliseconds))\n      (define dur (- t1 t0))\n\n      ;; Let's use \"structured logging\" here to make it easier to search,\n      ;; and do things like create CloudWatch metrics from CloudWatch Logs\n      ;; filters (they have a syntax to extract things from JSON.)\n      (unless (squelch-noisy-request-log? req)\n        (lognew-info\n            (hasheq 'request  (dict-request-fields req)\n                    'response (hasheq 'code     (response-code resp)\n                                      'headers  (headers->hasheq (response-headers resp))\n                                      'duration dur))))\n      tmp))))\n\n(define ((logwrap-lazy handler) req)\n  (define t0 (current-milliseconds))\n  (define requestid0 (+ (* t0 1000) (random 1000)))\n  (logwrap-lazy-impl handler req t0 requestid0))\n\n\n(define (accepts-gzip? req)\n  (member \"gzip\" (map string-trim\n                      (string-split (alist-ref (request-headers req)\n                                               'accept-encoding \"\") \",\"))))\n(define (respond code message headers mime-type body)\n  (response/full code (string->bytes/utf-8 message)\n                 (current-seconds) mime-type headers\n                 (list body)))\n(define (OK req extra-headers mime-type body (body-gzipped? #f))\n  (define gzip? (accepts-gzip? req))\n  (define headers (if gzip? (cons (make-header #\"Content-Encoding\" #\"gzip\")\n                                  extra-headers)\n                    extra-headers))\n  (define bytes.body (if (string? body) (string->bytes/utf-8 body) body))\n  (define payload (if (and gzip? (not body-gzipped?)) (gzip/bytes bytes.body)\n                    bytes.body))\n  (respond 200 \"OK\" headers mime-type payload))\n(define (not-found req)\n  (respond 404 \"Not Found\" '() mime:html\n           (string->bytes/utf-8\n             (xexpr->html-string\n               (not-found.html (url->string (request-uri req)))))))\n(define (OK/jsexpr f req)\n  (define input (bytes->jsexpr (request-post-data/raw req)))\n  (define result (job (thunk (f input))))\n  (if (job-failure? result)\n    (respond 400 \"Bad Request\" '() mime:text\n             (string->bytes/utf-8 (job-failure-message result)))\n    (OK req '() mime:json (jsexpr->string result))))\n\n(define (/index req)\n  (OK req '() mime:html (xexpr->html-string index.html)))\n\n(define (/schema.json  req) (OK req '() mime:text schema.json.txt))\n(define (/schema.yaml  req) (OK req '() mime:text schema.yaml.txt))\n;; (define (/predicates   req) (if (accepts-gzip? req)\n;;                               (OK req '() mime:json predicates-cached-gzip #t)\n;;                               (OK req '() mime:json predicates-cached #f)))\n\n;; (define (/query        req) (OK/jsexpr query req))\n\n(define (group-by-db xs)\n  (foldl (lambda (x db=>id)\n           (hash-update db=>id (car x) (lambda (xs) (cons (cdr x) xs)) '()))\n         (hash) xs))\n\n(define (pretty-synonyms ss)\n  (if (and (pair? ss) (not (cdar ss))) '()\n    (make-immutable-hash\n      (map (lambda (kv) (cons (string->symbol (car kv)) (cdr kv))) ss))))\n\n;; (define (find-concepts/any str)\n;;   (hash 'synonyms (pretty-synonyms (curie-synonyms/names str))\n;;         'concepts\n;;         (make-immutable-hash\n;;           (hash-map\n;;             (group-by-db\n;;               (map (lambda (c)\n;;                      (define r (concept->result c))\n;;                      (define attrs (hash-ref (cdr r) 'attributes))\n;;                      (define dbnames\n;;                        (map (lambda (attr) (hash-ref attr 'value))\n;;                             (filter (lambda (attr) (equal? (hash-ref attr 'name)\n;;                                                            \"mediKanren-source\"))\n;;                                     attrs)))\n;;                      (define dbname (if (null? dbnames) 'unknown\n;;                                       (string->symbol (car dbnames))))\n;;                      (cons dbname r))\n;;                    (append (find-concepts #t (list str))\n;;                            (find-concepts #f (list str)))))\n;;             (lambda (db cs) (cons db (make-immutable-hash cs)))))))\n\n;; (define ((find/db-id find) data)\n;;   (group-by-db (map (lambda (x) (cons (car x) (cddr x))) (find (list data)))))\n(define (/health req)\n  (OK req '() mime:json (jsexpr->string '#hasheq()))\n  #;(let-values (((result cpu real gc) (time-apply (lambda () (run 1 () (triple \"NCIT:C18585\" \"biolink:actively_involved_in\" \"NCIT:C45399\"))) '())))\n    (let ((response\n           (if (null? result)\n               (hash 'status \"corrupt\"\n                     'reason \"no data\"\n                     'real_time real\n                     'cpu_time cpu)\n               (hash 'status \"online\"\n                     'real_time real\n                     'cpu_time cpu))))\n   (OK req '() mime:json (jsexpr->string response)))))\n\n(define (/index.js req)  (OK req '() mime:js index.js))\n;; (define (/health req)    (OK health                        req))\n(define (/query req)\n  (OK/jsexpr (query (requestid))                        req))\n;; (define (/v2/find-concepts   req) (OK/jsexpr find-concepts/any            req))\n;; (define (/v2/find-categories req) (OK/jsexpr (find/db-id find-categories) req))\n;; (define (/v2/find-predicates req) (OK/jsexpr (find/db-id find-predicates) req))\n\n\n(struct job-failure (message))\n\n(define (work-safely work)\n  (define custodian.work (make-custodian))\n  (define result\n    ;; current-custodian will collect all file handles opened during work\n    (parameterize ((current-custodian custodian.work))\n      (with-handlers ((exn:fail?\n                        (lambda (v)\n                          ((error-display-handler) (exn-message v) v)\n                          (job-failure (exn-message v))))\n                      ((lambda _ #t)\n                       (lambda (v)\n                         (define message\n                           (string-append \"unknown error: \"\n                                          (with-output-to-string (thunk (write v)))))\n                         (pretty-write message)\n                         (job-failure message))))\n        (work))))\n  (custodian-shutdown-all custodian.work) ; close all file handles opened during work\n  result)\n\n;; Run multiple jobs concurrently\n;(define (job work) (work-safely work))\n\n;; Run multiple jobs sequentially\n(define (job work)\n  (define job-response (make-channel))\n  (channel-put job-request (cons job-response work))\n  (channel-get job-response))\n\n(define job-request (make-channel))\n\n(define worker\n  (thread\n    (thunk (let loop ()\n             (match-define (cons job-response work) (channel-get job-request))\n             (channel-put job-response (work-safely work))\n             (loop)))))\n\n(define (start)\n  (define-values (dispatch _)\n    (dispatch-rules\n     ((\"\")                     #:method \"get\"  /index)\n     ((\"index.js\")             #:method \"get\"  /index.js)\n     ((\"schema.json\")          #:method \"get\"  /schema.json)\n     ((\"schema.yaml\")          #:method \"get\"  /schema.yaml)\n     ;; ((\"predicates\")           #:method \"get\"  /predicates)\n\n     ;; Legacy endpoint - unversioned - TRAPI 1.0 - TODO: Delete\n     ((\"query\")                #:method \"post\" /query)\n\n     ;; Current (versioned) endpoint for NCATS - TRAPI 1.1\n     ((\"v2\" \"query\")     #:method \"post\" /query)\n\n     ;; Endpoint for Andy's webapp\n     ((\"pmi\" \"v2\" \"query\")     #:method \"post\" /query)\n     ;; TODO: restore text search\n     ;; ((\"pmi\" \"v2\" \"query\" \"find-concepts\")   #:method \"post\" /v2/find-concepts)\n     ;; ((\"pmi\" \"v2\" \"query\" \"find-categories\") #:method \"post\" /v2/find-categories)\n     ;; ((\"pmi\" \"v2\" \"query\" \"find-predicates\") #:method \"post\" /v2/find-predicates)\n\n     ((\"pmi\" \"v2\" \"ingest-pipeline\" \"status\") #:method \"get\" /ingest-pipeline-status)\n\n     ((\"health\")               #:method \"get\" /health)\n\n     (else                                     not-found)))\n\n\n  (serve/servlet (logwrap-lazy dispatch)\n                 ;; none-manager for better performance:\n                 ;; only possible because we're not using web continuations.\n                 #:manager (create-none-manager #f)\n                 #:servlet-regexp #rx\"\"\n                 #:listen-ip #f  ;; comment this to disable external connection\n                 #:port 8384\n                 #:launch-browser? #f\n                 #:safety-limits (make-safety-limits #:response-send-timeout (* 2 (query-time-limit))\n                                                     #:response-timeout (* 2 (query-time-limit)))\n                                                     ;; Avoid (query-time-limit) getting enforced\n                                                     ;; in multiple locations.\n                 ))\n\n(module+ main (start))\n\n;; Notes for exercising multi-threaded file handle usage to stress-test work-safely:\n;; Start a long query, then repeatedly run short queries while the long query runs.\n;; Query results should be deterministic and produce no errors.\n\n;; A long query for semmed:\n#|\n{\n  \"message\": {\n    \"query_graph\": {\n      \"nodes\": {\n        \"n0\": {\n          \"ids\": [\n            \"UMLS:C0520909\"\n          ]\n        },\n        \"n1\": {\n          \"categories\": [\n            \"disease_or_phenotypic_feature\"\n          ]\n        },\n        \"n2\": {\n          \"categories\": [\n            \"gene\"\n          ]\n        }\n      },\n      \"edges\": {\n        \"e01\": {\n          \"subject\": \"n0\",\n          \"object\": \"n1\"\n        },\n        \"e21\": {\n          \"subject\": \"n2\",\n          \"object\": \"n1\"\n        }\n      }\n    }\n  }\n}\n|#\n\n;; A short query for semmed:\n#|\n{\n  \"message\": {\n    \"query_graph\": {\n      \"nodes\": {\n        \"n0\": {\n          \"ids\": [\n            \"UMLS:C0520909\"\n          ]\n        },\n        \"n1\": {\n          \"categories\": [\n            \"disease_or_phenotypic_feature\"\n          ]\n        }\n      },\n      \"edges\": {\n        \"e01\": {\n          \"subject\": \"n0\",\n          \"object\": \"n1\"\n        }\n      }\n    }\n  }\n}\n|#\n"
  },
  {
    "path": "medikanren2/string-search-config.rkt",
    "content": "#lang racket\n;; This file is private to string-search.rkt.\n;; Applications should include string-search.rkt instead.\n(provide\n    field-indexed\n    schema-pri\n    name-ornull-from-pri\n    name-from-pri\n    uri-from-pri\n    fn-concept-name-corpus\n    fn-concept-name-index\n    fn-cprop-primary\n)\n\n;;;; Isolate here the configuration of string-search (currently hard-coded).\n\n;; For now, we only index the field called \"name\"\n(define field-indexed \"name\")\n\n(define schema-pri '(string string string))\n\n;;; *** data transformation for ingest ***\n(define (name-ornull-from-pri v)\n  (let* (\n      (fd (list-ref v 1))\n      (name (list-ref v 2)))\n    (if (equal? fd field-indexed)\n      `(,name)\n      '())))\n\n;;; *** data transformation for egress ***\n(define (name-from-pri pri)\n  (list-ref pri 2))\n\n(define (uri-from-pri pri)\n  (list-ref pri 0))\n\n\n;;;; Filenames\n\n(define fn-concept-name-corpus \"concept-name-corpus.scm\")     ; only for build-name-string-search-v1\n(define fn-concept-name-index  \"concept-name-index.bytes\")\n(define fn-cprop-primary \"primary.value.table\")\n\n"
  },
  {
    "path": "medikanren2/string-search-impl.rkt",
    "content": "#lang racket/base\n;; This file is private to string-search.rkt.\n;; Applications should include string-search.rkt instead.\n(provide\n  string/searchable\n  suffix:corpus-find*/disk\n  bytes->suffix-key\n  suffix-key->bytes\n  param-fd-input-binary\n  ensure-fd-input-binary\n  test:parameterize-defaults\n\n  ;; The following are internals used in string-search.rkt\n  suffix<?/corpus2\n  concept-name\n  write-scm\n  write-suffix-keys\n  )\n(require\n  racket/list\n  (except-in racket/match ==)\n  racket/string\n  racket/unsafe/ops\n  racket/vector\n  racket/dict\n  \"base.rkt\"\n)\n\n;; adapted from medikanren/repr.rkt\n(define (concept-cui c)      (list-ref c 0))\n(define (concept-name c)     (list-ref c 1))\n\n;; BEGIN: excerpted from medikanren/repr.rkt\n(define (byte-at offset n) (bitwise-and 255 (arithmetic-shift n offset)))\n;; ...\n(define string-key-byte-size 6)\n(define suffix-key-byte-size (+ 6 2))\n(define (suffix-key-count bs) (/ (bytes-length bs) suffix-key-byte-size))\n(define (suffix-key-count/port in)\n  (file-position in eof)\n  (/ (file-position in) suffix-key-byte-size))\n(define (suffix-key-ref index i) (bytes->suffix-key index i))\n(define (suffix-key->bytes s)\n  (define cid (car s))\n  (define pos (cdr s))\n  (bytes (byte-at -40 cid) (byte-at -32 cid) \n         (byte-at -24 cid) (byte-at -16 cid) (byte-at -8 cid) (byte-at 0 cid)\n         (byte-at -8 pos) (byte-at 0 pos)))\n(define (bytes->suffix-key bs start)\n  (define i (* start suffix-key-byte-size))\n  (define (bref-to j offset) (arithmetic-shift (bytes-ref bs (+ i j)) offset))\n  (cons (+ (bref-to 0 40) (bref-to 1 32) (bref-to 2 24) (bref-to 3 16) (bref-to 4 8) (bref-to 5 0))\n        (+ (bref-to 6 8) (bref-to 7 0))))\n(define (read-suffix-key-bytes in) (read-bytes suffix-key-byte-size in))\n(define (write-suffix-keys out v)\n  (for ((s (in-vector v))) (write-bytes (suffix-key->bytes s) out)))\n(define (suffix-index->suffix-key in si)\n  (file-position in (* suffix-key-byte-size si))\n  (bytes->suffix-key (read-suffix-key-bytes in) 0))\n;; ...\n(define (write-scm out scm) (fprintf out \"~s\\n\" scm))\n;; END:excerpted from medikanren/repr.rkt\n\n(define (nlist-intersection nlists)\n  (if (null? nlists) '()\n    (let loop ((i** nlists))\n      (cond ((ormap null? i**) '())\n            (else (define i0* (map car i**))\n                  (define next (apply max i0*))\n                  (if (andmap (lambda (i) (= i next)) i0*)\n                    (cons next (loop (map cdr i**)))\n                    (loop (map (lambda (i*) (dropf i* (lambda (i) (< i next))))\n                               i**))))))))\n\n(define i0              (char->integer #\\0))\n(define i9              (char->integer #\\9))\n(define iA              (char->integer #\\A))\n(define iZ              (char->integer #\\Z))\n(define (searchable? c) (and (<= i0 c) (<= c iZ) (or (<= c i9) (<= iA c))))\n(define (string/searchable s)\n  (define cs (map char->integer (string->list (string-upcase s))))\n  (list->string (map integer->char (filter searchable? cs))))\n\n(define (string<?/suffixes a ai b bi)\n  (define alen (- (string-length a) ai))\n  (define blen (- (string-length b) bi))\n  (let loop ((k (min alen blen)) (ai ai) (bi bi))\n    (cond ((= k 0)                                      (< alen blen))\n          ((char<? (string-ref a ai) (string-ref b bi)) #t)\n          ((char>? (string-ref a ai) (string-ref b bi)) #f)\n          (else (loop (- k 1) (+ ai 1) (+ bi 1))))))\n(define (suffix<?/corpus2 hashcorpus bin-a bin-b)\n  (let* ((a (bytes->suffix-key bin-a 0))\n         (b (bytes->suffix-key bin-b 0))\n         (c (hash-ref hashcorpus (car a)))\n         (d (hash-ref hashcorpus (car b))))\n    (string<?/suffixes c (cdr a) d (cdr b))))\n\n(define (remove-adjacent-duplicates xs)\n  (define (remove/x x xs)\n    (cons x (let loop ((xs xs))\n              (cond ((null? xs)              '())\n                    ((equal? (car xs) x)     (loop (cdr xs)))\n                    (else (remove/x (car xs) (cdr xs)))))))\n  (if (null? xs) '() (remove/x (car xs) (cdr xs))))\n\n(define (dedup/< ns) (remove-adjacent-duplicates (sort ns <)))\n\n(define (suffix:corpus-find-range/disk cid->concept in-index str)\n  (define needle (string/searchable str))\n  (define (compare si needle)\n    (match-define (cons cid pos) (suffix-index->suffix-key in-index si))\n    (define hay (substring (string/searchable (concept-name (cid->concept cid))) pos))\n    (cond ((string-prefix? hay needle) 0)\n          ((string<? hay needle)      -1)\n          (else                        1)))\n  ;; Find a point in the desired range...\n  (let find-range ((start 0) (end (suffix-key-count/port in-index)))\n    (cond ((< start end)\n           (define mid (+ start (quotient (- end start) 2)))\n           (case (compare mid needle)\n             ((-1) (find-range (+ 1 mid) end))\n             (( 1) (find-range start mid))\n             (( 0) ;; ... then find the start and end of that range.\n              (define rstart\n                (let loop ((start start) (end mid))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((-1) (loop (+ 1 mid) end))\n                           (( 0) (loop start mid))\n                           (else (error \"rstart: this shouldn't happen.\"))))\n                        (else end))))\n              (define rend\n                (let loop ((start (+ 1 mid)) (end end))\n                  (cond ((< start end)\n                         (define mid (+ start (quotient (- end start) 2)))\n                         (case (compare mid needle)\n                           ((1) (loop start mid))\n                           ((0) (loop (+ 1 mid) end))\n                           (else (error \"rend: this shouldn't happen.\"))))\n                        (else end))))\n              (cons rstart rend))))\n          (else (cons start end)))))\n\n(define (suffix:corpus-find*/disk cid->concept in-index str*)\n  (define (rz r) (- (cdr r) (car r)))\n  (define rs (map (lambda (s) (suffix:corpus-find-range/disk cid->concept in-index s)) str*))\n  (define zmin (* 2 (if (null? rs) 0 (foldl (lambda (r z) (min z (rz r)))\n                                            (rz (car rs)) (cdr rs)))))\n  (nlist-intersection\n    (map (lambda (r) (dedup/< (map (lambda (i) (car (suffix-index->suffix-key in-index i)))\n                                   (range (car r) (cdr r)))))\n         (filter (lambda (r) (<= (rz r) zmin)) rs))))\n\n;;;; Provisions for efficient safe use of file handles\n\n;;; param-fd-input-binary:\n;;;   A context for caching file descriptors.\n;;;   To preserve context, (make-hash), keep a reference, and pass\n;;;   via parameterize.\n(define param-fd-input-binary\n  (make-parameter\n    'initialize-me-via-make-hash\n    #f))\n\n;;; ensure-fd-input-binary:\n;;;   Provide the cached file handle for fn, or open a file handle\n;;;   if one hasn't been created.\n(define (ensure-fd-input-binary absf)\n  (define (ensure-fd h)\n    (dict-ref! h absf (lambda () (open-input-file absf #:mode 'binary))))\n  (define h (param-fd-input-binary))\n  (if (dict? h)\n    (ensure-fd h)\n    (let* (\n        (h (make-hash))\n        (fd (ensure-fd h)))\n      (param-fd-input-binary h)\n      fd)))\n\n;;; test:parameterize-defaults\n;;;   A helper for automated tests to be able to open string indexes.\n;;;   Applications should implement a similar but usually more complicated\n;;;   function.  Call (make-hash) as we do here to trigger allocation of a\n;;;   new hash of file handles, or supply a previously allocated hash\n;;;   of file handles for reuse.\n(define (test:parameterize-defaults thunk)\n  (parameterize\n    ((param-fd-input-binary (make-hash)))\n    (thunk)))\n"
  },
  {
    "path": "medikanren2/string-search-impl2.rkt",
    "content": "#lang racket\n;; This file is private to string-search.rkt.\n;; Applications should include string-search.rkt instead.\n(provide\n    (all-defined-out)\n )\n(require racket/dict)\n(require racket/vector)\n(require \"base.rkt\")\n(require \"string-search-config.rkt\")\n(require \"string-search-impl.rkt\")\n\n\n;;; schema-aware wrapping for string-search-impl.rkt functions\n\n(define (foffs->concept fd-corpus foffs)\n  (file-position fd-corpus foffs)\n  (decode fd-corpus schema-pri))\n\n(define (make-~name*->value* absdOut fn-cprop-primary fn-concept-name-index)\n  (define fd-corpus\n    (ensure-fd-input-binary (expand-user-path (build-path absdOut fn-cprop-primary))))\n  (define fd-index\n    (ensure-fd-input-binary (expand-user-path (build-path absdOut fn-concept-name-index))))\n  (define (cid->concept foffs)\n    (let ((v (foffs->concept fd-corpus foffs)))\n;      (printf \"found file offset offs=~a v=~a\\n\" offs v)\n      (list '() (name-from-pri v))\n      ))\n  (lambda (~name*)\n    (map\n      (lambda (foffs)\n        (let ((v (foffs->concept fd-corpus foffs)))\n          v))\n      (suffix:corpus-find*/disk cid->concept fd-index ~name*))))\n\n;;; string search options\n(struct stsopt (\n  case-sensitive? ;; case sensitivity flag\n  chars:ignore    ;; ignored characters ('chars:ignore-typical' is pre-defined)\n  chars:split     ;; characters to split target name on for exact matching ('chars:split-typical' is pre-defined)\n) #:constructor-name new-stsopt\n  #:name stsopt-t\n  #:transparent)\n\n(define (make-stsopt\n    #:case-sensitive? (case-sensitive? #f)\n    #:chars:ignore (chars:ignore \"\")\n    #:chars:split (chars:split \"\")\n  )\n  (new-stsopt case-sensitive? chars:ignore chars:split))\n\n(define stsopt-default (make-stsopt))\n\n;;; from gui-simple-v2.rkt\n;; :77\n(define (split-name-string name)\n  (string-split name #px\"\\\\s+\"))\n\n;;; :242\n(define chars:ignore-typical \"-\")\n(define chars:split-typical \"\\t\\n\\v\\f\\r !\\\"#$%&'()*+,./:;<=>?@\\\\[\\\\\\\\\\\\]\\\\^_`{|}~\")\n\n;;; :245\n(define (smart-string-matches? stsopt str* hay)\n  (match stsopt\n      ( (struct stsopt-t (case-sensitive? chars:ignore chars:split))\n        (smart-string-matches-impl? case-sensitive? chars:ignore chars:split str* hay))))\n(define (smart-string-matches-impl? case-sensitive? chars:ignore chars:split str* hay)\n  (define re:ignore (and (non-empty-string? chars:ignore)\n                         (pregexp (string-append \"[\" chars:ignore \"]\"))))\n  (define re:split (and (non-empty-string? chars:split)\n                        (pregexp (string-append \"[\" chars:split \"]\"))))\n  (define (normalize s case-sensitive?)\n    (define pruned (if re:ignore (string-replace s re:ignore \"\") s))\n    (if case-sensitive? pruned (string-downcase pruned)))\n  (define (contains-upcase? s) (not (string=? s (string-downcase s))))\n  (define case-sensitive?*\n    (map (lambda (s) (or case-sensitive? (contains-upcase? s))) str*))\n  (define needles\n    (map (lambda (v case-sensitive?) (normalize v case-sensitive?))\n         str* case-sensitive?*))\n  (and hay\n       (andmap\n        (if re:split\n            (lambda (n case-sensitive?)\n              (ormap (lambda (s) (string=? s n))\n                     (string-split (normalize hay case-sensitive?) re:split)))\n            (lambda (n case-sensitive?)\n              (string-contains? (normalize hay case-sensitive?) n)))\n        needles case-sensitive?*)))\n;;; :269\n(define (~string*->offset&value*\n          stsopt value* str*)\n  (define (p? v)\n    (define hay (name-from-pri v))\n    (smart-string-matches? stsopt str* hay))\n  (filter p? value*))\n;;; :295\n(define (db:~name*->concept*/options\n          stsopt absdOut fn-cprop-primary fn-concept-name-index ~name*)\n  (define fd-corpus\n    (ensure-fd-input-binary (expand-user-path (build-path absdOut fn-cprop-primary))))\n  (define lookup (make-~name*->value* absdOut fn-cprop-primary fn-concept-name-index))\n  (define value* (lookup ~name*))\n  (~string*->offset&value* stsopt\n                           value* ~name*))\n"
  },
  {
    "path": "medikanren2/string-search.rkt",
    "content": "#lang racket\n(provide\n find-ids-named\n find-concepts-named\n string-search-init-rel\n make-stsopt\n stsopt-t\n param-fd-input-binary\n\n test:read-name-corpus\n test:suffix:corpus2->index-suffixes\n (prefix-out test: build-string-index-via-codec-and-write)\n (prefix-out test: build-string-index-via-codec)\n (prefix-out test: ensure-name-index-built)\n test:verify-corpus-index\n )\n(require racket/dict)\n(require racket/vector)\n(require \"base.rkt\")\n(require \"string-search-config.rkt\")\n(require \"string-search-impl.rkt\")\n(require \"string-search-impl2.rkt\")\n\n;;; *** routines for index building ***\n(define (report-memory)\n  (collect-garbage 'major)\n  (printf \"current-memory-use ~aMB\\n\" (exact->inexact (/ (current-memory-use) 1000000))))\n\n(define (suffix:corpus2->index-suffixes hashcorpus)\n  (for*/vector (((foffs s-searchable) (in-hash hashcorpus))\n              (soffs (range (string-length s-searchable))))\n    (suffix-key->bytes (cons foffs soffs))))\n\n(define (suffix:corpus2->index hashcorpus)\n  (define (suffix<? a b)    (suffix<?/corpus2 hashcorpus a b))\n  (define suffixes (suffix:corpus2->index-suffixes hashcorpus))\n  (report-memory)\n  (printf \"sorting suffixes\\n\")\n  (vector-sort! suffixes suffix<?)\n  (printf \"sorting complete\\n\")\n  suffixes)\n\n(define (test:suffix:corpus2->index-suffixes veccorpus)\n  (define hashcorpus (in-pairs->hash veccorpus))\n  (suffix:corpus2->index-suffixes hashcorpus))\n\n;;; in-name-corpus\n;;;   Opens a sequence produced by decoding a primary index file.  Auto-closes upon encountering eof.\n(define (in-name-corpus fname absdOut)\n  (define fdIn (open-input-file (expand-user-path (build-path absdOut fname)) #:mode 'binary))\n  (define (read-decode fdIn)\n    (if (port-closed? fdIn)\n        eof\n        (if (eof-object? (peek-byte fdIn))\n            (begin\n              (close-input-port fdIn)\n              eof)\n            (let* ((foffs (file-position fdIn))\n                   (v (decode fdIn schema-pri)))\n              (match (name-ornull-from-pri v)\n                (`(,name)\n                 (let ((s-searchable (string/searchable name)))\n                   (cons s-searchable foffs)))\n                (_ (read-decode fdIn)))))))\n  (in-port read-decode fdIn))\n\n(define (in-pairs->hash in-pairs)\n  (let ((h (make-hasheqv))) ; TODO perf?\n    (for ((kv in-pairs))\n      (match kv\n        ((cons s-searchable foffs)\n          (hash-set! h foffs s-searchable))))\n    h))\n\n(define (read-name-corpus fname absdOut)\n  (let ((in-corpus (in-name-corpus fname absdOut)))\n    (in-pairs->hash in-corpus)))\n\n(define (test:read-name-corpus fname absdOut)\n  (let ((in-corpus (in-name-corpus fname absdOut)))\n    (for*/vector ((kv in-corpus))\n      kv)))\n\n\n;;; build-string-index-via-codec\n;; Name+id corpus must live on disk so as to possess file offsets.\n(define (build-string-index-via-codec fname absdOut)\n  (let ((hashcorpus (read-name-corpus fname absdOut)))\n    (report-memory)\n    (printf \"building name search index...\\n\")\n    (values hashcorpus (suffix:corpus2->index hashcorpus))))\n\n(define (build-string-index-via-codec-and-write fn-pri fn-index absdOut)\n  (define-values (hashcorpus name-index) (build-string-index-via-codec fn-pri absdOut))\n  (printf \"indexed ~a suffixes, now writing...\\n\" (vector-length name-index))\n  (call-with-atomic-output-file\n    (expand-user-path (build-path absdOut fn-index))\n    (lambda (fd-index adir-junk)\n      (for* ((ni name-index))\n          (write-bytes ni fd-index)\n          ))))\n\n(define (ensure-name-index-built absd-index fn-concept-name-index)\n  (let* (\n         (absf-index (path->string (simplify-path (build-path absd-index fn-concept-name-index)))))\n    ; (printf \"checking for index ~a\\n\" absf-index)\n    (unless (file-exists? absf-index)\n      (build-string-index-via-codec-and-write fn-cprop-primary fn-concept-name-index absd-index))))\n\n(define (assert-name-index-built absd-index fn-concept-name-index)\n  (let* (\n         (absf-index (path->string (simplify-path (build-path absd-index fn-concept-name-index)))))\n    ; (printf \"checking for index ~a\\n\" absf-index)\n    (unless (file-exists? absf-index)\n      (error (format \"Use of string search requires index preparation.  Call string-search-init-rel: ~a\" absf-index)))))\n\n(define (test:verify-corpus-index hashcorpus index)\n  (define (<=? c d) (not (string<? d c)))\n  (define (shorten s) (substring s 0 (min (string-length s) 20)))\n  (for ((i (range 1 (vector-length index))))\n    (let* (\n        (skey-prev (bytes->suffix-key (vector-ref index (- i 1)) 0))\n        (skey (bytes->suffix-key (vector-ref index i) 0))\n        (ss-prev (substring (hash-ref hashcorpus (car skey-prev)) (cdr skey-prev)))\n        (ss (substring (hash-ref hashcorpus (car skey)) (cdr skey))))\n      (unless (<=? ss-prev ss)\n        (error (format \"index out of sequence: ~a should be < ~a\\n\" (shorten ss-prev) (shorten ss)))))\n    ))\n\n;;; find-ids-named\n;; Consult the string index associated with rel to find the ids\n;; in rel with a (name) string matching every substr in substrs,\n;; according to options stsopt.  If the associated string index\n;; has not been previously prepared, fail.\n(define (find-ids-named rel substrs (stsopt stsopt-default))\n  (unless (andmap string? substrs)\n    (error \"find-ids-named: substrs must be a list of strings\"))\n  (define absd-index (hash-ref (relation-definition-info rel) 'path))\n  (assert-name-index-built absd-index fn-concept-name-index)\n    (let* ((pris (db:~name*->concept*/options stsopt absd-index fn-cprop-primary fn-concept-name-index substrs)))\n      (map uri-from-pri pris)))\n\n;;; find-ids-named\n;; Consult the string index associated with rel to find the concepts\n;; in rel with a (name) string matching every substr in substrs,\n;; according to options stsopt.  If the associated string index\n;; has not been previously prepared, fail.\n(define (find-concepts-named rel substrs (stsopt stsopt-default))\n  (let ((uris (find-ids-named rel substrs stsopt)))\n    (define-relation/table (found xxx)\n      'source-stream (map list uris))\n    (define-relation (found2 id subj object)\n      (found id)                                     ;; logical AND, as in fresh\n      (rel id subj object))\n    found2))\n\n;;; string-search-init-rel\n;; Prepare a string search index, if it has not already been prepared.\n;; If the the string search index has already been prepared, string-search-init-rel\n;; will exit quickly.  If no string search index is prepared, calls\n;; to find-ids-named and find-concepts-named will fail.\n(define (string-search-init-rel rel)\n  (let* ((absd-index (hash-ref (relation-definition-info rel) 'path))\n         (absf-primary (path->string (simplify-path (build-path absd-index fn-cprop-primary)))))\n    ;; We check for the file to exist so that individual db/foo.rkt files can call\n    ;; string-search-init-rel, and so that common.rkt can require db/foo.rkt\n    ;; without crashing, even when the data for db/foo.rkt is not installed.\n    (when (file-exists? absf-primary)\n      (ensure-name-index-built absd-index fn-concept-name-index)\n  )))\n"
  },
  {
    "path": "medikanren2/synonyms.rkt",
    "content": "#lang racket/base\n(require\n \"common.rkt\" \n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/port\n  racket/pretty\n  racket/runtime-path\n  racket/string\n  racket/set\n  json\n  memoize)\n\n(provide direct-synonym direct-synonym* direct-synonym+ synonym close-match-synonym\n         synonyms/step synonym-of/step synonyms/breadth synonym-of/breadth\n         synonym synonym-path kgx-synonym\n         simple-synonym\n         get-synonyms-ls get-names-ls get-names-set)\n\n(define (equivalence-relation node link)\n  (define-relation (equiv=/= a b)\n    (=/= a b)\n    (fresh (x)\n      (conde ((link a x))\n             ((link x a)))\n      (conde ((==       x b))\n             ((equiv=/= x b)))))\n  (define-relation (equiv a b)\n    (conde ((==       a b) (node a))\n           ((equiv=/= a b))))\n  equiv)\n\n(define (simple-node x) (fresh (k v) (cprop x k v)))\n\n(define (simple-link a b)\n  (fresh (id pred)\n    (edge a b)\n    (eprop id \"predicate\" pred)\n    (membero pred '(\"biolink:same_as\"))))\n\n(define simple-synonym (equivalence-relation simple-node simple-link))\n\n\n(define synonyms-preds '(\"biolink:same_as\"\n                         ;; \"biolink:close_match\"   ; too risky un-constrained\n                         \"biolink:gene_product_of\"))\n\n(define rtx2-drug-categories '(\"biolink:ChemicalEntity\"\n                              \"biolink:ChemicalMixture\"\n                              \"biolink:MolecularEnity\"\n                              \"biolink:SmallMolecule\"\n                              \"biolink:Protein\"\n                              \"biolink:SmallMolecule\"\n                               \"biolink:ClinicalIntervention\"\n                               \"biolink:ClinicalModifier\"\n                               \"biolink:Drug\"\n                               \"biolink:Treatment\"))\n\n(define semmed-drug-categories '(\"chemical_substance\"))\n\n(define drug-categories (append rtx2-drug-categories semmed-drug-categories))\n\n(define drug-categories/set (list->set drug-categories))\n\n(define disease-categories '(\"biolink:Disease\"\n                             \"biolink:DiseaseOrPhenotypicFeature\"\n                             \"biolink:PhenotypicFeature\"))\n\n(define disease-categories/set (list->set disease-categories))\n\n(define inhibit-preds '(\"biolink:decreases_activity_of\"\n                        \"biolink:decreases_expression_of\"\n                        \"biolink:disrupts\"\n                        \"biolink:entity_negatively_regulates_entity\"\n                        \"biolink:process_negatively_regulates_process\"\n                        \"biolink:treats\"\n                        \"negatively_regulates\" ; semmed\n                        \"treats\" ; semmed\n                        )) \n\n(define gene-or-protein '(\"biolink:Gene\"\n                          \"biolink:GeneFamily\"\n                          \"biolink:GenomicEntity\"\n                          \"biolink:MacromolecularComplex\"\n                          \"biolink:MolecularEntity\"\n                          \"biolink:Protein\"))\n\n(define gene-or-protein/set (list->set gene-or-protein))\n\n; Cached synonyms from the kgx-synonym knowledge graph\n(define (kgx-synonym a b)\n  (fresh (predicate id source_database)\n    (conde\n      [(kgx:synonym a b predicate id source_database)]\n      [(kgx:synonym b a predicate id source_database)])))\n\n;; Query synonyms from loaded graphs\n(define-relation (direct-synonym a b)\n  (fresh (id sp)\n    (edge id a b)\n    (eprop id \"predicate\" sp)\n    (membero sp synonyms-preds)))\n\n;; More constrained approach\n;; (define-relation (close-match-syn a b)\n;;   (fresh (id)\n;;     (any<=o \"HGNC:\" a)\n;;     (any<=o a \"HGND\")\n;;     (any<=o \"UMLS:\" b)\n;;     (any<=o b \"UMLT\")\n;;     (edge id a b)\n;;     (:== #t (a) (not (null? (run 1 () (eprop id \"predicate\" \"biolink:close_match\")))))\n;;     (:== #t (a) (string-prefix? a \"HGNC:\"))\n;;     (:== #t (b) (string-prefix? b \"UMLS:\"))))\n\n(define (non-empty-intersection/ls ls1 ls2)\n  (not (set-empty? (set-intersect (list->set ls1) (list->set ls2)))))\n\n(define (non-empty-intersection set1 set2)\n  (not (set-empty? (set-intersect set1 set2))))\n\n(define-relation (close-match-synonym a b)\n  (fresh (id cat-a cat-b)\n    (edge id a b)\n    (eprop id \"predicate\" \"biolink:close_match\")\n    (:== cat-a (a) (run*/set c (is-a a c)))\n    (:== cat-b (b) (run*/set c (is-a b c)))\n    (conde ((:== #t (cat-a) (non-empty-intersection cat-a disease-categories/set) )\n            (:== #t (cat-b) (non-empty-intersection cat-b disease-categories/set)))\n           ((:== #t (cat-a) (non-empty-intersection cat-a drug-categories/set) )\n            (:== #t (cat-b) (non-empty-intersection cat-b drug-categories/set)))\n           ((:== #t (cat-a) (non-empty-intersection cat-a gene-or-protein/set))\n            (:== #t (cat-b) (non-empty-intersection cat-b gene-or-protein/set))\n            (conde ((:== #t (a) (string-prefix? a \"HGNC:\")))\n                   ((:== #t (a) (string-prefix? a \"NCBIGene:\")))\n                   ((:== #t (a) (string-prefix? a \"UniProtKB:\")))\n                   ((:== #t (a) (string-prefix? a \"ENSEMBL:\"))))))))\n\n(define-relation (direct-synonym* a b)\n  (conde ((== a b))\n         ((direct-synonym+ a b))))\n\n(define-relation (direct-synonym+ a b)\n  (conde ((direct-synonym a b))\n         ((fresh (mid)\n            (direct-synonym a mid)\n            (direct-synonym+ mid b)))))\n\n(define-relation (exact-synonym a b)\n  (conde ((== a b))\n         ((direct-synonym+ a b))\n         ((direct-synonym+ b a))))\n\n(define-relation (synonym a b)\n  (conde ((== a b))\n         ((close-match-synonym a b))\n         ((close-match-synonym b a))\n         ((direct-synonym a b))\n         ((direct-synonym b a))\n         ((fresh (mid)\n            (conde ((close-match-synonym a mid)) ((close-match-synonym mid a)))\n            (synonym mid b)))\n         ((fresh (mid)\n            (conde ((close-match-synonym b mid)) ((close-match-synonym mid b)))\n            (synonym mid a)))         \n         ((fresh (mid)\n            (conde ((direct-synonym a mid)) ((direct-synonym mid a)))\n            (synonym mid b)))\n         ((fresh (mid)\n            (conde ((direct-synonym b mid)) ((direct-synonym mid b)))\n            (synonym mid a)))))\n\n(define-relation (synonym-path a b path)\n  (conde\n    ((== a b) (== path `(,a)))\n    ((direct-synonym a b) (== path `(,a = ,b)))\n    ((direct-synonym b a) (== path `(,a = ,b)))\n    ((close-match-synonym a b) (== path `(,a ~ ,b)))\n    ((close-match-synonym b a) (== path `(,a ~ ,b)))\n    ((fresh (mid path-rest)\n       (conde      \n         ((conde ((direct-synonym a mid)) ((direct-synonym mid a)))\n          (synonym-path mid b path-rest)\n          (not-membero a path-rest)\n          (== path `(,a = . ,path-rest)))\n         ((conde ((direct-synonym b mid)) ((direct-synonym mid b)))\n          (synonym-path a mid path-rest)\n          (not-membero b path-rest)\n          (appendo path-rest (list '= b) path))\n         ((conde ((close-match-synonym a mid)) ((close-match-synonym mid a)))\n          (synonym-path mid b path-rest)\n          (not-membero a path-rest)\n          (== path `(,a ~ . ,path-rest)))\n         ((conde ((close-match-synonym b mid)) ((close-match-synonym mid b)))\n          (synonym-path a mid path-rest)\n          (not-membero b path-rest)\n          (appendo path-rest (list '~ b) path)))))))\n\n;; Different ways of actually getting a useful amount of synonyms in a reasonable amount of time\n\n(define (synonyms/step term (n 500) (categories '()))\n  (if (pair? categories)\n      (set->list\n       (run*/set/steps n s\n         (synonym s term)\n         (fresh (cat)\n           (cprop s \"category\" cat)\n           (membero cat categories))))\n      (set->list (run*/set/steps n s (synonym s term)))))\n\n;; relation for use in mk queries\n;; n is required\n;; (run* s ((synonym-of/set autism 1000) s)))\n(define/memo* (synonym-of/step term n)\n  (let ((synonyms (set->list (synonyms/step term n))))\n    (relation synonym-of/step^ (s)\n      (membero s synonyms))))\n\n(define (synonyms/breadth term (n 2) (categories '()))\n  (let loop ((n (- n 1)) (synonyms (set term)) (terms (list term)) )\n    (let ((new-synonyms\n           (run*/set s (fresh (term)\n                         (membero term terms)\n                         (conde ((direct-synonym s term))\n                                ((direct-synonym term s))\n                                ((close-match-synonym s term))\n                                ((close-match-synonym term s)))\n                         (if (pair? categories)\n                             (fresh (cat)\n                               (cprop s \"category\" cat)\n                               (membero cat categories))\n                             (== #t #t))\n                         (:== #f (s) (set-member? synonyms s))\n                         ;; (not-membero s (set->list synonyms))     ; purer but slower\n                         ))))\n      (cond ((set-empty? new-synonyms) (set->list synonyms))\n            ((= n 0) (set->list (set-union new-synonyms synonyms)))\n            (else\n             (loop (- n 1) (set-union new-synonyms synonyms) \n                   (set->list new-synonyms)))))))\n\n;; relation for use in mk queries\n;; n is required\n;; (run* s ((synonym-of/breadth autism 2) s)))\n(define/memo* (synonym-of/breadth term n)\n  (let ((synonyms (synonyms/breadth term n)))\n    (relation synonym-of/breadth^ (s)\n      (membero s synonyms))))\n\n;; used in TRAPI interpreter\n;; implements basic logic: KGX-syn for genes/proteins, and KGs for others\n(define/memo* (get-synonyms-ls curies)\n  (remove-duplicates\n   (append curies\n           (apply append\n                  (map (lambda (curie)\n                         (let ((cats (run*/set c (cprop curie \"category\" c))))\n                           (if (non-empty-intersection cats gene-or-protein/set)\n                               (synonyms/breadth curie 1)\n                               (run* s (kgx-synonym curie s)))))\n                       curies)))))\n\n; get-names-ls function takes a list of curies and return the curies with their coresponding names\n(define (get-names-ls curie-ls)\n  (run* (curie name)\n    (cprop curie \"name\" name)\n    (membero curie curie-ls)))\n\n(define (get-names-set curie-set)\n  (get-names-ls (set->list curie-set)))\n\n\n  \n"
  },
  {
    "path": "medikanren2/test/10GB-CI/require-common-spec.rkt",
    "content": "#lang racket\n(require chk)\n(require \"../../common.rkt\")\n\n; test that we can require common.rkt without problems\n(chk\n    (#:t #t))\n"
  },
  {
    "path": "medikanren2/test/10GB-CI/string-search-build-spec.rkt",
    "content": "#lang racket\n;(require racket)\n;(require racket/match)\n(require chk)\n(require \"../../string-search-config.rkt\")\n(require \"../../string-search-impl.rkt\")\n(require \"../../string-search.rkt\")\n(require racket/pretty)\n(require \"../../db/yeast-micro-sri-reference-kg-0.3.0.rkt\")\n(require \"../../base.rkt\")\n\n\n(chk\n    (#:do\n        (let* (\n                (relp-index (hash-ref (relation-definition-info nodes) 'path))\n                (absd-index (dbk:current-config-relation-path relp-index))\n                (name-corpus (test:read-name-corpus fn-cprop-primary absd-index))\n                (nbytes-total\n                    (time (for/sum ((v name-corpus))\n                        (string-length (car v)))))\n                (nbytes-avg (exact->inexact (/ nbytes-total (vector-length name-corpus)))))\n            (printf \"found ~a bytes, ~a items, ~a bytes/item\\n\" nbytes-total (vector-length name-corpus) nbytes-avg)\n        ))\n    (#:t #t))\n\n\n(define fn-perftest (format \"~a-perftest\" fn-concept-name-index))\n\n(define (absf-perftest rel)\n    (let* (\n            (relp-index (hash-ref (relation-definition-info nodes) 'path))\n            (absd-index (dbk:current-config-relation-path relp-index)))\n        (path->string (simplify-path (build-path absd-index fn-perftest)))))\n\n(chk\n    (#:do\n        (test:ensure-name-index-built (hash-ref (relation-definition-info nodes) 'path) fn-perftest))\n    (#:do\n        (time (length (find-ids-named nodes '(\"CACNA1\")))))\n    (#:do\n        (delete-file (absf-perftest nodes)))\n    (#:t #t))\n"
  },
  {
    "path": "medikanren2/test/10GB-CI/string-search-spec.rkt",
    "content": "#lang racket\n(require chk)\n(require \"../../base.rkt\")\n(require \"../../string-search-config.rkt\")\n(require \"../../string-search-impl.rkt\")\n(require \"../../string-search-impl2.rkt\")\n(require \"../../string-search.rkt\")\n(require racket/pretty)\n\n;; *** Utilities ***\n\n(define (with-finally thunk-run thunk-cleanup)\n  (with-handlers\n      ((exn:fail? (lambda (ex)\n        (thunk-cleanup)\n        (raise ex))))\n    (let ((x (thunk-run)))\n      (thunk-cleanup)\n      x)))\n\n(chk\n (#:=\n  (with-finally\n    (lambda () 7)\n    (lambda () 'no-opp))\n  7))\n\n(chk\n (#:do (define t 1))\n (#:do\n  (with-finally\n    (lambda () 8)\n    (lambda () (set! t 2))))\n (#:= t 2))\n\n(chk\n (#:do (define t 1))\n (#:do\n  (with-handlers ([exn? (lambda (ex)\n                   'no-op)]) ; \"swallow\" exception\n    (with-finally\n      (lambda () (error \"foobaaar!!\"))\n      (lambda () (set! t 2)))))\n (#:= t 2))\n\n\n(define (with-temporary-dir-cleanup template fn)\n  (define adirTemp (make-temporary-file template 'directory #f))\n  (with-finally\n    (lambda ()\n      (test:parameterize-defaults (lambda ()\n        (fn adirTemp))))\n    (lambda ()\n      (with-handlers ([exn:fail?\n                       'no-op]) ; \"swallow\" exception\n        (delete-directory/files adirTemp)))))\n\n;; No cleanup, in case manual inspection is required\n(define (with-temporary-dir template fn)\n  (define adirTemp (make-temporary-file template 'directory #f))\n  (printf \"populating ~a\\n\" adirTemp)\n  (test:parameterize-defaults (lambda ()\n    (fn adirTemp))))\n  \n;; We count both work ticks (w) and results (i).  Make a version\n;; parametreized by numTicksMax?\n(define (run-stream numMax s)\n  (define (iter i w xs s)\n    (cond\n      ((and (>= numMax 0) (>= i numMax)) xs)\n      ((null? s) xs)\n      ((procedure? s)\n       (iter i (+ w 1) xs (s)))\n      ((pair? s)\n       (let* ((x (car s))\n              (t (current-milliseconds))\n              )\n         (iter (+ i 1) (+ w 1) (cons x xs) ((cdr s)))))\n      (else (raise (format \"unexpected type: ~a\" s)))))\n  (reverse (iter 0 0 '() s)))\n\n\n(chk\n  (#:do\n    (for ((xp (range 0 46)))\n      (let* ((foffs (arithmetic-shift 1 xp))\n              (foffs2 (car (bytes->suffix-key (suffix-key->bytes (cons foffs 7)) 0))))\n        (unless (equal? foffs foffs2)\n          (error (format \"could not round trip file offset expected=~a actual=~a\" foffs foffs2))))))\n  (#:t #t))\n\n(chk\n  (#:do\n    (for ((xp (range 0 14)))\n      (let* ((soffs (arithmetic-shift 1 xp))\n              (soffs2 (cdr (bytes->suffix-key (suffix-key->bytes (cons 7 soffs)) 0))))\n        (unless (equal? soffs soffs2)\n          (error (format \"could not round trip string offset expected=~a actual=~a\" soffs soffs2))))))\n  (#:t #t))\n\n;; generalize suffix:corpus->index\n\n(chk\n (#:=\n  (list->set (map (lambda (b) (bytes->suffix-key b 0)) (vector->list (test:suffix:corpus2->index-suffixes\n   (vector\n    (cons \"the\" 7)\n    (cons \"the\" 9)\n    )))))\n  (list->set '((7 . 0) (7 . 1) (7 . 2) (9 . 0) (9 . 1) (9 . 2)))))\n\n(chk\n (#:=\n  (list->set (map (lambda (b) (bytes->suffix-key b 0)) (vector->list (test:suffix:corpus2->index-suffixes\n   (vector\n    (cons \"the\" 7))))))\n  (list->set '((7 . 2) (7 . 1) (7 . 0)))))\n\n\n(chk\n (#:=\n  (list->set (map (lambda (b) (bytes->suffix-key b 0)) (vector->list (test:suffix:corpus2->index-suffixes\n   (vector\n    (cons \"the\" 7)\n    (cons \"the\" 9)\n    )))))\n  (list->set '((7 . 2) (9 . 2) (7 . 1) (9 . 1) (7 . 0) (9 . 0)))\n  ))\n\n\n;; Can we pass names to the index?\n\n(define concept*-example-1\n  (list->vector\n   '(((\"OMIM:MTHU026069\" \"\\\"'Swiss-cheese\\\\\\\" appearance of cartilage\\\"\")\n   \"cartilage\")\n ((\"CHEMBL.COMPOUND:CHEMBL2271031\"\n   \"\\\"(+/-)-[1S*,2R*,5R*,6S*,(2\\\\\\\\\\\\\\\"S*,3\\\\\\\\\\\\\\\"R*)/(2\\\\\\\\\\\\\\\"R*,3\\\\\\\\\\\\\\\"S*)]-2-(2',6'-dimethoxyphenoxy)-1-hydroxy-6-[7\\\\\\\\\\\\\\\"-methoxy-3\\\\\\\\\\\\\\\"-methoxymethyl-2\\\\\\\\\\\\\\\"-(3,4-methylenedioxyphenyl)chroman-6\\\\\\\\\\\\\\\"-yl]-3,7-dioxabicyclo[3.3.0]octane\\\"\")\n  \"methoxy-3\")\n ((\"CHEBI:139029\"\n   \"\\\"(1S,3R)-dihydroxy-(20S)-[(5'R)-(2\\\\\\\"-hydroxy-2\\\\\\\"-propyl)-(2'S)-tetrahydrofuryl]-22,23,24,25,26,27-hexanor-1alpha-hydroxyvitamin D3\\\"\")\n  \"hexanor\")\n ((\"CHEMBL.COMPOUND:CHEMBL2426108\"\n   \"\\\"(3R',5S')-3,5-dihydroxy-1-(4'-hydroxy-3',5'-dimethoxyphenyl)-7-(4\\\\\\\\\\\\\\\"-hydroxy-3'-methoxyphenyl)heptane\\\"\")\n  \"hydroxy-3'-m\")\n ((\"CHEMBL.COMPOUND:CHEMBL2426107\"\n   \"\\\"(3R',5S')-3,5-dihydroxy-1-(4'-hydroxy-3',5'-dimethoxyphenyl)-7-(4\\\\\\\\\\\\\\\"-hydroxyphenyl)heptane\\\"\")\n  \"hydroxyphenyl)heptane\")\n ((\"CHEMBL.COMPOUND:CHEMBL2426106\"\n   \"\\\"(3S)-1-(3'-methoxy-4'-hydroxyphenyl)-7-(4\\\\\\\\\\\\\\\"-hydroxyphenyl)-(6E)-6-hepten-3-ol\\\"\")\n  \"hepten\")\n ((\"CHEMBL.COMPOUND:CHEMBL3735273\"\n   \"\\\"(Clarithromycin-(4\\\\\\\\\\\\\\\"-(methylamino)-N(methyl)(4-benzyltriazolyl))-N-hydroxyacetamide\\\"\")\n  \"hydroxya\"))))\n\n\n\n(define (build-test-corpus concept* absdOut)\n  (let ((fd (open-output-file (expand-user-path (build-path absdOut fn-cprop-primary)))))\n    (for/vector ((c concept*))\n      (let ((id (car c))\n            (name (cadr c)))\n        (encode fd schema-pri `(,id ,field-indexed ,name))))\n    (close-output-port fd)))\n\n(chk\n (#:do\n  (with-temporary-dir-cleanup\n    \"mediKanren-test-~a\"\n    (lambda (adirTemp)\n      (build-test-corpus (vector-map car concept*-example-1) adirTemp))))\n (#:t #t))\n\n\n;; can we build an index in a format that returns file offsets?\n(chk\n (#:do\n  (with-temporary-dir-cleanup\n    \"mediKanren-test-~a\"\n    (lambda (adirTemp)\n      (let ((fn-primary (expand-user-path (build-path adirTemp fn-cprop-primary))))\n        (build-test-corpus (vector-map car concept*-example-1) adirTemp)\n        (test:build-string-index-via-codec-and-write fn-cprop-primary fn-concept-name-index adirTemp)))))\n (#:t #t))\n\n\n\n;;; print-index-v2: print a human-readable form of the index for debugging purposes\n(define (print-index-v2 index-v2 adirTemp)\n  (define (string-left str end)\n    (substring str 0 (min (string-length str) end)))\n  (let* ((fn-primary (expand-user-path (build-path adirTemp fn-cprop-primary)))\n         (fd-primary (open-input-file fn-primary #:mode 'binary)))\n    (for ((i (range (vector-length index-v2))))\n      (let* ((s-n (vector-ref index-v2 i)))\n          (let* ((foffs (car s-n))\n                 (soffs (cdr s-n))\n                 (concept (foffs->concept fd-primary foffs))\n                 (id (list-ref concept 0))\n                 (name (list-ref concept 2))\n                 (st-hit (substring (string/searchable name) soffs))\n                 (st-hit-short (string-left st-hit 30)))\n            (printf \"~a (~a,~a) ~a len=~a id=~a\\n\" i foffs soffs st-hit-short (string-length st-hit) id))))\n    (close-input-port fd-primary)))\n\n\n;; Can we the sort an index without crashing?  If we print the index does it look right?\n(chk\n (#:do\n  (with-temporary-dir-cleanup\n    \"mediKanren-test-~a\"\n    (lambda (adirTemp)\n      (let* ((corpus2 #((\"ANIMALS:0123\" \"brown fox\"))))\n        (build-test-corpus corpus2 adirTemp)\n        (let-values (((hashcorpus index) (test:build-string-index-via-codec fn-cprop-primary adirTemp)))\n          (test:verify-corpus-index hashcorpus index)\n;          (printf \"about to print-index from corpus v2:\\n\")\n;          (print-index-v2 index adirTemp)\n          '()\n        )))))\n (#:t #t))\n\n(chk\n (#:do\n  (with-temporary-dir-cleanup\n    \"mediKanren-test-~a\"\n    (lambda (adirTemp)\n      (let* ((corpus2 #((\"JOBS:0123\" \"bookkeeper\"))))\n        (build-test-corpus corpus2 adirTemp)\n        (let-values (((hashcorpus index) (test:build-string-index-via-codec fn-cprop-primary adirTemp)))\n          (test:verify-corpus-index hashcorpus index)\n;          (printf \"about to print-index from corpus v2:\\n\")\n;          (print-index-v2 index adirTemp)\n          '()\n        )))))\n (#:t #t))\n\n(chk\n (#:do\n  (with-temporary-dir-cleanup\n    \"mediKanren-test-~a\"\n    (lambda (adirTemp)\n      (let* ((corpus2 #((\"JOBS:0123\" \"bookkeeper\")\n                        (\"JOBS:0123\" \"bookbinder\"))))\n        (build-test-corpus corpus2 adirTemp)\n        (let-values (((hashcorpus index) (test:build-string-index-via-codec fn-cprop-primary adirTemp)))\n          (test:verify-corpus-index hashcorpus index)\n;          (printf \"about to print-index from corpus v2:\\n\")\n;          (print-index-v2 index adirTemp)\n          '()\n        )))))\n (#:t #t))\n\n\n(chk\n (#:do\n  (with-temporary-dir-cleanup\n    \"mediKanren-test-~a\"\n    (lambda (adirTemp)\n      (let* ((corpus2 (vector-map car concept*-example-1)))\n        (build-test-corpus corpus2 adirTemp)\n        (let-values (((hashcorpus index) (test:build-string-index-via-codec fn-cprop-primary adirTemp)))\n          (test:verify-corpus-index hashcorpus index)\n;          (printf \"about to print-index from corpus v2:\\n\")\n;          (print-index-v2 index adirTemp)\n          '()\n        )))))\n (#:t #t))\n\n\n\n\n;; can we perform lookups in the new index format?\n(chk\n (#:do\n  (with-temporary-dir-cleanup\n    \"mediKanren-test-~a\"\n    (lambda (adirTemp)\n      (let ((fn-primary (expand-user-path (build-path adirTemp fn-cprop-primary))))\n        (build-test-corpus (vector-map car concept*-example-1) adirTemp)\n        (test:build-string-index-via-codec-and-write fn-cprop-primary fn-concept-name-index adirTemp)\n        (let ((lookup (lambda (name*)\n            (map uri-from-pri (db:~name*->concept*/options stsopt-default adirTemp fn-cprop-primary fn-concept-name-index name*)))))\n          (for ((i (range (vector-length concept*-example-1))))\n            (let* ((a-q (vector-ref concept*-example-1 i))\n                   (q (cdr a-q))\n                   (a (car a-q))\n                   (ids-expected (list (car a)))\n                   (ids (lookup q)))\n              (if (equal? ids ids-expected)\n                '() ;(displayln \"PASS\")\n                (displayln (format \"FAIL: name*->cid* i=~a ids-expected=~a ids=~a\" i ids-expected ids))))))))))\n (#:t #t))\n\n"
  },
  {
    "path": "medikanren2/test/10GB-CI/string-search-yeast-spec.rkt",
    "content": "#lang racket\n;(require racket)\n(require chk)\n(require \"../../db/yeast-sri-reference-kg-0.3.0.rkt\")\n(require \"../../base.rkt\")\n(require \"../../string-search.rkt\")\n\n;;; Can we perform lookups with the string search API?\n\n;; Does CACNA1 have at least 500 IDs?  (Most recent has 1185)\n(chk\n (#:t\n  (>=\n   (length (find-ids-named nodes '(\"CACNA1\")))\n   200)))\n\n(define cacna1-names\n  `((\"ClinVarVariant:11615\" \"NM_001256789.3(CACNA1F):c.2872C>T (p.Arg958Ter)\")\n    (\"ClinVarVariant:17623\" \"NM_000069.3(CACNA1S):c.3716G>A (p.Arg1239His)\")\n    (\"ClinVarVariant:17624\" \"NM_000069.3(CACNA1S):c.3715C>G (p.Arg1239Gly)\")\n    (\"ClinVarVariant:17625\" \"NM_000069.3(CACNA1S):c.1583G>A (p.Arg528His)\")\n    (\"ClinVarVariant:17626\" \"NM_000069.3(CACNA1S):c.3257G>A (p.Arg1086His)\")))\n\n;; find-ids-named: Do we find familiar IDs named CACNA1?\n(chk\n (#:=\n  (take\n   (sort\n    (find-ids-named nodes '(\"CACNA1\"))\n    string<?)\n   5)\n  (map car cacna1-names)\n  ))\n\n;; find-concepts-named: Do we find familiar IDs named CACNA1?\n(chk\n (#:=\n  (take\n   (sort\n    (run* (id object)\n          (fresh (subj)\n                 ((find-concepts-named nodes '(\"CACNA1\")) id subj object)\n                 (== subj \"name\")))\n    string<?\n    #:key car)\n   5)\n  cacna1-names))\n\n\n;; If we look up the names of our familar IDs, are they still the same?\n(chk\n (#:=\n  (map\n   cadr\n   (sort\n    (run* (id object)\n          (fresh (subj)\n                 (nodes id subj object)\n                 (== subj \"name\")\n                 (membero id (map car cacna1-names))))\n    string<?\n    #:key car))\n  (map cadr cacna1-names)))\n\n;; Multiple strings passed to find-ids-named should be interpreted as set intersection.\n(chk\n  (#:do (define a \"CACNA\"))\n  (#:do (define b \"2D1\"))\n  (#:do (define res-a (find-ids-named nodes `(,a) (make-stsopt))))\n  (#:do (define res-b (find-ids-named nodes `(,b) (make-stsopt))))\n  (#:do (define res-ab (find-ids-named nodes `(,a ,b) (make-stsopt))))\n  ;(#:do (printf \"found ~s ~s ~s\\n\" (length res-a) (length res-b) (length res-ab)))\n  ; .../yeast-sri-reference/0.3.0\n  ; found 1412 1374 49\n  (#:t (> (length res-a) 0))\n  (#:t (> (length res-b) 0))\n  (#:t (> (length res-ab) 0))\n  (#:t (> (length res-a) (length res-ab)))\n  (#:t (> (length res-b) (length res-ab)))\n  )\n\n(chk\n  (#:do (define a \"cacna\"))\n  (#:do (define b \"2d1\"))\n  (#:do (define stsopt1 (make-stsopt #:case-sensitive? #t)))\n  (#:do (define res-a (find-ids-named nodes `(,a) stsopt1)))\n  (#:do (define res-b (find-ids-named nodes `(,b) stsopt1)))\n  (#:do (define res-ab (find-ids-named nodes `(,a ,b) stsopt1)))\n  (#:do (printf \"found ~s ~s ~s\\n\" (length res-a) (length res-b) (length res-ab)))\n  ; .../yeast-sri-reference/0.3.0\n  ; found 650 736 21\n  (#:t #t))\n"
  },
  {
    "path": "medikanren2/test/10GB-CI/with-yeast-sri-reference-kg-spec.rkt",
    "content": "#lang racket\n(require \"../../base.rkt\"\n         \"../../db/yeast-sri-reference-kg-0.3.0.rkt\"\n         chk)\n\n\n(define uri-scn4a \"ENSEMBL:ENSBTAG00000004770\")\n\n(chk\n (#:= (run* (p o)\n            (fresh (id)\n                   (== id uri-scn4a)\n                   (membero p '(\"in_taxon\" \"description\"))\n                   (nodes id p o)))\n  '((\"in_taxon\" \"NCBITaxon:9913|NCBITaxon:9913\")\n    (\"description\" \"Sodium channel protein\"))))\n\n\n(define uri-ion-transport \"GO:0034765\")\n\n(chk\n (#:= (run* (p o)\n            (fresh (id)\n                   (== id uri-ion-transport)\n                   (membero p '(\"iri\" \"name\"))\n                   (nodes id p o)))\n  '((\"iri\" \"http://purl.obolibrary.org/obo/GO_0034765\")\n    (\"name\" \"regulation of ion transmembrane transport\"))))\n"
  },
  {
    "path": "medikanren2/test/example_mk2_queries.rkt",
    "content": "#lang racket/base\n(require\n \"../base.rkt\"\n (prefix-in semmed: \"../db/semmed.rkt\")\n (prefix-in rtx: \"../db/rtx2-20210204.rkt\")\n (prefix-in kgx: \"../db/kgx-synonym.rkt\")\n (prefix-in sri: \"../db/sri-reference-kg-0.3.0.rkt\")\n \"../synonyms.rkt\"\n racket/pretty)\n\n#|\n### Loading and Providing ###\n\n- (prefix-in ...) appends the symbol prefix given (ie \"semmed:\") onto the materialized relations built in the /db/semmed.rkt file, allowing the user\nto define specific relations from specific knowledge graphs for querying. Relations in both the rtx2-20210204.rkt and semmed.rkt files are named\ncprop, eprop, edge, meaning that without a prefix, use of  the (cprop ...) relation will query both rtx2 and semmed KGs. \n\n### KG Specific Relations ### \n* Note: for all KGs with a prefix in the require statement above, the corresponding prefix must be appended to relation for the query to run. \nShown below are the native relations from each KG *\n\nsemmed.rkt\n - cprop\n - eprop\n - edge\n\nrtx2-20210204.rkt\n - cprop\n - eprop\n - edge\n\nsri-reference-kg-0.3.0.rkt\n- nodes\n- edges\n\nsri-reference-kg-0.3.0.rkt\n- synonym\n\n\n|#\n\n \n;; relation cprop exists in rtx2, semmed\n(run 5\n     (c k v)\n     ;(rtx:cprop c k v)\n     (semmed:cprop c k v)\n     )\n\n;; relation eprop exists in rtx2, semmed\n(run 5\n     (c k v)\n     ;(rtx:eprop c k v)\n     (semmed:eprop c k v)\n     )\n\n;; relation edge exists in rtx2, semmed\n(run 5\n     (c k v)\n     ;(rtx:edge c k v)\n     (semmed:edge c k v)\n     )\n\n\n;; relation synonym should exist in kgx-synonym\n;; Question: Has anyone gotten a response/working query with this KG? \n(run 5\n     (a b)\n     (kgx:synonym '(a) \"CHEBI:28304\"))\n\n;; relation nodes should exist in sri-reference KG\n(run 5\n     (c k v)\n     (sri:nodes c k v)\n     )\n\n;; relation edges should exist in sri-reference KG\n(run 5\n     (c k v)\n     (sri:edges c k v)\n     )\n\n\n#|Using synonyms.rkt to get concept synonyms|#\n\n;;synonyms.rkt\n(run* s (direct-synonym s \"MONDO:0005260\"))\n\n;;(run* x (kgx:synonym x '(\"DOID:9351\")))\n\n"
  },
  {
    "path": "medikanren2/test/query_clinical_kg.rkt",
    "content": "#lang racket/base\n(require \"../base.rkt\" \"../db/clinical_kg.rkt\" racket/pretty)\n(provide (all-from-out \"../base.rkt\") (all-defined-out))\n\n(define-syntax-rule (test name e expected)\n  (begin (printf \"Testing ~s:\\n\" name)\n         (let ((answer (time e)))\n           (unless (equal? answer expected)\n             (pretty-write 'e)\n             (printf \"FAILED ~s:\\n\" name)\n             (printf \"  ANSWER:\\n\")\n             (pretty-write answer)\n             (printf \"  EXPECTED:\\n\")\n             (pretty-write expected)))))\n\n;; test query\n(define c19-test\n  (list \"LOINC:94500-6\" \"LOINC:41458-1\" \"LOINC:94756-4\" \"LOINC:94533-7\" \"LOINC:94507-1\" \"LOINC:94309-2\"))\n\n(define c19-test-positive-result\n  (list \"Positive\" \"Detected\"))\n\n(define thrombotic-event-curies\n  (list \"ICD-10-CM:I21.A1\" \"ICD-10-CM:I21.A9\" \"ICD-10-CM:I21.0\"\n\t\"ICD-10-CM:I21.21\" \"ICD-10-CM:I21.1\" \"ICD-10-CM:I21.4\"\n\t\"ICD-10-CM:I21.9\" \"ICD-10-CM:I21.A\" \"ICD-10-CM:I21.3\"\n\t)\n  )\n\n#;(define c19-cohort\n  (run* (id date curie string value units)\n     (membero curie c19-test)\n     (membero value c19-test-positive-result)\n     (patient-clinical-data\n      id\n      date\n      curie\n      string\n      value\n      units)\n     ))\n\n#;(pretty-print (length c19-cohort))\n\n(define c19-cohort-with-thrombotic-event\n  (run 50 (id date curie string value units thrombotic-events)\n\t(membero curie c19-test)\n\t(membero value c19-test-positive-result)\n\t(=/= thrombotic-events '())\n \t(patient-clinical-data\n\t id\n\t date\n\t curie\n\t string\n\t value\n\t units)\n\t(:==  thrombotic-events (id date)\n\t      (run* (thrombotic-event-date curie string)\n\t\t    (fresh (value units)\n\t\t\t   (<=o date thrombotic-event-date)\n\t\t\t   (membero curie thrombotic-event-curies)\n\t\t\t   (patient-clinical-data\n\t\t\t    id\n\t\t\t    thrombotic-event-date\n\t\t\t    curie\n\t\t\t    string\n\t\t\t    value\n\t\t\t    units))))))\n\n(pretty-print c19-cohort-with-thrombotic-event)\n"
  },
  {
    "path": "medikanren2/test/rtx2-20210204.rkt",
    "content": "#lang racket/base\n(require \"../base.rkt\" \"../db/rtx2-20210204.rkt\" racket/pretty)\n\n(define-syntax-rule (test name e expected)\n  (begin (printf \"Testing ~s:\\n\" name)\n         (let ((answer (time e)))\n           (unless (equal? answer expected)\n             (pretty-write 'e)\n             (printf \"FAILED ~s:\\n\" name)\n             (printf \"  ANSWER:\\n\")\n             (pretty-write answer)\n             (printf \"  EXPECTED:\\n\")\n             (pretty-write expected)))))\n\n(test 'various-concept-properties\n  (run 5 (id k v) (cprop id k v))\n  '((\"MEDDRA:10001490\" \"category\" \"biolink:Activity\")\n    (\"MEDDRA:10001494\" \"category\" \"biolink:Activity\")\n    (\"MEDDRA:10001535\" \"category\" \"biolink:Activity\")\n    (\"MEDDRA:10001846\" \"category\" \"biolink:Activity\")\n    (\"MEDDRA:10003536\" \"category\" \"biolink:Activity\")))\n\n(test 'various-edges\n  (run 5 (id s o) (edge id s o))\n  '((12605868 \"EHDAA2:0004546\" \"AEO:0000013\")\n    (12606986 \"EHDAA2:0000152\" \"AEO:0000078\")\n    (12606988 \"EHDAA2:0000503\" \"AEO:0000078\")\n    (12606984 \"EHDAA2:0000935\" \"AEO:0000078\")\n    (12606994 \"EHDAA2:0001051\" \"AEO:0000078\")))\n\n(test 'various-edge-properties\n  (run 5 (id k v) (eprop id k v))\n  '((0 \"negated\" \"False\")\n    (1 \"negated\" \"False\")\n    (2 \"negated\" \"False\")\n    (3 \"negated\" \"False\")\n    (4 \"negated\" \"False\")))\n\n(test 'all-concept-properties\n  (run* k\n    (fresh (curie v)\n      (cprop curie k v)))\n  '(\"category\"\n    \"category_label\"\n    \"creation_date\"\n    \"deprecated\"\n    \"description\"\n    \"full_name\"\n    \"id\"\n    \"iri\"\n    \"name\"\n    \"provided_by\"\n    \"publications\"\n    \"replaced_by\"\n    \"synonym\"\n    \"update_date\"))\n\n(test 'all-edge-properties\n  (run* k\n    (fresh (eid v)\n      (eprop eid k v)))\n  '(\"negated\"\n    \"object\"\n    \"predicate\"\n    \"predicate_label\"\n    \"provided_by\"\n    \"publications\"\n    \"publications_info\"\n    \"relation\"\n    \"relation_label\"\n    \"subject\"\n    \"update_date\"))\n\n(test 'all-concept-categories\n  (run* category\n    (fresh (curie)\n      (cprop curie \"category\" category)))\n  '(\"biolink:Activity\"\n    \"biolink:Agent\"\n    \"biolink:AnatomicalEntity\"\n    \"biolink:Attribute\"\n    \"biolink:BiologicalEntity\"\n    \"biolink:BiologicalProcess\"\n    \"biolink:BiologicalProcessOrActivity\"\n    \"biolink:Carbohydrate\"\n    \"biolink:Cell\"\n    \"biolink:CellularComponent\"\n    \"biolink:ChemicalSubstance\"\n    \"biolink:ClinicalIntervention\"\n    \"biolink:ClinicalModifier\"\n    \"biolink:DataFile\"\n    \"biolink:Device\"\n    \"biolink:Disease\"\n    \"biolink:DiseaseOrPhenotypicFeature\"\n    \"biolink:Drug\"\n    \"biolink:EnvironmentalFeature\"\n    \"biolink:EnvironmentalProcess\"\n    \"biolink:Exon\"\n    \"biolink:ExposureEvent\"\n    \"biolink:FrequencyValue\"\n    \"biolink:Gene\"\n    \"biolink:GeneFamily\"\n    \"biolink:GeneProduct\"\n    \"biolink:GenomicEntity\"\n    \"biolink:GeographicLocation\"\n    \"biolink:GrossAnatomicalStructure\"\n    \"biolink:IndividualOrganism\"\n    \"biolink:InformationContentEntity\"\n    \"biolink:LifeStage\"\n    \"biolink:MacromolecularComplex\"\n    \"biolink:MaterialSample\"\n    \"biolink:Metabolite\"\n    \"biolink:MolecularActivity\"\n    \"biolink:MolecularEntity\"\n    \"biolink:NamedThing\"\n    \"biolink:OntologyClass\"\n    \"biolink:OrganismTaxon\"\n    \"biolink:OrganismalEntity\"\n    \"biolink:Pathway\"\n    \"biolink:Phenomenon\"\n    \"biolink:PhenotypicFeature\"\n    \"biolink:PhysicalEntity\"\n    \"biolink:PhysiologicalProcess\"\n    \"biolink:PopulationOfIndividualOrganisms\"\n    \"biolink:Procedure\"\n    \"biolink:Protein\"\n    \"biolink:Publication\"\n    \"biolink:QuantityValue\"\n    \"biolink:RelationshipType\"\n    \"biolink:Treatment\"))\n\n(test 'all-predicates\n  (run* predicate\n    (fresh (eid)\n      (eprop eid \"predicate\" predicate)))\n  '(\"biolink:actively_involved_in\"\n    \"biolink:affects\"\n    \"biolink:affects_activity_of\"\n    \"biolink:affects_degradation_of\"\n    \"biolink:affects_localization_of\"\n    \"biolink:affects_transport_of\"\n    \"biolink:biomarker_for\"\n    \"biolink:capable_of\"\n    \"biolink:causes\"\n    \"biolink:chemically_similar_to\"\n    \"biolink:close_match\"\n    \"biolink:coexists_with\"\n    \"biolink:colocalizes_with\"\n    \"biolink:contraindicated_for\"\n    \"biolink:contributes_to\"\n    \"biolink:correlated_with\"\n    \"biolink:decreases_activity_of\"\n    \"biolink:decreases_expression_of\"\n    \"biolink:derives_from\"\n    \"biolink:derives_into\"\n    \"biolink:develops_from\"\n    \"biolink:directly_interacts_with\"\n    \"biolink:disease_has_basis_in\"\n    \"biolink:disrupts\"\n    \"biolink:enables\"\n    \"biolink:expressed_in\"\n    \"biolink:expresses\"\n    \"biolink:gene_associated_with_condition\"\n    \"biolink:has_attribute\"\n    \"biolink:has_attribute_type\"\n    \"biolink:has_completed\"\n    \"biolink:has_count\"\n    \"biolink:has_decreased_amount\"\n    \"biolink:has_gene_product\"\n    \"biolink:has_increased_amount\"\n    \"biolink:has_input\"\n    \"biolink:has_molecular_consequence\"\n    \"biolink:has_not_completed\"\n    \"biolink:has_output\"\n    \"biolink:has_part\"\n    \"biolink:has_participant\"\n    \"biolink:has_phenotype\"\n    \"biolink:has_quantitative_value\"\n    \"biolink:has_route\"\n    \"biolink:has_unit\"\n    \"biolink:homologous_to\"\n    \"biolink:in_taxon\"\n    \"biolink:increases_activity_of\"\n    \"biolink:increases_degradation_of\"\n    \"biolink:increases_expression_of\"\n    \"biolink:increases_metabolic_processing_of\"\n    \"biolink:increases_stability_of\"\n    \"biolink:interacts_with\"\n    \"biolink:is_sequence_variant_of\"\n    \"biolink:lacks_part\"\n    \"biolink:located_in\"\n    \"biolink:location_of\"\n    \"biolink:manifestation_of\"\n    \"biolink:model_of\"\n    \"biolink:molecularly_interacts_with\"\n    \"biolink:negatively_regulates\"\n    \"biolink:negatively_regulates,_entity_to_entity\"\n    \"biolink:negatively_regulates,_process_to_process\"\n    \"biolink:occurs_in\"\n    \"biolink:overlaps\"\n    \"biolink:part_of\"\n    \"biolink:participates_in\"\n    \"biolink:physically_interacts_with\"\n    \"biolink:positively_regulates\"\n    \"biolink:positively_regulates,_entity_to_entity\"\n    \"biolink:positively_regulates,_process_to_process\"\n    \"biolink:preceded_by\"\n    \"biolink:precedes\"\n    \"biolink:predisposes\"\n    \"biolink:prevents\"\n    \"biolink:produces\"\n    \"biolink:quantifier_qualifier\"\n    \"biolink:regulates\"\n    \"biolink:regulates,_process_to_process\"\n    \"biolink:related_to\"\n    \"biolink:same_as\"\n    \"biolink:subclass_of\"\n    \"biolink:synonym\"\n    \"biolink:temporally_related_to\"\n    \"biolink:treats\"))\n\n(test 'all-relations\n  (run* relation\n    (fresh (eid)\n      (eprop eid \"relation\" relation)))\n  '(\"BFO:0000050\"\n    \"BFO:0000051\"\n    \"BFO:0000054\"\n    \"BFO:0000055\"\n    \"BFO:0000056\"\n    \"BFO:0000062\"\n    \"BFO:0000063\"\n    \"BFO:0000066\"\n    \"BFO:0000067\"\n    \"BFO:0000068\"\n    \"BFO:0000069\"\n    \"BFO:0000117\"\n    \"BFO:0000167\"\n    \"BSPO:0000096\"\n    \"BSPO:0000097\"\n    \"BSPO:0000098\"\n    \"BSPO:0000099\"\n    \"BSPO:0000100\"\n    \"BSPO:0000102\"\n    \"BSPO:0000104\"\n    \"BSPO:0000107\"\n    \"BSPO:0000108\"\n    \"BSPO:0000110\"\n    \"BSPO:0000113\"\n    \"BSPO:0000120\"\n    \"BSPO:0000121\"\n    \"BSPO:0000122\"\n    \"BSPO:0000123\"\n    \"BSPO:0000124\"\n    \"BSPO:0000125\"\n    \"BSPO:0000126\"\n    \"BSPO:0001100\"\n    \"BSPO:0001101\"\n    \"BSPO:0001106\"\n    \"BSPO:0001107\"\n    \"BSPO:0001108\"\n    \"BSPO:0001113\"\n    \"BSPO:0001115\"\n    \"BSPO:0005001\"\n    \"BSPO:0015001\"\n    \"BSPO:0015002\"\n    \"BSPO:0015003\"\n    \"BSPO:0015005\"\n    \"BSPO:0015006\"\n    \"BSPO:0015007\"\n    \"BSPO:0015008\"\n    \"BSPO:0015009\"\n    \"BSPO:0015012\"\n    \"BSPO:0015014\"\n    \"BSPO:0015101\"\n    \"BSPO:0015102\"\n    \"BSPO:0015202\"\n    \"BTO:develops_from\"\n    \"BTO:related_to\"\n    \"CHEBI:has_functional_parent\"\n    \"CHEBI:has_parent_hydride\"\n    \"CHEBI:is_conjugate_acid_of\"\n    \"CHEBI:is_conjugate_base_of\"\n    \"CHEBI:is_enantiomer_of\"\n    \"CHEBI:is_substituent_group_from\"\n    \"CHEBI:is_tautomer_of\"\n    \"CHEMBL.MECHANISM:activator\"\n    \"CHEMBL.MECHANISM:agonist\"\n    \"CHEMBL.MECHANISM:allosteric_antagonist\"\n    \"CHEMBL.MECHANISM:antagonist\"\n    \"CHEMBL.MECHANISM:antisense_inhibitor\"\n    \"CHEMBL.MECHANISM:binding_agent\"\n    \"CHEMBL.MECHANISM:blocker\"\n    \"CHEMBL.MECHANISM:chelating_agent\"\n    \"CHEMBL.MECHANISM:cross-linking_agent\"\n    \"CHEMBL.MECHANISM:degrader\"\n    \"CHEMBL.MECHANISM:disrupting_agent\"\n    \"CHEMBL.MECHANISM:equivalent_to\"\n    \"CHEMBL.MECHANISM:hydrolytic_enzyme\"\n    \"CHEMBL.MECHANISM:inhibitor\"\n    \"CHEMBL.MECHANISM:inverse_agonist\"\n    \"CHEMBL.MECHANISM:modulator\"\n    \"CHEMBL.MECHANISM:negative_allosteric_modulator\"\n    \"CHEMBL.MECHANISM:negative_modulator\"\n    \"CHEMBL.MECHANISM:opener\"\n    \"CHEMBL.MECHANISM:overlaps_with\"\n    \"CHEMBL.MECHANISM:oxidative_enzyme\"\n    \"CHEMBL.MECHANISM:partial_agonist\"\n    \"CHEMBL.MECHANISM:positive_allosteric_modulator\"\n    \"CHEMBL.MECHANISM:positive_modulator\"\n    \"CHEMBL.MECHANISM:proteolytic_enzyme\"\n    \"CHEMBL.MECHANISM:reducing_agent\"\n    \"CHEMBL.MECHANISM:releasing_agent\"\n    \"CHEMBL.MECHANISM:sequestering_agent\"\n    \"CHEMBL.MECHANISM:stabiliser\"\n    \"CHEMBL.MECHANISM:subset_of\"\n    \"CHEMBL.MECHANISM:substrate\"\n    \"CHEMBL.MECHANISM:superset_of\"\n    \"CL:has_completed\"\n    \"CL:has_high_plasma_membrane_amount\"\n    \"CL:has_low_plasma_membrane_amount\"\n    \"CL:has_not_completed\"\n    \"CL:lacks_part\"\n    \"CL:lacks_plasma_membrane_part\"\n    \"CPT:has_add_on_code\"\n    \"CPT:has_possibly_included_panel_element\"\n    \"CPT:mapped_to\"\n    \"CPT:panel_element_of\"\n    \"CPT:panel_element_of_possibly_included\"\n    \"DDANAT:develops_from\"\n    \"DGIdb:activator\"\n    \"DGIdb:adduct\"\n    \"DGIdb:affects\"\n    \"DGIdb:agonist\"\n    \"DGIdb:allosteric_modulator\"\n    \"DGIdb:antagonist\"\n    \"DGIdb:antibody\"\n    \"DGIdb:antisense_oligonucleotide\"\n    \"DGIdb:binder\"\n    \"DGIdb:blocker\"\n    \"DGIdb:chaperone\"\n    \"DGIdb:cleavage\"\n    \"DGIdb:cofactor\"\n    \"DGIdb:inducer\"\n    \"DGIdb:inhibitor\"\n    \"DGIdb:inhibitory_allosteric_modulator\"\n    \"DGIdb:inverse_agonist\"\n    \"DGIdb:ligand\"\n    \"DGIdb:modulator\"\n    \"DGIdb:multitarget\"\n    \"DGIdb:negative_modulator\"\n    \"DGIdb:partial_agonist\"\n    \"DGIdb:partial_antagonist\"\n    \"DGIdb:positive_modulator\"\n    \"DGIdb:potentiator\"\n    \"DGIdb:product_of\"\n    \"DGIdb:stimulator\"\n    \"DGIdb:substrate\"\n    \"DGIdb:suppressor\"\n    \"DGIdb:vaccine\"\n    \"DRUGBANK:category\"\n    \"DRUGBANK:drug-interaction\"\n    \"DRUGBANK:external-identifier\"\n    \"DRUGBANK:pathway\"\n    \"DRUGBANK:target\"\n    \"EFO:0000784\"\n    \"EFO:0001697\"\n    \"EFO:0006351\"\n    \"EFO:is_executed_in\"\n    \"ENVO:01001307\"\n    \"FMA:adheres_to\"\n    \"FMA:adjacent_to\"\n    \"FMA:afferent_to\"\n    \"FMA:anterior_to\"\n    \"FMA:anteroinferior_to\"\n    \"FMA:anterolateral_to\"\n    \"FMA:anteromedial_to\"\n    \"FMA:anterosuperior_to\"\n    \"FMA:arterial_supply_of\"\n    \"FMA:articulates_with\"\n    \"FMA:attaches_to\"\n    \"FMA:bounded_by\"\n    \"FMA:bounds\"\n    \"FMA:branch_of\"\n    \"FMA:connected_to\"\n    \"FMA:connection_type_of\"\n    \"FMA:constitutional_part_of\"\n    \"FMA:contained_in\"\n    \"FMA:contains\"\n    \"FMA:continuation_branch_of\"\n    \"FMA:continuous_distally_with\"\n    \"FMA:continuous_proximally_with\"\n    \"FMA:continuous_with\"\n    \"FMA:corresponds_to\"\n    \"FMA:derives\"\n    \"FMA:derives_from\"\n    \"FMA:development_type_of\"\n    \"FMA:developmental_stage_of\"\n    \"FMA:develops_from\"\n    \"FMA:develops_into\"\n    \"FMA:direct_cell_shape_of\"\n    \"FMA:direct_left_of\"\n    \"FMA:direct_right_of\"\n    \"FMA:distal_to\"\n    \"FMA:drains_into\"\n    \"FMA:efferent_to\"\n    \"FMA:external_to\"\n    \"FMA:formed_by\"\n    \"FMA:forms\"\n    \"FMA:full_grown_phenotype_of\"\n    \"FMA:fuses_with\"\n    \"FMA:fusion_of\"\n    \"FMA:germ_origin_of\"\n    \"FMA:has_adherent\"\n    \"FMA:has_arterial_supply\"\n    \"FMA:has_branch\"\n    \"FMA:has_connection_type\"\n    \"FMA:has_constitutional_part\"\n    \"FMA:has_continuation_branch\"\n    \"FMA:has_development_type\"\n    \"FMA:has_developmental_stage\"\n    \"FMA:has_direct_cell_shape\"\n    \"FMA:has_full_grown_phenotype\"\n    \"FMA:has_fusion\"\n    \"FMA:has_germ_origin\"\n    \"FMA:has_inherent_3d_shape\"\n    \"FMA:has_insertion\"\n    \"FMA:has_location\"\n    \"FMA:has_lymphatic_drainage\"\n    \"FMA:has_member\"\n    \"FMA:has_nerve_supply\"\n    \"FMA:has_observed_anatomical_entity\"\n    \"FMA:has_origin\"\n    \"FMA:has_part\"\n    \"FMA:has_primary_segmental_supply\"\n    \"FMA:has_projection\"\n    \"FMA:has_regional_part\"\n    \"FMA:has_related_developmental_entity\"\n    \"FMA:has_secondary_segmental_supply\"\n    \"FMA:has_segmental_composition\"\n    \"FMA:has_segmental_supply\"\n    \"FMA:has_tributary\"\n    \"FMA:has_venous_drainage\"\n    \"FMA:homonym_of\"\n    \"FMA:inferior_to\"\n    \"FMA:inferolateral_to\"\n    \"FMA:inferomedial_to\"\n    \"FMA:inherent_3d_shape_of\"\n    \"FMA:insertion_of\"\n    \"FMA:internal_to\"\n    \"FMA:lateral_to\"\n    \"FMA:left_lateral_to\"\n    \"FMA:left_medial_to\"\n    \"FMA:location_of\"\n    \"FMA:lymphatic_drainage_of\"\n    \"FMA:matures_from\"\n    \"FMA:matures_into\"\n    \"FMA:medial_to\"\n    \"FMA:member_of\"\n    \"FMA:merges_with\"\n    \"FMA:nerve_supply_of\"\n    \"FMA:origin_of\"\n    \"FMA:part_of\"\n    \"FMA:posterior_to\"\n    \"FMA:posteroinferior_to\"\n    \"FMA:posterolateral_to\"\n    \"FMA:posteromedial_to\"\n    \"FMA:posterosuperior_to\"\n    \"FMA:primary_segmental_supply_of\"\n    \"FMA:projects_from\"\n    \"FMA:projects_to\"\n    \"FMA:proximal_to\"\n    \"FMA:receives_attachment_from\"\n    \"FMA:receives_drainage_from\"\n    \"FMA:receives_input_from\"\n    \"FMA:receives_projection\"\n    \"FMA:regional_part_of\"\n    \"FMA:related_developmental_entity_of\"\n    \"FMA:related_object\"\n    \"FMA:related_part\"\n    \"FMA:right_lateral_to\"\n    \"FMA:right_medial_to\"\n    \"FMA:secondary_segmental_supply_of\"\n    \"FMA:segmental_composition_of\"\n    \"FMA:segmental_supply_of\"\n    \"FMA:sends_output_to\"\n    \"FMA:superior_to\"\n    \"FMA:superolateral_to\"\n    \"FMA:superomedial_to\"\n    \"FMA:surrounded_by\"\n    \"FMA:surrounds\"\n    \"FMA:transforms_from\"\n    \"FMA:transforms_into\"\n    \"FMA:tributary_of\"\n    \"FMA:venous_drainage_of\"\n    \"FOODON:00001301\"\n    \"FOODON:00001563\"\n    \"FOODON:00002420\"\n    \"GENEPIO:0001739\"\n    \"GO:acts_upstream_of\"\n    \"GO:acts_upstream_of_negative_effect\"\n    \"GO:acts_upstream_of_or_within\"\n    \"GO:acts_upstream_of_or_within_negative_effect\"\n    \"GO:acts_upstream_of_or_within_positive_effect\"\n    \"GO:acts_upstream_of_positive_effect\"\n    \"GO:colocalizes_with\"\n    \"GO:contributes_to\"\n    \"GO:enables\"\n    \"GO:ends_during\"\n    \"GO:happens_during\"\n    \"GO:has_occurrence\"\n    \"GO:has_part\"\n    \"GO:inverse_ends_during\"\n    \"GO:inverse_isa\"\n    \"GO:involved_in\"\n    \"GO:is_active_in\"\n    \"GO:isa\"\n    \"GO:negatively_regulated_by\"\n    \"GO:negatively_regulates\"\n    \"GO:occurs_in\"\n    \"GO:part_of\"\n    \"GO:positively_regulated_by\"\n    \"GO:positively_regulates\"\n    \"GO:regulated_by\"\n    \"GO:regulates\"\n    \"GOREL:0000040\"\n    \"GOREL:0002003\"\n    \"GOREL:0002004\"\n    \"GOREL:0002005\"\n    \"GOREL:0012006\"\n    \"HANCESTRO:0301\"\n    \"HANCESTRO:0330\"\n    \"HCPCS:mapped_to\"\n    \"HMDB:at_cellular_location\"\n    \"HMDB:at_tissue\"\n    \"HMDB:disease\"\n    \"HMDB:has_protein_association\"\n    \"HMDB:in_biospecimen\"\n    \"HMDB:in_pathway\"\n    \"IAO:0000039\"\n    \"IAO:0000136\"\n    \"IAO:0000219\"\n    \"IDO:0000664\"\n    \"LOINC:analyzes\"\n    \"LOINC:associated_with\"\n    \"LOINC:class_of\"\n    \"LOINC:component_of\"\n    \"LOINC:has_action_guidance\"\n    \"LOINC:has_adjustment\"\n    \"LOINC:has_aggregation_view\"\n    \"LOINC:has_answer\"\n    \"LOINC:has_approach_guidance\"\n    \"LOINC:has_archetype\"\n    \"LOINC:has_challenge\"\n    \"LOINC:has_class\"\n    \"LOINC:has_component\"\n    \"LOINC:has_count\"\n    \"LOINC:has_divisor\"\n    \"LOINC:has_evaluation\"\n    \"LOINC:has_exam\"\n    \"LOINC:has_fragments_for_synonyms\"\n    \"LOINC:has_imaged_location\"\n    \"LOINC:has_imaging_focus\"\n    \"LOINC:has_lateral_anatomic_location\"\n    \"LOINC:has_lateral_location_presence\"\n    \"LOINC:has_member\"\n    \"LOINC:has_method\"\n    \"LOINC:has_modality_subtype\"\n    \"LOINC:has_modality_type\"\n    \"LOINC:has_object_guidance\"\n    \"LOINC:has_parent_group\"\n    \"LOINC:has_pharmaceutical_route\"\n    \"LOINC:has_scale\"\n    \"LOINC:has_subject\"\n    \"LOINC:has_suffix\"\n    \"LOINC:has_supersystem\"\n    \"LOINC:has_system\"\n    \"LOINC:has_time_aspect\"\n    \"LOINC:has_time_modifier\"\n    \"LOINC:has_timing_of\"\n    \"LOINC:has_view_type\"\n    \"LOINC:is_given_pharmaceutical_substance_for\"\n    \"LOINC:is_presence_guidance_for\"\n    \"LOINC:mapped_to\"\n    \"LOINC:measured_by\"\n    \"LOINC:member_of\"\n    \"LOINC:mth_has_expanded_form\"\n    \"LOINC:multipart_of\"\n    \"LOINC:property_of\"\n    \"MEDDRA:classified_as\"\n    \"MEDDRA:has_member\"\n    \"MEDDRA:member_of\"\n    \"MESH:RO\"\n    \"MESH:has_mapping_qualifier\"\n    \"MESH:inverse_isa\"\n    \"MESH:isa\"\n    \"MESH:mapped_to\"\n    \"MONDO:disease_causes_feature\"\n    \"MONDO:disease_has_basis_in_accumulation_of\"\n    \"MONDO:disease_has_basis_in_development_of\"\n    \"MONDO:disease_has_major_feature\"\n    \"MONDO:disease_responds_to\"\n    \"MONDO:disease_shares_features_of\"\n    \"MONDO:disease_triggers\"\n    \"MONDO:equivalentTo\"\n    \"MONDO:has_onset\"\n    \"MONDO:part_of_progression_of_disease\"\n    \"MONDO:predisposes_towards\"\n    \"NCIT:allele_absent_from_wild-type_chromosomal_location\"\n    \"NCIT:allele_has_abnormality\"\n    \"NCIT:allele_has_activity\"\n    \"NCIT:allele_in_chromosomal_location\"\n    \"NCIT:allele_plays_altered_role_in_process\"\n    \"NCIT:allele_plays_role_in_metabolism_of_chemical_or_drug\"\n    \"NCIT:anatomic_structure_is_physical_part_of\"\n    \"NCIT:biological_process_has_associated_location\"\n    \"NCIT:biological_process_has_result_anatomy\"\n    \"NCIT:biological_process_has_result_biological_process\"\n    \"NCIT:biological_process_has_result_chemical_or_drug\"\n    \"NCIT:biological_process_involves_chemical_or_drug\"\n    \"NCIT:cdrh_parent_of\"\n    \"NCIT:chemical_or_drug_affects_abnormal_cell\"\n    \"NCIT:chemical_or_drug_affects_cell_type_or_tissue\"\n    \"NCIT:chemical_or_drug_affects_gene_product\"\n    \"NCIT:chemical_or_drug_has_mechanism_of_action\"\n    \"NCIT:chemical_or_drug_has_physiologic_effect\"\n    \"NCIT:chemical_or_drug_initiates_biological_process\"\n    \"NCIT:chromosome_mapped_to_disease\"\n    \"NCIT:complex_has_physical_part\"\n    \"NCIT:conceptual_part_of\"\n    \"NCIT:ctcae_5_parent_of\"\n    \"NCIT:cytogenetic_abnormality_involves_chromosome\"\n    \"NCIT:disease_has_associated_anatomic_site\"\n    \"NCIT:disease_has_finding\"\n    \"NCIT:disease_has_metastatic_anatomic_site\"\n    \"NCIT:disease_has_molecular_abnormality\"\n    \"NCIT:disease_has_normal_tissue_origin\"\n    \"NCIT:disease_has_primary_anatomic_site\"\n    \"NCIT:disease_is_grade\"\n    \"NCIT:disease_is_marked_by_gene\"\n    \"NCIT:disease_is_stage\"\n    \"NCIT:disease_may_have_abnormal_cell\"\n    \"NCIT:disease_may_have_associated_disease\"\n    \"NCIT:disease_may_have_finding\"\n    \"NCIT:disease_may_have_molecular_abnormality\"\n    \"NCIT:enzyme_metabolizes_chemical_or_drug\"\n    \"NCIT:eo_disease_has_associated_cell_type\"\n    \"NCIT:eo_disease_has_associated_eo_anatomy\"\n    \"NCIT:eo_disease_has_property_or_attribute\"\n    \"NCIT:gene_associated_with_disease\"\n    \"NCIT:gene_encodes_gene_product\"\n    \"NCIT:gene_found_in_organism\"\n    \"NCIT:gene_has_physical_location\"\n    \"NCIT:gene_in_chromosomal_location\"\n    \"NCIT:gene_involved_in_molecular_abnormality\"\n    \"NCIT:gene_involved_in_pathogenesis_of_disease\"\n    \"NCIT:gene_is_biomarker_of\"\n    \"NCIT:gene_is_biomarker_type\"\n    \"NCIT:gene_is_element_in_pathway\"\n    \"NCIT:gene_mapped_to_disease\"\n    \"NCIT:gene_mutant_encodes_gene_product_sequence_variation\"\n    \"NCIT:gene_plays_role_in_process\"\n    \"NCIT:gene_product_expressed_in_tissue\"\n    \"NCIT:gene_product_has_abnormality\"\n    \"NCIT:gene_product_has_associated_anatomy\"\n    \"NCIT:gene_product_has_biochemical_function\"\n    \"NCIT:gene_product_has_chemical_classification\"\n    \"NCIT:gene_product_has_organism_source\"\n    \"NCIT:gene_product_has_structural_domain_or_motif\"\n    \"NCIT:gene_product_is_biomarker_of\"\n    \"NCIT:gene_product_is_biomarker_type\"\n    \"NCIT:gene_product_is_element_in_pathway\"\n    \"NCIT:gene_product_is_physical_part_of\"\n    \"NCIT:gene_product_malfunction_associated_with_disease\"\n    \"NCIT:gene_product_plays_role_in_biological_process\"\n    \"NCIT:gene_product_sequence_variation_encoded_by_gene_mutant\"\n    \"NCIT:gene_product_variant_of_gene_product\"\n    \"NCIT:genetic_biomarker_related_to\"\n    \"NCIT:has_data_element\"\n    \"NCIT:has_inc_parent\"\n    \"NCIT:has_nichd_parent\"\n    \"NCIT:has_pharmaceutical_administration_method\"\n    \"NCIT:has_pharmaceutical_basic_dose_form\"\n    \"NCIT:has_pharmaceutical_intended_site\"\n    \"NCIT:has_pharmaceutical_release_characteristics\"\n    \"NCIT:has_pharmaceutical_state_of_matter\"\n    \"NCIT:has_pharmaceutical_transformation\"\n    \"NCIT:has_salt_form\"\n    \"NCIT:has_target\"\n    \"NCIT:human_disease_maps_to_eo_disease\"\n    \"NCIT:is_abnormal_cell_of_disease\"\n    \"NCIT:is_associated_disease_of\"\n    \"NCIT:is_component_of_chemotherapy_regimen\"\n    \"NCIT:is_cytogenetic_abnormality_of_disease\"\n    \"NCIT:is_location_of_anatomic_structure\"\n    \"NCIT:is_molecular_abnormality_of_disease\"\n    \"NCIT:is_normal_cell_origin_of_disease\"\n    \"NCIT:is_organism_source_of_gene_product\"\n    \"NCIT:is_qualified_by\"\n    \"NCIT:is_related_to_endogenous_product\"\n    \"NCIT:may_be_normal_cell_origin_of_disease\"\n    \"NCIT:neoplasm_has_special_category\"\n    \"NCIT:organism_has_gene\"\n    \"NCIT:pathway_has_gene_element\"\n    \"NCIT:procedure_has_completely_excised_anatomy\"\n    \"NCIT:procedure_has_excised_anatomy\"\n    \"NCIT:procedure_has_imaged_anatomy\"\n    \"NCIT:procedure_has_partially_excised_anatomy\"\n    \"NCIT:procedure_has_target_anatomy\"\n    \"NCIT:procedure_may_have_completely_excised_anatomy\"\n    \"NCIT:procedure_may_have_excised_anatomy\"\n    \"NCIT:procedure_may_have_partially_excised_anatomy\"\n    \"NCIT:process_includes_biological_process\"\n    \"NCIT:process_initiates_biological_process\"\n    \"NCIT:process_involves_gene\"\n    \"NCIT:qualifier_applies_to\"\n    \"NCIT:regimen_has_accepted_use_for_disease\"\n    \"NCIT:role_has_domain\"\n    \"NCIT:role_has_parent\"\n    \"NCIT:role_has_range\"\n    \"NCIT:subset_includes_concept\"\n    \"NDDF:has_dose_form\"\n    \"NDDF:has_ingredient\"\n    \"NDDF:ingredient_of\"\n    \"OBI:0000293\"\n    \"OBI:0000295\"\n    \"OBI:0000299\"\n    \"OBI:0001927\"\n    \"OBO:INO_0000154\"\n    \"OBO:core#connected_to\"\n    \"OBO:core#distally_connected_to\"\n    \"OBO:core#innervated_by\"\n    \"OBO:core#subdivision_of\"\n    \"OBO:doid#derives_from\"\n    \"OBO:doid#has_symptom\"\n    \"OBO:envo#has_increased_levels_of\"\n    \"OBO:exo.obo#interacts_with\"\n    \"OBO:exo.obo#interacts_with_an_exposure_receptor_via\"\n    \"OBO:exo.obo#interacts_with_an_exposure_stressor_via\"\n    \"OBO:hancestro_0308\"\n    \"OBO:has_role\"\n    \"OBO:intersection_of\"\n    \"OBO:nbo#by_means\"\n    \"OBO:nbo#has_participant\"\n    \"OBO:nbo#in_response_to\"\n    \"OBO:nbo#is_about\"\n    \"OBO:uo#is_unit_of\"\n    \"OBO:xref\"\n    \"OBOREL:bearer_of\"\n    \"OMIM:allelic_variant_of\"\n    \"OMIM:has_inheritance_type\"\n    \"OMIM:has_manifestation\"\n    \"OMIM:has_phenotype\"\n    \"OMIM:manifestation_of\"\n    \"OMIM:phenotype_of\"\n    \"ORPHANET:317343\"\n    \"ORPHANET:317344\"\n    \"ORPHANET:317345\"\n    \"ORPHANET:317346\"\n    \"ORPHANET:317348\"\n    \"ORPHANET:317349\"\n    \"ORPHANET:327767\"\n    \"ORPHANET:410295\"\n    \"ORPHANET:410296\"\n    \"ORPHANET:465410\"\n    \"ORPHANET:C016\"\n    \"ORPHANET:C017\"\n    \"PATO:correlates_with\"\n    \"PATO:decreased_in_magnitude_relative_to\"\n    \"PATO:has_cross_section\"\n    \"PATO:has_relative_magnitude\"\n    \"PATO:increased_in_magnitude_relative_to\"\n    \"PATO:reciprocal_of\"\n    \"PATO:towards\"\n    \"PDQ:associated_disease\"\n    \"PDQ:component_of\"\n    \"PDQ:has_component\"\n    \"PR:has_gene_template\"\n    \"PR:lacks_part\"\n    \"PR:non-covalently_bound_to\"\n    \"PathWhiz:has_bound\"\n    \"PathWhiz:has_compound\"\n    \"PathWhiz:has_element_collection\"\n    \"PathWhiz:has_element_in_bound\"\n    \"PathWhiz:has_enzyme\"\n    \"PathWhiz:has_left_element\"\n    \"PathWhiz:has_location\"\n    \"PathWhiz:has_nucleic_acid\"\n    \"PathWhiz:has_protein\"\n    \"PathWhiz:has_protein_in_complex\"\n    \"PathWhiz:has_reaction\"\n    \"PathWhiz:has_right_element\"\n    \"PathWhiz:in_species\"\n    \"REPODB:clinically_tested_approved_unknown_phase\"\n    \"REPODB:clinically_tested_suspended_phase_0\"\n    \"REPODB:clinically_tested_suspended_phase_1\"\n    \"REPODB:clinically_tested_suspended_phase_1_or_phase_2\"\n    \"REPODB:clinically_tested_suspended_phase_2\"\n    \"REPODB:clinically_tested_suspended_phase_2_or_phase_3\"\n    \"REPODB:clinically_tested_suspended_phase_3\"\n    \"REPODB:clinically_tested_terminated_phase_0\"\n    \"REPODB:clinically_tested_terminated_phase_1\"\n    \"REPODB:clinically_tested_terminated_phase_1_or_phase_2\"\n    \"REPODB:clinically_tested_terminated_phase_2\"\n    \"REPODB:clinically_tested_terminated_phase_2_or_phase_3\"\n    \"REPODB:clinically_tested_terminated_phase_3\"\n    \"REPODB:clinically_tested_withdrawn_phase_0\"\n    \"REPODB:clinically_tested_withdrawn_phase_1\"\n    \"REPODB:clinically_tested_withdrawn_phase_1_or_phase_2\"\n    \"REPODB:clinically_tested_withdrawn_phase_2\"\n    \"REPODB:clinically_tested_withdrawn_phase_2_or_phase_3\"\n    \"REPODB:clinically_tested_withdrawn_phase_3\"\n    \"RO:0000052\"\n    \"RO:0000053\"\n    \"RO:0000056\"\n    \"RO:0000057\"\n    \"RO:0000086\"\n    \"RO:0000087\"\n    \"RO:0001000\"\n    \"RO:0001015\"\n    \"RO:0001019\"\n    \"RO:0001022\"\n    \"RO:0001025\"\n    \"RO:0002001\"\n    \"RO:0002002\"\n    \"RO:0002005\"\n    \"RO:0002007\"\n    \"RO:0002008\"\n    \"RO:0002082\"\n    \"RO:0002083\"\n    \"RO:0002087\"\n    \"RO:0002090\"\n    \"RO:0002092\"\n    \"RO:0002093\"\n    \"RO:0002100\"\n    \"RO:0002102\"\n    \"RO:0002103\"\n    \"RO:0002104\"\n    \"RO:0002120\"\n    \"RO:0002130\"\n    \"RO:0002131\"\n    \"RO:0002134\"\n    \"RO:0002150\"\n    \"RO:0002159\"\n    \"RO:0002160\"\n    \"RO:0002162\"\n    \"RO:0002170\"\n    \"RO:0002176\"\n    \"RO:0002177\"\n    \"RO:0002178\"\n    \"RO:0002179\"\n    \"RO:0002180\"\n    \"RO:0002200\"\n    \"RO:0002202\"\n    \"RO:0002203\"\n    \"RO:0002211\"\n    \"RO:0002212\"\n    \"RO:0002213\"\n    \"RO:0002215\"\n    \"RO:0002216\"\n    \"RO:0002219\"\n    \"RO:0002220\"\n    \"RO:0002221\"\n    \"RO:0002223\"\n    \"RO:0002224\"\n    \"RO:0002225\"\n    \"RO:0002226\"\n    \"RO:0002229\"\n    \"RO:0002230\"\n    \"RO:0002231\"\n    \"RO:0002232\"\n    \"RO:0002233\"\n    \"RO:0002234\"\n    \"RO:0002254\"\n    \"RO:0002256\"\n    \"RO:0002285\"\n    \"RO:0002292\"\n    \"RO:0002295\"\n    \"RO:0002296\"\n    \"RO:0002297\"\n    \"RO:0002298\"\n    \"RO:0002299\"\n    \"RO:0002303\"\n    \"RO:0002309\"\n    \"RO:0002313\"\n    \"RO:0002314\"\n    \"RO:0002315\"\n    \"RO:0002322\"\n    \"RO:0002328\"\n    \"RO:0002331\"\n    \"RO:0002332\"\n    \"RO:0002334\"\n    \"RO:0002338\"\n    \"RO:0002339\"\n    \"RO:0002340\"\n    \"RO:0002341\"\n    \"RO:0002342\"\n    \"RO:0002343\"\n    \"RO:0002344\"\n    \"RO:0002345\"\n    \"RO:0002348\"\n    \"RO:0002349\"\n    \"RO:0002350\"\n    \"RO:0002351\"\n    \"RO:0002352\"\n    \"RO:0002353\"\n    \"RO:0002354\"\n    \"RO:0002355\"\n    \"RO:0002356\"\n    \"RO:0002371\"\n    \"RO:0002372\"\n    \"RO:0002373\"\n    \"RO:0002374\"\n    \"RO:0002376\"\n    \"RO:0002380\"\n    \"RO:0002385\"\n    \"RO:0002387\"\n    \"RO:0002411\"\n    \"RO:0002412\"\n    \"RO:0002433\"\n    \"RO:0002451\"\n    \"RO:0002473\"\n    \"RO:0002488\"\n    \"RO:0002489\"\n    \"RO:0002491\"\n    \"RO:0002492\"\n    \"RO:0002494\"\n    \"RO:0002495\"\n    \"RO:0002496\"\n    \"RO:0002497\"\n    \"RO:0002500\"\n    \"RO:0002505\"\n    \"RO:0002507\"\n    \"RO:0002509\"\n    \"RO:0002524\"\n    \"RO:0002551\"\n    \"RO:0002565\"\n    \"RO:0002568\"\n    \"RO:0002571\"\n    \"RO:0002572\"\n    \"RO:0002573\"\n    \"RO:0002576\"\n    \"RO:0002578\"\n    \"RO:0002588\"\n    \"RO:0002590\"\n    \"RO:0002591\"\n    \"RO:0002592\"\n    \"RO:0002608\"\n    \"RO:0002629\"\n    \"RO:0002630\"\n    \"RO:0003000\"\n    \"RO:0003001\"\n    \"RO:0003304\"\n    \"RO:0004001\"\n    \"RO:0004007\"\n    \"RO:0004008\"\n    \"RO:0004009\"\n    \"RO:0004019\"\n    \"RO:0004020\"\n    \"RO:0004021\"\n    \"RO:0004022\"\n    \"RO:0004024\"\n    \"RO:0004025\"\n    \"RO:0004026\"\n    \"RO:0004027\"\n    \"RO:0004028\"\n    \"RO:0004029\"\n    \"RO:0004030\"\n    \"RO:0009001\"\n    \"RO:0009004\"\n    \"RO:0009501\"\n    \"RO:0012003\"\n    \"RO:derives_from\"\n    \"RO:has_participant\"\n    \"RO:participates_in\"\n    \"RTXKG1:affects\"\n    \"RTXKG1:associated_with_disease\"\n    \"RTXKG1:capable_of\"\n    \"RTXKG1:capable_of_part_of\"\n    \"RTXKG1:contains_process\"\n    \"RTXKG1:contraindicated_for\"\n    \"RTXKG1:disease_caused_by_disruption_of\"\n    \"RTXKG1:disease_causes_disruption_of\"\n    \"RTXKG1:disease_has_basis_in_dysfunction_of\"\n    \"RTXKG1:disease_has_location\"\n    \"RTXKG1:expressed_in\"\n    \"RTXKG1:gene_associated_with_condition\"\n    \"RTXKG1:gene_mutations_contribute_to\"\n    \"RTXKG1:has_phenotype\"\n    \"RTXKG1:has_plasma_membrane_part\"\n    \"RTXKG1:indicated_for\"\n    \"RTXKG1:involved_in\"\n    \"RTXKG1:lacks_part\"\n    \"RTXKG1:participates_in\"\n    \"RTXKG1:physically_interacts_with\"\n    \"RTXKG1:realized_in_response_to\"\n    \"RTXKG1:realized_in_response_to_stimulus\"\n    \"RTXKG1:regulates_activity_of\"\n    \"RTXKG1:regulates_expression_of\"\n    \"RTXKG1:site_of\"\n    \"RTXKG1:subclass_of\"\n    \"RTXKG1:targets\"\n    \"RXNORM:consists_of\"\n    \"RXNORM:constitutes\"\n    \"RXNORM:contained_in\"\n    \"RXNORM:contains\"\n    \"RXNORM:has_dose_form\"\n    \"RXNORM:has_doseformgroup\"\n    \"RXNORM:has_form\"\n    \"RXNORM:has_ingredient\"\n    \"RXNORM:has_part\"\n    \"RXNORM:has_quantified_form\"\n    \"RXNORM:has_tradename\"\n    \"RXNORM:ingredient_of\"\n    \"RXNORM:ingredients_of\"\n    \"RXNORM:inverse_isa\"\n    \"RXNORM:isa\"\n    \"RXNORM:part_of\"\n    \"RXNORM:precise_ingredient_of\"\n    \"RXNORM:reformulated_to\"\n    \"SEMMEDDB:administered_to\"\n    \"SEMMEDDB:affects\"\n    \"SEMMEDDB:associated_with\"\n    \"SEMMEDDB:augments\"\n    \"SEMMEDDB:causes\"\n    \"SEMMEDDB:coexists_with\"\n    \"SEMMEDDB:compared_with\"\n    \"SEMMEDDB:complicates\"\n    \"SEMMEDDB:converts_to\"\n    \"SEMMEDDB:diagnoses\"\n    \"SEMMEDDB:disrupts\"\n    \"SEMMEDDB:inhibits\"\n    \"SEMMEDDB:interacts_with\"\n    \"SEMMEDDB:isa\"\n    \"SEMMEDDB:location_of\"\n    \"SEMMEDDB:manifestation_of\"\n    \"SEMMEDDB:measures\"\n    \"SEMMEDDB:occurs_in\"\n    \"SEMMEDDB:part_of\"\n    \"SEMMEDDB:precedes\"\n    \"SEMMEDDB:predisposes\"\n    \"SEMMEDDB:prevents\"\n    \"SEMMEDDB:process_of\"\n    \"SEMMEDDB:produces\"\n    \"SEMMEDDB:same_as\"\n    \"SEMMEDDB:stimulates\"\n    \"SEMMEDDB:treats\"\n    \"SEMMEDDB:uses\"\n    \"SNOMED:active_ingredient_of\"\n    \"SNOMED:associated_with\"\n    \"SNOMED:basis_of_strength_substance_of\"\n    \"SNOMED:causative_agent_of\"\n    \"SNOMED:cause_of\"\n    \"SNOMED:characterized_by\"\n    \"SNOMED:component_of\"\n    \"SNOMED:direct_substance_of\"\n    \"SNOMED:during\"\n    \"SNOMED:entire_anatomy_structure_of\"\n    \"SNOMED:focus_of\"\n    \"SNOMED:has_access\"\n    \"SNOMED:has_associated_finding\"\n    \"SNOMED:has_associated_morphology\"\n    \"SNOMED:has_associated_procedure\"\n    \"SNOMED:has_basic_dose_form\"\n    \"SNOMED:has_clinical_course\"\n    \"SNOMED:has_component\"\n    \"SNOMED:has_concentration_strength_denominator_unit\"\n    \"SNOMED:has_concentration_strength_numerator_unit\"\n    \"SNOMED:has_concentration_strength_numerator_value\"\n    \"SNOMED:has_count_of_base_of_active_ingredient\"\n    \"SNOMED:has_definitional_manifestation\"\n    \"SNOMED:has_dependent\"\n    \"SNOMED:has_direct_device\"\n    \"SNOMED:has_direct_morphology\"\n    \"SNOMED:has_direct_procedure_site\"\n    \"SNOMED:has_direct_site\"\n    \"SNOMED:has_disposition\"\n    \"SNOMED:has_dose_form\"\n    \"SNOMED:has_dose_form_administration_method\"\n    \"SNOMED:has_dose_form_intended_site\"\n    \"SNOMED:has_dose_form_release_characteristic\"\n    \"SNOMED:has_dose_form_transformation\"\n    \"SNOMED:has_finding_context\"\n    \"SNOMED:has_finding_informer\"\n    \"SNOMED:has_finding_method\"\n    \"SNOMED:has_finding_site\"\n    \"SNOMED:has_indirect_device\"\n    \"SNOMED:has_indirect_morphology\"\n    \"SNOMED:has_indirect_procedure_site\"\n    \"SNOMED:has_inherent_attribute\"\n    \"SNOMED:has_inherent_location\"\n    \"SNOMED:has_intent\"\n    \"SNOMED:has_interpretation\"\n    \"SNOMED:has_laterality\"\n    \"SNOMED:has_measurement_method\"\n    \"SNOMED:has_method\"\n    \"SNOMED:has_modification\"\n    \"SNOMED:has_occurrence\"\n    \"SNOMED:has_pathological_process\"\n    \"SNOMED:has_precondition\"\n    \"SNOMED:has_presentation_strength_denominator_unit\"\n    \"SNOMED:has_presentation_strength_denominator_value\"\n    \"SNOMED:has_presentation_strength_numerator_unit\"\n    \"SNOMED:has_presentation_strength_numerator_value\"\n    \"SNOMED:has_priority\"\n    \"SNOMED:has_procedure_context\"\n    \"SNOMED:has_procedure_device\"\n    \"SNOMED:has_procedure_morphology\"\n    \"SNOMED:has_procedure_site\"\n    \"SNOMED:has_process_duration\"\n    \"SNOMED:has_process_output\"\n    \"SNOMED:has_property\"\n    \"SNOMED:has_realization\"\n    \"SNOMED:has_recipient_category\"\n    \"SNOMED:has_revision_status\"\n    \"SNOMED:has_route_of_administration\"\n    \"SNOMED:has_scale_type\"\n    \"SNOMED:has_severity\"\n    \"SNOMED:has_specimen\"\n    \"SNOMED:has_specimen_source_identity\"\n    \"SNOMED:has_specimen_source_morphology\"\n    \"SNOMED:has_specimen_source_topography\"\n    \"SNOMED:has_specimen_substance\"\n    \"SNOMED:has_state_of_matter\"\n    \"SNOMED:has_subject_relationship_context\"\n    \"SNOMED:has_surgical_approach\"\n    \"SNOMED:has_technique\"\n    \"SNOMED:has_temporal_context\"\n    \"SNOMED:has_time_aspect\"\n    \"SNOMED:has_unit_of_presentation\"\n    \"SNOMED:has_units\"\n    \"SNOMED:inherent_location_of\"\n    \"SNOMED:inheres_in\"\n    \"SNOMED:is_interpreted_by\"\n    \"SNOMED:occurs_before\"\n    \"SNOMED:occurs_in\"\n    \"SNOMED:part_anatomy_structure_of\"\n    \"SNOMED:plays_role\"\n    \"SNOMED:precise_active_ingredient_of\"\n    \"SNOMED:relative_to_part_of\"\n    \"SNOMED:specimen_procedure_of\"\n    \"SNOMED:temporally_related_to\"\n    \"SNOMED:uses_access_device\"\n    \"SNOMED:uses_device\"\n    \"SNOMED:uses_energy\"\n    \"SNOMED:uses_substance\"\n    \"SO:adjacent_to\"\n    \"SO:contains\"\n    \"SO:derives_from\"\n    \"SO:guided_by\"\n    \"SO:has_origin\"\n    \"SO:has_part\"\n    \"SO:has_quality\"\n    \"SO:member_of\"\n    \"SO:non_functional_homolog_of\"\n    \"SO:overlaps\"\n    \"SO:transcribed_from\"\n    \"SO:transcribed_to\"\n    \"UBERON:anastomoses_with\"\n    \"UBERON:anteriorly_connected_to\"\n    \"UBERON:channel_for\"\n    \"UBERON:channels_from\"\n    \"UBERON:channels_into\"\n    \"UBERON:conduit_for\"\n    \"UBERON:distally_connected_to\"\n    \"UBERON:extends_fibers_into\"\n    \"UBERON:filtered_through\"\n    \"UBERON:in_central_side_of\"\n    \"UBERON:in_innermost_side_of\"\n    \"UBERON:in_outermost_side_of\"\n    \"UBERON:indirectly_supplies\"\n    \"UBERON:posteriorly_connected_to\"\n    \"UBERON:protects\"\n    \"UBERON:proximally_connected_to\"\n    \"UBERON:sexually_homologous_to\"\n    \"UBERON:site_of\"\n    \"UBERON:subdivision_of\"\n    \"UBERON:synapsed_by\"\n    \"UMLS:RB\"\n    \"UMLS:RO\"\n    \"UMLS:RQ\"\n    \"UMLS:SY\"\n    \"UMLS:class_code_classified_by\"\n    \"UMLS:component_of\"\n    \"UMLS:exhibited_by\"\n    \"UMLS:has_component\"\n    \"UMLS:has_context_binding\"\n    \"UMLS:has_form\"\n    \"UMLS:has_mapping_qualifier\"\n    \"UMLS:has_owning_affiliate\"\n    \"UMLS:has_physiologic_effect\"\n    \"UMLS:has_structural_class\"\n    \"UMLS:has_supported_concept_property\"\n    \"UMLS:has_supported_concept_relationship\"\n    \"UMLS:larger_than\"\n    \"UMLS:mapped_to\"\n    \"UMLS:may_be_qualified_by\"\n    \"UMLS:measures\"\n    \"UMLS:owning_section_of\"\n    \"UMLS:owning_subsection_of\"\n    \"UMLS:related_to\"\n    \"VANDF:has_ingredient\"\n    \"VANDF:ingredient_of\"\n    \"VANDF:inverse_isa\"\n    \"VANDF:isa\"\n    \"biolink:has_gene_product\"\n    \"biolink:in_taxon\"\n    \"biolink:part_of\"\n    \"biolink:physically_interacts_with\"\n    \"biolink:related_to\"\n    \"biolink:same_as\"\n    \"biolink:subclass_of\"\n    \"biolink:treats\"\n    \"oboFormat:xref\"\n    \"owl:sameAs\"\n    \"rdfs:subClassOf\"\n    \"rdfs:subPropertyOf\"))\n\n(test 'single-concept-properties\n  (run* (k v)\n    (cprop \"UMLS:C0000137\" k v))\n  '((\"category\" \"biolink:ChemicalSubstance\")\n    (\"category_label\" \"chemical_substance\")\n    (\"deprecated\" \"False\")\n    (\"description\"\n     \"The most abundant form of RNA. Together with proteins, it forms the ribosomes, playing a structural role and also a role in ribosomal binding of mRNA and tRNAs. Individual chains are conventionally designated by their sedimentation coefficients. In eukaryotes, four large chains exist, synthesized in the nucleolus and constituting about 50% of the ribosome. (Dorland, 28th ed)\")\n    (\"id\" \"UMLS:C0000137\")\n    (\"iri\" \"https://identifiers.org/umls:C0000137\")\n    (\"name\" \"RNA, Ribosomal\")\n    (\"provided_by\" \"identifiers_org_registry:umls\")\n    (\"update_date\" \"2015\")))\n\n(test 'single-subject-edges\n  (run 5 (id s o) (== s \"UMLS:C0005767\") (edge id s o))\n  '((17304173 \"UMLS:C0005767\" \"NCBIGene:102723407\")\n    (15656350 \"UMLS:C0005767\" \"NCBIGene:10312\")\n    (19424627 \"UMLS:C0005767\" \"NCBIGene:11168\")\n    (26022613 \"UMLS:C0005767\" \"NCBIGene:1154\")\n    (29233569 \"UMLS:C0005767\" \"NCBIGene:115727\")))\n\n(test 'single-object-edges\n  (run 5 (id s o) (== o \"UMLS:C0005767\") (edge id s o))\n  '((75693 \"FMA:9670\" \"UMLS:C0005767\")\n    (48607873 \"HMDB:HMDB0000001\" \"UMLS:C0005767\")\n    (48607894 \"HMDB:HMDB0000002\" \"UMLS:C0005767\")\n    (48607928 \"HMDB:HMDB0000005\" \"UMLS:C0005767\")\n    (48607976 \"HMDB:HMDB0000008\" \"UMLS:C0005767\")))\n\n(test 'single-edge\n  (run* (id s o)\n    (== s \"UMLS:C0005767\")\n    (== o \"NCBIGene:3688\")\n    (edge id s o))\n  '((25672055 \"UMLS:C0005767\" \"NCBIGene:3688\")))\n\n(test 'single-edge-properties\n  (run* (id k v)\n    (edge id \"UMLS:C0005767\" \"NCBIGene:3688\")\n    (eprop id k v))\n  '((25672055 \"negated\" \"False\")\n    (25672055 \"object\" \"NCBIGene:3688\")\n    (25672055 \"predicate\" \"biolink:produces\")\n    (25672055 \"predicate_label\" \"produces\")\n    (25672055 \"provided_by\" \"\\\"(\\\\\\\"\\\\\\\"SEMMEDDB:\\\\\\\"\\\\\\\")\\\"\")\n    (25672055 \"publications\" \"\\\"(\\\\\\\"\\\\\\\"PMID:21182179\\\\\\\"\\\\\\\")\\\"\")\n    (25672055\n     \"publications_info\"\n     \"{'PMID:21182179': {'publication date': '2011 Jan', 'sentence': 'In particular, although CD34(Pos)CD45(Dim)CD38(Pos) HSCs from both hEPCB and hTCB expressed relatively higher amounts of CD29, CD71, and CD135 compared with CD34(Pos)CD45(Dim)CD38(Neg) cells, a higher expression of CD31 was restricted to CD34(Pos)CD45(Dim)CD38(Pos) cells from hEPCB samples, and a higher expression of CD117 was demonstrated in CD34(Pos)CD45(Dim)CD38(Pos) cells from hTCB samples.', 'subject score': 762, 'object score': 1000}}\")\n    (25672055 \"relation\" \"SEMMEDDB:produces\")\n    (25672055 \"relation_label\" \"produces\")\n    (25672055 \"subject\" \"UMLS:C0005767\")\n    (25672055 \"update_date\" \"2019-05-01 15:34:14\")))\n\n(test 'concept-descriptions\n  (run 3 (c cat n desc)\n    (cprop c \"category\" cat)\n    (cprop c \"name\" n)\n    (cprop c \"description\" desc))\n  '((\"VT:0002292\"\n     \"biolink:InformationContentEntity\"\n     \"gestation period duration\"\n     \"         The length of time between when a fertilized egg implants in the wall of the uterus and the birth of offspring.         \")\n    (\"RO:0001902\"\n     \"biolink:RelationshipType\"\n     \"relation has no temporal argument\"\n     \"  ## Elucidation  This is used when the first-order logic form of the relation is binary, and takes no temporal argument.  ## Example:      Class: limb     SubClassOf: develops_from some lateral-plate-mesoderm       forall t, t2:       forall x :         instance_of(x,Limb,t)          implies         exists y :           instance_of(y,LPM,t2)           develops_from(x,y)   \")\n    (\"PathWhiz:PW000166\"\n     \"biolink:Pathway\"\n     \"Threonine and 2-Oxobutanoate Degradation\"\n     \"  2-oxobutanoate, also known as 2-Ketobutyric acid, is a 2-keto acid that is commonly produced in the metabolism of amino acids such as methionine and threonine.  Like other 2-keto acids, degradation of 2-oxobutanoate occurs in the mitochondrial matrix and begins with oxidative decarboxylation to its acyl coenzyme A derivative, propionyl-CoA.  This reaction is mediated by a class of large, multienzyme complexes called 2-oxo acid dehydrogenase complexes.  While no 2-oxo acid dehydrogenase complex is specific to 2-oxobutanoate, numerous complexes can catalyze its reaction.  In this pathway the branched-chain alpha-keto acid dehydrogenase complex is depicted.  All 2-oxo acid dehydrogenase complexes consist of three main components: a 2-oxo acid dehydrogenase (E1) with a thiamine pyrophosphate cofactor, a dihydrolipoamide acyltransferase (E2) with a lipoate cofactor, and a dihydrolipoamide dehydrogenase (E3) with a flavin cofactor.  E1 binds the 2-oxobutanoate to the lipoate on E2, which then transfers the propionyl group to coenzyme A, producing propionyl-CoA and reducing the lipoate.  E3 then transfers protons to NAD in order to restore the lipoate.  Propionyl-CoA carboxylase transforms the propionyl-CoA to S-methylmalonyl-CoA, which is then converted to R-methylmalonyl-CoA via methylmalonyl-CoA epimerase.  In the final step, methylmalonyl-CoA mutase acts on the R-methylmalonyl-CoA to produce succinyl-CoA. \")))\n\n(test 'chemical-substance-names\n  (run 10 (curie name)\n    (cprop curie \"category\" \"biolink:ChemicalSubstance\")\n    (cprop curie \"name\" name))\n  '((\"ATC:A01AA02\" \"sodium monofluorophosphate\")\n    (\"ATC:A01AA03\" \"olaflur\")\n    (\"ATC:A01AB02\" \"hydrogen peroxide\")\n    (\"ATC:A01AB03\" \"chlorhexidine\")\n    (\"ATC:A01AB04\" \"amphotericin B\")\n    (\"ATC:A01AB05\" \"polynoxylin\")\n    (\"ATC:A01AB06\" \"domiphen\")\n    (\"ATC:A01AB07\" \"oxyquinoline\")\n    (\"ATC:A01AB08\" \"neomycin\")\n    (\"ATC:A01AB09\" \"miconazole\")))\n\n(test 'gene-names\n  (run 10 (c n)\n    (cprop c \"name\"     n)\n    (cprop c \"category\" \"biolink:Gene\"))\n  '((\"AraPort:AT1G01010\" \"NAC001 (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01020\" \"ARV1 (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01030\" \"NGA3 (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01040\" \"DCL1 (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01050\" \"PPA1 (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01060\" \"LHY (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01070\" \"At1g01070 (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01090\" \"PDH-E1 ALPHA (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01100\" \"RPP1A (Arabidopsis thaliana)\")\n    (\"AraPort:AT1G01120\" \"KCS1 (Arabidopsis thaliana)\")))\n\n(test 'concept-relationships\n  (run 5 (curie1 predicate curie2)\n    (fresh (eid)\n      (eprop eid \"predicate\" predicate)\n      (edge eid curie1 curie2)))\n  '((\"NCIT:C18585\" \"biolink:actively_involved_in\" \"NCIT:C45399\")\n    (\"NCIT:C18363\" \"biolink:actively_involved_in\" \"NCIT:C158854\")\n    (\"NCIT:C24399\" \"biolink:actively_involved_in\" \"NCIT:C158823\")\n    (\"NCIT:C24399\" \"biolink:actively_involved_in\" \"NCIT:C158822\")\n    (\"NCIT:C20719\" \"biolink:actively_involved_in\" \"NCIT:C158822\")))\n\n(test 'concept-regulators\n  (run 5 (curie1 predicate curie2)\n    (fresh (eid)\n      (membero predicate '(\"biolink:negatively_regulates\"\n                           \"biolink:negatively_regulates,_entity_to_entity\"\n                           \"biolink:negatively_regulates,_process_to_process\"\n                           \"biolink:positively_regulates\"\n                           \"biolink:positively_regulates,_entity_to_entity\"\n                           \"biolink:positively_regulates,_process_to_process\"\n                           \"biolink:regulates\"\n                           \"biolink:regulates,_process_to_process\"))\n      (eprop eid \"predicate\" predicate)\n      (edge eid curie1 curie2)))\n  '((\"GO:0002862\" \"biolink:negatively_regulates\" \"GO:0002437\")\n    (\"GO:0002875\" \"biolink:negatively_regulates\" \"GO:0002439\")\n    (\"GO:0002865\" \"biolink:negatively_regulates\" \"GO:0002438\")\n    (\"GO:0002632\" \"biolink:negatively_regulates\" \"GO:0002432\")\n    (\"GO:0002707\" \"biolink:negatively_regulates\" \"GO:0002449\")))\n\n(test 'specific-concept-regulators\n  (run 20 (curie1 predicate curie2)\n    (fresh (eid)\n      (membero predicate '(\"biolink:negatively_regulates\"\n                           \"biolink:negatively_regulates,_entity_to_entity\"\n                           \"biolink:negatively_regulates,_process_to_process\"\n                           \"biolink:positively_regulates\"\n                           \"biolink:positively_regulates,_entity_to_entity\"\n                           \"biolink:positively_regulates,_process_to_process\"\n                           \"biolink:regulates\"\n                           \"biolink:regulates,_process_to_process\"))\n      (eprop eid \"predicate\" predicate)\n      (== curie2 \"GO:0002437\")\n      (edge eid curie1 curie2)))\n  '((\"GO:0002862\" \"biolink:negatively_regulates\" \"GO:0002437\")\n    (\"GO:0002862\" \"biolink:negatively_regulates,_process_to_process\" \"GO:0002437\")\n    (\"GO:0002863\" \"biolink:positively_regulates\" \"GO:0002437\")\n    (\"GO:0002863\" \"biolink:positively_regulates,_process_to_process\" \"GO:0002437\")\n    (\"GO:0002861\" \"biolink:regulates\" \"GO:0002437\")\n    (\"GO:0002861\" \"biolink:regulates,_process_to_process\" \"GO:0002437\")))\n\n(test 'named-negative-regulators\n  (run 5 (curie1 name1 curie2 name2)\n    (fresh (eid)\n      (eprop eid \"predicate\" \"biolink:negatively_regulates\")\n      (edge eid curie1 curie2)\n      (cprop curie1 \"name\" name1)\n      (cprop curie2 \"name\" name2)))\n  '((\"GO:0002862\"\n     \"negative regulation of inflammatory response to antigenic stimulus\"\n     \"GO:0002437\"\n     \"inflammatory response to antigenic stimulus\")\n    (\"GO:0002875\"\n     \"negative regulation of chronic inflammatory response to antigenic stimulus\"\n     \"GO:0002439\"\n     \"chronic inflammatory response to antigenic stimulus\")\n    (\"GO:0002865\"\n     \"negative regulation of acute inflammatory response to antigenic stimulus\"\n     \"GO:0002438\"\n     \"acute inflammatory response to antigenic stimulus\")\n    (\"GO:0002632\"\n     \"negative regulation of granuloma formation\"\n     \"GO:0002432\"\n     \"granuloma formation\")\n    (\"GO:0002707\"\n     \"negative regulation of lymphocyte mediated immunity\"\n     \"GO:0002449\"\n     \"lymphocyte mediated immunity\")))\n\n(test 'nausea-properties\n  (run* (k v)\n    (cprop \"UMLS:C0520909\" k v))\n  '((\"category\" \"biolink:Disease\")\n    (\"category_label\" \"disease\")\n    (\"deprecated\" \"False\")\n    (\"description\" \"Emesis and queasiness occurring after anesthesia.\")\n    (\"id\" \"UMLS:C0520909\")\n    (\"iri\" \"https://identifiers.org/umls:C0520909\")\n    (\"name\" \"Postoperative nausea and vomiting\")\n    (\"provided_by\" \"identifiers_org_registry:umls\")\n    (\"update_date\" \"2017\")))\n\n(test 'nausea-object-edges\n  (run 5 (s cat name p)\n    (fresh (eid)\n      (edge eid s \"UMLS:C0520909\")\n      (cprop s \"category\" cat)\n      (cprop s \"name\" name)\n      (eprop eid \"predicate\" p)))\n  '((\"DRUGBANK:DB00184\" \"biolink:Drug\" \"Nicotine\" \"biolink:treats\")\n    (\"MESH:D020250\"\n     \"biolink:NamedThing\"\n     \"Postoperative Nausea and Vomiting\"\n     \"biolink:close_match\")\n    (\"NCBIGene:166\"\n     \"biolink:Gene\"\n     \"TLE family member 5, transcriptional modulator\"\n     \"biolink:related_to\")\n    (\"NCBIGene:1814\" \"biolink:Gene\" \"dopamine receptor D3\" \"biolink:related_to\")\n    (\"NCBIGene:2770\"\n     \"biolink:Gene\"\n     \"G protein subunit alpha i1\"\n     \"biolink:related_to\")))\n\n(test 'nausea-treatments\n  (run* (s cat name)\n    (fresh (eid)\n      (edge eid s \"UMLS:C0520909\")\n      (cprop s \"category\" cat)\n      (cprop s \"name\" name)\n      (eprop eid \"predicate\" \"biolink:treats\")))\n  '((\"DRUGBANK:DB00184\" \"biolink:Drug\" \"Nicotine\")\n    (\"UMLS:C0001425\" \"biolink:Procedure\" \"Adenoid excision\")\n    (\"UMLS:C0001563\" \"biolink:Procedure\" \"Medication administration: oral\")\n    (\"UMLS:C0001617\" \"biolink:ChemicalSubstance\" \"Adrenal corticosteriods\")\n    (\"UMLS:C0002428\" \"biolink:Procedure\" \"Ambulatory surgery\")\n    (\"UMLS:C0002766\" \"biolink:Procedure\" \"Pain management\")\n    (\"UMLS:C0002769\" \"biolink:Procedure\" \"epidural analgesia\")\n    (\"UMLS:C0002903\" \"biolink:Procedure\" \"Administration of anesthesia\")\n    (\"UMLS:C0002912\" \"biolink:Procedure\" \"Anesthesia, Dental\")\n    (\"UMLS:C0002915\" \"biolink:Procedure\" \"General anesthesia\")\n    (\"UMLS:C0002917\" \"biolink:Procedure\" \"Anesthesia, Inhalation\")\n    (\"UMLS:C0002928\" \"biolink:Procedure\" \"Spinal anesthesia\")\n    (\"UMLS:C0002932\" \"biolink:ChemicalSubstance\" \"Anesthetics\")\n    (\"UMLS:C0003297\" \"biolink:ChemicalSubstance\" \"Antiemetics\")\n    (\"UMLS:C0003893\" \"biolink:Procedure\" \"Arthroplasty\")\n    (\"UMLS:C0004933\" \"biolink:Procedure\" \"Behavioral therapy\")\n    (\"UMLS:C0005064\" \"biolink:NamedThing\" \"Benzodiazepine\")\n    (\"UMLS:C0008320\" \"biolink:Procedure\" \"Cholecystectomy\")\n    (\"UMLS:C0009014\" \"biolink:ChemicalSubstance\" \"Clonidine\")\n    (\"UMLS:C0009429\" \"biolink:Procedure\" \"Combination therapy\")\n    (\"UMLS:C0009653\" \"biolink:Device\" \"Condom\")\n    (\"UMLS:C0010280\" \"biolink:Procedure\" \"Craniotomy\")\n    (\"UMLS:C0011331\" \"biolink:Procedure\" \"Dental care\")\n    (\"UMLS:C0011777\" \"biolink:ChemicalSubstance\" \"Dexamethasone\")\n    (\"UMLS:C0012358\" \"biolink:Procedure\" \"Dilation and curettage of uterus\")\n    (\"UMLS:C0012381\" \"biolink:ChemicalSubstance\" \"Dimenhydrinate\")\n    (\"UMLS:C0013136\" \"biolink:ChemicalSubstance\" \"Droperidol\")\n    (\"UMLS:C0013216\" \"biolink:Procedure\" \"Drug therapy\")\n    (\"UMLS:C0013227\"\n     \"biolink:ChemicalSubstance\"\n     \"Pharmaceutical / biologic product\")\n    (\"UMLS:C0013973\" \"biolink:ChemicalSubstance\" \"Emetics\")\n    (\"UMLS:C0017118\" \"biolink:Procedure\" \"Gastrectomy\")\n    (\"UMLS:C0018546\" \"biolink:ChemicalSubstance\" \"Haloperidol\")\n    (\"UMLS:C0020591\" \"biolink:ChemicalSubstance\" \"Hypnotic agent\")\n    (\"UMLS:C0020699\" \"biolink:Procedure\" \"Hysterectomy\")\n    (\"UMLS:C0020700\" \"biolink:Procedure\" \"Vaginal hysterectomy\")\n    (\"UMLS:C0021778\"\n     \"biolink:Procedure\"\n     \"Intermittent positive pressure ventilation\")\n    (\"UMLS:C0021925\" \"biolink:Procedure\" \"Intubation - action\")\n    (\"UMLS:C0022237\" \"biolink:ChemicalSubstance\" \"Alcohol,isopropyl\")\n    (\"UMLS:C0024881\" \"biolink:Procedure\" \"Mastectomies\")\n    (\"UMLS:C0024883\" \"biolink:Procedure\" \"Modified radical mastectomy\")\n    (\"UMLS:C0025619\" \"biolink:ChemicalSubstance\" \"Mesylates\")\n    (\"UMLS:C0025853\" \"biolink:ChemicalSubstance\" \"Metoclopramide\")\n    (\"UMLS:C0026056\" \"biolink:ChemicalSubstance\" \"Midazolam\")\n    (\"UMLS:C0026549\" \"biolink:ChemicalSubstance\" \"Morphine\")\n    (\"UMLS:C0026868\" \"biolink:Procedure\" \"Music therapy\")\n    (\"UMLS:C0027136\" \"biolink:Procedure\" \"Myringoplasty\")\n    (\"UMLS:C0030054\" \"biolink:ChemicalSubstance\" \"Oxygen\")\n    (\"UMLS:C0032042\" \"biolink:Procedure\" \"Placebos\")\n    (\"UMLS:C0033229\" \"biolink:ChemicalSubstance\" \"Prochlorperazine\")\n    (\"UMLS:C0033231\" \"biolink:ChemicalSubstance\" \"Prochlorperazine maleate\")\n    (\"UMLS:C0033405\" \"biolink:ChemicalSubstance\" \"Promethazine\")\n    (\"UMLS:C0033487\" \"biolink:ChemicalSubstance\" \"Propofol\")\n    (\"UMLS:C0036442\" \"biolink:ChemicalSubstance\" \"Scopolamine\")\n    (\"UMLS:C0036751\" \"biolink:NamedThing\" \"Serotonin\")\n    (\"UMLS:C0038901\" \"biolink:Procedure\" \"Surgical procedure on eye proper\")\n    (\"UMLS:C0038902\" \"biolink:Procedure\" \"Operation on female genital organs\")\n    (\"UMLS:C0038910\"\n     \"biolink:Procedure\"\n     \"Otorhinolaryngologic Surgical Procedures\")\n    (\"UMLS:C0040145\" \"biolink:Procedure\" \"Thyroidectomy\")\n    (\"UMLS:C0040423\" \"biolink:Procedure\" \"Tonsillectomy\")\n    (\"UMLS:C0040508\" \"biolink:Procedure\" \"Total replacement of hip\")\n    (\"UMLS:C0040610\" \"biolink:ChemicalSubstance\" \"Tramadol\")\n    (\"UMLS:C0040654\"\n     \"biolink:Procedure\"\n     \"Percutaneous electrical nerve stimulation\")\n    (\"UMLS:C0040808\" \"biolink:NamedThing\" \"Abdominal Wall\")\n    (\"UMLS:C0041447\" \"biolink:Procedure\" \"Repair of middle ear\")\n    (\"UMLS:C0051162\" \"biolink:NamedThing\" \"Alizapride\")\n    (\"UMLS:C0053139\" \"biolink:ChemicalSubstance\" \"Benzamide\")\n    (\"UMLS:C0061851\" \"biolink:ChemicalSubstance\" \"Ondansetron\")\n    (\"UMLS:C0061863\" \"biolink:ChemicalSubstance\" \"Granisetron\")\n    (\"UMLS:C0063322\" \"biolink:NamedThing\" \"Tropisetron\")\n    (\"UMLS:C0065818\" \"biolink:ChemicalSubstance\" \"Dolasetron mesylate\")\n    (\"UMLS:C0078944\" \"biolink:Procedure\" \"Patient controlled analgesia\")\n    (\"UMLS:C0086511\" \"biolink:Procedure\" \"Arthroplasty of knee\")\n    (\"UMLS:C0086930\" \"biolink:Procedure\" \"Risk assessment\")\n    (\"UMLS:C0087111\" \"biolink:Procedure\" \"Therapy\")\n    (\"UMLS:C0103045\" \"biolink:NamedThing\" \"Amisulpride-containing product\")\n    (\"UMLS:C0150521\" \"biolink:Procedure\" \"Comfort measures\")\n    (\"UMLS:C0162522\" \"biolink:Procedure\" \"Laparoscopic cholecystectomy\")\n    (\"UMLS:C0162561\" \"biolink:Procedure\" \"Catheter Ablation\")\n    (\"UMLS:C0163712\" \"biolink:ChemicalSubstance\" \"Relate - vinyl resin\")\n    (\"UMLS:C0180288\" \"biolink:Publication\" \"Anesthesia information system\")\n    (\"UMLS:C0184625\" \"biolink:Activity\" \"Normal diet\")\n    (\"UMLS:C0184661\" \"biolink:Procedure\" \"Procedure\")\n    (\"UMLS:C0185624\" \"biolink:IndividualOrganism\" \"Orthognathic Surgery\")\n    (\"UMLS:C0188970\" \"biolink:Procedure\" \"Operation on nose\")\n    (\"UMLS:C0191922\" \"biolink:Procedure\" \"Reduction mammoplasty\")\n    (\"UMLS:C0192817\" \"biolink:Procedure\" \"Operation on colon\")\n    (\"UMLS:C0192866\" \"biolink:Procedure\" \"Sigmoid colectomy\")\n    (\"UMLS:C0193769\" \"biolink:Procedure\" \"Operation on thyroid gland\")\n    (\"UMLS:C0193788\" \"biolink:Procedure\" \"Total thyroidectomy\")\n    (\"UMLS:C0197981\" \"biolink:Procedure\" \"Strabismus surgery\")\n    (\"UMLS:C0198154\" \"biolink:Procedure\" \"Mastoidectomy\")\n    (\"UMLS:C0198482\" \"biolink:Procedure\" \"Operation on abdominal region\")\n    (\"UMLS:C0199176\" \"biolink:Procedure\" \"Prophylaxis - intent\")\n    (\"UMLS:C0206046\" \"biolink:NamedThing\" \"Zofran\")\n    (\"UMLS:C0206058\" \"biolink:Procedure\" \"Optional surgery\")\n    (\"UMLS:C0209210\" \"biolink:ChemicalSubstance\" \"Dolasetron\")\n    (\"UMLS:C0209337\" \"biolink:NamedThing\" \"Rocuronium\")\n    (\"UMLS:C0220578\" \"biolink:ChemicalSubstance\" \"Palonosetron\")\n    (\"UMLS:C0242402\" \"biolink:NamedThing\" \"Opioid receptor agonist\")\n    (\"UMLS:C0242702\"\n     \"biolink:ChemicalSubstance\"\n     \"Dopamine receptor antagonist-containing product\")\n    (\"UMLS:C0242897\" \"biolink:ChemicalSubstance\" \"Anticholinergic Agent\")\n    (\"UMLS:C0243076\" \"biolink:ChemicalSubstance\" \"antagonists & inhibitors\")\n    (\"UMLS:C0278259\" \"biolink:Procedure\" \"Local excision\")\n    (\"UMLS:C0282046\" \"biolink:Procedure\" \"Ambulatory Surgical Procedures\")\n    (\"UMLS:C0282493\" \"biolink:Procedure\" \"Endoscopy with surgical procedure\")\n    (\"UMLS:C0282614\" \"biolink:Procedure\" \"Acupressure\")\n    (\"UMLS:C0360055\"\n     \"biolink:NamedThing\"\n     \"5-HT3 receptor antagonist-containing product\")\n    (\"UMLS:C0376547\" \"biolink:Procedure\" \"Aromatherapy\")\n    (\"UMLS:C0394663\" \"biolink:Procedure\" \"Cupping\")\n    (\"UMLS:C0394664\" \"biolink:Procedure\" \"Acupuncture\")\n    (\"UMLS:C0404077\" \"biolink:Procedure\" \"Abdominal hysterectomy\")\n    (\"UMLS:C0404079\" \"biolink:Procedure\" \"Total abdominal hysterectomy\")\n    (\"UMLS:C0404088\"\n     \"biolink:Procedure\"\n     \"Laparoscopic-assisted vaginal hysterectomy\")\n    (\"UMLS:C0404089\" \"biolink:Procedure\" \"Laparoscopic hysterectomy\")\n    (\"UMLS:C0404090\" \"biolink:Procedure\" \"Laparoscopic total hysterectomy\")\n    (\"UMLS:C0408578\" \"biolink:Procedure\" \"Operation on lumbar spine\")\n    (\"UMLS:C0420172\" \"biolink:Procedure\" \"Drug prophylaxis\")\n    (\"UMLS:C0442968\" \"biolink:Procedure\" \"Functional endoscopic sinus surgery\")\n    (\"UMLS:C0450442\" \"biolink:ChemicalSubstance\" \"Agent\")\n    (\"UMLS:C0473965\" \"biolink:Procedure\" \"Total intravenous anesthesia\")\n    (\"UMLS:C0520483\" \"biolink:Procedure\" \"Ligation of fallopian tube\")\n    (\"UMLS:C0524850\" \"biolink:Procedure\" \"Operation on nervous system\")\n    (\"UMLS:C0526950\" \"biolink:ChemicalSubstance\" \"ramosetron\")\n    (\"UMLS:C0543467\" \"biolink:Procedure\" \"Surgery\")\n    (\"UMLS:C0543476\" \"biolink:ChemicalSubstance\" \"Granisetron hydrochloride\")\n    (\"UMLS:C0677616\" \"biolink:Procedure\" \"Plastic operation\")\n    (\"UMLS:C0700478\" \"biolink:ChemicalSubstance\" \"Ondansetron hydrochloride\")\n    (\"UMLS:C0728940\" \"biolink:Procedure\" \"Surgical removal\")\n    (\"UMLS:C0750934\" \"biolink:Procedure\" \"Arthroscopy with surgical procedure\")\n    (\"UMLS:C0751429\" \"biolink:Procedure\" \"laparoscopic surgery\")\n    (\"UMLS:C0752217\" \"biolink:Procedure\" \"Acupuncture, Ear\")\n    (\"UMLS:C0843593\"\n     \"biolink:Procedure\"\n     \"Laparoscopically Assisted Vaginal Hysterectomy\")\n    (\"UMLS:C0851312\" \"biolink:IndividualOrganism\" \"Breast surgery\")\n    (\"UMLS:C0853389\" \"biolink:Procedure\" \"Postoperative pain relief\")\n    (\"UMLS:C0886296\" \"biolink:Procedure\" \"Nursing interventions\")\n    (\"UMLS:C0920347\" \"biolink:Procedure\" \"Procedure on spinal cord\")\n    (\"UMLS:C0937846\" \"biolink:ChemicalSubstance\" \"Esomeprazole\")\n    (\"UMLS:C0949216\" \"biolink:NamedThing\" \"Complementary Therapies\")\n    (\"UMLS:C0972314\" \"biolink:NamedThing\" \"Etoricoxib\")\n    (\"UMLS:C1137094\" \"biolink:Activity\" \"Risk Reduction\")\n    (\"UMLS:C1176306\" \"biolink:ChemicalSubstance\" \"Aprepitant\")\n    (\"UMLS:C1261322\" \"biolink:Procedure\" \"Evaluation - action\")\n    (\"UMLS:C1268547\" \"biolink:NamedThing\" \"Patient chart\")\n    (\"UMLS:C1273869\" \"biolink:Procedure\" \"Intervention regime\")\n    (\"UMLS:C1327728\" \"biolink:Procedure\" \"Operation on female genital organs\")\n    (\"UMLS:C1328580\" \"biolink:Procedure\" \"Microvascular Decompression Surgery\")\n    (\"UMLS:C1445610\" \"biolink:Device\" \"Acupressure wrist band\")\n    (\"UMLS:C1456587\" \"biolink:Procedure\" \"Bariatric Surgery\")\n    (\"UMLS:C1515885\" \"biolink:Procedure\" \"Acustimulation Therapy\")))\n\n;(test 'all-concept-category-counts\n;  (run* (category count)\n;    (fresh (curie)\n;      (cprop curie \"category\" category)\n;      (:== count (category)\n;           (s-length (run^ (curie)\n;                           (cprop curie \"category\" category))))))\n;\n;  '?)\n"
  },
  {
    "path": "medikanren2/test/semmed.rkt",
    "content": "#lang racket/base\n(require \"../base.rkt\" \"../db/semmed.rkt\" racket/pretty)\n\n(define-syntax-rule (test name e expected)\n  (begin (printf \"Testing ~s:\\n\" name)\n         (let ((answer (time e)))\n           (unless (equal? answer expected)\n             (pretty-write 'e)\n             (printf \"FAILED ~s:\\n\" name)\n             (printf \"  ANSWER:\\n\")\n             (pretty-write answer)\n             (printf \"  EXPECTED:\\n\")\n             (pretty-write expected)))))\n\n(test 'various-edge-properties\n  (run 20 (id k v) (eprop id k v))\n  '((0 \"SEMMED_PRED\" \"AFFECTS\")\n    (1 \"SEMMED_PRED\" \"AFFECTS\")\n    (119 \"SEMMED_PRED\" \"AFFECTS\")\n    (502 \"SEMMED_PRED\" \"AFFECTS\")\n    (503 \"SEMMED_PRED\" \"AFFECTS\")\n    (504 \"SEMMED_PRED\" \"AFFECTS\")\n    (505 \"SEMMED_PRED\" \"AFFECTS\")\n    (2639 \"SEMMED_PRED\" \"AFFECTS\")\n    (2641 \"SEMMED_PRED\" \"AFFECTS\")\n    (2645 \"SEMMED_PRED\" \"AFFECTS\")\n    (2648 \"SEMMED_PRED\" \"AFFECTS\")\n    (2649 \"SEMMED_PRED\" \"AFFECTS\")\n    (2651 \"SEMMED_PRED\" \"AFFECTS\")\n    (2652 \"SEMMED_PRED\" \"AFFECTS\")\n    (2653 \"SEMMED_PRED\" \"AFFECTS\")\n    (2654 \"SEMMED_PRED\" \"AFFECTS\")\n    (2657 \"SEMMED_PRED\" \"AFFECTS\")\n    (2659 \"SEMMED_PRED\" \"AFFECTS\")\n    (2660 \"SEMMED_PRED\" \"AFFECTS\")\n    (2661 \"SEMMED_PRED\" \"AFFECTS\")))\n\n(test 'various-names\n  (run 17 (c n) (cprop c \"name\" n))\n  '((\"UMLS:C1156332\" \"'de novo' GDP-L-fucose biosynthetic process\")\n    (\"UMLS:C1157653\" \"'de novo' IMP biosynthetic process\")\n    (\"UMLS:C1523107\" \"'de novo' cotranslational protein folding\")\n    (\"UMLS:C1158942\" \"'de novo' protein folding\")\n    (\"UMLS:C0761898\" \"(((4-chloromethyl)benzoyl)amino)-tetramethylrhodamine\")\n    (\"UMLS:C1260101\"\n     \"(((4-nitrophenyl)amino)(2,2,4,4-tetramethyl thiochroman-6-yl)amino) methane-1-thione\")\n    (\"UMLS:C0643014\" \"((2-azido-4-benzyl)phenoxy)-N-ethylmorpholine\")\n    (\"UMLS:C0635089\"\n     \"((3-(bis(2-chloroethyl)amino)-4-methylphenyl)hydroxymethane)bisphosphonic acid\")\n    (\"UMLS:C1312836\"\n     \"((3Z)-N-(3-chlorophenyl)-3-((3,5-dimethyl-4-((4-methylpiperazin-1-yl)carbonyl)-1H-pyrrol-2-yl)methylene)-N-methyl-2-oxo-2,3-dihydro-1H-indole-5-sulfonamide)\")\n    (\"UMLS:C0378071\"\n     \"((5,6-dichloro-2,3,9,9a-tetrahydro-3-oxo-9a-propyl-1H-fluoren-7-yl)oxy)acetic acid\")\n    (\"UMLS:C0961234\"\n     \"((6-acetyl-3,4-dihydro-2,5,7,8-tetramethyl-2H-1-benzopyran-2yl)carbonyl)-3(aminoethyl)indole\")\n    (\"UMLS:C0915106\"\n     \"((E)-(5)-(3,5-di-tert-butyl-4-hydroxybenzylidene)- 2-ethyl-1,2-isothiazolidine-1,1-dioxide)\")\n    (\"UMLS:C1565913\"\n     \"((S)-2-acetylamino-3-((R)-(1-(3-(piperidin-4-yl)propionyl)piperidin-3-ylcarbonyl))amino) propionic acid trihydrate\")\n    (\"UMLS:C0043560\" \"((dihydroindenyl)oxy)alkanoic acid\")\n    (\"UMLS:C0967118\" \"((n-nitroveratryl)oxy)chlorocarbamate-caged thymosin beta4\")\n    (\"UMLS:C0257864\" \"((nitroveratryl)oxy)chlorocarbamate\")\n    (\"UMLS:C1158357\" \"(+)-camphor metabolic process\")))\n\n(test 'single-concept-properties\n  (run 10 (k v)\n    (cprop \"UMLS:C0000137\" k v))\n  '((\"category\" \"chemical_substance\")\n    (\"id\" \"UMLS:C0000137\")\n    (\"name\" \"15S RNA\")\n    (\"umls_type\" \"(\\\"T114\\\" \\\"T123\\\")\")\n    (\"umls_type_label\"\n     \"(\\\"Nucleic Acid, Nucleoside, or Nucleotide\\\" \\\"Biologically Active Substance\\\")\")\n    (\"xrefs\" \"(\\\"MESH:D012335\\\")\")))\n\n(test 'single-subject-edges\n  (run 20 (id o) (edge id \"UMLS:C0005767\" o))\n  '((11582417 \"UMLS:C0000039\")\n    (4175774 \"UMLS:C0000084\")\n    (3396436 \"UMLS:C0000103\")\n    (3475411 \"UMLS:C0000119\")\n    (9750416 \"UMLS:C0000163\")\n    (6336638 \"UMLS:C0000165\")\n    (7906789 \"UMLS:C0000167\")\n    (1604793 \"UMLS:C0000173\")\n    (9276373 \"UMLS:C0000215\")\n    (2443460 \"UMLS:C0000248\")\n    (11125423 \"UMLS:C0000257\")\n    (5177191 \"UMLS:C0000266\")\n    (12962849 \"UMLS:C0000294\")\n    (769969 \"UMLS:C0000343\")\n    (6609976 \"UMLS:C0000376\")\n    (6784014 \"UMLS:C0000379\")\n    (448326 \"UMLS:C0000392\")\n    (1110409 \"UMLS:C0000407\")\n    (13525868 \"UMLS:C0000473\")\n    (10823557 \"UMLS:C0000477\")))\n\n(test 'single-object-edges\n  (run 20 (id s) (edge id s \"UMLS:C0005767\"))\n  '((6463675 \"UMLS:C0000119\")\n    (6463674 \"UMLS:C0000163\")\n    (6466559 \"UMLS:C0000163\")\n    (6466558 \"UMLS:C0000167\")\n    (6463673 \"UMLS:C0000340\")\n    (6466556 \"UMLS:C0000379\")\n    (6466557 \"UMLS:C0000379\")\n    (6463672 \"UMLS:C0000392\")\n    (6463671 \"UMLS:C0000464\")\n    (6466555 \"UMLS:C0000503\")\n    (6463670 \"UMLS:C0000530\")\n    (6466554 \"UMLS:C0000530\")\n    (6463669 \"UMLS:C0000545\")\n    (6466553 \"UMLS:C0000545\")\n    (6463668 \"UMLS:C0000578\")\n    (6463667 \"UMLS:C0000608\")\n    (6463666 \"UMLS:C0000617\")\n    (6466551 \"UMLS:C0000617\")\n    (6466552 \"UMLS:C0000617\")\n    (6463665 \"UMLS:C0000779\")))\n\n(test 'single-edge\n  (run* (id) (edge id \"UMLS:C0005767\" \"UMLS:C1121571\"))\n  '((10012443)))\n\n(test 'single-edge-properties\n  (run* (id k v)\n    (edge id \"UMLS:C0005767\" \"UMLS:C1121571\")\n    (eprop id k v))\n  '((10012443 \"SEMMED_PRED\" \"LOCATION_OF\")\n    (10012443 \"edge_label\" \"location_of\")\n    (10012443 \"is_defined_by\" \"semmeddb\")\n    (10012443 \"n_pmids\" \"14\")\n    (10012443 \"negated\" \"False\")\n    (10012443\n     \"pmids\"\n     \"19402156;21663591;23551806;23551806;23551806;23551806;27062891;27253267;24048877;28903084;17297611;22683313;22172068;26418915\")\n    (10012443 \"provided_by\" \"semmeddb_sulab\")\n    (10012443 \"relation\" \"semmeddb:location_of\")))\n\n(test 'chemical-substance-names\n  (run 10 (curie name)\n    (cprop curie \"category\" \"chemical_substance\")\n    (cprop curie \"name\" name))\n  '((\"UMLS:C0000039\" \"1,2-dipalmitoylphosphatidylcholine\")\n    (\"UMLS:C0000096\" \"1-Methyl-3-isobutylxanthine\")\n    (\"UMLS:C0000097\" \"1-Methyl-4-phenyl-1,2,3,6-tetrahydropyridine\")\n    (\"UMLS:C0000098\" \"1-Methyl-4-phenylpyridinium\")\n    (\"UMLS:C0000102\" \"1-Naphthylamine\")\n    (\"UMLS:C0000103\" \"1-Naphthylisothiocyanate\")\n    (\"UMLS:C0000119\" \"11-Hydroxycorticosteroids\")\n    (\"UMLS:C0000137\" \"15S RNA\")\n    (\"UMLS:C0000151\" \"17 beta-Hydroxy-5 beta-Androstan-3-One\")\n    (\"UMLS:C0000163\" \"17-Hydroxycorticosteroids\")))\n\n(test 'gene-names\n  (run 10 (c n)\n    (cprop c \"name\"     n)\n    (cprop c \"category\" \"gene\"))\n  '((\"UMLS:C0002085\" \"Alleles\")\n    (\"UMLS:C0008288\" \"CIPC gene\")\n    (\"UMLS:C0008844\" \"Cistron\")\n    (\"UMLS:C0017258\" \"Gene Clusters\")\n    (\"UMLS:C0017272\" \"Gene Library\")\n    (\"UMLS:C0017337\" \"Genes\")\n    (\"UMLS:C0017338\" \"Genes, araC\")\n    (\"UMLS:C0017339\" \"Genes, Bacterial\")\n    (\"UMLS:C0017340\" \"Genes, Developmental\")\n    (\"UMLS:C0017342\" \"Genes, Dominant\")))\n\n(test 'concept-relationships\n  (run 10 (curie1 predicate curie2)\n    (fresh (eid)\n      (eprop eid \"edge_label\" predicate)\n      (edge eid curie1 curie2)))\n  '((\"UMLS:C1368111\" \"affects\" \"UMLS:C1523610\")\n    (\"UMLS:C1414313\" \"affects\" \"UMLS:C1523610\")\n    (\"UMLS:C0001962\" \"affects\" \"UMLS:C0333440\")\n    (\"UMLS:C0687133\" \"affects\" \"UMLS:C1332412\")\n    (\"UMLS:C0687133\" \"affects\" \"UMLS:C1332412\")\n    (\"UMLS:C0017262\" \"affects\" \"UMLS:C1332412\")\n    (\"UMLS:C0017262\" \"affects\" \"UMLS:C1332412\")\n    (\"UMLS:C1522575\" \"affects\" \"UMLS:C0002940\")\n    (\"UMLS:C1513016\" \"affects\" \"UMLS:C0002940\")\n    (\"UMLS:C1456820\" \"affects\" \"UMLS:C0002940\")))\n\n(test 'named-negative-regulators\n  (run 10 (curie1 name1 curie2 name2)\n    (fresh (eid)\n      (eprop eid \"edge_label\" \"negatively_regulates\")\n      (edge eid curie1 curie2)\n      (cprop curie1 \"name\" name1)\n      (cprop curie2 \"name\" name2)))\n  '((\"UMLS:C1537740\" \"MIR30D gene\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C1537740\" \"MIR30D gene\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C1422386\" \"HDAC9 gene\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C0935996\" \"Signaling Pathway Gene\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C0809183\" \"CDKN2B gene\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C0809183\" \"CDKN2B gene\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C0699251\" \"Fluimucil\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C0288472\" \"oncoprotein p21\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C0288472\" \"oncoprotein p21\" \"UMLS:C1332698\" \"CCNE2 gene\")\n    (\"UMLS:C0286651\" \"atorvastatin\" \"UMLS:C1332698\" \"CCNE2 gene\")))\n\n(test 'all-concept-properties\n  (run* (k)\n    (fresh (curie v)\n      (cprop curie k v)))\n  '((\"category\") (\"id\") (\"name\") (\"umls_type\") (\"umls_type_label\") (\"xrefs\")))\n\n(test 'all-edge-properties\n  (run* (k)\n    (fresh (eid v)\n      (eprop eid k v)))\n  '((\"SEMMED_PRED\")\n    (\"edge_label\")\n    (\"is_defined_by\")\n    (\"n_pmids\")\n    (\"negated\")\n    (\"pmids\")\n    (\"provided_by\")\n    (\"relation\")))\n\n(test 'all-concept-categories\n  (run* (category)\n    (fresh (curie)\n      (cprop curie \"category\" category)))\n  '((\"activity_and_behavior\")\n    (\"anatomical_entity\")\n    (\"biological_entity\")\n    (\"biological_process_or_activity\")\n    (\"cell\")\n    (\"cell_component\")\n    (\"chemical_substance\")\n    (\"disease_or_phenotypic_feature\")\n    (\"gene\")\n    (\"genomic_entity\")\n    (\"gross_anatomical_structure\")\n    (\"phenotypic_feature\")\n    (\"protein\")))\n\n(test 'all-predicates\n  (run* (predicate)\n    (fresh (eid)\n      (eprop eid \"edge_label\" predicate)))\n  '((\"affects\")\n    (\"causes\")\n    (\"coexists_with\")\n    (\"derives_into\")\n    (\"gene_associated_with_condition\")\n    (\"interacts_with\")\n    (\"location_of\")\n    (\"manifestation_of\")\n    (\"negatively_regulates\")\n    (\"part_of\")\n    (\"positively_regulates\")\n    (\"precedes\")\n    (\"predisposes\")\n    (\"prevents\")\n    (\"produces\")\n    (\"related_to\")\n    (\"subclass_of\")\n    (\"treats\")))\n\n(test 'nausea-properties\n  (run* (k v)\n    (cprop \"UMLS:C0520909\" k v))\n  '((\"category\" \"disease_or_phenotypic_feature\")\n    (\"id\" \"UMLS:C0520909\")\n    (\"name\" \"Postoperative Nausea and Vomiting\")\n    (\"umls_type\" \"(\\\"T184\\\")\")\n    (\"umls_type_label\" \"(\\\"Sign or Symptom\\\")\")\n    (\"xrefs\"\n     \"(\\\"SNMI:F-52846\\\" \\\"SNOMEDCT_US:1488000\\\" \\\"RCD:Xa0Ka\\\" \\\"CHV:0000037809\\\" \\\"MESH:D020250\\\" \\\"LCH_NW:sh99001642\\\" \\\"NDFRT:N0000004075\\\")\")))\n\n(test 'nausea-subject-edges\n  (run* (o cat name p)\n    (fresh (eid)\n      (edge eid \"UMLS:C0520909\" o)\n      (cprop o \"category\" cat)\n      (cprop o \"name\" name)\n      (eprop eid \"edge_label\" p)))\n  '((\"UMLS:C0004364\"\n     \"disease_or_phenotypic_feature\"\n     \"Autoimmune Diseases\"\n     \"related_to\")\n    (\"UMLS:C0009566\"\n     \"disease_or_phenotypic_feature\"\n     \"Complication\"\n     \"subclass_of\")\n    (\"UMLS:C0020450\"\n     \"disease_or_phenotypic_feature\"\n     \"Hyperemesis Gravidarum\"\n     \"causes\")\n    (\"UMLS:C0026603\"\n     \"disease_or_phenotypic_feature\"\n     \"Motion Sickness\"\n     \"related_to\")\n    (\"UMLS:C0027497\" \"disease_or_phenotypic_feature\" \"Nausea\" \"subclass_of\")\n    (\"UMLS:C0027497\" \"disease_or_phenotypic_feature\" \"Nausea\" \"causes\")\n    (\"UMLS:C0027497\" \"disease_or_phenotypic_feature\" \"Nausea\" \"coexists_with\")\n    (\"UMLS:C0027498\"\n     \"disease_or_phenotypic_feature\"\n     \"Nausea and vomiting\"\n     \"causes\")\n    (\"UMLS:C0030201\"\n     \"disease_or_phenotypic_feature\"\n     \"Pain, Postoperative\"\n     \"coexists_with\")\n    (\"UMLS:C0032290\"\n     \"disease_or_phenotypic_feature\"\n     \"Aspiration Pneumonia\"\n     \"predisposes\")\n    (\"UMLS:C0032787\"\n     \"disease_or_phenotypic_feature\"\n     \"Postoperative Complications\"\n     \"subclass_of\")\n    (\"UMLS:C0042963\" \"disease_or_phenotypic_feature\" \"Vomiting\" \"subclass_of\")\n    (\"UMLS:C0042963\" \"disease_or_phenotypic_feature\" \"Vomiting\" \"causes\")\n    (\"UMLS:C0042963\" \"disease_or_phenotypic_feature\" \"Vomiting\" \"coexists_with\")\n    (\"UMLS:C0232602\" \"disease_or_phenotypic_feature\" \"Retching\" \"coexists_with\")\n    (\"UMLS:C0234119\"\n     \"disease_or_phenotypic_feature\"\n     \"Neuromuscular inhibition\"\n     \"related_to\")\n    (\"UMLS:C0278134\"\n     \"disease_or_phenotypic_feature\"\n     \"Absence of sensation\"\n     \"causes\")\n    (\"UMLS:C0278134\"\n     \"disease_or_phenotypic_feature\"\n     \"Absence of sensation\"\n     \"coexists_with\")\n    (\"UMLS:C0344307\"\n     \"disease_or_phenotypic_feature\"\n     \"Absence of pain sensation\"\n     \"coexists_with\")\n    (\"UMLS:C0520905\"\n     \"disease_or_phenotypic_feature\"\n     \"Vomiting, Postoperative\"\n     \"coexists_with\")\n    (\"UMLS:C0879626\"\n     \"disease_or_phenotypic_feature\"\n     \"Adverse effects\"\n     \"subclass_of\")\n    (\"UMLS:C1306597\"\n     \"disease_or_phenotypic_feature\"\n     \"Psychiatric problem\"\n     \"manifestation_of\")))\n\n;; ~20 seconds\n;(test 'single-object-affects-edges\n;  (length (run* (s id)\n;            (edge id s \"UMLS:C0005767\")\n;            (eprop id \"edge_label\" \"affects\")))\n;  2414)\n\n;; ~190 seconds\n;(test 'all-concept-category-counts\n;  (run* (category count)\n;    (fresh (curie)\n;      (cprop curie \"category\" category)\n;      (:== count (category)\n;           (s-length (run^ (curie)\n;                           (cprop curie \"category\" category))))))\n;\n;  '((\"activity_and_behavior\" 935)\n;    (\"anatomical_entity\" 2750)\n;    (\"biological_entity\" 14905)\n;    (\"biological_process_or_activity\" 6887)\n;    (\"cell\" 1099)\n;    (\"cell_component\" 1644)\n;    (\"chemical_substance\" 58812)\n;    (\"disease_or_phenotypic_feature\" 36248)\n;    (\"gene\" 20695)\n;    (\"genomic_entity\" 174)\n;    (\"gross_anatomical_structure\" 8472)\n;    (\"phenotypic_feature\" 393)\n;    (\"protein\" 12644)))\n"
  },
  {
    "path": "medikanren2/trapi-cli.rkt",
    "content": "#lang racket\n\n#|\n    Reads TRAPI filenames from stdin and runs them.  Example (run all Dec 2021 queries):\n\n        git clone https://github.com/NCATSTranslator/minihackathons\n        find minihackathons -maxdepth 3 -type f -path \\*2021-12_demo\\* -name \\*.json \\\n            | racket -l errortrace -u medikanren2/trapi-cli.rkt\n\n|#\n\n(require\n \"common.rkt\"   \n  \"trapi.rkt\"\n  \"logging.rkt\"\n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/pretty\n  racket/runtime-path\n  racket/dict\n  racket/async-channel\n  http/request\n  json\n)\n\n(define seconds-per-query (make-parameter 60))\n(define seconds-idle-between-queries (make-parameter 15))\n(define uri-trapi (make-parameter #f))\n\n(define (with-timeout seconds thunk)\n  (define ach (make-async-channel))\n  (define t (thread\n              (lambda ()\n                (async-channel-put\n                    ach\n                    (list (thunk))))))    ; nonempty list indicates success\n  ; Watcher thread:\n  (thread (lambda ()\n            (sleep seconds)\n            (kill-thread t)\n            (async-channel-put ach '()))) ; empty list indicates timeout\n  (sync ach))\n\n(define (run-query-without-network-impl fn msg)\n    (flush-output (current-output-port))\n    (define maybe-out (with-timeout (seconds-per-query) (lambda () (trapi-response msg))))\n    (flush-output (current-output-port))\n    (if (null? maybe-out)\n        (hasheq 'results '())\n        (let* ((out (car maybe-out))\n                (r (dict-ref out 'results)))\n            (dict-set out 'results r))))\n\n\n(define (run-query-without-network fn json1)\n    (define jsexpr (string->jsexpr json1))\n    (define trapimsg (hash-ref jsexpr 'message))\n    (define out (run-query-without-network-impl fn trapimsg))\n    (hasheq 'message out))\n\n(define http-version \"1.1\")\n(define (run-query-with-network fn json1)\n    (define uri (format \"~a~a\" (uri-trapi) \"/query\"))\n    (define headers '((#\"Content-Type\" . \"application/json\")))\n    (define bytes-out (call/output-request http-version\n                            \"POST\"\n                            uri\n                            (string->bytes/utf-8 json1)\n                            #f\n                            headers\n                            read-entity/bytes\n                            #:redirects 0))\n    (define tmp (bytes->jsexpr bytes-out))\n    (sleep (seconds-idle-between-queries))\n    tmp)\n\n(define (run-query fn json1)\n    (displayln (jsexpr->string (hasheq\n        'event \"request\"\n        'fn fn)))\n    (define out\n        (if (uri-trapi)\n            (run-query-with-network fn json1)\n            (run-query-without-network fn json1)))\n    (displayln (jsexpr->string (hasheq\n        'event \"response\"\n        'fn fn\n        'out out\n    )))\n    out)\n\n(define (read-and-run-by-filename fd)\n    (define (iter inouts)\n        (define l (read-line fd 'any))\n        (if (eof-object? l)\n            inouts\n            (let ((fn (string-trim l)))\n            (if (or (<= (string-length fn) 1) (not (file-exists? fn)))\n                '()\n                (let* (\n                    (t0 (current-milliseconds))\n                    (json1 (file->string fn))\n                    (out (run-query fn json1))\n                    (dt (exact->inexact (/ (- (current-milliseconds) t0) 1000)))\n                    (inout `((fn . ,fn) (dt . ,dt) (json . ,json1) (out . ,out))))\n                (iter (cons inout inouts)))))))\n    (iter '()))\n\n(define (num-results-from-out a1)\n;    (printf \"a1=\\n\")\n;    (pretty-write a1)\n    (if (null? a1)\n        -1                               ; -1 indicates timeout\n        (length (dict-ref (dict-ref a1 'message) 'results))))\n\n(define (run-main)\n    (let ((inouts (read-and-run-by-filename (current-input-port))))\n        (for ((inout inouts))\n            (let* (\n                    (n (num-results-from-out (dict-ref inout 'out))))\n                (displayln\n                    (jsexpr->string\n                        (hasheq\n                            'event \"summary\"\n                            'num-answers n\n                            'dt (dict-ref inout 'dt)\n                            'fn (dict-ref inout 'fn)))))))\n)\n\n(define (parse-configuration)\n  (command-line\n   #:program \"trapi-cli.rkt\"\n   #:usage-help \"trapi-cli.rkt <options>\"\n   #:once-each\n   [(\"--seconds-per-query\") sec\n                    \"Number of seconds to allow for each query\"\n                    (seconds-per-query (string->number (string-trim #:left? #f sec)))]\n   [(\"--uri-trapi\") adir\n                    \"A URI to a TRAPI service\"\n                    (uri-trapi (string-trim #:left? #f adir))]\n   #:args ()\n   '())\n   ;\"\"  ; We don't care about the return value because configuration lives in mutatable racket parameters\n  )\n\n(module+ main\n  (parse-configuration)\n  (run-main)\n  )\n\n\n"
  },
  {
    "path": "medikanren2/trapi.rkt",
    "content": "#lang racket/base\n(provide trapi-response)\n(require\n \"common.rkt\" \n \"lw-reasoning.rkt\"\n \"logging.rkt\"\n  racket/file racket/function racket/list racket/hash\n  (except-in racket/match ==)\n  racket/port\n  racket/pretty\n  racket/runtime-path\n  racket/string\n  json\n  memoize\n  racket/format\n  racket/dict\n  racket/set\n  )\n\n\n;; QUESTION\n;; - Do we return all attributes, or only specified ones?\n;; - How is knowledge_graph used in queries?\n\n;; TODO (trapi.rkt and server.rkt)\n;; - status - logs - description\n;; - Understand Attribute types\n;; - QEdge constraints\n;; - QNode is_set:\n;;       Boolean that if set to true, indicates that this QNode MAY\n;;       have multiple KnowledgeGraph Nodes bound to it wi;; thin each\n;;       Result. The nodes in a set should be considered as a set of\n;;       independent nodes, rather than a set of dependent nodes,\n;;       i.e., the answer would still be valid if the nodes in the set\n;;       were instead returned individually. Multiple QNodes may have\n;;       is_set=True. If a QNode (n1) with is_set=True is connected to\n;;       a QNode (n2) with is_set=False, each n1 must be connected to\n;;       n2. If a QNode (n1) with is_set=True is connected to a QNode\n;;       (n2) with is_set=True, each n1 must be connected to at least\n;;       one n2.\n\n(define use-reasoning? (make-parameter #f))\n\n(define trapi-response-node-properties '(\"category\" \"name\"))\n(define trapi-response-node-attributes '((\"umls_type_label\" . \"miscellaneous\")\n                                         (\"umls_type\" . \"miscellaneous\")\n                                         (\"xrefs\" . \"miscellaneous\")))\n(define trapi-response-edge-properties '(\"predicate\" \"relation\" \"subject\" \"object\"))\n(define trapi-response-edge-attributes '((\"negated\" . \"miscellaneous\")\n                                         (\"provided_by\" . \"miscellaneous\")\n                                         (\"publications\" . \"miscellaneous\")))\n\n(define (alist-ref alist key default)\n  ;; WEB  FIXME unchecked 'assoc' result\n  (define kv (assoc key alist))\n  (if kv (cdr kv) default))\n\n(define hash-empty (hash))\n(define (str   v) (if (string? v) v (error (format \"invalid string: ~s\" v))))\n(define (olift v) (if (hash?   v) v (error (format \"invalid object: ~s\" v))))\n(define (slift v) (cond ((pair?   v) v)\n                        ((string? v) (list v))\n                        ((null?   v) '())\n                        (else        (error (format \"invalid string or list of strings: ~s\" v)))))\n(define (alist-of-hashes->lists v)\n  (map (lambda (pair)\n         (cons (car pair) (hash->list (olift (cdr pair)))))\n       v))\n(define (symlift v) \n  (cond ((number? v) (string->symbol (number->string v)))\n        ((string? v) (string->symbol v))\n        ((symbol? v) v)\n        (else (error (format \"Must be a number, string or symbol: ~s.\" v)))))\n\n(define (strlift v)\n  (cond ((number? v) (number->string v))\n        ((string? v) v)\n        ((symbol? v) (symbol->string v))\n        (error (format \"Must be a number, string or symbol: ~s\" v))))\n\n(define (trapi-response msg)\n  (define log-key \"[query]\")\n  (define max-results (hash-ref msg 'max_results #f))\n  (define qgraph (hash-ref msg 'query_graph #f))\n  (define kgraph (hash-ref msg 'knowledge_graph #f))\n  (define request-valid? (not (not qgraph)))\n\n  (if (not request-valid?)\n    (hash 'results '()\n          'knowledge_graph\n          (hash 'nodes '#hash()\n                'edges '#hash()))\n    (let ((results (if max-results\n                          (run max-results bindings (trapi-query qgraph kgraph bindings log-key))\n                          (run* bindings (trapi-query qgraph kgraph bindings log-key)))))\n      (hash 'results (trapi-response-results results qgraph)\n            'knowledge_graph\n            (hash 'nodes (trapi-response-knodes results)\n                  'edges (trapi-response-kedges results))))))\n\n(define (trapi-query qgraph kgraph bindings log-key)\n  (define nodes  (hash->list (olift (hash-ref qgraph 'nodes hash-empty))))\n  (define edges  (hash->list (olift (hash-ref qgraph 'edges hash-empty))))\n\n  ;; Interpret included KnowledgeGraph element\n  (define knodes (and kgraph\n                      (alist-of-hashes->lists\n                       (hash->list (olift (hash-ref kgraph 'nodes hash-empty))))))\n  (define kedges (and kgraph (alist-of-hashes->lists\n                              (hash->list (olift (hash-ref kgraph 'edges hash-empty))))))\n  (define-relation (k-is-a concept category)\n    (fresh (props concept-sym category-sym)\n      (membero `(,concept-sym . ,props) knodes)\n      (membero `(category . ,category) props)\n      (:== concept-sym (concept) (string->symbol concept))\n      (:== category-sym (category) (string->symbol category))))\n  (define-relation (k-triple eid s p o)\n    (fresh (props)\n      (membero `(,eid . ,props) kedges)\n      (membero `(subject . ,s) props)\n      (membero `(predicate . ,p) props)\n      (membero `(object . ,o) props)))\n\n    (let ((full-reasoning? (hash-ref qgraph 'use_reasoning #t)))\n      (fresh (node-bindings edge-bindings)\n        (== bindings `((node_bindings . ,node-bindings) \n                       (edge_bindings . ,edge-bindings)))\n        ((trapi-nodes nodes k-is-a full-reasoning? log-key) node-bindings)\n        ((trapi-edges edges k-triple full-reasoning? log-key) node-bindings edge-bindings))))\n\n(define (trapi-nodes nodes k-is-a full-reasoning? log-key)\n  (relation trapi-nodes-o (bindings)\n    (begin\n      (printf \"entering trapi-nodes loop...\\n\")\n      (let loop ((nodes nodes)\n                 (bindings bindings))\n        (if (null? nodes)\n            (== bindings '())\n            (let* ((id+n        (car nodes))\n                   (id          (car id+n))\n                   (n           (cdr id+n))\n                   (curie       (hash-ref n 'id #f)) ; deprecated v1.1\n                   (curies      (hash-ref n 'ids (and curie \n                                                      (if (pair? curie) curie\n                                                          (list curie)))))\n                   (category   (hash-ref n 'category #f)) ; deprecated v1.1\n                   (categories  (hash-ref n 'categories (and category \n                                                             (if (pair? category) category\n                                                                 (list category)))))\n                   (constraints (hash-ref n 'constraints '()))\n                   (is-set?     (hash-ref n 'is_set #f))\n                   (reasoning?  (hash-ref n 'use_reasoning #f)))\n              (printf \"--------------\\n\")\n              (printf \"id: ~s\\n\" id)\n              (printf \"n: ~s\\n\" n)\n              (printf \"curie (deprecated): ~s\\n\" curie)\n              (printf \"curies: ~s\\n\" curies)\n              (printf \"category (deprecated): ~s\\n\" category)\n              (printf \"categories: ~s\\n\" categories)\n              (printf \"constraints: ~s\\n\" constraints)\n              (printf \"is-set?: ~s\\n\" is-set?)\n              (printf \"reasoning?: ~s\\n\" reasoning?)\n              (printf \"--------------\\n\")\n              (if curies\n                  (if (pair? curies)\n                      ;; WEB TODO FIXME Shouldn't we be\n                      ;; simulataneously checking for subclasses of\n                      ;; categories (as in the code below, for when no\n                      ;; curies are specified), if categories are\n                      ;; present for the node, and reasoning? or\n                      ;; full-reasoning? is true?\n                      (let ((curies\n                             (if (or reasoning? full-reasoning?)\n                                 (log-time log-once log-key \n                                           (format \"Subclasses/synonyms of ~s\" curies)\n                                           (get-synonyms-ls (subclasses/set curies)))\n                                 curies)))\n                        (fresh (curie k+v bindings-rest)\n                          (== bindings `(,k+v . ,bindings-rest))\n                          (== k+v `(,id . ,curie))\n                          (membero curie curies)\n                          ((trapi-constraints constraints) curie)\n                          (loop (cdr nodes) bindings-rest)))\n                      (error (format\n                              \"Field: 'QNode/ids' must be array of CURIEs (TRAPI 1.1), but given ~s\\n\"\n                              curies)))\n                  (if categories\n                      (if (pair? categories)\n                          (let ((categories (if (or reasoning? full-reasoning?)\n                                                (log-time log-once log-key \n                                                          (format \"Subclasses of ~s\" categories)\n                                                          (subclasses/set categories))\n                                                categories)))\n                            (fresh (cat curie k+v bindings-rest)\n                              (== k+v `(,id . ,curie))\n                              (== bindings `(,k+v . ,bindings-rest))\n                              ((trapi-constraints constraints) curie)\n                              (membero cat categories)\n                              (conde ((is-a curie cat))\n                                     ((k-is-a curie cat)))\n                              (loop (cdr nodes) bindings-rest)))\n                          (error (format\n                                  \"Field: 'QNode/categories' must be array of CURIEs (TRAPI 1.1), but given ~s\\n\"\n                                  categories)))\n                      ;; No ids (CURIEs) or categories specified for the node:\n                      (fresh (curie k+v bindings-rest)\n                          (== bindings `(,k+v . ,bindings-rest))\n                          (== k+v `(,id . ,curie))\n                          ((trapi-constraints constraints) curie)\n                          (loop (cdr nodes) bindings-rest))))))))))\n\n(define (trapi-edges edges k-triple full-reasoning? log-key)\n  (relation trapi-edges-o (node-bindings edge-bindings)\n    (let loop ((edges edges) (bindings edge-bindings))\n      (if (null? edges)\n          (== bindings '()) \n          (let* ((id+e        (car edges))\n                 (id          (car id+e))\n                 (e           (cdr id+e))\n                 (predicate   (hash-ref e 'predicate #f)) ; deprecated v1.1\n                 (predicates  (hash-ref e 'predicates (and predicate\n                                                           (if (pair? predicate) predicate\n                                                               (list predicate)))))\n                 (subject-symbol (hash-ref e 'subject #f))\n                 (subject     (if subject-symbol\n                                  (string->symbol subject-symbol)\n                                  (error (format \"subject not found in e:\\n~s\" e))))\n                 (relation    (hash-ref e 'relation #f))\n                 (object-symbol (hash-ref e 'object #f))\n                 (object      (if object-symbol\n                                  (string->symbol object-symbol)\n                                  (error (format \"object not found in e:\\n~s\" e))))\n                 (constraints (hash-ref e 'constraints '()))\n                 (reasoning?  (hash-ref e 'use_reasoning #f)))\n            (if (and predicates (not (pair? predicates)))\n                (error (format\n                         \"Field: 'QEdge/predicates' must be an array of CURIEs (TRAPI 1.1).  Given ~s\\n\"\n                         predicates))\n                (let ((predicates (if (and (or reasoning? full-reasoning?) predicates)\n                                      (log-time log-once log-key \n                                                (format \"Subclasses of ~s\" predicates)\n                                                (subclasses/set predicates))\n                                      predicates)))\n                  (fresh (db+id s p o bindings-rest)\n                    (membero `(,subject . ,s) node-bindings)\n                    (membero `(,object . ,o) node-bindings)\n                    (conde ((== predicates #f))\n                           ((== predicates '()))\n                           ((membero p predicates)))\n                    (conde ((triple/eid db+id s p o)\n                            (conde ((== relation #f))\n                                   ((stringo relation) \n                                    (eprop db+id \"relation\" relation))))\n                           ((fresh (id)\n                              (k-triple id s p o)\n                              (== db+id `(kg . ,id)))))\n                    (== bindings `((,id . ,db+id) . ,bindings-rest))\n                    (loop (cdr edges) bindings-rest)))))))))\n\n(define (trapi-constraints constraints)\n  (relation trapi-node-constraints-o (node)\n    (let loop ((constraints constraints))\n      (if (null? constraints)\n          (== #t #t)\n          (let* ((constraint (car constraints))\n                 (id        (hash-ref constraint 'id #f))\n                 (not?      (hash-ref constraint 'not #f))\n                 (operator  (hash-ref constraint 'operator #f))\n                 (enum      (hash-ref constraint 'enum #f))\n                 (value     (hash-ref constraint 'value #f))\n                 (unit-id   (hash-ref constraint 'unit_id #f))) ;?\n            (fresh (val)\n              (triple node id val)\n              (case operator\n                ((\">\")  (if not?\n                            (<=o val value)\n                            (<o value val)))\n                ((\"<\")  (if not?\n                            (<=o val value)\n                            (<o val value)))\n                ((\"matches\") (:== #t (val) (regexp-match value val)))\n                (else (if not?\n                          (=/= val value)\n                          (== val value))))\n              (loop (cdr constraints))))))))\n\n(define (edge-id/reported db+eid)\n  (let ((db     (car db+eid))\n        (eid    (cdr db+eid)))\n    (if (eq? db 'kg) (strlift eid) \n        (string-append (strlift db) \".\" (strlift eid)))))\n\n(define (trapi-response-results results qgraph)\n  (let-values (((is-set-nodes singleton-nodes)\n                (partition (lambda (node) (hash-ref (cdr node) 'is_set #f))\n                           (hash->list (hash-ref qgraph 'nodes)))))\n    (if (null? is-set-nodes) \n        (transform-trapi-results results)\n        (transform-trapi-results (group-sets results (map car singleton-nodes))))))\n\n(define (transform-trapi-results results)\n  (map (lambda (bindings)\n         (hash 'node_bindings\n               (make-hash\n                (map (lambda (binding) \n                       (let ((node/s (cdr binding)))\n                         `(,(car binding)\n                           . ,(map (lambda (id) (hash 'id id))\n                                   (if (list? node/s) node/s\n                                       (list node/s))))))\n                     (alist-ref bindings 'node_bindings '())))\n               'edge_bindings\n               (make-hash\n                (map (lambda (ebinding)\n                       (let ((edge/s (cdr ebinding)))\n                         `(,(car ebinding)\n                           . ,(map (lambda (db+id)\n                                     (hash 'id (edge-id/reported db+id)))\n                                   (if (list? edge/s) edge/s\n                                       (list edge/s))))))\n                     (alist-ref bindings 'edge_bindings '())))\n\n               ;;; WEB: dummy score, until I implement a scoring algorithm\n               'score\n               42.01\n               \n               ))\n       results))\n\n(define (unique-bindings-values results key)\n  (remove-duplicates\n   (apply append\n          (map\n           (lambda (nb) (map cdr (alist-ref nb key #f)))\n           results))))\n\n(define (snake->camel str (capitalize? #f)) \n  (if (non-empty-string? str)\n      (let ((first-letter (substring str 0 1))\n            (rest-str (substring str 1 (string-length str))))\n        (if (equal? first-letter \"_\")\n            (snake->camel rest-str #t)\n            (string-append (if capitalize?\n                               (string-upcase first-letter) \n                               first-letter)\n                           (snake->camel rest-str))))\n      \"\"))\n\n;; hack to ensure Biolink compliance for rtx2-20210204 and semmeddb\n(define (biolinkify/predicate curie)\n  (let ((curie (string-replace curie \",\" \"\")))\n    (if (string-prefix? curie \"biolink:\") curie\n        (string-append \"biolink:\" curie))))\n\n;; hack to ensure Biolink compliance for rtx2-20210204 and semmeddb\n(define (biolinkify/category curie)\n  (if (string-prefix? curie \"biolink:\") curie\n      (string-append \"biolink:\" \n                     (string-replace (snake->camel curie #t) \"_\" \"\"))))\n\n(define (props-kv k+v)\n  (let ((k (car k+v)) (v (cdr k+v)))\n    (cond ((eq? k \"predicate\")\n           `(predicate . ,(biolinkify/predicate v)))\n          (else\n           (cons (string->symbol k) v)))))\n\n(define (attributes-kv keys)\n  (lambda (k+v)\n    (let ((k (car k+v)) (v (cdr k+v)))\n      (make-hash\n       `((attribute_type_id . ,(alist-ref keys k \"miscellaneous\"))\n         (value_type_id . ,(alist-ref keys k \"miscellaneous\"))\n         (original_attribute_name . ,(strlift k))\n         (value . ,(strlift v)))))))\n\n(define (trapi-response-knodes/edges results key new-key query attributes-query attributes-keys)\n  (make-hash\n   (map (lambda (node)\n          `(,(new-key node)\n            . ,(make-hash\n                (append (let ((attributes (attributes-query node)))\n                          (if (pair? attributes)\n                              `((attributes . ,(map (attributes-kv attributes-keys) attributes))) '()))\n                        (map props-kv (query node))))))\n        (unique-bindings-values results key))))\n\n(define (trapi-response-knodes results)\n  (trapi-response-knodes/edges\n   results 'node_bindings string->symbol\n   ;; (lambda (node) \n   ;;   (run* prop\n   ;;     (fresh (k v)\n   ;;       (membero k trapi-response-node-properties)\n   ;;       (== `(,k . ,v) prop)\n   ;;       (cprop node k v))))\n   (lambda (node)\n     `((\"name\" . ,(car (run 1 v (cprop node \"name\" v)))) ; hack: only gets 1!\n       (\"categories\" . ,(remove-duplicates\n                         (map biolinkify/category (run* v (cprop node \"category\" v)))))))\n   (lambda (node)\n     (run* attribute\n       (fresh (k v)\n         (membero k (map car trapi-response-node-attributes))\n         (== `(,k . ,v) attribute)\n         (cprop node k v))))\n   trapi-response-node-attributes))\n\n(define (trapi-response-kedges results)\n  (trapi-response-knodes/edges \n   results 'edge_bindings (compose symlift edge-id/reported)\n   (lambda (node) \n     (let ((properties\n            (run* prop\n              (fresh (k v)\n                (membero k trapi-response-edge-properties)\n                (== `(,k . ,v) prop)\n                (eprop node k v)))))\n       (if (and (memf (lambda (k+v) (eq? (car k+v) \"subject\")) properties)\n                (memf (lambda (k+v) (eq? (car k+v) \"object\")) properties))\n           properties\n           (let ((s+p (car (run 1 (s o) (edge node s o)))))\n             `((\"subject\" . ,(car s+p))\n               (\"object\" . ,(cadr s+p))\n               . ,properties)))))\n   (lambda (node)\n     (run* attribute\n       (fresh (k v)\n         (membero k (map car trapi-response-edge-attributes))\n         (== `(,k . ,v) attribute)\n         (eprop node k v))))\n   trapi-response-edge-attributes))\n\n(define (group-sets results singleton-nodes)\n  (define (get-nodes result)\n    (sort (filter (lambda (node)\n                    (member (car node) singleton-nodes))\n                  ;; WEB  FIXME taking 'cdr' of unchecked 'assoc' result\n                  (cdr (assoc 'node_bindings result)))\n          string<?\n          #:key (lambda (e) (symbol->string (car e)))))\n  (define (nodes-equal? a b)\n    (equal? (get-nodes a) (get-nodes b)))\n  (define (combine-bindings results key)\n    (foldl\n     (lambda (result rst) \n       (dict-map result (lambda (id curie)\n                          (remove-duplicates\n                           (cons id (cons curie (alist-ref rst id '())))))))\n     '()\n     (map (lambda (result)\n            ;; WEB  FIXME taking 'cdr' of unchecked 'assoc' result\n            (cdr (assoc key result)))\n          results)))\n  (map (lambda (results)\n         `((node_bindings . ,(combine-bindings results 'node_bindings))\n           (edge_bindings . ,(combine-bindings results 'edge_bindings))))\n       (group-by values results nodes-equal?)))\n"
  },
  {
    "path": "medikanren2/util/data-import-workaround/remove_cr.pl",
    "content": "use strict;\n\n# Remedy to a data corruption problem in one upstream file.  Repro:\n# \n# input file:\n#         3f8f7c80dc9c39dc291468fc1ab6ae9b80b5630c  sri-reference-kg-0.3.0.tar.gz\n# \n# Run this in a terminal:\n# \n#     cat medikanren2/data/sri-reference/0.3.0/upstream/sri-reference-kg-0.3.0_nodes.tsv | perl -e 'binmode(STDOUT); while($_ = <>) {$a=$_; chomp($_); $a =~ s/\\t/\\|/g; @F=split(\"|\",$a); $s=scalar(@F); $i+=1; print \"$i: \"; $x=$a; $x =~ s/\\t/\\\\t/g; print \"$i\\t$x\";}' | tail -n+849 | head -5 \n#     849: 849\tFlyBase:FBgn0004623|Gbeta76C|biolink:NamedThing|biolink:GenomicEntity|biolink:Gene|G protein beta-subunit 76C||ncbigene|panther|flybase|go|CG8770|DGqbeta|eGbeta|eye Gbeta|Galpha76C|gbe|Gbe|G[[beta]]|Gbeta|Gbeta76c|G[[beta76C]]|G[[beta]]e|Gbeta[[e]]|Gbeta{e}|Gbetae|G[[beta]] eye|G[q]|Gqbeta|Gqbetae|guanine nucleotide regulatory protein beta subunit||True||||||||||NCBITaxon:7227|NCBITaxon:7227||||||||||SO:0000704|owl:Class|SO:0000704|\n#     850: 850\tFlyBase:FBgn0004629|Cys|biolink:NamedThing|biolink:GenomicEntity|biolink:Gene|Cystatin-like||ncbigene|flybase|go|anon-EST:Liang-2.34|BcDNA:RH72992|CG8050|clone 2.34|cys|cystatin|Cystatin||True||||||||||NCBITaxon:7227||||||||||owl:Class|SO:0000704|\n#     ho|Dmrho|DMRHO|DmRho1|DMRHOa|DMRHOb|DRORHO|iks|Rho|RHO|rho-1|rho1|Rho-1|Rho1|RHOb|rhom|Rhomboid|RHOMBOID|rhomboid-1|rhomboid1|Rhomboid 1|Rhomboid-1|Rhomboid-I|rhomboid/veinlet|ve|Ve|veinlet|Veinlet||True||||||||||NCBITaxon:7227|NCBITaxon:7227||||||||||SO:0000704|owl:Class|SO:0000704|\n#     852: 852\tFlyBase:FBgn0004636|Rap1|biolink:NamedThing|biolink:GenomicEntity|biolink:Gene|Rap1 GTPase||ncbigene|panther|flybase|go|BEST:GH18528|CG1956|C-ras3|DRap|D-Rap1|DRap1|Dras3|Dras62B|EC3-7|E(faf)|Enhancer of faf|FCG-C|l(3)62Bf|l(3)R|P08645|R|Rap|rap1|RAP1|ras 3|ras3|Ras3|RasIII|roughened|Roughened||True||||||||||NCBITaxon:7227|NCBITaxon:7227||||||||||SO:0000704|owl:Class|SO:0000704|\n#     853: 853\tFlyBase:FBgn0004638|drk|biolink:NamedThing|biolink:GenomicEntity|biolink:Gene|downstream of receptor kinase||ncbigene|panther|flybase|go|24/1|CG6033|crkl|Downstream of receptor kinase|downstream of receptor kinases|downstream receptor kinase|Drk|DRK|Drk/Grb2|Enhancer of sevenless-2B|E(sev)2B|Grb-2|Grb2|GRB2|Grb2/drk|Grb/drk|l(2)10626|l(2)k13809|P1112|Su(sev)R1||True||||||||||NCBITaxon:7227|NCBITaxon:7227||||||||||SO:0000704|owl:Class|SO:0000704|\n# \n# The numbering appears corrupted due to a spurious CR character on line 851.\n#\n# Note that there really is a line 851 there, but if the output reaches the screen\n# as shown above, most terminals will overwrite it.\n# \n# Pipe the file through this script to remedy: \n#\n# cat medikanren2/data/sri-reference/0.3.0/upstream/sri-reference-kg-0.3.0_nodes.tsv \\\n#   | perl util/data-import/remove_cr.pl \\\n#   > medikanren2/data/sri-reference/0.3.0/upstream/sri-reference-kg-0.3.0_nodes_nocr.tsv \n\nbinmode(STDOUT);\nwhile($_ = <>) {\n    $a=$_; \n    $a =~ s/\\x0d//g; \n    print \"$a\";\n}\n"
  },
  {
    "path": "medikanren2/util/storage-size-workaround/s-cerevisiae-kg-ref-ll.py",
    "content": "\nimport os\n\nrfile_nodes = \"medikanren2/data/sri-reference/0.3.0/upstream/sri-reference-kg-0.3.0_nodes_nocr.tsv\"\nrfile_edges = \"medikanren2/data/sri-reference/0.3.0/upstream/sri-reference-kg-0.3.0_edges_nocr.tsv\"\n# When used as configured, requires ~9GB RAM (\"RES = Resident Size\" in top)\n\nconfigs = {\n    'small': {\n        'level_max': 4,\n        'rel_blacklist':{\n            \"biolink:related_to\":1,\n            \"biolink:actively_involved_in\":1,\n            \"biolink:enables\":1,\n            \"biolink:part_of\":1\n        },\n        'prefix_output': 'medikanren2/data/yeast-sri-reference/0.3.0b/simulation-of-upstream'\n    },\n    'micro': {\n        'level_max': 0,\n        'rel_blacklist':{\n            \"biolink:related_to\":1,\n            \"biolink:actively_involved_in\":1,\n            \"biolink:enables\":1,\n            \"biolink:part_of\":1\n        },\n        'prefix_output': 'medikanren2/data/yeast-micro-sri-reference/0.3.0/simulation-of-upstream'\n    }\n}\n\nkconfig='small'\ndo_write = True\n\nlevel_max = configs[kconfig]['level_max']\nrel_blacklist = configs[kconfig]['rel_blacklist']\nprefix_output = configs[kconfig]['prefix_output']\n\ndef dictappend(d,k,v):\n    if not k in d:\n        d[k]=[v]\n    else:\n        vs=d[k]\n        vs.append(v)\n        d[k]=vs\n\nnodes = {}\n\nedges_fw = {}\nedges_rev = {}\n\ncNodes=0\nwith open(rfile_nodes) as fin: \n    iline=0\n    for line in fin:\n        iline += 1\n        if iline == 1:\n            continue # skip header\n        cNodes += 1\n        xs = line.split(\"\\t\")\n        nodeid = xs[0]\n        if nodeid.startswith(\"SGD\"):\n            node = 0\n            nodes[nodeid]=node\n\nprint(\"{} of {} nodes are SGD\".format(len(nodes), cNodes))\n\nwith open(rfile_edges) as fin: \n    iline=0\n    for line in fin:\n        iline += 1\n        if iline == 1:\n            continue # skip header\n        xs = line.split(\"\\t\")\n        srcid = xs[1]\n        destid = xs[3]\n        rel = xs[2]\n        if not rel in rel_blacklist:\n            dictappend(edges_fw, srcid, (destid, rel))\n            dictappend(edges_rev, destid, (srcid, rel))\n\n\ncFw=0\ncRev=0\nfor level in range(0,level_max+1):\n    print(\"SGD level {} has {} nodes ({} found searching forward, {} found searching reverse)\".format(level, len(nodes), cFw, cRev))\n    cFw=0\n    cRev=0\n    if level < level_max:\n        for nodeid1 in list(nodes.keys()):\n            for edge in edges_fw[nodeid1] if nodeid1 in edges_fw else []:\n                nodeid2 = edge[0]\n                if not (nodeid2 in nodes):\n                    nodes[nodeid2] = level\n                    cFw += 1\n                    # if (cFw % 1024) == 0:\n                    #     print(\"cFw={} rel={}\".format(cFw, edge[1]))\n            for edge in edges_rev[nodeid1] if nodeid1 in edges_rev else []:\n                nodeid2 = edge[0]\n                if not (nodeid2 in nodes):\n                    nodes[nodeid2] = level\n                    cRev += 1\n                    # if (cRev % 1024) == 0:\n                    #     print(\"cRev={} rel={}\".format(cRev, edge[1]))\n\ndef path_prefix(prefix,rfile):\n    return os.path.join(prefix, os.path.basename(rfile))\n\nif do_write:\n    os.makedirs(prefix_output, exist_ok=True)\n    with open(rfile_nodes) as fin: \n        with open(path_prefix(prefix_output, rfile_nodes), \"w\") as fout:\n            fout.seek(0)\n            fout.truncate()\n            iline=0\n            for line in fin:\n                iline += 1\n                if iline == 1:\n                    fout.write(line)\n                else:\n                    cNodes += 1\n                    xs = line.split(\"\\t\")\n                    nodeid = xs[0]\n                    if nodeid in nodes:\n                        fout.write(line)\n\n    with open(rfile_edges) as fin: \n        with open(path_prefix(prefix_output, rfile_edges), \"w\") as fout:\n            fout.seek(0)\n            fout.truncate()\n            iline=0\n            for line in fin:\n                iline += 1\n                if iline == 1:\n                    fout.write(line)\n                else:\n                    xs = line.split(\"\\t\")\n                    srcid = xs[1]\n                    destid = xs[3]\n                    rel = xs[2]\n                    if srcid in nodes and destid in nodes:\n                        fout.write(line)\n\n\n\n"
  },
  {
    "path": "stuff/cmd-helpers.rkt",
    "content": "#lang racket\n(provide\n adir-temp\n with-adir-temp-root\n sha1sum\n dry-run\n run-cmds\n dry-runify)\n(require \"run-shell-pipelines.rkt\")\n\n;;;; begin racket parameters\n(define adir-temp \n  (make-parameter \n   'adir-temp-placeholder))\n\n(define (with-adir-temp-root thunk-run)\n  (let ((adir (path->string (make-temporary-file \"medikanren_~a\" 'directory #f))))\n    (dynamic-wind\n      (lambda ()\n        #f)\n      (lambda ()\n        (parameterize ([adir-temp adir]) (thunk-run)))\n      (lambda ()\n        #f\n        (delete-directory/files adir)\n        ))))\n\n(define dry-run\n  (make-parameter #t))\n\n(define verbose\n  (make-parameter #t))\n\n;;;; end racket parameters\n\n(define (run-cmds cmds)\n  (when (or (dry-run) (verbose))\n    (displayln cmds))\n  (when (not (dry-run))\n    (run-pipelines cmds)))\n#|  (if (dry-run)\n(displayln cmds)\n(run-pipelines cmds)))\n|#\n\n(define (dry-runify thunk name)\n  (lambda args\n    (when (or (dry-run) (verbose))\n      (displayln (cons name args))\n      (flush-output))\n    (when (not (dry-run))\n      (apply thunk args))))\n#|\n(if (dry-run)\n    (displayln (cons name args))\n    (apply thunk args))))\n|#\n\n(define (sha1sum afile)\n  (run-cmds\n    `(((#:out) ()\n              (\"sha1sum\" ,afile)\n              (\"head\" \"-c40\")\n              ))))\n\n"
  },
  {
    "path": "stuff/install-data-files.rkt",
    "content": "#!/usr/bin/env racket\n#lang racket\n;;(require racket)\n(require racket/cmdline)\n(require yaml)\n(require shell/pipeline)\n(require net/url-string)\n(require \"run-shell-pipelines.rkt\")\n(require (prefix-in cmd: \"cmd-helpers.rkt\"))\n(require \"symlink-tree.rkt\")\n(require racket/pretty)\n(require chk)\n\n;; logging approach 1: Actually try to make a log receiver and make it work.  AFAICT\n;;   involves creating a thread, configuring flushing, etc.  Probably better, but complicated.\n;; logging approach 2: KISS but abuse the API.\n;;\n;; This is approach 2:\n(define (log-warning . args)\n  (apply displayln args)\n  (flush-output))\n\n;; *** generic utilities ***\n\n(define (with-finally thunk-cleanup thunk-run)\n  (dynamic-wind\n    (lambda () #f)\n    thunk-run\n    thunk-cleanup))\n\n;; *** application configuration ***\n\n(define afile-yaml (make-parameter #f))\n(define uri-yaml (make-parameter #f))\n(define uri-remote-archive (make-parameter #f))\n(define adir-local-archive (make-parameter #f))\n(define adir-storage (make-parameter #f))\n(define adir-install (make-parameter #f))\n(define adir-data-dir (make-parameter #f))\n(define do-config-scm (make-parameter #f))\n(define delete-data-cache (make-parameter #f))\n(define omit-aws-workaround (make-parameter #f))\n(define config-ardbs (make-parameter #f))     ; mutable\n(define config-adir-temp (make-parameter #f)) ; mutable\n\n;;; Mnemonic: \"ARchive of DataBase\"\n(struct ardb \n  (\n   kgid\n   versionOfKg\n   configkey             ; For --write-config-scm.  Leave configkey blank\n   ; to prevent the ardb from adding to config.scm.\n   reldir\n   isUpstream\n   sha1sum\n   versionOfMedikanren\n   filename\n   format\n   ) #:transparent\n  #:name ardb-t\n  #:constructor-name ardb-new\n  )\n\n(define (prefer-string v)\n  (cond\n    ((number? v) (number->string v))\n    (else v)))\n\n;; wow lots of work to have the file be yaml\n(define (construct-ardb node)\n  (define mapping (construct-mapping node))\n  (ardb-new\n   (hash-ref mapping \"kgid\" (lambda () 'null))\n   (prefer-string (hash-ref mapping \"versionOfKg\" (lambda () 'null)))\n   (hash-ref mapping \"configkey\" (lambda () 'null))\n   (hash-ref mapping \"reldir\" (lambda () 'null))\n   (hash-ref mapping \"isUpstream\" (lambda () #f))\n   (hash-ref mapping \"sha1sum\")\n   (hash-ref mapping \"versionOfMedikanren\")\n   (hash-ref mapping \"filename\")\n   (hash-ref mapping \"format\")))\n(define (represent-ardb p)\n  (define mapping (make-hash))\n  (hash-set! mapping \"kgid\" (ardb-kgid p))\n  (hash-set! mapping \"versionOfKg\" (ardb-versionOfKg p))\n  (hash-set! mapping \"configkey\" (ardb-configkey p))\n  (hash-set! mapping \"reldir\" (ardb-reldir p))\n  (hash-set! mapping \"isUpstream\" (ardb-isUpstream p))\n  (hash-set! mapping \"sha1sum\" (ardb-sha1sum p))\n  (hash-set! mapping \"versionOfMedikanren\" (ardb-versionOfMedikanren p))\n  (hash-set! mapping \"filename\" (ardb-filename p))\n  (hash-set! mapping \"format\" (ardb-format p))\n  (represent-mapping \"!ardb\" mapping))\n(define ardb-representer\n  (yaml-representer ardb? represent-ardb))\n(define ardb-constructor\n  (yaml-constructor ardb? \"!ardb\" construct-ardb))\n\n(define (ardb->yaml ardb)\n  (parameterize (\n                 [yaml-representers (list ardb-representer)]\n                 [yaml-constructors (list ardb-constructor)]\n                 )\n    (yaml->string ardb)))\n\n(define (styaml->ardbs styaml)\n  (parameterize (\n                 [yaml-representers (list ardb-representer)]\n                 [yaml-constructors (list ardb-constructor)]\n                 )\n    (string->yaml* styaml #:allow-undefined? #t)))\n\n(define (yamlfile->ardbs absfile)\n  (parameterize (\n                 [yaml-representers (list ardb-representer)]\n                 [yaml-constructors (list ardb-constructor)]\n                 )\n    (append-map (lambda (x) x)\n      (file->yaml* absfile))))\n\n(define (sturl-dirname sturl)\n  (define url1 (string->url sturl))\n  (define path1 (url-path url1))\n  (define path2 (take path1 (- (length path1) 1)))\n  (url->string (struct-copy url url1 (path path2))))\n\n(define (implicit-uri-remote?)\n  (and (not (uri-remote-archive))\n          (uri-yaml)))\n\n(define (uri-remote)\n  (if (implicit-uri-remote?)\n    (sturl-dirname (uri-yaml))\n    (uri-remote-archive)))\n\n(define (yamluri->ardbs uri-yaml)\n  (define afile-yaml-temp (path->string (build-path (string->path (config-adir-temp)) \"tmp.yaml\")))\n  (parameterize\n      ((cmd:dry-run #f))\n    (cmd:run-cmds\n    `(((#:out) () (,@(prefix-for-aws-workaround)\n              \"aws\" \"s3\" \"cp\" \"--quiet\"\n              ,uri-yaml\n              ,afile-yaml-temp\n              ))))\n    (yamlfile->ardbs afile-yaml-temp)))\n\n(define (dataconfig)\n  (cond\n    ((afile-yaml) (yamlfile->ardbs (afile-yaml)))\n    ((uri-yaml) (yamluri->ardbs (uri-yaml)))\n    (else (error \"internal error\"))))\n\n(define (path-ver-from-st v)\n  (match (map string->number (string-split (string-trim v \"v\") \".\"))\n    (`(1 . ,_) \"medikanren1\")\n    (`(2 . ,_) \"medikanren2\")\n    (else (error (format \"unknown versionOfMedikanren: ~a\" v)))))\n\n(define (path-ver ardb)\n  (let ((v (ardb-versionOfMedikanren ardb)))\n    (path-ver-from-st v)))\n\n(define (dir-cat-temp dir-archive ardb)\n  (if (implicit-uri-remote?)\n    (format \"~a/~a\" dir-archive (ardb-filename ardb))\n    (format \"~a/~a/~a\" dir-archive (path-ver ardb)\n            (ardb-filename ardb))))\n\n(define (dir-cat-temp-* dir-archive ardb)\n  (format \"~a*\" (dir-cat-temp dir-archive ardb)))\n\n;; *** commands for extracting, checking, and installing ***\n(define (cmd-to-cat ardb dir-archive)\n  (cond\n    ((member \"split\" (ardb-format ardb))\n     `(\"sh\" \"-c\" ,(format \"cat ~a\" (dir-cat-temp-* dir-archive ardb))))\n    (else `(\"cat\" ,(dir-cat-temp dir-archive ardb)))))\n\n(define (cmds-to-sha1 ardb dir-archive)\n  `(((#:out) ()\n             ,(cmd-to-cat ardb dir-archive)\n             (\"sha1sum\")\n             (\"cut\" \"-c1-40\")\n             )))\n\n(define (dirname afile)\n  (path->string (simplify-path (build-path (string->path afile) 'up))))\n\n(define (cmds-to-extract sha1 ardb dir-archive)\n  (let* ((adir-target (format \"~a/~a\" (adir-storage) sha1))\n         (adir-target-parent (dirname adir-target))\n         (adir-target-temp (format \"~a/~a-temp\" (adir-storage) sha1)))\n    `((() ()\n          (\"rm\" \"-rf\" ,adir-target-temp))\n      (() ()\n          (\"mkdir\" \"-p\" ,adir-target-temp))\n      (() ()\n          ,(cmd-to-cat ardb dir-archive)\n          (\"tar\" \"xzf\" \"-\" \"-C\" ,adir-target-temp)\n          )\n      (() ()\n          (\"mkdir\" \"-p\" ,adir-target-parent))\n      (() ()\n          (\"mv\" ,adir-target-temp ,adir-target)))))\n\n(define (label-sha1-dir sha1 ardb dir-archive)\n  (when (new-format? ardb)\n    (let* ((afile-kgid (build-path (adir-storage) sha1 \"kgid\" (ardb-kgid ardb)))\n          (afile-ver (build-path (adir-storage) sha1 \"ver\" (ardb-versionOfKg ardb))))\n      (make-parent-directory* afile-kgid)\n      (display-to-file \"\" afile-kgid)\n      (make-parent-directory* afile-ver)\n      (display-to-file \"\" afile-ver))))\n\n(define dr-label-sha1-dir (cmd:dry-runify label-sha1-dir 'label-sha1-dir))\n\n(define (reldir-from-ardb ardb)\n  (if (not (new-format? ardb))\n    `(,(ardb-reldir ardb)) ; This is now the only bona fide usage of ardb-reldir\n    (if (ardb-isUpstream ardb)\n      `(\"upstream\" ,(ardb-kgid ardb) ,(ardb-versionOfKg ardb))\n      `(,(ardb-kgid ardb) ,(ardb-versionOfKg ardb)))))\n\n(define (append-path path patels)\n  (apply build-path (cons path patels)))\n\n(define (do-symlink-impl path-src path-dest)\n  (make-directory* path-dest)\n  (make-directory* path-src)\n  (symlink-tree path-src path-dest))\n\n(define dr-do-symlink-impl (cmd:dry-runify do-symlink-impl 'do-symlink))\n\n(define (do-symlink sha1 ardb)\n  (printf \"*** entering do-symlink\\n\")\n  (printf \"*** sha1: ~s\\n\" sha1)\n  (printf \"*** ardb: ~s\\n\" ardb)\n  ;;\n  (printf \"*** (ardb-kgid ardb): ~s\\n\" (ardb-kgid ardb))\n  (printf \"*** (ardb-versionOfKg ardb): ~s\\n\" (ardb-versionOfKg ardb))\n  (printf \"*** (ardb-configkey ardb): ~s\\n\" (ardb-configkey ardb))\n  (printf \"*** (ardb-reldir ardb): ~s\\n\" (ardb-reldir ardb))\n  (printf \"*** (ardb-isUpstream ardb): ~s\\n\" (ardb-isUpstream ardb))\n  (printf \"*** (ardb-versionOfMedikanren ardb): ~s\\n\" (ardb-versionOfMedikanren ardb))\n  (printf \"*** (ardb-filename ardb): ~s\\n\" (ardb-filename ardb))\n  (printf \"*** (ardb-format ardb): ~s\\n\" (ardb-format ardb))\n  ;;\n  (printf \"*** (adir-local-archive): ~s\\n\" (adir-local-archive))\n  (printf \"*** (adir-storage): ~s\\n\" (adir-storage))\n  ;;\n  (printf \"*** (adir-data-dir): ~s\\n\" (adir-data-dir))\n  (printf \"*** (adir-install): ~s\\n\" (adir-install))\n  (printf \"*** (path-ver ardb): ~s\\n\" (path-ver ardb))\n  (let ((data-dir (if (adir-data-dir) (adir-data-dir) \"data\")))\n    (printf \"*** data-dir: ~s\\n\" data-dir)\n    (let* ((path-dest (append-path (build-path (adir-install) (path-ver ardb) data-dir)\n                                   (reldir-from-ardb ardb)))\n           (_ (printf \"*** path-dest: ~s\\n\" path-dest))\n           (path-src (build-path (adir-storage) sha1 (ardb-kgid ardb) (ardb-versionOfKg ardb)))\n           (_ (printf \"*** path-src: ~s\\n\" path-src)))\n      (printf \"calling dr-do-symlink-impl:\\n\")\n      (printf \"~s\\n\\n\" `(dr-do-symlink-impl ,path-src ,path-dest))\n      (dr-do-symlink-impl path-src path-dest))))\n\n(define (ardb-already-installed? ardb)\n  ;; cmds-to-extract owns adir-ardb-storage and writes atomically.  Manual\n  ;; manipulation of adir-storage is not supported.  Therefore,\n  ;; if we find that adir-ardb-storage already exists, it must have been\n  ;; the byproduct of a previous successful sha1 verification and install.\n  ;; Therefore, we may \"short circuit\" by not repeating the installation.\n  ;; Instead, we run an echo command to signal to the user.\n  (let* ((adir (path->string (build-path (adir-storage) (ardb-sha1sum ardb)))))\n    (directory-exists? adir)))\n\n(define (cmds-echo-already-installed ardb)\n  (let* ((adir (path->string (build-path (adir-storage) (ardb-sha1sum ardb)))))\n    `((() () (\"echo\" ,adir \" appears to be already installed, skipping\")))))\n\n(define (run-check-extract-link dir-archive)\n  (for ((ardb (config-ardbs)))\n    (let* ((sha1-expected (ardb-sha1sum ardb)))\n      (cond \n        ((ardb-already-installed? ardb)\n         (begin\n           (cmd:run-cmds (cmds-echo-already-installed ardb))\n           (do-symlink sha1-expected ardb)))\n        ((cmd:dry-run)\n         (let ((sha1 (ardb-sha1sum ardb)))\n           (cmd:run-cmds (cmds-to-extract sha1-expected ardb dir-archive))\n           (do-symlink sha1-expected ardb)))\n        (else\n         (let ((sha1 (string-trim\n                      #:left? #f\n                      (cmd:run-cmds (cmds-to-sha1 ardb dir-archive)))))\n           (if (equal? sha1 sha1-expected)\n               (begin\n                 (cmd:run-cmds (cmds-to-extract sha1 ardb dir-archive))\n                 (dr-label-sha1-dir sha1 ardb dir-archive)\n                 (do-symlink sha1 ardb))\n               (error (format \"sha1 ~a != expected ~a\" sha1 sha1-expected)))))))))\n\n;; *** commands for syncing from a remote source ***\n(define (include-for-sync ardb)\n  (if (ardb-already-installed? ardb)\n      '()\n      (if (implicit-uri-remote?)\n        `(\"--include\" ,(format \"*~a*\" (ardb-filename ardb)))\n        `(\"--include\" ,(format \"*~a/~a*\" (path-ver ardb) (ardb-filename ardb))))))\n\n(define (includes-for-sync)\n  (append-map (lambda (ardb) (include-for-sync ardb)) (config-ardbs)))\n\n(define (prefix-for-aws-workaround)\n  (if (omit-aws-workaround)\n    '()\n    '(\"env\" \"AWS_EC2_METADATA_DISABLED=true\")\n        ;; fix: \"<botocore.awsrequest.AWSRequest object at 0x7f623ae5b040>\"\n        ;; https://github.com/aws/aws-cli/issues/5262\n  ))\n\n;; interpret --write-config-scm to indicate unattended installation, otherwise show progress for the user\n(define (verbosity-options)\n  (if (do-config-scm)\n    '(\"--quiet\")\n    '()))\n\n(define (cmds-to-sync)\n  `((() () (,@(prefix-for-aws-workaround)\n            \"aws\" \"s3\" \"sync\" ,@(verbosity-options)\n            \"--exclude\" \"*\"\n            ,@(includes-for-sync)\n            ,(uri-remote)\n            ,(config-adir-temp)\n            ))))\n\n(define (path-remove-wildcards path)\n  (let* ((path1 (string-replace path \"*\" \"\" #:all? #t)))\n    (string-replace path1 \"?\" \"\" #:all? #t)))\n\n(define (cmds-rm-r absd)\n  `((() () (\"rm\" \"-rf\" ,(path-remove-wildcards absd)))))\n\n;;; TEMPORARY: migrated-to-new-db-versioning\n;;; BEGIN functions that do compatibility between the new kgid based config keys and the\n;;; older configkey field.\n\n(define (new-format? ardb)\n  (cond\n    ((equal? (ardb-kgid ardb) 'null) #f)\n    ((equal? (ardb-versionOfKg ardb) 'null) #f)\n    (else #t)))\n\n(define (get-configkey ardb)\n  (cond\n    ((not (ardb-configkey ardb)) #f)\n    ((eq? (ardb-configkey ardb) 'null) #f)\n    ((new-format? ardb) (ardb-kgid ardb))\n    (else (ardb-configkey ardb))))\n\n(define (idver-from-ardb ardb)\n  (if (new-format? ardb)\n    (values (ardb-kgid ardb) (ardb-versionOfKg ardb))\n    (values #f #f)))\n\n;;; END compatibility\n\n(define (gen-config-scm ver ardbs)\n  (let* (\n         (ardbs1\n          (filter\n           (lambda (ardb) (string-prefix? (ardb-versionOfMedikanren ardb) ver))\n           ardbs)))\n    `((databases ,@(append-map (lambda (ardb)\n                                 (if (get-configkey ardb) (list (string->symbol (get-configkey ardb))) '()))\n                               ardbs1)))))\n\n;; *** commands to automatically populate config.scm ***\n(define (write-config-scm ver)\n  (define cfg (gen-config-scm ver (config-ardbs)))\n  (pretty-write `((generated-config-scm . ,cfg)))\n  (unless (cmd:dry-run)\n    (let* (\n          (absf (format \"~a/~a/etc/config.scm\" (adir-install) (path-ver-from-st ver)))\n          (_ (make-parent-directory* absf))\n          (fout1 (open-output-file absf #:exists 'replace)))\n      (writeln cfg fout1)\n      (close-output-port fout1))))\n\n(define (write-configs-scm)\n  (write-config-scm \"v1.\")\n  (write-config-scm \"v2.\"))\n\n(define (update-vfd vfd ardbs)\n  (if (null? ardbs)\n    vfd\n    (let-values (((id ver) (idver-from-ardb (car ardbs))))\n      (update-vfd\n        (if id\n          (dict-set vfd (string->symbol id) (string->symbol ver))\n          vfd)\n        (cdr ardbs)))))\n\n(define (rewrite-config-installer-scm)\n  (let* ((ver \"v2.\")\n         (absf (format \"~a/~a/etc/config.installer.scm\" (adir-install) (path-ver-from-st ver)))\n         (_ (make-parent-directory* absf))\n         (fin1 (if (file-exists? absf) (open-input-file absf) (open-input-string \"()\")))\n         (h (read fin1))\n         (vfd (dict-ref h 'version-for-database '()))\n         (vfd2 (update-vfd vfd (config-ardbs)))\n         (h3 (dict-set h 'version-for-database vfd2)))\n    (if (cmd:dry-run)\n      (begin\n        (pretty-write `((rewrite-config-installer-scm . ,h)))\n        (newline))\n      (let ((fout1 (open-output-file absf #:exists 'replace)))\n        (pretty-write `((rewrite-config-installer-scm . ,h3)))\n        (pretty-write h3 fout1)\n        (newline fout1)\n        (close-output-port fout1)))))\n\n(define (cmds-delete-data-cache)\n  `((() ()\n        (\"rm\" \"-rf\" ,(adir-storage)))))\n\n;; *** main program ***\n(define (validate-env )\n  (define s3-id (getenv \"ncats_s3_id\"))\n  (define s3-secret (getenv \"ncats_s3_secret\"))\n\n  (unless s3-id (log-warning \"environment variable ncats_s3_id is missing.  awscli may be confused.\"))\n  (unless s3-secret (log-warning \"environment variable ncats_s3_secret is missing.  awscli may be confused.\")))\n\n(define (setup-teardown-run-install)\n  (validate-env)\n  (cmd:run-cmds (cmds-to-sync))\n  (run-check-extract-link (config-adir-temp)))\n\n;; TODO: inline\n(define (run-from-local-archive)\n  (run-check-extract-link (adir-local-archive)))\n\n(define (run-main)\n  (cmd:with-adir-temp-root\n    (lambda ()\n      (run-main-impl))))\n\n(define (run-main-impl)\n  (cond\n    ((not (or (afile-yaml) (uri-yaml))) (error \"--dir-root required\"))\n    ((not (adir-install)) (error \"--dir-install required\"))\n    ((not (adir-storage)) (error \"--dir-storage required\"))\n    ((not (or (uri-remote-archive) (implicit-uri-remote?) (adir-local-archive)))\n     (error \"either --uri-remote-archive or --dir-local-archive is required\"))\n    (else\n     (config-adir-temp (cmd:adir-temp)) ; parameter set!\n     (config-ardbs (dataconfig)) ; parameter set!\n     (when (delete-data-cache)\n       (cmd:run-cmds (cmds-delete-data-cache)))\n     (cond\n       ((implicit-uri-remote?) (setup-teardown-run-install))\n       ((uri-remote-archive) (setup-teardown-run-install))\n       ((adir-local-archive) (run-from-local-archive))\n       (else (error \"Nothing to do.  Pass --help for usage.\")))\n     (when (do-config-scm)\n       (write-configs-scm))\n     (rewrite-config-installer-scm)\n     )))\n\n;; *** CLI parsing ***\n(define (parse-configuration)\n  (cmd:dry-run #f)\n  (command-line\n   #:program \"install-data-files.rkt\"\n   #:usage-help \"install-data-files.rkt <options>\"\n   #:once-each\n   [(\"--file-yaml\") adir\n                    \"The absolute path to a data.yaml file\"\n                    (afile-yaml (string-trim #:left? #f adir))]\n   [(\"--uri-yaml\") adir\n                    \"An S3 URI to a data.yaml file with data accessible at a relative path\"\n                    (uri-yaml (string-trim #:left? #f adir))]\n   [(\"--uri-remote-archive\") uri\n                             \"The base URI of the remote data repository\"\n                             (uri-remote-archive (string-trim #:left? #f uri))]\n   [(\"--dir-local-archive\") adir\n                            \"The base URI of the remote data repository\"\n                            (adir-local-archive (string-trim #:left? #f adir))]\n   [(\"--dir-storage\") adir\n                      \"The base absolute directory for storing data\"\n                      (adir-storage (string-trim #:left? #f adir))]\n   [(\"--dir-install\") adir\n                      \"The base absolute directory for installing data\"\n                      (adir-install (string-trim #:left? #f adir))]\n   [(\"--data-dir\") adir\n                   \"The remainder of the base path to the directory for installing data\"\n                   (adir-data-dir (string-trim #:left? #f adir))]   \n   [(\"--write-config-scm\")\n    \"Generate and overwrite config.scm files for extracted data\"\n    (do-config-scm #t)]\n   [(\"--omit-aws-workaround\")\n    \"Generate and overwrite config.scm files for extracted data\"\n    (omit-aws-workaround #t)]\n   [(\"--delete-data-cache\")\n    \"In case of full disk or invalid state, delete existing cache\"\n    (delete-data-cache #t)]\n   [(\"--dry-run\")\n    \"Print commands to run.  Do not run.\"\n    (cmd:dry-run #t)]\n   #:args ()\n   '())\n   ;\"\"  ; We don't care about the return value because configuration lives in mutatable racket parameters\n  )\n\n(module+ main\n  (parse-configuration)\n  (run-main)\n  )\n\n(module+ test\n  (define ardb-sample (ardb-new \"rtx\" \"1.0-kge\"\n                                \"rtx2-20210204\" \"rtx2\"\n                                \"d56c1a0507b4e2c16f941214576af052f1279500\" \n                                \"v2.0\"\n                                \"rtx2_2021_02_04.tar.gz\"\n                                '()))\n\n  (define (with-config-sample-1 thunk)\n    (uri-remote-archive \"s3://bucket\")\n    (adir-storage \"/path/to/storage\")\n    (adir-install \"/path/to/install\")\n    (config-ardbs (list ardb-sample))\n    (thunk))\n\n  (chk\n   (#:do (ardb->yaml ardb-sample))\n   (#:t #t)\n   )\n  (chk\n   #:=\n   (styaml->ardbs (ardb->yaml ardb-sample))\n   (list ardb-sample)\n   )\n\n  (chk\n   (#:do\n    (define ardb (car (styaml->ardbs\n                       (string-join '(\n                                      \"!ardb\"\n                                      \"sha1sum: d56c1a0507b4e2c16f941214576af052f1279500\"\n                                      \"format: []\"\n                                      \"versionOfMedikanren: v2.0\"\n                                      \"filename: rtx2_2021_02_04.tar.gz\"\n                                      \"kgid: rtx\"\n                                      \"versionOfKg: 1.0-kge\"\n                                      \"reldir: rtx2\")\n                                    \"\\n\"\n                                    )))))\n   (#:= (ardb-configkey ardb) 'null)\n   )\n\n  (chk\n   (#:do\n    (define configscm\n      (gen-config-scm \"v2.\" (car (styaml->ardbs\n                                  (string-join '(\n                                                 \"---\"\n                                                 \"- !ardb\"\n                                                 \"  versionOfMedikanren: v2.\"\n                                                 \"  configkey: yeast-sri-reference\"\n                                                 \"  reldir: nonempty\"\n                                                 \"  sha1sum: nonempty\"\n                                                 \"  size: 0\"\n                                                 \"  filename: nonempty\"\n                                                 \"  kgid: rtx\"\n                                                 \"  versionOfKg: 1.0-kge\"\n                                                 \"  format:\")\n                                               \"\\n\"\n                                               ))))))\n   (#:do (pretty-write configscm))\n   (#:= (length (dict-ref configscm 'databases)) 1)\n   )\n\n  (chk\n   (#:do\n    (define configscm\n      (gen-config-scm \"v2.\" (car (styaml->ardbs\n                                  (string-join '(\n                                                 \"---\"\n                                                 \"- !ardb\"\n                                                 \"  versionOfMedikanren: v2.\"\n                                                 \"  reldir: nonempty\"\n                                                 \"  sha1sum: nonempty\"\n                                                 \"  size: 0\"\n                                                 \"  filename: nonempty\"\n                                                 \"  kgid: rtx\"\n                                                 \"  versionOfKg: 1.0-kge\"\n                                                 \"  format:\")\n                                               \"\\n\"\n                                               ))))))\n   (#:do (pretty-write configscm))\n   (#:= (length (dict-ref configscm 'databases)) 0)\n   )\n\n  (chk\n   (#:do\n    (define configscm\n      (gen-config-scm \"v2.\" (car (styaml->ardbs\n                                  (string-join '(\n                                                 \"---\"\n                                                 \"- !ardb\"\n                                                 \"  versionOfMedikanren: v2.\"\n                                                 \"  configkey:\"\n                                                 \"  reldir: nonempty\"\n                                                 \"  sha1sum: nonempty\"\n                                                 \"  size: 0\"\n                                                 \"  filename: nonempty\"\n                                                 \"  kgid: rtx\"\n                                                 \"  versionOfKg: 1.0-kge\"\n                                                 \"  format:\")\n                                               \"\\n\"\n                                               ))))))\n   (#:do (pretty-write configscm))\n   (#:= (length (dict-ref configscm 'databases)) 0)\n   )\n\n  (chk\n   #:=\n   (with-config-sample-1\n    (lambda ()\n      (config-adir-temp \"/tmp/dir\")\n      (cmds-to-sync)))\n   `((() () (\n             \"env\" \"AWS_EC2_METADATA_DISABLED=true\"\n             \"aws\" \"s3\" \"sync\" \"--quiet\"\n             \"--exclude\" \"*\"\n             \"--include\" \"*medikanren2/rtx2_2021_02_04.tar.gz*\" \n             \"s3://bucket\" \"/tmp/dir\")))\n   )\n\n  (chk\n   #:do (run-pipelines `((() () (\"echo\"))))\n   #t)\n\n  (chk\n   #:do (run-pipelines `((() () (\"echo\" \"-e\"))))\n   #t)\n\n  (chk\n   #:do (with-handlers ((exn:fail? (lambda (ex) #t))) (delete-file \"echo-out.tmp\"))\n   #:do (run-pipelines `(((#:out) (\"echo-out.tmp\") (\"echo\" \"hello\"))))\n   #:t (file-exists? \"echo-out.tmp\"))\n\n  (chk\n   #:do (define fout (open-output-string))\n   #:do (run-pipelines `(((#:out) (,fout) (\"echo\" \"-ne\" \"foo\\\\nbar\\\\n\") (\"sort\"))))\n   #:do (close-output-port fout)\n   #:do (define st (get-output-string fout))\n   #:= st \"bar\\nfoo\\n\")\n\n  (chk\n   #:do (define st (run-pipelines `(((#:out) () (\"echo\" \"-ne\" \"hello\")))))\n   #:= st \"hello\")\n\n  (chk\n   #:do (with-config-sample-1\n    (lambda ()\n      (run-check-extract-link (config-adir-temp))))\n   #:t #t)\n\n  (chk\n   #:= (path-remove-wildcards \"/foo/*bar*\") \"/foo/bar\"\n   #:= (path-remove-wildcards \"/foo/?bar?\") \"/foo/bar\")\n\n  (chk\n    (#:= (dirname \"/foo/bar/baz\")\n      \"/foo/bar/\"))\n\n  (chk\n    (#:= (dirname \"/foo/bar/baz/\")\n      \"/foo/bar/\"))\n  )\n"
  },
  {
    "path": "stuff/run-shell-pipelines.rkt",
    "content": "#lang racket\n(provide \n    run-pipelines\n    report-invalid-pipelines)\n(require shell/pipeline)\n(require chk)\n\n;; shell/pipelines can represent a pipeline step without\n;; running it, via pipeline-member-spec.  However, it seems to\n;; lack ability to represent a whole pipeline without running it.\n;; So as a workaround we'll use a list of lists to be able\n;; to test command generation without running commands.\n\n(define (report-invalid-pipelines pipelines)\n  (for ((pipeline pipelines))\n    (unless (list? pipeline)\n      (error \"pipeline must be a list:\" pipeline))\n    (unless (and (>= (length pipeline) 3) (andmap list? pipeline))\n      (error \"pipeline must contain at least three lists:\" pipeline))\n    (unless (andmap (lambda (cmd) (> (length cmd) 0)) (list-tail pipeline 2))\n      (error \"each command must be nonempty:\" pipeline))))\n\n\n;;; Run a list of prepared pipelines\n(define (run-pipelines pipelines)\n  (report-invalid-pipelines pipelines)\n  (define ret #f)\n  (for* ((pipeline pipelines))\n    (let* (\n           (ks (car pipeline))\n           (vs (cadr pipeline))\n           (fout (if (and\n                      (not (null? ks))\n                      (equal? (last ks) '#:out)\n                      (equal? (- (length ks) 1) (length vs)))\n                     (open-output-string)\n                     #f))\n           (vs (if fout\n                   (append vs (list fout))\n                   vs))\n           (p (keyword-apply run-subprocess-pipeline\n                             ks\n                             vs\n                             (pipeline-member-spec (caddr pipeline))\n                             (map (lambda (cmd) (pipeline-member-spec cmd)) (cdddr pipeline)))))\n      (if (not (equal? 0 (pipeline-status p)))\n          (raise (format \"status ~a attempting to run ~s\" (pipeline-status p) pipeline))\n          (printf \"status ok\\n\"))\n      (when fout (set! ret (get-output-string fout)))))\n  ret)\n\n(module+ test\n  ;; How to run a simple command\n  (chk\n   #:do (run-pipelines `((() () (\"echo\"))))\n   #t)\n\n  ;; How to run a simple command with parameters\n  (chk\n   #:do (run-pipelines `((() () (\"echo\" \"-e\"))))\n   #t)\n\n  ;; How to capture stdout to a file\n  (chk\n   #:do (with-handlers ((exn:fail? (lambda (ex) #t))) (delete-file \"echo-out.tmp\"))\n   #:do (run-pipelines `(((#:out) (\"echo-out.tmp\") (\"echo\" \"hello\"))))\n   #:t (file-exists? \"echo-out.tmp\"))\n\n  ;; How to capture stdout to a port\n  (chk\n   #:do (define fout (open-output-string))\n   #:do (run-pipelines `(((#:out) (,fout) (\"echo\" \"-ne\" \"foo\\\\nbar\\\\n\") (\"sort\"))))\n   #:do (close-output-port fout)\n   #:do (define st (get-output-string fout))\n   #:= st \"bar\\nfoo\\n\")\n\n  ;; How to capture capture stdout to a string\n  (chk\n   #:do (define st (run-pipelines `(((#:out) () (\"echo\" \"-ne\" \"hello\")))))\n   #:= st \"hello\")\n\n  ;; How to source stdin from a port and capture stdout to a string\n  (chk\n   #:do (define fin (open-input-string \"foo\\nbar\\nbaz\\n\"))\n   #:do (define st (string-trim (run-pipelines `(((#:in #:out) (,fin) (\"wc\" \"-l\"))))))\n   #:do (close-input-port fin)\n   #:= st \"3\")\n\n  ;; How to source stdin from a port and capture stdout to a port\n  (chk\n   #:do (define fin (open-input-string \"foo\\nbar\\nbaz\\n\"))\n   #:do (define fout (open-output-string))\n   #:do (run-pipelines `(((#:in #:out) (,fin ,fout) (\"wc\" \"-l\"))))\n   #:do (close-input-port fin)\n   #:do (close-output-port fout)\n   #:do (define st (string-trim (get-output-string fout)))\n   #:= st \"3\"))\n"
  },
  {
    "path": "stuff/symlink-tree.rkt",
    "content": "#lang racket\n(provide\n  symlink-tree)\n(require chk)\n\n(define (redirect path path-src path-dst)\n  (let* ((ep-dst (explode-path path-dst))\n         (len-src (length (explode-path path-src)))\n         (ep-src-tail (list-tail (explode-path path) len-src))\n         (ep (append ep-dst ep-src-tail)))\n    (apply build-path ep)))\n\n\n(define (ensure-directory path)\n  (when (file-exists? path)\n    (delete-file path))\n  (unless (directory-exists? path)\n    (make-directory path)))\n\n(define (symlink-tree path-src path-dst)\n  (unless (directory-exists? path-src)\n    (error \"path-src must be a directory\"))\n  (unless (directory-exists? path-dst)\n    (error \"path-dst must be a directory\"))\n  (for ((path (find-files (lambda (x) #t) path-src)))\n    (let ((path-new (redirect path path-src path-dst)))\n      (cond\n        ((directory-exists? path) (ensure-directory path-new))\n        ((file-exists? path)\n         (begin\n           (when (file-exists? path-new)\n             (delete-file path-new))\n           (when (directory-exists? path-new)\n             (error \"not implemented: directory must be replaced by file\"))\n           (make-file-or-directory-link path path-new)))))))\n\n(chk\n (#:=\n  (path->string\n   (redirect\n    (build-path \"/src/foo/bar\")\n    (build-path \"/src\")\n    (build-path \"/dst\")))\n  \"/dst/foo/bar\"))\n\n(define (prepare-test path-0)\n  (make-directory path-0)\n  (make-directory (build-path path-0 \"src\"))\n  (make-directory (build-path path-0 \"src\" \"foo\"))\n  (display-to-file \"\" (build-path path-0 \"src\" \"foo\" \"bar\"))\n  (make-directory (build-path path-0 \"dst\"))\n  (list (build-path path-0 \"src\") (build-path path-0 \"dst\")))\n\n(chk\n (#:do (define path-tmp1 (build-path (current-directory) \"tmp1\")))\n (#:do (define paths (prepare-test path-tmp1)))\n (#:do (define path-src (list-ref paths 0)))\n (#:do (define path-dst (list-ref paths 1)))\n (#:do (symlink-tree path-src path-dst))\n (#:t (link-exists? (build-path path-tmp1 \"dst\" \"foo\" \"bar\")))\n (#:=\n  (resolve-path (build-path path-tmp1 \"dst\" \"foo\" \"bar\"))\n  (build-path path-tmp1 \"src\" \"foo\" \"bar\"))\n (#:do (delete-directory/files path-tmp1)))\n"
  },
  {
    "path": "trace-pathways-by-tissue-type.rkt",
    "content": "#lang racket\n(require \"query.rkt\")\n\n(define gene-list (list->set '(\"ENSEMBL:ENSG00000167972\"\n                               \"ENSEMBL:ENSG00000198691\"\n                               \"ENSEMBL:ENSG00000175164\"\n                               \"ENSEMBL:ENSG00000278540\"\n                               \"ENSEMBL:ENSG00000100412\"\n                               \"ENSEMBL:ENSG00000162104\"\n                               \"ENSEMBL:ENSG00000204305\"\n                               \"ENSEMBL:ENSG00000135744\"\n                               \"ENSEMBL:ENSG00000144891\"\n                               \"ENSEMBL:ENSG00000180772\"\n                               \"ENSEMBL:ENSG00000142208\"\n                               \"ENSEMBL:ENSG00000148218\"\n                               \"ENSEMBL:ENSG00000163631\"\n                               \"ENSEMBL:ENSG00000085662\"\n                               \"ENSEMBL:ENSG00000154188\"\n                               \"ENSEMBL:ENSG00000091879\"\n                               \"ENSEMBL:ENSG00000182718\"\n                               \"ENSEMBL:ENSG00000134982\"\n                               \"ENSEMBL:ENSG00000132703\"\n                               \"ENSEMBL:ENSG00000023445\"\n                               \"ENSEMBL:ENSG00000142515\"\n                               \"ENSEMBL:ENSG00000026103\"\n                               \"ENSEMBL:ENSG00000117560\"\n                               \"ENSEMBL:ENSG00000240583\"\n                               \"ENSEMBL:ENSG00000161798\"\n                               \"ENSEMBL:ENSG00000006756\"\n                               \"ENSEMBL:ENSG00000117601\"\n                               \"ENSEMBL:ENSG00000149311\"\n                               \"ENSEMBL:ENSG00000164904\"\n                               \"ENSEMBL:ENSG00000171791\"\n                               \"ENSEMBL:ENSG00000101144\"\n                               \"ENSEMBL:ENSG00000010671\"\n                               \"ENSEMBL:ENSG00000100300\"\n                               \"ENSEMBL:ENSG00000149131\"\n                               \"ENSEMBL:ENSG00000171860\"\n                               \"ENSEMBL:ENSG00000106804\"\n                               \"ENSEMBL:ENSG00000197405\"\n                               \"ENSEMBL:ENSG00000149823\"\n                               \"ENSEMBL:ENSG00000063180\"\n                               \"ENSEMBL:ENSG00000164305\"\n                               \"ENSEMBL:ENSG00000121691\"\n                               \"ENSEMBL:ENSG00000105974\"\n                               \"ENSEMBL:ENSG00000124813\"\n                               \"ENSEMBL:ENSG00000149257\"\n                               \"ENSEMBL:ENSG00000134057\"\n                               \"ENSEMBL:ENSG00000170458\"\n                               \"ENSEMBL:ENSG00000121594\"\n                               \"ENSEMBL:ENSG00000101017\"\n                               \"ENSEMBL:ENSG00000102245\"\n                               \"ENSEMBL:ENSG00000026508\"\n                               \"ENSEMBL:ENSG00000085063\"\n                               \"ENSEMBL:ENSG00000129226\"\n                               \"ENSEMBL:ENSG00000179776\"\n                               \"ENSEMBL:ENSG00000100526\"\n                               \"ENSEMBL:ENSG00000170835\"\n                               \"ENSEMBL:ENSG00000001626\"\n                               \"ENSEMBL:ENSG00000133019\"\n                               \"ENSEMBL:ENSG00000196811\"\n                               \"ENSEMBL:ENSG00000099622\"\n                               \"ENSEMBL:ENSG00000122705\"\n                               \"ENSEMBL:ENSG00000183813\"\n                               \"ENSEMBL:ENSG00000188153\"\n                               \"ENSEMBL:ENSG00000115966\"\n                               \"ENSEMBL:ENSG00000167193\"\n                               \"ENSEMBL:ENSG00000132693\"\n                               \"ENSEMBL:ENSG00000118231\"\n                               \"ENSEMBL:ENSG00000112062\"\n                               \"ENSEMBL:ENSG00000101439\"\n                               \"ENSEMBL:ENSG00000118523\"\n                               \"ENSEMBL:ENSG00000168036\"\n                               \"ENSEMBL:ENSG00000100448\"\n                               \"ENSEMBL:ENSG00000166347\"\n                               \"ENSEMBL:ENSG00000140465\"\n                               \"ENSEMBL:ENSG00000140505\"\n                               \"ENSEMBL:ENSG00000138061\"\n                               \"ENSEMBL:ENSG00000160870\"\n                               \"ENSEMBL:ENSG00000106258\"\n                               \"ENSEMBL:ENSG00000196730\"\n                               \"ENSEMBL:ENSG00000011465\"\n                               \"ENSEMBL:ENSG00000159640\"\n                               \"ENSEMBL:ENSG00000164825\"\n                               \"ENSEMBL:ENSG00000197766\"\n                               \"ENSEMBL:ENSG00000181019\"\n                               \"ENSEMBL:ENSG00000213918\"\n                               \"ENSEMBL:ENSG00000197635\"\n                               \"ENSEMBL:ENSG00000164330\"\n                               \"ENSEMBL:ENSG00000213694\"\n                               \"ENSEMBL:ENSG00000078401\"\n                               \"ENSEMBL:ENSG00000138798\"\n                               \"ENSEMBL:ENSG00000197561\"\n                               \"ENSEMBL:ENSG00000021355\"\n                               \"ENSEMBL:ENSG00000066044\"\n                               \"ENSEMBL:ENSG00000116016\"\n                               \"ENSEMBL:ENSG00000133216\"\n                               \"ENSEMBL:ENSG00000120915\"\n                               \"ENSEMBL:ENSG00000130427\"\n                               \"ENSEMBL:ENSG00000157554\"\n                               \"ENSEMBL:ENSG00000157557\"\n                               \"ENSEMBL:ENSG00000180210\"\n                               \"ENSEMBL:ENSG00000117525\"\n                               \"ENSEMBL:ENSG00000198734\"\n                               \"ENSEMBL:ENSG00000117480\"\n                               \"ENSEMBL:ENSG00000166147\"\n                               \"ENSEMBL:ENSG00000151422\"\n                               \"ENSEMBL:ENSG00000140285\"\n                               \"ENSEMBL:ENSG00000160867\"\n                               \"ENSEMBL:ENSG00000111206\"\n                               \"ENSEMBL:ENSG00000115414\"\n                               \"ENSEMBL:ENSG00000170345\"\n                               \"ENSEMBL:ENSG00000154727\"\n                               \"ENSEMBL:ENSG00000163288\"\n                               \"ENSEMBL:ENSG00000128683\"\n                               \"ENSEMBL:ENSG00000141448\"\n                               \"ENSEMBL:ENSG00000168621\"\n                               \"ENSEMBL:ENSG00000134812\"\n                               \"ENSEMBL:ENSG00000265107\"\n                               \"ENSEMBL:ENSG00000173221\"\n                               \"ENSEMBL:ENSG00000147437\"\n                               \"ENSEMBL:ENSG00000186810\"\n                               \"ENSEMBL:ENSG00000167701\"\n                               \"ENSEMBL:ENSG00000113580\"\n                               \"ENSEMBL:ENSG00000082701\"\n                               \"ENSEMBL:ENSG00000132518\"\n                               \"ENSEMBL:ENSG00000145649\"\n                               \"ENSEMBL:ENSG00000100453\"\n                               \"ENSEMBL:ENSG00000148702\"\n                               \"ENSEMBL:ENSG00000084754\"\n                               \"ENSEMBL:ENSG00000019991\"\n                               \"ENSEMBL:ENSG00000100644\"\n                               \"ENSEMBL:ENSG00000189403\"\n                               \"ENSEMBL:ENSG00000100292\"\n                               \"ENSEMBL:ENSG00000125798\"\n                               \"ENSEMBL:ENSG00000135486\"\n                               \"ENSEMBL:ENSG00000257017\"\n                               \"ENSEMBL:ENSG00000113905\"\n                               \"ENSEMBL:ENSG00000176387\"\n                               \"ENSEMBL:ENSG00000204389\"\n                               \"ENSEMBL:ENSG00000204388\"\n                               \"ENSEMBL:ENSG00000170606\"\n                               \"ENSEMBL:ENSG00000070614\"\n                               \"ENSEMBL:ENSG00000041982\"\n                               \"ENSEMBL:ENSG00000090339\"\n                               \"ENSEMBL:ENSG00000185745\"\n                               \"ENSEMBL:ENSG00000171855\"\n                               \"ENSEMBL:ENSG00000111537\"\n                               \"ENSEMBL:ENSG00000006652\"\n                               \"ENSEMBL:ENSG00000017427\"\n                               \"ENSEMBL:ENSG00000146674\"\n                               \"ENSEMBL:ENSG00000167779\"\n                               \"ENSEMBL:ENSG00000104365\"\n                               \"ENSEMBL:ENSG00000115008\"\n                               \"ENSEMBL:ENSG00000125538\"\n                               \"ENSEMBL:ENSG00000115594\"\n                               \"ENSEMBL:ENSG00000136689\"\n                               \"ENSEMBL:ENSG00000109471\"\n                               \"ENSEMBL:ENSG00000134460\"\n                               \"ENSEMBL:ENSG00000113520\"\n                               \"ENSEMBL:ENSG00000136244\"\n                               \"ENSEMBL:ENSG00000168685\"\n                               \"ENSEMBL:ENSG00000169429\"\n                               \"ENSEMBL:ENSG00000136634\"\n                               \"ENSEMBL:ENSG00000169194\"\n                               \"ENSEMBL:ENSG00000112115\"\n                               \"ENSEMBL:ENSG00000150782\"\n                               \"ENSEMBL:ENSG00000169245\"\n                               \"ENSEMBL:ENSG00000125347\"\n                               \"ENSEMBL:ENSG00000005884\"\n                               \"ENSEMBL:ENSG00000169896\"\n                               \"ENSEMBL:ENSG00000160255\"\n                               \"ENSEMBL:ENSG00000115474\"\n                               \"ENSEMBL:ENSG00000128052\"\n                               \"ENSEMBL:ENSG00000171345\"\n                               \"ENSEMBL:ENSG00000172037\"\n                               \"ENSEMBL:ENSG00000148346\"\n                               \"ENSEMBL:ENSG00000115850\"\n                               \"ENSEMBL:ENSG00000131981\"\n                               \"ENSEMBL:ENSG00000138039\"\n                               \"ENSEMBL:ENSG00000105370\"\n                               \"ENSEMBL:ENSG00000226979\"\n                               \"ENSEMBL:ENSG00000160932\"\n                               \"ENSEMBL:ENSG00000183918\"\n                               \"ENSEMBL:ENSG00000277443\"\n                               \"ENSEMBL:ENSG00000166949\"\n                               \"ENSEMBL:ENSG00000165471\"\n                               \"ENSEMBL:ENSG00000143384\"\n                               \"ENSEMBL:ENSG00000014641\"\n                               \"ENSEMBL:ENSG00000110492\"\n                               \"ENSEMBL:ENSG00000095015\"\n                               \"ENSEMBL:ENSG00000240972\"\n                               \"ENSEMBL:ENSG00000138755\"\n                               \"ENSEMBL:ENSG00000087245\"\n                               \"ENSEMBL:ENSG00000149968\"\n                               \"ENSEMBL:ENSG00000100985\"\n                               \"ENSEMBL:ENSG00000005381\"\n                               \"ENSEMBL:ENSG00000130830\"\n                               \"ENSEMBL:ENSG00000125148\"\n                               \"ENSEMBL:ENSG00000087250\"\n                               \"ENSEMBL:ENSG00000171100\"\n                               \"ENSEMBL:ENSG00000210195\"\n                               \"ENSEMBL:ENSG00000185499\"\n                               \"ENSEMBL:ENSG00000215182\"\n                               \"ENSEMBL:ENSG00000136997\"\n                               \"ENSEMBL:ENSG00000172936\"\n                               \"ENSEMBL:ENSG00000109063\"\n                               \"ENSEMBL:ENSG00000065534\"\n                               \"ENSEMBL:ENSG00000116044\"\n                               \"ENSEMBL:ENSG00000109320\"\n                               \"ENSEMBL:ENSG00000100906\"\n                               \"ENSEMBL:ENSG00000001167\"\n                               \"ENSEMBL:ENSG00000089250\"\n                               \"ENSEMBL:ENSG00000164867\"\n                               \"ENSEMBL:ENSG00000161270\"\n                               \"ENSEMBL:ENSG00000135318\"\n                               \"ENSEMBL:ENSG00000111331\"\n                               \"ENSEMBL:ENSG00000112038\"\n                               \"ENSEMBL:ENSG00000089041\"\n                               \"ENSEMBL:ENSG00000185624\"\n                               \"ENSEMBL:ENSG00000007168\"\n                               \"ENSEMBL:ENSG00000117450\"\n                               \"ENSEMBL:ENSG00000106366\"\n                               \"ENSEMBL:ENSG00000126759\"\n                               \"ENSEMBL:ENSG00000197249\"\n                               \"ENSEMBL:ENSG00000124102\"\n                               \"ENSEMBL:ENSG00000121879\"\n                               \"ENSEMBL:ENSG00000051382\"\n                               \"ENSEMBL:ENSG00000171608\"\n                               \"ENSEMBL:ENSG00000105851\"\n                               \"ENSEMBL:ENSG00000170890\"\n                               \"ENSEMBL:ENSG00000188257\"\n                               \"ENSEMBL:ENSG00000116711\"\n                               \"ENSEMBL:ENSG00000118495\"\n                               \"ENSEMBL:ENSG00000011422\"\n                               \"ENSEMBL:ENSG00000115896\"\n                               \"ENSEMBL:ENSG00000075651\"\n                               \"ENSEMBL:ENSG00000178209\"\n                               \"ENSEMBL:ENSG00000266964\"\n                               \"ENSEMBL:ENSG00000115138\"\n                               \"ENSEMBL:ENSG00000186951\"\n                               \"ENSEMBL:ENSG00000122862\"\n                               \"ENSEMBL:ENSG00000100030\"\n                               \"ENSEMBL:ENSG00000107643\"\n                               \"ENSEMBL:ENSG00000169032\"\n                               \"ENSEMBL:ENSG00000115718\"\n                               \"ENSEMBL:ENSG00000184500\"\n                               \"ENSEMBL:ENSG00000189002\"\n                               \"ENSEMBL:ENSG00000135406\"\n                               \"ENSEMBL:ENSG00000041357\"\n                               \"ENSEMBL:ENSG00000197170\"\n                               \"ENSEMBL:ENSG00000011304\"\n                               \"ENSEMBL:ENSG00000073756\"\n                               \"ENSEMBL:ENSG00000169398\"\n                               \"ENSEMBL:ENSG00000105894\"\n                               \"ENSEMBL:ENSG00000081237\"\n                               \"ENSEMBL:ENSG00000113456\"\n                               \"ENSEMBL:ENSG00000069974\"\n                               \"ENSEMBL:ENSG00000080823\"\n                               \"ENSEMBL:ENSG00000112619\"\n                               \"ENSEMBL:ENSG00000173039\"\n                               \"ENSEMBL:ENSG00000143839\"\n                               \"ENSEMBL:ENSG00000102032\"\n                               \"ENSEMBL:ENSG00000163914\"\n                               \"ENSEMBL:ENSG00000067900\"\n                               \"ENSEMBL:ENSG00000149489\"\n                               \"ENSEMBL:ENSG00000196218\"\n                               \"ENSEMBL:ENSG00000196154\"\n                               \"ENSEMBL:ENSG00000163220\"\n                               \"ENSEMBL:ENSG00000031698\"\n                               \"ENSEMBL:ENSG00000111319\"\n                               \"ENSEMBL:ENSG00000108691\"\n                               \"ENSEMBL:ENSG00000108688\"\n                               \"ENSEMBL:ENSG00000163735\"\n                               \"ENSEMBL:ENSG00000110876\"\n                               \"ENSEMBL:ENSG00000168878\"\n                               \"ENSEMBL:ENSG00000168484\"\n                               \"ENSEMBL:ENSG00000133661\"\n                               \"ENSEMBL:ENSG00000064651\"\n                               \"ENSEMBL:ENSG00000197208\"\n                               \"ENSEMBL:ENSG00000166311\"\n                               \"ENSEMBL:ENSG00000075618\"\n                               \"ENSEMBL:ENSG00000125835\"\n                               \"ENSEMBL:ENSG00000142168\"\n                               \"ENSEMBL:ENSG00000112096\"\n                               \"ENSEMBL:ENSG00000109610\"\n                               \"ENSEMBL:ENSG00000125398\"\n                               \"ENSEMBL:ENSG00000100883\"\n                               \"ENSEMBL:ENSG00000168610\"\n                               \"ENSEMBL:ENSG00000126561\"\n                               \"ENSEMBL:ENSG00000173757\"\n                               \"ENSEMBL:ENSG00000087586\"\n                               \"ENSEMBL:ENSG00000067715\"\n                               \"ENSEMBL:ENSG00000231925\"\n                               \"ENSEMBL:ENSG00000006638\"\n                               \"ENSEMBL:ENSG00000118526\"\n                               \"ENSEMBL:ENSG00000120156\"\n                               \"ENSEMBL:ENSG00000164362\"\n                               \"ENSEMBL:ENSG00000003436\"\n                               \"ENSEMBL:ENSG00000105329\"\n                               \"ENSEMBL:ENSG00000198959\"\n                               \"ENSEMBL:ENSG00000178726\"\n                               \"ENSEMBL:ENSG00000116001\"\n                               \"ENSEMBL:ENSG00000102265\"\n                               \"ENSEMBL:ENSG00000136352\"\n                               \"ENSEMBL:ENSG00000137462\"\n                               \"ENSEMBL:ENSG00000164342\"\n                               \"ENSEMBL:ENSG00000136869\"\n                               \"ENSEMBL:ENSG00000127324\"\n                               \"ENSEMBL:ENSG00000149809\"\n                               \"ENSEMBL:ENSG00000232810\"\n                               \"ENSEMBL:ENSG00000118503\"\n                               \"ENSEMBL:ENSG00000067182\"\n                               \"ENSEMBL:ENSG00000118194\"\n                               \"ENSEMBL:ENSG00000131747\"\n                               \"ENSEMBL:ENSG00000111669\"\n                               \"ENSEMBL:ENSG00000128311\"\n                               \"ENSEMBL:ENSG00000125482\"\n                               \"ENSEMBL:ENSG00000155657\"\n                               \"ENSEMBL:ENSG00000136810\"\n                               \"ENSEMBL:ENSG00000198431\"\n                               \"ENSEMBL:ENSG00000149021\"\n                               \"ENSEMBL:ENSG00000174607\"\n                               \"ENSEMBL:ENSG00000111424\"\n                               \"ENSEMBL:ENSG00000112715\"\n                               \"ENSEMBL:ENSG00000146469\"\n                               \"ENSEMBL:ENSG00000110799\"\n                               \"ENSEMBL:ENSG00000158125\"\n                               \"ENSEMBL:ENSG00000164924\"\n                               \"ENSEMBL:ENSG00000121966\"\n                               \"ENSEMBL:ENSG00000146070\"\n                               \"ENSEMBL:ENSG00000106305\"\n                               \"ENSEMBL:ENSG00000050327\"\n                               \"ENSEMBL:ENSG00000083168\"\n                               \"ENSEMBL:ENSG00000118972\"\n                               \"ENSEMBL:ENSG00000206561\"\n                               \"ENSEMBL:ENSG00000184381\"\n                               \"ENSEMBL:ENSG00000069764\"\n                               \"ENSEMBL:ENSG00000108528\"\n                               \"ENSEMBL:ENSG00000117461\"\n                               \"ENSEMBL:ENSG00000134107\"\n                               \"ENSEMBL:ENSG00000136908\"\n                               \"ENSEMBL:ENSG00000171720\"\n                               \"ENSEMBL:ENSG00000176170\"\n                               \"ENSEMBL:ENSG00000111602\"\n                               \"ENSEMBL:ENSG00000173805\"\n                               \"ENSEMBL:ENSG00000131023\"\n                               \"ENSEMBL:ENSG00000157456\"\n                               \"ENSEMBL:ENSG00000162889\"\n                               \"ENSEMBL:ENSG00000103671\"\n                               \"ENSEMBL:ENSG00000133116\"\n                               \"ENSEMBL:ENSG00000181092\"\n                               \"ENSEMBL:ENSG00000100351\"\n                               \"ENSEMBL:ENSG00000136156\"\n                               \"ENSEMBL:ENSG00000102230\"\n                               \"ENSEMBL:ENSG00000057663\"\n                               \"ENSEMBL:ENSG00000134318\"\n                               \"ENSEMBL:ENSG00000117592\"\n                               \"ENSEMBL:ENSG00000187608\"\n                               \"ENSEMBL:ENSG00000103335\"\n                               \"ENSEMBL:ENSG00000165733\"\n                               \"ENSEMBL:ENSG00000079999\"\n                               \"ENSEMBL:ENSG00000044090\"\n                               \"ENSEMBL:ENSG00000117020\"\n                               \"ENSEMBL:ENSG00000105835\"\n                               \"ENSEMBL:ENSG00000105246\"\n                               \"ENSEMBL:ENSG00000131477\"\n                               \"ENSEMBL:ENSG00000127528\"\n                               \"ENSEMBL:ENSG00000167315\"\n                               \"ENSEMBL:ENSG00000140092\"\n                               \"ENSEMBL:ENSG00000101000\"\n                               \"ENSEMBL:ENSG00000100591\"\n                               \"ENSEMBL:ENSG00000160999\"\n                               \"ENSEMBL:ENSG00000162493\"\n                               \"ENSEMBL:ENSG00000048740\"\n                               \"ENSEMBL:ENSG00000173083\"\n                               \"ENSEMBL:ENSG00000196843\"\n                               \"ENSEMBL:ENSG00000126264\"\n                               \"ENSEMBL:ENSG00000137959\"\n                               \"ENSEMBL:ENSG00000269821\"\n                               \"ENSEMBL:ENSG00000083807\"\n                               \"ENSEMBL:ENSG00000167114\"\n                               \"ENSEMBL:ENSG00000129465\"\n                               \"ENSEMBL:ENSG00000136110\"\n                               \"ENSEMBL:ENSG00000256525\"\n                               \"ENSEMBL:ENSG00000142082\"\n                               \"ENSEMBL:ENSG00000096717\"\n                               \"ENSEMBL:ENSG00000136859\"\n                               \"ENSEMBL:ENSG00000172828\"\n                               \"ENSEMBL:ENSG00000123415\"\n                               \"ENSEMBL:ENSG00000025800\"\n                               \"ENSEMBL:ENSG00000154589\"\n                               \"ENSEMBL:ENSG00000177663\"\n                               \"ENSEMBL:ENSG00000034677\"\n                               \"ENSEMBL:ENSG00000196141\"\n                               \"ENSEMBL:ENSG00000004142\"\n                               \"ENSEMBL:ENSG00000113249\"\n                               \"ENSEMBL:ENSG00000007952\"\n                               \"ENSEMBL:ENSG00000086232\"\n                               \"ENSEMBL:ENSG00000138744\"\n                               \"ENSEMBL:ENSG00000163106\"\n                               \"ENSEMBL:ENSG00000138375\"\n                               \"ENSEMBL:ENSG00000086991\"\n                               \"ENSEMBL:ENSG00000219430\"\n                               \"ENSEMBL:ENSG00000138303\"\n                               \"ENSEMBL:ENSG00000126524\"\n                               \"ENSEMBL:ENSG00000167772\"\n                               \"ENSEMBL:ENSG00000165682\"\n                               \"ENSEMBL:ENSG00000101916\"\n                               \"ENSEMBL:ENSG00000172458\"\n                               \"ENSEMBL:ENSG00000124731\"\n                               \"ENSEMBL:ENSG00000011426\"\n                               \"ENSEMBL:ENSG00000135766\"\n                               \"ENSEMBL:ENSG00000241635\"\n                               \"ENSEMBL:ENSG00000104835\"\n                               \"ENSEMBL:ENSG00000185480\"\n                               \"ENSEMBL:ENSG00000110075\"\n                               \"ENSEMBL:ENSG00000079691\"\n                               \"ENSEMBL:ENSG00000171109\"\n                               \"ENSEMBL:ENSG00000151849\"\n                               \"ENSEMBL:ENSG00000126970\"\n                               \"ENSEMBL:ENSG00000169241\"\n                               \"ENSEMBL:ENSG00000074842\"\n                               \"ENSEMBL:ENSG00000185115\"\n                               \"ENSEMBL:ENSG00000136688\"\n                               \"ENSEMBL:ENSG00000115350\"\n                               \"ENSEMBL:ENSG00000111666\"\n                               \"ENSEMBL:ENSG00000198074\"\n                               \"ENSEMBL:ENSG00000283122\"\n                               \"ENSEMBL:ENSG00000139946\"\n                               \"ENSEMBL:ENSG00000175482\"\n                               \"ENSEMBL:ENSG00000117569\"\n                               \"ENSEMBL:ENSG00000130234\"\n                               \"ENSEMBL:ENSG00000198026\"\n                               \"ENSEMBL:ENSG00000132429\"\n                               \"ENSEMBL:ENSG00000114745\"\n                               \"ENSEMBL:ENSG00000060237\"\n                               \"ENSEMBL:ENSG00000262246\"\n                               \"ENSEMBL:ENSG00000104518\"\n                               \"ENSEMBL:ENSG00000153395\"\n                               \"ENSEMBL:ENSG00000146094\"\n                               \"ENSEMBL:ENSG00000125779\"\n                               \"ENSEMBL:ENSG00000197496\"\n                               \"ENSEMBL:ENSG00000169612\"\n                               \"ENSEMBL:ENSG00000138496\"\n                               \"ENSEMBL:ENSG00000169962\"\n                               \"ENSEMBL:ENSG00000130363\"\n                               \"ENSEMBL:ENSG00000103510\"\n                               \"ENSEMBL:ENSG00000106125\"\n                               \"ENSEMBL:ENSG00000131653\"\n                               \"ENSEMBL:ENSG00000145794\"\n                               \"ENSEMBL:ENSG00000163702\"\n                               \"ENSEMBL:ENSG00000100410\"\n                               \"ENSEMBL:ENSG00000137691\"\n                               \"ENSEMBL:ENSG00000160188\"\n                               \"ENSEMBL:ENSG00000151148\"\n                               \"ENSEMBL:ENSG00000137033\"\n                               \"ENSEMBL:ENSG00000178473\"\n                               \"ENSEMBL:ENSG00000162711\"\n                               \"ENSEMBL:ENSG00000161544\"\n                               \"ENSEMBL:ENSG00000153391\"\n                               \"ENSEMBL:ENSG00000205359\"\n                               \"ENSEMBL:ENSG00000168724\"\n                               \"ENSEMBL:ENSG00000229140\"\n                               \"ENSEMBL:ENSG00000165953\"\n                               \"ENSEMBL:ENSG00000172967\"\n                               \"ENSEMBL:ENSG00000163803\"\n                               \"ENSEMBL:ENSG00000197272\"\n                               \"ENSEMBL:ENSG00000175311\"\n                               \"ENSEMBL:ENSG00000170782\"\n                               \"ENSEMBL:ENSG00000189195\"\n                               \"ENSEMBL:ENSG00000161911\"\n                               \"ENSEMBL:ENSG00000197448\"\n                               \"ENSEMBL:ENSG00000251562\"\n                               \"ENSEMBL:ENSG00000187258\"\n                               \"ENSEMBL:ENSG00000248131\"\n                               \"ENSEMBL:ENSG00000284520\"\n                               \"ENSEMBL:ENSG00000199133\"\n                               \"ENSEMBL:ENSG00000284440\"\n                               \"ENSEMBL:ENSG00000199161\"\n                               \"ENSEMBL:ENSG00000207608\"\n                               \"ENSEMBL:ENSG00000207625\"\n                               \"ENSEMBL:ENSG00000207782\"\n                               \"ENSEMBL:ENSG00000283904\"\n                               \"ENSEMBL:ENSG00000283815\"\n                               \"ENSEMBL:ENSG00000284204\"\n                               \"ENSEMBL:ENSG00000207607\"\n                               \"ENSEMBL:ENSG00000199038\"\n                               \"ENSEMBL:ENSG00000207702\"\n                               \"ENSEMBL:ENSG00000207590\"\n                               \"ENSEMBL:ENSG00000207798\"\n                               \"ENSEMBL:ENSG00000207870\"\n                               \"ENSEMBL:ENSG00000284567\"\n                               \"ENSEMBL:ENSG00000199075\"\n                               \"ENSEMBL:ENSG00000199121\"\n                               \"ENSEMBL:ENSG00000207808\"\n                               \"ENSEMBL:ENSG00000207864\"\n                               \"ENSEMBL:ENSG00000207827\"\n                               \"ENSEMBL:ENSG00000207582\"\n                               \"ENSEMBL:ENSG00000284357\"\n                               \"ENSEMBL:ENSG00000207638\"\n                               \"ENSEMBL:ENSG00000199059\"\n                               \"ENSEMBL:ENSG00000199151\"\n                               \"ENSEMBL:ENSG00000199104\"\n                               \"ENSEMBL:ENSG00000198982\"\n                               \"ENSEMBL:ENSG00000199020\"\n                               \"ENSEMBL:ENSG00000208001\"\n                               \"ENSEMBL:ENSG00000202569\"\n                               \"ENSEMBL:ENSG00000194717\"\n                               \"ENSEMBL:ENSG00000207731\"\n                               \"ENSEMBL:ENSG00000122852\"\n                               \"ENSEMBL:ENSG00000207571\"\n                               \"ENSEMBL:ENSG00000185303\"\n                               \"ENSEMBL:ENSG00000211590\"\n                               \"ENSEMBL:ENSG00000285427\"\n                               \"ENSEMBL:ENSG00000228750\"\n                               \"ENSEMBL:ENSG00000280634\"\n                               \"ENSEMBL:ENSG00000243438\"\n                               \"ENSEMBL:ENSG00000201796\"\n                               \"ENSEMBL:ENSG00000240160\")))\n\n(define (unwrap lst)\n  (if (null? lst) lst\n      (append (car lst) (unwrap (cdr lst)))))\n\n(define (predicate e)\n  (cdr (list-ref e 4)))\n\n(define (summary-obj edge-sum)\n  (car (list-ref edge-sum 4)))\n\n(define (summary-subj edge-sum)\n  (car (list-ref edge-sum 3)))\n\n(define ((edge/db? db) e) (eq? db (car e)))\n\n(define (sort-inner-hash h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (set-count (cdr x)))))\n\n(define (sort-outer-hash h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (length (cdr x)))))\n\n(define (sort-counter h)\n  (sort\n   (hash-map h (lambda (k v) (cons k v)))\n   >\n   #:key (lambda (x) (cdr x))))\n\n#|getting uniprots using run/graph\n(define encodes (find-predicates '(\"encodes\")))\n(define gene-curie?\n  (lambda (x)\n    (or\n     (string-prefix? x \"HGNC:\")\n     (string-prefix? x \"ENSEMBL:\")\n     (string-prefix? x \"NCBIGene:\"))))\n\n(define encodes-us (remove-duplicates (unwrap (filter (lambda (x) (not (null? x))) (set-map gene-list\n                                                                         (lambda (g) (time\n                                                                                      (define S (filter (lambda (x) (eq? (car x) 'rtx2)) (find-concepts #t (filter gene-curie? (map car (curie-synonyms/names g))))))\n                                                                                      (match-define\n                                                                                        (list name=>concepts name=>edges)\n                                                                                        (run/graph\n                                                                                         ((G S)\n                                                                                          (U #f))\n                                                                                         ((G->U encodes))\n                                                                                         (G G->U U)))\n                                                                                      (map concept->curie (hash-ref name=>concepts 'U))\n                                                                                      ))\n                                                                         )))))\n|#\n\n(define uniprot-curie?\n  (lambda (x)\n    (string-prefix? x \"UniProtKB:\")))\n\n;;Converting ENSEMBL curies to UniProtKB curies using synonymization in order to pass into count-downstream\n(define uniprots (remove-duplicates (filter uniprot-curie? (map car (unwrap (set-map gene-list curie-synonyms/names))))))\n\n#|\ntakes: list of UniProt curies (prot-list), list of GO predicates** (preds)\n** note: preds should only contain \"positively_regulates\", \"negatively_regulates\", \"subclass_of\", or any combination\n**       of those three predicates depending on what type of relationshion you want to count\n\nreturns: a list of the hash tables in this order: go-processes, go-process-members, cell-expression-hash, regulated-cell-expression-hash\n         The contents of these hashes are documented inside the function\n|#\n(define (count-downstream prot-list preds)\n  ;;maps each Uniprot curie (key) in prot-list -> a set of all GO pathways (value) that the UniProt (key) regulates\n  (define go-processes (make-hash))\n  ;;maps GO pathway curies (key) -> a set of all UniProts (value) that are members of the GO pathway (key) (not intersected with prot-list)\n  (define go-process-members (make-hash))\n  ;;maps each Uniprot in prot-list (key) -> a set of cell/tissue types (value) they're expressed in\n  (define cell-expression-hash (make-hash))\n  ;;maps each regulated gene (key) found from the 2-hop query -> a set of cell/tissue types (value) they're expressed in\n  (define regulated-genes-cell-expression-hash (make-hash))\n  (define involved_in (keep 1 (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates '(\"involved_in\")))))\n  (define regulators (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates preds)))\n  (define expressed_in (filter (lambda (x) (equal? (car x) 'rtx2)) (find-exact-predicates '(\"expressed_in\"))))\n  (for-each\n   (lambda (u)\n     (define S (filter (lambda (x) (equal? (car x) 'rtx2)) (find-concepts #t (list u))))\n     ;;G->M->X 1.1 + 1.3\n     ;;G->C - 1.2\n     ;;rG->X - 1.4\n     ;;rG->rC - 1.5\n     (unless (empty? S)\n       (match-define\n         (list name=>concepts name=>edges)\n         (time (run/graph\n                ((G S)\n                 (M #f)\n                 (X #f)\n                 (C #f)\n                 (rG #f)\n                 (rC #f))\n                ((G->M involved_in)\n                 (G->C expressed_in)\n                 (M->X regulators)\n                 (rG->X involved_in)\n                 (rG->rC expressed_in))\n                (G G->M M)\n                (G G->C C)\n                (M M->X X)\n                (rG rG->X X)\n                (rG rG->rC rC))))\n       ;;go-processes (k=>v): G=>X\n       (hash-set! go-processes u (list->set (map concept->curie (hash-ref name=>concepts 'X))))\n       ;;cell-expression-hash (k=>v): G=>C\n       (hash-set! cell-expression-hash u (list->set (filter (lambda (x) (string-prefix? x \"UBERON:\")) (map concept->curie (hash-ref name=>concepts 'C)))))\n       ;;regulated-genes-cell-expression-hash (k=>v): rG=>rC\n       (for-each\n        (lambda (e)\n          (unless (not (string-prefix? (concept->curie (edge->object e)) \"UBERON:\"))\n            (hash-update! regulated-genes-cell-expression-hash (concept->curie (edge->subject e)) (lambda (v) (set-add v (concept->curie (edge->object e)))) (set))\n            )\n          )\n        (hash-ref name=>edges 'rG->rC)\n        )\n       ;;go-process-members (k=>v): X=>rG\n       (for-each\n        (lambda (e)\n          (unless (set-member? S (concept->curie (edge->subject e)))\n            (hash-update! go-process-members (concept->curie (edge->object e)) (lambda (v) (set-add v (concept->curie (edge->subject e)))) (set))\n            )\n          )\n        (hash-ref name=>edges 'rG->X)\n        )\n       )\n     )\n   prot-list\n   )\n  (list go-processes go-process-members cell-expression-hash regulated-genes-cell-expression-hash)\n  )\n#|Examples\n(define ards-pos-reg (count-downstream uniprots '(\"positively_regulates\")))\n(define ards-neg-reg (count-downstream uniprots '(\"negatively_regulates\")))\n(define ards-subclass_of (count-downstream uniprots '(\"subclass_of\")))\n(define ards-all-regulation (count-downstream uniprots '(\"positively_regulates\" \"negatively_regulates\" \"subclass_of\")))\n|#\n\n\n#|\ntakes: a list of 4 hash tables returned by the count-downstream function above\n\nManipulates the given hash tables to provide a ranked list of the genes of interest (given as argument prot-list in count-downstream function) by the number of\nother genes they regulate within each cell/tissue type thet they're expressed in. Also gives a ranked list of the cell/tissue types by the number of the genes\nof interest that are expressed in them. This is to make finding possible cells/tissues of interest easier.\n\nreturns: A list of 2 assoc lists - overview of the structure: (list\n                                                                (list (C' . int)\n                                                                      (C\" . int)\n                                                                        ...\n                                                                  )\n                                                                (list (C' (G . (set rG's))\n                                                                          (G . (set rG's))\n                                                                           ...\n                                                                        )\n                                                                      (C\" (G . (set rG's))\n                                                                          (G . (set rG's))\n                                                                           ...\n                                                                        )\n                                                                       ...\n                                                                  )\n                                                                )\nThe first assoc list (key . value): the key is the cell/tissue type (C), the value is (int) the number of genes of interest that are expressed in that\n                                    cell/tissue type. The first assoc is sorted from highest to lowest int\nThe second assoc list (key . (key . value)): the first key is the cell/tissue type (C), the value is another assoc list where the keys are the genes of interest (G)\n  (a nested assoc list)                      expressed in the cell/tissue type (C) and the values are sets of other genes (rG) that are expressed in the cell/tissue type (C)\n                                             AND regulated by the gene of interest (G)\n                                             The inner assoc list is sorted (high->low) by the number of regulated genes (rG). The outer assoc list is given in the same order as\n                                             the first assoc list above.\n|#\n(define (count-by-cell-expressed-in count-downstream-results)\n  (define G=>X (list-ref count-downstream-results 0))\n  (define X=>rG (list-ref count-downstream-results 1))\n  (define G=>C (list-ref count-downstream-results 2))\n  (define rG=>rC (list-ref count-downstream-results 3))\n  (define cell-expression-ranks (make-hash))\n  (define counter (make-hash))\n  ;;populate cell-expression-ranks\n  (hash-for-each\n   G=>X\n   (lambda (G X)\n     (set-for-each\n      X\n      (lambda (x)\n        (set-for-each\n         (set-intersect (hash-ref X=>rG x (set)) (list->set uniprots));;filters for just ARDS genes, remove set-intersect for no filter\n         (lambda (rg)\n           (set-for-each\n            (set-intersect (hash-ref G=>C G (set)) (hash-ref rG=>rC rg (set)))\n            (lambda (c)\n              (hash-update! cell-expression-ranks c\n                            (lambda (h)\n                              (hash-update! h G (lambda (v) (set-add v rg)) (set))\n                              h\n                              )\n                            (make-hash)\n                            )\n              )\n            )\n           )\n         )\n        )\n      )\n     )\n   )\n  (hash-for-each cell-expression-ranks\n                 (lambda (k v)\n                   (hash-set! cell-expression-ranks k (sort-inner-hash v))\n                   (hash-set! counter k (hash-count v))\n                   )\n                 )\n  (list (sort-counter counter) (sort-outer-hash cell-expression-ranks))\n  )\n#|Examples\n(define ards-cell-type-count (count-by-cell-expressed-in ards-pos-reg))\n\n(car ards-cell-type-count) ;;gives the ranked count of the number of genes expressed in each cell type\n(cadr ards-cell-type-count) ;;gives the second (more meaningful) assoc list\n\n;;To get the ranked assoc list of regulating genes for the liver (\"UBERON:0002107\")\n(define liver-genes (cdr (assoc \"UBERON:0002107\" (cadr ards-cell-type-count))))\n;;for the lung (\"UBERON:0002048\")\n(define lung-genes (cdr (assoc \"UBERON:0002048\" (cadr ards-cell-type-count))))\n|#\n\n#|\n(make-hash 'ARDS-Genelist\n           (make-hash 'Gene1-ARDS\n                      (make-hash 'Gene1-UBERON-cell-location\n                                 (make-hash 'pos-reg-GO1\n                                            (make-hash 'GO1\n                                                       (make-hash 'GO1-members\n                                                                  (make-hash 'GO1-member-UBERON-Cell-locations\n                                                                             (make-hash 'GO1-ARDS-members)\n                                                                             )))))))\n|#"
  }
]